Subject: bug#27899: closed (Re: bug#27899: 26.0.50; dired-align-file forget about text properties)

From: [email-masked] (GNU bug Tracking System)
Date: Sun, 06 Aug 2017 04:20:02 +0000

Your bug report

#27899: 26.0.50; dired-align-file forget about text properties

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
27899: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=27899
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#27899: 26.0.50; dired-align-file forget about text properties
From: Tino Calancha <[email-masked]>
To: [email-masked]
Date: Sun, 06 Aug 2017 13:19:21 +0900
List-Id: <debbugs-submit.debbugs.gnu.org>

Tino Calancha <[email-masked]> writes:

> The addes spaces must inherit the nearby text properties: for instance,
> the 'invisible' property.
Pushed fix into master branch as commit ae055834a99b26bf46180b6c78fe7ca24b7c8194

Subject: 26.0.50; dired-align-file forget about text properties
From: Tino Calancha <[email-masked]>
To: [email-masked]
Date: Tue, 01 Aug 2017 16:27:04 +0900
List-Id: <debbugs-submit.debbugs.gnu.org>

The addes spaces must inherit the nearby text properties: for instance,
the 'invisible' property.

--8<-----------------------------cut here---------------start------------->8---
commit 556c5281d3b5056b9bf636b88ae3baf57a1d2f48
Author: Tino Calancha <[email-masked]>
Date:   Tue Aug 1 16:24:00 2017 +0900

    dired-align-file: Inherit text properties in inserted spaces
    
    * lisp/dired.el (dired-align-file): Inherit text
    properties in inserted spaces (Bug#27899).
    * test/lisp/dired-tests.el (dired-test-bug27899): Add test.

diff --git a/lisp/dired.el b/lisp/dired.el
index c502dd8a50..f31993f367 100644
--- a/lisp/dired.el
+++ b/lisp/dired.el
@@ -1162,7 +1162,7 @@ dired-align-file
 	      (setq file-col (+ spaces file-col))
 	      (if (> file-col other-col)
 		  (setq spaces (- spaces (- file-col other-col))))
-	      (insert-char ?\s spaces)
+	      (insert-char ?\s spaces 'inherit)
 	      ;; Let's just make really sure we did not mess up.
 	      (unless (save-excursion
 			(eq (dired-move-to-filename) (marker-position file)))
diff --git a/test/lisp/dired-tests.el b/test/lisp/dired-tests.el
index d6fe839708..313381f22c 100644
--- a/test/lisp/dired-tests.el
+++ b/test/lisp/dired-tests.el
@@ -319,6 +319,19 @@
       (delete-directory dir 'recursive)
       (when (buffer-live-p buf) (kill-buffer buf)))))
 
+(ert-deftest dired-test-bug27899 ()
+  "Test for http://debbugs.gnu.org/27899 ."
+  :expected-result :failed
+  (let* ((dir (expand-file-name "src" source-directory))
+	 (buf (dired (list dir "cygw32.c" "alloc.c" "w32xfns.c" "xdisp.c")))
+         (orig dired-hide-details-mode))
+    (dired-goto-file (expand-file-name "cygw32.c"))
+    (forward-line 0)
+    (let ((inhibit-read-only t))
+      (dired-align-file (point) (point-max)))
+    (dired-hide-details-mode t)
+    (dired-move-to-filename)
+    (should (eq 2 (current-column)))))
 
 (provide 'dired-tests)
 ;; dired-tests.el ends here
--8<-----------------------------cut here---------------end--------------->8---
In GNU Emacs 26.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.22.11)
 of 2017-07-31
Repository revision: 3a8d0cc825635e07da2a90c4ac987b476fc9b05d