]> git.eshelyaron.com Git - emacs.git/log
emacs.git
2 years agomh-utils-tests: Add new tests of "folders +/"
Stephen Gildea [Wed, 24 Nov 2021 15:27:18 +0000 (07:27 -0800)]
mh-utils-tests: Add new tests of "folders +/"

* test/lisp/mh-e/mh-utils-tests.el
(mh-sub-folders-actual, mh-sub-folders): Add new tests of "folders +/".
Rewrite tests that were using 'assoc' to use 'member' instead, so that
on failure, ERT logs the list of which the element was not a member,
rather than the 'nil' returned by 'assoc'.
(mh-test-variant-handles-plus-slash): Factor out new helper function.
(mh-folder-completion-function-08-plus-slash)
(mh-folder-completion-function-09-plus-slash-tmp):
Use new helper function.
* test/lisp/mh-e/test-all-mh-variants.sh: LD_LIBRARY_PATH unnecessary.

2 years ago; * etc/NEWS: Fix recently added entries.
Eli Zaretskii [Wed, 24 Nov 2021 14:34:25 +0000 (16:34 +0200)]
; * etc/NEWS: Fix recently added entries.

2 years agoMinor fixes for a recent commit
Eli Zaretskii [Wed, 24 Nov 2021 14:19:25 +0000 (16:19 +0200)]
Minor fixes for a recent commit

* src/xdisp.c (find_display_property): Fix style of comments.
(Fget_display_property): Doc fix.
(get_display_property): Fix style and whitespace.

