Subject: Re: Cannot indent fortran continue statement in emacs 23

From: Glenn Morris <[email-masked]>
Date: Tue, 25 Aug 2009 21:56:11 -0400

Please use M-x report-emacs-bug to report Emacs bugs, rather than
sending mail to addresses in the source files.

Ushnish Basu wrote (on Tue, 25 Aug 2009 at 12:09 -0700):

> Currently I am using version 23.1.1, but I did not have this problem
> with 23.0.60 from CVS.
[...]
>        subroutine first
>        do 10 i=1,10
>   10     continue
>        end
>        do 20 i=1,100
>   20     continue
> 
> If I run fortran-indent-line on the first continue (label 10) it works 
> fine. However, if I run it on the second one (label 20), I get the error:
> 
> fortran-check-end-prog-re: Lisp nesting exceeds 'max-lisp-eval-depth'

The example does not look like valid Fortran, so I'm not too bothered
if fortran-mode cannot indent it (although an infinite loop is not a
nice way to fail).

Do you have a minimum example of a valid Fortran file that fails in
this way?

The problem is another (see eg bug #2106) infinite loop in
end-of-defun, when called from the start of the "20" line. It's not
immediately obvious to me whether this is a problem in fortran-mode or
in end-of-defun.