Sync up with r21-4-21.
authortomo <tomo>
Wed, 4 Jun 2008 10:05:58 +0000 (10:05 +0000)
committertomo <tomo>
Wed, 4 Jun 2008 10:05:58 +0000 (10:05 +0000)
14 files changed:
ChangeLog
lisp/ChangeLog
lisp/auto-autoloads.el
lisp/gutter-items.el
lisp/startup.el
lwlib/xlwgauge.c
lwlib/xlwgauge.h
netinstall/ChangeLog
nt/XEmacs.iss [new file with mode: 0644]
src/ChangeLog
src/dumper.c
src/postgresql.c
src/postgresql.h
tests/automated/mule-tests.el

index b999d6f..94a38b8 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
        * configure.in: Add new option `--with-utf-2000'; define `UTF2000'
        if it is specified.
 
+2007-10-07  Vin Shelton  <acs@xemacs.org>
+
+       * XEmacs 21.4.21 is released
+
+2007-08-18  Vin Shelton  <acs@xemacs.org>
+
+       * modules/ldap/eldap.c: Declare that we use deprecated API.
+       Thanks to Mats Lidell <matsl@xemacs.org> for the report & patch:
+       <871wgnqunm.fsf@spencer.lidell.homelinux.net>.
+
 2006-12-09  Vin Shelton  <acs@xemacs.org>
 
        * XEmacs 21.4.20 is released
index eb7d14b..9ccd2eb 100644 (file)
        * files.el (insert-file-contents-literally): Treat file as binary;
        call file-name-handlers. [sync with Emacs 20.3.10]
 
+2007-10-07  Vin Shelton  <acs@xemacs.org>
+
+       * XEmacs 21.4.21 is released
+
+2007-09-19  Didier Verna  <didier@xemacs.org>
+
+       Update my personal info.
+       * about.el (xemacs-hackers): Use 'didier instead of 'dv.
+       * about.el (about-other-current-hackers): Ditto.
+       * about.el (about-url-alist): Add my musical website.
+       * about.el (about-personal-info): Update my entry.
+       * about.el (about-hacker-contribution): Ditto.
+
+2007-08-21  Adrian Aichner  <adrian@xemacs.org>
+
+       * package-get.el (package-get-download-sites): Update download
+       sites in Japan.
+       * package-get.el (package-get-pre-release-download-sites): Ditto.
+
+2007-08-18  Vin Shelton  <acs@xemacs.org>
+
+       * package-get.el (package-get-pre-release-download-sites): Sync
+       mirror sites with 21.5.  (Thanks, Adrian)
+
+2007-08-09  Mike Sperber  <mike@xemacs.org>
+
+       * startup.el (migrate-user-init-file): Create backup of
+       `user-init-file' before migrating.
+       * startup.el (maybe-migrate-user-init-file): Print
+       information about backup file.
+       (maybe-create-compatibility-dot-emacs): Follow above change.
+
+2006-11-02  Adrian Aichner  <adrian@xemacs.org>
+
+       * font-lock.el: Sync font-lock-add-keywords and
+       font-lock-remove-keywords from GNU Emacs.
+       * font-lock.el (font-lock-keywords-alist): New.
+       * font-lock.el (font-lock-removed-keywords-alist): New.
+       * font-lock.el (font-lock-add-keywords): New.
+       * font-lock.el (font-lock-update-removed-keyword-alist): New.
+       * font-lock.el (font-lock-remove-keywords): New.
+
+2007-08-16  Vin Shelton  <acs@xemacs.org>
+
+       * font-lock.el: Add defvar for font-lock-warning-face.  Original
+       patch from Hans de Graaff.
+
+2007-07-28  Adrian Aichner  <adrian@xemacs.org>
+
+       * package-get.el (package-get-download-sites): Document Chile and
+       update Denmark download site.
+       * package-get.el (package-get-pre-release-download-sites): Ditto.
+
+2007-05-20  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * gutter-items.el (progress-feedback-with-label): Clarify docstring.
+
 2006-12-09  Vin Shelton  <acs@xemacs.org>
 
        * XEmacs 21.4.20 is released
        * find-paths.el (paths-find-invocation-roots): New.
        * find-paths.el (paths-find-emacs-roots): Call paths-find-invocation-roots.
 
-2005-12-05  Ville Skyttä  <scop@xemacs.org>
+2005-12-05  Ville Skyttä  <scop@xemacs.org>
 
        * minibuf.el (x-library-search-path): Add /usr(/local)/share/X11.
        * font.el (font-lookup-rgb-components): Ditto, remove stale comment.
        * simple.el (shifted-motion-keys-select-region): Fix statement
        about unshifted-motion-keys-deselect-region.
 
-2004-12-15  Ville Skyttä  <scop@xemacs.org>
+2004-12-15  Ville Skyttä  <scop@xemacs.org>
 
        * bytecomp-runtime.el (make-obsolete): Add 3rd argument (no-op for
        now) for GNU Emacs compatibility.
 
        * isearch-mode.el (isearch-mode-map): GR (and C1) is printable.
 
-2003-01-06  Ville Skyttä  <scop@xemacs.org>
+2003-01-06  Ville Skyttä  <scop@xemacs.org>
 
        * menubar-items.el (default-menubar): Use browse-url-mozilla
        instead of browse-url-gnome-moz for Mozilla.
 
        * XEmacs 21.4.11 "Native Windows TTY Support" is released.
 
-2002-12-27  Ville Skyttä  <scop@xemacs.org>
+2002-12-27  Ville Skyttä  <scop@xemacs.org>
 
        * files.el (auto-mode-alist): Remove redundant entries for modes
        that live in packages.
        (interpreter-mode-alist): Ditto.
 
-2002-03-17  Ville Skyttä  <ville.skytta@xemacs.org>
+2002-03-17  Ville Skyttä  <ville.skytta@xemacs.org>
 
        * menubar-items.el (default-menubar): Sync with current
        browse-url-xemacs.el.
        (font-lock-fontify-keywords-region): Supply the argument to
        font-lock-compile-keywords.
 
-2002-09-22  Ville Skyttä  <ville.skytta@xemacs.org>
+2002-09-22  Ville Skyttä  <ville.skytta@xemacs.org>
 
        * package-get.el (package-get-download-sites): Bring sites list
        up to date, prefer xx.xemacs.org addresses.
        * gutter-items.el (set-progress-feedback-instantiator): Fix bad
        merge.
 
-2002-09-02  Ville Skyttä  <ville.skytta@xemacs.org>
+2002-09-02  Ville Skyttä  <ville.skytta@xemacs.org>
 
        * bytecomp-runtime.el (make-obsolete): Docstring argument nit.
        (make-obsolete-variable): Ditto.
 
        * XEmacs 21.4.9 "Informed Management" is released.
 
-2002-06-22  Ville Skyttä  <ville.skytta@xemacs.org>
+2002-06-22  Ville Skyttä  <ville.skytta@xemacs.org>
 
        * subr.el (add-to-list): Sync with GNU Emacs 21.2, adding the
        "&optional append" argument.
 
        * simple.el (join-line): New alias for `delete-indentation'.
 
-2002-08-02  Ville Skyttä  <ville.skytta@xemacs.org>
+2002-08-02  Ville Skyttä  <ville.skytta@xemacs.org>
 
        * font-lock.el: Some faces and doc typo fixes from GNU Emacs.
        (font-lock-doc-face): New alias to font-lock-doc-string-face.
        * find-paths.el (paths-find-architecture-directory): Search in
        `system-configuration'/`base', not `base'`system-configuration'.
 
-2002-06-23  Ville Skyttä  <ville.skytta@xemacs.org>
+2002-06-23  Ville Skyttä  <ville.skytta@xemacs.org>
 
        * info.el (Info-index): Add missing \ in [ t].
 
        * startup.el (normal-top-level): Prevent migration code from
        trashing .emacs on an error in loading the init files.
 
-2002-03-14  Ville Skyttä  <ville.skytta@xemacs.org>
+2002-03-14  Ville Skyttä  <ville.skytta@xemacs.org>
 
        * files.el (auto-mode-alist): GNUmakefile is a Makefile,
        "system default" Xdefaults and friends get xrdb-mode.
 2002-02-03  Adrian Aichner  <adrian@xemacs.org>
 
        * printer.el (generic-print-region): Pass correct arguments to
-       lpr-region.  Thanks to Nevin Kapur <nevin@jhu.edu> and Björn
+       lpr-region.  Thanks to Nevin Kapur <nevin@jhu.edu> and Björn
        Torkelsson <torkel@acc.umu.se>.
 
 2002-01-09  John Paul Wallington  <jpw@shootybangbang.com>
index 4410de6..835ba1f 100644 (file)
@@ -1506,9 +1506,9 @@ one version of a package available.")
 
 (defcustom package-get-install-to-user-init-directory nil "*If non-nil install packages under `user-init-directory'." :type 'boolean :group 'package-get)
 
