aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Update NEWS and manual after obarray changesscratch/obarrayMattias Engdegård2024-02-174-40/+46
| | | | | | | | * 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.
* Use the new obarray type for the initial obarrayMattias Engdegård2024-02-171-4/+1
| | | | | | * src/lread.c (OBARRAY_SIZE): Remove. (load_path_check): Create an obarray object instead of a vector. The initial size is less important because it will grow as needed.
* Add a proper type for obarraysMattias Engdegård2024-02-1716-218/+475
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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, obarray_bucket, 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.
* Add obarray-clear and use itMattias Engdegård2024-02-173-3/+7
| | | | | | | * 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.
* Use obarrayp, not vectorp, to detect obarraysMattias Engdegård2024-02-175-11/+11
| | | | | | | | | | | | * lisp/abbrev.el (abbrev--active-tables): * lisp/mail/mailabbrev.el (mail-abbrevs-setup, build-mail-abbrevs) (define-mail-abbrev, mail-resolve-all-aliases) (mail-abbrev-insert-alias): * lisp/mail/rmail.el (rmail-resend): * lisp/minibuffer.el (completion-table-with-context): * lisp/progmodes/etags.el (etags-tags-apropos-additional): (etags--xref-apropos-additional): Use obarrayp as predicate for obarrays.
* Use obarray-make instead of make-vector to create obarraysMattias Engdegård2024-02-1717-29/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This way, we can use a new type. * lisp/cedet/semantic/lex-spp.el (semantic-lex-spp-dynamic-map) (semantic-lex-spp-dynamic-map-stack, semantic-lex-make-spp-table): * lisp/cedet/semantic/lex.el (semantic-lex-make-keyword-table) (semantic-lex-make-type-table): * lisp/completion.el (cmpl-prefix-obarray, cmpl-obarray) (clear-all-completions): * lisp/emacs-lisp/checkdoc.el (checkdoc-defun-info): * lisp/emacs-lisp/eldoc.el (eldoc-message-commands) (eldoc-edit-message-commands): * lisp/mail/mail-extr.el (mail-extr-all-top-level-domains): * lisp/mail/rmailkwd.el (rmail-label-obarray): * lisp/net/dns.el (dns-cache): * lisp/net/eww.el (eww-suggested-uris): * lisp/net/imap.el (imap-open, imap-mailbox-select-1) (imap-message-copyuid-1, imap-message-appenduid-1): * lisp/obsolete/pgg.el (pgg-passphrase-cache, pgg-pending-timers): * lisp/play/cookie1.el (cookie-cache): * lisp/progmodes/cc-defs.el (c-lang-constants, c-define-lang-constant): * lisp/progmodes/cc-langs.el (c-keywords-obarray): * lisp/vc/vc-hooks.el (vc-file-prop-obarray): * test/lisp/obarray-tests.el (obarrayp-test): * test/src/minibuf-tests.el (minibuf-tests--strings-to-obarray): Use obarray-make instead of obarray-make.
* ; Fix typo from commit 32c5bdfa971Philip Kaludercic2024-02-171-1/+1
| | | | | * lisp/gnus/gnus-util.el (gnus-not-ignore): Quote the argument to defalias.
* Provide better default value for date in Gnus scoringJakub Ječmínek2024-02-171-3/+8
| | | | | | | | Bug#61002, thanks to Kamil Jońca for reporting * lisp/gnus/gnus-score.el (gnus-summary-score-entry): When scoring on Date header, the default value for the prompt should be number of days between the date of the article under point, and "now".
* Alias some gnus-specific do-nothing functionsEric Abrahamsen2024-02-172-10/+6
| | | | | | | Replace with #'always and #'ignore * lisp/gnus/gnus-agent.el: `gnus-agent-true' and `gnus-agent-false' * lisp/gnus/gnus-util.el: `gnus-not-ignore'
* ; Fix markup in last change (bug#68929).Eli Zaretskii2024-02-171-1/+1
|
* Add manual entries for which-keyJeremy Bryant2024-02-172-1/+7
| | | | | * doc/emacs/display.texi (Display Custom): Briefly introduce which-key. * doc/emacs/help.texi (Key Help): Briefly mention which-key.
* ; Don't use non-ASCII characters in C comments in xdisp.c.Eli Zaretskii2024-02-171-1/+1
|
* Merge from origin/emacs-29Eli Zaretskii2024-02-179-189/+208
|\ | | | | | | | | | | | | | | | | | | | | | | | | 45f9af61b8e Remove references to phst@google.com. 7256690a3ca * BUGS: Note how to report critical security issues. 1035669b38b Add cross-reference to ELisp manual Caveats 61a14507627 Improve directory prompt used by package-vc-checkout 0c7c8210cb6 Minor Tramp doc adaption df243f785d4 Merge branch 'emacs-29' of git.sv.gnu.org:/srv/git/emacs ... 17a395e04c6 ;; Fix typo in the Tramp documentation 614b244a7fa * Improve reproducibility of inferred values by native comp 9f9da26e0dc Handle typescript ts grammar breaking change for function... 717d8c4285f Don't quote 't' in doc strings
| * Remove references to phst@google.com.Philipp Stephani2024-02-161-2/+1
| | | | | | | | | | | | | | I don't work for Google any more, so I'll use my private address going forward. * .mailmap: Remove references to phst@google.com.
| * * BUGS: Note how to report critical security issues.Stefan Kangas2024-02-151-0/+4
| |
| * Add cross-reference to ELisp manual CaveatsStefan Kangas2024-02-151-3/+3
| | | | | | | | | | | | * doc/lispref/intro.texi (Caveats): Add cross-reference to Emacs manual. Talking about "contributing code" makes little sense in a section about reporting mistakes in the ELisp manual, so skip that part.
| * Improve directory prompt used by package-vc-checkoutJoseph Turner2024-02-141-2/+2
| | | | | | | | | | * lisp/emacs-lisp/package-vc.el (package-vc--read-package-name): Use read-directory-name instead of read-file-name. (Bug#66114)
| * Minor Tramp doc adaptionMichael Albinus2024-02-142-5/+5
| | | | | | | | | | | | | | * doc/misc/tramp.texi (Frequently Asked Questions): Be more precise with FIDO2 keys. * lisp/net/tramp.el: Adapt comments.
| * Merge branch 'emacs-29' of git.sv.gnu.org:/srv/git/emacs into emacs-29Michael Albinus2024-02-123-176/+192
| |\
| | * * Improve reproducibility of inferred values by native compAndrea Corallo2024-02-111-0/+2
| | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/comp-cstr.el (comp-normalize-valset): Do not try to reorder conses using 'sxhash-equal' as its behavior is not reproducible over different sessions.
| | * Handle typescript ts grammar breaking change for function_expressionLoïc Lemaître2024-02-111-174/+188
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Starting from version 0.20.4 of the typescript/tsx grammar, "function" becomes "function_expression". The right expression is used depending on the grammar version. * lisp/progmodes/typescript-ts-mode.el (tsx-ts-mode--font-lock-compatibility-function-expression): New function (bug#69024). (typescript-ts-mode--font-lock-settings): Use it. Copyright-paperwork-exempt: yes
| | * Don't quote 't' in doc stringsEli Zaretskii2024-02-101-2/+2
| | | | | | | | | | | | | | | * lisp/outline.el (outline-minor-mode-use-buttons): Doc fix. Patch by Arash Esbati <arash@gnu.org>. (Bug#69012)
| * | ;; Fix typo in the Tramp documentationDaniel Martín2024-02-121-1/+1
| |/
* | ; Fix last changeEli Zaretskii2024-02-172-5/+8
| | | | | | | | | | | | * doc/misc/epa.texi (Cryptographic operations on regions): Fix wording of the 'epa-keys-select-method's documentation. * lisp/epa.el (epa-keys-select-method): Doc fix (bug#69133).
* | Make key selection method configurable in EPA.Aleksandr Vityazev2024-02-173-1/+47
| | | | | | | | | | | | | | | | | | * lisp/epa.el (epa-keys-select-method): New defcustom. (epa--select-keys-in-minibuffer): New function. (epa-select-keys): Use new option and function. * etc/NEWS: Announce it. * doc/misc/epa.texi (Key Management): Document it. (Bug#69133)
* | Eagerly indent first field in tables in 'lua-ts-mode'john muhl2024-02-171-0/+2
| | | | | | | | | | | | * lisp/progmodes/lua-ts-mode.el (lua-ts--simple-indent-rules): Properly indent the first field of a table when it appears on a line by itself. (Bug#69088)
* | Support shebang lines with amended environmentKévin Le Gouguec2024-02-172-2/+7
| | | | | | | | | | | | | | | | | | For bug#64939. * lisp/files.el (auto-mode-interpreter-regexp): Account for possible VARIABLE=[VALUE] operands. * test/lisp/files-tests.el (files-tests-auto-mode-interpreter): Add an example from the coreutils manual.
* | Support more complex env invocations in shebang linesKévin Le Gouguec2024-02-172-2/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is not an exact re-implementation of what env accepts, but hopefully it should be "good enough". Example of known limitation: we assume that arguments for --long-options will be set with '=', but that is not necessarily the case. '--unset' (mandatory argument) can be passed as '--unset=VAR' or '--unset VAR', but '--default-signal' (optional argument) requires an '=' sign. For bug#64939. * lisp/files.el (auto-mode-interpreter-regexp): Account for supplementary arguments passed beside -S/--split-string. * test/lisp/files-tests.el (files-tests-auto-mode-interpreter): Test some of these combinations.
* | Refine shebang tests (bug#64939)Kévin Le Gouguec2024-02-171-18/+27
| | | | | | | | | | | | | | | | * test/lisp/files-tests.el (files-tests--check-shebang): For shell-script modes, verify that the correct shell is set. (files-tests-auto-mode-interpreter): Prefer 'sh-base-mode' to 'sh-mode' to stay tree-sitter-agnostic; re-organize test cases to make future ones easier to add.
* | Use modern fallback for channel name detection in ERCF. Jason Park2024-02-163-35/+44
| | | | | | | | | | | | | | | | | | | | | | | | * lisp/erc/erc-backend.el (erc-query-buffer-p): Remove forward declaration. * lisp/erc/erc.el (erc-query-buffer-p): Defer to `erc-channel-p'. (erc-channel-p): Refactor and use `erc--fallback-channel-prefixes' for the default CHANTYPES value. Honor an empty CHANTYPES value as valid, e.g., for servers that only support direct messages. (erc--fallback-channel-prefixes): New variable to hold fallback CHANTYPES prefixes recommended by RFC1459 and modern authorities on the matter. * test/lisp/erc/erc-tests.el (erc-channel-p): Revise test. (Bug#67220)
* | Normalize ISUPPORT params with empty values in ERCF. Jason Park2024-02-162-16/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/erc/erc-backend.el (erc-server-parameters) (erc--isupport-params): Mention parsing and storage behavior regarding nonstandard "FOO=" tokens. (erc--parse-isupport-value): Move comment closer to code. (erc--get-isupport-entry): Treat the empty string as truly null, as prescribed by the Brocklesby draft cited in the top-level comment. * test/lisp/erc/erc-tests.el (erc--get-isupport-entry): Add case for the empty string appearing as a value for an `erc-server-parameters' item. (erc-server-005): Assert compat-related behavior of retaining the empty string as a valid value from a raw "FOO=" token. (Bug#67220)
* | Ignore the TGT-LIST parameter in erc-openF. Jason Park2024-02-162-23/+26
| | | | | | | | | | | | | | * etc/ERC-NEWS: Mention `erc-open' now ignores TGT-LIST. * lisp/erc/erc.el (erc-open): Set `erc-default-recipients' to a list containing only the supplied target. Other values may cause ERC to malfunction. Also redo doc string.
* | Make erc-fill-wrap depend on scrolltobottomF. Jason Park2024-02-163-31/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/erc/erc-fill.el (erc-fill-mode): Add reference to `erc-fill-wrap-mode' in doc string. (erc--fill-wrap-scrolltobottom-exempt-p): New variable to allow tests involving `fill-wrap' to opt out of having to enable `scrolltobottom'. (erc-fill--wrap-ensure-dependencies): Warn and enable `erc-scrolltobottom-mode' if necessary. (erc-fill-wrap-mode): Mention workaround for automatically enabling `scrolltobottom'. * test/lisp/erc/erc-fill-tests.el (erc-fill-tests--wrap-populate): Exempt tests from `scrolltobottom' dependency. * test/lisp/erc/resources/erc-scenarios-common.el: Load `erc-fill' when compiling. (erc-scenarios-common--print-trace): Exempt tests using `fill-wrap' from the `scrolltobottom' dependency by making `erc--fill-wrap-scrolltobottom-exempt-p' non-nil during test runs. (Bug#60936)
* | Autoload custom-loads for new Custom groups in erc.elF. Jason Park2024-02-161-0/+7
| | | | | | | | | | | | | | | | * lisp/erc/erc.el: Add `custom-loads' library features for group symbols `erc-spelling' and `erc-imenu' since they aren't defined in all supported Emacs versions. Also add groups `erc-sasl' and `erc-nicks', new libraries recently added to ERC. Note that this is unrelated to prefixes generated for the help system. (Bug#68943)
* | ; Load erc-compat before ert-x in ERC testsF. Jason Park2024-02-1610-16/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Avoid eager macro-expansion error in tests files on Emacs 27 and 28 by ensuring definitions provided by Compat, like `macroexp-file-name', load first. * lisp/erc/erc-speedbar.el (erc-speedbar--reset-last-ran-on-timer): Suppress "`buffer-local-value' is an obsolete generalized variable" warning on Emacs 29 and below. * lisp/erc/erc-stamp.el (erc-stamp--time-as-day): Avoid "unused lexical variable `current-time-list'" warning on 28 and below. * lisp/erc/erc.el (erc-check-text-conversion): Add `defvar' for `text-conversion-style' to avoid "reference to free variable" warning on Emacs 29 and below. * test/lisp/erc/erc-button-tests.el: Load `erc-button' before `ert-x'. * test/lisp/erc/erc-fill-tests.el: Load `erc-fill' before `ert-x'. * test/lisp/erc/erc-goodies-tests.el: Load `erc-goodies' before `ert-x'. * test/lisp/erc/erc-networks-tests.el: Explicitly load `erc-compat' before anything else. * test/lisp/erc/erc-scenarios-base-renick.el: Update timeouts. * test/lisp/erc/erc-stamp-tests.el: Load `erc-stamp' before `ert-x'. * test/lisp/erc/erc-tests.el: Load `erc-ring' before `ert-x'.
* | Remove "erc-" prefixed Compat definitionsF. Jason Park2024-02-162-44/+4
| | | | | | | | | | | | | | | | | | * lisp/erc/erc-compat.el: Remove NO-ERROR argument from top-level `require' for library `compat' because it's guaranteed to be present. (erc-compat-function, erc-compat-call): Redefine as obsolete aliases for unprefixed namesakes. * lisp/erc/erc-fill.el (erc-fill-wrap-nudge): Use `compat-call' instead of `erc-compat-call'.
* | * java/debug.sh: Print errors correctly if device is ambiguous.Po Lu2024-02-171-5/+8
| |
* | Properly record mtime after insert-file-contents on AndroidPo Lu2024-02-171-1/+9
| | | | | | | | | | * src/fileio.c (write_region): Do not verify file identity after retreiving file status for the second time if st_ino is 0.
* | * src/androidvfs.c (android_scan_directory_tree): Get rid of xstrdup.Po Lu2024-02-161-13/+11
| |
* | * lisp/loadup.el (lexical-binding): Add a commentStefan Monnier2024-02-161-0/+2
| |
* | When deleting output in Eshell, optionally add it to the kill ring.Tomas Volf2024-02-151-5/+13
| | | | | | | | | | | | | | | | * lisp/eshell/esh-mode.el (eshell-kill-output): Rename to... (eshell-delete-output): ... this, for consistency with 'comint-mode', and accept KILL argument. Update callers. Copyright-paperwork-exempt: yes
* | (tex-font-lock-keywords-1): Fix bug#68827Stefan Monnier2024-02-151-4/+7
| | | | | | | | | | * lisp/textmodes/tex-mode.el (tex-font-lock-keywords-1): Don't apply `tex-verbatim` in comments.
* | ; * lisp/emacs-lisp/comp.el (comp--write-bytecode-file): Add comment.Andrea Corallo2024-02-151-0/+1
| |
* | project-or-external-find-regexp: Fix the docstringDmitry Gutov2024-02-151-3/+1
| | | | | | | | | | * lisp/progmodes/project.el (project-or-external-find-regexp): Fix the docstring (bug#68958).
* | Fix the MS-DOS buildPo Lu2024-02-152-2/+4
| | | | | | | | | | | | | | | | * configure.ac (REQUIRE_GNUISH_STRFTIME_AM_PM): Move definition to... * src/conf_post.h (REQUIRE_GNUISH_STRFTIME_AM_PM): ...conf_post.h.
* | Allow font-spec in 'face-font-rescale-alist' set at startupEli Zaretskii2024-02-151-2/+14
| | | | | | | | | | | | | | | | * lisp/startup.el (startup--rescale-elt-match-p): New function. (normal-top-level): Use it, instead of the naive 'string-match-p', to match the default font against the elements of 'face-font-rescale-alist'. Reported by Rahguzar <rahguzar@zohomail.eu>.
* | Add support for reading/writing IELM input history (bug#67000)Simen Heggestøyl2024-02-153-1/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/ielm.el (inferior-emacs-lisp-mode): Add support for saving input history to a file. (ielm--history-file-name): New variable indicating IELM input history file. (ielm--exit): Holds a function to call when Emacs is killed to write out the input history. (ielm--input-history-writer): Helper function for writing the IELM input history out to file. * lisp/comint.el (comint-input-ring-file-name): Improve defcustom tag.
* | Handle /assets and /content file names in `android-browse-url'Po Lu2024-02-153-8/+58
| | | | | | | | | | | | | | | | | | | | | | * lisp/net/browse-url.el (android-browse-url): New function. * lisp/term/android-win.el (android-browse-url-internal): Update function declaration. * src/androidselect.c (Fandroid_browse_url): Rename to... (Fandroid_browse_url_internal): ... this. (syms_of_androidselect): Adjust to match.
* | Update from Gnulib by running admin/merge-gnulibPaul Eggert2024-02-1416-1586/+2211
| | | | | | | | * lib/strftime.c: New file, copied from Gnulib.
* | Adjust to recent Gnulib nstrftime changesPaul Eggert2024-02-142-1/+3
| | | | | | | | | | * admin/merge-gnulib (AVOIDED_MODULES): Add localename. * configure.ac (REQUIRE_GNUISH_STRFTIME_AM_PM): Define.