Alonso Andres wrote:
> 
> I also wondered if this might affect Common Lisp code somehow, but a
> line like "#;is this a comment line?" seems to be invalid and triggers
> an error in CLISP.

Common Lisp is not Scheme. It uses a different syntax for multi-line comments:

#|this is a
multi-line comment |#

For balanced S-expressions people often use the read conditionals:

(read-from-string "(this #+(or) (foo bar baz) is the code)")
==>
(THIS IS THE CODE) ;
39

As for the error, in Common Lisp (which CLISP implements) # is a 
non-terminating macro character which allows one to dispatch the reader.
Since (get-dispatch-macro-character #\# #\;) returns NIL,
(read-from-string "#;(foo)") signals an error:
After #\# is #\; an undefined dispatch macro character

However, the CL reader is powerful enough to implement this scheme comment 
syntax:
(set-dispatch-macro-character #\# #\;
   (lambda (s c a) (let ((*read-suppress*)) (read s)) (read s)))

(read-from-string "(this #;(illustrates scheme) comments)")
==>
(THIS COMMENTS) ;
38

PS. would you like to embed clisp in vim, like python, perl and ruby already 
are?


--~--~---------~--~----~------------~-------~--~----~
You received this message from the "vim_dev" maillist.
For more information, visit http://www.vim.org/maillist.php
-~----------~----~----~----~------~----~------~--~---

Raspunde prin e-mail lui