commit 543119d58b0fae73b722f540960fe80c1a0cd62b9e79063de8cd9f4a1904d745 Author: OBS User unknown Date: Mon Jan 15 23:42:08 2007 +0000 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/xemacs?expand=0&rev=1 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/cast-pointer-integer-different-size.patch b/cast-pointer-integer-different-size.patch new file mode 100644 index 0000000..6f7c34b --- /dev/null +++ b/cast-pointer-integer-different-size.patch @@ -0,0 +1,93 @@ +diff -ru xemacs-21.5.24.orig/src/eval.c xemacs-21.5.24/src/eval.c +--- xemacs-21.5.24.orig/src/eval.c 2005-12-27 18:12:06.000000000 +0100 ++++ xemacs-21.5.24/src/eval.c 2006-02-17 12:22:23.000000000 +0100 +@@ -136,6 +136,7 @@ + */ + + #include ++#include + #include "lisp.h" + + #include "commands.h" +@@ -5974,13 +5975,13 @@ + Lisp_Object opaque = XCAR (cons); + Lisp_Object lval = XCDR (cons); + int *addr = (int *) get_opaque_ptr (opaque); +- int val; ++ intptr_t val; + + if (INTP (lval)) + val = XINT (lval); + else + { +- val = (int) get_opaque_ptr (lval); ++ val = (intptr_t) get_opaque_ptr (lval); + free_opaque_ptr (lval); + } + +diff -ru xemacs-21.5.24.orig/src/event-unixoid.c xemacs-21.5.24/src/event-unixoid.c +--- xemacs-21.5.24.orig/src/event-unixoid.c 2003-02-07 12:50:53.000000000 +0100 ++++ xemacs-21.5.24/src/event-unixoid.c 2006-02-17 12:50:18.000000000 +0100 +@@ -27,6 +27,7 @@ + /* This file has been Mule-ized. */ + + #include ++#include + #include "lisp.h" + + #include "console-stream-impl.h" +@@ -361,9 +362,9 @@ + /* Decode inhandle and outhandle. Their meaning depends on + the process implementation being used. */ + /* We are passed plain old file descs */ +- infd = (int) inhandle; +- outfd = (int) outhandle; +- errfd = (int) errhandle; ++ infd = (int) (intptr_t) inhandle; ++ outfd = (int) (intptr_t) outhandle; ++ errfd = (int) (intptr_t) errhandle; + + *instream = (infd >= 0 + ? make_filedesc_input_stream (infd, 0, -1, 0) +diff -ru xemacs-21.5.24.orig/src/input-method-xlib.c xemacs-21.5.24/src/input-method-xlib.c +--- xemacs-21.5.24.orig/src/input-method-xlib.c 2005-01-25 00:33:59.000000000 +0100 ++++ xemacs-21.5.24/src/input-method-xlib.c 2006-02-17 12:54:58.000000000 +0100 +@@ -70,6 +70,7 @@ + */ + + #include ++#include + #include "lisp.h" + + #include "buffer.h" +@@ -708,7 +709,7 @@ + + if (converter_data) + { +- Boolean free_p = (Boolean) (int) converter_data; ++ Boolean free_p = (Boolean) (int) (intptr_t) converter_data; + XIMStyles *styles = (XIMStyles *) toVal->addr; + if (free_p) + XFree ( styles->supported_styles ); +diff -ru xemacs-21.5.24.orig/src/process-unix.c xemacs-21.5.24/src/process-unix.c +--- xemacs-21.5.24.orig/src/process-unix.c 2005-02-04 05:06:34.000000000 +0100 ++++ xemacs-21.5.24/src/process-unix.c 2006-02-17 12:56:36.000000000 +0100 +@@ -31,6 +31,7 @@ + written by Wolfgang S. Rupprecht */ + + #include ++#include + + #if !defined (NO_SUBPROCESSES) + +@@ -846,8 +847,8 @@ + unix_init_process_io_handles (Lisp_Process *p, void *in, void *UNUSED (out), + void *err, int UNUSED (flags)) + { +- UNIX_DATA(p)->infd = (int) in; +- UNIX_DATA(p)->errfd = (int) err; ++ UNIX_DATA(p)->infd = (int) (intptr_t) in; ++ UNIX_DATA(p)->errfd = (int) (intptr_t) err; + } + + /* Move the file descriptor FD so that its number is not less than MIN. * diff --git a/destdir.patch b/destdir.patch new file mode 100644 index 0000000..8480f7e --- /dev/null +++ b/destdir.patch @@ -0,0 +1,362 @@ +diff -ru xemacs-21.5.24.orig/Makefile.in.in xemacs-21.5.24/Makefile.in.in +--- xemacs-21.5.24.orig/Makefile.in.in 2005-12-27 18:11:00.000000000 +0100 ++++ xemacs-21.5.24/Makefile.in.in 2005-12-27 19:00:48.000000000 +0100 +@@ -61,6 +61,8 @@ + RECURSIVE_MAKE_ARGS=@RECURSIVE_MAKE_ARGS@ + #endif + ++DESTDIR= ++ + SHELL = /bin/sh + LANG = C + LC_ALL = C +@@ -382,35 +384,35 @@ + (cd ./$${subdir} && $(MAKE) $(RECURSIVE_MAKE_ARGS) install prefix=${prefix} \ + exec_prefix=${exec_prefix} bindir=${bindir} libdir=${libdir} \ + archlibdir=${archlibdir}) ; done +- if test "`(cd ${archlibdir} && $(pwd))`" != \ ++ if test "`(cd $(DESTDIR)${archlibdir} && $(pwd))`" != \ + "`(cd ./lib-src && $(pwd))`"; then \ + if test -f ../Installation; then \ +- ${INSTALL_DATA} ../Installation ${archlibdir}/Installation; \ ++ ${INSTALL_DATA} ../Installation $(DESTDIR)${archlibdir}/Installation; \ + fi; \ +- ${INSTALL_DATA} lib-src/config.values ${docdir}/config.values; \ +- ${INSTALL_DATA} lib-src/DOC ${docdir}/DOC; \ ++ ${INSTALL_DATA} lib-src/config.values $(DESTDIR)${docdir}/config.values; \ ++ ${INSTALL_DATA} lib-src/DOC $(DESTDIR)${docdir}/DOC; \ + for subdir in `find ${archlibdir} -type d ! -name RCS ! -name SCCS ! -name CVS -print` ; \ + do (cd $${subdir} && $(RM) -r RCS CVS SCCS \#* *~) ; done ; \ + else true; fi + #if (defined(PDUMP) && !defined (DUMP_IN_EXEC)) || (defined (PDUMP) && defined(WIN32_NATIVE)) +- ${INSTALL_DATA} src/${PROGNAME}.dmp ${bindir}/${PROGNAME}-${version}-`src/${PROGNAME} -sd`.dmp ++ ${INSTALL_DATA} src/${PROGNAME}.dmp $(DESTDIR)${bindir}/${PROGNAME}-${version}-`src/${PROGNAME} -sd`.dmp + #endif + #ifdef WIN32_NATIVE +- ${INSTALL_PROGRAM} src/${PROGNAME} ${bindir}/${PROGNAME} +- -chmod 0755 ${bindir}/${PROGNAME} ++ ${INSTALL_PROGRAM} src/${PROGNAME} $(DESTDIR)${bindir}/${PROGNAME} ++ -chmod 0755 $(DESTDIR)${bindir}/${PROGNAME} + #else + # ifdef CYGWIN +- ${INSTALL_PROGRAM} src/${PROGNAME} ${bindir}/${PROGNAME}-${version}.exe +- -chmod 0755 ${bindir}/${PROGNAME}-${version}.exe +- cd ${bindir} && $(RM) ./${PROGNAME} && ${LN_S} ${PROGNAME}-${version}.exe ./${PROGNAME} ++ ${INSTALL_PROGRAM} src/${PROGNAME} $(DESTDIR)${bindir}/${PROGNAME}-${version}.exe ++ -chmod 0755 $(DESTDIR)${bindir}/${PROGNAME}-${version}.exe ++ cd $(DESTDIR)${bindir} && $(RM) ./${PROGNAME} && ${LN_S} ${PROGNAME}-${version}.exe ./${PROGNAME} + # else +- ${INSTALL_PROGRAM} src/${PROGNAME} ${bindir}/${PROGNAME}-${version} +- -chmod 0755 ${bindir}/${PROGNAME}-${version} +- cd ${bindir} && $(RM) ./${PROGNAME} && ${LN_S} ${PROGNAME}-${version} ./${PROGNAME} ++ ${INSTALL_PROGRAM} src/${PROGNAME} $(DESTDIR)${bindir}/${PROGNAME}-${version} ++ -chmod 0755 $(DESTDIR)${bindir}/${PROGNAME}-${version} ++ cd $(DESTDIR)${bindir} && $(RM) ./${PROGNAME} && ${LN_S} ${PROGNAME}-${version} ./${PROGNAME} + # endif /* CYGWIN */ + #endif /* WIN32_NATIVE */ + if test "${prefix}" != "${exec_prefix}"; then \ +- $(MAKEPATH) ${exec_prefix}/lib/${instvardir}; \ ++ $(MAKEPATH) $(DESTDIR)${exec_prefix}/lib/${instvardir}; \ + for dir in \ + lib/${inststaticdir} \ + lib/${instvardir}/etc \ +@@ -421,13 +423,13 @@ + done; \ + fi + #ifdef HAVE_SHLIB +- $(INSTALL_DATA) $(srcdir)/modules/auto-autoloads.* $(moduledir) ++ $(INSTALL_DATA) $(srcdir)/modules/auto-autoloads.* $(DESTDIR)$(moduledir) + #endif + + install-arch-indep: mkdir info + -@set ${COPYDESTS} ; \ + for dir in ${COPYDIR} ; do \ +- if test "`(cd $$1 && $(pwd))`" != \ ++ if test "`(cd $(DESTDIR)$$1 && $(pwd))`" != \ + "`(cd $${dir} && $(pwd))`"; then \ + : do nothing - echo "rm -rf $$1" ; \ + fi ; \ +@@ -435,35 +437,35 @@ + done + -set ${COPYDESTS} ; \ + for dir in ${COPYDESTS} ; do \ +- if test ! -d $${dir} ; then mkdir $${dir} ; fi ; \ ++ if test ! -d $${dir} ; then mkdir $(DESTDIR)$${dir} ; fi ; \ + done ; \ + for dir in ${COPYDIR} ; do \ + dest=$$1 ; shift ; \ + test -d $${dir} \ + -a "`(cd $${dir} && $(pwd))`" != \ +- "`(cd $${dest} && $(pwd))`" \ ++ "`(cd $(DESTDIR)$${dest} && $(pwd))`" \ + && (echo "Copying $${dir}..." ; \ + (cd $${dir} && $(TAR) -cf - . ) | \ +- (cd $${dest} && umask 022 && $(TAR) -xf - );\ +- chmod 0755 $${dest}; \ +- for subdir in `find $${dest} -type d ! -name RCS ! -name SCCS ! -name CVS -print` ; do \ ++ (cd $(DESTDIR)$${dest} && umask 022 && $(TAR) -xf - );\ ++ chmod 0755 $(DESTDIR)$${dest}; \ ++ for subdir in `find $(DESTDIR)$${dest} -type d ! -name RCS ! -name SCCS ! -name CVS -print` ; do \ + (cd $${subdir} && $(RM) -r RCS CVS SCCS \#* *~) ; \ + done) ; \ + done + if test "`(cd ${srcdir}/info && $(pwd))`" != \ +- "`(cd ${infodir} && $(pwd))`" && cd ${srcdir}/info; then \ +- if test ! -f ${infodir}/dir -a -f dir ; then \ +- ${INSTALL_DATA} ${srcdir}/info/dir ${infodir}/dir ; \ ++ "`(cd $(DESTDIR)${infodir} && $(pwd))`" && cd ${srcdir}/info; then \ ++ if test ! -f $(DESTDIR)${infodir}/dir -a -f dir ; then \ ++ ${INSTALL_DATA} ${srcdir}/info/dir $(DESTDIR)${infodir}/dir ; \ + fi ; \ + for file in *.info* ; do \ +- ${INSTALL_DATA} $${file} ${infodir}/$${file} ; \ +- chmod 0644 ${infodir}/$${file}; \ ++ ${INSTALL_DATA} $${file} $(DESTDIR)${infodir}/$${file} ; \ ++ chmod 0644 $(DESTDIR)${infodir}/$${file}; \ + done ; \ + fi + cd ${srcdir}/etc && \ + for page in xemacs etags ctags gnuserv gnuclient gnuattach gnudoit; do \ +- ${INSTALL_DATA} ${srcdir}/etc/$${page}.1 ${mandir}/$${page}${manext} ; \ +- chmod 0644 ${mandir}/$${page}${manext} ; \ ++ ${INSTALL_DATA} ${srcdir}/etc/$${page}.1 $(DESTDIR)${mandir}/$${page}${manext} ; \ ++ chmod 0644 $(DESTDIR)${mandir}/$${page}${manext} ; \ + done + @echo "If you would like to save approximately 4M of disk space, do" + @echo "make gzip-el" +@@ -473,19 +475,23 @@ + @echo "${lispdir}" + + gzip-el: +- $(SHELL) ${srcdir}/lib-src/gzip-el.sh ${lispdir} ++ $(SHELL) ${srcdir}/lib-src/gzip-el.sh $(DESTDIR)${lispdir} + + ## Build all the directories to install XEmacs in. + ## Since we may be creating several layers of directories, + ## (e.g. /usr/local/lib/${PROGNAME}-20.5/sparc-sun-solaris2.6), we use + ## make-path instead of mkdir. Not all mkdirs have the `-p' flag. + mkdir: FRC.mkdir +- ${MAKEPATH} ${COPYDESTS} ${docdir} ${infodir} ${archlibdir} \ +- ${mandir} ${bindir} ${datadir} ${libdir} \ ++ for dir in \ ++ ${COPYDESTS} ${docdir} ${infodir} ${archlibdir} \ ++ ${mandir} ${bindir} ${datadir} ${libdir} \ + #ifdef HAVE_SHLIB +- ${moduledir} ${sitemoduledir} \ ++ ${moduledir} ${sitemoduledir} \ + #endif +- ${sitelispdir} ++ ${sitelispdir} ; \ ++ do \ ++ ${MAKEPATH} $(DESTDIR)$${dir} ; \ ++ done ; + + ## Delete all the installed files that the `install' target would + ## create (but not the noninstalled files such as `make all' would +diff -ru xemacs-21.5.24.orig/dynodump/Makefile.in.in xemacs-21.5.24/dynodump/Makefile.in.in +--- xemacs-21.5.24.orig/dynodump/Makefile.in.in 2005-12-27 18:11:04.000000000 +0100 ++++ xemacs-21.5.24/dynodump/Makefile.in.in 2005-12-27 19:00:48.000000000 +0100 +@@ -22,6 +22,8 @@ + + ## Synched up with: Not synched with FSF. + ++DESTDIR= ++ + ## For performance and consistency, no built-in rules. + .SUFFIXES: + .SUFFIXES: .c .o .i .h +diff -ru xemacs-21.5.24.orig/etc/tests/external-widget/Makefile xemacs-21.5.24/etc/tests/external-widget/Makefile +--- xemacs-21.5.24.orig/etc/tests/external-widget/Makefile 1996-12-18 23:42:31.000000000 +0100 ++++ xemacs-21.5.24/etc/tests/external-widget/Makefile 2005-12-27 19:00:48.000000000 +0100 +@@ -1,3 +1,5 @@ ++DESTDIR= ++ + CFLAGS += -Xc -g -DTOOLTALK + EMACSHOME = ../../.. + EMACSLIBDIR = $(EMACSHOME)/editor/src +diff -ru xemacs-21.5.24.orig/lib-src/Makefile.in.in xemacs-21.5.24/lib-src/Makefile.in.in +--- xemacs-21.5.24.orig/lib-src/Makefile.in.in 2005-12-27 18:11:23.000000000 +0100 ++++ xemacs-21.5.24/lib-src/Makefile.in.in 2005-12-27 19:00:48.000000000 +0100 +@@ -24,6 +24,8 @@ + ## above a certain point in this file are in shell format instead of + ## in C format. How the hell is this supposed to work? */ + ++DESTDIR= ++ + ## For performance and consistency, no built-in rules + .SUFFIXES: + .SUFFIXES: .c .h .o +@@ -244,26 +246,26 @@ + ## just run them directly from lib-src. + ${archlibdir}: all + @echo; echo "Installing utilities run internally by XEmacs." +- ./make-path ${archlibdir} ++ ./make-path $(DESTDIR)${archlibdir} + if test "`(cd ${archlibdir} && $(pwd))`" != "`$(pwd)`"; then \ + for f in ${PRIVATE_INSTALLABLE_EXES}; do \ +- (cd .. && $(INSTALL_PROGRAM) lib-src/$$f ${archlibdir}/$$f) ; \ ++ (cd .. && $(INSTALL_PROGRAM) lib-src/$$f $(DESTDIR)${archlibdir}/$$f) ; \ + done ; \ + fi + if test "`(cd ${archlibdir} && $(pwd))`" \ + != "`(cd ${srcdir} && $(pwd))`"; then \ + for f in ${PRIVATE_INSTALLABLE_SCRIPTS}; do \ +- (cd .. && $(INSTALL_PROGRAM) ${srcdir}/$$f ${archlibdir}/$$f); \ ++ (cd .. && $(INSTALL_PROGRAM) ${srcdir}/$$f $(DESTDIR)${archlibdir}/$$f); \ + done ; \ + fi + + install: ${archlibdir} + @echo; echo "Installing utilities for users to run." + for file in ${PUBLIC_INSTALLABLE_EXES} ; do \ +- (cd .. && $(INSTALL_PROGRAM) lib-src/$${file} ${bindir}/$${file}) ; \ ++ (cd .. && $(INSTALL_PROGRAM) lib-src/$${file} $(DESTDIR)${bindir}/$${file}) ; \ + done + for file in ${PUBLIC_INSTALLABLE_SCRIPTS} ; do \ +- (cd .. && $(INSTALL_PROGRAM) ${srcdir}/$${file} ${bindir}/$${file}) ; \ ++ (cd .. && $(INSTALL_PROGRAM) ${srcdir}/$${file} $(DESTDIR)${bindir}/$${file}) ; \ + done + + uninstall: +diff -ru xemacs-21.5.24.orig/lwlib/Makefile.in.in xemacs-21.5.24/lwlib/Makefile.in.in +--- xemacs-21.5.24.orig/lwlib/Makefile.in.in 2005-12-27 18:11:45.000000000 +0100 ++++ xemacs-21.5.24/lwlib/Makefile.in.in 2005-12-27 19:00:48.000000000 +0100 +@@ -22,6 +22,8 @@ + ## the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + ## Boston, MA 02111-1307, USA. + ++DESTDIR= ++ + ## For performance and consistency, no built-in rules + .SUFFIXES: + .SUFFIXES: .c .h .o .i .s +diff -ru xemacs-21.5.24.orig/man/Makefile xemacs-21.5.24/man/Makefile +--- xemacs-21.5.24.orig/man/Makefile 2005-12-27 18:11:52.000000000 +0100 ++++ xemacs-21.5.24/man/Makefile 2005-12-27 19:00:48.000000000 +0100 +@@ -20,6 +20,8 @@ + # the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + # Boston, MA 02111-1307, USA. + ++DESTDIR= ++ + SHELL = /bin/sh + MAKEINFO = makeinfo + TEXI2DVI = texi2dvi +diff -ru xemacs-21.5.24.orig/modules/base64/Makefile xemacs-21.5.24/modules/base64/Makefile +--- xemacs-21.5.24.orig/modules/base64/Makefile 2001-04-12 20:22:33.000000000 +0200 ++++ xemacs-21.5.24/modules/base64/Makefile 2005-12-27 19:00:48.000000000 +0100 +@@ -7,6 +7,8 @@ + # 'installed'. + # + ++DESTDIR= ++ + SHELL=/bin/sh + RM=rm -f + CC=../../lib-src/ellcc +diff -ru xemacs-21.5.24.orig/modules/common/Makefile.common xemacs-21.5.24/modules/common/Makefile.common +--- xemacs-21.5.24.orig/modules/common/Makefile.common 2005-12-27 18:11:58.000000000 +0100 ++++ xemacs-21.5.24/modules/common/Makefile.common 2005-12-27 19:01:49.000000000 +0100 +@@ -31,6 +31,8 @@ + #define NOT_C_CODE + #include "../../src/config.h" + ++DESTDIR= ++ + SHELL=/bin/sh + RM=rm -f + PROGNAME=@PROGNAME@ +@@ -98,7 +100,7 @@ + -$(RM) *~ \#* + + install: $(OBJECT_TO_BUILD) +- $(INSTALL_PROGRAM) $< $(INSTALLPATH) ++ $(INSTALL_PROGRAM) $< $(DESTDIR)$(INSTALLPATH) + + ## + ## Local Variables: +diff -ru xemacs-21.5.24.orig/modules/zlib/Makefile xemacs-21.5.24/modules/zlib/Makefile +--- xemacs-21.5.24.orig/modules/zlib/Makefile 2001-04-12 20:22:40.000000000 +0200 ++++ xemacs-21.5.24/modules/zlib/Makefile 2005-12-27 19:00:48.000000000 +0100 +@@ -8,6 +8,8 @@ + # 'installed'. + # + ++DESTDIR= ++ + SHELL=/bin/sh + RM=rm -f + CC=../../lib-src/ellcc +diff -ru xemacs-21.5.24.orig/netinstall/Makefile.in.in xemacs-21.5.24/netinstall/Makefile.in.in +--- xemacs-21.5.24.orig/netinstall/Makefile.in.in 2005-12-27 18:11:58.000000000 +0100 ++++ xemacs-21.5.24/netinstall/Makefile.in.in 2005-12-27 19:00:48.000000000 +0100 +@@ -14,6 +14,8 @@ + ## + ## Makefile for Cygwin installer + ++DESTDIR= ++ + ## For performance and consistency, no built-in rules + .SUFFIXES: + .SUFFIXES: .c .cc .h .o +@@ -172,7 +174,7 @@ + install: + @echo; echo "Installing net setup." + for file in ${INSTALLABLES} ; do \ +- (cd .. && $(INSTALL_PROGRAM) netinstall/$${file} ${bindir}/$${file}) ; \ ++ (cd .. && $(INSTALL_PROGRAM) netinstall/$${file} $(DESTDIR)${bindir}/$${file}) ; \ + done + + version.c : $(srcdir)/ChangeLog Makefile +diff -ru xemacs-21.5.24.orig/src/Makefile.in.in xemacs-21.5.24/src/Makefile.in.in +--- xemacs-21.5.24.orig/src/Makefile.in.in 2005-12-27 18:12:02.000000000 +0100 ++++ xemacs-21.5.24/src/Makefile.in.in 2005-12-27 19:00:48.000000000 +0100 +@@ -39,6 +39,8 @@ + RECURSIVE_MAKE_ARGS=@RECURSIVE_MAKE_ARGS@ + #endif + ++DESTDIR= ++ + PROGNAME=@PROGNAME@ + prefix=@prefix@ + SRC=@srcdir@ +@@ -1068,7 +1070,7 @@ + #ifdef HAVE_SHLIB + MAKEPATH=../lib-src/make-path + install: $(PROGNAME) +- $(MAKEPATH) $(archlibdir)/include $(archlibdir)/include/m $(archlibdir)/include/s ++ $(MAKEPATH) $(DESTDIR)$(archlibdir)/include $(DESTDIR)$(archlibdir)/include/m $(DESTDIR)$(archlibdir)/include/s + -@echo "Copying include files for ellcc..." + -@hdir=`pwd`; \ + cd $(SRC); hdrdir2=`pwd`; cd $$hdir; \ +@@ -1082,12 +1084,12 @@ + test -d s && hdrtars="$$hdrtars s/*"; \ + test -d m && hdrtars="$$hdrtars m/*"; \ + test -n "$$hdrtars" && (tar cf - $$hdrtars) | \ +- (cd $(archlibdir)/include && umask 022 && tar xf -); \ +- chmod 755 $(archlibdir)/include; \ +- test -d $(archlibdir)/include/s && \ +- chmod 755 $(archlibdir)/include/s; \ +- test -d $(archlibdir)/include/m && \ +- chmod 755 $(archlibdir)/include/s;) \ ++ (cd $(DESTDIR)$(archlibdir)/include && umask 022 && tar xf -); \ ++ chmod 755 $(DESTDIR)$(archlibdir)/include; \ ++ test -d $(DESTDIR)$(archlibdir)/include/s && \ ++ chmod 755 $(DESTDIR)$(archlibdir)/include/s; \ ++ test -d $(DESTDIR)$(archlibdir)/include/m && \ ++ chmod 755 $(DESTDIR)$(archlibdir)/include/s;) \ + done) + #endif + +diff -ru xemacs-21.5.24.orig/tests/tooltalk/Makefile xemacs-21.5.24/tests/tooltalk/Makefile +--- xemacs-21.5.24.orig/tests/tooltalk/Makefile 1996-12-18 23:44:15.000000000 +0100 ++++ xemacs-21.5.24/tests/tooltalk/Makefile 2005-12-27 19:00:48.000000000 +0100 +@@ -12,6 +12,8 @@ + + ### Code: + ++DESTDIR= ++ + CC = cc -Xc + CPPFLAGS = -I/usr/openwin/include + CFLAGS = -g -v -DNeedFunctionPrototypes diff --git a/do-not-create-backups-in-temp-directories.patch b/do-not-create-backups-in-temp-directories.patch new file mode 100644 index 0000000..199b687 --- /dev/null +++ b/do-not-create-backups-in-temp-directories.patch @@ -0,0 +1,14 @@ +diff -ru xemacs-21.5.21.orig/lisp/files.el xemacs-21.5.21/lisp/files.el +--- xemacs-21.5.21.orig/lisp/files.el 2005-04-08 16:07:00.000000000 +0200 ++++ xemacs-21.5.21/lisp/files.el 2005-06-07 21:25:23.000000000 +0200 +@@ -166,7 +166,9 @@ + Checks for files in `temporary-file-directory' or + `small-temporary-file-directory'." + (let ((temporary-file-directory (temp-directory))) +- (not (or (let ((comp (compare-strings temporary-file-directory 0 nil ++ (not (or (null name) ++ (string-match "^/tmp/" name) ++ (let ((comp (compare-strings temporary-file-directory 0 nil + name 0 nil))) + ;; Directory is under temporary-file-directory. + (and (not (eq comp t)) diff --git a/fix-load-history.el b/fix-load-history.el new file mode 100644 index 0000000..f834771 --- /dev/null +++ b/fix-load-history.el @@ -0,0 +1,29 @@ +;;; -*- mode: emacs-lisp -*- + +;;; fix up the load-history to make it possible to use find-function +;;; on functions which are in dumped lisp files, even if XEmacs was not +;;; dumped at the place where it is finally running. +;;; +;;; Suggested by Jeff Mincy , see: +;;; +;;; http://list-archive.xemacs.org/xemacs-design/200204/msg00365.html +;;; +;;; Test whether this works by evaluating (find-function 'next-line) +;;; + +(defvar build-directory + (let ((dumped-file (symbol-file 'next-line))) + (and lisp-directory + (file-directory-p lisp-directory) + dumped-file + (not (file-exists-p dumped-file)) + (string-match "^\\(.*[/\\]lisp[/\\]\\)" dumped-file) + (substring dumped-file (match-beginning 1) (match-end 1)))) + "The directory that is stored in load-history for dumped files") + +(when build-directory + (eval-after-load 'find-func + (dolist (entry load-history) + (when (string-match (regexp-quote build-directory) (car entry)) + (setcar entry (replace-match lisp-directory t t (car entry))))))) + diff --git a/gnomebug.patch b/gnomebug.patch new file mode 100644 index 0000000..85a6183 --- /dev/null +++ b/gnomebug.patch @@ -0,0 +1,247 @@ +diff -ru xemacs-21.5.18.orig/src/EmacsFrame.c xemacs-21.5.18/src/EmacsFrame.c +--- xemacs-21.5.18.orig/src/EmacsFrame.c 2004-09-20 21:19:34.000000000 +0200 ++++ xemacs-21.5.18/src/EmacsFrame.c 2004-12-10 14:33:40.000000000 +0100 +@@ -33,6 +33,7 @@ + #include "faces.h" + #include "frame-impl.h" + #include "toolbar.h" ++#include "sysdep.h" + #include "window.h" + + #include "console-x-impl.h" +@@ -510,15 +511,22 @@ + setting, automatically forces a redisplay as necessary. */ + } + ++int update_hints_inhibit = 0; ++ + static XtGeometryResult + EmacsFrameQueryGeometry (Widget widget, XtWidgetGeometry *request, + XtWidgetGeometry *result) + { + EmacsFrame ew = (EmacsFrame) widget; ++ struct frame *f = (struct frame*)ew->emacs_frame.frame; + int mask = request->request_mode; +- Dimension width, height; +- int ok_width_int, ok_height_int; ++ const Dimension width = (mask & CWWidth ) ? request->width : ew->core.width; ++ const Dimension height = (mask & CWHeight) ? request->height : ew->core.height; ++ int ok_width_int, ok_height_int, columns, rows, char_width, char_height; + Dimension ok_width, ok_height; ++ int delta_w, delta_h; ++ ++ update_hints_inhibit = 1; + + /* We have a definite preference for what size we would like + to be. +@@ -530,19 +538,42 @@ + 3) Otherwise, take our current size and round it to the + nearest multiple of the default char size. */ + +- width = mask & CWWidth ? request->width : ew->core.width; +- height = mask & CWHeight ? request->height : ew->core.height; +- round_size_to_char (ew->emacs_frame.frame, width, height, +- &ok_width_int, &ok_height_int); +- ok_width = (Dimension) ok_width_int; ++ pixel_to_char_size (f, width, height, &columns, &rows); ++ round_size_to_char (f, width, height, &ok_width_int, &ok_height_int); ++ ++ ok_width = (Dimension) ok_width_int; + ok_height = (Dimension) ok_height_int; ++ + if (ew->emacs_frame.preferred_width) + ok_width = ew->emacs_frame.preferred_width; + if (ew->emacs_frame.preferred_height) + ok_height = ew->emacs_frame.preferred_height; +- result->request_mode |= CWWidth | CWHeight; ++ ++ char_width = ok_width / columns; ++ char_height = ok_height / rows; ++ delta_w = width - f->gnomewidth; ++ delta_h = height - f->gnomeheight; ++ ++ if (abs(delta_w) < char_width) ++ ok_width = result->width = f->gnomewidth; ++ else ++ f->gnomewidth = width; ++ ++ if (abs(delta_h) < char_height) ++ ok_height = result->height = f->gnomeheight; ++ else ++ f->gnomeheight = height; ++ ++ if (ok_width != width) ++ result->request_mode |= CWWidth; ++ if (ok_height != height) ++ result->request_mode |= CWHeight; ++ + result->width = ok_width; + result->height = ok_height; ++ ++ update_hints_inhibit = 0; ++ + if (((mask & CWWidth) && ok_width != request->width) + || ((mask & CWHeight) && ok_height != request->height)) + return XtGeometryAlmost; +@@ -632,8 +663,21 @@ + if (rows < 1) + rows = 1; + ++ check_frame_size (f, &rows, &columns); + char_to_pixel_size (f, columns, rows, &pixel_width, &pixel_height); + ++ if (ew->core.width == pixel_width && ew->core.height == pixel_height) ++ return; ++ ++#if 0 ++ { ++ Arg al[1]; ++ XtSetArg (al [0], XtNwaitForWm, FALSE); ++ XtSetValues ((Widget) ew, al, countof (al)); ++ } ++#endif ++ stop_interrupts (); ++ + if (FRAME_X_TOP_LEVEL_FRAME_P (f)) + x_wm_set_variable_size (FRAME_X_SHELL_WIDGET (f), columns, rows); + +@@ -643,4 +687,6 @@ + XtSetArg (al [1], XtNheight, pixel_height); + XtSetValues ((Widget) ew, al, countof (al)); + } ++ ++ start_interrupts(); + } +diff -ru xemacs-21.5.18.orig/src/EmacsShell-sub.c xemacs-21.5.18/src/EmacsShell-sub.c +--- xemacs-21.5.18.orig/src/EmacsShell-sub.c 2003-02-14 08:38:30.000000000 +0100 ++++ xemacs-21.5.18/src/EmacsShell-sub.c 2004-12-10 14:33:40.000000000 +0100 +@@ -232,6 +232,20 @@ + + WidgetClass EMACS_SHELL_WIDGET_CLASS = (WidgetClass) &EMACS_SHELL_CLASS_REC; + ++extern int update_hints_inhibit; ++ ++static Widget ++get_wm_shell (Widget w) ++{ ++ Widget wmshell; ++ ++ for (wmshell = XtParent (w); ++ wmshell && !XtIsWMShell (wmshell); ++ wmshell = XtParent (wmshell)); ++ ++ return wmshell; ++} ++ + static void + update_size_hints_internal (EMACS_SHELL_WIDGET w, + int width, int height) +@@ -240,6 +254,10 @@ + int cell_width, cell_height; + Arg al [10]; + ++ if (update_hints_inhibit) ++ return; ++ stop_interrupts (); ++ + /* time to update them thar size hints */ + cell_width = w->wm.size_hints.width_inc; + cell_height = w->wm.size_hints.height_inc; +@@ -264,6 +282,8 @@ + XtSetArg(al [3], XtNminHeight, base_height + + cell_height * w->emacs_shell.min_height_cells); + XtSetValues ((Widget) w, al, 4); ++ ++ start_interrupts (); + } + + static XtGeometryResult +@@ -302,6 +322,8 @@ + /* OK since this file is not dumped */ + static int reentrant = 0; + XtGeometryResult result; ++ Dimension ok_width = 0, ok_height = 0; ++ int mask = request->request_mode; + + if (reentrant) + abort (); +@@ -317,13 +339,51 @@ + printf ("\n"); + printf (" requested shell size: %d %d\n", request->width, request->height); + #endif ++#if 0 ++ if (mask & (CWWidth | CWHeight)) ++ { ++ const Dimension cell_width = w->wm.size_hints.width_inc; ++ const Dimension cell_height = w->wm.size_hints.height_inc; ++ const Dimension requ_width = ((mask & CWWidth) ? request->width : w->core.width ); ++ const Dimension requ_height = ((mask & CWHeight) ? request->height : w->core.height); ++ const Dimension base_width = requ_width - cell_width * w->emacs_shell.width_cells; ++ const Dimension base_height = requ_height - cell_height * w->emacs_shell.height_cells; ++ ++ const int xw = (requ_width - base_width ) / cell_width; ++ const int xh = (requ_height - base_height) / cell_height; ++ ++ ok_width = base_width + (cell_width * xw); ++ ok_height = base_height + (cell_height * xh); ++ ++ if ((mask & CWWidth) && (ok_width != request->width)) ++ { ++ request->request_mode |= CWWidth; ++ request->width = ok_width; ++ } ++ if ((mask & CWHeight) && (ok_height != request->height)) ++ { ++ request->request_mode |= CWHeight; ++ request->height = ok_height; ++ } ++ ++ if ((mask & CWWidth) && (xw == w->emacs_shell.width_cells)) ++ { ++ request->request_mode &= ~CWWidth; ++ request->width = w->core.width; ++ } ++ if ((mask & CWHeight) && (xh == w->emacs_shell.height_cells)) ++ { ++ request->request_mode &= ~CWHeight; ++ request->height = w->core.height; ++ } ++ } ++#endif + /* update the size hints */ + update_size_hints_internal (w, + request->request_mode & CWWidth ? + request->width : w->core.width, + request->request_mode & CWHeight ? + request->height : w->core.height); +- + result = SuperClassRootGeometryManager (gw, request, reply); + + #ifdef DEBUG_GEOMETRY_MANAGEMENT +diff -ru xemacs-21.5.18.orig/src/frame-impl.h xemacs-21.5.18/src/frame-impl.h +--- xemacs-21.5.18.orig/src/frame-impl.h 2003-01-12 12:08:16.000000000 +0100 ++++ xemacs-21.5.18/src/frame-impl.h 2004-12-10 15:04:17.337109993 +0100 +@@ -68,6 +68,10 @@ + of line glyphs, in pixels */ + int pixheight, pixwidth; + ++ /* Remember size of the whole frame due be able to work around ++ GNOME metacity bug */ ++ int gnomeheight, gnomewidth; ++ + #ifdef HAVE_TTY + /* The count of frame number. This applies to TTY frames only. */ + int order_count; +diff -ru xemacs-21.5.18.orig/src/redisplay.c xemacs-21.5.18/src/redisplay.c +--- xemacs-21.5.18.orig/src/redisplay.c 2004-09-20 21:19:57.000000000 +0200 ++++ xemacs-21.5.18/src/redisplay.c 2004-12-10 14:33:41.000000000 +0100 +@@ -6965,7 +6965,9 @@ + if (f->size_slipped) + { + adjust_frame_size (f); ++#if 0 + assert (!f->size_slipped); ++#endif + } + + /* The menubar, toolbar, and icon updates should be done before diff --git a/ndbm.patch b/ndbm.patch new file mode 100644 index 0000000..6fa809c --- /dev/null +++ b/ndbm.patch @@ -0,0 +1,14 @@ +diff -ru xemacs-21.5.20.orig/configure.ac xemacs-21.5.20/configure.ac +--- xemacs-21.5.20.orig/configure.ac 2005-03-11 12:19:01.000000000 +0100 ++++ xemacs-21.5.20/configure.ac 2005-05-13 11:41:10.000000000 +0200 +@@ -4917,8 +4917,8 @@ + + dnl Check for DBM support in libgdbm. + if test "$enable_database_gdbm" != "no"; then +- AC_CHECK_LIB(gdbm, dbm_open, [ +- enable_database_gdbm=yes enable_database_dbm=no libdbm=-lgdbm], [ ++ AC_CHECK_LIB(ndbm, dbm_open, [ ++ enable_database_gdbm=yes enable_database_dbm=no libdbm=-lndbm], [ + if test "$enable_database_gdbm" = "yes"; then + XE_DIE("Required GNU DBM support cannot be provided.") + fi diff --git a/ready b/ready new file mode 100644 index 0000000..473a0f4 diff --git a/set-locale-to-c-when-not-supported-by-x.patch b/set-locale-to-c-when-not-supported-by-x.patch new file mode 100644 index 0000000..1f7a751 --- /dev/null +++ b/set-locale-to-c-when-not-supported-by-x.patch @@ -0,0 +1,17 @@ +diff -ru xemacs-21.5.25.20060327.orig/src/intl.c xemacs-21.5.25.20060327/src/intl.c +--- xemacs-21.5.25.20060327.orig/src/intl.c 2005-12-27 18:12:09.000000000 +0100 ++++ xemacs-21.5.25.20060327/src/intl.c 2006-03-27 17:06:52.000000000 +0200 +@@ -84,8 +84,10 @@ + #ifdef HAVE_X_WINDOWS + if (!init_x_locale (locale)) + { +- /* Locale not supported under X. Put it back. */ +- setlocale (LC_ALL, loc); ++ /* Locale not supported under X. Set locale to "C" and print a warning. */ ++ warn_when_safe (Qwarning, Qwarning, ++ "locale not supported by Xlib, setting locale to C."); ++ setlocale (LC_ALL, "C"); + setlocale (LC_NUMERIC, "C"); + free (loc); + return Qnil; + diff --git a/suppress-warning-about-undefined-unicode-key-mappings.patch b/suppress-warning-about-undefined-unicode-key-mappings.patch new file mode 100644 index 0000000..90092df --- /dev/null +++ b/suppress-warning-about-undefined-unicode-key-mappings.patch @@ -0,0 +1,12 @@ +diff -ru xemacs-21.5.21.orig/lisp/x-init.el xemacs-21.5.21/lisp/x-init.el +--- xemacs-21.5.21.orig/lisp/x-init.el 2005-05-10 19:14:42.000000000 +0200 ++++ xemacs-21.5.21/lisp/x-init.el 2005-06-13 16:44:51.000000000 +0200 +@@ -243,6 +243,7 @@ + (when (and (not (get (intern sym-string) 'ascii-character)) + (string-match "^U[0-9A-F]+$" sym-string)) + (pushnew (concat sym-string " ") unknown-code-points :test 'equal))) ++ (setq unknown-code-points nil) + (when unknown-code-points + (lwarn 'key-mapping 'info + "Undefined Unicode key mappings. +xemacs-21.5.21/lispだけに発見: x-init.el.~1~ diff --git a/unitialized-variables.patch b/unitialized-variables.patch new file mode 100644 index 0000000..c6434de --- /dev/null +++ b/unitialized-variables.patch @@ -0,0 +1,26 @@ +diff -ru xemacs-21.5.25.20060327.orig/src/extents.c xemacs-21.5.25.20060327/src/extents.c +--- xemacs-21.5.25.20060327.orig/src/extents.c 2006-03-27 13:37:34.000000000 +0200 ++++ xemacs-21.5.25.20060327/src/extents.c 2006-03-27 17:24:00.000000000 +0200 +@@ -3121,6 +3121,10 @@ + + gb.glyph = glyph; + gb.extent = wrap_extent (e); ++ /* not used, but necessary to avoid compiler warnings about unitiallized variables */ ++ gb.findex = 0; ++ gb.active = 0; ++ gb.width = 0; + Dynarr_add (ef->begin_glyphs, gb); + } + else if (EQ (glyph, last_glyph)) +@@ -3140,6 +3144,10 @@ + + gb.glyph = glyph; + gb.extent = wrap_extent (e); ++ /* not used, but necessary to avoid compiler warnings about unitiallized variables */ ++ gb.findex = 0; ++ gb.active = 0; ++ gb.width = 0; + Dynarr_add (ef->end_glyphs, gb); + } + else if (EQ (glyph, last_glyph)) + diff --git a/xe-list.el b/xe-list.el new file mode 100644 index 0000000..44ed436 --- /dev/null +++ b/xe-list.el @@ -0,0 +1,60 @@ +(defvar xe-list-file-name "xe-list") + +(defun xe-list-find-el (&optional buffer) + (interactive) + (let ((el-with-elc) + (el-without-elc)) + (save-excursion + (if buffer + (set-buffer buffer)) + (goto-char (point-min)) + (while (re-search-forward "^\\(.*\\.el\\)$" nil t) + (let ((el (match-string 1))) + (save-excursion + (goto-char (point-min)) + (if (re-search-forward (concat "^" (regexp-quote el) "c$") nil t) + (setq el-with-elc (cons el el-with-elc)) + (setq el-without-elc (cons el el-without-elc))))))) + (list (nreverse el-with-elc) (nreverse el-without-elc)))) + +(defun xe-list-find-elc (&optional buffer) + (interactive) + (let ((elc-with-el) + (elc-without-el)) + (save-excursion + (if buffer + (set-buffer buffer)) + (goto-char (point-min)) + (while (re-search-forward "^\\(.*\\.elc\\)$" nil t) + (let ((elc (match-string 1)) + (el (replace-in-string (match-string 1) "\\.elc$" ".el"))) + (save-excursion + (goto-char (point-min)) + (if (re-search-forward (concat "^" (regexp-quote el) "$") nil t) + (setq elc-with-el (cons elc elc-with-el)) + (setq elc-without-el (cons elc elc-without-el))))))) + (list (nreverse elc-with-el) (nreverse elc-without-el)))) + +(defun xe-list-write-list-to-file (list file) + (interactive) + (with-temp-buffer + (mapcar (lambda (x) (insert x) (insert "\n")) + list) + (write-file file))) + +(defun xe-list-generate-list-files () + (interactive) + (let ((el-lists) + (elc-lists)) + (find-file xe-list-file-name) + (setq el-lists (xe-list-find-el xe-list-file-name)) + (setq elc-lists (xe-list-find-elc xe-list-file-name)) + (xe-list-write-list-to-file (car el-lists) + (concat xe-list-file-name "-el-with-elc")) + (xe-list-write-list-to-file (car (cdr el-lists)) + (concat xe-list-file-name "-el-without-elc")) + (xe-list-write-list-to-file (car elc-lists) + (concat xe-list-file-name "-elc-with-el")) + (xe-list-write-list-to-file (car (cdr elc-lists)) + (concat xe-list-file-name "-elc-without-el")))) + diff --git a/xemacs-21.4.13-ppc.patch b/xemacs-21.4.13-ppc.patch new file mode 100644 index 0000000..7ffae03 --- /dev/null +++ b/xemacs-21.4.13-ppc.patch @@ -0,0 +1,18 @@ +--- xemacs-21.4.13/src/ppc.ldscript.ppc 2004-01-20 15:49:25.000000000 +0100 ++++ xemacs-21.4.13/src/ppc.ldscript 2004-01-20 15:49:48.000000000 +0100 +@@ -66,6 +66,15 @@ + that no actual memory is lost; the page which is skipped can not + be referenced). */ + . = .; ++ PROVIDE (__preinit_array_start = .); ++ .preinit_array : { *(.preinit_array) } ++ PROVIDE (__preinit_array_end = .); ++ PROVIDE (__init_array_start = .); ++ .init_array : { *(.init_array) } ++ PROVIDE (__init_array_end = .); ++ PROVIDE (__fini_array_start = .); ++ .fini_array : { *(.fini_array) } ++ PROVIDE (__fini_array_end = .); + .data : + { + *(.data) diff --git a/xemacs-21.4.13-ppc64.patch b/xemacs-21.4.13-ppc64.patch new file mode 100644 index 0000000..67a29be --- /dev/null +++ b/xemacs-21.4.13-ppc64.patch @@ -0,0 +1,106 @@ +--- xemacs-21.4.13/src/m/powerpc64.h.ppc64 2004-01-21 10:11:35.000000000 +0100 ++++ xemacs-21.4.13/src/m/powerpc64.h 2004-01-21 10:11:35.000000000 +0100 +@@ -0,0 +1,86 @@ ++/* machine description file for PowerPC 64-bit. ++ Copyright (C) 1994, 2001, 2002 Free Software Foundation, Inc. ++ ++This file is part of GNU Emacs. ++ ++GNU Emacs is free software; you can redistribute it and/or modify ++it under the terms of the GNU General Public License as published by ++the Free Software Foundation; either version 1, 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. */ ++ ++ ++/* 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 */ ++ ++/* Use type EMACS_INT rather than a union, to represent Lisp_Object */ ++/* This is desirable for most machines. */ ++ ++#define NO_UNION_TYPE ++ ++/* Define the type to use. */ ++#define EMACS_INT long ++#define EMACS_UINT unsigned long ++#define SPECIAL_EMACS_INT ++ ++/* 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) ++ ++/* 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 ++ working alloca function and it should be used. ++ Define neither one if an assembler-language alloca ++ in the file alloca.s should be used. */ ++ ++#define HAVE_ALLOCA ++ ++/* Some really obscure 4.2-based systems (like Sequent DYNIX) ++ * do not support asynchronous I/O (using SIGIO) on sockets, ++ * even though it works fine on tty's. If you have one of ++ * these systems, define the following, and then use it in ++ * config.h (or elsewhere) to decide when (not) to use SIGIO. ++ * ++ * You'd think this would go in an operating-system description file, ++ * but since it only occurs on some, but not all, BSD systems, the ++ * reasonable place to select for it is in the machine description ++ * file. ++ */ ++ ++/* #define NO_SOCK_SIGIO */ ++ ++#if defined(__OpenBSD__) ++#define ORDINARY_LINK ++#endif ++ ++#if defined (LINUX) || defined (__NetBSD__) || defined (__OpenBSD__) ++# define TEXT_END ({ extern int _etext; &_etext; }) ++#endif ++ ++#if (defined (__NetBSD__) || defined (__OpenBSD__)) && defined (__ELF__) ++#define HAVE_TEXT_START ++#endif ++ ++#define PNTR_COMPARISON_TYPE unsigned long ++ ++#undef START_FILES ++#define START_FILES pre-crt0.o /usr/lib64/crt1.o /usr/lib64/crti.o ++ ++#undef LIB_STANDARD ++#define LIB_STANDARD -lgcc -lc -lgcc /usr/lib64/crtn.o +--- xemacs-21.4.13/src/vm-limit.c.ppc64 2004-01-21 14:35:11.000000000 +0100 ++++ xemacs-21.4.13/src/vm-limit.c 2004-01-21 14:35:57.000000000 +0100 +@@ -59,6 +59,14 @@ + unsigned long data_size; + void (*save_warn_fun) (const char *); + ++#ifdef __powerpc64__ ++ /* powerpc64 has a different memory layout, which ++ * I would probably need to fake via a linker script. ++ * For now assume we cannot run out of memory. ++ */ ++ return; ++#endif ++ + if (lim_data == 0) + get_lim_data (); + five_percent = lim_data / 20; diff --git a/xemacs-21.4.4-font-menu.patch b/xemacs-21.4.4-font-menu.patch new file mode 100644 index 0000000..28c616b --- /dev/null +++ b/xemacs-21.4.4-font-menu.patch @@ -0,0 +1,12 @@ +--- xemacs-21.4.4.orig/lisp/font-menu.el Wed Jul 25 09:44:26 2001 ++++ xemacs-21.4.4/lisp/font-menu.el Fri Sep 21 12:20:23 2001 +@@ -396,8 +396,7 @@ + :size (concat + (int-to-string + (/ (or size from-size) +- (specifier-instance font-menu-size-scaling +- (selected-device)))) ++ 10)) + "pt"))) + (message "Font %s" (face-font-name 'default))))) + diff --git a/xemacs-21.4.8-app-defaults.patch b/xemacs-21.4.8-app-defaults.patch new file mode 100644 index 0000000..536d6ac --- /dev/null +++ b/xemacs-21.4.8-app-defaults.patch @@ -0,0 +1,13 @@ +--- etc/Emacs.ad.appdef 2002-10-31 15:05:40.000000000 +0000 ++++ etc/Emacs.ad 2002-12-12 14:25:43.000000000 +0000 +@@ -41,6 +41,10 @@ + ! Note that by default, the pointer foreground and background are the same + ! as the default face. + ++!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ++!! FontSet for menus when you use --with-xfs or --with-xim=xlib. ++XEmacs*fontSet: -*-helvetica-bold-r-*-*-*-120-*-*-*-*-iso10646-1,-*-helvetica-bold-r-*-*-*-120-*-*-*-*-iso8859-*,* ++ + ! Set the menubar colors. This overrides the default foreground and + ! background colors specified above. + *menubar*Foreground: Gray30 diff --git a/xemacs-21.4.8-xevent.patch b/xemacs-21.4.8-xevent.patch new file mode 100644 index 0000000..be1e80b --- /dev/null +++ b/xemacs-21.4.8-xevent.patch @@ -0,0 +1,19 @@ +--- src/event-Xt.c ++++ src/event-Xt.c 2003-09-02 17:39:09.000000000 +0200 +@@ -1249,9 +1249,13 @@ + However, "F1" normally does. */ + if (modifiers & XEMACS_MOD_SHIFT) + { +- int Mode_switch_p = *state & xd->ModeMask; +- KeySym bot = XLookupKeysym (ev, Mode_switch_p ? 2 : 0); +- KeySym top = XLookupKeysym (ev, Mode_switch_p ? 3 : 1); ++ KeySym top, bot; ++ XKeyEvent tmpev = *ev; ++ ++ tmpev.state = *state & (xd->ModeMask | ~0xff); ++ XLookupString(&tmpev, NULL, 0, &bot, NULL); ++ tmpev.state |= ShiftMask; ++ XLookupString(&tmpev, NULL, 0, &top, NULL); + if (top && bot && top != bot) + modifiers &= ~XEMACS_MOD_SHIFT; + } diff --git a/xemacs-21.5.18-movemail.patch b/xemacs-21.5.18-movemail.patch new file mode 100644 index 0000000..f2d89f4 --- /dev/null +++ b/xemacs-21.5.18-movemail.patch @@ -0,0 +1,72 @@ +diff -ru xemacs-21.5.20.orig/lib-src/movemail.c xemacs-21.5.20/lib-src/movemail.c +--- xemacs-21.5.20.orig/lib-src/movemail.c 2005-02-14 04:40:45.000000000 +0100 ++++ xemacs-21.5.20/lib-src/movemail.c 2005-05-12 12:44:12.000000000 +0200 +@@ -135,7 +135,7 @@ + #undef write + #undef close + +-static void fatal (char *, char*); ++static void fatal (char *, char *, char *); + static void error (char *, char *, char *); + static void usage(int); + static void pfatal_with_name (char *); +@@ -309,7 +309,7 @@ + #endif + + if (*outname == 0) +- fatal ("Destination file name is empty", 0); ++ fatal ("Destination file name is empty", 0, 0); + + VERBOSE(("checking access to output file\n")); + /* Check access to output file. */ +@@ -551,7 +551,7 @@ + return LOCKING; + #endif + else +- fatal("invalid lock method: %s", method_name); ++ fatal("invalid lock method: %s", method_name, 0); + return 0; /* unreached */ + } + +@@ -647,10 +647,10 @@ + /* Print error message and exit. */ + + static void +-fatal (char *s1, char *s2) ++fatal (char *s1, char *s2, char *s3) + { + maybe_unlock_dot(); +- error (s1, s2, NULL); ++ error (s1, s2, s3); + exit (1); + } + +@@ -667,16 +667,15 @@ + static void + pfatal_with_name (char *name) + { +- char *s = concat ("", strerror (errno), " for %s"); +- fatal (s, name); ++ fatal ("%s for %s", strerror (errno), name); + } + + static void + pfatal_and_delete (char *name) + { +- char *s = concat ("", strerror (errno), " for %s"); ++ char *s = strerror (errno); + unlink (name); +- fatal (s, name); ++ fatal ("%s for %s", s, name); + } + + /* Return a newly-allocated string whose contents concatenate those of s1, s2, s3. */ +@@ -702,7 +701,7 @@ + { + long *result = (long *) malloc (size); + if (!result) +- fatal ("virtual memory exhausted", 0); ++ fatal ("virtual memory exhausted", 0, 0); + return result; + } + diff --git a/xemacs-21.5.27.20060705.tar.bz2 b/xemacs-21.5.27.20060705.tar.bz2 new file mode 100644 index 0000000..7372229 --- /dev/null +++ b/xemacs-21.5.27.20060705.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:471ff31062cf08961f5750dc1bf3d9029cd15bb2d07ec27e2faf38436e838043 +size 9823249 diff --git a/xemacs-autoconf.patch b/xemacs-autoconf.patch new file mode 100644 index 0000000..431a067 --- /dev/null +++ b/xemacs-autoconf.patch @@ -0,0 +1,19 @@ +--- configure.ac ++++ configure.ac +@@ -22,8 +22,6 @@ + dnl Due to a dependence on the implementation of certain internal autoconf + dnl macros, die if any version other than 2.59 is used. + AC_PREREQ(2.59)dnl +-m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]), [2.59]), 1, +- [m4_fatal([This script can only be generated with autoconf 2.59])], [])dnl + AC_INIT([XEmacs],[21.5],[xemacs-beta@xemacs.org])dnl + AC_CONFIG_SRCDIR(src/lisp.h)dnl + dnl +@@ -382,6 +380,7 @@ + dnl + define([XE_EXPAND_COMPLEX_OPTIONS], + [m4_if([$2], [[]], [], ++ [$2], [], [], + [XE_EXPAND_COMPLEX_OPTION([$1], m4_fst($2))[]dnl + XE_EXPAND_COMPLEX_OPTIONS([$1], m4_cdr($2))])])dnl + dnl diff --git a/xemacs-ia64.dif b/xemacs-ia64.dif new file mode 100644 index 0000000..3b1408f --- /dev/null +++ b/xemacs-ia64.dif @@ -0,0 +1,2298 @@ +diff -ru xemacs-21.5.24.orig/src/chartab.c xemacs-21.5.24/src/chartab.c +--- xemacs-21.5.24.orig/src/chartab.c 2005-12-27 18:12:03.000000000 +0100 ++++ xemacs-21.5.24/src/chartab.c 2005-12-27 18:49:58.000000000 +0100 +@@ -1880,6 +1880,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 -ru xemacs-21.5.24.orig/src/console-gtk.c xemacs-21.5.24/src/console-gtk.c +--- xemacs-21.5.24.orig/src/console-gtk.c 2005-06-26 20:05:02.000000000 +0200 ++++ xemacs-21.5.24/src/console-gtk.c 2005-12-27 18:49:58.000000000 +0100 +@@ -194,6 +194,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 -ru xemacs-21.5.24.orig/src/console-msw.c xemacs-21.5.24/src/console-msw.c +--- xemacs-21.5.24.orig/src/console-msw.c 2005-07-08 10:27:34.000000000 +0200 ++++ xemacs-21.5.24/src/console-msw.c 2005-12-27 18:49:58.000000000 +0100 +@@ -732,6 +732,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 -ru xemacs-21.5.24.orig/src/console-stream.c xemacs-21.5.24/src/console-stream.c +--- xemacs-21.5.24.orig/src/console-stream.c 2005-12-27 18:12:06.000000000 +0100 ++++ xemacs-21.5.24/src/console-stream.c 2005-12-27 18:49:58.000000000 +0100 +@@ -320,6 +320,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 -ru xemacs-21.5.24.orig/src/console-tty.c xemacs-21.5.24/src/console-tty.c +--- xemacs-21.5.24.orig/src/console-tty.c 2005-12-27 18:12:06.000000000 +0100 ++++ xemacs-21.5.24/src/console-tty.c 2005-12-27 18:49:58.000000000 +0100 +@@ -438,6 +438,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 -ru xemacs-21.5.24.orig/src/console-x.c xemacs-21.5.24/src/console-x.c +--- xemacs-21.5.24.orig/src/console-x.c 2005-12-27 18:12:06.000000000 +0100 ++++ xemacs-21.5.24/src/console-x.c 2005-12-27 18:49:58.000000000 +0100 +@@ -390,6 +390,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 -ru xemacs-21.5.24.orig/src/device-gtk.c xemacs-21.5.24/src/device-gtk.c +--- xemacs-21.5.24.orig/src/device-gtk.c 2005-12-27 18:12:06.000000000 +0100 ++++ xemacs-21.5.24/src/device-gtk.c 2005-12-27 18:49:58.000000000 +0100 +@@ -718,6 +718,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 -ru xemacs-21.5.24.orig/src/device-msw.c xemacs-21.5.24/src/device-msw.c +--- xemacs-21.5.24.orig/src/device-msw.c 2005-12-27 18:12:06.000000000 +0100 ++++ xemacs-21.5.24/src/device-msw.c 2005-12-27 18:49:58.000000000 +0100 +@@ -1404,6 +1404,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 -ru xemacs-21.5.24.orig/src/device-tty.c xemacs-21.5.24/src/device-tty.c +--- xemacs-21.5.24.orig/src/device-tty.c 2005-12-27 18:12:06.000000000 +0100 ++++ xemacs-21.5.24/src/device-tty.c 2005-12-27 18:49:58.000000000 +0100 +@@ -218,6 +218,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); + #ifndef NEW_GC +diff -ru xemacs-21.5.24.orig/src/device-x.c xemacs-21.5.24/src/device-x.c +--- xemacs-21.5.24.orig/src/device-x.c 2005-12-27 18:12:06.000000000 +0100 ++++ xemacs-21.5.24/src/device-x.c 2005-12-27 18:49:58.000000000 +0100 +@@ -2106,6 +2106,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 -ru xemacs-21.5.24.orig/src/dialog-gtk.c xemacs-21.5.24/src/dialog-gtk.c +--- xemacs-21.5.24.orig/src/dialog-gtk.c 2004-09-20 21:19:38.000000000 +0200 ++++ xemacs-21.5.24/src/dialog-gtk.c 2005-12-27 18:49:58.000000000 +0100 +@@ -54,6 +54,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 -ru xemacs-21.5.24.orig/src/dialog-msw.c xemacs-21.5.24/src/dialog-msw.c +--- xemacs-21.5.24.orig/src/dialog-msw.c 2005-12-27 18:12:06.000000000 +0100 ++++ xemacs-21.5.24/src/dialog-msw.c 2005-12-27 18:49:58.000000000 +0100 +@@ -808,6 +808,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 -ru xemacs-21.5.24.orig/src/dialog-x.c xemacs-21.5.24/src/dialog-x.c +--- xemacs-21.5.24.orig/src/dialog-x.c 2004-09-20 21:19:38.000000000 +0200 ++++ xemacs-21.5.24/src/dialog-x.c 2005-12-27 18:49:58.000000000 +0100 +@@ -302,6 +302,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 -ru xemacs-21.5.24.orig/src/elhash.c xemacs-21.5.24/src/elhash.c +--- xemacs-21.5.24.orig/src/elhash.c 2005-12-27 18:12:06.000000000 +0100 ++++ xemacs-21.5.24/src/elhash.c 2005-12-27 18:49:58.000000000 +0100 +@@ -905,6 +905,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 -ru xemacs-21.5.24.orig/src/emacs.c xemacs-21.5.24/src/emacs.c +--- xemacs-21.5.24.orig/src/emacs.c 2005-12-27 18:12:06.000000000 +0100 ++++ xemacs-21.5.24/src/emacs.c 2005-12-27 18:49:58.000000000 +0100 +@@ -2497,6 +2497,136 @@ + non-initialized case. */ + inhibit_non_essential_conversion_operations = 0; + ++#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__ */ ++ + #ifdef PDUMP + if (!restart) /* after successful pdump_load() + (note, we are inside ifdef PDUMP) */ +diff -ru xemacs-21.5.24.orig/src/event-msw.c xemacs-21.5.24/src/event-msw.c +--- xemacs-21.5.24.orig/src/event-msw.c 2005-12-27 18:12:06.000000000 +0100 ++++ xemacs-21.5.24/src/event-msw.c 2005-12-27 18:49:58.000000000 +0100 +@@ -5155,6 +5155,14 @@ + void + lstream_type_create_mswindows_selectable (void) + { ++#ifdef __ia64__ ++ lstream_type_reinit_mswindows_selectable (); ++} ++ ++void ++lstream_type_reinit_mswindows_selectable (void); ++} ++#endif + #ifndef CYGWIN + init_slurp_stream (); + init_shove_stream (); +diff -ru xemacs-21.5.24.orig/src/faces.c xemacs-21.5.24/src/faces.c +--- xemacs-21.5.24.orig/src/faces.c 2005-12-27 18:12:06.000000000 +0100 ++++ xemacs-21.5.24/src/faces.c 2005-12-27 18:49:58.000000000 +0100 +@@ -1948,6 +1948,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 -ru xemacs-21.5.24.orig/src/file-coding.c xemacs-21.5.24/src/file-coding.c +--- xemacs-21.5.24.orig/src/file-coding.c 2005-12-27 18:12:06.000000000 +0100 ++++ xemacs-21.5.24/src/file-coding.c 2005-12-27 18:49:58.000000000 +0100 +@@ -4445,6 +4445,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 (coding, reader); + LSTREAM_HAS_METHOD (coding, writer); + LSTREAM_HAS_METHOD (coding, rewinder); +diff -ru xemacs-21.5.24.orig/src/frame-gtk.c xemacs-21.5.24/src/frame-gtk.c +--- xemacs-21.5.24.orig/src/frame-gtk.c 2005-12-27 18:12:07.000000000 +0100 ++++ xemacs-21.5.24/src/frame-gtk.c 2005-12-27 18:49:58.000000000 +0100 +@@ -1485,6 +1485,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 -ru xemacs-21.5.24.orig/src/frame-msw.c xemacs-21.5.24/src/frame-msw.c +--- xemacs-21.5.24.orig/src/frame-msw.c 2005-12-27 18:12:07.000000000 +0100 ++++ xemacs-21.5.24/src/frame-msw.c 2005-12-27 18:49:58.000000000 +0100 +@@ -1152,6 +1152,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 -ru xemacs-21.5.24.orig/src/frame-tty.c xemacs-21.5.24/src/frame-tty.c +--- xemacs-21.5.24.orig/src/frame-tty.c 2005-12-27 18:12:07.000000000 +0100 ++++ xemacs-21.5.24/src/frame-tty.c 2005-12-27 18:49:58.000000000 +0100 +@@ -217,6 +217,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 -ru xemacs-21.5.24.orig/src/frame-x.c xemacs-21.5.24/src/frame-x.c +--- xemacs-21.5.24.orig/src/frame-x.c 2005-12-27 18:12:07.000000000 +0100 ++++ xemacs-21.5.24/src/frame-x.c 2005-12-27 18:49:58.000000000 +0100 +@@ -2785,6 +2785,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 -ru xemacs-21.5.24.orig/src/glyphs-eimage.c xemacs-21.5.24/src/glyphs-eimage.c +--- xemacs-21.5.24.orig/src/glyphs-eimage.c 2005-12-27 18:12:09.000000000 +0100 ++++ xemacs-21.5.24/src/glyphs-eimage.c 2005-12-27 18:49:58.000000000 +0100 +@@ -1396,8 +1396,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 -ru xemacs-21.5.24.orig/src/glyphs-gtk.c xemacs-21.5.24/src/glyphs-gtk.c +--- xemacs-21.5.24.orig/src/glyphs-gtk.c 2005-12-27 18:12:09.000000000 +0100 ++++ xemacs-21.5.24/src/glyphs-gtk.c 2005-12-27 18:49:58.000000000 +0100 +@@ -2776,6 +2776,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); +@@ -2916,6 +2924,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 -ru xemacs-21.5.24.orig/src/glyphs-msw.c xemacs-21.5.24/src/glyphs-msw.c +--- xemacs-21.5.24.orig/src/glyphs-msw.c 2005-12-27 18:12:09.000000000 +0100 ++++ xemacs-21.5.24/src/glyphs-msw.c 2005-12-27 18:49:58.000000000 +0100 +@@ -2952,6 +2952,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); +@@ -3083,6 +3091,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 -ru xemacs-21.5.24.orig/src/glyphs-widget.c xemacs-21.5.24/src/glyphs-widget.c +--- xemacs-21.5.24.orig/src/glyphs-widget.c 2005-12-27 18:12:09.000000000 +0100 ++++ xemacs-21.5.24/src/glyphs-widget.c 2005-12-27 18:52:15.000000000 +0100 +@@ -1746,10 +1746,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); +@@ -1772,6 +1820,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"); +@@ -1785,6 +1851,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"); +@@ -1802,6 +1882,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"); +@@ -1819,6 +1918,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_gauge (void) + { + INITIALIZE_IMAGE_INSTANTIATOR_FORMAT (progress_gauge, "progress-gauge"); +@@ -1833,6 +1951,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"); +@@ -1847,6 +1981,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"); +@@ -1863,6 +2013,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"); +@@ -1874,6 +2042,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); \ +@@ -1885,6 +2066,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"); +@@ -1902,6 +2094,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"); +@@ -1919,6 +2130,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) + { +@@ -1935,6 +2165,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 -ru xemacs-21.5.24.orig/src/glyphs-x.c xemacs-21.5.24/src/glyphs-x.c +--- xemacs-21.5.24.orig/src/glyphs-x.c 2005-12-27 18:12:09.000000000 +0100 ++++ xemacs-21.5.24/src/glyphs-x.c 2005-12-27 18:49:59.000000000 +0100 +@@ -2859,6 +2859,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); +@@ -2989,6 +2997,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 -ru xemacs-21.5.24.orig/src/glyphs.c xemacs-21.5.24/src/glyphs.c +--- xemacs-21.5.24.orig/src/glyphs.c 2005-12-27 18:12:09.000000000 +0100 ++++ xemacs-21.5.24/src/glyphs.c 2005-12-27 18:49:59.000000000 +0100 +@@ -5252,6 +5252,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); +@@ -5437,6 +5445,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) + { +@@ -5564,6 +5650,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 -ru xemacs-21.5.24.orig/src/glyphs.h xemacs-21.5.24/src/glyphs.h +--- xemacs-21.5.24.orig/src/glyphs.h 2005-12-27 18:12:09.000000000 +0100 ++++ xemacs-21.5.24/src/glyphs.h 2005-12-27 18:49:59.000000000 +0100 +@@ -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 -ru xemacs-21.5.24.orig/src/gutter.c xemacs-21.5.24/src/gutter.c +--- xemacs-21.5.24.orig/src/gutter.c 2005-12-27 18:12:09.000000000 +0100 ++++ xemacs-21.5.24/src/gutter.c 2005-12-27 18:49:59.000000000 +0100 +@@ -1216,6 +1216,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) + { +@@ -1656,3 +1669,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 -ru xemacs-21.5.24.orig/src/lisp.h xemacs-21.5.24/src/lisp.h +--- xemacs-21.5.24.orig/src/lisp.h 2005-12-27 18:12:09.000000000 +0100 ++++ xemacs-21.5.24/src/lisp.h 2005-12-27 18:49:59.000000000 +0100 +@@ -3303,6 +3303,20 @@ + #define CONCHECK_EPHEMERON(x) CONCHECK_RECORD (x, ephemeron) + + ++#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 -ru xemacs-21.5.24.orig/src/lread.c xemacs-21.5.24/src/lread.c +--- xemacs-21.5.24.orig/src/lread.c 2005-07-13 01:26:49.000000000 +0200 ++++ xemacs-21.5.24/src/lread.c 2005-12-27 18:49:59.000000000 +0100 +@@ -2079,6 +2079,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 -ru xemacs-21.5.24.orig/src/lstream.c xemacs-21.5.24/src/lstream.c +--- xemacs-21.5.24.orig/src/lstream.c 2005-12-27 18:12:09.000000000 +0100 ++++ xemacs-21.5.24/src/lstream.c 2005-12-27 18:49:59.000000000 +0100 +@@ -1829,6 +1829,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 -ru xemacs-21.5.24.orig/src/menubar-gtk.c xemacs-21.5.24/src/menubar-gtk.c +--- xemacs-21.5.24.orig/src/menubar-gtk.c 2005-01-25 00:34:03.000000000 +0100 ++++ xemacs-21.5.24/src/menubar-gtk.c 2005-12-27 18:49:59.000000000 +0100 +@@ -1469,6 +1469,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 -ru xemacs-21.5.24.orig/src/menubar-msw.c xemacs-21.5.24/src/menubar-msw.c +--- xemacs-21.5.24.orig/src/menubar-msw.c 2005-01-25 00:34:03.000000000 +0100 ++++ xemacs-21.5.24/src/menubar-msw.c 2005-12-27 18:49:59.000000000 +0100 +@@ -891,6 +891,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 -ru xemacs-21.5.24.orig/src/menubar-x.c xemacs-21.5.24/src/menubar-x.c +--- xemacs-21.5.24.orig/src/menubar-x.c 2005-12-27 18:12:13.000000000 +0100 ++++ xemacs-21.5.24/src/menubar-x.c 2005-12-27 18:49:59.000000000 +0100 +@@ -1361,6 +1361,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 -ru xemacs-21.5.24.orig/src/menubar.c xemacs-21.5.24/src/menubar.c +--- xemacs-21.5.24.orig/src/menubar.c 2005-12-27 18:12:13.000000000 +0100 ++++ xemacs-21.5.24/src/menubar.c 2005-12-27 18:49:59.000000000 +0100 +@@ -785,6 +785,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 -ru xemacs-21.5.24.orig/src/native-gtk-toolbar.c xemacs-21.5.24/src/native-gtk-toolbar.c +--- xemacs-21.5.24.orig/src/native-gtk-toolbar.c 2005-01-25 00:34:04.000000000 +0100 ++++ xemacs-21.5.24/src/native-gtk-toolbar.c 2005-12-27 18:49:59.000000000 +0100 +@@ -239,6 +239,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 -ru xemacs-21.5.24.orig/src/objects-gtk.c xemacs-21.5.24/src/objects-gtk.c +--- xemacs-21.5.24.orig/src/objects-gtk.c 2005-01-28 03:58:51.000000000 +0100 ++++ xemacs-21.5.24/src/objects-gtk.c 2005-12-27 18:49:59.000000000 +0100 +@@ -453,6 +453,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 -ru xemacs-21.5.24.orig/src/objects-msw.c xemacs-21.5.24/src/objects-msw.c +--- xemacs-21.5.24.orig/src/objects-msw.c 2005-01-28 03:58:51.000000000 +0100 ++++ xemacs-21.5.24/src/objects-msw.c 2005-12-27 18:49:59.000000000 +0100 +@@ -2244,6 +2244,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 -ru xemacs-21.5.24.orig/src/objects-tty.c xemacs-21.5.24/src/objects-tty.c +--- xemacs-21.5.24.orig/src/objects-tty.c 2005-12-27 18:12:13.000000000 +0100 ++++ xemacs-21.5.24/src/objects-tty.c 2005-12-27 18:49:59.000000000 +0100 +@@ -416,6 +416,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 -ru xemacs-21.5.24.orig/src/objects-x.c xemacs-21.5.24/src/objects-x.c +--- xemacs-21.5.24.orig/src/objects-x.c 2005-12-27 18:12:13.000000000 +0100 ++++ xemacs-21.5.24/src/objects-x.c 2005-12-27 18:49:59.000000000 +0100 +@@ -1473,6 +1473,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 -ru xemacs-21.5.24.orig/src/objects.c xemacs-21.5.24/src/objects.c +--- xemacs-21.5.24.orig/src/objects.c 2005-12-27 18:12:13.000000000 +0100 ++++ xemacs-21.5.24/src/objects.c 2005-12-27 18:49:59.000000000 +0100 +@@ -1183,6 +1183,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 -ru xemacs-21.5.24.orig/src/process-nt.c xemacs-21.5.24/src/process-nt.c +--- xemacs-21.5.24.orig/src/process-nt.c 2005-01-28 03:36:26.000000000 +0100 ++++ xemacs-21.5.24/src/process-nt.c 2005-12-27 18:49:59.000000000 +0100 +@@ -1581,6 +1581,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 -ru xemacs-21.5.24.orig/src/process-unix.c xemacs-21.5.24/src/process-unix.c +--- xemacs-21.5.24.orig/src/process-unix.c 2005-02-04 05:06:34.000000000 +0100 ++++ xemacs-21.5.24/src/process-unix.c 2005-12-27 18:49:59.000000000 +0100 +@@ -2326,6 +2326,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); + #ifdef SIGCHLD + PROCESS_HAS_METHOD (unix, init_process); +diff -ru xemacs-21.5.24.orig/src/ralloc.c xemacs-21.5.24/src/ralloc.c +--- xemacs-21.5.24.orig/src/ralloc.c 2005-12-27 18:12:13.000000000 +0100 ++++ xemacs-21.5.24/src/ralloc.c 2005-12-27 18:49:59.000000000 +0100 +@@ -121,7 +121,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 -ru xemacs-21.5.24.orig/src/rangetab.c xemacs-21.5.24/src/rangetab.c +--- xemacs-21.5.24.orig/src/rangetab.c 2005-12-27 18:12:13.000000000 +0100 ++++ xemacs-21.5.24/src/rangetab.c 2005-12-27 18:49:59.000000000 +0100 +@@ -910,3 +910,16 @@ + define_structure_type_keyword (st, Qdata, rangetab_data_validate); + define_structure_type_keyword (st, Qtype, rangetab_type_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 -ru xemacs-21.5.24.orig/src/redisplay-gtk.c xemacs-21.5.24/src/redisplay-gtk.c +--- xemacs-21.5.24.orig/src/redisplay-gtk.c 2005-12-27 18:12:13.000000000 +0100 ++++ xemacs-21.5.24/src/redisplay-gtk.c 2005-12-27 18:49:59.000000000 +0100 +@@ -1717,6 +1717,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 -ru xemacs-21.5.24.orig/src/redisplay-msw.c xemacs-21.5.24/src/redisplay-msw.c +--- xemacs-21.5.24.orig/src/redisplay-msw.c 2005-01-25 00:34:07.000000000 +0100 ++++ xemacs-21.5.24/src/redisplay-msw.c 2005-12-27 18:49:59.000000000 +0100 +@@ -1246,6 +1246,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 -ru xemacs-21.5.24.orig/src/redisplay-tty.c xemacs-21.5.24/src/redisplay-tty.c +--- xemacs-21.5.24.orig/src/redisplay-tty.c 2005-01-25 00:34:07.000000000 +0100 ++++ xemacs-21.5.24/src/redisplay-tty.c 2005-12-27 18:49:59.000000000 +0100 +@@ -1496,6 +1496,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 -ru xemacs-21.5.24.orig/src/redisplay-x.c xemacs-21.5.24/src/redisplay-x.c +--- xemacs-21.5.24.orig/src/redisplay-x.c 2005-12-27 18:12:13.000000000 +0100 ++++ xemacs-21.5.24/src/redisplay-x.c 2005-12-27 18:49:59.000000000 +0100 +@@ -2270,6 +2270,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 -ru xemacs-21.5.24.orig/src/redisplay.c xemacs-21.5.24/src/redisplay.c +--- xemacs-21.5.24.orig/src/redisplay.c 2005-12-27 18:12:13.000000000 +0100 ++++ xemacs-21.5.24/src/redisplay.c 2005-12-27 18:49:59.000000000 +0100 +@@ -10081,3 +10081,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 -ru xemacs-21.5.24.orig/src/scrollbar-gtk.c xemacs-21.5.24/src/scrollbar-gtk.c +--- xemacs-21.5.24.orig/src/scrollbar-gtk.c 2005-12-27 18:12:14.000000000 +0100 ++++ xemacs-21.5.24/src/scrollbar-gtk.c 2005-12-27 18:49:59.000000000 +0100 +@@ -501,6 +501,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 -ru xemacs-21.5.24.orig/src/scrollbar-msw.c xemacs-21.5.24/src/scrollbar-msw.c +--- xemacs-21.5.24.orig/src/scrollbar-msw.c 2005-12-27 18:12:14.000000000 +0100 ++++ xemacs-21.5.24/src/scrollbar-msw.c 2005-12-27 18:49:59.000000000 +0100 +@@ -471,6 +471,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 -ru xemacs-21.5.24.orig/src/scrollbar-x.c xemacs-21.5.24/src/scrollbar-x.c +--- xemacs-21.5.24.orig/src/scrollbar-x.c 2005-12-27 18:12:14.000000000 +0100 ++++ xemacs-21.5.24/src/scrollbar-x.c 2005-12-27 18:49:59.000000000 +0100 +@@ -722,6 +722,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 -ru xemacs-21.5.24.orig/src/scrollbar.c xemacs-21.5.24/src/scrollbar.c +--- xemacs-21.5.24.orig/src/scrollbar.c 2005-12-27 18:12:14.000000000 +0100 ++++ xemacs-21.5.24/src/scrollbar.c 2005-12-27 18:49:59.000000000 +0100 +@@ -1087,6 +1087,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 -ru xemacs-21.5.24.orig/src/select-gtk.c xemacs-21.5.24/src/select-gtk.c +--- xemacs-21.5.24.orig/src/select-gtk.c 2005-02-28 21:21:50.000000000 +0100 ++++ xemacs-21.5.24/src/select-gtk.c 2005-12-27 18:49:59.000000000 +0100 +@@ -484,6 +484,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 -ru xemacs-21.5.24.orig/src/select-x.c xemacs-21.5.24/src/select-x.c +--- xemacs-21.5.24.orig/src/select-x.c 2005-03-02 19:31:57.000000000 +0100 ++++ xemacs-21.5.24/src/select-x.c 2005-12-27 18:49:59.000000000 +0100 +@@ -1493,6 +1493,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 -ru xemacs-21.5.24.orig/src/specifier.c xemacs-21.5.24/src/specifier.c +--- xemacs-21.5.24.orig/src/specifier.c 2005-12-27 18:12:14.000000000 +0100 ++++ xemacs-21.5.24/src/specifier.c 2005-12-27 18:49:59.000000000 +0100 +@@ -3034,6 +3034,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) +@@ -3475,6 +3493,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 -ru xemacs-21.5.24.orig/src/specifier.h xemacs-21.5.24/src/specifier.h +--- xemacs-21.5.24.orig/src/specifier.h 2005-12-27 18:12:14.000000000 +0100 ++++ xemacs-21.5.24/src/specifier.h 2005-12-27 18:49:59.000000000 +0100 +@@ -517,6 +517,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 -ru xemacs-21.5.24.orig/src/symsinit.h xemacs-21.5.24/src/symsinit.h +--- xemacs-21.5.24.orig/src/symsinit.h 2005-12-27 18:12:14.000000000 +0100 ++++ xemacs-21.5.24/src/symsinit.h 2005-12-27 18:49:59.000000000 +0100 +@@ -560,4 +560,82 @@ + interactions with the supporting libraries. */ + void init_number (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 -ru xemacs-21.5.24.orig/src/toolbar-gtk.c xemacs-21.5.24/src/toolbar-gtk.c +--- xemacs-21.5.24.orig/src/toolbar-gtk.c 2004-09-20 21:20:03.000000000 +0200 ++++ xemacs-21.5.24/src/toolbar-gtk.c 2005-12-27 18:49:59.000000000 +0100 +@@ -63,6 +63,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 -ru xemacs-21.5.24.orig/src/toolbar-msw.c xemacs-21.5.24/src/toolbar-msw.c +--- xemacs-21.5.24.orig/src/toolbar-msw.c 2005-01-25 00:34:12.000000000 +0100 ++++ xemacs-21.5.24/src/toolbar-msw.c 2005-12-27 18:49:59.000000000 +0100 +@@ -650,6 +650,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 -ru xemacs-21.5.24.orig/src/toolbar-x.c xemacs-21.5.24/src/toolbar-x.c +--- xemacs-21.5.24.orig/src/toolbar-x.c 2004-09-20 21:20:03.000000000 +0200 ++++ xemacs-21.5.24/src/toolbar-x.c 2005-12-27 18:49:59.000000000 +0100 +@@ -77,6 +77,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 -ru xemacs-21.5.24.orig/src/toolbar.c xemacs-21.5.24/src/toolbar.c +--- xemacs-21.5.24.orig/src/toolbar.c 2005-12-27 18:12:19.000000000 +0100 ++++ xemacs-21.5.24/src/toolbar.c 2005-12-27 18:50:00.000000000 +0100 +@@ -1375,6 +1375,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); + } +@@ -1993,3 +2001,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 -ru xemacs-21.5.24.orig/src/window.c xemacs-21.5.24/src/window.c +--- xemacs-21.5.24.orig/src/window.c 2005-12-27 18:12:19.000000000 +0100 ++++ xemacs-21.5.24/src/window.c 2005-12-27 18:50:00.000000000 +0100 +@@ -5749,3 +5749,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 diff --git a/xemacs-level3.patch b/xemacs-level3.patch new file mode 100644 index 0000000..002e900 --- /dev/null +++ b/xemacs-level3.patch @@ -0,0 +1,74 @@ +diff -ru xemacs-21.5.20.orig/src/event-Xt.c xemacs-21.5.20/src/event-Xt.c +--- xemacs-21.5.20.orig/src/event-Xt.c 2005-01-25 00:33:52.000000000 +0100 ++++ xemacs-21.5.20/src/event-Xt.c 2005-05-12 12:37:18.000000000 +0200 +@@ -646,8 +646,17 @@ + syms = &xd->x_keysym_map [(keycode - xd->x_keysym_map_min_code) * + xd->x_keysym_map_keysyms_per_code]; + for (i = 0; i < xd->x_keysym_map_keysyms_per_code; i++) +- if (IsModifierKey (syms [i]) || +- syms [i] == XK_Mode_switch) /* why doesn't IsModifierKey count this? */ ++ if (IsModifierKey(syms[i]) ++#ifdef XK_Mode_switch ++ || syms[i] == XK_Mode_switch /* why doesn't IsModifierKey count this? */ ++#endif ++#ifdef XK_Num_Lock ++ || syms[i] == XK_Num_Lock ++#endif ++#if defined XK_ISO_Lock && defined XK_ISO_Last_Group_Lock ++ || (syms[i] >= XK_ISO_Lock && syms[i] <= XK_ISO_Last_Group_Lock) ++#endif ++ ) + return 1; + return 0; + } +@@ -997,8 +1006,17 @@ + than passing in 0) to avoid crashes on German IRIX */ + char dummy[256]; + XLookupString (event, dummy, 200, &keysym, 0); +- return (IsModifierKey (keysym) || keysym == XK_Mode_switch ) +- ? Qnil : x_keysym_to_emacs_keysym (keysym, simple_p); ++ return (IsModifierKey (keysym) ++#ifdef XK_Mode_switch ++ || keysym == XK_Mode_switch ++#endif ++#ifdef XK_Num_Lock ++ || keysym == XK_Num_Lock ++#endif ++#if defined XK_ISO_Lock && defined XK_ISO_Last_Group_Lock ++ || (keysym >= XK_ISO_Lock && keysym <= XK_ISO_Last_Group_Lock) ++#endif ++ ) ? Qnil : x_keysym_to_emacs_keysym (keysym, simple_p); + } + #endif /* ! XIM_MOTIF */ + +@@ -1048,8 +1066,17 @@ + { + case XLookupKeySym: + case XLookupBoth: +- return (IsModifierKey (keysym) || keysym == XK_Mode_switch ) +- ? Qnil : x_keysym_to_emacs_keysym (keysym, simple_p); ++ return (IsModifierKey (keysym) ++#ifdef XK_Mode_switch ++ || keysym == XK_Mode_switch ++#endif ++#ifdef XK_Num_Lock ++ || keysym == XK_Num_Lock ++#endif ++#if defined XK_ISO_Lock && defined XK_ISO_Last_Group_Lock ++ || (keysym >= XK_ISO_Lock && keysym <= XK_ISO_Last_Group_Lock) ++#endif ++ ) ? Qnil : x_keysym_to_emacs_keysym (keysym, simple_p); + + case XLookupChars: + { +diff -ru xemacs-21.5.20.orig/src/xintrinsic.h xemacs-21.5.20/src/xintrinsic.h +--- xemacs-21.5.20.orig/src/xintrinsic.h 2001-04-12 20:24:30.000000000 +0200 ++++ xemacs-21.5.20/src/xintrinsic.h 2005-05-12 12:37:18.000000000 +0200 +@@ -22,6 +22,7 @@ + #ifndef INCLUDED_xintrinsic_h_ + #define INCLUDED_xintrinsic_h_ + ++#include + #include + + #endif /* INCLUDED_xintrinsic_h_ */ diff --git a/xemacs-ptmx.dif b/xemacs-ptmx.dif new file mode 100644 index 0000000..275dc6d --- /dev/null +++ b/xemacs-ptmx.dif @@ -0,0 +1,31 @@ +diff -ru xemacs-21.5.20.orig/src/process-unix.c xemacs-21.5.20/src/process-unix.c +--- xemacs-21.5.20.orig/src/process-unix.c 2005-02-04 05:06:34.000000000 +0100 ++++ xemacs-21.5.20/src/process-unix.c 2005-05-11 17:41:30.000000000 +0200 +@@ -236,12 +236,6 @@ + "/dev/ptmx_bsd" /* Tru64 */ + }; + +-#ifdef HAVE_GETPT /* glibc */ +- master_fd = getpt (); +- if (master_fd >= 0) +- goto have_master; +-#endif /* HAVE_GETPT */ +- + + #if defined(HAVE_OPENPTY) /* BSD, Tru64, glibc */ + { +@@ -275,6 +269,13 @@ + goto have_slave_name; + #endif /* HAVE__GETPTY */ + ++#ifdef HAVE_GETPT /* glibc */ ++ master_fd = getpt (); ++ if (master_fd >= 0) ++ goto have_master; ++#endif /* HAVE_GETPT */ ++ ++ + /* Master clone devices are available on most systems */ + { + int i; + diff --git a/xemacs-vendor.patch b/xemacs-vendor.patch new file mode 100644 index 0000000..0da9927 --- /dev/null +++ b/xemacs-vendor.patch @@ -0,0 +1,13 @@ +diff -ru xemacs-21.4.15.orig/lisp/x-init.el xemacs-21.4.15/lisp/x-init.el +--- xemacs-21.4.15.orig/lisp/x-init.el 2001-04-12 20:21:40.000000000 +0200 ++++ xemacs-21.4.15/lisp/x-init.el 2004-09-28 17:16:55.881291820 +0200 +@@ -238,7 +238,8 @@ + (string-equal "X Consortium" vendor)) + ;; Ok, we think this could be a Sun keyboard. Run the Sun code. + (x-win-init-sun)) +- ((string-match "XFree86" vendor) ++ ((or (string-match "XFree86" vendor) ++ (string-match "The X.Org Foundation" vendor)) + ;; Those XFree86 people do some weird keysym stuff, too. + (x-win-init-xfree86))))) + diff --git a/xemacs.changes b/xemacs.changes new file mode 100644 index 0000000..2f2c8c5 --- /dev/null +++ b/xemacs.changes @@ -0,0 +1,1202 @@ +------------------------------------------------------------------- +Mon Sep 25 18:43:30 CEST 2006 - mfabian@suse.de + +- Bugzilla #207941: add "texinfo" to BuildRequires. + +------------------------------------------------------------------- +Mon Aug 07 12:40:12 CEST 2006 - mfabian@suse.de + +- adapt for Xorg X11R7 (paths changed). +- remove b2m and rcs-checkin to avoid conflict with the emacs + package when all binaries are in /usr/bin. + +------------------------------------------------------------------- +Wed Jul 19 12:32:49 CEST 2006 - mfabian@suse.de + +- update to 21.5.27.20060705 + + remove sentinel.patch (included upstream). + + remove suppress-warning-about-undefined-unicode-key-mappings.patch + (obsolete). + + remove fix-wrong-use-of-memset.patch (included upstream). + +------------------------------------------------------------------- +Tue Jul 18 19:08:53 CEST 2006 - schwab@suse.de + +- Fix broken use of autoconf internal macros. + +------------------------------------------------------------------- +Thu Jun 15 00:14:47 CEST 2006 - dmueller@suse.de + +- build parallel + +------------------------------------------------------------------- +Mon Mar 27 16:52:00 CEST 2006 - mfabian@suse.de + +- update to 21.5.25.20060327 to make xemacs build on x86_64 again, + and make xemacs-packages build again on ppc64. + +------------------------------------------------------------------- +Mon Mar 27 12:06:40 CEST 2006 - mfabian@suse.de + +- fix wrong use of memset. +- use "--disable-mc-alloc --disable-kkcc --disable-newgc" on + i386 architecture as well. + +------------------------------------------------------------------- +Mon Mar 06 17:31:53 CET 2006 - mfabian@suse.de + +- update to 21.5.25. Fixes: + + bugzilla #141126 (XEmacs 21.5.24 doesn't read localized + app-defaults) + + bugzilla #145121 (XIM doens't work anymore in XEmacs) + + bugzilla #143515 (XEmacs crashes when loading a UTF-8 encoded + Japanese file) +- Bugzilla #155506: + add configure option "--with-canna", the auto-detection of canna + seems to be broken but when enabling canna explicitly it works. + +------------------------------------------------------------------- +Thu Feb 16 19:00:05 CET 2006 - mfabian@suse.de + +- uninitialized-variables-2.patch, see + http://list-archive.xemacs.org/xemacs-beta/200602/msg00026.html + +------------------------------------------------------------------- +Fri Feb 10 18:16:37 CET 2006 - coolo@suse.de + +- uncommenting workaround for metacity bug (#suse457777) triggering + shrinking loop under KDE (#103040) + +------------------------------------------------------------------- +Wed Jan 25 21:43:03 CET 2006 - mls@suse.de + +- converted neededforbuild to BuildRequires + +------------------------------------------------------------------- +Tue Dec 27 19:07:23 CET 2005 - mfabian@suse.de + +- update to 21.5.24. +- remove xemacs-21.5.21-ia64.patch (included upstream). + +------------------------------------------------------------------- +Fri Oct 07 12:27:28 CEST 2005 - mfabian@suse.de + +- add option "-no-site-file" when calling xemacs from the + .spec file (requested by user Dieter Jurzitza). Not necessary + when building in chroot but it cannot hurt. + +------------------------------------------------------------------- +Thu Oct 06 17:06:37 CEST 2005 - mfabian@suse.de + +- add a few directories to the file lists to make sure + that no empty directories below /usr/share/xemacs remain + when xemacs, xemacs-el, and xemacs-info are uninstalled. + +------------------------------------------------------------------- +Wed Oct 5 15:14:26 CEST 2005 - werner@suse.de + +- Use old LDAP interface + +------------------------------------------------------------------- +Mon Sep 19 18:34:32 CEST 2005 - mfabian@suse.de + +- update to 21.5.22. + +------------------------------------------------------------------- +Thu Sep 08 14:51:07 CEST 2005 - mfabian@suse.de + +- Bug 115362 - xemacs startup info not disappearing: + remove X-KDE-WMClass=emacs entry from xemacs.desktop. + +------------------------------------------------------------------- +Tue Sep 6 17:38:53 CEST 2005 - yxu@suse.de + +- fixed conflicting type definition + +------------------------------------------------------------------- +Tue Aug 16 18:04:03 CEST 2005 - mfabian@suse.de + +- Bugzilla #104973: add --disable-mc-alloc --disable-kkcc + configure options again because with these options the build + of "xemacs-packages" fails on x86_64. + +------------------------------------------------------------------- +Mon Aug 01 19:27:39 CEST 2005 - mfabian@suse.de + +- bugzilla #98715: xemacs-*.dmp file is needed again because + 'mc-alloc' is used now and it is wasteful to dump into the + executable when using mc-alloc. +- add extents.c.diffs by Darryl Okahata to fix some crashes + in the garbage collector on 64 bit systems. See also: + http://list-archive.xemacs.org/xemacs-beta/200507/msg00346.html +- avoid compiler warnings about uninitalized variables. + +------------------------------------------------------------------- +Thu Jul 21 13:04:07 CEST 2005 - mfabian@suse.de + +- update to 21.5.21.20050721. + + remove --disable-mc-alloc --disable-kkcc configure options. + +------------------------------------------------------------------- +Tue Jul 12 19:22:53 CEST 2005 - mfabian@suse.de + +- update Aidan's keysym-handling patch to latest version. + +------------------------------------------------------------------- +Thu Jun 23 17:08:14 CEST 2005 - mfabian@suse.de + +- Bugzilla #77957: support UXXXX keysyms better by applying + aidan-kehoe-clean-up-keysym-handling.patch instead of the hack + in site-start.el. Aidan's patch has the advantage that the + cursor keep working in a terminal even when XEmacs was started + under X11 and later another frame was opened in a terminal + with 'gnuclient -nw'. See also: + http://list-archive.xemacs.org/xemacs-patches/200505/msg00127.html + +------------------------------------------------------------------- +Fri Jun 17 12:57:29 CEST 2005 - mfabian@suse.de + +- Improve workaround to support more Unicode characters. + (more systematic approach which increases the number of + supported characters a lot). + +------------------------------------------------------------------- +Wed Jun 15 21:14:17 CEST 2005 - mfabian@suse.de + +- With the hack to fix Bugzilla #77957 better, the cursor keys + stop working when xemacs is started in a terminal. Apply that + hack only when running under X11. + +------------------------------------------------------------------- +Mon Jun 13 15:38:44 CEST 2005 - mfabian@suse.de + +- Bugzilla #77957: Better solution, add all keysyms of the type + UXXXX to the global-map when they are first used. +- suppress warning about "Undefined Unicode key mappings" because + all of them are defined now. +- Bugzilla #90350: xemacs should not crash when a locale is not + supported by Xlib. Set locale to C instead and show a warning. + +------------------------------------------------------------------- +Thu Jun 09 17:18:16 CEST 2005 - mfabian@suse.de + +- Bugzilla #77957: I forgot to add some characters from U+00A1 to + U+00FF to preloaded-unicode-key-translations, for example U+00FC + (LATIN SMALL LETTER U WITH DIAERESIS) was missing. Thanks + to Reinhard Max for reporting. + +------------------------------------------------------------------- +Tue Jun 07 21:27:23 CEST 2005 - mfabian@suse.de + +- Bugzilla #87362: "xemacs cannot edit crontabs": + add do-not-create-backups-in-temp-directories.patch. + +------------------------------------------------------------------- +Thu Jun 02 15:40:51 CEST 2005 - mfabian@suse.de + +- update to 21.5.21. +- remove always-load-correct-app-defaults.patch, XEmacs + uses the application class "XEmacs" by default now. +- update destdir.patch +- use configure options "--disable-mc-alloc" "--disable-kkcc" + for now, when using the new allocation scheme and the new + garbage collector, I cannot build XEmacs anymore on x86_64. + +------------------------------------------------------------------- +Tue May 17 15:48:52 CEST 2005 - schwab@suse.de + +- Update ia64 patch. + +------------------------------------------------------------------- +Fri May 13 15:03:06 CEST 2005 - mfabian@suse.de + +- update to 21.5.20. +- jamie-zawinski-selection-fix.patch, aidan-kehoe-iso8859-16.patch + not necessary anymore. + +------------------------------------------------------------------- +Tue Apr 26 00:27:38 CEST 2005 - mfabian@suse.de + +- add workaround support for more unicode characters, + especially for those needed for IPA. + +------------------------------------------------------------------- +Thu Apr 14 17:02:00 CEST 2005 - mfabian@suse.de + +- Bugzilla #77957: add all characters from U+00A1 to U+00FF to + preloaded-unicode-key-translations. + +------------------------------------------------------------------- +Mon Apr 4 00:01:41 CEST 2005 - aj@suse.de + +- Fix GCC4 sentinel warnings. + +------------------------------------------------------------------- +Mon Mar 07 17:58:36 CET 2005 - mfabian@suse.de + +- add a few more characters to preloaded-unicode-key-translations + in site-start.el to be able to input all common quotation-marks. + +------------------------------------------------------------------- +Fri Mar 04 16:42:18 CET 2005 - mfabian@suse.de + +- add workaround to support some Unicode characters which are in + no legacy charset. See also: + http://cvs.xemacs.org/viewcvs.cgi/XEmacs/xemacs/src/unicode.c.diff?r1=1.25&r2=1.26 + +------------------------------------------------------------------- +Wed Mar 02 17:43:52 CET 2005 - mfabian@suse.de + +- add workaround for input of characters like + U+201E DOUBLE LOW-9 QUOTATION MARK. + +------------------------------------------------------------------- +Thu Feb 17 12:35:06 CET 2005 - mfabian@suse.de + +- fix cut-and-paste problem when pasting Japanese + from xpdf to XEmacs. Patch by Jamie Zawinski, slighly adapted + for XEmacs 21.5.18, see also: + http://list-archive.xemacs.org/xemacs-beta/200407/msg00158.html + +------------------------------------------------------------------- +Sun Feb 13 22:32:49 CET 2005 - ro@suse.de + +- remove .orig file for xemacs-faq + +------------------------------------------------------------------- +Fri Feb 11 12:43:57 CET 2005 - mfabian@suse.de + +- improve i18n-setup in site-start.el: + + try to set a useful language-environment by default and + fix the unicode-precedence-list if it is broken after + set-language-environment. + + more encoding setup necessary for XEmacs >= 21.5.6 +- add patch from upstream CVS by Aidan Kehoe to support + iso8859-16 (adds support for characters like + U+201E DOUBLE LOW-9 QUOTATION MARK) + +------------------------------------------------------------------- +Thu Feb 10 12:01:36 CET 2005 - mfabian@suse.de + +- remove configure option "--rel-alloc" because it makes + XEmacs 21.5.18 often crash when using 'compile-goto-error'. + +------------------------------------------------------------------- +Fri Feb 4 23:29:36 CET 2005 - schwab@suse.de + +- Fix format string bug in movemail. + +------------------------------------------------------------------- +Fri Feb 4 16:04:54 CET 2005 - werner@suse.de + +- Security fix for movemail applied (bug #50237) + +------------------------------------------------------------------- +Tue Feb 01 13:43:56 CET 2005 - mfabian@suse.de + +- don't use LDFLAGS="-s", otherwise the xemacs-debuginfo package + will be empty. +- improve fontSet in app-defaults to avoid the warning + "Missing charsets in String to FontSet conversion". +- remove unused utf8-problem.patch + +------------------------------------------------------------------- +Fri Dec 31 14:59:33 CET 2004 - mfabian@suse.de + +- improve DESTDIR patch. + +------------------------------------------------------------------- +Tue Dec 14 13:53:31 CET 2004 - werner@suse.de + +- Make it build + +------------------------------------------------------------------- +Fri Dec 10 12:34:24 CET 2004 - mfabian@suse.de + +- update to 21.5.18. +- remove xemacs-lim_data.patch (now included). +- include the fixes Werner Fink made for XEmacs 21.4.15 + (see changelog entries below from Tue Sep 28 to Wed Nov 17). + +------------------------------------------------------------------- +Wed Nov 17 12:51:03 CET 2004 - werner@suse.de + +- Add emacs.png pixmap to file list + +------------------------------------------------------------------- +Wed Oct 13 18:26:34 CEST 2004 - werner@suse.de + +- Add workaround for XKey modifier detection even if the keys + are not marked as modifiers (bug #47192) + +------------------------------------------------------------------- +Mon Oct 4 18:51:45 CEST 2004 - werner@suse.de + +- Do not break KDE resize back call with GNOME fix (bug #46751) + +------------------------------------------------------------------- +Tue Sep 28 17:09:46 CEST 2004 - werner@suse.de, mfabian@suse.de + +- Bugzilla #45777 (xemacs in metacity can not be maximized). +- Bugzilla #46313 (mouse wheel broken in XEmacs). + +------------------------------------------------------------------- +Fri Sep 24 22:55:08 CEST 2004 - mfabian@suse.de + +- Bugzilla #46085: move encoding setup code from func-keys.el + to site-start.el and clean it up a bit. site-start.el is + *always* read and it is read late enough for the encoding setup, + there is no need for using hooks when doing this in + site-start.el. + +------------------------------------------------------------------- +Mon Sep 6 01:03:41 CEST 2004 - schwab@suse.de + +- Fix ia64 patch. + +------------------------------------------------------------------- +Mon Mar 22 19:57:07 CET 2004 - mfabian@suse.de + +- Bugzilla: #36720 read correct app-defaults. I.e., *always* + read /usr/X11R6/lib/app-defaults/XEmacs and never read + /usr/X11R6/lib/app-defaults/Emacs. Until now, XEmacs did read + /usr/X11R6/lib/app-defaults/XEmacs if any "XEmacs" resources + were set in ~/.Xresources, otherwise it did read + /usr/X11R6/lib/app-defaults/Emacs. But the latter file is + incompatible to XEmacs and should never be read. +- use -adobe-helvetica-bold-* instead of -gnu-unifont- by default + for the menus because most users like it better. + +------------------------------------------------------------------- +Mon Mar 8 23:43:03 CET 2004 - mfabian@suse.de + +- adapt Werner's patch for xemacs 21.5.16. + +------------------------------------------------------------------- +Mon Mar 8 19:21:12 CET 2004 - werner@suse.de + +- Make workaround to a real fix: autoconf 2.59 does not accept + comments after cpp undef macro within config.h.in + +------------------------------------------------------------------- +Fri Mar 5 18:03:01 CET 2004 - werner@suse.de + +- Add workaround for stat64 kernel problem and failing + (auto)configure sed parser. + +------------------------------------------------------------------- +Fri Feb 27 14:32:24 CET 2004 - mfabian@suse.de + +- don't require 'un-define anymore in the site specific startup + code, XEmacs >= 21.5.6 has internal Unicode support. Add a + (provide 'un-define) because a user might have a + (require 'un-define) in his own startup files. + +------------------------------------------------------------------- +Tue Feb 24 18:16:08 CET 2004 - mfabian@suse.de + +- move site-start.el and other SuSE specific startup files from + /usr/share/xemacs/%{version}/site-packages/lisp to + /usr/share/xemacs/site-packages/lisp because site-start.el + is not loaded anymore automatically from the old location. +- change 'set-default-coding-systems to + 'set-default-output-coding-systems in func-keys.el, apparently + this function has been renamed upstream. + +------------------------------------------------------------------- +Mon Feb 23 17:08:28 CET 2004 - mfabian@suse.de + +- update to 21.5.16. + +------------------------------------------------------------------- +Sun Feb 22 14:45:29 CET 2004 - mfabian@suse.de + +- add missing directories to file list of xemacs-el. + This makes it possible to use "build" instead of + "build --clean". + +------------------------------------------------------------------- +Fri Feb 20 19:29:49 CET 2004 - mfabian@suse.de + +- add destdir.patch and use buildroot and norootforbuild. +- some cleanup of the .spec file. + +------------------------------------------------------------------- +Mon Feb 16 19:31:07 CET 2004 - mfabian@suse.de + +- disable patch for Bugzilla #34430, it does have nasty side + effects (xemacs-packages doesn't build anymore because an + "out of memory" error while byte-compiling Mule-UCS, ...) +- use a better workaround to fix the load-history instead of + dumping XEmacs twice. + +------------------------------------------------------------------- +Sat Feb 14 00:24:51 CET 2004 - mfabian@suse.de + +- fix Bugzilla #34430 (I hope). + +------------------------------------------------------------------- +Thu Feb 12 00:14:29 CET 2004 - mfabian@suse.de + +- update to 21.4.15. +- use -fno-strict-aliasing + +------------------------------------------------------------------- +Wed Jan 21 15:02:01 CET 2004 - meissner@suse.de + +- ppc64 fully fixed. + +------------------------------------------------------------------- +Tue Jan 20 16:02:51 CET 2004 - meissner@suse.de + +- Fixed ppc linker script, added ppc64 patch from emacs. + ppc32 working, ppc64 now fails a bit later. + +------------------------------------------------------------------- +Mon Nov 3 16:22:04 CET 2003 - schwab@suse.de + +- Don't use "portable" dumper on ia64. +- Fix permissions. + +------------------------------------------------------------------- +Tue Sep 2 19:40:10 CEST 2003 - werner@suse.de + +- Fix the fix: make function keys work again (bug #29654) + +------------------------------------------------------------------- +Mon Aug 25 19:30:25 CEST 2003 - werner@suse.de + +- Fix key modifier handling, there is no slot handling + anymore but every symbol has a type (e.g. Ctr-Alt) (bug #28995) + +------------------------------------------------------------------- +Sat Aug 23 18:57:59 CEST 2003 - mfabian@suse.de + +- install desktop file only %if %suse_version > 820 + to make it build on older distributions as well. + +------------------------------------------------------------------- +Fri Aug 22 17:38:14 CEST 2003 - mfabian@suse.de + +- update to 21.4.13 "Rational FORTRAN". + +------------------------------------------------------------------- +Fri Aug 22 12:50:09 CEST 2003 - mfabian@suse.de + +- remove mule-ucs-xemacs and Mule-UCS-xemacs from "Provides:" + and "Obsoletes:" (moved to xemacs-packages). + +------------------------------------------------------------------- +Thu Aug 21 14:11:13 CEST 2003 - mfabian@suse.de + +- split new packages out of xemacs{,-el,-info}: + xemacs-packages{,-el,-info} + +------------------------------------------------------------------- +Sat Aug 16 16:14:13 CEST 2003 - adrian@suse.de + +- install desktop file from kappfinder + +------------------------------------------------------------------- +Fri Jul 25 17:06:57 CEST 2003 - mfabian@suse.de + +- fix race condition when generating the file list. + +------------------------------------------------------------------- +Tue Jun 24 14:21:20 CEST 2003 - ro@suse.de + +- added directories to filelist + +------------------------------------------------------------------- +Tue Jun 24 00:33:26 CEST 2003 - ro@suse.de + +- fixed filelist + +------------------------------------------------------------------- +Thu Mar 13 14:31:22 CET 2003 - mfabian@suse.de + +- Bug #25300: call 'latin-unity-install' for non-UTF-8 locales in + site-packages/lisp/term/func-keys.el to write files in + iso-8859-15 encoding correctly without inserting + ISO-2022 escape sequences. Don't call it in UTF-8 locales! + If 'latin-unity-install' is called in a UTF-8 locale, + the behaviour of the coding systems "binary" and "no-conversion" + becomes strange, they convert to UTF-8 when writing files + with German umlauts, which is surprising for "binary". + +------------------------------------------------------------------- +Thu Mar 6 17:07:52 CET 2003 - kukuk@suse.de + +- Remove cyrus-sasl from neededforbuild + +------------------------------------------------------------------- +Fri Feb 28 18:44:47 CET 2003 - mfabian@suse.de + +- fix Bugzilla #23472: + generate /usr/share/xemacs/xemacs-packages/info/dir and + /usr/share/xemacs/mule-packages/info/dir and include them + in the xemacs-info package. + +------------------------------------------------------------------- +Fri Feb 28 00:09:48 CET 2003 - mfabian@suse.de + +- include latest changes by Ben to edebug + to make it work again. The edebug as included in + sumo-2003-02-05 doesn't work at all. +- improve Werner's func-keys.el + (make XIM work right ja_JP.UTF-8 locale, load latin-unity + and latin-euro-input, append the coding-system setup stuff to + 'before-init-hook instead of adding it at the beginning because + 'mule-init is already in 'before-init-hook) + +------------------------------------------------------------------- +Wed Feb 26 18:56:35 CET 2003 - werner@suse.de + +- Fix coding system settings: use the correct value + +------------------------------------------------------------------- +Fri Feb 14 20:43:23 CET 2003 - schwab@suse.de + +- Fix data limit check. + +------------------------------------------------------------------- +Thu Feb 6 18:40:54 CET 2003 - mfabian@suse.de + +- update packages to sumo-2003-02-05 + (fixes the problem that XEmacs didn't automatically switch + to c++-mode, perl-mode, etc. anymore. The initial values of + interpreter-mode-alist and auto-mode-alist are rather short + now and are dynamically changed when a package is loaded. To + make this work a sufficiently uptodate Sumo was necessary). +- disable packages-cvs-sumo-2002-09-19-comint.patch again, XEmacs + shell-mode works better with TERM=emacs and Werner added the + emacs entry to terminfo again. +- remove hunks which are included upstream from + packages-cvs-xemacs-sumo-2002-05-22-locale-start.patch + packages-cvs-sumo-2002-09-19-xslt-process.patch + +------------------------------------------------------------------- +Thu Jan 30 14:39:14 CET 2003 - mfabian@suse.de + +- update to 21.4.12 +- add packages-cvs-sumo-2002-09-19-comint.patch: + (defvar system-suse-terminfo t) to use TERM=dumb by default + like GNU Emacs does. The previous default was TERM=emacs, which + doesn't exist in the latest terminfo. + +------------------------------------------------------------------- +Mon Dec 16 17:01:31 CET 2002 - mfabian@suse.de + +- workaround for fontSet problem in app-defaults: + use "XEmacs*fontSet:" instead of just "*fontSet:" in the + app-defaults files. +- workaround to avoid dumping the paths to lisp files + as /usr/src/packages/BUILD/... into the xemacs executable adapted + for the portable dumper + +------------------------------------------------------------------- +Fri Dec 13 18:36:00 CET 2002 - mfabian@suse.de + +- add /usr/X11R6/bin/xemacs-%{version}-*.dmp to file list. + +------------------------------------------------------------------- +Fri Dec 13 17:45:26 CET 2002 - mfabian@suse.de + +- update to 21.4.11rc1 +- update Sumo to 2002-09-19 +- remove parts of packages-cvs-xemacs-sumo-2002-03-29-ps-print.patch + which are included upstream +- use portable dumper by default +- fix Makefiles of xslt-process + +------------------------------------------------------------------- +Thu Dec 12 14:15:02 CET 2002 - coolo@suse.de + +- use libndbm instead of libgdbm for non-GNU dbm + +------------------------------------------------------------------- +Wed Nov 20 19:55:15 CET 2002 - schwab@suse.de + +- More autoconf fixes. + +------------------------------------------------------------------- +Tue Sep 17 18:47:59 CEST 2002 - ro@suse.de + +- removed bogus self-provides + +------------------------------------------------------------------- +Mon Aug 19 21:35:05 CEST 2002 - mfabian@suse.de + +- quick and dirty fix to make it build again. + The Makefile in the 'locale' package lists 3 .elc files with + the same name in different subdirectories. 'make install' + tries to copy them all into the same destination directory: + cp -af {ja,ro,fr}/locale-start.elc \ + /usr/share/xemacs/mule-packages/lisp/locale/ + The 'cp' from latest fileutils cowardly refuses to overwrite + the Japanese and Romanian versions of locale-start.elc with + the French version, as it did until now. + But the files in /usr/share/xemacs/mule-packages/lisp/locale/ + are apparently never read anyway, only the files from + /usr/share/xemacs/mule-packages/etc/start-files/{ja,ro,fr}/ + are read. Therefore I fixed this temporarily by not building + any locale-start.elc files which prevents installing anything + into /usr/share/xemacs/mule-packages/lisp/locale/. +- use the correct encoding for the output of + 'LC_ALL=ja_JP.eucJP xemacs --help', + 'LC_ALL=ja_JP.UTF-8 xemacs --help', and + 'LC_ALL=ja_JP.SJIS xemacs --help'. +- similar problem with 'cp' fixed in mule-ucs package + +------------------------------------------------------------------- +Fri Aug 16 21:55:16 CEST 2002 - mfabian@suse.de + +- add packages-cvs-xemacs-sumo-2002-05-22-gnus-5.8.8-utf-8.patch + to make it possible to send Mails in UTF-8 with Gnus 5.8.8. + +------------------------------------------------------------------- +Sun Aug 11 21:02:05 CEST 2002 - mfabian@suse.de + +- change # neededforbuild: + cannadev -> canna canna-devel canna-libs + +------------------------------------------------------------------- +Mon Jul 22 21:07:36 CEST 2002 - werner@suse.de + +- diff-mode: check on hunk even if file diff starts (bug #17035) + +------------------------------------------------------------------- +Mon Jul 22 16:15:30 CEST 2002 - werner@suse.de + +- Fix path expansion in apel/install.el of sumo tar ball +- Enable RPM_OPT_FLAGS for SuSE Linux version > 8.0 + +------------------------------------------------------------------- +Fri Jul 5 10:56:36 CEST 2002 - kukuk@suse.de + +- Use %ix86 macro + +------------------------------------------------------------------- +Mon Jun 10 14:11:37 CEST 2002 - mfabian@suse.de + +- small improvement in ps-mule.el patch: + keep hanglm24.bdf as a fallback if gulim24.bdf doesn't exist. + +------------------------------------------------------------------- +Wed May 29 16:00:32 CEST 2002 - mfabian@suse.de + +- update to 21.4.8 + sumo-2002-05-22 +- remove lib64.patch, xemacs-21.4.4-printer.el.patch, + xemacs-21.4.4-moduledir.patch, + packages-cvs-xemacs-sumo-2002-03-29-xslide.patch, and + packages-cvs-xemacs-sumo-2002-03-29-liece.patch + (included upstream) +- add UTF-8 versions of translated app-defaults +- add *fontSet definitions including iso10646-1 fonts to all + app-defaults. +- add default app-defaults file + /usr/X11R6/lib/X11/app-defaults/XEmacs to get the same *fontSet + settings when starting XEmacs in an UTF-8 locale which has no + translated app-defaults file (e.g. en_US.UTF-8). +- generate the file lists for the .el and .elc files automatically + in the .spec file + +------------------------------------------------------------------- +Mon May 6 23:21:20 CEST 2002 - schwab@suse.de + +- Readd ia64 patch, suitably adapted. +- Fix lib64 configuration. + +------------------------------------------------------------------- +Thu May 2 17:29:48 CEST 2002 - mfabian@suse.de + +- fix printing with when (setq ps-multibyte-buffer 'bdf-font) + is used + +------------------------------------------------------------------- +Thu Apr 25 11:52:58 CEST 2002 - mfabian@suse.de + +- update to 21.4.6 + sumo-2002-03-29 +- the update broke the build on ppc and axp, fix it. +- Provides += mule-ucs-xemacs Mule-UCS-xemacs, + Obsoletes += mule-ucs-xemacs Mule-UCS-xemacs + (Mule-UCS 0.84 is already part of the sumos now). +- remove packages-cvs-xemacs-sumo-2001-07-09-ia64.patch, patched + file doesn't exist anymore. +- add packages-cvs-xemacs-sumo-2002-03-29-liece.patch and + packages-cvs-xemacs-sumo-2002-03-29-xslide.patch to fix build + problems in packages. +- add packages-cvs-xemacs-sumo-2002-03-29-ps-print.patch (some + fixes for CJK printing and printing with bdf fonts) +- fix file list: some new lisp packages have been added, some + old ones were removed and there were some mistakes in the file + list as well. + +------------------------------------------------------------------- +Tue Apr 23 09:44:23 CEST 2002 - aj@suse.de + +- Enable building on architectures with lib64. +- Fix compiler flags for x86. + +------------------------------------------------------------------- +Thu Apr 4 15:54:34 CEST 2002 - schwab@suse.de + +- Fix missing quotes in configure script. + +------------------------------------------------------------------- +Fri Mar 8 13:16:23 CET 2002 - kukuk@suse.de + +- Fix file list + +------------------------------------------------------------------- +Fri Feb 22 16:12:35 CET 2002 - werner@suse.de + +- Fix bug #13340: use correct lisp macro name of mouse wheel + screen scrolling. + +------------------------------------------------------------------- +Fri Feb 1 00:26:11 CET 2002 - ro@suse.de + +- changed neededforbuild to + +------------------------------------------------------------------- +Thu Oct 25 18:54:40 CEST 2001 - mfabian@suse.de + +- remove "/site-packages/lisp/term/" directory from load-path +- add --moduledir configure option +- add workaround to avoid dumping the paths to lisp files + as /usr/src/packages/BUILD/... into the xemacs executable +- add pattch for big-menubar.el (thanks to ) + +------------------------------------------------------------------- +Thu Oct 18 21:35:51 CEST 2001 - mfabian@suse.de + +- fix printer.el to make 'generic-print-region' work again + under Linux like operating systems + +------------------------------------------------------------------- +Fri Sep 21 12:25:33 CEST 2001 - mfabian@suse.de + +- fix font-menu.el to make changing fonts with the menu + possible again. + +------------------------------------------------------------------- +Mon Sep 10 13:09:32 CEST 2001 - aj@suse.de + +- Remove extra space in LDFLAGS to allow building on PowerPC and + alpha. + +------------------------------------------------------------------- +Wed Sep 5 15:04:05 CEST 2001 - werner@suse.de + +- FHS: /var/state/xemacs -> /var/lib/xemacs (bug #8678) + +------------------------------------------------------------------- +Mon Sep 3 09:19:41 CEST 2001 - aj@suse.de + +- Don't sort relocation entries, otherwise dumping breaks. + +------------------------------------------------------------------- +Mon Jul 2 18:30:27 CEST 2001 - mfabian@suse.de + +- update to 21.4.4 +- remove redisplay patch (included upstream) +- remove xemacs-sumo-2000-09-04-jde.patch (jde doesn't exist + anymore in the current sumos) +- remove xemacs-sumo-2000-09-04-mc.patch (included upstream) +- remove xemacs-db3.patch (included upstream) +- rebuild XEmacs packages from the CVS tree instead of using + the sumo tarballs. This enables us to easily apply patches + and rebuild all .elc files, which is difficult with the sumos +- remove xemacs-sumo-2000-01-24-vm.patch, + xemacs-sumo-2000-09-04-ilisp.patch + (was only needed to fix problems in rebuilding the .elc files, + not necessary anymore when rebuilding the .elc from CVS). +- move xemacs-sumo-2000-09-04-ispell.patch into + packages-cvs-xemacs-sumo-2001-07-09.patch +- removed xemacs-ia64.dif (not needed anymore) +- add gpp libgpp to "# neededforbuild" (the packages contain C++ + sources) +- remove "xemacs-21.4.4-info.tar.bz2" to save some space in the + source rpm (All these info files can be rebuild from the texinfo + sources in the main source tar ball "xemacs-21.4.4.tar.bz2") + +------------------------------------------------------------------- +Thu Jun 7 22:21:00 CEST 2001 - werner@suse.de + +- A long way: Fix trouble with new autoconf + +------------------------------------------------------------------- +Thu Jun 7 16:20:07 CEST 2001 - werner@suse.de + +- Make autoconf work again + +------------------------------------------------------------------- +Mon May 14 17:06:19 CEST 2001 - werner@suse.de + +- Add mail crypt patch (bug#8300) + +------------------------------------------------------------------- +Tue May 8 19:45:00 CEST 2001 - werner@suse.de + +- Move [(shift home)] and [(shift end)] to [(control home)] and + [(control end)] to be more common with WIN XY. +- Move func-keys load from window-setup-hook to init function of + xfree of xemacs. + +------------------------------------------------------------------- +Thu May 3 15:19:58 CEST 2001 - werner@suse.de + +- Fix typo in crypt.el (bug#7525) + +------------------------------------------------------------------- +Fri Apr 6 16:51:56 CEST 2001 - mfabian@suse.de + +- commented out 'ascii-character property changes for 'delete + and 'backspace in func-keys.el, because this causes problems + when using the XEmacs <-> Canna interface (Backspace didn't + cancel the henkan anymore) + +------------------------------------------------------------------- +Sun Apr 1 16:35:21 CEST 2001 - schwab@suse.de + +- Fix ia64 support. +- Add support for Berkeley DB3 from CVS. + +------------------------------------------------------------------- +Fri Mar 30 17:46:19 CEST 2001 - werner@suse.de + +- Keybinding + Change [(home)] from beginning-of-buffer to beginning-of-line + Change [(end)] from end-of-buffer to end-of-line + Add [(shift home)] for beginning-of-buffer + Add [(shift end)] for end-of-buffer +- Basic wheel mouse support + +------------------------------------------------------------------- +Thu Mar 15 14:48:34 CET 2001 - ro@suse.de + +- changed neededforbuild for openldap2 + +------------------------------------------------------------------- +Thu Mar 15 01:08:35 CET 2001 - ro@suse.de + +- fixed neededforbuild for openldap + +------------------------------------------------------------------- +Mon Feb 5 17:23:59 CET 2001 - werner@suse.de + +- Add LDAP on configuration + +------------------------------------------------------------------- +Mon Feb 5 17:15:55 CET 2001 - werner@suse.de + +- Security update to 21.1.14 + +------------------------------------------------------------------- +Mon Jan 22 02:20:38 CET 2001 - mfabian@suse.de + +- installed pcl-cvs package as well (it was disabled due to + problems with this packages, but it seems to work fine now, + so it can be enabled again). + +------------------------------------------------------------------- +Tue Nov 21 18:50:47 CET 2000 - werner@suse.de + +- Remove swapping of kp-separator/kp-decimal because it's + done in xkbd map for german keyboards + +------------------------------------------------------------------- +Tue Nov 21 15:14:27 CET 2000 - werner@suse.de + +- Move package names + * from xe_exec to xemacs + * from xe_lisp to xemacs-el + * from xe_info to xemacs-info +- Add kvt.el and gnome.el for the terminal kvt and gnome-terminal +- Make ispell.el compatible ispell-emacs-menu.el + +------------------------------------------------------------------- +Fri Nov 17 20:06:08 CET 2000 - mfabian@suse.de + +- Build with support for FreeWnn. +- added redisplay patch important for Japanese + (see http://www.xemacs.org/list-archives/xemacs-beta/199912/msg00376.html) + +------------------------------------------------------------------- +Tue Oct 24 12:16:54 CEST 2000 - werner@suse.de + +- Replace `@AUCDIR' kludge from lisp/auctex/tex-site.el by the + location of the auctex data directory (etc/auctex/). +- Use a more generally printer setup for auctex. + +------------------------------------------------------------------- +Mon Oct 23 14:20:27 CEST 2000 - aj@suse.de + +- Build with X-Face support. + +------------------------------------------------------------------- +Sun Sep 17 19:12:52 CEST 2000 - schwab@suse.de + +- Add support for ia64. +- Fix typo in configure.in. + +------------------------------------------------------------------- +Fri Sep 15 16:08:21 CEST 2000 - werner@suse.de + +- Dump cl-macs into xemacs to avoid nasty loading messages +- Fix byte compiling of jde, mew, and ilisp packages + +------------------------------------------------------------------- +Fri Sep 8 20:15:28 CEST 2000 - werner@suse.de + +- Correct file list +- make tar's bzip2ed +- add xterm Ctrl+cursor keys +- move dif from 2.1.10 to 2.1.12 + +------------------------------------------------------------------- +Thu Sep 7 13:03:08 CEST 2000 - aj@suse.de + +- Update to XEmacs 21.1.12 and Sumo packages from 2000-09-04. + +------------------------------------------------------------------- +Thu Jul 13 11:57:39 CEST 2000 - mfabian@suse.de + +- cannadev is needed for build to get Canna support compiled in. +- added support for international menubars. + +------------------------------------------------------------------- +Thu Jun 29 13:19:11 CEST 2000 - werner@suse.de + +- remove circular dependency between xe_exec and xe_info + +------------------------------------------------------------------- +Mon May 29 19:09:37 CEST 2000 - aj@suse.de + +- Update to XEmacs 21.1.10 and current packages (except pcl-cvs + which has some problems) + +------------------------------------------------------------------- +Wed Apr 5 19:36:21 MEST 2000 - bk@suse.de + +- needs automake for update config.{sub,guess} macro + +------------------------------------------------------------------- +Tue Apr 4 12:27:08 CEST 2000 - bk@suse.de + +- s390 team added support for s390 + +------------------------------------------------------------------- +Thu Feb 17 16:03:35 CET 2000 - aj@suse.de + +- Added Y2k patch for vc, fixed scaled font handling. + +------------------------------------------------------------------- +Mon Feb 7 17:40:49 CET 2000 - kasal@suse.de + +- app-defaults files should be %config + +------------------------------------------------------------------- +Thu Jan 27 16:31:07 CET 2000 - ro@suse.de + +- specfile: re-done %setup section for new tar + +------------------------------------------------------------------- +Tue Jan 25 18:33:39 CET 2000 - werner@suse.de + + - New version 21.1.8 + - New tarballs 2000-01-24 + - New fix for vm package + - /usr/man -> /usr/share/man + +------------------------------------------------------------------- +Fri Jan 14 17:05:22 CET 2000 - werner@suse.de + + - Fix vm package: macros arn't autoloadable by xemacs 21.x + +------------------------------------------------------------------- +Wed Dec 22 18:39:06 CET 1999 - werner@suse.de + + - Uh: install and pack some missed scripts + +------------------------------------------------------------------- +Wed Dec 1 17:02:14 CET 1999 - werner@suse.de + + - Fix pty handling: use glibc extension + +------------------------------------------------------------------- +Thu Nov 11 18:35:59 CET 1999 - werner@suse.de + + - Fix the site-package extension + * ispell menus + * xterm/console key mappings + - Fix font menu: set `ignore scaled fonts' to nil + +------------------------------------------------------------------- +Fri Nov 5 23:43:43 CET 1999 - werner@suse.de + + - Change file list of xe_info and xe_lisp + +------------------------------------------------------------------- +Thu Nov 4 18:01:32 CET 1999 - werner@suse.de + + - Remove libgif from required packages + +------------------------------------------------------------------- +Sat Oct 30 12:06:55 CEST 1999 - ro@suse.de + +- modified filelist for nonx86 +- removed libz from neededforbuild: it's default + +------------------------------------------------------------------- +Fri Oct 29 17:22:56 CEST 1999 - werner@suse.de + + - Remove `with system malloc' because the last patch seems + to help. Without system malloc we see more speed + +------------------------------------------------------------------- +Thu Oct 28 19:00:09 CEST 1999 - werner@suse.de + + - Add patch for glibc and __malloc_hook + +------------------------------------------------------------------- +Tue Oct 26 17:32:59 CEST 1999 - werner@suse.de + + - New glibc requires `with system malloc' + +------------------------------------------------------------------- +Wed Oct 20 23:56:32 CEST 1999 - werner@suse.de + + - Last checks + +------------------------------------------------------------------- +Wed Oct 20 22:01:53 CEST 1999 - werner@suse.de + + - New version 21.1.7 + * avoid locale problems due to lisp formats of time e.g. + - Use xemacs-mule-sumo-1999-05-27.tar.gz to avoid trouble + with not synched mule versions of xemacs and mule-sumo + - Use xemacs-sumo-1999-07-29.tar.gz + * Many bug fixes due to missed load statements and + minor version comparision: (19.)13 > (21.)1 + - Add the already used bug fixes and changes + * security + * ispell menu + * dinbrief.el for auctex + * ... + - Store xemacs in /usr/share/xemacs// + and /usr//xemacs// + - Move info to /usr/share/xemacs/info/ + - Enable site-lisp and move it to /usr/share/xemacs/site-lisp/ + - Make configured in paths work + +------------------------------------------------------------------- +Mon Sep 27 16:31:01 CEST 1999 - bs@suse.de + +- fixed requirements for sub packages + +------------------------------------------------------------------- +Mon Sep 13 17:23:57 CEST 1999 - bs@suse.de + +- ran old prepare_spec on spec file to switch to new prepare_spec. + +------------------------------------------------------------------- +Fri Aug 13 20:41:44 CEST 1999 - werner@suse.de + + - fix locale handling of xemacs + * overwrite LC_NUMERIC, LC_TIME, and LC_MESSAGES to + "C" to get something what can xemacs can handle + - fix dinbrief.el + +------------------------------------------------------------------- +Mon Apr 5 14:26:29 MEST 1999 - bs@suse.de + + - fixed date strings in .changes. + +------------------------------------------------------------------- +Mon Mar 8 21:37:20 MET 1999 - werner@suse.de + + - Remove site-lisp/ispell.el* to use the dynamic + rebuild of the Spell menu of the ispell package + - Create a site-start.el to do that + +------------------------------------------------------------------- +Thu Nov 12 15:15:48 MET 1998 - bs@suse.de + +- fixed spec file for new rpm. + +---------------------------------------------------------------------------- +Tue Nov 3 21:40:59 MET 1998 - werner@suse.de + - Change names of languages and encoding style in ispell + from `language (encod)' to `language-encod' +---------------------------------------------------------------------------- +Tue Jul 28 23:10:38 MEST 1998 - werner@suse.de + - Do not use system malloc ... some parts of xemacs arn't + smart enough for that. + - Disable const +---------------------------------------------------------------------------- +Mon Jul 27 14:42:02 MET DST 1998 - werner@suse.de + - Use redhat patch for alpha ... means make it work for all + arch's. This because I do not want use ordinary linkage which + may causes the troubles seen with xemacs and shared libs. +---------------------------------------------------------------------------- +Mon Jul 20 17:01:06 MET DST 1998 - werner@suse.de + - use mktemp if avaliable +---------------------------------------------------------------------------- +Fri Jul 10 12:15:02 MEST 1998 - werner@suse.de + - Check all script in lib-src against tmp exploits + - Fix pstogif (exploit and uninitialized variables) + - Add disp-table to site-load +---------------------------------------------------------------------------- +Thu Jul 9 12:57:56 MET DST 1998 - werner@suse.de + - Add american to the (i)spell menu + - Use -fno-force-mem (egcs-bug) + - Use -rpath-link /usr/X11R6/lib + - Avoid multiple common + - Remove and set some CONST +---------------------------------------------------------------------------- +Wed May 27 23:20:41 MET DST 1998 - werner@suse.de + - Use Xaw3d instead of Xaw to avoid trouble with xaw3dd + - Change pop service "pop" to "pop3" +---------------------------------------------------------------------------- +Tue Mar 3 19:30:34 MET 1998 - werner@suse.de + - New version 20.4 + - Same changes done for 20.3 (hacked ispell.el for our new ditcs) + - Fix the change doe for viper-ex.el + - Remove ctags (own package), send-pr and install-sid (gnats) + out of /usr/X11R6/bin/ +---------------------------------------------------------------------------- +Wed Feb 11 17:04:07 MET 1998 - werner@suse.de + - New version 20.3 + * Dead keys seems to work + * Now BS and DEL are distinct + - Some changes, e.g. hacked ispell.el for our new ditcs +---------------------------------------------------------------------------- +Thu Nov 6 20:16:15 MET 1997 - werner@suse.de + - New version 20.2 + - Add XFree86 deadlock keys to x-compose.el and x-iso8859-1.el + - Some changes +---------------------------------------------------------------------------- +Fri Jul 18 13:12:55 MET DST 1997 - werner@suse.de + - New patchlevel 19.15pl7 + - Remove one change of a patch to save choosen fonts in + `save options' + - Add deadlock keys to x-compose.el and x-iso8859-1.el +---------------------------------------------------------------------------- +Sun May 25 22:47:16 MET DST 1997 - werner@suse.de + - New version: 19.15 + - some changes in keycode under TERM=xterm (term/xterm.el) + - info goes to /usr/X11R6/lib/xemacs/info/ +---------------------------------------------------------------------------- +Tue Feb 4 20:32:54 MET 1997 - werner@suse.de + - Aufraeumen von term/linux.el und term/xterm.el: + Statt setzten von delete/backspace wird nun + delbackspace.el verwendet. + - Fix in einer Info-Seite +---------------------------------------------------------------------------- +Wed Aug 28 00:00:00 MET 1996 - werner@suse.de + - Neue Version von Xemacs: 19.14 + - Anpassungen an TERM=linux, TERM=xterm + - Delete loescht Zeichen unter dem Cursor + diff --git a/xemacs.patch b/xemacs.patch new file mode 100644 index 0000000..de5203e --- /dev/null +++ b/xemacs.patch @@ -0,0 +1,1370 @@ +diff -Nru xemacs-21.5.20.orig/.pkgextract xemacs-21.5.20/.pkgextract +--- xemacs-21.5.20.orig/.pkgextract 1970-01-01 01:00:00.000000000 +0100 ++++ xemacs-21.5.20/.pkgextract 2005-05-12 14:38:20.000000000 +0200 +@@ -0,0 +1,12 @@ ++(cd ../; tar xkfI xemacs-21.4.3-info.tar.bz2) ++rm -f mule-packages ++rm -f xemacs-packages ++tar xkfI ../xemacs-mule-sumo-2001-04-08.tar.bz2 ++rm -f lib-src/pstogif ++tar xkfI ../xemacs-sumo-2001-04-08.tar.bz2 ++patch -p0 -s --suffix=.vm < ../xemacs-sumo-2000-01-24-vm.patch ++patch -p0 -s --suffix=.ilisp < ../xemacs-sumo-2000-09-04-ilisp.patch ++patch -p0 -s --suffix=.ispell < ../xemacs-sumo-2000-09-04-ispell.patch ++patch -p0 -s --suffix=.mc < ../xemacs-sumo-2000-09-04-mc.patch ++patch -p0 -s --suffix=.conf < ../xemacs-21.4.3-autoconf.patch ++find lisp/ etc/ -name '*.elc' | xargs -r rm -f +diff -Nru xemacs-21.5.20.orig/lib-src/gnuclient.c xemacs-21.5.20/lib-src/gnuclient.c +--- xemacs-21.5.20.orig/lib-src/gnuclient.c 2004-12-07 00:23:41.000000000 +0100 ++++ xemacs-21.5.20/lib-src/gnuclient.c 2005-05-12 14:38:20.000000000 +0200 +@@ -223,7 +223,7 @@ + /* Encase the string in quotes, escape all the backslashes and quotes + in string. */ + static char * +-clean_string (const char *s) ++clean_string (char *s) + { + int i = 0; + char *p, *res; +diff -Nru xemacs-21.5.20.orig/lib-src/mmencode.c xemacs-21.5.20/lib-src/mmencode.c +--- xemacs-21.5.20.orig/lib-src/mmencode.c 2001-08-13 06:45:48.000000000 +0200 ++++ xemacs-21.5.20/lib-src/mmencode.c 2005-05-12 14:38:20.000000000 +0200 +@@ -20,6 +20,11 @@ + #include + #include + ++#include ++#include ++#include ++#include ++ + static void + output64chunk(int c1, int c2, int c3, int pads, FILE *outfile); + +@@ -427,6 +432,32 @@ + } + } + ++/* not safe on nfs filesystems, but this is close */ ++FILE * ++safeopen(char *filename, char *mode) ++{ ++#ifdef MSDOS ++ return fopen(filename, mode); ++#else ++ int fd; ++ int flags; ++ ++ if(mode[0] == 'w') { ++ flags = O_EXCL | O_CREAT | O_WRONLY; ++ } ++ else { ++ flags = O_RDONLY; ++ } ++ ++ fd = open(filename, flags); ++ ++ if(fd == -1) { ++ return (FILE *)0; ++ } ++ ++ return fdopen(fd, mode); ++#endif ++} + + /* + Copyright (c) 1991 Bell Communications Research, Inc. (Bellcore) +@@ -453,6 +484,7 @@ + int main(int argc, char *argv[]) + { + int encode = 1, which = BASE64, i, portablenewlines = 0; ++ struct stat fpstat; + FILE *fp = stdin; + FILE *fpo = stdout; + +@@ -464,7 +496,7 @@ + fprintf(stderr, "mimencode: -o requires a file name.\n"); + exit(-1); + } +- fpo = fopen(argv[i], "w"); ++ fpo = safeopen(argv[i], "w"); + if (!fpo) { + perror(argv[i]); + exit(-1); +@@ -497,7 +529,7 @@ + setmode(fileno(fpo), O_BINARY); + } /* else */ + #else +- fp = fopen(argv[i], "r"); ++ fp = safeopen(argv[i], "r"); + #endif /* WIN32_NATIVE */ + if (!fp) { + perror(argv[i]); +@@ -507,6 +539,12 @@ + } + #ifdef WIN32_NATIVE + if (fp == stdin) setmode(fileno(fp), O_BINARY); ++#else ++ if(fstat(fileno(fp), &fpstat) == -1) { ++ perror("fstat"); ++ exit(3); ++ } ++ fchmod(fileno(fpo), fpstat.st_mode & (S_IRWXU | S_IRWXG | S_IRWXO)); + #endif /* WIN32_NATIVE */ + if (which == BASE64) { + if (encode) { +diff -Nru xemacs-21.5.20.orig/lib-src/pop.c xemacs-21.5.20/lib-src/pop.c +--- xemacs-21.5.20.orig/lib-src/pop.c 2004-09-20 21:19:11.000000000 +0200 ++++ xemacs-21.5.20/lib-src/pop.c 2005-05-12 14:38:20.000000000 +0200 +@@ -124,16 +124,20 @@ + #define POP_PORT 110 + #define KPOP_PORT 1109 + #if defined(WIN32_NATIVE) || defined(CYGWIN) +-#define POP_SERVICE "pop3" /* we don't want the POP2 port! */ ++# define POP_SERVICE "pop3" /* we don't want the POP2 port! */ + #else +-#define POP_SERVICE "pop" ++# ifdef linux ++# define POP_SERVICE "pop3" ++# else ++# define POP_SERVICE "pop" ++# endif + #endif + #ifdef KERBEROS +-#ifdef KRB5 +-#define KPOP_SERVICE "k5pop"; +-#else +-#define KPOP_SERVICE "kpop" +-#endif ++# ifdef KRB5 ++# define KPOP_SERVICE "k5pop"; ++# else ++# define KPOP_SERVICE "kpop" ++# endif + #endif + + char pop_error[ERROR_MAX]; +diff -Nru xemacs-21.5.20.orig/lib-src/vcdiff xemacs-21.5.20/lib-src/vcdiff +--- xemacs-21.5.20.orig/lib-src/vcdiff 1996-12-18 23:42:33.000000000 +0100 ++++ xemacs-21.5.20/lib-src/vcdiff 2005-05-12 14:38:20.000000000 +0200 +@@ -62,6 +62,17 @@ + + + rev1= rev2= status=0 ++rev1=/tmp/geta$$ ++rev2=/tmp/getb$$ ++rm -f $rev1 $rev2 ++if test -e $rev1 -o -e $rev2 ; then ++ echo "$0: temporaray files exists." 1>&2 ++ exit 1 ++fi ++if test -n "`type -p mktemp`" ; then ++ rev1="`mktemp ${rev1}.XXXXXX`" || exit 1 ++ rev2="`mktemp ${rev2}.XXXXXX`" || exit 1 ++fi + trap 'status=2; exit' 1 2 13 15 + trap 'rm -f $rev1 $rev2 || status=2; exit $status' 0 + +@@ -79,14 +90,12 @@ + case $f in + s.* | */s.*) + if +- rev1=/tmp/geta$$ + get -s -p -k $sid1 "$f" > $rev1 && + case $sid2 in + '') + workfile=`expr " /$f" : '.*/s.\(.*\)'` + ;; + *) +- rev2=/tmp/getb$$ + get -s -p -k $sid2 "$f" > $rev2 + workfile=$rev2 + esac +diff -Nru xemacs-21.5.20.orig/lisp/default.el xemacs-21.5.20/lisp/default.el +--- xemacs-21.5.20.orig/lisp/default.el 1970-01-01 01:00:00.000000000 +0100 ++++ xemacs-21.5.20/lisp/default.el 2005-05-12 14:38:20.000000000 +0200 +@@ -0,0 +1,9 @@ ++;(require 'tex-site) ++(setq-default TeX-master nil) ++; Users private libaries ++; (setq TeX-macro-private '("~/lib/tex-lib/")) ++; AUC-TeX-Macros ++; (setq TeX-style-private "~/lib/xemacs/site-lisp/auctex/style/") ++; Autom. Auc-TeX-Macros ++; (setq TeX-auto-private "~/lib/xemacs/site-lisp/auctex/auto/") ++ +diff -Nru xemacs-21.5.20.orig/lisp/dumped-lisp.el xemacs-21.5.20/lisp/dumped-lisp.el +--- xemacs-21.5.20.orig/lisp/dumped-lisp.el 2005-02-10 04:26:15.000000000 +0100 ++++ xemacs-21.5.20/lisp/dumped-lisp.el 2005-05-12 14:38:20.000000000 +0200 +@@ -38,6 +38,7 @@ + "cl" + "cl-extra" + "cl-seq" ++ "cl-macs" ; Avoid autoloading of kernel functions + "widget" + "custom" ; Before the world so everything can be + ; customized +@@ -310,6 +311,7 @@ + ;; "sun-eos-menubar")) + "loadhist" ; Must be dumped before loaddefs is loaded + "loaddefs" ; <=== autoloads get loaded here ++ "disp-table" + )) + + (setq preloaded-file-list +diff -Nru xemacs-21.5.20.orig/lisp/find-paths.el xemacs-21.5.20/lisp/find-paths.el +--- xemacs-21.5.20.orig/lisp/find-paths.el 2005-01-15 16:17:36.000000000 +0100 ++++ xemacs-21.5.20/lisp/find-paths.el 2005-05-12 14:42:37.000000000 +0200 +@@ -220,7 +220,7 @@ + roots + (file-name-as-directory + (paths-construct-path (list +- "lib" ++ "share" + emacs-program-name))) + base + envvar default)) +@@ -267,7 +267,7 @@ + roots + (file-name-as-directory + (paths-construct-path +- (list "lib" ++ (list "share" + (construct-emacs-version-name)))) + base + envvar default)) +@@ -325,7 +325,7 @@ + + (defun construct-emacs-version-name () + "Construct a string from the raw XEmacs version number." +- (concat emacs-program-name "-" emacs-program-version)) ++ (concat emacs-program-name "/" emacs-program-version)) + + (defun paths-directories-which-exist (directories) + "Return the directories among DIRECTORIES. +diff -Nru xemacs-21.5.20.orig/lisp/mule/cyrillic.el xemacs-21.5.20/lisp/mule/cyrillic.el +--- xemacs-21.5.20.orig/lisp/mule/cyrillic.el 2002-03-21 08:30:21.000000000 +0100 ++++ xemacs-21.5.20/lisp/mule/cyrillic.el 2005-05-12 14:38:20.000000000 +0200 +@@ -32,6 +32,9 @@ + ;; Windows-1251 support deleted because XEmacs has automatic support. + + ;;; Code: ++(eval-when-compile ++ (setq max-lisp-eval-depth (+ 800 max-lisp-eval-depth)) ++ (setq max-specpdl-size (+ 2000 max-specpdl-size))) + + ;; Cyrillic syntax + (modify-syntax-entry 'cyrillic-iso8859-5 "w") +diff -Nru xemacs-21.5.20.orig/lisp/setup-paths.el xemacs-21.5.20/lisp/setup-paths.el +--- xemacs-21.5.20.orig/lisp/setup-paths.el 2004-12-27 13:25:15.000000000 +0100 ++++ xemacs-21.5.20/lisp/setup-paths.el 2005-05-12 14:38:20.000000000 +0200 +@@ -256,7 +256,8 @@ + (paths-uniq-append + (append + (let ((info-directory +- (paths-find-version-directory roots "info" ++ (paths-find-version-directory roots ++ "info" + nil + configure-info-directory))) + (and info-directory +diff -Nru xemacs-21.5.20.orig/lisp/site-init.el xemacs-21.5.20/lisp/site-init.el +--- xemacs-21.5.20.orig/lisp/site-init.el 1970-01-01 01:00:00.000000000 +0100 ++++ xemacs-21.5.20/lisp/site-init.el 2005-05-12 14:38:20.000000000 +0200 +@@ -0,0 +1,17 @@ ++;;;; ++;;; xemacs-21.1.14/lisp/site-init.el ++;;; Author: Werner Fink ++;; CONFIGURATION see source code ++;;;; ++(garbage-collect) ++ ++(setq gnus-default-nntp-server "news") ++(setq w3-directory (concat "/usr/share/xemacs/" emacs-program-version "/lisp/w3")) ++ ++(garbage-collect) ++(garbage-collect) ++(garbage-collect) ++(garbage-collect) ++(garbage-collect) ++ ++;;; site-init.el ends here +diff -Nru xemacs-21.5.20.orig/lisp/x-win-xfree86.el xemacs-21.5.20/lisp/x-win-xfree86.el +--- xemacs-21.5.20.orig/lisp/x-win-xfree86.el 2001-05-05 00:42:19.000000000 +0200 ++++ xemacs-21.5.20/lisp/x-win-xfree86.el 2005-05-12 14:38:20.000000000 +0200 +@@ -65,6 +65,10 @@ + ;; define also the control, meta, and meta-control versions. + (loop for mods in '(() (control) (meta) (meta control)) do + (define-key function-key-map `[(,@mods ,key)] `[(shift ,@mods ,sane-key)]) +- )))) +- ++ ))) ++;; Begin insert ++;; set Symbol delete == [delete] to delete-char ++ (load "term/func-keys" t t) ++;; End insert ++) + ;;; x-win-xfree86.el ends here +diff -Nru xemacs-21.5.21.orig/site-packages/lisp/site-start.el xemacs-21.5.21/site-packages/lisp/site-start.el +--- xemacs-21.5.21.orig/site-packages/lisp/site-start.el 1970-01-01 01:00:00.000000000 +0100 ++++ xemacs-21.5.21/site-packages/lisp/site-start.el 2005-06-17 12:48:11.000000000 +0200 +@@ -0,0 +1,406 @@ ++;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ++;;; File name: ` /usr/share/xemacs/site-lisp/site-start.el ' ++;;; System wide start file for xemacs. ++;;; Copyright 1999 (c) S.u.S.E. Gmbh Fuerth, Germany. All rights reserved. ++;;; Author: Werner Fink , 1999 ++;;; Mike Fabian , 2004, 2005 ++;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ++ ++(setq load-path (delete (concat "/usr/share/xemacs/" ++ emacs-program-version ++ "/site-packages/lisp/term/") ++ load-path)) ++ ++;; ++;; Preload dynamic (i)Spell menu ++;; -------------- ++(load "/usr/lib/ispell/ispell-emacs-menu.el" t t) ++(load "fix-load-history.el" t t) ++ ++;; ++;; i18n setup (encoding, language-environment, ...) ++;; ------------------------------------------------- ++ ++(if (locate-library "latin-unity") (require 'latin-unity)) ++(if (locate-library "latin-euro-input") (require 'latin-euro-input)) ++(if (and (<= emacs-major-version 21) ++ (<= emacs-minor-version 4) ++ (locate-library "un-define")) ++ (require 'un-define) ++ (provide 'un-define)) ++ ++;; Setting the language-environment ++;; ++;; fix unicode-precedence-list if setting the language environment ++;; screws it up. ++;; ++;; Unfortunately 'set-language-environment' also changes the locale. ++;; For example (set-language-environment "Japanese") sets the locale ++;; to ja_JP.eucJP. That is nonsense and should not be done. ++;; Therefore we remember the original value of LANG and restore the ++;; locale after 'set-language-environment'. ++ ++(when (emacs-version>= 21 5 6) ++ (let ((old-lang (getenv "LANG")) ++ (case-fold-search nil)) ++ (when (getenv "LANG") ++ (cond ((string-match "af" (getenv "LANG")) ++ (set-language-environment "Afrikaans")) ++ ((string-match "sq" (getenv "LANG")) ++ (set-language-environment "Albanian")) ++ ((string-match "ca" (getenv "LANG")) ++ (set-language-environment "Catalan")) ++ ((string-match "zh_TW" (getenv "LANG")) ++ (set-language-environment "Chinese-BIG5") ++ (set-language-unicode-precedence-list ++ '(ascii ++ latin-iso8859-1 ++ latin-iso8859-2 ++ latin-iso8859-3 ++ latin-iso8859-4 ++ latin-iso8859-13 ++ latin-iso8859-15 ++ latin-iso8859-16 ++ cyrillic-iso8859-5 ++ greek-iso8859-7 ++ chinese-big5-1 ++ chinese-big5-2 ++ chinese-gb2312 ++ chinese-sisheng ++ korean-ksc5601 ++ japanese-jisx0208 ++ japanese-jisx0208-1978 ++ japanese-jisx0212 ++ latin-jisx0201 ++ katakana-jisx0201))) ++ ((string-match "zh_HK" (getenv "LANG")) ++ (set-language-environment "Chinese-BIG5") ++ (set-language-unicode-precedence-list ++ '(ascii ++ latin-iso8859-1 ++ latin-iso8859-2 ++ latin-iso8859-3 ++ latin-iso8859-4 ++ latin-iso8859-13 ++ latin-iso8859-15 ++ latin-iso8859-16 ++ cyrillic-iso8859-5 ++ greek-iso8859-7 ++ chinese-big5-1 ++ chinese-big5-2 ++ chinese-gb2312 ++ chinese-sisheng ++ korean-ksc5601 ++ japanese-jisx0208 ++ japanese-jisx0208-1978 ++ japanese-jisx0212 ++ latin-jisx0201 ++ katakana-jisx0201))) ++ ((string-match "zh_CN" (getenv "LANG")) ++ (set-language-environment "Chinese-GB") ++ (set-language-unicode-precedence-list ++ '(ascii ++ latin-iso8859-1 ++ latin-iso8859-2 ++ latin-iso8859-3 ++ latin-iso8859-4 ++ latin-iso8859-13 ++ latin-iso8859-15 ++ latin-iso8859-16 ++ cyrillic-iso8859-5 ++ greek-iso8859-7 ++ chinese-gb2312 ++ chinese-sisheng ++ chinese-big5-1 ++ chinese-big5-2 ++ korean-ksc5601 ++ japanese-jisx0208 ++ japanese-jisx0208-1978 ++ japanese-jisx0212 ++ latin-jisx0201 ++ katakana-jisx0201))) ++ ((string-match "zh_SG" (getenv "LANG")) ++ (set-language-environment "Chinese-GB") ++ (set-language-unicode-precedence-list ++ '(ascii ++ latin-iso8859-1 ++ latin-iso8859-2 ++ latin-iso8859-3 ++ latin-iso8859-4 ++ latin-iso8859-13 ++ latin-iso8859-15 ++ latin-iso8859-16 ++ cyrillic-iso8859-5 ++ greek-iso8859-7 ++ chinese-gb2312 ++ chinese-sisheng ++ chinese-big5-1 ++ chinese-big5-2 ++ korean-ksc5601 ++ japanese-jisx0208 ++ japanese-jisx0208-1978 ++ japanese-jisx0212 ++ latin-jisx0201 ++ katakana-jisx0201))) ++ ((string-match "hr" (getenv "LANG")) ++ (set-language-environment "Croatian")) ++ ((string-match "ru" (getenv "LANG")) ++ (set-language-environment "Cyrillic-KOI8")) ++ ((string-match "cs" (getenv "LANG")) ++ (set-language-environment "Czech")) ++ ((string-match "da" (getenv "LANG")) ++ (set-language-environment "Danish")) ++ ((string-match "nl" (getenv "LANG")) ++ (set-language-environment "Dutch")) ++ ((string-match "et" (getenv "LANG")) ++ (set-language-environment "Estonian")) ++ ((string-match "fi" (getenv "LANG")) ++ (set-language-environment "Finnish")) ++ ((string-match "fr" (getenv "LANG")) ++ (set-language-environment "French")) ++ ((string-match "gl" (getenv "LANG")) ++ (set-language-environment "Galician")) ++ ((string-match "de" (getenv "LANG")) ++ (set-language-environment "German")) ++ ((string-match "el" (getenv "LANG")) ++ (set-language-environment "Greek")) ++ ((string-match "kl" (getenv "LANG")) ++ (set-language-environment "Greenlandic")) ++ ((string-match "he" (getenv "LANG")) ++ (set-language-environment "Hebrew")) ++ ((string-match "iw" (getenv "LANG")) ++ (set-language-environment "Hebrew")) ++ ((string-match "hu" (getenv "LANG")) ++ (set-language-environment "Hungarian")) ++ ((string-match "ga" (getenv "LANG")) ++ (set-language-environment "Irish")) ++ ((string-match "it" (getenv "LANG")) ++ (set-language-environment "Italian")) ++ ((string-match "ja" (getenv "LANG")) ++ (set-language-environment "Japanese") ++ (set-language-unicode-precedence-list ++ '(ascii ++ latin-iso8859-1 ++ latin-iso8859-2 ++ latin-iso8859-3 ++ latin-iso8859-4 ++ latin-iso8859-13 ++ latin-iso8859-15 ++ latin-iso8859-16 ++ cyrillic-iso8859-5 ++ greek-iso8859-7 ++ japanese-jisx0208 ++ japanese-jisx0208-1978 ++ japanese-jisx0212 ++ latin-jisx0201 ++ katakana-jisx0201 ++ korean-ksc5601 ++ chinese-big5-1 ++ chinese-big5-2 ++ chinese-gb2312 ++ chinese-sisheng))) ++ ((string-match "ko" (getenv "LANG")) ++ (set-language-environment "Korean") ++ (set-language-unicode-precedence-list ++ '(ascii ++ latin-iso8859-1 ++ latin-iso8859-2 ++ latin-iso8859-3 ++ latin-iso8859-4 ++ latin-iso8859-13 ++ latin-iso8859-15 ++ latin-iso8859-16 ++ cyrillic-iso8859-5 ++ greek-iso8859-7 ++ korean-ksc5601 ++ japanese-jisx0208 ++ japanese-jisx0208-1978 ++ japanese-jisx0212 ++ latin-jisx0201 ++ katakana-jisx0201 ++ chinese-big5-1 ++ chinese-big5-2 ++ chinese-gb2312 ++ chinese-sisheng))) ++ ((string-match "lt" (getenv "LANG")) ++ (set-language-environment "Lithuanian")) ++ ((string-match "mt" (getenv "LANG")) ++ (set-language-environment "Maltese")) ++ ((string-match "nb" (getenv "LANG")) ++ (set-language-environment "Norwegian")) ++ ((string-match "nn" (getenv "LANG")) ++ (set-language-environment "Norwegian")) ++ ((string-match "no" (getenv "LANG")) ++ (set-language-environment "Norwegian")) ++ ((string-match "pl" (getenv "LANG")) ++ (set-language-environment "Polish")) ++ ((string-match "pt" (getenv "LANG")) ++ (set-language-environment "Portugese")) ++ ((string-match "ro" (getenv "LANG")) ++ (set-language-environment "Romanian")) ++ ((string-match "sk" (getenv "LANG")) ++ (set-language-environment "Slovak")) ++ ((string-match "sl" (getenv "LANG")) ++ (set-language-environment "Slovenian")) ++ ((string-match "es" (getenv "LANG")) ++ (set-language-environment "Spanish")) ++ ((string-match "sv" (getenv "LANG")) ++ (set-language-environment "Swedish")) ++ ((string-match "th" (getenv "LANG")) ++ (set-language-environment "Thai-XTIS")) ++ ((string-match "tr" (getenv "LANG")) ++ (set-language-environment "Turkish")) ++ ((string-match "vi" (getenv "LANG")) ++ (set-language-environment "Vietnamese")) ++ (t ++ (set-language-environment "English"))) ++ (setenv "LANG" old-lang) ++ (set-current-locale old-lang)))) ++ ++(defun suse-set-coding-systems () ++ (let* ((tmp (shell-command-to-string "locale charmap")) ++ (tmp (substring tmp 0 (string-match "\[ \t\n\]" tmp))) ++ (tmp (downcase tmp))) ++ (when (find-coding-system (intern tmp)) ++ ;; set the coding system priorities: ++ ;; (this is also important to make XIM in utf-8 work ++ ;; because XEmacs has no variable/function to set the ++ ;; coding-system for XIM, it is just autodetected which ++ ;; will work correctly only when the coding-system priorities ++ ;; are OK.) ++ (if (not (string-match "utf-8" tmp)) ++ (progn (prefer-coding-system (intern tmp)) ++ (if (fboundp 'latin-unity-install) (latin-unity-install))) ++ ;; it's strange, but (prefer-coding-system 'utf-8) doesn't ++ ;; work in XEmacs. ++ ;; use 'set-coding-priority-list instead, which achieves ++ ;; the same and works for 'utf-8 as well: ++ (set-coding-priority-list (list (intern tmp))) ++ (set-coding-category-system (intern tmp) (intern tmp))) ++ (if (emacs-version>= 21 5 6) ++ ;; XEmacs 21.5 apparently renamed this function: ++ (set-default-output-coding-systems (intern tmp)) ++ (set-default-coding-systems (intern tmp))) ++ (set-keyboard-coding-system (intern tmp)) ++ (set-terminal-coding-system (intern tmp)) ++ ;; XEmacs 21.5.16 needs this to be able to use non-ASCII file names: ++ (if (and (string-match "XEmacs" emacs-version) ++ (emacs-version>= 21 5 6)) ++ (setq file-name-coding-system (intern tmp))) ++ ;; without the following line, shell buffers are not by default ++ ;; in UTF-8 when running in an UTF-8 locale in XEmacs 21.5.16: ++ (setq process-coding-system-alist (cons (cons ".*" (intern tmp)) '())) ++ ;; these two lines appearently make no difference, if they ++ ;; are used instead of the above process-coding-system-alist, ++ ;; shell buffers still have the wrong encoding: ++ ;; (setq default-process-coding-system-read (intern tmp)) ++ ;; (setq default-process-coding-system-write (intern tmp)) ++ ;; and this doesn't seem to work either: ++ ;; (setq default-process-coding-system '(utf-8 . utf-8)) ++ ;; ++ ;; the following is necessary to enable XEmacs to pass ++ ;; command line arguments to external processes in the correct ++ ;; encoding. For example this is needed to make ++ ;; 'M-x grep' work when searching for UTF-8 strings ++ ;; while running in an UTF-8 locale. ++ ;; ++ (if (and (string-match "XEmacs" emacs-version) ++ (emacs-version>= 21 5 6)) ++ (define-coding-system-alias 'native (intern tmp)))))) ++ ++(suse-set-coding-systems) ++ ++;; Set input mode ++(let ((value (current-input-mode))) ++ (set-input-mode (nth 0 value) ++ (nth 1 value) ++ (terminal-coding-system) ++ ;; This quit value is optional ++ (nth 3 value))) ++ ++;; Hack to support some important Unicode keysyms which are not yet ++;; natively supported in XEmacs: ++ ++(defun insert-unicode-keysym () ++ "Assuming the last typed key has an associated keysym of the form ++UXXXX, where XXXX is the hexadecimal code point of a Unicode ++character, insert that Unicode character at point. " ++ (interactive) ++ (let* ((unicode-codepoint ++ (string-to-int ++ (substring (format "%s" (event-key last-command-event)) 1) 16)) ++ (mule-char (unicode-to-char unicode-codepoint))) ++ (if mule-char ++ (insert mule-char) ++ (error 'text-conversion-error ++ (format "Could not convert U+%X to a Mule character, sorry" ++ unicode-codepoint))))) ++ ++(defun suse-global-map-default-binding () ++ "Workaround to make X11 keysyms of the form UXXXX work. ++This is a stopgap until proper translation of these keysyms is ++integrated into XEmacs" ++ ++ (interactive) ++ (let* ((keysym ++ (format "%s" (event-key last-command-event))) ++ (case-fold-search nil)) ++ (when (string-match "U[0-9A-F][0-9A-F][0-9A-F][0-9A-F]" keysym) ++ (insert-unicode-keysym) ++ (define-key global-map (intern keysym) 'insert-unicode-keysym)))) ++ ++;;; (when (equal (console-type) 'x) ++;;; (set-keymap-default-binding global-map 'suse-global-map-default-binding)) ++ ++;; Hack to support some extra Unicode characters which are not in any ++;; legacy charset. This hack is not enough to display the characters ++;; correctly (should work with the Xft build of XEmacs) but at least ++;; it prevents data loss if files containing these characters are read ++;; and saved again. ++ ++(make-charset 'suse-private ++ "Private character set for SUSE" ++ '(dimension 2 ++ chars 96 ++ columns 1 ++ final ?R ;; Change this--see docs for make-charset ++ long-name "Private charset for some Unicode char support." ++ short-name ++ "Suse-Private")) ++ ++(defun suse-list-unsupported-codepoints-range (range) ++ (interactive) ++ (let ((unsupported nil) ++ (i (car range)) ++ (j (cadr range))) ++ (while (<= i j) ++ (if (not (unicode-to-char i)) ++ (push i unsupported)) ++ (setq i (1+ i))) ++ unsupported)) ++ ++(defun suse-fill-charset (charset codepoint-list) ++ (interactive) ++ (let ((n 0)) ++ (dolist (codepoint codepoint-list) ++ (let ((i (mod n 96)) ++ (j (/ n 96))) ++ (if (< j 95) ++ (set-unicode-conversion (make-char charset (+ i #x20) (+ j #x20)) codepoint) ++ (message "charset %s is full" charset)) ++ (setq n (1+ n)))))) ++ ++(suse-fill-charset ++ 'suse-private ++ (nconc ++ (suse-list-unsupported-codepoints-range '(#x0100 #x06FF)) ++ (suse-list-unsupported-codepoints-range '(#x0900 #x11FF)) ++ (suse-list-unsupported-codepoints-range '(#x1E00 #x27FF)) ++ (suse-list-unsupported-codepoints-range '(#x3000 #x33FF)) ++ (suse-list-unsupported-codepoints-range '(#xE800 #xE8FF)) ++ (suse-list-unsupported-codepoints-range '(#xF000 #xF0FF)) ++ (suse-list-unsupported-codepoints-range '(#xFB00 #xFFFF)) ++ )) ++ ++;;;;;;;;;; ++;; the end +diff -Nru xemacs-21.5.20.orig/site-packages/lisp/term/func-keys.el xemacs-21.5.20/site-packages/lisp/term/func-keys.el +--- xemacs-21.5.20.orig/site-packages/lisp/term/func-keys.el 1970-01-01 01:00:00.000000000 +0100 ++++ xemacs-21.5.20/site-packages/lisp/term/func-keys.el 2005-05-12 14:38:20.000000000 +0200 +@@ -0,0 +1,129 @@ ++;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ++;;; term/func-keys.el for site-lisp path in xemacs-21.4.12 ++;;; Copyright (c) 1996-2003 SuSE Gmbh Nuernberg, Germany ++;;; ++;;; Author: Werner Fink , No warranty of any kind ++;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ++;; num block ++;; kp-f1 .. kp-f4 and kp-tab not found on MF-102 ++ (global-set-key [(kp-f1)] esc-map) ; Escape ++ (global-set-key [(kp-f2)] 'undo) ; Undo ++ (global-set-key [(kp-f3)] 'isearch-forward) ; Search ++ (global-set-key [(kp-f4)] 'kill-line) ; Kill-Line ++ (global-set-key [(kp-tab)] 'indent-for-tab-command) ++ (global-set-key [(kp-0)] "0") ; 0 ++ (global-set-key [(kp-1)] "1") ; 1 ++ (global-set-key [(kp-2)] "2") ; 2 ++ (global-set-key [(kp-3)] "3") ; 3 ++ (global-set-key [(kp-4)] "4") ; 4 ++ (global-set-key [(kp-5)] "5") ; 5 ++ (global-set-key [(kp-6)] "6") ; 6 ++ (global-set-key [(kp-7)] "7") ; 7 ++ (global-set-key [(kp-8)] "8") ; 8 ++ (global-set-key [(kp-9)] "9") ; 9 ++ (global-set-key [(kp-multiply)] "*") ; `+' ++ (global-set-key [(kp-add)] "+") ; `+' ++ (global-set-key [(kp-divide)] "/") ; `/' ++;; german fault: ++(defvar lang-environment "en_us" ++ "The value of the environment variable \"LANG\" ++used to set appropriate keypad. Default value is \"en_us\". ++If \"LANG\" is set to \"de\" or some other aliases ++(see /usr/X11R6/lib/X11/locale/) the keypad decimal is ++chosen to \",\". ++ Your SuSE-Team") ++; ++(let ((lang (getenv "LANG"))) ++ (if (null lang) ++ (setq lang-environment "en_us") ++ (setq lang-environment lang))) ++;; ++; (if (string-match "^\\(de$\\|de_\\|GER_DE\\|german\\)" lang-environment) ++; (progn ++; (global-set-key [(kp-decimal)] ",") ; `,' german decimal ++; (global-set-key [(kp-separator)] ".")) ; `.' german separator ++; (global-set-key [(kp-decimal)] ".") ++; (global-set-key [(kp-separator)] ",")) ++ (global-set-key [(kp-decimal)] ".") ++ (global-set-key [(kp-separator)] ",") ++ (global-set-key [(kp-subtract)] "-") ; `-' ++ (global-set-key [(kp-enter)] 'newline) ; Linefeed ++ (global-set-key [(kp-home)] 'beginning-of-line) ; home ++ (global-set-key [(kp-up)] 'previous-line) ; up ++ (global-set-key [(kp-prior)] 'scroll-down) ; ppg ++ (global-set-key [(kp-left)] 'backward-char) ; left ++ (global-set-key [(kp-begin)] 'beginning-of-line) ; first ++ (global-set-key [(kp-right)] 'forward-char) ; right ++ (global-set-key [(kp-end)] 'end-of-line) ; end ++ (global-set-key [(kp-down)] 'next-line) ; down ++ (global-set-key [(kp-next)] 'scroll-up) ; npg ++ (global-set-key [(kp-insert)] 'overwrite-mode) ; insert/ovwrt ++;; ++;; Backspace, Delete and any thing else ++;; ++(if (not (eq 'x (console-type))) ++ nil ++ ;; ++ ;; Overriding the BS/DEL/KP_DEL mapping for Xemacs-20.4: ++ ;; ... Hey they have done a good job: DEL and BS ++ ;; now are distinct. ++ ;; ++ (global-unset-key 'kp-delete) ++ (local-unset-key 'kp-delete) ++ ;; ++ ;; What will be inserted `on quoted-insert' ++ ;;(remprop 'delete 'ascii-character) ++ ;;(remprop 'backspace 'ascii-character) ++ ;;(put 'backspace 'ascii-character 127) ++ ;; ++; (load "delbs" t t) ++ (load "x-compose" t t) ++ ;; ++ ;; Set the keyboard macro [(kp-delete)] ++ ;; to the same action as for [(delete-char)] ++ ;; ++ (global-set-key [(kp-delete)] 'backward-or-forward-delete-char) ++ (local-set-key [(kp-delete)] 'backward-or-forward-delete-char) ++ ;; ++ ;; Switch DEL/KP_DEL to delete-char ++ ;; ++ (setq delete-key-deletes-forward t) ++) ++;; ++;; Most new users like this, but common emacs users? ++;; ++(global-set-key [(home)] 'beginning-of-line) ++(global-set-key [(control home)] 'beginning-of-buffer) ++(global-set-key [(end)] 'end-of-line) ++(global-set-key [(control end)] 'end-of-buffer) ++;; ++;; Wheel mouse support ++;; ++(defvar mouse-wheel-scroll-amount 4 ++ "*Number of lines to scroll per click of the mouse wheel.") ++; ++(defun mouse-wheel-scroll-line (event) ++ "Scroll the current buffer by `mouse-wheel-scroll-amount'." ++ (interactive "e") ++ (condition-case nil ++ (case (event-button event) ++ (4 (scroll-down mouse-wheel-scroll-amount)) ++ (5 (scroll-up mouse-wheel-scroll-amount))) ++ (error nil))) ++; ++(defun mouse-wheel-scroll-screen (event) ++ "Scroll the current buffer." ++ (interactive "e") ++ (condition-case nil ++ (case (event-button event) ++ (4 (scroll-down)) ++ (5 (scroll-up))) ++ (error nil))) ++; ++(global-set-key [(button4)] 'mouse-wheel-scroll-line) ++(global-set-key [(control button4)] 'mouse-wheel-scroll-screen) ++(global-set-key [(button5)] 'mouse-wheel-scroll-line) ++(global-set-key [(control button5)] 'mouse-wheel-scroll-screen) ++;; ++;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ++;; Ende von func-keys.el +diff -Nru xemacs-21.5.20.orig/site-packages/lisp/term/gnome.el xemacs-21.5.20/site-packages/lisp/term/gnome.el +--- xemacs-21.5.20.orig/site-packages/lisp/term/gnome.el 1970-01-01 01:00:00.000000000 +0100 ++++ xemacs-21.5.20/site-packages/lisp/term/gnome.el 2005-05-12 14:38:20.000000000 +0200 +@@ -0,0 +1,97 @@ ++;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ++;;; term/gnome.el for site-lisp path in xemacs-21.1.7 ++;;; Copyright (c) 1996 SuSE Gmbh Nuernberg, Germany. All rights reserved. ++;;; ++;;; Author: Werner Fink , No warranty of any kind ++;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ++; (define-key function-key-map "\e[1~" [(find)]) ++; (define-key function-key-map "\eOH" [(home)]) ++ (define-key function-key-map "\e[1~" [(home)]) ++ (define-key function-key-map "\e[2~" [(insertchar)]) ++ (define-key function-key-map "\e[3~" [(deletechar)]) ++; (define-key function-key-map "\e[4~" [(select)]) ++; (define-key function-key-map "\eOF" [(end)]) ++ (define-key function-key-map "\e[4~" [(end)]) ++ (define-key function-key-map "\e[5~" [(prior)]) ++ (define-key function-key-map "\e[6~" [(next)]) ++ (define-key function-key-map "\eOP" [(f1)]) ++ (define-key function-key-map "\eOQ" [(f2)]) ++ (define-key function-key-map "\eOR" [(f3)]) ++ (define-key function-key-map "\eOS" [(f4)]) ++ (define-key function-key-map "\e[15~" [(f5)]) ++ (define-key function-key-map "\e[17~" [(f6)]) ++ (define-key function-key-map "\e[18~" [(f7)]) ++ (define-key function-key-map "\e[19~" [(f8)]) ++ (define-key function-key-map "\e[20~" [(f9)]) ++ (define-key function-key-map "\e[21~" [(f10)]) ++ (define-key function-key-map "\e[23~" [(f11)]) ++ (define-key function-key-map "\e[24~" [(f12)]) ++ (define-key function-key-map "\e[25~" [(f13)]) ++ (define-key function-key-map "\e[26~" [(f14)]) ++ (define-key function-key-map "\e[28~" [(help)]) ++ (define-key function-key-map "\e[29~" [(menu)]) ++ (define-key function-key-map "\e?\e[28~" [(meta help)]) ++ (define-key function-key-map "\e?\e[29~" [(meta menu)]) ++ (define-key function-key-map "\e[31~" [(f17)]) ++ (define-key function-key-map "\e[32~" [(f18)]) ++ (define-key function-key-map "\e[33~" [(f19)]) ++ (define-key function-key-map "\e[34~" [(f20)]) ++;; ++;; num block ++;; [(home)] and [(end)] found in num block ++; (define-key function-key-map "\eOH" [(home)]) ++; (define-key function-key-map "\eOF" [(end)]) ++ (define-key function-key-map "\e[1~" [(home)]) ++ (define-key function-key-map "\e[4~" [(end)]) ++;; ++;; Locked num block ++ (define-key function-key-map "\eOI" [(kp-tab)]) ++ (define-key function-key-map "\eOj" [(kp-multiply)]) ++ (define-key function-key-map "\eOk" [(kp-add)]) ++ (define-key function-key-map "\eOl" [(kp-separator)]) ++ (define-key function-key-map "\eOM" [(kp-enter)]) ++ (define-key function-key-map "\eOm" [(kp-subtract)]) ++ (define-key function-key-map "\eOn" [(kp-decimal)]) ++; (define-key function-key-map "\eOn" [(kp-period)]) ; [kp-decimal] ++ (define-key function-key-map "\eOo" [(kp-divide)]) ++ (define-key function-key-map "\eOp" [(kp-0)]) ++ (define-key function-key-map "\eOq" [(kp-1)]) ++ (define-key function-key-map "\eOr" [(kp-2)]) ++ (define-key function-key-map "\eOs" [(kp-3)]) ++ (define-key function-key-map "\eOt" [(kp-4)]) ++ (define-key function-key-map "\eOu" [(kp-5)]) ++ (define-key function-key-map "\eOv" [(kp-6)]) ++ (define-key function-key-map "\eOw" [(kp-7)]) ++ (define-key function-key-map "\eOx" [(kp-8)]) ++ (define-key function-key-map "\eOy" [(kp-9)]) ++;; ++;; Undefine some ESC ESC behavior --- for later use ++ (global-unset-key "\e\e") ++ (define-key esc-map "\e" nil) ++;; ++ (define-key function-key-map "\eOD" [(left)]) ++ (define-key function-key-map "\eOC" [(right)]) ++ (define-key function-key-map "\eOA" [(up)]) ++ (define-key function-key-map "\eOB" [(down)]) ++;; ++ (define-key function-key-map "\e\eOD" [(meta left)]) ++ (define-key function-key-map "\e\eOC" [(meta right)]) ++ (define-key function-key-map "\e\eOA" [(meta up)]) ++ (define-key function-key-map "\e\eOB" [(meta down)]) ++;; ++;; Not in Use? ++ (define-key function-key-map "\C-?\eOD" [(control left)]) ++ (define-key function-key-map "\C-?\eOC" [(control right)]) ++ (define-key function-key-map "\C-?\eOA" [(control up)]) ++ (define-key function-key-map "\C-?\eOB" [(control down)]) ++;; ++;; Backspace, Delete and any thing else ++;; ++ (global-unset-key [(insertchar)]) ++ (global-set-key [(insertchar)] 'overwrite-mode) ++ (global-unset-key [(deletechar)]) ++ (global-set-key [(deletechar)] 'delete-char) ++;; ++(load "term/func-keys" nil t) ++;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ++;; Ende von gnome.el +diff -Nru xemacs-21.5.20.orig/site-packages/lisp/term/kvt.el xemacs-21.5.20/site-packages/lisp/term/kvt.el +--- xemacs-21.5.20.orig/site-packages/lisp/term/kvt.el 1970-01-01 01:00:00.000000000 +0100 ++++ xemacs-21.5.20/site-packages/lisp/term/kvt.el 2005-05-12 14:38:20.000000000 +0200 +@@ -0,0 +1,97 @@ ++;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ++;;; term/kvt.el for site-lisp path in xemacs-21.1.7 ++;;; Copyright (c) 2000 SuSE Gmbh Nuernberg, Germany. All rights reserved. ++;;; ++;;; Author: Werner Fink , No warranty of any kind ++;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ++ (define-key function-key-map "\e[1~" [(find)]) ++ (define-key function-key-map "\eOH" [(home)]) ++ (define-key function-key-map "\e[2~" [(insertchar)]) ++ (define-key function-key-map "\e[3~" [(deletechar)]) ++ (define-key function-key-map "\e[4~" [(select)]) ++ (define-key function-key-map "\eOF" [(end)]) ++ (define-key function-key-map "\e[5~" [(prior)]) ++ (define-key function-key-map "\e[6~" [(next)]) ++ (define-key function-key-map "\e[11~" [(f1)]) ++ (define-key function-key-map "\e[12~" [(f2)]) ++ (define-key function-key-map "\e[13~" [(f3)]) ++ (define-key function-key-map "\e[14~" [(f4)]) ++ (define-key function-key-map "\e[15~" [(f5)]) ++ (define-key function-key-map "\e[17~" [(f6)]) ++ (define-key function-key-map "\e[18~" [(f7)]) ++ (define-key function-key-map "\e[19~" [(f8)]) ++ (define-key function-key-map "\e[20~" [(f9)]) ++ (define-key function-key-map "\e[21~" [(f10)]) ++ (define-key function-key-map "\e[23~" [(f11)]) ++ (define-key function-key-map "\e[24~" [(f12)]) ++ (define-key function-key-map "\e[25~" [(f13)]) ++ (define-key function-key-map "\e[26~" [(f14)]) ++ (define-key function-key-map "\e[28~" [(help)]) ++ (define-key function-key-map "\e[29~" [(menu)]) ++ (define-key function-key-map "\e?\e[28~" [(meta help)]) ++ (define-key function-key-map "\e?\e[29~" [(meta menu)]) ++ (define-key function-key-map "\e[31~" [(f17)]) ++ (define-key function-key-map "\e[32~" [(f18)]) ++ (define-key function-key-map "\e[33~" [(f19)]) ++ (define-key function-key-map "\e[34~" [(f20)]) ++;; ++;; num block ++;; [(home)] and [(end)] found in num block ++ (define-key function-key-map "\eOH" [(home)]) ++ (define-key function-key-map "\eOF" [(end)]) ++;; ++;; Locked num block ++ (define-key function-key-map "\eOP" [(kp-f1)]) ++ (define-key function-key-map "\eOQ" [(kp-f2)]) ++ (define-key function-key-map "\eOR" [(kp-f3)]) ++ (define-key function-key-map "\eOS" [(kp-f4)]) ++ (define-key function-key-map "\eOI" [(kp-tab)]) ++ (define-key function-key-map "\eOj" [(kp-multiply)]) ++ (define-key function-key-map "\eOk" [(kp-add)]) ++ (define-key function-key-map "\eOl" [(kp-separator)]) ++ (define-key function-key-map "\eOM" [(kp-enter)]) ++ (define-key function-key-map "\eOm" [(kp-subtract)]) ++ (define-key function-key-map "\eOn" [(kp-decimal)]) ++; (define-key function-key-map "\eOn" [(kp-period)]) ; [kp-decimal] ++ (define-key function-key-map "\eOo" [(kp-divide)]) ++ (define-key function-key-map "\eOp" [(kp-0)]) ++ (define-key function-key-map "\eOq" [(kp-1)]) ++ (define-key function-key-map "\eOr" [(kp-2)]) ++ (define-key function-key-map "\eOs" [(kp-3)]) ++ (define-key function-key-map "\eOt" [(kp-4)]) ++ (define-key function-key-map "\eOu" [(kp-5)]) ++ (define-key function-key-map "\eOv" [(kp-6)]) ++ (define-key function-key-map "\eOw" [(kp-7)]) ++ (define-key function-key-map "\eOx" [(kp-8)]) ++ (define-key function-key-map "\eOy" [(kp-9)]) ++;; ++;; Undefine some ESC ESC behavior --- for later use ++ (global-unset-key "\e\e") ++ (define-key esc-map "\e" nil) ++;; ++ (define-key function-key-map "\eOD" [(left)]) ++ (define-key function-key-map "\eOC" [(right)]) ++ (define-key function-key-map "\eOA" [(up)]) ++ (define-key function-key-map "\eOB" [(down)]) ++;; ++ (define-key function-key-map "\e\eOD" [(meta left)]) ++ (define-key function-key-map "\e\eOC" [(meta right)]) ++ (define-key function-key-map "\e\eOA" [(meta up)]) ++ (define-key function-key-map "\e\eOB" [(meta down)]) ++;; ++;; Not in Use? ++ (define-key function-key-map "\C-?\eOD" [(control left)]) ++ (define-key function-key-map "\C-?\eOC" [(control right)]) ++ (define-key function-key-map "\C-?\eOA" [(control up)]) ++ (define-key function-key-map "\C-?\eOB" [(control down)]) ++;; ++;; Backspace, Delete and any thing else ++;; ++ (global-unset-key [(insertchar)]) ++ (global-set-key [(insertchar)] 'overwrite-mode) ++ (global-unset-key [(deletechar)]) ++ (global-set-key [(deletechar)] 'delete-char) ++;; ++(load "term/func-keys" nil t) ++;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ++;; Ende von kvt.el +diff -Nru xemacs-21.5.20.orig/site-packages/lisp/term/linux.el xemacs-21.5.20/site-packages/lisp/term/linux.el +--- xemacs-21.5.20.orig/site-packages/lisp/term/linux.el 1970-01-01 01:00:00.000000000 +0100 ++++ xemacs-21.5.20/site-packages/lisp/term/linux.el 2005-05-12 14:38:20.000000000 +0200 +@@ -0,0 +1,79 @@ ++;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ++;;; term/linux.el for site-lisp path in xemacs-21.1.7 ++;;; Copyright (c) 1996 SuSE Gmbh Nuernberg, Germany. All rights reserved. ++;;; ++;;; Author: Werner Fink , No warranty of any kind ++;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ++ (define-key function-key-map "\e[1~" [(home)]) ++ (define-key function-key-map "\e[2~" [(insertchar)]) ++ (define-key function-key-map "\e[3~" [(deletechar)]) ++ (define-key function-key-map "\e[4~" [(end)]) ++ (define-key function-key-map "\e[5~" [(prior)]) ++ (define-key function-key-map "\e[6~" [(next)]) ++ (define-key function-key-map "\e[[A" [(f1)]) ++ (define-key function-key-map "\e[[B" [(f2)]) ++ (define-key function-key-map "\e[[C" [(f3)]) ++ (define-key function-key-map "\e[[D" [(f4)]) ++ (define-key function-key-map "\e[[E" [(f5)]) ++ (define-key function-key-map "\e[17~" [(f6)]) ++ (define-key function-key-map "\e[18~" [(f7)]) ++ (define-key function-key-map "\e[19~" [(f8)]) ++ (define-key function-key-map "\e[20~" [(f9)]) ++ (define-key function-key-map "\e[21~" [(f10)]) ++ (define-key function-key-map "\e[23~" [(f11)]) ++ (define-key function-key-map "\e[24~" [(f12)]) ++ (define-key function-key-map "\e[25~" [(f13)]) ++ (define-key function-key-map "\e[26~" [(f14)]) ++ (define-key function-key-map "\e[28~" [(help)]) ++ (define-key function-key-map "\e[29~" [(menu)]) ++ (define-key function-key-map "\e?\e[28~" [(meta help)]) ++ (define-key function-key-map "\e?\e[29~" [(meta menu)]) ++ (define-key function-key-map "\e[31~" [(f17)]) ++ (define-key function-key-map "\e[32~" [(f18)]) ++ (define-key function-key-map "\e[33~" [(f19)]) ++ (define-key function-key-map "\e[34~" [(f20)]) ++;; ++;; Not in Use? ++;; ---------------------------------- ++;; Console-Setting for Linux ??? ++ (define-key function-key-map "\e[H" [(meta up)]) ++ (define-key function-key-map "\e[Y" [(meta down)]) ++ (define-key function-key-map "\e[M" [(menu)]) ++ (define-key function-key-map "\e?\e[M" [(meta menu)]) ++ (define-key function-key-map "\e[P" [(pause)]) ++;; ++;; num block ++ (define-key function-key-map "\e[G" [(begin)]) ++;; ++;; Locked num block Nothing to do :-) ++;; ++;; Undefine some ESC ESC behavior --- for later use ++ (global-unset-key "\e\e") ++ (define-key esc-map "\e" nil) ++;; ++ (define-key function-key-map "\e[D" [(left)]) ++ (define-key function-key-map "\e[C" [(right)]) ++ (define-key function-key-map "\e[A" [(up)]) ++ (define-key function-key-map "\e[B" [(down)]) ++;; ++ (define-key function-key-map "\e\e[D" [(meta left)]) ++ (define-key function-key-map "\e\e[C" [(meta right)]) ++ (define-key function-key-map "\e\e[A" [(meta up)]) ++ (define-key function-key-map "\e\e[B" [(meta down)]) ++;; ++;; Not in Use? ++ (define-key function-key-map "\C-?\e[D" [(control left)]) ++ (define-key function-key-map "\C-?\e[C" [(control right)]) ++ (define-key function-key-map "\C-?\e[A" [(control up)]) ++ (define-key function-key-map "\C-?\e[B" [(control down)]) ++;; ++;; Backspace, Delete and any thing else ++;; ++ (global-unset-key [(insertchar)]) ++ (global-set-key [(insertchar)] 'overwrite-mode) ++ (global-unset-key [(deletechar)]) ++ (global-set-key [(deletechar)] 'delete-char) ++;; ++(load "term/func-keys" nil t) ++;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ++;; Ende von linux.el +diff -Nru xemacs-21.5.20.orig/site-packages/lisp/term/xterm.el xemacs-21.5.20/site-packages/lisp/term/xterm.el +--- xemacs-21.5.20.orig/site-packages/lisp/term/xterm.el 1970-01-01 01:00:00.000000000 +0100 ++++ xemacs-21.5.20/site-packages/lisp/term/xterm.el 2005-05-12 14:38:20.000000000 +0200 +@@ -0,0 +1,120 @@ ++;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ++;;; term/xterm.el for site-lisp path in xemacs-21.1.7 ++;;; Copyright (c) 1996 SuSE Gmbh Nuernberg, Germany. All rights reserved. ++;;; ++;;; Author: Werner Fink , No warranty of any kind ++;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ++;; MF-102: on linux console \033[1~ is not [(find)] but [(home)] ++;; in xterm [(home)] is \033[H (app-keypad off) or \033OH (app-keypad on) ++;; and [(find)] is \033[1~ ++;; Note: this must be consistent with app-defaults of xterm, ++;; terminfo/termcap, and all of inputrc, csh.cshrc, exrc ++ (define-key function-key-map "\e[1~" [(find)]) ++ (define-key function-key-map "\e[H" [(home)]) ++ (define-key function-key-map "\eOH" [(home)]) ++ (define-key function-key-map "\e[2~" [(insertchar)]) ++ (define-key function-key-map "\e[3~" [(deletechar)]) ++;; MF-102: on linux console \033[4~ is not [(select)] but [(end)] ++;; in xterm [(end] should be \033[F (app-keypad off) or \033OF (app-keypad on) ++;; and [(select)] is \033[4~ ++;; Note: this must be consistent with app-defaults of xterm, ++;; terminfo/termcap, and all of inputrc, csh.cshrc, exrc ++ (define-key function-key-map "\e[4~" [(select)]) ++ (define-key function-key-map "\e[F" [(end)]) ++ (define-key function-key-map "\eOF" [(end)]) ++ (define-key function-key-map "\e[5~" [(prior)]) ++ (define-key function-key-map "\e[6~" [(next)]) ++ (define-key function-key-map "\e[11~" [(f1)]) ++ (define-key function-key-map "\e[12~" [(f2)]) ++ (define-key function-key-map "\e[13~" [(f3)]) ++ (define-key function-key-map "\e[14~" [(f4)]) ++ (define-key function-key-map "\eOP" [(f1)]) ++ (define-key function-key-map "\eOQ" [(f2)]) ++ (define-key function-key-map "\eOR" [(f3)]) ++ (define-key function-key-map "\eOS" [(f4)]) ++ (define-key function-key-map "\e[15~" [(f5)]) ++ (define-key function-key-map "\e[17~" [(f6)]) ++ (define-key function-key-map "\e[18~" [(f7)]) ++ (define-key function-key-map "\e[19~" [(f8)]) ++ (define-key function-key-map "\e[20~" [(f9)]) ++ (define-key function-key-map "\e[21~" [(f10)]) ++ (define-key function-key-map "\e[23~" [(f11)]) ++ (define-key function-key-map "\e[24~" [(f12)]) ++ (define-key function-key-map "\e[25~" [(f13)]) ++ (define-key function-key-map "\e[26~" [(f14)]) ++ (define-key function-key-map "\e[28~" [(help)]) ++ (define-key function-key-map "\e[29~" [(menu)]) ++ (define-key function-key-map "\e?\e[28~" [(meta help)]) ++ (define-key function-key-map "\e?\e[29~" [(meta menu)]) ++ (define-key function-key-map "\e[31~" [(f17)]) ++ (define-key function-key-map "\e[32~" [(f18)]) ++ (define-key function-key-map "\e[33~" [(f19)]) ++ (define-key function-key-map "\e[34~" [(f20)]) ++;; ++;; num block ++;; [(home)] and [(end)] found in num block ++ (define-key function-key-map "\eOH" [(home)]) ++ (define-key function-key-map "\eOF" [(end)]) ++ (define-key function-key-map "\eOE" [(begin)]) ++;; ++;; Locked num block ++;; kp-f1 .. kp-f4 and kp-tab not found on MF-102 ++;; For xterm on xfree we use f1 .. f4, see above ++; (define-key function-key-map "\eOP" [(kp-f1)]) ++; (define-key function-key-map "\eOQ" [(kp-f2)]) ++; (define-key function-key-map "\eOR" [(kp-f3)]) ++; (define-key function-key-map "\eOS" [(kp-f4)]) ++ (define-key function-key-map "\eOI" [(kp-tab)]) ++ (define-key function-key-map "\eOj" [(kp-multiply)]) ++ (define-key function-key-map "\eOk" [(kp-add)]) ++ (define-key function-key-map "\eOl" [(kp-separator)]) ++ (define-key function-key-map "\eOM" [(kp-enter)]) ++ (define-key function-key-map "\eOm" [(kp-subtract)]) ++ (define-key function-key-map "\eOn" [(kp-decimal)]) ++; (define-key function-key-map "\eOn" [(kp-period)]) ; [kp-decimal] ++ (define-key function-key-map "\eOo" [(kp-divide)]) ++ (define-key function-key-map "\eOp" [(kp-0)]) ++ (define-key function-key-map "\eOq" [(kp-1)]) ++ (define-key function-key-map "\eOr" [(kp-2)]) ++ (define-key function-key-map "\eOs" [(kp-3)]) ++ (define-key function-key-map "\eOt" [(kp-4)]) ++ (define-key function-key-map "\eOu" [(kp-5)]) ++ (define-key function-key-map "\eOv" [(kp-6)]) ++ (define-key function-key-map "\eOw" [(kp-7)]) ++ (define-key function-key-map "\eOx" [(kp-8)]) ++ (define-key function-key-map "\eOy" [(kp-9)]) ++;; ++;; Undefine some ESC ESC behavior --- for later use ++ (global-unset-key "\e\e") ++ (define-key esc-map "\e" nil) ++;; ++ (define-key function-key-map "\eOD" [(left)]) ++ (define-key function-key-map "\eOC" [(right)]) ++ (define-key function-key-map "\eOA" [(up)]) ++ (define-key function-key-map "\eOB" [(down)]) ++;; ++ (define-key function-key-map "\e\eOD" [(meta left)]) ++ (define-key function-key-map "\e\eOC" [(meta right)]) ++ (define-key function-key-map "\e\eOA" [(meta up)]) ++ (define-key function-key-map "\e\eOB" [(meta down)]) ++;; ++;; Not in Use? ++ (define-key function-key-map "\C-?\eOD" [(control left)]) ++ (define-key function-key-map "\C-?\eOC" [(control right)]) ++ (define-key function-key-map "\C-?\eOA" [(control up)]) ++ (define-key function-key-map "\C-?\eOB" [(control down)]) ++ (define-key function-key-map "\eO5D" [(control left)]) ++ (define-key function-key-map "\eO5C" [(control right)]) ++ (define-key function-key-map "\eO5A" [(control up)]) ++ (define-key function-key-map "\eO5B" [(control down)]) ++;; ++;; Backspace, Delete and any thing else ++;; ++ (global-unset-key [(insertchar)]) ++ (global-set-key [(insertchar)] 'overwrite-mode) ++ (global-unset-key [(deletechar)]) ++ (global-set-key [(deletechar)] 'delete-char) ++;; ++(load "term/func-keys" nil t) ++;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ++;; Ende von xterm.el +diff -Nru xemacs-21.5.20.orig/src/Makefile.in.in xemacs-21.5.20/src/Makefile.in.in +--- xemacs-21.5.20.orig/src/Makefile.in.in 2005-03-10 10:05:52.000000000 +0100 ++++ xemacs-21.5.20/src/Makefile.in.in 2005-05-12 14:38:20.000000000 +0200 +@@ -555,7 +555,7 @@ + else \ + $(CC) -c $(cflags) -DMAX_SIZE=0 $(SRC)/dump-data.c ;\ + fi +- $(LD) $(start_flags) $(ldflags) -o $@ $(start_files) $(objs) $(otherobjs) $(DUMP_ID) dump-data.o $(LIBES) ++ $(LD) $(start_flags) -Wl,-rpath-link,/usr/X11R6/lib $(ldflags) -o $@ $(start_files) $(objs) $(otherobjs) $(DUMP_ID) dump-data.o $(LIBES) + #endif + + ## (3) Update the .elc's needed for dumping +@@ -585,7 +585,7 @@ + $(TEMACS_BATCH) -l $(LISP)/make-docfile.el -- \ + -o $(LIB_SRC)/DOC -d $(SRC) -i $(LIB_SRC)/../site-packages \ + $(obj_src) $(mallocdocsrc) $(rallocdocsrc) \ +- $(extra_doc_files) ; fi ++ $(extra_doc_files) ${lispdir}disp-table.elc ; fi + + ## (5) Dump + +diff -Nru xemacs-21.5.20.orig/src/print.c xemacs-21.5.20/src/print.c +--- xemacs-21.5.20.orig/src/print.c 2005-01-25 00:34:05.000000000 +0100 ++++ xemacs-21.5.20/src/print.c 2005-05-12 14:38:20.000000000 +0200 +@@ -1084,6 +1084,40 @@ + Ibyte *cp, c; + int width; + ++ /* Check for plus infinity in a way that won't lose ++ if there is no plus infinity. */ ++ if (data == data / 2 && data > 1.0) ++ { ++ strcpy (buf, "1.0e+INF"); ++ return; ++ } ++ /* Likewise for minus infinity. */ ++ if (data == data / 2 && data < -1.0) ++ { ++ strcpy (buf, "-1.0e+INF"); ++ return; ++ } ++ /* Check for NaN in a way that won't fail if there are no NaNs. */ ++ if (! (data * 0.0 >= 0.0)) ++ { ++ /* Prepend "-" if the NaN's sign bit is negative. ++ The sign bit of a double is the bit that is 1 in -0.0. */ ++ int i; ++ double zero = 0.0; ++ union { double d; char c[sizeof (double)]; } u_data, u_minus_zero; ++ u_data.d = data; ++ u_minus_zero.d = - zero; ++ for (i = 0; i < sizeof (double); i++) ++ if (u_data.c[i] & u_minus_zero.c[i]) ++ { ++ *buf++ = '-'; ++ break; ++ } ++ ++ strcpy (buf, "0.0e+NaN"); ++ return; ++ } ++ + if (NILP (Vfloat_output_format) + || !STRINGP (Vfloat_output_format)) + lose: +diff -Nru xemacs-21.5.20.orig/src/regex.c xemacs-21.5.20/src/regex.c +--- xemacs-21.5.20.orig/src/regex.c 2005-03-09 05:59:31.000000000 +0100 ++++ xemacs-21.5.20/src/regex.c 2005-05-12 14:38:20.000000000 +0200 +@@ -1154,6 +1154,9 @@ + syntax, so it can be changed between regex compilations. */ + /* This has no initializer because initialized variables in Emacs + become read-only after dumping. */ ++#ifdef __linux__ /* libc and glibc including this */ ++extern ++#endif + reg_syntax_t re_syntax_options; + + +diff -Nru xemacs-21.5.20.orig/src/s/linux.h xemacs-21.5.20/src/s/linux.h +--- xemacs-21.5.20.orig/src/s/linux.h 2002-08-12 16:45:34.000000000 +0200 ++++ xemacs-21.5.20/src/s/linux.h 2005-05-12 14:38:20.000000000 +0200 +@@ -25,6 +25,7 @@ + + #define USG + #define LINUX ++#define I18N2 + + /* powerpc gcc 2.8.0 doesn't define __ELF__, but it is */ + +diff -Nru xemacs-21.5.20.orig/suse/README.SuSE xemacs-21.5.20/suse/README.SuSE +--- xemacs-21.5.20.orig/suse/README.SuSE 1970-01-01 01:00:00.000000000 +0100 ++++ xemacs-21.5.20/suse/README.SuSE 2005-05-12 14:38:20.000000000 +0200 +@@ -0,0 +1,18 @@ ++ ++ XEmacs-21.5.16 ++ ++ * Sie finden eine Referenz-Karte im Verzeichnis etc/ ++ in der Datei refcard.ps, die Sie ausdrucken können. ++ ++ * Weitere Hilfe zum XEmacs findet sich ebenfalls unter etc/ ++ und natürlich auch Online im Editor selbst im Help-Menü. ++ ++--- ++ ++ * You find a reference card refcard.ps in the directory etc/ ++ which can be printed. ++ ++ * More help for XEmacs will can be found in etc/ and ++ clearly online in the menu help ++ ++ diff --git a/xemacs.spec b/xemacs.spec new file mode 100644 index 0000000..63744ca --- /dev/null +++ b/xemacs.spec @@ -0,0 +1,1251 @@ +# +# spec file for package xemacs (Version 21.5.27.20060705) +# +# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany. +# This file and all modifications and additions to the pristine +# package are under the same license as the package itself. +# +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + +# norootforbuild + +Name: xemacs +BuildRequires: canna-devel compface db-devel fwnndev gcc-c++ krb5 libpng-devel libtiff-devel openldap2 openldap2-devel texinfo update-desktop-files xaw3d xorg-x11 xorg-x11-devel +%if "%(xft-config --prefix)" == "/usr" +%define appdefdir /usr/share/X11 +%define xbindir /usr/bin +%define xincludes /usr/include +%define xlibraries /usr/%{_lib} +%else +%define appdefdir /usr/X11R6/lib/X11 +%define xbindir /usr/X11R6/bin +%define xincludes /usr/X11R6/include +%define xlibraries /usr/X11R6/%{_lib} +%endif +URL: http://www.xemacs.org +License: GPL +Group: Productivity/Editors/Emacs +Obsoletes: xe_exec +Prereq: permissions +Requires: xemacs-info xemacs-packages ctags +Autoreqprov: on +Version: 21.5.27.20060705 +Release: 8 +Summary: XEmacs +BuildRoot: %{_tmppath}/%{name}-%{version}-build +# Howto get the cvs tree of XEmacs: +# ============================================== +# cvs -d :pserver:cvs@cvs.xemacs.org:/pack/xemacscvs login +# Password = cvs +# cvs -z3 -d :pserver:cvs@cvs.xemacs.org:/pack/xemacscvs checkout xemacs +# Now check what tags are available: +# cd packages +# cvs status -v ChangeLog +# And update to the latest xemacs tag: +# cvs update -r r21-5-16 +# cd .. +# Now make a tar.bz2 file from the contents of the "packages" directory: +# tar jcvf xemacs-.tar.bz2 xemacs-/ +Source0: ftp://ftp.xemacs.org/xemacs-21.5/xemacs-21.5.27.20060705.tar.bz2 +Source1: xe-list.el +Source2: fix-load-history.el +Patch0: xemacs.patch +Patch1: xemacs-autoconf.patch +# keep in sync with the similar patch to the app-defaults in the main xemacs-packages package: +Patch3: xemacs-21.4.8-app-defaults.patch +Patch5: xemacs-21.4.4-font-menu.patch +Patch13: xemacs-ia64.dif +Patch14: ndbm.patch +Patch18: xemacs-21.4.8-xevent.patch +Patch19: xemacs-21.4.13-ppc.patch +Patch20: xemacs-21.4.13-ppc64.patch +Patch22: destdir.patch +Patch23: xemacs-ptmx.dif +Patch25: gnomebug.patch +Patch26: xemacs-vendor.patch +Patch27: xemacs-level3.patch +Patch28: xemacs-21.5.18-movemail.patch +Patch32: do-not-create-backups-in-temp-directories.patch +Patch33: set-locale-to-c-when-not-supported-by-x.patch +Patch34: suppress-warning-about-undefined-unicode-key-mappings.patch +Patch38: unitialized-variables.patch +Patch40: cast-pointer-integer-different-size.patch + +%description +This is the current version of XEmacs, formerly known as Lucid-Emacs. +It is related to other versions of Emacs, in particular GNU Emacs. Its +emphasis is on modern graphical user interface support and an open +software development model, similar to Linux. + +Lisp macros are not necessarily interchangeable between GNU-Emacs and +XEmacs. This is mainly important for translated .elc files and the key +macros. + + + +Authors: +-------- + Chuck Thompson + + Ben Wing + + and many other contributors + +Summary: XEmacs +%package -n xemacs-el +Obsoletes: xe_lisp +Requires: xemacs xemacs-packages-el +Summary: Emacs-Lisp source files for XEmacs +Group: Productivity/Editors/Emacs +Autoreqprov: on + +%description -n xemacs-el +Most Emacs-Lisp source files are not needed for running XEmacs. Most of +them are also available in byte compiled form and therefore not +necessary at runtime. The true XEmacs addict will install them +nevertheless because it is often useful and enlightening to have a look +at the Lisp sources. + + + +Authors: +-------- + Chuck Thompson + Ben Wing + and many other contributors + +%package -n xemacs-info +Obsoletes: xe_info +Requires: xemacs-packages-info +Summary: Info Files for XEmacs +Group: Productivity/Editors/Emacs +Autoreqprov: on + +%description -n xemacs-info +This package contains all info files for XEmacs. All these files can be +read online with XEmacs and describe XEmacs and some of its modes. + + + +Authors: +-------- + Chuck Thompson + Ben Wing + and many other contributors + +%prep +%setup -q -n xemacs-%{version} +%patch1 -p0 -b .conf +%patch3 -p0 -b .appdef +#%patch5 -p1 -b .fontmenu # appears to be not needed anymore +%patch13 -p1 -b .ia64 +%patch14 -p1 +%patch18 -p0 -b .xevent +%patch19 -p1 -b .ppc +%patch20 -p1 +%patch22 -p1 +%patch23 -p1 +#%patch24 -p1 +#triggers #103040 +#%patch25 -p1 +%patch26 -p1 +%patch27 -p1 -b .lvl3 +%patch28 -p1 -b .movemail +%patch32 -p1 +%patch33 -p1 +#%patch34 -p1 +%patch38 -p1 +%patch40 -p1 +%patch0 -p1 +find lisp/ etc/ -name '*.elc' | xargs -r rm -f +%ifarch ia64 +%define enable_pdump 0 +%else +%define enable_pdump 1 +%endif +%define enable_dump_in_exec 0 +find . -name CVS -type d | xargs rm -rf +find . -name .cvsignore -type f | xargs rm -f +chmod -R u+w * +# Without making the timestamps equal here, some files will not be +# byte compiled: +find . | xargs touch -r . + +%build +%{?suse_update_config:%{suse_update_config -f}} +#libtoolize --force +#autoreconf --force --install --verbose +#rm configure +autoconf --force +## needed for detection of XFree86[tm] +#touch /etc/XF86Config +VERSION=%{version} + SHARE=/usr/share + LIB=/usr/lib + SYS=${RPM_ARCH}-suse-linux +%ifarch %ix86 +# %if %suse_version > 800 +# LOOP="-fprefetch-loop-arrays -funroll-loops" +# %else +# LOOP='-m486 -malign-loops=2 -malign-jumps=2 -malign-functions=2' +# %endif +%endif + INFO=${SHARE}/xemacs/info +LIBEXEC=${LIB}/xemacs/${VERSION} + ARCH=${LIBEXEC}/${SYS} + DATA=${SHARE} + LISP=${DATA}/xemacs/${VERSION}/lisp + ETC=${DATA}/xemacs/${VERSION}/etc + MOD=${ARCH}/modules + STATE=/var/lib/xemacs + MAN=/usr/share/man/man1 + CFLAGS="${RPM_OPT_FLAGS} -Wall -Wno-switch -pipe ${LOOP} -fno-strict-aliasing -DLDAP_DEPRECATED " +%ifarch s390x + CFLAGS="$CFLAGS -O0" +%endif +LDFLAGS= +export CFLAGS LDFLAGS +# +# Maybe there are emacs and xemacs on the +# same system, therefore put binaries into /usr/X11R6/bin +# +PREFIX="--prefix=/usr \ + --exec-prefix=/usr \ + --bindir=%{xbindir} \ + --datadir=${SHARE} \ + --with-archlibdir=${ARCH} \ + --with-docdir=${ARCH} \ + --with-lispdir=${LISP} \ + --with-etcdir=${ETC} \ + --with-statedir=${STATE} \ + --with-moduledir=${MOD} \ + --infodir=${INFO} \ + --mandir=${MAN} \ +" +# +# --with-sound=both requires NAS (Network Audio System) +# +# --with-socks and --with-term needs some nonexisting libs +# (maybe included in {g}libc) +# --with-tooltalk needs tt_c.h +# --with-canna needs X11 canna support +# --with-wnn needs X11 wnn support +# +# We need site-lisp because the long time (x)emacs users +# expect something like this. +# +# --with-system-malloc only for libc.5.4.3x and higher +# +# when using "--rel-alloc, XEmacs 21.5.18 crashes often when using +# 'compile-goto-error'. +# --rel-alloc \ +SPECIAL="--enable-database=gdbm,berkdb \ + --with-ncurses \ + --with-canna \ + --with-tty=yes \ + --with-site-lisp \ +%ifarch ia64 ppc ppc64 s390x s390 %ix86 + --disable-mc-alloc \ + --disable-kkcc \ + --disable-newgc \ +%else + --with-mc-alloc \ + --with-kkcc \ + --with-newgc \ +%endif +%ifnarch s390 + --enable-sound=native \ + --with-gpm \ +%endif +%if %enable_pdump + --enable-pdump \ +%if %enable_dump_in_exec + --enable-dump-in-exec \ +%else + --disable-dump-in-exec \ +%endif +%else + --enable-pdump=no \ +%endif +" +# +# Graphics and X window system +# * --with-cde needs Motif +# +X11="--with-xpm \ + --with-gif \ + --with-tiff \ + --with-jpeg \ + --with-png \ + --with-x \ + --with-athena=3d \ + --enable--menubars=lucid \ + --enable-scrollbars=lucid \ + --enable-dialogs=athena \ + --enable-widgets=athena \ + --x-includes=%{xincludes} \ + --x-libraries=%{xlibraries} \ +" +# +# Mail +# * --mail-locking should be self detected +# * --with-xface requires compface library +# +MAIL="--enable-clash-detection \ + --with-ldap \ + --with-pop +" +# +# Mule +# +# --with-xfs Compile with XFontSet support for bilingual menubar. +# Can't use this option with --with-xim=motif or xlib. +# And should have --with-menubars=lucid. +# +# (this is necessary to get German, French, Japanese +# and Romanian texts in the menus. It DOES work with +# --with-xim=xlib, the above comment from './configure --help' +# seems to be incorrect in that respect.) +# +MULE="--enable-mule \ + --with-xim=xlib \ + --with-xfs \ +" +# +# Compilation +# +COMP="--with-gcc \ + --with-dynamic \ + --with-debug \ + --enable-error-checking=none \ + --with-cflags=\"${CFLAGS}\" \ + --with-ldflags=\"${LDFLAGS}\" \ +" +eval ./configure $SYS $COMP $PREFIX $SPECIAL $X11 $MULE $MAIL +make %{?jobs:-j %jobs} + +%install +set +o posix +# +mkdir -p $RPM_BUILD_ROOT/usr/share/xemacs/site-lisp/lisp +mkdir -p $RPM_BUILD_ROOT/usr/share/xemacs/site-packages/lisp/term +mkdir -p $RPM_BUILD_ROOT/var/lib/xemacs/lock +chmod 1777 $RPM_BUILD_ROOT/var/lib/xemacs/lock +make DESTDIR=$RPM_BUILD_ROOT install +mv $RPM_BUILD_ROOT%{xbindir}/xemacs-21.?-??? $RPM_BUILD_ROOT%{xbindir}/xemacs +# fix up the load-history to make it possible to use find-function +# on functions which are in dumped lisp files, even if XEmacs was not +# dumped at the place where it is finally running. +# +# Suggested by Jeff Mincy , see: +# +# http://list-archive.xemacs.org/xemacs-design/200204/msg00365.html +# +# Test whether this works by evaluating (find-function 'next-line) +# +install -m 644 $RPM_SOURCE_DIR/fix-load-history.el \ + $RPM_BUILD_ROOT/usr/share/xemacs/site-packages/lisp/ +rm -rf $RPM_BUILD_ROOT/usr/share/xemacs/%{version}/src/ +rm -rf $RPM_BUILD_ROOT/usr/share/xemacs/%{version}/lib-src/ +rm -f $RPM_BUILD_ROOT/usr/share/xemacs/%{version}/Installation + +###################################################################### +test -L $RPM_BUILD_ROOT%{xbindir}/xemacs && \ + rm $RPM_BUILD_ROOT%{xbindir}/xemacs +ver=%{version} +test -x $RPM_BUILD_ROOT%{xbindir}/xemacs-${ver%%.*}-b${ver##*.} && \ + mv $RPM_BUILD_ROOT%{xbindir}/xemacs-${ver%%.*}-b${ver##*.} $RPM_BUILD_ROOT%{xbindir}/xemacs +chmod 1755 $RPM_BUILD_ROOT%{xbindir}/xemacs +for f in $RPM_BUILD_ROOT/usr/man/man1/*.1 \ + $RPM_BUILD_ROOT/usr/share/man/man1/*.1 \ + $RPM_BUILD_ROOT/usr/share/xemacs/info/*info* \ + $RPM_BUILD_ROOT/usr/share/xemacs/%{version}/etc/*.1 \ + $RPM_BUILD_ROOT/usr/share/xemacs/%{version}/etc/mule/*.1 +do + test "${f##*.}" = "gz" && continue + test -e $f || continue + gzip -9f $f +done +find $RPM_BUILD_ROOT/usr/share/xemacs/%{version}/ -name '*.el.ediff' | xargs -r rm -f +find $RPM_BUILD_ROOT/usr/share/xemacs/%{version}/ -name '*.el.orig' | xargs -r rm -f +find $RPM_BUILD_ROOT/usr/share/xemacs/%{version}/ -name '*.el.vm' | xargs -r rm -f +# ctags and etags are part of the ctags package +# b2m and rcs-checkin are in the emacs package. +# As all binaries are in /usr/bin/ with X11R7, xemacs would conflict +# with emacs if xemacs packaged b2m and rcs-checkin as well. +# Therefore we remove them from the xemacs package here. +# They are rarely needed anyway. +rm -f $RPM_BUILD_ROOT%{xbindir}/ctags \ + $RPM_BUILD_ROOT%{xbindir}/etags \ + $RPM_BUILD_ROOT%{xbindir}/b2m \ + $RPM_BUILD_ROOT%{xbindir}/rcs-checkin \ + $RPM_BUILD_ROOT/usr/share/man/man1/ctags.1.gz \ + $RPM_BUILD_ROOT/usr/share/man/man1/etags.1.gz \ + $RPM_BUILD_ROOT/usr/share/xemacs/%{version}/etc/ctags.1.gz \ + $RPM_BUILD_ROOT/usr/share/xemacs/%{version}/etc/etags.1.gz +# Some .elc's are not needed: +find $RPM_BUILD_ROOT/usr/share/xemacs/ -name '_pkg.elc' | xargs -r rm -f +find $RPM_BUILD_ROOT/usr/share/xemacs/ -name 'auto-autoloads.el?' | xargs -r rm -f +find $RPM_BUILD_ROOT/usr/lib/xemacs/ -name 'auto-autoloads.el?' | xargs -r rm -f +rm -f $RPM_BUILD_ROOT/usr/share/xemacs/%{version}/lisp/default.elc +rm -f $RPM_BUILD_ROOT/usr/share/xemacs/%{version}/lisp/vm/vm.elc +#if test -e /usr/share/xemacs/%{version}/lisp/xpm-button.el -a \ +# -e /usr/share/xemacs/%{version}/lisp/xemacs-base/xpm-button.el +#then +# rm -f /usr/share/xemacs/%{version}/lisp/xpm-button.el +# rm -f /usr/share/xemacs/%{version}/lisp/xpm-button.elc +#fi +# no .origs +rm -f $RPM_BUILD_ROOT/usr/share/xemacs/info/xemacs-faq.info.orig* +# +# Make TUTORIAL's visible +for t in $RPM_BUILD_ROOT/usr/share/xemacs/%{version}/etc/mule/TUTORIAL.* ; do + test -e $t || break + test -e $RPM_BUILD_ROOT/usr/share/xemacs/%{version}/etc/${t##*/} && rm -f $t + test -e $t && mv $t $RPM_BUILD_ROOT/usr/share/xemacs/%{version}/etc/${t##*/} +done +# install the standard app-defaults file used for all languages +# which don't have their own app-defaults file above: +mkdir -p $RPM_BUILD_ROOT%{appdefdir}/app-defaults/ +install -m 644 etc/Emacs.ad $RPM_BUILD_ROOT%{appdefdir}/app-defaults/XEmacs +# SuSE extension +install -m 0644 site-packages/lisp/site-start.el $RPM_BUILD_ROOT/usr/share/xemacs/site-packages/lisp/ +install -m 0644 site-packages/lisp/term/func-keys.el $RPM_BUILD_ROOT/usr/share/xemacs/site-packages/lisp/term/ +install -m 0644 site-packages/lisp/term/linux.el $RPM_BUILD_ROOT/usr/share/xemacs/site-packages/lisp/term/ +install -m 0644 site-packages/lisp/term/xterm.el $RPM_BUILD_ROOT/usr/share/xemacs/site-packages/lisp/term/ +install -m 0644 site-packages/lisp/term/gnome.el $RPM_BUILD_ROOT/usr/share/xemacs/site-packages/lisp/term/ +install -m 0644 site-packages/lisp/term/kvt.el $RPM_BUILD_ROOT/usr/share/xemacs/site-packages/lisp/term/ +./src/xemacs -batch -no-site-file -vanilla -f batch-byte-compile $RPM_BUILD_ROOT/usr/share/xemacs/site-packages/lisp/term/*.el +mkdir -p $RPM_BUILD_ROOT/%{_docdir}/xemacs +install -m 0644 suse/README.SuSE $RPM_BUILD_ROOT/%{_docdir}/xemacs/README.SuSE +ln -sf /usr/share/xemacs/%{version}/etc $RPM_BUILD_ROOT/%{_docdir}/xemacs/etc +# +# replace buildroot in comments in .elc files by spaces with the same total length: +RPM_BUILD_ROOT_REPLACEMENT=$(echo "$RPM_BUILD_ROOT" | tr [:print:] ' ') +for i in $(find $RPM_BUILD_ROOT -name "*.elc") +do + perl -pi -e "s|(;;; from file )$RPM_BUILD_ROOT(/usr/share/xemacs/.*)|\1$RPM_BUILD_ROOT_REPLACEMENT\2|" $i +done +# +( find $RPM_BUILD_ROOT \ + \( \( \( -not -type d \) -a \( -not -type l \) \) -printf '%%p\n' \) -o \ + \( -type d -printf '%%p/\n' \) -o \( -type l -printf '%%p\n' \) ; \ + find $RPM_BUILD_ROOT/usr/share/xemacs/ $RPM_BUILD_ROOT/usr/lib/xemacs/ -type f -o -type l ) | \ + grep -v "/usr/share/xemacs/%{version}/etc" | \ + sort -t /| uniq | perl -p -e "s|$RPM_BUILD_ROOT||" > xe-list +./src/xemacs -batch -no-site-file -l $RPM_SOURCE_DIR/xe-list.el -f xe-list-generate-list-files +cat xe-list-el-without-elc xe-list-elc-without-el xe-list-elc-with-el \ + >> xe-list-el-without-elc_xe-list-elc-without-el_xe-list-elc-with-el +## +# install desktop file +%if %suse_version > 820 +%suse_update_desktop_file -i xemacs TextEditor +grep -v X-KDE-WMClass $RPM_BUILD_ROOT/usr/share/applications/xemacs.desktop > $RPM_BUILD_ROOT/usr/share/applications/xemacs.desktop.new +mv $RPM_BUILD_ROOT/usr/share/applications/xemacs.desktop.new $RPM_BUILD_ROOT/usr/share/applications/xemacs.desktop +%endif +## + +%post +%run_permissions + +%verifyscript +%if %suse_version > 920 +%verify_permissions -e %{xbindir}/xemacs -e /var/lib/xemacs/lock +%endif + +%clean +#[ "$RPM_BUILD_ROOT" != "/" ] && [ -d $RPM_BUILD_ROOT ] && rm -rf $RPM_BUILD_ROOT; + +%files -f xe-list-el-without-elc_xe-list-elc-without-el_xe-list-elc-with-el +%defattr(-,root,root) +%if %suse_version > 820 +/usr/share/applications/xemacs.desktop +%endif +%if %suse_version > 920 +/usr/share/pixmaps/emacs.png +%endif +%{xbindir}/ellcc +%{xbindir}/gnuattach +%{xbindir}/gnuclient +%{xbindir}/gnudoit +%{xbindir}/ootags +%verify(not mode) %{xbindir}/xemacs +%if %enable_pdump +%if !%{enable_dump_in_exec} +%{xbindir}/xemacs*.dmp +%endif +%endif +%{appdefdir}/app-defaults/XEmacs +%dir /usr/lib/xemacs +%dir /usr/lib/xemacs/%{version} +%dir /usr/lib/xemacs/%{version}/*-suse-linux/ +/usr/lib/xemacs/%{version}/*-suse-linux/DOC +/usr/lib/xemacs/%{version}/*-suse-linux/add-big-package.sh +/usr/lib/xemacs/%{version}/*-suse-linux/config.values +/usr/lib/xemacs/%{version}/*-suse-linux/cvtmail +/usr/lib/xemacs/%{version}/*-suse-linux/digest-doc +/usr/lib/xemacs/%{version}/*-suse-linux/fakemail +/usr/lib/xemacs/%{version}/*-suse-linux/gnuserv +/usr/lib/xemacs/%{version}/*-suse-linux/gzip-el.sh +/usr/lib/xemacs/%{version}/*-suse-linux/hexl +%dir /usr/lib/xemacs/%{version}/*-suse-linux/include/ +/usr/lib/xemacs/%{version}/*-suse-linux/include/*.h +%dir /usr/lib/xemacs/%{version}/*-suse-linux/include/m/ +%doc /usr/lib/xemacs/%{version}/*-suse-linux/include/m/README +/usr/lib/xemacs/%{version}/*-suse-linux/include/m/*.h +%dir /usr/lib/xemacs/%{version}/*-suse-linux/include/s/ +%doc /usr/lib/xemacs/%{version}/*-suse-linux/include/s/README +/usr/lib/xemacs/%{version}/*-suse-linux/include/s/*.h +/usr/lib/xemacs/%{version}/*-suse-linux/include/s/cygwin.sc +/usr/lib/xemacs/%{version}/*-suse-linux/make-docfile +/usr/lib/xemacs/%{version}/*-suse-linux/mmencode +%dir /usr/lib/xemacs/%{version}/*-suse-linux/modules/ +/usr/lib/xemacs/%{version}/*-suse-linux/modules/*.ell +/usr/lib/xemacs/%{version}/*-suse-linux/movemail +/usr/lib/xemacs/%{version}/*-suse-linux/profile +/usr/lib/xemacs/%{version}/*-suse-linux/rcs2log +/usr/lib/xemacs/%{version}/*-suse-linux/sorted-doc +/usr/lib/xemacs/%{version}/*-suse-linux/vcdiff +/usr/lib/xemacs/%{version}/*-suse-linux/wakeup +/usr/lib/xemacs/%{version}/*-suse-linux/yow +%dir /usr/lib/xemacs/site-modules/ +%dir %{_docdir}/xemacs/ +%doc %{_docdir}/xemacs/README.SuSE +%{_docdir}/xemacs/etc +%doc /usr/share/man/man1/gnuattach.1.gz +%doc /usr/share/man/man1/gnuclient.1.gz +%doc /usr/share/man/man1/gnudoit.1.gz +%doc /usr/share/man/man1/gnuserv.1.gz +%doc /usr/share/man/man1/xemacs.1.gz +%dir /usr/share/xemacs/ +%dir /usr/share/xemacs/%{version}/ +%dir /usr/share/xemacs/%{version}/etc/ +/usr/share/xemacs/%{version}/etc/* +%dir /usr/share/xemacs/%{version}/lisp/ +%doc /usr/share/xemacs/%{version}/lisp/ChangeLog* +%doc /usr/share/xemacs/%{version}/lisp/README +%dir /usr/share/xemacs/%{version}/lisp/mule/ +%doc /usr/share/xemacs/%{version}/lisp/mule/mule-locale.txt +%dir /usr/share/xemacs/%{version}/lisp/term +%doc /usr/share/xemacs/%{version}/lisp/term/README +%dir /usr/share/xemacs/site-packages/ +%dir /usr/share/xemacs/site-packages/lisp/ +%dir /usr/share/xemacs/site-packages/lisp/term/ +%dir /usr/share/xemacs/site-lisp/ +%dir /usr/share/xemacs/site-lisp/lisp/ +%dir /var/lib/xemacs/ +%dir %verify(not mode group) %attr(-,root,trusted) /var/lib/xemacs/lock/ + +%files -n xemacs-info +%defattr(-,root,root) +%dir /usr/share/xemacs/ +%dir /usr/share/xemacs/info/ +%doc /usr/share/xemacs/info/* + +%files -n xemacs-el -f xe-list-el-with-elc +%defattr(-,root,root) +%dir /usr/share/xemacs/ +%dir /usr/share/xemacs/%{version}/lisp/ +%dir /usr/share/xemacs/%{version}/lisp/mule/ +%dir /usr/share/xemacs/%{version}/lisp/term/ +%dir /usr/share/xemacs/site-packages/ +%dir /usr/share/xemacs/site-packages/lisp/ +%dir /usr/share/xemacs/site-packages/lisp/term/ + +%changelog -n xemacs +* Mon Sep 25 2006 - mfabian@suse.de +- Bugzilla #207941: add "texinfo" to BuildRequires. +* Mon Aug 07 2006 - mfabian@suse.de +- adapt for Xorg X11R7 (paths changed). +- remove b2m and rcs-checkin to avoid conflict with the emacs + package when all binaries are in /usr/bin. +* Wed Jul 19 2006 - mfabian@suse.de +- update to 21.5.27.20060705 + + remove sentinel.patch (included upstream). + + remove suppress-warning-about-undefined-unicode-key-mappings.patch + (obsolete). + + remove fix-wrong-use-of-memset.patch (included upstream). +* Tue Jul 18 2006 - schwab@suse.de +- Fix broken use of autoconf internal macros. +* Thu Jun 15 2006 - dmueller@suse.de +- build parallel +* Mon Mar 27 2006 - mfabian@suse.de +- update to 21.5.25.20060327 to make xemacs build on x86_64 again, + and make xemacs-packages build again on ppc64. +* Mon Mar 27 2006 - mfabian@suse.de +- fix wrong use of memset. +- use "--disable-mc-alloc --disable-kkcc --disable-newgc" on + i386 architecture as well. +* Mon Mar 06 2006 - mfabian@suse.de +- update to 21.5.25. Fixes: + + bugzilla #141126 (XEmacs 21.5.24 doesn't read localized + app-defaults) + + bugzilla #145121 (XIM doens't work anymore in XEmacs) + + bugzilla #143515 (XEmacs crashes when loading a UTF-8 encoded + Japanese file) +- Bugzilla #155506: + add configure option "--with-canna", the auto-detection of canna + seems to be broken but when enabling canna explicitly it works. +* Thu Feb 16 2006 - mfabian@suse.de +- uninitialized-variables-2.patch, see + http://list-archive.xemacs.org/xemacs-beta/200602/msg00026.html +* Fri Feb 10 2006 - coolo@suse.de +- uncommenting workaround for metacity bug (#suse457777) triggering + shrinking loop under KDE (#103040) +* Wed Jan 25 2006 - mls@suse.de +- converted neededforbuild to BuildRequires +* Tue Dec 27 2005 - mfabian@suse.de +- update to 21.5.24. +- remove xemacs-21.5.21-ia64.patch (included upstream). +* Fri Oct 07 2005 - mfabian@suse.de +- add option "-no-site-file" when calling xemacs from the + .spec file (requested by user Dieter Jurzitza). Not necessary + when building in chroot but it cannot hurt. +* Thu Oct 06 2005 - mfabian@suse.de +- add a few directories to the file lists to make sure + that no empty directories below /usr/share/xemacs remain + when xemacs, xemacs-el, and xemacs-info are uninstalled. +* Wed Oct 05 2005 - werner@suse.de +- Use old LDAP interface +* Mon Sep 19 2005 - mfabian@suse.de +- update to 21.5.22. +* Thu Sep 08 2005 - mfabian@suse.de +- Bug 115362 - xemacs startup info not disappearing: + remove X-KDE-WMClass=emacs entry from xemacs.desktop. +* Tue Sep 06 2005 - yxu@suse.de +- fixed conflicting type definition +* Tue Aug 16 2005 - mfabian@suse.de +- Bugzilla #104973: add --disable-mc-alloc --disable-kkcc + configure options again because with these options the build + of "xemacs-packages" fails on x86_64. +* Mon Aug 01 2005 - mfabian@suse.de +- bugzilla #98715: xemacs-*.dmp file is needed again because + 'mc-alloc' is used now and it is wasteful to dump into the + executable when using mc-alloc. +- add extents.c.diffs by Darryl Okahata to fix some crashes + in the garbage collector on 64 bit systems. See also: + http://list-archive.xemacs.org/xemacs-beta/200507/msg00346.html +- avoid compiler warnings about uninitalized variables. +* Thu Jul 21 2005 - mfabian@suse.de +- update to 21.5.21.20050721. + + remove --disable-mc-alloc --disable-kkcc configure options. +* Tue Jul 12 2005 - mfabian@suse.de +- update Aidan's keysym-handling patch to latest version. +* Thu Jun 23 2005 - mfabian@suse.de +- Bugzilla #77957: support UXXXX keysyms better by applying + aidan-kehoe-clean-up-keysym-handling.patch instead of the hack + in site-start.el. Aidan's patch has the advantage that the + cursor keep working in a terminal even when XEmacs was started + under X11 and later another frame was opened in a terminal + with 'gnuclient -nw'. See also: + http://list-archive.xemacs.org/xemacs-patches/200505/msg00127.html +* Fri Jun 17 2005 - mfabian@suse.de +- Improve workaround to support more Unicode characters. + (more systematic approach which increases the number of + supported characters a lot). +* Wed Jun 15 2005 - mfabian@suse.de +- With the hack to fix Bugzilla #77957 better, the cursor keys + stop working when xemacs is started in a terminal. Apply that + hack only when running under X11. +* Mon Jun 13 2005 - mfabian@suse.de +- Bugzilla #77957: Better solution, add all keysyms of the type + UXXXX to the global-map when they are first used. +- suppress warning about "Undefined Unicode key mappings" because + all of them are defined now. +- Bugzilla #90350: xemacs should not crash when a locale is not + supported by Xlib. Set locale to C instead and show a warning. +* Thu Jun 09 2005 - mfabian@suse.de +- Bugzilla #77957: I forgot to add some characters from U+00A1 to + U+00FF to preloaded-unicode-key-translations, for example U+00FC + (LATIN SMALL LETTER U WITH DIAERESIS) was missing. Thanks + to Reinhard Max for reporting. +* Tue Jun 07 2005 - mfabian@suse.de +- Bugzilla #87362: "xemacs cannot edit crontabs": + add do-not-create-backups-in-temp-directories.patch. +* Thu Jun 02 2005 - mfabian@suse.de +- update to 21.5.21. +- remove always-load-correct-app-defaults.patch, XEmacs + uses the application class "XEmacs" by default now. +- update destdir.patch +- use configure options "--disable-mc-alloc" "--disable-kkcc" + for now, when using the new allocation scheme and the new + garbage collector, I cannot build XEmacs anymore on x86_64. +* Tue May 17 2005 - schwab@suse.de +- Update ia64 patch. +* Fri May 13 2005 - mfabian@suse.de +- update to 21.5.20. +- jamie-zawinski-selection-fix.patch, aidan-kehoe-iso8859-16.patch + not necessary anymore. +* Tue Apr 26 2005 - mfabian@suse.de +- add workaround support for more unicode characters, + especially for those needed for IPA. +* Thu Apr 14 2005 - mfabian@suse.de +- Bugzilla #77957: add all characters from U+00A1 to U+00FF to + preloaded-unicode-key-translations. +* Mon Apr 04 2005 - aj@suse.de +- Fix GCC4 sentinel warnings. +* Mon Mar 07 2005 - mfabian@suse.de +- add a few more characters to preloaded-unicode-key-translations + in site-start.el to be able to input all common quotation-marks. +* Fri Mar 04 2005 - mfabian@suse.de +- add workaround to support some Unicode characters which are in + no legacy charset. See also: + http://cvs.xemacs.org/viewcvs.cgi/XEmacs/xemacs/src/unicode.c.diff?r1=1.25&r2=1.26 +* Wed Mar 02 2005 - mfabian@suse.de +- add workaround for input of characters like + U+201E DOUBLE LOW-9 QUOTATION MARK. +* Thu Feb 17 2005 - mfabian@suse.de +- fix cut-and-paste problem when pasting Japanese + from xpdf to XEmacs. Patch by Jamie Zawinski, slighly adapted + for XEmacs 21.5.18, see also: + http://list-archive.xemacs.org/xemacs-beta/200407/msg00158.html +* Sun Feb 13 2005 - ro@suse.de +- remove .orig file for xemacs-faq +* Fri Feb 11 2005 - mfabian@suse.de +- improve i18n-setup in site-start.el: + + try to set a useful language-environment by default and + fix the unicode-precedence-list if it is broken after + set-language-environment. + + more encoding setup necessary for XEmacs >= 21.5.6 +- add patch from upstream CVS by Aidan Kehoe to support + iso8859-16 (adds support for characters like + U+201E DOUBLE LOW-9 QUOTATION MARK) +* Thu Feb 10 2005 - mfabian@suse.de +- remove configure option "--rel-alloc" because it makes + XEmacs 21.5.18 often crash when using 'compile-goto-error'. +* Fri Feb 04 2005 - schwab@suse.de +- Fix format string bug in movemail. +* Fri Feb 04 2005 - werner@suse.de +- Security fix for movemail applied (bug #50237) +* Tue Feb 01 2005 - mfabian@suse.de +- don't use LDFLAGS="-s", otherwise the xemacs-debuginfo package + will be empty. +- improve fontSet in app-defaults to avoid the warning + "Missing charsets in String to FontSet conversion". +- remove unused utf8-problem.patch +* Fri Dec 31 2004 - mfabian@suse.de +- improve DESTDIR patch. +* Tue Dec 14 2004 - werner@suse.de +- Make it build +* Fri Dec 10 2004 - mfabian@suse.de +- update to 21.5.18. +- remove xemacs-lim_data.patch (now included). +- include the fixes Werner Fink made for XEmacs 21.4.15 + (see changelog entries below from Tue Sep 28 to Wed Nov 17). +* Wed Nov 17 2004 - werner@suse.de +- Add emacs.png pixmap to file list +* Wed Oct 13 2004 - werner@suse.de +- Add workaround for XKey modifier detection even if the keys + are not marked as modifiers (bug #47192) +* Mon Oct 04 2004 - werner@suse.de +- Do not break KDE resize back call with GNOME fix (bug #46751) +* Tue Sep 28 2004 - werner@suse.de, mfabian@suse.de +- Bugzilla #45777 (xemacs in metacity can not be maximized). +- Bugzilla #46313 (mouse wheel broken in XEmacs). +* Fri Sep 24 2004 - mfabian@suse.de +- Bugzilla #46085: move encoding setup code from func-keys.el + to site-start.el and clean it up a bit. site-start.el is + *always* read and it is read late enough for the encoding setup, + there is no need for using hooks when doing this in + site-start.el. +* Mon Sep 06 2004 - schwab@suse.de +- Fix ia64 patch. +* Mon Mar 22 2004 - mfabian@suse.de +- Bugzilla: #36720 read correct app-defaults. I.e., *always* + read /usr/X11R6/lib/app-defaults/XEmacs and never read + /usr/X11R6/lib/app-defaults/Emacs. Until now, XEmacs did read + /usr/X11R6/lib/app-defaults/XEmacs if any "XEmacs" resources + were set in ~/.Xresources, otherwise it did read + /usr/X11R6/lib/app-defaults/Emacs. But the latter file is + incompatible to XEmacs and should never be read. +- use -adobe-helvetica-bold-* instead of -gnu-unifont- by default + for the menus because most users like it better. +* Mon Mar 08 2004 - mfabian@suse.de +- adapt Werner's patch for xemacs 21.5.16. +* Mon Mar 08 2004 - werner@suse.de +- Make workaround to a real fix: autoconf 2.59 does not accept + comments after cpp undef macro within config.h.in +* Fri Mar 05 2004 - werner@suse.de +- Add workaround for stat64 kernel problem and failing + (auto)configure sed parser. +* Fri Feb 27 2004 - mfabian@suse.de +- don't require 'un-define anymore in the site specific startup + code, XEmacs >= 21.5.6 has internal Unicode support. Add a + (provide 'un-define) because a user might have a + (require 'un-define) in his own startup files. +* Tue Feb 24 2004 - mfabian@suse.de +- move site-start.el and other SuSE specific startup files from + /usr/share/xemacs/%%{version}/site-packages/lisp to + /usr/share/xemacs/site-packages/lisp because site-start.el + is not loaded anymore automatically from the old location. +- change 'set-default-coding-systems to + 'set-default-output-coding-systems in func-keys.el, apparently + this function has been renamed upstream. +* Mon Feb 23 2004 - mfabian@suse.de +- update to 21.5.16. +* Sun Feb 22 2004 - mfabian@suse.de +- add missing directories to file list of xemacs-el. + This makes it possible to use "build" instead of + "build --clean". +* Fri Feb 20 2004 - mfabian@suse.de +- add destdir.patch and use buildroot and norootforbuild. +- some cleanup of the .spec file. +* Mon Feb 16 2004 - mfabian@suse.de +- disable patch for Bugzilla #34430, it does have nasty side + effects (xemacs-packages doesn't build anymore because an + "out of memory" error while byte-compiling Mule-UCS, ...) +- use a better workaround to fix the load-history instead of + dumping XEmacs twice. +* Sat Feb 14 2004 - mfabian@suse.de +- fix Bugzilla #34430 (I hope). +* Thu Feb 12 2004 - mfabian@suse.de +- update to 21.4.15. +- use -fno-strict-aliasing +* Wed Jan 21 2004 - meissner@suse.de +- ppc64 fully fixed. +* Tue Jan 20 2004 - meissner@suse.de +- Fixed ppc linker script, added ppc64 patch from emacs. + ppc32 working, ppc64 now fails a bit later. +* Mon Nov 03 2003 - schwab@suse.de +- Don't use "portable" dumper on ia64. +- Fix permissions. +* Tue Sep 02 2003 - werner@suse.de +- Fix the fix: make function keys work again (bug #29654) +* Mon Aug 25 2003 - werner@suse.de +- Fix key modifier handling, there is no slot handling + anymore but every symbol has a type (e.g. Ctr-Alt) (bug #28995) +* Sat Aug 23 2003 - mfabian@suse.de +- install desktop file only %%if %%suse_version > 820 + to make it build on older distributions as well. +* Fri Aug 22 2003 - mfabian@suse.de +- update to 21.4.13 "Rational FORTRAN". +* Fri Aug 22 2003 - mfabian@suse.de +- remove mule-ucs-xemacs and Mule-UCS-xemacs from "Provides:" + and "Obsoletes:" (moved to xemacs-packages). +* Thu Aug 21 2003 - mfabian@suse.de +- split new packages out of xemacs{,-el,-info}: + xemacs-packages{,-el,-info} +* Sat Aug 16 2003 - adrian@suse.de +- install desktop file from kappfinder +* Fri Jul 25 2003 - mfabian@suse.de +- fix race condition when generating the file list. +* Tue Jun 24 2003 - ro@suse.de +- added directories to filelist +* Tue Jun 24 2003 - ro@suse.de +- fixed filelist +* Thu Mar 13 2003 - mfabian@suse.de +- Bug #25300: call 'latin-unity-install' for non-UTF-8 locales in + site-packages/lisp/term/func-keys.el to write files in + iso-8859-15 encoding correctly without inserting + ISO-2022 escape sequences. Don't call it in UTF-8 locales! + If 'latin-unity-install' is called in a UTF-8 locale, + the behaviour of the coding systems "binary" and "no-conversion" + becomes strange, they convert to UTF-8 when writing files + with German umlauts, which is surprising for "binary". +* Thu Mar 06 2003 - kukuk@suse.de +- Remove cyrus-sasl from neededforbuild +* Fri Feb 28 2003 - mfabian@suse.de +- fix Bugzilla #23472: + generate /usr/share/xemacs/xemacs-packages/info/dir and + /usr/share/xemacs/mule-packages/info/dir and include them + in the xemacs-info package. +* Fri Feb 28 2003 - mfabian@suse.de +- include latest changes by Ben to edebug + to make it work again. The edebug as included in + sumo-2003-02-05 doesn't work at all. +- improve Werner's func-keys.el + (make XIM work right ja_JP.UTF-8 locale, load latin-unity + and latin-euro-input, append the coding-system setup stuff to + 'before-init-hook instead of adding it at the beginning because + 'mule-init is already in 'before-init-hook) +* Wed Feb 26 2003 - werner@suse.de +- Fix coding system settings: use the correct value +* Fri Feb 14 2003 - schwab@suse.de +- Fix data limit check. +* Thu Feb 06 2003 - mfabian@suse.de +- update packages to sumo-2003-02-05 + (fixes the problem that XEmacs didn't automatically switch + to c++-mode, perl-mode, etc. anymore. The initial values of + interpreter-mode-alist and auto-mode-alist are rather short + now and are dynamically changed when a package is loaded. To + make this work a sufficiently uptodate Sumo was necessary). +- disable packages-cvs-sumo-2002-09-19-comint.patch again, XEmacs + shell-mode works better with TERM=emacs and Werner added the + emacs entry to terminfo again. +- remove hunks which are included upstream from + packages-cvs-xemacs-sumo-2002-05-22-locale-start.patch + packages-cvs-sumo-2002-09-19-xslt-process.patch +* Thu Jan 30 2003 - mfabian@suse.de +- update to 21.4.12 +- add packages-cvs-sumo-2002-09-19-comint.patch: + (defvar system-suse-terminfo t) to use TERM=dumb by default + like GNU Emacs does. The previous default was TERM=emacs, which + doesn't exist in the latest terminfo. +* Mon Dec 16 2002 - mfabian@suse.de +- workaround for fontSet problem in app-defaults: + use "XEmacs*fontSet:" instead of just "*fontSet:" in the + app-defaults files. +- workaround to avoid dumping the paths to lisp files + as /usr/src/packages/BUILD/... into the xemacs executable adapted + for the portable dumper +* Fri Dec 13 2002 - mfabian@suse.de +- add /usr/X11R6/bin/xemacs-%%{version}-*.dmp to file list. +* Fri Dec 13 2002 - mfabian@suse.de +- update to 21.4.11rc1 +- update Sumo to 2002-09-19 +- remove parts of packages-cvs-xemacs-sumo-2002-03-29-ps-print.patch + which are included upstream +- use portable dumper by default +- fix Makefiles of xslt-process +* Thu Dec 12 2002 - coolo@suse.de +- use libndbm instead of libgdbm for non-GNU dbm +* Wed Nov 20 2002 - schwab@suse.de +- More autoconf fixes. +* Tue Sep 17 2002 - ro@suse.de +- removed bogus self-provides +* Mon Aug 19 2002 - mfabian@suse.de +- quick and dirty fix to make it build again. + The Makefile in the 'locale' package lists 3 .elc files with + the same name in different subdirectories. 'make install' + tries to copy them all into the same destination directory: + cp -af {ja,ro,fr}/locale-start.elc \ + /usr/share/xemacs/mule-packages/lisp/locale/ + The 'cp' from latest fileutils cowardly refuses to overwrite + the Japanese and Romanian versions of locale-start.elc with + the French version, as it did until now. + But the files in /usr/share/xemacs/mule-packages/lisp/locale/ + are apparently never read anyway, only the files from + /usr/share/xemacs/mule-packages/etc/start-files/{ja,ro,fr}/ + are read. Therefore I fixed this temporarily by not building + any locale-start.elc files which prevents installing anything + into /usr/share/xemacs/mule-packages/lisp/locale/. +- use the correct encoding for the output of + 'LC_ALL=ja_JP.eucJP xemacs --help', + 'LC_ALL=ja_JP.UTF-8 xemacs --help', and + 'LC_ALL=ja_JP.SJIS xemacs --help'. +- similar problem with 'cp' fixed in mule-ucs package +* Fri Aug 16 2002 - mfabian@suse.de +- add packages-cvs-xemacs-sumo-2002-05-22-gnus-5.8.8-utf-8.patch + to make it possible to send Mails in UTF-8 with Gnus 5.8.8. +* Sun Aug 11 2002 - mfabian@suse.de +- change # neededforbuild: + cannadev -> canna canna-devel canna-libs +* Mon Jul 22 2002 - werner@suse.de +- diff-mode: check on hunk even if file diff starts (bug #17035) +* Mon Jul 22 2002 - werner@suse.de +- Fix path expansion in apel/install.el of sumo tar ball +- Enable RPM_OPT_FLAGS for SuSE Linux version > 8.0 +* Fri Jul 05 2002 - kukuk@suse.de +- Use %%ix86 macro +* Mon Jun 10 2002 - mfabian@suse.de +- small improvement in ps-mule.el patch: + keep hanglm24.bdf as a fallback if gulim24.bdf doesn't exist. +* Wed May 29 2002 - mfabian@suse.de +- update to 21.4.8 + sumo-2002-05-22 +- remove lib64.patch, xemacs-21.4.4-printer.el.patch, + xemacs-21.4.4-moduledir.patch, + packages-cvs-xemacs-sumo-2002-03-29-xslide.patch, and + packages-cvs-xemacs-sumo-2002-03-29-liece.patch + (included upstream) +- add UTF-8 versions of translated app-defaults +- add *fontSet definitions including iso10646-1 fonts to all + app-defaults. +- add default app-defaults file + /usr/X11R6/lib/X11/app-defaults/XEmacs to get the same *fontSet + settings when starting XEmacs in an UTF-8 locale which has no + translated app-defaults file (e.g. en_US.UTF-8). +- generate the file lists for the .el and .elc files automatically + in the .spec file +* Mon May 06 2002 - schwab@suse.de +- Readd ia64 patch, suitably adapted. +- Fix lib64 configuration. +* Thu May 02 2002 - mfabian@suse.de +- fix printing with when (setq ps-multibyte-buffer 'bdf-font) + is used +* Thu Apr 25 2002 - mfabian@suse.de +- update to 21.4.6 + sumo-2002-03-29 +- the update broke the build on ppc and axp, fix it. +- Provides += mule-ucs-xemacs Mule-UCS-xemacs, + Obsoletes += mule-ucs-xemacs Mule-UCS-xemacs + (Mule-UCS 0.84 is already part of the sumos now). +- remove packages-cvs-xemacs-sumo-2001-07-09-ia64.patch, patched + file doesn't exist anymore. +- add packages-cvs-xemacs-sumo-2002-03-29-liece.patch and + packages-cvs-xemacs-sumo-2002-03-29-xslide.patch to fix build + problems in packages. +- add packages-cvs-xemacs-sumo-2002-03-29-ps-print.patch (some + fixes for CJK printing and printing with bdf fonts) +- fix file list: some new lisp packages have been added, some + old ones were removed and there were some mistakes in the file + list as well. +* Tue Apr 23 2002 - aj@suse.de +- Enable building on architectures with lib64. +- Fix compiler flags for x86. +* Thu Apr 04 2002 - schwab@suse.de +- Fix missing quotes in configure script. +* Fri Mar 08 2002 - kukuk@suse.de +- Fix file list +* Fri Feb 22 2002 - werner@suse.de +- Fix bug #13340: use correct lisp macro name of mouse wheel + screen scrolling. +* Fri Feb 01 2002 - ro@suse.de +- changed neededforbuild to +* Thu Oct 25 2001 - mfabian@suse.de +- remove "/site-packages/lisp/term/" directory from load-path +- add --moduledir configure option +- add workaround to avoid dumping the paths to lisp files + as /usr/src/packages/BUILD/... into the xemacs executable +- add pattch for big-menubar.el (thanks to ) +* Thu Oct 18 2001 - mfabian@suse.de +- fix printer.el to make 'generic-print-region' work again + under Linux like operating systems +* Fri Sep 21 2001 - mfabian@suse.de +- fix font-menu.el to make changing fonts with the menu + possible again. +* Mon Sep 10 2001 - aj@suse.de +- Remove extra space in LDFLAGS to allow building on PowerPC and + alpha. +* Wed Sep 05 2001 - werner@suse.de +- FHS: /var/state/xemacs -> /var/lib/xemacs (bug #8678) +* Mon Sep 03 2001 - aj@suse.de +- Don't sort relocation entries, otherwise dumping breaks. +* Mon Jul 02 2001 - mfabian@suse.de +- update to 21.4.4 +- remove redisplay patch (included upstream) +- remove xemacs-sumo-2000-09-04-jde.patch (jde doesn't exist + anymore in the current sumos) +- remove xemacs-sumo-2000-09-04-mc.patch (included upstream) +- remove xemacs-db3.patch (included upstream) +- rebuild XEmacs packages from the CVS tree instead of using + the sumo tarballs. This enables us to easily apply patches + and rebuild all .elc files, which is difficult with the sumos +- remove xemacs-sumo-2000-01-24-vm.patch, + xemacs-sumo-2000-09-04-ilisp.patch + (was only needed to fix problems in rebuilding the .elc files, + not necessary anymore when rebuilding the .elc from CVS). +- move xemacs-sumo-2000-09-04-ispell.patch into + packages-cvs-xemacs-sumo-2001-07-09.patch +- removed xemacs-ia64.dif (not needed anymore) +- add gpp libgpp to "# neededforbuild" (the packages contain C++ + sources) +- remove "xemacs-21.4.4-info.tar.bz2" to save some space in the + source rpm (All these info files can be rebuild from the texinfo + sources in the main source tar ball "xemacs-21.4.4.tar.bz2") +* Thu Jun 07 2001 - werner@suse.de +- A long way: Fix trouble with new autoconf +* Thu Jun 07 2001 - werner@suse.de +- Make autoconf work again +* Mon May 14 2001 - werner@suse.de +- Add mail crypt patch (bug#8300) +* Tue May 08 2001 - werner@suse.de +- Move [(shift home)] and [(shift end)] to [(control home)] and + [(control end)] to be more common with WIN XY. +- Move func-keys load from window-setup-hook to init function of + xfree of xemacs. +* Thu May 03 2001 - werner@suse.de +- Fix typo in crypt.el (bug#7525) +* Fri Apr 06 2001 - mfabian@suse.de +- commented out 'ascii-character property changes for 'delete + and 'backspace in func-keys.el, because this causes problems + when using the XEmacs <-> Canna interface (Backspace didn't + cancel the henkan anymore) +* Sun Apr 01 2001 - schwab@suse.de +- Fix ia64 support. +- Add support for Berkeley DB3 from CVS. +* Fri Mar 30 2001 - werner@suse.de +- Keybinding + Change [(home)] from beginning-of-buffer to beginning-of-line + Change [(end)] from end-of-buffer to end-of-line + Add [(shift home)] for beginning-of-buffer + Add [(shift end)] for end-of-buffer +- Basic wheel mouse support +* Thu Mar 15 2001 - ro@suse.de +- changed neededforbuild for openldap2 +* Thu Mar 15 2001 - ro@suse.de +- fixed neededforbuild for openldap +* Mon Feb 05 2001 - werner@suse.de +- Add LDAP on configuration +* Mon Feb 05 2001 - werner@suse.de +- Security update to 21.1.14 +* Mon Jan 22 2001 - mfabian@suse.de +- installed pcl-cvs package as well (it was disabled due to + problems with this packages, but it seems to work fine now, + so it can be enabled again). +* Tue Nov 21 2000 - werner@suse.de +- Remove swapping of kp-separator/kp-decimal because it's + done in xkbd map for german keyboards +* Tue Nov 21 2000 - werner@suse.de +- Move package names + * from xe_exec to xemacs + * from xe_lisp to xemacs-el + * from xe_info to xemacs-info +- Add kvt.el and gnome.el for the terminal kvt and gnome-terminal +- Make ispell.el compatible ispell-emacs-menu.el +* Fri Nov 17 2000 - mfabian@suse.de +- Build with support for FreeWnn. +- added redisplay patch important for Japanese + (see http://www.xemacs.org/list-archives/xemacs-beta/199912/msg00376.html) +* Tue Oct 24 2000 - werner@suse.de +- Replace `@AUCDIR' kludge from lisp/auctex/tex-site.el by the + location of the auctex data directory (etc/auctex/). +- Use a more generally printer setup for auctex. +* Mon Oct 23 2000 - aj@suse.de +- Build with X-Face support. +* Sun Sep 17 2000 - schwab@suse.de +- Add support for ia64. +- Fix typo in configure.in. +* Fri Sep 15 2000 - werner@suse.de +- Dump cl-macs into xemacs to avoid nasty loading messages +- Fix byte compiling of jde, mew, and ilisp packages +* Fri Sep 08 2000 - werner@suse.de +- Correct file list +- make tar's bzip2ed +- add xterm Ctrl+cursor keys +- move dif from 2.1.10 to 2.1.12 +* Thu Sep 07 2000 - aj@suse.de +- Update to XEmacs 21.1.12 and Sumo packages from 2000-09-04. +* Thu Jul 13 2000 - mfabian@suse.de +- cannadev is needed for build to get Canna support compiled in. +- added support for international menubars. +* Thu Jun 29 2000 - werner@suse.de +- remove circular dependency between xe_exec and xe_info +* Mon May 29 2000 - aj@suse.de +- Update to XEmacs 21.1.10 and current packages (except pcl-cvs + which has some problems) +* Wed Apr 05 2000 - bk@suse.de +- needs automake for update config.{sub,guess} macro +* Tue Apr 04 2000 - bk@suse.de +- s390 team added support for s390 +* Thu Feb 17 2000 - aj@suse.de +- Added Y2k patch for vc, fixed scaled font handling. +* Mon Feb 07 2000 - kasal@suse.de +- app-defaults files should be %%config +* Thu Jan 27 2000 - ro@suse.de +- specfile: re-done %%setup section for new tar +* Tue Jan 25 2000 - werner@suse.de +- New version 21.1.8 +- New tarballs 2000-01-24 +- New fix for vm package +- /usr/man -> /usr/share/man +* Fri Jan 14 2000 - werner@suse.de +- Fix vm package: macros arn't autoloadable by xemacs 21.x +* Wed Dec 22 1999 - werner@suse.de +- Uh: install and pack some missed scripts +* Wed Dec 01 1999 - werner@suse.de +- Fix pty handling: use glibc extension +* Thu Nov 11 1999 - werner@suse.de +- Fix the site-package extension + * ispell menus + * xterm/console key mappings +- Fix font menu: set `ignore scaled fonts' to nil +* Fri Nov 05 1999 - werner@suse.de +- Change file list of xe_info and xe_lisp +* Thu Nov 04 1999 - werner@suse.de +- Remove libgif from required packages +* Sat Oct 30 1999 - ro@suse.de +- modified filelist for nonx86 +- removed libz from neededforbuild: it's default +* Fri Oct 29 1999 - werner@suse.de +- Remove `with system malloc' because the last patch seems + to help. Without system malloc we see more speed +* Thu Oct 28 1999 - werner@suse.de +- Add patch for glibc and __malloc_hook +* Tue Oct 26 1999 - werner@suse.de +- New glibc requires `with system malloc' +* Wed Oct 20 1999 - werner@suse.de +- Last checks +* Wed Oct 20 1999 - werner@suse.de +- New version 21.1.7 + * avoid locale problems due to lisp formats of time e.g. +- Use xemacs-mule-sumo-1999-05-27.tar.gz to avoid trouble + with not synched mule versions of xemacs and mule-sumo +- Use xemacs-sumo-1999-07-29.tar.gz + * Many bug fixes due to missed load statements and + minor version comparision: (19.)13 > (21.)1 +- Add the already used bug fixes and changes + * security + * ispell menu + * dinbrief.el for auctex + * ... +- Store xemacs in /usr/share/xemacs// + and /usr//xemacs// +- Move info to /usr/share/xemacs/info/ +- Enable site-lisp and move it to /usr/share/xemacs/site-lisp/ +- Make configured in paths work +* Mon Sep 27 1999 - bs@suse.de +- fixed requirements for sub packages +* Mon Sep 13 1999 - bs@suse.de +- ran old prepare_spec on spec file to switch to new prepare_spec. +* Fri Aug 13 1999 - werner@suse.de +- fix locale handling of xemacs + * overwrite LC_NUMERIC, LC_TIME, and LC_MESSAGES to + "C" to get something what can xemacs can handle +- fix dinbrief.el +* Mon Apr 05 1999 - bs@suse.de +- fixed date strings in .changes. +* Mon Mar 08 1999 - werner@suse.de +- Remove site-lisp/ispell.el* to use the dynamic + rebuild of the Spell menu of the ispell package +- Create a site-start.el to do that +* Thu Nov 12 1998 - bs@suse.de +- fixed spec file for new rpm. +* Tue Nov 03 1998 - werner@suse.de +- Change names of languages and encoding style in ispell + from `language (encod)' to `language-encod' +* Tue Jul 28 1998 - werner@suse.de +- Do not use system malloc ... some parts of xemacs arn't + smart enough for that. +- Disable const +* Mon Jul 27 1998 - werner@suse.de +- Use redhat patch for alpha ... means make it work for all + arch's. This because I do not want use ordinary linkage which + may causes the troubles seen with xemacs and shared libs. +* Mon Jul 20 1998 - werner@suse.de +- use mktemp if avaliable +* Fri Jul 10 1998 - werner@suse.de +- Check all script in lib-src against tmp exploits +- Fix pstogif (exploit and uninitialized variables) +- Add disp-table to site-load +* Thu Jul 09 1998 - werner@suse.de +- Add american to the (i)spell menu +- Use -fno-force-mem (egcs-bug) +- Use -rpath-link /usr/X11R6/lib +- Avoid multiple common +- Remove and set some CONST +* Wed May 27 1998 - werner@suse.de +- Use Xaw3d instead of Xaw to avoid trouble with xaw3dd +- Change pop service "pop" to "pop3" +* Tue Mar 03 1998 - werner@suse.de +- New version 20.4 +- Same changes done for 20.3 (hacked ispell.el for our new ditcs) +- Fix the change doe for viper-ex.el +- Remove ctags (own package), send-pr and install-sid (gnats) + out of /usr/X11R6/bin/ +* Wed Feb 11 1998 - werner@suse.de +- New version 20.3 + * Dead keys seems to work + * Now BS and DEL are distinct +- Some changes, e.g. hacked ispell.el for our new ditcs +* Thu Nov 06 1997 - werner@suse.de +- New version 20.2 +- Add XFree86 deadlock keys to x-compose.el and x-iso8859-1.el +- Some changes +* Fri Jul 18 1997 - werner@suse.de +- New patchlevel 19.15pl7 +- Remove one change of a patch to save choosen fonts in + `save options' +- Add deadlock keys to x-compose.el and x-iso8859-1.el +* Sun May 25 1997 - werner@suse.de +- New version: 19.15 +- some changes in keycode under TERM=xterm (term/xterm.el) +- info goes to /usr/X11R6/lib/xemacs/info/ +* Tue Feb 04 1997 - werner@suse.de +- Aufraeumen von term/linux.el und term/xterm.el: + Statt setzten von delete/backspace wird nun + delbackspace.el verwendet. +- Fix in einer Info-Seite +* Thu Jan 02 1997 - werner@suse.de +- Neue Version von Xemacs: 19.14 +- Anpassungen an TERM=linux, TERM=xterm +- Delete loescht Zeichen unter dem Cursor diff --git a/xemacs.test b/xemacs.test new file mode 100644 index 0000000..fd8925d --- /dev/null +++ b/xemacs.test @@ -0,0 +1,31 @@ + Testform fr xemacs + =================== + +08.09.2000: Version 21.1.12 +Maintainer: werner + +Vorraussetzungen: +================= + +X _und_ libz, libjpeg, libpng, libgbdm, libdb, libtiff sollten installiert sein. + +Starten: +======== + + xemacs + xemacs -nw + xemacs -q -vanilla + xemacs -nw -q -vanilla + als Editor von mailx/elm/pine ... + + + Testen mit verschiedensten File-Typen (*.tex, man-pages. + *.html, info-mode, gnus, rmail, ...) + + Testen von pop-mail (?) + + +Ergebnisse: +=========== + +Hngt von der gewhlten mode ab.