]> git.eshelyaron.com Git - emacs.git/log
emacs.git
15 months agoAdd nnatom.el gnus/nnatom
Eric Abrahamsen [Sun, 18 Jun 2023 01:47:59 +0000 (18:47 -0700)]
Add nnatom.el

Direct copy from https://git.sr.ht/~dsemy/nnatom, with updated
copyright header.

15 months agoMerge branch 'master' of git+ssh://git.sv.gnu.org/srv/git/emacs
Stefan Monnier [Sat, 17 Jun 2023 22:06:01 +0000 (18:06 -0400)]
Merge branch 'master' of git+ssh://git.sv.gnu.org/srv/git/emacs

15 months agopp-fill: Fix tests breakage
Stefan Monnier [Sat, 17 Jun 2023 22:05:33 +0000 (18:05 -0400)]
pp-fill: Fix tests breakage

* lisp/emacs-lisp/pp.el (pp-to-string, pp-buffer, pp): Preserve old
behavior of (almost always) returning a trailing newline.

* test/lisp/emacs-lisp/pp-tests.el (pp-print-quote): Adjust tests, now
that `pp-to-string` always returns a trailing newline, rather than only
most of the time.

* test/lisp/emacs-lisp/backtrace-tests.el
(backtrace-tests--single-and-multi-line): Make the test less sensitive
to the choice of what is "pretty".

15 months ago* doc/lispref/streams.texi (Output Variables): Document `pp-default-function`
Stefan Monnier [Fri, 16 Jun 2023 17:35:36 +0000 (13:35 -0400)]
* doc/lispref/streams.texi (Output Variables): Document `pp-default-function`

15 months agopp.el (pp-fill): New default pp function
Stefan Monnier [Fri, 16 Jun 2023 17:35:06 +0000 (13:35 -0400)]
pp.el (pp-fill): New default pp function

* lisp/emacs-lisp/pp.el (pp-default-function): Change default.
(pp--within-fill-column-p): New helper function.
(pp-fill): New function.

15 months agopp.el (pp-default-function): New custom var
Stefan Monnier [Fri, 16 Jun 2023 17:31:13 +0000 (13:31 -0400)]
pp.el (pp-default-function): New custom var

* lisp/emacs-lisp/pp.el (pp-use-max-width): Make obsolete.
(pp-default-function): New custom var.
(pp--object, pp--region): New helper functions.
(pp-29): New function, extracted from `pp-to-string`.
(pp-to-string): Add `pp-function` arg and obey `pp-default-function`.
(pp-28): New function, extracted from `pp-buffer`.
(pp-buffer): Rewrite, to obey `pp-default-function`.
(pp): Obey `pp-default-function`.
(pp-emacs-lisp-code): Add new calling convention to apply it to a region.

15 months ago* lisp/emacs-lisp/lisp-mode.el (lisp-ppss): Fix performance bug
Stefan Monnier [Fri, 16 Jun 2023 17:14:27 +0000 (13:14 -0400)]
* lisp/emacs-lisp/lisp-mode.el (lisp-ppss): Fix performance bug

(nth 2 ppss) can be absent but not incorrect, so don't recompute ppss
for (nth 2 ppss) when (nth 2 ppss) is already provided.
When calling `lisp-indent-line` on all the lines in a region, this
sometimes introduced a gratuitous O(N²) complexity.

15 months agoFix some tree-sitter :match regexps
Basil L. Contovounesios [Tue, 13 Jun 2023 12:53:31 +0000 (13:53 +0100)]
Fix some tree-sitter :match regexps

This was originally installed on 2023-06-17 in the emacs-29 release
branch and later reverted.  The intention is to backport it after
Emacs 29.1 is released.

The shy groups were caught by modified versions of the GNU ELPA
packages xr and relint:
- https://github.com/mattiase/xr/pull/6
- https://github.com/mattiase/relint/pull/14

