1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-02-03 14:10:47 -08:00
Commit graph

155589 commits

Author SHA1 Message Date
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
Andrew G Cohen
8a924c8b49 Fix gnus searching of native servers
* lisp/gnus/gnus-group.el (gnus-group-make-search-group):
(gnus-group-read-ephemeral-search-group):  Find the real server even
when the group is native.
2022-02-18 13:59:34 +08:00
Po Lu
e87b07e277 Make treatment of `alpha-background' more consistent
* src/xterm.c (x_clear_glyph_string_rect):
(x_draw_glyph_string_background): Ignore alpha_background on all
cursors.
2022-02-18 13:51:15 +08:00
Eric Abrahamsen
86ebc88cd8 Fix gnus-search-run-search methods
* lisp/gnus/gnus-search.el (gnus-search-run-search): Both these
implementations were setting the current buffer and then not setting
it back.
2022-02-17 21:29:36 -08:00
Po Lu
7938410ac0 Make stipple backgrounds respect `alpha-background'
* src/xterm.c (x_fill_rectangle): Respect `alpha-background'
when drawing stipple.
2022-02-18 10:35:21 +08:00
Po Lu
1a8b3b6390 Fix mis-parsing of certain malformed XBM files
* src/image.c (xbm_scan): Return error on a character literal
that doesn't start with "\x".
2022-02-18 09:37:36 +08:00
Po Lu
2236ee40ea Parse XBM images which use character escapes for hex literals
* src/image.c (xbm_scan): Implement parsing of hex escapes in
character literals.
2022-02-18 09:12:48 +08:00
Eric Abrahamsen
246f627a41 Fix gnus-search notmuch thread searches
* lisp/gnus/gnus-search.el (gnus-search-run-search): Multiple things
wrong with collecting thread ids from the search results, and
constructing a new search query.
(gnus-search-indexed-search-command): Use list appending rather than
backtick construction, that was more confusing than it was helpful.
2022-02-17 13:11:25 -08:00
Juri Linkov
3d0f5bc219 * lisp/mouse.el (context-menu-entry): Don't create menu for Help commands.
Help commands that describe keybindings call context-menu-entry bound to
a key.  This causes too much trouble when trying to build the context menu
in a temporary Help buffer that is not displayed in a window.
OTOH, there is no information in context menus useful for Help commands.
So `help-buffer-under-preparation' is added to filter out such calls.
(bug#53910)
2022-02-17 20:28:43 +02:00
Eli Zaretskii
09ba81f1d2 ; * lisp/international/fontset.el (otf-script-alist): Update. 2022-02-17 19:23:46 +02:00
Eli Zaretskii
927bebcd4b Resurrect innocent joke in byte-opt.el
* lisp/emacs-lisp/byte-opt.el: Resurrect innocent joke in a
comment.
2022-02-17 16:35:03 +02:00
Eli Zaretskii
a3c5638db6 Fix files-tests on MS-Windows
* test/lisp/files-tests.el
(files-tests-zzdont-rewrite-precious-files): Renamed from
'files-tests-dont-rewrite-precious-files', to fix a subtle problem
that breaks 2 tests on MS-Windows.
(files-tests-revert-buffer)
(files-tests-revert-buffer-with-fine-grain): No need to disable
file locking anymore.
2022-02-17 16:30:42 +02:00
Mattias Engdegård
c1111e9447 Fix or remove outdated comments
* src/eval.c (funcall_lambda): Rewrite obsolete comment.
* src/bytecode.c (exec_byte_code): Remove lying comment and
unneeded #define.
* lisp/emacs-lisp/byte-opt.el: Remove car.  Keep pig.
(byte-compile-log-lap-1): Remove obsolete and irrelevant comment.
2022-02-17 14:52:04 +01:00
Stefan Monnier
df6e989f7a * lisp/face-remap.el: Fix bug#53294
* lisp/face-remap.el (face-remap--copy-face): New function.
(face-attrs--make-indirect-safe): Use it.
2022-02-17 08:37:24 -05:00
Eli Zaretskii
a6b7bb2dfd Speed up exiting "emacs -Q"
* lisp/files.el (files--buffers-needing-to-be-saved): Don't call
functions from seq.el.  Using seq.el has an annoying side-effect
of slowing down "C-x C-c" from "emacs -Q" due to the need to load
seq.el.
2022-02-17 15:26:37 +02:00
Philipp Stephani
e303cb1807 Fix indexing of module functions that return complex types.
Return types that consist of more than one word need to be enclosed in
braces, see Info node `(texinfo) Typed Functions'.  Otherwise they are
indexed incorrectly.

* doc/lispref/internals.texi (Module Values): Enclose multi-word
return types in braces.
2022-02-17 14:02:28 +01:00
Po Lu
64eb2a5f8d Fix crash when displaying XBM images on a 32-bit visual
* src/image.c (Create_Pixmap_From_Bitmap_Data): Fix use of wrong
(default) depth.
2022-02-17 20:44:53 +08:00
Po Lu
7e6fa8ed38 Implement XBM images on Haiku
* src/image.c (image_create_bitmap_from_data): Handle allocation
failures on Haiku.
(Create_Pixmap_From_Bitmap_Data): Implement for Haiku.
2022-02-17 12:36:50 +00:00
Lars Ingebrigtsen
c218660d66 Add a NEWS entry for the bookmark changes (bug#54030)
* lisp/bookmark.el (bookmark-bmenu-mode): Make the type shorter.
2022-02-17 12:58:12 +01:00
Matthias Meulien
a1617f070b Don't prefix bookmark name with VC backend name
* lisp/vc/vc-dir.el (vc-dir-bookmark-make-record): Remove prefix from
bookmark name.
2022-02-17 12:58:12 +01:00
Matthias Meulien
7c99526435 Extend bookmark menu with with handler type column
* lisp/bookmark.el (bookmark-bmenu--revert): Extend table entries with
handler type.
(bookmark-bmenu-mode): Add handler type column.
* lisp/doc-view.el (doc-view-bookmark-jump): Set bookmark handler type.
* lisp/help-mode.el (help-bookmark-jump): Set bookmark handler type.
* lisp/image-dired.el (image-dired-bookmark-jump): Set bookmark handler type.
* lisp/info.el (Info-bookmark-jump): Set bookmark handler type.
* lisp/net/eww.el (eww-bookmark-jump): Set bookmark handler type.
* lisp/vc/vc-dir.el (vc-dir-bookmark-jump): Set bookmark handler type.
* lisp/woman.el (woman-bookmark-jump): Set bookmark handler type.
2022-02-17 12:58:12 +01:00