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

151382 commits

Author SHA1 Message Date
Stefan Monnier
2fb271ca35 Fix unload+reload of files using custom-initialize-delay (bug#47072)
* lisp/custom.el (custom-initialize-delay): Don't delay if
`custom-delayed-init-variables` has already been processed.
* lisp/startup.el (command-line): Mark `custom-delayed-init-variables`
as processed.
2021-04-22 09:32:04 -04:00
Alan Mackenzie
846989498b Fix unclean "can't happen" error handling in read_minibuf_unwind
Also fix a bug where, with minibuffer-follows-selected-frame neither nil nor
t, a minibuffer could appear in two frames at the same time.

* src/window.c (Fset_window_configuration): Add a new &optional parameter
DONT-SET-MINIWINDOW, which inhibits the minibuffer from being restored from
the supplied window configuration.
(restore_window_configuration): Enhance to match the above.

* src/minibuf.c (read_minibuf): Enhance the argument list to the
restore_window_configuration calls to match the above.  In the main case,
restoring the minibuffer is inhibited.
(read_minibuf_unwind): Should the frame with the expired minibuffer not be
found ("can't happen"), unwind the stacked data nevertheless, rather than just
exiting.

* src/keyboard.c (read_char_help_form_unwind): Amend a call of
Fset_window_configuration.

* doc/lispref/windows.texi (Window Configurations): Document the new form of
set-window-configuration.

* etc/NEWS (Lisp Changes in Emacs 28.1): Amend the entry for
set-window-configuration.
2021-04-22 12:07:21 +00:00
Eli Zaretskii
3021ecdedd Fix Isearch hscrolling in a corner case
* lisp/isearch.el (isearch-update): When we start hscrolled,
consider also the case that point ends up being to the left of the
hscrolled window's edge.  (Bug#46316)
2021-04-22 14:01:42 +03:00
Eli Zaretskii
7792f7b3f3 Fix 'window-text-pixel-size' when there's after-string at EOB
* src/xdisp.c (move_it_to): Fix logic of reaching TO_CHARPOS when
there's a display or overlay string(s) at EOB.  (Bug#47860)
2021-04-22 13:59:08 +03:00
Andrea Corallo
062e599480 Improve a native compiler test
* test/src/comp-tests.el (comp-test-47868-1): Improve
	testcase.
	* test/src/comp-test-funcs.el (comp-test-47868-3-f)
	(comp-test-47868-4-f): New functions.
2021-04-22 10:02:46 +02:00
Stefan Kangas
71b14f2806 Avoid lowering gc-cons-threshold
* lisp/cedet/semantic/wisent/comp.el (wisent--compile-grammar):
* lisp/international/mule-cmds.el (ucs-names):
* lisp/progmodes/ebrowse.el (ebrowse-read):
* test/src/coding-tests.el (benchmark-decoder): Avoid lowering
gc-cons-treshold.
2021-04-22 04:11:02 +02:00
Stefan Kangas
94de186686 * lisp/strokes.el: Doc fix; update URL. 2021-04-22 04:06:38 +02:00
Dmitry Gutov
fa81ed6be9 Use khaki1 as 'match' background
* lisp/replace.el (match): Use khaki1 as the background color for
light backgrounds (bug#47574).
2021-04-22 03:09:13 +03:00
Stefan Kangas
3a526b6f7e * lisp/emacs-lisp/package.el (package-archives): Bump :version. 2021-04-21 23:27:13 +02:00
Stefan Kangas
85ef248ec4 * lisp/emacs-lisp/package.el: Doc fix. 2021-04-21 23:26:00 +02:00
Andrea Corallo
606188a360 * lisp/emacs-lisp/comp.el (comp-imm-equal-test): Style fix. 2021-04-21 23:15:56 +02:00
Philip K
db39e2d869 Make outline commands repeatable (bug#47878)
* outline.el (outline-navigation-repeat-map): Add new map.
(outline-editing-repeat-map): Add new map.
2021-04-22 00:14:40 +03:00
Mattias Engdegård
a7cc19e5ff Don't erroneously declare mark as error-free
* lisp/emacs-lisp/byte-opt.el (side-effect-free-fns)
(side-effect-and-error-free-fns):
`mark` is side-effect-free but not error-free.
2021-04-21 22:52:17 +02:00
Juri Linkov
8c83231dae * lisp/isearch.el (isearch-forward-thing-at-point): New command (bug#39512).
(search-map): Bind "M-s M-." to isearch-forward-thing-at-point.
(isearch-forward-thing-at-point): New defcustom.
2021-04-21 23:39:27 +03:00
Juri Linkov
57805231b2 * lisp/thingatpt.el (region): Put property bounds-of-thing-at-point, bug#39512 2021-04-21 22:37:05 +03:00
Philipp Stephani
4c6d302da8 Remove a self-reference from the Emacs Lisp manual.
* doc/lispref/minibuf.texi (Programmed Completion): Remove
self-reference.
2021-04-21 20:54:32 +02:00
Stefan Kangas
cecfbf076e Improve error message for missing Info manual
* lisp/info.el (Info-find-file): Improve error message for missing
Info manual.  (Bug#46236)
Fix suggested by Eli Zaretskii <eliz@gnu.org>.
2021-04-21 18:20:00 +02:00
Andrea Corallo
de16621b51 * lisp/emacs-lisp/comp.el (batch-byte-native-compile-for-bootstrap): Fix typo. 2021-04-21 17:36:59 +02:00
Andrea Corallo
f842816125 Fix native compiler string hash consing strategy (bug#47868)
* test/src/comp-tests.el (comp-test-47868-1): Add new test.
	* test/src/comp-test-funcs.el (comp-test-47868-1-f)
	(comp-test-47868-2-f): New functions.
	* lisp/emacs-lisp/comp.el (comp-imm-equal-test): Define new hash
	tanble test.
	(comp-data-container): Use it.
	(comp-final, comp-run-async-workers): have comp required before
	reading dumped hashes so that `comp-imm-equal-test' is defined.
2021-04-21 17:36:59 +02:00
Andrea Corallo
0eee48af9d Introduce `sxhash-equal-including-properties'.
* src/fns.c (collect_interval): Move it upwards.
	(Fsxhash_equal_including_properties): New function.
	(syms_of_fns): Register `sxhash-equal-including-properties'.
	* etc/NEWS: Add 'sxhash-equal-including-properties'.
2021-04-21 17:36:59 +02:00
Philip K
3e727cf20b sgml-mode: Only set sgml-xml-mode if guessed to be an XML file
* lisp/textmodes/sgml-mode.el (sgml-mode): Don't override
sgml-xml-mode if the result of the guess is used as the buffer local
value.  (Bug#47877)
2021-04-21 15:27:19 +02:00
Eli Zaretskii
e2464c534e ; * lisp/mail/rmailmm.el (rmail-mime-set-bulk-data): Fix last change. 2021-04-21 15:29:49 +03:00
Stefan Monnier
9e5290aecf * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Fix bug#47925
In order to correctly detect the case of the "new style" with an empty body,
remove the old optional arguments `init-value`, `lighter`, and `keymap`,
so we can distinguish the "nil arg" from the "absent arg" cases.
2021-04-20 19:40:09 -04:00
Harald Jörg
c4c9a60c13 cperl-mode: Avoid abbrev expansion in variable names
* lisp/progmodes/cperl-mode.el (cperl-electric-else): Don't expand
scalar variables like '$continue' as keywords.  (Bug#47902)
* test/lisp/progmodes/cperl-mode-tests.el
(cperl-test-hyperactive-electric-else): Verify that keywords are
expanded but variable names aren't.
2021-04-20 22:47:13 +02:00
Juri Linkov
ee5d6ae663 * lisp/wdired.el (wdired--self-insert): Put symbol property delete-selection. 2021-04-20 23:04:36 +03:00
Juri Linkov
741dc6a8e8 * lisp/isearch.el (isearch-post-command-hook): Revert ff796823e5 (bug#47894). 2021-04-20 23:00:26 +03:00
Jonas Bernoulli
afcdd4cab3
Add new library transient.el
* lisp/transient.el: New file.
2021-04-20 18:43:49 +02:00
Eli Zaretskii
2647b7b78c Fix Rmail-MIME size estimations
The quoted-printable estimation was obviously wrong: the size becomes
smaller when decoded, not larger...
* lisp/mail/rmailmm.el (rmail-mime-set-bulk-data): Fix estimations
of decoded MIME attachment.
2021-04-20 17:58:18 +03:00
Stefan Monnier
3e93c2e5ae * src/minibuf.c (Fread_no_blanks_input): Move to minibuffer.el
* src/keymap.c (syms_of_keymap):
* lisp/minibuffer.el (minibuffer-local-ns-map): Move declaration
to initialization.
(read-no-blanks-input): Move from `minibuf.c`.
2021-04-20 10:36:48 -04:00
Stefan Monnier
298f25ee1d * lisp/minibuffer.el (minibuffer-mode-map): Make it an alias
Avoid creating this "dummy" keymap by making it an alias of
the parent keymap of all minibuffer keymaps.
2021-04-20 09:36:26 -04:00
Stefan Monnier
efbc07ab57 * src/minibuf.c (read_minibuf): Change multibyte more safely
We used to `bset_enable_multibyte_characters` while the buffer is not
empty, putting the buffer temporarily in an inconsistent state.

Further simplifications along the way: Prefer re-using local var `histvar`
and let `insert` do the unibyte<->multibyte conversion if needed.
2021-04-20 08:52:04 -04:00
Basil L. Contovounesios
0873134682 ; Fix Texinfo in last change to minibuf.texi. 2021-04-20 13:34:59 +01:00
Eli Zaretskii
cad8913c89 Improve filling-related documentation
* doc/emacs/text.texi (Auto Fill, Fill Commands): Mention special
line-breaking rules for CJK characters and the kinsoku rules.
(Bug#47856)

* lisp/textmodes/fill.el
(fill-separate-heterogeneous-words-with-space): Doc fix.
2021-04-20 15:12:10 +03:00
Michael Albinus
4da7b2dfee Fix localization problem in Tramp
* lisp/net/tramp-sh.el (tramp-get-remote-stat): Use localized
quotation characters for check.
2021-04-20 13:35:26 +02:00
Alan Mackenzie
4e907fa329 Fix bug #47781: (window-list-1 nil t) wrongly returned nil.
* src/window.c (candidate_window_p): In the WINDOW_P (all_frames) branch of
the conditional, insert "EQ (minibuf, Qt)" in the requisite place.
2021-04-20 10:53:02 +00:00
Alan Mackenzie
55db25b257 Introduce and use minibuffer-mode. This fixes bug #47150
* lisp/minibuffer.el (minibuffer-mode): New derived mode.

* src/minibuf.c (syms_of_minibuf): New DEFSYMs Qminibuffer_mode,
Qminibuffer_inactive_mode, Qminibuffer_completing_file_name,
Qselect_frame_set_input_focus, Qadd_to_history.
(read_minibuf, set_minibuffer_mode, read_minibuf_unwind): Use the new DEFSYMs
in place of continual interning.
(set_minibuffer_mode): Put an active minibuffer into minibuffer-mode rather
than fundamental-mode.

* doc/emacs/mini.texi (Minibuffer Edit): Mention minibuffer-mode.

* doc/lispref/minibuf.texi (Intro to Minibuffers): Add a paragraph about
minibuffer-mode.

* etc/NEWS (Incompatible Lisp Changes in Emacs 28.1): Add an entry.
2021-04-20 10:14:40 +00:00
Daniel Mendler
296ef2e99b (completion-all-sorted-completions): Additional alphabetical sorting
Even in the cases where it does not make much visible difference,
it brings the benefit of making the result deterministic.

* minibuffer.el (minibuffer--sort-by-length-alpha): New function.
(minibuffer--sort-by-position): New function extracted from
`completion-all-sorted-completions`.
(completion-all-sorted-completions): Use use them.
2021-04-19 18:05:36 -04:00
Daniel Mendler
9216e1818a minibuffer.el: Use completion--message instead of minibuffer-message
* minibuffer.el: Use completion--message consistently for the messages
"Incomplete", "Sole completion" and "No completions".
2021-04-19 15:52:01 -04:00
Philipp Stephani
27af0a3dc8 Seccomp filter: deal with arch_prctl(ARCH_CET_STATUS, ...).
The dynamic loader of GNU libc 2.28 uses this system call to
initialize CPU information, see
https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/unix/sysv/linux/x86/cpu-features.c;hb=glibc-2.28#l28.
Simulating an older kernel by returning EINVAL should be the most
harmless rule here.

The ARCH_CET_STATUS symbol isn't yet exposed by the kernel headers;
see the FIXME at the top of
https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/unix/sysv/linux/x86/include/asm/prctl.h;hb=glibc-2.28.

* lib-src/seccomp-filter.c (ARCH_CET_STATUS): Define if not
already present.  Inline the value because there doesn't seem to
be a header file exporting this constant yet.
(main): Make ARCH_CET_STATUS subfunction of arch_prctl return EINVAL.
2021-04-19 21:11:21 +02:00
Stefan Monnier
ab287a148f * lisp/minibuffer.el (completion-all-sorted-completions): Fix last change 2021-04-19 15:10:05 -04:00
Stefan Monnier
14633fbc09 * lisp/minibuffer.el (minibuffer--sort-by-key): New function
(completion-all-sorted-completions): Use it.
2021-04-19 14:57:41 -04:00
Daniel Mendler
18d0ef9d59 completion-all-sorted-completions: Fix sorting performance bug
* lisp/minibuffer.el (completion-all-sorted-completions): Use hash
table for sorting by history position, O(m+n*log(n)) instead of
O(m*n*log(n)) with history length `m` and candidate length `n`.
2021-04-19 14:33:05 -04:00
Daniel Mendler
077dae3b4c completing-read: If HIST is the symbol `t', history is not recorded.
* lisp/minibuffer.el (completion-all-sorted-completions): Check if
`minibuffer-history-variable` is `t`
* src/minibuf.c (completing-read): Update docstring
* doc/lispref/minibuf.texi: Update documentation of
`read-from-minibuffer` and `completing-read`
2021-04-19 14:25:32 -04:00
Andrea Corallo
b5c76530fa Merge remote-tracking branch 'savannah/master' into native-comp 2021-04-19 18:46:50 +02:00
Stefan Kangas
0a4dc70830 ; Normalize and add missing first and last lines 2021-04-19 12:21:01 +02:00
Michael Albinus
518312346d Add Tramp recompilation
* doc/misc/tramp.texi (Frequently Asked Questions): Refer to GNU
ELPA Tramp README.

* lisp/net/tramp-cmds.el (tramp-recompile-elpa-command-completion-p)
(tramp-recompile-elpa): New defuns.  Add property `completion-predicate'.
2021-04-19 11:52:48 +02:00
Stefan Kangas
07bb2cbf55 Don't hard-code "~/.emacs.d/" in two more places
* lisp/gnus/gnus-group.el (gnus-read-ephemeral-bug-group):
* lisp/progmodes/js.el (js-js-tmpdir): Don't hard-code
"~/.emacs.d/".
2021-04-19 09:50:13 +02:00
Philip K
869e437c10 Don't hard-code "~/.emacs.d/" in rcirc.el
* lisp/net/rcirc.el (rcirc-log-directory): Use
locate-user-emacs-file.  (Bug#47880)
2021-04-19 09:30:58 +02:00
Philipp Stephani
454fd39782 ; * test/lisp/progmodes/xref-tests.el: Add footer. 2021-04-18 22:05:59 +02:00
Philipp Stephani
652b0f4c74 Factor out a helper macro to create a temporary directory.
This is a useful abstraction, and saves a few levels of indentation in
the test body.

* test/lisp/progmodes/project-tests.el
(project-tests--with-temporary-directory): New helper macro.
(project/quoted-directory): Use it.
2021-04-18 21:59:25 +02:00