> Can you: > 1. Update Org to latest version > 2. set org-element--cache-self-verify to 'backtrace > 3. set org-element--cache-self-verify-frequency to 1.0 > 4. Try to reproduce the warning you are seeing > 5. If you still see it, post the full warning text including the > backtrace (below the warning). > Hi Ihor, I updated Org to Org mode version 9.5 (release_9.5-364-gde022e @ /home/kmodi/usr_local/apps/7/emacs/emacs-28/share/emacs/site-lisp/org/) I am using the latest build of emacs-28 branch: ===== Emacs version: GNU Emacs 28.0.90 (build 2, x86_64-pc-linux-gnu, GTK+ Version 3.22.30, cairo version 1.15.12) of 2021-12-16, built using commit 1e578267fb19208504d28253e0c892ceb9a34fb4. ./configure options: --prefix=/home/kmodi/usr_local/apps/7/emacs/emacs-28 '--program-transform-name=s/^ctags$/ctags_emacs/' --with-modules --with-harfbuzz --with-native-compilation --enable-checking=yes,glyphs --enable-check-lisp-object-type CPPFLAGS=-I/home/kmodi/stowed/7/include 'CFLAGS=-ggdb3 -Og' 'CXXFLAGS=-ggdb3 -Og' 'LDFLAGS=-L/home/kmodi/stowed/7/lib -L/home/kmodi/stowed/7/lib64 -ggdb3' Features: ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG LIBOTF LIBSELINUX LIBXML2 MODULES NATIVE_COMP NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND THREADS TIFF TOOLKIT_SCROLL_BARS X11 XDBE XIM XPM GTK3 ZLIB ===== I also set those 2 variables and then exported the ox-hugo-manual.org[1] using ox-hugo and get those warnings[2]. Steps to reproduce this issue (after setting those variables as suggested above): 1. Install ox-hugo from MELPA and require it 2. Download the ox-hugo-manual.org[1] 3. Take point to anywhere inside a subtree with :EXPROT_FILE_NAME: property (e.g. under the * Org Special Blocks subtree around line 3038) 4. C-c C-e H A (this will export all the valid subtrees in that file using ox-hugo) 5. The exports abruptly stop around half way due to this error (this error doesn't always get thrown at the same point): ===== org-babel-exp process org at position 59086... org-babel-exp process org at position 59385... org-babel-exp process org at position 60069... org-babel-exp process org at position 60740... org-babel-exp process org at position 63055... Saving file /home/kmodi/stow/pub_dotfiles/emacs/dot-emacs.d/elisp/ox-hugo/doc/content/doc/image-links.md... Wrote /home/kmodi/stow/pub_dotfiles/emacs/dot-emacs.d/elisp/ox-hugo/doc/content/doc/image-links.md [ox-hugo] 21/ Exporting ‘Source blocks’ .. org-element--cache-process-request: Format specifier doesn’t match argument type (I have an advice applied in between: modi/advice-org-tangle-and-export-boost. But it's unrelated to this error.) Debugger entered--Lisp error: (error "Format specifier doesn’t match argument type") format("org-element-cache diagnostics( *temp*-467986): Rea..." # "(headline (:raw-value \"Menus\" :begin 28167 :end 14...") org-element--cache-process-request([26673 26673 25896 1 (paragraph (:begin 26634 :end 26674 :contents-begin 26634 :contents-end 26674 :post-blank 0 :post-affiliated 26634 :mode nil :granularity element :org-element--cache-sync-key (76 26672 1152921504606846975) :cached t :parent (item (:bullet "8. " :begin 26631 :end 26674 :contents-begin 26634 :contents-end 26674 :checkbox nil :counter nil :structure ((26009 0 "1. " nil nil nil 26029) (26029 0 "2. " nil nil nil 26145) (26145 0 "3. " nil nil nil 26167) (26167 0 "4. " nil nil nil 26346) (26226 3 "- " nil nil nil 26346) (26346 0 "5. " nil nil nil 26462) (26389 3 "- " nil nil nil 26462) (26462 0 "6. " nil nil nil 26564) (26564 0 "7. " nil nil nil 26631) (26631 0 "8. " nil nil nil 26674)) :pre-blank 0 :post-blank 0 :post-affiliated 26631 :tag nil :mode item :granularity element :org-element--cache-sync-key (76 26672 -1) :cached t :parent (plain-list (:type ordered :begin 26009 :end 26674 :contents-begin 26009 :contents-end 26674 :structure ... :post-blank 0 :post-affiliated 26009 :mode nil :granularity element :org-element--cache-sync-key ... :cached t :parent ...)))))) 2] nil # nil nil) org-element--cache-sync(# #) org-element-at-point(#) org-element-cache-map(#f(compiled-function (el) #) :next-re "^\\*+ " :fail-re "^\\*+ " :narrow t) org-scan-tags(#f(compiled-function () #) t nil nil) org-map-entries(#f(compiled-function () #)) org-export--prepare-file-contents("/home/kmodi/stow/pub_dotfiles/emacs/dot-emacs.d/el..." "548-589" 0 4 1 # "/home/kmodi/stow/pub_dotfiles/emacs/dot-emacs.d/el...") org-export-expand-include-keyword() org-export-as(hugo :subtreep nil nil (:output-file "/home/kmodi/stow/pub_dotfiles/emacs/dot-emacs.d/el...")) #f(compiled-function (backend file &optional async subtreep visible-only body-only ext-plist post-process) "Call `org-export-as' with output to a specified file.\n\nBACKEND is either an export back-end, as returned by, e.g.,\n`org-export-create-backend', or a symbol referring to\na registered back-end. FILE is the name of the output file, as\na string.\n\nA non-nil optional argument ASYNC means the process should happen\nasynchronously. The resulting buffer will then be accessible\nthrough the `org-export-stack' interface.\n\nOptional arguments SUBTREEP, VISIBLE-ONLY, BODY-ONLY and\nEXT-PLIST are similar to those used in `org-export-as', which\nsee.\n\nOptional argument POST-PROCESS is called with FILE as its\nargument and happens asynchronously when ASYNC is non-nil. It\nhas to return a file name, or nil. Export back-ends can use this\nto send the output file through additional processing, e.g,\n\n (defun org-latex-export-to-latex\n (&optional async subtreep visible-only body-only ext-plist)\n (interactive)\n (let ((outfile (org-export-output-file-name \".tex\" subtreep)))\n (org-export-to-file \\='latex outfile\n async subtreep visible-only body-only ext-plist\n #'org-latex-compile)))\n\nWhen expressed as an anonymous function, using `lambda',\nPOST-PROCESS needs to be quoted.\n\nThe function returns either a file name returned by POST-PROCESS,\nor FILE." #)(hugo "/home/kmodi/stow/pub_dotfiles/emacs/dot-emacs.d/el..." nil :subtreep nil) apply(#f(compiled-function (backend file &optional async subtreep visible-only body-only ext-plist post-process) "Call `org-export-as' with output to a specified file.\n\nBACKEND is either an export back-end, as returned by, e.g.,\n`org-export-create-backend', or a symbol referring to\na registered back-end. FILE is the name of the output file, as\na string.\n\nA non-nil optional argument ASYNC means the process should happen\nasynchronously. The resulting buffer will then be accessible\nthrough the `org-export-stack' interface.\n\nOptional arguments SUBTREEP, VISIBLE-ONLY, BODY-ONLY and\nEXT-PLIST are similar to those used in `org-export-as', which\nsee.\n\nOptional argument POST-PROCESS is called with FILE as its\nargument and happens asynchronously when ASYNC is non-nil. It\nhas to return a file name, or nil. Export back-ends can use this\nto send the output file through additional processing, e.g,\n\n (defun org-latex-export-to-latex\n (&optional async subtreep visible-only body-only ext-plist)\n (interactive)\n (let ((outfile (org-export-output-file-name \".tex\" subtreep)))\n (org-export-to-file \\='latex outfile\n async subtreep visible-only body-only ext-plist\n #'org-latex-compile)))\n\nWhen expressed as an anonymous function, using `lambda',\nPOST-PROCESS needs to be quoted.\n\nThe function returns either a file name returned by POST-PROCESS,\nor FILE." #) (hugo "/home/kmodi/stow/pub_dotfiles/emacs/dot-emacs.d/el..." nil :subtreep nil)) (prog1 (apply orig-fun args) (if projectile-enabled (progn (add-hook 'find-file-hook #'projectile-find-file-hook-function) (advice-add 'delete-file :before #'delete-file-projectile-remove-from-cache))) (setq gc-cons-threshold orig-gc-thresh) (message "exec time: %S" (float-time (time-since t1)))) (let ((orig-gc-thresh gc-cons-threshold) (projectile-enabled (and (fboundp #'projectile-mode) projectile-mode)) (t1 (current-time))) (setq gc-cons-threshold (* 200 1024 1024)) (if projectile-enabled (progn (remove-hook 'find-file-hook #'projectile-find-file-hook-function) (advice-remove 'delete-file #'delete-file-projectile-remove-from-cache))) (prog1 (apply orig-fun args) (if projectile-enabled (progn (add-hook 'find-file-hook #'projectile-find-file-hook-function) (advice-add 'delete-file :before #'delete-file-projectile-remove-from-cache))) (setq gc-cons-threshold orig-gc-thresh) (message "exec time: %S" (float-time (time-since t1))))) modi/advice-org-tangle-and-export-boost(#f(compiled-function (backend file &optional async subtreep visible-only body-only ext-plist post-process) "Call `org-export-as' with output to a specified file.\n\nBACKEND is either an export back-end, as returned by, e.g.,\n`org-export-create-backend', or a symbol referring to\na registered back-end. FILE is the name of the output file, as\na string.\n\nA non-nil optional argument ASYNC means the process should happen\nasynchronously. The resulting buffer will then be accessible\nthrough the `org-export-stack' interface.\n\nOptional arguments SUBTREEP, VISIBLE-ONLY, BODY-ONLY and\nEXT-PLIST are similar to those used in `org-export-as', which\nsee.\n\nOptional argument POST-PROCESS is called with FILE as its\nargument and happens asynchronously when ASYNC is non-nil. It\nhas to return a file name, or nil. Export back-ends can use this\nto send the output file through additional processing, e.g,\n\n (defun org-latex-export-to-latex\n (&optional async subtreep visible-only body-only ext-plist)\n (interactive)\n (let ((outfile (org-export-output-file-name \".tex\" subtreep)))\n (org-export-to-file \\='latex outfile\n async subtreep visible-only body-only ext-plist\n #'org-latex-compile)))\n\nWhen expressed as an anonymous function, using `lambda',\nPOST-PROCESS needs to be quoted.\n\nThe function returns either a file name returned by POST-PROCESS,\nor FILE." #) hugo "/home/kmodi/stow/pub_dotfiles/emacs/dot-emacs.d/el..." nil :subtreep nil) apply(modi/advice-org-tangle-and-export-boost #f(compiled-function (backend file &optional async subtreep visible-only body-only ext-plist post-process) "Call `org-export-as' with output to a specified file.\n\nBACKEND is either an export back-end, as returned by, e.g.,\n`org-export-create-backend', or a symbol referring to\na registered back-end. FILE is the name of the output file, as\na string.\n\nA non-nil optional argument ASYNC means the process should happen\nasynchronously. The resulting buffer will then be accessible\nthrough the `org-export-stack' interface.\n\nOptional arguments SUBTREEP, VISIBLE-ONLY, BODY-ONLY and\nEXT-PLIST are similar to those used in `org-export-as', which\nsee.\n\nOptional argument POST-PROCESS is called with FILE as its\nargument and happens asynchronously when ASYNC is non-nil. It\nhas to return a file name, or nil. Export back-ends can use this\nto send the output file through additional processing, e.g,\n\n (defun org-latex-export-to-latex\n (&optional async subtreep visible-only body-only ext-plist)\n (interactive)\n (let ((outfile (org-export-output-file-name \".tex\" subtreep)))\n (org-export-to-file \\='latex outfile\n async subtreep visible-only body-only ext-plist\n #'org-latex-compile)))\n\nWhen expressed as an anonymous function, using `lambda',\nPOST-PROCESS needs to be quoted.\n\nThe function returns either a file name returned by POST-PROCESS,\nor FILE." #) (hugo "/home/kmodi/stow/pub_dotfiles/emacs/dot-emacs.d/el..." nil :subtreep nil)) org-export-to-file(hugo "/home/kmodi/stow/pub_dotfiles/emacs/dot-emacs.d/el..." nil :subtreep nil) (prog1 (org-export-to-file 'hugo outfile async subtreep visible-only) (org-hugo--after-export-function info outfile)) (let* ((org-use-property-inheritance (org-hugo--selective-property-inheritance)) (info (org-combine-plists (org-export--get-export-attributes 'hugo subtreep visible-only) (org-export--get-buffer-attributes) (org-export-get-environment 'hugo subtreep))) (pub-dir (org-hugo--get-pub-dir info)) (outfile (org-export-output-file-name ".md" subtreep pub-dir))) (prog1 (org-export-to-file 'hugo outfile async subtreep visible-only) (org-hugo--after-export-function info outfile))) org-hugo-export-to-md(nil :subtreep nil) (setq ret (org-hugo-export-to-md async :subtreep visible-only)) (if all-subtrees (setq ret (org-hugo-export-to-md async :subtreep visible-only)) (let ((current-outline-path (org-get-outline-path :with-self)) (buffer (org-hugo--get-pre-processed-buffer))) (save-current-buffer (set-buffer buffer) (goto-char (org-find-olp current-outline-path :this-buffer)) (setq ret (org-hugo-export-to-md async :subtreep visible-only))) (kill-buffer buffer))) (cond (is-commented (message "[ox-hugo] `%s' was not exported as that subtree is..." title)) (is-excluded (message "[ox-hugo] `%s' was not exported as it is tagged wi..." title matched-exclude-tag)) (t (if all-subtrees (progn (setq org-hugo--subtree-count (1+ org-hugo--subtree-count)) (message "[ox-hugo] %d/ Exporting `%s' .." org-hugo--subtree-count title)) (message "[ox-hugo] Exporting `%s' .." title)) (if (or (or (org-entry-get nil "EXPORT_HUGO_MENU" :inherit) (save-excursion (goto-char (point-min)) (let (...) (re-search-forward "^#\\+hugo_menu:.*:menu" nil :noerror)))) (or (let ((page-or-taxonomy-weight ...)) (and (stringp page-or-taxonomy-weight) (string-match-p "auto" page-or-taxonomy-weight))) (save-excursion (goto-char (point-min)) (let (...) (re-search-forward "^#\\+hugo_weight:.*auto" nil :noerror))))) (progn (setq org-hugo--subtree-coord (org-hugo--get-post-subtree-coordinates subtree)))) (if all-subtrees (setq ret (org-hugo-export-to-md async :subtreep visible-only)) (let ((current-outline-path (org-get-outline-path :with-self)) (buffer (org-hugo--get-pre-processed-buffer))) (save-current-buffer (set-buffer buffer) (goto-char (org-find-olp current-outline-path :this-buffer)) (setq ret (org-hugo-export-to-md async :subtreep visible-only))) (kill-buffer buffer))))) (let ((title (org-element-property :title subtree))) (cond (is-commented (message "[ox-hugo] `%s' was not exported as that subtree is..." title)) (is-excluded (message "[ox-hugo] `%s' was not exported as it is tagged wi..." title matched-exclude-tag)) (t (if all-subtrees (progn (setq org-hugo--subtree-count (1+ org-hugo--subtree-count)) (message "[ox-hugo] %d/ Exporting `%s' .." org-hugo--subtree-count title)) (message "[ox-hugo] Exporting `%s' .." title)) (if (or (or (org-entry-get nil "EXPORT_HUGO_MENU" :inherit) (save-excursion (goto-char ...) (let ... ...))) (or (let (...) (and ... ...)) (save-excursion (goto-char ...) (let ... ...)))) (progn (setq org-hugo--subtree-coord (org-hugo--get-post-subtree-coordinates subtree)))) (if all-subtrees (setq ret (org-hugo-export-to-md async :subtreep visible-only)) (let ((current-outline-path (org-get-outline-path :with-self)) (buffer (org-hugo--get-pre-processed-buffer))) (save-current-buffer (set-buffer buffer) (goto-char (org-find-olp current-outline-path :this-buffer)) (setq ret (org-hugo-export-to-md async :subtreep visible-only))) (kill-buffer buffer)))))) (let* ((info (org-combine-plists (org-export--get-export-attributes 'hugo subtree visible-only) (org-export--get-buffer-attributes) (org-export-get-environment 'hugo subtree))) (exclude-tags (plist-get info :exclude-tags)) (is-commented (org-element-property :commentedp subtree)) is-excluded matched-exclude-tag ret) (let ((all-tags (let ((org-use-tag-inheritance t)) (org-hugo--get-tags)))) (if all-tags (progn (let ((--dolist-tail-- exclude-tags)) (while --dolist-tail-- (let (...) (if ... ...) (setq --dolist-tail-- ...))))))) (let ((title (org-element-property :title subtree))) (cond (is-commented (message "[ox-hugo] `%s' was not exported as that subtree is..." title)) (is-excluded (message "[ox-hugo] `%s' was not exported as it is tagged wi..." title matched-exclude-tag)) (t (if all-subtrees (progn (setq org-hugo--subtree-count (1+ org-hugo--subtree-count)) (message "[ox-hugo] %d/ Exporting `%s' .." org-hugo--subtree-count title)) (message "[ox-hugo] Exporting `%s' .." title)) (if (or (or (org-entry-get nil "EXPORT_HUGO_MENU" :inherit) (save-excursion ... ...)) (or (let ... ...) (save-excursion ... ...))) (progn (setq org-hugo--subtree-coord (org-hugo--get-post-subtree-coordinates subtree)))) (if all-subtrees (setq ret (org-hugo-export-to-md async :subtreep visible-only)) (let ((current-outline-path ...) (buffer ...)) (save-current-buffer (set-buffer buffer) (goto-char ...) (setq ret ...)) (kill-buffer buffer)))))) ret) (if subtree (let* ((info (org-combine-plists (org-export--get-export-attributes 'hugo subtree visible-only) (org-export--get-buffer-attributes) (org-export-get-environment 'hugo subtree))) (exclude-tags (plist-get info :exclude-tags)) (is-commented (org-element-property :commentedp subtree)) is-excluded matched-exclude-tag ret) (let ((all-tags (let ((org-use-tag-inheritance t)) (org-hugo--get-tags)))) (if all-tags (progn (let ((--dolist-tail-- exclude-tags)) (while --dolist-tail-- (let ... ... ...)))))) (let ((title (org-element-property :title subtree))) (cond (is-commented (message "[ox-hugo] `%s' was not exported as that subtree is..." title)) (is-excluded (message "[ox-hugo] `%s' was not exported as it is tagged wi..." title matched-exclude-tag)) (t (if all-subtrees (progn (setq org-hugo--subtree-count ...) (message "[ox-hugo] %d/ Exporting `%s' .." org-hugo--subtree-count title)) (message "[ox-hugo] Exporting `%s' .." title)) (if (or (or ... ...) (or ... ...)) (progn (setq org-hugo--subtree-coord ...))) (if all-subtrees (setq ret (org-hugo-export-to-md async :subtreep visible-only)) (let (... ...) (save-current-buffer ... ... ...) (kill-buffer buffer)))))) ret) (let ((valid-subtree-found (catch 'break (org-map-entries #'(lambda nil ...) "EXPORT_FILE_NAME<>\"\"")))) (if valid-subtree-found (progn (message "Point is not in a valid Hugo post subtree; move to..."))) valid-subtree-found)) (let ((subtree (org-hugo--get-valid-subtree))) (if subtree (let* ((info (org-combine-plists (org-export--get-export-attributes 'hugo subtree visible-only) (org-export--get-buffer-attributes) (org-export-get-environment 'hugo subtree))) (exclude-tags (plist-get info :exclude-tags)) (is-commented (org-element-property :commentedp subtree)) is-excluded matched-exclude-tag ret) (let ((all-tags (let (...) (org-hugo--get-tags)))) (if all-tags (progn (let (...) (while --dolist-tail-- ...))))) (let ((title (org-element-property :title subtree))) (cond (is-commented (message "[ox-hugo] `%s' was not exported as that subtree is..." title)) (is-excluded (message "[ox-hugo] `%s' was not exported as it is tagged wi..." title matched-exclude-tag)) (t (if all-subtrees (progn ... ...) (message "[ox-hugo] Exporting `%s' .." title)) (if (or ... ...) (progn ...)) (if all-subtrees (setq ret ...) (let ... ... ...))))) ret) (let ((valid-subtree-found (catch 'break (org-map-entries #'... "EXPORT_FILE_NAME<>\"\"")))) (if valid-subtree-found (progn (message "Point is not in a valid Hugo post subtree; move to..."))) valid-subtree-found))) org-hugo--export-subtree-to-md(nil nil :all-subtrees) (closure ((buffer . #>) (wconfig . #) (ret) (f-or-b-name . " ox-hugo-manual.org") (noerror) (visible-only) (async) (all-subtrees . :all-subtrees) t) nil (org-hugo--export-subtree-to-md async visible-only :all-subtrees))() #f(compiled-function (el) #)((headline (:raw-value "Contributing Guide" :begin 142869 :end 143030 :pre-blank 0 :contents-begin 142892 :contents-end 143030 :robust-begin 142948 :robust-end 143028 :level 3 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 0 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 142869 :EXPORT_FILE_NAME "contributing-guide" :title "Contributing Guide" :mode nil :granularity element :cached t :parent (headline (:raw-value "Meta" :begin 140460 :end 143253 :pre-blank 0 :contents-begin 140468 :contents-end 143253 :robust-begin 140520 :robust-end 143251 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 0 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 140460 :EXPORT_HUGO_MENU ":menu \"7.meta\"" :title "Meta" :mode nil :granularity element :cached t :parent (headline (:raw-value "Menus" :begin 28210 :end 143253 :pre-blank 0 :contents-begin 28218 :contents-end 143253 :robust-begin 28220 :robust-end 143251 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 0 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 28210 :title "Menus" :mode nil :granularity element :cached t :parent (org-data ...)))))))) org-element-cache-map(#f(compiled-function (el) #) :next-re "^\\*+ " :fail-re "^\\*+ " :narrow t) org-scan-tags((closure ((buffer . #>) (wconfig . #) (ret) (f-or-b-name . "ox-hugo-manual.org") (noerror) (visible-only) (async) (all-subtrees . :all-subtrees) t) nil (org-hugo--export-subtree-to-md async visible-only :all-subtrees)) (lambda (todo tags-list level) (progn (setq org-cached-props nil) (or (and (org-string<> (or (org-cached-entry-get nil "EXPORT_FILE_NAME") "") ""))))) nil nil) org-map-entries((closure ((buffer . #>) (wconfig . #) (ret) (f-or-b-name . "ox-hugo-manual.org") (noerror) (visible-only) (async) (all-subtrees . :all-subtrees) t) nil (org-hugo--export-subtree-to-md async visible-only :all-subtrees)) "EXPORT_FILE_NAME<>\"\"") (setq ret (org-map-entries #'(lambda nil (org-hugo--export-subtree-to-md async visible-only :all-subtrees)) "EXPORT_FILE_NAME<>\"\"")) (save-current-buffer (set-buffer buffer) (setq ret (org-map-entries #'(lambda nil (org-hugo--export-subtree-to-md async visible-only :all-subtrees)) "EXPORT_FILE_NAME<>\"\"")) (kill-buffer buffer)) (let ((buffer (org-hugo--get-pre-processed-buffer))) (save-current-buffer (set-buffer buffer) (setq ret (org-map-entries #'(lambda nil (org-hugo--export-subtree-to-md async visible-only :all-subtrees)) "EXPORT_FILE_NAME<>\"\"")) (kill-buffer buffer))) (progn (setq org-hugo--subtree-count 0) (let ((buffer (org-hugo--get-pre-processed-buffer))) (save-current-buffer (set-buffer buffer) (setq ret (org-map-entries #'(lambda nil (org-hugo--export-subtree-to-md async visible-only :all-subtrees)) "EXPORT_FILE_NAME<>\"\"")) (kill-buffer buffer))) (if ret (message "[ox-hugo] Exported %d subtree%s from %s" org-hugo--subtree-count (if (= 1 org-hugo--subtree-count) "" "s") f-or-b-name) (message "[ox-hugo] No valid Hugo post subtrees were found"))) (if all-subtrees (progn (setq org-hugo--subtree-count 0) (let ((buffer (org-hugo--get-pre-processed-buffer))) (save-current-buffer (set-buffer buffer) (setq ret (org-map-entries #'(lambda nil ...) "EXPORT_FILE_NAME<>\"\"")) (kill-buffer buffer))) (if ret (message "[ox-hugo] Exported %d subtree%s from %s" org-hugo--subtree-count (if (= 1 org-hugo--subtree-count) "" "s") f-or-b-name) (message "[ox-hugo] No valid Hugo post subtrees were found"))) (setq ret (org-hugo--export-subtree-to-md async visible-only))) (save-excursion (if all-subtrees (progn (setq org-hugo--subtree-count 0) (let ((buffer (org-hugo--get-pre-processed-buffer))) (save-current-buffer (set-buffer buffer) (setq ret (org-map-entries #'... "EXPORT_FILE_NAME<>\"\"")) (kill-buffer buffer))) (if ret (message "[ox-hugo] Exported %d subtree%s from %s" org-hugo--subtree-count (if (= 1 org-hugo--subtree-count) "" "s") f-or-b-name) (message "[ox-hugo] No valid Hugo post subtrees were found"))) (setq ret (org-hugo--export-subtree-to-md async visible-only))) (if ret nil (setq ret (org-hugo--export-file-to-md f-or-b-name async visible-only noerror)))) (save-restriction (widen) (save-excursion (if all-subtrees (progn (setq org-hugo--subtree-count 0) (let ((buffer (org-hugo--get-pre-processed-buffer))) (save-current-buffer (set-buffer buffer) (setq ret (org-map-entries ... "EXPORT_FILE_NAME<>\"\"")) (kill-buffer buffer))) (if ret (message "[ox-hugo] Exported %d subtree%s from %s" org-hugo--subtree-count (if (= 1 org-hugo--subtree-count) "" "s") f-or-b-name) (message "[ox-hugo] No valid Hugo post subtrees were found"))) (setq ret (org-hugo--export-subtree-to-md async visible-only))) (if ret nil (setq ret (org-hugo--export-file-to-md f-or-b-name async visible-only noerror))))) (progn (save-restriction (widen) (save-excursion (if all-subtrees (progn (setq org-hugo--subtree-count 0) (let ((buffer ...)) (save-current-buffer (set-buffer buffer) (setq ret ...) (kill-buffer buffer))) (if ret (message "[ox-hugo] Exported %d subtree%s from %s" org-hugo--subtree-count (if ... "" "s") f-or-b-name) (message "[ox-hugo] No valid Hugo post subtrees were found"))) (setq ret (org-hugo--export-subtree-to-md async visible-only))) (if ret nil (setq ret (org-hugo--export-file-to-md f-or-b-name async visible-only noerror)))))) (unwind-protect (progn (save-restriction (widen) (save-excursion (if all-subtrees (progn (setq org-hugo--subtree-count 0) (let (...) (save-current-buffer ... ... ...)) (if ret (message "[ox-hugo] Exported %d subtree%s from %s" org-hugo--subtree-count ... f-or-b-name) (message "[ox-hugo] No valid Hugo post subtrees were found"))) (setq ret (org-hugo--export-subtree-to-md async visible-only))) (if ret nil (setq ret (org-hugo--export-file-to-md f-or-b-name async visible-only noerror)))))) (set-window-configuration wconfig)) (let ((wconfig (current-window-configuration))) (unwind-protect (progn (save-restriction (widen) (save-excursion (if all-subtrees (progn (setq org-hugo--subtree-count 0) (let ... ...) (if ret ... ...)) (setq ret (org-hugo--export-subtree-to-md async visible-only))) (if ret nil (setq ret (org-hugo--export-file-to-md f-or-b-name async visible-only noerror)))))) (set-window-configuration wconfig))) (let ((f-or-b-name (if (buffer-file-name) (file-name-nondirectory (buffer-file-name)) (buffer-name))) ret) (let ((wconfig (current-window-configuration))) (unwind-protect (progn (save-restriction (widen) (save-excursion (if all-subtrees (progn ... ... ...) (setq ret ...)) (if ret nil (setq ret ...))))) (set-window-configuration wconfig))) ret) org-hugo-export-wim-to-md(:all-subtrees nil nil) (lambda (a _s v _b) (org-hugo-export-wim-to-md :all-subtrees a v))(nil nil nil nil) org-export-dispatch(nil) funcall-interactively(org-export-dispatch nil) call-interactively(org-export-dispatch nil nil) command-execute(org-export-dispatch) ===== 5. But you should still see a *Warnings* buffer with content similar to [2]. [1]: https://raw.githubusercontent.com/kaushalmodi/ox-hugo/main/doc/ox-hugo-manual.org [2]: http://ix.io/3IA7