Function: eww-follow-link
eww-follow-link is an interactive and byte-compiled function defined
in eww.el.gz.
Signature
(eww-follow-link &optional EXTERNAL MOUSE-EVENT)
Documentation
Browse the URL under point.
If EXTERNAL is single prefix, browse the URL using
browse-url-secondary-browser-function.
If EXTERNAL is double prefix, browse in new buffer.
Probably introduced at or before Emacs version 28.1.
Key Bindings
Source Code
;; Defined in /usr/src/emacs/lisp/net/eww.el.gz
(defun eww-follow-link (&optional external mouse-event)
"Browse the URL under point.
If EXTERNAL is single prefix, browse the URL using
`browse-url-secondary-browser-function'.
If EXTERNAL is double prefix, browse in new buffer."
(interactive
(list current-prefix-arg last-nonmenu-event)
eww-mode)
(mouse-set-point mouse-event)
(let* ((orig-url (get-text-property (point) 'shr-url))
(url (eww--transform-url orig-url))
target)
(cond
((not url)
(message "No link under point"))
((string-match-p eww-use-browse-url url)
;; This respects the user options `browse-url-handlers'
;; and `browse-url-mailto-function'.
(browse-url url))
((and (consp external) (<= (car external) 4))
(funcall browse-url-secondary-browser-function url)
(shr--blink-link))
;; This is a #target url in the same page as the current one.
((and (setq target (url-target (url-generic-parse-url url)))
(eww-same-page-p url (plist-get eww-data :url)))
(let ((point (point)))
(eww-save-history)
(eww--before-browse)
(plist-put eww-data :url url)
(goto-char (point-min))
(if-let ((match (text-property-search-forward 'shr-target-id target #'member)))
(goto-char (prop-match-beginning match))
(goto-char (if (equal target "top")
(point-min)
point)))))
(t
(eww-browse-url orig-url external)))))