]> git.eshelyaron.com Git - emacs.git/log
emacs.git
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 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.

3 years ago* lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options): Adapt test.
Michael Albinus [Fri, 25 Feb 2022 09:11:40 +0000 (10:11 +0100)]
* lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options): Adapt test.

3 years agoImprove tracking of modified regions on Haiku
Po Lu [Fri, 25 Feb 2022 08:05:11 +0000 (08:05 +0000)]
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.

3 years agoFix calculation of scroll deltas when coalescing wheel events
Po Lu [Fri, 25 Feb 2022 06:20:14 +0000 (14:20 +0800)]
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.

3 years agoMake interpolated scrolling work above non-selected windows
Po Lu [Fri, 25 Feb 2022 06:15:51 +0000 (14:15 +0800)]
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.

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

5c77aed2d6 Mention flyspell-prog-mode in flyspell-mode doc string

3 years agoFix Eshell process tests to (hopefully) work on all platforms
Jim Porter [Fri, 25 Feb 2022 02:18:27 +0000 (03:18 +0100)]
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).

3 years agoxref--find-file-buffer: Check modified-p and modtime
Dmitry Gutov [Fri, 25 Feb 2022 01:34:59 +0000 (03:34 +0200)]
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).

3 years agoSet user time when receiving any wheel events
Po Lu [Fri, 25 Feb 2022 00:40:51 +0000 (08:40 +0800)]
Set user time when receiving any wheel events

* src/xterm.c (handle_one_xevent): Set user time if the mouse
wheel moved.

3 years agoFix esh-proc-tests on MS-Windows
Eli Zaretskii [Thu, 24 Feb 2022 20:02:28 +0000 (22:02 +0200)]
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.

3 years agoMake 't' in Buffer-menu be more defensive
Eli Zaretskii [Thu, 24 Feb 2022 19:57:34 +0000 (21:57 +0200)]
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)

