From: Kaushal Modi <kaushal.modi@gmail.com>
To: Ihor Radchenko <yantar92@gmail.com>
Cc: emacs-org list <emacs-orgmode@gnu.org>,
John Mathena <jmmathena@gmail.com>
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 [thread overview]
Message-ID: <CAFyQvY2=M6-JO7k=dF74injM7kHCcGUgdCCZXM6TZPWDTGbR4A@mail.gmail.com> (raw)
In-Reply-To: <87bl1hdvuj.fsf@localhost>
[-- Attachment #1: Type: text/plain, Size: 27845 bytes --]
> 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
[-- Attachment #2: Type: text/html, Size: 30722 bytes --]
next prev parent reply other threads:[~2021-12-16 14:34 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-11-07 20:22 [BUG] org-element--cache gives "Unregistered buffer modifications" warning [9.5 (9.5-g859984 @ /home/john/.emacs.d/straight/build/org/)] John Mathena
2021-11-08 5:59 ` Ihor Radchenko
2021-12-16 2:29 ` Kaushal Modi
2021-12-16 2:34 ` Kaushal Modi
2021-12-16 4:20 ` Ihor Radchenko
2021-12-16 14:33 ` Kaushal Modi [this message]
2021-12-16 15:18 ` Ihor Radchenko
2021-12-16 16:16 ` Kaushal Modi
2021-12-18 4:35 ` Ihor Radchenko
2021-12-18 17:43 ` Kaushal Modi
2021-12-19 9:47 ` Ihor Radchenko
2022-04-24 3:37 ` Difference seen in org-version strings when built from git Kaushal Modi
2022-04-24 3:59 ` Ihor Radchenko
2022-01-06 11:17 ` [BUG] org-element--cache gives "Unregistered buffer modifications" warning [9.5 (9.5-g859984 @ /home/john/.emacs.d/straight/build/org/)] Karl Voit
2022-01-06 12:25 ` Ihor Radchenko
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.orgmode.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CAFyQvY2=M6-JO7k=dF74injM7kHCcGUgdCCZXM6TZPWDTGbR4A@mail.gmail.com' \
--to=kaushal.modi@gmail.com \
--cc=emacs-orgmode@gnu.org \
--cc=jmmathena@gmail.com \
--cc=yantar92@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs/org-mode.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).