1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-15 10:30:25 -08:00
Commit graph

77133 commits

Author SHA1 Message Date
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
Alan Mackenzie
30305b543d 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.
2020-10-16 16:30:03 +00:00
Lars Ingebrigtsen
c41c1ac410 indent-rigidly doc string clarification
* lisp/indent.el (indent-rigidly): Note that the command
deactivates the mark (bug#42842).
2020-10-16 17:52:56 +02:00
Lars Ingebrigtsen
d5cb3cb9a4 Make erc expand the final abbrev
* lisp/erc/erc.el (erc-send-current-line): Expand abbrevs at the
end of lines (bug#42854).
2020-10-16 17:36:26 +02:00
Stefan Kangas
9056e6392a Remove some Emacs 19 compat code
* lisp/type-break.el (type-break-time-stamp): Remove Emacs 19
compat code.
2020-10-16 15:27:43 +02:00
Stefan Kangas
fd5c08892e 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.
2020-10-16 15:27:25 +02:00
Mattias Engdegård
559c89f49c * lisp/emacs-lisp/backquote.el: Use lexical binding. 2020-10-16 14:03:57 +02:00
Stefan Kangas
5ab146cf60 ; 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
2020-10-16 11:52:33 +02:00
Stefan Kangas
f52a775ae2 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.
2020-10-16 11:18:38 +02:00
Lars Ingebrigtsen
96d7e3dcaf Fix previous gnus-icalendar sanitization
* lisp/gnus/gnus-icalendar.el (gnus-icalendar-event-from-ical):
Fix previous change -- respect nil values passed in.
2020-10-16 10:46:14 +02:00
Lars Ingebrigtsen
95d0b71683 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).
2020-10-16 10:16:31 +02:00
Basil L. Contovounesios
a950a6e6cf 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).
2020-10-16 09:32:48 +02:00
Eli Zaretskii
c37b2a9b42 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>.
2020-10-16 10:17:42 +03:00
Lars Ingebrigtsen
1e89dfc6c8 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.
2020-10-16 09:10:05 +02:00
Lars Ingebrigtsen
8b4dd261cb 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).
2020-10-16 08:46:07 +02:00
Lars Ingebrigtsen
2d7d98e1a6 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).
2020-10-16 08:36:21 +02:00
Lars Ingebrigtsen
9be54e3dba Doc string clarification for keep-lines
* lisp/replace.el (keep-lines): Note that REND isn't optional if
RSTART is given (bug#44021).
2020-10-16 07:36:08 +02:00
Lars Ingebrigtsen
41d220dc60 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>.
2020-10-16 07:21:05 +02:00
Richard M Stallman
7e3a95d8fd 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.
2020-10-15 22:32:41 -04:00
Stefan Monnier
f5c9d3f54e * lisp/emacs-lisp/warnings.el (display-warning): Don't be so negative 2020-10-15 14:34:12 -04:00
Lars Ingebrigtsen
ce09f19c28 Don't display the warning buttons in bytecomp buffers
* lisp/emacs-lisp/warnings.el (display-warning): Don't do the
buttons in bytecomp buffers.
2020-10-15 18:36:26 +02:00
Lars Ingebrigtsen
97b8c0adc1 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).
2020-10-15 17:45:12 +02:00
Lars Ingebrigtsen
c7b952c45c 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).
2020-10-15 17:10:41 +02:00
David Engster
5f53a49d48 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.
2020-10-15 16:47:44 +02:00
Lars Ingebrigtsen
c6ecf6428e 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.
2020-10-15 16:26:45 +02:00
Lars Ingebrigtsen
8fb761af6b Fix undefined function in project-compile
* lisp/progmodes/project.el (project-compile): Require compile.el
before using functions from the file (bug#44009).
2020-10-15 13:20:22 +02:00
Mattias Engdegård
674fee5e9f 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.
2020-10-15 11:46:49 +02:00
Lars Ingebrigtsen
ace25f2066 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).
2020-10-15 09:37:44 +02:00
Lars Ingebrigtsen
730ea4c370 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.
2020-10-15 09:17:45 +02:00
Lars Ingebrigtsen
a38002cecd 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.
2020-10-15 08:39:00 +02:00
Richard M Stallman
e8752cf7a9 Handle retrying of MIME failure messages
* rmail.el (rmail-retry-failure): Handle retrying of MIME failure messages.
2020-10-14 19:11:20 -04:00
Richard M Stallman
e6aab30128 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.
2020-10-14 19:10:02 -04:00
Stefan Monnier
0fac3f5532 * 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.
2020-10-14 18:03:52 -04:00
Andreas Schwab
423439b380 Fix layout of custom-face-edit widget
* lisp/cus-edit.el (custom-face-edit): Add :format to group
widget.  (Bug#43977)
2020-10-14 21:59:38 +02:00
Juri Linkov
4bf9bb56b5 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.
2020-10-14 11:56:23 +03:00
Juri Linkov
b13e0c1501 * 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.
2020-10-14 11:45:26 +03:00
Ernesto Alfonso
1ee5a4cb1a 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.
2020-10-14 07:45:21 +02:00
Alex Branham
64c8511664 Add a new variable tab-first-completion
* doc/emacs/indent.texi (Indent Convenience): Mention it.

* doc/lispref/text.texi (Mode-Specific Indent): Document it.

* lisp/indent.el (tab-first-completion): New variable (bug#34787).
(indent-for-tab-command): Use it.
2020-10-14 07:26:58 +02:00