]> git.eshelyaron.com Git - emacs.git/log
emacs.git
3 years ago; Bump isearch.el :version after recent change.
Basil L. Contovounesios [Tue, 1 Jun 2021 17:04:48 +0000 (18:04 +0100)]
; Bump isearch.el :version after recent change.

3 years agoImprove performance of NS port's display on macOS
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.

3 years ago* Add `native-compile-target-directory' (bug#48743)
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.

3 years agoRename batch-byte-native-compile-for-bootstrap (bug#48743)
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'.

3 years agoRemove unnecessary function declaration in isearch
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).

3 years agoAvoid hang in nnimap-keepalive
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.

3 years ago; Auto-commit of loaddefs files.
Glenn Morris [Tue, 1 Jun 2021 13:29:13 +0000 (06:29 -0700)]
; Auto-commit of loaddefs files.

3 years ago* lisp/gnus/gnus-art.el: Don't sneak dynbound code via quoting
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.

3 years agoAdd annotation capability to icomplete-vertical-mode
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.

3 years agoImprove icomplete-vertical-mode and fido-vertical-mode
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.

3 years agoAllow packages to change the hl-line overlay priority
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.

3 years agoFix problem with `format-alist' marking all the text in the buffer
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.

3 years agoDocument `with-selected-frame'
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).

3 years agoObsolete `global-whitespace-newline-mode'
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).

3 years agoAdd a new command `mailcap-view-file'
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.

3 years agoFix documentation of literal `face' syntax in font-lock section
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).

3 years agoImprove random selection of keyservers
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.

3 years ago* lisp/isearch.el (lazy-highlight-buffer-max-at-a-time): Change from 20 to 200
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

3 years ago* Make *Async-native-compile-log* buffer read-only (bug#48763)
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.

3 years agoMake frames record when their selected window was the mini-window
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.

3 years ago* src/keyboard.c (make_lispy_event): Fix previous.
Glenn Morris [Mon, 31 May 2021 15:40:26 +0000 (08:40 -0700)]
* src/keyboard.c (make_lispy_event): Fix previous.

3 years agoMerge from origin/emacs-27
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

3 years agoCorrect mouse handling when window origin changes between down and up events
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.

3 years agoRemove spurious @example from the elisp manual
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

3 years agoRemove messaging in ediff-make-diff2-buffer
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).

3 years agoPut ELP results in a special-mode buffer
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.

3 years agoMake `menu-bar-select-buffer' obsolete
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.

3 years agoRevert "Move menu-bar-select-buffer to msb.el"
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.

3 years agoUse buffer-local-boundp in describe-variable
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'.

3 years agoAdd new convenience function `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.

3 years agoSpeed up `describe-variable' completion predicate
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).

3 years agoFix error in xdg-mime-apps-files when XDG_CURRENT_DESKTOP is defined
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).

3 years agoDocument that the 'syntax-propertize-function' may move point.
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.

3 years agoGive 'syntax-propertize-wholelines' a docstring.
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.

3 years agotime-stamp: fix minor bug when parsing option combos
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.

3 years agotime-stamp: refactor time-stamp-string-preprocess
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.

3 years agoDo not reset settings when disabling a theme
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)

3 years agoImprove documentation of regexp ranges
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)

3 years agoDon't account for character compositions in 'format' and friends
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.

3 years agoClarify that `symbol-file' only works for symbols in Lisp files
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).

3 years agoAllow help-C-file-name to work on symbols designating subrs
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).

3 years agoFix kmacro-view-ring-2nd doc string
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).

3 years agoMove menu-bar-select-buffer to msb.el
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).

3 years agotime-stamp: improve unit-test coverage
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.

