Subject: bug#4259 closed by Glenn Morris <[email-masked]> (Re: Cannot indent fortran continue statement in emacs 23)

From: [email-masked] (Emacs bug Tracking System)
Date: Sun, 30 Aug 2009 01:45:04 +0000

This is an automatic notification regarding your bug report
which was filed against the emacs package:

#4259: Cannot indent fortran continue statement in emacs 23

It has been closed by Glenn Morris <[email-masked]>.

Their explanation is attached below along with your original report.
If this explanation is unsatisfactory and you have not received a
better one in a separate message then please contact Glenn Morris <[email-masked]> by
replying to this email.

-- 
4259: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=4259
Emacs Bug Tracking System
Contact [email-masked] with problems

Subject: Re: Cannot indent fortran continue statement in emacs 23
From: Glenn Morris <[email-masked]>
To: [email-masked]
Date: Sat, 29 Aug 2009 21:40:33 -0400

I believe this is fixed in the current CVS trunk. It would be great if
you are able to test it out.

2009-08-30  Glenn Morris  <rgm at gnu.org>

  * progmodes/fortran.el (fortran-start-prog-re): New constant, extracted
  from fortran-current-defun.
  (fortran-beginning-of-subprogram): Be more precise about finding the
  start, to avoid an infinite loop in end-of-defun.  (Bug#4259)
  (fortran-end-of-subprogram): Simplify.
  (fortran-current-defun): Use fortran-start-prog-re.

Subject: Cannot indent fortran continue statement in emacs 23
From: Ushnish Basu <[email-masked]>
To: "Michael D. Prange" <[email-masked]>, Glenn Morris <[email-masked]>
Date: Tue, 25 Aug 2009 12:09:30 -0700

Hello,

I believe I came across a bug in the latest version of the fortran mode 
in emacs 23. Currently I am using version 23.1.1, but I did not have 
this problem with 23.0.60 from CVS.

Please see the following sample code - I have arranged it as such only 
to illustrate the problem:

       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'

presumably because it is after the 'end'

If I increase max-lisp-eval-depth (and max-specpdl-size) to 10000, then 
I get the error

fortran-check-end-prog-re: Variable binding depth exceeds max-specpdl-size

Is this something that has been fixed in CVS?

I look forward to hearing back from you.

Thanks,

Ushnish