]> git.eshelyaron.com Git - emacs.git/log
emacs.git
3 years agoUse explicit man-page section in references
Eli Zaretskii [Sat, 25 Sep 2021 07:30:27 +0000 (10:30 +0300)]
Use explicit man-page section in references

* lisp/dired-aux.el (dired-do-chmod): Use explicit man-page
section in the doc string.  This avoids inadvertently showing
the wrong man page, when several identically-named pages are
possible in different sections.  E.g., there's also chmod(2).

3 years ago; Improve recently added documentation
Eli Zaretskii [Sat, 25 Sep 2021 06:59:53 +0000 (09:59 +0300)]
; Improve recently added documentation

* etc/NEWS:
* doc/lispref/tips.texi (Documentation Tips): Improve and clarify
recently-added documentation of man page references.

3 years agosave-some-buffers-root doc string change
Lars Ingebrigtsen [Sat, 25 Sep 2021 05:32:48 +0000 (07:32 +0200)]
save-some-buffers-root doc string change

* lisp/files.el (save-some-buffers-root): Improve doc string.

3 years agoDo some NEWS tagging
Lars Ingebrigtsen [Sat, 25 Sep 2021 05:24:39 +0000 (07:24 +0200)]
Do some NEWS tagging

3 years agoDocument redisplay-skip-fontification-on-input
Lars Ingebrigtsen [Sat, 25 Sep 2021 05:22:07 +0000 (07:22 +0200)]
Document redisplay-skip-fontification-on-input

* doc/emacs/display.texi (Scrolling): Mention
redisplay-skip-fontification-on-input.

3 years ago; * doc/misc/gnus.texi (Gnus Registry Setup): Fix missing parenthesis.
Bastien Guerry [Sat, 25 Sep 2021 05:15:31 +0000 (07:15 +0200)]
; * doc/misc/gnus.texi (Gnus Registry Setup): Fix missing parenthesis.

3 years ago; tramp-auto-save-directory: set mode atomically when creating
Stephen Gildea [Sat, 25 Sep 2021 04:59:17 +0000 (21:59 -0700)]
; tramp-auto-save-directory: set mode atomically when creating

* lisp/net/tramp.el (tramp-handle-make-auto-save-file-name):
Use with-file-modes around make-directory.  We can do this because
Tramp now honors default file modes in make-directory.

3 years agoAdd new user option ispell-help-timeout
Lars Ingebrigtsen [Sat, 25 Sep 2021 02:22:57 +0000 (04:22 +0200)]
Add new user option ispell-help-timeout

* lisp/textmodes/ispell.el (ispell-help-timeout): New user option.
(ispell-help): Use it.

3 years agoSet :type of suggest-key-bindings to natnum
Stefan Kangas [Fri, 24 Sep 2021 23:25:47 +0000 (01:25 +0200)]
Set :type of suggest-key-bindings to natnum

