Jeśli mam fragment kodu, który zaplątałem w plik, ale spodziewam się, że nazwa pliku zmieni się z czasem, czy istnieje lepszy sposób na zmianę nazwy pliku niż zastąpienie zapytania?
Powiedzmy na przykład, że plączę kod do ~ / 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.
Później zdaję sobie sprawę, że lepiej byłoby umieścić plik w innym miejscu:
#+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.
Czy istnieje sposób na zmianę argumentu na: splątanie dynamiczne.
Zbadałem i odkryłem, że mogę wprowadzić elisp do argumentu: tangle. Jeśli ocenię, (setq myfile "~/dir/file.el)
a następnie zaplątam następujące kwestie:
#+BEGIN_SRC emacs-lisp :tangle (print myfile)
(setq myvar1 "value1")
#+END_SRC
#+BEGIN_SRC emacs-lisp :tangle (print myfile)
(defun foo (bar) ... )
#+END_SRC
Otrzymuję pożądany efekt, którego szukam. Mógłbym wtedy wykonać fragment elisp, aby ustawić zmienną za pomocą org-babel, ale zastanawiałem się, czy jest na to lepszy sposób.
Dokumenty w nagłówku: tangle nie określają natywnego sposobu.