w3 / HOWTO

Full commit
How to build GNU Emacs W3 mode

    Robert J. Chassell,
    12 Aug 1997

This is brief description of how to build a beta test version of GNU
Emacs W3 mode.  Eventually, this note will be replaced by proper
documentation in the W3 Info file.

Here is one way to build version 3.0.99; you can adapt this to however
you want to build W3:

Untar the beta test file, in a directory above the one in which you want to
place the sources:

   $ cd /usr/local/src
   $ tar xvzf w3-3.0.99.tar.gz

Then cd into the w3-3.0.99 directory.

In that directory, at your prompt, type this:

   $ ./configure --help

This documents how `configure' works; `configure' creates Makefiles
for you.

Then type a command such as this:

   $ ./configure --with-emacs --prefix=/usr/local/src/w3-3.0.99  --exec-prefix=/usr/local/src/w3-3.0.99

In this example, the byte compiled files will go into the same directories
as their sources.  You can put them elsewhere, but this is a simple
clean way to create a test version.

There was a bug in the Makefiles for 3.0.99 (this is what beta test
software is to find): the name for the Emacs executable was set to `t'
rather than to `emacs'; I changed that by hand.

Then build the byte compiled files:

   $ make w3

(Well, I do this in Emacs with the `M-x compile' command, and I invoke:
    date; make w3; date
with `date' commands sandwiching the meat.  This way I can see how
long the compile takes.  Now up to 16 minutes.)

You will note I did give the `make all' command.  That not only
bytecompiles W3 mode, but creates the Info and DVI files; however,
Wm. Perry thoughtfully includes the Info in the ...texi/ directory
anyhow, so you don't need to create them again; and I don't bother to
recreate DVI files to print out except occasionally.  If you do want
all your documentation, type `make all' instead of `make w3'.

Link the location of your .elc files to /usr/local/src/w3/ so you
don't have to change old habits:

  $ cd /usr/local/src
  $ ln -s /usr/local/src/w3-3.0.99/lisp w3

I am basing this suggestion on the presumption that sometime in your
past, you set the load-path in your .emacs file to a w3 directory,
using an expression like this:

    ;; set load-path
    (setq load-path (cons "/usr/local/src/w3" load-path))

By linking the directory with the byte-compiled files to this
directory, you can always start W3 mode by typing `M-x w3'.

Also, since the `configure' commands I suggested leave the existing
(or place any new) Info files in the `/usr/local/src/w3-3.0.99/texi/'
directory, you should also link the texi/ directory appropriately:

  $ cd /usr/local/src
  $ ln -s /usr/local/src/w3-3.0.99/texi w3-info

Also, be sure to set the name of the menu appropriately in your
/usr/info/dir file, like this:

    * W3: (/usr/local/src/w3-info/  Emacs W3 mode, a Web browser

Now, type `M-x w3' inside of Emacs and W3 mode should start.


There is a bug in W3 version 3.0.99, in that it does not respond to
the `w3-default-stylesheet' variable which the documentation says you
can set in your .emacs file, with a command such as:

;; Specify my own stylesheet
(setq w3-default-stylesheet "~bob/.w3.sty")

So, instead, put your own stylesheet where W3 can find it, such as in:


Otherwise, you will see a warning like this:

    (style/warning) No stylesheets found!  Check configuration! DANGER DANGER!
    Emacs-W3 checked for its stylesheet in the following places
    and did not find one.  ...

You can create your won stylesheet by basing it on `default.css' which
comes with the distribution.


Once you have started W3 mode, you can submit bugs by typing `w'
(w3-submit-bug) in a W3 mode buffer.

That is how I sent this file to William Perry .... I saw a lack in the
documentation (I am continuously forgetting how to build a new version
of W3 so I figured I ought to do something about it.)


Incidentally, rather than download a complete tar.gz file, you can of
download diff files, patch a previous distribution, and byte-recompile
the directory.  This is usually quicker than downloading the whole
half-magabyte tar.gz file and byte compiling it.  

Using ange-ftp, the diffs are in:


Or you can do as I described here.

The widgets are a set of files to which your `--with-emacs' option to
`./configure' should point.  They are in the emacs-20/lisp/ directory,
called `widget.el' and the like.  Also, `custom.el' is there.

If you think that you are configuring correctly, but W3 still does not
build, check to ensure you are removing your old `config.*' files
before running your `./config' command.

The files to be removed are:


Use `make distclean' to remove them.  (Incidentally, the `clean-cache'
script is for cleaning your cache of old URLs, not for configuration.)

The build sequence is:

    make distclean
    ./configure --with-emacs=/usr/local/src/emacs-20.2/src/emacs-20.2.1 --prefix=/usr/local/src/w3-3.0.107 
    make w3