1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-21 21:20:44 -08:00
Commit graph

143783 commits

Author SHA1 Message Date
Jim Blandy
2e2a8e5491 Man highlighting: Don't occasionally bold entire sections.
* lisp/ansi-color.el (ansi-color-apply-on-region): Always save a
restart position in ansi-color-context-region if the region ends with
highlighting active.
2020-10-20 13:09:16 +02:00
Lars Ingebrigtsen
117d58ace7 Preserve all `eval' elements from both .dir-locals files
* lisp/files.el (dir-locals-read-from-dir): Preserve all `eval'
elements from both .dir-locals files (bug#44066).
2020-10-20 13:07:25 +02:00
Stefan Kangas
e7b8c93f94 * lisp/image-file.el: Use lexical-binding. 2020-10-20 03:25:37 +02:00
Stefan Kangas
196d6c851c Make a bookmark test more robust
* test/lisp/bookmark-tests.el (bookmark-tests-insert-annotation):
Make test more robust by not being timing dependent.
2020-10-20 03:21:31 +02:00
Basil L. Contovounesios
72bdc44cae ; Fix last change in modus-themes.texi
* doc/misc/modus-themes.texi (How do the themes look like): Update
xref with new spelling.
2020-10-19 21:12:04 +01:00
Stefan Kangas
8c96c720fa Add command package-menu-filter-upgradable
* lisp/emacs-lisp/package.el (package-menu-filter-upgradable):
New command.  (Bug#41436)
(package-menu-mode-map): Bind the new command.
* doc/emacs/package.texi (Package Menu): Document the new command.
2020-10-19 20:30:52 +02:00
Stefan Monnier
f831fa1744 * lisp/progmodes/python.el: Bump version to release the f-string support 2020-10-19 13:39:42 -04:00
Stefan Monnier
ed9520b38e * lisp/mail/rfc2231.el (rfc2231-decode-encoded-string): Fix match data error
Get (match-string 3 string) earlier, in case `mm-charset-to-coding-system`
clobbers the match data.
Also, check that `string-match` succeeded before using its match data.
2020-10-19 13:03:41 -04:00
Protesilaos Stavrou
4970e2c7ea Fix documentation of the Modus Themes (Bug#43944)
* doc/misc/modus-themes.texi (Installation): Remove reference to MELPA.
(Top)
(Install from the archives, GNU Guix)
(Load at a given time or at sunset/sunrise)
(Configure options prior to loading, Command prompts)
(Headings' font, Will NOT be supported): Fix spelling, wording,
markup.
(Acknowledgements): Spell contributor's surname correctly.
2020-10-19 17:39:18 +02:00
Stefan Kangas
fe16248b77 Make auto-revert-mode tests run faster
* test/lisp/autorevert-tests.el (auto-revert--timeout): Make into
defun and shorten timeout by a factor 10.
(auto-revert--wait-for-revert): Cut timeouts in half.
(with-auto-revert-test): New macro to set timeout to 0.1.
(auto-revert-tests--write-file): New defun.
(auto-revert-test00-auto-revert-mode)
(auto-revert-test01-auto-revert-several-files)
(auto-revert-test02-auto-revert-deleted-file)
(auto-revert-test03-auto-revert-tail-mode)
(auto-revert-test04-auto-revert-mode-dired)
(auto-revert-test05-global-notify)
(auto-revert-test06-write-file): Adapt test to run faster.  Remove
:expensive-test marks.

This was discussed in:
https://lists.gnu.org/r/emacs-devel/2020-10/msg01233.html
2020-10-19 17:25:34 +02:00
Michael Albinus
74519db6df Further clarification of directory-files* doc
* doc/lispref/files.texi (Contents of Directories):
Precise description of MATCH-REGEXP of directory-files.  Add
directory-files-no-dot-files-regexp.

* lisp/files.el (directory-files-no-dot-files-regexp): Revert last fix.

* src/dired.c (Fdirectory_files)
(Fdirectory_files_and_attributes): Fix wording in docstring.
2020-10-19 13:31:33 +02:00
Mattias Engdegård
653eab4788 Keep track of matching rules in compilation-mode
When matching messages in compilation-mode, keep track of the rule
employed for each match.  This facilitates debugging and allows us to
verify that each test case really exercises the rule that we expect it
to.

Naturally this uncovered several test cases that didn't check what the
author thought they did; the rules affixed to
compile-tests--test-regexps-data are those actually used, so that the
tests still pass.

* lisp/progmodes/compile.el (compilation--message): Add 'rule' slot.
(compilation-directory-properties, compilation-error-properties)
(compilation-internal-error-properties, compilation-parse-errors)
(compilation--compat-parse-errors): Set the rule slot.
* test/lisp/progmodes/compile-tests.el (compile-tests--test-regexps-data)
(compile-tests--grep-regexp-testcases)
(compile-tests--grep-regexp-tricky-testcases): Add rules to test cases.
(compile--test-error-line): Check that the rule matches what we expect.
(compile-test-grep-regexps): Adapt to test case format.
Remove now superfluous ert-info.
2020-10-19 13:00:14 +02:00
Mattias Engdegård
b16cd3f1e5 Hoist some loop-invariant variable bindings in compile.el
* lisp/progmodes/compile.el (compilation-parse-errors):
Hoist the binding of case-fold-search and a memq call out of
the loop, eliminating a minor but unnecessary quadratic term.
2020-10-19 12:53:38 +02:00
Stefan Kangas
bacebc89af * lisp/info.el: Remove redundant :group args. 2020-10-19 12:23:31 +02:00
Stefan Kangas
a83e4a929b Improve Info-streamline-headings defaults
* lisp/info.el (Info-streamline-headings): Improve defaults.  These
produce somewhat more consistent results on my system, and seems
slightly more in line with current GNU practices.  For example, gcc
uses the "Software development" heading instead of "Programming".
2020-10-19 12:23:25 +02:00
dickmao
8cdbd84ebe `ffap-gopher-at-point' interminable without newlines
* lisp/ffap.el (ffap-gopher-at-point): Stop when we get to the end
of the buffer.
* test/lisp/ffap-tests.el (ffap-test-no-newlines): Ensure
termination for corner case (bug#44048).
2020-10-19 11:56:49 +02:00
Robert Pluim
1f6f09c85b Explain difference between Unicode and Emacs scripts
* nonascii.texi (Character Properties): Document that Emacs'
scripts and Unicode's scripts do not necessarily correspond.
2020-10-19 11:43:11 +02:00
Harald Jörg
fb26dc130d cperl-mode: Delete a misleading comment, add tests for verification
* lisp/progmodes/cperl-mode.el: Delete a comment which explains a
bug which has been fixed a long time ago (bug#44073).
* test/lisp/progmodes/cperl-mode-tests.el
(cperl-mode-fontify-punct-vars): Add regression tests to verify
that fontification of punctuation variables doesn't start strings.
2020-10-19 10:57:57 +02:00
Yuan Fu
422fdabe7b Handle "Before first headings" error in outline-cycle
* lisp/outline.el (outline-before-first-heading): New error.
(outline-back-to-heading): Signal the new error.
(outline-cycle): Ignore the error.
(outline-cycle-buffer): Simply pass 1 to 'outline-hide-sublevels'
(bug#41130).
2020-10-19 10:45:14 +02:00
Lars Ingebrigtsen
9f9e3bc24b Ffunction doc string clarification
* src/eval.c (Ffunction): Mention that `function' isn't quite like
`quote' in non-bytecompile circumstances, too (bug#41864).
2020-10-19 10:25:02 +02:00
Michael Albinus
6d00233bfd * src/dired.c (Fdirectory_files, Fdirectory_files_and_attributes):
Adapt docstring.
2020-10-19 09:48:51 +02:00
Michael Albinus
f98e57b54b * lisp/files.el (directory-files-no-dot-files-regexp): Adapt docstring. 2020-10-19 09:41:11 +02:00
Michael Albinus
1b3e031506 ; * admin/MAINTAINERS: Add entry for Michael Albinus. 2020-10-19 09:41:01 +02:00
Stefan Kangas
d3c99b6b6b ; * etc/NEWS: Some copy edits. 2020-10-19 04:03:34 +02:00
Juri Linkov
34eb99d7ba Add new choice 'keep' to next-error-message-highlight (bug#32676)
* lisp/simple.el (next-error-message-highlight): Add new choice 'keep'.
(next-error-message-highlight): Don't delete overlay when option is 'keep'.
2020-10-18 23:37:57 +03:00
Juri Linkov
6da62d612e * etc/HELLO: Add Belarusian and use Javanese script for Javanese (bug#43887) 2020-10-18 23:30:15 +03:00
Stefan Kangas
58a9cec525 Add "Old-" prefix to "Version" header in more cases
These version numbers are historical accidents and not relevant today.
Ref: https://lists.gnu.org/r/emacs-devel/2020-03/msg00080.html
2020-10-18 20:35:26 +02:00
Stefan Kangas
420023a6f0 Prefer Lisp version of describer in help--describe-vector
* src/keymap.c (Fhelp__describe_vector):
* lisp/help.el (describe-map): Use Lisp versions of describe_command
and describe_translation.
* src/keymap.c (describe_command, describe_translation): Remove.
(describe_vector_basic): New function.
2020-10-18 17:25:23 +02:00
Stefan Kangas
ef5a604f08 Remove C version of substitute-command-keys
* src/doc.c (Fsubstitute_command_keys_old): Remove.
(syms_of_doc): Remove defsubr for Fsubstitute_command_keys_old.
* src/keymap.c (describe_map, describe_map_tree)
(describe_map_compare, describe_map_elt): Remove.
* src/keymap.h: Remove 'describe_map_tree'.
* test/lisp/help-tests.el (with-substitute-command-keys-test)
(help-tests-substitute-command-keys/compare)
(help-tests-substitute-command-keys/compare-all):
Don't test the C version of 'substitute-command-keys' removed
above.
2020-10-18 17:25:23 +02:00
Stefan Kangas
8a1441310a Prefer Lisp version of describe-map-tree
This is a prerequisite to remove the old C functions, and gives a
measured 3 ms slowdown on my machine, from 0.27s to 0.30s per call to
describe-buffer-bindings (average over 50 calls).

* src/keymap.c (Fdescribe_buffer_bindings): Call Lisp function
describe-map-tree instead of C function describe_map_tree.
2020-10-18 17:25:23 +02:00
Stefan Kangas
afde53cd81 Improve substitute-command-keys performance
The previous conversion of describe_vector from C to Lisp for the
keymap and char table case lead to an unacceptable performance hit.
Moving back to the C version, as we do here, makes this function
around 50 times faster.

The Lisp version of `substitute-command-keys' was benchmarked using
the form `(documentation 'dired-mode)', which now takes less than 8 ms
on my machine.  This is around 16 times slower than the previous C
version.

Thanks to Stefan Monnier for helpful pointers on benchmarking.

* src/keymap.c (Fhelp__describe_vector): New defun to expose
describe_vector to Lisp for keymaps and char tables.
(syms_of_keymap): New defsubr for Fhelp__describe_vector.
* lisp/help.el (describe-map): Use above defun instead of Lisp
version.
(help--describe-vector): Remove defun; keep it commented out for now.
2020-10-18 17:25:23 +02:00
Stefan Kangas
5ad2bb0fa9 Translate describe_vector to Lisp
* lisp/help.el (help--describe-vector): New Lisp implementation of
describe_vector.
* src/keymap.c (Fdescribe_vector_internal): Remove defun.
(syms_of_keymap): Remove defsubr for Fdescribe_vector_internal.
2020-10-18 17:25:23 +02:00
Stefan Kangas
647b1c5142 Translate describe_map to Lisp
Third step in converting substitute-command-keys to Lisp.

* lisp/help.el (describe-map): New Lisp version of describe_map.
(help--describe-map-compare, help--describe-translation)
(help--describe-command, help--shadow-lookup): New helper
functions for describe-map.
(help--keymaps-seen, help--previous-description-column): New
variables.
* src/keymap.c
(Fkeymap__get_keyelt): New defun to expose get_keyelt to Lisp.
(Fdescribe_map_tree_old, Fdescribe_map): Remove defuns.
(Fdescribe_vector_internal): New defun to expose describe_vector to
Lisp in a way usable by describe-map.
(syms_of_keymap): New defsubrs for Fkeymap__get_keyelt and
Fdescribe_vector_internal.  Remove defsubrs for Fdescribe_map_tree_old
and Fdescribe_map.  Remove 'help--keymaps-seen'.

* test/lisp/help-tests.el
(help-tests-substitute-command-keys/shadow): Extend test.
(help-tests-substitute-command-keys/test-mode)
(help-tests-substitute-command-keys/compare-all)
(help-tests-describe-map-tree/no-menu-t)
(help-tests-describe-map-tree/no-menu-nil)
(help-tests-describe-map-tree/mention-shadow-t)
(help-tests-describe-map-tree/mention-shadow-nil)
(help-tests-describe-map-tree/partial-t)
(help-tests-describe-map-tree/partial-nil): New tests.
2020-10-18 17:25:19 +02:00
Stefan Kangas
afd31f9e62 Translate describe_map_tree to Lisp
This is the second step in converting substitute-command-keys to Lisp.

* lisp/help.el (describe-map-tree): New Lisp version of
describe_map_tree.
(substitute-command-keys): Update to use above function.
* src/keymap.c (Fdescribe_map): New defun to expose describe_map to
Lisp.
* src/keymap.c (syms_of_keymap): New variable 'help--keymaps-seen'; a
temporary kludge planned for removal.  New defsubr for Fdescribe_map.
2020-10-18 17:23:28 +02:00
Stefan Kangas
dcf9cd47ae Add new Lisp implementation of substitute-command-keys
This is only the first step towards a full Lisp implementation, and
does not remove the old C code.  On the contrary, it is partly based
on using the old C code, which is to be replaced in steps.  This also
makes it easy to test that it produces the same output as the old.

* src/doc.c (Fsubstitute_command_keys_old): Rename from
Fsubstitute_command_keys.
(Fget_quoting_style): New defun to expose text_quoting_style to Lisp.
(syms_of_doc): Expose above symbols.
* lisp/help.el (substitute-command-keys): New Lisp version of
substitute-command-keys.  (Bug#8951)

* src/keymap.c
(Fdescribe_map_tree): New defun to expose describe_map_tree to Lisp.
(syms_of_keymap): New defsubr for Fdescribe_map_tree.

* src/keyboard.c (help_echo_substitute_command_keys):
* src/doc.c (Fdocumentation, Fdocumentation_property):
* src/print.c (print_error_message):
* src/syntax.c (Finternal_describe_syntax_value): Fix calls to use new
Lisp implementation of substitute-command-keys.

* test/src/doc-tests.el: Remove file.
* test/lisp/help-tests.el: Add tests for substitute-command-keys
copied from above file.
2020-10-18 17:23:24 +02:00
Eli Zaretskii
282f35083c ; * etc/NEWS: Call out the new variable 'shr-offer-extend-specpdl'. 2020-10-18 17:40:45 +03:00
Mattias Engdegård
9bc5c016a1 Strengthen js-mode indentation tests
Test not only that the indentation engine is idempotent but that it
will indent a file to the expected shape from scratch.

* test/lisp/progmodes/js-tests.el (js-tests--remove-indentation): New.
(js-deftest-indent): Extend test.
2020-10-18 15:54:02 +02:00
Lars Ingebrigtsen
b7dfae3a81 Fix a misleading comment in Freplace_match
* src/search.c (Freplace_match): Fix a misleading comment
(bug#42424).
2020-10-18 10:18:57 +02:00
Lars Ingebrigtsen
a10a3d48e8 Document the new smiley value
* doc/misc/gnus.texi (Smileys): Document the emoji smiley value.
2020-10-18 09:45:09 +02:00
Lars Ingebrigtsen
d96734729d Fix up smiley emoji application to make it reversible
* lisp/gnus/smiley.el (smiley-region): Use text properties for the
emojis instead of rewriting the message.
2020-10-18 09:42:25 +02:00
Adam Sjøgren
9907912624 Add support for emojis i smiley.el
* lisp/gnus/smiley.el (smiley-style): Add emoji
tag.
(smiley-emoji-regexp-alist): New defcustom.
(smiley-update-cache, smiley-region): Support emoji (non-image)
replacement (bug#43889).
2020-10-18 09:36:43 +02:00
Stefan Kangas
a67fed2e0c Make nxml-newline-and-indent argument optional
* lisp/nxml/nxml-mode.el (nxml-newline-and-indent): Make argument
optional to conform to 'comment-line-break-function'.  (Bug#40193)
2020-10-18 03:17:58 +02:00
Stefan Kangas
8299126521 Minor improvements to emacsclient man page
* doc/man/emacsclient.1: Make flag descriptions into full sentences to
be more consistent.
2020-10-18 02:49:55 +02:00
Stefan Kangas
335e3cf89f Convert manual js indent tests to unit tests
* test/lisp/progmodes/js-tests.el (ert-x): Require.
(js-deftest-indent): New macro.  Use it to define tests for indenting
the below files.

* test/manual/indent/js-chain.js:
* test/manual/indent/js-indent-align-list-continuation-nil.js:
* test/manual/indent/js-indent-init-dynamic.js:
* test/manual/indent/js-indent-init-t.js:
* test/manual/indent/js.js:
* test/manual/indent/jsx-align-gt-with-lt.jsx:
* test/manual/indent/jsx-comment-string.jsx:
* test/manual/indent/jsx-indent-level.jsx:
* test/manual/indent/jsx-quote.jsx:
* test/manual/indent/jsx-self-closing.jsx:
* test/manual/indent/jsx-unclosed-1.jsx:
* test/manual/indent/jsx-unclosed-2.jsx:
* test/manual/indent/jsx.jsx: Move from here...
* test/lisp/progmodes/js-resources/js-chain.js:
* test/lisp/progmodes/js-resources/js-indent-align-list-continuation-nil.js:
* test/lisp/progmodes/js-resources/js-indent-init-dynamic.js:
* test/lisp/progmodes/js-resources/js-indent-init-t.js:
* test/lisp/progmodes/js-resources/js.js:
* test/lisp/progmodes/js-resources/jsx-align-gt-with-lt.jsx:
* test/lisp/progmodes/js-resources/jsx-comment-string.jsx:
* test/lisp/progmodes/js-resources/jsx-indent-level.jsx:
* test/lisp/progmodes/js-resources/jsx-quote.jsx:
* test/lisp/progmodes/js-resources/jsx-self-closing.jsx:
* test/lisp/progmodes/js-resources/jsx-unclosed-1.jsx:
* test/lisp/progmodes/js-resources/jsx-unclosed-2.jsx:
* test/lisp/progmodes/js-resources/jsx.jsx: ...to here.
2020-10-18 02:28:22 +02:00
Stefan Kangas
f287fb45f5 * lisp/progmodes/ld-script.el: Use lexical-binding. 2020-10-18 02:27:29 +02:00
Stefan Kangas
073e72e484 * lisp/progmodes/mixal-mode.el: Fix typos. 2020-10-18 00:57:29 +02:00
Jose A Ortega Ruiz
3b5a43f3d7 Set jao@gnu.org as maintainer of mixal-mode.el
* lisp/progmodes/mixal-mode.el: Set jao@gnu.org as maintainer of
mixal-mode.el.  (Bug#44037)
2020-10-18 00:49:51 +02:00
Stefan Kangas
20728195b6 Use lexical-binding in mixal-mode.el
* lisp/progmodes/mixal-mode.el: Use lexical-binding.  (Bug#44037)
2020-10-18 00:49:51 +02:00
Juri Linkov
06933245c6 Extend next-error-message face to the edge of the window (bug#32676)
* lisp/simple.el (next-error-message): Add ':extend t' to this face.
(next-error-message-highlight): Put overlay over the newline as well.
2020-10-17 23:23:10 +03:00
J. Scott Berg
2c0cd90083 Fix bad dimensions of initial frame on VcXsrv
* src/xterm.c (handle_one_xevent) [USE_GTK]: Don't obey
ConfigureNotify events if the frame is not visible.  (Bug#44002)

Copyright-paperwork-exempt: yes
2020-10-17 20:30:56 +03:00