Browse Source

Fix infinite loop in PUSH/POP directives

git-svn-id: trunk@18141 -
pierre 14 years ago
parent
commit
c43b91ef15
1 changed files with 2 additions and 0 deletions
  1. 2 0
      compiler/scandir.pas

+ 2 - 0
compiler/scandir.pas

@@ -946,7 +946,9 @@ unit scandir;
       recordpendinglocalfullswitch(switchesstatestack[switchesstatestackpos].localsw);
       recordpendinglocalfullswitch(switchesstatestack[switchesstatestackpos].localsw);
       recordpendingverbosityfullswitch(switchesstatestack[switchesstatestackpos].verbosity);
       recordpendingverbosityfullswitch(switchesstatestack[switchesstatestackpos].verbosity);
       pendingstate.nextmessagerecord:=switchesstatestack[switchesstatestackpos].pmessage;
       pendingstate.nextmessagerecord:=switchesstatestack[switchesstatestackpos].pmessage;
+      { Reset verbosity and forget previous pmeesage }
       RestoreLocalVerbosity(nil);
       RestoreLocalVerbosity(nil);
+      current_settings.pmessage:=nil;
       flushpendingswitchesstate;
       flushpendingswitchesstate;
     end;
     end;