On 27/08/14 08:21, Ciaran Mulloy wrote: > 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. > > > Hi, Further to my earlier posting, tried calculating the table on my PC in work and it worked!
So I'm a little puzzled at what the differences are. Configurations as follows: GNU Emacs 24.3.1 (x86_64-pc-linux-gnu, GTK+ Version 3.10.7) of 2014-03-07 on lamiak, modified by Debian Org-mode version 7.9.3f (release_7.9.3f-17-g7524ef @ /usr/share/emacs/24.3/lisp/org/) Cinnamon Mint 64 bit version 17