|
@@ -118,11 +118,14 @@ unit scandir;
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
|
|
- procedure do_moduleflagswitch(flag:cardinal);
|
|
|
|
|
|
+ procedure do_moduleflagswitch(flag:cardinal;optional:boolean);
|
|
var
|
|
var
|
|
state : char;
|
|
state : char;
|
|
begin
|
|
begin
|
|
- state:=current_scanner.readstate;
|
|
|
|
|
|
+ if optional then
|
|
|
|
+ state:=current_scanner.readoptionalstate('+')
|
|
|
|
+ else
|
|
|
|
+ state:=current_scanner.readstate;
|
|
if state='-' then
|
|
if state='-' then
|
|
current_module.flags:=current_module.flags and not flag
|
|
current_module.flags:=current_module.flags and not flag
|
|
else
|
|
else
|
|
@@ -381,7 +384,7 @@ unit scandir;
|
|
|
|
|
|
procedure dir_denypackageunit;
|
|
procedure dir_denypackageunit;
|
|
begin
|
|
begin
|
|
- do_moduleflagswitch(uf_package_deny);
|
|
|
|
|
|
+ do_moduleflagswitch(uf_package_deny,true);
|
|
end;
|
|
end;
|
|
|
|
|
|
procedure dir_description;
|
|
procedure dir_description;
|
|
@@ -1584,7 +1587,9 @@ unit scandir;
|
|
|
|
|
|
procedure dir_weakpackageunit;
|
|
procedure dir_weakpackageunit;
|
|
begin
|
|
begin
|
|
- do_moduleflagswitch(uf_package_weak);
|
|
|
|
|
|
+ { old Delphi versions seem to use merely $WEAKPACKAGEUNIT while newer
|
|
|
|
+ Delphis have $WEAPACKAGEUNIT ON... :/ }
|
|
|
|
+ do_moduleflagswitch(uf_package_weak, true);
|
|
end;
|
|
end;
|
|
|
|
|
|
procedure dir_writeableconst;
|
|
procedure dir_writeableconst;
|