1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-04-07 06:41:00 -07:00
Commit graph

148415 commits

Author SHA1 Message Date
Lars Ingebrigtsen
6f94c2405f 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).
2020-08-02 09:43:41 +02:00
Lars Ingebrigtsen
eab636c7eb 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.
2020-08-02 09:04:31 +02:00
Lars Ingebrigtsen
8f181124df 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.
2020-08-02 07:55:02 +02:00
Lars Ingebrigtsen
8824487467 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.
2020-08-02 07:48:30 +02:00
Philipp Stephani
6ec71e829a * src/alloc.c (mark_maybe_object): Make overflow check conditional. 2020-08-01 21:34:46 +02:00
Philipp Stephani
fce47c9325 Improve offset calculation in wide int builds
* src/alloc.c (mark_maybe_object): Make sure that OFFSET isn’t widened
during subtraction.
2020-08-01 21:02:33 +02:00
Philipp Stephani
1d70fbe4c8 * src/alloc.c (resize_string_data): Adjust string bytes (Bug#42540) 2020-08-01 21:02:33 +02:00
Alan Third
a8f99d113c 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.
2020-08-01 19:46:51 +01:00
Michael Albinus
b04d391d79 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.
2020-08-01 20:08:44 +02:00
Glenn Morris
f1097d7af8 ; Auto-commit of loaddefs files. 2020-08-01 09:42:44 -07:00
Philipp Stephani
06310cf912 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.
2020-08-01 17:12:30 +02:00
Philipp Stephani
a2323c7ccb 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'.
2020-08-01 17:01:00 +02:00
Philipp Stephani
91d539b077 Suppress leak sanitizer in a few more places
* src/regex-emacs.c (regex_compile):
src/search.c (newline_cache_on_off): Suppress leak sanitizer.
2020-08-01 17:01:00 +02:00
Eli Zaretskii
4ea90a711d 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.
2020-08-01 15:55:01 +03:00
Philipp Stephani
c3b5355996 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.
2020-08-01 14:16:22 +02:00
Philipp Stephani
89127266c9 * test/data/emacs-module/mod-test.c (Fmod_test_string_a_to_b): Fix leak 2020-08-01 14:16:22 +02:00
Philipp Stephani
f54ddb0198 ; * test/lisp/emacs-lisp/generator-tests.el: Style fixes. 2020-07-31 23:50:04 +02:00
Philipp Stephani
d767418b76 Backport: 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.

(cherry picked from commit 9f01ce6327)
2020-07-31 18:18:43 +02:00
Philipp Stephani
8c94ca94dc Backport: 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.

(cherry picked from commit 6355a3ec62)
2020-07-31 18:18:27 +02:00
Glenn Morris
fbe363f5e1 ; Maintainer header updates 2020-07-31 09:09:39 -07:00
Philipp Stephani
8ecca2f09f Backport: 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'.

(cherry picked from commit 5c5eb97908)
2020-07-31 18:05:18 +02:00
Stefan Monnier
450b50df11 * 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.
2020-07-31 11:58:13 -04:00
Stefan Kangas
7899fa4309 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'.
2020-07-31 06:02:30 +02:00
Lars Ingebrigtsen
f7a916a618 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.
2020-07-31 04:24:49 +02:00
Lars Ingebrigtsen
50a12de877 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.
2020-07-31 04:19:03 +02:00
Paul Eggert
5c63130968 ; Remove */localtime-buffer.* (omitted from previous commit by accident). 2020-07-30 14:34:07 -07:00
Paul Eggert
5d89a9c284 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.
2020-07-30 14:01:49 -07:00
Nicolas Petton
e12d1fbc15 ; ChangeLog.3 and etc/AUTHORS fixes 2020-07-30 09:35:42 -07:00
Nicolas Petton
748f0d4bc6 * admin/authors.el (authors-aliases): Remove a faulty regexp. 2020-07-30 09:35:19 -07:00
Paul Eggert
88b4516cf8 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.
2020-07-30 09:23:51 -07:00
Eli Zaretskii
35564bea4d 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.
2020-07-30 16:56:36 +03:00
Michael Albinus
50ea5b871d 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)
2020-07-30 13:46:22 +02:00
Lars Ingebrigtsen
a0b18d3cc2 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.
2020-07-30 05:32:16 +02:00
Lars Ingebrigtsen
ef7f569cbd 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.
2020-07-30 05:32:16 +02:00
Lars Ingebrigtsen
789197049c Use lexical binding in dns.el
* lisp/net/dns.el: Use lexical-binding.
(dns-write-bytes, dns-read): Adjust for lexical-binding.
2020-07-30 05:32:16 +02:00
Lars Ingebrigtsen
18a5e52eed 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.
2020-07-30 05:32:16 +02:00
Glenn Morris
55806ee46b * admin/gitmerge.el (gitmerge-resolve): Discard AUTHORS conflicts. 2020-07-29 15:15:15 -07:00
Glenn Morris
653a81bf8c Update a gravatar test
* test/lisp/image/gravatar-tests.el (gravatar-build-url):
Update for recent change in default gravatar-service.
2020-07-29 08:52:42 -07:00
Mattias Engdegård
c48bb7deb8 Preserve match data in 'kbd'
* lisp/subr.el (kbd): Preserve match data since this function is
declared pure (see discussion in bug#42147).
2020-07-29 17:48:53 +02:00
Glenn Morris
3b0cb1c4f5 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...
2020-07-29 08:39:28 -07:00
Glenn Morris
b8c8e93f06 ; Merge from origin/emacs-27
The following commit was skipped:

44888c95b0 Bump Emacs version to 27.1
2020-07-29 08:39:28 -07:00
Glenn Morris
8f46e67ffd 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
2020-07-29 08:39:28 -07:00
Glenn Morris
64a1b42456 ; 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.
2020-07-29 08:38:51 -07:00
Glenn Morris
775a3e19d2 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
2020-07-29 08:38:51 -07:00
Glenn Morris
50237759b0 ; Merge from origin/emacs-27
The following commit was skipped:

96a3b473fa Fix viewing of encrypted S/MIME messages
2020-07-29 08:38:51 -07:00
Michael Albinus
9d011397ab * etc/NEWS: Fix typos. 2020-07-29 16:41:30 +02:00
Michael Albinus
4a07d3c7d4 Tramp doc edit
* doc/misc/tramp.texi: Use it.

* doc/misc/trampver.texi: Declare @trampurl.
2020-07-29 16:41:18 +02:00
Stefan Kangas
d024fc141b * doc/lispref/symbols.texi (Definitions): Fix typo. 2020-07-29 12:35:19 +02:00
Lars Ingebrigtsen
28bf56b871 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).
2020-07-29 08:47:29 +02:00
Lars Ingebrigtsen
db1b1f09b8 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.
2020-07-29 08:38:52 +02:00