- (if url
- (insert (format "<p>Origin: <a href=%S>%s</a></p>\n"
- url (archive--quote url)))
- (let* ((externals
- (with-temp-buffer
- (insert-file-contents
- (expand-file-name "../../../elpa/externals-list" srcdir))
- (read (current-buffer))))
- (external (eq :external (nth 1 (assoc name externals))))
- (git-sv "http://git.savannah.gnu.org/")
- (urls (if external
- '("cgit/emacs/elpa.git/?h=externals/"
- "gitweb/?p=emacs/elpa.git;a=shortlog;h=refs/heads/externals/")
- '("cgit/emacs/elpa.git/tree/packages/"
- "gitweb/?p=emacs/elpa.git;a=tree;f=packages/"))))
- (insert (format
- (concat "<p>Browse repository: <a href=%S>%s</a>"
- " or <a href=%S>%s</a></p>\n")
- (concat git-sv (nth 0 urls) name)
- 'CGit
- (concat git-sv (nth 1 urls) name)
- 'Gitweb)))))
+ (when url
+ (insert (format "<p>Home page: <a href=%S>%s</a></p>\n"
+ url (archive--quote url)))
+ (when (string-match archive-default-url-re url)
+ (setq url nil)))
+ (let* ((externals
+ (with-temp-buffer
+ (insert-file-contents
+ (expand-file-name "../../../elpa/externals-list" srcdir))
+ (read (current-buffer))))
+ (external (eq :external (nth 1 (assoc name externals))))
+ (git-sv "http://git.savannah.gnu.org/")
+ (urls (if external
+ '("cgit/emacs/elpa.git/?h=externals/"
+ "gitweb/?p=emacs/elpa.git;a=shortlog;h=refs/heads/externals/")
+ '("cgit/emacs/elpa.git/tree/packages/"
+ "gitweb/?p=emacs/elpa.git;a=tree;f=packages/"))))
+ (insert (format
+ (concat (format "<p>Browse %srepository: " (if url "ELPA's " ""))
+ "<a href=%S>%s</a> or <a href=%S>%s</a></p>\n")
+ (concat git-sv (nth 0 urls) name)
+ 'CGit
+ (concat git-sv (nth 1 urls) name)
+ 'Gitweb))))