| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
| |
* 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/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)
|
|
|
|
| |
This was fixed in commit 44d7fd3805.
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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...
|
| |
| |
| |
| |
| | |
* lisp/emacs-lisp/comp.el (batch-native-compile): Don't shadow
`native-compile-target-directory' unless necessary.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* 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'.
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| | |
* lisp/emacs-lisp/package.el (package-menu-mode-menu): Improve
help-echo descriptions. (Bug#65094)
|
| |
| |
| |
| |
| | |
* lisp/emacs-lisp/package.el (package-menu-mode-menu): Add entry
to filter packages available for upgrade via menu bar. (bug#65094)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| | |
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).
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
...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
|
| | |
|
| |
| |
| |
| |
| |
| | |
* 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).
|
| |
| |
| |
| | |
* lisp/emacs-lisp/bytecomp.el (make-pipe-process): Add check.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| | |
* 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.
|
| |
| |
| |
| |
| | |
* lisp/emacs-lisp/timer.el (disable-timeout, add-timeout): Make
XEmacs compat aliases obsolete. Update all callers.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* 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.
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | | |
* 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.
|
|\| | |
|
| |\|
| | |
| | |
| | | |
1e8322bb26e Fix handling of 'byte-compile-ignore-files' when nil
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
|\| | |
|
| |\|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
|\| | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* 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.
|
| |\|
| | |
| | |
| | |
| | |
| | | |
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
|
| | |
| | |
| | |
| | |
| | |
| | | |
* lisp/emacs-lisp/bytecomp.el (byte-recompile-directory): Treat
'byte-compile-ignore-files' as a list of regexps per its docstring
(bug#64985).
|
| |\|
| | |
| | |
| | |
| | |
| | | |
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.
|
| | |
| | |
| | |
| | |
| | |
| | | |
* 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)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
(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/shortdoc.el (alist): Add let-alist.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* 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.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* 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.
|
| | | |
|
|\| | |
|
| | | |
|
|\| | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
(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.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* 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.
|
|\| | |
|