1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-05 03:20:39 -08:00
Commit graph

154559 commits

Author SHA1 Message Date
Lars Ingebrigtsen
f0b4f2ee6b Ensure that `mail-send' breaks too-long lines
* lisp/mail/sendmail.el (mail-send): Ensure that we fold too-long
lines when using `sendmail-user-agent' (bug#53412).
2022-02-20 13:41:57 +01:00
Matthias Meulien
06b7c53927 Add more bookmark types
* lisp/gnus/gnus-sum.el (gnus-summary-bookmark-jump):
* lisp/man.el (Man-bookmark-jump): Mark the bookmark type
(bug#54030).
2022-02-20 13:23:33 +01:00
Po Lu
7a6e229a2e Fix font panel on NS
* src/nsterm.m ([EmacsView changeFont:]): Don't use emacs_event,
instead placing events directly into the keyboard buffer.
2022-02-20 20:00:28 +08:00
Po Lu
7b7c09c561 * src/haikumenu.c (haiku_dialog_show): Set `popup_activated_p'.
Author:
2022-02-20 10:42:41 +00:00
Po Lu
dad7ee2353 Handle GUI input while inside popup dialog on Haiku
* src/haiku_support.cc (alert_popup_value): New variable.
(be_alert_thread_entry): New function.
(BAlert_go): Complete rewrite that allows async input to be
handled while the popup is active.
* src/haiku_support.h: Update prototypes.
* src/haikumenu.c (haiku_dialog_show, haiku_popup_dialog): Stop
blocking input and pass required callbacks to `BAlert_go'.
* src/haikuterm.c (haiku_term_init): Set interrupt input mode to
t.
2022-02-20 10:38:38 +00:00
Po Lu
d7fc7bdd81 Fix typo in last change
* src/xterm.c (handle_one_xevent): Use `xi_done_keysym' label
when ignoring modifier keys from XI2 input.
2022-02-20 10:05:46 +08:00
Po Lu
15910e5da3 Ignore modifier keys early when handling X key press events
* src/xterm.c (handle_one_xevent): Ignore modifier keys earlier
without going through the usual key lookup.
(x_delete_terminal): Free recorded modifier map.
(x_find_modifier_meanings): Record modifier map.

* src/xterm.h (struct x_display_info): New field `modmap'.
2022-02-20 10:03:28 +08:00
Po Lu
7a699e79f6 Free XI2 devices in x_delete_display instead
* src/xterm.c (x_delete_display): Free XI2 device data here
instead, since it doesn't involve contacting the X server any
more.
(x_delete_terminal): Stop freeing XI2 device data.
2022-02-20 09:14:00 +08:00
Philip Kaludercic
5767e06b8e Revert "; * rcirc.el (rcirc-print): Prefer sleep-for over sit-for" 2022-02-19 22:04:44 +01:00
Stefan Monnier
ecaedf2117 (specpdl_unrewind): Fix corner case
* src/lisp.h (enum specbind_tag): New elem SPECPDL_NOP.

* src/eval.c (specpdl_unrewind): Zap entries that can't be applied any more,
and simplify.
(default_toplevel_binding, lexbound_p, Fbacktrace__locals): Simplify.
(do_one_unbind, mark_specpdl): Handle SPECPDL_NOP.
2022-02-19 14:55:39 -05:00
Philip Kaludercic
43237f3d27 ; * rcirc.el (rcirc-print): Prefer sleep-for over sit-for
Compare

	(benchmark-run 100000 (sit-for 0))
	;; => (2.600030102 12 1.523461324000003)

with

	(benchmark-run 100000 (sleep-for 0))
	;; (0.015882939 0 0.0)
2022-02-19 20:35:01 +01:00
Stefan Monnier
f262a6af36 (macroexp-warn-and-return): Fix bug#53618
* lisp/emacs-lisp/macroexp.el (macroexp-warn-and-return):
Reorder arguments to preserve compatibility with that of Emacs-28.
(macroexp--unfold-lambda, macroexp--expand-all):
* lisp/emacs-lisp/pcase.el (pcase-compile-patterns, pcase--u1):
* lisp/emacs-lisp/gv.el (gv-ref):
* lisp/emacs-lisp/eieio.el (defclass):
* lisp/emacs-lisp/eieio-core.el (eieio-oref, eieio-oref-default)
(eieio-oset-default):
* lisp/emacs-lisp/easy-mmode.el (define-minor-mode):
* lisp/emacs-lisp/cl-macs.el (cl-symbol-macrolet, cl-defstruct):
* lisp/emacs-lisp/cl-generic.el (cl-defmethod):
* lisp/emacs-lisp/byte-run.el (defmacro, defun):
* lisp/emacs-lisp/bindat.el (bindat--type): Adjust accordingly.
2022-02-19 14:20:02 -05:00
Stefan Monnier
c3e064013e (loadhist_initialize): Minor refactoring
Consolidate a bit of code.

* src/lread.c (loadhist_initialize): New function.
(Fload, readevalloop): Use it.
2022-02-19 14:12:14 -05:00
Stefan Monnier
910cdcf8c3 * lisp/vc/diff-mode.el (diff--font-lock-prettify): Fix mishaps
This reverts the last change so it also applies to non-git diffs again.
Instead, we're now more careful not to mis-recognize file headers as
addition/removal lines.
In addition to that, mark the file header such that it's
re-font-locked all at once, and to still recognize it after
`diff-reverse-direction`.
2022-02-19 13:45:04 -05:00
Michael Albinus
7e4ef09aa0 Adapt Tramp password prompts for sudo-like methods
* doc/misc/tramp.texi (Password handling): Explain entries for
doas, sudo and sudoedit.

* etc/NEWS (Tramp): Document changed password prompts.

* lisp/net/tramp-sh.el (tramp-methods) <sudo, doas>:
Add `tramp-password-previous-hop'.
(tramp-maybe-open-connection): Modify `previous-hop' if needed.

* lisp/net/tramp-sudoedit.el (tramp-methods) <sudoedit>:
Add `tramp-password-previous-hop'.
(tramp-sudoedit-null-hop): New defconst.
(tramp-sudoedit-send-command): Use it.

* lisp/net/tramp.el (tramp-methods): Adapt docstring.
(tramp-null-hop): New defconst.
(tramp-get-remote-null-device): Use it.
2022-02-19 18:38:12 +01:00
Lars Ingebrigtsen
a72e0e50f0 Some vtable.texi copy edits
* doc/misc/vtable.texi (Making A Table): Mention the accessors.
2022-02-19 16:58:52 +01:00
Lars Ingebrigtsen
9f571a2e6c Mention vtable accessor functions
* doc/misc/vtable.texi (Making A Table): Mention the accessors.
2022-02-19 16:25:13 +01:00
Lars Ingebrigtsen
16abc24035 Improve the vtable documentation on argument types
* doc/misc/vtable.texi (Making A Table): Say what the argument
types are.
2022-02-19 16:13:39 +01:00
Lars Ingebrigtsen
9eefe59d57 Fix a vtable example
* doc/misc/vtable.texi (Introduction): Fix example.
2022-02-19 14:48:39 +01:00
Eli Zaretskii
999115845a Improve vtable documentation
* doc/misc/vtable.texi (top-level): Add @syncodeindex directives.
(Introduction): Fix wording and markup.  Add indexing.
(Making A Table, Commands, Interface Functions): Fix typos and
markup.  Add indexing.

* etc/NEWS: Improve wording of the vtable's NEWS entry.

* doc/misc/Makefile.in (INFO_COMMON): Add 'vtable'.
2022-02-19 15:34:01 +02:00
Lars Ingebrigtsen
d98b6fbba2 Add column sorting order indicators to vtable
* lisp/emacs-lisp/vtable.el (vtable--indicator): New function.
(vtable--insert-header-line): Use it to display sorting order
indicators.
2022-02-19 14:21:19 +01:00
Lars Ingebrigtsen
babfb064c4 Make string-pixel-width slightly speedier
* lisp/emacs-lisp/subr-x.el (string-pixel-width): Speed up
string-pixel-width in the zero-length string case.
2022-02-19 14:21:19 +01:00
Po Lu
14562b45bd Avoid consing extra string when processing GTK native input
* src/gtkutil.c (xg_im_context_commit): Use
`decode_string_utf8' to decode input text.

* src/keyboard.c (kbd_buffer_get_event_1): If coding system is
Qt, simply return the string without decoding it.

* src/termhooks.h (enum event_kind): Document meaning of Qt as
coding system in a multibyte keystroke event's string argument.
2022-02-19 21:02:30 +08:00
Mauro Aranda
f273a504be Fix types of some align.el defcustoms
* lisp/align.el (align-region-heuristic)
(align-large-region): Both options can be nil, but the defcustom type
didn't allow nil values.
(align-rules-list-type): The "Run If" and "Valid" attributes
should be functions, but the default value was t.  Change it to
#'always (bug#54048).
2022-02-19 13:34:11 +01:00
Mauro Aranda
8ccf9b5276 Fix :match function for the key widget
* lisp/wid-edit.el (key): Calling key-valid-p directly doesn't work,
because the :match function is called with the widget and the value as
arguments (bug#54049).
2022-02-19 13:33:32 +01:00
Po Lu
9fff6388b4 Fix some more hangs when parenting child frames around on Haiku
* src/haiku_support.cc (ParentTo):
(FrameMoved): Don't sync when a recursive lock might be able to
be held.
2022-02-19 12:30:26 +00:00
Lars Ingebrigtsen
dfaf150631 Add a new library to format variable-pitch tables
* doc/misc/vtable.texi (Index): New manual.

* lisp/emacs-lisp/vtable.el: New library.
2022-02-19 13:16:28 +01:00
Po Lu
88f591f389 Improve portability of alpha channel visual detection
* src/xfns.c (select_visual): Look for PictVisuals with an alpha
channel instead of blindly assuming that 32 bit visuals have an
alpha channel.
(Fx_show_tip): Fix crash on some displays where child is None.

* src/xterm.c (x_term_init): Initialize Xrender before
calling select_visual.
2022-02-19 20:07:54 +08:00
Alan Mackenzie
f687e62ac5 Fix symbols with position appearing in the output of `compile-defun'
This happened with the tags of a condition-case.  Also fix the detection of
circular lists while stripping the positions from symbols with position.

* lisp/emacs-lisp/byte-run.el (byte-run--circular-list-p): Remove.
(byte-run--strip-s-p-1): Write a value of t into a hash table for each cons or
vector/record encountered.  (This is to prevent loops with circular
structures.)  This is now done for all arguments, not just those detected as
circular lists.

* lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-defvar)
(byte-compile-form, byte-compile-dynamic-variable-op)
(byte-compile-constant, byte-compile-push-constant): Remove redundant calls to
`bare-symbol'.
(byte-compile-lambda): call `byte-run-strip-symbol-positions' on the arglist.
(byte-compile-out): call `byte-run-strip-symbol-positions' on the operand.
This is the main call to this function in bytecomp.el.

* src/fns.c (hashfn_eq): Strip the position from an argument which is a symbol
with position.
(hash_lookup): No longer strip a position from a symbol with position.
(sxhash_obj): Add handling for symbols with position, substituting their bare
symbols when symbols with position are enabled.
2022-02-19 10:38:19 +00:00
Eli Zaretskii
767619595c Fix character compositions on the mode line
* src/composite.c (composition_compute_stop_pos)
(Ffind_composition_internal): When characters come from a string,
determine whether to compose them from that string's multibyteness,
not from that of the current buffer.  (Bug#53729)
2022-02-19 11:19:48 +02:00
Po Lu
e015dc77f5 Don't ignore events from XI2 slave devices anymore
All the machinery needed to keep track of events from those
devices is already in place, so that's no longer required.

* src/xterm.c (x_get_scroll_valuator_delta):
(xi_reset_scroll_valuators_for_device_id):
(handle_one_xevent): Don't ignore XI devices that are not master
pointers or keyboards.
2022-02-19 16:21:51 +08:00
Stefan Kangas
76ee4dc823 Merge from origin/emacs-28
57c112cfe5 ; * doc/emacs/files.texi (Comparing Files): Fix a reference.
bdeac2d5af ; Fix a typo in filesets.el's doc string
2022-02-19 06:30:51 +01:00
Po Lu
5b90b05e42 Always decode GTK input method text as utf-8-unix
* src/gtkutil.c (xg_im_context_commit): Use `utf-8-unix' as
coding system for text.
2022-02-19 13:27:03 +08:00
Po Lu
7829f1b5e6 Be less strict about which emulated motion events to ignore
* src/xterm.c (handle_one_xevent): Don't test XI2 version before
dropping PointerEmulated motion events.
2022-02-19 11:51:05 +08:00
Po Lu
8f9edb2e7c * src/haikufns.c (haiku_create_frame): Error if font wasn't found. 2022-02-19 02:19:29 +00:00
Po Lu
02bca34852 Utilize new string decoding feature in GTK native input
* src/gtkutil.c (xg_im_context_commit): Don't decode strings
manually using g_utf8_to_ucs4 but pass unibyte string as the
keystroke event arg instead.
2022-02-19 09:18:27 +08:00
Philipp Stephani
57c112cfe5 ; * doc/emacs/files.texi (Comparing Files): Fix a reference. 2022-02-18 18:53:49 +01:00
Eric Abrahamsen
51e51ce2df Handle multiple directory separators in gnus-search results
Try to treat the file names more like file names, less like strings
to massage.

* lisp/gnus/gnus-search.el (gnus-search-indexed-parse-output): Use
`expand-file-name' to collapse separators and generally canonicalize
the name. Use `file-name-split' and joining instead of regexp
munging.
2022-02-18 08:37:33 -08:00
Eli Zaretskii
bdeac2d5af ; Fix a typo in filesets.el's doc string
* lisp/filesets.el (filesets-remove-buffer, filesets-add-buffer):
Doc fixes.  Reported by Иванов Дмитрий <d.ivanov@1001tur.ru>.
2022-02-18 15:46:57 +02:00
Po Lu
b76cd8af05 Fix background stipple with `alpha_background'
* src/xterm.c (x_fill_rectangle): Fix treatment of foreground
and background colors when there is a stipple.
2022-02-18 21:24:42 +08:00
Po Lu
1f755a74b7 Fix a crash on some versions of GTK
* src/emacsgtkfixed.c (XSetWMNormalHints): Fix potential
arithmetic fault.
2022-02-18 18:04:02 +08:00
Eli Zaretskii
3306e11107 Merge from origin/emacs-28
1e4b04c Improve documentation of filling and justification commands
9fd396e * lisp/progmodes/subword.el (superword-mode): Doc fix.  (Bug#...
e303cb1 Fix indexing of module functions that return complex types.
2022-02-18 10:38:53 +02:00
Eli Zaretskii
ead9c9602c ; Merge from origin/emacs-28
The following commit was skipped:

b30ef09 Prevent crashes caused by invalid locale coding systems
2022-02-18 10:38:51 +02:00
Eli Zaretskii
2ed240296c Merge from origin/emacs-28
c8442df ; Separate command and concept index in Transient manual
8aa052c ; Fix Transient manual
5b7752a Fix problem with popd for in remote shell buffers
38f6ea1 Import texi source file for transient manual
df34929 Update to Org 9.5.2-15-gc5ceb6
2022-02-18 10:38:49 +02:00
Eli Zaretskii
b16aed76cb ; Merge from origin/emacs-28
The following commits were skipped:

fe27479 Fix 'exchange-point-and-mark' in 'transient-mark-mode'
2289a7a2 Fix "C-SPC C-SPC" after "C-x C-x"
2022-02-18 10:38:46 +02:00
Eli Zaretskii
c2913c30b1 Merge from origin/emacs-28
# Conflicts:
#	lisp/startup.el
2022-02-18 10:38:42 +02:00
Po Lu
ef1dfd2261 Fix blurry text on multiple scale monitor setups
* src/pgtkterm.c (pgtk_copy_bits): Preserve window scale factor
on temporary surface.  (bug#54040)
2022-02-18 15:50:25 +08:00
Eli Zaretskii
1e4b04c540 Improve documentation of filling and justification commands
* doc/lispref/text.texi (Filling):
* lisp/textmodes/fill.el (fill-region-as-paragraph)
(default-justification, set-justification, justify-current-line):
Clarify "canonicalization" of spaces and the meaning of
justification styles.  (Bug#54047)
(set-justification-left, set-justification-right)
(set-justification-full): Improve wording of doc strings.
2022-02-18 09:47:44 +02:00
Eli Zaretskii
9fd396e4d0 * lisp/progmodes/subword.el (superword-mode): Doc fix. (Bug#54045) 2022-02-18 09:01:06 +02:00
Andrew G Cohen
9a9a3390ad Make sure nnselect search query is properly parsed
* lisp/gnus/gnus-search.el (gnus-search-make-spec): The search query
should not be interpreted as raw, but whatever the underlying search
engine expects.
2022-02-18 14:01:55 +08:00