emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] Why does a column's name need to start with a letter? Changed so


From: Carsten Dominik
Subject: Re: [O] Why does a column's name need to start with a letter? Changed source with no perceivable side-effects
Date: Sat, 5 Mar 2011 08:41:13 +0100

Hi Christian,

On 5.3.2011, at 04:35, Frozenlock wrote:

> Greetings, 
> 
> First and foremost, I must say I'm a new Org-mode user... as well as a new 
> emacs user... and have only limited experience with lisp. 
> 
> I'm using a table in org-mode as a database, from which I retrieve 
> information as needed from other tables. 
> This database stores multiples components with names starting by numbers and 
> with the character "-" in them. For example: "10K-AN-D8".
> I want to be able to refer to its column with $10K-AN-D8. Yet, this is 
> impossible at the moment. 
> 
> I've looked in org-table.el and found, at line 2038:
> 
> (if (string-match "^[a-zA-Z][a-zA-Z0-9]*$" name)
> 
> which, once replaced by this:
> 
> (if (string-match "^[-_a-zA-Z0-9]*$" name)
> 
> Provides me with the ability to name (and refer) columns in any way I want. 
> 
> However, I'm reluctant to use this feature; surely there was a reason for 
> this limitation.
> Could someone point it out for me?

This is limitation is present to disambiguate formulas.
In you example $10K-AN-D8, D8 is already a field reference,
so Org does not know if you mean $10K-AN - @8$4.
Furthermore, you could easily arrive at variables like
$10-AN-D8, and then what should the $10 mean?

Of cause one could disambiguate heuristically by checking
which names have been defined.  In fact, name replacement
happens first, and this is why your patch appears to
work.  But the side effect would be that introducing
new names could change the interpretation of an
existing equation.  All this is unstable and
unpredictable.

Hope this makes it clear.

- Carsten


reply via email to

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