summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lisp/ChangeLog7
-rw-r--r--lisp/ls-lisp.el7
2 files changed, 14 insertions, 0 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 61d6af86d2e..6ae6e33824c 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,10 @@
+2013-04-27 Ingo Lohmar <i.lohmar@gmail.com> (tiny change)
+
+ * ls-lisp.el (ls-lisp-insert-directory): If no files are
+ displayed, move point to after the totals line. See
+ http://lists.gnu.org/archive/html/emacs-devel/2013-04/msg00677.html
+ for the details.
+
2013-04-27 Stefan Monnier <monnier@iro.umontreal.ca>
* emacs-lisp/package.el (package-autoload-ensure-default-file):
diff --git a/lisp/ls-lisp.el b/lisp/ls-lisp.el
index 70ee4394b88..60d6b7b7ba5 100644
--- a/lisp/ls-lisp.el
+++ b/lisp/ls-lisp.el
@@ -404,6 +404,13 @@ not contain `d', so that a full listing is expected."
;; the wildcard; let's say something similar.
(insert "(No match)\n"))
(insert (format "total %.0f\n" (fceiling (/ sum 1024.0))))))
+ ;; dired-insert-directory exprects to find point after the
+ ;; text. But if the listinmg is empty, as e.g. in empty
+ ;; directories with -a removed from switches, point will be
+ ;; before the inserted text, and dired-insert-directory will
+ ;; not indent the listing correctly. Going to the end of the
+ ;; buffer fixes that.
+ (unless files (goto-char (point-max)))
(if (memq ?R switches)
;; List the contents of all directories recursively.
;; cadr of each element of `file-alist' is t for