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

From: Tino Calancha <[email-masked]>
Date: Tue, 01 Aug 2017 16:27:04 +0900

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