Michael Albinus [Sun, 19 Jul 2020 17:34:16 +0000 (19:34 +0200)]
* lisp/net/tramp-adb.el (tramp-adb-prompt): Further simplification.
Suggested by Mattias Engdegård <mattiase@acm.org>.
Eric Abrahamsen [Sun, 19 Jul 2020 14:15:33 +0000 (16:15 +0200)]
Complete over the MIME types in gnus-summary-save-parts
* lisp/gnus/gnus-sum.el (gnus-summary-save-parts): Allow
completing over the parts in the first article in the list of the
process-marked articles (bug#39543).
Štěpán Němec [Sun, 19 Jul 2020 14:05:11 +0000 (16:05 +0200)]
gnus-button-alist: Prefer URL links to Elisp library links
* lisp/gnus/gnus-art.el (gnus-button-alist): Move the URL clauses
higher up the list before library link setup to prevent URLs ending in
".el" from failing to be recognized (and invalid library links being
created instead) (bug#39781).
Lars Ingebrigtsen [Sun, 19 Jul 2020 13:46:17 +0000 (15:46 +0200)]
Do window configuration change before killing Gnus buffers on exit
* lisp/gnus/gnus-sum.el (gnus-summary-exit): Do window
configuration changes before killing off the summary buffer, so
that the window conf machinery can return to a group-only
configuration (bug#40069).
Lars Ingebrigtsen [Sun, 19 Jul 2020 13:18:23 +0000 (15:18 +0200)]
Allow adjusting the `W Q' Gnus summary command interactively
* doc/misc/gnus.texi (Article Washing): Document it.
* lisp/gnus/gnus-art.el (article-fill-long-lines): Take a numeric
prefix as the fill width (bug#38698).
Alan Mackenzie [Sun, 19 Jul 2020 10:55:48 +0000 (10:55 +0000)]
Remove redundant code from c-font-lock-fontify-region
* lisp/progmodes/cc-mode.el (c-font-lock-fontify-region): Remove variables
string-fence-beg and lim, and the code used to calculate them.
Philipp Stephani [Sun, 19 Jul 2020 08:32:51 +0000 (10:32 +0200)]
Add missing 'require'.
* lisp/progmodes/project.el: Require seq.el explicitly as
'seq-every-p' isn't autoloaded in Emacs 26.3.
Kévin Le Gouguec [Sun, 19 Jul 2020 02:34:22 +0000 (04:34 +0200)]
Simplify dummy root subject before comparing it to the current article
* lisp/gnus/gnus-sum.el (gnus-summary-prepare-threads): Simplify both
the dummy root and the following article before comparing them,
otherwise both the former and the latter might display the thread's
subject even when gnus-summary-line-format contains "%s" (bug#40520).
Lars Ingebrigtsen [Sun, 19 Jul 2020 02:28:46 +0000 (04:28 +0200)]
Fix C-c C-f in the Gnus article buffer
* lisp/gnus/gnus-art.el (gnus-article-mode-map): Make the C-c C-f
command work in the article buffer, too (bug#40548).
Lars Ingebrigtsen [Sun, 19 Jul 2020 01:49:16 +0000 (03:49 +0200)]
Mention the Emacs bug tracker in the bug reporting doc strings
* lisp/gnus/gnus-msg.el (gnus-bug): Mention the Emacs bug tracker.
* lisp/mail/emacsbug.el (report-emacs-bug): Link directly to the
Emacs portion of the bug reports (bug#41109).
Lars Ingebrigtsen [Sun, 19 Jul 2020 01:20:13 +0000 (03:20 +0200)]
Doc fix for article-fill-long-lines
* lisp/gnus/gnus-art.el (article-fill-long-lines): Mention that it
also respects `fill-column' (bug#41534).
Lars Ingebrigtsen [Sun, 19 Jul 2020 00:56:40 +0000 (02:56 +0200)]
Allow open-network-stream to use different TLS capability commands
* doc/lispref/processes.texi (Network): Document non-string
capability command.
* lisp/gnus/nntp.el (nntp-open-connection): Use HELP for Typhoon
and CAPABILITIES for everything else (bug#41960).
* lisp/net/network-stream.el (open-network-stream): Document
function variety of :capability-command.
(network-stream-open-starttls): Use it.
(network-stream-open-tls): Ditto.
(network-stream-open-shell): Ditto.
(network-stream--capability-command): New helper function.
Eric Abrahamsen [Sun, 19 Jul 2020 00:19:21 +0000 (02:19 +0200)]
Narrow to headers in gnus-registry before getting data
* lisp/gnus/gnus-registry.el (gnus-registry-spool-action): Narrow
to the headers before getting data from them (bug#42029).
João Távora [Sat, 18 Jul 2020 22:15:28 +0000 (23:15 +0100)]
Fix ElDoc bugs around eldoc-echo-area-use-multiline-p.
If the value is 'truncate-sym-name-if-fit andthe single docstring
doesn't fit in the echo area even when the symbol name is elided, that
step shouldn't be attempted. Also if the value is nil, really ensure
that only the first line is shown.
* lisp/emacs-lisp/eldoc.el (eldoc--handle-docs): Rework
'truncate-sym-name-if-fit case of eldoc-echo-area-use-multiline-p.
João Távora [Sat, 18 Jul 2020 22:50:00 +0000 (23:50 +0100)]
; Reword bits of ElDoc internal documentation
* lisp/emacs-lisp/eldoc.el (eldoc--invoke-strategy): Rewrite docstring.
(eldoc--invoke-strategy): Fix formatting and rewrite comments
Juri Linkov [Sat, 18 Jul 2020 23:43:18 +0000 (02:43 +0300)]
* lisp/window.el (display-buffer-override-next-command): Add ECHO arg.
* lisp/frame.el (other-frame-prefix):
* lisp/tab-bar.el (other-tab-prefix):
* lisp/windmove.el (windmove-display-in-direction):
* lisp/window.el (other-window-prefix, same-window-prefix):
Use new ECHO arg of display-buffer-override-next-command.
https://lists.gnu.org/archive/html/emacs-devel/2020-06/msg00819.html
Lars Ingebrigtsen [Sat, 18 Jul 2020 17:59:19 +0000 (19:59 +0200)]
Don't have shr kill random buffers on network failures
* lisp/url/url-queue.el (url-queue-callback-function): Don't kill
off random buffers on HTTP failures (bug#40976).
Lars Ingebrigtsen [Sat, 18 Jul 2020 16:02:43 +0000 (18:02 +0200)]
Make eww-open-file work with Tramp file names
* lisp/net/eww.el (eww-open-file): Allow opening non-local Tramp
files (bug#40425).
(eww): Adjust calling convention to allow passing in data directly
via a buffer.
Eli Zaretskii [Sat, 18 Jul 2020 14:40:44 +0000 (17:40 +0300)]
Fix documentation of a recent change in shr.el
* lisp/net/shr.el (shr-max-width, shr-width): Fix typo and wording
of the doc strings.
* etc/NEWS: Fix the wording of the 'shr-max-width's entry, and
move it to the SHR section.
Tassilo Horn [Fri, 17 Jul 2020 19:05:32 +0000 (21:05 +0200)]
; Add defvars for rcirc vars in order to silence the byte-compiler
* lisp/progmodes/bug-reference.el: Add rcirc defvars for silencing the
byte-compiler.
Tassilo Horn [Fri, 17 Jul 2020 18:59:04 +0000 (20:59 +0200)]
bug-reference auto-setup for IRC, implementation for rcirc
* lisp/progmodes/bug-reference.el (bug-reference-setup-from-irc-alist):
New defvar for configuring bug regexp and URL based on IRC channel and
server names.
(bug-reference--maybe-setup-from-irc): New defun doing the setup given
channel and server.
(bug-reference-try-setup-from-rcirc): New defun calling the above for
rcirc buffers.
(bug-reference--run-auto-setup): Enable the auto-setup for rcirc.
* etc/NEWS: Extend entry describing bug-reference auto-setup.
Lars Ingebrigtsen [Fri, 17 Jul 2020 16:44:49 +0000 (18:44 +0200)]
Fix NOT-CURRENT behaviour in text-property-search-backward
* lisp/emacs-lisp/text-property-search.el
(text-property-search-backward): Fix inconsistent behaviour of
S-TAB in eww (and other callers that use the NOT-CURRENT
behaviour) when there are adjacent elements
(bug#39239).
Xu Chunyang [Fri, 17 Jul 2020 14:43:57 +0000 (16:43 +0200)]
Fix <textarea> default texts in eww
* lisp/net/eww.el (eww-tag-textarea): <textarea> default text
comes from the contents, not a value attribute (bug#39867).
Lars Ingebrigtsen [Fri, 17 Jul 2020 14:01:55 +0000 (16:01 +0200)]
Don't message complete GIF data upon errors
* src/image.c (gif_load): When unable to parse a GIF specified
via a data attribute, don't message the complete binary, because
that's not useful (bug#40850).
Lars Ingebrigtsen [Fri, 17 Jul 2020 13:45:04 +0000 (15:45 +0200)]
Add support for a shr-max-width variable
* doc/misc/eww.texi (Advanced): Document it.
* lisp/net/shr.el (shr-max-width): Add new variable (bug#40909).
(shr-insert-document): Use it.
Lars Ingebrigtsen [Fri, 17 Jul 2020 13:30:29 +0000 (15:30 +0200)]
Clarify shr width computation
* lisp/net/shr.el (shr-insert-document): Clarify width
computation: shr-width was checked again in the `else' part where
we already knew it was nil.
Basil L. Contovounesios [Fri, 17 Jul 2020 11:04:09 +0000 (12:04 +0100)]
; Simplify last change in shr.el
* lisp/net/shr.el (shr-max-columns): Simplify some function calls.
Lars Ingebrigtsen [Fri, 17 Jul 2020 01:52:35 +0000 (03:52 +0200)]
Make old aliases to gnus-child* commands work before Gnus is loaded
* lisp/gnus/gnus.el (gnus-slave-no-server, gnus-slave): Mark as
obsolete in a way that still lets them be used as interactive
commands before Gnus is loaded.
* lisp/gnus/gnus-agent.el (gnus-slave-unplugged): Ditto (bug#42401).
Stefan Kangas [Fri, 17 Jul 2020 01:23:15 +0000 (03:23 +0200)]
Show eww bookmarks buffer only if it's not empty
* lisp/net/eww.el (eww-list-bookmarks): Don't show buffer if there
are no bookmarks. (Bug#41385)
(eww-bookmark-prepare): Move signalling an error if there are no
bookmarks from here...
(eww-read-bookmarks): ...to here. Add new argument `error-out' to
control this.
(eww-next-bookmark, eww-previous-bookmark): Call
`eww-read-bookmarks'.
Lars Ingebrigtsen [Fri, 17 Jul 2020 01:13:05 +0000 (03:13 +0200)]
Fix problems with not rendering shr tables with rowspan
* lisp/net/shr.el (shr-max-columns): When rowspans were in effect,
columns would go missing from subsequent lines (bug#42194).
Lars Ingebrigtsen [Thu, 16 Jul 2020 23:46:57 +0000 (01:46 +0200)]
Adjust naming convention for dependent Gnus sessions
* doc/misc/gnus.texi (Child Gnusae): Rename node from "Slave
Gnusae" and adjust wording. Also remove at least one joke.
* lisp/gnus/gnus-start.el (gnus-no-server-1, gnus-1)
(gnus-setup-news, gnus-save-newsrc-file): Adjust parameter names.
(gnus-child-mode): Rename and add alias.
(gnus-child-save-newsrc): Rename.
(gnus-parent-read-child-newsrc): Ditto.
* lisp/gnus/gnus-group.el (gnus-group-mode)
(gnus-group-get-new-news): Ditto.
* lisp/gnus/gnus-agent.el (gnus-child-unplugged): Rename function
from gnus-slave-unplugged (and add the latter as an obsolete alias).
* lisp/gnus/gnus.el (gnus-other-frame-function): Adjust function
names in the defcustom to new naming scheme.
(gnus-other-frame-resume-function): Ditto.
(gnus): Adjust parameter names.
Tassilo Horn [Thu, 16 Jul 2020 16:38:59 +0000 (18:38 +0200)]
Add tramp and orgmode to bug-reference-setup-from-mail-alist.
Also add a TODO that I should implement something similar for
IRC (rcirc/ERC).
* lisp/progmodes/bug-reference.el (bug-reference-setup-from-mail-alist):
Auto-setup also with groups matching orgmode and tramp.
Juri Linkov [Wed, 15 Jul 2020 23:43:06 +0000 (02:43 +0300)]
Use describe-char-padded-string for composed character names in "C-u C-x ="
* lisp/descr-text.el (describe-char): Use describe-char-padded-string
for displaying Unicode names of composed characters on GUI frames.
(Bug#42256)
Tassilo Horn [Wed, 15 Jul 2020 16:58:57 +0000 (18:58 +0200)]
;Fix eldoc regression bug#42365
Jonas Bernoulli [Mon, 20 Apr 2020 21:31:16 +0000 (23:31 +0200)]
* lisp/epa.el (epa-show-key): New command.
Users can move in `epa-key-list-mode' buffers using either
`next-line'/`previous-line' or `widget-forward'/`widget-backward'.
When using the first set of commands, then the cursor stays in the
current column and that normally is the first column. The key
widgets do not begin until the third character of their respective
lines.
All `epa' commands work regardless of whether the cursor is on the
widget or before them. The `epa-show-key' command did not exist until
now because the `widget-button-press' already performs its task. But
because the widgets don't span complete lines we actually need this
command too.
Jonas Bernoulli [Mon, 20 Apr 2020 21:33:44 +0000 (23:33 +0200)]
epa-key-list-mode-map: Use widget-keymap as parent keymap
Normally when one keymap is to be treated as the parent of another,
then that relationship is setup once at the time when the child is
being defined, i.e. at birth. For some reason, this was not done
here; instead `widget-keymap' is set as `epa-key-list-mode-map'
parent every time the former is setup to be used as the local map.
This appears to be a mistake. A few other keymaps use `widget-keymap'
as their parent and in those cases the relationship is established
just once. `epa-key-list-mode-map' is the only exception and because
there is absolutely no indication that that is justified, we remove
this inconsistency.
* lisp/epa.el (epa-key-list-mode-map): Set the parent of this keymap
while defining it.
* lisp/epa.el (epa--list-keys): Do not set the parent of the local
keymap here.
Jonas Bernoulli [Tue, 18 Feb 2020 15:56:16 +0000 (16:56 +0100)]
Cosmetic changes to epa libraries
These changes make the code more readable.
* lisp/epa-dired.el (epa-dired-do-decrypt, epa-dired-do-verify)
(epa-dired-do-sign, epa-dired-do-encrypt): Use dolist instead
of while.
* lisp/epa-file.el (epa-file-passphrase-callback-function):
Set just one variable per setq call.
Jonas Bernoulli [Tue, 18 Feb 2020 15:58:31 +0000 (16:58 +0100)]
Drop unnecessary backward compatibility aliases
We can assume that `encode-coding-string' and `decode-coding-string'
are available; they were added in 1997.
* lisp/epa-file.el (epa-file--encode-coding-string)
(epa-file--decode-coding-string): Remove aliases for
encode-coding-string and decode-coding-string.
* lisp/epa-file.el (epa-file-write-region): Use encode-coding-string
instead of removed epa-file--encode-coding-string.
Jonas Bernoulli [Tue, 18 Feb 2020 15:59:00 +0000 (16:59 +0100)]
Improve and add doc-strings
* lisp/epa-file.el (epa-file-select-keys):
lisp/epa-hook.el (epa-file-name-regexp):
lisp/epa.el (epa-exit-buffer): Improve doc-string.
* lisp/epa-hook.el (epa-file-name-regexp-update): Add doc-string.
Jonas Bernoulli [Tue, 18 Feb 2020 15:53:34 +0000 (16:53 +0100)]
* lisp/epg-config.el (epg-config--make-gpg-configuration): Fix indentation.
Jonas Bernoulli [Tue, 18 Feb 2020 15:49:19 +0000 (16:49 +0100)]
Add all epa faces to epa-faces Custom group
`epa-validity-face-alist' isn't actually a face but belongs
in that group anyway.
* lisp/epa.el (epa-field-name, epa-field-body)
(epa-validity-face-alist): Add to epa-faces Custom group.
Jonas Bernoulli [Tue, 18 Feb 2020 15:45:34 +0000 (16:45 +0100)]
* lisp/epa.el (epa-faces): Move definition.
Previously option `epa-mail-aliases' was the only option that was
defined right after the group `epa-faces' and right before all the
faces. Now it is defined with all the other options and thus before
the definition of the `epa-faces' group, which it does not belong to.
Juri Linkov [Tue, 14 Jul 2020 23:19:49 +0000 (02:19 +0300)]
Improve display of composed character names in "C-u C-x =" on GUI frames
* lisp/descr-text.el (describe-char): On GUI frames, display the
Unicode names of really composed characters only (Bug#42256)
Basil L. Contovounesios [Tue, 14 Jul 2020 12:49:34 +0000 (13:49 +0100)]
Consistently stylize eldoc as ElDoc in more prose
This fixes new occurrences of "Eldoc" since emacs-27.
* doc/lispref/modes.texi (Major Mode Conventions):
* etc/NEWS:
* lisp/descr-text.el (describe-char-eldoc):
* lisp/emacs-lisp/eldoc.el (eldoc-echo-area-use-multiline-p)
(eldoc-prefer-doc-buffer, eldoc--documentation-strategy-defcustom):
Consistently capitalize eldoc as ElDoc rather than Eldoc in
documentation and commentary.
Juri Linkov [Tue, 14 Jul 2020 00:12:06 +0000 (03:12 +0300)]
Improve documentation of "C-u C-x ="
* doc/emacs/mule.texi (International Chars): Update the
composition information displayed by "C-u C-x =". (Bug#42256)
Juri Linkov [Sun, 12 Jul 2020 23:33:02 +0000 (02:33 +0300)]
Display "C-u C-x =" composed character names on GUI frames as well
* lisp/descr-text.el (describe-char): On GUI frames, display the
Unicode names of the composed characters like they are displayed
on TTY frames. (Bug#42256)
Eli Zaretskii [Sun, 12 Jul 2020 18:48:39 +0000 (21:48 +0300)]
;* lisp/progmodes/project.el (project-current): Doc fix.
Dmitry Gutov [Sun, 12 Jul 2020 17:55:23 +0000 (20:55 +0300)]
; Roll back certain doc changes; clarify what "transient" is
James N. V. Cash [Fri, 10 Jul 2020 15:38:47 +0000 (11:38 -0400)]
Fix a typo in eldoc.el
* lisp/emacs-lisp/eldoc.el (eldoc-documentation-functions): Fix a
typo. (Bug#42310)
Copyright-paperwork-exempt: yes
Eli Zaretskii [Sun, 12 Jul 2020 13:57:40 +0000 (16:57 +0300)]
Fix last doc changes in project.el
* lisp/progmodes/project.el (project-find-functions)
(project-current): Add back information which was recently
removed.
João Távora [Fri, 10 Jul 2020 19:49:54 +0000 (20:49 +0100)]
Sort out ElDoc backward compatibility of eldoc-documentation-function
As explained previously, we can't simply make
eldoc-documentation-function an variable alias for
eldoc-documentation-strategy, because ElDoc is pre-loaded in Emacs <
28, where it holds at least one buffer-local binding. So if eldoc.el
is loaded in those versions, we do the variable alias binding in
reverse. We do this using a macro
eldoc--documentation-strategy-defcustom to at load time in which
direction to make the variable alias.
* lisp/emacs-lisp/eldoc.el
(eldoc--documentation-strategy-defcustom): Helper macro.
(eldoc-documentation-strategy, eldoc-documentation-function): Use it.
(Version): Bump to 1.5.0
Michael Albinus [Sun, 12 Jul 2020 13:02:56 +0000 (15:02 +0200)]
More Tramp code cleanup
* lisp/net/tramp.el (tramp-process-actions):
* lisp/net/tramp-adb.el (tramp-adb-handle-file-system-info)
(tramp-adb-handle-set-file-times)
(tramp-adb-maybe-open-connection):
* lisp/net/tramp-cmds.el (tramp-rename-files, tramp-rename-these-files)
(tramp-reporter-dump-variable):
* lisp/net/tramp-sh.el (tramp-do-file-attributes-with-stat)
(tramp-sh-handle-file-selinux-context)
(tramp-do-directory-files-and-attributes-with-stat)
(tramp-sh-handle-file-name-all-completions)
(tramp-sh-handle-write-region)
(tramp-sh-handle-file-notify-add-watch)
(tramp-sh-gvfs-monitor-dir-process-filter)
(tramp-sh-inotifywait-process-filter)
(tramp-sh-handle-file-system-info, tramp-find-executable)
(tramp-open-shell, tramp-find-shell):
* lisp/net/tramp-smb.el (tramp-smb-do-file-attributes-with-stat)
(tramp-smb-handle-file-system-info):
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-file-selinux-context)
(tramp-sudoedit-handle-file-system-info): Remove superfluous
`eval-when-compile', `concat' creates the string during byte
compilation. Reported by Mattias Engdegård <mattiase@acm.org>.
* lisp/net/tramp-adb.el (tramp-adb-prompt): Simplify.
(tramp-adb-send-command):
* lisp/net/tramp-gvfs.el (tramp-gvfs-dbus-string-to-byte-array):
Use `string-match-p'.
* lisp/net/tramp-sh.el (tramp-sunos-unames): New defconst.
(tramp-find-executable, tramp-find-shell, tramp-get-remote-stat): Use it.
Dmitry Gutov [Sun, 12 Jul 2020 00:46:37 +0000 (03:46 +0300)]
project-kill-buffers: Update the docstring too
* lisp/progmodes/project.el (project-kill-buffers):
Copy a sentence over from project-switch-to-buffer.
Dmitry Gutov [Sun, 12 Jul 2020 00:39:16 +0000 (03:39 +0300)]
More docstring updates in project.el
* lisp/progmodes/project.el (project-find-functions)
(project-current, project-switch-to-buffer):
More docstring updates.
Glenn Morris [Sat, 11 Jul 2020 16:25:04 +0000 (09:25 -0700)]
; Merge from origin/emacs-27
The following commits were skipped:
bdf716bba1 (origin/emacs-27) Correct 'concat' manual entry (bug#42296)
b1ad0380d2 * doc/misc/flymake.texi (An annotated example backend): Ty...
Glenn Morris [Sat, 11 Jul 2020 16:25:04 +0000 (09:25 -0700)]
Merge from origin/emacs-27
c04b92104c Add commentary in gtkutil.c
6290850dac Consistently stylize eldoc as ElDoc in prose
136e931189 Improve documentation of "C-u C-x ="
1f52771fd3 Mention floating rounding issues
c892ae65b4 Repair global-auto-revert-ignore-modes (bug#42271)
3a446a02fb ; * src/xdisp.c (decode_mode_spec): Fix commentary.
79f381b4a6 One more improvement of left/right-fringe display spec docs
1279bdb072 Another clarification of left/right-fringe display spec
# Conflicts:
# doc/emacs/programs.texi
Mattias Engdegård [Thu, 9 Jul 2020 15:32:13 +0000 (17:32 +0200)]
Correct 'concat' manual entry (bug#42296)
* doc/lispref/strings.texi (Creating Strings): 'concat' does not
necessarily return a newly allocated string. This has been the case
at least since 1997 (Emacs 20.3).
Mattias Engdegård [Thu, 9 Jul 2020 15:32:13 +0000 (17:32 +0200)]
Correct 'concat' manual entry (bug#42296)
* doc/lispref/strings.texi (Creating Strings): 'concat' does not
necessarily return a newly allocated string. This has been the case
at least since 1997 (Emacs 20.3).
Michael Albinus [Sat, 11 Jul 2020 12:46:18 +0000 (14:46 +0200)]
Fix multibyte chars of file names in tramp-adb.el
* lisp/net/tramp-adb.el (tramp-adb-execute-adb-command): Revert return
value meaning. Insert the result into the connection buffer.
(tramp-adb-handle-file-local-copy)
(tramp-adb-handle-write-region, tramp-adb-handle-copy-file)
(tramp-adb-get-device): Adapt calls.
(tramp-adb-send-command): Use "adb shell ..." in case the command
contains multibyte chars.
* test/lisp/net/tramp-tests.el (tramp--test-utf8): Extend test.
Eli Zaretskii [Sat, 11 Jul 2020 12:35:43 +0000 (15:35 +0300)]
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
Eli Zaretskii [Sat, 11 Jul 2020 12:33:51 +0000 (15:33 +0300)]
Another minor improvement of project.el doc strings
* lisp/progmodes/project.el (project-find-functions)
(project-current, project-switch-to-buffer): Doc fix.
(project-current): Rename the argument DIR to DIRECTORY.
Andrea Corallo [Sat, 11 Jul 2020 10:13:54 +0000 (11:13 +0100)]
* doc/misc/flymake.texi (An annotated example backend): Typo fix.
Andrea Corallo [Sat, 11 Jul 2020 10:13:54 +0000 (11:13 +0100)]
* doc/misc/flymake.texi (An annotated example backend): Typo fix.
Eli Zaretskii [Sat, 11 Jul 2020 09:47:26 +0000 (12:47 +0300)]
Add commentary in gtkutil.c
* src/gtkutil.c: Add a comment regarding the incompatibilities
vis-a-vis GTK. Suggested by Richard Stallman <rms@gnu.org>.
Dmitry Gutov [Sat, 11 Jul 2020 01:39:02 +0000 (04:39 +0300)]
project-switch-to-buffer: Reword the docstring
* lisp/progmodes/project.el (project-switch-to-buffer):
Reword the docstring, copying the style from project-kill-buffers.
João Távora [Fri, 10 Jul 2020 20:23:06 +0000 (21:23 +0100)]
Fix placement of Eldoc docs during eval-expression (bug#42309)
* lisp/emacs-lisp/eldoc.el (eldoc--handle-docs): Rework.
João Távora [Fri, 10 Jul 2020 17:07:32 +0000 (18:07 +0100)]
Revert "Fix Eldoc problem when loading on Emacs 26.3"
This reverts commit
9ade7ea7b77ec40c16deb4dff139ce7127a703e2.
* lisp/emacs-lisp/eldoc.el (Version): Bump to 1.4.0
Basil L. Contovounesios [Fri, 10 Jul 2020 14:22:27 +0000 (15:22 +0100)]
Consistently stylize eldoc as ElDoc in prose
* doc/emacs/custom.texi (Specifying File Variables):
* doc/emacs/modes.texi (Major Modes):
* doc/emacs/programs.texi (Lisp Doc):
* etc/NEWS.22:
* etc/NEWS.23:
* lisp/progmodes/python.el:
(python-eldoc-function):
* test/lisp/progmodes/python-tests.el: Consistently capitalize eldoc
as ElDoc rather than Eldoc.
Michael Albinus [Fri, 10 Jul 2020 08:45:14 +0000 (10:45 +0200)]
Tramp code cleanup
* lisp/net/tramp.el (tramp-shell-prompt-pattern)
(tramp-wrong-passwd-regexp, tramp-method-regexp-alist)
(tramp-domain-regexp, tramp-host-regexp, tramp-ipv6-regexp)
(tramp-port-regexp, tramp-debug-outline-regexp)
(tramp-drop-volume-letter, tramp-parse-shostkeys)
(tramp-handle-file-name-case-insensitive-p):
* lisp/net/tramp-adb.el (tramp-adb-send-command-and-check):
* lisp/net/tramp-ftp.el (tramp-ftp-enable-ange-ftp):
* lisp/net/tramp-gvfs.el (tramp-gvfs-monitor-process-filter):
* lisp/net/tramp-sh.el (tramp-display-escape-sequence-regexp)
(tramp-device-escape-sequence-regexp):
* lisp/net/tramp-smb.el (tramp-smb-do-file-attributes-with-stat)
(tramp-smb-handle-set-file-acl, tramp-smb-read-file-entry):
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-file-selinux-context):
Use character classes in regexp.
* lisp/net/tramp-adb.el (tramp-adb-ls-date-year-regexp)
(tramp-adb-ls-date-time-regexp): New defconst.
(tramp-adb-ls-date-regexp, tramp-adb-ls-toolbox-regexp)
(tramp-adb-sh-fix-ls-output): Use them.
(tramp-adb-handle-set-file-times, tramp-adb-maybe-open-connection):
Apply `eval-when-compile' on constant concat data.
(tramp-do-parse-file-attributes-with-ls):
Suppress `signal-hook-function'.
(tramp-adb--gnu-switches-to-ash): Remove unused function.
(tramp-adb-handle-set-file-modes): Qhote argument.
(tramp-adb-maybe-open-connection): Set file property rather than flush.
* lisp/net/tramp-cmds.el (tramp-rename-these-files):
Apply `eval-when-compile' on constant concat data.
* lisp/net/tramp-gvfs.el (tramp-gvfs-file-attributes)
(tramp-gvfs-file-attributes-with-gvfs-ls-regexp): Embed them in
`eval-and-compile'.
(tramp-gvfs-get-directory-attributes): Apply `eval-when-compile'
on constant concat data.
João Távora [Fri, 10 Jul 2020 07:13:15 +0000 (08:13 +0100)]
Fix byte compilation warning in Eldoc
* lisp/emacs-lisp/eldoc.el (eldoc-documentation-function): Pass nil as
second argument.
João Távora [Fri, 10 Jul 2020 00:47:10 +0000 (01:47 +0100)]
Fix Eldoc problem when loading on Emacs 26.3
When defining the obsolete variable alias for old
eldoc-documentation-function (which now points to the newer
eldoc-documentation-strategy), one gets the error "don't know how to
make a localized vareiable an alias". I'm not sure, but I suspect
this is because Eldoc is preloaded in Emacs 26.3 and the
eldoc-documentation-function variable is already set locally by some
Elisp buffer.
Uninterning the symbol shortly before defining the alias seems to fix
it.
* lisp/emacs-lisp/eldoc.el (eldoc-documentation-function):
Unintern on load.
(Version): Bump to 1.3.0
Paul Eggert [Thu, 9 Jul 2020 23:35:48 +0000 (16:35 -0700)]
Fix out-of-source ‘make check’ emacs-module-tests
Problem reported by Koki Fukuda in:
https://lists.gnu.org/r/emacs-devel/2020-07/msg00169.html
* test/Makefile.in (MODULE_CFLAGS):
Include from the same directories included from in ../src.
* test/src/emacs-module-tests.el (module/describe-function-1):
Strip path to source directory.
Paul Eggert [Thu, 9 Jul 2020 23:35:48 +0000 (16:35 -0700)]
Use Gnulib libgmp module
Instead of doing GMP by hand, use the Gnulib libgmp module.
* .gitignore: Add lib/gmp.h.
* admin/merge-gnulib (GNULIB_MODULES): Add libgmp.
* configure.ac (GMP_LIB, GMP_OBJ): Remove. Gnulib uses the name
LIB_GMP, so all uses changed. All uses of GMP_OBJ removed.
(HAVE_GMP): Set this from Gnulib’s variables.
* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
* lib/mini-gmp-gnulib.c, lib/mini-gmp.c, lib/mini-gmp.h, m4/libgmp.m4:
New files, copied from Gnulib.
* src/bignum.h, test/data/emacs-module/mod-test.c:
Include gmp.h unconditionally.
* src/mini-gmp-emacs.c, src/mini-gmp.c, src/mini-gmp.h:
Remove. This moves these files from src to lib, and
updates them to the current GMP version.
* test/Makefile.in (GMP_H): New macro.
($(test_module)): Use it to decide whether to compile
mini-gmp-gnulib.c too.
Paul Eggert [Thu, 9 Jul 2020 23:35:48 +0000 (16:35 -0700)]
Speed up GCC 10.1 compilation in default Git builds
* configure.ac (nw): GCC 10.1 introduced warnings enabled by -fanalyzer
that slow down compilation considerably. Generate these warnings only
if --enable-gcc-warnings is explicitly given. Also, do not bother to
eliminate warnings that Gnulib’s revised manywarnings module no longer
generates.
Paul Eggert [Thu, 9 Jul 2020 23:35:48 +0000 (16:35 -0700)]
Update from Gnulib
This incorporates:
2020-07-07 dup2: remove support for some very old platforms
2020-07-07 memchr: remove support for some very old platforms
2020-07-04 getumask: new module
2020-07-03 getrandom: fix compilation error on native Windows
2020-07-03 lchmod: simplify after 2020-02-22 change
2020-07-01 manywarnings: improve port to GCC 10.1
2020-06-28 getrandom: fix compilation errors on older versions of mingw
2020-06-29 alloca-opt: fix warning on mingw
* lib/alloca.in.h, lib/dup2.c, lib/getrandom.c, lib/string.in.h:
* lib/sys_stat.in.h, lib/unistd.in.h, m4/dup2.m4, m4/getrandom.m4:
* m4/lchmod.m4, m4/manywarnings.m4, m4/string_h.m4, m4/sys_stat_h.m4:
* m4/unistd_h.m4: Copy from Gnulib.
* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
Alexander Adolf [Sat, 2 May 2020 15:13:20 +0000 (11:13 -0400)]
EUDC: Add macOS Contacts backend
* lisp/net/eudcb-macos-contacts.el: New file.
* doc/misc/eudc.texi (macOS Contacts): New section.
(macOS Contacts Configuration): Likewise.
* etc/NEWS: Mention new macOS Contacts backend.
Eli Zaretskii [Thu, 9 Jul 2020 17:42:04 +0000 (20:42 +0300)]
Improve display of compositions by "C-u C-x ="
* lisp/descr-text.el (describe-char): On TTY frames, display the
Unicode names of the composed characters as well. (Bug#42256)
Eli Zaretskii [Thu, 9 Jul 2020 17:38:38 +0000 (20:38 +0300)]
Improve documentation of "C-u C-x ="
* doc/emacs/mule.texi (International Chars): Mention the
composition information displayed by "C-u C-x =". (Bug#42256)
João Távora [Thu, 9 Jul 2020 12:12:34 +0000 (13:12 +0100)]
Unbreak M-x eldoc
The command should always invoke Eldoc when called interactively,
instead of going through the usual checks, which are performed to
avoid interference with other commands.
* lisp/emacs-lisp/eldoc.el (eldoc-print-current-symbol-info): Rework.
(Version): Bump to 1.2.0
João Távora [Thu, 9 Jul 2020 16:51:38 +0000 (17:51 +0100)]
Prevent infloop in Eldoc message truncation algorithm
The truncation algorithm still has a long way to go for very narrow
frame sizes. It should become a generic mechanism that would allows
one to truncate a string so that fits in N possibly truncated screen
lines of a full-width window.
* lisp/emacs-lisp/eldoc.el (eldoc-handle-docs): Tweak
Paul Eggert [Thu, 9 Jul 2020 15:40:17 +0000 (08:40 -0700)]
Mention floating rounding issues
* doc/lispref/numbers.texi (Float Basics): Mention floating-point
rounding issues uncovered by the discussion in Bug#42417.
João Távora [Thu, 9 Jul 2020 10:13:48 +0000 (11:13 +0100)]
Bump Flymake version
* lisp/progmodes/flymake.el (Version): Bump to 1.0.9.
Mattias Engdegård [Thu, 9 Jul 2020 07:28:12 +0000 (09:28 +0200)]
Repair global-auto-revert-ignore-modes (bug#42271)
Reported by Gustavo Tavares Cabral.
* lisp/autorevert.el (auto-revert--global-add-current-buffer): Fix typo.
Glenn Morris [Thu, 9 Jul 2020 00:35:54 +0000 (17:35 -0700)]
Update tests for recent changes
* test/lisp/descr-text-tests.el (descr-text-test-desc):
Update for recent change to describe-char-eldoc.
* test/lisp/progmodes/elisp-mode-tests.el
(elisp--highlight-function-argument-indexed)
(elisp--highlight-function-argument-keyed-1)
(elisp--highlight-function-argument-keyed-2):
Update for recent change to elisp--highlight-function-argument.
Glenn Morris [Thu, 9 Jul 2020 00:23:36 +0000 (17:23 -0700)]
* lisp/progmodes/cc-engine.el (c-at-expression-start-p): Fix message.
João Távora [Wed, 8 Jul 2020 19:22:53 +0000 (20:22 +0100)]
; * etc/NEWS (Eldoc): adjust NEWS entry.
João Távora [Wed, 8 Jul 2020 19:20:14 +0000 (20:20 +0100)]
Shoosh warnings about obsolete eldoc-documentation-function
* lisp/progmodes/cfengine.el (cfengine3-mode): Remove mention to
obsolete eldoc-documentation-function.
* lisp/progmodes/python.el (python-mode): Use with-no-warnings.
Eli Zaretskii [Wed, 8 Jul 2020 16:54:17 +0000 (19:54 +0300)]
; * etc/NEWS: Fix last change.
Eli Zaretskii [Wed, 8 Jul 2020 16:49:45 +0000 (19:49 +0300)]
; * etc/NEWS: Minor copyedits of the recent additions.
Eli Zaretskii [Wed, 8 Jul 2020 16:45:30 +0000 (19:45 +0300)]
; * src/xdisp.c (decode_mode_spec): Fix commentary.
Mattias Engdegård [Wed, 8 Jul 2020 09:22:19 +0000 (11:22 +0200)]
Special-case symbol and fixnum keys in member, assoc and rassoc
* src/fns.c (Fmember, Fassoc, Frassoc): Delegate to the cheaper Fmemq,
Fassq and Frassq for arguments of the appropriate types.
(eq_comparable_value): New function.
Eli Zaretskii [Wed, 8 Jul 2020 14:39:13 +0000 (17:39 +0300)]
One more improvement of left/right-fringe display spec docs
* doc/lispref/display.texi (Fringe Bitmaps): Yet another
clarification of how to use FACE in left/right-fringe display
spec.
João Távora [Wed, 8 Jul 2020 10:19:19 +0000 (11:19 +0100)]
Improve Eldoc docstrings
* lisp/emacs-lisp/eldoc.el (eldoc-documentation-strategy): Improve
docstring.
(eldoc--make-callback): Improve docstring.
(eldoc--invoke-strategy): New helper function.
(eldoc-print-current-symbol-info): Call eldoc--invoke-strategy.
(eldoc-documentation-functions): Improve docstring.
João Távora [Tue, 7 Jul 2020 12:37:16 +0000 (13:37 +0100)]
Change version scheme of two Eldoc obsolete specs
* lisp/emacs-lisp/eldoc.el (eldoc-documentation-function)
(eldoc-message): Obsolete spec uses eldoc-1.1.0.
João Távora [Tue, 7 Jul 2020 12:35:07 +0000 (13:35 +0100)]
Adjust describe-char-eldoc to new eldoc-documentation-functions protocol
* lisp/descr-text.el (describe-char-eldoc): Adjust to new
eldoc-documentation-functions protocol.
João Távora [Sun, 5 Jul 2020 11:55:27 +0000 (12:55 +0100)]
Adjust Eldoc documentation after Eli's review
* etc/NEWS (Eldoc): Adjust paragraphs.
* lisp/emacs-lisp/eldoc.el (eldoc-prefer-doc-buffer): Adjust
docstring.
(eldoc--enthusiasm-curbing-timer, eldoc-documentation-strategy)
(eldoc-documentation-functions): Adjust docstring.
(eldoc--handle-docs): Adjust comments.
(eldoc--documentation-compose-1): New helper.
(eldoc-documentation-compose)
(eldoc-documentation-compose-eagerly): Use it.
(eldoc-print-current-symbol-info): Adjust comments.
João Távora [Sat, 6 Jun 2020 13:04:48 +0000 (14:04 +0100)]
Make more parts of Emacs use new Eldoc capabilities
Elisp-mode was doing a lot of work that can now be delegated to Eldoc.
Flymake uses the new Eldoc functionality, too, installing a global
documentation function that may report on diagnostics under point.
CEDET's grammar.el was left as the only user of an Eldoc-internal
function. That function was moved to grammar.el. That file is still,
somewhat reprehensibly, using an internal function of elisp-mode.el,
but this was left unchanged.
In other situations, eldoc-documentation-functions is used or
recommended.
The only other places where the obsolete eldoc-documentation-function
is still used is in libraries which are presumably meant to remain
compatible with previous Emacs versions.
* lisp/progmodes/elisp-mode.el (elisp-eldoc-funcall)
(elisp-eldoc-var-docstring): New functions.
(emacs-lisp-mode): Put two elements in
eldoc-documentation-functions.
* lisp/emacs-lisp/eldoc.el (eldoc--eval-expression-setup): Setup
new Elisp eldoc-documentation-functions.
* lisp/progmodes/flymake.el (flymake-mode): Use
flymake-eldoc-function.
(flymake-eldoc-function): New function.
(Package-Requires): Require eldoc 1.1.0
* lisp/descr-text.el (describe-char-eldoc): Recommend
eldoc-documentation-functions.
* lisp/progmodes/cfengine.el (cfengine3-documentation-function):
Recommend eldoc-documentation-functions
* lisp/progmodes/octave.el (inferior-octave-mode): Use
eldoc-documentation-functions.
* lisp/cedet/semantic/grammar.el (semantic--docstring-format-sym-doc):
New function.
(semantic-grammar-eldoc-get-macro-docstring): Adjust.
João Távora [Wed, 3 Jun 2020 17:47:24 +0000 (18:47 +0100)]
* lisp/emacs-lisp/eldoc.el (Version): Bump to 1.1.0
João Távora [Mon, 15 Jun 2020 12:55:37 +0000 (13:55 +0100)]
New M-x eldoc for on-demand and interactive documentation requests
The function eldoc is just an alias for
eldoc-print-current-symbol-info, which is made interactive.
* lisp/emacs-lisp/eldoc.el (eldoc-print-current-symbol-info): Now an
interactive function.
(eldoc): Alias to eldoc-print-current-symbol-info.
João Távora [Mon, 25 May 2020 15:39:40 +0000 (16:39 +0100)]
Better handle asynchronous Eldoc sources
This is a backward compatible redesign of significant parts of the
eldoc.el library.
Previously, Eldoc clients (major/minor modes setting its documentation
gathering variables) needed to directly call eldoc-message, an
internal function, to display the docstring to the user. When more
asynchronous sources are involved, this is hard to do or even breaks
down.
Now, an Eldoc backend may return any non-nil, non-string value and
call a callback afterwards. This restores power to Eldoc over how
(and crucially also when) to display the docstrings to the user.
Among other things, this fixes so called "doc blinking", or the very
short-lived display of a lower priority Eldoc message. This would
happen if a particular producer of documentation finishes shortly
before a higher priority one, like in the LSP engine Eglot as reported
by Andrii Kolomoiets <andreyk.mad@gmail.com> and Dmitry Gutov
<dgutov@yandex.ru>.
Gathering docstrings is now delegated to the variable
eldoc-documentation-strategy, which is the new name for the
now-obsolete eldoc-documentation-function, and still accepts the
so-called "old protocol". Examples of the new strategies enabled are
codified in functions such as eldoc-documentation-enthusiast,
eldoc-documentation-compose-eagerly, along with the existing
eldoc-documentation-compose and eldoc-documentation-default.
The work of displaying and formatting docstrings is shifted almost
fully to Eldoc itself and is delegated to the internal function
eldoc--handle-docs. Among other improvements, it handles most of
eldoc-echo-area-use-multiline-p and outputs documentation to a
temporary *eldoc* buffer.
The manual and NEWS are updated to mention the new Eldoc features.
* lisp/emacs-lisp/eldoc.el (eldoc-documentation-functions):
Overhaul docstring.
(eldoc-documentation-compose, eldoc-documentation-default): Handle
non-nil, non-string values of elements of
eldoc-documentation-functions. Use eldoc--handle-multiline.
(eldoc-print-current-symbol-info): Honour non-nil, non-string
values returned by eldoc-documentation-callback.
(eldoc--make-callback): Now also a function.
(eldoc-documentation-default, eldoc-documentation-compose): Tweak docstring.
(eldoc-documentation-enthusiast, eldoc-documentation-compose-eagerly):
New functions.
(eldoc-echo-area-use-multiline-p): Add new semantics.
(eldoc--handle-docs): Handle some of eldoc-echo-area-use-multiline-p.
(eldoc-doc-buffer): New command.
(eldoc-prefer-doc-buffer): New defcustom.
(eldoc--enthusiasm-curbing-timer): New variable.
(eldoc-documentation-strategy): Rename from eldoc-documentation-function.
(eldoc--supported-p): Use eldoc-documentation-strategy
(eldoc-highlight-function-argument)
(eldoc-argument-case, global-eldoc-mode)
(turn-on-eldoc-mode): Mention eldoc-documentation-strategy.
(eldoc-message-function): Mention eldoc--message.
(eldoc-message): Made obsolete.
(eldoc--message): New helper.
* lisp/hexl.el (hexl-print-current-point-info): Adjust to new
eldoc-documentation-functions protocol.
* lisp/progmodes/cfengine.el (cfengine3-documentation-function):
Adjust to new eldoc-documentation-functions protocol.
* lisp/progmodes/elisp-mode.el
(elisp-eldoc-documentation-function): Adjust to new
eldoc-documentation-functions protocol.
* lisp/progmodes/octave.el (octave-eldoc-function): Adjust to new
eldoc-documentation-functions protocol.
* lisp/progmodes/python.el (python-eldoc-function): Adjust to new
eldoc-documentation-functions protocol.
(eldoc-print-current-symbol-info): Rework with cl-labels.
* doc/emacs/programs.texi (Lisp Doc): Mention
eldoc-documentation-strategy.
* doc/lispref/modes.texi (Major Mode Conventions): Mention
eldoc-documentation-functions.
* etc/NEWS: Mention eldoc-documentation-strategy.