]> git.eshelyaron.com Git - emacs.git/log
emacs.git
2 years agoMake list-times not include zero elements
Lars Ingebrigtsen [Wed, 13 Apr 2022 13:31:02 +0000 (15:31 +0200)]
Make list-times not include zero elements

* doc/lispref/os.texi (Time Parsing): Mention %x.
* lisp/calendar/time-date.el (format-seconds): Accept a new %x
spec that removes trailing zeros (bug#54904).

* lisp/emacs-lisp/timer-list.el (list-timers): Don't display
trailing zero bits.

2 years ago; * etc/NEWS: Mention that PGTK build needs GTK >= 3.20.
Eli Zaretskii [Wed, 13 Apr 2022 11:53:35 +0000 (14:53 +0300)]
; * etc/NEWS: Mention that PGTK build needs GTK >= 3.20.

2 years agoMove raw event selection on GTK+ 2 to a more appropriate place
Po Lu [Wed, 13 Apr 2022 11:13:38 +0000 (19:13 +0800)]
Move raw event selection on GTK+ 2 to a more appropriate place

* src/xfns.c (setup_xi_event_mask): Stop selecting for
RawKeyPress on the root window.
* src/xterm.c (x_new_focus_frame): Select here instead, once a
frame becomes focused.

2 years agoFix marking upgrades for packages from ELPA or NonGNU ELPA
Po Lu [Wed, 13 Apr 2022 07:17:30 +0000 (07:17 +0000)]
Fix marking upgrades for packages from ELPA or NonGNU ELPA

* lisp/emacs-lisp/package.el (package-menu--find-upgrades): Look
inside ``external'' packages as well when searching for
upgrades.  (bug#54117)

2 years agoFix input availability detection during visible-bell
Po Lu [Wed, 13 Apr 2022 07:03:50 +0000 (15:03 +0800)]
Fix input availability detection during visible-bell

* src/xterm.c (XTflash): Exit pselect loop also if input becomes
available on f's display connection.

2 years agoMinor cleanups to Haiku windowing
Po Lu [Wed, 13 Apr 2022 06:46:45 +0000 (06:46 +0000)]
Minor cleanups to Haiku windowing

* src/haikufns.c (haiku_create_frame, haiku_create_tip_frame):
* src/haikuterm.h (struct haiku_output, struct scroll_bar)
(XSCROLL_BAR): Remove used fields of various structs.

* src/haikuterm.c (haiku_flash): Make input detection actually
work.

2 years agoFix zoom rect computation for some deskbar positions on Haiku
Po Lu [Wed, 13 Apr 2022 04:44:11 +0000 (04:44 +0000)]
Fix zoom rect computation for some deskbar positions on Haiku

* src/haiku_support.cc (CalculateZoomRect): Fix computation for
left top and right bottom.

2 years agoFix last change in configure.ac
Po Lu [Wed, 13 Apr 2022 03:17:34 +0000 (11:17 +0800)]
Fix last change in configure.ac

* configure.ac: Test window system against "x11", not "x".

2 years agoBump minimum GTK for PGTK builds
Po Lu [Wed, 13 Apr 2022 03:13:28 +0000 (11:13 +0800)]
Bump minimum GTK for PGTK builds

* configure.ac: Require GTK 3.20 or later if building with PGTK.
It has already been required for some time now, but the
requirement was not reflected in the configure script.

* src/pgtkterm.c (pgtk_any_window_to_frame): Remove version
check.

2 years agoTweak how `M-q' in emacs-lisp-mode works
Lars Ingebrigtsen [Wed, 13 Apr 2022 03:07:30 +0000 (05:07 +0200)]
Tweak how `M-q' in emacs-lisp-mode works

* lisp/emacs-lisp/lisp-mode.el (lisp-fill-paragraph): Only fill as
strings inside strings (bug#31656).
(lisp--fill-line-simple): New function to do simple sexp-based
filling.

2 years agoClean up PGTK code more
Po Lu [Wed, 13 Apr 2022 02:54:56 +0000 (10:54 +0800)]
Clean up PGTK code more

* src/pgtkterm.c (STORE_KEYSYM_FOR_DEBUG): Delete macro.
(x_find_modifier_meanings): Delete function.
(get_modifier_values, pgtk_gtk_to_emacs_modifiers)
(pgtk_emacs_to_gtk_modifiers): Use GDK's own modifier mask
constants instead of detecting our own from the keymap.  This
does mean a specific "meta" key will no longer be detected on X
Windows, but that interface doesn't exist on Wayland, and X
users should use the X port anyway.
(key_press_event): Avoid decoding input text.
(pgtk_term_init): Stop computing modifiers.
(syms_of_pgtkterm): Delete obsolete comment.
* src/pgtkterm.h (struct pgtk_display_info): Delete modifier
masks.

2 years agoRemove unused flag on Haiku
Po Lu [Wed, 13 Apr 2022 02:37:54 +0000 (02:37 +0000)]
Remove unused flag on Haiku

* src/haikufns.c (haiku_create_frame, haiku_create_tip_frame):
* src/haikuterm.h (struct haiku_output): Delete mentions of
`explicit_parent'.

2 years agoFix bit rot in the XEmbed code
Po Lu [Wed, 13 Apr 2022 02:07:00 +0000 (10:07 +0800)]
Fix bit rot in the XEmbed code

* src/xterm.c (x_term_init): Delete unused atom.
(handle_one_xevent):
(x_make_frame_visible): Handle embedded frame visibility
correctly.
* src/xterm.h (struct x_display_info): Delete unused atom.

2 years agoAdd NEWS entry for `C-h m' change
Lars Ingebrigtsen [Wed, 13 Apr 2022 01:52:15 +0000 (03:52 +0200)]
Add NEWS entry for `C-h m' change

2 years agoRedo `C-h m' output
Lars Ingebrigtsen [Wed, 13 Apr 2022 01:50:06 +0000 (03:50 +0200)]
Redo `C-h m' output

* lisp/help-fns.el (describe-mode--minor-modes): New function
(bug#2473).
(describe-mode): Rewritten to include local minor mode links first,
then the major mode, and then global minor mode links, and then
all the minor modes.

2 years agoMake `describe-mode' include a link to the major mode function
Lars Ingebrigtsen [Wed, 13 Apr 2022 00:51:03 +0000 (02:51 +0200)]
Make `describe-mode' include a link to the major mode function

* lisp/help-fns.el (describe-mode): Add a link to the mode
function so that the user can go to the manual more easily
(bug#575).

2 years agoFix freezes when trying to accelerate menu bar on Haiku
Po Lu [Wed, 13 Apr 2022 00:47:00 +0000 (00:47 +0000)]
Fix freezes when trying to accelerate menu bar on Haiku

* src/haiku_support.cc (class EmacsWindow): New field
`menus_begun'.
(MenusBeginning): Don't send menu bar open events when that is
set, instead set it to true.
(BMenuBar_start_tracking): Stop locking the menu bar here and
send a special BE_MENU_BAR_OPEN event instead.
* src/haiku_support.h (struct haiku_menu_bar_state_event):
Delete field `no_lock'.
* src/haikumenu.c (Fhaiku_menu_bar_open):
* src/haikuterm.c (haiku_read_socket): Update accordingly.

2 years agoProvide a useful default to smime-CA-file
Lars Ingebrigtsen [Wed, 13 Apr 2022 00:29:27 +0000 (02:29 +0200)]
Provide a useful default to smime-CA-file

* lisp/gnus/smime.el (smime-CA-file): Use `gnutls-trustfiles' to
provide a default so that this will work automatically on many
systems (bug#20960).

2 years agoMake the SVG error message less verbose
Lars Ingebrigtsen [Tue, 12 Apr 2022 23:38:10 +0000 (01:38 +0200)]
Make the SVG error message less verbose

* src/image.c (svg_load_image): Don't include the spec in the
error message, because this is commonly the entire SVG string, and
this will fill up the *Messages* buffer quickly.

2 years agoMention animated WebP images
Lars Ingebrigtsen [Tue, 12 Apr 2022 19:29:10 +0000 (21:29 +0200)]
Mention animated WebP images

2 years agoFix eager macroexpansion cycle in cl-once-only
Sean Whitton [Tue, 12 Apr 2022 15:59:22 +0000 (17:59 +0200)]
Fix eager macroexpansion cycle in cl-once-only

* lisp/emacs-lisp/cl-macs.el (cl-once-only): Use different cl-loop
syntax, with no functional change, but such that the loop does not
expand into cl-psetq.

2 years agoImprove DISPOSE_PREVIOUS in gif_load slightly
Lars Ingebrigtsen [Tue, 12 Apr 2022 14:22:27 +0000 (16:22 +0200)]
Improve DISPOSE_PREVIOUS in gif_load slightly

* src/image.c (gif_load): Tweak how DISPOSE_PREVIOUS is handled.
It's still not right, but it's less glaringly wrong.

2 years agoFix 'window-text-pixel-size' when starting from a display property
Eli Zaretskii [Tue, 12 Apr 2022 14:19:06 +0000 (17:19 +0300)]
Fix 'window-text-pixel-size' when starting from a display property

* src/xdisp.c (Fwindow_text_pixel_size): Handle the case where
there's a display property at START and 'move_it_to' overshoots.
(Bug#54862)

2 years agoFix webp_load data lifetime issues
Lars Ingebrigtsen [Tue, 12 Apr 2022 14:08:50 +0000 (16:08 +0200)]
Fix webp_load data lifetime issues

* src/image.c (webp_load): Take care of lifetime issues of the
image data we're iterating over for animated images.

2 years agoFix keyboard event device attribution on GTK+ 2
Po Lu [Tue, 12 Apr 2022 13:29:02 +0000 (21:29 +0800)]
Fix keyboard event device attribution on GTK+ 2

* src/xfns.c (setup_xi_event_mask): Select for raw keypress
events on GTK 2.
* src/xterm.c (handle_one_xevent): Set pending keystroke time
when a raw event is received.
* src/xterm.h (struct x_display_info): New flag
`pending_keystroke_time_special_p'.

2 years agoFix detection of Meta key in some cases
Po Lu [Tue, 12 Apr 2022 13:15:05 +0000 (21:15 +0800)]
Fix detection of Meta key in some cases

* src/xterm.c (x_find_modifier_meanings): Set found_meta_p
correctly.

2 years agoFix check for whether frames fit into gif images
Lars Ingebrigtsen [Tue, 12 Apr 2022 13:11:09 +0000 (15:11 +0200)]
Fix check for whether frames fit into gif images

* src/image.c (gif_load): Really check all frames that they fit.

2 years agoFix some confusing names in xterm.c
Po Lu [Tue, 12 Apr 2022 13:08:36 +0000 (21:08 +0800)]
Fix some confusing names in xterm.c

* src/xterm.c (enum xm_targets_table_byte_order): Rename to
`xm_byte_order'.  All uses changed.

2 years agoStore less data in the gif animation cache
Lars Ingebrigtsen [Tue, 12 Apr 2022 12:45:13 +0000 (14:45 +0200)]
Store less data in the gif animation cache

* src/image.c (gif_load): Only start a cache if we're have an
:index entry (which means that we're trying to animate something).

2 years agoFix clicking on files in Dired when drag is enabled
Po Lu [Tue, 12 Apr 2022 11:21:21 +0000 (19:21 +0800)]
Fix clicking on files in Dired when drag is enabled

* lisp/dired.el (dired-mouse-drag): Don't drag if the mouse
didn't move far enough.

2 years agoRelease resources in gif_load on errors
Lars Ingebrigtsen [Tue, 12 Apr 2022 11:17:14 +0000 (13:17 +0200)]
Release resources in gif_load on errors

* src/image.c (webp_load): Clean up code slightly.
(gif_load): Really release resources on GIF parsing errors.

2 years agoAnimate GIF images that don't have an explicit delay setting
Lars Ingebrigtsen [Tue, 12 Apr 2022 10:43:56 +0000 (12:43 +0200)]
Animate GIF images that don't have an explicit delay setting

* src/image.c (gif_load): Use the default delay for GIF images
that don't explicitly state a delay.

2 years agoAdd biblatex alias entry types for compability with bibtex
Olaf Trygve Berglihn [Tue, 12 Apr 2022 10:21:19 +0000 (12:21 +0200)]
Add biblatex alias entry types for compability with bibtex

* lisp/textmodes/bibtex.el (bibtex-biblatex-entry-alist): Add
biblatex alias entry types for compability with bibtex (bug#54877).

Copyright-paperwork-exempt: yes

2 years agoFix thinko in the anim cache
Lars Ingebrigtsen [Tue, 12 Apr 2022 10:12:24 +0000 (12:12 +0200)]
Fix thinko in the anim cache

* src/image.c (gif_load): Fix resetting the cache when we're out
of sync.
(anim_create_cache): Start from zero, not 1.

2 years agoDisallow drag and drop inside a menu-entry
Po Lu [Tue, 12 Apr 2022 08:36:42 +0000 (16:36 +0800)]
Disallow drag and drop inside a menu-entry

* src/xterm.c (x_dnd_cleanup_drag_and_drop): Always free DND
targets even if waiting for finish.
(x_dnd_begin_drag_and_drop): Free targets correctly when
signalling error and prevent activating drag-and-drop inside a
menu or popup.  (It doesn't work.)

2 years agoAdapt macOS defaults in Tramp's process-attributes implementation
Michael Albinus [Tue, 12 Apr 2022 07:41:11 +0000 (09:41 +0200)]
Adapt macOS defaults in Tramp's process-attributes implementation

* doc/misc/tramp.texi (Remote processes):
Mention tramp-connection-local-darwin-ps-* constants.

* lisp/net/tramp-integration.el
(tramp-connection-local-darwin-ps-variables): Fix docstring.
(top): Simplify setting local profiles.

* test/lisp/net/tramp-tests.el (tramp-test31-list-system-processes)
(tramp-test31-process-attributes): New tests.

2 years agoprocess-attributes-ps-args / process-attributes-ps-format for Darwin
Filipp Gunbin [Tue, 12 Apr 2022 07:12:29 +0000 (09:12 +0200)]
process-attributes-ps-args / process-attributes-ps-format for Darwin

* lisp/net/tramp-integration.el
(tramp-darwin-process-attributes-ps-args)
(tramp-darwin-process-attributes-ps-format)
(tramp-connection-local-darwin-ps-variables): New defconsts.  Add
them to connection-local variables.  Preset default "ps" profile
for Darwin.

2 years agoAdd two classic Common Lisp macro-writing macros
Sean Whitton [Mon, 11 Apr 2022 16:20:35 +0000 (09:20 -0700)]
Add two classic Common Lisp macro-writing macros

* lisp/emacs-lisp/cl-macs.el (cl-with-gensyms, cl-once-only): New macros.

2 years agoFix some DISPLAY variable related bugs on PGTK
Po Lu [Tue, 12 Apr 2022 05:27:56 +0000 (13:27 +0800)]
Fix some DISPLAY variable related bugs on PGTK

* src/callproc.c (getenv_internal, make_environment_block):
Don't set DISPLAY on non-X GDK backends.  (bug#54844)

2 years ago* src/xterm.c (frame_set_mouse_pixel_position): Avoid server grab.
Po Lu [Tue, 12 Apr 2022 04:01:34 +0000 (12:01 +0800)]
* src/xterm.c (frame_set_mouse_pixel_position): Avoid server grab.

2 years agoDon't use native image APIs for some types on Haiku
Po Lu [Tue, 12 Apr 2022 02:37:39 +0000 (02:37 +0000)]
Don't use native image APIs for some types on Haiku

* src/haikuimage.c (haiku_can_use_native_image_api): Ignore
types with animations when their respective libraries are
present.

2 years agoFix last tool bar bug on Haiku as well
Po Lu [Tue, 12 Apr 2022 00:47:38 +0000 (00:47 +0000)]
Fix last tool bar bug on Haiku as well

* src/haikuterm.c (haiku_read_socket): Adapt last change to
Haiku.

2 years agoFix selecting text and releasing the mouse buttons above the toolbar
Po Lu [Tue, 12 Apr 2022 00:41:19 +0000 (08:41 +0800)]
Fix selecting text and releasing the mouse buttons above the toolbar

* src/xterm.c (handle_one_xevent): Don't send ButtonRelease
events to tool bars if there is no selected tool bar item.

2 years ago* lisp/emacs-lisp/macroexp.el (macroexp-let2*): Allow common shorthand
Stefan Monnier [Mon, 11 Apr 2022 19:10:51 +0000 (15:10 -0400)]
* lisp/emacs-lisp/macroexp.el (macroexp-let2*): Allow common shorthand

2 years agoUse preferred chars among duplicates as per UTR#25 §25.
Paul Eggert [Mon, 11 Apr 2022 17:37:59 +0000 (10:37 -0700)]
Use preferred chars among duplicates as per UTR#25 §25.

2 years ago* lisp/minibuffer.el (minibuffer-completion-auto-choose): New defcustom.
Juri Linkov [Mon, 11 Apr 2022 16:51:49 +0000 (19:51 +0300)]
* lisp/minibuffer.el (minibuffer-completion-auto-choose): New defcustom.

(minibuffer-choose-previous-completion)
(minibuffer-choose-next-completion): Remove commands.
(minibuffer-local-completion-map): Remove keybindings of
minibuffer-choose-next-completion and minibuffer-choose-previous-completion.
Use them for minibuffer-next-completion and minibuffer-previous-completion.
* lisp/simple.el (minibuffer-local-shell-command-map): Idem.

2 years agoMake normal image caching actually work when doing animated images
Lars Ingebrigtsen [Mon, 11 Apr 2022 16:50:20 +0000 (18:50 +0200)]
Make normal image caching actually work when doing animated images

* src/image.c (filter_image_spec): New function.
(uncache_image): Use it.
(lookup_image): Ditto.
(syms_of_image): Define some keywords.

2 years ago; etc/NEWS: Fix grammer.
Juri Linkov [Mon, 11 Apr 2022 16:48:13 +0000 (19:48 +0300)]
; etc/NEWS: Fix grammer.

2 years agoMake more IPV6 domains non-suspicious in textsec
Lars Ingebrigtsen [Mon, 11 Apr 2022 15:36:26 +0000 (17:36 +0200)]
Make more IPV6 domains non-suspicious in textsec

* lisp/international/textsec.el (textsec--ipvx-address-p): Make
more IPV6 domains non-suspicious.

2 years ago; * src/image.c: move #endif to correct place
Mattias Engdegård [Mon, 11 Apr 2022 15:10:21 +0000 (17:10 +0200)]
; * src/image.c: move #endif to correct place

2 years agoMake gif_load work across architectures again
Lars Ingebrigtsen [Mon, 11 Apr 2022 14:52:34 +0000 (16:52 +0200)]
Make gif_load work across architectures again

* src/image.c (gif_load): Invert the way animated pixmaps are
created: Work on the cached computed-so-far pixmap, and then copy
the entire thing to the ximg with PUT_PIXEL at the end.  This
should work across platforms, which the previous version didn't.

2 years agoRevert "; * src/image.c (gif_load): Fix compilation error on MS-Windows."
Lars Ingebrigtsen [Mon, 11 Apr 2022 14:45:14 +0000 (16:45 +0200)]
Revert "; * src/image.c (gif_load): Fix compilation error on MS-Windows."

This reverts commit a715f2fbe70bb4cbb961e82af95e2965030b4513.

This is fixed in a different way in a subsequent commit.

2 years agoRecognise hybrid IPv6/IPv4 addresses in textsec (bug#54624)
Mattias Engdegård [Mon, 11 Apr 2022 14:22:38 +0000 (16:22 +0200)]
Recognise hybrid IPv6/IPv4 addresses in textsec (bug#54624)

* lisp/international/textsec.el (textsec--ipvx-address-p):
  Recognise hybrid addresses like "::ffff:129.55.2.201".
  Combine to a single regexp and translate to rx.
  Remove some regexp ambiguity (relint complaint).
* test/lisp/international/textsec-tests.el (test-suspiction-domain):
  Add test cases.

2 years ago; * src/image.c (gif_load): Fix compilation error on MS-Windows.
Eli Zaretskii [Mon, 11 Apr 2022 14:04:31 +0000 (17:04 +0300)]
; * src/image.c (gif_load): Fix compilation error on MS-Windows.

2 years agoFix anim_cache garbage collection
Lars Ingebrigtsen [Mon, 11 Apr 2022 13:18:41 +0000 (15:18 +0200)]
Fix anim_cache garbage collection

* src/image.c (struct anim_cache): Move earlier.
(mark_image_cache): Mark the Lisp_Object in the anim cache.

2 years agoFix compilation errors when HAVE_GIF and not HAVE_WEBP
Lars Ingebrigtsen [Mon, 11 Apr 2022 12:54:31 +0000 (14:54 +0200)]
Fix compilation errors when HAVE_GIF and not HAVE_WEBP

* src/image.c: Enable the cache functions when HAVE_GIF, too

2 years agoSpeed up GIF animations
Lars Ingebrigtsen [Mon, 11 Apr 2022 12:38:27 +0000 (14:38 +0200)]
Speed up GIF animations

* src/image.c (anim_prune_animation_cache): Tweak the destructor
API.
(gif_destroy): New function.
(gif_load): Use a cache to avoid quadratic CPU usage for animated
images (bug#45224).
(webp_destroy): New function.
(webp_load): Use it.

2 years agoRefactor the webp cache code to allow usage by gif_load, too
Lars Ingebrigtsen [Mon, 11 Apr 2022 11:35:45 +0000 (13:35 +0200)]
Refactor the webp cache code to allow usage by gif_load, too

* src/image.c (struct anim_cache, anim_create_cache)
(anim_prune_animation_cache, anim_get_animation_cache): Rename
from webp_cache (etc) to prepare for usage in the gif animation
implementation, too.
(webp_load): Adjust cache usage.

2 years agoFix event source attribution for GTK input methods
Po Lu [Mon, 11 Apr 2022 11:27:07 +0000 (19:27 +0800)]
Fix event source attribution for GTK input methods

* src/gtkutil.c (xg_im_context_commit): Use pending keystroke
source if it exists.

2 years agoImprove gif_load error messages
Lars Ingebrigtsen [Mon, 11 Apr 2022 10:32:55 +0000 (12:32 +0200)]
Improve gif_load error messages

* src/image.c (gif_load): Improve error reporting (bug#54848).

2 years agoEnsure shell.el loading properly
Lars Ingebrigtsen [Mon, 11 Apr 2022 10:12:41 +0000 (12:12 +0200)]
Ensure shell.el loading properly

* lisp/shell.el (subr-x): Require for string-chop-newline
(bug#54834).

2 years agoAlways cascade from toplevel frames on Haiku
Po Lu [Mon, 11 Apr 2022 07:45:37 +0000 (07:45 +0000)]
Always cascade from toplevel frames on Haiku

* src/haikufns.c (haiku_create_frame): Cascade from toplevel
frames, since otherwise the positions are wrong anyway, and it
doesn't make sense to cascade from a frame that disappears when
it becomes deactivated.

2 years agoFix IM event source attribution on GTK
Po Lu [Mon, 11 Apr 2022 04:25:51 +0000 (12:25 +0800)]
Fix IM event source attribution on GTK

* src/xterm.c (handle_one_xevent): Set pending times on GTK as
well.
* src/gtkutil.c (xg_widget_key_press_event_cb): Respect pending
keystroke time on XI2.

2 years ago* src/xterm.c (handle_one_event): Make event attribution more accurate.
Po Lu [Mon, 11 Apr 2022 01:16:22 +0000 (09:16 +0800)]
* src/xterm.c (handle_one_event): Make event attribution more accurate.

2 years agoAdd lazy highlight when reading 'query-replace' arguments
Augusto Stoffel [Sat, 9 Apr 2022 10:47:28 +0000 (12:47 +0200)]
Add lazy highlight when reading 'query-replace' arguments

* lisp/replace.el (query-replace-read-args):  Use
'minibuffer-lazy-highlight-setup' to highlight the text to be replaced
in the original buffer (and a match count, if applicable).
(replace--region-filter): New function for code that
used to be inlined in perform-replace but is useful elsewhere.
(perform-replace): Use 'replace--region-filter'.

2 years agoRewrite the minibuffer lazy highlight feature
Augusto Stoffel [Sat, 9 Apr 2022 10:38:14 +0000 (12:38 +0200)]
Rewrite the minibuffer lazy highlight feature

The new API was discussed in bug#53126.  It's more robust and easier
to use in complex cases like that of 'query-replace'.

* etc/NEWS: Amend the feature announcement
* lisp/isearch.el (isearch-edit-string): Use new API.
(minibuffer-lazy-highlight-transform,
minibuffer-lazy-highlight--overlay, minibuffer-lazy-highlight--count,
minibuffer-lazy-highlight--after-change,
minibuffer-lazy-highlight--exit) Remove helper functions, which are
now kept together with the lazy highlight configuration variables
within a closure.
(minibuffer-lazy-highlight-setup): This function now takes the lazy
highlighting configuration variables as argument, and returns a
closure that is intended to run as part of the minibuffer setup.

2 years agoFix markup in Drag and Drop
Lars Ingebrigtsen [Sun, 10 Apr 2022 14:15:21 +0000 (16:15 +0200)]
Fix markup in Drag and Drop

* doc/emacs/frames.texi (Drag and Drop): Fix markup.

2 years agoFix WebP image support on MS-Windows
Eli Zaretskii [Sun, 10 Apr 2022 13:45:43 +0000 (16:45 +0300)]
Fix WebP image support on MS-Windows

* src/image.c (init_webp_functions) [WINDOWSNT]: Load Demux
functions from the WebPDemux DLL.  Load internal functions where
the public APIs are inline functions defined in the WebP headers.
(WebPAnimDecoderOptionsInit) [WINDOWSNT]: Define to call
'WebPAnimDecoderOptionsInitInternal'.
(WebPDemux): Define to call 'WebPDemuxInternal'.
(WebPAnimDecoderNew): Define to call
'WebPAnimDecoderNewInternal'.
(syms_of_image) <webpdemux>: New symbol.

* lisp/term/w32-win.el (dynamic-library-alist): Add a member for
'webpdemux'.

2 years agoFix a ja-dic compilation warning
Kévin Le Gouguec [Sun, 10 Apr 2022 12:43:02 +0000 (14:43 +0200)]
Fix a ja-dic compilation warning

* leim/Makefile.in (${leimdir}/ja-dic/ja-dic.el): Increase
specpdl-size to avoid a compilation warning (bug#54816).

2 years agoCC Mode: Fix unwanted fontification of function call as function declaration
Alan Mackenzie [Sun, 10 Apr 2022 12:20:39 +0000 (12:20 +0000)]
CC Mode: Fix unwanted fontification of function call as function declaration

This happens when the enclosing function's return type is a struct, etc.  This
fixes bug #54743;

* lisp/progmodes/cc-engine.el (c-update-brace-stack): Replace "(" by ")" in a
`member' call.

2 years agoUpdate docstrings for shortdoc.el FUNC lisp form API
Kaushal Modi [Sun, 10 Apr 2022 11:52:15 +0000 (13:52 +0200)]
Update docstrings for shortdoc.el FUNC lisp form API

* lisp/emacs-lisp/shortdoc.el (define-short-documentation-group):
Updated docstrings.

2 years agoAttribute filtered events to the right source device
Po Lu [Sun, 10 Apr 2022 11:33:51 +0000 (19:33 +0800)]
Attribute filtered events to the right source device

* src/xterm.c (handle_one_xevent): Attribute core events sent by
input methods like I-Bus to the extension device that caused
them to be sent.
* src/xterm.h (struct x_display_info): New fields
`pending_keystroke_time' and `pending_keystroke_source'.

2 years agoAdd support for animated webp images
Lars Ingebrigtsen [Sun, 10 Apr 2022 11:12:30 +0000 (13:12 +0200)]
Add support for animated webp images

* configure.ac (HAVE_RSVG): Also include the webpdemux library.
It was new in version 0.4.4, and we require 0.6.0, so it should be
safe.
* src/image.c: Include demux.h.
(enum webp_keyword_index, webp_format): Include :index for
animations.
(init_webp_functions): Add Windows LOAD_DLLs.
(struct webp_cache, webp_create_cache)
(webp_prune_animation_cache, webp_get_animation_cache): New
functions.
(webp_load): Support animated webp images (bug#54242).

2 years agoAllow non-interactive uses of minibuffer-next-completion
Juri Linkov [Sun, 10 Apr 2022 07:37:55 +0000 (10:37 +0300)]
Allow non-interactive uses of minibuffer-next-completion

* lisp/minibuffer.el (minibuffer-previous-completion)
(minibuffer-next-completion): Use 1 for n by default.

2 years agoAdd missing details to filter event on XI2
Po Lu [Sun, 10 Apr 2022 05:55:18 +0000 (13:55 +0800)]
Add missing details to filter event on XI2

* src/xterm.c (handle_one_xevent): Pass coordinates when
translating XI2 key events to core key events.

2 years agoUpdate XI2 device use on slave attachment and detachment
Po Lu [Sun, 10 Apr 2022 03:06:41 +0000 (11:06 +0800)]
Update XI2 device use on slave attachment and detachment

* src/xterm.c (handle_one_xevent): Update whether device is a
master device when it's detached or attached.

2 years agoTry harder to own DND selections
Po Lu [Sun, 10 Apr 2022 01:31:24 +0000 (09:31 +0800)]
Try harder to own DND selections

* src/xterm.c (x_dnd_do_unsupported_drop): Fix computation of
local value.
(x_dnd_begin_drag_and_drop): Try to own the selection if we do
have a local value.

2 years agoFix mode-line doc string
Lars Ingebrigtsen [Sun, 10 Apr 2022 01:15:03 +0000 (03:15 +0200)]
Fix mode-line doc string

* lisp/faces.el (mode-line): Fix doc string.

2 years agoses-test Prefix used symbols by ses--
Vincent Belaïche [Sat, 9 Apr 2022 22:26:33 +0000 (00:26 +0200)]
ses-test Prefix used symbols by ses--

* test/lisp/ses-tests.el: Rename cell symbols of renamed cells so
that they are in the SES namespace, as recommended by Stefan.

2 years agoFix sql-mode comment-end parsing
Lars Ingebrigtsen [Fri, 8 Apr 2022 13:45:07 +0000 (15:45 +0200)]
Fix sql-mode comment-end parsing

* lisp/progmodes/sql.el (sql-mode): Fix /* ... -*/ parsing
(bug#54769).

2 years agoAvoid sync when allowing touch events in handle_one_xevent
Po Lu [Sat, 9 Apr 2022 10:25:22 +0000 (18:25 +0800)]
Avoid sync when allowing touch events in handle_one_xevent

* src/xterm.c (handle_one_xevent): Don't catch errors around
XIAllowTouchEvents.
(x_error_handler): Ignore Device errors here instead.

2 years ago; * doc/emacs/trouble.texi (Memory Full): Minor copyedits.
Eli Zaretskii [Sat, 9 Apr 2022 09:57:08 +0000 (12:57 +0300)]
; * doc/emacs/trouble.texi (Memory Full): Minor copyedits.

2 years agoHandle hierarchy events for updating scroll valuators correctly
Po Lu [Sat, 9 Apr 2022 05:30:32 +0000 (13:30 +0800)]
Handle hierarchy events for updating scroll valuators correctly

* src/keyboard.c (gen_help_event, kbd_buffer_store_help_event):
Make sure to initialize the event buffer correctly.

* src/xterm.c (xi_populate_device_from_info): New function.
(x_init_master_valuators): Factor out most of the valuator
tracking code to that function.
(handle_one_xevent): Handle device enable and disable events in
a more detailed fashion.

2 years agoFix DND leave events not being sent to toplevel after returning frame
Po Lu [Sat, 9 Apr 2022 03:43:23 +0000 (11:43 +0800)]
Fix DND leave events not being sent to toplevel after returning frame

* src/xterm.c (x_dnd_update_state, handle_one_xevent): Make sure
to send leave events to the previous toplevel when cancelling to
return a frame.

2 years agoUse right frame when computing mouse movement device
Po Lu [Sat, 9 Apr 2022 03:37:56 +0000 (11:37 +0800)]
Use right frame when computing mouse movement device

* src/keyboard.c (kbd_buffer_get_event): Use the frame on which
the mouse actually moved to compute the last mouse device.

2 years agoMinor cleanups in X Windows drag-and-drop code
Po Lu [Sat, 9 Apr 2022 03:35:08 +0000 (11:35 +0800)]
Minor cleanups in X Windows drag-and-drop code

* src/keyboard.c (kbd_buffer_get_event): Don't dereference f if
nil when generating mouse motion event.
* src/xterm.c (x_dnd_send_enter, x_dnd_send_position)
(x_dnd_send_leave, x_dnd_send_drop, x_send_scroll_bar_event):
Use NoEventMask instead of 0.

2 years agoFix source reporting for focus in and focus out events
Po Lu [Sat, 9 Apr 2022 01:12:24 +0000 (09:12 +0800)]
Fix source reporting for focus in and focus out events

* src/xterm.c (handle_one_xevent): Report source name for
FocusIn and FocusOut events.

2 years agoClean up XI2 scroll valuator tracking code
Po Lu [Sat, 9 Apr 2022 01:02:24 +0000 (09:02 +0800)]
Clean up XI2 scroll valuator tracking code

* src/xterm.c (x_get_scroll_valuator_delta): Accept a pointer to
a device instead of the device id.
(handle_one_xevent): Pass the previously found device.

2 years ago* src/pgtkterm.c (pgtk_set_cr_source_with_color): Fix default operator.
Po Lu [Sat, 9 Apr 2022 00:48:45 +0000 (08:48 +0800)]
* src/pgtkterm.c (pgtk_set_cr_source_with_color): Fix default operator.

2 years agoFix subpixel AA with alpha-background on Cairo on X
Po Lu [Sat, 9 Apr 2022 00:41:00 +0000 (08:41 +0800)]
Fix subpixel AA with alpha-background on Cairo on X

* xterm.c (x_set_cr_source_with_gc_foreground)
(x_set_cr_source_with_gc_background): Set operator back to OVER
if alpha-background isn't to be respected.

2 years agoUpdate from Gnulib by running admin/merge-gnulib
Paul Eggert [Sat, 9 Apr 2022 00:02:21 +0000 (17:02 -0700)]
Update from Gnulib by running admin/merge-gnulib

2 years agoPacify clang -Wunused-variable
Paul Eggert [Sat, 9 Apr 2022 00:00:20 +0000 (17:00 -0700)]
Pacify clang -Wunused-variable

* src/coding.c (detect_coding_utf_8):
* src/process.c (Finternal_default_process_filter):
Remove unused local vars.

2 years agoebrowse dumping need not return int
Paul Eggert [Fri, 8 Apr 2022 23:41:26 +0000 (16:41 -0700)]
ebrowse dumping need not return int

* lib-src/ebrowse.c (dump_members, dump_tree): Return void, not
int, since callers never actually use returned value.  All uses
changed.

2 years agoFix scrollbars on macOS 10.13 and below (bug#54623)
Alan Third [Wed, 30 Mar 2022 21:40:03 +0000 (22:40 +0100)]
Fix scrollbars on macOS 10.13 and below (bug#54623)

Make any build on macOS 10.13 and below follow the same drawing path
as the GNUstep port.  macOS 10.14 and above will use EmacsLayer.

* src/nsterm.h (EmacsLayer):
* src/nsterm.m ([EmacsView makeBackingLayer]):
([EmacsView unlockFocus]):
([EmacsView windowDidChangeBackingProperties:]):
([EmacsView copyRect:to:]): Remove any code required for macOS 10.13
and below, and fix the #if's to enforce strict separation of the
drawing paths.
(ns_update_end):
(ns_unfocus): Fix #ifs so that flushWindow is called on old macOS
versions as well as GNUstep.

2 years agoFix pacifying gcc -Wanalyzer-null-dereference
Paul Eggert [Fri, 8 Apr 2022 17:18:53 +0000 (10:18 -0700)]
Fix pacifying gcc -Wanalyzer-null-dereference

* src/xterm.c (handle_one_xevent): Use eassume not eassert.
eassert (X)’s suppress_checking does not let GCC assume X.

2 years agoRename mark_stack to mark_c_stack
Mattias Engdegård [Fri, 8 Apr 2022 13:34:57 +0000 (15:34 +0200)]
Rename mark_stack to mark_c_stack

This is the function that marks the C stack.  Avoid confusion with the
new mark stack, a stack used in the GC mark phase.

* src/alloc.c (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK)
(mark_stack, mark_c_stack):
* src/lisp.h:
* src/thread.c (mark_one_thread): Rename mark_stack to mark_c_stack.

2 years agoEnable warnings when building as a developer with Clang
Mattias Engdegård [Fri, 8 Apr 2022 12:57:17 +0000 (14:57 +0200)]
Enable warnings when building as a developer with Clang

The configure-script logic that automatically enables warnings when
building in a development tree didn't work for Clang because it was
identified as an old GCC version.

* configure.ac: Don't test Clang version as if it were GCC.

2 years agoImprove package.el error messages on too-old Emacsen
Lars Ingebrigtsen [Fri, 8 Apr 2022 12:46:14 +0000 (14:46 +0200)]
Improve package.el error messages on too-old Emacsen

* lisp/emacs-lisp/package.el (package-compute-transaction): Give a
better error message on too-old Emacs versions (bug#54747).

2 years agoRecommend that the user turn off memory overcommit
Po Lu [Fri, 8 Apr 2022 11:36:03 +0000 (19:36 +0800)]
Recommend that the user turn off memory overcommit

* doc/emacs/trouble.texi (Memory Full): Tell the user that Emacs
behaves best with overcommit off, and how to turn it off.

2 years ago; * src/nsterm.m: Remove stray semicolon
Mattias Engdegård [Fri, 8 Apr 2022 11:12:40 +0000 (13:12 +0200)]
; * src/nsterm.m: Remove stray semicolon