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

Reply via email to