]> git.eshelyaron.com Git - emacs.git/commitdiff
(insert-directory): Add workaround for the case that we
authorKenichi Handa <handa@m17n.org>
Mon, 17 Feb 2003 06:18:58 +0000 (06:18 +0000)
committerKenichi Handa <handa@m17n.org>
Mon, 17 Feb 2003 06:18:58 +0000 (06:18 +0000)
can't trust ls's output as to byte positions of filenames.

lisp/ChangeLog
lisp/files.el

index 7c580834757a4da2584cf3fb4e6413cec34ed6b7..cda55cbaf47560fae4b2c70ccb07fe1bc1037d39 100644 (file)
@@ -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.
index 1d0816ee572427a2a94694f2fa0ce3567e43563a..a965cd6c08c32ca2343b2f3a0dd43136d0de50b5 100644 (file)
@@ -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)))))