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)
Eli Zaretskii [Sun, 30 May 2021 10:20:02 +0000 (13:20 +0300)]
Improve documentation of regexp ranges
* doc/lispref/searching.texi (Regexp Special): Document the effect
of using octal escapes in regexp ranges. (Bug#17758)
Eli Zaretskii [Sun, 30 May 2021 08:16:59 +0000 (11:16 +0300)]
Don't account for character compositions in 'format' and friends
'lisp_string_width' is called from 'format' and 'format-message',
which can be called both very early into Emacs initialization and in
other contexts where using the font backend is impossible or
undesirable. So this commit changes 'lisp_string_width' to try
accounting for automatic compositions only when explicitly requested,
and only 'string-width' does that; 'format' and 'format-message'
don't.
* src/character.c (lisp_string_width): Accept an additional
argument AUTO_COMP; attempt accounting for auto-compositions only
if that argument is non-zero. (Bug#48732)
* src/editfns.c (styled_format):
* src/character.c (Fstring_width): Callers of 'lisp_string_width'
adjusted.
Lars Ingebrigtsen [Sun, 30 May 2021 06:25:18 +0000 (08:25 +0200)]
Clarify that `symbol-file' only works for symbols in Lisp files
* lisp/subr.el (symbol-file): Mention help-C-file-name in the doc
string (bug#14932).
Lars Ingebrigtsen [Sun, 30 May 2021 06:25:06 +0000 (08:25 +0200)]
Allow help-C-file-name to work on symbols designating subrs
* lisp/help-fns.el (help-C-file-name): Allow working on symbols
designating subrs (bug#14932).
Lars Ingebrigtsen [Sun, 30 May 2021 06:10:15 +0000 (08:10 +0200)]
Fix kmacro-view-ring-2nd doc string
* lisp/kmacro.el (kmacro-view-ring-2nd): Fix doc string (bug#15020).
Lars Ingebrigtsen [Sun, 30 May 2021 05:49:17 +0000 (07:49 +0200)]
Move menu-bar-select-buffer to msb.el
* lisp/menu-bar.el (menu-bar-select-buffer): Move from
here... (bug#15651).
* lisp/msb.el (menu-bar-select-buffer): ... to here (which is the
only usage in-tree in Emacs).
Stephen Gildea [Sun, 30 May 2021 05:54:30 +0000 (22:54 -0700)]
time-stamp: improve unit-test coverage
* test/lisp/time-stamp-tests.el (time-stamp-format-year-4digit,
time-stamp-format-ignored-modifiers): Improve coverage with more cases.
(time-stamp-format-multiple-conversions): New test.
Lars Ingebrigtsen [Sun, 30 May 2021 05:06:48 +0000 (07:06 +0200)]
`minibuffer-exit-hook' doc string clarification
* src/minibuf.c (syms_of_minibuf): `minibuffer-exit-hook' is run
in the minubuffer usually, so don't claim that it's run after
(bug#16524).
Daniel Martín [Sun, 30 May 2021 04:41:52 +0000 (06:41 +0200)]
Add a new documentation group for overlays
* lisp/emacs-lisp/shortdoc.el (overlay): Add documentation group for
buffer overlays(bug#48730).
Daniel Martín [Sun, 30 May 2021 04:41:24 +0000 (06:41 +0200)]
Improve the documentation of documentation groups
* doc/lispref/help.texi (Documentation Groups): Fix typos and add an
example.
* lisp/emacs-lisp/shortdoc.el (define-short-documentation-group): Add
:no-eval* and :result-string keywords to the docstring. (Bug#48730)
Lars Ingebrigtsen [Sun, 30 May 2021 04:25:47 +0000 (06:25 +0200)]
Tweak octave continuation indentation
* lisp/progmodes/octave.el (octave-smie-rules): Further tweak
continuation indentation (bug#17955).
Eli Zaretskii [Sun, 30 May 2021 04:11:02 +0000 (06:11 +0200)]
Clarify indent-line-function doc string
* lisp/indent.el (indent-line-function): Clarify by avoiding
specifics (bug#20846).
Stefan Monnier [Sat, 29 May 2021 18:24:23 +0000 (14:24 -0400)]
* lisp/mpc.el (mpc-format): Fix inf-loop in constructed predicate
Andreas Schwab [Sat, 29 May 2021 13:35:25 +0000 (15:35 +0200)]
* lisp/wdired.el (wdired-normalize-filename): Sync with
dired-get-filename. (Bug#48659)
Stefan Monnier [Sat, 29 May 2021 13:22:57 +0000 (09:22 -0400)]
* lisp/electric.el: Do auto-indent inside strings and comments by default
This fixes bug#20846 where it transpired that there is no good reason
to shy away from auto-indenting inside comments and strings.
(electric-indent-post-self-insert-function): Don't check syntax-ppss.
Keith David Bershatsky [Sat, 29 May 2021 11:45:59 +0000 (13:45 +0200)]
Improve tex fontification of quoted strings
* lisp/textmodes/tex-mode.el (tex-font-lock-keywords-2): Fontify
``text like this'' that has an apostrophe correctly (bug#16881).
Eli Zaretskii [Sat, 29 May 2021 08:17:53 +0000 (11:17 +0300)]
Fix last change
* lisp/international/quail.el (quail-add-unread-command-events):
Fix wording of the doc string. Move the rationale for the
function out of the doc string and into a comment.
Gregory Heytings [Sat, 15 May 2021 20:15:59 +0000 (20:15 +0000)]
Fix key recording bug when an input method is activated
* lisp/international/quail.el (quail-add-unread-command-events):
New function.
(quail-start-translation, quail-start-conversion)
(quail-update-translation, quail-next-translation)
(quail-prev-translation, quail-next-translation-block)
(quail-prev-translation-block, quail-minibuffer-message): Use
'quail-add-unread-command-events' (and partly revert commit
03e3440dbb). (Bug#48042)
* lisp/subr.el (inhibit--record-char): Now obsolete.
* lisp/term/xterm.el (xterm--init): New function, with most of the
code of former 'terminal-init-xterm'.
(terminal-init-xterm): Clear the lossage after terminal
initialization (see Bug#44908).
(xterm--read-event-for-query): Do not use 'inhibit--record-char'
anymore (revert commit
3e6525d69f).
* src/keyboard.c (syms_of_keyboard): Remove 'inhibit--record-char'
(partly revert
03e3440dbb).
(record_char, syms_of_keyboard_for_pdumper): Do not use
'inhibit_record_char anymore'.
Mattias Engdegård [Sat, 29 May 2021 07:32:49 +0000 (09:32 +0200)]
; * etc/NEWS: Slight improvement of last entry
Mattias Engdegård [Fri, 28 May 2021 09:51:32 +0000 (11:51 +0200)]
; * lisp/emacs-lisp/rx.el (rx--pcase-macroexpander): slight rephrase
Mattias Engdegård [Fri, 28 May 2021 09:48:00 +0000 (11:48 +0200)]
; * lisp/mail/rmail.el (rmail-simplified-subject): Dodge relint nag
Mattias Engdegård [Fri, 28 May 2021 09:43:24 +0000 (11:43 +0200)]
Fix shortdoc examples
Make sure that each example in shortdoc actually contains the function
it illustrates, and add a test for it.
* lisp/emacs-lisp/shortdoc.el (string, list, buffer, number):
Use the right functions in examples for string-version-lessp,
lax-plist-put, point-min and ffloor.
* test/lisp/emacs-lisp/shortdoc-tests.el: New test file.
Lars Ingebrigtsen [Sat, 29 May 2021 06:09:34 +0000 (08:09 +0200)]
Add lambda to the pretty Ruby symbols list
* lisp/progmodes/ruby-mode.el (ruby--prettify-symbols-alist): Add
lambda (bug#48681).
William Denton [Sat, 29 May 2021 06:08:35 +0000 (08:08 +0200)]
Add pretty symbols to ruby-mode
* lisp/progmodes/ruby-mode.el (ruby--prettify-symbols-alist): Add
pretty symbols (bug#48681).
(ruby-mode): Use them.
Lars Ingebrigtsen [Sat, 29 May 2021 06:02:10 +0000 (08:02 +0200)]
Mention the recent floating point reader changes in NEWS
* etc/NEWS: Mention the floating point reader changes (bug#48678).
Lars Ingebrigtsen [Sat, 29 May 2021 05:49:19 +0000 (07:49 +0200)]
Improve the dired-guess-shell-alist-user doc string
* lisp/dired-x.el (dired-guess-shell-alist-user): Document how
REGEXP is used (bug#17251).
Lars Ingebrigtsen [Sat, 29 May 2021 05:38:00 +0000 (07:38 +0200)]
Fix folding of non-ASCII lines when printing to Postscript
* lisp/ps-mule.el (ps-mule-plot-string): Fix folding of non-ASCII
Latin-1 lines (bug#17758).
Lars Ingebrigtsen [Sat, 29 May 2021 05:04:34 +0000 (07:04 +0200)]
Improve Octave indentation after continuation lines
* lisp/progmodes/octave.el (octave-smie-rules): Indent
continuation lines better (bug#17955).
Lars Ingebrigtsen [Sat, 29 May 2021 04:02:13 +0000 (06:02 +0200)]
Improve the file-accessible-directory-p doc strin
* src/fileio.c (Ffile_accessible_directory_p): Don't use the
phrase "directory name spec", which isn't defined (bug#18201).
Lars Ingebrigtsen [Sat, 29 May 2021 03:22:31 +0000 (05:22 +0200)]
Fix point movement in morse-region and nato-region
* lisp/play/morse.el (morse-region):
(nato-region): Leave point after the translated region
(bug#18717).
Peter Oliver [Sat, 29 May 2021 02:15:28 +0000 (04:15 +0200)]
Rename emacs.appdata.xml to emacs.metainfo.xml and add more data
* Makefile.in: Replace "appdata" with "metainfo".
This is the name currently recommended by the spec at
<https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html>.
* etc/emacs.metainfo.xml: Populate more fields, based on those
available in
https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html
(bug#48662).
Copyright-paperwork-exempt: yes
Lars Ingebrigtsen [Sat, 29 May 2021 02:08:57 +0000 (04:08 +0200)]
Revert "Continue checking the same line when hitting SPC in ispell"
This reverts commit
390044f854fa103020ffca00eb1fe0e16805ad72.
This breaks the `a' command, so it should be fixed in a different way.
Juri Linkov [Fri, 28 May 2021 18:58:11 +0000 (21:58 +0300)]
* lisp/outline.el (outline-font-lock-keywords): Fix highlight case (bug#48707)
Utkarsh Singh [Fri, 28 May 2021 18:55:13 +0000 (21:55 +0300)]
* lisp/outline.el (outline-minor-mode-highlight): Fix safe-local-variable.
Copyright-paperwork-exempt: yes