diff options
-rw-r--r-- | lisp/ChangeLog | 5 | ||||
-rw-r--r-- | lisp/files.el | 7 |
2 files changed, 11 insertions, 1 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 7c580834757..cda55cbaf47 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2003-02-17 Kenichi Handa <handa@m17n.org> + + * files.el (insert-directory): Add workaround for the case that we + can't trust ls's output as to byte positions of filenames. + 2003-02-15 Richard M. Stallman <rms@gnu.org> * ffap.el: Many doc fixes. diff --git a/lisp/files.el b/lisp/files.el index 1d0816ee572..a965cd6c08c 100644 --- a/lisp/files.el +++ b/lisp/files.el @@ -4110,7 +4110,12 @@ If WILDCARD, it also runs the shell specified by `shell-file-name'." (while (< (point) end) (let ((start (+ beg (read (current-buffer)))) (end (+ beg (read (current-buffer))))) - (put-text-property start end 'dired-filename t))) + (if (= (char-after end) ?\n) + (put-text-property start end 'dired-filename t) + ;; It seems that we can't trust ls's output as to + ;; byte positions of filenames. + (put-text-property beg (point) 'dired-filename nil) + (end-of-line)))) (goto-char end) (beginning-of-line) (delete-region (point) (progn (forward-line 2) (point))))) |