1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-26 23:31:55 -08:00
Commit graph

77070 commits

Author SHA1 Message Date
Stefan Kangas
0e6f1e4e80 Use lexical-binding in iso-ascii.el
* lisp/international/iso-ascii.el: Use lexical-binding.  Remove
redundant :group args.
2020-10-21 13:20:57 +02:00
Stefan Kangas
0aa881f231 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.
2020-10-21 13:06:38 +02:00
Stefan Monnier
8a91d055b2 * 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.
2020-10-20 19:00:52 -04:00
Basil L. Contovounesios
39271ed108 ; Fix last change to idlw-complete-structtag.el 2020-10-20 20:02:29 +01:00
Stefan Kangas
39bf2160f3 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.
2020-10-20 20:32:19 +02:00
Stefan Kangas
6c58d90042 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.
2020-10-20 19:14:04 +02:00
Stefan Kangas
4a575eb18c 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.
2020-10-20 18:48:27 +02:00
Basil L. Contovounesios
1841b13282 Simplify regexp in last change to woman.el
* lisp/woman.el (woman-decode-region): Use simpler character
alternative instead of alternation.
2020-10-20 17:36:21 +01:00
Basil L. Contovounesios
ec4f2723c1 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.
2020-10-20 17:31:09 +01:00
Mattias Engdegård
5f9fb508e6 * lisp/textmodes/picture.el: Use lexical binding. 2020-10-20 17:28:39 +02:00
Stefan Kangas
01e0357ba7 * lisp/language/utf-8-lang.el: Use lexical-binding. 2020-10-20 15:43:31 +02:00
Lars Ingebrigtsen
4ef8c4a0f4 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).
2020-10-20 13:28:29 +02:00
Masahiro Nakamura
e3fa592899 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.
2020-10-20 13:20:48 +02:00
Jim Blandy
2e2a8e5491 Man highlighting: Don't occasionally bold entire sections.
* lisp/ansi-color.el (ansi-color-apply-on-region): Always save a
restart position in ansi-color-context-region if the region ends with
highlighting active.
2020-10-20 13:09:16 +02:00
Lars Ingebrigtsen
117d58ace7 Preserve all `eval' elements from both .dir-locals files
* lisp/files.el (dir-locals-read-from-dir): Preserve all `eval'
elements from both .dir-locals files (bug#44066).
2020-10-20 13:07:25 +02:00
Stefan Kangas
e7b8c93f94 * lisp/image-file.el: Use lexical-binding. 2020-10-20 03:25:37 +02:00
Stefan Kangas
8c96c720fa Add command package-menu-filter-upgradable
* lisp/emacs-lisp/package.el (package-menu-filter-upgradable):
New command.  (Bug#41436)
(package-menu-mode-map): Bind the new command.
* doc/emacs/package.texi (Package Menu): Document the new command.
2020-10-19 20:30:52 +02:00
Stefan Monnier
f831fa1744 * lisp/progmodes/python.el: Bump version to release the f-string support 2020-10-19 13:39:42 -04:00
Stefan Monnier
ed9520b38e * lisp/mail/rfc2231.el (rfc2231-decode-encoded-string): Fix match data error
Get (match-string 3 string) earlier, in case `mm-charset-to-coding-system`
clobbers the match data.
Also, check that `string-match` succeeded before using its match data.
2020-10-19 13:03:41 -04:00
Michael Albinus
74519db6df Further clarification of directory-files* doc
* doc/lispref/files.texi (Contents of Directories):
Precise description of MATCH-REGEXP of directory-files.  Add
directory-files-no-dot-files-regexp.

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

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

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

* lisp/progmodes/compile.el (compilation--message): Add 'rule' slot.
(compilation-directory-properties, compilation-error-properties)
(compilation-internal-error-properties, compilation-parse-errors)
(compilation--compat-parse-errors): Set the rule slot.
* test/lisp/progmodes/compile-tests.el (compile-tests--test-regexps-data)
(compile-tests--grep-regexp-testcases)
(compile-tests--grep-regexp-tricky-testcases): Add rules to test cases.
(compile--test-error-line): Check that the rule matches what we expect.
(compile-test-grep-regexps): Adapt to test case format.
Remove now superfluous ert-info.
2020-10-19 13:00:14 +02:00
Mattias Engdegård
b16cd3f1e5 Hoist some loop-invariant variable bindings in compile.el
* lisp/progmodes/compile.el (compilation-parse-errors):
Hoist the binding of case-fold-search and a memq call out of
the loop, eliminating a minor but unnecessary quadratic term.
2020-10-19 12:53:38 +02:00
Stefan Kangas
bacebc89af * lisp/info.el: Remove redundant :group args. 2020-10-19 12:23:31 +02:00
Stefan Kangas
a83e4a929b Improve Info-streamline-headings defaults
* lisp/info.el (Info-streamline-headings): Improve defaults.  These
produce somewhat more consistent results on my system, and seems
slightly more in line with current GNU practices.  For example, gcc
uses the "Software development" heading instead of "Programming".
2020-10-19 12:23:25 +02:00
dickmao
8cdbd84ebe `ffap-gopher-at-point' interminable without newlines
* lisp/ffap.el (ffap-gopher-at-point): Stop when we get to the end
of the buffer.
* test/lisp/ffap-tests.el (ffap-test-no-newlines): Ensure
termination for corner case (bug#44048).
2020-10-19 11:56:49 +02:00
Harald Jörg
fb26dc130d cperl-mode: Delete a misleading comment, add tests for verification
* lisp/progmodes/cperl-mode.el: Delete a comment which explains a
bug which has been fixed a long time ago (bug#44073).
* test/lisp/progmodes/cperl-mode-tests.el
(cperl-mode-fontify-punct-vars): Add regression tests to verify
that fontification of punctuation variables doesn't start strings.
2020-10-19 10:57:57 +02:00
Yuan Fu
422fdabe7b Handle "Before first headings" error in outline-cycle
* lisp/outline.el (outline-before-first-heading): New error.
(outline-back-to-heading): Signal the new error.
(outline-cycle): Ignore the error.
(outline-cycle-buffer): Simply pass 1 to 'outline-hide-sublevels'
(bug#41130).
2020-10-19 10:45:14 +02:00
Michael Albinus
f98e57b54b * lisp/files.el (directory-files-no-dot-files-regexp): Adapt docstring. 2020-10-19 09:41:11 +02:00
Juri Linkov
34eb99d7ba Add new choice 'keep' to next-error-message-highlight (bug#32676)
* lisp/simple.el (next-error-message-highlight): Add new choice 'keep'.
(next-error-message-highlight): Don't delete overlay when option is 'keep'.
2020-10-18 23:37:57 +03:00
Stefan Kangas
58a9cec525 Add "Old-" prefix to "Version" header in more cases
These version numbers are historical accidents and not relevant today.
Ref: https://lists.gnu.org/r/emacs-devel/2020-03/msg00080.html
2020-10-18 20:35:26 +02:00
Lars Ingebrigtsen
d96734729d Fix up smiley emoji application to make it reversible
* lisp/gnus/smiley.el (smiley-region): Use text properties for the
emojis instead of rewriting the message.
2020-10-18 09:42:25 +02:00
Adam Sjøgren
9907912624 Add support for emojis i smiley.el
* lisp/gnus/smiley.el (smiley-style): Add emoji
tag.
(smiley-emoji-regexp-alist): New defcustom.
(smiley-update-cache, smiley-region): Support emoji (non-image)
replacement (bug#43889).
2020-10-18 09:36:43 +02:00
Stefan Kangas
a67fed2e0c Make nxml-newline-and-indent argument optional
* lisp/nxml/nxml-mode.el (nxml-newline-and-indent): Make argument
optional to conform to 'comment-line-break-function'.  (Bug#40193)
2020-10-18 03:17:58 +02:00
Stefan Kangas
f287fb45f5 * lisp/progmodes/ld-script.el: Use lexical-binding. 2020-10-18 02:27:29 +02:00
Stefan Kangas
073e72e484 * lisp/progmodes/mixal-mode.el: Fix typos. 2020-10-18 00:57:29 +02:00
Jose A Ortega Ruiz
3b5a43f3d7 Set jao@gnu.org as maintainer of mixal-mode.el
* lisp/progmodes/mixal-mode.el: Set jao@gnu.org as maintainer of
mixal-mode.el.  (Bug#44037)
2020-10-18 00:49:51 +02:00
Stefan Kangas
20728195b6 Use lexical-binding in mixal-mode.el
* lisp/progmodes/mixal-mode.el: Use lexical-binding.  (Bug#44037)
2020-10-18 00:49:51 +02:00
Juri Linkov
06933245c6 Extend next-error-message face to the edge of the window (bug#32676)
* lisp/simple.el (next-error-message): Add ':extend t' to this face.
(next-error-message-highlight): Put overlay over the newline as well.
2020-10-17 23:23:10 +03:00
Glenn Morris
3ac3a6503e 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
2020-10-17 09:48:54 -07:00
Jose A. Ortega Ruiz
9513aa8f48 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
2020-10-17 17:59:21 +02:00
Stefan Kangas
61e51fee9c 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'.
2020-10-17 17:56:44 +02:00
Mattias Engdegård
3217ae6e05 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.
2020-10-17 16:57:38 +02:00
Stefan Kangas
8b6b4176f6 * lisp/url/url-vars.el: Use lexical-binding. 2020-10-17 15:55:42 +02:00
Pierre Neidhardt
9eb61be2da 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).
2020-10-17 13:16:24 +02:00
Lars Ingebrigtsen
bee50664ae Make woman ignore the new groff kerning operators
* lisp/woman.el (woman-decode-region): Ignore the new groff
kerning operators (bug#42219).
2020-10-17 12:17:10 +02:00
Lars Ingebrigtsen
ea47bcc431 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).
2020-10-17 11:24:03 +02:00
Lars Ingebrigtsen
0a3d584ce4 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).
2020-10-17 10:29:15 +02:00
Lars Ingebrigtsen
6d0b2a60f6 Fix narrow-to-defun in f90-mode
* lisp/progmodes/f90.el (f90-beginning-of-subprogram): Make
narrow-to-defun work better (bug#44042).
2020-10-17 09:43:02 +02:00
Eli Zaretskii
65078e0a76 * lisp/info.el (Info-hide-note-references): Doc fix. (Bug#44043) 2020-10-17 10:32:26 +03:00
Stefan Monnier
3b3274a85c * 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.
2020-10-16 14:03:59 -04:00