From d5a64bb9201fe04afefe271b61727fecb4ff74a3 Mon Sep 17 00:00:00 2001 From: rubikitch Date: Tue, 10 Aug 2010 03:38:22 +0900 Subject: [PATCH] anything.el (anything-next-point-in-list): refactor: cleanup logic --- anything.el | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/anything.el b/anything.el index 7d4a302..225296a 100644 --- a/anything.el +++ b/anything.el @@ -3207,18 +3207,23 @@ It is analogous to `dired-get-marked-files'." (add-hook 'anything-update-hook 'anything-revive-visible-mark) (defun anything-next-point-in-list (curpos points &optional prev) - (cond ;; rule out special cases - ((null points) curpos) - ((and prev (< curpos (car points))) curpos) - ((< (car (last points)) curpos) - (if prev (car (last points)) curpos)) - (t - (nth (+ (loop for pt in points - for i from 0 - if (or (< curpos pt) (and prev (= curpos pt))) - do (return i)) - (if prev -1 0)) - points)))) + (cond + ;; rule out special cases + ((null points) curpos) + ((and prev (< curpos (car points))) curpos) + ((< (car (last points)) curpos) + (if prev (car (last points)) curpos)) + (t + (nth (if prev + (loop for pt in points + for i from 0 + if (<= curpos pt) + do (return (1- i))) + (loop for pt in points + for i from 0 + if (< curpos pt) + do (return i))) + points)))) (defun anything-next-visible-mark (&optional prev) "Move next anything visible mark." -- 2.11.4.GIT