Commit graph

144095 commits

Author SHA1 Message Date
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
3ceee39819 Fix Bug#44481
* lisp/net/tramp.el (tramp-system-name): New defconst.
(tramp-default-host, tramp-restricted-shell-hosts-alist)
(tramp-local-host-regexp):
* lisp/net/tramp-sh.el (tramp-maybe-open-connection): Use it.  (Bug#44481)
2020-11-21 16:00:17 +01: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
Lars Ingebrigtsen
a824888188 Minor Edebug manual keystroke clarifications
* doc/lispref/edebug.texi (Edebug Misc): Also mention the `a'
binding to abort (bug#44697).  Also fix `d' function reference, and
add `P' reference.

(cherry picked from commit b613f25f97)
2020-11-21 10:27:04 +02: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
Eli Zaretskii
86cbc9d216 Make ignoring modifiers on IME input optional
By default, ignore modifier keys on IME input, but add
a variable to get back old behavior.
* src/w32fns.c (syms_of_w32fns): New variable
w32-ignore-modifiers-on-IME-input.
(w32_wnd_proc): Use it to ignore modifier keys when IME input is
used.  (Bug#44641)

* etc/NEWS: Announce the change and the new variable.
2020-11-21 10:14:55 +02:00
Masahiro Nakamura
32b97bb9e0 Ignore modifiers when processing WM_IME_CHAR messages
* src/w32fns.c (w32_wnd_proc): Ignore modifiers when processing
WM_IME_CHAR messages.
2020-11-21 09:50:22 +02: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
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
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
Eli Zaretskii
f641ef1a07 Improve documentation of 'font-spec'
* doc/lispref/display.texi (Low-Level Font):
* src/font.c (Ffont_spec): Document 'font-spec' keys that are
supported, but were undocumented.
2020-11-19 22:06:23 +02: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
Stefan Kangas
51b9acbecc Assume font-lock is provided; it's preloaded since 22.1
* lisp/cedet/semantic/format.el (semantic--format-colorize-text):
* lisp/eshell/em-ls.el (eshell-ls--insert-directory):
* lisp/net/dig.el (dig-mode):
* lisp/progmodes/cperl-mode.el (cperl-pod-here-fontify):
* lisp/progmodes/idlw-help.el (idlwave-help-fontify):
* lisp/progmodes/idlwave.el (idlwave-completion-fontify-classes):
Don't check for feature 'font-lock; it has been preloaded since 22.1.
* lisp/cedet/semantic/format.el (font-lock):
* lisp/epa.el (font-lock):
* lisp/erc/erc.el (font-lock):
* lisp/generic-x.el (font-lock):
* lisp/net/sieve-mode.el (font-lock):
* lisp/progmodes/prolog.el (font-lock):
* lisp/textmodes/rst.el (font-lock): Remove unnecessary require.
2020-11-19 04:37:37 +01:00
Stefan Kangas
7cda88250f * lisp/progmodes/cperl-mode.el: Doc fix. 2020-11-19 02:58:25 +01:00
Stefan Kangas
0e075c9f91 Remove unnecessary load from idlwave
* lisp/progmodes/idlw-shell.el:
* lisp/progmodes/idlwave.el: Remove unnecessary load; easy-menu-define
is autoloaded.
2020-11-19 02:58:25 +01:00
Stefan Kangas
b5f3a04f47 Make compat alias add-submenu obsolete
* lisp/emacs-lisp/easymenu.el (add-submenu): Make compat alias
obsolete.
* lisp/filesets.el (filesets-build-menu-now): Don't use above
obsolete alias.
(filesets-menu-path, filesets-menu-before)
(filesets-menu-in-menu): Doc fix.
2020-11-19 01:55:28 +01:00