On Jan 4, 2009, at 3:33 PM, Steven E. Harris wrote:
Carsten Dominik <address@hidden> writes:
Code references use special labels embedded directly into the source
code. Such labels look like "((name))" and must be unique within a
document.
How does the parser know that, say, "((def))" is not a valid
expression
in the surrounding Lisp forms? Is it important that it be separated by
space, or be the last token on the line?
Trying to concoct a motivating example, consider a structure
represented
as nested lists:
,----
| '(a
| ((b c) d)
| (((e) f)) ((def))
| g)
`----
Without knowing what the enclosing `quote' form means, how do know
that
"((def))" is not part of it?
Hi Steven,
good question, and the answer is that is does not know,
cannot know, because this is a feature that is supposed
to work for any kind of example, an the parser cannot
know all possible syntaxes :-)
This idea is to make this work in a heuristic way, by using something
that is unlikely enough to occur in real code.
You are right that what I am using might be too
dangerous for emacs lisp or other lisp dialects, and
it could also show up in other languages like C.
What would be safer?
<<name>> like the other Org-mode targets? That would make sense.
Does anyone know a language where this would be used
in real life? It would make it harder to write about
Org-mode, though.
Or do we need another option, so that, if needed, we could switch do
a different syntax?