emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [BUG] org-element--cache gives "Unregistered buffer modifications" w


From: Kaushal Modi
Subject: Re: [BUG] org-element--cache gives "Unregistered buffer modifications" warning [9.5 (9.5-g859984 @ /home/john/.emacs.d/straight/build/org/)]
Date: Thu, 16 Dec 2021 09:33:08 -0500


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..." #<marker at 26674 in  *temp*-467986> "(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 #<marker at 26674 in  *temp*-467986> nil nil)
  org-element--cache-sync(#<buffer  *temp*-467986> #<marker at 26674 in  *temp*-467986>)
  org-element-at-point(#<marker at 26674 in  *temp*-467986>)
  org-element-cache-map(#f(compiled-function (el) #<bytecode 0x1c780ded3d2e9ca3>) :next-re "^\\*+ " :fail-re "^\\*+ " :narrow t)
  org-scan-tags(#f(compiled-function () #<bytecode -0x1547bc42aa40a914>) t nil nil)
  org-map-entries(#f(compiled-function () #<bytecode -0x1547bc42aa40a914>))
  org-export--prepare-file-contents("/home/kmodi/stow/pub_dotfiles/emacs/dot-emacs.d/el..." "548-589" 0 4 1 #<hash-table equal 0/65 0x192d5b1> "/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." #<bytecode 0xeed6499aa2e2203>)(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." #<bytecode 0xeed6499aa2e2203>) (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." #<bytecode 0xeed6499aa2e2203>) 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." #<bytecode 0xeed6499aa2e2203>) (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 . #<buffer *Ox-hugo Pre-processed ox-hugo-manual.org *<2>>) (wconfig . #<window-configuration>) (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) #<bytecode -0x14378c494a744d72>)((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) #<bytecode -0x14378c494a744d72>) :next-re "^\\*+ " :fail-re "^\\*+ " :narrow t)
  org-scan-tags((closure ((buffer . #<buffer *Ox-hugo Pre-processed ox-hugo-manual.org *<2>>) (wconfig . #<window-configuration>) (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 . #<buffer *Ox-hugo Pre-processed ox-hugo-manual.org *<2>>) (wconfig . #<window-configuration>) (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

reply via email to

[Prev in Thread] Current Thread [Next in Thread]