Lars Ingebrigtsen [Wed, 21 Oct 2020 12:10:58 +0000 (14:10 +0200)]
Revert "Add emoji to etc/HELLO"
This reverts commit
a1fcdeec25be87e8f97ac5c14e6fbf6a4d1eb2d4.
There was already an emoji in there.
Stefan Kangas [Wed, 21 Oct 2020 11:26:57 +0000 (13:26 +0200)]
* test/lisp/vc/vc-bzr-tests.el: Use lexical-binding.
Stefan Kangas [Wed, 21 Oct 2020 11:25:39 +0000 (13:25 +0200)]
Use lexical-binding in files-x-tests.el
* test/lisp/files-x-tests.el: Use lexical-binding.
(remote-null-device): Declare.
Stefan Kangas [Wed, 21 Oct 2020 11:19:02 +0000 (13:19 +0200)]
Use lexical-binding in iso-ascii.el
* lisp/international/iso-ascii.el: Use lexical-binding. Remove
redundant :group args.
Stefan Kangas [Wed, 21 Oct 2020 11:05:32 +0000 (13:05 +0200)]
Use lexical-binding in hfy-cmap.el and add tests
* lisp/hfy-cmap.el: Use lexical-binding.
(hfy-cmap--parse-buffer): Extract from...
(htmlfontify-load-rgb-file): ...here.
* test/lisp/hfy-cmap-resources/rgb.txt:
* test/lisp/hfy-cmap-tests.el: New files.
Lars Ingebrigtsen [Wed, 21 Oct 2020 10:31:12 +0000 (12:31 +0200)]
Add emoji to etc/HELLO
Michael Albinus [Wed, 21 Oct 2020 10:24:46 +0000 (12:24 +0200)]
* etc/HELLO: Keep Javanese System.out.println("");
Stefan Monnier [Tue, 20 Oct 2020 23:00:52 +0000 (19:00 -0400)]
* lisp/outline.el: Use lexical-binding
Remove redundant `group` arguments.
(outline-level): Move before first use.
(outline-mode): Use `setq-local`.
(outline-isearch-open-invisible-function): Give it a non-nil default.
Basil L. Contovounesios [Tue, 20 Oct 2020 19:02:29 +0000 (20:02 +0100)]
; Fix last change to idlw-complete-structtag.el
Stefan Kangas [Tue, 20 Oct 2020 18:14:24 +0000 (20:14 +0200)]
Use lexical-binding in m4-mode.el
* lisp/progmodes/m4-mode.el: Use lexical-binding. Remove redundant
:group args.
* lisp/progmodes/m4-mode.el (m4-m4-buffer, m4-m4-region): Quote
function symbols as such.
Stefan Kangas [Tue, 20 Oct 2020 17:10:51 +0000 (19:10 +0200)]
Make more load-hooks obsolete (Bug#21563)
* lisp/progmodes/dcl-mode.el (dcl-mode):
* lisp/progmodes/idlw-complete-structtag.el: Recommend
with-eval-after-load instead of load-hooks.
* lisp/calc/calc-ext.el (calc-ext-load-hook):
* lisp/emacs-lisp/bytecomp.el (bytecomp-load-hook):
* lisp/emacs-lisp/cl-extra.el (cl-extra-load-hook):
* lisp/emacs-lisp/cl-macs.el (cl-macs-load-hook):
* lisp/emacs-lisp/cl-seq.el (cl-seq-load-hook):
* lisp/gnus/message.el (message-load-hook):
* lisp/gnus/nnheader.el (nnheader-load-hook):
* lisp/gnus/nnmail.el (nnmail-load-hook):
* lisp/progmodes/dcl-mode.el (dcl-mode-load-hook):
* lisp/textmodes/tex-mode.el (tex-mode-load-hook):
* lisp/whitespace.el (whitespace-load-hook): Obsolete for
with-eval-after-load. Note that these variables are never declared,
but the byte-compiler will still warn about them if used.
Stefan Kangas [Mon, 21 Sep 2020 22:16:22 +0000 (00:16 +0200)]
byte-compile-file: Make optional LOAD argument obsolete
* lisp/emacs-lisp/bytecomp.el (byte-compile-file): Declare optional
LOAD argument obsolete. Adjust callers. (Bug#38072)
(byte-recompile-file): Declare optional LOAD argument obsolete.
* doc/lispref/compile.texi (Compilation Functions): Update
documentation to reflect above obsoletion.
* etc/NEWS: Announce above obsoletion.
Basil L. Contovounesios [Tue, 20 Oct 2020 16:35:29 +0000 (17:35 +0100)]
Simplify regexp in last change to woman.el
* lisp/woman.el (woman-decode-region): Use simpler character
alternative instead of alternation.
Basil L. Contovounesios [Tue, 20 Oct 2020 16:28:26 +0000 (17:28 +0100)]
Simplify syntax of shortdoc face specs
* lisp/emacs-lisp/shortdoc.el: Remove unused dependency.
(shortdoc-section, shortdoc-example): Use newer (DISPLAY . PLIST)
face spec syntax.
Stefan Kangas [Tue, 20 Oct 2020 16:26:38 +0000 (18:26 +0200)]
Tweak test data for signed package installation
* test/lisp/emacs-lisp/package-resources/signed/signed-bad-1.0.el:
* test/lisp/emacs-lisp/package-resources/signed/signed-good-1.0.el:
Use lexical-binding.
* test/lisp/emacs-lisp/package-resources/signed/update-signatures.sh:
New file.
* test/lisp/emacs-lisp/package-resources/key.pub:
* test/lisp/emacs-lisp/package-resources/key.sec: Add new key.
* test/lisp/emacs-lisp/package-resources/signed/signed-good-1.0.el.sig:
* test/lisp/emacs-lisp/package-resources/signed/archive-contents.sig:
Update signatures using new key.
Mattias Engdegård [Tue, 20 Oct 2020 15:27:31 +0000 (17:27 +0200)]
* lisp/textmodes/picture.el: Use lexical binding.
Eli Zaretskii [Tue, 20 Oct 2020 15:27:47 +0000 (18:27 +0300)]
Avoid assertion violations in malformed Unicode escapes
* src/lread.c (read_escape): Produce better diagnostic for
malformed \u Unicode escapes, while avoiding assertion violation
when READCHAR returns -1 because the input is exhausted.
(Bug#44084)
Stefan Kangas [Tue, 20 Oct 2020 13:41:04 +0000 (15:41 +0200)]
* lisp/language/utf-8-lang.el: Use lexical-binding.
Bastien Guerry [Tue, 20 Oct 2020 13:01:02 +0000 (15:01 +0200)]
; * etc/tutorials/TUTORIAL.fr: Fix typo.
Lars Ingebrigtsen [Tue, 20 Oct 2020 11:28:29 +0000 (13:28 +0200)]
Tweak the documentation for define-obsolete-variable-alias
* doc/lispref/variables.texi (Variable Aliases): Actually describe
the macro parameters (bug#44088).
* lisp/emacs-lisp/byte-run.el (define-obsolete-variable-alias):
Ditto (bug#44088).
Masahiro Nakamura [Tue, 20 Oct 2020 11:20:48 +0000 (13:20 +0200)]
Fix some mpc.el updating quirks
* lisp/mpc.el (mpc-songs-jump-to): Update the status buffer.
* lisp/mpc.el (mpc-stop): M-x mpc-stop clears playlist queue. So
updating *MPC-Songs* buffer is useful.
* lisp/mpc.el (mpc-cmd-delete): I noticed M-x mpc-playlist-delete
always messages “Deleted 1 songs” even if playlist queue has more
than one songs. This is because mpc-cmd-delete’s sort modifies
songs-poss by side effect. Using copy-sequence fixes this (bug#44093).
* lisp/mpc.el (mpc-cmd-move): Ditto.
Jim Blandy [Tue, 20 Oct 2020 11:09:16 +0000 (13:09 +0200)]
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.
Lars Ingebrigtsen [Tue, 20 Oct 2020 11:07:25 +0000 (13:07 +0200)]
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).
Stefan Kangas [Tue, 20 Oct 2020 01:21:16 +0000 (03:21 +0200)]
* lisp/image-file.el: Use lexical-binding.
Stefan Kangas [Tue, 20 Oct 2020 01:14:36 +0000 (03:14 +0200)]
Make a bookmark test more robust
* test/lisp/bookmark-tests.el (bookmark-tests-insert-annotation):
Make test more robust by not being timing dependent.
Basil L. Contovounesios [Mon, 19 Oct 2020 20:12:04 +0000 (21:12 +0100)]
; Fix last change in modus-themes.texi
* doc/misc/modus-themes.texi (How do the themes look like): Update
xref with new spelling.
Stefan Kangas [Mon, 19 Oct 2020 18:30:52 +0000 (20:30 +0200)]
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.
Stefan Monnier [Mon, 19 Oct 2020 17:39:42 +0000 (13:39 -0400)]
* lisp/progmodes/python.el: Bump version to release the f-string support
Stefan Monnier [Mon, 19 Oct 2020 17:03:41 +0000 (13:03 -0400)]
* 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.
Protesilaos Stavrou [Mon, 19 Oct 2020 12:48:10 +0000 (15:48 +0300)]
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.
Stefan Kangas [Sat, 12 Sep 2020 17:49:20 +0000 (19:49 +0200)]
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
Michael Albinus [Mon, 19 Oct 2020 11:31:33 +0000 (13:31 +0200)]
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.
Mattias Engdegård [Mon, 19 Oct 2020 10:14:37 +0000 (12:14 +0200)]
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.
Mattias Engdegård [Mon, 19 Oct 2020 10:39:51 +0000 (12:39 +0200)]
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.
Stefan Kangas [Mon, 19 Oct 2020 10:18:40 +0000 (12:18 +0200)]
* lisp/info.el: Remove redundant :group args.
Stefan Kangas [Mon, 19 Oct 2020 10:12:15 +0000 (12:12 +0200)]
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".
dickmao [Mon, 19 Oct 2020 09:56:36 +0000 (11:56 +0200)]
`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).
Robert Pluim [Mon, 19 Oct 2020 09:34:38 +0000 (11:34 +0200)]
Explain difference between Unicode and Emacs scripts
* nonascii.texi (Character Properties): Document that Emacs'
scripts and Unicode's scripts do not necessarily correspond.
Harald Jörg [Mon, 19 Oct 2020 08:57:57 +0000 (10:57 +0200)]
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.
Yuan Fu [Mon, 19 Oct 2020 08:45:14 +0000 (10:45 +0200)]
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).
Lars Ingebrigtsen [Mon, 19 Oct 2020 08:24:57 +0000 (10:24 +0200)]
Ffunction doc string clarification
* src/eval.c (Ffunction): Mention that `function' isn't quite like
`quote' in non-bytecompile circumstances, too (bug#41864).
Michael Albinus [Mon, 19 Oct 2020 07:48:51 +0000 (09:48 +0200)]
* src/dired.c (Fdirectory_files, Fdirectory_files_and_attributes):
Adapt docstring.
Michael Albinus [Mon, 19 Oct 2020 07:41:11 +0000 (09:41 +0200)]
* lisp/files.el (directory-files-no-dot-files-regexp): Adapt docstring.
Michael Albinus [Mon, 19 Oct 2020 07:41:01 +0000 (09:41 +0200)]
; * admin/MAINTAINERS: Add entry for Michael Albinus.
Stefan Kangas [Mon, 19 Oct 2020 02:03:34 +0000 (04:03 +0200)]
; * etc/NEWS: Some copy edits.
Juri Linkov [Sun, 18 Oct 2020 20:37:57 +0000 (23:37 +0300)]
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'.
Juri Linkov [Sun, 18 Oct 2020 20:30:15 +0000 (23:30 +0300)]
* etc/HELLO: Add Belarusian and use Javanese script for Javanese (bug#43887)
Stefan Kangas [Tue, 8 Sep 2020 14:12:43 +0000 (16:12 +0200)]
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
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)