1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-02-11 10:20:33 -08:00
Commit graph

141835 commits

Author SHA1 Message Date
Lars Ingebrigtsen
26b9a1da63 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.
2020-08-03 08:18:39 +02:00
Derek Zhou
f921feceb8 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.
2020-08-03 07:56:29 +02:00
Philipp Stephani
a325584281 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.
2020-08-02 22:07:27 +02:00
Lars Ingebrigtsen
2ad38b4745 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.
2020-08-02 19:44:30 +02:00
Lars Ingebrigtsen
94b6eb807c 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).
2020-08-02 19:03:21 +02:00
Philipp Stephani
3e0c3479b2 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.
2020-08-02 18:05:36 +02:00
Philipp Stephani
0a65e06020 ; * test/lisp/emacs-lisp/edebug-tests.el (edebug-tests-cl-flet): Fix typo. 2020-08-02 18:04:18 +02:00
Philipp Stephani
d8ab98843e 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.
2020-08-02 17:39:24 +02:00
Eli Zaretskii
a07ec21bf2 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)
2020-08-02 18:27:33 +03:00
Philipp Stephani
2e9d1f4d44 * src/alloc.c (mark_maybe_object): Avoid signed integer overflow 2020-08-02 16:06:41 +02:00
Philipp Stephani
e6eb554b95 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.
2020-08-02 16:06:41 +02:00
Eli Zaretskii
418ea25bbf Fix last change in alloc.c.
* src/alloc.c (mark_maybe_object) [WIDE_EMACS_INT]: Avoid compiler
warning about 'overflow' being unused.
2020-08-02 17:05:00 +03:00
Lars Ingebrigtsen
99d1a66646 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).
2020-08-02 14:32:19 +02:00
Michael Albinus
dc8aa15472 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.
2020-08-02 13:26:00 +02:00
Philipp Stephani
069b58b7c8 * src/alloc.c (mark_memory): Avoid signed integer overflow 2020-08-02 12:58:44 +02:00
Lars Ingebrigtsen
929e7e141c 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.
2020-08-02 11:32:35 +02:00
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
Glenn Morris
fbe363f5e1 ; Maintainer header updates 2020-07-31 09:09:39 -07: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
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