* lisp/progmodes/ruby-ts-mode.el (ruby-ts--s-p-query): Quote special
character in regexp.
* lisp/progmodes/java-ts-mode.el (java-ts-mode--font-lock-settings):
* lisp/progmodes/js.el (js--plain-method-re):
(js--treesit-font-lock-settings):
* lisp/progmodes/rust-ts-mode.el (rust-ts-mode--font-lock-settings):
* lisp/progmodes/typescript-ts-mode.el
(typescript-ts-mode--font-lock-settings): Replace character
alternative [\\d], which matches '\' or 'd', with the most likely
intention [0-9].  Fix shy groups mistyped as optional colons.
Remove unneeded numbered :match group in rust-ts-mode (bug#64019).

15 months agoFix more shy group regexps
Basil L. Contovounesios [Sun, 11 Jun 2023 23:23:56 +0000 (00:23 +0100)]
Fix more shy group regexps

These issues were caught by modified versions of the GNU ELPA
packages xr and relint:
- https://github.com/mattiase/xr/pull/6
- https://github.com/mattiase/relint/pull/14

* lisp/gnus/gnus-art.el (gnus-parse-news-url): Remove redundant
numbered group and calls to match-string.
* lisp/progmodes/c-ts-mode.el (c-ts-mode--c-or-c++-regexp): Fix shy
group mistyped as optional colon (bug#64019#29).
* lisp/vc/vc-git.el (vc-git-annotate-time): Ditto.  Also fix
timezone parsing by using iso8601-parse (bug#64069).
* test/lisp/vc/vc-git-tests.el (vc-git-test-annotate-time): New
test.

15 months agoCC Mode: Correct some regexp typos, \\(:? -> \\(?:
Alan Mackenzie [Sat, 17 Jun 2023 13:19:18 +0000 (13:19 +0000)]
CC Mode: Correct some regexp typos, \\(:? -> \\(?:

This partly corrects bug#64069.

* lisp/progmodes/cc-langs.el (c-ml-string-back-closer-re): Fix
four occurrences, one of which was in a comment, one in a doc
string.

* lisp/progmodes/cc-mode.el (c-or-c++-mode--regexp.): Fix one
occurrence.

15 months ago; * src/treesit.c (treesit_query_string_string): fix last change
Mattias Engdegård [Sat, 17 Jun 2023 09:55:12 +0000 (11:55 +0200)]
; * src/treesit.c (treesit_query_string_string): fix last change

Escape the backslash character itself.

15 months ago; Auto-commit of loaddefs files.
Eli Zaretskii [Sat, 17 Jun 2023 09:27:03 +0000 (05:27 -0400)]
; Auto-commit of loaddefs files.

15 months agoMerge from origin/emacs-29
Eli Zaretskii [Sat, 17 Jun 2023 09:02:56 +0000 (05:02 -0400)]
Merge from origin/emacs-29

3b0bf359e9a Fix documentation of comment-dwim (bug#64104)

15 months ago; Merge from origin/emacs-29
Eli Zaretskii [Sat, 17 Jun 2023 09:02:56 +0000 (05:02 -0400)]
; Merge from origin/emacs-29

The following commits were skipped:

71b27779a9a ; * lisp/net/ldap.el (ldap-search-internal): Fix last cha...
d2246b26275 Fix parsing of dn line if WITHDN is non-nil

15 months agoMerge from origin/emacs-29
Eli Zaretskii [Sat, 17 Jun 2023 09:02:55 +0000 (05:02 -0400)]
Merge from origin/emacs-29

84d2da003e1 ; Fix example in the Flymake manual
0a1459f1d9b * doc/misc/calc.texi (Advanced Math Functions): Correct c...
92faf1f5645 Consider 'dired-kill-when-opening-new-dired-buffer' in mo...
bafe71a69fc ; Fix use-package.texi markup
018e4ca6c5d ; * doc/misc/calc.texi (Advanced Math Functions): Fix las...
1952dbd4c5f Fix Gamma function definition in calc.texi
f73f82d7e89 Fix subscripts in the Calc manual
70fc7c41ef3 Improve documentation of 'declare' forms
c8357582389 ; * src/lread.c (bytecode_from_rev_list): Avoid C++ comment.
28478574961 Improve tree-sitter docs
0e9307eb2b8 Fix some Texinfo markup in manuals
8dc08333eea Fix bol/bos anchors in tree-sitter :match regexps
8225ade6151 ; * src/xdisp.c (syms_of_xdisp) <display-line-numbers>: F...
1f0527a312a ; Fix last change in tex-mode.el
4da479920e6 * lisp/subr.el (with-restriction): Tweak indent rule
36aa9bd8183 ; Fix previous change
aaeaf608d89 Fix setting region in the minibuffer
1383efe01d0 Fix setting $DBUS_SESSION_BUS_ADDRESS after Emacs has sta...
bdb0bc2b4e4 Fix tex-mode display-buffer issues
90047c38ce9 Add test for when 'completion-auto-help' is 'visible'
2c623e4feb9 Avoid errors in 'apropos-documentation' after 'eval-buffer'
dd3b98121cc ; * doc/emacs/indent.texi (Indentation Commands): Fix las...
904edf1f076 Mention indent-rigidly in the Emacs manual

15 months agoFix documentation of comment-dwim (bug#64104)
Eli Zaretskii [Sat, 17 Jun 2023 08:37:19 +0000 (11:37 +0300)]
Fix documentation of comment-dwim (bug#64104)

* lisp/newcomment.el (comment-dwim): Doc fix.

* doc/emacs/programs.texi (Comment Commands): More accurate
description of what 'M-;' does when there's no active region.

15 months ago; * lisp/net/ldap.el (ldap-search-internal): Fix last change. (Bug#64089)
Eli Zaretskii [Sat, 17 Jun 2023 07:59:44 +0000 (10:59 +0300)]
; * lisp/net/ldap.el (ldap-search-internal): Fix last change.  (Bug#64089)

15 months agoFix parsing of dn line if WITHDN is non-nil
Jens Schmidt [Thu, 15 Jun 2023 22:04:04 +0000 (00:04 +0200)]
Fix parsing of dn line if WITHDN is non-nil

Function `ldap-search' errors out with `wrong-type-argument listp'
when called with WITHDN non-nil.
* lisp/net/ldap.el (ldap-search-internal): Parse the dn line
correctly so that `ldap-search' can grok it.  (Bug#64089)

15 months ago; Fix example in the Flymake manual
Eli Zaretskii [Sat, 17 Jun 2023 07:49:45 +0000 (10:49 +0300)]
; Fix example in the Flymake manual

* doc/misc/flymake.texi (An annotated example backend): Fix the
example.  (Bug#64070)

15 months agoCorrect conversion of strings to tree-sitter query syntax
Mattias Engdegård [Fri, 16 Jun 2023 10:37:07 +0000 (12:37 +0200)]
Correct conversion of strings to tree-sitter query syntax

The treesitter query syntax for string literals differs from that of
Elisp so we cannot just use the Lisp printer (bug#64017).

* src/treesit.c (treesit_query_string_string): New function.
(Ftreesit_pattern_expand): Use it.
* test/src/treesit-tests.el (treesit-query-api): Add test case.

15 months agoeshell-next-prompt: More precisely navigate to the prompt (bug#63748)
Tony Zorman [Sat, 3 Jun 2023 12:23:19 +0000 (14:23 +0200)]
eshell-next-prompt: More precisely navigate to the prompt (bug#63748)

* lisp/eshell/em-prompt.el (eshell-next-prompt): Navigate to the
current prompt more accurately by using text properties instead of
going to the beginning of the line.  This is important for multiline
prompts, as they don't necessarily start at the beginning of the
current line.

* test/lisp/eshell/em-prompt-tests.el
(em-prompt-test--with-multiline):
Execute a given body with a multiline prompt.

(em-prompt-test/next-previous-prompt-with):
(em-prompt-test/forward-backward-matching-input-with):
Helper functions for code reuse.

(em-prompt-test/forward-backward-matching-input):
(em-prompt-test/next-previous-prompt):
Rewrite in terms of the appropriate helper functions.

(em-prompt-test/next-previous-prompt-multiline):
(em-prompt-test/forward-backward-matching-input-multiline):
Add multiline variants of existing tests.

15 months ago; cperl-mode.el: Fix font-lock after yanking into POD
Harald Jörg [Thu, 15 Jun 2023 15:08:07 +0000 (17:08 +0200)]
; cperl-mode.el: Fix font-lock after yanking into POD

When extending the region to fontify for jit-lock-mode, make
sure we start fontifying at the beginning of a POD section
(Bug#64056).

15 months ago* doc/misc/calc.texi (Advanced Math Functions): Correct calc
Andreas Schwab [Thu, 15 Jun 2023 14:18:58 +0000 (16:18 +0200)]
* doc/misc/calc.texi (Advanced Math Functions): Correct calc
algebraic syntax.

15 months agoConsider 'dired-kill-when-opening-new-dired-buffer' in mouse clicks
Eli Zaretskii [Thu, 15 Jun 2023 13:12:24 +0000 (16:12 +0300)]
Consider 'dired-kill-when-opening-new-dired-buffer' in mouse clicks

* lisp/dired.el (dired-mouse-find-file): Honor the value of
'dired-kill-when-opening-new-dired-buffer'.  (Bug#64079)

15 months ago; Fix use-package.texi markup
Robert Pluim [Thu, 15 Jun 2023 10:23:29 +0000 (12:23 +0200)]
; Fix use-package.texi markup

* doc/misc/use-package.texi (Best practices): It's a subsection, not a
subheading.

15 months ago; * doc/misc/calc.texi (Advanced Math Functions): Fix last change.
Eli Zaretskii [Thu, 15 Jun 2023 08:38:32 +0000 (11:38 +0300)]
; * doc/misc/calc.texi (Advanced Math Functions): Fix last change.

15 months agoFix treesit-install-language-grammar (bug#63990)
Yuan Fu [Thu, 15 Jun 2023 08:22:53 +0000 (01:22 -0700)]
Fix treesit-install-language-grammar (bug#63990)

* lisp/treesit.el:
(treesit-install-language-grammar): When called non-interactively,
out-dir should default to default-out-dir.

15 months agoFix Gamma function definition in calc.texi
Eli Zaretskii [Thu, 15 Jun 2023 07:39:55 +0000 (10:39 +0300)]
Fix Gamma function definition in calc.texi

* doc/misc/calc.texi (Advanced Math Functions): Fix definition
of Gamma function.  Use @sup in @infoline lines.  (Bug#64077)

15 months agoFix subscripts in the Calc manual
Eli Zaretskii [Thu, 15 Jun 2023 07:08:55 +0000 (10:08 +0300)]
Fix subscripts in the Calc manual

* doc/misc/calc.texi (Musical Notes): Use @sub instead of TeX-only
'_' notation.  For the details, see the discussion in
https://lists.gnu.org/archive/html/emacs-devel/2023-06/msg00096.html.

15 months agoImprove documentation of 'declare' forms
Eli Zaretskii [Thu, 15 Jun 2023 06:28:26 +0000 (09:28 +0300)]
Improve documentation of 'declare' forms

* lisp/simple.el (read-extended-command-predicate): Mention the
'(declare completion ...' form in the doc string.

* doc/lispref/functions.texi (Declare Form): Clarify
'completion-predicate' and 'modes'; add cross-references.
(Bug#64045)

15 months agoAvoid using `(lambda ...) to build function values
Stefan Monnier [Wed, 14 Jun 2023 21:06:37 +0000 (17:06 -0400)]
Avoid using `(lambda ...) to build function values

* lisp/emacs-lisp/nadvice.el (advice-eval-interactive-spec): Avoid
`(lambda ...).

15 months agoHandle point not at EOB in minibuffer-choose-completion
Spencer Baugh [Mon, 24 Apr 2023 14:05:24 +0000 (10:05 -0400)]
Handle point not at EOB in minibuffer-choose-completion

Without this change, only the minibuffer contents before point are
cleared when a completion is chosen, which results in stray text when
point is in the middle of the minibuffer.

After this change, we heuristically decide either to clear the whole
buffer or only part of it, taking into account the location of point.

* lisp/minibuffer.el (minibuffer-completion-help): Use point when
calculating completion-base-affixes. (Bug#62700)

15 months ago; * src/lread.c (bytecode_from_rev_list): Avoid C++ comment.
Po Lu [Wed, 14 Jun 2023 05:54:53 +0000 (13:54 +0800)]
; * src/lread.c (bytecode_from_rev_list): Avoid C++ comment.

15 months agoImprove tree-sitter docs
Basil L. Contovounesios [Sun, 11 Jun 2023 14:19:28 +0000 (15:19 +0100)]
Improve tree-sitter docs

* doc/lispref/positions.texi (List Motion): Incorporate more
accurate description of treesit-defun-type-regexp from
'(elisp) Tree-sitter Major Modes', replacing that duplicate
entry (bug#64018).

* doc/lispref/parsing.texi (Parsing Program Source)
(Language Grammar, Using Parser, Retrieving Nodes)
(Accessing Node Information, Pattern Matching, Multiple Languages):
(Tree-sitter Major Modes):
* doc/lispref/modes.texi (Parser-based Font Lock): Improve wording,
grammar, punctuation, and markup.  Fix typos.
(Parser-based Indentation): Ditto.  Document indent rule presets
field-is, catch-all, nth-sibling, grand-parent, and
great-grand-parent.

* lisp/treesit.el (treesit-simple-indent-presets): Mention field-is,
catch-all, nth-sibling, grand-parent, great-grand-parent in
docstring.
(treesit-major-mode-setup, treesit-explore-mode): Improve
docstring/commentary grammar.

15 months agoFix some Texinfo markup in manuals
Basil L. Contovounesios [Mon, 12 Jun 2023 13:42:31 +0000 (14:42 +0100)]
Fix some Texinfo markup in manuals

* doc/emacs/macos.texi (Mac / GNUstep Customization):
* doc/lispintro/emacs-lisp-intro.texi (condition-case):
* doc/lispref/control.texi (pcase Macro):
* doc/lispref/debugging.texi (Internals of Debugger):
* doc/lispref/internals.texi (Building Emacs):
* doc/lispref/modes.texi (Imenu):
(Parser-based Font Lock, Parser-based Indentation):
* doc/lispref/parsing.texi (Retrieving Nodes, Tree-sitter C API):
* doc/lispref/processes.texi (Network, Bindat Types):
* doc/lispref/searching.texi (Rx Functions):
* doc/lispref/text.texi (Replacing):
* doc/lispref/windows.texi (Textual Scrolling):
* doc/misc/calc.texi (Killing From Stack, Customizing Calc):
* doc/misc/cc-mode.texi (Misc Font Locking, List Line-Up):
* doc/misc/ede.texi (ede-cpp-root-project)
(ede-proj-target-makefile, ede-sourcecode):
* doc/misc/ert.texi (Running Tests in Batch Mode):
* doc/misc/eudc.texi (Emacs-only Configuration, The Server Hotlist):
* doc/misc/eww.texi (Advanced):
* doc/misc/flymake.texi (Starting Flymake)
(Proc customization variables):
* doc/misc/tramp.texi (File name completion):
* doc/misc/gnus.texi (Summary Buffer Lines, Gnus Registry Setup)
(Fancy splitting to parent, Customizing the IMAP Connection)
(Mail Source Specifiers, Agent as Cache): Consistently mark up nil
and t as @code.  Also fix the markup and wording of some surrounding
text (bug#64016).

* doc/lispref/display.texi (SVG Images, Icons):
* doc/lispref/modes.texi (Customizing Keywords): Prefer ASCII
apostrophe over Unicode right single quotation mark.

15 months ago; * etc/NEWS: Backward compatibility with 'doc-view-svg-face'.
Eli Zaretskii [Tue, 13 Jun 2023 13:42:38 +0000 (16:42 +0300)]
; * etc/NEWS: Backward compatibility with 'doc-view-svg-face'.

15 months agoFix bol/bos anchors in tree-sitter :match regexps
Basil L. Contovounesios [Tue, 13 Jun 2023 12:45:08 +0000 (13:45 +0100)]
Fix bol/bos anchors in tree-sitter :match regexps

Further regexp fixes to follow separately (bug#64019#29).

* lisp/progmodes/c-ts-mode.el (c-ts-mode--font-lock-settings):
* lisp/progmodes/cmake-ts-mode.el
(cmake-ts-mode--font-lock-settings):
* lisp/progmodes/java-ts-mode.el (java-ts-mode--font-lock-settings):
* lisp/progmodes/js.el (js--treesit-font-lock-settings):
* lisp/progmodes/python.el (python--treesit-settings):
* lisp/progmodes/rust-ts-mode.el (rust-ts-mode--font-lock-settings):
* lisp/progmodes/sh-script.el (sh-mode--treesit-settings):
* lisp/progmodes/typescript-ts-mode.el
(typescript-ts-mode--font-lock-settings):
* test/src/treesit-tests.el (treesit-query-api): Anchor :match
regexps at beginning/end of string, not line.

15 months ago; * src/xdisp.c (syms_of_xdisp) <display-line-numbers>: Fix typo
Gregory Heytings [Tue, 13 Jun 2023 13:12:55 +0000 (13:12 +0000)]
; * src/xdisp.c (syms_of_xdisp) <display-line-numbers>: Fix typo

15 months agoReplace unneeded sprintfs with print
Robert Pluim [Mon, 5 Jun 2023 11:12:08 +0000 (13:12 +0200)]
Replace unneeded sprintfs with print

* admin/unidata/emoji-zwj.awk: Printing strings doesn't need sprintf,
so just use print and string concatenation.

15 months agoInsert timestamp when converting icalendar to org event
Robert Pluim [Tue, 13 Jun 2023 12:37:53 +0000 (14:37 +0200)]
Insert timestamp when converting icalendar to org event

* lisp/gnus/gnus-icalendar.el (gnus-icalendar--update-org-event):
Insert the timestamp even if the description is empty.  (Bug#64023)

15 months agoMove quoted lambda funarg check and expand coverage
Mattias Engdegård [Tue, 13 Jun 2023 12:08:11 +0000 (14:08 +0200)]
Move quoted lambda funarg check and expand coverage

* lisp/emacs-lisp/macroexp.el (macroexp--expand-all):
Move check for incorrectly quoted lambda arguments from here...
* lisp/emacs-lisp/bytecomp.el (byte-compile-form):
... to here, which should provide more detection opportunities.
Expand the set of functions for which this check is performed, now
also for some keyword arguments.

15 months ago; Fix last change in tex-mode.el
Eli Zaretskii [Tue, 13 Jun 2023 11:11:41 +0000 (14:11 +0300)]
; Fix last change in tex-mode.el

* lisp/textmodes/tex-mode.el (tex-cmd-doc-view): Remove the second
argument.  (Bug#63956)

15 months agoDon't feed the awk scripts into themselves
Robert Pluim [Mon, 5 Jun 2023 09:57:03 +0000 (11:57 +0200)]
Don't feed the awk scripts into themselves

* admin/unidata/Makefile.in (${unidir}/charscript.el,
${unidir}/emoji-zwj.el): Define variables for the required sources and
pass those to awk instead of $^, since the latter includes the awk
script itself.

15 months ago* lisp/subr.el (with-restriction): Tweak indent rule
Stefan Monnier [Tue, 13 Jun 2023 02:43:44 +0000 (22:43 -0400)]
* lisp/subr.el (with-restriction): Tweak indent rule

15 months ago* lisp/transient.el (transient--wrap-command): Use `letrec` and a closure
Stefan Monnier [Mon, 12 Jun 2023 17:25:08 +0000 (13:25 -0400)]
* lisp/transient.el (transient--wrap-command): Use `letrec` and a closure

15 months ago; Fix previous change
Robert Pluim [Mon, 12 Jun 2023 17:02:29 +0000 (19:02 +0200)]
; Fix previous change

* lisp/window.el (display-tex-shell-buffer-action): Fix default
value's type.  (Bug#63956)

15 months agoFix setting region in the minibuffer
Eli Zaretskii [Mon, 12 Jun 2023 15:47:04 +0000 (18:47 +0300)]
Fix setting region in the minibuffer

* lisp/minibuffer.el (minibuffer-beginning-of-buffer): Fix setting
region.  (Bug#64022)

15 months agoFix setting $DBUS_SESSION_BUS_ADDRESS after Emacs has started
Michael Albinus [Mon, 12 Jun 2023 10:45:38 +0000 (12:45 +0200)]
Fix setting $DBUS_SESSION_BUS_ADDRESS after Emacs has started

* doc/misc/dbus.texi (Alternative Buses): Explain using
$DBUS_SESSION_BUS_ADDRESS after Emacs has started.

* src/dbusbind.c (XD_DBUS_VALIDATE_BUS_ADDRESS): Use egetenv.

15 months ago; * lisp/emacs-lisp/macroexp.el (macroexp--expand-all): minor tweaks
Mattias Engdegård [Fri, 9 Jun 2023 08:10:49 +0000 (10:10 +0200)]
; * lisp/emacs-lisp/macroexp.el (macroexp--expand-all): minor tweaks

Don't lose `funcall` symbol position.  Remove outdated comment.

15 months agoDefine missing groups for ERC modules
F. Jason Park [Sat, 10 Jun 2023 06:34:58 +0000 (23:34 -0700)]
Define missing groups for ERC modules

* lisp/erc/erc-imenu.el (erc-imenu): Define group even though there
aren't any associated faces or user options because `imenu' is a
global module, and `define-erc-module' calls `define-minor-mode',
which needs a group for its mode variable.  This should have been
handled by bug#60954 but wasn't.
* lisp/erc/erc-sound.el (erc-sound): Move group definition above
module definition.
* lisp/erc/erc-spelling.el (erc-spelling): Define group.

15 months agoRevert "Add hook to regain nickname in ERC"
F. Jason Park [Fri, 9 Jun 2023 06:38:05 +0000 (23:38 -0700)]
Revert "Add hook to regain nickname in ERC"

This reverts commit 8c0c98268440b27a77faf30738dfd72c909bb33f.  The
functionality it introduced is likely being migrated to a
"regain"-specific local module to live in the library erc-services.el
alongside the existing `services' module.  Its scope will be expanded
to address common "regain" cases requiring NickServ.  This commit is
being reverted to prevent any confusion that might arise from users
encountering the old interface while the new one is being hashed out
on the tracker.

15 months agoDon't insert prompt input before markers in ERC
F. Jason Park [Sat, 10 Jun 2023 07:17:44 +0000 (00:17 -0700)]
Don't insert prompt input before markers in ERC

* etc/ERC-NEWS: Update entry in 5.6 section announcing a persistent
prompt.
* lisp/erc/erc-dcc.el (erc-dcc-chat-setup): Use helper
`erc--initialize-markers' to set up prompt.
* lisp/erc/erc.el (erc--initialize-markers): Change
`erc-insert-marker' type to t.  Do this to spare modules that want to
remember the current message location from resorting to workarounds,
like leaving a marker one char before the end of a message, which is
not foolproof.
(erc--refresh-prompt): Temporarily change type of `erc-insert-marker'
when inserting prompt.
(erc-display-line-1): Insert incoming message normally instead of
forcing before markers, thus respecting markers left by third parties.
Strictly speaking, this is a breaking change.
(erc-display-msg): Insert normally instead of calling
`insert-before-markers', which was a regression introduced by 05f6fdb9
"Preserve ERC prompt and its bounding markers".
* test/lisp/erc/erc-dcc-tests.el
(erc-dcc-tests--dcc-handle-ctcp-send,
erc-dcc-tests--erc-dcc-do-GET-command): Use helper to initialize
prompt and markers.
* test/lisp/erc/erc-networks-tests.el
(erc-networks--ensure-announced,
erc-networks--rename-server-buffer--existing--reuse,
erc-networks--rename-server-buffer--existing--noreuse,
erc-networks--rename-server-buffer--reconnecting,
erc-networks--rename-server-buffer--id,
erc-networks--rename-server-buffer--existing--live,
erc-networks--rename-server-buffer--local-match,
erc-networks--rename-server-buffer--local-nomatch): Use helper to
initialize prompt and bounding markers.
* test/lisp/erc/erc-stamp-tests.el (erc-stamp-tests--insert-right):
Use `erc--initialize-markers' for setting up prompt.
* test/lisp/erc/erc-tests.el (erc--refresh-prompt): Adjust assertions
for expected prompt content.  (Bug#60936)

15 months agoCement ordering of essential hook members in ERC
F. Jason Park [Mon, 5 Jun 2023 10:49:44 +0000 (03:49 -0700)]
Cement ordering of essential hook members in ERC

* etc/ERC-NEWS: Add new section explaining the pinning of certain hook
members owned by built-in modules to fixed depths.
* lisp/erc/erc-button.el (erc-button-mode, erc-button-enable): Change
hook depth for `erc-button-add-buttons' from 90 to 30.
* lisp/erc/erc-fill.el (erc-fill-mode, erc-fill-enable): Change hook
depth for `erc-fill' from 0 to 40.
* lisp/erc/erc-match.el (erc-match-mode, erc-match-enable): Change
hook depth for `erc-match-message' from 90 to 60.
* lisp/erc/erc-stamp.el (erc-stamp-mode, erc-stamp-enable): Change
hook depth for `erc-add-timestamp' from 90 to 50.
* test/lisp/erc/erc-tests.el
(erc-tests--assert-printed-in-subprocess): Add fixture for testing a
form printed from a subprocess.
(erc--find-mode, erc--essential-hook-ordering): Use helper in existing
and new tests, respectively.  (Bug#60936)

15 months agoMeasure stamps pixel-wise with erc-fill-wrap
F. Jason Park [Mon, 5 Jun 2023 09:35:53 +0000 (02:35 -0700)]
Measure stamps pixel-wise with erc-fill-wrap

* lisp/erc/erc-fill.el (erc-fill-wrap-mode, erc-fill-wrap-enable):
Change "how" for advice applied to `erc-stamp--insert-date-function'
from `:filter-args' to `:after'.
(erc-fill--wrap-stamp-insert-prefixed-date): Change signature to
conform to `:after'-style advice.  Use `buffer-text-pixel-size' when
desired and available for generating display spec.
(erc-fill-wrap): Remove confusing comment.  Don't apply text props to
newlines because there's no obvious use case for inheriting these.
* lisp/erc/erc.el (erc-send-action, erc-display-msg): Add
`erc-command' property (as "PRIVMSG") to inserted message, sans
newline, so that all inserted messages in an ERC buffer contain this
property.
* test/lisp/erc/resources/fill/snapshots/merge-01-start.eld: Update data.
* test/lisp/erc/resources/fill/snapshots/merge-02-right.eld: Update data.
* test/lisp/erc/resources/fill/snapshots/monospace-01-start.eld: Update.
* test/lisp/erc/resources/fill/snapshots/monospace-02-right.eld: Update.
* test/lisp/erc/resources/fill/snapshots/monospace-03-left.eld: Update.
* test/lisp/erc/resources/fill/snapshots/monospace-04-reset.eld: Update.
* test/lisp/erc/resources/fill/snapshots/spacing-01-mono.eld: Update.
(Bug#60936)

15 months agoAllow ERC modules to extend erc-nick-popup-alist
F. Jason Park [Mon, 19 Dec 2022 03:01:40 +0000 (19:01 -0800)]
Allow ERC modules to extend erc-nick-popup-alist

* etc/ERC-NEWS: Mention changes to `erc-button-alist' and superficial
changes to `erc-nick-popup-alist'.
* lisp/erc/erc-button.el (erc-nick-popup-alist): Change type to prefer
associating strings with functions instead of arbitrary sexps.
(erc-button-cmd-KICK, erc-button-cmd-MSG): New functions to serve as
interrogative wrappers for `erc-cmd-KICK' and `erc-cmd-MSG' in
`erc-nick-popup-alist'.  The first also fixes a bug in which all but
the first token of a given "reason" would be omitted from the
":trailing" portion of an outgoing "KICK" message.
(erc-button--nick-popup-alist): New variable to help built-in modules
expose special actions to `erc-nick-popup' without touching
`erc-nick-popup-alist'.
(erc-nick-popup): Present members from both `erc--nick-popup-alist'
and `erc-nick-popup-alist' to the invoking user.  Accommodate
functions as well as arbitrary sexps.  (bug#63569)

15 months agoDeprecate nicknames entry in erc-button-alist
F. Jason Park [Fri, 2 Jun 2023 05:07:03 +0000 (22:07 -0700)]
Deprecate nicknames entry in erc-button-alist

* lisp/erc/erc-button.el (erc-button-mode, erc-button-enable,
erc-button-disable): Restore running `erc-button-setup' on
`erc-mode-hook' and also do so immediately in all ERC buffers.
Do this instead of calling `erc-button--check-nicknames-entry.
(erc-button-buttonize-nicks): Mention that this option's value must be
non-nil for all but the most basic client functionality.
(erc-button-alist): Remove `nicknames' entry entirely.  Describe
deprecation, replacement behavior, and available escape hatches in doc
string.  Update and improve custom type definition, in particular, by
including long supported but never mentioned variants for the "REGEXP"
field.
(erc-button-keys-added): Deprecate because unused and misleading: keys
are bound during module init and remain so while module is enabled.
(erc-button--has-nickname-entry): New variable to indicate whether to
follow legacy code path when a `nicknames' entry exists in
`erc-button-alist'.
(erc-button-setup): Rewrite to provide warnings about deprecated
values for `erc-button-alist'.
(erc-button-nickname-callback-function): Add escape hatch for those
needing a custom callback for what was the default `nickname' entry in
`erc-button-alist'.
(erc-button-add-buttons): Always run `erc-button-add-nickname-buttons'
unless `erc-button--has-nickname-entry' is non-nil.
(erc-button--maybe-warn-arbitrary-sexp, erc-button--extract-form):
Rename former to latter and abstain from emitting a warning.
(erc-button--check-nicknames-entry): Remove unused function.
(erc-button-add-nickname-buttons): Defer to `erc-button--extract-form'
for determining value of third FORM slot of entry.
(erc-button-add-buttons-1): Call renamed version of
`erc-button--maybe-warn-arbitrary-sexp'.  (Bug#60933)

15 months agoAdd alias erc-buffer-do for erc-buffer-filter
F. Jason Park [Fri, 2 Jun 2023 05:07:03 +0000 (22:07 -0700)]
Add alias erc-buffer-do for erc-buffer-filter

* lisp/erc/erc-goodies.el (erc-scrolltobottom-enable,
erc-scrolltobottom-mode): Prefer `erc-buffer-do' to
`erc-buffer-filter'.
(erc-move-to-prompt-mode, erc-move-to-prompt-enable): Prefer
`erc-buffer-do' to `erc-buffer-filter'.
* lisp/erc/erc-imenu.el (erc-imenu-mode, erc-imenu-enable): Prefer
`erc-buffer-do' to `erc-buffer-filter'.
* lisp/erc/erc-match.el (erc-match-enable, erc-match-mode): Prefer
`erc-buffer-do' to `erc-buffer-filter'.
* lisp/erc/erc-stamp.el (erc-stamp-mode, erc-stamp-enable): Prefer
`erc-buffer-do' to `erc-buffer-filter'.
* lisp/erc/erc.el (erc-buffer-filter): Improve doc string.
(erc-buffer-do): Add alias for new code to prefer when calling
`erc-buffer-filter' for effect.  Do this because continually having to
refer back to the doc strings and implementations of the latter as
well as `erc-buffer-p', `erc-buffer-list', and co. is unproductive.
(erc-buffer-list): Use `always' as fallback predicate.

15 months ago; * lisp/erc/erc.el (erc-send-input-line-function): Doc.
F. Jason Park [Sat, 10 Jun 2023 03:40:59 +0000 (20:40 -0700)]
; * lisp/erc/erc.el (erc-send-input-line-function): Doc.

15 months ago; * doc/misc/erc.texi: Fix reconnecting in SOCKS example.
F. Jason Park [Thu, 8 Jun 2023 07:40:02 +0000 (00:40 -0700)]
; * doc/misc/erc.texi: Fix reconnecting in SOCKS example.

15 months agoPrefer emacs-news-mode in etc/ERC-NEWS
F. Jason Park [Fri, 2 Jun 2023 06:18:56 +0000 (23:18 -0700)]
Prefer emacs-news-mode in etc/ERC-NEWS

* etc/ERC-NEWS: Remove `outline' from prop line and prefer
`emacs-news-mode' in local variables list.
* lisp/erc/erc.el (erc-news): Overwrite cached file and ask before
re-fetching.

15 months agoAdapt emba integration
Michael Albinus [Sun, 11 Jun 2023 18:34:11 +0000 (20:34 +0200)]
Adapt emba integration

* test/infra/Makefile.in (subdir_template): Special handling of lib-src.

* test/infra/test-jobs.yml: Regenerate.

15 months agoFix tramp-sshfs
Michael Albinus [Sun, 11 Jun 2023 18:33:34 +0000 (20:33 +0200)]
Fix tramp-sshfs

* lisp/net/tramp-fuse.el (tramp-fuse-handle-file-exists-p): New defun.
(tramp-fuse-mount-timeout): Move up.
(tramp-fuse-mount-point): Use `tramp-fuse-mount-timeout'.
(tramp-fuse-unmount): Flush "mount-point" file property.

* lisp/net/tramp-sshfs.el (tramp-sshfs-file-name-handler-alist):
Use `tramp-fuse-handle-file-exists-p'.

* test/lisp/net/tramp-tests.el (all): Use function read syntax
where appropriate.
(tramp-test39-detect-external-change): Let-bind
`read-from-minibuffer' instead of `yes-or-no-p'.

15 months agoFix tex-mode display-buffer issues
Eli Zaretskii [Sun, 11 Jun 2023 06:15:01 +0000 (09:15 +0300)]
Fix tex-mode display-buffer issues

* lisp/window.el (display-tex-shell-buffer-action): New defcustom.
* lisp/textmodes/tex-mode.el (tex-display-shell)
(tex-cmd-doc-view, tex-recenter-output-buffer): Use it.
(Bug#63956)

15 months agoAdd test for when 'completion-auto-help' is 'visible'
Morgan Smith [Tue, 6 Jun 2023 19:02:57 +0000 (15:02 -0400)]
Add test for when 'completion-auto-help' is 'visible'

* test/lisp/minibuffer-tests.el (completion-auto-help-test): Add
test for when 'completion-auto-help' is 'visible'.  Also test
for successful completion message.  (Bug#63913)

15 months agoAvoid errors in 'apropos-documentation' after 'eval-buffer'
Eli Zaretskii [Sat, 10 Jun 2023 17:48:21 +0000 (20:48 +0300)]
Avoid errors in 'apropos-documentation' after 'eval-buffer'

* lisp/apropos.el (apropos--map-preloaded-atoms): Support the case
where an element of 'load-history' has nil as its car.  (Bug#63881)

15 months ago; * doc/emacs/indent.texi (Indentation Commands): Fix last change.
Eli Zaretskii [Sat, 10 Jun 2023 11:16:22 +0000 (14:16 +0300)]
; * doc/emacs/indent.texi (Indentation Commands): Fix last change.

15 months agoMention indent-rigidly in the Emacs manual
Daniel Martín [Sat, 10 Jun 2023 10:36:53 +0000 (12:36 +0200)]
Mention indent-rigidly in the Emacs manual

* doc/emacs/indent.texi (Indentation Commands): Rewrite the first
sentence of 'C-x TAB' to mention the command that it executes, and
without using passive voice.  (Bug#63997)

15 months agoMerge from origin/emacs-29
Eli Zaretskii [Sat, 10 Jun 2023 10:42:43 +0000 (06:42 -0400)]
Merge from origin/emacs-29

0d8b69e0ad3 Don't ding when completion succeeded
f11e2d36999 ; * admin/git-bisect-start: Update failing commits
9855a3ea744 ; * src/xdisp.c (redisplay_tool_bar): Fix a typo in a com...
f4ee696b887 Improve documentation of color-related functions
90eadc3e234 Revert "* package.el (package--get-activatable-pkg): Pref...
65f355ea0a3 ; Update my mail address
a3a69ec2342 Fix connection-local user options handling (bug#63300)
240803cc3e1 Document 'startup-redirect-eln-cache'
026afb22984 ; * etc/PROBLEMS: Entry about crashes due to anti-virus (...
bcc222251e1 Fix `emacs-lisp-native-compile-and-load' for C-h f (bug#5...
07c8211ca30 Add 'infer' as a keyword to typescript-ts-mode (bug#63880)
dd2d8ff2f5c ; * etc/NEWS: Mention the issue with PGTK on WSL (bug#633...
fa8135f8916 Revert changes to the order in which package descs are lo...
27fcfa2c0a7 ; * etc/NEWS: Improve instructions for grammar libraries.
2a84ab905c8 Handle point in last file-name component in minibuffer co...
05f25238b7b Merge branch 'emacs-29' of git.savannah.gnu.org:/srv/git/...
4bc043ff45d Avoid asking redundant question in emacsbug.el
2eadf328d05 * test/infra/Dockerfile.emba (emacs-base): Don't install ...
583ba1db7ee typescript-ts-mode: Add a rule for function_signature

# Conflicts:
# etc/NEWS
# lisp/minibuffer.el

15 months ago; Merge from origin/emacs-29
Eli Zaretskii [Sat, 10 Jun 2023 10:36:58 +0000 (06:36 -0400)]
; Merge from origin/emacs-29

The following commit was skipped:

a3459a28e41 * admin/unidata/emoji-zwj.awk: Avoid sprint buffer overflow

15 months agoDon't ding when completion succeeded
Morgan Smith [Mon, 5 Jun 2023 17:34:59 +0000 (13:34 -0400)]
Don't ding when completion succeeded

* lisp/minibuffer.el (minibuffer-completion-help): Ensure 'ding'
is not called on a successful completion.  Ensure 'ding' is not
called on a failure if 'completion-fail-discreetly' is set.
Also change "No completions" to "No match" as that is what is
used elsewhere.  (Bug#63913)

15 months ago; * admin/git-bisect-start: Update failing commits
Gregory Heytings [Sat, 10 Jun 2023 08:50:47 +0000 (08:50 +0000)]
; * admin/git-bisect-start: Update failing commits

15 months agoAvoid infinite recursion in 'window_wants_header_line'
Eli Zaretskii [Sat, 10 Jun 2023 08:48:37 +0000 (11:48 +0300)]
Avoid infinite recursion in 'window_wants_header_line'

* src/window.c (null_header_line_format): Avoid infinite
recursion by disallowing :eval on recursive calls.
(Bug#63988)

15 months ago; * src/xdisp.c (redisplay_tool_bar): Fix a typo in a comment.
Eli Zaretskii [Fri, 9 Jun 2023 16:19:07 +0000 (19:19 +0300)]
; * src/xdisp.c (redisplay_tool_bar): Fix a typo in a comment.

15 months agoImprove documentation of color-related functions
Eli Zaretskii [Fri, 9 Jun 2023 07:28:36 +0000 (10:28 +0300)]
Improve documentation of color-related functions

* doc/lispref/frames.texi (Color Names): Document
'color-name-to-rgb' and 'color-dark-p'.

15 months ago; Eglot: simplify last change to eglot-unregister-capability
João Távora [Fri, 9 Jun 2023 01:11:38 +0000 (02:11 +0100)]
; Eglot: simplify last change to eglot-unregister-capability

* lisp/progmodes/eglot.el (eglot-unregister-capability): Simplify.

15 months ago; fix important-return-value-fns mistake
Mattias Engdegård [Thu, 8 Jun 2023 11:05:13 +0000 (13:05 +0200)]
; fix important-return-value-fns mistake

* lisp/emacs-lisp/bytecomp.el (important-return-value-fns):
Remove assoc-string; it's already side-effect-free.

15 months agoRemove special fset byte-compilation warning
Mattias Engdegård [Thu, 8 Jun 2023 09:50:44 +0000 (11:50 +0200)]
Remove special fset byte-compilation warning

* lisp/emacs-lisp/bytecomp.el (fset, byte-compile-fset):
Remove special warning for fset, subsumed by the more general quoted
lambda funarg warning.

15 months agoEglot: also add watches for newly created directories
João Távora [Thu, 8 Jun 2023 12:12:49 +0000 (13:12 +0100)]
Eglot: also add watches for newly created directories

GitHub-reference: https://github.com/joaotavora/eglot/pull/1228
GitHub-reference: https://github.com/joaotavora/eglot/discussions/1226

* lisp/progmodes/eglot.el (eglot-register-capability): Rework.

Suggested by: https://github.com/thejeffphil

15 months agoEglot: try reuse file watchers when server over-watches
João Távora [Thu, 8 Jun 2023 01:19:06 +0000 (02:19 +0100)]
Eglot: try reuse file watchers when server over-watches

GitHub-reference: https://github.com/joaotavora/eglot/pull/1228
GitHub-reference: https://github.com/joaotavora/eglot/discussions/1226

The Pyright language server issues very heavy file watching requests,
which sometimes exceed the OS limit.  Most of these file watches are
useless, but Pyright insists on issuing them.

What's more, for some (absurd?) reason, Pyright issues two file
watching requests for the _same_ directories, only to then almost
immediately ask to undo the effects of one of these requests.

This change to Eglot makes it so that if a single server requests to
watch a specific directory twice, only one file watch object is used.

Suggested by: https://github.com/thejeffphil

* lisp/progmodes/eglot.el (eglot-lsp-server): Change structure of
file-watches field.
(eglot--on-shutdown): Adapt to new structure.
(eglot-register-capability): Rework.
(eglot-unregister-capability): Rework.

* etc/EGLOT-NEWS: Mention change

15 months agoSupport files compressed by 'pigz'
Amritpal Singh [Fri, 2 Jun 2023 05:21:21 +0000 (10:51 +0530)]
Support files compressed by 'pigz'

* src/decompress.c (md5_gz_stream): Check 'stream.avail_in' as
well.  (Bug#63832)

Copyright-paperwork-exempt: yes

15 months agoRevert "* package.el (package--get-activatable-pkg): Prefer source packages"
Eli Zaretskii [Thu, 8 Jun 2023 09:23:11 +0000 (12:23 +0300)]
Revert "* package.el (package--get-activatable-pkg): Prefer source packages"

This reverts commit fb87d5008e21d1bc03547c1edf2280fb4cb8311e.
It caused problems when new versions of packages are installed
without deleting old versions.  (Bug#63757)

15 months ago; Update my mail address
Andrea Corallo [Thu, 8 Jun 2023 08:59:41 +0000 (10:59 +0200)]
; Update my mail address

* lisp/emacs-lisp/comp-cstr.el: Update author mail.
* lisp/emacs-lisp/comp.el: Likewise.
* src/comp.c: Likewise.
* test/lisp/emacs-lisp/comp-cstr-tests.el: Likewise.
* test/src/comp-resources/comp-test-funcs-dyn.el: Likewise.
* test/src/comp-resources/comp-test-funcs.el: Likewise.
* test/src/comp-resources/comp-test-pure.el: Likewise.
* test/src/comp-tests.el: Likewise.

15 months agoFix connection-local user options handling (bug#63300)
Michael Albinus [Thu, 8 Jun 2023 07:59:06 +0000 (09:59 +0200)]
Fix connection-local user options handling (bug#63300)

* lisp/files-x.el (connection-local-set-profiles)
(connection-local-set-profile-variables): Avoid saving the changed
user option to file unless triggered explicitly by user.  (Bug#63300)

15 months agoDocument 'startup-redirect-eln-cache'
Eli Zaretskii [Thu, 8 Jun 2023 05:50:54 +0000 (08:50 +0300)]
Document 'startup-redirect-eln-cache'

* doc/lispref/compile.texi (Native Compilation)
(Native-Compilation Functions): Document
'startup-redirect-eln-cache'.

* etc/PROBLEMS: Fix last change.
* etc/NEWS: Mark 'startup-redirect-eln-cache' as documented.

15 months ago; * etc/PROBLEMS: Entry about crashes due to anti-virus (bug#57880).
Eli Zaretskii [Thu, 8 Jun 2023 05:30:18 +0000 (08:30 +0300)]
; * etc/PROBLEMS: Entry about crashes due to anti-virus (bug#57880).

15 months agoUpdate from Gnulib by running admin/merge-gnulib
Paul Eggert [Wed, 7 Jun 2023 19:00:15 +0000 (12:00 -0700)]
Update from Gnulib by running admin/merge-gnulib

15 months agoMerge from verilog-mode upstream.
Wilson Snyder [Wed, 7 Jun 2023 01:46:19 +0000 (21:46 -0400)]
Merge from verilog-mode upstream.

* lisp/progmodes/verilog-mode.el (verilog-read-decls): Fix parsing "@ (* )" (#1829).
(verilog-indent-ignore-p): Fix indent of comments being
wrongly detected as multiline defines.  Reported by Gonzalo Larumbe
<gonzalomlarumbe@gmail.com>.
(verilog-pos-at-end-of-statement): Fix minor bug in
`verilog-pos-at-end-of-statement' assuming `verilog-end-of-statement`.
Reported by Gonzalo Larumbe <gonzalomlarumbe@gmail.com>.
(verilog-in-generate-region-p):
Fix indentation of generate blocks omitting keyword.
Reported by Gonzalo Larumbe <gonzalomlarumbe@gmail.com>.

15 months ago; * src/window.c (window_wants_header_line): Shut up bogus GCC warning.
Eli Zaretskii [Tue, 6 Jun 2023 18:27:27 +0000 (21:27 +0300)]
; * src/window.c (window_wants_header_line): Shut up bogus GCC warning.

15 months ago; Fix coding style in just installed change
Po Lu [Tue, 6 Jun 2023 13:05:13 +0000 (21:05 +0800)]
; Fix coding style in just installed change

* src/window.c (window_wants_header_line): Fix whitespace.

15 months agoFix problems resulting from modification of the undo list
Po Lu [Tue, 6 Jun 2023 13:00:44 +0000 (21:00 +0800)]
Fix problems resulting from modification of the undo list

* doc/lispref/text.texi (Atomic Changes): Describe what not to
do inside an atomic change group.
* lisp/elec-pair.el (electric-pair-inhibit-if-helps-balance):
Don't call `delete-char'; that edits the undo list by removing
boundary markers.
* lisp/subr.el (atomic-change-group, prepare-change-group): Warn
against modifying the undo list inside.

15 months ago; Fix last change
Eli Zaretskii [Tue, 6 Jun 2023 12:15:34 +0000 (15:15 +0300)]
; Fix last change

* src/window.c (window_wants_header_line): Fix whitespace and
commentary in last change.  (Bug#63825)

15 months agoAvoid header line with some empty non-nil formats
Eshel Yaron [Sun, 4 Jun 2023 16:41:20 +0000 (19:41 +0300)]
Avoid header line with some empty non-nil formats

Allow the value of 'header-line-format' to indicate that no header
line should be displayed when it trivially yields 'nil', even if it is
not plain 'nil'.  Previously, any non-nil 'header-line-format'
resulted in a (possibly empty) header line.  This change adds some
flexibility by also taking a non-nil value of 'header-line-format' to
mean that no header line should be displayed if it's a list whose
'car' is a symbol and either that symbol is ':eval' and the second
list element evaluates to 'nil', or the symbol's value as a variable
is 'nil' or void.
(Bug#63825)

* src/xdisp.c (safe_eval_inhibit_quit): New function.
* src/lisp.h (safe_eval_inhibit_quit): Declare it.
* src/window.c (null_header_line_format): New function.
(window_wants_header_line): Use it.

* doc/lispref/modes.texi (Header Line): Update to reflect new
conditions for displaying a window's header line.

* etc/NEWS: Announce updated treatment of 'header-line-format'.

15 months agoeval-command-interactive-spec: Shorten code
Sean Whitton [Tue, 6 Jun 2023 11:15:25 +0000 (12:15 +0100)]
eval-command-interactive-spec: Shorten code

* lisp/emacs-lisp/subr-x.el (eval-command-interactive-spec): Don't
reimplement checking for an 'interactive-form symbol property.
`interactive-form' already does this.  Thanks to Stefan Monnier.

15 months agoFix `emacs-lisp-native-compile-and-load' for C-h f (bug#58314)
Andrea Corallo [Tue, 6 Jun 2023 09:27:13 +0000 (11:27 +0200)]
Fix `emacs-lisp-native-compile-and-load' for C-h f (bug#58314)

* lisp/emacs-lisp/comp.el (comp-write-bytecode-file): New function
spilling code from `batch-byte+native-compile'.
(batch-byte+native-compile): Make use of.
* lisp/progmodes/elisp-mode.el
(emacs-lisp-native-compile-and-load): Produce the elc file and ask
to have it loaded.

15 months agoAdd 'infer' as a keyword to typescript-ts-mode (bug#63880)
Theodor Thornhill [Tue, 6 Jun 2023 04:26:43 +0000 (06:26 +0200)]
Add 'infer' as a keyword to typescript-ts-mode (bug#63880)

* lisp/progmodes/typescript-ts-mode.el (typescript-ts-mode--keywords):
New keyword.

15 months agoImprove tree-sitter tests on emba
Michael Albinus [Mon, 5 Jun 2023 15:16:46 +0000 (17:16 +0200)]
Improve tree-sitter tests on emba

* test/infra/Dockerfile.emba (emacs-tree-sitter): Install further
grammars.

* test/infra/Makefile.in (subdir_template): Special handling of src.
(TREE-SITTER-FILES): Add treesit-tests.el.

* test/infra/test-jobs.yml: Regenerate.

15 months agoFix bug with point-adjustment after M-x COMMAND
Eli Zaretskii [Mon, 5 Jun 2023 12:57:05 +0000 (15:57 +0300)]
Fix bug with point-adjustment after M-x COMMAND

* src/keyboard.c (command_loop_1): Preserve 'last_point_position'
across command execution, to avoid bugs in
'adjust_point_for_property' if the command invokes
'recursive-edit'.  Reported by Mats Lidell <matsl@gnu.org>.

15 months ago; * etc/NEWS: Mention the issue with PGTK on WSL (bug#63384).
Eli Zaretskii [Mon, 5 Jun 2023 11:50:00 +0000 (14:50 +0300)]
; * etc/NEWS: Mention the issue with PGTK on WSL (bug#63384).

15 months agoAdapt emba integration
Michael Albinus [Mon, 5 Jun 2023 11:29:21 +0000 (13:29 +0200)]
Adapt emba integration

* test/infra/Dockerfile.emba (emacs-tree-sitter):
Use "/root/.emacs.d/tree-sitter" instead of "/usr/local/lib/tree-sitter".

* test/infra/gitlab-ci.yml (.job-template): Run "/bin/bash -xvc".
(test-eglot): Revert last change, it doesn't work yet.
(test-tree-sitter): Set TEST_HOME instead of LD_LIBRARY_PATH.

15 months ago* subr-x (eval-command-interactive-spec): New function.
Sean Whitton [Sun, 15 Jan 2023 17:57:30 +0000 (10:57 -0700)]
* subr-x (eval-command-interactive-spec): New function.