2 years agoAdd sample of -fanalyzer output (bug#51882)
Mattias Engdegård [Wed, 24 Nov 2021 14:05:07 +0000 (15:05 +0100)]
Add sample of -fanalyzer output (bug#51882)

* etc/compilation.txt (file): Add fragment of GCC diagnostics from
-fanalyzer (from Philip Kaludercic).

2 years agoTighten `gnu` compile regexp further
Mattias Engdegård [Wed, 24 Nov 2021 09:21:49 +0000 (10:21 +0100)]
Tighten `gnu` compile regexp further

* lisp/progmodes/compile.el (compilation-error-regexp-alist-alist):
The -fanalyzer ASCII art does not contain tabs.

2 years agoUse a proportional font for the mode line
Lars Ingebrigtsen [Wed, 24 Nov 2021 13:48:13 +0000 (14:48 +0100)]
Use a proportional font for the mode line

* lisp/bindings.el (mode-line-position): Add min-width specs.
(standard-mode-line-format): Ditto.

* lisp/faces.el (mode-line): Inherit from `variable-pitch'.

2 years agoMake display_min_width work from the mode line
Lars Ingebrigtsen [Wed, 24 Nov 2021 13:43:37 +0000 (14:43 +0100)]
Make display_min_width work from the mode line

* src/xdisp.c (display_min_width): Make this work from mode line
constructs via display_string.

2 years ago; Fix syntax error in generated test/infra/test-jobs.yml
Michael Albinus [Wed, 24 Nov 2021 13:47:55 +0000 (14:47 +0100)]
; Fix syntax error in generated test/infra/test-jobs.yml

2 years ago* admin/unidata/emoji-zwj.awk: Quote functions properly.
Robert Pluim [Mon, 22 Nov 2021 16:42:03 +0000 (17:42 +0100)]
* admin/unidata/emoji-zwj.awk: Quote functions properly.

2 years agoMake `yank-media' work on Haiku
Po Lu [Wed, 24 Nov 2021 12:48:01 +0000 (12:48 +0000)]
Make `yank-media' work on Haiku

This works with what WebPositive does with images, at least.  I don't
know about other programs, but Haiku doesn't seem to standardize this
very well.

* lisp/term/haiku-win.el (haiku--selection-type-to-mime): Handle
regular symbols.
(gui-backend-get-selection): Handle special type `TARGETS'.
(gui-backend-set-selection): Always clear clipboard.

* src/haiku_select.cc (BClipboard_get_targets): New function.
(BClipboard_set_data): New argument `clear'.  All callers
changed.
(BClipboard_set_system_data)
(BClipboard_set_primary_selection_data)
(BClipboard_set_secondary_selection_data): New argument `clear'.

(BClipboard_system_targets, BClipboard_primary_targets)
(BClipboard_secondary_targets): New functions.

* src/haikuselect.c (haiku_selection_data_1): New function.
(Fhaiku_selection_targets): New function.
(Fhaiku_selection_put): Allow controlling if the clipboard is
cleared.
(syms_of_haikuselect): New symbols and subrs.

* src/haikuselect.h (BClipboard_set_system_data)
(BClipboard_set_primary_selection_data)
(BClipboard_set_secondary_selection_data): New argument `clear'.

(BClipboard_system_targets, BClipboard_primary_targets)
(BClipboard_secondary_targets): New functions.

2 years ago* admin/notes/emba (Emacs jobset): Remove stage slow.
Michael Albinus [Wed, 24 Nov 2021 12:43:32 +0000 (13:43 +0100)]
* admin/notes/emba (Emacs jobset): Remove stage slow.

* test/infra/Makefile.in (subdir_template): Add rule.

* test/infra/gitlab-ci.yml (.job-template): Remove changes section.
(.build-template, .gnustep-template, .filenotify-gio-template):
(.native-comp-template): Adapt changes section.
(.test-template): Add needs.  Adapt artifacts paths.
(stages): Remove slow.
(test-all-inotify): Move up.  Change stage to normal.  Remove timeout.
(test-filenotify-gio, test-gnustep, test-native-comp-speed0):
Move needs up.

* test/infra/test-jobs.yml: Regenerate.

2 years agoFix min-width end condition handling
Lars Ingebrigtsen [Wed, 24 Nov 2021 11:44:45 +0000 (12:44 +0100)]
Fix min-width end condition handling

* src/xdisp.c (handle_display_prop): Fix check for min-width ends
-- they may be consecutive.

2 years agoCorrect adjustments to frame widths in events
Po Lu [Wed, 24 Nov 2021 11:15:06 +0000 (11:15 +0000)]
Correct adjustments to frame widths in events

* src/haiku_support.cc (EmacsWindow.FrameResized)
(EmacsWindow.Zoom): Adjust widths to fit into the correct
coordinate system.

2 years agoRemove unused arguments to EmacsView.AfterResize
Po Lu [Wed, 24 Nov 2021 11:03:58 +0000 (11:03 +0000)]
Remove unused arguments to EmacsView.AfterResize

* src/haiku_support.cc (EmacsView.AfterResize): Remove
unused arguments.
(BView_resize_to): Stop passing unused arguments.

2 years agoAdd support for the min-width display property
Lars Ingebrigtsen [Wed, 24 Nov 2021 10:55:53 +0000 (11:55 +0100)]
Add support for the min-width display property

* doc/lispref/display.texi (Display Property): Document
get-display-property.
(Other Display Specs): Document min-width property.

* src/dispextern.h (struct it): Add fields for min-width handling.

* src/xdisp.c (find_display_property, get_display_property): New
helper functions.
(display_min_width): Insert stretch glyphs based on the min width.
(Fget_display_property): New defun.
(handle_display_prop): Handle min-width ends.
(handle_single_display_spec): Handle min-width starts.

2 years agoRe-enable the disabledForeground X resource.
Gregory Heytings [Wed, 24 Nov 2021 07:54:37 +0000 (08:54 +0100)]
Re-enable the disabledForeground X resource.

* doc/emacs/xresources.texi (Lucid Resources): Document the resource.
Also document the 'cursor' resource (bug#52052).
* lwlib/xlwmenu.c (make_drawing_gcs): Re-enable the use of the
disabledForeground resource.  The use of this X resource was disabled
without reason in commit ef93458b2f8 by overwriting its value with the
value of the foreground resource.

2 years agoAllow NS to handle non-text clipboard contents
Alan Third [Tue, 23 Nov 2021 20:56:44 +0000 (20:56 +0000)]
Allow NS to handle non-text clipboard contents

* src/nsselect.m (ns_get_foreign_selection): Handle non-plain text
clipboard entries.
(ns_string_from_pasteboard): Remove EOL conversion.
(syms_of_nsselect): Define QTARGETS.

2 years agoClear past end of frame on Haiku
Po Lu [Wed, 24 Nov 2021 09:56:29 +0000 (09:56 +0000)]
Clear past end of frame on Haiku

* src/haiku_support.c (EmacsWindow.FrameResized): Delete
size adjustment.

* src/haikuterm.c (haiku_clear_frame): Clear one pixel
past the end of the frame.

2 years agoMerge branch 'master' of git.sv.gnu.org:/srv/git/emacs
Po Lu [Wed, 24 Nov 2021 09:39:58 +0000 (09:39 +0000)]
Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs

2 years agoFix 1 pixel wide border in frames on Haiku
Po Lu [Wed, 24 Nov 2021 09:38:26 +0000 (09:38 +0000)]
Fix 1 pixel wide border in frames on Haiku

* src/haiku_support.cc (EmacsWindow.FrameResized): Add 1 to
pixel widths.

* src/haikuterm.c (haiku_read_socket): Use `lrint' to round
widths.

2 years agoFix string-glyph-split infloop
Lars Ingebrigtsen [Wed, 24 Nov 2021 07:27:22 +0000 (08:27 +0100)]
Fix string-glyph-split infloop

* lisp/emacs-lisp/subr-x.el (string-glyph-split): Fix infloop when
applied to (string-glyph-split "✈️🌍") (bug#52067).

2 years agoPass options from make to configure through a variable.
Gregory Heytings [Wed, 24 Nov 2021 06:58:11 +0000 (07:58 +0100)]
Pass options from make to configure through a variable.

* GNUmakefile (configure): Use the variable.

* INSTALL.REPO: Document the variable (bug#51965).

2 years agoMerge from origin/emacs-28
Stefan Kangas [Wed, 24 Nov 2021 06:00:27 +0000 (07:00 +0100)]
Merge from origin/emacs-28

756b8a5f1b Fix typos in documentation
38fdeaef46 ; * etc/DEBUG: Fix last change.

2 years agoFix mouse-wheel-text-scale
Po Lu [Wed, 24 Nov 2021 01:49:39 +0000 (09:49 +0800)]
Fix mouse-wheel-text-scale

* lisp/mwheel.el (mouse-wheel-text-scale): Test for alternative
events correctly.

2 years agoRemove extraneous code left over from the ftbe font driver
Po Lu [Wed, 24 Nov 2021 01:46:33 +0000 (01:46 +0000)]
Remove extraneous code left over from the ftbe font driver

* src/haikuterm.c (syms_of_haikuterm): Remove dead code.

2 years agoUse only effective modifiers when handling XI2 button events
Po Lu [Wed, 24 Nov 2021 01:09:45 +0000 (09:09 +0800)]
Use only effective modifiers when handling XI2 button events

* src/xterm.c (handle_one_xevent): Use mods.effective when
constructing button events.

2 years agoAdapt artifacts paths in emba testjobs
Michael Albinus [Tue, 23 Nov 2021 15:25:41 +0000 (16:25 +0100)]
Adapt artifacts paths in emba testjobs

* test/infra/Makefile.in (subdir_template): Adapt artifacts paths.

* test/infra/test-jobs.yml: Regenerate.

2 years agoFix typos in documentation
Takesi Ayanokoji [Tue, 23 Nov 2021 14:30:23 +0000 (23:30 +0900)]
Fix typos in documentation

* doc/lispref/anti.texi:
* doc/misc/efaq.texi: Fix typos.

Copyright-paperwork-exempt: yes

2 years ago; * etc/DEBUG: Fix last change.
Eli Zaretskii [Tue, 23 Nov 2021 14:25:48 +0000 (16:25 +0200)]
; * etc/DEBUG: Fix last change.

2 years agoMerge from origin/emacs-28
Eli Zaretskii [Tue, 23 Nov 2021 13:11:14 +0000 (15:11 +0200)]
Merge from origin/emacs-28

bdb489a ; * etc/DEBUG: Adjust instructions for libgccjit reproducer.
b4fb381 ; * src/xdisp.c (produce_stretch_glyph): Avoid compilation wa...

2 years ago; * etc/DEBUG: Adjust instructions for libgccjit reproducer.
Eli Zaretskii [Tue, 23 Nov 2021 12:44:45 +0000 (14:44 +0200)]
; * etc/DEBUG: Adjust instructions for libgccjit reproducer.

2 years ago; * src/xdisp.c (produce_stretch_glyph): Avoid compilation warning.
Eli Zaretskii [Tue, 23 Nov 2021 12:37:53 +0000 (14:37 +0200)]
; * src/xdisp.c (produce_stretch_glyph): Avoid compilation warning.

2 years agoPrefer locate-user-emacs-file in gitmerge.el
Stefan Kangas [Tue, 23 Nov 2021 10:39:21 +0000 (11:39 +0100)]
Prefer locate-user-emacs-file in gitmerge.el

* admin/gitmerge.el (gitmerge-status-file): Prefer
'locate-user-emacs-file' to fiddling with 'user-emacs-directory'.

2 years agoFix compilation with XInput 2 but without XKB
Po Lu [Tue, 23 Nov 2021 09:57:09 +0000 (17:57 +0800)]
Fix compilation with XInput 2 but without XKB

* src/xterm.c (handle_one_xevent): Remove extraneous
conditional.

2 years agoMerge from origin/emacs-28
Stefan Kangas [Tue, 23 Nov 2021 07:49:49 +0000 (08:49 +0100)]
Merge from origin/emacs-28

d791cd556d Fix '(space :relative-width N)' display spec w/non-ASCII c...
712898210f * lisp/proced.el (proced-sort-header): Fix event positions...

# Conflicts:
# lisp/proced.el

2 years agoOnly reset scroll valuators on real enter events
Po Lu [Tue, 23 Nov 2021 03:08:45 +0000 (11:08 +0800)]
Only reset scroll valuators on real enter events

* src/xterm.c (handle_one_xevent): Test event detail and mode
before resetting scroll valuators.

2 years agoFix delay between tool bar clicks and visual feedback
Po Lu [Tue, 23 Nov 2021 01:20:15 +0000 (01:20 +0000)]
Fix delay between tool bar clicks and visual feedback

* src/haikuterm.c (haiku_read_socket): Redisplay after tool
bar click.

2 years agoFix XI2 keysym translation
Po Lu [Tue, 23 Nov 2021 01:01:33 +0000 (09:01 +0800)]
Fix XI2 keysym translation

* src/xterm.c (handle_one_xevent): Handle XI_KeyPress events
that can't be translated into strings.

2 years ago* lisp/subr.el (event-start, event-end): Handle `(menu-bar)` events
Stefan Monnier [Mon, 22 Nov 2021 19:23:26 +0000 (14:23 -0500)]
* lisp/subr.el (event-start, event-end): Handle `(menu-bar)` events

* lisp/net/browse-url.el (browse-url-interactive-arg): Simplify accordingly

2 years ago* lisp/textmodes/flyspell.el: Pop up the menu under cursor from keyboard.
Juri Linkov [Mon, 22 Nov 2021 19:05:15 +0000 (21:05 +0200)]
* lisp/textmodes/flyspell.el: Pop up the menu under cursor from keyboard.

* lisp/textmodes/flyspell.el (flyspell-emacs-popup):
Use popup-menu-normalize-position with point when no mouse is involved,
instead of the incorrect use of mouse-position (bug#52025).

2 years agosrc/indent.c, src/xdisp.c: Questions about with_echo_area_buffer_unwind_data
Stefan Monnier [Mon, 22 Nov 2021 19:06:14 +0000 (14:06 -0500)]
src/indent.c, src/xdisp.c: Questions about with_echo_area_buffer_unwind_data

2 years ago; Remove "needs" from emba jobs
Michael Albinus [Mon, 22 Nov 2021 18:40:56 +0000 (19:40 +0100)]
; Remove "needs" from emba jobs

2 years ago* lisp/tab-bar.el: 'C-x t RET' creates a new tab for non-existent tab name.
Juri Linkov [Mon, 22 Nov 2021 18:15:28 +0000 (20:15 +0200)]
* lisp/tab-bar.el: 'C-x t RET' creates a new tab for non-existent tab name.

* lisp/tab-bar.el (tab-bar-switch-to-tab): Create a new tab and
rename it to NAME when can't find the tab with the given NAME (bug#51935).

2 years agoSimplify `gnu` compilation-mode regexp
Mattias Engdegård [Mon, 22 Nov 2021 18:07:32 +0000 (19:07 +0100)]
Simplify `gnu` compilation-mode regexp

* lisp/progmodes/compile.el (compilation-error-regexp-alist-alist):
Remove the pattern ostensibly added for Ruby, because at closer
inspection it could never have matched anything.  This lessens the
performance impact of the pattern added for GCC's -fanalyzer,
now slightly tweaked.

2 years agoFix '(space :relative-width N)' display spec w/non-ASCII chars
Eli Zaretskii [Mon, 22 Nov 2021 18:00:48 +0000 (20:00 +0200)]
Fix '(space :relative-width N)' display spec w/non-ASCII chars

* src/xdisp.c (produce_stretch_glyph): Use the correct face for
non-ASCII characters.  Support :relative-width display spec on
Lisp strings, not just on buffer text.

2 years ago* lisp/tab-bar.el (tab-bar-history-old-minibuffer-depth): Remove variable.
Juri Linkov [Mon, 22 Nov 2021 17:57:59 +0000 (19:57 +0200)]
* lisp/tab-bar.el (tab-bar-history-old-minibuffer-depth): Remove variable.

(tab-bar--history-pre-change, tab-bar--history-change): Use minibuffer-depth
instead of this variable (bug#51370).

2 years ago* lisp/proced.el (proced-sort-header): Fix event positions (bug#1779).
Juri Linkov [Mon, 22 Nov 2021 17:39:28 +0000 (19:39 +0200)]
* lisp/proced.el (proced-sort-header): Fix event positions (bug#1779).

The logic was copied from 'tabulated-list-col-sort'.

2 years ago; Fix error in artifacts paths of emba jobs
Michael Albinus [Mon, 22 Nov 2021 15:47:23 +0000 (16:47 +0100)]
; Fix error in artifacts paths of emba jobs

2 years agoAdapt emba jobs
Michael Albinus [Mon, 22 Nov 2021 15:33:16 +0000 (16:33 +0100)]
Adapt emba jobs

* admin/notes/emba (Emacs jobset): Precise.

* test/infra/Makefile.in (tn): New variable.
(subdir_template): Use it.  Handle eieio-tests, faceup-tests and
so-long-tests.  Rearrange .PHONY entry.  Add needs and artifacts
to emba job.

* test/infra/gitlab-ci.yml (test-filenotify-gio): Move up.

* test/infra/test-jobs.yml: Regenerate.

2 years ago; Improve recent NEWS entry
Stefan Kangas [Mon, 22 Nov 2021 15:27:55 +0000 (16:27 +0100)]
; Improve recent NEWS entry

* etc/NEWS: Improve recently added entry on substitution of
literal key sequences.  Thanks to Eli Zaretskii <eliz@gnu.org>.

2 years ago; Further minor simplification of rx form in bytecomp.el
Stefan Kangas [Mon, 22 Nov 2021 15:11:45 +0000 (16:11 +0100)]
; Further minor simplification of rx form in bytecomp.el

* lisp/emacs-lisp/bytecomp.el (byte-compile--wide-docstring-p):
Simplify even more.  Thanks to Mattias Engdegård <mattiase@acm.org>.

2 years agoImprove recently installed documentation
Eli Zaretskii [Mon, 22 Nov 2021 15:05:40 +0000 (17:05 +0200)]
Improve recently installed documentation

* doc/lispref/display.texi (Size of Displayed Text): Move to
description of 'buffer-text-pixel-size' to preserve previous text;
mention the importance of WINDOW.

2 years ago; * etc/NEWS: Fix some typos and improve some entries.
Robert Pluim [Mon, 22 Nov 2021 13:20:45 +0000 (14:20 +0100)]
; * etc/NEWS: Fix some typos and improve some entries.

2 years ago; Fix typo
Stefan Kangas [Mon, 22 Nov 2021 11:12:25 +0000 (12:12 +0100)]
; Fix typo

* lisp/emacs-lisp/bytecomp.el (byte-compile--wide-docstring-p):
Fix typo.

2 years agoFix compiler warning in image.c
Po Lu [Mon, 22 Nov 2021 11:13:03 +0000 (11:13 +0000)]
Fix compiler warning in image.c

* src/image.c (webp_load): Initialize `mask_img' to NULL.

2 years ago; Very minor simplification in bytecomp.el
Stefan Kangas [Mon, 22 Nov 2021 10:55:24 +0000 (11:55 +0100)]
; Very minor simplification in bytecomp.el

* lisp/emacs-lisp/bytecomp.el (byte-compile--wide-docstring-p):
Very minor simplification of 'rx' form.

2 years agoUse substitute-command-keys for literal key sequences
Stefan Kangas [Mon, 22 Nov 2021 10:45:44 +0000 (11:45 +0100)]
Use substitute-command-keys for literal key sequences

* lisp/abbrev.el (expand-region-abbrevs):
* lisp/calc/calc-graph.el (calc-graph-show-dumb):
* lisp/calc/calc-help.el (calc-help-for-help):
* lisp/calc/calc-mode.el (calc-auto-why):
* lisp/calc/calc.el (calc-do):
* lisp/calculator.el (calculator-mode):
* lisp/dired-aux.el (dired-create-files)
(dired-do-create-files-regexp, dired-create-files-non-directory):
* lisp/dired-x.el (dired-virtual):
* lisp/dired.el (dired-mark-region, dired-unmark-all-files):
* lisp/emacs-lisp/map-ynp.el (map-y-or-n-p):
* lisp/emacs-lisp/re-builder.el (reb-enter-subexp-mode):
* lisp/epa-ks.el (epa-ks--display-keys):
* lisp/erc/erc.el (erc-toggle-debug-irc-protocol):
* lisp/files.el (save-some-buffers):
* lisp/gnus/gnus-dired.el (gnus-dired-find-file-mailcap)
(gnus-dired-print):
* lisp/gnus/gnus-group.el (gnus-keep-same-level):
* lisp/gnus/gnus-score.el (gnus-score-find-trace):
* lisp/gnus/gnus.el (to-list):
* lisp/gnus/message.el (message--send-mail-maybe-partially):
* lisp/mail/supercite.el (sc-set-variable):
* lisp/minibuffer.el (minibuffer-inactive-mode):
* lisp/progmodes/etags.el (select-tags-table):
* lisp/progmodes/idlw-shell.el (idlwave-shell-mode)
(idlwave-shell-char-mode-loop):
* lisp/replace.el (query-replace-help):
* lisp/simple.el (set-variable):
* lisp/subr.el (read-char-from-minibuffer):
* lisp/textmodes/ispell.el (ispell-help, ispell-message):
* lisp/textmodes/reftex-global.el (reftex-find-duplicate-labels):
* lisp/textmodes/reftex-vars.el
(reftex-toc-include-file-boundaries)
(reftex-toc-include-labels, reftex-toc-include-index-entries)
(reftex-toc-include-context, reftex-toc-follow-mode)
(reftex-index-include-context, reftex-index-follow-mode)
(reftex-enable-partial-scans)
(reftex-auto-update-selection-buffers)
(reftex-highlight-selection):
* lisp/time.el (display-time-update):
* lisp/vc/ediff-help.el (ediff-help-for-quick-help):
* lisp/vc/ediff-init.el (ediff-keep-variants):
* lisp/vc/ediff-ptch.el (ediff-fixup-patch-map)
(ediff-patch-file-internal):
* lisp/windmove.el (windmove-delete-default-keybindings): Use
'substitute-command-keys' for literal key sequences.

* lisp/userlock.el (userlock--fontify-key): Remove function.
(ask-user-about-lock, ask-user-about-lock-help)
(ask-user-about-supersession-threat)
(ask-user-about-supersession-help): Use 'substitute-command-keys' for
literal key sequences.

* lisp/ibuffer.el (ibuffer-unmark-all): Use 'substitute-command-keys'
for command.

2 years agoAvoid false positives about wide docstrings for key sequences
Stefan Kangas [Mon, 22 Nov 2021 07:08:11 +0000 (08:08 +0100)]
Avoid false positives about wide docstrings for key sequences

* lisp/emacs-lisp/bytecomp.el (byte-compile--wide-docstring-p):
Ignore literal key sequence substitutions.
* test/lisp/emacs-lisp/bytecomp-resources/warn-wide-docstring-ignore-substitutions.el:
New file.
* test/lisp/emacs-lisp/bytecomp-tests.el
("warn-wide-docstring-ignore-substitutions.el"): New test.

2 years agoAdd new function buffer-text-pixel-size
martin rudalics [Mon, 22 Nov 2021 11:02:35 +0000 (12:02 +0100)]
Add new function buffer-text-pixel-size

* doc/lispref/display.texi (Size of Displayed Text): Document it.

* lisp/emacs-lisp/subr-x.el (string-pixel-width): Use
buffer-text-pixel-size (bug#51995).

* src/xdisp.c (window_text_pixel_size): Factor out from
Fwindow_text_pixel_size.
(Fbuffer_text_pixel_size): New function.

2 years agoFix mouse movement event generation on Haiku
Po Lu [Mon, 22 Nov 2021 07:10:57 +0000 (07:10 +0000)]
Fix mouse movement event generation on Haiku

* src/haikuterm.c (haiku_mouse_position): Set timestamp.
(haiku_read_socket): Set last_mouse_movement_time.

* src/haikuterm.h (struct haiku_display_info): Add field
`last_mouse_movement_time'.

2 years agoDon't set button event modifiers twice on Haiku
Po Lu [Mon, 22 Nov 2021 06:33:22 +0000 (06:33 +0000)]
Don't set button event modifiers twice on Haiku

* src/haikuterm.c (haiku_read_socket): Simplify.

2 years agoMove XI2 event filtering to a more appropriate location
Po Lu [Mon, 22 Nov 2021 06:06:18 +0000 (14:06 +0800)]
Move XI2 event filtering to a more appropriate location

* src/xterm.c (handle_one_xevent): Filter all key press events
even if no frame is found.

2 years agoAdd new format for literal key sequences to substitute-command-keys
Stefan Kangas [Mon, 22 Nov 2021 05:44:10 +0000 (06:44 +0100)]
Add new format for literal key sequences to substitute-command-keys

* lisp/help.el (substitute-command-keys): Add new format "\\`f'" for
literal key sequences.  (Bug#50804)
* doc/lispref/help.texi (Keys in Documentation): Document the above
new substitution.

* test/lisp/help-tests.el
(help-tests-substitute-command-keys/literal-key-sequence):
(help-tests-substitute-command-keys/literal-key-sequence-errors): New
tests.
(help-tests-substitute-key-bindings/face-help-key-binding): Extend test.

2 years agoUse more precise test for emulated wheel events in XI2
Po Lu [Mon, 22 Nov 2021 05:24:59 +0000 (13:24 +0800)]
Use more precise test for emulated wheel events in XI2

* src/xterm.c (handle_one_xevent): Ignore button events
that have XIPointerEmulated set.

2 years agoMake `xwidget-display-event' a special event as well
Po Lu [Mon, 22 Nov 2021 02:42:46 +0000 (10:42 +0800)]
Make `xwidget-display-event' a special event as well

* doc/lispref/commands.texi (Xwidget Events): Document that
`xwidget-display-event' is a special event, and that it should
be handled through callbacks.

* etc/NEWS: Update NEWS entry.

* lisp/xwidget.el (xwidget-webkit-new-session)
(xwidget-webkit-import-widget): Attach display callback.
(xwidget-webkit-display-event): Call display callback instead.
(xwidget-webkit-display-callback): New function.

* src/keyboard.c (make_lispy_event): Store
source information for XWIDGET_DISPLAY_EVENT correctly.

* src/xwidget.c (store_xwidget_display_event): Store
source of the display request.
(webkit_ready_to_show): Store source if available.
(webkit_create_cb_1): Store source if available.
(kill_xwidget): Remove dead widget from internal_xwidget_list.

2 years agoFix recent compile-tests addition
Glenn Morris [Mon, 22 Nov 2021 02:29:24 +0000 (18:29 -0800)]
Fix recent compile-tests addition

* test/lisp/progmodes/compile-tests.el (compile-test-error-regexps):
Bump number of expected errors.

; Surely running the tests before committing would have flagged this?

2 years agoAlso filter XI_KeyRelease events
Po Lu [Mon, 22 Nov 2021 01:40:47 +0000 (09:40 +0800)]
Also filter XI_KeyRelease events

* src/xterm.c (handle_one_xevent): Also filter XI_KeyRelease
events through the X input method.

2 years agoUse only effective modifiers for XI2 key press events
Po Lu [Mon, 22 Nov 2021 01:34:39 +0000 (09:34 +0800)]
Use only effective modifiers for XI2 key press events

* src/xterm.c (handle_one_xevent): Use only effective modifiers
in XI_KeyPress events.

2 years agoRemove variable that no longer exists from manual
Po Lu [Mon, 22 Nov 2021 00:24:26 +0000 (00:24 +0000)]
Remove variable that no longer exists from manual

* doc/emacs/haiku.texi: Remove nonexistent variable.

2 years agoAdapt isearch help screen for variable-pitch-mode
Stefan Kangas [Sun, 21 Nov 2021 20:05:47 +0000 (21:05 +0100)]
Adapt isearch help screen for variable-pitch-mode

* lisp/isearch.el (isearch-help-for-help-internal): Adapt for
'variable-pitch-mode', now that 'make-help-screen' uses that.

2 years ago; Simplify rcirc authentication querying functions
Omar Polo [Mon, 15 Nov 2021 21:49:23 +0000 (21:49 +0000)]
; Simplify rcirc authentication querying functions

2 years agoimplement certfp authentication to rcirc
Omar Polo [Mon, 15 Nov 2021 17:40:58 +0000 (17:40 +0000)]
implement certfp authentication to rcirc

* lisp/net/rcirc.el (rcirc-connect): Use the provided client certs
* doc/misc/rcirc.texi (Configuration): Document the change

2 years agoMove the sasl section after the bitlbee text
Omar Polo [Mon, 15 Nov 2021 17:33:51 +0000 (17:33 +0000)]
Move the sasl section after the bitlbee text

2 years agoImprove error parsing for GCC -fanalyzer output
Philip Kaludercic [Mon, 15 Nov 2021 23:05:11 +0000 (00:05 +0100)]
Improve error parsing for GCC -fanalyzer output

* compile.el (compilation-error-regexp-alist-alist): Adjust gnu rule
* compile-tests.el (compile-tests--test-regexps-data): Add testcase

2 years agoFix positioning of pop-up menus when there are window-margins
Eli Zaretskii [Sun, 21 Nov 2021 17:07:10 +0000 (19:07 +0200)]
Fix positioning of pop-up menus when there are window-margins

* src/menu.c (x_popup_menu_1): Calculate X and Y correctly for
clicks in the text area.  (Bug#51782)

2 years agoAdd :version tags to new mwheel defcustoms
Robert Pluim [Sun, 21 Nov 2021 15:20:20 +0000 (16:20 +0100)]
Add :version tags to new mwheel defcustoms

* lisp/mwheel.el (mouse-wheel-down-alternate-event):
(mouse-wheel-up-alternate-event): Add :version tag.

2 years ago; Fix a few haiku typos
Robert Pluim [Sun, 21 Nov 2021 15:00:11 +0000 (16:00 +0100)]
; Fix a few haiku typos

* lisp/net/browse-url.el (browse-url-webpositive-program): Correct
:version tag.
* src/frame.c (Fframep): Fix quoting of "haiku".

2 years agoMinor cleanup in w32inevt.c
Eli Zaretskii [Sun, 21 Nov 2021 14:57:12 +0000 (16:57 +0200)]
Minor cleanup in w32inevt.c

* src/w32inevt.c (w32_console_mouse_position, mouse_moved_to)
(do_mouse_event): Use 'get_frame' to obtain the frame pointer.

2 years agoUse variable-pitch-mode in 'C-h C-h'
Stefan Kangas [Sun, 21 Nov 2021 13:44:41 +0000 (14:44 +0100)]
Use variable-pitch-mode in 'C-h C-h'

* lisp/faces.el (help-key-binding): Inherit 'fixed-pitch'.
* lisp/help-macro.el (make-help-screen): Use
'variable-pitch-mode'.

This was discussed in
https://lists.gnu.org/r/emacs-devel/2021-11/msg01378.html

2 years agoReorganize emba control files
Michael Albinus [Sun, 21 Nov 2021 13:39:29 +0000 (14:39 +0100)]
Reorganize emba control files

Using dynamic job generation in GitLab does not work sufficiently.  So
we generate the jobs in the Emacs sources.

* configure.ac (SUBDIR_MAKEFILES): Add test/infra/Makefile.

* test/Makefile.in (subdirs, generate-test-jobs): New targets.

* test/infra/Makefile.in:
* test/infra/test-jobs.yml: New files.

* test/infra/default-gitlab-ci.yml:
* test/infra/test-jobs-generator.sh: Remove.

* test/infra/gitlab-ci.yml: Insert contents of default-gitlab-ci.yml.
(stages): Remove generator and trigger.  Add normal.
(test-jobs-generator, test-jobs-pipeline): Remove jobs.
(top): Include test-jobs.yml.

2 years agoFix double and triple click in Haiku.
Po Lu [Sun, 21 Nov 2021 13:14:06 +0000 (13:14 +0000)]
Fix double and triple click in Haiku.

* src/haikuterm.c (haiku_read_socket): Record timestamp
in events.

2 years agoReport time in XInput 2 button events
Po Lu [Sun, 21 Nov 2021 13:07:58 +0000 (21:07 +0800)]
Report time in XInput 2 button events

* src/xterm.c (handle_one_xevent): Report time in XI button
events.

2 years agoFix horizontal wheel events on Haiku
Po Lu [Sun, 21 Nov 2021 12:43:53 +0000 (12:43 +0000)]
Fix horizontal wheel events on Haiku

* src/haikuterm.c (haiku_read_socket): Fix modifier
calculation for horizontal wheel events.

2 years agoMerge from origin/emacs-28
Stefan Kangas [Sun, 21 Nov 2021 10:18:23 +0000 (11:18 +0100)]
Merge from origin/emacs-28

0dd3883def Update to Org 9.5-72-gc5d6656
e3d5337970 Fix mouse handling with several TTY frames on MS-Windows
7e437af413 Fix temacs invocation from outside of the 'src' directory
0fbfd4253e ; Avoid byte-compilation warnings in edmacro.el
c22c988b1f Fix mouse events on tab bar or tool bar when 'track-mouse'...
354c834fba Fix `browse-url-interactive-arg' for certain kinds of events

# Conflicts:
# lisp/mouse.el

2 years agoFill the Emacs version on the splash page
Lars Ingebrigtsen [Sun, 21 Nov 2021 10:04:35 +0000 (11:04 +0100)]
Fill the Emacs version on the splash page

* lisp/startup.el (fancy-startup-tail):
(normal-mouse-startup-screen):
(normal-no-mouse-startup-screen): Fill the Emacs version data,
since it's usually longer than a single line, anyway.

2 years agoImplement `pick_embedded_child' for offscreen xwidgets
Po Lu [Sun, 21 Nov 2021 09:38:41 +0000 (17:38 +0800)]
Implement `pick_embedded_child' for offscreen xwidgets

* src/xwidget.c (pick_embedded_child): New function.
(Fmake_xwidget): Connect `pick-embedded-child' signal
to offscreen window.

2 years agoRevert "* admin/gitmerge.el (gitmerge-mode-map): Convert to defvar-keymap."
Stefan Kangas [Sun, 21 Nov 2021 09:10:07 +0000 (10:10 +0100)]
Revert "* admin/gitmerge.el (gitmerge-mode-map): Convert to defvar-keymap."

This reverts commit 4c467e4aff12e65fa4fa62d7f4bdcbf4a2bcd92c.

2 years agoFix icalendar time zone parsing
dickmao [Sun, 21 Nov 2021 08:18:57 +0000 (09:18 +0100)]
Fix icalendar time zone parsing

* lisp/calendar/icalendar.el (icalendar--decode-isodatetime):
Parse time zones more correctly.
* test/lisp/calendar/icalendar-tests.el
(icalendar-tests--decode-isodatetime): Fix tests so that they work
in other time zones than Europe/Berlin (bug#51959).

2 years agoFix documentation string of x_coalesce_scroll_events
Po Lu [Sun, 21 Nov 2021 08:05:13 +0000 (08:05 +0000)]
Fix documentation string of x_coalesce_scroll_events

* src/xterm.c (x_coalesce_scroll_events): Update doc string to
reflect that this option is now supported under Haiku.

2 years agoImprove the fix for bug#51864
Eli Zaretskii [Sun, 21 Nov 2021 07:52:43 +0000 (09:52 +0200)]
Improve the fix for bug#51864

* src/xfaces.c (face_at_buffer_position): Call
FACE_FROM_ID_OR_NULL just once.
(face_at_string_position): Make sure we have a usable base face.

2 years agoImprove Haiku documentation
Po Lu [Sun, 21 Nov 2021 05:37:50 +0000 (05:37 +0000)]
Improve Haiku documentation

* doc/emacs/haiku.texi: Remove duplicate text and
extraneous pxref.

2 years agoAdd a user command to stop page loading in xwidget-webkit
Po Lu [Sun, 21 Nov 2021 05:32:03 +0000 (13:32 +0800)]
Add a user command to stop page loading in xwidget-webkit

* lisp/xwidget.el: Add `xwidget-webkit-stop' to menu.
(xwidget-webkit-stop): New command.
(xwidget-webkit-tool-bar-map): New tool bar item.

2 years agoFix compiler warnings
Po Lu [Sun, 21 Nov 2021 03:48:27 +0000 (03:48 +0000)]
Fix compiler warnings

* src/haikuterm.c (haiku_read_socket): Fix compiler
warnings intoduced by last change.

2 years agoAdd pixel delta support for wheel events on Haiku
Po Lu [Sun, 21 Nov 2021 03:40:36 +0000 (03:40 +0000)]
Add pixel delta support for wheel events on Haiku

* src/haiku_support.cc (EmacsWindow.MessageReceived): Stop
adjusting scroll deltas.
* src/haikuterm.c (haiku_read_socket): Handle pixel deltas
correctly.

2 years agoAttach download-started signals to correct WebKit context
Po Lu [Sun, 21 Nov 2021 03:14:14 +0000 (11:14 +0800)]
Attach download-started signals to correct WebKit context

* src/xwidget.c (Fmake_xwidget): Use correct context.

2 years agoAllow handling smooth scroll events in xwidgets
Po Lu [Sun, 21 Nov 2021 03:04:29 +0000 (11:04 +0800)]
Allow handling smooth scroll events in xwidgets

* src/xterm.c (handle_one_xevent): Pass through XI2 motion
events to xwidgets.
* src/xterm.c (xwidget_button): Don't handle legacy scroll
events on XInput 2.
(xwidget_motion_notify, xwidget_scroll): New functions.

2 years agoSelect device notification events correctly
Po Lu [Sun, 21 Nov 2021 01:32:46 +0000 (09:32 +0800)]
Select device notification events correctly

* src/xfns.c (setup_xi_event_mask): Select PropertyEvent,
HierarchyChanged and DeviceChanged for all devices.

2 years agoAdd XInput 2 input method support
Po Lu [Sun, 21 Nov 2021 01:22:31 +0000 (09:22 +0800)]
Add XInput 2 input method support

* src/xterm.c (handle_one_xevent): Let input methods filter
events first before trying to handle an XI2 key press event.

2 years ago* test/infra/test-jobs-generator.sh: Generate also stages entry.
Michael Albinus [Sat, 20 Nov 2021 20:50:20 +0000 (21:50 +0100)]
* test/infra/test-jobs-generator.sh: Generate also stages entry.

2 years agoRevert last change on emba files
Michael Albinus [Sat, 20 Nov 2021 19:05:52 +0000 (20:05 +0100)]
Revert last change on emba files