From: Mohsin Kaleem <mohkale@kisara.moe>
To: Nicolas Goaziou <mail@nicolasgoaziou.fr>
Cc: emacs-orgmode@gnu.org
Subject: [kisara.moe] Re: [kisara.moe] Re: [kisara.moe] Bug: async latex export fails due to post-process lambda [9.4.4 (release_9.4.4-188-ga8df76 @ /home/mohkale/.config/emacs/lisp/straight/build/org/)]
Date: Sun, 30 May 2021 17:43:08 +0100 [thread overview]
Message-ID: <87k0ngjhpf.fsf@kisara.moe> (raw)
In-Reply-To: <87bl8tz318.fsf@nicolasgoaziou.fr>
[-- Attachment #1: Type: text/plain, Size: 1990 bytes --]
Nicolas Goaziou <mail@nicolasgoaziou.fr> writes:
> mohsin kaleem <mohkale@kisara.moe> writes:
>
>> I've been trying to get async-export setup for the past day and I've
>> found it keeps failing due to an unexpected # in the compilation script
>> generated by org-export.
>>
>> After doing a little debugging I found the script contained
>> ~(funcall '#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_77> "foo.tex")~
>> so at some point in the export org-mode is including an evaluated lambda
>> when a quoted one is required.
>
> Your bug sounds plausible, but I cannot reproduce it.
Hmmm... that's strange. Running:
1. `emacs -nw`
2. `C-x C-f ~/foo.org`
3. Insert some text
4. `M-: (setq org-export-in-background t)`
5. `M-: (setq org-export-async-init-file "/path/to/some/file.el")` For some reason async export fails when this is nil.
6. `M-x org-export-dispatch lp`
Ends with the export process failing and the `*Org Export Process*`
buffer containing:
```
Loading /home/mohkale/.config/emacs/early-init.el (source)...
Debugger entered--Lisp error: (invalid-read-syntax "#" 1 0)
read(#<buffer *load*>)
eval-buffer(#<buffer *load*> nil "/tmp/org-export-processv2hIqF" nil t) ; Reading at buffer position 3743
load-with-code-conversion("/tmp/org-export-processv2hIqF" "/tmp/org-export-processv2hIqF" nil t)
load("/tmp/org-export-processv2hIqF" nil t)
command-line-1(("-l" "/home/mohkale/.config/emacs/lisp/+org-async-init.e..." "-l" "/tmp/org-export-processv2hIqF"))
command-line()
normal-top-level()
```
This might be related to newer versions of emacs and how they treat
lambdas internally, could you retry with emacs 28.0.5 if you still can't
reproduce it.
>> - (lambda (file) (org-latex-compile file)))))
>> + `(lambda (file) (org-latex-compile file)))))
>
> Anyhow, would #'org-latex-compile fix the issue, too?
Apologies if my explanation wasn't sufficient, I've attached a copy of
the build script that org-export generates to this email.
[-- Attachment #2: build script --]
[-- Type: #("application/emacs-lisp" 0 1 (completion-score 0.18181818181818182) 18 22 (face completions-common-part)), Size: 3837 bytes --]
;; -*- coding: undecided-unix; -*-
(with-temp-buffer (when org-export-async-debug '(setq debug-on-error t)) (setq kill-emacs-hook nil org-babel-confirm-evaluate-answer-no t) (require 'ox) (funcall (lambda nil (let ((inhibit-modification-hooks t)) (let ((org-mode-hook nil) (org-inhibit-startup t)) (org-mode)) (set (make-local-variable 'org-target-link-regexp) 'nil) (set (make-local-variable 'org-macro-templates) '(("date" . "") ("title" . "Foo Bar") ("email" . "") ("author" . "") ("input-file" . "foo.org") ("modification-time" . "(eval
(format-time-string $1
(or (and (org-string-nw-p $2)
(org-macro--vc-modified-time \"/home/mohkale/foo.org\"))
'(24755 48598 358268 200000))))") ("n" . "(eval (org-macro--counter-increment $1 $2))") ("keyword" . "(eval (org-macro--find-keyword-value $1))") ("time" . "(eval (format-time-string $1))") ("property" . "(eval (org-macro--get-property $1 $2))"))) (set (make-local-variable 'org-table-may-need-update) 't) (set (make-local-variable 'org-latex-and-related-regexp) '"") (set (make-local-variable 'org-todo-line-tags-regexp) '"^\\(\\*+\\)\\(?: +\\(DONE\\|TODO\\)\\)?\\(?: +\\(.*?\\)\\)??\\(?:[ ]+\\(:[[:alnum:]:_@#%]+:\\)\\)?[ ]*$") (set (make-local-variable 'org-complex-heading-regexp-format) '"^\\(\\*+\\)\\(?: +\\(DONE\\|TODO\\)\\)?\\(?: +\\(\\[#.\\]\\)\\)?\\(?: +\\(?:\\[[0-9%%/]+\\] *\\)*\\(%s\\)\\(?: *\\[[0-9%%/]+\\]\\)*\\)\\(?:[ ]+\\(:[[:alnum:]_@#%%:]+:\\)\\)?[ ]*$") (set (make-local-variable 'org-complex-heading-regexp) '"^\\(\\*+\\)\\(?: +\\(DONE\\|TODO\\)\\)?\\(?: +\\(\\[#.\\]\\)\\)?\\(?: +\\(.*?\\)\\)??\\(?:[ ]+\\(:[[:alnum:]_@#%:]+:\\)\\)?[ ]*$") (set (make-local-variable 'org-todo-line-regexp) '"^\\(\\*+\\)\\(?: +\\(DONE\\|TODO\\)\\)?\\(?: +\\(.*?\\)\\)?[ ]*$") (set (make-local-variable 'org-not-done-heading-regexp) '"^\\(\\*+\\)\\(?: +\\(TODO\\)\\)\\(?: +\\(.*?\\)\\)?[ ]*$") (set (make-local-variable 'org-not-done-regexp) '"\\(TODO\\)") (set (make-local-variable 'org-todo-regexp) '"\\(DONE\\|TODO\\)") (set (make-local-variable 'org-not-done-keywords) '("TODO")) (set (make-local-variable 'org-todo-log-states) 'nil) (set (make-local-variable 'org-todo-sets) '(("TODO" "DONE"))) (set (make-local-variable 'org-todo-heads) '("TODO")) (set (make-local-variable 'org-done-keywords) '("DONE")) (set (make-local-variable 'org-todo-keywords-1) '("TODO" "DONE")) (set (make-local-variable 'org-todo-key-trigger) 'nil) (set (make-local-variable 'org-todo-key-alist) '((:startgroup) ("TODO" . 116) ("DONE" . 100) (:endgroup))) (set (make-local-variable 'org-todo-kwd-alist) '(("TODO" sequence "TODO" "DONE" "DONE") ("DONE" sequence "TODO" "DONE" "DONE"))) (set (make-local-variable 'org-table-formula-constants-local) 'nil) (set (make-local-variable 'org-keyword-properties) 'nil) (set (make-local-variable 'org-tag-groups-alist) 'nil) (set (make-local-variable 'org-current-tag-alist) 'nil) (set (make-local-variable 'org-file-tags) 'nil) (set (make-local-variable 'buffer-file-name) '"/home/mohkale/foo.org") (set (make-local-variable 'default-directory) '"/home/mohkale/") (set (make-local-variable 'buffer-file-coding-system) 'undecided-unix) (insert #("#+TITLE: Foo Bar
Hello world can you believe it buddy.
" 0 8 (fontified t font-lock-fontified t face org-document-info-keyword) 8 9 (fontified t) 9 17 (fontified t font-lock-fontified t face org-document-title) 17 56 (fontified t))) (narrow-to-region 1 57) (goto-char 19)))) (restore-buffer-modified-p nil) (print (progn (let ((output (org-export-as 'latex nil nil nil '(:output-file "foo.tex")))) (with-temp-buffer (insert output) (let ((coding-system-for-write 'undecided-unix)) (write-file "foo.tex"))) (or (ignore-errors (funcall '#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_77> "foo.tex")) "foo.tex")))))
[-- Attachment #3: Type: text/plain, Size: 560 bytes --]
At the very end of the script you can see where the callback is called.
The issue is fixed because with the quoted lambda when org tries to
write it into the async build script (I.E. `(message "%s" callback-function)`)
it'll be outputted verbatim (as a lisp expression).
Instead my emacs atm represents the lambda as some anonymous function object
(resembling `#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_77>`)
so when org tries to print it out it'll just print this garbage
representation instead of the function it should call.
---
Mohsin K.
next prev parent reply other threads:[~2021-05-30 16:45 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-05-26 1:44 [kisara.moe] Bug: async latex export fails due to post-process lambda [9.4.4 (release_9.4.4-188-ga8df76 @ /home/mohkale/.config/emacs/lisp/straight/build/org/)] mohsin kaleem
2021-05-29 20:41 ` Nicolas Goaziou
2021-05-30 16:43 ` Mohsin Kaleem [this message]
2021-05-30 17:18 ` Greg Minshall
2021-05-30 17:54 ` [kisara.moe] Re: [kisara.moe] " Mohsin Kaleem
2021-07-05 5:02 ` Mohsin Kaleem
2021-07-05 6:26 ` Nicolas Goaziou
2021-07-05 16:04 ` [kisara.moe] Re: [kisara.moe] " Mohsin Kaleem
2021-07-05 16:41 ` Nicolas Goaziou
2021-07-05 19:50 ` [kisara.moe] Re: [kisara.moe] " Mohsin Kaleem
2021-07-05 19:56 ` Mohsin Kaleem
2021-09-15 21:19 ` Mohsin Kaleem
2021-09-20 6:03 ` Sébastien Miquel
2021-09-20 11:11 ` Mohsin Kaleem
2022-10-01 9:57 ` 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=87k0ngjhpf.fsf@kisara.moe \
--to=mohkale@kisara.moe \
--cc=emacs-orgmode@gnu.org \
--cc=mail@nicolasgoaziou.fr \
/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).