]> git.eshelyaron.com Git - emacs.git/log
emacs.git
3 years ago; * doc/lispref/modes.texi (Tabulated List Mode): Fix @xref.
Eli Zaretskii [Tue, 22 Feb 2022 14:32:49 +0000 (16:32 +0200)]
; * doc/lispref/modes.texi (Tabulated List Mode): Fix @xref.

3 years agoImprove ruler-mode dragging
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

3 years agoMake outline-blank-line into defcustom
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

3 years agoDon't signal an error on re-builder startup with rx syntax
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).

3 years ago; * src/xterm.h: Fix typo in recent change.
Po Lu [Tue, 22 Feb 2022 11:17:41 +0000 (19:17 +0800)]
; * src/xterm.h: Fix typo in recent change.

3 years agoFix build on glibc <2.10
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.

3 years agoMerge remote-tracking branch 'origin/master'
Po Lu [Tue, 22 Feb 2022 10:47:49 +0000 (18:47 +0800)]
Merge remote-tracking branch 'origin/master'

3 years agoFix GTK build with GLib <2.44
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.

3 years agoImprove XInput2 version checking
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.

3 years ago* test/lisp/net/tramp-tests.el (tramp--test-check-files): Adapt test.
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.

3 years agoFix duplicate wheel events on XI2
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.

3 years agoAlways send wheel events on XI2
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.

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

3 years agoImprove momentum pixel scrolling on a non-selected window
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.

3 years agoDon't generate multibyte keystroke events if there is no actual text
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.

3 years agoAdd links to the vtable manual
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.

3 years agoRemove the ELPA dependencies from test/Makefile.in
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.

3 years agoDon't pass invalid keyboard modifiers to the event loop on Haiku
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.

3 years ago* lisp/vc/diff-mode.el (diff--font-lock-prettify): Recognize mode changes
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

3 years ago* lisp/vc/diff-mode.el (diff--font-lock-prettify): bug#54034
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.

3 years agoFix 'display-line-numbers-mode' in hide-show buffers
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)

3 years agoImprove vtable :keymap handling
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.

3 years agoSend SIGPIPE to external Eshell processes if their output target closes
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.

3 years agoEnsure 'eshell-output-object' always returns nil for consistency
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.

3 years agoImprove docstrings for 'eshell-exec-lisp' and functions that call it
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.

3 years ago; * lisp/eshell/esh-io.el (grep-null-device): Remove unused defvar.
Jim Porter [Sun, 30 Jan 2022 01:28:23 +0000 (17:28 -0800)]
; * lisp/eshell/esh-io.el (grep-null-device): Remove unused defvar.

3 years agoRevert "Remove PROBLEMS section on double-buffering"
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.

3 years agoClarify Special Isearch slightly
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.)

3 years agoRemove PROBLEMS section on double-buffering
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).

3 years agoMake 'ispell-change-dictionary' completion work better
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.

3 years agoDon't check whether a deleted window is deletable (Bug#54028)
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).

3 years agoMake `next-buffer' order reflect command line file order
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).

3 years agoA friendlier error message from image-mode in an empty buffer
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)

3 years agoTry to fix bug#54051
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.

3 years agoPrevent Haiku display from being opened multiple times
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.

3 years agoPrevent GTK from setting unreasonable size hints with large menu bars
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.

3 years agoImplement left-right separators for dialog boxes on Haiku
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.

3 years agoBump xref.el version.
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.

3 years agoPublic-ize xref-show-xrefs
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).

3 years ago; * src/haikuterm.c (haiku_read_socket): Add extra keyboard modifiers.
Po Lu [Mon, 21 Feb 2022 01:40:01 +0000 (01:40 +0000)]
; * src/haikuterm.c (haiku_read_socket): Add extra keyboard modifiers.

3 years agoRespect `extra-keyboard-modifiers' when handling XI2 keyboard input
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.

3 years agoPublic-ize xref-current-item
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.

3 years agoFurther fixes for eww-open-url on Tramp files
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.

3 years agoUpdate to Org 9.5.2-17-gea6b74
Kyle Meyer [Sun, 20 Feb 2022 19:04:28 +0000 (14:04 -0500)]
Update to Org 9.5.2-17-gea6b74

3 years ago* lisp/mouse.el (context-menu-entry): Remove help-buffer-under-preparation.
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)

3 years agoFix a compilation warning in cus-edit-tests.el
Lars Ingebrigtsen [Sun, 20 Feb 2022 18:17:37 +0000 (19:17 +0100)]
Fix a compilation warning in cus-edit-tests.el

