Если у меня есть фрагмент кода, который я связываю с файлом, но я ожидаю, что имя файла со временем изменится, есть ли более чистый способ изменить имя файла, чем Query-replace?
Например, скажем, я путаю код с ~ / dir / my-file.el:
#+BEGIN_SRC emacs-lisp :tangle ~/dir/my-file.el
(setq myvar1 "value1")
#+END_SRC
#+BEGIN_SRC emacs-lisp :tangle ~/dir/my-file.el
(defun foo (bar) ... )
#+END_SRC
etc.
Затем я понимаю, что файл лучше поместить в другое место:
#+BEGIN_SRC emacs-lisp :tangle ~/dir/my/file.el
(setq myvar1 "value1")
#+END_SRC
#+BEGIN_SRC emacs-lisp :tangle ~/dir/my/file.el
(defun foo (bar) ... )
#+END_SRC
etc.
Есть ли способ изменить аргумент на: путать динамически.
Я исследовал и обнаружил, что могу указать elisp в аргументе: tangle. Если я оцениваю (setq myfile "~/dir/file.el)
и запутываю следующее:
#+BEGIN_SRC emacs-lisp :tangle (print myfile)
(setq myvar1 "value1")
#+END_SRC
#+BEGIN_SRC emacs-lisp :tangle (print myfile)
(defun foo (bar) ... )
#+END_SRC
Я получаю желаемый результат, который ищу. Затем я мог выполнить фрагмент кода elisp, чтобы установить переменную с помощью org-babel, но мне было интересно, есть ли более чистый способ сделать это.
Документы на заголовок: tangle не предусматривают собственный путь.