Explorar el Código

--- Merging r45412 into '.':
U compiler/scandir.pas
A tests/webtbs/tw37095.pp
A tests/webtbs/tw37095d
A tests/webtbs/tw37095d/uw37095.pp
G .
--- Recording mergeinfo for merge of r45412 into '.':
G .

git-svn-id: tags/release_3_2_0@45413 -

marco hace 5 años
padre
commit
ab77e99d16
Se han modificado 4 ficheros con 31 adiciones y 5 borrados
  1. 2 0
      .gitattributes
  2. 9 5
      compiler/scandir.pas
  3. 10 0
      tests/webtbs/tw37095.pp
  4. 10 0
      tests/webtbs/tw37095d/uw37095.pp

+ 2 - 0
.gitattributes

@@ -17629,6 +17629,8 @@ tests/webtbs/tw3695.pp svneol=native#text/plain
 tests/webtbs/tw3697.pp svneol=native#text/plain
 tests/webtbs/tw3700.pp svneol=native#text/plain
 tests/webtbs/tw3708.pp svneol=native#text/plain
+tests/webtbs/tw37095.pp svneol=native#text/plain
+tests/webtbs/tw37095d/uw37095.pp svneol=native#text/plain
 tests/webtbs/tw3719.pp svneol=native#text/plain
 tests/webtbs/tw3721.pp svneol=native#text/plain
 tests/webtbs/tw3742.pp svneol=native#text/plain

+ 9 - 5
compiler/scandir.pas

@@ -1486,15 +1486,19 @@ unit scandir;
       end;
 
     procedure dir_unitpath;
+      var
+        unitpath: TPathStr;
       begin
         if not current_module.in_global then
          Message(scan_w_switch_is_global)
         else
-          with current_scanner,current_module,localunitsearchpath do
-            begin
-              skipspace;
-              AddPath(path+source_info.DirSep+readcomment,false);
-            end;
+          begin
+            current_scanner.skipspace;
+            unitpath:=current_scanner.readcomment;
+            if current_module.path<>'' then
+             unitpath:=current_module.path+source_info.DirSep+unitpath;
+            current_module.localunitsearchpath.AddPath(unitpath,false);
+          end;
       end;
 
     procedure dir_varparacopyoutcheck;

+ 10 - 0
tests/webtbs/tw37095.pp

@@ -0,0 +1,10 @@
+{ %norun }
+{ %recompile }
+
+program test;
+{$UNITPATH tw37095d}
+uses uw37095;
+begin
+  writeln('Say hello, unit!');
+  UnitHello;
+end.

+ 10 - 0
tests/webtbs/tw37095d/uw37095.pp

@@ -0,0 +1,10 @@
+ unit uw37095;
+interface
+  procedure UnitHello;
+implementation
+  procedure UnitHello;
+  begin
+    writeln('"Hello, unit."');
+  end;
+begin
+end.