Commit graph

79182 commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
6ebc6e12cf Add quoted filename support to 'project-find-regexp' (Bug#47799).
This is only a band-aid; it would be better to fix xref.el to work
with quoted filenames as well.

* lisp/progmodes/project.el (project--find-regexp-in-files): Unquote
filenames before passing them to 'xref-matches-in-files'.
* test/lisp/progmodes/project-tests.el (project/quoted-directory):
Also test 'project-find-regexp'.
2021-04-18 21:59:25 +02:00
Stefan Kangas
18836fc2d0 * lisp/misearch.el (multi-isearch-pop-state): Doc fix. 2021-04-18 10:03:35 +02:00
Stefan Monnier
5c07cd0f15 * lisp/emacs-lisp/debug.el (debug): Fix (bug#47588)
Don't bind `load-read-function` to nil but to its actual default value.
Actually, I'm not sure it's worth the trouble rebinding this var, but
if we do, then we should bind it to a valid value rather than to nil.

* lisp/emacs-lisp/edebug.el (edebug--eval-defun): Re-install our advice
if needed.
2021-04-18 01:03:43 -04:00
Michael Albinus
3430c12154 Make stderr in Tramp's make-process more robust
* lisp/net/tramp-sh.el (tramp-sh-handle-make-process): Wrap about
error in inserting stderr file.

* lisp/net/tramp.el (tramp-handle-make-process): Fix docstring.
2021-04-17 16:39:14 +02:00
Stefan Monnier
556c23cd17 * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Tweak further
Suggested by Lars Ingebrigtsen <larsi@gnus.org>.
2021-04-17 09:57:01 -04:00
Stefan Monnier
d262138383 * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Improve C-h f output
Suggested by Michael Heerdegen <michael_heerdegen@web.de>.
2021-04-16 23:40:51 -04:00
Stefan Kangas
740dbf2295 Cleanup in em-extra.el
* lisp/eshell/em-xtra.el (cl-lib): Require.
(pcomplete, compile): Remove unnecessary requires.
(eshell/substitute, eshell/count, eshell/mismatch, eshell/union)
(eshell/intersection, eshell/set-difference)
(eshell/set-exclusive-or): Use cl-lib.  Doc fixes.
(eshell/ff, eshell/gf, eshell/expr): Quote function symbols as such.
(eshell/expr): Assume 'calc-eval' is always available.
2021-04-17 02:25:42 +02:00
Stefan Kangas
fb9f5501d8 ; Fix typos: emacs lisp -> Emacs Lisp 2021-04-16 14:54:02 +02:00
Stefan Kangas
289ec2d911 ; Remove some useless comments 2021-04-16 14:54:02 +02:00
Dmitry Gutov
f955df1788 Improve quoting of directory names in project/xref
* lisp/progmodes/project.el (project--files-in-directory):
Quote LOCALDIR a bit earlier, to affect
xref--find-ignores-arguments as well (bug#47799).

* lisp/progmodes/xref.el (xref-matches-in-directory):
Quote the dir passed to xref--rgrep-command.
2021-04-16 03:52:44 +03:00
Dmitry Gutov
4180429d5d project--files-in-directory: Handle errors reported by 'find'
* lisp/progmodes/project.el (project--files-in-directory):
Handle errors reported by 'find' (bug#47799).
2021-04-16 03:38:23 +03:00
Philipp Stephani
157bfc1812 Improve project support for quoted directory names (Bug#47799)
* lisp/progmodes/project.el (project--files-in-directory): Unquote
directory name before passing it to 'find'.
(project--remote-file-names): Requote local filenames if the original
directory is quoted.
* test/lisp/progmodes/project-tests.el (project/quoted-directory): New
unit test.
2021-04-15 18:41:04 +02:00
Stefan Monnier
0c3ce42c8f * lisp/emacs-lisp/bindat.el: Allow non-fixed size of strz
(bindat--unpack-strz): Allow `len` to be nil.
(bindat--pack-strz): New function.
(bindat--type) <strz>: Make `len` arg optional.
(bindat-type): Adjust debug spec and docstring accordingly.

* doc/lispref/processes.texi (Bindat Types): Adjust accordingly.
2021-04-15 11:28:06 -04:00
Mattias Engdegård
7893945cc8 Add condition-case success handler (bug#47677)
Allow a condition-case handler on the form (:success BODY) to be
specified as the success continuation of the protected form, with
the specified variable bound to its result.

* src/eval.c (Fcondition_case): Update the doc string.
(internal_lisp_condition_case): Implement in interpreter.
(syms_of_eval): Defsym :success.
* lisp/emacs-lisp/bytecomp.el (byte-compile-condition-case):
Implement in byte-compiler.
* lisp/emacs-lisp/cl-macs.el (cl--self-tco): Allow self-TCO
from success handler.
* doc/lispref/control.texi (Handling Errors): Update manual.
* etc/NEWS: Announce.
* test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--test-cases)
(bytecomp-condition-case-success):
* test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs--labels):
Add test cases.
2021-04-15 15:41:13 +02:00
Alan Mackenzie
31f8ae53be CC Mode: Put debug specs inside declare forms. Add missing debug specs.
* lisp/progmodes/cc-bytecomp.el, lisp/progmodes/cc-cmds.el,
lisp/progmodes/cc-defs.el, lisp/progmodes/cc-engine.el,
lisp/progmodes/cc-fonts.el, lisp/progmodes/cc-langs.el,
lisp/progmodes/cc-mode.el: Change the explicit def-edebug-spec for many macros
into a (declare (debug ...) ..) form.  Add such forms to macros which were
previously lacking def-edebug-spec forms.
2021-04-15 10:11:20 +00:00
Juri Linkov
4ddad8f1db repeat-echo-mode-line-string doesn't need risky-local-variable to keep props
(bug#47566)
2021-04-14 23:05:43 +03:00
Filipp Gunbin
57347554a1 Java Mode: Change the syntax of character @ to prefix syntax
lisp/progmodes/cc-langs.el (c-make-mode-syntax-table): Change the syntax of @
as indicated.
2021-04-14 19:27:00 +00:00
Juri Linkov
c2fc0c7029 * lisp/isearch.el (isearch-mouse-2): Let-bind isearch-mode to nil (bug#47755) 2021-04-14 21:35:06 +03:00
Juri Linkov
94586ba26f * lisp/progmodes/gud.el (gud-repeat-map): New variable (bug#47688).
(gud-gdb): Populate gud-repeat-map with repeating keys.
2021-04-14 21:11:45 +03:00