If you still want to use python-mode with ob-python, you might
consider [[https://gitlab.com/jackkamm/ob-python-mode-mode][ob-python-mode-mode]], where the code to support python-mode
has been ported to.
+*** It is no longer possible to reveal hidden parts of the links during isearch
+
+Org 9.6 introduced support for searching hidden parts of the links.
+
+Unfortunately, we had to drop this support because its implementation
+turned out to be unreliable for many users. Proper implementation
+would require patching =isearch.el= and possibly a number of external
+libraries implementing isearch equivalents. It cannot be done on Org
+side alone.
*** =ox-latex=: ~org-latex-line-break-safe~ is deprecated
**** Hidden parts of the links can now be searched and revealed during isearch
+[2024-06-09 Sun] Since Org 9.7, this is no longer working. See
+changes for Org 9.7.
+
In the past, hidden parts of the links could not be searched using
isearch (=C-s=). Now, they are searchable by default. The hidden
match is also revealed temporarily during isearch.
% Reference Card for Org Mode
-\def\orgversionnumber{9.7.3}
+\def\orgversionnumber{9.7.4}
\def\versionyear{2024} % latest update
\input emacsver.tex
(defun org-babel-C-header-to-C (head type)
"Convert an elisp list of header table into a C or D vector
specifying a variable with the name of the table."
- (message "%S" type)
+ (unless noninteractive (message "%S" type))
(let ((table (car head))
(headers (cdr head))
(typename (pcase type
"Execute a block of Awk code BODY with org-babel.
PARAMS is a plist of src block parameters .
This function is called by `org-babel-execute-src-block'."
- (message "Executing Awk source code block")
+ (unless noninteractive (message "Executing Awk source code block"))
(let* ((result-params (cdr (assq :result-params params)))
(cmd-line (cdr (assq :cmd-line params)))
(in-file (cdr (assq :in-file params)))
(defcustom ob-clojure-cli-command (when-let (cmd (executable-find "clojure"))
(concat cmd " -M"))
"Clojure CLI command used by the Clojure `clojure-cli' backend."
- :type 'string
+ :type '(choice string (const nil))
:group 'org-babel
:package-version '(Org . "9.7"))
(forward-line)
(skip-chars-forward " \t")
(let ((result (org-babel-read-result)))
- (message (format "Cached: %s"
- (replace-regexp-in-string "%" "%%" (format "%S" result))))
+ (unless noninteractive
+ (message (format "Cached: %s"
+ (replace-regexp-in-string "%" "%%" (format "%S" result)))))
result)))
((org-babel-confirm-evaluate info)
(let* ((lang (nth 0 info))
result exec-start-time)
(unless (fboundp cmd)
(error "No org-babel-execute function for %s!" lang))
- (message "Executing %s %s %s..."
- (capitalize lang)
- (pcase executor-type
- ('src-block "code block")
- ('inline-src-block "inline code block")
- ('babel-call "call")
- ('inline-babel-call "inline call")
- (e (symbol-name e)))
- (let ((name (nth 4 info)))
- (if name
- (format "(%s)" name)
- (format "at position %S" (nth 5 info)))))
+ (unless noninteractive
+ (message "Executing %s %s %s..."
+ (capitalize lang)
+ (pcase executor-type
+ ('src-block "code block")
+ ('inline-src-block "inline code block")
+ ('babel-call "call")
+ ('inline-babel-call "inline call")
+ (e (symbol-name e)))
+ (let ((name (nth 4 info)))
+ (if name
+ (format "(%s)" name)
+ (format "at position %S" (nth 5 info))))))
(setq exec-start-time (current-time)
result
- (let ((r (save-current-buffer (funcall cmd body params))))
+ (let ((r
+ ;; Code block may move point in the buffer.
+ ;; Make sure that the point remains on the
+ ;; code block.
+ (save-excursion (funcall cmd body params))))
(if (and (eq (cdr (assq :result-type params)) 'value)
(or (member "vector" result-params)
(member "table" result-params))
(not (and (listp result)
(member "append" result-params))))
(indent-rigidly beg end indent))
- (let ((time-info
- ;; Only show the time when something other than
- ;; 0s will be shown, i.e. check if the time is at
- ;; least half of the displayed precision.
- (if (and exec-time (> (float-time exec-time) 0.05))
- (format " (took %.1fs)" (float-time exec-time))
- "")))
- (if (null result)
- (if (member "value" result-params)
- (message "Code block returned no value%s." time-info)
- (message "Code block produced no output%s." time-info))
- (message "Code block evaluation complete%s." time-info))))
+ (unless noninteractive
+ (let ((time-info
+ ;; Only show the time when something other than
+ ;; 0s will be shown, i.e. check if the time is at
+ ;; least half of the displayed precision.
+ (if (and exec-time (> (float-time exec-time) 0.05))
+ (format " (took %.1fs)" (float-time exec-time))
+ "")))
+ (if (null result)
+ (if (member "value" result-params)
+ (message "Code block returned no value%s." time-info)
+ (message "Code block produced no output%s." time-info))
+ (message "Code block evaluation complete%s." time-info)))))
(when end (set-marker end nil))
(when outside-scope (narrow-to-region visible-beg visible-end))
(set-marker visible-beg nil)
(unless (file-exists-p org-ditaa-jar-path)
(error "Could not find ditaa.jar at %s" org-ditaa-jar-path))
(with-temp-file in-file (insert body))
- (message cmd) (shell-command cmd)
- (when pdf-cmd (message pdf-cmd) (shell-command pdf-cmd))
+ (unless noninteractive (message cmd))
+ (shell-command cmd)
+ (when pdf-cmd (unless noninteractive (message pdf-cmd)) (shell-command pdf-cmd))
nil)) ;; signal that output has already been written to file
(defun org-babel-prep-session:ditaa (_session _params)
(if (not (eq type 'babel-call))
(progn (skip-chars-forward " \t")
(point))
- (skip-chars-forward " \r\t\n")
- (line-beginning-position)))))
+ (unless (eobp)
+ (skip-chars-forward " \r\t\n")
+ (line-beginning-position))))))
((not rep)
;; Replacement code cannot be determined.
;; Leave the code block as is.
(cond ((not replacement) (goto-char end))
((equal replacement "")
(goto-char end)
- (skip-chars-forward " \r\t\n")
- (forward-line 0)
+ (unless (eobp)
+ (skip-chars-forward " \r\t\n")
+ (forward-line 0))
(delete-region begin (point)))
(t
(if (org-src-preserve-indentation-p element)
(let ((script-file (org-babel-temp-file "gnuplot-script-")))
(with-temp-file script-file
(insert (concat body "\n")))
- (message "gnuplot \"%s\"" script-file)
+ (unless noninteractive (message "gnuplot \"%s\"" script-file))
(setq output
(shell-command-to-string
(format
script-file
(if (member system-type '(cygwin windows-nt ms-dos))
t nil)))))
- (message "%s" output))
+ (unless noninteractive (message "%s" output)))
(with-temp-buffer
(insert (concat body "\n"))
(gnuplot-mode)
"Prepare SESSION according to the header arguments in PARAMS."
(let* ((session (org-babel-gnuplot-initiate-session session))
(var-lines (org-babel-variable-assignments:gnuplot params)))
- (message "%S" session)
+ (unless noninteractive (message "%S" session))
(org-babel-comint-in-buffer session
(dolist (var-line var-lines)
(insert var-line)
(defun org-babel-execute:groovy (body params)
"Execute Groovy BODY according to PARAMS.
This function is called by `org-babel-execute-src-block'."
- (message "Executing Groovy source code block")
+ (unless noninteractive (message "Executing Groovy source code block"))
(let* ((processed-params (org-babel-process-params params))
(session (org-babel-groovy-initiate-session (nth 0 processed-params)))
(result-params (nth 2 processed-params))
(declare-function org-fold-show-all "org-fold" (&optional types))
(add-to-list 'org-babel-tangle-lang-exts '("LilyPond" . "ly"))
-(add-to-list 'org-src-lang-modes '("lilypond" . "LilyPond"))
+(add-to-list 'org-src-lang-modes '("lilypond" . LilyPond))
(defvar org-babel-default-header-args:lilypond '()
"Default header arguments for lilypond code blocks.
(defun org-babel-execute:maxima (body params)
"Execute Maxima BODY according to PARAMS.
This function is called by `org-babel-execute-src-block'."
- (message "Executing Maxima source code block")
+ (unless noninteractive (message "Executing Maxima source code block"))
(let ((result-params (split-string (or (cdr (assq :results params)) "")))
(result
(let* ((cmdline (or (cdr (assq :cmdline params)) ""))
(format "(linenum:0, %s(%S))$" batch/load in-file))
cmdline)))
(with-temp-file in-file (insert (org-babel-maxima-expand body params)))
- (message cmd)
+ (unless noninteractive (message cmd))
;; " | grep -v batch | grep -v 'replaced' | sed '/^$/d' "
(let ((raw (org-babel-eval cmd "")))
(mapconcat
(defun org-babel-execute:screen (body params)
"Send BODY via screen to a terminal using Babel, according to PARAMS.
\"default\" session is used when none is specified in the PARAMS."
- (message "Sending source code block to interactive terminal session...")
+ (unless noninteractive (message "Sending source code block to interactive terminal session..."))
(save-window-excursion
(let* ((session (cdr (assq :session params)))
(socket (org-babel-screen-session-socketname session)))
BODY is the source inside a sed source block and PARAMS is an
association list over the source block configurations. This
function is called by `org-babel-execute-src-block'."
- (message "Executing sed source code block")
+ (unless noninteractive (message "Executing sed source code block"))
(let* ((result-params (cdr (assq :result-params params)))
(cmd-line (cdr (assq :cmd-line params)))
(in-file (cdr (assq :in-file params)))
(let ((file-variants '(choice :tag "Filename "
(file :tag "Literal")
(function :tag "Function")
- (variable :tag "Variable")
- (sexp :tag "Form"))))
+ (variable :tag "Variable"))))
`(repeat
(choice :value ("" "" entry (file "~/org/notes.org") "")
(list :tag "Multikey description"
(list :tag "File & function"
(const :format "" file+function)
,file-variants
- (sexp :tag " Function"))
+ (function :tag " Function"))
(list :tag "Current clocking task"
(const :format "" clock))
(list :tag "Function"
(const :format "" function)
- (sexp :tag " Function")))
+ (function :tag " Function")))
(choice :tag "Template "
(string)
(list :tag "File"
(cond
((and (eq element-type 'clock) (match-end 2))
;; Two time stamps.
- (let* ((timestamp (org-element-property :value element))
- (ts (float-time
- (org-encode-time
- (list 0
- (org-element-property :minute-start timestamp)
- (org-element-property :hour-start timestamp)
- (org-element-property :day-start timestamp)
- (org-element-property :month-start timestamp)
- (org-element-property :year-start timestamp)
- nil -1 nil))))
- (te (float-time
- (org-encode-time
- (list 0
- (org-element-property :minute-end timestamp)
- (org-element-property :hour-end timestamp)
- (org-element-property :day-end timestamp)
- (org-element-property :month-end timestamp)
- (org-element-property :year-end timestamp)
- nil -1 nil))))
- (dt (- (if tend (min te tend) te)
- (if tstart (max ts tstart) ts))))
- (when (> dt 0) (cl-incf t1 (floor dt 60)))))
+ (condition-case nil
+ (let* ((timestamp (org-element-property :value element))
+ (ts (float-time
+ (org-encode-time
+ (list 0
+ (org-element-property :minute-start timestamp)
+ (org-element-property :hour-start timestamp)
+ (org-element-property :day-start timestamp)
+ (org-element-property :month-start timestamp)
+ (org-element-property :year-start timestamp)
+ nil -1 nil))))
+ (te (float-time
+ (org-encode-time
+ (list 0
+ (org-element-property :minute-end timestamp)
+ (org-element-property :hour-end timestamp)
+ (org-element-property :day-end timestamp)
+ (org-element-property :month-end timestamp)
+ (org-element-property :year-end timestamp)
+ nil -1 nil))))
+ (dt (- (if tend (min te tend) te)
+ (if tstart (max ts tstart) ts))))
+ (when (> dt 0) (cl-incf t1 (floor dt 60))))
+ (error
+ (org-display-warning (format "org-clock-sum: Ignoring invalid %s" (org-current-line-string))))))
((match-end 4)
;; A naked time.
(setq t1 (+ t1 (string-to-number (match-string 5))
default)))
": ")))
+(if (fboundp 'list-of-strings-p)
+ (defalias 'org-list-of-strings-p #'list-of-strings-p)
+ ;; From Emacs subr.el.
+;;;###autoload
+ (defun org-list-of-strings-p (object)
+ "Return t if OBJECT is nil or a list of strings."
+ (declare (pure t) (side-effect-free error-free))
+ (while (and (consp object) (stringp (car object)))
+ (setq object (cdr object)))
+ (null object)))
+
\f
;;; Emacs < 27.1 compatibility
(property-name-symbol (intern property-name))
(property-value
(org-element-deferred-create
- nil #'org-element--substring
+ t #'org-element--substring
(- (match-beginning 3) begin)
(- (match-end 3) begin))))
(cond
(title-end (point))
(raw-value
(org-element-deferred-create
- nil #'org-element--headline-raw-value
+ t #'org-element--headline-raw-value
(- title-start begin) (- title-end begin))))
(org-element-put-property headline :raw-value raw-value)
(org-element-put-property headline :level level)
(defconst org-element--headline-parse-title-raw
(org-element-deferred-create
- nil #'org-element--headline-parse-title t)
+ t #'org-element--headline-parse-title t)
"Constant holding deferred value for raw headline `:title' property.")
(defconst org-element--headline-parse-title-parse
(org-element-deferred-create
- nil #'org-element--headline-parse-title nil)
+ t #'org-element--headline-parse-title nil)
"Constant holding deferred value for parsed headline `:title' property.")
(defconst org-element--headline-deferred
(if (eobp) (point) (line-beginning-position))))
(value
(org-element-deferred-create
- nil #'org-element--substring
+ t #'org-element--substring
(- contents-begin begin)
(- contents-end begin))))
(org-element-create
(contents-begin (line-beginning-position 2))
(value
(org-element-deferred-create
- nil #'org-element--unescape-substring
+ t #'org-element--unescape-substring
(- contents-begin begin)
(- contents-end begin)))
(pos-before-blank (progn (goto-char contents-end)
(if (eobp) (point) (line-beginning-position))))
(value
(org-element-deferred-create
- nil #'org-element--unescape-substring
+ t #'org-element--unescape-substring
(- contents-begin begin)
(- contents-end begin))))
(org-element-create
(begin (car affiliated))
(value
(org-element-deferred-create
- nil #'org-element--substring
+ t #'org-element--substring
(- code-begin begin)
(- code-end begin)))
(end (progn (skip-chars-forward " \r\t\n" limit)
;; Retrieve code.
(value
(org-element-deferred-create
- nil #'org-element--unescape-substring
+ t #'org-element--unescape-substring
(- (line-beginning-position 2) begin)
(- contents-end begin)))
(pos-before-blank (progn (goto-char contents-end)
:contents-end (and (eq type 'org) table-end)
:value (and (eq type 'table.el)
(org-element-deferred-create
- nil #'org-element--substring
+ t #'org-element--substring
(- table-begin begin)
(- table-end begin)))
:post-blank (count-lines pos-before-blank end)
(list :value
(and (memq type '(code verbatim))
(org-element-deferred-create
- nil #'org-element--substring
+ t #'org-element--substring
(- contents-begin origin)
(- contents-end origin))))
(list :contents-begin contents-begin
(value
(when contents-end
(org-element-deferred-create
- nil #'org-element--substring
+ t #'org-element--substring
(- contents-begin begin)
(- contents-end begin))))
(post-blank (skip-chars-forward " \t"))
(replace-regexp-in-string "\n[ \t]*" " " (org-trim p)))))
(value
(org-element-deferred-create
- nil #'org-element--substring
+ t #'org-element--substring
0 (- (point) begin)))
(post-blank (skip-chars-forward " \t"))
(end (point)))
'latex-fragment
(list :value
(org-element-deferred-create
- nil #'org-element--substring
+ t #'org-element--substring
0 (- after-fragment begin))
:begin begin
:end end
`clone-indirect-buffer-hook'."
;; Add current buffer to the list of indirect buffers in the base buffer.
(when (buffer-base-buffer)
- (with-current-buffer (buffer-base-buffer)
- (setq-local org-fold-core--indirect-buffers
- (let (bufs)
- (org-fold-core-cycle-over-indirect-buffers
- (push (current-buffer) bufs))
- (push (current-buffer) bufs)
- (delete-dups bufs)))))
+ (let ((new-buffer (current-buffer)))
+ (with-current-buffer (buffer-base-buffer)
+ (setq-local org-fold-core--indirect-buffers
+ (let (bufs)
+ (org-fold-core-cycle-over-indirect-buffers
+ (push (current-buffer) bufs))
+ (push new-buffer bufs)
+ (delete-dups bufs))))))
(when (and (buffer-base-buffer)
(eq org-fold-core-style 'text-properties)
(not (memql 'ignore-indirect org-fold-core--optimise-for-huge-buffers)))
(dolist (e originals reports) (funcall make-report (cdr e) (car e)))))
(defun org-lint-misplaced-heading (ast)
- "Check for accidentally misplaced heading lines."
+ "Check for accidentally misplaced heading lines.
+Example:
+** Heading 1
+** Heading 2** Oops heading 3
+** Heading 4"
(org-with-point-at ast
(goto-char (point-min))
(let (result)
;; Heuristics for 2+ level heading not at bol.
(while (re-search-forward (rx (not (any "*\n\r ,")) ;; Not a bol; not escaped ,** heading; not " *** words"
"*" (1+ "*") " ") nil t)
- (unless (org-at-block-p) ; Inside a block, where the chances to have heading a slim.
+ ;; Limit false-positive rate by only complaining about
+ ;; ** Heading** Heading and
+ ;; ** Oops heading
+ ;; Paragraph** Oops heading
+ (when (org-element-type-p
+ (org-element-at-point)
+ '(paragraph headline))
(push (list (match-beginning 0) "Possibly misplaced heading line") result)))
result)))
:group 'org-appearance
:package-version '(Org . "9.3")
:type '(repeat (string :tag "Tag"))
- :safe (lambda (val) (and (listp val) (cl-every #'stringp val))))
+ :safe #'org-list-of-strings-p)
;;;###autoload
(defcustom org-num-skip-unnumbered nil
(defun org-persist--read-elisp-file (&optional buffer-or-file)
"Read elisp data from BUFFER-OR-FILE or current buffer."
(let (;; UTF-8 is explicitly used in `org-persist--write-elisp-file'.
- (coding-system-for-read 'utf-8)
+ (coding-system-for-read 'emacs-internal)
(buffer-or-file (or buffer-or-file (current-buffer))))
(with-temp-buffer
(if (bufferp buffer-or-file)
(let ((write-region-inhibit-fsync t)
;; We set UTF-8 here and in `org-persist--read-elisp-file'
;; to avoid the overhead from `find-auto-coding'.
- (coding-system-for-write 'utf-8)
+ (coding-system-for-write 'emacs-internal)
(print-circle (not no-circular))
print-level
print-length
:package-version '(Org . "9.7")
:type '(repeat
(cons
- (string "Language name")
- (symbol "Major mode"))))
+ (string :tag "Language name")
+ (symbol :tag "Major mode"))))
(defcustom org-src-block-faces nil
"Alist of faces to be used for source-block.
(goto-char (org-table-begin))
(let (rtn)
(forward-line -1)
- (while (looking-at "[ \t]*#\\+ORGTBL[: \t][ \t]*SEND[ \t]+\\([^ \t\r\n]+\\)[ \t]+\\([^ \t\r\n]+\\)\\([ \t]+.*\\)?")
- (let ((name (org-no-properties (match-string 1)))
- (transform (intern (match-string 2)))
- (params (if (match-end 3)
- (read (concat "(" (match-string 3) ")")))))
- (push (list :name name :transform transform :params params)
- rtn)
- (forward-line -1)))
+ (catch :bob
+ (while (looking-at "[ \t]*#\\+ORGTBL[: \t][ \t]*SEND[ \t]+\\([^ \t\r\n]+\\)[ \t]+\\([^ \t\r\n]+\\)\\([ \t]+.*\\)?")
+ (let ((name (org-no-properties (match-string 1)))
+ (transform (intern (match-string 2)))
+ (params (if (match-end 3)
+ (read (concat "(" (match-string 3) ")")))))
+ (push (list :name name :transform transform :params params)
+ rtn)
+ (when (bobp) (throw :bob nil))
+ (forward-line -1))))
rtn)))
(defun orgtbl-send-replace-tbl (name text)
(defun org-release ()
"The release version of Org.
Inserted by installing Org mode or when a release is made."
- (let ((org-release "9.7.3"))
+ (let ((org-release "9.7.4"))
org-release))
;;;###autoload
(defun org-git-version ()
"The Git version of Org mode.
Inserted by installing Org or when a release is made."
- (let ((org-git-version "release_9.7.3"))
+ (let ((org-git-version "release_9.7.4-7-g165319"))
org-git-version))
\f
(provide 'org-version)
;; URL: https://orgmode.org
;; Package-Requires: ((emacs "26.1"))
-;; Version: 9.7.3
+;; Version: 9.7.4
;; This file is part of GNU Emacs.
;;
(t nil))))
(defun org-image--align (link)
- "Determine the alignment of the image link.
+ "Determine the alignment of the image LINK.
+LINK is a link object.
In decreasing order of priority, this is controlled:
-- Per image by the value of `:center' or ``:align' in the
+- Per image by the value of `:center' or `:align' in the
affiliated keyword `#+attr_org'.
- By the `#+attr_html' or `#+attr_latex` keywords with valid
`:center' or `:align' values.
implies no special alignment."
(let ((par (org-element-lineage link 'paragraph)))
;; Only align when image is not surrounded by paragraph text:
- (when (and (= (org-element-begin link)
+ (when (and par ; when image is not in paragraph, but in table/headline/etc, do not align
+ (= (org-element-begin link)
(save-excursion
(goto-char (org-element-contents-begin par))
(skip-chars-forward "\t ")
(point))) ;account for leading space
;before link
(<= (- (org-element-contents-end par)
- (org-element-end link))
- 1)) ;account for trailing newline
+ (org-element-end link))
+ 1)) ;account for trailing newline
;at end of paragraph
(save-match-data
;; Look for a valid ":center t" or ":align left|center|right"
(defvar org-attach-method)
(defun org--dnd-rmc (prompt choices)
+ "Display a menu or dialog and select with PROMPT among CHOICES.
+PROMPT is the prompt string. CHOICES is a list of choices. Each
+choice is a list of (key description value). VALUE from the selected
+choice is returned."
(if (null (and
;; Emacs <=28 does not have `use-dialog-box-p'.
(fboundp 'use-dialog-box-p)
(use-dialog-box-p)))
- (caddr (read-multiple-choice prompt choices))
+ (progn
+ (setq choices
+ (mapcar
+ (pcase-lambda (`(,key ,message ,val))
+ ;; `read-multiple-choice' expects VAL to be a long
+ ;; description of the choice - string or nil. Move VAL
+ ;; further, so that it is not seen by the extended
+ ;; help in `read-multiple-choice'.
+ (list key message nil val))
+ choices))
+ (nth 3 (read-multiple-choice prompt choices)))
(setq choices
(mapcar
(pcase-lambda (`(_key ,message ,val))
('private (or org-yank-dnd-default-attach-method
org-attach-method)))))
(if separatep
- (funcall
- (pcase method
- ('cp #'copy-file)
- ('mv #'rename-file)
- ('ln #'add-name-to-file)
- ('lns #'make-symbolic-link))
- filename
- (expand-file-name (file-name-nondirectory filename)
- org-yank-image-save-method))
+ (progn
+ (unless (file-directory-p org-yank-image-save-method)
+ (make-directory org-yank-image-save-method t))
+ (funcall
+ (pcase method
+ ('cp #'copy-file)
+ ('mv #'rename-file)
+ ('ln #'add-name-to-file)
+ ('lns #'make-symbolic-link))
+ filename
+ (expand-file-name (file-name-nondirectory filename)
+ org-yank-image-save-method)))
(org-attach-attach filename nil method))
(insert
(org-link-make-string
inferior to file-local settings."
;; First install #+BIND variables since these must be set before
;; global options are read.
- (dolist (pair (org-export--list-bound-variables))
- (set (make-local-variable (car pair)) (nth 1 pair)))
+ (org-export--set-variables (org-export--list-bound-variables))
;; Get and prioritize export options...
(org-combine-plists
;; ... from global variables...
(defun org-export--set-variables (variable-alist)
"Set buffer-local variables according to VARIABLE-ALIST in current buffer."
(pcase-dolist (`(,var . ,val) variable-alist)
- (set (make-local-variable var) val)))
+ (set (make-local-variable var) (car val))))
(cl-defun org-export-copy-buffer (&key to-buffer drop-visibility
drop-narrowing drop-contents
(with-temp-message "Initializing asynchronous export process"
(let ((copy-fun (org-element--generate-copy-script (current-buffer)))
(temp-file (make-temp-file "org-export-process")))
- (let ((coding-system-for-write 'utf-8-emacs-unix))
+ (let ((coding-system-for-write 'emacs-internal))
(write-region
;; Null characters (from variable values) are inserted
;; within the file. As a consequence, coding system for