3 years ago(loadhist_initialize): Fix regression test failure
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`.

3 years agoMerge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
Eli Zaretskii [Sun, 20 Feb 2022 16:43:43 +0000 (18:43 +0200)]
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs

3 years ago; Fix compilation warnings
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.

3 years agoAdjust doc-tests-documentation/autoloaded-macro
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.

3 years agoSimplify Minibuffer Edit example
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).

3 years ago; Don't reference obsolete variables in edebug.el
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)

3 years agoAdd instructions on disabling SPC completion to Minibuffer Edit
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).

3 years agoFix compilation warning introduced by previous shr.el change
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.

3 years agoMake eww work better on Tramp HTML
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).

3 years agoMake `g' work in eww buffers displaying Tramp files
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.

3 years agoMake string-pixel-width about 40% faster
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.

3 years ago* doc/misc/tramp.texi (Customizing Methods): Add tramp-nspawn.
Michael Albinus [Sun, 20 Feb 2022 14:24:31 +0000 (15:24 +0100)]
* doc/misc/tramp.texi (Customizing Methods): Add tramp-nspawn.

3 years agoQuote files that start with - in dired
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).

3 years ago* lisp/net/tramp.el (tramp-read-passwd): Adapt for empty user names.
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.

3 years agoFix compilation warning in previous sendmail.el change
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.

3 years agoEnsure that `mail-send' breaks too-long lines
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).

3 years agoAdd more bookmark types
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).

3 years agoFix font panel on NS
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.

3 years ago* src/haikumenu.c (haiku_dialog_show): Set `popup_activated_p'.
Po Lu [Sun, 20 Feb 2022 10:42:41 +0000 (10:42 +0000)]
* src/haikumenu.c (haiku_dialog_show): Set `popup_activated_p'.

Author:

3 years agoHandle GUI input while inside popup dialog on Haiku
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.

3 years agoFix typo in last change
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.

3 years agoIgnore modifier keys early when handling X key press events
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'.

3 years agoFree XI2 devices in x_delete_display instead
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.

3 years agoRevert "; * rcirc.el (rcirc-print): Prefer sleep-for over sit-for"
Philip Kaludercic [Sat, 19 Feb 2022 21:04:44 +0000 (22:04 +0100)]
Revert "; * rcirc.el (rcirc-print): Prefer sleep-for over sit-for"

3 years ago(specpdl_unrewind): Fix corner case
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.

3 years ago; * rcirc.el (rcirc-print): Prefer sleep-for over sit-for
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)

3 years ago(macroexp-warn-and-return): Fix bug#53618
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.

3 years ago(loadhist_initialize): Minor refactoring
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.

3 years ago* lisp/vc/diff-mode.el (diff--font-lock-prettify): Fix mishaps
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`.

3 years agoAdapt Tramp password prompts for sudo-like methods
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.

3 years agoSome vtable.texi copy edits
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.

3 years agoMention vtable accessor functions
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.

3 years agoImprove the vtable documentation on argument types
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.

3 years agoFix a vtable example
Lars Ingebrigtsen [Sat, 19 Feb 2022 13:48:39 +0000 (14:48 +0100)]
Fix a vtable example

* doc/misc/vtable.texi (Introduction): Fix example.

3 years agoImprove vtable documentation
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'.

3 years agoAdd column sorting order indicators to 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.

3 years agoMake string-pixel-width slightly speedier
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.

3 years agoAvoid consing extra string when processing GTK native input
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.

3 years agoFix types of some align.el defcustoms
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).

3 years agoFix :match function for the key widget
Mauro Aranda [Sat, 19 Feb 2022 12:33:05 +0000 (13:33 +0100)]
Fix :match function for the key widget

