]> git.eshelyaron.com Git - emacs.git/log
emacs.git
3 years agoTurn expiry on for nnselect groups
Andrew G Cohen [Fri, 4 Mar 2022 08:20:01 +0000 (16:20 +0800)]
Turn expiry on for nnselect groups

Articles in (persistent) groups from the gnus/nnselect backend will
now be run through the expiry process upon exit, like other persistent
groups. Expiry is not on by default for ephemeral nnselect groups but
may be turned on with nnselect-allow-ephemeral-expiry set to t.

* lisp/gnus/nnselect.el (nnselect-request-expire-articles): Make
article expiry work.
(nnselect-allow-ephemeral-expiry): New variable.
* doc/misc/gnus.texi (Creating Search Groups): Document
nnselect-allow-ephemeral-expiry.

3 years ago; Fetch the nnselect-rescan parameter from the topic or group
Andrew G Cohen [Fri, 4 Mar 2022 08:08:32 +0000 (16:08 +0800)]
; Fetch the nnselect-rescan parameter from the topic or group

* lisp/gnus/nnselect.el (nnselect-request-scan-group): Allow the
nnselect-rescan parameter to be set in the topic or the group.

3 years agoCorrectly process legacy XI wheel events on top of scroll bars
Po Lu [Fri, 4 Mar 2022 06:16:15 +0000 (14:16 +0800)]
Correctly process legacy XI wheel events on top of scroll bars

* src/xterm.c (handle_one_xevent): Handle XI button events
generated by scroll wheels on top of scroll bars.

3 years agoPass core scroll wheel events outside the edit widget to Emacs on GTK
Po Lu [Fri, 4 Mar 2022 01:42:33 +0000 (09:42 +0800)]
Pass core scroll wheel events outside the edit widget to Emacs on GTK

* src/xterm.c (x_construct_mouse_click): Translate coordinates
if the event window is not the edit widget window.
(handle_one_xevent): Treat core scroll wheel events specially,
if mouse_or_wdesc_frame did not find the frame.

3 years agoFix display of stretch glyphs when hscrolled on PGTK
Po Lu [Fri, 4 Mar 2022 01:13:08 +0000 (09:13 +0800)]
Fix display of stretch glyphs when hscrolled on PGTK

* pgtkterm.c (x_draw_stretch_glyph_string): Use correct box
dimensions.

3 years ago* src/pgtkterm.c (pgtk_draw_fringe_bitmap): Synchronize logic with X.
Po Lu [Fri, 4 Mar 2022 01:11:36 +0000 (09:11 +0800)]
* src/pgtkterm.c (pgtk_draw_fringe_bitmap): Synchronize logic with X.

3 years ago; * src/nsterm.m (ns_draw_fringe_bitmap): Fix typo in last change.
Po Lu [Fri, 4 Mar 2022 01:08:33 +0000 (09:08 +0800)]
; * src/nsterm.m (ns_draw_fringe_bitmap): Fix typo in last change.

3 years agoSynchronize NS fringe bitmap code with X
Po Lu [Fri, 4 Mar 2022 01:06:20 +0000 (09:06 +0800)]
Synchronize NS fringe bitmap code with X

* nsterm.m (ns_draw_fringe_bitmap): Redefine bitmap if it does
not already exist.

3 years agoSynchronize Haiku fringe bitmap code with X
Po Lu [Fri, 4 Mar 2022 01:01:07 +0000 (01:01 +0000)]
Synchronize Haiku fringe bitmap code with X

* haikuterm.c (haiku_draw_fringe_bitmap):
(haiku_define_fringe_bitmap):
(haiku_destroy_fringe_bitmap): Synchronize logic with X.

3 years agoMerge from origin/emacs-28
Po Lu [Fri, 4 Mar 2022 00:52:18 +0000 (00:52 +0000)]
Merge from origin/emacs-28

29ff903bb0 Avoid crashes when fringe bitmaps are defined in daemon mode
92e2d19fe7 One more fix of the BPA implementation
cd51d9c7ab Fix handling of brackets in BPA

3 years agoTeach Edebug about the special '&whole' syntax for compiler macros.
Philipp Stephani [Thu, 3 Mar 2022 18:56:09 +0000 (19:56 +0100)]
Teach Edebug about the special '&whole' syntax for compiler macros.

* lisp/emacs-lisp/cl-macs.el (cl-define-compiler-macro-list): New
Edebug element specification.
(cl-define-compiler-macro): Use it.

* test/lisp/emacs-lisp/cl-macs-tests.el
(cl-define-compiler-macro/edebug): New unit test.

3 years agoAvoid crashes when fringe bitmaps are defined in daemon mode
Eli Zaretskii [Thu, 3 Mar 2022 18:31:33 +0000 (20:31 +0200)]
Avoid crashes when fringe bitmaps are defined in daemon mode

