Skip to content

Commit 2b147b6

Browse files
authored
Merge branch 'progfolio:master' into override-max-lisp-eval-depth
2 parents 9372751 + 400eb4c commit 2b147b6

15 files changed

+86
-60
lines changed

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ Elpaca requires:
4040
To install Elpaca, add the following elisp to your init.el. It must come before any calls to other Elpaca functions/macros. This will clone Elpaca into your `user-emacs-directory` under the `elpaca` subdirectory. It then builds and activates Elpaca.
4141

4242
```emacs-lisp
43-
(defvar elpaca-installer-version 0.10)
43+
(defvar elpaca-installer-version 0.11)
4444
(defvar elpaca-directory (expand-file-name "elpaca/" user-emacs-directory))
4545
(defvar elpaca-builds-directory (expand-file-name "builds/" elpaca-directory))
4646
(defvar elpaca-repos-directory (expand-file-name "repos/" elpaca-directory))
@@ -75,7 +75,7 @@ To install Elpaca, add the following elisp to your init.el. It must come before
7575
(unless (require 'elpaca-autoloads nil t)
7676
(require 'elpaca)
7777
(elpaca-generate-autoloads "elpaca" repo)
78-
(load "./elpaca-autoloads")))
78+
(let ((load-source-file-function nil)) (load "./elpaca-autoloads"))))
7979
(add-hook 'after-init-hook #'elpaca-process-queues)
8080
(elpaca `(,@elpaca-order))
8181
```

doc/common.org

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ It then builds and activates Elpaca.
5858

5959
#+name: installation-script
6060
#+begin_src emacs-lisp :lexical t :eval never-export
61-
(defvar elpaca-installer-version 0.10)
61+
(defvar elpaca-installer-version 0.11)
6262
(defvar elpaca-directory (expand-file-name "elpaca/" user-emacs-directory))
6363
(defvar elpaca-builds-directory (expand-file-name "builds/" elpaca-directory))
6464
(defvar elpaca-repos-directory (expand-file-name "repos/" elpaca-directory))
@@ -93,7 +93,7 @@ It then builds and activates Elpaca.
9393
(unless (require 'elpaca-autoloads nil t)
9494
(require 'elpaca)
9595
(elpaca-generate-autoloads "elpaca" repo)
96-
(load "./elpaca-autoloads")))
96+
(let ((load-source-file-function nil)) (load "./elpaca-autoloads"))))
9797
(add-hook 'after-init-hook #'elpaca-process-queues)
9898
(elpaca `(,@elpaca-order))
9999
#+end_src

doc/elpaca.texi

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ It then builds and activates Elpaca.
142142

143143
@anchor{installation-script}
144144
@lisp
145-
(defvar elpaca-installer-version 0.10)
145+
(defvar elpaca-installer-version 0.11)
146146
(defvar elpaca-directory (expand-file-name "elpaca/" user-emacs-directory))
147147
(defvar elpaca-builds-directory (expand-file-name "builds/" elpaca-directory))
148148
(defvar elpaca-repos-directory (expand-file-name "repos/" elpaca-directory))
@@ -177,7 +177,7 @@ It then builds and activates Elpaca.
177177
(unless (require 'elpaca-autoloads nil t)
178178
(require 'elpaca)
179179
(elpaca-generate-autoloads "elpaca" repo)
180-
(load "./elpaca-autoloads")))
180+
(let ((load-source-file-function nil)) (load "./elpaca-autoloads"))))
181181
(add-hook 'after-init-hook #'elpaca-process-queues)
182182
(elpaca `(@comma{}@@elpaca-order))
183183
@end lisp
@@ -640,7 +640,7 @@ It must return a version string understood by @samp{version-to-list}.
640640
e.g.
641641

642642
@lisp
643-
(elpaca (auctex :version (lambda (_) (require 'tex-site) AUCTeX-version)))
643+
(elpaca (example :version (lambda (_) "1.0.0")))
644644
@end lisp
645645

646646
@node vars
@@ -898,7 +898,7 @@ A lock file is a collection of recipes for the exact versions of installed packa
898898
They can be used to build different versions of an Emacs configuration when combined with init file package declarations.
899899

900900
The @samp{elpaca-write-lock-file} command is used to write a lock file to disk.
901-
Setting the @samp{elpaca-lock-file} variable to that file's path will cause Elpaca to use those versions of the recipes when installing packages assuming the @samp{elpaca-lock-file-menu} is the first menu in @samp{elpaca-menu-functions}.
901+
Setting the @samp{elpaca-lock-file} variable to that file's path will cause Elpaca to use those versions of the recipes when installing packages assuming the @samp{elpaca-menu-lock-file} is the first menu in @samp{elpaca-menu-functions}.
902902

903903
@node use-package Integration
904904
@section use-package Integration

doc/init.el

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
;; Example Elpaca configuration -*- lexical-binding: t; -*-
2-
(defvar elpaca-installer-version 0.10)
2+
(defvar elpaca-installer-version 0.11)
33
(defvar elpaca-directory (expand-file-name "elpaca/" user-emacs-directory))
44
(defvar elpaca-builds-directory (expand-file-name "builds/" elpaca-directory))
55
(defvar elpaca-repos-directory (expand-file-name "repos/" elpaca-directory))
@@ -34,7 +34,7 @@
3434
(unless (require 'elpaca-autoloads nil t)
3535
(require 'elpaca)
3636
(elpaca-generate-autoloads "elpaca" repo)
37-
(load "./elpaca-autoloads")))
37+
(let ((load-source-file-function nil)) (load "./elpaca-autoloads"))))
3838
(add-hook 'after-init-hook #'elpaca-process-queues)
3939
(elpaca `(,@elpaca-order))
4040

