--- xemacs21-21.4.22.orig/debian/control.in +++ xemacs21-21.4.22/debian/control.in @@ -0,0 +1,179 @@ +Source: xemacs@MAJVERSION@ +Section: editors +Priority: optional +Maintainer: Ubuntu Developers +XSBC-Original-Maintainer: OHURA Makoto +Standards-Version: 3.8.4 +Build-Depends: autotools-dev, texinfo, libcanna1g-dev, libwnn6-dev, libjpeg-dev, libncurses5-dev, libpng12-dev, libtiff4-dev, zlib1g-dev, texi2html, debhelper (>> 5.0.0), libldap2-dev, libdb-dev, libpam0g-dev, libcompfaceg1-dev, libx11-dev, libxau-dev, libxext-dev, libxmu-dev, libxpm-dev, libxt-dev, xbitmaps, xcursor-themes, libxaw7-dev, autoconf2.13, libesd0-dev, dpatch (>= 1.11), libgpm-dev [!hurd-i386 !kfreebsd-i386 !kfreebsd-amd64] + +Package: xemacs@MAJVERSION@@SUBNAME@ +Architecture: all +Depends: xemacs@MAJVERSION@@SUBNAME@-mule (>= ${source:Version}) | xemacs@MAJVERSION@@SUBNAME@-mule-canna-wnn (>= ${source:Version}) | xemacs@MAJVERSION@@SUBNAME@-nomule (>= ${source:Version}), ${misc:Depends} +Replaces: xemacs, xemacs-widget +Conflicts: xemacs, xemacs-widget +Description: highly customizable text editor + XEmacs is a full fledged programming language with a mail reader, + news reader, info browser, web browser, calendar, specialized editor + for more programming languages and other formats than most people + encounter in a lifetime, and much more. + . + This package exists to cause the installation of the real XEmacs packages. + +Package: xemacs@MAJVERSION@@SUBNAME@-mule +Architecture: any +Depends: xemacs@MAJVERSION@@SUBNAME@-support (= ${source:Version}), xemacs@MAJVERSION@@SUBNAME@-bin (= ${binary:Version}), ${shlibs:Depends}, xemacs@MAJVERSION@@SUBNAME@-mulesupport (>= 2003.04.23-1), xemacs@MAJVERSION@@SUBNAME@-basesupport (>= 2003.04.23-1), emacsen-common, ${misc:Depends} +Provides: emacsen, info-browser, mail-reader, news-reader, www-browser, xemacs@MAJVERSION@@SUBNAME@ +Description: highly customizable text editor -- Mule binary + XEmacs is a full fledged programming language with a mail reader, + news reader, info browser, web browser, calendar, specialized editor + for more programming languages and other formats than most people + encounter in a lifetime, and much more. + . + This package contains the actual binary used to run XEmacs. It + depends on the xemacs@MAJVERSION@@SUBNAME@-support package for lisp and etc files, and + the xemacs@MAJVERSION@@SUBNAME@-bin package for supporting binaries. This binary has + been compiled with support for mule, but no input extensions. + . + Mule is the extension to (x)emacs that allows for the display of + non-European characters (for example Japanese and Korean characters). + This version of the package is mainly useful for only the display and + reading of international characters. It does not have any mechanism + for entering non-European characters (see the xemacs@MAJVERSION@@SUBNAME@-mule-canna-wnn + package for that). + . + This package actually contains one of the three xemacs binaries + available. They are xemacs@MAJVERSION@@SUBNAME@-nomule, xemacs@MAJVERSION@@SUBNAME@-mule and + xemacs@MAJVERSION@@SUBNAME@-mule-canna-wnn. + +Package: xemacs@MAJVERSION@@SUBNAME@-nomule +Architecture: any +Depends: xemacs@MAJVERSION@@SUBNAME@-support (= ${source:Version}), xemacs@MAJVERSION@@SUBNAME@-bin (= ${binary:Version}), ${shlibs:Depends}, xemacs@MAJVERSION@@SUBNAME@-basesupport (>= 2003.04.23-1), emacsen-common, ${misc:Depends} +Provides: emacsen, info-browser, mail-reader, news-reader, www-browser, xemacs@MAJVERSION@@SUBNAME@ +Description: highly customizable text editor -- Non-mule binary + XEmacs is a full fledged programming language with a mail reader, + news reader, info browser, web browser, calendar, specialized editor + for more programming languages and other formats than most people + encounter in a lifetime, and much more. + . + This package contains the actual binary used to run XEmacs. It + depends on the xemacs@MAJVERSION@@SUBNAME@-support package for lisp and etc files, and + the xemacs@MAJVERSION@@SUBNAME@-bin package for supporting binaries. This binary does + not have any of the mule stuff compiled into it. It should be faster + than the xemacs@MAJVERSION@@SUBNAME@-mule and xemacs@MAJVERSION@@SUBNAME@-mule-canna-wnn packages because + it does not contain the fairly large bit of code for either the + display or input of non-European characters. + . + This package actually contains one of the three xemacs binaries + available. They are xemacs@MAJVERSION@@SUBNAME@-nomule, xemacs@MAJVERSION@@SUBNAME@-mule and + xemacs@MAJVERSION@@SUBNAME@-mule-canna-wnn. + +Package: xemacs@MAJVERSION@@SUBNAME@-mule-canna-wnn +Architecture: any +Depends: xemacs@MAJVERSION@@SUBNAME@-support (= ${source:Version}), xemacs@MAJVERSION@@SUBNAME@-bin (= ${binary:Version}), ${shlibs:Depends}, xemacs@MAJVERSION@@SUBNAME@-mulesupport (>= 2003.04.23-1), xemacs@MAJVERSION@@SUBNAME@-basesupport (>= 2003.04.23-1), emacsen-common, ${misc:Depends} +Suggests: xfonts-cjk +Provides: emacsen, info-browser, mail-reader, news-reader, www-browser, xemacs@MAJVERSION@@SUBNAME@ +Description: highly customizable text editor -- Mule binary compiled with Canna and Wnn + XEmacs is a full fledged programming language with a mail reader, + news reader, info browser, web browser, calendar, specialized editor + for more programming languages and other formats than most people + encounter in a lifetime, and much more. + . + This package contains the actual binary used to run XEmacs. It + depends on the xemacs@MAJVERSION@@SUBNAME@-support package for lisp and etc files, and + the xemacs@MAJVERSION@@SUBNAME@-bin package for supporting binaries. This binary has + support for the input extensions Canna and WNN compiled in. + . + Mule is an extension to (x)emacs that allows for the display and + input of non-European characters. This binary allows for input and + display whereas the xemacs@MAJVERSION@@SUBNAME@-mule package only does display. + . + This package actually contains one of the three xemacs binaries + available. They are xemacs@MAJVERSION@@SUBNAME@-nomule, xemacs@MAJVERSION@@SUBNAME@-mule and + xemacs@MAJVERSION@@SUBNAME@-mule-canna-wnn. + +Package: xemacs@MAJVERSION@@SUBNAME@-bin +Architecture: any +Conflicts: suidmanager (<< 0.50) +Depends: xemacs@MAJVERSION@@SUBNAME@-support (= ${source:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: highly customizable text editor -- support binaries + XEmacs is a full fledged programming language with a mail reader, + news reader, info browser, web browser, calendar, specialized editor + for more programming languages and other formats than most people + encounter in a lifetime, and much more. + . + After starting it up peruse the Help menu and read more on its + origins and what it can do. + . + You will need one of xemacs@MAJVERSION@@SUBNAME@-mule, xemacs@MAJVERSION@@SUBNAME@-nomule, or + xemacs@MAJVERSION@@SUBNAME@-mule-canna-wnn to actually run xemacs. + +Package: xemacs@MAJVERSION@@SUBNAME@-support +Architecture: all +Conflicts: xemacs-support, sgml-base (<< 1.23) +Replaces: xemacs-support +Suggests: xemacs@MAJVERSION@@SUBNAME@-supportel (= ${source:Version}) +Depends: emacsen-common, xemacs21 (= ${source:Version}), install-info, ${misc:Depends} +Description: highly customizable text editor -- architecture independent support files + XEmacs is a full fledged programming language with a mail reader, + news reader, info browser, web browser, calendar, specialized editor + for more programming languages and other formats than most people + encounter in a lifetime, and much more. + . + Support and architecture independent files for XEmacs @VERSION@. This + includes the files found in etc and all required elisp library files + (mostly compiled (.elc files), but a few uncompiled (.el files)). + +Package: xemacs@MAJVERSION@@SUBNAME@-supportel +Architecture: all +Depends: xemacs@MAJVERSION@@SUBNAME@-support (= ${source:Version}), ${misc:Depends} +Description: highly customizable text editor -- non-required library files + XEmacs is a full fledged programming language with a mail reader, + news reader, info browser, web browser, calendar, specialized editor + for more programming languages and other formats than most people + encounter in a lifetime, and much more. + . + This package contains all the non-necessary library files for + XEmacs. The xemacs@MAJVERSION@@SUBNAME@-support package contains the compiled versions + of these files. + . + The major reason to install this package is if you want to learn + elisp or modify the libraries for your specific installation. + +Package: xemacs@MAJVERSION@@SUBNAME@-gnome-mule +Section: gnome +Architecture: any +Depends: xemacs@MAJVERSION@@SUBNAME@-mule, ${misc:Depends} +Description: highly customizable text editor -- transitional package + XEmacs is a full fledged programming language with a mail reader, + news reader, info browser, web browser, calendar, specialized editor + for more programming languages and other formats than most people + encounter in a lifetime, and much more. + . + This is a transitional package. Please use xemacs@MAJVERSION@@SUBNAME@-mule + instead. It can be safely removed. + +Package: xemacs@MAJVERSION@@SUBNAME@-gnome-nomule +Section: gnome +Architecture: any +Depends: xemacs@MAJVERSION@@SUBNAME@-nomule, ${misc:Depends} +Description: highly customizable text editor -- transitional package + XEmacs is a full fledged programming language with a mail reader, + news reader, info browser, web browser, calendar, specialized editor + for more programming languages and other formats than most people + encounter in a lifetime, and much more. + . + This is a transitional package. Please use xemacs@MAJVERSION@@SUBNAME@-nomule + instead. It can be safely removed. + +Package: xemacs@MAJVERSION@@SUBNAME@-gnome-mule-canna-wnn +Section: gnome +Architecture: any +Depends: xemacs@MAJVERSION@@SUBNAME@-mule-canna-wnn, ${misc:Depends} +Description: highly customizable text editor -- transitional package + XEmacs is a full fledged programming language with a mail reader, + news reader, info browser, web browser, calendar, specialized editor + for more programming languages and other formats than most people + encounter in a lifetime, and much more. + . + This is a transitional package. Please use xemacs@MAJVERSION@@SUBNAME@-mule-canna-wnn + instead. It can be safely removed. --- xemacs21-21.4.22.orig/debian/control +++ xemacs21-21.4.22/debian/control @@ -0,0 +1,179 @@ +Source: xemacs21 +Section: editors +Priority: optional +Maintainer: Ubuntu Developers +XSBC-Original-Maintainer: OHURA Makoto +Standards-Version: 3.8.4 +Build-Depends: autotools-dev, texinfo, libcanna1g-dev, libwnn6-dev, libjpeg-dev, libncurses5-dev, libpng12-dev, libtiff4-dev, zlib1g-dev, texi2html, debhelper (>> 5.0.0), libldap2-dev, libdb-dev, libpam0g-dev, libcompfaceg1-dev, libx11-dev, libxau-dev, libxext-dev, libxmu-dev, libxpm-dev, libxt-dev, xbitmaps, xcursor-themes, libxaw7-dev, autoconf2.13, libesd0-dev, dpatch (>= 1.11), libgpm-dev [!hurd-i386 !kfreebsd-i386 !kfreebsd-amd64] + +Package: xemacs21 +Architecture: all +Depends: xemacs21-mule (>= ${source:Version}) | xemacs21-mule-canna-wnn (>= ${source:Version}) | xemacs21-nomule (>= ${source:Version}), ${misc:Depends} +Replaces: xemacs, xemacs-widget +Conflicts: xemacs, xemacs-widget +Description: highly customizable text editor + XEmacs is a full fledged programming language with a mail reader, + news reader, info browser, web browser, calendar, specialized editor + for more programming languages and other formats than most people + encounter in a lifetime, and much more. + . + This package exists to cause the installation of the real XEmacs packages. + +Package: xemacs21-mule +Architecture: any +Depends: xemacs21-support (= ${source:Version}), xemacs21-bin (= ${binary:Version}), ${shlibs:Depends}, xemacs21-mulesupport (>= 2003.04.23-1), xemacs21-basesupport (>= 2003.04.23-1), emacsen-common, ${misc:Depends} +Provides: emacsen, info-browser, mail-reader, news-reader, www-browser, xemacs21 +Description: highly customizable text editor -- Mule binary + XEmacs is a full fledged programming language with a mail reader, + news reader, info browser, web browser, calendar, specialized editor + for more programming languages and other formats than most people + encounter in a lifetime, and much more. + . + This package contains the actual binary used to run XEmacs. It + depends on the xemacs21-support package for lisp and etc files, and + the xemacs21-bin package for supporting binaries. This binary has + been compiled with support for mule, but no input extensions. + . + Mule is the extension to (x)emacs that allows for the display of + non-European characters (for example Japanese and Korean characters). + This version of the package is mainly useful for only the display and + reading of international characters. It does not have any mechanism + for entering non-European characters (see the xemacs21-mule-canna-wnn + package for that). + . + This package actually contains one of the three xemacs binaries + available. They are xemacs21-nomule, xemacs21-mule and + xemacs21-mule-canna-wnn. + +Package: xemacs21-nomule +Architecture: any +Depends: xemacs21-support (= ${source:Version}), xemacs21-bin (= ${binary:Version}), ${shlibs:Depends}, xemacs21-basesupport (>= 2003.04.23-1), emacsen-common, ${misc:Depends} +Provides: emacsen, info-browser, mail-reader, news-reader, www-browser, xemacs21 +Description: highly customizable text editor -- Non-mule binary + XEmacs is a full fledged programming language with a mail reader, + news reader, info browser, web browser, calendar, specialized editor + for more programming languages and other formats than most people + encounter in a lifetime, and much more. + . + This package contains the actual binary used to run XEmacs. It + depends on the xemacs21-support package for lisp and etc files, and + the xemacs21-bin package for supporting binaries. This binary does + not have any of the mule stuff compiled into it. It should be faster + than the xemacs21-mule and xemacs21-mule-canna-wnn packages because + it does not contain the fairly large bit of code for either the + display or input of non-European characters. + . + This package actually contains one of the three xemacs binaries + available. They are xemacs21-nomule, xemacs21-mule and + xemacs21-mule-canna-wnn. + +Package: xemacs21-mule-canna-wnn +Architecture: any +Depends: xemacs21-support (= ${source:Version}), xemacs21-bin (= ${binary:Version}), ${shlibs:Depends}, xemacs21-mulesupport (>= 2003.04.23-1), xemacs21-basesupport (>= 2003.04.23-1), emacsen-common, ${misc:Depends} +Suggests: xfonts-cjk +Provides: emacsen, info-browser, mail-reader, news-reader, www-browser, xemacs21 +Description: highly customizable text editor -- Mule binary compiled with Canna and Wnn + XEmacs is a full fledged programming language with a mail reader, + news reader, info browser, web browser, calendar, specialized editor + for more programming languages and other formats than most people + encounter in a lifetime, and much more. + . + This package contains the actual binary used to run XEmacs. It + depends on the xemacs21-support package for lisp and etc files, and + the xemacs21-bin package for supporting binaries. This binary has + support for the input extensions Canna and WNN compiled in. + . + Mule is an extension to (x)emacs that allows for the display and + input of non-European characters. This binary allows for input and + display whereas the xemacs21-mule package only does display. + . + This package actually contains one of the three xemacs binaries + available. They are xemacs21-nomule, xemacs21-mule and + xemacs21-mule-canna-wnn. + +Package: xemacs21-bin +Architecture: any +Conflicts: suidmanager (<< 0.50) +Depends: xemacs21-support (= ${source:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: highly customizable text editor -- support binaries + XEmacs is a full fledged programming language with a mail reader, + news reader, info browser, web browser, calendar, specialized editor + for more programming languages and other formats than most people + encounter in a lifetime, and much more. + . + After starting it up peruse the Help menu and read more on its + origins and what it can do. + . + You will need one of xemacs21-mule, xemacs21-nomule, or + xemacs21-mule-canna-wnn to actually run xemacs. + +Package: xemacs21-support +Architecture: all +Conflicts: xemacs-support, sgml-base (<< 1.23) +Replaces: xemacs-support +Suggests: xemacs21-supportel (= ${source:Version}) +Depends: emacsen-common, xemacs21 (= ${source:Version}), install-info, ${misc:Depends} +Description: highly customizable text editor -- architecture independent support files + XEmacs is a full fledged programming language with a mail reader, + news reader, info browser, web browser, calendar, specialized editor + for more programming languages and other formats than most people + encounter in a lifetime, and much more. + . + Support and architecture independent files for XEmacs 21.4.22. This + includes the files found in etc and all required elisp library files + (mostly compiled (.elc files), but a few uncompiled (.el files)). + +Package: xemacs21-supportel +Architecture: all +Depends: xemacs21-support (= ${source:Version}), ${misc:Depends} +Description: highly customizable text editor -- non-required library files + XEmacs is a full fledged programming language with a mail reader, + news reader, info browser, web browser, calendar, specialized editor + for more programming languages and other formats than most people + encounter in a lifetime, and much more. + . + This package contains all the non-necessary library files for + XEmacs. The xemacs21-support package contains the compiled versions + of these files. + . + The major reason to install this package is if you want to learn + elisp or modify the libraries for your specific installation. + +Package: xemacs21-gnome-mule +Section: gnome +Architecture: any +Depends: xemacs21-mule, ${misc:Depends} +Description: highly customizable text editor -- transitional package + XEmacs is a full fledged programming language with a mail reader, + news reader, info browser, web browser, calendar, specialized editor + for more programming languages and other formats than most people + encounter in a lifetime, and much more. + . + This is a transitional package. Please use xemacs21-mule + instead. It can be safely removed. + +Package: xemacs21-gnome-nomule +Section: gnome +Architecture: any +Depends: xemacs21-nomule, ${misc:Depends} +Description: highly customizable text editor -- transitional package + XEmacs is a full fledged programming language with a mail reader, + news reader, info browser, web browser, calendar, specialized editor + for more programming languages and other formats than most people + encounter in a lifetime, and much more. + . + This is a transitional package. Please use xemacs21-nomule + instead. It can be safely removed. + +Package: xemacs21-gnome-mule-canna-wnn +Section: gnome +Architecture: any +Depends: xemacs21-mule-canna-wnn, ${misc:Depends} +Description: highly customizable text editor -- transitional package + XEmacs is a full fledged programming language with a mail reader, + news reader, info browser, web browser, calendar, specialized editor + for more programming languages and other formats than most people + encounter in a lifetime, and much more. + . + This is a transitional package. Please use xemacs21-mule-canna-wnn + instead. It can be safely removed. --- xemacs21-21.4.22.orig/debian/changelog +++ xemacs21-21.4.22/debian/changelog @@ -0,0 +1,1161 @@ +xemacs21 (21.4.22-3.2ubuntu1) precise; urgency=low + + * Merge from Debian unstable, remaining changes: + - debian/patches/21_fix_maximation_bug.dpatch: + + Fix maximation issue, where xemacs21 meant to stay in an infinite loop + - debian/README.source: Fix lintian's warning + patch-system-but-no-source-readme. + + -- Felix Geyer Mon, 21 Nov 2011 17:53:09 +0100 + +xemacs21 (21.4.22-3.2) unstable; urgency=low + + * Non-maintainer upload. + * Build-Depend on libjpeg-dev instead of libjpeg62-dev (Closes: + #634646) + * Add lintian overrides to xemacs21-support to get the NMU trough the + FTP-Master rejects. + + -- Didier Raboud Thu, 10 Nov 2011 15:10:05 +0100 + +xemacs21 (21.4.22-3.1ubuntu1) maverick; urgency=low + + * Merge from debian unstable. (LP: #611931) Remaining changes: + - debian/patches/21_fix_maximation_bug.dpatch: + + Fix maximation issue, where xemacs21 meant to stay in an infinite loop + * debian/README.source: Fix lintian's warning patch-system-but-no-source-readme. + + -- Artur Rona Sat, 31 Jul 2010 03:51:25 +0200 + +xemacs21 (21.4.22-3.1) unstable; urgency=high + + * Non-maintainer upload by the Security Team. + * Fix race conditions in lib-src/movemail.c which may be exploited by + other users in the mail group to read/delete/modify mailboxes. + Ported patch from Dan Rosenberg to xemacs21 + (11_CVE-2010-0825.dpatch; Closes: #590303). + + -- Nico Golde Tue, 27 Jul 2010 14:27:11 +0200 + +xemacs21 (21.4.22-3ubuntu1) maverick; urgency=low + + * Merge from debian unstable. Remaining changes: (LP: #467446) (LP: #583224) + - debian/patches/21_fix_maximation_bug.dpatch: + + Fix maximation issue, where xemacs21 meant to stay in an infinite loop + + -- Stephan Hermann Thu, 27 May 2010 11:09:38 +0000 + +xemacs21 (21.4.22-3) unstable; urgency=low + + * When installing alternatives of xemacs and editor, check if there is + /usr/bin/xemacs21. (Closes: #561100) + * debian/patches/06_fix_CVE-2009-2688.dpatch: New patch. Fix the + vulnerability of CVE-2009-2688 (Closes: #540470). + * debian/control.in: + - Update Standards-Version. + - Add Dependency on ${misc:Depends}. + - Update version dependency on debhelper. + + -- OHURA Makoto Fri, 02 Apr 2010 12:09:18 +0900 + +xemacs21 (21.4.22-2ubuntu1) karmic; urgency=low + + * Merge from debian unstable, remaining changes: + - debian/patches/21_fix_maximation_bug.dpatch: + + Fix maximation issue, where xemacs21 meant to stay in an infinite loop + + + -- Stephan Hermann Tue, 14 Jul 2009 05:06:52 +0000 + +xemacs21 (21.4.22-2) unstable; urgency=low + + * debian/control.in: + - Change Build-Depends: field. Use libgpm-dev instead of libgpmg1-dev + which is a dummy package. + - Add dependency of xemacs21-support on install-info. (Closes: #532586) + * Remove support of gtk1.2. (Closes: #166185) + - Replace xemacs21-gnome-* with transitional packages. + - debian/control.in: Rewrite a description. + * Move update-alternative commands for installing generic names, + /usr/bin/xemacs and /usr/bin/editor, from the postinst of xemacs21-bin + package to the one of xemacs21 package. (Closes: #531548) + + -- OHURA Makoto Sun, 28 Jun 2009 23:59:11 +0900 + +xemacs21 (21.4.22-1) unstable; urgency=low + + * New upstream release + * debian/patches/20_gcc_4.0_compiling.dpatch: Remove. Fixed at + upstream. + * debian/generate-menus: Modify the section name of the menu system, + from Apps to Applications. + * debian/control.in: Rewrite a description. + - Modify a duplicated word in the description. + - Use an official name. gtk to GTK+, gnome to GNOME. + * debian/PackagesMakefile.in: Drop execute permission from + cygwin.sc. (for lintian) + + -- OHURA Makoto Tue, 03 Mar 2009 20:41:49 +0900 + +xemacs21 (21.4.21-4ubuntu1) intrepid; urgency=low + + * Merge from debian unstable. Remaining changes: + - debian/patches/21_fix_maximation_bug.dpatch: + + Fix maximation issue, where xemacs21 meant to stay in an infinite loop + + -- Albin Tonnerre Sun, 03 Aug 2008 00:25:32 +0200 + +xemacs21 (21.4.21-4) unstable; urgency=high + + * Set urgency to high to fix RC bugs. + * debian/patches/10_doprnt_use_malloc.dpatch: New patch. + - Use malloc(3) instead of alloca(3). (CVE-2007-6109) (Closes: #457764) + * debian/patches/10_vcdiff_use_mktemp.dpatch: New patch. + - Fix insecure usage of temporary files. (CVE-2008-1694) + (Closes: #476613) + * debian/rules: Add -Wall and -O2 to CFLAGS. + * debian/control.in: + - Update Standards-Version. + - Remove Build-dependency on x-dev. + - Add Build-dependency on autotools-dev. + * debian/PackagesMakefile.in: Sync with newer config.sub and + config.guess. + + -- OHURA Makoto Sun, 27 Jul 2008 17:42:21 +0900 + +xemacs21 (21.4.21-3ubuntu2) intrepid; urgency=low + + * Rebuild for libgpmg1 -> libgpm2 transistion. + * Munge Maintainer field as per spec. + + -- Steve Kowalik Sun, 20 Jul 2008 05:25:07 +1000 + +xemacs21 (21.4.21-3ubuntu1) intrepid; urgency=low + + * Merge from debian unstable, remaining changes: + + debian/patches/21_fix_maximation_bug.dpatch: + - Fix maximation issue, where xemacs21 meant to stay in an infinite loop + * Dropped changes from ubuntu: + + Corrected dir entry for info file. (fixed in debian) + + -- Stephan Hermann Sat, 24 May 2008 16:40:14 +0200 + +xemacs21 (21.4.21-3) unstable; urgency=low + + * debian/patches/10_ldap_deprecated.dpatch: New patch. + - Defined LDAP_DEPRECATED in the include file to continue using the + deprecated ldap functions. (Closes: #463411) + + -- OHURA Makoto Tue, 11 Mar 2008 23:47:54 +0900 + +xemacs21 (21.4.21-2) unstable; urgency=low + + * Added info file of xemacs21 to Info dir file. (Closes: #330253) + - debian/patches/10_info_correct_dir.dpatch: New patch. + - Use install-info at postinst and prerm. + * Dropped dependency on gnome-libs. (Closes: #460790) + - debian/control.in: Dropped dependencies on libgnome-dev and + libart-dev. + - debian/PackagesMakefile.in: Dropped --with-gnome from configure + options. + + -- OHURA Makoto Sun, 03 Feb 2008 18:22:12 +0900 + +xemacs21 (21.4.21-1ubuntu3) hardy; urgency=low + + 'Don't touch old bugs, they could be easy to fix' + * debian/patches/21_fix_maximation_bug.dpatch: (LP: #3982) + - Fix maximation issue, where xemacs21 meant to stay in an infinite loop + + -- Stephan Hermann Thu, 06 Mar 2008 20:14:53 +0100 + +xemacs21 (21.4.21-1ubuntu2) hardy; urgency=low + + * Rebuild for the libldap-2.3-0 -> libldap-2.4-2 transistion. + + -- Steve Kowalik Thu, 24 Jan 2008 23:56:07 +1100 + +xemacs21 (21.4.21-1ubuntu1) hardy; urgency=low + + * Corrected dir entry for info file. + Fixed install-info for entry. + Fixed install-info removal of it closes: #4883 + + -- Ralph Janke Wed, 28 Nov 2007 01:22:28 +0000 + +xemacs21 (21.4.21-1) unstable; urgency=low + + * New upstream release + + -- OHURA Makoto Tue, 13 Nov 2007 21:28:51 +0900 + +xemacs21 (21.4.20-3) unstable; urgency=low + + * debian/control.in: Changed Build-Dependency. Use libdb-dev instead of + libdb4.5-dev. (Closes: #441525) + + -- OHURA Makoto Thu, 18 Oct 2007 00:26:27 +0900 + +xemacs21 (21.4.20-2) unstable; urgency=low + + * debian/control.in: + - Made xemacs21 binNMU-safe. (Closes: #432979) + - Removed dependency on xemacs21 of xemacs21-bin. + * debian/rules: + - Removed DH_COMPAT environment variable and added debian/compat. + - Check if there is Makefile before running make distclean. (lintian) + + -- OHURA Makoto Sat, 04 Aug 2007 10:51:50 +0900 + +xemacs21 (21.4.20-1.1) unstable; urgency=low + + * NMU + * Switch libdb3-dev build dependency to libdb4.5-dev. closes: #421956. + * Apply patch from Lior Kaplan to make xemacs21 binNMU-safe. + closes: #432979. + * Switch libpng3-dev build dependency to libpng12-dev. + + -- Clint Adams Sat, 21 Jul 2007 00:42:51 -0400 + +xemacs21 (21.4.20-1) unstable; urgency=low + + * New upstream release + * debian/control.in: Changed Build-Dependency. Use xbitmaps and + xcursor-themes instead of xlibs-data. + + -- OHURA Makoto Sun, 25 Mar 2007 17:12:35 +0900 + +xemacs21 (21.4.19-2) unstable; urgency=medium + + * Set urgency to medium to fix a RC bug. + * Fixed postint and prerm problem with regard to symbolic link in + /usr/lib/xemacs-21.4.* directory. (Closes: #391778). + * Fixed FTBFS on GNU/kFreeBSD. (Closes: #366133). + - debian/patches/05_fix_FTBFS_on_kFreeBSD.dpatch: Set "opsys=linux" in + GNU/kFreeBSD system. + - debian/control.in: Changed Build-Dependency. libgpmg1-dev is Linux + specific package. + - debian/rules: Use dpkg-architecture instead of dpkg --print-architecture. + * debian/control.in: Update Standards-Version. + + -- OHURA Makoto Sat, 4 Nov 2006 00:08:10 +0900 + +xemacs21 (21.4.19-1) unstable; urgency=low + + * New upstream release + + -- OHURA Makoto Thu, 2 Feb 2006 23:23:50 +0900 + +xemacs21 (21.4.18-3) unstable; urgency=low + + * debian/PackagesMakefiles.in: + - Accidentally I've dropped some configure options at 21.4.17-2. + Put them back. + - Add --with-system-malloc to configure option at all architectures in + order to use GNU malloc in glibc instead of the one in the source + tree. + + -- OHURA Makoto Fri, 20 Jan 2006 23:05:53 +0900 + +xemacs21 (21.4.18-2) unstable; urgency=medium + + * Set urgency=medium to fix FTBFS problem. + * debian/control.in: + - Fix Build-Depends: for transition of xlibs-dev. (Closes: #346847). + - Add libgpmg1-dev to Build-Depends: field. + + -- OHURA Makoto Sat, 14 Jan 2006 21:35:29 +0900 + +xemacs21 (21.4.18-1) unstable; urgency=low + + * New upstream release + * debian/patches/20_gcc_4.0_compiling.dpatch: Sync with 21.4.18 + * debian/control.in: Update Standards-Version. + + -- OHURA Makoto Sat, 10 Dec 2005 00:02:01 +0900 + +xemacs21 (21.4.17-2) unstable; urgency=low + + * debian/PackagesMakefiles.in: + - Configure with the proper --infodir and --infopath option. Set + these path to /usr/share/info/xemacs21. (Closes: #170785, #308607). + - Remove unusable debian/convert-texi-files. + - Don't install extra xemacs21.info. + - Set package-path to the proper order, as described at XEmacs' + Lispref manual. (Closes: #151900). + * debian/xemacs@MAJVERSION@@SUBNAME@-support.postinst.in: Don't install + xemacs21.info. + * debian/00debian.el: + - Remove TeX-lisp-directory setup. (Closes: #272086). + + -- OHURA Makoto Wed, 25 May 2005 21:54:50 +0900 + +xemacs21 (21.4.17-1) unstable; urgency=high + + * New upstream release + - Upstream authors withdraw previous release due to the critical + problem about regular expressions. So, I set urgency=high. + (Closes: #293471). + - Fix Gnus regexp infloop (Closes: #288072). + - Add new section about cc-mode (Closes: #117096). + * debian/patches/01_debian_patch.dpatch: Sync with 21.4.17 + * debian/patches/10_movemail_popfmt.dpatch: Delete. This patch is + included in upstream source. + + -- OHURA Makoto Tue, 8 Feb 2005 01:05:27 +0900 + +xemacs21 (21.4.16-2) unstable; urgency=high + + * debian/00debian.el: Enable support of wheel mouse (Closes: #288807). + * debian/control.in: + - Rewrite short descriptions. + - Remove description of unpackaged stuff, xemacs21-htmldoc. + * debian/patches/20_gcc_4.0_compiling.dpatch: Fix compiling problem of + gcc-4.0 (Closes: #289294). + * debian/patches/10_movemail_popfmt.dpatch: Fix local privilege + escalation in movemail [CAN-2005-100]. + * debian/generate-menus: Quote string in menu item. + + -- OHURA Makoto Sat, 5 Feb 2005 22:11:01 +0900 + +xemacs21 (21.4.16-1) unstable; urgency=low + + * New upstream release + + -- OHURA Makoto Sun, 12 Dec 2004 15:41:58 +0900 + +xemacs21 (21.4.15-8) unstable; urgency=low + + * Remove alternatives for ootags and ctags in prerm. (Closes: #269177). + * debian/patches/10_itimer_error_with_de.dpatch: Fix `itimer timeout' + error with de_DE locale. (Closes: #228883). + * debian/patches/10_info_el_with_line_number.dpatch: Fix info.el to + support info-index with the line number. (Closes: #275795). + * debian/00debian.el: Rewrite. + - Fix path for psgml, because sgml-data package changes installation + directory for sgml stuff. (Closes: #240930). + - Remove settings for Info-directory-list. + - Remove auto-mode-alist related to psgml. + - Remove settings of some variables, whose values are system default + ones. + + -- OHURA Makoto Fri, 22 Oct 2004 23:07:36 +0900 + +xemacs21 (21.4.15-7) unstable; urgency=medium + + * debian/00debian.el: Set sgml-local-catalogs to /etc/sgml/catalog + instead of /usr/lib/sgml/catalog. (Closes: #265530). + * debian/control.in: Add `Conflicts: sgml-base (<< 1.23)' to + xemacs21-support. The catalog directory for SGML was changed at + sgml-base package. + * debian/patches/10_gnuserv_disable_inet.dpatch: Disable internet domain + socket for gnuserv for security issues. (Closes: #177236) + + -- OHURA Makoto Sat, 28 Aug 2004 11:36:03 +0900 + +xemacs21 (21.4.15-6) unstable; urgency=medium + + * debian/xemacs@MAJVERSION@@SUBNAME@-support.postinst.in: + Make symbolic link to /usr/share/xemacs-21.4.15/{lisp,etc} at + /usr/lib/xemacs-21.4.15. (Closes: #265169, #265177, #265140). + + -- OHURA Makoto Thu, 12 Aug 2004 23:02:43 +0900 + +xemacs21 (21.4.15-5) unstable; urgency=medium + + * This release is the final release for Sarge, I hope. Fix all RC bugs. + * debian/patches/04_ia64_segv.dpatch: Disable. I don't know why but + patch from SuSE Linux doesn't work fine. + * debian/patches/04_ia64_not_export_dynamic.dpatch: New patch from + redhat Bugzilla. This patch really fix SEGV problem on ia64. + (Closes: #207412, #149088, #218241). + * debian/00debian.el: Remove sgml-display-char-list-filename. + (Closes: #263469, #215900). + * debian/control.in: Update version dependency for xemacs21-basesupport + and xemacs21-mulesupport. (Closes: #263529). + * debian/PackagesMakefile.in: Install architecture-independent files to + /usr/share, not /usr/lib. + + -- OHURA Makoto Wed, 11 Aug 2004 00:07:40 +0900 + +xemacs21 (21.4.15-4) unstable; urgency=low + + * Rebuild with libtiff4. + * debian/control.in: Change Build-Depends: from libtiff3g-dev to + libtiff4-dev. + * PackagesMakefile.in: Remove src/NEEDTODUMP and src/dump-id.c in clean: + target. + + -- OHURA Makoto Fri, 30 Jul 2004 00:04:06 +0900 + +xemacs21 (21.4.15-3) unstable; urgency=low + + * Change over to dpatch system. + - debian/patches/04_ia64_segv.dpatch: Borrow patch for ia64 from + xemacs21 package of SUSE Linux. I hope this patch will fix SEGV + problem on ia64. Ia64 people, please test this package. + * debian/PackagesMakefile.in: Run autoconf2.13 in pre-internal-build: + target. + * debian/control.in: Add autoconf2.13 and dpatch (>= 1.11) to + Build-Depends. + * debian/onntrol.in: Update Standards-Version. + * Update config.guess and config.sub. + + -- OHURA Makoto Tue, 27 Jul 2004 22:10:50 +0900 + +xemacs21 (21.4.15-2) unstable; urgency=low + + * New maintainer, with previous maintainer's consent. + * Override previous NMU. + * debian/rules: Comment out export DEB_BUILD_OPTIONS=nostrip. + * Fix FTBFS problem on m68k (Closes: #127480, #206667). + * Remove info dir file in xemacs21-support. (Closes: #249672). + + -- OHURA Makoto Thu, 22 Jul 2004 21:42:42 +0900 + +xemacs21 (21.4.15-1.1) unstable; urgency=low + + * NMU. + * debian/rules: Comment out export DEB_BUILD_OPTIONS=nostrip. + * Fix FTBFS problem on m68k (Closes: #127480, #206667). + * Remove info dir file in xemacs21-support. (Closes: #249672). + + -- OHURA Makoto Sat, 17 Jul 2004 21:48:32 +0900 + +xemacs21 (21.4.15-1) unstable; urgency=low + + * New upstream release + * Add --with-mule=no to configure targets for nomule binaries. + + -- James LewisMoss Mon, 9 Feb 2004 22:37:00 -0500 + +xemacs21 (21.4.14-4) unstable; urgency=low + + * Add var to specify the maximum number of fonts to load from the + server. + + -- James LewisMoss Tue, 13 Jan 2004 22:55:31 -0500 + +xemacs21 (21.4.14-3) unstable; urgency=low + + * Patch from Neil Roeth to fix alpha compile. (Closes: #201657) + * Patch from anarcat to fix powerpc problems (Closes: #200430) + + -- James LewisMoss Mon, 10 Nov 2003 10:25:23 -0500 + +xemacs21 (21.4.14-2) unstable; urgency=low + + * Remove specifying cflags in configure line and let xemacs do its own + thing. + * Remove --use_regex_malloc from configure line + + -- James LewisMoss Fri, 3 Oct 2003 15:05:43 -0400 + +xemacs21 (21.4.14-1) unstable; urgency=low + + * New upstream release + * Apply patch from Stephen Turnbull to up malloc limits with REGEX_MALLOC. + OK revert to no regex malloc. It's crashing with and without the patch. + * Copy xemacs icons to /usr/share/icons + * Apply hpux patch from Lamont Jones (Closes: #206671, #133682) + * Modify configure.in to handle db4.1's #define db_create db_create_4001 + * Fix descriptions (Closes: #209848) + * Fix module-load-path (Closes: #206791) + + -- James LewisMoss Sat, 27 Sep 2003 11:02:36 -0400 + +xemacs21 (21.4.13-4) unstable; urgency=low + + * Remove -DREGEX_MALLOC from compile. It's breaking other stuff badly. + + -- James LewisMoss Sun, 20 Jul 2003 17:39:31 -0400 + +xemacs21 (21.4.13-3) unstable; urgency=low + + * Apply patch to fix makefile rule (Closes: #200650) (thanks Eric + Schwartz) + * Oops. Forgot to change /packages/ to /xemacs-packages/ in 00debian.el + (caused missing info pages) + * Add /usr/share/xemacs21/xemacs-packages/etc/psgml-dtds/CATALOG to + sgml-local-catalogs + + -- James LewisMoss Thu, 17 Jul 2003 11:52:38 -0400 + +xemacs21 (21.4.13-2) unstable; urgency=low + + * Move gnome packages to section gnome (override warning) + * Remove libsasl-dev build-depend and let libldap2-dev do the depending + (Closes: #199870) + * Really add the editclient binary. + * Write a man page for ellcc. + * Random fixups to build depends. + * Make sure libldap2-dev is installed before compile. + + -- James LewisMoss Tue, 8 Jul 2003 15:20:17 -0400 + +xemacs21 (21.4.13-1) unstable; urgency=low + + * New upstream release + * Copy editclient.sh to /usr/bin/editclient (Closes: #197160, #197151) + * Change xemacs to look in /xemacs-packages rather than /packages to + match upstream change. + * add start of, but disable because of errors: + call emacsen-install with xemacs21-mule, xemacs21-nomule and xemacs21 + (per discussion on debian-emacsen) + * Fix compiles on ia64 by adding --with-system-malloc (Closes: #169553) + * Do same for m68k. + * Add -DREGEX_MALLOC to configure (Closes: #173423) + * Include ellcc (Closes: #192629) + * Add debhelper v4 build depends. (lintian) + * Copy new config.{guess,sub} (lintian) + * remove conffiles file. (lintian) + + -- James LewisMoss Tue, 24 Jun 2003 15:41:07 -0400 + +xemacs21 (21.4.12-1) unstable; urgency=low + + * New upstream release + + -- James LewisMoss Mon, 27 Jan 2003 12:28:22 -0500 + +xemacs21 (21.4.11-1) unstable; urgency=low + + * New upstream release + * Recompile to get new libpg deps. + * Remove conffile file. Fix copyright (s). (lintian) + + -- James LewisMoss Fri, 10 Jan 2003 18:33:51 -0500 + +xemacs21 (21.4.10-3) unstable; urgency=low + + * Add gnuclient menu entry in -bin package (Closes: #171433) + * Recompile for new libpg interface. + + -- James LewisMoss Fri, 3 Jan 2003 09:13:31 -0500 + +xemacs21 (21.4.10-2) unstable; urgency=low + + * Remove copied config.values files. (makes diff smaller) + * Change build-depends on libxaw-dev to libxaw7-dev. (Closes: #169997) + * Recompile to fix bonobo-activation crash (I hope) + + -- James LewisMoss Sun, 24 Nov 2002 10:58:21 -0500 + +xemacs21 (21.4.10-1) unstable; urgency=low + + * New upstream release + * Add copyright notice from documentation (Closes: #161501) + * Add update-alt --remove ootags in bin postinst (Closes: #159469) + * Add --pdump option and handle the extra files. Required by + incompatibility with glibc 2.3.1. + * Remove ctags from package. Exuberant-ctags provides a better version + for the vi's of the world. + * Patch pdump code to look in docdir for DUMP additionally to the .dmp + file in /usr/bin. + * Remove /usr/doc link stuff. + * Include config.values in per type dirs. + * Move xemacs info files to /usr/share/info/xemacs21 and put the + xemacs21 info file there. + + -- James LewisMoss Mon, 11 Nov 2002 09:37:54 -0500 + +xemacs21 (21.4.9-1) unstable; urgency=low + + * New upstream release + + -- James LewisMoss Mon, 14 Oct 2002 10:22:18 -0400 + +xemacs21 (21.4.8-3) unstable; urgency=low + + * Add --with-file-coding opt to configure. + + -- James LewisMoss Mon, 14 Oct 2002 09:56:28 -0400 + +xemacs21 (21.4.8-2) unstable; urgency=low + + * Add --with-pop to configure line (Closes: #37854) + * Add DEB_BUILD_OPTIONS support for debug and depend on dh_strip to deal + with nostrip correctly (Policy change) + * Fix gnuclient/gtk problem (Closes: #) + * Revert setq -> custom-set-variables change from 21.4.6-9 in 00debian.el + * Add gtk as window-system for setting fonts in psgml. + * Add xemacs-21.4.8 to path for xemacs info files (Closes: #152288) + * Minor README changes. + * Switch to using /usr/share/info as the base info dir rather than + /usr/info. + + -- James LewisMoss Tue, 6 Aug 2002 10:24:58 -0400 + +xemacs21 (21.4.8-1) unstable; urgency=low + + * New upstream. + * Fix texi modifying script to remove all the .old files (now .deb-old) + * Remove ootags from xemacs21-bin package so as not to conflict with + oo-browser package (which actually uses the program and xemacs doesn't + by default). + + -- James LewisMoss Wed, 15 May 2002 23:46:14 -0400 + +xemacs21 (21.4.6-9) unstable; urgency=low + + * Remove /usr/info from Info-directory-list + * Wrap if file-directory-p's around /usr/local/info and add + /usr/share/info with same wrap. + * Remove usr/share/info/xemacs-.../dir.gz since we shouldn't ever be + using it. + * wrap mule-packages info file dir in a file-directory-p. + * Use custom-set-variables to set everything rather than setq and + setq-default. + * Remove duplicated info with let and use @@ replacements for + load-path. + * Move @@ stuff to two setqs at the top of the file and use those vars + everywhere. More random elisp cleanups. + * Don't generate subdirectory ref in xemacs21.info file to avoid not + found warnings in search for subdir. Use search path dir to catch it + instead. + * Fix texi file conversion (wasn't modifying files in subdirs) + * Maybe fix some of the psgml problems with the 00debian.el cleanup (use + local variables rather than overwriting xemacs system ones) + * Add DH_COMPAT=4 to rules. + * Minor rules file formatting changes. + * add install and pre-build to .PHONY tag in rules. + * add .PHONY to ConfigMakefile + * Remove the --without-postgresql cause postgresql is now in base. + * Add -f to all rm calls in the generate scripts. + + -- James LewisMoss Thu, 2 May 2002 23:36:34 -0400 + +xemacs21 (21.4.6-8) unstable; urgency=low + + * Add (packages-reload-autoloads) to 00.debian.el. This may fix a lot + of problems people are having. + * Reverse order of /etc/ dirs in path to comply with emacsen policy. + * Add /usr/local/share/emacs/{site-lisp,xemacs-@VERSION/site-lisp} to + load path to comply with emacsen policy. (Though I don't know why it's + policy :) + + -- James LewisMoss Sun, 7 Apr 2002 10:40:44 -0400 + +xemacs21 (21.4.6-7) unstable; urgency=low + + * Recompile to fix libpng troubles (Closes: #130171) + * OK. Now use the symlink xemacs21- for the alternatives + mechanism so we track across minor version without breaking things. + Unfortunately that means we need to clean up past screwups, so + --remove for versions 1-5 in postinst. (Closes: #129499) + + -- James LewisMoss Sun, 20 Jan 2002 19:27:51 -0500 + +xemacs21 (21.4.6-6) unstable; urgency=low + + * Oops. Added a couple too many )'s in 00debian.el (Closes: #127140) + + -- James LewisMoss Sun, 30 Dec 2001 22:02:40 -0500 + +xemacs21 (21.4.6-5) unstable; urgency=low + + * OK. Ppc is broken with the current nocombreloc setup. It needs + "-Wlinker -znocombreloc" rather than "-z nocombreloc". Check if + everything will work with the former. + + -- James LewisMoss Sun, 30 Dec 2001 08:44:42 -0500 + +xemacs21 (21.4.6-4) unstable; urgency=low + + * Back out all the configure.in changes related to nocombreloc. + * Recompile to fix crash with nomule and mule (Closes: #126815) + + -- James LewisMoss Sat, 29 Dec 2001 17:32:22 -0500 + +xemacs21 (21.4.6-3) unstable; urgency=low + + * Add .xemacs/xemacs-packages .xemacs/packages to 00debian.el + * Redirect error output from dpkg in postinst. Oops. (Closes: #126011) + * Fix configure.in to use "-znocombreloc" rather than "-z nocombreloc" + (Closes: #126028) + + -- James LewisMoss Thu, 27 Dec 2001 14:03:23 -0500 + +xemacs21 (21.4.6-2) unstable; urgency=low + + * Look for packages in ~/.xemacs/xemacs-packages (Closes: #125708) + * Clean up packages setup to remove double strings. + + -- James LewisMoss Wed, 19 Dec 2001 12:25:18 -0500 + +xemacs21 (21.4.6-1) unstable; urgency=low + + * New upstream. (Closes: #119659) + * Remove .cvsignore and check_cygwin_setup.sh from -support package + (lintian warnings and errors) + * Only update-alternatives --remove on != upgrade (Closes: #120697, + #119910) + * Redirect stderr to make harmless error messages go away (Closes: + #120916) + * No longer uses esd (Closes: #112841) + * Apply patch from mailing list to fix random popping window with + gnome/gtk version (Closes: #101030, #106975) + + -- James LewisMoss Tue, 18 Dec 2001 00:06:10 -0500 + +xemacs21 (21.4.5-1) unstable; urgency=low + + * New upstream. + * Remove esd as compile for sound. + * Add --ldflags="-s -znocombreloc" to configure line. Should fix + crashes. (Thanks Salman Ahmed) + * Fix copyright file to point to correct place for the GPL (lintian) + + -- James LewisMoss Thu, 15 Nov 2001 15:13:45 -0500 + +xemacs21 (21.4.4-1) unstable; urgency=low + + * New upstream. (Closes: #95382, #102731, #101758) + * Apply patch from Aaron Crane to fix file names in + load-history. (Closes: #58313, #65816) + * Apply patch to fix athena widget sensing (Peter Brown from xemacs ml) + * Add --with-ipv6-cname=no to configure line. Closes slow startup times + bugs. (Closes: #104533) + * Remove --const-is-losing configure arg. + * README-beta -> README-release in support installed docs. + + -- James LewisMoss Mon, 30 Jul 2001 12:15:51 -0400 + +xemacs21 (21.4.3-4) unstable; urgency=low + + * Apply patch from Aaron Crane to fix file names in + load-history. (Closes: #58313, #65816) + + -- James LewisMoss Sun, 29 Jul 2001 22:24:37 -0400 + +xemacs21 (21.4.3-3) unstable; urgency=low + + * Change faces used in sgml (Closes: #105588) + * Add g to sed commands (Closes: #101512) + * Apply gtk scrollbar patch (Closes: 101482, #101202) + + -- James LewisMoss Tue, 24 Jul 2001 20:49:30 -0400 + +xemacs21 (21.4.3-2) unstable; urgency=low + + * Fix build depends libgnome32-dev -> libgnome-dev (Closes: #101210) + * Put a versioned depends on -basesupport and -mulesupport >= + 2001.04.08-1 (Closes: #101035) + * Uploaded new version (Closes: #97990) + * Have menu files launch alternative xemacs names (Closes: #99074) + + -- James LewisMoss Sun, 17 Jun 2001 15:14:50 -0400 + +xemacs21 (21.4.3-1) unstable; urgency=low + + * New upstream. + + -- James LewisMoss Fri, 8 Jun 2001 23:56:03 -0400 + +xemacs21 (21.4.1-3) unstable; urgency=low + + * Add gnome versions of mule, nomule, and mule-canna-wnn packages. + * Autogenerate the .menu.in, .postinst.in, prerm.in and preinst.in files + for all the xemacs bin packages. + * Add build depends on the gnome libraries for the new gnome packages. + + -- James LewisMoss Thu, 24 May 2001 01:45:52 -0400 + +xemacs21 (21.4.1-2) unstable; urgency=low + + * add --without-postgresql to configure line (Closes: #98449, #98437) + + -- James LewisMoss Tue, 22 May 2001 22:25:10 -0400 + +xemacs21 (21.4.1-1) unstable; urgency=low + + * New upstream. + * Change --lockdir to --statedir. + * Remove --with-session and --gung-ho (no longer supported by configure) + + -- James LewisMoss Sun, 6 May 2001 02:17:21 -0400 + +xemacs21 (21.1.14-5) unstable; urgency=low + + * Add check for -ldb-3 in configure.in. + + -- James LewisMoss Mon, 30 Apr 2001 15:13:33 -0400 + +xemacs21 (21.1.14-4) unstable; urgency=lwo + + * Oops. Forgot to really add libxaw-dev as build depends. + * Change build depends from libdb2-dev to libdb3-dev. + + -- James LewisMoss Sat, 28 Apr 2001 23:38:31 -0400 + +xemacs21 (21.1.14-3) unstable; urgency=low + + * Add libxaw-dev as build depends (Closes: #92479) + + -- James LewisMoss Fri, 27 Apr 2001 10:47:13 -0400 + +xemacs21 (21.1.14-2) unstable; urgency=low + + * Remove xpm4g build depends. (Closes: #91973) + * Fixes to sgml-base fixed psgml hang problems (Closes: #89190, #90472) + * Add ~/.xemacs/packages to the package path (Closes: 90351) + * Man page missing lines fixed. (Closes: #86071, #76180) + * Bug seems fixed. Can't reproduce. (Closes: #77814) + * Add Text hints to menus (Closes: #80162, #80043) + * Include /usr/share/xemacs21/site-packages/info in -support package + (Closes: #88826) + * Up standards version to 3.1.0 (lintian) + * Move install-info call from postrm to prerm. (lintian) + * Add .so man pages for the xemacs21-{mule,mule-canna-wnn,nomule} + symlinks (lintian) + + -- James LewisMoss Thu, 29 Mar 2001 18:02:27 -0500 + +xemacs21 (21.1.14-1) unstable; urgency=low + + * New upstream. + * Closes gnuserv security problem. (Closes: #84628) + * Remove dh_suidregister calls. Add conflicts. + * Add psgml code. (Closes: #83051) + * Remove xemacs21-fake from -bin package. It's outlived it's usefulness + (if it ever was) + * Strip xemacs binaries again. Whatever troubles there were seem to be + gone again. + + -- James LewisMoss Sun, 4 Feb 2001 18:36:54 -0500 + +xemacs21 (21.1.13-1) unstable; urgency=low + + * New upstream. + * Merge Chinese mule environment changes into upstream changes. Someone + who knows something about this let me know if the upstream is good + enough on it's own. + * Upstream changes fixed (split-string "foo bar" "") problem (Closes: + #80851) + + -- James LewisMoss Mon, 8 Jan 2001 02:03:05 -0500 + +xemacs21 (21.1.12-4) unstable; urgency=low + + * Set TeX-lisp-directory (Closes: #76139) + + -- James LewisMoss Sat, 16 Dec 2000 04:29:13 -0500 + +xemacs21 (21.1.12-3) unstable; urgency=low + + * Add Chinese mule fix to lisp/mule/mule-init.el (Closes: #63805) + * New xemacs21-basesupport fixes psgml parsing problem (Closes: #69911) + * Someone else has put out a gtk version. (Closes: #75370, #70518) + * Has been recompiled against new libdb/libc (Closes: #72682) + * Long fixed bug. Recompiled with libwnn6-dev (Closes: #57016) + * Long fixed bug. Debian README mentions fontset (Closes: #68380) + * Long fixed bug. New version. (Closes: #65483) + * Fix manpages whatis problem (Patch from Torsten thanks) (Closes: + #74275, #78102) + * Stop stripping the xemacs binaries. It's breaking things. + * Update build-depends (add debhelper and some more libs) (lintian) + + -- James LewisMoss Mon, 11 Dec 2000 18:10:49 -0500 + +xemacs21 (21.1.12-2) unstable; urgency=low + + * Recompile for libdb versioned symbols problem. + + -- James LewisMoss Wed, 27 Sep 2000 02:10:12 -0400 + +xemacs21 (21.1.12-1) unstable; urgency=low + + * Remove remaking configure (patch to that has been applied upstream). + * Added texi2html to Build-Depends (though not technically neccessary + yet) (Closes: #66753) + * Added a alternative to /usr/lib/xemacs-@VERSION@/@CONF_NAME@/movemail + to /usr/bin/movemail. I'm sure I'll regret it. Anyway. + (Closes: #66423) + * Add alternative as above, but for mmencode (Closes: #64722, #66826) + * Add some more depends to make the packages tied together more strongly + (fixes problem with new upstream and other arches than first) + * New upstream. + * Add links from xemacs21-{mule,nomule,mule-canna-wnn} to + xemacs-@VERSION@-{mule,nomule,mule-canna-wnn} (Make it easier on + upgrades to pick a type without worrying about minor version changes.) + * Fix cleanup of debian/xemacs@MAJVERSION@.texi (and add a trailing + newline to the file) + + -- James LewisMoss Sun, 6 Aug 2000 14:37:27 -0400 + +xemacs21 (21.1.10-4) frozen unstable; urgency=low + + * Remove /usr/share/emacs/site-lisp (the subdir call, leaving the final + one) behind the default load path. (Closes: #66319) (RC bug) + + -- James LewisMoss Wed, 28 Jun 2000 18:51:22 -0400 + +xemacs21 (21.1.10-3) frozen unstable; urgency=low + + * Revert setting debian-emacs-flavor in startup.el.in (change to + emacsen-common) + + -- James LewisMoss Tue, 20 Jun 2000 14:35:45 -0400 + +xemacs21 (21.1.10-2) frozen unstable; urgency=low + + * Comment out gnuclient as xemacs21 alternative. It's just causing too + many troubles. If anyone can tell me how I'm abusing + update-alternatives so that I can fix this problem I'd love it. + + -- James LewisMoss Thu, 8 Jun 2000 19:43:31 -0400 + +xemacs21 (21.1.10-1) frozen unstable; urgency=low + + * Newest bug fix upstream. + * I'd stick with 21.1.8 for frozen, but it no longer compiles on potato + this one does, and this contains the pty security bug fix. + * Add a make-coding-system for us-ascii in 00debian.el. + * Revert coding-system configure option (make only major bug left in + 21.1.9-3 go away) + + -- James LewisMoss Sat, 27 May 2000 16:53:14 -0400 + +xemacs21 (21.1.9-3) unstable; urgency=low + + * Add an xemacs21-fake binary to be installed by xemacs21-bin to avoid + the problem where there are no xemacs21 binaries and + update-alternatives doesn't create a link xemacs->xemacs21 (Closes: + #63207, #63326) + * Revert requiring emacsen-common >= 1.4.10 (So it'll install on a + potato system) + + -- James LewisMoss Fri, 5 May 2000 22:04:42 -0400 + +xemacs21 (21.1.9-2) unstable; urgency=low + + * Make everything depend on (= ${Source-Version}) (Closes: #62026, + #61964, #62353) + * Make the xemacs21 package replace/conflict xemacs and + xemacs-widgets. (Closes: #61852) + * Compile with file coding support. (Closes: #48771, #49332) + * add "(setq delete-key-deletes-forward t)" to fix console + problem. (Closes: #24607, #20293, #43189) + * Add versioned depends on emacsen-common (emacsen policy) + * Add /etc/emacs and /etc/xemacs@MAJVERSION@ to load path and then load + "site-start" (emacsen policy) + * Add dir and subdirs of /usr/share/emacs/site-lisp (emacsen policy) + * Ignoring section 9 of emacsen policy. The paths make no sense. + * The above three (Closes: #31650) + * mwheel included in 21.1.9 (Closes: #32771) + * Add Build-Depends (Closes: #53879, #62301) + * Apply pty security patch from lwn.net/daily/rc-emacs.html. + * run autoconf and remove configure.in because we had to mod + configure.in. (pty patch above) + * Fix pty patch. Used sigunblock which doesn't seem to exist. Instead + save sigmask before calling sigblock and restore it at the end. + + -- James LewisMoss Wed, 19 Apr 2000 23:36:39 -0400 + +xemacs21 (21.1.9-1) unstable; urgency=low + + * Fix defvar -> setq in site-start.el.in (fixes problems with changes to + emacsen-common) (Closes: #61102) + * Add gnuclient as an alternative to xemacs and xemacs21 (Closes: #57528) + * Remove pstogif refs. It's been removed from the upstream. + + -- James LewisMoss Sun, 26 Mar 2000 11:28:27 -0500 + +xemacs21 (21.1.8-2) unstable; urgency=low + + * Remove code to ignore emacsen errors. (Closes #52167) + * Comment out setting of nnmail-spool-file in 00debian.el.in (Closes + #53740) + * Configure with --with-gpm=no (Closes #53741) + * Fix copyright location in copyright file (lintian error). + * Fix case of changelog in xemacs21-support (lintian error). + + -- James LewisMoss Fri, 31 Dec 1999 10:04:37 -0500 + +xemacs21 (21.1.8-1) unstable; urgency=low + + * New upstream (removing emacs.c, unexelf.c, and japanese.el patches now + included upstream). + * Add a bunch of notes to README.Debian. Closes: #49055. + * Make package path build type specific (if specified it will make + non-mule compiles unhappy if it includes mule-packages). + + -- James LewisMoss Wed, 3 Nov 1999 19:01:41 -0500 + +xemacs21 (21.1.7-10) unstable; urgency=low + + * Make dir-and-all-good-subs check for existence of directory before + trying to read it and return nil if it doesn't exist. + * Add preinst for mule, nomule, and mule-canna-wnn to remove old + alternatives for xemacs21. + + -- James LewisMoss Sun, 31 Oct 1999 21:48:01 -0500 + +xemacs21 (21.1.7-9) unstable; urgency=low + + * Apply Andreas Jaeger's malloc patch. + + -- James LewisMoss Thu, 28 Oct 1999 20:05:30 -0400 + +xemacs21 (21.1.7-8) unstable; urgency=low + + * Added patch to fix japanese autodetection. Closes: #47794. + * Back to 21.1.7 unexelf.c with patch from xemacs-patches. + * Add update-alternatives lines in -bin postinst to remove the old + alternatives from 21.1-p2. + * Adjust alternatives values for new packages so they overwrite any old + values hanging around. This and above are all I can do to fix + 47770. Closes: #47770. + * Add postinst to xemacs21 to add the /usr/doc link (gets rid of lintian + warning) + + -- James LewisMoss Sat, 23 Oct 1999 23:33:27 -0400 + +xemacs21 (21.1.7-7) unstable; urgency=low + + * Fix path of chown in 00debian.el.in, Closes: #47728 + * Fix depends line in xemacs21 package. Closes: #47794 + * Fixe xemacs21 to have full complement of doc files. + + -- James LewisMoss Tue, 19 Oct 1999 19:51:25 -0400 + +xemacs21 (21.1.7-6) unstable; urgency=low + + * Make movemail properly chmoded. + * Add postinst/prerm actions for /usr/doc links. + + -- James LewisMoss Mon, 11 Oct 1999 22:54:38 -0400 + +xemacs21 (21.1.7-5) unstable; urgency=low + + * Add patches from + http://www.gohome.org/teranisi/patches/lwlib-Xaw.c.diff + http://www.gohome.org/teranisi/patches/xlwmenu.c.diff (Suggestion from + Takuo KITAME) + * Add /usr/lib/xemacs/site-lisp and /usr/lib/xemacs/site-lisp-21 to + support. (Also from Takuo KITAME) + * Recompile against latest mulesupport and basesupport packages. + + -- James LewisMoss Sun, 10 Oct 1999 14:48:15 -0400 + +xemacs21 (21.1.7-4) unstable; urgency=low + + * Revert to the version of unexelf.c from 21.1.4. Should fix the random + crashing problems. + + -- James LewisMoss Sun, 10 Oct 1999 00:35:46 -0400 + +xemacs21 (21.1.7-3) unstable; urgency=low + + * Recompiling hell. + + -- James LewisMoss Wed, 6 Oct 1999 22:52:11 -0400 + +xemacs21 (21.1.7-2) unstable; urgency=low + + * Recompile without Xaw3d. Let's hope this fixes the problem. + + -- James LewisMoss Wed, 6 Oct 1999 08:12:24 -0400 + +xemacs21 (21.1.7-1) unstable; urgency=low + + * Recompile for the damn libc. + + -- James LewisMoss Mon, 4 Oct 1999 23:10:54 -0400 + +xemacs21 (21.1.7-0.1) unstable; urgency=low + + * New upstream. + + -- James LewisMoss Wed, 29 Sep 1999 22:41:21 -0400 + +xemacs21 (21.1.6-0.7) unstable; urgency=low + + * Recompile with new libc. + + -- James LewisMoss Sun, 26 Sep 1999 23:47:26 -0400 + +xemacs21 (21.1.6-0.6) unstable; urgency=low + + * Lower xemacs alternative till testing period is over with. + + -- James LewisMoss Tue, 21 Sep 1999 07:41:31 -0400 + +xemacs21 (21.1.6-0.5) unstable; urgency=low + + * Recompile with new libc and ldso. + + -- James LewisMoss Sat, 18 Sep 1999 00:06:51 -0400 + +xemacs21 (21.1.6-0.4) unstable; urgency=low + + * Fix "not loading /etc/xemacs21/site-start.d files at startup" problem + (copy site-start.el and debian-rundir.el to + /usr/share/xemacs21/site-packages/lisp). + + -- James LewisMoss Thu, 16 Sep 1999 19:42:38 -0400 + +xemacs21 (21.1.6-0.3) unstable; urgency=low + + * Fix get_menu_part to use .in method, and fix the :: or : + (stuff). difference (should fix some of the info file oddness where + some didn't come back to the xemacs21 file. + * Move some stuff from rules to PackagesMakefile.in that belong there. + * Fix the /usr/info dir removal. + + -- James LewisMoss Tue, 14 Sep 1999 22:18:51 -0400 + +xemacs21 (21.1.6-0.2) unstable; urgency=low + + * Fix site-lisp handling. + * Make manpages compressed. + * Change info path. + * Compress files in -supportel. + * Move only the lisp directory in -supportel. + * add -nw to text menu entries. + * Up update-alternatives number for this package above the xemacs20 + packages (newer is better right?) + * Fix Info-additional-search-directory-list to look in /usr/share/info + rather than /usr/info. + * Add rmdir commands to -support prerm (for + /usr/local/lib/xemacs/site-lisp) + * Fix the .texi files so that the (dir) points to (xemacs21) instead. + * docdir patch from upstream. (Michael Sperber) + * Fix manpage update-alternatives calls in -bin postinst to go to + /usr/share/man rather than /usr/man. + + -- James LewisMoss Mon, 13 Sep 1999 23:54:26 -0400 + +xemacs21 (21.1.6-0.1) unstable; urgency=low + + * New upstream. + * Fix prerm to use xemacs@MAJVERSION@ rather than xemacs20 for + alternatives. Oops. (Which is why old ones left around.) + * Add update-alternatives lines in -bin.postrm to get rid of + alternatives left from the above mistake. + * Fix copy locations for DOC files to the CONF_NAME path rather than + etc. + * Write man pages for b2m, pstogif, and rcs-checkin. Add ootags info to + the etags manpage and create linking ootags manpage. Modify the + ctags, gnuclient, gnudoit and gnuattach so that they point towards the + correct man pages. + * Add the binaries and manpages to -bin and fix handling of them in + {post,pre}{rm,inst}. + * Fix some buglets in the {post,pre}{rm,inst}s. + * Fix mkdir/cp commands to use $@. + + -- James LewisMoss Thu, 9 Sep 1999 22:27:15 -0400 + +xemacs21 (21.1.2-1) unstable; urgency=low + + * New upstream + + -- James LewisMoss Sat, 5 Jun 1999 21:41:00 -0400 + +xemacs21 (21.0.67-1) unstable; urgency=low + + * Initial Release. + * Never released. + + -- James LewisMoss Sun, 21 Mar 1999 17:07:12 -0500 + --- xemacs21-21.4.22.orig/debian/README.source +++ xemacs21-21.4.22/debian/README.source @@ -0,0 +1,38 @@ +This package uses dpatch to manage all modifications to the upstream +source. Changes are stored in the source package as diffs in +debian/patches and applied during the build. + +To get the fully patched source after unpacking the source package, cd +to the root level of the source package and run: + + debian/rules patch + +Removing a patch is as simple as removing its entry from the +debian/patches/00list file, and please also remove the patch file +itself. + +Creating a new patch is done with "dpatch-edit-patch patch XX_patchname" +where you should replace XX with a new number and patchname with a +descriptive shortname of the patch. You can then simply edit all the +files your patch wants to edit, and then simply "exit 0" from the shell +to actually create the patch file. + +To tweak an already existing patch, call "dpatch-edit-patch XX_patchname" +and replace XX_patchname with the actual filename from debian/patches +you want to use. + +To clean up afterwards again, "debian/rules unpatch" will do the +work for you - or you can of course choose to call +"fakeroot debian/rules clean" all together. + + +--- + +this documentation is part of dpatch package, and may be used by +packages using dpatch to comply with policy on README.source. This +documentation is meant to be useful to users who are not proficient in +dpatch in doing work with dpatch-based packages. Please send any +improvements to the BTS of dpatch package. + +original text by Gerfried Fuchs, edited by Junichi Uekawa +10 Aug 2008. --- xemacs21-21.4.22.orig/debian/xemacs-@VERSION@-mule-canna-wnn.1.in +++ xemacs21-21.4.22/debian/xemacs-@VERSION@-mule-canna-wnn.1.in @@ -0,0 +1 @@ +.so man1/xemacs.xemacs@MAJVERSION@.1 --- xemacs21-21.4.22.orig/debian/compat +++ xemacs21-21.4.22/debian/compat @@ -0,0 +1 @@ +5 --- xemacs21-21.4.22.orig/debian/gnudoit.xemacs@MAJVERSION@.1.in +++ xemacs21-21.4.22/debian/gnudoit.xemacs@MAJVERSION@.1.in @@ -0,0 +1 @@ +.so man1/gnuserv.xemacs@MAJVERSION@.1 --- xemacs21-21.4.22.orig/debian/postinst-base +++ xemacs21-21.4.22/debian/postinst-base @@ -0,0 +1,47 @@ +#!/bin/sh -e +set -e + +# Make symlinks due to an emacs-install failure +OLDDATADIR=/usr/lib/xemacs-@VERSION@ +NEWDATADIR=/usr/share/xemacs-@VERSION@ +test -e ${OLDDATADIR}/etc || ln -s ${NEWDATADIR}/etc ${OLDDATADIR}/etc +test -e ${OLDDATADIR}/lisp || ln -s ${NEWDATADIR}/lisp ${OLDDATADIR}/lisp + +# oops. Needed to check version on upgrade. Now just need to remove old ones. +for i in 1 2 3 4 5 6 ; do + update-alternatives --remove xemacs21 /usr/bin/xemacs-21.4.$i-REPLACE_ME +done + +update-alternatives --install /usr/bin/xemacs@MAJVERSION@ xemacs@MAJVERSION@ /usr/bin/xemacs@MAJVERSION@-REPLACE_ME 70 + +# Ok we dont' want to compile these files when we already have another +# installed. +ALREADY_MULE=0 +ALREADY_NOMULE=0 +for i in mule mule-canna-wnn gnome-mule gnome-mule-canna-wnn ; do + STAT=`dpkg -s xemacs@MAJVERSION@-$i 2> /dev/null | perl -ne 'next if $_ !~ m/^Status/; $_ =~ s/^Status:\s*(.*)/$1/; print;'` + if [ "REPLACE_ME" != "$i" -a "$STAT" = "install ok installed" ] ; then + ALREADY_MULE=1 + fi +done + +for i in nomule gnome-nomule ; do + STAT=`dpkg -s xemacs@MAJVERSION@-$i 2> /dev/null | perl -ne 'next if $_ !~ m/^Status/; $_ =~ s/^Status:\s*(.*)/$1/; print;'` + if [ "REPLACE_ME" != "$i" -a "$STAT" = "install ok installed" ] ; then + ALREADY_NOMULE=1 + fi +done + +#if [ "$ALREADY_MULE" = "0" ] ; then + #/usr/lib/emacsen-common/emacs-install xemacs@MAJVERSION@-mule +#fi + +#if [ "$ALREADY_NOMULE" = "0" ] ; then + #/usr/lib/emacsen-common/emacs-install xemacs@MAJVERSION@-nomule +#fi + +if [ "$ALREADY_NOMULE" = "0" -a "$ALREADY_MULE" = "0" ] ; then + /usr/lib/emacsen-common/emacs-install xemacs@MAJVERSION@ +fi + +##DEBHELPER## --- xemacs21-21.4.22.orig/debian/gnuclient.xemacs@MAJVERSION@.1.in +++ xemacs21-21.4.22/debian/gnuclient.xemacs@MAJVERSION@.1.in @@ -0,0 +1 @@ +.so man1/gnuserv.xemacs@MAJVERSION@.1 --- xemacs21-21.4.22.orig/debian/find-major-version +++ xemacs21-21.4.22/debian/find-major-version @@ -0,0 +1,28 @@ +#!/bin/sh -e + +# echo out the version of xemacs currently being dealt with + +# export srcdir=`pwd` +# export version=`grep 'defconst[ ]*emacs-version'\ +# ${srcdir}/lisp/version.el \ +# | sed -ne 's/^(defconst emacs-version "\([0-9][0-9]\)\.[0-9]*.*/\1/p'` + +# echo $srcdir +# echo $version + +#echo ${version} + +# OK 19.16 moved the version thingy into configure. How annoying. So +# we will hard code it here until we have a better plan + +#echo "19" + +#DIR=`pwd` + +#echo `echo $DIR | perl -pe 's/.*xemacs([0-9]*)-.*/$1/;'` + +#echo `dpkg-parsechangelog | egrep "^Version:" | perl -pe 's/Version:\s*([0-9]+)(\.[0-9]+)?(-.*)?-([0-9]+)/$1/;'` + +. ./version.sh + +echo $emacs_major_version --- xemacs21-21.4.22.orig/debian/xemacs-@VERSION@-mule.1.in +++ xemacs21-21.4.22/debian/xemacs-@VERSION@-mule.1.in @@ -0,0 +1 @@ +.so man1/xemacs.xemacs@MAJVERSION@.1 --- xemacs21-21.4.22.orig/debian/xemacs@MAJVERSION@@SUBNAME@-support.files.in +++ xemacs21-21.4.22/debian/xemacs@MAJVERSION@@SUBNAME@-support.files.in @@ -0,0 +1,4 @@ +@PREFIX@/share/xemacs-@VERSION@/etc/ +@PREFIX@/share/xemacs-@VERSION@/lisp/ +@PREFIX@/share/info/ +@PREFIX@/bin/editclient --- xemacs21-21.4.22.orig/debian/xemacs21-fake +++ xemacs21-21.4.22/debian/xemacs21-fake @@ -0,0 +1,7 @@ +#!/bin/sh + +echo You need to install one of xemacs#MAJVERSION@-nomule +echo xemacs21-mule or xemacs21-mule-canna-wnn. +echo +echo This is here to make sure that is done and that there is +echo an xemacs21 binary available. --- xemacs21-21.4.22.orig/debian/rules +++ xemacs21-21.4.22/debian/rules @@ -0,0 +1,140 @@ +#!/usr/bin/make -f +# Made with the aid of dh_make, by Craig Small +# Sample debian/rules that uses debhelper. GNU copyright 1997 by Joey Hess. +# Also some stuff taken from debmake scripts, by Cristopt Lameter. + +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 +#export DH_COMPAT=4 +#export DEB_BUILD_OPTIONS=nostrip + +# Include dpatch stuff. +include /usr/share/dpatch/dpatch.make +PACKAGE=xemacs21 + +# this script moves directories so things can't be on separate +# partitions ( no idea why they would be to begin with, but hey +# doesn't hurt to warn :) +package=xemacs +version = $(shell /bin/sh debian/find-version) +maj_version = $(shell /bin/sh debian/find-major-version) + +# any way to do this automatically since we'd like this to be +# easily used with no changes on other architectures, but still +# want to be able to specify. Does this work OK? +machine_type = $(shell dpkg-architecture -qDEB_HOST_GNU_CPU) +prefix=usr + +debianconfig = $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) +tmp_file_loc = debian/tmp + +var_file = var_file.pl + +debian_config_scripts = debian/makevarfile +topdir = $(shell pwd) + +XEMACS_TYPES = nomule mule mule-canna-wnn #gnome-nomule gnome-mule gnome-mule-canna-wnn + +# these things should really not be here if this is to become a more +# general packaging method. +support_bins = b2m etags gnuclient gnuattach gnudoit rcs-checkin ellcc +xemacs_ver = xemacs${maj_version} +html_file_loc = debian/html + +# For debugging: debian policy states that you should build with -g -Wall +CFLAGS += -g -Wall + +build: pre-build build-stamp +build-stamp: patch-stamp debian/PackagesMakefile + dh_testdir + + $(MAKE) -f debian/PackagesMakefile build + + touch build-stamp + +clean: unpatch debian/${var_file} + dh_testdir + dh_testroot + rm -f build-stamp install-stamp pre-build-stamp + + -mv install.old install + -rm -f install + + -rm -f debian/substvars + -rm -f debian/files + -rm -rf debian/tmp # `find debian/* -type d` + + [ ! -f Makefile ] || $(MAKE) distclean + + if [ -f debian/PackagesMakefile ] ; then \ + $(MAKE) -f debian/PackagesMakefile clean ; \ + fi + + -rm -f `find . -name "*~"` + -rm -f `find . -name '*.orig'` + + dh_clean + + # must be done last because it removes some utility scripts + set -e ; cd debian ; \ + $(MAKE) -f ConfigMakefile \ + VAR_FILE=$(var_file) \ + XEMACS_TYPES="$(XEMACS_TYPES)" \ + clean + rm -f debian/$(var_file) + +install: install-stamp +install-stamp: build + dh_testdir + dh_testroot + dh_clean -k + ${MAKE} -f debian/PackagesMakefile installit + + touch install-stamp + +debian/${var_file}: + chmod +x $(debian_config_scripts) + debian/makevarfile "debian/$(var_file)" \ + "MAJVERSION" "$(maj_version)" \ + "VERSION" "$(version)" \ + "SUBNAME" "" \ + "CONF_NAME" "$(debianconfig)" \ + "ARCH" "$(machine_type)" \ + "HTML_FILE_LOC" "$(html_file_loc)" \ + "TMP_FILE_LOC" "$(tmp_file_loc)" \ + "PREFIX" "$(prefix)" \ + "TOPDIR" "$(topdir)" \ + "SUPPORT_BINS" "$(support_bins)" + +debian/PackagesMakefile: debian/PackagesMakefile.in debian/${var_file} + set -e ; cd debian ; \ + $(MAKE) -f ConfigMakefile \ + VAR_FILE=$(var_file) \ + XEMACS_TYPES="$(XEMACS_TYPES)" + +pre-build: pre-build-stamp +pre-build-stamp: debian/${var_file} debian/PackagesMakefile + $(checkdir) + + touch pre-build-stamp + +# Build architecture-independent files here. +binary-indep: build install + -mv install install.old + $(MAKE) -f debian/PackagesMakefile binary-indep + +# Build architecture-dependent files here. +binary-arch: build install + -mv install install.old + $(MAKE) -f debian/PackagesMakefile binary-arch + +source diff: + @echo >&2 'source and diff are obsolete - use dpkg-source -b'; false + +binary: binary-indep binary-arch +.PHONY: build clean install binary-indep binary-arch binary + +# Local variables: +# mode: makefile +# End: + --- xemacs21-21.4.22.orig/debian/b2m.xemacs@MAJVERSION@.1.in +++ xemacs21-21.4.22/debian/b2m.xemacs@MAJVERSION@.1.in @@ -0,0 +1,20 @@ +.TH B2M 1 +.\" NAME should be all caps, SECTION should be 1-8, maybe w/ subsection +.\" other parms are allowed: see man(7), man(1) +.SH NAME +b2m \- This program converts a babyl mailbox to a standard unix mailbox. +.SH SYNOPSIS +.B b2m +.I "[options] < babylmailbox > unixmailbox" +.SH DESCRIPTION +This manual page documents briefly the +.BR b2m , +command. +This manual page was written for the Debian GNU/Linux distribution +because the original program does not have a manual page. +.SH OPTIONS +None +.\" .SH SEE ALSO +.SH AUTHOR +This manual page was written by James LewisMoss , +for the Debian GNU/Linux system (but may be used by others). --- xemacs21-21.4.22.orig/debian/makevarfile +++ xemacs21-21.4.22/debian/makevarfile @@ -0,0 +1,24 @@ +#!/usr/bin/perl +# -*- perl -*- + +my $vf = shift(@ARGV); + +print "Making file $vf\n"; + +open(VF, "> $vf"); + +my %reps = @ARGV; + +print VF "\$reps = {\n" || die "Can't print"; + +foreach (keys %reps) { + print VF " '$_' => \"" . $reps{$_} . "\",\n" || die "Can't print"; +} + +print VF "};\n" || die "Can't print"; + +close(VF); + + + + --- xemacs21-21.4.22.orig/debian/xemacs21-support.conffiles.foo +++ xemacs21-21.4.22/debian/xemacs21-support.conffiles.foo @@ -0,0 +1 @@ +/etc/xemacs21/site-start.d/00debian.el --- xemacs21-21.4.22.orig/debian/ootags.xemacs@MAJVERSION@.1.in +++ xemacs21-21.4.22/debian/ootags.xemacs@MAJVERSION@.1.in @@ -0,0 +1 @@ +.so man1/etags.xemacs@MAJVERSION@.1 --- xemacs21-21.4.22.orig/debian/PackagesMakefile.in +++ xemacs21-21.4.22/debian/PackagesMakefile.in @@ -0,0 +1,624 @@ +#!/usr/bin/make -f + +ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS))) + DEB_CFLAGS += -g +endif + +b = @TOPDIR@/debian/build +t = @TMP_FILE_LOC@ + +docdir_start = /@PREFIX@/lib/xemacs-@VERSION@/@CONF_NAME@ + +all: + +build: pre-internal-build canna-wnn-build mule-build nomule-build general-build + +binary-indep: xemacs@MAJVERSION@@SUBNAME@ xemacs@MAJVERSION@@SUBNAME@-supportel xemacs@MAJVERSION@@SUBNAME@-support #xemacs@MAJVERSION@@SUBNAME@-dochtml + +binary-arch: xemacs@MAJVERSION@@SUBNAME@-nomule xemacs@MAJVERSION@@SUBNAME@-mule xemacs@MAJVERSION@@SUBNAME@-mule-canna-wnn xemacs@MAJVERSION@@SUBNAME@-gnome-nomule xemacs@MAJVERSION@@SUBNAME@-gnome-mule xemacs@MAJVERSION@@SUBNAME@-gnome-mule-canna-wnn xemacs@MAJVERSION@@SUBNAME@-bin + +clean: + -rm -rf @TOPDIR@/debian/build + -rm -f html-build-stamp + -rm -f canna-wnn-build-stamp mule-build-stamp nomule-build-stamp + -rm -f gnome-canna-wnn-build-stamp gnome-mule-build-stamp gnome-nomule-build-stamp + -rm -f general-build-stamp + -rm -f debian/xemacs@MAJVERSION@.info.gz + # this makes sure we don't get a HUGE (meg size) .diff.gz and + # causes no harm since we have to run autoconf at the begining + #-rm -f configure + rm -f config.sub config.guess + for i in mule nomule mule-canna-wnn gnome-mule gnome-nomule gnome-mule-canna-wnn ; do \ + rm -f lib-src/DOC-@VERSION@-$$i ; \ + rm -f src/xemacs-@VERSION@-$$i ; \ + rm -f src/xemacs-@VERSION@-dmp-$$i ; \ + rm -f src/xemacs-@VERSION@-$$i-config.values ; \ + done +# cd man ; sh ../debian/convert-texi-files CLEAN + -rm -f `find . -name '*.elc' -print` + -rm -f debian/xemacs@MAJVERSION@.texi + -rm -f debian/*-info + -rm -f info/*info* + -rm -f lwlib/*.o + -rm -f lwlib/*.a + -rm -f src/NEEDTODUMP src/dump-id.c + +installit: + $(MAKE) install prefix=@TOPDIR@/@TMP_FILE_LOC@/@PREFIX@ infodir=/@TOPDIR@/@TMP_FILE_LOC@/@PREFIX@/share/info/xemacs@MAJVERSION@ datadir=@TOPDIR@/@TMP_FILE_LOC@/@PREFIX@/share + cp @TOPDIR@/@TMP_FILE_LOC@/@PREFIX@/share/xemacs-@VERSION@/etc/editclient.sh @TOPDIR@/@TMP_FILE_LOC@/@PREFIX@/bin/editclient + + +xemacs@MAJVERSION@@SUBNAME@: + dh_testroot + dh_installdirs -p$@ -P$(b)/$@ + dh_installdocs -p$@ -P$(b)/$@ + dh_installchangelogs -p$@ -P$(b)/$@ + dh_compress -p$@ -P$(b)/$@ + dh_installdeb -p$@ -P$(b)/$@ + dh_gencontrol -p$@ -P$(b)/$@ + # dh_makeshlibs -p$@ -P$(b)/$@ + dh_md5sums -p$@ -P$(b)/$@ + dh_builddeb -p$@ -P$(b)/$@ + +xemacs@MAJVERSION@@SUBNAME@-support: + dh_testroot + dh_installdirs -p$@ -P$(b)/$@ + dh_movefiles -p$@ -P$(b)/$@ + cp $(b)/$@/@PREFIX@/share/xemacs-@VERSION@/etc/xemacs-icon*.* $(b)/$@/@PREFIX@/share/icons + cp debian/00debian.el $(b)/$@/etc/xemacs@MAJVERSION@/site-start.d/ + cp debian/site-start.el $(b)/$@/@PREFIX@/share/xemacs@MAJVERSION@/site-packages/lisp + cp debian/debian-rundir.el $(b)/$@/@PREFIX@/share/xemacs@MAJVERSION@/site-packages/lisp +# perl debian/get_menu_part info/dir debian/xemacs@MAJVERSION@.texi +# ( cd debian ; makeinfo xemacs@MAJVERSION@.texi ) +# cp debian/xemacs@MAJVERSION@.info $(b)/$@/@PREFIX@/share/info/xemacs@MAJVERSION@ +# ( cd $(b)/$@/@PREFIX@/share/info/xemacs@MAJVERSION@ ; rm dir ; ln -s xemacs@MAJVERSION@.info dir ) + rm -f $(b)/$@/@PREFIX@/share/info/xemacs@MAJVERSION@/dir* +# remove files causing lintian errors + ( cd $(b)/$@ ; find . -name .cvsignore | xargs rm -f ) +# remove file used only by windows version that causes lintian errors + rm $(b)/$@/@PREFIX@/share/xemacs-@VERSION@/etc/check_cygwin_setup.sh +# mv $(b)/$@/@PREFIX@/info/* $(b)/$@/@PREFIX@/share/info +# -rmdir $(b)/$@/@PREFIX@/info +# dh_testversion + dh_installdocs --package=$@ -P$(b)/$@ + dh_lintian --package=$@ -P$(b)/$@ +# dh_installexamples -p$@ -P$(b)/$@ +# dh_installmenu -p$@ -P$(b)/$@ +# dh_installemacsen -p$@ -P$(b)/$@ +# dh_installinit -p$@ -P$(b)/$@ +# dh_installcron -p$@ -P$(b)/$@ +# dh_installmanpages -p$@ -P$(b)/$@ +# dh_undocumented -p$@ -P$(b)/$@ + dh_undocumented -p$@ -P$(b)/$@ + dh_installchangelogs -p$@ -P$(b)/$@ + mv $(b)/$@/@PREFIX@/share/doc/$@/ChangeLog $(b)/$@/@PREFIX@/share/doc/$@/changelog + dh_strip -p$@ -P$(b)/$@ + dh_compress -p$@ -P$(b)/$@ +# gunzip $(b)/$@/@PREFIX@/share/info/xemacs@MAJVERSION@/xemacs@MAJVERSION@.info.gz + dh_fixperms -p$@ -P$(b)/$@ + dh_link -p$@ -P$(b)/$@ + dh_installdeb -p$@ -P$(b)/$@ + dh_shlibdeps -p$@ -P$(b)/$@ + dh_gencontrol -p$@ -P$(b)/$@ + dh_makeshlibs -p$@ -P$(b)/$@ + dh_md5sums -p$@ -P$(b)/$@ + dh_builddeb -p$@ -P$(b)/$@ + +xemacs@MAJVERSION@@SUBNAME@-bin: + dh_testroot + dh_installdirs -p$@ -P$(b)/$@ + dh_movefiles -p$@ -P$(b)/$@ +# dh_testversion +# dh_installdocs --package=$@ -P$(b)/$@ + ( mkdir -p $(b)/$@/@PREFIX@/share/doc ; cd $(b)/$@/@PREFIX@/share/doc ; ln -sf xemacs@MAJVERSION@-support $@ ) + rm -f $(t)/@PREFIX@/bin/ootags + set -e ; for i in @SUPPORT_BINS@ ; do cp $(t)/@PREFIX@/bin/$$i $(b)/$@/@PREFIX@/bin/$$i.xemacs@MAJVERSION@ ; done + set -e ; for i in gnuattach gnuclient gnudoit ellcc b2m rcs-checkin ; do cp debian/$$i.xemacs@MAJVERSION@.1 $(b)/$@/@PREFIX@/share/man/man1 ; done + set -e ; for i in etags gnuserv xemacs ; do cp $(t)/@PREFIX@/man/man1/$$i.1 $(b)/$@/@PREFIX@/share/man/man1/$$i.xemacs@MAJVERSION@.1 ; done + gzip -9fr $(b)/$@/@PREFIX@/share/man/man1 || exit 0 + +# dh_installexamples -p$@ -P$(b)/$@ +# dh_installmenu -p$@ -P$(b)/$@ +# dh_installemacsen -p$@ -P$(b)/$@ +# dh_installinit -p$@ -P$(b)/$@ +# dh_installcron -p$@ -P$(b)/$@ +# dh_installmanpages -p$@ -P$(b)/$@ +# dh_undocumented -p$@ -P$(b)/$@ +# dh_undocumented -p$@ -P$(b)/$@ +# dh_installchangelogs -p$@ -P$(b)/$@ + dh_strip -p$@ -P$(b)/$@ +# dh_compress -p$@ -P$(b)/$@ + dh_fixperms -p$@ -P$(b)/$@ + chown root.mail \ + $(b)/$@/@PREFIX@/lib/xemacs-@VERSION@/@CONF_NAME@/movemail + chmod 2755 $(b)/$@/@PREFIX@/lib/xemacs-@VERSION@/@CONF_NAME@/movemail + chmod a-x $(b)/$@/@PREFIX@/lib/xemacs-@VERSION@/@CONF_NAME@/include/s/cygwin.sc # (for lintian) + dh_installdeb -p$@ -P$(b)/$@ + dh_shlibdeps -p$@ -P$(b)/$@ + dh_gencontrol -p$@ -P$(b)/$@ + dh_makeshlibs -p$@ -P$(b)/$@ + dh_md5sums -p$@ -P$(b)/$@ + dh_builddeb -p$@ -P$(b)/$@ + + +xemacs@MAJVERSION@@SUBNAME@-supportel: + dh_testroot + dh_installdirs -p$@ -P$(b)/$@ + dh_movefiles -p$@ -P$(b)/$@ + sh debian/move-el-files $(t)/@PREFIX@/share/xemacs-@VERSION@/lisp $(b)/$@/@PREFIX@/share/xemacs-@VERSION@/lisp + gzip -9fr $(b)/$@/@PREFIX@/share/xemacs-@VERSION@ || exit 0 +# dh_testversion + ( mkdir -p $(b)/$@/@PREFIX@/share/doc ; cd $(b)/$@/@PREFIX@/share/doc ; ln -sf xemacs@MAJVERSION@-support $@ ) +# dh_installdocs -p$@ -P$(b)/$@ +# dh_installexamples -p$@ -P$(b)/$@ +# dh_installmenu -p$@ -P$(b)/$@ +# dh_installemacsen -p$@ -P$(b)/$@ +# dh_installinit -p$@ -P$(b)/$@ +# dh_installcron -p$@ -P$(b)/$@ +# dh_installmanpages -p$@ -P$(b)/$@ +# dh_undocumented -p$@ -P$(b)/$@ +# dh_undocumented -p$@ -P$(b)/$@ +# dh_installchangelogs -p$@ -P$(b)/$@ +# dh_compress -p$@ -P$(b)/$@ + dh_fixperms -p$@ -P$(b)/$@ + dh_installdeb -p$@ -P$(b)/$@ + dh_shlibdeps -p$@ -P$(b)/$@ + dh_gencontrol -p$@ -P$(b)/$@ + dh_makeshlibs -p$@ -P$(b)/$@ + dh_md5sums -p$@ -P$(b)/$@ + dh_builddeb -p$@ -P$(b)/$@ + + +xemacs@MAJVERSION@@SUBNAME@-nomule: + dh_testroot + dh_installdirs -p$@ -P$(b)/$@ + dh_movefiles -p$@ -P$(b)/$@ + + -mkdir -p $(b)/$@/@PREFIX@/lib/xemacs-@VERSION@/@CONF_NAME@/nomule + cp lib-src/DOC-@VERSION@-nomule $(b)/$@/@PREFIX@/lib/xemacs-@VERSION@/@CONF_NAME@/nomule/DOC + -mkdir -p $(b)/$@/@PREFIX@/bin + V=nomule ; if [ -e src/xemacs-@VERSION@-dmp-$$V ] ; then \ + cp src/xemacs-@VERSION@-dmp-$$V $(b)/$@/@PREFIX@/lib/xemacs-@VERSION@/@CONF_NAME@/$$V/DUMP ; \ + fi + V=nomule ; cp src/xemacs-@VERSION@-$$V-config.values $(b)/$@/@PREFIX@/lib/xemacs-@VERSION@/@CONF_NAME@/$$V/config.values + cp src/xemacs-@VERSION@-nomule $(b)/$@/@PREFIX@/bin/xemacs-@VERSION@-nomule + ( cd $(b)/$@/@PREFIX@/bin ; ln -sf xemacs-@VERSION@-nomule xemacs@MAJVERSION@-nomule ) + +# dh_testversion + ( mkdir -p $(b)/$@/@PREFIX@/share/doc ; cd $(b)/$@/@PREFIX@/share/doc ; ln -sf xemacs@MAJVERSION@-support $@ ) + mkdir -p $(b)/$@/@PREFIX@/share/man/man1 + cp debian/xemacs-@VERSION@-nomule.1 $(b)/$@/@PREFIX@/share/man/man1 + cp debian/xemacs@MAJVERSION@-nomule.1 $(b)/$@/@PREFIX@/share/man/man1 + gzip -9f $(b)/$@/@PREFIX@/share/man/man1/* +# dh_installdocs -p$@ -P$(b)/$@ +# dh_installexamples -p$@ -P$(b)/$@ + dh_installmenu -p$@ -P$(b)/$@ +# dh_installemacsen -p$@ -P$(b)/$@ +# dh_installinit -p$@ -P$(b)/$@ +# dh_installcron -p$@ -P$(b)/$@ +# dh_installmanpages -p$@ -P$(b)/$@ +# dh_undocumented -p$@ -P$(b)/$@ +# dh_undocumented -p$@ -P$(b)/$@ +# dh_installchangelogs -p$@ -P$(b)/$@ + dh_strip -p$@ -P$(b)/$@ +# dh_compress -p$@ -P$(b)/$@ + dh_fixperms -p$@ -P$(b)/$@ + dh_installdeb -p$@ -P$(b)/$@ + dh_shlibdeps -p$@ -P$(b)/$@ + dh_gencontrol -p$@ -P$(b)/$@ + dh_makeshlibs -p$@ -P$(b)/$@ + dh_md5sums -p$@ -P$(b)/$@ + dh_builddeb -p$@ -P$(b)/$@ + + +xemacs@MAJVERSION@@SUBNAME@-mule: + dh_testroot + dh_installdirs -p$@ -P$(b)/$@ + dh_movefiles -p$@ -P$(b)/$@ + + -mkdir -p $(b)/$@/@PREFIX@/lib/xemacs-@VERSION@/@CONF_NAME@/mule + cp lib-src/DOC-@VERSION@-mule $(b)/$@/@PREFIX@/lib/xemacs-@VERSION@/@CONF_NAME@/mule/DOC + -mkdir -p $(b)/$@/@PREFIX@/bin + V=mule ; if [ -e src/xemacs-@VERSION@-dmp-$$V ] ; then \ + cp src/xemacs-@VERSION@-dmp-$$V $(b)/$@/@PREFIX@/lib/xemacs-@VERSION@/@CONF_NAME@/$$V/DUMP ; \ + fi + V=mule ; cp src/xemacs-@VERSION@-$$V-config.values $(b)/$@/@PREFIX@/lib/xemacs-@VERSION@/@CONF_NAME@/$$V/config.values + cp src/xemacs-@VERSION@-mule $(b)/$@/@PREFIX@/bin/xemacs-@VERSION@-mule + ( cd $(b)/$@/@PREFIX@/bin ; ln -sf xemacs-@VERSION@-mule xemacs@MAJVERSION@-mule ) + +# dh_testversion + ( mkdir -p $(b)/$@/@PREFIX@/share/doc ; cd $(b)/$@/@PREFIX@/share/doc ; ln -sf xemacs@MAJVERSION@-support $@ ) + mkdir -p $(b)/$@/@PREFIX@/share/man/man1 + cp debian/xemacs-@VERSION@-mule.1 $(b)/$@/@PREFIX@/share/man/man1 + cp debian/xemacs@MAJVERSION@-mule.1 $(b)/$@/@PREFIX@/share/man/man1 + gzip -9f $(b)/$@/@PREFIX@/share/man/man1/* +# dh_installdocs -p$@ -P$(b)/$@ +# dh_installexamples -p$@ -P$(b)/$@ + dh_installmenu -p$@ -P$(b)/$@ +# dh_installemacsen -p$@ -P$(b)/$@ +# dh_installinit -p$@ -P$(b)/$@ +# dh_installcron -p$@ -P$(b)/$@ +# dh_installmanpages -p$@ -P$(b)/$@ +# dh_undocumented -p$@ -P$(b)/$@ +# dh_undocumented -p$@ -P$(b)/$@ +# dh_installchangelogs -p$@ -P$(b)/$@ + dh_strip -p$@ -P$(b)/$@ +# dh_compress -p$@ -P$(b)/$@ + dh_fixperms -p$@ -P$(b)/$@ + dh_installdeb -p$@ -P$(b)/$@ + dh_shlibdeps -p$@ -P$(b)/$@ + dh_gencontrol -p$@ -P$(b)/$@ + dh_makeshlibs -p$@ -P$(b)/$@ + dh_md5sums -p$@ -P$(b)/$@ + dh_builddeb -p$@ -P$(b)/$@ + + +xemacs@MAJVERSION@@SUBNAME@-mule-canna-wnn: + dh_testroot + dh_installdirs -p$@ -P$(b)/$@ + dh_movefiles -p$@ -P$(b)/$@ + + -mkdir -p $(b)/$@/@PREFIX@/lib/xemacs-@VERSION@/@CONF_NAME@/mule-canna-wnn + cp lib-src/DOC-@VERSION@-mule-canna-wnn $(b)/$@/@PREFIX@/lib/xemacs-@VERSION@/@CONF_NAME@/mule-canna-wnn/DOC + -mkdir -p $(b)/$@/@PREFIX@/bin + V=mule-canna-wnn ; if [ -e src/xemacs-@VERSION@-dmp-$$V ] ; then \ + cp src/xemacs-@VERSION@-dmp-$$V $(b)/$@/@PREFIX@/lib/xemacs-@VERSION@/@CONF_NAME@/$$V/DUMP ; \ + fi + V=mule-canna-wnn ; cp src/xemacs-@VERSION@-$$V-config.values $(b)/$@/@PREFIX@/lib/xemacs-@VERSION@/@CONF_NAME@/$$V/config.values + cp src/xemacs-@VERSION@-mule-canna-wnn $(b)/$@/@PREFIX@/bin/xemacs-@VERSION@-mule-canna-wnn + ( cd $(b)/$@/@PREFIX@/bin ; ln -sf xemacs-@VERSION@-mule-canna-wnn xemacs@MAJVERSION@-mule-canna-wnn ) + +# dh_testversion + ( mkdir -p $(b)/$@/@PREFIX@/share/doc ; cd $(b)/$@/@PREFIX@/share/doc ; ln -sf xemacs@MAJVERSION@-support $@ ) + mkdir -p $(b)/$@/@PREFIX@/share/man/man1 + cp debian/xemacs-@VERSION@-mule-canna-wnn.1 $(b)/$@/@PREFIX@/share/man/man1 + cp debian/xemacs@MAJVERSION@-mule-canna-wnn.1 $(b)/$@/@PREFIX@/share/man/man1 + gzip -9f $(b)/$@/@PREFIX@/share/man/man1/* +# dh_installdocs -p$@ -P$(b)/$@ +# dh_installexamples -p$@ -P$(b)/$@ + dh_installmenu -p$@ -P$(b)/$@ +# dh_installemacsen -p$@ -P$(b)/$@ +# dh_installinit -p$@ -P$(b)/$@ +# dh_installcron -p$@ -P$(b)/$@ +# dh_installmanpages -p$@ -P$(b)/$@ +# dh_undocumented -p$@ -P$(b)/$@ +# dh_undocumented -p$@ -P$(b)/$@ +# dh_installchangelogs -p$@ -P$(b)/$@ + dh_strip -p$@ -P$(b)/$@ +# dh_compress -p$@ -P$(b)/$@ + dh_fixperms -p$@ -P$(b)/$@ + dh_installdeb -p$@ -P$(b)/$@ + dh_shlibdeps -p$@ -P$(b)/$@ + dh_gencontrol -p$@ -P$(b)/$@ + dh_makeshlibs -p$@ -P$(b)/$@ + dh_md5sums -p$@ -P$(b)/$@ + dh_builddeb -p$@ -P$(b)/$@ + +###################################################################### +# Gnome section +xemacs@MAJVERSION@@SUBNAME@-gnome-nomule: + dh_testroot + dh_installdirs -p$@ -P$(b)/$@ + dh_movefiles -p$@ -P$(b)/$@ + +# -mkdir -p $(b)/$@/@PREFIX@/lib/xemacs-@VERSION@/@CONF_NAME@/gnome-nomule +# cp lib-src/DOC-@VERSION@-gnome-nomule $(b)/$@/@PREFIX@/lib/xemacs-@VERSION@/@CONF_NAME@/gnome-nomule/DOC +# -mkdir -p $(b)/$@/@PREFIX@/bin +# V=gnome-nomule ; if [ -e src/xemacs-@VERSION@-dmp-$$V ] ; then \ +# cp src/xemacs-@VERSION@-dmp-$$V $(b)/$@/@PREFIX@/lib/xemacs-@VERSION@/@CONF_NAME@/$$V/DUMP ; \ +# fi +# V=gnome-nomule ; cp src/xemacs-@VERSION@-$$V-config.values $(b)/$@/@PREFIX@/lib/xemacs-@VERSION@/@CONF_NAME@/$$V/config.values +# cp src/xemacs-@VERSION@-gnome-nomule $(b)/$@/@PREFIX@/bin/xemacs-@VERSION@-gnome-nomule +# ( cd $(b)/$@/@PREFIX@/bin ; ln -sf xemacs-@VERSION@-gnome-nomule xemacs@MAJVERSION@-gnome-nomule ) + +# dh_testversion + ( mkdir -p $(b)/$@/@PREFIX@/share/doc ; cd $(b)/$@/@PREFIX@/share/doc ; ln -sf xemacs@MAJVERSION@-nomule $@ ) +# mkdir -p $(b)/$@/@PREFIX@/share/man/man1 +# cp debian/xemacs-@VERSION@-nomule.1 $(b)/$@/@PREFIX@/share/man/man1/xemacs-@VERSION@-gnome-nomule.1 +# cp debian/xemacs@MAJVERSION@-nomule.1 $(b)/$@/@PREFIX@/share/man/man1/xemacs@MAJVERSION@-gnome-nomule.1 +# gzip -9f $(b)/$@/@PREFIX@/share/man/man1/* +# dh_installdocs -p$@ -P$(b)/$@ +# dh_installexamples -p$@ -P$(b)/$@ + dh_installmenu -p$@ -P$(b)/$@ +# dh_installemacsen -p$@ -P$(b)/$@ +# dh_installinit -p$@ -P$(b)/$@ +# dh_installcron -p$@ -P$(b)/$@ +# dh_installmanpages -p$@ -P$(b)/$@ +# dh_undocumented -p$@ -P$(b)/$@ +# dh_undocumented -p$@ -P$(b)/$@ +# dh_installchangelogs -p$@ -P$(b)/$@ + dh_strip -p$@ -P$(b)/$@ +# dh_compress -p$@ -P$(b)/$@ + dh_fixperms -p$@ -P$(b)/$@ + dh_installdeb -p$@ -P$(b)/$@ + dh_shlibdeps -p$@ -P$(b)/$@ + dh_gencontrol -p$@ -P$(b)/$@ + dh_makeshlibs -p$@ -P$(b)/$@ + dh_md5sums -p$@ -P$(b)/$@ + dh_builddeb -p$@ -P$(b)/$@ + + +xemacs@MAJVERSION@@SUBNAME@-gnome-mule: + dh_testroot + dh_installdirs -p$@ -P$(b)/$@ + dh_movefiles -p$@ -P$(b)/$@ + +# -mkdir -p $(b)/$@/@PREFIX@/lib/xemacs-@VERSION@/@CONF_NAME@/gnome-mule +# cp lib-src/DOC-@VERSION@-gnome-mule $(b)/$@/@PREFIX@/lib/xemacs-@VERSION@/@CONF_NAME@/gnome-mule/DOC +# -mkdir -p $(b)/$@/@PREFIX@/bin +# V=gnome-mule ; if [ -e src/xemacs-@VERSION@-dmp-$$V ] ; then \ +# cp src/xemacs-@VERSION@-dmp-$$V $(b)/$@/@PREFIX@/lib/xemacs-@VERSION@/@CONF_NAME@/$$V/DUMP ; \ +# fi +# V=gnome-mule ; cp src/xemacs-@VERSION@-$$V-config.values $(b)/$@/@PREFIX@/lib/xemacs-@VERSION@/@CONF_NAME@/$$V/config.values +# cp src/xemacs-@VERSION@-gnome-mule $(b)/$@/@PREFIX@/bin/xemacs-@VERSION@-gnome-mule +# ( cd $(b)/$@/@PREFIX@/bin ; ln -sf xemacs-@VERSION@-gnome-mule xemacs@MAJVERSION@-gnome-mule ) + +# dh_testversion + ( mkdir -p $(b)/$@/@PREFIX@/share/doc ; cd $(b)/$@/@PREFIX@/share/doc ; ln -sf xemacs@MAJVERSION@-mule $@ ) +# mkdir -p $(b)/$@/@PREFIX@/share/man/man1 +# cp debian/xemacs-@VERSION@-mule.1 $(b)/$@/@PREFIX@/share/man/man1/xemacs-@VERSION@-gnome-mule.1 +# cp debian/xemacs@MAJVERSION@-mule.1 $(b)/$@/@PREFIX@/share/man/man1/xemacs@MAJVERSION@-gnome-mule.1 +# gzip -9f $(b)/$@/@PREFIX@/share/man/man1/* +# dh_installdocs -p$@ -P$(b)/$@ +# dh_installexamples -p$@ -P$(b)/$@ + dh_installmenu -p$@ -P$(b)/$@ +# dh_installemacsen -p$@ -P$(b)/$@ +# dh_installinit -p$@ -P$(b)/$@ +# dh_installcron -p$@ -P$(b)/$@ +# dh_installmanpages -p$@ -P$(b)/$@ +# dh_undocumented -p$@ -P$(b)/$@ +# dh_undocumented -p$@ -P$(b)/$@ +# dh_installchangelogs -p$@ -P$(b)/$@ + dh_strip -p$@ -P$(b)/$@ +# dh_compress -p$@ -P$(b)/$@ + dh_fixperms -p$@ -P$(b)/$@ + dh_installdeb -p$@ -P$(b)/$@ + dh_shlibdeps -p$@ -P$(b)/$@ + dh_gencontrol -p$@ -P$(b)/$@ + dh_makeshlibs -p$@ -P$(b)/$@ + dh_md5sums -p$@ -P$(b)/$@ + dh_builddeb -p$@ -P$(b)/$@ + + +xemacs@MAJVERSION@@SUBNAME@-gnome-mule-canna-wnn: + dh_testroot + dh_installdirs -p$@ -P$(b)/$@ + dh_movefiles -p$@ -P$(b)/$@ + +# -mkdir -p $(b)/$@/@PREFIX@/lib/xemacs-@VERSION@/@CONF_NAME@/gnome-mule-canna-wnn +# cp lib-src/DOC-@VERSION@-gnome-mule-canna-wnn $(b)/$@/@PREFIX@/lib/xemacs-@VERSION@/@CONF_NAME@/gnome-mule-canna-wnn/DOC +# -mkdir -p $(b)/$@/@PREFIX@/bin +# V=gnome-mule-canna-wnn ; if [ -e src/xemacs-@VERSION@-dmp-$$V ] ; then \ +# cp src/xemacs-@VERSION@-dmp-$$V $(b)/$@/@PREFIX@/lib/xemacs-@VERSION@/@CONF_NAME@/$$V/DUMP ; \ +# fi +# V=gnome-mule-canna-wnn ; cp src/xemacs-@VERSION@-$$V-config.values $(b)/$@/@PREFIX@/lib/xemacs-@VERSION@/@CONF_NAME@/$$V/config.values +# cp src/xemacs-@VERSION@-gnome-mule-canna-wnn $(b)/$@/@PREFIX@/bin/xemacs-@VERSION@-gnome-mule-canna-wnn +# ( cd $(b)/$@/@PREFIX@/bin ; ln -sf xemacs-@VERSION@-gnome-mule-canna-wnn xemacs@MAJVERSION@-gnome-mule-canna-wnn ) + +# dh_testversion + ( mkdir -p $(b)/$@/@PREFIX@/share/doc ; cd $(b)/$@/@PREFIX@/share/doc ; ln -sf xemacs@MAJVERSION@-mule-canna-wnn $@ ) +# mkdir -p $(b)/$@/@PREFIX@/share/man/man1 +# cp debian/xemacs-@VERSION@-mule-canna-wnn.1 $(b)/$@/@PREFIX@/share/man/man1/xemacs-@VERSION@-gnome-mule-canna-wnn.1 +# cp debian/xemacs@MAJVERSION@-mule-canna-wnn.1 $(b)/$@/@PREFIX@/share/man/man1/xemacs@MAJVERSION@-gnome-mule-canna-wnn.1 +# gzip -9f $(b)/$@/@PREFIX@/share/man/man1/* +# dh_installdocs -p$@ -P$(b)/$@ +# dh_installexamples -p$@ -P$(b)/$@ + dh_installmenu -p$@ -P$(b)/$@ +# dh_installemacsen -p$@ -P$(b)/$@ +# dh_installinit -p$@ -P$(b)/$@ +# dh_installcron -p$@ -P$(b)/$@ +# dh_installmanpages -p$@ -P$(b)/$@ +# dh_undocumented -p$@ -P$(b)/$@ +# dh_undocumented -p$@ -P$(b)/$@ +# dh_installchangelogs -p$@ -P$(b)/$@ + dh_strip -p$@ -P$(b)/$@ +# dh_compress -p$@ -P$(b)/$@ + dh_fixperms -p$@ -P$(b)/$@ + dh_installdeb -p$@ -P$(b)/$@ + dh_shlibdeps -p$@ -P$(b)/$@ + dh_gencontrol -p$@ -P$(b)/$@ + dh_makeshlibs -p$@ -P$(b)/$@ + dh_md5sums -p$@ -P$(b)/$@ + dh_builddeb -p$@ -P$(b)/$@ + +###################################################################### + +xemacs@MAJVERSION@@SUBNAME@-htmldoc: + dh_testroot + dh_installdirs -p$@ -P$(b)/$@ +# dh_movefiles -p$@ -P$(b)/$@ +# dh_testversion + ( mkdir -p $(b)/$@/@PREFIX@/share/doc ; cd $(b)/$@/@PREFIX@/share/doc ; ln -sf xemacs@MAJVERSION@-support $@ ) +# dh_installdocs -p$@ -P$(b)/$@ +# dh_installexamples -p$@ -P$(b)/$@ +# dh_installmenu -p$@ -P$(b)/$@ +# dh_installemacsen -p$@ -P$(b)/$@ +# dh_installinit -p$@ -P$(b)/$@ +# dh_installcron -p$@ -P$(b)/$@ +# dh_installmanpages -p$@ -P$(b)/$@ +# dh_undocumented -p$@ -P$(b)/$@ +# dh_undocumented -p$@ -P$(b)/$@ +# dh_installchangelogs -p$@ -P$(b)/$@ +# dh_compress -p$@ -P$(b)/$@ +# dh_fixperms -p$@ -P$(b)/$@ + dh_installdeb -p$@ -P$(b)/$@ + dh_shlibdeps -p$@ -P$(b)/$@ + dh_gencontrol -p$@ -P$(b)/$@ + dh_makeshlibs -p$@ -P$(b)/$@ + dh_md5sums -p$@ -P$(b)/$@ + dh_builddeb -p$@ -P$(b)/$@ + +pre-internal-build: + ln -sf /usr/share/misc/config.sub /usr/share/misc/config.guess . + autoconf2.13 + echo + +general-build: general-build-stamp +general-build-stamp: +# cd man ; sh ../debian/convert-texi-files + $(MAKE) info + +# let's set up a couple things here for only one version +ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS))) +error_opts = \ + --debug \ + --error-checking=gc,malloc,typecheck +else +error_opts = \ + --error-checking=none \ + --debug=no +endif + + +non_ver_specific_opts = \ + --with-sound=none,native \ + --with-x11 \ + --extra-verbose \ + --with-site-lisp \ + --with-database=berkdb \ + --statedir="/var/lib" \ + --infodir="/@PREFIX@/share/info/xemacs21" \ + --infopath="/@PREFIX@/share/info/xemacs21" \ + --prefix="/@PREFIX@" \ + --dynamic \ + $(error_opts) \ + --with-pop \ + --with-file-coding \ + --pdump \ + --with-system-malloc +# --cflags="-DREGEX_MALLOC" +# --ldflags="-s -znocombreloc" \ +# --cflags="-O2 -Wall -fno-strict-aliasing ${DEB_CFLAGS} ${EXTRA_COMPILE_OPTS}" \ +# --use-regex-malloc=no \ + +lucid_athena_opts = \ + --with_menubars=lucid \ + --with_scrollbars=lucid \ + --with_dialogs=athena + +gnome_opts = \ + --with-gtk #--with-gnome + + + +# --package-path="~/.xemacs::/@PREFIX@/share/xemacs@MAJVERSION@/packages:/@PREFIX@/share/xemacs@MAJVERSION@/mule-packages:/@PREFIX@/share/xemacs@MAJVERSION@/site-packages" + +###################################################################### + +USER_PACKAGES_DIRS = ~/.xemacs:~/.xemacs/packages:~/.xemacs/xemacs-packages +MULE_PACKAGES_DIRS = $(USER_PACKAGES_DIRS)::/@PREFIX@/share/xemacs@MAJVERSION@/site-packages:/@PREFIX@/share/xemacs@MAJVERSION@/mule-packages:/@PREFIX@/share/xemacs@MAJVERSION@/xemacs-packages +NOMULE_PACKAGES_DIRS = $(USER_PACKAGES_DIRS)::/@PREFIX@/share/xemacs@MAJVERSION@/site-packages:/@PREFIX@/share/xemacs@MAJVERSION@/xemacs-packages + +CONFIGURE = ./configure + +canna-wnn-build: canna-wnn-build-stamp +canna-wnn-build-stamp: + $(CONFIGURE) ${non_ver_specific_opts} ${lucid_athena_opts} \ + --docdir="$(docdir_start)/mule-canna-wnn/" \ + --with-mule --with-canna --with-wnn6 --with-xim=xlib --with-xfs \ + --package-path="$(MULE_PACKAGES_DIRS)" \ + @CONF_NAME@ + $(MAKE) all-elc + rm -f src/xemacs src/temacs + $(MAKE) all-elc + mv src/xemacs src/xemacs-@VERSION@-mule-canna-wnn + mv lib-src/config.values src/xemacs-@VERSION@-mule-canna-wnn-config.values + if [ -e src/xemacs.dmp ] ; then mv src/xemacs.dmp src/xemacs-@VERSION@-dmp-mule-canna-wnn ; fi + mv lib-src/DOC lib-src/DOC-@VERSION@-mule-canna-wnn + touch canna-wnn-build-stamp + +mule-build: mule-build-stamp +mule-build-stamp: + # mule only + rm -f src/xemacs src/temacs + $(CONFIGURE) ${non_ver_specific_opts} ${lucid_athena_opts} \ + --docdir="$(docdir_start)/mule/" \ + --with-mule --with-canna=no --with-wnn=no \ + --with-xim=xlib --with-xfs \ + --package-path="$(MULE_PACKAGES_DIRS)" \ + @CONF_NAME@ + $(MAKE) all-elc + mv src/xemacs src/xemacs-@VERSION@-mule + mv lib-src/config.values src/xemacs-@VERSION@-mule-config.values + if [ -e src/xemacs.dmp ] ; then mv src/xemacs.dmp src/xemacs-@VERSION@-dmp-mule ; fi + mv lib-src/DOC lib-src/DOC-@VERSION@-mule + touch mule-build-stamp + +nomule-build: nomule-build-stamp +nomule-build-stamp: + # no mule + rm -f src/xemacs src/temacs + $(CONFIGURE) ${non_ver_specific_opts} ${lucid_athena_opts} \ + --docdir="$(docdir_start)/nomule/" --with-mule=no \ + --package-path="$(NOMULE_PACKAGES_DIRS)" \ + @CONF_NAME@ + $(MAKE) all-elc + mv src/xemacs src/xemacs-@VERSION@-nomule + mv lib-src/config.values src/xemacs-@VERSION@-nomule-config.values + if [ -e src/xemacs.dmp ] ; then mv src/xemacs.dmp src/xemacs-@VERSION@-dmp-nomule ; fi + mv lib-src/DOC lib-src/DOC-@VERSION@-nomule + touch nomule-build-stamp + +###################################################################### +## Gnome Section +gnome-canna-wnn-build: gnome-canna-wnn-build-stamp +gnome-canna-wnn-build-stamp: + $(CONFIGURE) ${non_ver_specific_opts} ${gnome_opts} \ + --docdir="$(docdir_start)/gnome-mule-canna-wnn/" \ + --with-mule --with-canna --with-wnn6 --with-xim=xlib --with-xfs \ + --package-path="$(MULE_PACKAGES_DIRS)" \ + @CONF_NAME@ + $(MAKE) all-elc + mv src/xemacs src/xemacs-@VERSION@-gnome-mule-canna-wnn + mv lib-src/config.values src/xemacs-@VERSION@-gnome-mule-canna-wnn-config.values + if [ -e src/xemacs.dmp ] ; then mv src/xemacs.dmp src/xemacs-@VERSION@-dmp-gnome-mule-canna-wnn ; fi + mv lib-src/DOC lib-src/DOC-@VERSION@-gnome-mule-canna-wnn + touch gnome-canna-wnn-build-stamp + +gnome-mule-build: gnome-mule-build-stamp +gnome-mule-build-stamp: + # mule only + rm -f src/xemacs src/temacs + $(CONFIGURE) ${non_ver_specific_opts} ${gnome_opts} \ + --docdir="$(docdir_start)/gnome-mule/" \ + --with-mule --with-canna=no --with-wnn=no \ + --with-xim=xlib --with-xfs \ + --package-path="$(MULE_PACKAGES_DIRS)" \ + @CONF_NAME@ + $(MAKE) all-elc + mv src/xemacs src/xemacs-@VERSION@-gnome-mule + mv lib-src/config.values src/xemacs-@VERSION@-gnome-mule-config.values + if [ -e src/xemacs.dmp ] ; then mv src/xemacs.dmp src/xemacs-@VERSION@-dmp-gnome-mule ; fi + mv lib-src/DOC lib-src/DOC-@VERSION@-gnome-mule + touch gnome-mule-build-stamp + +gnome-nomule-build: gnome-nomule-build-stamp +gnome-nomule-build-stamp: + # no mule + rm -f src/xemacs src/temacs + $(CONFIGURE) ${non_ver_specific_opts} ${gnome_opts} \ + --docdir="$(docdir_start)/gnome-nomule/" --with-mule=no \ + --package-path="$(NOMULE_PACKAGES_DIRS)" \ + @CONF_NAME@ + $(MAKE) all-elc + mv src/xemacs src/xemacs-@VERSION@-gnome-nomule + mv lib-src/config.values src/xemacs-@VERSION@-gnome-nomule-config.values + if [ -e src/xemacs.dmp ] ; then mv src/xemacs.dmp src/xemacs-@VERSION@-dmp-gnome-nomule ; fi + mv lib-src/DOC lib-src/DOC-@VERSION@-gnome-nomule + touch gnome-nomule-build-stamp +###################################################################### + +html-build: html-build-stamp +html-build-stamp: + # html files + -mkdir -p @HTML_FILE_LOC@ + set -e ; \ + cd @HTML_FILE_LOC@ ; \ + for i in `find @TOPDIR@/man -name '*.texi' -print` ; do \ + texi2html -split -l2h -I@TOPDIR@/man -number $$i ; exit 0 ; \ + done + touch html-build-stamp + +# Local variables: +# mode: makefile +# End: --- xemacs21-21.4.22.orig/debian/xemacs@MAJVERSION@-nomule.1.in +++ xemacs21-21.4.22/debian/xemacs@MAJVERSION@-nomule.1.in @@ -0,0 +1 @@ +.so man1/xemacs.xemacs@MAJVERSION@.1 --- xemacs21-21.4.22.orig/debian/prerm-base +++ xemacs21-21.4.22/debian/prerm-base @@ -0,0 +1,32 @@ +#!/bin/sh -e +set -e + +if [ "$1" != "upgrade" ] ; then + update-alternatives --remove xemacs@MAJVERSION@ /usr/bin/xemacs@MAJVERSION@-REPLACE_ME +fi + +# Ok we dont' want to deinstall these files when we already have another +# installed. +ALREADY=0 +for i in mule nomule mule-canna-wnn gnome-mule gnome-nomule gnome-mule-canna-wnn ; do + STAT=`dpkg -s xemacs@MAJVERSION@-$i 2>/dev/null | perl -ne 'next if $_ !~ m/^Status/; $_ =~ s/^Status:\s*(.*)/$1/; print;'` + if [ "REPLACE_ME" != "$i" -a "$STAT" = "install ok installed" ] ; then + ALREADY=1 + fi +done + +if [ "$ALREADY" = "0" ] ; then + /usr/lib/emacsen-common/emacs-remove xemacs@MAJVERSION@ +fi + +if [ -L /usr/doc/xemacs@MAJVERSION@-REPLACE_ME ]; then + rm -f /usr/doc/xemacs@MAJVERSION@-REPLACE_ME +fi +if [ -L /usr/lib/xemacs-@VERSION@/etc ]; then + rm -f /usr/lib/xemacs-@VERSION@/etc +fi +if [ -L /usr/lib/xemacs-@VERSION@/lisp ]; then + rm -f /usr/lib/xemacs-@VERSION@/lisp +fi + +##DEBHELPER## --- xemacs21-21.4.22.orig/debian/xemacs21-support.lintian-overrides +++ xemacs21-21.4.22/debian/xemacs21-support.lintian-overrides @@ -0,0 +1,2 @@ +# Needed to get the libjpeg NMU trough. TO BE FIXED BY MAINTAINER. +install-info-used-in-maintainer-script --- xemacs21-21.4.22.orig/debian/ctags.xemacs@MAJVERSION@.1.in +++ xemacs21-21.4.22/debian/ctags.xemacs@MAJVERSION@.1.in @@ -0,0 +1 @@ +.so man1/etags.xemacs@MAJVERSION@.1 --- xemacs21-21.4.22.orig/debian/README.debian.in +++ xemacs21-21.4.22/debian/README.debian.in @@ -0,0 +1,39 @@ +xemacs for DEBIAN +---------------------- + +This is XEmacs @VERSION@. It is very much the same as GNU Emacs, +except that it has better support for X. It is larger than GNU Emacs +so it requires more resources to run, but if you have them it is well +worth it IMO. :) + +This version of XEmacs contains MULE support. This is much better +internationalization support. It displays Japanese/Korean/etc +characters. You must have these fonts installed in order for this to +be effective. + +James LewisMoss , Sun, 21 Mar 1999 17:24:51 -0500 + +Notes: + +1) To get auctex working please add "(require 'tex-site)" to your + ~/.xemacs/init.el file. + +2) You have to have xemacs@MAJVERSION@-basesupport and + xemacs@MAJVERSION@-mulesupport installed BEFORE you compile this + else bad things will happen. + +3) For mule binaries you must use "fontSet" rather than "font" in + Xresources to change the fonts used. For example: +Emacs*font: -*-lucidatypewriter-medium-r-normal-*-10-* + +becomes +Emacs*fontSet: -*-lucidatypewriter-medium-r-normal-*-10-* + +4) Instead of "Emacs" as the Xresources class you can now use XEmacs, + but if an XEmacs resource exists no Emacs resource will be noticed. + +5) Please check out Help->Basics->News for other changes to the new + versions. + +6) Add "(setq-default font-menu-ignore-scaled-fonts nil)" to your + .emacs file so that all the fonts in Options->Fonts become active. --- xemacs21-21.4.22.orig/debian/debian-rundir.el +++ xemacs21-21.4.22/debian/debian-rundir.el @@ -0,0 +1,60 @@ +;;; debian-rundir.el --- run all lisp startup files in a directory. + +;; Copyright (C) 1996 Mark Eichin + +;; Maintainer: Mark Eichin +;; Keywords: debian + +;; This file is part of the debian release of GNU Emacs, and will +;; be contributed to the FSF after testing. It is released under the same +;; terms, namely the GPL v2 or later. + +;; 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 +;; the Free Software Foundation; either version 2, or (at your option) +;; any later version. + +;; GNU Emacs is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs; see the file COPYING. If not, write to the +;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, +;; Boston, MA 02111-1307, USA. + +;;; Commentary: + +;; This file provides functions to process a directory full of lisp +;; files in the style of the System V "rc0.d" mechanism, namely the +;; directory contents are sorted alphabetically, and the files are +;; conventionally named 00program.el (default of 50, but allowing +;; order.) + +(defvar emacs-debian-default-directory + (if (string-match ".*XEmacs.*" emacs-version) + (let ((point + (string-match "[0-9]*\.[0-9]*.*XEmacs.*" emacs-version))) + (concat "/etc/xemacs/site-start-" + (substring emacs-version point (+ point 2)) + ".d")) + "/etc/emacs/site-start.d") + "The default directory for this version of XEmacs to load from") + + +(defun debian-run-directory (&optional dir) + "Load each file in the form 00filename.el stored in the path. +The files are sorted so order can be controlled." + (interactive "DConfiguration directory : ") + (let ((path (if dir dir emacs-debian-default-directory))) + (mapcar + (lambda (file) + (if debug-on-error + (load-file file) + (condition-case () + (progn + (load file nil t t) + (message "*** %s loaded ***" (file-name-nondirectory file))) + (error (message "Error while loading %s" file))))) + (directory-files path t "^[0-9][0-9].*\\.el$" nil)))) --- xemacs21-21.4.22.orig/debian/generate-prerm +++ xemacs21-21.4.22/debian/generate-prerm @@ -0,0 +1,17 @@ +#!/bin/sh + +CLEAN=0 + +if test "$1" = "CLEAN" ; then + shift + CLEAN=1 +fi + +for i in $@ ; do + if test "$CLEAN" = "1" ; then + rm -f xemacs@MAJVERSION@@SUBNAME@-$i.prerm.in + else + cat prerm-base | sed -e "s/REPLACE_ME/$i/g" > xemacs@MAJVERSION@@SUBNAME@-$i.prerm.in + fi +done + --- xemacs21-21.4.22.orig/debian/xemacs@MAJVERSION@@SUBNAME@-support.dirs.in +++ xemacs21-21.4.22/debian/xemacs@MAJVERSION@@SUBNAME@-support.dirs.in @@ -0,0 +1,10 @@ +etc/xemacs@MAJVERSION@/site-start.d +@PREFIX@/share/info +@PREFIX@/share/xemacs/site-lisp-@MAJVERSION@ +@PREFIX@/share/xemacs/site-lisp +@PREFIX@/share/xemacs@MAJVERSION@/site-packages/lisp +@PREFIX@/share/xemacs@MAJVERSION@/site-packages/info +@PREFIX@/share/xemacs@MAJVERSION@/site-lisp +@PREFIX@/lib/xemacs/site-lisp-@MAJVERSION@ +@PREFIX@/lib/xemacs/site-lisp +@PREFIX@/share/icons --- xemacs21-21.4.22.orig/debian/xemacs@MAJVERSION@@SUBNAME@-support.docs.in +++ xemacs21-21.4.22/debian/xemacs@MAJVERSION@@SUBNAME@-support.docs.in @@ -0,0 +1 @@ +BUGS CHANGES-release ChangeLog README README.packages PROBLEMS --- xemacs21-21.4.22.orig/debian/site-start.el.in +++ xemacs21-21.4.22/debian/site-start.el.in @@ -0,0 +1,47 @@ +;;; taken from emacs site-start. Thanks Mark. + +;;; DO NOT EDIT THIS FILE. THIS FILE IS AUTOMATICALLY REMOVED ON +;;; UPGRADE OF XEMACS. + +;;; Instead check out /etc/xemacs{19,20,21}/site-start.d and edit files +;;; in there. This setup is similar to the SysV init boot +;;; process. Put files like [0-9][0-9]*.el there and they will be +;;; loaded in alphabetical order. The first two characters of the +;;; name must be numbers for this to work (so to disable a file you +;;; can simply change it to say 'x' and it will be +;;; disabled. + +(defvar emacs-debian-default-directory + (if (string-match ".*XEmacs.*" emacs-version) + (let ((point + (string-match "[0-9]*\.[0-9]*.*XEmacs.*" emacs-version))) + (concat "/etc/xemacs/site-start-" + (substring emacs-version point (+ point 2)) + ".d")) + "/etc/emacs/site-start.d") + "The default directory for this version of XEmacs to load from") + + +(defun debian-run-directory (&optional dir) + "Load each file in the form 00filename.el stored in the path. +The files are sorted so order can be controlled." + (interactive "DConfiguration directory : ") + (let ((path (if dir dir emacs-debian-default-directory))) + (mapcar + (lambda (file) + (if debug-on-error + (load-file file) + (condition-case () + (progn + (load file nil t t) + (message "*** %s loaded ***" (file-name-nondirectory file))) + (error (message "Error while loading %s" file))))) + (directory-files path t "^[0-9][0-9].*\\.el$" nil)))) + +(load "/usr/share/emacs/site-lisp/debian-startup") +(setq debian-emacs-flavor 'xemacs@MAJVERSION@) +(debian-startup debian-emacs-flavor) + +;; Local variables: +;; mode: emacs-lisp +;; End: --- xemacs21-21.4.22.orig/debian/xemacs-@VERSION@-nomule.1.in +++ xemacs21-21.4.22/debian/xemacs-@VERSION@-nomule.1.in @@ -0,0 +1 @@ +.so man1/xemacs.xemacs@MAJVERSION@.1 --- xemacs21-21.4.22.orig/debian/copyright +++ xemacs21-21.4.22/debian/copyright @@ -0,0 +1,64 @@ +This package was debianized by James LewisMoss dres@debian.org on +Sun, 21 Mar 1999 17:24:51 -0500 + +It was checked out of cvs at :pserver:xemacs@cvs.xemacs.org:/usr/CVSroot +module xemacs-20. + +Upstream Authors: A host of people. + +(later from ftp://ftp.xemacs.org/) + +Copyright: + + Copyright (C) 1985, 1986, 1987, 1992, 1993, 1994 + Free Software Foundation, Inc. + Copyright (C) 1995 Sun Microsystems, Inc. + +This file is part of XEmacs. + +XEmacs is free software; you can redistribute it and/or modify it +under the terms of the GNU General Public License as published by the +Free Software Foundation; either version 2, or (at your option) any +later version. + +XEmacs is distributed in the hope that it will be useful, but WITHOUT +ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received a copy of the GNU General Public License +along with XEmacs; see the file COPYING. If not, write to +the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +Boston, MA 02111-1307, USA. + +(copied from src/emacs.c) + +On Debian Linux systems, the complete text of the GNU General Public +License can be found in '/usr/share/common-licenses/GPL'. + +Much of the documentation is covered by a copyright similar to this: + +Copyright (C) 1993 Free Software Foundation, Inc. + +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. + +@ignore +Permission is granted to process this file through TeX and print the +results, provided the printed document carries copying permission notice +identical to this one except for the removal of this paragraph (this +paragraph not being relevant to the printed manual). + +@end ignore +Permission is granted to copy and distribute modified versions of this +manual under the conditions for verbatim copying, provided also that the +section entitled ``GNU General Public License'' is included exactly as +in the original, and provided that the entire resulting derived work is +distributed under the terms of a permission notice identical to this one. + +Permission is granted to copy and distribute translations of this manual +into another language, under the above conditions for modified versions, +except that the section entitled ``GNU General Public License'' may be +included in a translation approved by the author instead of in the +original English. --- xemacs21-21.4.22.orig/debian/xemacs@MAJVERSION@@SUBNAME@-supportel.prerm.in +++ xemacs21-21.4.22/debian/xemacs@MAJVERSION@@SUBNAME@-supportel.prerm.in @@ -0,0 +1,8 @@ +#!/bin/sh +set -e + +if [ -L /usr/doc/xemacs@MAJVERSION@-supportel ]; then + rm -f /usr/doc/xemacs@MAJVERSION@-supportel +fi + +##DEBHELPER## --- xemacs21-21.4.22.orig/debian/xemacs@MAJVERSION@@SUBNAME@-support.postinst.in +++ xemacs21-21.4.22/debian/xemacs@MAJVERSION@@SUBNAME@-support.postinst.in @@ -0,0 +1,17 @@ +#!/bin/sh -e +set -e + +OLDDATADIR=/@PREFIX@/lib/xemacs-@VERSION@ +NEWDATADIR=/@PREFIX@/share/xemacs-@VERSION@ + +test -d ${OLDDATADIR}/etc && rm -r ${OLDDATADIR}/etc +test -d ${OLDDATADIR}/lisp && rm -r ${OLDDATADIR}/lisp + +test -L ${OLDDATADIR}/etc || ln -s ${NEWDATADIR}/etc ${OLDDATADIR}/etc +test -L ${OLDDATADIR}/lisp || ln -s ${NEWDATADIR}/lisp ${OLDDATADIR}/lisp + +install-info --quiet --section "Emacs" "XEmacs@VERSION@" /@PREFIX@/share/info/xemacs@MAJVERSION@/xemacs.info + +mkdir -p /usr/local/lib/xemacs/site-lisp > /dev/null 2>&1 || true + +##DEBHELPER## --- xemacs21-21.4.22.orig/debian/preinst-base +++ xemacs21-21.4.22/debian/preinst-base @@ -0,0 +1,12 @@ +#!/bin/sh -e +set -e + +# update-alternatives --auto xemacs@MAJVERSION@ + +# echo 'I apologize if I\'ve just blown away a site setup alternative.' +# echo 'But due to problems in previous xemacs21 packages this seems' +# echo 'like the only solution.' + +update-alternatives --remove xemacs@MAJVERSION@ /usr/bin/xemacs-21.1-p2-mule +update-alternatives --remove xemacs@MAJVERSION@ /usr/bin/xemacs-21.1-p2-nomule +update-alternatives --remove xemacs@MAJVERSION@ /usr/bin/xemacs-21.1-p2-mule-canna-wnn --- xemacs21-21.4.22.orig/debian/convert-texi-files.in +++ xemacs21-21.4.22/debian/convert-texi-files.in @@ -0,0 +1,13 @@ +#!/bin/sh + +TEXI_FILES="`find . -name '*.texi'`" + +if [ "$1" = "CLEAN" ] ; then + perl -i.deb-old -pe 's/\(xemacs@MAJVERSION@\/xemacs@MAJVERSION@\)/(dir)/g if m/^\@node/;' \ + $TEXI_FILES +else + perl -i.deb-old -pe 's/\(dir\)/(xemacs@MAJVERSION@\/xemacs@MAJVERSION@)/g if m/^\@node/;' \ + $TEXI_FILES +fi + +rm -f `find . -name '*.deb-old'` --- xemacs21-21.4.22.orig/debian/xemacs@MAJVERSION@-mule-canna-wnn.1.in +++ xemacs21-21.4.22/debian/xemacs@MAJVERSION@-mule-canna-wnn.1.in @@ -0,0 +1 @@ +.so man1/xemacs.xemacs@MAJVERSION@.1 --- xemacs21-21.4.22.orig/debian/xemacs@MAJVERSION@@SUBNAME@-bin.dirs.in +++ xemacs21-21.4.22/debian/xemacs@MAJVERSION@@SUBNAME@-bin.dirs.in @@ -0,0 +1,2 @@ +@PREFIX@/share/man/man1 +@PREFIX@/bin/ --- xemacs21-21.4.22.orig/debian/00debian.el +++ xemacs21-21.4.22/debian/00debian.el @@ -0,0 +1,95 @@ + +(defvar debian-xemacs-major-version + (number-to-string emacs-major-version) + "XEMacs' Major Version as string") +(defvar debian-xemacs-version + emacs-program-version + "XEmacs' Full Version as string") + +(loop for entry in load-history + if (string-match "^/home/.*xemacs21/xemacs\\(21\\)?-\\([.0-9]+/\\)" + (car entry)) + do (setf (car entry) + (replace-match "/usr/share/xemacs-\\2" t nil (car entry)))) + +;;; From BTS #288807 +(mwheel-install) +(setq mwheel-follow-mouse t) + +;;; PSGML section +(setq-default + sgml-local-ecat-files (quote ("ECAT" "~/sgml/ECAT" + "/usr/share/sgml/ECAT" + "/usr/local/share/sgml/ECAT" + "/usr/local/lib/sgml/ECAT")) + sgml-local-catalogs (quote ("/etc/sgml/catalog" + "/usr/share/xemacs21/xemacs-packages/etc/psgml-dtds/CATALOG"))) + +(setq-default + sgml-auto-activate-dtd t + sgml-data-directory "/usr/share/sgml/declaration/" + sgml-custom-markup '(("Version1" "") + ("New page" "")) + sgml-xml-declaration "/usr/share/sgml/declaration/xml.dcl" + sgml-public-map '("%S" "/usr/share/sgml/%S" "/usr/share/sgml/%o/%c/%d" + "/usr/local/share/sgml/%o/%c/%d" + "/usr/local/lib/sgml/%o/%c/%d") + sgml-set-face t + sgml-system-path '("/usr/share/sgml" + "/usr/share/sgml/cdtd" + "/usr/local/share/sgml" + "/usr/local/lib/sgml") + sgml-validate-command "onsgmls -s -m /etc/sgml/catalog %s %s ") + +;;; END PSGML section + +(setq module-load-path '("/usr/lib/xemacs/site-modules")) + +(setq news-path "/var/spool/news") + +(when (functionp 'make-coding-system) + (make-coding-system 'us-ascii nil)) + +(global-set-key [iso-left-tab] [(shift tab)]) +(global-set-key [(control iso-left-tab)] [(control shift tab)]) + +(defun dir-and-all-good-subs (this-directory) + "Returns list of argument and all subdirectories of argument not +starting with a '.'" + (if (file-exists-p this-directory) + (append (list (expand-file-name this-directory)) + (mapcar '(lambda (dir-string) + (concat dir-string "/")) + (directory-files + (expand-file-name this-directory) + t "^[^\\.]" nil 1))) + nil)) + +(setq load-path + (append + (dir-and-all-good-subs + (expand-file-name "~/.xemacs/xemacs-packages")) + (dir-and-all-good-subs + (expand-file-name "~/.xemacs/packages")) + (list (concat "/etc/xemacs" debian-xemacs-major-version)) + '("/etc/emacs") + (list (concat "/usr/local/share/emacs/xemacs-" debian-xemacs-version + "/site-lisp")) + '("/usr/local/share/emacs/site-lisp") + `(,@(dir-and-all-good-subs "/usr/local/lib/xemacs/site-lisp") + ,@(dir-and-all-good-subs + (concat "/usr/share/xemacs/site-lisp-" + debian-xemacs-major-version "/")) + ,@(dir-and-all-good-subs "/usr/share/xemacs/site-lisp/") + ,@(dir-and-all-good-subs + (concat "/usr/share/xemacs" debian-xemacs-major-version + "/site-lisp/")) + ) + load-path + '("/usr/share/emacs/site-lisp"))) + +;; should now load from one of the /etc dirs since they are first in +;; the path now. +(load "site-start" t) + +;;; end 00debian.el --- xemacs21-21.4.22.orig/debian/xemacs@MAJVERSION@@SUBNAME@-bin.files.in +++ xemacs21-21.4.22/debian/xemacs@MAJVERSION@@SUBNAME@-bin.files.in @@ -0,0 +1 @@ +@PREFIX@/lib/xemacs-@VERSION@/@CONF_NAME@/ --- xemacs21-21.4.22.orig/debian/xemacs@MAJVERSION@@SUBNAME@-bin.menu.in +++ xemacs21-21.4.22/debian/xemacs@MAJVERSION@@SUBNAME@-bin.menu.in @@ -0,0 +1,6 @@ +?package(xemacs@MAJVERSION@-bin): + needs=X11 + section="Apps/Editors" + title="XEmacs@MAJVERSION@ Gnuclient" + command="/usr/bin/gnuclient" + hints="Text" --- xemacs21-21.4.22.orig/debian/generate-preinst +++ xemacs21-21.4.22/debian/generate-preinst @@ -0,0 +1,17 @@ +#!/bin/sh + +CLEAN=0 + +if test "$1" = "CLEAN" ; then + shift + CLEAN=1 +fi + +for i in $@ ; do + if test "$CLEAN" = "1" ; then + rm -f xemacs@MAJVERSION@@SUBNAME@-$i.preinst.in + else + cat preinst-base | sed -e "s/REPLACE_ME/$i/g" > xemacs@MAJVERSION@@SUBNAME@-$i.preinst.in + fi +done + --- xemacs21-21.4.22.orig/debian/xemacs@MAJVERSION@@SUBNAME@-bin.prerm.in +++ xemacs21-21.4.22/debian/xemacs@MAJVERSION@@SUBNAME@-bin.prerm.in @@ -0,0 +1,33 @@ +#!/bin/sh -e +set -e + +if [ "$1" != "upgrade" ] ; then + update-alternatives --remove xemacs /usr/bin/xemacs@MAJVERSION@ + update-alternatives --remove editor /usr/bin/xemacs@MAJVERSION@ + + update-alternatives --remove xemacs /usr/bin/gnuclient.xemacs@MAJVERSION@ + update-alternatives --remove xemacs@MAJVERSION@ /usr/bin/gnuclient.xemacs@MAJVERSION@ + + update-alternatives --remove movemail /usr/lib/xemacs-@VERSION@/@CONF_NAME@/movemail + + update-alternatives --remove mmencode /usr/lib/xemacs-@VERSION@/@CONF_NAME@/mmencode + + for i in @SUPPORT_BINS@ ; do + update-alternatives --remove $i /usr/bin/$i.xemacs@MAJVERSION@ + done +fi + +# Remove alternatives in prerm (See Bug#269177) +update-alternatives --remove ootags /usr/bin/ootags.xemacs21 +update-alternatives --remove ctags /usr/bin/ctags.xemacs21 + +# fixes an oopsy in an older prerm script. +update-alternatives --remove xemacs21 /usr/bin/xemacs21-21.1.p2-mule +update-alternatives --remove xemacs21 /usr/bin/xemacs21-21.1.p2-nomule +update-alternatives --remove xemacs21 /usr/bin/xemacs21-21.1.p2-mule-canna-wnn + +if [ -L /usr/doc/xemacs@MAJVERSION@-bin ]; then + rm -f /usr/doc/xemacs@MAJVERSION@-bin +fi + +##DEBHELPER## --- xemacs21-21.4.22.orig/debian/move-el-files +++ xemacs21-21.4.22/debian/move-el-files @@ -0,0 +1,43 @@ +#!/bin/sh -e + +# here we get two arguments. A start directory and an end directory. +# we expect the start and end arguments given to be complete directories +# from root + +if [ ! -d $1 ] ; then + echo Start directory given \( $1 \) is not there... quitting. + exit 10 +else + start_dir=$1 ; export start_dir +fi + +if [ ! -d $2 ] ; then + echo End directory given \( $2 \) is not there... making it. + mkdir -p $2 +fi + +end_dir=$2 ; export end_dir +mkdir -p $end_dir + +# all directories in place. Now transfer our directory structure over. + +transfer_dirs=`cd $start_dir ; find . -type d` ; export transfer_dirs +( +cd $end_dir +for i in $transfer_dirs ; do + mkdir -p $i +done +) + +# ok now to transfer the files. +( +cd $start_dir +for i in `find . -type f -name '*.el'` ; do + if [ -r ${i}c ] ; then + mv $i $end_dir/$i + fi +done +) + + + --- xemacs21-21.4.22.orig/debian/xemacs@MAJVERSION@@SUBNAME@-support.postrm.in +++ xemacs21-21.4.22/debian/xemacs@MAJVERSION@@SUBNAME@-support.postrm.in @@ -0,0 +1,12 @@ +#!/bin/sh -e +set -e + +OLDDATADIR=/@PREFIX@/lib/xemacs-21.4.18 + +test -L ${OLDDATADIR}/etc && rm ${OLDDATADIR}/etc +test -L ${OLDDATADIR}/lisp && rm ${OLDDATADIR}/lisp + +rmdir /usr/local/lib/xemacs/site-lisp > /dev/null 2>&1 || true +rmdir /usr/local/lib/xemacs > /dev/null 2>&1 || true + +##DEBHELPER## --- xemacs21-21.4.22.orig/debian/xemacs@MAJVERSION@@SUBNAME@-supportel.postinst.in +++ xemacs21-21.4.22/debian/xemacs@MAJVERSION@@SUBNAME@-supportel.postinst.in @@ -0,0 +1,5 @@ +#!/bin/sh +set -e + + +##DEBHELPER## --- xemacs21-21.4.22.orig/debian/generate-postinst +++ xemacs21-21.4.22/debian/generate-postinst @@ -0,0 +1,17 @@ +#!/bin/sh + +CLEAN=0 + +if test "$1" = "CLEAN" ; then + shift + CLEAN=1 +fi + +for i in $@ ; do + if test "$CLEAN" = "1" ; then + rm -f xemacs@MAJVERSION@@SUBNAME@-$i.postinst.in + else + cat postinst-base | sed -e "s/REPLACE_ME/$i/g" > xemacs@MAJVERSION@@SUBNAME@-$i.postinst.in + fi +done + --- xemacs21-21.4.22.orig/debian/gnuattach.xemacs@MAJVERSION@.1.in +++ xemacs21-21.4.22/debian/gnuattach.xemacs@MAJVERSION@.1.in @@ -0,0 +1 @@ +.so man1/gnuserv.xemacs@MAJVERSION@.1 --- xemacs21-21.4.22.orig/debian/xemacs@MAJVERSION@@SUBNAME@.postinst.in +++ xemacs21-21.4.22/debian/xemacs@MAJVERSION@@SUBNAME@.postinst.in @@ -0,0 +1,10 @@ +#!/bin/sh -e +set -e + +if [ -e /usr/bin/xemacs@MAJVERSION@ ];then + update-alternatives --install /usr/bin/xemacs xemacs /usr/bin/xemacs@MAJVERSION@ -10 --slave /usr/share/man/man1/xemacs.1.gz xemacs.1.gz /usr/share/man/man1/xemacs.xemacs@MAJVERSION@.1.gz + + update-alternatives --install /usr/bin/editor editor /usr/bin/xemacs@MAJVERSION@ -100 +fi + +#DEBHELPER# --- xemacs21-21.4.22.orig/debian/remove-elcs +++ xemacs21-21.4.22/debian/remove-elcs @@ -0,0 +1,90 @@ +#!/usr/bin/perl -w + +# OK, here we take a command line argument for dpkg-source, and parse +# out all the .elc files that have been change and delete them so that +# the real dpkg-source (run later by dpkg-buildpackage) won't complain +# about them. + +use strict; +use diagnostics; + +my $dir = $ARGV[0]; + +if(0) { + my $prog_name = "dpkg-source -d $dir 2>&1"; + + open(DPKG_OUTPUT, "$prog_name |"); + + while () { + # look for lines like dpkg-source + if (m/^$prog_name: cannot represent change to (.*\.elc):.*$/) { + print "This NOT OK: $_"; + print "Removing $1 cause $prog_name complained\n"; + unlink "$dir/$1"; + } + else { + print "This OK: $_"; + } + } + + close(DPKG_OUTPUT); + +} +elsif(1) { + + print "Searching directory ", $ARGV[0], "\n"; + chdir $ARGV[0] || die "No directory $1"; + + my $prog_name = "find . -name *.elc -print"; + + open(FIND_OUTPUT, "$prog_name |"); + + my %stats = (); + my $total_files = 0; + while() { + chop; + my @one_stats = stat($_); + $stats{$_} = $one_stats[9]; + $total_files++; + # print "Checking file $_\n"; + } + + close(FIND_OUTPUT); + + # cound up all the available times. + my %times = (); + my $one_time; + foreach $one_time (values %stats) { + if(! exists $times{$one_time}) { + $times{$one_time} = 0; + } + $times{$one_time}++; + } + + # find the most often occuring time + my $max_time = 0; + my $time_number = ""; + foreach $one_time (keys %times) { + if($times{$one_time} > $max_time) { + $max_time = $times{$one_time}; + $time_number = $one_time; + } + } + + # OK unlink all the files with times greater than $time_number + my $one_file; + my $unlinked_files = 0; + foreach $one_file (keys %stats) { + if($stats{$one_file} > $time_number) { + unlink($one_file); + print "Unlinking $one_file. ", $stats{$one_file}, " > $time_number\n"; + $unlinked_files++; + } + } + + print "Unlinked $unlinked_files out of $total_files\n"; + + # let's hope that clears out all the modified stuff. + +} +exit 0; --- xemacs21-21.4.22.orig/debian/ellcc.xemacs@MAJVERSION@.1.in +++ xemacs21-21.4.22/debian/ellcc.xemacs@MAJVERSION@.1.in @@ -0,0 +1,73 @@ +.TH ELLCC 1 +.\" NAME should be all caps, SECTION should be 1-8, maybe w/ subsection +.\" other parms are allowed: see man(7), man(1) +.SH NAME +ellcc \- Program to compile an emacs dynamic module +.SH SYNOPSIS +.B ellcc +[--mode={compile,link,init,verbose}] [--mod-name=NAME] [--mod-title=TITLE] +[--mod-version=VERSION] [Any compiler command line args] +.br +.SH DESCRIPTION +This manual page documents briefly the +.BR ellcc , +command. +This manual page was written for the Debian GNU/Linux distribution +because the original program does not have a manual page. +.PP +The following is taken directly from the comments in the source. +.PP +Here's the scoop. We would really like this to be a shell script, but +the various Windows platforms don't have reliable scripting that suits +our needs. We don't want to rely on perl or some other such language +so we have to roll our own executable to act as a front-end for the +compiler. +.PP +This program is used to invoke the compiler, the linker and to generate +the module specific documentation and initialization code. We assume we +are in 'compile' mode unless we encounter an argument which tells us +that we're not. We take all arguments and pass them on directly to the +compiler, except for a few which are specific to this program: +.PP +The idea is that Makefiles will use ellcc as the compiler for making +dynamic Emacs modules, and life should be as simple as: +.PP + make CC=ellcc LD='ellcc --mode=link' +.PP +The only additional requirement is an entry in the Makefile to produce +the module initialization file, which will usually be something along +the lines of: +.PP + +.SH OPTIONS +.TP 8 +.BI \--mode=VALUE +This sets the program mode. VALUE can be one of +compile, link, init or verbose. +.TP 8 +.BI \--mod-name=NAME +Sets the module name to the string NAME. +.TP 8 +.BI \--mod-title=TITLE +Sets the module title to the string TITLE. +.TP 8 +.BI \--mod-version=VERSION +Sets the module version to the string VER. +.br +.\" .SH SEE ALSO +.SH EXAMPLE +.RS 4 +modinit.c: $(SRCS) +.br + ellcc --mode=init --mod-name=\"$(MODNAME)\" \ +.br + --mod-title=\"$(MODTITLE)\" --mod-version=\"$(MODVERSION)\" \ +.br + -o $@ $(SRCS) +.br +See the samples for more details. +.br + +.SH AUTHOR +This manual page was written by James LewisMoss , +for the Debian GNU/Linux system (but may be used by others). --- xemacs21-21.4.22.orig/debian/find-version +++ xemacs21-21.4.22/debian/find-version @@ -0,0 +1,50 @@ +#!/bin/sh -e + +# echo out the version of xemacs currently being dealt with + +# export srcdir=`pwd` +# export version=`grep 'defconst[ ]*emacs-version'\ +# ${srcdir}/lisp/version.el \ +# | sed -ne 's/^(defconst emacs-version "\([0-9][0-9]\.[0-9]*\).*/\1/p'` +# export beta=`grep '" XEmacs Lucid' ${srcdir}/lisp/version.el \ +# | sed -ne 's/^.*" XEmacs Lucid (beta\([^)]*\)).*/\1/p'` +# export alpha=`grep '" XEmacs Lucid' ${srcdir}/lisp/version.el \ +# | sed -ne 's/^.*" XEmacs Lucid (alpha\([^)]*\)).*/\1/p'` + +# # echo $srcdir +# # echo $version +# # echo $beta +# # echo $alpha + +# if [ ${beta:-""} != "" ] ; then +# echo ${version}b${beta} +# elif [ ${alpha:-""} != "" ] ; then +# echo ${version}a${alpha} +# else +# echo ${version} +# fi + +# 19.16 puts it in configure script how. Hard code output +#echo "19.16" + +#DIR=`pwd` + +#echo `echo $DIR | perl -pe 's/.*xemacs[0-9]*-(.*)/$1/;'` + +#echo `dpkg-parsechangelog | egrep "^Version:" | perl -pe 's/Version:\s*([0-9]+)(\.[0-9]+)?(-.*)?-([0-9]+)/$1$2/;'` + +. ./version.sh + +if test -n "$emacs_is_beta"; then beta=yes; else beta=no; fi + +version="${emacs_major_version}.${emacs_minor_version}" + +if test -n "$emacs_beta_version" ; then + if test "$beta" = "yes"; then + version="${version}-b${emacs_beta_version}" + else + version="${version}.${emacs_beta_version}" + fi +fi + +echo $version --- xemacs21-21.4.22.orig/debian/ConfigMakefile +++ xemacs21-21.4.22/debian/ConfigMakefile @@ -0,0 +1,48 @@ +#! /usr/bin/make -f + +IN_FILES = $(shell echo *.in) + +all: pre_tests generate_files convert_files + +pre_tests: + if test -z "$(VAR_FILE)" ; then \ + echo "No VAR_FILE set. Quitting..." ; \ + exit 1 ; \ + fi + if test "`pwd | perl -pe 's/.*(debian)$$/$$1/'`" != "debian" ; then \ + echo "Must be run in debian directory. Quitting..." ; \ + exit 1 ; \ + fi + if test -z "$(XEMACS_TYPES)" ; then \ + echo "No XEMACS_TYPES set. Quitting..." ; \ + exit 1 ; \ + fi + +clean: + for i in $(IN_FILES) ; do \ + if [ "$$i" = "control.in" ] ; then \ + perl convert-in-file $(VAR_FILE) $$i ; \ + else \ + perl convert-in-file $(VAR_FILE) CLEAN $$i ; \ + fi \ + done + sh ./generate-menus CLEAN $(XEMACS_TYPES) + sh ./generate-prerm CLEAN $(XEMACS_TYPES) + sh ./generate-postinst CLEAN $(XEMACS_TYPES) + sh ./generate-preinst CLEAN $(XEMACS_TYPES) + -rm -f convert_files.stamp + +generate_files: + sh ./generate-menus $(XEMACS_TYPES) + sh ./generate-prerm $(XEMACS_TYPES) + sh ./generate-postinst $(XEMACS_TYPES) + sh ./generate-preinst $(XEMACS_TYPES) + +convert_files: convert_files.stamp +convert_files.stamp: $(IN_FILES) + for i in $(IN_FILES) ; do \ + perl convert-in-file $(VAR_FILE) $$i ; \ + done + touch convert_files.stamp + +.PHONY: pre_tests clean generate_files convert_files --- xemacs21-21.4.22.orig/debian/rcs-checkin.xemacs@MAJVERSION@.1.in +++ xemacs21-21.4.22/debian/rcs-checkin.xemacs@MAJVERSION@.1.in @@ -0,0 +1,44 @@ +.TH RCS-CHECKIN 1 +.\" NAME should be all caps, SECTION should be 1-8, maybe w/ subsection +.\" other parms are allowed: see man(7), man(1) +.SH NAME +rcs-checkin \- accepts any number of file arguments and checks them into RCS +.SH SYNOPSIS +.B rcs-checkin +.I "files ..." +.SH DESCRIPTION +This manual page documents briefly the +.BR rcs-checkin , +command. +This manual page was written for the Debian GNU/Linux distribution +because the original program does not have a manual page. +Instead, it has documentation in the GNU Info format; see below. +.PP +The following is taken from the script itself. + +Arguments which are detectably either RCS masters (with names ending in ,v) +or Emacs version files (with names of the form foo.~~) are ignored. +For each file foo, the script looks for Emacs version files related to it. +These files are checked in as deltas, oldest first, so that the contents of +the file itself becomes the latest revision in the master. + +The first line of each file is used as its description text. The file itself +is not deleted, as under VC with vc-keep-workfiles at its default of t, but +all the version files are. + +If an argument file is already version-controlled under RCS, any version +files are added to the list of deltas and deleted, and then the workfile +is checked in again as the latest version. This is probably not quite +what was wanted, and is the main reason VC doesn't simply call this to +do checkins. + +This script is intended to be used to convert files with an old-Emacs-style +version history for use with VC (the Emacs 19 version-control interface), +which likes to use RCS as its back end. It was written by Paul Eggert +and revised/documented for use with VC by Eric S. Raymond, Mar 19 1993. + +.SH AUTHOR +This manual page was written by James LewisMoss for +the Debian GNU/Linux system (but may be used by others). Most of the +text was written by the rcs-checkin authors Paul +Eggert and Eric S. Raymond. --- xemacs21-21.4.22.orig/debian/get_menu_part.in +++ xemacs21-21.4.22/debian/get_menu_part.in @@ -0,0 +1,80 @@ +#!/usr/bin/perl -w + +use strict; +use diagnostics; + +my $top_file = shift(@ARGV); +my $output_file = shift(@ARGV); + +die "No menu file given" if(not defined($top_file)); + +my $top = '\input texinfo +@c -*-texinfo-*- +@c Copyright (C) 1997 Free Software Foundation, Inc. +@c overall xemacs@MAJVERSION@ pointers for debian info abstraction +@settitle Overall XEmacs @VERSION@ documentation +@setfilename xemacs@MAJVERSION@.info + +@ifinfo +This file documents XEmacs @VERSION@ +@end ifinfo + +@direntry +* XEmacs21: (xemacs21/xemacs21). Documentation for XEmacs @VERSION@ +@end direntry + +@ifinfo +@node Top +@top XEmacs @MAJVERSION@ Documentation +@end ifinfo + +Here is all the documentation for XEmacs version @VERSION@. + +@menu + +XEmacs Docs + +'; + +my $bottom = ' +@end menu +'; + +open(TOP_FILE, $top_file); + +my $menu_text = ""; +my $getting_menu = 0; + +my $header_format = "%-30s %s\n"; + +while() { + $getting_menu = not $getting_menu + if(m/^\s*\* Menu:\s*$/ or m/^\s*\* Locals:\s*/); + + next if not $getting_menu; + next if m/\* Menu:/; + + if(m/^\s*\* (.*):(:|\s*\(.*\)\.)\s*(.*)/) { + my $info_file = "xemacs@MAJVERSION@/\L$1"; + my $first_part = "* $1: ($info_file)."; + my $second_part = $3 || ""; + $first_part .= "\n" if((length($first_part) > 30) + and ($second_part !~ m/\s*/)); + $_ = sprintf($header_format, $first_part, $second_part); + } + + if(m/^\s+(.*)$/) { + $_ = sprintf($header_format, "", $1); + } + $menu_text .= $_; +} + +close(TOP_FILE); + +open(OUT_FILE, "> $output_file"); + +print OUT_FILE $top, $menu_text, $bottom; + +close(OUT_FILE); + +exit 0; --- xemacs21-21.4.22.orig/debian/convert-in-file +++ xemacs21-21.4.22/debian/convert-in-file @@ -0,0 +1,46 @@ +#!/usr/bin/perl + +my $vf = shift(@ARGV); + +require "$vf"; + +my $input_file = shift(@ARGV); +my $clean = 0; + +if($input_file eq "CLEAN") { + $clean = 1; + $input_file = shift(@ARGV); +} + +if($#ARGV != -1) { + print STDERR "Too many arguments for file $input_file (@ARGV ($#ARGV))... Exiting...\n"; + exit 1; +} + +my $output_file = $input_file; + +foreach (keys %{$reps}) { + $output_file =~ s/\@$_\@/$$reps{$_}/gi; +} +$output_file =~ s/\.in$//; + + +if($clean) { + print STDERR "Removing file $output_file\n"; + system("rm", "-f", $output_file); +} +else { + print STDERR "Converting from $input_file to $output_file\n"; + open(IN, $input_file); + open(OUT, "> $output_file"); + while() { + foreach $key (keys %{$reps}) { + s/\@$key\@/$$reps{$key}/gi; + } + print OUT $_; + } + close(OUT); + close(IN); +} + + --- xemacs21-21.4.22.orig/debian/xemacs@MAJVERSION@@SUBNAME@-support.prerm.in +++ xemacs21-21.4.22/debian/xemacs@MAJVERSION@@SUBNAME@-support.prerm.in @@ -0,0 +1,17 @@ +#!/bin/sh -e +set -e + +install-info --quiet --remove-exactly xemacs@MAJVERSION@/xemacs + +rmdir /usr/local/lib/xemacs/site-lisp > /dev/null 2>&1 && \ + rmdir /usr/local/lib/xemacs > /dev/null 2>&1 || \ + true + +if [ -L /usr/lib/xemacs-@VERSION@/etc ]; then + rm -f /usr/lib/xemacs-@VERSION@/etc +fi +if [ -L /usr/lib/xemacs-@VERSION@/lisp ]; then + rm -f /usr/lib/xemacs-@VERSION@/lisp +fi + +##DEBHELPER## --- xemacs21-21.4.22.orig/debian/generate-menus +++ xemacs21-21.4.22/debian/generate-menus @@ -0,0 +1,31 @@ +#!/bin/sh + +CLEAN=0 + +if test "$1" = "CLEAN" ; then + shift + CLEAN=1 +fi + +for i in $@ ; do + if test "$CLEAN" = "1" ; then + rm -f xemacs@MAJVERSION@@SUBNAME@-$i.menu.in + else + ( echo "?package(xemacs@MAJVERSION@-$i):\\" + echo " needs=\"X11\"\\" + echo " section=\"Applications/Editors\"\\" + echo " title=\"XEmacs@MAJVERSION@-$i\"\\" + echo " command=\"/usr/bin/xemacs@MAJVERSION@-$i\"\\" + echo " hints=\"Text\"" + echo "" + echo "?package(xemacs@MAJVERSION@-$i):\\" + echo " needs=\"text\"\\" + echo " section=\"Applications/Editors\"\\" + echo " title=\"XEmacs@MAJVERSION@-$i\"\\" + echo " command=\"/usr/bin/xemacs@MAJVERSION@-$i -nw\"\\" + echo " hints=\"Text\"" + echo "" + ) > xemacs@MAJVERSION@@SUBNAME@-$i.menu.in + fi +done + --- xemacs21-21.4.22.orig/debian/xemacs@MAJVERSION@@SUBNAME@-bin.postinst.in +++ xemacs21-21.4.22/debian/xemacs@MAJVERSION@@SUBNAME@-bin.postinst.in @@ -0,0 +1,24 @@ +#!/bin/sh -e +set -e + +update-alternatives --remove xemacs@MAJVERSION@ /usr/bin/xemacs-21.1-p2-mule +update-alternatives --remove xemacs@MAJVERSION@ /usr/bin/xemacs-21.1-p2-nomule +update-alternatives --remove xemacs@MAJVERSION@ /usr/bin/xemacs-21.1-p2-mule-canna-wnn + +update-alternatives --install /usr/bin/movemail movemail /usr/lib/xemacs-@VERSION@/@CONF_NAME@/movemail 10 + +update-alternatives --install /usr/bin/mmencode mmencode /usr/lib/xemacs-@VERSION@/@CONF_NAME@/mmencode 10 + +for i in @SUPPORT_BINS@ ; do + update-alternatives --install /usr/bin/$i $i /usr/bin/$i.xemacs@MAJVERSION@ 40 --slave /usr/share/man/man1/$i.1.gz $i.1.gz /usr/share/man/man1/$i.xemacs@MAJVERSION@.1.gz +done + +# remove ootags stuff. oops. (Bug 159469) +update-alternatives --remove ootags /usr/bin/ootags.xemacs21 +update-alternatives --remove ctags /usr/bin/ctags.xemacs21 + +# setup gnuclient as an alternative making it easy to switch the link to it. +#update-alternatives --install /usr/bin/xemacs xemacs /usr/bin/gnuclient.xemacs@MAJVERSION@ -20 +#update-alternatives --install /usr/bin/xemacs@MAJVERSION@ xemacs@MAJVERSION@ /usr/bin/gnuclient.xemacs@MAJVERSION@ -50 + +#DEBHELPER# --- xemacs21-21.4.22.orig/debian/xemacs@MAJVERSION@-mule.1.in +++ xemacs21-21.4.22/debian/xemacs@MAJVERSION@-mule.1.in @@ -0,0 +1 @@ +.so man1/xemacs.xemacs@MAJVERSION@.1 --- xemacs21-21.4.22.orig/debian/patches/21_fix_maximation-bug.dpatch +++ xemacs21-21.4.22/debian/patches/21_fix_maximation-bug.dpatch @@ -0,0 +1,44 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 21_fix_maximation-bug.dpatch by +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: No description. + +@DPATCH@ +diff -urNad xemacs21-21.4.21~/src/EmacsFrame.c xemacs21-21.4.21/src/EmacsFrame.c +--- xemacs21-21.4.21~/src/EmacsFrame.c 2005-01-31 03:55:01.000000000 +0100 ++++ xemacs21-21.4.21/src/EmacsFrame.c 2008-03-06 20:14:25.117410952 +0100 +@@ -395,6 +395,7 @@ + of EmacsFrameSetCharSize(), this information will be stored twice. + This is not a big deal, as storing this information doesn't actually + do anything until the next resize. */ ++#if 0 + if (FRAME_X_TOP_LEVEL_FRAME_P (f)) + x_wm_set_variable_size (FRAME_X_SHELL_WIDGET (f), columns, rows); + +@@ -403,6 +404,7 @@ + XtQueryGeometry (FRAME_X_CONTAINER_WIDGET (f), &req, &repl); + EmacsManagerChangeSize (FRAME_X_CONTAINER_WIDGET (f), repl.width, + repl.height); ++#endif + } + + static Boolean +diff -urNad xemacs21-21.4.21~/src/frame-x.c xemacs21-21.4.21/src/frame-x.c +--- xemacs21-21.4.21~/src/frame-x.c 2005-01-31 03:55:16.000000000 +0100 ++++ xemacs21-21.4.21/src/frame-x.c 2008-03-06 20:14:25.303408789 +0100 +@@ -2360,6 +2360,14 @@ + x_set_frame_size (struct frame *f, int cols, int rows) + { + EmacsFrameSetCharSize (FRAME_X_TEXT_WIDGET (f), cols, rows); ++ ++ /* Kick the manager so that it knows we've changed size. */ ++ XtWidgetGeometry req, repl; ++ req.request_mode = 0; ++ XtQueryGeometry (FRAME_X_CONTAINER_WIDGET (f), &req, &repl); ++ EmacsManagerChangeSize (FRAME_X_CONTAINER_WIDGET (f), ++ repl.width, repl.height); ++ + #if 0 + /* this is not correct. x_set_frame_size() is called from + Fset_frame_size(), which may or may not have been called --- xemacs21-21.4.22.orig/debian/patches/00list +++ xemacs21-21.4.22/debian/patches/00list @@ -0,0 +1,15 @@ +01_debian_patch +02_m68k_stat +03_hppa_undefined_symbols +04_ia64_not_export_dynamic +05_fix_FTBFS_on_kFreeBSD +06_fix_CVE-2009-2688 +10_doprnt_use_malloc +10_gnuserv_disable_inet +10_info_correct_dir +10_info_el_with_line_number +10_itimer_error_with_de +10_ldap_deprecated +10_vcdiff_use_mktemp +11_CVE-2010-0825 +21_fix_maximation-bug --- xemacs21-21.4.22.orig/debian/patches/10_doprnt_use_malloc.dpatch +++ xemacs21-21.4.22/debian/patches/10_doprnt_use_malloc.dpatch @@ -0,0 +1,35 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 10_doprnt_use_malloc.dpatch by OHURA Makoto +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Fix Bug #457764. +## DP: Use malloc(3) instead of alloca(3). +## DP: Using alloca(3) causes stack buffer overflow when specifing +## DP: a large precision value to format function. (CVE-2007-6109) + +@DPATCH@ +diff -urNad xemacs21-21.4.21~/src/doprnt.c xemacs21-21.4.21/src/doprnt.c +--- xemacs21-21.4.21~/src/doprnt.c 2008-07-25 22:41:12.000000000 +0900 ++++ xemacs21-21.4.21/src/doprnt.c 2008-07-25 22:41:31.000000000 +0900 +@@ -596,11 +596,11 @@ + /* ASCII Decimal representation uses 2.4 times as many + bits as machine binary. */ + char *text_to_print = +- alloca_array (char, 32 + ++ xmalloc (sizeof(char)*(32 + + max (spec->minwidth, + (EMACS_INT) + max (sizeof (double), sizeof (long)) * 3 + +- max (spec->precision, 0))); ++ max (spec->precision, 0)))); + char constructed_spec[100]; + char *p = constructed_spec; + +@@ -642,6 +642,7 @@ + + doprnt_1 (stream, (Bufbyte *) text_to_print, + strlen (text_to_print), 0, -1, 0, 0); ++ xfree (text_to_print); + } + } + } --- xemacs21-21.4.22.orig/debian/patches/02_m68k_stat.dpatch +++ xemacs21-21.4.22/debian/patches/02_m68k_stat.dpatch @@ -0,0 +1,235 @@ +#! /bin/sh -e +## 02_m68k_stat.dpatch by OHURA Makoto +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Fix FTBFS problem. See BTS #206667 + +if [ $# -lt 1 ]; then + echo "`basename $0`: script expects -patch|-unpatch as argument" >&2 + exit 1 +fi + +[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts +patch_opts="${patch_opts:--f --no-backup-if-mismatch} ${2:+-d $2}" + +case "$1" in + -patch) patch -p1 ${patch_opts} < $0;; + -unpatch) patch -R -p1 ${patch_opts} < $0;; + *) + echo "`basename $0`: script expects -patch|-unpatch as argument" >&2 + exit 1;; +esac + +exit 0 + +diff -ruN xemacs21-21.4.15.old/configure.in xemacs21-21.4.15/configure.in +--- xemacs21-21.4.15.old/configure.in 2004-06-29 00:11:49.000000000 +0900 ++++ xemacs21-21.4.15/configure.in 2004-07-12 21:49:32.000000000 +0900 +@@ -1952,6 +1952,8 @@ + dnl glibc is intentionally not `-Wpointer-arith'-clean. + dnl Ulrich Drepper has rejected patches to fix the glibc header files. + test "$have_glibc" != "yes" && CFLAGS="$CFLAGS -Wpointer-arith" ++ dnl for m68k ++ test "$machine" == "m68k" && CFLAGS="$CFLAGS -malign-int" + dnl I'm not convinced this is a good idea any more. -sb + dnl test "$opsys $machine" = "linux intel386" && \ + dnl CFLAGS="$CFLAGS -fno-strength-reduce -malign-loops=2 -malign-jumps=2 -malign-functions=2" +diff -ruN xemacs21-21.4.15.old/src/Makefile.in.in xemacs21-21.4.15/src/Makefile.in.in +--- xemacs21-21.4.15.old/src/Makefile.in.in 2004-06-29 00:11:54.000000000 +0900 ++++ xemacs21-21.4.15/src/Makefile.in.in 2004-07-13 21:44:38.000000000 +0900 +@@ -146,6 +146,10 @@ + profile_objs=profile.o + #endif + ++#ifdef m68k ++m68k_objs=m68k-fix.o ++#endif ++ + ## -Demacs is needed to make some files produce the correct version + ## for use in Emacs. + +@@ -206,7 +210,7 @@ + rangetab.o redisplay.o redisplay-output.o regex.o\ + search.o select.o $(sheap_objs) signal.o sound.o\ + specifier.o strftime.o symbols.o syntax.o sysdep.o\ +- undo.o $(x_objs) widget.o window.o $(win32_objs) ++ undo.o $(x_objs) widget.o window.o $(win32_objs) $(m68k_objs) + + obj_rtl = $(objs:.o=.c.rtl) + +@@ -716,6 +720,11 @@ + extra_doc_files=emacs-widget-accessors.c ui-byhand.c $(glade_files) + #endif + ++#ifdef m68k ++m68k-fix.o : ${srcdir}/m68k-fix.c ${srcdir}/m68k-fix.h ${srcdir}/config.h ++ $(CC) -c $(cflags) -mno-align-int ${srcdir}/m68k-fix.c ++#endif ++ + xemacs_res.o: ${srcdir}/../nt/xemacs.rc + windres --include-dir ${srcdir}/../nt -i ${srcdir}/../nt/xemacs.rc -o $@ + +diff -ruN xemacs21-21.4.15.old/src/m68k-fix.c xemacs21-21.4.15/src/m68k-fix.c +--- xemacs21-21.4.15.old/src/m68k-fix.c 1970-01-01 09:00:00.000000000 +0900 ++++ xemacs21-21.4.15/src/m68k-fix.c 2004-07-15 08:19:54.000000000 +0900 +@@ -0,0 +1,90 @@ ++#include ++#include ++#include ++#include ++#include ++#include "lisp.h" ++#include "buffer.h" ++#include "sysfile.h" ++#include "m68k-fix.h" ++ ++static struct stat *st_buf; ++ ++int xemacs_stat_m68k (const char *path) ++{ ++ int ret; ++ ++ st_buf = xmalloc(sizeof(struct stat)); ++ ret=stat (path, st_buf); ++ return ret; ++} ++ ++dev_t xemacs_stat_st_dev (void) ++{ ++ return st_buf->st_dev; ++} ++ ++ino_t xemacs_stat_st_ino (void) ++{ ++ return st_buf->st_ino; ++} ++ ++mode_t xemacs_stat_st_mode (void) ++{ ++ return st_buf->st_mode; ++} ++ ++nlink_t xemacs_stat_st_nlink (void) ++{ ++ return st_buf->st_nlink; ++} ++ ++uid_t xemacs_stat_st_uid (void) ++{ ++ return st_buf->st_uid; ++} ++ ++gid_t xemacs_stat_st_gid (void) ++{ ++ return st_buf->st_gid; ++} ++ ++dev_t xemacs_stat_st_rdev (void) ++{ ++ return st_buf->st_rdev; ++} ++ ++blksize_t xemacs_stat_st_blksize (void) ++{ ++ return st_buf->st_blksize; ++} ++ ++blkcnt_t xemacs_stat_st_blocks (void) ++{ ++ return st_buf->st_blocks; ++} ++ ++off_t xemacs_stat_st_size (void) ++{ ++ return st_buf->st_size; ++} ++ ++time_t xemacs_stat_st_atime (void) ++{ ++ return st_buf->st_atime; ++} ++ ++time_t xemacs_stat_st_mtime (void) ++{ ++ return st_buf->st_mtime; ++} ++ ++time_t xemacs_stat_st_ctime (void) ++{ ++ return st_buf->st_ctime; ++} ++ ++void xemacs_stat_m68k_free (void) ++{ ++ xfree(st_buf); ++} +diff -ruN xemacs21-21.4.15.old/src/m68k-fix.h xemacs21-21.4.15/src/m68k-fix.h +--- xemacs21-21.4.15.old/src/m68k-fix.h 1970-01-01 09:00:00.000000000 +0900 ++++ xemacs21-21.4.15/src/m68k-fix.h 2004-07-14 19:36:23.000000000 +0900 +@@ -0,0 +1,18 @@ ++#ifndef INCLUDED_m68k_fix_h_ ++#define INCLUDED_m68k_fix_h_ ++int xemacs_stat_m68k (const char *path); ++dev_t xemacs_stat_st_dev (void); ++ino_t xemacs_stat_st_ino (void); ++mode_t xemacs_stat_st_mode (void); ++nlink_t xemacs_stat_st_nlink (void); ++uid_t xemacs_stat_st_uid (void); ++gid_t xemacs_stat_st_gid (void); ++dev_t xemacs_stat_st_rdev (void); ++blksize_t xemacs_stat_st_blksize (void); ++blkcnt_t xemacs_stat_st_blocks (void); ++off_t xemacs_stat_st_size (void); ++time_t xemacs_stat_st_atime (void); ++time_t xemacs_stat_st_mtime (void); ++time_t xemacs_stat_st_ctime (void); ++void xemacs_stat_m68k_free (void); ++#endif /* INCLUDED_m68k_fix_h_ */ +diff -ruN xemacs21-21.4.15.old/src/sysdep.c xemacs21-21.4.15/src/sysdep.c +--- xemacs21-21.4.15.old/src/sysdep.c 2004-06-29 00:11:56.000000000 +0900 ++++ xemacs21-21.4.15/src/sysdep.c 2004-07-14 19:41:18.000000000 +0900 +@@ -94,6 +94,10 @@ + #include "nt.h" + #endif + ++#ifdef m68k ++#include "m68k-fix.h" ++#endif ++ + /* ------------------------------- */ + /* TTY definitions */ + /* ------------------------------- */ +@@ -3111,10 +3115,32 @@ + #ifdef WIN32_NATIVE + return mswindows_stat (path, buf); + #else ++#ifdef m68k ++ int ret; ++ ++ ret=xemacs_stat_m68k (path); ++ ++ buf->st_dev=xemacs_stat_st_dev (); ++ buf->st_ino=xemacs_stat_st_ino (); ++ buf->st_mode=xemacs_stat_st_mode (); ++ buf->st_nlink=xemacs_stat_st_nlink (); ++ buf->st_uid=xemacs_stat_st_uid (); ++ buf->st_gid=xemacs_stat_st_gid (); ++ buf->st_dev=xemacs_stat_st_rdev (); ++ buf->st_blksize=xemacs_stat_st_blksize (); ++ buf->st_blocks=xemacs_stat_st_blocks (); ++ buf->st_size=xemacs_stat_st_size (); ++ buf->st_atime=xemacs_stat_st_atime (); ++ buf->st_mtime=xemacs_stat_st_mtime (); ++ buf->st_ctime=xemacs_stat_st_ctime (); ++ ++ xemacs_stat_m68k_free(); ++ return ret; ++#else + return stat (path, buf); + #endif ++#endif + } +- + /****************** file-manipulation calls *****************/ + + #ifdef ENCAPSULATE_CHMOD --- xemacs21-21.4.22.orig/debian/patches/06_fix_CVE-2009-2688.dpatch +++ xemacs21-21.4.22/debian/patches/06_fix_CVE-2009-2688.dpatch @@ -0,0 +1,118 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 06_fix_CVE-2009-2688.dpatch by OHURA Makoto +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Fix Bug #540470 +## DP: This patch fixes the vulnerability of CVE-2009-2688. This is +## DP: bollowed from RedHat bugzilla. Thanks. +## DP: https://bugzilla.redhat.com/show_bug.cgi?id=511994 + +@DPATCH@ +diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' xemacs21-21.4.22~/src/glyphs-eimage.c xemacs21-21.4.22/src/glyphs-eimage.c +--- xemacs21-21.4.22~/src/glyphs-eimage.c 2007-11-13 21:29:37.000000000 +0900 ++++ xemacs21-21.4.22/src/glyphs-eimage.c 2010-04-01 20:59:57.000000000 +0900 +@@ -407,6 +407,7 @@ + */ + + { ++ UINT_64_BIT pixels_sq; + int jpeg_gray = 0; /* if we're dealing with a grayscale */ + /* Step 4: set parameters for decompression. */ + +@@ -429,7 +430,10 @@ + jpeg_start_decompress (&cinfo); + + /* Step 6: Read in the data and put into EImage format (8bit RGB triples)*/ +- ++ pixels_sq = ++ (UINT_64_BIT) cinfo.output_width * (UINT_64_BIT) cinfo.output_height; ++ if (pixels_sq > ((size_t) -1) / 3) ++ signal_image_error ("JPEG image too large to instantiate", instantiator); + unwind.eimage = (unsigned char*) xmalloc (cinfo.output_width * cinfo.output_height * 3); + if (!unwind.eimage) + signal_image_error("Unable to allocate enough memory for image", instantiator); +@@ -671,6 +675,7 @@ + { + ColorMapObject *cmo = unwind.giffile->SColorMap; + int i, j, row, pass, interlace, slice; ++ UINT_64_BIT pixels_sq; + unsigned char *eip; + /* interlaced gifs have rows in this order: + 0, 8, 16, ..., 4, 12, 20, ..., 2, 6, 10, ..., 1, 3, 5, ... */ +@@ -679,6 +684,9 @@ + + height = unwind.giffile->SHeight; + width = unwind.giffile->SWidth; ++ pixels_sq = (UINT_64_BIT) width * (UINT_64_BIT) height; ++ if (pixels_sq > ((size_t) -1) / (3 * unwind.giffile->ImageCount)) ++ signal_image_error ("GIF image too large to instantiate", instantiator); + unwind.eimage = (unsigned char*) + xmalloc (width * height * 3 * unwind.giffile->ImageCount); + if (!unwind.eimage) +@@ -937,11 +945,15 @@ + { + int y; + unsigned char **row_pointers; ++ UINT_64_BIT pixels_sq; + height = info_ptr->height; + width = info_ptr->width; ++ pixels_sq = (UINT_64_BIT) width * (UINT_64_BIT) height; ++ if (pixels_sq > ((size_t) -1) / 3) ++ signal_image_error ("PNG image too large to instantiate", instantiator); + + /* Wow, allocate all the memory. Truly, exciting. */ +- unwind.eimage = xnew_array_and_zero (unsigned char, width * height * 3); ++ unwind.eimage = xnew_array_and_zero (unsigned char, pixels_sq * 3); + /* libpng expects that the image buffer passed in contains a + picture to draw on top of if the png has any transparencies. + This could be a good place to pass that in... */ +@@ -994,7 +1006,7 @@ + png_set_expand (png_ptr); + /* send grayscale images to RGB too */ + if (info_ptr->color_type == PNG_COLOR_TYPE_GRAY || +- info_ptr->color_type == PNG_COLOR_TYPE_GRAY_ALPHA) ++ info_ptr->color_type == PNG_COLOR_TYPE_GRAY_ALPHA) + png_set_gray_to_rgb (png_ptr); + /* we can't handle alpha values */ + if (info_ptr->color_type & PNG_COLOR_MASK_ALPHA) +@@ -1268,6 +1280,7 @@ + + uint32 *raster; + unsigned char *ep; ++ UINT_64_BIT pixels_sq; + + assert (!NILP (data)); + +@@ -1290,12 +1303,15 @@ + + TIFFGetField (unwind.tiff, TIFFTAG_IMAGEWIDTH, &width); + TIFFGetField (unwind.tiff, TIFFTAG_IMAGELENGTH, &height); +- unwind.eimage = (unsigned char *) xmalloc (width * height * 3); ++ pixels_sq = (UINT_64_BIT) width * (UINT_64_BIT) height; ++ if (pixels_sq >= 1 << 29) ++ signal_image_error ("TIFF image too large to instantiate", instantiator); ++ unwind.eimage = (unsigned char *) xmalloc (pixels_sq * 3); + + /* #### This is little more than proof-of-concept/function testing. + It needs to be reimplemented via scanline reads for both memory + compactness. */ +- raster = (uint32*) _TIFFmalloc (width * height * sizeof (uint32)); ++ raster = (uint32*) _TIFFmalloc ((tsize_t) (pixels_sq * sizeof (uint32))); + if (raster != NULL) + { + int i,j; +diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' xemacs21-21.4.22~/src/lisp.h xemacs21-21.4.22/src/lisp.h +--- xemacs21-21.4.22~/src/lisp.h 2005-02-07 20:09:10.000000000 +0900 ++++ xemacs21-21.4.22/src/lisp.h 2010-04-01 20:59:57.000000000 +0900 +@@ -265,6 +265,11 @@ + /*#define REGISTER register*/ + /*#endif*/ + ++#if SIZEOF_LONG == 8 ++#define UINT_64_BIT unsigned long ++#elif SIZEOF_LONG_LONG == 8 ++#define UINT_64_BIT unsigned long long ++#endif + + /* EMACS_INT is the underlying integral type into which a Lisp_Object must fit. + In particular, it must be large enough to contain a pointer. --- xemacs21-21.4.22.orig/debian/patches/10_info_correct_dir.dpatch +++ xemacs21-21.4.22/debian/patches/10_info_correct_dir.dpatch @@ -0,0 +1,19 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 01_debian_patch.dpatch by +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Fix #330253 + +@DPATCH@ +diff -Nurad xemacs21-21.4.20/man/xemacs/xemacs.texi.orig xemacs21-21.4.20/man/xemacs/xemacs.texi +--- xemacs21-21.4.20/man/xemacs/xemacs.texi.orig 2007-11-27 23:45:42.000000000 +0000 ++++ xemacs21-21.4.20/man/xemacs/xemacs.texi 2007-11-27 23:46:14.000000000 +0000 +@@ -6,7 +6,7 @@ + @ifinfo + @dircategory XEmacs Editor + @direntry +-* XEmacs: (xemacs). XEmacs Editor. ++* XEmacs: (xemacs21/xemacs). XEmacs Editor. + @end direntry + + This file documents the XEmacs editor. --- xemacs21-21.4.22.orig/debian/patches/10_ldap_deprecated.dpatch +++ xemacs21-21.4.22/debian/patches/10_ldap_deprecated.dpatch @@ -0,0 +1,19 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 10_ldap_deprecated.dpatch by OHURA Makoto +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Fixed Bug#463411. +## DP: Defined LDAP_DEPRECATED to continue using the deprecated functions. + +@DPATCH@ +diff -urNad xemacs21-21.4.21~/src/eldap.h xemacs21-21.4.21/src/eldap.h +--- xemacs21-21.4.21~/src/eldap.h 2006-12-11 23:56:23.000000000 +0900 ++++ xemacs21-21.4.21/src/eldap.h 2008-03-10 23:16:38.000000000 +0900 +@@ -22,6 +22,7 @@ + #define INCLUDED_eldap_h_ + + #include ++#define LDAP_DEPRECATED 1 + #include + + /* --- xemacs21-21.4.22.orig/debian/patches/05_fix_FTBFS_on_kFreeBSD.dpatch +++ xemacs21-21.4.22/debian/patches/05_fix_FTBFS_on_kFreeBSD.dpatch @@ -0,0 +1,20 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 05_fix_FTBFS_on_kFreeBSD.dpatch by OHURA Makoto +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Fix BTS #366133 +## DP: GNU/kFreeBSD uses gcc and glibc, so we have to set +## DP: "opsys=linux" in configure script. + +@DPATCH@ +diff -urNad xemacs21-21.4.19~/configure.in xemacs21-21.4.19/configure.in +--- xemacs21-21.4.19~/configure.in 2006-11-02 23:28:40.000000000 +0900 ++++ xemacs21-21.4.19/configure.in 2006-11-02 23:35:45.000000000 +0900 +@@ -1105,6 +1105,7 @@ + dnl Straightforward OS determination + case "$canonical" in + *-*-linux* ) opsys=linux ;; ++ *-*-kfreebsd* ) opsys=linux ;; + *-*-netbsd* ) opsys=netbsd ;; + *-*-openbsd* ) opsys=openbsd ;; + *-*-nextstep* ) opsys=nextstep ;; --- xemacs21-21.4.22.orig/debian/patches/01_debian_patch.dpatch +++ xemacs21-21.4.22/debian/patches/01_debian_patch.dpatch @@ -0,0 +1,316 @@ +#! /bin/sh -e +## XX_PATCHNAME.dpatch by YOUR NAME +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: No description. + +[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts +patch_opts="${patch_opts:--f --no-backup-if-mismatch ${2:+-d $2}}" + +if [ $# -lt 1 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch $patch_opts -p1 < $0;; + -unpatch) patch $patch_opts -p1 -R < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1;; +esac + +exit 0 + +--- xemacs21-21.4.15.orig/configure.in ++++ xemacs21-21.4.15/configure.in +@@ -349,7 +349,7 @@ + with_menubars='' + with_scrollbars='' + dnl can't turn off widgets here because of systems where they are demanded +-with_widgets='' ++with_widgets='athena' + with_dialogs='' + with_file_coding='' + cpp='' cppflags='' libs='' ldflags='' +@@ -2039,10 +2044,10 @@ + dnl #### Should make this Solaris-friendly. + dnl Link with -z nocombreloc for now. + if test "$pdump" != "yes"; then +- AC_MSG_CHECKING(for \"-z nocombreloc\" linker flag) ++ AC_MSG_CHECKING(for \"-Xlinker -znocombreloc\" linker flag) + case "`ld --help 2>&1`" in + *-z\ nocombreloc* ) AC_MSG_RESULT(yes) +- XE_PREPEND(-z nocombreloc, ld_switch_site) ;; ++ XE_PREPEND(-Xlinker -znocombreloc, ld_switch_site) ;; + *) AC_MSG_RESULT(no) ;; + esac + fi +@@ -4500,7 +4506,8 @@ + AC_MSG_RESULT(2); dbfunc=db_open])],[ + AC_MSG_RESULT(1); dbfunc=dbopen]) + AC_CHECK_FUNC($dbfunc, with_database_berkdb=yes need_libdb=no, [ +- AC_CHECK_LIB(db, $dbfunc, with_database_berkdb=yes need_libdb=yes)]) ++ AC_CHECK_LIB(db, $dbfunc, with_database_berkdb=yes need_libdb=yes, [ ++ AC_CHECK_LIB(db, [${dbfunc}_4001], with_database_berkdb=yes need_libdb=yes) ])]) + fi + + if test "$with_database_berkdb" = "yes"; then +@@ -4856,6 +4863,7 @@ + esac + done + AC_SUBST(DOCDIR) ++AC_DEFINE_UNQUOTED(DOCDIR, "$docdir") + + AC_SUBST(archlibdir) + AC_SUBST(ARCHLIBDIR_USER_DEFINED) +@@ -5084,7 +5092,7 @@ + echo " Relocating allocator for buffers: $rel_alloc" + echo " GNU version of malloc: ${GNU_MALLOC}${GNU_MALLOC_reason}" + case "$ld_switch_site" in +- *nocombreloc*) echo " Linking with \`-z nocombreloc'. ++ *nocombreloc*) echo " Linking with \`-Xlinker -znocombreloc'. + - Consider configuring with --pdump." ;; + esac + +--- xemacs21-21.4.15.orig/lisp/ChangeLog ++++ xemacs21-21.4.15/lisp/ChangeLog +@@ -430,6 +430,12 @@ + + * XEmacs 21.4.9 "Informed Management" is released. + ++2002-07-27 James LewisMoss ++ ++ * gnuserv.el (gnuserv-edit-files): fallback to gtk if x device ++ fails. Fixes problem where gnuclient fails for gtk instances when ++ gnuclient was built with X configure. ++ + 2002-06-22 Ville Skyttä + + * subr.el (add-to-list): Sync with GNU Emacs 21.2, adding the +--- xemacs21-21.4.15.orig/lisp/font-menu.el ++++ xemacs21-21.4.15/lisp/font-menu.el +@@ -158,6 +158,11 @@ + :type '(choice (string :tag "Format string") + (function))) + ++(defcustom font-menu-max-number nil ++ "The maximum number of fonts retrieved from the server" ++ :type 'integer ++ :group 'font-menu) ++ + (defvar font-menu-preferred-resolution + (make-specifier-and-init 'generic '((global ((mswindows) . ":") + ((gtk) . "*-*") +--- xemacs21-21.4.15.orig/lisp/x-font-menu.el ++++ xemacs21-21.4.15/lisp/x-font-menu.el +@@ -89,7 +89,8 @@ + family size weight entry monospaced-p + dev-cache cache families sizes weights) + (dolist (name (cond ((null debug) ; debugging kludge +- (list-fonts "*-*-*-*-*-*-*-*-*-*-*-*-*-*" device)) ++ (list-fonts "*-*-*-*-*-*-*-*-*-*-*-*-*-*" device ++ font-menu-max-number)) + ((stringp debug) (split-string debug "\n")) + (t debug))) + (when (and (string-match x-font-regexp-ascii name) +--- xemacs21-21.4.15.orig/src/ChangeLog ++++ xemacs21-21.4.15/src/ChangeLog +@@ -311,6 +315,11 @@ + + * specifier.c (Fvalid_specifier_type_p): Typo in comment. + ++2002-11-16 James LewisMoss ++ ++ * dumper.c (pdump_load): add search for file DUMP in DOCDIR along ++ with the patterned exe path search. ++ + 2002-11-13 Stephen J. Turnbull + + * event-Xt.c (Xt_timeout): +--- xemacs21-21.4.15.orig/src/config.h.in ++++ xemacs21-21.4.15/src/config.h.in +@@ -905,6 +905,7 @@ + #undef MODULEDIR_USER_DEFINED + #undef SITEMODULEDIR_USER_DEFINED + #undef DOCDIR_USER_DEFINED ++#undef DOCDIR + #undef LISPDIR_USER_DEFINED + #undef PACKAGE_PATH_USER_DEFINED + #undef SITELISPDIR_USER_DEFINED +--- xemacs21-21.4.15.orig/src/console.h ++++ xemacs21-21.4.15/src/console.h +@@ -238,7 +238,8 @@ + Error_behavior errb); + Lisp_Object (*font_instance_properties_method) (Lisp_Font_Instance *); + Lisp_Object (*list_fonts_method) (Lisp_Object pattern, +- Lisp_Object device); ++ Lisp_Object device, ++ Lisp_Object maxnumber); + Lisp_Object (*find_charset_font_method) (Lisp_Object device, + Lisp_Object font, + Lisp_Object charset); +--- xemacs21-21.4.15.orig/src/dumper.c ++++ xemacs21-21.4.15/src/dumper.c +@@ -1322,9 +1322,24 @@ + } + #endif /* !WIN32_NATIVE */ + ++static int ++pdump_file_doc_dir_try (char *exe_path) ++{ ++ char *w = exe_path + strlen (exe_path); ++ ++ sprintf (w, "%s", "DUMP"); ++ ++ if (pdump_file_get (exe_path)) ++ { ++ if (pdump_load_check ()) ++ return 1; ++ pdump_free (); ++ } ++ return 0; ++} + + static int +-pdump_file_try (char *exe_path) ++pdump_file_exe_path_try (char *exe_path) + { + char *w = exe_path + strlen (exe_path); + +@@ -1439,9 +1454,16 @@ + + /* Save exe_path because pdump_file_try() modifies it */ + strcpy(real_exe_path, exe_path); +- if (pdump_file_try (exe_path) ++ if (pdump_file_exe_path_try (exe_path) + || (xrealpath(real_exe_path, real_exe_path) +- && pdump_file_try (real_exe_path))) ++ && pdump_file_exe_path_try (real_exe_path))) ++ { ++ pdump_load_finish (); ++ return 1; ++ } ++ ++ sprintf(exe_path, "%s", DOCDIR); ++ if (pdump_file_doc_dir_try (exe_path)) + { + pdump_load_finish (); + return 1; +--- xemacs21-21.4.15.orig/src/glyphs-gtk.c ++++ xemacs21-21.4.15/src/glyphs-gtk.c +@@ -2103,6 +2104,21 @@ + } + GTK_WIDGET_FLAGS(FRAME_GTK_TEXT_WIDGET (f)) = old_flags; + } ++ else ++ { ++ if (IMAGE_INSTANCE_GTK_ALREADY_PUT(p)) ++ { ++ /* Do nothing... */ ++ } ++ else ++ { ++ /* Must make sure we have put the image at least once! */ ++ IMAGE_INSTANCE_GTK_ALREADY_PUT(p) = TRUE; ++ gtk_fixed_put (GTK_FIXED (FRAME_GTK_TEXT_WIDGET (f)), ++ wid, ++ -dga->xoffset, -dga->yoffset); ++ } ++ } + + if (!IMAGE_INSTANCE_SUBWINDOW_DISPLAYEDP (p)) + { +@@ -2219,7 +2235,6 @@ + /* This function can GC */ + Lisp_Image_Instance *ii = XIMAGE_INSTANCE (image_instance); + Lisp_Object device = IMAGE_INSTANCE_DEVICE (ii); +- Lisp_Object frame = DOMAIN_FRAME (domain); + + if (!DEVICE_GTK_P (XDEVICE (device))) + signal_simple_error ("Not a GTK device", device); +--- xemacs21-21.4.15.orig/src/objects-gtk.c ++++ xemacs21-21.4.15/src/objects-gtk.c +@@ -369,7 +369,7 @@ + } + + static Lisp_Object +-gtk_list_fonts (Lisp_Object pattern, Lisp_Object device) ++gtk_list_fonts (Lisp_Object pattern, Lisp_Object device, Lisp_Object maxnumber) + { + const char *patternext; + +--- xemacs21-21.4.15.orig/src/objects-msw.c ++++ xemacs21-21.4.15/src/objects-msw.c +@@ -1592,7 +1592,8 @@ + } + + static Lisp_Object +-mswindows_list_fonts (Lisp_Object pattern, Lisp_Object device) ++mswindows_list_fonts (Lisp_Object pattern, Lisp_Object device, ++ Lisp_Object maxnumber) + { + Lisp_Object fonttail, result = Qnil; + char *extpattern; +--- xemacs21-21.4.15.orig/src/objects-tty.c ++++ xemacs21-21.4.15/src/objects-tty.c +@@ -275,7 +275,7 @@ + } + + static Lisp_Object +-tty_list_fonts (Lisp_Object pattern, Lisp_Object device) ++tty_list_fonts (Lisp_Object pattern, Lisp_Object device, Lisp_Object maxnumber) + { + return list1 (build_string ("normal")); + } +--- xemacs21-21.4.15.orig/src/objects-x.c ++++ xemacs21-21.4.15/src/objects-x.c +@@ -862,17 +862,23 @@ + } + + static Lisp_Object +-x_list_fonts (Lisp_Object pattern, Lisp_Object device) ++x_list_fonts (Lisp_Object pattern, Lisp_Object device, Lisp_Object maxnumber) + { + Extbyte **names; + int count = 0; ++ int max_number = MAX_FONT_COUNT; + Lisp_Object result = Qnil; + const Extbyte *patternext; + + LISP_STRING_TO_EXTERNAL (pattern, patternext, Qx_font_name_encoding); + ++ if (!NILP(maxnumber) && INTP(maxnumber)) ++ { ++ max_number = XINT(maxnumber); ++ } ++ + names = XListFonts (DEVICE_X_DISPLAY (XDEVICE (device)), +- patternext, MAX_FONT_COUNT, &count); ++ patternext, maxnumber, &count); + while (count--) + result = Fcons (build_ext_string (names[count], Qx_font_name_encoding), + result); +--- xemacs21-21.4.15.orig/src/objects.c ++++ xemacs21-21.4.15/src/objects.c +@@ -459,17 +459,18 @@ + font_instance_properties, (f)); + } + +-DEFUN ("list-fonts", Flist_fonts, 1, 2, 0, /* ++DEFUN ("list-fonts", Flist_fonts, 1, 3, 0, /* + Return a list of font names matching the given pattern. + DEVICE specifies which device to search for names, and defaults to the + currently selected device. + */ +- (pattern, device)) ++ (pattern, device, maxnumber)) + { + CHECK_STRING (pattern); + XSETDEVICE (device, decode_device (device)); + +- return MAYBE_LISP_DEVMETH (XDEVICE (device), list_fonts, (pattern, device)); ++ return MAYBE_LISP_DEVMETH (XDEVICE (device), list_fonts, (pattern, device, ++ maxnumber)); + } + + --- xemacs21-21.4.22.orig/debian/patches/11_CVE-2010-0825.dpatch +++ xemacs21-21.4.22/debian/patches/11_CVE-2010-0825.dpatch @@ -0,0 +1,119 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 11_CVE-2010-0825.dpatch by Nico Golde +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: No description. + +@DPATCH@ +diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' xemacs21-21.4.22~/lib-src/movemail.c xemacs21-21.4.22/lib-src/movemail.c +--- xemacs21-21.4.22~/lib-src/movemail.c 2010-07-27 14:25:02.000000000 +0200 ++++ xemacs21-21.4.22/lib-src/movemail.c 2010-07-27 14:26:06.000000000 +0200 +@@ -214,7 +214,11 @@ + #ifndef DISABLE_DIRECT_ACCESS + int indesc, outdesc; + int nread; ++ uid_t real_gid, priv_gid; + int status; ++ ++ real_gid = getgid(); ++ priv_gid = getegid(); + #endif + + int lock_method = DEFAULT_LOCKING; +@@ -312,26 +316,6 @@ + if (*outname == 0) + fatal ("Destination file name is empty", 0); + +- VERBOSE(("checking access to output file\n")); +- /* Check access to output file. */ +- if (access (outname, F_OK) == 0 && access (outname, W_OK) != 0) +- pfatal_with_name (outname); +- +- /* Also check that outname's directory is writable to the real uid. */ +- { +- char *buf = (char *) xmalloc (strlen (outname) + 1); +- char *cp; +- strcpy (buf, outname); +- cp = buf + strlen (buf); +- while (cp > buf && !IS_DIRECTORY_SEP (cp[-1])) +- *--cp = 0; +- if (cp == buf) +- *cp++ = '.'; +- if (access (buf, W_OK) != 0) +- pfatal_with_name (buf); +- free (buf); +- } +- + #ifdef MAIL_USE_POP + if (!strncmp (inname, "po:", 3)) + { +@@ -340,20 +324,17 @@ + } + + #ifndef WIN32_NATIVE +- setuid (getuid ()); ++ if ( setuid (getuid ()) < 0 ) ++ fatal ("Failed to drop privileges", 0); + #endif + #endif /* MAIL_USE_POP */ + + #ifndef DISABLE_DIRECT_ACCESS + +- /* Check access to input file. */ +- if (access (inname, R_OK | W_OK) != 0) +- pfatal_with_name (inname); +- +- + if (fork () == 0) + { +- setuid (getuid ()); ++ if ( setuid (getuid ()) < 0 || setegid (real_gid) < 0 ) ++ fatal("Failed to drop privileges", 0); + + VERBOSE(("opening input file\n")); + +@@ -398,6 +379,9 @@ + if (outdesc < 0) + pfatal_with_name (outname); + ++ if ( setegid(priv_gid) < 0 ) ++ fatal("Failed to regain privileges", 0); ++ + VERBOSE(("locking input file\n")); + + switch (lock_method) +@@ -454,6 +438,10 @@ + if (close (outdesc) != 0) + pfatal_and_delete (outname); + ++ /* Prevent symlink attacks truncating other users' mailboxes */ ++ if ( setegid (real_gid) < 0 ) ++ fatal("Failed to drop privileges", 0); ++ + VERBOSE(("deleting or truncating input file\n")); + + switch (lock_method) +@@ -464,7 +452,11 @@ + #ifdef HAVE_FTRUNCATE + ftruncate (indesc, 0L); + #else +- close (open (inname, O_CREAT | O_TRUNC | O_RDWR, 0666)); ++ int indesc2 = open (inname, O_CREAT | O_TRUNC | O_RDWR, 0666); ++ if ( indesc2 < 0 ) ++ pfatal_with_name (inname) ++ ++ close (indesc2); + #endif + close (indesc); + break; +@@ -478,6 +470,10 @@ + break; + } + ++ /* End of mailbox truncation */ ++ if ( setegid(priv_gid) < 0 ) ++ fatal("Failed to regain privileges", 0); ++ + exit (0); + } + --- xemacs21-21.4.22.orig/debian/patches/10_gnuserv_disable_inet.dpatch +++ xemacs21-21.4.22/debian/patches/10_gnuserv_disable_inet.dpatch @@ -0,0 +1,38 @@ +#! /bin/sh -e +## 10_gnuserv_disable_inet.dpatch by OHURA Makoto +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Disable INTERNET_DOMAIN_SOCKETS for security issue. +## DP: Fix BTS #177236 + +if [ $# -lt 1 ]; then + echo "`basename $0`: script expects -patch|-unpatch as argument" >&2 + exit 1 +fi + +[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts +patch_opts="${patch_opts:--f --no-backup-if-mismatch} ${2:+-d $2}" + +case "$1" in + -patch) patch -p1 ${patch_opts} < $0;; + -unpatch) patch -R -p1 ${patch_opts} < $0;; + *) + echo "`basename $0`: script expects -patch|-unpatch as argument" >&2 + exit 1;; +esac + +exit 0 + +@DPATCH@ +diff -urNad /home/mohura/debsrc/xemacs21-21.4.15/lib-src/gnuserv.h xemacs21-21.4.15/lib-src/gnuserv.h +--- /home/mohura/debsrc/xemacs21-21.4.15/lib-src/gnuserv.h 2001-04-13 03:21:02.000000000 +0900 ++++ xemacs21-21.4.15/lib-src/gnuserv.h 2004-08-28 11:25:18.000000000 +0900 +@@ -52,7 +52,7 @@ + */ + + +-#define INTERNET_DOMAIN_SOCKETS ++/* #define INTERNET_DOMAIN_SOCKETS */ + #ifdef HAVE_SYS_UN_H + #define UNIX_DOMAIN_SOCKETS + /* #define SYSV_IPC */ --- xemacs21-21.4.22.orig/debian/patches/10_itimer_error_with_de.dpatch +++ xemacs21-21.4.22/debian/patches/10_itimer_error_with_de.dpatch @@ -0,0 +1,48 @@ +#! /bin/sh -e +## 10_itimer_error_with_de.dpatch by OHURA Makoto +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Fix `itimer timeout' error with de_DE locale. +## DP: Bug#228883 + +if [ $# -lt 1 ]; then + echo "`basename $0`: script expects -patch|-unpatch as argument" >&2 + exit 1 +fi + +[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts +patch_opts="${patch_opts:--f --no-backup-if-mismatch} ${2:+-d $2}" + +case "$1" in + -patch) patch -p1 ${patch_opts} < $0;; + -unpatch) patch -R -p1 ${patch_opts} < $0;; + *) + echo "`basename $0`: script expects -patch|-unpatch as argument" >&2 + exit 1;; +esac + +exit 0 + +@DPATCH@ +diff -urNad /home/mohura/debsrc/xemacs21/xemacs21-21.4.15/src/device-gtk.c xemacs21-21.4.15/src/device-gtk.c +--- /home/mohura/debsrc/xemacs21/xemacs21-21.4.15/src/device-gtk.c 2002-05-01 01:06:28.000000000 +0900 ++++ xemacs21-21.4.15/src/device-gtk.c 2004-09-12 00:28:36.000000000 +0900 +@@ -54,6 +54,8 @@ + #include + #endif + ++#include ++ + Lisp_Object Vdefault_gtk_device; + + /* Qdisplay in general.c */ +@@ -182,6 +184,9 @@ + + speed_up_interrupts (); + ++ /* Reset the numeric locale because gtk_init change it */ ++ setlocale(LC_NUMERIC,"C"); ++ + free_argc_argv (argv); + return (Qt); + } --- xemacs21-21.4.22.orig/debian/patches/10_vcdiff_use_mktemp.dpatch +++ xemacs21-21.4.22/debian/patches/10_vcdiff_use_mktemp.dpatch @@ -0,0 +1,28 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 10_vcdiff_use_mktemp.dpatch by OHURA Makoto +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Fix Bug #476613. +## DP: Fix insecure usage of temporary files. (CVE-2008-1694) + +@DPATCH@ +diff -urNad xemacs21-21.4.21~/lib-src/vcdiff xemacs21-21.4.21/lib-src/vcdiff +--- xemacs21-21.4.21~/lib-src/vcdiff 2005-01-30 22:55:09.000000000 +0900 ++++ xemacs21-21.4.21/lib-src/vcdiff 2008-07-26 21:06:16.000000000 +0900 +@@ -79,14 +79,14 @@ + case $f in + s.* | */s.*) + if +- rev1=/tmp/geta$$ ++ rev1=`mktemp /tmp/geta.XXXXXXXX` + get -s -p -k $sid1 "$f" > $rev1 && + case $sid2 in + '') + workfile=`expr " /$f" : '.*/s.\(.*\)'` + ;; + *) +- rev2=/tmp/getb$$ ++ rev2=`mktemp /tmp/getb.XXXXXXXX` + get -s -p -k $sid2 "$f" > $rev2 + workfile=$rev2 + esac --- xemacs21-21.4.22.orig/debian/patches/10_info_el_with_line_number.dpatch +++ xemacs21-21.4.22/debian/patches/10_info_el_with_line_number.dpatch @@ -0,0 +1,58 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 10_info_el_with_line_number.dpatch by OHURA Makoto +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Fix info.el to support info-index with the line number +## DP: BTS#275795 + +if [ $# -lt 1 ]; then + echo "`basename $0`: script expects -patch|-unpatch as argument" >&2 + exit 1 +fi + +[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts +patch_opts="${patch_opts:--f --no-backup-if-mismatch} ${2:+-d $2}" + +case "$1" in + -patch) patch -p1 ${patch_opts} < $0;; + -unpatch) patch -R -p1 ${patch_opts} < $0;; + *) + echo "`basename $0`: script expects -patch|-unpatch as argument" >&2 + exit 1;; +esac + +exit 0 + +@DPATCH@ +diff -urNad xemacs21-21.4.15/lisp/info.el /tmp/dpep.TykuSy/xemacs21-21.4.15/lisp/info.el +--- xemacs21-21.4.15/lisp/info.el 2004-01-27 11:58:12.000000000 +0900 ++++ /tmp/dpep.TykuSy/xemacs21-21.4.15/lisp/info.el 2004-10-19 00:13:07.000000000 +0900 +@@ -2268,7 +2268,7 @@ + (interactive "sIndex topic: ") + (let ((pattern (format "\n\\* \\([^\n:]*%s[^\n:]*\\):[ \t]*%s" + (regexp-quote topic) +- "\\(.*\\)\\.[ \t]*\\([0-9]*\\)$")) ++ "\\(.*\\)\\.[ \t]*\\((line[ \t]*\\([0-9]*\\))\\)?$")) + node) + (message "Searching index for `%s'..." topic) + (Info-goto-node "Top") +@@ -2298,8 +2298,8 @@ + Info-current-node + (string-to-int (concat "0" + (buffer-substring +- (match-beginning 3) +- (match-end 3))))) ++ (match-beginning 4) ++ (match-end 4))))) + matches))) + (and (setq node (Info-extract-pointer "next" t)) + (string-match "\\" node))) +@@ -2331,7 +2331,7 @@ + num (1- num))) + (Info-goto-node (nth 1 (car Info-index-alternatives))) + (if (> (nth 3 (car Info-index-alternatives)) 0) +- (forward-line (nth 3 (car Info-index-alternatives))) ++ (forward-line (- (nth 3 (car Info-index-alternatives)) 1)) + (forward-line 3) ; don't search in headers + (let ((name (car (car Info-index-alternatives)))) + (if (or (re-search-forward (format --- xemacs21-21.4.22.orig/debian/patches/04_ia64_segv.dpatch +++ xemacs21-21.4.22/debian/patches/04_ia64_segv.dpatch @@ -0,0 +1,2326 @@ +#! /bin/sh -e +## 04_ia64_segv.dpatch by OHURA Makoto +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Fix ia64 dependent segv problem. BTS #207412, #149088, #218241 +## DP: Borrow this patch from xemacs21 package of SUSE Linux. +## DP: See http://lists.debian.org/debian-ia64/2003/10/msg00050.html +## DP: Disable now. + +if [ $# -lt 1 ]; then + echo "`basename $0`: script expects -patch|-unpatch as argument" >&2 + exit 1 +fi + +[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts +patch_opts="${patch_opts:--f --no-backup-if-mismatch} ${2:+-d $2}" + +case "$1" in + -patch) patch -p1 ${patch_opts} < $0;; + -unpatch) patch -R -p1 ${patch_opts} < $0;; + *) + echo "`basename $0`: script expects -patch|-unpatch as argument" >&2 + exit 1;; +esac + +exit 0 + +@DPATCH@ +diff -urNad /home/mohura/debsrc/xemacs21-21.4.15/src/chartab.c xemacs21-21.4.15/src/chartab.c +--- /home/mohura/debsrc/xemacs21-21.4.15/src/chartab.c 2001-04-13 03:23:27.000000000 +0900 ++++ xemacs21-21.4.15/src/chartab.c 2004-07-25 18:31:43.000000000 +0900 +@@ -1861,6 +1861,19 @@ + define_structure_type_keyword (st, Qdata, chartab_data_validate); + } + ++#ifdef __ia64__ ++void ++structure_type_reinit_chartab (void) ++{ ++ struct structure_type *st; ++ ++ st = reinit_structure_type (Qchar_table, 0, chartab_instantiate); ++ ++ reinit_structure_type_keyword (st, Qtype, chartab_type_validate); ++ reinit_structure_type_keyword (st, Qdata, chartab_data_validate); ++} ++#endif ++ + void + complex_vars_of_chartab (void) + { +diff -urNad /home/mohura/debsrc/xemacs21-21.4.15/src/console-gtk.c xemacs21-21.4.15/src/console-gtk.c +--- /home/mohura/debsrc/xemacs21-21.4.15/src/console-gtk.c 2001-04-13 03:23:29.000000000 +0900 ++++ xemacs21-21.4.15/src/console-gtk.c 2004-07-25 18:31:43.000000000 +0900 +@@ -113,6 +113,14 @@ + { + INITIALIZE_CONSOLE_TYPE (gtk, "gtk", "console-gtk-p"); + ++#ifdef __ia64__ ++ console_type_reinit_gtk (); ++} ++ ++void ++console_type_reinit_gtk (void) ++{ ++#endif + CONSOLE_HAS_METHOD (gtk, semi_canonicalize_console_connection); + CONSOLE_HAS_METHOD (gtk, canonicalize_console_connection); + CONSOLE_HAS_METHOD (gtk, semi_canonicalize_device_connection); +diff -urNad /home/mohura/debsrc/xemacs21-21.4.15/src/console-msw.c xemacs21-21.4.15/src/console-msw.c +--- /home/mohura/debsrc/xemacs21-21.4.15/src/console-msw.c 2001-04-13 03:23:29.000000000 +0900 ++++ xemacs21-21.4.15/src/console-msw.c 2004-07-25 18:31:43.000000000 +0900 +@@ -655,6 +655,14 @@ + { + INITIALIZE_CONSOLE_TYPE (mswindows, "mswindows", "console-mswindows-p"); + ++#ifdef __ia64__ ++ console_type_reinit_mswindows (); ++} ++ ++void ++console_type_reinit_mswindows (void) ++{ ++#endif + /* console methods */ + /* CONSOLE_HAS_METHOD (mswindows, init_console); */ + /* CONSOLE_HAS_METHOD (mswindows, mark_console); */ +diff -urNad /home/mohura/debsrc/xemacs21-21.4.15/src/console-stream.c xemacs21-21.4.15/src/console-stream.c +--- /home/mohura/debsrc/xemacs21-21.4.15/src/console-stream.c 2001-04-13 03:23:30.000000000 +0900 ++++ xemacs21-21.4.15/src/console-stream.c 2004-07-25 18:31:43.000000000 +0900 +@@ -242,6 +242,14 @@ + { + INITIALIZE_CONSOLE_TYPE (stream, "stream", "console-stream-p"); + ++#ifdef __ia64__ ++ console_type_reinit_stream (); ++} ++ ++void ++console_type_reinit_stream (void) ++{ ++#endif + /* console methods */ + CONSOLE_HAS_METHOD (stream, init_console); + CONSOLE_HAS_METHOD (stream, initially_selected_for_input); +diff -urNad /home/mohura/debsrc/xemacs21-21.4.15/src/console-tty.c xemacs21-21.4.15/src/console-tty.c +--- /home/mohura/debsrc/xemacs21-21.4.15/src/console-tty.c 2001-04-13 03:23:30.000000000 +0900 ++++ xemacs21-21.4.15/src/console-tty.c 2004-07-25 18:31:43.000000000 +0900 +@@ -355,6 +355,14 @@ + { + INITIALIZE_CONSOLE_TYPE (tty, "tty", "console-tty-p"); + ++#ifdef __ia64__ ++ console_type_reinit_tty (); ++} ++ ++void ++console_type_reinit_tty (void) ++{ ++#endif + /* console methods */ + CONSOLE_HAS_METHOD (tty, init_console); + CONSOLE_HAS_METHOD (tty, mark_console); +diff -urNad /home/mohura/debsrc/xemacs21-21.4.15/src/console-x.c xemacs21-21.4.15/src/console-x.c +--- /home/mohura/debsrc/xemacs21-21.4.15/src/console-x.c 2001-04-13 03:23:30.000000000 +0900 ++++ xemacs21-21.4.15/src/console-x.c 2004-07-25 18:31:43.000000000 +0900 +@@ -301,6 +301,14 @@ + { + INITIALIZE_CONSOLE_TYPE (x, "x", "console-x-p"); + ++#ifdef __ia64__ ++ console_type_reinit_x (); ++} ++ ++void ++console_type_reinit_x (void) ++{ ++#endif + CONSOLE_HAS_METHOD (x, semi_canonicalize_console_connection); + CONSOLE_HAS_METHOD (x, canonicalize_console_connection); + CONSOLE_HAS_METHOD (x, semi_canonicalize_device_connection); +diff -urNad /home/mohura/debsrc/xemacs21-21.4.15/src/device-gtk.c xemacs21-21.4.15/src/device-gtk.c +--- /home/mohura/debsrc/xemacs21-21.4.15/src/device-gtk.c 2002-05-01 01:06:28.000000000 +0900 ++++ xemacs21-21.4.15/src/device-gtk.c 2004-07-25 18:31:43.000000000 +0900 +@@ -715,6 +715,14 @@ + void + console_type_create_device_gtk (void) + { ++#ifdef __ia64__ ++ console_type_reinit_device_gtk (); ++} ++ ++void ++console_type_reinit_device_gtk (void) ++{ ++#endif + CONSOLE_HAS_METHOD (gtk, init_device); + CONSOLE_HAS_METHOD (gtk, finish_init_device); + CONSOLE_HAS_METHOD (gtk, mark_device); +diff -urNad /home/mohura/debsrc/xemacs21-21.4.15/src/device-msw.c xemacs21-21.4.15/src/device-msw.c +--- /home/mohura/debsrc/xemacs21-21.4.15/src/device-msw.c 2002-08-20 20:36:45.000000000 +0900 ++++ xemacs21-21.4.15/src/device-msw.c 2004-07-25 18:31:43.000000000 +0900 +@@ -1314,6 +1314,14 @@ + void + console_type_create_device_mswindows (void) + { ++#ifdef __ia64__ ++ console_type_reinit_device_mswindows (); ++} ++ ++void ++console_type_reinit_device_mswindows (void) ++{ ++#endif + CONSOLE_HAS_METHOD (mswindows, init_device); + CONSOLE_HAS_METHOD (mswindows, finish_init_device); + CONSOLE_HAS_METHOD (mswindows, mark_device); +diff -urNad /home/mohura/debsrc/xemacs21-21.4.15/src/device-tty.c xemacs21-21.4.15/src/device-tty.c +--- /home/mohura/debsrc/xemacs21-21.4.15/src/device-tty.c 2001-04-13 03:23:33.000000000 +0900 ++++ xemacs21-21.4.15/src/device-tty.c 2004-07-25 18:31:43.000000000 +0900 +@@ -196,6 +196,14 @@ + void + console_type_create_device_tty (void) + { ++#ifdef __ia64__ ++ console_type_reinit_device_tty (); ++} ++ ++void ++console_type_reinit_device_tty (void) ++{ ++#endif + /* device methods */ + CONSOLE_HAS_METHOD (tty, init_device); + CONSOLE_HAS_METHOD (tty, delete_device); +diff -urNad /home/mohura/debsrc/xemacs21-21.4.15/src/device-x.c xemacs21-21.4.15/src/device-x.c +--- /home/mohura/debsrc/xemacs21-21.4.15/src/device-x.c 2004-01-31 12:35:54.000000000 +0900 ++++ xemacs21-21.4.15/src/device-x.c 2004-07-25 18:31:43.000000000 +0900 +@@ -2018,6 +2018,15 @@ + console_type_create_device_x (void) + { + reinit_console_type_create_device_x (); ++ ++#ifdef __ia64__ ++ console_type_reinit_device_x (); ++} ++ ++void ++console_type_reinit_device_x (void) ++{ ++#endif + CONSOLE_HAS_METHOD (x, init_device); + CONSOLE_HAS_METHOD (x, finish_init_device); + CONSOLE_HAS_METHOD (x, mark_device); +diff -urNad /home/mohura/debsrc/xemacs21-21.4.15/src/dialog-gtk.c xemacs21-21.4.15/src/dialog-gtk.c +--- /home/mohura/debsrc/xemacs21-21.4.15/src/dialog-gtk.c 2001-04-13 03:23:33.000000000 +0900 ++++ xemacs21-21.4.15/src/dialog-gtk.c 2004-07-25 18:31:43.000000000 +0900 +@@ -53,6 +53,14 @@ + void + console_type_create_dialog_gtk (void) + { ++#ifdef __ia64__ ++ console_type_reinit_dialog_gtk (); ++} ++ ++void ++console_type_reinit_dialog_gtk (void) ++{ ++#endif + CONSOLE_HAS_METHOD (gtk, make_dialog_box_internal); + } + +diff -urNad /home/mohura/debsrc/xemacs21-21.4.15/src/dialog-msw.c xemacs21-21.4.15/src/dialog-msw.c +--- /home/mohura/debsrc/xemacs21-21.4.15/src/dialog-msw.c 2002-08-20 20:36:47.000000000 +0900 ++++ xemacs21-21.4.15/src/dialog-msw.c 2004-07-25 18:31:43.000000000 +0900 +@@ -823,6 +823,14 @@ + void + console_type_create_dialog_mswindows (void) + { ++#ifdef __ia64__ ++ console_type_reinit_dialog_mswindows (); ++} ++ ++void ++console_type_reinit_dialog_mswindows (void) ++{ ++#endif + CONSOLE_HAS_METHOD (mswindows, make_dialog_box_internal); + } + +diff -urNad /home/mohura/debsrc/xemacs21-21.4.15/src/dialog-x.c xemacs21-21.4.15/src/dialog-x.c +--- /home/mohura/debsrc/xemacs21-21.4.15/src/dialog-x.c 2001-04-13 03:23:34.000000000 +0900 ++++ xemacs21-21.4.15/src/dialog-x.c 2004-07-25 18:31:43.000000000 +0900 +@@ -305,6 +305,14 @@ + void + console_type_create_dialog_x (void) + { ++#ifdef __ia64__ ++ console_type_reinit_dialog_x (); ++} ++ ++void ++console_type_reinit_dialog_x (void) ++{ ++#endif + CONSOLE_HAS_METHOD (x, make_dialog_box_internal); + } + +diff -urNad /home/mohura/debsrc/xemacs21-21.4.15/src/elhash.c xemacs21-21.4.15/src/elhash.c +--- /home/mohura/debsrc/xemacs21-21.4.15/src/elhash.c 2003-10-23 11:03:57.000000000 +0900 ++++ xemacs21-21.4.15/src/elhash.c 2004-07-25 18:31:43.000000000 +0900 +@@ -788,6 +788,30 @@ + structure_type_create_hash_table_structure_name (Qhashtable); /* compat */ + } + ++#ifdef __ia64__ ++static void ++structure_type_reinit_hash_table_structure_name (Lisp_Object structure_name) ++{ ++ struct structure_type *st; ++ ++ st = reinit_structure_type (structure_name, 0, hash_table_instantiate); ++ reinit_structure_type_keyword (st, Qtest, hash_table_test_validate); ++ reinit_structure_type_keyword (st, Qsize, hash_table_size_validate); ++ reinit_structure_type_keyword (st, Qrehash_size, hash_table_rehash_size_validate); ++ reinit_structure_type_keyword (st, Qrehash_threshold, hash_table_rehash_threshold_validate); ++ reinit_structure_type_keyword (st, Qweakness, hash_table_weakness_validate); ++ reinit_structure_type_keyword (st, Qdata, hash_table_data_validate); ++ ++ reinit_structure_type_keyword (st, Qtype, hash_table_weakness_validate); ++} ++ ++void ++structure_type_reinit_hash_table (void) ++{ ++ structure_type_reinit_hash_table_structure_name (Qhash_table); ++ structure_type_reinit_hash_table_structure_name (Qhashtable); /* compat */ ++} ++#endif + + /************************************************************************/ + /* Definition of Lisp-visible methods */ +diff -urNad /home/mohura/debsrc/xemacs21-21.4.15/src/emacs.c xemacs21-21.4.15/src/emacs.c +--- /home/mohura/debsrc/xemacs21-21.4.15/src/emacs.c 2004-07-25 17:57:51.000000000 +0900 ++++ xemacs21-21.4.15/src/emacs.c 2004-07-25 18:31:43.000000000 +0900 +@@ -2320,6 +2320,136 @@ + #ifdef HAVE_POSTGRESQL + init_postgresql_from_environment(); + #endif ++ ++#ifdef __ia64__ ++ /* Reinitialize all function pointers. */ ++ console_type_reinit_stream (); ++ ++#ifdef HAVE_TTY ++ console_type_reinit_tty (); ++ console_type_reinit_device_tty (); ++ console_type_reinit_frame_tty (); ++ console_type_reinit_objects_tty (); ++ console_type_reinit_redisplay_tty (); ++#endif ++#ifdef HAVE_GTK ++ console_type_reinit_gtk (); ++ console_type_reinit_select_gtk (); ++ console_type_reinit_device_gtk (); ++ console_type_reinit_dialog_gtk (); ++ console_type_reinit_frame_gtk (); ++ console_type_reinit_objects_gtk (); ++ console_type_reinit_glyphs_gtk (); ++ console_type_reinit_redisplay_gtk (); ++#ifdef HAVE_MENUBARS ++ console_type_reinit_menubar_gtk (); ++#endif ++#ifdef HAVE_SCROLLBARS ++ console_type_reinit_scrollbar_gtk (); ++#endif ++#ifdef HAVE_TOOLBARS ++ console_type_reinit_toolbar_gtk (); ++#endif ++#endif ++#ifdef HAVE_X_WINDOWS ++ console_type_reinit_x (); ++ console_type_reinit_device_x (); ++ console_type_reinit_frame_x (); ++ console_type_reinit_glyphs_x (); ++ console_type_reinit_select_x (); ++#ifdef HAVE_MENUBARS ++ console_type_reinit_menubar_x (); ++#endif ++ console_type_reinit_objects_x (); ++ console_type_reinit_redisplay_x (); ++#ifdef HAVE_SCROLLBARS ++ console_type_reinit_scrollbar_x (); ++#endif ++#ifdef HAVE_TOOLBARS ++ console_type_reinit_toolbar_x (); ++#endif ++#ifdef HAVE_DIALOGS ++ console_type_reinit_dialog_x (); ++#endif ++#endif /* HAVE_X_WINDOWS */ ++ ++#ifdef HAVE_MS_WINDOWS ++ console_type_reinit_mswindows (); ++ console_type_reinit_device_mswindows (); ++ console_type_reinit_frame_mswindows (); ++ console_type_reinit_objects_mswindows (); ++ console_type_reinit_redisplay_mswindows (); ++ console_type_reinit_glyphs_mswindows (); ++# ifdef HAVE_SCROLLBARS ++ console_type_reinit_scrollbar_mswindows (); ++# endif ++#ifdef HAVE_MENUBARS ++ console_type_reinit_menubar_mswindows (); ++#endif ++#ifdef HAVE_TOOLBARS ++ console_type_reinit_toolbar_mswindows (); ++#endif ++#ifdef HAVE_DIALOGS ++ console_type_reinit_dialog_mswindows (); ++#endif ++#endif ++ ++ specifier_type_reinit (); ++ ++ specifier_type_reinit_image (); ++ specifier_type_reinit_gutter (); ++ specifier_type_reinit_objects (); ++#ifdef HAVE_TOOLBARS ++ specifier_type_reinit_toolbar (); ++#endif ++ ++ structure_type_reinit_chartab (); ++ structure_type_reinit_faces (); ++ structure_type_reinit_rangetab (); ++ structure_type_reinit_hash_table (); ++ ++ image_instantiator_format_reinit (); ++ image_instantiator_format_reinit_glyphs_eimage (); ++ image_instantiator_format_reinit_glyphs_widget (); ++#ifdef HAVE_GTK ++ image_instantiator_format_reinit_glyphs_gtk (); ++#endif ++#ifdef HAVE_X_WINDOWS ++ image_instantiator_format_reinit_glyphs_x (); ++#endif /* HAVE_X_WINDOWS */ ++#ifdef HAVE_MS_WINDOWS ++ image_instantiator_format_reinit_glyphs_mswindows (); ++#endif /* HAVE_MSWINDOWS_WINDOWS */ ++ ++ lstream_type_reinit (); ++#ifdef FILE_CODING ++ lstream_type_reinit_file_coding (); ++#endif ++#if defined (HAVE_MS_WINDOWS) && !defined(HAVE_MSG_SELECT) ++ lstream_type_reinit_mswindows_selectable (); ++#endif ++ ++#ifdef HAVE_UNIX_PROCESSES ++ process_type_reinit_unix (); ++#endif ++#ifdef HAVE_WIN32_PROCESSES ++ process_type_reinit_nt (); ++#endif ++ ++ specifier_reinit_glyphs (); ++ specifier_reinit_gutter (); ++#ifdef HAVE_MENUBARS ++ specifier_reinit_menubar (); ++#endif ++ specifier_reinit_redisplay (); ++#ifdef HAVE_SCROLLBARS ++ specifier_reinit_scrollbar (); ++#endif ++#ifdef HAVE_TOOLBARS ++ specifier_reinit_toolbar (); ++#endif ++ specifier_reinit_window (); ++#endif /* __ia64__ */ + } + + /* Now do further initialization/setup of stuff that is not needed by the +diff -urNad /home/mohura/debsrc/xemacs21-21.4.15/src/event-msw.c xemacs21-21.4.15/src/event-msw.c +--- /home/mohura/debsrc/xemacs21-21.4.15/src/event-msw.c 2003-10-24 12:49:57.000000000 +0900 ++++ xemacs21-21.4.15/src/event-msw.c 2004-07-25 18:31:43.000000000 +0900 +@@ -4284,6 +4284,14 @@ + void + lstream_type_create_mswindows_selectable (void) + { ++#ifdef __ia64__ ++ lstream_type_reinit_mswindows_selectable (); ++} ++ ++void ++lstream_type_reinit_mswindows_selectable (void); ++} ++#endif + init_slurp_stream (); + init_shove_stream (); + #if defined (HAVE_SOCKETS) && !defined (HAVE_MSG_SELECT) +diff -urNad /home/mohura/debsrc/xemacs21-21.4.15/src/faces.c xemacs21-21.4.15/src/faces.c +--- /home/mohura/debsrc/xemacs21-21.4.15/src/faces.c 2001-04-13 03:23:43.000000000 +0900 ++++ xemacs21-21.4.15/src/faces.c 2004-07-25 18:31:43.000000000 +0900 +@@ -1870,6 +1870,18 @@ + define_structure_type_keyword (st, Qname, face_name_validate); + } + ++#ifdef __ia64__ ++void ++structure_type_reinit_faces (void) ++{ ++ struct structure_type *st; ++ ++ st = reinit_structure_type (Qface, face_validate, face_instantiate); ++ ++ reinit_structure_type_keyword (st, Qname, face_name_validate); ++} ++#endif ++ + void + vars_of_faces (void) + { +diff -urNad /home/mohura/debsrc/xemacs21-21.4.15/src/file-coding.c xemacs21-21.4.15/src/file-coding.c +--- /home/mohura/debsrc/xemacs21-21.4.15/src/file-coding.c 2002-11-01 00:07:50.000000000 +0900 ++++ xemacs21-21.4.15/src/file-coding.c 2004-07-25 18:31:43.000000000 +0900 +@@ -5732,6 +5732,14 @@ + void + lstream_type_create_file_coding (void) + { ++#ifdef __ia64__ ++ lstream_type_reinit_file_coding (); ++} ++ ++void ++lstream_type_reinit_file_coding (void) ++{ ++#endif + LSTREAM_HAS_METHOD (decoding, reader); + LSTREAM_HAS_METHOD (decoding, writer); + LSTREAM_HAS_METHOD (decoding, rewinder); +diff -urNad /home/mohura/debsrc/xemacs21-21.4.15/src/frame-gtk.c xemacs21-21.4.15/src/frame-gtk.c +--- /home/mohura/debsrc/xemacs21-21.4.15/src/frame-gtk.c 2001-10-23 17:35:33.000000000 +0900 ++++ xemacs21-21.4.15/src/frame-gtk.c 2004-07-25 18:31:43.000000000 +0900 +@@ -1410,6 +1410,14 @@ + void + console_type_create_frame_gtk (void) + { ++#ifdef __ia64__ ++ console_type_reinit_frame_gtk (); ++} ++ ++void ++console_type_reinit_frame_gtk (void) ++{ ++#endif + /* frame methods */ + CONSOLE_HAS_METHOD (gtk, init_frame_1); + CONSOLE_HAS_METHOD (gtk, init_frame_2); +diff -urNad /home/mohura/debsrc/xemacs21-21.4.15/src/frame-msw.c xemacs21-21.4.15/src/frame-msw.c +--- /home/mohura/debsrc/xemacs21-21.4.15/src/frame-msw.c 2003-03-20 12:53:37.000000000 +0900 ++++ xemacs21-21.4.15/src/frame-msw.c 2004-07-25 18:31:43.000000000 +0900 +@@ -1064,6 +1064,14 @@ + void + console_type_create_frame_mswindows (void) + { ++#ifdef __ia64__ ++ console_type_reinit_frame_mswindows (); ++} ++ ++void ++console_type_reinit_frame_mswindows (void) ++{ ++#endif + /* Display frames */ + CONSOLE_HAS_METHOD (mswindows, init_frame_1); + CONSOLE_HAS_METHOD (mswindows, init_frame_2); +diff -urNad /home/mohura/debsrc/xemacs21-21.4.15/src/frame-tty.c xemacs21-21.4.15/src/frame-tty.c +--- /home/mohura/debsrc/xemacs21-21.4.15/src/frame-tty.c 2001-04-13 03:23:47.000000000 +0900 ++++ xemacs21-21.4.15/src/frame-tty.c 2004-07-25 18:31:43.000000000 +0900 +@@ -188,6 +188,14 @@ + void + console_type_create_frame_tty (void) + { ++#ifdef __ia64__ ++ console_type_reinit_frame_tty (); ++} ++ ++void ++console_type_reinit_frame_tty (void) ++{ ++#endif + CONSOLE_HAS_METHOD (tty, init_frame_1); + CONSOLE_HAS_METHOD (tty, init_frame_3); + CONSOLE_HAS_METHOD (tty, after_init_frame); +diff -urNad /home/mohura/debsrc/xemacs21-21.4.15/src/frame-x.c xemacs21-21.4.15/src/frame-x.c +--- /home/mohura/debsrc/xemacs21-21.4.15/src/frame-x.c 2003-10-24 12:49:57.000000000 +0900 ++++ xemacs21-21.4.15/src/frame-x.c 2004-07-25 18:31:43.000000000 +0900 +@@ -2796,6 +2796,14 @@ + void + console_type_create_frame_x (void) + { ++#ifdef __ia64__ ++ console_type_reinit_frame_x (); ++} ++ ++void ++console_type_reinit_frame_x (void) ++{ ++#endif + /* frame methods */ + CONSOLE_HAS_METHOD (x, init_frame_1); + CONSOLE_HAS_METHOD (x, init_frame_2); +diff -urNad /home/mohura/debsrc/xemacs21-21.4.15/src/glyphs-eimage.c xemacs21-21.4.15/src/glyphs-eimage.c +--- /home/mohura/debsrc/xemacs21-21.4.15/src/glyphs-eimage.c 2003-02-01 10:11:47.000000000 +0900 ++++ xemacs21-21.4.15/src/glyphs-eimage.c 2004-07-25 18:31:43.000000000 +0900 +@@ -1375,8 +1375,54 @@ + IIFORMAT_VALID_KEYWORD (tiff, Q_data, check_valid_string); + IIFORMAT_VALID_KEYWORD (tiff, Q_file, check_valid_string); + #endif ++} ++ ++#ifdef __ia64__ ++void ++image_instantiator_format_reinit_glyphs_eimage (void) ++{ ++ /* image-instantiator types */ ++#ifdef HAVE_JPEG ++ IIFORMAT_HAS_METHOD (jpeg, validate); ++ IIFORMAT_HAS_METHOD (jpeg, normalize); ++ IIFORMAT_HAS_METHOD (jpeg, possible_dest_types); ++ IIFORMAT_HAS_METHOD (jpeg, instantiate); ++ ++ IIFORMAT_REINIT_KEYWORD (jpeg, Q_data, check_valid_string); ++ IIFORMAT_REINIT_KEYWORD (jpeg, Q_file, check_valid_string); ++#endif ++ ++#ifdef HAVE_GIF ++ IIFORMAT_HAS_METHOD (gif, validate); ++ IIFORMAT_HAS_METHOD (gif, normalize); ++ IIFORMAT_HAS_METHOD (gif, possible_dest_types); ++ IIFORMAT_HAS_METHOD (gif, instantiate); ++ ++ IIFORMAT_REINIT_KEYWORD (gif, Q_data, check_valid_string); ++ IIFORMAT_REINIT_KEYWORD (gif, Q_file, check_valid_string); ++#endif ++ ++#ifdef HAVE_PNG ++ IIFORMAT_HAS_METHOD (png, validate); ++ IIFORMAT_HAS_METHOD (png, normalize); ++ IIFORMAT_HAS_METHOD (png, possible_dest_types); ++ IIFORMAT_HAS_METHOD (png, instantiate); + ++ IIFORMAT_REINIT_KEYWORD (png, Q_data, check_valid_string); ++ IIFORMAT_REINIT_KEYWORD (png, Q_file, check_valid_string); ++#endif ++ ++#ifdef HAVE_TIFF ++ IIFORMAT_HAS_METHOD (tiff, validate); ++ IIFORMAT_HAS_METHOD (tiff, normalize); ++ IIFORMAT_HAS_METHOD (tiff, possible_dest_types); ++ IIFORMAT_HAS_METHOD (tiff, instantiate); ++ ++ IIFORMAT_REINIT_KEYWORD (tiff, Q_data, check_valid_string); ++ IIFORMAT_REINIT_KEYWORD (tiff, Q_file, check_valid_string); ++#endif + } ++#endif /* __ia64__ */ + + void + vars_of_glyphs_eimage (void) +diff -urNad /home/mohura/debsrc/xemacs21-21.4.15/src/glyphs-gtk.c xemacs21-21.4.15/src/glyphs-gtk.c +--- /home/mohura/debsrc/xemacs21-21.4.15/src/glyphs-gtk.c 2004-07-25 17:57:51.000000000 +0900 ++++ xemacs21-21.4.15/src/glyphs-gtk.c 2004-07-25 18:31:43.000000000 +0900 +@@ -2586,6 +2586,14 @@ + void + console_type_create_glyphs_gtk (void) + { ++#ifdef __ia64__ ++ console_type_reinit_glyphs_gtk (); ++} ++ ++void ++console_type_reinit_glyphs_gtk (void) ++{ ++#endif + /* image methods */ + CONSOLE_HAS_METHOD (gtk, print_image_instance); + CONSOLE_HAS_METHOD (gtk, finalize_image_instance); +@@ -2722,6 +2730,78 @@ + IIFORMAT_VALID_KEYWORD (autodetect, Q_data, check_valid_string); + } + ++#ifdef __ia64__ ++void ++image_instantiator_format_reinit_glyphs_gtk (void) ++{ ++#ifdef HAVE_XPM ++ IIFORMAT_HAS_DEVMETHOD (gtk, xpm, instantiate); ++#endif ++ ++ IIFORMAT_HAS_DEVMETHOD (gtk, subwindow, instantiate); ++ ++#ifdef HAVE_WIDGETS ++ IIFORMAT_HAS_DEVMETHOD (gtk, native_layout, instantiate); ++ ++ IIFORMAT_HAS_DEVMETHOD (gtk, button, property); ++ IIFORMAT_HAS_DEVMETHOD (gtk, button, instantiate); ++ IIFORMAT_HAS_DEVMETHOD (gtk, button, redisplay); ++ IIFORMAT_HAS_DEVMETHOD (gtk, widget, property); ++ ++ IIFORMAT_HAS_DEVMETHOD (gtk, progress_gauge, redisplay); ++ IIFORMAT_HAS_DEVMETHOD (gtk, progress_gauge, instantiate); ++ IIFORMAT_HAS_DEVMETHOD (gtk, edit_field, instantiate); ++ IIFORMAT_HAS_DEVMETHOD (gtk, combo_box, instantiate); ++ IIFORMAT_HAS_SHARED_DEVMETHOD (gtk, combo_box, redisplay, tab_control); ++ IIFORMAT_HAS_DEVMETHOD (gtk, tab_control, instantiate); ++ IIFORMAT_HAS_DEVMETHOD (gtk, tab_control, redisplay); ++ IIFORMAT_HAS_DEVMETHOD (gtk, label, instantiate); ++#endif ++ ++ IIFORMAT_HAS_METHOD (cursor_font, validate); ++ IIFORMAT_HAS_METHOD (cursor_font, possible_dest_types); ++ IIFORMAT_HAS_METHOD (cursor_font, instantiate); ++ ++ IIFORMAT_REINIT_KEYWORD (cursor_font, Q_data, check_valid_string); ++ IIFORMAT_REINIT_KEYWORD (cursor_font, Q_foreground, check_valid_string); ++ IIFORMAT_REINIT_KEYWORD (cursor_font, Q_background, check_valid_string); ++ ++ IIFORMAT_HAS_METHOD (font, validate); ++ IIFORMAT_HAS_METHOD (font, possible_dest_types); ++ IIFORMAT_HAS_METHOD (font, instantiate); ++ ++ IIFORMAT_REINIT_KEYWORD (font, Q_data, check_valid_string); ++ IIFORMAT_REINIT_KEYWORD (font, Q_foreground, check_valid_string); ++ IIFORMAT_REINIT_KEYWORD (font, Q_background, check_valid_string); ++ ++#ifdef HAVE_XPM ++ IIFORMAT_HAS_DEVMETHOD (gtk, xpm, instantiate); ++#endif ++ ++#ifdef HAVE_XFACE ++ IIFORMAT_HAS_DEVMETHOD (gtk, xface, instantiate); ++#endif ++ ++ IIFORMAT_HAS_DEVMETHOD (gtk, xbm, instantiate); ++ ++ IIFORMAT_HAS_METHOD (gtk_resource, validate); ++ IIFORMAT_HAS_METHOD (gtk_resource, normalize); ++ IIFORMAT_HAS_METHOD (gtk_resource, possible_dest_types); ++ IIFORMAT_HAS_METHOD (gtk_resource, instantiate); ++ ++ IIFORMAT_REINIT_KEYWORD (gtk_resource, Q_resource_type, check_valid_resource_symbol); ++ IIFORMAT_REINIT_KEYWORD (gtk_resource, Q_resource_id, check_valid_resource_id); ++ IIFORMAT_REINIT_KEYWORD (gtk_resource, Q_file, check_valid_string); ++ ++ IIFORMAT_HAS_METHOD (autodetect, validate); ++ IIFORMAT_HAS_METHOD (autodetect, normalize); ++ IIFORMAT_HAS_METHOD (autodetect, possible_dest_types); ++ IIFORMAT_HAS_METHOD (autodetect, instantiate); ++ ++ IIFORMAT_REINIT_KEYWORD (autodetect, Q_data, check_valid_string); ++} ++#endif ++ + void + vars_of_glyphs_gtk (void) + { +diff -urNad /home/mohura/debsrc/xemacs21-21.4.15/src/glyphs-msw.c xemacs21-21.4.15/src/glyphs-msw.c +--- /home/mohura/debsrc/xemacs21-21.4.15/src/glyphs-msw.c 2002-11-01 00:08:09.000000000 +0900 ++++ xemacs21-21.4.15/src/glyphs-msw.c 2004-07-25 18:31:43.000000000 +0900 +@@ -3231,6 +3231,14 @@ + void + console_type_create_glyphs_mswindows (void) + { ++#ifdef __ia64__ ++ console_type_reinit_glyphs_mswindows (); ++} ++ ++void ++console_type_reinit_glyphs_mswindows (void) ++{ ++#endif + /* image methods - display */ + CONSOLE_HAS_METHOD (mswindows, print_image_instance); + CONSOLE_HAS_METHOD (mswindows, finalize_image_instance); +@@ -3358,6 +3366,32 @@ + IIFORMAT_VALID_CONSOLE2 (mswindows, msprinter, mswindows_resource); + } + ++#ifdef __ia64__ ++void ++image_instantiator_format_reinit_glyphs_mswindows (void) ++{ ++ /* image-instantiator types */ ++ ++ IIFORMAT_HAS_METHOD (bmp, validate); ++ IIFORMAT_HAS_METHOD (bmp, normalize); ++ IIFORMAT_HAS_METHOD (bmp, possible_dest_types); ++ IIFORMAT_HAS_METHOD (bmp, instantiate); ++ ++ IIFORMAT_REINIT_KEYWORD (bmp, Q_data, check_valid_string); ++ IIFORMAT_REINIT_KEYWORD (bmp, Q_file, check_valid_string); ++ ++ IIFORMAT_HAS_METHOD (mswindows_resource, validate); ++ IIFORMAT_HAS_METHOD (mswindows_resource, normalize); ++ IIFORMAT_HAS_METHOD (mswindows_resource, possible_dest_types); ++ IIFORMAT_HAS_METHOD (mswindows_resource, instantiate); ++ ++ IIFORMAT_REINIT_KEYWORD (mswindows_resource, Q_resource_type, ++ check_valid_resource_symbol); ++ IIFORMAT_REINIT_KEYWORD (mswindows_resource, Q_resource_id, check_valid_resource_id); ++ IIFORMAT_REINIT_KEYWORD (mswindows_resource, Q_file, check_valid_string); ++} ++#endif /* __ia64__ */ ++ + void + vars_of_glyphs_mswindows (void) + { +diff -urNad /home/mohura/debsrc/xemacs21-21.4.15/src/glyphs-widget.c xemacs21-21.4.15/src/glyphs-widget.c +--- /home/mohura/debsrc/xemacs21-21.4.15/src/glyphs-widget.c 2002-11-07 15:04:44.000000000 +0900 ++++ xemacs21-21.4.15/src/glyphs-widget.c 2004-07-25 18:31:43.000000000 +0900 +@@ -1713,10 +1713,58 @@ + IIFORMAT_VALID_KEYWORD (type, Q_face, check_valid_face); \ + } while (0) + ++#ifdef __ia64__ ++#define REINIT_GUI_KEYWORDS(type) do { \ ++ IIFORMAT_REINIT_KEYWORD (type, Q_active, check_valid_anything); \ ++ IIFORMAT_REINIT_KEYWORD (type, Q_suffix, check_valid_anything); \ ++ IIFORMAT_REINIT_KEYWORD (type, Q_keys, check_valid_string); \ ++ IIFORMAT_REINIT_KEYWORD (type, Q_style, check_valid_symbol); \ ++ IIFORMAT_REINIT_KEYWORD (type, Q_selected, check_valid_anything); \ ++ IIFORMAT_REINIT_KEYWORD (type, Q_filter, check_valid_anything); \ ++ IIFORMAT_REINIT_KEYWORD (type, Q_config, check_valid_symbol); \ ++ IIFORMAT_REINIT_KEYWORD (type, Q_included, check_valid_anything); \ ++ IIFORMAT_REINIT_KEYWORD (type, Q_initial_focus, check_valid_anything); \ ++ IIFORMAT_REINIT_KEYWORD (type, Q_key_sequence, check_valid_string); \ ++ IIFORMAT_REINIT_KEYWORD (type, Q_accelerator, check_valid_string); \ ++ IIFORMAT_REINIT_KEYWORD (type, Q_label, check_valid_anything); \ ++ IIFORMAT_REINIT_KEYWORD (type, Q_callback, check_valid_callback); \ ++ IIFORMAT_REINIT_KEYWORD (type, Q_callback_ex, check_valid_callback); \ ++ IIFORMAT_REINIT_KEYWORD (type, Q_descriptor, \ ++ check_valid_string_or_vector); \ ++} while (0) ++ ++#define REINIT_WIDGET_KEYWORDS(type) do { \ ++ IIFORMAT_REINIT_KEYWORD (type, Q_width, check_valid_int); \ ++ IIFORMAT_REINIT_KEYWORD (type, Q_height, check_valid_int); \ ++ IIFORMAT_REINIT_KEYWORD (type, Q_pixel_width, check_valid_int_or_function); \ ++ IIFORMAT_REINIT_KEYWORD (type, Q_pixel_height, check_valid_int_or_function); \ ++ IIFORMAT_REINIT_KEYWORD (type, Q_face, check_valid_face); \ ++} while (0) ++ ++static void image_instantiator_reinit_widget (void); ++static void image_instantiator_reinit_buttons (void); ++static void image_instantiator_reinit_edit_fields (void); ++static void image_instantiator_reinit_combo_box (void); ++static void image_instantiator_reinit_scrollbar (void); ++static void image_instantiator_reinit_progress_guage (void); ++static void image_instantiator_reinit_tree_view (void); ++static void image_instantiator_reinit_tab_control (void); ++static void image_instantiator_reinit_labels (void); ++static void image_instantiator_reinit_layout (void); ++static void image_instantiator_reinit_native_layout (void); ++#endif + + static void image_instantiator_widget (void) + { /* we only do this for properties */ + INITIALIZE_IMAGE_INSTANTIATOR_FORMAT_NO_SYM (widget, "widget"); ++#ifdef __ia64__ ++ image_instantiator_reinit_widget (); ++} ++ ++static void ++image_instantiator_reinit_widget (void) ++{ ++#endif + IIFORMAT_HAS_METHOD (widget, property); + IIFORMAT_HAS_METHOD (widget, update); + IIFORMAT_HAS_METHOD (widget, query_geometry); +@@ -1739,6 +1787,24 @@ + VALID_GUI_KEYWORDS (button); + } + ++#ifdef __ia64__ ++static void ++image_instantiator_reinit_buttons (void) ++{ ++ IIFORMAT_HAS_SHARED_METHOD (button, validate, widget); ++ IIFORMAT_HAS_SHARED_METHOD (button, possible_dest_types, widget); ++ IIFORMAT_HAS_SHARED_METHOD (button, instantiate, widget); ++ IIFORMAT_HAS_SHARED_METHOD (button, post_instantiate, widget); ++ IIFORMAT_HAS_SHARED_METHOD (button, normalize, widget); ++ IIFORMAT_HAS_SHARED_METHOD (button, governing_domain, subwindow); ++ IIFORMAT_HAS_METHOD (button, query_geometry); ++ IIFORMAT_REINIT_KEYWORD (button, ++ Q_image, check_valid_instantiator); ++ REINIT_WIDGET_KEYWORDS (button); ++ REINIT_GUI_KEYWORDS (button); ++} ++#endif ++ + static void image_instantiator_edit_fields (void) + { + INITIALIZE_IMAGE_INSTANTIATOR_FORMAT (edit_field, "edit-field"); +@@ -1752,6 +1818,20 @@ + VALID_GUI_KEYWORDS (edit_field); + } + ++#ifdef __ia64__ ++static void ++image_instantiator_reinit_edit_fields (void) ++{ ++ IIFORMAT_HAS_SHARED_METHOD (edit_field, validate, widget); ++ IIFORMAT_HAS_SHARED_METHOD (edit_field, possible_dest_types, widget); ++ IIFORMAT_HAS_SHARED_METHOD (edit_field, instantiate, widget); ++ IIFORMAT_HAS_SHARED_METHOD (edit_field, post_instantiate, widget); ++ IIFORMAT_HAS_SHARED_METHOD (edit_field, governing_domain, subwindow); ++ REINIT_WIDGET_KEYWORDS (edit_field); ++ REINIT_GUI_KEYWORDS (edit_field); ++} ++#endif ++ + static void image_instantiator_combo_box (void) + { + INITIALIZE_IMAGE_INSTANTIATOR_FORMAT (combo_box, "combo-box"); +@@ -1769,6 +1849,25 @@ + IIFORMAT_VALID_KEYWORD (combo_box, Q_items, check_valid_item_list); + } + ++#ifdef __ia64__ ++static void ++image_instantiator_reinit_combo_box (void) ++{ ++ IIFORMAT_HAS_METHOD (combo_box, validate); ++ IIFORMAT_HAS_SHARED_METHOD (combo_box, possible_dest_types, widget); ++ IIFORMAT_HAS_SHARED_METHOD (combo_box, governing_domain, subwindow); ++ ++ REINIT_GUI_KEYWORDS (combo_box); ++ ++ IIFORMAT_REINIT_KEYWORD (combo_box, Q_width, check_valid_int); ++ IIFORMAT_REINIT_KEYWORD (combo_box, Q_height, check_valid_int); ++ IIFORMAT_REINIT_KEYWORD (combo_box, Q_pixel_width, ++ check_valid_int_or_function); ++ IIFORMAT_REINIT_KEYWORD (combo_box, Q_face, check_valid_face); ++ IIFORMAT_REINIT_KEYWORD (combo_box, Q_items, check_valid_item_list); ++} ++#endif ++ + static void image_instantiator_scrollbar (void) + { + INITIALIZE_IMAGE_INSTANTIATOR_FORMAT (scrollbar, "scrollbar"); +@@ -1786,6 +1885,25 @@ + IIFORMAT_VALID_KEYWORD (scrollbar, Q_face, check_valid_face); + } + ++#ifdef __ia64__ ++static void ++image_instantiator_reinit_scrollbar (void) ++{ ++ IIFORMAT_HAS_SHARED_METHOD (scrollbar, validate, widget); ++ IIFORMAT_HAS_SHARED_METHOD (scrollbar, possible_dest_types, widget); ++ IIFORMAT_HAS_SHARED_METHOD (scrollbar, instantiate, widget); ++ IIFORMAT_HAS_SHARED_METHOD (scrollbar, post_instantiate, widget); ++ IIFORMAT_HAS_SHARED_METHOD (scrollbar, governing_domain, subwindow); ++ REINIT_GUI_KEYWORDS (scrollbar); ++ ++ IIFORMAT_REINIT_KEYWORD (scrollbar, Q_pixel_width, ++ check_valid_int_or_function); ++ IIFORMAT_REINIT_KEYWORD (scrollbar, Q_pixel_height, ++ check_valid_int_or_function); ++ IIFORMAT_REINIT_KEYWORD (scrollbar, Q_face, check_valid_face); ++} ++#endif ++ + static void image_instantiator_progress_guage (void) + { + INITIALIZE_IMAGE_INSTANTIATOR_FORMAT (progress_gauge, "progress-gauge"); +@@ -1800,6 +1918,22 @@ + IIFORMAT_VALID_KEYWORD (progress_gauge, Q_value, check_valid_int); + } + ++#ifdef __ia64__ ++static void ++image_instantiator_reinit_progress_guage (void) ++{ ++ IIFORMAT_HAS_SHARED_METHOD (progress_gauge, validate, widget); ++ IIFORMAT_HAS_SHARED_METHOD (progress_gauge, possible_dest_types, widget); ++ IIFORMAT_HAS_SHARED_METHOD (progress_gauge, instantiate, widget); ++ IIFORMAT_HAS_SHARED_METHOD (progress_gauge, post_instantiate, widget); ++ IIFORMAT_HAS_SHARED_METHOD (progress_gauge, governing_domain, subwindow); ++ REINIT_WIDGET_KEYWORDS (progress_gauge); ++ REINIT_GUI_KEYWORDS (progress_gauge); ++ ++ IIFORMAT_REINIT_KEYWORD (progress_gauge, Q_value, check_valid_int); ++} ++#endif ++ + static void image_instantiator_tree_view (void) + { + INITIALIZE_IMAGE_INSTANTIATOR_FORMAT (tree_view, "tree-view"); +@@ -1814,6 +1948,22 @@ + IIFORMAT_VALID_KEYWORD (tree_view, Q_items, check_valid_item_list); + } + ++#ifdef __ia64__ ++static void ++image_instantiator_reinit_tree_view (void) ++{ ++ IIFORMAT_HAS_SHARED_METHOD (tree_view, validate, combo_box); ++ IIFORMAT_HAS_SHARED_METHOD (tree_view, possible_dest_types, widget); ++ IIFORMAT_HAS_SHARED_METHOD (tree_view, instantiate, widget); ++ IIFORMAT_HAS_SHARED_METHOD (tree_view, post_instantiate, widget); ++ IIFORMAT_HAS_SHARED_METHOD (tree_view, governing_domain, subwindow); ++ IIFORMAT_HAS_METHOD (tree_view, query_geometry); ++ REINIT_WIDGET_KEYWORDS (tree_view); ++ REINIT_GUI_KEYWORDS (tree_view); ++ IIFORMAT_REINIT_KEYWORD (tree_view, Q_items, check_valid_item_list); ++} ++#endif ++ + static void image_instantiator_tab_control (void) + { + INITIALIZE_IMAGE_INSTANTIATOR_FORMAT (tab_control, "tab-control"); +@@ -1830,6 +1980,24 @@ + IIFORMAT_VALID_KEYWORD (tab_control, Q_items, check_valid_item_list); + } + ++#ifdef __ia64__ ++static void ++image_instantiator_reinit_tab_control (void) ++{ ++ IIFORMAT_HAS_SHARED_METHOD (tab_control, validate, combo_box); ++ IIFORMAT_HAS_SHARED_METHOD (tab_control, possible_dest_types, widget); ++ IIFORMAT_HAS_SHARED_METHOD (tab_control, instantiate, widget); ++ IIFORMAT_HAS_SHARED_METHOD (tab_control, post_instantiate, widget); ++ IIFORMAT_HAS_SHARED_METHOD (tab_control, governing_domain, subwindow); ++ IIFORMAT_HAS_METHOD (tab_control, query_geometry); ++ REINIT_WIDGET_KEYWORDS (tab_control); ++ REINIT_GUI_KEYWORDS (tab_control); ++ IIFORMAT_REINIT_KEYWORD (tab_control, Q_orientation, ++ check_valid_tab_orientation); ++ IIFORMAT_REINIT_KEYWORD (tab_control, Q_items, check_valid_item_list); ++} ++#endif ++ + static void image_instantiator_labels (void) + { + INITIALIZE_IMAGE_INSTANTIATOR_FORMAT (label, "label"); +@@ -1841,6 +2009,19 @@ + IIFORMAT_VALID_KEYWORD (label, Q_descriptor, check_valid_string); + } + ++#ifdef __ia64__ ++static void ++image_instantiator_reinit_labels (void) ++{ ++ IIFORMAT_HAS_SHARED_METHOD (label, possible_dest_types, widget); ++ IIFORMAT_HAS_SHARED_METHOD (label, instantiate, widget); ++ IIFORMAT_HAS_SHARED_METHOD (label, post_instantiate, widget); ++ IIFORMAT_HAS_SHARED_METHOD (label, governing_domain, subwindow); ++ REINIT_WIDGET_KEYWORDS (label); ++ IIFORMAT_REINIT_KEYWORD (label, Q_descriptor, check_valid_string); ++} ++#endif ++ + #define VALID_LAYOUT_KEYWORDS(layout) \ + VALID_WIDGET_KEYWORDS (layout); \ + IIFORMAT_VALID_KEYWORD (layout, Q_orientation, check_valid_orientation); \ +@@ -1852,6 +2033,17 @@ + IIFORMAT_VALID_KEYWORD (layout, Q_items, \ + check_valid_instantiator_list) + ++#ifdef __ia64__ ++#define REINIT_LAYOUT_KEYWORDS(layout) \ ++ REINIT_WIDGET_KEYWORDS (layout); \ ++ IIFORMAT_REINIT_KEYWORD (layout, Q_orientation, check_valid_orientation); \ ++ IIFORMAT_REINIT_KEYWORD (layout, Q_justify, check_valid_justification); \ ++ IIFORMAT_REINIT_KEYWORD (layout, Q_border, check_valid_border); \ ++ IIFORMAT_REINIT_KEYWORD (layout, Q_margin_width, check_valid_int); \ ++ IIFORMAT_REINIT_KEYWORD (layout, Q_items, \ ++ check_valid_instantiator_list) ++#endif ++ + static void image_instantiator_layout (void) + { + INITIALIZE_IMAGE_INSTANTIATOR_FORMAT (layout, "layout"); +@@ -1869,6 +2061,25 @@ + VALID_LAYOUT_KEYWORDS (layout); + } + ++#ifdef __ia64__ ++static void ++image_instantiator_reinit_layout (void) ++{ ++ IIFORMAT_HAS_SHARED_METHOD (layout, possible_dest_types, widget); ++ IIFORMAT_HAS_METHOD (layout, instantiate); ++ IIFORMAT_HAS_METHOD (layout, post_instantiate); ++ IIFORMAT_HAS_SHARED_METHOD (layout, governing_domain, subwindow); ++ IIFORMAT_HAS_METHOD (layout, normalize); ++ IIFORMAT_HAS_METHOD (layout, query_geometry); ++ IIFORMAT_HAS_METHOD (layout, layout); ++ IIFORMAT_HAS_METHOD (layout, update); ++ IIFORMAT_HAS_METHOD (layout, property); ++ ++ REINIT_GUI_KEYWORDS (layout); ++ REINIT_LAYOUT_KEYWORDS (layout); ++} ++#endif ++ + static void image_instantiator_native_layout (void) + { + INITIALIZE_IMAGE_INSTANTIATOR_FORMAT (native_layout, "native-layout"); +@@ -1886,6 +2097,25 @@ + VALID_LAYOUT_KEYWORDS (native_layout); + } + ++#ifdef __ia64__ ++static void ++image_instantiator_reinit_native_layout (void) ++{ ++ IIFORMAT_HAS_SHARED_METHOD (native_layout, possible_dest_types, widget); ++ IIFORMAT_HAS_SHARED_METHOD (native_layout, instantiate, layout); ++ IIFORMAT_HAS_SHARED_METHOD (native_layout, post_instantiate, layout); ++ IIFORMAT_HAS_METHOD (native_layout, layout); ++ IIFORMAT_HAS_SHARED_METHOD (native_layout, governing_domain, subwindow); ++ IIFORMAT_HAS_SHARED_METHOD (native_layout, normalize, layout); ++ IIFORMAT_HAS_SHARED_METHOD (native_layout, query_geometry, layout); ++ IIFORMAT_HAS_SHARED_METHOD (native_layout, layout, layout); ++ IIFORMAT_HAS_SHARED_METHOD (native_layout, property, layout); ++ ++ REINIT_GUI_KEYWORDS (native_layout); ++ REINIT_LAYOUT_KEYWORDS (native_layout); ++} ++#endif ++ + void + image_instantiator_format_create_glyphs_widget (void) + { +@@ -1902,6 +2132,24 @@ + image_instantiator_native_layout(); + } + ++#ifdef __ia64__ ++void ++image_instantiator_format_reinit_glyphs_widget (void) ++{ ++ image_instantiator_reinit_widget(); ++ image_instantiator_reinit_buttons(); ++ image_instantiator_reinit_edit_fields(); ++ image_instantiator_reinit_combo_box(); ++ image_instantiator_reinit_scrollbar(); ++ image_instantiator_reinit_progress_guage(); ++ image_instantiator_reinit_tree_view(); ++ image_instantiator_reinit_tab_control(); ++ image_instantiator_reinit_labels(); ++ image_instantiator_reinit_layout(); ++ image_instantiator_reinit_native_layout(); ++} ++#endif ++ + void + reinit_vars_of_glyphs_widget (void) + { +diff -urNad /home/mohura/debsrc/xemacs21-21.4.15/src/glyphs-x.c xemacs21-21.4.15/src/glyphs-x.c +--- /home/mohura/debsrc/xemacs21-21.4.15/src/glyphs-x.c 2002-11-01 00:08:15.000000000 +0900 ++++ xemacs21-21.4.15/src/glyphs-x.c 2004-07-25 18:31:43.000000000 +0900 +@@ -2892,6 +2892,14 @@ + void + console_type_create_glyphs_x (void) + { ++#ifdef __ia64__ ++ console_type_reinit_glyphs_x (); ++} ++ ++void ++console_type_reinit_glyphs_x (void) ++{ ++#endif + /* image methods */ + + CONSOLE_HAS_METHOD (x, print_image_instance); +@@ -3022,6 +3030,64 @@ + IIFORMAT_VALID_KEYWORD (autodetect, Q_data, check_valid_string); + } + ++#ifdef __ia64__ ++void ++image_instantiator_format_reinit_glyphs_x (void) ++{ ++#ifdef HAVE_XPM ++ IIFORMAT_HAS_DEVMETHOD (x, xpm, instantiate); ++#endif ++ IIFORMAT_HAS_DEVMETHOD (x, xbm, instantiate); ++ IIFORMAT_HAS_DEVMETHOD (x, subwindow, instantiate); ++#ifdef HAVE_WIDGETS ++ IIFORMAT_HAS_DEVMETHOD (x, native_layout, instantiate); ++ IIFORMAT_HAS_DEVMETHOD (x, button, property); ++ IIFORMAT_HAS_DEVMETHOD (x, button, instantiate); ++ IIFORMAT_HAS_DEVMETHOD (x, button, redisplay); ++ IIFORMAT_HAS_DEVMETHOD (x, widget, property); ++ IIFORMAT_HAS_DEVMETHOD (x, progress_gauge, redisplay); ++ IIFORMAT_HAS_DEVMETHOD (x, progress_gauge, instantiate); ++ IIFORMAT_HAS_DEVMETHOD (x, edit_field, instantiate); ++#if defined (LWLIB_WIDGETS_MOTIF) && XmVERSION > 1 ++ IIFORMAT_HAS_DEVMETHOD (x, combo_box, instantiate); ++ IIFORMAT_HAS_SHARED_DEVMETHOD (x, combo_box, redisplay, tab_control); ++#endif ++ IIFORMAT_HAS_DEVMETHOD (x, tab_control, instantiate); ++ IIFORMAT_HAS_DEVMETHOD (x, tab_control, redisplay); ++ IIFORMAT_HAS_DEVMETHOD (x, label, instantiate); ++#endif ++ ++ IIFORMAT_HAS_METHOD (cursor_font, validate); ++ IIFORMAT_HAS_METHOD (cursor_font, possible_dest_types); ++ IIFORMAT_HAS_METHOD (cursor_font, instantiate); ++ ++ IIFORMAT_REINIT_KEYWORD (cursor_font, Q_data, check_valid_string); ++ IIFORMAT_REINIT_KEYWORD (cursor_font, Q_foreground, check_valid_string); ++ IIFORMAT_REINIT_KEYWORD (cursor_font, Q_background, check_valid_string); ++ ++ IIFORMAT_HAS_METHOD (font, validate); ++ IIFORMAT_HAS_METHOD (font, possible_dest_types); ++ IIFORMAT_HAS_METHOD (font, instantiate); ++ ++ IIFORMAT_REINIT_KEYWORD (font, Q_data, check_valid_string); ++ IIFORMAT_REINIT_KEYWORD (font, Q_foreground, check_valid_string); ++ IIFORMAT_REINIT_KEYWORD (font, Q_background, check_valid_string); ++ ++#ifdef HAVE_XFACE ++ IIFORMAT_HAS_DEVMETHOD (x, xface, instantiate); ++#endif ++ ++ IIFORMAT_HAS_METHOD (autodetect, validate); ++ IIFORMAT_HAS_METHOD (autodetect, normalize); ++ IIFORMAT_HAS_METHOD (autodetect, possible_dest_types); ++ ++ IIFORMAT_HAS_SHARED_METHOD (autodetect, governing_domain, subwindow); ++ IIFORMAT_HAS_METHOD (autodetect, instantiate); ++ ++ IIFORMAT_REINIT_KEYWORD (autodetect, Q_data, check_valid_string); ++} ++#endif /* __ia64__ */ ++ + void + vars_of_glyphs_x (void) + { +diff -urNad /home/mohura/debsrc/xemacs21-21.4.15/src/glyphs.c xemacs21-21.4.15/src/glyphs.c +--- /home/mohura/debsrc/xemacs21-21.4.15/src/glyphs.c 2003-01-03 18:59:46.000000000 +0900 ++++ xemacs21-21.4.15/src/glyphs.c 2004-07-25 18:31:43.000000000 +0900 +@@ -5100,6 +5100,14 @@ + + INITIALIZE_SPECIFIER_TYPE_WITH_DATA (image, "image", "imagep"); + ++#ifdef __ia64__ ++ specifier_type_reinit_image (); ++} ++ ++void ++specifier_type_reinit_image (void) ++{ ++#endif + SPECIFIER_HAS_METHOD (image, create); + SPECIFIER_HAS_METHOD (image, mark); + SPECIFIER_HAS_METHOD (image, instantiate); +@@ -5280,6 +5288,84 @@ + #endif /* HAVE_XPM */ + } + ++#ifdef __ia64__ ++void ++image_instantiator_format_reinit (void) ++{ ++ IIFORMAT_HAS_METHOD (nothing, possible_dest_types); ++ IIFORMAT_HAS_METHOD (nothing, instantiate); ++ ++ IIFORMAT_HAS_METHOD (inherit, validate); ++ IIFORMAT_HAS_METHOD (inherit, normalize); ++ IIFORMAT_HAS_METHOD (inherit, possible_dest_types); ++ IIFORMAT_HAS_METHOD (inherit, instantiate); ++ ++ IIFORMAT_REINIT_KEYWORD (inherit, Q_face, check_valid_face); ++ ++ IIFORMAT_HAS_METHOD (string, validate); ++ IIFORMAT_HAS_SHARED_METHOD (string, governing_domain, subwindow); ++ IIFORMAT_HAS_METHOD (string, possible_dest_types); ++ IIFORMAT_HAS_METHOD (string, instantiate); ++ ++ IIFORMAT_REINIT_KEYWORD (string, Q_data, check_valid_string); ++ ++ IIFORMAT_HAS_METHOD (text, update); ++ IIFORMAT_HAS_METHOD (text, query_geometry); ++ ++ IIFORMAT_HAS_METHOD (formatted_string, validate); ++ IIFORMAT_HAS_METHOD (formatted_string, possible_dest_types); ++ IIFORMAT_HAS_METHOD (formatted_string, instantiate); ++ IIFORMAT_REINIT_KEYWORD (formatted_string, Q_data, check_valid_string); ++ ++ IIFORMAT_HAS_SHARED_METHOD (pointer, query_geometry, subwindow); ++ ++ IIFORMAT_HAS_METHOD (subwindow, possible_dest_types); ++ IIFORMAT_HAS_METHOD (subwindow, governing_domain); ++ IIFORMAT_HAS_METHOD (subwindow, instantiate); ++ IIFORMAT_HAS_METHOD (subwindow, query_geometry); ++ IIFORMAT_REINIT_KEYWORD (subwindow, Q_pixel_width, check_valid_int); ++ IIFORMAT_REINIT_KEYWORD (subwindow, Q_pixel_height, check_valid_int); ++ ++#ifdef HAVE_WINDOW_SYSTEM ++ IIFORMAT_HAS_METHOD (xbm, validate); ++ IIFORMAT_HAS_METHOD (xbm, normalize); ++ IIFORMAT_HAS_METHOD (xbm, possible_dest_types); ++ ++ IIFORMAT_REINIT_KEYWORD (xbm, Q_data, check_valid_xbm_inline); ++ IIFORMAT_REINIT_KEYWORD (xbm, Q_file, check_valid_string); ++ IIFORMAT_REINIT_KEYWORD (xbm, Q_mask_data, check_valid_xbm_inline); ++ IIFORMAT_REINIT_KEYWORD (xbm, Q_mask_file, check_valid_string); ++ IIFORMAT_REINIT_KEYWORD (xbm, Q_hotspot_x, check_valid_int); ++ IIFORMAT_REINIT_KEYWORD (xbm, Q_hotspot_y, check_valid_int); ++ IIFORMAT_REINIT_KEYWORD (xbm, Q_foreground, check_valid_string); ++ IIFORMAT_REINIT_KEYWORD (xbm, Q_background, check_valid_string); ++#endif /* HAVE_WINDOW_SYSTEM */ ++ ++#ifdef HAVE_XFACE ++ IIFORMAT_HAS_METHOD (xface, validate); ++ IIFORMAT_HAS_METHOD (xface, normalize); ++ IIFORMAT_HAS_METHOD (xface, possible_dest_types); ++ ++ IIFORMAT_REINIT_KEYWORD (xface, Q_data, check_valid_string); ++ IIFORMAT_REINIT_KEYWORD (xface, Q_file, check_valid_string); ++ IIFORMAT_REINIT_KEYWORD (xface, Q_hotspot_x, check_valid_int); ++ IIFORMAT_REINIT_KEYWORD (xface, Q_hotspot_y, check_valid_int); ++ IIFORMAT_REINIT_KEYWORD (xface, Q_foreground, check_valid_string); ++ IIFORMAT_REINIT_KEYWORD (xface, Q_background, check_valid_string); ++#endif ++ ++#ifdef HAVE_XPM ++ IIFORMAT_HAS_METHOD (xpm, validate); ++ IIFORMAT_HAS_METHOD (xpm, normalize); ++ IIFORMAT_HAS_METHOD (xpm, possible_dest_types); ++ ++ IIFORMAT_REINIT_KEYWORD (xpm, Q_data, check_valid_string); ++ IIFORMAT_REINIT_KEYWORD (xpm, Q_file, check_valid_string); ++ IIFORMAT_REINIT_KEYWORD (xpm, Q_color_symbols, check_valid_xpm_color_symbols); ++#endif /* HAVE_XPM */ ++} ++#endif ++ + void + reinit_vars_of_glyphs (void) + { +@@ -5435,6 +5521,15 @@ + 0, 0, 0); + } + ++#ifdef __ia64__ ++void ++specifier_reinit_glyphs (void) ++{ ++ reinit_specifier_caching (Vcurrent_display_table, ++ some_window_value_changed, 0); ++} ++#endif ++ + void + complex_vars_of_glyphs (void) + { +diff -urNad /home/mohura/debsrc/xemacs21-21.4.15/src/glyphs.h xemacs21-21.4.15/src/glyphs.h +--- /home/mohura/debsrc/xemacs21-21.4.15/src/glyphs.h 2002-11-01 00:08:19.000000000 +0900 ++++ xemacs21-21.4.15/src/glyphs.h 2004-07-25 18:31:43.000000000 +0900 +@@ -267,6 +267,22 @@ + entry); \ + } while (0) + ++#ifdef __ia64__ ++#define IIFORMAT_REINIT_KEYWORD(format, keyw, validate_fun) \ ++ do { \ ++ int j; \ ++ struct image_instantiator_methods *meths; \ ++ \ ++ meths = format##_image_instantiator_methods; \ ++ for (j = 0; j < Dynarr_length (meths->keywords); j++) \ ++ if (EQ (keyw, Dynarr_at (meths->keywords, j).keyword)) \ ++ { \ ++ Dynarr_at (meths->keywords, j).validate = validate_fun; \ ++ break; \ ++ } \ ++ } while (0) ++#endif ++ + #define IIFORMAT_VALID_KEYWORD(format, keyw, validate_fun) \ + IIFORMAT_VALID_GENERIC_KEYWORD(format, keyw, validate_fun, 1, 0) + +diff -urNad /home/mohura/debsrc/xemacs21-21.4.15/src/gutter.c xemacs21-21.4.15/src/gutter.c +--- /home/mohura/debsrc/xemacs21-21.4.15/src/gutter.c 2002-08-20 20:37:31.000000000 +0900 ++++ xemacs21-21.4.15/src/gutter.c 2004-07-25 18:31:43.000000000 +0900 +@@ -1168,6 +1168,19 @@ + SPECIFIER_HAS_METHOD (gutter_visible, validate); + } + ++#ifdef __ia64__ ++void ++specifier_type_reinit_gutter (void) ++{ ++ SPECIFIER_HAS_METHOD (gutter, validate); ++ SPECIFIER_HAS_METHOD (gutter, after_change); ++ ++ SPECIFIER_HAS_METHOD (gutter_size, validate); ++ ++ SPECIFIER_HAS_METHOD (gutter_visible, validate); ++} ++#endif ++ + void + reinit_specifier_type_create_gutter (void) + { +@@ -1608,3 +1621,50 @@ + set_specifier_fallback (Vgutter_visible_p[LEFT_GUTTER], fb); + set_specifier_fallback (Vgutter_visible_p[RIGHT_GUTTER], fb); + } ++ ++#ifdef __ia64 ++void ++specifier_reinit_gutter (void) ++{ ++ reinit_specifier_caching (Vgutter[TOP_GUTTER], ++ top_gutter_specs_changed, 0); ++ reinit_specifier_caching (Vgutter[BOTTOM_GUTTER], ++ bottom_gutter_specs_changed, 0); ++ reinit_specifier_caching (Vgutter[LEFT_GUTTER], ++ left_gutter_specs_changed, 0); ++ reinit_specifier_caching (Vgutter_visible_p[RIGHT_GUTTER], ++ right_gutter_specs_changed, 0); ++ reinit_specifier_caching (Vdefault_gutter_height, ++ default_gutter_size_changed_in_window, 0); ++ reinit_specifier_caching (Vdefault_gutter_width, ++ default_gutter_size_changed_in_window, 0); ++ reinit_specifier_caching (Vgutter_size[TOP_GUTTER], ++ gutter_geometry_changed_in_window, 0); ++ reinit_specifier_caching (Vgutter_size[BOTTOM_GUTTER], ++ gutter_geometry_changed_in_window, 0); ++ reinit_specifier_caching (Vgutter_size[LEFT_GUTTER], ++ gutter_geometry_changed_in_window, 0); ++ reinit_specifier_caching (Vgutter_size[RIGHT_GUTTER], ++ gutter_geometry_changed_in_window, 0); ++ reinit_specifier_caching (Vdefault_gutter_border_width, ++ default_gutter_border_width_changed_in_window, 0); ++ reinit_specifier_caching (Vgutter_border_width[TOP_GUTTER], ++ gutter_geometry_changed_in_window, 0); ++ reinit_specifier_caching (Vgutter_border_width[BOTTOM_GUTTER], ++ gutter_geometry_changed_in_window, 0); ++ reinit_specifier_caching (Vgutter_border_width[LEFT_GUTTER], ++ gutter_geometry_changed_in_window, 0); ++ reinit_specifier_caching (Vgutter_border_width[RIGHT_GUTTER], ++ gutter_geometry_changed_in_window, 0); ++ reinit_specifier_caching (Vdefault_gutter_visible_p, ++ default_gutter_visible_p_changed_in_window, 0); ++ reinit_specifier_caching (Vgutter_visible_p[TOP_GUTTER], ++ top_gutter_specs_changed, 0); ++ reinit_specifier_caching (Vgutter_visible_p[BOTTOM_GUTTER], ++ bottom_gutter_specs_changed, 0); ++ reinit_specifier_caching (Vgutter_visible_p[LEFT_GUTTER], ++ left_gutter_specs_changed, 0); ++ reinit_specifier_caching (Vgutter_visible_p[RIGHT_GUTTER], ++ right_gutter_specs_changed, 0); ++} ++#endif +diff -urNad /home/mohura/debsrc/xemacs21-21.4.15/src/lisp.h xemacs21-21.4.15/src/lisp.h +--- /home/mohura/debsrc/xemacs21-21.4.15/src/lisp.h 2003-03-21 12:36:27.000000000 +0900 ++++ xemacs21-21.4.15/src/lisp.h 2004-07-25 18:31:43.000000000 +0900 +@@ -1628,6 +1628,20 @@ + Lisp_Object value, + Error_behavior errb)); + ++#ifdef __ia64__ ++struct structure_type *reinit_structure_type (Lisp_Object type, ++ int (*validate) ++ (Lisp_Object data, ++ Error_behavior errb), ++ Lisp_Object (*instantiate) ++ (Lisp_Object data)); ++void reinit_structure_type_keyword (struct structure_type *st, ++ Lisp_Object keyword, ++ int (*validate) (Lisp_Object keyword, ++ Lisp_Object value, ++ Error_behavior errb)); ++#endif ++ + /*---------------------------- weak lists ------------------------------*/ + + enum weak_list_type +diff -urNad /home/mohura/debsrc/xemacs21-21.4.15/src/lread.c xemacs21-21.4.15/src/lread.c +--- /home/mohura/debsrc/xemacs21-21.4.15/src/lread.c 2002-08-12 23:56:39.000000000 +0900 ++++ xemacs21-21.4.15/src/lread.c 2004-07-25 18:31:43.000000000 +0900 +@@ -2096,6 +2096,49 @@ + Dynarr_add (st->keywords, en); + } + ++#ifdef __ia64__ ++struct structure_type * ++reinit_structure_type (Lisp_Object type, ++ int (*validate) (Lisp_Object data, ++ Error_behavior errb), ++ Lisp_Object (*instantiate) (Lisp_Object data)) ++{ ++ int i; ++ ++ for (i = 0; i < Dynarr_length (the_structure_type_dynarr); i++) ++ { ++ struct structure_type *st = Dynarr_atp (the_structure_type_dynarr, i); ++ if (EQ (st->type, type)) ++ { ++ st->validate = validate; ++ st->instantiate = instantiate; ++ return st; ++ } ++ } ++ ++ return 0; ++} ++ ++void ++reinit_structure_type_keyword (struct structure_type *st, Lisp_Object keyword, ++ int (*validate) (Lisp_Object keyword, ++ Lisp_Object value, ++ Error_behavior errb)) ++{ ++ int i; ++ ++ for (i = 0; i < Dynarr_length (st->keywords); i++) ++ { ++ struct structure_keyword_entry *en = Dynarr_atp (st->keywords, i); ++ if (EQ (en->keyword, keyword)) ++ { ++ en->validate = validate; ++ break; ++ } ++ } ++} ++#endif ++ + static struct structure_type * + recognized_structure_type (Lisp_Object type) + { +diff -urNad /home/mohura/debsrc/xemacs21-21.4.15/src/lstream.c xemacs21-21.4.15/src/lstream.c +--- /home/mohura/debsrc/xemacs21-21.4.15/src/lstream.c 2001-04-13 03:24:00.000000000 +0900 ++++ xemacs21-21.4.15/src/lstream.c 2004-07-25 18:31:43.000000000 +0900 +@@ -1674,6 +1674,14 @@ + void + lstream_type_create (void) + { ++#ifdef __ia64__ ++ lstream_type_reinit (); ++} ++ ++void ++lstream_type_reinit (void) ++{ ++#endif + LSTREAM_HAS_METHOD (stdio, reader); + LSTREAM_HAS_METHOD (stdio, writer); + LSTREAM_HAS_METHOD (stdio, rewinder); +diff -urNad /home/mohura/debsrc/xemacs21-21.4.15/src/menubar-gtk.c xemacs21-21.4.15/src/menubar-gtk.c +--- /home/mohura/debsrc/xemacs21-21.4.15/src/menubar-gtk.c 2002-05-01 01:06:43.000000000 +0900 ++++ xemacs21-21.4.15/src/menubar-gtk.c 2004-07-25 18:31:43.000000000 +0900 +@@ -1286,6 +1286,14 @@ + void + console_type_create_menubar_gtk (void) + { ++#ifdef __ia64__ ++ console_type_reinit_menubar_gtk (); ++} ++ ++void ++console_type_reinit_menubar_gtk (void) ++{ ++#endif + CONSOLE_HAS_METHOD (gtk, update_frame_menubars); + CONSOLE_HAS_METHOD (gtk, free_frame_menubars); + CONSOLE_HAS_METHOD (gtk, popup_menu); +diff -urNad /home/mohura/debsrc/xemacs21-21.4.15/src/menubar-msw.c xemacs21-21.4.15/src/menubar-msw.c +--- /home/mohura/debsrc/xemacs21-21.4.15/src/menubar-msw.c 2002-11-01 00:08:25.000000000 +0900 ++++ xemacs21-21.4.15/src/menubar-msw.c 2004-07-25 18:31:43.000000000 +0900 +@@ -985,6 +985,14 @@ + void + console_type_create_menubar_mswindows (void) + { ++#ifdef __ia64__ ++ console_type_reinit_menubar_mswindows (); ++} ++ ++void ++console_type_reinit_menubar_mswindows (void) ++{ ++#endif + CONSOLE_HAS_METHOD (mswindows, update_frame_menubars); + CONSOLE_HAS_METHOD (mswindows, free_frame_menubars); + CONSOLE_HAS_METHOD (mswindows, popup_menu); +diff -urNad /home/mohura/debsrc/xemacs21-21.4.15/src/menubar-x.c xemacs21-21.4.15/src/menubar-x.c +--- /home/mohura/debsrc/xemacs21-21.4.15/src/menubar-x.c 2001-04-13 03:24:02.000000000 +0900 ++++ xemacs21-21.4.15/src/menubar-x.c 2004-07-25 18:31:43.000000000 +0900 +@@ -1362,6 +1362,14 @@ + void + console_type_create_menubar_x (void) + { ++#ifdef __ia64__ ++ console_type_reinit_menubar_x (); ++} ++ ++void ++console_type_reinit_menubar_x (void) ++{ ++#endif + CONSOLE_HAS_METHOD (x, update_frame_menubars); + CONSOLE_HAS_METHOD (x, free_frame_menubars); + CONSOLE_HAS_METHOD (x, popup_menu); +diff -urNad /home/mohura/debsrc/xemacs21-21.4.15/src/menubar.c xemacs21-21.4.15/src/menubar.c +--- /home/mohura/debsrc/xemacs21-21.4.15/src/menubar.c 2001-04-13 03:24:02.000000000 +0900 ++++ xemacs21-21.4.15/src/menubar.c 2004-07-25 18:31:43.000000000 +0900 +@@ -743,6 +743,16 @@ + menubar_visible_p_changed_in_frame, 0); + } + ++#ifdef __ia64__ ++void ++specifier_reinit_menubar (void) ++{ ++ reinit_specifier_caching (Vmenubar_visible_p, ++ menubar_visible_p_changed, ++ menubar_visible_p_changed_in_frame); ++} ++#endif ++ + void + complex_vars_of_menubar (void) + { +diff -urNad /home/mohura/debsrc/xemacs21-21.4.15/src/native-gtk-toolbar.c xemacs21-21.4.15/src/native-gtk-toolbar.c +--- /home/mohura/debsrc/xemacs21-21.4.15/src/native-gtk-toolbar.c 2001-04-13 03:24:06.000000000 +0900 ++++ xemacs21-21.4.15/src/native-gtk-toolbar.c 2004-07-25 18:31:43.000000000 +0900 +@@ -238,6 +238,14 @@ + void + console_type_create_toolbar_gtk (void) + { ++#ifdef __ia64__ ++ console_type_reinit_toolbar_gtk (); ++} ++ ++void ++console_type_reinit_toolbar_gtk (void) ++{ ++#endif + CONSOLE_HAS_METHOD (gtk, output_frame_toolbars); + CONSOLE_HAS_METHOD (gtk, initialize_frame_toolbars); + } +diff -urNad /home/mohura/debsrc/xemacs21-21.4.15/src/objects-gtk.c xemacs21-21.4.15/src/objects-gtk.c +--- /home/mohura/debsrc/xemacs21-21.4.15/src/objects-gtk.c 2004-07-25 17:57:51.000000000 +0900 ++++ xemacs21-21.4.15/src/objects-gtk.c 2004-07-25 18:31:43.000000000 +0900 +@@ -448,6 +448,14 @@ + void + console_type_create_objects_gtk (void) + { ++#ifdef __ia64__ ++ console_type_reinit_objects_gtk (); ++} ++ ++void ++console_type_reinit_objects_gtk (void) ++{ ++#endif + /* object methods */ + + CONSOLE_HAS_METHOD (gtk, initialize_color_instance); +diff -urNad /home/mohura/debsrc/xemacs21-21.4.15/src/objects-msw.c xemacs21-21.4.15/src/objects-msw.c +--- /home/mohura/debsrc/xemacs21-21.4.15/src/objects-msw.c 2004-07-25 17:57:51.000000000 +0900 ++++ xemacs21-21.4.15/src/objects-msw.c 2004-07-25 18:31:43.000000000 +0900 +@@ -1715,6 +1715,14 @@ + void + console_type_create_objects_mswindows (void) + { ++#ifdef __ia64__ ++ console_type_reinit_objects_mswindows (); ++} ++ ++void ++console_type_reinit_objects_mswindows (void) ++{ ++#endif + /* object methods */ + CONSOLE_HAS_METHOD (mswindows, initialize_color_instance); + /* CONSOLE_HAS_METHOD (mswindows, mark_color_instance); */ +diff -urNad /home/mohura/debsrc/xemacs21-21.4.15/src/objects-tty.c xemacs21-21.4.15/src/objects-tty.c +--- /home/mohura/debsrc/xemacs21-21.4.15/src/objects-tty.c 2004-07-25 17:57:51.000000000 +0900 ++++ xemacs21-21.4.15/src/objects-tty.c 2004-07-25 18:31:43.000000000 +0900 +@@ -353,6 +353,14 @@ + void + console_type_create_objects_tty (void) + { ++#ifdef __ia64__ ++ console_type_reinit_objects_tty (); ++} ++ ++void ++console_type_reinit_objects_tty (void) ++{ ++#endif + /* object methods */ + CONSOLE_HAS_METHOD (tty, initialize_color_instance); + CONSOLE_HAS_METHOD (tty, mark_color_instance); +diff -urNad /home/mohura/debsrc/xemacs21-21.4.15/src/objects-x.c xemacs21-21.4.15/src/objects-x.c +--- /home/mohura/debsrc/xemacs21-21.4.15/src/objects-x.c 2004-07-25 17:57:51.000000000 +0900 ++++ xemacs21-21.4.15/src/objects-x.c 2004-07-25 18:31:43.000000000 +0900 +@@ -991,6 +991,14 @@ + void + console_type_create_objects_x (void) + { ++#ifdef __ia64__ ++ console_type_reinit_objects_x (); ++} ++ ++void ++console_type_reinit_objects_x (void) ++{ ++#endif + /* object methods */ + + CONSOLE_HAS_METHOD (x, initialize_color_instance); +diff -urNad /home/mohura/debsrc/xemacs21-21.4.15/src/objects.c xemacs21-21.4.15/src/objects.c +--- /home/mohura/debsrc/xemacs21-21.4.15/src/objects.c 2004-07-25 17:57:51.000000000 +0900 ++++ xemacs21-21.4.15/src/objects.c 2004-07-25 18:31:43.000000000 +0900 +@@ -1049,6 +1049,14 @@ + INITIALIZE_SPECIFIER_TYPE_WITH_DATA (face_boolean, "face-boolean", + "face-boolean-specifier-p"); + ++#ifdef __ia64__ ++ specifier_type_reinit_objects (); ++} ++ ++void ++specifier_type_reinit_objects (void) ++{ ++#endif + SPECIFIER_HAS_METHOD (color, instantiate); + SPECIFIER_HAS_METHOD (font, instantiate); + SPECIFIER_HAS_METHOD (face_boolean, instantiate); +diff -urNad /home/mohura/debsrc/xemacs21-21.4.15/src/process-nt.c xemacs21-21.4.15/src/process-nt.c +--- /home/mohura/debsrc/xemacs21-21.4.15/src/process-nt.c 2002-08-20 20:37:45.000000000 +0900 ++++ xemacs21-21.4.15/src/process-nt.c 2004-07-25 18:31:43.000000000 +0900 +@@ -1355,6 +1355,14 @@ + void + process_type_create_nt (void) + { ++#ifdef __ia64__ ++ process_type_reinit_nt (); ++} ++ ++void ++process_type_reinit_nt (void) ++{ ++#endif + PROCESS_HAS_METHOD (nt, alloc_process_data); + PROCESS_HAS_METHOD (nt, finalize_process_data); + PROCESS_HAS_METHOD (nt, init_process); +diff -urNad /home/mohura/debsrc/xemacs21-21.4.15/src/process-unix.c xemacs21-21.4.15/src/process-unix.c +--- /home/mohura/debsrc/xemacs21-21.4.15/src/process-unix.c 2003-03-05 12:28:40.000000000 +0900 ++++ xemacs21-21.4.15/src/process-unix.c 2004-07-25 18:31:43.000000000 +0900 +@@ -2105,6 +2105,14 @@ + void + process_type_create_unix (void) + { ++#ifdef __ia64__ ++ process_type_reinit_unix (); ++} ++ ++void ++process_type_reinit_unix (void) ++{ ++#endif + PROCESS_HAS_METHOD (unix, alloc_process_data); + PROCESS_HAS_METHOD (unix, mark_process_data); + #ifdef SIGCHLD +diff -urNad /home/mohura/debsrc/xemacs21-21.4.15/src/ralloc.c xemacs21-21.4.15/src/ralloc.c +--- /home/mohura/debsrc/xemacs21-21.4.15/src/ralloc.c 2002-08-20 20:37:50.000000000 +0900 ++++ xemacs21-21.4.15/src/ralloc.c 2004-07-25 18:31:43.000000000 +0900 +@@ -117,7 +117,11 @@ + & ~(page_size - 1)) + #define ROUND_TO_PAGE(addr) (addr & (~(page_size - 1))) + ++#ifdef __ia64__ ++#define MEM_ALIGN (2*sizeof(double)) ++#else + #define MEM_ALIGN sizeof(double) ++#endif + #define MEM_ROUNDUP(addr) (((unsigned long int)(addr) + MEM_ALIGN - 1) \ + & ~(MEM_ALIGN - 1)) + +diff -urNad /home/mohura/debsrc/xemacs21-21.4.15/src/rangetab.c xemacs21-21.4.15/src/rangetab.c +--- /home/mohura/debsrc/xemacs21-21.4.15/src/rangetab.c 2001-04-13 03:24:13.000000000 +0900 ++++ xemacs21-21.4.15/src/rangetab.c 2004-07-25 18:31:43.000000000 +0900 +@@ -766,3 +766,16 @@ + + define_structure_type_keyword (st, Qdata, rangetab_data_validate); + } ++ ++#ifdef __ia64__ ++ ++void ++structure_type_reinit_rangetab (void) ++{ ++ struct structure_type *st; ++ ++ st = reinit_structure_type (Qrange_table, 0, rangetab_instantiate); ++ ++ reinit_structure_type_keyword (st, Qdata, rangetab_data_validate); ++} ++#endif +diff -urNad /home/mohura/debsrc/xemacs21-21.4.15/src/redisplay-gtk.c xemacs21-21.4.15/src/redisplay-gtk.c +--- /home/mohura/debsrc/xemacs21-21.4.15/src/redisplay-gtk.c 2002-08-20 20:37:52.000000000 +0900 ++++ xemacs21-21.4.15/src/redisplay-gtk.c 2004-07-25 18:31:43.000000000 +0900 +@@ -1935,6 +1935,14 @@ + void + console_type_create_redisplay_gtk (void) + { ++#ifdef __ia64__ ++ console_type_reinit_redisplay_gtk (); ++} ++ ++void ++console_type_reinit_redisplay_gtk (void) ++{ ++#endif + /* redisplay methods */ + CONSOLE_HAS_METHOD (gtk, text_width); + CONSOLE_HAS_METHOD (gtk, output_display_block); +diff -urNad /home/mohura/debsrc/xemacs21-21.4.15/src/redisplay-msw.c xemacs21-21.4.15/src/redisplay-msw.c +--- /home/mohura/debsrc/xemacs21-21.4.15/src/redisplay-msw.c 2002-08-20 20:37:55.000000000 +0900 ++++ xemacs21-21.4.15/src/redisplay-msw.c 2004-07-25 18:31:43.000000000 +0900 +@@ -1383,6 +1383,14 @@ + void + console_type_create_redisplay_mswindows (void) + { ++#ifdef __ia64__ ++ console_type_reinit_redisplay_mswindows (); ++} ++ ++void ++console_type_reinit_redisplay_mswindows (void) ++{ ++#endif + /* redisplay methods - display*/ + CONSOLE_HAS_METHOD (mswindows, text_width); + CONSOLE_HAS_METHOD (mswindows, output_display_block); +diff -urNad /home/mohura/debsrc/xemacs21-21.4.15/src/redisplay-tty.c xemacs21-21.4.15/src/redisplay-tty.c +--- /home/mohura/debsrc/xemacs21-21.4.15/src/redisplay-tty.c 2001-04-13 03:24:14.000000000 +0900 ++++ xemacs21-21.4.15/src/redisplay-tty.c 2004-07-25 18:31:43.000000000 +0900 +@@ -1484,6 +1484,14 @@ + void + console_type_create_redisplay_tty (void) + { ++#ifdef __ia64__ ++ console_type_reinit_redisplay_tty (); ++} ++ ++void ++console_type_reinit_redisplay_tty (void) ++{ ++#endif + /* redisplay methods */ + CONSOLE_HAS_METHOD (tty, text_width); + CONSOLE_HAS_METHOD (tty, output_display_block); +diff -urNad /home/mohura/debsrc/xemacs21-21.4.15/src/redisplay-x.c xemacs21-21.4.15/src/redisplay-x.c +--- /home/mohura/debsrc/xemacs21-21.4.15/src/redisplay-x.c 2003-01-15 21:18:01.000000000 +0900 ++++ xemacs21-21.4.15/src/redisplay-x.c 2004-07-25 18:31:43.000000000 +0900 +@@ -2090,6 +2090,14 @@ + void + console_type_create_redisplay_x (void) + { ++#ifdef __ia64__ ++ console_type_reinit_redisplay_x (); ++} ++ ++void ++console_type_reinit_redisplay_x (void) ++{ ++#endif + /* redisplay methods */ + CONSOLE_HAS_METHOD (x, text_width); + CONSOLE_HAS_METHOD (x, output_display_block); +diff -urNad /home/mohura/debsrc/xemacs21-21.4.15/src/redisplay.c xemacs21-21.4.15/src/redisplay.c +--- /home/mohura/debsrc/xemacs21-21.4.15/src/redisplay.c 2002-11-01 00:08:34.000000000 +0900 ++++ xemacs21-21.4.15/src/redisplay.c 2004-07-25 18:31:43.000000000 +0900 +@@ -9741,3 +9741,26 @@ + 0, 0, 0); + + } ++ ++#ifdef __ia64__ ++void ++specifier_reinit_redisplay (void) ++{ ++ reinit_specifier_caching (Vleft_margin_width, ++ some_window_value_changed, ++ margin_width_changed_in_frame); ++ reinit_specifier_caching (Vright_margin_width, ++ some_window_value_changed, ++ margin_width_changed_in_frame); ++ reinit_specifier_caching (Vminimum_line_ascent, ++ some_window_value_changed, 0); ++ reinit_specifier_caching (Vminimum_line_descent, ++ some_window_value_changed, 0); ++ reinit_specifier_caching (Vuse_left_overflow, ++ some_window_value_changed, 0); ++ reinit_specifier_caching (Vuse_right_overflow, ++ some_window_value_changed, 0); ++ reinit_specifier_caching (Vtext_cursor_visible_p, ++ text_cursor_visible_p_changed, 0); ++} ++#endif +diff -urNad /home/mohura/debsrc/xemacs21-21.4.15/src/scrollbar-gtk.c xemacs21-21.4.15/src/scrollbar-gtk.c +--- /home/mohura/debsrc/xemacs21-21.4.15/src/scrollbar-gtk.c 2001-07-25 16:45:35.000000000 +0900 ++++ xemacs21-21.4.15/src/scrollbar-gtk.c 2004-07-25 18:31:43.000000000 +0900 +@@ -470,6 +470,14 @@ + void + console_type_create_scrollbar_gtk (void) + { ++#ifdef __ia64__ ++ console_type_reinit_scrollbar_gtk (); ++} ++ ++void ++console_type_reinit_scrollbar_gtk (void) ++{ ++#endif + CONSOLE_HAS_METHOD (gtk, inhibit_scrollbar_slider_size_change); + CONSOLE_HAS_METHOD (gtk, free_scrollbar_instance); + CONSOLE_HAS_METHOD (gtk, release_scrollbar_instance); +diff -urNad /home/mohura/debsrc/xemacs21-21.4.15/src/scrollbar-msw.c xemacs21-21.4.15/src/scrollbar-msw.c +--- /home/mohura/debsrc/xemacs21-21.4.15/src/scrollbar-msw.c 2002-08-20 20:38:07.000000000 +0900 ++++ xemacs21-21.4.15/src/scrollbar-msw.c 2004-07-25 18:31:43.000000000 +0900 +@@ -468,6 +468,14 @@ + void + console_type_create_scrollbar_mswindows (void) + { ++#ifdef __ia64__ ++ console_type_reinit_scrollbar_mswindows (); ++} ++ ++void ++console_type_reinit_scrollbar_mswindows (void) ++{ ++#endif + CONSOLE_HAS_METHOD (mswindows, create_scrollbar_instance); + CONSOLE_HAS_METHOD (mswindows, free_scrollbar_instance); + CONSOLE_HAS_METHOD (mswindows, release_scrollbar_instance); +diff -urNad /home/mohura/debsrc/xemacs21-21.4.15/src/scrollbar-x.c xemacs21-21.4.15/src/scrollbar-x.c +--- /home/mohura/debsrc/xemacs21-21.4.15/src/scrollbar-x.c 2001-04-13 03:24:17.000000000 +0900 ++++ xemacs21-21.4.15/src/scrollbar-x.c 2004-07-25 18:31:43.000000000 +0900 +@@ -727,6 +727,14 @@ + void + console_type_create_scrollbar_x (void) + { ++#ifdef __ia64__ ++ console_type_reinit_scrollbar_x (); ++} ++ ++void ++console_type_reinit_scrollbar_x (void) ++{ ++#endif + CONSOLE_HAS_METHOD (x, inhibit_scrollbar_slider_size_change); + CONSOLE_HAS_METHOD (x, free_scrollbar_instance); + CONSOLE_HAS_METHOD (x, release_scrollbar_instance); +diff -urNad /home/mohura/debsrc/xemacs21-21.4.15/src/scrollbar.c xemacs21-21.4.15/src/scrollbar.c +--- /home/mohura/debsrc/xemacs21-21.4.15/src/scrollbar.c 2001-04-13 03:24:17.000000000 +0900 ++++ xemacs21-21.4.15/src/scrollbar.c 2004-07-25 18:31:43.000000000 +0900 +@@ -1039,6 +1039,33 @@ + frame_size_slipped, 0); + } + ++#ifdef __ia64__ ++void ++specifier_reinit_scrollbar (void) ++{ ++ reinit_specifier_caching (Vscrollbar_width, ++ vertical_scrollbar_changed_in_window, ++ frame_size_slipped); ++ reinit_specifier_caching (Vscrollbar_height, ++ some_window_value_changed, ++ frame_size_slipped); ++ reinit_specifier_caching (Vhorizontal_scrollbar_visible_p, ++ some_window_value_changed, ++ frame_size_slipped); ++ reinit_specifier_caching (Vvertical_scrollbar_visible_p, ++ vertical_scrollbar_changed_in_window, ++ frame_size_slipped); ++ reinit_specifier_caching (Vscrollbar_on_left_p, ++ vertical_scrollbar_changed_in_window, ++ frame_size_slipped); ++ reinit_specifier_caching (Vscrollbar_on_top_p, ++ some_window_value_changed, ++ frame_size_slipped); ++ reinit_specifier_caching (XGLYPH (Vscrollbar_pointer_glyph)->image, ++ scrollbar_pointer_changed_in_window, 0); ++} ++#endif ++ + void + complex_vars_of_scrollbar (void) + { +diff -urNad /home/mohura/debsrc/xemacs21-21.4.15/src/select-gtk.c xemacs21-21.4.15/src/select-gtk.c +--- /home/mohura/debsrc/xemacs21-21.4.15/src/select-gtk.c 2002-05-01 01:06:45.000000000 +0900 ++++ xemacs21-21.4.15/src/select-gtk.c 2004-07-25 18:31:43.000000000 +0900 +@@ -951,6 +951,14 @@ + void + console_type_create_select_gtk (void) + { ++#ifdef __ia64__ ++ console_type_reinit_select_gtk (); ++} ++ ++void ++console_type_reinit_select_gtk (void) ++{ ++#endif + CONSOLE_HAS_METHOD (gtk, own_selection); + CONSOLE_HAS_METHOD (gtk, disown_selection); + CONSOLE_HAS_METHOD (gtk, selection_exists_p); +diff -urNad /home/mohura/debsrc/xemacs21-21.4.15/src/select-x.c xemacs21-21.4.15/src/select-x.c +--- /home/mohura/debsrc/xemacs21-21.4.15/src/select-x.c 2002-08-20 20:38:10.000000000 +0900 ++++ xemacs21-21.4.15/src/select-x.c 2004-07-25 18:31:43.000000000 +0900 +@@ -1732,6 +1732,14 @@ + void + console_type_create_select_x (void) + { ++#ifdef __ia64__ ++ console_type_reinit_select_x (); ++} ++ ++void ++console_type_reinit_select_x (void) ++{ ++#endif + CONSOLE_HAS_METHOD (x, own_selection); + CONSOLE_HAS_METHOD (x, disown_selection); + CONSOLE_HAS_METHOD (x, get_foreign_selection); +diff -urNad /home/mohura/debsrc/xemacs21-21.4.15/src/specifier.c xemacs21-21.4.15/src/specifier.c +--- /home/mohura/debsrc/xemacs21-21.4.15/src/specifier.c 2002-12-12 15:21:32.000000000 +0900 ++++ xemacs21-21.4.15/src/specifier.c 2004-07-25 18:31:43.000000000 +0900 +@@ -2855,6 +2855,24 @@ + recompute_cached_specifier_everywhere (specifier); + } + ++#ifdef __ia64__ ++void ++reinit_specifier_caching (Lisp_Object specifier, ++ void (*value_changed_in_window) ++ (Lisp_Object specifier, struct window *w, ++ Lisp_Object oldval), ++ void (*value_changed_in_frame) ++ (Lisp_Object specifier, struct frame *f, ++ Lisp_Object oldval)) ++{ ++ struct Lisp_Specifier *sp = XSPECIFIER (specifier); ++ assert (!GHOST_SPECIFIER_P (sp)); ++ ++ sp->caching->value_changed_in_window = value_changed_in_window; ++ sp->caching->value_changed_in_frame = value_changed_in_frame; ++} ++#endif ++ + static void + recompute_one_cached_specifier_in_window (Lisp_Object specifier, + struct window *w) +@@ -3296,6 +3314,20 @@ + SPECIFIER_HAS_METHOD (display_table, validate); + } + ++#ifdef __ia64__ ++void ++specifier_type_reinit (void) ++{ ++ SPECIFIER_HAS_METHOD (integer, validate); ++ ++ SPECIFIER_HAS_METHOD (natnum, validate); ++ ++ SPECIFIER_HAS_METHOD (boolean, validate); ++ ++ SPECIFIER_HAS_METHOD (display_table, validate); ++} ++#endif ++ + void + reinit_specifier_type_create (void) + { +diff -urNad /home/mohura/debsrc/xemacs21-21.4.15/src/specifier.h xemacs21-21.4.15/src/specifier.h +--- /home/mohura/debsrc/xemacs21-21.4.15/src/specifier.h 2001-04-13 03:24:19.000000000 +0900 ++++ xemacs21-21.4.15/src/specifier.h 2004-07-25 18:31:43.000000000 +0900 +@@ -484,6 +484,15 @@ + (Lisp_Object specifier, struct frame *f, + Lisp_Object oldval), + int always_recompute); ++#ifdef __ia64__ ++void reinit_specifier_caching (Lisp_Object specifier, ++ void (*value_changed_in_window) ++ (Lisp_Object specifier, struct window *w, ++ Lisp_Object oldval), ++ void (*value_changed_in_frame) ++ (Lisp_Object specifier, struct frame *f, ++ Lisp_Object oldval)); ++#endif + void set_specifier_fallback (Lisp_Object specifier, + Lisp_Object fallback); + void recompute_all_cached_specifiers_in_window (struct window *w); +diff -urNad /home/mohura/debsrc/xemacs21-21.4.15/src/symsinit.h xemacs21-21.4.15/src/symsinit.h +--- /home/mohura/debsrc/xemacs21-21.4.15/src/symsinit.h 2002-11-01 00:08:50.000000000 +0900 ++++ xemacs21-21.4.15/src/symsinit.h 2004-07-25 18:31:43.000000000 +0900 +@@ -491,4 +491,82 @@ + void complex_vars_of_glyphs_gtk (void); + void init_event_gtk_late (void); + ++#ifdef __ia64__ ++/* We need to reinitialize all function pointers. Sigh. */ ++ ++void console_type_reinit_stream (void); ++void console_type_reinit_tty (void); ++void console_type_reinit_device_tty (void); ++void console_type_reinit_frame_tty (void); ++void console_type_reinit_objects_tty (void); ++void console_type_reinit_redisplay_tty (void); ++void console_type_reinit_gtk (void); ++void console_type_reinit_select_gtk (void); ++void console_type_reinit_device_gtk (void); ++void console_type_reinit_dialog_gtk (void); ++void console_type_reinit_frame_gtk (void); ++void console_type_reinit_objects_gtk (void); ++void console_type_reinit_glyphs_gtk (void); ++void console_type_reinit_redisplay_gtk (void); ++void console_type_reinit_menubar_gtk (void); ++void console_type_reinit_scrollbar_gtk (void); ++void console_type_reinit_toolbar_gtk (void); ++void console_type_reinit_x (void); ++void console_type_reinit_device_x (void); ++void console_type_reinit_frame_x (void); ++void console_type_reinit_glyphs_x (void); ++void console_type_reinit_select_x (void); ++void console_type_reinit_menubar_x (void); ++void console_type_reinit_objects_x (void); ++void console_type_reinit_redisplay_x (void); ++void console_type_reinit_scrollbar_x (void); ++void console_type_reinit_toolbar_x (void); ++void console_type_reinit_dialog_x (void); ++void console_type_reinit_mswindows (void); ++void console_type_reinit_device_mswindows (void); ++void console_type_reinit_frame_mswindows (void); ++void console_type_reinit_menubar_mswindows (void); ++void console_type_reinit_objects_mswindows (void); ++void console_type_reinit_redisplay_mswindows (void); ++void console_type_reinit_scrollbar_mswindows (void); ++void console_type_reinit_toolbar_mswindows (void); ++void console_type_reinit_glyphs_mswindows (void); ++void console_type_reinit_dialog_mswindows (void); ++ ++void specifier_type_reinit (void); ++void specifier_type_reinit_image (void); ++void specifier_type_reinit_gutter (void); ++void specifier_type_reinit_objects (void); ++void specifier_type_reinit_toolbar (void); ++ ++void structure_type_reinit_chartab (void); ++void structure_type_reinit_faces (void); ++void structure_type_reinit_rangetab (void); ++void structure_type_reinit_hash_table (void); ++ ++void image_instantiator_format_reinit (void); ++void image_instantiator_format_reinit_glyphs_eimage (void); ++void image_instantiator_format_reinit_glyphs_widget (void); ++void image_instantiator_format_reinit_glyphs_gtk (void); ++void image_instantiator_format_reinit_glyphs_x (void); ++void image_instantiator_format_reinit_glyphs_mswindows (void); ++ ++void lstream_type_reinit (void); ++void lstream_type_reinit_file_coding (void); ++void lstream_type_reinit_print (void); ++void lstream_type_reinit_mswindows_selectable (void); ++ ++void process_type_reinit_nt (void); ++void process_type_reinit_unix (void); ++ ++void specifier_reinit_glyphs (void); ++void specifier_reinit_gutter (void); ++void specifier_reinit_menubar (void); ++void specifier_reinit_redisplay (void); ++void specifier_reinit_scrollbar (void); ++void specifier_reinit_toolbar (void); ++void specifier_reinit_window (void); ++ ++#endif /* __ia64__ */ ++ + #endif /* INCLUDED_symsinit_h_ */ +diff -urNad /home/mohura/debsrc/xemacs21-21.4.15/src/toolbar-gtk.c xemacs21-21.4.15/src/toolbar-gtk.c +--- /home/mohura/debsrc/xemacs21-21.4.15/src/toolbar-gtk.c 2002-08-20 20:38:18.000000000 +0900 ++++ xemacs21-21.4.15/src/toolbar-gtk.c 2004-07-25 18:31:43.000000000 +0900 +@@ -671,6 +671,14 @@ + void + console_type_create_toolbar_gtk (void) + { ++#ifdef __ia64__ ++ console_type_reinit_toolbar_gtk (); ++} ++ ++void ++console_type_reinit_toolbar_gtk (void) ++{ ++#endif + CONSOLE_HAS_METHOD (gtk, output_frame_toolbars); + CONSOLE_HAS_METHOD (gtk, clear_frame_toolbars); + CONSOLE_HAS_METHOD (gtk, initialize_frame_toolbars); +diff -urNad /home/mohura/debsrc/xemacs21-21.4.15/src/toolbar-msw.c xemacs21-21.4.15/src/toolbar-msw.c +--- /home/mohura/debsrc/xemacs21-21.4.15/src/toolbar-msw.c 2002-08-20 20:38:19.000000000 +0900 ++++ xemacs21-21.4.15/src/toolbar-msw.c 2004-07-25 18:31:43.000000000 +0900 +@@ -648,6 +648,14 @@ + void + console_type_create_toolbar_mswindows (void) + { ++#ifdef __ia64__ ++ console_type_reinit_toolbar_mswindows (); ++} ++ ++void ++console_type_reinit_toolbar_mswindows (void) ++{ ++#endif + CONSOLE_HAS_METHOD (mswindows, output_frame_toolbars); + CONSOLE_HAS_METHOD (mswindows, clear_frame_toolbars); + CONSOLE_HAS_METHOD (mswindows, initialize_frame_toolbars); +diff -urNad /home/mohura/debsrc/xemacs21-21.4.15/src/toolbar-x.c xemacs21-21.4.15/src/toolbar-x.c +--- /home/mohura/debsrc/xemacs21-21.4.15/src/toolbar-x.c 2002-08-20 20:38:20.000000000 +0900 ++++ xemacs21-21.4.15/src/toolbar-x.c 2004-07-25 18:31:43.000000000 +0900 +@@ -801,6 +801,14 @@ + void + console_type_create_toolbar_x (void) + { ++#ifdef __ia64__ ++ console_type_reinit_toolbar_x (); ++} ++ ++void ++console_type_reinit_toolbar_x (void) ++{ ++#endif + CONSOLE_HAS_METHOD (x, output_frame_toolbars); + CONSOLE_HAS_METHOD (x, clear_frame_toolbars); + CONSOLE_HAS_METHOD (x, initialize_frame_toolbars); +diff -urNad /home/mohura/debsrc/xemacs21-21.4.15/src/toolbar.c xemacs21-21.4.15/src/toolbar.c +--- /home/mohura/debsrc/xemacs21-21.4.15/src/toolbar.c 2002-08-20 20:38:21.000000000 +0900 ++++ xemacs21-21.4.15/src/toolbar.c 2004-07-25 18:31:43.000000000 +0900 +@@ -1322,6 +1322,14 @@ + { + INITIALIZE_SPECIFIER_TYPE (toolbar, "toolbar", "toolbar-specifier-p"); + ++#ifdef __ia64__ ++ specifier_type_reinit_toolbar (); ++} ++ ++void ++specifier_type_reinit_toolbar (void) ++{ ++#endif + SPECIFIER_HAS_METHOD (toolbar, validate); + SPECIFIER_HAS_METHOD (toolbar, after_change); + } +@@ -1911,3 +1919,70 @@ + set_specifier_fallback (Vtoolbar_buttons_captioned_p, + list1 (Fcons (Qnil, Qt))); + } ++ ++#ifdef __ia64__ ++void ++specifier_reinit_toolbar (void) ++{ ++ reinit_specifier_caching (Vdefault_toolbar, ++ default_toolbar_specs_changed, 0); ++ reinit_specifier_caching (Vtoolbar[TOP_TOOLBAR], ++ toolbar_specs_changed, 0); ++ reinit_specifier_caching (Vtoolbar[BOTTOM_TOOLBAR], ++ toolbar_specs_changed, 0); ++ reinit_specifier_caching (Vtoolbar[LEFT_TOOLBAR], ++ toolbar_specs_changed, 0); ++ reinit_specifier_caching (Vtoolbar[RIGHT_TOOLBAR], ++ toolbar_specs_changed, 0); ++ reinit_specifier_caching (Vdefault_toolbar_height, ++ default_toolbar_size_changed_in_window, ++ default_toolbar_size_changed_in_frame); ++ reinit_specifier_caching (Vdefault_toolbar_width, ++ default_toolbar_size_changed_in_window, ++ default_toolbar_size_changed_in_frame); ++ reinit_specifier_caching (Vtoolbar_size[TOP_TOOLBAR], ++ toolbar_geometry_changed_in_window, ++ frame_size_slipped); ++ reinit_specifier_caching (Vtoolbar_size[BOTTOM_TOOLBAR], ++ toolbar_geometry_changed_in_window, ++ frame_size_slipped); ++ reinit_specifier_caching (Vtoolbar_size[LEFT_TOOLBAR], ++ toolbar_geometry_changed_in_window, ++ frame_size_slipped); ++ reinit_specifier_caching (Vtoolbar_size[RIGHT_TOOLBAR], ++ toolbar_geometry_changed_in_window, ++ frame_size_slipped); ++ reinit_specifier_caching (Vdefault_toolbar_border_width, ++ default_toolbar_border_width_changed_in_window, ++ default_toolbar_border_width_changed_in_frame); ++ reinit_specifier_caching (Vtoolbar_border_width[TOP_TOOLBAR], ++ toolbar_geometry_changed_in_window, ++ frame_size_slipped); ++ reinit_specifier_caching (Vtoolbar_border_width[BOTTOM_TOOLBAR], ++ toolbar_geometry_changed_in_window, ++ frame_size_slipped); ++ reinit_specifier_caching (Vtoolbar_border_width[LEFT_TOOLBAR], ++ toolbar_geometry_changed_in_window, ++ frame_size_slipped); ++ reinit_specifier_caching (Vtoolbar_border_width[RIGHT_TOOLBAR], ++ toolbar_geometry_changed_in_window, ++ frame_size_slipped); ++ reinit_specifier_caching (Vdefault_toolbar_visible_p, ++ default_toolbar_visible_p_changed_in_window, ++ default_toolbar_visible_p_changed_in_frame); ++ reinit_specifier_caching (Vtoolbar_visible_p[TOP_TOOLBAR], ++ toolbar_geometry_changed_in_window, ++ frame_size_slipped); ++ reinit_specifier_caching (Vtoolbar_visible_p[BOTTOM_TOOLBAR], ++ toolbar_geometry_changed_in_window, ++ frame_size_slipped); ++ reinit_specifier_caching (Vtoolbar_visible_p[LEFT_TOOLBAR], ++ toolbar_geometry_changed_in_window, ++ frame_size_slipped); ++ reinit_specifier_caching (Vtoolbar_visible_p[RIGHT_TOOLBAR], ++ toolbar_geometry_changed_in_window, ++ frame_size_slipped); ++ reinit_specifier_caching (Vtoolbar_buttons_captioned_p, ++ toolbar_buttons_captioned_p_changed, 0); ++} ++#endif +diff -urNad /home/mohura/debsrc/xemacs21-21.4.15/src/window.c xemacs21-21.4.15/src/window.c +--- /home/mohura/debsrc/xemacs21-21.4.15/src/window.c 2004-07-25 17:57:51.000000000 +0900 ++++ xemacs21-21.4.15/src/window.c 2004-07-25 18:31:43.000000000 +0900 +@@ -6415,3 +6415,22 @@ + vertical_divider_changed_in_window, + 0, 0, 0); + } ++ ++#ifdef __ia64__ ++void ++specifier_reinit_window (void) ++{ ++ reinit_specifier_caching (Vmodeline_shadow_thickness, ++ modeline_shadow_thickness_changed, 0); ++ reinit_specifier_caching (Vhas_modeline_p, ++ some_window_value_changed, 0); ++ reinit_specifier_caching (Vvertical_divider_always_visible_p, ++ vertical_divider_changed_in_window, 0); ++ reinit_specifier_caching (Vvertical_divider_shadow_thickness, ++ vertical_divider_changed_in_window, 0); ++ reinit_specifier_caching (Vvertical_divider_line_width, ++ vertical_divider_changed_in_window, 0); ++ reinit_specifier_caching (Vvertical_divider_spacing, ++ vertical_divider_changed_in_window, 0); ++} ++#endif --- xemacs21-21.4.22.orig/debian/patches/04_ia64_not_export_dynamic.dpatch +++ xemacs21-21.4.22/debian/patches/04_ia64_not_export_dynamic.dpatch @@ -0,0 +1,40 @@ +#! /bin/sh -e +## 04_ia64_not_export_dynamic.dpatch by OHURA Makoto +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Fix ia64 dependent SEGV problem. BTS #207412, #149088, #218241. +## DP: Link without -export-dynamic option. +## DP: I borrow this solution from redhat Bugzilla; +## DP: http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=106744 + +if [ $# -lt 1 ]; then + echo "`basename $0`: script expects -patch|-unpatch as argument" >&2 + exit 1 +fi + +[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts +patch_opts="${patch_opts:--f --no-backup-if-mismatch} ${2:+-d $2}" + +case "$1" in + -patch) patch -p1 ${patch_opts} < $0;; + -unpatch) patch -R -p1 ${patch_opts} < $0;; + *) + echo "`basename $0`: script expects -patch|-unpatch as argument" >&2 + exit 1;; +esac + +exit 0 + +@DPATCH@ +diff -urNad /home/mohura/debsrc/xemacs21-21.4.15/aclocal.m4 xemacs21-21.4.15/aclocal.m4 +--- /home/mohura/debsrc/xemacs21-21.4.15/aclocal.m4 2003-10-21 09:22:56.000000000 +0900 ++++ xemacs21-21.4.15/aclocal.m4 2004-08-09 21:29:45.000000000 +0900 +@@ -531,7 +531,7 @@ + dnl + + if test "$xe_gnu_ld" = yes; then +- if test "$ld_shlibs" = yes; then ++ if test "$ld_shlibs" = yes && test "$xehost_cpu" != "ia64" ; then + ld_dynamic_link_flags="${wl}-export-dynamic" + fi + fi --- xemacs21-21.4.22.orig/debian/patches/03_hppa_undefined_symbols.dpatch +++ xemacs21-21.4.22/debian/patches/03_hppa_undefined_symbols.dpatch @@ -0,0 +1,151 @@ +#! /bin/sh -e +## 03_hppa_undefined_symbols.dpatch by OHURA Makoto +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Fix FTBFS problem for hppa. See BTS #133682 + +if [ $# -lt 1 ]; then + echo "`basename $0`: script expects -patch|-unpatch as argument" >&2 + exit 1 +fi + +[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts +patch_opts="${patch_opts:--f --no-backup-if-mismatch} ${2:+-d $2}" + +case "$1" in + -patch) patch -p1 ${patch_opts} < $0;; + -unpatch) patch -R -p1 ${patch_opts} < $0;; + *) + echo "`basename $0`: script expects -patch|-unpatch as argument" >&2 + exit 1;; +esac + +exit 0 + +@DPATCH@ +diff -urNad /home/mohura/debsrc/xemacs21-21.4.15/configure.in xemacs21-21.4.15/configure.in +--- /home/mohura/debsrc/xemacs21-21.4.15/configure.in 2004-07-25 17:37:11.000000000 +0900 ++++ xemacs21-21.4.15/configure.in 2004-07-25 17:44:08.000000000 +0900 +@@ -888,6 +888,9 @@ + sources may be found."]) + fi + ;; ++ hppa*-*-linux-gnu* ) ++ machine=hp800 opsys=gnu-linux ++ ;; + + dnl Otherwise, check if the directory they specified is okay. + * ) +diff -urNad /home/mohura/debsrc/xemacs21-21.4.15/lib-src/gnuclient.c xemacs21-21.4.15/lib-src/gnuclient.c +--- /home/mohura/debsrc/xemacs21-21.4.15/lib-src/gnuclient.c 2004-07-25 17:37:11.000000000 +0900 ++++ xemacs21-21.4.15/lib-src/gnuclient.c 2004-07-25 17:44:08.000000000 +0900 +@@ -597,7 +597,7 @@ + strcpy (remotepath, ptr); + } + #if 0 /* This is really bogus... re-enable it if you must have it! */ +-#if defined (hp9000s300) || defined (hp9000s800) ++#if defined (__hpux) + else if (strcmp (thishost,hostarg)) + { /* try /net/thishost */ + strcpy (remotepath, "/net/"); /* (this fails using internet +diff -urNad /home/mohura/debsrc/xemacs21-21.4.15/src/emacs.c xemacs21-21.4.15/src/emacs.c +--- /home/mohura/debsrc/xemacs21-21.4.15/src/emacs.c 2004-07-25 17:37:11.000000000 +0900 ++++ xemacs21-21.4.15/src/emacs.c 2004-07-25 17:44:08.000000000 +0900 +@@ -2368,7 +2368,7 @@ + #if defined (WIN32_NATIVE) || defined (CYGWIN) + init_win32 (); + #endif +-#if defined (HAVE_NATIVE_SOUND) && defined (hp9000s800) ++#if defined (HAVE_NATIVE_SOUND) && defined (__hpux) + init_hpplay (); + #endif + #ifdef HAVE_TTY +diff -urNad /home/mohura/debsrc/xemacs21-21.4.15/src/m/hp800.h xemacs21-21.4.15/src/m/hp800.h +--- /home/mohura/debsrc/xemacs21-21.4.15/src/m/hp800.h 2004-07-25 17:37:11.000000000 +0900 ++++ xemacs21-21.4.15/src/m/hp800.h 2004-07-25 17:44:08.000000000 +0900 +@@ -24,16 +24,8 @@ + operating system this machine is likely to run. + USUAL-OPSYS="hpux" */ + +-/* Now define a symbol for the cpu type, if your compiler +- does not define it automatically: +- Ones defined so far include vax, m68000, ns16000, pyramid, +- orion, tahoe, APOLLO and many others */ +-#ifndef hp9000s800 +-# define hp9000s800 +-#endif +- + +-#ifdef __hpux ++#if defined(__hpux) || defined(__linux__) + /* Now define a symbol for the cpu type, if your compiler + does not define it automatically: + Ones defined so far include vax, m68000, ns16000, pyramid, +@@ -42,6 +34,15 @@ + # define hp9000s800 + #endif + ++#ifdef __linux__ ++/* Data type of load average, as read out of kmem. */ ++ ++#define LOAD_AVE_TYPE long ++ ++/* Convert that into an integer that is 100 for a load average of 1.0 */ ++ ++#define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE) ++#else + /* Data type of load average, as read out of kmem. */ + + #define LOAD_AVE_TYPE double +@@ -49,7 +50,7 @@ + /* Convert that into an integer that is 100 for a load average of 1.0 */ + + #define LOAD_AVE_CVT(x) ((int) (x * 100.0)) +- ++#endif + + /* Define CANNOT_DUMP on machines where unexec does not work. + Then the function dump-emacs will not be defined +@@ -57,6 +58,7 @@ + + #undef CANNOT_DUMP + ++#ifdef __hpux + /* Define C_ALLOCA if this machine does not support a true alloca + and the one written in C should be used instead. + Define HAVE_ALLOCA to say that the system provides a properly +@@ -82,6 +84,9 @@ + + #define DATA_START 0x40000000 + #define TEXT_START 0x00000000 ++#else ++#define HAVE_ALLOCA ++#endif + + #define STACK_DIRECTION 1 + +@@ -95,6 +100,7 @@ + /* This machine requires completely different unexec code + which lives in a separate file. Specify the file name. */ + ++#ifdef __hpux + #define UNEXEC "unexhp9k800.o" + + #define LIBS_MACHINE +@@ -124,3 +130,4 @@ + #endif + + #endif /* __hpux */ ++#endif /* __hpux || __linux */ +diff -urNad /home/mohura/debsrc/xemacs21-21.4.15/src/sound.c xemacs21-21.4.15/src/sound.c +--- /home/mohura/debsrc/xemacs21-21.4.15/src/sound.c 2004-07-25 17:37:11.000000000 +0900 ++++ xemacs21-21.4.15/src/sound.c 2004-07-25 17:44:08.000000000 +0900 +@@ -653,7 +653,7 @@ + */ ); + Vnative_sound_only_on_console = Qt; + +-#if defined (HAVE_NATIVE_SOUND) && defined (hp9000s800) ++#if defined (HAVE_NATIVE_SOUND) && defined (__hpux) + { + void vars_of_hpplay (void); + vars_of_hpplay ();