* lisp/simple.el (suggest-key-bindings): Set :type to
natnum.  (Bug#15809)

3 years agoNew :type natnum for defcustom
Stefan Kangas [Fri, 24 Sep 2021 23:15:49 +0000 (01:15 +0200)]
New :type natnum for defcustom

* lisp/wid-edit.el (natnum): New widget type.  (Bug#15809)
* doc/lispref/customize.texi (Simple Types): Document it.

3 years ago* lisp/dired-aux.el (dired-do-chmod): Simplify docstring.
Stefan Kangas [Sat, 25 Sep 2021 02:00:09 +0000 (04:00 +0200)]
* lisp/dired-aux.el (dired-do-chmod): Simplify docstring.

3 years agoAdd support for man page hyperlinks in doc strings
Stefan Kangas [Sat, 25 Sep 2021 01:03:34 +0000 (03:03 +0200)]
Add support for man page hyperlinks in doc strings

* lisp/help-mode.el (help-man): New button type.
(help-xref-man-regexp): New const.
(help-make-xrefs): Use them to allow making man page buttons.
* doc/lispref/tips.texi (Documentation Tips): Document the new
hyperlink type.  (Bug#39215)

3 years agoFix some instances in the Emacs manual with misleading prefix syntax
Lars Ingebrigtsen [Sat, 25 Sep 2021 01:59:42 +0000 (03:59 +0200)]
Fix some instances in the Emacs manual with misleading prefix syntax

* doc/emacs/msdos.texi (Windows Keyboard):
* doc/emacs/misc.texi (Editing Binary Files):
* doc/emacs/macos.texi (Mac / GNUstep Events):
* doc/emacs/kmacro.texi (Basic Keyboard Macro):
* doc/emacs/glossary.texi (Glossary):
* doc/emacs/fixit.texi (Spelling): Fix some instances where the
syntax seems to imply we're talking about a prefix key (bug#50792).

3 years agoMake 'C-u C-x v v' handle unregistered files.
Manuel Giraud [Sat, 25 Sep 2021 01:38:43 +0000 (03:38 +0200)]
Make 'C-u C-x v v' handle unregistered files.

* lisp/vc/vc.el (vc-next-action): Make 'C-u C-x v v' handle
unregistered files (bug#50602).

3 years agoMention the 'r' key in ask-user-about-supersession-help
Daniel Martín [Fri, 24 Sep 2021 13:32:01 +0000 (15:32 +0200)]
Mention the 'r' key in ask-user-about-supersession-help

* lisp/userlock.el (ask-user-about-supersession-help): Replace "n, and
then M-x revert-buffer" in the help message with "r", which does the
same thing.  (Bug#50780)

3 years agoIndent bodies of local function definitions properly in elisp-mode
akater [Sat, 25 Sep 2021 01:27:29 +0000 (03:27 +0200)]
Indent bodies of local function definitions properly in elisp-mode

* lisp/emacs-lisp/lisp-mode.el (lisp-indent-function): Check for
local defforms (`cl-flet' and `cl-labels').
(lisp--local-defform-body): New auxiliary function (bug#9622).

3 years agoClarify where to find CONTRIBUTE
Stefan Kangas [Sat, 25 Sep 2021 01:24:14 +0000 (03:24 +0200)]
Clarify where to find CONTRIBUTE

* doc/emacs/trouble.texi (Contributing): Say that CONTRIBUTE is
found in the development version of Emacs.  (Bug#37414)

3 years agoUse gzip to uncompess .xz files on MacOS
Lars Ingebrigtsen [Sat, 25 Sep 2021 01:05:27 +0000 (03:05 +0200)]
Use gzip to uncompess .xz files on MacOS

* lisp/jka-cmpr-hook.el (jka-compr-compression-info-list): Use
gzip to uncompess .xz files on MacOS (bug#29235).

3 years agoUse `temporary-file-directory' in `with-existing-directory'
Lars Ingebrigtsen [Sat, 25 Sep 2021 00:55:55 +0000 (02:55 +0200)]
Use `temporary-file-directory' in `with-existing-directory'

* lisp/subr.el (with-existing-directory): Use
`temporary-file-directory' over TMPDIR.

3 years agoFix alignment on font size change in tabulated-list-mode
Stefan Kangas [Fri, 24 Sep 2021 22:33:21 +0000 (00:33 +0200)]
Fix alignment on font size change in tabulated-list-mode

* lisp/emacs-lisp/tabulated-list.el (tabulated-list-print-col): Fix
bug where the columns didn't align correctly when using
'text-scale-mode' to decrease the font size.  (Bug#48639)

3 years agoDoc fix; cl-random is only pseudo-random
Stefan Kangas [Fri, 24 Sep 2021 22:05:55 +0000 (00:05 +0200)]
Doc fix; cl-random is only pseudo-random

* lisp/emacs-lisp/cl-extra.el (cl-random): Doc fix; say it's only
pseudo-random.

3 years agocheckdoc: Don't ask to disambiguate mode names
Stefan Kangas [Fri, 24 Sep 2021 21:42:08 +0000 (23:42 +0200)]
checkdoc: Don't ask to disambiguate mode names

* lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
Don't ask to disambiguate mode names.  (Bug#4110)

3 years agoFix recently introduced bug in checkdoc
Stefan Kangas [Fri, 24 Sep 2021 21:00:57 +0000 (23:00 +0200)]
Fix recently introduced bug in checkdoc

* lisp/emacs-lisp/checkdoc.el (checkdoc-in-abbreviation-p): Fix
recently introduced bug where some abbreviations weren't recognized.
* test/lisp/emacs-lisp/checkdoc-tests.el
(checkdoc-tests-in-abbrevation-p/basic-case): Extend test.

3 years agoRevert change to use seq-random-elt in Tramp test
Stefan Kangas [Fri, 24 Sep 2021 20:17:04 +0000 (22:17 +0200)]
Revert change to use seq-random-elt in Tramp test

* test/lisp/net/tramp-tests.el (tramp-test44-asynchronous-requests):
Revert change to use seq-random-elt, as Tramp needs to be compatible
with Emacs 25, and the function was only added in 26.1.

3 years agocheckdoc: Improve wide line warning to decrease false positives
Stefan Kangas [Fri, 24 Sep 2021 20:04:55 +0000 (22:04 +0200)]
checkdoc: Improve wide line warning to decrease false positives

* lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
Respect 'byte-compile-docstring-max-column' if it is set.  Allow the
first line to be three characters longer than the others to account
for indentation and the opening string character.

3 years agoUse command substitution instead of raw keys in more places
Stefan Kangas [Fri, 24 Sep 2021 18:59:32 +0000 (20:59 +0200)]
Use command substitution instead of raw keys in more places

* admin/authors.el (authors):
* lisp/abbrev.el (abbrev-suggest-show-report):
* lisp/calc/calc.el (calc-display-trail, calc):
* lisp/completion.el (completion-locate-db-error):
* lisp/dired-x.el (dired-extra-startup):
* lisp/emacs-lisp/package.el (package-install-selected-packages):
* lisp/emulation/viper.el (viper-mode):
* lisp/facemenu.el (list-colors-display):
* lisp/mail/emacsbug.el (report-emacs-bug-hook):
* lisp/mail/sendmail.el (mail):
* lisp/menu-bar.el (menu-bar-mode):
* lisp/org/org.el (org-revert-all-org-buffers):
* lisp/progmodes/antlr-mode.el (antlr-help-rules-intro)
(antlr-insert-makefile-rules):
* lisp/progmodes/gdb-mi.el (gdb--check-interpreter):
* lisp/progmodes/xscheme.el (xscheme-process-sentinel):
* lisp/ps-print.el (ps-font-info-database):
* lisp/recentf.el (recentf-edit-list, recentf-open-files):
* lisp/vc/ediff-util.el (ediff-suspend):
* lisp/vc/pcvs.el (cvs-mode):
* lisp/vc/vc-bzr.el (vc-bzr-dir-extra-headers): Use command
substitution.

3 years agoPrefer seq-random-elt to nth+random
Stefan Kangas [Fri, 24 Sep 2021 17:41:03 +0000 (19:41 +0200)]
Prefer seq-random-elt to nth+random

* lisp/emacs-lisp/seq.el (seq-random-elt): Autoload.
* lisp/avoid.el (mouse-avoidance-random-shape):
* lisp/epa-ks.el (epa-ks--query-url):
* lisp/erc/erc-networks.el (erc-server-select):
* lisp/gnus/gnus-fun.el (gnus--random-face-with-type)
(gnus-fun-ppm-change-string):
* lisp/net/soap-inspect.el (soap-sample-value-for-xs-simple-type):
* lisp/obsolete/landmark.el (landmark-random-move):
* lisp/play/mpuz.el (mpuz-build-random-perm):
* lisp/play/zone.el (zone-pgm-stress):
* lisp/vc/add-log.el (add-change-log-entry):
* test/lisp/net/tramp-tests.el
(tramp-test44-asynchronous-requests): Prefer seq-random-elt to
nth+random.

3 years agoFix auto-revert-test05-global-notify
Michael Albinus [Fri, 24 Sep 2021 16:09:49 +0000 (18:09 +0200)]
Fix auto-revert-test05-global-notify

* test/lisp/autorevert-tests.el (auto-revert-test05-global-notify):
Adapt test for killed buffer.

3 years ago; * doc/misc/tramp.texi: Grammar fixes for process-connection-type
Robert Pluim [Fri, 24 Sep 2021 11:31:32 +0000 (13:31 +0200)]
; * doc/misc/tramp.texi: Grammar fixes for process-connection-type

3 years ago; * etc/NEWS: improve some recently added entries
Robert Pluim [Fri, 24 Sep 2021 11:30:10 +0000 (13:30 +0200)]
; * etc/NEWS: improve some recently added entries

3 years agoGenerate skin tone compositions from emoji-sequences.txt
Robert Pluim [Thu, 23 Sep 2021 09:31:46 +0000 (11:31 +0200)]
Generate skin tone compositions from emoji-sequences.txt

Read skin tone modifier sequences from emoji-sequences.txt and add
them to the per-character composition rules derived from
emoji-zwj-sequences.txt, rather than adding them as lookback rules for
the skin tone modifiers.  This avoids an issue with the application of
such lookback rules.  See Bug#39799,
specifically
<https://lists.gnu.org/archive/html/bug-gnu-emacs/2021-09/msg01878.html>
for more details.

* admin/unidata/Makefile.in (zwj): Add emoji-sequences.txt as a dependency.
* admin/unidata/emoji-zwj.awk: Match RGI_Emoji_ZWJ_Sequence and
RGI_Emoji_Modifier_Sequence.  Remove manual addition of skin tone
composition rules with lookback.

3 years agoAdd a few more missing emoji overrides
Robert Pluim [Fri, 24 Sep 2021 11:05:05 +0000 (13:05 +0200)]
Add a few more missing emoji overrides

* admin/unidata/blocks.awk: Add some more emoji overrides.

3 years agoMove compose-gstring-for-variation-glyph
Robert Pluim [Tue, 21 Sep 2021 15:46:32 +0000 (17:46 +0200)]
Move compose-gstring-for-variation-glyph

It logically belongs in composite.el, not japanese.el

* lisp/language/japanese.el (compose-gstring-for-variation-glyph):
Remove from here.
* lisp/composite.el (compose-gstring-for-variation-glyph): And add here.

3 years agoUpdate provenance comment in charscript.el
Robert Pluim [Thu, 23 Sep 2021 09:22:00 +0000 (11:22 +0200)]
Update provenance comment in charscript.el

* admin/unidata/blocks.awk: Update comment about sources used to
generate charscript.el.

3 years ago; * etc/NEWS: Fix a recently modified entry.
Eli Zaretskii [Fri, 24 Sep 2021 11:07:15 +0000 (14:07 +0300)]
; * etc/NEWS: Fix a recently modified entry.

3 years ago; * etc/NEWS: Fix typo.
Stefan Kangas [Fri, 24 Sep 2021 10:26:09 +0000 (12:26 +0200)]
; * etc/NEWS: Fix typo.

3 years ago; * lisp/emacs-lisp/checkdoc.el (checkdoc-in-abbreviation-p): Doc fix.
Stefan Kangas [Thu, 23 Sep 2021 21:01:25 +0000 (23:01 +0200)]
; * lisp/emacs-lisp/checkdoc.el (checkdoc-in-abbreviation-p): Doc fix.

3 years ago; Instrument autorevert-tests.el
Michael Albinus [Fri, 24 Sep 2021 07:56:02 +0000 (09:56 +0200)]
; Instrument autorevert-tests.el

3 years ago; * doc/emacs/glossary.texi (Glossary): Improve the "symbol" entry.
Eli Zaretskii [Fri, 24 Sep 2021 07:25:08 +0000 (10:25 +0300)]
; * doc/emacs/glossary.texi (Glossary): Improve the "symbol" entry.

3 years ago* lisp/gnus/mm-uu.el (mm-uu-type-alist): Add markdown-diff/-emacs-sources
Juri Linkov [Fri, 24 Sep 2021 06:44:47 +0000 (09:44 +0300)]
* lisp/gnus/mm-uu.el (mm-uu-type-alist): Add markdown-diff/-emacs-sources

(Bug#50763)

3 years agoNew thing-at-point target 'string' used in context-menu-region
Juri Linkov [Fri, 24 Sep 2021 06:29:52 +0000 (09:29 +0300)]
New thing-at-point target 'string' used in context-menu-region

* lisp/mouse.el (context-menu-region): Use separate "List" and "String".

* lisp/thingatpt.el (string): New target 'string'.
(thing-at-point-bounds-of-string-at-point): New function.
(thing-at-point-bounds-of-list-at-point): Revert previous commit
by removing optional args 'escape-strings' and 'no-syntax-crossing'.
(list-or-string): Remove recently added target 'list-or-string'.
(thing-at-point-bounds-of-list-or-string-at-point): Remove function.
https://lists.gnu.org/archive/html/emacs-devel/2021-09/msg01737.html

3 years agoPacify recent warnings in ansi-color-tests.el
Basil L. Contovounesios [Thu, 23 Sep 2021 23:30:06 +0000 (00:30 +0100)]
Pacify recent warnings in ansi-color-tests.el

* test/lisp/ansi-color-tests.el: Remove invalid package keyword
'ansi', and unused dependency on cl-lib.
(yellow, bright-yellow): Replace prefix-less dynvars with
corresponding local lexvars.
(test-strings): Rename prefix-less dynvar...
(ansi-color-tests--strings): ...to this.  All users updated.
(ansi-color-apply-on-region-test)
(ansi-color-apply-on-region-bold-is-bright-test): Simplify.
(ansi-color-apply-on-region-preserving-test): Reindent.

3 years agoAdd `info-lookup-symbol' to the menu
Lars Ingebrigtsen [Thu, 23 Sep 2021 21:38:21 +0000 (23:38 +0200)]
Add `info-lookup-symbol' to the menu

* lisp/menu-bar.el (menu-bar-search-documentation-menu): Add entry
for `info-lookup-symbol' (bug#50759).

3 years agoAdd s Symbol entry in the glossary
Lars Ingebrigtsen [Thu, 23 Sep 2021 21:33:36 +0000 (23:33 +0200)]
Add s Symbol entry in the glossary

* doc/emacs/glossary.texi (Glossary): Add an entry for Symbol
(bug#50760).

3 years agoDo not count git markers as "deleted lines"
Konstantin Kharlamov [Thu, 23 Sep 2021 21:25:41 +0000 (23:25 +0200)]
Do not count git markers as "deleted lines"

* lisp/vc/diff-mode.el (diff-fixup-modifs): Skip "end of patch"
markers that `git-format-patch` leaves around (bug#50761).

3 years agoFix problems with 'C-c C-n' in sh-script-mode
Miha Rihtaršič [Thu, 23 Sep 2021 21:18:40 +0000 (23:18 +0200)]
Fix problems with 'C-c C-n' in sh-script-mode

* lisp/progmodes/sh-script.el (sh-shell-process): If a *shell* buffer
doesn't exist, 'C-c C-n' creates one and displays it.  This patch
prevents it from being displayed in the selected window.
Additionally, it ensures that the local `sh-shell-process' variable is
set in the correct buffer (bug#50765).

3 years agocheckdoc: Add abbreviation and simplify
Stefan Kangas [Thu, 23 Sep 2021 20:58:12 +0000 (22:58 +0200)]
checkdoc: Add abbreviation and simplify

* lisp/emacs-lisp/checkdoc.el (checkdoc-in-abbreviation-p): Add
abbreviation "a.k.a.".  Simplify.

3 years agoFix typo in previous man.el change
Lars Ingebrigtsen [Thu, 23 Sep 2021 20:57:49 +0000 (22:57 +0200)]
Fix typo in previous man.el change

* lisp/man.el (Man-ansi-color-map): Fix typo in last checkin.

3 years agoAdd support for "bright" ANSI colors in term-mode
Jim Porter [Thu, 23 Sep 2021 01:39:52 +0000 (18:39 -0700)]
Add support for "bright" ANSI colors in term-mode

* list/term.el (ansi-term-color-vector): Add new faces.
(term-color-black, term-color-red, term-color-green, term-color-yellow)
(term-color-blue, term-color-magenta, term-color-cyan, term-color-white):
Inherit from 'ansi-color-COLOR'.
(term-color-bright-black, term-color-bright-red, term-color-bright-green)
(term-color-bright-yellow, term-color-bright-blue)
(term-color-bright-magenta, term-color-bright-cyan)
(term-color-bright-white): New faces.
(term--maybe-brighten-color): New function.
(term-handle-colors-array): Handle bright colors.
* test/lisp/term-tests.el (term-colors, term-colors-bold-is-bright):
New functions.

3 years agoAdd support for "bright" ANSI colors in ansi-color
Jim Porter [Thu, 23 Sep 2021 01:37:52 +0000 (18:37 -0700)]
Add support for "bright" ANSI colors in ansi-color

* lisp/ansi-color.el (ansi-color-bold, ansi-color-faint, ansi-color-italic)
(ansi-color-underline, ansi-color-slow-blink, ansi-color-fast-blink)
(ansi-color-inverse, ansi-color-red, ansi-color-green, ansi-color-yellow)
(ansi-color-blue, ansi-color-magenta, ansi-color-cyan, ansi-color-white)
(ansi-color-bright-red, ansi-color-bright-green, ansi-color-bright-yellow)
(ansi-color-bright-blue, ansi-color-bright-magenta, ansi-color-bright-cyan)
(ansi-color-bright-white): New faces.
(ansi-color-basic-faces-vector, ansi-color-normal-colors-vector)
(ansi-color-bright-colors-vector): New constants.
(ansi-color-faces-vector, ansi-color-names-vector): Make obsolete.
(ansi-color-bold-is-bright): New defcustom.
(ansi-color--find-face): Sort ANSI codes and check
'ansi-color-bold-is-bright'.
(ansi-color-apply-sequence): Support bright ANSI colors.
(ansi-color-make-color-map, ansi-color-map, ansi-color-map-update):
Make obsolete.
(ansi-color-get-face-1): Add BRIGHT parameter.
* lisp/man.el (Man-ansi-color-basic-faces-vector): New variable.
(Man-ansi-color-map): Make obsolete.
(Man-fontify-manpage): Use 'Man-ansi-color-basic-faces-vector' here.
* test/lisp/ansi-color-tests.el
(ansi-color-apply-on-region-bold-is-bright-test): New function.

3 years agoAvoid jumping too far in checkdoc-in-abbreviation-p
Stefan Kangas [Thu, 23 Sep 2021 19:10:08 +0000 (21:10 +0200)]
Avoid jumping too far in checkdoc-in-abbreviation-p

* lisp/emacs-lisp/checkdoc.el (checkdoc-in-abbreviation-p): Use
'forward-ward' instead of 'forward-sexp' to avoid jumping too far in
some situations.  (Bug#50731)

* test/lisp/emacs-lisp/checkdoc-tests.el
(checkdoc-tests--abbrev-test): New helper function.
(checkdoc-tests-in-abbrevation-p/basic-case): Rename from
'checkdoc-tests-in-abbrevation-p'.
(checkdoc-tests-in-abbrevation-p/with-parens)
(checkdoc-tests-in-abbrevation-p/with-escaped-parens): Use above new
helper function.
(checkdoc-tests-in-abbrevation-p/single-char)
(checkdoc-tests-in-abbrevation-p/with-em-dash)
(checkdoc-tests-in-abbrevation-p/incorrect-abbreviation): New tests.

3 years agoHandle updates flags when setting flags
Philip Kaludercic [Wed, 15 Sep 2021 08:58:50 +0000 (10:58 +0200)]
Handle updates flags when setting flags

* nnmaildir.el (nnmaildir--article-set-flags): Handle updated flags
  more gracefully

3 years agoA bit less overhead when converting hits
Dmitry Gutov [Thu, 23 Sep 2021 18:40:36 +0000 (21:40 +0300)]
A bit less overhead when converting hits

* lisp/progmodes/xref.el (xref--collect-matches):
Move 'remote-id' and 'syntax-needed' definitions to the caller
function.  Bind 'inhibit-modification-hooks' to t (bug#50733).

3 years ago; Fix recently installed documentation
Eli Zaretskii [Thu, 23 Sep 2021 18:08:19 +0000 (21:08 +0300)]
; Fix recently installed documentation

* etc/NEWS:
* lisp/thingatpt.el
(thing-at-point-bounds-of-list-or-string-at-point): Clarify
wording of the documentation of 'list-or-string'.

3 years agoMore per-match overhead reduction
Dmitry Gutov [Thu, 23 Sep 2021 17:36:59 +0000 (20:36 +0300)]
More per-match overhead reduction

* lisp/progmodes/xref.el (xref--show-common-initialize)
(xref-revert-buffer): Inhibit modification hooks (bug#50733).
(xref--insert-xrefs): Cosmetics (no measurable difference here).

3 years agoxref-matches-in-files: Decrease per match and per group overhead
Dmitry Gutov [Thu, 23 Sep 2021 16:08:36 +0000 (19:08 +0300)]
xref-matches-in-files: Decrease per match and per group overhead

* lisp/progmodes/xref.el (xref-search-program-alist):
Add '--null' argument for slightly faster parsing and probably
better behavior with weirder file names.
(xref--alistify): Don't accept TEST argument, use 'assoc' instead
of 'cl-assoc', use a tash table during sorting (bug#50733).

3 years agoFix string-distance for two empty strings
Philip Kaludercic [Thu, 23 Sep 2021 16:12:41 +0000 (18:12 +0200)]
Fix string-distance for two empty strings

* fns.c (Fstring_distance): Avoid using uninitialized memory.
* test/src/fns-tests.el (test-string-distance): Add test cases.

3 years ago* lisp/mouse.el (context-menu-region): Use save-excursion for syntax-ppss.
Juri Linkov [Thu, 23 Sep 2021 16:52:49 +0000 (19:52 +0300)]
* lisp/mouse.el (context-menu-region): Use save-excursion for syntax-ppss.

3 years agoNew thing-at-point target 'list-or-string' used in context-menu-region
Juri Linkov [Thu, 23 Sep 2021 16:32:36 +0000 (19:32 +0300)]
New thing-at-point target 'list-or-string' used in context-menu-region

* lisp/mouse.el (context-menu-region): Rearrange the order to
All>Defun>List>Line>Symbol.  Show title either "List" or "String"
depending on syntax-ppss, then use thing 'list-or-string' (bug#9054).

* lisp/thingatpt.el (thing-at-point-bounds-of-list-at-point): Add optional
args 'escape-strings' and 'no-syntax-crossing' like in 'up-list'.
(list-or-string): New target 'list-or-string'.
(thing-at-point-bounds-of-list-or-string-at-point): New function.

3 years ago* lisp/outline.el (outline-minor-mode-cycle-filter): New defcustom (bug#50679)
Juri Linkov [Thu, 23 Sep 2021 16:14:56 +0000 (19:14 +0300)]
* lisp/outline.el (outline-minor-mode-cycle-filter): New defcustom (bug#50679)

(outline-minor-mode-cycle--bind): New helper function.
(outline-minor-mode-cycle-map): Rename from outline-mode-cycle-map.
(outline-mode-map): Revert part of 6458e16f33 to disassociate
keymaps outline-mode-map and outline-minor-mode-cycle-map.
(outline-font-lock-keywords, outline-minor-mode-highlight-buffer):
Use outline-minor-mode-cycle-map instead of outline-mode-cycle-map.

* lisp/help.el (describe-bindings): Rename outline-mode-cycle-map
to outline-minor-mode-cycle-map.

3 years ago; * lisp/progmodes/verilog-mode.el: Untabify doc-strings.
Wilson Snyder [Thu, 23 Sep 2021 15:43:29 +0000 (11:43 -0400)]
; * lisp/progmodes/verilog-mode.el: Untabify doc-strings.

3 years ago* test/infra/Dockerfile.emba: Do not run 'make -j4 bootstrap'.
Michael Albinus [Thu, 23 Sep 2021 14:04:35 +0000 (16:04 +0200)]
* test/infra/Dockerfile.emba: Do not run 'make -j4 bootstrap'.

3 years ago; * etc/NEWS: Fix typos and punctuation in recently added entries.
Eli Zaretskii [Thu, 23 Sep 2021 13:22:31 +0000 (16:22 +0300)]
; * etc/NEWS: Fix typos and punctuation in recently added entries.

3 years agoFix Tramp's make-process on macOS
Michael Albinus [Thu, 23 Sep 2021 12:29:28 +0000 (14:29 +0200)]
Fix Tramp's make-process on macOS

* lisp/net/tramp-sh.el (tramp-get-remote-mknod-or-mkfifo): New defun.
(tramp-sh-handle-make-process): Use it.  (Bug#50748)

3 years ago* lisp/net/tramp-cmds.el (tramp-cleanup-connection): Remove trace buffer.
Michael Albinus [Thu, 23 Sep 2021 12:28:42 +0000 (14:28 +0200)]
* lisp/net/tramp-cmds.el (tramp-cleanup-connection): Remove trace buffer.

3 years agoAdd aggregate project discovery and maintenance functions
Philip Kaludercic [Tue, 31 Aug 2021 12:12:13 +0000 (14:12 +0200)]
Add aggregate project discovery and maintenance functions

* project.el (project-remember-project): Add optional no-write argument
(project-remember-projects-under): Add command
(project-forget-zombie-projects): Add command
(project-forget-projects-under): Add command
* etc/NEWS: Document new commands

3 years agoFix vc-annotate-show-log-revision-at-line
Dmitry Gutov [Thu, 23 Sep 2021 11:53:31 +0000 (14:53 +0300)]
Fix vc-annotate-show-log-revision-at-line

* lisp/vc/vc-annotate.el (vc-annotate-show-log-revision-at-line):
Stop from being affected by 'vc-git-print-log-follow'.

* lisp/vc/vc-git.el (vc-git-print-log-follow):
Mention caveats in a comment.

3 years agoverilog-mode.el: Backout part of recent change showing wrong comment
Wilson Snyder [Thu, 23 Sep 2021 11:36:02 +0000 (07:36 -0400)]
verilog-mode.el: Backout part of recent change showing wrong comment

3 years agoClarify which-function tooltip text
Stefan Kangas [Thu, 23 Sep 2021 11:20:55 +0000 (13:20 +0200)]
Clarify which-function tooltip text

* lisp/progmodes/which-func.el (which-func-format): Clarify tooltip
text.

3 years agoImprove NEWS entry for 'ffap-file-name-with-spaces'
Robert Pluim [Thu, 23 Sep 2021 09:06:57 +0000 (11:06 +0200)]
Improve NEWS entry for 'ffap-file-name-with-spaces'

* etc/NEWS: Mention default value of 'ffap-file-name-with-spaces'.

3 years ago;* lisp/whitespace.el (whitespace-display-window): Add doc-string.
Martin Rudalics [Thu, 23 Sep 2021 07:41:32 +0000 (09:41 +0200)]
;* lisp/whitespace.el (whitespace-display-window): Add doc-string.

3 years ago; * lisp/subr.el (match-string): Clarify doc string.
Eli Zaretskii [Thu, 23 Sep 2021 07:36:59 +0000 (10:36 +0300)]
; * lisp/subr.el (match-string): Clarify doc string.

3 years agoClarify align-regexp doc string
Lars Ingebrigtsen [Wed, 22 Sep 2021 22:18:17 +0000 (00:18 +0200)]
Clarify align-regexp doc string

* lisp/align.el (align-regexp): Clarify what REGEXP has to
contain, and which bits are added automatically interactively
(bug#33541).

3 years agoAdd section to refcard explaining our keybinding notation
Stefan Kangas [Tue, 21 Sep 2021 20:07:05 +0000 (22:07 +0200)]
Add section to refcard explaining our keybinding notation

* etc/refcards/refcard.tex (Starting Emacs): Delete section.
(Key Binding Notation): New section.  (Bug#41403)

3 years agoUse lexical-binding in emoji-zwj.el
Stefan Kangas [Wed, 22 Sep 2021 21:48:36 +0000 (23:48 +0200)]
Use lexical-binding in emoji-zwj.el

* admin/unidata/emoji-zwj.awk: Add lexical-binding cookie to
generated fie emoji-zwj.el.

3 years agoExpand the `match-string' doc string
Lars Ingebrigtsen [Wed, 22 Sep 2021 22:09:47 +0000 (00:09 +0200)]
Expand the `match-string' doc string

* lisp/subr.el (match-string): Mention some caveats (bug#34214).

3 years agoImprove error messaging from byte-compiling dotted lists
Lars Ingebrigtsen [Wed, 22 Sep 2021 21:46:59 +0000 (23:46 +0200)]
Improve error messaging from byte-compiling dotted lists

* lisp/emacs-lisp/cconv.el (cconv-analyze-form): Improve error
messaging when byte-compiling dotted lists (bug#35186).

Test case -- byte-compile the following file:

;;;  -*- lexical-binding: t -*-

(defun foo ()
  (+ 1 2)
  (a . b))

3 years ago; * etc/NEWS: Fix typo in last commit.
Stefan Kangas [Wed, 22 Sep 2021 21:43:49 +0000 (23:43 +0200)]
; * etc/NEWS: Fix typo in last commit.

3 years agoMove 'kdb-macro-redisplay' key binding
Lars Ingebrigtsen [Wed, 22 Sep 2021 19:56:31 +0000 (21:56 +0200)]
Move 'kdb-macro-redisplay' key binding

* doc/emacs/kmacro.texi (Basic Keyboard Macro): Adjust.

* lisp/kmacro.el (kmacro-keymap): Move 'kdb-macro-redisplay' to
`C-x C-k d' since upper-case letters are reserved for users (bug#50727).

3 years ago; More minor stylistic fixes found by checkdoc
Stefan Kangas [Wed, 22 Sep 2021 18:26:40 +0000 (20:26 +0200)]
; More minor stylistic fixes found by checkdoc

3 years agoPut './' in the project directory completions
Dmitry Gutov [Wed, 22 Sep 2021 18:07:49 +0000 (21:07 +0300)]
Put './' in the project directory completions

* lisp/progmodes/project.el (project--read-file-cpd-relative):
Put './' in the completions set when cpd was in the original
(bug#50732).

3 years ago; Fix recently added documentation
Eli Zaretskii [Wed, 22 Sep 2021 17:45:47 +0000 (20:45 +0300)]
; Fix recently added documentation

* lisp/thingatpt.el (bounds-of-thing-at-mouse, thing-at-mouse):
Improve and clarify the doc strings.

3 years agoMany improvements for Context Menus (bug#9054)
Juri Linkov [Wed, 22 Sep 2021 17:08:45 +0000 (20:08 +0300)]
Many improvements for Context Menus (bug#9054)

* lisp/menu-bar.el (menu-bar-showhide-menu): Add "Context Menus".

* lisp/mouse.el (context-menu-undo): Add "in Region" to the titles
when the region is active.
(context-menu-region): Use 'mouse-yank-from-menu' in menu items
created from 'yank-menu' for submenu "Paste from Kill Menu".
(context-menu-region): Add submenu "Select" with things to mark.
(mark-thing-at-mouse, mouse-yank-from-menu): New functions.

* lisp/thingatpt.el (bounds-of-thing-at-mouse): New function.

* lisp/progmodes/elisp-mode.el (elisp-context-menu):
* lisp/progmodes/prog-mode.el (prog-context-menu):
Use full symbol/identifier names in :help strings.

Suggested by Martin Rudalics <rudalics@gmx.at>

3 years agoFix build with native compilation but without zlib
Eli Zaretskii [Wed, 22 Sep 2021 16:13:49 +0000 (19:13 +0300)]
Fix build with native compilation but without zlib

* src/comp.c (comp_hash_source_file): Condition code that requires
zlib with HAVE_ZLIB.

* etc/NEWS: Explain that '--without-compress-install' is necessary
when configuring with native compilation but without zlib.

3 years agoverilog-mode.el: Enable lexical binding, and merge from upstream.
Wilson Snyder [Wed, 22 Sep 2021 14:19:57 +0000 (10:19 -0400)]
verilog-mode.el: Enable lexical binding, and merge from upstream.

* lisp/progmodes/verilog-mode.el: Enable lexical binding.  Templates that
  used the never-documented `inst' or `submod' variables may need to change
  to use vl-... variables.
  (verilog-at-constraint-p): Fix indentation on double curly brackets
  (#1719) (#1744).  Reported by Nikolay Puzanov.

3 years agoDon't rely on lexical-binding being nil in tests
Mattias Engdegård [Wed, 22 Sep 2021 13:40:29 +0000 (15:40 +0200)]
Don't rely on lexical-binding being nil in tests

* test/lisp/button-tests.el (button--help-echo-form):
* test/lisp/files-tests.el (files-tests-permanent-local-variables):
Remove assumption that `with-temp-buffer` creates a buffer
where `lexical-binding` is nil.

3 years ago; * .gitignore: Add native-lisp/.
Eli Zaretskii [Wed, 22 Sep 2021 13:03:39 +0000 (16:03 +0300)]
; * .gitignore: Add native-lisp/.

3 years agoDoc string fixes in comp.e
Eli Zaretskii [Wed, 22 Sep 2021 13:01:30 +0000 (16:01 +0300)]
Doc string fixes in comp.e

* src/comp.c (Fcomp_el_to_eln_filename)
(Fcomp_el_to_eln_rel_filename): Doc fix.

3 years agoUpdate comments warning about GC-resistant C programming
Eli Zaretskii [Wed, 22 Sep 2021 07:07:25 +0000 (10:07 +0300)]
Update comments warning about GC-resistant C programming

* src/eval.c: Remove an outdated comment about protection from GC.
* src/buffer.h:
* src/lisp.h: Add warnings about using 'char *' pointers to text
of Lisp strings and buffer text in code that could GC.  Reported by
Po Lu <luangruo@yahoo.com>

3 years agoNative compilation on macOS: libgccjit not found
Daniel Fleischer [Sat, 18 Sep 2021 21:17:49 +0000 (00:17 +0300)]
Native compilation on macOS: libgccjit not found

* etc/PROBLEMS: Describe the problem with libgccjit setup on
macOS.  (Bug#50411)

3 years ago; * doc/misc/mh-e.texi (Scan Line Formats): Fix typo, an extra "the".
Stephen Gildea [Wed, 22 Sep 2021 05:28:29 +0000 (22:28 -0700)]
; * doc/misc/mh-e.texi (Scan Line Formats): Fix typo, an extra "the".

3 years agoSpeed up `replace-match' slightly
Lars Ingebrigtsen [Wed, 22 Sep 2021 05:22:17 +0000 (07:22 +0200)]
Speed up `replace-match' slightly

* src/search.c (Freplace_match): Speed up non-literal (but
actually literal) common case.

This makes

(benchmark-run 1000000
  (replace-regexp-in-string
  "a+" "foo"
  "ogihdipofdhookfdohkfdpokhpokhfdpokfdhpokfdhkdfkhgoadfphokfkhpofdkhkdpokf"))

about 10% faster.

3 years agoMigrate MH-E functional tests from SourceForge
Stephen Gildea [Wed, 22 Sep 2021 05:01:03 +0000 (22:01 -0700)]
Migrate MH-E functional tests from SourceForge

* test/lisp/mh-e/mh-limit-tests.el:
* test/lisp/mh-e/mh-utils-tests.el:
* test/lisp/mh-e/mh-xface-tests.el:
Import the functional tests from src/mh-unit.el.

mh-unit.el is from the old SourceForge mh-e repository, last changed
in 2017.  To this are applied unmerged patches Mike Kupfer wrote in
2018 ("Refactor mh-unit into functional and release tests" and
"Fix the functional tests").

All tests have been converted to run under Emacs's ERT framework.

Some tests for mh-utils use MH programs to examine mail folders.
These tests require an MH variant to be installed on the system; for
these, added both a mock harness that pretends the needed files and MH
programs do exist, and a wrapper that creates the necessary mail files.

New function 'mh-test-utils-setup-with-variant' bears some resemblance
to 'mh-test-folders-set-up' from the original tests.  New function
'mh-test-utils-setup-with-mocks' is new functionality for these tests.

3 years agoChange how thread-first/thread-last indent the first argument
Lars Ingebrigtsen [Wed, 22 Sep 2021 03:57:48 +0000 (05:57 +0200)]
Change how thread-first/thread-last indent the first argument

* lisp/doc-view.el (doc-view--current-cache-dir): Reindent.

* lisp/emacs-lisp/subr-x.el (thread-first):
(thread-last): Change indentation to match examples.
(internal--build-binding): Reindent.

* test/lisp/emacs-lisp/subr-x-tests.el
(subr-x-test-thread-first-function-names-are-threaded):
(subr-x-test-thread-first-examples):
(subr-x-test-thread-last-function-names-are-threaded):
(subr-x-test-thread-last-examples): Reindent.

3 years agoMake global-auto-revert-non-file-buffers work better
Lars Ingebrigtsen [Tue, 21 Sep 2021 21:09:34 +0000 (23:09 +0200)]
Make global-auto-revert-non-file-buffers work better

* lisp/autorevert.el (global-auto-revert-mode): Always switch on
the non-file tracking.
(auto-revert--global-possibly-adopt-current-buffer): New function
to respect dynamically changing `global-auto-revert-non-file-buffers'.

3 years ago(etc-authors-mode--hide-local-variables): Obfuscate more efficiently
Stefan Monnier [Tue, 21 Sep 2021 20:53:25 +0000 (16:53 -0400)]
(etc-authors-mode--hide-local-variables): Obfuscate more efficiently

3 years ago; * etc/NEWS: Improve wording of an item.
Stefan Kangas [Tue, 21 Sep 2021 20:17:14 +0000 (22:17 +0200)]
; * etc/NEWS: Improve wording of an item.

* lisp/emacs-lisp/hierarchy.el: Improve wording of package description.

3 years agoFix warning in etc-authors-mode.el
Stefan Kangas [Tue, 21 Sep 2021 20:09:09 +0000 (22:09 +0200)]
Fix warning in etc-authors-mode.el

* lisp/textmodes/etc-authors-mode.el
(etc-authors-mode--hide-local-variables): Avoid warning.

3 years agoDon't quote nil and t in doc strings and comments
Lars Ingebrigtsen [Tue, 21 Sep 2021 20:11:43 +0000 (22:11 +0200)]
Don't quote nil and t in doc strings and comments

* test/src/minibuf-tests.el (test-try-completion-ignore-case):
* test/lisp/url/url-auth-tests.el
(url-auth-test-digest-auth-retrieve-cache):
* test/lisp/subr-tests.el (subr-tests-add-hook-depth):
* test/lisp/so-long-tests/so-long-tests.el
(so-long-tests-invisible-buffer-function):
* test/lisp/emacs-lisp/tabulated-list-test.el (tabulated-list-sort):
* src/xfaces.c:
* src/process.c (Finterrupt_process):
(syms_of_process):
* src/minibuf.c (Fread_from_minibuffer):
(Fcompleting_read):
(syms_of_minibuf):
* src/dispnew.c (syms_of_display):
* src/data.c:
* lisp/so-long.el (so-long--hack-local-variables):
* lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions):
(elisp--xref-find-definitions):
* lisp/org/ox-html.el (org-html-htmlize-output-type):
* lisp/org/org-agenda.el (org-agenda-do-in-region):
* lisp/net/tramp.el:
* lisp/minibuffer.el (set-minibuffer-message):
* lisp/isearch.el (isearch-wrap-pause):
(isearch-repeat-on-direction-change):
* lisp/emacs-lisp/timer.el (timer):
* lisp/emacs-lisp/package.el (package-read-archive-contents):
* lisp/emacs-lisp/faceup.el (faceup-next-property-change):
* lisp/emacs-lisp/comp.el (comp-func):
* lisp/emacs-lisp/comp-cstr.el (comp-cstr-empty-p):
* lisp/emacs-lisp/cl-macs.el (cl-do):
(cl-do*):
(cl--self-tco):
* lisp/emacs-lisp/bytecomp.el (byte-compile-unresolved-functions):
(byte-compile-cond-jump-table): Don't quote t and nil.

3 years agoDocument isearch-wrap-pause
Lars Ingebrigtsen [Tue, 21 Sep 2021 20:01:28 +0000 (22:01 +0200)]
Document isearch-wrap-pause

* doc/emacs/search.texi (Repeat Isearch): Document
`isearch-wrap-pause'.