doc/installer.el

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
;; Elpaca Installer -*- lexical-binding: t; -*-
22
;; Copy below this line into your init.el
3-
(defvar elpaca-installer-version 0.10)
3+
(defvar elpaca-installer-version 0.11)
44
(defvar elpaca-directory (expand-file-name "elpaca/" user-emacs-directory))
55
(defvar elpaca-builds-directory (expand-file-name "builds/" elpaca-directory))
66
(defvar elpaca-repos-directory (expand-file-name "repos/" elpaca-directory))
@@ -35,6 +35,6 @@
3535
(unless (require 'elpaca-autoloads nil t)
3636
(require 'elpaca)
3737
(elpaca-generate-autoloads "elpaca" repo)
38-
(load "./elpaca-autoloads")))
38+
(let ((load-source-file-function nil)) (load "./elpaca-autoloads"))))
3939
(add-hook 'after-init-hook #'elpaca-process-queues)
4040
(elpaca `(,@elpaca-order))

doc/manual.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ Elpaca requires:
6969
To install Elpaca, add the following elisp to your init.el. It must come before any calls to other Elpaca functions/macros. This will clone Elpaca into your `user-emacs-directory` under the `elpaca` subdirectory. It then builds and activates Elpaca.
7070

7171
```emacs-lisp
72-
(defvar elpaca-installer-version 0.10)
72+
(defvar elpaca-installer-version 0.11)
7373
(defvar elpaca-directory (expand-file-name "elpaca/" user-emacs-directory))
7474
(defvar elpaca-builds-directory (expand-file-name "builds/" elpaca-directory))
7575
(defvar elpaca-repos-directory (expand-file-name "repos/" elpaca-directory))
@@ -104,7 +104,7 @@ To install Elpaca, add the following elisp to your init.el. It must come before
104104
(unless (require 'elpaca-autoloads nil t)
105105
(require 'elpaca)
106106
(elpaca-generate-autoloads "elpaca" repo)
107-
(load "./elpaca-autoloads")))
107+
(let ((load-source-file-function nil)) (load "./elpaca-autoloads"))))
108108
(add-hook 'after-init-hook #'elpaca-process-queues)
109109
(elpaca `(,@elpaca-order))
110110
```
@@ -508,7 +508,7 @@ The name of the file the package’s autoload file. When `nil`, autoload loa
508508
A function which must accept an Elpaca struct as its sole argument. It must return a version string understood by `version-to-list`. e.g.
509509

510510
```emacs-lisp
511-
(elpaca (auctex :version (lambda (_) (require 'tex-site) AUCTeX-version)))
511+
(elpaca (example :version (lambda (_) "1.0.0")))
512512
```
513513

514514

@@ -728,7 +728,7 @@ Interactively evaluating an `elpaca` declaration will re-process the order. This
728728

729729
A lock file is a collection of recipes for the exact versions of installed packages. They can be used to build different versions of an Emacs configuration when combined with init file package declarations.
730730

731-
The `elpaca-write-lock-file` command is used to write a lock file to disk. Setting the `elpaca-lock-file` variable to that file’s path will cause Elpaca to use those versions of the recipes when installing packages assuming the `elpaca-lock-file-menu` is the first menu in `elpaca-menu-functions`.
731+
The `elpaca-write-lock-file` command is used to write a lock file to disk. Setting the `elpaca-lock-file` variable to that file’s path will cause Elpaca to use those versions of the recipes when installing packages assuming the `elpaca-menu-lock-file` is the first menu in `elpaca-menu-functions`.
732732

733733

734734
<a id="use-package-integration"></a>

doc/manual.org

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -368,7 +368,7 @@ It must return a version string understood by =version-to-list=.
368368
e.g.
369369

370370
#+begin_src emacs-lisp :lexical t :eval never
371-
(elpaca (auctex :version (lambda (_) (require 'tex-site) AUCTeX-version)))
371+
(elpaca (example :version (lambda (_) "1.0.0")))
372372
#+end_src
373373

374374
**** :vars
@@ -610,7 +610,7 @@ A lock file is a collection of recipes for the exact versions of installed packa
610610
They can be used to build different versions of an Emacs configuration when combined with init file package declarations.
611611

612612
The =elpaca-write-lock-file= command is used to write a lock file to disk.
613-
Setting the =elpaca-lock-file= variable to that file's path will cause Elpaca to use those versions of the recipes when installing packages assuming the =elpaca-lock-file-menu= is the first menu in =elpaca-menu-functions=.
613+
Setting the =elpaca-lock-file= variable to that file's path will cause Elpaca to use those versions of the recipes when installing packages assuming the =elpaca-menu-lock-file= is the first menu in =elpaca-menu-functions=.
614614

615615

616616
** use-package Integration

elpaca-info.el

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,8 @@
4040
(define-derived-mode elpaca-info-mode special-mode "elpaca-info-mode"
4141
"Major mode for viewing Elpaca package info.
4242
43-
\\{elpaca-info-mode-map}")
43+
\\{elpaca-info-mode-map}"
44+
:interactive nil)
4445

4546
(defun elpaca-info--menus (id)
4647
"Return alist of menus filtered for item matching ID."

elpaca-log.el

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,7 @@ It must accept a package ID symbol and REF string as its first two arguments."
149149

150150
(define-minor-mode elpaca-log-update-mode "Auto display update diffs."
151151
:lighter " elum"
152+
:interactive (elapca-log-mode)
152153
(unless (derived-mode-p 'elpaca-log-mode) (user-error "Not in `elpaca-log-mode' buffer"))
153154
(if elpaca-log-update-mode
154155
(progn
@@ -193,7 +194,8 @@ It must accept a package ID symbol and REF string as its first two arguments."
193194
(narrow-to-region (point) (line-end-position))
194195
(condition-case _ (forward-button 1)
195196
(error (user-error "No ref found on current line")))
196-
(get-text-property (point) 'button-data)))))
197+
(get-text-property (point) 'button-data))))
198+
elpaca-log-mode)
197199
(funcall elpaca-log-diff-function (car data) (cdr data)))
198200

199201
(defun elpaca-log--updates (entries)
@@ -279,6 +281,7 @@ It must accept a package ID symbol and REF string as its first two arguments."
279281

280282
(define-derived-mode elpaca-log-mode elpaca-ui-mode "elpaca-log-mode"
281283
"Major mode for displaying Elpaca order log entries."
284+
:interactive nil
282285
(setq tabulated-list-format [("Package" 30 t)
283286
("Status" 20 t)
284287
("Info" 80 t)

elpaca-manager.el

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ If RECACHE is non-nil, recompute `elpaca-manager--entry-cache'."
5959

6060
(define-derived-mode elpaca-manager-mode elpaca-ui-mode "elpaca-manager-mode"
6161
"Major mode for displaying Elpaca packages."
62+
:interactive nil
6263
(setq tabulated-list-format [("Package" 30 elpaca-ui--sort-package)
6364
("Description" 80 t)
6465
("Date" 15 t)

elpaca-menu-elpa.el

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,20 +28,32 @@
2828
(require 'url)
2929
(defvar url-http-end-of-headers)
3030
(defvar url-http-response-status)
31+
32+
(defcustom elpaca-menu-elpa-use-mirror t
33+
"When non-nil utilize Github mirror of GNU/NonGNU Savannah ELPA."
34+
:type 'boolean :group 'elpaca)
35+
3136
(defvar elpaca-menu-elpas
3237
`((gnu . ((name . "GNU ELPA")
3338
(cache . ,(elpaca--read-file (expand-file-name "gnu-elpa.eld" elpaca-cache-directory)))
3439
(cache-path . ,(expand-file-name "gnu-elpa.eld" elpaca-cache-directory))
35-
(packages-url . "https://git.savannah.gnu.org/cgit/emacs/elpa.git/plain/elpa-packages")
40+
(packages-url . ,(if elpaca-menu-elpa-use-mirror
41+
"https://raw.githubusercontent.com/emacsmirror/gnu_elpa/refs/heads/main/elpa-packages"
42+
"https://git.savannah.gnu.org/cgit/emacs/elpa.git/plain/elpa-packages"))
3643
(metadata-url . "https://elpa.gnu.org/packages/")
37-
(remote . "https://git.savannah.gnu.org/git/emacs/elpa.git")
44+
(remote . ,(if elpaca-menu-elpa-use-mirror "https://github.com/emacsmirror/gnu_elpa"
45+
"https://git.savannah.gnu.org/git/emacs/elpa.git"))
3846
(branch-prefix . "externals")))
3947
(nongnu . ((name . "NonGNU ELPA")
4048
(cache-path . ,(expand-file-name "non-gnu-elpa.eld" elpaca-cache-directory))
4149
(cache . ,(elpaca--read-file (expand-file-name "non-gnu-elpa.eld" elpaca-cache-directory)))
42-
(packages-url . "https://git.savannah.gnu.org/cgit/emacs/nongnu.git/plain/elpa-packages")
50+
(packages-url . ,(if elpaca-menu-elpa-use-mirror
51+
"https://raw.githubusercontent.com/emacsmirror/nongnu_elpa/refs/heads/main/elpa-packages"
52+
"https://git.savannah.gnu.org/cgit/emacs/nongnu.git/plain/elpa-packages"))
4353
(metadata-url . "https://elpa.nongnu.org/nongnu/")
44-
(remote . "https://git.savannah.gnu.org/git/emacs/nongnu.git")
54+
(remote . ,(if elpaca-menu-elpa-use-mirror
55+
"https://github.com/emacsmirror/nongnu_elpa"
56+
"https://git.savannah.gnu.org/git/emacs/nongnu.git"))
4557
(branch-prefix . "elpa")))))
4658

4759
(defun elpaca-menu-elpa--recipes (elpa)

elpaca-menu-melpa.el

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -130,9 +130,9 @@ If REQUEST is `update`, update the MELPA recipe cache."
130130
(pcase request
131131
('index (elpaca-menu-melpa--index item))
132132
('update (setq elpaca-menu-melpa--index-cache nil)
133-
(if (file-exists-p (expand-file-name "melpa/" elpaca-cache-directory))
134-
(elpaca-menu-melpa--update)
135-
(elpaca-menu-melpa 'index item)))))
133+
(when (file-exists-p (expand-file-name "melpa/" elpaca-cache-directory))
134+
(elpaca-menu-melpa--update))
135+
(elpaca-menu-melpa 'index item))))
136136

137137
(provide 'elpaca-menu-melpa)
138138
;;; elpaca-menu-melpa.el ends here

elpaca-menu-org.el

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@
2525
;;; Code:
2626
(require 'elpaca)
2727
(defvar elpaca-menu-org--index-cache nil "Cache of Org menu index.")
28+
(defcustom elpaca-menu-org-make-manual t "When non-nil build Org manual."
29+
:type 'boolean :group 'elpaca)
2830

2931
(defun elpaca-menu-org--build ()
3032
"Generate `org-version.el`.
@@ -53,7 +55,7 @@
5355
(when (fboundp 'org-make-org-version)
5456
(message "Making org-version")
5557
(org-make-org-version orgversion gitversion))
56-
(when (fboundp 'org-make-manual)
58+
(when (and elpaca-menu-org-make-manual (fboundp 'org-make-manual))
5759
(cd "../doc")
5860
(message "Making manual")
5961
(org-make-manual))))
@@ -73,8 +75,11 @@
7375
:recipe
7476
(list
7577
:package "org"
76-
:repo '("https://git.savannah.gnu.org/git/emacs/org-mode.git" . "org")
77-
:pre-build '(progn (require 'elpaca-menu-org) (elpaca-menu-org--build))
78+
;;"https://git.savannah.gnu.org/git/emacs/org-mode.git"
79+
:repo '("https://git.sr.ht/~bzg/org-mode" . "org")
80+
:pre-build `(progn (require 'elpaca-menu-org)
81+
(setq elpaca-menu-org-make-manual ,elpaca-menu-org-make-manual)
82+
(elpaca-menu-org--build))
7883
:autoloads "org-loaddefs.el" :depth 1
7984
:build '(:not elpaca--generate-autoloads-async)
8085
:files '(:defaults ("etc/styles/" "etc/styles/*" "doc/*.texi")))))

0 commit comments

Comments
 (0)