1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-02-02 05:32:08 -08:00
Commit graph

154692 commits

Author SHA1 Message Date
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
Po Lu
3e9c36e799 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.
2022-02-26 07:06:55 +00:00
Po Lu
974c44414a 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.
2022-02-26 06:57:00 +00:00
Stefan Kangas
c215158756 Merge from origin/emacs-28
ded89ed3fa * lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options): ...
2022-02-26 06:32:26 +01:00
Po Lu
63a21224a5 * src/xterm.c (handle_one_xevent): Set user time for xwidgets as well. 2022-02-26 08:54:36 +08:00
Dmitry Gutov
018eeb655a 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).
2022-02-26 02:27:30 +02:00
Paul Eggert
9372e543a9 Robustify merge-gnulib a bit
* admin/merge-gnulib: Fail if autogen.sh fails.
Remove autom4te.cache before running gnulib-tool.
2022-02-25 12:27:22 -08:00
Bob Rogers
ca3858563c 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.
2022-02-25 13:04:10 +01:00
Po Lu
2b8bb05383 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.
2022-02-25 11:36:07 +00:00
Michael Albinus
ded89ed3fa * lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options): Adapt test. 2022-02-25 10:11:40 +01:00
Po Lu
a95c43976f Improve tracking of modified regions on Haiku
* src/haiku_support.cc (class EmacsView): New field
`invalid_region'.
(FlipBuffers): Only invalidate that region.
(SetUpDoubleBuffering): Clear that region.
(BView_draw_lock): New parameters for denoting the region
to invalidate.
(BView_invalidate_region): New function.
* src/haiku_support.h: Update prototypes.
* src/haikufns.c (haiku_set_background_color):
* src/haikumenu.c (digest_menu_items):
* src/haikuterm.c (haiku_clip_to_string):
(haiku_flip_buffers):
(haiku_clear_frame_area):
(haiku_clear_frame):
(haiku_draw_glyph_string):
(haiku_after_update_window_line):
(haiku_draw_window_cursor):
(haiku_draw_vertical_window_border):
(haiku_draw_window_divider):
(haiku_draw_fringe_bitmap):
(haiku_scroll_run):
(haiku_read_socket):
(haiku_flash):
(haiku_clear_under_internal_border): Mark appropriate region as
invalid before buffer flip.
2022-02-25 08:08:06 +00:00
Po Lu
6fd6bea8c4 Fix calculation of scroll deltas when coalescing wheel events
* src/xterm.c (handle_one_xevent): Use accumulated values
instead of raw delta to determine scroll amounts.
2022-02-25 14:20:14 +08:00
Po Lu
a2e80d2a41 Make interpolated scrolling work above non-selected windows
* lisp/pixel-scroll.el (pixel-scroll-precision-interpolate): New
parameter `old-window'.
(pixel-scroll-precision): Pass originally selected window to the
interpolation function.
2022-02-25 14:15:51 +08:00
Stefan Kangas
f4ef44a5eb Merge from origin/emacs-28
5c77aed2d6 Mention flyspell-prog-mode in flyspell-mode doc string
2022-02-25 06:30:57 +01:00
Jim Porter
73e1be36e5 Fix Eshell process tests to (hopefully) work on all platforms
* test/lisp/eshell/esh-proc-tests.el (esh-proc-test/kill-pipeline):
Fix test (bug#54136).
2022-02-25 03:19:08 +01:00
Dmitry Gutov
fa2b60615b xref--find-file-buffer: Check modified-p and modtime
* lisp/progmodes/xref.el (xref--find-file-buffer):
Check whether the buffer contents match what's on disk
(bug#54025).
2022-02-25 03:35:51 +02:00
Po Lu
d29cc1e8a0 Set user time when receiving any wheel events
* src/xterm.c (handle_one_xevent): Set user time if the mouse
wheel moved.
2022-02-25 08:40:51 +08:00
Eli Zaretskii
8d2fbd4a14 Fix esh-proc-tests on MS-Windows
* test/lisp/eshell/esh-proc-tests.el (esh-proc-test/kill-pipeline)
(esh-proc-test/kill-background-process): Fix tests on MS-Windows.
2022-02-24 22:02:28 +02:00
Eli Zaretskii
794fbd1c07 Make 't' in Buffer-menu be more defensive
* lisp/buff-menu.el (Buffer-menu-visit-tags-table): Verify that
the buffer holds a tags-table file before using it as such.
(Bug#54133)
2022-02-24 21:57:34 +02:00
Paul Eggert
bd17fa2c75 * admin/merge-gnulib: fix bare checkout (Bug#32452#65) 2022-02-24 10:13:08 -08:00
Alan Mackenzie
6092ee1c3f Amend byte-run-strip-symbol-positions so that an unexec build builds
This fixes bug #54098.

* lisp/emacs-lisp/byte-run.el (byte-run--strip-list)
(byte-run--strip-vector/record): New functions.  These alter a list or
vector/record structure only where a symbol with position gets replaced by a
bare symbol.
(byte-run-strip-symbol-positions): Reformulate to use the two new functions.
(function-put): No longer strip positions from the second and third arguments.

* lisp/emacs-lisp/bytecomp.el (byte-compile-out): Remove the senseless
"stripping" of putative symbol positions from OPERAND, which is nil or a
number.
2022-02-24 17:30:39 +00:00
Michael Albinus
2db149539b Fix symlinks in tramp-sshfs.el (Bug#54130)
* lisp/net/tramp-sshfs.el (tramp-methods) <sshfs>:
Add "-o transform_symlinks" to `tramp-mount-args'.
(tramp-sshfs-file-name-handler-alist):
Use `tramp-sshfs-handle-file-writable-p'.
(tramp-sshfs-handle-file-writable-p): New defun.  (Bug#54130)

* test/lisp/net/tramp-tests.el (tramp-test18-file-attributes)
(tramp-test20-file-modes): Adapt tests.
2022-02-24 16:11:01 +01:00
Po Lu
94e59f80b7 Check if WM support for NET_WM_USER_TIME_WINDOW changed during updates
* src/xterm.c (x_display_set_last_user_time): Update the user
time window if window manager support changed.

* src/xterm.h (struct x_display_info): New field
`last_user_check_time'.
2022-02-24 20:01:39 +08:00
Eli Zaretskii
dfe78ccb87 ; * etc/NEWS: Fix wording of a recently added NEWS entry. 2022-02-24 13:07:16 +02:00
Jim Porter
be496f942c Don't superfluously emit prompts when terminating processes in Eshell
* lisp/eshell/esh-proc.el (eshell-kill-process-function): Only reset
the prompt if PROC is writing to the terminal.
(eshell-sentinel): Only write the exit message if PROC is writing to
the terminal (bug#54136).

* test/lisp/eshell/esh-proc-tests.el (esh-proc-test/kill-pipeline)
(esh-proc-test/kill-pipeline-head)
(esh-proc-test/kill-background-process): New tests.
2022-02-24 10:35:54 +01:00
Lars Ingebrigtsen
5c77aed2d6 Mention flyspell-prog-mode in flyspell-mode doc string
* lisp/textmodes/flyspell.el (flyspell-mode): Mention
flyspell-prog-mode (bug#54131).
2022-02-24 10:10:40 +01:00
Stefan Kangas
aedb74b294 Merge from origin/emacs-28
5942504391 Reword face-remap-add-relative manual entry
2022-02-24 06:30:36 +01:00
Po Lu
ec1aaac5c0 Set border colors through the toolkit
* src/xfns.c (x_set_border_pixel): Set colors through Xt to
avoid some problems.
2022-02-24 11:58:41 +08:00
Po Lu
fe7c0798e8 Fix auto-lower when the mouse moves onto a scrollbar on Haiku
* src/haiku_support.cc (MouseMoved):
(BView_inside_scroll_bar): New functions.
* src/haiku_support.h: Update prototypes.
* src/haikuterm.c (haiku_read_socket): Don't auto-lower if the
pointer left the view for a scroll bar.
2022-02-24 03:35:25 +00:00
Po Lu
543ae215c1 Add support for _NET_WM_STATE_SHADED
* doc/lispref/frames.texi (Management Parameters): Document new
frame parameter `shaded'.
* etc/NEWS: Announce new frame parameter.

* src/frame.c (frame_parms) [HAVE_X_WINDOWS]: New frame
parameter `shaded'.
(syms_of_frame): New symbol `shaded'.
* src/xfns.c (x_frame_parm_handlers): Install handler
`x_set_shaded'.
* src/xterm.c (x_set_shaded): New frame parameter handler.
(x_get_current_wm_state): New parameter `shaded'.  All callers
changed.
(x_net_wm_state):
(x_handle_net_wm_state): Handle shaded state.
(x_term_init): Intern new atom `shaded'.
* src/xterm.h: Update prototypes.
2022-02-24 09:38:37 +08:00
Po Lu
d132bfe6cd Condition out things specific to some versions of the input extension
* src/xterm.c (x_free_xi_devices, x_init_master_valuators)
(handle_one_xevent): Condition out code that isn't supposed to
be run on the current input extension version.
* src/xterm.h (struct xi_scroll_valuator_t): Make conditional on
HAVE_XINPUT2_1.
(struct xi_touch_point_t): Make conditional on HAVE_XINPUT2_2.
(struct xi_device_t): Make individual fields conditional on the
appropriate client-side input extension version.
2022-02-24 09:11:53 +08:00
Po Lu
7b0e8cf347 Fix the MS-DOS port
* msdos/sedlibmk.inp:
* src/conf_post.h [MSDOS]: Update for recent gnulib.
2022-02-24 08:43:09 +08:00
Paul Eggert
ca9f2fc2a4 Pacify gcc -Wanalyzer-null-dereference
* src/xdisp.c (normal_char_ascent_descent): Pacify GCC 11.2.1
20220127 (Red Hat 11.2.1-9) x86-64 -Wanalyzer-null-dereference.
2022-02-23 12:32:24 -08:00
Mauro Aranda
479623784e Fix auth-sources defcustom
* lisp/auth-source.el (auth-sources): The extra attributes should be
in a plist, so inline both :host and :port.  Also, give a valid
default value for the choice (bug#54127).
2022-02-23 21:05:08 +01:00
Paul Eggert
b8a96f0556 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).
2022-02-23 11:41:02 -08:00
Paul Eggert
a773a78312 Port to current Gnulib some more
* admin/merge-gnulib: Remove lib/stdio-read.c and lib/stdio-write.c,
as Emacs doesn’t need these new Gnulib files.
2022-02-23 11:41:02 -08:00
Paul Eggert
308e63ccfc Update from Gnulib by running admin/merge-gnulib 2022-02-23 11:41:02 -08:00
Paul Eggert
995aed477d Port to current Gnulib
* configure.ac (AM_COND_IF): New macro, needed because Gnulib
normally assumes Automake and now uses this Automake macro.
Problem reported by Lars Ingebrigtsen (Bug#32452#47).
2022-02-23 11:41:01 -08:00