Eli Zaretskii [Sat, 23 Sep 2023 13:32:57 +0000 (09:32 -0400)]
; Merge from origin/emacs-29
The following commit was skipped:
1500e4b4329 Make emacsclient handle org-protocol:// links
Eli Zaretskii [Sat, 23 Sep 2023 13:32:57 +0000 (09:32 -0400)]
Merge from origin/emacs-29
6bc3800000c Ensure ucs-names is consistent with Unicode names
93134bb9c2f Make key-translate actually work
85f49a9bc8b Update to Org 9.6.9
2826c26537c Add leim subdirectories to emacs package
Eli Zaretskii [Sat, 23 Sep 2023 13:32:57 +0000 (09:32 -0400)]
; Merge from origin/emacs-29
The following commit was skipped:
9aab258b80a Add missing builtin package declarations
Eli Zaretskii [Sat, 23 Sep 2023 13:32:56 +0000 (09:32 -0400)]
Merge from origin/emacs-29
71a1f0fdc9e Add more missing builtin package declarations
94705f83005 ; Fix last change in shell-command-to-string
Eli Zaretskii [Sat, 23 Sep 2023 13:32:56 +0000 (09:32 -0400)]
; Merge from origin/emacs-29
The following commit was skipped:
c3a70845736 ; * lisp/progmodes/flymake.el (flymake-mode): Fix 'cond'.
Eli Zaretskii [Sat, 23 Sep 2023 13:32:56 +0000 (09:32 -0400)]
Merge from origin/emacs-29
94bef169e2e Document shell-command-to-string security considerations
b74d9e8bad9 Fix shell-indirect-setup-hook :type (Bug#66051)
f549d4330f3 Remove column quoting from sqlite-mode
cf7efabe3ff Add indentation rules for type_arguments
Po Lu [Sat, 23 Sep 2023 06:20:54 +0000 (14:20 +0800)]
Enlarge dumped_data
* src/w32heap.c (DUMPED_HEAP_SIZE): Increase to 24 MiB, the bare
minimum necessary to build a 32-bit Emacs.
Po Lu [Sat, 23 Sep 2023 02:07:38 +0000 (10:07 +0800)]
Correct comparisons between size_t and ssize_t
* src/sfnt.c (sfnt_read_table_directory, sfnt_read_cmap_format_0)
(sfnt_read_cmap_format_2, sfnt_read_cmap_format_4)
(sfnt_read_cmap_format_6, sfnt_read_cmap_format_8)
(sfnt_read_cmap_format_12, sfnt_read_cmap_format_14)
(sfnt_read_cmap_table_1, sfnt_read_cmap_table)
(sfnt_read_head_table, sfnt_read_hhea_table, sfnt_read_maxp_table)
(sfnt_read_glyf_table, sfnt_read_hmtx_table, sfnt_read_name_table)
(sfnt_read_meta_table, sfnt_read_ttc_header)
(sfnt_read_default_uvs_table, sfnt_read_nondefault_uvs_table)
(sfnt_read_fvar_table, sfnt_read_gvar_table, sfnt_read_avar_table)
(sfnt_read_cvar_table, sfnt_read_OS_2_table):
* src/sfntfont.c (sfnt_enum_font): Revise code written with only
signed `long' in mind to properly compare size_t values with
ssize_t.
Po Lu [Sat, 23 Sep 2023 01:31:17 +0000 (09:31 +0800)]
Properly apply XY offsets to compound component glyphs
* src/sfnt.c (sfnt_decompose_compound_glyph): Avoid overwriting
X and Y if defer_offsets is false.
Po Lu [Sat, 23 Sep 2023 00:31:45 +0000 (08:31 +0800)]
Display background dialogs using the correct style
* java/org/gnu/emacs/EmacsDialog.java (toAlertDialog): Wrap
CONTEXT within EmacsStyle such that dialogs are displayed in the
same style used by activities.
Philip Kaludercic [Fri, 22 Sep 2023 10:48:32 +0000 (12:48 +0200)]
File-expand DIRECTORY argument to vc-clone
* lisp/vc/vc.el (vc-clone): Expand directory to avoid issues when
invoking the subprocess. (Bug#66115)
Po Lu [Fri, 22 Sep 2023 01:36:40 +0000 (09:36 +0800)]
Enable opening mailto URLs under Android
* doc/emacs/android.texi (Android Startup): Mention how mailto
URLs are treated by the emacsclient wrapper.
* java/AndroidManifest.xml.in: Register `mailto' scheme filters
for EmacsOpenActivity.
* java/org/gnu/emacs/EmacsOpenActivity.java (startEmacsClient):
Extract code that starts Emacs when it isn't already running,
and take a list of arguments rather than a single file name.
(onCreate): If the scheme is `mailto', escape the URI and call
`message-mailto'.
João Távora [Thu, 21 Sep 2023 21:35:05 +0000 (22:35 +0100)]
Flymake: new 'short' option for flymake-show-diagnostics-at-end-of-line
bug#66041
* lisp/progmodes/flymake.el (Version): Bump to 1.3.6
(flymake-eol-information-face): New face.
(flymake-show-diagnostics-at-end-of-line): Support new value short.
(flymake--eol-overlay-summary): Rework.
(flymake--highlight-line):
Manphiz [Fri, 15 Sep 2023 07:51:57 +0000 (09:51 +0200)]
; Handle authentication properly when reconnecting to IRC
* lisp/net/rcirc.el (rcirc-reconnect): Set 'rcirc-user-authenticated'
to nil before reconnecting. (Bug#65882)
Philip Kaludercic [Thu, 14 Sep 2023 13:09:19 +0000 (15:09 +0200)]
package-tests.el: Add test Bug#65475
* test/lisp/emacs-lisp/package-tests.el (with-package-test): Bind
package-selected-packages.
(package-test-bug65475): Add test.
Philip Kaludercic [Wed, 13 Sep 2023 09:58:22 +0000 (11:58 +0200)]
; Handle edge-case when deleting the last package
* lisp/emacs-lisp/package.el (package-delete): Rebind 'package-alist'
while calling 'package--used-elsewhere-p'. (bug#65475)
Stefan Monnier [Thu, 21 Sep 2023 15:58:44 +0000 (11:58 -0400)]
* src/regex-emacs.c (mutually_exclusive_aux) [ENABLE_CHECKING]: Fix if
Stefan Monnier [Thu, 21 Sep 2023 15:47:31 +0000 (11:47 -0400)]
regex-emacs.c (mutually_exclusive_aux): Rework again
Rework the way we handle loops. This new code does not really work
better than the previous one, but it has the advantage of being "fail
safe" and also that we can dynamically check if our assumptions about
the shape of the bytecode are satisfied or not.
* src/regex-emacs.c (mutually_exclusive_aux): Replace `done_beg` and
`done_end` with `loop_beg` and `loop_end`.
(mutually_exclusive_p): Adjust accordingly.
(analyze_first): Fix incorrect assertion.
João Távora [Thu, 21 Sep 2023 13:02:59 +0000 (14:02 +0100)]
Flymake: fix bug in end-of-line overlay updates
* lisp/progmodes/flymake.el (flymake--update-eol-overlays): Rename
from flymake--eol-overlay-update and fix.
(flymake--handle-report): Call flymake--update-eol-overlays.
Gerd Möllmann [Thu, 21 Sep 2023 05:06:50 +0000 (07:06 +0200)]
macOS: only cp emacs.pdmp when installing (bug#66022)
* Makefile.in (install-arch-dep): install emacs.pdmp here for
self-contained build
* nextstep/Makefile.in (${ns_applibexecdir}/Emacs.pdmp): Don't cp
emacs.pdmp if self-contained build.
Po Lu [Thu, 21 Sep 2023 01:26:00 +0000 (09:26 +0800)]
; * src/android.c (android_damage_window): Remove unused variable.
Po Lu [Thu, 21 Sep 2023 01:13:09 +0000 (09:13 +0800)]
Update Android port
* src/android.c (android_query_tree, android_get_geometry)
(android_translate_coordinates, android_wc_lookup_string)
(android_get_keysym_name, android_browse_url)
(android_query_battery):
* src/androidmenu.c (android_dismiss_menu, android_menu_show):
Circumvent JNI dynamic method dispatch overhead.
João Távora [Thu, 21 Sep 2023 00:13:50 +0000 (01:13 +0100)]
Flymake: fix eol overlay flicker due to untimely overlay deletion
This commit helps in ensuring that `flymake--eol-overlay-update' is
only called once per cycle.
* lisp/progmodes/flymake.el (flymake--delete-overlay): Don't
delete eol overlay here.
(flymake--eol-overlay-summary): Rework again.
(flymake--eol-overlay-update): Delete eol overlay here.
(flymake-start): Make sure to set all backends reported-p to nil.
João Távora [Wed, 20 Sep 2023 23:27:07 +0000 (00:27 +0100)]
Flymake: more fixes to the end-of-line overlays
bug#66041
* lisp/progmodes/flymake.el (flymake--eol-overlay-summary): Rework.
(flymake--eol-overlay-update): Rework.
(flymake--highlight-line): Simplify.
João Távora [Wed, 20 Sep 2023 23:05:07 +0000 (00:05 +0100)]
Flymake: do use condition-case-unless-debug
The reasons previously highlighted in the FIXME either don't apply
anymore or don't outweigh the advantages of using this macro.
* lisp/progmodes/flymake.el (flymake--run-backend): Do use
condition-case-unless-debug.
João Távora [Wed, 20 Sep 2023 23:03:32 +0000 (00:03 +0100)]
Flymake: more fixes to flymake--highlight-line
Make it robust to diagonstics with invalid bounds.
* lisp/progmodes/flymake.el (flymake--highlight-line): Robustify.
João Távora [Wed, 20 Sep 2023 21:30:25 +0000 (22:30 +0100)]
Flymake: Fix bug in flymake-diagnostics
* lisp/progmodes/flymake.el (flymake-diagnostics): Fix bug.
Jim Porter [Wed, 20 Sep 2023 13:55:34 +0000 (14:55 +0100)]
Flymake: use 'compilation-info' as basis for "note" faces
bug#66041
* lisp/progmodes/flymake.el (flymake-note-echo)
(flymake-note-echo-at-eol): Inherit from 'compilation-info'.
Alan Mackenzie [Wed, 20 Sep 2023 15:51:17 +0000 (15:51 +0000)]
Insert symbol `debug' into two condition-case handlers
This fixes bug#65622. Also correct a mismatch between a
function to which advice is added, and that from which it is
removed.
* lisp/emacs-lisp/macroexp.el (internal-macroexpand-for-load):
Add a `debug' to the condition-case handler for `error', so
that a useful backtrace will be produced on a macro expansion
error.
* lisp/progmodes/elisp-mode.el (elisp--local-variables): Add
`debug' to a condition-case handler, as above. In the
advice-remove call, give the same function, macroexpand-1, as
in the corresponding advice-add call.
João Távora [Wed, 20 Sep 2023 13:45:24 +0000 (14:45 +0100)]
Flymake: fix many problems with the end-of-line overlays
bug#66041
* lisp/progmodes/flymake.el (flymake-diagnostics): Rewrite.
(flymake--really-all-overlays): Rename from flymake--overlays.
(flymake--delete-overlay): Complexify.
(flymake--highlight-line): Rework.
(flymake--handle-report): Update eol overlays
(flymake-mode): use flymake--really-all-overlays.
(flymake-after-change-function): Simplify.
(flymake-goto-next-error): Don't use flymake--overlays.
Andrea Corallo [Wed, 20 Sep 2023 10:08:02 +0000 (12:08 +0200)]
* lisp/emacs-lisp/comp.el (comp-compute-dominator-tree): Simplify.
João Távora [Wed, 20 Sep 2023 10:00:19 +0000 (11:00 +0100)]
Eglot: better consider diagnostics at point on code action requests
* lisp/progmodes/eglot.el (eglot--code-action-bounds): Rename from
eglot--code-action-bounds. Rework to consider diagnostics.
(eglot-code-actions): Use new eglot--code-action-bounds.
(eglot--code-action): Use new eglot--code-action-bounds.
* etc/EGLOT-NEWS: mention change.
GitHub-reference: https://github.com/joaotavora/eglot/discussions/1295
Mattias Engdegård [Wed, 20 Sep 2023 09:22:17 +0000 (11:22 +0200)]
Re-enable -Wswitch when building with Clang
* configure.ac (WERROR_CFLAGS): Remove -Wno-switch, inserted a decade
ago but doesn't seem to be needed now. Please tell me if you
observe otherwise.
Mattias Engdegård [Wed, 20 Sep 2023 08:34:12 +0000 (10:34 +0200)]
Reorder type tests for efficiency
* src/fns.c (Flength, Fdelete, Fnreverse):
Test types in descending order of frequency, roughly.
Mattias Engdegård [Tue, 19 Sep 2023 19:48:19 +0000 (21:48 +0200)]
* src/alloc.c: (cleanup_vector) Dispatch on pseudovector type
Enable the compiler to generate a jump table instead of a chain of
conditional branches.
Paul Eggert [Wed, 20 Sep 2023 08:04:32 +0000 (01:04 -0700)]
Fix off-by-1 typo in vadd_to_log
* src/xdisp.c (vadd_to_log): Fix off-by-1 typo that I introduced
in commit
fbee6265a72a4129d2efbf15a622b13e8b4aae9f
dated Thu Aug 13 13:48:28 2015 -0700.
Problem and fix reported by Robert Pluim (Bug#66098#11).
Juri Linkov [Tue, 19 Sep 2023 17:51:07 +0000 (20:51 +0300)]
* lisp/tab-bar.el (tab-bar-auto-width): Don't check if width changes.
Remove the condition '(< curr-width prev-width)' that was intended to check
if the width stopped to change. But actually it's not only unneeded,
but causes a bug: when the name contains a combining character, then
the width doesn't change, and the name truncation stops too early.
Juri Linkov [Tue, 19 Sep 2023 17:44:16 +0000 (20:44 +0300)]
; * tab-bar, tab-line: Use integer 1 instead of float for height em.
Mattias Engdegård [Tue, 19 Sep 2023 13:18:11 +0000 (15:18 +0200)]
Warn about duplicated :tag strings in defcustom choices
It is bad user experience when two menu items have identical labels.
* lisp/emacs-lisp/bytecomp.el (bytecomp--check-cus-type): Add check.
* test/lisp/emacs-lisp/bytecomp-tests.el
(bytecomp-test-defcustom-type): Add test case.
Mattias Engdegård [Mon, 18 Sep 2023 17:16:05 +0000 (19:16 +0200)]
Don't use pointer arithmetic for pointer tagging (bug#65491)
This makes for safer code when tagging null pointers in particular,
since pointer arithmetic on NULL is undefined and therefore can be
assumed, by the compiler, not to occur.
* src/lisp.h (untagged_ptr): Remove.
(TAG_PTR): Cast to uintptr_t instead of untagged_ptr.
Protesilaos Stavrou [Tue, 19 Sep 2023 13:03:11 +0000 (16:03 +0300)]
Update modus-themes to their version 4.3.0
* doc/misc/modus-themes.org
(Option for reloading the theme on custom change)
(Option for disabling other themes while loading Modus)
(Option for completion framework aesthetics)
(Option for org-mode block styles, Get a single color from the palette)
(Add padding to mode line, Note on SHR fonts)
(Note on goto-address-mode faces): Use correct markup for 'nil'.
(Custom Org todo keyword and priority faces): Reword statements and
update the value of sample configuration blocks.
(Use more spacious margins or padding in Emacs frames): Mention the
'spacious-padding' package on GNU ELPA.
(Full support for packages or face groups): Document newly supported
packages and remove those that are no longer covered explicitly.
(Indirectly covered packages): Note that css-mode is covered
indirectly.
(Acknowledgements): Expand list of people who have helped with the
project.
* etc/themes/modus-operandi-deuteranopia-theme.el (unless): Add
theme-autoload cookie and relevant metadata.
(modus-operandi-deuteranopia): Expand or tweak the palette, where
necessary.
* etc/themes/modus-operandi-theme.el (unless): Add theme-autoload
cookie and relevant metadata.
(modus-operandi): Expand or tweak the palette, where necessary.
* etc/themes/modus-operandi-tinted-theme.el (unless): Add
theme-autoload cookie and relevant metadata.
(modus-operandi-tinted): Expand or tweak the palette, where necessary.
* etc/themes/modus-operandi-tritanopia-theme.el (unless): Add
theme-autoload cookie and relevant metadata.
(modus-operandi-tritanopia): Expand or tweak the palette, where
necessary.
* etc/themes/modus-vivendi-deuteranopia-theme.el (unless): Add
theme-autoload cookie and relevant metadata.
(modus-vivendi-deuteranopia): Expand or tweak the palette, where
necessary.
* etc/themes/modus-vivendi-theme.el (unless): Add theme-autoload
cookie and relevant metadata.
(modus-vivendi): Expand or tweak the palette, where necessary.
* etc/themes/modus-vivendi-tinted-theme.el (unless): Add
theme-autoload cookie and relevant metadata.
(modus-vivendi-tinted): Expand or tweak the palette, where necessary.
* etc/themes/modus-vivendi-tritanopia-theme.el (unless): Add
theme-autoload cookie and relevant metadata.
(modus-vivendi-tritanopia): Expand or tweak the palette, where
necessary.
* etc/themes/modus-themes.el (modus-themes-preset-overrides-faint)
(modus-themes-preset-overrides-intense)
(modus-themes-preset-overrides-warmer): Make minor tweaks.
(modus-themes--annotate-theme, modus-themes--select-prompt)
(modus-themes--toggle-theme-p, modus-themes-toggle)
(modus-themes--list-colors-prompt, modus-themes--heading)
(modus-themes-faces): Refine internal functions.
The detailed release notes are available here:
<https://protesilaos.com/codelog/2023-09-19-modus-themes-4-3-0/>.
Po Lu [Tue, 19 Sep 2023 11:59:21 +0000 (19:59 +0800)]
; Fix typos in last change
* src/android.c (android_exception_check_2)
(android_exception_check_3, android_exception_check_4): Fix
typos.
Po Lu [Tue, 19 Sep 2023 11:57:14 +0000 (19:57 +0800)]
Update Android port
* src/android.c (android_exception_check_1)
(android_exception_check_2, android_exception_check_3)
(android_exception_check_4): Permit each object to be NULL.
(android_browse_url): Release VALUE if an exception transpires.
Alan Mackenzie [Tue, 19 Sep 2023 10:25:34 +0000 (10:25 +0000)]
Don't use ellipses while cl-printing strings.
This fixes bug#65680. The former use of print-length as a
bound on the length of the printed string was erroneous,
causing error messages preceding backtracees to get
unnecessarily truncated to 50 characters.
* lisp/emacs-lisp/cl-print.el (cl-print-object <string>):
Remove the substitution of ellipses for long strings.
* test/lisp/emacs-lisp/cl-print-tests.el
(cl-print-tests-ellipsis-string): Remove this test.
Andrea Corallo [Tue, 19 Sep 2023 08:37:33 +0000 (10:37 +0200)]
* lisp/emacs-lisp/comp.el (comp-final1): Clean-up unused form.
Andrea Corallo [Tue, 19 Sep 2023 08:32:50 +0000 (10:32 +0200)]
* lisp/emacs-lisp/comp.el (comp-op-to-fun): Use `string-replace'.
Yuan Fu [Tue, 19 Sep 2023 03:47:50 +0000 (20:47 -0700)]
Fix treesit--update-ranges-local
* lisp/treesit.el (treesit--update-ranges-local): Don't forget to set
local parser's range when creating it.
Jim Porter [Tue, 19 Sep 2023 01:00:07 +0000 (18:00 -0700)]
; Add debug instrumention for queueing commands in Eshell
* lisp/eshell/esh-cmd.el (eshell-eval-command): Log the new command
form.
Paul Eggert [Mon, 18 Sep 2023 21:09:24 +0000 (14:09 -0700)]
Improve XUNTAG comment
* src/lisp.h (XUNTAG): Shorten (and I hope clarify) new comment.
Mattias Engdegård [Mon, 28 Aug 2023 09:13:10 +0000 (11:13 +0200)]
Don't use pointer arithmetic for untagging Lisp values (bug#65491)
* src/lisp.h (XUNTAG):
Instead of casting a Lisp value to char * and subtracting the tag,
cast it to a suitable integral type and work on that.
This should result in identical or at least equivalent code, except
that it avoids potential problems arising from the restrictions on
pointer arithmetic in C. In particular, a null pointer can be neither
an operand in nor the result of pointer arithmetic.
C compilers know this and would, prior to this change, optimise
XUNTAG(obj, Lisp_Int0, mytype) != NULL
to 1. This means, for example, that make_pointer_integer and
XFIXNUMPTR could not be entrusted with null pointers, and
next_vector in alloc.c was unsafe to use.
Jim Porter [Mon, 18 Sep 2023 17:17:12 +0000 (10:17 -0700)]
Fix another race condition when waiting for Eshell processes
When checking if the other processes in our pipeline are "alive", we
also need to check whether their sentinels are finished. Otherwise,
we might proceed with command evaluation while one of the other
processes is still cleaning up.
* lisp/eshell/esh-proc.el (eshell-process-active-p): New function...
(eshell-wait-for-process)
* lisp/eshell/esh-cmd.el (eshell-resume-command): ... use it.
Ihor Radchenko [Wed, 23 Aug 2023 09:24:18 +0000 (12:24 +0300)]
Make emacsclient handle org-protocol:// links
Org mode provides a way to quickly capture bookmarks, notes, and links
using emacsclient:
emacsclient "org-protocol://store-link?url=URL&title=TITLE"
* etc/emacsclient.desktop: Make Emacs the default application for
org-protocol. (Bug#65469)
(cherry picked from commit
05a7c91b91c02c34ec6527119a465e5408dea2b1)
Robert Pluim [Mon, 18 Sep 2023 08:41:01 +0000 (10:41 +0200)]
Ensure ucs-names is consistent with Unicode names
* lisp/international/mule-cmds.el (ucs-names): Skip adding an old-name
if it conflicts with the offical name of a codepoint. Adjust the
ranges iterated over to account for new Unicode codepoints.
* test/lisp/international/mule-tests.el
(mule-cmds-tests--ucs-names-old-name-override,
mule-cmds-tests--ucs-names-missing-names): New tests for checking
'ucs-names' consistency.
Bug#65997
Shynur [Thu, 7 Sep 2023 07:58:59 +0000 (09:58 +0200)]
Make key-translate actually work
* lisp/keymap.el (key-translate): Use the first element of the parsed
keys rather than the whole vector. (Bug#65735)
Andrea Corallo [Mon, 18 Sep 2023 08:04:57 +0000 (10:04 +0200)]
* Fix comp-function-type-spec for non symbol input (bug#66021)
* lisp/emacs-lisp/comp.el (comp-function-type-spec): Make it robust
against closures (bug#66021).
Po Lu [Mon, 18 Sep 2023 06:14:20 +0000 (14:14 +0800)]
Correct build on systems without PAGE_MASK
* exec/exec.c (write_load_command) <PAGE_MASK, PAGE_SIZE>:
Uniformly define even if !HAVE_GETPAGESIZE.
Po Lu [Mon, 18 Sep 2023 06:13:30 +0000 (14:13 +0800)]
Correct crash in child processes under armeabi Android
* exec/trace.c (process_system_call) <READLINKAT_SYSCALL>:
Examine tracee->waiting_for_syscall and avoid rewriting user
arguments if a system call is presently being executed by the
kernel. Reported by Romário Rios <romariorios@protonmail.com>.
Danny Freeman [Fri, 15 Sep 2023 15:29:05 +0000 (11:29 -0400)]
Offset ranges before applying embedded tree-sitter parser
This feature would allow treesitter major modes to easily specify
offsets when using embeded parsers. A potential use case for this is
javascript template strings, when we want to apply a different parser
to the string's contents, but do not want to include the template
string's delimiters.
* lisp/treesit.el
(treesit-query-range): Accept an optional offest arg, apply the offset
to all returned ranges.
(treesit-range-rules): Accept an optional :offset keyword arg to adjust
ranges an embded parser is applied to.
(treesit-update-ranges): Forward optional :offset setting from
`treesit-range-rules' to `treesit-query-rang'.
* test/lisp/treesit-tests.el
(treesit-range-offset): Tests the new offset functionality.
Jim Porter [Mon, 18 Sep 2023 04:06:46 +0000 (21:06 -0700)]
Use 'eshell-with-temp-command' (indirectly) to parse Eshell script files
* lisp/eshell/esh-cmd.el (eshell--region-p): New function.
(eshell-with-temp-command, eshell-parse-command): Support
'(:file . FILENAME)' to use the contents of FILENAME.
* lisp/eshell/em-script.el (eshell-source-file): Call
'eshell-parse-command' and use backticks.
Po Lu [Mon, 18 Sep 2023 02:59:55 +0000 (10:59 +0800)]
Optimize damage region tracking under Android
* java/org/gnu/emacs/EmacsDrawLine.java (perform):
* java/org/gnu/emacs/EmacsDrawRectangle.java (perform): Call
damageRect with integer coordinates in lieu of consing a new
Rect.
* java/org/gnu/emacs/EmacsDrawable.java (damageRect) <IIII>:
Declare a new variant of damageRect, accepting four integers
designating the extents of the damage rectangle.
* java/org/gnu/emacs/EmacsPixmap.java (damageRect) <IIII>: New
stub.
* java/org/gnu/emacs/EmacsView.java (damageRect) <IIII>:
Implement this overloaded variant of damageRect.
* java/org/gnu/emacs/EmacsWindow.java (damageRect): Ditto.
* src/android.c (android_init_emacs_drawable)
(android_init_emacs_window): Move search for `damageRect' to
android_init_emacs_window.
(android_damage_window): Call IIII variant of `damageRect' to
avoid consing a new rectangle. Ameliorate dynamic method
dispatch overhead.
Kyle Meyer [Mon, 18 Sep 2023 02:11:36 +0000 (22:11 -0400)]
Update to Org 9.6.9
Jim Porter [Mon, 18 Sep 2023 00:34:20 +0000 (17:34 -0700)]
; Fix last change
* test/lisp/eshell/eshell-tests.el
(eshell-test/eshell-command/output-buffer/sync): Remove unused
let-binding.
Stefan Kangas [Mon, 18 Sep 2023 00:01:51 +0000 (02:01 +0200)]
Add leim subdirectories to emacs package
* lisp/finder.el (finder--builtins-alist): Add subdirectories
'leim/ja-dic' and 'leim/quail' as part of the 'emacs'
package. (Bug#62751)
Stefan Kangas [Sat, 16 Sep 2023 12:34:20 +0000 (14:34 +0200)]
Add missing builtin package declarations
* lisp/finder.el (finder--builtins-alist): Add new package
directories 'leim' and 'obsolete' as part of the 'emacs' package.
Add new package directory 'use-package' as part of the
'use-package' package.
* lisp/net/eudc-capf.el:
* lisp/net/eudcb-ecomplete.el:
* lisp/net/eudcb-macos-contacts.el:
* lisp/net/eudcb-mailabbrev.el: Declare library as part of the
'eudc' package.
* lisp/mail/ietf-drums-date.el: Declare library as part of the
'ietf-drums' package.
* lisp/image/image-dired-dired.el:
* lisp/image/image-dired-external.el:
* lisp/image/image-dired-tags.el:
* lisp/image/image-dired-util.el: Declare library as part of the
'image-dired' package.
* lisp/emacs-lisp/oclosure.el:
* lisp/keymap.el:
* lisp/progmodes/c-ts-common.el: Declare library as part of the
'emacs' package. (Bug#62751)
(cherry picked from commit
94b1de2774b5c1fa3c28285229900657638f5c3f)
F. Jason Park [Thu, 7 Sep 2023 02:40:11 +0000 (19:40 -0700)]
Spoof channel users in erc-button--phantom-users-mode
* lisp/erc/erc-backend.el (erc--cmem-from-nick-function): Update
forward declaration.
(erc-server-PRIVMSG): Use new name for `erc--user-from-nick-function',
now `erc--cmem-from-nick-function'.
* lisp/erc/erc-button.el (erc-button--phantom-users,
erc-button--phantom-cmems): Rename former to latter.
(erc-button--fallback-user-function,
erc-button--fallback-cmem-function): Rename former to latter.
(erc--phantom-channel-user, erc--phantom-server-user): New superficial
`cl-struct' definitions "subclassing" `erc-channel-user' and
`erc-server-user'. Note that these symbols lack an `erc-button'
prefix.
(erc-button--add-phantom-speaker): Look for channel member instead of
server user, creating one if necessary. Return a made-up
`erc-channel-user' along with a fake `erc-server-user'.
(erc-button--get-phantom-user, erc-button--get-phantom-cmem): Rename
former to latter.
(erc-button--phantom-users-mode, erc-button--phantom-users-enable,
erc-button--phantom-users-disable): Use updated "cmem" names for
function-valued interface variables and their implementing functions.
Remove obsolete comment.
(erc-button-add-nickname-buttons): Attempt to query fallback function
for channel member instead of server user.
* lisp/erc/erc.el (erc--user-from-nick-function,
erc--cmem-from-nick-function): Rename former to latter.
(erc--examine-nick, erc--cmem-get-existing): Rename former to
latter. (Bug#60933)
Stefan Kangas [Sun, 17 Sep 2023 23:11:50 +0000 (01:11 +0200)]
Add more missing builtin package declarations
* lisp/emacs-lisp/shorthands.el: Declare library as part of the
'emacs' package.
* lisp/epa-ks.el: Declare library as part of the 'epa'
package. (Bug#55388)
F. Jason Park [Wed, 13 Sep 2023 12:42:24 +0000 (05:42 -0700)]
Run erc--scrolltobottom-on-pre-insert unconditionally
* lisp/erc/erc-goodies.el (erc--scrolltobottom-all): Pass `no-force'
argument to `set-window-start'.
(erc--scrolltobottom-on-pre-insert): Convert from generic to normal
function and drop `erc-input' method completely. A non-nil `insertp'
slot means a message is marked for insertion in the read-only portion
of the buffer, above the prompt. But conditionally restoring window
parameters based on that flag is insufficient because the window still
needs adjusting whenever input is typed, regardless of whether it's
erased or "inserted." (Bug#64855)
F. Jason Park [Wed, 13 Sep 2023 09:50:28 +0000 (02:50 -0700)]
Simplify erc--fill-module-docstring
* lisp/erc/erc-common.el (erc--fill-module-docstring): Don't run hooks
for major mode when filling. Prefer `lisp-data-mode' to
`emacs-lisp-mode'.
F. Jason Park [Mon, 11 Sep 2023 05:55:16 +0000 (22:55 -0700)]
; Fix example in display-buffer section of ERC manual
* doc/misc/erc.texi: Fix `display-buffer-alist' example and mention
that it's only meant for users of Emacs 29 and above.
* test/lisp/erc/erc-tests.el (erc-setup-buffer--custom-action): Add
simplistic test case for example in manual.
Jim Porter [Sun, 17 Sep 2023 22:42:22 +0000 (15:42 -0700)]
Fix running background commands via 'eshell-command'
This regressed (I believe) due to
2ec41c174f9.
* lisp/eshell/esh-cmd.el (eshell-resume-eval): Check for non-nil
'retval' instead of for a process list (nil is also a technically a
process list!).
* test/lisp/eshell/eshell-tests.el
(eshell-test/eshell-command/background-pipeline): Remove unnecessary
'copy-tree'.
(eshell-test/eshell-command/output-buffer/sync)
(eshell-test/eshell-command/output-buffer/async): New tests.
Stefan Kangas [Sun, 17 Sep 2023 21:37:32 +0000 (23:37 +0200)]
Delete commented out code from cperl-mode.el
* lisp/progmodes/cperl-mode.el: Delete some commented out code.
Stefan Kangas [Sun, 17 Sep 2023 20:56:00 +0000 (22:56 +0200)]
Rename describe-map-tree to help--describe-map-tree
This function should have been made internal in the first place.
* lisp/help.el (help--describe-map-tree): Rename from
'describe-map-tree'. Keep old name as an obsolete alias, and update
all callers.
Stefan Kangas [Sun, 17 Sep 2023 18:39:11 +0000 (20:39 +0200)]
; Fix last change in shell-command-to-string
* lisp/simple.el (shell-command-to-string): Fix typo and improve
wording. Problem reported by Eli Zaretskii <eliz@gnu.org>.
Jim Porter [Sun, 17 Sep 2023 18:22:19 +0000 (11:22 -0700)]
; Fix a recent change in Eshell
* lisp/eshell/esh-cmd.el (eshell-manipulate): Fix 'eshell-stringify' calls.
(eshell-do-eval): Simplify 'if' condition.
Eli Zaretskii [Sun, 17 Sep 2023 16:35:30 +0000 (19:35 +0300)]
; * lisp/progmodes/flymake.el (flymake-mode): Fix 'cond'.
(cherry picked from commit
16453ed611b9d3be315a552c482848d1c9b1ce0e)
Eli Zaretskii [Sun, 17 Sep 2023 16:35:30 +0000 (19:35 +0300)]
; * lisp/progmodes/flymake.el (flymake-mode): Fix 'cond'.
Eli Zaretskii [Sun, 17 Sep 2023 16:33:11 +0000 (19:33 +0300)]
; * lisp/simple.el (suggest-key-bindings): Fix :type.
Mattias Engdegård [Sun, 17 Sep 2023 10:49:40 +0000 (12:49 +0200)]
Expanded defcustom type byte-compilation warnings (bug#65852)
Warn about more kinds of mistakes in :type arguments of `defcustom`
and `define-widget`. These include:
- misplaced keyword args, as in (const red :tag "A reddish hue")
- missing subordinate types, as in (repeat :tag "List of names")
or (choice list string)
- duplicated values, as in (choice (const yes) (const yes))
- misplaced `other` member, as in
(choice (const red) (other nil) (const blue))
- various type name mistakes, as in (vector bool functionp)
* lisp/emacs-lisp/bytecomp.el (byte-compile--defcustom-type-quoted)
(byte-compile-nogroup-warn): Remove.
(byte-compile-normal-call): Remove call to the above.
(bytecomp--cus-warn, bytecomp--check-cus-type)
(bytecomp--custom-declare): New.
Stefan Kangas [Sun, 17 Sep 2023 15:03:59 +0000 (17:03 +0200)]
Document shell-command-to-string security considerations
* lisp/simple.el (shell-command-to-string): Document security
considerations in docstring.
Stefan Kangas [Sun, 17 Sep 2023 14:57:20 +0000 (16:57 +0200)]
Improve org-babel-execute:eshell docstring
* lisp/org/ob-eshell.el (org-babel-execute:eshell): Improve docstring.
Stefan Kangas [Sun, 17 Sep 2023 14:49:21 +0000 (16:49 +0200)]
; Grammar fixes ("allow to" et al)
Ref:
https://lists.gnu.org/r/emacs-devel/2016-01/msg01598.html
https://lists.gnu.org/r/emacs-devel/2016-01/msg01465.html
Stefan Kangas [Sun, 17 Sep 2023 13:33:02 +0000 (15:33 +0200)]
Make obsolete flymake proc less prominent in manual
* doc/misc/flymake.texi: Don't mention obsolete legacy support on the
first page. It is still documented in a separate chapter.
Mauro Aranda [Sun, 17 Sep 2023 13:00:20 +0000 (10:00 -0300)]
Fix shell-indirect-setup-hook :type (Bug#66051)
* lisp/shell.el (shell-indirect-setup-hook): It's a hook, not a
boolean.
Michael Albinus [Sun, 17 Sep 2023 10:13:14 +0000 (12:13 +0200)]
Make "toolbox" and "flatpak" multi-hop completion capable in Tramp
* lisp/net/tramp-container.el (tramp-skeleton-completion-function):
Bind `tramp-verbose' to 0.
(tramp-toolbox--completion-function)
(tramp-flatpak--completion-function): Use METHOD as argument.
Use `tramp-skeleton-completion-function'.
(tramp-completion-multi-hop-methods): Add "toolbox" and "flatpak".
Thomas Hilke [Fri, 15 Sep 2023 08:30:25 +0000 (10:30 +0200)]
Remove column quoting from sqlite-mode
* lisp/sqlite-mode.el (sqlite-mode--column-names): Unquote column
name. (Bug#65998)
Copyright-paperwork-exempt: yes
Christophe Troestler [Mon, 11 Sep 2023 13:32:57 +0000 (15:32 +0200)]
Add prettify-symbols configuration to 'rust-ts-mode'
* lisp/progmodes/rust-ts-mode.el
(rust-ts-mode-prettify-symbols-alist): New variable.
(rust-ts-mode--prettify-symbols-compose-p): New function.
(rust-ts-mode): Use it.
Eli Zaretskii [Sun, 17 Sep 2023 08:40:06 +0000 (11:40 +0300)]
Support Unicode version 15.1
* admin/unidata/BidiBrackets.txt:
* admin/unidata/BidiMirroring.txt:
* admin/unidata/Blocks.txt:
* admin/unidata/IdnaMappingTable.txt:
* admin/unidata/NormalizationTest.txt:
* admin/unidata/PropertyValueAliases.txt:
* admin/unidata/ScriptExtensions.txt:
* admin/unidata/Scripts.txt:
* admin/unidata/SpecialCasing.txt:
* admin/unidata/UnicodeData.txt:
* admin/unidata/confusables.txt:
* admin/unidata/copyright.html:
* test/manual/BidiCharacterTest.txt:
* admin/unidata/emoji-data.txt:
* admin/unidata/emoji-sequences.txt:
* admin/unidata/emoji-test.txt:
* admin/unidata/emoji-variation-sequences.txt:
* admin/unidata/emoji-zwj-sequences.txt: Update from Unicode data
files.
* admin/notes/unicode: Update instructions.
* lisp/international/characters.el: Update 'char-width-table'
data.
* etc/NEWS: Announce support for Unicode 15.1.
Theodor Thornhill [Sun, 17 Sep 2023 06:18:54 +0000 (08:18 +0200)]
Add indentation rules for type_arguments
* lisp/progmodes/java-ts-mode.el (java-ts-mode--indent-rules): Indent
as opening braces.
Eli Zaretskii [Sun, 17 Sep 2023 05:26:46 +0000 (01:26 -0400)]
Merge from origin/emacs-29
bcf287bd114 typescript-ts-mode.el: Minor touches
67c82710764 Improve namespacing situation WRT to recent change in typ...
33ff4fed03d Make move-end-of-line in minibuffer consistent (bug#65980)
Po Lu [Sun, 17 Sep 2023 01:12:48 +0000 (09:12 +0800)]
Speed up Android context menu generation
* src/androidmenu.c (android_menu_show, android_dialog_show):
Circumvent JNI dynamic method dispatch overhead.
Dmitry Gutov [Sat, 16 Sep 2023 20:03:26 +0000 (23:03 +0300)]
typescript-ts-mode.el: Minor touches
* lisp/progmodes/typescript-ts-mode.el
(tsx-ts-mode--indent-compatibility-
b893426)
(tsx-ts-mode--font-lock-compatibility-
bb1f97b):
Catch specific error.
(typescript-ts-base-mode): Improve docstring (bug#65470).
Dmitry Gutov [Sat, 16 Sep 2023 19:55:17 +0000 (22:55 +0300)]
Improve namespacing situation WRT to recent change in typescript-ts-mode.el
* lisp/progmodes/typescript-ts-mode.el
(typescript-ts--syntax-propertize):
Rename from ts-ts--syntax-propertize.
(tsx-ts--syntax-propertize-captures):
Rename from ts-ts--syntax-propertize-captures.
(typescript-ts--s-p-query):
Rename from ts-ts--s-p-query.
Update all references (bug#65470).
Michael Albinus [Sat, 16 Sep 2023 18:36:28 +0000 (20:36 +0200)]
; Add some comments in Tramp
Michael Albinus [Sat, 16 Sep 2023 18:35:57 +0000 (20:35 +0200)]
Improve Tramp messages
* lisp/net/tramp-message.el (tramp-debug-message): Publish the
name of the debug file name.
Michael Albinus [Sat, 16 Sep 2023 18:35:35 +0000 (20:35 +0200)]
Make "kubernetes" multi-hop completion capable in Tramp
* lisp/net/tramp-container.el (tramp-skeleton-completion-function):
New defmacro.
(tramp-container--completion-function): Use it.
(tramp-kubernetes--completion-function): Use METHOD as argument.
Use `tramp-skeleton-completion-function'.
(tramp-skeleton-kubernetes-vector): New defmacro.
(tramp-kubernetes--current-context)
(tramp-kubernetes--current-context-data): Use it.
(tramp-completion-multi-hop-methods): Add "kubernetes".
Michael Albinus [Sat, 16 Sep 2023 18:34:06 +0000 (20:34 +0200)]
Adapt tramp-otp-password-prompt-regexp
* lisp/net/tramp.el (tramp-otp-password-prompt-regexp):
Use `tramp-compat-password-colon-equivalents'.
Stefan Kangas [Sat, 16 Sep 2023 17:08:46 +0000 (19:08 +0200)]
Revert "Mark two tests as expensive"
This reverts commit
1d952078c0c45fc095795294351a4a2ee7e6c253.
Eli Zaretskii [Sat, 16 Sep 2023 17:03:59 +0000 (20:03 +0300)]
Revert "Don't use pointer arithmetic for untagging Lisp values"
This reverts commit
056c99a34c143e1b5162366db07a143ac2b10631.
It broke compilation of 32-bit build --with-wide-int.
Eli Zaretskii [Sat, 16 Sep 2023 17:03:30 +0000 (20:03 +0300)]
Revert "* src/lisp.h (XUNTAG): Work on 32-bit --with-wide-int builds"
This reverts commit
c0788f0c476f094a91f7b20f41d0fe50b5b19f9d.
Let's finish discussing this before rushing to push.
Mattias Engdegård [Sat, 16 Sep 2023 16:37:17 +0000 (18:37 +0200)]
* src/lisp.h (XUNTAG): Work on 32-bit --with-wide-int builds
This eliminates a compiler warning for that configuration
(see bug#65491).