1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-02-14 11:42:29 -08:00
Commit graph

155589 commits

Author SHA1 Message Date
Po Lu
487ec3cf2a Add support for event processing via XInput 2
* configure.ac: Add an option to use XInput 2 if available.
* src/Makefile.in (XINPUT_LIBS, XINPUT_CFLAGS): New variables.
(EMACS_CFLAGS): Add Xinput CFLAGS.
(LIBES): Add XInput libs.
* src/xmenu.c (popup_activated_flag): Expose flag if
XInput 2 is available.
* src/xfns.c (x_window): Set XInput 2 event mask.
(setup_xi_event_mask): New function.
(syms_of_xfns): Provide XInput 2 feature.
* src/xterm.c (x_detect_focus_change): Handle XInput 2
GenericEvents.
(handle_one_xevent): Handle XInput 2 events.
(x_term_init): Ask the server for XInput 2 support and set
xkb_desc if available.
(x_delete_terminal): Free XKB kb desc if it exists, and free
XI2 devices if they exist.
(xi_grab_or_ungrab_device)
(xi_reset_scroll_valuators_for_device_id)
(x_free_xi_devices, x_init_master_valuators): New functions.
(x_get_scroll_valuator_delta): New function.
(init_xterm): Don't tell GTK to only use Core Input when built
with XInput 2 support.
* src/xterm.h (struct x_display_info): Add fields for XKB
and XI2 support.
* src/gtkutil.c (xg_event_is_for_menubar): Handle
XIDeviceEvents.
(xg_is_menu_window): New function.
(xg_event_is_for_scrollbar): Handle XIDeviceEvents.
* etc/NEWS: Document changes.

* lisp/mwheel.el (mouse-wheel-down-alternate-event)
(mouse-wheel-up-alternate-event)
(mouse-wheel-left-alternate-event)
(mouse-wheel-right-alternate-event): New user options.

(mouse-wheel-text-scale)
(mwheel-scroll): Test for alternate events.
(mouse-wheel--setup-bindings): Set up bindings for alternate
buttons.
2021-11-20 18:25:09 +08:00
Po Lu
fbf361f593 Allow terminating page loading operations in webkit xwidgets
* doc/lispref/display.texi (Xwidgets): Document new function.
* etc/NEWS: Announce `xwidget-webkit-stop-loading'.
* src/xwidget.c (Fxwidget_webkit_stop_loading): New function.
(syms_of_xwidget): Define new subr.
2021-11-20 18:24:43 +08:00
martin rudalics
c22c988b1f Fix mouse events on tab bar or tool bar when 'track-mouse' is t
* lisp/mouse.el (mouse-drag-track):
* lisp/mouse-drag.el (mouse-drag-drag): Set 'track-mouse' to some
value neither t nor nil.
* src/keyboard.c (make_lispy_position): If track_mouse is Qt,
report event on tool or tab bar (Bug#51794).
2021-11-20 12:05:36 +02:00
Gregory Heytings
2ba7d1e84e Implement the buttonForeground resource
* lwlib/xlwmenu.c (draw_shadow_rectangle, draw_shadow_rhombus):
Use the buttonForeground resource color (bug#51988).
2021-11-20 10:37:20 +01:00
Lars Ingebrigtsen
bc99604c7a Fix another narrow-to-defun problem in js-mode
* lisp/progmodes/js.el (js--function-prologue-beginning): Fix typo
in looking-back form (bug#51926).
2021-11-20 10:21:00 +01:00
Michael Albinus
9f06977782 Continue adaptions of emba files
* test/infra/default-gitlab-ci.yml: New file, derived from
gitlab-ci.yml.

* test/infra/gitlab-ci.yml (top, test-jobs-pipeline):
Include default-gitlab-ci.yml.
(stages): Remove normal.

* test/infra/test-jobs-generator.sh: Generate also stages entry.
2021-11-20 10:07:48 +01:00
Po Lu
354c834fba Fix `browse-url-interactive-arg' for certain kinds of events
* lisp/net/browse-url.el (browse-url-interactive-arg): Don't
call `mouse-set-point' unless event is actually a mouse event.
2021-11-20 15:56:08 +08:00
Po Lu
88458f7354 Make xwidget-events special and document xwidget callbacks
Users have always been supposed to use callbacks for handling
xwidget events, but for some reason this has not been
documented until now.

* doc/lispref/commands.texi (Xwidget Events): Document xwidget
callbacks and the special status of `xwidget-event's.

* doc/lispref/display.texi (Xwidgets): Add xwidget property
list functions to the concept index.

