Skip to content
An Emacs interface to w3m
Emacs Lisp Groff Shell
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


       This package contains emacs-w3m, an Emacs interface to w3m

1. Introduction

   w3m is a pager with WWW capability, developed by Akinori ITO.
   Although it is a pager, it can be used as a text-mode WWW browser.
   Visit the official w3m page for details:

   Emacs-w3m is a simple Emacs interface to w3m.  Its official web page
   is available at:

   You can find more detailed version of the following explanations
   in the form of HTML'ized info:

2. Requirements

   Check whether your system meets the following requirements before
   installing emacs-w3m.

   Emacs-w3m requires the latest version of w3m (version 0.3.1 and
   later).  Since this program is much sensitive to the version of w3m,
   you should confirm it if you already have w3m installed.  And we
   recommend you visit the official w3m web page to check whether a
   newer version of w3m has been released:

   If you want to use the shimbun library which is included in the
   emacs-w3m distribution, you have to install FLIM package.  For more
   detail about the shimbun library, see "Shimbun Library" section in

   a) Emacs 21.x
      No additional packages are required.

   b) Emacs 22.x
      No additional packages are required.  If you're using a prerelease
      version of Emacs 22 (such as versions 21.3.50 or 22.0), make sure
      it is newer than March 2004.

   c) Emacs 20.x
      No additional package is required.

      When BITMAP-MULE package is installed, you can see monochrome
      bitmap images inline on an Emacs frame.  It is available at:

   d) XEmacs 21.x
      APEL package is required.  It is available at:

      Note: You must not use the APEL XEmacs package (which is contained
       in SUMO).  If you have already installed the APEL XEmacs package,
       use the following directives to replace it with APEL which is
       linked above (you can also use the same directives in order to
       newly install APEL):

          % rm -fr /usr/local/lib/xemacs/xemacs-packages/lisp/apel
          % cd apel-10.6
          % make install-package XEMACS=xemacs-21.4.x\

      If you are using XEmacs 21.x, you should install the "gifsicle"
      program.  There is a known bug in all XEmacs 21.x series that
      it won't let it display optimized animated gifs correctly or may
      make it crash when some kind of an interlaced gif image is
      displayed.  Emacs-w3m uses the "gifsicle" program to convert gif
      data in order to make it possible to be handled by XEmacs 21.x.
      It is available at:

   e) Mule 2.3 (based on Emacs 19.34)
      APEL package, the "new custom" package, the regexp-opt.el(c)
      module are required.  For more detail, see carefully the next
      section about Emacs 19.34.

      If you wish to use BITMAP-MULE package to show monochrome images
      inline on the web pages, we strongly recommend you apply the patch
      and rebuild Mule.  The patch named mule-2.3@19.34.patch is
      included in the patches/ directory.  If you don't accept our
      recommendation, Mule might be stuck.  And you wouldn't get out of
      the difficulty except killing Mule.

   f) Emacs 19.34 (without Mule)
      APEL package, the "new custom" package, the regexp-opt.el(c)
      module are required.

      Emacs-w3m requires the "new custom" package.  If you use Emacs
      19.34 or Mule 2.3, you have to install it before installing
      emacs-w3m.  For more detail, visit the following page:

      Especially for Mule 2.3, see also the README.en file which is
      included in the APEL distribution.

      Emacs-w3m also requires the regexp-opt.el(c) module which might
      not be provided in the old Emacsen (e.g. Emacs 19.34 and Mule
      2.3).  If you are using such versions of Emacs, you have to
      install the regexp-opt.el(c) module before installing emacs-w3m as

          % cp attic/regexp-opt.el /usr/local/share/emacs/site-lisp
          % cd /usr/local/share/emacs/site-lisp
          % emacs -q -no-site-file -batch -f batch-byte-compile regexp-opt.el

      (You will likely need to say `mule' instead of `emacs' for the
      path name and the executable name if you are using Mule.)

3. Installation

