]> git.eshelyaron.com Git - emacs.git/log
emacs.git
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'.

3 years agoNew major mode with font-locking for etc/AUTHORS
Stefan Kangas [Sun, 19 Sep 2021 13:46:44 +0000 (15:46 +0200)]
New major mode with font-locking for etc/AUTHORS

* lisp/textmodes/etc-authors-mode.el: New file.  (Bug#50674)
* etc/AUTHORS (mode): Add "mode: etc-authors" to local variables.
* admin/authors.el (authors): Add "mode: etc-authors" to local
variables of the generated AUTHORS file.

3 years ago; * doc/lispref/windows.texi (Cyclic Window Ordering): Fix typo.
Stefan Kangas [Tue, 21 Sep 2021 19:07:37 +0000 (21:07 +0200)]
; * doc/lispref/windows.texi (Cyclic Window Ordering): Fix typo.

3 years agoImprove recently added documentation
Eli Zaretskii [Tue, 21 Sep 2021 18:51:38 +0000 (21:51 +0300)]
Improve recently added documentation

* doc/lispref/lists.texi (Building Lists):
* lisp/subr.el (ensure-list): Avoid passive tense in documenting
'ensure-list'.

3 years agoAdd new function `ensure-list'
Lars Ingebrigtsen [Tue, 21 Sep 2021 18:30:57 +0000 (20:30 +0200)]
Add new function `ensure-list'

* doc/lispref/lists.texi (Building Lists): Document it.

* lisp/subr.el (ensure-list): New function.

* lisp/emacs-lisp/shortdoc.el (list): Mention it.

3 years agoMerge branch 'master' of git.sv.gnu.org:/srv/git/emacs
Michael Albinus [Tue, 21 Sep 2021 18:27:48 +0000 (20:27 +0200)]
Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs

3 years agoFix tramp-compat-temporary-file-directory implementation
Michael Albinus [Tue, 21 Sep 2021 18:26:59 +0000 (20:26 +0200)]
Fix tramp-compat-temporary-file-directory implementation

* lisp/net/tramp-archive.el
(tramp-archive-handle-temporary-file-directory):
Use `tramp-compat-temporary-file-directory-function'.

* lisp/net/tramp-compat.el (tramp-compat-temporary-file-directory):
Make it a defconst.

* lisp/net/tramp.el (tramp-get-debug-buffer, tramp-get-debug-file-name)
(tramp-debug-message, tramp-file-name-handler, tramp-parse-file)
(tramp-parse-shostkeys-sknownhosts)
(tramp-handle-expand-file-name, tramp-handle-make-process)
(tramp-local-host-p, tramp-call-process)
(tramp-call-process-region, tramp-process-lines)
(tramp-read-passwd):
* lisp/net/tramp-adb.el (tramp-adb-maybe-open-connection):
* lisp/net/tramp-compat.el (tramp-compat-make-temp-name)
(tramp-compat-make-temp-file);
* lisp/net/tramp-crypt.el (tramp-crypt-file-name-for-operation)
(tramp-crypt-maybe-open-connection, tramp-crypt-send-command)
(tramp-crypt-do-encrypt-or-decrypt-file-name):
* lisp/net/tramp-fuse.el (tramp-fuse-mount-point, tramp-fuse-mounted-p)
(tramp-fuse-unmount):
* lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
(tramp-sh-handle-expand-file-name)
(tramp-sh-handle-file-local-copy, )
(tramp-sh-handle-write-region, tramp-maybe-open-connection):
* lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection): Use it.

3 years ago; * lisp/emacs-lisp/checkdoc.el: Fix warnings.
Stefan Kangas [Tue, 21 Sep 2021 18:17:46 +0000 (20:17 +0200)]
; * lisp/emacs-lisp/checkdoc.el: Fix warnings.

3 years agoMinor clean-up and fixes in checkdoc
Stefan Kangas [Tue, 21 Sep 2021 17:23:17 +0000 (19:23 +0200)]
Minor clean-up and fixes in checkdoc

* lisp/emacs-lisp/checkdoc.el: Minor doc fixes.  Remove unnecessary
space at the end of 'y-or-n-p' prompts.  Move obsolete definitions to
the end of the file.
(checkdoc-symbol-words, checkdoc-common-verbs-wrong-voice): Add
some more common words.

3 years agocheckdoc: New defvars to disable some warnings
Stefan Kangas [Tue, 21 Sep 2021 17:20:48 +0000 (19:20 +0200)]
checkdoc: New defvars to disable some warnings

* lisp/emacs-lisp/checkdoc.el (checkdoc--argument-missing-flag)
(checkdoc--disambiguate-symbol-flag)
(checkdoc--interactive-docstring-flag): New defvars to disable some
warnings.  These are intended for use with Emacs itself rather than
with third-party libraries.
(checkdoc-this-string-valid, checkdoc-this-string-valid-engine):
Respect above new variables.

3 years agoAdd new command 'checkdoc-dired'
Stefan Kangas [Tue, 21 Sep 2021 17:18:50 +0000 (19:18 +0200)]
Add new command 'checkdoc-dired'

* lisp/emacs-lisp/checkdoc.el (checkdoc-dired): New command.
(checkdoc--dired-skip-lines-re): New constant.

3 years agoMore NEWS tagging
Lars Ingebrigtsen [Tue, 21 Sep 2021 17:55:11 +0000 (19:55 +0200)]
More NEWS tagging

3 years agoDo some NEWS tagging
Lars Ingebrigtsen [Tue, 21 Sep 2021 17:52:23 +0000 (19:52 +0200)]
Do some NEWS tagging

3 years agoDocument `window-bump-use-time'
Lars Ingebrigtsen [Tue, 21 Sep 2021 17:47:57 +0000 (19:47 +0200)]
Document `window-bump-use-time'

* doc/lispref/windows.texi (Cyclic Window Ordering): Mention
window-bump-use-time.

3 years ago* lisp/tab-bar.el: Preserve all existing tab parameters when switching tabs.
Juri Linkov [Tue, 21 Sep 2021 17:45:38 +0000 (20:45 +0300)]
* lisp/tab-bar.el: Preserve all existing tab parameters when switching tabs.

* lisp/tab-bar.el (tab-bar--tab, tab-bar--current-tab-make):
Copy other possible tab parameters.
https://lists.gnu.org/archive/html/emacs-devel/2021-09/msg01544.html

3 years agoDocument completions-detailed
Lars Ingebrigtsen [Tue, 21 Sep 2021 17:43:03 +0000 (19:43 +0200)]
Document completions-detailed

* doc/emacs/help.texi (Name Help): Document completions-detailed.
* lisp/minibuffer.el (completions-detailed): Give an example in
the doc string.

3 years ago; * etc/NEWS: Refile recent addition (bug#50690).
Basil L. Contovounesios [Tue, 21 Sep 2021 17:14:11 +0000 (18:14 +0100)]
; * etc/NEWS: Refile recent addition (bug#50690).

3 years agoMake dired-do-compress-to work in inserted subdirectories
Michalis V [Tue, 21 Sep 2021 17:13:35 +0000 (19:13 +0200)]
Make dired-do-compress-to work in inserted subdirectories

* lisp/dired-aux.el (dired-do-compress-to): Make this work in file
in inserted subdirectories (bug#46913).

3 years agoRevert "Make dired-compress-file query for a directory to uncompress to"
Lars Ingebrigtsen [Tue, 21 Sep 2021 17:05:15 +0000 (19:05 +0200)]
Revert "Make dired-compress-file query for a directory to uncompress to"

This reverts commit 7e395a59b025c7f4be49294ad806addf5b1a25c9.

The behaviour change isn't good for the majority of tar files.

3 years agoRevert "Make recent dired tests check for external executables"
Lars Ingebrigtsen [Tue, 21 Sep 2021 17:04:46 +0000 (19:04 +0200)]
Revert "Make recent dired tests check for external executables"

This reverts commit 98a17f30b8314e40a1edefac3d542d3e105c7bd6.

Reverting parent commit.

3 years agoRestore some of the previous behaviour in whitespace-display-window
Lars Ingebrigtsen [Tue, 21 Sep 2021 16:54:41 +0000 (18:54 +0200)]
Restore some of the previous behaviour in whitespace-display-window

* lisp/whitespace.el (whitespace-display-window): Emulate previous
behaviour (bug#50716).  Code from martin rudalics <rudalics@gmx.at>.

3 years ago; Stylistic docfixes in htmlfontify.el found by checkdoc
Stefan Kangas [Tue, 21 Sep 2021 16:12:07 +0000 (18:12 +0200)]
; Stylistic docfixes in htmlfontify.el found by checkdoc

3 years agoDon't use `format' on strings without % format directives
Lars Ingebrigtsen [Tue, 21 Sep 2021 15:52:53 +0000 (17:52 +0200)]
Don't use `format' on strings without % format directives

* lisp/vc/ediff-init.el (ediff-BAD-INFO):
* lisp/url/url-ldap.el (url-ldap):
* lisp/url/url-http.el (url-http--user-agent-default-string):
* lisp/textmodes/reftex.el (reftex-access-parse-file):
* lisp/textmodes/reftex-index.el (reftex-index-phrases-info):
* lisp/textmodes/ispell.el (ispell-create-debug-buffer):
* lisp/term.el (serial-read-speed):
* lisp/progmodes/verilog-mode.el (verilog-scan-debug):
* lisp/progmodes/idlwave.el (idlwave-find-module):
* lisp/progmodes/compile.el (compilation-revert-buffer):
* lisp/org/org-agenda.el (org-search-view):
* lisp/net/telnet.el (telnet-revert-buffer):
* lisp/net/soap-inspect.el (soap-sample-value-for-xs-simple-type):
* lisp/net/newst-backend.el (newsticker--cache-read):
* lisp/mh-e/mh-seq.el (mh-msg-is-in-seq):
* lisp/mail/smtpmail.el (smtpmail-via-smtp):
* lisp/mail/emacsbug.el (report-emacs-bug):
* lisp/jsonrpc.el (jsonrpc-error):
* lisp/help-fns.el (describe-variable):
* lisp/gnus/mm-decode.el (mm-possibly-verify-or-decrypt):
* lisp/gnus/gnus.el (gnus-group-startup-message):
(gnus-group-startup-message):
* lisp/gnus/gnus-group.el (gnus-group-restart):
* lisp/frame.el (make-frame-on-display):
* lisp/emulation/viper-ex.el (ex-help):
* lisp/calendar/icalendar.el (icalendar--convert-ical-to-diary):
(icalendar--add-diary-entry):
* lisp/calendar/cal-tex.el (cal-tex-end-document):
* lisp/calc/calcalg3.el (math-ninteg-romberg): Don't use `format'
on strings that have no % format directives in them.

3 years agoFix usage of `format' in mm-uu-pgp-encrypted-extract
Lars Ingebrigtsen [Tue, 21 Sep 2021 15:47:55 +0000 (17:47 +0200)]
Fix usage of `format' in mm-uu-pgp-encrypted-extract

* lisp/gnus/mm-uu.el (mm-uu-pgp-encrypted-extract): Use
`substring' instead of `format' to ensure a fresh string.

3 years agoFix usage of `format' in `article-verify-x-pgp-sig'
Lars Ingebrigtsen [Tue, 21 Sep 2021 15:46:10 +0000 (17:46 +0200)]
Fix usage of `format' in `article-verify-x-pgp-sig'

* lisp/gnus/gnus-art.el (article-verify-x-pgp-sig): Use
`substring' instead of `format' to ensure a fresh string.

3 years agoFix PGP verification buttons (which would have cached results)
Lars Ingebrigtsen [Tue, 21 Sep 2021 15:41:26 +0000 (17:41 +0200)]
Fix PGP verification buttons (which would have cached results)

* lisp/gnus/mm-uu.el (mm-uu-pgp-signed-extract): `format' was used
here to guarantee a new, fresh string (since it's destructively
modified), but that's apparently not the case any more.  Use
`substring' instead, which is documented to do this.

3 years agoDon't inhibit redisplay in the mml* functions
Lars Ingebrigtsen [Tue, 21 Sep 2021 15:39:02 +0000 (17:39 +0200)]
Don't inhibit redisplay in the mml* functions

* lisp/gnus/mml-smime.el (inhibit-redisplay): Removed.
(mml-smime-epg-encrypt):
(mml-smime-epg-verify): Don't inhibit.

* lisp/gnus/mml1991.el (mml1991-epg-sign): Ditto.

* lisp/gnus/mml2015.el (inhibit-redisplay): Removed
(mml2015-epg-decrypt):
(mml2015-epg-clear-decrypt):
(mml2015-epg-verify):
(mml2015-epg-clear-verify):
(mml2015-epg-sign):
(mml2015-epg-encrypt): Don't bind `inhibit-redisplay', because it
makes debugging very odd, and doesn't seem to help much with anything.

3 years ago* python.el (python-syntax-stringify): Extend comment about last change
Stefan Monnier [Tue, 21 Sep 2021 15:39:24 +0000 (11:39 -0400)]
* python.el (python-syntax-stringify): Extend comment about last change

3 years agoFix emoji-zwj.awk dolist
Robert Pluim [Tue, 21 Sep 2021 15:32:20 +0000 (17:32 +0200)]
Fix emoji-zwj.awk dolist

* admin/unidata/emoji-zwj.awk: Fix typo, the dolist should end
after the first set-char-table-range.

3 years agoMake recent dired tests check for external executables
Glenn Morris [Tue, 21 Sep 2021 15:14:01 +0000 (08:14 -0700)]
Make recent dired tests check for external executables

* test/lisp/dired-aux-tests.el (dired-test-bug47058-tar)
(dired-test-bug47058-zip): Add skip conditions.

3 years agoRename project-remove-known-project to project-forget-project
Dmitry Gutov [Tue, 21 Sep 2021 13:07:39 +0000 (16:07 +0300)]
Rename project-remove-known-project to project-forget-project

* doc/emacs/maintaining.texi (Managing Projects): Ditto.

* etc/NEWS: Update accordingly.

* lisp/progmodes/project.el (project-forget-project):
Rename from 'project-remove-known-project', for consistency with
'project-remember-project' (discussed in bug#50297).