Merge branch 'master' into manual
authorTim Vaughan <tgvaughan@gmail.com>
Mon, 24 Jun 2019 21:21:07 +0000 (23:21 +0200)
committerTim Vaughan <tgvaughan@gmail.com>
Mon, 24 Jun 2019 21:21:07 +0000 (23:21 +0200)
1  2 
elpher.el

diff --combined elpher.el
+++ b/elpher.el
  
  ;;; Commentary:
  
 -;; Elpher aims to provide a practical gopher client for GNU Emacs.
 -;; It supports:
 +;; Elpher aims to provide a practical and friendly gopher client
 +;; for GNU Emacs.  It supports:
  
 -;; - intuitive keyboard and mouse-driven interface,
 +;; - an intuitive keyboard and mouse-driven interface,
  ;; - caching of visited sites (both content and cursor position),
  ;; - pleasant and configurable colouring of Gopher directories,
  ;; - direct visualisation of image files,
@@@ -45,9 -45,6 +45,9 @@@
  ;; Faces, caching and other options can be configured via
  ;; the Elpher customization group in Applications.
  
 +;; Elpher is under active development, and any suggestions for
 +;; improvements are welcome!
 +
  ;;; Code:
  
  (provide 'elpher)
@@@ -195,6 -192,13 +195,13 @@@ Otherwise, use the system browser via t
    "If non-nil, display current node information in buffer header."
    :type '(boolean))
  
+ (defcustom elpher-auto-disengage-TLS nil
+   "If non-nil, automatically disengage TLS following an unsuccessful connection.
+ While enabling this may seem convenient, it is also potentially dangerous as it
+ allows switching from an encrypted channel back to plain text without user input."
+   :type '(boolean))
  ;;; Model
  ;;
  
@@@ -499,9 -503,11 +506,11 @@@ up to the calling function.
      (error
       (if (and (consp the-error)
                (eq (car the-error) 'gnutls-error)
-               (not (elpher-address-use-tls-p address)))
+               (not (elpher-address-use-tls-p address))
+               (or elpher-auto-disengage-TLS
+                   (yes-or-no-p "Could not establish encrypted connection.  Disable TLS mode? ")))
           (progn
-            (message "Could not establish TLS connection.  Disengaging TLS mode.")
+            (message "Disengaging TLS mode.")
             (setq elpher-use-tls nil)
             (elpher-get-selector address after))
         (elpher-process-cleanup)
@@@ -1065,7 -1071,7 +1074,7 @@@ host, selector and port.
        (error "No link selected"))))
  
  (defun elpher-bookmarks ()
 -  "Visit bookmarks."
 +  "Visit bookmarks page."
    (interactive)
    (switch-to-buffer "*elpher*")
    (elpher-visit-node
    "Keymap for gopher client.")
  
  (define-derived-mode elpher-mode special-mode "elpher"
 -  "Major mode for elpher, an elisp gopher client.")
 +  "Major mode for elpher, an elisp gopher client.
 +
 +This mode is automatically enabled by the interactive
 +functions which initialize the gopher client, namely
 +`elpher', `elpher-go' and `elpher-bookmarks'.")
  
  (when (fboundp 'evil-set-initial-state)
    (evil-set-initial-state 'elpher-mode 'motion))