]> git.eshelyaron.com Git - emacs.git/log
emacs.git
2 years ago; Fix documentation of 'completing-read' and friends
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'.

2 years ago; bindat (bindat--length-group): Fix indentation
Richard Hansen [Thu, 2 Jun 2022 20:33:16 +0000 (16:33 -0400)]
; bindat (bindat--length-group): Fix indentation

2 years ago; bindat (strz): Consistent length type check, take two
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.

2 years ago; bindat-tests (str, strz): Refine tests
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.

2 years agobindat (strz): Fix documentation for strz with pre-allocated string
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.

2 years agoLink find-sibling-file to ff-find-related-file in manual
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.

2 years agoFix find-sibling-file doc string
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).

2 years agoMake describe-prefix-bindings say when there are no matches
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.

2 years agoFix issues with loading autoloaded defcustoms while bound
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.

2 years agoDon't put trailing optional nil values into `command-history'
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).

2 years agoFix macOS parallel bootstrap error (bug#55846)
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.

2 years agoMention the REQUIRE-MATCH extension in NEWS
Lars Ingebrigtsen [Fri, 10 Jun 2022 08:21:30 +0000 (10:21 +0200)]
Mention the REQUIRE-MATCH extension in NEWS

2 years agoAllow specifying a wildcard argument to list-directory again
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).

2 years agoAllow REQUIRE-MATCH to be a function
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.

2 years agoFix receiving drops from drop-only Motif programs
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.

2 years agoEliminate extra call to XTranslateCoordinates looking for drop target
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.

2 years agoMerge from origin/emacs-28
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

2 years ago; Merge from origin/emacs-28
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)

2 years agoMerge from origin/emacs-28
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

2 years agoAdd tests for x-dnd Motif value parsing logic
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.

2 years agoDon't rely on TARGETS to read selection targets for Motif DND
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.

2 years agoFix crashes in x_tooltip_window_to_frame on GTK
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.

2 years ago* src/haikuselect.c (haiku_note_drag_motion): Only handle visible tip_f.
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.

2 years agoFix DND tooltip handling with tooltip-reuse-hidden-frame
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.

2 years agoUpdate the 'etags' test suite
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)

2 years ago; * src/window.c (window_body_unit_from_symbol): Fix Lisp EQ.
Eli Zaretskii [Thu, 9 Jun 2022 16:40:25 +0000 (19:40 +0300)]
; * src/window.c (window_body_unit_from_symbol): Fix Lisp EQ.

2 years agoAdjust browse-url test after previous browse-url change
Lars Ingebrigtsen [Thu, 9 Jun 2022 15:13:58 +0000 (17:13 +0200)]
Adjust browse-url test after previous browse-url change

2 years agoMake browse-url-encode-url encode even less
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).

2 years agoImprove `C-h b' output for remapped commands.
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

2 years agoNew setting for mouse-drag-copy-region to not put "" onto kill ring
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.

2 years agoFix recalculation of `icon-title-format' after a frame is iconified
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)

2 years agoMention the #f syntax from cl-prin1
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).

2 years agoFix file name quoting in tramp-smb.el (do not merge)
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.

2 years agoMake `line-number-at-pos' work more like in earlier Emacs versions
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.

2 years agoMerge branch 'master' of git.sv.gnu.org:/srv/git/emacs
Po Lu [Thu, 9 Jun 2022 11:44:31 +0000 (19:44 +0800)]
Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs

2 years agoNever return tooltip frames from ns-begin-drag
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.

2 years ago; Fix typos in Kharoshthi script support
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.

2 years agoHandle monitor attribute updates during drag-and-drop
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.

2 years agoAdd support for the Kharoshthi script
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)

2 years agoSatisfy GCC warnings on the GNUstep build
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.

2 years agoDisable tooltip timeouts for drag-and-drop tooltips
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.

2 years agoMerge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
Eli Zaretskii [Thu, 9 Jun 2022 08:38:08 +0000 (11:38 +0300)]
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs

2 years agoImplement `follow-tooltip' on NS as well
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'.

2 years agoNote caveats of `follow-tooltip' with system tooltips
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.

2 years ago; * doc/lispref/processes.texi (Bindat Types): Fix wording. (Bug#55815)
Eli Zaretskii [Thu, 9 Jun 2022 07:28:25 +0000 (10:28 +0300)]
; * doc/lispref/processes.texi (Bindat Types): Fix wording.  (Bug#55815)

2 years agobindat: Improve str, strz documentation
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.

2 years agoImplement `follow-tooltip' for DND on Haiku
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.

