Next: Excess Close Up: Syntax Errors
Excess Open Parentheses
The first step is to find the defun that is unbalanced. If there is
an excess open parenthesis, the way to do this is to insert a close
parenthesis at the end of the file and type `C-M-b' (`backward-sexp').
This will move you to the beginning of the defun that is unbalanced.
(Then type `C-SPC C-_ C-u C-SPC' to set the mark there, undo the
insertion of the close parenthesis, and finally return to the mark.)
The next step is to determine precisely what is wrong. There is no
way to be sure of this except to study the program, but often the
existing indentation is a clue to where the parentheses should have
been. The easiest way to use this clue is to reindent with `C-M-q' and
see what moves.
Before you do this, make sure the defun has enough close parentheses.
Otherwise, `C-M-q' will get an error, or will reindent all the rest of
the file until the end. So move to the end of the defun and insert a
close parenthesis there. Don't use `C-M-e' to move there, since that
too will fail to work until the defun is balanced.
Then go to the beginning of the defun and type `C-M-q'. Usually all
the lines from a certain point to the end of the function will shift to
the right. There is probably a missing close parenthesis, or a
superfluous open parenthesis, near that point. (However, don't assume
this is true; study the code to make sure.) Once you have found the
discrepancy, undo the `C-M-q', since the old indentation is probably
appropriate to the intended parentheses.
After you think you have fixed the problem, use `C-M-q' again. It
should not change anything, if the problem is really fixed.
automatically generated by info2www