Basil L. Contovounesios [Sat, 8 Jul 2023 16:50:43 +0000 (17:50 +0100)]
; Simplify last change to cyrillic.el.
https://lists.gnu.org/r/emacs-devel/2023-07/msg00297.html
Vladimir Sedach [Tue, 27 Jun 2023 04:30:25 +0000 (22:30 -0600)]
; * test/lisp/shell-tests.el: Add tests for shell-dirtrack-mode (bug#64311)
Basil L. Contovounesios [Sat, 3 Jun 2023 10:25:05 +0000 (11:25 +0100)]
Minor tree-sitter cleanups
* lisp/treesit.el (treesit-fontify-with-override): Fix docstring
grammar. Remove redundant precondition (bug#64052).
* src/treesit.c (Ftreesit_parser_set_included_ranges): Fix typo in
commentary.
(treesit_predicate_equal, treesit_predicate_match)
(treesit_predicate_pred): Avoid fixnum roundtrip by using
list_length in place of Flength. Make error messages more accurate.
(treesit_eval_predicates): Quote predicate names in error message.
Basil L. Contovounesios [Sat, 3 Jun 2023 13:46:19 +0000 (14:46 +0100)]
Minor search_buffer cleanup
* src/search.c: Move commentary that used to precede search_buffer
to that location once more. Update it for the current arglist.
(search_command, search_buffer_non_re, search_buffer):
* src/lisp.h (search_buffer): Turn RE flag/argument from an int into
a bool. All callers changed (bug#64049).
Basil L. Contovounesios [Sat, 8 Jul 2023 15:24:15 +0000 (16:24 +0100)]
; Fix last change to lisp/language/cyrillic.el.
For discussion, see the following emacs-devel thread:
https://lists.gnu.org/r/emacs-devel/2023-07/msg00221.html
Michael Albinus [Sat, 8 Jul 2023 14:48:20 +0000 (16:48 +0200)]
Rearrange setting date and modes in Tramp
* lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file): Set date
and modes if appropriate.
(tramp-do-copy-or-rename-file-via-buffer)
(tramp-do-copy-or-rename-file-directly)
(tramp-do-copy-or-rename-file-out-of-band): Do not set date and modes.
Eli Zaretskii [Sat, 8 Jul 2023 13:43:37 +0000 (16:43 +0300)]
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
Basil L. Contovounesios [Mon, 3 Jul 2023 09:10:47 +0000 (10:10 +0100)]
Fix condition-case-unless-debug with :success
* lisp/subr.el (condition-case-unless-debug): Don't add debug
condition to :success handler (bug#64404).
* test/lisp/subr-tests.el (condition-case-unless-debug)
(condition-case-unless-debug-success): New tests.
Spencer Baugh [Mon, 3 Jul 2023 13:59:04 +0000 (09:59 -0400)]
Mention minibuffer-next-completion in completion-help
Now that it's not necessary to switch to the *Completions* buffer to
switch between and choose completions, we should make that clear in
the help text. Let's also make the bindings uniform both in and
outside the *Completions* buffer so users don't have to think about
the difference.
In working with new users, they've assumed that since the help text in
*Completions* says "Click on a completion to select it", that that's
the only way to select a completion. This text should help clarify
that.
* doc/emacs/mini.texi (Completion Commands): Document new bindings.
* lisp/simple.el (completion-list-mode-map): Bind
minibuffer-{next,previous,choose}-completion.
(completion-setup-function): Mention bindings for
minibuffer-{next,previous,choose}-completion. (Bug#64425)
Eli Zaretskii [Sat, 8 Jul 2023 09:46:10 +0000 (05:46 -0400)]
Merge from origin/emacs-29
600b90ed568 Mark failing icalendar test as unstable (bug#56241)
f8a918c9778 ; * src/coding.c (Fcoding_system_put): Improve doc string.
40f84e906f6 ; * doc/lispref/keymaps.texi (Key Binding Commands): Fix ...
502a7800319 ; Improve documentation of 'vertical-motion' in ELisp manual
0d90873fa41 ; * src/indent.c (Fvertical_motion): Doc fix.
9b38773a20b ; * lisp/dired.el (dired-no-confirm): Doc fix. (Bug#64493)
a30ebe7a556 ; Improve documentation of key-binding commands
c3fefb2b3ae Improve natnump shortdoc
244d4c837ab correct info documentation of benchmark-call
67def1f5502 * lisp/progmodes/grep.el (rgrep): Fix docstring.
8da2091362d ; Fix documentation of minibuffer-completion commands
aa030698cef ; Fix typos in documented names of keymap-* functions
a9b46bb25df Include a help-echo for flymake's modeline counters
37ed3d15f38 Avoid errors in completion due to 'completion-regexp-list'
15ff8761777 ; * lisp/register.el (register-val-describe): Doc fix.
fe7b909c16c ; Fix two typos in recent changes in the manual
7a74b8c3277 C Mode: Don't fontify foo globally as type due to "struct...
823bf6bdb1a * lisp/rect.el (rectangle--duplicate-right): Fix rectangl...
e339d0080d3 ; * test/lisp/misc-tests.el (ert): require misc to avoid ...
# Conflicts:
# lisp/rect.el
Martin Rudalics [Fri, 7 Jul 2023 13:56:22 +0000 (15:56 +0200)]
Fix 'toggle-side-windows' with 3 or more side windows
* lisp/window.el (window--state-put-1): Consider
'window-combined-p' when determining 'window-combination-limit'.
(window-state-put): Bind 'window-combination-limit' and
'window-combination-resize' to nil. (Bug#64405)
Eli Zaretskii [Sat, 8 Jul 2023 08:48:12 +0000 (11:48 +0300)]
; Fix last change.
Eli Zaretskii [Sat, 8 Jul 2023 08:47:32 +0000 (11:47 +0300)]
* etc/NEWS: Document changes to coding-system mnemonics.
Ulrich Müller [Thu, 6 Jul 2023 18:36:09 +0000 (20:36 +0200)]
Disambiguate mode line indication for utf-8 and utf-16
* lisp/international/mule-conf.el (utf-7):
* lisp/language/cyrillic.el (koi8-u): Change mnemonic letters to
?u and ?\N{cyrillic capital letter u}, respectively.
Vladimir Sedach [Tue, 27 Jun 2023 04:32:07 +0000 (22:32 -0600)]
Fix 'shell-dirtrack-mode' showing as enabled in unrelated buffers
* lisp/shell.el (shell-dirtrack-mode): Reverse the alias.
(shell-dirtrack-mode): Move before first use of the variable. Add
:interactive keyword.
(shell-directory-tracker, shell-cd): Use 'shell-dirtrack-mode'
instead of 'shell-dirtrackp'. (Bug#64311)
Stefan Monnier [Tue, 4 Jul 2023 23:58:12 +0000 (19:58 -0400)]
Avoid aborts when trying to 'read' sub-char-tables
* src/data.c (Ftype_of): Support 'sub-char-table'. (Bug#64450)
* src/lisp.h: Fix commentary of char-table.
Jim Porter [Sat, 8 Jul 2023 01:19:08 +0000 (18:19 -0700)]
; * doc/misc/eshell.texi: Fix typos and clean up unclear wording.
Jim Porter [Sat, 8 Jul 2023 00:30:26 +0000 (17:30 -0700)]
Document some missing Eshell commands
* doc/misc/eshell.texi (Built-ins): Document 'eshell-debug'.
(Extra built-in commands): Document 'count', 'ff', and 'gf'.
Stefan Monnier [Fri, 7 Jul 2023 16:09:50 +0000 (12:09 -0400)]
* lisp/emacs-lisp/bytecomp.el (byte-compile-eval): Fix bug#64232
Mattias Engdegård [Fri, 7 Jul 2023 12:40:37 +0000 (14:40 +0200)]
Mark failing icalendar test as unstable (bug#56241)
* test/lisp/calendar/icalendar-tests.el
(icalendar-export-bug-56241-dotted-pair):
This test started failing early July 2023 in multiple branches at
once without any change to the code and is likely sensitive to the
current date. Tag it to keep it quiet for now.
Eli Zaretskii [Fri, 7 Jul 2023 07:29:55 +0000 (10:29 +0300)]
; * src/coding.c (Fcoding_system_put): Improve doc string.
Juri Linkov [Fri, 7 Jul 2023 07:18:43 +0000 (10:18 +0300)]
* lisp/tab-bar.el: Fix tab-bar-tab-name-current for active minibuffer.
(tab-bar-tab-name-current): Use get-mru-window in the active minibuffer
when minibuffer-selected-window is nil after switching to another tab.
(tab-bar-tab-name-current-with-count)
(tab-bar-tab-name-truncated): Use tab-bar-tab-name-current.
Eli Zaretskii [Fri, 7 Jul 2023 06:59:52 +0000 (09:59 +0300)]
; * doc/lispref/keymaps.texi (Key Binding Commands): Fix typo.
Juri Linkov [Fri, 7 Jul 2023 06:33:56 +0000 (09:33 +0300)]
* lisp/tab-bar.el: Improve tab-bar-minibuffer-restore-tab (bug#64373).
(tab-bar-select-tab): Set tab-bar-minibuffer-restore-tab and
minibuffer-exit-hook minibuffer-locally to handle recursive minibuffers
for non-nil read-minibuffer-restore-windows.
(tab-bar-minibuffer-restore-tab): No need to reset minibuffer-local values.
Eli Zaretskii [Fri, 7 Jul 2023 06:26:58 +0000 (09:26 +0300)]
; Improve documentation of 'vertical-motion' in ELisp manual
* doc/lispref/positions.texi (Screen Lines): Improve the
documentation of 'vertical-motion'.
Eli Zaretskii [Fri, 7 Jul 2023 06:16:12 +0000 (09:16 +0300)]
; * src/indent.c (Fvertical_motion): Doc fix.
Harald Jörg [Thu, 6 Jul 2023 15:29:42 +0000 (17:29 +0200)]
; cperl-mode: Refine syntax of attributes
Attributes may start with underscore, and must be separated.
Thanks to Mattias Engdegård for pointing out a regex mistake.
* lisp/progmodes/cperl-mode.el (defconst): Fix bad grouping and
allow attributes to start with an underscore in
cperl--single-attribute-rx. Adjust cperl--attribute-list-rx
accordingly.
(cperl-find-sub-attrs): Allow attributes to start with an underscore.
* test/lisp/progmodes/cperl-mode-tests.el
(cperl-test-attribute-list-rx): Add new test cases for valid and
invalid attribute lists.
Eli Zaretskii [Thu, 6 Jul 2023 15:00:05 +0000 (18:00 +0300)]
Revert "Use 'emacs-lisp-compilation-mode' in native compilation buffers"
This reverts commit
40492581f96626e405e4b453456b8c9b83822c97.
It caused a recursive-load error when native-compiling files.
(Bug#64391)
Eli Zaretskii [Thu, 6 Jul 2023 10:12:21 +0000 (13:12 +0300)]
; * lisp/dired.el (dired-no-confirm): Doc fix. (Bug#64493)
Eli Zaretskii [Thu, 6 Jul 2023 08:50:41 +0000 (11:50 +0300)]
Use 'emacs-lisp-compilation-mode' in native compilation buffers
* lisp/emacs-lisp/comp.el (comp-log-to-buffer)
(comp-run-async-workers): Use 'emacs-lisp-compilation-mode' in the
buffers where we log the results of native compilation. Suggested
by No Wayman <iarchivedmywholelife@gmail.com>. (Bug#64452)
Eli Zaretskii [Thu, 6 Jul 2023 08:42:01 +0000 (11:42 +0300)]
; Improve documentation of key-binding commands
* doc/lispref/keymaps.texi (Key Binding Commands): Improve the
documentation of arguments expected by key binding commands.
* lisp/keymap.el (keymap-set, keymap-global-set)
(keymap-local-set, keymap-global-unset, keymap-local-unset)
(keymap-unset, key-parse): Doc fixes.
Spencer Baugh [Fri, 7 Apr 2023 21:54:06 +0000 (17:54 -0400)]
; * etc/NEWS: News entry for previous change (bug#62164).
Spencer Baugh [Fri, 7 Apr 2023 21:54:06 +0000 (17:54 -0400)]
Allow floating the ediff control frame under X
This is a step in the direction of making ediff behave better by
default under tiling window managers and fixing Bug#62164.
* lisp/vc/ediff-wind.el (ediff-floating-control-frame): Add
defcustom.
(ediff-frame-make-utility, ediff-setup-control-frame): Allow setting
the control frame up as a utility window under X. (Bug#62164)
Eli Zaretskii [Thu, 6 Jul 2023 07:33:43 +0000 (10:33 +0300)]
; * etc/NEWS: Fix punctuation and whitespace of last added entry.
Hugo Heagren [Sat, 1 Apr 2023 21:27:25 +0000 (22:27 +0100)]
Support right-align in mode-line
* lisp/bindings.el (mode-line-right-align-edge): New custom
variable, controls where `mode-line-format-right-align' should
align to.
(mode-line-format-right-align): New function. If the symbol
`mode-line-format-right-align' appears in `mode-line-format',
then return return a padding string which aligns everything
after that symbol to the right. Padding width is altered with
the display property and depends on the value of
`mode-line-right-align-edge'.
(mode-line-format-right-align): New variable. Convenience
definition for including right alignment in `mode-line-format'.
* doc/lispref/modes.texi (Mode Line Variables): Document new
alignment functionality and user option. (Bug#62606)
Matthias Meulien [Sat, 1 Jul 2023 20:12:43 +0000 (22:12 +0200)]
Improve Python imports management commands
* lisp/progmodes/python.el (python--list-imports): Handle import
errors.
(python--do-isort): Specialize error message. (Bug#64406)
Wang Diancheng [Fri, 30 Jun 2023 07:08:18 +0000 (15:08 +0800)]
Fix target-async and background execution in gdb-mi.el
* lisp/progmodes/gdb-mi.el (gdb-target-async-checked): New
variable.
(gdb-non-stop-setting): Change the value back to default to
non-nil on systems other than MS-Windows.
(gdb-non-stop-handler): Try to set mi-async first, falling back to
target-async by calling 'gdb-set-mi-async-handler'.
(gdb-set-mi-async-handler, gdb-try-check-target-async-support):
New functions.
(gdb-check-target-async): Set 'gdb-non-stop' here...
(gdb-starting): ...and here.
(gdb-stopped): Call 'gdb-try-check-target-async-support' when the
program stops for the first time. (Bug#64186) (Bug#63084)
Copyright-paperwork-exempt: yes
Mattias Engdegård [Wed, 5 Jul 2023 17:42:05 +0000 (19:42 +0200)]
; fix last change
* lisp/language/tibetan.el (tibetan-regexp, tibetan-precomposed-regexp)
(tibetan-precomposition-rule-regexp):
Don't use regexp-opt after all since it breaks bootstrapping.
Mattias Engdegård [Wed, 5 Jul 2023 13:25:30 +0000 (15:25 +0200)]
Improve some big regexps
* lisp/language/lao-util.el (lao-transcription-pattern):
Remove duplicate definition.
* lisp/language/tibetan.el (tibetan-regexp, tibetan-precomposed-regexp)
(tibetan-precomposition-rule-regexp): Use regexp-opt.
Juri Linkov [Wed, 5 Jul 2023 17:20:48 +0000 (20:20 +0300)]
* lisp/tab-bar.el: Restore the original tab where minibuffer was activated.
(tab-bar-minibuffer-restore-tab): New variable and function.
(tab-bar-select-tab): Use them (bug#64373).
Stefan Monnier [Wed, 5 Jul 2023 15:37:28 +0000 (11:37 -0400)]
* lisp/emacs-lisp/syntax.el (syntax-propertize-rules): Fix bug#64459
Michael Albinus [Wed, 5 Jul 2023 14:19:23 +0000 (16:19 +0200)]
Adapt information about Tramp's temporary directory
* doc/misc/tramp.texi (Overview): Use scp in the example.
(FUSE-based methods): Move information about mount point to node
"FUSE setup".
(Overview, Predefined connection information, FUSE setup)
(Traces and Profiles): Refer to node "Temporary directory".
(Frequently Asked Questions): Move information about temporary
directory to node "Temporary directory".
(Temporary directory): New node.
(Top, Files directories and localnames): Add it to @menu.
Michael Albinus [Wed, 5 Jul 2023 09:33:57 +0000 (11:33 +0200)]
* test/lisp/net/tramp-tests.el (tramp-test49-unload): Extend test.
Michael Albinus [Wed, 5 Jul 2023 08:05:44 +0000 (10:05 +0200)]
`remote-file-name-access-timeout' being 0 is equal to nil
* doc/lispref/files.texi (Testing Accessibility): Clarify the
value of remote-file-name-access-timeout.
* etc/NEWS: Clarify the value of remote-file-name-access-timeout.
* lisp/files.el (remote-file-name-access-timeout): Adapt docstring.
* lisp/net//tramp.el (with-tramp-timeout): Ensure, that the
timeout is a positive number, or nil.
(tramp-handle-access-file): Simplify code.
Andrew G Cohen [Tue, 27 Jun 2023 13:11:35 +0000 (21:11 +0800)]
Fix parsing of mail address headers (bug#64296)
RFC5322 specifies that an address header may be a list of both
individual mailboxes and mailbox groups. This patch introduces
support for parsing headers that include groups.
* lisp/mail/ietf-drums.el (ietf-drums-parse-addresses): Allow message
address headers to include both mailboxes and groups.
Eliza Velasquez [Sat, 1 Jul 2023 00:35:44 +0000 (17:35 -0700)]
Fix `async-shell-command-display-buffer' display
* lisp/simple.el (shell-command): If `async-shell-command-display-buffer'
was nil, it did not respect `display-buffer-alist' entries with
`display-buffer-no-window'. This behavior has been fixed (bug#64394).
Robert Pluim [Tue, 4 Jul 2023 17:01:59 +0000 (19:01 +0200)]
Grammar fixes in 'remote-file-name-access-timeout' descriptions
* doc/emacs/files.texi (File Conveniences): Grammar fix.
* doc/emacs/misc.texi (Saving Emacs Sessions): Grammar fix.
Robert Pluim [Tue, 4 Jul 2023 16:58:22 +0000 (18:58 +0200)]
; Minor grammar fixes to tramp manual
* doc/misc/tramp.texi (Frequently Asked Questions): Grammar fixes.
Robert Pluim [Tue, 4 Jul 2023 16:56:15 +0000 (18:56 +0200)]
Improve remote-file-name-access-timeout NEWS entries
* etc/NEWS: Improve recentf and desktop mode entries.
Eli Zaretskii [Tue, 4 Jul 2023 16:35:28 +0000 (19:35 +0300)]
; * etc/NEWS: Fix recently added entry.
Eli Zaretskii [Tue, 4 Jul 2023 16:28:09 +0000 (19:28 +0300)]
Improve documentation of 'remote-file-name-access-timeout'
* lisp/desktop.el (desktop-files-not-to-save): Mention
'remote-file-name-access-timeout' in the doc string. (Bug#64401)
Robert Pluim [Tue, 4 Jul 2023 15:44:43 +0000 (17:44 +0200)]
Improve natnump shortdoc
* lisp/emacs-lisp/shortdoc.el (number): Make it clear that zero
satisfies 'natnump'. Move 'natnump' next to 'cl-plusp' to highlight
the difference between them.
Harald Jörg [Tue, 4 Jul 2023 15:42:05 +0000 (17:42 +0200)]
; cperl-mode: Avoid excessive regexp backtracking (Bug#8077)
* lisp/progmodes/cperl-mode.el (defconst): Add a word-start
assertion to cperl--single-attribute-rx
(cperl-after-sub-regexp): Dito
(cperl-init-faces): shorten matches of incomplete sub declarations
Robert Pluim [Tue, 4 Jul 2023 15:21:54 +0000 (17:21 +0200)]
correct info documentation of benchmark-call
* doc/lispref/debugging.texi (Profiling): 'benchmark-call' is a defun,
not a macro.
Alan Mackenzie [Tue, 4 Jul 2023 15:29:53 +0000 (15:29 +0000)]
objc-mode: Handle (de)propertization of < and >.
* lisp/progmodes/cc-langs.el
(c-get-state-before-change-functions)
(c-before-font-lock-functions): Separate the C and objc
versions, and add (to the first) c-unmark-<>-around-region and
c-before-change-check-<>-operators, (to the second)
c-unmark-<>-around-region and c-restore-<>-properties into the
objc versions of these lang variables.
Michael Albinus [Tue, 4 Jul 2023 13:27:03 +0000 (15:27 +0200)]
Apply remote-file-name-access-timeout in desktop.el and recentf.el
* doc/emacs/files.texi (File Conveniences):
* doc/emacs/misc.texi (Saving Emacs Sessions):
Mention remote-file-name-access-timeout.
* doc/misc/tramp.texi (Frequently Asked Questions): Add note.
* etc/NEWS: Explain use of 'remote-file-name-access-timeout' in
desktop.el and recentf.el.
* lisp/desktop.el (desktop-access-file): New defun.
(desktop-restore-file-buffer): Use it.
* lisp/recentf.el (recentf-access-file): New defun.
(recentf-keep-default-predicate): Use it.
* lisp/net/tramp.el (tramp-handle-access-file): Improve error handling.
Alan Mackenzie [Tue, 4 Jul 2023 12:43:31 +0000 (12:43 +0000)]
objc-mode: Fix exceptions in fontification.
These exceptions ("Invalid search bound (wrong side of point)")
were observed in test suite file class-24.m when moving point
up and down a line at a time.
* lisp/progmodes/cc-engine.el (c-forward-declarator): In the
c-syntactic-re-search-forward ~30 lines from the end of the
function amend the regexp for objc-mode such that "@end"
terminates the search, but "<" doesn't.
* lisp/progmodes/cc-fonts.el
(c-make-font-lock-search-function): supply a non-nil
CHECK-POINT argument to c-make-font-lock-search-form.
Mattias Engdegård [Tue, 4 Jul 2023 08:49:48 +0000 (10:49 +0200)]
; * test/lisp/progmodes/cperl-mode-tests.el: add missing backslashes
Harald Jörg [Mon, 3 Jul 2023 21:03:11 +0000 (23:03 +0200)]
cperl-mode: Announce the news in etc/NEWS
* etc/NEWS: add to the entry "CPerl mode".
Harald Jörg [Mon, 3 Jul 2023 20:55:19 +0000 (22:55 +0200)]
cperl-mode.el: Add support for new Perl syntax in Perl 5.36 and 5.38
Perl 5.38 was released on 2023-07-03. This patch supports the new features
for 5.36 and 5.38 for font-lock, indentation, and imenu index creation.
* lisp/progmodes/cperl-mode.el (cperl-praise): Mention classes.
(defconst): Fix typo in docstring of cperl--single-attribute-rx.
Add "class" to cperl--package-rx, and adjust its docstring.
New rx sequence cperl--class-for-imenu-rx to capture classes,
use this in cperl--imenu-entries-rx.
Add "method" to cperl--sub-name-for-imenu-rx.
Add "class" to cperl--block-declaration-rx.
(cperl-sub-keywords): Add "method".
(cperl-mode): Add "ADJUST" to defun-prompt-regexp.
(cperl-after-block-p): Add new keywords for Perl 5.36 and 5.38.
(cperl-indent-exp): Add "field" to expression starters.
(cperl-imenu--create-perl-index): Rename variables refering to
"package", because they also contain classes.
(cperl-init-faces): Add new keywords for Perl 5.36 and 5.38.
(cperl-find-tags): Add support for "class".
(cperl-short-docs): Add new keywords for Perl 5.36 and 5.38.
(cperl-indent-exp): Add new keywords for Perl 5.36 and 5.38.
* test/lisp/progmodes/cperl-mode-tests.el
(cperl-test-fontify-class): New test for fontification of class
elements.
(cperl-test-imenu-index): Add tests for (nested) class
definitions.
* test/lisp/progmodes/cperl-mode-resources/cperl-indents.erts:
Add test cases for try/catch/finally, defer, class, method
* test/lisp/progmodes/cperl-mode-resources/perl-class.pl: New
resource for fontification tests of class elements.
* test/lisp/progmodes/cperl-mode-resources/grammar.pl: Add some
classes to the test resource.
Juri Linkov [Mon, 3 Jul 2023 18:50:44 +0000 (21:50 +0300)]
* lisp/progmodes/grep.el (rgrep): Fix docstring.
Instead of the incorrect key `M-c' produce the right key
with \\<read-regexp-map>\\[read-regexp-toggle-case-fold].
Michael Albinus [Mon, 3 Jul 2023 16:25:40 +0000 (18:25 +0200)]
; * lisp/misc.el (duplicate-region-final-position): Fix version info.
Michael Albinus [Mon, 3 Jul 2023 16:24:11 +0000 (18:24 +0200)]
Add user option remote-file-name-access-timeout
* doc/lispref/files.texi (Testing Accessibility):
Add user option remote-file-name-access-timeout.
* doc/misc/tramp.texi (Frequently Asked Questions):
Explain remote-file-name-access-timeout.
* etc/NEWS: Mention 'remote-file-name-access-timeout'.
* lisp/files.el (remote-file-name-access-timeout): New defcustom.
(remote-file-name-inhibit-auto-save-visited)
(remote-file-name-inhibit-locks, remote-file-name-inhibit-cache)
(remote-file-name-inhibit-delete-by-moving-to-trash):
* lisp/simple.el (remote-file-name-inhibit-auto-save): Add group `tramp'.
* lisp/net/tramp.el (with-tramp-timeout, with-tramp-suspended-timers):
New defmacros.
(tramp-dont-suspend-timers): New defvar.
(tramp-handle-access-file): Implement handling of
`remote-file-name-access-timeout'. (Bug#64401)
(tramp-action-show-and-confirm-message, tramp-process-actions)
(with-tramp-locked-connection, tramp-wait-for-regexp)
(tramp-read-passwd, tramp-read-passwd-without-cache): Use the macros.
* test/lisp/net/tramp-tests.el (remote-file-name-access-timeout):
Declare.
(tramp-test18-file-attributes): Extend test.
Eli Zaretskii [Mon, 3 Jul 2023 16:04:13 +0000 (19:04 +0300)]
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
Eli Zaretskii [Mon, 3 Jul 2023 16:02:16 +0000 (19:02 +0300)]
Remove files in the nt/ directory that are unused for a long time
* nt/configure.bat:
* nt/ftime-nostartup.bat:
* nt/ftime.bat:
* nt/preprep.c: Remove old unused files.
F. Jason Park [Mon, 3 Jul 2023 03:57:46 +0000 (20:57 -0700)]
Revert "Account for leading timestamps in erc-match"
This reverts commit
99d74dcd45938e2686d93eb5649800e14a88cd84 but keeps
the test file test/lisp/erc/erc-scenarios-match.el. It also
implements a partial alternative solution by undoing the reordering of
insert hooks owned by the `stamp' and `match' modules. The initial
reordering stems from
d880a08f "Cement ordering of essential hook
members in ERC" and was intended to address the problem of timestamps
not being hidden in matched "fool" messages. However, a more
comprehensive solution is being pursued as part of bug#64301. The
following changes differ from those in a pure revert.
* erc/ERC-NEWS: Fix erroneous claim about relative hook ordering
pre-5.6.
* lisp/erc/erc-match.el (erc-match-mode, erc-match-enable): Lower hook
depth of `erc-match-message' in `erc-insert-modify-hook' from 60 to
50.
(erc-text-matched-hook): Retain cleaned-up portion of revised doc
string instead of reverting completely.
* lisp/erc/erc-stamp.el (erc-stamp-mode, erc-stamp-enable): Raise
depth of `erc-add-timestamp' in `erc-insert-modify-hook' and
`erc-send-modify-hook' from 50 to 60.
* test/lisp/erc/erc-scenarios-match.el
(erc-scenarios-match--stamp-left-current-nick
erc-scenarios-match--stamp-left-fools-invisible): Temporarily disable
the latter and fix expected hook ordering.
* test/lisp/erc/erc-tests.el (erc--essential-hook-ordering): Fix
expected order of default insert hooks. (Bug#60936)
Eli Zaretskii [Mon, 3 Jul 2023 13:14:45 +0000 (16:14 +0300)]
; Fix documentation of minibuffer-completion commands
* doc/emacs/mini.texi (Completion Commands): Index more keys and
commands. (Bug#64425)
Stephen Berman [Mon, 3 Jul 2023 12:19:41 +0000 (14:19 +0200)]
Fix and improve setting priority of todo-mode items (bug#64433)
* lisp/calendar/todo-mode.el (todo-set-item-priority): Bugfixes:
Prevent interactively setting item priority to its current
priority in the same category and prompt user for a different
priority (but allow using the same priority when item is moved to
another category). Ensure that the priority passed as a prefix
argument is suitable: if it is not an integer between 1 and the
highest item number, signal a user error. New feature: Use the
sequence of numbers of the category's items as the minibuffer
history.
* doc/misc/todo-mode.texi (Inserting New Items):
(Reprioritizing Items): Document using the minibuffer history.
* test/lisp/calendar/todo-mode-tests.el
(todo-test-item-insertion-with-priority-1)
(todo-test-item-insertion-with-priority-2)
(todo-test-item-insertion-with-priority-3): New tests.
Eli Zaretskii [Mon, 3 Jul 2023 12:12:12 +0000 (15:12 +0300)]
; Fix typos in documented names of keymap-* functions
* doc/lispref/keymaps.texi (Functions for Key Lookup): Fix typos
in function names. (Bug#64434)
Mattias Engdegård [Mon, 3 Jul 2023 11:15:53 +0000 (13:15 +0200)]
* etc/NEWS: Announce addition of `duplicate-region-final-position`.
Spencer Baugh [Sun, 2 Jul 2023 16:11:09 +0000 (12:11 -0400)]
Include a help-echo for flymake's modeline counters
This helps clarify what each of these numbers mean. This is inspired
by 'compilation-mode-line-errors' which does the same.
* lisp/progmodes/flymake.el (flymake--mode-line-counter): Add
help-echo to mode line properties. (Bug#64424)
Po Lu [Mon, 3 Jul 2023 03:45:04 +0000 (11:45 +0800)]
Fix leak when quit arrives during incremental selection transfer
* src/xselect.c (x_free_selection_data): New function.
(x_get_window_property_as_lisp_data): Free `data' reliably
if receive_incremental_selection quits.
Po Lu [Mon, 3 Jul 2023 00:56:21 +0000 (08:56 +0800)]
Provide move-toolbar in a more appropriate place
* src/frame.c (syms_of_frame): Provide `move-toolbar' here...
* src/keyboard.c (syms_of_keyboard): ..instead of here.
Po Lu [Mon, 3 Jul 2023 00:42:39 +0000 (08:42 +0800)]
; * src/keyboard.c (syms_of_keyboard): Fix typo.
Po Lu [Mon, 3 Jul 2023 00:42:24 +0000 (08:42 +0800)]
Always provide `move-toolbar' when its position can be changed
* src/keyboard.c (syms_of_keyboard): Make `move-toolbar' a
defsym. Provide that feature if Emacs uses its internal tool
bars or GTK+.
* src/xfns.c (syms_of_xfns): Stop provide `move-toolbar' here.
Andreas Schwab [Mon, 12 Jun 2023 12:40:24 +0000 (14:40 +0200)]
sh-script: improve fontification of RPM spec files
Fontifiy only macros at line beginning as keywords, otherwise as
variables. Add more accurate match for macros.
* lisp/progmodes/sh-script.el (sh-font-lock-keywords-var): Add
more accurate patterns for rpm macros. Also fontify parenthesized
word after keyword.
Mark A. Hershberger [Sun, 2 Jul 2023 19:15:17 +0000 (15:15 -0400)]
Fix a minor typo
* lisp/xml.el: Correct a minor typo found by flandrew.
Harald Jörg [Sun, 2 Jul 2023 11:00:21 +0000 (13:00 +0200)]
; cperl-mode: Fix a wide docstring which causes warnings when compiling
* lisp/progmodes/cperl-mode.el (defconst): Fix wide docstring for '
cperl--sloppy-signature-rx' (thanks Mattias Engdegård for reviewing)
João Távora [Sun, 2 Jul 2023 10:57:15 +0000 (11:57 +0100)]
Eglot: another tweak to eglot--sig-info
Going to the start of the first param and skipping non-word syntax
backward would seem to be the right thing to do, for traditional
C-style languages and also languages like Ocaml where function
signatures don't start the param list with '('.
See also https://github.com/joaotavora/eglot/discussions/1251.
* lisp/progmodes/eglot.el (eglot--sig-info): Rework again.
Mattias Engdegård [Sun, 2 Jul 2023 09:44:29 +0000 (11:44 +0200)]
Warn about misplaced :success in condition-case (bug#64404)
* lisp/emacs-lisp/bytecomp.el (byte-compile-condition-case):
Warn if :success is part of a list of conditions (it must come alone).
Stephen Berman [Sun, 2 Jul 2023 09:49:08 +0000 (11:49 +0200)]
Fix todo-mode commands to move items and categories (bug#64298)
* lisp/calendar/todo-mode.el (todo-move-category): Restore display
of selected category in source file, so internal file structure is
not visible if user is prompted to choose a new category name in
target file, and widen again to delete moved category from source
file.
(todo-move-item): Don't use todo-forward-item when moving done
items, to avoid mislocation if done items sections of the the
target category was empty before moving.
(todo-forward-item): Remove commented out code meant to have the
effect of the above change in todo-move-item, but it did not work.
Eli Zaretskii [Sun, 2 Jul 2023 08:10:59 +0000 (11:10 +0300)]
Fix display of wide characters on TTY frame's mode line
* src/xdisp.c (pad_mode_line): New function.
(display_string): Use it instead of 'produce_special_glyphs' to
replace a character that's too wide to fit on the mode/header/tab
line, but which occupies some columns that do fit. (Bug#64395)
Eli Zaretskii [Sun, 2 Jul 2023 06:16:58 +0000 (09:16 +0300)]
Avoid errors in completion due to 'completion-regexp-list'
* doc/lispref/minibuf.texi (Basic Completion):
* src/minibuf.c (syms_of_minibuf) <completion-regexp-list>:
Document that global non-nil settings of 'completion-regexp-list'
are not safe.
* lisp/minibuffer.el (completion-pcm--merge-completions): Avoid
errors in 'try-completion' when PREFIX is nil. (Bug#64351)
Eli Zaretskii [Sun, 2 Jul 2023 05:27:05 +0000 (08:27 +0300)]
; * lisp/register.el (register-val-describe): Doc fix.
Michael Heerdegen [Sun, 2 Jul 2023 01:35:34 +0000 (03:35 +0200)]
; Fix two typos in recent changes in the manual
* doc/lispref/text.texi (Property Search):
* lisp/register.el (register-preview-function): Fix typos.
Harald Jörg [Sat, 1 Jul 2023 22:35:31 +0000 (00:35 +0200)]
; cperl-mode.el: Fix two indentation bugs (Bug#11733)
* lisp/progmodes/cperl-mode.el (cperl-sniff-for-indent): Detect
whether we have a label or a regex/string.
(cperl-calculate-indent): Check for things which look like labels
but aren't.
* test/lisp/progmodes/cperl-mode-tests.el (cperl-test-bug-11733):
Test the examples provided in the bug report.
* test/lisp/progmodes/cperl-mode-resources/cperl-bug-11733.pl:
Examples from the bug report.
João Távora [Sat, 1 Jul 2023 21:49:24 +0000 (22:49 +0100)]
Eglot: fix broken indentation of eglot--sig-info
* lisp/progmodes/eglot.el (eglot--sig-info): Fix.
João Távora [Sat, 1 Jul 2023 21:48:07 +0000 (22:48 +0100)]
Eglot: bail out of eglot-imenu if no server capability (bug#64274)
* lisp/progmodes/eglot.el (eglot-imenu): Bail out if no
capability.
João Távora [Sat, 1 Jul 2023 21:46:43 +0000 (22:46 +0100)]
Eglot: improve heuristic to highlight function names in signatures
* lisp/progmodes/eglot.el (eglot--sig-info): Rework.
See https://github.com/joaotavora/eglot/discussions/1251.
Harald Jörg [Sat, 1 Jul 2023 19:37:29 +0000 (21:37 +0200)]
cperl-mode.el: Support Perl 5.38 syntax for subroutine signatures
* lisp/progmodes/cperl-mode.el (defconst): New rx sequence
describing a signature with initialization.
(cperl-init-faces): integrate the new rx sequence into the
font-lock-defaults init routine (Bug#64190) (Bug#64364).
* test/lisp/progmodes/cperl-mode-resources/cperl-bug-64364.pl: Add
test data for a signature with initialization (tests indentation).
* test/lisp/progmodes/cperl-mode-resources/proto-and-attrs.pl: Add
test data for a signature with initialization (tests fontification).
Jim Porter [Sat, 13 May 2023 03:03:48 +0000 (20:03 -0700)]
Document optional Eshell modules
* lisp/eshell/em-rebind.el (eshell-rebind): Correct/reword docstring.
* doc/misc/eshell.texi (Built-ins): Move disabled-by-default commands
to...
(Tramp extensions, Extra built-in commands): ...here
(Optional modules, Key rebinding, Smart scrolling): Add documentation.
(Bug and ideas): Documentation is no longer incomplete!
Jim Porter [Sat, 13 May 2023 03:11:01 +0000 (20:11 -0700)]
Correct the Eshell documentation about how to write new modules
* doc/misc/eshell.texi (Writing a module): Fix the documentation.
'eshell-defgroup' doesn't exist anymore.
Jim Porter [Mon, 30 Jan 2023 03:59:56 +0000 (19:59 -0800)]
Restructure Eshell extension modules documentation
This adds a section for documenting all the optional modules.
* doc/misc/eshell.texi (Extension modules): Move explanation about
writing modules to...
(Writing a module): ... here.
(Module testing): Remove. Testing an Eshell module doesn't require
any special documentation.
(Key binding, Smart scrolling, Electric forward slash): Move under...
(Optional modules): ... here.
(Directory handling, Terminal emulation): Remove. These modules are
enabled by default, and so are documented above.
(Tramp extensions, Extra built-in commands): New sections.
Jim Porter [Mon, 30 Jan 2023 02:29:02 +0000 (18:29 -0800)]
; * doc/misc/eshell.texi (Bugs and ideas): Remove implemented feature.
F. Jason Park [Fri, 9 Jun 2023 06:49:23 +0000 (23:49 -0700)]
Redo erc-nickname-in-use-functions as a local module
* etc/ERC-NEWS: Mention new module `services-regain'.
* lisp/erc/erc-backend.el: Rename option.
* lisp/erc/erc-services.el (erc-services-regain-alist): Strategies for
regaining a lost nickname on reconnect. This option, in addition to
the rest of these changes, is a redo of
`erc-nickname-in-use-functions' from commit
8c0c9826 "Add hook to
regain nickname in ERC", which originally stemmed from bug#62044.
(erc-services-retry-nick-on-connect, erc-services-issue-regain,
erc-services-issue-ghost-and-retry-nick): New function variants for
`erc-services-regain-alist.
(erc-services-regain-mode, erc-services-regain-enable,
erc-services-regain-disable): New local module to activate
nick-regaining behavior.
(erc--nickname-in-use-make-request): New method, a services-specific
implementation.
* lisp/erc/erc.el (erc--nickname-in-use-make-request): New generic
function to request alternate nick when first choice is rejected.
(erc-nickname-in-use): Call `erc--nickname-in-use-make-request' to
request alternate nick.
* test/lisp/erc/erc-scenarios-services-misc.el
(erc-scenarios-services-misc--reconnect-retry-nick): Adopt renamed
version of `erc-scenarios-base-renick-auto-regain'.
(erc-scenarios-services-misc--regain-command,
erc-scenarios-services-misc--ghost-and-retry-nick): New tests.
* test/lisp/erc/resources/services/regain/reconnect-retry-again.eld:
New test data file reusing existing blob
c0529052 that once lived at
resources/base/renick/regain/normal-again.eld.
* test/lisp/erc/resources/services/regain/reconnect-retry.eld: New
test data file reusing existing blob
9f4df70e5 that once lived at
resources/base/renick/regain/normal.eld.
* test/lisp/erc/resources/services/regain/taken-ghost.eld: New test
data file.
* test/lisp/erc/resources/services/regain/taken-regain.eld New test
data file.
F. Jason Park [Wed, 28 Jun 2023 03:47:26 +0000 (20:47 -0700)]
Account for leading timestamps in erc-match
* lisp/erc/erc-match.el (erc-text-matched-hook): Mention that stamps
may be present in the narrowed buffer but absent from the message
parameter.
(erc-match--message): New function containing what was the body of
`erc-match-message' as if the latter were simply renamed.
(erc-match-message): Move body to `erc-match--message' and call it
with more aggressive narrowing. This fixes a regression stemming from
d880a08f "Cement ordering of essential hook members in ERC". Special
thanks to Libera.Chat user jrm for reporting this bug. (Bug#60936)
* test/lisp/erc/erc-scenarios-match.el: New test file.
Harald Jörg [Sat, 1 Jul 2023 13:25:33 +0000 (15:25 +0200)]
cperl-mode: Fix byte-compilation warnings
* lisp/progmodes/cperl-mode.el (defconst): Reformat docstring to
fit into 80 columns.
(cperl-find-sub-attrs): Mark lexical parameters as unused.
* test/lisp/progmodes/cperl-mode-tests.el
(cperl-test-fontify-attrs-and-signatures): Fix use of
`match-beginning'
(perl-indent-parens-as-block): Define as a variable.
Alan Mackenzie [Sat, 1 Jul 2023 11:17:31 +0000 (11:17 +0000)]
C Mode: Don't fontify foo globally as type due to "struct foo"
This fixes bug#64322.
* lisp/progmodes/cc-langs.el (c-typeless-decl-kwds): Make the
entry for c-mode nil.
Mattias Engdegård [Fri, 30 Jun 2023 16:34:10 +0000 (18:34 +0200)]
Add duplicate-region-final-position (bug#64185)
* lisp/misc.el (duplicate-region-final-position): New defcustom.
(duplicate-dwim): Use it.
* lisp/rect.el (rectangle--duplicate-right): Add displacement
argument.
* test/lisp/misc-tests.el (misc--duplicate-dwim): Extend test.
Mattias Engdegård [Sat, 1 Jul 2023 10:27:09 +0000 (12:27 +0200)]
* lisp/rect.el (rectangle--duplicate-right): Fix rectangle dup bug.
This is a necessary adjustment to changes to rect.el in Emacs 29.