summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp
Commit message (Collapse)AuthorAgeFilesLines
* * lisp/emacs-lisp/ert.el (ert-run-tests-batch-and-exit): Inhibit interactionStefan Monnier2023-08-131-1/+3
|
* `equal` is not error-freeMattias Engdegård2023-08-131-6/+8
| | | | | | | | | | * lisp/emacs-lisp/byte-opt.el (side-effect-free-fns) (side-effect-and-error-free-fns) (byte-compile-side-effect-and-error-free-ops) (byte-compile-side-effect-free-ops): Demote `equal` and `equal-including-properties` from error-free to merely side-effect-free since they may in fact signal error on circularity.
* ; * lisp/emacs-lisp/rx.el: slight modernisation of internal rx usageMattias Engdegård2023-08-131-7/+7
|
* Avoid unexpected implicit completion in find-func.elEli Zaretskii2023-08-131-1/+1
| | | | | | * lisp/emacs-lisp/find-func.el (find-function-read): Don't allow implicit completion, which could produce unexpected results. Patch by Jens Schmidt <jschmidt4gnu@vodafonemail.de>. (Bug#65058)
* * lisp/emacs-lisp/cl-macs.el (cl--labels-convert): Remove outdated fixmeStefan Monnier2023-08-121-1/+0
| | | | This was fixed in commit 44d7fd3805.
* Merge from origin/emacs-29Eli Zaretskii2023-08-121-7/+7
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 842dbf500e0 * Fix `batch-byte+native-compile' target directory. 8dbd5aa1eef Avoid crashes in 'display_count_lines' when current buffe... 47b4f4cf783 ; * doc/emacs/mini.texi (Completion Commands): Fix a typo... 78999d52136 Update csharp tree-sitter support due to upstream changes 556cb01b48e Substitute command keys in 'ielm-header' at use time 99367078e50 ; * etc/PROBLEMS: Add entry about XIM problems (bug#65205). 03e897c08fa Fix rare crashes in redisplay due to problems with fontsets b1ba06a1e4b Fix a typo in 'leuven-dark-theme.el' e80a9dcabb9 ; * admin/git-bisect-start: Update failing commits 9091f42784b ; * admin/git-bisect-start: Update failing commits 344ac529ca9 ; * etc/PROBLEMS: Fix typo. bccf848b26c Adapt Tramp test 71bc060e403 Properly expand the JSX indentation rules in 'js-ts-mode' 889cfb42ed9 * Add `emacs-lisp-native-compile' to easy-menu. 4535aafa8a3 * lisp/progmodes/elisp-mode.el (emacs-lisp-mode-menu): Si... 173af0cad51 * Introduce `emacs-lisp-native-compile'. 063d7d89d7a Fix the -x switch in non-X builds 5a7fb0b39b7 Document that `set-mouse-color' does not work everywhere d06fc72496f ; * doc/emacs/dired.texi (Misc Dired Features): Fix last ... 97b8ac376b5 Fix the effects and documentation of 'dired-free-space' 75c72e59f69 ; Fix typo 6d11b7b3007 Fix cross-reference to eldoc in eglot manual 913e50aba6c Add native-compilation to Emacs Lisp mode menu b93107c20b2 Fix emacs-lisp-native-compile-and-load eln target directo...
| * * Fix `batch-byte+native-compile' target directory.Andrea Corallo2023-08-121-2/+3
| | | | | | | | | | * lisp/emacs-lisp/comp.el (batch-native-compile): Don't shadow `native-compile-target-directory' unless necessary.
| * Fix emacs-lisp-native-compile-and-load eln target directory (bug#64226)Andrea Corallo2023-08-091-5/+4
| | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/comp.el (comp-spill-lap-function): Don't use `byte+native-compile' to select output directory but always axpect it explicit through `native-compile-target-directory'. (batch-byte+native-compile): Set `native-compile-target-directory'. * test/src/comp-tests.el (comp-tests-bootstrap): Set `native-compile-target-directory'.
* | Merge from origin/emacs-29Eli Zaretskii2023-08-121-12/+30
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4767f5eaeed Better fix for bug#65156 dd1d8414b33 Fix insert-file-contents with pipes and /dev/stdin 50649a6d1a2 ; * etc/PROBLEMS: Fix wording. f0dda682ffb ; * etc/NEWS.28: Add deletion of levents.el. f4acae842c0 Fix bug#65042 e1874c4e8bf * configure.ac (HAVE_TREE_SITTER): Set NEED_DYNLIB=yes (b... ef8838c3a5f * etc/NEWS: Mention tramp-show-ad-hoc-proxies. 495bee253fc * test/lisp/net/tramp-tests.el (tramp-test42-utf8): Skip ... de1effd73b4 ; Fix last change 7c7966862bc * test/lisp/net/tramp-tests.el (tramp-test10-write-region... 16205e8db65 ; Improve help-echo in package.el a95e7006989 ; Filter packages available for upgrade via menu bar adff72dd1d2 Fix reverting Rmail buffers
| * ; Improve help-echo in package.elEli Zaretskii2023-08-061-13/+29
| | | | | | | | | | * lisp/emacs-lisp/package.el (package-menu-mode-menu): Improve help-echo descriptions. (Bug#65094)
| * ; Filter packages available for upgrade via menu barArash Esbati2023-08-061-0/+2
| | | | | | | | | | * lisp/emacs-lisp/package.el (package-menu-mode-menu): Add entry to filter packages available for upgrade via menu bar. (bug#65094)
* | rx: Better translation of char-matching patternsMattias Engdegård2023-08-121-206/+356
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Translate or-patterns that (even partially) match single characters into character alternatives which are more efficient in matching, sometimes algorithmically so. Example: (or "%" (in "a-z") space) was previously translated to "%\\|[a-z]\\|[[:space:]]" but now becomes "[%a-z[:space:]]" Single-char patterns include `nonl` and `anychar`, which now can also be used in set operations (union, complement and intersection), and character classes. For example, `(or nonl "\n")` is now equivalent to `anychar`. * lisp/emacs-lisp/rx.el (rx--expand-def): Remove, split into... (rx--expand-def-form, rx--expand-def-symbol): ...these. (rx--translate-compat-symbol-entry) (rx--translate-compat-form-entry): New functions for handling the legacy extension mechanism. (rx--normalise-or-arg): Renamed to... (rx--normalise-char-pattern): ...this, and rewrite. (rx--all-string-or-args): Remove, split into... (rx--all-string-branches-p, rx--collect-or-strings): ...these. (rx--char-alt-union, rx--intersection-intervals) (rx--reduce-to-char-alt, rx--optimise-or-args) (rx--translate-char-alt, rx--human-readable): New. (rx--translate-or, rx--translate-not, rx--translate-intersection): Rewrite. (rx--charset-p, rx--intervals-to-alt, rx--charset-intervals) (rx--charset-union, rx--charset-intersection, rx--charset-all) (rx--translate-union): Remove. (rx--generate-alt): Decide whether to generate a negated character alternative. (rx--complement-intervals, rx--intersect-intervals) (rx--union-intervals): Rename to... (rx--interval-set-complement, rx--interval-set-intersection) (rx--interval-set-union): ...these. (rx--translate-symbol, rx--translate-form): Refactor extension processing. Handle synthetic `rx--char-alt` form. * test/lisp/emacs-lisp/rx-tests.el (rx-or, rx-char-any-raw-byte) (rx-any, rx-charset-or): Adapt to changes and extend. * test/lisp/emacs-lisp/rx-tests.el (rx--complement-intervals) (rx--union-intervals, rx--intersect-intervals): Rename to... (rx--interval-set-complement, rx--interval-set-union) (rx--interval-set-intersection): ...these.
* | * lisp/emacs-lisp/cl-macs.el (cl--labels-convert): Fix bug#65017Stefan Monnier2023-08-111-1/+13
| | | | | | | | | | | | This fixes what I consider to be the core of the bug, by handling `cl--labels-convert-cache` more carefully (i.e. being more careful how we look up its value and by flushing it ASAP).
* | Remove harmful and redundant bindings from the byte compiler.Alan Mackenzie2023-08-092-49/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes bug#65017. Binding symbols-with-pos-enabled in two macro handling functions was harmful; one of these caused cl--labels-convert to fail. Binding print-symbols-bare in many places in the byte compiler was redundant. * lisp/emacs-lisp/bytecomp.el (byte-compile-recurse-toplevel) (byte-compile-initial-macro-environment) (byte-compile-output-file-form, byte-compile-output-docform) (byte-compile-preprocess): Remove bindings of print-symbols-bare. * lisp/emacs-lisp/macroexp.el (macroexp--compiler-macro) (internal-macroexpand-for-load): Remove bindings of symbols-with-pos-enabled. (internal-macroexpand-for-load): Remove binding of print-symbols-bare.
* | Fix all my attributions to be correct and consistent...Eric S. Raymond2023-08-081-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | ...in case people are trying to track me down for questions. .mailmap, ChangeLog.1, admin/notes/copyright, doc/emacs/ChangeLog.1, doc/emacs/ack.texi, doc/lispref/ChangeLog.1, doc/misc/gnus.texi, etc/ChangeLog.1, lib-src/ChangeLog.1, lisp/ChangeLog.13, lisp/ChangeLog.14, lisp/ChangeLog.15, lisp/ChangeLog.17, lisp/ChangeLog.3, lisp/ChangeLog.4, lisp/ChangeLog.5, lisp/ChangeLog.6, lisp/ChangeLog.7, lisp/emacs-lisp/lisp-mnt.el, lisp/finder.el, lisp/loadhist.el, lisp/play/cookie1.el, lisp/progmodes/asm-mode.el, lisp/progmodes/gud.el, lisp/progmodes/make-mode.el, lisp/term/AT386.el, src/ChangeLog.3
* | ; Fix thinkoStefan Kangas2023-08-081-1/+1
| |
* | Make lm-verify footer checking more strictStefan Kangas2023-08-081-3/+3
| | | | | | | | | | | | * lisp/emacs-lisp/lisp-mnt.el (lm-verify): Make file footer regexp more strict to match requirement in old versions of package.el (now only a warning).
* | Check keyword args of make-pipe-process (bug#65030)Mattias Engdegård2023-08-081-0/+7
| | | | | | | | * lisp/emacs-lisp/bytecomp.el (make-pipe-process): Add check.
* | Check keyword args of make-processHelmut Eller2023-08-081-0/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The functions make-process and make-network-process have many keyword args and it's easy to misspell some of them. Use a compiler macro to warn about some possible mistakes. * lisp/emacs-lisp/bytecomp.el (bytecomp--check-keyword-args): New helper. (make-process, make-network-process): Define a compiler macro that performs some checks but doesn't anything else. * test/lisp/emacs-lisp/bytecomp-tests.el: Add some tests. * test/lisp/emacs-lisp/bytecomp-resources/: (warn-make-process-missing-keyword-arg.el, warn-make-process-missing-keyword-value.el, warn-make-process-repeated-keyword-arg.el, warn-make-process-unknown-keyword-arg.el): New test files
* | Teach byte-compiler about Aristotelian identityMattias Engdegård2023-08-081-15/+18
| | | | | | | | | | | | | | * lisp/emacs-lisp/byte-opt.el (byte-optimize-equal, byte-optimize-eq): Optimise (eq X X) -> t where X is a variable; idem for eql and equal. * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--test-cases): Add test case.
* | Make XEmacs compat aliases for timers obsoleteStefan Kangas2023-08-081-4/+5
| | | | | | | | | | * lisp/emacs-lisp/timer.el (disable-timeout, add-timeout): Make XEmacs compat aliases obsolete. Update all callers.
* | Make Emacs 21 compat aliases easy-mmode-* obsoleteStefan Kangas2023-08-081-4/+6
| | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/easy-mmode.el (easy-mmode-define-minor-mode) (easy-mmode-define-global-mode): Make Emacs 21 compatibility aliases obsolete. * doc/lispref/loading.texi (Autoload): * doc/lispref/modes.texi (Defining Minor Modes): Don't document above obsolete aliases.
* | Merge remote-tracking branch 'origin/master' into feature/androidPo Lu2023-08-072-18/+18
|\ \
| * | Mark Emacs 21 compat aliases `lm-*-mark` obsoleteStefan Kangas2023-08-062-18/+18
| | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/lisp-mnt.el (lm-section-mark, lm-code-mark) (lm-commentary-mark, lm-history-mark): Mark Emacs 21 compatibility aliases obsolete. Update all callers to use the new name.
* | | Merge remote-tracking branch 'origin/master' into feature/androidPo Lu2023-08-061-1/+3
|\| |
| * | Merge from origin/emacs-29Jim Porter2023-08-051-1/+3
| |\| | | | | | | | | | 1e8322bb26e Fix handling of 'byte-compile-ignore-files' when nil
| | * Fix handling of 'byte-compile-ignore-files' when nilJim Porter2023-08-051-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | Before this fix, when 'byte-compile-ignore-files' was nil, 'byte-recompile-directory' would ignore every file (bug#64985). * lisp/emacs-lisp/bytecomp.el (byte-recompile-directory): Handle case when 'byte-compile-ignore-files' is nil.
* | | Merge remote-tracking branch 'origin/master' into feature/androidPo Lu2023-08-061-1/+2
|\| |
| * | Merge from origin/emacs-29Michael Albinus2023-08-051-1/+2
| |\| | | | | | | | | | | | | | | | | | | | | | f2b2c752a59 Fix documentation of saveplace facilities for Dired 4ed9d61c89a ; * lisp/tab-bar.el: Autoload cl--set-substring, as that ... 30976ecd8d8 ; * lisp/bindings.el (mode-line-modes): Fix typo (bug#650... 8574ef314c4 Fix loaddef generation with ";;;foo-autoload" cookies in ... 8cbd4a02a2b Delete comment saying that project.el is experimental
| | * Fix loaddef generation with ";;;foo-autoload" cookies in external packagesJim Porter2023-08-041-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This caused an issue where package-specific autoload cookies weren't being correctly recognized, so they got dumped into the package's main "<pkg>-autoloads.el" file, instead of "<pkg>-loaddefs.el" as they should (bug#65023). * lisp/emacs-lisp/loaddefs-gen.el (loaddefs-generate--parse-file): Save match data when checking syntax.
* | | Merge remote-tracking branch 'origin/master' into feature/androidPo Lu2023-08-054-10/+17
|\| |
| * | Don't allow the `eq` and `unbind` byte-ops to commute (bug#65017)Mattias Engdegård2023-08-041-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/byte-opt.el (byte-after-unwind-ops): Cease sinking `eq` past `unwind`, because that optimised away the let-binding in (let ((symbols-with-pos-enabled nil)) (eq x y)) and `eq` is currently sensitive to `symbols-with-pos-enabled`. * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp--eq-symbols-with-pos-enabled): New test.
| * | Merge from origin/emacs-29Eli Zaretskii2023-08-041-6/+4
| |\| | | | | | | | | | | | | | | | 6eddbfe33f2 Clarify the meaning of the argument of ':align-to' space ... 5c6a51668b0 ; * doc/misc/eshell.texi (Argument Modifiers): Fix typo i... da5e05a50e8 Fix handling of ".elpaignore" file when compiling packages
| | * Fix handling of ".elpaignore" file when compiling packagesJim Porter2023-08-011-6/+4
| | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/bytecomp.el (byte-recompile-directory): Treat 'byte-compile-ignore-files' as a list of regexps per its docstring (bug#64985).
| * | Merge from origin/emacs-29Eli Zaretskii2023-08-041-3/+6
| |\| | | | | | | | | | | | | | | | 0c29f53ab87 Fix 'string-pixel-width' under 'line-prefix' 7bbd7cae074 Fix find-dired-with-command for remote directories c4a8572025e ; * etc/HISTORY: Fix Emacs 28.3 entry.
| | * Fix 'string-pixel-width' under 'line-prefix'Eli Zaretskii2023-07-311-3/+6
| | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/subr-x.el (string-pixel-width): Disable 'line-prefix' and 'wrap-prefix' to avoid their effect on the calculated string width. (Bug#64971)
| | * Fix rx wrong-code bug: ranges starting with ^Mattias Engdegård2023-07-301-7/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (rx (in (?^ . ?a))) was incorrectly translated to "[^-a]". Change it so that we get "[_-a^]" instead. * lisp/emacs-lisp/rx.el (rx--generate-alt): Split ranges starting with `^` occurring first in a non-negated character alternative. * test/lisp/emacs-lisp/rx-tests.el (rx-any): Add and adapt tests. (cherry picked from commit 5f5d668ac7917d61e9366fe0c3efd7b542671c3d)
| * | * lisp/emacs-lisp/advice.el (defadvice): Mark as obsoleteStefan Monnier2023-08-031-0/+1
| | |
* | | Merge remote-tracking branch 'origin/master' into feature/androidPo Lu2023-08-033-87/+153
|\| |
| * | ; Prefer HTTPS to HTTP in more linksStefan Kangas2023-08-021-1/+1
| | |
| * | Add let-alist to alist shortdoc groupStefan Kangas2023-08-021-8/+8
| | | | | | | | | | | | * lisp/emacs-lisp/shortdoc.el (alist): Add let-alist.
| * | rx: better not-wordchar and (syntax word) translationMattias Engdegård2023-08-021-2/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/rx.el: Add tables of legacy syntax. (rx--translate-symbol): Translate the legacy construct `not-wordchar` as (not wordchar), which is more intuitively obvious. * lisp/emacs-lisp/rx.el (rx--translate-syntax): Generate the shorter \w and \W instead of \sw and \Sw. * test/lisp/emacs-lisp/rx-tests.el (rx-atoms, rx-syntax, rx-not): Adapt tests.
| * | rx performance improvementsMattias Engdegård2023-08-021-74/+102
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/rx.el (rx--generate-alt): Treat the intervals and classes lists separately without joining, to reduce allocation. Handle special cases first. (rx--union-intervals): Implement directly instead of using intersection and complement. * test/lisp/emacs-lisp/rx-tests.el (rx-any): Adapt test, as some character alternatives are now slightly different. (rx--complement-intervals, rx--union-intervals) (rx--intersect-intervals): New unit tests.
| * | ; * lisp/emacs-lisp/shortdoc.el (list): Move misplaced `remq` entryMattias Engdegård2023-08-021-2/+2
| | |
* | | Merge remote-tracking branch 'origin/master' into feature/androidPo Lu2023-08-021-1/+1
|\| |
| * | ; * lisp/emacs-lisp/package.el: doc string copy-editMattias Engdegård2023-08-011-1/+1
| | |
* | | Merge remote-tracking branch 'origin/master' into feature/androidPo Lu2023-07-312-17/+36
|\| |
| * | Fix rx wrong-code bug: ranges starting with ^Mattias Engdegård2023-07-301-7/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | (rx (in (?^ . ?a))) was incorrectly translated to "[^-a]". Change it so that we get "[_-a^]" instead. * lisp/emacs-lisp/rx.el (rx--generate-alt): Split ranges starting with `^` occurring first in a non-negated character alternative. * test/lisp/emacs-lisp/rx-tests.el (rx-any): Add and adapt tests.
| * | Allow default values in 'map-let' and the pcase 'map' formEarl Hyatt2023-07-301-10/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/map.el (map-let, map) (map--make-pcase-bindings): Add a third argument for specifying a default value, like in 'map-elt'. (Bug#49407) * lisp/emacs-lisp/map.el (map--make-pcase-bindings): Clarify that keys that aren't found aren't ignored, they actually get the value nil (unless the new default value is given). The overall pattern can still fail to match if the sub-pattern for the unfound key doesn't match nil. * test/lisp/emacs-lisp/map-tests.el (test-map-let-default) (test-map-plist-pcase-default, test-map-pcase-matches): Add tests, including for the above item.
* | | Merge remote-tracking branch 'origin/master' into feature/androidPo Lu2023-07-282-37/+33
|\| |