3.1. Installing emacs-w3m on UNIX-like systems

     At the first, run the `configure' script.

         % ./configure

     Important notice to the Gnus users:
     If the various versions of Gnusae are installed in your system (it
     is likely that there are the released version and the development
     version of Gnusae), make sure that priority is given to the
     directory where the gnus.elc file which you use is installed in the
     load-path.  To do that, use the --with-addpath option as follows:

         % ./configure --with-addpath=/usr/local/share/emacs/site-lisp/gnus

     If you've installed APEL, FLIM or something in non-standard
     directories other than the default `load-path', you must specify
     them using the --with-addpath option as follows (you may also
     include the Gnus directory in it separated with `:'):

         % ./configure --with-addpath=/opt/share/apel:/opt/share/flim

     Next, execute the following commands to install emacs-w3m to an
     appropriate directory.

         % make
         % make install

     If you are using Emacs 21 or XEmacs, you had better install icon
     image files.  To do this:

         % make install-icons
         % make install-icons30

     The latter will install the slightly larger icons with characters.

     You can also install emacs-w3m as an XEmacs package using
     `make install-package' instead of `make install'.

         % make
         % make install-package

     In this case, you don't have to execute `make install-icons' nor
     `make install-icons30'.

     The info files will also be installed by `make install' or
     `make install-package'.

3.2. Installing on non-UNIX-like systems

     If you cannot execute the `configure' script on your system, or if
     no `make' command is available, execute the following command:

         % emacs -batch -q -no-site-file -l w3mhack.el NONE -f w3mhack-nonunix-install

     If APEL, FLIM (or any other library) aren't installed in the
     ordinary places, the installer will leave them out.  In such a
     case, it is necessary to tell those places to the installer as
     shown below:

         % emacs -batch -q -no-site-file -l w3mhack.el //c/share/apel://c/share/flim -f w3mhack-nonunix-install

4. Configuration

   We recommend using the ~/.emacs-w3m file (which is the default
   value of `w3m-init-file') when you twiddle some variables of
   emacs-w3m.  This file is similar to ~/.emacs, but is read when
   emacs-w3m starts.  However, note that there are options which
   shouldn't be put there, for example, `w3m-command'.

4.1. Essential Configuration

     Put this line into your ~/.emacs file:

         (require 'w3m-load)

     You have nothing to do if you have emacs-w3m installed as an XEmacs

4.2. mime-w3m.el

     In order to handle text/html part with emacs-w3m under SEMI MUAs
     such as T-gnus and Wanderlust, you have to put the following line
     in your ~/.emacs file:

         (require 'mime-w3m)

4.3. Proxy Gateway

     There are some ways to do this, one is to set the "http_proxy"
     environment variable globally in the shell something like:

         setenv http_proxy

     Another way is to customize the `w3m-command-arguments' variable to
     add the options "-o" and "http_proxy=http://PROXY_SERVER_NAME:PORT/".
     This can also be done in your ~/.emacs-w3m file as shown below:

        (setq w3m-command-arguments
              (nconc w3m-command-arguments
                     '("-o" "http_proxy=")))

     To specify `no-proxy' hosts, which shouldn't be connected to with
     proxy gateways, you can set the "no_proxy" environment variable
     with the comma separated host names, or set the
     `w3m-no-proxy-domains' variable with a list of domain names (not
     host names) as follows:

         (setq w3m-no-proxy-domains '("" ""))

     See also the documentation for the `w3m-command-arguments-alist'
     variable to use regexps to specify the `no-proxy' hosts.

5. Contact the emacs-w3m community

   To contact the emacs-w3m community for reporting bugs, contributing
   improvements, making a suggestion or asking us for help, send a mail
   to the open list <>.  You can also send a bug
   report using the `report-emacs-w3m-bug' command or the `C-c C-b' key
   if you have set the `mail-user-agent' variable that will work

6. Acknowledgments

   w3m, which is an essential part of this package, was written by
   Akinori ITO.  We'd like to address our thanks to him for his nice

7. Related Information

   [1] APEL
       It can be downloaded from

   [2] FLIM
       It can be downloaded from
       Before installing it, it is necessary to install APEL.

       It can be downloaded from

   [4] gifsicle
       It can be downloaded from

   [5] New custom
       For more detail, check

Local Variables:
mode: indented-text
mode: outline-minor
outline-regexp: "[0-9]\\.[0-9]\\.[0-9]\\.\\|[0-9]\\.[0-9]\\.\\|[0-9]\\."
coding: ascii
fill-column: 72
Something went wrong with that request. Please try again.