ada-mode-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Ada-mode-users] last line of an expression indented to the left rel


From: Stephen Leake
Subject: Re: [Ada-mode-users] last line of an expression indented to the left relative to the previous line
Date: Mon, 21 Nov 2016 14:37:57 -0600
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (windows-nt)

Ludovic Brenta <address@hidden> writes:

> In the example below, the last line containing "message is discarded"
> is mysteriously indented left relative to the preceding line. The two
> "&" operators should be aligned vertically. The parse succeeds. Is
> there a way to explain this choice by the indentation engine?

(strings snipped to fit in email; one reason I don't like indents that
depend on name length :)

> procedure P is
> begin
>   Error_Report.Report_Error (Severity    => Error_Report.Warning,
>                              Title       => "ROBOT_ERROR",
>                              Description =>
>                                "DLA/CHG Message received after TACT"
>                                  & Flight_Identifier.Safe_Image ("toto")
>                                & " => message is discarded !!");

This is indented relative to the left paren '(Severity'.

> The trigger for this bug is the function call; a static string instead
> gives the expected result:
>
> procedure P is
> begin
>   Error_Report.Report_Error (Severity    => Error_Report.Warning,
>                              Title       => "ROBOT_ERROR",
>                              Description =>
>                                "DLA/CHG Message received after TACT"
>                                  & "toto"
>                                  & " => message is discarded !!");

This is indented relative to the "expression_start" at "DLA", which is
the desired behavior.


The problem is that the name "Flight_Identifier..." is contained by "=>"
; it should be contained by the expression_start. The grammar says it
is, and the expression is contained by "=>", so I don't see why this
doesn't work; I'll have to dig into wisi-containing-action.

-- 
-- Stephe



reply via email to

[Prev in Thread] Current Thread [Next in Thread]