* lisp/xwidget.el: Make xwidget events special.
2021-11-20 14:57:22 +08:00
Po Lu
da508cf4bd Use xwidget-live-p' inside xwidget-at'.
It should no longer be possible for Lisp code to abuse internal
xwidget state, or cause crashes with killed xwidgets and such,
so the pedantic checking done in this function is no longer
necessary.  (In fact, it is even wrong, as it won't catch
killed xwidgets.)

* lisp/xwidget.el (xwidget-at): Use `xwidget-live-p'.
2021-11-20 14:33:47 +08:00
Po Lu
8331916c85 Remove nonsensical command in xwidget-webkit-mode-map
* lisp/xwidget.el (xwidget-webkit-mode-map): Remove nonsensical
command binding.
2021-11-20 14:33:47 +08:00
Stefan Kangas
991e304cf1 Merge from origin/emacs-28
c1eea85be1 * test/lisp/net/tramp-tests.el (tramp-get-remote-gid): Rem...
2021-11-20 07:19:43 +01:00
Stefan Kangas
824f0de836 ; Merge from origin/emacs-28
The following commit was skipped:

9b08846faa Add upward compatibility entry in Tramp (don't merge)
2021-11-20 07:19:43 +01:00
Po Lu
0a3b55aca3 Fix option type of `xwidget-webkit-cookie-file' again
* lisp/xwidget.el (xwidget-webkit-cookie-file): Revert changes
caused by rebase.
2021-11-20 14:15:46 +08:00
Po Lu
35de4774ca Clarify doc string in xwidget-webkit
* lisp/xwidget.el (xwidget-webkit-buffer-name-format): Update
doc string.
2021-11-20 14:12:44 +08:00
Glenn Morris
3817ced7ba * lisp/xwidget.el (xwidget-webkit-cookie-file): Fix type. 2021-11-19 18:36:03 -08:00
Po Lu
956f21b6b9 Make xwidget-webkit default to not storing cookies
* etc/NEWS: Update to reflect change.
* lisp/xwidget.el (xwidget-webkit-cookie-file): Set default
value to nil.
2021-11-20 08:38:04 +08:00
Michael Albinus
54b2bd1be6 ; * test/infra/test-jobs-generator.sh: Still fixes. 2021-11-19 21:24:08 +01:00
Michael Albinus
1dd7a87790 Fix Tramp test
* test/lisp/net/tramp-tests.el (tramp-test07-abbreviate-file-name):
Skip Ange FTP test.
2021-11-19 20:32:29 +01:00
Michael Albinus
0d9aa424f7 ; Fix emba scripts 2021-11-19 20:20:31 +01:00
Michael Albinus
c1eea85be1 * test/lisp/net/tramp-tests.el (tramp-get-remote-gid): Remove declaration. 2021-11-19 18:58:01 +01:00
Michael Albinus
9b08846faa Add upward compatibility entry in Tramp (don't merge)
* lisp/net/tramp.el (tramp-file-name-for-operation):
Add `abbreviate-file-name'.
2021-11-19 18:57:47 +01:00
Michael Albinus
b11e432085 ; Still gitlab-ci.yml fixes
* test/infra/gitlab-ci.yml (variables): Add CI_DEBUG_TRACE.
(build-image-inotify): Remove timeout.
(generator, test-jobs-pipeline): New jobs.
(test-lisp-inotify, test-lisp-net-inotify): Comment.
2021-11-19 17:54:59 +01:00
Michael Albinus
408577b402 ; Further fixes in gitlab-ci.yml 2021-11-19 17:46:40 +01:00
Michael Albinus
3e53047fc5 Fix stage in gitlab-ci.yml 2021-11-19 17:33:12 +01:00
Michael Albinus
cb612c51d6 Add more test jobs for emba
* test/Makefile.in (SUBDIRS): Suppress "*auto-save-list".
(SUBDIR_TARGETS): New variable.
(subdir_template): Set it.
(subdir-targets): New target.

* test/infra/gitlab-ci.yml (variables): Add CI_DEBUG_TRACE.
(build-image-inotify): Remove timeout.
(generator, test-jobs-pipeline): New jobs.
(test-lisp-inotify, test-lisp-net-inotify): Comment.

* test/infra/test-jobs-generator.sh: New script.
2021-11-19 16:50:03 +01:00
Eli Zaretskii
c496773f37 Fix doc strings in ucs-normalize.el
* lisp/international/ucs-normalize.el (ucs-normalize-NFD-region)
(ucs-normalize-NFD-string, string-glyph-compose)
(string-glyph-decompose, ucs-normalize-NFC-string)
(ucs-normalize-NFKD-region, ucs-normalize-NFKD-string)
(ucs-normalize-NFKC-region, ucs-normalize-NFKC-string)
(ucs-normalize-HFS-NFD-region, ucs-normalize-HFS-NFC-region): Fix
wording and typos.
2021-11-19 17:23:35 +02:00
Eli Zaretskii
eb86c33c46 Fix documentation of last commit
* lisp/xwidget.el (xwidget-webkit-cookie-file): Don't use "path"
for file names in the doc string.  Improve wording and markup of
the doc string.

* src/xwidget.c (Fxwidget_webkit_set_cookie_storage_file):
* doc/lispref/display.texi (Xwidgets): Don't use "path" for file
names.

* etc/NEWS: Improve the wording of the entry about
'xwidget-webkit-cookie-file'.
2021-11-19 15:41:48 +02:00
Po Lu
b4f0c4c694 Allow controlling where xwidget-webkit stores cookies
* doc/lispref/display.texi (Xwidgets): Document new function.
* etc/NEWS: Announce `xwidget-webkit-cookie-file' and
`xwidget-webkit-set-cookie-storage-file'.

* lisp/xwidget.el (xwidget-webkit-cookie-file): New user
option.
(xwidget-webkit-new-session): Set cookie storage file.

* src/xwidget.c (Fmake_xwidget): Create new context for
each unrelated widget.
(Fxwidget_webkit_set_cookie_storage_file): New function.
(syms_of_xwidget): Define new subr.
2021-11-19 20:04:08 +08:00
Po Lu
24c67435ea Use CHECK_LIVE_XWIDGET in xwidget-webkit-estimated-load-progress
* src/xwidget.c (Fxwidget_webkit_estimated_load_progress): Check
for live xwidgets instead.
2021-11-19 19:18:48 +08:00
Po Lu
a5e1f8bbdd Display page loading progress in xwidget webkit
* lisp/xwidget.el (xwidget-webkit--title): Remove internal
variable.
(xwidget-webkit--loading-p)
(xwidget-webkit--progress-update-timer): New variables.
(xwidget-webkit--update-progress-timer-function): New function.
(xwidget-webkit-callback): Set up progress update timer during
page loads.
(xwidget-webkit-mode): Add page load progress to header line
format.
2021-11-19 18:43:25 +08:00
Stefan Kangas
9f2f698032 Improve doc-view-mode menus
* lisp/doc-view.el (doc-view-menu): Extend menu.
(doc-view-minor-mode-menu): New menu.
2021-11-19 11:34:57 +01:00
Robert Pluim
3ec1ab609e ; * lisp/international/ucs-normalize.el: Fix typo. 2021-11-19 11:05:25 +01:00
Po Lu
5bab113486 Add `xwidget-webkit-estimated-load-progress'
* doc/lispref/display.texi (Xwidgets): Document new function.
* etc/NEWS: Announce new function.

* src/xwidget.c (Fxwidget_webkit_estimated_load_progress): New
function.
(syms_of_xwidget): Define new subr.
2021-11-19 17:48:57 +08:00
Lars Ingebrigtsen
023dc2ac8f Make puny-encode-string normalize first
* lisp/net/puny.el (puny-encode-string): Normalize before encoding
(bug#51954).
2021-11-19 07:46:06 +01:00
Lars Ingebrigtsen
19e78601a0 Regenerate ldefs-boot 2021-11-19 07:46:06 +01:00
Lars Ingebrigtsen
3f096eb340 Make UCS compose/decompose functions more understandable
* lisp/international/ucs-normalize.el ()
(ucs-normalize-NFD-region, ucs-normalize-NFD-string)
(ucs-normalize-NFC-region, ucs-normalize-NFC-string)
(ucs-normalize-NFKD-region, ucs-normalize-NFKD-string)
(ucs-normalize-NFKC-region, ucs-normalize-NFKC-string): Make the
doc strings say what they actually do.
2021-11-19 07:46:06 +01:00
Stefan Kangas
c6d5fccc92 Merge from origin/emacs-28
02853edba7 Fix sorting of menus in `context-menu-local' (bug#50067).
14271d050a Fix flyspell-correct-word selected from context menu opene...
bf824843f4 * lisp/repeat.el (describe-repeat-maps): Print all bound k...
6fc94fb99e * lisp/tab-bar.el: Use 'mouse-1' for history buttons like ...
5eeaf85767 Improve documentation of window hooks
7404f4b4e0 Improve doc string of 'highlight-nonselected-windows'
2021-11-19 07:00:24 +01:00
Po Lu
7138e69fdc Fix documentation on xwidgets
* doc/lispref/display.texi (Xwidgets): Refer to correct
function.
2021-11-19 12:26:53 +08:00
Stefan Monnier
64497fb8cc * lisp/files.el (file-has-changed-p): Index the cache with absolute file names 2021-11-18 22:06:50 -05:00
Stefan Monnier
d7a2af5939 * lisp/net/mailcap.el (mailcap-parse-mailcaps): Fix $MAILCAPS case 2021-11-18 22:02:43 -05:00
Mattias Engdegård
69f1bc43c0 Turn mistaken functions into tests (bug#51941)
* test/lisp/calendar/icalendar-tests.el
(icalendar-tests--decode-isodatetime):
* test/src/eval-tests.el
(eval-tests-19790-backquote-comma-dot-substitution):
Change `defun` into `ert-deftest` where this seems to have been the
original intention.
2021-11-18 20:54:33 +01:00
Mattias Engdegård
09a5dd8628 String backslash corrections
* lisp/net/shr.el (shr-tag-video): Remove ineffective backslash.
* test/lisp/emacs-lisp/package-tests.el
(package-test-macro-compilation-gz): Make dot literal as intended.
2021-11-18 20:54:32 +01:00
Juri Linkov
02853edba7 Fix sorting of menus in `context-menu-local' (bug#50067).
* lisp/menu-bar.el (menu-bar-keymap): Don't use `lookup-key'
on the `keymap' arg.

* lisp/mouse.el (context-menu-global): Use `lookup-key global-map'
for the `keymap' arg of `menu-bar-keymap'.
(context-menu-local): Use `menu-bar-keymap' to sort `keymap'.
2021-11-18 20:36:55 +02:00
Michael Albinus
03fba4da8f Do not exclude emacs-module-tests.el on emba
* test/infra/gitlab-ci.yml (test-native-comp-speed0)
(test-all-inotify): Do not exclude emacs-module-tests.el.

* test/src/emacs-module-tests.el
(module--test-assertions--load-non-live-object)
(module--test-assertions--load-non-live-object-with-global-copy)
(module--test-assertions--call-emacs-from-gc)
(module--test-assertions--globref-invalid-free): Tag them as
:unstable on emba.  (Bug#50902)
2021-11-18 19:35:13 +01:00
Juri Linkov
14271d050a Fix flyspell-correct-word selected from context menu opened with the keyboard
* lisp/mouse.el (context-menu-open): Call interactively a command
returned by `context-menu-map' such as `flyspell-correct-word' (bug#50067).

* lisp/textmodes/flyspell.el (flyspell-correct-word): Handle the
case when it's called by a key bound to `context-menu-open'.
Then it should work the same way as `C-c $' typed on misspelled word
where the arg `event' of `flyspell-correct-word-before-point' is nil.
2021-11-18 20:23:58 +02:00
Robert Pluim
bf824843f4 * lisp/repeat.el (describe-repeat-maps): Print all bound keys (bug#49265). 2021-11-18 19:42:44 +02:00
Juri Linkov
6fc94fb99e * lisp/tab-bar.el: Use 'mouse-1' for history buttons like for 'add-tab' button
* lisp/tab-bar.el (tab-bar-mouse-down-1, tab-bar-mouse-1):
Handle clicks for 'history-back' and 'history-forward' the same way
as 'add-tab' clicks.
2021-11-18 19:36:42 +02:00
Juri Linkov
a4e789c2e3 * lisp/tab-bar.el: Optimize data usage for nil tab-bar-history-mode.
* lisp/tab-bar.el (tab-bar--tab): Add wc-history-back and
wc-history-forward only when tab-bar-history-mode is non-nil.
(tab-bar-select-tab): Use wc-history-back and
wc-history-forward only when tab-bar-history-mode is non-nil.
(tab-bar-new-tab-to): Reset tab-bar-history-back and
tab-bar-history-forward to nil.
2021-11-18 19:28:32 +02:00
Juri Linkov
5c8c3d59ea * lisp/tab-bar.el: Avoid micro-steps in tab-bar-history-back/forward.
* lisp/tab-bar.el (tab-bar-history-pre-command)
(tab-bar-history-done-command): New variables.
(tab-bar--history-pre-change): Set 'tab-bar-history-omit' and
'tab-bar-history-pre-command'.
(tab-bar--history-change): Use 'tab-bar-history-done-command' and
'tab-bar-history-pre-command' (bug#51370).
2021-11-18 19:28:32 +02:00
Eli Zaretskii
4da785ec98 ; Minor fixes of doc strings in xdisp.c
* src/xdisp.c (syms_of_xdisp) <redisplay-skip-initial-frame>
<redisplay--all-windows-cause, redisplay--mode-lines-cause>: Doc fix.
2021-11-18 19:17:52 +02:00