3 years ago* admin/merge-gnulib: fix bare checkout (Bug#32452#65)
Paul Eggert [Thu, 24 Feb 2022 18:12:50 +0000 (10:12 -0800)]
* admin/merge-gnulib: fix bare checkout (Bug#32452#65)

3 years agoAmend byte-run-strip-symbol-positions so that an unexec build builds
Alan Mackenzie [Thu, 24 Feb 2022 17:30:39 +0000 (17:30 +0000)]
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.

3 years agoFix symlinks in tramp-sshfs.el (Bug#54130)
Michael Albinus [Thu, 24 Feb 2022 15:11:01 +0000 (16:11 +0100)]
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.

3 years agoCheck if WM support for NET_WM_USER_TIME_WINDOW changed during updates
Po Lu [Thu, 24 Feb 2022 12:01:39 +0000 (20:01 +0800)]
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'.

3 years ago; * etc/NEWS: Fix wording of a recently added NEWS entry.
Eli Zaretskii [Thu, 24 Feb 2022 11:07:16 +0000 (13:07 +0200)]
; * etc/NEWS: Fix wording of a recently added NEWS entry.

3 years agoDon't superfluously emit prompts when terminating processes in Eshell
Jim Porter [Thu, 24 Feb 2022 04:43:38 +0000 (20:43 -0800)]
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.

3 years agoMention flyspell-prog-mode in flyspell-mode doc string
Lars Ingebrigtsen [Thu, 24 Feb 2022 09:10:40 +0000 (10:10 +0100)]
Mention flyspell-prog-mode in flyspell-mode doc string

* lisp/textmodes/flyspell.el (flyspell-mode): Mention
flyspell-prog-mode (bug#54131).

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

5942504391 Reword face-remap-add-relative manual entry

3 years agoSet border colors through the toolkit
Po Lu [Thu, 24 Feb 2022 03:58:41 +0000 (11:58 +0800)]
Set border colors through the toolkit

* src/xfns.c (x_set_border_pixel): Set colors through Xt to
avoid some problems.

3 years agoFix auto-lower when the mouse moves onto a scrollbar on Haiku
Po Lu [Thu, 24 Feb 2022 03:35:25 +0000 (03:35 +0000)]
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.

3 years agoAdd support for _NET_WM_STATE_SHADED
Po Lu [Thu, 24 Feb 2022 01:38:37 +0000 (09:38 +0800)]
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.

3 years agoCondition out things specific to some versions of the input extension
Po Lu [Thu, 24 Feb 2022 01:11:53 +0000 (09:11 +0800)]
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.

3 years agoFix the MS-DOS port
Po Lu [Thu, 24 Feb 2022 00:43:09 +0000 (08:43 +0800)]
Fix the MS-DOS port

* msdos/sedlibmk.inp:
* src/conf_post.h [MSDOS]: Update for recent gnulib.

3 years agoPacify gcc -Wanalyzer-null-dereference
Paul Eggert [Wed, 23 Feb 2022 20:30:33 +0000 (12:30 -0800)]
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.

3 years agoFix auth-sources defcustom
Mauro Aranda [Wed, 23 Feb 2022 20:05:08 +0000 (21:05 +0100)]
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).

3 years agoPort pre-commit hook to Git 2.35.0
Paul Eggert [Wed, 23 Feb 2022 19:29:56 +0000 (11:29 -0800)]
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).

3 years agoPort to current Gnulib some more
Paul Eggert [Wed, 23 Feb 2022 19:23:05 +0000 (11:23 -0800)]
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.

3 years agoUpdate from Gnulib by running admin/merge-gnulib
Paul Eggert [Wed, 23 Feb 2022 19:11:52 +0000 (11:11 -0800)]
Update from Gnulib by running admin/merge-gnulib

3 years agoPort to current Gnulib
Paul Eggert [Wed, 23 Feb 2022 18:52:27 +0000 (10:52 -0800)]
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).

3 years ago* lisp/tab-bar.el: Create new unique windows with 'C-x t n' (bug#54038).
Juri Linkov [Wed, 23 Feb 2022 17:58:33 +0000 (19:58 +0200)]
* lisp/tab-bar.el: Create new unique windows with 'C-x t n' (bug#54038).

* lisp/tab-bar.el (tab-bar-new-tab-choice): Replace the value 'nil'
with explicit 'clone'.
(tab-bar-move-window-to-tab): Ignore possible side/atom window
parameters with ignore-window-parameters while deleting window.
(tab-bar-new-tab-to): When 'tab-bar-new-tab-choice' is 'clone',
create new unique windows with the same layout using window-state-get
and window-state-put.  Do the same after deleting other windows
when 'tab-bar-new-tab-choice' is 'window'.
(tab-bar-duplicate-tab): Replace the value 'nil' with 'clone' for
'tab-bar-new-tab-choice'.

3 years agoExpand commentary in xterm.c
Po Lu [Wed, 23 Feb 2022 13:51:31 +0000 (21:51 +0800)]
Expand commentary in xterm.c

* src/xterm.c: Expand commentary to include sections on optional
features and toolkit support.

3 years ago; * src/xterm.c: Minor fixes of the commentary.
Eli Zaretskii [Wed, 23 Feb 2022 13:07:59 +0000 (15:07 +0200)]
; * src/xterm.c: Minor fixes of the commentary.

3 years agoUpdate modus-themes to version 2.2.0
Protesilaos Stavrou [Wed, 23 Feb 2022 07:42:40 +0000 (09:42 +0200)]
Update modus-themes to version 2.2.0

* doc/misc/modus-themes.org (Enable and load)
(Differences between loading and enabling): Clarify wording.
(Customization Options): Update sample configuration.
(Option for completion framework aesthetics): Refactor
'modus-themes-completions' to accept an alist value instead of a
symbol.
(Override colors): Elaborate on the example.
(Toggle themes without reloading them): Document sample command that
uses 'enable-theme' instead of 'load-theme'.
(Acknowledgements): Update names of contributors to ideas.
* etc/themes/modus-themes.el (modus-themes-operandi-colors)
(modus-themes-vivendi-colors): Tweak the palette's completion-related
background colors.
(modus-themes-completion-standard-first-match)
(modus-themes-completion-standard-selected)
(modus-themes-completion-extra-selected): Deprecate faces and replace
them with 'modus-themes-completion-selection'.
(modus-themes-completion-key-binding): Rename it to
'modus-themes-key-binding'.
(modus-themes-mode-line): Remove faulty default value.
(modus-themes-completions): Refactor it to accept an alist value.
(modus-themes-box-buttons): Fix typo.
(modus-themes--standard-completions, modus-themes--extra-completions)
(modus-themes--extra-completions-line): Remove outdated private
functions.
(modus-themes--completion): Add new private function.
(modus-themes-faces): Update faces.

* etc/themes/modus-operandi-theme.el:
* etc/themes/modus-vivendi-theme.el: Bump file's version.

For a detailed change log, read:
<https://protesilaos.com/codelog/2022-02-23-modus-themes-2-2-0/>.

3 years agoIgnore 'eshell-broken-pipe' error in 'eshell-sentinel'
Jim Porter [Mon, 21 Feb 2022 20:14:34 +0000 (12:14 -0800)]
Ignore 'eshell-broken-pipe' error in 'eshell-sentinel'

This can happen if 'eshell-sentinel' tries to write output to another
process, but that process has already terminated.

* lisp/eshell/esh-proc.el (eshell-sentinel): Use 'ignore-error'
instead of 'unwind-protect'.

3 years agoReword face-remap-add-relative manual entry
Lars Ingebrigtsen [Wed, 23 Feb 2022 11:58:37 +0000 (12:58 +0100)]
Reword face-remap-add-relative manual entry

* doc/lispref/display.texi (Face Remapping): Clarify the
face-remap-add-relative (bug#54114).

3 years agoMake face-remap-set-base work with a single face again
Lars Ingebrigtsen [Wed, 23 Feb 2022 11:50:07 +0000 (12:50 +0100)]
Make face-remap-set-base work with a single face again

* lisp/face-remap.el (face-remap-set-base): Fix regression
introduced by cece37cf09de9 (bug#46973).

3 years ago* src/xterm.c (x_term_init): Catch some errors from defective X servers.
Po Lu [Wed, 23 Feb 2022 10:11:29 +0000 (18:11 +0800)]
* src/xterm.c (x_term_init): Catch some errors from defective X servers.

3 years agoImprove input extension version checks on GTK 3
Po Lu [Wed, 23 Feb 2022 07:13:23 +0000 (15:13 +0800)]
Improve input extension version checks on GTK 3

* src/xterm.c (x_term_init): If newer versions of XInput 2 don't
work, then look for an older one.

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

3dfc8bff15 Fix indexing of module functions that return enumeration t...
86c0d9eb5f * doc/misc/transient.texi (Other Options): Fix a @ref.  (B...
3b5e29eaa3 tramp.texi texinfo 4.13 compatibility
5edb9572ec Explain "Tramp" spelling in its manual

3 years agoFix display corruption with background alpha set on unsupported display
Po Lu [Wed, 23 Feb 2022 05:13:19 +0000 (13:13 +0800)]
Fix display corruption with background alpha set on unsupported display

* src/xfns.c (x_set_alpha_background): Make opaque if display
doesn't support the required features.

3 years ago(add-hook): Fix regression
Stefan Monnier [Wed, 23 Feb 2022 03:52:40 +0000 (22:52 -0500)]
(add-hook): Fix regression

* lisp/subr.el (add-hook): When the hook has no local part yet, don't
set `local` to t, so we set the right part of the depth-sym.
(remove-hook): Don't modify the depth alist by side-effect since I'm
not completely sure it's safe.

3 years ago* src/xterm.c: Expand commentary.
Po Lu [Wed, 23 Feb 2022 03:40:11 +0000 (11:40 +0800)]
* src/xterm.c: Expand commentary.

3 years agoUnbreak project switcher when inside *xref* buffer
Dmitry Gutov [Wed, 23 Feb 2022 01:53:05 +0000 (03:53 +0200)]
Unbreak project switcher when inside *xref* buffer

* lisp/progmodes/xref.el (xref--ensure-default-directory):
New function.
(xref--show-xref-buffer, xref-show-definitions-buffer-at-bottom):
Use it (bug#53626).

3 years ago* src/xterm.c (x_term_init): Don't catch errors too many times.
Po Lu [Wed, 23 Feb 2022 00:58:06 +0000 (08:58 +0800)]
* src/xterm.c (x_term_init): Don't catch errors too many times.

3 years agoFix X errors caused by GTK using newer versions of XI2 than Emacs
Po Lu [Wed, 23 Feb 2022 00:56:06 +0000 (08:56 +0800)]
Fix X errors caused by GTK using newer versions of XI2 than Emacs

* src/xterm.c (x_term_init): Handle errors from XIQueryVersion
caused by Emacs requesting versions of XI2 older than 2.2 and
what GTK requested.

3 years agoFix indexing of module functions that return enumeration types.
Philipp Stephani [Tue, 22 Feb 2022 20:39:32 +0000 (21:39 +0100)]
Fix indexing of module functions that return enumeration types.

Return types that consist of more than one word need to be enclosed in
braces, see Info node `(texinfo) Typed Functions'.  Otherwise they are
indexed incorrectly.

* doc/lispref/internals.texi (Module Misc, Module Nonlocal): Enclose
multi-word return types in braces.

3 years agoEnable "Revert Buffer" if file has different writability
Lars Ingebrigtsen [Tue, 22 Feb 2022 14:44:14 +0000 (15:44 +0100)]
Enable "Revert Buffer" if file has different writability

* lisp/menu-bar.el (menu-bar-file-menu): Enable "Revert Buffer" if
the file has different writability than the buffer (bug#17148).

3 years ago(add-hook, remove-hook): Fix leaks (bug#48666)
Stefan Monnier [Tue, 22 Feb 2022 15:18:43 +0000 (10:18 -0500)]
(add-hook, remove-hook): Fix leaks (bug#48666)

* lisp/subr.el (add-hook, remove-hook): Rewrite the hook depth
management so we only keep the info relevant to functions present on
the hook.

3 years ago* doc/misc/transient.texi (Other Options): Fix a @ref. (Bug#54108)
Eli Zaretskii [Tue, 22 Feb 2022 14:37:22 +0000 (16:37 +0200)]
* doc/misc/transient.texi (Other Options): Fix a @ref.  (Bug#54108)

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 agotramp.texi texinfo 4.13 compatibility
Glenn Morris [Tue, 22 Feb 2022 14:08:07 +0000 (14:08 +0000)]
tramp.texi texinfo 4.13 compatibility

* doc/misc/tramp.texi (Frequently Asked Questions):
Restore compatibility with Texinfo < 5.

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 agoExplain "Tramp" spelling in its manual
Michael Albinus [Tue, 22 Feb 2022 13:45:59 +0000 (14:45 +0100)]
Explain "Tramp" spelling in its manual

* doc/misc/tramp.texi (Frequently Asked Questions):
Explain "Tramp" spelling.

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.