emacs-orgmode
[Top][All Lists]
Advanced

[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 08:21:37 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.6.0

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.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]