I've been having some trouble with aspects on complex declarations.
Given this:
package Imenu is
...
type Date_Set is new Iterator_Interfaces.Forward_Iterator with private
with
Constant_Indexing => Element,
Default_Iterator => Iterate,
Iterator_Element => Ada.Calendar.Time;
end Imenu;
C-c C-f fails with point after the 'd' of 'end', and
imenu.ada:83:3: wisi-containing-action: containing-token 'is' has no cache.
grammar error; missing action
I wondered whether this was caused by the unusual set of
'wisi-containing-action's in
private_extension_declaration
: TYPE IDENTIFIER discriminant_part_opt IS abstract_limited_synchronized_opt
NEW subtype_indication
and_interface_list_opt WITH PRIVATE aspect_specification_opt SEMICOLON
(progn
(wisi-statement-action [1 statement-start 2 name 6 statement-other 12
statement-end])
(wisi-containing-action 1 3)
(wisi-containing-action 6 7)
(wisi-containing-action 6 8)
(wisi-containing-action 4 11)
(wisi-face-action [2 font-lock-type-face]))
;
(overlapping of 4..11)
I removed the '(wisi-containing-action 4 11)' and no longer get the error (but
if I put point on the 'with' line of the aspect spec and TAB, I get
Error: (error "wisi-cache-nonterm accessing a non-wisi-cache")
save-excursion: Wrong type argument: number-or-marker-p, nil
_______________________________________________
Emacs-ada-mode mailing list
[email protected]
http://host114.hostmonster.com/mailman/listinfo/emacs-ada-mode_stephe-leake.org