Commit graph

154729 commits

Author SHA1 Message Date
Po Lu
6b71b80fdc Fix odd scrolling bugs on LessTif
* src/xterm.c (handle_one_xevent): Give emulated button events
to Motif.
2022-03-02 09:38:58 +08:00
Po Lu
006a447455 Improve behavior of Motif popup menus on XI2
* src/xmenu.c (create_and_show_popup_menu): Set input focus to
menu window.
2022-03-02 09:01:48 +08:00
Paul Eggert
caae254bb4 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.
2022-03-01 10:06:49 -08:00
Po Lu
87de4ad8bc ; Add a comment in recently installed code
* faces.el (face-spec-recalc): Add a comment describing the
special treatement of the scroll-bar face.
2022-03-01 20:48:55 +08:00
Po Lu
e361d0d7e5 Add PropertyChangeMask to the standard event set
* src/xfns.c (x_window): Remove special Motif code.
* src/xterm.h (STANDARD_EVENT_SET): Add PropertyChangeMask.
2022-03-01 20:15:02 +08:00
Po Lu
f980eed4c1 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.
2022-03-01 19:15:46 +08:00
Po Lu
ad0fb40ae6 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.
2022-03-01 18:38:08 +08:00
Po Lu
3447f365b1 ; * src/xwidget.c: Add missing part of last change. 2022-03-01 15:49:03 +08:00
Po Lu
6654dfc83c * src/xwidget.h: Fix build with XI 2.4. 2022-03-01 15:45:50 +08:00
Po Lu
dd71222208 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.
2022-03-01 15:38:37 +08:00
Po Lu
54474a6db2 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.
2022-03-01 14:59:32 +08:00
Po Lu
db9b9435cd 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.
2022-03-01 14:44:02 +08:00
Po Lu
6b8808ab8c 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.
2022-03-01 14:09:22 +08:00
Stefan Kangas
cd44d45d92 Merge from origin/emacs-28
6dbc3da205 Fix :tag for eol in tab-first-completion
2022-03-01 07:05:15 +01:00
Po Lu
6874011721 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.
2022-03-01 13:49:49 +08:00
Stefan Kangas
dfb52654a2 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.
2022-03-01 06:04:06 +01:00
Po Lu
02d3eed600 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'.
2022-03-01 11:31:37 +08:00
Po Lu
17431ca1cc 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.
2022-03-01 11:30:52 +08:00
Po Lu
e05478050a * src/xterm.c: Explain frame resize synchronization. 2022-03-01 09:00:29 +08:00
Paul Eggert
d150eb438b 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.
2022-02-28 13:17:19 -08:00
Stefan Monnier
83b0f46a26 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.
2022-02-28 11:59:38 -05:00
Martin Rudalics
0d123d602c ; In xterm.c add comment about frame resizing under X 2022-02-28 16:36:15 +01:00
Po Lu
cde8e5afbb Clean up input extension event handling code
* src/xterm.c (handle_one_xevent): Fix usages of event
structures of the wrong type.
2022-02-28 20:21:24 +08:00
Po Lu
122b189219 * src/xterm.c (handle_one_xevent): Add some missing dead keys. 2022-02-28 19:45:18 +08:00
Mattias Engdegård
cb0aad2dbe 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.
2022-02-28 12:16:54 +01:00
Lars Ingebrigtsen
cd32693151 Fix :color specification in flat-button boxes
* src/xfaces.c (realize_gui_face): Allow reliably specifying
:color in flat-button boxes (bug#54196).
2022-02-28 11:41:52 +01:00
Lars Ingebrigtsen
15a76160bb 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).
2022-02-28 10:30:31 +01:00
Lars Ingebrigtsen
6dbc3da205 Fix :tag for eol in tab-first-completion
* lisp/indent.el (tab-first-completion): Fix the :tag description
(bug#54179).
2022-02-28 10:14:23 +01:00
Po Lu
66899628f8 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.
2022-02-28 14:35:01 +08:00
Po Lu
f995169c72 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.
2022-02-28 14:06:12 +08:00
Stefan Kangas
1de7382b57 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
2022-02-28 06:33:06 +01:00
Kyle Meyer
e77fc8262a Update to Org 9.5.2-22-g33543d 2022-02-28 00:11:01 -05:00
Po Lu
0f3ce51a0d 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.
2022-02-28 09:40:01 +08:00
Po Lu
0470ef007f 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.
2022-02-28 01:16:17 +00:00
Eli Zaretskii
9bce4b67f1 ; * lisp/help.el (with-help-window): Doc fix. (Bug#54170) 2022-02-27 15:54:27 +02:00
Lars Ingebrigtsen
6a10a3e8d4 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.)
2022-02-27 14:32:38 +01:00
Dmitry Gutov
558b03a958 Add explicit '--no-heading' for ripgrep
* lisp/progmodes/xref.el (xref-search-program-alist):
Add explicit '--no-heading' for ripgrep (bug#54177).
2022-02-27 15:28:04 +02:00
Po Lu
704a40ad75 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.
2022-02-27 19:33:16 +08:00
Po Lu
e2d96ffa6a * src/xterm.c (handle_one_xevent): Translate motion events on Motif. 2022-02-27 14:56:34 +08:00
Po Lu
14c80c9db8 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.
2022-02-27 14:40:26 +08:00
Po Lu
4c12a16aa7 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.
2022-02-27 14:31:39 +08:00
Stefan Kangas
2fdc7d5044 Merge from origin/emacs-28
a50f8dec09 Follow OpenSSH changes in Tramp
e86eae21a9 Document better how to reset attributes of faces for new f...
2022-02-27 06:31:54 +01:00
Po Lu
796bb6f1e7 * commands.texi (Misc Events): Update description of wheel events. 2022-02-27 11:44:56 +08:00
Manuel Uberti
bc0d1f1c46 Add project-ignore-buffer-conditions
* lisp/progmodes/project.el (project-ignore-buffer-conditions):
New defcustom.
(project--read-project-buffer):
Use it (bug#54100).
2022-02-27 05:25:01 +02:00
Po Lu
422ad3a01f * src/xterm.c (handle_one_xevent): Fix translation of button events. 2022-02-27 10:49:19 +08:00
Po Lu
16702f183f 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.
2022-02-27 10:37:43 +08:00
Po Lu
a2768c2f74 Ignore irrelevant button events on Haiku scroll bars
* src/haiku_support.cc (MouseDown): Ignore if there are too many
buttons pressed.
2022-02-26 12:25:51 +00:00
Michael Albinus
a50f8dec09 Follow OpenSSH changes in Tramp
* lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options):
Reimplement.  OpenSSH has changed its diagnostics messages.
2022-02-26 12:51:26 +01:00
Eli Zaretskii
e86eae21a9 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)
2022-02-26 09:41:05 +02:00
Po Lu
e1757c00ca 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.
2022-02-26 07:24:12 +00:00