From 8f9379d3f5cb862607992b4c68a509509d16935e Mon Sep 17 00:00:00 2001 From: 10sr <8slashes+git@gmail.com> Date: Tue, 23 Oct 2012 22:06:37 +0900 Subject: [PATCH] fix my-dired-previous/next-line --- emacs.el | 46 ++++++++++++++++++++++++++-------------------- 1 file changed, 26 insertions(+), 20 deletions(-) diff --git a/emacs.el b/emacs.el index b5a3a26..a4e649b 100644 --- a/emacs.el +++ b/emacs.el @@ -1267,33 +1267,39 @@ delete; o: select other; j, l: enlarge; h, k: shrink; q: quit." (interactive) (my-dired-next-line (- (window-height) 1))) +;; (defun my-dired-forward-line (arg) +;; "" +;; (interactive "p")) + (defun my-dired-previous-line (arg) "" (interactive "p") - (when (> arg 0) - ;; (ignore 'my-dired-print-current-dir-and-file) - (dired-previous-line 1) - (when (eq (line-number-at-pos) - 2) - (goto-char (point-max)) - (forward-line -1) - (dired-move-to-filename)) - (my-dired-previous-line (- arg 1)) - )) + (if (> arg 0) + (progn + ;; (ignore 'my-dired-print-current-dir-and-file) + (forward-line -1) + (when (eq (line-number-at-pos) + 1) + (goto-char (point-max))) + (my-dired-previous-line (if (dired-get-filename nil t) + (- arg 1) + arg))) + (dired-move-to-filename))) (defun my-dired-next-line (arg) "" (interactive "p") - (when (> arg 0) - ;; (ignore 'my-dired-print-current-dir-and-file) - (dired-next-line 1) - (when (eq (point) - (point-max)) - (goto-char (point-min)) - (forward-line 2) - (dired-move-to-filename)) - (my-dired-next-line (- arg 1)) - )) + (if (> arg 0) + (progn + ;; (ignore 'my-dired-print-current-dir-and-file) + (forward-line 1) + (when (eq (point) + (point-max)) + (goto-char (point-min))) + (my-dired-next-line (if (dired-get-filename nil t) + (- arg 1) + arg))) + (dired-move-to-filename))) (defun my-dired-print-current-dir-and-file () (message "%s %s"