Commit graph

145142 commits

Author SHA1 Message Date
Andrea Corallo
033e96055c Merge remote-tracking branch 'savannah/master' into HEAD 2020-11-22 22:23:16 +01:00
Michael Albinus
9b6ad3107f Replace /dev/null by remote null-device in Tramp.
* lisp/net/tramp-adb.el (tramp-adb-get-ls-command)
(tramp-adb-handle-set-file-times, tramp-adb-handle-process-file):
Use `tramp-get-remote-null-device'.

* lisp/net/tramp-compat.el (tramp-tramp-file-p): Declare.
(tramp-compat-null-device): New defalias.

* lisp/net/tramp-sh.el (tramp-methods) <telnet, nc>:
(tramp-perl-encode-with-module, tramp-perl-decode-with-module)
(tramp-perl-encode, tramp-perl-decode, tramp-awk-decode):
Use "%n" marker.
(tramp-do-directory-files-and-attributes-with-stat)
(tramp-sh-handle-file-name-all-completions)
(tramp-do-copy-or-rename-file-out-of-band)
(tramp-sh-handle-insert-directory, tramp-sh-handle-process-file)
(tramp-set-remote-path, tramp-open-connection-setup-interactive-shell)
(tramp-find-inline-encoding, tramp-send-command-and-check)
(tramp-get-remote-path, tramp-get-ls-command, tramp-get-ls-command-with)
(tramp-get-remote-awk, tramp-get-remote-hexdump, tramp-get-remote-od)
(tramp-get-env-with-u-option): Use `tramp-get-remote-null-device'.
(tramp-remote-coding-commands, tramp-call-local-coding-command):
Adapt docstring.

* lisp/net/tramp-smb.el (tramp-smb-conf): Use `null-device'.
(tramp-smb-handle-file-acl): Use `tramp-get-remote-null-device'.

