Hi Jon,

> printing "quoted text" using dbg (not p), the text is automatically
> underlined, and the quotes removed. Is this a feature added
> recently?

This is, in fact, the "official" representation of transient symbols.

It is a mechanism called "transient symbol markup" (TSM), originally
introduced with picoLisp-2.2.2 (March 2006), but then removed in
picoLisp-2.2.6 (Apr 2007).

After lengthy discussions in IRC, we re-introduced it with
picoLisp-3.0.1 (December 2009, see "ReleaseNotes").

TSM is controlled by the global variable '*Tsm'. See
"doc/ref.html#transient-io" and "doc/refT.html#*Tsm" .

> Is this a unique PicoLisp feature, or is it used in other
> Lisps/languages? What's the motivation behind it?

It is most probably a unique feature of PicoLisp.

The motivation is to make it visually clear that transient symbols are
_not_ strings, but full-featured symbols. It is just that they can be
used like strings in other languages. Also, as transient symbols are
often used for function parameters and local variables, they look ugly
when shown in double quotes.

Underlines were chosen (above coloring or special fonts etc.) because
they are - perhaps besides reverse graphics - the only terminal markup
that also applies to white space.

tc.rucho made "plmod" which correctly handles transient symbols in

I have a "vim-tsm" (not released yet) describing a way to do the same
acceptably in 'vim'. Requires a patch to 'vim', however. Should I
include it into the release?

Up until picoLisp-3.0.2 I had also changed the complete reference
documenation to show transient symbols with <u> and </u>. There were
complaints, however, that this makes copy/paste of the examples
difficult, so I reverted the reference to double quote display.

- Alex
UNSUBSCRIBE: mailto:picol...@software-lab.de?subject=unsubscribe

Reply via email to