]> git.eshelyaron.com Git - emacs.git/log
emacs.git
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 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

2 years agoImprove default value of `with_mailutils' on Android
Po Lu [Sat, 11 Mar 2023 10:58:18 +0000 (18:58 +0800)]
Improve default value of `with_mailutils' on Android

* configure.ac: Default to off on Android.

2 years agoFix copying binary files from zip archives
Eli Zaretskii [Sat, 11 Mar 2023 09:54:31 +0000 (11:54 +0200)]
Fix copying binary files from zip archives

* lisp/arc-mode.el (archive-copy-file): Prevent any coding
conversions when writing output files.  (Bug#62091)

2 years ago; * configure.ac: Fix typo.
Po Lu [Sat, 11 Mar 2023 09:43:15 +0000 (17:43 +0800)]
; * configure.ac: Fix typo.

2 years agoUpdate Android port
Po Lu [Sat, 11 Mar 2023 09:42:24 +0000 (17:42 +0800)]
Update Android port

* configure.ac (HAVE_MAILUTILS, with_mailutils)
(ANDROID_SDK_8_OR_EARLIER, XCONFIGURE): Fix POP and mailutils
configuration on Android.
* java/Makefile.in:
* src/callproc.c (syms_of_callproc): Avoid using built-in
movemail when --with-mailutils.

2 years agoRemove recursion from character escape handling in reader
Mattias Engdegård [Fri, 10 Mar 2023 16:10:30 +0000 (17:10 +0100)]
Remove recursion from character escape handling in reader

This cures a C stack overflow when reading certain long (crafted)
strings (bug#62039) and improves performance of reading escaped
characters in character and string literals.
Reported by Bruno Haible.

* src/lread.c (invalid_escape_syntax_error): New.
(read_escape): Rename to...
(read_char_escape): ...this.  Remove recursion.  Pass read-ahead char
as argument.  Improve code performance and clarity.
(read_char_literal, read_string_literal): Update calls.
* test/src/lread-tests.el (lread-char-modifiers)
(lread-many-modifiers): Add test cases.

2 years agoUpdate Android port
Po Lu [Sat, 11 Mar 2023 07:56:53 +0000 (15:56 +0800)]
Update Android port

* src/android.c (android_resolve_handle)
(android_resolve_handle2): Don't perform checking done by
CheckJNI by default.
(android_copy_area): Check for errors here because CopyArea can
perform a lot of consing.
(android_define_cursor): Remove redundant code.

2 years agoFix problems with the menu bar on large screen Android devices
Po Lu [Sat, 11 Mar 2023 03:35:59 +0000 (11:35 +0800)]
Fix problems with the menu bar on large screen Android devices

* java/org/gnu/emacs/EmacsActivity.java (onContextMenuClosed):
Process submenu closing normally if it happens more than 300 ms
after a submenu item was selected.
* java/org/gnu/emacs/EmacsContextMenu.java (EmacsContextMenu)
(onMenuItemClick, display1): Give `wasSubmenuSelected' different
values depending on how the submenu was selected.

2 years ago; * lib/gnulib.mk.in: Update from gnulib.
Po Lu [Sat, 11 Mar 2023 01:58:01 +0000 (09:58 +0800)]
; * lib/gnulib.mk.in: Update from gnulib.

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

2 years agoDon't use GCC extensions in src/emacs-module.c
Po Lu [Sat, 11 Mar 2023 01:53:24 +0000 (09:53 +0800)]
Don't use GCC extensions in src/emacs-module.c

* configure.ac: Default modules to on.  Remove check for
__attribute__((cleanup)).  However, keep the new `ifavailable'
value for systems without dlopen.

* src/emacs-module.c (MODULE_HANDLE_NONLOCAL_EXIT): Don't rely
on cleanup attribute and correctly reset handlerlist upon
longjmp.
(MODULE_INTERNAL_CLEANUP): New macro.
(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): Call MODULE_INTERNAL_CLEANUP prior to
returning.

2 years agoUpdate from Gnulib by running admin/merge-gnulib
Paul Eggert [Sat, 11 Mar 2023 00:51:41 +0000 (16:51 -0800)]
Update from Gnulib by running admin/merge-gnulib

Run admin/merge-gnulib along with the following change:
* admin/merge-gnulib (GNULIB_MODULES): Replace ‘time’ with
‘time-h’, adjusting to a recent renaming in Gnulib modules.
Emacs doesn’t appear to need the new Gnulib ‘time’ module.

2 years agoImplement hourglass cursor on Android
Po Lu [Sat, 11 Mar 2023 00:34:57 +0000 (08:34 +0800)]
Implement hourglass cursor on Android

* lisp/term/android-win.el (x-pointer-arrow, x-pointer-left-ptr)
(x-pointer-left-side, x-pointer-sb-h-double-arrow)
(x-pointer-sb-v-double-arrow, x-pointer-watch, x-pointer-xterm)
(x-pointer-invisible): New constants.
* src/androidterm.c (android_show_hourglass)
(android_hide_hourglass): New functions.
(android_toggle_visible_pointer, android_define_frame_cursor):
Define or don't define hourglass cursor if x->hourglass.
(android_redisplay_interface): Add new functions.
* src/androidterm.h (struct android_output): New field
`hourglass'.

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

2 years agosrc/profiler.c: Keep track of the discarded counts
Stefan Monnier [Fri, 10 Mar 2023 20:54:10 +0000 (15:54 -0500)]
src/profiler.c: Keep track of the discarded counts

When the table overflows and wh evict entries, keep track of those
counts in a global counter so we can see the proportion of
samples this represents.

* src/profiler.c (struct profiler_log): Add `discarded` field.
(evict_lower_half): Change arg to be `struct profiler_log`.
Transfer counts to the new `discarded` field.
(record_backtrace): Change arg to be `struct profiler_log`.
(add_sample): Adjust call accordingly.
(export_log): Add `discarded` counts to the result.
Onle add the GC and `discarded` counts if they're non-zero.
(syms_of_profiler): Define new symbol `Discarded Samples`.

2 years agosrc/profiler.c: Share more code between CPU and Memory profilers
Stefan Monnier [Fri, 10 Mar 2023 20:30:20 +0000 (15:30 -0500)]
src/profiler.c: Share more code between CPU and Memory profilers

* src/profiler.c (struct profiler_log): New type.
(make_log): Use it.
(cpu, memory): New vars to replace cpu_log, memory_log, cpu_gc_count,
and mem_gc_count.
(add_sample): New function, extracted from `handle_profiler_signal`.
(handle_profiler_signal, malloc_probe): Use it.
(Fprofiler_cpu_start, Fprofiler_memory_start): Adjust call to `make_log`.
(export_log): New function, extracted from `Fprofiler_cpu_log`.
(Fprofiler_cpu_log, Fprofiler_memory_log): Use it.
(syms_of_profiler, syms_of_profiler_for_pdumper): Adjust to new `cpu`
and `memory` vars.

2 years agosrc/profiler.c: Try and fix occasional assertion failures
Stefan Monnier [Fri, 10 Mar 2023 20:05:55 +0000 (15:05 -0500)]
src/profiler.c: Try and fix occasional assertion failures

Apparently the (>= match imatch) test fails sometimes in `profiler.el`.
Not sure where this comes from, but this patch should remove one
possible source.

* src/profiler.c (Fprofiler_cpu_log, Fprofiler_memory_log):
Change the special Automatic_GC backtrace to make it clear that it's
a *sibling* of the call tree (i.e. it's at the (its own) root).
(malloc_probe): Obey `size` when incrementing the gc_counter.

2 years agosrc/profiler.c: Keep track of allocations during GC
Eli Zaretskii [Fri, 10 Mar 2023 19:54:52 +0000 (14:54 -0500)]
src/profiler.c: Keep track of allocations during GC

Cargo-cult the `cpu_gc_count` code to `memory_gc_count`.

* src/profiler.c (mem_gc_count): New var.
(Fprofiler_memory_start): Initialize it.
(Fprofiler_memory_log): Increment it.
(Fprofiler_memory_log): Use it.

2 years ago* lisp/progmodes/gud.el (gud-minor-menu-map): Fix thinko in last change
Stefan Monnier [Fri, 10 Mar 2023 17:22:43 +0000 (12:22 -0500)]
* lisp/progmodes/gud.el (gud-minor-menu-map): Fix thinko in last change

2 years agoUpdate Android port
Po Lu [Fri, 10 Mar 2023 11:13:22 +0000 (19:13 +0800)]
Update Android port

* doc/emacs/android.texi (Android Windowing): Document how to
pass multimedia keys to the system.
* java/org/gnu/emacs/EmacsNative.java (EmacsNative): New
function.
* java/org/gnu/emacs/EmacsView.java (onKeyDown, onKeyMultiple)
(onKeyUp): Check that function.
* java/org/gnu/emacs/EmacsWindow.java (defineCursor): Handle
cases where cursor is NULL.
* src/android.c (NATIVE_NAME): New function.
* src/androidfns.c (syms_of_androidfns): New variable.
* src/keyboard.c (lispy_function_keys): Add volume keys.

2 years agoImprove thing-at-point email detection
Robert Pluim [Wed, 15 Feb 2023 11:16:11 +0000 (12:16 +0100)]
Improve thing-at-point email detection

* lisp/thingatpt.el (thing-at-point-email-regexp): Allow numbers at
the start of the user portion, and disallow '.' at the start.  Also
disallow '.' at the start of the domain portion.
* test/lisp/thingatpt-tests.el (thing-at-point-test-data): Add various
email tests.

Bug#61519

2 years agoSkip ruby-ts-syntax-propertize-symbol unless treesitter is available
Robert Pluim [Fri, 10 Mar 2023 10:13:42 +0000 (11:13 +0100)]
Skip ruby-ts-syntax-propertize-symbol unless treesitter is available

 *
 test/lisp/progmodes/ruby-ts-mode-tests.el (ruby-ts-syntax-propertize-symbol):
 Add check for treesitter.

2 years ago* java/org/gnu/emacs/EmacsCursor.java: New file.
Po Lu [Fri, 10 Mar 2023 07:16:13 +0000 (15:16 +0800)]
* java/org/gnu/emacs/EmacsCursor.java: New file.