X-Git-Url: https://thelambdalab.xyz/gitweb/index.cgi?p=elpher.git;a=blobdiff_plain;f=elpher.el;h=76aa9923695d80d3634fbf962342fa3802b18015;hp=a4f9664d7eec66c929c1ca5880e751e8fcabcb7a;hb=66a50adea6ca82974a87ea7561f690a449dcbd57;hpb=4330b8deba3eb0e28c1b133483908fc1c39389d0 diff --git a/elpher.el b/elpher.el index a4f9664..76aa992 100644 --- a/elpher.el +++ b/elpher.el @@ -73,14 +73,13 @@ ;; (require 'seq) -(require 'pp) (require 'shr) (require 'url-util) (require 'subr-x) -(require 'dns) (require 'nsm) (require 'gnutls) (require 'socks) +(require 'bookmark) ;;; Global constants ;; @@ -128,7 +127,8 @@ (defvar ansi-color-context) (defvar bookmark-make-record-function) (defvar mu4e~view-beginning-of-url-regexp) - (defvar thing-at-point-uri-schemes)) + (defvar thing-at-point-uri-schemes) + (defvar xterm-color-preserve-properties)) ;;; Customization group @@ -587,6 +587,7 @@ previously-visited pages,unless NO-HISTORY is non-nil." (defmacro elpher-with-clean-buffer (&rest args) "Evaluate ARGS with a clean *elpher* buffer as current." + (declare (debug (body))) ;; Allow edebug to step through body `(with-current-buffer elpher-buffer-name (unless (eq major-mode 'elpher-mode) ;; avoid resetting buffer-local variables @@ -721,7 +722,7 @@ ERROR can be either an error object or a string." (cancel-timer elpher-network-timer))) (defun elpher-make-network-timer (thunk) - "Creates a timer to run the THUNK after `elpher-connection-timeout' seconds. + "Create a timer to run the THUNK after `elpher-connection-timeout' seconds. This is just a wraper around `run-at-time' which additionally sets the buffer-local variable `elpher-network-timer' to allow `elpher-process-cleanup' to also clear the timer." @@ -1712,8 +1713,8 @@ The result is rendered using RENDERER." 'help-echo help-string)) (insert "\n") (insert (propertize - (concat " (These documents should be available if you have installed Elpher \n" - " using MELPA. Otherwise you may have to install the manual yourself.)\n") + (concat "(These documents should be available if you have installed Elpher \n" + " using MELPA. Otherwise you may have to install the manual yourself.)\n") 'face 'shadow)) (elpher-restore-pos))) @@ -1757,7 +1758,7 @@ This is rendered using `elpher-get-visited-pages-page' via `elpher-type-map'." (defun elpher-display-history-links (pages title) "Show all PAGES in an Elpher buffer with a given TITLE." - (let* ((title-line (concat "---- " title " ----")) + (let* ((title-line (concat " ---- " title " ----")) (footer-line (make-string (length title-line) ?-))) (elpher-with-clean-buffer (insert title-line "\n\n") @@ -1768,7 +1769,7 @@ This is rendered using `elpher-get-visited-pages-page' via `elpher-type-map'." (address (elpher-page-address page))) (elpher-insert-index-record display-string address)))) (insert "No history items found.\n")) - (insert "\n" footer-line "\n" + (insert "\n " footer-line "\n" "Select an entry or press 'u' to return to the previous page.") (elpher-restore-pos)))) @@ -1844,7 +1845,6 @@ To bookmark the link at point use \\[elpher-bookmark-link]." (read-file-name "Old Elpher bookmarks: " user-emacs-directory nil t "elpher-bookmarks")))) - (require 'bookmark) (dolist (bookmark (with-temp-buffer (insert-file-contents file) (read (current-buffer)))) @@ -1864,14 +1864,14 @@ To bookmark the link at point use \\[elpher-bookmark-link]." (elpher-with-clean-buffer (insert " ---- Elpher Bookmarks ---- \n\n") (bookmark-maybe-load-default-file) - (let ((bookmarks (bookmark-maybe-sort-alist))) - (if bookmarks - (dolist (bookmark bookmarks) - (let* ((name (car bookmark)) - (url (alist-get 'location (cdr bookmark))) - (address (elpher-address-from-url url))) - (elpher-insert-index-record name address))) - (insert "No bookmarked pages found.\n"))) + (dolist (bookmark (bookmark-maybe-sort-alist)) + (when (eq #'elpher-bookmark-jump (alist-get 'handler (cdr bookmark))) + (let* ((name (car bookmark)) + (url (alist-get 'location (cdr bookmark))) + (address (elpher-address-from-url url))) + (elpher-insert-index-record name address)))) + (when (<= (line-number-at-pos) 3) + (insert "No bookmarked pages found.\n")) (insert "\n --------------------------\n\n" "Select an entry or press 'u' to return to the previous page.\n\n" "Bookmarks can be renamed or deleted via the ")