1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-15 10:30:25 -08:00
Commit graph

166430 commits

Author SHA1 Message Date
Mattias Engdegård
ef778f5143 Add more function declarations
* lisp/subr.el (buffer-narrowed-p, sha1, match-substitute-replacement)
(version-to-list, version<, version<=, version=)
(function-get, subregexp-context-p, split-string)
(combine-and-quote-strings, split-string-and-unquote)
(replace-regexp-in-string, syntax-after)
(string-trim-left, string-trim):
* lisp/emacs-lisp/subr-x.el (hash-table-empty-p, hash-table-keys)
(hash-table-values, string-glyph-split)
(string-clean-whitespace, string-fill, string-limit)
(string-pixel-width):
* lisp/env.el (substitute-env-vars, substitute-env-in-file-name)
(setenv-internal):
* lisp/emacs-lisp/rx.el (rx-to-string):
* lisp/emacs-lisp/regexp-opt.el (regexp-opt-depth)
(regexp-opt-charset):
Add appropriate declarations: pure, side-effect-free, and/or
important-return-value.
2023-05-26 13:57:02 +02:00
Spencer Baugh
54ac1165bc Support setting PAGER=cat in comint.el (bug#62958)
Paging can be undesirable in comint-derived commands such as
async-shell-command and M-x shell.  It is a frequent footgun for new
Emacs users when they try to run commands which start a pager in such
modes.

Simply adding (setenv "PAGER" "cat") globally is not correct, since
that will break modes like term, which support paging quite well.
It's only and exactly the comint-derived modes which don't need
paging.

* lisp/comint.el (comint-pager): Add. (bug#62958)
(comint-exec-1): Use comint-pager to set PAGER.
2023-05-26 14:29:52 +03:00
Eli Zaretskii
e78318ad2e Merge from origin/emacs-29
aa5158630e Use 'font-lock-extend-region-functions' in python-mode
b7b82ecb2b Fix python-info-docstring-p
f42de74ebe ; * src/lread.c (read0, skip_lazy_string): Fix commentary...
b6b384023a Fix cancellation of Wdired
916c2a19bd Merge branch 'emacs-29' of git.savannah.gnu.org:/srv/git/...
f535c0e49d Handle #@00 in new reader in a compatible way (bug#63722)
40a758f5ce ; Minor fixes in documentation of recently-changed VC com...
c0d7447e9d ; * etc/NEWS: Describe the Cairo XCB option.  (Bug#63589)
4205268675 Don't mark selection request events
9f5249d5c8 Disable cairo-xcb support by default
e5f42706ce * lisp/progmodes/project.el: Move :safe from defcustom to...
3afe4a42e9 * lisp/vc/vc-annotate.el (vc-annotate-mode-menu): Quote v...
b62a2b08b8 Add vc-create/switch/print-branch to menu and update docu...
d292d28229 Fix rare crashes in 'try_window_reusing_current_matrix'
709d902002 Make last Tramp change less invasive
a72a1f24fc ; Fix last change.
5c6517a115 ; * lisp/menu-bar.el (popup-menu): Doc fix.
212884f2bf ; Fix last change.
1b9812af80 ; * etc/PROBLEMS: Document problem with GnuPG 2.4.1.  (Bu...
765edc204d ; Support SQLite3 extensions on macOS
5aadb87d6f Fix 'use-dialog-box-p' and friends

# Conflicts:
#	etc/NEWS
2023-05-26 07:04:03 -04:00
Eli Zaretskii
d115648866 ; Merge from origin/emacs-29
The following commit was skipped:

0abb79ca09 Avoid duplicates when adding package dirs to load-path
2023-05-26 07:03:56 -04:00
Eli Zaretskii
eacee3e536 Merge from origin/emacs-29
6f6071c526 Avoid duplicate load-path entry when generating package a...
117b29c6f6 ; Improve documentation of Isearch command properties
a347b26cba Disable loading SQLite3 extensions when SQLite3 version i...
fe22bf503f ; * lisp/progmodes/project.el (project-switch-use-entire-...
64dbbde3b7 Fix visiting HTML files encoded in iso-2022 variants
5c95239aca ; Fix markup of some treesit vars in Elisp manual.
6ad041939b Support 'isearch-allow-scroll' in 'pixel-scroll-precision...
ecccdc07a0 shr: allow moving between adjacent anchors
504ef25ef3 ; * etc/NEWS: Fix typos.
d6fb868cdd Fix multihop file name expansion in Tramp
dd3e4e14fd Remove obsolete information from Gnus manual
2a5c946f87 Preserve mark in comint-history-isearch
6b60c8142e Fix systemd unit completion for old versions of systemd
8c56557cd9 Fix Skeletons menu-bar menu in Python modes
58eb38cfb4 ; * etc/NEWS: missing definite article
cf40362869 ; * etc/NEWS: PGTK cannot switch to -new automatically (b...
ead3a2abbf Fix loading SQLite extensions
a6bddd1765 ; * etc/NEWS: Fix typos.
f49fe936ab * etc/NEWS: Note dotimes loop variable scoping change (bu...
cec9333dc5 Fix c-ts-mode--top-level-declarator
f571e8f1bb Improve c-ts-mode font-lock for function names (bug#63390)
42a28ffdc2 * lisp/tab-bar.el: Don't use 'minibuffer-selected-window'...
8e61d23f71 Split windows horizontally in places that use split to cr...
459d08c7fe Fix tree-sitter test (bug#63481)
3bc5efb87e ; * lisp/emacs-lisp/benchmark.el (benchmark-progn): Fix d...

# Conflicts:
#	etc/NEWS
2023-05-26 07:03:07 -04:00
Eli Zaretskii
d6f717cd1d Fix emacsclient when there are irrecoverable file-visiting errors
* lisp/server.el (server-process-filter, server-return-error):
Display the error message to be sent to the client as a regular
message, to give the user the opportunity to see it.  Delete the
terminal immediately after sending the error message to the
client, to make sure the terminal's modes are restored.
(Bug#63629)
2023-05-26 13:20:56 +03:00
kobarity
aa5158630e Use 'font-lock-extend-region-functions' in python-mode
* lisp/progmodes/python.el (python-font-lock-extend-region): Change
arguments and return value for 'font-lock-extend-region-functions'.
(python-mode): Change from
'font-lock-extend-after-change-region-function' to
'font-lock-extend-region-functions'.  (Bug#63622)
2023-05-26 12:59:43 +03:00
kobarity
b7b82ecb2b Fix python-info-docstring-p
* lisp/progmodes/python.el (python-info-docstring-p): Stop using
python-rx string-delimiter.

* test/lisp/progmodes/python-tests.el
(python-font-lock-escape-sequence-bytes-newline)
(python-font-lock-escape-sequence-hex-octal)
(python-font-lock-escape-sequence-unicode)
(python-font-lock-raw-escape-sequence): Mark as expected failures
until another bug in 'python-info-docstring-p' is corrected.
(python-info-docstring-p-7): New test.  (Bug#63622)
2023-05-26 12:57:30 +03:00
Eli Zaretskii
f42de74ebe ; * src/lread.c (read0, skip_lazy_string): Fix commentary wording. 2023-05-26 12:30:40 +03:00
Eli Zaretskii
b6b384023a Fix cancellation of Wdired
* lisp/wdired.el (wdired-abort-changes): Call 'dired-revert'.
Patch by Stephen Berman <stephen.berman@gmx.net>.  (Bug#63676)
2023-05-26 12:23:19 +03:00
Eli Zaretskii
916c2a19bd Merge branch 'emacs-29' of git.savannah.gnu.org:/srv/git/emacs into emacs-29 2023-05-26 12:20:26 +03:00
Eshel Yaron
f35648ba0c Add customization options for dictionary-search
Allow users to customize 'dictionary-search' via several new
customization options.

* lisp/net/dictionary.el (dictionary-define-word)
(dictionary-match-word, dictionary-completing-read-word)
(dictionary-dictionaries, dictionary-completing-read-dictionary)
(dictionary-display-definition-in-help-buffer): New functions.
(dictionary-read-word-prompt)
(dictionary-display-definition-function)
(dictionary-read-word-function)
(dictionary-read-dictionary-function)
(dictionary-search-interface): New user options.
(dictionary-search): Use them.
(dictionary-read-dictionary-default)
(dictionary-read-word-default): New functions, extracted from
'dictionary-search'.
* etc/NEWS: Announce.
2023-05-26 12:12:44 +03:00
Mattias Engdegård
f535c0e49d Handle #@00 in new reader in a compatible way (bug#63722)
This was a regression from Emacs 28.

* src/lread.c (skip_lazy_string, read0): Make #@00 read as nil, which
is a quirk from the old reader that we preserve for compatibility.
* test/src/lread-tests.el (lread-skip-to-eof): Verify it.

Reported by Richard Newton.
2023-05-26 10:22:51 +02:00
Eli Zaretskii
40a758f5ce ; Minor fixes in documentation of recently-changed VC commands
* lisp/vc/vc.el (vc-print-branch-log, vc-create-branch)
(vc-create-tag, vc-retrieve-tag, vc-switch-branch): Doc fixes.
* lisp/vc/vc-hooks.el (vc-menu-map): Minor wording change in :help
text.

* doc/emacs/maintaining.texi (VC Change Log, Creating Branches):
Minor wording and markup changes.
2023-05-26 11:09:14 +03:00
Eli Zaretskii
c0d7447e9d ; * etc/NEWS: Describe the Cairo XCB option. (Bug#63589) 2023-05-26 10:07:34 +03:00
Po Lu
4205268675 Don't mark selection request events
* src/pgtkterm.c (mark_pgtkterm): Prevent crash by not marking
selection request events, which don't have Lisp_Object members.
2023-05-26 08:43:18 +08:00
Po Lu
9f5249d5c8 Disable cairo-xcb support by default
* INSTALL (--with-cairo-xcb): Document new option.
* configure.ac (USE_CAIRO_XCB): Implement new option.
2023-05-26 08:41:31 +08:00
Juri Linkov
e5f42706ce * lisp/progmodes/project.el: Move :safe from defcustom to autoload (bug#63469)
(project-vc-ignores, project-vc-merge-submodules)
(project-vc-include-untracked, project-vc-name)
(project-vc-extra-root-markers, project-kill-buffers-display-buffer-list):
Autoload the line that puts 'safe-local-variable' property on defcustom symbol
instead of using the :safe keyword.
2023-05-25 21:40:38 +03:00
Juri Linkov
3afe4a42e9 * lisp/vc/vc-annotate.el (vc-annotate-mode-menu): Quote vc-annotate-backend.
When unquoted it might get the nil value when vc-annotate.el is loaded
in non-vc-controlled buffer (bug#63689).
2023-05-25 21:33:11 +03:00
Juri Linkov
b62a2b08b8 Add vc-create/switch/print-branch to menu and update documentation (bug#63690)
* doc/emacs/maintaining.texi (VC Change Log):
Add 'C-x v b l' (vc-print-branch-log).
(Creating Branches): Add @kindex and @findex for vc-create-branch.
(Switching Branches): Add @kindex and @findex for vc-switch-branch.

* lisp/vc/vc-hooks.el (vc-menu-map): Add menu items for new
commands vc-create-branch and vc-switch-branch, and also
vc-print-branch-log.

* lisp/vc/vc.el (vc-print-branch-log): Improve docstring.
2023-05-25 21:24:23 +03:00
Eli Zaretskii
d292d28229 Fix rare crashes in 'try_window_reusing_current_matrix'
* src/xdisp.c (try_window_reusing_current_matrix): Make sure we
never use a mode-line glyph row to start displaying scrolled-in
rows.  (Bug#63711)
2023-05-25 20:50:46 +03:00
Mattias Engdegård
4b3de748b0 ; eieio-test-persist.el: namespace hygiene
* test/lisp/emacs-lisp/eieio-tests/eieio-test-persist.el
(hash-equal): Rename to `eieio-test--hash-equal`.
2023-05-25 16:06:07 +02:00
Michael Albinus
709d902002 Make last Tramp change less invasive
* lisp/net/tramp.el (tramp-dissect-file-name): Revert last change.
(tramp-handle-file-name-as-directory)
(tramp-handle-file-name-directory): Let-bind `tramp-default-proxies-alist'.
2023-05-25 15:40:45 +02:00
João Távora
bdf852d4bc Eglot: fix execution of CodeAction commands
Reported in
https://github.com/joaotavora/eglot/discussions/1225.

* lisp/progmodes/eglot.el (eglot-execute): Fix typo.
2023-05-25 14:29:45 +01:00
Brian Leung
18d7c955b3 Eglot: Add nickel-mode configuration
* lisp/progmodes/eglot.el (eglot-server-programs): Add nls for nickel-mode.
2023-05-25 14:20:50 +01:00
Eli Zaretskii
a72a1f24fc ; Fix last change. 2023-05-25 08:58:42 +03:00
Eli Zaretskii
5c6517a115 ; * lisp/menu-bar.el (popup-menu): Doc fix. 2023-05-25 08:57:28 +03:00
Mattias Engdegård
af4791b570 Fix apparently wrong delete and delq value discards (bug#61730)
* lisp/startup.el (normal-top-level):
Update process-environment in case the DISPLAY variable comes first.
Also stop iterating over initial-environment once the first DISPLAY
is found.
* lisp/allout.el (allout-get-configvar-values):
* lisp/org/org.el (org-display-inline-remove-overlay):
* lisp/progmodes/gdb-mi.el (gdb-get-location):
* lisp/progmodes/idlwave.el
(idlwave-convert-xml-clean-routine-aliases)
(idlwave-convert-xml-clean-sysvar-aliases):
* lisp/textmodes/reftex.el (reftex-ref-style-toggle):
Update the base variable after performing a destructive deletion,
where it was obvious that this was intended.
2023-05-24 23:01:10 +02:00
Michael Albinus
e3987d7e1a Use `small-temporary-file-directory' in Tramp
* lisp/net/tramp-fuse.el (tramp-fuse-mount-point):
* lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options):
Use `small-temporary-file-directory'.
2023-05-24 20:52:25 +02:00
Andrea Corallo
b2b2be98da Fix nativecomp ICE compiling structure related code (bug#63674)
* lisp/emacs-lisp/cl-macs.el (cl-defstruct): Define the predicate to
be effective at compile time as native comp relies on `cl-typep' that
relies o predicates to work.

* test/src/comp-resources/comp-test-funcs.el (cl-lib): Require.
(comp-test-struct): Define struct.
(comp-test-63674-1-f): Add new test.
2023-05-24 17:20:38 +02:00
Stefan Monnier
b513036770 * lisp/loadup.el: Don't accidentally reduce max-lisp-eval-depth 2023-05-24 09:47:27 -04:00
Mattias Engdegård
73582ed6d4 Use return values of assq-delete-all and assoc-delete-all
* lisp/allout-widgets.el (allout-widgets-mode):
* lisp/progmodes/eglot.el (eglot-handle-notification):
Update variables with the new value, which was probably the intention
here.
2023-05-24 11:30:53 +02:00
Eli Zaretskii
212884f2bf ; Fix last change. 2023-05-23 18:05:07 +03:00
Eli Zaretskii
1b9812af80 ; * etc/PROBLEMS: Document problem with GnuPG 2.4.1. (Bug#63256) 2023-05-23 18:04:24 +03:00
Eli Zaretskii
765edc204d ; Support SQLite3 extensions on macOS
* src/sqlite.c (Fsqlite_load_extension): Support *.dylib
extensions.  (Bug#63653)
2023-05-23 17:53:07 +03:00
Eli Zaretskii
5aadb87d6f Fix 'use-dialog-box-p' and friends
* lisp/subr.el (use-dialog-box-p): Use dialog boxes also when
invoked from some window-system gesture.  (Bug#63655)
(y-or-n-p): Fix the description in the doc string of conditions
under which a dialog box will be used.

* src/fns.c (Fyes_or_no_p): Use the same condition for dialog
boxes as in 'use-dialog-box-p'.  Fix the description in the doc
string of conditions under which a dialog box will be used.

* doc/lispref/minibuf.texi (Multiple Queries, Yes-or-No Queries):
Fix the description of conditions under which a dialog box will be
used.
2023-05-23 17:44:23 +03:00
Andrea Corallo
9ad997cd68 * test/src/comp-tests.el: Add some ret type tests for non builtin types 2023-05-23 16:39:06 +02:00
Andrea Corallo
6c781b5d25 comp: Propagate pre slot access type check
* lisp/loadup.el (max-lisp-eval-depth): Increase
`max-lisp-eval-depth' to 3400.

* lisp/emacs-lisp/comp.el (comp-add-cond-cstrs): Pattern match pre
slot access type check and add constraint.

* lisp/emacs-lisp/comp-cstr.el (comp-cstr-cl-tag-p)
(comp-cstr-cl-tag): New functions.

* lisp/emacs-lisp/comp.el (make-comp-mvar): Add neg parameter.
2023-05-23 16:39:06 +02:00
Andrea Corallo
d03dd07774 comp: Make use of predicates in propagation for non builtin types
* lisp/emacs-lisp/comp-cstr.el (comp-cstr-ctxt): Add `pred-type-h'
slot.
* lisp/emacs-lisp/comp.el (comp-known-predicate-p)
(comp-pred-to-cstr): Update.
2023-05-23 16:39:06 +02:00
Andrea Corallo
f4de81af8f * lisp/emacs-lisp/comp.el (comp-fwprop-call): Extend to understand `record' 2023-05-23 16:39:05 +02:00
Andrea Corallo
92ccb6ba83 comp: Account non builtin types in type hierarchy
* lisp/emacs-lisp/cl-macs.el (cl--struct-all-parents): Add comment.

* lisp/emacs-lisp/cl-preloaded.el (cl--struct-get-class): Likewise.

* lisp/emacs-lisp/comp-cstr.el (comp--cl-class-hierarchy)
(comp--all-classes): New functions.
(comp-cstr-ctxt): Add `typeof-types' field.

* lisp/emacs-lisp/comp-cstr.el (comp-supertypes)
(comp-union-typesets): Update to use non builtin types.
2023-05-23 16:39:05 +02:00
Michael Albinus
87da87730f Improve check for ANSI control escape sequences in Tramp
* lisp/net/tramp-sh.el (tramp-barf-if-no-shell-prompt):
Remove `ansi-color-control-seq-regexp'.

* lisp/net/tramp.el (tramp-terminal-type): Fix docstring.
(tramp-process-one-action): Delete ANSI control escape sequences
in buffer.  (Bug#63539)
2023-05-23 15:32:20 +02:00
Robert Pluim
1d5b164109 Stop adding the package directory to the load path
The generated autoloads files for packages have been updating the
load-path for the last decade.

* lisp/emacs-lisp/package.el (package-activate-1): Don't update
load-path with package directory.
2023-05-23 15:13:50 +02:00
Stefan Monnier
0abb79ca09 Avoid duplicates when adding package dirs to load-path
Do not merge to master, we're going to delete this code there.

* lisp/emacs-lisp/package.el (package-activate-1): Check if the path
we're about to add is already in 'load-path', since package autoload
files have been updating 'load-path' for a decade.
2023-05-23 14:12:21 +02:00
Robert Pluim
6f6071c526 Avoid duplicate load-path entry when generating package autoloads
'file-name-directory' produces a path ending in '/', so that needs to be
run through 'directory-file-name' to avoid duplicate entries in
'load-path'.  (Bug#63625)

* lisp/emacs-lisp/package.el (package-generate-autoloads): Call
'directory-file-name' on the directory of 'load-file-name'.
2023-05-23 14:12:21 +02:00
Eli Zaretskii
117b29c6f6 ; Improve documentation of Isearch command properties
* doc/emacs/display.texi (Scrolling):
* doc/emacs/search.texi (Not Exiting Isearch): Improve
documentation and indexing of 'scroll-command',	'isearch-scroll',
and 'isearch-move' properties.
2023-05-23 14:58:39 +03:00
Eli Zaretskii
a347b26cba Disable loading SQLite3 extensions when SQLite3 version is too old
* src/sqlite.c (HAVE_LOAD_EXTENSION): Define to 1 only if
enabling/disabling extension loading is supported as well.
(load_dll_functions, Fsqlite_load_extension): Condition on
HAVE_LOAD_EXTENSION, not on HAVE_SQLITE3_LOAD_EXTENSION.
(Bug#63653)
2023-05-23 14:30:31 +03:00
Spencer Baugh
d4ff1d7420 Use faster option for running vc-hg status (Bug#63470)
In modern Mercurial, removing the "re:" "-I" "." options provides a
10x-20x speedup because it allows the Rust implementation of "hg
status" to be used.

* lisp/vc/vc-hg.el (vc-hg--program-version): Add.
(vc-hg-dir-status-files): Use --config commands.status.relative=1 to
make paths relative when available.
2023-05-23 01:27:16 +03:00
Eli Zaretskii
fe22bf503f ; * lisp/progmodes/project.el (project-switch-use-entire-map): Doc fix. 2023-05-22 21:31:56 +03:00
Eli Zaretskii
64dbbde3b7 Fix visiting HTML files encoded in iso-2022 variants
* lisp/international/mule.el (sgml-xml-auto-coding-function)
(sgml-html-meta-auto-coding-function): Handle coding-systems whose
coding-system-type is iso-2022.  (Bug#63644)
2023-05-22 21:23:58 +03:00