On 27/08/14 03:52, Nick Dokos wrote:
Ciaran Mulloy <crmul...@gmail.com> writes:
Hi!
I was fascinated to work through the examples provided in the org-tutorials
sections under Worg and really see the power of using eLisp as spreadsheet
formula: http://orgmode.org/worg/
org-tutorials/org-spreadsheet-lisp-formulas.html
However the use of the mapconcat function always generated an error: Invalid regex
"Regular expression too big", even with only a few terms in the formula.
The offending formula was:
#+TBLFM: @2$3='(mapconcat 'identity (delete-dups (list @2$1..@>$1 @2$2..@>$2)) "
")
I experimented with variations of the formula getting the same error every time.
I did a search of the org-mode forum without finding any solution.
Any thoughts?
I can't reproduce it - e.g. this
--8<---------------cut here---------------start------------->8---
| one | two | three | four | five |
|-----+-----+---------------+------+------|
| a | a | a b c e f d g | | |
| a | b | | | |
| b | a | | | |
| c | d | | | |
| e | f | | | |
| f | g | | | |
| a | f | | | |
#+TBLFM: @2$3='(mapconcat 'identity (delete-dups (list @2$1..@>$1 @2$2..@>$2)) "
")
--8<---------------cut here---------------end--------------->8---
works fine for me. This is with more-or-less latest org.
Moreover, none of the functions used (mapconcat, identity, delete-dups
or list) use regexps at all. There is a chance that regexps are used by
the evaluator when building the ranges, but it's unlikely IMO, so the
regexp error seems like a red herring to me. How big a table did you
try? Did you try restarting emacs and redoing the evaluation? How about
starting emacs without any of your customizations and redoing the
evaluation? Something like this
emacs -q -l /path/to/minimal/init /path/to/file/with/the/table
where the minimal init file just sets load-path if necessary and
initializes org.
Hi Nick,
Many thanks for your input.
The table I was trying was the example in the tutorial shown as follows
(not big) and no hint of a regex!:
| Col1 | Col2 | Col3 | Col4 | Col5 |
|------+------+------+------+------|
| a | a | :='(mapconcat 'identity (delete-dups (list @2$1..@>$1
@2$2..@>$2)) " ") | b | |
| b | a | | | |
| c | d | | | |
#+TBLFM: @2$3='(mapconcat 'identity (delete-dups (list @2$1..@>$1
@2$2..@>$2)) " ")
I did as you suggested and ran emacs -q -l ~/.emacs ~/path_to_file and
got the same result as above:
org-table-eval-formula: Invalid regexp: "Regular expression too big"
The .emacs file is blank.
The version of emacs is GNU Emacs 24.3.1 (x86_64-pc-linux-gnu, ) of
2013-07-27 on roseapple, modified by Debian
Org-mode version 7.9.3f (release_7.9.3f-17-g7524ef @
/usr/share/emacs/24.3/lisp/org/)
Using Mint 17 Xfce.
I don't think I'm doing something silly here but am at a loss to figure
out the problem.