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

171111 commits

Author SHA1 Message Date
Eli Zaretskii
76fa7f1f2f Fix display of reordered Arabic text
* src/xdisp.c (compute_stop_pos): Fix a year-old thinko in
handling auto-composed characters.  It was introduced as part
of solving bug#62780, which optimized the search for composable
characters.  (Bug#69384)
2024-02-26 19:26:04 +02:00
Po Lu
1687adcb5c ; Delete trailing whitespace
* lisp/net/tramp-androidsu.el
(tramp-androidsu-maybe-open-connection): Delete trailing
whitespace.
2024-02-26 14:13:49 +08:00
Po Lu
babe6a5e94 Introduce a new TRAMP method `androidsu'
* doc/misc/tramp.texi (Quick Start Guide): Document the new
method.

* etc/NEWS (Tramp): Announce new method.

* lisp/net/tramp-adb.el (tramp-adb-handle-file-attributes)
(tramp-adb-handle-directory-files-and-attributes)
(tramp-adb-handle-file-name-all-completions): Properly print
ls's exit status in the presence of a pipe.
(tramp-adb-handle-copy-file): If the androidsu backend is in
use, call cp rather than adb push.
(tramp-adb-send-command): Disable ADB-specific code under
androidsu.
(tramp-adb-send-command-and-check): New argument
COMMAND-AUGMENTED-P.

* lisp/net/tramp-androidsu.el (tramp, tramp-adb, tramp-sh)
(tramp-androidsu-method, add-to-list)
(tramp-androidsu-maybe-open-connection)
(tramp-androidsu-generate-wrapper)
(tramp-androidsu-handle-access-file)
(tramp-androidsu-handle-add-name-to-file)
(tramp-androidsu-handle-copy-directory)
(tramp-androidsu-adb-handle-copy-file)
(tramp-androidsu-adb-handle-delete-directory)
(tramp-androidsu-adb-handle-delete-file)
(tramp-androidsu-handle-directory-file-name)
(tramp-androidsu-handle-directory-files)
(tramp-androidsu-adb-handle-directory-files-and-attributes)
(tramp-androidsu-handle-dired-uncache)
(tramp-androidsu-adb-handle-exec-path)
(tramp-androidsu-handle-expand-file-name)
(tramp-androidsu-handle-file-accessible-directory-p)
(tramp-androidsu-adb-handle-file-attributes)
(tramp-androidsu-handle-file-directory-p)
(tramp-androidsu-handle-file-equal-p)
(tramp-androidsu-adb-handle-file-executable-p)
(tramp-androidsu-adb-handle-file-exists-p)
(tramp-androidsu-handle-file-group-gid)
(tramp-androidsu-handle-file-in-directory-p)
(tramp-androidsu-sh-handle-file-local-copy)
(tramp-androidsu-handle-file-locked-p)
(tramp-androidsu-handle-file-modes)
(tramp-androidsu-adb-handle-file-name-all-completions)
(tramp-androidsu-handle-file-name-as-directory)
(tramp-androidsu-handle-file-name-case-insensitive-p)
(tramp-androidsu-handle-file-name-completion)
(tramp-androidsu-handle-file-name-directory)
(tramp-androidsu-handle-file-name-nondirectory)
(tramp-androidsu-handle-file-newer-than-file-p)
(tramp-androidsu-handle-file-notify-add-watch)
(tramp-androidsu-handle-file-notify-rm-watch)
(tramp-androidsu-handle-file-notify-valid-p)
(tramp-androidsu-adb-handle-file-readable-p)
(tramp-androidsu-handle-file-regular-p)
(tramp-androidsu-handle-file-remote-p)
(tramp-androidsu-handle-file-selinux-context)
(tramp-androidsu-handle-file-symlink-p)
(tramp-androidsu-adb-handle-file-system-info)
(tramp-androidsu-handle-file-truename)
(tramp-androidsu-handle-file-user-uid)
(tramp-androidsu-adb-handle-file-writable-p)
(tramp-androidsu-handle-find-backup-file-name)
(tramp-androidsu-handle-insert-directory)
(tramp-androidsu-handle-insert-file-contents)
(tramp-androidsu-handle-list-system-processes)
(tramp-androidsu-handle-load, tramp-androidsu-handle-lock-file)
(tramp-androidsu-handle-make-auto-save-file-name)
(tramp-androidsu-adb-handle-make-directory)
(tramp-androidsu-handle-make-lock-file-name)
(tramp-androidsu-handle-make-nearby-temp-file)
(tramp-androidsu-adb-handle-make-process)
(tramp-androidsu-sh-handle-make-symbolic-link)
(tramp-androidsu-handle-memory-info)
(tramp-androidsu-handle-process-attributes)
(tramp-androidsu-adb-handle-process-file)
(tramp-androidsu-adb-handle-rename-file)
(tramp-androidsu-adb-handle-set-file-modes)
(tramp-androidsu-adb-handle-set-file-times)
(tramp-androidsu-handle-set-visited-file-modtime)
(tramp-androidsu-handle-shell-command)
(tramp-androidsu-handle-start-file-process)
(tramp-androidsu-handle-substitute-in-file-name)
(tramp-androidsu-handle-temporary-file-directory)
(tramp-androidsu-adb-handle-get-remote-gid)
(tramp-androidsu-adb-handle-get-remote-groups)
(tramp-androidsu-adb-handle-get-remote-uid)
(tramp-androidsu-handle-unlock-file)
(tramp-androidsu-handle-verify-visited-file-modtime)
(tramp-androidsu-handle-write-region)
(tramp-androidsu-file-name-handler-alist)
(tramp-androidsu-file-name-p, tramp-androidsu-file-name-handler)
(tramp-register-foreign-file-name-handler)
(tramp-adb-connection-local-default-ps-profile, shell)
(tramp-unload-hook, tramp-androidsu): New file.
2024-02-26 14:13:14 +08:00
Stefan Monnier
c6f2add964 * lisp/vc/vc-hooks.el (vc-mode): Give a body to the function (bug#69387) 2024-02-25 13:18:08 -05:00
Michael Albinus
e02c4a864f Modify last change acc to comments
* lisp/simple.el (read-passwd-mode): Change `text' entry of icons.
(read-passwd-toggle-visibility): Rename.
(read-passwd-mode):
* lisp/subr.el (read-passwd-map): Adapt callees.
2024-02-25 15:37:06 +01:00
Michael Albinus
39e3fce0d5 'read-passwd' can toggle the visibility of passwords
* doc/lispref/minibuf.texi (Reading a Password):
* etc/NEWS: 'read-passwd' can toggle the visibility of passwords.

* etc/images/README: Mention the new images below.
* etc/images/conceal.pbm:
* etc/images/conceal.svg:
* etc/images/reveal.pbm:
* etc/images/reveal.svg: New images.

* lisp/simple.el (read-passwd--mode-line-buffer)
(read-passwd--mode-line-icon): New defvars.
(read-passwd--toggle-visibility, read-passwd-mode): New defuns.

* lisp/subr.el (read-passwd-map): Add 'TAB' binding.
(read-passwd--hide-password): New defvar.
(read-passwd--hide-password): Rename function from
`read-password--hide-password'.  Adapt callees.  Implement both
hiding and showing the password.  (Bug#69237)
(read-passwd): Call `read-passwd-mode'.
2024-02-25 10:06:09 +01:00
Michael Heerdegen
67ba629a91 ; * lisp/subr.el (if-let, and-let*): Tweak doc strings. (Bug#69108) 2024-02-25 09:40:21 +02:00
Michael Heerdegen
e680827e81 Don't warn about _ not left unused in if-let and alike
The macro expansions did not leave a variable _ unused; this triggered
an irritating compiler warning (bug#69108).

* lisp/subr.el (internal--build-binding): Handle bindings of the form
(_ EXPR) separately.
2024-02-25 09:39:32 +02:00
Juri Linkov
6b800f9adf * lisp/progmodes/project.el (project-any-command): Allow local keymaps.
Use overriding-terminal-local-map instead of overriding-local-map.
This allows using keys from local maps (bug#69242).
2024-02-25 09:32:45 +02:00
Eli Zaretskii
782ff2f826 * nt/cmdproxy.c (_snprintf) [_UCRT]: Redirect to 'snprintf'. 2024-02-25 08:20:44 +02:00
Po Lu
05116eac0c Arrange for dialog boxes during emacsclient requests on Android
* lisp/server.el (server-execute): Bind use-dialog-box-override
if (featurep 'android).

* lisp/subr.el (use-dialog-box-override): New option.
(use-dialog-box-p): Always display dialog boxes if variable is
set.
2024-02-25 11:41:02 +08:00
Stefan Monnier
9a801f0b46 * lisp/progmodes/elisp-mode.el (eval-last-sexp, eval-defun): Fix thinko 2024-02-24 17:52:14 -05:00
Stefan Monnier
0503657a9c * etc/NEWS.25: Add 'obarrayp' as well 2024-02-24 13:12:20 -05:00
Stefan Monnier
5fa6042c73 * etc/NEWS.25: Add missing announcement of 'obarray' package 2024-02-24 12:49:51 -05:00
Mattias Engdegård
de6b1e1efb Replace XSETSYMBOL with make_lisp_symbol
* src/lisp.h (XSETSYMBOL): Remove.  All callers changed to use
make_lisp_symbol.
2024-02-24 18:36:30 +01:00
Stefan Monnier
56beeff143 * src/editfns.c (Fget_pos_property): Fix thinko (bug#69358) 2024-02-24 12:23:41 -05:00
Stefan Monnier
68096a716b (diff-refine-nonmodified): Complete the implementation
* lisp/vc/diff-mode.el (diff--refine-hunk): Implement
`diff-refine-nonmodified` for old-style-context and "normal" diffs.
2024-02-24 11:02:37 -05:00
Eli Zaretskii
3076e79a6a ; Fix a recent change in diff-mode.el
* lisp/vc/diff-mode.el (diff-refine-nonmodified): Doc fix.

* etc/NEWS: Improve wording.
2024-02-24 17:13:47 +02:00
Eli Zaretskii
229b3edb07 Merge from origin/emacs-29
01ebc95114 Fix 'help-quick-toggle'
afe49c7e2a ; * admin/authors.el (authors-aliases): Fix last change.
8b1f10f8cf ; Normalize Morgan Smith's attributions.
70cf4b694b ; * etc/PROBLEMS: Describe input lags due to GTK IM (bug#...
f28a557c7d * doc/lispref/modes.texi (Tabulated List Mode): Update.
d6131b5902 * lisp/net/tramp.el (tramp-methods): Fix typo in docstrin...
2eb85a9de1 ; * lisp/emacs-lisp/pcase.el (pcase-let*, pcase-let): Ano...
4c6653f23a ; * lisp/emacs-lisp/pcase.el (pcase-let*, pcase-let): Doc...
5a64d2c759 java-ts-mode: Indentation for opening brace on a separate...
9e56bd5ed8 Removed decommissioned PGP keyservers
e56f0ef51b org: Fix security prompt for downloading remote resource
65ba327465 Revert "Update to Org 9.6.19"
07a392f445 Update to Org 9.6.19
2024-02-24 06:35:16 -05:00
Mattias Engdegård
eeb89a5cb2 Suppress docstring control char warning in macro-generated function
* lisp/progmodes/cc-defs.el (c-lang-defconst):
Make sure that `val` won't be treated as a docstring.
2024-02-24 12:14:19 +01:00
Eli Zaretskii
4eed2768b1 ; Fix last change. 2024-02-24 13:03:11 +02:00
Mattias Engdegård
1972beda6d ; * etc/NEWS: Recommend obarray-make as correct replacement. 2024-02-24 11:43:28 +01:00
Philip Kaludercic
477eb882b5 Add sml-mode entry to 'eglot-server-programs'
* lisp/progmodes/eglot.el (eglot-server-programs): Use the
"millet" LSP server (https://github.com/azdavis/millet).
2024-02-24 11:04:30 +01:00
Eli Zaretskii
01ebc95114 Fix 'help-quick-toggle'
* lisp/help.el (help-quick-sections): Fix "kill-region" command.
Add a doc string.  (Bug#69345)
2024-02-24 11:59:30 +02:00
Eli Zaretskii
03fce84016 ; Fix last change in lisp.h. 2024-02-24 11:27:12 +02:00
Spencer Baugh
526c262149 Check daemon is initialized before suppressing its init errors
Previously, the default error handler would correctly suppress
unhandled errors raised when IS_DAEMON and the initial frame
was current, since this is the normal state of operation for a
daemon-mode Emacs.  However, this also incorrectly suppressed
errors raised while a daemon-mode Emacs was starting up.

Now, errors raised while a daemon-mode Emacs is starting up will be
handled just like errors when a non-daemon Emacs is starting up.

This was previously the case before changes for bug#1310 and
bug#1836, which added the suppression of errors when IS_DAEMON.
DAEMON_RUNNING didn't exist at the time of those changes, but now
it does, so we can do better.

* src/keyboard.c (Fcommand_error_default_function): Check
!DAEMON_RUNNING in addition to IS_DAEMON.  (Bug#68799)
* src/lisp.h (DAEMON_RUNNING): Add a clarifying comment about
what this #define means.
2024-02-24 11:24:26 +02:00
Eli Zaretskii
a8fe17e49a Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs 2024-02-24 11:23:20 +02:00
Spencer Baugh
0bdd2eb9af Add context to errors thrown by server-start during startup
When server-start errors during startup, the error is printed to
the terminal without context.  To help the user understand
better what went wrong, that printed error now mentions that the
error came from starting up the daemon.

* lisp/startup.el (command-line): Catch and annotate errors
thrown by server-start.  (bug#68799)
2024-02-24 11:19:14 +02:00
Arash Esbati
d1fe392f93 ; Fix compiler warning
* lisp/textmodes/reftex-vars.el (reftex-cite-format-builtin): Fix
character escaping in the docstring.  (bug#69341)
2024-02-24 09:30:16 +01:00
Eli Zaretskii
afe49c7e2a ; * admin/authors.el (authors-aliases): Fix last change. 2024-02-24 09:32:06 +02:00
Morgan Smith
8b1f10f8cf ; Normalize Morgan Smith's attributions. 2024-02-24 09:30:51 +02:00
Eli Zaretskii
15b6d72599 ; * etc/NEWS: How to fix old code that uses vectors as obarrays. 2024-02-24 09:21:35 +02:00
Po Lu
c7a2b7d023 * configure.ac: Detect renameat2 with gl_CHECK_FUNCS_ANDROID. 2024-02-24 11:09:38 +08:00
Emanuel Berg
15a140a246 Make erc-cmd-AMSG session local; add /GMSG, /AME and /GME
* etc/ERC-NEWS: Mention new slash commands.
* lisp/erc/erc.el (erc-cmd-AMSG): Make it consistent with the doc
string by only affecting the current connection.
(erc-cmd-GMSG, erc-cmd-AME, erc-cmd-GME): New IRC slash commands.
* test/lisp/erc/erc-scenarios-misc-commands.el
(erc-scenarios-misc-commands--AMSG-GMSG-AME-GME): New test.
* test/lisp/erc/resources/commands/amsg-barnet.eld: New file.
* test/lisp/erc/resources/commands/amsg-foonet.eld: New file.
(Bug#68401)
2024-02-23 18:45:44 -08:00
F. Jason Park
56706254a8 ; Don't mention erc-branded Compat macros in ERC-NEWS
* doc/misc/erc.texi: Change fancy SASL example to also demonstrate
`let'-binding a local module.
* etc/ERC-NEWS: Don't mention `erc-compat-call' and
`erc-compat-function' because Emacs now ships with a compat.el stub
library.
* lisp/erc/erc-backend.el (erc-decode-parsed-server-response): Add
comments.
* lisp/erc/erc.el (erc): Mention return value.
2024-02-23 18:29:07 -08:00
Po Lu
8d5983aa78 Fix bug#69321
* java/org/gnu/emacs/EmacsWindow.java (onKeyDown, onKeyUp):
Provide Right Alt (Alt Gr) masks to system keymap routines.
(bug#69321)
2024-02-24 10:01:57 +08:00
Po Lu
65d4bf7110 ; * .dir-locals.el (java-mode): Transfer suitable c-mode options. 2024-02-24 10:01:03 +08:00
Stefan Monnier
26290870b3 diff-mode.el (diff-refine-nonmodified): New option
* lisp/vc/diff-mode.el (diff-font-lock-keywords): Refer directly to
font-lock faces.
(diff-apply-hunk): Use `user-error` for errors usually not due to bugs.
(diff--refine-propertize): New function.
(diff-refine-nonmodified): New custom var (bug#61396).
(diff--refine-hunk): Use them.
2024-02-23 17:03:10 -05:00
Stefan Monnier
84f72f19e5 elisp-mode.el: Use handler-bind instead of debug-on-error
* lisp/progmodes/elisp-mode.el (elisp-enable-lexical-binding):
Don't get fooled by a global binding of `lexical-binding` to t.
(elisp--eval-last-sexp-fake-value): Delete var.
(elisp--eval-defun): Don't let-bind `debug-on-error` since it's
already arranged by the only caller.
(eval-last-sexp, eval-defun): Use `handler-bind` instead of
`debug-on-error`.
2024-02-23 16:46:01 -05:00
Stefan Monnier
c0d7f7fc54 Merge remote-tracking branch 'refs/remotes/origin/master' 2024-02-23 11:39:26 -05:00
Stefan Monnier
3599a9a1cf * lisp/mail/rmail.el (rmail-resend): Use with-syntax-table 2024-02-23 11:38:48 -05:00
Stefan Monnier
048eaadd8c rmail.el: Prefer #' to quote function names
* lisp/mail/rmail.el (rmail-pop-to-buffer, rmail-mode-map)
(rmail-mode-1, rmail-generate-viewer-buffer, rmail-variables)
(rmail-find-all-files, rmail-insert-inbox-text)
(rmail-set-message-counters, rmail-only-expunge, rmail-reply)
(rmail-resend, rmail-fontify-buffer-function)
(rmail-unfontify-buffer-function, rmail-install-speedbar-variables)
(after-save-hook): Use #' where applicable.
2024-02-23 11:37:24 -05:00
Stefan Monnier
0b855e1465 (rmail-font-lock-keywords): Avoid old-style font-lock*-face variables
* lisp/mail/rmail.el (rmail-font-lock-keywords): Refer directly to the
font-lock faces.
2024-02-23 11:31:43 -05:00
Robert A. Burks
2b7dc7fef8 Fix Flymake lighter tool-tip from generating errors
Flymake tool-tip was generating errors on mouse over of
mode-line lighter on inactive windows and on the minor mode
indicator in the describe-mode Help page.
* lisp/progmodes/flymake.el (flymake--mode-line-title):
'help-echo' now uses buffer local state and makes null
check.  (Bug#69248)

Copyright-paperwork-exempt: yes
2024-02-23 17:45:40 +02:00
Mattias Engdegård
90d3b3408e Warn about docstrings with control characters
It is easy to include control chars in doc strings by mistake, and the
result is often an unreadable mess.

* lisp/emacs-lisp/bytecomp.el (byte-compile-warning-types)
(byte-compile-warnings, byte-compile--docstring-style-warn):
Add `docstrings-control-chars` warning.
* etc/NEWS: Announce.
2024-02-23 15:16:30 +01:00
Mattias Engdegård
a8f167547b Replace use of obsolete eshell-kill-output in test
* test/lisp/eshell/eshell-tests.el (eshell-test/flush-output):
Use eshell-delete-output instead of eshell-kill-output.
2024-02-23 13:14:18 +01:00
Mattias Engdegård
6803b70c19 Update NEWS and manual after obarray changes
* doc/lispref/abbrevs.texi (Abbrev Tables):
* doc/lispref/symbols.texi (Creating Symbols):
* doc/lispref/objects.texi (Type Predicates): Update text for obarray
now being an opaque type.
* etc/NEWS: Announce.
2024-02-23 13:02:27 +01:00
Mattias Engdegård
3ea77c735d Use the new obarray type for the initial obarray
This can improve performance a lot, especially after the obarray has
been fed many symbols.

* src/lread.c (OBARRAY_SIZE): Remove.
(load_path_check): Create an obarray object instead of a vector.
2024-02-23 13:02:27 +01:00
Mattias Engdegård
462d8ba813 Add a proper type for obarrays
The new opaque type replaces the previous use of vectors for obarrays.
`obarray-make` now returns objects of this type.  Functions that take
obarrays continue to accept vectors for compatibility, now just using
their first slot to store an actual obarray object.

obarray-size and obarray-default-size now obsolete.

* lisp/obarray.el (obarray-default-size, obarray-size):
Declare obsolete.
(obarray-make, obarrayp, obarray-clear): Remove from here.
* src/fns.c (reduce_emacs_uint_to_hash_hash): Remove from here.
* src/lisp.h (struct Lisp_Obarray, OBARRAYP, XOBARRAY, CHECK_OBARRAY)
(make_lisp_obarray, obarray_size, check_obarray)
(obarray_iter_t, make_obarray_iter, obarray_iter_at_end)
(obarray_iter_step, obarray_iter_symbol, DOOBARRAY, knuth_hash): New.
(reduce_emacs_uint_to_hash_hash): Moved here.
* src/lread.c (check_obarray): Renamed and reworked as...
(checked_obarray_slow): ...this.
(intern_sym, Funintern, oblookup, map_obarray)
(Finternal__obarray_buckets): Adapt to new type.
(obarray_index, allocate_obarray, make_obarray, grow_obarray)
(obarray_default_bits, Fobarray_make, Fobarrayp, Fobarray_clear): New.
* etc/emacs_lldb.py (Lisp_Object):
* lisp/emacs-lisp/cl-macs.el (`(,type . ,pred)):
* lisp/emacs-lisp/cl-preloaded.el (cl--typeof-types):
* lisp/emacs-lisp/comp-common.el (comp-known-type-specifiers):
* lisp/emacs-lisp/comp.el (comp-known-predicates):
* src/alloc.c (cleanup_vector, process_mark_stack):
* src/data.c (Ftype_of, syms_of_data):
* src/minibuf.c (Ftry_completion, Fall_completions, Ftest_completion):
* src/pdumper.c (dump_obarray_buckets, dump_obarray, dump_vectorlike):
* src/print.c (print_vectorlike_unreadable):
* test/lisp/abbrev-tests.el (abbrev-make-abbrev-table-test):
* test/lisp/obarray-tests.el (obarrayp-test)
(obarrayp-unchecked-content-test, obarray-make-default-test)
(obarray-make-with-size-test):
Adapt to new type.
2024-02-23 13:02:27 +01:00
Mattias Engdegård
6a182658a5 Add obarray-clear and use it
* lisp/obarray.el (obarray-clear): New.
* lisp/abbrev.el (clear-abbrev-table):
* lisp/vc/vc.el (vc-clear-context): Use it instead of assuming the
obarray is a vector that can be 0-filled.
* test/lisp/obarray-tests.el (obarray-clear): New test.
2024-02-23 13:02:27 +01:00