Subject: Re: Could be a stupid question: Cmucl failing to compile
From: Erik Naggum <erik@naggum.net>
Date: Sun, 12 Aug 2001 21:27:22 GMT
Newsgroups: comp.lang.lisp
Message-ID: <3206640440239424@naggum.net>

* kaz@ashi.footprints.net (Kaz Kylheku)
> Note that this can be found in seconds with vi. I started matching
> parens of the top-level forms in your second file one by one
> using the % command and hit upon the scan method, which is the
> second item.

  There are two efficient ways in Emacs to do this that might be worth
  investigating for those who still think vi is a suitable editor. :)

  At the start of a buffer, lean on M-C-f.  Depending on the capacity of
  your keyboard's autorepeat feature, you will soon either hit the end of
  the buffer, or get an error very close to the position of the beginning
  of a form that has no terminating parenthesis.  It should not be a
  problem figuring out what is wrong.  This uses forward parsing, which is
  always a good idea in Lisp.

  Alternatively, at the end of the buffer, type M-C-u.  You will get an
  error if all the parentheses match, but will be positioned at the last
  unmatched parenthesis if there is one.  This used backward parsing, which
  has some serious drawbacks and may lead to false positives and negatives.

  I note in passing that Allegro CL's Emacs Lisp modes warn the user about
  unmatched parentheses before a buffer is saved.  This is a nice feature.

///