summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'scratch/fix-locked-narrowing'Gregory Heytings2023-02-131-1/+1
|\
| * Fix 'save-restriction' for narrowing locksGregory Heytings2023-02-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/editfns.c (narrowing_locks_save): (narrowing_locks_restore): Make them non-static. * src/lisp.h: Make them externally visible. * src/bytecode.c (exec_byte_code): Save and restore narrowing locks. * lisp/emacs-lisp/bytecomp.el (byte-compile-save-restriction): Increment unbinding count. * src/comp.c (helper_save_restriction): Save and restore narrowing locks.
* | ; Use the right name when specifying VC packagesPhilip Kaludercic2023-02-121-3/+4
| | | | | | | | | | | | | | * lisp/emacs-lisp/package-vc.el (package-vc-install-selected-packages): Generate dummy package descriptors in here, if necessary. (package-vc--unpack): Remove dummy-descriptor generation.
* | Tolerate missing elpa-packages.eld filesPhilip Kaludercic2023-02-121-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/package-vc.el (package-vc--download-and-read-archives): Replace 'condition-case-unless-debug' with a regular 'condition-case'. It appears a few people using third-party archives that don't serve package specifications have been having issues with package-vc, when toggle-on-error is enabled. In their case, package-vc would raise an error in its first invocation, but it would go on working normally afterwards. As this behaviour is confusing and the user can't do much about a missing elpa-packages.eld to begin with, we satisfy ourselves with printing out a message and continuing on.
* | ; Fix installation of dependencies for VC packagesPhilip Kaludercic2023-02-121-2/+2
| | | | | | | | | | | | * lisp/emacs-lisp/package-vc.el (package-vc-install-dependencies): Maintain a list of package-desc objects instead of package names to install.
* | lisp-mode: add docstring recognition for more common lisp symbolsNicolas Martyanoff2023-02-091-0/+3
|/ | | | | | * lisp/emacs-lisp/lisp-mode.el (define-compiler-macro) (define-setf-expander, deftype): Add the 'doc-string-elt' property for proper docstring highlighting in Common Lisp.
* Fix docstring fontification of CL's 'defstruct'Eli Zaretskii2023-02-021-0/+1
| | | | | | | * lisp/emacs-lisp/lisp-mode.el (defstruct): Set 'doc-string' property. Patch by Nicolas Martyanoff <nicolas@n16f.net>. Copyright-paperwork-exempt: yes
* Fix spurious errors on Windows when deleting temporary *.eln filesEli Zaretskii2023-01-291-2/+5
| | | | | * lisp/emacs-lisp/comp.el (comp--native-compile): On MS-Windows, ignore errors when deleting a temporary .eln file. (Bug#60996)
* ; Actually use dummy package descriptorPhilip Kaludercic2023-01-211-1/+1
| | | | | | | * lisp/emacs-lisp/package-vc.el (package-vc--unpack): Set pkg-desc if nil. This revises the changes from 70947da708c8e06e31a2930520b38bafe43dba39.
* Fix an oversight in advice.elMichael Heerdegen2023-01-191-1/+1
| | | | | | | | This fixes an oversight from 77c3c464a16: "* lisp/emacs-lisp/advice.el (ad-advised-functions): Make it a plain list" that caused an issue as reported in Bug#60893. * lisp/emacs-lisp/advice.el (ad-read-advised-function): Adjust to handle the new type of elements of `ad-advised-functions'.
* ; Fix minor mistakes in documentationIkumi Keita2023-01-181-1/+1
| | | | | | | | * lisp/emacs-lisp/cl-macs.el (cl-letf): Correct Info reference. * doc/lispref/strings.texi (String Conversion): Fix typo. (Bug#60926)
* Fix display of warnings on w32 consoleEli Zaretskii2023-01-171-2/+6
| | | | | * lisp/emacs-lisp/warnings.el (warnings-suppress): Use alternative symbol for TTY frames on MS-Windows.
* Fix minor issues with 'pp' and related commandsEli Zaretskii2023-01-131-4/+8
| | | | | | | | | * etc/NEWS: * lisp/emacs-lisp/pp.el (pp-use-max-width, pp-emacs-lisp-code): Mention in doc string that formatting via 'pp-emacs-lisp-code' could be slow. (pp-eval-expression, pp-macroexpand-expression): Honor 'pp-use-max-width'. (Bug#58687)
* ; Fix typo in ert-with-temp-fileStefan Kangas2023-01-131-1/+1
| | | | | * lisp/emacs-lisp/ert-x.el (ert-with-temp-file): Fix typo. Reported by F. Jason Park <jp@neverwas.me>. (Bug#60730)
* Ensure VC package names are not emptyPhilip Kaludercic2023-01-111-1/+5
| | | | | | | * lisp/emacs-lisp/package-vc.el (package-vc--unpack): Raise an error if the package name is empty. (package-vc-install): Avoid generating an empty file name, if a URL ends with a slash, and raise an error if the package name is empty.
* Handle missing package description when unpacking vc packagesPhilip Kaludercic2023-01-111-0/+2
| | | | | * lisp/emacs-lisp/package-vc.el (package-vc--unpack): Create a dummy descriptor if PKG-DESC is nil.
* ; Add 2023 to copyright years.Eli Zaretskii2023-01-01101-101/+101
|
* ; Fix typosStefan Kangas2022-12-312-2/+2
|
* Fix misspelled functions in shortdoc groupsStefan Kangas2022-12-311-4/+4
| | | | | | | * lisp/emacs-lisp/shortdoc.el (file, list): Fix misspelled function names: 'file-writable-p' and 'seq-reduce'. * test/lisp/emacs-lisp/shortdoc-tests.el (subr-x): Require. (shortdoc-all-functions-fboundp): New test.
* ; Add "src" to the heuristic sub-directory heuristicPhilip Kaludercic2022-12-271-12/+15
| | | | | * lisp/emacs-lisp/package-vc.el (package-vc--unpack): Check for "src" directories, next to "lisp".
* loaddefs-gen: Group results by absolute file nameKyle Meyer2022-12-261-1/+2
| | | | | | | | | | | | | | | loaddefs-generate produced an incomplete output file if 1) it was called with a relative file name and 2) that same file was specified via a generated-autoload-file cookie in a subset of the input files. In that case, autoload entries were lost because loaddefs-generate writes the same output file twice: once for the relative name specified by the caller and once for the absolute name that loaddefs-generate--parse-file returns for the generated-autoload-file value. This has been fixed. (Bug#60318) * lisp/emacs-lisp/loaddefs-gen.el (loaddefs-generate): Expand file names when grouping loaddef files.
* Remove remaining mentions of 'eval-current-buffer'Gregory Heytings2022-12-261-3/+3
| | | | | | | | * lisp/emacs-lisp/edebug.el (edebug-all-defs): * doc/lispref/eval.texi (Eval): * doc/lispref/edebug.texi (Instrumenting, Edebug Options): Remove remaining mentions of 'eval-current-buffer', obsoleted in Emacs 22 and removed in Emacs 26.
* ; Review and fix NEWS and related documentationEli Zaretskii2022-12-251-1/+4
| | | | | | | | | * etc/NEWS: Fix wording, punctuation, and markup. * lisp/emacs-lisp/subr-x.el (string-glyph-split): Doc fix. * doc/lispref/display.texi (Displaying Messages): Document 'set-message-functions'.
* ; Always consider :lisp-dir when locating main file of VC packagesPhilip Kaludercic2022-12-251-1/+3
| | | | | | * lisp/emacs-lisp/package-vc.el (package-vc--main-file): Check the :lisp-dir entry in the "extras" of a package description to find the directory with a main file.
* Add heuristic to locate lisp code in source packagesPhilip Kaludercic2022-12-251-0/+14
| | | | | | | * lisp/emacs-lisp/package-vc.el (package-vc--unpack): Check if a "lisp" directory exists and use that instead of PKG-DIR. (Bug#60155)
* Reorder optional arguments to 'package-vc-install'Philip Kaludercic2022-12-251-5/+9
| | | | | | * lisp/emacs-lisp/package-vc.el (package-vc-install-selected-packages): Update 'package-vc-install' invocation. (package-vc-install): Reorder and update documentation.
* Handle missing dependencies for source packagesPhilip Kaludercic2022-12-251-87/+144
| | | | | | | | | | | | * lisp/emacs-lisp/package-vc.el (package-vc-install-dependencies): Add new function. (package-vc--unpack-1): Call 'package-vc-install-dependencies' instead of 'package-compute-transaction' and 'package-download-transaction'. It is unreasonable to abort the installation, since we cannot expect all dependencies to be available in the regular archives. Instead we note which packages couldn't be found, and warn the user that these will be missing.
* ; Partial revert of f3e7820bPhilip Kaludercic2022-12-251-1/+1
| | | | | * lisp/emacs-lisp/package.el (package-install-from-archive): Check if a package is a directory package, not a VC package
* Add more functions to "string" shortdocXi Lu2022-12-241-0/+9
| | | | | * lisp/emacs-lisp/shortdoc.el: Add 'string-or-null-p', 'char-or-string-p', 'char-uppercase-p'. (Bug#60279)
* ert-x: Move window selection logic to its own macroRichard Hansen2022-12-241-10/+21
| | | | | | | | | | | | | | * lisp/emacs-lisp/ert-x.el (ert-with-buffer-selected): New macro to temporarily display a buffer in a selected window and evaluate a body. (ert-with-test-buffer-selected): Use the new macro. * test/lisp/whitespace-tests.el (ert-test-with-buffer-selected/current) (ert-test-with-buffer-selected/selected) (ert-test-with-buffer-selected/nil-buffer) (ert-test-with-buffer-selected/modification-hooks) (ert-test-with-buffer-selected/read-only) (ert-test-with-buffer-selected/return-value): Add tests. (Bug#60189)
* ; ert-x: Simplify `ert-with-test-buffer-selected'Richard Hansen2022-12-241-23/+5
| | | | | * lisp/emacs-lisp/ert-x.el (ert-with-test-buffer-selected): Simplify using 'ert-with-test-buffer'. (Bug#60189)
* * Invoke spawed Emacs processes with '-Q' when native compiling (bug#60208)Andrea Corallo2022-12-211-2/+2
| | | | | * lisp/emacs-lisp/comp.el (comp-final): Invoke spawned Emacs with '-Q'. (comp-run-async-workers): Likewise.
* Prevent Abort dialogs from async-compiling jobs on WindowsEli Zaretskii2022-12-171-2/+5
| | | | | | | * lisp/emacs-lisp/comp.el (comp-run-async-workers): Disable Abort dialog popping in the sub-processes that perform async compilation, by passing w32-disable-abort-dialog=t on their command line.
* Revert "alist-get testfn argument evaluation correction"Eli Zaretskii2022-12-161-3/+3
| | | | | | | This reverts commit 17d65c99cd812e085d85f790c83ec0d540490a55. Please don't install unnecessary improvements on the release branch.
* Revert "Elide broken but unnecessary `if` optimisations"Eli Zaretskii2022-12-161-2/+5
| | | | | | | This reverts commit 13aa376e93564a8cf2ddbbcf0968c6666620db89. Please don't install anything on the release branch that is not a clear bugfix for a known bug.
* Elide broken but unnecessary `if` optimisationsMattias Engdegård2022-12-161-5/+2
| | | | | | | | | | | | | | | | * lisp/emacs-lisp/byte-opt.el (byte-optimize-if): Remove explicit clauses purposing to simplify (if X nil t) -> (not X) (if X t nil) -> (not (not X)) but never did so because of a coding mistake (eq instead of equal), found by a recently added warning. They weren't actually needed thanks to the optimiser's fixpoint iteration: we eventually get the same results through (if X nil t) -> (if (not X) t nil) -> (if (not X) t) -> (not X) (if X t nil) -> (if X t) -> (not (not X))
* alist-get testfn argument evaluation correctionMattias Engdegård2022-12-161-3/+3
| | | | | | | * lisp/emacs-lisp/gv.el (alist-get): Evaluate TESTFN exactly once (previously up to 3 times). Reduce the macro-expansion to include a call to either assoc or assq, not both; this reduces the generated code size in some cases.
* Ensure package directories for source packages from checkoutsPhilip Kaludercic2022-12-151-0/+1
| | | | | | * lisp/emacs-lisp/package-vc.el (package-vc-install-from-checkout): Set the :dir entry, since `package-vc--unpack-1' assumes the field is set, as is the case when invoking `package-vc--unpack'.
* ; Don't quote nil in commentsStefan Kangas2022-12-151-1/+1
|
* ; * lisp/emacs-lisp/shortdoc.el: fix mistakes in previous commitMattias Engdegård2022-12-141-4/+4
|
* Better shortdoc examplesMattias Engdegård2022-12-141-32/+106
| | | | | | | | * lisp/emacs-lisp/shortdoc.el (symbol, comparison): New. (string, list, number): Remove or change examples that do not have well-defined results, such as `eq` on strings or floats. Edit other examples for better illustrating each respective operation.
* Shortdoc: read and evaluate strings after :evalMattias Engdegård2022-12-141-7/+9
| | | | | | * lisp/emacs-lisp/shortdoc.el (shortdoc--display-function): If the parameter of :eval is a string then read, evaluate and print the result. This was always the intention and is documented behaviour.
* ; Fix typosStefan Kangas2022-12-131-1/+1
|
* Fix error message when installing non-existent packageStefan Kangas2022-12-111-2/+4
| | | | | | * lisp/emacs-lisp/package.el (package-compute-transaction): Don't add trailing dash to package name in non-existent package error. (Bug#59923)
* Fix pcase rx patterns using rx-let bindings (bug#59814)Mattias Engdegård2022-12-111-7/+7
| | | | | | | | Reported by Daniel Pittman. * lisp/emacs-lisp/rx.el (rx): Move binding of rx--local-definitions... (rx--to-expr): ...here. * test/lisp/emacs-lisp/rx-tests.el (rx-let-pcase): New test.
* ; Improve checkdoc.el commentary sectionStefan Kangas2022-12-101-8/+17
| | | | | * lisp/emacs-lisp/checkdoc.el: Improve wording of Commentary. (checkdoc): Link commentary from defgroup.
* ; tabulated-list.el: Remove duplicate obsolete declarationJuanma Barranquero2022-12-101-2/+0
| | | | | | * lisp/emacs-lisp/tabulated-list.el (tabulated-list-line-number-width): Remove second `define-obsolete-function-alias' for the same function.
* Ensure 'package-vc--version' always returns a versionPhilip Kaludercic2022-12-101-1/+2
| | | | | * lisp/emacs-lisp/package-vc.el (package-vc--version): Return "0" even if the main file exists, but lacks version headers.
* Ensure 'package-vc--main-file' always returns an existing filePhilip Kaludercic2022-12-101-9/+29
| | | | | | * lisp/emacs-lisp/package-vc.el (require): Explicitly require cl-lib. (package-vc--main-file): If the expected file name is missing, try and find the closest match.
* Check if package already exists before installing from checkoutPhilip Kaludercic2022-12-101-0/+4
| | | | | * lisp/emacs-lisp/package-vc.el (package-vc-install-from-checkout): Copy check from 'package-vc--unpack'.