Commit graph

95489 commits

Author SHA1 Message Date
Robert Pluim
d4f81f716a Improve 'which-key-special-keys' docstring
* lisp/which-key.el (which-key-special-keys): Explain the format
and use 'setopt'.
2024-11-15 16:31:08 +01:00
Joseph Turner
c29c54410e * lisp/subr.el (read-number): Document collision with 'format-prompt'. 2024-11-15 14:28:51 +02:00
Vincenzo Pupillo
f69f54c454 Improve font-locking and indentation in 'php-ts-mode'
* lisp/progmodes/php-ts-mode.el (php-ts-mode--language-source-alist):
Updated to latest version of PHP grammar.
(php-ts-mode--indent-styles): 'namespace_use_declaration' is now
correctly indented.
(php-ts-mode--operators): Support of the "argument unpacking
operator".
(php-ts-mode--font-lock-settings): 'nullsafe_member_call_expression'
is now highlighted correctly.
(php-ts-mode--comment-indent-new-line): Delete trailing whitespace
before inserting newline (see bug#73900 for more information).
Bug#74239
2024-11-14 10:47:51 +02:00
john muhl
27aacbd172 Fix some 'lua-ts-mode' options (Bug#74235)
* lisp/progmodes/lua-ts-mode.el (lua-ts-luacheck-program):
(lua-ts-inferior-program): Switch to 'file' type and remove 'nil'
as a choice.
(lua-ts-inferior-lua): Ensure 'lua-ts-inferior-program' is set.
2024-11-14 10:23:49 +02:00
john muhl
d592832504 Improve comment indenting in 'lua-ts-mode'
* lisp/progmodes/lua-ts-mode.el (lua-ts--simple-indent-rules):
Align single line comments with the surrounding context.
(lua-ts--comment-first-sibling-matcher): Check that comment is
the first sibling.
(lua-ts--multi-line-comment-start): New function.
* test/lisp/progmodes/lua-ts-mode-resources/indent.erts:
Add tests.  (Bug#74298)
2024-11-14 10:14:46 +02:00
Eshel Yaron
6bc44ccf28 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).
2024-11-14 04:26:54 +02:00
Stefan Monnier
8afcfed825 * lisp/files.el (require-with-check): Fix last fix (bug#74289) 2024-11-13 11:39:05 -05:00
Stefan Monnier
3496234c8e lisp/files.el (require-with-check): Fix bug#74091. 2024-11-10 16:50:36 -05:00
Michael Albinus
c96e576090 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.
2024-11-10 12:35:15 +01:00
Eli Zaretskii
3954e8d9bb 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.
2024-11-10 11:48:34 +02:00
Eli Zaretskii
7dabfe9465 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)
2024-11-10 10:56:40 +02:00
Eli Zaretskii
dbcd9d782c 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)
2024-11-09 14:02:06 +02:00
Mattias Engdegård
e88309eef3 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 9ee9154247)
2024-11-06 15:27:33 +02:00
Robert Pluim
3231af3727 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'.
2024-11-05 13:51:21 +01:00
Dmitry Gutov
b4b0d5a853 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 29b30eb49f)
2024-11-01 02:34:36 +02:00
Stephen Berman
8113b5c562 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 f6c359cb66)
2024-10-31 12:12:25 +01:00
Yuan Fu
3101c5031e
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.
2024-10-30 18:18:50 -07:00
Yuan Fu
e6a8492fab
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.
2024-10-30 18:18:06 -07:00
Yuan Fu
df5ac0daf0
Fix the call to treesit-thing-defined-p
* lisp/treesit.el (treesit-defun-at-point): Add the necessary
2nd argument.
2024-10-30 18:17:59 -07:00
Juri Linkov
7a3c10dcb5 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 2c062dfdf5)
2024-10-30 21:27:27 +02:00
Stefan Monnier
0aae02a374 * lisp/files.el (require-with-check): Be a bit more lenient (bug74040) 2024-10-28 22:40:15 -04:00
Stefan Monnier
cc6a11f483 (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.
2024-10-28 22:14:10 -04:00
Eli Zaretskii
c78b4d2b31 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)
2024-10-27 13:41:24 +02:00
Sean Whitton
299a1f2407 ; * lisp/vc/log-edit.el (log-edit-diff-function): Grammar fix. 2024-10-27 18:56:31 +08:00
Stefan Kangas
67a27ff53b ; Fix typos 2024-10-27 07:49:32 +01:00
Sean Whitton
bd2b064438 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.
2024-10-27 11:38:35 +08:00
Stefan Monnier
dd52839dd9 * lisp/editorconfig.el (editorconfig--get-indentation): Fix bug#73991 2024-10-26 11:12:32 -04:00
Andrea Corallo
ed1d691184 Update 'ldefs-boot.el' (don't merge)
* lisp/ldefs-boot.el: Update.
2024-10-26 12:12:17 +02:00
Eli Zaretskii
8e37b53716 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)
2024-10-25 13:34:53 +03:00
Vincenzo Pupillo
0d8d5f10ff 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)
2024-10-24 18:38:25 +03:00
Sean Whitton
d3e98487d0 ; * lisp/loadup.el: Improve file abstract 2024-10-24 15:39:34 +08:00
Sean Whitton
f5451b6a06 ; Improve comment from last change 2024-10-23 10:53:02 +08:00
Sean Whitton
09e05f7ee4 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*.
2024-10-23 09:08:27 +08:00
Jim Porter
b7a375f5c4 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.
2024-10-22 09:43:00 -07:00
Vincenzo Pupillo
4e0cb960db 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)
2024-10-19 16:11:32 +03:00
Michael Albinus
902029b141 * lisp/auth-source.el (read-passwd): Remove entry from `post-command-hook'. 2024-10-19 12:36:32 +02:00
Eli Zaretskii
f353fcc850 Autoload 'message-narrow-to-headers-or-head' in mml.el
* lisp/gnus/mml.el (message-narrow-to-headers-or-head): Autoload
it.  (Bug#73815)
2024-10-19 11:57:09 +03:00
Stefan Monnier
a815becb63 * lisp/emacs-lisp/pcase.el (pcase--make-docstring): Fix bug#73766
Do not merge to `master`.
2024-10-18 14:55:40 -04:00
Michael Albinus
7dbbd58d6c 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)
2024-10-18 17:47:43 +02:00
Stefan Monnier
90c6880a92 (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`.
2024-10-17 11:39:19 -04:00
Jim Porter
d3c9410226 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).
2024-10-16 10:44:35 -07:00
Eli Zaretskii
78e6328faf ; (select-safe-coding-system-interactively): Say "safely encode". 2024-10-16 09:04:02 +03:00
Eli Zaretskii
c5eba443ae ; * lisp/icomplete.el (icomplete-in-buffer): Doc fix (bug#73820). 2024-10-16 08:32:02 +03:00
Andrea Corallo
d5723fc4f0 * lisp/progmodes/c-ts-mode.el (treesit-node-eq): Declare to silence warning. 2024-10-15 21:27:47 +02:00
Ulrich Müller
3d30905b02 * lisp/calc/calc-ext.el (math-approx-sqrt-e): Doc fix (bug#73817). 2024-10-15 16:16:25 +02:00
Eli Zaretskii
94d0e9c401 : Revert a mistaken change
* lisp/net/dictionary.el (dictionary-word-definition-face): Revert
a mistakenly installed change.
2024-10-15 15:39:11 +03:00
Yuan Fu
c154047c46
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.
2024-10-14 20:23:15 -07:00
Earl Hyatt
b87fda63dd 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)
2024-10-14 14:37:39 +03:00
Eli Zaretskii
ae75ea6232 ; * src/fileio.c (Ffile_newer_than_file_p): Fix wording (bug#73709). 2024-10-13 18:29:34 +03:00
Eli Zaretskii
fb155bcfb6 ; * lisp/emacs-lisp/chart.el (chart-bar-quickie): Doc fix. 2024-10-12 08:44:28 +03:00