[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals-release/org 5a8a1d4ff9 1/2: org-compile-file: Expand "~
From: |
ELPA Syncer |
Subject: |
[elpa] externals-release/org 5a8a1d4ff9 1/2: org-compile-file: Expand "~" in SOURCE |
Date: |
Sat, 7 Jan 2023 07:58:04 -0500 (EST) |
branch: externals-release/org
commit 5a8a1d4ff95639bdcbeaa62eabcc09a41a5b1ed6
Author: Ihor Radchenko <yantar92@posteo.net>
Commit: Ihor Radchenko <yantar92@posteo.net>
org-compile-file: Expand "~" in SOURCE
* lisp/org-macs.el (org-compile-file): Expand "~" in the source before
passing it as quoted shell argument.
Reported-by: Alain.Cochard@unistra.fr
Link: https://orgmode.org/list/25528.42190.53674.62381@gargle.gargle.HOWL
---
lisp/org-macs.el | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/lisp/org-macs.el b/lisp/org-macs.el
index 72929cdd26..07c668a807 100644
--- a/lisp/org-macs.el
+++ b/lisp/org-macs.el
@@ -372,18 +372,23 @@ be set to a buffer or a buffer name. `shell-command'
then uses
it for output."
(let* ((base-name (file-name-base source))
(full-name (file-truename source))
- (out-dir (or (file-name-directory source) "./"))
+ (relative-name (file-relative-name source))
+ (out-dir (if (file-name-directory source)
+ ;; Expand "~". Shell expansion will be disabled
+ ;; in the shell command call.
+ (file-name-directory full-name)
+ "./"))
(output (expand-file-name (concat base-name "." ext) out-dir))
(time (file-attribute-modification-time (file-attributes output)))
(err-msg (if (stringp err-msg) (concat ". " err-msg) "")))
(save-window-excursion
(pcase process
- ((pred functionp) (funcall process (shell-quote-argument source)))
+ ((pred functionp) (funcall process (shell-quote-argument
relative-name)))
((pred consp)
(let ((log-buf (and log-buf (get-buffer-create log-buf)))
(spec (append spec
`((?b . ,(shell-quote-argument base-name))
- (?f . ,(shell-quote-argument source))
+ (?f . ,(shell-quote-argument relative-name))
(?F . ,(shell-quote-argument full-name))
(?o . ,(shell-quote-argument out-dir))
(?O . ,(shell-quote-argument output))))))