1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-02-03 22:20:52 -08:00
Commit graph

141865 commits

Author SHA1 Message Date
Lars Ingebrigtsen
ea9520a7a2 Mark the end of file names correctly on Macos in wdired
* lisp/wdired.el (wdired--restore-dired-filename-prop): Fix
problem with finding the end of the name on Macos.
2020-08-04 15:56:12 +02:00
Lars Ingebrigtsen
1432cfd485 Fix debugging code checked in from wdired-tests 2020-08-04 15:15:45 +02:00
Lars Ingebrigtsen
a3c870d7e2 Fix svn tests on Macos
* test/lisp/vc/vc-tests.el (vc-test--svn-enabled): Macos machines
may have a dummy svn program that helpfully just outputs "There's
no svn program here", so also test for the svnadmin program
(bug#42536).
2020-08-04 14:48:38 +02:00
Lars Ingebrigtsen
934585a649 dired-ls-F-marks-symlinks should be set under Macos
* lisp/dired.el (dired-ls-F-marks-symlinks): Not that this should
be set under Macos (bug#42537).
2020-08-04 14:31:41 +02:00
Lars Ingebrigtsen
e208d67e84 Fix wdired test for Macos
* test/lisp/wdired-tests.el (wdired-test-bug34915): Macos adds "@"
to the end of symlinks (bug#42537).
2020-08-04 14:30:20 +02:00
Michael Albinus
3da0d38529 * etc/NEWS: Add Tramp support of direct asynchronous process invocation. 2020-08-04 14:20:16 +02:00
Michael Albinus
83b1db043b Add Tramp support of direct asynchronous process invocation
* doc/misc/tramp.texi (Predefined connection information):
Add "direct-async-process".
(Remote processes): New subsection "Improving performance of
asynchronous remote processes".

* lisp/net/tramp-adb.el (tramp-methods) <adb>: Add `tramp-login-program'
and `tramp-login-args'.
(tramp-adb-handle-make-process): Use `tramp-handle-make-process'.
(tramp-adb-maybe-open-connection): Add "set +o vi +o emacs" command.

* lisp/net/tramp-sh.el (tramp-sh-handle-make-process):
Use `tramp-handle-make-process'.
(tramp-sh-file-name-handler-p, tramp-multi-hop-p): New defuns.
(tramp-compute-multi-hops): Use `tramp-multi-hop-p'.

* lisp/net/tramp.el (tramp-dissect-file-name, tramp-dissect-hop-name):
Use `tramp-multi-hop-p'.
(tramp-handle-insert-file-contents, tramp-local-host-p):
Use `tramp-sh-file-name-handler-p'.
(tramp-handle-make-process): New defun.

* test/README: Add another example how to use SELECTOR.

* test/lisp/net/tramp-tests.el (tramp-test03-file-name-method-rules):
Adapt test.
(tramp--test-sh-p): Use `tramp-sh-file-name-handler-p'.
2020-08-04 14:19:51 +02:00
Theodor Thornhill
b8b25400d5 Add sass @use rule to css-mode
* lisp/textmodes/css-mode.el (scss-at-ids): Add 'use' to scss-at-ids
for autocompletion (bug#42700).
2020-08-04 12:12:46 +02:00
Paul Eggert
19e76f6190 Use void * for pointers in with_echo_area_buffer
* src/xdisp.c (with_echo_area_buffer): Pass void * instead of
ptrdiff_t, since the values are typically pointers and this ports
better to (mostly-theoretical) hosts where ptrdiff_t is narrower
than intptr_t.  All uses changed.
2020-08-03 19:08:59 -07:00
Paul Eggert
fd50b3fc45 Ignore another memory leak
* src/pdumper.c (dump_mmap_contiguous_heap):
Ignore the heap control block when checking for leaks.
2020-08-03 19:08:58 -07:00
Paul Eggert
a1436544ff Simplify use of __lsan_ignore_object
* configure.ac: Use AC_CHECK_FUNCS_ONCE for __lsan_ignore_object.
* src/buffer.c, src/data.c, src/emacs-module.c, src/regex-emacs.c:
* src/search.c: Use __lsan_ignore_object unconditionally, and don’t
include sanitizer/lsan_interface.h.
* src/lisp.h (__lsan_ignore_object): Provide a dummy in the
typical case where leak sanitization is not available.
2020-08-03 19:08:58 -07:00
Paul Eggert
a4ed198e8f Simplify pointer computation in mark_maybe_object
* src/alloc.c (mark_maybe_object):
Use simpler way to avoid -fsanitize=undefined false alarms,
by converting the word tag to intptr_t first.
Omit now-unnecessary runtime overflow check.
(mark_memory): Work even if UINTPTR_MAX <= INT_MAX (!).
2020-08-03 19:08:58 -07:00
Philipp Stephani
ca419812d3 Avoid duplicate Edebug symbols when backtracking (Bug#42701)
When Edebug backtracks, it nevertheless generates definitions for the
non-matching branches, see Bug#41988 and Bug#42701.  This should be
fixed eventually (probably by deferring the definition until a branch
is known to match), but for now add a band-aid to avoid these
duplicate symbols, at least for anonymous forms.

* lisp/emacs-lisp/edebug.el (edebug-make-enter-wrapper): Regenerate
anonymous names.

* test/lisp/emacs-lisp/edebug-tests.el
(edebug-tests-duplicate-symbol-backtrack): New regression test.
2020-08-03 21:07:32 +02:00
Glenn Morris
16b7f413a9 Merge from origin/emacs-27
8576297b2a (origin/emacs-27) ; lisp/so-long.el: Prevent potential err...
986c12b20f ; * lisp/so-long.el: Byte-compilation bug fix
19f8f36f11 ; * lisp/so-long.el (so-long-variable-overrides): Improve doc
83bc4ad369 ; * so-long.el: Documentation and spelling
72c5f71cd4 Avoid segfaults if XIM is set but not xim_styles
f54ddb0198 (emacs-27) ; * test/lisp/emacs-lisp/generator-tests.el: St...

# Conflicts:
#	test/lisp/emacs-lisp/generator-tests.el
2020-08-03 08:32:39 -07:00
Glenn Morris
078d75fb47 ; Merge from origin/emacs-27
The following commits were skipped:

d767418b76 Backport: Make checking for liveness of global values more...
8c94ca94dc Backport: Fix subtle bug when checking liveness of module ...
8ecca2f09f Backport: Fix memory leak for global module objects (Bug#4...
2020-08-03 08:31:15 -07:00
Glenn Morris
78d1092bcc Merge from origin/emacs-27
e12d1fbc15 ; ChangeLog.3 and etc/AUTHORS fixes
748f0d4bc6 * admin/authors.el (authors-aliases): Remove a faulty regexp.

# Conflicts:
#	etc/AUTHORS
2020-08-03 08:31:15 -07:00
Eli Zaretskii
99275822c6 Fix last change in 'try_window'
* src/xdisp.c (try_window): Don't modify the logic when EOB is in
the viewport.  (Bug#42653)
2020-08-03 17:56:40 +03:00
Phil Sainty
8576297b2a ; lisp/so-long.el: Prevent potential error if comment-use-syntax is nil
* lisp/so-long.el (so-long-detected-long-line-p): Ensure that
`comment-start-skip' and `comment-end-skip' are both set if
`comment-use-syntax' is nil, as `comment-forward' requires them
to be bound in this scenario.
2020-08-04 01:44:53 +12:00
Phil Sainty
986c12b20f ; * lisp/so-long.el: Byte-compilation bug fix
As this `require' is not at the top-level (it is only conditionally
evaluated, when loading the library over the top of an earlier
version), we need `eval-and-compile' to ensure that both macros and
functions from advice.el are accounted for.
2020-08-04 01:44:53 +12:00
Phil Sainty
19f8f36f11 ; * lisp/so-long.el (so-long-variable-overrides): Improve doc 2020-08-04 01:44:52 +12:00
Phil Sainty
83bc4ad369 ; * so-long.el: Documentation and spelling
Reverting certain changes from commits b0f20651e3 and d1a791f8ed.

Please refer to the comments on spelling at the end of the library.
M-x ispell-buffer should find no misspellings in the documentation.
See also test/lisp/so-long-tests/spelling-tests.el

(The current spelling will persist while so-long.el is maintained in
its own Savannah repository, to avoid unnecessary conflicts between
the two versions.  If in the future it is maintained solely in the
Emacs repository, changing the spelling would become an option.)

Note that "mitigations" (plural) is intentional -- this library
identifies a collection of different performance mitigations,
multiple of which will typically be in effect together.
2020-08-04 01:35:26 +12:00
Lars Ingebrigtsen
e1f09607e0 Make n'/p' in image-mode also find externally converted images
* lisp/image-file.el (image-file-name-regexp): Use it to make
`n'/`p' in image mode work (bug#39994).

* lisp/image/image-converter.el
(image-converter-file-name-extensions): New variable to keep track
of all suffixes.
(image-convert-p): Update.
(image-converter--find-converter): Set.
2020-08-03 09:14:52 +02:00
Lars Ingebrigtsen
79527cd56e Fix problem with viewing .webp files from .zip buffers
* lisp/image-mode.el (image-toggle-display-image): Make it
possible to view images (via external formatters, like webp) from
zip files (and other archive modes) (bug#39994).
2020-08-03 09:00:53 +02:00
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
Grégory Mounié
72c5f71cd4 Avoid segfaults if XIM is set but not xim_styles
Emacs segfaults at the X11 initialization if XIM is set
and xim_styles is NULL.  This patch avoids the crash.
* src/xfns.c: Check also if FRAME_X_XIM_STYLES(f) is NULL.
(Bug#42676)  (Bug#42673)  (Bug#42677)

Copyright-paperwork-exempt: yes
2020-08-02 20:19:16 +03: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