|
@@ -413,17 +413,16 @@ project base directory."
|
|
|
|
|
|
(defun org-publish-expand-projects (projects-alist)
|
|
|
"Expand projects in PROJECTS-ALIST.
|
|
|
-This splices all the components into a list."
|
|
|
- (delete-dups
|
|
|
- (cl-mapcan (lambda (project)
|
|
|
- (pcase-let ((`(,name . ,properties) project))
|
|
|
- (cl-mapcan (lambda (component)
|
|
|
- (or
|
|
|
- (assoc component org-publish-project-alist)
|
|
|
- (user-error "Unknown component %S in project %S"
|
|
|
- component name)))
|
|
|
- (plist-get properties :components))))
|
|
|
- projects-alist)))
|
|
|
+This splices all the components into the list."
|
|
|
+ (let ((rest projects-alist) rtn p components)
|
|
|
+ (while (setq p (pop rest))
|
|
|
+ (if (setq components (plist-get (cdr p) :components))
|
|
|
+ (setq rest (append
|
|
|
+ (mapcar (lambda (x) (assoc x org-publish-project-alist))
|
|
|
+ components)
|
|
|
+ rest))
|
|
|
+ (push p rtn)))
|
|
|
+ (nreverse (delete-dups (delq nil rtn)))))
|
|
|
|
|
|
(defun org-publish-get-base-files (project)
|
|
|
"Return a list of all files in PROJECT."
|