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

160581 commits

Author SHA1 Message Date
Po Lu
ccd0ad72f2 Fix build warning without XKB, Xmb, and XInput 2
* src/xterm.c (handle_one_xevent): Avoid defining
USE_SAFE_ALLOCA when SAFE_ALLOCA is not actually used.
2022-10-19 21:33:05 +08:00
Eli Zaretskii
084ac1e514 ; Fix last change
* lisp/leim/quail/indian.el ("tamil99"):
* etc/NEWS: Minor copyedits of the tamil99 documentation.
2022-10-19 14:40:11 +03:00
Arun Isaac
45ca261c98 Add tamil99 input method (bug#58070)
* lisp/leim/quail/indian.el: Require pcase and seq.
("tamil99"): New input method.
* etc/NEWS: Mention new tamil99 input method.
2022-10-19 14:35:32 +03:00
Stefan Kangas
a9111d8670 Add admin/emacs-shell-lib for shared bash code
* admin/emacs-shell-lib: New file for shared bash code.
* admin/automerge:
* admin/diff-tar-files:
* admin/emacs-shell-lib:
* admin/make-manuals:
* admin/update_autogen:
* admin/upload-manuals: Simplify and improve using above new library.
2022-10-19 13:26:54 +02:00
Stefan Kangas
5247a72aec * lib-src/rcs2log: Add fallback for $TMPDIR. 2022-10-19 08:02:36 +02:00
Stefan Kangas
e42a68720e Merge from origin/emacs-28
efd3ef3ceb ; * src/window.c: Fix some comments.  (Bug#58550)
2022-10-19 06:31:16 +02:00
Randy Taylor
620f18c489 ; * src/xterm.c (mark_xterm): Fix x11 with i18n build 2022-10-19 08:55:44 +08:00
Stefan Monnier
155ddde4dd (sit-for): Add compiler-macro to warn about obsolete calling convention
* lisp/subr.el (sit-for): Add compiler-macro.
* lisp/eshell/esh-util.el (eshell-redisplay):
* lisp/play/zone.el (zone, zone-pgm-jitter, zone-pgm-whack-chars):
(zone-remove-text): Avoid obsolete calling convention.
2022-10-18 18:43:50 -04:00
Lars Ingebrigtsen
2cca6408fd Fix functions.texi syntax error
* doc/lispref/functions.texi (Function Documentation): Fix syntax
error.
2022-10-18 22:17:12 +02:00
Stefan Monnier
254f4766e6 functions.texi: Fix bug#58602
* doc/lispref/functions.texi (Function Documentation): Document
`:documentation` and `function-documentation`.
2022-10-18 16:06:42 -04:00
Juri Linkov
ab1b491f83 * lisp/outline.el (outline-minor-mode-insert-buttons): New defvar-local.
(outline--make-button-overlay, outline--insert-open-button)
(outline--insert-close-button): Insert button when
outline-minor-mode-insert-buttons is non-nil, otherwise
put an overlay with before-string.  (bug#57813)

* lisp/help.el (describe-bindings): Set buffer-local
outline-minor-mode-insert-buttons to t.

* lisp/textmodes/emacs-news-mode.el (emacs-news--mode-common):
Set buffer-local outline-minor-mode-use-margins to t.  Don't set
outline-regexp for leading spaces because now spaces are not added
in the NEWS buffer.
2022-10-18 21:13:29 +03:00
Juri Linkov
a9f183c760 * lisp/outline.el: Use one character wide strings for margins (bug#57813)
(outline-open-in-margins, outline-close-in-margins)
(outline-close-rtl-in-margins): Add 1-char emoji, symbol, text
for margins that are 1-column wide.
(outline-minor-mode): Force display of margins only for the selected buffer.
2022-10-18 21:05:15 +03:00
Michael Albinus
40d2ed9bab * lisp/net/tramp.el (tramp-file-name-equal-p): Fix docstring. 2022-10-18 19:39:34 +02:00
Michael Albinus
cd1a81e572 * etc/NEWS: Adapt connection-local variables entries. 2022-10-18 19:39:23 +02:00
Matt Armstrong
59fc77ee52 * .gitignore: Unignore the tests/manual directory. (Bug#58611) 2022-10-18 18:23:07 +02:00
Stefan Monnier
c5e2566774 (byte-compile--first-symbol-with-pos): Fix bug#58601
* lisp/emacs-lisp/bytecomp.el: Require `subr-x`.
(byte-compile--first-symbol-with-pos): Avoid inf-loops on circular data.
2022-10-18 10:49:43 -04:00
Lars Ingebrigtsen
254536e41b Regenerated ldefs-boot.el 2022-10-18 13:17:59 +02:00
Lars Ingebrigtsen
6cabef8799 Fix previous loaddefs-gen fix 2022-10-18 13:17:52 +02:00
Lars Ingebrigtsen
86581698ac Fix faulty loaddefs detection
* lisp/emacs-lisp/loaddefs-gen.el
(loaddefs-generate--emacs-batch): Fix faulty loaddefs detection.
2022-10-18 13:14:08 +02:00
Alan Mackenzie
baa39e4849 * lisp/progmodes/cc-defs.el Remove setting of inhibit-point-motion-hooks 2022-10-18 10:00:26 +00:00
Lars Ingebrigtsen
9c67e8e56d Regenerate ldefs-boot.el 2022-10-18 11:18:16 +02:00
Andrea Corallo
1a8015b837 * Prevent potential native compilation infinite recursions
* lisp/emacs-lisp/comp.el (comp-no-spawn): New var.
(comp-subr-trampoline-install, comp-final, comp-run-async-workers)
(comp--native-compile): Update.
2022-10-18 10:42:13 +02:00
Jim Porter
0954689cb3 ; Fix some invalid Eshell syntax in an example
* doc/misc/eshell.texi (Expansion):
* etc/NEWS: Fix invalid Eshell syntax.
2022-10-17 21:25:37 -07:00
Jim Porter
fd4992d356 Print the correct $PATH when Eshell's 'which' fails to find a command
* lisp/eshell/esh-cmd.el (eshell/which): Use 'eshell-get-path'
(bug#20008).
2022-10-17 18:48:52 -07:00
Jim Porter
cee1cbfd54 Improve handling of $PATH in Eshell for remote directories
* lisp/eshell/esh-util.el (eshell-path-env, eshell-parse-colon-path):
Make obsolete.
(eshell-path-env-list): New variable.
(eshell-connection-default-profile): New connection-local profile.
(eshell-get-path): Reimplement using 'eshell-path-env-list'; add
LITERAL-P argument.
(eshell-set-path): New function.

* lisp/eshell/esh-var.el (eshell-variable-aliases-list): Add entry for
$PATH.
(eshell-var-initialize): Add 'eshell-path-env-list' to
'eshell-subcommand-bindings'.

* lisp/eshell/esh-ext.el (eshell-search-path): Use 'file-name-concat'
instead of 'concat'.
(eshell/addpath): Use 'eshell-get-path' and 'eshell-set-path'.

* lisp/net/tramp-integration.el: Only apply Eshell hooks when
'eshell-path-env-list' is unbound.

* test/lisp/eshell/esh-var-tests.el
(esh-var-test/path-var/local-directory)
(esh-var-test/path-var/remote-directory, esh-var-test/path-var/set)
(esh-var-test/path-var/set-locally)
(esh-var-test/path-var-preserve-across-hosts): New tests.

* test/lisp/eshell/esh-ext-tests.el: New file.

* test/lisp/eshell/eshell-tests-helpers.el
(with-temp-eshell): Set 'eshell-last-dir-ring-file-name' to nil.
(eshell-tests-remote-accessible-p, eshell-last-input)
(eshell-last-output): New functions.
(eshell-match-output, eshell-match-output--explainer): Use
'eshell-last-input' and 'eshell-last-output'.

* doc/misc/eshell.texi (Variables): Document $PATH.

* etc/NEWS: Announce this change (bug#57556).
2022-10-17 18:48:52 -07:00
Jim Porter
7c41016fca Allow setting the values of variable aliases in Eshell
This makes commands like "COLUMNS=40 some-command" work as expected.

* lisp/eshell/esh-cmd.el (eshell-subcommand-bindings): Remove
'process-environment' from here...

* lisp/eshell/esh-var.el (eshell-var-initialize): ... and add to here,
along with 'eshell-variable-aliases-list'.
(eshell-inside-emacs): Convert to a 'defvar-local' to make it settable
in a particular Eshell buffer.
(eshell-variable-aliases-list): Make $?, $$, and $* read-only and
update docstring.
(eshell-set-variable): New function...
(eshell-handle-local-variables, eshell/export, eshell/unset): ... use
it.
(eshell/set, pcomplete/eshell-mode/set): New functions.
(eshell-get-variable): Get the variable alias's getter function when
appropriate and use a safer method for checking function arity.

* test/lisp/eshell/esh-var-tests.el (esh-var-test/set/env-var)
(esh-var-test/set/symbol, esh-var-test/unset/env-var)
(esh-var-test/unset/symbol, esh-var-test/setq, esh-var-test/export)
(esh-var-test/local-variables, esh-var-test/alias/function)
(esh-var-test/alias/function-pair, esh-var-test/alias/string)
(esh-var-test/alias/string/prefer-lisp, esh-var-test/alias/symbol)
(esh-var-test/alias/symbol-pair, esh-var-test/alias/export)
(esh-var-test/alias/local-variables): New tests.

* doc/misc/eshell.texi (Built-ins): Add 'set' and update 'unset'
documentation.
(Variables): Expand documentation of how to get/set variables.
2022-10-17 18:48:52 -07:00
Jim Porter
f1caa10f04 ; Obsolete 'eshell/define'
* lisp/eshell/esh-var.el (eshell/define): Make obsolete, and explain
its current state.

* doc/misc/eshell.texi (Built-ins): Remove 'define'.
2022-10-17 18:48:52 -07:00
Jim Porter
2c82530f47 ; Allow ignoring errors when calling 'eshell-match-command-output'
* test/lisp/eshell/eshell-tests-helpers.el
(eshell-match-command-output): New argument IGNORE-ERRORS.

* test/lisp/eshell/esh-var-tests.el
(esh-var-test/last-status-var-lisp-command)
(esh-var-test/last-status-var-lisp-form)
(esh-var-test/last-status-var-lisp-form-2): Ignore errors when calling
'eshell-match-command-output'.
2022-10-17 18:48:52 -07:00
Jim Porter
3cc356abfe Add helpers to dynamically assign connection-local values
* lisp/files-x.el (connection-local-criteria)
(connection-local-profile-name-for-setq): New variables.
(with-connection-local-variables-1): ... let-bind them here.
(connection-local-update-profile-variables)
(connection-local-profile-name-for-criteria): New functions.
(with-connection-local-application-variables, setq-connection-local):
New macros.

* test/lisp/files-x-tests.el: Require 'tramp-integration'
(files-x-test--variable5, remote-lazy-var): New variables.
(files-x-test-hack-connection-local-variables-apply): Expand checks.
(files-x-test-with-connection-local-variables): Remove
'hack-connection-local-variables-apply' check (it belongs in the above
test), and expand some other checks.
(files-x-test--get-lazy-var, files-x-test--set-lazy-var): New
functions.
(files-x-test-connection-local-update-profile-variables)
(files-x-test-setq-connection-local): New tests.

* doc/lispref/variables.texi (Connection Local Variables): Split into
two subsections and document the new features.

* etc/NEWS: Announce 'setq-connection-local'.
2022-10-17 18:48:52 -07:00
Jim Porter
1beb389e47 ; Remove over-quoting of :application values in connection-local variables
* test/lisp/files-x-tests.el (files-x-test--application)
(files-x-test--another-application):
* doc/lispref/variables.texi (Connection Local Variables): Remove
extra quotes.
2022-10-17 18:48:52 -07:00
Paul Eggert
f4442d49f6 Improve ‘random’ doc re nonces
* doc/lispref/numbers.texi (Random Numbers): Improve coverage of
random seed, entropy pools, and why one shouldn’t use ‘random’ for
nonces.  See Bug#58472.
2022-10-17 18:35:31 -07:00
Po Lu
0dbd1dbe7d Fix bug#58584
* src/xterm.c (x_handle_selection_monitor_event): Return if
selection event is one Emacs asked for.
(handle_one_xevent): In that case, drop the event and don't let
it reach GTK.
2022-10-18 08:53:43 +08:00
Dmitry Gutov
be3d9f717d ; Fix comment 2022-10-18 02:49:21 +03:00
Dmitry Gutov
5e77265523 Follow-up fixes for vc-default-checkin-patch
* lisp/vc/vc.el (vc-default-checkin-patch):
Call vc-revert-file on buffer-file-name (vc-backend failed on
relative name sometimes).  Delete the tmp dir after copying all
files back, not just the first one.  Bug#52349,
https://lists.gnu.org/archive/html/emacs-devel/2022-10/msg01446.html.
2022-10-18 02:35:05 +03:00
Alan Mackenzie
c2b79d9148 CC Mode: Don't fontify as types variables with the same names as struct tags
This fixes bug #58534.

* lisp/progmodes/cc-engine.el (c-forward-type): Only regard "struct" keywords
which create self contained types (e.g. C++'s "typename") as creating found
types.

* lisp/progmodes/cc-langs.el (c-self-contained-typename-kwds
(c-self-contained-typename-key): New language consts and variable.
2022-10-17 20:33:26 +00:00
Stefan Kangas
1e9341672d Prefer defvar-keymap in fortran.el
* lisp/progmodes/fortran.el (fortran-mode-map): Prefer
defvar-keymap.
2022-10-17 20:24:55 +02:00
Stefan Kangas
1dd6ad6990 Update version information in Gnus manual
* doc/misc/gnus.texi (Gnus Versions): Update with some information
from https://www.gnus.org/history.html
(Ma Gnus): Explain that Gnus is now developed together with
Emacs.  (Bug#58161)
2022-10-17 20:13:22 +02:00
Basil L. Contovounesios
dd7f1bb3a1 Silence recent comp-tests.el lexvar warnings
* test/lisp/emacs-lisp/comp-tests.el: Mark used native-compile
variables as special to pacify unknown lexvar warnings in the
default build.
(with-test-native-compile-prune-cache): Instrument macro arguments
for debugging and indent conventionally.  Reindent all callers.
(test-native-compile-prune-cache/dont-delete-in-parent-of-cache):
Simplify file name expansion.
2022-10-17 21:02:26 +03:00
Stefan Kangas
eff4a4f49a Improve native-compile-prune-cache messages
* lisp/emacs-lisp/comp.el (native-compile-prune-cache): Quote name of
pruned directory.
2022-10-17 15:28:25 +02:00
Stefan Kangas
40b734c500 Don't prune *.eln files in parent of eln-load-path
* lisp/emacs-lisp/comp.el (native-compile-prune-cache): Don't
prune *.eln files in parent directory of `native-comp-eln-load-path'.
* test/lisp/emacs-lisp/comp-tests.el
(test-native-compile-prune-cache/dont-delete-in-parent-of-cache):
New test.
2022-10-17 15:26:34 +02:00
Stefan Kangas
24b85b10e3 Add tests for native-compile-prune-cache
* test/lisp/comp-tests.el: New file.
2022-10-17 15:26:34 +02:00
Po Lu
abf683bb03 Fix pieces of code being too expensive over slow network connections
* lisp/menu-bar.el (menu-bar-edit-menu): Test buffer-read-only
before gui-backend-selection-exists-p.  This places the less
expensive condition before the more expensive one.
* src/xfns.c (compute_tip_xy): Use cached monitor attributes
whenever available.
(Fx_show_tip): Remove code that really did nothing.
(Fx_backspace_delete_keys_p): Do not download the entire keymap
from the server upon creating a frame.
* src/xmenu.c (create_and_show_popup_menu): Use
x_translate_coordinates_to_root.
(x_menu_show): Use x_translate_coordinates_to_root.
* src/xselect.c (Fx_selection_exists_p): If a temporary
selection owner can be found, use it.
* src/xterm.c (x_translate_coordinates_to_root)
(x_handle_selection_monitor_event, x_find_selection_owner): New
functions.  These functions try to avoid downloading data from
the X server in places that are called very often (i.e. during
tool bar updates.)
(handle_one_xevent): Handle selection notify events.  Also catch
some mistakes found.  Fetch all kinds of key names as well.
(x_create_special_window): New function.
(x_term_init, x_delete_display): Ask for all key names.  Also,
passively monitor selections that are given to
`x-selection-exists-p' during redisplay, so we do not have to
ask the server about them upon each redisplay.
(syms_of_xterm): New variable `x-fast-selection-list'.
* src/xterm.h (struct x_monitored_selection): New structure.
(X_INVALID_WINDOW): New define.
(struct x_display_info): New fields for selection monitoring.
Also, record the fixes extension base.
2022-10-17 21:00:09 +08:00
Lars Ingebrigtsen
b9aff5fdb8 Fix spurious "Compilation finished" native-comp messages
* lisp/emacs-lisp/comp.el (native--compile-async): Don't start the
async compilation if we didn't add anything.  This avoids spurious
"Compilation finished" messages in the *Async* buffer when it
turned out that all the files we considered nativecomping were
skipped.
2022-10-17 14:30:54 +02:00
Manuel Giraud
efd3ef3ceb ; * src/window.c: Fix some comments. (Bug#58550) 2022-10-17 13:51:39 +03:00
Lars Ingebrigtsen
5176d00611 Avoid having the async compile log saying it's compiling loaddefs
* lisp/loadup.el (featurep): Define the hash table in nativecomp
builds (but not otherwise).  A more natural place to define this
would be in comp.el, but comp.el isn't loaded yet when we load the
.elc file that updates comp--no-native-compile.  We could change
the load order and move the definition to comp.el, though.

* lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Allow
inhibiting nativecomp earlier (bug#57627).

* lisp/emacs-lisp/comp.el (native-compile-async-skip-p): Use the data.
2022-10-17 10:48:20 +02:00
Stefan Kangas
44541c7854 Make `message-canlock-generate' faster
* lisp/gnus/message.el (message-canlock-generate): Improve performance
by several orders of magnitude.
2022-10-17 08:03:00 +02:00
Dmitry Gutov
4a6ad6e18f Add default implementation for 'checkin-patch'
* lisp/vc/vc.el (vc-default-checkin-patch):
Add default implementation for 'checkin-patch' (bug#52349).
The first attempt was here:
https://lists.gnu.org/archive/html/emacs-devel/2022-08/msg01464.html
2022-10-17 02:46:02 +03:00
Stefan Monnier
13d6e8fa54 cl-generic: Fix advertised-calling-convention declarations
* lisp/emacs-lisp/cl-generic.el (cl-generic-define-method):
Preserve the `advertised-calling-convention`, if any (bug#58563).

* lisp/subr.el (declare): Warn when we hit this.

* lisp/emacs-lisp/byte-run.el (get-advertised-calling-convention): New fun.
* lisp/progmodes/elisp-mode.el (elisp-get-fnsym-args-string):
* lisp/help-fns.el (help-fns--signature):
* lisp/emacs-lisp/bytecomp.el (byte-compile-fdefinition): Use it.

* test/lisp/emacs-lisp/cl-generic-tests.el (cl-generic-tests--acc): New fun.
(cl-generic-tests--advertised-calling-convention-bug58563): New test.
2022-10-16 12:01:47 -04:00
kobarity
0e5fc2345d Move and rename Python completion ERTs
* test/lisp/progmodes/python-tests.el
(python-shell-completion-at-point-1)
(python-shell-completion-at-point-native-1)
(python-completion-at-point-1)
(python-completion-at-point-2, python-completion-at-point-pdb-1)
(python-completion-at-point-native-1)
(python-completion-at-point-native-2)
(python-completion-at-point-native-with-ffap-1)
(python-completion-at-point-native-with-eldoc-1): Renamed tests
(bug#58565).
2022-10-16 15:26:49 +02:00
Stefan Kangas
494ccec94e Prefer defvar-keymap in ansi-osc.el
* lisp/ansi-osc.el (ansi-osc-hyperlink-map): Prefer defvar-keymap.
2022-10-16 13:53:37 +02:00