On 3 Sep 2013, at 08:10, Stephen Leake <[email protected]> wrote:

> I've pushed a new version of Ada mode 5.0 to the website:
> http://stephe-leake.org/emacs/ada-mode/emacs-ada-mode.html

> Let me know if it works for you.

Great, some little problems: here, and I've attached the input.

This is the input (as I would like it; ada-mode 4 indents the "is" wrt the 
"type". I can live with the indent if it's tricky!):

with Ada.Finalization;
package Access_In_Record is

   --  I'd like (the option to have) the 'is' line up with the 'type'.
   type A;
   type A_Finalizer
     (AP : access A)
   is new Ada.Finalization.Limited_Controlled with null record;
   procedure Finalize (AF : in out A_Finalizer);

   --  Put point on (A'Access), TAB => "wisi-indent-line: Wrong type
   --  argument: number-or-marker-p, nil"
   type A
   is new Ada.Streams.Root_Stream_Type with record
      Finalizer : A_Finalizer
        (A'Access);            -- originally the line above was much longer!
      Length    : Natural := 0;
   end record;

   --  "with private", TAB => align "is new ..." with ":"
   type Wrong_Layout_With_Private (R : access Integer)
   is new A with private;

private

   --  No problem here.
   type Wrong_Layout_With_Private (R : access Integer)
   is new A with null record;

end Access_In_Record;

This is the result of a complete indent:

with Ada.Finalization;
package Access_In_Record is

   --  I'd like (the option to have) the 'is' line up with the 'type'.
   type A;
   type A_Finalizer
     (AP : access A)
     is new Ada.Finalization.Limited_Controlled with null record;
   procedure Finalize (AF : in out A_Finalizer);

   --  Put point on (A'Access), TAB => "wisi-indent-line: Wrong type
   --  argument: number-or-marker-p, nil"
   type A
     is new Ada.Streams.Root_Stream_Type with record
        Finalizer : A_Finalizer
        (A'Access);            -- originally the line above was much longer!
      Length    : Natural := 0;
   end record;

   --  "with private", TAB => align "is new ..." with ":"
   type Wrong_Layout_With_Private (R : access Integer)
   is new A with private;

private

   --  No problem here.
   type Wrong_Layout_With_Private (R : access Integer)
   is new A with null record;

end Access_In_Record;

(the indentation failed at "(A'Access)"

and just the last part selected & TABbed:

   --  "with private", TAB => align "is new ..." with ":"
   type Wrong_Layout_With_Private (R : access Integer)
                                     is new A with private;

private

   --  No problem here.
   type Wrong_Layout_With_Private (R : access Integer)
     is new A with null record;

end Access_In_Record;

Out of touch (holiday) until 28 September.

Attachment: access_in_record.ads
Description: Binary data

_______________________________________________
Emacs-ada-mode mailing list
[email protected]
http://host114.hostmonster.com/mailman/listinfo/emacs-ada-mode_stephe-leake.org

Reply via email to