Stefan Kangas [Sun, 18 Oct 2020 14:49:55 +0000 (16:49 +0200)]
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.
Stefan Kangas [Sun, 18 Oct 2020 13:19:09 +0000 (15:19 +0200)]
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.
Stefan Kangas [Sun, 18 Oct 2020 13:32:22 +0000 (15:32 +0200)]
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.
Stefan Kangas [Sat, 17 Oct 2020 22:02:55 +0000 (00:02 +0200)]
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.
Stefan Kangas [Sun, 23 Aug 2020 15:20:09 +0000 (17:20 +0200)]
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.
Stefan Kangas [Wed, 19 Aug 2020 10:49:39 +0000 (12:49 +0200)]
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.
Stefan Kangas [Sat, 17 Oct 2020 18:55:04 +0000 (20:55 +0200)]
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.
Stefan Kangas [Mon, 8 Jul 2019 16:37:50 +0000 (18:37 +0200)]
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.
Eli Zaretskii [Sun, 18 Oct 2020 14:40:45 +0000 (17:40 +0300)]
; * etc/NEWS: Call out the new variable 'shr-offer-extend-specpdl'.
Mattias Engdegård [Sun, 18 Oct 2020 13:54:02 +0000 (15:54 +0200)]
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.
Lars Ingebrigtsen [Sun, 18 Oct 2020 08:18:57 +0000 (10:18 +0200)]
Fix a misleading comment in Freplace_match
* src/search.c (Freplace_match): Fix a misleading comment
(bug#42424).
Lars Ingebrigtsen [Sun, 18 Oct 2020 07:45:09 +0000 (09:45 +0200)]
Document the new smiley value
* doc/misc/gnus.texi (Smileys): Document the emoji smiley value.
Lars Ingebrigtsen [Sun, 18 Oct 2020 07:42:25 +0000 (09:42 +0200)]
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.
Adam Sjøgren [Sun, 18 Oct 2020 07:36:43 +0000 (09:36 +0200)]
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).
Stefan Kangas [Sun, 18 Oct 2020 01:17:58 +0000 (03:17 +0200)]
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)
Stefan Kangas [Sun, 18 Oct 2020 00:46:31 +0000 (02:46 +0200)]
Minor improvements to emacsclient man page
* doc/man/emacsclient.1: Make flag descriptions into full sentences to
be more consistent.
Stefan Kangas [Sun, 18 Oct 2020 00:28:22 +0000 (02:28 +0200)]
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.
Stefan Kangas [Sun, 18 Oct 2020 00:09:27 +0000 (02:09 +0200)]
* lisp/progmodes/ld-script.el: Use lexical-binding.
Stefan Kangas [Sat, 17 Oct 2020 22:57:29 +0000 (00:57 +0200)]
* lisp/progmodes/mixal-mode.el: Fix typos.
Jose A Ortega Ruiz [Sat, 17 Oct 2020 21:58:21 +0000 (22:58 +0100)]
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)
Stefan Kangas [Sat, 17 Oct 2020 13:52:01 +0000 (15:52 +0200)]
Use lexical-binding in mixal-mode.el
* lisp/progmodes/mixal-mode.el: Use lexical-binding. (Bug#44037)
Juri Linkov [Sat, 17 Oct 2020 20:23:10 +0000 (23:23 +0300)]
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.
J. Scott Berg [Sat, 17 Oct 2020 17:30:56 +0000 (20:30 +0300)]
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
Glenn Morris [Sat, 17 Oct 2020 16:48:54 +0000 (09:48 -0700)]
Merge from origin/emacs-27
18c0e20bea (origin/emacs-27) Improve documentation of 'Info-hide-note...
Glenn Morris [Sat, 17 Oct 2020 16:48:54 +0000 (09:48 -0700)]
; Merge from origin/emacs-27
The following commit was skipped:
47b8a1c767 * admin/release-process: Add note to update files from ups...
Glenn Morris [Sat, 17 Oct 2020 16:48:54 +0000 (09:48 -0700)]
Merge from origin/emacs-27
65078e0a76 * lisp/info.el (Info-hide-note-references): Doc fix. (Bug...
30305b543d Make lisp/progmodes/js.el dependent on CC Mode in the Make...
c37b2a9b42 Yet another fix for 'set-minibuffer-message'
72dd911981 Fix posn-at-x-y in builds --without-x
ace25f2066 Clarify the seq-reduce documentation
7d598e281d Make tramp-completion-reread-directory-timeout obsolete (B...
2c31ce18ea Fix 'message' when there's active minibuffer on another frame
# Conflicts:
# doc/misc/tramp.texi
# etc/NEWS
Glenn Morris [Sat, 17 Oct 2020 16:45:25 +0000 (09:45 -0700)]
; Merge from origin/emacs-27
The following commit was skipped:
f539ee9042 * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Doc t...
Mattias Engdegård [Sat, 17 Oct 2020 16:33:04 +0000 (18:33 +0200)]
* etc/NEWS: Mention new lexical binding conversion aid.
Protesilaos Stavrou [Sat, 17 Oct 2020 06:50:48 +0000 (09:50 +0300)]
Update Modus themes' NEWS entry
* etc/NEWS: Reword entry about new 'modus-operandi' and
'modus-vivendi' themes. Include reference to their manual.
Jose A. Ortega Ruiz [Fri, 16 Oct 2020 17:56:46 +0000 (18:56 +0100)]
mixal-mode: add missed instructions
Synchronises with latest released GNU MDK 1.2.11
* mixal-mode.el (mixal-operation-codes-alist):
Add missed instructions: SLB,SRB,JAE,JAO,JXE,JXO
Stefan Kangas [Sat, 17 Oct 2020 15:56:44 +0000 (17:56 +0200)]
Base bookmark-bmenu-mode on tabulated-list-mode (Bug#39293)
Rewriting bookmark-bmenu-mode to be based on 'tabulated-list-mode'
allows us to greatly simplify the code in several cases. In addition,
we get some features for free, such as sorting by column.
The only functional step backwards is that we no longer support the
optional "inline" header line, a bookmark.el-specific feature to have
a header without using 'header-line-format'. This feature is believed
to be not very useful or widely used.
* lisp/bookmark.el (tabulated-list): Require.
(bookmark-bmenu-mode): Inherit from 'tabulated-list-mode' instead of
'special-mode' and make the necessary changes to support that.
(bookmark-bmenu-mode-map): Inherit from 'tabulated-list-mode-map'
instead of 'special-mode-map'. Remove now duplicate key bindings.
(bookmark-bmenu--revert): New function to show the bookmark list using
'tabulated-list-mode'.
(bookmark-bmenu-list): Simplify by using above new function.
(bookmark-bmenu-bookmark): Adapt to 'tabulated-list-mode'.
(bookmark-bmenu--name-predicate)
(bookmark-bmenu--file-predicate): New functions used by
'tabulated-list-mode' to sort.
(bookmark-bmenu-set-header): Redefine as obsolete function alias for
'tabulated-list-init-header'.
(bookmark-bmenu-toggle-filenames, bookmark-bmenu-show-filenames)
(bookmark-bmenu-hide-filenames, bookmark-bmenu-mark)
(bookmark-bmenu-mark-all, bookmark-bmenu-unmark-all)
(bookmark-bmenu-delete-all, bookmark-bmenu-unmark)
(bookmark-bmenu-delete, bookmark-bmenu-delete-backwards): Simplify now
that we can depend on 'tabulated-list-mode' to do more work.
(bookmark-bmenu-use-header-line)
(bookmark-bmenu-inline-header-height): Declare variables relating to
the now unsupported "inline" header obsolete.
(bookmark-bmenu-ensure-position)
(bookmark-bmenu-execute-deletions): Remove code to handle "inline" header.
* test/lisp/bookmark-tests.el
(bookmark-test-bmenu-edit-annotation/show-annotation)
(bookmark-test-bmenu-unmark, bookmark-test-bmenu-mark): Update tests
for minor changes when using 'tabulated-list-mode'.
Eli Zaretskii [Sat, 17 Oct 2020 15:26:52 +0000 (18:26 +0300)]
; * etc/NEWS: Move 'narrow-to-prompt' entry to "Shell" section.
Mattias Engdegård [Fri, 16 Oct 2020 17:02:25 +0000 (19:02 +0200)]
Add aid for finding missing dynamic variable declarations
Find lexical use of variables that are dynamically declared in other
files by recording 'defvar' declarations in files that can be read
in by the compiler in a second compilation. This is particularly
useful when converting code to use lexical-binding.
The facility is controlled by setting environment variables:
EMACS_GENERATE_DYNVARS -- set to non-empty to generate a .dynvars file
corresponding to each .elc.
EMACS_DYNVARS_FILE -- set to the name of a .dynvars file to use
as defvar information during compilation,
enabling the new warnings.
* lisp/emacs-lisp/bytecomp.el (byte-compile--known-dynamic-vars)
(byte-compile--seen-defvars): New variables.
(byte-compile-warning-types): Add lexical-dynamic warning.
(byte-compile--load-dynvars, byte-compile--warn-lexical-dynamic):
New functions.
* lisp/emacs-lisp/bytecomp.el (byte-compile-file, byte-compile--declare-var)
(byte-compile-lambda, byte-compile-bind): Add dynamic variable loads,
dumps and checks.
* doc/lispref/variables.texi (Converting to Lexical Binding): Document.
Stefan Kangas [Sat, 17 Oct 2020 13:37:37 +0000 (15:37 +0200)]
* test/lisp/mail/rfc822-tests.el: New file.
Stefan Kangas [Sat, 17 Oct 2020 00:57:30 +0000 (02:57 +0200)]
* lisp/url/url-vars.el: Use lexical-binding.
Eli Zaretskii [Sat, 17 Oct 2020 11:43:25 +0000 (14:43 +0300)]
Improve documentation of 'Info-hide-note-references' in info.texi
* doc/misc/info.texi (Help-Xref): Improve the wording.
(Emacs Info Variables): Update the documentation of
'Info-hide-note-references'. (Bug#44043)
Pierre Neidhardt [Sat, 17 Oct 2020 11:16:24 +0000 (13:16 +0200)]
New shell-mode command to narrow to the command under point
* lisp/shell.el (shell--prompt-end-position)
(shell--prompt-begin-position): Helper functions.
* lisp/shell.el (shell-narrow-to-prompt): New command and
keystroke (bug#41784).
Lars Ingebrigtsen [Sat, 17 Oct 2020 10:17:10 +0000 (12:17 +0200)]
Make woman ignore the new groff kerning operators
* lisp/woman.el (woman-decode-region): Ignore the new groff
kerning operators (bug#42219).
Lars Ingebrigtsen [Sat, 17 Oct 2020 09:24:03 +0000 (11:24 +0200)]
Fix `browse-url-of-dired'
* lisp/net/browse-url.el (browse-url-emacs): Make the
`browse-url-of-dired' command work again after the browse-emacs
changes (bug#42429).
Lars Ingebrigtsen [Sat, 17 Oct 2020 08:29:15 +0000 (10:29 +0200)]
Avoid infloop in which-function-mode when a vc file has changed
* lisp/vc/diff-mode.el (diff-find-source-location): Avoid warnings
when called from which-function-mode and the file has changed
(bug#42818).
Stefan Kangas [Sat, 17 Oct 2020 00:06:26 +0000 (02:06 +0200)]
* admin/release-process: Add note to update files from upstream.
(cherry picked from commit
86dd9d12aa5a273da2efd4ce8c6e35ae343f1494)
Lars Ingebrigtsen [Sat, 17 Oct 2020 07:43:02 +0000 (09:43 +0200)]
Fix narrow-to-defun in f90-mode
* lisp/progmodes/f90.el (f90-beginning-of-subprogram): Make
narrow-to-defun work better (bug#44042).
Eli Zaretskii [Sat, 17 Oct 2020 07:32:26 +0000 (10:32 +0300)]
* lisp/info.el (Info-hide-note-references): Doc fix. (Bug#44043)
Stefan Kangas [Sat, 17 Oct 2020 00:06:26 +0000 (02:06 +0200)]
* admin/release-process: Add note to update files from upstream.
Stefan Monnier [Fri, 16 Oct 2020 19:24:15 +0000 (15:24 -0400)]
* doc/lispref/variables.texi (Converting to Lexical Binding): New section
Extract it from `Using Lexical Binding` and extend it a bit.
Stefan Monnier [Fri, 16 Oct 2020 18:03:59 +0000 (14:03 -0400)]
* lisp/progmodes/python.el: Teach f-strings to `font-lock`
(python--f-string-p, python--font-lock-f-strings): New functions.
(python-font-lock-keywords-maximum-decoration): Use them.
Alan Mackenzie [Fri, 16 Oct 2020 16:25:19 +0000 (16:25 +0000)]
Make lisp/progmodes/js.el dependent on CC Mode in the Makefile.
This will prevent version mismatches between compile time and runtime
versions. This fixes bug #43037.
* lisp/Makefile.in: Make js.el dependent on cc-{defs,engine,mode}.elc.
Lars Ingebrigtsen [Fri, 16 Oct 2020 15:52:51 +0000 (17:52 +0200)]
indent-rigidly doc string clarification
* lisp/indent.el (indent-rigidly): Note that the command
deactivates the mark (bug#42842).
Eli Zaretskii [Fri, 16 Oct 2020 15:42:22 +0000 (18:42 +0300)]
; * doc/emacs/ack.texi (Acknowledgments): Tweak the purpose description.
Lars Ingebrigtsen [Fri, 16 Oct 2020 15:36:20 +0000 (17:36 +0200)]
Make erc expand the final abbrev
* lisp/erc/erc.el (erc-send-current-line): Expand abbrevs at the
end of lines (bug#42854).
Michael Albinus [Fri, 16 Oct 2020 14:51:25 +0000 (16:51 +0200)]
Make last change in tramp-archive-tests.el backward compatible
* test/lisp/net/tramp-archive-tests.el (ert-resource-directory-format)
(ert-resource-directory-trim-left-regexp)
(ert-resource-directory-trim-right-regexp, ert-resource-directory)
(ert-resource-file): Define if they don't exist.
Eli Zaretskii [Fri, 16 Oct 2020 14:32:04 +0000 (17:32 +0300)]
; A few more spelling fixes in Modus Theme docs.
Eli Zaretskii [Fri, 16 Oct 2020 14:29:38 +0000 (17:29 +0300)]
Fix documentation of Modus Themes
* doc/misc/modus-themes.texi (Install from the archives)
(No mixed fonts): Remove references to MELPA.
(How do the themes look like)
(Enable and load, Load automatically)
(Configure options prior to loading, Customisation Options)
(No mixed fonts, Command prompts, Mode line, Completion UIs)
(Fringes, Line highlighting, Matching parentheses, Diffs)
(Org mode blocks, Heading styles, Tweak colors (DIY))
(Org user faces (DIY), Supported packages)
(Will NOT be supported, Note for ERC escaped color sequences)
(Note on shr colors, Note for Helm grep)
(Note on vc-annotate-background-mode, Sources of the themes): Fix
spelling, wording, and markup.
Eli Zaretskii [Fri, 16 Oct 2020 13:52:36 +0000 (16:52 +0300)]
Revert "* doc/emacs/ack.texi (Acknowledgments): Remove now deleted files."
This reverts commit
731a26bb50aabeb2c0512f0e45b3cda76029a590.
We don't support rewriting history!
People who contributed to Emacs development should have their
contributions remain acknowledged forever, even if the files
to which they contributed are deleted at some point.
Eli Zaretskii [Fri, 16 Oct 2020 13:49:47 +0000 (16:49 +0300)]
Fix file-name problems in several tests
* test/lisp/saveplace-tests.el
(saveplace-test-forget-unreadable-files): Use file-truename, to
avoid false negatives when file names are not 'equal' as strings,
but point to the same file.
* test/lisp/emacs-lisp/edebug-tests.el (edebug-tests-with-normal-env)
(edebug-tests-run-macro):
* test/lisp/emacs-lisp/testcover-tests.el
(testcover-tests-markup-region, testcover-tests-run-test-case):
Bind find-file-suppress-same-file-warnings to a non-nil value, to
avoid warnings about "same-file-names", at least on MS-Windows,
due to 8+3 aliases.
Stefan Kangas [Fri, 16 Oct 2020 13:26:37 +0000 (15:26 +0200)]
Remove some Emacs 19 compat code
* lisp/type-break.el (type-break-time-stamp): Remove Emacs 19
compat code.
Stefan Kangas [Fri, 16 Oct 2020 13:14:31 +0000 (15:14 +0200)]
Remove some references to Emacs 18 and 19
* doc/misc/forms.texi (Modifying Forms Contents, Error Messages):
* lisp/arc-mode.el:
* lisp/emacs-lisp/edebug.el (edebug-temp-display-freq-count):
* lisp/type-break.el: Remove some references to Emacs 18 and 19.
Stefan Kangas [Fri, 16 Oct 2020 12:08:31 +0000 (14:08 +0200)]
* doc/emacs/ack.texi (Acknowledgments): Remove now deleted files.
This is in line with an ack.texi comment that says to "Remove things
that are no longer distributed." Most files in this list were removed
many years ago.
Stefan Kangas [Fri, 16 Oct 2020 12:58:51 +0000 (14:58 +0200)]
Fix building modus-themes Info manual
* doc/misc/Makefile.in (INFO_COMMON): Add modus-themes.
* doc/misc/modus-themes.texi: Adapt to fit Emacs conventions.
Protesilaos Stavrou [Mon, 12 Oct 2020 06:11:00 +0000 (09:11 +0300)]
Update modus-operandi, modus-vivendi to 0.13.0
* etc/themes/modus-operandi-theme.el: Update to version 0.13.0.
* etc/themes/modus-vivendi-theme.el: Update to version 0.13.0.
* doc/misc/modus-themes.texi: Include new texinfo documentation for
modus-operandi and modus-vivendi themes. (Bug#43944)
Mattias Engdegård [Thu, 15 Oct 2020 16:44:39 +0000 (18:44 +0200)]
* lisp/emacs-lisp/backquote.el: Use lexical binding.
Stefan Kangas [Fri, 16 Oct 2020 09:50:30 +0000 (11:50 +0200)]
; Revert some spelling fixes
The preference was to keep the alternative spelling here, to ensure
the documentation matches the name of the macros.
This reverts part of commit
95e8c7d1d9.
Ref: https://lists.gnu.org/r/emacs-devel/2020-10/msg00651.html
Stefan Kangas [Thu, 24 Sep 2020 00:05:58 +0000 (02:05 +0200)]
Use new resource directory macros in tests (Bug#43792)
* test/lisp/bookmark-tests.el (bookmark-tests-data-dir):
* test/lisp/calendar/todo-mode-tests.el (todo-test-data-dir):
* test/lisp/net/dbus-tests.el (dbus--tests-dir):
* test/lisp/emacs-lisp/edebug-tests.el
(edebug-tests-sample-code-file):
* test/lisp/emacs-lisp/package-tests.el
(package-test-fake-contents-file):
* test/lisp/emacs-lisp/shadow-tests.el (shadow-tests-data-directory):
* test/lisp/emacs-lisp/testcover-tests.el
(testcover-tests-file-dir, testcover-tests-test-cases):
* test/lisp/mail/uudecode-tests.el (uudecode-tests-data-dir):
* test/lisp/net/tramp-archive-tests.el
(tramp-archive-test-resource-directory):
* test/lisp/pcmpl-linux-tests.el (pcmpl-linux-tests-data-dir):
* test/lisp/progmodes/cperl-mode-tests.el
(cperl-mode-tests-data-directory):
* test/lisp/progmodes/flymake-tests.el
(flymake-tests-data-directory):
* test/lisp/progmodes/ruby-mode-tests.el (ruby-mode-tests-data-dir):
* test/lisp/saveplace-tests.el (saveplace-tests-dir):
* test/lisp/textmodes/css-mode-tests.el (css-mode-tests-data-dir):
Remove.
* test/lisp/bookmark-tests.el (bookmark-tests-bookmark-file)
(bookmark-tests-example-file, bookmark-tests-bookmark-file-list):
* test/lisp/calendar/todo-mode-tests.el (todo-test-file-1)
(todo-test-archive-1, with-todo-test, todo-test--add-file):
* test/lisp/custom-tests.el (custom--test-theme-variables):
* test/lisp/net/dbus-tests.el (dbus--test-introspect):
* test/lisp/emacs-lisp/edebug-tests.el (edebug-tests-setup-code-file):
* test/lisp/emacs-lisp/package-tests.el (package-test-data-dir)
(package-test-desc-from-buffer, package-test-install-single)
(package-test-macro-compilation)
(package-test-install-prioritized)
(package-test-install-multifile, package-test-update-archives)
(package-test-update-archives-async)
(package-test-update-archives/ignore-nil-entry)
(package-test-signed, package-x-test-upload-buffer)
(package-x-test-upload-new-version):
* test/lisp/emacs-lisp/shadow-tests.el (shadow-case-insensitive):
* test/lisp/emacs-lisp/testcover-tests.el
(testcover-tests-build-test-cases):
* test/lisp/mail/uudecode-tests.el (uudecode-tests-encoded-str)
(uudecode-tests-decoded-str):
* test/lisp/net/tramp-archive-tests.el
(tramp-archive-test-file-archive)
(tramp-archive-test-directory):
* test/lisp/pcmpl-linux-tests.el (pcmpl-linux-test-fs-types)
(pcmpl-linux-test-mounted-directories):
* test/lisp/progmodes/cperl-mode-tests.el (cperl-mode-test-bug-10483)
(cperl-mode-test-indent-styles):
* test/lisp/progmodes/flymake-tests.el
(flymake-tests--call-with-fixture):
* test/lisp/progmodes/ruby-mode-tests.el
(ruby--indent/converted-from-manual-test):
* test/lisp/saveplace-tests.el
(saveplace-test-save-place-to-alist/dir)
(saveplace-test-load-alist-from-file):
* test/lisp/textmodes/css-mode-tests.el (css-mode-test-indent): Adjust
to use new resource directory macros.
Stefan Kangas [Wed, 23 Sep 2020 21:06:02 +0000 (23:06 +0200)]
Add ert macros to get resource file names (Bug#43792)
* lisp/emacs-lisp/ert-x.el (subr-x): Require.
(ert-resource-dir, ert-resource-file): New macros to get the file name
of the resource directory belonging to a test.
(ert-resource-dir-format, ert-resource-dir-trim-left-regexp)
(ert-resource-dir-trim-right-regexp): New variables.
Lars Ingebrigtsen [Fri, 16 Oct 2020 08:46:14 +0000 (10:46 +0200)]
Fix previous gnus-icalendar sanitization
* lisp/gnus/gnus-icalendar.el (gnus-icalendar-event-from-ical):
Fix previous change -- respect nil values passed in.
Stephen Berman [Fri, 16 Oct 2020 08:33:19 +0000 (10:33 +0200)]
Adjust some tests so that they work in symlinked environs
* test/lisp/help-fns-tests.el (help-fns-test-lisp-macro)
(help-fns-test-lisp-defsubst):
* test/lisp/emacs-lisp/cl-generic-tests.el
(cl-generic-tests--method-files--finds-methods): Adjust test so
that they work in a symlinked environment (bug#43004).
(cl-generic-tests--method-files--finds-methods): Use file-truename
so that this works in a symlinked environment (bug#43004).
Lars Ingebrigtsen [Fri, 16 Oct 2020 08:16:31 +0000 (10:16 +0200)]
Sanitize ical data in gnus-icalendar-event-from-ical
* lisp/gnus/gnus-icalendar.el (gnus-icalendar-event-from-ical):
Sanitise the data before passing it on to the constructor. This
avoids backtraces on icals with extra, unknown slots (bug#43057).
Basil L. Contovounesios [Fri, 16 Oct 2020 07:32:48 +0000 (09:32 +0200)]
Substitute command keys in button help-echo values
* lisp/button.el (button--help-echo): Pass resulting string through
substitute-command-keys for consistency with show-help-function.
* test/lisp/button-tests.el (button-tests--map): New test keymap.
(button--help-echo-string, button--help-echo-form)
(button--help-echo-function): Use it to test command key
substitution in help-echo strings (bug#43070).
Eli Zaretskii [Fri, 16 Oct 2020 07:17:42 +0000 (10:17 +0300)]
Yet another fix for 'set-minibuffer-message'
* lisp/minibuffer.el (set-minibuffer-message): Handle the case of
separate minibuffer-only frame. Suggested by Gregory Heytings
<ghe@sdf.org>.
Lars Ingebrigtsen [Fri, 16 Oct 2020 07:10:05 +0000 (09:10 +0200)]
Make package-install-from-buffer maybe refresh the quickstart file
* lisp/emacs-lisp/package.el (package-install-from-buffer):
Refresh the quickstart file (bug#43237). This makes this command
more consistent with package-install.
Eli Zaretskii [Fri, 16 Oct 2020 07:02:50 +0000 (10:02 +0300)]
Fix posn-at-x-y in builds --without-x
* src/keyboard.c (make_lispy_position): Don't exclude the
window_or_frame = frame case from TTY-only builds. Reported by
Jared Finder <jared@finder.org>.
* doc/lispref/commands.texi (Click Events): Document the format of
POSITION in click events on the frame's internal border.
Lars Ingebrigtsen [Fri, 16 Oct 2020 06:46:07 +0000 (08:46 +0200)]
diff-update-on-the-fly doc string clarification
* lisp/vc/diff-mode.el (diff-update-on-the-fly): Mention what the
nil value does (bug#43297).
Lars Ingebrigtsen [Fri, 16 Oct 2020 06:36:21 +0000 (08:36 +0200)]
Restore vc-revision-other-window buffer-changing behaviour
* lisp/vc/vc.el (vc-revision-other-window): This function used to
change the current buffer, but this was changed in the previous
patch for indirect buffer support. Ensure that it still does
this, because this is what the callers expect (bug#44026).
Lars Ingebrigtsen [Fri, 16 Oct 2020 05:36:08 +0000 (07:36 +0200)]
Doc string clarification for keep-lines
* lisp/replace.el (keep-lines): Note that REND isn't optional if
RSTART is given (bug#44021).
Lars Ingebrigtsen [Fri, 16 Oct 2020 05:21:05 +0000 (07:21 +0200)]
Add a new variable to control Gnus Agent caching
* doc/misc/gnus.texi (Agent Variables): Document it.
* lisp/gnus/gnus-art.el (gnus-request-article-this-buffer): Ditto.
* lisp/gnus/gnus-async.el (gnus-async-article-callback): Use it.
* lisp/gnus/gnus.el (gnus-agent-eagerly-store-articles): New variable.
Includes work from Madhu <enometh@meer.net>.
Richard M Stallman [Fri, 16 Oct 2020 02:32:41 +0000 (22:32 -0400)]
Add way to prevent asking "increase specpdl size?"
* net/shr.el (shr-offer-extend-specpdl): New option, default t.
(shr-descend): If shr-offer-extend-specpdl is nil, don't even ask
whether to extend the specpdl, just signal error.
Stefan Monnier [Thu, 15 Oct 2020 18:34:12 +0000 (14:34 -0400)]
* lisp/emacs-lisp/warnings.el (display-warning): Don't be so negative
Lars Ingebrigtsen [Thu, 15 Oct 2020 16:36:26 +0000 (18:36 +0200)]
Don't display the warning buttons in bytecomp buffers
* lisp/emacs-lisp/warnings.el (display-warning): Don't do the
buttons in bytecomp buffers.
Lars Ingebrigtsen [Thu, 15 Oct 2020 15:45:12 +0000 (17:45 +0200)]
Make hi-lock-face-buffer more resilient
* lisp/hi-lock.el (hi-lock-face-buffer): If given a face name a
string, convert it to a symbol first, as later usage of this
expects a symbol and not a string (bug#43339).
Lars Ingebrigtsen [Thu, 15 Oct 2020 15:10:41 +0000 (17:10 +0200)]
Add some references to the microdocs in the comments in cperl-mode
* lisp/progmodes/cperl-mode.el: Tell the people reading the
comments how to read the docs explicitly (bug#1621).
David Engster [Thu, 15 Oct 2020 14:47:44 +0000 (16:47 +0200)]
Search harder for file name matches in *compilation* buffers
* lisp/progmodes/compile.el (compilation-find-file): Use it (bug#14411).
(compilation-search-all-directories): New variable.
Lars Ingebrigtsen [Thu, 15 Oct 2020 14:26:40 +0000 (16:26 +0200)]
Make `C-x C-e' work more like `C-M-x' on defvar etc
* doc/emacs/building.texi (Lisp Eval): Document it.
* lisp/emacs-lisp/pp.el (pp-eval-last-sexp): Ditto.
* lisp/progmodes/elisp-mode.el (elisp--eval-last-sexp): Work more
like `eval-defun': Re-evaluate defvar/defcustom/
defface forms.
Stefan Kangas [Thu, 15 Oct 2020 13:03:42 +0000 (15:03 +0200)]
* doc/misc/efaq.texi: Remove reference to FTP.
Stefan Kangas [Thu, 15 Oct 2020 13:00:05 +0000 (15:00 +0200)]
Remove some references to "in Emacs 21 or later"
* doc/misc/efaq.texi (Colors on a TTY, Disabling backups)
(Errors with init files, Backspace invokes help)
(Backspace invokes help): Remove some references to "in Emacs 21 or
later". Now everyone can be assumed to use at least that version.
Stefan Kangas [Thu, 15 Oct 2020 12:49:23 +0000 (14:49 +0200)]
Move emacsclient.1 file history further down
* doc/man/emacsclient.1: Move file history further down; it doesn't
need to be prominently displayed in the introductory paragraph.
Lars Ingebrigtsen [Thu, 15 Oct 2020 11:20:22 +0000 (13:20 +0200)]
Fix undefined function in project-compile
* lisp/progmodes/project.el (project-compile): Require compile.el
before using functions from the file (bug#44009).
Mattias Engdegård [Thu, 15 Oct 2020 09:46:49 +0000 (11:46 +0200)]
Remove dynamic declaration of 'save-match-data-internal'
* lisp/subr.el: Remove defvar which has no relevance today; it can
very well be a lexical variable.
Jeff Walsh [Thu, 15 Oct 2020 07:55:29 +0000 (09:55 +0200)]
Fix segfault in xwidget when there is no title
* src/xwidget.c (Fxwidget_webkit_title): Pass emptry string when no
title is returned (bug#43989).
Lars Ingebrigtsen [Thu, 15 Oct 2020 07:37:44 +0000 (09:37 +0200)]
Clarify the seq-reduce documentation
* doc/lispref/sequences.texi (Sequence Functions): Ditto.
* lisp/emacs-lisp/seq.el (seq-reduce): Clarify the order of the
arguments (bug#43995).
Lars Ingebrigtsen [Thu, 15 Oct 2020 07:17:45 +0000 (09:17 +0200)]
Fix problem with next-error-message-highlight in *Occur*
* lisp/simple.el (next-error-message-highlight): This function is
called directly, so clean up the code a bit (bug#32676).
(next-error-found): Pass in the error buffer.
Lars Ingebrigtsen [Thu, 15 Oct 2020 06:55:27 +0000 (08:55 +0200)]
Fix NEWS item for C-h R
Lars Ingebrigtsen [Thu, 15 Oct 2020 06:39:00 +0000 (08:39 +0200)]
Make Gnus more liberal when interpreting Face headers again
* lisp/gnus/gnus-fun.el (gnus-convert-face-to-png): Do it.
* lisp/gnus/gnus-util.el (gnus-base64-repad): Allow not checking
anything, but just repadding.
Richard M Stallman [Wed, 14 Oct 2020 23:17:48 +0000 (19:17 -0400)]
Clarify wording
Clarify doc string of line-to-top-of-window.
Richard M Stallman [Wed, 14 Oct 2020 23:11:20 +0000 (19:11 -0400)]
Handle retrying of MIME failure messages
* rmail.el (rmail-retry-failure): Handle retrying of MIME failure messages.
Richard M Stallman [Wed, 14 Oct 2020 23:10:02 +0000 (19:10 -0400)]
Handle encrypting mime parts
* epa-mail.el (epa-mail-encrypt): Insert any encoded mime parts
that are queued up to insert before sending the message.
Stefan Monnier [Wed, 14 Oct 2020 22:03:52 +0000 (18:03 -0400)]
* lisp/calc: Fix a few issues introduced by lexical scoping
Fix a few places I missed, where we incorrectly used lexical scoping on a var
that needed dynamic scoping.
These were detected thanks to a bit of footwork by Mattias Engdegård!
* lisp/calc/calc-ext.el (math-read-big-lines): Declare as dynbound.
(math-read-big-bigp): Bind it inside a `let`.
* lisp/calc/calc-graph.el (math-arglist): Declare as dynbound.
* lisp/calc/calc-map.el (math-arglist): Declare as dynbound.
* lisp/calc/calc-misc.el (math-trunc-prec): Declare as dynbound.
(math-trunc): Bind it inside a `let`.
(math-floor-prec): Declare as dynbound.
(math-floor): Bind it inside a `let`.
* lisp/calc/calc-nlfit.el (calc-curve-varnames, calc-curve-coefnames):
Declare as dynbound.
* lisp/calc/calc-sel.el (math-comp-sel-tag): Declare as dynbound.
* lisp/calc/calcsel2.el (calc-sel-reselect): Declare as dynbound.
Andreas Schwab [Wed, 14 Oct 2020 19:52:57 +0000 (21:52 +0200)]
Fix layout of custom-face-edit widget
* lisp/cus-edit.el (custom-face-edit): Add :format to group
widget. (Bug#43977)
Juri Linkov [Wed, 14 Oct 2020 08:56:23 +0000 (11:56 +0300)]
Highlight regexp sub-expressions in query-replace
* lisp/replace.el (query-replace-highlight-submatches): New defcustom.
(replace-submatches-overlays): New variable.
(replace-highlight): Use query-replace-highlight-submatches.
(replace-dehighlight): Use query-replace-highlight-submatches.
* doc/emacs/search.texi (Query Replace):
Add documentation for query-replace-highlight-submatches.
Suggested by Drew Adams <drew.adams@oracle.com> in bug#43702.
Juri Linkov [Wed, 14 Oct 2020 08:45:26 +0000 (11:45 +0300)]
* lisp/progmodes/grep.el: More fixes for 'lgrep' (bug#23590)
* lisp/progmodes/grep.el (grep-expand-template): Add new arg 'more-opts'.
(grep-use-directories-skip): New variable.
(lgrep): Set 'grep-use-directories-skip' to the result of 'grep-probe'.
Use "--directories=skip" when 'grep-use-directories-skip' is t.
Ernesto Alfonso [Wed, 14 Oct 2020 05:45:21 +0000 (07:45 +0200)]
Add option to highlight the 'next-error' error message
* lisp/simple.el (next-error-message-highlight):
(next-error-message): New faces (bug#32676).
(next-error--message-highlight-overlay): New internal variable.
(next-error-message-highlight): New function.
(next-error-found): Call the function.