]> git.eshelyaron.com Git - emacs.git/log
emacs.git
18 months ago; * src/android.c (android_wc_lookup_string): Fix typo.
Po Lu [Fri, 23 Jun 2023 03:39:57 +0000 (11:39 +0800)]
; * src/android.c (android_wc_lookup_string): Fix typo.

18 months agoCorrectly check result of string lookup
Po Lu [Fri, 23 Jun 2023 03:39:36 +0000 (11:39 +0800)]
Correctly check result of string lookup

* src/android.c (android_wc_lookup_string): Check that
GetStringChars returns non-NULL, not if it throws an exception.

18 months agoMerge remote-tracking branch 'origin/master' into feature/android
Po Lu [Fri, 23 Jun 2023 00:25:30 +0000 (08:25 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android

18 months ago; * doc/lispref/frames.texi (Frame Layout): Fix typo.
Po Lu [Fri, 23 Jun 2023 00:24:45 +0000 (08:24 +0800)]
; * doc/lispref/frames.texi (Frame Layout): Fix typo.

18 months agolatin-ltx.el: Add \Phi; fix bug#64212
Stefan Monnier [Thu, 22 Jun 2023 17:11:03 +0000 (13:11 -0400)]
latin-ltx.el: Add \Phi; fix bug#64212

* lisp/leim/quail/latin-ltx.el (greek letters): Fix regexp which was
meant to avoid lowercase phi only.

18 months agoFix orgtbl-to-table.el function to include last cell border
Jakub Ječmínek [Wed, 21 Jun 2023 13:50:31 +0000 (15:50 +0200)]
Fix orgtbl-to-table.el function to include last cell border

* lisp/org/org-table.el (orgtbl-to-table.el): Perform character
replacement in the temp buffer and fix missing cell border.  (Bug#64205)

Copyright-paperwork-exempt: yes

18 months ago* etc/NEWS: Announce the fix for bug#44418 (,@ prefix syntax)
Mattias Engdegård [Thu, 22 Jun 2023 11:17:00 +0000 (13:17 +0200)]
* etc/NEWS: Announce the fix for bug#44418 (,@ prefix syntax)

18 months agoRearrange some Tramp declarations
Michael Albinus [Thu, 22 Jun 2023 09:07:10 +0000 (11:07 +0200)]
Rearrange some Tramp declarations

* lisp/net/tramp.el (tramp-prefix-format, tramp-prefix-regexp)
(tramp-method-regexp, tramp-postfix-method-format)
(tramp-postfix-method-regexp, tramp-prefix-ipv6-format)
(tramp-prefix-ipv6-regexp, tramp-postfix-ipv6-format)
(tramp-postfix-ipv6-regexp, tramp-postfix-host-format)
(tramp-postfix-host-regexp, tramp-remote-file-name-spec-regexp)
(tramp-file-name-structure, tramp-file-name-regexp)
(tramp-completion-method-regexp)
(tramp-completion-file-name-regexp):
* lisp/net/tramp-gvfs.el (tramp-gvfs-dbus-event-vector):
Rearrange declarations.

18 months agoMerge from origin/emacs-29
Michael Albinus [Thu, 22 Jun 2023 09:01:23 +0000 (11:01 +0200)]
Merge from origin/emacs-29

0154f5885e3 Merge branch 'emacs-29' of git.sv.gnu.org:/srv/git/emacs ...
111efb0dd7f Merge branch 'emacs-29' of git.sv.gnu.org:/srv/git/emacs ...
948b471756e Require ls-lisp in Tramp only when needed
90c03ffcd4b After minibuffer action, don't make the minibuffer current

18 months ago; Merge from origin/emacs-29
Michael Albinus [Thu, 22 Jun 2023 08:50:49 +0000 (10:50 +0200)]
; Merge from origin/emacs-29

The following commit was skipped:

95091b77f0b Fix some tree-sitter :match regexps

18 months agoMerge from origin/emacs-29
Michael Albinus [Thu, 22 Jun 2023 08:50:46 +0000 (10:50 +0200)]
Merge from origin/emacs-29

3d930b928fe Eglot: fix relative position of coinciding inlay hint ove...
aad7d68164c ; * doc/lispref/display.texi (Display Tables): Remove ext...

18 months ago; Minor fixes of recently-installed regexp documentation changes
Eli Zaretskii [Thu, 22 Jun 2023 05:32:16 +0000 (08:32 +0300)]
; Minor fixes of recently-installed regexp documentation changes

* doc/emacs/search.texi (Regexps):
* doc/lispref/searching.texi (Regexp Special): Keep the old
terminology as "a.k.a.".
(Char Classes, POSIX Regexps, POSIX Regexps): Add cross-references
to where "bracket expression" is defined.  (Bug#64128)

18 months agoMerge remote-tracking branch 'origin/master' into feature/android
Po Lu [Thu, 22 Jun 2023 01:02:19 +0000 (09:02 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android

18 months agoAdd Tramp option showing ad-hoc multi-hops
Michael Albinus [Wed, 21 Jun 2023 16:25:32 +0000 (18:25 +0200)]
Add Tramp option showing ad-hoc multi-hops

* doc/misc/tramp.texi (Ad-hoc multi-hops):
Describe tramp-show-ad-hoc-proxies.

* lisp/net/tramp.el (tramp-show-ad-hoc-proxies): New defcustom.
(tramp-make-tramp-file-name): Use it.
(tramp-make-tramp-hop-name): Don't add hop twice.

* test/lisp/net/tramp-tests.el (tramp-test02-file-name-dissect)
(tramp-test02-file-name-dissect-simplified)
(tramp-test02-file-name-dissect-separate): Adapt tests.

18 months agoDon't compile (+ X 0) as (* X 1)
Mattias Engdegård [Wed, 21 Jun 2023 14:56:12 +0000 (16:56 +0200)]
Don't compile (+ X 0) as (* X 1)

Previously (+ X 0) was reduced to (+ X) which became (* X 1) in
codegen, but this is wrong for X = -0.0 and also slightly slower.

* lisp/emacs-lisp/byte-opt.el (byte-optimize-plus): Don't reduce an
addition to (+ X) by eliminating zeros; retain one 0 argument.
* test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--test-cases):
Add test case.

18 months agoPrefix syntax for ,@ in elisp-mode (bug#44418)
Mattias Engdegård [Wed, 21 Jun 2023 09:03:14 +0000 (11:03 +0200)]
Prefix syntax for ,@ in elisp-mode (bug#44418)

* lisp/progmodes/elisp-mode.el (elisp-mode-syntax-propertize):
Use prefix syntax for ,@ to avoid the @ becoming part of a symbol
that follows.
* test/lisp/emacs-lisp/edebug-tests.el (edebug-tests-with-normal-env):
Propertise inserted Lisp code to keep the test working.

18 months agoStraighten regexp postfix operator after zero-width assertion parse
Mattias Engdegård [Tue, 20 Jun 2023 10:12:50 +0000 (12:12 +0200)]
Straighten regexp postfix operator after zero-width assertion parse

The zero-width assertions \` \' \b \B were parsed in a sloppy way so
that a following postfix repetition operator could yield surprising
results.  For instance, "\\b*" would act as "\\b\\*", and "xy\\b*"
would act as "\\(?:xy\\b\\)*".

Except for \` and ^, any following postfix operator now applies to the
zero-width assertion itself only, which is predictable and consistent
with other assertions, if useless in practice.
For historical compatibility, an operator character following \` and ^
always becomes a literal. (Bug#64128)

* src/regex-emacs.c (regex_compile):
Set `laststart` appropriately for each zero-width assertion instead
of leaving it with whatever value it had before.
Remove a redundant condition.
* test/src/regex-emacs-tests.el
(regexp-tests-zero-width-assertion-repetition): New test.
* doc/lispref/searching.texi (Regexp Special):
Say that repetition operators are not special after \`,
and that they work as expected after other backslash escapes.
* etc/NEWS: Announce.

18 months agoCorrect handling of template markers on deletion/insertion
Alan Mackenzie [Wed, 21 Jun 2023 15:36:56 +0000 (15:36 +0000)]
Correct handling of template markers on deletion/insertion

This fixes bug#62841.

In particular, correct the syntax-table text properties on the
remaining <...>s.

* lisp/progmodes/cc-align.el
(c-lineup-template-args-indented-from-margin): New lineup
function.

* lisp/progmodes/cc-defs.el (c-put-char-properties): New macro.
(c-search-forward-non-nil-char-property): Handle terminating
limit correctly.

* lisp/progmodes/cc-engine.el
(c-clear-<-pair-props-if-match-after)
(c-clear->-pair-props-if-match-before): Return the position
outside the matching < or >, not merely t.
(c-end-of-literal): New function.
(c-unmark-<>-around-region): New function.
(c-before-change-check-<>-operators): Refactor, calling
c-unmark-<>-around-region.
(c-<>-get-restricted): New function, extracted from
c-restore-<>-properties.
(c-restore-<>-properties): Handle ">" characters whose matching
"<" has not yet been encountered.
(c-ml-string-opener-at-or-around-point): Fix an off by one
error.
(c-backward-<>-arglist): New parameter restricted-function, a
function which calculates c-restricted-<>-arglists for the
current operation.

* lisp/progmodes/cc-fonts.el (c-font-lock-c++-using): Check
point is less than limit in the loop.

* lisp/progmodes/cc-langs.el
(c-get-state-before-change-functions)
(c-before-font-lock-functions): Add the new function
c-unmark-<>-around-region into the C++ and Java values of the
variable.

* lisp/progmodes/cc-mode.el (c-clear-string-fences)
(c-restore-string-fences): Neutralize and restore the
syntax-table properties between an unbalanced " and EOL.

* lisp/progmodes/cc-vars.el (c-offsets-alist): Put new lineup
function c-lineup-template-args-indented-from-margin into entry
for template-args-cont.

* doc/misc/cc-mode.texi (List Line-Up): Document
c-lineup-template-args-indented-from-margin.

18 months agoExtend handling of prefix arg in some kmacro.el commands
Eli Zaretskii [Wed, 21 Jun 2023 13:58:32 +0000 (16:58 +0300)]
Extend handling of prefix arg in some kmacro.el commands

* lisp/kmacro.el (kmacro-call-ring-2nd)
(kmacro-call-ring-2nd-repeat, kmacro-end-macro)
(kmacro-end-and-call-macro): Accept just "C-u" and interpret it as
a numeric argument of 4.  Suggested by Al Petrofsky
<al@petrofsky.org>.  (Bug#64138)

18 months agoPrevent crashes on macOS when fullscreen frame is deleted
Daniel Martín [Sun, 18 Jun 2023 22:23:03 +0000 (00:23 +0200)]
Prevent crashes on macOS when fullscreen frame is deleted

* src/nsterm.m (ns_free_frame_resources): Remove the frame's
window from the hierarchy.  (Bug#64147)

18 months agoAllow --debug-init to debug all errors in init files
Eli Zaretskii [Wed, 21 Jun 2023 13:27:42 +0000 (16:27 +0300)]
Allow --debug-init to debug all errors in init files

* lisp/startup.el (startup--load-user-init-file): Ignore the value
of 'debug-ignored-errors' when loading init files if we were
invoked interactively with --debug-init.  (Bug#64163)

18 months agoDelete eval-command-interactive-spec
Sean Whitton [Wed, 21 Jun 2023 12:26:09 +0000 (13:26 +0100)]
Delete eval-command-interactive-spec

* etc/NEWS: Delete announcement of eval-command-interactive-spec.
* lisp/emacs-lisp/subr-x.el (eval-command-interactive-spec): Delete.

18 months ago* configure.ac: Update GCC bug number in comment.
Paul Eggert [Wed, 21 Jun 2023 07:06:44 +0000 (00:06 -0700)]
* configure.ac: Update GCC bug number in comment.

18 months ago; * src/pgtkfns.c (frame_geometry): Fix typo in last change.
Po Lu [Wed, 21 Jun 2023 03:32:41 +0000 (11:32 +0800)]
; * src/pgtkfns.c (frame_geometry): Fix typo in last change.

18 months agoUpdate Android port
Po Lu [Wed, 21 Jun 2023 02:31:05 +0000 (10:31 +0800)]
Update Android port

* src/androidfns.c (android_set_tool_bar_position):
(frame_geometry):
* src/androidterm.c (android_flash):
(android_clear_under_internal_border): Synchronize with X.

18 months agoMerge remote-tracking branch 'origin/master' into feature/android
Po Lu [Wed, 21 Jun 2023 02:12:18 +0000 (10:12 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android

18 months agoAllow displaying tool bar on the bottom of the frame
Po Lu [Wed, 21 Jun 2023 02:04:31 +0000 (10:04 +0800)]
Allow displaying tool bar on the bottom of the frame

* src/xterm.c (x_clear_under_internal_border): Subtract bottom
margins before clearing bottom border.
(XTflash): Subtract bottom margins before flashing mini window.

* src/xfns.c (x_set_tool_bar_position): Allow setting different
values outside of GTK+.
(frame_geometry): Adjust inner width and height for tool bars
placed on the bottom.

* src/xdisp.c (init_xdisp): Calculate using top margins only.

* src/window.c (resize_frame_windows): Fix commentary.

* src/w32fns.c (Fw32_frame_geometry): Report tool bar position
correctly.
(w32_clear_under_internal_border): Subtract bottom margins
prior to clearing bottom border.
(w32_set_tool_bar_position): New function.
(Fw32_frame_edges): Subtract bottom tool bar from inner width and
height.
(w32_frame_parm_handlers): Add `set_tool_bar_position' parameter
handler.

* src/pgtkterm.c (pgtk_flash): Subtract bottom
margins before clearing bottom border.
(XTflash): Subtract bottom margins before flashing mini window.

* src/pgtkfns.c (frame_geometry): Set `inner_top' correctly.
(Fpgtk_set_mouse_absolute_pixel_position):
(Fpgtk_mouse_absolute_pixel_position):
(Fpgtk_page_setup_dialog):
(Fpgtk_get_page_setup): Wrap lines which cause C Mode to hang.

* src/nsterm.m (ns_clear_under_internal_border): Subtract bottom
margins before clearing bottom border.

* src/nsfns.m (ns_set_tool_bar_position): New function.  Error if
arg is not top.
(ns_frame_parm_handlers): Add that as the handler for
`tool-bar-position', to prevent it from being set to an invalid
value.

* src/haikuterm.c (haiku_flash): Subtract bottom margins before
flashing mini window.
(haiku_clear_under_internal_border): Subtract bottom margins
before clearing bottom border.

* src/haikufns.c (haiku_set_tool_bar_position): Allow setting
values other than `top'.
(frame_geometry): Take bottom margin into account when calculating
inner dimensions.

* src/frame.h (struct frame): Always define `tool_bar_position'.
(fset_tool_bar_position): Define function everywhere.
(FRAME_TOOL_BAR_POSITION): Define correctly on all toolkits.
(FRAME_TOOL_BAR_TOP_HEIGHT):
(FRAME_TOOL_BAR_TOP_LINES):
(FRAME_TOOL_BAR_BOTTOM_HEIGHT):
(FRAME_TOOL_BAR_BOTTOM_LINES): New macros.  Each pair returns the
tool bar dimensions only if the tool bar position is set
appropriately.
(FRAME_TOP_MARGIN, FRAME_TOP_MARGIN_HEIGHT): Only add tool bar
height if it is placed at the top of the frame.
(FRAME_BOTTOM_MARGIN, FRAME_BOTTOM_MARGIN_HEIGHT): Add ``bottom
margins''.
(FRAME_MARGINS, FRAME_MARGIN_HEIGHT): Move original margin macro
here.
(FRAME_PIXEL_HEIGHT_TO_TEXT_LINES):
(FRAME_TEXT_TO_PIXEL_HEIGHT):
(FRAME_PIXEL_TO_TEXT_HEIGHT):
(FRAME_INNER_HEIGHT): Subtract both vertical margins.

* src/frame.c (adjust_frame_size): Subtract both top and bottom
margins to determine the inner height.
(make_frame): Initialize `f->tool_bar_position' unconditionally.

* src/dispnew.c (adjust_frame_glyphs_for_window_redisplay): Place
internal tool bar on bottom if requested.

* doc/lispref/frames.texi (Frame Layout): Describe the possibility
of the tool bar being placed below the inner area of the frame.
(Layout Parameters): Describe that `tool-bar-position' is now
supported almost everywhere.

18 months agoMerge remote-tracking branch 'origin/master' into feature/android
Po Lu [Wed, 21 Jun 2023 00:52:25 +0000 (08:52 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android

18 months ago; cperl-mode.el: Eliminate cperl-font-lock-multiline
Harald Jörg [Tue, 20 Jun 2023 20:51:29 +0000 (22:51 +0200)]
; cperl-mode.el: Eliminate cperl-font-lock-multiline

This undocumented variable was always set to t.  There was no
function to change the variable.

* lisp/progmodes/cperl-mode.el: Eliminate top-level variables
cperl-font-lock-multiline and cperl-font-lock-multiline-start.
(cperl-mode): Don't set cperl-font-lock-multiline.
(cperl-windowed-init): Don't set cperl-font-lock-multiline.
(cperl-init-faces): Eliminate (if cperl-font-lock-multiline)
conditionals.

18 months agoFix ldap-search when WITHDN is non-nil (bug#64089)
Filipp Gunbin [Tue, 20 Jun 2023 17:43:32 +0000 (20:43 +0300)]
Fix ldap-search when WITHDN is non-nil (bug#64089)

* lisp/net/ldap.el (ldap-search): Apply ldap-decode-attribute only to
attribute pairs.
(ldap-search-internal): Parse dn with the same regexp as other attrs;
use its value instead of the whole line.  Include entry into result
only if valid dn is present, to avoid treating process sentinel
messages like an entry.  Fix accidental match data clobbering.
Document return value format.

18 months agoSignal error upon setting unsupported tool bar position
Po Lu [Tue, 20 Jun 2023 02:13:41 +0000 (02:13 +0000)]
Signal error upon setting unsupported tool bar position

* src/haikufns.c (haiku_set_tool_bar_position): New function.
Port non-GTK code from X.
(haiku_frame_parm_handlers): Add new function.

18 months ago; * src/androidfns.c (android_frame_parm_handlers): Fix typo.
Po Lu [Tue, 20 Jun 2023 02:13:09 +0000 (10:13 +0800)]
; * src/androidfns.c (android_frame_parm_handlers): Fix typo.

18 months agoSynchronize tool bar position code with X
Po Lu [Tue, 20 Jun 2023 02:06:34 +0000 (10:06 +0800)]
Synchronize tool bar position code with X

* src/androidfns.c (android_set_tool_bar_position): New
function.
(android_frame_parm_handlers): Add new frame param handler.

18 months agoMerge remote-tracking branch 'origin/master' into feature/android
Po Lu [Tue, 20 Jun 2023 01:18:27 +0000 (09:18 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android

18 months agoDon't read all headers in gnus thread referral (bug#63842)
Andrew G Cohen [Mon, 19 Jun 2023 23:59:51 +0000 (07:59 +0800)]
Don't read all headers in gnus thread referral (bug#63842)

Gnus thread referral tries to add newly found articles to an existing
summary buffer. When the list of such articles is known from searching
we can speed things up by only entering these specific headers into
the dependencies table.

* lisp/gnus/gnus-sum.el (gnus-summary-refer-thread): Don't set
`gnus-read-all-available-headers' when finding articles by searching.

18 months ago; Improve 'rx' form from edb0862f5e69
Jim Porter [Mon, 19 Jun 2023 20:45:37 +0000 (13:45 -0700)]
; Improve 'rx' form from edb0862f5e69

Thanks to Michael Albinus for the suggestion.

* test/lisp/eshell/esh-util-tests.el
(esh-util-test/eshell-stringify/list): Use 'any' instead of 'or' in
'rx' form.

18 months agoCall them “bracket expressions” more consistently
Paul Eggert [Mon, 19 Jun 2023 18:09:00 +0000 (11:09 -0700)]
Call them “bracket expressions” more consistently

Emacs comments and doc were inconsistent about the name used for
regexps like [a-z].  Sometimes it called them “character
alternatives”, sometimes “character sets”, sometimes “bracket
expressions”.  Prefer “bracket expressions” as it is less confusing:
POSIX and most other programs’ doc uses “bracket expressions”,
“alternative” is also used in the Emacs documentation to talk about
...\|... in regexps, and “character set” normally has a different
meaning in Emacs.

18 months agoDocument Emacs vs POSIX REs
Paul Eggert [Mon, 19 Jun 2023 18:09:00 +0000 (11:09 -0700)]
Document Emacs vs POSIX REs

* doc/lispref/searching.texi (Longest Match):
Rename from POSIX Regexps, as this section
is about longest-match functions, not about POSIX regexps.
(POSIX Regexps): New section.

18 months agoDocument regular expression special cases better
Paul Eggert [Mon, 19 Jun 2023 18:09:00 +0000 (11:09 -0700)]
Document regular expression special cases better

In particular, document that escape sequences like \b*
are currently buggy.

18 months agoAdapt Tramp specific tests in eglot-tests.el
Michael Albinus [Tue, 13 Dec 2022 19:06:48 +0000 (20:06 +0100)]
Adapt Tramp specific tests in eglot-tests.el

* test/lisp/progmodes/eglot-tests.el (tramp): Move up.
(tramp-sh): Don't require.
(eglot--cleanup-after-test): Delete Tramp buffers if needed.
(eglot-tests-lsp-abiding-column): Rename from `eglot-lsp-abiding-column'.
(tramp-histfile-override): Declare.
(eglot--call-with-tramp-test):
Use `ert-remote-temporary-file-directory'.  Skip if needed.
(eglot--tramp-test, eglot--tramp-test-2): Don't skip.

18 months ago* lib-src/Makefile.in (seccomp-filter$(EXEEXT)): Link with Gnulib.
Po Lu [Mon, 19 Jun 2023 08:41:58 +0000 (16:41 +0800)]
* lib-src/Makefile.in (seccomp-filter$(EXEEXT)): Link with Gnulib.

18 months ago* src/regex-emacs.c (regex_compile): Remove useless condition
Mattias Engdegård [Mon, 19 Jun 2023 08:25:15 +0000 (10:25 +0200)]
* src/regex-emacs.c (regex_compile): Remove useless condition

This condition didn't have any visible effect (as ^ is not a
repetition operator); all it did was to generate slightly worse regexp
bytecode for out-of-place (literal) ^ in the midst of literal
characters (bug#64128).

18 months agoUpdate Android port
Po Lu [Mon, 19 Jun 2023 07:26:07 +0000 (15:26 +0800)]
Update Android port

* java/org/gnu/emacs/EmacsView.java (EmacsView, dimensionsLock):
New field.
(<init>): Create new lock object.
(handleDirtyBitmap, onLayout, onAttachedToWindow): Make sure
measuredWidth and measuredHeight are extracted and set
atomically.  Send Expose upon layout changes if the view has
grown.

18 months ago; * exec/Makefile.in (clean): Add `exec1'.
Po Lu [Mon, 19 Jun 2023 00:56:49 +0000 (08:56 +0800)]
; * exec/Makefile.in (clean): Add `exec1'.

18 months agoMerge remote-tracking branch 'origin/master' into feature/android
Po Lu [Mon, 19 Jun 2023 00:55:42 +0000 (08:55 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android

18 months ago; Fix test failure from 2f181d60323 (new 'pp' implementation)
Jim Porter [Sun, 18 Jun 2023 21:35:01 +0000 (14:35 -0700)]
; Fix test failure from 2f181d60323 (new 'pp' implementation)

* test/lisp/eshell/esh-util-tests.el
(esh-util-test/eshell-stringify/list): Be more flexible when checking
stringification of nested lists.

18 months agoMake C-SPC work in "M-x term"
Al Petrofsky [Sat, 17 Jun 2023 00:06:57 +0000 (20:06 -0400)]
Make C-SPC work in "M-x term"

* lisp/term.el (term-raw-map): Add bindings for C-SPC, C-M-SPC,
and C-M-/.
(term-send-C-@, term-send-C-M-_, term-send-C-M-@): New commands.
(Bug#64121)

18 months agoUpdate Android port
Po Lu [Sun, 18 Jun 2023 03:30:54 +0000 (11:30 +0800)]
Update Android port

* src/window.h (GCALIGNED_STRUCT): Improve documentation of
`last_mark'.
* src/xdisp.c (mark_window_display_accurate_1): Don't set
`last_mark' to -1 if the mark is inactive.

18 months agoEnable text conversion in conf-modes
Po Lu [Sun, 18 Jun 2023 02:26:13 +0000 (10:26 +0800)]
Enable text conversion in conf-modes

* lisp/textmodes/conf-mode.el (conf-mode-initialize): Set
text-conversion-style.

18 months agoMerge remote-tracking branch 'origin/master' into feature/android
Po Lu [Sun, 18 Jun 2023 00:56:54 +0000 (08:56 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

18 months agoMerge branch 'emacs-29' of git.sv.gnu.org:/srv/git/emacs into emacs-29
Michael Albinus [Sat, 17 Jun 2023 16:16:24 +0000 (18:16 +0200)]
Merge branch 'emacs-29' of git.sv.gnu.org:/srv/git/emacs into emacs-29

18 months agoMerge branch 'emacs-29' of git.sv.gnu.org:/srv/git/emacs into emacs-29
Michael Albinus [Sat, 17 Jun 2023 16:15:47 +0000 (18:15 +0200)]
Merge branch 'emacs-29' of git.sv.gnu.org:/srv/git/emacs into emacs-29

18 months agoRequire ls-lisp in Tramp only when needed
Michael Albinus [Sat, 17 Jun 2023 16:15:09 +0000 (18:15 +0200)]
Require ls-lisp in Tramp only when needed

* lisp/net/tramp-compat.el (ls-lisp): Require only on MS Windows.
(Bug#64124)

* lisp/net/tramp-sh.el (ls-lisp-use-insert-directory-program): Declare.
(tramp-sh-handle-insert-directory): Simplify.

* lisp/net/tramp.el (ls-lisp-use-insert-directory-program): Declare.
(tramp-handle-insert-directory): Require ls-lisp.  Simplify.

18 months agoAfter minibuffer action, don't make the minibuffer current
Alan Mackenzie [Sat, 17 Jun 2023 16:14:14 +0000 (16:14 +0000)]
After minibuffer action, don't make the minibuffer current

This fixes bug#63967.

* src/minibuf.c (minibuffer_unwind): After restoring the next
minibuffer outwards to the mini window (when
enable-recursive-minibuffers is non-nil), don't call
Fset_frame_selected_window, which used to set the current
window to be the mini window.

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

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

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

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

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

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

18 months agoEglot: fix relative position of coinciding inlay hint overlays (bug#64101)
João Távora [Sat, 17 Jun 2023 14:25:30 +0000 (15:25 +0100)]
Eglot: fix relative position of coinciding inlay hint overlays (bug#64101)

Only seems to happen on certain platforms, like Mac OS.  Reason
unknown reason so far, but this defensive fix seems safe.

* lisp/progmodes/eglot.el (eglot--update-hints-1): Explicitly put
priority in inlay hint overalys.

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

This partly corrects bug#64069.

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

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

18 months ago; * doc/lispref/display.texi (Display Tables): Remove extra parens.
Eli Zaretskii [Sat, 17 Jun 2023 13:13:38 +0000 (16:13 +0300)]
; * doc/lispref/display.texi (Display Tables): Remove extra parens.

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

Escape the backslash character itself.

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

18 months agoMerge remote-tracking branch 'origin/master' into feature/android
Po Lu [Sat, 17 Jun 2023 09:18:41 +0000 (17:18 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android

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

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

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

The following commits were skipped:

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

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

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

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

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

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

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

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

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

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

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

18 months agoInitialize signal mask earlier
Po Lu [Sat, 17 Jun 2023 04:07:40 +0000 (12:07 +0800)]
Initialize signal mask earlier

* java/org/gnu/emacs/EmacsService.java (onCreate, run): Don't
initialize signal mask here.
* java/org/gnu/emacs/EmacsApplication.java (onCreate): Do it
here instead.
* src/android.c (JNICALL): Restore previous signal masks.

18 months ago; * java/README: More documentation.
Po Lu [Sat, 17 Jun 2023 03:24:54 +0000 (11:24 +0800)]
; * java/README: More documentation.

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

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

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

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

18 months agoFix quitting after changes to signal delivery
Po Lu [Fri, 16 Jun 2023 07:50:56 +0000 (15:50 +0800)]
Fix quitting after changes to signal delivery

* src/android.c (android_write_event, JNICALL)
(android_run_in_emacs_thread): Don't rely on raise to call
deliver_process_signal.

18 months agoUpdate Android port
Po Lu [Fri, 16 Jun 2023 04:59:44 +0000 (12:59 +0800)]
Update Android port

* java/org/gnu/emacs/EmacsActivity.java (EmacsActivity):
* java/org/gnu/emacs/EmacsApplication.java (findDumpFile):
* java/org/gnu/emacs/EmacsContextMenu.java (EmacsContextMenu)
(addSubmenu, display):
* java/org/gnu/emacs/EmacsDocumentsProvider.java
(getNotificationUri, queryChildDocuments, deleteDocument):
* java/org/gnu/emacs/EmacsDrawRectangle.java (perform):
* java/org/gnu/emacs/EmacsFillRectangle.java (perform):
* java/org/gnu/emacs/EmacsOpenActivity.java (readEmacsClientLog)
(checkReadableOrCopy):
* java/org/gnu/emacs/EmacsSdk7FontDriver.java
(EmacsSdk7FontDriver):
* java/org/gnu/emacs/EmacsSurfaceView.java (EmacsSurfaceView):
* java/org/gnu/emacs/EmacsView.java (EmacsView):
* java/org/gnu/emacs/EmacsWindow.java (EmacsWindow, onKeyUp):
* java/org/gnu/emacs/EmacsWindowAttachmentManager.java
(EmacsWindowAttachmentManager): Remove various unused arguments
and variables, dead stores, and make minor cleanups and
performance improvements.
* src/androidmenu.c (FIND_METHOD_STATIC, android_menu_show):
Adjust accordingly.

18 months agoMerge remote-tracking branch 'origin/master' into feature/android
Po Lu [Fri, 16 Jun 2023 00:40:33 +0000 (08:40 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

18 months agoUpdate Android port
Po Lu [Thu, 15 Jun 2023 04:36:50 +0000 (12:36 +0800)]
Update Android port

* java/org/gnu/emacs/EmacsInputConnection.java
(EmacsInputConnection, beginBatchEdit, reset, endBatchEdit):
Keep track of the number of batch edits and return an
appropriate value.
(takeSnapshot): Implement function.
* java/org/gnu/emacs/EmacsNative.java (takeSnapshot): New
function.
* java/org/gnu/emacs/EmacsService.java (resetIC): Improve
debugging output.
* java/org/gnu/emacs/EmacsView.java (onCreateInputConnection):
Call `reset' to clear the UI side batch edit count.
* src/androidterm.c (struct
android_get_surrounding_text_context): New fields
`conversion_start' and `conversion_end'.
(android_get_surrounding_text): Return the conversion region.
(android_get_surrounding_text_internal, NATIVE_NAME): Factor out
`getSurroundingText'.
(takeSnapshot): New function.

18 months agoMerge remote-tracking branch 'origin/master' into feature/android
Po Lu [Thu, 15 Jun 2023 00:25:45 +0000 (08:25 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android

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

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

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

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

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

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

18 months agoImprove IM synchronization on Android
Po Lu [Wed, 14 Jun 2023 07:37:47 +0000 (15:37 +0800)]
Improve IM synchronization on Android

* java/org/gnu/emacs/EmacsInputConnection.java
(EmacsInputConnection): Reimplement as an InputConnection, not
BaseInputConnection.
* src/androidterm.c (performEditorAction): Sync prior to sending
keyboard events.

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

18 months agoMerge remote-tracking branch 'origin/master' into feature/android
Po Lu [Wed, 14 Jun 2023 00:26:57 +0000 (08:26 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android