diff options
author | Artur Malabarba <bruce.connor.am@gmail.com> | 2014-11-26 12:22:34 +0000 |
---|---|---|
committer | Artur Malabarba <bruce.connor.am@gmail.com> | 2014-11-26 12:22:34 +0000 |
commit | 244aca25de91f6b6e5e9d59775ab05f0669df80c (patch) | |
tree | 14bf81c230f64ad630588d99377d1af7716a7fbc /sx-question-list.el | |
parent | e9f03bfb583d514ff9c930c551f8e0760f29a598 (diff) |
Preserve visual position when refreshing
Both for question list and question mode.
Diffstat (limited to 'sx-question-list.el')
-rw-r--r-- | sx-question-list.el | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/sx-question-list.el b/sx-question-list.el index 2965ede..bb49b54 100644 --- a/sx-question-list.el +++ b/sx-question-list.el @@ -371,19 +371,21 @@ a new list before redisplaying." (setq sx-question-list--unread-count 0) (unless no-update (setq sx-question-list--pages-so-far 1)) - (let ((question-list - (or (and no-update sx-question-list--dataset) - (and (functionp sx-question-list--refresh-function) - (funcall sx-question-list--refresh-function)) - (and (functionp sx-question-list--next-page-function) - (funcall sx-question-list--next-page-function 1)) - sx-question-list--dataset))) + (cl-letf ((question-list + (or (and no-update sx-question-list--dataset) + (and (functionp sx-question-list--refresh-function) + (funcall sx-question-list--refresh-function)) + (and (functionp sx-question-list--next-page-function) + (funcall sx-question-list--next-page-function 1)) + sx-question-list--dataset)) + ;; Preserve window positioning. + ((window-start))) (setq sx-question-list--dataset question-list) ;; Print the result. (setq tabulated-list-entries (mapcar sx-question-list--print-function - (cl-remove-if #'sx-question--hidden-p question-list)))) - (when redisplay (tabulated-list-print 'remember))) + (cl-remove-if #'sx-question--hidden-p question-list))) + (when redisplay (tabulated-list-print 'remember)))) (defcustom sx-question-list-ago-string " ago" "String appended to descriptions of the time since something happened. |