- (elpher-show-history elpher-history-all))
-
-(defun elpher-show-history (pages)
- "Show all PAGES in the Elpher buffer."
- (elpher-with-clean-buffer
- (insert "---- Visited link history ----\n\n")
- (if pages
- (dolist (page pages)
- (when page
- (let ((display-string (elpher-page-display-string page))
- (address (elpher-page-address page)))
- (elpher-insert-index-record display-string address))))
- (insert "No history items found.\n"))
- (insert "\n----------------------------")))
+ (elpher-display-history-links
+ (seq-filter (lambda (page)
+ (not (elpher-address-special-p (elpher-page-address page))))
+ elpher-visited-pages)
+ "All visited pages"))
+
+(defun elpher-display-history-links (pages title)
+ "Show all PAGES in an Elpher buffer with a given TITLE."
+ (let* ((title-line (concat "---- " title " ----"))
+ (footer-line (make-string (length title-line) ?-)))
+ (elpher-with-clean-buffer
+ (insert title-line "\n\n")
+ (if pages
+ (dolist (page pages)
+ (when page
+ (let ((display-string (elpher-page-display-string page))
+ (address (elpher-page-address page)))
+ (elpher-insert-index-record display-string address))))
+ (insert "No history items found.\n"))
+ (insert "\n" footer-line "\n"
+ "Select and entry or press 'u' to return to the previous page.")
+ (elpher-restore-pos))))