* lisp/net/tramp.el (tramp-methods): Adapt docstring.
(tramp-get-remote-null-device): New defun.
(tramp-interrupt-process): Use it.
2020-11-22 19:56:23 +01:00
Stefan Kangas
9490f12c4d Test for byte-compiler warning "variable lacks prefix"
* test/lisp/emacs-lisp/bytecomp-tests.el
(bytecomp--with-warning-test): New macro.
(bytecomp-warn-wrong-args, bytecomp-warn-wrong-args-subr):
Use above new macro.
(bytecomp-warn-variable-lacks-prefix): New test.
2020-11-22 07:19:11 +01:00
Stefan Kangas
b6339fc19c Test interactive-only spec of with-suppressed-warnings
* test/lisp/emacs-lisp/bytecomp-tests.el
(bytecomp-test--with-suppressed-warnings): Test suppressing warning
with interactive-only.
2020-11-22 03:24:26 +01:00
Stefan Kangas
fb9326b45c Say which command shadows a key binding
* src/keymap.c (describe_vector): Say which command shadows this
binding.  (Bug#9293)
* test/src/keymap-tests.el
(help--describe-vector/bug-9293-one-shadowed-in-range): Adapt
test.
2020-11-22 02:48:53 +01:00
Stefan Kangas
84dd5c9bea Don't shadow bindings by the same command
* src/keymap.c (describe_vector): Do not say binding is shadowed if
the other key binding points to the same command.  (Bug#9293)
* test/src/keymap-tests.el
(help--describe-vector/bug-9293-same-command-does-not-shadow): New
test.
2020-11-22 02:45:03 +01:00
Stefan Kangas
a649034336 Don't show key ranges if shadowed by different commands
* src/keymap.c (describe_vector): Make sure found consecutive keys
are either not shadowed or, if they are, that they are shadowed by
the same command.  (Bug#9293)
* test/src/keymap-tests.el
(help--describe-vector/bug-9293-one-shadowed-in-range): New test.
2020-11-22 02:45:03 +01:00
Juri Linkov
0a8cd01162 Handle help-form in y-or-n-p and use this in find-file-noselect (bug#5423)
* doc/lispref/help.texi (Help Functions): Mention help-form for
read-char-from-minibuffer and y-or-n-p.

* doc/lispref/minibuf.texi (Yes-or-No Queries): Mention help-form
for y-or-n-p.
(Multiple Queries): Mention help-form for read-char-from-minibuffer.

* lisp/files.el (find-file-noselect): Let-bind multi-line help text
to help-form for y-or-n-p.

* lisp/subr.el (read-char-choice): Mention help-form in docstring.
(read-char-from-minibuffer): Mention help-form in docstring.
(y-or-n-p-map): Remove handling of 'help'.
(y-or-n-p): Mention help-form in docstring.
When help-form is non-nil: add help-char to 'prompt', and bind
help-char to help-form-show in composed-keymap.
2020-11-21 21:49:46 +02:00
Michael Albinus
789ee3e1d5 Handle connection-local null-device and path-separator variables
* doc/lispref/os.texi (System Environment): Add `path-separator'
function and `null-device' variable and function.

* etc/NEWS: Mention 'null-device' and 'path-separator'.  Fix typos.

* lisp/files-x.el (path-separator, null-device): New defuns.  (Bug#3736)

* lisp/net/tramp-adb.el
(tramp-adb-connection-local-default-shell-variables): Rename from
`tramp-adb-connection-local-default-profile'.

* lisp/net/tramp-integration.el
(tramp-connection-local-default-system-variables): New defvar.
Add it to connection-local profiles.
(tramp-connection-local-default-shell-variables): Rename from
`tramp-connection-local-default-profile'.

* lisp/progmodes/grep.el (grep-hello-file): New defun.
(grep-compute-defaults): Use `null-device' function for remote
case. Handle remote `hello-file'.  Use `process-file-shell-command'.
(grep,grep-expand-keywords, lgrep): Use `null-device' function for
remote case.
2020-11-21 15:28:52 +01:00
Jared Finder
2c7687738d Migrate usage of GPM_CLICK_EVENT to MOUSE_CLICK_EVENT.
* src/termhooks.h (enum event_kind):
* src/term.c (term_mouse_click, handle_one_term_event):
* src/keyboard.c (discard_mouse_events, make_lispy_event): Migrate
usage of GPM_CLICK_EVENT to MOUSE_CLICK_EVENT.
2020-11-21 10:20:05 +02:00
Stefan Kangas
6781cd670d Make load argument of native-compile-async internal
* lisp/emacs-lisp/comp.el (native--compile-async): New defun extracted
from native-compile-async.
(native-compile-async): Remove load argument and use above new defun.
* src/comp.c (maybe_defer_native_compilation): Use above new
defun.  (Bug#44676)
2020-11-21 04:22:59 +01:00
Stefan Monnier
932cb10761 * lisp/emacs-lisp/package.el (package-strip-rcs-id): Don't ignore errors
Ignoring errors here just postpones the error and replaces a clear
"invalid version syntax" with a confusing "package lacks a version".
2020-11-20 19:28:34 -05:00
Mauro Aranda
abd15e088e Use cl-letf instead of unwind-protect in a test
* test/lisp/cus-edit-tests.el (cus-edit-tests-customize-saved/show-obsolete):
Good use case for cl-letf, so use it.
Suggested by Stefan Monnier <monnier@iro.umontreal.ca> in:
https://lists.gnu.org/archive/html/emacs-devel/2020-11/msg00914.html
2020-11-20 19:28:03 -03:00
Stefan Monnier
ac98bcc906 * test/manual/indent/tcl.tcl: Add string interpolation case 2020-11-20 16:54:06 -05:00
Stefan Monnier
2ba2e7217f Don't optimize away eval when its lexical context is different
* lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-eval):
Obey lexical-binding.
2020-11-20 16:45:56 -05:00
Mauro Aranda
6924320aeb Take care of a FIXME in cus-edit-tests.el
* test/lisp/cus-edit-tests.el (cus-edit-tests-customize-saved/show-obsolete):
Add a fake saved-value property, to be able check that the obsolete
option is present in the Customize buffer.  Expect the test to pass
now.
2020-11-20 18:37:30 -03:00
Stefan Kangas
c60355582a * lisp/emacs-lisp/comp.el (native-compile-async): Doc fix. 2020-11-20 21:06:09 +01:00
Stefan Kangas
050de01d94 Support native compilation of packages on install
* lisp/emacs-lisp/package.el (package-unpack)
(package--native-compile): Native compile packages on install, if the
feature is available.  (Bug#44676)
(package-native-compile): New defcustom.
2020-11-20 21:05:57 +01:00
Stefan Kangas
a79365acaf compile-async: Don't error out on deferred compilation after load
* lisp/emacs-lisp/comp.el (native-compile-async): Update
comp-files-queue when deferred compilation is requested.  (Bug#44676)
2020-11-20 20:55:09 +01:00
Stefan Kangas
cf436db285 ; Fix trivial typos 2020-11-20 20:35:44 +01:00
Stefan Kangas
86d87d2431 Don't quote lambda in idlwave.el
* lisp/progmodes/idlwave.el (idlwave-keyword-abbrev): Don't quote
lambda.
2020-11-20 17:25:31 +01:00
Stefan Kangas
966052cb59 Remove remaining XEmacs compat code from erc-log.el
* lisp/erc/erc-log.el (erc-save-buffer-in-logs): Remove XEmacs
compat code.
2020-11-20 16:45:33 +01:00
Stefan Kangas
ea218f424a Don't set XEmacs only properties start-open and end-open
* lisp/epa.el (epa-sign-region, epa-encrypt-region):
* lisp/erc/erc.el (erc-display-prompt):
* lisp/gnus/message.el (message-forward-make-body-mime):
* lisp/net/eudc-bob.el (eudc-bob-display-jpeg)
(eudc-bob-display-audio, eudc-bob-display-generic-binary):
* lisp/url/url-http.el
(url-http-chunked-encoding-after-change-function): Don't set XEmacs
only properties start-open and end-open.
2020-11-20 16:43:57 +01:00
Stefan Kangas
8c801138ac Remove XEmacs compat code from idlw-shell.el
* lisp/progmodes/idlw-shell.el:
(idlwave-shell-use-toolbar): Doc fix.
(idlwave-default-mouse-track-event-is-with-button): Declare obsolete.
(idlwave-shell-update-bp-overlays): Remove XEmacs compat code.
2020-11-20 16:24:57 +01:00
Stefan Kangas
c1269e7114 Remove some XEmacs compat code from ediff-wind.el
* lisp/vc/ediff-wind.el (ediff-window)
(ediff-compute-toolbar-width): Remove some XEmacs compat code.
2020-11-20 16:19:14 +01:00
Stefan Kangas
430eb2f850 Remove Emacs 20 compat code from org.el
* lisp/org/org.el (org-org-menu, org-create-customize-menu):
Remove Emacs 20 compat code.
2020-11-20 16:11:33 +01:00
Stefan Kangas
8834776b14 Remove Emacs 20 compat code from idlwave.el
* lisp/progmodes/idlwave.el (idlwave-indent-line)
(idlwave-toggle-comment-region, idlwave-reset-sintern)
(idlwave-unit-name, idlwave-mode-menu-def)
(idlwave-create-customize-menu): Remove Emacs 20 compat code.
2020-11-20 16:11:33 +01:00
Stefan Kangas
e8ee682733 Properly mark obsolete semantic functions as such
* lisp/cedet/semantic/ia.el (semantic-ia-get-completions)
(semantic-ia-get-completions-deprecated): Make obsolete.
2020-11-20 16:11:33 +01:00
Stefan Kangas
22d81123f5 Mark compat alias in cus-face.el obsolete
* lisp/cus-face.el (custom-facep): Mark compat alias obsolete.
* lisp/cus-dep.el (custom-make-dependencies):
* lisp/cus-edit.el (customize-changed-options)
(custom-unsaved-options, customize-saved, customize-apropos)
(custom-save-faces): Adjust callers.
2020-11-20 16:11:33 +01:00
Eli Zaretskii
88adf1f0dd Fix compilation on MS-Windows with librsvg > 2.46.0
* src/image.c (rsvg_handle_get_dimensions, init_svg_functions):
Make 'rsvg_handle_get_dimensions' available and defined for all
versions of librsvg.  (Bug#44655)
2020-11-20 17:00:36 +02:00
Stefan Kangas
b4b1bd6e03 Hide obsolete options in most customize commands
* lisp/cus-edit.el (custom--filter-obsolete-variables): New defun.
* lisp/cus-edit.el (customize-changed-options)
(customize-apropos, custom-group-value-create): Hide obsolete user
options.  (Bug#44598)
* test/lisp/cus-edit-tests.el: New file.
2020-11-20 14:33:25 +01:00
João Tãvora
e7791c7e57 Revert unintended part of last change to jsonrpc-request
While playing around with the timing in this function, I left
this change that could freeze the function on some platforms.

* lisp/jsonrpc.el (jsonrpc-request): Use accept-process-output.
(Version): Bump to 1.0.14
2020-11-20 10:04:20 +00:00
Lars Ingebrigtsen
f6b26fa43f Move semantic/tag obsolete variables to avoid a warning
* lisp/cedet/semantic/tag.el (semantic-token-version): Move to
avoid a compilation warning.
2020-11-20 03:33:42 +01:00
João Távora
59b340c1e6 Fix default timeout handling in jsonrpc-request
* lisp/jsonrpc.el (jsonrpc-request): Use default timeout if not passed.
(Version): Bump to 1.0.13
2020-11-20 01:19:39 +00:00
Andrea Corallo
a55415af7e Add 'EMACSNATIVELOADPATH' env variable support (bug#44726)
* lisp/startup.el (normal-top-level): Read 'EMACSNATIVELOADPATH'
	and add entries too `comp-eln-load-path'.
	* lisp/mail/emacsbug.el (report-emacs-bug): Dump
	also 'EMACSNATIVELOADPATH'.
2020-11-20 00:59:00 +01:00
Lars Ingebrigtsen
bc951000b3 Avoid a compilation warning about an ambiguous else
* src/data.c (set_internal): Avoid compilation warning.

data.c:1443:9: error: suggest explicit braces to avoid ambiguous ‘else’
 1443 |      if (idx > 0 && bindflag == SET_INTERNAL_SET
      |         ^
2020-11-20 00:19:18 +01:00
Stefan Monnier
8fac244464 * src/data.c (set_internal): Fix bug#44733
Set the default value when `set` encounters a PER_BUFFER variable
which has been let-bound globally, to match the behavior seen with
`make-variable-buffer-local`.

* test/src/data-tests.el (binding-test--let-buffer-local):
Add corresponding test.
(data-tests--set-default-per-buffer): Add tentative test for the
performance problem encountered in bug#41029.
2020-11-19 17:13:04 -05:00
Stefan Kangas
70773e5b97 Remove some XEmacs compat code from filesets.el
* lisp/filesets.el (filesets-init): Remove some XEmacs compat code.
(filesets-error): Declare obsolete.
(filesets-directory-files, filesets-get-selection)
(filesets-spawn-external-viewer, filesets-get-filelist)
(filesets-open, filesets-close, filesets-get-menu-epilog)
(filesets-ingroup-collect-files, filesets-build-ingroup-submenu)
(filesets-update-pre010505): Adjust callers.
2020-11-19 21:05:14 +01:00
Stefan Kangas
842fc2d01e Remove some compat code from ffap.el
* lisp/ffap.el (ffap-mouse-event, ffap-event-buffer): Make obsolete.
(ffap-menu-ask, ffap-at-mouse): Adjust callers.
2020-11-19 20:44:55 +01:00
Stefan Kangas
493e19b97f Declare some compat aliases obsolete
* lisp/cedet/semantic/tag.el (semantic-token-version)
(semantic-token-incompatible-version):
* lisp/emulation/edt.el (edt-bind-standard-key): Make compat
aliases obsolete.
2020-11-19 20:44:45 +01:00
Stefan Kangas
1ac6330fce Remove some compat code from url.el
* lisp/url/url.el (url-warn): Make into obsolete alias for
display-warning.
* lisp/url/url-auth.el (url-register-auth-scheme):
* lisp/url/url-news.el (url-news-open-host):
* lisp/url/url-proxy.el (url-find-proxy-for-url): Adjust callers.
2020-11-19 20:43:51 +01:00
Stefan Kangas
75555b5b6b Remove some compat code for old versions and XEmacs
* lisp/ibuf-ext.el (ibuffer-old-saved-filters-warning)
(ibuffer-maybe-save-stuff): Assume customize-save-variable is
bound; it is autoloaded.
* lisp/cedet/semantic/symref/grep.el (semantic-symref-perform-search):
* lisp/password-cache.el (password-cache-remove):
* lisp/cedet/semantic/bovine/el.el (semantic-dependency-tag-file):
Remove Emacs 21 compat code.
* lisp/cedet/semantic/sort.el (semantic-string-lessp-ci):
Remove Emacs 20 compat code.
* test/lisp/cedet/semantic-utest.el (semantic-utest-temp-directory):
* lisp/mail/supercite.el (sc-ask): Remove XEmacs compat code.
* lisp/progmodes/idlw-shell.el (idlwave-shell-mode):
* lisp/progmodes/idlwave.el (idlwave-mode): Remove commented out
compat code.
2020-11-19 20:43:51 +01:00
Stefan Monnier
3963aea4f4 * src/buffer.h (struct buffer): Remove unused field minor_modes
* src/buffer.c (bset_minor_modes): Remove function.
(reset_buffer_local_variables, init_buffer_once): Don't set `minor_modes`.
2020-11-19 13:10:40 -05:00
Michael Albinus
4fa1de82a2 Use decoding implementation from `insert-directory' in Tramp
* lisp/net/tramp-sh.el (tramp-sh-handle-insert-directory):
Use decoding implementation from `insert-directory', it is more robust.
2020-11-19 17:18:36 +01:00
Mattias Engdegård
90aab73f8d More string-search optimisations
All-ASCII strings cannot have substrings with non-ASCII characters in
them; use this fact to avoid searching entirely.

* src/fns.c (Fstring_search): For multibyte non-ASCII needle and
unibyte haystack, don't check if the haystack is all-ASCII; it's a
waste of time. For multibyte non-ASCII needle and multibyte
all-ASCII haystack, fail immediately.
* test/src/fns-tests.el (string-search): Add more test cases.
2020-11-19 14:58:48 +01:00
Alan Mackenzie
74a35d16e2 * etc/NEWS: Restore entries accidentally removed by previous commit. 2020-11-19 13:24:28 +00:00
Alan Mackenzie
6e469709c5 In attempted recursive minibuffer use, display error message in correct frame
This was problematic when minibuffer-follows-selected-frame was non-nil.
Introduce a new parameter DONT-SET-FRAME to set-window-configuration.

* doc/lispref/windows.texi (Window Configurations): Describe the new &optional
parameter to set-window-configuration.

* etc/NEWS (Lisp Changes): Note the new parameter to set-window-configuration.

* src/keyboard.c (read_char_help_form_unwind): Add a new Qnil argument to the
call of Fset_window_configuration.

* src/minibuf.c (read_minibuf): Cons up a Qt with the window configuration in
the argument to record_unwind_protect for the window configuration (twice).

* src/window.c (Fset_window_configuration): Add the new &optional parameter
and document it in the doc string.  At the final do_switch_frame operation,
restore the original frame when DONT-SET-FRAME is non-nil.
(restore_window_configuration): Handle the new parameter when the supplied
argument is a cons.
2020-11-19 10:31:50 +00:00
Stefan Kangas
cb2e34b493 Remove outdated comment about Emacs 20 from viper.el
* lisp/emulation/viper-util.el (viper-chars-in-region): Remove
outdated comment.
2020-11-19 06:42:25 +01:00
Stefan Kangas
b6d2ea05cc Add new variable cperl-tags-file-name
* lisp/progmodes/cperl-mode.el (cperl-tags-file-name): New variable.
(cperl-write-tags): Use above new variable instead of hardcoding
filename "TAGS".  (Bug#8802)
2020-11-19 06:13:43 +01:00
Stefan Kangas
4ee6fa2799 Declare XEmacs compat function in inversion.el obsolete
* lisp/cedet/inversion.el (inversion-require-emacs): Declare obsolete.
2020-11-19 04:37:37 +01:00