GNU bug report logs - #9690
24.0.90; f90 mode incorrectly indents top-level preprocessor directives

Previous Next

Package: emacs;

Reported by: Lawrence Mitchell <wence <at> gmx.li>

Date: Fri, 7 Oct 2011 11:39:02 UTC

Severity: normal

Found in version 24.0.90

Fixed in version 24.0.91

Done: Glenn Morris <rgm <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Glenn Morris <rgm <at> gnu.org>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#9690: closed (24.0.90; f90 mode incorrectly indents top-level
 preprocessor directives)
Date: Sat, 08 Oct 2011 21:53:02 +0000
[Message part 1 (text/plain, inline)]
Your message dated Sat, 08 Oct 2011 17:52:35 -0400
with message-id <n0botr2lss.fsf <at> fencepost.gnu.org>
and subject line Re: bug#9690: 24.0.90; f90 mode incorrectly indents top-level preprocessor directives
has caused the debbugs.gnu.org bug report #9690,
regarding 24.0.90; f90 mode incorrectly indents top-level preprocessor directives
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
9690: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9690
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Lawrence Mitchell <wence <at> gmx.li>
To: bug-gnu-emacs <at> gnu.org
Subject: 24.0.90;
	f90 mode incorrectly indents top-level preprocessor directives
Date: Fri, 07 Oct 2011 12:37:50 +0100
emacs -Q

C-x b *tmp* RET

M-x f90-mode RET

M-: (insert "#include "foo.h") RET

TAB

Note how the preprocessor directive is indented by
f90-program-indent, rather than 0 spaces.

Patch and commit message

Cheers,
Lawrence


f90: Don't indent top-level preprocessor directives

* lisp/progmodes/f90.el (f90-calculate-indent): Special case
preprocessor directives and give them 0 indent.

diff --git a/lisp/progmodes/f90.el b/lisp/progmodes/f90.el
index eb33822..95caf3a 100644
--- a/lisp/progmodes/f90.el
+++ b/lisp/progmodes/f90.el
@@ -1820,11 +1820,14 @@ after indenting."
         (f90-indent-line-no)
       (setq no-line-number t)
       (skip-chars-forward " \t"))
-    (if (looking-at "!")
-        (setq indent (f90-comment-indent))
-      (and f90-smart-end (looking-at "end")
-           (f90-match-end))
-      (setq indent (f90-calculate-indent)))
+    (cond ((looking-at "!")
+           (setq indent (f90-comment-indent)))
+          ((looking-at "#")
+           (setq indent 0))
+          (t
+           (and f90-smart-end (looking-at "end")
+                (f90-match-end))
+           (setq indent (f90-calculate-indent))))
     (or (= indent (current-column))
         (f90-indent-to indent no-line-number))
     ;; If initial point was within line's indentation,


[Message part 3 (message/rfc822, inline)]
From: Glenn Morris <rgm <at> gnu.org>
To: 9690-done <at> debbugs.gnu.org
Subject: Re: bug#9690: 24.0.90;
	f90 mode incorrectly indents top-level preprocessor directives
Date: Sat, 08 Oct 2011 17:52:35 -0400
Version: 24.0.91

Thank you for the report. I fixed this in a different way.


This bug report was last modified 13 years and 286 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.