Function: url-get-url-at-point
url-get-url-at-point is a byte-compiled function defined in
url-util.el.gz.
This function is obsolete since 27.1; use
thing-at-point-url-at-point instead.
Signature
(url-get-url-at-point &optional PT)
Documentation
Get the URL closest to point, but don't change position.
Has a preference for looking backward when not directly on a symbol.
Source Code
;; Defined in /usr/src/emacs/lisp/url/url-util.el.gz
(defun url-get-url-at-point (&optional pt)
"Get the URL closest to point, but don't change position.
Has a preference for looking backward when not directly on a symbol."
(declare (obsolete thing-at-point-url-at-point "27.1"))
;; Not at all perfect - point must be right in the name.
(save-excursion
(if pt (goto-char pt))
(let (start url)
(save-excursion
;; first see if you're just past a filename
(if (not (eobp))
(if (looking-at "[] \t\n[{}()]") ; whitespace or some parens
(progn
(skip-chars-backward " \n\t\r({[]})")
(if (not (bobp))
(backward-char 1)))))
(if (and (char-after (point))
(string-match (concat "[" url-get-url-filename-chars "]")
(char-to-string (char-after (point)))))
(progn
(skip-chars-backward url-get-url-filename-chars)
(setq start (point))
(skip-chars-forward url-get-url-filename-chars))
(setq start (point)))
(setq url (buffer-substring-no-properties start (point))))
(if (and url (string-match "^(\\(.*\\))\\.?$" url))
(setq url (match-string 1 url)))
(if (and url (string-match "^URL:" url))
(setq url (substring url 4 nil)))
(if (and url (string-match "\\.$" url))
(setq url (substring url 0 -1)))
(if (and url (string-match "^www\\." url))
(setq url (concat "http://" url)))
(if (and url (not (string-match url-nonrelative-link url)))
(setq url nil))
url)))