En org-mode
, estoy tratando de definir una función, una variable, y luego asignar a otra variable el resultado de la llamada a la función en la primera variable. Sin embargo, parece que no puedo usar esta nueva variable en llamadas de funciones posteriores.
La inclusión de las llamadas de función funciona, pero afectar primero el valor de una variable permitiría una depuración más rápida en caso de que algo salga mal en la primera llamada de función, y evitar duplicar cálculos potencialmente costosos.
MWE: (usar (require 'ob-emacs-lisp)
si es necesario)
#+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
Expandir el segundo bloque de código muestra:
(let ((res (quote "nil")))
(message res))
¿Qué me estoy perdiendo?
(Esto ha sido probado en emacs 24.3.1, 24.4 y 24.5, usando org 8.2.10)