Alex Bochannek [Tue, 8 Jun 2021 11:34:24 +0000 (13:34 +0200)]
Change the Gnus default to use `#' to toggle the process mark
* doc/misc/gnus.texi (Marking Groups, Topic Commands):
(Setting Process Marks, Pick and Read): Document the new default.
* lisp/gnus/gnus-group.el (gnus-group-make-menu-bar): Update menu.
* lisp/gnus/gnus-sum.el (gnus-summary-make-menu-bar): Update menu.
* lisp/gnus/gnus-topic.el (gnus-topic-make-menu-bar): Update menu.
* lisp/gnus/gnus.el (gnus-process-mark-toggle): Change default.
Stephen Gildea [Tue, 8 Jun 2021 04:47:24 +0000 (21:47 -0700)]
MH-E: do not look for MH variants in relative directories
* lisp/mh-e/mh-e.el (mh-variants): Do not examine relative directories
in exec-path (e.g., "."); these won't have MH installed. Also,
file-chase-links is not robust with relative names: you cannot pass it
a relative name that is a symlink.
Stefan Kangas [Mon, 7 Jun 2021 23:58:18 +0000 (01:58 +0200)]
Fix an example in ERC docs
* doc/misc/erc.texi (Connecting):
* lisp/erc/erc.el (erc, erc-tls): Fix example to use J. Random Hacker
instead of Harry S. Truman.
Stefan Kangas [Tue, 18 May 2021 17:03:36 +0000 (19:03 +0200)]
* doc/man/emacs.1.in: Minor fixes.
Alan Third [Mon, 7 Jun 2021 22:13:33 +0000 (23:13 +0100)]
Revert "src/nsterm.m: fix window tabbing on macOS"
This reverts commit
2207f9adccc0411b7ad73a3703f16250d7f8e139.
Michael Albinus [Mon, 7 Jun 2021 18:41:30 +0000 (20:41 +0200)]
Improve support of remote files in browse-url.el
* etc/NEWS: Mention support of remote file browsing.
* lisp/net/browse-url.el (browse-url-of-buffer): Revert last change.
(browse-url-of-file): Use temporary file in case of remote file.
(Bug#48397)
Michael Albinus [Mon, 7 Jun 2021 18:36:57 +0000 (20:36 +0200)]
; Fix typos in etc/NEWS
Eli Zaretskii [Mon, 7 Jun 2021 12:03:56 +0000 (15:03 +0300)]
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
Dmitry Gutov [Mon, 7 Jun 2021 12:03:11 +0000 (15:03 +0300)]
Fix rgrep abbreviation
* lisp/progmodes/grep.el (grep-mode-font-lock-keywords):
Update for the last change in grep-find-template (bug#48471).
Eli Zaretskii [Mon, 7 Jun 2021 12:03:06 +0000 (15:03 +0300)]
* src/xdisp.c (Fwindow_text_pixel_size): Plug memory leak. (Bug#48884)
Michael Albinus [Mon, 7 Jun 2021 11:45:38 +0000 (13:45 +0200)]
Support remote file names in `browse-url-of-buffer'
* lisp/net/browse-url.el (browse-url-of-buffer): Use temporary
file in case of remote `file-name'. (Bug#48397)
Dmitry Gutov [Mon, 7 Jun 2021 02:00:41 +0000 (05:00 +0300)]
; Mention the previous change in NEWS
Dmitry Gutov [Mon, 7 Jun 2021 01:52:30 +0000 (04:52 +0300)]
Support old BSD find and "root dir symlink" better
* lisp/progmodes/grep.el (grep-compute-defaults):
Add '-H' to grep-find-template (bug#48471).
* lisp/cedet/semantic/symref/grep.el (semantic-symref-perform-search):
Pass the root directory name without the trailing slash.
* lisp/progmodes/xref.el (xref-matches-in-directory): Ditto.
* test/lisp/progmodes/xref-tests.el (xref--xref-file-name-display-is-abs)
(xref--xref-file-name-display-is-relative-to-project-root):
Make tests more strict again.
Dmitry Gutov [Sun, 6 Jun 2021 21:57:42 +0000 (00:57 +0300)]
completion-pcm--hilit-commonality: Reuse the match-data cons cells
* lisp/minibuffer.el (completion-pcm--hilit-commonality): Reuse
the match-data cons cells for better performance (bug#48841).
Eli Zaretskii [Sun, 6 Jun 2021 12:29:18 +0000 (15:29 +0300)]
Fix a problem with restarting 'tags-search'
* lisp/progmodes/etags.el (tags-search, tags-query-replace): Link
to 'fileloop-continue' instead of 'tags-loop-continue', for
continuing TAGS-based search/replace commands.
* lisp/fileloop.el (fileloop-continue): Reset
'switch-to-buffer-preserve-window-point' to nil when switching to
another buffer, so as to make sure a new search always restarts
from point-min in each buffer it searches. (Bug#48628)
Lars Ingebrigtsen [Sun, 6 Jun 2021 11:21:25 +0000 (13:21 +0200)]
Clarify boolean widget prompt
* lisp/wid-edit.el (widget-boolean-prompt-value): Clarify prompt
(bug#43593).
Lars Ingebrigtsen [Sun, 6 Jun 2021 11:04:12 +0000 (13:04 +0200)]
Clarify file reversion prompt
* lisp/files.el (revert-buffer--default): Clarify prompt when the
buffer is modified (bug#43884).
Lars Ingebrigtsen [Sun, 6 Jun 2021 10:33:13 +0000 (12:33 +0200)]
Make `so-long' restore `view-mode'
* lisp/so-long.el (so-long): Make the `v' command in Dired work
more reliably (bug#45084).
Sebastian Urban [Sat, 29 May 2021 16:50:10 +0000 (18:50 +0200)]
Minor copyedits in the Emacs user manual
* doc/emacs/fixit.texi (Spelling): Move TeX hyphenation directives
from here...
* doc/emacs/docstyle.texi: ...to here.
* doc/emacs/display.texi (Displaying Boundaries, Text Display):
Minor stylistic changes. (Bug#48654)
Copyright-paperwork-exempt: yes
Eli Zaretskii [Sun, 6 Jun 2021 09:44:49 +0000 (12:44 +0300)]
Minor fixes for last change
* test/manual/etags/ETAGS.good_1:
* test/manual/etags/ETAGS.good_2:
* test/manual/etags/ETAGS.good_3:
* test/manual/etags/ETAGS.good_4:
* test/manual/etags/ETAGS.good_5:
* test/manual/etags/ETAGS.good_6: Adapt to added Mercury support.
* lib-src/etags.c (find_entries, test_objc_is_mercury):
* etc/NEWS: Fix punctuation and typos in last change.
Fabrice Nicol [Tue, 1 Jun 2021 02:15:59 +0000 (04:15 +0200)]
Add support for Mercury (https://mercurylang.org) in 'etags'
Tag declarations starting lines with ':-'.
By default, all declarations are tagged. Optionally, first
predicate or functions in clauses can be tagged as in Prolog
support using '--declarations'. (Bug#47408).
* lib-src/etags.c (test_objc_is_mercury, Mercury_functions)
(mercury_skip_comment, mercury_decl, mercury_pr):
Implement Mercury support. As Mercury and Objective-C have
the same file extension .m, a heuristic test tries to detect
the language.
* doc/man/etags.1: Document the change. Add Mercury-specific
behavior for '--declarations'. This option tags first
predicates or functions in clauses in addition to declarations.
Paul W. Rankin [Sat, 8 May 2021 09:09:59 +0000 (19:09 +1000)]
src/nsterm.m: fix window tabbing on macOS
* src/nsterm.m: remove NSWindowTabbingModeDisallowed to respect
system-wide preferences
* etc/NEWS: add mention of native tab support in macOS and where
to specify system-wide setting
Michael Albinus [Sun, 6 Jun 2021 06:38:40 +0000 (08:38 +0200)]
* lisp/net/tramp.el (tramp-error): Make it a defun.
João Távora [Sat, 5 Jun 2021 20:46:59 +0000 (21:46 +0100)]
Consider environment vars in Fido's directory-aware RET binding
Fixes: bug#48782
* lisp/icomplete.el (icomplete-fido-ret): Consider environment
variables in dir expansion.
Alex Bochannek [Sat, 5 Jun 2021 20:29:09 +0000 (22:29 +0200)]
Fix Gnus summary exclusion when everything matches
* lisp/gnus/gnus-sum.el (gnus-summary-limit-to-recipient):
* lisp/gnus/gnus-sum.el (gnus-summary-limit-to-subject):
(gnus-summary-limit-to-address, gnus-summary-limit-to-extra):
Don't claim that there aren't any matches when everything matches
an exclusion (bug#48834).
Stefan Monnier [Sat, 5 Jun 2021 15:57:57 +0000 (11:57 -0400)]
* src/keyboard.c (read_decoded_event_from_main_queue): Fix paren typo
Stefan Monnier [Thu, 3 Jun 2021 22:05:01 +0000 (18:05 -0400)]
* lisp/mpc.el (mpc-intersection): Fix commit
1760029b0927242
Eli Zaretskii [Sat, 5 Jun 2021 14:17:17 +0000 (17:17 +0300)]
Document the last change
* doc/lispref/os.texi (Input Modes): Document the changes in the
values of the META flag.
* etc/NEWS: Call out the change in input-meta-mode.
Max Mikhanosha [Sat, 5 Jun 2021 13:57:43 +0000 (16:57 +0300)]
Support terminal emulators that encode the Meta modifier as 8th bit
See discussion starting at
https://lists.gnu.org/archive/html/emacs-devel/2021-06/msg00034.html
for the details.
* src/keyboard.c (read_decoded_event_from_main_queue): For
raw-text encoed input, if Meta bit is encoded, apply the Meta
modifier to single-byte characters that have the 0x80 bit set.
For input encoded otherwise, if the Meta bit is encoded, remove
the 0x80 bit after decoding the characters.
(tty_read_avail_input): Reset the 0x80 bit only if Meta bit is not
encoded.
(Fset_input_meta_mode): Support 'encoded' as the value of META.
(Fset_input_mode): Document 'encoded' for META.
(Fcurrent_input_mode): Support and document 'encoded' as the value
of META.
(syms_of_keyboard): DEFSYM 'encoded'.
Eli Zaretskii [Sat, 5 Jun 2021 11:16:06 +0000 (14:16 +0300)]
Fix slow operation of 'string-width'
* src/composite.c (find_automatic_composition): Accept one
additional argument BACKLIM; don't look back in buffer or string
farther than that. Add an assertion for BACKLIM.
(composition_adjust_point, Ffind_composition_internal): Callers
adjusted.
* src/composite.h (find_automatic_composition): Adjust prototype.
* src/character.c (lisp_string_width): Call
'find_automatic_composition' with the value of BACKLIM equal to POS,
to avoid costly and unnecessary search back in the string, since
those previous characters were already checked for automatic
compositions. (Bug#48734) (Bug#48839)
Eli Zaretskii [Sat, 5 Jun 2021 08:28:26 +0000 (11:28 +0300)]
Some additions to the TeX input method
* lisp/leim/quail/latin-ltx.el (latin-ltx--define-rules): Add some
rules from Unicode Technical Note 28 "UnicodeMath" v3.1.
Dmitry Gutov [Sat, 5 Jun 2021 00:56:33 +0000 (03:56 +0300)]
Make icomplete less blinky and more responsive
* lisp/icomplete.el (icomplete-pre-command-hook, icomplete-tidy):
Remove, update the callers
(https://lists.gnu.org/archive/html/emacs-devel/2021-06/msg00111.html).
(icomplete-compute-delay): Change the default to 150ms.
(icomplete-max-delay-chars): Change the default to 2.
Tassilo Horn [Fri, 4 Jun 2021 19:58:11 +0000 (21:58 +0200)]
Ask if dir and subdir dired buffers be killed when deleting dir
Previously, when you've had dired buffers
~/foo/
~/foo/bar/
~/foo/bar/baz/
and then deleted ~/foo/, dired (with dired-clean-up-buffers-too set to
non-nil) would only ask to delete the dired buffer of ~/foo/. Now it
will offer to delete all three buffers.
* lisp/dired.el (dired-buffers-for-dir): Add optional argument SUBDIRS
which makes the function return also dired buffers showing a subdir of
DIR.
(dired-in-this-tree-p): Make obsolete in favor of file-in-directory-p
which actually does what the name suggest whereas dired-in-this-tree-p
is just string-matching on filenames which will fail with symlinks
filenames including ./ or ../.
Eli Zaretskii [Fri, 4 Jun 2021 13:50:43 +0000 (16:50 +0300)]
Fix documentation of a recent change.
* etc/NEWS:
* doc/emacs/misc.texi (Invoking emacsclient): Fix a recent change.
(Bug#11358)
Stephen Berman [Fri, 4 Jun 2021 10:01:41 +0000 (12:01 +0200)]
Fix placement of point in Dired deletion operations
* lisp/dired.el (dired-do-flagged-delete, dired-do-delete): Use
point-marker instead of point to record each file name position.
Clean up the markers before returning.
(dired-internal-do-deletions): Move to the file name marker, and
then move point to the file name to visually emphasize which file
is being operated on (bug#48805).
Harald Hanche-Olsen [Fri, 4 Jun 2021 09:09:46 +0000 (11:09 +0200)]
Add a new `server-edit-abort' command
* doc/emacs/misc.texi (Invoking emacsclient): Document it (bug#11358).
* lisp/server.el (server-edit): Mention it in the doc string.
(server-edit-abort): New command.
Copyright-paperwork-exempt: yes
Lars Ingebrigtsen [Fri, 4 Jun 2021 08:48:16 +0000 (10:48 +0200)]
Revert "Make the `i' command in Info-mode remove duplicate matches"
This reverts commit
089e0c4c55dcf72f9cf2f6f04b8a52fc7355499c.
There were no duplicate entries -- there were two entries
for different things that referred to the same line.
Eli Zaretskii [Fri, 4 Jun 2021 06:48:13 +0000 (09:48 +0300)]
Fix documentation of recent 'windmove' changes
* lisp/windmove.el (windmove-default-keybindings)
(windmove-display-default-keybindings)
(windmove-delete-default-keybindings)
(windmove-swap-states-default-keybindings): Improve doc strings.
(Bug#41438)
* etc/NEWS: Fix a typo in the 'windmove' entry.
Juri Linkov [Thu, 3 Jun 2021 20:54:30 +0000 (23:54 +0300)]
* lisp/simple.el (read-from-kill-ring): Fix the case of 'M-y M-p' (bug#48478)
Don't use offsets for read-from-kill-ring-history when kill-ring-yank-pointer
points to the last element of kill-ring.
Juri Linkov [Thu, 3 Jun 2021 20:41:30 +0000 (23:41 +0300)]
* lisp/help-fns.el (help--symbol-class): New function.
Refactored from help--symbol-completion-table-affixation.
https://lists.gnu.org/archive/html/emacs-devel/2021-06/msg00066.html
Juri Linkov [Thu, 3 Jun 2021 20:36:07 +0000 (23:36 +0300)]
* etc/NEWS: Add windmove keybindings (bug#41438)
Philip Kaludercic [Thu, 27 May 2021 10:24:42 +0000 (12:24 +0200)]
Add user options for default windmove commands (bug#41438)
* windmove.el (windmove--default-keybindings-type): Add type.
(windmove-default-keybindings): Add user option.
(windmove-display-default-keybindings): Add user option.
(windmove-delete-default-keybindings): Add user option.
(windmove-swap-states-default-keybindings): Add user option.
Philip Kaludercic [Tue, 25 May 2021 09:47:51 +0000 (11:47 +0200)]
Improve windmove-*-default-keybindings functions (bug#41438)
* windmove.el (windmove-mode-map): Add special map for windmove commands.
(windmove-mode): Add minor mode for activating windmove-mode-map.
(windmove-install-defaults): Add general function for manipulating
windmove-mode-map.
(windmove-default-keybindings): Use windmove-install-defaults.
(windmove-display-default-keybindings): Use windmove-install-defaults.
(windmove-delete-default-keybindings): Use windmove-install-defaults.
(windmove-swap-states-default-keybindings): Use windmove-install-defaults.
Mattias Engdegård [Thu, 3 Jun 2021 19:20:57 +0000 (21:20 +0200)]
Constant-propagate (function SYMBOL)
* lisp/emacs-lisp/byte-opt.el (byte-optimize--substitutable-p):
Consider #'SYMBOL a constant for compile-time propagation purposes.
Mattias Engdegård [Thu, 3 Jun 2021 19:15:11 +0000 (21:15 +0200)]
Optimise (cons X nil) to (list X)
* lisp/emacs-lisp/byte-opt.el (byte-optimize-cons): New function.
Eli Zaretskii [Thu, 3 Jun 2021 14:45:12 +0000 (17:45 +0300)]
Fix fill-column-indicator on TTY frames
* src/xdisp.c (extend_face_to_end_of_line): Fix calculation of
fill-column-indicator on TTY frames. Suggested by Jimmy Aguilar
Mena <spacibba@aol.com>.
Eli Zaretskii [Thu, 3 Jun 2021 12:57:14 +0000 (15:57 +0300)]
More accurate highlighting of mis-spellings in Flyspell
* lisp/textmodes/flyspell.el (flyspell-word): Highlight only the
misspelled word, not any extra characters after it. (Bug#5575)
Lars Ingebrigtsen [Thu, 3 Jun 2021 09:55:45 +0000 (11:55 +0200)]
Make the `i' command in Info-mode remove duplicate matches
* lisp/info.el (Info-index): Weed out duplicate matched
(bug#3692).
Lars Ingebrigtsen [Thu, 3 Jun 2021 08:39:39 +0000 (10:39 +0200)]
Fix up previous hideif change to avoid a compilation warning
* lisp/progmodes/hideif.el
(hide-ifdef-expand-reinclusion-protection): Move to avoid a
compilation warning.
Lars Ingebrigtsen [Thu, 3 Jun 2021 08:19:22 +0000 (10:19 +0200)]
fringe-mode doc clarifications
* lisp/fringe.el (fringe-mode):
(fringe-mode): Note that this variable and command have nothing to
do with modes (bug#6931).
Luke Lee [Thu, 3 Jun 2021 08:04:16 +0000 (16:04 +0800)]
* lisp/progmodes/hideif.el: Fix initial version for new variables
(hide-ifdef-verbose, hide-ifdef-evalulate-enter-hook)
(hide-ifdef-evalulate-leave-hook): Fix initial version to 28.1.
(hide-ifdef-expand-reinclusion-protection): Obsolete since 28.1,
rename to `hide-ifdef-expand-reinclusion-guard' instead.
Lars Ingebrigtsen [Thu, 3 Jun 2021 07:50:20 +0000 (09:50 +0200)]
Fix problem with empty command histories in eshell and `erase'
* lisp/eshell/em-hist.el (eshell-add-input-to-history): Protect
against an empty ring (bug#48770).
Eli Zaretskii [Thu, 3 Jun 2021 07:49:09 +0000 (10:49 +0300)]
; Fix last change.
Eli Zaretskii [Thu, 3 Jun 2021 07:46:54 +0000 (10:46 +0300)]
* configure.ac: Clarify "smoke test" error message. (Bug#48804)
Lars Ingebrigtsen [Thu, 3 Jun 2021 07:29:55 +0000 (09:29 +0200)]
Cross-reference the message/error control variables
* src/keyboard.c (syms_of_keyboard): Mention set-message-function
in the command-error-function doc string...
* src/xdisp.c (syms_of_xdisp): ... and vice versa (bug#13752).
Eli Zaretskii [Thu, 3 Jun 2021 06:55:00 +0000 (09:55 +0300)]
* configure.ac: Improve error messages about libgccjit.
Tassilo Horn [Wed, 2 Jun 2021 21:02:45 +0000 (23:02 +0200)]
Allow opening buttonized URL with secondary browser in rcirc
* lisp/net/browse-url.el (browse-url-button-open-url): Add autoload
cookie.
* lisp/net/rcirc.el (rcirc-markup-urls): Use
`browse-url-button-open-url' instead of just `browse-url' in order to
be able to use the secondary browser by giving a prefix arg.
Eli Zaretskii [Wed, 2 Jun 2021 13:14:14 +0000 (16:14 +0300)]
Fix a typo in 'produce_glyphless_glyph'
* src/xdisp.c (produce_glyphless_glyph): Initialize lower_xoff.
Remove workaround for lack of its initialization. (Bug#8215)
Luke Lee [Wed, 2 Jun 2021 12:29:00 +0000 (20:29 +0800)]
* lisp/progmodes/hideif.el: update for new C++ standards and extensions
Matching gcc/clang behavior on stringification including keeping the same
number of white spaces. C++11, C++14, C++17 and GCC literals extension are
supported. Preprocessing time floating point operation supported but limited
to Emacs internal representation which is C data type "double". Also support
some frequently used keywords like __LINE__, __TIME__, __DATE__ and so on.
(hif-clear-all-ifdef-defined, hif-show-all, hif-after-revert-function)
(hide-ifdef-define, hide-ifdefs, show-ifdefs): interactive behavior changes,
mainly to allow operation within the marked region.
(hif-eval, hif-__LINE__, hif-__FILE__, hif-__COUNTER__, hif-__cplusplus)
(hif-__DATE__, hif-__TIME__, hif-__STDC__, hif-__STDC_VERSION__)
(hif-__STDC_HOST__, hif-__FILE__, hif-full-match, hif-is-number, hif-is-float)
(hif-delete-char-in-string, hif-string-to-decfloat, hif-string-to-hexfloat)
(hif-strtok, hif-is-white, hif-backward-comment, hif-split-signed-token)
(hif-keep-single, hif-display-macro): new functions.
(hide-ifdef-verbose, hide-ifdef-evalulate-enter-hook)
(hide-ifdef-evalulate-leave-hook, hide-ifdef-evaluator, hif-predefine-alist)
(hif-numtype-suffix-regexp, hif-bin-regexp, hif-hex-regexp, hif-oct-regexp)
(hif-dec-regexp, hif-decfloat-regexp, hif-hexfloat-regexp)
(hif-unicode-prefix-regexp, hif-verbose-define-count): new constants or
variables.
(hif-macroref-regexp, hif-token-alist, hif-token-regexp)
(hif-string-literal-regexp): modified constants for faster regexp processing.
(hide-ifdef-expand-reinclusion-guard): renamed from
`hide-ifdef-expand-reinclusion-protection' to match commonly used term.
(hif-lookup, hif-defined, hif-string-to-number, hif-tokenize, hif-nextoken)
(hif-if-valid-identifier-p, hif-define-operator, hif-expand-token-list)
(hif-parse-exp, hif-math, hif-factor, hif-get-argument-list, hif-stringify)
(hif-token-concat, hif-mathify, hif-comma, hif-token-stringification)
(hif-token-concatenation, hif-macro-supply-arguments, hif-evaluate-macro)
(hif-find-define, hif-add-new-defines, hide-ifdef-guts, hif-undefine-symbol)
(hide-ifdef-set-define-alist, hide-ifdef-use-define-alist): modified functions
for new internal data representation, mainly for stringification and white
space preservation. Also better error handling to report source line number
and more informative error messages.
Lars Ingebrigtsen [Wed, 2 Jun 2021 08:54:37 +0000 (10:54 +0200)]
Fix ibuffer auto-shrinking windows
* lisp/ibuffer.el (ibuffer-shrink-to-fit): Don't shrink all
windows, just the ibuffer one (bug#7218).
Lars Ingebrigtsen [Wed, 2 Jun 2021 08:13:58 +0000 (10:13 +0200)]
Move point in dired buffers when handling a list of files
* lisp/dired-aux.el (dired-create-files): Advance point to the
current file (bug#8015).
Alex Bochannek [Wed, 2 Jun 2021 05:41:25 +0000 (07:41 +0200)]
Add new user option to Gnus to allow `#' to toggle
* doc/misc/gnus.texi (Marking Groups, Setting Process Marks):
Mention the new variable.
* lisp/gnus/gnus-group.el (gnus-group-make-menu-bar): Update menu.
(gnus-group-mark-group): Support the variable.
(gnus-group-mark-update): New command.
(gnus-group-unmark-group, gnus-group-mark-region): Pass in new
parameter.
* lisp/gnus/gnus-sum.el (gnus-summary-make-menu-bar): Update menu.
(gnus-summary-mark-as-processable): Use the variable.
* lisp/gnus/gnus-topic.el (gnus-topic-mark-topic): (bug#48683).
* lisp/gnus/gnus-topic.el (gnus-topic-mark-topic): Use the variable.
* lisp/gnus/gnus.el (gnus-process-mark-toggle): New user option.
Basil L. Contovounesios [Tue, 1 Jun 2021 16:59:46 +0000 (17:59 +0100)]
; End recently added sentences with a period.
Basil L. Contovounesios [Tue, 1 Jun 2021 17:04:48 +0000 (18:04 +0100)]
; Bump isearch.el :version after recent change.
Alan Third [Fri, 21 May 2021 12:33:56 +0000 (13:33 +0100)]
Improve performance of NS port's display on macOS
* src/nsterm.h: Update EmacsSurface definition.
* src/nsterm.m ([EmacsView focusOnDrawingBuffer]): Don't change the
CGContext's settings directly.
([EmacsView unfocusDrawingBuffer]): Don't release the context here.
(CACHE_MAX_SIZE): Add maximum cache size.
([EmacsView updateLayer]): Send a request for getContext, which will
copy the buffer and create the context if it doesn't already exist, to
the NS run loop.
([EmacsSurface initWithSize:ColorSpace:Scale:]): Add the scale factor
and if there's already a CGContext available, reuse it.
([EmacsSurface dealloc]): No longer need to release lastSurface
separately.
([EmacsSurface getContext]): Don't create more surfaces than we have
spaces for in the cache.
([EmacsSurface releaseContext]): If there's no context don't try to
release it and put currentSurface back on the cache instead of
lastSurface.
([EmacsSurface copyContentsTo:]): Don't try to copy if the source and
destination are actually the same surface.
Andrea Corallo [Tue, 1 Jun 2021 15:17:42 +0000 (17:17 +0200)]
* Add `native-compile-target-directory' (bug#48743)
* lisp/emacs-lisp/comp.el (native-compile-target-directory): New
variable.
(comp-spill-lap-function): Make use of.
Andrea Corallo [Tue, 1 Jun 2021 15:10:10 +0000 (17:10 +0200)]
Rename batch-byte-native-compile-for-bootstrap (bug#48743)
* lisp/Makefile.in : Rename `batch-byte-native-compile-for-bootstrap'
-> `batch-byte+native-compile.
* lisp/emacs-lisp/bytecomp.el (byte+native-compile)
(byte-compile-file): Rename
`batch-byte-native-compile-for-bootstrap' ->
`batch-byte+native-compile + `byte-native-for-bootstrap' ->
`byte+native-compile'.
* lisp/emacs-lisp/comp.el (comp-spill-lap-function, comp-final)
(batch-native-compile, batch-byte+native-compile): Likewise.
* lisp/emacs-lisp/bytecomp.el (byte+native-compile)
(byte-compile-file): Likewise.
* test/src/comp-tests.el (comp-tests-bootstrap): Rename
`byte-native-for-bootstrap' -> `byte+native-compile'.
Glenn Morris [Tue, 1 Jun 2021 15:52:47 +0000 (08:52 -0700)]
Remove unnecessary function declaration in isearch
* lisp/isearch.el (multi-isearch-switch-buffer):
Remove unnecessary declaration (after ldefs-boot update).
Andreas Schwab [Tue, 1 Jun 2021 13:46:34 +0000 (15:46 +0200)]
Avoid hang in nnimap-keepalive
* lisp/gnus/nnimap.el (nnimap-keepalive): Make interruptable.
Glenn Morris [Tue, 1 Jun 2021 13:29:13 +0000 (06:29 -0700)]
; Auto-commit of loaddefs files.
Stefan Monnier [Tue, 1 Jun 2021 13:14:53 +0000 (09:14 -0400)]
* lisp/gnus/gnus-art.el: Don't sneak dynbound code via quoting
Make sure we don't accidentally quote lambdas by embedding them within
quoted data.
(gnus-visible-headers, gnus-emphasis-alist)
(gnus-mime-display-alternative, gnus-article-describe-bindings):
Unquote lambdas.
João Távora [Tue, 25 May 2021 21:40:40 +0000 (22:40 +0100)]
Add annotation capability to icomplete-vertical-mode
Co-authored-by Daniel Mendler <mail@daniel-mendler.de>
* lisp/icomplete.el (icomplete--affixate): New helper.
(icomplete--render-vertical): Use it. Rework.
(icomplete-completions): Pass md to icomplete--render-vertical.
João Távora [Sun, 30 May 2021 15:26:02 +0000 (16:26 +0100)]
Improve icomplete-vertical-mode and fido-vertical-mode
This mode is intended to be used with Icomplete ('M-x icomplete-mode')
or Fido ('M-x fido-mode'), to display the list of completions
candidates vertically instead of horizontally. When used with
Icomplete, completions are rotated and selection kept at the top.
When used with Fido, completions scroll like a typical dropdown
widget.
If the dropdown behaviour is desired for Icomplete (instead of
rotation), icomplete-scroll can be adjusted separately by the user.
* etc/NEWS (icomplete-vertical-mode): Reword.
* lisp/icomplete.el (simple): Require it.
(icomplete-selected-match): New face.
(icomplete-scroll): New user-visible var.
(icomplete-forward-completions): Rework.
(icomplete-backward-completions): Rework.
(icomplete--fido-mode-setup): Prefer icomplete-scroll according to
icomplete-vertical mode.
(icomplete-minibuffer-setup): Initialize icomplete--scrolled-completions.
(fido-vertical-mode): An alias for icomplete-vertical-mode.
(icomplete-exhibit): Init icomplete--scrolled-past. Adjust overlay.
(icomplete--render-vertical): New helper.
(icomplete--sorted-completions): If cache is stale, also
invalidate icomplete--scrolled-past.
(icomplete-completions): Rework. Mostly reformat.
* lisp/simple.el (max-mini-window-lines): New helper.
(display-message-or-buffer): Use it.
Lars Ingebrigtsen [Tue, 1 Jun 2021 08:29:33 +0000 (10:29 +0200)]
Allow packages to change the hl-line overlay priority
* lisp/hl-line.el (hl-line-overlay-priority): New variable
(bug#11509).
(hl-line-make-overlay): Use it.
Lars Ingebrigtsen [Tue, 1 Jun 2021 08:22:57 +0000 (10:22 +0200)]
Fix problem with `format-alist' marking all the text in the buffer
* lisp/format.el (format-decode-run-method): Use it to avoid
marking the entire buffer (bug#11691).
* lisp/simple.el (shell-command-on-region): Allow replacing text
without activating the mark.
Lars Ingebrigtsen [Tue, 1 Jun 2021 07:41:40 +0000 (09:41 +0200)]
Document `with-selected-frame'
* doc/lispref/windows.texi (Selecting Windows): Document
`with-selected-frame' (bug#12075).
Lars Ingebrigtsen [Tue, 1 Jun 2021 07:15:13 +0000 (09:15 +0200)]
Obsolete `global-whitespace-newline-mode'
* lisp/whitespace.el (global-whitespace-newline-mode): Make
obsolete since it doesn't work correctly, and seems superfluous
(bug#12496).
Lars Ingebrigtsen [Tue, 1 Jun 2021 06:55:06 +0000 (08:55 +0200)]
Add a new command `mailcap-view-file'
* doc/misc/emacs-mime.texi (mailcap): Document it (bug#12972).
* lisp/net/mailcap.el (mailcap-view-file): New command.
Lars Ingebrigtsen [Tue, 1 Jun 2021 05:57:09 +0000 (07:57 +0200)]
Fix documentation of literal `face' syntax in font-lock section
* doc/lispref/modes.texi (Search-based Fontification): Fix
the literal `(0 (face ...))' syntax documentation (bug#13917).
Philip Kaludercic [Tue, 1 Jun 2021 05:49:10 +0000 (07:49 +0200)]
Improve random selection of keyservers
* epa-ks.el (epa-keyserver): Interpret a list as a pool.
(epa-ks--query-url): Add new auxiliary function.
(epa-ks--fetch-key): Use epa-ks--query-url.
(epa-search-keys): Use epa-ks--query-url.
Juri Linkov [Mon, 31 May 2021 20:32:50 +0000 (23:32 +0300)]
* lisp/isearch.el (lazy-highlight-buffer-max-at-a-time): Change from 20 to 200
Suggested by Augusto Stoffel <arstoffel@gmail.com> in bug#48581
Andrea Corallo [Mon, 31 May 2021 18:35:43 +0000 (20:35 +0200)]
* Make *Async-native-compile-log* buffer read-only (bug#48763)
* lisp/emacs-lisp/comp.el (comp-run-async-workers): Make
"*Async-native-compile-log*" read-only.
Alan Mackenzie [Mon, 31 May 2021 16:24:11 +0000 (16:24 +0000)]
Make frames record when their selected window was the mini-window
When a frame in this state is selected again by Fselect_frame (but not by
Fselect_window), the mini-window rather than the frame's currently selected
window, is chosen for selection, should there still be an active minibuffer in
it.
This fixes bug #48674.
* src/frame.h (struct frame): Add new boolean field select_mini_window_flag.
* src/frame.c (make_frame): Initialize select_mini_window_flag to false.
(do_switch_frame): Set the new flag appropriately for the old frame, and
process the new frame's setting of this flag, before setting it to false.
* src/window.c (select_window): Set f->select_mini_window_flag to false.
(Fset_frame_selected_window, Fdelete_other_windows_internal)
(Fdelete_window_internal): Add comments clarifying that there is no clearing
of f->select_mini_window_flag in these functions.
Glenn Morris [Mon, 31 May 2021 15:40:26 +0000 (08:40 -0700)]
* src/keyboard.c (make_lispy_event): Fix previous.
Glenn Morris [Mon, 31 May 2021 14:50:34 +0000 (07:50 -0700)]
Merge from origin/emacs-27
5dfa5e26dd (origin/emacs-27) Improve documentation of regexp ranges
Alan Mackenzie [Mon, 31 May 2021 10:33:10 +0000 (10:33 +0000)]
Correct mouse handling when window origin changes between down and up events
Do this by using frame relative positions rather than window relative ones,
which gave rise to spurious drag events when the origin of the window changed
between the mouse down and up events. This fixes bug #48409.
* keyboard.c (frame_relative_event_pos): New static variable.
(make_lispy_event): Record frame relative position of down event. When the up
event is in the same position, "move" this event into the window of the down
event when this window (typically a mini-window) is no longer under the mouse.
Call make_lispy_position a second time to generate this changed event.
(syms_of_keyboard): Declare Qwindow_edges. static_pro
frame_relative_event_pos.
Colin Woodbury [Mon, 31 May 2021 08:55:37 +0000 (10:55 +0200)]
Remove spurious @example from the elisp manual
* doc/lispref/macros.texi (Defining Macros): Remove spurious extra
pair of @example/@end example.
Copyright-paperwork-exempt: yes
Lars Ingebrigtsen [Mon, 31 May 2021 08:24:23 +0000 (10:24 +0200)]
Remove messaging in ediff-make-diff2-buffer
* lisp/vc/ediff-diff.el (ediff-make-diff2-buffer): Remove message
that's often misleading when diffing buffers (that may be unsaved)
(bug#13091).
Lars Ingebrigtsen [Mon, 31 May 2021 06:17:00 +0000 (08:17 +0200)]
Put ELP results in a special-mode buffer
* lisp/emacs-lisp/elp.el (elp-results): Make `q' work in ELP
results buffer (bug#14104).
(elp-results-mode): Define as an empty special mode derivation.
Lars Ingebrigtsen [Mon, 31 May 2021 05:29:51 +0000 (07:29 +0200)]
Make `menu-bar-select-buffer' obsolete
* lisp/menu-bar.el (menu-bar-select-buffer): Make obsolete (bug#15651).
* lisp/msb.el (msb--select-buffer): Move function here and rename.
(msb--make-keymap-menu): Use it.
Lars Ingebrigtsen [Mon, 31 May 2021 05:25:25 +0000 (07:25 +0200)]
Revert "Move menu-bar-select-buffer to msb.el"
This reverts commit
253e52478c355dc29052c0d21013b8d06b473880.
This is to be fixed in a different way in the next patch.
Lars Ingebrigtsen [Mon, 31 May 2021 05:22:12 +0000 (07:22 +0200)]
Use buffer-local-boundp in describe-variable
* lisp/help-fns.el (describe-variable): Use `buffer-local-boundp'.
Lars Ingebrigtsen [Mon, 31 May 2021 05:21:09 +0000 (07:21 +0200)]
Add new convenience function `buffer-local-boundp'
* doc/lispref/variables.texi (Creating Buffer-Local): Document it.
* lisp/subr.el (buffer-local-boundp): New function.
* src/data.c (Flocal_variable_p): Mention it.
Daniel Mendler [Mon, 31 May 2021 04:49:37 +0000 (06:49 +0200)]
Speed up `describe-variable' completion predicate
* lisp/help-fns.el (describe-variable): Do not switch to the original
buffer in the predicate (bug#48738).
Lars Ingebrigtsen [Mon, 31 May 2021 04:36:23 +0000 (06:36 +0200)]
Fix error in xdg-mime-apps-files when XDG_CURRENT_DESKTOP is defined
* lisp/xdg.el (xdg-mime-apps-files): Don't bug out when
XDG_CURRENT_DESKTOP is bound (bug#48748).
Philipp Stephani [Sun, 30 May 2021 20:39:54 +0000 (22:39 +0200)]
Document that the 'syntax-propertize-function' may move point.
The functions generated by 'syntax-propertize-rules' don't use
'save-excursion', but 'syntax-propertize' does, so we might as well
document that the 'syntax-propertize-function' may move point.
* doc/lispref/syntax.texi (Syntax Properties): Document that the
'syntax-propertize-function' may move point.
Philipp Stephani [Sun, 30 May 2021 20:38:48 +0000 (22:38 +0200)]
Give 'syntax-propertize-wholelines' a docstring.
This function is generally useful.
* lisp/emacs-lisp/syntax.el (syntax-propertize-wholelines): Add
docstring.
Stephen Gildea [Sun, 30 May 2021 18:05:42 +0000 (11:05 -0700)]
time-stamp: fix minor bug when parsing option combos
* lisp/time-stamp.el (time-stamp-string-preprocess): Handle digit
options correctly to avoid overcounting colon options.
* test/lisp/time-stamp-tests.el (time-stamp-format-time-zone-offset):
Add a new test case that would have caught the option-parsing error.
Stephen Gildea [Sun, 30 May 2021 16:08:08 +0000 (09:08 -0700)]
time-stamp: refactor time-stamp-string-preprocess
* lisp/time-stamp.el (time-stamp-string-preprocess): Reduce lifetime of
some loop-local variables to be less error-prone.
Mauro Aranda [Sun, 30 May 2021 12:35:13 +0000 (09:35 -0300)]
Do not reset settings when disabling a theme
* lisp/custom.el (disable-theme): Don't call custom-push-theme, since
that resets the theme settings and it isn't useful: we only need to
remove the theme setting from the themed variable or face. This fixes
a regression when "toggling" themes, introduced while fixing Bug#34027.
(Bug#48736)