]> git.eshelyaron.com Git - emacs.git/log
emacs.git
22 months agoAdd cross-compilation test for cleanup attribute
Po Lu [Wed, 22 Feb 2023 03:19:57 +0000 (11:19 +0800)]
Add cross-compilation test for cleanup attribute

* configure.ac: Per title.

22 months agoUpdate Android port
Po Lu [Wed, 22 Feb 2023 02:57:33 +0000 (10:57 +0800)]
Update Android port

* INSTALL.android: Port to MIPS.
* configure.ac (modules): Default to ifavailable.
Write actual test for __attribute__((cleanup)).
* m4/ndk-build.m4: Recognize mips and mips64.
* src/emacs-module.c: Remove broken HAS_ATTRIBUTE test.

22 months agoMerge remote-tracking branch 'origin/master' into feature/android
Po Lu [Tue, 21 Feb 2023 13:08:16 +0000 (21:08 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android

22 months agoUpdate Android port
Po Lu [Tue, 21 Feb 2023 13:07:57 +0000 (21:07 +0800)]
Update Android port

* java/org/gnu/emacs/EmacsContextMenu.java (EmacsContextMenu)
(addSubmenu, inflateMenuItems): Handle tooltips correctly.
* src/android.c (android_scan_directory_tree): Fix limit
generation for root directory.
* src/androidmenu.c (android_init_emacs_context_menu)
(android_menu_show): Implement menu item help text on Android
8.0 and later.

22 months ago; * test/lisp/emacs-lisp/nadvice-tests.el: suppress some warnings
Mattias Engdegård [Tue, 21 Feb 2023 11:30:09 +0000 (12:30 +0100)]
; * test/lisp/emacs-lisp/nadvice-tests.el: suppress some warnings

22 months agoFollow aliases for `interactive-only` declarations
Mattias Engdegård [Tue, 21 Feb 2023 10:46:14 +0000 (11:46 +0100)]
Follow aliases for `interactive-only` declarations

Make `interactive-only` declarations apply to aliases of the same
function as well since this quality isn't in the name but in what
the function does.

* lisp/emacs-lisp/bytecomp.el (byte-compile-form):
* lisp/help-fns.el (help-fns--interactive-only):
Follow aliases when retrieving the `interactive-only` property.

22 months ago; Merge from origin/emacs-29
Stefan Kangas [Tue, 21 Feb 2023 09:58:00 +0000 (10:58 +0100)]
; Merge from origin/emacs-29

The following commit was skipped:

16ca258b1fc Repair mistake in a previous edmacro-sanitize-string change

22 months agoMerge from origin/emacs-29
Stefan Kangas [Tue, 21 Feb 2023 09:58:00 +0000 (10:58 +0100)]
Merge from origin/emacs-29

5a864f23eb8 regex-emacs.c: Reduce the use of backtracking a bit further
e83c78b8c77 Eglot: respect user's Eldoc configuration by default
5d0b45cd67b Make the native compiler always use `make-temp-file' for ...
88ee92e61d7 ; * lisp/progmodes/rust-ts-mode.el (treesit-node-end): De...
02aba20d528 Update to Transient v0.3.7-216-gfe40342
d7010d64b21 Add declaration_list to c-ts-common-indent-type-regexp-alist
19480aa30e3 Typescript-ts-mode: Add switch case handling
dfc850ca022 Fix object initializer for csharp-mode (bug#61541)
fc4bfa76db9 Update to Org 9.6.1-34-geea8da
afbce8bb467 Improve tree-sitter indent anchor prev-adaptive-prefix (b...
2e6093b425e Adjust jsx indentation
c544df4fa3f Cleanup preproc indent for c-ts-mode (bug#61558)
d397f3d5084 Add comment style toggle for c-ts-mode (bug#61550)
683961cd733 * lisp/simple.el (choose-completion): Check for completio...
1ac05eac74b rust-ts-mode--font-lock-settings: Avoid the explicit 'def...
b5bea14ca17 * lisp/progmodes/xref.el: Bump the version.

# Conflicts:
# src/comp.c

22 months agoDetect and prevent function alias loops in `fset` and `defalias`
Mattias Engdegård [Mon, 20 Feb 2023 14:23:12 +0000 (15:23 +0100)]
Detect and prevent function alias loops in `fset` and `defalias`

Make `fset` and `defalias` signal an error on attempts to create
circular alias chains.  This is more effective, efficient and
convenient than permitting alias loops to be created and trying to
detect them at run time each time a function is called, which is what
we have been doing until now, badly.

* lisp/help-fns.el (help-fns--analyze-function):
Don't pass obsolete argument.
* lisp/subr.el (function-alias-p):
* src/data.c (indirect_function, Findirect_function): Simplify.
Now error-free, second argument obsolete.
(Ffset): Detect loops.
* test/lisp/help-fns-tests.el (help-fns--analyze-function-recursive):
* test/lisp/subr-tests.el (test-alias-p):
Adapt tests.
* test/src/data-tests.el (data-tests-fset, data-tests-defalias): New.
* doc/lispref/eval.texi (Function Indirection):
* doc/lispref/functions.texi (Defining Functions, Function Cells):
Update manual.
* etc/NEWS: Announce.

22 months ago; Merge from origin/emacs-29
Stefan Kangas [Tue, 21 Feb 2023 09:32:42 +0000 (10:32 +0100)]
; Merge from origin/emacs-29

The following commits were skipped:

a5b5f73d886 xref--insert-xrefs: Use 'shadow' for the line number colon
6b908773599 * lisp/progmodes/xref.el (xref--insert-xrefs): Remove ext...
25c65e6b586 Backport: Fix xref-clear-marker-stack refactoring mistake

22 months agoMerge from origin/emacs-29
Stefan Kangas [Tue, 21 Feb 2023 09:32:42 +0000 (10:32 +0100)]
Merge from origin/emacs-29

ad6c6a3a115 ; Merge from origin/emacs-28
9a6f22fd0b4 Merge from origin/emacs-28
a44d906740f ; Commit files changed by "autoreconf -i -I m4 --force"
f5a99945b6f ; Update ChangeLog for Emacs 28.3
f7bd5ac5521 Update HISTORY for Emacs 28.3

# Conflicts:
# build-aux/config.guess
# build-aux/config.sub

22 months agoRepair mistake in a previous edmacro-sanitize-string change
Mattias Engdegård [Mon, 20 Feb 2023 11:55:09 +0000 (12:55 +0100)]
Repair mistake in a previous edmacro-sanitize-string change

* lisp/edmacro.el (edmacro-sanitize-for-string):
This condition should not have been 'repaired' but removed altogether.
Do so now, fixing bug#61647.

Reported by Eduardo Ochs.

(cherry picked from commit 4eefadad0670ad1c3da2505d734e528d54c76bef)

22 months ago; Merge from origin/emacs-29
Stefan Kangas [Tue, 21 Feb 2023 09:28:35 +0000 (10:28 +0100)]
; Merge from origin/emacs-29

The following commit was skipped:

32be128382f ; Merge from origin/emacs-28

22 months agoMerge from origin/emacs-29
Stefan Kangas [Tue, 21 Feb 2023 09:28:34 +0000 (10:28 +0100)]
Merge from origin/emacs-29

1630bfb5d08 Merge from origin/emacs-28
e2ac0d416b9 ; Merge from origin/emacs-28
068b53500e2 ; Improve image-dired-thumbnail-storage docstring
497ed0fb42e ; * doc/emacs/dired.texi (Image-Dired): Fix last change.
4aa397e71b2 More doc on image-dired-dired-* (bug#61624)
893ddd5903e Eglot: improve treatment of completion items without :sor...
4a77fcb1478 Update ChangeLog and AUTHORS for Emacs 28.3
e339926272a Fix etags local command injection vulnerability
5d05ea803e9 Fixed ctags local command execute vulnerability
22fb5ff5126 Fix ruby-mode.el local command injection vulnerability (b...
807d2d5b3a7 Fix htmlfontify.el command injection vulnerability.
ae9bfed50db Fix storing email into nnmail by Gnus

22 months ago; Merge from origin/emacs-29
Stefan Kangas [Tue, 21 Feb 2023 09:28:34 +0000 (10:28 +0100)]
; Merge from origin/emacs-29

The following commit was skipped:

a44d906740f ; Commit files changed by "autoreconf -i -I m4 --force"

22 months agoMerge from origin/emacs-29
Stefan Kangas [Tue, 21 Feb 2023 09:27:27 +0000 (10:27 +0100)]
Merge from origin/emacs-29

f5a99945b6f ; Update ChangeLog for Emacs 28.3
f7bd5ac5521 Update HISTORY for Emacs 28.3

22 months ago; Merge from origin/emacs-29
Stefan Kangas [Tue, 21 Feb 2023 08:44:57 +0000 (09:44 +0100)]
; Merge from origin/emacs-29

The following commit was skipped:

ba3aba3096a Bump Emacs version to 28.3

22 months agoMerge from origin/emacs-29
Stefan Kangas [Tue, 21 Feb 2023 08:44:57 +0000 (09:44 +0100)]
Merge from origin/emacs-29

22 months ago; Merge from origin/emacs-29
Stefan Kangas [Tue, 21 Feb 2023 08:44:57 +0000 (09:44 +0100)]
; Merge from origin/emacs-29

The following commits were skipped:

e339926272a Fix etags local command injection vulnerability
5d05ea803e9 Fixed ctags local command execute vulnerability
22fb5ff5126 Fix ruby-mode.el local command injection vulnerability (b...
807d2d5b3a7 Fix htmlfontify.el command injection vulnerability.
ae9bfed50db Fix storing email into nnmail by Gnus

22 months agoUpdate from gnulib
Po Lu [Tue, 21 Feb 2023 08:29:57 +0000 (16:29 +0800)]
Update from gnulib

* admin/merge-gnulib (GNULIB_MODULES):
* cross/lib/getopt-pfx-core.h (optind):
* cross/lib/limits.in.h (BOOL_WIDTH):
* cross/lib/math.in.h:
* cross/lib/stpncpy.c (__stpncpy):
* cross/lib/string.in.h:
* lib/getopt-pfx-core.h (optind):
* lib/gnulib.mk.in (ANDROID_MIN_SDK):
(GL_COND_OBJ_STDIO_READ_CONDITION):
(LIBS):
(NDK_BUILD_AR):
(REPLACE__EXIT):
(libgnu_a_SOURCES):
* lib/limits.in.h (BOOL_WIDTH):
* lib/math.in.h:
* lib/stpncpy.c (__stpncpy):
* lib/string.in.h:
* m4/assert_h.m4 (gl_ASSERT_H):
* m4/fdopendir.m4 (gl_FUNC_FDOPENDIR):
* m4/getdelim.m4 (gl_FUNC_GETDELIM):
* m4/getline.m4 (gl_FUNC_GETLINE):
* m4/gnulib-common.m4 (gl_COMMON_BODY):
(gl_CONDITIONAL_HEADER):
(gl_CHECK_FUNCS_ANDROID):
* m4/gnulib-comp.m4 (gl_EARLY):
(gl_INIT):
(gl_FILE_LIST):
* m4/limits-h.m4:
* m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
* m4/malloc.m4 (_AC_FUNC_MALLOC_IF):
* m4/printf.m4 (gl_PRINTF_SIZES_C99):
(gl_PRINTF_INFINITE):
(gl_PRINTF_INFINITE_LONG_DOUBLE):
(gl_PRINTF_DIRECTIVE_A):
(gl_PRINTF_DIRECTIVE_F):
(gl_PRINTF_FLAG_ZERO):
(gl_SNPRINTF_PRESENCE):
(gl_SNPRINTF_DIRECTIVE_N):
(gl_VSNPRINTF_ZEROSIZE_C99):
* m4/pselect.m4 (gl_FUNC_PSELECT):
* m4/readlink.m4 (gl_FUNC_READLINK):
* m4/realloc.m4 (_AC_FUNC_REALLOC_IF):
* m4/signbit.m4 (gl_SIGNBIT):
* m4/stpncpy.m4 (gl_FUNC_STPNCPY):
* m4/symlink.m4 (gl_FUNC_SYMLINK): Add gnulib module stpncpy.
* src/android.c: Include string.h.

22 months agoUpdate Android port
Po Lu [Tue, 21 Feb 2023 07:28:06 +0000 (15:28 +0800)]
Update Android port

* doc/emacs/android.texi (Android Startup): Document `content'
special directory.
* java/debug.sh (is_root): Improve /bin/tee detection.
* java/org/gnu/emacs/EmacsNative.java (EmacsNative): New
function `dup'.
* java/org/gnu/emacs/EmacsOpenActivity.java (EmacsOpenActivity)
(checkReadableOrCopy, onCreate): Create content directory names
when the file is not readable.
* java/org/gnu/emacs/EmacsService.java (EmacsService)
(openContentUri, checkContentUri): New functions.
* src/android.c (struct android_emacs_service): New methods.
(android_content_name_p, android_get_content_name)
(android_check_content_access): New function.
(android_fstatat, android_open): Implement opening content URIs.
(dup): Export to Java.
(android_init_emacs_service): Initialize new methods.
(android_faccessat): Implement content file names.

22 months agoMerge remote-tracking branch 'origin/master' into feature/android
Po Lu [Tue, 21 Feb 2023 02:36:37 +0000 (10:36 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android

22 months agoregex-emacs.c: Reduce the use of backtracking a bit further
Stefan Monnier [Tue, 21 Feb 2023 02:22:41 +0000 (21:22 -0500)]
regex-emacs.c: Reduce the use of backtracking a bit further

bug#61514 exhibited some undesirable backtracking in a case where
it's easy to avoid it by making `mutually_exclusive_p` just a bit
more careful.

* src/regex-emacs.c (mutually_exclusive_p): Handle `on_failure_jump`s.

* test/src/regex-emacs-tests.el (regexp-tests-backtrack-optimization):
Add a few tests.

22 months agoEglot: respect user's Eldoc configuration by default
João Távora [Mon, 20 Feb 2023 22:43:50 +0000 (22:43 +0000)]
Eglot: respect user's Eldoc configuration by default

This change addresses the problems reported in many Elglot reports
dating back to early 2021 at least:

  https://github.com/joaotavora/eglot/issues/648
  https://github.com/joaotavora/eglot/issues/894
  https://github.com/joaotavora/eglot/issues/920
  https://github.com/joaotavora/eglot/issues/1031
  https://github.com/joaotavora/eglot/issues/1171

In one form or another, the reports point out that the multiple pieces
of information about the "thing at point" made available by the LSP
server are not all being considered by the ElDoc system.

The reason for this is Eglot setting/trampling the variables
'eldoc-documentation-strategy' and 'eldoc-documentation-functions' in
its minor more entry function.

The reason it did that is historical and is partially described in the
issues above.  But, evidently, it never made much sense, because so
many people want to override it, which requires setting
'eldoc-documentation-strategy' to the non-default value
'eldoc-documentation-compose'.

The problem was made worse by the fact that setting it as usual in
either the Customize menu or their init file didn't work, requiring a
fairly complex Elisp snippet.  That is now solved as of this commit.

If the user does not do any setting, then Eglot works basically the
same as before (i.e. shows only one piece of information).

It is arguable that the default value for
'eldoc-documentation-strategy' should change globally to
'eldoc-documentation-compose', but that has other subtle implications
and is not part of this commit.

* lisp/progmodes/eglot.el (eglot--managed-mode): Don't set Eldoc
variables greedily.

22 months ago* list/emacs-lisp/cconv.el (cconv-make-interpreted-closure): Tweak docstring
Stefan Monnier [Mon, 20 Feb 2023 22:11:08 +0000 (17:11 -0500)]
* list/emacs-lisp/cconv.el (cconv-make-interpreted-closure): Tweak docstring

22 months agoMake the native compiler always use `make-temp-file' for temporary files
Andrea Corallo [Mon, 20 Feb 2023 20:03:58 +0000 (21:03 +0100)]
Make the native compiler always use `make-temp-file' for temporary files

* src/comp.c (CALL4I): Define macro.
(Fcomp__compile_ctxt_to_file): Use `make-temp-file' instead of
`make-temp-file-internal'.
* lisp/emacs-lisp/comp.el (comp--trampoline-abs-filename): Likewise.

22 months ago; * lisp/progmodes/rust-ts-mode.el (treesit-node-end): Declare.
Eli Zaretskii [Mon, 20 Feb 2023 17:30:02 +0000 (19:30 +0200)]
; * lisp/progmodes/rust-ts-mode.el (treesit-node-end): Declare.

22 months agoUpdate to Transient v0.3.7-216-gfe40342
Jonas Bernoulli [Mon, 20 Feb 2023 15:36:16 +0000 (16:36 +0100)]
Update to Transient v0.3.7-216-gfe40342

22 months agoMerge remote-tracking branch 'origin/master' into feature/android
Po Lu [Mon, 20 Feb 2023 14:15:02 +0000 (22:15 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android

22 months agoUpdate Android port
Po Lu [Mon, 20 Feb 2023 14:14:29 +0000 (22:14 +0800)]
Update Android port

* INSTALL.android: Explain where to get tree-sitter.

* configure.ac: Add support for dynamic modules and tree-sitter.

* doc/emacs/android.texi (Android Windowing):
* java/org/gnu/emacs/EmacsSdk11Clipboard.java
(EmacsSdk11Clipboard, ownsClipboard): Improve clipboard handling
and documentation.

22 months agoAdd declaration_list to c-ts-common-indent-type-regexp-alist
Daniel Martín [Sun, 19 Feb 2023 21:57:54 +0000 (22:57 +0100)]
Add declaration_list to c-ts-common-indent-type-regexp-alist

* lisp/progmodes/c-ts-mode.el (c-ts-base-mode): Consider a
"declaration_list" a block. (Bug#61635)
* test/lisp/progmodes/c-ts-mode-resources/indent.erts (Code): Add a
test case.

22 months agoTypescript-ts-mode: Add switch case handling
Theodor Thornhill [Mon, 20 Feb 2023 12:38:55 +0000 (13:38 +0100)]
Typescript-ts-mode: Add switch case handling

* lisp/progmodes/typescript-ts-mode.el
(typescript-ts-mode--indent-rules): New rules.

22 months agoFix object initializer for csharp-mode (bug#61541)
Theodor Thornhill [Sun, 19 Feb 2023 19:48:36 +0000 (20:48 +0100)]
Fix object initializer for csharp-mode (bug#61541)

* lisp/progmodes/csharp-mode.el (csharp-guess-basic-syntax): Make sure
we check the openers as well as closers.

22 months ago* lisp/emacs-lisp/macroexp.el (mapcan): Set funarg-positions.
Mattias Engdegård [Mon, 20 Feb 2023 11:58:48 +0000 (12:58 +0100)]
* lisp/emacs-lisp/macroexp.el (mapcan): Set funarg-positions.

22 months agoRepair mistake in a previous edmacro-sanitize-string change
Mattias Engdegård [Mon, 20 Feb 2023 11:55:09 +0000 (12:55 +0100)]
Repair mistake in a previous edmacro-sanitize-string change

* lisp/edmacro.el (edmacro-sanitize-for-string):
This condition should not have been 'repaired' but removed altogether.
Do so now, fixing bug#61647.

Reported by Eduardo Ochs.

22 months agoUpdate to Org 9.6.1-34-geea8da
Kyle Meyer [Mon, 20 Feb 2023 05:41:31 +0000 (00:41 -0500)]
Update to Org 9.6.1-34-geea8da

22 months agoFix crash inside font-list-family
Po Lu [Mon, 20 Feb 2023 03:56:13 +0000 (11:56 +0800)]
Fix crash inside font-list-family

* src/androidfont.c (androidfont_list_family): Don't
unconditionally initialize the Android font driver.

22 months agoMerge remote-tracking branch 'origin/master' into feature/android
Po Lu [Mon, 20 Feb 2023 03:41:16 +0000 (11:41 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android

22 months agoImprove SFNT driver lookup efficiency
Po Lu [Mon, 20 Feb 2023 03:38:59 +0000 (11:38 +0800)]
Improve SFNT driver lookup efficiency

* src/fontset.c (fontset_find_font): Add compatibility test to
registry strangeness case.
* src/sfnt.c (sfnt_read_cmap_table): Don't read subtable data if
DATA is NULL.
* src/sfntfont.c (struct sfnt_font_desc): New field `registry'.
(sfnt_registry_for_subtable): New function.
(sfntfont_identify_cmap): Move above sfnt_grok_registry.
(sfnt_grok_registry): New function.
(sfnt_enum_font_1): Call it.
(sfntfont_registries_compatible_p): New function.
(sfntfont_list_1): Check registry compatibility.
(sfntfont_registry_for_desc): New function.
(mark_sfntfont): Mark desc->registry.

22 months agoImprove reliability of Java code rebuilds
Po Lu [Mon, 20 Feb 2023 02:50:04 +0000 (10:50 +0800)]
Improve reliability of Java code rebuilds

* java/Makefile.in ($(CLASS_FILES)): Depend on the Java
compiler's internal dependency tracking.

22 months agoHelp Elisp xref recognize defclass parent classes
Eric Abrahamsen [Mon, 20 Feb 2023 01:01:41 +0000 (03:01 +0200)]
Help Elisp xref recognize defclass parent classes

* lisp/progmodes/elisp-mode.el (elisp--xref-infer-namespace):
Handle defclass parents (bug#61640).

* test/lisp/progmodes/elisp-mode-tests.el (elisp-mode-infer-namespace):
New case in the test.

22 months agoImprove tree-sitter indent anchor prev-adaptive-prefix (bug#61314)
Yuan Fu [Sun, 19 Feb 2023 20:22:27 +0000 (12:22 -0800)]
Improve tree-sitter indent anchor prev-adaptive-prefix (bug#61314)

Now prev-adaptive-prefix looks at the current line and checks if it
begins with a prefix itself.  If it does, prev-adaptive-prefix tries
to place the anchor before the prefix on the previous line, rather
than after it.

 - prev line
 - this line -> This line starts with a "-", i.e., begins with a
                prefix, so we place the anchor at the beginning of the
                 "-" of the previous line, rather than after it

 - prev line
   this line -> This line doesn't start with a prefix, so the anchor
                is placed after the previous line's "-".

* doc/lispref/modes.texi (Parser-based Indentation): Update manual.
* lisp/treesit.el:
(treesit-simple-indent-presets): Add local variable
this-line-has-prefix, base what anchor to return on the value of
this-line-has-prefix and whether the prev line has a prefix.

22 months agoAdjust jsx indentation
Theodor Thornhill [Sat, 18 Feb 2023 22:10:13 +0000 (23:10 +0100)]
Adjust jsx indentation

We can use the fact that 'treesit-indent-1' uses 'treesit-node-on'
when on a whitespace to set the actual current node as parent.  Now we
can correctly indent the 'jsx_text' nodes.  We also add some more
electric-indent-chars so that auto-indenting of jsx behaves a little
more fluently.

* lisp/progmodes/js.el (js--treesit-indent-rules): Add new rules.
(js-ts-mode): Add more indent-chars.
* lisp/progmodes/typescript-ts-mode.el
(typescript-ts-mode--indent-rules): Add new rules.
* lisp/progmodes/typescript-ts-mode.el
(typescript-ts-base-mode): Add more indent-chars and layout rules.

22 months agoCleanup preproc indent for c-ts-mode (bug#61558)
Theodor Thornhill [Fri, 17 Feb 2023 19:46:19 +0000 (20:46 +0100)]
Cleanup preproc indent for c-ts-mode (bug#61558)

* lisp/progmodes/c-ts-mode.el (c-ts-mode--indent-styles): Make sure we
indent to great-grand-parent if inside an #ifdef...#endif block.  If
grand-parent is root node, then don't indent one step.
(c-ts-mode--preproc-offset): New helper anchor function to calculate
indent offset.

22 months agoAdd comment style toggle for c-ts-mode (bug#61550)
Theodor Thornhill [Fri, 17 Feb 2023 22:46:24 +0000 (23:46 +0100)]
Add comment style toggle for c-ts-mode (bug#61550)

* lisp/progmodes/c-ts-mode.el (c-ts-mode-toggle-comment-style): New
command.
(c-ts-base-mode-map): Add binding.
(c-ts-mode-set-modeline): New function.
(c-ts-mode): Set modeline.
(c++-ts-mode): Set modeline.

22 months ago* lisp/simple.el (choose-completion): Check for completion-in-region-mode.
Juri Linkov [Sun, 19 Feb 2023 19:30:02 +0000 (21:30 +0200)]
* lisp/simple.el (choose-completion): Check for completion-in-region-mode.

Don't use base-affixes when completion-use-base-affixes is non-nil
in completion-in-region-mode (bug#61535).

22 months agoTramp cleanup
Michael Albinus [Sun, 19 Feb 2023 17:35:46 +0000 (18:35 +0100)]
Tramp cleanup

* lisp/net/tramp-smb.el (tramp-smb-action-get-acl)
(tramp-smb-action-set-acl): Use timeout.

* test/lisp/net/tramp-tests.el
(tramp-test26-interactive-file-name-completion): Fix test.

22 months agorust-ts-mode--font-lock-settings: Avoid the explicit 'default' face
Dmitry Gutov [Sun, 19 Feb 2023 17:18:19 +0000 (19:18 +0200)]
rust-ts-mode--font-lock-settings: Avoid the explicit 'default' face

* lisp/progmodes/rust-ts-mode.el (rust-ts-mode--fontify-scope)
(rust-ts-mode--fontify-tail): New functions.
(rust-ts-mode--font-lock-settings): Use them instead of a lot of
more complex queries (bug#61302).  Thus avoid having to create
block fontification by other features using the 'default' face.
Replace the catch-all query for 'variable' with an enumeration of
possible parent nodes.

22 months agoxref--insert-xrefs: Use 'shadow' for the line number colon
Dmitry Gutov [Thu, 9 Feb 2023 19:57:18 +0000 (21:57 +0200)]
xref--insert-xrefs: Use 'shadow' for the line number colon

* lisp/progmodes/xref.el (xref--insert-xrefs): Use face 'shadow' for
the line number colon instead of continuing it face (bug#61340).

(cherry picked from commit d6d25a3c221e566de4df5319181e9ba9a8df285e)

22 months ago* lisp/progmodes/xref.el: Bump the version.
Dmitry Gutov [Sun, 19 Feb 2023 12:27:27 +0000 (14:27 +0200)]
* lisp/progmodes/xref.el: Bump the version.

22 months ago* lisp/progmodes/xref.el (xref--insert-xrefs): Remove extra space (bug#61340).
Juri Linkov [Wed, 8 Feb 2023 07:34:49 +0000 (09:34 +0200)]
* lisp/progmodes/xref.el (xref--insert-xrefs): Remove extra space (bug#61340).

(cherry picked from commit 643a11c6e5defc0a34da1a53b64aa1e097298923)

22 months agoBackport: Fix xref-clear-marker-stack refactoring mistake
Mattias Engdegård [Thu, 26 Jan 2023 11:36:20 +0000 (12:36 +0100)]
Backport: Fix xref-clear-marker-stack refactoring mistake

* lisp/progmodes/xref.el (xref-clear-marker-stack):
Clear the history correctly.  Changing a lexical variable has no effect.

(cherry picked from commit dfdc0f5fb7b10e737c3c8e2bdb1eb873a1e91bd7)

22 months ago; Merge from origin/emacs-28
Stefan Kangas [Sun, 19 Feb 2023 16:38:00 +0000 (17:38 +0100)]
; Merge from origin/emacs-28

The following commit was skipped:

a44d906740f ; Commit files changed by "autoreconf -i -I m4 --force"

22 months agoMerge from origin/emacs-28
Stefan Kangas [Sun, 19 Feb 2023 16:37:59 +0000 (17:37 +0100)]
Merge from origin/emacs-28

f5a99945b6f ; Update ChangeLog for Emacs 28.3
f7bd5ac5521 Update HISTORY for Emacs 28.3

# Conflicts:
# etc/NEWS

22 months ago; Merge from origin/emacs-28
Stefan Kangas [Sun, 19 Feb 2023 16:35:20 +0000 (17:35 +0100)]
; Merge from origin/emacs-28

The following commits were skipped:

ba3aba3096a Bump Emacs version to 28.3
e61d743d440 Update NEWS for Emacs 28.3

22 months agoMerge from origin/emacs-28
Stefan Kangas [Sun, 19 Feb 2023 16:35:20 +0000 (17:35 +0100)]
Merge from origin/emacs-28

4a77fcb1478 Update ChangeLog and AUTHORS for Emacs 28.3

22 months ago; Merge from origin/emacs-28
Stefan Kangas [Sun, 19 Feb 2023 16:35:20 +0000 (17:35 +0100)]
; Merge from origin/emacs-28

The following commits were skipped:

e339926272a Fix etags local command injection vulnerability
5d05ea803e9 Fixed ctags local command execute vulnerability
22fb5ff5126 Fix ruby-mode.el local command injection vulnerability (b...
807d2d5b3a7 Fix htmlfontify.el command injection vulnerability.
ae9bfed50db Fix storing email into nnmail by Gnus

22 months ago; Improve image-dired-thumbnail-storage docstring
Stefan Kangas [Sun, 19 Feb 2023 16:27:19 +0000 (17:27 +0100)]
; Improve image-dired-thumbnail-storage docstring

* lisp/image/image-dired.el (image-dired-thumbnail-storage):
Improve docstring.

22 months agoimenu: Make the test for a single category of map (e.g. "Class") rigorous
Alan Mackenzie [Sun, 19 Feb 2023 16:09:32 +0000 (16:09 +0000)]
imenu: Make the test for a single category of map (e.g. "Class") rigorous

This fixes bug #61629.

* lisp/imenu.el (imenu--mouse-menu): Test (consp (cdadr menu)) to avoid
confusion with a single entry for a single function.
(imenu-update-menubar): Change the code to match that above.

22 months agoMatch font registry after font is opened
Po Lu [Sun, 19 Feb 2023 15:33:19 +0000 (23:33 +0800)]
Match font registry after font is opened

* src/fontset.c (fontset_find_font): Work around TrueType
performance problem.

22 months ago; * doc/emacs/dired.texi (Image-Dired): Fix last change.
Eli Zaretskii [Sun, 19 Feb 2023 15:09:18 +0000 (17:09 +0200)]
; * doc/emacs/dired.texi (Image-Dired): Fix last change.

22 months agoMore doc on image-dired-dired-* (bug#61624)
Manuel Giraud [Sun, 19 Feb 2023 11:19:02 +0000 (12:19 +0100)]
More doc on image-dired-dired-* (bug#61624)

* doc/emacs/dired.texi (Image-Dired): Some fixes and more
documentation about image-dired-dired-* commands.

22 months agoMerge remote-tracking branch 'origin/master' into feature/android
Po Lu [Sun, 19 Feb 2023 14:41:42 +0000 (22:41 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android

22 months ago* cross/Makefile.in (src/libemacs.so): Depend on libgnu.a.
Po Lu [Sun, 19 Feb 2023 13:57:17 +0000 (21:57 +0800)]
* cross/Makefile.in (src/libemacs.so): Depend on libgnu.a.

22 months agoMore fixes to parallel Make
Po Lu [Sun, 19 Feb 2023 13:52:21 +0000 (21:52 +0800)]
More fixes to parallel Make

* cross/ndk-build/ndk-build.mk.in (NDK_BUILD_MODULES)
(NDK_BUILD_SHARED, NDK_BUILD_STATIC): Define group rule to build
all files so that they are built within one make process.
* java/Makefile.in: Reorganize cross compilation and make sure
there is only one make subprocess for each subdirectory of
cross.

22 months agoMore parallel build fixes
Po Lu [Sun, 19 Feb 2023 13:25:37 +0000 (21:25 +0800)]
More parallel build fixes

* cross/Makefile.in: (.PHONY):
* java/Makefile.in: (.PHONY):
* src/Makefile.in: (libemacs.so): Avoid calling ndk-build from
two places at once.  Build android-emacs separately from
libemacs.so.

22 months agoFix parallel compilation of Android port
Po Lu [Sun, 19 Feb 2023 12:45:32 +0000 (20:45 +0800)]
Fix parallel compilation of Android port

* cross/Makefile.in ($(top_builddir)/lib/libgnu.a):
* java/Makefile.in (CROSS_LIBS): Explicitly depend on gnulib
to prevent it from being built at the same time from different
jobs.

22 months agoFix sfntfont.c build without mmap
Po Lu [Sun, 19 Feb 2023 12:23:36 +0000 (20:23 +0800)]
Fix sfntfont.c build without mmap

* src/sfntfont.c (sfntfont_close): Don't unlink font if mmap is
not available.

22 months agoImprove Android documentation
Po Lu [Sun, 19 Feb 2023 12:16:32 +0000 (20:16 +0800)]
Improve Android documentation

* INSTALL.android: Say where building Emacs is supported.
* doc/emacs/android.texi (Android Startup): Describe how to
connect via ADB.

22 months agoReport both sides of the region to the input method upon setup
Po Lu [Sun, 19 Feb 2023 11:56:51 +0000 (19:56 +0800)]
Report both sides of the region to the input method upon setup

* java/org/gnu/emacs/EmacsNative.java (getSelection): Return
array of ints.
* java/org/gnu/emacs/EmacsView.java (onCreateInputConnection):
Adjust accordingly.
* src/androidterm.c (struct android_get_selection_context): New
field `mark'.
(android_get_selection): Set the mark field as appropriate.
(getSelection): Adjust accordingly.

22 months agoFix gamegrid.el with high resolution displays
Po Lu [Sun, 19 Feb 2023 11:34:04 +0000 (19:34 +0800)]
Fix gamegrid.el with high resolution displays

* lisp/play/gamegrid.el (gamegrid-setup-default-font): Clamp
font size at eight.

22 months agoEglot: improve treatment of completion items without :sortText (bug#61532)
Theodor Thornhill [Sun, 19 Feb 2023 11:11:13 +0000 (11:11 +0000)]
Eglot: improve treatment of completion items without :sortText (bug#61532)

Previously, defaulting to the empty string put candidates without
:sortText to the top of the list.  since string-lessp is safe with nil
arguments, this makes them sort to the end instead.

* lisp/progmodes/eglot.el (eglot-completion-at-point): Simplify.

22 months agoMerge from origin/emacs-29
Stefan Kangas [Sun, 19 Feb 2023 10:38:09 +0000 (11:38 +0100)]
Merge from origin/emacs-29

871cf33a450 ; * admin/make-tarball.txt: Minor copyedit.
4faebba2fed Fix invocation of File->Close from the menu bar
cd05fca5f78 ; Improve documentation of 'native-comp-enable-subr-tramp...
c61a30e1601 Update thumbnail buffer's header more
4c49452cdef (treesit-query-validate): Fix reusing the output buffer
d560dc5044a (rust-ts-mode--font-lock-settings): Highlight closure par...
c15bc91e1bf * Fix `native-comp-enable-subr-trampolines' semantic
774051873d5 Fix documentation of 'just-one-space' and 'delete-horizon...
7337f072500 ; Remove NEWS entry about deleted variable.
fb5299ba099 ; Fix wording of last change.
9f508cef85d Fix 'display-buffer-use-least-recent-window'
5190ea6259a Fix point moving when calling python-shell-send-region
6c0d8210175 (project-try-vc): Remove unused defvar/require
4f9862e4356 ; Fix typo
a638c79bc5c Delete redundant question from Gnus FAQ
4a90d67eb68 Slightly improve hashcash documentation
6ea3c105ab1 Fix cursor motion when there's line-prefix and display st...
e985466556c Fix comment in treesit_record_change (bug#61369)
1e5cebc88bb Spell out RPN abbreviation in Calc manual intro

# Conflicts:
# etc/NEWS
# lisp/window.el

22 months ago; * admin/make-tarball.txt: Minor copyedit.
Stefan Kangas [Sun, 19 Feb 2023 10:35:31 +0000 (11:35 +0100)]
; * admin/make-tarball.txt: Minor copyedit.

22 months ago; Commit files changed by "autoreconf -i -I m4 --force" emacs-28.3-rc1
Stefan Kangas [Fri, 17 Feb 2023 22:44:39 +0000 (23:44 +0100)]
; Commit files changed by "autoreconf -i -I m4 --force"

* build-aux/config.guess:
* build-aux/config.sub: Update files changed by running "autoreconf -i
-I m4 --force".  Do not merge.

22 months ago; Update ChangeLog for Emacs 28.3
Stefan Kangas [Fri, 17 Feb 2023 22:33:33 +0000 (23:33 +0100)]
; Update ChangeLog for Emacs 28.3

* ChangeLog.3: Refresh for Emacs 28.3.
* etc/NEWS: Add more information about fixed vulnerabilities.

22 months agoFix invocation of File->Close from the menu bar
Eli Zaretskii [Sun, 19 Feb 2023 09:29:32 +0000 (11:29 +0200)]
Fix invocation of File->Close from the menu bar

* lisp/simple.el (kill-buffer--possibly-save): Don't request
LONG-FORM from 'read-multiple-choice' if GUI dialog should be
used.
* lisp/emacs-lisp/rmc.el (read-multiple-choice): Doc fix.
(read-multiple-choice--short-answers): Don't append "?" to
CHOICES and don't display the prompt in the echo area if GUI
dialog is used.  Use 'use-dialog-box-p'.  (Bug#61553)

22 months ago; Improve documentation of 'native-comp-enable-subr-trampolines'
Eli Zaretskii [Sun, 19 Feb 2023 09:04:57 +0000 (11:04 +0200)]
; Improve documentation of 'native-comp-enable-subr-trampolines'

* doc/lispref/compile.texi (Native-Compilation Variables):
Document the interpretation of non-absolute directory names that
are the value of 'native-comp-enable-subr-trampolines'.

22 months agoAllow opening more files in emacsclient on Android
Po Lu [Sun, 19 Feb 2023 07:29:46 +0000 (15:29 +0800)]
Allow opening more files in emacsclient on Android

* java/org/gnu/emacs/EmacsOpenActivity.java (EmacsOpenActivity)
(checkReadableOrCopy): New function.
(onCreate): If the file specified is not readable from C, read
it into a temporary file and ask Emacs to open that.

22 months agoUpdate thumbnail buffer's header more
Manuel Giraud [Tue, 14 Feb 2023 14:08:17 +0000 (15:08 +0100)]
Update thumbnail buffer's header more

* lisp/image/image-dired.el (image-dired-display-thumbs): Call
image-dired--update-header-line.  (Bug#61508)

22 months agoImplement `fullscreen' on Android 4.0 and later
Po Lu [Sun, 19 Feb 2023 05:17:43 +0000 (13:17 +0800)]
Implement `fullscreen' on Android 4.0 and later

* doc/emacs/android.texi (Android Windowing): Document what new
frame parameters are now supported.
* java/org/gnu/emacs/EmacsActivity.java (EmacsActivity): New
field `isFullscreen'.
(detachWindow, attachWindow): Sync fullscreen state.
(onWindowFocusChanged): Add more logging.
(onResume): Restore previous fullscreen state.
(syncFullscreen): New function.
* java/org/gnu/emacs/EmacsWindow.java (EmacsWindow)
(setFullscreen): New function.
* src/android.c (struct android_emacs_window): Add new method.
(android_init_emacs_window): Look up new method.
(android_set_fullscreen): New function.
* src/androidgui.h:
* src/androidterm.c (android_fullscreen_hook): Implement
accordingly.

22 months agoFix crashes in desktop-save-mode
Po Lu [Sun, 19 Feb 2023 02:47:32 +0000 (10:47 +0800)]
Fix crashes in desktop-save-mode

* lisp/subr.el (overriding-text-conversion-style, y-or-n-p):
Disable text conversion when reading from minibuffer.
* src/androidfns.c (android_make_monitor_attribute_list): New
function.
(Fandroid_display_monitor_attributes_list): Call it to set
monitor_frames, which avoids a NULL pointer dereference.
Reported by Angelo Graziosi <angelo.g0@libero.it>.

22 months agoMerge remote-tracking branch 'origin/master' into feature/android
Po Lu [Sun, 19 Feb 2023 02:17:02 +0000 (10:17 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android

22 months ago(treesit-query-validate): Fix reusing the output buffer
Dmitry Gutov [Sat, 18 Feb 2023 21:52:47 +0000 (23:52 +0200)]
(treesit-query-validate): Fix reusing the output buffer

* lisp/treesit.el (treesit-query-validate): Fix the "Buffer is
read-only" error when an output buffer already exists.

22 months ago(rust-ts-mode--font-lock-settings): Highlight closure parameters
Dmitry Gutov [Sat, 18 Feb 2023 21:51:17 +0000 (23:51 +0200)]
(rust-ts-mode--font-lock-settings): Highlight closure parameters

* lisp/progmodes/rust-ts-mode.el
(rust-ts-mode--font-lock-settings): Highlight closure parameters.

22 months ago* Fix `native-comp-enable-subr-trampolines' semantic
Andrea Corallo [Sat, 18 Feb 2023 21:44:05 +0000 (22:44 +0100)]
* Fix `native-comp-enable-subr-trampolines' semantic

* lisp/emacs-lisp/comp.el (comp--trampoline-abs-filename): Interpret
`native-comp-enable-subr-trampolines' relative to
`invocation-directory'.

22 months agoFix documentation of 'just-one-space' and 'delete-horizontal-space'
Eli Zaretskii [Sat, 18 Feb 2023 18:03:33 +0000 (20:03 +0200)]
Fix documentation of 'just-one-space' and 'delete-horizontal-space'

* lisp/simple.el (just-one-space, delete-horizontal-space):
Mention the effect of prefix argument.  (Bug#61609)

22 months agoDon't rely on dynamic scoping to fix bug#59213
Stefan Monnier [Sat, 18 Feb 2023 17:56:24 +0000 (12:56 -0500)]
Don't rely on dynamic scoping to fix bug#59213

Rather than look up a dynamically scoped var to decide whether to trim
closures, use an ad-hoc marker on those closures which should not be trimmed.

* lisp/emacs-lisp/cconv.el (cconv-dont-trim-unused-variables): Delete var.
(cconv-make-interpreted-closure): Use a `:closure-dont-trim-context`
markers instead.

* lisp/emacs-lisp/edebug.el (edebug-make-enter-wrapper): Use
`:closure-dont-trim-context` rather than `cconv-dont-trim-unused-variables`.

* lisp/emacs-lisp/testcover.el (testcover-analyze-coverage): Remove
workaround for `cconv-dont-trim-unused-variables`.

* test/lisp/emacs-lisp/cconv-tests.el (cconv-safe-for-space): New test.

22 months ago; Remove NEWS entry about deleted variable.
Eli Zaretskii [Sat, 18 Feb 2023 17:48:22 +0000 (19:48 +0200)]
; Remove NEWS entry about deleted variable.

22 months ago; Fix wording of last change.
Eli Zaretskii [Sat, 18 Feb 2023 17:45:33 +0000 (19:45 +0200)]
; Fix wording of last change.

22 months agoImprove Tramp's user and host name completion
Michael Albinus [Sat, 18 Feb 2023 17:27:56 +0000 (18:27 +0100)]
Improve Tramp's user and host name completion

* lisp/net/tramp.el (tramp-completion-handle-file-exists-p):
Improve user name completion.
(tramp-skeleton-file-exists-p): New defmacro, which also handles
host name completion.
(tramp-handle-file-exists-p):
* lisp/net/tramp-adb.el (tramp-adb-handle-file-exists-p):
* lisp/net/tramp-sh.el (tramp-sh-handle-file-exists-p):
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-file-exists-p):
Use it.

22 months agoFix 'display-buffer-use-least-recent-window'
martin rudalics [Sun, 12 Feb 2023 09:33:11 +0000 (10:33 +0100)]
Fix 'display-buffer-use-least-recent-window'

* src/window.c (Fwindow_use_time): Doc fix.
(Fwindow_bump_use_time): Bump use time of the seleceted window as
well.  Doc fix.

* lisp/window.el (display-buffer-avoid-small-windows): Remove.
All users changed.
(window--display-buffer): Bump window use time when requested.
(display-buffer--lru-window): New function.
(display-buffer-use-some-window): Use it.
(display-buffer-use-least-recent-window): Rewrite and enhance doc
string.

* doc/lispref/windows.texi (Selecting Windows)
(Buffer Display Action Functions, Buffer Display Action Alists)
(The Zen of Buffer Display): Improve and update documentation of
window selection and display facilities.

22 months agoAllow disabling viper faces in the minibuffer
andrés ramírez [Mon, 13 Feb 2023 15:02:52 +0000 (15:02 +0000)]
Allow disabling viper faces in the minibuffer

* lisp/emulation/viper-cmd.el (viper-enable-minibuffer-faces): New
defcustom.
(viper-set-mode-vars-for): Use it to decide whether to use
distinct faces in the minibuffer.  (Bug#61432)

Copyright-paperwork-exempt: yes

22 months agoFix point moving when calling python-shell-send-region
kobarity [Mon, 13 Feb 2023 15:30:15 +0000 (00:30 +0900)]
Fix point moving when calling python-shell-send-region

* lisp/progmodes/python.el (python-shell-buffer-substring): Add
`save-excursion' to prevent the point from moving.
* test/lisp/progmodes/python-tests.el (python-tests-should-not-move):
New helper function to assert that point does not move while calling a
function.
(python-shell-buffer-substring-*): Use
`python-tests-should-not-move'. (Bug#61463)

22 months ago; * lisp/loadup.el: Fix merge typos.
Po Lu [Sat, 18 Feb 2023 15:17:07 +0000 (23:17 +0800)]
; * lisp/loadup.el: Fix merge typos.

22 months agoMerge remote-tracking branch 'origin/master' into feature/android
Po Lu [Sat, 18 Feb 2023 15:13:51 +0000 (23:13 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android

22 months agoUpdate Android port
Po Lu [Sat, 18 Feb 2023 15:09:30 +0000 (23:09 +0800)]
Update Android port

* doc/emacs/input.texi (On-Screen Keyboards): Document
`touch-screen-always-display'.
* doc/lispref/commands.texi (Misc Events): Improve documentation
of text conversion events.
* java/org/gnu/emacs/EmacsDialog.java (toAlertDialog, display1):
Reorder buttons to make more sense.
* lisp/elec-pair.el (electric-pair-analyze-conversion): New
function.
* lisp/simple.el (analyze-text-conversion): Improve integration
with electric pair modes.
* lisp/term.el (term-mode): Always display the onscreen
keyboard.
* lisp/touch-screen.el (touch-screen-display-keyboard)
(touch-screen-handle-point-up): Respect new options.
* src/textconv.c (really_set_composing_text): Stop widenining
unnecessarily.
(really_delete_surrounding_text): Really delete surrounding
text.  Give text conversion analyzers the buffer text.
(syms_of_textconv): Update doc string.

22 months ago(project-try-vc): Remove unused defvar/require
Omar Polo [Sat, 18 Feb 2023 13:10:57 +0000 (15:10 +0200)]
(project-try-vc): Remove unused defvar/require

* lisp/progmodes/project.el (project-try-vc):
Remove unused defvar/require (bug#61577).

22 months ago; Fix typo
Stefan Kangas [Sat, 18 Feb 2023 12:39:14 +0000 (13:39 +0100)]
; Fix typo

22 months agoDelete redundant question from Gnus FAQ
Stefan Kangas [Sat, 18 Feb 2023 12:35:37 +0000 (13:35 +0100)]
Delete redundant question from Gnus FAQ

* doc/misc/gnus-faq.texi (FAQ 1-2): Delete redundant question.
(FAQ 1-1, FAQ 1-3): Adjust accordingly.