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

153688 commits

Author SHA1 Message Date
Po Lu
d556e75af8 Improve tooltip implementation on Haiku
This fixes several issues: tooltips having no right internal
border, reusing tooltips occasionally freezing Emacs, and
inconsistent behaviour when compared to X.

* src/haiku_support.cc (BWindow_resize): Revert a recent change.
(BView_move_frame):
(BWindow_set_avoid_focus): Stop sync'ing when locked.  This
tends to cause lockups for an unknown reason.
* src/haikufns.c (initial_setup_back_buffer): New function.
(haiku_create_frame): Remove tooltip related code.
(haiku_set_internal_border_width): Handle cases where the face
cache is NULL and/or the window has not been created.
(haiku_set_inhibit_double_buffering): Likewise.
(haiku_create_tip_frame): New function.
(Fx_create_frame): Remove tooltip specific code.
(Fx_show_tip): Synchronize code with X.

* src/haikuterm.c (haiku_new_font): Don't adjust size on tooltip
frames.
(haiku_read_socket): Draw internal border on tooltip frames
during resize.
(haiku_clear_under_internal_border): Handle cases where the face
cache is NULL.
2022-01-18 08:21:42 +00:00
Po Lu
c99e28207a * lisp/tooltip.el (tooltip-show-help): Fix typo. 2022-01-18 15:56:08 +08:00
Po Lu
77b5bd4cdb * lisp/tooltip.el: Fix warning when built on a non-Haiku system. 2022-01-18 11:35:44 +08:00
Eli Zaretskii
8fe828db78 ; * lisp/international/fontset.el (setup-default-fontset): Fix last change. 2022-01-18 05:33:28 +02:00
Po Lu
0a010902d7 Fix system tooltips above menus
* src/haikufns.c (Fx_show_tip): Disable frame reuse inside a
menu.
(syms_of_haikufns): New symbol `tooltip-reuse-hidden-frame'.
2022-01-18 02:41:29 +00:00
Po Lu
0c0b77b3cc Allow non-system tooltips to display above menus on Haiku
* doc/emacs/haiku.texi (Haiku Basics): Document that tooltips
can now be displayed above the menu bar.

* lisp/tooltip.el (tooltip-show-help): Only display help text in
the echo area if Haiku system tooltips are enabled.

* src/haiku_support.cc (FlipBuffers): Stop flushing view.
* src/haikufns.c (Fx_show_tip): Fix a sizing bug leading to
tooltips needing two redisplays to display correctly.
* src/haikuterm.c (haiku_read_socket): Ignore resize events on
tooltips.
2022-01-18 02:06:00 +00:00
Stefan Monnier
2dad332a14 (hack-local-variables--find-variables): Use user-error
* lisp/files.el (hack-local-variables--find-variables):
Incorrect formatting are not coding errors.
2022-01-17 16:28:02 -05:00
Eli Zaretskii
0ddc03cf8c Fix minor inconsistencies in 'char-script-table'
* admin/unidata/blocks.awk (name2alias): Map some obscure blocks
to their native scripts, to follow Scripts.txt.

* lisp/international/characters.el (char-script-table): Add
few exceptions.
* lisp/international/fontset.el (script-representative-chars):
Remove scripts no longer used.
2022-01-17 21:49:58 +02:00
Robert Pluim
346747451f ; textsec.el: fix typo
* lisp/international/textsec.el (textsec-covering-scripts): Fix typo
in docstring.
2022-01-17 18:24:31 +01:00
Eli Zaretskii
ef1f5dfe2b Doc fixes in textsec.el
* lisp/international/textsec.el (textsec-scripts)
(textsec-single-script-p, textsec-covering-scripts): Clarify "script".
2022-01-17 19:15:30 +02:00
Eli Zaretskii
fd17eb67c0 ; * admin/notes/unicode: Update. 2022-01-17 19:09:22 +02:00
Lars Ingebrigtsen
9f902eb808 Change textsec-mixed-numbers-p to use recommended algorithm
* lisp/international/textsec.el (textsec-mixed-numbers-p): New
function.
2022-01-17 18:01:59 +01:00
Lars Ingebrigtsen
1c7307673b Add new function textsec-mixed-numbers-p
* lisp/international/textsec.el (textsec-mixed-numbers-p): New
function.
2022-01-17 17:32:58 +01:00
Lars Ingebrigtsen
9b358a99d6 Add some textsec-restriction-level comments
* lisp/international/textsec.el (textsec-restriction-level): Add
comment about source of the list of languages.
2022-01-17 16:27:10 +01:00
Lars Ingebrigtsen
a1ffee1e82 Add textsec-restriction-level function
* lisp/international/textsec.el (textsec-restriction-level): New
function.
2022-01-17 16:24:17 +01:00
Lars Ingebrigtsen
523a96a99e Fix some doc strings in textsec.el
* lisp/international/textsec.el (textsec-single-script-p): Fix
typo in doc string.
(textsec-covering-scripts): Improve doc string and sort the results.
2022-01-17 16:06:04 +01:00
Lars Ingebrigtsen
5b6aa79aef Avoid loading the possibly stale unidata-gen.elc file
* admin/unidata/Makefile.in (${unidir}/uni-scripts.el): Fix .elc
  staleness.  (Should probably be fixed in a different way.)
2022-01-17 15:51:58 +01:00
Lars Ingebrigtsen
e2c8091113 Add support for functions that deal with Unicode scripts
* admin/unidata/Makefile.in (${unidir}/uni-scripts.el): Build
uni-scripts.el.

* admin/unidata/Scripts.txt:
* admin/unidata/ScriptExtensions.txt:
* admin/unidata/PropertyValueAliases.txt: New files from Unicode.

* admin/unidata/README: Update.

* admin/unidata/unidata-gen.el (unidata-gen-charprop): Allow
writing other data, too.
(unidata-gen-scripts, unidata-gen--read-script-aliases)
(unidata-gen--insert-file): New functions to parse the Script* files.

* lisp/international/textsec.el: Implement some functions that
work on scripts.
2022-01-17 15:47:50 +01:00
Lars Ingebrigtsen
39d4e1ca21 Move the Gnus range functions to a new range.el file
* lisp/emacs-lisp/range.el: New file.

* lisp/gnus/gnus-agent.el (range):
(gnus-agent-synchronize-group-flags):
(gnus-agent-possibly-alter-active):
(gnus-agent-fetch-headers):
(gnus-agent-read-agentview):
(gnus-agent-fetch-group-1):
(gnus-agent-read-p):
(gnus-agent-expire-group-1):
(gnus-agent-retrieve-headers): Adjust callers.

* lisp/gnus/gnus-art.el (range):
(gnus-article-describe-bindings):

* lisp/gnus/gnus-cloud.el (range):
(gnus-cloud-available-chunks):

* lisp/gnus/gnus-draft.el (gnus-group-send-queue):

* lisp/gnus/gnus-group.el (range):
(gnus-group-line-format-alist):
(gnus-number-of-unseen-articles-in-group):
(gnus-group-update-eval-form):
(gnus-group-read-group):
(gnus-group-delete-articles):
(gnus-group-catchup):
(gnus-group-expire-articles-1):
(gnus-add-marked-articles):

* lisp/gnus/gnus-int.el (gnus-request-marks):

* lisp/gnus/gnus-kill.el (gnus-apply-kill-file-internal):

* lisp/gnus/gnus-range.el (gnus-range-difference)
(gnus-sorted-range-intersection, gnus-uncompress-range)
(gnus-add-to-range, gnus-remove-from-range)
(gnus-member-of-range, gnus-list-range-intersection)
(gnus-list-range-difference, gnus-range-length, gnus-range-add)
(gnus-range-map): Make into obsolete aliases.

* lisp/gnus/gnus-start.el (gnus-make-articles-unread):
(gnus-convert-old-ticks):
(gnus-read-old-newsrc-el-file):

* lisp/gnus/gnus-sum.el (gnus-select-newsgroup):
(gnus-articles-to-read):
(gnus-articles-to-read):
(gnus-killed-articles):
(gnus-adjust-marked-articles):
(gnus-update-marks):
(gnus-update-marks):
(gnus-compute-read-articles):
(gnus-list-of-read-articles):
(gnus-summary-update-info):
(gnus-summary-move-article):
(gnus-summary-expire-articles):
(gnus-update-read-articles):
(gnus-summary-insert-old-articles):
(gnus-summary-insert-old-articles):
(gnus-summary-insert-old-articles):

* lisp/gnus/mail-source.el (gnus-range):
(gnus-compress-sequence):

* lisp/gnus/nnheader.el (range):
(gnus-range-add):
(nnheader-update-marks-actions):

* lisp/gnus/nnimap.el (nnimap-update-info):
(nnimap-update-info):
(nnimap-update-info):
(nnimap-update-qresync-info):
(nnimap-update-qresync-info):
(nnimap-update-qresync-info):
(nnimap-parse-copied-articles):

* lisp/gnus/nnmaildir.el (nnmaildir-request-update-info):
(nnmaildir-request-update-info):
(nnmaildir-request-expire-articles):
(nnmaildir-request-expire-articles):
(nnmaildir-request-set-mark):

* lisp/gnus/nnmairix.el (nnmairix-request-set-mark):

* lisp/gnus/nnmbox.el (nnmbox-record-active-article):
(nnmbox-record-deleted-article):

* lisp/gnus/nnml.el (nnml-request-compact-group):

* lisp/gnus/nnvirtual.el (nnvirtual-request-expire-articles):
* lisp/gnus/nnselect.el (numbers-by-group):
(nnselect-request-update-info):
(nnselect-push-info):
2022-01-17 15:47:50 +01:00
Po Lu
ab17e35325 Merge from origin/emacs-28
f393d0d441 Fix regression leading to flickering tooltips when the mou...
2022-01-17 21:45:44 +08:00
Po Lu
5205be5106 ; Merge from origin/emacs-28
The following commit was skipped:

9e64aeff40 * Fix native comp for non trivial function names (bug#52833)
2022-01-17 21:45:44 +08:00
Po Lu
f393d0d441 Fix regression leading to flickering tooltips when the mouse is moved
* lisp/tooltip.el (tooltip-show-help): Compare string with
previous tooltip string ignoring properties.
2022-01-17 21:42:31 +08:00
Eli Zaretskii
8cc1b9035c Revert "Add undelete-frame-max instead of undelete-frame-mode (bug#51883)"
This reverts commit 714e11d535.

That commit was unilateral and disregarded past discussions.
2022-01-17 14:51:53 +02:00
Eli Zaretskii
37d46cec60 Revert "* etc/NEWS: Improve wording of 'undelete-frame-max' (bug#51883)."
This reverts commit 65666c4786.

The original commit was unilateral and disregarded past
discussions.
2022-01-17 14:51:03 +02:00
Po Lu
412247c53f Fix Emacs icon not appearing on Haiku
* lib-src/be_resources.cc (main): Scale input bitmap
appropriately before setting it as the mini and large icons.
* src/Makefile.in (Emacs): Add dependency on
`lib-src/be-resources'.
2022-01-17 11:09:50 +00:00
Andrea Corallo
9e64aeff40 * Fix native comp for non trivial function names (bug#52833)
* lisp/emacs-lisp/comp.el (comp-c-func-name): Fix native compilation
for functions with function names containing non trivial
characters (bug#52833).

This commit is the backport of e7699bf290.

Do not merge to master
2022-01-17 11:54:52 +01:00
Po Lu
1cd6737a38 Use BControlLook to determine scroll bar size on Haiku
* src/haiku_support.cc (BScrollBar_default_size): Use
BControlLook instead of legacy constants.
2022-01-17 10:46:55 +00:00
Po Lu
2fa1eced39 Display override redirect frames in all workspaces on Haiku
* src/haiku_support.cc (class EmacsWindow): New field
`pre_override_redirect_workspaces'.
(BWindow_set_override_redirect): Set window to display on all
workspaces.
2022-01-17 10:08:04 +00:00
Michael Albinus
c9d06d080b Improve handling of INFILE in tramp*-process-file (Bug#53284)
* lisp/net/tramp-adb.el (tramp-adb-handle-process-file):
* lisp/net/tramp-sh.el (tramp-sh-handle-process-file):
* lisp/net/tramp-smb.el (tramp-smb-handle-process-file):
* lisp/net/tramp-sshfs.el (tramp-sshfs-handle-process-file):
Improve handling of INFILE.  Fix thinko using
`process-file-side-effects'.  (Bug#53284)

* lisp/net/tramp-sshfs.el (tramp-sshfs-file-name-handler-alist):
Use `tramp-sshfs-handle-set-file-times'.
(tramp-sshfs-handle-set-file-times): New defun.

* test/lisp/net/tramp-tests.el (tramp-test28-process-file): Extend test.
2022-01-17 10:46:58 +01:00
Juri Linkov
65666c4786 * etc/NEWS: Improve wording of 'undelete-frame-max' (bug#51883). 2022-01-17 10:24:20 +02:00
Po Lu
c2f3a2f5e3 * src/haikufns.c (Fx_show_tip): Sync after making window visible. 2022-01-17 05:06:31 +00:00
Po Lu
ace6a88285 Really eliminate tooltip flicker on Haiku
* src/haikufns.c (tip_frame): Make non-static.
* src/haikuterm.c (haiku_read_socket): Ignore motion events that
didn't actually move when a tip frame is visible.
* src/haikuterm.h (tip_frame): Declare.
2022-01-17 04:53:42 +00:00
Po Lu
84ebb16577 Translate timestamps when using GTK native input
* src/gtkutil.c (xg_widget_key_press_event_cb): Use timestamp
specified in key event.
(xg_filter_key): Translate timestamps.
2022-01-17 09:48:01 +08:00
Po Lu
e25db1e167 Exercise wire right after event is filtered for native input
* src/xterm.c (handle_one_xevent): Run a no-op immediately after
an event was filtered by GDK.
2022-01-17 08:30:38 +08:00
Juri Linkov
714e11d535 Add undelete-frame-max instead of undelete-frame-mode (bug#51883)
* doc/emacs/frames.texi (Frame Commands): Replace
undelete-frame-mode with undelete-frame-max.

* lisp/frame.el (undelete-frame-max): New defcustom, by default 1.
(undelete-frame--handle-delete-frame): Use undelete-frame-max
instead of hard-coded 16.
(undelete-frame-mode): Remove function.
(after-init-hook): Add hook undelete-frame--handle-delete-frame to
delete-frame-functions using after-init-hook to not store the
initial frame.
(undelete-frame): Remove undelete-frame-mode.  Use undelete-frame-max
instead of hard-coded 16.

* lisp/menu-bar.el (menu-bar-file-menu): Remove menu item undelete-frame-mode.

* src/frame.c (Fdelete_frame): Replace `undelete-frame-mode' with
`undelete-frame-max' in the docstring.
2022-01-16 22:58:30 +02:00
Matthias Meulien
5c30c8778d Extend Outline mode with default visibility state
* etc/NEWS: Announce support for default visibility state (bug#51809).

* lisp/outline.el (outline-mode, outline-minor-mode): Ensure default
visibility state is applied with outline-apply-default-state.
(outline-default-state, outline-default-rules)
(outline-default-long-line, outline-default-line-count): New defcustoms.
(outline-apply-default-state, outline-show-only-headings)
(outline--show-headings-up-to-level): New functions.
2022-01-16 20:13:21 +02:00
Po Lu
8f65246523 Fix XI2 event filtering for very old versions of libXi
* src/xterm.c (handle_one_xevent): Handle cases where
xev->display is NULL.
2022-01-16 21:40:07 +08:00
Po Lu
1220cf605b Fix the xft build
* src/xsettings.h [!HAVE_PGTK]: Include dispextern.h and remove
duplicate definition of Display_Info.
2022-01-16 19:45:54 +08:00
Po Lu
5476026119 Use kMenuWindowFeel on Haiku toolkip windows
* src/haiku_support.cc (BWindow_set_tooltip_decoration): Use
kMenuWindowFeel and set flags here.
* src/haikufns.c (Fx_show_tip): Don't set_avoid_focus manually
since setting tooltip decorations already does that.
2022-01-16 11:02:58 +00:00
Po Lu
7f074fecf4 Make help event generation on Haiku behave closer to X
* src/haikuterm.c (haiku_read_socket): Generate help events more
like how X does it.
2022-01-16 10:43:22 +00:00
Po Lu
df53beb2db Reduce poll time for Haiku file dialogs
* src/haiku_support.c (be_popup_file_dialog): Reduce idle
processor load by increasing timeout.  The timeout is still too
low to be noticable by the user.
2022-01-16 10:12:22 +00:00
Po Lu
0ae6491a89 * src/gtkutil.c (xg_widget_key_press_event_cb): Also raise input signal. 2022-01-16 18:02:04 +08:00
Yuuki Harano
da35e9d5ef * src/pgtkterm.c (evq_flush): Shift events one by one 2022-01-16 17:25:28 +09:00
Po Lu
9b308a333b Avoid focus and allow monospace text in tooltip frames on Haiku
* src/haikufns.c (Fx_show_tip): Set avoid focus on tooltip
frames.

* src/haikuterm.c (haiku_default_font_parameter): Don't special
case the default font on tooltip frames, since the bug that was
supposed to work around has already been fixed.
2022-01-16 05:59:39 +00:00
Stefan Kangas
19d681d24b Merge from origin/emacs-28
e488601849 Update to Org 9.5.2-9-g7ba24c
95640360f0 * lisp/net/dictionary.el (dictionary-context-menu): Use pa...
2022-01-16 06:51:09 +01:00
Stefan Kangas
5cdee3a997 ; Merge from origin/emacs-28
The following commit was skipped:

2dcb1bc474 Mark a few more map tests as unstable on Emacs 28 (Bug#467...
2022-01-16 06:51:09 +01:00
Stefan Kangas
3fbe137adb Merge from origin/emacs-28
7f36aca99d * lisp/indent.el (tab-first-completion): Fix incorrect cho...
2022-01-16 06:51:09 +01:00
Po Lu
e2b9f3347e Update modifier meanings even if an xkb_desc was not available
* src/xterm.c (handle_one_event): Always update modifiers after
the keyboard mapping is refreshed.
2022-01-16 13:46:39 +08:00
Po Lu
c59e870cce * src/xwidget.c (webkit_js_to_lisp): Use correct constant to check size. 2022-01-16 10:05:17 +08:00
Po Lu
80c52346c2 Fix a minor snafu when resizing frames on Haiku
* src/haiku_support.cc (BWindow_resize): Adjust for minor snafu
where BWindow::ResizeTo uses BRect-style width and height
instead of actual width and height.
2022-01-16 00:47:41 +00:00