3 years ago`minibuffer-exit-hook' doc string clarification
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).

3 years agoAdd a new documentation group for overlays
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).

3 years agoImprove the documentation of documentation groups
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)

3 years agoTweak octave continuation indentation
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).

3 years agoClarify indent-line-function doc string
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).

3 years ago* lisp/mpc.el (mpc-format): Fix inf-loop in constructed predicate
Stefan Monnier [Sat, 29 May 2021 18:24:23 +0000 (14:24 -0400)]
* lisp/mpc.el (mpc-format): Fix inf-loop in constructed predicate

3 years ago* lisp/wdired.el (wdired-normalize-filename): Sync with
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)

3 years ago* lisp/electric.el: Do auto-indent inside strings and comments by default
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.

3 years agoImprove tex fontification of quoted strings
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).

3 years agoFix last change
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.

3 years agoFix key recording bug when an input method is activated
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'.

3 years ago; * etc/NEWS: Slight improvement of last entry
Mattias Engdegård [Sat, 29 May 2021 07:32:49 +0000 (09:32 +0200)]
; * etc/NEWS: Slight improvement of last entry

3 years ago; * lisp/emacs-lisp/rx.el (rx--pcase-macroexpander): slight rephrase
Mattias Engdegård [Fri, 28 May 2021 09:51:32 +0000 (11:51 +0200)]
; * lisp/emacs-lisp/rx.el (rx--pcase-macroexpander): slight rephrase

3 years ago; * lisp/mail/rmail.el (rmail-simplified-subject): Dodge relint nag
Mattias Engdegård [Fri, 28 May 2021 09:48:00 +0000 (11:48 +0200)]
; * lisp/mail/rmail.el (rmail-simplified-subject): Dodge relint nag

3 years agoFix shortdoc examples
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.

3 years agoAdd lambda to the pretty Ruby symbols list
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).

3 years agoAdd pretty symbols to ruby-mode
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.

3 years agoMention the recent floating point reader changes in NEWS
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).

3 years agoImprove the dired-guess-shell-alist-user doc string
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).

3 years agoFix folding of non-ASCII lines when printing to Postscript
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).

3 years agoImprove Octave indentation after continuation lines
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).

3 years agoImprove the file-accessible-directory-p doc strin
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).

3 years agoFix point movement in morse-region and nato-region
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).

3 years agoRename emacs.appdata.xml to emacs.metainfo.xml and add more data
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

3 years agoRevert "Continue checking the same line when hitting SPC in ispell"
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.

3 years ago* lisp/outline.el (outline-font-lock-keywords): Fix highlight case (bug#48707)
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)

3 years ago* lisp/outline.el (outline-minor-mode-highlight): Fix safe-local-variable.
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

3 years ago; * src/Makefile.in: Fix typo.
Philipp Stephani [Fri, 28 May 2021 14:56:17 +0000 (16:56 +0200)]
; * src/Makefile.in: Fix typo.

3 years agoAnother stability fix in 'lisp_string_width'
Eli Zaretskii [Fri, 28 May 2021 11:03:16 +0000 (14:03 +0300)]
Another stability fix in 'lisp_string_width'

* src/character.c (lisp_string_width): Compute C pointer to data
of STRING immediately before using it, since STRING could be
relocated by GC triggered by processing compositions.  (Bug#48711)

3 years agoAttempt to fix segfaults caused by changes in 'lisp_string_width'
Eli Zaretskii [Fri, 28 May 2021 07:25:26 +0000 (10:25 +0300)]
Attempt to fix segfaults caused by changes in 'lisp_string_width'

* src/character.c (lisp_string_width): Validate the value of TO
argument before passing it to 'composition_gstring_width'.
(Bug#48711)

3 years agoImprove previous frames.texi change
Lars Ingebrigtsen [Fri, 28 May 2021 01:37:13 +0000 (03:37 +0200)]
Improve previous frames.texi change

* doc/emacs/frames.texi (Fonts): Use conf names instead of path
names (bug#19568).

3 years agoSpecify which Gsetting font names are used in the manual
Lars Ingebrigtsen [Fri, 28 May 2021 01:31:00 +0000 (03:31 +0200)]
Specify which Gsetting font names are used in the manual

* doc/emacs/frames.texi (Fonts): Explicitly say what Gsettings
names are used (bug#19568).

3 years agoFix previous admin/emake change
Lars Ingebrigtsen [Fri, 28 May 2021 01:04:57 +0000 (03:04 +0200)]
Fix previous admin/emake change

3 years agoAdjust admin/emake filters
Lars Ingebrigtsen [Fri, 28 May 2021 01:04:12 +0000 (03:04 +0200)]
Adjust admin/emake filters

Recent changes have made etc/doc always be regenerated, so it's no
longer interesting.  And all "git pull"s will make

  INFO     Scraping files for cal-loaddefs.el...
  INFO     Scraping files for cal-loaddefs.el...done

etc be output, so filter them, too.

3 years agoContinue checking the same line when hitting SPC in ispell
Lars Ingebrigtsen [Fri, 28 May 2021 00:09:10 +0000 (02:09 +0200)]
Continue checking the same line when hitting SPC in ispell

* lisp/textmodes/ispell.el (ispell-process-line): Continue
checking the same line when hitting SPC (bug#20543).

3 years agoFix looking-at-p example in shortdoc.el
Daniel Martín [Thu, 27 May 2021 23:45:28 +0000 (01:45 +0200)]
Fix looking-at-p example in shortdoc.el

* lisp/emacs-lisp/shortdoc.el (regexp): Use `looking-at-p' instead of
`looking-at' (bug#48709).

3 years agoMention the -e switch in an ange-ftp doc string
Alex Bochannek [Thu, 27 May 2021 23:24:37 +0000 (01:24 +0200)]
Mention the -e switch in an ange-ftp doc string

* lisp/net/ange-ftp.el (ange-ftp-ftp-program-args): Mention the -e
switch (bug#48494).

3 years agoFix nnimap lexical conversion problem
Alex Bochannek [Thu, 27 May 2021 23:19:38 +0000 (01:19 +0200)]
Fix nnimap lexical conversion problem

* lisp/gnus/nnimap.el (nnimap-process-expiry-targets): Fix problem
introduced when converting to lexical binding -- `set' alters the
dynamic value (bug#48577).

3 years ago* lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand): Silence warnings
Stefan Monnier [Thu, 27 May 2021 21:31:57 +0000 (17:31 -0400)]
* lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand): Silence warnings

