]> git.eshelyaron.com Git - emacs.git/log
emacs.git
2 years agoUpdate Android port
Po Lu [Fri, 17 Mar 2023 11:26:16 +0000 (19:26 +0800)]
Update Android port

* configure.ac:
* m4/ndk-build.m4 (ndk_INIT):
(ndk_LATE): Avoid AC_REQUIRE magic.

2 years agoMerge remote-tracking branch 'origin/master' into feature/android
Po Lu [Fri, 17 Mar 2023 07:05:45 +0000 (15:05 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android

2 years agoSimplify usage of 'while' forms in Eshell's iterative evaluation
Jim Porter [Sun, 29 Jan 2023 01:04:11 +0000 (17:04 -0800)]
Simplify usage of 'while' forms in Eshell's iterative evaluation

Now, 'eshell-do-eval' rewrites 'while' forms to let-bind variables for
the command and test bodies.  This means that external code, such as
command rewriting hooks, no longer has to worry about this, making it
easier to pass "normal" Lisp forms to 'eshell-do-eval' (bug#61954).

* lisp/eshell/esh-cmd.el (eshell-command-body, eshell-test-body): No
longer used outside of 'eshell-do-eval', so rename to...
(eshell--command-body, eshell--test-body): ... these.
(Command evaluation macros): Remove obsolete description about 'if'
and 'while' forms.
(eshell-rewrite-for-command, eshell-structure-basic-command): Remove
'eshell-command-body' and 'eshell-test-body'.
(eshell-do-eval): Reimplement handling of 'while' forms.

2 years agoSimplify how Eshell's iterative evaluation handles 'if' forms
Jim Porter [Sat, 28 Jan 2023 23:06:31 +0000 (15:06 -0800)]
Simplify how Eshell's iterative evaluation handles 'if' forms

The previous implementation used 'eshell-test-body' and
'eshell-command-body' to track the condition and the then/else forms,
but those special variables are only needed for looping.  'if' only
evaluates each form once at most (bug#61954).

* lisp/eshell/esh-cmd.el (Command evaluation macros): Remove 'if' from
the notes about 'eshell-test-body' and 'eshell-command-body'.
(eshell-do-eval): Reimplement evaluation of 'if' forms.
(eshell-eval-command): Don't let-bind 'eshell-command-body' and
'eshell-test-body'; they're no longer needed here.

2 years agoSimplify iteration in Eshell for loops
Jim Porter [Fri, 27 Jan 2023 07:18:42 +0000 (23:18 -0800)]
Simplify iteration in Eshell for loops

The previous code fixed an issue in Eshell's iterative evaluation
where deferred commands caused an infinite loop (see bug#12571).
However, with the fix to unwinding let forms in 'eshell-do-eval' (see
bug#59469), we can just write this code as we normally would
(bug#61954).

* lisp/eshell/esh-cmd.el (eshell-rewrite-for-command): Simplify.

2 years agoImprove radio button appearance in Android menus
Po Lu [Fri, 17 Mar 2023 05:10:23 +0000 (13:10 +0800)]
Improve radio button appearance in Android menus

* java/org/gnu/emacs/EmacsContextMenu.java (EmacsContextMenu):
New field `lastGroupId'.
(Item): New field `isRadio'.
(addItem): New arg `isRadio'.
(inflateMenuItems): Apply an empty radio button group if
required.
* src/androidmenu.c (android_init_emacs_context_menu): Adjust
accordingly.
(android_menu_show): Likewise.

2 years agoUpdate Android port
Po Lu [Fri, 17 Mar 2023 02:38:09 +0000 (10:38 +0800)]
Update Android port

* java/org/gnu/emacs/EmacsView.java (cancelPopupMenu): Dismiss
context menu correctly.
(isOpaque): New function.
* java/org/gnu/emacs/EmacsWindowAttachmentManager.java: Make
consumer list public.

2 years ago; * configure.ac: Add missing precious variable.
Po Lu [Fri, 17 Mar 2023 02:03:43 +0000 (10:03 +0800)]
; * configure.ac: Add missing precious variable.

2 years agoMerge remote-tracking branch 'origin/master' into feature/android
Po Lu [Thu, 16 Mar 2023 11:56:25 +0000 (19:56 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android

2 years agoFix regression in Tramp (bug#62194)
Michael Albinus [Thu, 16 Mar 2023 11:41:13 +0000 (12:41 +0100)]
Fix regression in Tramp (bug#62194)

* lisp/net/tramp.el (tramp-handle-make-process):
* lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
(tramp-sh-handle-file-notify-add-watch)
(tramp-maybe-open-connection): Don't set process property
`shared-socket'.  (Bug#62194)

2 years agoUpdate Android port
Po Lu [Thu, 16 Mar 2023 10:34:53 +0000 (18:34 +0800)]
Update Android port

* lisp/frame.el (android-detect-mouse):
* lisp/term/android-win.el (android-get-connection): Add
function declarations.

2 years agoFix elixir-ts-mode.elc warning (bug#62155)
Wilhelm H Kirschbaum [Mon, 13 Mar 2023 19:47:50 +0000 (21:47 +0200)]
Fix elixir-ts-mode.elc warning (bug#62155)

* lisp/progmodes/elixir-ts-mode.el: Only require heex-ts-mode once
elixir-ts-mode loads to avoid calling (treesit-ready-p 'heex)
during byte-compilation.

2 years ago; * configure.ac: Remove unnecessary escape.
Po Lu [Thu, 16 Mar 2023 07:48:26 +0000 (15:48 +0800)]
; * configure.ac: Remove unnecessary escape.

2 years agoMake ANDROID_CC and SDK_BUILD_TOOLS precious variables
Po Lu [Thu, 16 Mar 2023 07:46:39 +0000 (15:46 +0800)]
Make ANDROID_CC and SDK_BUILD_TOOLS precious variables

* configure.ac (AUTO_DEPEND, ANDROID_STUBIFY, ANDROID_LDFLAGS):
* lib/Makefile.in (ANDROID_CFLAGS, ANDROID_BUILD_CFLAGS)
(ALL_CFLAGS):
* lib/gnulib.mk.in (AM_DEFAULT_VERBOSITY):
* msdos/sed1v2.inp:
* msdos/sedlibmk.inp:
* src/Makefile.in (ANDROID_OBJ, EMACS_CFLAGS): Make those
variables precious.  Rename ANDROID_CFLAGS substitution to
ANDROID_BUILD_CFLAGS.

2 years agoUpdate Android port
Po Lu [Thu, 16 Mar 2023 07:23:21 +0000 (15:23 +0800)]
Update Android port

* nt/mingw-cfg.site: Suppress build of gnulib printf.

2 years agoUpdate Android port
Po Lu [Thu, 16 Mar 2023 06:13:21 +0000 (14:13 +0800)]
Update Android port

* java/org/gnu/emacs/EmacsDocumentsProvider.java (queryRoots): Add
icon to document root.

2 years agoUpdate Android port
Po Lu [Thu, 16 Mar 2023 01:40:02 +0000 (09:40 +0800)]
Update Android port

* lisp/loadup.el (current-load-list): Set to empty load list
after startup.
* src/lread.c (build_load_history): Revert earlier changes.

2 years agoMerge remote-tracking branch 'origin/master' into feature/android
Po Lu [Thu, 16 Mar 2023 00:40:35 +0000 (08:40 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android

2 years agoMinor Tramp cleanup
Michael Albinus [Wed, 15 Mar 2023 17:01:48 +0000 (18:01 +0100)]
Minor Tramp cleanup

* lisp/net/tramp-sh.el (tramp-run-test): Add VEC argument.
(tramp-sh-handle-file-executable-p)
(tramp-sh-handle-file-readable-p)
(tramp-sh-handle-file-directory-p)
(tramp-sh-handle-file-writable-p): Adapt callees.

2 years agoAlways display the "Archive" column in the package list
Philip Kaludercic [Wed, 15 Mar 2023 15:47:48 +0000 (16:47 +0100)]
Always display the "Archive" column in the package list

* lisp/emacs-lisp/package.el (package-menu-mode): Always display
column.
(package-menu--print-info-simple): Always provide column information.

Since NonGNU ELPA has been added to the default value of
'package-archives', this condition is practically never satisfied,
meaning the code can be simplified.

2 years agoUpdate Android port
Po Lu [Wed, 15 Mar 2023 13:17:34 +0000 (21:17 +0800)]
Update Android port

* configure.ac: Improve portability.

2 years ago; * lisp/progmodes/elixir-ts-mode.el: remove duplicates from regexp
Mattias Engdegård [Wed, 15 Mar 2023 11:43:18 +0000 (12:43 +0100)]
; * lisp/progmodes/elixir-ts-mode.el: remove duplicates from regexp

2 years agoUnbreak Eglot (as a :core ELPA package) on Emacs 26.3
João Távora [Wed, 15 Mar 2023 10:27:24 +0000 (10:27 +0000)]
Unbreak Eglot (as a :core ELPA package) on Emacs 26.3

Because of the lack of regular automated testing on a CI system, many
recent developments in and outside Eglot had wrecked this
compatibility.

The GitHub CI available at https://github.com/joaotavora/eglot/actions
can be used to run this combination of eglot.el + eglot-tests.el on
26.3, 27.2 and 28.2.

* etc/EGLOT-NEWS: Mention new version.

* lisp/progmodes/eglot.el (eglot--reporter-update): New
compatibility shim.
(eglot-handle-notification $/progress): Use it.
(eglot-handle-notification textDocument/publishDiagnostics): Use
two-arg assoc-delete-all.
(Version): Bump to 1.13.

* test/lisp/progmodes/eglot-tests.el
(Commentary): Tweak.
(tramp): Tweak require;
(eglot-test-diagnostic-tags-unnecessary-code): Use
jsonrpc--encode.
(eglot--call-with-tramp-test): Adjust dependency on
ert-remote-temporary-file-directory.
(eglot-test-rust-on-type-formatting)
(eglot-test-project-wide-diagnostics-rust-analyzer): Wait longer.

2 years agoMerge remote-tracking branch 'origin/master' into feature/android
Po Lu [Wed, 15 Mar 2023 10:28:05 +0000 (18:28 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android

2 years agoFix typos in Android port
Robert Pluim [Wed, 15 Mar 2023 10:27:29 +0000 (18:27 +0800)]
Fix typos in Android port

* src/fileio.c (Finsert_file_contents):
* src/window.c (replace_buffer_in_windows): Call Fboundp, not
boundp.

2 years agoUpdate Android port
Po Lu [Wed, 15 Mar 2023 08:17:32 +0000 (16:17 +0800)]
Update Android port

* cross/Makefile.in (lib/gnulib.mk): Edit out
build-aux stuff.
* m4/ndk-build.m4: Also look for cross ranlib.

2 years ago; * src/sfntfont.c (sfntfont_close): Fix warning w/o mmap.
Po Lu [Wed, 15 Mar 2023 07:57:59 +0000 (15:57 +0800)]
; * src/sfntfont.c (sfntfont_close): Fix warning w/o mmap.

2 years agoPort to systems without endian.h
Po Lu [Wed, 15 Mar 2023 07:38:19 +0000 (15:38 +0800)]
Port to systems without endian.h

* lib-src/asset-directory-tool.c (main_2): Port to systems
without htole32.

2 years agoUpdate Android port
Po Lu [Wed, 15 Mar 2023 07:07:29 +0000 (15:07 +0800)]
Update Android port

* configure.ac (XCONFIGURE): Disable NS.
* cross/Makefile.in (lib-src/config.h):

(lib/libgnu.a):
(src/android-emacs): Port sed invocation to Mac OS without GNU
sed.

2 years ago; Auto-commit of loaddefs files.
Stefan Kangas [Wed, 15 Mar 2023 04:12:01 +0000 (05:12 +0100)]
; Auto-commit of loaddefs files.

2 years agoUpdate Android port
Po Lu [Wed, 15 Mar 2023 01:46:01 +0000 (09:46 +0800)]
Update Android port

* doc/lispref/commands.texi (Misc Events): Document variable
`disable-inhibit-text-conversion'.
* java/org/gnu/emacs/EmacsDialog.java (display1): Try an
activity that is certain to be focused first.
* lisp/touch-screen.el (touch-screen-track-tap)
(touch-screen-track-drag): Bind
`disable-inhibit-text-conversion'.
* src/keyboard.c (read_key_sequence): Only disable text
conversion if an actual function or numeric key is found in the
key sequence.
(syms_of_keyboard): New variable
`disable-inhibit-text-conversion'.
* src/lread.c (read_filtered_event): Check new variable.
* src/textconv.c (textconv_query): Remove unused label.

2 years agoMore fixes to Eglot tests
João Távora [Wed, 15 Mar 2023 00:36:26 +0000 (00:36 +0000)]
More fixes to Eglot tests

* test/lisp/progmodes/eglot-tests.el
(eglot-test-project-wide-diagnostics-rust-analyzer): Make even more
robust.
(eglot--wait-for): flush-standard-output doesn't exist in older
Emacsen.
(eglot-test-basic-diagnostics): Increase timeout.

2 years agoOmit gnulib modules added by Android port on MinGW
Po Lu [Wed, 15 Mar 2023 00:20:59 +0000 (08:20 +0800)]
Omit gnulib modules added by Android port on MinGW

* nt/gnulib-cfg.mk: Omit new gnulib modules.

2 years agoImprove debug output of Eglot tests
João Távora [Tue, 14 Mar 2023 19:50:48 +0000 (19:50 +0000)]
Improve debug output of Eglot tests

* test/lisp/progmodes/eglot-tests.el
(eglot--test-message): New helper.
(eglot--call-with-fixture): Use it.
(eglot--cleanup-after-test): Use it.
(eglot--wait-for): Use it.  Clean mistaken docstring.

2 years agoRobustify some Eglot tests involving rust-analyzer
João Távora [Tue, 14 Mar 2023 19:44:45 +0000 (19:44 +0000)]
Robustify some Eglot tests involving rust-analyzer

* eglot-tests.el (eglot-test-diagnostics-tags-unnecessary-code): Use
clangd instead of rust-analyzer.
(eglot-test-project-wide-diagnostics-rust-analyzer): Don't count
diagnostics, just check they come from unvisited file.
(eglot-test-rust-analyzer-watches-files): Wait a bit more time..

2 years agoCheck before using bleeding edge ERT sym in Eglot tests
João Távora [Tue, 14 Mar 2023 19:43:04 +0000 (19:43 +0000)]
Check before using bleeding edge ERT sym in Eglot tests

Else, these tests won't run on Emacs versions that Eglot runs on, like
26.3.

* test/lisp/progmodes/eglot-tests.el
(eglot--call-with-tramp-test):  check for
ert-remote-temporary-file-directory before using.

2 years agoBetter jsonrpc.el workaround for debug-on-error check
João Távora [Tue, 14 Mar 2023 19:07:23 +0000 (19:07 +0000)]
Better jsonrpc.el workaround for debug-on-error check

Some extensions, notably ert.el, set `debug-on-error' to non-nil,
which makes it hard to test the behaviour catching of the Elisp
error when processing a request and replying to the endpoint with
an JSONRPC-error.

The previous workaround relied on requiring lisp/emacs-lisp/ert.el in
lisp/jsonrpc.el, which really doesn't make sense.

This is better.  For the single test of that behaviour, set a new
variable, jsonrpc-inhibit-debug-on-error.

Not only is this cleaner, it allows us to use ert.el's useful
debug-on-error setting.

* lisp/jsonrpc.el (ert): Don't require it.
(jsonrpc-inhibit-debug-on-error): New variable.
(jsonrpc-connection-receive): Use it.
(Package-Requires): Bump to 1.0.17

* test/lisp/jsonrpc-tests.el (signals-an--32603-JSONRPC-error):
Bind jsonrpc-inhibit-debug-on-error.

2 years agoMerge from origin/emacs-29
João Távora [Tue, 14 Mar 2023 18:14:48 +0000 (18:14 +0000)]
Merge from origin/emacs-29

4b6f2a7028b * lisp/progmodes/xref.el: Bump the version.
24c8b146bbc * lisp/progmodes/xref.el (xref--xref-buffer-mode): Split ...
46f9e53c3da Fix import of keys in buffer created by epa-search-keys
36ade0704e1 Fix connection-local variables settings
e759905d2e0 ; Minor copyedits in EGLOT-NEWS
ba22a2c346b Bump Eglot version to 1.12
54e123a5055 Update Eglot's manual about eglot-workspace-configuration
812597f864c ; * lisp/novice.el (disabled-command-function): Add note ...
4a603c98499 Amend last Eglot commit (bug#62065)
b916ec88b2f Make eglot-ensure's post-command-hook run a bit later (bu...
1c05175c21a Fix display of disabled-command help text
3ce37db9882 Remove mention of old dotted-list reader quirk from manual
42335c2c1f1 Fix value history shown for 'gc-cons-percentage'
fffbce29349 TRework fix for bug#62106
8bc12a27362 ; * etc/NEWS: Fix last change.
2ac068d294e ; Remove 'ns-popup-font-panel' from documentation
5bc32d008fb Add missing indentation rule for rust-ts-mode (Bug#62109)
0404924930d ; One more improvement to ELisp "internals" appendix.
c857775ca61 Fix bug#62106
0fedbfa6a9d ; Minor improvement of documentation of GC thresholds
b0b24ad2fc5 Add missing rust-ts-mode highlight query for scoped_type_...
c0cf69f7a17 Make "case" keyword a dedenter in Python
db178517ce7 ; * lisp/arc-mode.el (w32-get-console-codepage): Declare.
157a91b54be Fix decoding non-ASCII file names in zip archives on MS-W...
4803f972047 Fix copying binary files from zip archives
679f528b953 Skip ruby-ts-syntax-propertize-symbol unless treesitter i...
081cc7aa8e0 ; * doc/misc/eglot.texi (Project-specific configuration):...
1de513a29fa Fix enums and unions appearing as structs in c-ts-base-mo...
ecdfd584a52 ruby-ts-mode: Fine-tune s-p-f on symbols (bug#62086)
29228e24f20 python-info-dedenter-opening-block-positions: Fix to supp...
01b65d442ad Autoload Eglot helper funtion eglot--debbugs-or-github-bu...
50a3559c5a7 Add chapter on advanced server configuration to Eglot manual
2e7460c2315 ; * lisp/progmodes/java-ts-mode.el (treesit-query-capture...
255eeee0e06 java-ts-mode: detect if text_block is supported.
6fe9075ff38 Revert workaround introduced in Bug#56271
f175141aead Fix searching for end of string in python-nav-end-of-stat...

# Conflicts:
# etc/NEWS

2 years agoUpdate Android port
Po Lu [Tue, 14 Mar 2023 11:51:42 +0000 (19:51 +0800)]
Update Android port

* lisp/minibuffer.el (minibuffer-setup-on-screen-keyboard):
Handle cases where last-event-frame is a kbd macro.
* src/keyboard.c (lispy_function_keys): Remove duplicates.

2 years ago; * etc/NEWS: Fix typos.
Michael Albinus [Tue, 14 Mar 2023 10:39:32 +0000 (11:39 +0100)]
; * etc/NEWS: Fix typos.

2 years agoFix Tramp tests
Michael Albinus [Tue, 14 Mar 2023 10:39:16 +0000 (11:39 +0100)]
Fix Tramp tests

* test/lisp/net/tramp-tests.el (tramp-test26-file-name-completion):
Fix test.
(tramp-test45-asynchronous-requests): Mark it :unstable.

2 years agoImprove Tramp processes to accept output over the same socket
Michael Albinus [Tue, 14 Mar 2023 10:38:39 +0000 (11:38 +0100)]
Improve Tramp processes to accept output over the same socket

* lisp/net/tramp.el (tramp-accept-process-output): Don't use TIMEOUT
anymore, default it to 0.  When the connection uses a shared
socket possibly, accept also the output from other processes over
the same connection.  (Bug#61350)
(tramp-handle-file-notify-rm-watch, tramp-action-process-alive)
(tramp-action-out-of-band, tramp-process-one-action)
(tramp-interrupt-process):
* lisp/net/tramp-adb.el (tramp-adb-handle-make-process):
* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch):
* lisp/net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch):
* lisp/net/tramp-smb.el (tramp-smb-action-get-acl)
(tramp-smb-action-set-acl, tramp-smb-wait-for-output):
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-action-sudo):
Adapt callees.

* lisp/net/tramp.el (tramp-handle-make-process):
* lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
(tramp-sh-handle-file-notify-add-watch)
(tramp-maybe-open-connection): Set `shared-socket' property.

2 years ago* lisp/server.el (server-eval-at): Improve docstring
Robert Pluim [Mon, 13 Mar 2023 08:25:26 +0000 (09:25 +0100)]
* lisp/server.el (server-eval-at): Improve docstring

2 years agoFix the MS-DOS build
Po Lu [Tue, 14 Mar 2023 07:14:38 +0000 (15:14 +0800)]
Fix the MS-DOS build

* msdos/sed1v2.inp:
* msdos/sed3v2.inp:
* msdos/sedlibcf.inp:
* msdos/sedlibmk.inp: Update for Android port and new Gnulib
modules.

2 years agoUpdate Android port
Po Lu [Tue, 14 Mar 2023 05:19:01 +0000 (13:19 +0800)]
Update Android port

* java/org/gnu/emacs/EmacsWindow.java (figureChange): Detect
mice on up events as well.
(onSomeKindOfMotionEvent): Work past framework bug.
* src/androidterm.c (android_perform_conversion_query):
* src/textconv.c (textconv_query):
* src/textconv.h (TEXTCONV_SKIP_ACTIVE_REGION): Remove unused
code.

2 years agoUpdate Android port
Po Lu [Tue, 14 Mar 2023 01:48:02 +0000 (09:48 +0800)]
Update Android port

* doc/emacs/android.texi (Android Windowing): Document how to
display dialogs when Emacs is in the background.
* java/org/gnu/emacs/EmacsDialog.java (display1): Use system
dialogs if possible.

2 years agoMerge remote-tracking branch 'origin/master' into feature/android
Po Lu [Tue, 14 Mar 2023 01:01:48 +0000 (09:01 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android

2 years ago* lisp/progmodes/xref.el: Bump the version.
Juri Linkov [Mon, 13 Mar 2023 18:21:47 +0000 (20:21 +0200)]
* lisp/progmodes/xref.el: Bump the version.

2 years ago* lisp/progmodes/xref.el (xref--xref-buffer-mode): Split up 'setq-local'.
Juri Linkov [Mon, 13 Mar 2023 17:38:28 +0000 (19:38 +0200)]
* lisp/progmodes/xref.el (xref--xref-buffer-mode): Split up 'setq-local'.

xref.el needs to support 26.1, but an arbitrary number of variables
in 'setq-local' was added in Emacs 27.1 (bug#62162).

2 years agoFix import of keys in buffer created by epa-search-keys
Filipp Gunbin [Mon, 13 Mar 2023 16:27:13 +0000 (19:27 +0300)]
Fix import of keys in buffer created by epa-search-keys

* lisp/epa-ks.el (epa-ks--query-url): Add operation parameter.
(epa-ks--fetch-key, epa-search-keys): Use it.

2 years agoFix connection-local variables settings
Michael Albinus [Mon, 13 Mar 2023 17:02:36 +0000 (18:02 +0100)]
Fix connection-local variables settings

; * etc/NEWS: Fix typos.

* lisp/files-x.el (connection-local-set-profiles)
(connection-local-set-profile-variables): Use NOW when calling
`custom-set-variables'.

* test/lisp/files-x-tests.el
(files-x-test-connection-local-set-profile-variables)
(files-x-test-connection-local-update-profile-variables)
(files-x-test-connection-local-set-profiles)
(files-x-test-hack-connection-local-variables-apply)
(files-x-test-with-connection-local-variables)
(files-x-test-setq-connection-local): Fix tests.

* test/lisp/net/tramp-tests.el (tramp-test34-connection-local-variables)
(tramp-test34-explicit-shell-file-name): Fix tests.

2 years agoCC Mode: Allow lists of strings as safe values for *-font-lock-extra-types
Alan Mackenzie [Mon, 13 Mar 2023 16:42:02 +0000 (16:42 +0000)]
CC Mode: Allow lists of strings as safe values for *-font-lock-extra-types

* lisp/progmodes/cc-vars.el (c-list-of-strings): New function.
(c-font-lock-extra-types, c++-font-lock-extra-types)
(objc-font-lock-extra-types, java-font-lock-extra-types)
(idl-font-lock-extra-types, pike-font-lock-extra-types): Add a :safe entry
into each of thes defcustoms for c-list-of-string.
(Top level): Add an autoload entry for each of the above.

2 years ago; Minor copyedits in EGLOT-NEWS
Eli Zaretskii [Mon, 13 Mar 2023 12:48:08 +0000 (14:48 +0200)]
; Minor copyedits in EGLOT-NEWS

* etc/EGLOT-NEWS: Fix punctuation and quoting, add note about
finding Issues.

2 years agoUpdate Android port
Po Lu [Mon, 13 Mar 2023 12:39:29 +0000 (20:39 +0800)]
Update Android port

* etc/NEWS: Announce new option.
* lisp/menu-bar.el (menu-bar-close-window): New option.
(kill-this-buffer):
(kill-this-buffer-enabled-p): Adjust accordingly.
* src/keyboard.c (lispy_function_keys): Add more silly
keys.

2 years agoBump Eglot version to 1.12
João Távora [Fri, 10 Mar 2023 11:30:58 +0000 (11:30 +0000)]
Bump Eglot version to 1.12

* etc/EGLOT-NEWS: New file.

* etc/NEWS: Briefly mention etc/EGLOT-NEWS.

* lisp/progmodes/eglot.el: Bump versions.

2 years agoUpdate Android port
Po Lu [Mon, 13 Mar 2023 10:31:30 +0000 (18:31 +0800)]
Update Android port

* src/android.c (android_check_string, android_build_string):
Reduce consing when building menu bar strings.

2 years agoUpdate Eglot's manual about eglot-workspace-configuration
João Távora [Sun, 12 Mar 2023 19:44:53 +0000 (19:44 +0000)]
Update Eglot's manual about eglot-workspace-configuration

There is a possible use for a global setting
eglot-workspace-configuration, which is to (ab)use it to set
user-specific configuration when the server doesn't permit other
methods.  Rearrange the "Advanced server configuration" section and
describe that use in the manual.

* doc/misc/eglot.texi (Project-specific configuration): Correct
mistake about global usefulness of eglot-workspace-configuration.
(Advanced server configuration): Swap order of sections.
(User-specific configuration): Mention possibility of globally
setting eglot-workspace-configuration.

2 years ago; * etc/MACHINES (Android): Update with more recent information.
Po Lu [Mon, 13 Mar 2023 07:53:39 +0000 (15:53 +0800)]
; * etc/MACHINES (Android): Update with more recent information.

2 years agoUpdate Android port
Po Lu [Mon, 13 Mar 2023 05:25:02 +0000 (13:25 +0800)]
Update Android port

* doc/emacs/android.texi (Android Startup): Document changes to
emacsclient wrapper.
* java/org/gnu/emacs/EmacsOpenActivity.java (EmacsOpenActivity)
(startEmacsClient): Open EmacsActivity if the service is not
running.
* java/org/gnu/emacs/EmacsService.java (onCreate):
* java/org/gnu/emacs/EmacsThread.java (EmacsThread, run): Pass
any file to open to Emacs.
* lisp/term/android-win.el (handle-args-function): Implement.

2 years agoUpdate Android port
Po Lu [Mon, 13 Mar 2023 01:58:52 +0000 (09:58 +0800)]
Update Android port

* src/image.c (image_create_bitmap_from_file, image_find_image_fd)
(close_android_fd, slurp_file): Return and use `struct
android_fd_or_asset' on Android.
(xbm_load, xpm_load, pbm_load, png_load_body, jpeg_load_body)
(webp_load, svg_load): Adjust accordingly.

2 years agoMerge remote-tracking branch 'origin/master' into feature/android
Po Lu [Sun, 12 Mar 2023 23:52:08 +0000 (07:52 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android

2 years ago; * lisp/novice.el (disabled-command-function): Add note in a comment.
Eli Zaretskii [Sun, 12 Mar 2023 20:22:41 +0000 (22:22 +0200)]
; * lisp/novice.el (disabled-command-function): Add note in a comment.

2 years agoAmend last Eglot commit (bug#62065)
João Távora [Sun, 12 Mar 2023 19:30:53 +0000 (19:30 +0000)]
Amend last Eglot commit (bug#62065)

The fix contained a spurious check for this-command that shouldn't
have made it in..

* lisp/progmodes/eglot.el (eglot-ensure): Don't check this-command.

2 years agoMake eglot-ensure's post-command-hook run a bit later (bug#62065)
João Távora [Sun, 12 Mar 2023 18:19:40 +0000 (18:19 +0000)]
Make eglot-ensure's post-command-hook run a bit later (bug#62065)

'eglot-ensure', typically used in the major-mode-hook, use
'post-command-hook' to schedule an automated, non-interactive
connection attempt to a server.  The goal is to connect when the
buffer is ready, i.e. after the user command that found the file.

However, if there are dir-local or buffer-local variables to confirm,
finding the file will cause a minibuffer prompt to appear.

In that case, 'eglot-ensure's addition to the global post-command-hook
runs before it was intended too and a connection is started
prematurely.

In turn, this means that a call to 'hack-dir-local-variables' -- which
is part of the connection process -- which also needs a minibuffer
prompt, collides with the previous one.  This generates an error and
confuses the user, who doesn't know if the directory-local variables
have been applied or not.

This commit fixes the clash by having 'eglot-ensure' set
'post-command-hook' buffer-locally.  This causes the automated
connection to take place, as intended, after the user's original
file-finding command has ended.

However, the problem reported in bug#62065 is not completely fixed.
If the user answers "no" to the first "confirm local variables"
"prompt, she will be prompted again in the second one.  A subsequent
commit will address this separate problem.

* lisp/progmodes/eglot.el (eglot-ensure): Use buffer-local post-command-hook.

2 years agoFix display of disabled-command help text
Eli Zaretskii [Sun, 12 Mar 2023 17:32:02 +0000 (19:32 +0200)]
Fix display of disabled-command help text

* lisp/novice.el (disabled-command-function): Improve wording, and
make sure the prompt doesn't exceed one screen line, so that the
mini-window is not resized (which gets in the way of fitting the
window to the size of the help text), and the help text is fully
visible when Emacs prompts for input.  (Bug#62146)

2 years agoRepair and speed up safe-copy-tree and make it internal (bug#61962)
Mattias Engdegård [Sun, 12 Mar 2023 16:00:25 +0000 (17:00 +0100)]
Repair and speed up safe-copy-tree and make it internal (bug#61962)

There is no particular requirement for safe-copy-tree so let's make it
internal for now.  The new implementation is faster and more correct.

* doc/lispref/lists.texi (Building Lists):
* etc/NEWS:  Remove doc and announcement.
* lisp/subr.el (safe-copy-tree--seen, safe-copy-tree--1)
(safe-copy-tree): Remove old version.
* lisp/emacs-lisp/bytecomp.el (bytecomp--copy-tree-seen)
(bytecomp--copy-tree-1, bytecomp--copy-tree): Add new version.
(byte-compile-initial-macro-environment): Use it.
* test/lisp/subr-tests.el (subr--safe-copy-tree):
* test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp--copy-tree):
Move and improve tests.

2 years agoRemove mention of old dotted-list reader quirk from manual
Mattias Engdegård [Sun, 12 Mar 2023 16:57:38 +0000 (17:57 +0100)]
Remove mention of old dotted-list reader quirk from manual

* doc/lispref/objects.texi (Dotted Pair Notation):
The (. X) reader peculiarity is no more (bug#62020).

2 years agoMake Tramp file name completion more quiet for all backends
Michael Albinus [Sun, 12 Mar 2023 16:21:57 +0000 (17:21 +0100)]
Make Tramp file name completion more quiet for all backends

* lisp/net/tramp-adb.el (tramp-adb-handle-file-name-all-completions):
* lisp/net/tramp-archive.el
(tramp-archive-handle-file-name-all-completions):
* lisp/net/tramp-crypt.el (tramp-crypt-handle-file-name-all-completions):
* lisp/net/tramp-fuse.el (tramp-fuse-handle-file-name-all-completions):
* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-name-all-completions):
* lisp/net/tramp-sh.el (tramp-sh-handle-file-name-all-completions):
* lisp/net/tramp-smb.el (tramp-smb-handle-file-name-all-completions):
* lisp/net/tramp-sudoedit.el
(tramp-sudoedit-handle-file-name-all-completions):
Return nil when DIRECTORY is missing.  (Bug#61890)

2 years ago; NEWS markings.
Eli Zaretskii [Sun, 12 Mar 2023 15:43:40 +0000 (17:43 +0200)]
; NEWS markings.

2 years agoAdd elixir-ts-mode (Bug#61996)
Wilhelm H Kirschbaum [Sun, 12 Mar 2023 15:10:43 +0000 (17:10 +0200)]
Add elixir-ts-mode (Bug#61996)

* etc/NEWS: Mention the new mode.
* lisp/progmodes/elixir-ts-mode.el: New file.
* test/lisp/progmodes/elixir-ts-mode-tests.el: New file.
* test/lisp/progmodes/elixir-ts-mode-resources/indent.erts: New file.
* admin/notes/tree-sitter/build-module/batch.sh:
* admin/notes/tree-sitter/build-module/build.sh: Add Elixir support.
* lisp/progmodes/eglot.el (eglot-server-programs): Add elixir-ts-mode.

2 years agoAdd heex-ts-mode (Bug#61996)
Wilhelm H Kirschbaum [Sun, 12 Mar 2023 15:08:50 +0000 (17:08 +0200)]
Add heex-ts-mode (Bug#61996)

* etc/NEWS: Mention the new mode.
* lisp/progmodes/heex-ts-mode.el: New file.
* test/lisp/progmodes/heex-ts-mode-tests.el: New file.
* test/lisp/progmodes/heex-ts-mode-resources/indent.erts: New file.
* admin/notes/tree-sitter/build-module/batch.sh:
* admin/notes/tree-sitter/build-module/build.sh: Add HEEx support.

2 years agoFix value history shown for 'gc-cons-percentage'
Eli Zaretskii [Sun, 12 Mar 2023 14:19:49 +0000 (16:19 +0200)]
Fix value history shown for 'gc-cons-percentage'

When Emacs is built, temacs is run in batch mode, so if we enlarge
'gc-cons-percentage' in that case, the enlarged value will be
"remembered" by the dumped Emacs, and will show confusing
information in "C-h v", claiming that the original value was 1.0.
Keeping the value at 0.1 during dumping avoids that.

* src/emacs.c (main): Increase 'gc-cons-percentage' in batch mode
only if we are not initializing (a.k.a. "dumping") Emacs.

2 years agoFix pluralization in shortdoc-help-fns-examples-function
Daniel Martín [Sun, 12 Mar 2023 12:38:34 +0000 (13:38 +0100)]
Fix pluralization in shortdoc-help-fns-examples-function

* lisp/emacs-lisp/shortdoc.el (shortdoc-help-fns-examples-function):
Implement a better logic to pluralize "Example", by counting the
number of arrow characters in the example string. (Bug#61877)
* test/lisp/emacs-lisp/shortdoc-tests.el
(shortdoc-help-fns-examples-function-test): Add a test.

2 years agoUpdate Android port
Po Lu [Sun, 12 Mar 2023 12:53:34 +0000 (20:53 +0800)]
Update Android port

* src/android.c (android_get_screen_width):
(android_get_screen_height):
(android_get_mm_width):
(android_get_mm_height):
(android_detect_mouse): Correctly handle Java exceptions.

2 years agoMerge remote-tracking branch 'origin/master' into feature/android
Po Lu [Sun, 12 Mar 2023 11:37:00 +0000 (19:37 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android

2 years agoUpdate Android port
Po Lu [Sun, 12 Mar 2023 11:36:09 +0000 (19:36 +0800)]
Update Android port

* src/android.c (android_check_if_event):
* src/androidgui.h: New function.
* src/androidterm.c (android_event_is_for_frame): New function.
(android_reset_conversion): Free and unqueue all text conversion
events for the given frame.

2 years agoTRework fix for bug#62106
Michael Albinus [Sun, 12 Mar 2023 10:01:22 +0000 (11:01 +0100)]
TRework fix for bug#62106

* lisp/files-x.el (connection-local-set-profiles)
(connection-local-set-profile-variables):
Use `custom-set-variables'.  It serves the purpose to not keep
unsaved user options, and it is less invasive than
`customize-save-variable'.

2 years agoUpdate Android port
Po Lu [Sun, 12 Mar 2023 09:07:57 +0000 (17:07 +0800)]
Update Android port

* src/androidterm.c (NATIVE_NAME, JNICALL)
(android_build_extracted_text, android_update_selection): Use
0-based indices for Android buffer positions.  Also, report
surrounding text relative to the region, not to the cursor.
* src/textconv.c (textconv_query): Accept new values of
position.
(really_set_composing_text): Use ephemeral last point.

2 years ago; Fix last change
Eli Zaretskii [Sun, 12 Mar 2023 08:25:10 +0000 (10:25 +0200)]
; Fix last change

* lisp/emacs-lisp/shortdoc.el (shortdoc-help-fns-examples-function)
(shortdoc-function-examples): Fix compilation warning and add an
empty line before the examples.

* lisp/emacs-lisp/shortdoc.el (shortdoc--insert-group-in-buffer)
(shortdoc-function-examples)
(shortdoc-help-fns-examples-function):
* etc/NEWS:
* doc/lispref/help.texi (Documentation Groups):
* doc/emacs/help.texi (Name Help): Improve documentation of
the last change.  (Bug#61877)

2 years agoAdd functions to query Emacs Lisp examples registered in shortdoc
Daniel Martín [Tue, 28 Feb 2023 22:15:40 +0000 (23:15 +0100)]
Add functions to query Emacs Lisp examples registered in shortdoc

* lisp/emacs-lisp/shortdoc.el (shortdoc--display-function): Add
a new shortdoc-example text property so that ELisp examples can
be searched for later.
(shortdoc--insert-group-in-buffer): New function extracted from
the buffer insertion code in 'shortdoc-display-group'.
(shortdoc-display-group): Implement in terms of
'shortdoc--insert-group-in-buffer'.
(shortdoc-function-examples): New function that returns an alist
of Emacs Lisp examples from shortdoc.
(shortdoc-help-fns-examples-function): New function to insert
Emacs Lisp function examples in *Help* buffers, if added to
'help-fns-describe-function-functions'.
*
test/lisp/emacs-lisp/shortdoc-tests.el (shortdoc-function-examples-test):
Test it.
* doc/emacs/help.texi (Name Help): Document in the user manual.
* doc/lispref/help.texi (Documentation Groups): Document it.
* etc/NEWS: Advertise it. (Bug#61877)

2 years ago; Fix typo in docstring
Jim Porter [Sun, 12 Mar 2023 07:51:20 +0000 (23:51 -0800)]
; Fix typo in docstring

* test/lisp/eshell/em-cmpl-tests.el
(em-cmpl-test/variable-assign-completion/non-assignment): Fix typo.

2 years ago; * etc/NEWS: Fix last change.
Eli Zaretskii [Sun, 12 Mar 2023 07:48:45 +0000 (09:48 +0200)]
; * etc/NEWS: Fix last change.

2 years ago; Remove 'ns-popup-font-panel' from documentation
Eli Zaretskii [Sun, 12 Mar 2023 07:45:48 +0000 (09:45 +0200)]
; Remove 'ns-popup-font-panel' from documentation

* doc/emacs/macos.texi (Mac / GNUstep Customization): Remove the
reference to 'ns-popup-font-panel'.  (Bug#62130)

2 years agoMerge remote-tracking branch 'origin/master' into feature/android
Po Lu [Sun, 12 Mar 2023 07:43:56 +0000 (15:43 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android

2 years agoUpdate Android port
Po Lu [Sun, 12 Mar 2023 07:43:14 +0000 (15:43 +0800)]
Update Android port

* java/org/gnu/emacs/EmacsOpenActivity.java (EmacsOpenActivity)
(onCancel): New function.
(displayFailureDialog): Handle dialog cancellation.
* src/sfntfont.c (sfnt_parse_languages): Look for SLNG tag if
DLNG is not present.

2 years agoAdd Super modifier support to Android port
Po Lu [Sun, 12 Mar 2023 03:06:47 +0000 (11:06 +0800)]
Add Super modifier support to Android port

* src/androidgui.h (enum android_modifier_mask): New modifier
ANDROID_SUPER_MASK.
* src/androidterm.c (android_android_to_emacs_modifiers)
(android_emacs_to_android_modifiers): Add new modifier.

2 years agoAdd support for completing special references (e.g. buffers) in Eshell
Jim Porter [Wed, 25 Jan 2023 05:22:06 +0000 (21:22 -0800)]
Add support for completing special references (e.g. buffers) in Eshell

* lisp/eshell/em-cmpl.el (eshell-complete-parse-arguments): Handle
special references.

* lisp/eshell/em-arg.el (eshell-parse-special-reference): Ensure point
is just after the "#<" when incomplete, and handle backslash escapes
more thoroughly.
(eshell-complete-special-reference): New function.

* test/lisp/eshell/esh-arg-tests.el
(esh-arg-test/special-reference/default)
(esh-arg-test/special-reference/buffer)
(esh-arg-test/special-reference/special):
* test/lisp/eshell/em-cmpl-tests.el
(em-cmpl-test/special-ref-completion/type)
(em-cmpl-test/special-ref-completion/implicit-buffer)
(em-cmpl-test/special-ref-completion/buffer): New tests.

2 years agoFix crash during androidterm init
Po Lu [Sun, 12 Mar 2023 02:45:26 +0000 (10:45 +0800)]
Fix crash during androidterm init

* src/androidterm.c (syms_of_androidterm): Initialize
Vandroid_build_fingerprint in case GC happens.

2 years ago; * src/emacs-module.c (module_reset_handlerlist): Fix macro conflict.
Po Lu [Sun, 12 Mar 2023 02:39:56 +0000 (10:39 +0800)]
; * src/emacs-module.c (module_reset_handlerlist): Fix macro conflict.

2 years agoClean up emacs-module.c
Po Lu [Sun, 12 Mar 2023 02:37:18 +0000 (10:37 +0800)]
Clean up emacs-module.c

* src/emacs-module.c (MODULE_HANDLE_NONLOCAL_EXIT)
(module_make_global_ref, module_free_global_ref)
(module_make_function, module_get_function_finalizer)
(module_set_function_finalizer, module_make_interactive)
(module_funcall, module_intern, module_type_of)
(module_extract_integer, module_make_integer, module_extract_float)
(module_make_float, module_copy_string_contents)
(module_make_string, module_make_unibyte_string)
(module_make_user_ptr, module_get_user_ptr, module_set_user_ptr)
(module_get_user_finalizer, module_set_user_finalizer)
(module_vec_set, module_vec_get, module_vec_size)
(module_process_input, module_extract_time, module_make_time)
(module_extract_big_integer, module_make_big_integer)
(module_open_channel, module_reset_handlerlist): Adjust as
recommended by Paul Eggert <eggert@cs.ucla.edu>.

2 years agoUpdate Android port
Po Lu [Sun, 12 Mar 2023 01:53:41 +0000 (09:53 +0800)]
Update Android port

* configure.ac: Take option `--with-shared-user-id' and give it
to AndroidManifest.xml.in.
* java/AndroidManifest.xml.in: Substitute that into the
application info.
* java/INSTALL (BUILDING WITH A SHARED USER ID): New section.

2 years agoAdd missing indentation rule for rust-ts-mode (Bug#62109)
Randy Taylor [Sat, 11 Mar 2023 01:56:04 +0000 (20:56 -0500)]
Add missing indentation rule for rust-ts-mode (Bug#62109)

* lisp/progmodes/rust-ts-mode.el (rust-ts-mode--indent-rules): Add
missing rule.

2 years ago; One more improvement to ELisp "internals" appendix.
Eli Zaretskii [Sat, 11 Mar 2023 17:30:06 +0000 (19:30 +0200)]
; One more improvement to ELisp "internals" appendix.

2 years agoFix bug#62106
Michael Albinus [Sat, 11 Mar 2023 16:31:11 +0000 (17:31 +0100)]
Fix bug#62106

* lisp/files-x.el (connection-local-set-profiles)
(connection-local-set-profile-variables):
Use `customize-save-variable' instead of `customize-set-variable'.
(Bug#62106)

2 years ago; Minor improvement of documentation of GC thresholds
Eli Zaretskii [Sat, 11 Mar 2023 16:16:35 +0000 (18:16 +0200)]
; Minor improvement of documentation of GC thresholds

* doc/lispref/internals.texi (Garbage Collection): More practical
aspects of enlarging the GC threshold.

2 years agoAdd missing rust-ts-mode highlight query for scoped_type_identifiers
Randy Taylor [Sat, 11 Mar 2023 02:12:33 +0000 (21:12 -0500)]
Add missing rust-ts-mode highlight query for scoped_type_identifiers

* lisp/progmodes/rust-ts-mode.el (rust-ts-mode--font-lock-settings):
Add missing query.

2 years agoMake "case" keyword a dedenter in Python
kobarity [Fri, 10 Mar 2023 05:26:22 +0000 (14:26 +0900)]
Make "case" keyword a dedenter in Python

* lisp/progmodes/python.el (python-rx): Add "case" to dedenter.
(python-info-dedenter-opening-block-positions): Add "case" to pairs.
* test/lisp/progmodes/python-tests.el (python-indent-dedenters-9):
New test.

2 years ago; * lisp/arc-mode.el (w32-get-console-codepage): Declare.
Eli Zaretskii [Sat, 11 Mar 2023 12:54:22 +0000 (14:54 +0200)]
; * lisp/arc-mode.el (w32-get-console-codepage): Declare.

2 years agoFix decoding non-ASCII file names in zip archives on MS-Windows
Eli Zaretskii [Sat, 11 Mar 2023 11:30:37 +0000 (13:30 +0200)]
Fix decoding non-ASCII file names in zip archives on MS-Windows

* lisp/arc-mode.el (archive-zip-summarize): On MS-Windows,
override archive-file-name-coding-system for files compressed
on MS-Windows, and use the local console encoding instead.

2 years agoMerge remote-tracking branch 'origin/master' into feature/android
Po Lu [Sat, 11 Mar 2023 11:08:24 +0000 (19:08 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android