Changeset 4468

Show
Ignore:
Timestamp:
09/11/08 16:43:05 (4 months ago)
Author:
pmoura
Message:

Corrected a bug in the Logtalk compiler that would result in failure to restore the operator table in case of compilation error.

Location:
trunk
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • trunk/compiler/logtalk.pl

    r4466 r4468  
    47074707'$lgt_compiler_error_handler'(Input, Output, Error) :- 
    47084708    '$lgt_report_compiler_error'(Input, Error), 
     4709    '$lgt_restore_global_op_table', 
    47094710    '$lgt_clean_pp_clauses', 
    4710     '$lgt_restore_global_op_table', 
    47114711    '$lgt_reset_warnings_counter', 
    47124712    catch(close(Input), _, true), 
     
    47234723'$lgt_compiler_error_handler'(Stream, Error) :- 
    47244724    '$lgt_report_compiler_error'(Stream, Error), 
     4725    '$lgt_restore_global_op_table', 
    47254726    '$lgt_clean_pp_clauses', 
    4726     '$lgt_restore_global_op_table', 
    47274727    '$lgt_reset_warnings_counter', 
    47284728    catch(close(Stream), _, true), 
     
    47384738    ('$lgt_pp_entity'(_, _, _, _, _) -> nl; true), 
    47394739    write('        ERROR!    '), writeq(Error), nl, 
     4740    '$lgt_restore_global_op_table', 
    47404741    '$lgt_clean_pp_clauses', 
    4741     '$lgt_restore_global_op_table', 
    47424742    '$lgt_reset_warnings_counter', 
    47434743    throw(Error). 
     
    48054805    '$lgt_write_tr_entity'(Stream), 
    48064806    '$lgt_write_entity_doc'(Entity), 
    4807     '$lgt_restore_file_op_table', 
    48084807    '$lgt_save_entity_rclauses', 
    48094808    '$lgt_clean_pp_entity_clauses'. 
     
    48324831    retractall('$lgt_pp_global_op_'(_, _, _)), 
    48334832    retractall('$lgt_pp_file_op_'(_, _, _)), 
     4833    retractall('$lgt_pp_entity_op_'(_, _, _)), 
    48344834    retractall('$lgt_pp_file_init_'(_)),     
    48354835    retractall('$lgt_pp_entity_init_'(_, _, _)), 
     
    48954895    retractall('$lgt_pp_referenced_protocol_'(_)), 
    48964896    retractall('$lgt_pp_referenced_category_'(_)), 
    4897     retractall('$lgt_pp_entity_op_'(_, _, _)), 
    48984897    retractall('$lgt_pp_threaded_'), 
    48994898    retractall('$lgt_pp_synchronized_'). 
     
    52765275'$lgt_tr_directive'(object, [Obj| Rels], _, _) :- 
    52775276    '$lgt_report_compiling_entity'(object, Obj), 
     5277    '$lgt_save_file_op_table', 
    52785278    '$lgt_tr_object_id'(Obj, static),                           % assume static object 
    5279     '$lgt_tr_object_relations'(Rels, Obj), 
    5280     '$lgt_save_file_op_table'. 
     5279    '$lgt_tr_object_relations'(Rels, Obj). 
    52815280 
    52825281'$lgt_tr_directive'(end_object, [], _, Output) :- 
    52835282    (   '$lgt_pp_object_'(Obj, _, _, _, _, _, _, _, _, _, _) -> 
    52845283        '$lgt_tr_entity'(object, Obj, Output), 
     5284        '$lgt_restore_file_op_table', 
    52855285        '$lgt_report_compiled_entity'(object, Obj) 
    52865286    ;   throw(closing_directive_mismatch) 
     
    53065306'$lgt_tr_directive'(protocol, [Ptc| Rels], _, _) :- 
    53075307    '$lgt_report_compiling_entity'(protocol, Ptc), 
     5308    '$lgt_save_file_op_table', 
    53085309    '$lgt_tr_protocol_id'(Ptc, static),                         % assume static protocol 
    5309     '$lgt_tr_protocol_relations'(Rels, Ptc), 
    5310     '$lgt_save_file_op_table'. 
     5310    '$lgt_tr_protocol_relations'(Rels, Ptc). 
    53115311 
    53125312'$lgt_tr_directive'(end_protocol, [], _, Output) :- 
    53135313    (   '$lgt_pp_protocol_'(Ptc, _, _, _, _) -> 
    53145314        '$lgt_tr_entity'(protocol, Ptc, Output), 
     5315        '$lgt_restore_file_op_table', 
    53155316        '$lgt_report_compiled_entity'(protocol, Ptc) 
    53165317    ;   throw(closing_directive_mismatch) 
     
    53375338'$lgt_tr_directive'(category, [Ctg| Rels], _, _) :- 
    53385339    '$lgt_report_compiling_entity'(category, Ctg), 
     5340    '$lgt_save_file_op_table', 
    53395341    '$lgt_tr_category_id'(Ctg, static),                         % assume static category 
    5340     '$lgt_tr_category_relations'(Rels, Ctg), 
    5341     '$lgt_save_file_op_table'. 
     5342    '$lgt_tr_category_relations'(Rels, Ctg). 
    53425343 
    53435344'$lgt_tr_directive'(end_category, [], _, Output) :- 
    53445345    (   '$lgt_pp_category_'(Ctg, _, _, _, _, _) -> 
    53455346        '$lgt_tr_entity'(category, Ctg, Output), 
     5347        '$lgt_restore_file_op_table', 
    53465348        '$lgt_report_compiled_entity'(category, Ctg) 
    53475349    ;   throw(closing_directive_mismatch) 
  • trunk/RELEASE_NOTES.txt

    r4467 r4468  
    1515 
    16162.33.1 - October ??, 2008 
     17 
     18    Corrected a bug in the Logtalk compiler that would result in failure to  
     19    restore the operator table in case of compilation error. 
    1720 
    1821    Removed supported for the deprecated mutex_create/1 Prolog built-in