Commit graph

194 commits

Author SHA1 Message Date
Philip Kaludercic
85555ad3b7
; Require map only during compilation
As map is only used by 'pcase' during macro-expansion, it is not
necessary to load it all the time.
2022-10-23 18:20:30 +02:00
Philip Kaludercic
0e6452ccd7
; Update TODO list 2022-10-23 18:18:37 +02:00
Philip Kaludercic
2154219059
Immediately check out the right branch or revision
* lisp/emacs-lisp/package-vc.el (package-vc-unpack) Use REV to avoid
checking out the wrong branch/revision first.
* lisp/vc/vc-bzr.el: Handle REV.
* lisp/vc/vc-git.el: Handle REV.
* lisp/vc/vc-hg.el: Handle REV.
* lisp/vc/vc-svn.el: Handle REV.
* lisp/vc/vc.el: Make BACKEND optional and add REV.
2022-10-23 18:04:55 +02:00
Philip Kaludercic
a0532e148c
; Remove unnecessary "TODO"s from the package header 2022-10-23 13:15:28 +02:00
Philip Kaludercic
ab46a0df7b
; Remove unnecessary 'let' binding
* lisp/emacs-lisp/package-vc.el (pacakge-vc-desc->spec): Simplify function.
2022-10-23 13:07:48 +02:00
Philip Kaludercic
7640b0751b
Add auxiliary function to query package specifications
* lisp/emacs-lisp/package-vc.el (package-vc-query-spec): Add
inline function.
2022-10-23 13:02:25 +02:00
Philip Kaludercic
ab283bddb2
Request "elpa-packages.eld" instead of "elpa-packages"
* lisp/emacs-lisp/package-vc.el
(package-vc--read-archive-data): Apply change.
(package-vc--download-and-read-archives): Apply change.
2022-10-22 00:06:04 +02:00
Philip Kaludercic
5694278af3
Remove 'package-vc-install' alias 'package-checkout'
* lisp/emacs-lisp/package-vc.el (package-checkout): Remove it.
2022-10-21 20:39:33 +02:00
Philip Kaludercic
faeb66ae42
Have 'package-vc-link-directory' use name if given
* lisp/emacs-lisp/package-vc.el (package-vc-link-directory): Use the
NAME argument.
2022-10-20 21:45:17 +02:00
Philip Kaludercic
2dabcba148
Build documentation like elpa-admin.el
* lisp/emacs-lisp/package-vc.el (package-vc-build-documentation): Add
function to build a documentation file.
(package-vc-unpack-1): Use 'package-vc-build-documentation'.
2022-10-20 21:34:48 +02:00
Philip Kaludercic
e08e9bc40f
Remove modifications to the list of ignored files in source packages
* lisp/emacs-lisp/package-vc.el (package-vc-unpack-1): Remove
'vc-ignore' calls.
2022-10-18 22:44:35 +02:00
Philip Kaludercic
5d60ea47f6
Use 'elpa-packages' files for VC metadata
* 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'.
2022-10-18 22:35:25 +02:00
Philip Kaludercic
39c9b6751e
Only clone packages if necessary
* lisp/emacs-lisp/package-vc.el (package-vc-unpack): Check if
directory exists before cloning.
2022-10-17 00:13:06 +02:00
Philip Kaludercic
b4e833b2f8
Attempt to infer the package subject if missing
* lisp/emacs-lisp/package-vc.el (package-vc-main-file): Add function.
(package-vc-generate-description-file): Infer the subject.
2022-10-16 17:18:06 +02:00
Philip Kaludercic
73669f73e6
Allow specifying a package name for 'package-vc-link-directory'
* lisp/emacs-lisp/package-vc.el (package-vc-link-directory): Add argument NAME
2022-10-12 21:25:54 +02:00
Philip Kaludercic
0e3b67e3a3
* lisp/emacs-lisp/package-vc.el (package-vc-refresh): Add function. 2022-10-12 21:21:38 +02:00
Philip Kaludercic
0610e6f9f1
Rename 'package-vc-link-project' to 'package-vc-link-directory'
* lisp/emacs-lisp/package-vc.el (package-vc-link-project): Rename it.
2022-10-12 20:42:19 +02:00
Philip Kaludercic
22d768a29d
Run 'package-vc-unpack-1' after updating source packages
* lisp/emacs-lisp/package-vc.el (package-vc-update): Call
'package-vc-unpack-1'.
2022-10-12 20:26:17 +02:00
Philip Kaludercic
576593a2b2
Add new command to install a package via symbolic linking
* 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.
2022-10-12 17:11:21 +02:00
Philip Kaludercic
4a25205ec1
Only use 'package-vc-repository-store' if necessary
* 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.
2022-10-12 14:49:35 +02:00
Philip Kaludercic
8e6e6e6de5
Rename 'package-vc-fetch' to 'package-vc-install'
* lisp/emacs-lisp/package-vc.el (package-vc-fetch): Rename to preserve
symmetry with 'package-install'.
(package-checkout): Follow the previous rename.
2022-10-09 23:37:29 +02:00
Philip Kaludercic
f74d52954b
* lisp/emacs-lisp/package-vc.el: Autoload 'package-vc-prepare-patch' 2022-10-08 18:22:03 +02:00
Philip Kaludercic
a4a825df82
Clone packages into a separate directory
* 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.
2022-10-08 11:57:38 +02:00
Philip Kaludercic
432252c23f
Extend package-vc heuristics to multiple source forges
* 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'
2022-10-08 11:57:38 +02:00
Philip Kaludercic
077c1533df
; * package-vc.el (package-vc-read-pkg): Return package description 2022-10-08 11:57:38 +02:00
Philip Kaludercic
f9065c7951
Use 'package-vc-p' in package-vc.el
* package-vc.el (package-vc-commit): Use it instead of 'eq'.
(package-vc-version): Use it instead of 'eq'.
2022-10-08 11:57:38 +02:00
Philip Kaludercic
e092e60f15
Add a package-vc command for submitting ptches
* 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.
2022-10-08 11:57:38 +02:00
Philip Kaludercic
d5dbf0804c
* package-vc.el (package-vc-unpack): Fix 'vc-ignore' call
When generating the manual node (/dir), we need to ensure that the
default-directory is set to the package root, otherwise the file is
ignored in some other repository, that probably doesn't exist.
2022-08-30 11:28:54 +02:00
Philip Kaludercic
54dbd7d55c
* package-vc.el (package-vc-unpack): Ignore dir files 2022-08-20 17:07:23 +02:00
Philip Kaludercic
820036dafe
* package-vc.el (package-vc-unpack): Mark packages as selected 2022-08-19 20:37:09 +02:00
Philip Kaludercic
57e16b316d
* package-vc.el (package-vc-fetch): Autoload it 2022-08-12 17:02:20 +02:00
Philip Kaludercic
faa7f03b0c
Add "send patches" note to package-vc TODO section 2022-08-11 14:19:26 +02:00
Philip Kaludercic
f5bb6b0131
Allow updating source packages
* lisp/emacs-lisp/package-vc.el (package-vc-update): Add new function.
* lisp/emacs-lisp/package.el (package-update): Use 'package-vc-update'.
2022-08-11 13:23:51 +02:00
Philip Kaludercic
9ddc23cd34
Ignore files in .elpaignore during byte compilation
* package.el (package--parse-elpaignore): Add new function.
(package--compile): Bind 'byte-compile-ignore-files' to the result of
'package--parse-elpaignore'.
2022-08-11 12:47:28 +02:00
Philip Kaludercic
878cacc712
* package-vc.el (package-vc-unpack): Detect TeXinfo manuals 2022-08-11 12:40:17 +02:00
Philip Kaludercic
5fe97dd9dd
; Require rx during byte compilation 2022-08-11 10:55:43 +02:00
Philip Kaludercic
98381366b5
Guess Git repositories from the URL header
* package-vc.el (package-vc-probable-repository-regexp): Add new user option.
(package-vc-sourced-packages-list): Add new function using
'package-vc-probable-repository-regexp'.
(package-vc-fetch): Use 'package-vc-sourced-packages-list'.
2022-08-11 10:53:55 +02:00
Philip Kaludercic
d01445716d Only suggest packages with VC metadata
* package-vc.el (package-vc-fetch): Filter out packages without :vc
information in the interactive specification.
2022-08-03 20:25:17 +02:00
Philip Kaludercic
1b722606ca * package-vc.el (package-vc-unpack): Delete using package--delete-directory 2022-08-03 14:43:34 +02:00
Philip Kaludercic
e7ebdc29ce Add TODO section for package-vc 2022-08-03 13:47:54 +02:00
Philip Kaludercic
e9504782fe Have VC ignore auto generated files
* package-vc.el (package-vc-unpack): Generate autoloads and ignore
have the VCS ignore them (along with package description file).
2022-08-02 17:34:14 +02:00
Philip Kaludercic
ffb06d9100 Assume VC data is directly usable in 'package-archive-contents'
* package-vc.el (package-vc-fetch): Remove string parsing and
translation code.
2022-08-02 17:12:45 +02:00
Philip Kaludercic
168929cf0d * package-vc.el (vc-clone): Remove superfluous declaration 2022-08-02 17:04:31 +02:00
Philip Kaludercic
f3e7820b48 Extract package-fetch and related functionality
Note that the "package kind" was renamed from "source" to "vc".

* package-vc.el: (package-vc-commit): Copy from package.el
(package-vc-version): Add new function
(package-vc-generate-description-file): Add new function.
(package-vc-unpack): Add new function.
(package-vc-fetch): Copy from package.el
(package-checkout): Add alias for package-vc-fetch
* package.el (package-devel-dir): Remove option.  The checkouts are
stored in package-user-dir
(package-desc): Handle (vc . VERS) version strings
(package-desc-full-name): Return the plain name for vc packages
(package-devel-commit): Move function to package-vc
(package-load-descriptor): Refactor according to other changes
(package-load-all-descriptors): Remove package-devel-dir
(package-unpack): Remove vc package handling
(package-generate-description-file): Remove special handling for vc
packages
(package-install-from-archive): Remove special handling for vc
packages
(package-fetch): Move function to package-vc
(package-desc-status): Use "vc" instead of "source"
(package--remove-hidden): Use "vc" instead of "source"
(package-menu--print-info-simple): Refactor according to other changes
2022-07-31 21:32:38 +02:00