2 years agoAccount for remapped faces in $COLUMNS and $LINES in Eshell
Jim Porter [Fri, 3 Jun 2022 04:12:04 +0000 (21:12 -0700)]
Account for remapped faces in $COLUMNS and $LINES in Eshell

* src/window.h (window_body_unit): New enum...
(window_body_width): ... use it.

* src/window.c (window_body_unit_from_symbol): New function.
(window_body_height, window_body_width): Make PIXELWISE a
'window_body_unit'.
(window-body-height, window-body-width): Accept 'remap' for PIXELWISE.
(window-lines-pixel-dimensions, window_change_record_windows)
(run_window_change_functions, resize_frame_windows, grow_mini_window)
(shrink_mini_window, scroll-left, scroll-right): Update calls to
'window_body_height' and 'window_body_width'.

* src/indent.c (compute_motion): Update calls to 'window_body_width'.

* lisp/eshell/em-ls.el (eshell-ls-find-column-widths)
(eshell-ls-find-column-lengths): Use 'window-body-width'.

* lisp/eshell/esh-var.el (eshell-variable-aliases-list): Use
'window-body-width' and 'window-body-height'.

* test/lisp/eshell/esh-var-tests.el (esh-var-test/window-height)
(esh-var-test/window-width): Rename to...
(esh-var-test/lines-var, esh-var-test/columns-var): ... and update
expected value.

* doc/lispref/windows.texi (Window Sizes): Document new behavior of
PIXELWISE argument for 'window-body-width' and 'window-body-height'.

