Use cl-flet instead of let for the lambda.

This commit is contained in:
tastytea 2020-03-02 10:32:01 +01:00
parent f786360131
commit 21971bb469
Signed by: tastytea
GPG Key ID: CFC39497F1B26E07
1 changed files with 16 additions and 15 deletions

View File

@ -99,21 +99,22 @@
"Return all position registers, sorted by file name and position.
If `register-quicknav-buffer-only' is t, return only registers in
current buffer."
(let ((sort-fn (lambda (a b)
(let ((marker-a (cdr a))
(marker-b (cdr b)))
(and (string= (buffer-file-name (marker-buffer marker-a))
(buffer-file-name (marker-buffer marker-b)))
(< (marker-position marker-a)
(marker-position marker-b))))))
(result))
(dolist (item register-alist)
(when (markerp (cdr item))
(if register-quicknav-buffer-only
(when (eq (current-buffer) (marker-buffer (cdr item)))
(push item result))
(push item result))))
(sort result sort-fn)))
(cl-flet ((sort-registers
(lambda (a b)
(let ((marker-a (cdr a))
(marker-b (cdr b)))
(and (string= (buffer-file-name (marker-buffer marker-a))
(buffer-file-name (marker-buffer marker-b)))
(< (marker-position marker-a)
(marker-position marker-b)))))))
(let ((result))
(dolist (item register-alist)
(when (markerp (cdr item))
(if register-quicknav-buffer-only
(when (eq (current-buffer) (marker-buffer (cdr item)))
(push item result))
(push item result))))
(sort result #'sort-registers))))
;;;###autoload
(defun register-quicknav-next-register ()