Function: rcirc-markup-urls
rcirc-markup-urls is a byte-compiled function defined in rcirc.el.gz.
Signature
(rcirc-markup-urls SENDER RESPONSE)
Documentation
Highlight and activate URLs.
Source Code
;; Defined in /usr/src/emacs/lisp/net/rcirc.el.gz
(defun rcirc-markup-urls (_sender _response)
"Highlight and activate URLs."
(while (and rcirc-url-regexp ; nil means disable URL catching.
(re-search-forward rcirc-url-regexp nil t))
(let* ((start (match-beginning 0))
(url (buffer-substring-no-properties start (point))))
(when rcirc-url-max-length
;; Replace match with truncated URL.
(delete-region start (point))
(insert (url-truncate-url-for-viewing url rcirc-url-max-length)))
;; Add a button for the URL. Note that we use `make-text-button',
;; rather than `make-button', as text-buttons are much faster in
;; large buffers.
(make-text-button start (point)
'face 'rcirc-url
'follow-link t
'rcirc-url url
'action (lambda (button)
(browse-url-button-open-url
(button-get button 'rcirc-url))))
;; Record the URL if it is not already the latest stored URL.
(unless (string= url (caar rcirc-urls))
(push (cons url start) rcirc-urls)))))