1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-04-25 07:40:40 -07:00
Commit graph

153467 commits

Author SHA1 Message Date
Stefan Kangas
32f1ec449d * lisp/abbrev.el (edit-abbrevs-mode-map): Use defvar-keymap. 2022-01-10 01:09:10 +01:00
Stefan Kangas
fe54cf0b1f Do interactive mode tagging for edit-abbrevs-mode
* lisp/abbrev.el (edit-abbrevs-redefine)
(abbrev-edit-save-to-file, abbrev-edit-save-buffer): Interactive mode
tagging for edit-abbrevs-mode.
(edit-abbrevs-mode): Make non-interactive.
2022-01-10 01:09:10 +01:00
Stefan Monnier
dc1ee5b502 * lisp/gnus/nnnil.el (nnnil-close-server): Add new defs arg 2022-01-09 17:16:47 -05:00
Eli Zaretskii
4b6efda54e ; * src/filelock.c (lock_if_free): Fix comment wording. 2022-01-09 19:21:03 +02:00
Ivan Sokolov
4509095d79 Add doc-string indices to easy-mmode-{defmap,defsyntax}
* lisp/emacs-lisp/easy-mmode.el (easy-mmode-defmap)
(easy-mmode-defsyntax): Declare third argument as doc-string.
(Bug#52978)
2022-01-09 16:37:02 +01:00
Po Lu
691015fedb Fix filelock.c for Haiku
This was found during the investigation surrounding bug#53136,
but is not directly related.

* src/filelock.c (lock_if_free): Explictly test err against -1
or -2, and reverse sign of system errors on Haiku.  (No Haiku
error occupies -1 or -2.)
2022-01-09 13:34:19 +00:00
Po Lu
54971f5c14 Add an option to display the cursor at the beginning of any preedit text
Believe it or not, people actually want this, because it makes
Emacs behave closer to some other editors such as WPS Office.

* lisp/term/x-win.el
(x-display-cursor-at-start-of-preedit-string): New user option.
(x-preedit-text): Respect new option.
2022-01-09 20:55:16 +08:00
Po Lu
e91848344e Pass through caret position from native GTK input methods
* src/gtkutil.c (xg_im_context_preedit_changed): Set caret
position appropriately.
* src/xfns.c (xg_widget_key_press_event_cb): Ignore modifier
keys.
(xic_preedit_caret_callback, xic_preedit_draw_callback):
Constrain caret position to the string length as well.
2022-01-09 20:43:17 +08:00
Po Lu
59ede5cce8 Fix specification of caret position
* src/xfns.c (xic_preedit_caret_callback):
(xic_preedit_draw_callback): Use `cursor' property correctly.

* src/xterm.c (handle_one_xevent): Stop filtering XI release
events.  This caused more problems than it fixed.
2022-01-09 20:30:58 +08:00
Eli Zaretskii
fea3bed792 ; Minor wording fix in last NEWS entry. 2022-01-09 14:14:10 +02:00
Po Lu
5cee447ed0 Add missing part of last commit
* src/xterm.h (struct x_output): Add field `preedit_caret'.
2022-01-09 19:48:13 +08:00
Po Lu
d5499e3eb2 Display caret in preedit text where the input method asked
* src/xfns.c (xic_preedit_start_callback): Clear caret position.
(xic_preedit_caret_callback): Record new caret position and
announce it.
(xic_preedit_done_callback): Clear caret position.
(xic_preedit_draw_callback): Set caret position appropriately.
2022-01-09 19:46:14 +08:00
Po Lu
3dfefb8bb4 Fix native GTK input for cyrillic input methods
* src/gtkutil.c (xg_widget_key_press_cb): Get unicode mapping of
keyval if string doesn't exist.
* src/xterm.c (handle_one_xevent): Fix build without
HAVE_X_I18N.
2022-01-09 18:16:46 +08:00
Stefan Kangas
262a7c9ea0 New minor mode elide-head-mode
* lisp/elide-head.el (elide-head-mode): New minor mode.  (Bug#52980)
(elide-head--delete-overlay, elide-head--show)
(elide-head--hide): New functions factored out from ...
(elide-head, elide-head-show): ... here.  Make obsolete in favor
of elide-head-mode.
(elide-head-headers-to-hide): Doc fix.

* test/lisp/elide-head-tests.el (ert-x): Require.
(elide-head-tests-elide-head-mode)
(elide-head-tests-elide-head-mode/enable-disable)
(elide-head-tests-elide-head-mode/normal-mode)
(elide-head-tests-elide-head-mode/revert-buffer): New tests.
(elide-head--add-test): Update test to use elide-head-mode.
(elide-head-tests-elide-head)
(elide-head-tests-elide-head-with-prefix-arg)
(elide-head-tests-show): Make obsolete.
2022-01-09 11:12:06 +01:00
Po Lu
a2868656ab * lisp/term/x-win.el (x-preedit-text): Make edit overlay window local. 2022-01-09 17:50:51 +08:00
Po Lu
51ee62bf28 Reduce flicker on Haiku Emacs tooltips
* src/haikuterm.c (haiku_read_socket): Ignore motion events from
tooltip frames.
2022-01-09 06:54:08 +00:00
Stefan Kangas
3984ea8553 Merge from origin/emacs-28
30f1bdb41f Clarify docstring of package-native-compile
c54fda643d Fix Subject "simplification" in Rmail
2022-01-09 06:30:18 +01:00
Po Lu
af7ca138c4 ; * src/image.c (syms_of_image): Fix typo in last change. 2022-01-09 05:04:15 +00:00
Po Lu
0c1099d6d8 * src/image.c (syms_of_image): Declare support for webp on Haiku. 2022-01-09 05:00:37 +00:00
Po Lu
91f778d3af Add support for native webp images on Haiku
* src/haikuimage.c (haiku_can_use_native_image_api): Add support
for `webp' images.
2022-01-09 04:44:16 +00:00
Po Lu
97f41faf09 Make caps lock work on Haiku
* src/haiku_support.cc (map_caps):
(map_caps_shift): New functions.
(DispatchMessage): Map keys with the appropriate map if caps
lock is on.
2022-01-09 04:32:57 +00:00
Po Lu
8aad4cee32 Fix some problems with Haiku font display
* src/haiku_font_support.cc (BFont_char_bounds): Fix rounding
errors.
(BFont_open_pattern): Set size before setting family and style.
2022-01-09 03:24:44 +00:00
Stefan Kangas
30f1bdb41f Clarify docstring of package-native-compile
* lisp/emacs-lisp/package.el (package-native-compile): Clarify
docstring.
2022-01-09 03:18:38 +01:00
Po Lu
92e4460911 Implement override redirect on Haiku
* src/haiku_support.cc (pre_override_redirect_style):
(pre_override_redirect_feel): New variables.
(BWindow_set_override_redirect):
* src/haiku_support.h (BWindow_set_override_redirect): New
functions.
* src/haikufns.c (haiku_create_frame): Set override redirect.
(haiku_set_override_redirect): New function.
(haiku_frame_parm_handlers): Add `haiku_set_override_redirect'
2022-01-09 01:33:02 +00:00
Po Lu
c6e8b5354b Fix some portability bugs in gtkutil.c
* src/gtkutil.c (xg_widget_key_press_event_cb): Surround raising
SIGIO with USABLE_SIGIO.
2022-01-09 08:51:35 +08:00
Eli Zaretskii
c54fda643d Fix Subject "simplification" in Rmail
* lisp/mail/rmail.el (rmail-simplified-subject): Match against
"[external]" _after_ decoding the Subject by RFC-2047.
2022-01-08 16:32:01 +02:00
Stefan Kangas
762aa25fe7 ; Merge from origin/emacs-28
The following commit was skipped:

d193801f59 Bump Emacs version to 28.0.91
2022-01-08 14:43:28 +01:00
Stefan Kangas
42cdd0e5a6 Merge from origin/emacs-28
d2284b0353 ; Update files for 28.0.91 pretest

# Conflicts:
#	lisp/ldefs-boot.el
2022-01-08 14:43:28 +01:00
Po Lu
c1106b2ee7 Make sure native keypresses are received immediately on GTK
* src/gtkutil.c (xg_widget_key_press_event_cb): Send input
available signal.
2022-01-08 21:28:11 +08:00
Po Lu
e05512ba42 Fix pinch-to-scale on real X servers and NS
* lisp/face-remap.el (text-scale-pinch): Stop waiting for
more events.
2022-01-08 20:53:02 +08:00
Po Lu
2e60ca3713 Correctly translate GDK virtual modifiers when using native input
* src/gtkutil.c (xg_virtual_mods_to_x): New function.
(xg_widget_key_press_event_cb): Translate modifiers to X first.
2022-01-08 20:44:47 +08:00
Michael Albinus
9652736b08 Adapt Tramp for `auth-info-password'
* lisp/net/tramp-compat.el (tramp-compat-auth-info-password):
New defalias.

* lisp/net/tramp.el (tramp-read-passwd): Use it.
2022-01-08 13:38:18 +01:00
Stefan Kangas
d193801f59 Bump Emacs version to 28.0.91
* README:
* configure.ac:
* msdos/sed2v2.inp:
* nt/README.W32: Bump Emacs version to 28.0.91.
2022-01-08 13:09:29 +01:00
Stefan Kangas
d2284b0353 ; Update files for 28.0.91 pretest
* ChangeLog.3:
* etc/AUTHORS:
* lisp/ldefs-boot.el: Update.
2022-01-08 13:09:25 +01:00
Po Lu
a80125ae37 * src/haikuterm.c (haiku_clear_frame): Fix clipping. 2022-01-08 10:41:05 +00:00
Po Lu
86ed4b9858 Add an option to rely on passive touch grabs on X
This prevents crashes with three-finger touch gestures on
Xwayland running on GNOME Shell, and also when running some
programs that make use of an Emacs window's XID on the same X
server.

* src/xterm.c (handle_one_xevent): Respect
`x-input-grab-touch-events'.
(syms_of_xterm): New option `x-input-grab-touch-events.
2022-01-08 18:24:53 +08:00
Eli Zaretskii
e86a2ce5fc ; Fix last change. 2022-01-08 11:13:03 +02:00
Eli Zaretskii
6bf1bb384c Improve documentation of native input methods
* doc/emacs/mule.texi (International, Input Methods)
(Unibyte Mode): Document user-level features of native input
methods.
2022-01-08 11:10:42 +02:00
Po Lu
f7c3d62833 * lisp/cus-start.el (standard): Fix standard customizables for PGTK. 2022-01-08 15:30:02 +08:00
Po Lu
79cc87f3b7 Fix build on PGTK
* src/gtkutil.c (xg_mark_data):
* src/gtkutil.h (xg_filter_key): Ifdef out definitions on PGTK.
2022-01-08 15:27:50 +08:00
Po Lu
d76fb0c11e Allow using GTK+ to handle input methods on X
* doc/emacs/xresources.texi (Table of Resources): Document new
value of `inputStyle'.
* etc/NEWS: Announce new option.

* lisp/cus-start.el (standard): Add `x-gtk-use-native-input'.
* src/gtkutil.c (xg_mark_data): Mark xg_pending_quit_event.
(xg_add_virtual_mods):
(xg_im_context_commit):
(xg_im_context_preedit_changed):
(xg_im_context_preedit_end):
(xg_widget_key_press_event_cb):
(xg_filter_key): New functions.
* src/gtkutil.h: Add prototype for `xg_filter_key'.
* src/xfns.c (xic_set_preeditarea): Set cursor location for the
GTK IM context as well.
* src/xterm.c (xg_pending_quit_event): New variable.
(x_focus_changed): Set focus on the GTK input context as well.
(x_filter_event): Filter events through GTK if the user asked
for it.
(handle_one_xevent): Likewise.
(XTread_socket): Set hold_quit to xg_pending_quit_event if it
exists.
(x_draw_window_cursor): Always set preedit area even if XIC
doesn't exist.
* src/xterm.h (struct x_display_info): New field
`prefer_native_input'.
(struct x_output): New field `im_context'.
2022-01-08 15:21:51 +08:00
Po Lu
63c83e40da * src/pgtkterm.c (pgtk_enqueue_string): Free return of g_utf8_to_ucs4. 2022-01-08 11:18:59 +08:00
Po Lu
9bb71f8236 Call EVENT_INIT in some places
* src/xfns.c (xic_preedit_done_callback):
(xic_preedit_draw_callback): Call EVENT_INIT.
2022-01-08 11:16:22 +08:00
Sam Steingold
ad5cf84fa7 Add `auth-info-password' and use it instead of ad hoc code
* lisp/auth-source.el (auth-info-password):
  Extract from `auth-source-pick-first-password'.
(auth-source-pick-first-password, auth-source-secrets-create)
(auth-source-user-and-password): Use `auth-info-password'.
* lisp/erc/erc-services.el (erc-nickserv-get-password):
  Use `auth-source-pick-first-password'.
* lisp/erc/erc.el (erc-open, erc-server-join-channel): Likewise.
* lisp/gnus/mail-source.el (mail-source-set-1): Add a comment.
* lisp/gnus/nnimap.el (nnimap-credentials): Use `auth-info-password'.
* lisp/gnus/nntp.el (nntp-send-authinfo): Likewise.
* lisp/mail/rmail.el (rmail-get-remote-password): Likewise.
* lisp/mail/smtpmail.el (smtpmail-try-auth-methods): Likewise.
* lisp/net/sieve-manage.el (sieve-sasl-auth): Likewise.
* lisp/net/tramp.el (tramp-read-passwd): Likewise.
* lisp/net/rcirc.el (rcirc): Likewise (fixes a bug: the possibility
  that password might be a function was not handled).
2022-01-07 14:48:59 -05:00
Eli Zaretskii
19c6cad182 Fix "C-SPC C-SPC" after "C-x C-x"
* lisp/simple.el (exchange-point-and-mark): Fix what the command
does when 'transient-mark-mode' is OFF.  (Bug#52896)
2022-01-07 20:30:17 +02:00
Eli Zaretskii
c168afb6f6 Minor improvements for 'pgtk' documentation
* src/dispnew.c (syms_of_display) <initial-window-system>
<window-system>:
* src/frame.c (Fwindow_system):
* doc/lispref/display.texi (Defining Faces, Window Systems):
* doc/lispref/frames.texi (Frames): Mention/explain 'pgtk'/'haiku'.
* doc/lispref/commands.texi (Misc Events): Fix @example and
markup.
2022-01-07 16:38:47 +02:00
Yuuki Harano
f424ef88e2 Handle internal events specially on PGTK
* src/xgselect.c (xg_select): If there are pending events already,
don't sleep.
2022-01-07 22:09:13 +09:00
Yuuki Harano
a263824ae3 Write documentation about ARG of the preedit-text event on PGTK
* doc/lispref/commands.texi (Misc Events):
2022-01-07 21:17:27 +09:00
Po Lu
d4e48c3642 Fix special-cased cursor foreground and background correctly on PGTK
* src/pgtkfns.c (x_set_foreground_color):
(x_set_background_color): Set cursor color as well if
appropriate.  (bug#53073)
2022-01-07 20:01:11 +08:00
Po Lu
62f3942b89 Add documentation for the `none' input style
* doc/emacs/xresources.texi (Table of Resources): Document
missing value of `inputStyle'.
2022-01-07 19:08:56 +08:00