1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-02-05 15:11:30 -08:00
Commit graph

155589 commits

Author SHA1 Message Date
Po Lu
452f46d366 Allow fractional values of `polling-period'
This allows C-g to be handled faster in the NS port at the cost
of some extra CPU time on slow machines.

* etc/NEWS: Announce new feature.
* src/keyboard.c (start_polling):
(bind_polling_period): Handle floating point values of
`polling-period'.
(syms_of_keyboard): Make `polling-period' a Lisp variable
instead of an int variable.
2022-01-21 09:15:52 +08:00
Po Lu
7ff7f948f7 Avoid FOCUS_IN_EVENTS not being sent on NS
* src/nsterm.m ([EmacsView windowDidBecomeKey]): Work around
emacs_event being NULL by storing focus in events directly
into the keyboard buffer.  (bug#52376)
2022-01-21 09:00:59 +08:00
Alan Mackenzie
10083e788f In early bootstrap, use byte-compiled compiler to native compile first files
This speeds up a make bootstrap by around 15%.

* lisp/Makefile.in (BYTE_COMPILE_FLAGS): set a value specific to compile-first
which doesn't contain the setting of Emacs variable load-prefer-newer.
Add a new make hunk which byte-compiles (rather then native compiles) when the
environment variable ANCIENT is "yes".  Set the date of the .elc files built
to 1971-01-01 to cause a second compilation of them later.

* src/Makefile.in: Add an extra invocation of directory lisp's MAKE with
target compile-first and the flag environment variable ANCIENT set to yes.

* src/verbose.mk.in: When ANCIENT is yes, output ELC, not ELC+ELN for
AM_V_ELC.
2022-01-20 18:40:15 +00:00
Arash Esbati
808917b3fc Remove matching of whitespaces in LaTeX environment names
* lisp/textmodes/ispell.el (ispell-tex-skip-alists): Don't match
arbitrary number of whitespaces in LaTeX environment names.
(bug#53390)
2022-01-20 19:20:34 +01:00
Eli Zaretskii
b01604b362 Update documentation of 'clone-indirect-buffer-hook'
* doc/emacs/buffers.texi (Indirect Buffers):
* src/buffer.c (syms_of_buffer) <clone-indirect-buffer-hook>:
Update the documentation of 'clone-indirect-buffer-hook' due the
recent changes.
* etc/NEWS: Mention the change in where the hook is run.

* lisp/face-remap.el (face-attrs--make-indirect-safe): Doc fix.
2022-01-20 19:18:54 +02:00
Lars Ingebrigtsen
cce813a4e7 Make textsec-link-suspicious-p less mistrustful
* lisp/international/textsec.el (textsec-link-suspicious-p): Scale
back the suspicion -- only warn about texts that contain a full
explicit link.
2022-01-20 18:12:44 +01:00
Thuna
172c055745 Fix tabulated-list-widen-current-column widening wrong column
* tabulated-list.el (tabulated-list-widen-current-column): Account
for the padding and the content width when calculating column
width (bug#53375).
Copyright-paperwork-exempt: yes
2022-01-20 15:22:22 +01:00
Peter Münster
9cbcfe696f Make image-dired-delete-marked more resilient
* lisp/image-dired.el (image-dired-delete-marked): Don't bug out
on empty buffers (bug#53385).
2022-01-20 15:16:46 +01:00
Lars Ingebrigtsen
6305c3f30d Fix thinko in previous hi-lock-read-face-name change
* lisp/hi-lock.el (hi-lock-read-face-name): Fix the string/symbol
logic.
2022-01-20 14:53:12 +01:00
Andrew Hyatt
27b3948a8a Fix indirect font changes incorrectly affecting original buffer
* lisp/face-remap.el (face-attrs--make-indirect-safe):
(clone-indirect-buffer-hook): Set up a face remapping alist
(bug#53294).

* lisp/simple.el (clone-indirect-buffer): Move the point the hook
is run.

* src/buffer.c (Fmake_indirect_buffer, syms_of_buffer): Move the
place where the clone-indirect-buffer-hook variable is defined, so
that we can call it from C.
2022-01-20 14:42:31 +01:00
Jim Porter
4450c8bdd9 Consider subcommands when deciding to invoke Eshell command directly
When an Eshell command contains an asynchronous subcommand (such as
calling an external process), it must be evaluated iteratively.  See
bug#30725.

* lisp/eshell/esh-cmd.el (eshell-invoke-command): Move most of the
logic from here...
(eshell--invoke-command-directly): ... to here. Also add checks for
subcommands.

* test/lisp/eshell/eshell-tests.el (eshell-test--max-subprocess-time):
New variable.
(eshell-wait-for-subprocess): New function.
(eshell-command-result-p): Use 'eshell-wait-for-subprocess'.
(eshell-test/interp-cmd-external): New test (bug#30725).
2022-01-20 14:37:54 +01:00
Lars Ingebrigtsen
55c1670bc5 Rename the textsec-check function to textsec-suspicious-p
* lisp/net/shr.el (shr-tag-a):
* lisp/international/textsec-check.el (textsec-suspicious-p):
* lisp/gnus/message.el (message-send-mail):
* lisp/gnus/gnus-art.el (article--check-suspicious-addresses):
* etc/NEWS (like):
* doc/lispref/text.texi (Suspicious Text):
(Suspicious Text): Rename the textsec-check function to
textsec-suspicious-p.
2022-01-20 14:33:36 +01:00
Lars Ingebrigtsen
2de01ff1ba Make the read-face-name completion buffer display samples
* lisp/faces.el (read-face-name): Display face samples when
completing (bug#53255).

* lisp/hi-lock.el (hi-lock-read-face-name): Use read-face-name.
2022-01-20 14:22:05 +01:00
Lars Ingebrigtsen
10fbbddddd Improve the textsec-domain-suspicious-p warning message
* lisp/international/textsec.el (textsec-domain-suspicious-p):
Improve warning message.
2022-01-20 13:37:33 +01:00
Po Lu
ec5c723844 Fix error when describing menu items that don't have equivalent keys
* lisp/help-fns.el (help-fns--key-bindings): Never pass nil to
insert.
2022-01-20 20:18:29 +08:00
Stefan Monnier
f08dfa9b53 Fix menu-bar mouse clicks in "C-h c" and "C-h k" (bug#53322)
* lisp/subr.el (event-start, event-end): Handle '(menu-bar)'
events.
* lisp/net/browse-url.el (browse-url-interactive-arg): Simplify
accordingly.

(cherry picked from commit 9ceb3070e3)
2022-01-20 14:17:16 +02:00
Eli Zaretskii
11ea45c9e4 Fix UB in ebrowse
* lib-src/ebrowse.c (matching_regexp): Avoid writing beyond the
limits of 'matching_regexp_buffer'.  Patch by Jan Stranik
<jan@stranik.org>.  (Bug#53333)

Copyright-paperwork-exempt: yes
2022-01-20 13:42:56 +02:00
Lars Ingebrigtsen
5a64286d6a Make textsec-link-suspicious-p have fewer false positives
* lisp/international/textsec.el (textsec-link-suspicious-p):
Attempt to improve the domain-guessing logic.
2022-01-20 12:37:31 +01:00
Lars Ingebrigtsen
689e64cefe Improve how menus are described in *Help*
* lisp/help-fns.el (help-fns--insert-bindings): New function.
(help-fns--key-bindings): Split menu/key handling and output menu
bindings separately (bug#52870).
2022-01-20 12:04:27 +01:00
Po Lu
e26071e990 Make system tooltips display in the menu bar on Haiku
* doc/emacs/haiku.texi (Haiku Basics): Update documentation.
* src/haiku_support.cc (Highlight): Apply the hack used for
regular menus to the menu bar as well.
* src/haikumenu.c (digest_menu_items): Set help text on menu bar
if `tooltip-mode' is t and system tooltips are used.
(syms_of_haikumenu): New symbol `tooltip-mode'.
2022-01-20 10:55:52 +00:00
Mattias Engdegård
b929bdaeb6 Fix Fchar_syntax for non-ASCII in unibyte buffers
Fchar_syntax did not convert unibyte characters to multibyte when the
current buffer was unibyte, in contrast to `char-syntax` in
byte-compiled code (bug#53260).

* src/bytecode.c (exec_byte_code): Call out to Fchar_syntax;
the dynamic frequency is too low to justify inlining here, and it
did lead to implementations diverging.
* src/syntax.c (Fchar_syntax): Convert non-ASCII unibyte values to
multibyte.
* test/src/syntax-tests.el (syntax-char-syntax): New test.
2022-01-20 11:44:07 +01:00
Lars Ingebrigtsen
b1488a6582 Re-enable some textsec-tests after recent bidi.c fix 2022-01-20 11:06:58 +01:00
Jim Porter
ed490991d5 In Eshell, allow "-n" to suppress the trailing newline for "plain" echo
* doc/misc/eshell.texi (Built-in commands): Expand on the
documentation of echo (bug#27361).
* lisp/eshell/em-basic.el (eshell-echo): Respect OUTPUT-NEWLINE even
when 'eshell-plain-echo-behavior' is non-nil.
(eshell/echo): Add "-N" option and recommend its use over "-n" in
Lisp-friendly echo.
(eshell/printnl): Simplify; 'eshell-stringify' is equivalent to
calling 'eshell-echo' here.
2022-01-20 11:04:43 +01:00
Eli Zaretskii
bd6cfabdc3 Fix 'bidi-find-overridden-directionality' for Lisp strings
* src/bidi.c (bidi_find_first_overridden): Don't use ZV for Lisp
strings.  Reported by Lars Ingebrigtsen <larsi@gnus.org>.
2022-01-20 12:02:27 +02:00
Lars Ingebrigtsen
ba57b78064 Fix execute-extended-command-for-buffer in fundamental-mode
* lisp/simple.el (execute-extended-command-for-buffer): Protect
against the current local map being nil (bug#52907).
2022-01-20 11:00:41 +01:00
Po Lu
b1f52249ea Make the undelete-frame-mode menu item a toggle
* lisp/menu-bar.el (menu-bar-file-menu): Make the undelete frame
mode option a toggle.  (bug#53382)
Also enable some options that were disabled on NS, but should no
longer be since NS now supports the tab bar.
2022-01-20 17:55:07 +08:00
Martin Rudalics
ef0c1d4c2c Add workaround to handle a problem with Enlightenment WM (Bug#53298)
* src/xterm.c (handle_one_xevent): Handle setting of variable
'x_set_frame_visibility_more_laxly' when receiving an Expose or
FocusIn event (Bug#53298).
(Qexpose): Define symbol.
(x_set_frame_visibility_more_laxly): New Lisp variable.
* etc/PROBLEMS: Mention frame redraw problem with the
Enlightenment WM and 'x-set-frame-visibility-more-laxly'
workaround.
2022-01-20 10:30:08 +01:00
Lars Ingebrigtsen
3eb1b2a115 Make key-valid-p work in Turkey
* lisp/keymap.el (key-valid-p): Inhibit case folding, otherwise
(key-valid-p "I") would return nil in tr_TR environments.
2022-01-20 10:19:23 +01:00
Lars Ingebrigtsen
37e2304f98 Tweak textsec-link-suspicious-p
* lisp/international/textsec.el (textsec-link-suspicious-p): Don't
mark dates as suspicious.
2022-01-20 10:10:08 +01:00
Lars Ingebrigtsen
ea0060abfb Add test for bug#51733 2022-01-20 10:10:08 +01:00
Eli Zaretskii
21e96ce324 Improve documentation of textsec
* lisp/international/textsec-check.el (textsec-check): Doc fixes.

* doc/lispref/text.texi (Suspicious Text): Improve wording and
indexing.
2022-01-20 11:04:41 +02:00
Lars Ingebrigtsen
4768657b31 Allow suspicious names with some forms of bidi controls
* lisp/international/textsec.el (textsec-name-suspicious-p): Allow
names with bidi-find-overridden-directionality.
2022-01-20 09:52:08 +01:00
Lars Ingebrigtsen
536ad66ae3 Improve textsec-domain-suspicious-p message
* lisp/international/textsec.el (textsec-domain-suspicious-p):
Improve warning message.
2022-01-20 09:36:12 +01:00
Eli Zaretskii
c027ad59dd Allow disabling 'undelete-frame-mode' from the menu bar
* lisp/menu-bar.el (menu-bar-file-menu): Add
'disable-undelete-frame-mode' menu item.  (Bug#53382)
2022-01-20 10:05:05 +02:00
Lars Ingebrigtsen
2a3edd1e0a Document textsec
* doc/lispref/elisp.texi (Top): Add menu.
* doc/lispref/text.texi (Text): Add menu.
(Suspicious Text): New node.

* lisp/international/textsec-check.el (textsec-check): Adjust doc
string.
2022-01-20 08:38:16 +01:00
Lars Ingebrigtsen
7cfc0bd6a9 Check link text domain suspiciousness
* lisp/international/textsec.el (textsec-link-suspicious-p): Check
whether the domain in the link text is suspicious.
2022-01-20 08:01:20 +01:00
Lars Ingebrigtsen
f9f12086fb Expand textsec-link-suspicious-p checking
* lisp/international/textsec.el (textsec-link-suspicious-p): Check
the text more thoroughly for link-like things.
2022-01-20 07:57:13 +01:00
Lars Ingebrigtsen
7e7974154b Improve textsec-domain-suspicious-p message
* lisp/international/textsec.el (textsec-domain-suspicious-p):
Ensure that we're not confusing the user if there's a directional
override in the string we're checking.
2022-01-20 07:45:33 +01:00
Lars Ingebrigtsen
7785463c8e Add new bidi-string-strip-control-characters function
* lisp/international/characters.el
(bidi-string-strip-control-characters): New function.
2022-01-20 07:44:49 +01:00
Lars Ingebrigtsen
e4f59a6d1a Make article--check-suspicious-addresses more resilient
* lisp/gnus/gnus-art.el (article--check-suspicious-addresses): Be
more resilient to junk in headers.  (But all this should be rewritten
eventually, because the entire process is way too convoluted.)
2022-01-20 06:42:56 +01:00
Po Lu
a43b665605 Make nil' values of the :position' underline property work correctly
* src/xfaces.c (Finternal_set_lisp_face_attribute): Handle cases
where the underline property `:position' is nil.
2022-01-20 13:06:51 +08:00
Po Lu
5404bf50ad Port hourglass display to XCB
* src/xterm.c (x_show_hourglass):
(x_hide_hourglass): Use straightforward translations to XCB if
available.
2022-01-20 11:27:17 +08:00
Po Lu
8c184bb166 Get rid of calls to XRenderQueryExtension after terminal initialization
* src/image.c (x_create_xrender_picture):
(Fimage_transforms_p): Use `xrender_supported_p'.

* src/xterm.c (x_term_init): Query for XRender support and
extension versions.

* src/xterm.h (struct x_display_info): New fields
`xrender_supported_p', `xrender_major' and `xrender_minor'.
2022-01-20 10:48:25 +08:00
Po Lu
d2a23c7441 Implement selection ownership on Haiku
* lisp/term/haiku-win.el (haiku-selection-owner-p): New
declaration.
(gui-backend-selection-owner-p): Implement using newly exposed
primitive.

* src/haiku_select.cc
(count_clipboard, count_primary, count_secondary): New
variables for tracking selection ownership.
(BClipboard_set_system_data):
(BClipboard_set_primary_selection_data):
(BClipboard_set_secondary_selection_data): Set ownership
variables.
(BClipboard_owns_clipboard):
(BClipboard_owns_primary):
(BClipboard_owns_secondary): New functions.

* src/haikuselect.c (Fhaiku_selection_owner_p): New function.
(syms_of_haikuselect): Define new subr.
* src/haikuselect.h: New prototypes.
2022-01-20 01:05:53 +00:00
Andrea Corallo
9396b7d0b4 Suspend temp .elc production when native compiling till when necessary
* lisp/emacs-lisp/bytecomp.el (byte-to-native-output-buffer-file):
Rename from `byte-to-native-output-file'.
(byte-write-target-file): Update.
(byte-compile-file): Write the temporary .elc only when not native
compiling.
(byte-compile-file): Kill the .elc buffer only when not native
compiling.
* lisp/emacs-lisp/comp.el (batch-byte+native-compile): Instead of just
renaming the temporary .elc make use of `byte-write-target-file' to
write it down and kill the temporary buffer.
2022-01-19 22:04:14 +01:00
Andrea Corallo
6a79de530f * Move some code in in `byte-write-target-file'.
* lisp/emacs-lisp/bytecomp.el (byte-write-target-file): New function
spilling code from `byte-compile-file'.
2022-01-19 21:57:41 +01:00
Lars Ingebrigtsen
1476b0d7a6 Make article--check-suspicious-addresses more resilient
* lisp/gnus/gnus-art.el (article--check-suspicious-addresses):
Don't bug out on mbox-less addresses.
2022-01-19 19:44:29 +01:00
Lars Ingebrigtsen
775faf6efa Tweak the previous suspicious Message change
* lisp/gnus/message.el (message-check-recipients)
(message-send-mail): Move the check to after encoding.
2022-01-19 19:10:45 +01:00
Lars Ingebrigtsen
ec0abf37ee Make Message check for invalid recipients before sending
* lisp/gnus/message.el (message-check-recipients): Check for
suspicious addresses before sending (bug#51733).
2022-01-19 19:00:13 +01:00
Lars Ingebrigtsen
50ddfb2428 Make textsec-mixed-numbers-p actually work
* lisp/international/textsec.el (textsec-mixed-numbers-p): Fix the
test.
2022-01-19 18:50:40 +01:00