* lisp/wid-edit.el (key): Calling key-valid-p directly doesn't work,
because the :match function is called with the widget and the value as
arguments (bug#54049).

3 years agoFix some more hangs when parenting child frames around on Haiku
Po Lu [Sat, 19 Feb 2022 12:30:26 +0000 (12:30 +0000)]
Fix some more hangs when parenting child frames around on Haiku

* src/haiku_support.cc (ParentTo):
(FrameMoved): Don't sync when a recursive lock might be able to
be held.

3 years agoAdd a new library to format variable-pitch tables
Lars Ingebrigtsen [Sat, 19 Feb 2022 12:16:19 +0000 (13:16 +0100)]
Add a new library to format variable-pitch tables

* doc/misc/vtable.texi (Index): New manual.

* lisp/emacs-lisp/vtable.el: New library.

3 years agoImprove portability of alpha channel visual detection
Po Lu [Sat, 19 Feb 2022 12:05:18 +0000 (20:05 +0800)]
Improve portability of alpha channel visual detection

* src/xfns.c (select_visual): Look for PictVisuals with an alpha
channel instead of blindly assuming that 32 bit visuals have an
alpha channel.
(Fx_show_tip): Fix crash on some displays where child is None.

* src/xterm.c (x_term_init): Initialize Xrender before
calling select_visual.

3 years agoFix symbols with position appearing in the output of `compile-defun'
Alan Mackenzie [Sat, 19 Feb 2022 10:38:19 +0000 (10:38 +0000)]
Fix symbols with position appearing in the output of `compile-defun'

This happened with the tags of a condition-case.  Also fix the detection of
circular lists while stripping the positions from symbols with position.

* lisp/emacs-lisp/byte-run.el (byte-run--circular-list-p): Remove.
(byte-run--strip-s-p-1): Write a value of t into a hash table for each cons or
vector/record encountered.  (This is to prevent loops with circular
structures.)  This is now done for all arguments, not just those detected as
circular lists.

* lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-defvar)
(byte-compile-form, byte-compile-dynamic-variable-op)
(byte-compile-constant, byte-compile-push-constant): Remove redundant calls to
`bare-symbol'.
(byte-compile-lambda): call `byte-run-strip-symbol-positions' on the arglist.
(byte-compile-out): call `byte-run-strip-symbol-positions' on the operand.
This is the main call to this function in bytecomp.el.

* src/fns.c (hashfn_eq): Strip the position from an argument which is a symbol
with position.
(hash_lookup): No longer strip a position from a symbol with position.
(sxhash_obj): Add handling for symbols with position, substituting their bare
symbols when symbols with position are enabled.

3 years agoFix character compositions on the mode line
Eli Zaretskii [Sat, 19 Feb 2022 09:19:48 +0000 (11:19 +0200)]
Fix character compositions on the mode line

* src/composite.c (composition_compute_stop_pos)
(Ffind_composition_internal): When characters come from a string,
determine whether to compose them from that string's multibyteness,
not from that of the current buffer.  (Bug#53729)

3 years agoDon't ignore events from XI2 slave devices anymore
Po Lu [Sat, 19 Feb 2022 08:21:51 +0000 (16:21 +0800)]
Don't ignore events from XI2 slave devices anymore

All the machinery needed to keep track of events from those
devices is already in place, so that's no longer required.

* src/xterm.c (x_get_scroll_valuator_delta):
(xi_reset_scroll_valuators_for_device_id):
(handle_one_xevent): Don't ignore XI devices that are not master
pointers or keyboards.

3 years agoMerge from origin/emacs-28
Stefan Kangas [Sat, 19 Feb 2022 05:30:51 +0000 (06:30 +0100)]
Merge from origin/emacs-28

57c112cfe5 ; * doc/emacs/files.texi (Comparing Files): Fix a reference.
bdeac2d5af ; Fix a typo in filesets.el's doc string

3 years agoAlways decode GTK input method text as utf-8-unix
Po Lu [Sat, 19 Feb 2022 05:27:03 +0000 (13:27 +0800)]
Always decode GTK input method text as utf-8-unix

* src/gtkutil.c (xg_im_context_commit): Use `utf-8-unix' as
coding system for text.

3 years agoBe less strict about which emulated motion events to ignore
Po Lu [Sat, 19 Feb 2022 03:51:05 +0000 (11:51 +0800)]
Be less strict about which emulated motion events to ignore

* src/xterm.c (handle_one_xevent): Don't test XI2 version before
dropping PointerEmulated motion events.

3 years ago* src/haikufns.c (haiku_create_frame): Error if font wasn't found.
Po Lu [Sat, 19 Feb 2022 02:19:29 +0000 (02:19 +0000)]
* src/haikufns.c (haiku_create_frame): Error if font wasn't found.

3 years agoUtilize new string decoding feature in GTK native input
Po Lu [Sat, 19 Feb 2022 01:18:27 +0000 (09:18 +0800)]
Utilize new string decoding feature in GTK native input

* src/gtkutil.c (xg_im_context_commit): Don't decode strings
manually using g_utf8_to_ucs4 but pass unibyte string as the
keystroke event arg instead.

3 years ago; * doc/emacs/files.texi (Comparing Files): Fix a reference.
Philipp Stephani [Fri, 18 Feb 2022 17:53:49 +0000 (18:53 +0100)]
; * doc/emacs/files.texi (Comparing Files): Fix a reference.

3 years agoHandle multiple directory separators in gnus-search results
Eric Abrahamsen [Fri, 18 Feb 2022 16:37:33 +0000 (08:37 -0800)]
Handle multiple directory separators in gnus-search results

Try to treat the file names more like file names, less like strings
to massage.

* lisp/gnus/gnus-search.el (gnus-search-indexed-parse-output): Use
`expand-file-name' to collapse separators and generally canonicalize
the name. Use `file-name-split' and joining instead of regexp
munging.

3 years ago; Fix a typo in filesets.el's doc string
Eli Zaretskii [Fri, 18 Feb 2022 13:46:57 +0000 (15:46 +0200)]
; Fix a typo in filesets.el's doc string

* lisp/filesets.el (filesets-remove-buffer, filesets-add-buffer):
Doc fixes.  Reported by Иванов Дмитрий <d.ivanov@1001tur.ru>.