Dans org-mode
, j'essaie de définir une fonction, une variable, puis d'assigner à une autre variable le résultat de l'appel de fonction sur la première variable. Cependant, il semble que je ne puisse pas utiliser cette nouvelle variable dans les appels de fonctions suivants.
L'insertion des appels de fonction fonctionne, mais affecter d'abord la valeur à une variable permettrait un débogage plus rapide en cas de problème lors du premier appel de fonction et éviterait de dupliquer des calculs potentiellement coûteux.
MWE: (utiliser (require 'ob-emacs-lisp)
si nécessaire)
#+name: square
#+begin_src emacs-lisp :var x=3
(message (format "%s" (* x x)))
#+end_src
#+RESULTS: square
: 9
#+name: value
: 45
#+name: squaredvalue
#+call: square(x=value)
#+RESULTS: squaredvalue
: 2025
Now I try to reuse this value:
#+begin_src emacs-lisp :var res=squaredvalue
(message res)
#+end_src
#+RESULTS:
: nil
Inlined calls do work:
#+begin_src emacs-lisp :var res=square(value)
(message res)
#+end_src
#+RESULTS:
: 2025
L'élargissement du deuxième bloc de code montre:
(let ((res (quote "nil")))
(message res))
Qu'est-ce que je rate?
(Cela a été testé sur emacs 24.3.1, 24.4 et 24.5, en utilisant org 8.2.10)