]> git.eshelyaron.com Git - emacs.git/log
emacs.git
4 years agoPrefer Lisp version of describer in help--describe-vector
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.

4 years agoRemove C version of substitute-command-keys
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.

4 years agoPrefer Lisp version of describe-map-tree
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.

4 years agoImprove substitute-command-keys performance
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.

4 years agoTranslate describe_vector to Lisp
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.

4 years agoTranslate describe_map to Lisp
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.

4 years agoTranslate describe_map_tree to Lisp
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.

4 years agoAdd new Lisp implementation of substitute-command-keys
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.

4 years ago; * etc/NEWS: Call out the new variable 'shr-offer-extend-specpdl'.
Eli Zaretskii [Sun, 18 Oct 2020 14:40:45 +0000 (17:40 +0300)]
; * etc/NEWS: Call out the new variable 'shr-offer-extend-specpdl'.

4 years agoStrengthen js-mode indentation tests
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.

4 years agoFix a misleading comment in Freplace_match
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).

4 years agoDocument the new smiley value
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.

4 years agoFix up smiley emoji application to make it reversible
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.

4 years agoAdd support for emojis i smiley.el
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).

4 years agoMake nxml-newline-and-indent argument optional
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)

4 years agoMinor improvements to emacsclient man page
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.

4 years agoConvert manual js indent tests to unit tests
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.

4 years ago* lisp/progmodes/ld-script.el: Use lexical-binding.
Stefan Kangas [Sun, 18 Oct 2020 00:09:27 +0000 (02:09 +0200)]
* lisp/progmodes/ld-script.el: Use lexical-binding.

4 years ago* lisp/progmodes/mixal-mode.el: Fix typos.
Stefan Kangas [Sat, 17 Oct 2020 22:57:29 +0000 (00:57 +0200)]
* lisp/progmodes/mixal-mode.el: Fix typos.

4 years agoSet jao@gnu.org as maintainer of mixal-mode.el
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)

4 years agoUse lexical-binding in mixal-mode.el
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)

4 years agoExtend next-error-message face to the edge of the window (bug#32676)
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.

4 years agoFix bad dimensions of initial frame on VcXsrv
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

4 years agoMerge from origin/emacs-27
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...

4 years ago; Merge from origin/emacs-27
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...

4 years agoMerge from origin/emacs-27
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

4 years ago; Merge from origin/emacs-27
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...

4 years ago* etc/NEWS: Mention new lexical binding conversion aid.
Mattias Engdegård [Sat, 17 Oct 2020 16:33:04 +0000 (18:33 +0200)]
* etc/NEWS: Mention new lexical binding conversion aid.

4 years agoUpdate Modus themes' NEWS entry
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.

4 years agomixal-mode: add missed instructions
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

4 years agoBase bookmark-bmenu-mode on tabulated-list-mode (Bug#39293)
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'.

4 years ago; * etc/NEWS: Move 'narrow-to-prompt' entry to "Shell" section.
Eli Zaretskii [Sat, 17 Oct 2020 15:26:52 +0000 (18:26 +0300)]
; * etc/NEWS: Move 'narrow-to-prompt' entry to "Shell" section.

4 years agoAdd aid for finding missing dynamic variable declarations
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.

4 years ago* test/lisp/mail/rfc822-tests.el: New file.
Stefan Kangas [Sat, 17 Oct 2020 13:37:37 +0000 (15:37 +0200)]
* test/lisp/mail/rfc822-tests.el: New file.

4 years ago* lisp/url/url-vars.el: Use lexical-binding.
Stefan Kangas [Sat, 17 Oct 2020 00:57:30 +0000 (02:57 +0200)]
* lisp/url/url-vars.el: Use lexical-binding.

4 years agoImprove documentation of 'Info-hide-note-references' in info.texi
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)

4 years agoNew shell-mode command to narrow to the command under point
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).

4 years agoMake woman ignore the new groff kerning operators
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).

