]> git.eshelyaron.com Git - emacs.git/log
emacs.git
4 years agoFix Tramp bug#42538
Michael Albinus [Thu, 30 Jul 2020 11:46:22 +0000 (13:46 +0200)]
Fix Tramp bug#42538

* lisp/net/tramp-sh.el (tramp-set-remote-path): Send the command
in several chunks if it is too large.  (Bug#42538)

4 years agoMake libravatar lookups asynchronous
Lars Ingebrigtsen [Thu, 30 Jul 2020 03:29:42 +0000 (05:29 +0200)]
Make libravatar lookups asynchronous

* lisp/gnus/gnus-gravatar.el (gnus-gravatar-insert): Fix check for
repeated gravatars, which is now easier to trigger now that things
are more asynchronous.

* lisp/image/gravatar.el (gravatar--service-libravatar): Fetch the
data asynchronously (bug#40676).
(gravatar-service-alist): Adjust all providers so they are
asynchronous.
(gravatar-build-url): Adjust caller to be asynchronous.
(gravatar-retrieve): Ditto.
(gravatar-retrieve-synchronously): Ditto.

4 years agoAdd the new function dns-query-asynchronous
Lars Ingebrigtsen [Thu, 30 Jul 2020 01:44:45 +0000 (03:44 +0200)]
Add the new function dns-query-asynchronous

* lisp/net/dns.el (dns-query-asynchronous): New function.
(dns--lookup, dns--filter): New internal functions.
(dns-query): Reimplement on top of dns-query-asynchronous.

4 years agoUse lexical binding in dns.el
Lars Ingebrigtsen [Thu, 30 Jul 2020 00:47:59 +0000 (02:47 +0200)]
Use lexical binding in dns.el

* lisp/net/dns.el: Use lexical-binding.
(dns-write-bytes, dns-read): Adjust for lexical-binding.

4 years agoSmall dns.el code cleanup
Lars Ingebrigtsen [Thu, 30 Jul 2020 00:38:00 +0000 (02:38 +0200)]
Small dns.el code cleanup

* lisp/net/dns.el (dns-query): Clean up code slightly by removing
a macro and moving the code into the function itself.

4 years ago* admin/gitmerge.el (gitmerge-resolve): Discard AUTHORS conflicts.
Glenn Morris [Wed, 29 Jul 2020 22:15:15 +0000 (15:15 -0700)]
* admin/gitmerge.el (gitmerge-resolve): Discard AUTHORS conflicts.

4 years agoUpdate a gravatar test
Glenn Morris [Wed, 29 Jul 2020 15:52:42 +0000 (08:52 -0700)]
Update a gravatar test

* test/lisp/image/gravatar-tests.el (gravatar-build-url):
Update for recent change in default gravatar-service.

4 years agoPreserve match data in 'kbd'
Mattias Engdegård [Wed, 29 Jul 2020 15:47:32 +0000 (17:47 +0200)]
Preserve match data in 'kbd'

* lisp/subr.el (kbd): Preserve match data since this function is
declared pure (see discussion in bug#42147).

4 years agoMerge from origin/emacs-27
Glenn Morris [Wed, 29 Jul 2020 15:39:28 +0000 (08:39 -0700)]
Merge from origin/emacs-27

d024fc141b (origin/emacs-27) * doc/lispref/symbols.texi (Definitions)...
d78e0f3cd5 ; lisp/ldefs-boot.el: Update.
27877e7bcf (tag: emacs-27.1-rc1) * etc/HISTORY: Add Emacs 27.1 releas...

4 years ago; Merge from origin/emacs-27
Glenn Morris [Wed, 29 Jul 2020 15:39:28 +0000 (08:39 -0700)]
; Merge from origin/emacs-27

The following commit was skipped:

44888c95b0 Bump Emacs version to 27.1

4 years agoMerge from origin/emacs-27
Glenn Morris [Wed, 29 Jul 2020 15:39:28 +0000 (08:39 -0700)]
Merge from origin/emacs-27

1fc742b63e ; Update ChangeLog.3
4c7f6217da * etc/AUTHORS: Update.
24391f517a Update authors.el
56f958807c * etc/NEWS: Remove temporary markup.
73a2f51043 Add another test for global module references

# Conflicts:
# etc/AUTHORS
# etc/NEWS

4 years ago; Merge from origin/emacs-27
Glenn Morris [Wed, 29 Jul 2020 15:38:51 +0000 (08:38 -0700)]
; Merge from origin/emacs-27

The following commits were skipped:

3838aeb739 Backport: add another test case for module assertions.
bde5f5f897 Backport: Add module test for edge case.

4 years agoMerge from origin/emacs-27
Glenn Morris [Wed, 29 Jul 2020 15:38:51 +0000 (08:38 -0700)]
Merge from origin/emacs-27

4b3085a7fe Fix last change
efdd4632c9 Fix Arabic shaping when column-number-mode is in effect
d5acc50941 Fix description of kmacro-* commands in the user manual

4 years ago; Merge from origin/emacs-27
Glenn Morris [Wed, 29 Jul 2020 15:38:51 +0000 (08:38 -0700)]
; Merge from origin/emacs-27

The following commit was skipped:

96a3b473fa Fix viewing of encrypted S/MIME messages

4 years ago* etc/NEWS: Fix typos.
Michael Albinus [Wed, 29 Jul 2020 14:41:30 +0000 (16:41 +0200)]
* etc/NEWS: Fix typos.

4 years agoTramp doc edit
Michael Albinus [Wed, 29 Jul 2020 14:41:18 +0000 (16:41 +0200)]
Tramp doc edit

* doc/misc/tramp.texi: Use it.

* doc/misc/trampver.texi: Declare @trampurl.

4 years ago* doc/lispref/symbols.texi (Definitions): Fix typo.
Stefan Kangas [Wed, 29 Jul 2020 10:34:31 +0000 (12:34 +0200)]
* doc/lispref/symbols.texi (Definitions): Fix typo.

4 years agoDon't default to librgravatar, since there are security implications
Lars Ingebrigtsen [Wed, 29 Jul 2020 06:47:29 +0000 (08:47 +0200)]
Don't default to librgravatar, since there are security implications

* lisp/image/gravatar.el (gravatar-service): Change the default
from libravatar, since that has privacy concerns (bug#40676).

4 years agoUse a new method to determine when to auto-stop image animations
Lars Ingebrigtsen [Wed, 29 Jul 2020 06:38:52 +0000 (08:38 +0200)]
Use a new method to determine when to auto-stop image animations

* lisp/image.el (image-animate-timeout): Make the animation
auto-stop use a decaying average to determine when to stop
(bug#40685).  The default stop condition will probably require
some tweaking -- the current default may be too aggressive.

4 years agoMake eww use the XDG download directory
Lars Ingebrigtsen [Wed, 29 Jul 2020 05:13:56 +0000 (07:13 +0200)]
Make eww use the XDG download directory

* lisp/net/eww.el (erc--download-directory): New function (bug#41030).
(eww-download-directory): Use it.
(eww-download): Use it.
(eww-download-callback): Adjust parameters.

4 years agoMake the erc-header-line default to header-line
Philip K [Wed, 29 Jul 2020 04:54:05 +0000 (06:54 +0200)]
Make the erc-header-line default to header-line

* lisp/erc/erc.el (erc-header-line): Inherit from header-line (the
old values were very similar in light mode, but very different
in dark mode) (bug#41095).

4 years ago* lisp/vc/vc-git.el (vc-git-log-view-mode): Font-lock AuthorDate (bug#40248)
Juri Linkov [Wed, 29 Jul 2020 00:47:29 +0000 (03:47 +0300)]
* lisp/vc/vc-git.el (vc-git-log-view-mode): Font-lock AuthorDate (bug#40248)

Highlight "AuthorDate" in log-view-font-lock-keywords
when [format] pretty = fuller.

4 years agoReplace project-kill-buffers-ignores with project-kill-buffer-conditions
Philip K [Tue, 28 Jul 2020 22:21:56 +0000 (01:21 +0300)]
Replace project-kill-buffers-ignores with project-kill-buffer-conditions

* lisp/progmodes/project.el (project-kill-buffer-conditions):
Replace the project-kill-buffers-ignores user option.
(project--kill-buffer-check): New function.
(project--buffers-to-kill): New function.
(project-kill-buffers): Use them.  Add the NO-CONFIRM argument.

4 years ago; lisp/ldefs-boot.el: Update.
Nicolas Petton [Tue, 28 Jul 2020 21:04:11 +0000 (23:04 +0200)]
; lisp/ldefs-boot.el: Update.

4 years ago* etc/HISTORY: Add Emacs 27.1 release date. emacs-27.1-rc1
Nicolas Petton [Tue, 28 Jul 2020 20:30:24 +0000 (22:30 +0200)]
* etc/HISTORY: Add Emacs 27.1 release date.

4 years agoBump Emacs version to 27.1
Nicolas Petton [Tue, 28 Jul 2020 20:27:07 +0000 (22:27 +0200)]
Bump Emacs version to 27.1

* README:
* configure.ac:
* msdos/sed2v2.inp:
* nt/README.W32: Bump Emacs version.

4 years ago; Update ChangeLog.3
Nicolas Petton [Tue, 28 Jul 2020 20:26:42 +0000 (22:26 +0200)]
; Update ChangeLog.3

4 years ago* etc/AUTHORS: Update.
Nicolas Petton [Tue, 28 Jul 2020 20:25:32 +0000 (22:25 +0200)]
* etc/AUTHORS: Update.

4 years agoUpdate authors.el
Nicolas Petton [Tue, 28 Jul 2020 20:22:53 +0000 (22:22 +0200)]
Update authors.el

* admin/authors.el (authors-aliases): Add author aliases.

4 years ago* etc/NEWS: Remove temporary markup.
Nicolas Petton [Tue, 28 Jul 2020 20:02:53 +0000 (22:02 +0200)]
* etc/NEWS: Remove temporary markup.

4 years agoRevert "* etc/NEWS.27: Remove temporary markup."
Nicolas Petton [Tue, 28 Jul 2020 19:58:50 +0000 (21:58 +0200)]
Revert "* etc/NEWS.27: Remove temporary markup."

This reverts commit c270104e503cf0435a5ae40c5d0e430f4ef4bfb0.

4 years ago* etc/NEWS.27: Remove temporary markup.
Nicolas Petton [Tue, 28 Jul 2020 19:45:39 +0000 (21:45 +0200)]
* etc/NEWS.27: Remove temporary markup.

4 years ago* etc/AUTHORS: Update.
Nicolas Petton [Tue, 28 Jul 2020 17:05:56 +0000 (19:05 +0200)]
* etc/AUTHORS: Update.

4 years agoUpdate authors.el
Nicolas Petton [Tue, 28 Jul 2020 16:59:57 +0000 (18:59 +0200)]
Update authors.el

* admin/authors.el (authors-aliases): Add author aliases.
(authors-ignored-files):
(authors-valid-file-names):
(authors-renamed-files-alist): Update file lists.

4 years agoSimplify and streamline optimizer clauses
Mattias Engdegård [Mon, 27 Jul 2020 09:27:00 +0000 (11:27 +0200)]
Simplify and streamline optimizer clauses

* lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker):
Remove clause for 'with-output-to-temp-buffer', since it is a
macro and will have been expanded before reaching this point.
Move clauses for 'lambda' and 'closure' to avoid splitting
a cond jump table.

4 years agoFix uses of deprecated SELinux security_context_t
Basil L. Contovounesios [Tue, 28 Jul 2020 10:44:58 +0000 (13:44 +0300)]
Fix uses of deprecated SELinux security_context_t

SELinux has used 'char *' in place of its typedef
'security_context_t' since 2014 (v2.3) because the latter was
inconvenient to use when paired with the 'const' qualifier.  The
typedef has been kept around for compatibility with legacy callers,
but it is deprecated in SELinux v3.1.  See the following URL for the
relevant announcement:
https://lore.kernel.org/selinux/20200710162034.GC1768200@localhost.localdomain/

* src/fileio.c (Fcopy_file, Ffile_selinux_context)
(Fset_file_selinux_context) [HAVE_LIBSELINUX]: Replace deprecated
'security_context_t' typedef with the equivalent 'char *'.

4 years agoApply simpler fix for Tramp bug#39399
Michael Albinus [Tue, 28 Jul 2020 07:21:01 +0000 (09:21 +0200)]
Apply simpler fix for Tramp bug#39399

* lisp/net/tramp-sh.el (tramp-open-shell): Remove "~/.editrc" editing.
(tramp-open-connection-setup-interactive-shell): Move up "set +o
vi +o emacs" command.   (Bug#39399)

4 years agoFix thinko in previous nnmail.el patch
Lars Ingebrigtsen [Mon, 27 Jul 2020 22:51:29 +0000 (00:51 +0200)]
Fix thinko in previous nnmail.el patch

* lisp/gnus/nnmail.el (nnmail-check-duplication): Fix thinko in
previous patch -- group-art is a list of pairs, not a pair.

4 years agoFix problem with new-mail-mark in Gnus with non-unique names
Lars Ingebrigtsen [Mon, 27 Jul 2020 22:46:30 +0000 (00:46 +0200)]
Fix problem with new-mail-mark in Gnus with non-unique names

* lisp/gnus/gnus-group.el (gnus-group-new-mail): Call with Gnus
group name.
(gnus-group-catchup): Ditto.

* lisp/gnus/gnus-sum.el (gnus-summary-exit): Ditto.

* lisp/gnus/nnimap.el (nnimap-update-info): Store Gnus group name.

* lisp/gnus/nnmail.el (nnmail-check-duplication): Store unique
Gnus names in the history instead of backend-specific (possibly
duplicated) group names (bug#41842).

4 years ago* doc/misc/gnus.texi: Add introductory section to Gnus manual
Eric Abrahamsen [Mon, 27 Jul 2020 22:36:09 +0000 (15:36 -0700)]
* doc/misc/gnus.texi: Add introductory section to Gnus manual

"Don't Panic: Your first 20 minutes with Gnus."

4 years agoMake newer ElDoc versions are compatible with Emacs < 28
João Távora [Mon, 27 Jul 2020 21:07:38 +0000 (22:07 +0100)]
Make newer ElDoc versions are compatible with Emacs < 28

Fixes: bug#42563
For some time, Eldoc has has some Elisp-specific code that shouldn't
live there, but in elisp-mode.el.  This can be fixed in Emacs master,
but since ElDoc is distributed in GNU Elpa and is meant to work with
Emacs 26 and 27, this means that that elisp-specific code must still
be distributed with eldoc.el and kept up to date.

* lisp/emacs-lisp/eldoc.el (eldoc--eval-expression-setup): Ensure
implementation is compatible with Emacs < 28.
(Version): Bump to 1.8

4 years agoBring back ElDoc's eldoc-display-message-p, but obsolete it
João Távora [Mon, 27 Jul 2020 15:26:33 +0000 (16:26 +0100)]
Bring back ElDoc's eldoc-display-message-p, but obsolete it

Like others, this is an implementation detail that third parties could
be relying on.  Better not remove it outright just now, since its
implementation is very simple anyway.

* lisp/emacs-lisp/eldoc.el (Version): Bump to 1.7.0
(eldoc-display-message-p): Bring back, but obsolete.

4 years agoFix argument reference
Dmitry Gutov [Mon, 27 Jul 2020 00:05:16 +0000 (03:05 +0300)]
Fix argument reference

* lisp/progmodes/project.el
(project-display-buffer-other-frame): Fix argument reference.

4 years agoMove project--value-in-dir to a different section
Dmitry Gutov [Mon, 27 Jul 2020 00:04:09 +0000 (03:04 +0300)]
Move project--value-in-dir to a different section

* lisp/progmodes/project.el (project--value-in-dir):
Move closer to its uses.

4 years agoBind switch-to-buffer-obey-display-actions to t
Dmitry Gutov [Sun, 26 Jul 2020 23:51:39 +0000 (02:51 +0300)]
Bind switch-to-buffer-obey-display-actions to t

* lisp/progmodes/project.el (project--other-place-command):
Bind switch-to-buffer-obey-display-actions to t, so that
project-other-window-command and friends can affect
project-switch-to-buffer.

4 years agoAdd project other place commands
Sean Whitton [Fri, 24 Jul 2020 01:55:42 +0000 (18:55 -0700)]
Add project other place commands

* lisp/progmodes/project.el (project-other-window-map,
project-other-frame-map, project--other-place-command,
project-other-window-command, project-other-frame-command,
project-other-tab-command): Add these functions and maps.
* lisp/progmodes/project.el: Bind project-other-window-command to C-x
4 p, project-other-frame-command to C-x 5 p and
project-other-tab-command to C-x t p (bug#42210).

4 years agoAdd project-display-buffer and project-display-buffer-other-frame
Sean Whitton [Fri, 24 Jul 2020 20:54:49 +0000 (13:54 -0700)]
Add project-display-buffer and project-display-buffer-other-frame

* lisp/progmodes/project.el (project-display-buffer,
project-display-buffer-other-frame): Add commands.

4 years agoFactor out project--read-project-buffer from project-switch-buffer
Sean Whitton [Fri, 24 Jul 2020 20:36:39 +0000 (13:36 -0700)]
Factor out project--read-project-buffer from project-switch-buffer

* lisp/progmodes/project.el (project--read-project-buffer): New
function extracted from project-switch-buffer.
* lisp/progmodes/project.el (project-switch-buffer): Instead of
unconditionally reading a project buffer from the user, add
buffer-or-name argument, and populate it using
project--read-project-buffer when called interactively.  Update
docstring.

4 years agoAdd another test for global module references
Philipp Stephani [Sun, 26 Jul 2020 20:54:33 +0000 (22:54 +0200)]
Add another test for global module references

* test/src/emacs-module-tests.el (mod-test-globref-reordered): New
unit test.

* test/data/emacs-module/mod-test.c (Fmod_test_globref_reordered): New
test module function.
(emacs_module_init): Export it.

4 years agoSmall refactoring to simplify the interface of internal function.
Philipp Stephani [Sun, 26 Jul 2020 18:34:30 +0000 (20:34 +0200)]
Small refactoring to simplify the interface of internal function.

* src/emacs-module.c (allocate_emacs_value): Remove STORAGE parameter.
(lisp_to_value): Adapt caller.

4 years agoBackport: add another test case for module assertions.
Philipp Stephani [Sat, 25 Jul 2020 21:23:19 +0000 (23:23 +0200)]
Backport: add another test case for module assertions.

This backports commit 9f01ce6327 from master.  Since the bug isn’t
present on emacs-27, just backport the new test case.

* test/data/emacs-module/mod-test.c (Fmod_test_globref_invalid_free):
New test module function.
(emacs_module_init): Export it.

* test/src/emacs-module-tests.el
(module--test-assertions--globref-invalid-free): New unit test.

4 years agoBackport: Add module test for edge case.
Philipp Stephani [Sat, 25 Jul 2020 21:04:05 +0000 (23:04 +0200)]
Backport: Add module test for edge case.

This backports commit 6355a3ec62 from master.  Since the bug isn’t
present in emacs-27, just backport the test case.

* test/data/emacs-module/mod-test.c
(Fmod_test_invalid_store_copy): New test module function.
(emacs_module_init): Export it.

* test/src/emacs-module-tests.el
(module--test-assertions--load-non-live-object-with-global-copy):
New unit test.

4 years agoCorrect order or eldoc-documentation-functions in Elisp mode
João Távora [Sun, 26 Jul 2020 09:54:09 +0000 (10:54 +0100)]
Correct order or eldoc-documentation-functions in Elisp mode

Fixes: bug#42531
* lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Reverse order of
eldoc-documentation-functions.

4 years agoMake checking for liveness of global values more precise.
Philipp Stephani [Sat, 25 Jul 2020 21:23:19 +0000 (23:23 +0200)]
Make checking for liveness of global values more precise.

We can't just use a hash lookup because a global and a local reference
might refer to the same Lisp object.

* src/emacs-module.c (module_free_global_ref): More precise check for
global liveness.

* test/data/emacs-module/mod-test.c (Fmod_test_globref_invalid_free):
New test module function.
(emacs_module_init): Export it.

* test/src/emacs-module-tests.el
(module--test-assertions--globref-invalid-free): New unit test.

4 years agoFix subtle bug when checking liveness of module values.
Philipp Stephani [Sat, 25 Jul 2020 21:04:05 +0000 (23:04 +0200)]
Fix subtle bug when checking liveness of module values.

We can't simply look up the Lisp object in the global reference table
because an invalid local and a valid global reference might refer to
the same object.  Instead, we have to test the address of the global
reference against the stored references.

* src/emacs-module.c (module_global_reference_p): New helper function.
(value_to_lisp): Use it.

* test/data/emacs-module/mod-test.c
(Fmod_test_invalid_store_copy): New test module function.
(emacs_module_init): Export it.

* test/src/emacs-module-tests.el
(module--test-assertions--load-non-live-object-with-global-copy):
New unit test.

4 years agoOptimise 3-arg +, - and *
Mattias Engdegård [Sat, 25 Jul 2020 17:12:26 +0000 (19:12 +0200)]
Optimise 3-arg +, - and *

Turn (+ a b c) into (+ (+ a b) c), and do the same for - and *.
The 2-arg operations have their own bytecode which results in a 1.5×
speed-up.  Furthermore, the transform enables other optimisations; for
example, (+ a 1 b) -> (+ (1+ a) b).

* lisp/emacs-lisp/byte-opt.el (byte-optimize-plus, byte-optimize-minus)
(byte-optimize-multiply): Transform (OP a b c) into (OP (OP a b) c).

4 years agoFix last change
Eli Zaretskii [Sat, 25 Jul 2020 16:25:02 +0000 (19:25 +0300)]
Fix last change

* src/composite.c (composition_reseat_it): Fix of the commentary,
and a minor change of the last fix.

4 years agoFix Arabic shaping when column-number-mode is in effect
Pip Cet [Fri, 5 Jun 2020 12:54:01 +0000 (12:54 +0000)]
Fix Arabic shaping when column-number-mode is in effect

* src/indent.c (scan_for_column, compute_motion): Pass -1,
instead of NEUTRAL_DIR, to 'composition_reseat_it'.
* src/composite.c (composition_reseat_it): Interpret negative
value of BIDI_LEVEL to mean the caller doesn't know what is the
bidi direction of the text.  (Bug#41005)

4 years agoUpdate and improve documentation of project.el commands
Eli Zaretskii [Sat, 25 Jul 2020 09:28:05 +0000 (12:28 +0300)]
Update and improve documentation of project.el commands

* doc/emacs/custom.texi (Prefix Keymaps): Document
'project-prefix-map'.
* doc/emacs/maintaining.texi (Project File Commands)
(Switching Projects): Describe key bindings for the commands
described in the sections.  Document 'project-list-file'.
(Project Buffer Commands): New section.
* doc/emacs/emacs.texi (Top): Add Project sections to the detailed
menu.

* etc/NEWS: Add entries for project.el, and mark documented entries as
appropriate.

4 years agoFix display of man pages after killing the 'man' process
Eli Zaretskii [Sat, 25 Jul 2020 07:15:07 +0000 (10:15 +0300)]
Fix display of man pages after killing the 'man' process

* lisp/man.el (Man-bgproc-filter, Man-bgproc-sentinel): Use
'buffer-live-p' instead of just testing the buffer's name.
(Bug#42160)

4 years agoproject-remember-project: New public function
Dmitry Gutov [Sat, 25 Jul 2020 00:17:47 +0000 (03:17 +0300)]
project-remember-project: New public function

* lisp/progmodes/project.el (project-remember-project):
Rename from project--add-to-project-list-front (bug#42332).
And autoload it.

4 years agoFix description of kmacro-* commands in the user manual
Eli Zaretskii [Fri, 24 Jul 2020 14:47:59 +0000 (17:47 +0300)]
Fix description of kmacro-* commands in the user manual

* doc/emacs/kmacro.texi (Basic Keyboard Macro): Separate old-style
macro definition commands from the new style in the summary
table.  (Bug#42492)

4 years agoFix viewing of encrypted S/MIME messages
Lars Ingebrigtsen [Thu, 23 Jul 2020 15:12:33 +0000 (17:12 +0200)]
Fix viewing of encrypted S/MIME messages

* lisp/gnus/mm-decode.el (mm-possibly-verify-or-decrypt): Don't
add a content-type header if there already is one (bug#41659).

4 years ago* lisp/vc/vc-git.el (vc-git-log-view-mode): Fix commit regexp (bug#40248)
Juri Linkov [Thu, 23 Jul 2020 23:29:12 +0000 (02:29 +0300)]
* lisp/vc/vc-git.el (vc-git-log-view-mode): Fix commit regexp (bug#40248)

The regexp 'log-view-message-re' should match e.g. "commit 123456789",
not "CommitDate".

4 years agoDon't call undefined function elisp-eldoc-documentation-function (bug#42493)
Tassilo Horn [Thu, 23 Jul 2020 20:05:26 +0000 (22:05 +0200)]
Don't call undefined function elisp-eldoc-documentation-function (bug#42493)

* lisp/ielm.el (inferior-emacs-lisp-mode): Add
`elisp-eldoc-var-docstring' and `elisp-eldoc-funcall' as
`eldoc-documentation-functions' instead of the undefined
elisp-eldoc-documentation-function (bug#42493).

4 years agobug-reference auto-setup for IRC, implementation for ERC
Tassilo Horn [Thu, 23 Jul 2020 17:03:25 +0000 (19:03 +0200)]
bug-reference auto-setup for IRC, implementation for ERC

* lisp/progmodes/bug-reference.el (bug-reference-setup-from-irc-alist):
Change SERVER-REGEXP to NETWORK-REGEXP in docstring.
* lisp/progmodes/bug-reference.el (bug-reference--maybe-setup-from-irc):
Change semantics from requiring a match of channel OR server to
requiring a match of both (if both are configured).
* lisp/progmodes/bug-reference.el (bug-reference-try-setup-from-erc):
New defun doing the auto-setup for ERC.
(bug-reference--run-auto-setup): Run bug-reference-try-setup-from-erc.
* etc/NEWS: Extend entry describing bug-reference auto-setup.

4 years agoFix viewing of encrypted S/MIME messages
Lars Ingebrigtsen [Thu, 23 Jul 2020 15:12:33 +0000 (17:12 +0200)]
Fix viewing of encrypted S/MIME messages

* lisp/gnus/mm-decode.el (mm-possibly-verify-or-decrypt): Don't
add a content-type header if there already is one (bug#41659).

4 years agoFix memory leak for global module objects (Bug#42482).
Philipp Stephani [Thu, 23 Jul 2020 11:48:43 +0000 (13:48 +0200)]
Fix memory leak for global module objects (Bug#42482).

Instead of storing the global values in a global 'emacs_value_storage'
object, store them as hash values alongside the reference counts.
That way the garbage collector takes care of cleaning them up.

* src/emacs-module.c (global_storage): Remove.
(struct module_global_reference): New pseudovector type.
(XMODULE_GLOBAL_REFERENCE): New helper function.
(module_make_global_ref, module_free_global_ref): Use
'module_global_reference' struct for global reference values.
(value_to_lisp, module_handle_nonlocal_exit): Adapt to deletion of
'global_storage'.

4 years agoDon't needlessly request docs from ElDoc functions
João Távora [Sat, 18 Jul 2020 23:48:43 +0000 (00:48 +0100)]
Don't needlessly request docs from ElDoc functions

Fixes: bug#42421
Do this conservatively for now: if the ElDoc helper buffer (as
returned by eldoc--doc-buffer) is visible and showing documentation
for the very same "situation" (as computed by the the new
eldoc--request-state helper), don't request that documentation from
sources again.

Before this change, not only was that request inefficient but if the
user invoked scroll-other-window to see more of the helper buffer,
that would eventually cause it to be reformatted and unexpectedly
recentered.

Later on, when a customizable list of documentation "sinks" is offered
to the user, say, something like eldoc-display-functions, this process
must be consolidated.  In those circumstances, as soon as one of those
sinks signals that it doesn't have up-to-date documentation for the
state computed by eldoc--request-state, documentation will have to be
requested anew from eldoc-documentation-functions via
eldoc--invoke-strategy.

* lisp/emacs-lisp/eldoc.el (eldoc--request-docs-p): Rework from
eglot-display-message-p.
(eldoc--last-request-state): New variable.
(eldoc--request-state): New helper.
(eldoc--handle-docs): Memorize state of request in doc buffer.
(eldoc-print-current-symbol-info): Pass a token to
eldoc--request-docs-p.
(Version): Bump to 1.6.0

4 years ago; Merge from origin/emacs-27
Glenn Morris [Wed, 22 Jul 2020 14:50:47 +0000 (07:50 -0700)]
; Merge from origin/emacs-27

The following commits were skipped:

8bc8565721 (origin/emacs-27) Revert "Rectify allout-widgets region un...
db479d6354 Revert "Resolve missing button-region keymap bindings."
259dc75c23 Revert "Provide missing let definition to prevent backgrou...
56422a6366 Revert "Don't let item decoration be disrupted by too-shal...
8e4eae0ce3 Revert "Fix allout-widgets-mode handling of edits to item ...

4 years agoMerge from origin/emacs-27
Glenn Morris [Wed, 22 Jul 2020 14:50:47 +0000 (07:50 -0700)]
Merge from origin/emacs-27

4db3235fd8 Run custom-magic-reset in the customize buffer
3c9c3f04de ; spelling fix

4 years ago; Merge from origin/emacs-27
Glenn Morris [Wed, 22 Jul 2020 14:50:47 +0000 (07:50 -0700)]
; Merge from origin/emacs-27

The following commits were skipped:

bc10e467f1 Backport: Rectify allout-widgets region undecoration so it...
82742e295d Backport: Resolve missing button-region keymap bindings.
2035ecca57 Backport: Provide missing let definition to prevent backgr...
3071cecda0 Backport: Don't let item decoration be disrupted by too-sh...
044960ead2 Backport: Fix allout-widgets-mode handling of edits to ite...

4 years agoCalc: fix interval entry snag (bug#42438)
Mattias Engdegård [Wed, 22 Jul 2020 09:27:15 +0000 (11:27 +0200)]
Calc: fix interval entry snag (bug#42438)

* lisp/calc/calc.el (calcDigit-key): Don't signal a 'Bad format' error
when entering '..' after pushing an incomplete interval.

Reported by Allen Li.

4 years agoRevert "Rectify allout-widgets region undecoration so item at start is not missed."
Ken Manheimer [Tue, 21 Jul 2020 14:57:29 +0000 (10:57 -0400)]
Revert "Rectify allout-widgets region undecoration so item at start is not missed."

This reverts commit 33d85cb768b40794bffcd9ab22fbdec1211a74e5.

Backporting it to emacs-27 was not appropriate.

4 years agoRevert "Resolve missing button-region keymap bindings."
Ken Manheimer [Tue, 21 Jul 2020 14:56:55 +0000 (10:56 -0400)]
Revert "Resolve missing button-region keymap bindings."

This reverts commit dd7c191291c8eb1afeac0f1512745491c5c7a317.

Backporting it to emacs-27 was not appropriate.

4 years agoRevert "Provide missing let definition to prevent background void-variable error."
Ken Manheimer [Tue, 21 Jul 2020 14:55:35 +0000 (10:55 -0400)]
Revert "Provide missing let definition to prevent background void-variable error."

This reverts commit 3c410b6b4753e02269bb36914e7534eb124150dd.

Backporting it to emacs-27 was not appropriate.

4 years agoRevert "Don't let item decoration be disrupted by too-shallow items."
Ken Manheimer [Tue, 21 Jul 2020 14:55:08 +0000 (10:55 -0400)]
Revert "Don't let item decoration be disrupted by too-shallow items."

This reverts commit 8684216542889fa57daa32072104afc69785907f.

Backporting it to emacs-27 was not appropriate.

4 years agoRevert "Fix allout-widgets-mode handling of edits to item cue, fixing (bug#11312)"
Ken Manheimer [Tue, 21 Jul 2020 14:52:50 +0000 (10:52 -0400)]
Revert "Fix allout-widgets-mode handling of edits to item cue, fixing (bug#11312)"

This reverts commit 8e13d332481551e4c8c1c66dd0c69dd09256dffc.

Backporting it to emacs-27 was not appropriate.

4 years agoRun custom-magic-reset in the customize buffer
Robert Pluim [Tue, 21 Jul 2020 14:37:59 +0000 (16:37 +0200)]
Run custom-magic-reset in the customize buffer

If the user has navigated away from the customize buffer, then
clicking on a widget in the customize buffer applies changes in the
selected buffer rather than in the customize buffer.  Pass the
customize buffer to 'custom-magic-reset' to avoid this.

* lisp/cus-edit.el (custom-magic-reset): Add optional buffer argument,
apply changes in that buffer.
(custom-notify): Pass the buffer containing the widget to
'custom-magic-reset'.  (Bug#40788)

4 years ago; spelling fix
Robert Pluim [Tue, 21 Jul 2020 07:54:58 +0000 (09:54 +0200)]
; spelling fix

4 years agoBackport: Rectify allout-widgets region undecoration so item at start is not missed.
Ken Manheimer [Sun, 5 Jul 2020 20:38:13 +0000 (16:38 -0400)]
Backport: Rectify allout-widgets region undecoration so item at start is not missed.

* lisp/allout-widgets.el (allout-widgets-undecorate-region):
Reorganize the loop so an item at the start is not skipped.

(cherry picked from commit 33d85cb768b40794bffcd9ab22fbdec1211a74e5)

4 years agoBackport: Resolve missing button-region keymap bindings.
Ken Manheimer [Tue, 7 Jul 2020 14:32:03 +0000 (10:32 -0400)]
Backport: Resolve missing button-region keymap bindings.

* lisp/allout-widgets.el (allout-item-icon-keymap,
allout-item-body-keymap, allout-cue-span-keymap, allout-widgets-mode):
Inherit from both (current-local-map) and (current-global-map). This
provides for missing global bindings when inheriting from
just (current-local-map), eg Esc-<.

(cherry picked from commit dd7c191291c8eb1afeac0f1512745491c5c7a317)

4 years agoBackport: Provide missing let definition to prevent background void-variable error.
Ken Manheimer [Mon, 6 Jul 2020 17:19:11 +0000 (13:19 -0400)]
Backport: Provide missing let definition to prevent background void-variable error.

* lisp/allout-widgets.el (allout-widgets-exposure-change-processor)
Let-declare handled-conceal, for reference through `(symbol-value)'
within the let body. (Because the error happens in an
after-change-functions hook, so it is caught and reported as a message
by allout-widgets-hook-error-handler.)

(cherry picked from commit 3c410b6b4753e02269bb36914e7534eb124150dd)

4 years agoBackport: Don't let item decoration be disrupted by too-shallow items.
Ken Manheimer [Mon, 6 Jul 2020 18:18:57 +0000 (14:18 -0400)]
Backport: Don't let item decoration be disrupted by too-shallow items.

* lisp/allout-widgets.el (allout-decorate-item-and-context): Check for
parent-position having value before using it.

Also, shift local emacs vars topic deeper so it doesn't constitute
an instance of that particular aberrant case.

(cherry picked from commit 8684216542889fa57daa32072104afc69785907f)

4 years agoBackport: Fix allout-widgets-mode handling of edits to item cue, fixing (bug#11312)
Ken Manheimer [Sun, 5 Jul 2020 20:27:52 +0000 (16:27 -0400)]
Backport: Fix allout-widgets-mode handling of edits to item cue, fixing (bug#11312)

* lisp/allout-widgets.el (allout-decorate-item-cue): Properly decorate
item cue span.
(allout-setup-text-properties): use allout-graphics-modification-handler
as allout-cue-span-category modification hook.

(cherry picked from commit 8e13d332481551e4c8c1c66dd0c69dd09256dffc)

4 years agoRectify allout-widgets region undecoration so item at start is not missed.
Ken Manheimer [Sun, 5 Jul 2020 20:38:13 +0000 (16:38 -0400)]
Rectify allout-widgets region undecoration so item at start is not missed.

* lisp/allout-widgets.el (allout-widgets-undecorate-region):
Reorganize the loop so an item at the start is not skipped.

4 years agoResolve missing button-region keymap bindings.
Ken Manheimer [Tue, 7 Jul 2020 14:32:03 +0000 (10:32 -0400)]
Resolve missing button-region keymap bindings.

* lisp/allout-widgets.el (allout-item-icon-keymap,
allout-item-body-keymap, allout-cue-span-keymap, allout-widgets-mode):
Inherit from both (current-local-map) and (current-global-map). This
provides for missing global bindings when inheriting from
just (current-local-map), eg Esc-<.

4 years agoProvide missing let definition to prevent background void-variable error.
Ken Manheimer [Mon, 6 Jul 2020 17:19:11 +0000 (13:19 -0400)]
Provide missing let definition to prevent background void-variable error.

* lisp/allout-widgets.el (allout-widgets-exposure-change-processor)
Let-declare handled-conceal, for reference through `(symbol-value)'
within the let body. (Because the error happens in an
after-change-functions hook, so it is caught and reported as a message
by allout-widgets-hook-error-handler.)

4 years agoDon't let item decoration be disrupted by too-shallow items.
Ken Manheimer [Mon, 6 Jul 2020 18:18:57 +0000 (14:18 -0400)]
Don't let item decoration be disrupted by too-shallow items.

* lisp/allout-widgets.el (allout-decorate-item-and-context): Check for
parent-position having value before using it.

Also, shift local emacs vars topic deeper so it doesn't constitute
an instance of that particular aberrant case.

4 years agoFix allout-widgets-mode handling of edits to item cue, fixing (bug#11312)
Ken Manheimer [Sun, 5 Jul 2020 20:27:52 +0000 (16:27 -0400)]
Fix allout-widgets-mode handling of edits to item cue, fixing (bug#11312)

* lisp/allout-widgets.el (allout-decorate-item-cue): Properly decorate
item cue span.
(allout-setup-text-properties): use allout-graphics-modification-handler
as allout-cue-span-category modification hook.

4 years agoMerge from origin/emacs-27
Glenn Morris [Mon, 20 Jul 2020 14:50:44 +0000 (07:50 -0700)]
Merge from origin/emacs-27

cd93debc60 (origin/emacs-27) Merge branch 'emacs-27' of git.savannah....
2c0c613ec5 Document prefix arg effects for 'epa-mail-{sign,encrypt}'
551123e0b2 * etc/NEWS: Correct description of :client-certificate change
05c4329cf5 Revert "Fix filename completion in shell mode buffers"
de68572742 Improve documentation of 'bookmark-bmenu-mode'
fd85e70be7 Update systems using GnuTLS certificate files
0d4ba1c2b2 Improve documentation of 'kill-emacs'
b3bbd4fd00 Improve documentation of 'display-raw-bytes-as-hex'
f50d79af6b Correct descriptions of init file
e325d2638c Fix interrupt-process on MS-Windows
d24e56a5e4 Revert "* doc/misc/flymake.texi (An annotated example back...

# Conflicts:
# etc/NEWS

4 years agoMerge branch 'emacs-27' of git.savannah.gnu.org:/srv/git/emacs into emacs-27
Eli Zaretskii [Mon, 20 Jul 2020 14:31:50 +0000 (17:31 +0300)]
Merge branch 'emacs-27' of git.savannah.gnu.org:/srv/git/emacs into emacs-27

4 years agoFix problem with Tramp progress reporter
Michael Albinus [Mon, 20 Jul 2020 14:29:38 +0000 (16:29 +0200)]
Fix problem with Tramp progress reporter

* lisp/net/tramp.el (with-tramp-progress-reporter): Do not span a
new progress reporter if there's already another one.

4 years agoDocument prefix arg effects for 'epa-mail-{sign,encrypt}'
Robert Pluim [Mon, 20 Jul 2020 12:47:43 +0000 (14:47 +0200)]
Document prefix arg effects for 'epa-mail-{sign,encrypt}'

* doc/misc/epa.texi (Mail-mode integration): Describe effect of
prefix arg to 'epa-mail-encrypt' and 'epa-mail-sign'.

* lisp/epa-mail.el (epa-mail-sign): Describe effect of prefix arg.

4 years ago* etc/NEWS: Correct description of :client-certificate change
Robert Pluim [Mon, 20 Jul 2020 12:39:25 +0000 (14:39 +0200)]
* etc/NEWS: Correct description of :client-certificate change

4 years agoMake xwidget-webkit-browse-url slightly more DWIM
Lars Ingebrigtsen [Mon, 20 Jul 2020 10:21:39 +0000 (12:21 +0200)]
Make xwidget-webkit-browse-url slightly more DWIM

* lisp/xwidget.el (xwidget-webkit-browse-url): Prepend "https" to
URLs that don't have a protocol (bug#31369).

4 years agoSuppress relint false positive in gnus-start.el
Mattias Engdegård [Sun, 19 Jul 2020 15:13:35 +0000 (17:13 +0200)]
Suppress relint false positive in gnus-start.el

* lisp/gnus/gnus-start.el (gnus-active-to-gnus-format):
Add suppressive comment.  Prepending "^to\\.\\|" is redundant when
'gnus-ignored-newsgroups' already matches that pattern, but adding
logic here is not worth the trouble.

4 years ago; project.el: Talk about equality
Dmitry Gutov [Mon, 20 Jul 2020 01:07:11 +0000 (04:07 +0300)]
; project.el: Talk about equality

4 years agoproject.el: Add more docs and two new key bindings
Dmitry Gutov [Mon, 20 Jul 2020 00:58:08 +0000 (03:58 +0300)]
project.el: Add more docs and two new key bindings

* lisp/progmodes/project.el:
Add a longer description of the package and how to use it.
(project-prefix-map): Add entries for
'project-or-external-find-file' and
'project-or-external-find-regexp'.

4 years agoOnly kill url-retrieve-synchronously connections when we have a timeout
Lars Ingebrigtsen [Sun, 19 Jul 2020 21:12:54 +0000 (23:12 +0200)]
Only kill url-retrieve-synchronously connections when we have a timeout

* lisp/url/url.el (url-retrieve-synchronously): Only kill the
connections when we have a timeout (bug#34607).