* 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/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))
* 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.
99aa00e6e3 Revert 21b387c39b with last-minute hasty changes (bug#60...
386d6e74d8 Replace an erroneous eq with an equal in cc-defs.el
eb06947063 * lisp/tab-bar.el ([tab-bar]): Use 'make-sparse-keymap' i...
26243f7b65 compile.el: Fix regression with nb of errors in modeline
6e2923d80f Make tab-bar-tab-group-format-function backwards-compatib...
b211a63455 Make tab-bar-tab-group-format-function also handle curren...
367022f316 Ensure package directories for source packages from check...
3a633bdd6d ; * etc/NEWS: Fix recent changes.
6aa5d16c64 * test/README (SELECTOR): Add eglot-tests.el to remote fi...
bb27be36dd Fix bug#60060 in Tramp
d4c2aa4f91 ; * lisp/net/tramp-crypt.el: Fix comment.
8404253d17 * .gitignore: Ignore GDB history files.
12684c3a19 Mention 'tree-sitter' in user manual and NEWS
49d7e0cec6 ; * etc/NEWS: Rearrange entries for tree-sitter supported...
0ad2112a2f ; Announce 'toml-ts-mode' in NEWS.
# Conflicts:
# etc/NEWS
a15cd55044 ; Don't quote nil in comments
da39200c4b ; Checkdoc fixes in dired-aux.el
fd403a5c5a Fix ruby-add-log-current-method after nested class defini...
2ca06aed7b Add indent rules to js/typescript/tsx-ts-mode (bug#60074)
a54d5f500c Improve fontification in csharp-ts-mode (bug#59897)
3db2f560bb Revert "Add expression for generic_name in csharp-ts-mode"
1985762fbd Introduce support for TOML config-format
622838b957 Fix handling of % when searching in .tex or .dtx files
3b226b6024 Treat C++ classes as defuns in C Tree-sitter mode (bug#60...
480f41c7de Add < and > to the syntax table in c++-ts-mode (bug#60049)
fbf0d3b796 Improve fontifications in Typescript mode
f93a5180a6 Update the documentation of overlays (bug#59996)
d51b66ed54 ; Improve description of scoping and let-bindings
752f9dde63 ; Fix a typo in window.el
102a3e3b44 Don't send erc-sasl-user as USER command argument
f0c9088878 Set erc-network to a "given" ID instead of failing
09c0c6b2ba Limit casemapping to appropriate ranges in ERC
44b04c0ac1 Actually accept non-symbols as IDs in erc-open
75f26646d4 ; Be nicer when updating browse-url var in erc-compat
0155fc67be Respect a nil erc-session-password when reconnecting
9ac80e8a6e Add dedicated auth-source section in ERC manual
2d96a18cd0 ; * lisp/emacs-lisp/shortdoc.el: fix mistakes in previous...
1d3cbba7df ; * lisp/progmodes/cmake-ts-mode.el (auto-mode-alist): $ ...
0cc199f1a6 Better shortdoc examples
931d97bf56 Shortdoc: read and evaluate strings after :eval
be165f7533 Fix Tramp tests in eglot-tests, prefix tests uniquely
8c30cb90ba * lisp/vc/vc-git.el (vc-git-checkin): Use make-nearby-tem...
3efe4df1d2 Delete temp files after icalendar tests
# Conflicts:
# etc/NEWS
* lisp/emacs-lisp/package-vc.el (package-vc-install-from-checkout):
Set the :dir entry, since `package-vc--unpack-1' assumes the field is
set, as is the case when invoking `package-vc--unpack'.
Add a byte-compiler warning about attempts to compare literal values
with undefined identity relation to other values. For example:
(eq x 2.0)
(memq x '("a" (b) [c]))
Such incomparable values include all literal conses, strings, vectors,
records and (except for eql and memql) floats and bignums.
The warning currently applies to eq, eql, memq, memql, assq, rassq,
remq and delq.
* lisp/emacs-lisp/bytecomp.el (bytecomp--dodgy-eq-arg)
(bytecomp--value-type-description, bytecomp--arg-type-description)
(bytecomp--warn-dodgy-eq-arg, bytecomp--check-eq-args)
(bytecomp--check-memq-args): New.
(eq, eql, memq, memql, assq, rassq, remq, delq):
Set compiler-macro property.
* lisp/emacs-lisp/byte-run.el (with-suppressed-warnings):
Amend doc string.
* test/lisp/emacs-lisp/bytecomp-tests.el
(bytecomp--with-warning-test): Fix text-quoting-style and expand
re-warning so that it doesn't need to be a literal.
(bytecomp-warn-dodgy-args-eq, bytecomp-warn-dodgy-args-memq):
New tests.
* lisp/emacs-lisp/shortdoc.el
(symbol, comparison): New.
(string, list, number): Remove or change examples that do not have
well-defined results, such as `eq` on strings or floats.
Edit other examples for better illustrating each respective operation.
* lisp/emacs-lisp/shortdoc.el (shortdoc--display-function):
If the parameter of :eval is a string then read, evaluate and print
the result. This was always the intention and is documented behaviour.
cd5856e403 Fix bug when calling `rgrep` non-interactively
ba4bdd6a25 Adapt Tramp specific tests in eglot-tests.el
1d5c35c8e4 * lisp/textmodes/texinfo.el (texinfo-flymake): Improve do...
a99d0e7e6c Support a function in the BUFFER-LIST arg of list-buffers...
def51dd645 ; Fix typos
4980ed7a6d Don't allow lazy highlight from recursive minibuffers
4ef8b9f544 Improve resetting face attributes when looking for suitab...
c4b8bc90a8 ; Fix typos in doc strings
c45eb13845 ; * lisp/bs.el (bs-attributes-list): Doc fix
d6adaf487d Add lexical-binding to example package header
03ad1a92a2 Add improved tree-sitter navigation
a5272e2a7c ; * test/src/treesit-tests.el: Add outline headers.
489bcacc7c Add cross-reference to flush-lines
0f9e6532b1 Use font-lock-number-face for numeric values in csharp-mode
4bccb7b211 Make treesit-query-validate create a read-only buffer
c0fe6c72ce Improve dockerfile-ts-mode imenu generation (Bug#59979)
631908f701 Add "->" to python--treesit-operators (bug#59968)
5d4274d9b6 ; * admin/notes/tree-sitter/build-module/build.sh: Add -f...
d264b75669 Align C++ access specifiers to their enclosing class/stru...
ca67d988d8 Add cmake-ts-mode
8ec923775d Tweak various ts-mode's indent and fontification (bug#59931)
647b6a8099 Add expression for generic_name in csharp-ts-mode (bug#59...
5b178efd85 ; Adjust eglot test to recent autopep8/pycodestyle
58b8ed8b55 ; Avoid compilation warning on MS-Windows
40c23c11e8 * lisp/outline.el: Fix the value 'insert' of outline-mino...
527eb11de2 * lisp/minibuffer.el (completions-group-separator): Rever...
42d740fb2c ; Skip two eglot tests when typescript is missing
19ef86f775 ; Remove outdated text describing overlays
081bf58300 Skip Eglot rust-analyzer tests if 'cargo' isn't available
# Conflicts:
# lisp/progmodes/typescript-ts-mode.el
# lisp/treesit.el
Reported by Daniel Pittman.
* lisp/emacs-lisp/rx.el (rx): Move binding of rx--local-definitions...
(rx--to-expr): ...here.
* test/lisp/emacs-lisp/rx-tests.el (rx-let-pcase): New test.
44c5f36149 ; Fix two byte-compiler warnings
a8ee046fb5 Ensure 'package-vc--version' always returns a version
022ab1061b Ensure 'package-vc--main-file' always returns an existing...
357fe91996 Check if package already exists before installing from ch...
5e8bc79f6b ; Fix reference in docstring to 'package-vc-install-from-...
af88b00b19 Refresh the package quickstart file in package-vc
5a092c8e46 ; * admin/notes/tree-sitter/starter-guide (Indent): Minor...
ebef8905b0 Make indirect buffers use tree-sitter parsers of their ba...
8f53fa10d9 Fontify "this" as a keyword in c++-ts-mode (bug#59924)
8de8f1dc05 Add class_body indentation for typescript (bug#59680)
839341d737 Make more granular defun-type-regexp (bug#59873)
8f49137c9b Add dockerfile-ts-mode (Bug#59894)
1014bcc8e3 Fix fontification of method-invocations in js-ts-mode (bu...
7141920c6a Fix escape-sequence feature in typescript-ts-mode (bug#59...
4df35e3491 Improve fontification in csharp-ts-mode (bug#59909)
33a8415eb7 Use 'project--value-in-dir' for 'project-vc-include-untra...
594267395d Update Turkish Hello
940d9070e9 Support newer glib versions (Bug#59061)
0bd26abf7f ; * doc/misc/use-package.texi: Fix @file.
bcf235acd5 Merge branch 'emacs-29' of git.savannah.gnu.org:/srv/git/...
2ea7a357fd ; * doc/misc/use-package.texi: Fix @acronym.
d268ab1c5d Bring back the project--value-in-dir logic
* lisp/emacs-lisp/package-vc.el (require): Explicitly require cl-lib.
(package-vc--main-file): If the expected file name is missing, try and
find the closest match.
* lisp/emacs-lisp/package-vc.el (package-vc--unpack-1): Call
`package--quickstart-maybe-refresh', just as
`package-install-from-buffer' does. (bug#59728)
9ae1c2762d EUDC: Outline deprecation plans in NEWS
6acf95cbea Fix admin/notes/tree-sitter/build-module/build.sh (bug#59...
cc63c08697 * doc/misc/eww.texi (Overview): Improve introduction.
b8790e320e Consistent fontification of using-directives in csharp-ts...
5257b9cda4 ; Rename c-ts-fontify-error to c-ts-mode--fontify-error
c6b454df33 ; Improve docstring of c-ts-mode--fontify-variable
6187d001f2 Fontify some keywords in type face in c-ts-mode
b3847c0208 ; Minor cleanup in treesit.c
40af27859e ; * lib-src/etags.c (escape_shell_arg_string): Minor doc ...
43b7e7efbf Fix etags builds on non-Windows non-MS-DOS machines
7e6d1d1c47 ; Fix last change in etags.c.
01a4035c86 Fix etags local command injection vulnerability
ed4734405d Avoid crashes in a build --without-modules
70a2eb4a0b Fix 'add-display-text-property' when OBJECT is non-nil
d58d1dd48a Do not run slow tests on EMBA
9b9b39a2d8 Lisp reader undefined behaviour excision
# Conflicts:
# etc/NEWS
* lisp/emacs-lisp/subr-x.el (add-display-text-property): Fix the
case where OBJECT is not nil. (Bug#59857)
* test/lisp/emacs-lisp/subr-x-tests.el
(subr-x-test-add-display-text-property): Add test for this case.
ec00d292ec Improve treesit-fontify-with-override
4bcdb1cc65 Make killing a non-last client work the same no matter th...
a27f61f6f4 Use the function 'window-system' on the tab-bar/tab-line ...
432b9655ae Restore font-lock-type-face for lisp mode &symbols
* lisp/emacs-lisp/lisp-mode.el (lisp-cl-font-lock-keywords-2)
(lisp-el-font-lock-keywords-2): Restore use of type face instead of
builtin face for &symbol keywords. This fixes what appears to be
a copy paste error that changed the face for common lisp and emacs
lisp &symbol style keywords that was introduced in commit
a498e5f83 by restoring the type face to font-lock-type-face as
consistent with the comments.
* lisp/emacs-lisp/easy-mmode.el (define-minor-mode)
(easy-mmode-define-keymap): Don't declare obsolete, since we are
still using it in gud.el. (Bug#59769) (Bug#59605)
Do not merge to master.
This reverts commit 8bb5c1bfec.
That commit lost too many useful features in the GUD menus
and caused several bugs, the last of them bug#59769.
Do not merge to master.
* doc/lispref/display.texi (Icons): Add :width spec.
* lisp/emacs-lisp/icons.el (icons--create): Handle :width as well.
* lisp/outline.el (outline--margin-width, outline-margin-width):
New variables.
(outline-open-in-margins, outline-close-in-margins)
(outline-close-rtl-in-margins): Don't inherit from parents.
Use `:width font' instead of `:height 10'.
(outline-minor-mode): Calculate the number of columns for margins
to fit the icons.
* lisp/emacs-lisp/package-vc.el: Replace instances of "source package"
in comments and docstrings.
* lisp/emacs-lisp/package.el: Replace instances of "source package" in
comments and docstrings.
* lisp/emacs-lisp/ert.el (ert--insert-infos): Allow 'message' to be a
function that is called when inserting the info.
(ert-info): Update docstring to describe using a function for
MESSAGE-FORM.
* lisp/server.el (server-start): Log when the server is starting.
* test/lisp/server-tests.el (server-tests/can-create-frames-p): New
constant. Use it to skip tests that need to create frames.
(server-tests/start-emacsclient): Rename to...
(server-tests/start-client): ... this, and set the process's buffer.
(server-tests/with-server): Put the server file in a temporary
directory so we don't conflict with real Emacs servers.
(server-tests/with-client): New macro...
(server-tests/server-start/stop-prompt-with-client)
(server-tests/emacsclient/server-edit)
(server-tests/emacsclient/create-frame)
(server-tests/emacsclient/create-frame): ... use it.
(server-tests/server-start/stop-prompt-with-client): Simplify.
* lisp/emacs-lisp/loaddefs-gen.el
(loaddefs-generate--file-load-name): Handle the case when FILE and
OUTFILE don't share any common ancestor directory. (Bug#59507)