(byte-optimize--lexvars): Move before first use instead of using `dlet`
on that first use.

3 years ago* lisp/progmodes/sql.el: Turn `sql-*-statement-starters' to defvars.
Ingo Lohmar [Thu, 27 May 2021 20:52:11 +0000 (22:52 +0200)]
* lisp/progmodes/sql.el: Turn `sql-*-statement-starters' to defvars.

These variables hold information on the SQL standard and
product-specific additions and should not be user-customizable.

3 years ago; * src/character.c (lisp_string_width): Another defensive fix.
Eli Zaretskii [Thu, 27 May 2021 14:15:53 +0000 (17:15 +0300)]
; * src/character.c (lisp_string_width): Another defensive fix.

3 years ago* src/character.c (lisp_string_width): Fix a typo in recent change.
Eli Zaretskii [Thu, 27 May 2021 13:51:56 +0000 (16:51 +0300)]
* src/character.c (lisp_string_width): Fix a typo in recent change.

3 years agoFix resolution of symlinks during dumping
Eli Zaretskii [Thu, 27 May 2021 13:31:14 +0000 (16:31 +0300)]
Fix resolution of symlinks during dumping

* src/comp.c (Fcomp_el_to_eln_rel_filename): Don't use
'file-truename', as it is only available once files.el is loaded,
which doesn't work during dumping, until loadup loads files.el.
Instead, use 'realpath'.  (Bug#48578)
* src/w32.c (realpath): New function.
* src/w32.h (realpath): Add prototype.

* nt/mingw-cfg.site (ac_cv_func_realpath)
(gl_cv_func_realpath_works): Define to "yes", as this function is
now implemented in w32.c.

3 years ago; * etc/tutorials/TUTORIAL.sv: Fix typo in last change.
Mattias Engdegård [Thu, 27 May 2021 12:35:32 +0000 (14:35 +0200)]
; * etc/tutorials/TUTORIAL.sv: Fix typo in last change.

3 years ago* src/character.c (lisp_string_width): Fix last change.
Eli Zaretskii [Thu, 27 May 2021 12:29:12 +0000 (15:29 +0300)]
* src/character.c (lisp_string_width): Fix last change.

3 years agoFix lexing of numbers with trailing decimal point and exponent
Mattias Engdegård [Thu, 20 May 2021 16:26:15 +0000 (18:26 +0200)]
Fix lexing of numbers with trailing decimal point and exponent

Numbers with a trailing dot and an exponent were incorrectly read as
integers (with the exponent ignored) instead of the floats they should
be.  For example, 1.e6 was read as the integer 1, not 1000000.0 as
every sane person would agree was meant. (Bug#48678)

Numbers with a trailing dot but no exponent are still read as
integers.

* src/lread.c (string_to_number): Fix float lexing.
* test/src/lread-tests.el (lread-float): Add test.
* doc/lispref/numbers.texi (Float Basics): Clarify syntax.

3 years agoDon't propagate lexical variables into inlined functions
Mattias Engdegård [Thu, 27 May 2021 12:03:14 +0000 (14:03 +0200)]
Don't propagate lexical variables into inlined functions

Functions compiled when inlined (thus from inside the optimiser)
mustn't retain the lexical environment of the caller or there will be
tears.  See discussion at
https://lists.gnu.org/archive/html/emacs-devel/2021-05/msg01227.html .

Bug found by Stefan Monnier.

* lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand):
Bind byte-optimize--lexvars to nil when re-entering the compiler
recursively.
* test/lisp/emacs-lisp/bytecomp-resources/bc-test-alpha.el:
* test/lisp/emacs-lisp/bytecomp-resources/bc-test-beta.el: New files.
* test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-defsubst): New test.

