Eli Zaretskii [Sat, 18 Jun 2022 10:45:13 +0000 (13:45 +0300)]
Update documentation
* doc/emacs/trouble.texi (DEL Does Not Delete): Move to the end of
the chapter. This issue is no longer frequent or important as it
was back in Emacs 20 days.
(Long Lines): Document 'max-redisplay-ticks'.
* doc/emacs/emacs.texi (Top): Update the detailed menu.
* etc/NEWS: Announce 'max-redisplay-ticks'.
Eli Zaretskii [Sat, 18 Jun 2022 10:12:21 +0000 (13:12 +0300)]
Don't count ticks too eagerly in syntax.c
* src/syntax.c (scan_sexps_forward): Don't increment redisplay
tick count of the loop didn't advance at all.
Eli Zaretskii [Sat, 18 Jun 2022 10:07:20 +0000 (13:07 +0300)]
Allow aborting redisplay stuck in 'parse-partial-sexp'
* src/xdisp.c (display_working_on_window_p): New global variable.
(unwind_display_working_on_window): New function.
* src/keyboard.c (command_loop_1): Reset
'display_working_on_window_p' before and after executing commands.
* src/window.c (Frecenter, window_scroll, displayed_window_lines):
* src/indent.c (Fvertical_motion): Set
'display_working_on_window_p' before calling 'start_display'.
* src/syntax.c (scan_sexps_forward): Call 'update_redisplay_ticks'
after finishing the loop.
Eli Zaretskii [Fri, 17 Jun 2022 15:24:33 +0000 (18:24 +0300)]
Handle too long syntactic fontifications
* src/syntax.c (scan_sexps_forward): Call 'update_redisplay_ticks'
after finishing the loop.
* src/dispnew.c (make_current): Make sure enabled rows of the
current matrix have a valid hash, even if redisplay of a window
was aborted due to slowness. This avoids assertion violations in
'scrolling_window' due to the wrong hash value.
Eli Zaretskii [Tue, 14 Jun 2022 19:13:49 +0000 (22:13 +0300)]
Support callers which sometimes run unrelated to display code
* src/xdisp.c (update_redisplay_ticks): Don't abort callers
with w == NULL if we are called outside of display engine code,
and don't update the tick count in that case.
Eli Zaretskii [Tue, 14 Jun 2022 17:27:12 +0000 (20:27 +0300)]
Handle W = NULL in 'update_redisplay_ticks'
* src/xdisp.c (update_redisplay_ticks): If W == NULL, assume we
are iterating the current buffer.
Eli Zaretskii [Tue, 14 Jun 2022 16:05:38 +0000 (19:05 +0300)]
Restart tick counting every command
* src/keyboard.c (command_loop_1): Reinitialize the tick count
before executing each command in the loop.
* src/xdisp.c (update_redisplay_ticks): Be more defensive to W
being NULL and to its buffer being nil. Set
'windows_or_buffers_changed' to avoid trusting stale window data
like w->window_end_valid.
Eli Zaretskii [Sun, 12 Jun 2022 16:48:34 +0000 (19:48 +0300)]
Change the API of 'update_redisplay_ticks'
* src/xdisp.c (update_redisplay_ticks): Change the 2nd argument
to be 'struct window'; all callers changed.
Eli Zaretskii [Sun, 12 Jun 2022 14:44:35 +0000 (17:44 +0300)]
Fix a typo in a doc string.
Eli Zaretskii [Sun, 12 Jun 2022 14:25:26 +0000 (17:25 +0300)]
Initial implementation of "abort-redisplay" feature
* src/xdisp.c (update_redisplay_ticks): New function.
(init_iterator, set_iterator_to_next): Call
'update_redisplay_ticks'.
(syms_of_xdisp) <max_redisplay_ticks>: New variable.
<list_of_error>: Remove 'void-variable': it is no longer needed,
since 'calc_pixel_width_or_height' can no longer signal a
void-variable error, and it gets in the way of aborting
redisplay via 'redisplay_window_error'.
Po Lu [Sun, 12 Jun 2022 08:41:40 +0000 (16:41 +0800)]
Fix phantom drag-and-drop targets showing up in some programs
* src/xterm.c (x_dnd_cleanup_drag_and_drop)
(x_dnd_begin_drag_and_drop): Delete XdndTypeList if it was set
after the DND operation completes. Some programs apparently
think its presence on the drag source means there are more than
3 targets.
Richard Hansen [Sun, 12 Jun 2022 05:19:43 +0000 (01:19 -0400)]
bindat (str, strz): Reject non-ASCII, non-`eight-bit' characters
* lisp/emacs-lisp/bindat.el (str) (strz): Signal an error if the user
attempts to pack a multibyte string containing characters other than
ASCII and `eight-bit' characters (bug#55897).
* doc/lispref/processes.texi (Bindat Types): Update documentation.
* test/lisp/emacs-lisp/bindat-tests.el (str) (strz): Add tests.
Po Lu [Sun, 12 Jun 2022 05:45:18 +0000 (13:45 +0800)]
Don't repetitively initialize type lists during DND
* src/xterm.c (x_dnd_send_enter): Only set XdndTypeList once.
(x_dnd_begin_drag_and_drop): Clear type list flag.
Stefan Kangas [Sun, 12 Jun 2022 04:30:25 +0000 (06:30 +0200)]
Merge from origin/emacs-28
cbd2c87a5d ; Fix last change in whitespace.el.
52ad2b53cb Fix doc strings in whitespace.el
Stefan Monnier [Sun, 12 Jun 2022 03:50:35 +0000 (23:50 -0400)]
* lisp/emacs-lisp/find-func.el (find-function-advised-original): Simplify
Po Lu [Sun, 12 Jun 2022 02:17:19 +0000 (10:17 +0800)]
Use cached monitor info during DND if available
* src/xterm.c (x_dnd_begin_drag_and_drop): Use previously cached
monitor attributes if they exist.
Po Lu [Sun, 12 Jun 2022 02:13:04 +0000 (10:13 +0800)]
* src/nsfns.m (ns_move_tooltip_to_mouse_location): Handle invisible frames.
Po Lu [Sun, 12 Jun 2022 01:32:30 +0000 (09:32 +0800)]
Don't rely on XdndAware on frames for dropping to work
* src/xterm.c (x_dnd_get_target_window): New parameter
WAS_FRAME. If toplevel is a frame, set it and clear proto and
motif.
(x_dnd_send_enter, x_dnd_send_position, x_dnd_send_leave)
(x_dnd_send_drop): Remove special-cased self dropping code.
(x_dnd_note_self_position, x_dnd_note_self_drop): New functions.
(x_dnd_begin_drag_and_drop, x_dnd_update_state):
(handle_one_xevent): Handle our own frames using those functions
instead.
Mattias Engdegård [Sat, 11 Jun 2022 16:44:37 +0000 (18:44 +0200)]
* src/fns.c (internal_equal): Use BASE_EQ where possible.
Basil L. Contovounesios [Sat, 11 Jun 2022 12:50:09 +0000 (15:50 +0300)]
Recognize processes as a CL type again
For discussion, see:
https://lists.gnu.org/r/emacs-devel/2022-06/msg00567.html
* lisp/emacs-lisp/cl-macs.el (cl-deftype-satisfies): Include process
as a type, to avoid cl-typep complaining about process objects.
Lars Ingebrigtsen [Sat, 11 Jun 2022 16:15:35 +0000 (18:15 +0200)]
Make new fileio test more reliable
* test/src/fileio-tests.el: Use a unibyte buffer to avoid length
confusion.
Lars Ingebrigtsen [Sat, 11 Jun 2022 16:13:06 +0000 (18:13 +0200)]
Bump sh-imenu-generic-expression defcustom version
* lisp/progmodes/sh-script.el (sh-imenu-generic-expression): Bump
the :version since we changed the value.
Lars Ingebrigtsen [Sat, 11 Jun 2022 15:59:23 +0000 (17:59 +0200)]
Fix loaddefs installation of packages with no autoloads
* lisp/emacs-lisp/loaddefs-gen.el (loaddefs-generate): Always
generate an output file if we have EXTRA-DATA. This fixes package
installation of packages with no ;;;###autoload forms.
Stefan Monnier [Sat, 11 Jun 2022 15:57:25 +0000 (11:57 -0400)]
fileio-tests.el (test-non-regular-insert): Fix thinko
* test/src/fileio-tests.el (fileio-tests--non-regular-insert): Rename
from `test-non-regular-insert` and make it into a test rather than
a broken function. Oh, and make it work while at it.
Stefan Monnier [Sat, 11 Jun 2022 15:55:27 +0000 (11:55 -0400)]
Bindat: Document `sint`; add `le` arg to `uint`; deprecate `uintr`
* lisp/emacs-lisp/bindat.el (bindat--type) <uint>: Add `le` optional arg.
(bindat--type) <uintr>: Delete method.
(uintr): Re-define as a bindat-macro instead.
(bindat-type): Update docstring accordingly.
(bindat--primitives): Update.
(sint): Simplify.
* doc/lispref/processes.texi (Bindat Types): Update `uint`, add `sint`,
and remove `uintr`.
* test/lisp/emacs-lisp/bindat-tests.el (data-bindat-spec): Use the new
`le` arg of `uint` instead of `uintr`.
Eli Zaretskii [Sat, 11 Jun 2022 13:17:37 +0000 (16:17 +0300)]
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
समीर सिंह Sameer Singh [Sat, 11 Jun 2022 11:18:44 +0000 (16:48 +0530)]
Improve Lepcha composition rules and rename its native name
* lisp/language/indian.el ("Lepcha"): Rename lepcha script
native name and improve composition rules. (Bug#55869)
* etc/HELLO: Rename Lepcha script native name.
Po Lu [Sat, 11 Jun 2022 13:16:30 +0000 (21:16 +0800)]
Fix timestamp of special drop events
* src/xterm.c (x_dnd_send_drop): Set special event timestamp
to the timestamp of the drop instead of CurrentTime.
Eli Zaretskii [Sat, 11 Jun 2022 13:12:10 +0000 (16:12 +0300)]
; * src/fileio.c (Finsert_file_contents): Fix a typo. (Bug#18370)
Lars Ingebrigtsen [Sat, 11 Jun 2022 12:39:54 +0000 (14:39 +0200)]
Allow inserting parts of /dev/urandom with insert-file-contents
* doc/lispref/files.texi (Reading from Files): Document it.
* src/fileio.c (Finsert_file_contents): Allow specifying END for
special files (bug#18370).
Po Lu [Sat, 11 Jun 2022 12:01:01 +0000 (12:01 +0000)]
Fix some drag-and-drop handling on Haiku
* lisp/term/haiku-win.el (haiku-drag-and-drop): Don't raise
frame for some types of drags.
* src/haikuselect.c (haiku_unwind_drag_message): Don't hide
tooltip here.
(Fhaiku_drag_message): Only clear grab and hide tooltip if the
drag was successful.
Po Lu [Sat, 11 Jun 2022 11:55:42 +0000 (11:55 +0000)]
Fix initializers for Haiku scroll bars
* src/haiku_support.cc (class Emacs):
(class EmacsScrollBar): Fix initializers.
Visuwesh [Sat, 11 Jun 2022 11:05:17 +0000 (13:05 +0200)]
Support mksh-specific function names in imenu
* lisp/progmodes/sh-script.el (sh-imenu-generic-expression): Add
mksh-specific function names to imenu-generic-expression
(bug#55889).
Eli Zaretskii [Sat, 11 Jun 2022 11:02:29 +0000 (14:02 +0300)]
; Fix last change in whitespace.el.
Lars Ingebrigtsen [Sat, 11 Jun 2022 10:34:18 +0000 (12:34 +0200)]
Further tweaks to how remapped commands are described
* lisp/help.el (describe-map): Rework how remapped commands are
output to avoid repetitions.
They're now shown as:
C-x 4 C-o ido-display-buffer
(Remapped via <remap> <display-buffer>)
C-x 5 C-o ido-display-buffer-other-frame
(Remapped via <remap> <display-buffer-other-frame>)
C-x x i ido-insert-buffer
(Remapped via <remap> <insert-buffer>)
Eli Zaretskii [Sat, 11 Jun 2022 10:30:07 +0000 (13:30 +0300)]
Fix doc strings in whitespace.el
* lisp/whitespace.el (whitespace-style, whitespace-action):
Untabify the doc strings. (Bug#55904)
समीर सिंह Sameer Singh [Thu, 9 Jun 2022 14:24:10 +0000 (19:54 +0530)]
Add support for the Lepcha script (bug#55869)
* lisp/language/indian.el ("Lepcha"): New language environment.
Add composition rules for Lepcha. Add sample text and input method.
* lisp/language/misc-lang.el ("Kharoshthi"): Fix whitespace.
* lisp/international/fontset.el (script-representative-chars)
(setup-default-fontset): Support Lepcha.
* lisp/leim/quail/indian.el ("lepcha"): New input method.
* etc/HELLO: Add a Lepcha greeting.
* etc/NEWS: Announce the new language environment.
Po Lu [Sat, 11 Jun 2022 06:11:28 +0000 (14:11 +0800)]
Fix queuing already-present selection requests
* src/xterm.c (x_defer_selection_requests): Move kbd_fetch_ptr
if possible and fix counter increment order.
Stefan Kangas [Sat, 11 Jun 2022 04:30:30 +0000 (06:30 +0200)]
Merge from origin/emacs-28
0705705ebf Improve documentation of "etags -I"
0ad8cd40ce Merge branch 'emacs-28' of git.savannah.gnu.org:/srv/git/e...
22a832ad82 Mention the #f syntax from cl-prin1
3fd0854378 Fix file name quoting in tramp-smb.el (do not merge)
Stefan Kangas [Sat, 11 Jun 2022 04:30:30 +0000 (06:30 +0200)]
; Merge from origin/emacs-28
The following commit was skipped:
8436e0bee9 Update error message to reflect variable rename
Po Lu [Sat, 11 Jun 2022 03:13:48 +0000 (11:13 +0800)]
Handle allocation errors when interning large amounts of atoms
* src/xfns.c (Fx_begin_drag): Catch BadAlloc errors around
XInternAtoms.
Po Lu [Sat, 11 Jun 2022 01:19:05 +0000 (09:19 +0800)]
Prevent crash handling keyboard input from non-frame windows
* src/xterm.c (handle_one_xevent): Use `dpyinfo' to access xkb
desc. (bug#55890)
Po Lu [Sat, 11 Jun 2022 01:12:44 +0000 (09:12 +0800)]
Fix cancelling DND upon a regular X error
* src/xterm.c (x_connection_closed): The display isn't dead upon
a non-IO error, so don't avoid sending messages to clean stuff
up.
Dmitry Gutov [Sat, 11 Jun 2022 00:45:46 +0000 (03:45 +0300)]
elisp-completion-at-point: Replace last usage of 'read'
* lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
Replace the last remaining usage of 'read' (bug#55491).
Juri Linkov [Fri, 10 Jun 2022 16:43:31 +0000 (19:43 +0300)]
New function isearch-search-fun-in-text-property (bug#14013).
* lisp/dired-aux.el (dired-isearch-search-filenames): Move most of the body
to the new function isearch-search-fun-in-text-property.
* lisp/isearch.el (isearch-search-fun-in-text-property):
New function refactored from dired-isearch-search-filenames.
Jim Porter [Thu, 9 Jun 2022 16:50:20 +0000 (09:50 -0700)]
Don't use 'list' command in Eshell command forms
When executed like a command, 'list' looks for external programs named
'list' first before falling back to the Lisp function of the same
name. This causes unexpected behavior, since the Lisp function is
what we want in these tests.
* test/lisp/eshell/esh-var-tests.el (esh-var-test/interp-cmd-indices)
(esh-var-test/quoted-interp-cmd-indices): Use 'listify' instead of
'list'.
Eli Zaretskii [Fri, 10 Jun 2022 13:13:56 +0000 (16:13 +0300)]
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
Eli Zaretskii [Fri, 10 Jun 2022 13:13:16 +0000 (16:13 +0300)]
; * etc/NEWS: Fix last change.
Eli Zaretskii [Fri, 10 Jun 2022 13:12:00 +0000 (16:12 +0300)]
; Minor copyedits of --with-small-ja-dic option
* etc/NEWS: Document the new configuration option.
* lisp/international/ja-dic-cnv.el (skkdic-convert-okuri-nasi):
Fix whitespace.
(skkdic-convert): Doc fix.
(batch-skkdic-convert): Fix Help message.
* configure.ac: Tweak the description of --with-small-ja-dic.
Po Lu [Fri, 10 Jun 2022 12:51:45 +0000 (20:51 +0800)]
Remove extra call to XTranslateCoordinates when performing "xterm" drop
* src/xterm.c (x_dnd_do_unsupported_drop): Signal error when
XdndSelection is lost, set subwindow, and simplify
XTranslateCoordinates loop.
Taiju HIGASHI [Tue, 7 Jun 2022 12:46:14 +0000 (21:46 +0900)]
Don't reduce vocabulary in ja-dic.el by default
* configure.ac: Add the "--with-small-ja-dic" configure option.
* leim/Makefile.in (${leimdir}/ja-dic/ja-dic.el): Change the build
method depending on whether or not the --with-small-ja-dic option
is specified.
* lisp/international/ja-dic-cnv.el (skkdic-convert-okuri-nasi): Add
the "no-reduction" optional argument. When it is specified, then
generate a Japanese dictionary without reduced vocabulary.
(skkdic-convert): Add the "no-reduction" optional argument.
(batch-skkdic-convert): Add the "--no-reduction" command line argument.
Eli Zaretskii [Fri, 10 Jun 2022 11:22:18 +0000 (14:22 +0300)]
; Fix documentation of 'completing-read' and friends
* src/minibuf.c (Fcompleting_read):
* lisp/minibuffer.el (read-file-name):
* doc/lispref/minibuf.texi (Minibuffer Completion):
* etc/NEWS: Fix typos and wording of the description of the
REQUIRE-MATCH argument to 'completing-read'.
Richard Hansen [Thu, 2 Jun 2022 20:33:16 +0000 (16:33 -0400)]
; bindat (bindat--length-group): Fix indentation
Richard Hansen [Sun, 29 May 2022 03:53:51 +0000 (23:53 -0400)]
; bindat (strz): Consistent length type check, take two
Commit
30ec4a7347b2944818c6fc469ae871374ce7caa4 is incorrect -- the
length computation logic uses a simple nilness test, not `numberp'.
The `numberp' case is just an optimization if `len' is a literal
number; it does not affect the behavior.
Revert that commit, add some comments to help future readers avoid the
same mistake, and update the pack logic to use the same optimization
as the length computation for consistency.
Richard Hansen [Sun, 29 May 2022 21:15:04 +0000 (17:15 -0400)]
; bindat-tests (str, strz): Refine tests
str and strz:
* Add tests for packing into a pre-allocated string.
strz:
* Add test cases to probe more boundary conditions.
* Delete comments that no longer apply.
* Add tests to ensure that truncated packed strings are rejected.
* Keep the legacy spec tests in sync with the modern spec tests.
Richard Hansen [Thu, 9 Jun 2022 23:58:56 +0000 (19:58 -0400)]
bindat (strz): Fix documentation for strz with pre-allocated string
* doc/lispref/processes.texi (Bindat Types): Document that a null
terminator is not written if `bindat-pack' is given a pre-allocated
string.
Lars Ingebrigtsen [Fri, 10 Jun 2022 09:48:57 +0000 (11:48 +0200)]
Link find-sibling-file to ff-find-related-file in manual
* doc/emacs/files.texi (Visiting): Link to ff-find-related-file
documentation.
Lars Ingebrigtsen [Fri, 10 Jun 2022 09:45:28 +0000 (11:45 +0200)]
Fix find-sibling-file doc string
* lisp/files.el (find-sibling-file): Remove incorrect statement
from doc string (bug#55879).
Lars Ingebrigtsen [Fri, 10 Jun 2022 09:39:51 +0000 (11:39 +0200)]
Make describe-prefix-bindings say when there are no matches
* lisp/help.el (describe-prefix-bindings): Say when there are no
bindings under a prefix (bug#55875), for instance in `C-c C-h' in
a buffer with no `C-c' commands.
Ignacio Casso [Fri, 10 Jun 2022 09:13:20 +0000 (11:13 +0200)]
Fix issues with loading autoloaded defcustoms while bound
* doc/lispref/customize.texi (Variable Definitions)
(Variable Definitions): Update documentation.
* lisp/custom.el (custom-initialize-set)
(custom-initialize-reset): Update doc string.
(custom-initialize-changed): Use set-default-toplevel-value. This
fixes issues with (let ((custom-variable ...)) (autoload-function ...)).
(custom-set-default): Ditto.
* src/data.c (Fdefault_boundp): Update doc string.
Lars Ingebrigtsen [Fri, 10 Jun 2022 08:51:34 +0000 (10:51 +0200)]
Don't put trailing optional nil values into `command-history'
* src/callint.c (fix_command): Don't put trailing optional nil
values into `command-history' (bug#45333).
Mattias Engdegård [Fri, 10 Jun 2022 08:22:24 +0000 (10:22 +0200)]
Fix macOS parallel bootstrap error (bug#55846)
* nextstep/Makefile.in (${ns_appdir}):
Change to a single-target rule to avoid the same actions being
executed in parallel.
Lars Ingebrigtsen [Fri, 10 Jun 2022 08:21:30 +0000 (10:21 +0200)]
Mention the REQUIRE-MATCH extension in NEWS
Lars Ingebrigtsen [Fri, 10 Jun 2022 08:19:15 +0000 (10:19 +0200)]
Allow specifying a wildcard argument to list-directory again
* lisp/files.el (list-directory): Allow specifying a wildcard
argument interactively again (bug#55877).
Lars Ingebrigtsen [Fri, 10 Jun 2022 08:16:57 +0000 (10:16 +0200)]
Allow REQUIRE-MATCH to be a function
* doc/lispref/minibuf.texi (Minibuffer Completion): Document it.
* lisp/minibuffer.el (completion--complete-and-exit): Allow
REQUIRE-MATCH to be a function.
(read-file-name): Mention it.
* src/minibuf.c (Fcompleting_read): Mention it.
Po Lu [Fri, 10 Jun 2022 07:27:07 +0000 (15:27 +0800)]
Fix receiving drops from drop-only Motif programs
* lisp/x-dnd.el (x-dnd-xm-read-targets-table): Fix doc string.
(x-dnd-handle-motif): Recompute types and state on XmDROP_START
if no state already exists.
Eli Zaretskii [Fri, 10 Jun 2022 07:06:06 +0000 (10:06 +0300)]
Improve documentation of "etags -I"
* doc/man/etags.1:
* doc/emacs/maintaining.texi (Create Tags Table): Elaborate on the
importance of the '-I' option to 'etags'. (Bug#45246)
Eli Zaretskii [Fri, 10 Jun 2022 07:04:28 +0000 (10:04 +0300)]
Merge branch 'emacs-28' of git.savannah.gnu.org:/srv/git/emacs into emacs-28
Po Lu [Fri, 10 Jun 2022 06:47:40 +0000 (14:47 +0800)]
Eliminate extra call to XTranslateCoordinates looking for drop target
* src/xterm.c (x_dnd_get_target_window): Translate coordinates
starting from the root window and avoid extra sync.
Stefan Kangas [Fri, 10 Jun 2022 06:17:35 +0000 (08:17 +0200)]
Merge from origin/emacs-28
22a832ad82 Mention the #f syntax from cl-prin1
Stefan Kangas [Fri, 10 Jun 2022 06:17:35 +0000 (08:17 +0200)]
; Merge from origin/emacs-28
The following commit was skipped:
3fd0854378 Fix file name quoting in tramp-smb.el (do not merge)
Stefan Kangas [Fri, 10 Jun 2022 06:17:35 +0000 (08:17 +0200)]
Merge from origin/emacs-28
d02c94090c Fix error reporting in process-async-https-with-delay
9a4862a973 * doc/misc/org.org: Remove spurious markup.
768ed1476a Make Tramp version check more robust
7f778c6943 Fix debugging with GDB when a breakpoint has multiple loca...
25e53e9391 ; * lisp/files.el (file-expand-wildcards): Doc fix.
3ea9357d10 Update documentation of 'aset' and 'store-substring'
# Conflicts:
# lisp/files.el
Po Lu [Fri, 10 Jun 2022 05:11:20 +0000 (13:11 +0800)]
Add tests for x-dnd Motif value parsing logic
* test/lisp/x-dnd-tests.el: New file.
Po Lu [Fri, 10 Jun 2022 03:45:27 +0000 (11:45 +0800)]
Don't rely on TARGETS to read selection targets for Motif DND
* lisp/x-dnd.el (x-dnd-types-alist):
(x-dnd-known-types): Fix formatting.
(x-dnd-xm-unpack-targets-table-header):
(x-dnd-xm-read-single-rec):
(x-dnd-xm-read-targets-table):
(x-dnd-xm-read-targets): New functions.
(x-dnd-handle-motif): Read targets from the targets table
of the drag window instead of the selection's TARGET target.
Po Lu [Fri, 10 Jun 2022 01:28:45 +0000 (09:28 +0800)]
Fix crashes in x_tooltip_window_to_frame on GTK
* src/xterm.c (x_tooltip_window_to_frame): Ignore all non-X
frames instead of trying to get their tooltip window.
Po Lu [Fri, 10 Jun 2022 01:15:25 +0000 (01:15 +0000)]
* src/haikuselect.c (haiku_note_drag_motion): Only handle visible tip_f.
Po Lu [Fri, 10 Jun 2022 00:58:51 +0000 (08:58 +0800)]
Fix DND tooltip handling with tooltip-reuse-hidden-frame
* src/xterm.c (x_dnd_update_tooltip_position): Don't move window
if tip_f is not visible.
Eli Zaretskii [Thu, 9 Jun 2022 17:33:43 +0000 (20:33 +0300)]
Update the 'etags' test suite
* ETAGS.good_1:
* ETAGS_good_2:
* ETAGS_good_3:
* ETAGS_good_4:
* ETAGS_good_5:
* ETAGS_good_6: Adapt to recent changes in test sources.
* lib-src/etags.c (C_entries): Add commentary for resetting
bracelev. (Bug#45246)
Eli Zaretskii [Thu, 9 Jun 2022 16:40:25 +0000 (19:40 +0300)]
; * src/window.c (window_body_unit_from_symbol): Fix Lisp EQ.
Lars Ingebrigtsen [Thu, 9 Jun 2022 15:13:58 +0000 (17:13 +0200)]
Adjust browse-url test after previous browse-url change
Lars Ingebrigtsen [Thu, 9 Jun 2022 15:11:54 +0000 (17:11 +0200)]
Make browse-url-encode-url encode even less
* lisp/net/browse-url.el (browse-url-encode-url): Don't encode
dollar signs, because that's out of spec (bug#55873).
Lars Ingebrigtsen [Thu, 9 Jun 2022 14:41:03 +0000 (16:41 +0200)]
Improve `C-h b' output for remapped commands.
* lisp/help.el (describe-map): Include the bindings of the
remapped commands (bug#14084).
This will result in output like this, instead of just listing the
remapped commands:
<remap> <display-buffer> ido-display-buffer
C-x 4 C-o display-buffer
<remap> <display-buffer-other-frame> ido-display-buffer-other-frame
C-x 5 C-o display-buffer-other-frame
<remap> <insert-buffer> ido-insert-buffer
C-x x i insert-buffer
<remap> <kill-buffer> ido-kill-buffer
C-x k kill-buffer
<remap> <switch-to-buffer> ido-switch-buffer
C-x b switch-to-buffer
<remap> <switch-to-buffer-other-frame> ido-switch-buffer-other-frame
C-x 5 b switch-to-buffer-other-frame
<remap> <switch-to-buffer-other-window> ido-switch-buffer-other-window
C-x 4 b switch-to-buffer-other-window
Lars Ingebrigtsen [Thu, 9 Jun 2022 13:57:04 +0000 (15:57 +0200)]
New setting for mouse-drag-copy-region to not put "" onto kill ring
* doc/emacs/frames.texi (Mouse Commands): Document it.
* lisp/mouse.el (mouse-drag-copy-region): Add value (bug#17211)
for not putting "" strings onto the kill ring.
(mouse-set-region, mouse-save-then-kill): Use the new value.
Po Lu [Thu, 9 Jun 2022 13:48:19 +0000 (21:48 +0800)]
Fix recalculation of `icon-title-format' after a frame is iconified
Previously it would only happen upon the next mode line
redisplay, meaning that just pressing C-z would not update the
implicit title, since C-z doesn't cause a redisplay.
* src/dispextern.h: Update prototypes.
* src/frame.h (SET_FRAME_ICONIFIED): De-slugify. Call
`gui_consider_frame_title', since `icon-title-format' might be
different from the current frame title.
* src/xdisp.c (gui_consider_frame_title): Export (also in
dispextern.h). (bug#55850)
Lars Ingebrigtsen [Thu, 9 Jun 2022 13:22:11 +0000 (15:22 +0200)]
Mention the #f syntax from cl-prin1
* doc/lispref/objects.texi (Special Read Syntax): Mention #f,
which is in cl-prin1 output (bug#55853).
Michael Albinus [Thu, 9 Jun 2022 12:44:00 +0000 (14:44 +0200)]
Fix file name quoting in tramp-smb.el (do not merge)
* lisp/net/tramp-smb.el (tramp-smb-handle-write-region): Quote tmpfile.
(tramp-smb-get-localname): Remove superfluous test. (Bug#55855)
* test/lisp/net/tramp-tests.el (tramp-test03-file-name-method-rules):
Remove superfluous checks.
Lars Ingebrigtsen [Thu, 9 Jun 2022 12:42:31 +0000 (14:42 +0200)]
Make `line-number-at-pos' work more like in earlier Emacs versions
* src/fns.c (Fline_number_at_pos): Allow calling with position
outside the region if called with ABSOLUTE non-nil (bug#55847).
This isn't announced in the doc string, but makes function
compatible with the version in earlier Emacs versions.
Po Lu [Thu, 9 Jun 2022 11:44:31 +0000 (19:44 +0800)]
Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs
Po Lu [Thu, 9 Jun 2022 11:42:56 +0000 (19:42 +0800)]
Never return tooltip frames from ns-begin-drag
* src/nsterm.m ([EmacsWindow draggedImage:movedTo:]):
([EmacsWindow beginDrag:forPasteboard...]): Don't return frame
if tooltip.
Eli Zaretskii [Thu, 9 Jun 2022 10:27:34 +0000 (13:27 +0300)]
; Fix typos in Kharoshthi script support
* etc/HELLO:
* lisp/leim/quail/misc-lang.el ("kharoshthi"):
* lisp/language/misc-lang.el ("Kharoshthi"): Fix typos.
Po Lu [Thu, 9 Jun 2022 10:20:59 +0000 (18:20 +0800)]
Handle monitor attribute updates during drag-and-drop
* src/xterm.c (x_monitors_changed_cb):
(handle_one_xevent): Set x_dnd_monitors during monitor changes.
Stefan Baums [Sun, 5 Jun 2022 17:18:23 +0000 (19:18 +0200)]
Add support for the Kharoshthi script
* etc/NEWS: Announce the new language environment and script.
* etc/HELLO: Add Kharoshthi greeting.
* lisp/leim/quail/misc-lang.el ("kharoshthi"): New input method.
* lisp/language/misc-lang.el ("Kharoshthi"): New language
environment. Set up composition rules for Kharoshthi.
(Bug#55539)
Po Lu [Thu, 9 Jun 2022 08:48:17 +0000 (16:48 +0800)]
Satisfy GCC warnings on the GNUstep build
* src/nsfns.m (ns_move_tooltip_to_mouse_location):
* src/nsterm.m ([EmacsWindow draggedImage:movedTo:]): Pacify GCC.
Po Lu [Thu, 9 Jun 2022 08:43:29 +0000 (16:43 +0800)]
Disable tooltip timeouts for drag-and-drop tooltips
* lisp/mouse.el (mouse-drag-and-drop-region-display-tooltip):
Don't time out the created tooltip.
Eli Zaretskii [Thu, 9 Jun 2022 08:38:08 +0000 (11:38 +0300)]
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
Po Lu [Thu, 9 Jun 2022 08:34:18 +0000 (16:34 +0800)]
Implement `follow-tooltip' on NS as well
* lisp/term/ns-win.el (x-begin-drag): Pass `follow-tooltip'.
* src/nsfns.m (Fx_show_tip): Record last dx and dy.
(syms_of_nsfns): New staticpros.
* src/nsmenu.m ([EmacsTooltip moveTo:]): New method.
* src/nsselect.m (Fns_begin_drag): New parameter
`follow-tooltip'.
* src/nsterm.h (@interface EmacsWindow):
(EmacsTooltip): Update prototypes.
* src/nsterm.m ([EmacsWindow draggedImage:movedTo:]): Move any
tooltip to the right location.
([EmacsWindow beginDrag:forPasteboard...]): New parameter
`followTooltip'.
Po Lu [Thu, 9 Jun 2022 07:44:51 +0000 (15:44 +0800)]
Note caveats of `follow-tooltip' with system tooltips
* lisp/mouse.el (mouse-drag-and-drop-region): Turn off system
tooltips inside.
* src/xfns.c (Fx_begin_drag): Say that follow-tooltip doesn't
work with system tooltips.
Eli Zaretskii [Thu, 9 Jun 2022 07:28:25 +0000 (10:28 +0300)]
; * doc/lispref/processes.texi (Bindat Types): Fix wording. (Bug#55815)
Richard Hansen [Fri, 3 Jun 2022 01:05:40 +0000 (21:05 -0400)]
bindat: Improve str, strz documentation
* doc/lispref/processes.texi (Bindat Types): Expand the documentation
for the `str' and `strz' types to clarify expectations and explain
edge case behavior.
Po Lu [Thu, 9 Jun 2022 07:20:22 +0000 (07:20 +0000)]
Implement `follow-tooltip' for DND on Haiku
* lisp/term/haiku-win.el (x-begin-drag): Implement
`follow-tooltip'.
* src/haikufns.c (Fx_show_tip): Record last dx and dy.
(syms_of_haikufns): New staticpros.
* src/haikuselect.c (haiku_unwind_drag_message): Clear new flag.
(Fhaiku_drag_message): New argument `follow-tooltip'. Set new
flag.
(haiku_dnd_compute_tip_xy): New function.
(haiku_note_drag_motion): Move tooltip if flag is true.
* src/haikuterm.c (haiku_read_socket): Don't generate help event
if mouse moves onto a tooltip during DND.
* src/haikuterm.h: Update prototypes.