From: Eric M. <Er...@di...> - 2002-08-20 17:12:48
|
Hello all, I'm observing some strange behaviour using the ILISP-20020702 snapshot under GNU Emacs 21.2 for NT, with CLISP 2.29-win. I have an external program which is automatically generating Lisp forms, which I bind to variables with destructuring-bind and manipulate with CLISP, from within emacs. The script generates ugly, unformatted, but balanced lists, which look like this: '( ( 1 2 4 ) ( 4 5 6 ) ) When I cut and paste this form into emacs/ilisp: (setq foo '( ( 1 2 4 ) ( 4 5 6 ) )) and evaluate the sexp with C-z e, I get an error: *** - EVAL: 4 is not a function name However, if I fix up the formatting (NB, no different characters: (setq foo '(( 1 2 4 ) ( 4 5 6 ))) it works fine. If I only fix it halfway, eg: (setq foo '(( 1 2 4 ) ( 4 5 6 ))) it produces the same bad behaviour. I think somehow the code for grabbing sexps must be broken, because it also can't figure out when there are unbalanced parens in the unformatted code. Is there a switch I can throw, or other workaround/fix? Thanks for your help. Eric Moncrieff |
From: Hannu K. <az...@ik...> - 2002-08-20 18:55:01
|
Eric Moncrieff <Er...@di...> writes: > (setq foo '( > ( 1 2 4 ) > ( 4 5 6 ) > )) > > and evaluate the sexp with C-z e, I get an error: > > *** - EVAL: 4 is not a function name > > However, if I fix up the formatting (NB, no different > characters: > > (setq foo '(( 1 2 4 ) > ( 4 5 6 ))) > > it works fine. ... > I think somehow the code for grabbing sexps must be > broken, because it also can't figure out when there are > unbalanced parens in the unformatted code. > > Is there a switch I can throw, or other workaround/fix? This is not specific to ILISP and it is documented behaviour (see the node Left Margin Paren in the Emacs manual). The workaround is to indent your code properly. -- Hannu Please don't send copies of list mail |