summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp
Commit message (Collapse)AuthorAgeFilesLines
* Merge from origin/emacs-29Stefan Monnier2023-01-142-5/+9
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 861556c1339 Fix minibuffer-completion tests c0578edc8fc ; * doc/misc/eglot.texi (Troubleshooting Eglot): Fix typo... c6bbf9cc270 Add c-ts-mode tests a760364f5f3 Fix c-ts-mode--fill-paragraph 2a2b1d09ac7 Fix minor issues with 'pp' and related commands dfb38fb2ee6 ; Improve documentation of tree-sitter node comparison e8a89a18b69 ; Fix non-tree-sitter builds f27a330b99e ; Fix typo in ert-with-temp-file 956889d8ff1 Equal now recognizes tree-sitter nodes (bug#60659) 8f446c2d397 Fix c-ts-mode comment indentation (bug#60270) 083badc9c12 * lisp/subr.el (while-let): Use if-let, not if-let* (bug#... 9ecebcdded1 * lisp/simple.el (next-completion): Handle first completi... cfd2b3504ab Fix encoding with 'utf-8-auto' 53b47df8229 Report cursor correctly on PGTK when there is a margin # Conflicts: # etc/NEWS
| * Fix minor issues with 'pp' and related commandsEli Zaretskii2023-01-131-4/+8
| | | | | | | | | | | | | | | | | | * etc/NEWS: * lisp/emacs-lisp/pp.el (pp-use-max-width, pp-emacs-lisp-code): Mention in doc string that formatting via 'pp-emacs-lisp-code' could be slow. (pp-eval-expression, pp-macroexpand-expression): Honor 'pp-use-max-width'. (Bug#58687)
| * ; Fix typo in ert-with-temp-fileStefan Kangas2023-01-131-1/+1
| | | | | | | | | | * lisp/emacs-lisp/ert-x.el (ert-with-temp-file): Fix typo. Reported by F. Jason Park <jp@neverwas.me>. (Bug#60730)
* | Merge from origin/emacs-29Stefan Kangas2023-01-121-1/+7
|\| | | | | | | | | | | | | | | | | | | | | f4f30ff4c44 Update to Org 9.6.1 09f7a920644 Add support for annotation_type_declaration 4a8891a462e * etc/NEWS: Mention incompatible changes in 'outline-mino... 384504edf35 Ensure VC package names are not empty 70947da708c Handle missing package description when unpacking vc pack... # Conflicts: # etc/NEWS
| * Ensure VC package names are not emptyPhilip Kaludercic2023-01-111-1/+5
| | | | | | | | | | | | | | * lisp/emacs-lisp/package-vc.el (package-vc--unpack): Raise an error if the package name is empty. (package-vc-install): Avoid generating an empty file name, if a URL ends with a slash, and raise an error if the package name is empty.
| * Handle missing package description when unpacking vc packagesPhilip Kaludercic2023-01-111-0/+2
| | | | | | | | | | * lisp/emacs-lisp/package-vc.el (package-vc--unpack): Create a dummy descriptor if PKG-DESC is nil.
* | Styled quotes in compiler warningsMattias Engdegård2023-01-038-28/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/byte-run.el (byte-run--parse-body) (byte-run--unescaped-character-literals-warning): * lisp/emacs-lisp/bytecomp.el (byte-compile-initial-macro-environment) (byte-compile-form, bytecomp--warn-dodgy-eq-arg): * lisp/emacs-lisp/cconv.el (cconv--warn-unused-msg): * lisp/emacs-lisp/cl-macs.el (cl-defstruct): * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): * lisp/emacs-lisp/eieio.el (defclass): * lisp/emacs-lisp/macroexp.el (macroexp--unfold-lambda) (macroexp--expand-all): * lisp/emacs-lisp/pcase.el (pcase--u1): * lisp/subr.el (when, unless, ignore-error, lsh, sit-for) (with-demoted-errors): Use format-message to ensure properly styled quotes in compiler warning messages.
* | Data argument to `signal` should be a listMattias Engdegård2023-01-032-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/calendar/iso8601.el (iso8601-parse, iso8601-parse-date) (iso8601-parse-time, iso8601-parse-zone, iso8601-parse-duration) (iso8601-parse-interval): * lisp/emacs-lisp/cl-lib.el (cl-values-list): * lisp/emacs-lisp/comp.el (comp-decrypt-arg-list) (comp-spill-lap-function, comp-emit-switch) (comp-compute-dominator-tree, comp-final): * lisp/image.el (image-type): * lisp/image/exif.el (exif--parse-jpeg, exif--parse-exif-chunk) (exif--parse-directory, exif--read-chunk, exif--read-number-be) (exif--read-number-le): * lisp/vc/vc.el (vc-default-last-change): Wrap obvious non-list data arguments to `signal` in a list.
* | Merge from origin/emacs-29Eli Zaretskii2023-01-01101-101/+101
|\| | | | | | | | | | | | | | | | | | | | | cae528457c ; Add 2023 to copyright years. b394359261 Improve documentation of 'isearch-open-overlay-temporary' ab3210e709 Document 'use-package' in the 2 main manuals # Conflicts: # etc/refcards/ru-refcard.tex # lib/explicit_bzero.c # m4/explicit_bzero.m4
| * ; Add 2023 to copyright years.Eli Zaretskii2023-01-01101-101/+101
| |
* | Merge from origin/emacs-29Eli Zaretskii2023-01-013-6/+6
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 72a81e2022 ; * lisp/treesit.el (treesit-simple-indent-presets): Fix t... ddfeee3e8a Build recipe interactively in treesit-install-language-gra... 6837469780 ; Add REVISION to treesit-language-source-alist 0dc788aa01 ; Remove GRAMMAR-DIR from treesit-language-source-alist f9aef67c36 Tweak csharp-mode font-lock-settings (bug#60376) 46362c0a3a ; * doc/lispref/tips.texi (Documentation Tips): Add indexing. 9a386b682e Revert a recent change which causes errors 9871ee8b14 ; More fixes for documentation of 'defalias' f309651b67 ; Fix handling of 'not' by 'buffer-match-p' 9292f595a7 ; Fix typos 43c7e05a2a Fix misspelled functions in shortdoc groups 01acecc79c Simplify introduction of use-package manual 2a7e072e53 ; Fix documentation of 'defalias' eee2aeca25 Fix python-shell-buffer-substring when retrieving a single... bfdad6c4e5 ; Fix recent treesit-related changes
| * ; Fix typosStefan Kangas2022-12-312-2/+2
| |
| * Fix misspelled functions in shortdoc groupsStefan Kangas2022-12-311-4/+4
| | | | | | | | | | | | | | * lisp/emacs-lisp/shortdoc.el (file, list): Fix misspelled function names: 'file-writable-p' and 'seq-reduce'. * test/lisp/emacs-lisp/shortdoc-tests.el (subr-x): Require. (shortdoc-all-functions-fboundp): New test.
* | Correct suppression of suspicious eq type warningMattias Engdegård2022-12-302-3/+2
| | | | | | | | | | | | | | * lisp/emacs-lisp/byte-run.el (with-suppressed-warnings): * lisp/emacs-lisp/bytecomp.el (bytecomp--warn-dodgy-eq-arg): Suppress warning using (suspicious FUNCTION), where FUNCTION is not always `eq`.
* | Consistent empty-body warning messages for let and let*Mattias Engdegård2022-12-291-1/+1
| | | | | | | | | | | | | | | | * lisp/emacs-lisp/macroexp.el (macroexp--expand-all): * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-test--with-suppressed-warnings): Make warning messages for let and let* consistent with other empty-body warnings.
* | Add empty-body warning for when, unless etcMattias Engdegård2022-12-293-13/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Warn about code like (when SOME-CONDITION) because these may indicate bugs. Warnings currently apply to `when`, `unless`, `ignore-error`, `with-suppressed-warnings` and (as before) `let` and `let*`. * lisp/emacs-lisp/byte-run.el (with-suppressed-warnings): Update doc string. * lisp/emacs-lisp/bytecomp.el: (byte-compile-warning-types) (byte-compile-warnings): Add empty-body. (byte-compile-initial-macro-environment): Add empty-body warning for with-suppressed-warnings. * lisp/emacs-lisp/macroexp.el (macroexp--expand-all): Use the empty-body category for let and let*. * lisp/subr.el (when, unless, ignore-error): Add empty-body warning. * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-test--with-suppressed-warnings): Add test cases.
* | Warn about `condition-case' with quoted condition namesMattias Engdegård2022-12-291-0/+5
| | | | | | | | | | | | | | * lisp/emacs-lisp/bytecomp.el (byte-compile-condition-case): Add warning. * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-warn-quoted-condition): Add test case.
* | Merge from origin/emacs-29Stefan Kangas2022-12-282-13/+17
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | db96b1282f9 * lisp/help.el: Use 'C-h C-q' to toggle 'help-quick' wind... 489865c21e4 ; Improve markup of long key sequences d42c2668cf3 ; * etc/NEWS: Fix wording of a recently edited entry. 7a0eaee1980 * lisp/isearch.el: Small fixes. b69bffeec05 * lisp/vc/diff-mode.el (diff-minor-mode-prefix): Replace ... 9263847ab76 ; * etc/NEWS: Move the paragraph with 'C-u RET' closer to... 62fb2dc37da * doc/emacs/display.texi (Text Scale): Improve section ab... 70480d3b6b7 * lisp/repeat.el (repeat-echo-function): Suggest 'add-fun... fd48201ffe7 * lisp/tab-line.el (tab-line-cache-key-default): More cac... b1646602602 * etc/package-keyring.gpg: Update with new key c0be51389eb ; Yet another declare-function to avoid treesit-related w... 8676bec51de ; * lisp/treesit.el (treesit--simple-imenu-1): Doc fix; w... 2ddc480f441 Warn of absent networks module in ERC 19d00fab9aa Avoid "already compiled" warning in erc-compat 2d8f7b66bcc ; Fix one more treesit byte-compilation warning. 2d0a9214863 ; Avoid treesit-related byte-compiler warnings 8503b370be1 (python--treesit-settings): Remove duplicate matcher b464e6c490b Make last change of w32 GUI dialogs conditional and rever... eedc9d79aed Fix tree-sitter typos 248c13dcfe1 Update tree-sitter major modes to use the new Imenu facility b39dc7ab27a Add tree-sitter helper functions for Imenu ba1ddea9dab Fix treesit--things-around (bug#60355) 7512b9025a1 ; * lisp/treesit.el (treesit-traverse-parent): Remove alias. 5326b041982 Improve treesit-node-top-level and treesit-parent-until 637f5b164f2 ; Add "src" to the heuristic sub-directory heuristic 8ab6df0c9fd ; * lisp/epa-ks.el (epa-ks-do-key-to-fetch): Fix 'when' u... 2b55a48d3e3 * src/w32menu.c (simple_dialog_show): Use MB_YESNOCANCEL ... 8b8b7915679 ; Improve documentation of TAB/SPC indentation 624e3822110 ; Improve doc strings of some new faces 41f12e1019b ; * lisp/elide-head.el (elide-head): Doc fix to silence c... e3b4cd0ac1d ; * lisp/htmlfontify.el (hfy-text-p): Fix whitespace. 1b4dc4691c1 Fix htmlfontify.el command injection vulnerability. 1fe4b98b4d5 Improve support for Scheme R6RS and R7RS libraries (bug#5... 2347f37f677 ; * test/src/treesit-tests.el: remove dead store (bytecom... a6d961ae2fd Add a new tree-sitter query predicate 'pred' 835a80dcc48 ; Fix tree-sitter defun tests a14821d6151 Improve gnutls-min-prime-bits docstring b14bbd108e4 Improve handling of tab-bar height. 669160d47b2 ; * nt/INSTALL.W64: More fixes and updates. 26b2ec7cb8c Simplify last change (bug#60311) 082fc6e3088 Fix 'json-available-p' on MS-Windows 6c86faec29e loaddefs-gen: Group results by absolute file name d90d7d15f2f ; Fix vindexes in parsing.texi eb268728376 Fix imenu for c-ts-mode (bug#60296) 8f68b6497ee Clean up python-ts-mode font-lock features 28f26b11a1e Add comment indent and filling to other tree-sitter major... c6b02826450 ; Remove unused function in c-ts-mode 6e52a9fcadc ; * doc/lispref/modes.texi (Parser-based Font Lock): Mino... 2bcd1e9a99d ; * doc/lispref/parsing.texi (Retrieving Nodes): Add notice. 7c7950fe006 Add maintainer stub for tree-sitter files cf327766226 ; * doc/lispref/parsing.texi (Using Parser): Remove delet... # Conflicts: # etc/NEWS # lisp/progmodes/c-ts-mode.el # lisp/progmodes/typescript-ts-mode.el # lisp/treesit.el
| * ; Add "src" to the heuristic sub-directory heuristicPhilip Kaludercic2022-12-271-12/+15
| | | | | | | | | | * lisp/emacs-lisp/package-vc.el (package-vc--unpack): Check for "src" directories, next to "lisp".
| * loaddefs-gen: Group results by absolute file nameKyle Meyer2022-12-261-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | loaddefs-generate produced an incomplete output file if 1) it was called with a relative file name and 2) that same file was specified via a generated-autoload-file cookie in a subset of the input files. In that case, autoload entries were lost because loaddefs-generate writes the same output file twice: once for the relative name specified by the caller and once for the absolute name that loaddefs-generate--parse-file returns for the generated-autoload-file value. This has been fixed. (Bug#60318) * lisp/emacs-lisp/loaddefs-gen.el (loaddefs-generate): Expand file names when grouping loaddef files.
* | Merge from origin/emacs-29Stefan Kangas2022-12-264-98/+178
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6c00d126e7f Remove remaining mentions of 'eval-current-buffer' 1073e96170b ; * doc/lispref/text.texi (Database): Fix a typo. (Bug#6... b1e68a33d89 Update to Org 9.6-61-g63e073f dad73e4de19 ; Review and fix NEWS and related documentation 72786ae237e ; Restore ARGS argument in c-ts-mode--fontify-declarator 940ab2423ca ; Always consider :lisp-dir when locating main file of VC... 9ab98cd42aa Add heuristic to locate lisp code in source packages dda011c78d1 ; * doc/lispref/parsing.texi (Tree-sitter major modes): F... d62b634d8fc ; * src/process.c (Fprocess_running_child_p): Doc fix. f6c5b3d635e ; * doc/lispref/parsing.texi: Add a reminder. e6c49c0454e ; Fix byte-copmiler warning in c-ts-mode--fontify-declarator 4234033a47a ; * lisp/treesit.el: Add some comments. 79584a206b9 Further generalize treesit-defun functions a819ca5a93c Generalize treesit-defun functions to "things" e8b34109eeb Reorder optional arguments to 'package-vc-install' b38e56d8a98 Handle missing dependencies for source packages 7bc7b6b4dd9 ; Partial revert of f3e7820b 2cec78254ea ; * nt/INSTALL.W64: Fix wording. ecee3bd4209 ; Fix recent changes in treesit documentation # Conflicts: # etc/NEWS
| * Remove remaining mentions of 'eval-current-buffer'Gregory Heytings2022-12-261-3/+3
| | | | | | | | | | | | | | | | * lisp/emacs-lisp/edebug.el (edebug-all-defs): * doc/lispref/eval.texi (Eval): * doc/lispref/edebug.texi (Instrumenting, Edebug Options): Remove remaining mentions of 'eval-current-buffer', obsoleted in Emacs 22 and removed in Emacs 26.
| * ; Review and fix NEWS and related documentationEli Zaretskii2022-12-251-1/+4
| | | | | | | | | | | | | | | | | | * etc/NEWS: Fix wording, punctuation, and markup. * lisp/emacs-lisp/subr-x.el (string-glyph-split): Doc fix. * doc/lispref/display.texi (Displaying Messages): Document 'set-message-functions'.
| * ; Always consider :lisp-dir when locating main file of VC packagesPhilip Kaludercic2022-12-251-1/+3
| | | | | | | | | | | | * lisp/emacs-lisp/package-vc.el (package-vc--main-file): Check the :lisp-dir entry in the "extras" of a package description to find the directory with a main file.
| * Add heuristic to locate lisp code in source packagesPhilip Kaludercic2022-12-251-0/+14
| | | | | | | | | | | | | | * lisp/emacs-lisp/package-vc.el (package-vc--unpack): Check if a "lisp" directory exists and use that instead of PKG-DIR. (Bug#60155)
| * Reorder optional arguments to 'package-vc-install'Philip Kaludercic2022-12-251-5/+9
| | | | | | | | | | | | * lisp/emacs-lisp/package-vc.el (package-vc-install-selected-packages): Update 'package-vc-install' invocation. (package-vc-install): Reorder and update documentation.
| * Handle missing dependencies for source packagesPhilip Kaludercic2022-12-251-87/+144
| | | | | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/package-vc.el (package-vc-install-dependencies): Add new function. (package-vc--unpack-1): Call 'package-vc-install-dependencies' instead of 'package-compute-transaction' and 'package-download-transaction'. It is unreasonable to abort the installation, since we cannot expect all dependencies to be available in the regular archives. Instead we note which packages couldn't be found, and warn the user that these will be missing.
| * ; Partial revert of f3e7820bPhilip Kaludercic2022-12-251-1/+1
| | | | | | | | | | * lisp/emacs-lisp/package.el (package-install-from-archive): Check if a package is a directory package, not a VC package
* | Merge from origin/emacs-29Stefan Kangas2022-12-252-30/+32
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | c36fe3df17b Fix c-ts-mode imenu defun name (bug#60296) a24e350170e Fix treesit--children-covering-range-recurse (bug#60301) fbb4eb919b4 Support treesit-defun-name in tree-sitter major modes 6253184afc2 ; * lisp/treesit.el (treesit-defun-at-point): Guard again... f8e219ebfaa Add treesit-defun-name and friends 35c2ca2ca64 Make treesit-node-at/on guess language at point 7f7def2ae62 ; Add treesit-no-parser error b6a2e1ddf66 * nt/INSTALL.W64: update instructions for setting up W64 ... 265b91d891a Revert "; Bump minimum supported Windows version for MinG... 75155e45860 ; Bump minimum supported Windows version for MinGW64 to W... 677f6c79eb9 ; Update minimum requirements of MinGW-w64 7723af5e4aa ; * lisp/progmodes/c-ts-mode.el: quote literal string in ... 38866510c7c ; * src/xdisp.c (redisplay_internal): Reinstate the FRAME... a825aa0b135 Fix definition of CNS 11643-15 charset a42b20dd95e ; * lisp/progmodes/c-ts-mode.el: Add outline section head... e4e36345399 Improve c-ts-mode block comment indent (bug#60270) e30621caa2c ; Add treesit_recursion_limit 6a43af58802 Fix block comment indent and filling for c-ts-mode (bug#5... e492c21e810 Fix treesit_cursor_helper (bug#60267) 4437dbedf7b Fix restart-emacs alarms (Bug#60220) 121a9ff9f6f Fix alternate stack test in configure 84888080eea Add more functions to "string" shortdoc c90f97d4e5d Make the Contour terminal an alias of xterm-256color c3fac9465fa ; Fix punctuation in last change. 756bb422a49 Correct wrong info in (info)Go to node a8c3424d28b Fix typo in TUTORIAL.fr (bug#60261) 24cd2f0daf1 Add some diff-fixup-modifs tests d32091199ae Fix quoted argument in emacsclient-mail.desktop Exec key 286c48137f6 ert-x: Move window selection logic to its own macro 823c49cea85 ; ert-x: Simplify `ert-with-test-buffer-selected' 38c6abe4d0b ; ert-x: Add test for buffer read-only state 0e39ad6fa56 Fix crash after X error
| * Add more functions to "string" shortdocXi Lu2022-12-241-0/+9
| | | | | | | | | | * lisp/emacs-lisp/shortdoc.el: Add 'string-or-null-p', 'char-or-string-p', 'char-uppercase-p'. (Bug#60279)
| * ert-x: Move window selection logic to its own macroRichard Hansen2022-12-241-10/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/ert-x.el (ert-with-buffer-selected): New macro to temporarily display a buffer in a selected window and evaluate a body. (ert-with-test-buffer-selected): Use the new macro. * test/lisp/whitespace-tests.el (ert-test-with-buffer-selected/current) (ert-test-with-buffer-selected/selected) (ert-test-with-buffer-selected/nil-buffer) (ert-test-with-buffer-selected/modification-hooks) (ert-test-with-buffer-selected/read-only) (ert-test-with-buffer-selected/return-value): Add tests. (Bug#60189)
| * ; ert-x: Simplify `ert-with-test-buffer-selected'Richard Hansen2022-12-241-23/+5
| | | | | | | | | | * lisp/emacs-lisp/ert-x.el (ert-with-test-buffer-selected): Simplify using 'ert-with-test-buffer'. (Bug#60189)
* | Fix condition-case body for-effect miscompilationMattias Engdegård2022-12-241-1/+4
| | | | | | | | | | | | | | | | | | | | | | (condition-case x A (:success B)) should not compile A for-effect even if the entire form is in for-effect context. * lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker): Don't optimise the condition-case body form for effect (potentially discarding its value) if there is a success handler and a variable. * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--test-cases): Add test cases.
* | Merge from origin/emacs-29Stefan Kangas2022-12-221-2/+2
|\| | | | | | | | | | | | | | | | | | | e59216d3be8 * Invoke spawed Emacs processes with '-Q' when native com... 777b383dd0f Fix Eshell electric slash when used from the root directo... c088cdad9e9 Fix the --without-all build with tree-sitter ec9fbad908d Fix write-region to null device on MS-Windows f35da111990 message: Do not default to eudc-capf-complete yet 98c16a8c883 ; * lisp/tab-bar.el: Remaining renaming of "fixed-width" ... d76d7a3bebf whitespace: Avoid mutating original buffer's markers in c...
| * * Invoke spawed Emacs processes with '-Q' when native compiling (bug#60208)Andrea Corallo2022-12-211-2/+2
| | | | | | | | | | * lisp/emacs-lisp/comp.el (comp-final): Invoke spawned Emacs with '-Q'. (comp-run-async-workers): Likewise.
* | ; Revert UK->US spelling fix in rx.elStefan Kangas2022-12-201-8/+5
| | | | | | | | | | * lisp/emacs-lisp/rx.el (rx--normalise-or-arg): Revert to British spelling of internal symbol.
* | ; Fix typos in some function namesStefan Kangas2022-12-201-5/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/cedet/semantic/decorate/include.el (semantic-decoration-unparsed-include-reference-reset): Rename from 'semantic-decoration-unparsed-include-refrence-reset'. * lisp/emacs-lisp/rx.el (rx--normalize-or-arg): Rename from 'rx--normalise-or-arg'. * lisp/frame.el (frame--current-background-mode): Rename from 'frame--current-backround-mode'. * lisp/url/url-future.el (url-future-canceled-p): Rename from 'url-future-cancelled-p'. Update all uses. Make old names into obsolete function aliases.
* | Elide broken but unnecessary `if` optimisationsMattias Engdegård2022-12-191-5/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/byte-opt.el (byte-optimize-if): Remove explicit clauses purposing to simplify (if X nil t) -> (not X) (if X t nil) -> (not (not X)) but never did so because of a coding mistake (eq instead of equal), found by a recently added warning. They weren't actually needed thanks to the optimiser's fixpoint iteration: we eventually get the same results through (if X nil t) -> (if (not X) t nil) -> (if (not X) t) -> (not X) (if X t nil) -> (if X t) -> (not (not X))
* | alist-get testfn argument evaluation correctionMattias Engdegård2022-12-191-3/+3
| | | | | | | | | | | | | | * lisp/emacs-lisp/gv.el (alist-get): Evaluate TESTFN exactly once (previously up to 3 times). Reduce the macro-expansion to include a call to either assoc or assq, not both; this reduces the generated code size in some cases.
* | Merge from origin/emacs-29Stefan Kangas2022-12-191-2/+5
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 12e26cc0c1b ; * admin/git-bisect-start: Add mistakenly ommitted commi... 9a751e0a38b ruby-mode: Support endless singleton method definitions too ce7b7e5af3d Remove comment-start-skip preset in tree-sitter indentati... c1e015ae320 Fix recent change in tramp-smb.el cf1b771864a ; * etc/NEWS: Fix typos. 50d18bb6ea7 Make tramp-archive autoloads robust for older Emacs versions 3941cc29df3 ; Improve documentation of 'setopt' 6f88de109c8 ruby-mode: Support endless methods (bug#54702) 91dd893e343 ; * lisp/progmodes/sql.el (sql-product-interactive): Doc ... 138d9dc4cb0 * lisp/cus-edit.el (setopt--set): Warn instead of rasing ... d1e0542f336 Allow customising windmove user options with an empty prefix c2375e77914 Improve and extend admin/git-bisect-start 7cc2313eb0a Make 'rmail-summary-by-thread' faster 88e59b16cbe ; Improve documentation of installing tree-sitter and gra... 897f33bf316 Fix the MS-DOS build 660e941235d Avoid crashes in PGTK build due to signal in 'note_mouse_... 0fc5fb2d054 Fix MS-Windows build broken by recent treesit.c changes 5b2e6d04ce2 Fix wrong capture in typescript-ts-mode (bug#60167) cb8ccdd2670 Add rust-ts-mode (Bug#60136) 9fcf764dd73 Indentation fixes for jsx/tsx (bug#60169) 69f2c71135f Fix treesit-query-validate problem with view-mode 1fc7535546c Use cursor API in treesit-node-parent 5f0286c0afa Switch to use cursor API in treesit.c a275e436df4 Add treesit_assume_true and treesit_cursor_helper a54c7a8df0c Remove file-exists-in-trash-p 3e02029642c Update to Org 9.6-49-g47d129 4a8ff671b0e Don’t assume make-directory handler returns nil 44c83b239d3 Fix copy-directory bug when dest dir exists bef1edc9cac make-directory now returns t if dir already exists 8a9579ca29d Use make-directory handlers uniformly 627e7e0243d Improve documentation of 'file-exists-p' c9015ef55ff Fix resizing of mini-windows by 'set-minibuffer-message' 5a245bc786e Prevent Abort dialogs from async-compiling jobs on Windows 4d1e4a48938 Fix 'window-max-chars-per-line' when there are no fringes d65beb820cc ; Revert "; * lisp/subr.el (internal--with-narrowing): Si... 1c0b90e5f7d ruby-mode: Recognize instance or global var as first arg ... 3356c0cb163 Fix end-of-defun in ruby-mode # Conflicts: # etc/NEWS
| * Prevent Abort dialogs from async-compiling jobs on WindowsEli Zaretskii2022-12-171-2/+5
| | | | | | | | | | | | | | * lisp/emacs-lisp/comp.el (comp-run-async-workers): Disable Abort dialog popping in the sub-processes that perform async compilation, by passing w32-disable-abort-dialog=t on their command line.
* | Merge from origin/emacs-29Stefan Kangas2022-12-192-5/+8
|\| | | | | | | | | | | de2239a584a Revert "alist-get testfn argument evaluation correction" 856d889f3a8 Revert "Elide broken but unnecessary `if` optimisations" 8e42e20ed7f Revert "Use equal and member instead of eq and memq"
| * Revert "alist-get testfn argument evaluation correction"Eli Zaretskii2022-12-161-3/+3
| | | | | | | | | | | | | | This reverts commit 17d65c99cd812e085d85f790c83ec0d540490a55. Please don't install unnecessary improvements on the release branch.
| * Revert "Elide broken but unnecessary `if` optimisations"Eli Zaretskii2022-12-161-2/+5
| | | | | | | | | | | | | | This reverts commit 13aa376e93564a8cf2ddbbcf0968c6666620db89. Please don't install anything on the release branch that is not a clear bugfix for a known bug.
| * Elide broken but unnecessary `if` optimisationsMattias Engdegård2022-12-161-5/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/byte-opt.el (byte-optimize-if): Remove explicit clauses purposing to simplify (if X nil t) -> (not X) (if X t nil) -> (not (not X)) but never did so because of a coding mistake (eq instead of equal), found by a recently added warning. They weren't actually needed thanks to the optimiser's fixpoint iteration: we eventually get the same results through (if X nil t) -> (if (not X) t nil) -> (if (not X) t) -> (not X) (if X t nil) -> (if X t) -> (not (not X))
| * alist-get testfn argument evaluation correctionMattias Engdegård2022-12-161-3/+3
| | | | | | | | | | | | | | * lisp/emacs-lisp/gv.el (alist-get): Evaluate TESTFN exactly once (previously up to 3 times). Reduce the macro-expansion to include a call to either assoc or assq, not both; this reduces the generated code size in some cases.
* | Warn about lambda expressions in comparisonsMattias Engdegård2022-12-181-18/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Lambda expressions are not comparable; warn about calls such as (eq x (lambda ...)) etc. * lisp/emacs-lisp/bytecomp.el (bytecomp--dodgy-eq-arg): Rename to... (bytecomp--dodgy-eq-arg-p): ...this. Use pcase. Add lambda checks. (bytecomp--value-type-description, bytecomp--arg-type-description) (bytecomp--check-eq-args, bytecomp--check-memq-args): Add function checks. Update calls. Make compiler-macro arguments optional to avoid crashes in malformed code. * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp--with-warning-test): Simplify argument. Run each compilation with a fresh (empty) warning cache. Add ert-info for easier debugging. (bytecomp-warn-dodgy-args-eq, bytecomp-warn-dodgy-args-memq): Add lambda tests.
* | Fix compiler macro expansion bugMattias Engdegård2022-12-181-1/+1
| | | | | | | | | | | | | | * lisp/emacs-lisp/macroexp.el (macroexp--expand-all): When a compiler-macro handler is re-invoked (after macro-expanding arguments), actually use the result instead of pointlessly dropping it on the floor.
* | * lisp/emacs-lisp/package.el (package-report-bug): Autoload it.Philip Kaludercic2022-12-171-0/+1
| |
* | Elide broken but unnecessary `if` optimisationsMattias Engdegård2022-12-161-5/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/byte-opt.el (byte-optimize-if): Remove explicit clauses purposing to simplify (if X nil t) -> (not X) (if X t nil) -> (not (not X)) but never did so because of a coding mistake (eq instead of equal), found by a recently added warning. They weren't actually needed thanks to the optimiser's fixpoint iteration: we eventually get the same results through (if X nil t) -> (if (not X) t nil) -> (if (not X) t) -> (not X) (if X t nil) -> (if X t) -> (not (not X))