]> git.eshelyaron.com Git - emacs.git/log
emacs.git
17 months ago; Update from Gnulib
Po Lu [Mon, 10 Jul 2023 00:24:40 +0000 (08:24 +0800)]
; Update from Gnulib

* lib/vasnprintf.c (VASNPRINTF):
* m4/printf.m4 (gl_SWPRINTF_WORKS):
(gl_SWPRINTF_DIRECTIVE_LA):
* m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE):

17 months agoMerge remote-tracking branch 'origin/master' into feature/android
Po Lu [Mon, 10 Jul 2023 00:21:59 +0000 (08:21 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android

17 months agoSimplify ‘configure’ check for MB_CUR_MAX
Paul Eggert [Sun, 9 Jul 2023 20:27:54 +0000 (13:27 -0700)]
Simplify ‘configure’ check for MB_CUR_MAX

* admin/merge-gnulib: Remove m4/locale-fr.m4.
* configure.ac (gt_LOCALE_FR_UTF8): Replace Gnulib’s
definition with a near no-op, as Emacs doesn’t care
about the Solaris 10 MB_CUR_MAX bug.
* lib/gnulib.mk.in: Regenerate.
* m4/locale-fr.m4: Remove; no longer needed due
to above changes.

17 months agoUpdate from Gnulib by running admin/merge-gnulib
Paul Eggert [Sun, 9 Jul 2023 20:05:01 +0000 (13:05 -0700)]
Update from Gnulib by running admin/merge-gnulib

17 months agoUpdate Android port
Po Lu [Sun, 9 Jul 2023 05:13:53 +0000 (13:13 +0800)]
Update Android port

* java/org/gnu/emacs/EmacsWindow.java (eventModifiers)
(motionEventModifiers): New functions.
(onKeyDown, onKeyUp, onFocusChanged, onSomeKindOfMotionEvent):
Don't record the previous modifier mask; instead, always use the
modifier state specified in the event.
* src/androidterm.c (handle_one_android_event): Don't dispatch
button release events when a popup is active.

17 months agoUpdate Android port
Po Lu [Sun, 9 Jul 2023 04:50:15 +0000 (12:50 +0800)]
Update Android port

* java/org/gnu/emacs/EmacsService.java (onStartCommand): Fix
typo in notification message.
* java/org/gnu/emacs/EmacsWindow.java (onFocusChanged): Reset
the recorded modifier state upon a change to the window focus.

17 months ago; * java/org/gnu/emacs/EmacsService.java (onCreate): Fix typo.
Po Lu [Sun, 9 Jul 2023 02:06:18 +0000 (10:06 +0800)]
; * java/org/gnu/emacs/EmacsService.java (onCreate): Fix typo.

17 months agoUpdate Android port
Po Lu [Sun, 9 Jul 2023 02:05:08 +0000 (10:05 +0800)]
Update Android port

* java/org/gnu/emacs/EmacsDrawPoint.java (perform): Don't fill
an extra pixel.
* java/org/gnu/emacs/EmacsService.java (onCreate): Make sure
scaledDensity is always at least 160 dpi.

17 months agoMerge remote-tracking branch 'origin/master' into feature/android
Po Lu [Sun, 9 Jul 2023 00:40:38 +0000 (08:40 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android

17 months agocl-print.el: Reduce code duplication
Stefan Monnier [Sun, 9 Jul 2023 00:19:02 +0000 (20:19 -0400)]
cl-print.el: Reduce code duplication

While at it, fix a bug in `cl-print-object-contents` for strings,
where we forgot to pass `stream` to `princ` at one place and simplify
a `substring` call using a negative offset.

* lisp/emacs-lisp/cl-print.el (cl-print--cons-tail)
(cl-print--vector-contents, cl-print--struct-contents)
(cl-print--string-props): New functions, extracted from
`cl-print-object-contents`.
(cl-print-object, cl-print-object-contents): Use them.

17 months ago; Re-add recently removed comment in cyrillic.el.
Basil L. Contovounesios [Sat, 8 Jul 2023 21:27:20 +0000 (22:27 +0100)]
; Re-add recently removed comment in cyrillic.el.

https://lists.gnu.org/r/emacs-devel/2023-07/msg00303.html

17 months agoAdd special '$GID' variable in Eshell
Jim Porter [Sat, 8 Jul 2023 06:18:33 +0000 (23:18 -0700)]
Add special '$GID' variable in Eshell

See bug#64529.

* lisp/eshell/esh-var.el (eshell-variable-aliases-list): Add '$GID'.

* test/lisp/eshell/esh-var-tests.el (esh-var-test/gid-var): New test.

* doc/misc/eshell.texi (Variables): Document '$GID'.

* etc/NEWS: Announce this change (and the previous change for '$UID').

17 months ago; * doc/misc/eshell.texi: Fix last change.
Jim Porter [Sat, 8 Jul 2023 19:13:22 +0000 (12:13 -0700)]
; * doc/misc/eshell.texi: Fix last change.

17 months agopp-fill: Fix missing indentation in some cases
Stefan Monnier [Sat, 8 Jul 2023 19:10:23 +0000 (15:10 -0400)]
pp-fill: Fix missing indentation in some cases

* lisp/emacs-lisp/pp.el (pp-fill): Improve handling of char-tables.
(pp-buffer): Improve backward compatibility.

17 months ago* lisp/menu-bar.el (menu-bar-search-options-menu): Don't quote lambdas
Stefan Monnier [Sat, 8 Jul 2023 19:08:10 +0000 (15:08 -0400)]
* lisp/menu-bar.el (menu-bar-search-options-menu): Don't quote lambdas

Expose the commands to the compiler.

17 months ago; Simplify last change to cyrillic.el.
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

17 months ago; * test/lisp/shell-tests.el: Add tests for shell-dirtrack-mode (bug#64311)
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)

17 months agoMinor tree-sitter cleanups
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.

17 months agoMinor search_buffer cleanup
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).

17 months ago; Fix last change to lisp/language/cyrillic.el.
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

17 months agoRearrange setting date and modes in Tramp
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.

17 months agoFix EmacsDrawLine again
Po Lu [Sat, 8 Jul 2023 13:49:21 +0000 (21:49 +0800)]
Fix EmacsDrawLine again

* java/org/gnu/emacs/EmacsDrawLine.java (perform): Symmetrically
adjust coordinates to cover the last pixel.  Then, fill the left
most pixel of the line.

17 months agoMerge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
Eli Zaretskii [Sat, 8 Jul 2023 13:43:37 +0000 (16:43 +0300)]
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs

17 months agoFix condition-case-unless-debug with :success
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.

17 months agoMention minibuffer-next-completion in completion-help
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)

17 months agoMerge from origin/emacs-29
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

17 months agoFix 'toggle-side-windows' with 3 or more side windows
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)

17 months ago; Fix last change.
Eli Zaretskii [Sat, 8 Jul 2023 08:48:12 +0000 (11:48 +0300)]
; Fix last change.

17 months ago* etc/NEWS: Document changes to coding-system mnemonics.
Eli Zaretskii [Sat, 8 Jul 2023 08:47:32 +0000 (11:47 +0300)]
* etc/NEWS: Document changes to coding-system mnemonics.

17 months agoDisambiguate mode line indication for utf-8 and utf-16
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.

17 months agoFix 'shell-dirtrack-mode' showing as enabled in unrelated buffers
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)

