X-Git-Url: https://thelambdalab.xyz/gitweb/index.cgi?p=elpher.git;a=blobdiff_plain;f=elpher.el;h=967a8cec28a32d51d3e02c44ea7cf0956cc65b5f;hp=c0032487a2411ee3ae3133670069892e1f143f8a;hb=787713a152300c5456357d2252d841c085d1b87e;hpb=545af85cbcb053783ccce78128da2afc8cbc94c4 diff --git a/elpher.el b/elpher.el index c003248..967a8ce 100644 --- a/elpher.el +++ b/elpher.el @@ -1487,7 +1487,7 @@ width defined by `elpher-gemini-max-fill-width'." (propertize text-line 'face 'elpher-gemini-quoted)) (t text-line)) text-line)) - (adaptive-fill-mode nil)) + (adaptive-fill-mode t)) (insert (elpher-process-text-for-display processed-text-line)) (newline))) @@ -1857,9 +1857,21 @@ paramter elpher, where link is self-contained." ;; Use elpher to open gopher, finger and gemini links (with-eval-after-load 'browse-url - (add-to-list - 'browse-url-default-handlers - '("^\\(gopher\\|finger\\|gemini\\)://" . elpher-browse-url-elpher))) + ;; For recent version of `browse-url' package + (if (boundp 'browse-url-default-handlers) + (add-to-list + 'browse-url-default-handlers + '("^\\(gopher\\|finger\\|gemini\\)://" . elpher-browse-url-elpher)) + ;; Patch browse-url-default-browser for older ones + (advice-add 'browse-url-default-browser :before-while + (lambda (url &rest _args) + (let ((scheme (downcase (car (split-string url ":" t))))) + (if (member scheme '("gemini" "gopher" "finger")) + ;; `elpher-go' always returns nil, which will stop the + ;; advice chain here in a before-while + (elpher-go url) + ;; chain must continue, then return t. + t)))))) ;; Avoid byte compilation warnings. (eval-when-compile