[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [O] Worg Tutorial error: using Emacs lisp as formulas
From: |
ciaran_mulloy |
Subject: |
Re: [O] Worg Tutorial error: using Emacs lisp as formulas |
Date: |
Wed, 27 Aug 2014 10:20:34 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.0 |
On 27/08/14 08:21, Ciaran Mulloy wrote:
> On 27/08/14 03:52, Nick Dokos wrote:
>> Ciaran Mulloy <address@hidden> 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