17 months agoAvoid aborts when trying to 'read' sub-char-tables
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.

17 months ago; * doc/misc/eshell.texi: Fix typos and clean up unclear wording.
Jim Porter [Sat, 8 Jul 2023 01:19:08 +0000 (18:19 -0700)]
; * doc/misc/eshell.texi: Fix typos and clean up unclear wording.

17 months agoDocument some missing Eshell commands
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'.

17 months agoUpdate Android port
Po Lu [Sat, 8 Jul 2023 02:15:38 +0000 (10:15 +0800)]
Update Android port

* java/org/gnu/emacs/EmacsService.java (DEBUG_IC)
(DEBUG_THREADS): Improve commentary.
* src/androidterm.c (handle_one_android_event): Signal
completion of IME events that have lost their frames.
(requestCursorUpdates): Don't set an edit counter as this event
won't be passed to the text conversion machinery.

17 months ago; Fix whitespace
Po Lu [Sat, 8 Jul 2023 00:55:24 +0000 (08:55 +0800)]
; Fix whitespace

* src/android.c (android_blit_xor):
(android_check_query_urgent):
(android_run_in_emacs_thread):
(android_update_extracted_text): Fix whitespace.

17 months agoMerge remote-tracking branch 'origin/master' into feature/android
Po Lu [Sat, 8 Jul 2023 00:53:55 +0000 (08:53 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android

17 months ago* lisp/emacs-lisp/bytecomp.el (byte-compile-eval): Fix bug#64232
Stefan Monnier [Fri, 7 Jul 2023 16:09:50 +0000 (12:09 -0400)]
* lisp/emacs-lisp/bytecomp.el (byte-compile-eval): Fix bug#64232

17 months agoMark failing icalendar test as unstable (bug#56241)
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.

17 months ago; * src/coding.c (Fcoding_system_put): Improve doc string.
Eli Zaretskii [Fri, 7 Jul 2023 07:29:55 +0000 (10:29 +0300)]
; * src/coding.c (Fcoding_system_put): Improve doc string.

17 months ago* lisp/tab-bar.el: Fix tab-bar-tab-name-current for active minibuffer.
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.

17 months ago; * doc/lispref/keymaps.texi (Key Binding Commands): Fix typo.
Eli Zaretskii [Fri, 7 Jul 2023 06:59:52 +0000 (09:59 +0300)]
; * doc/lispref/keymaps.texi (Key Binding Commands): Fix typo.

17 months ago* lisp/tab-bar.el: Improve tab-bar-minibuffer-restore-tab (bug#64373).
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.

17 months ago; Improve documentation of 'vertical-motion' in ELisp manual
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'.

17 months agoUpdate Android port
Po Lu [Fri, 7 Jul 2023 06:22:38 +0000 (14:22 +0800)]
Update Android port

* java/org/gnu/emacs/EmacsSurfaceView.java (copyToFrontBuffer):
Use fallback bit blit function on Android 7.0 as well, as
crashes have been observed in drawBitmap.

17 months ago; * src/indent.c (Fvertical_motion): Doc fix.
Eli Zaretskii [Fri, 7 Jul 2023 06:16:12 +0000 (09:16 +0300)]
; * src/indent.c (Fvertical_motion): Doc fix.

17 months agoUpdate Android port
Po Lu [Fri, 7 Jul 2023 02:00:56 +0000 (10:00 +0800)]
Update Android port

* lisp/tool-bar.el (modifier-bar-modifier-list): New variable.
(modifier-bar-button): New function.
(tool-bar-event-apply-alt-modifier)
(tool-bar-event-apply-super-modifier)
(tool-bar-event-apply-hyper-modifier)
(tool-bar-event-apply-shift-modifier)
(tool-bar-event-apply-control-modifier)
(tool-bar-event-apply-meta-modifier): Factor out modifier bar
logic to that function, and redisplay the tool bar where
necessary.
(modifier-bar-available-p): New function.
(modifier-bar-mode): Disable tool bar items corresponding to
modifier keys that've already been pressed.

* etc/images/shift.pbm: Regenerate from correct font.

17 months agoMerge remote-tracking branch 'origin/master' into feature/android
Po Lu [Fri, 7 Jul 2023 00:45:07 +0000 (08:45 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android

17 months ago; cperl-mode: Refine syntax of attributes
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.

17 months agoRevert "Use 'emacs-lisp-compilation-mode' in native compilation buffers"
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)

17 months ago; * lisp/dired.el (dired-no-confirm): Doc fix. (Bug#64493)
Eli Zaretskii [Thu, 6 Jul 2023 10:12:21 +0000 (13:12 +0300)]
; * lisp/dired.el (dired-no-confirm): Doc fix.  (Bug#64493)

18 months agoUse 'emacs-lisp-compilation-mode' in native compilation buffers
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)

18 months ago; Improve documentation of key-binding commands
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.

18 months ago; * etc/NEWS: News entry for previous change (bug#62164).
Spencer Baugh [Fri, 7 Apr 2023 21:54:06 +0000 (17:54 -0400)]
; * etc/NEWS: News entry for previous change (bug#62164).

18 months agoAllow floating the ediff control frame under X
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)

18 months ago; * etc/NEWS: Fix punctuation and whitespace of last added entry.
Eli Zaretskii [Thu, 6 Jul 2023 07:33:43 +0000 (10:33 +0300)]
; * etc/NEWS: Fix punctuation and whitespace of last added entry.

18 months agoSupport right-align in mode-line
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)

18 months agoImprove Python imports management commands
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)

18 months agoFix target-async and background execution in gdb-mi.el
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

18 months agoUpdate Android port
Po Lu [Thu, 6 Jul 2023 01:35:27 +0000 (09:35 +0800)]
Update Android port

* java/org/gnu/emacs/EmacsNative.java (scaledDensity): Announce
new argument `scaledDensity'.
* java/org/gnu/emacs/EmacsNoninteractive.java (main): Specify
new argument.
* java/org/gnu/emacs/EmacsService.java (onCreate): Compute an
adjusted DPI for the font size based on the ratio between
density and scaledDensity.
(run): Specify that adjusted density.
* src/android.c (setEmacsParams): Set
`android_scaled_pixel_density'.
* src/android.h: (android_scaled_pixel_density: New variable.
* src/androidterm.c (android_term_init): Set `font_resolution'.
* src/androidterm.h (struct android_display_info): New field.
* src/font.c (font_pixel_size, font_find_for_lface)
(font_open_for_lface, Ffont_face_attributes, Fopen_font): Use
FRAME_RES instead of FRAME_RES_Y.
* src/frame.h (FRAME_RES): New macro.  Use this to convert
between font point and pixel sizes as opposed to FRAME_RES_Y.
* src/w32font.c (fill_in_logfont):
* src/xfaces.c (Fx_family_fonts, set_lface_from_font): Use
FRAME_RES instead of FRAME_RES_Y.  (bug#64444)

18 months agoMerge remote-tracking branch 'origin/master' into feature/android
Po Lu [Thu, 6 Jul 2023 00:34:26 +0000 (08:34 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android

18 months ago; fix last change
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.

18 months agoImprove some big regexps
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.

18 months ago* lisp/tab-bar.el: Restore the original tab where minibuffer was activated.
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).

18 months ago* lisp/emacs-lisp/syntax.el (syntax-propertize-rules): Fix bug#64459
Stefan Monnier [Wed, 5 Jul 2023 15:37:28 +0000 (11:37 -0400)]
* lisp/emacs-lisp/syntax.el (syntax-propertize-rules): Fix bug#64459

18 months agoAdapt information about Tramp's temporary directory
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.

18 months agoFix bug#64445
Po Lu [Wed, 5 Jul 2023 12:16:14 +0000 (20:16 +0800)]
Fix bug#64445

* doc/emacs/android.texi (Android Environment): Document that
Emacs also receives READ_EXTERNAL_STORAGE by default on old
versions of Android.
* java/AndroidManifest.xml.in: Request READ_EXTERNAL_STORAGE.
(bug#64445)

18 months ago* test/lisp/net/tramp-tests.el (tramp-test49-unload): Extend test.
Michael Albinus [Wed, 5 Jul 2023 09:33:57 +0000 (11:33 +0200)]
* test/lisp/net/tramp-tests.el (tramp-test49-unload): Extend test.

18 months ago; * doc/emacs/emacs.texi (Emacs and Android): Fix menu.
Po Lu [Wed, 5 Jul 2023 08:36:21 +0000 (16:36 +0800)]
; * doc/emacs/emacs.texi (Emacs and Android): Fix menu.

18 months ago; Update Android port
Po Lu [Wed, 5 Jul 2023 08:34:51 +0000 (16:34 +0800)]
; Update Android port

* doc/emacs/android.texi (Android): Fix discrepancies between
menu and sectioning.

18 months ago`remote-file-name-access-timeout' being 0 is equal to nil
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.

18 months agoFix crash between Android 4.0 and Android 5.1
Po Lu [Wed, 5 Jul 2023 06:57:15 +0000 (14:57 +0800)]
Fix crash between Android 4.0 and Android 5.1

* java/org/gnu/emacs/EmacsService.java (detectMouse): Don't use
function that is not present on Android 4.0.

18 months agoUpdate Android port
Po Lu [Wed, 5 Jul 2023 03:39:45 +0000 (11:39 +0800)]
Update Android port

* doc/lispref/commands.texi (Misc Events): Correctly index
`set-text-conversion-style'.
* lisp/tool-bar.el (tool-bar-event-apply-alt-modifier)
(tool-bar-event-apply-super-modifier)
(tool-bar-event-apply-hyper-modifier)
(tool-bar-event-apply-shift-modifier)
(tool-bar-event-apply-control-modifier)
(tool-bar-event-apply-meta-modifier): Pass t when restoring text
conversion style.
* src/keyboard.c (restore_reading_key_sequence): New function.
(read_key_sequence): Set `reading_key_sequence' where necessary.
* src/keyboard.h: Declare variable.
* src/textconv.c (check_postponed_buffers): New function.
(Fset_text_conversion_style): New argument.  If set, and a key
sequence is being read, postpone resetting the IME until the key
sequence is read.
(syms_of_textconv): Clear new variable and add staticpro.
* src/textconv.h: Update prototypes.

18 months agoFix parsing of mail address headers (bug#64296)
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.

18 months agoMerge remote-tracking branch 'origin/master' into feature/android
Po Lu [Wed, 5 Jul 2023 00:45:06 +0000 (08:45 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android

18 months agoFix `async-shell-command-display-buffer' display
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).

18 months agoGrammar fixes in 'remote-file-name-access-timeout' descriptions
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.

18 months ago; Minor grammar fixes to tramp manual
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.

18 months agoImprove remote-file-name-access-timeout NEWS entries
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.

18 months ago; * etc/NEWS: Fix recently added entry.
Eli Zaretskii [Tue, 4 Jul 2023 16:35:28 +0000 (19:35 +0300)]
; * etc/NEWS: Fix recently added entry.

18 months agoImprove documentation of 'remote-file-name-access-timeout'
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)

18 months agoImprove natnump shortdoc
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.

18 months ago; cperl-mode: Avoid excessive regexp backtracking (Bug#8077)
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

18 months agocorrect info documentation of benchmark-call
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.

18 months agoobjc-mode: Handle (de)propertization of < and >.
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.

18 months agoApply remote-file-name-access-timeout in desktop.el and recentf.el
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.

18 months agoobjc-mode: Fix exceptions in fontification.
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.

18 months ago; * test/lisp/progmodes/cperl-mode-tests.el: add missing backslashes
Mattias Engdegård [Tue, 4 Jul 2023 08:49:48 +0000 (10:49 +0200)]
; * test/lisp/progmodes/cperl-mode-tests.el: add missing backslashes

18 months agoImplement a tool bar containing modifier keys
Po Lu [Tue, 4 Jul 2023 08:40:20 +0000 (16:40 +0800)]
Implement a tool bar containing modifier keys

* doc/emacs/frames.texi (Tool Bars): Describe modifier bars.
* doc/lispref/keymaps.texi (Extended Menu Items, Tool Bar):
Document changes to tool bar menu item handling and secondary
tool bars.
* etc/NEWS: Announce changes.
* lisp/simple.el (event-apply-modifier): Correctly apply Ctrl
and Shift modifiers to lower case ASCII key events that already
have other modifiers applied.
* lisp/tool-bar.el (tool-bar--cache-key)
(tool-bar--secondary-cache-key): New defsubsts.
(tool-bar--flush-cache): Flush secondary tool bar cache.
(tool-bar-make-keymap): Include secondary tool bar if necessary.
(tool-bar-make-keymap-1): New arg MAP.  Generate a keymap for
that map if specified, else default to tool-bar-map.
(set-text-conversion-style, tool-bar-apply-modifiers)
(overriding-text-conversion-style)
(tool-bar-event-apply-alt-modifier)
(tool-bar-event-apply-super-modifier)
(tool-bar-event-apply-hyper-modifier)
(tool-bar-event-apply-shift-modifier)
(tool-bar-event-apply-control-modifier)
(tool-bar-event-apply-meta-modifier, modifier-bar-mode): New
functions.
* src/dispextern.h (enum tool_bar_item_idx): Add
TOOL_BAR_ITEM_WRAP.
* src/frame.c (make_frame): Clear new field `tool_bar_wraps_p'.
* src/frame.h (struct frame): New field `tool_bar_wraps_p'.
* src/keyboard.c (parse_tool_bar_item): Handle QCwrap properties
in tool bar menu items.
(syms_of_keyboard): New defsym QCwrap.
* src/xdisp.c (build_desired_tool_bar_string): Clear
f->tool_bar_wraps_p and set it appropriately.  Insert new line
characters in the tool bar string upon encountering a wrap
character.
(display_tool_bar_line): Stop at EOB, not line end.  Reseat on
the next line upon encountering EOL characters.
(redisplay_tool_bar): Allow rows to be different heights if
explicit new lines are present upon the tool bar string.

18 months ago; * src/sfnt.c (sfnt_decompose_compound_glyph): Pacify warning.
Po Lu [Tue, 4 Jul 2023 00:53:37 +0000 (08:53 +0800)]
; * src/sfnt.c (sfnt_decompose_compound_glyph): Pacify warning.

18 months agoMerge remote-tracking branch 'origin/master' into feature/android
Po Lu [Tue, 4 Jul 2023 00:52:29 +0000 (08:52 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android

18 months agocperl-mode: Announce the news in etc/NEWS
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".

18 months agocperl-mode.el: Add support for new Perl syntax in Perl 5.36 and 5.38
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.

18 months ago* lisp/progmodes/grep.el (rgrep): Fix docstring.
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].

18 months ago; * lisp/misc.el (duplicate-region-final-position): Fix version info.
Michael Albinus [Mon, 3 Jul 2023 16:25:40 +0000 (18:25 +0200)]
; * lisp/misc.el (duplicate-region-final-position): Fix version info.

18 months agoAdd user option remote-file-name-access-timeout
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.

18 months agoMerge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
Eli Zaretskii [Mon, 3 Jul 2023 16:04:13 +0000 (19:04 +0300)]
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs

18 months agoRemove files in the nt/ directory that are unused for a long time
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.

18 months agoRevert "Account for leading timestamps in erc-match"
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)

18 months ago; Fix documentation of minibuffer-completion commands
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)