]> git.eshelyaron.com Git - emacs.git/log
emacs.git
4 years agoAdjust error message in image-mode
Lars Ingebrigtsen [Mon, 3 Aug 2020 06:18:39 +0000 (08:18 +0200)]
Adjust error message in image-mode

* lisp/image-mode.el (image-mode): Even when
`image-user-external-converter' is on, we may get
`unknown-image-type' (bug#39994).  Adjust the error message in
that case.

4 years agoFix problem where TLS connections would sometimes hang
Derek Zhou [Mon, 3 Aug 2020 05:56:22 +0000 (07:56 +0200)]
Fix problem where TLS connections would sometimes hang

* src/process.c (wait_reading_process_output): Before the select,
check every interesting gnutls stream for available data in the
buffer.  If some of them hit, and either there is no wait_proc or
the wait_proc is one of the gnutls streams with new data, set the
select timeout to 0 after the select, and merge the gnutls buffer
status into the select returns (bug#40665).  This fixes a problem
where TLS connections would sometimes hang.

4 years agoImprove Edebug symbols for inlined secondary methods (Bug#42671)
Philipp Stephani [Sun, 2 Aug 2020 20:07:27 +0000 (22:07 +0200)]
Improve Edebug symbols for inlined secondary methods (Bug#42671)

* lisp/emacs-lisp/cl-generic.el (cl-defgeneric): Include qualifiers in
Edebug symbol name.

* test/lisp/emacs-lisp/cl-generic-tests.el
(cl-defgeneric/edebug/method): Adapt unit test.

4 years agoIf gnus-visual is nil, don't fontify patches and the like
Lars Ingebrigtsen [Sun, 2 Aug 2020 17:44:30 +0000 (19:44 +0200)]
If gnus-visual is nil, don't fontify patches and the like

* doc/misc/emacs-mime.texi (Display Customization): Document it.

* lisp/gnus/gnus-art.el (gnus-mime-display-single): Bind it.

* lisp/gnus/mm-view.el (mm-inline-font-lock): New variable (bug#38421).
(mm-display-inline-fontify): Use it.

4 years agoDocument that :width/:height in XBM images are peculiar
Lars Ingebrigtsen [Sun, 2 Aug 2020 17:03:07 +0000 (19:03 +0200)]
Document that :width/:height in XBM images are peculiar

* doc/lispref/display.texi (XBM Images): Note the peculiarities of
:width/:height in XBM images (bug#39735).

4 years agoAdd a workaround for Bug#42672
Philipp Stephani [Sun, 2 Aug 2020 16:05:36 +0000 (18:05 +0200)]
Add a workaround for Bug#42672

* lisp/emacs-lisp/cl-generic.el (cl-defgeneric): Work around Bug#42672
by uniquifying inline method names.

* test/lisp/emacs-lisp/cl-generic-tests.el
(cl-defgeneric/edebug/method): New regression test.

4 years ago; * test/lisp/emacs-lisp/edebug-tests.el (edebug-tests-cl-flet): Fix typo.
Philipp Stephani [Sun, 2 Aug 2020 16:04:18 +0000 (18:04 +0200)]
; * test/lisp/emacs-lisp/edebug-tests.el (edebug-tests-cl-flet): Fix typo.

4 years agoAvoid duplicate Edebug symbols when using ‘cl-flet’ (Bug#41989)
Philipp Stephani [Sun, 2 Aug 2020 15:17:00 +0000 (17:17 +0200)]
Avoid duplicate Edebug symbols when using ‘cl-flet’ (Bug#41989)

* lisp/emacs-lisp/edebug.el (edebug-match-:unique): Add a new
‘:unique’ specifier to generate unique names.

* lisp/emacs-lisp/cl-macs.el (cl-flet): Use it.  This requires
inlining the ‘cl-defun’ specification.

* test/lisp/emacs-lisp/edebug-tests.el (edebug-tests-cl-flet): New
unit test.

* doc/lispref/edebug.texi (Specification List): Document new ‘:unique’
construct.

4 years agoRe-enable scroll-margin when cursor-motion optimization is disabled
Eli Zaretskii [Sun, 2 Aug 2020 15:27:33 +0000 (18:27 +0300)]
Re-enable scroll-margin when cursor-motion optimization is disabled

* src/xdisp.c (try_window): Fix logic of disabling margins when
cursor is close to BOB or EOB.  Account for header-line, if any,
when computing the scroll margin in pixels.  (Bug#42653)

4 years ago* src/alloc.c (mark_maybe_object): Avoid signed integer overflow
Philipp Stephani [Sun, 2 Aug 2020 14:05:44 +0000 (16:05 +0200)]
* src/alloc.c (mark_maybe_object): Avoid signed integer overflow

4 years agoDon’t generate duplicate symbols for secondary CL methods (Bug#42671)
Philipp Stephani [Sun, 2 Aug 2020 14:01:47 +0000 (16:01 +0200)]
Don’t generate duplicate symbols for secondary CL methods (Bug#42671)

* lisp/emacs-lisp/edebug.el
(edebug-match-cl-generic-method-qualifier): Add matcher for
‘cl-defmethod’ qualifier.

* lisp/emacs-lisp/cl-generic.el (cl-defmethod): Use it.

* test/lisp/emacs-lisp/edebug-tests.el
(edebug-cl-defmethod-qualifier): New unit test.

4 years agoFix last change in alloc.c.
Eli Zaretskii [Sun, 2 Aug 2020 14:05:00 +0000 (17:05 +0300)]
Fix last change in alloc.c.

* src/alloc.c (mark_maybe_object) [WIDE_EMACS_INT]: Avoid compiler
warning about 'overflow' being unused.

4 years agoMake the "All" setting for large-newsgroup-initial in Gnus work
Lars Ingebrigtsen [Sun, 2 Aug 2020 12:32:19 +0000 (14:32 +0200)]
Make the "All" setting for large-newsgroup-initial in Gnus work

* lisp/gnus/gnus-sum.el (gnus-articles-to-read): Use it.
(gnus-summary-insert-old-articles): Ditto.

* lisp/gnus/gnus.el (large-newsgroup-initial): Make the "All"
setting work by using a special symbol, instead of nil which is
indistinguishable from not being present (bug#38466).

4 years agoFix Tramp portability issues
Michael Albinus [Sun, 2 Aug 2020 11:26:00 +0000 (13:26 +0200)]
Fix Tramp portability issues

* lisp/net/tramp-sh.el (tramp-set-remote-path): Replace "echo -n" by
"printf", it isn't portable.

* test/lisp/net/tramp-tests.el (tramp-test33-environment-variables)
(tramp-test33-environment-variables-and-port-numbers): Do not use
"echo -n", it isn't portable.
(tramp--test-utf8): Filter out not displayable characters.

4 years ago* src/alloc.c (mark_memory): Avoid signed integer overflow
Philipp Stephani [Sun, 2 Aug 2020 10:58:44 +0000 (12:58 +0200)]
* src/alloc.c (mark_memory): Avoid signed integer overflow

4 years agoSignal an error in the user clicks "cancel" when signing in epg
Lars Ingebrigtsen [Sun, 2 Aug 2020 09:32:35 +0000 (11:32 +0200)]
Signal an error in the user clicks "cancel" when signing in epg

* lisp/epg.el (epg-sign-string): If the user clicks "cancel" on
the pinentry, then we don't have an error from gpg(sm), but
instead nothing (bug#39058).  Signal an error in that case.

4 years agoFix erc bug when there's two channels with the same name
Lars Ingebrigtsen [Sun, 2 Aug 2020 07:43:41 +0000 (09:43 +0200)]
Fix erc bug when there's two channels with the same name

* lisp/erc/erc.el (erc-generate-new-buffer-name): Fix logic when
there's two channels with the same name from two different servers
(bug#40121).

4 years agoTry to fix mailcap parsing again to respect Emacs defaults
Lars Ingebrigtsen [Sun, 2 Aug 2020 07:04:31 +0000 (09:04 +0200)]
Try to fix mailcap parsing again to respect Emacs defaults

* lisp/net/mailcap.el (mailcap--computed-mime-data): New variable.
(mailcap-parse-mailcaps): Don't delete Emacs-distributed fallback
values (bug#40247).
(mailcap-add-mailcap-entry): Extend to allow working on different
variables.
(mailcap-add): Store data in mailcap-user-mime-data, since it
should be heeded first.

4 years agoMake some erc function aliases obsolete
Lars Ingebrigtsen [Sun, 2 Aug 2020 05:55:02 +0000 (07:55 +0200)]
Make some erc function aliases obsolete

* lisp/erc/erc-networks.el (erc-current-network):
* lisp/erc/erc-join.el (erc-autojoin-channels-delayed):
* lisp/erc/erc-backend.el (erc-server-setup-periodical-ping)
(erc-server-send-ping, erc-server-send-queue):
* lisp/erc/erc-autoaway.el (erc-autoaway-reestablish-idletimer)
(autoaway): Adjust callers.

* lisp/erc/erc-compat.el (erc-with-selected-window)
(erc-cancel-timer, erc-make-obsolete)
(erc-make-obsolete-variable): Make these aliases obsolete.

4 years agoFix race condition in erc-server-send-queue vs quitting erc
Lars Ingebrigtsen [Sun, 2 Aug 2020 05:48:30 +0000 (07:48 +0200)]
Fix race condition in erc-server-send-queue vs quitting erc

* lisp/erc/erc-backend.el (erc-server-send-queue): Check that the
buffer is live before using it (bug#40418).  This fixes a rare
problem when the queue is non-empty when `erc-quit-server' is run.

4 years ago* src/alloc.c (mark_maybe_object): Make overflow check conditional.
Philipp Stephani [Sat, 1 Aug 2020 19:34:46 +0000 (21:34 +0200)]
* src/alloc.c (mark_maybe_object): Make overflow check conditional.

4 years agoImprove offset calculation in wide int builds
Philipp Stephani [Sat, 1 Aug 2020 19:01:24 +0000 (21:01 +0200)]
Improve offset calculation in wide int builds

* src/alloc.c (mark_maybe_object): Make sure that OFFSET isn’t widened
during subtraction.

4 years ago* src/alloc.c (resize_string_data): Adjust string bytes (Bug#42540)
Philipp Stephani [Sat, 1 Aug 2020 18:59:09 +0000 (20:59 +0200)]
* src/alloc.c (resize_string_data): Adjust string bytes (Bug#42540)

4 years agoRecreate macOS color list if it is corrupt
Alan Third [Wed, 20 May 2020 20:28:25 +0000 (21:28 +0100)]
Recreate macOS color list if it is corrupt

* src/nsterm.m (ns_term_init): Generate the color list if there are
less colors in the existing file than in rgb.txt.

4 years agoImplement alternative for Tramp's signal return string
Michael Albinus [Sat, 1 Aug 2020 18:08:44 +0000 (20:08 +0200)]
Implement alternative for Tramp's signal return string

* lisp/net/tramp-adb.el (process-file-return-signal-string): Declare.
(tramp-adb-get-signal-strings): New defun.
(tramp-adb-handle-process-file): Use it.

* lisp/net/tramp-sh.el (process-file-return-signal-string): Declare.
(tramp-sh-get-signal-strings): New defun.
(tramp-sh-handle-process-file): Use it.

* lisp/net/tramp.el (tramp-get-signal-strings): Remove function.

* test/lisp/net/tramp-tests.el (tramp-test28-process-file):
Accept alternative signal return string.

4 years ago; Auto-commit of loaddefs files.
Glenn Morris [Sat, 1 Aug 2020 16:42:44 +0000 (09:42 -0700)]
; Auto-commit of loaddefs files.

4 years agoUse a more precise check for '__lsan_ignore_object'
Philipp Stephani [Sat, 1 Aug 2020 15:12:30 +0000 (17:12 +0200)]
Use a more precise check for '__lsan_ignore_object'

* configure.ac: Add check for __lsan_ignore_object.

* src/buffer.c (enlarge_buffer_text):
* src/data.c (make_blv):
* src/emacs-module.c (Fmodule_load, initialize_environment):
* src/regex-emacs.c (regex_compile):
* src/search.c (newline_cache_on_off): Use new configuration macro.

4 years agoSuppress sanitizer errors about pointer arithmetic in a few places
Philipp Stephani [Sat, 1 Aug 2020 14:58:06 +0000 (16:58 +0200)]
Suppress sanitizer errors about pointer arithmetic in a few places

We perform weird pointer arithmetic due to the layout of Lisp_Objects
holding symbols.  ASan/UBSan warns about that (Bug#42530).  Suppress
the warnings by performing the arithmetic on integer types and casting
back to pointers.

* src/alloc.c (mark_maybe_object, mark_memory): Temporarily cast
pointer to 'intptr_t'.

4 years agoSuppress leak sanitizer in a few more places
Philipp Stephani [Sat, 1 Aug 2020 14:55:45 +0000 (16:55 +0200)]
Suppress leak sanitizer in a few more places

* src/regex-emacs.c (regex_compile):
src/search.c (newline_cache_on_off): Suppress leak sanitizer.

4 years agoFix last change
Eli Zaretskii [Sat, 1 Aug 2020 12:55:01 +0000 (15:55 +0300)]
Fix last change

* src/emacs-module.c (initialize_environment): Call
__lsan_ignore_object only if HAVE_SANITIZER_LSAN_INTERFACE_H is
undefined.  This fixes compilation on systems that don't have
__lsan_* functions.

4 years agoSuppress leak detector in some cases
Philipp Stephani [Sat, 1 Aug 2020 12:13:55 +0000 (14:13 +0200)]
Suppress leak detector in some cases

We intentionally leak some objects.  Prevent the ASan leak detector
from raising false alarms in these cases.

* configure.ac: Search for lsan_interface.h header.

* src/data.c (make_blv): Allow leaking of buffer-local values.

* src/buffer.c (enlarge_buffer_text): Allow leaking of buffer text.

* src/emacs-module.c (Fmodule_load, initialize_environment): Allow
intentional leak of runtime and environment objects if module
assertions are enabled.

4 years ago* test/data/emacs-module/mod-test.c (Fmod_test_string_a_to_b): Fix leak
Philipp Stephani [Sat, 1 Aug 2020 12:10:33 +0000 (14:10 +0200)]
* test/data/emacs-module/mod-test.c (Fmod_test_string_a_to_b): Fix leak

4 years ago; Maintainer header updates
Glenn Morris [Fri, 31 Jul 2020 16:09:39 +0000 (09:09 -0700)]
; Maintainer header updates

4 years ago* lisp/emacs-lisp/byte-opt.el: Minor simplifications
Stefan Monnier [Fri, 31 Jul 2020 15:58:13 +0000 (11:58 -0400)]
* lisp/emacs-lisp/byte-opt.el: Minor simplifications

(byte-optimize-form-code-walker): Use `byte-optimize-form` after
inlining, so optimizations are also applied to the top level call.
Simplify the code for `pure` functions using `byte-optimize-constant-args`.
(byte-optimize-all-constp): Remove, not used any more.
(byte-optimize-1+, byte-optimize-1-): Remove, they are redundant
with the `pure` annotation.

4 years agoDeclare some ancient compat aliases obsolete (Bug#41328)
Stefan Kangas [Fri, 31 Jul 2020 04:02:30 +0000 (06:02 +0200)]
Declare some ancient compat aliases obsolete (Bug#41328)

* lisp/comint.el (comint-read-noecho):
* lisp/emacs-lisp/edebug.el (edebug-all-defuns):
* lisp/man.el (manual-entry):
* lisp/vc/log-edit.el (vc-log-mode-map, vc-log-entry-mode): Declare
ancient backwards-compatibility aliases and functions obsolete.  The
oldest in this list was added in 1992, and the most recent in 2004.

* lisp/net/telnet.el (telnet-initial-filter): Don't use
`comint-read-noecho'.

4 years agoMinor dns.el clean up
Lars Ingebrigtsen [Fri, 31 Jul 2020 02:24:49 +0000 (04:24 +0200)]
Minor dns.el clean up

* lisp/net/dns.el (dns-query-asynchronous, dns-query): Adjust some
parameter names to not end with "p", as these are not predicates.

4 years agoMake gravatar-build-url respect dynamically bound variables again
Lars Ingebrigtsen [Fri, 31 Jul 2020 02:19:03 +0000 (04:19 +0200)]
Make gravatar-build-url respect dynamically bound variables again

* lisp/image/gravatar.el (gravatar-build-url): Compute
query-string first, so that dynamically bound values of
`gravatar-rating' (etc.) are respected, instead of computing it
when the callback happens.

4 years ago; Remove */localtime-buffer.* (omitted from previous commit by accident).
Paul Eggert [Thu, 30 Jul 2020 21:30:56 +0000 (14:30 -0700)]
; Remove */localtime-buffer.* (omitted from previous commit by accident).

4 years agoUpdate from Gnulib
Paul Eggert [Thu, 30 Jul 2020 20:58:58 +0000 (13:58 -0700)]
Update from Gnulib

This incorporates:
2020-07-30 work around some Oracle Studio attribute bugs
2020-07-29 fsusage, regex, stat-size: remove Cray support
2020-07-26 inttypes: remove support for AIX 4
2020-07-26 gettimeofday: remove workaround for Mac OS X 10.0
2020-07-26 don't require gl_LOCALTIME_BUFFER_DEFAULTS
2020-07-26 alloca: remove Cray-2 and Cray Y-MP support
2020-07-26 libgmp: remove dependency on havelib
2020-07-26 libgmp: remove HAVE_GMP, LIB_GMP
2020-07-25 multiarch: prepare for x86_64+arm64 universal in macOS 11
2020-07-25 sigprocmask: small autoconf macro improvement
2020-07-25 small autoconf macro improvements
2020-07-24 timespec: remove dependence on ‘verify’
2020-07-24 optimize a few more three-valued comparisons
2020-07-24 fix _GL_CMP parenthesization typo
2020-07-23 optimize three-valued comparison between integers
2020-07-24 doc: update for Mac OS X 10.13
2020-07-23 fchmodat, lchmod: use /proc on Cygwin
2020-07-21 inttypes: fix PRI*PTR and SCN*PTR on 64-bit native Windows
2020-07-12 libgmp: avoid warning when --without-libgmp is used
2020-07-12 libgmp: link to the correct shared library
* lib/mini-gmp-gnulib.c: Ignore -Wsuggest-attribute=malloc only for
* build-aux/config.guess, build-aux/config.sub:
* build-aux/install-sh, doc/misc/texinfo.tex, lib/c-strcasecmp.c:
* lib/c-strncasecmp.c, lib/fchmodat.c, lib/fsusage.c:
* lib/gettimeofday.c, lib/inttypes.in.h, lib/lchmod.c:
* lib/mini-gmp-gnulib.c, lib/nstrftime.c, lib/regex.h, lib/timespec.h:
* m4/alloca.m4, m4/getgroups.m4, m4/gettimeofday.m4:
* m4/gnulib-common.m4, m4/inttypes.m4, m4/libgmp.m4, m4/mktime.m4:
* m4/multiarch.m4:
Copy from Gnulib.
* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
* src/Makefile.in, test/Makefile.in (LIBGMP):
Rename from LIB_GMP for compatibility with Gnulib.
All uses changed.

4 years agoPort to Oracle Studio 12.6 (sparc)
Paul Eggert [Thu, 30 Jul 2020 16:22:01 +0000 (09:22 -0700)]
Port to Oracle Studio 12.6 (sparc)

* src/alloc.c (__builtin_unwind_init) [!HAVE___BUILTIN_UNWIND_INIT]:
Move from here ...
* src/lisp.h: ... to here, since flush_stack_call_func uses it.
* src/pdumper.c (dump_off_from_lisp): Avoid ‘return n;;’ to pacify
Oracle Studio.

4 years agoFix face extension past EOL in overlay strings
Eli Zaretskii [Thu, 30 Jul 2020 13:56:36 +0000 (16:56 +0300)]
Fix face extension past EOL in overlay strings

* src/xdisp.c (face_at_pos): Pass ATTR_FILTER to
face_for_overlay_string.
* src/xfaces.c (face_for_overlay_string): Accept an additional
argument ATTR_INDEX and pass it to merge_face_ref for merging the
face at POS.  This ensures a face from buffer text will not be
merged unless it specifies the :extend attribute.  (Bug#42552)
* src/dispextern.h (face_for_overlay_string): Adjust prototype.

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.