GNU bug report logs - #38566
26.1; ada-mode 6.2.1 incorrect indentation with partial parsing

Previous Next

Packages: emacs, ada-mode;

Reported by: Ludovic Brenta <ludovic <at> ludovic-brenta.org>

Date: Wed, 11 Dec 2019 14:42:02 UTC

Severity: minor

Found in version 26.1

Done: Stephen Leake <stephen_leake <at> stephe-leake.org>

Bug is archived. No further changes may be made.

Full log


Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Brenta <ludovic <at> ludovic-brenta.org>
To: bug-gnu-emacs <at> gnu.org
Subject: 26.1; ada-mode 6.2.1 incorrect indentation with partial parsing
Date: Wed, 11 Dec 2019 15:41:20 +0100
X-Debbugs-CC: ada-mode-users <at> nongnu.org
Package: emacs, ada-mode
Version: 26.1
Severity: minor

When we visit one of our larger source files which compiles and
is not yet modified, move point to after a "begin" keyword and hit
RET, ada-mode incorrectly re-indents the "begin" keyword and the
next (new and empty) line.

Expected:

      declare
        procedure Action (Airspace : Env_Volume.T; Info : 
Curtain.Profile.Index.T) is
          [elided]
        end Action;
        procedure Action_Airspaces is new 
Curtain.Profile.Index.Visit_Unskipped_Airspaces_G;
      begin* -- point is here initially; hit RET
        * -- point should come here after RET
        Airspace_Entry_Times_Set.Empty (Airspace_First_Entry_Times, 
Profile_Query);
        -- The query causes the set to be initialised or resized if 
necessary.
        Action_Airspaces (Profile.Curtain, Profile_Query);
      end;

Actual:

      declare
        procedure Action (Airspace : Env_Volume.T; Info : 
Curtain.Profile.Index.T) is
          [elided]
        end Action;
        procedure Action_Airspaces is new 
Curtain.Profile.Index.Visit_Unskipped_Airspaces_G;
        begin -- incorrectly changed indentation after RET
          * -- point is here after RET
        Airspace_Entry_Times_Set.Empty (Airspace_First_Entry_Times, 
Profile_Query);
        -- The query causes the set to be initialised or resized if 
necessary.
        Action_Airspaces (Profile.Curtain, Profile_Query);
      end;

If I forcibly disable partial parsing in this file, the bug disappears.

-- 
Ludovic Brenta.




This bug report was last modified 5 years and 112 days ago.

Previous Next


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