A subset of this was posted on c.l.a recently,
package Eryndlia is
type A is new B with
-- a comment; TAB on this line results in error
record
C : D;
end record;
type A is new B with
record -- a comment.
C : D;
end record;
type A is
-- a comment.
record
C : D;
end record;
type A is new B
-- a comment
(5);
type A is new B with
-- a comment
Volatile;
end Eryndlia;
TAB on all the lines except line 3 is good, but the error with TAB on line 3 is
Error: (error "cl-ecase failed: derived_type_definition, (aggregate
aspect_specification_opt)")
save-excursion: Wrong type argument: number-or-marker-p, nil
If I toggle-debug-on-error, point is on the w of 'with' on line 2. The calling
sequence (last call first) is
ada-wisi-after-cache()
ada-wisi-comment()
wisi-indent-line()
indent-for-tab-command(nil)
Might this be related to the two _opt's in derived_type_definition in
ada-grammar.wy?
derived_type_definition
: abstract_limited_opt NEW name and_interface_list_opt WITH record_definition
(progn
(wisi-statement-action [5 statement-other])
(wisi-face-action [3 font-lock-type-face]))
| abstract_limited_opt NEW name constraint_opt
(wisi-face-action [3 font-lock-type-face])
;
I tried explicitly stating the _opt possibilities (e.g. one alternative with
constraint, one without) but no joy.
_______________________________________________
Emacs-ada-mode mailing list
[email protected]
http://host114.hostmonster.com/mailman/listinfo/emacs-ada-mode_stephe-leake.org