Skip to content

docs fail to build with emacs 28 #1147

@bremner

Description

@bremner

I get more or less the same backtrace if I try to process the org block interactively, so I suppose it's not build system related, but rather some change in emacs.

emacs -Q -L . --batch -l doc/yas-doc-helper.el -f yas--generate-html-batch
Package cl is deprecated
doc/yas-doc-helper.el: Warning: ‘loop’ is an obsolete alias (as of 27.1); use ‘cl-loop’ instead.
doc/yas-doc-helper.el: Warning: ‘loop’ is an obsolete alias (as of 27.1); use ‘cl-loop’ instead.
doc/yas-doc-helper.el: Warning: ‘return’ is an obsolete alias (as of 27.1); use ‘cl-return’ instead.
doc/yas-doc-helper.el: Warning: ‘loop’ is an obsolete alias (as of 27.1); use ‘cl-loop’ instead.
Loading /home/bremner/.org-timestamps/yasnippet.cache...
Publishing file /home/bremner/tmp/yasnippet/doc/snippet-reference.org using ‘org-html-publish-to-html’
executing Emacs-Lisp code block...
Debugger entered--Lisp error: (args-out-of-range 21 22)
  replace-regexp-in-string("\\\\{[^}]+}" (lambda (match) (concat "#+BEGIN_EXAMPLE\n" (substitute-command-keys match) "#+END_EXAMPLE\n")) "Toggle YASnippet mode.\n\nThis is a minor mode.  If ..." t t)
  (setq body (replace-regexp-in-string "\\<\\([A-Z][-A-Z0-9]+\\)\\(\\sw+\\)?\\>" #'(lambda (match) (let* ((match1 (match-string 1 match)) (prefix (downcase match1)) (suffix (match-string 2 match)) (fmt (cond ... ...))) (if fmt (format fmt prefix) match1))) body t t 1) body (replace-regexp-in-string "\\\\{[^}]+}" #'(lambda (match) (concat "#+BEGIN_EXAMPLE\n" (substitute-command-keys match) "#+END_EXAMPLE\n")) body t t) body (substitute-command-keys body) body (replace-regexp-in-string "Info node `(\\([-a-z]+\\)) \\([A-Za-z0-9 ]+\\)'" #'(lambda (match) (let* ((manual (match-string 1 match)) (node (match-string 2 match)) (html-node (replace-regexp-in-string " " "-" node t t))) (format "Info node [[https://www.gnu.org/software/emacs/man..." manual html-node manual node))) body t t) body (replace-regexp-in-string "`\\([-a-z]+\\)'" #'(lambda (match) (let* ((name (downcase ...)) (sym (intern-soft name))) (if (memq sym yas--exported-syms) (format "[[#%s][=%s=]]" name name) (format "=%s=" name)))) body t t) body (replace-regexp-in-string "\n\n    +(.+\\(?:\n    +.+\\)*" #'(lambda (match) (concat "\n#+BEGIN_SRC elisp\n" match "\n#+END_SRC\n")) body t t))
  (let* ((stars (make-string level 42)) (args (and (fboundp symbol) (mapcar #'symbol-name (help-function-arglist symbol t)))) (heading (cond ((fboundp symbol) (format "%s %s (%s)\n" stars (yas--org-raw-html "code" symbol "class='function'") (mapconcat #'... args " "))) (t (format "%s %s\n" stars (yas--org-raw-html "code" symbol "class='variable'"))))) (after-heading (format ":PROPERTIES:\n:CUSTOM_ID: %s\n:END:" symbol)) (text-quoting-style 'grave) (body (or (cond ((fboundp symbol) (let (...) (if ... ... ...))) ((boundp symbol) (documentation-property symbol 'variable-documentation t)) (t (format "*WARNING*: no symbol named =%s=" symbol))) (format "*WARNING*: no doc for symbol =%s=" symbol))) (case-fold-search nil)) (setq body (replace-regexp-in-string "\\<\\([A-Z][-A-Z0-9]+\\)\\(\\sw+\\)?\\>" #'(lambda (match) (let* ((match1 ...) (prefix ...) (suffix ...) (fmt ...)) (if fmt (format fmt prefix) match1))) body t t 1) body (replace-regexp-in-string "\\\\{[^}]+}" #'(lambda (match) (concat "#+BEGIN_EXAMPLE\n" (substitute-command-keys match) "#+END_EXAMPLE\n")) body t t) body (substitute-command-keys body) body (replace-regexp-in-string "Info node `(\\([-a-z]+\\)) \\([A-Za-z0-9 ]+\\)'" #'(lambda (match) (let* ((manual ...) (node ...) (html-node ...)) (format "Info node [[https://www.gnu.org/software/emacs/man..." manual html-node manual node))) body t t) body (replace-regexp-in-string "`\\([-a-z]+\\)'" #'(lambda (match) (let* ((name ...) (sym ...)) (if (memq sym yas--exported-syms) (format "[[#%s][=%s=]]" name name) (format "=%s=" name)))) body t t) body (replace-regexp-in-string "\n\n    +(.+\\(?:\n    +.+\\)*" #'(lambda (match) (concat "\n#+BEGIN_SRC elisp\n" match "\n#+END_SRC\n")) body t t)) (concat heading after-heading "\n" body))
  yas--document-symbol(yas-minor-mode 2)
  (lambda (sym) (yas--document-symbol sym (1+ level)))(yas-minor-mode)
  mapconcat((lambda (sym) (yas--document-symbol sym (1+ level))) (yas-visit-snippet-file yas-deactivate-extra-mode yas-tryout-snippet yas-compile-directory yas-about yas-skip-and-clear-field yas-describe-tables yas-recompile-all yas-expand-from-keymap yas-new-snippet yas-skip-and-clear-or-delete-char yas-activate-extra-mode yas-load-directory yas-load-snippet-buffer-and-close yas-next-field yas-minor-mode yas-expand-from-trigger-key yas-load-snippet-buffer yas-exit-snippet yas-describe-table-by-namehash yas-insert-snippet yas-minor-mode-on yas-reload-all yas-next-field-or-maybe-expand yas-clear-field yas-global-mode yas-direct-keymaps-reload yas-exit-all-snippets yas-prev-field yas-expand yas-abort-snippet) "\n\n")
  (concat --cl-var-- (mapconcat #'(lambda (sym) (yas--document-symbol sym (1+ level))) slist "\n\n"))
  (setq --cl-var-- (concat --cl-var-- (mapconcat #'(lambda (sym) (yas--document-symbol sym (1+ level))) slist "\n\n")))
  (while (and (setq --cl-idx-- (1+ --cl-idx--)) (< --cl-idx-- (length --cl-vec--)) (progn (setq slist (aref --cl-vec-- --cl-idx--)) (consp --cl-var--))) (setq name (car --cl-var--)) (setq --cl-var-- (concat --cl-var-- (format "\n%s %s\n" stars name))) (setq --cl-var-- (concat --cl-var-- (mapconcat #'(lambda (sym) (yas--document-symbol sym (1+ level))) slist "\n\n"))) (setq --cl-var-- (cdr --cl-var--)))
  (let* ((--cl-vec-- sym-lists) (--cl-idx-- -1) (slist nil) (--cl-var-- (mapcar #'car names-and-predicates)) (name nil) (--cl-var-- "")) (while (and (setq --cl-idx-- (1+ --cl-idx--)) (< --cl-idx-- (length --cl-vec--)) (progn (setq slist (aref --cl-vec-- --cl-idx--)) (consp --cl-var--))) (setq name (car --cl-var--)) (setq --cl-var-- (concat --cl-var-- (format "\n%s %s\n" stars name))) (setq --cl-var-- (concat --cl-var-- (mapconcat #'(lambda (sym) (yas--document-symbol sym ...)) slist "\n\n"))) (setq --cl-var-- (cdr --cl-var--))) --cl-var--)
  (let ((sym-lists (make-vector (length names-and-predicates) nil)) (stars (make-string level 42))) (let* ((--cl-var-- yas--exported-syms) (sym nil)) (while (consp --cl-var--) (setq sym (car --cl-var--)) (catch '--cl-block-nil-- (let* ((--cl-var-- (mapcar ... names-and-predicates)) (test nil) (i 0)) (while (consp --cl-var--) (setq test (car --cl-var--)) (if (funcall test sym) (progn ... ...)) (setq --cl-var-- (cdr --cl-var--)) (setq i (+ i 1))) nil)) (setq --cl-var-- (cdr --cl-var--))) nil) (let* ((--cl-vec-- sym-lists) (--cl-idx-- -1) (slist nil) (--cl-var-- (mapcar #'car names-and-predicates)) (name nil) (--cl-var-- "")) (while (and (setq --cl-idx-- (1+ --cl-idx--)) (< --cl-idx-- (length --cl-vec--)) (progn (setq slist (aref --cl-vec-- --cl-idx--)) (consp --cl-var--))) (setq name (car --cl-var--)) (setq --cl-var-- (concat --cl-var-- (format "\n%s %s\n" stars name))) (setq --cl-var-- (concat --cl-var-- (mapconcat #'(lambda ... ...) slist "\n\n"))) (setq --cl-var-- (cdr --cl-var--))) --cl-var--))
  yas--document-symbols(1 ("Interactive functions" . interactive-form) ("Customization variables" lambda (sym) (and (boundp sym) (get sym 'standard-value))) ("Useful functions" . fboundp) ("Useful variables" . boundp))
  (progn (yas--document-symbols 1 `("Interactive functions" \, #'interactive-form) `("Customization variables" \, #'(lambda (sym) (and (boundp sym) (get sym ...)))) `("Useful functions" \, #'fboundp) `("Useful variables" \, #'boundp)))
  org-babel-execute:emacs-lisp("(yas--document-symbols 1 `(\"Interactive functions\"..." ((:colname-names) (:rowname-names) (:result-params "raw" "value" "replace") (:result-type . value) (:results . "raw value replace") (:exports . "results") (:cache . "no") (:hlines . "no") (:lexical . "no") (:noweb . "no") (:session . "none") (:tangle . "no")))
  org-babel-execute-src-block(nil ("emacs-lisp" "(yas--document-symbols 1 `(\"Interactive functions\"..." ((:colname-names) (:rowname-names) (:result-params "replace" "value" "raw") (:result-type . value) (:results . "replace value raw") (:exports . "results") (:tangle . "no") (:session . "none") (:noweb . "no") (:lexical . "no") (:hlines . "no") (:cache . "no")) "" nil 49 "(ref:%s)"))
  org-babel-exp-results(("emacs-lisp" "(yas--document-symbols 1 `(\"Interactive functions\"..." ((:cache . "no") (:colname-names) (:exports . "results") (:hlines . "no") (:lexical . "no") (:noweb . "no") (:result-params "replace" "value" "raw") (:result-type . value) (:results . "replace value raw") (:rowname-names) (:session . "none") (:tangle . "no")) "" nil 49 "(ref:%s)") block nil "cd9b24407a159dc732fce2d83bd2c06d600906e3")
  org-babel-exp-do-export(("emacs-lisp" "(yas--document-symbols 1 `(\"Interactive functions\"..." ((:cache . "no") (:colname-names) (:exports . "results") (:hlines . "no") (:lexical . "no") (:noweb . "no") (:result-params "replace" "value" "raw") (:result-type . value) (:results . "replace value raw") (:rowname-names) (:session . "none") (:tangle . "no")) "" nil 49 "(ref:%s)") block "cd9b24407a159dc732fce2d83bd2c06d600906e3")
  org-babel-exp-src-block()
  org-babel-exp-process-buffer()
  org-export-as(html nil nil nil (:output-file "/home/bremner/tmp/yasnippet/doc/snippet-reference...." :publishing-function org-html-publish-to-html :base-directory "/home/bremner/tmp/yasnippet/doc/" :publishing-directory "/home/bremner/tmp/yasnippet/doc/" :html-preamble yas--make-preamble :html-postamble "<hr><p class='creator'>Generated by %c from 0.14.0..." :crossrefs nil :filter-final-output (org-publish--store-crossrefs org-publish-collect-index)))
  org-export-to-file(html "/home/bremner/tmp/yasnippet/doc/snippet-reference...." nil nil nil nil (:publishing-function org-html-publish-to-html :base-directory "/home/bremner/tmp/yasnippet/doc/" :publishing-directory "/home/bremner/tmp/yasnippet/doc/" :html-preamble yas--make-preamble :html-postamble "<hr><p class='creator'>Generated by %c from 0.14.0..." :crossrefs nil :filter-final-output (org-publish--store-crossrefs org-publish-collect-index)))
  org-publish-org-to(html "/home/bremner/tmp/yasnippet/doc/snippet-reference...." ".html" (:publishing-function org-html-publish-to-html :base-directory "/home/bremner/tmp/yasnippet/doc/" :publishing-directory "/home/bremner/tmp/yasnippet/doc/" :html-preamble yas--make-preamble :html-postamble "<hr><p class='creator'>Generated by %c from 0.14.0...") "/home/bremner/tmp/yasnippet/doc/")
  org-html-publish-to-html((:publishing-function org-html-publish-to-html :base-directory "/home/bremner/tmp/yasnippet/doc/" :publishing-directory "/home/bremner/tmp/yasnippet/doc/" :html-preamble yas--make-preamble :html-postamble "<hr><p class='creator'>Generated by %c from 0.14.0...") "/home/bremner/tmp/yasnippet/doc/snippet-reference...." "/home/bremner/tmp/yasnippet/doc/")
  org-publish-file("/home/bremner/tmp/yasnippet/doc/snippet-reference...." ("yasnippet" :publishing-function org-html-publish-to-html :base-directory "/home/bremner/tmp/yasnippet/doc/" :publishing-directory "/home/bremner/tmp/yasnippet/doc/" :html-preamble yas--make-preamble :html-postamble "<hr><p class='creator'>Generated by %c from 0.14.0...") t)
  org-publish-projects((("yasnippet" :publishing-function org-html-publish-to-html :base-directory "/home/bremner/tmp/yasnippet/doc/" :publishing-directory "/home/bremner/tmp/yasnippet/doc/" :html-preamble yas--make-preamble :html-postamble "<hr><p class='creator'>Generated by %c from 0.14.0...")))
  org-publish("yasnippet" force)
  (let ((org-publish-use-timestamps-flag nil) (org-export-copy-to-kill-ring nil) (org-confirm-babel-evaluate nil) (make-backup-files nil) (org-html-htmlize-output-type 'css)) (org-publish "yasnippet" 'force))
  yas--generate-html-batch()
  command-line-1(("-L" "." "-l" "doc/yas-doc-helper.el" "-f" "yas--generate-html-batch"))
  command-line()
  normal-top-level()

rake aborted!
Command failed with status (255): [emacs -Q -L . --batch -l doc/yas-doc-helpe...]
/home/bremner/tmp/yasnippet/Rakefile:63:in `block in <top (required)>'
/usr/share/rubygems-integration/all/gems/rake-13.0.6/exe/rake:27:in `<top (required)>'
Tasks: TOP => doc
(See full trace by running task with --trace)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions