Anonymous avatar Anonymous committed 7359505

Update to 4.0-pre39

Comments (0)

Files changed (81)

+If any bugs are discovered in Emacs/W3, please report them to the
+mailing list w3-beta@indiana.edu --- this is where the brave souls who
+beta test the latest versions of Emacs/W3 reside, and are generally
+very responsive to bug reports.
+
+Please make sure to use the bug submission feature of Emacs/W3, so
+that all relevant information will be sent along with your bug report.
+By default this is bound to the `w' key when in an Emacs/W3 buffer, or
+you can use 'M-x w3-submit-bug' from anywhere within Emacs.
+
+For problems that are causing emacs to signal and error, please send a
+backtrace.  You can get a backtrace by 'M-x set-variable RET
+debug-on-error RET t RET', and then reproduce the error.
+
+If the problem is visual, please capture a copy of the output and mail
+it along with the bug report (preferably as a MIME attachment, but
+anything will do).  You can use the @code{xwd} program under X-windows
+for this, or @key{Alt-PrintScreen} under Windows 95/NT.  Sorry, but I
+don't remember what the magic incarnation is for doing a screen dump
+under NeXTstep or OS/2.
+
+If the problem is actually causing Emacs to crash, then you will need
+to also mail the maintainers of the various Emacs distributions with
+the bug.  Please use the 'gnu.emacs.bug' newgroup for reporting bugs
+with GNU Emacs, and 'comp.emacs.xemacs' for reporting bugs with
+XEmacs.  I am actively involved with the beta testing of the latest
+versions of both branches of Emacs, and if I can reproduce the
+problem, I will do my best to see it gets fixed in the next release.
+
+It is also important to always maintain as much context as possible in
+your responses.  I get so much email from my various Emacs-activities
+and work, that I cannot remember everything.  If you send a bug
+report, and I send you a reply, and you reply with 'no that didn't
+work', then odds are I will have no clue what didn't work, much less
+what that was trying to fix in the first place.  It will be much
+quicker and less painful if I don't have to waste a round-trip email
+exchange saying 'what are you talking about'.
+1999-01-08  William M. Perry  <wmperry@aventail.com>
+
+* lisp/docomp.el (emacs-build-autoloads): Only do the autoloads one way
+  for Emacs or XEmacs.
+
+1999-01-07  William M. Perry  <wmperry@aventail.com>
+
+* build.bat: More tweaking of finding EMACSDIR automatically.
+
+* lisp/w3-vars.el (w3-mode-map): Don't use read-kbd-macro
+
+1999-01-05  William M. Perry  <wmperry@aventail.com>
+
+* build.bat: Make sure that we build the autoload files under windows.
+  Easier setting of the environment variables.  Also can now pass in
+  EMACSDIR on the command line.
+
+* lisp/docomp.el (byte-compile-dest-file): Downcase file names if we are
+  in windows of any flavor.  Sometimes we get foo.EL instead of foo.el and 
+  we were just naming the output file foo.EL.elc
+  (compile-it): Make sure we get *.EL from directory-files as well.
+  (emacs-build-autoloads): Ditto.  %!@!ing windows file systems.
+  (emacs-build-autoloads): Deal with Emacs or XEmacs way of rebuilding
+  autoloads in lisp instead of relying on autoconf.  This will make
+  everything much happier under windows.
+
+1999-01-04  William M. Perry  <wmperry@aventail.com>
+
+* Makefile.in (dotemacs): Wrap the require we stick into $(DOTEMACS) in a
+  `condition-case' for people that share their setups between emacsen or
+  machines with different installed packages.
+
+* lisp/w3-forms.el (w3-form-encode-xwfu): Don't forget to deal with the
+  new attributes if we are doing just a plain old form submission!
+
+1999-01-04  Milan Zamazal <pdm@freesoft.cz>
+
+* lisp/w3-forms.el (w3-submit-form): Correctly shorten the separator
+  generated... was including too few characters.
+  (w3-form-encode-helper): Added ability to specify additional attributes
+  for the `file' input type so that we can keep track of the filename.
+  (w3-form-encode-make-mime-part): Create content-disposition header
+  instead of content-id and content-length
+  (w3-form-encode-multipart/x-www-form-data): Use CRLF instead of just LF
+  for separators.
+  (w3-form-encode-multipart/x-www-form-data): Don't forget to add in the
+  separator at the end of the message.
+
+1998-01-04  William M. Perry  <wmperry@aventail.com>
+
+* lisp/w3-forms.el (w3-form-encode-multipart/x-www-form-data): Better
+  separator generation.
+
+1999-01-04  Laurent Martelli <martelli@iie.cnam.fr>
+
+* lisp/w3-hotindex.el: Added autoload statements.
+
+1999-01-04  Kenichi Handa  <handa@etl.go.jp>
+
+* lisp/Makefile.in (w3-auto.el): Generate w3-auto.el from
+  auto-autoloads.el just build in the current directory.
+
+1998-12-31  William M. Perry  <wmperry@aventail.com>
+
+* lisp/font.el: Various mergings with the XEmacs distributed version of
+  font.el.  Lots of byte-compile warnings squashed when not building with
+  Emacs/W3.
+
+1998-12-31  Jonathan Harris  <jhar@tardis.ed.ac.uk>
+
+* font.el: Split font-family-mappings into X and mswindows-specific
+  versions.  mswindows-font-create-[object|name]: Treat supplied size as a
+  pointsize. Added underline and strikethru handling.
+
+1998-12-30  William M. Perry  <wmperry@aventail.com>
+
+* lisp/url.el (url-file-exists): If url-user is nil use anonymous ftp.
+  (url-file-size): Ditto.
+
+* lisp/w3.el (w3-find-this-file): Protect against sticking 'nil@' in the
+  filename spec when we go to retrieve something.
+
+1998-12-30  Milan Zamazal <pdm@pvt.net>
+
+* lisp/url-auth.el (url-basic-auth): Make sure to use base64-encode-string 
+  instead of base64-encode to work with new Emacs/XEmacs that have native
+  base64 encoding/decoding primitives.
+
+1998-12-29  William M. Perry  <wmperry@aventail.com>
+
+* Emacs/W3 4.0pre38 released
+
+* lisp/url.el (url-file-attributes): use 'anonymous' instead of 'ftp' as
+  the username if none specified.
+
+1998-12-29  Markus Rost  <markus.rost@mathematik.uni-regensburg.de>
+
+* url.el (url-file-attributes): If url-user is nil use anonymous ftp.
+
+1998-12-29  William M. Perry  <wmperry@aventail.com>
+
+* lisp/mule-sysdp.el (mule-detect-coding-version): Doh - make sure we
+  don't blow up in XEmacs w/Mule when making sure we have a valid coding
+  system.
+
+* Emacs/W3 4.0pre37 released
+	
+* lisp/socks.el (socks-find-route): Fixed bug where we would not honor the
+  '!' at the front of the regexp to mean _do_ redirect the connection.  I
+  need to finish the socks-redirection-rules stuff sometime soon.
+
+* lisp/mule-sysdp.el (mule-detect-coding-version): Put back in the
+  ultra-anal checks to make sure that what detect-coding-region and
+  friends find is actually a coding system.  Apparently the bug where
+  bizarre combinations of CRLF and LF separators in a file make Emacs 20.3
+  return a number as a coding system is back.  Bug reported to the Emacs
+  maintainers.
+
+1998-12-28  Milan Zamazal <pdm@freesoft.cz>
+
+* lisp/mm.el (mm-possible-viewers): Don't reverse exact & wildcard when
+  concatenating them.  Reason: `mm-mime-data' contains mailcap entries in
+  the opposite order than they are in the mailcap file.  The function
+  `mm-possible-viewers' should return found items in the opposite order
+  again, so that the first viewer from the mailcap was invoked.  The patch
+  ensures this.
+
+* lisp/mm.el (mm-mime-data-default): New variable that holds all the
+  defaults.  mm-mime-data now holds _only_ the user supplied viewers.
+
+* lisp/mm.el (mm-mime-info): Give preference to things found in
+  mm-mime-data (the user stuff) and then fall back onto
+  mm-mime-data-default.
+
+* lisp/url-http.el (url-parse-viewer-types): Apply both mm-mime-data and
+  mm-mime-data-default when building the acceptable viewer list.
+
+1998-12-28  William M. Perry  <wmperry@aventail.com>
+
+* lisp/w3-display.el (w3-prepare-buffer): Use an unwind-protect form
+  around w3-draw-tree.  This means that even if something in the drawing
+  causes an error, the buffer will still be thrown into w3-mode
+  (w3-region): Make w3-region interactive and give it a doc string.
+  (w3-pause): Mark the buffer as temporarily read-only, so that
+  self-inserting keystrokes will signal an error, which will be caught and 
+  ignored by the condition-case.
+  (w3-widget-buffer): New function to get the buffer a widget is in.
+  (w3-widget-echo): Use it, since with Gnus, it is very likely that you
+  will be in a different buffer when you are mousing around the rendered
+  HTML.
+
+* lisp/url-file.el (url-file): Modify the filename in the URL if we are
+  actually visiting a directory without a trailing '/' or '\', and we do
+  the auto-find of the index.html file.
+
+* lisp/url.el (url-looks-like-html): New function that determines whether
+  a document looks like HTML or not.  This is for ancient HTTP/0.9
+  responses for things without a file extension (ie: /, /a/b/, etc)
+  (url-retrieve-internally): Use it if we cannot find a content-type any
+  other way.
+
+* lisp/url-cid.el: Try to avoid compile-time-errors when gnus' mm-decode
+  cannot be found.
+
+1998-12-26  William M. Perry  <wmperry@aventail.com>
+
+* lisp/url.el (url-expand-file-name): Make sure to normalize the 'default' 
+  value before we get to the point of bailing out if we get the empty
+  string, otherwise the vector-ized version of the URL could sneak out,
+  and the 'nil' default case would screw us too.
+
+1998-12-26  Markus Rost  <markus.rost@mathematik.uni-regensburg.de>
+
+* w3-display.el (w3-display-get-cookie): No buffer-file-name for "
+  *cookie*" buffers.
+
+1998-12-26  William M. Perry  <wmperry@aventail.com>
+
+* lisp/base64.el: Added alias for base64-encode-string -> base64-encode
+  and base64-decode-string -> base64-decode, for compatibility with
+  Emacs/XEmacs with native base64 support.
+
+* lisp/w3-about.el: Use base64-encode-string instead of base64-encode, for 
+  compatibility with Emacs/XEmacs with native base64 support.
+
+1998-12-25  William M. Perry  <wmperry@aventail.com>
+
+* lisp/url-ldap.el: New file to implement LDAP support ala RFC2255
+
+* lisp/url.el (url-do-setup): Register the LDAP URL handler if the feature 
+  is present.
+
+* Emacs/W3 4.0pre36 released
+
+* lisp/url.el (url-default-expander): Make sure that we remove any query
+  strings from the URL before we remove relative links.
+  (url-remove-relative-links): Tack on a trailing '/' if necessary so that 
+  we don't fail any URL parsing tests on things like 'g/.', which should
+  be normalized to just 'g/'
+
+1998-12-24  William M. Perry  <wmperry@aventail.com>
+
+* lisp/url-cookie.el (url-cookie-host-can-set-p): Fixed cookie
+  vulnerability as described in
+  http://www.paradise.net.nz/~glineham/cookiemonster.html
+
+1998-12-23  Markus Rost  <markus.rost@mathematik.uni-regensburg.de>
+
+* w3-menu.el (w3-menu-initialize-w3-mode-menu-map): Block also
+  the global menubar entry [menubar mule].
+
+1998-12-23  William M. Perry  <wmperry@aventail.com>
+
+* lisp/w3-cus.el (w3-force-conversion-alist): Mixed mismatched custom type
+  (w3-default-stylesheet): Ditto.
+  (w3-html-errors-font-lock-keywords): Ditto.
+  (w3-default-configuration-file): Ditto.
+  (w3-modeline-format): Ditto.
+
+1998-12-22  William M. Perry  <wmperry@aventail.com>
+
+* Emacs/W3 4.0pre35 released
+
+* lisp/w3-display.el (w3-get-default-color): Function to get the default
+  foreground or background color, even if face-(fore|back)ground returns
+  nil, which it does under Emacs fairly often.  We fall back to getting
+  the colors out of the frame properties.  I think this is gross, but oh
+  well.
+  (w3-display-background-useless-p): Use it.
+  (w3-display-foreground-useless-p): Use it.
+
+* lisp/w3.el (w3-reload-document): Avoid using interactive spec 'Z', since 
+  it doesn't exist in older versions of Emacs (19.xx)
+
+* lisp/w3-parse.el (w3-parse-buffer): Add ',' to the `whitespace' at the
+  front of an attribute that we should skip over.  This is so that people
+  can do horrible nasty things like <input type="foo", name="bar"> and
+  still have it work.  Sometimes I feel so... unclean.
+
+* lisp/url-news.el (url-check-gnus-version): Use gnus-continuum-version if 
+  at all possible.  This way I will never have to add another string-match 
+  to the list of acceptable versions (at least not until another 15
+  releases of Gnus.
+
+1998-12-22  Dave Love <d.love@dl.ac.uk>
+
+* lisp/w3-display.el (w3-image-alt): Pay better attention to the alt
+  specified by the document.  Don't try to special case the empty string
+  so much.
+
+1998-12-22  William Perry  <wmperry@aventail.com>
+
+* lisp/css.el (css-parse): Wrap the calls to forward sexp in
+  condition-case so that an invalid stylesheet does not completely choke.
+
+1998-12-22  Milan Zamazal <pdm@pvt.net>
+
+* lisp/w3.el (w3-replace-invalid-chars): Make sure we tell replace-regexp
+  to be 'literal' so that somet hings in the invalid chars table don't
+  signal an error (ie: S\\v was looking for the regexp quote match, etc)
+
+1998-12-22  William Perry  <wmperry@aventail.com>
+
+* lisp/w3-display.el (w3-display-table): Backed out old change to use less 
+  space for borderless tables - it was screwing up spacing at the
+  beginning of celles.
+
+1998-12-22  Thierry Emery <Thierry.Emery@nmu.alcatel.fr>
+
+* lisp/url.el (url-expand-file-name): Do not remove blanks from target
+  anchors (#xxx).
+
+1998-12-21  William M. Perry  <wmperry@aventail.com>
+
+* lisp/docomp.el: If WIDGETDIR is not set, or set to `no', then scream and 
+  bitch and die, to avoid more arcane errors later on.
+  (emacs-build-custom-load): Try to work around emacs19 that doesn't have
+  cus-dep installed.
+
+* lisp/w3.el (w3-fetch): Avoid use of with-current-buffer, since it
+  doesn't exist in Emacs 19.xx 
+  (w3-convert-code-for-mule): Finished rename to mule-coding-system-p
+
+1998-12-20  Bertil Askelid <bertil@ioc.net>
+
+* lisp/w3-mouse.el: Don't bind mouse-movement unless w3-track-mouse is
+  set.
+
+1998-12-19  William M. Perry  <wmperry@aventail.com>
+
+* Emacs/W3 4.0pre34 released
+
+* lisp/mule-sysdp.el (mule-coding-system-p-version): Renamed and fixed
+  mule-coding-system-p for non-MULE Emacs/XEmacs.
+
+1998-12-18  Kenichi Handa  <handa@etl.go.jp>
+
+* lisp/mule-sysdp.el (mule-coding-system-p-version): New function.
+  (mule-coding-system-version): Use mule-coding-system-p-version.
+  (mule-detect-coding-version): Likewise.
+  (mule-invalid-char-coding-systems): Change iso-latin-1 to iso-8859-1.
+  (mule-coding-system-with-invalid-chars): Check mule-sysdep-version
+  for XEmacs.
+
+* lisp/w3.el (w3-convert-code-for-mule): Use mule-coding-system-p-version.
+  (w3-coding-system-for-mime-charset): Likewise.
+
+1998-12-19  William M. Perry  <wmperry@aventail.com>
+
+* configure.in: Ditto
+
+* aclocal.m4: Added appropriate magic to run autoconf whenever aclocal.m4
+  is modified.
+
+1998-12-18  William M. Perry  <wmperry@aventail.com>
+
+* lisp/Makefile.in: No longer include auto-autoloads.el and custom-load in 
+  the distribution.  We can rebuild it anywhere now.
+
+* aclocal.m4 (AC_CHECK_CUSTOMLOADS): Use the new functions in the
+  appropriate place.
+  (EMACS_REBUILD_AUTOLOADS): Ditto.
+
+* lisp/docomp.el (emacs-build-custom-load): New function to build
+  custom-load.el under Emacs.
+  (emacs-build-autoloads): Ditto for the auto-autoloads.el file.
+
+1998-12-15  Kenichi Handa  <handa@etl.go.jp>
+
+* lisp/Makefile.in (.el.elc): Set shell variable W3SRCDIR to $(srcdir).
+
+* lisp/docomp.el (load-path): Check shell variable W3SRCDIR.
+
+* lisp/w3.el (w3-convert-code-for-mule): Call
+  mule-coding-system-with-invalid-chars.
+ (w3-coding-system-with-invalid-chars): This function deleted.
+
+* lisp/mule-sysdp.el (w3-mime-charset-coding-alist): Fix coding
+  system for Mule.
+  (mule-invalid-char-coding-systems): New variable.
+  (mule-coding-system-with-invalid-chars): New function.
+  (mule-write-region-no-coding-system): Fix argument of write-region for
+  Mule 2.3.
+ 
+1998-12-17  William M. Perry  <wmperry@aventail.com>
+
+* Emacs/W3 4.0pre32 released
+
+* lisp/font.el (font-x-font-regexp): Add a trailing dash to the
+  font-regexp.  For some reason Emacs 19.xx under 95/NT sticks a trailing
+  slash on the end.  This was the cause of the odd errors in
+  font-spatial-to-canonical since it was getting an empty font object
+  because the regexp failed to match.
+
+1998-12-16  William M. Perry  <wmperry@aventail.com>
+
+* lisp/w3.el (w3-coding-system-for-mime-charset): Make sure the
+  coding-system-p is defined before we use it.
+  (w3-convert-code-for-mule): Ditto.
+
+* Makefile.in (SUPPORTFILES): Now include 'BUGS' support file in the
+  distributions.
+
+1998-12-16  Simon Josefsson <jas@pdc.kth.se>
+
+* lisp/mm.el (mm-parse-mailcaps): More protection against badly formed
+  MAILCAPS variable.
+
+1998-12-16  William M. Perry  <wmperry@aventail.com>
+
+* lisp/w3-cus.el (w3-bullets): Fixed customization type for this option.
+  Would lead to mismatches in customize buffers.  Ick!
+  (w3-maximum-line-length): Ditto.
+
+1998-12-08  Ken'ichi HANDA <handa@etl.go.jp>
+
+* lisp/mule-sysdp.el (mule-detect-coding-version): Check that
+  mule-sysdep-version is a number before comparing it to one.  Under
+  XEmacs it is a symbol `xemacs'.
+
+1998-12-03  William M. Perry  <wmperry@aventail.com>
+
+* Updated all copyright dates and now specify that this _is_ a
+  part of Emacs, since it soon will be.  Maybe.  If I get ambitious.  what 
+  are the odds posted in vegas?
+
+* lisp/w3-display.el (w3-display-infer-contrasting-color): New function to 
+  chooise black or white as an appropriate color if the author of an HTML
+  page was stupid enough to do something like: <body bgcolor="white"> (ie: 
+  not specifying the foreground color as well).  If this conflicts with
+  the users foreground, the text used to be invisible.  Now it will be
+  whichever contrasts best (black on mint cream, white on dark red, etc)
+  (w3-display-node): If the foreground specified conflicts with the users' 
+  background, ignore it.
+  (w3-display-node): If the background specified conflicts with the users' 
+  foreground, infer an appropriate foreground.
+
+* Emacs/W3 4.0pre31 released
+
+* configure.in (CIDFILE): Stop spitting out a warning about
+  multipart/related stuff if we can't find Gnus at configure time.  We're
+  hacking around it in a different way now.
+
+* lisp/Makefile.in (URLSOURCES): Add url-cid.el into the definition via
+  configure substitutions ONLY.  It will still get installed because we
+  stick it in EXTRAS.  This means 1 extra file copy at install time, but
+  who cares?  The file isn't that large.
+
+* lisp/url-cid.el: New file to contain the content-id handling stuff,
+  because we cannot compile this file unless we can find a very recent
+  version of Gnus at compile time (without .emacs).
+
+* etc/default.css: Use the newer @media tags instead of @x*emacs so that
+  everything will work right with the new Emacs redisplay.
+
+* lisp/css.el (css-active-device-types): Added new @media tags.
+  multifont is now defined if the Emacsen we are running in can display
+  multiple font families and sizes correctly (new emacs redisplay or
+  XEmacs), and unifont if it cannot.
+
+* lisp/font.el (font-set-face-font-new-redisplay): New function for
+  dealing with the new Emacs redisplay font abstraction.  You can now beat 
+  the crap out of the new redisplay engine with Emacs/W3.  Ahh, feels like 
+  the heady old days of Lucid Emacs 19.10 and XEmacs 19.12.
+
+1998-12-02  Simon Josefsson <jas@pdc.kth.se>
+
+* lisp/mm.el (mm-parse-mailcaps): Deal gracefully with bad entries in the
+  MAILCAP list, or it would bug out with things like 'file:' where it
+  would try to open the current directory.
+
+1998-11-29  William M. Perry  <wmperry@aventail.com>
+
+* lisp/docomp.el (load-path): Append the GNUSDIR environment variable to
+  the load-path, similar to how we deal with WIDGETDIR
+
+* INSTALL: Document the new --with-gnus arguments.
+
+* configure.in: Use AC_CHECK_GNUS and spit out appropriate warnings about
+  cid URLS not working when appropriate.
+
+* aclocal.m4 (AC_CHECK_GNUS): Try to find mm-get-content-id in mm-decode
+  for newer gnus releases that can handle the content-id stuff.  Also
+  added new configure switch '--with-gnus=/path/to/gnus/lisp/dir' to
+  override this, similar to how the custom stuff works.
+
+* lisp/url-misc.el (url-cid-gnus): Try to load mm-decode at compile time.
+  (url-cid-gnus): Fixed some compilation warnings.
+
+* lisp/url.el (url-cid): Ooops - forgot to add an autoload for url-cid
+
+* Emacs/W3 4.0pre30 released
+
+* lisp/url.el (url-do-setup): Duh, forgot to register the CID handler.
+  Good thing lars was doing it too.
+
+* Emacs/W3 4.0pre29 released
+
+* lisp/url-misc.el (url-cid): New URL handler for dealing with content-id
+  based references.  Able to be extended for different mail/news readers.
+  Need to coordinate with Lars and Kyle on exactly how to determine which
+  UA is invoking us, so we don't try and use Gnus functions when VM is
+  giving us the data, etc.
+  (url-cid-gnus): First implementation of CID retrieval for Pterodactyl
+  Gnus.
+
+* lisp/w3-display.el (w3-finalize-image-download): Make sure we call
+  url-uncompress in w3-finalize-image-download, or content-id and data URL 
+  based images won't get uncompressed correctly.  Arguably this should be
+  done in url-default-callback, but I'm not sure what that would fubar
+  right now.
+
+* lisp/w3-parse.el (w3-parse-buffer): Changed regexp for handling
+  NET-enabling start tags to be not so restrictive.  I don't think this
+  will have any negative side-effects
+
+1998-11-28  William M. Perry  <wmperry@aventail.com>
+
+* Emacs/W3 4.0pre28 released
+
+1998-11-23  Thierry Emery <Thierry.Emery@nmu.alcatel.fr>
+
+* lisp/mule-sysdp.el
+  (w3-mime-charset-coding-alist): completed and reordered;
+  (mule-detect-coding-version): removed MIME type parsing (already done in
+  w3-sentinel) and moved use of w3-mime-charset-coding-alist to
+  w3-coding-system-for-mime-charset;
+
+* lisp/w3.el
+  (w3-convert-code-for-mule): added call to w3-coding-system-for-mime-charset
+  for handling specified MIME charset;
+  (w3-coding-system-for-mime-charset): code moved from
+  mule-detect-coding-version, which uses w3-mime-charset-coding-alist;
+  (w3-sentinel): moved downcase of MIME type and charset to
+  w3-convert-code-for-mule call arguments and generalized it to encoding;
+  replaced hacking out "x-" in MIME charsets with proper reference to
+  w3-mime-charset-coding-alist in w3-coding-system-for-mime-charset.
+
+1998-11-20  Ken'ichi HANDA <handa@etl.go.jp>
+
+* lisp/w3.el
+  (w3-explicit-coding-system): new variable for user-specified coding system
+  on C-u [w3-reload-document];
+  (w3-convert-code-for-mule, w3-reload-document): added handling of
+  w3-explicit-coding-system.
+
+1998-11-24  Kenichi Handa  <handa@etl.go.jp>
+
+* lisp/mule-sysdp.el (mule-sysdep-version): Check the mule version
+  correctly.
+  (mule-coding-system-version): New function.
+  (w3-mime-charset-coding-alist): New variable.
+  (w3-url-domain-language-environment-alist): New variable.
+  (w3-url-domain-coding-alist): New variable.
+  (mule-retrieval-coding-system): Call mule-coding-system-version.
+  (mule-no-coding-system): Likewise.
+  (insert-file-contents-literally): Re-define this function for Mule
+  Ver.2.3.
+  (mule-detect-coding-version): Pay attention to
+  w3-mime-charset-coding-alist,
+  w3-url-domain-language-environment-alist, and
+  w3-url-domain-coding-alist.
+  (mule-code-convert-region): Change argument to CODE only.  If
+  default-enable-multibyte-characters is nil, does no code
+  conversion.
+
+* lisp/url-cache.el (url-store-in-cache): Write to a file with no
+  code conversion.
+
+* lisp/w3.el (w3-convert-code-for-mule): Call
+  mule-code-convert-version with one arg CODING-SYSTEM.
+
+1998-11-22  William M. Perry  <wmperry@aventail.com>
+
+* Emacs/W3 4.0pre27 released
+
+* lisp/w3.el (w3-mode): ditto
+
+* lisp/w3-display.el (w3-display-node): Make sure we don't try to
+  save/restore variables in w3-persistent-variables if they are not
+  'boundp'
+
+1998-11-20  Thierry Emery  <Thierry.Emery@nmu.alcatel.fr>
+
+* lisp/mule-sysdp.el
+  (mule-write-region-no-coding-system): added additional write-region arguments
+  and protections moved from w3-download-callback.
+
+* lisp/mm.el (mm-find-available-multiparts), lisp/url-cache.el
+  (url-store-in-cache), lisp/w3-display.el (w3-display-get-cookie,
+  w3-finalize-image-download), lisp/w3-latex.el (w3-show-dvi), lisp/w3-print.el
+  (w3-print-this-url), lisp/w3.el (w3-save-as, w3-download-callback):
+  use mule-write-region-no-coding-system.
+
+* lisp/url-vars.el, lisp/url-http.el (url-parse-mime-headers): added
+  url-current-mime-charset and url-mime-content-type-charset-regexp.
+
+* lisp/w3-cus.el (w3-force-conversion-alist): new user option, alist of URL
+  host/filename regexps and coding systems.
+
+* lisp/w3-vars.el
+  (w3-meta-content-type-charset-regexp, w3-meta-charset-content-type-regexp):
+  new variables for parsing <META Content-Type...> tag;
+
+  (w3-persistent-variables): added buffer-file-coding-system.
+
+* list/w3.el
+  (w3-mail-current-document): use buffer-file-coding-system or iso-8859-1;
+  (w3-compression-encodings, w3-no-conversion-encodings): new variables used to
+  inhibit conversion;
+  (w3-convert-code-for-mule): removed regexp matching on
+  w3-mime-list-for-code-conversion (replaced by downcase in w3-sentinel);
+  (w3-sentinel): switch to other window if in minibuffer, handle specified
+  charset (in MIME headers or META tag), handle w3-force-conversion-alist, hack
+  out "x-" in MIME charsets.
+
+1998-11-18  Kenichi Handa  <handa@etl.go.jp>
+
+* Makefile.in (Makefile): Correct the dependency.  Execute
+  config.status in the current directory.
+
+* etc/Makefile.in (install): If a file is not in the current
+  directory, install that file of the source directory.
+
+* lisp/Makefile.in (w3-auto.el): Update target in the current
+  directory.
+  (auto-autoloads.el): Do the work in $(srcdir).
+  (custom-load.el): Likewise.
+  (install): If a file is not in the current directory, install that
+  file of the source directory.
+
+* lisp/docomp.el (byte-compile-dest-file): New function for
+  writing out *.elc to the current directory.
+
+1998-09-26  Gareth Jones  <gdj1@gdjones.demon.co.uk>
+
+* lisp/w3-vars.el: defvar'ed w3-current-buffer.
+
+* lisp/w3.el (w3-fetch): set w3-current-last-buffer for reused URLs.
+  (w3-pass-to-viewer): set w3-current-last-buffer to w3-current-buffer.
+  (w3-fetch): bind w3-current-buffer to (current-buffer).
+        Make history work with url-be-asynchronous t.	
+
+1998-09-25  Gareth Jones  <gdj1@gdjones.demon.co.uk>
+
+* lisp/w3-vars.el (w3-mode-map): Bind [backspace] to scroll-down.	
+
+1998-09-09  Gareth Jones  <gdj1@gdjones.demon.co.uk>
+
+* lisp/w3-emulate.el (w3-lynx-emulation-minor-mode-map): Corrected C-f
+  to be `scroll-up', added bindings for C-b, C-n and C-p.
+
+* lisp/w3-cus.el (w3-latex-use-latex2e): Documentation fix.  LaTeX
+  "generator" makes more sense than "parser".
+
+* lisp/url.el (url-do-setup): ditto for url-cookie-file and
+  url-global-history-file.	
+
+* lisp/url-cache.el (url-cache-directory): use w3-configuration-directory
+  rather than hardwire "~/.w3/"
+
+* lisp/url-news.el (url-nntp): fixed call to url-news-fetch-newsgroup with
+  only one argument.
+  (url-check-gnus-version): Added Pterodactyl Gnus to the list of
+  acceptable Gnusen.
+
+* lisp/url-mail.el (url-mailto): url-mailto would not handle %3F (`?')
+  in addresses because url-unhex-string changed match-end.
+  Added support for "body" hname.  Emit style warning for <mailto:/.*>.
+
+1998-10-29  William Perry  <wmperry@aventail.com>
+
+* lisp/w3-display.el (w3-region): Make me autoloaded.
+
+1998-10-28  William M. Perry  <wmperry@aventail.com>
+
+* lisp/mule-sysdp.el (mule-code-convert-region): Try to avoid lossage when 
+  point-max changes due to a set-buffer-multibyte operation.
+
+1998-10-28  Laurent Martelli <martelli@iie.cnam.fr>
+
+* Patches to add hotindex support.  It's a patch to W3/Emacs allowing you
+  to associate keywords to your  hotlist  entries.  You can then query
+  for  the entries matching a keyword. I  did  this because  I find it
+  hard  to find  a particular bookmark when  you more than  a hundred,
+  even with hotlist-apropos. And I think  that folders and subfolders
+  are not  very convenient because  an entry usually belongs to more
+  than one folder.
+
+1998-10-26  William M. Perry  <wmperry@aventail.com>
+
+* Emacs/W3 4.0pre25 released
+
+* lisp/w3-display.el (w3-get-all-face-info): Fixed stupid problem where
+  w3-user-fonts-take-precedence was being used backwards!
+
+* Emacs/W3 4.0pre24 released
+
 1998-07-18  SL Baur  <steve@altair.xemacs.org>
 
 	* lisp/w3-cfg.el: added to XEmacs distribution.
 option, `configure' will try to figure out where an acceptable version 
 of custom and widget are installed.
 
+If you had to install Gnus in a non-standard place, specify
+`--with-gnus=DIR'.  If you omit this option, `configure' will try to
+figure out where an acceptable version of Gnus is installed.  The
+Content-ID (CID) URL handling relies on a recent version of Gnus, but
+the rest of Emacs/W3 can function with any version of Gnus later than
+5.0.
+
 If you prefer not to use the GNU `makeinfo' program if it is
 available, specify `--with-makeinfo=no'.  This will cause the info
 files to be built using Emacs.
 # the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 # Boston, MA 02111-1307, USA.
 
-VERSION = 1.11
-AUTHOR_VERSION = 4.0pre23
+VERSION = 1.12
+AUTHOR_VERSION = 4.0pre39
 MAINTAINER = XEmacs Development Team <xemacs-beta@xemacs.org>
 PACKAGE = w3
 PKG_TYPE = regular
 	lisp/url-gopher.elc lisp/url-gw.elc lisp/url-http.elc \
 	lisp/url-irc.elc lisp/url-mail.elc lisp/url-misc.elc \
 	lisp/url-news.elc lisp/url-nfs.elc lisp/url-ns.elc lisp/url-parse.elc \
-	lisp/url-vars.elc lisp/url.elc lisp/w3-about.elc lisp/w3-auto.elc \
+	lisp/url-vars.elc lisp/url.elc lisp/url-ldap.elc lisp/url-cid.elc \
+	lisp/w3-about.elc \
 	lisp/w3-cus.elc lisp/w3-display.elc lisp/w3-e19.elc lisp/w3-e20.elc \
 	lisp/w3-elisp.elc lisp/w3-emulate.elc lisp/w3-forms.elc \
-	lisp/w3-hot.elc lisp/w3-imap.elc lisp/w3-jscript.elc \
+	lisp/w3-hot.elc lisp/w3-hotindex.elc lisp/w3-imap.elc \
+	lisp/w3-jscript.elc \
 	lisp/w3-keyword.elc lisp/w3-latex.elc lisp/w3-menu.elc \
 	lisp/w3-mouse.elc lisp/w3-parse.elc \
 	lisp/w3-print.elc lisp/w3-props.elc lisp/w3-script.elc \
-	lisp/w3-speak.elc lisp/w3-style.elc lisp/w3-sysdp.elc \
+	lisp/w3-speak.elc lisp/w3-speak-table.elc lisp/w3-style.elc \
+	lisp/w3-sysdp.elc \
 	lisp/w3-toolbar.elc lisp/w3-vars.elc lisp/w3-widget.elc \
 	lisp/w3-xemac.elc lisp/w3.elc lisp/w3-cfg.elc
 EXTRA_SOURCES = HOWTO INSTALL README README.NT README.VMS TODO
 TEXI_FILES = texi/w3-faq.txi texi/w3.txi
 MANUAL = w3-faq w3
 
+WIDGETDIR = .
+
 AUTOLOAD_PATH = lisp
 
 include ../../XEmacs.rules
 
 GENERATED += lisp/custom-load.elc
 
-PRELOADS = -eval "(push \"`pwd`/lisp/\" load-path)" -l cl-macs -l cus-face -l docomp -l w3-vars.el
+#PRELOADS = -eval "(push \"`pwd`/lisp/\" load-path)" -l cl-macs -l cus-face -l docomp -l w3-vars.el
+#	-eval "(progn (require 'env) (setenv \"WIDGETDIR\" \".\"))" \
+PRELOADS = -eval "(push \"`pwd`/lisp/\" load-path)" \
+	-l cl-macs -l docomp -l url-vars.el -l w3-vars.el
 
 all:: lisp/auto-autoloads.el $(ELCS) lisp/auto-autoloads.elc lisp/custom-load.elc texi/w3.info texi/w3-faq.info stylesheet
 
 
 all:	w3 info
 
-w3 fast:
+w3:
+	cd lisp && $(MAKE) $@
+
+fast: info
 	cd lisp && $(MAKE) $@
 
 html info dvi:
 		(echo >> $(DOTEMACS)); \
 		(echo ";;; Emacs/W3 Configuration" >> $(DOTEMACS)); \
 		(echo "(setq load-path (cons \"$(lispdir)\" load-path))" >> $(DOTEMACS)); \
-		(echo "(require 'w3-auto \"w3-auto\")" >> $(DOTEMACS)); \
+		(echo "(condition-case () (require 'w3-auto \"w3-auto\") (error nil))" >> $(DOTEMACS)); \
 		echo "Added Emacs/W3 setup to $(DOTEMACS)"; \
 	fi
 
-Makefile: Makefile.in $(srcdir)/config.status
-	( cd $(srcdir) ; CONFIG_FILES=Makefile ./config.status )
+Makefile: $(srcdir)/Makefile.in ./config.status
+	( cd . ; CONFIG_FILES=Makefile ./config.status )
 
-$(srcdir)/configure: configure.in aclocal.m4
-	cd $(srcdir) && autoconf
+$(srcdir)/configure: $(srcdir)/configure.in $(srcdir)/aclocal.m4
+	cd $(srcdir) && autoreconf
 
-$(srcdir)/config.status: configure
-	cd $(srcdir) && ./config.status --recheck
+./config.status: $(srcdir)/configure
+	cd . && ./config.status --recheck
 
 ###############################################################################
 # Distribution building, the joy of my life
 ###############################################################################
-SUPPORTFILES =  HOWTO TODO README INSTALL README.NT README.VMS
+SUPPORTFILES =  HOWTO TODO README INSTALL README.NT README.VMS BUGS
 DISTFILES    =  configure.in aclocal.m4 Makefile.in install-sh	\
 		configure descrip.mms ChangeLog	build.bat 	\
 		$(SUPPORTFILES)
-This directory tree holds version p4.0pre.23 of Emacs/W3, the fully
+This directory tree holds version p4.0pre.39 of Emacs/W3, the fully
 customizable, largely undocumented web browser for Emacs.
 
 You may encounter bugs in this release.  If you do, please report
 BUGS (4.0):
-- need to support HTTP/0.9 (http://c2.com:8080) responses
-- /etc/mailcap cannot overide builtin mm-mime-data stuff?
-- try to protect people from using '~' in file URLs
-- keystrokes entered while in w3-pause self-insert under XEmacs - the
-  loop around dispatch-event needs to be smarter about what it
-  swallows.
+- trim down w3-sysdp.el to be just the stuff it really needs
 - border-color can have multiple color specifications, but we
   currently choke with 'args out of range' when we see this.
 - widget appears to be stealing button3 to mean 'activate' - this is
   bogus!  We lose all context-sensitive menus because of this.
 - We still seem to be growing the line size under Emacs 19.x/20.x
-- It would be really nice if w3 buffers were put into w3-mode as soon
-  as they were created. Then if the rendering craps out somehow then
-  the buffer could be browsed such as it was. Ideally, links and
-  widgets would be functional.
 - document how to translate Netscape foo.pac files to emacs lisp
-- Should we stop using reporter.el?
 
 BUGS (4.1):
 - background colors are not heeded on table rows (<tr>).  Same
   able to use imagemaps in different files, any position, etc, etc.
 
 FEATURES (4.1)
+- More tweaks to the hotindex stuff from Laurent Martelli <martelli@iie.cnam.fr>
+    + Ask  to delete unresolved  entries.  Right now, keywords are
+    associated to hotlist entries on the basis of entry names.  It
+    means  that if you  rename  an  entry with a  hotindex-unaware
+    W3/Emacs, hotindex will refuse  work. Same thing if you delete
+    an entry. Of course, it would really be better to use the href
+    instead of the entry name.
+
+    +  Keywords weighting :  it  would be  nice to give  different
+    weight to keywords  in  order to  precise the  relevance  of a
+    keyword for a document. Query results woudl  then be sorted by
+    relevance.
+
+    +  Hotindex file  sharing  :  wouldn't it  be   nice  to share
+    keywords files with your friends? Ideally,  one should be able
+    to specify a list of keywords file to search in. Entries found
+    in the first files would match  better than those found at the
+    end. 
+
+    + Automatically add  keywords found in  meta  tags and procide
+    additional methods to automatically index documents.
+
+    * Multi keyword search
+- w3-(un)?plugged, w3-toggle-plugged to control url-standalone-mode in
+  a convenient, user-friendly way.
+- Nice custom-y way to create an HTTP request.  This would allow
+  people to use HTTP PUT to upload documents to HTTP servers, etc.
 - cache a formatted version of documents, with enough info to recreate
   the widgets in them.
-- w3-preview-region command
-- LDAP support (XEmacs)
-- New proxy type for sending requests via mail to a mail->web->mail gateway.
+- keystrokes and supporting infrastructure to prefetch URLs from
+  within a document that you are likely to read next.  Don't even parse
+  or render them David Kastrup <dak@neuroinformatik.ruhr-uni-bochum.de>
 - Emacspeak Interaction
   - some way of specifying in a stylesheet whether certain text is
     inaudible.  use the 'inaudible text property for this.
 ])
    AC_ARG_WITH(custom,           --with-custom             Specify where to find the custom package, [ EMACS_cv_ACCEPTABLE_CUSTOM=`( cd $withval && pwd || echo "$withval" ) 2> /dev/null` ])
    CUSTOM=${EMACS_cv_ACCEPTABLE_CUSTOM}
+   AC_SUBST(CUSTOM)
    AC_MSG_RESULT("${CUSTOM}")
 ])
 
 dnl