* etc/NEWS: Announce this change (bug#55696).

2 years agoRevert "* src/comp.c (Fcomp_el_to_eln_filename): Update error message."
Eli Zaretskii [Thu, 9 Jun 2022 06:56:59 +0000 (09:56 +0300)]
Revert "* src/comp.c (Fcomp_el_to_eln_filename): Update error message."

This reverts commit ec987e3e1786d06ffd306e5717b4d7fd118f05ac.
This change was installed on the emacs-28 branch instead.

2 years agoAllow C-x 4 4, C-x 5 5, C-x t t to handle commands that use switch-to-buffer
Juri Linkov [Thu, 9 Jun 2022 06:40:52 +0000 (09:40 +0300)]
Allow C-x 4 4, C-x 5 5, C-x t t to handle commands that use switch-to-buffer

* lisp/window.el (display-buffer-override-next-command):
Temporarily set switch-to-buffer-obey-display-actions to t,
and revert back to the original value afterwards.
This allows other-window-prefix, other-frame-prefix, other-tab-prefix,
windmove-display-in-direction to override the default behavior of
commands that use switch-to-buffer.
https://lists.gnu.org/archive/html/emacs-devel/2022-06/msg00483.html

2 years ago* src/comp.c (Fcomp_el_to_eln_filename): Update error message.
Jeff Walsh [Thu, 9 Jun 2022 00:02:01 +0000 (10:02 +1000)]
* src/comp.c (Fcomp_el_to_eln_filename): Update error message.

2 years agoAlso show mouse DND tooltip contents during interprogram drag-and-drop
Po Lu [Thu, 9 Jun 2022 05:11:08 +0000 (13:11 +0800)]
Also show mouse DND tooltip contents during interprogram drag-and-drop

* doc/lispref/frames.texi (Drag and Drop): Document new
parameter to `x-begin-drag'.
* lisp/mouse.el (mouse-drag-and-drop-region): Don't hide tooltip
when initiating interprogram drag-and-drop.
* lisp/term/haiku-win.el (x-begin-drag):
* lisp/term/ns-win.el (x-begin-drag): Add stubs for new
parameter.
* src/xfns.c (Fx_begin_drag): New parameter `follow-tooltip'.
(Fx_show_tip, syms_of_xfns): Add records of the last dx and dy
given to `x-show-tip'.
* src/xterm.c (x_clear_dnd_monitors): New function.
(x_dnd_begin_drag_and_drop): Save monitor attributes list if
appropriate.
(x_dnd_compute_tip_xy, x_dnd_update_tooltip_position): New
function.
(x_dnd_update_state, handle_one_xevent): Update tooltip position
during DND mouse movement.
(syms_of_xterm): Update staticpros.
* src/xterm.h: Update prototypes.

2 years agoFix dnd-tests on builds without X
Po Lu [Thu, 9 Jun 2022 02:22:14 +0000 (10:22 +0800)]
Fix dnd-tests on builds without X

* test/lisp/dnd-tests.el (x-get-selection-internal): New
function declaration.

2 years agoIgnore tooltip frames when looking for DND target
Po Lu [Thu, 9 Jun 2022 02:05:54 +0000 (10:05 +0800)]
Ignore tooltip frames when looking for DND target

* src/xterm.c (x_dnd_get_target_window): When not using client
lists, look beneath any tooltip frame.

2 years agoMake use of faster atom intern functions in xselect.c
Po Lu [Thu, 9 Jun 2022 01:52:21 +0000 (09:52 +0800)]
Make use of faster atom intern functions in xselect.c

* src/xselect.c (symbol_to_x_atom):
(x_atom_to_symbol): Use x_get_atom_name and
x_intern_cached_atom.

2 years agoFix error reporting in process-async-https-with-delay
Ken Brown [Wed, 8 Jun 2022 17:09:21 +0000 (13:09 -0400)]
Fix error reporting in process-async-https-with-delay

* test/src/process-tests.el (process-async-https-with-delay): Use
'plist-get' instead of 'assq' in testing for a connection error.
The 'status' variable is a plist, not an alist.  (Bug#55849)

2 years ago* lisp/rect.el: Return correct positions of region-beginning/end (bug#55234)
Juri Linkov [Wed, 8 Jun 2022 17:10:12 +0000 (20:10 +0300)]
* lisp/rect.el: Return correct positions of region-beginning/end (bug#55234)

(rectangle-mark-mode): Add advices for region-beginning and region-end.
(rectangle--region-beginning, rectangle--region-end): New advices.
(rectangle--extract-region): Let-bind rectangle-mark-mode around
region-beginning and region-end to use the original functions.

2 years agoAdd more super and subscript characters to latin input methods
Robert Pluim [Wed, 8 Jun 2022 12:48:27 +0000 (14:48 +0200)]
Add more super and subscript characters to latin input methods

* lisp/leim/quail/latin-post.el ("latin-postfix", "latin-prefix"): Add
mssing super and subscript characters.  (Bug#55722)

2 years agoAdd fractions to latin-post input method
Robert Pluim [Wed, 8 Jun 2022 12:40:03 +0000 (14:40 +0200)]
Add fractions to latin-post input method

* lisp/leim/quail/latin-post.el ("latin-postfix"): Add fractions.

2 years agoAdd more ways to enter trade mark and registered sign
Robert Pluim [Mon, 6 Jun 2022 16:30:01 +0000 (18:30 +0200)]
Add more ways to enter trade mark and registered sign

* lisp/international/iso-transl.el (iso-transl-char-map): Add sequence
for TRADE MARK.
* lisp/leim/quail/latin-post.el ("latin-postfix"): Add REGISTERED SIGN
and TRADE MARK.
* lisp/leim/quail/latin-pre.el ("latin-prefix"): Add TRADE MARK.

2 years agoAllow running some DND tests interactively
Po Lu [Wed, 8 Jun 2022 12:33:42 +0000 (20:33 +0800)]
Allow running some DND tests interactively

* src/xselect.c (x_get_local_selection): Respect new variable.
(syms_of_xselect): New variable
`x-treat-local-requests-remotely'.

* test/lisp/dnd-tests.el (x-begin-drag, gui-set-selection):
Don't redefine these functions under X.
(dnd-tests-verify-selection-data): Use
`x-get-selection-internal' under X.
(dnd-tests-extract-selection-data): New function.
(dnd-tests-begin-text-drag): Update accordingly.
(dnd-tests-begin-file-drag, dnd-tests-begin-drag-files):
Temporarily skip these tests under X.

2 years agoRevert "Give ,@ a prefix syntax in elisp-mode"
Lars Ingebrigtsen [Wed, 8 Jun 2022 12:27:14 +0000 (14:27 +0200)]
Revert "Give ,@ a prefix syntax in elisp-mode"

This reverts commit d003848b5e3ad2dfbe84cc62b99776fdc6734325.

This leads to hangs in edebug-tests.

2 years agoDon't split Eshell expansions by line when using split-subscript operator
Jim Porter [Tue, 7 Jun 2022 02:53:39 +0000 (19:53 -0700)]
Don't split Eshell expansions by line when using split-subscript operator

* lisp/eshell/esh-var.el (eshell-apply-indices): Use
'eshell-convert-to-number' instead of 'eshell-convert'.

* test/lisp/eshell/esh-var-tests.el
(esh-var-test/interp-convert-var-split-indices): Expand test
(bug#55838).

2 years ago* doc/man/emacs.1.in: Add --init-directory.
Nicholas Vollmer [Wed, 8 Jun 2022 12:10:04 +0000 (14:10 +0200)]
* doc/man/emacs.1.in: Add --init-directory.

* doc/man/emacs.1.in: Document --init-directory (bug#55839).

2 years agoSimplify XDND toplevel freeing code
Po Lu [Wed, 8 Jun 2022 12:04:26 +0000 (20:04 +0800)]
Simplify XDND toplevel freeing code

* src/xterm.c (x_free_dnd_toplevels): New function.
(x_dnd_cleanup_drag_and_drop, x_dnd_begin_drag_and_drop): Record
an unwind function to free DND toplevels instead of doing that
manually everywhere.

2 years agoFix last-modified meaning in bookmark.el
Manuel Giraud [Wed, 8 Jun 2022 11:51:41 +0000 (13:51 +0200)]
Fix last-modified meaning in bookmark.el

* lisp/bookmark.el (bookmark-update-last-modified): New function
to update the last-modified field.
(bookmark-send-edited-annotation, bookmark-relocate)
(bookmark-rename): Use `bookmark-update-last-modified' in
annotations editing, relocation and renaming.

2 years agoicomplete-in-buffer doc fix
Lars Ingebrigtsen [Wed, 8 Jun 2022 11:48:48 +0000 (13:48 +0200)]
icomplete-in-buffer doc fix

* lisp/icomplete.el (icomplete-in-buffer): dabbrev now uses
icomplete-in-buffer (bug#45764).

2 years ago* doc/misc/org.org: Remove spurious markup.
Stefan Kangas [Wed, 8 Jun 2022 11:16:32 +0000 (13:16 +0200)]
* doc/misc/org.org: Remove spurious markup.

2 years agoMake Tramp version check more robust
Michael Albinus [Wed, 8 Jun 2022 10:42:10 +0000 (12:42 +0200)]
Make Tramp version check more robust

* lisp/net/trampver.el (tramp-repository-branch)
(tramp-repository-version): Check for "git" executable.

2 years agoFactor out test configuration for remote files
Michael Albinus [Wed, 8 Jun 2022 10:06:56 +0000 (12:06 +0200)]
Factor out test configuration for remote files

* lisp/emacs-lisp/ert-x.el (tramp-methods)
(tramp-default-host-alist): Declare.
(ert-remote-temporary-file-directory): New defconst.

* test/README: Mention dnd-tests.el.

* test/lisp/autorevert-tests.el
(auto-revert-test-remote-temporary-file-directory): Remove.
Replace all uses by `ert-remote-temporary-file-directory'.

* test/lisp/dnd-tests.el (ert-x): Require.
(dnd-tests-temporary-file-directory): Remove.  Replace all uses by
`ert-remote-temporary-file-directory'.

* test/lisp/filenotify-tests.el
(file-notify-test-remote-temporary-file-directory): Remove.
Replace all uses by `ert-remote-temporary-file-directory'.

* test/lisp/shadowfile-tests.el (ert-x): Require.
(shadow-test-remote-temporary-file-directory): Remove.  Replace
all uses by `ert-remote-temporary-file-directory'.

* test/lisp/net/tramp-tests.el: Don't require ert.
(ert-remote-temporary-file-directory): Define if it doesn't exist.
(tramp-test-temporary-file-directory): Remove.  Replace all uses
by `ert-remote-temporary-file-directory'.

2 years agoPreserve doc string in `byte-compile` (bug#55830)
Mattias Engdegård [Wed, 8 Jun 2022 08:03:55 +0000 (10:03 +0200)]
Preserve doc string in `byte-compile` (bug#55830)

* lisp/emacs-lisp/bytecomp.el (byte-compile--reify-function):
Don't transpose doc string and interactive spec, which must come
in this order.
* test/lisp/emacs-lisp/bytecomp-tests.el
(bytecomp-function-attributes): New test.

2 years agoMake responding to selection requests work inside popups
Po Lu [Wed, 8 Jun 2022 07:08:09 +0000 (15:08 +0800)]
Make responding to selection requests work inside popups

* src/xfns.c (Fx_file_dialog):
* src/xmenu.c (x_menu_wait_for_event, create_and_show_popup_menu)
(create_and_show_dialog, x_menu_show): Defer selection requests.
* src/xselect.c (x_get_foreign_selection)
(x_handle_selection_notify): Add some more info to selection
trace.

* src/xterm.c (x_defer_selection_requests): Make non-static.
(x_release_selection_requests_and_flush): New function.
(x_dnd_begin_drag_and_drop): Use DEFER_SELECTIONS instead.
(x_wait_for_cell_change): Fix initial value of rc for pushed
back events.
(handle_one_xevent): Allow GTK to respond to selections in its
windows too.

* src/xterm.h (DEFER_SELECTIONS): New slug of code.

2 years agoFix quitting in one go out of `mouse-drag-and-drop-region'
Po Lu [Wed, 8 Jun 2022 05:03:57 +0000 (13:03 +0800)]
Fix quitting in one go out of `mouse-drag-and-drop-region'

* src/xterm.c (x_dnd_begin_drag_and_drop): Make sure
handle_interrupt is called inside the nested event loop upon a
quit event.

2 years agoFix crash with outdated selection requests
Po Lu [Wed, 8 Jun 2022 02:54:07 +0000 (10:54 +0800)]
Fix crash with outdated selection requests

* src/xselect.c (x_handle_selection_request): Don't store into
stack if it wasn't previously pushed.

2 years agoImprove drag-and-drop tests
Po Lu [Wed, 8 Jun 2022 02:40:20 +0000 (10:40 +0800)]
Improve drag-and-drop tests

* lisp/dnd.el (dnd-begin-file-drag, dnd-begin-drag-files): Fix
type of `x-xdnd-username'.
* lisp/select.el (selection-converter-alist): Fix declaration of
_DT_NETFILE converter.

* test/lisp/dnd-tests.el (dnd-tests-verify-selection-data):
Handle "compound" selection converters.
(dnd-tests-parse-tt-netfile): New function.
(dnd-tests-begin-file-drag, dnd-tests-begin-drag-files): Verify
validity of file selection data.

2 years agoMore fixes to mouse event reporting during drag-and-drop
Po Lu [Wed, 8 Jun 2022 00:49:51 +0000 (08:49 +0800)]
More fixes to mouse event reporting during drag-and-drop

* src/xterm.c (x_dnd_begin_drag_and_drop): Don't reset
dpyinfo->grabbed when quitting.
(handle_one_xevent): Keep track of dpyinfo->grabbed as well
inside the drag-and-drop event loop.

2 years agopcomplete-parse-arguments: Fix last change
Dmitry Gutov [Tue, 7 Jun 2022 22:08:22 +0000 (01:08 +0300)]
pcomplete-parse-arguments: Fix last change

* lisp/pcomplete.el (pcomplete-parse-arguments):
Throw the previous value of 'pcomplete-stub' (a list) rather than
the newly constructed one (bug#50470).

2 years ago* doc/emacs/vc1-xtra.texi (Customizing VC): Remove deprecated Mtn.
Juri Linkov [Tue, 7 Jun 2022 18:47:51 +0000 (21:47 +0300)]
* doc/emacs/vc1-xtra.texi (Customizing VC): Remove deprecated Mtn.

2 years agoGive ,@ a prefix syntax in elisp-mode
Lars Ingebrigtsen [Tue, 7 Jun 2022 18:28:05 +0000 (20:28 +0200)]
Give ,@ a prefix syntax in elisp-mode

* lisp/progmodes/elisp-mode.el (elisp-mode-syntax-propertize):
Give ,@ a prefix syntax so that we can properly identify symbols
that follow it, i.e., ,@foo (bug#44418).

2 years agoDemote extended attribute errors in basic-save-buffer-2
Lars Ingebrigtsen [Tue, 7 Jun 2022 18:03:41 +0000 (20:03 +0200)]
Demote extended attribute errors in basic-save-buffer-2

* lisp/files.el (basic-save-buffer-2): Give demoted errors when
reading extended attributes that fail (bug#43723).

2 years agoRegenerated ldefs-boot.el
Lars Ingebrigtsen [Tue, 7 Jun 2022 16:59:44 +0000 (18:59 +0200)]
Regenerated ldefs-boot.el

This is the first check-in after the loaddefs-gen.el rewrite.

2 years agoRemove Mtn from vc-handled-backends
Lars Ingebrigtsen [Tue, 7 Jun 2022 16:59:04 +0000 (18:59 +0200)]
Remove Mtn from vc-handled-backends

* lisp/vc/vc-hooks.el (vc-handled-backends): Remove the deprecate
vc-mtn backend.

2 years agoFix loaddefs-generate--rubric recorded name
Lars Ingebrigtsen [Tue, 7 Jun 2022 16:51:15 +0000 (18:51 +0200)]
Fix loaddefs-generate--rubric recorded name

* lisp/emacs-lisp/loaddefs-gen.el (loaddefs-generate--rubric): Fix
the name that's recorded in the file -- this is only used by
loaddefs-gen now, I think.

2 years agoMake artist-mode work in zoomed buffers
Lars Ingebrigtsen [Tue, 7 Jun 2022 16:35:00 +0000 (18:35 +0200)]
Make artist-mode work in zoomed buffers

* lisp/textmodes/artist.el (artist-mouse-draw-continously):
(artist-mouse-draw-continously):
(artist-mouse-draw-poly):
(artist-mouse-draw-1point):
(artist-mouse-draw-2points):
(artist-mouse-draw-2points): Work better when the window is zoomed
(bug#46035).

2 years agoAllow posn-col-row to return data on a per-window basis
Lars Ingebrigtsen [Tue, 7 Jun 2022 16:34:20 +0000 (18:34 +0200)]
Allow posn-col-row to return data on a per-window basis

* doc/lispref/commands.texi (Accessing Mouse): Document it.
* lisp/subr.el (posn-col-row): Extend to use window data.

2 years agoAllow hooks to alter the process in prolog-ensure-process
Lars Ingebrigtsen [Tue, 7 Jun 2022 14:38:55 +0000 (16:38 +0200)]
Allow hooks to alter the process in prolog-ensure-process

* lisp/progmodes/prolog.el (prolog-ensure-process): Start the mode
after starting the process, so that the mode hook can talk to the
process (bug#46003).

2 years agofind-func.el: Fix bug#41104
Stefan Monnier [Tue, 7 Jun 2022 14:30:47 +0000 (10:30 -0400)]
find-func.el: Fix bug#41104

* lisp/emacs-lisp/find-func.el (find-function-advised-original): Look
at the actual function definition rather than
`advice--symbol-function` which sometimes returns only the advice.

* test/lisp/emacs-lisp/find-func-tests.el
(find-func-tests--find-library-verbose): Add test.

2 years agoAdd selection stuff to DND tests
Po Lu [Tue, 7 Jun 2022 13:45:17 +0000 (21:45 +0800)]
Add selection stuff to DND tests

* test/lisp/dnd-tests.el (dnd-tests-selection-table): New
defvar.
(gui-set-selection): Actually implement in a way that validates
the local value and stores it for future use.
(dnd-tests-verify-selection-data): New function.
(dnd-tests-begin-text-drag): Add tests for the contents of
various selections.

2 years agoFix debugging with GDB when a breakpoint has multiple locations
Eli Zaretskii [Tue, 7 Jun 2022 13:01:04 +0000 (16:01 +0300)]
Fix debugging with GDB when a breakpoint has multiple locations

* lisp/progmodes/gdb-mi.el (gdb-breakpoints--add-breakpoint-row):
New function, extracted from 'gdb-breakpoints-list-handler-custom'.
Don't print "in <unknown>" for header-rows of breakpoints with
multiple locations that don't have a function name attached.
(gdb-breakpoints-list-handler-custom): Add to the breakpoint table
also any locations in multiple-location breakpoints, which are
supported since GDB 6.8.

2 years agoFix coding style of some Haiku files
Po Lu [Tue, 7 Jun 2022 12:13:10 +0000 (12:13 +0000)]
Fix coding style of some Haiku files

* src/haiku_support.cc: (FrameResized):
(class EmacsView, AfterResize): Fix coding and initializer
style.

* src/haiku_support.h (struct haiku_resize_event): Rename
confusingly named fields.
* src/haikuterm.c (haiku_read_socket): Update accordingly.

2 years agoSimplify mode line for vc-print-root-log
Lars Ingebrigtsen [Tue, 7 Jun 2022 11:23:22 +0000 (13:23 +0200)]
Simplify mode line for vc-print-root-log

* lisp/vc/vc.el (vc-print-root-log): Don't display "from <file>"
(bug#45007).

2 years agoFix more bugs with DND selection handling
Po Lu [Tue, 7 Jun 2022 10:23:52 +0000 (18:23 +0800)]
Fix more bugs with DND selection handling

* src/xterm.c (x_defer_selection_requests)
(x_release_selection_requests): New functions.
(x_dnd_begin_drag_and_drop): Use those functions to defer
selections instead.  Fix error signalled when ownership of
XdndSelection is lost.
(handle_one_xevent): Likewise.

2 years agoClarify highlight-changes-rotate-faces doc string
Lars Ingebrigtsen [Tue, 7 Jun 2022 10:21:53 +0000 (12:21 +0200)]
Clarify highlight-changes-rotate-faces doc string

* lisp/hilit-chg.el (highlight-changes-rotate-faces): Doc string
clarification (bug#44150).

2 years agoRemove mentions of GNOME MediaKeys from dbus documentation examples
Po Lu [Tue, 7 Jun 2022 07:44:05 +0000 (15:44 +0800)]
Remove mentions of GNOME MediaKeys from dbus documentation examples

* doc/misc/dbus.texi (Properties and Annotations):
* lisp/net/dbus.el (dbus-get-all-managed-objects): Remove
mentions of obsolete GNOME APIs from example text.

2 years agoImprove compatibility with some clients of the Motif drop protocol
Po Lu [Tue, 7 Jun 2022 05:49:41 +0000 (13:49 +0800)]
Improve compatibility with some clients of the Motif drop protocol

* lisp/select.el (x-dnd-targets-list): New defvar.
(xselect-convert-to-targets): Convert XdndSelection based on the
DND targets list.
* src/xfns.c (Fx_begin_drag): Pass new argument.
* src/xselect.c (struct x_selection_request): New struct.
(x_push_current_selection_request):
(x_pop_current_selection_request): New functions.
(x_selection_request_lisp_error, x_reply_selection_request)
(x_handle_selection_request, x_convert_selection)
(syms_of_xselect_for_pdumper): Correctly handle recursive
requests for MULTIPLE by maintaining a stack of selection
requests, converted selections, and other data.
* src/xterm.c (x_dnd_begin_drag_and_drop): New argument
`selection_target_list'.  Bind it to the DND targets list.
(syms_of_xterm): New defvar and associated defsym.
* src/xterm.h: Update prototypes.

2 years agoAdd new drag-and-drop test
Po Lu [Tue, 7 Jun 2022 05:07:26 +0000 (13:07 +0800)]
Add new drag-and-drop test

* test/lisp/dnd-tests.el (dnd-tests-get-local-file-uri): New
test.

2 years agoFix leak of event data on GTK+ 2.x
Po Lu [Tue, 7 Jun 2022 04:59:37 +0000 (12:59 +0800)]
Fix leak of event data on GTK+ 2.x

* src/xterm.c (handle_one_xevent): Fix goto XI_OTHER for
valuator motion events generated on scroll bars.

2 years agoUpdate Haiku drag-and-drop code
Po Lu [Tue, 7 Jun 2022 02:44:08 +0000 (02:44 +0000)]
Update Haiku drag-and-drop code

* lisp/term/haiku-win.el (haiku-drag-and-drop): Don't allow
dropping on places other than the text area (it doesn't work).
Also respect mouse-yank-at-point.

2 years agoDon't allow dropping on invalid drop sites
Po Lu [Tue, 7 Jun 2022 02:39:55 +0000 (10:39 +0800)]
Don't allow dropping on invalid drop sites

* lisp/x-dnd.el (x-dnd-drop-data): If dropping on something
other than the text area, don't set point.
(x-dnd-handle-xdnd, x-dnd-handle-motif): Don't pretend dropping
on the mode line is ok.

2 years agoDon't display mouse face during mouse drag-and-drop
Po Lu [Tue, 7 Jun 2022 02:27:03 +0000 (10:27 +0800)]
Don't display mouse face during mouse drag-and-drop

* lisp/mouse.el (mouse-drag-and-drop-region): Don't display
mouse face, since it leads to a lot of flicker.