X-Git-Url: https://thelambdalab.xyz/gitweb/index.cgi?p=elpher.git;a=blobdiff_plain;f=elpher.el;h=8113c533bf002018a46b2ea1fb8cf53ebb275c88;hp=f13092a25d25c79fbb1dad17064021d586d0d2ee;hb=46dac5a84b17c972b4479ccb0b288ae531c247a0;hpb=bea10793f68037947b6fec30a86316ca2123bbfa diff --git a/elpher.el b/elpher.el index f13092a..8113c53 100644 --- a/elpher.el +++ b/elpher.el @@ -2,9 +2,9 @@ ;; Copyright (C) 2019 Tim Vaughan -;; Author: Tim Vaughan +;; Author: Tim Vaughan ;; Created: 11 April 2019 -;; Version: 2.7.1 +;; Version: 2.7.4 ;; Keywords: comm gopher ;; Homepage: http://thelambdalab.xyz/elpher ;; Package-Requires: ((emacs "26")) @@ -70,7 +70,7 @@ ;;; Global constants ;; -(defconst elpher-version "2.7.1" +(defconst elpher-version "2.7.4" "Current version of elpher.") (defconst elpher-margin-width 6 @@ -148,6 +148,10 @@ The actual width used is the minimum of this value and the window width at the time when the text is rendered." :type '(integer)) +(defcustom elpher-bookmarks-file (locate-user-emacs-file "elpher-bookmarks") + "Specify the name of the file where elpher bookmarks will be saved." + :type '(file)) + ;; Face customizations (defgroup elpher-faces nil @@ -208,15 +212,15 @@ the time when the text is rendered." (defface elpher-gemini-heading1 '((t :inherit bold :height 1.8)) - "Face used for brackets around directory margin key.") + "Face used for gemini heading level 1.") (defface elpher-gemini-heading2 '((t :inherit bold :height 1.5)) - "Face used for brackets around directory margin key.") + "Face used for gemini heading level 2.") (defface elpher-gemini-heading3 '((t :inherit bold :height 1.2)) - "Face used for brackets around directory margin key.") + "Face used for gemini heading level 3.") ;;; Model ;; @@ -809,7 +813,9 @@ The response is rendered using the rendering function RENDERER." (if (not data) nil (let* ((address (elpher-page-address elpher-current-page)) - (selector (elpher-gopher-address-selector address))) + (selector (if (elpher-address-gopher-p address) + (elpher-gopher-address-selector address) + (elpher-address-filename address)))) (elpher-visit-previous-page) ; Do first in case of non-local exits. (let* ((filename-proposal (file-name-nondirectory selector)) (filename (read-file-name "Download complete. Save file as: " @@ -1310,7 +1316,7 @@ by HEADER-LINE." "- a: rename selected bookmark\n" "\n" "Bookmarks are stored in the file ") - (let ((filename (locate-user-emacs-file "elpher-bookmarks")) + (let ((filename elpher-bookmarks-file) (help-string "RET,mouse-1: Open bookmarks file in new buffer for editing.")) (insert-text-button filename 'face 'link @@ -1347,7 +1353,7 @@ bookmark list, while URL is the url of the entry." (defun elpher-save-bookmarks (bookmarks) "Record the bookmark list BOOKMARKS to the user's bookmark file. Beware that this completely replaces the existing contents of the file." - (with-temp-file (locate-user-emacs-file "elpher-bookmarks") + (with-temp-file elpher-bookmarks-file (erase-buffer) (insert "; Elpher bookmarks file\n\n" "; Bookmarks are stored as a list of (label URL) items.\n" @@ -1360,7 +1366,7 @@ Beware that this completely replaces the existing contents of the file." (let ((bookmarks (with-temp-buffer (ignore-errors - (insert-file-contents (locate-user-emacs-file "elpher-bookmarks")) + (insert-file-contents elpher-bookmarks-file) (goto-char (point-min)) (read (current-buffer)))))) (if (and bookmarks (listp (cadar bookmarks)))