summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lisp/ChangeLog5
-rw-r--r--lisp/files.el7
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)))))