3 years ago* src/character.c (lisp_string_width): Add missing type checks.
Philipp Stephani [Thu, 27 May 2021 10:44:09 +0000 (12:44 +0200)]
* src/character.c (lisp_string_width): Add missing type checks.

3 years agoA better fix for 'string-width'
Eli Zaretskii [Thu, 27 May 2021 09:24:29 +0000 (12:24 +0300)]
A better fix for 'string-width'

* src/character.c (lisp_string_width): Compute the width when
automatic compositions can happen more accurately, by using the
pixel widths of the grapheme clusters, divided by the default
face's font width.  Disregard the current state of
'auto-composition-mode', for consistency with 'current-column' .

3 years agoFix filling of overlong first lines in Python doc strings
Deneb Meketa [Wed, 26 May 2021 23:21:59 +0000 (01:21 +0200)]
Fix filling of overlong first lines in Python doc strings

* lisp/progmodes/python.el (python-fill-string): Fill overlong
first lines correctly (bug#20860).

Copyright-paperwork-exempt: yes

3 years agoImprove the prompting in read-directory-name
Lars Ingebrigtsen [Wed, 26 May 2021 23:05:35 +0000 (01:05 +0200)]
Improve the prompting in read-directory-name

* lisp/dired-x.el (dired-virtual): Improve doc string and use
`read-directory-name' (bug#20993).

3 years agoFix ediff message parsing in non-English locales
Lars Ingebrigtsen [Wed, 26 May 2021 22:38:33 +0000 (00:38 +0200)]
Fix ediff message parsing in non-English locales

* lisp/vc/ediff-diff.el (ediff-exec-process): Run diff in the C
locale to enable parsing the messages (bug#21387).

3 years ago* lisp/vc/diff-mode.el (diff-hunk-text): Test-driven fix for newlines.
Juri Linkov [Wed, 26 May 2021 22:19:36 +0000 (01:19 +0300)]
* lisp/vc/diff-mode.el (diff-hunk-text): Test-driven fix for newlines.

* lisp/vc/diff-mode.el (diff-hunk-text): Fix handling of newlines
to cover all test cases according to new test.

* test/lisp/vc/diff-mode-tests.el (diff-mode-test-hunk-text-no-newline):
New test to cover cases with no newline at end of file.

3 years agoRemove the base64 Face header repadding in Gnus
Alex Bochannek [Wed, 26 May 2021 21:54:59 +0000 (23:54 +0200)]
Remove the base64 Face header repadding in Gnus

* lisp/gnus/gnus-fun.el (gnus-convert-face-to-png): Remove call.

* lisp/gnus/gnus-util.el (gnus-base64-repad): Remove.

3 years agoImprove some doc strings in bookmark.el
Karl Fogel [Wed, 26 May 2021 19:28:11 +0000 (14:28 -0500)]
Improve some doc strings in bookmark.el

* lisp/bookmark.el (bookmark-bmenu-load): Describe prefix argument
  behavior.  Refer to related functions for more information.
  (bookmark-bmenu-save): Likewise refer to related functions.

As discussed in this thread:

  https://lists.gnu.org/archive/html/emacs-devel/2021-05/msg00389.html

  From: Karl Fogel
  To: Eli Zaretskii
Cc: Matthias Meulien, Drew Adams, Lars Ingebrigtsen,
      Stefan Monnier, Emacs Devel
  Subject: Re: [External] : Re: [PATCH] When deleting in bookmark menu,
           prompt for confirmation.
  Date: Sun, 09 May 2021 13:37:52 -0500
  Message-ID: <87h7jboirj.fsf@red-bean.com>

3 years agoMake 'string-width' auto-composition aware
Eli Zaretskii [Wed, 26 May 2021 17:08:47 +0000 (20:08 +0300)]
Make 'string-width' auto-composition aware

* src/composite.c (find_automatic_composition): Now extern.
(char_composable_p): Don't assume 'unicode-category-table' is
always available.
* src/composite.h (find_automatic_composition): Add prototype.
* src/character.c (lisp_string_width): Support automatic
compositions; call 'find_automatic_composition' when
'auto-composition-mode' is ON.