summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp
Commit message (Collapse)AuthorAgeFilesLines
* Use 'elpa-packages' files for VC metadataPhilip Kaludercic2022-10-182-65/+141
| | | | | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/package-vc.el (package-vc-default-backend): Add new option. (package-vc-archive-spec-alist): Add new variable to store the contents of 'elpa-packages' for each archive. (pacakge-vc-desc->spec): Add function to query package specifications. (package-vc--read-archive-data): Add a 'package-read-archive-hook' implementation. (package-vc--download-and-read-archives): Add a 'package-refresh-contents-hook' implementation. (package-vc-main-file): Remove function. (package-vc-generate-description-file): Use package specifications. (package-vc-unpack-1): Adapt to previous changes. (package-vc-unpack): Adapt to previous changes. (package-vc-sourced-packages-list): Adapt to previous changes. (package-vc-install): Adapt to previous changes. * lisp/emacs-lisp/package.el (package-read-archive-hook): Allow extending 'package-read-all-archive-contents' using a hook. (package-read-all-archive-contents): Use 'package-read-archive-hook'. (package-refresh-contents-hook): Allow extending 'package-refresh-contents' using a hook. (package-refresh-contents): Use 'package-refresh-contents-hook'.
* Merge remote-tracking branch 'origin/master' into feature/package+vcPhilip Kaludercic2022-10-185-120/+141
|\
| * (byte-compile--first-symbol-with-pos): Fix bug#58601Stefan Monnier2022-10-181-21/+17
| | | | | | | | | | * lisp/emacs-lisp/bytecomp.el: Require `subr-x`. (byte-compile--first-symbol-with-pos): Avoid inf-loops on circular data.
| * Fix previous loaddefs-gen fixLars Ingebrigtsen2022-10-181-3/+2
| |
| * Fix faulty loaddefs detectionLars Ingebrigtsen2022-10-181-1/+2
| | | | | | | | | | * lisp/emacs-lisp/loaddefs-gen.el (loaddefs-generate--emacs-batch): Fix faulty loaddefs detection.
| * * Prevent potential native compilation infinite recursionsAndrea Corallo2022-10-181-83/+85
| | | | | | | | | | | | * lisp/emacs-lisp/comp.el (comp-no-spawn): New var. (comp-subr-trampoline-install, comp-final, comp-run-async-workers) (comp--native-compile): Update.
| * Improve native-compile-prune-cache messagesStefan Kangas2022-10-171-1/+1
| | | | | | | | | | * lisp/emacs-lisp/comp.el (native-compile-prune-cache): Quote name of pruned directory.
| * Don't prune *.eln files in parent of eln-load-pathStefan Kangas2022-10-171-1/+3
| | | | | | | | | | | | | | | | * 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.
| * Fix spurious "Compilation finished" native-comp messagesLars Ingebrigtsen2022-10-171-3/+8
| | | | | | | | | | | | | | | | * 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.
| * Avoid having the async compile log saying it's compiling loaddefsLars Ingebrigtsen2022-10-172-3/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
| * cl-generic: Fix `advertised-calling-convention` declarationsStefan Monnier2022-10-163-6/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* | Only clone packages if necessaryPhilip Kaludercic2022-10-171-5/+6
| | | | | | | | | | * lisp/emacs-lisp/package-vc.el (package-vc-unpack): Check if directory exists before cloning.
* | Attempt to infer the package subject if missingPhilip Kaludercic2022-10-161-1/+23
| | | | | | | | | | * lisp/emacs-lisp/package-vc.el (package-vc-main-file): Add function. (package-vc-generate-description-file): Infer the subject.
* | Mark source packages as always updatablePhilip Kaludercic2022-10-161-6/+7
| | | | | | | | | | * lisp/emacs-lisp/package.el (package--updateable-packages): Add check for source packages.
* | Delete 'package-contact-maintainer'Philip Kaludercic2022-10-161-14/+0
| | | | | | | | | | | | * doc/emacs/package.texi: Remove mention. * etc/NEWS: Remove mention. * lisp/emacs-lisp/package.el: Remove the command.
* | Merge branch 'master' into feature/package+vcPhilip Kaludercic2022-10-156-13/+46
|\|
| * Handle ;;;###theme-autoload comments in etc/themesPhilip Kaludercic2022-10-151-1/+8
| | | | | | | | | | | | * lisp/emacs-lisp/loaddefs-gen.el (loaddefs-generate--emacs-batch): Extract the autoloads and have them loaded along with loaddefs.el. * etc/NEWS: Mention the new feature. (Bug#57639)
| * Tag themes with propertiesPhilip Kaludercic2022-10-151-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/emacs/custom.texi (Custom Themes): Document 'theme-choose-variant'. * doc/lispref/customize.texi (Custom Themes): Document the new optional argument to 'deftheme'. (Autoload): Mention that 'deftheme' is not copied verbatim. * etc/themes/adwaita-theme.el (adwaita): Add properties. * etc/themes/deeper-blue-theme.el (deeper-blue): Add properties. * etc/themes/dichromacy-theme.el (dichromacy): Add properties. * etc/themes/light-blue-theme.el (light-blue): Add properties. * etc/themes/manoj-dark-theme.el (manoj-dark): Add properties. * etc/themes/misterioso-theme.el (misterioso): Add properties. * etc/themes/tango-dark-theme.el (tango-dark): Add properties. * etc/themes/tango-theme.el (tango): Add properties. * etc/themes/tsdh-dark-theme.el (tsdh-dark): Add properties. * etc/themes/tsdh-light-theme.el (tsdh-light): Add properties. * etc/themes/wheatgrass-theme.el (wheatgrass): Add properties. * etc/themes/whiteboard-theme.el (whiteboard): Add properties. * etc/themes/wombat-theme.el (wombat): Add properties. * etc/themes/modus-operandi-theme.el: Add properties. * etc/themes/modus-vivendi-theme.el: Add properties. * etc/themes/leuven-dark-theme.el (leuven-dark): Add properties. * etc/themes/leuven-theme.el (leuven): Add properties. * lisp/custom.el (deftheme): Allow for optional arguments to set the property list. (custom-declare-theme): Accept the same optional arguments as 'deftheme'. (theme-list-variants): Add new function. (theme-choose-variant): Add new command for switching between members of a theme family. (toggle-theme): Add an alias for 'theme-choose-variant'. * lisp/emacs-lisp/loaddefs-gen.el (loaddefs-generate--make-autoload): Handle 'defcustom's by extracting the properties. (Bug#57639)
| * Use file-size-human-readable in memory-report--formatStefan Kangas2022-10-151-6/+1
| | | | | | | | | | * lisp/emacs-lisp/memory-report.el (memory-report--format): Use file-size-human-readable.
| * Add trampoline AOT compilation target (bug#58318)Andrea Corallo2022-10-111-0/+11
| | | | | | | | | | | | | | * Makefile.in (trampolines): New target. * lisp/Makefile.in (trampolines): Likewise. * lisp/emacs-lisp/comp.el (comp-compile-all-trampolines): New function.
| * package.el: Understand a few more variations in tarball formatsStefan Monnier2022-10-081-3/+7
| | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/package.el (package-untar-buffer): Fix thinko. (package-tar-file-info): Handle the case where the first file is in a subdirectory. * test/lisp/emacs-lisp/package-tests.el (package-test-bug58367): New test. * test/lisp/emacs-lisp/package-resources/ustar-withsub-0.1.tar: * test/lisp/emacs-lisp/package-resources/v7-withsub-0.1.tar: New files.
| * Fix vtable-insert-object line insertionLars Ingebrigtsen2022-10-081-3/+11
| | | | | | | | | | | | * lisp/emacs-lisp/vtable.el (vtable-insert-object): Pass in the correct ellipsis values (bug#58370). (vtable--insert-line): Don't bug out on missing optional arguments.
| * Mention seq-keep in shortdocLars Ingebrigtsen2022-10-081-0/+2
| | | | | | | | * lisp/emacs-lisp/shortdoc.el (sequence): Mention seq-keep.
* | Allow specifying a package name for 'package-vc-link-directory'Philip Kaludercic2022-10-121-3/+10
| | | | | | | | * lisp/emacs-lisp/package-vc.el (package-vc-link-directory): Add argument NAME
* | * lisp/emacs-lisp/package-vc.el (package-vc-refresh): Add function.Philip Kaludercic2022-10-121-0/+5
| |
* | Rename 'package-vc-link-project' to 'package-vc-link-directory'Philip Kaludercic2022-10-121-3/+2
| | | | | | | | * lisp/emacs-lisp/package-vc.el (package-vc-link-project): Rename it.
* | Run 'package-vc-unpack-1' after updating source packagesPhilip Kaludercic2022-10-121-3/+12
| | | | | | | | | | * lisp/emacs-lisp/package-vc.el (package-vc-update): Call 'package-vc-unpack-1'.
* | Add new command to install a package via symbolic linkingPhilip Kaludercic2022-10-121-64/+84
| | | | | | | | | | | | * lisp/emacs-lisp/package-vc.el (package-vc-unpack-1): Add new function. (package-vc-unpack): Use 'package-vc-unpack-1'. (package-vc-link-project): Add new command.
* | Only use 'package-vc-repository-store' if necessaryPhilip Kaludercic2022-10-122-24/+28
| | | | | | | | | | | | | | * lisp/emacs-lisp/package-vc.el (package-vc-unpack): Check if the upstream data indicates a custom lisp directory. * lisp/emacs-lisp/package.el (package--delete-directory): Adapt accordingly.
* | Rename 'package-vc-fetch' to 'package-vc-install'Philip Kaludercic2022-10-091-3/+3
| | | | | | | | | | | | * lisp/emacs-lisp/package-vc.el (package-vc-fetch): Rename to preserve symmetry with 'package-install'. (package-checkout): Follow the previous rename.
* | * lisp/emacs-lisp/package-vc.el: Autoload 'package-vc-prepare-patch'Philip Kaludercic2022-10-081-2/+1
| |
* | Clone packages into a separate directoryPhilip Kaludercic2022-10-082-10/+44
| | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/package-vc.el (package-vc-repository-store): Add new user option. (package-vc-unpack): Use 'package-vc-repository-store'. * lisp/emacs-lisp/package.el (package--delete-directory): Check and handle source packages. (package-delete): Invoke 'package--delete-directory' with an additional argument.
* | * lisp/emacs-lisp/package.el (package-report-bug): Use 'file-in-directory-p'Philip Kaludercic2022-10-081-10/+9
| |
* | Extend package-vc heuristics to multiple source forgesPhilip Kaludercic2022-10-081-25/+41
| | | | | | | | | | | | | | * package-vc.el (package-vc-probable-repository-regexp): Rename to 'package-vc-heusitic-alist'. (package-vc-heusitic-alist): Add support for multiple VC backends. (package-vc-sourced-packages-list): Use 'package-vc-heusitic-alist'
* | ; * package-vc.el (package-vc-read-pkg): Return package descriptionPhilip Kaludercic2022-10-081-5/+7
| |
* | Use 'package-vc-p' in package-vc.elPhilip Kaludercic2022-10-081-2/+2
| | | | | | | | | | * package-vc.el (package-vc-commit): Use it instead of 'eq'. (package-vc-version): Use it instead of 'eq'.
* | Add a package-vc command for submitting ptchesPhilip Kaludercic2022-10-082-7/+31
| | | | | | | | | | | | | | | | * lisp/emacs-lisp/package-vc.el (package-vc-read-pkg): Add auxiliary command for querying source packages. (package-vc-prepare-patch): Add it. * lisp/emacs-lisp/package.el (package-maintainers): Add an optional NO-ERROR argument.
* | Extract package maintainer guessing code into a separate functionPhilip Kaludercic2022-10-081-27/+23
| | | | | | | | | | | | * package.el (package-maintainers): Add new function. (package-contact-maintainer): Use it. (package-report-bug): Use it.
* | Add an inline procedure for checking for source packagesPhilip Kaludercic2022-10-081-9/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | * package.el (eval-when-compile): Require 'inline during compilation. (package-vc-p): Add inline function. (package-desc-full-name): Use it. (package-load-descriptor): Use it. (package--get-activatable-pkg): Use it. (package-install-from-archive): Use it. (package-update): Use it. (package-desc-status): Use it. (package--remove-hidden): Use it. (package-menu--print-info-simple): Use it.
* | Merge branch 'master' into feature/package+vcPhilip Kaludercic2022-10-0841-582/+918
|\|
| * ; Silence byte-compiler in benchmark.elStefan Kangas2022-10-071-0/+1
| | | | | | | | * lisp/emacs-lisp/benchmark.el (cl-lib): Require.
| * Clearer byte-compiler arity warnings (bug#58319)Mattias EngdegÄrd2022-10-071-1/+3
| | | | | | | | | | * lisp/emacs-lisp/bytecomp.el (byte-compile-arglist-signature-string): Replace '3+' and '3-4' with '3 or more' and '3 or 4', respectively.
| * Improve package-check-signature docstringStefan Kangas2022-10-071-10/+17
| | | | | | | | | | * lisp/emacs-lisp/package.el (package-check-signature): Improve docstring.
| * Fix calling `package-reinstall' just after quick initialization.Matt Armstrong2022-10-061-4/+8
| | | | | | | | | | | | | | | | * lisp/emacs-lisp/package.el (package-reinstall): call `package--archives-initialize', just like `package-install' does. This populates `package-alist', and so fixes calling `package-reinstall' as the first thing done after package "quick init" (Bug#53527).
| * Add 'seq-keep'Lars Ingebrigtsen2022-10-041-0/+4
| | | | | | | | | | * doc/lispref/sequences.texi (Sequence Functions): Document it. * lisp/emacs-lisp/seq.el (seq-keep): New function (bug#58278).
| * Make `eq' obsolete as a generalized variableLars Ingebrigtsen2022-10-041-0/+1
| | | | | | | | | | * lisp/emacs-lisp/gv.el (eq): Make obsolete as a generalized variable.
| * Make loaddefs-generate more resilientLars Ingebrigtsen2022-10-041-1/+1
| | | | | | | | | | | | * lisp/emacs-lisp/loaddefs-gen.el (loaddefs-generate): Don't bug out when there's an existing loaddefs file that's not formatted properly (bug#58280).
| * Don't bug out in advice--make-docstring when there's not doc stringLars Ingebrigtsen2022-10-041-1/+2
| | | | | | | | | | * lisp/emacs-lisp/nadvice.el (advice--make-docstring): Don't bug out on functions with no documentation (bug#58284).
| * ; Fix logic of $HOME adjustment for 'ert-remote-temporary-file-directory'Jim Porter2022-10-031-1/+1
| | | | | | | | | | * lisp/emacs-lisp/ert-x.el (ert-remote-temporary-file-directory): Only adjust $HOME when it doesn't exist (bug#58265).
| * Rename to inhibit-automatic-native-compilationLars Ingebrigtsen2022-10-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | * src/comp.c (maybe_defer_native_compilation): (syms_of_comp): * lisp/subr.el (native-comp-deferred-compilation): * lisp/startup.el (inhibit-native-compilation): (normal-top-level): * lisp/progmodes/elisp-mode.el (emacs-lisp-native-compile-and-load): * lisp/emacs-lisp/comp.el (comp-trampoline-compile): * etc/NEWS: * doc/lispref/compile.texi (Native-Compilation Variables): Rename inhibit-native-compilation to inhibit-automatic-native-compilation.