-(defcustom package-get-download-sites '(("US (Main XEmacs Site)" "ftp.xemacs.org" "pub/xemacs/packages") ("Argentina (xmundo.net)" "xemacs.xmundo.net" "pub/mirrors/xemacs/packages") ("Australia (aarnet.edu.au)" "mirror.aarnet.edu.au" "pub/xemacs/packages") ("Australia (au.xemacs.org)" "ftp.au.xemacs.org" "pub/xemacs/packages") ("Austria (at.xemacs.org)" "ftp.at.xemacs.org" "editors/xemacs/packages") ("Belgium (be.xemacs.org)" "ftp.be.xemacs.org" "xemacs/packages") ("Brazil (br.xemacs.org)" "ftp.br.xemacs.org" "pub/xemacs/packages") ("Canada (ca.xemacs.org)" "ftp.ca.xemacs.org" "pub/Mirror/xemacs/packages") ("Canada (crc.ca)" "ftp.crc.ca" "pub/packages/editors/xemacs/packages") ("Canada (nrc.ca)" "ftp.nrc.ca" "pub/packages/editors/xemacs/packages") ("Czech Republic (cz.xemacs.org)" "ftp.cz.xemacs.org" "MIRRORS/ftp.xemacs.org/pub/xemacs/packages") ("Denmark (dk.xemacs.org)" "ftp.dk.xemacs.org" "pub/emacs/xemacs/packages") ("Finland (fi.xemacs.org)" "ftp.fi.xemacs.org" "pub/mirrors/ftp.xemacs.org/pub/tux/xemacs/packages") ("France (fr.xemacs.org)" "ftp.fr.xemacs.org" "pub/xemacs/packages") ("France (mirror.cict.fr)" "mirror.cict.fr" "xemacs/packages") ("France (pasteur.fr)" "ftp.pasteur.fr" "pub/computing/xemacs/packages") ("Germany (de.xemacs.org)" "ftp.de.xemacs.org" "pub/ftp.xemacs.org/tux/xemacs/packages") ("Hong Kong (hk.xemacs.org)" "ftp.hk.xemacs.org" "pub/xemacsftp/packages") ("Iceland (is.xemacs.org)" "ftp.is.xemacs.org" "pub/xemacs/packages") ("Ireland (ie.xemacs.org)" "ftp.ie.xemacs.org" "mirrors/ftp.xemacs.org/pub/xemacs/packages") ("Ireland (heanet.ie)" "ftp.heanet.ie" "mirrors/ftp.xemacs.org/packages") ("Italy (it.xemacs.org)" "ftp.it.xemacs.org" "unix/packages/XEMACS/packages") ("Japan (aist.go.jp)" "ring.aist.go.jp" "pub/text/xemacs/packages") ("Japan (asahi-net.or.jp)" "ring.asahi-net.or.jp" "pub/text/xemacs/packages") ("Japan (dti.ad.jp)" "ftp.dti.ad.jp" "pub/unix/editor/xemacs/packages") ("Japan (sut.ac.jp)" "sunsite.sut.ac.jp" "pub/archives/packages/xemacs/packages") ("Korea (kr.xemacs.org)" "ftp.kr.xemacs.org" "pub/tools/emacs/xemacs/packages") ("Netherlands (nl.xemacs.org)" "ftp.nl.xemacs.org" "pub/xemacs/ftp/packages") ("New Zealand (nz.xemacs.org)" "ftp.nz.xemacs.org" "mirror/ftp.xemacs.org/packages") ("Norway (no.xemacs.org)" "ftp.no.xemacs.org" "pub/xemacs/packages") ("Poland (pl.xemacs.org)" "ftp.pl.xemacs.org" "pub/unix/editors/xemacs/packages") ("Portugal (pt.xemacs.org)" "ftp.pt.xemacs.org" "pub/MIRRORS/ftp.xemacs.org/packages") ("Russia (ru.xemacs.org)" "ftp.ru.xemacs.org" "pub/emacs/xemacs/packages") ("Sweden (se.xemacs.org)" "ftp.se.xemacs.org" "pub/gnu/xemacs/packages") ("Switzerland (ch.xemacs.org)" "ftp.ch.xemacs.org" "mirror/xemacs/packages") ("Taiwan (ftp.tw.xemacs.org)" "ftp.tw.xemacs.org" "Unix/Editors/XEmacs/packages") ("UK (uk.xemacs.org)" "ftp.uk.xemacs.org" "sites/ftp.xemacs.org/pub/xemacs/packages") ("US (ibiblio.org)" "mirrors.ibiblio.org" "pub/mirrors/xemacs/packages") ("US (stealth.net)" "ftp.stealth.net" "pub/mirrors/ftp.xemacs.org/pub/xemacs/packages") ("US (unc.edu)" "metalab.unc.edu" "pub/packages/editors/xemacs/packages") ("US (us.xemacs.org)" "ftp.us.xemacs.org" "pub/xemacs/packages")) "*List of remote sites available for downloading packages.\nList format is '(site-description site-name directory-on-site).\nSITE-DESCRIPTION is a textual description of the site.  SITE-NAME\nis the internet address of the download site.  DIRECTORY-ON-SITE\nis the directory on the site in which packages may be found.\nThis variable is used to initialize `package-get-remote', the\nvariable actually used to specify package download sites." :tag "Package download sites" :type '(repeat (list (string :tag "Name") host-name directory)) :group 'package-get)
+(defcustom package-get-download-sites '(("US (Main XEmacs Site)" "ftp.xemacs.org" "pub/xemacs/packages") ("Argentina (xmundo.net)" "xemacs.xmundo.net" "pub/mirrors/xemacs/packages") ("Australia (aarnet.edu.au)" "mirror.aarnet.edu.au" "pub/xemacs/packages") ("Australia (au.xemacs.org)" "ftp.au.xemacs.org" "pub/xemacs/packages") ("Austria (at.xemacs.org)" "ftp.at.xemacs.org" "editors/xemacs/packages") ("Belgium (be.xemacs.org)" "ftp.be.xemacs.org" "xemacs/packages") ("Brazil (br.xemacs.org)" "ftp.br.xemacs.org" "pub/xemacs/packages") ("Canada (ca.xemacs.org)" "ftp.ca.xemacs.org" "pub/Mirror/xemacs/packages") ("Canada (crc.ca)" "ftp.crc.ca" "pub/packages/editors/xemacs/packages") ("Canada (nrc.ca)" "ftp.nrc.ca" "pub/packages/editors/xemacs/packages") ("Czech Republic (cz.xemacs.org)" "ftp.cz.xemacs.org" "MIRRORS/ftp.xemacs.org/pub/xemacs/packages") ("Denmark (dk.xemacs.org)" "ftp.dk.xemacs.org" "xemacs/packages") ("Finland (fi.xemacs.org)" "ftp.fi.xemacs.org" "pub/mirrors/ftp.xemacs.org/pub/tux/xemacs/packages") ("France (fr.xemacs.org)" "ftp.fr.xemacs.org" "pub/xemacs/packages") ("France (mirror.cict.fr)" "mirror.cict.fr" "xemacs/packages") ("France (pasteur.fr)" "ftp.pasteur.fr" "pub/computing/xemacs/packages") ("Germany (de.xemacs.org)" "ftp.de.xemacs.org" "pub/ftp.xemacs.org/tux/xemacs/packages") ("Greece (gr.xemacs.org)" "ftp.gr.xemacs.org" "mirrors/XEmacs/ftp/packages") ("Hong Kong (hk.xemacs.org)" "ftp.hk.xemacs.org" "pub/xemacsftp/packages") ("Ireland (ie.xemacs.org)" "ftp.ie.xemacs.org" "mirrors/ftp.xemacs.org/pub/xemacs/packages") ("Ireland (heanet.ie)" "ftp.heanet.ie" "mirrors/ftp.xemacs.org/packages") ("Italy (it.xemacs.org)" "ftp.it.xemacs.org" "unix/packages/XEMACS/packages") ("Japan (dti.ad.jp)" "ftp.dti.ad.jp" "pub/unix/editor/xemacs/packages") ("Japan (jp.xemacs.org)" "ftp.jp.xemacs.org" "pub/text/xemacs/packages") ("Korea (kr.xemacs.org)" "ftp.kr.xemacs.org" "pub/tools/emacs/xemacs/packages") ("Netherlands (nl.xemacs.org)" "ftp.nl.xemacs.org" "pub/xemacs/ftp/packages") ("Norway (no.xemacs.org)" "ftp.no.xemacs.org" "pub/xemacs/packages") ("Portugal (pt.xemacs.org)" "ftp.pt.xemacs.org" "pub/MIRRORS/ftp.xemacs.org/packages") ("Russia (ru.xemacs.org)" "ftp.ru.xemacs.org" "pub/emacs/xemacs/packages") ("Saudi Arabia (sa.xemacs.org)" "ftp.sa.xemacs.org" "pub/xemacs.org/packages") ("Sweden (se.xemacs.org)" "ftp.se.xemacs.org" "pub/gnu/xemacs/packages") ("Switzerland (ch.xemacs.org)" "ftp.ch.xemacs.org" "mirror/xemacs/packages") ("Taiwan (ftp.tw.xemacs.org)" "ftp.tw.xemacs.org" "Unix/Editors/XEmacs/packages") ("UK (uk.xemacs.org)" "ftp.uk.xemacs.org" "sites/ftp.xemacs.org/pub/xemacs/packages") ("US (ibiblio.org)" "mirrors.ibiblio.org" "pub/mirrors/xemacs/packages") ("US (us.xemacs.org)" "ftp.us.xemacs.org" "pub/mirrors/xemacs/packages")) "*List of remote sites available for downloading packages.\nList format is '(site-description site-name directory-on-site).\nSITE-DESCRIPTION is a textual description of the site.  SITE-NAME\nis the internet address of the download site.  DIRECTORY-ON-SITE\nis the directory on the site in which packages may be found.\nThis variable is used to initialize `package-get-remote', the\nvariable actually used to specify package download sites." :tag "Package download sites" :type '(repeat (list (string :tag "Name") host-name directory)) :group 'package-get)
 
-(defcustom package-get-pre-release-download-sites '(("US Pre-Releases (Main XEmacs Site)" "ftp.xemacs.org" "pub/xemacs/beta/experimental/packages") ("Argentina Pre-Releases (xmundo.net)" "xemacs.xmundo.net" "pub/mirrors/xemacs/beta/experimental/packages") ("Australia Pre-Releases (aarnet.edu.au)" "mirror.aarnet.edu.au" "pub/xemacs/beta/experimental/packages") ("Australia Pre-Releases (au.xemacs.org)" "ftp.au.xemacs.org" "pub/xemacs/beta/experimental/packages") ("Austria Pre-Releases (at.xemacs.org)" "ftp.at.xemacs.org" "editors/xemacs/beta/experimental/packages") ("Belgium (be.xemacs.org)" "ftp.be.xemacs.org" "xemacs/beta/experimental/packages") ("Brazil Pre-Releases (br.xemacs.org)" "ftp.br.xemacs.org" "pub/xemacs/xemacs-21.5/experimental/packages") ("Canada Pre-Releases (ca.xemacs.org)" "ftp.ca.xemacs.org" "pub/Mirror/xemacs/beta/experimental/packages") ("Canada Pre-Releases (crc.ca)" "ftp.crc.ca" "pub/packages/editors/xemacs/beta/experimental/packages") ("Canada Pre-Releases (nrc.ca)" "ftp.nrc.ca" "pub/packages/editors/xemacs/beta/experimental/packages") ("Czech Republic Pre-Releases (cz.xemacs.org)" "ftp.cz.xemacs.org" "MIRRORS/ftp.xemacs.org/pub/xemacs/xemacs-21.5/experimental/packages") ("Denmark Pre-Releases (dk.xemacs.org)" "ftp.dk.xemacs.org" "pub/emacs/xemacs/beta/experimental/packages") ("Finland Pre-Releases (fi.xemacs.org)" "ftp.fi.xemacs.org" "pub/mirrors/ftp.xemacs.org/pub/tux/xemacs/beta/experimental/packages") ("France Pre-Releases (fr.xemacs.org)" "ftp.fr.xemacs.org" "pub/xemacs/beta/experimental/packages") ("France Pre-Releases (mirror.cict.fr)" "mirror.cict.fr" "xemacs/beta/experimental/packages") ("France Pre-Releases (pasteur.fr)" "ftp.pasteur.fr" "pub/computing/xemacs/beta/experimental/packages") ("Germany Pre-Releases (de.xemacs.org)" "ftp.de.xemacs.org" "pub/ftp.xemacs.org/tux/xemacs/beta/experimental/packages") ("Hong Kong Pre-Releases (hk.xemacs.org)" "ftp.hk.xemacs.org" "pub/xemacsftp/beta/experimental/packages") ("Iceland Pre-Releases (is.xemacs.org)" "ftp.is.xemacs.org" "pub/xemacs/beta/experimental/packages") ("Ireland Pre-Releases (ie.xemacs.org)" "ftp.ie.xemacs.org" "mirrors/ftp.xemacs.org/pub/xemacs/beta/experimental/packages") ("Ireland Pre-Releases (heanet.ie)" "ftp.heanet.ie" "mirrors/ftp.xemacs.org/beta/experimental/packages") ("Italy Pre-Releases (it.xemacs.org)" "ftp.it.xemacs.org" "unix/packages/XEMACS/beta/experimental/packages") ("Japan Pre-Releases (aist.go.jp)" "ring.aist.go.jp" "pub/text/xemacs/beta/experimental/packages") ("Japan Pre-Releases (asahi-net.or.jp)" "ring.asahi-net.or.jp" "pub/text/xemacs/beta/experimental/packages") ("Japan Pre-Releases (dti.ad.jp)" "ftp.dti.ad.jp" "pub/unix/editor/xemacs/beta/experimental/packages") ("Japan Pre-Releases (sut.ac.jp)" "sunsite.sut.ac.jp" "pub/archives/packages/xemacs/xemacs-21.5/experimental/packages") ("Korea (kr.xemacs.org)" "ftp.kr.xemacs.org" "pub/tools/emacs/xemacs/beta/experimental/packages") ("Netherlands (nl.xemacs.org)" "ftp.nl.xemacs.org" "pub/xemacs/ftp/beta/experimental/packages") ("New Zealand Pre-Releases (nz.xemacs.org)" "ftp.nz.xemacs.org" "mirror/ftp.xemacs.org/packages") ("Norway Pre-Releases (no.xemacs.org)" "ftp.no.xemacs.org" "pub/xemacs/beta/experimental/packages") ("Poland Pre-Releases (pl.xemacs.org)" "ftp.pl.xemacs.org" "pub/unix/editors/xemacs/beta/experimental/packages") ("Portugal Pre-Releases (pt.xemacs.org)" "ftp.pt.xemacs.org" "pub/MIRRORS/ftp.xemacs.org/beta/experimental/packages") ("Russia Pre-Releases (ru.xemacs.org)" "ftp.ru.xemacs.org" "pub/emacs/xemacs/beta/experimental/packages") ("Sweden Pre-Releases (se.xemacs.org)" "ftp.se.xemacs.org" "pub/gnu/xemacs/beta/experimental/packages") ("Switzerland Pre-Releases (ch.xemacs.org)" "ftp.ch.xemacs.org" "mirror/xemacs/beta/experimental/packages") ("Taiwan Pre-Releases (ftp.tw.xemacs.org)" "ftp.tw.xemacs.org" "Unix/Editors/XEmacs/beta/experimental/packages") ("UK Pre-Releases (uk.xemacs.org)" "ftp.uk.xemacs.org" "sites/ftp.xemacs.org/pub/xemacs/beta/experimental/packages") ("US Pre-Releases (ibiblio.org)" "mirrors.ibiblio.org" "pub/mirrors/xemacs/beta/experimental/packages") ("US Pre-Releases (stealth.net)" "ftp.stealth.net" "pub/mirrors/ftp.xemacs.org/pub/xemacs/beta/experimental/packages") ("US Pre-Releases (unc.edu)" "metalab.unc.edu" "pub/packages/editors/xemacs/beta/experimental/packages") ("US Pre-Releases (us.xemacs.org)" "ftp.us.xemacs.org" "pub/xemacs/beta/experimental/packages")) "*List of remote sites available for downloading \"Pre-Release\" packages.\nList format is '(site-description site-name directory-on-site).\nSITE-DESCRIPTION is a textual description of the site.  SITE-NAME\nis the internet address of the download site.  DIRECTORY-ON-SITE\nis the directory on the site in which packages may be found.\nThis variable is used to initialize `package-get-remote', the\nvariable actually used to specify package download sites." :tag "Pre-Release Package download sites" :type '(repeat (list (string :tag "Name") host-name directory)) :group 'package-get)
+(defcustom package-get-pre-release-download-sites '(("US Pre-Releases (Main XEmacs Site)" "ftp.xemacs.org" "pub/xemacs/beta/experimental/packages") ("Argentina Pre-Releases (xmundo.net)" "xemacs.xmundo.net" "pub/mirrors/xemacs/beta/experimental/packages") ("Australia Pre-Releases (aarnet.edu.au)" "mirror.aarnet.edu.au" "pub/xemacs/beta/experimental/packages") ("Australia Pre-Releases (au.xemacs.org)" "ftp.au.xemacs.org" "pub/xemacs/beta/experimental/packages") ("Austria Pre-Releases (at.xemacs.org)" "ftp.at.xemacs.org" "editors/xemacs/beta/experimental/packages") ("Belgium (be.xemacs.org)" "ftp.be.xemacs.org" "xemacs/beta/experimental/packages") ("Brazil Pre-Releases (br.xemacs.org)" "ftp.br.xemacs.org" "pub/xemacs/xemacs-21.5/experimental/packages") ("Canada Pre-Releases (ca.xemacs.org)" "ftp.ca.xemacs.org" "pub/Mirror/xemacs/beta/experimental/packages") ("Canada Pre-Releases (nrc.ca)" "ftp.nrc.ca" "pub/packages/editors/xemacs/beta/experimental/packages") ("Czech Republic Pre-Releases (cz.xemacs.org)" "ftp.cz.xemacs.org" "MIRRORS/ftp.xemacs.org/pub/xemacs/xemacs-21.5/experimental/packages") ("Denmark Pre-Releases (dk.xemacs.org)" "ftp.dk.xemacs.org" "xemacs/beta/experimental/packages") ("Finland Pre-Releases (fi.xemacs.org)" "ftp.fi.xemacs.org" "pub/mirrors/ftp.xemacs.org/pub/tux/xemacs/beta/experimental/packages") ("France Pre-Releases (fr.xemacs.org)" "ftp.fr.xemacs.org" "pub/xemacs/beta/experimental/packages") ("France Pre-Releases (mirror.cict.fr)" "mirror.cict.fr" "xemacs/beta/experimental/packages") ("France Pre-Releases (pasteur.fr)" "ftp.pasteur.fr" "pub/computing/xemacs/beta/experimental/packages") ("Germany Pre-Releases (de.xemacs.org)" "ftp.de.xemacs.org" "pub/ftp.xemacs.org/tux/xemacs/beta/experimental/packages") ("Greece Pre-Releases (gr.xemacs.org)" "ftp.gr.xemacs.org" "mirrors/XEmacs/ftp/beta/experimental/packages") ("Hong Kong Pre-Releases (hk.xemacs.org)" "ftp.hk.xemacs.org" "pub/xemacsftp/beta/experimental/packages") ("Ireland Pre-Releases (ie.xemacs.org)" "ftp.ie.xemacs.org" "mirrors/ftp.xemacs.org/pub/xemacs/beta/experimental/packages") ("Ireland Pre-Releases (heanet.ie)" "ftp.heanet.ie" "mirrors/ftp.xemacs.org/beta/experimental/packages") ("Italy Pre-Releases (it.xemacs.org)" "ftp.it.xemacs.org" "unix/packages/XEMACS/beta/experimental/packages") ("Japan Pre-Releases (dti.ad.jp)" "ftp.dti.ad.jp" "pub/unix/editor/xemacs/beta/experimental/packages") ("Japan Pre-Releases (jp.xemacs.org)" "ftp.jp.xemacs.org" "pub/text/xemacs/beta/experimental/packages") ("Korea (kr.xemacs.org)" "ftp.kr.xemacs.org" "pub/tools/emacs/xemacs/beta/experimental/packages") ("Netherlands (nl.xemacs.org)" "ftp.nl.xemacs.org" "pub/xemacs/ftp/beta/experimental/packages") ("Norway Pre-Releases (no.xemacs.org)" "ftp.no.xemacs.org" "pub/xemacs/beta/experimental/packages") ("Portugal Pre-Releases (pt.xemacs.org)" "ftp.pt.xemacs.org" "pub/MIRRORS/ftp.xemacs.org/beta/experimental/packages") ("Russia Pre-Releases (ru.xemacs.org)" "ftp.ru.xemacs.org" "pub/emacs/xemacs/beta/experimental/packages") ("Saudi Arabia (sa.xemacs.org)" "ftp.sa.xemacs.org" "pub/xemacs.org/beta/experimental/packages") ("Sweden Pre-Releases (se.xemacs.org)" "ftp.se.xemacs.org" "pub/gnu/xemacs/beta/experimental/packages") ("Switzerland Pre-Releases (ch.xemacs.org)" "ftp.ch.xemacs.org" "mirror/xemacs/beta/experimental/packages") ("Taiwan Pre-Releases (ftp.tw.xemacs.org)" "ftp.tw.xemacs.org" "Unix/Editors/XEmacs/beta/experimental/packages") ("UK Pre-Releases (uk.xemacs.org)" "ftp.uk.xemacs.org" "sites/ftp.xemacs.org/pub/xemacs/beta/experimental/packages") ("US Pre-Releases (ibiblio.org)" "mirrors.ibiblio.org" "pub/mirrors/xemacs/beta/experimental/packages") ("US Pre-Releases (us.xemacs.org)" "ftp.us.xemacs.org" "pub/mirrors/xemacs/beta/experimental/packages")) "*List of remote sites available for downloading \"Pre-Release\" packages.\nList format is '(site-description site-name directory-on-site).\nSITE-DESCRIPTION is a textual description of the site.  SITE-NAME\nis the internet address of the download site.  DIRECTORY-ON-SITE\nis the directory on the site in which packages may be found.\nThis variable is used to initialize `package-get-remote', the\nvariable actually used to specify package download sites." :tag "Pre-Release Package download sites" :type '(repeat (list (string :tag "Name") host-name directory)) :group 'package-get)
 
 (defcustom package-get-site-release-download-sites nil "*List of remote sites available for downloading \"Site Release\" packages.\nList format is '(site-description site-name directory-on-site).\nSITE-DESCRIPTION is a textual description of the site.  SITE-NAME\nis the internet address of the download site.  DIRECTORY-ON-SITE\nis the directory on the site in which packages may be found.\nThis variable is used to initialize `package-get-remote', the\nvariable actually used to specify package download sites." :tag "Site Release Package download sites" :type '(repeat (list (string :tag "Name") host-name directory)) :group 'package-get)
 
index c71a172..8ac62f6 100644 (file)
@@ -670,8 +670,10 @@ If the only argument is nil, clear any existing progress gauge."
 
 (defun progress-feedback-with-label (label fmt &optional value &rest args)
   "Print a progress gauge and message in the bottom gutter area of the frame.
-First argument LABEL is an identifier for this progress gauge.  The rest of the
-arguments are the same as to `format'."
+LABEL is an identifier for this progress gauge.
+FMT is a format string to be passed to `format' along with ARGS.
+Optional VALUE is the current degree of progress, an integer 0-100.
+The remaining ARGS are passed with FMT `(apply #'format FMT ARGS)'."
   ;; #### sometimes the buffer gets changed temporarily. I don't know
   ;; why this is, so protect against it.
   (save-excursion
index 5c036fa..26cc299 100644 (file)
@@ -715,43 +715,56 @@ perform the migration at any time with M-x migrate-user-init-file.")
              (yes-or-no-p-minibuf (concat "Migrate init file to "
                                           user-init-directory
                                           "? "))))
-         (progn
-           (migrate-user-init-file)
-           (maybe-create-compatibility-dot-emacs))
-       (customize-save-variable 'load-home-init-file t))))
 
-(defun maybe-create-compatibility-dot-emacs ()
-  "Ask user if she wants to create a .emacs compatibility file."
-  (if (with-output-to-temp-buffer (help-buffer-name nil)
-       (progn
-         (princ "The initialization code has now been migrated to the ")
-         (princ user-init-directory)
-         (princ "directory.
+         (let ((backup (migrate-user-init-file)))
+           (with-output-to-temp-buffer (help-buffer-name nil)
+             (progn
+             (princ "The initialization code has now been migrated to the ")
+             (princ user-init-directory)
+             (princ "directory.
 
 For backwards compatibility with, for example, older versions of XEmacs,
 XEmacs can create a special old-style .emacs file in your home
 directory which will load the relocated initialization code.")
-         (show-temp-buffer-in-current-frame standard-output)
-         (yes-or-no-p-minibuf "Create compatibility .emacs? ")))
+             (if backup
+                 (progn
+                   (princ "\nMoreover, a backup of your old .emacs file was created as\n")
+                   (princ backup)
+                   (princ ".\n")))
+             (show-temp-buffer-in-current-frame standard-output)
+             (maybe-create-compatibility-dot-emacs))))
+       (customize-save-variable 'load-home-init-file t))))
+
+(defun maybe-create-compatibility-dot-emacs ()
+  "Ask user if she wants to create a .emacs compatibility file."
+  (if (yes-or-no-p-minibuf "Create compatibility .emacs? ")
       (create-compatibility-dot-emacs)))
 
 (defun migrate-user-init-file ()
-  "Migrate the init file from the home directory."
+  "Migrate the init file from the home directory.
+Return the name of backup file, if one was created."
   (interactive)
   (if (not (file-exists-p user-init-directory))
       (progn
        (message "Creating %s directory..." user-init-directory)
        (make-directory user-init-directory)))
   (message "Migrating custom file...")
-  (customize-set-value 'load-home-init-file nil)
-  (custom-migrate-custom-file (make-custom-file-name user-init-file
-                                                    'force-new))
-  (message "Moving init file...")
-  (let ((new-user-init-file (expand-file-name user-init-file-base
-                                             user-init-directory)))
-    (rename-file user-init-file new-user-init-file)
-    (setq user-init-file new-user-init-file))
-  (message "Migration done."))
+  (let* ((backup (concat user-init-file ".backup"))
+        (backup-p
+         (and (not (file-exists-p backup))
+              (progn
+                (copy-file user-init-file backup)
+                t))))
+    (customize-set-value 'load-home-init-file nil)
+    (custom-migrate-custom-file (make-custom-file-name user-init-file
+                                                      'force-new))
+    (message "Moving init file...")
+    (let ((new-user-init-file (expand-file-name user-init-file-base
+                                               user-init-directory)))
+      (rename-file user-init-file new-user-init-file)
+      (setq user-init-file new-user-init-file))
+    (message "Migration done.")
+    (and backup-p backup)))
 
 (defun create-compatibility-dot-emacs ()
   "Create .emacs compatibility file for migrated setup."
index 074a6c7..7364fd1 100644 (file)
@@ -132,7 +132,7 @@ static void EnableUpdate  (GaugeWidget);
 static void DisableUpdate (GaugeWidget);
 
 static void GaugeGetValue (XtPointer, XtIntervalId *);
-static void GaugeMercury (Display *, Window, GC, GaugeWidget, Cardinal, Cardinal);
+static void GaugeMercury (Display *, Window, GC, GaugeWidget, int, int);
 
 static Boolean GaugeConvert (Widget, Atom *, Atom *, Atom *,
                             XtPointer *, unsigned long *, int *);
@@ -819,8 +819,7 @@ GaugeGetSelCB (Widget    w,
         */
 
 void
-XawGaugeSetValue (Widget   w,
-                 Cardinal value)
+XawGaugeSetValue (Widget w, int value)
 {
        GaugeWidget gw = (GaugeWidget)w ;
        int     oldvalue ;
@@ -852,7 +851,7 @@ XawGaugeSetValue (Widget   w,
 }
 
 
-Cardinal
+int
 XawGaugeGetValue (Widget w)
 {
        GaugeWidget gw = (GaugeWidget)w ;
@@ -875,8 +874,8 @@ GaugeMercury (Display     *dpy,
              Window      win,
              GC          gc,
              GaugeWidget gw,
-             Cardinal    val0,
-             Cardinal    val1)
+             int    val0,
+             int    val1)
 {
        int     v0 = gw->gauge.v0 ;
        int     v1 = gw->gauge.v1 ;
@@ -1110,7 +1109,7 @@ GaugeGetValue (XtPointer    clientData,
               XtIntervalId *intervalId)
 {
        GaugeWidget     gw = (GaugeWidget)clientData ;
-       Cardinal        value ;
+       int     value ;
 
        if( gw->gauge.update > 0 )
          EnableUpdate(gw) ;
index ceb21ef..8141384 100644 (file)
@@ -48,9 +48,9 @@ Boston, MA 02111-1307, USA.  */
 
  Name                  Class           RepType         Default Value
  ----                  -----           -------         -------------
- value                 Value           Cardinal        0
- minValue              MinValue        Cardinal        0
- maxValue              MaxValue        Cardinal        100
+ value                 Value           Int     0
+ minValue              Int     Cardinal        0
+ maxValue              Int     Cardinal        100
  ntics                 NTics           Cardinal        0       +
  nlabels               NLabels         Cardinal        0       ++
  labels                        Labels          String *        NULL    +++
@@ -100,7 +100,7 @@ Boston, MA 02111-1307, USA.  */
                XtPointer client ;
                XtPointer rval ;
        {
-         *(Cardinal *)rval = value ;
+         *(int *)rval = value ;
        }
 
 */
@@ -169,11 +169,11 @@ _XFUNCPROTOBEGIN
 extern void    XawGaugeSetValue(
 #if NeedFunctionPrototypes
        Widget  gauge,
-       Cardinal value
+       int value
 #endif
 );
 
-extern Cardinal XawGaugeGetValue(
+extern int XawGaugeGetValue(
 #if NeedFunctionPrototypes
        Widget  gauge
 #endif
index bed827a..33afe7b 100644 (file)
@@ -1,3 +1,7 @@
+2007-10-07  Vin Shelton  <acs@xemacs.org>
+
+       * XEmacs 21.4.21 is released
+
 2006-12-09  Vin Shelton  <acs@xemacs.org>
 
        * XEmacs 21.4.20 is released
diff --git a/nt/XEmacs.iss b/nt/XEmacs.iss
new file mode 100644 (file)
index 0000000..b31c915
--- /dev/null
@@ -0,0 +1,420 @@
+; This script generates an installation kit for a Windows-native XEmacs, 21.4 and 21.5.
+; This script runs with Inno Setup version 5.1.6, see http://www.jrsoftware.org/ for more info.
+; This script requires the Inno Setup pre-processor.
+;
+; Version History
+; 2007-09-26  Vin Shelton <acs@xemacs.org>    Remove setting of package-get-always-update and miscellaneous cleanup.
+; 2007-09-25  Vin Shelton <acs@xemacs.org>    Put comment wrapper around site-start.el changes and remove them on uninstall.
+;                                             Enable ftp.xemacs.org for packages and set path to ftp.exe in site-start.el.
+; 2007-09-06  Vin Shelton <acs@xemacs.org>    Added easypg.
+; 2006-04-06  Vin Shelton <acs@xemacs.org>    Changed defaults for ExecSrc and PkgSrc.
+;                                             Don't set 'Start in' property.
+; 2006-04-02  Vin Shelton <acs@xemacs.org>    Set 'Start in' property for shortcuts to 'My Documents' directory.
+; 2006-03-03  Vin Shelton <acs@xemacs.org>    Support for 21.5.  Added packages as separate components.
+; 2006-01-28  Vin Shelton <acs@xemacs.org>    Erase unused registry code.
+; 2006-01-26  Vin Shelton <acs@xemacs.org>    Don't append XEmacs binary directory to system path.
+; 2006-01-21  Vin Shelton <acs@xemacs.org>    Append XEmacs binary directory to system path; this is not currently deleted on uninstall.
+;                                             Get built kit from C:\XEmacs-built.
+; 2005-12-26  Vin Shelton <acs@xemacs.org>    Packages are now installed directly into {app}\xemacs-packages, etc.  As of 21.4.19, the package root is found automatically, so EMACSPACKAGEPATH is no longer necessary.
+; 2005-12-17  Vin Shelton <acs@xemacs.org>    Move packages out of the version-specific tree.
+; 2005-12-13  Vin Shelton <acs@xemacs.org>    Created.
+
+; Allow undefined identifiers, e.g. 'KitName'
+#pragma parseroption -u+
+
+;#define QUICKIE_TEST
+
+#ifndef XEmacsVersion
+  #define XEmacsVersion  "21.4.20"
+#endif
+;#define KitName     "-2"
+#ifndef ExecSrc
+  #define ExecSrc     "installed"
+#endif
+#ifndef PkgSrc
+  #define PkgSrc      "packages"
+#endif
+
+[Setup]
+AllowNoIcons=yes
+AppName=XEmacs
+AppVerName=XEmacs {#XEmacsVersion}
+AppPublisher=XEmacs Development Team
+AppPublisherURL=http://www.xemacs.org
+AppSupportURL=http://www.xemacs.org
+AppUpdatesURL=http://www.xemacs.org
+Compression=lzma
+DefaultDirName={pf}\XEmacs
+DefaultGroupName=XEmacs
+InfoBeforeFile=ReadMe-{#XEmacsVersion}
+OutputDir=.
+OutputBaseFilename=XEmacs_Setup_{#XEmacsVersion}{#KitName}
+SolidCompression=yes
+UninstallFilesDir={app}/XEmacs-{#XEmacsVersion}
+
+[Languages]
+Name: "english"; MessagesFile: "compiler:Default.isl"
+
+[Messages]
+StatusRunProgram=Unpacking selected packages...
+
+[Tasks]
+Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
+Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
+
+[Files]
+; Always installed
+Source: "{#ExecSrc}\XEmacs-{#XEmacsVersion}\*"; DestDir: "{app}\XEmacs-{#XEmacsVersion}"; Flags: ignoreversion recursesubdirs
+Source: "{#PkgSrc}\efs-*-pkg.tar"; DestDir: "{app}\xemacs-packages"; Flags: ignoreversion
+Source: "{#PkgSrc}\xemacs-base-*-pkg.tar"; DestDir: "{app}\xemacs-packages"; Flags: ignoreversion
+; minitar.exe and unpack.cmd are used to unpack the packages
+Source: "{#ExecSrc}\XEmacs-{#XEmacsVersion}\i586-pc-win32\minitar.exe"; DestDir: "{app}\xemacs-packages"; Flags: ignoreversion
+Source: "unpack.cmd"; DestDir: "{app}\xemacs-packages"; Flags: ignoreversion
+Source: "{#PkgSrc}\package-index.LATEST.gpg"; DestDir: "{app}";
+#ifndef QUICKIE_TEST
+; Recommended
+Source: "{#PkgSrc}\c-support-*-pkg.tar"; DestDir: "{app}\xemacs-packages"; Components: c_support; Flags: ignoreversion
+Source: "{#PkgSrc}\cc-mode-*-pkg.tar"; DestDir: "{app}\xemacs-packages"; Components: cc_mode; Flags: ignoreversion
+Source: "{#PkgSrc}\debug-*-pkg.tar"; DestDir: "{app}\xemacs-packages"; Components: debug; Flags: ignoreversion
+Source: "{#PkgSrc}\dired-*-pkg.tar"; DestDir: "{app}\xemacs-packages"; Components: dired; Flags: ignoreversion
+Source: "{#PkgSrc}\ecb-*-pkg.tar"; DestDir: "{app}\xemacs-packages"; Components: ecb; Flags: ignoreversion
+Source: "{#PkgSrc}\edebug-*-pkg.tar"; DestDir: "{app}\xemacs-packages"; Components: edebug; Flags: ignoreversion
+Source: "{#PkgSrc}\ediff-*-pkg.tar"; DestDir: "{app}\xemacs-packages"; Components: ediff; Flags: ignoreversion
+Source: "{#PkgSrc}\edit-utils-*-pkg.tar"; DestDir: "{app}\xemacs-packages"; Components: edit_utils; Flags: ignoreversion
+Source: "{#PkgSrc}\eieio-*-pkg.tar"; DestDir: "{app}\xemacs-packages"; Components: eieio; Flags: ignoreversion
+Source: "{#PkgSrc}\fsf-compat-*-pkg.tar"; DestDir: "{app}\xemacs-packages"; Components: fsf_compat; Flags: ignoreversion
+Source: "{#PkgSrc}\mail-lib-*-pkg.tar"; DestDir: "{app}\xemacs-packages"; Components: mail_lib; Flags: ignoreversion
+Source: "{#PkgSrc}\net-utils-*-pkg.tar"; DestDir: "{app}\xemacs-packages"; Components: net_utils; Flags: ignoreversion
+Source: "{#PkgSrc}\os-utils-*-pkg.tar"; DestDir: "{app}\xemacs-packages"; Components: os_utils; Flags: ignoreversion
+Source: "{#PkgSrc}\pc-*-pkg.tar"; DestDir: "{app}\xemacs-packages"; Components: pc; Flags: ignoreversion
+Source: "{#PkgSrc}\perl-modes-*-pkg.tar"; DestDir: "{app}\xemacs-packages"; Components: perl_modes; Flags: ignoreversion
+Source: "{#PkgSrc}\prog-modes-*-pkg.tar"; DestDir: "{app}\xemacs-packages"; Components: prog_modes; Flags: ignoreversion
+Source: "{#PkgSrc}\semantic-*-pkg.tar"; DestDir: "{app}\xemacs-packages"; Components: semantic; Flags: ignoreversion
+Source: "{#PkgSrc}\sh-script-*-pkg.tar"; DestDir: "{app}\xemacs-packages"; Components: sh_script; Flags: ignoreversion
+Source: "{#PkgSrc}\sounds-wav-*-pkg.tar"; DestDir: "{app}\xemacs-packages"; Components: sounds_wav; Flags: ignoreversion
+Source: "{#PkgSrc}\speedbar-*-pkg.tar"; DestDir: "{app}\xemacs-packages"; Components: speedbar; Flags: ignoreversion
+Source: "{#PkgSrc}\texinfo-*-pkg.tar"; DestDir: "{app}\xemacs-packages"; Components: texinfo; Flags: ignoreversion
+Source: "{#PkgSrc}\text-modes-*-pkg.tar"; DestDir: "{app}\xemacs-packages"; Components: text_modes; Flags: ignoreversion
+Source: "{#PkgSrc}\time-*-pkg.tar"; DestDir: "{app}\xemacs-packages"; Components: time; Flags: ignoreversion
+Source: "{#PkgSrc}\xemacs-devel-*-pkg.tar"; DestDir: "{app}\xemacs-packages"; Components: xemacs_devel; Flags: ignoreversion
+; Optional
+Source: "{#PkgSrc}\auctex-*-pkg.tar"; DestDir: "{app}\xemacs-packages"; Components: auctex; Flags: ignoreversion
+Source: "{#PkgSrc}\bbdb-*-pkg.tar"; DestDir: "{app}\xemacs-packages"; Components: bbdb; Flags: ignoreversion
+Source: "{#PkgSrc}\calc-*-pkg.tar"; DestDir: "{app}\xemacs-packages"; Components: calc; Flags: ignoreversion
+Source: "{#PkgSrc}\easypg-*-pkg.tar"; DestDir: "{app}\xemacs-packages"; Components: easypg; Flags: ignoreversion
+Source: "{#PkgSrc}\ecrypto-*-pkg.tar"; DestDir: "{app}\xemacs-packages"; Components: ecrypto; Flags: ignoreversion
+Source: "{#PkgSrc}\elib-*-pkg.tar"; DestDir: "{app}\xemacs-packages"; Components: elib; Flags: ignoreversion
+Source: "{#PkgSrc}\emerge-*-pkg.tar"; DestDir: "{app}\xemacs-packages"; Components: emerge; Flags: ignoreversion
+Source: "{#PkgSrc}\eshell-*-pkg.tar"; DestDir: "{app}\xemacs-packages"; Components: eshell; Flags: ignoreversion
+Source: "{#PkgSrc}\footnote-*-pkg.tar"; DestDir: "{app}\xemacs-packages"; Components: footnote; Flags: ignoreversion
+Source: "{#PkgSrc}\fortran-modes-*-pkg.tar"; DestDir: "{app}\xemacs-packages"; Components: fortran_modes; Flags: ignoreversion
+Source: "{#PkgSrc}\gnus-*-pkg.tar"; DestDir: "{app}\xemacs-packages"; Components: gnus; Flags: ignoreversion
+Source: "{#PkgSrc}\hm--html-menus-*-pkg.tar"; DestDir: "{app}\xemacs-packages"; Components: hm__html_menus; Flags: ignoreversion
+Source: "{#PkgSrc}\ibuffer-*-pkg.tar"; DestDir: "{app}\xemacs-packages"; Components: ibuffer; Flags: ignoreversion
+Source: "{#PkgSrc}\igrep-*-pkg.tar"; DestDir: "{app}\xemacs-packages"; Components: igrep; Flags: ignoreversion
+Source: "{#PkgSrc}\ispell-*-pkg.tar"; DestDir: "{app}\xemacs-packages"; Components: ispell; Flags: ignoreversion
+Source: "{#PkgSrc}\jde-*-pkg.tar"; DestDir: "{app}\xemacs-packages"; Components: jde; Flags: ignoreversion
+Source: "{#PkgSrc}\mailcrypt-*-pkg.tar"; DestDir: "{app}\xemacs-packages"; Components: mailcrypt; Flags: ignoreversion
+Source: "{#PkgSrc}\mh-e-*-pkg.tar"; DestDir: "{app}\xemacs-packages"; Components: mh_e; Flags: ignoreversion
+Source: "{#PkgSrc}\mmm-mode-*-pkg.tar"; DestDir: "{app}\xemacs-packages"; Components: mmm_mode; Flags: ignoreversion
+Source: "{#PkgSrc}\pcl-cvs-*-pkg.tar"; DestDir: "{app}\xemacs-packages"; Components: pcl_cvs; Flags: ignoreversion
+Source: "{#PkgSrc}\pcomplete-*-pkg.tar"; DestDir: "{app}\xemacs-packages"; Components: pcomplete; Flags: ignoreversion
+Source: "{#PkgSrc}\ps-print-*-pkg.tar"; DestDir: "{app}\xemacs-packages"; Components: ps_print; Flags: ignoreversion
+Source: "{#PkgSrc}\psgml-*-pkg.tar"; DestDir: "{app}\xemacs-packages"; Components: psgml; Flags: ignoreversion
+Source: "{#PkgSrc}\python-modes-*-pkg.tar"; DestDir: "{app}\xemacs-packages"; Components: python_modes; Flags: ignoreversion
+Source: "{#PkgSrc}\re-builder-*-pkg.tar"; DestDir: "{app}\xemacs-packages"; Components: re_builder; Flags: ignoreversion
+Source: "{#PkgSrc}\reftex-*-pkg.tar"; DestDir: "{app}\xemacs-packages"; Components: reftex; Flags: ignoreversion
+Source: "{#PkgSrc}\ruby-modes-*-pkg.tar"; DestDir: "{app}\xemacs-packages"; Components: ruby_modes; Flags: ignoreversion
+Source: "{#PkgSrc}\sasl-*-pkg.tar"; DestDir: "{app}\xemacs-packages"; Components: sasl; Flags: ignoreversion
+Source: "{#PkgSrc}\scheme-*-pkg.tar"; DestDir: "{app}\xemacs-packages"; Components: scheme; Flags: ignoreversion
+Source: "{#PkgSrc}\sgml-*-pkg.tar"; DestDir: "{app}\xemacs-packages"; Components: sgml; Flags: ignoreversion
+Source: "{#PkgSrc}\sieve-*-pkg.tar"; DestDir: "{app}\xemacs-packages"; Components: sieve; Flags: ignoreversion
+Source: "{#PkgSrc}\supercite-*-pkg.tar"; DestDir: "{app}\xemacs-packages"; Components: supercite; Flags: ignoreversion
+Source: "{#PkgSrc}\textools-*-pkg.tar"; DestDir: "{app}\xemacs-packages"; Components: textools; Flags: ignoreversion
+Source: "{#PkgSrc}\tramp-*-pkg.tar"; DestDir: "{app}\xemacs-packages"; Components: tramp; Flags: ignoreversion
+Source: "{#PkgSrc}\vc-*-pkg.tar"; DestDir: "{app}\xemacs-packages"; Components: vc; Flags: ignoreversion
+Source: "{#PkgSrc}\vhdl-*-pkg.tar"; DestDir: "{app}\xemacs-packages"; Components: vhdl; Flags: ignoreversion
+Source: "{#PkgSrc}\viper-*-pkg.tar"; DestDir: "{app}\xemacs-packages"; Components: viper; Flags: ignoreversion
+Source: "{#PkgSrc}\vm-*-pkg.tar"; DestDir: "{app}\xemacs-packages"; Components: vm; Flags: ignoreversion
+Source: "{#PkgSrc}\w3-*-pkg.tar"; DestDir: "{app}\xemacs-packages"; Components: w3; Flags: ignoreversion
+Source: "{#PkgSrc}\x-symbol-*-pkg.tar"; DestDir: "{app}\xemacs-packages"; Components: x_symbol; Flags: ignoreversion
+Source: "{#PkgSrc}\xetla-*-pkg.tar"; DestDir: "{app}\xemacs-packages"; Components: xetla; Flags: ignoreversion
+Source: "{#PkgSrc}\xslide-*-pkg.tar"; DestDir: "{app}\xemacs-packages"; Components: xslide; Flags: ignoreversion
+Source: "{#PkgSrc}\xslt-process-*-pkg.tar"; DestDir: "{app}\xemacs-packages"; Components: xslt_process; Flags: ignoreversion
+#endif  // ifndef QUICKIE_TEST
+#ifdef MULE
+Source: "{#PkgSrc}\latin-euro-standards-*-pkg.tar"; DestDir: "{app}\mule-packages"; Components: latin_euro_standards; Flags: ignoreversion
+Source: "{#PkgSrc}\latin-unity-*-pkg.tar"; DestDir: "{app}\mule-packages"; Components: latin_unity; Flags: ignoreversion
+Source: "{#PkgSrc}\locale-*-pkg.tar"; DestDir: "{app}\mule-packages"; Components: locale; Flags: ignoreversion
+Source: "{#PkgSrc}\lookup-*-pkg.tar"; DestDir: "{app}\mule-packages"; Components: lookup; Flags: ignoreversion
+Source: "{#PkgSrc}\mule-base-*-pkg.tar"; DestDir: "{app}\mule-packages"; Components: mule_base; Flags: ignoreversion
+#endif
+
+[Types]
+Name: "recommended"; Description: "Recommended installation"
+Name: "complete"; Description: "Install XEmacs {#XEmacsVersion} and all packages"
+Name: "minimal"; Description: "Minimalist installation"
+Name: "custom"; Description: "Custom installation"; Flags: iscustom
+
+[Components]
+Name: "base"; Description: "XEmacs {#XEmacsVersion} executable and essential support files"; Types: complete minimal recommended custom; Flags: fixed
+Name: "auctex"; Description: "auctex: Basic TeX/LaTeX support"; Types: complete custom
+Name: "bbdb"; Description: "bbdb: The Big Brother Data Base"; Types: complete custom
+Name: "c_support"; Description: "c-support: Basic single-file add-ons for editing C code"; Types: complete recommended custom
+Name: "calc"; Description: "calc: Emacs calculator"; Types: complete custom
+Name: "cc_mode"; Description: "cc-mode: C, C++, etc language support"; Types: complete recommended custom
+Name: "debug"; Description: "debug: GUD, gdb, dbx debugging support"; Types: complete recommended custom
+Name: "dired"; Description: "dired: Manage file systems"; Types: complete recommended custom
+Name: "ecb"; Description: "ecb: Emacs source code browser"; Types: complete recommended custom
+Name: "easypg"; Description: "easypg: GnuPG interface for Emacs"; Types: complete custom
+Name: "ecrypto"; Description: "ecrypto: Crypto functionality in Emacs Lisp"; Types: complete custom
+Name: "edebug"; Description: "edebug: An Emacs Lisp debugger"; Types: complete recommended custom
+Name: "ediff"; Description: "ediff: Interface over GNU patch"; Types: complete recommended custom
+Name: "edit_utils"; Description: "edit-utils: Miscellaneous editor extensions, you probably need this"; Types: complete minimal recommended custom
+Name: "efs"; Description: "efs: Edit files on other computers"; Types: complete minimal recommended custom; Flags: fixed
+Name: "eieio"; Description: "eieio: Enhanced Implementation of Emacs Interpreted Objects"; Types: complete recommended custom
+Name: "elib"; Description: "elib: Portable Emacs Lisp utilities library"; Types: complete custom
+Name: "emerge"; Description: "emerge: Another interface over GNU patch"; Types: complete custom
+Name: "eshell"; Description: "eshell: Command shell implemented in Emacs Lisp"; Types: complete custom
+Name: "footnote"; Description: "footnote: Footnoting in mail message editing modes"; Types: complete custom
+Name: "fortran_modes"; Description: "fortran-modes: Fortran support"; Types: complete custom
+Name: "fsf_compat"; Description: "fsf-compat: FSF Emacs compatibility files"; Types: complete recommended custom
+Name: "gnus"; Description: "gnus: The Gnus Newsreader and Mailreader"; Types: complete custom
+Name: "hm__html_menus"; Description: "hm--html-menus: HTML editing"; Types: complete custom
+Name: "ibuffer"; Description: "ibuffer: Advanced replacement for buffer-menu"; Types: complete custom
+Name: "igrep"; Description: "igrep: Enhanced front-end for Grep"; Types: complete custom
+Name: "ispell"; Description: "ispell: Spell-checking with GNU ispell"; Types: complete custom
+Name: "jde"; Description: "jde: Integrated Development Environment for Java"; Types: complete custom
+#ifdef MULE
+Name: "latin_euro_standards"; Description: "latin-euro-standards: Support for the Latin character sets (MULE)"; Types: complete recommended custom
+Name: "latin_unity"; Description: "latin-unity: Find single ISO 8859 character set to encode a buffer (MULE)"; Types: complete recommended custom
+Name: "locale"; Description: "locale: Localized menubars and localized splash screens (MULE)"; Types: complete recommended custom
+Name: "lookup"; Description: "lookup: Dictionary support (MULE)"; Types: complete recommended custom
+#endif
+Name: "mail_lib"; Description: "mail-lib: Fundamental lisp files for providing email support"; Types: complete recommended custom
+Name: "mailcrypt"; Description: "mailcrypt: Support for messaging encryption with PGP"; Types: complete custom
+Name: "mh_e"; Description: "mh-e: Interface to the MH Mail System"; Types: complete custom
+Name: "mmm_mode"; Description: "mmm-mode: Multiple major modes in a single buffer"; Types: complete custom
+#ifdef MULE
+Name: "mule_base"; Description: "mule-base: Basic MULE support"; Types: complete recommended custom
+#endif
+Name: "net_utils"; Description: "net-utils: Miscellaneous Networking Utilities"; Types: complete recommended custom
+Name: "os_utils"; Description: "os-utils: Miscellaneous O/S utilities"; Types: complete recommended custom
+Name: "pc"; Description: "pc: PC style interface emulation"; Types: complete recommended custom
+Name: "pcl_cvs"; Description: "pcl-cvs: CVS frontend"; Types: complete custom
+Name: "pcomplete"; Description: "pcomplete: Provides programmatic completion"; Types: complete custom
+Name: "perl_modes"; Description: "perl-modes: Perl support"; Types: complete recommended custom
+Name: "prog_modes"; Description: "prog-modes: Support for various programming languages"; Types: complete recommended custom
+Name: "ps_print"; Description: "ps-print: Printing functions and utilities"; Types: complete custom
+Name: "psgml"; Description: "psgml: Validated HTML/SGML editing"; Types: complete custom
+Name: "python_modes"; Description: "python-modes: Python support"; Types: complete custom
+Name: "re_builder"; Description: "re-builder: Build regular expressions"; Types: complete custom
+Name: "reftex"; Description: "reftex: LaTeX cross-references and citations"; Types: complete custom
+Name: "ruby_modes"; Description: "ruby-modes: Ruby support"; Types: complete custom
+Name: "sasl"; Description: "sasl: Simple Authentication and Security Layer (SASL) library"; Types: complete custom
+Name: "scheme"; Description: "scheme: Front-end support for Inferior Scheme"; Types: complete custom
+Name: "semantic"; Description: "semantic: Semantic bovinator (Yacc/Lex for XEmacs)"; Types: complete recommended custom
+Name: "sgml"; Description: "sgml: SGML/Linuxdoc-SGML editing"; Types: complete custom
+Name: "sh_script"; Description: "sh-script: Support for editing shell scripts"; Types: complete recommended custom
+Name: "sieve"; Description: "sieve: Manage Sieve email filtering scripts"; Types: complete custom
+Name: "sounds_wav"; Description: "sounds-wav: XEmacs Microsoft sound files"; Types: complete recommended custom
+Name: "speedbar"; Description: "speedbar: Provides a separate frame with convenient references"; Types: complete recommended custom
+Name: "supercite"; Description: "supercite: Citation tool for news & mail messages"; Types: complete custom
+Name: "texinfo"; Description: "texinfo: XEmacs TeXinfo support"; Types: complete minimal recommended custom
+Name: "text_modes"; Description: "text-modes: Miscellaneous support for editing text files"; Types: complete recommended custom
+Name: "textools"; Description: "textools: Miscellaneous TeX support"; Types: complete custom
+Name: "time"; Description: "time: Display time & date on the modeline"; Types: complete recommended custom
+Name: "tramp"; Description: "tramp: Remote shell-based file editing"; Types: complete custom
+Name: "vc"; Description: "vc: Version Control for Free systems"; Types: complete custom
+Name: "vhdl"; Description: "vhdl: Support for VHDL"; Types: complete custom
+Name: "viper"; Description: "viper: VI emulation support"; Types: complete custom
+Name: "vm"; Description: "vm: An Emacs mailer"; Types: complete custom
+Name: "w3"; Description: "w3: A Web browser"; Types: complete custom
+Name: "x_symbol"; Description: "x-symbol: Semi WYSIWYG for LaTeX and HTML"; Types: complete custom
+Name: "xemacs_base"; Description: "xemacs-base: Basic XEmacs support";  Types: complete minimal recommended custom; Flags: fixed
+Name: "xemacs_devel"; Description: "xemacs-devel: Emacs Lisp developer support"; Types: complete recommended custom
+Name: "xetla"; Description: "xetla: XEmacs support for GNU/arch (tla)"; Types: complete custom
+Name: "xslide"; Description: "xslide: XSL editing support"; Types: complete custom
+Name: "xslt_process"; Description: "xslt-process: XSLT processing support"; Types: complete custom
+
+[INI]
+
+[Icons]
+Name: "{group}\XEmacs-{#XEmacsVersion}"; Filename: "{app}\XEmacs-{#XEmacsVersion}\i586-pc-win32\xemacs.exe"
+Name: "{group}\{cm:UninstallProgram,XEmacs-{#XEmacsVersion}}"; Filename: "{uninstallexe}"
+; WorkingDir corresponds to the 'Start in' property.
+Name: "{userdesktop}\XEmacs-{#XEmacsVersion}"; Filename: "{app}\XEmacs-{#XEmacsVersion}\i586-pc-win32\xemacs.exe"; Tasks: desktopicon
+Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\XEmacs-{#XEmacsVersion}"; Filename: "{app}\XEmacs-{#XEmacsVersion}\i586-pc-win32\xemacs.exe"; Tasks: quicklaunchicon
+
+[Run]
+; Unpack and delete the package tarballs
+Filename: "{app}\xemacs-packages\unpack.cmd"; WorkingDir: "{app}\xemacs-packages"; Flags: runhidden;  AfterInstall: AfterInstall
+
+[UninstallDelete]
+
+[Code]
+Const
+  SiteStartFooter = ';;; End of XEmacs_Setup addition' + #10;
+  SiteStartHeader = #10 + ';;; Lines added by XEmacs_Setup' + #10;
+  SubKeyName = 'Software\XEmacs\XEmacs';
+  ValueName = 'EMACSPACKAGEPATH';
+
+// Internal Declarations
+procedure AfterInstall(); forward;
+procedure CleanupPackagePath(); forward;
+procedure CreateSiteStart(); forward;
+procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep); forward;
+procedure RemovePackagePathSetting(RootKey: Integer); forward;
+procedure RemoveSiteStartModifications(); forward;
+
+
+procedure AfterInstall();
+begin
+  CreateSiteStart;
+  CleanupPackagePath;
+end;
+
+procedure CleanupPackagePath();
+begin
+  RemovePackagePathSetting(HKEY_CURRENT_USER);
+  RemovePackagePathSetting(HKEY_LOCAL_MACHINE);
+end;
+
+// Create a site-start.el file to allow easy package downloading
+procedure CreateSiteStart();
+var
+  Contents: String;
+  FtpExe: String;
+  HeaderRequired, FooterRequired: Boolean;
+  InsertPos: Integer;
+  InstallBase: String;
+  Payload: String;
+  SiteStart: String;
+begin
+
+  // Here's what we're going to add to lisp\site-start.el:
+  //   ;;; Lines added by XEmacs_Setup
+  //   (setq package-get-package-index-file-location "C:/Program Files/XEmacs")
+  //   (setq package-get-remote '("ftp.xemacs.org" "pub/xemacs/packages"))
+  //   (setq efs-ftp-program-name "C:/WINDOWS/system32/ftp.exe")
+  //   ;;; End of XEmacs_Setup addition
+
+  SiteStart := ExpandConstant('{app}') + '\site-packages';
+  CreateDir(SiteStart);
+  SiteStart := SiteStart + '\lisp';
+  CreateDir(SiteStart);
+  SiteStart := SiteStart + '\site-start.el';
+
+  // Optimize for the most common cases: either site-start.el does not contain anything related to XEmacs setup
+  // or site-start.el contains the entire text verbatim.
+
+  // Convert separators from backslash to slash
+  InstallBase := ExpandConstant('{app}');
+  StringChange(InstallBase, '\', '/');
+  FtpExe := ExpandConstant('{syswow64}') + '\ftp.exe';
+  StringChange(FtpExe, '\', '/');
+  Payload := '(setq package-get-package-index-file-location "' + InstallBase + '")' + #10 +
+             '(setq package-get-remote ' + Chr(39) + '("ftp.xemacs.org" "pub/xemacs/packages"))' + #10
+             '(setq efs-ftp-program-name "' + FtpExe + '")' + #10;
+
+  // File is non-existant - write header, payload and footer
+  if NOT LoadStringFromFile(SiteStart, Contents) then
+  begin
+    SaveStringToFile(SiteStart, SiteStartHeader + Payload + SiteStartFooter, False);
+  end else
+  begin
+
+    // Pos > 0 indicates that the full text already appears verbatim in the site-start.el file, so do nothing in that case
+    if Pos(SiteStartHeader + Payload + SiteStartFooter, Contents) = 0 then
+    begin
+      FooterRequired := True;
+      HeaderRequired := True;
+      InsertPos := Pos(SiteStartHeader, Contents);
+      if InsertPos > 0 then
+      begin
+        HeaderRequired := False
+        InsertPos := Pos(SiteStartFooter, Contents);
+        if InsertPos > 0 then
+        begin
+          FooterRequired := False;
+        end else
+        begin
+          InsertPos := Length(Contents);
+        end;
+      end;
+
+      if InsertPos = 0 then InsertPos := 1;
+
+      if HeaderRequired then
+      begin
+        Insert(SiteStartHeader, Contents, InsertPos);
+        InsertPos := InsertPos + Length(SiteStartHeader);
+      end;
+      Insert(Payload, Contents, InsertPos);
+      InsertPos := InsertPos + Length(Payload);
+
+      if FooterRequired then
+        Insert(SiteStartFooter, Contents, InsertPos);
+
+      SaveStringToFile(SiteStart, Contents, False);
+    end;
+  end;
+end;
+
+procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
+begin
+  case CurUninstallStep of
+  usUninstall:
+    begin
+      RemoveSiteStartModifications;
+    end;
+  end;
+end;
+
+procedure RemovePackagePathSetting(RootKey: Integer);
+var
+  RootKeyName: String;
+  Value: String;
+begin
+  RootKeyName := 'Unknown Root';
+  case RootKey of
+    HKEY_CURRENT_USER:
+      RootKeyName := 'HKEY_CURRENT_USER';
+    HKEY_LOCAL_MACHINE:
+      RootKeyName := 'HKEY_LOCAL_MACHINE';
+  end;
+  // Check to see if the key exists in the specified registry root
+  if RegQueryStringValue(RootKey, SubKeyName, ValueName, Value) then
+  begin
+    // Allow the user to delete it
+    if MsgBox('Do you want to delete the registry key ' + RootKeyName + '\' + SubKeyName + '\' + ValueName + '?' #13 'Currently this key has the value "' + Value + '".' #13#13 'If you do not delete this registry key, then the packages installed from this setup kit will not be found when XEmacs runs.' #13, mbConfirmation, MB_YESNO) = IDYES then
+    begin
+      RegDeleteValue(RootKey, SubKeyName, ValueName);
+    end;
+  end;
+end;
+
+
+procedure RemoveSiteStartModifications();
+var
+  Contents: String;
+  Footer, Header: Integer;
+  SiteStart: String;
+begin
+  SiteStart := ExpandConstant('{app}') + '\site-packages\lisp\site-start.el';
+  if LoadStringFromFile(SiteStart, Contents) then
+  begin
+    Header := Pos(SiteStartHeader, Contents);
+    if Header > 0 then
+    begin
+      Footer := Pos(SiteStartFooter, Contents);
+      if (Footer > 0) AND (Footer > Header) then
+      begin
+        Footer := Footer + Length(SiteStartFooter);
+        Delete(Contents, Header, Footer-Header);
+        SaveStringToFile(SiteStart, Contents, False);
+      end;
+    end;
+  end;
+end;
+
index d72bcf2..15cabab 100644 (file)
        (Vcharset_thai_tis620): Likewise.
        (Vcharset_katakana_jisx0201): Likewise.
 
+2007-10-07  Vin Shelton  <acs@xemacs.org>
+
+       * XEmacs 21.4.21 is released
+
+2007-08-14  Marcus Crestani  <crestani@xemacs.org>
+
+       * s/sol2.h: Fix for GCC lossage not needed with SunOS 5.10.
+
+2007-02-17  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * glyphs-eimage.c (png_instantiate_unwind): Avoid recursion.
+       (png_instantiate): Initialize setjmp_buffer early, and avoid
+       recursive entry to error handler.
+
+2007-06-23  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * linuxplay.c (linux_play_data_or_file): More 64-bit tweaking, and
+       a typo fix.
+
+2007-05-12  Aidan Kehoe  <kehoea@parhasard.net>
+
+       * event-Xt.c (x_reset_modifier_mapping):
+       * event-gtk.c (gtk_reset_modifier_mapping):
+       Zero out the device's modifier map once we've freed it, to prevent
+       a double free on a re-entrant call. 
+
+2007-05-17  Vin Shelton  <acs@xemacs.org>
+
+       * linuxplay.c (linux_play_data_or_file): Fix playing sound on
+       64-bit linux.  Patch from Hans de Graaff.
+
+2007-05-02  Vin Shelton  <acs@xemacs.org>
+
+       * dumper.c (pdump): Don't close pdump_fd (already closed by
+       fclose() call.  Patch from Steve Higham.
+       * callproc.c (Fold_call_process_internal): Don't close fd1 if it's
+       already closed.  Patch inspired by Steve Higham.
+
+2007-05-01  Vin Shelton  <acs@xemacs.org>
+
+       * nt.c (mswindows_stat): Tie _S_IEXEC permission to read access.
+       (mswindows_fstat): Ditto.
+       * sysfile.h: Under Windows, define X_OK to be the same as R_OK.
+
+2007-02-08  Adrian Aichner  <adrian@xemacs.org>
+
+       * postgresql.c: Update Steve Baur's email address by his request.
+       * postgresql.h: Ditto.
+
+2007-01-04  Vin Shelton  <acs@xemacs.org>
+
+       * fileio.c (check_writable): Check old-style readonly bit only for
+       non-directories.
+
+2006-12-25  Benson I. Margulies  <benson@dchbk.us>
+
+       * src/fileio.c (check_writable): 
+        Cope with the fact that the read-only attribute trumps Windows NTFS
+        ACLS.
+
+
 2006-12-09  Vin Shelton  <acs@xemacs.org>
 
        * XEmacs 21.4.20 is released
index 4aa3e1b..9e93d09 100644 (file)
@@ -1071,7 +1071,8 @@ pdump (void)
   pdump_dump_root_objects ();
 
   fclose (pdump_out);
-  close (pdump_fd);
+  /* pdump_fd is already closed by the preceding fclose call
+  close (pdump_fd); */
 
   free (pdump_buf);
 
index 66807a3..34b608e 100644 (file)
@@ -3,8 +3,8 @@
   Copyright (C) 2000 Electrotechnical Laboratory, JAPAN.
   Licensed to the Free Software Foundation.
 
-  Author:  SL Baur <steve@beopen.com>
-  Maintainer:  SL Baur <steve@beopen.com>
+  Author:  SL Baur <steve@xemacs.org>
+  Maintainer:  SL Baur <steve@xemacs.org>
 
 Please send patches to this file to me first before submitting them to
 xemacs-patches.
index acfda83..79e99b5 100644 (file)
@@ -3,8 +3,8 @@
   Copyright (C) 2000 Electrotechnical Laboratory, JAPAN.
   Licensed to the Free Software Foundation.
 
-  Author:  SL Baur <steve@beopen.com>
-  Maintainer:  SL Baur <steve@beopen.com>
+  Author:  SL Baur <steve@xemacs.org>
+  Maintainer:  SL Baur <steve@xemacs.org>
 
 Please send patches to this file to me first before submitting them to
 xemacs-patches.
index a89690b..4001f1b 100644 (file)
@@ -78,6 +78,35 @@ the Assert macro checks for correctness."
 ;; once compiled, for no good reason.
 (test-chars t)
 
+;;----------------------------------------------------------------
+;; Test that revert-buffer resets the modiff
+;; Bug reported 2007-06-20 <200706201902.32191.scop@xemacs.org>.
+;; Fixed 2007-06-22 <18043.2793.611745.734215@parhasard.net>.
+;;----------------------------------------------------------------
+
+;; #### need a temp file name but this will do for now
+(let ((test-file-name (expand-file-name "~/test-revert-buffer-resets-modiff"))
+      revert-buffer-function
+      kill-buffer-hook)                ; paranoia
+  (find-file test-file-name)
+  (erase-buffer)
+  (insert "a string\n")
+  (save-buffer 0)
+  (insert "more text\n")
+  (revert-buffer t t)
+  ;; Just "find-file" with autodetect coding didn't fail for me, but it does
+  ;; fail under test harness.  Still we'll redo the test with an explicit
+  ;; coding system just in case.
+  (Assert (not (buffer-modified-p)))
+  (kill-buffer nil)
+  (when (find-coding-system 'utf-8)
+    (find-file test-file-name 'utf-8)
+    (insert "more text\n")
+    (revert-buffer t t)
+    (Assert (not (buffer-modified-p)))
+    (kill-buffer nil))
+  (delete-file test-file-name))
+
 ;;-----------------------------------------------------------------
 ;; Test string modification functions that modify the length of a char.
 ;;-----------------------------------------------------------------