Po Lu [Mon, 20 Jun 2022 10:13:51 +0000 (18:13 +0800)]
Ignore pinch events from the wrong window
* src/xterm.c (handle_one_xevent): Use x_window_to_frame to find
frames for pinch events.
David Ponce [Mon, 20 Jun 2022 09:39:56 +0000 (11:39 +0200)]
Make images found through `find-image' be handled like `create-image'
* lisp/image.el (find-image): Use `create-image' so that we get
auto-scaling of images (bug#40978).
Lars Ingebrigtsen [Mon, 20 Jun 2022 09:18:31 +0000 (11:18 +0200)]
Allow using :width/:height as normal with xbm images
* doc/lispref/display.texi (XBM Images): Adjust the documentation.
* src/image.c (enum xbm_keyword_index): Add :data-width and
:data-height.
(xbm_format): Ditto.
(xbm_image_p): Allow passing in :width/:height for display.
(xbm_load): Use :data-width/:data-height.
Richard Hansen [Mon, 20 Jun 2022 07:40:38 +0000 (09:40 +0200)]
whitespace: Redraw if indentation or line length changes
* lisp/whitespace.el (whitespace-color-on): Convert the indentation
matcher from a static regular expression to a function so that changes
to `indent-tabs-mode' and `tab-width' are picked up the next time
`font-lock-flush' runs.
(whitespace--indentation-matcher): The new function matcher.
(whitespace--variable-watcher): New variable watcher that calls
`font-lock-flush' if `whitespace-mode' is enabled for the buffer.
(whitespace--watched-vars): List of variables to watch.
(whitespace-unload-function): Un-watch the variables. (bug#56103).
Po Lu [Mon, 20 Jun 2022 02:16:34 +0000 (02:16 +0000)]
Respect `:antialias' on Haiku
* src/haiku_font_support.cc (BFont_find): Pass through
FSPEC_ANTIALIAS.
(be_set_font_antialiasing): New function.
* src/haiku_support.h (enum haiku_font_specification): New enum
FSPEC_ANTIALIAS.
(struct haiku_font_pattern): New field `use_antialiasing'.
* src/haikufont.c (haikufont_pattern_to_entity)
(haikufont_spec_or_entity_to_pattern, haikufont_open): Respect
antialiasing.
(syms_of_haikufont): New defsym `:indices'.
Po Lu [Mon, 20 Jun 2022 01:17:21 +0000 (09:17 +0800)]
Don't generate superfluous wheel events during drag and drop
* src/xterm.c (handle_one_xevent): Only set user time and don't
create wheel events if DND is in progress.
Po Lu [Mon, 20 Jun 2022 01:16:41 +0000 (09:16 +0800)]
Fix earlier change in xfaces.c for antialiasing in the mode line
* src/xfaces.c (realize_gui_face): Don't put QCantialias in
empty spec if it doesn't exist in the original.
Miha Rihtaršič [Sun, 19 Jun 2022 13:29:59 +0000 (15:29 +0200)]
xref-goto-xref: Set input focus in addition to selecting window
* lisp/progmodes/xref.el (xref--show-location): Set input focus in
addition to selecting displayed window (Bug#55983).
Lars Ingebrigtsen [Mon, 20 Jun 2022 00:27:00 +0000 (02:27 +0200)]
Allow removing quotes around links in *Help* buffers
* doc/emacs/help.texi (Help Mode): Document it.
* lisp/help-mode.el (help-clean-buttons): New user option
(help-xref-button): Use it.
Lars Ingebrigtsen [Mon, 20 Jun 2022 00:12:06 +0000 (02:12 +0200)]
Tweak quoting in help-fns--compiler-macro
* lisp/help-fns.el (help-fns--compiler-macro): Fix quotes in help
text.
Pip Cet [Sun, 19 Jun 2022 23:59:49 +0000 (01:59 +0200)]
Fix bytecompiler infloop compiling infloops
* lisp/emacs-lisp/byte-opt.el (byte-optimize-lapcode): Don't apply
optimization if we can't change anything (bug#46906).
Drew Adams [Sun, 19 Jun 2022 23:49:24 +0000 (01:49 +0200)]
Let `dired-omit-mode' match lines, as well as file names
* lisp/dired-aux.el (dired-do-kill-lines): Adjust to use it.
* lisp/dired-x.el (dired-omit-line-regexp): New user option
(bug#46882).
(dired-omit-mode, dired-omit-expunge): Use the new user option.
Stefan Kangas [Sun, 19 Jun 2022 23:26:05 +0000 (01:26 +0200)]
Update font scaling documentation to not talk about "face height"
* lisp/play/gamegrid.el (gamegrid-init-buffer):
* lisp/mwheel.el (mouse-wheel-scroll-amount):
(mouse-wheel-text-scale):
* lisp/faces.el (set-face-attribute):
* lisp/face-remap.el (text-scale-mode-step):
(text-scale-increase):
(text-scale-adjust):
* lisp/cus-face.el (custom-face-attributes):
* doc/emacs/frames.texi (Mouse Commands):
* doc/emacs/display.texi (Text Scale): Talk about font sized instead
of "face height" (bug#46853).
Lars Ingebrigtsen [Sun, 19 Jun 2022 22:59:14 +0000 (00:59 +0200)]
Allow appending to the kill ring with mouse selections
* lisp/bindings.el (ignore-preserving-kill-region): New function.
(global-map): Use it.
* lisp/mouse.el (mouse-set-region, mouse-drag-region)
(mouse-drag-track): Allow appending to kill ring with mouse
selections (bug#32747).
Michael Albinus [Sun, 19 Jun 2022 19:07:29 +0000 (21:07 +0200)]
Fix last change in tramp-adb-handle-make-process
* lisp/net/tramp-adb.el (tramp-adb-handle-make-process):
Fix process buffer management.
Stefan Kangas [Sun, 19 Jun 2022 14:35:08 +0000 (16:35 +0200)]
Fix starting eshell with missing/invalid modules defined
* lisp/eshell/esh-mode.el (eshell-mode): Warn instead of failing to
start when 'eshell-modules-list' has invalid entries. (Bug#54976)
Lars Ingebrigtsen [Sun, 19 Jun 2022 14:21:14 +0000 (16:21 +0200)]
Make describe-repeat-maps fontify key bindings
* lisp/repeat.el (describe-repeat-maps): Fontify key bindings as
key bindings.
Po Lu [Sun, 19 Jun 2022 13:57:11 +0000 (21:57 +0800)]
More conservative fix for bug#37473
* src/xfaces.c (realize_gui_face): Add more conservative fix,
since the last change makes C-x C-+ lead to weight weirdness on
my machine.
Lars Ingebrigtsen [Sun, 19 Jun 2022 13:47:45 +0000 (15:47 +0200)]
Make M-S-x output better in mode that have bindings for `undefined'
* lisp/simple.el (command-completion-using-modes-p): Speed up case
when there's no command modes.
(execute-extended-command-for-buffer): Make M-S-x output better
(bug#46665).
Lars Ingebrigtsen [Sun, 19 Jun 2022 13:31:04 +0000 (15:31 +0200)]
Recognize \' as a quoted quote in MySQL
* lisp/progmodes/sql.el (sql-mode): Recognize \' as a quoted quote
in MySQL (bug#38302).
Lars Ingebrigtsen [Sun, 19 Jun 2022 13:29:21 +0000 (15:29 +0200)]
Don't handle reverseVideo X resource specially
* lisp/term/x-win.el (window-system-initialization): Don't handle
reverseVideo specially (bug#32921).
Sébastien Miquel [Sun, 19 Jun 2022 13:12:44 +0000 (15:12 +0200)]
Small fix in font-lock-extend-region-multiline
* lisp/font-lock.el (font-lock-extend-region-multiline): Do not
extend the region if `font-lock-multiline' starts at
`font-lock-end' (bug#46558).
Lars Ingebrigtsen [Sun, 19 Jun 2022 13:02:01 +0000 (15:02 +0200)]
Don't lose antialiasing info when hitting `C-x C-+'
* src/xfaces.c (realize_gui_face): Don't lose antialiasing info
when hitting `C-x C-+' (bug#37473).
Po Lu [Sun, 19 Jun 2022 12:56:46 +0000 (20:56 +0800)]
Fix setting last user time during drag-and-drop
* src/xterm.c (handle_one_xevent): Set the last user time if a
button press happens during drag and drop. Mysterious problems
were other seen with sending selections to a clipboard
immediately afterwards on Irix 6.5.
Stefan Kangas [Sun, 19 Jun 2022 11:16:19 +0000 (13:16 +0200)]
Add rudimentary font-locking to edmacro-mode
* lisp/edmacro.el (edmacro-label): New face.
(edmacro-mode-font-lock-keywords): New variable.
(edit-kbd-macro): Use font-lock in 'edmacro-mode'. Minor
improvement to command substitution.
Stefan Kangas [Sun, 19 Jun 2022 01:36:45 +0000 (03:36 +0200)]
* lisp/obsolete/eieio-compat.el: Add missing Obsolete-since line.
Stefan Kangas [Sun, 19 Jun 2022 01:29:04 +0000 (03:29 +0200)]
Prefer defvar-keymap in kmacro.el
* lisp/kmacro.el (kmacro-keymap, kmacro-step-edit-map): Prefer
defvar-keymap.
Lars Ingebrigtsen [Sun, 19 Jun 2022 12:25:37 +0000 (14:25 +0200)]
Fix edebug parsing of .,
* lisp/emacs-lisp/edebug.el (edebug-next-token-class): Parse .,
correctly (bug#37653).
Michael Heerdegen [Tue, 14 Jun 2022 13:09:31 +0000 (15:09 +0200)]
Tune when to show "Quick Help" in Ediff mode-line
* lisp/vc/ediff-wind.el (ediff-refresh-mode-lines): Decide whether to
display "Quick Help" in the mode-line based on the value of
`ediff-use-long-help-message' instead of checking
`ediff-window-setup-function' (Bug#12840).
Lars Ingebrigtsen [Sun, 19 Jun 2022 12:17:05 +0000 (14:17 +0200)]
Make checkdoc-defun-info parsing slightly less wrong
* lisp/emacs-lisp/checkdoc.el (checkdoc-defun-info): Disregard
`interactive' in nested parts of the defun (bug#56052).
Lars Ingebrigtsen [Sun, 19 Jun 2022 11:37:10 +0000 (13:37 +0200)]
Add mechanism for gradually phasing in new byte compilation warnings
* lisp/Makefile.in (BYTE_COMPILE_FLAGS): Enable all byte
compilation warnings.
* lisp/emacs-lisp/bytecomp.el (byte-compile-warning-types): Add
docstrings-non-ascii-quotes and document new semantics for `all'
and t.
(byte-compile--emacs-build-warning-types): New constant.
(byte-compile-warning-enabled-p): Implement the new semantics.
(byte-compile-docstring-style-warn): Reinstate the Unicode quote
warning.
Po Lu [Sun, 19 Jun 2022 07:21:46 +0000 (15:21 +0800)]
Ignore emulated mouse clicks during drag-and-drop
* src/xterm.c (handle_one_xevent): Don't set dpyinfo->grab and
last mouse frame for emulated mouse events during a
drag-and-drop operation.
Po Lu [Sun, 19 Jun 2022 05:32:27 +0000 (13:32 +0800)]
Fix crashes when the _EMACS_DRAG_ATOM is the wrong type
* src/xterm.c (xm_get_drag_atom_1): Don't use PropModeAppend if
rc != Success.
Stefan Kangas [Sun, 19 Jun 2022 04:30:29 +0000 (06:30 +0200)]
Merge from origin/emacs-28
422f958030 Fix invalid defcustom :group when :predicate is used
Po Lu [Sun, 19 Jun 2022 04:22:12 +0000 (12:22 +0800)]
Fix XDND from Firefox again
* lisp/x-dnd.el (x-dnd-handle-xdnd): Prevent nil from appearing
in format 32 list.
(x-dnd-handle-motif): Send reply if the user quit out of the
drop handler as well.
Po Lu [Sun, 19 Jun 2022 03:35:12 +0000 (11:35 +0800)]
Cache the Motif drag window to avoid fetching it every time
* src/xterm.c (xm_get_drag_window_1): New function.
(xm_get_drag_window): Cache the window. If it already exists,
just return it.
(xm_setup_dnd_targets): If a BadWindow error occurs, re-create
the Motif drag window.
* src/xterm.h (struct x_display_info): New field
`motif_drag_window'.
Po Lu [Sun, 19 Jun 2022 02:31:33 +0000 (10:31 +0800)]
Fix timestamps recorded in Motif DND top level leave messages
* src/xterm.c (xm_send_top_level_leave_message): Use X_SHRT_MAX
since Motif treats x and y as signed.
(handle_one_xevent): Use correct time for lmsg.timestamp sent in
response to entering the return-frame.
Stefan Kangas [Sat, 18 Jun 2022 17:56:09 +0000 (19:56 +0200)]
Prefer defvar-keymap in edmacro.el
* lisp/edmacro.el (edmacro-mode-map): Prefer defvar-keymap.
Stefan Kangas [Sat, 18 Jun 2022 14:01:45 +0000 (16:01 +0200)]
Respect no-face argument in literal key substitutions
* lisp/help.el (substitute-command-keys): Respect 'no-face' argument
also in literal key substitutions.
* test/lisp/help-tests.el
(help-tests-substitute-key-bindings/help-key-binding-face): Rename
from help-tests-substitute-key-bindings/face-help-key-binding.
(help-tests-substitute-key-bindings/help-key-binding-no-face): New test.
Stefan Kangas [Sat, 18 Jun 2022 13:54:28 +0000 (15:54 +0200)]
; * etc/NEWS: Move Bookmark items to separate heading.
Basil L. Contovounesios [Sat, 18 Jun 2022 16:52:31 +0000 (19:52 +0300)]
Fix last tty-select-active-regions change
* lisp/frame.el (tty-select-active-regions): Pacify warning about
missing defcustom :group by specifying the same group as
select-active-regions, as well as the frames group.
* src/keyboard.c (command_loop_1, syms_of_keyboard): Rename last
occurrences of xterm-select-active-regions to
tty-select-active-regions (bug#55883).
Alan Mackenzie [Sat, 18 Jun 2022 16:41:57 +0000 (16:41 +0000)]
CC Mode: Add accurate handling for backslash in C line and block comments
This is needed to handle the idiosyncratic meaning of backslash in comments in
the C and C++ standards.
* lisp/progmodes/cc-engine.el: Correct a spelling error.
* lisp/progmodes/cc-mode.el (c-before-change-fix-comment-escapes)
(c-after-change-fix-comment-escapes): New functions.
* lisp/progmodes/cc-langs.el (c-get-state-before-change-functions): Add
c-before-change-fix-comment-escapes to the C/Objc and C++ values.
(c-before-font-lock-functions): Add c-after-change-fix-comment-escapes to the
C/Objc and C++ values.
Eli Zaretskii [Sat, 18 Jun 2022 16:21:21 +0000 (19:21 +0300)]
Fix test failures due to 'xterm-select-active-regions'
* lisp/frame.el (tty-select-active-regions): Rename from
xterm-select-active-regions and move here from xterm.c.
(display-selections-p): Adjust to the above. (Bug#55883)
Basil L. Contovounesios [Sat, 18 Jun 2022 15:26:17 +0000 (18:26 +0300)]
; Pacify byte-compiler warning in keymap-tests.el.
Mattias Engdegård [Sat, 18 Jun 2022 13:15:57 +0000 (15:15 +0200)]
More aggressive bytecode split between top-level forms (bug#55972)
* lisp/emacs-lisp/bytecomp.el (byte-compile-keep-pending):
Allow bytecode split between all kinds of top-level forms, not just
those with chunk handlers, to prevent individual chunks from growing
too large. In particular this helps compilation of
package-quickstart.el.
Lars Ingebrigtsen [Sat, 18 Jun 2022 12:17:45 +0000 (14:17 +0200)]
Fix checkdoc--fix-y-or-n-p query
* lisp/emacs-lisp/checkdoc.el (checkdoc--fix-y-or-n-p): Fix the
query to match what's done (bug#56053).
Richard Hansen [Sat, 18 Jun 2022 12:11:01 +0000 (14:11 +0200)]
Fix invalid defcustom :group when :predicate is used
* lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode): Fix
invalid `:group' argument for the `-modes' defcustom that is created
when `:predicate' is used (bug#56049).
Lars Ingebrigtsen [Sat, 18 Jun 2022 12:06:00 +0000 (14:06 +0200)]
Filter out NS non-key events from `where-is-internal'
* doc/lispref/keymaps.texi (Scanning Keymaps): Document it.
* lisp/keymap.el (make-non-key-event): New function.
* lisp/term/common-win.el (x-setup-function-keys): Mark ns events
as not being keys (bug#55940).
* src/keymap.c (Fwhere_is_internal): Filter out key sequences that
are marked as being non-keys.
Po Lu [Sat, 18 Jun 2022 12:03:18 +0000 (12:03 +0000)]
Remove unnecessary clearing of internal border on Haiku
* src/haikuterm.c (haiku_new_font): Don't clear internal border.
Lars Ingebrigtsen [Sat, 18 Jun 2022 11:26:14 +0000 (13:26 +0200)]
Allow pretty-printing results from `C-x C-e' in edebug
* doc/lispref/edebug.texi (Edebug Eval): Document it.
* lisp/emacs-lisp/edebug.el (edebug-eval-expression): Allow
displaying the full value in a different buffer.
Alan Mackenzie [Sat, 18 Jun 2022 11:23:06 +0000 (11:23 +0000)]
CC Mode: Fix infinite loop in noise macro near end of buffer
This fixes bug #55771. Also fix an inaccuracy in c-defun-name-1 with the same
cause.
* lisp/progmodes/cc-cmds.el (c-defun-name-1)
* lisp/progmodes/cc-engine.el (c-forward-noise-clause): Check the return
value of c-forward-token-2 and act upon it when not zero.
Duncan Findlay [Sat, 11 Jun 2022 01:46:49 +0000 (18:46 -0700)]
Support `select-active-regions' with xterm
This allows Emacs to save the active region to the user's
primary selection on supported terminals. The behavior follows
the existing `select-active-regions' variable and requires
`xterm-select-active-regions' to be non-nil.
* src/keyboard.c (command_loop_1):
* lisp/frame.el (display-selections-p): On text terminals, check
terminal parameter `xterm--set-selections' and variable
`xterm-select-active-regions' when deciding whether to update
primary selection. (bug#55883)
* lisp/term/xterm.el (xterm-select-active-regions): New
defcustom.
Mattias Engdegård [Sat, 18 Jun 2022 09:08:23 +0000 (11:08 +0200)]
Avoid "control-control-KEY" (bug#55738)
Constructs such as ?\C-^@ or ?\C-\C-m literally apply a Control
modifier twice which doesn't make sense at all. What is really meant
is a C0 base character with the Control modifier bit set.
This change is only stylistic in nature.
* lisp/edmacro.el (edmacro-format-keys):
* lisp/keymap.el (key-parse):
* lisp/subr.el (event-modifiers, event-basic-type):
* test/lisp/subr-tests.el (subr-test-kbd):
Use \0 and \r instead of ^@ and \C-m to represent NUL and RET
when combined with other modifiers.
Stefan Kangas [Sat, 18 Jun 2022 09:07:12 +0000 (11:07 +0200)]
Prefer URL commentary header in two files
* lisp/transient.el:
* test/lisp/progmodes/cperl-mode-tests.el: Prefer URL commentary
header.
Eli Zaretskii [Sat, 18 Jun 2022 07:27:19 +0000 (10:27 +0300)]
; * lisp/misc.el (duplicate-line): Doc fix.
Eli Zaretskii [Sat, 18 Jun 2022 07:22:47 +0000 (10:22 +0300)]
; * etc/NEWS: Expand the entry about 'e' in Edebug.
Stefan Kangas [Sat, 18 Jun 2022 07:13:06 +0000 (09:13 +0200)]
Define docstring element for more forms in scheme-mode
* lisp/progmodes/scheme.el: Define docstring element for more
forms. (Bug#33117)
Po Lu [Sat, 18 Jun 2022 07:11:19 +0000 (07:11 +0000)]
Remove unused Haiku code
* src/haiku_select.cc (be_get_clipboard_targets_1)
(be_get_clipboard_targets): Delete functions.
(init_haiku_select): Rename to `be_clipboard_init'. Avoid
duplicate definition with haikuterm.h.
* src/haikuselect.c (init_haiku_select): New function.
* src/haikuselect.h: Update prototypes.
Po Lu [Sat, 18 Jun 2022 06:04:24 +0000 (06:04 +0000)]
Fix type mixup in haikuselect.c
* src/haikuselect.c (haiku_lisp_to_message): Fix variable mixup.
Found with --enable-check-lisp-object-type.
Stefan Kangas [Fri, 17 Jun 2022 23:39:12 +0000 (01:39 +0200)]
; * lisp/doc-view.el (doc-view-bookmark-jump): Fix capitalization.
Stefan Kangas [Sat, 18 Jun 2022 04:31:20 +0000 (06:31 +0200)]
Merge from origin/emacs-28
024bbcb35e Prune the Gnus FAQ of some outdated data
Stefan Kangas [Sat, 18 Jun 2022 04:31:20 +0000 (06:31 +0200)]
; Merge from origin/emacs-28
The following commit was skipped:
c1f4cca7f0 Fix efaq-w32.texi build warning
Stefan Kangas [Sat, 18 Jun 2022 04:31:18 +0000 (06:31 +0200)]
Merge from origin/emacs-28
d671cd57c4 Update cl-struct-sequence-type doc string
017bdb1611 Fix a tagging problem in tramp.texi
e0bac17bbc Mention face quirks after the final line in the lispref ma...
ad74677cf3 Delete reference to obsolete library complete.el
Po Lu [Sat, 18 Jun 2022 03:19:01 +0000 (11:19 +0800)]
Prevent Lisp code or synthetic events from ruining the user time
* src/xterm.c (x_display_set_last_user_time): New parameter
`send_event'. Make sure user time is newer unless !send_event.
(x_set_last_user_time_from_lisp): Remove redundant check.
(XTmouse_position):
(handle_one_xevent): Pass `send_event' whenever appropriate.
Po Lu [Sat, 18 Jun 2022 02:14:24 +0000 (10:14 +0800)]
Fix specifying named action lists in `x-begin-drag'
* src/xfns.c (Fx_begin_drag): Record original value of `targets'
separately. Pass that as the selection targets list instead.
* src/xterm.c (x_dnd_delete_action_list): New function.
(x_dnd_begin_drag_and_drop): Bind it if there are multiple
actions.
Lars Ingebrigtsen [Fri, 17 Jun 2022 22:17:40 +0000 (00:17 +0200)]
Extend 'e' in edebug to pretty-print the values
* doc/lispref/edebug.texi (Edebug Eval): Document it.
* lisp/emacs-lisp/edebug.el (edebug-eval-expression): Allow
displaying the full value in a different buffer.
Lars Ingebrigtsen [Fri, 17 Jun 2022 19:38:30 +0000 (21:38 +0200)]
Prune the Gnus FAQ of some outdated data
* doc/misc/gnus-faq.texi (FAQ 9-2): Remove some outdated advice
(bug#56042).
Stefan Kangas [Fri, 17 Jun 2022 19:30:34 +0000 (21:30 +0200)]
Delete another library obsolete since 24.1
This file was missed in the last commit to delete libraries obsolete
since Emacs 24.3 or older.
* lisp/obsolete/pc-mode.el: Delete file. This library has been
obsolete since Emacs 24.1. (Bug#50999)
Lars Ingebrigtsen [Fri, 17 Jun 2022 19:25:44 +0000 (21:25 +0200)]
Add hacek variations to `C-x 8'
* lisp/international/iso-transl.el (iso-transl-char-map): Add
hacek characters on `C-x 8 ^ ^'.
Stefan Kangas [Fri, 17 Jun 2022 19:14:39 +0000 (21:14 +0200)]
image-dired: Use full name for bookmark handler type
* lisp/image-dired.el (image-dired-bookmark-jump): Use full mode name
for bookmark handler type.
Stefan Kangas [Fri, 17 Jun 2022 19:02:40 +0000 (21:02 +0200)]
Set bookmark handler type for Eshell
* lisp/eshell/esh-mode.el (eshell-bookmark-jump): Set bookmark handler
type.
Stefan Kangas [Fri, 17 Jun 2022 18:08:55 +0000 (20:08 +0200)]
Update bookmark tests for recent change
* test/lisp/bookmark-tests.el (bookmark-tests-set/bookmark-use-annotations-t)
(bookmark-tests-edit-annotation)
(bookmark-test-bmenu-send-edited-annotation)
(bookmark-test-bmenu-send-edited-annotation/restore-focus): Update for
recent change.
Lars Ingebrigtsen [Fri, 17 Jun 2022 17:47:08 +0000 (19:47 +0200)]
Fix copy-from-above-command doc string type
* lisp/misc.el (copy-from-above-command): Fix doc string typo.
Lars Ingebrigtsen [Fri, 17 Jun 2022 17:33:48 +0000 (19:33 +0200)]
Add new command `duplicate-line'
* lisp/misc.el (copy-from-above-command): Mention it.
(duplicate-line): New command (bug#46621).
Mattias Engdegård [Fri, 17 Jun 2022 17:13:33 +0000 (19:13 +0200)]
Slightly faster hash-table-keys and hash-table-values
* lisp/emacs-lisp/subr-x.el (hash-table-keys, hash-table-values):
Omit the reversal of the returned list. It is not ordered anyway.
* test/lisp/emacs-lisp/subr-x-tests.el
(subr-x--hash-table-keys-and-values): New test.
Lars Ingebrigtsen [Fri, 17 Jun 2022 14:59:18 +0000 (16:59 +0200)]
Fix efaq-w32.texi build warning
* doc/misc/efaq-w32.texi (Other useful ports): Fix ordering to
match nodes (or should the nodes be moved instead?).
Do not merge to master.
Lars Ingebrigtsen [Fri, 17 Jun 2022 17:11:16 +0000 (19:11 +0200)]
Regenerate ldefs-boot.el
Lars Ingebrigtsen [Fri, 17 Jun 2022 17:10:44 +0000 (19:10 +0200)]
Don't quote numbers in byte-run--set-*
* lisp/emacs-lisp/byte-run.el (byte-run--set-doc-string)
(byte-run--set-indent): Don't quote numbers (bug#48145).
Michael Albinus [Fri, 17 Jun 2022 16:53:23 +0000 (18:53 +0200)]
Fix handling of "process-*" properties in Tramp
* lisp/net/tramp.el (tramp-local-host-regexp): Add "localhost4".
(with-tramp-saved-connection-property): New defmacro.
* lisp/net/tramp-adb.el (tramp-adb-handle-make-process):
* lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
(tramp-sh-handle-make-process):
* lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory):
(tramp-smb-handle-file-acl, tramp-smb-handle-process-file)
(tramp-smb-handle-set-file-acl)
(tramp-smb-handle-start-file-process): Use it. (Bug#55832)
Lars Ingebrigtsen [Fri, 17 Jun 2022 16:19:02 +0000 (18:19 +0200)]
Fix some declare-after-interactive functions
* lisp/progmodes/opascal.el (opascal-new-comment-line):
* lisp/image-mode.el (image-transform-fit-to-height):
* lisp/help-fns.el (help-fns-edit-variable):
* lisp/gnus/gnus-salt.el (gnus-pick-start-reading):
* lisp/eshell/esh-util.el (eshell-for):
* lisp/ldefs-boot.el (view-return-to-alist-update): Fix warnings
about declare after interactive.
Lars Ingebrigtsen [Fri, 17 Jun 2022 16:12:57 +0000 (18:12 +0200)]
Regenerate ldefs-boot.el
Lars Ingebrigtsen [Fri, 17 Jun 2022 16:12:38 +0000 (18:12 +0200)]
Don't quote the `when' form in obsoletions
* lisp/emacs-lisp/byte-run.el (byte-run--set-obsolete): The `when'
is a string (or nil), so don't quote it (bug#48145).
* lisp/emacs-lisp/loaddefs-gen.el (loaddefs-generate--print-form):
Adjust folding.
Mattias Engdegård [Fri, 17 Jun 2022 15:06:05 +0000 (17:06 +0200)]
Warn about misplaced or duplicated function/macro declarations
Doc strings, `declare` and `interactive` forms must appear in that
order and at most once each. Complain if they don't, instead of
silently ignoring the problem (bug#55905).
* lisp/emacs-lisp/byte-run.el (byte-run--parse-body)
(byte-run--parse-declarations): New.
(defmacro, defun): Check for declaration well-formedness as
described above. Clarify doc strings. Refactor some common code.
* test/lisp/emacs-lisp/bytecomp-resources/fun-attr-warn.el:
* test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-fun-attr-warn):
New test.
Lars Ingebrigtsen [Fri, 17 Jun 2022 14:59:18 +0000 (16:59 +0200)]
Fix efaq-w32.texi build warning
* doc/misc/efaq-w32.texi (Other useful ports): Fix ordering to
match nodes (or should the nodes be moved instead?).
Lars Ingebrigtsen [Fri, 17 Jun 2022 14:50:42 +0000 (16:50 +0200)]
Regenerated ldefs-boot.el
Lars Ingebrigtsen [Fri, 17 Jun 2022 14:48:02 +0000 (16:48 +0200)]
Update cl-struct-sequence-type doc string
* lisp/emacs-lisp/cl-macs.el (cl-struct-sequence-type): Fix doc
string to reflect what it does (bug#46523).
Stefan Kangas [Fri, 17 Jun 2022 14:29:44 +0000 (16:29 +0200)]
Fix some command substitutions
* lisp/net/rcirc.el (rcirc-edit-multiline):
* lisp/textmodes/reftex-index.el (reftex-index-phrases-mode)
(reftex-index-phrase-selection-or-word):
* lisp/textmodes/remember.el (remember): Fix command substitutions.
Stefan Kangas [Fri, 17 Jun 2022 14:06:10 +0000 (16:06 +0200)]
Rename command to bookmark-edit-annotation-confirm
* lisp/bookmark.el (bookmark-edit-annotation-confirm): Rename from
'bookmark-send-edited-annotation' to be more consistent with
'bookmark-edit-annotation-cancel'. Make the old name into an
obsolete function alias.
Stefan Kangas [Fri, 17 Jun 2022 14:03:52 +0000 (16:03 +0200)]
Improve help-enable-variable-value-editing help
* lisp/help-fns.el (help-enable-variable-value-editing): Expand
docstring to better explain what effect it has.
(help-fns-edit-variable): Use command substitution.
Stefan Kangas [Fri, 17 Jun 2022 13:54:29 +0000 (15:54 +0200)]
Fix command substitution in emacsbug.el
* lisp/mail/emacsbug.el: Minor doc fix.
(submit-emacs-patch, report-emacs-bug): Fix command substitution.
Prefer keymap-set to define-key.
Lars Ingebrigtsen [Fri, 17 Jun 2022 14:30:16 +0000 (16:30 +0200)]
Allow editing all symbols in help-fns--editable-variable
* lisp/help-fns.el (help-fns--editable-variable): Allow editing
all symbols (bug#56038).
Lars Ingebrigtsen [Fri, 17 Jun 2022 14:03:48 +0000 (16:03 +0200)]
Improve time parsing documentation
* doc/lispref/os.texi (Time Parsing): Clarify which functions
take/return timestamps and which ones take decoded time structures.
* src/timefns.c (Fdecode_time): Clarify TIME argument (bug#46505).
Lars Ingebrigtsen [Fri, 17 Jun 2022 13:06:15 +0000 (15:06 +0200)]
Make uce.el obsolete (bug#46472)
Lars Ingebrigtsen [Fri, 17 Jun 2022 12:47:16 +0000 (14:47 +0200)]
Fix wdired marking of unsuccessfully renamed files
* lisp/wdired.el (wdired-finish-edit): Don't mark non-renamed
files as renamed (bug#46438).
Dmitry Gutov [Fri, 17 Jun 2022 12:22:29 +0000 (15:22 +0300)]
buffer-match-p: Resolve backward compat concerns
* doc/lispref/buffers.texi (Buffer List): Document 'major-mode'
and 'derived-mode' predicates. Fix some typos.
* lisp/subr.el (buffer-match-p): Use the structure initially
pioneered by project-kill-buffer-conditions as-is (bug#54296).
* lisp/progmodes/project.el (project-kill-buffer-conditions)
(project--buffer-check): Revert the latest change.
(project--buffer-check): Add support for lambda predicates.
Lars Ingebrigtsen [Fri, 17 Jun 2022 12:20:05 +0000 (14:20 +0200)]
Fix a tagging problem in tramp.texi
* doc/misc/tramp.texi (Frequently Asked Questions): Restore an
@end lisp removed by accident.
Po Lu [Fri, 17 Jun 2022 12:19:19 +0000 (20:19 +0800)]
Reduce code duplication when setting user time window
* src/xterm.c (x_make_frame_visible): Use
`x_update_frame_user_time_window'.
Lars Ingebrigtsen [Fri, 17 Jun 2022 12:17:51 +0000 (14:17 +0200)]
Mention face quirks after the final line in the lispref manual
* doc/lispref/display.texi (Face Attributes): Mention the quirks
about point after the final line (bug#56011).
Lars Ingebrigtsen [Fri, 17 Jun 2022 11:48:53 +0000 (13:48 +0200)]
Speed up shr-string-pixel-width
* lisp/net/eww.el (eww-update-header-line-format): Use
string-pixel-width (since we don't care about shr-use-fonts here).
* lisp/net/shr.el (shr-string-pixel-width): Use
`string-pixel-width', which should be faster.
Stefan Kangas [Fri, 17 Jun 2022 11:34:36 +0000 (13:34 +0200)]
Cancel editing bookmark annotations with C-c C-k
* lisp/bookmark.el (bookmark-edit-annotation-cancel): New command.
(bookmark-edit-annotation-mode): Document it.
(bookmark-edit-annotation-mode-map): Bind it to 'C-c C-k'.
(bookmark-default-annotation-text): Announce it when editing
annotations.
(bookmark-edit-annotation--maybe-display-list): New macro.
(bookmark-send-edited-annotation): Use above new macro.