4 years agoFix `browse-url-of-dired'
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).

4 years agoAvoid infloop in which-function-mode when a vc file has changed
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).

4 years ago* admin/release-process: Add note to update files from upstream.
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)

4 years agoFix narrow-to-defun in f90-mode
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).

4 years ago* lisp/info.el (Info-hide-note-references): Doc fix. (Bug#44043)
Eli Zaretskii [Sat, 17 Oct 2020 07:32:26 +0000 (10:32 +0300)]
* lisp/info.el (Info-hide-note-references): Doc fix.  (Bug#44043)

4 years ago* admin/release-process: Add note to update files from upstream.
Stefan Kangas [Sat, 17 Oct 2020 00:06:26 +0000 (02:06 +0200)]
* admin/release-process: Add note to update files from upstream.

4 years ago* doc/lispref/variables.texi (Converting to Lexical Binding): New section
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.

4 years ago* lisp/progmodes/python.el: Teach f-strings to `font-lock`
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.

4 years agoMake lisp/progmodes/js.el dependent on CC Mode in the Makefile.
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.

4 years agoindent-rigidly doc string clarification
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).

4 years ago; * doc/emacs/ack.texi (Acknowledgments): Tweak the purpose description.
Eli Zaretskii [Fri, 16 Oct 2020 15:42:22 +0000 (18:42 +0300)]
; * doc/emacs/ack.texi (Acknowledgments): Tweak the purpose description.

4 years agoMake erc expand the final abbrev
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).

4 years agoMake last change in tramp-archive-tests.el backward compatible
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.

4 years ago; A few more spelling fixes in Modus Theme docs.
Eli Zaretskii [Fri, 16 Oct 2020 14:32:04 +0000 (17:32 +0300)]
; A few more spelling fixes in Modus Theme docs.

4 years agoFix documentation of Modus Themes
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.

4 years agoRevert "* doc/emacs/ack.texi (Acknowledgments): Remove now deleted files."
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.

4 years agoFix file-name problems in several tests
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.

4 years agoRemove some Emacs 19 compat code
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.

4 years agoRemove some references to Emacs 18 and 19
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.

4 years ago* doc/emacs/ack.texi (Acknowledgments): Remove now deleted files.
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.

4 years agoFix building modus-themes Info manual
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.

4 years agoUpdate modus-operandi, modus-vivendi to 0.13.0
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)

4 years ago* lisp/emacs-lisp/backquote.el: Use lexical binding.
Mattias Engdegård [Thu, 15 Oct 2020 16:44:39 +0000 (18:44 +0200)]
* lisp/emacs-lisp/backquote.el: Use lexical binding.

4 years ago; Revert some spelling fixes
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

4 years agoUse new resource directory macros in tests (Bug#43792)
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.

4 years agoAdd ert macros to get resource file names (Bug#43792)
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.

4 years agoFix previous gnus-icalendar sanitization
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.

4 years agoAdjust some tests so that they work in symlinked environs
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).

4 years agoSanitize ical data in gnus-icalendar-event-from-ical
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).

4 years agoSubstitute command keys in button help-echo values
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).

4 years agoYet another fix for 'set-minibuffer-message'
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>.

4 years agoMake package-install-from-buffer maybe refresh the quickstart file
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.

4 years agoFix posn-at-x-y in builds --without-x
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.

4 years agodiff-update-on-the-fly doc string clarification
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).

4 years agoRestore vc-revision-other-window buffer-changing behaviour
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).

4 years agoDoc string clarification for keep-lines
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).

4 years agoAdd a new variable to control Gnus Agent caching
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>.

4 years agoAdd way to prevent asking "increase specpdl size?"
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.

4 years ago* lisp/emacs-lisp/warnings.el (display-warning): Don't be so negative
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

4 years agoDon't display the warning buttons in bytecomp buffers
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.

4 years agoMake hi-lock-face-buffer more resilient
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).

4 years agoAdd some references to the microdocs in the comments in cperl-mode
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).

4 years agoSearch harder for file name matches in *compilation* buffers
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.

4 years agoMake `C-x C-e' work more like `C-M-x' on defvar etc
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.

4 years ago* doc/misc/efaq.texi: Remove reference to FTP.
Stefan Kangas [Thu, 15 Oct 2020 13:03:42 +0000 (15:03 +0200)]
* doc/misc/efaq.texi: Remove reference to FTP.

4 years agoRemove some references to "in Emacs 21 or later"
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.

4 years agoMove emacsclient.1 file history further down
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.

4 years agoFix undefined function in project-compile
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).

4 years agoRemove dynamic declaration of 'save-match-data-internal'
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.

4 years agoFix segfault in xwidget when there is no title
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).

4 years agoClarify the seq-reduce documentation
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).

4 years agoFix problem with next-error-message-highlight in *Occur*
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.

4 years agoFix NEWS item for C-h R
Lars Ingebrigtsen [Thu, 15 Oct 2020 06:55:27 +0000 (08:55 +0200)]
Fix NEWS item for C-h R

4 years agoMake Gnus more liberal when interpreting Face headers again
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.

4 years agoClarify wording
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.

4 years agoHandle retrying of MIME failure messages
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.

4 years agoHandle encrypting mime parts
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.

4 years ago* lisp/calc: Fix a few issues introduced by lexical scoping
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.

4 years agoFix layout of custom-face-edit widget
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)

4 years agoHighlight regexp sub-expressions in query-replace
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.

4 years ago* lisp/progmodes/grep.el: More fixes for 'lgrep' (bug#23590)
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.

4 years agoAdd option to highlight the 'next-error' error message
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.