hot-url.el

hot-url is a general-purpose package for making URLs, absolute filenames, and (netnews) message-ids in gnu-emacs into "hot links." You can follow one of these links by moving the cursor onto the link and pressing return, or (in lemacs) by clicking on the link with the middle mouse button.

When a link is followed, the document it refers to is retrieved. Following a filename link will cause emacs to load the file normally. For URLs and message-ids, the default retrieval method is w3 (the emacs WWW browser).

Using Mosaic instead of w3

You can specify NCSA Mosaic as the retrieval method by putting the following in your .emacs file:
    (if (getenv "DISPLAY")
        (setq hot-url-fetch-url-function 'mosaic-fetch-url))
Or, you can manually switch to Mosaic retrieval by doing
    M-x hot-url-use-mosaic

Getting hot-url

If you use lemacs in CMU CS, hot-url should be available on your default load-path. Otherwise, you should add this to your .emacs:
    (setq load-path (append load-path '("/usr/misc/.lemacs/lisp/local-pkgs")))
The following files from that directory are involved:
    hot-url.el
    hot-link.el
    mosaic-fetch-url.el
    w3-fetch-url.el
    zephyr-url.el
    vm-url.el
    mh-e-url.el
    gnus-url.el

hot-url support in major modes

You can get hot URLs (etc.) in zephyr-mode, the VM and mh-e mail systems, and gnus.

For zephyr-mode, add this to your .emacs file after zephyr.el is loaded:

    (require 'zephyr-url)
For VM, add this at the end of your .vm file:
    (require 'vm-url)
For mh-e, add this to your .emacs file:
    (setq mh-folder-mode-hook
          (list '(lambda () (require 'mh-e-url))))
For gnus, add this to your .emacs file:
    (setq gnus-Startup-hook (list (function (lambda () (require 'gnus-url)))))

Further notes

The heuristics used for locating URLs, filenames, and message-ids are pretty good, but (necessarily) imprecise. If the link contains too much or too little text, you can give a prefix argument (by pressing C-u) before clicking on the link, and you will be allowed to correct the link value before it is fetched.

If you have questions or suggestions for hot-url or the associated packages, ask the author, Darrell.Kindred@cs.cmu.edu. Thanks to Arup Mukherjee and Rujith de Silva for their contributions.

Darrell.Kindred@cs.cmu.edu