diff options
| author | Phillip Lord | 2016-10-08 10:38:16 +0100 |
|---|---|---|
| committer | Phillip Lord | 2016-10-08 10:38:16 +0100 |
| commit | 10599e4a603d7e23bc5d80070e9c851d84b3f334 (patch) | |
| tree | af44fa916e5484b0b65d759d3265729312c4330d | |
| parent | 3c942b767ab629a37da9980d59f8c2fed294f059 (diff) | |
| download | emacs-feature/integrated-elpa.tar.gz emacs-feature/integrated-elpa.zip | |
Updated readme with thoughts of package.elfeature/integrated-elpa
| -rw-r--r-- | packages/README.org | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/packages/README.org b/packages/README.org index be4cf5e2cf3..9bc45f6c68d 100644 --- a/packages/README.org +++ b/packages/README.org | |||
| @@ -113,6 +113,8 @@ Files in the "admin" directory should probably be in the emacs-root admin. | |||
| 113 | 113 | ||
| 114 | * Bugs | 114 | * Bugs |
| 115 | 115 | ||
| 116 | ** Launching with -q | ||
| 117 | |||
| 116 | package.el does not initialize when emacs is launched with -q. This is | 118 | package.el does not initialize when emacs is launched with -q. This is |
| 117 | somewhat problematic, since packages in the "core" dir should probably | 119 | somewhat problematic, since packages in the "core" dir should probably |
| 118 | always be loaded. Unfortunately package.el is either initialized or | 120 | always be loaded. Unfortunately package.el is either initialized or |
| @@ -120,3 +122,64 @@ not -- it can be done just for one directory. Currently this means | |||
| 120 | that if files were moved from the "lisp" directory to the "package" | 122 | that if files were moved from the "lisp" directory to the "package" |
| 121 | directory, they would disappear under "emacs -q", until | 123 | directory, they would disappear under "emacs -q", until |
| 122 | package-initialize is called. | 124 | package-initialize is called. |
| 125 | |||
| 126 | *** Investigations | ||
| 127 | |||
| 128 | package-initialize is the main issue here. It needs to run even with | ||
| 129 | emacs -q, *but* only to load packages in core. At the same time it | ||
| 130 | should not record that emacs has been initied, since running | ||
| 131 | package-initialize again needs to load files in ~/.emacs.d/elpa. | ||
| 132 | |||
| 133 | Functions/Variables to investigate: | ||
| 134 | |||
| 135 | package--init-file-ensured | ||
| 136 | |||
| 137 | "Whether we know the init file has package-initialize.") | ||
| 138 | |||
| 139 | package-enable-at-startup | ||
| 140 | |||
| 141 | "Whether to activate installed packages when Emacs starts. | ||
| 142 | If non-nil, packages are activated after reading the init file | ||
| 143 | and before `after-init-hook'. Activation is not done if | ||
| 144 | `user-init-file' is nil (e.g. Emacs was started with \"-q\"). | ||
| 145 | |||
| 146 | Even if the value is nil, you can type \\[package-initialize] to | ||
| 147 | activate the package system at any time." | ||
| 148 | |||
| 149 | |||
| 150 | package--ensure-init-file | ||
| 151 | |||
| 152 | "Ensure that the user's init file has `package-initialize'. | ||
| 153 | `package-initialize' doesn't have to be called, as long as it is | ||
| 154 | present somewhere in the file, even as a comment. If it is not, | ||
| 155 | add a call to it along with some explanatory comments." | ||
| 156 | |||
| 157 | This is entirely hideous | ||
| 158 | |||
| 159 | |||
| 160 | package-load-all-descriptors | ||
| 161 | |||
| 162 | "Load descriptors for installed Emacs Lisp packages. | ||
| 163 | This looks for package subdirectories in `package-user-dir' and | ||
| 164 | `package-directory-list'. The variable `package-load-list' | ||
| 165 | controls which package subdirectories may be loaded. | ||
| 166 | |||
| 167 | In each valid package subdirectory, this function loads the | ||
| 168 | description file containing a call to `define-package', which | ||
| 169 | updates `package-alist'." | ||
| 170 | |||
| 171 | |||
| 172 | package-read-all-archive-contents | ||
| 173 | |||
| 174 | "Re-read `archive-contents', if it exists. | ||
| 175 | If successful, set `package-archive-contents'." | ||
| 176 | |||
| 177 | |||
| 178 | package-build-compatibility-table | ||
| 179 | |||
| 180 | |||
| 181 | "Build `package--compatibility-table' with `package--mapc'." | ||
| 182 | |||
| 183 | |||
| 184 | Most of these seem quite easy to re-write in a form which takes a | ||
| 185 | directory. | ||