]> git.eshelyaron.com Git - emacs.git/log
emacs.git
3 years ago; * lisp/repeat.el (repeat-echo-message): Use `string-search`.
Mattias Engdegård [Tue, 24 Aug 2021 13:57:07 +0000 (15:57 +0200)]
; * lisp/repeat.el (repeat-echo-message): Use `string-search`.

3 years agoFix to clear echo-area after repeat-exit-timeout.
Gabriel do Nascimento Ribeiro [Mon, 23 Aug 2021 22:05:58 +0000 (19:05 -0300)]
Fix to clear echo-area after repeat-exit-timeout.

* lisp/repeat.el (repeat-echo-message): Use 'string-match-p'
to handle cases where echo-area contains other messages (bug#50176).

3 years ago; * lisp/time-stamp.el: Improve doc strings.
Stephen Gildea [Tue, 24 Aug 2021 03:04:02 +0000 (20:04 -0700)]
; * lisp/time-stamp.el: Improve doc strings.

Thanks to VEB for her help with the clarity of the documentation.

3 years ago; migrate MH-E to mail-parse library
Stephen Gildea [Tue, 24 Aug 2021 02:58:13 +0000 (19:58 -0700)]
; migrate MH-E to mail-parse library

Move MH-E from low-level libraries to the high-level mail-parse library.

* lisp/mh-e/mh-comp.el: replace ietf-drums-parse-address with
mail-header-parse-address.
* lisp/mh-e/mh-junk.el: replace ietf-drums-parse-address with
mail-header-parse-address; remove mh-funcall-if-exists wrapper.
* lisp/mh-e/mh-xface.el: replace ietf-drums-parse-address with
mail-header-parse-address; remove fboundp wrapper.
* lisp/mh-e/mh-mime.el: replace rfc2047-decode-region with
mail-decode-encoded-word-region.

3 years agoDocument 'jit-lock-bounds'
Eli Zaretskii [Mon, 23 Aug 2021 20:14:00 +0000 (23:14 +0300)]
Document 'jit-lock-bounds'

* doc/lispref/modes.texi (Other Font Lock Variables):
* lisp/jit-lock.el (jit-lock-functions, jit-lock-register):
Document the return value of the fontification functions.

3 years agoImprove documentation of 'inhibit-mouse-event-check'
Eli Zaretskii [Mon, 23 Aug 2021 19:14:03 +0000 (22:14 +0300)]
Improve documentation of 'inhibit-mouse-event-check'

* etc/NEWS:
* src/callint.c (syms_of_callint): Fix wording of the
documentation of 'inhibit-mouse-event-check'.

3 years agoAdd example of advanced user-defined Rx form to manual
Mattias Engdegård [Mon, 23 Aug 2021 15:02:51 +0000 (17:02 +0200)]
Add example of advanced user-defined Rx form to manual

* doc/lispref/searching.texi (Extending Rx): Add example illustrating
how to define a user-defined Rx form that performs computation,
from a discussion with Michael Herdeegen (bug#50136).
* lisp/emacs-lisp/rx.el (rx): Clarify evaluation time for `eval`.

3 years ago* lisp/mouse.el (context-menu-open): New command bound to [S-f10].
Juri Linkov [Mon, 23 Aug 2021 17:42:16 +0000 (20:42 +0300)]
* lisp/mouse.el (context-menu-open): New command bound to [S-f10].

* doc/emacs/frames.texi (Menu Mouse Clicks): Mention S-F10
to pop up the context menu.

* src/callint.c (Fcall_interactively):
Use inhibit_mouse_event_check for the case 'e'.
(inhibit-mouse-event-check): New variable.

https://lists.gnu.org/archive/html/emacs-devel/2021-08/msg00733.html

3 years agoFix recently added cperl test
Glenn Morris [Mon, 23 Aug 2021 17:36:57 +0000 (10:36 -0700)]
Fix recently added cperl test

* test/lisp/progmodes/cperl-mode-tests.el
(cperl-test-here-doc-missing-end): Fix quote regexp.

3 years ago; * doc/emacs/files.texi (Auto Save Files): Fix a typo.
Eli Zaretskii [Mon, 23 Aug 2021 16:19:13 +0000 (19:19 +0300)]
; * doc/emacs/files.texi (Auto Save Files): Fix a typo.

3 years agoImprove recently-changed docs
Eli Zaretskii [Mon, 23 Aug 2021 16:11:49 +0000 (19:11 +0300)]
Improve recently-changed docs

* src/frame.c (Fnext_frame):
* doc/lispref/frames.texi (Finding All Frames): Improve wording
and style of the 'next-frame's documentation.

3 years agoFix doc strings in recent changes.
Eli Zaretskii [Mon, 23 Aug 2021 16:01:09 +0000 (19:01 +0300)]
Fix doc strings in recent changes.

* lisp/progmodes/cperl-mode.el (cperl-commentify)
(cperl-here-doc-functions, cperl-is-here-doc-p)
(cperl-find-pods-heres): Fix wording, style, and punctuation of
doc strings.

3 years ago; cperl-mode: bugfix / rework fontification of here-docs
Harald Jörg [Mon, 23 Aug 2021 14:26:45 +0000 (16:26 +0200)]
; cperl-mode: bugfix / rework fontification of here-docs

* lisp/progmodes/cperl-mode.el (cperl-mode): Use
`cperl-font-lock-syntactic-face-function'.
(cperl-commentify): Add a docstring, eliminate unused formal
parameter `noface'.
(cperl-is-here-doc-p): New function to detect whether "<<" starts
a here-document, factored out from `cperl-find-pods-heres'.
(cperl-here-doc-functions): New variable: List of functions which
allow here-documents as parameters, for use in
`cperl-is-here-doc-p'.
(cperl-process-here-doc): New function, factored out from
`cperl-find-pods-heres'.  Fixed to keep correct fontification
after non-interactive (elisp) changes (Bug#14343, Bug#28962).
(cperl-find-pods-heres): Extend the doc-string to describe all
parameters.  Don't remove text properties in recursive calls on
the same line.  Call `cperl-process-here-doc' when appropriate.
(cperl-font-lock-syntactic-face-function): New function to
highlight c-style comments as here-documents (adapted from
perl-mode.el).

* test/lisp/progmodes/cperl-mode-tests.el
(cperl-test-identify-heredoc): New test for the new function
`cperl-is-here-doc-p'.
(cperl-test-identify-no-heredoc): New test for the new function
`cperl-is-here-doc-p', testing constructs which start with "<<"
but are no here-documents.
(cperl-test-here-doc-missing-end): New test to verify correct
detection of a missing here-document delimiter.
(cperl-test-bug-14343): New test to verify that inserting text
into a here-document with elisp does not break fontification.

3 years agoClarify the documentation of `next-frame'
Lars Ingebrigtsen [Mon, 23 Aug 2021 14:32:33 +0000 (16:32 +0200)]
Clarify the documentation of `next-frame'

* doc/lispref/frames.texi (Finding All Frames): Clarify what it
means to "consider".
* src/frame.c (Fnext_frame): Rewrite doc string to say what the
parameters actually mean (bug#13339).

3 years agoAdd new variable 'kill-buffer/delete-auto-save-files'
Lars Ingebrigtsen [Mon, 23 Aug 2021 13:56:50 +0000 (15:56 +0200)]
Add new variable 'kill-buffer/delete-auto-save-files'

* doc/emacs/files.texi (Auto Save Files): Document it.
* lisp/cus-start.el (standard): Add customize form.

* lisp/files.el (delete-auto-save-files): Move definition to C
(since it's used in the C layer).

* src/buffer.c (Fkill_buffer): Use the new variable (and remove
the old code that apparently didn't trigger for
kill-buffer/delete-auto-save-files.
(syms_of_buffer): Add new variable
kill-buffer-delete-auto-save-files and move definition of
delete-auto-save-files here (bug#21612).

3 years agoComplete implementation of `copy-directory-create-symlink' in Tramp
Michael Albinus [Mon, 23 Aug 2021 13:47:19 +0000 (15:47 +0200)]
Complete implementation of `copy-directory-create-symlink' in Tramp

* lisp/net/tramp-sh.el (tramp-sh-handle-copy-directory): Fix the case
NEWNAME is a directory name with a trailing slash.

* lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory):
Implement `copy-directory-create-symlink'.  (Bug#10897)

* test/lisp/net/tramp-tests.el
(tramp--test-ignore-make-symbolic-link-error): Move up.
(tramp-test15-copy-directory): Extend test.

3 years ago; * doc/lispref/variables.texi (Local Variables): Fix indexing.
Eli Zaretskii [Mon, 23 Aug 2021 11:50:24 +0000 (14:50 +0300)]
; * doc/lispref/variables.texi (Local Variables): Fix indexing.

3 years ago; * etc/NEWS: Fix wording of a recent change.
Eli Zaretskii [Mon, 23 Aug 2021 11:43:35 +0000 (14:43 +0300)]
; * etc/NEWS: Fix wording of a recent change.

3 years ago* lisp/mouse.el (context-menu-toolbar): New function.
Juri Linkov [Mon, 23 Aug 2021 07:33:36 +0000 (10:33 +0300)]
* lisp/mouse.el (context-menu-toolbar): New function.

(context-menu-functions): Add context-menu-toolbar to choice.
(context-menu-region): Bind "Paste" to mouse-yank-at-click
instead of mouse-yank-primary.
https://lists.gnu.org/archive/html/emacs-devel/2021-08/msg00735.html

3 years agoClarify :stderr in the make-process doc string
Lars Ingebrigtsen [Mon, 23 Aug 2021 01:53:41 +0000 (03:53 +0200)]
Clarify :stderr in the make-process doc string

* src/process.c (Fmake_process): Elaborate upon what :stderr does
(bug#50166).

3 years agoUpdate NEWS tagging for modules and parse-time-string
Lars Ingebrigtsen [Mon, 23 Aug 2021 00:25:49 +0000 (02:25 +0200)]
Update NEWS tagging for modules and parse-time-string

3 years agoDocument `dlet'
Lars Ingebrigtsen [Mon, 23 Aug 2021 00:13:40 +0000 (02:13 +0200)]
Document `dlet'

* doc/lispref/variables.texi (Local Variables): Document `dlet'.

3 years agoImprove byte-compile-warnings doc string
Lars Ingebrigtsen [Mon, 23 Aug 2021 00:04:55 +0000 (02:04 +0200)]
Improve byte-compile-warnings doc string

* lisp/emacs-lisp/bytecomp.el (byte-compile-warnings): Mention
'byte-compile-docstring-max-column'.

3 years agoDo command mode markup in xwidget.el
Lars Ingebrigtsen [Sun, 22 Aug 2021 23:52:16 +0000 (01:52 +0200)]
Do command mode markup in xwidget.el

3 years agoMake xwidget-webkit-enable-plugins a defcustom
Lars Ingebrigtsen [Sun, 22 Aug 2021 23:45:10 +0000 (01:45 +0200)]
Make xwidget-webkit-enable-plugins a defcustom

* lisp/xwidget.el (xwidget-webkit-enable-plugins): Make into
defcustom.

3 years agoFix recent parse-partial-sexp argument validation
Basil L. Contovounesios [Sat, 21 Aug 2021 21:55:58 +0000 (22:55 +0100)]
Fix recent parse-partial-sexp argument validation

* src/syntax.c (parse-partial-sexp): Also handle markers as
arguments (bug#49944).  Tweak error message to follow conventions in
"(elisp) Signaling Errors".

3 years agoSet a unique ID for eln files on macOS (bug#45934)
Andrea Corallo [Sun, 22 Aug 2021 21:08:37 +0000 (22:08 +0100)]
Set a unique ID for eln files on macOS (bug#45934)

* src/comp.c (Fcomp__compile_ctxt_to_file): Set gcc's -install_name
parameter to the real filename.

3 years agoSet label for NSToolbarItem (bug#50159)
Masahiro Nakamura [Sun, 22 Aug 2021 01:13:58 +0000 (10:13 +0900)]
Set label for NSToolbarItem (bug#50159)

* src/nsmenu.m (update_frame_tool_bar): Get label text and pass it to ...
([EmacsToolbar addDisplayItemWithImage:idx:tag:labelText:helpText:enabled:]):
... this that sets label for NSToolbarItem.
* src/nsterm.h
([EmacsToolbar addDisplayItemWithImage:idx:tag:labelText:helpText:enabled:]):
Add labelText argument.

3 years agoImplement `copy-directory-create-symlink' for remote files
Michael Albinus [Sun, 22 Aug 2021 18:44:54 +0000 (20:44 +0200)]
Implement `copy-directory-create-symlink' for remote files

* lisp/net/tramp-sh.el (tramp-sh-handle-copy-directory):
Implement `copy-directory-create-symlink'.  (Bug#10897)

* test/lisp/net/tramp-tests.el (tramp-test15-copy-directory):
Extend test.

3 years agoDouble check completions-group customization variable in Icomplete
João Távora [Sun, 22 Aug 2021 15:36:26 +0000 (16:36 +0100)]
Double check completions-group customization variable in Icomplete

bug#48545

* lisp/icomplete.el (icomplete--augment): Double check completions-group.

3 years agoDon't mess up grouping in completion-all-sorted-completions
João Távora [Sun, 22 Aug 2021 14:56:36 +0000 (15:56 +0100)]
Don't mess up grouping in completion-all-sorted-completions

The default sorting order will mess up the naturally grouped order of
the candidates in the table that specified the group-function.

As seen in xref.el when

   (setq xref-show-definitions-function
         'xref-show-definitions-completing-read)
   (setq completions-group t)
   M-x fido-mode

Also partially seen with C-x 8 RET (M-x insert-char) with

   (setq read-char-by-name-sort 'code)

bug#48545

* lisp/minibuffer.el (completion-all-sorted-completions): Don't
use default sort if there's a group-function in the table.

3 years agoRevert "Fix dired switch (that contain quotes and spaces) parsing"
Lars Ingebrigtsen [Sun, 22 Aug 2021 14:58:19 +0000 (16:58 +0200)]
Revert "Fix dired switch (that contain quotes and spaces) parsing"

This reverts commit 04f723dec944eaa7b5e99373840a8bf920ba5fdd.

The dired switches are documented to not follow shell syntax, but instead
uses a lisp-in-string-form kind of quoting.

3 years agoDon't echo empty string in file-name-with-extension
Colin Woodbury [Sun, 22 Aug 2021 14:27:12 +0000 (16:27 +0200)]
Don't echo empty string in file-name-with-extension

* lisp/files.el (file-name-with-extension): Avoid echoing a filename
string known to be empty (bug#50149).

3 years agoAvoid using %n in emacsclient
Omar Polo [Sun, 22 Aug 2021 14:23:54 +0000 (16:23 +0200)]
Avoid using %n in emacsclient

* lib-src/emacsclient.c (local_sockname): Avoid using %n (bug#50155).

3 years agoSome adaptions for Tramp's security key detection.
Michael Albinus [Sun, 22 Aug 2021 12:50:19 +0000 (14:50 +0200)]
Some adaptions for Tramp's security key detection.

* lisp/net/tramp.el (tramp-security-key-timeout-regexp): New defcustom.
(tramp-action-show-and-confirm-message): Don't use timeout, check
for the timeout message of the ssh command.

3 years agoMake Qhide declaration non-target-specific
Mattias Engdegård [Sun, 22 Aug 2021 08:56:39 +0000 (10:56 +0200)]
Make Qhide declaration non-target-specific

* src/xfns.c (syms_of_xfns): Move DEFSYM from here...
* src/menu.c (syms_of_menu): ... to here.
This fixes the NS build after dd7d966eb40b.

3 years ago* lisp/mouse.el (context-menu-mode-map): New variable.
Ergus [Sun, 22 Aug 2021 08:56:01 +0000 (11:56 +0300)]
* lisp/mouse.el (context-menu-mode-map): New variable.

(context-menu--saved-bindings, context-menu--bind-mouse)
(context-menu--restore-bindings): Remove.
(context-menu-mode): Don't use removed functions.

3 years agoDon't show menu titles with the text property 'hide' (bug#50067)
Juri Linkov [Sun, 22 Aug 2021 08:44:55 +0000 (11:44 +0300)]
Don't show menu titles with the text property 'hide' (bug#50067)

* lisp/mouse.el (context-menu-map): Add menu title "Context Menu"
propertized with the text property 'hide'.

* src/menu.c (x_popup_menu_1): Don't show the title with the non-nil
text property 'hide' on GTK and NS.

3 years ago; * lisp/emacs-lisp/comp.el (native-comp-async-cu-done-functions): Doc fix.
Eli Zaretskii [Sun, 22 Aug 2021 08:42:05 +0000 (11:42 +0300)]
; * lisp/emacs-lisp/comp.el (native-comp-async-cu-done-functions): Doc fix.

3 years agoImprove documentation of 'set-keyboard-coding-system'
Eli Zaretskii [Sun, 22 Aug 2021 08:32:26 +0000 (11:32 +0300)]
Improve documentation of 'set-keyboard-coding-system'

* doc/lispref/nonascii.texi (Terminal I/O Encoding):
* doc/emacs/mule.texi (Terminal Coding):
* lisp/international/mule.el (set-keyboard-coding-system):
Document that 'set-keyboard-coding-system' has no effect on modern
MS-Windows systems.  (Bug#15289)

3 years ago* test/lisp/international/ucs-normalize-tests.el: Save 30m on hydra.
Glenn Morris [Sun, 22 Aug 2021 01:28:38 +0000 (18:28 -0700)]
* test/lisp/international/ucs-normalize-tests.el: Save 30m on hydra.

3 years agomh-x-image-url-sane-p: accept "https" URLs
Stephen Gildea [Sun, 22 Aug 2021 00:25:46 +0000 (17:25 -0700)]
mh-x-image-url-sane-p: accept "https" URLs

* lisp/mh-e/mh-xface.el (mh-x-image-url-sane-p): Accept https URLs.
* test/lisp/mh-e/mh-xface.el: New file, to test mh-x-image-url-sane-p.

3 years ago; MH-E doc: SourceForge repo is no longer current
Stephen Gildea [Sat, 21 Aug 2021 21:37:54 +0000 (14:37 -0700)]
; MH-E doc: SourceForge repo is no longer current

* doc/misc/mh-e.texi, lisp/mh-e/mh-e.el: Update references to
SourceForge with current URLs and a note that MH-E development
no longer occurs in that repository.

3 years ago* test/Makefile.in: Turn off hydra verbose logging for electric-tests.
Glenn Morris [Sat, 21 Aug 2021 19:17:39 +0000 (12:17 -0700)]
* test/Makefile.in: Turn off hydra verbose logging for electric-tests.

3 years ago* test/lisp/net/tramp-tests.el: Reduce hydra run time by 1 hour.
Glenn Morris [Sat, 21 Aug 2021 18:46:40 +0000 (11:46 -0700)]
* test/lisp/net/tramp-tests.el: Reduce hydra run time by 1 hour.

It's just too slow to run these after every commit.

3 years ago; Load xref when needed (not all functions are autoloaded)
Mattias Engdegård [Sat, 21 Aug 2021 18:16:41 +0000 (20:16 +0200)]
; Load xref when needed (not all functions are autoloaded)

3 years ago* test/lisp/electric-tests.el: Un-skip c-mode tests on hydra.
Glenn Morris [Sat, 21 Aug 2021 16:41:16 +0000 (09:41 -0700)]
* test/lisp/electric-tests.el: Un-skip c-mode tests on hydra.

3 years agoFix failures in recent files tests
Lars Ingebrigtsen [Sat, 21 Aug 2021 15:45:24 +0000 (17:45 +0200)]
Fix failures in recent files tests

* test/lisp/files-tests.el (files-tests-buffer-offer-save)
(files-tests-save-buffers-kill-emacs--asks-to-save-buffers):
`read-event' is called with arguments.

3 years agoClarify cl-defstruct doc string and manual entry somewhat
Lars Ingebrigtsen [Sat, 21 Aug 2021 14:50:16 +0000 (16:50 +0200)]
Clarify cl-defstruct doc string and manual entry somewhat

* doc/misc/cl.texi (Structures): Rename the slot "name" in the
examples to "first-name", since we're talking about the names of
slots a lot here, and having a slot with the name "name" makes the
examples somewhat confusing.
* lisp/emacs-lisp/cl-macs.el (cl-defstruct): Clarify certain
things about slots (bug#14278).

3 years ago; * lisp/dired.el (dired-jump): Doc fix.
Eli Zaretskii [Sat, 21 Aug 2021 14:38:27 +0000 (17:38 +0300)]
; * lisp/dired.el (dired-jump): Doc fix.

3 years agoFix perldb doc string
Lars Ingebrigtsen [Sat, 21 Aug 2021 14:28:51 +0000 (16:28 +0200)]
Fix perldb doc string

* lisp/progmodes/gud.el (perldb): Fix doc string (bug#14588).

3 years agoClarify dired-jump doc string
Lars Ingebrigtsen [Sat, 21 Aug 2021 14:20:30 +0000 (16:20 +0200)]
Clarify dired-jump doc string

* lisp/dired.el (dired-jump): Make the doc string say what happens
in buffers not visiting files (bug#14733).

3 years ago; Fix Texinfo markup of a recent change
Eli Zaretskii [Sat, 21 Aug 2021 14:15:43 +0000 (17:15 +0300)]
; Fix Texinfo markup of a recent change

* doc/lispintro/emacs-lisp-intro.texi (count-words-in-defun): Fix
last change.

3 years ago; * src/syntax.c: Remove a stray comment.
Eli Zaretskii [Sat, 21 Aug 2021 14:13:46 +0000 (17:13 +0300)]
; * src/syntax.c: Remove a stray comment.

3 years agoTweak the comment-start-skip example in the manual
Lars Ingebrigtsen [Sat, 21 Aug 2021 14:07:44 +0000 (16:07 +0200)]
Tweak the comment-start-skip example in the manual

* doc/emacs/programs.texi (Options for Comments): Tweak the
example regexp for comment-start-skip (bug#15006).

3 years agoClarify how to do the `count-words-in-defun' recipe
Lars Ingebrigtsen [Sat, 21 Aug 2021 13:43:06 +0000 (15:43 +0200)]
Clarify how to do the `count-words-in-defun' recipe

* doc/lispintro/emacs-lisp-intro.texi (count-words-in-defun):
Clarify the recipe (bug#15069).

3 years ago; * etc/NEWS: Fix last change.
Eli Zaretskii [Sat, 21 Aug 2021 13:38:24 +0000 (16:38 +0300)]
; * etc/NEWS: Fix last change.

3 years agoMake parse-partial-sexp signal an error if TO is smaller than FROM
Lars Ingebrigtsen [Sat, 21 Aug 2021 13:24:15 +0000 (15:24 +0200)]
Make parse-partial-sexp signal an error if TO is smaller than FROM

* src/syntax.c (Fparse_partial_sexp): Signal an error if TO is
smaller than FROM (bug#49944).

3 years agoMention problems with synthetic fonts on macOS
Lars Ingebrigtsen [Sat, 21 Aug 2021 13:03:21 +0000 (15:03 +0200)]
Mention problems with synthetic fonts on macOS

* etc/PROBLEMS: Mention synthetic fonts (bug#18818).

3 years agoFix display bug on macOS (bug#50112)
Alan Third [Sat, 21 Aug 2021 12:09:37 +0000 (13:09 +0100)]
Fix display bug on macOS (bug#50112)

* src/nsterm.m ([EmacsLayer initWithColorSpace:]): Use the colorspace
setter.
([EmacsLayer setColorSpace:]): Sometimes we seem to get null
colorspaces, so set a default in this case.
([EmacsLayer getContext]): Check whether there's been a surface or
graphics context allocation failure and log it.

3 years ago* configure.ac: Make homebrew check for libgccjit match macports.
Alan Third [Tue, 17 Aug 2021 19:38:55 +0000 (20:38 +0100)]
* configure.ac: Make homebrew check for libgccjit match macports.

3 years agoRemove default "Select" title from NS popup menus (bug#50067)
Mattias Engdegård [Fri, 20 Aug 2021 19:21:05 +0000 (21:21 +0200)]
Remove default "Select" title from NS popup menus (bug#50067)

* src/menu.c (x_popup_menu_1): Remove default "Select" title.
* src/nsmenu.m (ns_menu_show): Allow title to be absent.

3 years agoUse overlay arrow to indicate current *xref* selection
Mattias Engdegård [Sat, 21 Aug 2021 10:38:40 +0000 (12:38 +0200)]
Use overlay arrow to indicate current *xref* selection

* lisp/progmodes/xref.el (xref--set-arrow): New function.
(xref-show-location-at-point, xref-goto-xref)
(xref--next-error-function): Call it.
(xref--show-common-initialize): Remove arrow.

3 years agoAdd "Find References" to context menu (bug#50067)
Mattias Engdegård [Fri, 20 Aug 2021 16:19:43 +0000 (18:19 +0200)]
Add "Find References" to context menu (bug#50067)

The new entry appears next to "Find Definition" and like it only
appears when the context menu was invoked on an identifier.

* lisp/progmodes/prog-mode.el (prog-context-menu): New menu entry.
* lisp/progmodes/xref.el (xref-find-references-at-mouse): New
function, analogous to `xref-find-definitions-at-mouse`.

3 years agoIndicate progress while searching for references in xref
Mattias Engdegård [Sat, 21 Aug 2021 09:34:32 +0000 (11:34 +0200)]
Indicate progress while searching for references in xref

* lisp/progmodes/xref.el (xref-backend-references): Add messages to
show the user that something is happening instead of silently freezing
during the frequently long synchronous searches for references.

3 years agoRe-type the :location slot in `xref-match-item` to `xref-location`
Mattias Engdegård [Sat, 21 Aug 2021 09:05:57 +0000 (11:05 +0200)]
Re-type the :location slot in `xref-match-item` to `xref-location`

* lisp/progmodes/xref.el (xref-match-item): Change type for
:location from `xref-file-location`, which was likely a mistake,
to `xref-location`. This allows `xref-make-match` to take
arguments of any subtype of `xref-location` (bug#50067).

3 years agoAdd xref operations to context menu unconditionally
Mattias Engdegård [Sat, 21 Aug 2021 08:59:54 +0000 (10:59 +0200)]
Add xref operations to context menu unconditionally

* lisp/progmodes/prog-mode.el (prog-context-menu):
Add xref operations to the context menu even if xref hasn't been
loaded yet; the functions involved are autoloaded (bug#50067).

3 years agoCC Mode: Move a macro to before its first use in a file.
Alan Mackenzie [Sat, 21 Aug 2021 09:39:31 +0000 (09:39 +0000)]
CC Mode: Move a macro to before its first use in a file.

* lisp/progmodes/cc-defs.el (c-benign-error): Move earlier in the file for the
benefit of c-tnt-chng-cleanup.

3 years ago; * etc/TODO: Fix typo.
Basil L. Contovounesios [Sat, 21 Aug 2021 09:37:26 +0000 (10:37 +0100)]
; * etc/TODO: Fix typo.

3 years agoImprove documentation of context menus
Eli Zaretskii [Sat, 21 Aug 2021 08:49:56 +0000 (11:49 +0300)]
Improve documentation of context menus

* doc/lispref/modes.texi (Major Mode Conventions): Add conventions
of setting menu-bar menus and context menus for a major mode.
* doc/emacs/frames.texi (Menu Mouse Clicks): Fix description of
context menu functionality.

3 years agoImprove doc string of 'M-.'
Eli Zaretskii [Sat, 21 Aug 2021 08:17:09 +0000 (11:17 +0300)]
Improve doc string of 'M-.'

* lisp/progmodes/xref.el (xref-find-definitions): Mention 'M-,' in
the doc string.

3 years ago; * lisp/simple.el (execute-extended-command): Fix comment wording.
Eli Zaretskii [Sat, 21 Aug 2021 08:05:04 +0000 (11:05 +0300)]
; * lisp/simple.el (execute-extended-command): Fix comment wording.

3 years ago; * etc/NEWS: State the default behavior when copying symlinks.
Eli Zaretskii [Sat, 21 Aug 2021 08:01:44 +0000 (11:01 +0300)]
; * etc/NEWS: State the default behavior when copying symlinks.

3 years agoImprove documentation of 'file-preserve-symlinks-on-save'
Eli Zaretskii [Sat, 21 Aug 2021 07:58:24 +0000 (10:58 +0300)]
Improve documentation of 'file-preserve-symlinks-on-save'

* lisp/files.el (file-precious-flag): Mention
'file-preserve-symlinks-on-save' in the doc string.

* doc/lispref/files.texi (Saving Buffers): Move the description of
'file-preserve-symlinks-on-save' from here...
* doc/emacs/files.texi (Customize Save): ...to here.  Improve
wording.

* etc/NEWS: Fix wording of 'file-preserve-symlinks-on-save' entry.

3 years ago; * doc/emacs/custom.texi (Minibuffer Maps): Fix wording.
Eli Zaretskii [Sat, 21 Aug 2021 07:37:23 +0000 (10:37 +0300)]
; * doc/emacs/custom.texi (Minibuffer Maps): Fix wording.

3 years agoFix documentation of 'repeat-mode' changes
Eli Zaretskii [Sat, 21 Aug 2021 07:31:35 +0000 (10:31 +0300)]
Fix documentation of 'repeat-mode' changes

* doc/emacs/basic.texi (Repeating): Fix indexing.  Improve
wording.

3 years agoFix documentation of recently-added tests for files.el
Eli Zaretskii [Sat, 21 Aug 2021 07:22:45 +0000 (10:22 +0300)]
Fix documentation of recently-added tests for files.el

* test/lisp/files-tests.el (files-tests--save-some-buffers)
(files-tests-save-some-buffers)
(files-tests--with-buffer-offer-save)
(files-tests-buffer-offer-save): Doc fixes.

3 years ago; * lisp/progmodes/project.el: Fix punctuation in the commentary.
Eli Zaretskii [Sat, 21 Aug 2021 07:10:28 +0000 (10:10 +0300)]
; * lisp/progmodes/project.el: Fix punctuation in the commentary.

3 years ago* etc/TODO: Entry about markers being non-scalable. (Bug#49127)
Eli Zaretskii [Sat, 21 Aug 2021 06:33:34 +0000 (09:33 +0300)]
* etc/TODO: Entry about markers being non-scalable.  (Bug#49127)

3 years agoSpeed up project--read-project-buffer in remote buffers
Dmitry Gutov [Sat, 21 Aug 2021 02:26:12 +0000 (05:26 +0300)]
Speed up project--read-project-buffer in remote buffers

* lisp/progmodes/project.el (project-buffers): New generic function.
(project--read-project-buffer): Use it here (bug#49264).
(project--buffers-to-kill): And here.
(project-buffers): Specialized implementation for vc-project.

3 years ago* lisp/bindings.el (page-navigation-repeat-map): Fix bootstrap.
Glenn Morris [Fri, 20 Aug 2021 22:56:27 +0000 (15:56 -0700)]
* lisp/bindings.el (page-navigation-repeat-map): Fix bootstrap.

3 years agoFix c-tentative-buffer-changes to be nestable in c-save-buffer-state
Alan Mackenzie [Fri, 20 Aug 2021 21:12:37 +0000 (21:12 +0000)]
Fix c-tentative-buffer-changes to be nestable in c-save-buffer-state

* lisp/progmodes/cc-defs.el (c-tentative-buffer-changes)
(c-tnt-chng-record-state, c-tnt-chng-cleanup): Enhance such that a
buffer-undo-list of t is handled specially, so that a nil isn't consed onto
it.  Thus garbage collection can't later remove the (nil . t) from the end of
the buffer-undo-list, causing an infinite loop.

3 years ago; * test/lisp/files-tests.el: Add tests for save-some-buffers (Bug#46374)
Tino Calancha [Fri, 20 Aug 2021 16:07:19 +0000 (18:07 +0200)]
; * test/lisp/files-tests.el: Add tests for save-some-buffers (Bug#46374)

3 years agoMark page navigation commands as repeatable
Davide Masserut [Fri, 20 Aug 2021 15:49:35 +0000 (17:49 +0200)]
Mark page navigation commands as repeatable

* doc/emacs/basic.texi (Repeating): Document page navigation
repeatability.

* lisp/bindings.el (page-navigation-repeat-map): Add new map
(bug#50137).
* lisp/bindings.el (forward-page):
(backward-page): Mark as repeatable.

Copyright-paperwork-exempt: yes

3 years agoDocument how to get rid of completion on `SPC' and `?'
Lars Ingebrigtsen [Fri, 20 Aug 2021 15:00:10 +0000 (17:00 +0200)]
Document how to get rid of completion on `SPC' and `?'

* doc/emacs/custom.texi (Minibuffer Maps): Mention how to get rid
of completion on `SPC' and `?' (bug#16528).

3 years agoFix printing of C-@ in `describe-fontset'
Lars Ingebrigtsen [Fri, 20 Aug 2021 14:35:56 +0000 (16:35 +0200)]
Fix printing of C-@ in `describe-fontset'

* lisp/international/mule-diag.el (mule--kbd-at): New function
(bug#17836).
(print-fontset-element): Use it to get multi-key things correct.

3 years agoAllow preserving symlinks with file-precious-flag set
Lars Ingebrigtsen [Fri, 20 Aug 2021 14:20:51 +0000 (16:20 +0200)]
Allow preserving symlinks with file-precious-flag set

* doc/lispref/files.texi (Saving Buffers): Document it.
* lisp/files.el (file-preserve-symlinks-on-save): New user option
(bug#18125).
(basic-save-buffer-2): Use it.

3 years agoFix infinite recursion in mode: tex
Lars Ingebrigtsen [Fri, 20 Aug 2021 13:57:06 +0000 (15:57 +0200)]
Fix infinite recursion in mode: tex

* lisp/textmodes/tex-mode.el (tex--redirect-to-submode): Inhibit
recursion when called from file-local variables (bug#50126).

3 years agoFix infinite recursion of conf-mode
Lars Ingebrigtsen [Fri, 20 Aug 2021 13:55:24 +0000 (15:55 +0200)]
Fix infinite recursion of conf-mode

* lisp/textmodes/conf-mode.el (conf-mode): Inhibit recursion when
called from file-local variables (bug#50126).

3 years agoAllow copy-directory to copy the source as a symlink
Marco Centurion [Fri, 20 Aug 2021 13:43:41 +0000 (15:43 +0200)]
Allow copy-directory to copy the source as a symlink

* doc/emacs/files.texi (Copying and Naming): Document it.

* lisp/files.el (copy-directory): Allow copying symbolic links as
is (bug#10897).
(copy-directory-create-symlink): New user option.

Copyright-paperwork-exempt: yes

3 years agoFurther tweaks to execute-extended-command
Lars Ingebrigtsen [Fri, 20 Aug 2021 13:07:24 +0000 (15:07 +0200)]
Further tweaks to execute-extended-command

* lisp/simple.el (execute-extended-command): Move finding the
short command to the timer command, too (bug#50042).  This further
ensures that post-command-hook is run faster.

3 years agoRemove even more waiting from execute-extended-command
Lars Ingebrigtsen [Fri, 20 Aug 2021 12:55:40 +0000 (14:55 +0200)]
Remove even more waiting from execute-extended-command

* lisp/simple.el (execute-extended-command): Remove all the
waiting from the command and do it all with timers (bug#50042).
This ensures that post-command-hook is run immediately also when
the command has messaged something.

3 years ago; * lisp/mouse.el: Fix typos in previous change
Mattias Engdegård [Fri, 20 Aug 2021 11:51:36 +0000 (13:51 +0200)]
; * lisp/mouse.el: Fix typos in previous change

3 years agoUse C-mouse-1 for context menu on NS
Mattias Engdegård [Fri, 20 Aug 2021 10:03:20 +0000 (12:03 +0200)]
Use C-mouse-1 for context menu on NS

The Mac platform convention is to use control-left-click for context
menus (as a synonym to right-click).

* lisp/mouse.el (context-menu--old-bindings): Remove.
(context-menu--saved-bindings)
(context-menu--bind-mouse, context-menu--reset-bindings): New.
(context-menu-mode): Use new functions, with C-mouse-1 as extra
binding on NS.

3 years agoFix xref {prev,next}-error target buffer match highlighting extent
Mattias Engdegård [Thu, 19 Aug 2021 21:15:29 +0000 (23:15 +0200)]
Fix xref {prev,next}-error target buffer match highlighting extent

* lisp/progmodes/xref.el (xref--next-error-function):
Bind `xref--current-item` during the call to `xref--show-location` so
that `xref-pulse-momentarily` finds the match extent.

3 years agoDon't mutate string literal
Mattias Engdegård [Thu, 19 Aug 2021 09:35:41 +0000 (11:35 +0200)]
Don't mutate string literal

* lisp/obsolete/terminal.el (terminal-escape-map): Rewrite loop in a
simpler and more robust way.

3 years agoTweak a failing custom test
Lars Ingebrigtsen [Fri, 20 Aug 2021 00:32:02 +0000 (02:32 +0200)]
Tweak a failing custom test

* test/lisp/custom-tests.el (custom-tests-require-theme): Fix a
native-comp-related test failure.

In this test, we set load-path to nil, and under native-comp some of
the tests want to give a warning:

Warning (comp): Cannot look-up eln file as no source file was
found for /tmp/custom-tests-bfdbkW/custom-tests--d.elc

But we can't load warning.el after setting load-path to nil, so
require it first.

3 years agoMake icomplete-forward-completions O(1) when icomplete-scroll is t
João Távora [Thu, 19 Aug 2021 22:54:51 +0000 (23:54 +0100)]
Make icomplete-forward-completions O(1) when icomplete-scroll is t

In particular, this makes the recently added
icomplete-vertical-goto-last (bug#49005) be O(n) instead of O(n^2).
That used to be almost unbearably slow for large n.

* lisp/icomplete.el (icomplete-forward-completions):  don't call last
unless needed.

3 years agoRemove more mentions of the removed `M-o' facemenu binding
Lars Ingebrigtsen [Thu, 19 Aug 2021 16:26:18 +0000 (18:26 +0200)]
Remove more mentions of the removed `M-o' facemenu binding

* doc/emacs/text.texi (Fill Commands, Fill Commands): Adjust `M-o'
mentions.

* etc/refcards/refcard.tex (section{Formatting}):
* etc/refcards/pt-br-refcard.tex (section{Formatando}):
* etc/refcards/fr-refcard.tex (section{Formater}): Remove mention
of `M-o'.

3 years agoCorrectly call completion-in-region in shell.el
Madhu [Thu, 19 Aug 2021 16:01:06 +0000 (18:01 +0200)]
Correctly call completion-in-region in shell.el

* lisp/shell.el (shell-dynamic-complete-command)
(shell-dynamic-complete-environment-variable): Correctly call
completion-in-region (bug#50125).

Copyright-paperwork-exempt: yes