]> git.eshelyaron.com Git - emacs.git/log
emacs.git
3 years agoFix problem in `shadow-define-literal-group' (Bug#49596)
Michael Albinus [Sun, 18 Jul 2021 13:57:41 +0000 (15:57 +0200)]
Fix problem in `shadow-define-literal-group' (Bug#49596)

* lisp/shadowfile.el (shadow-make-fullname): HOST can also be a
remote file name.  Bug#49596.

* test/lisp/shadowfile-tests.el (auth-source-save-behavior)
(tramp-cache-read-persistent-data, tramp-persistency-file-name):
Set them globally.
(shadow-test06-literal-groups): Extend test.

3 years agoMake indent-tabs-mode into a regular mode instead of just a variable
Lars Ingebrigtsen [Sun, 18 Jul 2021 13:24:55 +0000 (15:24 +0200)]
Make indent-tabs-mode into a regular mode instead of just a variable

* lisp/simple.el (indent-tabs-mode): Make into a minor mode (bug#6276).

3 years agoDon't shorten comment padding if the padding isn't spaces
Lars Ingebrigtsen [Sun, 18 Jul 2021 12:49:48 +0000 (14:49 +0200)]
Don't shorten comment padding if the padding isn't spaces

* lisp/newcomment.el (comment-padright): Don't shorten non-space
padding (bug#6822).
(comment-padleft): Ditto.

3 years agoFix an unlikely `copyright-find-copyright' problem
Lars Ingebrigtsen [Sun, 18 Jul 2021 12:31:09 +0000 (14:31 +0200)]
Fix an unlikely `copyright-find-copyright' problem

* lisp/emacs-lisp/copyright.el (copyright-find-copyright): Make
the copyright matcher more robust (bug#7179).

3 years ago; * etc/NEWS: Move entry to its right place.
Mattias Engdegård [Sun, 18 Jul 2021 11:33:30 +0000 (13:33 +0200)]
; * etc/NEWS: Move entry to its right place.

3 years agoFix previous grep-file-at-point change
Lars Ingebrigtsen [Sat, 17 Jul 2021 14:56:35 +0000 (16:56 +0200)]
Fix previous grep-file-at-point change

* lisp/progmodes/grep.el (grep-file-at-point): Fix previous change.

3 years agoAdd new function 'grep-file-at-point'
Lennart Borgman [Sat, 17 Jul 2021 14:53:36 +0000 (16:53 +0200)]
Add new function 'grep-file-at-point'

* lisp/progmodes/grep.el (grep-file-at-point): New function to
return the file name at point (bug#8252).

3 years agoEnhance pcomplete support for xargs
Karthik Chikmagalur [Sat, 17 Jul 2021 14:29:11 +0000 (16:29 +0200)]
Enhance pcomplete support for xargs

* lisp/pcmpl-unix.el (pcomplete/xargs): Add support for completing xargs
options, including the ability to distinguish them from the command
xargs runs (bug#49603).
Copyright-paperwork-exempt: yes

3 years agoMake 'n'/'p' work again in shortdoc after previous changes
Lars Ingebrigtsen [Sat, 17 Jul 2021 13:41:33 +0000 (15:41 +0200)]
Make 'n'/'p' work again in shortdoc after previous changes

* lisp/emacs-lisp/shortdoc.el (shortdoc--goto-section): Adjust to
changes in how the text properties are inserted in 22a5482ab6
(bug#49605).  Also make into a regular function.

3 years agoEIEIO: Prevent excessive evaluation of :initform
akater [Mon, 12 Jul 2021 14:15:54 +0000 (14:15 +0000)]
EIEIO: Prevent excessive evaluation of :initform

* lisp/emacs-lisp/eieio.el (initialize-instance):
Do not evaluate initform of a slot when initarg for the slot is provided,
according to the following secitons of CLHS:
- Object Creation and Initialization
- Initialization Arguments
- Defaulting of Initialization Arguments
- Rules for Initialization Arguments

* test/lisp/emacs-lisp/eieio-etests/eieio-tests.el:
Add corresponding tests
Fix a typo

3 years agoDefine revert-buffer-function for *Memory Report*
Mattias Engdegård [Fri, 16 Jul 2021 11:04:14 +0000 (13:04 +0200)]
Define revert-buffer-function for *Memory Report*

* lisp/emacs-lisp/memory-report.el (memory-report):
Allow the memory report buffer to be updated by pressing 'g'.

3 years ago; Fix last change in files.el
Michael Albinus [Fri, 16 Jul 2021 16:54:12 +0000 (18:54 +0200)]
; Fix last change in files.el

3 years agoAdd lock-file-mode
Michael Albinus [Fri, 16 Jul 2021 16:13:28 +0000 (18:13 +0200)]
Add lock-file-mode

* doc/emacs/files.texi (Interlocking):
* doc/lispref/files.texi (File Locks):
* etc/NEWS: Add lock-file-mode.

* lisp/files.el (lock-file-name-transforms)
(remote-file-name-inhibit-locks): Move down.
(lock-file-mode): New minor mode.

3 years agoMerge from origin/emacs-27
Glenn Morris [Fri, 16 Jul 2021 14:51:35 +0000 (07:51 -0700)]
Merge from origin/emacs-27

7ac411ae2c (origin/emacs-27) ; * src/data.c (Fcar, Fcdr): Doc fix.
0d9e1826f7 One more minor update of the Emacs manual for 19th printing
92616d30e0 ; Fix let-alist Texinfo markup
c13acf8e34 ; * doc/emacs/mule.texi (International Chars): Mention 'de...

3 years ago; Fix wording of recent changes in documentation
Eli Zaretskii [Fri, 16 Jul 2021 13:26:21 +0000 (16:26 +0300)]
; Fix wording of recent changes in documentation

* lisp/files.el (query-about-changed-file):
* doc/emacs/files.texi (Visiting):
* etc/NEWS: Fix the wording of a recent change.  (Bug#10755)

3 years agoClarify emacsclient Options node in the Emacs manual
Lars Ingebrigtsen [Fri, 16 Jul 2021 12:51:03 +0000 (14:51 +0200)]
Clarify emacsclient Options node in the Emacs manual

* doc/emacs/misc.texi (emacsclient Options): Don't claim that
emacsclient searches for a socket name (bug#13319).

3 years agoAdd new user option 'query-about-changed-file'
Lars Ingebrigtsen [Fri, 16 Jul 2021 12:30:24 +0000 (14:30 +0200)]
Add new user option 'query-about-changed-file'

* doc/emacs/files.texi (Visiting): Document it.
* lisp/files.el (query-about-changed-file): New user option (bug#10775).
(find-file-noselect): Use it.

3 years agoFix lock-file-name-transforms build problem
Lars Ingebrigtsen [Fri, 16 Jul 2021 11:59:42 +0000 (13:59 +0200)]
Fix lock-file-name-transforms build problem

* lisp/files.el (lock-file-name-transforms): Remove
custom-initialize-delay to fix build problem (bug#49507).

3 years agoFix wording in a recent ELisp manual change
Eli Zaretskii [Fri, 16 Jul 2021 11:30:12 +0000 (14:30 +0300)]
Fix wording in a recent ELisp manual change

* doc/lispref/tips.texi (Coding Conventions): Fix wording in a
recent change.  (Bug#21440)

3 years agoAllow hiding variables in Customize
Lars Ingebrigtsen [Fri, 16 Jul 2021 10:55:21 +0000 (12:55 +0200)]
Allow hiding variables in Customize

* lisp/cus-edit.el (custom-toggle-hide-variable): Allow closing an
option even if there are unsaved changes (bug#11655).

3 years agoMake `number-at-point' work for more hex numbers
Remington Furman [Fri, 16 Jul 2021 09:47:36 +0000 (11:47 +0200)]
Make `number-at-point' work for more hex numbers

* lisp/thingatpt.el (number-at-point): Rewrite to actually catch
the hex numbers (bug#49588).

Copyright-paperwork-exempt: yes

3 years agoClarify -unload-feature in Coding Conventions
Lars Ingebrigtsen [Fri, 16 Jul 2021 08:56:21 +0000 (10:56 +0200)]
Clarify -unload-feature in Coding Conventions

* doc/lispref/tips.texi (Coding Conventions): Clarify when an
unload function is useful (bug#21440).

3 years agoAdd a couple more shell-tests-split-string tests
Lars Ingebrigtsen [Thu, 15 Jul 2021 23:42:49 +0000 (01:42 +0200)]
Add a couple more shell-tests-split-string tests

3 years agoImprove recent jka-compr-compression-info-list change
Glenn Morris [Thu, 15 Jul 2021 20:19:48 +0000 (13:19 -0700)]
Improve recent jka-compr-compression-info-list change

* lisp/jka-cmpr-hook.el (jka-compr-compression-info-list):
Document previous change, and fix :type.

3 years agoAdd bug-reference support for Codeberg projects
Tassilo Horn [Thu, 15 Jul 2021 19:51:54 +0000 (21:51 +0200)]
Add bug-reference support for Codeberg projects

* lisp/progmodes/bug-reference.el (bug-reference-setup-from-vc-alist):
Add support for codeberg.org bug and pull request references.
* doc/emacs/maintaining.texi (Bug Reference): Mention that bug and
pull request references for codeberg projects are supported.

3 years agoAdd support for sourcehut to bug-reference.el
Tassilo Horn [Thu, 15 Jul 2021 19:43:29 +0000 (21:43 +0200)]
Add support for sourcehut to bug-reference.el

* lisp/progmodes/bug-reference.el (bug-reference-setup-from-vc-alist):
Add support for bug references like #17 and ~user/project#19 for
sourcehut (sr.ht).
* doc/emacs/maintaining.texi (Bug Reference): Document sourcehut
support.

3 years ago; * lisp/help-fns.el: Speed up `describe-mode'
Ori [Thu, 15 Jul 2021 16:57:38 +0000 (18:57 +0200)]
; * lisp/help-fns.el: Speed up `describe-mode'

* lisp/help-fns.el (help-fns--list-local-commands): Speed up (bug#49579).

A predicate checks if there are no key bindings for a given function. A
full list of bindings is not needed, even a single binding is sufficient
to say the function is bound. Set FIRSTONLY arg in where-is-internal so
this predicate runs faster, with functional equivalence. For some
configurations this has a noticeable improvement on the speed of
describe-mode.

Copyright-paperwork-exempt: yes

3 years agoAdd more car/cdr examples to shortdoc
Lars Ingebrigtsen [Thu, 15 Jul 2021 16:32:34 +0000 (18:32 +0200)]
Add more car/cdr examples to shortdoc

* lisp/emacs-lisp/shortdoc.el (list): Add more car/cdr examples.

3 years agoImprove the shortdoc link action in *Help* buffers
Lars Ingebrigtsen [Thu, 15 Jul 2021 16:29:27 +0000 (18:29 +0200)]
Improve the shortdoc link action in *Help* buffers

* lisp/emacs-lisp/shortdoc.el (shortdoc-display-group): Allow
taking an optional parameter to place point on a specific function.
(shortdoc--display-function): Go to the function in question in
the shortdoc buffer.

3 years agoAdd new user option to abbreviate file names in save-place
Lars Ingebrigtsen [Thu, 15 Jul 2021 16:03:36 +0000 (18:03 +0200)]
Add new user option to abbreviate file names in save-place

* lisp/saveplace.el (save-place-abbreviate-file-names): New user
option (bug#13286).
(save-place-to-alist): Use it.

3 years agoAllow restoring the original order in 'tabulated-list-mode'
Lars Ingebrigtsen [Thu, 15 Jul 2021 15:36:07 +0000 (17:36 +0200)]
Allow restoring the original order in 'tabulated-list-mode'

* lisp/emacs-lisp/tabulated-list.el (tabulated-list-sort): Allow
restoring the original order (bug#13411).
(tabulated-list--sort-by-column-name): Store the original order.
(tabulated-list--original-order): New buffer-local variable.

3 years agoUpdate modus-themes to version 1.5.0
Protesilaos Stavrou [Thu, 15 Jul 2021 14:20:07 +0000 (17:20 +0300)]
Update modus-themes to version 1.5.0

* doc/misc/modus-themes.org (Enable and load): Include internal link.
(Sample configuration for use-package): Update code sample.
(Customization Options): Update references to customization options.
(Option for more italic constructs): Document new variable, as an
alias of the deprecated 'modus-themes-slanted-constructs'.

(Option for syntax highlighting, Option for links)
(Option for command prompt styles, Option for mode line presentation)
(Option for language checkers)
(Option for line highlighting (hl-line-mode))
(Option for parenthesis matching (show-paren-mode))
(Option for active region, Option for the headings' overall style):
Update documentation to describe new possible values, expressed as a
list of symbols.

(Option for Org agenda constructs): Document new user option.

(Control the scale of headings): Update symbol of variable.

(Remap face with local value (DIY), Backdrop for pdf-tools (DIY)):
Tweak text of internal reference.

(Font configurations for Org and others (DIY)):  Add internal link and
document how to configure the 'bold' and 'italic' faces.

(Custom Org user faces (DIY)): Minor corrections or changes to single
words.

(Full support for packages or face groups): Include new items.

(Notes on individual packages): Add notes on Avy hints, the colour of
days in 'M-x calendar', and underlines in 'compilation-mode' buffers.

(What is the best setup for legibility?): Remove single word.
(Acknowledgements): Update list of contributors.

* etc/themes/modus-themes.el (modus-themes-faces)
(modus-themes-operandi-colors, modus-themes-vivendi-colors)
(modus-themes-subtle-red, modus-themes-subtle-green)
(modus-themes-subtle-yellow, modus-themes-subtle-blue)
(modus-themes-subtle-magenta, modus-themes-subtle-cyan)
(modus-themes-subtle-neutral, modus-themes-intense-red)
(modus-themes-intense-green, modus-themes-intense-yellow)
(modus-themes-intense-blue, modus-themes-intense-magenta)
(modus-themes-intense-cyan, modus-themes-intense-neutral)
(modus-themes-refine-red, modus-themes-refine-green)
(modus-themes-refine-yellow, modus-themes-refine-blue)
(modus-themes-refine-magenta, modus-themes-refine-cyan)
(modus-themes-active-red, modus-themes-active-green)
(modus-themes-active-yellow, modus-themes-active-blue)
(modus-themes-active-magenta, modus-themes-active-cyan)
(modus-themes-fringe-red, modus-themes-fringe-green)
(modus-themes-fringe-yellow, modus-themes-fringe-blue)
(modus-themes-fringe-magenta, modus-themes-fringe-cyan)
(modus-themes-nuanced-red, modus-themes-nuanced-green)
(modus-themes-nuanced-yellow, modus-themes-nuanced-blue)
(modus-themes-nuanced-magenta, modus-themes-nuanced-cyan)
(modus-themes-special-cold, modus-themes-special-mild)
(modus-themes-special-warm, modus-themes-special-calm)
(modus-themes-diff-added, modus-themes-diff-changed)
(modus-themes-diff-removed, modus-themes-diff-refine-added)
(modus-themes-diff-refine-changed, modus-themes-diff-refine-removed)
(modus-themes-diff-focus-added, modus-themes-diff-focus-changed)
(modus-themes-diff-focus-removed, modus-themes-diff-heading)
(modus-themes-pseudo-header, modus-themes-mark-alt)
(modus-themes-mark-del, modus-themes-mark-sel, modus-themes-mark-symbol)
(modus-themes-heading-1, modus-themes-heading-2, modus-themes-heading-3)
(modus-themes-heading-4, modus-themes-heading-5, modus-themes-heading-6)
(modus-themes-heading-7, modus-themes-heading-8, modus-themes-hl-line)
(modus-themes-bold, modus-themes-slant, modus-themes-variable-pitch)
(modus-themes-graph-red-0, modus-themes-graph-red-1)
(modus-themes-graph-green-0, modus-themes-graph-green-1)
(modus-themes-graph-yellow-0, modus-themes-graph-yellow-1)
(modus-themes-graph-blue-0, modus-themes-graph-blue-1)
(modus-themes-graph-magenta-0, modus-themes-graph-magenta-1)
(modus-themes-graph-cyan-0, modus-themes-graph-cyan-1)
(modus-themes-lang-note, modus-themes-lang-warning)
(modus-themes-lang-error, modus-themes-reset-soft)
(modus-themes-reset-hard, modus-themes-key-binding)
(modus-themes-search-success, modus-themes-search-success-modeline)
(modus-themes-search-success-lazy): Add new ':group' specification for
custom faces.

(modus-themes-operandi-color-overrides)
(modus-themes-vivendi-color-overrides, modus-themes-bold-constructs)
(modus-themes-variable-pitch-headings, modus-themes-variable-pitch-ui)
(modus-themes-no-mixed-fonts, modus-themes-fringes)
(modus-themes-scale-headings, modus-themes-scale-1, modus-themes-scale-2)
(modus-themes-scale-3, modus-themes-scale-4, modus-themes-scale-title)
(modus-themes-org-blocks, modus-themes-completions)
(modus-themes-success-deuteranopia, modus-themes-mail-citations)
(modus-themes-subtle-line-numbers, modus-themes-intense-hl-line): Add
custom setter.

(modus-themes-scale-5, modus-themes-scale-title): Deprecate variable
and replace it with alias 'modus-themes-scale-title'.

(modus-themes-slanted-constructs, modus-themes-italic-constructs):
Deprecate variable and replace it with alias
'modus-themes-italic-constructs'.

(modus-themes-org-habit, modus-themes-org-agenda): Deprecate variable
and make its functionality a part of 'modus-themes-org-agenda'.

(modus-themes-headings, modus-themes-mode-line, modus-themes-diffs)
(modus-themes-prompts, modus-themes-paren-match, modus-themes-syntax)
(modus-themes-links, modus-themes-region, modus-themes-lang-checkers)
(modus-themes-org-blocks): Make user options accept a value as a list
of properties.

(modus-themes--mixed-fonts, modus-themes--slant)
(modus-themes--fixed-pitch, modus-themes--lang-check)
(modus-themes--prompt, modus-themes--paren)
(modus-themes--syntax-foreground, modus-themes--syntax-extra)
(modus-themes--syntax-string, modus-themes--syntax-docstring)
(modus-themes--syntax-comment, modus-themes--heading-p)
(modus-themes--heading, modus-themes--org-habit)
(modus-themes--mode-line-attrs, modus-themes--link-color)
(modus-themes--link, modus-themes--region, modus-themes--hl-line):
Update internal functions to parse new values for user options.

* etc/themes/modus-operandi-theme.el,
  etc/themes/modus-vivendi-theme.el: Bump version number.

A detailed change log is provided here (no javascript required):
<https://protesilaos.com/codelog/2021-07-15-modus-themes-1-5-0/>.

3 years agoAutoload `split-string-shell-command'
Lars Ingebrigtsen [Thu, 15 Jul 2021 15:04:00 +0000 (17:04 +0200)]
Autoload `split-string-shell-command'

* lisp/shell.el (split-string-shell-command): Autoload.

3 years agoFix 'shell-tests-split-string' on MS-Windows
Eli Zaretskii [Thu, 15 Jul 2021 09:37:26 +0000 (12:37 +0300)]
Fix 'shell-tests-split-string' on MS-Windows

* test/lisp/shell-tests.el (shell-tests-split-string): Skip test
that always fails on MS-Windows/MS-DOS.

3 years agoMerge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
Eli Zaretskii [Thu, 15 Jul 2021 09:23:50 +0000 (12:23 +0300)]
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs

3 years agoImprove the `window-end' doc string
Lars Ingebrigtsen [Thu, 15 Jul 2021 09:22:52 +0000 (11:22 +0200)]
Improve the `window-end' doc string

* src/window.c (Fwindow_end): Be more explicit about what the
position is (bug#13429).

3 years ago; * etc/NEWS: Fix wording in a recent addition.
Eli Zaretskii [Thu, 15 Jul 2021 09:22:47 +0000 (12:22 +0300)]
; * etc/NEWS: Fix wording in a recent addition.

3 years ago; * lisp/gnus/message.el (message-signature-separator): Add :version.
Eli Zaretskii [Thu, 15 Jul 2021 09:22:27 +0000 (12:22 +0300)]
; * lisp/gnus/message.el (message-signature-separator): Add :version.

3 years agoMention more split-string-* functions in shortdoc
Lars Ingebrigtsen [Thu, 15 Jul 2021 08:37:11 +0000 (10:37 +0200)]
Mention more split-string-* functions in shortdoc

* lisp/emacs-lisp/shortdoc.el (string): Mention
split-string-and-unquote and split-string-shell-command.

3 years agoAllow using spaces in `inferior-lisp' command names
Lars Ingebrigtsen [Thu, 15 Jul 2021 08:33:22 +0000 (10:33 +0200)]
Allow using spaces in `inferior-lisp' command names

* lisp/progmodes/inf-lisp.el (inferior-lisp): Allow using spaces
in the command names (by splitting using shell syntax) (bug#16005).

3 years agoRename shell-split-string to split-string-shell-command
Lars Ingebrigtsen [Thu, 15 Jul 2021 08:29:04 +0000 (10:29 +0200)]
Rename shell-split-string to split-string-shell-command

* lisp/shell.el (split-string-shell-command):
* doc/lispref/processes.texi (Shell Arguments): Rename from
shell-split-string.

3 years agoAdd a new function 'shell-split-string'
Lars Ingebrigtsen [Thu, 15 Jul 2021 08:25:41 +0000 (10:25 +0200)]
Add a new function 'shell-split-string'

* doc/lispref/processes.texi (Shell Arguments): Document it.
* lisp/shell.el (shell-split-string): New function.

3 years agoClarify overriding-local-map doc string
Lars Ingebrigtsen [Thu, 15 Jul 2021 05:17:53 +0000 (07:17 +0200)]
Clarify overriding-local-map doc string

* src/keyboard.c (syms_of_keyboard): Clarify
`overriding-local-map' vs. text properties/overlays (bug#16312).

3 years agoPacify gcc -Woverflow more clearly
Paul Eggert [Wed, 14 Jul 2021 22:10:06 +0000 (17:10 -0500)]
Pacify gcc -Woverflow more clearly

* src/alloc.c (mark_maybe_pointer): Make it clearer that ANDing
with UINTPTR_MAX is intended.  Omit a now-unnecessary cast.

3 years agoPreserve backward compatibility in Tramp
Michael Albinus [Wed, 14 Jul 2021 16:36:14 +0000 (18:36 +0200)]
Preserve backward compatibility in Tramp

* lisp/net/tramp-crypt.el (tramp-crypt-handle-lock-file)
(tramp-crypt-handle-unlock-file): Preserve backward compatibility.

* lisp/net/tramp-sh.el (tramp-sh-handle-write-region): Do not
create lock file twice.

* lisp/net/tramp.el (tramp-handle-make-lock-file-name): Move lock
file security check ...
(tramp-handle-lock-file): ... here.
(tramp-handle-unlock-file): Preserve backward compatibility.

* test/lisp/net/tramp-tests.el (lock-file-name-transforms)
(remote-file-name-inhibit-locks): Declare.
(tramp-allow-unsafe-temporary-files): Set to t.
(tramp-test37-make-auto-save-file-name)
(tramp-test38-find-backup-file-name): Move binding of
`tramp-allow-unsafe-temporary-files' up.
(tramp-test39-lock-file): Bind `tramp-allow-unsafe-temporary-files'.
Preserve backward compatibility.  Extend test.

3 years agoFontify the signature separator in Message mode
Lars Ingebrigtsen [Wed, 14 Jul 2021 16:08:33 +0000 (18:08 +0200)]
Fontify the signature separator in Message mode

* lisp/gnus/message.el (message-signature-separator): New face
(bug#17757).
(message-font-lock-keywords): Add it to the signature, and ensure
that the trailing space isn't removed when hitting RET.
(message--match-signature): New helper function.

3 years ago; * src/data.c (Fcar, Fcdr): Doc fix.
Eli Zaretskii [Wed, 14 Jul 2021 15:54:11 +0000 (18:54 +0300)]
; * src/data.c (Fcar, Fcdr): Doc fix.

3 years agoClarify backward-delete-char-untabify doc string
Lars Ingebrigtsen [Wed, 14 Jul 2021 15:10:24 +0000 (17:10 +0200)]
Clarify backward-delete-char-untabify doc string

* lisp/simple.el (backward-delete-char-untabify): Mention the
effect of Transient Mark mode (bug#17263).

3 years ago* etc/NEWS: Add back a missing apostrophe.
Lars Ingebrigtsen [Wed, 14 Jul 2021 14:51:26 +0000 (16:51 +0200)]
* etc/NEWS: Add back a missing apostrophe.

3 years agoswitch-to-buffer-other-frame doc string improvement
Lars Ingebrigtsen [Wed, 14 Jul 2021 14:40:14 +0000 (16:40 +0200)]
switch-to-buffer-other-frame doc string improvement

* lisp/window.el (switch-to-buffer-other-frame): Document that we
don't always display the buffer in a different frame (bug#17719).

3 years agoFix hilit-chg highlighting of characters where text has been removed
Lars Ingebrigtsen [Wed, 14 Jul 2021 10:42:35 +0000 (12:42 +0200)]
Fix hilit-chg highlighting of characters where text has been removed

* lisp/hilit-chg.el (hilit-chg-set-face-on-change): Remove
highlighting from characters that are just highlighted because of
something that has been previously deleted (bug#17784).

3 years agoFix deprecation warnings from libtiff
Eli Zaretskii [Wed, 14 Jul 2021 12:27:19 +0000 (15:27 +0300)]
Fix deprecation warnings from libtiff

* src/image.c (UINT32) [TIFFLIB_VERSION >= 20210416]: Define to
use stdint.h type for recent libtiff versions.  Reported by Andy
Moreton <andrewjmoreton@gmail.com>.

3 years ago* etc/NEWS (insert-into-buffer'): Fix thinko.
Michael Albinus [Wed, 14 Jul 2021 11:58:04 +0000 (13:58 +0200)]
* etc/NEWS (insert-into-buffer'): Fix thinko.

3 years agoMake `apropos-library' also work for libraries without symbols
Lars Ingebrigtsen [Wed, 14 Jul 2021 10:11:52 +0000 (12:11 +0200)]
Make `apropos-library' also work for libraries without symbols

* lisp/apropos.el (apropos--preamble): Factor out (bug#17832)...
(apropos-print-doc): ... from here.
(apropos-library): Use it to display the apropos buffer even if it
has no symbols of its own.

3 years agoRevert e0619995594d1686afd0493391417d6f900d632c that added save-match-data.
Juri Linkov [Tue, 13 Jul 2021 23:21:17 +0000 (02:21 +0300)]
Revert e0619995594d1686afd0493391417d6f900d632c that added save-match-data.

* lisp/isearch.el (isearch-filter-predicate): Mention precautions against
clobbering the match data in docstring (bug#49534).

3 years ago* lisp/isearch.el: Add save-match-data for funcall isearch-filter-predicate.
Juri Linkov [Tue, 13 Jul 2021 22:29:53 +0000 (01:29 +0300)]
* lisp/isearch.el: Add save-match-data for funcall isearch-filter-predicate.

* lisp/isearch.el (isearch-search): Add save-match-data before
funcall isearch-filter-predicate.
(isearch-lazy-highlight-search): Add save-match-data before
funcall isearch-filter-predicate.
(Bug#49534)

3 years agoAdd a better interactive spec to `facemenu-add-face'
Lars Ingebrigtsen [Tue, 13 Jul 2021 22:12:45 +0000 (00:12 +0200)]
Add a better interactive spec to `facemenu-add-face'

* lisp/facemenu.el (facemenu-add-face): Use `read-face-name'
(bug#18369) by copying over the interactive spec from
facemenu-set-face.

3 years agoMake jka-compr-insert-file-contents slightly more efficient
Lars Ingebrigtsen [Tue, 13 Jul 2021 21:48:04 +0000 (23:48 +0200)]
Make jka-compr-insert-file-contents slightly more efficient

* lisp/jka-compr.el (jka-compr-insert-file-contents): Make more
efficient by using `insert-into-buffer'.

3 years agoAdd new function 'insert-into-buffer'
Lars Ingebrigtsen [Tue, 13 Jul 2021 21:46:16 +0000 (23:46 +0200)]
Add new function 'insert-into-buffer'

* doc/lispref/text.texi (Insertion): Document it.
* lisp/subr.el (insert-into-buffer): New function.

3 years agoFall back on zlib-decompress-region if gzip doesn't exist
Lars Ingebrigtsen [Tue, 13 Jul 2021 21:23:11 +0000 (23:23 +0200)]
Fall back on zlib-decompress-region if gzip doesn't exist

* lisp/jka-cmpr-hook.el (jka-compr-info-uncompress-function): New
function (bug#18823).
(jka-compr-compression-info-list): Expand info with decompression
function.

* lisp/jka-compr.el (jka-compr-insert-file-contents): Fall back on
internal decompression function if external doesn't exist.

3 years agoFix dired-number-of-marked-files when there are no marked files
Daniel Martín [Tue, 13 Jul 2021 20:09:43 +0000 (22:09 +0200)]
Fix dired-number-of-marked-files when there are no marked files

* lisp/dired.el (dired-number-of-marked-files): Fix if expression so
that the else part is evaluated correctly.

3 years ago* doc/lispref/modes.texi (Multiline Font Lock): Tweak last change
Stefan Monnier [Tue, 13 Jul 2021 20:18:25 +0000 (16:18 -0400)]
* doc/lispref/modes.texi (Multiline Font Lock): Tweak last change

3 years agoAllow not updating Customize settings in set-frame-font
Lars Ingebrigtsen [Tue, 13 Jul 2021 19:48:49 +0000 (21:48 +0200)]
Allow not updating Customize settings in set-frame-font

* lisp/frame.el (set-frame-font): Allow not updating the
Customization settings (bug#19298).

3 years agoDocument the syntax-multilne text property
Lars Ingebrigtsen [Tue, 13 Jul 2021 18:21:30 +0000 (20:21 +0200)]
Document the syntax-multilne text property

* doc/lispref/modes.texi (Multiline Font Lock): Document the
syntax-multiline text property (bug#20436).

3 years agoSupport Isearch filter predicates with empty search hits (bug#49534)
Juri Linkov [Tue, 13 Jul 2021 19:25:05 +0000 (22:25 +0300)]
Support Isearch filter predicates with empty search hits (bug#49534)

* lisp/isearch.el (isearch-search): Move (= (match-beginning 0) (match-end 0))
and (bobp)/(eobp) outside the call to isearch-filter-predicate.
Use forward-char 1/-1 on empty matches only when going to retry search.
(isearch-lazy-highlight-search):  Remove (= (point) bound),
but leave (= (match-beginning 0) (match-end 0)) since empty matches
make no sense in lazy-highlighting.

3 years agoMake 'tex-validate-buffer' work again
Lars Ingebrigtsen [Tue, 13 Jul 2021 18:13:21 +0000 (20:13 +0200)]
Make 'tex-validate-buffer' work again

* lisp/textmodes/tex-mode.el (tex-validate-buffer): The *Occur*
buffer is read-only, so inhibit that before inserting things into
it (bug#19326).

3 years agoMerge branch 'master' of git.sv.gnu.org:/srv/git/emacs
Michael Albinus [Tue, 13 Jul 2021 17:50:30 +0000 (19:50 +0200)]
Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs

3 years agoAdd remote-file-name-inhibit-locks
Michael Albinus [Tue, 13 Jul 2021 17:50:05 +0000 (19:50 +0200)]
Add remote-file-name-inhibit-locks

* doc/emacs/files.texi (Interlocking):
* doc/lispref/files.texi (File Locks):
* doc/misc/tramp.texi (Auto-save File Lock and Backup):
Add remote-file-name-inhibit-locks.

* etc/NEWS: New user option 'remote-file-name-inhibit-locks'.

* lisp/files.el (remote-file-name-inhibit-locks): New defcustom.

* lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
* lisp/net/tramp-crypt.el (tramp-crypt-file-name-handler-alist):
* lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
* lisp/net/tramp-rclone.el (tramp-rclone-file-name-handler-alist):
* lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist):
* lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist):
* lisp/net/tramp-sshfs.el (tramp-sshfs-file-name-handler-alist):
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-file-name-handler-alist):
Use `tramp-handle-make-lock-file-name'.

* lisp/net/tramp.el (tramp-allow-unsafe-temporary-files): Fix docstring.
(tramp-handle-make-lock-file-name): New defun.

* test/lisp/net/tramp-tests.el (tramp-test39-lock-file): Extend test.

3 years agoAdd new user option to avoid piling on Dired buffers
Lars Ingebrigtsen [Tue, 13 Jul 2021 17:49:50 +0000 (19:49 +0200)]
Add new user option to avoid piling on Dired buffers

* doc/emacs/dired.texi (Dired Visiting): Document it.

* lisp/dired.el (dired-kill-when-opening-new-dired-buffer): New
user option (bug#20598).
(dired-up-directory, dired-find-file): Use it.
(dired--find-possibly-alternative-file): New convenience command
to respect the user option.

3 years agoBlock TLS handshake until TCP connection established
Mattias Engdegård [Mon, 12 Jul 2021 11:58:28 +0000 (13:58 +0200)]
Block TLS handshake until TCP connection established

If a TLS handshake is attempted before the completion of an
asynchronous TCP connection has been ascertained, our local state will
not be set up correctly for further progress and the sentinel "open"
event will never be sent.  This can occur if sufficient time passes
after the initiation of an async TCP connection so that by the time
`wait_reading_process_output` is called, the connection has already
been established on the TCP level.

This somewhat timing-sensitive bug has plagued HTTPS connections on
some platforms, notably macOS, for a long time (bug#49449).

* src/process.c (wait_reading_process_output): Gate the TLS handshake
by the NON_BLOCKING_CONNECT_FD flag.  The flag will be cleared as soon
as the TCP socket is found to be writable.
* test/src/process-tests.el (process-async-https-with-delay):
New test.

3 years agoFix portability issue with make-serial-process
Ken Brown [Mon, 12 Jul 2021 13:24:12 +0000 (09:24 -0400)]
Fix portability issue with make-serial-process

* src/sysdep.c (struct speed_struct): New struct.
(speeds): New static array of struct speed_struct.
(convert_speed): New static function to convert a numerical baud
rate (e.g., 9600) to a Bnnn constant defined in termios.h (e.g.,
B9600).
(serial_configure): Use convert_speed to make the call to cfsetspeed
compliant with its advertised API.  (Bug#49524)

3 years agoOne more minor update of the Emacs manual for 19th printing
Eli Zaretskii [Tue, 13 Jul 2021 12:03:59 +0000 (15:03 +0300)]
One more minor update of the Emacs manual for 19th printing

* doc/emacs/back.texi:
* doc/emacs/book-spine.texi:
* doc/emacs/emacs.texi: Last round of minor copyedits for 19th ed.

3 years ago; * doc/lispref/intro.texi (Caveats): Fix paren.
Basil L. Contovounesios [Mon, 12 Jul 2021 14:02:14 +0000 (15:02 +0100)]
; * doc/lispref/intro.texi (Caveats): Fix paren.

3 years agoFix a problem with tramp-*-process-file
Michael Albinus [Mon, 12 Jul 2021 13:49:50 +0000 (15:49 +0200)]
Fix a problem with tramp-*-process-file

* lisp/net/tramp-adb.el (tramp-adb-handle-process-file):
* lisp/net/tramp-sh.el (tramp-sh-handle-process-file):
* lisp/net/tramp-smb.el (tramp-smb-handle-process-file):
* lisp/net/tramp-sshfs.el (tramp-sshfs-handle-process-file):
Use `(expand-file-name default-directory)'.

3 years agoPort test module to glibc 2.33
Paul Eggert [Mon, 12 Jul 2021 07:11:22 +0000 (00:11 -0700)]
Port test module to glibc 2.33

* test/Makefile.in (REPLACE_FREE, FREE_SOURCE_0, FREE_SOURCE_1):
New macros.
($(test_module)): Improve accuracy of test as to whether free.c
should be compiled; glibc 2.33 does not need it compiled and the
compilation breaks if you try, if you build with
--enable-gcc-warnings.

3 years agoPacify gcc 11.1.1 -Wclobbered
Paul Eggert [Mon, 12 Jul 2021 07:07:38 +0000 (00:07 -0700)]
Pacify gcc 11.1.1 -Wclobbered

* src/eval.c (Fprogn, internal_lisp_condition_case):
Add CACHEABLE to work around more instances of -Wclobbered bug.

3 years agoPacify gcc 11.1.1 -Wanalyzer-possible-null-dereference
Paul Eggert [Mon, 12 Jul 2021 07:06:34 +0000 (00:06 -0700)]
Pacify gcc 11.1.1 -Wanalyzer-possible-null-dereference

* oldXMenu/Create.c (XMenuCreate):
* oldXMenu/Internal.c (_XMRecomputePane, _XMRecomputeSelection):
* oldXMenu/XMakeAssoc.c (XMakeAssoc):
* test/src/emacs-module-resources/mod-test.c (Fmod_test_userptr_make):
Don’t assume that malloc and calloc succeed.

3 years agoPacify gcc 11.1.1 -Wanalyzer-null-argument
Paul Eggert [Mon, 12 Jul 2021 07:00:20 +0000 (00:00 -0700)]
Pacify gcc 11.1.1 -Wanalyzer-null-argument

* lib-src/etags.c (regexp): Omit member force_explicit_name,
since it’s always true.  All uses removed.  This lets us
remove calls to strlen (name) where GCC isn’t smart enough
to deduce that name must be nonnull.
* lib-src/movemail.c (main): Fix bug that could cause
link (tempname, NULL) to be called.
* src/emacs.c (argmatch): Break check into two ‘if’s,
since GCC doesn’t seem to be smart enough to check the single ‘if’.
* src/gtkutil.c (xg_update_menu_item): Fix bug where strcmp
could be given a NULL arg.
* src/xfont.c (xfont_list_family): Use nonnull value for dummy
initial value.

3 years agoPacify gcc -Woverflow more nicely
Paul Eggert [Mon, 12 Jul 2021 06:54:32 +0000 (23:54 -0700)]
Pacify gcc -Woverflow more nicely

* src/alloc.c (mark_maybe_pointer): Simplify pacification
of gcc -Woverflow (unknown GCC version).

3 years ago* lisp/textmodes/enriched.el: Require 'facemenu' (bug#49466)
Juri Linkov [Sun, 11 Jul 2021 23:45:51 +0000 (02:45 +0300)]
* lisp/textmodes/enriched.el: Require 'facemenu' (bug#49466)

3 years agoFurther tweaks to gnus-search-query-expand-key
Eric Abrahamsen [Sun, 11 Jul 2021 16:00:33 +0000 (09:00 -0700)]
Further tweaks to gnus-search-query-expand-key

* lisp/gnus/gnus-search.el (gnus-search-query-expand-key): It's
possible that KEY could be partially completed (ie no longer string=
to COMP), but not all the way. Use a more accurate test. Add
docstring.

3 years agoUse `auto-save-file-name-p' in tramp-*-write-region
Michael Albinus [Sun, 11 Jul 2021 15:41:33 +0000 (17:41 +0200)]
Use `auto-save-file-name-p' in tramp-*-write-region

* lisp/net/tramp.el (tramp-handle-write-region):
* lisp/net/tramp-adb.el (tramp-adb-handle-write-region):
* lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
* lisp/net/tramp-smb.el (tramp-smb-handle-write-region):
* lisp/net/tramp-sshfs.el (tramp-sshfs-handle-write-region):
Use `auto-save-file-name-p'.

3 years agoFix compilation of the --with-wide-int configuration
Eli Zaretskii [Sun, 11 Jul 2021 15:22:51 +0000 (18:22 +0300)]
Fix compilation of the --with-wide-int configuration

* src/alloc.c (mark_maybe_pointer): Fix a recent change for
WIDE_EMACS_INT builds.  (Bug#49261)

3 years ago; Fix misspellings of 'occurrence' in docs.
Basil L. Contovounesios [Sun, 11 Jul 2021 10:55:31 +0000 (11:55 +0100)]
; Fix misspellings of 'occurrence' in docs.

3 years ago; * doc/lispref/text.texi (Substitution): Fix a recent change.
Eli Zaretskii [Sun, 11 Jul 2021 10:15:34 +0000 (13:15 +0300)]
; * doc/lispref/text.texi (Substitution): Fix a recent change.

3 years agoPacify GCC 11.1.1 20210531 (Red Hat 11.1.1-3)
Paul Eggert [Sun, 11 Jul 2021 08:12:00 +0000 (01:12 -0700)]
Pacify GCC 11.1.1 20210531 (Red Hat 11.1.1-3)

* src/image.c (xpm_load_image):
* src/xfns.c (x_icon):
Rework to pacify gcc -Wmaybe-uninitialized.

3 years agoMake pdumper-marking pickier
Paul Eggert [Sun, 11 Jul 2021 07:54:32 +0000 (00:54 -0700)]
Make pdumper-marking pickier

Prevent some false-positives in conservative GC marking.
This doesn’t fix any correctness bugs; it’s merely to
reclaim some memory instead of keeping it unnecessarily.
* src/alloc.c (mark_maybe_pointer): New arg SYMBOL_ONLY.
All callers changed.  Check that the pointer’s tag, if any,
matches the pdumper-reported type.

3 years agoFix pdumper-related GC bug
Paul Eggert [Sun, 11 Jul 2021 07:27:43 +0000 (00:27 -0700)]
Fix pdumper-related GC bug

* src/alloc.c (mark_maybe_pointer): Also mark pointers
to pdumper objects, even when the pointers are tagged.
Add a FIXME saying why this isn’t enough.

3 years agoRewrite gnus-search-query-expand-key
Eric Abrahamsen [Sat, 10 Jul 2021 17:00:32 +0000 (10:00 -0700)]
Rewrite gnus-search-query-expand-key

* lisp/gnus/gnus-search.el (gnus-search-query-expand-key): There was a
misunderstanding about how completion-all-completion works (if the
test string can't be completed, the whole table is returned). Simplify
to use try-completion.
* test/lisp/gnus/gnus-search-tests.el (gnus-s-expand-keyword): Ensure
that an unknown/uncompletable keyword is returned unmolested.

3 years agoRework gnus-search-indexed-parse-output
Eric Abrahamsen [Sat, 26 Jun 2021 17:16:19 +0000 (10:16 -0700)]
Rework gnus-search-indexed-parse-output

* lisp/gnus/gnus-search.el (gnus-search-indexed-parse-output): Be more
careful about matching filesystem paths to Gnus group names; make
absolutely sure that we only return valid article numbers.

3 years ago* src/buffer.c (kill-buffer): Fix a typo.
Matthew White [Sat, 10 Jul 2021 22:49:12 +0000 (00:49 +0200)]
* src/buffer.c (kill-buffer): Fix a typo.

* src/buffer.c (Fkill_buffer): Fix typo in comment.

3 years agodoc/lispref/text.texi (Substitution): Add subst-char-in-string
Filipp Gunbin [Sat, 10 Jul 2021 17:00:01 +0000 (19:00 +0200)]
doc/lispref/text.texi (Substitution): Add subst-char-in-string

* doc/lispref/text.texi (Substitution): Document
subst-char-in-string (bug#49420).

3 years agoMake package-menu-filter-by-status work as documented
Lars Ingebrigtsen [Sat, 10 Jul 2021 16:53:28 +0000 (18:53 +0200)]
Make package-menu-filter-by-status work as documented

* lisp/emacs-lisp/package.el (package-menu-filter-by-status): Work
as documented (bug#49474).

3 years agoSkip a process test on Cygwin to avoid hang
Ken Brown [Fri, 9 Jul 2021 20:37:52 +0000 (16:37 -0400)]
Skip a process test on Cygwin to avoid hang

* test/src/process-tests.el
(process-tests/fd-setsize-no-crash/make-network-process): Skip
test on Cygwin to avoid hang due to connect/accept handshake.
(Bug#49496)

3 years ago* lisp/facemenu.el: Preload the C-mouse-2 menu binding
Stefan Monnier [Fri, 9 Jul 2021 19:53:38 +0000 (15:53 -0400)]
* lisp/facemenu.el: Preload the C-mouse-2 menu binding

3 years agoFurther cleanup for file locks
Michael Albinus [Fri, 9 Jul 2021 16:14:19 +0000 (18:14 +0200)]
Further cleanup for file locks

* doc/misc/tramp.texi (Top, Configuration): Adapt node name for
file locks.
(Auto-save File Lock and Backup): Rename node name and section
title.  Add file-lock to @cindex.  Describe file locks.

* lisp/dired.el (dired-trivial-filenames): Add lock files.
(dired-font-lock-keywords): Move files suffixed with
`completion-ignored-extensions' up.  Add lock files to these checks.

* lisp/net/tramp.el (tramp-get-lock-file, tramp-handle-unlock-file):
Use `when-let'
(tramp-lock-file-info-regexp): Rename from
`tramp-lock-file-contents-regexp'.
(tramp-handle-file-locked-p, tramp-handle-lock-file): Adapt callees.
(tramp-handle-lock-file): Set file modes of lockname.

* src/buffer.c (Frestore_buffer_modified_p):
* src/fileio.c (write_region):
* src/insdel.c (prepare_to_modify_buffer_1): Call Flock_file.

* src/filelock.c (Qmake_lock_file_name): Declare symbol.
(make_lock_file_name): Use it.  Don't check Fboundp, it doesn't
work for interned symbols.
(lock_file): Return a Lisp_Object.  Don't check create_lockfiles.
Remove MSDOS version of the function.
(Flock_file): Check create_lockfiles.
(Flock_buffer): Call Flock_file.

* src/lisp.h (lock_file): Remove.

* test/lisp/shadowfile-tests.el (shadow-test08-shadow-todo)
(shadow-test09-shadow-copy-files): Let-bind `create-lockfiles'.

* test/lisp/net/tramp-tests.el (create-lockfiles): Don't set it
globally.
(tramp-test39-lock-file): Check also for `set-visited-file-name'.

3 years ago; Fix let-alist Texinfo markup
Basil L. Contovounesios [Fri, 9 Jul 2021 13:37:50 +0000 (14:37 +0100)]
; Fix let-alist Texinfo markup

* doc/lispref/lists.texi (Association Lists): Use
@result (bug#34842).

3 years agoPartially restore the lost C-mouse-2 drop-down menu
Eli Zaretskii [Fri, 9 Jul 2021 11:37:49 +0000 (14:37 +0300)]
Partially restore the lost C-mouse-2 drop-down menu

This allows to pop up the Text Properties menu once facemenu is
loaded.  It still doesn't allow C-mouse-2 clicks without manually
loading facemenu; FIXME.
* lisp/facemenu.el (global-map) <C-down-mouse-2>: Add back the
removed binding.  (Bug#49466)

3 years ago* lisp/outline.el (outline-mode-cycle-map): Don't bind `tab`.
Stefan Monnier [Fri, 9 Jul 2021 03:00:03 +0000 (23:00 -0400)]
* lisp/outline.el (outline-mode-cycle-map): Don't bind `tab`.

Since it would take precedence over bindings for TAB in higher
precedence maps.

3 years ago* doc/lispref/files.texi (Magic File Names): Add make-lock-file-name.
Michael Albinus [Thu, 8 Jul 2021 19:14:28 +0000 (21:14 +0200)]
* doc/lispref/files.texi (Magic File Names): Add make-lock-file-name.