I've had some fun with this, getting the 'protected' and 'task' items in sync with each other and, for completeness, handling code like
task type Discriminated_Extending_Task_Type
(B : Boolean)
with
Convention => Ada,
Export
is
new Sync
with
entry Foo;
end Discriminated_Extending_Task_Type;
with the exception that for any protected type
protected type Simple_PO_Type
with --xx
Convention => Ada,
Export
is
entry Foo;
private
I : Integer;
end Simple_PO_Type;
putting the cursor on the commented 'with' line and TAB results in
Error: (error "cl-ecase failed: protected_type_declaration, (aggregate
component_declaration entry_body formal_package_declaration
task_type_declaration subtype_declaration single_task_declaration
single_protected_declaration full_type_declaration generic_instantiation
generic_renaming_declaration object_declaration private_extension_declaration
private_type_declaration qualified_expression statement
null_procedure_declaration subprogram_specification subprogram_declaration
subprogram_body expression_function_declaration
abstract_subprogram_declaration)")
if: Wrong type argument: number-or-marker-p, nil
which is *very*surprising* since (to me!) 'protected_type_declaration' and
'task_type_declaration' have exactly the same structure in the modified
ada-grammar.wy.
It seems to be something to do with 'aspect_specification_opt'.
ada-grammar.wy.diff
Description: Binary data
multiline_tasks_pos.ads
Description: Binary data
_______________________________________________ Emacs-ada-mode mailing list [email protected] http://host114.hostmonster.com/mailman/listinfo/emacs-ada-mode_stephe-leake.org
