Eli Zaretskii [Sat, 7 May 2022 16:34:53 +0000 (19:34 +0300)]
Fix Bengali composition rules
* lisp/language/indian.el (bengali-composable-pattern): Fix
composition rules for U+09F0 and U+09FE. Patch from
समीर सिंह Sameer Singh <lumarzeli30@gmail.com>. (Bug#55303)
Stefan Monnier [Sat, 7 May 2022 14:21:26 +0000 (10:21 -0400)]
(dabbrev-completion): Fix bug#45768
Make `dabbrev-completion` go through `completion-at-point` so that
it interacts correctly with Icomplete. Export a new
`completion-capf` function while we're at it, since it can be useful
elsewhere.
* lisp/dabbrev.el (dabbrev-capf): New function,
extracted from `dabbrev-completion`.
(dabbrev-completion): Use it.
* lisp/language/indian.el ("Kaithi"): New language environment.
Add composition rules for Kaithi. Add sample text and input
method.
* lisp/international/fontset.el (script-representative-chars)
(setup-default-fontset): Support Kaithi.
* lisp/leim/quail/indian.el ("kaithi"): New input method.
* etc/HELLO: Add a Kaithi greeting.
* etc/NEWS: Announce the new language environment and its
input method.
* lisp/progmodes/python.el (inferior-python-mode): Use
scroll-convervatively instead of trying to do this with a comint
filter (which produces flickering) (bug#31115).
* doc/emacs/abbrevs.texi (Dynamic Abbrevs): Document it.
* lisp/dabbrev.el (dabbrev-ignored-buffer-names)
(dabbrev-ignored-buffer-regexps): Link to it.
(dabbrev-ignored-buffer-modes): New user option (bug#19392).
(dabbrev--filter-buffer-modes): New function.
(dabbrev--select-buffers, dabbrev--make-friend-buffer-list): Use it.
* doc/lispref/help.texi (Keys in Documentation): Document it.
lisp/help-mode.el (help-make-xrefs): Implement a new \+ syntax to
inhibit buttonification.
Po Lu [Sat, 7 May 2022 01:34:35 +0000 (09:34 +0800)]
Fix freezes with some oddball menus
* src/xmenu.c (x_activate_menubar): Clear flag if dispatching
the event failed.
* src/xterm.c (handle_one_xevent): Check for sensitive
CascadeButton instead of row column type.
Eric Abrahamsen [Fri, 6 May 2022 17:14:08 +0000 (10:14 -0700)]
Fix handling of IMAP search strings
* lisp/gnus/gnus-search.el (gnus-search-imap-handle-string): This was
a misunderstanding of what `multibyte-string-p' means. The check was
actually supposed to be whether the string was non-ascii or not.
* doc/emacs/maintaining.texi (VC Change Log): Remove the entries
for commands now removed from most VCs.
* lisp/vc/log-view.el (log-view-mode-menu): Disable menu entries
(bug#14531).
Eric Abrahamsen [Fri, 6 May 2022 16:37:07 +0000 (09:37 -0700)]
Don't force Gnus cache usage in nnvirtual
* lisp/gnus/nnvirtual.el (nnvirtual-retrieve-headers): We're not sure
why this was happening, but it shouldn't be necessary. Simply calling
`gnus-retrieve-headers' directly will use the cache if the user has
configured it.
Move buffer-local-set-state to subr because it's used at runtime
* lisp/subr.el (buffer-local-set-state)
(buffer-local-set-state--get, buffer-local-restore-state): Moved
from easy-mmode.el because they have to be available run-time.
Remove the P/N/M-p/M-n bindings from the general log-view map
* lisp/vc/log-view.el (log-view-mode-map): Remove the P/N/M-p/M-n
bindings (that are only usable in some VCs).
* lisp/vc/vc-sccs.el (vc-sccs-log-view-mode):
* lisp/vc/vc-rcs.el (vc-rcs-log-view-mode):
* lisp/vc/vc-cvs.el (vc-cvs-log-view-mode): New modes that bind
the P/N/M-p/M-n commands (bug#14531).
* lisp/emacs-lisp/easy-mmode.el (buffer-local-set-state--get)
(buffer-local-restore-state): Autoload. Perhaps it would be
better to move these functions to subr.el or something...
Po Lu [Fri, 6 May 2022 03:01:39 +0000 (11:01 +0800)]
Fix menu dismissal problems on Xt builds with XI2
* src/xmenu.c (prepare_for_entry_into_toolkit_menu)
(leave_toolkit_menu): New functions.
(create_and_show_popup_menu): Replace some of the grab logic
with resetting the XI event mask instead.
* lisp/emacs-lisp/crm.el: Set completion-list-insert-choice-function.
* lisp/emacs-lisp/crm.el (completing-read-multiple): Set buffer-local
completion-list-insert-choice-function that handles string values of args.
https://lists.gnu.org/archive/html/emacs-devel/2022-05/msg00017.html
Paul Eggert [Thu, 5 May 2022 15:56:19 +0000 (08:56 -0700)]
timestamp doc minor improvements
* doc/lispref/os.texi (Time of Day, Time Conversion)
(Time Calculations): Fix some confusion about decoded times,
timestamps, and time values. Exclude floating-point infinities
and NaNs from timestamps, as the code doesn’t always follow
IEEE-754 rules for them and whatever the code does, doesn’t matter
for timestamps anyway.
* doc/emacs/misc.texi (Interactive Shell): Document OSC directory
tracking more.
* lisp/shell.el (shell-dirtrack-mode): Link to the OSC directory
tracking function.
Po Lu [Thu, 5 May 2022 09:46:05 +0000 (09:46 +0000)]
Speed up opening fonts on Haiku
* src/font.h (font_property_index): Note that some font drivers
use the extra data in a font entity to store driver-specific
information.
* src/haiku_font_support.cc (BFont_find): Set font indices.
(be_open_font_at_index): New function.
(BFont_open_pattern): Clean up coding style.
* src/haiku_support.h (enum haiku_font_specification)
(struct haiku_font_pattern): New fields and specifications for
indices.
* src/haikufont.c (haikufont_pattern_to_entity, haikufont_open):
Use indices to open fonts if available in the extra data.
Po Lu [Thu, 5 May 2022 07:55:33 +0000 (15:55 +0800)]
Improve appearance of macOS font panel buttons
* src/nsterm.m (ns_create_font_panel_buttons):
([EmacsView noteUserCancelledSelection]): New functions.
([EmacsView showFontPanel]): Use those buttons instead.
Michael Albinus [Thu, 5 May 2022 07:54:31 +0000 (09:54 +0200)]
Add Tramp test
* test/lisp/net/tramp-tests.el (tar-mode): Require.
(tramp-test10-write-region-other-file-name-handler): New test.
(tramp-test31-interrupt-process, tramp-test31-signal-process):
Tag them :unstable unconditionally.
* test/lisp/net/tramp-resources/foo.tar.gz: New resource file.
Po Lu [Thu, 5 May 2022 04:58:47 +0000 (04:58 +0000)]
Take size into account when previewing fonts on Haiku
* src/haiku_support.cc (MessageReceived): Decode size sent and
handle `UPDATE_PREVIEW_DIALOG' message.
(UpdatePreview): Add current size.
(EmacsFontSelectionDialog): Assign correct modification messages
to the size entry.
Po Lu [Thu, 5 May 2022 03:10:30 +0000 (03:10 +0000)]
Allow displaying font preview on Haiku
* src/haiku_support.cc (class EmacsFontPreviewDialog)
(class DualLayoutView): New classes.
(class EmacsFontSelectionDialog): Add field for preview,
checkbox and layout view.
(MessageReceived): Handle new font preview messages.
(EmacsFontSelectionDialog): New constructor.
(FrameResized): Resize the layout view instead.
Eric Abrahamsen [Wed, 4 May 2022 19:54:37 +0000 (12:54 -0700)]
Remove bogus mode check from gnus topic update functions
* lisp/gnus/gnus-topic.el (gnus-topic-update-topics-containing-group):
(gnus-topic-update-topic): These functions originally checked to see
if we were in group mode, but later that check was changed to
'gnus-topic-mode, which never passes because 'gnus-topic-mode isn't a
major mode. Revert to checking for 'gnus-group-mode, and use
`derived-mode-p' while we're at it.
Juri Linkov [Wed, 4 May 2022 19:32:30 +0000 (22:32 +0300)]
* lisp/tab-bar.el: Use pixel-based alignment (bug#55207)
* lisp/tab-bar.el (tab-bar-format-align-right): Use string-pixel-width
on the string with tab-bar face to get the width in pixels to align.
(tab-bar-format-global): Remove string-trim-right to keep padding-right.
Robert Pluim [Wed, 4 May 2022 12:35:59 +0000 (14:35 +0200)]
* doc/emacs/killing.texi: Fix typos
* doc/emacs/killing.texi (Clipboard): Fix wording in description of
'save-interprogram-paste-before-kill'. Ensure the reference to
"Yanking Media" is not split over two lines.
Eli Zaretskii [Wed, 4 May 2022 09:04:53 +0000 (12:04 +0300)]
Fix restoring desktop from TTY-saved sessions
* lisp/frameset.el (frameset-restore): Don't override/fix position
of the restored frames for which we have geometry information
saved by a past GUI session. (Bug#55070)
Po Lu [Wed, 4 May 2022 08:48:24 +0000 (16:48 +0800)]
Turn on XInput 2 support by default
The support doesn't interfere with compatibility, since Emacs
built with XInput 2 support transparently falls back to Core
Input when a suitable version of the input extension is not
available. It also matured much sooner than expected, so
enabling this by default will lead to new features being
available to more users.
* INSTALL:
* configure.ac:
* etc/NEWS: Enable XInput 2 support by default.