-dnl Figure out how we can rebuild the auto-autoloads.el files
+dnl Perform sanity checking and try to locate the gnus package
 dnl
-AC_DEFUN(AC_CHECK_AUTOLOADS, [
-AC_MSG_CHECKING(how to rebuild autoloads)
-AC_CACHE_VAL(EMACS_cv_REBUILD_AUTOLOADS,[
-AC_EMACS_CHECK_LIB(autoload,batch-update-directory,"noecho")
-EMACS_cv_REBUILD_AUTOLOADS=${HAVE_autoload}
+AC_DEFUN(AC_CHECK_GNUS, [
+AC_MSG_CHECKING(for recent gnus version)
+AC_CACHE_VAL(EMACS_cv_ACCEPTABLE_GNUS,[
+AC_EMACS_CHECK_LIB(mm_decode, mm-get-content-id,"noecho")
+if test "${HAVE_mm_decode}" = "yes"; then
+	EMACS_cv_ACCEPTABLE_GNUS=yes
+else
+	EMACS_cv_ACCEPTABLE_GNUS=no
+fi
+
+if test "${EMACS_cv_ACCEPTABLE_GNUS}" = "yes"; then
+	AC_EMACS_LISP(gnus_dir,(file-name-directory (locate-library \"mm-decode\")),"noecho")
+	EMACS_cv_ACCEPTABLE_GNUS=$EMACS_cv_SYS_gnus_dir
+fi
 ])
-if test "${EMACS_cv_REBUILD_AUTOLOADS}" != "no"; then
-   REBUILD_AUTOLOADS='$(EMACS) $(BATCHFLAGS) -eval "(setq autoload-package-name \"w3\")" -l autoload -f batch-update-directory .'
-else
-   REBUILD_AUTOLOADS='touch auto-autoloads.el'
-fi
-AC_MSG_RESULT("${REBUILD_AUTOLOADS}")
-AC_SUBST(REBUILD_AUTOLOADS)
+   AC_ARG_WITH(gnus,           --with-gnus             Specify where to find the gnus package, [ EMACS_cv_ACCEPTABLE_GNUS=`( cd $withval && pwd || echo "$withval" ) 2> /dev/null` ])
+   GNUS=${EMACS_cv_ACCEPTABLE_GNUS}
+   AC_SUBST(GNUS)
+   AC_MSG_RESULT("${GNUS}")
 ])
 
 dnl
-dnl Figure out how we can rebuild the auto-autoloads.el files
+dnl Figure out how we can rebuild the custom-load.el files
 dnl
 AC_DEFUN(AC_CHECK_CUSTOMLOADS, [
 AC_MSG_CHECKING(how to rebuild custom autoloads)
 EMACS_cv_REBUILD_CUSTOMLOADS=${HAVE_cus_dep}
 ])
 if test "${EMACS_cv_REBUILD_CUSTOMLOADS}" != "no"; then
-   REBUILD_CUSTOMLOADS='$(EMACS) $(BATCHFLAGS) -l cus-dep -f Custom-make-dependencies .'
+   REBUILD_CUSTOMLOADS='$(EMACS) $(BATCHFLAGS) -l cus-dep -f Custom-make-dependencies $(srcdir)'
 else
-   REBUILD_CUSTOMLOADS='touch custom-load.el'
+   REBUILD_CUSTOMLOADS='$(EMACS) $(BATCHFLAGS) $(DEPS) -f emacs-batch-build-custom-load $(srcdir)'
 fi
 AC_MSG_RESULT("${REBUILD_CUSTOMLOADS}")
 AC_SUBST(REBUILD_CUSTOMLOADS)
 ])
+
+dnl (aclocal.m4) Local variables:
+dnl (aclocal.m4) eval: (make-local-hook 'kill-buffer-hook)
+dnl (aclocal.m4) eval: (defun w3-rebuild-configure-files () (if (file-newer-than-file-p (buffer-file-name) (expand-file-name "configure" (file-name-directory (buffer-file-name)))) (shell-command "autoreconf")))
+dnl (aclocal.m4) eval: (add-hook 'kill-buffer-hook 'w3-rebuild-configure-files nil t)
+dnl (aclocal.m4) End: ***
-set EMACS=emacs
-
-cd lisp
-copy w3-cfg.nt w3-cfg.el
-%EMACS% -batch -q -l ./docomp.el -f compile-it
+@echo off
+
+set FALLBACKEMACSDIR=c:\emacs
+
+REM This allows the user to specify the emacs root on the command
+REM line.
+set COMMANDLINEGIVEN=yes
+if "%1" == "" set COMMANDLINEGIVEN=no
+if "%COMMANDLINEGIVEN%" == "yes" set EMACSDIR=%1
+
+REM If no emacs directory is set in the default environment, use our
+REM fallback.
+if "%EMACSDIR%" == "" echo EMACSDIR not set!  Using %FALLBACKEMACSDIR% as a default...
+if "%EMACSDIR%" == "" set EMACSDIR=%FALLBACKEMACSDIR%
+
+set EMACS=%EMACSDIR%\bin\emacs.exe
+set WIDGETDIR=%EMACSDIR%\lisp
+set GNUSDIR=%EMACSDIR%\lisp
+
+cd lisp
+copy w3-cfg.nt w3-cfg.el
+%EMACS% -batch -q -l ./docomp.el -f emacs-batch-build-autoloads . auto-autoloads.el
+%EMACS% -batch -q -l ./docomp.el -f compile-it
+cd ..
 --with-lispdir            Where to install lisp files"
 ac_help="$ac_help
 --with-custom             Specify where to find the custom package"
+ac_help="$ac_help
+--with-gnus             Specify where to find the gnus package"
 
 # Initialize some variables set by options.
 # The variables have the same names as the options, with
 # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
 # ./install, which can be erroneously created by make from ./install.sh.
 echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
-echo "configure:569: checking for a BSD compatible install" >&5
+echo "configure:571: checking for a BSD compatible install" >&5
 if test -z "$INSTALL"; then
 
   IFS="${IFS= 	}"; ac_save_IFS="$IFS"; IFS="${IFS}:"
 # Extract the first word of "texi2html", so it can be a program name with args.
 set dummy texi2html; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:650: checking for $ac_word" >&5
+echo "configure:652: checking for $ac_word" >&5
 
 if test -n "$TEXI2HTML"; then
   ac_cv_prog_TEXI2HTML="$TEXI2HTML" # Let the user override the test.
 # Extract the first word of "xemacs", so it can be a program name with args.
 set dummy xemacs; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:676: checking for $ac_word" >&5
+echo "configure:678: checking for $ac_word" >&5
 
 if test -n "$EMACS"; then
   ac_cv_prog_EMACS="$EMACS" # Let the user override the test.
 # Extract the first word of "makeinfo", so it can be a program name with args.
 set dummy makeinfo; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:702: checking for $ac_word" >&5
+echo "configure:704: checking for $ac_word" >&5
 
 if test -n "$MAKEINFO"; then
   ac_cv_prog_MAKEINFO="$MAKEINFO" # Let the user override the test.
 # Extract the first word of "install-info", so it can be a program name with args.
 set dummy install-info; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:728: checking for $ac_word" >&5
+echo "configure:730: checking for $ac_word" >&5
 
 if test -n "$INSTALLINFO"; then
   ac_cv_prog_INSTALLINFO="$INSTALLINFO" # Let the user override the test.
 
   
   echo $ac_n "checking if $EMACS is really XEmacs""... $ac_c" 1>&6
-echo "configure:773: checking if $EMACS is really XEmacs" >&5
+echo "configure:775: checking if $EMACS is really XEmacs" >&5
   
 elisp="(if (string-match \"XEmacs\" emacs-version) \"yes\" \"no\") "
 if test -z ""noecho""; then
 	echo $ac_n "checking for xemacsp""... $ac_c" 1>&6
-echo "configure:778: checking for xemacsp" >&5
+echo "configure:780: checking for xemacsp" >&5
 fi
 
 
 
   if test "$prefix" = "NONE"; then
 	echo $ac_n "checking prefix for your Emacs""... $ac_c" 1>&6
-echo "configure:805: checking prefix for your Emacs" >&5
+echo "configure:807: checking prefix for your Emacs" >&5
 	
 elisp="(expand-file-name \"..\" invocation-directory)"
 if test -z ""noecho""; then
 	echo $ac_n "checking for prefix""... $ac_c" 1>&6
-echo "configure:810: checking for prefix" >&5
+echo "configure:812: checking for prefix" >&5
 fi
 
 
 fi
 
   echo $ac_n "checking where .elc files should go""... $ac_c" 1>&6
-echo "configure:836: checking where .elc files should go" >&5
+echo "configure:838: checking where .elc files should go" >&5
   if test -z "$lispdir"; then
         theprefix=$prefix
     if test "x$theprefix" = "xNONE"; then
 
 
 echo $ac_n "checking for emacs version""... $ac_c" 1>&6
-echo "configure:857: checking for emacs version" >&5
+echo "configure:859: checking for emacs version" >&5
 
 elisp="(and (boundp 'emacs-major-version) (format \"%d.%d\" emacs-major-version emacs-minor-version))"
 if test -z ""noecho""; then
 	echo $ac_n "checking for version""... $ac_c" 1>&6
-echo "configure:862: checking for version" >&5
+echo "configure:864: checking for version" >&5
 fi
 
 
 
 
 echo $ac_n "checking for acceptable custom library""... $ac_c" 1>&6
-echo "configure:885: checking for acceptable custom library" >&5
+echo "configure:887: checking for acceptable custom library" >&5
 
 
 
 if test -z ""noecho""; then
 	echo $ac_n "checking for widget-convert-text in widget""... $ac_c" 1>&6
-echo "configure:891: checking for widget-convert-text in widget" >&5
+echo "configure:893: checking for widget-convert-text in widget" >&5
 fi
 library=`echo widget | tr _ -`
 
 elisp="(progn (fmakunbound 'widget-convert-text) (condition-case nil (progn (require '$library) (fboundp 'widget-convert-text)) (error nil)))"
 if test -z ""noecho""; then
 	echo $ac_n "checking for widget""... $ac_c" 1>&6
-echo "configure:898: checking for widget" >&5
+echo "configure:900: checking for widget" >&5
 fi
 
 
 
 if test -z ""noecho""; then
 	echo $ac_n "checking for widget-convert-text in wid_edit""... $ac_c" 1>&6
-echo "configure:926: checking for widget-convert-text in wid_edit" >&5
+echo "configure:928: checking for widget-convert-text in wid_edit" >&5
 fi
 library=`echo wid_edit | tr _ -`
 
 elisp="(progn (fmakunbound 'widget-convert-text) (condition-case nil (progn (require '$library) (fboundp 'widget-convert-text)) (error nil)))"
 if test -z ""noecho""; then
 	echo $ac_n "checking for wid_edit""... $ac_c" 1>&6
-echo "configure:933: checking for wid_edit" >&5
+echo "configure:935: checking for wid_edit" >&5
 fi
 
 
 elisp="(file-name-directory (locate-library \"widget\"))"
 if test -z ""noecho""; then
 	echo $ac_n "checking for widget_dir""... $ac_c" 1>&6
-echo "configure:972: checking for widget_dir" >&5
+echo "configure:974: checking for widget_dir" >&5
 fi
 
 
 fi
 
    CUSTOM=${EMACS_cv_ACCEPTABLE_CUSTOM}
+   
    echo "$ac_t"""${CUSTOM}"" 1>&6
 
 
-echo $ac_n "checking how to rebuild autoloads""... $ac_c" 1>&6
-echo "configure:1003: checking how to rebuild autoloads" >&5
+echo $ac_n "checking for recent gnus version""... $ac_c" 1>&6
+echo "configure:1006: checking for recent gnus version" >&5
 
 
 
 if test -z ""noecho""; then
-	echo $ac_n "checking for batch-update-directory in autoload""... $ac_c" 1>&6
-echo "configure:1009: checking for batch-update-directory in autoload" >&5
+	echo $ac_n "checking for mm-get-content-id in mm_decode""... $ac_c" 1>&6
+echo "configure:1012: checking for mm-get-content-id in mm_decode" >&5
 fi
-library=`echo autoload | tr _ -`
+library=`echo mm_decode | tr _ -`
 
-elisp="(progn (fmakunbound 'batch-update-directory) (condition-case nil (progn (require '$library) (fboundp 'batch-update-directory)) (error nil)))"
+elisp="(progn (fmakunbound 'mm-get-content-id) (condition-case nil (progn (require '$library) (fboundp 'mm-get-content-id)) (error nil)))"
 if test -z ""noecho""; then
-	echo $ac_n "checking for autoload""... $ac_c" 1>&6
-echo "configure:1016: checking for autoload" >&5
+	echo $ac_n "checking for mm_decode""... $ac_c" 1>&6
+echo "configure:1019: checking for mm_decode" >&5
 fi
 
 
 	${EMACS} -batch -eval "(let ((x ${elisp})) (write-region (if (stringp x) (princ x) (prin1-to-string x)) nil \"${OUTPUT}\"))"  > /dev/null 2>&1 
 	retval=`cat ${OUTPUT}`
 	rm -f ${OUTPUT}
-	EMACS_cv_SYS_autoload=$retval
+	EMACS_cv_SYS_mm_decode=$retval
 
 
-autoload=${EMACS_cv_SYS_autoload}
+mm_decode=${EMACS_cv_SYS_mm_decode}
 if test -z ""noecho""; then
-	echo "$ac_t""$autoload" 1>&6
+	echo "$ac_t""$mm_decode" 1>&6
 fi
 
-if test "${EMACS_cv_SYS_autoload}" = "nil"; then
-	EMACS_cv_SYS_autoload=no
+if test "${EMACS_cv_SYS_mm_decode}" = "nil"; then
+	EMACS_cv_SYS_mm_decode=no
 fi
-HAVE_autoload=${EMACS_cv_SYS_autoload}
+HAVE_mm_decode=${EMACS_cv_SYS_mm_decode}
 
 if test -z ""noecho""; then
-	echo "$ac_t""$HAVE_autoload" 1>&6
+	echo "$ac_t""$HAVE_mm_decode" 1>&6
 fi
 
-EMACS_cv_REBUILD_AUTOLOADS=${HAVE_autoload}
+if test "${HAVE_mm_decode}" = "yes"; then
+	EMACS_cv_ACCEPTABLE_GNUS=yes
+else
+	EMACS_cv_ACCEPTABLE_GNUS=no
+fi
 
+if test "${EMACS_cv_ACCEPTABLE_GNUS}" = "yes"; then
+	
+elisp="(file-name-directory (locate-library \"mm-decode\"))"
+if test -z ""noecho""; then
+	echo $ac_n "checking for gnus_dir""... $ac_c" 1>&6
+echo "configure:1055: checking for gnus_dir" >&5
+fi
 
-if test "${EMACS_cv_REBUILD_AUTOLOADS}" != "no"; then
-   REBUILD_AUTOLOADS='$(EMACS) $(BATCHFLAGS) -eval "(setq autoload-package-name \"w3\")" -l autoload -f batch-update-directory .'
-else
-   REBUILD_AUTOLOADS='touch auto-autoloads.el'
+
+	OUTPUT=./conftest-$$
+	${EMACS} -batch -eval "(let ((x ${elisp})) (write-region (if (stringp x) (princ x) (prin1-to-string x)) nil \"${OUTPUT}\"))"  > /dev/null 2>&1 
+	retval=`cat ${OUTPUT}`
+	rm -f ${OUTPUT}
+	EMACS_cv_SYS_gnus_dir=$retval
+
+
+gnus_dir=${EMACS_cv_SYS_gnus_dir}
+if test -z ""noecho""; then
+	echo "$ac_t""$gnus_dir" 1>&6
 fi
-echo "$ac_t"""${REBUILD_AUTOLOADS}"" 1>&6
 
+	EMACS_cv_ACCEPTABLE_GNUS=$EMACS_cv_SYS_gnus_dir
+fi
+
+
+   # Check whether --with-gnus or --without-gnus was given.
+if test "${with_gnus+set}" = set; then
+  withval="$with_gnus"
+   EMACS_cv_ACCEPTABLE_GNUS=`( cd $withval && pwd || echo "$withval" ) 2> /dev/null` 
+fi
+
+   GNUS=${EMACS_cv_ACCEPTABLE_GNUS}
+   
+   echo "$ac_t"""${GNUS}"" 1>&6
 
 
 echo $ac_n "checking how to rebuild custom autoloads""... $ac_c" 1>&6
-echo "configure:1054: checking how to rebuild custom autoloads" >&5
+echo "configure:1087: checking how to rebuild custom autoloads" >&5
 
 
 
 if test -z ""noecho""; then
 	echo $ac_n "checking for Custom-make-dependencies in cus_dep""... $ac_c" 1>&6
-echo "configure:1060: checking for Custom-make-dependencies in cus_dep" >&5
+echo "configure:1093: checking for Custom-make-dependencies in cus_dep" >&5
 fi
 library=`echo cus_dep | tr _ -`
 
 elisp="(progn (fmakunbound 'Custom-make-dependencies) (condition-case nil (progn (require '$library) (fboundp 'Custom-make-dependencies)) (error nil)))"
 if test -z ""noecho""; then
 	echo $ac_n "checking for cus_dep""... $ac_c" 1>&6
-echo "configure:1067: checking for cus_dep" >&5
+echo "configure:1100: checking for cus_dep" >&5
 fi
 
 
 
 
 if test "${EMACS_cv_REBUILD_CUSTOMLOADS}" != "no"; then
-   REBUILD_CUSTOMLOADS='$(EMACS) $(BATCHFLAGS) -l cus-dep -f Custom-make-dependencies .'
+   REBUILD_CUSTOMLOADS='$(EMACS) $(BATCHFLAGS) -l cus-dep -f Custom-make-dependencies $(srcdir)'
 else
-   REBUILD_CUSTOMLOADS='touch custom-load.el'
+   REBUILD_CUSTOMLOADS='$(EMACS) $(BATCHFLAGS) $(DEPS) -f emacs-batch-build-custom-load $(srcdir)'
 fi
 echo "$ac_t"""${REBUILD_CUSTOMLOADS}"" 1>&6
 
 
 
 
+if test "${GNUS}" != "no"; then
+CIDFILE=url-cid.el
+
+fi
 
 if test "${CUSTOM}" = "no"; then
 echo "configure: warning: " "" 1>&2
 s%@EMACS_VERSION@%$EMACS_VERSION%g
 s%@HAVE_widget@%$HAVE_widget%g
 s%@HAVE_wid_edit@%$HAVE_wid_edit%g
-s%@HAVE_autoload@%$HAVE_autoload%g
-s%@REBUILD_AUTOLOADS@%$REBUILD_AUTOLOADS%g
+s%@CUSTOM@%$CUSTOM%g
+s%@HAVE_mm_decode@%$HAVE_mm_decode%g
+s%@GNUS@%$GNUS%g
 s%@HAVE_cus_dep@%$HAVE_cus_dep%g
 s%@REBUILD_CUSTOMLOADS@%$REBUILD_CUSTOMLOADS%g
-s%@CUSTOM@%$CUSTOM%g
 s%@INSTALL@%$INSTALL%g
 s%@DOTEMACS@%$DOTEMACS%g
 s%@TEXI2HTML_FLAGS@%$TEXI2HTML_FLAGS%g
+s%@CIDFILE@%$CIDFILE%g
 
 CEOF
 EOF
 
 AC_EMACS_VERSION
 AC_CHECK_CUSTOM
-AC_CHECK_AUTOLOADS
+AC_CHECK_GNUS
 AC_CHECK_CUSTOMLOADS
 
 if test "${MAKEINFO}" = "no"; then
 
 AC_SUBST(EMACS_PACKAGE_DIR)
 AC_SUBST(MAKEINFO)
-AC_SUBST(CUSTOM)
 AC_SUBST(EMACS)
 AC_SUBST(INSTALL)
 AC_SUBST(INSTALLINFO)
 AC_SUBST(TEXI2HTML)
 AC_SUBST(TEXI2HTML_FLAGS)
 
+if test "${GNUS}" != "no"; then
+CIDFILE=url-cid.el
+AC_SUBST(CIDFILE)
+fi
+
 if test "${CUSTOM}" = "no"; then
 AC_MSG_WARN(" ")
 AC_MSG_WARN(No usable version of the widget/custom libraries have been)
 AC_MSG_RESULT("To install Emacs/W3 type \'make install\'.")
 AC_MSG_RESULT("To create autoloads in \'${DOTEMACS}\' type \'make dotemacs\'")
 
+dnl (aclocal.m4) Local variables:
+dnl (aclocal.m4) eval: (make-local-hook 'kill-buffer-hook)
+dnl (aclocal.m4) eval: (defun w3-rebuild-configure-files () (if (file-newer-than-file-p (buffer-file-name) (expand-file-name "configure" (file-name-directory (buffer-file-name)))) (shell-command "autoreconf")))
+dnl (aclocal.m4) eval: (add-hook 'kill-buffer-hook 'w3-rebuild-configure-files nil t)
+dnl (aclocal.m4) End: ***

contrib/clean-cache

 # Author:	William M. Perry <wmperry@aventail.com>
 # Maintainer:	William M. Perry <wmperry@aventail.com>
 # Created:	95/04/18 10:44:15
-# Version:	1.1
-# Modified:     1997/09/23 13:32:27
+# Version:	1.1.1.1
+# Modified:     1998/12/01 22:11:57
 # Keywords:	cache clean
 # 
 # This shell script will clean out your cache directory for Emacs/W3

contrib/w3-imenu.el

-;;;w3-imenu.el,v 1.2 1997/10/17 15:33:32 wmperry Exp
+;;;w3-imenu.el,v 1.1.1.1 1998/12/01 22:11:57 wmperry Exp
 ;;;Description: Build up navigation index for W3 documents:
 (require 'cl)
 (require 'imenu)
 srcdir  = @srcdir@
 prefix  = @prefix@
 datadir = @datadir@
+top_srcdir = @top_srcdir@
 
 EMACS     = @EMACS@
 INSTALL   = @INSTALL@
 
 install:
 	( if [ ! -d $(datadir) ]; then mkdir -p $(datadir); fi )
-	for x in $(TARGETS); do $(INSTALL) $$x $(datadir); done
+	for x in $(TARGETS); do					\
+		if [ -f $$x ]; then				\
+			$(INSTALL) $$x $(datadir);		\
+		else						\
+			$(INSTALL) $(srcdir)/$$x $(datadir);	\
+		fi						\
+	done
 
 distclean: clean
 	$(RM) Makefile
 	for x in $(TARGETS) Makefile.in; do $(INSTALL) -m 644 $$x $(DIRNAME)/etc; done
 
 # Automatic makefile rebuilding, etc.
-Makefile: Makefile.in $(srcdir)/../config.status
-	(cd $(srcdir)/.. ; CONFIG_FILES=etc/Makefile ./config.status)
+Makefile: $(srcdir)/Makefile.in ../config.status
+	( cd .. ; CONFIG_FILES=etc/Makefile ./config.status )
 
-$(srcdir)/../configure: $(srcdir)/../configure.in $(srcdir)/../aclocal.m4
-	cd $(srcdir)/.. && autoconf
+$(top_srcdir)/configure: $(top_srcdir)/configure.in $(top_srcdir)/aclocal.m4
+	cd $(top_srcdir) && autoreconf
 
-$(srcdir)/../config.status: $(srcdir)/../configure
-	cd $(srcdir)/.. && ./config.status --recheck
+../config.status: $(top_srcdir)/configure
+	cd .. && ./config.status --recheck
 /******************************************************************************
 **       File: default.css
-**    Purpose: Default Stylesheet for Emacs-W3
+**    Purpose: Default Stylesheet for Emacs/W3
 **       Info: Copyright (c) 1995-1996 William M. Perry <wmperry@aventail.com>
 **             Copyright (c) 1997 Free Software Foundation, Inc.
 **    Created: William M. Perry <wmperry@aventail.com>, Aug-31-1995
 ** Maintainer: William M. Perry <wmperry@aventail.com>
 **
-**  This contains the top level fallback default styles for Emacs-w3
+**  This contains the top level fallback default styles for Emacs/W3
 **
 *******************************************************************************
 **
 **    speech - aural presentation
 **       all - the default value, applies to all output devices
 **
-** There are a few special Emacs-W3 sections
+** There are a few special Emacs/W3 sections
 **
-**  emacs - only include this chunk if you are using Emacs 19
-** xemacs - only include this chunk if you are using XEmacs
-**  light - only include this chunk if you are using a light background
-**   dark - only include this chunk if you are using a dark background
-**    tty - only include this chunk if you are using a TTY
-** ansi-tty - "  include this chunk if you are using an ANSI-capable TTY 
+**     emacs - only include this chunk if you are using Emacs 19
+**    xemacs - only include this chunk if you are using XEmacs
+** multifont - only include this chunk if you are using a multi-font capable Emacs variant
+**   unifont - only include this chunk if you are using a uni-font capable Emacs variant
+**     light - only include this chunk if you are using a light background
+**      dark - only include this chunk if you are using a dark background
+**       tty - only include this chunk if you are using a TTY
+**  ansi-tty - only include this chunk if you are using an ANSI-capable TTY 
 *******************************************************************************
 **
 ** There are some things this stylesheet cannot really specify, that we 
             font-weight : bold;
           }
 
-@media xemacs {
+@media multifont {
       h1  { font-size : +12pt }
       h2  { font-size : +6pt  }
       h3  { font-size : +4pt  }
 }
 
 /* This causes problems with Emacs 19 */
-@media xemacs {
+@media multifont {
    pre,xmp,
   plaintext { font-family: monospace }
 key,code,tt { font-family: monospace }
 ** the headers stand out somehow.
 */
 
-@media emacs {
+@media unifont {
 h1,h2,h3,
 h4,h5,h6  { text-decoration: underline; }
        h1 { color: rgb(0,255,255); }   // cyan
       dfn { font-style: italic }
  s,strike { color: green       }
 
-} // @media emacs
+} // @media unifont
 
        p  { display: block }
  pre,xmp  { display: block; white-space: pre; }
 
 /*
 ** How to draw form elements.
-** This is an extension in Emacs-W3 (and perhaps soon E-Scape)
+** This is an extension in Emacs/W3 (and perhaps soon E-Scape)
 ** Since there are so many different types of input fields, you should be
 ** able to control formatting based on that.  Enter pseudo-classes.
 **
 prefix  = @prefix@
 datadir = @datadir@
 lispdir = @lispdir@
+top_srcdir = @top_srcdir@
 confdir = $(datadir)/emacs/w3
 
+VPATH=$(srcdir)
+
 ############## no user servicable parts beyond this point ###################
 # Have to preload a few things to get a nice clean compile
 
 EMACS     = @EMACS@
 WIDGETDIR = @CUSTOM@
+GNUSDIR   = @GNUS@
 INSTALL   = @INSTALL@
 RM        = rm -f
 
-DEPS = -l ./docomp.el -l ./w3-vars.el
+DEPS = -l $(srcdir)/docomp.el -l $(srcdir)/url-vars.el -l $(srcdir)/w3-vars.el
 
 # compile with noninteractive and relatively clean environment
 BATCHFLAGS = -batch -q -no-site-file
 	url-nfs.el url-file.el url-cookie.el url-parse.el url-irc.el	\
 	url-gopher.el url-http.el url-mail.el url-misc.el url-news.el	\
 	url-vars.el url-auth.el mm.el md5.el url-gw.el ssl.el base64.el	\
-	url.el socks.el url-cache.el url-ns.el
+	url.el socks.el url-cache.el url-ns.el url-ldap.el @CIDFILE@
 
 URLOBJECTS    = $(URLSOURCES:.el=.elc)
 
-SOURCES = \
+SOURCES =								\
 	mule-sysdp.el w3-widget.el devices.el w3-imap.el css.el		\
 	dsssl.el dsssl-flow.el font.el images.el w3-vars.el w3-cus.el	\
 	w3-style.el w3-keyword.el w3-forms.el w3-emulate.el		\
-	w3-props.el w3-menu.el w3-mouse.el w3-toolbar.el 		\
+	w3-props.el w3-menu.el w3-mouse.el w3-toolbar.el		\
 	w3-speak.el w3-latex.el w3-parse.el w3-display.el w3-print.el	\
-	w3-about.el w3-hot.el w3-e19.el w3-xemac.el w3.el w3-script.el	\
-	w3-jscript.el w3-elisp.el w3-e20.el w3-speak-table.el
+	w3-about.el w3-hotindex.el w3-hot.el w3-e19.el w3-xemac.el	\
+	w3.el w3-script.el w3-jscript.el w3-elisp.el w3-e20.el		\
+	w3-speak-table.el	
 
 OBJECTS = $(SOURCES:.el=.elc)
 
 ALLOBJECTS = $(OBJECTS) $(URLOBJECTS) $(AUTOOBJECTS)
 
 # Warning!  Currently, the following file can _NOT_ be bytecompiled.
-EXTRAS = w3-sysdp.el docomp.el
+EXTRAS = w3-sysdp.el docomp.el url-cid.el
 
 .SUFFIXES: .elc .el
 
 	co -q $<
 
 .el.elc:
-	WIDGETDIR=$(WIDGETDIR) $(EMACS) $(BATCHFLAGS) $(DEPS) -f batch-byte-compile $<
+	GNUSDIR=$(GNUSDIR) WIDGETDIR=$(WIDGETDIR) W3SRCDIR=$(srcdir) $(EMACS) $(BATCHFLAGS) $(DEPS) -f batch-byte-compile $<
 
 all:	$(AUTOSOURCES) w3
 
 w3-auto.el: auto-autoloads.el
-	$(RM) $@
-	cat auto-autoloads.el | sed 's/w3-autoloads/w3-auto/g' > $@
+	GNUSDIR=$(GNUSDIR) WIDGETDIR=$(WIDGETDIR) W3SRCDIR=$(srcdir) $(EMACS) $(BATCHFLAGS) -l $(srcdir)/docomp.el -f emacs-batch-build-autoloads $(srcdir) auto-autoloads.el
 
 auto-autoloads.el: $(SOURCES) $(URLSOURCES)
-	WIDGETDIR=$(WIDGETDIR) @REBUILD_AUTOLOADS@
+	GNUSDIR=$(GNUSDIR) WIDGETDIR=$(WIDGETDIR) W3SRCDIR=$(srcdir) $(EMACS) $(BATCHFLAGS) -l $(srcdir)/docomp.el -f emacs-batch-build-autoloads $(srcdir) auto-autoloads.el
 
 custom-load.el: $(SOURCES) $(URLSOURCES)
-	WIDGETDIR=$(WIDGETDIR) @REBUILD_CUSTOMLOADS@
+	GNUSDIR=$(GNUSDIR) WIDGETDIR=$(WIDGETDIR) W3SRCDIR=$(srcdir) @REBUILD_CUSTOMLOADS@
+	if [ -f cus-load.el ]; then mv cus-load.el custom-load.el; fi
 
 w3-cfg.el: $(srcdir)/w3-cfg.el.in ../config.status
 	( cd ../ ; CONFIG_FILES=lisp/w3-cfg.el CONFIG_HEADERS= ./config.status)
 	@echo Build of w3 complete...
 
 fast:	$(ALLSOURCES) $(EXTRAS)
-	$(EMACS) $(BATCHFLAGS) $(DEPS) -f batch-byte-compile $(ALLSOURCES)
+	GNUSDIR=$(GNUSDIR) WIDGETDIR=$(WIDGETDIR) W3SRCDIR=$(srcdir) $(EMACS) $(BATCHFLAGS) $(DEPS) -f batch-byte-compile $(ALLSOURCES)
 	@echo Build of w3 complete...
 
 autoloads:
 install: all
 	@echo Installing in $(lispdir)
 	( if [ ! -d $(lispdir) ]; then mkdir -p $(lispdir); fi )
-	for x in $(ALLSOURCES) $(ALLOBJECTS) $(EXTRAS); do $(INSTALL) -m 644 $$x $(lispdir); done
+	for x in $(ALLSOURCES) $(EXTRAS) $(ALLOBJECTS); do		\
+		if [ -f $$x ]; then					\
+			$(INSTALL) -m 644 $$x $(lispdir);		\
+		else							\
+			$(INSTALL) -m 644 $(srcdir)/$$x $(lispdir);	\
+		fi							\
+	done;
 
 distclean: clean
-	$(RM) config.* Makefile w3-cfg.el
+	$(RM) config.* Makefile w3-cfg.el w3-auto.el $(AUTOSOURCES)
 
 clean:
-	$(RM) $(ALLOBJECTS)
+	$(RM) *.elc *~
 
 w3-vars.elc: w3-cus.elc w3-vars.el
 w3-display.elc: w3-display.el css.elc font.elc w3-imap.elc
 dsssl.elc: dsssl.el dsssl-flow.elc
 
 # Automatic makefile rebuilding
-Makefile: Makefile.in $(srcdir)/../config.status
-	( cd $(srcdir)/.. ; CONFIG_FILES=lisp/Makefile ./config.status )
+Makefile: $(srcdir)/Makefile.in ../config.status
+	( cd .. ; CONFIG_FILES=lisp/Makefile ./config.status )
 
-$(srcdir)/../configure: $(srcdir)/../configure.in $(srcdir)/../aclocal.m4
-	cd $(srcdir)/.. && autoconf
+$(top_srcdir)/configure: $(top_srcdir)/configure.in $(top_srcdir)/aclocal.m4
+	cd $(top_srcdir) && autoreconf
 
-$(srcdir)/../config.status: $(srcdir)/../configure
-	cd $(srcdir)/.. && ./config.status --recheck
+../config.status: $(top_srcdir)/configure
+	cd .. && ./config.status --recheck
 
 # Distribution building
 version: $(ALLSOURCES) $(EXTRAS) descrip.mms
 	test -d $(DIRNAME)/lisp || mkdir -p $(DIRNAME)/lisp
 	for x in descrip.mms $(ALLSOURCES) $(EXTRAS) w3-cfg.el.in w3-cfg.nt Makefile.in; do $(INSTALL) -m 644 $$x $(DIRNAME)/lisp; done
+	cd $(DIRNAME)/lisp && $(RM) $(AUTOSOURCES)
 ;;; base64.el,v --- Base64 encoding functions
 ;; Author: Kyle E. Jones
-;; Created: 1997/03/12 14:37:09
-;; Version: 1.6
+;; Created: 1998/12/27 01:48:52
+;; Version: 1.2
 ;; Keywords: extensions
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 	(buffer-string)
       (kill-buffer (current-buffer)))))  
 
+(defalias 'base64-encode 'base64-encode-string)
+(defalias 'base64-decode 'base64-decode-string)
+
 (provide 'base64)
 ;;; css.el -- Cascading Style Sheet parser
 ;; Author: wmperry
-;; Created: 1998/05/19 21:06:16
-;; Version: 1.44
+;; Created: 1998/12/22 20:40:13
+;; Version: 1.2
 ;; Keywords: 
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;; Copyright (c) 1996 by William M. Perry <wmperry@cs.indiana.edu>
-;;; Copyright (c) 1996 - 1998 Free Software Foundation, Inc.
+;;; Copyright (c) 1996 - 1999 Free Software Foundation, Inc.
 ;;;
-;;; This file is not part of GNU Emacs, but the same permissions apply.
+;;; This file is part of GNU Emacs.
 ;;;
 ;;; GNU Emacs is free software; you can redistribute it and/or modify
 ;;; it under the terms of the GNU General Public License as published by
 (defun css-active-device-types (&optional device)
   (let ((types (list 'all
 		     (if css-running-xemacs 'xemacs 'emacs)
+		     (if (or css-running-xemacs font-running-emacs-new-redisplay)
+			 'multifont 'unifont)
 		     (if (css-color-light-p 'default) 'light 'dark)))
 	(type (device-type device)))
     ;; For reasons I don't really want to get into, emacspeak and TTY
 	    (cond
 	     ((looking-at "[^{]*\\({\\)")
 	      (goto-char (match-beginning 1))
-	      (forward-sexp 1)
+	      (condition-case ()
+		  (forward-sexp 1)
+		(error (goto-char (point-max))))
 	      (setq data (buffer-substring save-pos (1- (point)))))
 	     ((looking-at "[\"']+")
 	      (setq save-pos (1+ save-pos))
-	      (forward-sexp 1)
+	      (condition-case ()
+		  (forward-sexp 1)
+		(error (goto-char (point-max))))
 	      (setq data (buffer-substring save-pos (1- (point)))))
 	     (t
 	      (skip-chars-forward "^;")))
 ;;; devices.el -- XEmacs device API emulation
 ;; Author: wmperry
-;; Created: 1998/04/17 19:05:35
-;; Version: 1.7
+;; Created: 1998/12/18 02:19:23
+;; Version: 1.1.1.2
 ;; Keywords: 
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;; Copyright (c) 1996 by William M. Perry <wmperry@cs.indiana.edu>
-;;; Copyright (c) 1996 - 1998 Free Software Foundation, Inc.
+;;; Copyright (c) 1996 - 1999 Free Software Foundation, Inc.
 ;;;
-;;; This file is not part of GNU Emacs, but the same permissions apply.
+;;; This file is part of GNU Emacs.
 ;;;
 ;;; GNU Emacs is free software; you can redistribute it and/or modify
 ;;; it under the terms of the GNU General Public License as published by
-(setq load-path (append (list (expand-file-name "./")
+;;; First things first - if they do not have the WIDGETDIR environment
+;;; variable set, choke, scream, and die.
+;(if (or (not (getenv "WIDGETDIR"))
+;	(string= (getenv "WIDGETDIR") "no"))
+;    (progn
+;      (message "Could not find custom libraries.")
+;      (message "Please rerun `configure' in the top level directory, and")
+;      (message "provide the `--with-custom=XXX' flag.")
+;      (kill-emacs 1)))
+
+(setq load-path (append (list (expand-file-name 
+			       (or (getenv "W3SRCDIR") "./"))
+			      "."
 			      (or (getenv "WIDGETDIR")
 				  (expand-file-name "../widget"))
+			      (or (getenv "GNUSDIR")
+				  (expand-file-name "../gnus"))
 			      )
 			load-path))
 
 ;; GNUS
 (w3-declare-variables 'gnus-group-buffer 'gnus-version)		      
 
-(load "bytecomp" t t nil)
+;; If we are building w3 in a different directory than the source
+;; directory, we must read *.el from source directory and write *.elc
+;; into the building directory.  For that, we define this function
+;; before loading bytecomp.  Bytecomp doesn't overwrite this function.
+(defun byte-compile-dest-file (filename)
+  "Convert an Emacs Lisp source file name to a compiled file name.
+ In addition, remove directory name part from FILENAME."
+  (setq filename (byte-compiler-base-file-name filename))
+  (setq filename (file-name-sans-versions filename))
+  (setq filename (file-name-nondirectory filename))
+  (if (memq system-type '(win32 w32 mswindows windows-nt))
+      (setq filename (downcase filename)))
+  (cond ((eq system-type 'vax-vms)
+ 	 (concat (substring filename 0 (string-match ";" filename)) "c"))
+ 	((string-match emacs-lisp-file-regexp filename)
+ 	 (concat (substring filename 0 (match-beginning 0)) ".elc"))
+ 	(t (concat filename ".elc"))))
+
+(require 'bytecomp)
+
 ;; Emacs 19 byte compiler complains about too much stuff by default.
 ;; Turn off most of the warnings here.
 (setq byte-compile-warnings '(free-vars)
       byte-optimize t)
 
+;; This is part of bytecomp.el in 19.35: Without it, any defvar'd
+;; variables show up as 'free variables' to the byte compiler, which
+;; is bogus.
+(if (not (get 'custom-declare-variable 'byte-hunk-handler))
+    (progn
+      (put 'custom-declare-variable 'byte-hunk-handler
+	   'byte-compile-file-form-custom-declare-variable)
+      (defun byte-compile-file-form-custom-declare-variable (form)
+	(if (memq 'free-vars byte-compile-warnings)
+	    (setq byte-compile-bound-variables
+		  (cons (nth 1 (nth 1 form)) byte-compile-bound-variables)))
+	form)))
+
 (defun compile-it ()
-  (let ((files (directory-files "." t ".*.el$" nil)))
+  (let ((files (directory-files "." t ".*.[eE][lL]$" nil)))
     (while files
       (if (and (not (file-directory-p (car files)))
 	       (not (string-match "w3-sysdp.el$" (car files))))
 	  (byte-compile-file (car files)))
       (setq files (cdr files)))))
 
+(defun emacs-build-autoloads (dir autofile)
+  (require 'autoload)
+
+  (let ((files (directory-files dir t ".*.[eE][lL]$" nil)))
+    (save-excursion
+      (find-file autofile)
+      (erase-buffer)
+      (mapcar 'generate-file-autoloads files)
+      (goto-char (point-max))
+      (insert "\n(provide 'w3-autoloads)\n")
+      (save-buffer)
+      (kill-buffer (current-buffer))))
+
+  ;; Now we need to munge that file to deal with
+  (find-file "w3-auto.el")
+  (erase-buffer)
+  (insert-file-contents autofile)
+  (goto-char (point-min))
+  (while (re-search-forward "w3-autoloads" nil t)
+      (replace-match "w3-auto"))
+  (save-buffer)
+  (kill-buffer (current-buffer))
+  (kill-emacs))
+
+(defun emacs-batch-build-autoloads ()
+  (emacs-build-autoloads (nth 0 command-line-args-left)
+			 (nth 1 command-line-args-left)))
+
+(defun emacs-build-custom-load (dir)
+  (let ((foundit t))
+    (save-excursion
+      (condition-case ()
+	  (load-library "cus-dep")
+	(error (setq foundit nil)))
+      (if foundit
+	  (let ((command-line-args-left (list dir)))
+	    (custom-make-dependencies))
+	(write-region "\n" nil "cus-dep.el")))))
+
+(defun emacs-batch-build-custom-load ()
+  (emacs-build-custom-load (car command-line-args-left)))
+
+(provide 'w3-auto)
 (autoload 'w3-load-flavors "w3")
 
 (w3-load-flavors)

lisp/dsssl-flow.el

 ;;; dsssl-flow.el --- DSSSL flow objects
 ;; Author: wmperry
-;; Created: 1998/04/17 19:05:35
-;; Version: 1.5
+;; Created: 1998/12/18 02:19:24
+;; Version: 1.1.1.2
 ;; Keywords: 
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;; Copyright (c) 1996, 1997 by William M. Perry <wmperry@cs.indiana.edu>
-;;; Copyright (c) 1997 - 1998 by Free Software Foundation, Inc.
+;;; Copyright (c) 1997 - 1999 by Free Software Foundation, Inc.
 ;;;
 ;;; This file is part of GNU Emacs.
 ;;;
 ;;; dsssl.el --- DSSSL parser
 ;; Author: wmperry
-;; Created: 1998/04/17 19:05:35
-;; Version: 1.17
+;; Created: 1998/12/18 02:19:24
+;; Version: 1.1.1.2
 ;; Keywords: 
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;; Copyright (c) 1996, 1997 by William M. Perry <wmperry@cs.indiana.edu>
-;;; Copyright (c) 1997 - 1998 by Free Software Foundation, Inc.
+;;; Copyright (c) 1997 - 1999 by Free Software Foundation, Inc.
 ;;;
 ;;; This file is part of GNU Emacs.
 ;;;
 ;;; font.el --- New font model
 ;; Author: wmperry
-;; Created: 1998/06/17 23:30:49
-;; Version: 1.59
+;; Created: 1998/12/31 10:04:21
+;; Version: 1.2
 ;; Keywords: faces
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;; Copyright (c) 1995, 1996 by William M. Perry <wmperry@cs.indiana.edu>
-;;; Copyright (c) 1996 - 1998 Free Software Foundation, Inc.
+;;; Copyright (c) 1996 - 1999 Free Software Foundation, Inc.
 ;;;
 ;;; This file is part of GNU Emacs.
 ;;;
     (defun try-font-name (fontname &rest args)
       (case window-system
 	((x win32 w32 pm) (car-safe (x-list-fonts fontname)))
-	(ns (car-safe (ns-list-fonts fontname)))
+	(mswindows (car-safe (mswindows-list-fonts fontname)))
 	(otherwise nil))))
 
 (if (not (fboundp 'facep))
     (defun facep (face)
       "Return t if X is a face name or an internal face vector."
+      (declare (special global-face-data))
       (if (not window-system)
 	  nil				; FIXME if FSF ever does TTY faces
 	(and (or (internal-facep face)
 (defconst font-running-xemacs (string-match "XEmacs" (emacs-version))
   "Whether we are running in XEmacs or not.")
 
+(defconst font-running-emacs-new-redisplay (and (fboundp 'set-face-attribute)
+						(fboundp 'set-face-background-pixmap))
+  "Whether we are running in Emacs with the new redisplay engine.")
+
 (defmacro define-font-keywords (&rest keys)
   (`
    (eval-and-compile
 
 (defconst font-window-system-mappings
   '((x        . (x-font-create-name x-font-create-object))
-    (ns       . (ns-font-create-name ns-font-create-object))
     (mswindows . (mswindows-font-create-name mswindows-font-create-object))
     (win32    . (x-font-create-name x-font-create-object))
     (w32      . (x-font-create-name x-font-create-object))
   "An assoc list mapping keywords to actual Xwindow specific strings
 for use in the 'weight' field of an X font string.")
 
-
+(defconst font-new-redisplay-weight-mappings
+  '((:extra-light . extra-light)
+    (:light       . light)
+    (:demi-light  . semi-light)
+    (:demi        . semi-light)
+    (:book        . normal)
+    (:medium      . normal)
+    (:normal      . normal)
+    (:demi-bold   . semi-bold)
+    (:bold        . bold)
+    (:extra-bold  . extra-bold))
+  "An assoc list mapping font weights to the actual symbols used by
+the new redisplay engine.")
 
 (defconst font-possible-weights
   (mapcar 'car x-font-weight-mappings))
 (defvar font-maximum-slippage "1pt"
   "How much a font is allowed to vary from the desired size.")
 
-(defvar font-family-mappings
-  '(
-    ("serif"        . ("new century schoolbook"
-		       "utopia"
-		       "charter"
-		       "times"
-		       "lucidabright"
-		       "garamond"
-		       "palatino"
-		       "times new roman"
-		       "baskerville"
-		       "bookman"
-		       "bodoni"
-		       "computer modern"
-		       "rockwell"
-		       ))
-    ("sans-serif"   . ("lucida"
-		       "helvetica"
-		       "gills-sans"
-		       "avant-garde"
-		       "univers"
-		       "optima"))
-    ("elfin"        . ("tymes"))
-    ("monospace"    . ("courier"
-		       "courier new"
-		       "fixed"
-		       "lucidatypewriter"
-		       "clean"
-		       "terminal"))
-    ("cursive"      . ("sirene"
-		       "zapf chancery"))
-    )
-  "A list of font family mappings.")
-
 (define-font-keywords :family :style :size :registry :encoding)
 
 (define-font-keywords
-  :weight :extra-light :light :demi-light :medium :normal :demi-bold
-  :bold :extra-bold)
+  :weight :extra-light :light :demi-light :medium :normal :regular
+  :demi-bold :bold :extra-bold)
 
 (defvar font-style-keywords nil)
 
     (and (fboundp font-func) (funcall font-func fontobj t))))
 
 (defsubst font-properties-from-style (fontobj)
-  (let ((style (font-style fontobj))
-	(todo font-style-keywords)
+  (let ((todo font-style-keywords)
 	type func retval)
     (while todo
       (setq func (cdr (cdr (car todo)))
 
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-;;; The window-system dependent code (mswindows-style)
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-;;; mswindows fonts look like:
-;;;	fontname[:[weight][ style][:pointsize[:effects[:charset]]]]
-;;; A minimal mswindows font spec looks like:
-;;;	Courier New
-;;; A maximal mswindows font spec looks like:
-;;;	Courier New:Bold Italic:10:underline strikeout:ansi
-;;; Missing parts of the font spec should be filled in with these values:
-;;;	Courier New:Normal:10::ansi
-;;  "^[a-zA-Z ]+:[a-zA-Z ]*:[0-9]+:[a-zA-Z ]*:[a-zA-Z 0-9]*$"
-(defvar font-mswindows-font-regexp
-  (eval-when-compile
-    (let ((- 		":")
-	  (fontname	"\\([a-zA-Z ]+\\)")
-	  (weight	"\\([a-zA-Z]*\\)")
-	  (style	"\\( [a-zA-Z]*\\)?")
-	  (pointsize	"\\([0-9]+\\)")
-	  (effects	"\\([a-zA-Z ]*\\)")q
-	  (charset	"\\([a-zA-Z 0-9]*\\)"))
-      (concat "^"
-	      fontname - weight style - pointsize - effects - charset "$"))))
-
-(defconst mswindows-font-weight-mappings
-  '((:extra-light . "Extralight")
-    (:light       . "Light")
-    (:demi-light  . "Demilight")
-    (:demi        . "Demi")
-    (:book        . "Book")
-    (:medium      . "Medium")
-    (:normal      . "Normal")
-    (:demi-bold   . "Demibold")
-    (:bold        . "Bold")
-    (:regular	  . "Regular")
-    (:extra-bold  . "Extrabold"))
-  "An assoc list mapping keywords to actual mswindows specific strings
-for use in the 'weight' field of an mswindows font string.")
-
-(defun mswindows-font-create-object (fontname &optional device)
-  (let ((case-fold-search t)
-	(font (mswindows-font-canicolize-name fontname)))
-    (if (or (not (stringp font))
-	    (not (string-match font-mswindows-font-regexp font)))
-	(make-font)
-      (let ((family	(match-string 1 font))
-	    (weight	(match-string 2 font))
-	    (style	(match-string 3 font))
-	    (pointsize	(match-string 4 font))
-	    (effects	(match-string 5 font))
-	    (charset	(match-string 6 font))
-	    (retval nil)
-	    (size nil)
-	    (case-fold-search t)
-	    )
-	(if pointsize (setq size (concat pointsize "pt")))
-	(if weight (setq weight (intern-soft (concat ":" (downcase weight)))))
-	(setq retval (make-font :family family
-				:weight weight
-				:size size
-				:encoding charset))
-	(set-font-bold-p retval (eq :bold weight))
-	(cond
-	 ((null style) nil)
-	 ((string-match "^ *[iI]talic" style)
-	  (set-font-italic-p retval t)))
-	retval))))
-
-(defun mswindows-font-create-name (fontobj &optional device)
-  (if (and (not (or (font-family fontobj)
-		    (font-weight fontobj)
-		    (font-size fontobj)
-		    (font-registry fontobj)
-		    (font-encoding fontobj)))
-	   (= (font-style fontobj) 0))
-      (face-font 'default)
-    (or device (setq device (selected-device)))
-    (let* ((default (font-default-object-for-device device))
-	   (family (or (font-family fontobj)
-		       (font-family default)))
-	   (weight (or (font-weight fontobj) :regular))
-	   (style (font-style fontobj))
-	   (size (or (if font-running-xemacs
-			 (font-size fontobj))
-		     (font-size default)))
-	   (registry (or (font-registry fontobj)
-			 (font-registry default)))
-	   (encoding (or (font-encoding fontobj)
-			 (font-encoding default))))
-      (if (stringp family)
-	  (setq family (list family)))
-      (setq weight (font-higher-weight weight
-				       (and (font-bold-p fontobj) :bold)))
-      (if (stringp size)
-	  (setq size (truncate (font-spatial-to-canonical size device))))
-      (setq weight (or (cdr-safe 
-			(assq weight mswindows-font-weight-mappings)) ""))
-      (let ((done nil)			; Did we find a good font yet?
-	    (font-name nil)		; font name we are currently checking
-	    (cur-family nil))		; current family we are checking
-	(while (and family (not done))
-	  (setq cur-family (car family)
-		family (cdr family))
-	  (if (assoc cur-family font-family-mappings)
-	      ;; If the family name is an alias as defined by
-	      ;; font-family-mappings, then append those families
-	      ;; to the front of 'family' and continue in the loop.
-	      (setq family (append
-			    (cdr-safe (assoc cur-family
-					     font-family-mappings))
-			    family))
-	    ;; We treat oblique and italic as equivalent.  Don't ask.
-	    ;; Courier New:Bold Italic:10:underline strikeout:ansi
-	    (setq font-name (format "%s:%s%s:%s:%s:%s"
-				    cur-family weight
-				    (if (font-italic-p fontobj)
-					" Italic" "")
-				    (if size
-					(int-to-string size) "10")
-				    ""
-				    encoding)
-		  done (try-font-name font-name device))))
-	(if done font-name)))))
-
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;; The window-system dependent code (TTY-style)
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 (defun tty-font-create-object (fontname &optional device)
   (make-font :size "12pt"))
 
 (defun tty-font-create-plist (fontobj &optional device)
-  (let ((styles (font-style fontobj))
-	(weight (font-weight fontobj)))
-    (list
-     (cons 'underline (font-underline-p fontobj))
-     (cons 'highlight (if (or (font-bold-p fontobj)
-			      (memq weight '(:bold :demi-bold))) t))
-     (cons 'dim       (font-dim-p fontobj))
-     (cons 'blinking  (font-blink-p fontobj))
-     (cons 'reverse   (font-reverse-p fontobj)))))
+  (list
+   (cons 'underline (font-underline-p fontobj))
+   (cons 'highlight (if (or (font-bold-p fontobj)
+			    (memq (font-weight fontobj) '(:bold :demi-bold)))
+			t))
+   (cons 'dim       (font-dim-p fontobj))
+   (cons 'blinking  (font-blink-p fontobj))
+   (cons 'reverse   (font-reverse-p fontobj))))
 
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
      ((- 		"[-?]")
       (foundry		"[^-]*")
       (family 		"[^-]*")
-      (weight		"\\(bold\\|demibold\\|medium\\|black\\)")
+      ;(weight		"\\(bold\\|demibold\\|medium\\|black\\)")
       (weight\?		"\\([^-]*\\)")
-      (slant		"\\([ior]\\)")
+      ;(slant		"\\([ior]\\)")
       (slant\?		"\\([^-]?\\)")
       (swidth		"\\([^-]*\\)")
       (adstyle		"\\([^-]*\\)")
    (concat "\\`\\*?[-?*]"
 	   foundry - family - weight\? - slant\? - swidth - adstyle -