* src/dispextern.h (gui_define_fringe_bitmap): Add prototype.
(max_used_fringe_bitmap): Add declaration.
* src/fringe.c (gui_define_fringe_bitmap): New function.
* src/w32term.c (w32_draw_fringe_bitmap):
* src/xterm.c (x_draw_fringe_bitmap) [USE_CAIRO]: Call
'gui_define_fringe_bitmap' if the terminal-specific bitmap data is
not available when a fringe bitmap is about to be drawn.  Don't
try to draw a bitmap that is not known to fringe.c.  (Bug#54183)

3 years ago(with-demoted-errors): Fix bug#54225
Stefan Monnier [Thu, 3 Mar 2022 15:12:44 +0000 (10:12 -0500)]
(with-demoted-errors): Fix bug#54225

* lisp/subr.el (with-demoted-errors): Adjust to argument order of
`macroexp-warn-and-return` changed in f262a6af3694b41828ff.

3 years agoFix clobbering of match data in executable-set-magic
Lars Ingebrigtsen [Thu, 3 Mar 2022 14:43:35 +0000 (15:43 +0100)]
Fix clobbering of match data in executable-set-magic

* lisp/progmodes/executable.el (executable-set-magic): Switching
buffers may clobber match data, so save the match data first
(bug#54218).

3 years agoAllow splitting strings in Eshell expansions with "plain" strings
Jim Porter [Wed, 2 Mar 2022 02:53:42 +0000 (18:53 -0800)]
Allow splitting strings in Eshell expansions with "plain" strings

Since '$var[hello 0]' doesn't make sense when 'var' is a string, the
previous restriction was unnecessary.

* lisp/eshell/esh-var.el (Commentary): Update documentation.
(eshell-apply-indices): Allow "plain" strings to split strings.

* test/lisp/eshell/esh-var-test.el
(esh-var-test/interp-var-string-split-indices)
(esh-var-test/quoted-interp-var-string-split-indices): Update tests.

* doc/misc/eshell.texi (Dollars expansion): Update documentation.

3 years agoFix parsing of indices in Eshell expansions
Jim Porter [Wed, 2 Mar 2022 02:36:08 +0000 (18:36 -0800)]
Fix parsing of indices in Eshell expansions

Previously, more-complex index expansions, like '$var[":" 0]' or
'$var[$(expr) 0]' failed to parse correctly.

* lisp/eshell/esh-var.el (Commentary): Clarify indexing and length
expansions.
(eshell-parse-indices): Expand docstring and support parsing inside
double-quotes.
(eshell-eval-indices): New function.
(eshell-parse-variable): Use it.

* test/lisp/eshell/esh-var-tests.el (eshell-test-value): New defvar.
(esh-var-test/interp-var-indices,
(esh-var-test/interp-var-split-indices)
(esh-var-test/interp-var-string-split-indices)
(esh-var-test/interp-var-regexp-split-indices)
(esh-var-test/interp-var-assoc, esh-var-test/interp-var-length-list)
(esh-var-test/interp-var-length-string)
(esh-var-test/interp-var-length-alist)
(esh-var-test/quoted-interp-var-indices)
(esh-var-test/quoted-interp-var-split-indices)
(esh-var-test/quoted-interp-var-string-split-indices)
(esh-var-test/quoted-interp-var-regexp-split-indices)
(esh-var-test/quoted-interp-var-assoc)
(esh-var-test/quoted-interp-var-length-list)
(esh-var-test/quoted-interp-var-length-string)
(esh-var-test/quoted-interp-var-length-alist): New tests.

* doc/misc/eshell.texi (Dollars Expansion): Expand and reword
documentation for indexing and length expansions.

3 years agoFix Eshell dollar interpolation inside of double-quotes
Jim Porter [Mon, 28 Feb 2022 05:04:30 +0000 (21:04 -0800)]
Fix Eshell dollar interpolation inside of double-quotes

For example,

  echo "${echo hi}"

previously tried to run the program named 'echo hi', instead of 'echo'
with the argument 'hi'.

* lisp/eshell/esh-arg.el (eshell-parse-inner-double-quote):
New function.

* lisp/eshell/esh-var.el (eshell-parse-variable-ref): Support parsing
when wrapped in double-quiotes.

* test/lisp/eshell/esh-var-tests.el (esh-var-test/interp-var)
(esh-var-test/interp-quoted-var)
(esh-var-test/interp-quoted-var-concat)
(esh-var-test/quoted-interp-var)
(esh-var-test/quoted-interp-quoted-var)
(esh-var-test/quoted-interp-lisp, esh-var-test/quoted-interp-cmd)
(esh-var-test/quoted-interp-temp-cmd): New tests.

3 years agoAdd a new macro to simplify parsing temporary Eshell command strings
Jim Porter [Sun, 27 Feb 2022 04:55:22 +0000 (20:55 -0800)]
Add a new macro to simplify parsing temporary Eshell command strings

This abstracts out the somewhat-unusual "insert&delete" logic in
'eshell-parse-command' so that it can be used elsewhere, and also
ensures that the deletion occurs even if an an error occurs.

* lisp/eshell/esh-cmd.el (eshell-with-temp-command): New macro.
(eshell-parse-command): Use it.

3 years agoMove Eshell variable interpolation tests to their own file
Jim Porter [Mon, 28 Feb 2022 02:34:22 +0000 (18:34 -0800)]
Move Eshell variable interpolation tests to their own file

* test/lisp/eshell/eshell-tests.el (eshell-test/interp-cmd)
(eshell-test/interp-lisp, eshell-test/interp-temp-cmd)
(eshell-test/interp-concat, eshell-test/interp-concat-lisp)
(eshell-test/interp-concat2, eshell-test/interp-concat-lisp2)
(eshell-test/interp-cmd-external)
(eshell-test/interp-cmd-external-concat, eshell-test/window-height)
(eshell-test/window-width, eshell-test/last-result-var)
(eshell-test/last-result-var2, eshell-test/last-arg-var):
Move from here...

* test/lisp/eshell/esh-var-test.el (esh-var-test/interp-lisp)
(esh-var-test/interp-cmd, esh-var-test/interp-cmd-external)
(esh-var-test/interp-temp-cmd, esh-var-test/interp-concat-lisp)
(esh-var-test/interp-concat-lisp2, esh-var-test/interp-concat-cmd)
(esh-var-test/interp-concat-cmd2)
(esh-var-test/interp-concat-cmd-external, esh-var-test/window-height)
(esh-var-test/window-width, esh-var-test/last-result-var)
(esh-var-test/last-result-var2, esh-var-test/last-arg-var):
... to here.

3 years agoOne more fix of the BPA implementation
Eli Zaretskii [Thu, 3 Mar 2022 13:53:04 +0000 (15:53 +0200)]
One more fix of the BPA implementation

* src/bidi.c (bidi_find_bracket_pairs): Disable BPA optimization
when there are no strong directional characters inside the
bracketed pair.  (Bug#54219)

3 years agoFix handling of brackets in BPA
Eli Zaretskii [Thu, 3 Mar 2022 12:46:20 +0000 (14:46 +0200)]
Fix handling of brackets in BPA

* src/bidi.c (bidi_resolve_brackets): Fix implementation of UBA's
N0 rule when there are no strong directional characters inside the
bracketed pair.  (Bug#54219)

3 years agoMerge from origin/emacs-28
Stefan Kangas [Thu, 3 Mar 2022 05:30:34 +0000 (06:30 +0100)]
Merge from origin/emacs-28

225e0d6047 Correct etc/NEWS entry about bitmapped fonts

# Conflicts:
# etc/NEWS

3 years agoCache the backend value together with the project root
Dmitry Gutov [Thu, 3 Mar 2022 03:23:26 +0000 (05:23 +0200)]
Cache the backend value together with the project root

* lisp/progmodes/project.el (project-try-vc):
Cache the backend value together with the root.
(project-root, project-files, project-ignores):
Update to access the new data structure.

3 years ago* src/xterm.c: Fix commentary on GTK client side windows.
Po Lu [Thu, 3 Mar 2022 03:39:55 +0000 (11:39 +0800)]
* src/xterm.c: Fix commentary on GTK client side windows.

3 years agoFix Motif build without toolkit scroll bars
Po Lu [Thu, 3 Mar 2022 03:16:25 +0000 (11:16 +0800)]
Fix Motif build without toolkit scroll bars

* src/xterm.c: Always include Xm.h on Motif.

3 years ago* lisp/progmodes/xref.el: Bump the version.
Dmitry Gutov [Thu, 3 Mar 2022 02:55:05 +0000 (04:55 +0200)]
* lisp/progmodes/xref.el: Bump the version.

3 years agoDon't calculate any frame for extension events
Po Lu [Thu, 3 Mar 2022 02:49:55 +0000 (10:49 +0800)]
Don't calculate any frame for extension events

* src/xterm.c (handle_one_xevent): If event is not a core event,
don't try to calculate any from event.xany.window.

3 years agoImplement `toolkit_position_hook' on PGTK
Po Lu [Thu, 3 Mar 2022 01:05:00 +0000 (09:05 +0800)]
Implement `toolkit_position_hook' on PGTK

* src/pgtkterm.c (pgtk_toolkit_position): New function.
(pgtk_create_terminal): Set it as the toolkit position hook.

3 years ago; * src/termhooks.h (struct terminal): Fix typo in comment.
Po Lu [Wed, 2 Mar 2022 11:16:53 +0000 (19:16 +0800)]
; * src/termhooks.h (struct terminal): Fix typo in comment.

3 years agoFix menu bar position reporting on Haiku as well
Po Lu [Wed, 2 Mar 2022 11:10:00 +0000 (11:10 +0000)]
Fix menu bar position reporting on Haiku as well

* src/haikuterm.c (haiku_toolkit_position): New function.
(haiku_create_terminal): Register new hook.

3 years agoFix reporting of imaginary key prefixes on toolkit tool and menu bars
Po Lu [Wed, 2 Mar 2022 11:00:21 +0000 (19:00 +0800)]
Fix reporting of imaginary key prefixes on toolkit tool and menu bars

* src/keyboard.c (make_lispy_position): Set imaginary prefix if
the terminal says what widget the position is on top of.
* src/termhooks.h (struct terminal): New field
`toolkit_position_hook'.
* src/xterm.c (x_toolkit_position): New function.
(x_create_terminal): Register hook.

3 years agoCorrect etc/NEWS entry about bitmapped fonts
Po Lu [Wed, 2 Mar 2022 08:22:18 +0000 (09:22 +0100)]
Correct etc/NEWS entry about bitmapped fonts

* etc/NEWS: Don't say that bitmap font issues are due to Pango, that's
not accurate.

3 years agoMerge from origin/emacs-28
Stefan Kangas [Wed, 2 Mar 2022 05:33:19 +0000 (06:33 +0100)]
Merge from origin/emacs-28

9dadcbe429 ; * doc/misc/eshell.texi (Dollars Expansion): Fix markup.
2c3d1b6bf4 Improve/correct documentation about Eshell variable expansion
9e257aecc9 Partially revert b03f74e0f2a578b1580e8b1c368665850ee7f808

3 years ago; Merge from origin/emacs-28
Stefan Kangas [Wed, 2 Mar 2022 05:33:19 +0000 (06:33 +0100)]
; Merge from origin/emacs-28

The following commit was skipped:

b8bc359bbf Backport: Port pre-commit hook to Git 2.35.0

3 years agoFix some bugs with multiple terminals on Haiku
Po Lu [Wed, 2 Mar 2022 05:21:20 +0000 (05:21 +0000)]
Fix some bugs with multiple terminals on Haiku

* src/haikuterm.c (haiku_mouse_position): Only clear
`mouse_moved' for Haiku frames.

3 years agoFix persistent help text on disabled menu items
Po Lu [Wed, 2 Mar 2022 03:12:09 +0000 (11:12 +0800)]
Fix persistent help text on disabled menu items

* oldXMenu/Activate.c (XMenuActivate): Always deactivate help
echo upon leaving a menu item.

3 years ago* src/msdos.c (dos_rawgetc): Handle tab bar clicks correctly.
Po Lu [Wed, 2 Mar 2022 02:07:59 +0000 (10:07 +0800)]
* src/msdos.c (dos_rawgetc): Handle tab bar clicks correctly.

3 years agoDismiss help text when item becomes unactivated on oldXMenu
Po Lu [Wed, 2 Mar 2022 01:46:44 +0000 (09:46 +0800)]
Dismiss help text when item becomes unactivated on oldXMenu

* oldXMenu/Activate.c (XMenuActivate): Dismiss help text when
leaving an item.

3 years agoFix odd scrolling bugs on LessTif
Po Lu [Wed, 2 Mar 2022 01:34:05 +0000 (09:34 +0800)]
Fix odd scrolling bugs on LessTif

* src/xterm.c (handle_one_xevent): Give emulated button events
to Motif.

3 years agoImprove behavior of Motif popup menus on XI2
Po Lu [Wed, 2 Mar 2022 01:01:48 +0000 (09:01 +0800)]
Improve behavior of Motif popup menus on XI2

* src/xmenu.c (create_and_show_popup_menu): Set input focus to
menu window.

3 years agoRevert previous merge-gnulib change
Paul Eggert [Tue, 1 Mar 2022 18:06:27 +0000 (10:06 -0800)]
Revert previous merge-gnulib change

* admin/merge-gnulib: Revert previous stopgap change.
It shouldn’t be needed now that Gnulib has the change
2022-03-01T18:01:59Z!eggert@cs.ucla.edu.

3 years ago; * doc/misc/eshell.texi (Dollars Expansion): Fix markup.
Eli Zaretskii [Tue, 1 Mar 2022 13:08:38 +0000 (15:08 +0200)]
; * doc/misc/eshell.texi (Dollars Expansion): Fix markup.

3 years agoImprove/correct documentation about Eshell variable expansion
Jim Porter [Sun, 27 Feb 2022 21:20:51 +0000 (13:20 -0800)]
Improve/correct documentation about Eshell variable expansion

* lisp/eshell/esh-var.el: Correct documentation comment.
(eshell-parse-variable-ref): Correct docstring.

* doc/misc/eshell.texi (Dollars Expansion): Add documentation for
$"var"/$'var' and $<command> syntaxes.

3 years agoPartially revert b03f74e0f2a578b1580e8b1c368665850ee7f808
Jim Porter [Mon, 28 Feb 2022 17:31:22 +0000 (09:31 -0800)]
Partially revert b03f74e0f2a578b1580e8b1c368665850ee7f808

That commit regressed '$<command>' forms in Eshell, due to a
limitation/bug in how 'eshell-do-eval' works.  This fixes
bug#54190.

* lisp/eshell/esh-var.el (eshell-parse-variable-ref): Quote a lambda.

* test/lisp/eshell/eshell-tests.el (eshell-test/interp-temp-cmd):
New test.

3 years ago; Add a comment in recently installed code
Po Lu [Tue, 1 Mar 2022 12:48:55 +0000 (20:48 +0800)]
; Add a comment in recently installed code

* faces.el (face-spec-recalc): Add a comment describing the
special treatement of the scroll-bar face.

3 years agoAdd PropertyChangeMask to the standard event set
Po Lu [Tue, 1 Mar 2022 12:15:02 +0000 (20:15 +0800)]
Add PropertyChangeMask to the standard event set

* src/xfns.c (x_window): Remove special Motif code.
* src/xterm.h (STANDARD_EVENT_SET): Add PropertyChangeMask.

3 years agoFix crashes and other bugs on LessTif
Po Lu [Tue, 1 Mar 2022 11:15:46 +0000 (19:15 +0800)]
Fix crashes and other bugs on LessTif

* lwlib/lwlib-Xm.c (make_menu_in_widget): XmIsRowColumn is
broken on the latest LessTif release, so avoid that here.
* src/xfns.c (x_window): Add PropertyChangeMask which LessTif
doesn't do itself.

3 years agoFix reporting of wheel events on top of GTK scroll bars
Po Lu [Tue, 1 Mar 2022 10:38:08 +0000 (18:38 +0800)]
Fix reporting of wheel events on top of GTK scroll bars

* src/gtkutil.c (xg_update_scrollbar_pos):
(xg_update_horizontal_scrollbar_pos): Stop ensuring the window
is native.
(xg_event_is_for_scrollbar): New variable `for_valuator'.
All callers changed.
* src/gtkutil.h: Update prototypes.
* src/xterm.c (handle_one_xevent): Drop all valuator change
events destined for scroll bars.

3 years agoBackport: Port pre-commit hook to Git 2.35.0
Paul Eggert [Wed, 23 Feb 2022 19:29:56 +0000 (11:29 -0800)]
Backport: Port pre-commit hook to Git 2.35.0

* build-aux/git-hooks/pre-commit: Use LC_ALL=C grep -E instead of
sane_egrep (removed in Git 2.35.0).

(cherry picked from commit b8a96f055624f86fe965a0d1b7b2495b2db80e63)

3 years ago; * src/xwidget.c: Add missing part of last change.
Po Lu [Tue, 1 Mar 2022 07:49:03 +0000 (15:49 +0800)]
; * src/xwidget.c: Add missing part of last change.

3 years ago* src/xwidget.h: Fix build with XI 2.4.
Po Lu [Tue, 1 Mar 2022 07:45:50 +0000 (15:45 +0800)]
* src/xwidget.h: Fix build with XI 2.4.

3 years agoMake precision scrolling on top of the tool bar work
Po Lu [Tue, 1 Mar 2022 07:38:37 +0000 (15:38 +0800)]
Make precision scrolling on top of the tool bar work

* lisp/pixel-scroll.el (pixel-scroll-precision-mode-map): Bind
some more events.

(pixel-scroll-precision):
(pixel-scroll-start-momentum): If window is a frame, use its
selected window.

3 years agoAvoid duplicate wheel and button events on non-toolkit scroll bars
Po Lu [Tue, 1 Mar 2022 06:59:32 +0000 (14:59 +0800)]
Avoid duplicate wheel and button events on non-toolkit scroll bars

* src/xterm.c (x_scroll_bar_create): Set appropriate input
extension event mask.
(handle_one_xevent): Move some ifdefs around and handle input
extension button events on scroll bars.

3 years agoFix old X menu on builds with XI2
Po Lu [Tue, 1 Mar 2022 06:44:02 +0000 (14:44 +0800)]
Fix old X menu on builds with XI2

* oldXMenu/Activate.c (XMenuActivateSetTranslateFunction): New
function.
(XMenuActivate): Handle generic events.
* oldXMenu/XMenu.h: New prototypes.
(Translate_func): New type.
* src/xmenu.c (x_menu_wait_translate_generic_event): New
function.
(x_menu_show): Set translate function.

3 years agoDisable some code that interferes with menus on Lucid
Po Lu [Tue, 1 Mar 2022 06:06:52 +0000 (14:06 +0800)]
Disable some code that interferes with menus on Lucid

* src/xmenu.c (create_and_show_popup_menu)
(server_timestamp_predicate): Disable timestamp code on builds
using the Lucid menu bar widget.

3 years agoMerge from origin/emacs-28
Stefan Kangas [Tue, 1 Mar 2022 06:05:15 +0000 (07:05 +0100)]
Merge from origin/emacs-28

6dbc3da205 Fix :tag for eol in tab-first-completion

3 years agoFix C-g inside toolkit file dialogs with XI2
Po Lu [Tue, 1 Mar 2022 05:48:36 +0000 (13:48 +0800)]
Fix C-g inside toolkit file dialogs with XI2

* src/xfns.c (Fx_file_dialog): Handle GenericEvents when looking
for quit character.
* src/xmenu.c (x_menu_wait_for_event): If data is non-nil, use
XPending.

3 years agoUpdate publicsuffix.txt from upstream
Stefan Kangas [Tue, 1 Mar 2022 05:04:06 +0000 (06:04 +0100)]
Update publicsuffix.txt from upstream

* etc/publicsuffix.txt: Update from
https://publicsuffix.org/list/public_suffix_list.dat
dated 2022-02-28 02:58:30 UTC.

3 years agoIntern server time property during terminal initialization
Po Lu [Tue, 1 Mar 2022 03:31:37 +0000 (11:31 +0800)]
Intern server time property during terminal initialization

* src/xmenu.c (create_and_show_popup_menu): Use previously
interned atom.
* src/xterm.c (x_term_init): New atom `EMACS_SERVER_TIME_PROP'.
* src/xterm.h (struct x_display_info): New field
`Xatom_EMACS_SERVER_TIME_PROP'.

3 years agoFix Motif menu help text in submenus
Po Lu [Tue, 1 Mar 2022 03:30:52 +0000 (11:30 +0800)]
Fix Motif menu help text in submenus

* lwlib/lwlib-Xm.c (xm_arm_callback):
(make_menu_in_widget):
(update_one_menu_entry):
(xm_update_one_widget):
(do_call): Pass instance to arm callback and use wv as user data
instead of call data.

3 years ago* src/xterm.c: Explain frame resize synchronization.
Po Lu [Tue, 1 Mar 2022 01:00:29 +0000 (09:00 +0800)]
* src/xterm.c: Explain frame resize synchronization.

3 years agoWork around merge-gnulib glitch from fresh checkout
Paul Eggert [Mon, 28 Feb 2022 21:16:44 +0000 (13:16 -0800)]
Work around merge-gnulib glitch from fresh checkout

* admin/merge-gnulib: In a fresh checkout, run gnulib-tool
twice, instead of merely running autogen.sh twice.

3 years agoecomplete: Try and avoid losing data
Stefan Monnier [Mon, 28 Feb 2022 16:59:38 +0000 (11:59 -0500)]
ecomplete: Try and avoid losing data

* lisp/ecomplete.el (ecomplete-add-item): Make sure the database is
setup, so we don't risk overwriting it with a (mostly) empty one.
(ecomplete-save): Don't save an empty database.

3 years ago; In xterm.c add comment about frame resizing under X
Martin Rudalics [Mon, 28 Feb 2022 15:36:15 +0000 (16:36 +0100)]
; In xterm.c add comment about frame resizing under X

3 years agoClean up input extension event handling code
Po Lu [Mon, 28 Feb 2022 12:21:24 +0000 (20:21 +0800)]
Clean up input extension event handling code

* src/xterm.c (handle_one_xevent): Fix usages of event
structures of the wrong type.

3 years ago* src/xterm.c (handle_one_xevent): Add some missing dead keys.
Po Lu [Mon, 28 Feb 2022 11:43:08 +0000 (19:43 +0800)]
* src/xterm.c (handle_one_xevent): Add some missing dead keys.

3 years agoClean up byte-compile-arglist-warn
Mattias Engdegård [Mon, 28 Feb 2022 11:13:52 +0000 (12:13 +0100)]
Clean up byte-compile-arglist-warn

* lisp/emacs-lisp/bytecomp.el (byte-compile-arglist-warn):
Remove unnecessary sort (only need min and max).  Reduce mutation.

3 years agoFix :color specification in flat-button boxes
Lars Ingebrigtsen [Mon, 28 Feb 2022 10:41:52 +0000 (11:41 +0100)]
Fix :color specification in flat-button boxes

* src/xfaces.c (realize_gui_face): Allow reliably specifying
:color in flat-button boxes (bug#54196).

3 years agoDon't throw errors while propertizing in sgml-mode
Lars Ingebrigtsen [Mon, 28 Feb 2022 09:30:31 +0000 (10:30 +0100)]
Don't throw errors while propertizing in sgml-mode

* lisp/textmodes/sgml-mode.el (sgml-syntax-propertize): Don't
throw an error when propertizing (bug#54195).

3 years agoFix :tag for eol in tab-first-completion
Lars Ingebrigtsen [Mon, 28 Feb 2022 09:14:03 +0000 (10:14 +0100)]
Fix :tag for eol in tab-first-completion

* lisp/indent.el (tab-first-completion): Fix the :tag description
(bug#54179).

3 years agoBetter fix for bug#13476
Po Lu [Mon, 28 Feb 2022 06:35:01 +0000 (14:35 +0800)]
Better fix for bug#13476

* lisp/faces.el (face-spec-recalc): Apply scroll bar foreground
and background to the frame if changing the scroll-bar face.
(scroll-bar): Restore previous declaration.  That way, the
default colors are used for toolkit scroll bars, instead of
black and white.

3 years agoImprove treatment of toolkit scroll bars with the input extension
Po Lu [Mon, 28 Feb 2022 06:04:23 +0000 (14:04 +0800)]
Improve treatment of toolkit scroll bars with the input extension

* src/xterm.c (x_create_horizontal_toolkit_scroll_bar)
(x_create_toolkit_scroll_bar): Set XI2 event mask appropriately.
(handle_one_xevent): Make sure coordinates are correct for the
frame's window when handling wheel events.

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

e77fc8262a Update to Org 9.5.2-22-g33543d
9bce4b67f1 ; * lisp/help.el (with-help-window): Doc fix.  (Bug#54170)
558b03a958 Add explicit '--no-heading' for ripgrep

3 years agoUpdate to Org 9.5.2-22-g33543d
Kyle Meyer [Mon, 28 Feb 2022 05:11:01 +0000 (00:11 -0500)]
Update to Org 9.5.2-22-g33543d

3 years agoDon't save menu bar events that land on the menu bar itself
Po Lu [Mon, 28 Feb 2022 01:40:01 +0000 (09:40 +0800)]
Don't save menu bar events that land on the menu bar itself

* src/xterm.c (handle_one_xevent): Ignore menu bar events which
land on the menu bar itself instead of a button.

3 years agoTreat scroll bar information consistently on Haiku
Po Lu [Mon, 28 Feb 2022 01:16:17 +0000 (01:16 +0000)]
Treat scroll bar information consistently on Haiku

* src/haiku_support.cc (class EmacsScrollBar): New field `info'.
(EmacsScrollBar): Obtain scroll bar info on initialization.
(ButtonRegionFor): Use that information instead.

3 years ago; * lisp/help.el (with-help-window): Doc fix. (Bug#54170)
Eli Zaretskii [Sun, 27 Feb 2022 13:54:27 +0000 (15:54 +0200)]
; * lisp/help.el (with-help-window): Doc fix.  (Bug#54170)

3 years agoMerge from gnulib
Lars Ingebrigtsen [Sun, 27 Feb 2022 13:32:38 +0000 (14:32 +0100)]
Merge from gnulib

* m4/gnulib-common.m4 (gl_COMMON_BODY):
* lib/gnulib.mk.in (CXXCPP):
* lib/cdefs.h: Updated with admin/merge-gnulib.  (This is in
preparation to adding the nanosleep module later.)

3 years agoAdd explicit '--no-heading' for ripgrep
Dmitry Gutov [Sun, 27 Feb 2022 13:28:04 +0000 (15:28 +0200)]
Add explicit '--no-heading' for ripgrep

* lisp/progmodes/xref.el (xref-search-program-alist):
Add explicit '--no-heading' for ripgrep (bug#54177).

3 years agoDon't send help-echo on menu button arming not caused by motion events
Po Lu [Sun, 27 Feb 2022 11:33:16 +0000 (19:33 +0800)]
Don't send help-echo on menu button arming not caused by motion events

* lwlib/lwlib-Xm.c (xm_arm_callback): Ignore arming if the arm
was not caused by an EnterNotify or MotionNotify event.

3 years ago* src/xterm.c (handle_one_xevent): Translate motion events on Motif.
Po Lu [Sun, 27 Feb 2022 06:56:34 +0000 (14:56 +0800)]
* src/xterm.c (handle_one_xevent): Translate motion events on Motif.

3 years agoWork around some problems with Motif and the input extension
Po Lu [Sun, 27 Feb 2022 06:40:26 +0000 (14:40 +0800)]
Work around some problems with Motif and the input extension

* src/xmenu.c (create_and_show_popup_menu): Restore input focus
to the frame's outer window if there was an input extension
grab.

3 years agoTranslate some more input extension events needed by Motif
Po Lu [Sun, 27 Feb 2022 06:30:58 +0000 (14:30 +0800)]
Translate some more input extension events needed by Motif

* src/xterm.c (handle_one_xevent): Translate XI_Enter and
XI_Leave events when built with Motif.

3 years agoMerge from origin/emacs-28
Stefan Kangas [Sun, 27 Feb 2022 05:31:54 +0000 (06:31 +0100)]
Merge from origin/emacs-28

a50f8dec09 Follow OpenSSH changes in Tramp
e86eae21a9 Document better how to reset attributes of faces for new f...

3 years ago* commands.texi (Misc Events): Update description of wheel events.
Po Lu [Sun, 27 Feb 2022 03:44:06 +0000 (11:44 +0800)]
* commands.texi (Misc Events): Update description of wheel events.

3 years agoAdd project-ignore-buffer-conditions
Manuel Uberti [Wed, 23 Feb 2022 08:25:32 +0000 (09:25 +0100)]
Add project-ignore-buffer-conditions

* lisp/progmodes/project.el (project-ignore-buffer-conditions):
New defcustom.
(project--read-project-buffer):
Use it (bug#54100).

3 years ago* src/xterm.c (handle_one_xevent): Fix translation of button events.
Po Lu [Sun, 27 Feb 2022 02:49:19 +0000 (10:49 +0800)]
* src/xterm.c (handle_one_xevent): Fix translation of button events.

3 years agoFix Motif menu and menu bar dismissal on XI2
Po Lu [Sun, 27 Feb 2022 02:37:17 +0000 (10:37 +0800)]
Fix Motif menu and menu bar dismissal on XI2

* src/xmenu.c (x_activate_menubar): Improve ungrabbing logic on
XI2.
(server_timestamp_predicate): New function.
(create_and_show_popup_menu): If the display supports XI2, make
sure the timestamps are correct by dispatching a PropertyNotify
event to Xt.
* src/xterm.c (handle_one_xevent): Translate XI_ButtonRelease
events into core events before dispatching them to Xt.

3 years agoIgnore irrelevant button events on Haiku scroll bars
Po Lu [Sat, 26 Feb 2022 12:25:51 +0000 (12:25 +0000)]
Ignore irrelevant button events on Haiku scroll bars

* src/haiku_support.cc (MouseDown): Ignore if there are too many
buttons pressed.

3 years agoFollow OpenSSH changes in Tramp
Michael Albinus [Sat, 26 Feb 2022 11:51:26 +0000 (12:51 +0100)]
Follow OpenSSH changes in Tramp

* lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options):
Reimplement.  OpenSSH has changed its diagnostics messages.

3 years agoDocument better how to reset attributes of faces for new frames
Eli Zaretskii [Sat, 26 Feb 2022 07:41:05 +0000 (09:41 +0200)]
Document better how to reset attributes of faces for new frames

* doc/lispref/display.texi (Attribute Functions):
* lisp/faces.el (set-face-attribute): Explain how to reset an
attribute's value for future frames.  (Bug#54156)

3 years agoPrevent crashes on event for removed scroll bar on Haiku
Po Lu [Sat, 26 Feb 2022 07:24:12 +0000 (07:24 +0000)]
Prevent crashes on event for removed scroll bar on Haiku

* src/haiku_support.cc (class EmacsScrollBar): Remove field
`scroll_bar'.
(ValueChanged, MouseDown, MouseUp, BScrollBar_make_for_view):
Adjust for changes.

* src/haiku_support.h (struct haiku_scroll_bar_value_event)
(struct haiku_scroll_bar_drag_event)
(struct haiku_scroll_bar_part_event): New field `window'.

* src/haikuterm.c (haiku_scroll_bar_from_widget): New function.
(haiku_read_socket): Adjust for changes in scroll bar event
structures.

3 years agoFix reporting of horizontal scroll bar buttons on Haiku
Po Lu [Sat, 26 Feb 2022 07:06:55 +0000 (07:06 +0000)]
Fix reporting of horizontal scroll bar buttons on Haiku

* haikuterm.c (haiku_read_socket): Use correct values for scroll
bar buttons when the scroll bar is horizontal.

3 years agoImprove scroll bar button handling on Haiku
Po Lu [Sat, 26 Feb 2022 06:56:31 +0000 (06:56 +0000)]
Improve scroll bar button handling on Haiku

* src/haiku_io.c (haiku_len): Add `SCROLL_BAR_PART_EVENT'.
* src/haiku_support.cc (class EmacsScrollBar): New fields
`dragging' and `current_state', along with `old_value' and
`current_part'.
(EmacsScrollBar): Set horizontal flag to `horizontal_p'.
(MessageReceived): Set old_value when receiving
SCROLL_BAR_UPDATE message.
(ValueChanged): Don't allow scroll bar values to change while
dragging.
(MouseUp, MouseDown): Calculate button under mouse and act
accordingly.
* src/haiku_support.h (enum haiku_event_type): New event
`SCROLL_BAR_PART_EVENT'.
(enum haiku_scroll_bar_part): New enumerator.
(struct haiku_scroll_bar_part_event): New struct.
* src/haikuterm.c (haiku_read_socket): Handle
SCROLL_BAR_PART_EVENTs.

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

ded89ed3fa * lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options): ...

3 years ago* src/xterm.c (handle_one_xevent): Set user time for xwidgets as well.
Po Lu [Sat, 26 Feb 2022 00:54:36 +0000 (08:54 +0800)]
* src/xterm.c (handle_one_xevent): Set user time for xwidgets as well.

3 years agoDrop the visited file modtime check for remote xref hits
Dmitry Gutov [Sat, 26 Feb 2022 00:18:34 +0000 (02:18 +0200)]
Drop the visited file modtime check for remote xref hits

* lisp/progmodes/xref.el (xref--hits-remote-id): New variable.
(xref--convert-hits, xref--collect-matches)
(xref--find-file-buffer): Use it (bug#54025).

3 years agoRobustify merge-gnulib a bit
Paul Eggert [Fri, 25 Feb 2022 20:26:59 +0000 (12:26 -0800)]
Robustify merge-gnulib a bit

* admin/merge-gnulib: Fail if autogen.sh fails.
Remove autom4te.cache before running gnulib-tool.

3 years agoAdd new file ietf-drums-date.el
Bob Rogers [Fri, 25 Feb 2022 12:03:20 +0000 (13:03 +0100)]
Add new file ietf-drums-date.el

* lisp/mail/ietf-drums-date.el: parse-time-string replacement which is
compatible but can be made stricter if desired.
* test/lisp/mail/ietf-drums-date-tests.el (added): Add tests for
ietf-drums-parse-date-string.
* lisp/mail/ietf-drums.el (ietf-drums-parse-date): Use
ietf-drums-parse-date-string.

3 years agoImprove treatment of dropping mouse track state on Haiku
Po Lu [Fri, 25 Feb 2022 11:36:07 +0000 (11:36 +0000)]
Improve treatment of dropping mouse track state on Haiku

* src/haikuterm.c (haiku_mouse_or_wdesc_frame): New function.
(haiku_read_socket): Use it to find the appropriate frame when
handling motion or button events.