emacs.git
13 months agoUpdate 'xref-num-matches-found' when reverting *xref* buffer
Eshel Yaron [Mon, 11 Nov 2024 18:45:10 +0000 (19:45 +0100)]
Update 'xref-num-matches-found' when reverting *xref* buffer

* lisp/progmodes/xref.el (xref--insert-xrefs):
Update 'xref-num-matches-found' here...
(xref--show-xref-buffer): ...instead of here (bug#74313).

13 months ago* lisp/files.el (require-with-check): Fix last fix (bug#74289)
Stefan Monnier [Wed, 13 Nov 2024 16:39:05 +0000 (11:39 -0500)]
* lisp/files.el (require-with-check): Fix last fix (bug#74289)

13 months agolisp/files.el (require-with-check): Fix bug#74091.
Stefan Monnier [Sun, 10 Nov 2024 21:50:36 +0000 (16:50 -0500)]
lisp/files.el (require-with-check): Fix bug#74091.

13 months agoFix handling of permanent-local variables in 'kill-all-local-variables'
Eli Zaretskii [Sun, 10 Nov 2024 18:49:45 +0000 (20:49 +0200)]
Fix handling of permanent-local variables in 'kill-all-local-variables'

The original implementation went too far and caused unexpected
results.
* src/buffer.c (reset_buffer_local_variables): Second argument is
now 'int', and can be 0, 1, or 2.
(Fkill_all_local_variables): Call 'reset_buffer_local_variables'
with 2nd argument 2 if KILL-PERMANENT is non-nil.  (Bug#74091)

13 months agoPrecise password cache in Tramp
Michael Albinus [Sun, 10 Nov 2024 11:35:15 +0000 (12:35 +0100)]
Precise password cache in Tramp

* doc/misc/tramp.texi (Password handling):
Describe auth-source-cache-expiry and auth-source-do-cache instead
of password-cache-expiry and password-cache.  (Bug#74105)

* lisp/net/tramp.el (tramp-read-passwd): Check for `auth-sources'
being non-nil.

13 months agoFix picture-mode with full-width characters
Eli Zaretskii [Sun, 10 Nov 2024 09:48:34 +0000 (11:48 +0200)]
Fix picture-mode with full-width characters

* lisp/textmodes/picture.el (picture-insert): Don't rely on
'move-to-column' to move to the column that is its argument: this
might be false when full-width characters are involved.

13 months agoFix movement to the left in picture-mode
Eli Zaretskii [Sun, 10 Nov 2024 08:56:40 +0000 (10:56 +0200)]
Fix movement to the left in picture-mode

* lisp/textmodes/picture.el (picture-insert): Measure width by
counting columns on display, not by using 'string-width', because
the latter is inaccurate when TABs are involved.  (Bug#74255)

13 months agoFix documentation and error message of adding local variables
Eli Zaretskii [Sat, 9 Nov 2024 12:02:06 +0000 (14:02 +0200)]
Fix documentation and error message of adding local variables

* lisp/files-x.el (add-file-local-variable)
(add-file-local-variable-prop-line): Doc fixes.
(add-file-local-variable): Improve the user-error text.  (Bug#74267)

13 months agoDocument the 'display-line-numbers-disable' property
Eli Zaretskii [Sat, 9 Nov 2024 11:33:21 +0000 (13:33 +0200)]
Document the 'display-line-numbers-disable' property

* doc/lispref/display.texi (Overlay Properties):
* doc/lispref/text.texi (Special Properties): Document
'display-line-numbers-disable'.  Fix indexing.

13 months agoDocument issues with 'use-package's ':custom' and byte compilation
Eli Zaretskii [Sat, 9 Nov 2024 09:55:49 +0000 (11:55 +0200)]
Document issues with 'use-package's ':custom' and byte compilation

* doc/misc/use-package.texi (User options): Warn against
byte-compiling init files that use ':custom'.  (Bug#73609)

13 months ago; * src/ftcrfont.c (ftcrhbfont_end_hb_font): Improve commentary (bug#73752).
Eli Zaretskii [Fri, 8 Nov 2024 08:03:35 +0000 (10:03 +0200)]
; * src/ftcrfont.c (ftcrhbfont_end_hb_font): Improve commentary (bug#73752).

13 months agoFix display of compositions when font style changes (Cairo backend)
Tim Ruffing [Thu, 7 Nov 2024 02:09:09 +0000 (03:09 +0100)]
Fix display of compositions when font style changes (Cairo backend)

* src/ftcrfont.c (ftcrhbfont_end_hb_font): Don't persist the
result of 'cairo_ft_scaled_font_lock_face' in violation of the
API contract.  (Bug#73752)

13 months ago; * src/xdisp.c (face_before_or_after_it_pos): Fix thinko (bug#74241).
Eli Zaretskii [Thu, 7 Nov 2024 17:34:43 +0000 (19:34 +0200)]
; * src/xdisp.c (face_before_or_after_it_pos): Fix thinko (bug#74241).

13 months agoFix wrong value of `when` and `unless` with empty body (bug#74215)
Mattias Engdegård [Wed, 6 Nov 2024 12:29:23 +0000 (13:29 +0100)]
Fix wrong value of `when` and `unless` with empty body (bug#74215)

* lisp/subr.el (when, unless): Return nil when the body is empty.
Reported by Brennan Vincent.
* test/lisp/subr-tests.el (subr-test-when): Add test cases.

(cherry picked from commit 9ee9154247454c18f9f75d0d32592b817d7e977a)

13 months agoImprove 'open-network-stream' documentation.
Robert Pluim [Tue, 5 Nov 2024 12:51:21 +0000 (13:51 +0100)]
Improve 'open-network-stream' documentation.

* doc/lispref/processes.texi (Network): Correct explanation of
':warn-unless-encrypted'.  Document ':error' return keyword.
* lisp/net/network-stream.el (open-network-stream): Improve
':return-list' documentation.  Document ':error'.  Correct
explanation of ':warn-unless-encrypted'.

13 months ago; Fix typos in case-conversion descriptions
Robert Pluim [Tue, 5 Nov 2024 11:33:49 +0000 (12:33 +0100)]
; Fix typos in case-conversion descriptions

* doc/lispref/nonascii.texi (Character Properties): Fix typos.
* doc/lispref/strings.texi (Case Conversion): Fix typos.
(Case Tables): Fix typos.

13 months ago; Fix typo and indexing in the ELisp manual
Eli Zaretskii [Mon, 4 Nov 2024 19:34:25 +0000 (21:34 +0200)]
; Fix typo and indexing in the ELisp manual

* doc/lispref/display.texi (Image Descriptors): Fix typo and indexing.
(Defining Images): Fix indexing.

13 months ago; Instrument proced-tests.el further
Michael Albinus [Mon, 4 Nov 2024 13:24:21 +0000 (14:24 +0100)]
; Instrument proced-tests.el further

* test/lisp/proced-tests.el
(proced--assert-process-valid-cpu-refinement): Explain also Lisp errors.

13 months agoImprove Tramp documentation on direct async processes
Michael Albinus [Sun, 3 Nov 2024 14:48:19 +0000 (15:48 +0100)]
Improve Tramp documentation on direct async processes

* doc/misc/tramp.texi (Remote processes): Add another example
enabling direct async processes based on method name.  (Bug#74105)

* etc/NEWS: Rephrase Tramp entry on direct async processes.

13 months agoImprove documentation of letter-case conversions
Eli Zaretskii [Fri, 1 Nov 2024 14:39:39 +0000 (16:39 +0200)]
Improve documentation of letter-case conversions

* doc/lispref/nonascii.texi (Character Properties):
* doc/lispref/strings.texi (Case Conversion, Case Tables):
Document that special-casing rules override the case-table
conversions.  (Bug#74155)

13 months agoproject-tests: Add test assertion for bug#73801
Dmitry Gutov [Fri, 1 Nov 2024 00:32:10 +0000 (02:32 +0200)]
project-tests: Add test assertion for bug#73801

* test/lisp/progmodes/project-tests.el
(project-vc-extra-root-markers-supports-wildcards): End with a
check that we didn't cache a wrong value for parent (bug#73801).

(cherry picked from commit 94a9e40e82d4180563d7bddfa0cc6c8990824f8d)

13 months agoproject-try-vc: Fix the "sometimes wrong cache" issue
Dmitry Gutov [Mon, 28 Oct 2024 03:53:16 +0000 (05:53 +0200)]
project-try-vc: Fix the "sometimes wrong cache" issue

* lisp/progmodes/project.el (project-try-vc--search):
Extract from 'project-try-vc'.
(project-try-vc): Use it.
(project-try-vc--search): Call itself recursively directly, to
avoid creating invalid cache entry (bug#73801).

(cherry picked from commit 29b30eb49f8bd8bad4f9e24dd56f32d62bf70121)

13 months agoFix bugs in dabbrev-expand (bug#74090)
Stephen Berman [Thu, 31 Oct 2024 09:46:27 +0000 (10:46 +0100)]
Fix bugs in dabbrev-expand (bug#74090)

* lisp/dabbrev.el (dabbrev-expand): Use the buffer where the
expansion was found when setting the internal variables used to
determine the next expansion or a replacement expansion.

* test/lisp/dabbrev-tests.el (ert-x): Require for
'ert-with-temp-directory', 'ert-resource-directory' and
'ert-resource-file'.
(with-dabbrev-test): New macro.
(dabbrev-expand-test-same-buffer-{1,2,3,4})
(dabbrev-expand-test-other-buffer-{1,2,3,4})
(dabbrev-expand-test-minibuffer-{1,2,3,4}): New tests.

* test/lisp/dabbrev-resources/dabbrev-expand.el:
* test/lisp/dabbrev-resources/INSTALL_BEGIN: New test resources.

(cherry picked from commit f6c359cb66a0e9b851e3467b1ba9cab7efa8f744)

13 months agoFix undefined variable in previous commit (bug#73900)
Yuan Fu [Thu, 31 Oct 2024 01:18:50 +0000 (18:18 -0700)]
Fix undefined variable in previous commit (bug#73900)

I somehow thought allow-auto-fill is a global variable that's
used by cc.  But it's not.  It's just a function param used by
c-indent-new-comment-line.

* lisp/progmodes/c-ts-common.el:
(c-ts-common-comment-indent-new-line): Remove reference to
allow-auto-fill.

13 months agoFix c-ts-common-comment-indent-new-line (bug#73900)
Yuan Fu [Tue, 29 Oct 2024 07:27:34 +0000 (00:27 -0700)]
Fix c-ts-common-comment-indent-new-line (bug#73900)

* lisp/progmodes/c-ts-common.el:
(c-ts-common-comment-indent-new-line): Delete trailing
whitespace before inserting newline.  The insert-line-break
function is the same as in c-indent-new-comment-line.

13 months agoFix the call to treesit-thing-defined-p
Yuan Fu [Tue, 29 Oct 2024 02:30:52 +0000 (19:30 -0700)]
Fix the call to treesit-thing-defined-p

* lisp/treesit.el (treesit-defun-at-point): Add the necessary
2nd argument.

13 months agoBackport: Call tab-bar-tab-post-open-functions during tabs initialization
Juri Linkov [Wed, 30 Oct 2024 18:32:28 +0000 (20:32 +0200)]
Backport: Call tab-bar-tab-post-open-functions during tabs initialization

* lisp/tab-bar.el (tab-bar-tabs): Run the hook
'tab-bar-tab-post-open-functions' after creating the first tab
in the selected frame's tab-bar list of tabs (bug#74087).
Suggested by Ship Mints <shipmints@gmail.com>.

(cherry picked from commit 2c062dfdf50970766db179ccbad7ce71c541cd72)

13 months agoWork on proced-tests.el
Laurence Warne [Wed, 30 Oct 2024 14:12:13 +0000 (15:12 +0100)]
Work on proced-tests.el

* test/lisp/proced-tests.el
(proced--assert-process-valid-cpu-refinement-explainer): New function
for explaining refinement test failures in greater detail.

13 months ago; * doc/lispref/frames.texi (Yanking Media): Add index entry.
Eli Zaretskii [Tue, 29 Oct 2024 14:27:51 +0000 (16:27 +0200)]
; * doc/lispref/frames.texi (Yanking Media): Add index entry.

13 months ago* lisp/files.el (require-with-check): Be a bit more lenient (bug74040)
Stefan Monnier [Tue, 29 Oct 2024 02:40:15 +0000 (22:40 -0400)]
* lisp/files.el (require-with-check): Be a bit more lenient (bug74040)

13 months ago(with-peg-rules): Fix references to rulesets (bug#74018)
Stefan Monnier [Tue, 29 Oct 2024 02:14:10 +0000 (22:14 -0400)]
(with-peg-rules): Fix references to rulesets (bug#74018)

PEG rules get "compiled" to functions with name `peg-rule <RULE>`.
`define-peg-ruleset` instead defines it PEG rules with name
`peg-rule <RULESET> <RULE>`, so that they can be made visible
by `with-peg-rules` simply by adding local aliases from
`peg-rule <RULE>` to `peg-rule <RULESET> <RULE>`.

Apparently when I added `define-peg-ruleset` I somehow failed to
install some of the corresponding code in `with-peg-rules`, so
the aliases were not installed, making it "impossible" to use
rulesets.
[ I still have no idea how this happened and/or where
  the missing code went, so I "recreated" it.  ]

* lisp/progmodes/peg.el (with-peg-rules): Install the aliases
for the rulesets.
(peg--translate-rule-body): Try and preserve
location info when emitting a warning.

* test/lisp/progmodes/peg-tests.el (peg-test-myrules): New ruleset.
(peg-test-ruleset): New test.

13 months ago; * etc/NEWS: Fix typo (bug#74066).
Eli Zaretskii [Mon, 28 Oct 2024 19:11:50 +0000 (21:11 +0200)]
; * etc/NEWS: Fix typo (bug#74066).

13 months agoTweak doc w.r.t to "void function" (bug#73886)
Stefan Monnier [Sun, 27 Oct 2024 18:52:25 +0000 (14:52 -0400)]
Tweak doc w.r.t to "void function" (bug#73886)

* doc/lispref/functions.texi (Function Cells): Avoid talking
about the function cell being void.

* src/data.c (Fboundp, Ffmakunbound, Fsymbol_function):
Don't suggest that "void" can be considered as a kind of value.

13 months agoFix flakey proced refine tests (Bug#73441)
Laurence Warne [Sun, 27 Oct 2024 15:50:20 +0000 (16:50 +0100)]
Fix flakey proced refine tests (Bug#73441)

* test/lisp/proced-tests.el (proced-refine-test)
(proced-refine-with-update-test): Use the much simpler CPU refinement
for testing 'proced-refine'.  The previous tests made the incorrect
assumption that refining on the PID of process A only filtered the
buffer to contain process A and its children, whereas in actuality
the children of process A's children, their children, and so on will
also be shown.
(proced-update-preserves-pid-at-point-test): Mark as unstable.

13 months agoAnother 'void' update
Eli Zaretskii [Sun, 27 Oct 2024 14:07:08 +0000 (16:07 +0200)]
Another 'void' update

* doc/lispref/symbols.texi (Symbol Components): Another update due
to the change in 'void' function implementation.  (Bug#73886)

13 months agoFix doc string of 'wdired-use-dired-vertical-movement'
Eli Zaretskii [Sun, 27 Oct 2024 11:41:24 +0000 (13:41 +0200)]
Fix doc string of 'wdired-use-dired-vertical-movement'

* lisp/wdired.el (wdired-use-dired-vertical-movement): Remove the
incorrect reference to 'track-eol'.  (Bug#73917)

13 months agoUpdate the documentation of void functions
Eli Zaretskii [Sun, 27 Oct 2024 11:16:36 +0000 (13:16 +0200)]
Update the documentation of void functions

* doc/lispref/functions.texi (Function Cells):
* src/data.c (Ffboundp, Ffmakunbound, Fsymbol_function): Update
documentation to the changes of how void functions are represented
since Emacs 24.5.  (Bug#73886)

13 months ago; * lisp/vc/log-edit.el (log-edit-diff-function): Grammar fix.
Sean Whitton [Sun, 27 Oct 2024 10:56:31 +0000 (18:56 +0800)]
; * lisp/vc/log-edit.el (log-edit-diff-function): Grammar fix.

13 months ago; Fix typos
Stefan Kangas [Sun, 27 Oct 2024 06:49:32 +0000 (07:49 +0100)]
; Fix typos

13 months agoBackport some docstring updates, warn about upcoming obsolescence
Sean Whitton [Sun, 27 Oct 2024 03:37:42 +0000 (11:37 +0800)]
Backport some docstring updates, warn about upcoming obsolescence

Try to save people some time if they're developing on Emacs 30.x.

Do not merge to master.

* lisp/subr.el (if-let*, when-let*, if-let, when-let): Move
docstring text around so that if-let* and when-let* descriptions
no longer refer to if-let and when-let.  Note that if-let and
when-let will be marked obsolete, and recommend if-let*,
when-let* and and-let* for new code.

13 months ago; Remove proced-tests.el instrumentation (Do not merge with master)
Michael Albinus [Sat, 26 Oct 2024 16:55:46 +0000 (18:55 +0200)]
; Remove proced-tests.el instrumentation (Do not merge with master)

13 months ago* lisp/editorconfig.el (editorconfig--get-indentation): Fix bug#73991
Stefan Monnier [Sat, 26 Oct 2024 15:12:32 +0000 (11:12 -0400)]
* lisp/editorconfig.el (editorconfig--get-indentation): Fix bug#73991

13 months agoUpdate 'ldefs-boot.el' (don't merge)
Andrea Corallo [Sat, 26 Oct 2024 10:09:36 +0000 (12:09 +0200)]
Update 'ldefs-boot.el' (don't merge)

* lisp/ldefs-boot.el: Update.

13 months agoBump Emacs version to 30.0.92
Andrea Corallo [Sat, 26 Oct 2024 09:41:45 +0000 (11:41 +0200)]
Bump Emacs version to 30.0.92

* nt/README.W32: Update Emacs version.
* msdos/sed2v2.inp: Likewise.
* exec/configure.ac: Likewise.
* configure.ac: Likewise.
* README: Likewise.

13 months ago; * etc/AUTHORS: Update.
Andrea Corallo [Sat, 26 Oct 2024 09:38:39 +0000 (11:38 +0200)]
; * etc/AUTHORS: Update.

13 months ago; * ChangeLog.4: Update.
Andrea Corallo [Sat, 26 Oct 2024 09:38:10 +0000 (11:38 +0200)]
; * ChangeLog.4: Update.

13 months agoSkip *.dylib files in 'loaddefs-generate'
Eli Zaretskii [Fri, 25 Oct 2024 10:34:53 +0000 (13:34 +0300)]
Skip *.dylib files in 'loaddefs-generate'

* lisp/emacs-lisp/loaddefs-gen.el (loaddefs-generate): Add .dylib
to extensions of files that are skipped.  (Bug#74001)

13 months agoHighlight namespace name in "use" clause.
Vincenzo Pupillo [Wed, 23 Oct 2024 18:45:48 +0000 (20:45 +0200)]
Highlight namespace name in "use" clause.

* lisp/progmodes/php-ts-mode.el (php-ts-mode--font-lock-settings):
New rule to highlight namespace name in "use" clause.  (Bug#73975)

13 months ago; * lisp/loadup.el: Improve file abstract
Sean Whitton [Thu, 24 Oct 2024 07:39:34 +0000 (15:39 +0800)]
; * lisp/loadup.el: Improve file abstract

13 months ago; * doc/lispref/control.texi (Conditionals): Fix markup.
Eli Zaretskii [Thu, 24 Oct 2024 05:42:29 +0000 (08:42 +0300)]
; * doc/lispref/control.texi (Conditionals): Fix markup.

13 months agoUpdate special conditionals documentation
Sean Whitton [Thu, 24 Oct 2024 04:10:09 +0000 (12:10 +0800)]
Update special conditionals documentation

* doc/lispref/control.texi (Conditionals): Document if-let* and
when-let*, not if-let and when-let.  Document and-let*.

13 months ago; * test/lisp/proced-tests.el (proced--within-buffer): Instrument macro.
Michael Albinus [Wed, 23 Oct 2024 15:01:08 +0000 (17:01 +0200)]
; * test/lisp/proced-tests.el (proced--within-buffer): Instrument macro.

Do not merge with master

13 months ago; Improve comment from last change
Sean Whitton [Wed, 23 Oct 2024 02:53:02 +0000 (10:53 +0800)]
; Improve comment from last change

13 months agoDocument and-let* vs. when-let* usage convention
Sean Whitton [Wed, 23 Oct 2024 01:07:06 +0000 (09:07 +0800)]
Document and-let* vs. when-let* usage convention

* lisp/subr.el (and-let*): Document and/and-let*
vs. when/when-let* usage convention (some discussion in
bug#73853).
(when-let*): Add cross-reference to and-let*.

13 months agoFix error when splicing Eshell globs and a glob expands to itself
Jim Porter [Tue, 22 Oct 2024 16:43:00 +0000 (09:43 -0700)]
Fix error when splicing Eshell globs and a glob expands to itself

This could happen when 'eshell-extended-glob' determines that a "glob"
is not really a glob.  This mainly happens for remote file names with a
"~" in them, like "/ssh:remote:~/file.txt".

* lisp/eshell/em-glob.el (eshell-extended-glob): Return a list when
'eshell-glob-splice-results' is non-nil.
* test/lisp/eshell/em-glob-tests.el
(em-glob-test/expand/splice-results)
em-glob-test/expand/no-splice-results): Extend tests.

13 months ago* etc/package-keyring.gpg: Update expiration and add new key
Stefan Monnier [Tue, 22 Oct 2024 16:35:18 +0000 (12:35 -0400)]
* etc/package-keyring.gpg: Update expiration and add new key

13 months agoAvoid crashes when scrolling images under winner-mode
Eli Zaretskii [Mon, 21 Oct 2024 17:42:01 +0000 (20:42 +0300)]
Avoid crashes when scrolling images under winner-mode

* src/window.c (window_scroll_pixel_based): Fix calculation of a
window's vscroll.  (Bug#73933)

13 months ago; * doc/lispref/display.texi (Fontsets): Clarify wording.
Eli Zaretskii [Mon, 21 Oct 2024 15:32:07 +0000 (18:32 +0300)]
; * doc/lispref/display.texi (Fontsets): Clarify wording.

13 months ago; * doc/lispref/display.texi (Fontsets): Fix typo.
Eli Zaretskii [Mon, 21 Oct 2024 10:04:18 +0000 (13:04 +0300)]
; * doc/lispref/display.texi (Fontsets): Fix typo.

13 months ago; Add indexing for 'use-default-font-for-symbols'
Eli Zaretskii [Mon, 21 Oct 2024 10:01:53 +0000 (13:01 +0300)]
; Add indexing for 'use-default-font-for-symbols'

* doc/emacs/mule.texi (Modifying Fontsets):
* doc/lispref/display.texi (Fontsets): Index
'use-default-font-for-symbols'.

13 months ago* src/lread.c (READ_AND_BUFFER): Reject negative chars (bug#73914).
Eli Zaretskii [Sun, 20 Oct 2024 19:39:53 +0000 (22:39 +0300)]
* src/lread.c (READ_AND_BUFFER): Reject negative chars (bug#73914).

13 months ago* test/Makefile.in: Do not show emacs-module-tests.log by default.
Michael Albinus [Sun, 20 Oct 2024 09:35:06 +0000 (11:35 +0200)]
* test/Makefile.in: Do not show emacs-module-tests.log by default.

13 months agoFix 'php-ts-mode': better indentation and font locking
Vincenzo Pupillo [Thu, 10 Oct 2024 14:06:37 +0000 (16:06 +0200)]
Fix 'php-ts-mode': better indentation and font locking

Incomplete compound_statement or colon_block (statement-group
without a closing brace or closing keyword) that are not inside
a function or method are not recognized as such by tree-sitter-php.
A new function 'php-ts-mode--open-statement-group-heuristic'
handles this case.  Font locking of magic methods and better
support for alternative control structure syntax.
Support for latest grammar version.
* lisp/progmodes/php-ts-mode.el
(php-ts-mode--language-source-alist): Updated grammar version.
(php-ts-mode--possibly-braceless-keyword-re): Regular expression
for braceless keyword.
(php-ts-mode--open-statement-group-heuristic): New function.
(php-ts-mode--parent-html-bol): Use the new function and doc fix.
(php-ts-mode--parent-html-heuristic): Use the new function and doc
fix.
(php-ts-mode--indent-styles): Use the new function and add
'colon_block' support.
(php-ts-mode--class-magic-methods): New predefined magic methods
list.
(php-ts-mode--test-namespace-name-as-prefix-p): Doc fix.
(php-ts-mode--test-namespace-aliasing-clause-p): Fix the test and
doc.
(php-ts-mode--test-namespace-use-group-clause-p): Doc fix.
(php-ts-mode--test-visibility-modifier-operation-clause-p): New
function for the new asymmetric property visibility feature of
PHP 8.4.
(php-ts-mode--font-lock-settings): Font lock for class magic methods
and alternative syntax.  Better font lock for 'instanceof'.  Use
'font-lock-function-call-face' for scoped and member call expression.
(bug#73779)

13 months ago* lisp/auth-source.el (read-passwd): Remove entry from `post-command-hook'.
Michael Albinus [Sat, 19 Oct 2024 10:36:32 +0000 (12:36 +0200)]
* lisp/auth-source.el (read-passwd): Remove entry from `post-command-hook'.

13 months agoNew FAQ about Ctrl keys on xterm
Eli Zaretskii [Sat, 19 Oct 2024 09:14:06 +0000 (12:14 +0300)]
New FAQ about Ctrl keys on xterm

* doc/misc/efaq.texi
(Some Ctrl-modified keys do not work on xterm): New section
(bug#73813).

13 months agoAutoload 'message-narrow-to-headers-or-head' in mml.el
Eli Zaretskii [Sat, 19 Oct 2024 08:57:09 +0000 (11:57 +0300)]
Autoload 'message-narrow-to-headers-or-head' in mml.el

* lisp/gnus/mml.el (message-narrow-to-headers-or-head): Autoload
it.  (Bug#73815)

13 months ago* lisp/emacs-lisp/pcase.el (pcase--make-docstring): Fix bug#73766
Stefan Monnier [Fri, 18 Oct 2024 18:55:40 +0000 (14:55 -0400)]
* lisp/emacs-lisp/pcase.el (pcase--make-docstring): Fix bug#73766

Do not merge to `master`.

13 months agoLocate password icon in global-mode-string
Michael Albinus [Fri, 18 Oct 2024 15:47:43 +0000 (17:47 +0200)]
Locate password icon in global-mode-string

* doc/emacs/mini.texi (Passwords): Precise the location of the
password icon.

* doc/lispref/minibuf.texi (Reading a Password): The password icon
is added to global-mode-string.

* lisp/auth-source.el (read-passwd--mode-line-buffer): Remove.
(read-passwd--hide-password): Fix docstring.
(read-passwd-toggle-visibility): Don't use
`read-passwd--mode-line-buffer'.  Check for `read-passwd-mode'.
Force update in all mode lines.
(read-passwd-mode): Set `read-passwd--mode-line-icon' in
`global-mode-string'.  (Bug#73768)

13 months ago; Fix last documentation change
Eli Zaretskii [Fri, 18 Oct 2024 12:46:17 +0000 (15:46 +0300)]
; Fix last documentation change

* doc/misc/efaq.texi (Colors on a TTY):
* doc/lispref/frames.texi (Font and Color Parameters):
* doc/emacs/cmdargs.texi (Colors X): More accurate documentation
of TTY color modes and 'tty-color-mode' frame parameter.
(Bug#73813)

13 months agoExplain tty-color-mode frame parameter more.
Robert Pluim [Fri, 18 Oct 2024 09:22:52 +0000 (11:22 +0200)]
Explain tty-color-mode frame parameter more.

* doc/emacs/cmdargs.texi (Colors X): Explain that tty color
support is dynamic.
* doc/lispref/frames.texi (Font and Color Parameters): Explain
that 'tty-color-mode' can be changed on the fly.
* doc/misc/efaq.texi (Colors on a TTY): Explain how to disable
'tty-color-mode', either at startup or dynamically.

14 months ago; * src/doc.c (Ftext_quoting_style): Make doc string agree with code.
Mattias Engdegård [Thu, 17 Oct 2024 12:06:20 +0000 (14:06 +0200)]
; * src/doc.c (Ftext_quoting_style): Make doc string agree with code.

14 months ago(track-changes--after): Fix problem found in bug#73041
Stefan Monnier [Thu, 17 Oct 2024 15:39:19 +0000 (11:39 -0400)]
(track-changes--after): Fix problem found in bug#73041

When calling `track-changes--before` (e.g. because of a missing
b-f-c or for some other reason), it sets `track-changes--before-end`
to the right value so we shouldn't increment it right after.
Also, we should update `track-changes--buffer-size` before
calling `track-changes--before` so it doesn't risk signaling
a spurious inconsistency.

* lisp/emacs-lisp/track-changes.el (track-changes--after):
Update `track-changes--buffer-size` earlier, and don't increment
`track-changes--before-end` when we call `track-changes--before`.

14 months agoFix Eshell's evaluation of empty 'progn' forms
Jim Porter [Wed, 16 Oct 2024 17:44:35 +0000 (10:44 -0700)]
Fix Eshell's evaluation of empty 'progn' forms

Do not merge to master.

* lisp/eshell/esh-cmd.el (eshell-do-eval): Make sure we evaluate to
'nil' for 'progn' forms with no body (bug#73722).

14 months ago; (select-safe-coding-system-interactively): Say "safely encode".
Eli Zaretskii [Wed, 16 Oct 2024 06:04:02 +0000 (09:04 +0300)]
; (select-safe-coding-system-interactively): Say "safely encode".

14 months ago; * lisp/icomplete.el (icomplete-in-buffer): Doc fix (bug#73820).
Eli Zaretskii [Wed, 16 Oct 2024 05:32:02 +0000 (08:32 +0300)]
; * lisp/icomplete.el (icomplete-in-buffer): Doc fix (bug#73820).

14 months ago; * doc/lispref/display.texi (Face Attributes): Fix typo (bug#73824).
Eli Zaretskii [Wed, 16 Oct 2024 04:59:59 +0000 (07:59 +0300)]
; * doc/lispref/display.texi (Face Attributes): Fix typo (bug#73824).

14 months ago* lisp/progmodes/c-ts-mode.el (treesit-node-eq): Declare to silence warning.
Andrea Corallo [Tue, 15 Oct 2024 19:27:47 +0000 (21:27 +0200)]
* lisp/progmodes/c-ts-mode.el (treesit-node-eq): Declare to silence warning.

14 months ago* admin/notes/emba: Docker builds do not run in a worktree.
Michael Albinus [Tue, 15 Oct 2024 15:36:56 +0000 (17:36 +0200)]
* admin/notes/emba: Docker builds do not run in a worktree.

14 months ago* lisp/calc/calc-ext.el (math-approx-sqrt-e): Doc fix (bug#73817).
Ulrich Müller [Tue, 15 Oct 2024 12:06:49 +0000 (14:06 +0200)]
* lisp/calc/calc-ext.el (math-approx-sqrt-e): Doc fix (bug#73817).

14 months ago: Revert a mistaken change
Eli Zaretskii [Tue, 15 Oct 2024 12:39:11 +0000 (15:39 +0300)]
: Revert a mistaken change

* lisp/net/dictionary.el (dictionary-word-definition-face): Revert
a mistakenly installed change.

14 months ago; * doc/emacs/search.texi (Word Search): Spelling fixes.
Robert Pluim [Tue, 15 Oct 2024 08:16:22 +0000 (10:16 +0200)]
; * doc/emacs/search.texi (Word Search): Spelling fixes.

14 months agoFix c-ts-mode--anchor-prev-sibling (bug#73661)
Yuan Fu [Tue, 15 Oct 2024 02:31:12 +0000 (19:31 -0700)]
Fix c-ts-mode--anchor-prev-sibling (bug#73661)

* lisp/progmodes/c-ts-mode.el:
(c-ts-mode--anchor-prev-sibling):  Fix parentheses and use a
slightly more efficient function.
* test/lisp/progmodes/c-ts-mode-resources/indent.erts: Replace
the tab in the test code with spaces.

14 months agoFix formatting of long keyboard macros by 'list-keyboard-macros'.
Earl Hyatt [Sun, 13 Oct 2024 17:44:18 +0000 (13:44 -0400)]
Fix formatting of long keyboard macros by 'list-keyboard-macros'.

* lisp/kmacro.el (kmacro-menu--refresh): Include the second
argument of 'format-kbd-macro' so that the formatted keyboard
macro is on a single line.  (Bug#73797)

14 months ago; * src/fileio.c (Ffile_newer_than_file_p): Fix wording (bug#73709).
Eli Zaretskii [Sun, 13 Oct 2024 15:29:34 +0000 (18:29 +0300)]
; * src/fileio.c (Ffile_newer_than_file_p): Fix wording (bug#73709).

14 months agoMerge branch 'emacs-30' of git.sv.gnu.org:/srv/git/emacs into emacs-30
Michael Albinus [Sun, 13 Oct 2024 14:03:07 +0000 (16:03 +0200)]
Merge branch 'emacs-30' of git.sv.gnu.org:/srv/git/emacs into emacs-30

14 months ago* doc/emacs/mini.texi (Passwords): Mention password visibility.
Michael Albinus [Sun, 13 Oct 2024 14:01:38 +0000 (16:01 +0200)]
* doc/emacs/mini.texi (Passwords): Mention password visibility.

14 months ago; * doc/emacs/search.texi (Word Search): Document 'dictionary-search'.
Eli Zaretskii [Sat, 12 Oct 2024 07:17:10 +0000 (10:17 +0300)]
; * doc/emacs/search.texi (Word Search): Document 'dictionary-search'.

14 months ago; * lisp/emacs-lisp/chart.el (chart-bar-quickie): Doc fix.
Eli Zaretskii [Sat, 12 Oct 2024 05:44:28 +0000 (08:44 +0300)]
; * lisp/emacs-lisp/chart.el (chart-bar-quickie): Doc fix.

14 months ago; * lisp/emacs-lisp/chart.el (chart-bar-quickie): Improve documentation.
Andrea Corallo [Fri, 11 Oct 2024 13:26:28 +0000 (15:26 +0200)]
; * lisp/emacs-lisp/chart.el (chart-bar-quickie): Improve documentation.

14 months ago; More accurate documentation of 'file-newer-than-file-p'
Eli Zaretskii [Thu, 10 Oct 2024 08:03:48 +0000 (11:03 +0300)]
; More accurate documentation of 'file-newer-than-file-p'

* doc/lispref/files.texi (File Attributes):
* src/fileio.c (Ffile_newer_than_file_p): Say the comparison uses
the last-modification times.  (Bug#73709)

14 months agoFix c-ts-mode indentation for initializer lists (bug#73661)
Jørgen Kvalsvik [Fri, 4 Oct 2024 19:38:33 +0000 (21:38 +0200)]
Fix c-ts-mode indentation for initializer lists (bug#73661)

The intentation behavior differed between c-mode/c++-mode
and *-ts-mode for initializer lists where the first element was
not at beginning-of-line.  The anchor-prev-sibling function gave
up and returned nil, but it should (probably) anchor on the
first element in the initializer list, such as this:

return { v1, v2, ...,
         y1, y2, ... };

c-ts-mode behaved better and figured out how to align, but I
added a test for a similar compound literal to prevent
regressions.

* lisp/progmodes/c-ts-mode.el (c-ts-mode--anchor-prev-sibling):
Anchor at first sibling unless bol is found.

* test/lisp/progmodes/c-ts-mode-resources/indent.erts: New
initializer list and compound literal test.

Copyright-paperwork-exempt: yes

14 months agoAvoid segfaults in Rmail-MIME
Eli Zaretskii [Wed, 9 Oct 2024 13:21:08 +0000 (16:21 +0300)]
Avoid segfaults in Rmail-MIME

Rmail-MIME decodes text of email, including removal of
CR characters, but that can segfault if the text of some
MIME part is empty.
* src/coding.c (decode_coding_raw_text):
* lisp/mail/rmailmm.el (rmail-mime-insert-decoded-text): Don't
attempt to decode empty text region.

14 months agoEglot: use :immediate t when resolving completions (bug#73279)
Brennan Vincent [Wed, 9 Oct 2024 11:30:30 +0000 (06:30 -0500)]
Eglot: use :immediate t when resolving completions (bug#73279)

Copyright-paperwork-exempt: Yes

* lisp/progmodes/eglot.el (eglot-completion-at-point): Tweak
eglot--request call.

14 months agoEglot: minor changes to doc and docstrings
João Távora [Wed, 9 Oct 2024 11:26:27 +0000 (06:26 -0500)]
Eglot: minor changes to doc and docstrings

* doc/misc/eglot.texi (Quick Start): Tweak.
(Setting Up LSP Servers): Tweak.
(Customizing Eglot): Clarify eglot-connect-hook and
eglot-initialized-hook.

* lisp/progmodes/eglot.el (eglot-connect-hook)
(eglot-server-initialized-hook): Rework docstring.

14 months agoRevert "Set treesit-primary-parser for tree-sitter modes"
Yuan Fu [Wed, 9 Oct 2024 00:33:11 +0000 (17:33 -0700)]
Revert "Set treesit-primary-parser for tree-sitter modes"

This reverts commit ed57faafc74e0810b492841deccb3cdc77a258ff.

14 months agoRemove duplicate indent rules in elixir-ts-mode
Yuan Fu [Tue, 8 Oct 2024 00:27:13 +0000 (17:27 -0700)]
Remove duplicate indent rules in elixir-ts-mode

* lisp/progmodes/elixir-ts-mode.el (elixir-ts-mode): There are
two forms adding heex-ts--indent-rules, remove one of them.

14 months agoSet treesit-primary-parser for tree-sitter modes
Yuan Fu [Tue, 8 Oct 2024 00:24:32 +0000 (17:24 -0700)]
Set treesit-primary-parser for tree-sitter modes

I debated whether to do this, since technically speaking it's
not needed for single-language modes.  But ultimately it's
better to be explicit and set a good example with builtin modes.

* lisp/progmodes/cmake-ts-mode.el (cmake-ts-mode):
* lisp/progmodes/csharp-mode.el (csharp-ts-mode):
* lisp/progmodes/dockerfile-ts-mode.el (dockerfile-ts-mode):
* lisp/progmodes/go-ts-mode.el (go-ts-mode):
(go-mod-ts-mode):
* lisp/progmodes/heex-ts-mode.el (heex-ts-mode):
* lisp/progmodes/java-ts-mode.el (java-ts-mode):
* lisp/progmodes/json-ts-mode.el (json-ts-mode):
* lisp/progmodes/lua-ts-mode.el (lua-ts-mode):
* lisp/progmodes/python.el (python-ts-mode):
* lisp/progmodes/ruby-ts-mode.el (ruby-ts-mode):
* lisp/progmodes/rust-ts-mode.el (rust-ts-mode):
* lisp/progmodes/sh-script.el:
* lisp/progmodes/typescript-ts-mode.el (typescript-ts-mode):
(tsx-ts-mode):
* lisp/textmodes/css-mode.el (css-ts-mode):
* lisp/textmodes/html-ts-mode.el (html-ts-mode):
* lisp/textmodes/toml-ts-mode.el (toml-ts-mode):
* lisp/textmodes/yaml-ts-mode.el (yaml-ts-mode): Set
treesit-primary-parser.

14 months ago; * lisp/emacs-lisp/cl-macs.el (cl-once-only): Fix capitalisation.
Sean Whitton [Sun, 6 Oct 2024 05:38:57 +0000 (13:38 +0800)]
; * lisp/emacs-lisp/cl-macs.el (cl-once-only): Fix capitalisation.

14 months agoDelete XIE X extension from TODO
Stefan Kangas [Sat, 5 Oct 2024 23:47:50 +0000 (01:47 +0200)]
Delete XIE X extension from TODO

According to Wikipedia, XIE "is no longer included in the X11 reference
distribution, having been removed with X11R6.7 in 2004."
Ref: https://en.wikipedia.org/wiki/X_Image_Extension

* etc/TODO: Delete item to use XIE X extension.

14 months ago; * lisp/progmodes/csharp-mode.el (treesit-query-compile): Declare.
Eli Zaretskii [Sat, 5 Oct 2024 11:38:48 +0000 (14:38 +0300)]
; * lisp/progmodes/csharp-mode.el (treesit-query-compile): Declare.