unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Documentation on elpa.gnu.org
@ 2022-08-11  7:28 Philip Kaludercic
  2022-08-13 14:58 ` Stefan Monnier
  0 siblings, 1 reply; 4+ messages in thread
From: Philip Kaludercic @ 2022-08-11  7:28 UTC (permalink / raw)
  To: emacs-devel; +Cc: Stefan Monnier


Hi,

I'd like to link to https://elpa.gnu.org/packages/doc/ and
https://elpa.gnu.org/devel/doc/ from my package README files, to have
some place where I can rely on up-to-date documentation being available.
For Compat, the .../packaged/doc/compat.html link is currently broken,
which is my fault, but I wonder why .../devel/doc/compat.html is out of
date, despite elpa.git being up-to-date
https://git.savannah.gnu.org/cgit/emacs/elpa.git/log/?h=externals/compat.

Also, I am not sure if this is a bug, but
https://elpa.gnu.org/packages/doc/README.html appears to (arbitrarily?)
render the documentation for plz.  I guess this is not intentional.



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Documentation on elpa.gnu.org
  2022-08-11  7:28 Documentation on elpa.gnu.org Philip Kaludercic
@ 2022-08-13 14:58 ` Stefan Monnier
  2022-08-13 15:21   ` Philip Kaludercic
  0 siblings, 1 reply; 4+ messages in thread
From: Stefan Monnier @ 2022-08-13 14:58 UTC (permalink / raw)
  To: Philip Kaludercic; +Cc: emacs-devel

Philip Kaludercic [2022-08-11 07:28:45] wrote:
> I'd like to link to https://elpa.gnu.org/packages/doc/ and
> https://elpa.gnu.org/devel/doc/ from my package README files, to have
> some place where I can rely on up-to-date documentation being available.

That's indeed part of the intention behind those doc pages.

> For Compat, the .../packaged/doc/compat.html link is currently broken,
> which is my fault, but I wonder why .../devel/doc/compat.html is out of
> date, despite elpa.git being up-to-date
> https://git.savannah.gnu.org/cgit/emacs/elpa.git/log/?h=externals/compat.

`make build/compat` gives me the error below.

> Also, I am not sure if this is a bug, but
> https://elpa.gnu.org/packages/doc/README.html appears to (arbitrarily?)
> render the documentation for plz.  I guess this is not intentional.

No, indeed it's not, tho I'm not completely surprised either since we
share the single "doc" directory between all the packages: any doc file
with a name that's not specific to the package is liable to conflict
with that of another package.


        Stefan


======== Building tarball archive-devel/compat-28.1.2.0.0.20220810.191855.tar...

Error: error ("Error-indicating exit code in elpaa--call-sandboxed:
compat.texi:220: @menu pointe vers un nœud « Emacs 24.5 » inexistant
compat.texi:77: @detailmenu pointe vers un nœud « Emacs 24.5 » inexistant
")
  debug(error (error "Error-indicating exit code in elpaa--call-sandboxed:\ncompat.texi:220: @menu pointe vers un nœud « Emacs 24.5 » inexistant\ncompat.texi:77: @detailmenu pointe vers un nœud « Emacs 24.5 » inexistant\n"))
  signal(error ("Error-indicating exit code in elpaa--call-sandboxed:\ncompat.texi:220: @menu pointe vers un nœud « Emacs 24.5 » inexistant\ncompat.texi:77: @detailmenu pointe vers un nœud « Emacs 24.5 » inexistant\n"))
  error("Error-indicating exit code in elpaa--call-sandboxed:\n%s" "compat.texi:220: @menu pointe vers un nœud « Emacs 24.5 » inexistant\ncompat.texi:77: @detailmenu pointe vers un nœud « Emacs 24.5 » inexistant\n")
  (if (eq destination t) (error "Error-indicating exit code in elpaa--call-sandboxed:\n%s" (buffer-string)) (error "Error-indicating exit code in elpaa--call-sandboxed"))
  (if (eq exitcode 0) nil (if (eq destination t) (error "Error-indicating exit code in elpaa--call-sandboxed:\n%s" (buffer-string)) (error "Error-indicating exit code in elpaa--call-sandboxed")))
  (let ((exitcode (apply #'elpaa--call destination "bwrap" (append elpaa--bwrap-args args)))) (if (eq exitcode 0) nil (if (eq destination t) (error "Error-indicating exit code in elpaa--call-sandboxed:\n%s" (buffer-string)) (error "Error-indicating exit code in elpaa--call-sandboxed"))))
  (if (not elpaa--sandbox) (apply #'elpaa--call destination args) (elpaa--message "call-sandboxed %S" args) (let ((dd (expand-file-name default-directory))) (setq args (nconc (list "--bind" dd dd) args))) (let ((--dolist-tail-- (append elpaa--sandbox-ro-binds elpaa--sandbox-extra-ro-dirs))) (while --dolist-tail-- (let ((b (car --dolist-tail--))) (if (file-exists-p b) (progn (setq b (expand-file-name b)) (setq args (nconc (list "--ro-bind" b b) args)))) (setq --dolist-tail-- (cdr --dolist-tail--))))) (let ((exitcode (apply #'elpaa--call destination "bwrap" (append elpaa--bwrap-args args)))) (if (eq exitcode 0) nil (if (eq destination t) (error "Error-indicating exit code in elpaa--call-sandboxed:\n%s" (buffer-string)) (error "Error-indicating exit code in elpaa--call-sandboxed")))))
  elpaa--call-sandboxed(t "makeinfo" "--no-split" "compat.texi" "-o" "compat.info")
  (progn (elpaa--call-sandboxed t "makeinfo" "--no-split" docfile "-o" info-file) (message "%s" (buffer-string)))
  (unwind-protect (progn (elpaa--call-sandboxed t "makeinfo" "--no-split" docfile "-o" info-file) (message "%s" (buffer-string))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer)))
  (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (elpaa--call-sandboxed t "makeinfo" "--no-split" docfile "-o" info-file) (message "%s" (buffer-string))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))
  (let ((temp-buffer (generate-new-buffer " *temp*" t))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (elpaa--call-sandboxed t "makeinfo" "--no-split" docfile "-o" info-file) (message "%s" (buffer-string))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer)))))
  (let ((info-file (concat (file-name-sans-extension (file-name-nondirectory docfile)) ".info"))) (elpaa--temp-file info-file) (let ((temp-buffer (generate-new-buffer " *temp*" t))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (elpaa--call-sandboxed t "makeinfo" "--no-split" docfile "-o" info-file) (message "%s" (buffer-string))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (if html-dir (progn (elpaa--html-build-doc pkg-spec docfile html-dir))) (setq docfile info-file))
  (progn (let ((info-file (concat (file-name-sans-extension (file-name-nondirectory docfile)) ".info"))) (elpaa--temp-file info-file) (let ((temp-buffer (generate-new-buffer " *temp*" t))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (elpaa--call-sandboxed t "makeinfo" "--no-split" docfile "-o" info-file) (message "%s" (buffer-string))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (if html-dir (progn (elpaa--html-build-doc pkg-spec docfile html-dir))) (setq docfile info-file)))
  (if (and docfile (string-match "\\.texi\\(nfo\\)?\\'" docfile)) (progn (let ((info-file (concat (file-name-sans-extension (file-name-nondirectory docfile)) ".info"))) (elpaa--temp-file info-file) (let ((temp-buffer (generate-new-buffer " *temp*" t))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (elpaa--call-sandboxed t "makeinfo" "--no-split" docfile "-o" info-file) (message "%s" (buffer-string))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (if html-dir (progn (elpaa--html-build-doc pkg-spec docfile html-dir))) (setq docfile info-file))))
  (let* ((elpaa--sandbox-ro-binds (cons default-directory elpaa--sandbox-ro-binds)) (default-directory (elpaa--dirname dir)) (tmpfiles 'nil)) (if (and docfile (file-readable-p docfile) (string-match "\\.org\\'" docfile)) (progn (let ((temp-buffer (generate-new-buffer " *temp*" t))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (elpaa--call-sandboxed t "emacs" "--batch" "-l" "ox-texinfo" "--eval" "(setq vc-follow-symlinks nil)" docfile "--eval" "(setq org-babel-confirm-evaluate-answer-no t)" "--eval" "(message \"ELPATEXI=%s\" (org-texinfo-export-to-texinfo))") (message "%s" (buffer-string)) (goto-char (point-max)) (if (re-search-backward "ELPATEXI=\\(.*\\)\n?" nil t) (progn (setq docfile (concat (file-name-directory docfile) (match-string 1))) (setq tmpfiles (cons docfile tmpfiles)) (elpaa--temp-file docfile)))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))))) (if (and docfile (string-match "\\.texi\\(nfo\\)?\\'" docfile)) (progn (let ((info-file (concat (file-name-sans-extension (file-name-nondirectory docfile)) ".info"))) (elpaa--temp-file info-file) (let ((temp-buffer (generate-new-buffer " *temp*" t))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (elpaa--call-sandboxed t "makeinfo" "--no-split" docfile "-o" info-file) (message "%s" (buffer-string))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (if html-dir (progn (elpaa--html-build-doc pkg-spec docfile html-dir))) (setq docfile info-file)))) (if (and docfile (not (string-match "\\.info\\'" docfile))) (progn (error "Not a supported doc format: %s" docfile))) (if (and docfile (file-readable-p docfile) (file-name-directory docfile)) (progn (let ((info-file (file-name-nondirectory docfile))) (elpaa--temp-file info-file) (copy-file docfile info-file) (setq docfile info-file)))) (mapc #'delete-file tmpfiles) (if (and docfile (file-readable-p docfile)) (progn (let ((dir-file (expand-file-name "dir"))) (elpaa--temp-file dir-file) (let ((temp-buffer (generate-new-buffer " *temp*" t))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (elpaa--call-sandboxed t "install-info" (concat "--dir=" dir-file) docfile) (message "%s" (buffer-string))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer)))))))))
  elpaa--build-Info-1(("compat" :url "https://git.sr.ht/~pkal/compat" :doc "compat.texi" :auto-sync t :internal--html-docs nil) "compat.texi" "/home/monnier/src/emacs/elpa/packages/compat" "/home/monnier/src/emacs/elpa/archive-devel/doc/compat/")
  (let ((f (car --dolist-tail--))) (elpaa--build-Info-1 pkg-spec f dir html-dir) (setq --dolist-tail-- (cdr --dolist-tail--)))
  (while --dolist-tail-- (let ((f (car --dolist-tail--))) (elpaa--build-Info-1 pkg-spec f dir html-dir) (setq --dolist-tail-- (cdr --dolist-tail--))))
  (let ((--dolist-tail-- docfiles)) (while --dolist-tail-- (let ((f (car --dolist-tail--))) (elpaa--build-Info-1 pkg-spec f dir html-dir) (setq --dolist-tail-- (cdr --dolist-tail--)))))
  (let ((docfiles (elpaa--get-docfiles pkg-spec)) (html-dir (if elpaa--doc-subdirectory (progn (elpaa--dirname (car pkg-spec) (expand-file-name elpaa--doc-subdirectory tarball-dir)))))) (if html-dir (progn (if (not (file-readable-p html-dir)) (progn (make-directory html-dir t))))) (plist-put (cdr pkg-spec) :internal--html-docs nil) (let ((--dolist-tail-- docfiles)) (while --dolist-tail-- (let ((f (car --dolist-tail--))) (elpaa--build-Info-1 pkg-spec f dir html-dir) (setq --dolist-tail-- (cdr --dolist-tail--))))))
  elpaa--build-Info(("compat" :url "https://git.sr.ht/~pkal/compat" :doc "compat.texi" :auto-sync t :internal--html-docs nil) "/home/monnier/src/emacs/elpa/packages/compat" "archive-devel/")
  (let ((process-environment (elpaa--makeenv vers revision))) (elpaa--make pkg-spec dir) (elpaa--build-Info pkg-spec dir destdir))
  (let* ((destdir (file-name-directory tarball)) (pkgname (car pkg-spec)) (_ (if (and destdir (not (file-directory-p destdir))) (progn (make-directory destdir)))) (vers (nth 1 metadata)) (revision (elpaa--select-revision dir pkg-spec revision-function)) (elpaignore (expand-file-name ".elpaignore" dir)) (ignores (elpaa--spec-get pkg-spec :ignored-files)) (renames (elpaa--spec-get pkg-spec :renames)) (ldir (elpaa--spec-get pkg-spec :lisp-dir)) (re (concat "\\`" (regexp-quote pkgname) "-\\([0-9].*\\)\\.\\(tar\\|el\\)\\(\\.[a-z]*z\\)?\\'")) (oldtarballs (if tarball-only nil (mapcar #'(lambda (file) (string-match re file) (cons (match-string 1 file) file)) (directory-files destdir nil re)))) rendered) (if ldir (progn (setq renames (let* ((va (list (file-name-as-directory ldir) ""))) (if (member va renames) renames (cons va renames)))))) (elpaa--copyright-check pkg-spec) (let ((process-environment (elpaa--makeenv vers revision))) (elpaa--make pkg-spec dir) (elpaa--build-Info pkg-spec dir destdir)) (elpaa--write-pkg-file dir pkgname metadata revision) (setq rendered (elpaa--write-plain-readme dir pkg-spec)) (progn (or (not (string-match "[][*\\|?]" pkgname)) (cl--assertion-failed '(not (string-match "[][*\\|?]" pkgname)))) nil) (progn (or (not (string-match "[][*\\|?]" vers)) (cl--assertion-failed '(not (string-match "[][*\\|?]" vers)))) nil) (apply #'elpaa--call nil "tar" (cons "--exclude-vcs" (append (mapcar #'(lambda (i) (format "--exclude=packages/%s/%s" pkgname i)) ignores) (if (file-readable-p elpaignore) (progn (list "-X" elpaignore))) (mapcar #'(lambda (r) (elpaa--make-tar-transform pkgname r)) renames) (list "--transform" (format "s|^packages/%s|%s-%s|" pkgname pkgname vers) "-chf" tarball (concat "packages/" pkgname))))) (progn (or (file-readable-p tarball) (cl--assertion-failed '(file-readable-p tarball))) nil) (if tarball-only nil (let* ((pkgdesc (elpaa--process-multi-file-package dir pkgname 'dont-rename))) (elpaa--message "%s: %S" pkgname pkgdesc) (elpaa--update-archive-contents pkgdesc destdir) (if (and nil revision-function) (progn (let ((default-directory (elpaa--dirname dir))) (elpaa--call nil "git" "tag" "-f" (format "%s-release/%s-%s" elpaa--name pkgname vers))))) (let ((link (expand-file-name (format "%s.tar" pkgname) destdir))) (if (file-symlink-p link) (progn (delete-file link))) (condition-case nil (progn (make-symbolic-link (file-name-nondirectory tarball) link)) (file-error nil))) (setq oldtarballs (let ((elpaa--keep-max (if revision-function elpaa--keep-max (/ elpaa--keep-max 2)))) (elpaa--prune-old-tarballs tarball oldtarballs destdir (if revision-function (* 60 60 24 365 2))))) (let ((default-directory (expand-file-name destdir))) (elpaa--html-make-pkg pkgdesc pkg-spec (cons (cons vers (file-name-nondirectory tarball)) oldtarballs) dir rendered)))) 'new)
  (closure ((tarball-only) (revision-function) (metadata nil "28.1.2.0.0.20220810.191855" "Emacs Lisp Compatibility Library" ((emacs (24 3)) (nadvice (0 3))) ((:authors ("Philip Kaludercic" . "philipk@posteo.net")) (:maintainer "Compat Development" . "~pkal/compat-devel@lists.sr.ht") (:keywords "lisp") (:url . "https://sr.ht/~pkal/compat"))) (pkg-spec "compat" :url "https://git.sr.ht/~pkal/compat" :doc "compat.texi" :auto-sync t :internal--html-docs nil) (dir . "/home/monnier/src/emacs/elpa/packages/compat") (tarball . "archive-devel/compat-28.1.2.0.0.20220810.191855.tar")) nil (let* ((destdir (file-name-directory tarball)) (pkgname (car pkg-spec)) (_ (if (and destdir (not (file-directory-p destdir))) (progn (make-directory destdir)))) (vers (nth 1 metadata)) (revision (elpaa--select-revision dir pkg-spec revision-function)) (elpaignore (expand-file-name ".elpaignore" dir)) (ignores (elpaa--spec-get pkg-spec :ignored-files)) (renames (elpaa--spec-get pkg-spec :renames)) (ldir (elpaa--spec-get pkg-spec :lisp-dir)) (re (concat "\\`" (regexp-quote pkgname) "-\\([0-9].*\\)\\.\\(tar\\|el\\)\\(\\.[a-z]*z\\)?\\'")) (oldtarballs (if tarball-only nil (mapcar #'(lambda (file) (string-match re file) (cons (match-string 1 file) file)) (directory-files destdir nil re)))) rendered) (if ldir (progn (setq renames (let* ((va (list (file-name-as-directory ldir) ""))) (if (member va renames) renames (cons va renames)))))) (elpaa--copyright-check pkg-spec) (let ((process-environment (elpaa--makeenv vers revision))) (elpaa--make pkg-spec dir) (elpaa--build-Info pkg-spec dir destdir)) (elpaa--write-pkg-file dir pkgname metadata revision) (setq rendered (elpaa--write-plain-readme dir pkg-spec)) (progn (or (not (string-match "[][*\\|?]" pkgname)) (cl--assertion-failed '(not (string-match "[][*\\|?]" pkgname)))) nil) (progn (or (not (string-match "[][*\\|?]" vers)) (cl--assertion-failed '(not (string-match "[][*\\|?]" vers)))) nil) (apply #'elpaa--call nil "tar" (cons "--exclude-vcs" (append (mapcar #'(lambda (i) (format "--exclude=packages/%s/%s" pkgname i)) ignores) (if (file-readable-p elpaignore) (progn (list "-X" elpaignore))) (mapcar #'(lambda (r) (elpaa--make-tar-transform pkgname r)) renames) (list "--transform" (format "s|^packages/%s|%s-%s|" pkgname pkgname vers) "-chf" tarball (concat "packages/" pkgname))))) (progn (or (file-readable-p tarball) (cl--assertion-failed '(file-readable-p tarball))) nil) (if tarball-only nil (let* ((pkgdesc (elpaa--process-multi-file-package dir pkgname 'dont-rename))) (elpaa--message "%s: %S" pkgname pkgdesc) (elpaa--update-archive-contents pkgdesc destdir) (if (and nil revision-function) (progn (let ((default-directory (elpaa--dirname dir))) (elpaa--call nil "git" "tag" "-f" (format "%s-release/%s-%s" elpaa--name pkgname vers))))) (let ((link (expand-file-name (format "%s.tar" pkgname) destdir))) (if (file-symlink-p link) (progn (delete-file link))) (condition-case nil (progn (make-symbolic-link (file-name-nondirectory tarball) link)) (file-error nil))) (setq oldtarballs (let ((elpaa--keep-max (if revision-function elpaa--keep-max (/ elpaa--keep-max 2)))) (elpaa--prune-old-tarballs tarball oldtarballs destdir (if revision-function (* 60 60 24 365 2))))) (let ((default-directory (expand-file-name destdir))) (elpaa--html-make-pkg pkgdesc pkg-spec (cons (cons vers (file-name-nondirectory tarball)) oldtarballs) dir rendered)))) 'new))()
  funcall((closure ((tarball-only) (revision-function) (metadata nil "28.1.2.0.0.20220810.191855" "Emacs Lisp Compatibility Library" ((emacs (24 3)) (nadvice (0 3))) ((:authors ("Philip Kaludercic" . "philipk@posteo.net")) (:maintainer "Compat Development" . "~pkal/compat-devel@lists.sr.ht") (:keywords "lisp") (:url . "https://sr.ht/~pkal/compat"))) (pkg-spec "compat" :url "https://git.sr.ht/~pkal/compat" :doc "compat.texi" :auto-sync t :internal--html-docs nil) (dir . "/home/monnier/src/emacs/elpa/packages/compat") (tarball . "archive-devel/compat-28.1.2.0.0.20220810.191855.tar")) nil (let* ((destdir (file-name-directory tarball)) (pkgname (car pkg-spec)) (_ (if (and destdir (not (file-directory-p destdir))) (progn (make-directory destdir)))) (vers (nth 1 metadata)) (revision (elpaa--select-revision dir pkg-spec revision-function)) (elpaignore (expand-file-name ".elpaignore" dir)) (ignores (elpaa--spec-get pkg-spec :ignored-files)) (renames (elpaa--spec-get pkg-spec :renames)) (ldir (elpaa--spec-get pkg-spec :lisp-dir)) (re (concat "\\`" (regexp-quote pkgname) "-\\([0-9].*\\)\\.\\(tar\\|el\\)\\(\\.[a-z]*z\\)?\\'")) (oldtarballs (if tarball-only nil (mapcar #'(lambda (file) (string-match re file) (cons (match-string 1 file) file)) (directory-files destdir nil re)))) rendered) (if ldir (progn (setq renames (let* ((va (list (file-name-as-directory ldir) ""))) (if (member va renames) renames (cons va renames)))))) (elpaa--copyright-check pkg-spec) (let ((process-environment (elpaa--makeenv vers revision))) (elpaa--make pkg-spec dir) (elpaa--build-Info pkg-spec dir destdir)) (elpaa--write-pkg-file dir pkgname metadata revision) (setq rendered (elpaa--write-plain-readme dir pkg-spec)) (progn (or (not (string-match "[][*\\|?]" pkgname)) (cl--assertion-failed '(not (string-match "[][*\\|?]" pkgname)))) nil) (progn (or (not (string-match "[][*\\|?]" vers)) (cl--assertion-failed '(not (string-match "[][*\\|?]" vers)))) nil) (apply #'elpaa--call nil "tar" (cons "--exclude-vcs" (append (mapcar #'(lambda (i) (format "--exclude=packages/%s/%s" pkgname i)) ignores) (if (file-readable-p elpaignore) (progn (list "-X" elpaignore))) (mapcar #'(lambda (r) (elpaa--make-tar-transform pkgname r)) renames) (list "--transform" (format "s|^packages/%s|%s-%s|" pkgname pkgname vers) "-chf" tarball (concat "packages/" pkgname))))) (progn (or (file-readable-p tarball) (cl--assertion-failed '(file-readable-p tarball))) nil) (if tarball-only nil (let* ((pkgdesc (elpaa--process-multi-file-package dir pkgname 'dont-rename))) (elpaa--message "%s: %S" pkgname pkgdesc) (elpaa--update-archive-contents pkgdesc destdir) (if (and nil revision-function) (progn (let ((default-directory (elpaa--dirname dir))) (elpaa--call nil "git" "tag" "-f" (format "%s-release/%s-%s" elpaa--name pkgname vers))))) (let ((link (expand-file-name (format "%s.tar" pkgname) destdir))) (if (file-symlink-p link) (progn (delete-file link))) (condition-case nil (progn (make-symbolic-link (file-name-nondirectory tarball) link)) (file-error nil))) (setq oldtarballs (let ((elpaa--keep-max (if revision-function elpaa--keep-max (/ elpaa--keep-max 2)))) (elpaa--prune-old-tarballs tarball oldtarballs destdir (if revision-function (* 60 60 24 365 2))))) (let ((default-directory (expand-file-name destdir))) (elpaa--html-make-pkg pkgdesc pkg-spec (cons (cons vers (file-name-nondirectory tarball)) oldtarballs) dir rendered)))) 'new)))
  (progn (elpaa--clean dir) (funcall f))
  (unwind-protect (progn (elpaa--clean dir) (funcall f)) (elpaa--message "Deleting temp files: %S" elpaa--temp-files) (let ((--dolist-tail-- elpaa--temp-files)) (while --dolist-tail-- (let ((f (car --dolist-tail--))) (if (stringp f) (delete-file f) (funcall f)) (setq --dolist-tail-- (cdr --dolist-tail--))))))
  (let ((elpaa--temp-files nil)) (unwind-protect (progn (elpaa--clean dir) (funcall f)) (elpaa--message "Deleting temp files: %S" elpaa--temp-files) (let ((--dolist-tail-- elpaa--temp-files)) (while --dolist-tail-- (let ((f (car --dolist-tail--))) (if (stringp f) (delete-file f) (funcall f)) (setq --dolist-tail-- (cdr --dolist-tail--)))))))
  elpaa--call-with-temp-files("/home/monnier/src/emacs/elpa/packages/compat" (closure ((tarball-only) (revision-function) (metadata nil "28.1.2.0.0.20220810.191855" "Emacs Lisp Compatibility Library" ((emacs (24 3)) (nadvice (0 3))) ((:authors ("Philip Kaludercic" . "philipk@posteo.net")) (:maintainer "Compat Development" . "~pkal/compat-devel@lists.sr.ht") (:keywords "lisp") (:url . "https://sr.ht/~pkal/compat"))) (pkg-spec "compat" :url "https://git.sr.ht/~pkal/compat" :doc "compat.texi" :auto-sync t :internal--html-docs nil) (dir . "/home/monnier/src/emacs/elpa/packages/compat") (tarball . "archive-devel/compat-28.1.2.0.0.20220810.191855.tar")) nil (let* ((destdir (file-name-directory tarball)) (pkgname (car pkg-spec)) (_ (if (and destdir (not (file-directory-p destdir))) (progn (make-directory destdir)))) (vers (nth 1 metadata)) (revision (elpaa--select-revision dir pkg-spec revision-function)) (elpaignore (expand-file-name ".elpaignore" dir)) (ignores (elpaa--spec-get pkg-spec :ignored-files)) (renames (elpaa--spec-get pkg-spec :renames)) (ldir (elpaa--spec-get pkg-spec :lisp-dir)) (re (concat "\\`" (regexp-quote pkgname) "-\\([0-9].*\\)\\.\\(tar\\|el\\)\\(\\.[a-z]*z\\)?\\'")) (oldtarballs (if tarball-only nil (mapcar #'(lambda (file) (string-match re file) (cons (match-string 1 file) file)) (directory-files destdir nil re)))) rendered) (if ldir (progn (setq renames (let* ((va (list (file-name-as-directory ldir) ""))) (if (member va renames) renames (cons va renames)))))) (elpaa--copyright-check pkg-spec) (let ((process-environment (elpaa--makeenv vers revision))) (elpaa--make pkg-spec dir) (elpaa--build-Info pkg-spec dir destdir)) (elpaa--write-pkg-file dir pkgname metadata revision) (setq rendered (elpaa--write-plain-readme dir pkg-spec)) (progn (or (not (string-match "[][*\\|?]" pkgname)) (cl--assertion-failed '(not (string-match "[][*\\|?]" pkgname)))) nil) (progn (or (not (string-match "[][*\\|?]" vers)) (cl--assertion-failed '(not (string-match "[][*\\|?]" vers)))) nil) (apply #'elpaa--call nil "tar" (cons "--exclude-vcs" (append (mapcar #'(lambda (i) (format "--exclude=packages/%s/%s" pkgname i)) ignores) (if (file-readable-p elpaignore) (progn (list "-X" elpaignore))) (mapcar #'(lambda (r) (elpaa--make-tar-transform pkgname r)) renames) (list "--transform" (format "s|^packages/%s|%s-%s|" pkgname pkgname vers) "-chf" tarball (concat "packages/" pkgname))))) (progn (or (file-readable-p tarball) (cl--assertion-failed '(file-readable-p tarball))) nil) (if tarball-only nil (let* ((pkgdesc (elpaa--process-multi-file-package dir pkgname 'dont-rename))) (elpaa--message "%s: %S" pkgname pkgdesc) (elpaa--update-archive-contents pkgdesc destdir) (if (and nil revision-function) (progn (let ((default-directory (elpaa--dirname dir))) (elpaa--call nil "git" "tag" "-f" (format "%s-release/%s-%s" elpaa--name pkgname vers))))) (let ((link (expand-file-name (format "%s.tar" pkgname) destdir))) (if (file-symlink-p link) (progn (delete-file link))) (condition-case nil (progn (make-symbolic-link (file-name-nondirectory tarball) link)) (file-error nil))) (setq oldtarballs (let ((elpaa--keep-max (if revision-function elpaa--keep-max (/ elpaa--keep-max 2)))) (elpaa--prune-old-tarballs tarball oldtarballs destdir (if revision-function (* 60 60 24 365 2))))) (let ((default-directory (expand-file-name destdir))) (elpaa--html-make-pkg pkgdesc pkg-spec (cons (cons vers (file-name-nondirectory tarball)) oldtarballs) dir rendered)))) 'new)))
  elpaa--make-one-tarball-1("archive-devel/compat-28.1.2.0.0.20220810.191855.tar" "/home/monnier/src/emacs/elpa/packages/compat" ("compat" :url "https://git.sr.ht/~pkal/compat" :doc "compat.texi" :auto-sync t :internal--html-docs nil) (nil "28.1.2.0.0.20220810.191855" "Emacs Lisp Compatibility Library" ((emacs (24 3)) (nadvice (0 3))) ((:authors ("Philip Kaludercic" . "philipk@posteo.net")) (:maintainer "Compat Development" . "~pkal/compat-devel@lists.sr.ht") (:keywords "lisp") (:url . "https://sr.ht/~pkal/compat"))) nil nil)
  (setq res (elpaa--make-one-tarball-1 tarball dir pkg-spec metadata revision-function tarball-only))
  (condition-case err (setq res (elpaa--make-one-tarball-1 tarball dir pkg-spec metadata revision-function tarball-only)) ((debug error) (message "Build error for %s: %S" tarball err) nil))
  (unwind-protect (condition-case err (setq res (elpaa--make-one-tarball-1 tarball dir pkg-spec metadata revision-function tarball-only)) ((debug error) (message "Build error for %s: %S" tarball err) nil)) (message (if res "######## Built new package %s!" "######## Build of package %s FAILED!!") tarball))
  (let ((res nil)) (unwind-protect (condition-case err (setq res (elpaa--make-one-tarball-1 tarball dir pkg-spec metadata revision-function tarball-only)) ((debug error) (message "Build error for %s: %S" tarball err) nil)) (message (if res "######## Built new package %s!" "######## Build of package %s FAILED!!") tarball)))
  (if (and (or (file-readable-p tarball) (file-readable-p (replace-regexp-in-string "\\.tar\\'" ".el" tarball))) (or tarball-only (let ((pkgname (car pkg-spec)) (default-directory (expand-file-name (file-name-directory tarball)))) (and (file-readable-p (concat pkgname "-readme.txt")) (file-readable-p (concat pkgname ".html")) (file-readable-p (concat pkgname ".svg")))))) (progn (elpaa--message "Tarball %s already built!" tarball) nil) (message "======== Building tarball %s..." tarball) (let ((res nil)) (unwind-protect (condition-case err (setq res (elpaa--make-one-tarball-1 tarball dir pkg-spec metadata revision-function tarball-only)) ((debug error) (message "Build error for %s: %S" tarball err) nil)) (message (if res "######## Built new package %s!" "######## Build of package %s FAILED!!") tarball))))
  elpaa--make-one-tarball("archive-devel/compat-28.1.2.0.0.20220810.191855.tar" "/home/monnier/src/emacs/elpa/packages/compat" ("compat" :url "https://git.sr.ht/~pkal/compat" :doc "compat.texi" :auto-sync t :internal--html-docs nil) (nil "28.1.2.0.0.20220810.191855" "Emacs Lisp Compatibility Library" ((emacs (24 3)) (nadvice (0 3))) ((:authors ("Philip Kaludercic" . "philipk@posteo.net")) (:maintainer "Compat Development" . "~pkal/compat-devel@lists.sr.ht") (:keywords "lisp") (:url . "https://sr.ht/~pkal/compat"))) nil nil)
  (let ((elpaa--name (concat elpaa--name "-devel"))) (elpaa--make-one-tarball tarball dir pkg-spec (cons nil (cons devel-vers (nthcdr 2 metadata))) nil tarball-only))
  (let* ((date-version (elpaa--get-devel-version dir pkg-spec)) (devel-vers (concat vers (if (string-match "[0-9]\\'" vers) ".") "0." date-version)) (tarball (or tarball-only (concat elpaa--devel-subdir (format "%s-%s.tar" pkgname devel-vers)))) (new (let ((elpaa--name (concat elpaa--name "-devel"))) (elpaa--make-one-tarball tarball dir pkg-spec (cons nil (cons devel-vers (nthcdr 2 metadata))) nil tarball-only)))) (cond (tarball-only nil) ((equal vers "0") (elpaa--message "Package %s not released yet!" pkgname)) ((< (apply #'min (version-to-list vers)) 0) (cond ((not new) (elpaa--message "Nothing new for package %s!" pkgname)) (t (let* ((last-rel (elpaa--get-last-release pkg-spec)) (tarball (concat elpaa--release-subdir (format "%s-%s.tar" pkgname (car last-rel)))) (metadata (cons nil (cons (car last-rel) (nthcdr 2 metadata))))) (if (not last-rel) (elpaa--message "Package %s not released yet!" pkgname) (if (elpaa--make-one-tarball tarball dir pkg-spec metadata #'(lambda nil (cdr last-rel))) (progn (elpaa--release-email pkg-spec metadata dir)))))))) (t (let ((tarball (concat elpaa--release-subdir (format "%s-%s.tar" pkgname vers)))) (if (elpaa--make-one-tarball tarball dir pkg-spec metadata #'(lambda nil (elpaa--get-release-revision dir pkg-spec vers (plist-get (cdr pkg-spec) :version-map)))) (progn (elpaa--release-email pkg-spec metadata dir)))))))
  (if (null metadata) (error "No metadata found for package: %s" pkgname) (let* ((v metadata)) (setcar v nil)) (let* ((date-version (elpaa--get-devel-version dir pkg-spec)) (devel-vers (concat vers (if (string-match "[0-9]\\'" vers) ".") "0." date-version)) (tarball (or tarball-only (concat elpaa--devel-subdir (format "%s-%s.tar" pkgname devel-vers)))) (new (let ((elpaa--name (concat elpaa--name "-devel"))) (elpaa--make-one-tarball tarball dir pkg-spec (cons nil (cons devel-vers (nthcdr 2 metadata))) nil tarball-only)))) (cond (tarball-only nil) ((equal vers "0") (elpaa--message "Package %s not released yet!" pkgname)) ((< (apply #'min (version-to-list vers)) 0) (cond ((not new) (elpaa--message "Nothing new for package %s!" pkgname)) (t (let* ((last-rel (elpaa--get-last-release pkg-spec)) (tarball (concat elpaa--release-subdir (format "%s-%s.tar" pkgname (car last-rel)))) (metadata (cons nil (cons (car last-rel) (nthcdr 2 metadata))))) (if (not last-rel) (elpaa--message "Package %s not released yet!" pkgname) (if (elpaa--make-one-tarball tarball dir pkg-spec metadata #'(lambda nil (cdr last-rel))) (progn (elpaa--release-email pkg-spec metadata dir)))))))) (t (let ((tarball (concat elpaa--release-subdir (format "%s-%s.tar" pkgname vers)))) (if (elpaa--make-one-tarball tarball dir pkg-spec metadata #'(lambda nil (elpaa--get-release-revision dir pkg-spec vers (plist-get (cdr pkg-spec) :version-map)))) (progn (elpaa--release-email pkg-spec metadata dir))))))))
  (let* ((pkgname (car pkg-spec)) (dir (expand-file-name pkgname "packages")) (_ (cond (tarball-only nil) ((eq (nth 1 pkg-spec) :core) (elpaa--core-package-sync pkg-spec)) (t (elpaa--worktree-sync pkg-spec)))) (_ (elpaa--message "pkg-spec for %s: %S" pkgname pkg-spec)) 
Build error for archive-devel/compat-28.1.2.0.0.20220810.191855.tar: (error "Error-indicating exit code in elpaa--call-sandboxed:
compat.texi:220: @menu pointe vers un nœud « Emacs 24.5 » inexistant
compat.texi:77: @detailmenu pointe vers un nœud « Emacs 24.5 » inexistant
")
######## Build of package archive-devel/compat-28.1.2.0.0.20220810.191855.tar FAILED!!




^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Documentation on elpa.gnu.org
  2022-08-13 14:58 ` Stefan Monnier
@ 2022-08-13 15:21   ` Philip Kaludercic
  2022-08-13 16:13     ` Stefan Monnier
  0 siblings, 1 reply; 4+ messages in thread
From: Philip Kaludercic @ 2022-08-13 15:21 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: emacs-devel

Stefan Monnier <monnier@iro.umontreal.ca> writes:

> Philip Kaludercic [2022-08-11 07:28:45] wrote:
>> I'd like to link to https://elpa.gnu.org/packages/doc/ and
>> https://elpa.gnu.org/devel/doc/ from my package README files, to have
>> some place where I can rely on up-to-date documentation being available.
>
> That's indeed part of the intention behind those doc pages.
>
>> For Compat, the .../packaged/doc/compat.html link is currently broken,
>> which is my fault, but I wonder why .../devel/doc/compat.html is out of
>> date, despite elpa.git being up-to-date
>> https://git.savannah.gnu.org/cgit/emacs/elpa.git/log/?h=externals/compat.
>
> `make build/compat` gives me the error below.

Ok, my bad, sorry about that.  I had just been using makeinfo --html,
and that apparently does not generate that warning?

>> Also, I am not sure if this is a bug, but
>> https://elpa.gnu.org/packages/doc/README.html appears to (arbitrarily?)
>> render the documentation for plz.  I guess this is not intentional.
>
> No, indeed it's not, tho I'm not completely surprised either since we
> share the single "doc" directory between all the packages: any doc file
> with a name that's not specific to the package is liable to conflict
> with that of another package.
>
>
>         Stefan
>
>
> ======== Building tarball archive-devel/compat-28.1.2.0.0.20220810.191855.tar...
>
> Error: error ("Error-indicating exit code in elpaa--call-sandboxed:
> compat.texi:220: @menu pointe vers un nœud « Emacs 24.5 » inexistant
> compat.texi:77: @detailmenu pointe vers un nœud « Emacs 24.5 » inexistant
> ")
>   debug(error (error "Error-indicating exit code in elpaa--call-sandboxed:\ncompat.texi:220: @menu pointe vers un nœud « Emacs 24.5 » inexistant\ncompat.texi:77: @detailmenu pointe vers un nœud « Emacs 24.5 » inexistant\n"))
>   signal(error ("Error-indicating exit code in elpaa--call-sandboxed:\ncompat.texi:220: @menu pointe vers un nœud « Emacs 24.5 » inexistant\ncompat.texi:77: @detailmenu pointe vers un nœud « Emacs 24.5 » inexistant\n"))
>   error("Error-indicating exit code in elpaa--call-sandboxed:\n%s" "compat.texi:220: @menu pointe vers un nœud « Emacs 24.5 » inexistant\ncompat.texi:77: @detailmenu pointe vers un nœud « Emacs 24.5 » inexistant\n")
>   (if (eq destination t) (error "Error-indicating exit code in elpaa--call-sandboxed:\n%s" (buffer-string)) (error "Error-indicating exit code in elpaa--call-sandboxed"))
>   (if (eq exitcode 0) nil (if (eq destination t) (error "Error-indicating exit code in elpaa--call-sandboxed:\n%s" (buffer-string)) (error "Error-indicating exit code in elpaa--call-sandboxed")))
>   (let ((exitcode (apply #'elpaa--call destination "bwrap" (append elpaa--bwrap-args args)))) (if (eq exitcode 0) nil (if (eq destination t) (error "Error-indicating exit code in elpaa--call-sandboxed:\n%s" (buffer-string)) (error "Error-indicating exit code in elpaa--call-sandboxed"))))
>   (if (not elpaa--sandbox) (apply #'elpaa--call destination args) (elpaa--message "call-sandboxed %S" args) (let ((dd (expand-file-name default-directory))) (setq args (nconc (list "--bind" dd dd) args))) (let ((--dolist-tail-- (append elpaa--sandbox-ro-binds elpaa--sandbox-extra-ro-dirs))) (while --dolist-tail-- (let ((b (car --dolist-tail--))) (if (file-exists-p b) (progn (setq b (expand-file-name b)) (setq args (nconc (list "--ro-bind" b b) args)))) (setq --dolist-tail-- (cdr --dolist-tail--))))) (let ((exitcode (apply #'elpaa--call destination "bwrap" (append elpaa--bwrap-args args)))) (if (eq exitcode 0) nil (if (eq destination t) (error "Error-indicating exit code in elpaa--call-sandboxed:\n%s" (buffer-string)) (error "Error-indicating exit code in elpaa--call-sandboxed")))))
>   elpaa--call-sandboxed(t "makeinfo" "--no-split" "compat.texi" "-o" "compat.info")
>   (progn (elpaa--call-sandboxed t "makeinfo" "--no-split" docfile "-o" info-file) (message "%s" (buffer-string)))
>   (unwind-protect (progn (elpaa--call-sandboxed t "makeinfo" "--no-split" docfile "-o" info-file) (message "%s" (buffer-string))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer)))
>   (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (elpaa--call-sandboxed t "makeinfo" "--no-split" docfile "-o" info-file) (message "%s" (buffer-string))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))
>   (let ((temp-buffer (generate-new-buffer " *temp*" t))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (elpaa--call-sandboxed t "makeinfo" "--no-split" docfile "-o" info-file) (message "%s" (buffer-string))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer)))))
>   (let ((info-file (concat (file-name-sans-extension (file-name-nondirectory docfile)) ".info"))) (elpaa--temp-file info-file) (let ((temp-buffer (generate-new-buffer " *temp*" t))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (elpaa--call-sandboxed t "makeinfo" "--no-split" docfile "-o" info-file) (message "%s" (buffer-string))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (if html-dir (progn (elpaa--html-build-doc pkg-spec docfile html-dir))) (setq docfile info-file))
>   (progn (let ((info-file (concat (file-name-sans-extension (file-name-nondirectory docfile)) ".info"))) (elpaa--temp-file info-file) (let ((temp-buffer (generate-new-buffer " *temp*" t))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (elpaa--call-sandboxed t "makeinfo" "--no-split" docfile "-o" info-file) (message "%s" (buffer-string))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (if html-dir (progn (elpaa--html-build-doc pkg-spec docfile html-dir))) (setq docfile info-file)))
>   (if (and docfile (string-match "\\.texi\\(nfo\\)?\\'" docfile)) (progn (let ((info-file (concat (file-name-sans-extension (file-name-nondirectory docfile)) ".info"))) (elpaa--temp-file info-file) (let ((temp-buffer (generate-new-buffer " *temp*" t))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (elpaa--call-sandboxed t "makeinfo" "--no-split" docfile "-o" info-file) (message "%s" (buffer-string))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (if html-dir (progn (elpaa--html-build-doc pkg-spec docfile html-dir))) (setq docfile info-file))))
>   (let* ((elpaa--sandbox-ro-binds (cons default-directory elpaa--sandbox-ro-binds)) (default-directory (elpaa--dirname dir)) (tmpfiles 'nil)) (if (and docfile (file-readable-p docfile) (string-match "\\.org\\'" docfile)) (progn (let ((temp-buffer (generate-new-buffer " *temp*" t))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (elpaa--call-sandboxed t "emacs" "--batch" "-l" "ox-texinfo" "--eval" "(setq vc-follow-symlinks nil)" docfile "--eval" "(setq org-babel-confirm-evaluate-answer-no t)" "--eval" "(message \"ELPATEXI=%s\" (org-texinfo-export-to-texinfo))") (message "%s" (buffer-string)) (goto-char (point-max)) (if (re-search-backward "ELPATEXI=\\(.*\\)\n?" nil t) (progn (setq docfile (concat (file-name-directory docfile) (match-string 1))) (setq tmpfiles (cons docfile tmpfiles)) (elpaa--temp-file docfile)))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))))) (if (and docfile (string-match "\\.texi\\(nfo\\)?\\'" docfile)) (progn (let ((info-file (concat (file-name-sans-extension (file-name-nondirectory docfile)) ".info"))) (elpaa--temp-file info-file) (let ((temp-buffer (generate-new-buffer " *temp*" t))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (elpaa--call-sandboxed t "makeinfo" "--no-split" docfile "-o" info-file) (message "%s" (buffer-string))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (if html-dir (progn (elpaa--html-build-doc pkg-spec docfile html-dir))) (setq docfile info-file)))) (if (and docfile (not (string-match "\\.info\\'" docfile))) (progn (error "Not a supported doc format: %s" docfile))) (if (and docfile (file-readable-p docfile) (file-name-directory docfile)) (progn (let ((info-file (file-name-nondirectory docfile))) (elpaa--temp-file info-file) (copy-file docfile info-file) (setq docfile info-file)))) (mapc #'delete-file tmpfiles) (if (and docfile (file-readable-p docfile)) (progn (let ((dir-file (expand-file-name "dir"))) (elpaa--temp-file dir-file) (let ((temp-buffer (generate-new-buffer " *temp*" t))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (elpaa--call-sandboxed t "install-info" (concat "--dir=" dir-file) docfile) (message "%s" (buffer-string))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer)))))))))
>   elpaa--build-Info-1(("compat" :url "https://git.sr.ht/~pkal/compat" :doc "compat.texi" :auto-sync t :internal--html-docs nil) "compat.texi" "/home/monnier/src/emacs/elpa/packages/compat" "/home/monnier/src/emacs/elpa/archive-devel/doc/compat/")
>   (let ((f (car --dolist-tail--))) (elpaa--build-Info-1 pkg-spec f dir html-dir) (setq --dolist-tail-- (cdr --dolist-tail--)))
>   (while --dolist-tail-- (let ((f (car --dolist-tail--))) (elpaa--build-Info-1 pkg-spec f dir html-dir) (setq --dolist-tail-- (cdr --dolist-tail--))))
>   (let ((--dolist-tail-- docfiles)) (while --dolist-tail-- (let ((f (car --dolist-tail--))) (elpaa--build-Info-1 pkg-spec f dir html-dir) (setq --dolist-tail-- (cdr --dolist-tail--)))))
>   (let ((docfiles (elpaa--get-docfiles pkg-spec)) (html-dir (if elpaa--doc-subdirectory (progn (elpaa--dirname (car pkg-spec) (expand-file-name elpaa--doc-subdirectory tarball-dir)))))) (if html-dir (progn (if (not (file-readable-p html-dir)) (progn (make-directory html-dir t))))) (plist-put (cdr pkg-spec) :internal--html-docs nil) (let ((--dolist-tail-- docfiles)) (while --dolist-tail-- (let ((f (car --dolist-tail--))) (elpaa--build-Info-1 pkg-spec f dir html-dir) (setq --dolist-tail-- (cdr --dolist-tail--))))))
>   elpaa--build-Info(("compat" :url "https://git.sr.ht/~pkal/compat" :doc "compat.texi" :auto-sync t :internal--html-docs nil) "/home/monnier/src/emacs/elpa/packages/compat" "archive-devel/")
>   (let ((process-environment (elpaa--makeenv vers revision))) (elpaa--make pkg-spec dir) (elpaa--build-Info pkg-spec dir destdir))
>   (let* ((destdir (file-name-directory tarball)) (pkgname (car pkg-spec)) (_ (if (and destdir (not (file-directory-p destdir))) (progn (make-directory destdir)))) (vers (nth 1 metadata)) (revision (elpaa--select-revision dir pkg-spec revision-function)) (elpaignore (expand-file-name ".elpaignore" dir)) (ignores (elpaa--spec-get pkg-spec :ignored-files)) (renames (elpaa--spec-get pkg-spec :renames)) (ldir (elpaa--spec-get pkg-spec :lisp-dir)) (re (concat "\\`" (regexp-quote pkgname) "-\\([0-9].*\\)\\.\\(tar\\|el\\)\\(\\.[a-z]*z\\)?\\'")) (oldtarballs (if tarball-only nil (mapcar #'(lambda (file) (string-match re file) (cons (match-string 1 file) file)) (directory-files destdir nil re)))) rendered) (if ldir (progn (setq renames (let* ((va (list (file-name-as-directory ldir) ""))) (if (member va renames) renames (cons va renames)))))) (elpaa--copyright-check pkg-spec) (let ((process-environment (elpaa--makeenv vers revision))) (elpaa--make pkg-spec dir) (elpaa--build-Info pkg-spec dir destdir)) (elpaa--write-pkg-file dir pkgname metadata revision) (setq rendered (elpaa--write-plain-readme dir pkg-spec)) (progn (or (not (string-match "[][*\\|?]" pkgname)) (cl--assertion-failed '(not (string-match "[][*\\|?]" pkgname)))) nil) (progn (or (not (string-match "[][*\\|?]" vers)) (cl--assertion-failed '(not (string-match "[][*\\|?]" vers)))) nil) (apply #'elpaa--call nil "tar" (cons "--exclude-vcs" (append (mapcar #'(lambda (i) (format "--exclude=packages/%s/%s" pkgname i)) ignores) (if (file-readable-p elpaignore) (progn (list "-X" elpaignore))) (mapcar #'(lambda (r) (elpaa--make-tar-transform pkgname r)) renames) (list "--transform" (format "s|^packages/%s|%s-%s|" pkgname pkgname vers) "-chf" tarball (concat "packages/" pkgname))))) (progn (or (file-readable-p tarball) (cl--assertion-failed '(file-readable-p tarball))) nil) (if tarball-only nil (let* ((pkgdesc (elpaa--process-multi-file-package dir pkgname 'dont-rename))) (elpaa--message "%s: %S" pkgname pkgdesc) (elpaa--update-archive-contents pkgdesc destdir) (if (and nil revision-function) (progn (let ((default-directory (elpaa--dirname dir))) (elpaa--call nil "git" "tag" "-f" (format "%s-release/%s-%s" elpaa--name pkgname vers))))) (let ((link (expand-file-name (format "%s.tar" pkgname) destdir))) (if (file-symlink-p link) (progn (delete-file link))) (condition-case nil (progn (make-symbolic-link (file-name-nondirectory tarball) link)) (file-error nil))) (setq oldtarballs (let ((elpaa--keep-max (if revision-function elpaa--keep-max (/ elpaa--keep-max 2)))) (elpaa--prune-old-tarballs tarball oldtarballs destdir (if revision-function (* 60 60 24 365 2))))) (let ((default-directory (expand-file-name destdir))) (elpaa--html-make-pkg pkgdesc pkg-spec (cons (cons vers (file-name-nondirectory tarball)) oldtarballs) dir rendered)))) 'new)
>   (closure ((tarball-only) (revision-function) (metadata nil "28.1.2.0.0.20220810.191855" "Emacs Lisp Compatibility Library" ((emacs (24 3)) (nadvice (0 3))) ((:authors ("Philip Kaludercic" . "philipk@posteo.net")) (:maintainer "Compat Development" . "~pkal/compat-devel@lists.sr.ht") (:keywords "lisp") (:url . "https://sr.ht/~pkal/compat"))) (pkg-spec "compat" :url "https://git.sr.ht/~pkal/compat" :doc "compat.texi" :auto-sync t :internal--html-docs nil) (dir . "/home/monnier/src/emacs/elpa/packages/compat") (tarball . "archive-devel/compat-28.1.2.0.0.20220810.191855.tar")) nil (let* ((destdir (file-name-directory tarball)) (pkgname (car pkg-spec)) (_ (if (and destdir (not (file-directory-p destdir))) (progn (make-directory destdir)))) (vers (nth 1 metadata)) (revision (elpaa--select-revision dir pkg-spec revision-function)) (elpaignore (expand-file-name ".elpaignore" dir)) (ignores (elpaa--spec-get pkg-spec :ignored-files)) (renames (elpaa--spec-get pkg-spec :renames)) (ldir (elpaa--spec-get pkg-spec :lisp-dir)) (re (concat "\\`" (regexp-quote pkgname) "-\\([0-9].*\\)\\.\\(tar\\|el\\)\\(\\.[a-z]*z\\)?\\'")) (oldtarballs (if tarball-only nil (mapcar #'(lambda (file) (string-match re file) (cons (match-string 1 file) file)) (directory-files destdir nil re)))) rendered) (if ldir (progn (setq renames (let* ((va (list (file-name-as-directory ldir) ""))) (if (member va renames) renames (cons va renames)))))) (elpaa--copyright-check pkg-spec) (let ((process-environment (elpaa--makeenv vers revision))) (elpaa--make pkg-spec dir) (elpaa--build-Info pkg-spec dir destdir)) (elpaa--write-pkg-file dir pkgname metadata revision) (setq rendered (elpaa--write-plain-readme dir pkg-spec)) (progn (or (not (string-match "[][*\\|?]" pkgname)) (cl--assertion-failed '(not (string-match "[][*\\|?]" pkgname)))) nil) (progn (or (not (string-match "[][*\\|?]" vers)) (cl--assertion-failed '(not (string-match "[][*\\|?]" vers)))) nil) (apply #'elpaa--call nil "tar" (cons "--exclude-vcs" (append (mapcar #'(lambda (i) (format "--exclude=packages/%s/%s" pkgname i)) ignores) (if (file-readable-p elpaignore) (progn (list "-X" elpaignore))) (mapcar #'(lambda (r) (elpaa--make-tar-transform pkgname r)) renames) (list "--transform" (format "s|^packages/%s|%s-%s|" pkgname pkgname vers) "-chf" tarball (concat "packages/" pkgname))))) (progn (or (file-readable-p tarball) (cl--assertion-failed '(file-readable-p tarball))) nil) (if tarball-only nil (let* ((pkgdesc (elpaa--process-multi-file-package dir pkgname 'dont-rename))) (elpaa--message "%s: %S" pkgname pkgdesc) (elpaa--update-archive-contents pkgdesc destdir) (if (and nil revision-function) (progn (let ((default-directory (elpaa--dirname dir))) (elpaa--call nil "git" "tag" "-f" (format "%s-release/%s-%s" elpaa--name pkgname vers))))) (let ((link (expand-file-name (format "%s.tar" pkgname) destdir))) (if (file-symlink-p link) (progn (delete-file link))) (condition-case nil (progn (make-symbolic-link (file-name-nondirectory tarball) link)) (file-error nil))) (setq oldtarballs (let ((elpaa--keep-max (if revision-function elpaa--keep-max (/ elpaa--keep-max 2)))) (elpaa--prune-old-tarballs tarball oldtarballs destdir (if revision-function (* 60 60 24 365 2))))) (let ((default-directory (expand-file-name destdir))) (elpaa--html-make-pkg pkgdesc pkg-spec (cons (cons vers (file-name-nondirectory tarball)) oldtarballs) dir rendered)))) 'new))()
>   funcall((closure ((tarball-only) (revision-function) (metadata nil "28.1.2.0.0.20220810.191855" "Emacs Lisp Compatibility Library" ((emacs (24 3)) (nadvice (0 3))) ((:authors ("Philip Kaludercic" . "philipk@posteo.net")) (:maintainer "Compat Development" . "~pkal/compat-devel@lists.sr.ht") (:keywords "lisp") (:url . "https://sr.ht/~pkal/compat"))) (pkg-spec "compat" :url "https://git.sr.ht/~pkal/compat" :doc "compat.texi" :auto-sync t :internal--html-docs nil) (dir . "/home/monnier/src/emacs/elpa/packages/compat") (tarball . "archive-devel/compat-28.1.2.0.0.20220810.191855.tar")) nil (let* ((destdir (file-name-directory tarball)) (pkgname (car pkg-spec)) (_ (if (and destdir (not (file-directory-p destdir))) (progn (make-directory destdir)))) (vers (nth 1 metadata)) (revision (elpaa--select-revision dir pkg-spec revision-function)) (elpaignore (expand-file-name ".elpaignore" dir)) (ignores (elpaa--spec-get pkg-spec :ignored-files)) (renames (elpaa--spec-get pkg-spec :renames)) (ldir (elpaa--spec-get pkg-spec :lisp-dir)) (re (concat "\\`" (regexp-quote pkgname) "-\\([0-9].*\\)\\.\\(tar\\|el\\)\\(\\.[a-z]*z\\)?\\'")) (oldtarballs (if tarball-only nil (mapcar #'(lambda (file) (string-match re file) (cons (match-string 1 file) file)) (directory-files destdir nil re)))) rendered) (if ldir (progn (setq renames (let* ((va (list (file-name-as-directory ldir) ""))) (if (member va renames) renames (cons va renames)))))) (elpaa--copyright-check pkg-spec) (let ((process-environment (elpaa--makeenv vers revision))) (elpaa--make pkg-spec dir) (elpaa--build-Info pkg-spec dir destdir)) (elpaa--write-pkg-file dir pkgname metadata revision) (setq rendered (elpaa--write-plain-readme dir pkg-spec)) (progn (or (not (string-match "[][*\\|?]" pkgname)) (cl--assertion-failed '(not (string-match "[][*\\|?]" pkgname)))) nil) (progn (or (not (string-match "[][*\\|?]" vers)) (cl--assertion-failed '(not (string-match "[][*\\|?]" vers)))) nil) (apply #'elpaa--call nil "tar" (cons "--exclude-vcs" (append (mapcar #'(lambda (i) (format "--exclude=packages/%s/%s" pkgname i)) ignores) (if (file-readable-p elpaignore) (progn (list "-X" elpaignore))) (mapcar #'(lambda (r) (elpaa--make-tar-transform pkgname r)) renames) (list "--transform" (format "s|^packages/%s|%s-%s|" pkgname pkgname vers) "-chf" tarball (concat "packages/" pkgname))))) (progn (or (file-readable-p tarball) (cl--assertion-failed '(file-readable-p tarball))) nil) (if tarball-only nil (let* ((pkgdesc (elpaa--process-multi-file-package dir pkgname 'dont-rename))) (elpaa--message "%s: %S" pkgname pkgdesc) (elpaa--update-archive-contents pkgdesc destdir) (if (and nil revision-function) (progn (let ((default-directory (elpaa--dirname dir))) (elpaa--call nil "git" "tag" "-f" (format "%s-release/%s-%s" elpaa--name pkgname vers))))) (let ((link (expand-file-name (format "%s.tar" pkgname) destdir))) (if (file-symlink-p link) (progn (delete-file link))) (condition-case nil (progn (make-symbolic-link (file-name-nondirectory tarball) link)) (file-error nil))) (setq oldtarballs (let ((elpaa--keep-max (if revision-function elpaa--keep-max (/ elpaa--keep-max 2)))) (elpaa--prune-old-tarballs tarball oldtarballs destdir (if revision-function (* 60 60 24 365 2))))) (let ((default-directory (expand-file-name destdir))) (elpaa--html-make-pkg pkgdesc pkg-spec (cons (cons vers (file-name-nondirectory tarball)) oldtarballs) dir rendered)))) 'new)))
>   (progn (elpaa--clean dir) (funcall f))
>   (unwind-protect (progn (elpaa--clean dir) (funcall f)) (elpaa--message "Deleting temp files: %S" elpaa--temp-files) (let ((--dolist-tail-- elpaa--temp-files)) (while --dolist-tail-- (let ((f (car --dolist-tail--))) (if (stringp f) (delete-file f) (funcall f)) (setq --dolist-tail-- (cdr --dolist-tail--))))))
>   (let ((elpaa--temp-files nil)) (unwind-protect (progn (elpaa--clean dir) (funcall f)) (elpaa--message "Deleting temp files: %S" elpaa--temp-files) (let ((--dolist-tail-- elpaa--temp-files)) (while --dolist-tail-- (let ((f (car --dolist-tail--))) (if (stringp f) (delete-file f) (funcall f)) (setq --dolist-tail-- (cdr --dolist-tail--)))))))
>   elpaa--call-with-temp-files("/home/monnier/src/emacs/elpa/packages/compat" (closure ((tarball-only) (revision-function) (metadata nil "28.1.2.0.0.20220810.191855" "Emacs Lisp Compatibility Library" ((emacs (24 3)) (nadvice (0 3))) ((:authors ("Philip Kaludercic" . "philipk@posteo.net")) (:maintainer "Compat Development" . "~pkal/compat-devel@lists.sr.ht") (:keywords "lisp") (:url . "https://sr.ht/~pkal/compat"))) (pkg-spec "compat" :url "https://git.sr.ht/~pkal/compat" :doc "compat.texi" :auto-sync t :internal--html-docs nil) (dir . "/home/monnier/src/emacs/elpa/packages/compat") (tarball . "archive-devel/compat-28.1.2.0.0.20220810.191855.tar")) nil (let* ((destdir (file-name-directory tarball)) (pkgname (car pkg-spec)) (_ (if (and destdir (not (file-directory-p destdir))) (progn (make-directory destdir)))) (vers (nth 1 metadata)) (revision (elpaa--select-revision dir pkg-spec revision-function)) (elpaignore (expand-file-name ".elpaignore" dir)) (ignores (elpaa--spec-get pkg-spec :ignored-files)) (renames (elpaa--spec-get pkg-spec :renames)) (ldir (elpaa--spec-get pkg-spec :lisp-dir)) (re (concat "\\`" (regexp-quote pkgname) "-\\([0-9].*\\)\\.\\(tar\\|el\\)\\(\\.[a-z]*z\\)?\\'")) (oldtarballs (if tarball-only nil (mapcar #'(lambda (file) (string-match re file) (cons (match-string 1 file) file)) (directory-files destdir nil re)))) rendered) (if ldir (progn (setq renames (let* ((va (list (file-name-as-directory ldir) ""))) (if (member va renames) renames (cons va renames)))))) (elpaa--copyright-check pkg-spec) (let ((process-environment (elpaa--makeenv vers revision))) (elpaa--make pkg-spec dir) (elpaa--build-Info pkg-spec dir destdir)) (elpaa--write-pkg-file dir pkgname metadata revision) (setq rendered (elpaa--write-plain-readme dir pkg-spec)) (progn (or (not (string-match "[][*\\|?]" pkgname)) (cl--assertion-failed '(not (string-match "[][*\\|?]" pkgname)))) nil) (progn (or (not (string-match "[][*\\|?]" vers)) (cl--assertion-failed '(not (string-match "[][*\\|?]" vers)))) nil) (apply #'elpaa--call nil "tar" (cons "--exclude-vcs" (append (mapcar #'(lambda (i) (format "--exclude=packages/%s/%s" pkgname i)) ignores) (if (file-readable-p elpaignore) (progn (list "-X" elpaignore))) (mapcar #'(lambda (r) (elpaa--make-tar-transform pkgname r)) renames) (list "--transform" (format "s|^packages/%s|%s-%s|" pkgname pkgname vers) "-chf" tarball (concat "packages/" pkgname))))) (progn (or (file-readable-p tarball) (cl--assertion-failed '(file-readable-p tarball))) nil) (if tarball-only nil (let* ((pkgdesc (elpaa--process-multi-file-package dir pkgname 'dont-rename))) (elpaa--message "%s: %S" pkgname pkgdesc) (elpaa--update-archive-contents pkgdesc destdir) (if (and nil revision-function) (progn (let ((default-directory (elpaa--dirname dir))) (elpaa--call nil "git" "tag" "-f" (format "%s-release/%s-%s" elpaa--name pkgname vers))))) (let ((link (expand-file-name (format "%s.tar" pkgname) destdir))) (if (file-symlink-p link) (progn (delete-file link))) (condition-case nil (progn (make-symbolic-link (file-name-nondirectory tarball) link)) (file-error nil))) (setq oldtarballs (let ((elpaa--keep-max (if revision-function elpaa--keep-max (/ elpaa--keep-max 2)))) (elpaa--prune-old-tarballs tarball oldtarballs destdir (if revision-function (* 60 60 24 365 2))))) (let ((default-directory (expand-file-name destdir))) (elpaa--html-make-pkg pkgdesc pkg-spec (cons (cons vers (file-name-nondirectory tarball)) oldtarballs) dir rendered)))) 'new)))
>   elpaa--make-one-tarball-1("archive-devel/compat-28.1.2.0.0.20220810.191855.tar" "/home/monnier/src/emacs/elpa/packages/compat" ("compat" :url "https://git.sr.ht/~pkal/compat" :doc "compat.texi" :auto-sync t :internal--html-docs nil) (nil "28.1.2.0.0.20220810.191855" "Emacs Lisp Compatibility Library" ((emacs (24 3)) (nadvice (0 3))) ((:authors ("Philip Kaludercic" . "philipk@posteo.net")) (:maintainer "Compat Development" . "~pkal/compat-devel@lists.sr.ht") (:keywords "lisp") (:url . "https://sr.ht/~pkal/compat"))) nil nil)
>   (setq res (elpaa--make-one-tarball-1 tarball dir pkg-spec metadata revision-function tarball-only))
>   (condition-case err (setq res (elpaa--make-one-tarball-1 tarball dir pkg-spec metadata revision-function tarball-only)) ((debug error) (message "Build error for %s: %S" tarball err) nil))
>   (unwind-protect (condition-case err (setq res (elpaa--make-one-tarball-1 tarball dir pkg-spec metadata revision-function tarball-only)) ((debug error) (message "Build error for %s: %S" tarball err) nil)) (message (if res "######## Built new package %s!" "######## Build of package %s FAILED!!") tarball))
>   (let ((res nil)) (unwind-protect (condition-case err (setq res (elpaa--make-one-tarball-1 tarball dir pkg-spec metadata revision-function tarball-only)) ((debug error) (message "Build error for %s: %S" tarball err) nil)) (message (if res "######## Built new package %s!" "######## Build of package %s FAILED!!") tarball)))
>   (if (and (or (file-readable-p tarball) (file-readable-p (replace-regexp-in-string "\\.tar\\'" ".el" tarball))) (or tarball-only (let ((pkgname (car pkg-spec)) (default-directory (expand-file-name (file-name-directory tarball)))) (and (file-readable-p (concat pkgname "-readme.txt")) (file-readable-p (concat pkgname ".html")) (file-readable-p (concat pkgname ".svg")))))) (progn (elpaa--message "Tarball %s already built!" tarball) nil) (message "======== Building tarball %s..." tarball) (let ((res nil)) (unwind-protect (condition-case err (setq res (elpaa--make-one-tarball-1 tarball dir pkg-spec metadata revision-function tarball-only)) ((debug error) (message "Build error for %s: %S" tarball err) nil)) (message (if res "######## Built new package %s!" "######## Build of package %s FAILED!!") tarball))))
>   elpaa--make-one-tarball("archive-devel/compat-28.1.2.0.0.20220810.191855.tar" "/home/monnier/src/emacs/elpa/packages/compat" ("compat" :url "https://git.sr.ht/~pkal/compat" :doc "compat.texi" :auto-sync t :internal--html-docs nil) (nil "28.1.2.0.0.20220810.191855" "Emacs Lisp Compatibility Library" ((emacs (24 3)) (nadvice (0 3))) ((:authors ("Philip Kaludercic" . "philipk@posteo.net")) (:maintainer "Compat Development" . "~pkal/compat-devel@lists.sr.ht") (:keywords "lisp") (:url . "https://sr.ht/~pkal/compat"))) nil nil)
>   (let ((elpaa--name (concat elpaa--name "-devel"))) (elpaa--make-one-tarball tarball dir pkg-spec (cons nil (cons devel-vers (nthcdr 2 metadata))) nil tarball-only))
>   (let* ((date-version (elpaa--get-devel-version dir pkg-spec)) (devel-vers (concat vers (if (string-match "[0-9]\\'" vers) ".") "0." date-version)) (tarball (or tarball-only (concat elpaa--devel-subdir (format "%s-%s.tar" pkgname devel-vers)))) (new (let ((elpaa--name (concat elpaa--name "-devel"))) (elpaa--make-one-tarball tarball dir pkg-spec (cons nil (cons devel-vers (nthcdr 2 metadata))) nil tarball-only)))) (cond (tarball-only nil) ((equal vers "0") (elpaa--message "Package %s not released yet!" pkgname)) ((< (apply #'min (version-to-list vers)) 0) (cond ((not new) (elpaa--message "Nothing new for package %s!" pkgname)) (t (let* ((last-rel (elpaa--get-last-release pkg-spec)) (tarball (concat elpaa--release-subdir (format "%s-%s.tar" pkgname (car last-rel)))) (metadata (cons nil (cons (car last-rel) (nthcdr 2 metadata))))) (if (not last-rel) (elpaa--message "Package %s not released yet!" pkgname) (if (elpaa--make-one-tarball tarball dir pkg-spec metadata #'(lambda nil (cdr last-rel))) (progn (elpaa--release-email pkg-spec metadata dir)))))))) (t (let ((tarball (concat elpaa--release-subdir (format "%s-%s.tar" pkgname vers)))) (if (elpaa--make-one-tarball tarball dir pkg-spec metadata #'(lambda nil (elpaa--get-release-revision dir pkg-spec vers (plist-get (cdr pkg-spec) :version-map)))) (progn (elpaa--release-email pkg-spec metadata dir)))))))
>   (if (null metadata) (error "No metadata found for package: %s" pkgname) (let* ((v metadata)) (setcar v nil)) (let* ((date-version (elpaa--get-devel-version dir pkg-spec)) (devel-vers (concat vers (if (string-match "[0-9]\\'" vers) ".") "0." date-version)) (tarball (or tarball-only (concat elpaa--devel-subdir (format "%s-%s.tar" pkgname devel-vers)))) (new (let ((elpaa--name (concat elpaa--name "-devel"))) (elpaa--make-one-tarball tarball dir pkg-spec (cons nil (cons devel-vers (nthcdr 2 metadata))) nil tarball-only)))) (cond (tarball-only nil) ((equal vers "0") (elpaa--message "Package %s not released yet!" pkgname)) ((< (apply #'min (version-to-list vers)) 0) (cond ((not new) (elpaa--message "Nothing new for package %s!" pkgname)) (t (let* ((last-rel (elpaa--get-last-release pkg-spec)) (tarball (concat elpaa--release-subdir (format "%s-%s.tar" pkgname (car last-rel)))) (metadata (cons nil (cons (car last-rel) (nthcdr 2 metadata))))) (if (not last-rel) (elpaa--message "Package %s not released yet!" pkgname) (if (elpaa--make-one-tarball tarball dir pkg-spec metadata #'(lambda nil (cdr last-rel))) (progn (elpaa--release-email pkg-spec metadata dir)))))))) (t (let ((tarball (concat elpaa--release-subdir (format "%s-%s.tar" pkgname vers)))) (if (elpaa--make-one-tarball tarball dir pkg-spec metadata #'(lambda nil (elpaa--get-release-revision dir pkg-spec vers (plist-get (cdr pkg-spec) :version-map)))) (progn (elpaa--release-email pkg-spec metadata dir))))))))
>   (let* ((pkgname (car pkg-spec)) (dir (expand-file-name pkgname "packages")) (_ (cond (tarball-only nil) ((eq (nth 1 pkg-spec) :core) (elpaa--core-package-sync pkg-spec)) (t (elpaa--worktree-sync pkg-spec)))) (_ (elpaa--message "pkg-spec for %s: %S" pkgname pkg-spec)) 
> Build error for archive-devel/compat-28.1.2.0.0.20220810.191855.tar: (error "Error-indicating exit code in elpaa--call-sandboxed:
> compat.texi:220: @menu pointe vers un nœud « Emacs 24.5 » inexistant
> compat.texi:77: @detailmenu pointe vers un nœud « Emacs 24.5 » inexistant
> ")
> ######## Build of package archive-devel/compat-28.1.2.0.0.20220810.191855.tar FAILED!!



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Documentation on elpa.gnu.org
  2022-08-13 15:21   ` Philip Kaludercic
@ 2022-08-13 16:13     ` Stefan Monnier
  0 siblings, 0 replies; 4+ messages in thread
From: Stefan Monnier @ 2022-08-13 16:13 UTC (permalink / raw)
  To: Philip Kaludercic; +Cc: emacs-devel

> Ok, my bad, sorry about that.  I had just been using makeinfo --html,
> and that apparently does not generate that warning?

I'm far from knowledgeable about Texinfo and its tools, sorry.
I do have a vague recollection that some commands have no effect in
TeX/PDF output, such as @node, so it sounds possible that @menu and
@detailmenu are similarly skipped when generating HTML.


        Stefan




^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2022-08-13 16:13 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-08-11  7:28 Documentation on elpa.gnu.org Philip Kaludercic
2022-08-13 14:58 ` Stefan Monnier
2022-08-13 15:21   ` Philip Kaludercic
2022-08-13 16:13     ` Stefan Monnier

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).