diff options
Diffstat (limited to 'lisp/net/tramp-sh.el')
-rw-r--r-- | lisp/net/tramp-sh.el | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/lisp/net/tramp-sh.el b/lisp/net/tramp-sh.el index 655949a79b8..51e15af2ef9 100644 --- a/lisp/net/tramp-sh.el +++ b/lisp/net/tramp-sh.el @@ -1738,12 +1738,13 @@ ID-FORMAT valid values are `string' and `integer'." (setcar item (expand-file-name (car item) directory))) (push item result))) - (when (natnump count) - (setq result (last result count))) + (unless nosort + (setq result (sort result (lambda (x y) (string< (car x) (car y)))))) - (or (if nosort - result - (sort result (lambda (x y) (string< (car x) (car y))))) + (when (and (natnump count) (> count 0)) + (setq result (nbutlast result (- (length result) count)))) + + (or result ;; The scripts could fail, for example with huge file size. (tramp-handle-directory-files-and-attributes directory full match nosort id-format count))))) |