Po Lu [Wed, 23 Feb 2022 10:11:29 +0000 (18:11 +0800)]
* src/xterm.c (x_term_init): Catch some errors from defective X servers.
Po Lu [Wed, 23 Feb 2022 07:13:23 +0000 (15:13 +0800)]
Improve input extension version checks on GTK 3
* src/xterm.c (x_term_init): If newer versions of XInput 2 don't
work, then look for an older one.
Stefan Kangas [Wed, 23 Feb 2022 05:36:45 +0000 (06:36 +0100)]
Merge from origin/emacs-28
3dfc8bff15 Fix indexing of module functions that return enumeration t...
86c0d9eb5f * doc/misc/transient.texi (Other Options): Fix a @ref. (B...
3b5e29eaa3 tramp.texi texinfo 4.13 compatibility
5edb9572ec Explain "Tramp" spelling in its manual
Po Lu [Wed, 23 Feb 2022 05:13:19 +0000 (13:13 +0800)]
Fix display corruption with background alpha set on unsupported display
* src/xfns.c (x_set_alpha_background): Make opaque if display
doesn't support the required features.
Stefan Monnier [Wed, 23 Feb 2022 03:52:40 +0000 (22:52 -0500)]
(add-hook): Fix regression
* lisp/subr.el (add-hook): When the hook has no local part yet, don't
set `local` to t, so we set the right part of the depth-sym.
(remove-hook): Don't modify the depth alist by side-effect since I'm
not completely sure it's safe.
Po Lu [Wed, 23 Feb 2022 03:40:11 +0000 (11:40 +0800)]
* src/xterm.c: Expand commentary.
Dmitry Gutov [Wed, 23 Feb 2022 01:53:05 +0000 (03:53 +0200)]
Unbreak project switcher when inside *xref* buffer
* lisp/progmodes/xref.el (xref--ensure-default-directory):
New function.
(xref--show-xref-buffer, xref-show-definitions-buffer-at-bottom):
Use it (bug#53626).
Po Lu [Wed, 23 Feb 2022 00:58:06 +0000 (08:58 +0800)]
* src/xterm.c (x_term_init): Don't catch errors too many times.
Po Lu [Wed, 23 Feb 2022 00:56:06 +0000 (08:56 +0800)]
Fix X errors caused by GTK using newer versions of XI2 than Emacs
* src/xterm.c (x_term_init): Handle errors from XIQueryVersion
caused by Emacs requesting versions of XI2 older than 2.2 and
what GTK requested.
Philipp Stephani [Tue, 22 Feb 2022 20:39:32 +0000 (21:39 +0100)]
Fix indexing of module functions that return enumeration types.
Return types that consist of more than one word need to be enclosed in
braces, see Info node `(texinfo) Typed Functions'. Otherwise they are
indexed incorrectly.
* doc/lispref/internals.texi (Module Misc, Module Nonlocal): Enclose
multi-word return types in braces.
Lars Ingebrigtsen [Tue, 22 Feb 2022 14:44:14 +0000 (15:44 +0100)]
Enable "Revert Buffer" if file has different writability
* lisp/menu-bar.el (menu-bar-file-menu): Enable "Revert Buffer" if
the file has different writability than the buffer (bug#17148).
Stefan Monnier [Tue, 22 Feb 2022 15:18:43 +0000 (10:18 -0500)]
(add-hook, remove-hook): Fix leaks (bug#48666)
* lisp/subr.el (add-hook, remove-hook): Rewrite the hook depth
management so we only keep the info relevant to functions present on
the hook.
Eli Zaretskii [Tue, 22 Feb 2022 14:37:22 +0000 (16:37 +0200)]
* doc/misc/transient.texi (Other Options): Fix a @ref. (Bug#54108)
Eli Zaretskii [Tue, 22 Feb 2022 14:32:49 +0000 (16:32 +0200)]
; * doc/lispref/modes.texi (Tabulated List Mode): Fix @xref.
Andrea Rossetti [Tue, 22 Feb 2022 14:22:50 +0000 (15:22 +0100)]
Improve ruler-mode dragging
* lisp/ruler-mode.el (ruler-mode-mouse-drag-any-column)
(ruler-mode-mouse-add-tab-stop, ruler-mode-mouse-del-tab-stop):
Adjust callers.
* lisp/ruler-mode.el (ruler-mode-window-col): Fix dragging when
stepping outside the header line (bug#17788).
Copyright-paperwork-exempt: yes
Glenn Morris [Tue, 22 Feb 2022 14:08:07 +0000 (14:08 +0000)]
tramp.texi texinfo 4.13 compatibility
* doc/misc/tramp.texi (Frequently Asked Questions):
Restore compatibility with Texinfo < 5.
Jeff Norden [Tue, 22 Feb 2022 13:51:47 +0000 (14:51 +0100)]
Make outline-blank-line into defcustom
* lisp/outline.el (outline-blank-line): Make into defcustom
(bug#54095).
Copyright-paperwork-exempt: yes
Michael Albinus [Tue, 22 Feb 2022 13:45:59 +0000 (14:45 +0100)]
Explain "Tramp" spelling in its manual
* doc/misc/tramp.texi (Frequently Asked Questions):
Explain "Tramp" spelling.
Lars Ingebrigtsen [Tue, 22 Feb 2022 13:43:35 +0000 (14:43 +0100)]
Don't signal an error on re-builder startup with rx syntax
* lisp/emacs-lisp/re-builder.el (reb-initialize-buffer): Make
startup with rx syntax not signal an error (bug#54107).
Po Lu [Tue, 22 Feb 2022 11:17:41 +0000 (19:17 +0800)]
; * src/xterm.h: Fix typo in recent change.
Po Lu [Tue, 22 Feb 2022 11:13:01 +0000 (19:13 +0800)]
Fix build on glibc <2.10
* src/alloc.c (Fmalloc_info): Only enable if glibc supports
malloc_info.
(syms_of_alloc): Likewise.
Po Lu [Tue, 22 Feb 2022 10:47:49 +0000 (18:47 +0800)]
Merge remote-tracking branch 'origin/master'
Po Lu [Tue, 22 Feb 2022 10:46:12 +0000 (18:46 +0800)]
Fix GTK build with GLib <2.44
* src/gtkutil.c (struct _EmacsMenuBar, EmacsMenuBar): New
structs.
(emacs_menu_bar_get_type): New function declaration.
* src/gtkutil.c: Remove declaration of EmacsMenuBar class.
Po Lu [Tue, 22 Feb 2022 10:41:28 +0000 (18:41 +0800)]
Improve XInput2 version checking
* configure.ac: Check for various important structures from all
versions of libXi.
* src/xfns.c (setup_xi_event_mask):
* src/xwidget.c (x_draw_xwidget_glyph_string):
* src/xterm.c (x_init_master_valuators, handle_one_xevent)
(x_term_init): Replace XI version checks based on protocol
headers with new constants.
* src/xterm.h (HAVE_XINPUT2_1, HAVE_XINPUT2_2, HAVE_XINPUT2_3)
(HAVE_XINPUT2_4): New definitions.
Michael Albinus [Tue, 22 Feb 2022 07:50:17 +0000 (08:50 +0100)]
* test/lisp/net/tramp-tests.el (tramp--test-check-files): Adapt test.
Po Lu [Tue, 22 Feb 2022 06:10:29 +0000 (14:10 +0800)]
Fix duplicate wheel events on XI2
* src/xterm.c (handle_one_xevent): Don't generate wheel events
on XI_ButtonPress.
Po Lu [Tue, 22 Feb 2022 06:01:31 +0000 (14:01 +0800)]
Always send wheel events on XI2
* src/xterm.c (handle_one_xevent): Send emulated button events
as wheel events when handling XI2 button events.
Stefan Kangas [Tue, 22 Feb 2022 05:30:59 +0000 (06:30 +0100)]
Merge from origin/emacs-28
666e40a109 Fix 'display-line-numbers-mode' in hide-show buffers
68d134cf0f Don't check whether a deleted window is deletable (Bug#54028)
b38223a844 A friendlier error message from image-mode in an empty buffer
b7a651ba37 Update to Org 9.5.2-17-gea6b74
3a8c3f7abd ; Don't reference obsolete variables in edebug.el
Po Lu [Tue, 22 Feb 2022 03:35:27 +0000 (11:35 +0800)]
Improve momentum pixel scrolling on a non-selected window
* lisp/pixel-scroll.el (pixel-scroll-kinetic-state): New
argument `window'.
(pixel-scroll-start-momentum): Don't select the window under
the event when calculating velocity or redisplaying.
Po Lu [Tue, 22 Feb 2022 02:38:53 +0000 (10:38 +0800)]
Don't generate multibyte keystroke events if there is no actual text
* src/xterm.c (handle_one_xevent): Don't generate
MULTIBYTE_CHAR_KEYSTROKE_EVENTs if nbytes is zero.
Lars Ingebrigtsen [Tue, 22 Feb 2022 02:32:52 +0000 (03:32 +0100)]
Add links to the vtable manual
* doc/lispref/modes.texi (Tabulated List Mode): Mention vtables.
* lisp/info-look.el (lambda): Link to vtables.
Lars Ingebrigtsen [Tue, 22 Feb 2022 02:18:13 +0000 (03:18 +0100)]
Remove the ELPA dependencies from test/Makefile.in
* test/Makefile.in: Remove the ELPA dependencies, because it's
pretty confusing when trying to debug things.
* test/README (SELECTOR): Remove mention of the now-removed
GNU_ELPA_DIRECTORY variable.
* test/lisp/net/ntlm-tests.el (push): Add the ELPA dependencies
here, which keeps it contained to one test file. This also fixes
bug#53586, since the obsoletion of `body' came from web-server.el.
Po Lu [Tue, 22 Feb 2022 01:33:56 +0000 (01:33 +0000)]
Don't pass invalid keyboard modifiers to the event loop on Haiku
* src/haikuterm.c (haiku_read_socket): Ensure validity of extra
keyboard modifiers.
Stefan Monnier [Mon, 21 Feb 2022 23:53:05 +0000 (18:53 -0500)]
* lisp/vc/diff-mode.el (diff--font-lock-prettify): Recognize mode changes
Stefan Monnier [Mon, 21 Feb 2022 22:22:38 +0000 (17:22 -0500)]
* lisp/vc/diff-mode.el (diff--font-lock-prettify): bug#54034
Handle Git's output when deleting and creating empty files, as well as
when the diff is not shown because the file is considered as binary.
Eli Zaretskii [Mon, 21 Feb 2022 20:12:57 +0000 (22:12 +0200)]
Fix 'display-line-numbers-mode' in hide-show buffers
* src/xdisp.c (redisplay_internal): Disable redisplay
optimizations that consider just the current line, when
'display-line-numbers-mode' is turned on in the buffer.
(Bug#54091)
Lars Ingebrigtsen [Mon, 21 Feb 2022 18:19:55 +0000 (19:19 +0100)]
Improve vtable :keymap handling
* lisp/emacs-lisp/vtable.el (vtable-map, vtable--make-keymap):
Don't alter keymaps passed in, and respect parent keymaps.
Jim Porter [Wed, 2 Feb 2022 03:16:00 +0000 (19:16 -0800)]
Send SIGPIPE to external Eshell processes if their output target closes
* lisp/eshell/esh-io.el (eshell-pipe-broken): New error.
(eshell-output-object-to-target): Signal 'eshell-pipe-broken' if the
target is an exited/signaled process.
* lisp/eshell/esh-proc.el (eshell-insertion-filter): Handle
'eshell-pipe-broken'.
* test/lisp/eshell/esh-proc-tests.el: New test.
Jim Porter [Thu, 20 Jan 2022 05:57:38 +0000 (21:57 -0800)]
Ensure 'eshell-output-object' always returns nil for consistency
This prevents functions like 'eshell-print' from writing doubled
output when run in Eshell. Previously, the result would be:
~ $ eshell-print hi
hihi
* lisp/eshell/esh-io.el (eshell-output-object): Always return nil.
Jim Porter [Fri, 14 Jan 2022 02:58:50 +0000 (18:58 -0800)]
Improve docstrings for 'eshell-exec-lisp' and functions that call it
* lisp/eshell/esh-cmd.el (eshell-exec-lisp, eshell-apply*)
(eshell-funcall*, eshell-eval*, eshell-apply, eshell-eval)
(eshell-funcall, eshell-applyn, eshell-funcalln, eshell-evaln):
Improve docstrings.
Jim Porter [Sun, 30 Jan 2022 01:28:23 +0000 (17:28 -0800)]
; * lisp/eshell/esh-io.el (grep-null-device): Remove unused defvar.
Eli Zaretskii [Mon, 21 Feb 2022 17:01:14 +0000 (19:01 +0200)]
Revert "Remove PROBLEMS section on double-buffering"
This reverts commit
366b2bc757d011f96693bd219877c5aa42fa3359.
We cannot be sure this problem is no longer relevant, since
its root cause was in software we don't control, and cannot
tell whether any of the versions where that problem happened
are still out in the wild.
Lars Ingebrigtsen [Mon, 21 Feb 2022 16:16:44 +0000 (17:16 +0100)]
Clarify Special Isearch slightly
* doc/emacs/search.texi (Special Isearch): Clarify slightly
(bug#19924). (All the keys in this node is about what happens
during isearch, but that information is quite a ways away at this
point, so it doesn't hurt to repeat that info.)
Lars Ingebrigtsen [Mon, 21 Feb 2022 16:04:01 +0000 (17:04 +0100)]
Remove PROBLEMS section on double-buffering
* etc/PROBLEMS: Remove section on problems with double-buffering,
as apparently it's now no longer an issue (bug#30088).
Lars Ingebrigtsen [Mon, 21 Feb 2022 16:01:13 +0000 (17:01 +0100)]
Make 'ispell-change-dictionary' completion work better
* lisp/textmodes/ispell.el (ispell--aspell-found-dictionaries):
New variable (bug#24050).
(ispell-find-aspell-dictionaries): Save the list of actually
identified dictionary.
(ispell-valid-dictionary-list): Use it to filter out non-installed
dictionaries.
Martin Rudalics [Mon, 21 Feb 2022 15:46:23 +0000 (16:46 +0100)]
Don't check whether a deleted window is deletable (Bug#54028)
* lisp/window.el (window-state-put): Make sure window is live
before calling 'window-deletable-p' on it (Bug#54028).
Lars Ingebrigtsen [Mon, 21 Feb 2022 14:42:59 +0000 (15:42 +0100)]
Make `next-buffer' order reflect command line file order
* lisp/startup.el (command-line-1): Make `next-buffer' order
reflect the command line file order (bug#21505).
Eli Zaretskii [Mon, 21 Feb 2022 12:51:37 +0000 (14:51 +0200)]
A friendlier error message from image-mode in an empty buffer
* lisp/image-mode.el (image-mode): Handle the case where the empty
buffer doesn't visit a file (Bug#54084)
Po Lu [Mon, 21 Feb 2022 11:40:28 +0000 (19:40 +0800)]
Try to fix bug#54051
* src/xterm.c (handle_one_xevent): Don't give obviously bogus
configure events to Xt.
Po Lu [Mon, 21 Feb 2022 07:42:01 +0000 (07:42 +0000)]
Prevent Haiku display from being opened multiple times
* src/haikufns.c (Fx_open_connection): Return if display
connection already exists.
Po Lu [Mon, 21 Feb 2022 06:29:58 +0000 (14:29 +0800)]
Prevent GTK from setting unreasonable size hints with large menu bars
* src/gtkutil.c (struct _EmacsMenuBar): New struct.
(emacs_menu_bar_init):
(emacs_menu_bar_class_init):
(emacs_menu_bar_get_preferred_width):
(emacs_menu_bar_new): New functions.
(xg_update_menu_item): Use our own menu bar class on GTK 3.
* src/gtkutil.h (EmacsMenuBar): New class.
Po Lu [Mon, 21 Feb 2022 03:27:48 +0000 (03:27 +0000)]
Implement left-right separators for dialog boxes on Haiku
* src/haiku_support.cc (BAlert_set_offset_spacing): New
function.
* src/haiku_support.h: Update prototypes.
* src/haikumenu.c (struct submenu_stack_cell): Remove unused
struct.
(haiku_dialog_show): Use offset spacing if a left-right boundary
was seen and make sure the user can always quit a dialog if no
enabled items exist.
Dmitry Gutov [Mon, 21 Feb 2022 02:15:39 +0000 (04:15 +0200)]
Bump xref.el version.
* lisp/progmodes/xref.el: Bump version to 1.4.0.
Dmitry Gutov [Mon, 21 Feb 2022 01:09:32 +0000 (03:09 +0200)]
Public-ize xref-show-xrefs
* lisp/progmodes/xref.el (xref-show-xrefs):
New function (wrapper for an older, private one, bug#42967).
Po Lu [Mon, 21 Feb 2022 01:40:01 +0000 (01:40 +0000)]
; * src/haikuterm.c (haiku_read_socket): Add extra keyboard modifiers.
Po Lu [Mon, 21 Feb 2022 01:33:54 +0000 (09:33 +0800)]
Respect `extra-keyboard-modifiers' when handling XI2 keyboard input
* src/xterm.c (handle_one_xevent): Add extra modifiers to
XI2 keyboard state.
Dmitry Gutov [Mon, 21 Feb 2022 00:59:50 +0000 (02:59 +0200)]
Public-ize xref-current-item
* lisp/progmodes/xref.el (xref--current-item):
Rename to 'xref-current-item' (bug#53956). Update all references.
Lars Ingebrigtsen [Sun, 20 Feb 2022 21:36:46 +0000 (22:36 +0100)]
Further fixes for eww-open-url on Tramp files
* lisp/url/url-file.el (url-file-asynch-callback): Simplify
slightly (bug#40425).
* lisp/url/url-queue.el (url-queue-start-retrieve): Allow
non-local files here, too.
Kyle Meyer [Sun, 20 Feb 2022 19:04:28 +0000 (14:04 -0500)]
Update to Org 9.5.2-17-gea6b74
Juri Linkov [Sun, 20 Feb 2022 18:56:06 +0000 (20:56 +0200)]
* lisp/mouse.el (context-menu-entry): Remove help-buffer-under-preparation.
(bug#53910)
Lars Ingebrigtsen [Sun, 20 Feb 2022 18:17:37 +0000 (19:17 +0100)]
Fix a compilation warning in cus-edit-tests.el
Stefan Monnier [Sun, 20 Feb 2022 18:16:35 +0000 (13:16 -0500)]
(loadhist_initialize): Fix regression test failure
* src/lread.c (loadhist_initialize): Adjust assertion for the nil case.
(readevalloop): Signal an error for non-string `sourcename`.
Eli Zaretskii [Sun, 20 Feb 2022 16:43:43 +0000 (18:43 +0200)]
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
Eli Zaretskii [Sun, 20 Feb 2022 16:42:33 +0000 (18:42 +0200)]
; Fix compilation warnings
* src/keyboard.c (kbd_buffer_get_event):
* src/xterm.c (handle_one_xevent): Fix compiler warnings.
Lars Ingebrigtsen [Sun, 20 Feb 2022 16:42:21 +0000 (17:42 +0100)]
Adjust doc-tests-documentation/autoloaded-macro
* test/src/doc-tests.el
(doc-tests-documentation/autoloaded-macro): Adjust test -- rx is
loaded in nativecomp Emacsen when the tests are run, apparently.
Lars Ingebrigtsen [Sun, 20 Feb 2022 15:57:21 +0000 (16:57 +0100)]
Simplify Minibuffer Edit example
* doc/emacs/mini.texi (Minibuffer Edit): Say how to disable SPC
and ? completion (bug#36745).
Raffael Stocker [Sun, 20 Feb 2022 15:13:46 +0000 (16:13 +0100)]
; Don't reference obsolete variables in edebug.el
* lisp/emacs-lisp/edebug.el (edebug-mode, edebug-eval-mode):
Don't reference obsolete variables in the doc strings.
(Bug#54070)
Lars Ingebrigtsen [Sun, 20 Feb 2022 15:23:01 +0000 (16:23 +0100)]
Add instructions on disabling SPC completion to Minibuffer Edit
* doc/emacs/mini.texi (Minibuffer Edit): Say how to disable SPC
and ? completion (bug#36745).
Lars Ingebrigtsen [Sun, 20 Feb 2022 15:14:49 +0000 (16:14 +0100)]
Fix compilation warning introduced by previous shr.el change
* lisp/net/shr.el (url-file): Fix compilation warning.
Lars Ingebrigtsen [Sun, 20 Feb 2022 15:08:45 +0000 (16:08 +0100)]
Make eww work better on Tramp HTML
* lisp/net/eww.el (eww-open-file): Use it.
(eww-browse-url): Ditto.
* lisp/net/shr.el (shr-expand-url): Allow loading relative Tramp
files if we're reading from a file:// document.
* lisp/url/url-file.el (url-allow-non-local-files): New user option
(bug#40425).
Lars Ingebrigtsen [Sun, 20 Feb 2022 14:52:10 +0000 (15:52 +0100)]
Make `g' work in eww buffers displaying Tramp files
* lisp/net/eww.el (eww--file-buffer): Refactored out.
(eww-open-file): From here.
(eww-reload): Make reloading work in Tramp files.
Lars Ingebrigtsen [Sun, 20 Feb 2022 14:24:47 +0000 (15:24 +0100)]
Make string-pixel-width about 40% faster
* lisp/emacs-lisp/subr-x.el (string-pixel-width): Speed up.
Michael Albinus [Sun, 20 Feb 2022 14:24:31 +0000 (15:24 +0100)]
* doc/misc/tramp.texi (Customizing Methods): Add tramp-nspawn.
Lars Ingebrigtsen [Sun, 20 Feb 2022 13:49:41 +0000 (14:49 +0100)]
Quote files that start with - in dired
* lisp/dired-aux.el (dired-shell-stuff-it): Add ./ to file names
that start with - (bug#10458).
Michael Albinus [Sun, 20 Feb 2022 13:04:24 +0000 (14:04 +0100)]
* lisp/net/tramp.el (tramp-read-passwd): Adapt for empty user names.
Lars Ingebrigtsen [Sun, 20 Feb 2022 12:45:56 +0000 (13:45 +0100)]
Fix compilation warning in previous sendmail.el change
* lisp/mail/sendmail.el (mm-long-lines-p): Fix compilation warning.
Lars Ingebrigtsen [Sun, 20 Feb 2022 12:41:57 +0000 (13:41 +0100)]
Ensure that `mail-send' breaks too-long lines
* lisp/mail/sendmail.el (mail-send): Ensure that we fold too-long
lines when using `sendmail-user-agent' (bug#53412).
Matthias Meulien [Sun, 20 Feb 2022 12:23:03 +0000 (13:23 +0100)]
Add more bookmark types
* lisp/gnus/gnus-sum.el (gnus-summary-bookmark-jump):
* lisp/man.el (Man-bookmark-jump): Mark the bookmark type
(bug#54030).
Po Lu [Sun, 20 Feb 2022 12:00:28 +0000 (20:00 +0800)]
Fix font panel on NS
* src/nsterm.m ([EmacsView changeFont:]): Don't use emacs_event,
instead placing events directly into the keyboard buffer.
Po Lu [Sun, 20 Feb 2022 10:42:41 +0000 (10:42 +0000)]
* src/haikumenu.c (haiku_dialog_show): Set `popup_activated_p'.
Author:
Po Lu [Sun, 20 Feb 2022 10:38:38 +0000 (10:38 +0000)]
Handle GUI input while inside popup dialog on Haiku
* src/haiku_support.cc (alert_popup_value): New variable.
(be_alert_thread_entry): New function.
(BAlert_go): Complete rewrite that allows async input to be
handled while the popup is active.
* src/haiku_support.h: Update prototypes.
* src/haikumenu.c (haiku_dialog_show, haiku_popup_dialog): Stop
blocking input and pass required callbacks to `BAlert_go'.
* src/haikuterm.c (haiku_term_init): Set interrupt input mode to
t.
Po Lu [Sun, 20 Feb 2022 02:05:46 +0000 (10:05 +0800)]
Fix typo in last change
* src/xterm.c (handle_one_xevent): Use `xi_done_keysym' label
when ignoring modifier keys from XI2 input.
Po Lu [Sun, 20 Feb 2022 02:03:28 +0000 (10:03 +0800)]
Ignore modifier keys early when handling X key press events
* src/xterm.c (handle_one_xevent): Ignore modifier keys earlier
without going through the usual key lookup.
(x_delete_terminal): Free recorded modifier map.
(x_find_modifier_meanings): Record modifier map.
* src/xterm.h (struct x_display_info): New field `modmap'.
Po Lu [Sun, 20 Feb 2022 01:14:00 +0000 (09:14 +0800)]
Free XI2 devices in x_delete_display instead
* src/xterm.c (x_delete_display): Free XI2 device data here
instead, since it doesn't involve contacting the X server any
more.
(x_delete_terminal): Stop freeing XI2 device data.
Philip Kaludercic [Sat, 19 Feb 2022 21:04:44 +0000 (22:04 +0100)]
Revert "; * rcirc.el (rcirc-print): Prefer sleep-for over sit-for"
Stefan Monnier [Sat, 19 Feb 2022 19:55:39 +0000 (14:55 -0500)]
(specpdl_unrewind): Fix corner case
* src/lisp.h (enum specbind_tag): New elem SPECPDL_NOP.
* src/eval.c (specpdl_unrewind): Zap entries that can't be applied any more,
and simplify.
(default_toplevel_binding, lexbound_p, Fbacktrace__locals): Simplify.
(do_one_unbind, mark_specpdl): Handle SPECPDL_NOP.
Philip Kaludercic [Sat, 19 Feb 2022 19:29:29 +0000 (20:29 +0100)]
; * rcirc.el (rcirc-print): Prefer sleep-for over sit-for
Compare
(benchmark-run 100000 (sit-for 0))
;; => (2.
600030102 12 1.
523461324000003)
with
(benchmark-run 100000 (sleep-for 0))
;; (0.
015882939 0 0.0)
Stefan Monnier [Sat, 19 Feb 2022 19:20:02 +0000 (14:20 -0500)]
(macroexp-warn-and-return): Fix bug#53618
* lisp/emacs-lisp/macroexp.el (macroexp-warn-and-return):
Reorder arguments to preserve compatibility with that of Emacs-28.
(macroexp--unfold-lambda, macroexp--expand-all):
* lisp/emacs-lisp/pcase.el (pcase-compile-patterns, pcase--u1):
* lisp/emacs-lisp/gv.el (gv-ref):
* lisp/emacs-lisp/eieio.el (defclass):
* lisp/emacs-lisp/eieio-core.el (eieio-oref, eieio-oref-default)
(eieio-oset-default):
* lisp/emacs-lisp/easy-mmode.el (define-minor-mode):
* lisp/emacs-lisp/cl-macs.el (cl-symbol-macrolet, cl-defstruct):
* lisp/emacs-lisp/cl-generic.el (cl-defmethod):
* lisp/emacs-lisp/byte-run.el (defmacro, defun):
* lisp/emacs-lisp/bindat.el (bindat--type): Adjust accordingly.
Stefan Monnier [Sat, 19 Feb 2022 19:12:14 +0000 (14:12 -0500)]
(loadhist_initialize): Minor refactoring
Consolidate a bit of code.
* src/lread.c (loadhist_initialize): New function.
(Fload, readevalloop): Use it.
Stefan Monnier [Sat, 19 Feb 2022 18:45:04 +0000 (13:45 -0500)]
* lisp/vc/diff-mode.el (diff--font-lock-prettify): Fix mishaps
This reverts the last change so it also applies to non-git diffs again.
Instead, we're now more careful not to mis-recognize file headers as
addition/removal lines.
In addition to that, mark the file header such that it's
re-font-locked all at once, and to still recognize it after
`diff-reverse-direction`.
Michael Albinus [Sat, 19 Feb 2022 17:38:12 +0000 (18:38 +0100)]
Adapt Tramp password prompts for sudo-like methods
* doc/misc/tramp.texi (Password handling): Explain entries for
doas, sudo and sudoedit.
* etc/NEWS (Tramp): Document changed password prompts.
* lisp/net/tramp-sh.el (tramp-methods) <sudo, doas>:
Add `tramp-password-previous-hop'.
(tramp-maybe-open-connection): Modify `previous-hop' if needed.
* lisp/net/tramp-sudoedit.el (tramp-methods) <sudoedit>:
Add `tramp-password-previous-hop'.
(tramp-sudoedit-null-hop): New defconst.
(tramp-sudoedit-send-command): Use it.
* lisp/net/tramp.el (tramp-methods): Adapt docstring.
(tramp-null-hop): New defconst.
(tramp-get-remote-null-device): Use it.
Lars Ingebrigtsen [Sat, 19 Feb 2022 15:58:52 +0000 (16:58 +0100)]
Some vtable.texi copy edits
* doc/misc/vtable.texi (Making A Table): Mention the accessors.
Lars Ingebrigtsen [Sat, 19 Feb 2022 15:25:13 +0000 (16:25 +0100)]
Mention vtable accessor functions
* doc/misc/vtable.texi (Making A Table): Mention the accessors.
Lars Ingebrigtsen [Sat, 19 Feb 2022 15:13:39 +0000 (16:13 +0100)]
Improve the vtable documentation on argument types
* doc/misc/vtable.texi (Making A Table): Say what the argument
types are.
Lars Ingebrigtsen [Sat, 19 Feb 2022 13:48:39 +0000 (14:48 +0100)]
Fix a vtable example
* doc/misc/vtable.texi (Introduction): Fix example.
Eli Zaretskii [Sat, 19 Feb 2022 13:34:01 +0000 (15:34 +0200)]
Improve vtable documentation
* doc/misc/vtable.texi (top-level): Add @syncodeindex directives.
(Introduction): Fix wording and markup. Add indexing.
(Making A Table, Commands, Interface Functions): Fix typos and
markup. Add indexing.
* etc/NEWS: Improve wording of the vtable's NEWS entry.
* doc/misc/Makefile.in (INFO_COMMON): Add 'vtable'.
Lars Ingebrigtsen [Sat, 19 Feb 2022 13:21:10 +0000 (14:21 +0100)]
Add column sorting order indicators to vtable
* lisp/emacs-lisp/vtable.el (vtable--indicator): New function.
(vtable--insert-header-line): Use it to display sorting order
indicators.
Lars Ingebrigtsen [Sat, 19 Feb 2022 13:20:30 +0000 (14:20 +0100)]
Make string-pixel-width slightly speedier
* lisp/emacs-lisp/subr-x.el (string-pixel-width): Speed up
string-pixel-width in the zero-length string case.
Po Lu [Sat, 19 Feb 2022 12:59:12 +0000 (20:59 +0800)]
Avoid consing extra string when processing GTK native input
* src/gtkutil.c (xg_im_context_commit): Use
`decode_string_utf8' to decode input text.
* src/keyboard.c (kbd_buffer_get_event_1): If coding system is
Qt, simply return the string without decoding it.
* src/termhooks.h (enum event_kind): Document meaning of Qt as
coding system in a multibyte keystroke event's string argument.
Mauro Aranda [Sat, 19 Feb 2022 12:34:11 +0000 (13:34 +0100)]
Fix types of some align.el defcustoms
* lisp/align.el (align-region-heuristic)
(align-large-region): Both options can be nil, but the defcustom type
didn't allow nil values.
(align-rules-list-type): The "Run If" and "Valid" attributes
should be functions, but the default value was t. Change it to
#'always (bug#54048).