I am trying to use data from a table in a calc source block, but I get the following error when trying to eval the block: #+BEGIN_EXAMPLE math-format-stack-value: Wrong type argument: symbolp, 10 #+END_EXAMPLE Here is an example file which demonstrates the problem: #+BEGIN_EXAMPLE Org version: 8.2.5h (org-20140224 from package) Emacs version: 24.3.1 Run after starting Emacs with =emacs -Q= #+BEGIN_SRC elisp (add-to-list 'org-babel-load-languages '(calc . t)) (require 'ob-calc) #+END_SRC #+NAME: the-table | a | b | c | |---+----+-----| | 1 | 10 | 100 | | 2 | 20 | 200 | | 3 | 30 | 300 | | 4 | 40 | 400 | #+BEGIN_SRC calc :var data=the-table[,1] 1 #+END_SRC #+BEGIN_SRC elisp :var data=the-table[,1] (format "%s" data) #+END_SRC #+END_EXAMPLE I'm not familiar with the workings of calc, but is there a workaround? P.S. Please CC me in replies since I'm not subscribed to the list. -- Daniel Hackney

Org-mode's calc support is very limited. I think someone with a working knowledge of how calc uses vectors would need to add table support. Unfortunately calc experts seem to be few and far between. Best, Daniel Hackney <dan@haxney.org> writes: > I am trying to use data from a table in a calc source block, but I get > the following error when trying to eval the block: > > #+BEGIN_EXAMPLE > math-format-stack-value: Wrong type argument: symbolp, 10 > #+END_EXAMPLE > > Here is an example file which demonstrates the problem: > > #+BEGIN_EXAMPLE > Org version: 8.2.5h (org-20140224 from package) > Emacs version: 24.3.1 > > Run after starting Emacs with =emacs -Q= > > #+BEGIN_SRC elisp > (add-to-list 'org-babel-load-languages '(calc . t)) > (require 'ob-calc) > #+END_SRC > #+NAME: the-table > | a | b | c | > |---+----+-----| > | 1 | 10 | 100 | > | 2 | 20 | 200 | > | 3 | 30 | 300 | > | 4 | 40 | 400 | > > #+BEGIN_SRC calc :var data=the-table[,1] > 1 > #+END_SRC > #+BEGIN_SRC elisp :var data=the-table[,1] > (format "%s" data) > #+END_SRC > #+END_EXAMPLE > > I'm not familiar with the workings of calc, but is there a workaround? > > P.S. Please CC me in replies since I'm not subscribed to the list. > > -- > Daniel Hackney > -- Eric Schulte https://cs.unm.edu/~eschulte PGP: 0x614CA05D

```
Eric Schulte <schulte.eric@gmail.com> wrote:
> Org-mode's calc support is very limited. I think someone with a
> working knowledge of how calc uses vectors would need to add table
> support. Unfortunately calc experts seem to be few and far between.
Looking at the calc source code was not terribly helpful, since it is
barely documented. The info page can help somewhat, though.
Doing a little bit of digging, it looks like you can bind variables for
=calc-eval= like so:
#+BEGIN_SRC elisp
(let ((var-a "[1, 2, 3]"))
(calc-eval "evalv(reduce(add, a))"))
#+END_SRC
#+RESULTS:
: 6
This pattern could be used for variable binding. It would mean wrapping
the code to be evaluated in =evalv=. If I get some time, I might
investigate writing a patch to do this.
--
Daniel Hackney
```