@@ -1612,21 +1612,23 @@ function z_cd(patterns)
16121612 if patterns == nil then
16131613 return nil
16141614 end
1615- if # patterns == 0 then
1616- return nil
1617- end
1618- local last = patterns [# patterns ]
1619- if last == ' ~' or last == ' ~/' then
1620- return os .path .expand (' ~' )
1621- elseif windows and last == ' ~\\ ' then
1622- return os .path .expand (' ~' )
1623- end
1624- if os .path .isabs (last ) and os .path .isdir (last ) then
1625- local size = # patterns
1626- if size <= 1 then
1627- return os .path .norm (last )
1628- elseif last ~= ' /' and last ~= ' \\ ' then
1629- return os .path .norm (last )
1615+ if Z_INTERACTIVE == 0 then
1616+ if # patterns == 0 then
1617+ return nil
1618+ end
1619+ local last = patterns [# patterns ]
1620+ if last == ' ~' or last == ' ~/' then
1621+ return os .path .expand (' ~' )
1622+ elseif windows and last == ' ~\\ ' then
1623+ return os .path .expand (' ~' )
1624+ end
1625+ if os .path .isabs (last ) and os .path .isdir (last ) then
1626+ local size = # patterns
1627+ if size <= 1 then
1628+ return os .path .norm (last )
1629+ elseif last ~= ' /' and last ~= ' \\ ' then
1630+ return os .path .norm (last )
1631+ end
16301632 end
16311633 end
16321634 local M = z_match (patterns , Z_METHOD , Z_SUBDIR )
@@ -1971,7 +1973,7 @@ function main(argv)
19711973 end
19721974 elseif options [' -' ] then
19731975 path = cd_minus (args , options )
1974- elseif # args == 0 then
1976+ elseif # args == 0 and Z_INTERACTIVE == 0 then
19751977 path = nil
19761978 else
19771979 path = z_cd (args )
0 commit comments