diff --git a/bnc558764_avoid-xft-if-absent.patch b/bnc558764_avoid-xft-if-absent.patch deleted file mode 100644 index 2a42dc8..0000000 --- a/bnc558764_avoid-xft-if-absent.patch +++ /dev/null @@ -1,47 +0,0 @@ -diff -r 1257b938f03a lisp/ChangeLog ---- lisp/ChangeLog Fri Dec 04 10:59:45 2009 +0900 -+++ lisp/ChangeLog Sat Dec 05 01:08:29 2009 +0900 -@@ -1,3 +1,8 @@ -+2009-12-05 Stephen J. Turnbull -+ -+ * font.el (x-font-create-object): Check for Xft before using it. -+ This fixes the symptom in openSUSE bug #558764. -+ - 2009-11-10 Jerry James - - * device.el (device-type): Remove (mostly imaginary) support for -diff -r 1257b938f03a lisp/font.el ---- lisp/font.el Fri Dec 04 10:59:45 2009 +0900 -+++ lisp/font.el Sat Dec 05 01:08:29 2009 +0900 -@@ -569,6 +569,7 @@ - (if (or (not (stringp fontname)) - (not (string-match font-x-font-regexp fontname))) - (if (and (stringp fontname) -+ (featurep 'xft-fonts) - (string-match font-xft-font-regexp fontname)) - ;; Return an XFT font. - (xft-font-create-object fontname) -diff -r 1257b938f03a src/ChangeLog ---- src/ChangeLog Fri Dec 04 10:59:45 2009 +0900 -+++ src/ChangeLog Sat Dec 05 01:08:29 2009 +0900 -@@ -1,3 +1,8 @@ -+2009-12-05 Stephen J. Turnbull -+ -+ * faces.c (complex_vars_of_faces): Explain why "*" isn't rewritten -+ as a full XLFD. -+ - 2009-11-19 Vin Shelton - - * sysdep.c (sys_subshell): Restore sys_subshell(); it's necessary -diff -r 1257b938f03a src/faces.c ---- src/faces.c Fri Dec 04 10:59:45 2009 +0900 -+++ src/faces.c Sat Dec 05 01:08:29 2009 +0900 -@@ -2342,6 +2342,8 @@ - Fcons - (Fcons - (list1 (device_symbol), -+ /* grrr. This really does need to be "*", not an XLFD. -+ An unspecified XLFD won't pick up stuff like 10x20. */ - build_string ("*")), - inst_list); - #ifdef MULE diff --git a/bugzilla-294746-set-language-unicode-precedence-list-at-startup.patch b/bugzilla-294746-set-language-unicode-precedence-list-at-startup.patch deleted file mode 100644 index a28c43b..0000000 --- a/bugzilla-294746-set-language-unicode-precedence-list-at-startup.patch +++ /dev/null @@ -1,14 +0,0 @@ -Index: xemacs-21.5.29/lisp/startup.el -=================================================================== ---- xemacs-21.5.29.orig/lisp/startup.el -+++ xemacs-21.5.29/lisp/startup.el -@@ -720,6 +720,9 @@ If this is nil, no message will be displ - ;; initialisation in case of keysyms of the form UABCD. - (when (featurep 'mule) - (declare-fboundp (init-mule-at-startup))) -+ -+ (set-language-unicode-precedence-list -+ '(ascii latin-iso8859-1 latin-iso8859-2 latin-iso8859-3 latin-iso8859-4 jit-ucs-charset-0 thai-tis620 greek-iso8859-7 arabic-iso8859-6 hebrew-iso8859-8 katakana-jisx0201 latin-jisx0201 cyrillic-iso8859-5 latin-iso8859-9 latin-iso8859-15 composite control-1 japanese-jisx0208-1978 chinese-gb2312 japanese-jisx0208 korean-ksc5601 japanese-jisx0212 chinese-cns11643-1 chinese-cns11643-2 chinese-big5-1 chinese-big5-2 arabic-digit arabic-1-column arabic-2-column chinese-sisheng latin-iso8859-16 indian-is13194 lao latin-iso8859-14 ipa vietnamese-viscii-upper vietnamese-viscii-lower jit-ucs-charset-0 chinese-cns11643-3 chinese-cns11643-4 chinese-cns11643-5 chinese-cns11643-6 chinese-cns11643-7 chinese-isoir165 ethiopic indian-2-column indian-1-column japanese-jisx0213-1 japanese-jisx0213-2 thai-xtis tibetan tibetan-1-column)) - - (if (featurep 'toolbar) - (if (featurep 'infodock) diff --git a/build-fix-ccl-load-problem.patch b/build-fix-ccl-load-problem.patch deleted file mode 100644 index 6eec81b..0000000 --- a/build-fix-ccl-load-problem.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -ru xemacs-21.5.28.20070730.orig/lisp/setup-paths.el xemacs-21.5.28.20070730/lisp/setup-paths.el ---- xemacs-21.5.28.20070730.orig/lisp/setup-paths.el 2007-05-07 16:27:21.000000000 +0200 -+++ xemacs-21.5.28.20070730/lisp/setup-paths.el 2007-07-31 18:16:38.000000000 +0200 -@@ -46,7 +46,7 @@ - ;(setq debug-paths t) - - --(defvar paths-core-load-path-depth 0 -+(defvar paths-core-load-path-depth 1 - "Depth of load-path searches in core Lisp paths.") - - (defvar paths-site-load-path-depth 1 diff --git a/changeset-dec62ca5a899.patch b/changeset-dec62ca5a899.patch deleted file mode 100644 index 11625b2..0000000 --- a/changeset-dec62ca5a899.patch +++ /dev/null @@ -1,148 +0,0 @@ - -# HG changeset patch -# User Stephen J. Turnbull -# Date 1259891798 -32400 -# Node ID dec62ca5a899f41688a663765df1aefddfae6351 -# Parent 75975fd0b7fc8043f7fc719439c225fa739134d9 -Prevent font frobbers from operating on TTY specs. - ---- lisp/ChangeLog Wed Nov 18 22:44:28 2009 +0900 -+++ lisp/ChangeLog Fri Dec 04 10:56:38 2009 +0900 -@@ -79,6 +79,20 @@ - Update docstring. - (narrow-to-defun): - Document that optional ARG is ignored. -+ -+2009-11-01 Stephen Turnbull -+ -+ * faces.el (Face-frob-property): -+ Give mapper for TTYs 2 args. -+ (make-face-family): -+ (make-face-size): -+ Generic mapper ignores TTYs and null devices. -+ (make-face-bold): -+ (make-face-italic): -+ (make-face-bold-italic): -+ (make-face-unbold): -+ (make-face-unitalic): -+ TTY mapper takes 2 args. - - 2009-10-09 Stephen Turnbull - ---- lisp/faces.el Wed Nov 18 22:44:28 2009 +0900 -+++ lisp/faces.el Fri Dec 04 10:56:38 2009 +0900 -@@ -933,10 +933,11 @@ - ;; and EXACT-P are as in that call. UNFROBBED-FACE and FROBBED-FACE are - ;; what we expect the original face and the result to look like, - ;; respectively. TTY-PROPS is a list of face properties to frob in place -- ;; of `font' for TTY's. FROB-MAPPING is either a plist mapping device -+ ;; of `font' for TTYs. FROB-MAPPING is either a plist mapping device - ;; types to functions of two args (NAME DEVICE) that will frob the -- ;; instantiator as appropriate for the device type (this includes TTY's), -- ;; or a function to handle the mapping for all device types. -+ ;; instantiator to NAME as appropriate for DEVICE's type (this includes -+ ;; TTYs #### TTYs are not passed the device, just the symbol 'tty), or a -+ ;; function to handle the mapping for all device types. - ;; STANDARD-FACE-MAPPING is an alist of mappings of inheritance - ;; instantiators to be replaced with other inheritance instantiators, meant - ;; for e.g. converting [bold] into [bold-italic]. -@@ -1038,7 +1039,11 @@ - (t - (let ((value - (if (eq devtype-spec 'tty) -- (funcall mapper x) -+ ;; #### not quite right but need -+ ;; two args to match documentation -+ ;; mostly we just ignore TTYs so -+ ;; for now just pass the devtype -+ (funcall mapper x 'tty) - (funcall mapper x - (derive-domain-from-locale - locale devtype-spec -@@ -1193,11 +1198,16 @@ - - (Face-frob-property face locale tags exact-p - nil nil 'font nil -+ ;; #### this code is duplicated in make-face-size - `(lambda (f d) -- ;; keep the dependency on font.el for now -- (let ((fo (font-create-object f d))) -- (set-font-family fo ,family) -- (font-create-name fo d))) -+ ;; keep the dependency on font.el for now -+ ;; #### The filter on null d is a band-aid. -+ ;; Frob-face-property should not be passing in -+ ;; null devices. -+ (unless (or (null d) (eq d 'tty)) -+ (let ((fo (font-create-object f d))) -+ (set-font-family fo ,family) -+ (font-create-name fo d)))) - nil)) - - ;; Style (ie, typographical face) frobbing -@@ -1311,7 +1321,7 @@ - (interactive (list (read-face-name "Make which face bold: "))) - (Face-frob-property face locale tags exact-p - 'default 'bold 'font '(highlight) -- '(tty (lambda (x) t) -+ '(tty (lambda (f d) t) - x x-make-font-bold - gtk gtk-make-font-bold - mswindows mswindows-make-font-bold -@@ -1330,7 +1340,7 @@ - (interactive (list (read-face-name "Make which face italic: "))) - (Face-frob-property face locale tags exact-p - 'default 'italic 'font '(underline) -- '(tty (lambda (x) t) -+ '(tty (lambda (f d) t) - x x-make-font-italic - gtk gtk-make-font-italic - mswindows mswindows-make-font-italic -@@ -1349,7 +1359,7 @@ - (interactive (list (read-face-name "Make which face bold-italic: "))) - (Face-frob-property face locale tags exact-p - 'default 'bold-italic 'font '(underline highlight) -- '(tty (lambda (x) t) -+ '(tty (lambda (f d) t) - x x-make-font-bold-italic - gtk gtk-make-font-bold-italic - mswindows mswindows-make-font-bold-italic -@@ -1369,7 +1379,7 @@ - (interactive (list (read-face-name "Make which face non-bold: "))) - (Face-frob-property face locale tags exact-p - 'bold 'default 'font '(highlight) -- '(tty (lambda (x) nil) -+ '(tty (lambda (f d) nil) - x x-make-font-unbold - gtk gtk-make-font-unbold - mswindows mswindows-make-font-unbold -@@ -1388,7 +1398,7 @@ - (interactive (list (read-face-name "Make which face non-italic: "))) - (Face-frob-property face locale tags exact-p - 'italic 'default 'font '(underline) -- '(tty (lambda (x) nil) -+ '(tty (lambda (f d) nil) - x x-make-font-unitalic - gtk gtk-make-font-unitalic - mswindows mswindows-make-font-unitalic -@@ -1408,11 +1418,16 @@ - (read-number "Size to set: " t 10))) - (Face-frob-property face locale tags exact-p - nil nil 'font nil -+ ;; #### this code is duplicated in make-face-family - `(lambda (f d) - ;; keep the dependency on font.el for now -- (let ((fo (font-create-object f d))) -- (set-font-size fo ,size) -- (font-create-name fo d))) -+ ;; #### The filter on null d is a band-aid. -+ ;; Frob-face-property should not be passing in -+ ;; null devices. -+ (unless (or (null d) (eq d 'tty)) -+ (let ((fo (font-create-object f d))) -+ (set-font-size fo ,size) -+ (font-create-name fo d)))) - nil)) - - ;; Why do the following two functions lose so badly in so many - diff --git a/destdir.patch b/destdir.patch index 4c7dd13..2f84678 100644 --- a/destdir.patch +++ b/destdir.patch @@ -1,8 +1,6 @@ -Index: xemacs-21.5.29/Makefile.in.in -=================================================================== ---- xemacs-21.5.29.orig/Makefile.in.in -+++ xemacs-21.5.29/Makefile.in.in -@@ -61,6 +61,8 @@ RECURSIVE_MAKE_ARGS= +--- Makefile.in.in ++++ Makefile.in.in 2012-03-02 00:00:00.000000000 +0000 +@@ -59,6 +59,8 @@ RECURSIVE_MAKE_ARGS= RECURSIVE_MAKE_ARGS=@RECURSIVE_MAKE_ARGS@ #endif @@ -11,7 +9,7 @@ Index: xemacs-21.5.29/Makefile.in.in SHELL = /bin/sh LANG = C LC_ALL = C -@@ -394,18 +396,18 @@ install-arch-dep: mkdir +@@ -398,18 +400,18 @@ install-arch-dep: mkdir (cd ./$${subdir} && $(MAKE) $(RECURSIVE_MAKE_ARGS) install prefix=${prefix} \ exec_prefix=${exec_prefix} bindir=${bindir} libdir=${libdir} \ archlibdir=${archlibdir}) ; done @@ -35,7 +33,7 @@ Index: xemacs-21.5.29/Makefile.in.in #endif #ifdef WIN32_NATIVE ${INSTALL_PROGRAM} src/${PROGNAME} ${bindir}/${PROGNAME} -@@ -417,10 +417,10 @@ install-arch-dep: mkdir +@@ -421,20 +423,20 @@ install-arch-dep: mkdir cd ${bindir} && $(RM) ./${PROGNAME} && ${LN_S} ${PROGNAME}-${version}.exe ./${PROGNAME} cd ${bindir} && $(RM) ./${SHEBANG_PROGNAME} && ${LN_S} ${PROGNAME}-${version}.exe ./${SHEBANG_PROGNAME} # else @@ -50,10 +48,6 @@ Index: xemacs-21.5.29/Makefile.in.in # endif /* CYGWIN */ #endif /* WIN32_NATIVE */ #ifdef HAVE_SHLIB -@@ -435,13 +437,13 @@ install-arch-dep: mkdir - done; \ - fi - #ifdef HAVE_SHLIB - $(INSTALL_DATA) $(srcdir)/modules/auto-autoloads.* $(moduledir) + $(INSTALL_DATA) $(srcdir)/modules/auto-autoloads.* $(DESTDIR)$(moduledir) #endif @@ -66,7 +60,7 @@ Index: xemacs-21.5.29/Makefile.in.in "`(cd $${dir} && $(pwd))`"; then \ : do nothing - echo "rm -rf $$1" ; \ fi ; \ -@@ -449,35 +451,35 @@ install-arch-indep: mkdir info +@@ -442,35 +444,35 @@ install-arch-indep: mkdir info done -set ${COPYDESTS} ; \ for dir in ${COPYDESTS} ; do \ @@ -114,7 +108,7 @@ Index: xemacs-21.5.29/Makefile.in.in done @echo "If you would like to save approximately 4M of disk space, do" @echo "make gzip-el" -@@ -487,19 +489,23 @@ install-arch-indep: mkdir info +@@ -480,19 +482,23 @@ install-arch-indep: mkdir info @echo "${lispdir}" gzip-el: @@ -143,21 +137,20 @@ Index: xemacs-21.5.29/Makefile.in.in ## Install bundled packages, if present. -Index: xemacs-21.5.29/etc/tests/external-widget/Makefile -=================================================================== ---- xemacs-21.5.29.orig/etc/tests/external-widget/Makefile -+++ xemacs-21.5.29/etc/tests/external-widget/Makefile -@@ -1,3 +1,5 @@ +--- etc/tests/external-widget/Makefile ++++ etc/tests/external-widget/Makefile 2012-03-02 00:00:00.000000000 +0000 +@@ -16,6 +16,8 @@ + ## You should have received a copy of the GNU General Public License + ## along with XEmacs. If not, see . + +DESTDIR= + CFLAGS += -Xc -g -DTOOLTALK EMACSHOME = ../../.. EMACSLIBDIR = $(EMACSHOME)/editor/src -Index: xemacs-21.5.29/lib-src/Makefile.in.in -=================================================================== ---- xemacs-21.5.29.orig/lib-src/Makefile.in.in -+++ xemacs-21.5.29/lib-src/Makefile.in.in -@@ -24,6 +24,8 @@ +--- lib-src/Makefile.in.in ++++ lib-src/Makefile.in.in 2012-03-02 00:00:00.000000000 +0000 +@@ -22,6 +22,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? */ @@ -166,7 +159,7 @@ Index: xemacs-21.5.29/lib-src/Makefile.in.in ## For performance and consistency, no built-in rules .SUFFIXES: .SUFFIXES: .c .h .o -@@ -246,26 +248,26 @@ do-blessmail: $(blessmail) +@@ -242,26 +244,26 @@ do-blessmail: $(blessmail) ## just run them directly from lib-src. ${archlibdir}: all @echo; echo "Installing utilities run internally by XEmacs." @@ -198,37 +191,31 @@ Index: xemacs-21.5.29/lib-src/Makefile.in.in done uninstall: -Index: xemacs-21.5.29/lwlib/Makefile.in.in -=================================================================== ---- xemacs-21.5.29.orig/lwlib/Makefile.in.in -+++ xemacs-21.5.29/lwlib/Makefile.in.in -@@ -22,6 +22,8 @@ - ## the Free Software Foundation, Inc., 59 Temple Place - Suite 330, - ## Boston, MA 02111-1307, USA. +--- lwlib/Makefile.in.in ++++ lwlib/Makefile.in.in 2012-03-02 00:00:00.000000000 +0000 +@@ -21,6 +21,8 @@ + ## along with the Lucid Widget Library. If not, see + ## . +DESTDIR= + ## For performance and consistency, no built-in rules .SUFFIXES: .SUFFIXES: .c .h .o .i .s -Index: xemacs-21.5.29/man/Makefile -=================================================================== ---- xemacs-21.5.29.orig/man/Makefile -+++ xemacs-21.5.29/man/Makefile -@@ -20,6 +20,8 @@ - # the Free Software Foundation, Inc., 59 Temple Place - Suite 330, - # Boston, MA 02111-1307, USA. +--- man/Makefile ++++ man/Makefile 2012-03-02 00:00:00.000000000 +0000 +@@ -18,6 +18,8 @@ + # You should have received a copy of the GNU General Public License + # along with XEmacs. If not, see . +DESTDIR= + SHELL = /bin/sh MAKEINFO = makeinfo TEXI2DVI = texi2dvi -Index: xemacs-21.5.29/modules/base64/Makefile -=================================================================== ---- xemacs-21.5.29.orig/modules/base64/Makefile -+++ xemacs-21.5.29/modules/base64/Makefile -@@ -7,6 +7,8 @@ +--- modules/base64/Makefile ++++ modules/base64/Makefile 2012-03-02 00:00:00.000000000 +0000 +@@ -25,6 +25,8 @@ # 'installed'. # @@ -237,11 +224,9 @@ Index: xemacs-21.5.29/modules/base64/Makefile SHELL=/bin/sh RM=rm -f CC=../../lib-src/ellcc -Index: xemacs-21.5.29/modules/common/Makefile.common -=================================================================== ---- xemacs-21.5.29.orig/modules/common/Makefile.common -+++ xemacs-21.5.29/modules/common/Makefile.common -@@ -31,6 +31,8 @@ +--- modules/common/Makefile.common ++++ modules/common/Makefile.common 2012-03-02 00:00:00.000000000 +0000 +@@ -29,6 +29,8 @@ #define NOT_C_CODE #include "../../src/config.h" @@ -250,7 +235,7 @@ Index: xemacs-21.5.29/modules/common/Makefile.common SHELL=/bin/sh RM=rm -f PROGNAME=@PROGNAME@ -@@ -98,7 +100,7 @@ extraclean: realclean +@@ -96,7 +98,7 @@ extraclean: realclean -$(RM) *~ \#* install: $(OBJECT_TO_BUILD) @@ -259,11 +244,9 @@ Index: xemacs-21.5.29/modules/common/Makefile.common ## ## Local Variables: -Index: xemacs-21.5.29/modules/zlib/Makefile -=================================================================== ---- xemacs-21.5.29.orig/modules/zlib/Makefile -+++ xemacs-21.5.29/modules/zlib/Makefile -@@ -8,6 +8,8 @@ +--- modules/zlib/Makefile ++++ modules/zlib/Makefile 2012-03-02 00:00:00.000000000 +0000 +@@ -26,6 +26,8 @@ # 'installed'. # @@ -272,33 +255,9 @@ Index: xemacs-21.5.29/modules/zlib/Makefile SHELL=/bin/sh RM=rm -f CC=../../lib-src/ellcc -Index: xemacs-21.5.29/netinstall/Makefile.in.in -=================================================================== ---- xemacs-21.5.29.orig/netinstall/Makefile.in.in -+++ xemacs-21.5.29/netinstall/Makefile.in.in -@@ -14,6 +14,8 @@ - ## - ## Makefile for Cygwin installer - -+DESTDIR= -+ - ## For performance and consistency, no built-in rules - .SUFFIXES: - .SUFFIXES: .c .cc .h .o -@@ -173,7 +175,7 @@ setup-bin.ini: - 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 -Index: xemacs-21.5.29/src/Makefile.in.in -=================================================================== ---- xemacs-21.5.29.orig/src/Makefile.in.in -+++ xemacs-21.5.29/src/Makefile.in.in -@@ -39,6 +39,8 @@ RECURSIVE_MAKE_ARGS= +--- src/Makefile.in.in ++++ src/Makefile.in.in 2012-03-02 00:00:00.000000000 +0000 +@@ -37,6 +37,8 @@ RECURSIVE_MAKE_ARGS= RECURSIVE_MAKE_ARGS=@RECURSIVE_MAKE_ARGS@ #endif @@ -307,7 +266,7 @@ Index: xemacs-21.5.29/src/Makefile.in.in PROGNAME=@PROGNAME@ prefix=@prefix@ SRC=@srcdir@ -@@ -1065,7 +1067,7 @@ relock: +@@ -1019,7 +1021,7 @@ relock: #ifdef HAVE_SHLIB MAKEPATH=../lib-src/make-path install: $(PROGNAME) @@ -316,7 +275,7 @@ Index: xemacs-21.5.29/src/Makefile.in.in -@echo "Copying include files for ellcc..." -@hdir=`pwd`; \ cd $(SRC); hdrdir2=`pwd`; cd $$hdir; \ -@@ -1079,12 +1081,12 @@ install: $(PROGNAME) +@@ -1033,12 +1035,12 @@ install: $(PROGNAME) test -d s && hdrtars="$$hdrtars s/*"; \ test -d m && hdrtars="$$hdrtars m/*"; \ test -n "$$hdrtars" && (tar cf - $$hdrtars) | \ @@ -335,11 +294,9 @@ Index: xemacs-21.5.29/src/Makefile.in.in done) #endif -Index: xemacs-21.5.29/tests/tooltalk/Makefile -=================================================================== ---- xemacs-21.5.29.orig/tests/tooltalk/Makefile -+++ xemacs-21.5.29/tests/tooltalk/Makefile -@@ -12,6 +12,8 @@ +--- tests/tooltalk/Makefile ++++ tests/tooltalk/Makefile 2012-03-02 00:00:00.000000000 +0000 +@@ -27,6 +27,8 @@ ### Code: diff --git a/gnomebug.patch b/gnomebug.patch deleted file mode 100644 index 85a6183..0000000 --- a/gnomebug.patch +++ /dev/null @@ -1,247 +0,0 @@ -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/menus-always-utf8.patch b/menus-always-utf8.patch index 3768414..7243846 100644 --- a/menus-always-utf8.patch +++ b/menus-always-utf8.patch @@ -1,8 +1,8 @@ -Index: xemacs-21.5.29/lwlib/xlwmenu.c +Index: xemacs-21.5.31/lwlib/xlwmenu.c =================================================================== ---- xemacs-21.5.29.orig/lwlib/xlwmenu.c -+++ xemacs-21.5.29/lwlib/xlwmenu.c -@@ -344,12 +344,12 @@ string_width (XlwMenuWidget mw, +--- xemacs-21.5.31.orig/lwlib/xlwmenu.c ++++ xemacs-21.5.31/lwlib/xlwmenu.c +@@ -343,12 +343,12 @@ string_width (XlwMenuWidget mw, #else # ifdef USE_XFONTSET XRectangle ri, rl; @@ -10,14 +10,14 @@ Index: xemacs-21.5.29/lwlib/xlwmenu.c + Xutf8TextExtents (mw->menu.font_set, s, strlen (s), &ri, &rl); return rl.width; # else - #ifdef USE_XFT_MENUBARS + #ifdef HAVE_XFT_MENUBARS XGlyphInfo glyphinfo; - XftTextExtents8 (XtDisplay (mw), mw->menu.renderFont, (FcChar8 *) s, + XftTextExtentsUtf8 (XtDisplay (mw), mw->menu.renderFont, (FcChar8 *) s, strlen (s), &glyphinfo); return glyphinfo.xOff; #else -@@ -436,11 +436,11 @@ string_width_u (XlwMenuWidget mw, +@@ -435,11 +435,11 @@ string_width_u (XlwMenuWidget mw, return width; #else # ifdef USE_XFONTSET @@ -25,13 +25,13 @@ Index: xemacs-21.5.29/lwlib/xlwmenu.c + Xutf8TextExtents (mw->menu.font_set, newchars, j, &ri, &rl); return rl.width; # else /* ! USE_XFONTSET */ - #ifdef USE_XFT_MENUBARS + #ifdef HAVE_XFT_MENUBARS - XftTextExtents8 (XtDisplay (mw), mw->menu.renderFont, (FcChar8 *) newchars, + XftTextExtentsUtf8 (XtDisplay (mw), mw->menu.renderFont, (FcChar8 *) newchars, j, &glyphinfo); return glyphinfo.xOff; #else -@@ -770,7 +770,7 @@ x_xft_text_width (Display *dpy, XftFont +@@ -769,7 +769,7 @@ x_xft_text_width (Display *dpy, XftFont { static XGlyphInfo glyphinfo; @@ -40,7 +40,7 @@ Index: xemacs-21.5.29/lwlib/xlwmenu.c xft_font, (FcChar8 *) run, len, &glyphinfo); return glyphinfo.xOff; -@@ -817,12 +817,12 @@ string_draw (XlwMenuWidget mw, +@@ -816,12 +816,12 @@ string_draw (XlwMenuWidget mw, x_xft_text_width (display, renderFont, string, strlen (string)), renderFont->ascent + renderFont->descent); /* XXX */ /* draw text */ @@ -55,7 +55,7 @@ Index: xemacs-21.5.29/lwlib/xlwmenu.c x, y + mw->menu.font_ascent, string, strlen (string)); # else XDrawString (XtDisplay (mw), window, gc, -@@ -878,10 +878,10 @@ string_draw_range ( +@@ -877,10 +877,10 @@ string_draw_range ( if (end <= start) return 0; @@ -68,7 +68,7 @@ Index: xemacs-21.5.29/lwlib/xlwmenu.c mw->menu.font_set, &string[start], end - start, &ri, &rl); return rl.width; # else -@@ -904,12 +904,12 @@ string_draw_range ( +@@ -903,12 +903,12 @@ string_draw_range ( renderFont, &string[start], end - start), renderFont->ascent + renderFont->descent); /* XXX */ /* draw text */ diff --git a/ndbm.patch b/ndbm.patch deleted file mode 100644 index 5ae6bde..0000000 --- a/ndbm.patch +++ /dev/null @@ -1,31 +0,0 @@ -Index: xemacs-21.5.29/configure.ac -=================================================================== ---- xemacs-21.5.29.orig/configure.ac -+++ xemacs-21.5.29/configure.ac -@@ -5419,8 +5419,8 @@ fi - - 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], [ - AC_CHECK_LIB(gdbm_compat, dbm_open, [ - enable_database_gdbm=yes enable_database_dbm=no libdbm="-lgdbm_compat -lgdbm"], [ - if test "$enable_database_gdbm" = "yes"; then ---- xemacs-beta-b604d235f028/configure.ac -+++ xemacs-beta-b604d235f028/configure.ac 2009-12-03 15:29:15.975430547 +0000 -@@ -5035,11 +5035,11 @@ dnl #### Should we check for gdbm.h, too - if test "$enable_database_gdbm $enable_database_dbm" != "no no"; then - ndbm_h_file="" - AC_CHECK_HEADERS([ndbm.h gdbm/ndbm.h],[ndbm_h_file=$ac_header; break;],[],[]) -- if test "$ndbm_h_found" != "yes"; then -+ if test -z "$ndbm_h_file" ; then - test "$enable_database_gdbm" = "yes" -o \ - "$enable_database_dbm" = "yes" && \ - XE_DIE("Required DBM support cannot be provided.") -- enable_database_gdbm=no enable_database_dbm=no] -+ enable_database_gdbm=no enable_database_dbm=no - fi - fi - diff --git a/suppress-warning-about-undefined-unicode-key-mappings.patch b/suppress-warning-about-undefined-unicode-key-mappings.patch deleted file mode 100644 index 90092df..0000000 --- a/suppress-warning-about-undefined-unicode-key-mappings.patch +++ /dev/null @@ -1,12 +0,0 @@ -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 deleted file mode 100644 index 1809d52..0000000 --- a/unitialized-variables.patch +++ /dev/null @@ -1,26 +0,0 @@ -Index: xemacs-21.5.29/src/extents.c -=================================================================== ---- xemacs-21.5.29.orig/src/extents.c -+++ xemacs-21.5.29/src/extents.c -@@ -3119,6 +3119,10 @@ extent_fragment_update (struct window *w - - 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)) -@@ -3138,6 +3142,10 @@ extent_fragment_update (struct window *w - - 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/xemacs-21.4.13-ppc.patch b/xemacs-21.4.13-ppc.patch deleted file mode 100644 index 84dc2a5..0000000 --- a/xemacs-21.4.13-ppc.patch +++ /dev/null @@ -1,20 +0,0 @@ -Index: xemacs-21.5.29/src/ppc.ldscript -=================================================================== ---- xemacs-21.5.29.orig/src/ppc.ldscript -+++ xemacs-21.5.29/src/ppc.ldscript -@@ -66,6 +66,15 @@ SECTIONS - 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.4-font-menu.patch b/xemacs-21.4.4-font-menu.patch deleted file mode 100644 index 28c616b..0000000 --- a/xemacs-21.4.4-font-menu.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- 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.5.31.tar.gz b/xemacs-21.5.31.tar.gz new file mode 100644 index 0000000..a5a43dd --- /dev/null +++ b/xemacs-21.5.31.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d59f90b7e72621376a23daa484f1929945d0527350a10989fd086bde9d0a997d +size 15802193 diff --git a/xemacs-beta-b604d235f028.tar.bz2 b/xemacs-beta-b604d235f028.tar.bz2 deleted file mode 100644 index b98f242..0000000 --- a/xemacs-beta-b604d235f028.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3f3880590588e727a99eebdec4deec354f5c1b2be51c6ee524a16571f7c5599a -size 9999561 diff --git a/xemacs-ia64.dif b/xemacs-ia64.dif deleted file mode 100644 index 6af503c..0000000 --- a/xemacs-ia64.dif +++ /dev/null @@ -1,2376 +0,0 @@ -Index: xemacs-21.5.29/src/chartab.c -=================================================================== ---- xemacs-21.5.29.orig/src/chartab.c -+++ xemacs-21.5.29/src/chartab.c -@@ -1892,6 +1892,19 @@ structure_type_create_chartab (void) - 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) - { -Index: xemacs-21.5.29/src/console-gtk.c -=================================================================== ---- xemacs-21.5.29.orig/src/console-gtk.c -+++ xemacs-21.5.29/src/console-gtk.c -@@ -195,6 +195,14 @@ console_type_create_gtk (void) - { - 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); -Index: xemacs-21.5.29/src/console-msw.c -=================================================================== ---- xemacs-21.5.29.orig/src/console-msw.c -+++ xemacs-21.5.29/src/console-msw.c -@@ -732,6 +732,14 @@ console_type_create_mswindows (void) - { - 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); */ -Index: xemacs-21.5.29/src/console-stream.c -=================================================================== ---- xemacs-21.5.29.orig/src/console-stream.c -+++ xemacs-21.5.29/src/console-stream.c -@@ -318,6 +318,14 @@ console_type_create_stream (void) - { - 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); -Index: xemacs-21.5.29/src/console-tty.c -=================================================================== ---- xemacs-21.5.29.orig/src/console-tty.c -+++ xemacs-21.5.29/src/console-tty.c -@@ -487,6 +487,14 @@ console_type_create_tty (void) - { - 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); -Index: xemacs-21.5.29/src/console-x.c -=================================================================== ---- xemacs-21.5.29.orig/src/console-x.c -+++ xemacs-21.5.29/src/console-x.c -@@ -392,6 +392,14 @@ console_type_create_x (void) - { - 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); -Index: xemacs-21.5.29/src/device-gtk.c -=================================================================== ---- xemacs-21.5.29.orig/src/device-gtk.c -+++ xemacs-21.5.29/src/device-gtk.c -@@ -709,6 +709,14 @@ syms_of_device_gtk (void) - 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); -Index: xemacs-21.5.29/src/device-msw.c -=================================================================== ---- xemacs-21.5.29.orig/src/device-msw.c -+++ xemacs-21.5.29/src/device-msw.c -@@ -1404,6 +1404,14 @@ syms_of_device_mswindows (void) - 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); -Index: xemacs-21.5.29/src/device-tty.c -=================================================================== ---- xemacs-21.5.29.orig/src/device-tty.c -+++ xemacs-21.5.29/src/device-tty.c -@@ -217,6 +217,14 @@ syms_of_device_tty (void) - 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 -Index: xemacs-21.5.29/src/device-x.c -=================================================================== ---- xemacs-21.5.29.orig/src/device-x.c -+++ xemacs-21.5.29/src/device-x.c -@@ -2171,6 +2171,15 @@ void - 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); -Index: xemacs-21.5.29/src/dialog-gtk.c -=================================================================== ---- xemacs-21.5.29.orig/src/dialog-gtk.c -+++ xemacs-21.5.29/src/dialog-gtk.c -@@ -54,6 +54,14 @@ syms_of_dialog_gtk (void) - 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); - } - -Index: xemacs-21.5.29/src/dialog-msw.c -=================================================================== ---- xemacs-21.5.29.orig/src/dialog-msw.c -+++ xemacs-21.5.29/src/dialog-msw.c -@@ -808,6 +808,14 @@ mswindows_make_dialog_box_internal (stru - 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); - } - -Index: xemacs-21.5.29/src/dialog-x.c -=================================================================== ---- xemacs-21.5.29.orig/src/dialog-x.c -+++ xemacs-21.5.29/src/dialog-x.c -@@ -302,6 +302,14 @@ syms_of_dialog_x (void) - 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); - } - -Index: xemacs-21.5.29/src/elhash.c -=================================================================== ---- xemacs-21.5.29.orig/src/elhash.c -+++ xemacs-21.5.29/src/elhash.c -@@ -896,6 +896,30 @@ structure_type_create_hash_table (void) - 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 */ -Index: xemacs-21.5.29/src/emacs.c -=================================================================== ---- xemacs-21.5.29.orig/src/emacs.c -+++ xemacs-21.5.29/src/emacs.c -@@ -2552,6 +2552,136 @@ main_1 (int argc, Wexttext **argv, Wextt - 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) */ -Index: xemacs-21.5.29/src/event-msw.c -=================================================================== ---- xemacs-21.5.29.orig/src/event-msw.c -+++ xemacs-21.5.29/src/event-msw.c -@@ -5155,6 +5155,14 @@ syms_of_event_mswindows (void) - 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 (); -Index: xemacs-21.5.29/src/faces.c -=================================================================== ---- xemacs-21.5.29.orig/src/faces.c -+++ xemacs-21.5.29/src/faces.c -@@ -2159,6 +2159,18 @@ structure_type_create_faces (void) - 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) - { -Index: xemacs-21.5.29/src/file-coding.c -=================================================================== ---- xemacs-21.5.29.orig/src/file-coding.c -+++ xemacs-21.5.29/src/file-coding.c -@@ -4630,6 +4630,14 @@ syms_of_file_coding (void) - 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); -Index: xemacs-21.5.29/src/frame-gtk.c -=================================================================== ---- xemacs-21.5.29.orig/src/frame-gtk.c -+++ xemacs-21.5.29/src/frame-gtk.c -@@ -1494,6 +1494,14 @@ syms_of_frame_gtk (void) - 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); -Index: xemacs-21.5.29/src/frame-msw.c -=================================================================== ---- xemacs-21.5.29.orig/src/frame-msw.c -+++ xemacs-21.5.29/src/frame-msw.c -@@ -1160,6 +1160,14 @@ msprinter_eject_page (struct frame *f) - 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); -Index: xemacs-21.5.29/src/frame-tty.c -=================================================================== ---- xemacs-21.5.29.orig/src/frame-tty.c -+++ xemacs-21.5.29/src/frame-tty.c -@@ -217,6 +217,14 @@ tty_frame_properties (struct frame *f) - 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); -Index: xemacs-21.5.29/src/frame-x.c -=================================================================== ---- xemacs-21.5.29.orig/src/frame-x.c -+++ xemacs-21.5.29/src/frame-x.c -@@ -2822,6 +2822,14 @@ syms_of_frame_x (void) - 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); -Index: xemacs-21.5.29/src/glyphs-eimage.c -=================================================================== ---- xemacs-21.5.29.orig/src/glyphs-eimage.c -+++ xemacs-21.5.29/src/glyphs-eimage.c -@@ -1427,8 +1427,54 @@ image_instantiator_format_create_glyphs_ - 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) -Index: xemacs-21.5.29/src/glyphs-gtk.c -=================================================================== ---- xemacs-21.5.29.orig/src/glyphs-gtk.c -+++ xemacs-21.5.29/src/glyphs-gtk.c -@@ -2776,6 +2776,14 @@ syms_of_glyphs_gtk (void) - 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 @@ image_instantiator_format_create_glyphs_ - 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) - { -Index: xemacs-21.5.29/src/glyphs-msw.c -=================================================================== ---- xemacs-21.5.29.orig/src/glyphs-msw.c -+++ xemacs-21.5.29/src/glyphs-msw.c -@@ -2952,6 +2952,14 @@ syms_of_glyphs_mswindows (void) - 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 @@ image_instantiator_format_create_glyphs_ - 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) - { -Index: xemacs-21.5.29/src/glyphs-widget.c -=================================================================== ---- xemacs-21.5.29.orig/src/glyphs-widget.c -+++ xemacs-21.5.29/src/glyphs-widget.c -@@ -1746,10 +1746,58 @@ syms_of_glyphs_widget (void) - 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 @@ static void image_instantiator_buttons ( - 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 @@ static void image_instantiator_edit_fiel - 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 @@ static void image_instantiator_combo_box - 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 @@ static void image_instantiator_scrollbar - 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 @@ static void image_instantiator_progress_ - 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 @@ static void image_instantiator_tree_view - 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 @@ static void image_instantiator_tab_contr - 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 @@ static void image_instantiator_labels (v - 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 @@ static void image_instantiator_labels (v - 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 @@ static void image_instantiator_layout (v - 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 @@ static void image_instantiator_native_la - 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_format_create_glyphs_ - 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) - { -Index: xemacs-21.5.29/src/glyphs-x.c -=================================================================== ---- xemacs-21.5.29.orig/src/glyphs-x.c -+++ xemacs-21.5.29/src/glyphs-x.c -@@ -2861,6 +2861,14 @@ syms_of_glyphs_x (void) - 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); -@@ -2991,6 +2999,64 @@ image_instantiator_format_create_glyphs_ - 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) - { -Index: xemacs-21.5.29/src/glyphs.c -=================================================================== ---- xemacs-21.5.29.orig/src/glyphs.c -+++ xemacs-21.5.29/src/glyphs.c -@@ -5273,6 +5273,14 @@ specifier_type_create_image (void) - - 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); -@@ -5458,6 +5466,84 @@ image_instantiator_format_create (void) - #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) - { -@@ -5585,6 +5671,15 @@ are necessary to properly display Unicod - 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) - { -Index: xemacs-21.5.29/src/glyphs.h -=================================================================== ---- xemacs-21.5.29.orig/src/glyphs.h -+++ xemacs-21.5.29/src/glyphs.h -@@ -267,6 +267,22 @@ do { \ - 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) - -Index: xemacs-21.5.29/src/gutter.c -=================================================================== ---- xemacs-21.5.29.orig/src/gutter.c -+++ xemacs-21.5.29/src/gutter.c -@@ -1216,6 +1216,19 @@ specifier_type_create_gutter (void) - 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 @@ See `default-gutter-visible-p' for more - 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 -Index: xemacs-21.5.29/src/lisp.h -=================================================================== ---- xemacs-21.5.29.orig/src/lisp.h -+++ xemacs-21.5.29/src/lisp.h -@@ -3121,6 +3121,20 @@ DECLARE_LRECORD(ephemeron, struct epheme - #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 -Index: xemacs-21.5.29/src/lread.c -=================================================================== ---- xemacs-21.5.29.orig/src/lread.c -+++ xemacs-21.5.29/src/lread.c -@@ -2171,6 +2171,49 @@ define_structure_type_keyword (struct st - 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) - { -Index: xemacs-21.5.29/src/lstream.c -=================================================================== ---- xemacs-21.5.29.orig/src/lstream.c -+++ xemacs-21.5.29/src/lstream.c -@@ -1829,6 +1829,14 @@ lisp_buffer_stream_startpos (Lstream *st - 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); -Index: xemacs-21.5.29/src/menubar-gtk.c -=================================================================== ---- xemacs-21.5.29.orig/src/menubar-gtk.c -+++ xemacs-21.5.29/src/menubar-gtk.c -@@ -1469,6 +1469,14 @@ syms_of_menubar_gtk (void) - 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); -Index: xemacs-21.5.29/src/menubar-msw.c -=================================================================== ---- xemacs-21.5.29.orig/src/menubar-msw.c -+++ xemacs-21.5.29/src/menubar-msw.c -@@ -891,6 +891,14 @@ syms_of_menubar_mswindows (void) - 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); -Index: xemacs-21.5.29/src/menubar-x.c -=================================================================== ---- xemacs-21.5.29.orig/src/menubar-x.c -+++ xemacs-21.5.29/src/menubar-x.c -@@ -1361,6 +1361,14 @@ syms_of_menubar_x (void) - 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); -Index: xemacs-21.5.29/src/menubar.c -=================================================================== ---- xemacs-21.5.29.orig/src/menubar.c -+++ xemacs-21.5.29/src/menubar.c -@@ -785,6 +785,16 @@ This is a specifier; use `set-specifier' - 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) - { -Index: xemacs-21.5.29/src/native-gtk-toolbar.c -=================================================================== ---- xemacs-21.5.29.orig/src/native-gtk-toolbar.c -+++ xemacs-21.5.29/src/native-gtk-toolbar.c -@@ -239,6 +239,14 @@ gtk_initialize_frame_toolbars (struct fr - 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); - } -Index: xemacs-21.5.29/src/objects-gtk.c -=================================================================== ---- xemacs-21.5.29.orig/src/objects-gtk.c -+++ xemacs-21.5.29/src/objects-gtk.c -@@ -405,6 +405,14 @@ syms_of_objects_gtk (void) - 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); -Index: xemacs-21.5.29/src/objects-msw.c -=================================================================== ---- xemacs-21.5.29.orig/src/objects-msw.c -+++ xemacs-21.5.29/src/objects-msw.c -@@ -2258,6 +2258,14 @@ syms_of_objects_mswindows (void) - 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); */ -Index: xemacs-21.5.29/src/objects-tty.c -=================================================================== ---- xemacs-21.5.29.orig/src/objects-tty.c -+++ xemacs-21.5.29/src/objects-tty.c -@@ -413,6 +413,14 @@ syms_of_objects_tty (void) - 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); -Index: xemacs-21.5.29/src/objects-x.c -=================================================================== ---- xemacs-21.5.29.orig/src/objects-x.c -+++ xemacs-21.5.29/src/objects-x.c -@@ -908,6 +908,14 @@ syms_of_objects_x (void) - 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); -Index: xemacs-21.5.29/src/objects.c -=================================================================== ---- xemacs-21.5.29.orig/src/objects.c -+++ xemacs-21.5.29/src/objects.c -@@ -1227,6 +1227,14 @@ specifier_type_create_objects (void) - 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); -Index: xemacs-21.5.29/src/process-nt.c -=================================================================== ---- xemacs-21.5.29.orig/src/process-nt.c -+++ xemacs-21.5.29/src/process-nt.c -@@ -1581,6 +1581,14 @@ If successful, the return value is t, ot - 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); -Index: xemacs-21.5.29/src/process-unix.c -=================================================================== ---- xemacs-21.5.29.orig/src/process-unix.c -+++ xemacs-21.5.29/src/process-unix.c -@@ -2330,6 +2330,14 @@ unix_open_multicast_group (Lisp_Object n - 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); -Index: xemacs-21.5.29/src/ralloc.c -=================================================================== ---- xemacs-21.5.29.orig/src/ralloc.c -+++ xemacs-21.5.29/src/ralloc.c -@@ -121,7 +121,11 @@ static int extra_bytes; - & ~(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)) - -Index: xemacs-21.5.29/src/rangetab.c -=================================================================== ---- xemacs-21.5.29.orig/src/rangetab.c -+++ xemacs-21.5.29/src/rangetab.c -@@ -911,3 +911,16 @@ structure_type_create_rangetab (void) - 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 -Index: xemacs-21.5.29/src/redisplay-gtk.c -=================================================================== ---- xemacs-21.5.29.orig/src/redisplay-gtk.c -+++ xemacs-21.5.29/src/redisplay-gtk.c -@@ -1717,6 +1717,14 @@ gtk_ring_bell (struct device *UNUSED (d) - 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); -Index: xemacs-21.5.29/src/redisplay-msw.c -=================================================================== ---- xemacs-21.5.29.orig/src/redisplay-msw.c -+++ xemacs-21.5.29/src/redisplay-msw.c -@@ -1255,6 +1255,14 @@ mswindows_clear_frame (struct frame *UNU - 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); -Index: xemacs-21.5.29/src/redisplay-tty.c -=================================================================== ---- xemacs-21.5.29.orig/src/redisplay-tty.c -+++ xemacs-21.5.29/src/redisplay-tty.c -@@ -1506,6 +1506,14 @@ term_get_fkeys_1 (Lisp_Object function_k - 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); -Index: xemacs-21.5.29/src/redisplay-x.c -=================================================================== ---- xemacs-21.5.29.orig/src/redisplay-x.c -+++ xemacs-21.5.29/src/redisplay-x.c -@@ -2386,6 +2386,14 @@ x_ring_bell (struct device *d, int volum - 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); -Index: xemacs-21.5.29/src/redisplay.c -=================================================================== ---- xemacs-21.5.29.orig/src/redisplay.c -+++ xemacs-21.5.29/src/redisplay.c -@@ -10097,3 +10097,26 @@ This is a specifier; use `set-specifier' - 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 -Index: xemacs-21.5.29/src/s/linux.h -=================================================================== ---- xemacs-21.5.29.orig/src/s/linux.h -+++ xemacs-21.5.29/src/s/linux.h -@@ -208,6 +208,6 @@ Boston, MA 02111-1307, USA. */ - - /* The in-built malloc does not work on PPC64 or Alpha, so use the system - malloc for now. */ --#if defined(__powerpc64__) || defined(__alpha__) || defined(__ia64__) -+#if defined(__powerpc64__) || defined(__alpha__) - #define SYSTEM_MALLOC - #endif -Index: xemacs-21.5.29/src/scrollbar-gtk.c -=================================================================== ---- xemacs-21.5.29.orig/src/scrollbar-gtk.c -+++ xemacs-21.5.29/src/scrollbar-gtk.c -@@ -503,6 +503,14 @@ gtk_compute_scrollbar_instance_usage (st - 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); -Index: xemacs-21.5.29/src/scrollbar-msw.c -=================================================================== ---- xemacs-21.5.29.orig/src/scrollbar-msw.c -+++ xemacs-21.5.29/src/scrollbar-msw.c -@@ -473,6 +473,14 @@ DEFUN ("mswindows-init-scrollbar-metrics - 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); -Index: xemacs-21.5.29/src/scrollbar-x.c -=================================================================== ---- xemacs-21.5.29.orig/src/scrollbar-x.c -+++ xemacs-21.5.29/src/scrollbar-x.c -@@ -724,6 +724,14 @@ x_compute_scrollbar_instance_usage (stru - 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); -Index: xemacs-21.5.29/src/scrollbar.c -=================================================================== ---- xemacs-21.5.29.orig/src/scrollbar.c -+++ xemacs-21.5.29/src/scrollbar.c -@@ -1087,6 +1087,33 @@ This is a specifier; use `set-specifier' - 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) - { -Index: xemacs-21.5.29/src/select-gtk.c -=================================================================== ---- xemacs-21.5.29.orig/src/select-gtk.c -+++ xemacs-21.5.29/src/select-gtk.c -@@ -484,6 +484,14 @@ syms_of_select_gtk (void) - 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); -Index: xemacs-21.5.29/src/select-x.c -=================================================================== ---- xemacs-21.5.29.orig/src/select-x.c -+++ xemacs-21.5.29/src/select-x.c -@@ -1533,6 +1533,14 @@ syms_of_select_x (void) - 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); -Index: xemacs-21.5.29/src/specifier.c -=================================================================== ---- xemacs-21.5.29.orig/src/specifier.c -+++ xemacs-21.5.29/src/specifier.c -@@ -3454,6 +3454,24 @@ set_specifier_caching (Lisp_Object speci - 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) -@@ -3897,6 +3915,20 @@ specifier_type_create (void) - 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) - { -Index: xemacs-21.5.29/src/specifier.h -=================================================================== ---- xemacs-21.5.29.orig/src/specifier.h -+++ xemacs-21.5.29/src/specifier.h -@@ -521,6 +521,15 @@ void set_specifier_caching (Lisp_Object - (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); -Index: xemacs-21.5.29/src/symsinit.h -=================================================================== ---- xemacs-21.5.29.orig/src/symsinit.h -+++ xemacs-21.5.29/src/symsinit.h -@@ -561,4 +561,82 @@ void console_type_create_select_gtk (voi - 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_ */ -Index: xemacs-21.5.29/src/toolbar-gtk.c -=================================================================== ---- xemacs-21.5.29.orig/src/toolbar-gtk.c -+++ xemacs-21.5.29/src/toolbar-gtk.c -@@ -63,6 +63,14 @@ gtk_free_frame_toolbars (struct frame *U - 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); -Index: xemacs-21.5.29/src/toolbar-msw.c -=================================================================== ---- xemacs-21.5.29.orig/src/toolbar-msw.c -+++ xemacs-21.5.29/src/toolbar-msw.c -@@ -650,6 +650,14 @@ mswindows_handle_toolbar_wm_command (str - 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); -Index: xemacs-21.5.29/src/toolbar-x.c -=================================================================== ---- xemacs-21.5.29.orig/src/toolbar-x.c -+++ xemacs-21.5.29/src/toolbar-x.c -@@ -77,6 +77,14 @@ x_free_frame_toolbars (struct frame *UNU - 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); -Index: xemacs-21.5.29/src/toolbar.c -=================================================================== ---- xemacs-21.5.29.orig/src/toolbar.c -+++ xemacs-21.5.29/src/toolbar.c -@@ -1375,6 +1375,14 @@ specifier_type_create_toolbar (void) - { - 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 @@ This is a specifier; use `set-specifier' - 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 -Index: xemacs-21.5.29/src/window.c -=================================================================== ---- xemacs-21.5.29.orig/src/window.c -+++ xemacs-21.5.29/src/window.c -@@ -5758,3 +5758,22 @@ This is a specifier; use `set-specifier' - 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-libpng15.patch b/xemacs-libpng15.patch index e531f6f..160f162 100644 --- a/xemacs-libpng15.patch +++ b/xemacs-libpng15.patch @@ -1,8 +1,8 @@ -Index: xemacs-beta-b604d235f028/src/glyphs-eimage.c +Index: xemacs-21.5.31/glyphs-eimage.c =================================================================== ---- xemacs-beta-b604d235f028.orig/src/glyphs-eimage.c -+++ xemacs-beta-b604d235f028/src/glyphs-eimage.c -@@ -887,7 +887,8 @@ png_instantiate (Lisp_Object image_insta +--- xemacs-21.5.31/src/glyphs-eimage.c ++++ xemacs-21.5.31/src/glyphs-eimage.c +@@ -911,7 +911,8 @@ png_instantiate (Lisp_Object image_insta Lisp_Image_Instance *ii = XIMAGE_INSTANCE (image_instance); struct png_unwind_data unwind; int speccount = specpdl_depth (); @@ -12,78 +12,3 @@ Index: xemacs-beta-b604d235f028/src/glyphs-eimage.c struct png_memory_storage tbr; /* Data to be read */ /* PNG variables */ -@@ -955,8 +956,7 @@ png_instantiate (Lisp_Object image_insta - int y, padding; - Binbyte **row_pointers; - UINT_64_BIT pixels_sq; -- height = info_ptr->height; -- width = info_ptr->width; -+ png_get_IHDR(png_ptr, info_ptr, &width, &height, &bit_depth, &color_type, NULL, NULL, NULL); - pixels_sq = (UINT_64_BIT) width * (UINT_64_BIT) height; - if (pixels_sq > ((size_t) -1) / 3) - signal_image_error ("PNG image too large to instantiate", instantiator); -@@ -1018,29 +1018,29 @@ png_instantiate (Lisp_Object image_insta - /* Now that we're using EImage, ask for 8bit RGB triples for any type - of image*/ - /* convert palette images to RGB */ -- if (info_ptr->color_type == PNG_COLOR_TYPE_PALETTE) -+ if (color_type == PNG_COLOR_TYPE_PALETTE) - png_set_palette_to_rgb (png_ptr); - /* convert grayscale images to RGB */ -- else if (info_ptr->color_type == PNG_COLOR_TYPE_GRAY || -- info_ptr->color_type == PNG_COLOR_TYPE_GRAY_ALPHA) -+ else if (color_type == PNG_COLOR_TYPE_GRAY || -+ color_type == PNG_COLOR_TYPE_GRAY_ALPHA) - png_set_gray_to_rgb (png_ptr); - /* pad images with depth < 8 bits */ -- else if (info_ptr->bit_depth < 8) -+ else if (bit_depth < 8) - { -- if (info_ptr->color_type == PNG_COLOR_TYPE_GRAY) -+ if (color_type == PNG_COLOR_TYPE_GRAY) - png_set_expand (png_ptr); - else - png_set_packing (png_ptr); - } - /* strip 16-bit depth files down to 8 bits */ -- if (info_ptr->bit_depth == 16) -+ if (bit_depth == 16) - png_set_strip_16 (png_ptr); - /* strip alpha channel - #### shouldn't we handle this? - first call png_read_update_info in case above transformations - have generated an alpha channel */ - png_read_update_info(png_ptr, info_ptr); -- if (info_ptr->color_type & PNG_COLOR_MASK_ALPHA) -+ if (color_type & PNG_COLOR_MASK_ALPHA) - png_set_strip_alpha (png_ptr); - - png_read_image (png_ptr, row_pointers); -@@ -1050,19 +1050,22 @@ png_instantiate (Lisp_Object image_insta - * into the glyph code, where you can get to it from lisp - * anyway. - WMP */ - { -- int i; -+ int i, num_text; -+ png_textp text_ptr; - DECLARE_EISTRING (key); - DECLARE_EISTRING (text); -- -- for (i = 0 ; i < info_ptr->num_text ; i++) -+ -+ png_get_text(png_ptr, info_ptr, &text_ptr, &num_text); -+ -+ for (i = 0 ; i < num_text ; i++) - { - /* How paranoid do I have to be about no trailing NULLs, and - using (int)info_ptr->text[i].text_length, and strncpy and a temp - string somewhere? */ - eireset(key); - eireset(text); -- eicpy_ext(key, info_ptr->text[i].key, Qbinary); -- eicpy_ext(text, info_ptr->text[i].text, Qbinary); -+ eicpy_ext(key, text_ptr[i].key, Qbinary); -+ eicpy_ext(text, text_ptr[i].text, Qbinary); - - warn_when_safe (Qpng, Qinfo, "%s - %s", - eidata(key), eidata(text)); diff --git a/xemacs-rpmlintrc b/xemacs-rpmlintrc new file mode 100644 index 0000000..0a7e27b --- /dev/null +++ b/xemacs-rpmlintrc @@ -0,0 +1 @@ +addFilter(".*zero-length.*dump-paths\.el.*") diff --git a/xemacs.changes b/xemacs.changes index 533719a..28e1f9e 100644 --- a/xemacs.changes +++ b/xemacs.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Fri Mar 2 16:34:50 UTC 2012 - werner@suse.de + +- Update to beta version XEmacs 21.5.31 "ginger" + * this includes 138 fixes including 9 crashes + * this includes 110 improvments + * also include some of our own patches + ------------------------------------------------------------------- Wed Feb 8 13:32:59 UTC 2012 - werner@suse.de diff --git a/xemacs.patch b/xemacs.patch index 808d2a3..501a4e0 100644 --- a/xemacs.patch +++ b/xemacs.patch @@ -152,37 +152,33 @@ Index: xemacs-21.5.29/lib-src/vcdiff =================================================================== --- xemacs-21.5.29.orig/lib-src/vcdiff +++ xemacs-21.5.29/lib-src/vcdiff -@@ -62,6 +62,17 @@ esac +@@ -75,7 +75,10 @@ case $# in + esac - 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 +-rev1= rev2= status=0 ++if ! type -p mktemp > /dev/null 2>&1 ; then ++ echo "$0: can not create temporary files." 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 @@ do +@@ -86,14 +89,14 @@ do case $f in s.* | */s.*) if -- rev1=/tmp/geta$$ - get -s -p -k $sid1 "$f" > $rev1 && +- rev1=`mktemp /tmp/geta.XXXXXXXX` ++ rev1=`mktemp /tmp/geta.XXXXXXXX` || exit 1 + sccs get -s -p -k $sid1 "$f" > $rev1 && case $sid2 in '') workfile=`expr " /$f" : '.*/s.\(.*\)'` ;; *) -- rev2=/tmp/getb$$ - get -s -p -k $sid2 "$f" > $rev2 +- rev2=`mktemp /tmp/getb.XXXXXXXX` ++ rev2=`mktemp /tmp/getb.XXXXXXXX` || exit 1 + sccs get -s -p -k $sid2 "$f" > $rev2 workfile=$rev2 esac Index: xemacs-21.5.29/lisp/default.el @@ -203,15 +199,15 @@ Index: xemacs-21.5.29/lisp/dumped-lisp.el =================================================================== --- xemacs-21.5.29.orig/lisp/dumped-lisp.el +++ xemacs-21.5.29/lisp/dumped-lisp.el -@@ -38,6 +38,7 @@ in dumped-lisp.el and is not itself list +@@ -42,6 +42,7 @@ in dumped-lisp.el and is not itself list "cl" - "cl-extra" + "cl-extra" ; also loads cl-macs if we're running interpreted. "cl-seq" -+ "cl-macs" ; Avoid autoloading of kernel functions - "widget" - "custom" ; Before the world so everything can be - ; customized -@@ -303,6 +304,7 @@ in dumped-lisp.el and is not itself list ++ "cl-macs" ; Avoid autoloading of kernel functions + "post-gc" + "version" + "custom" ; Before the world so everything can be customized +@@ -300,6 +301,7 @@ in dumped-lisp.el and is not itself list ;; "sun-eos-debugger-extra" ;; "sun-eos-menubar")) "loaddefs" ; <=== autoloads get loaded here @@ -891,7 +887,7 @@ Index: xemacs-21.5.29/suse/README.SuSE +++ xemacs-21.5.29/suse/README.SuSE @@ -0,0 +1,18 @@ + -+ XEmacs-21.5.16 ++ XEmacs-21.5.31 + + * Sie finden eine Referenz-Karte im Verzeichnis etc/ + in der Datei refcard.ps, die Sie ausdrucken können. diff --git a/xemacs.spec b/xemacs.spec index 25c7872..d05e751 100644 --- a/xemacs.spec +++ b/xemacs.spec @@ -16,6 +16,7 @@ # + Name: xemacs BuildRequires: autoconf BuildRequires: canna-devel @@ -52,7 +53,7 @@ Url: http://www.xemacs.org PreReq: permissions Requires: xemacs-info xemacs-packages ctags Conflicts: gnuserv -Version: 21.5.29.b604d235f028 +Version: 21.5.31 Release: 0 Summary: XEmacs License: GPL-2.0+ @@ -64,7 +65,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-build # # delete the .hg directory before creating the tarball in order # not to make the source rpm huge. -Source0: ftp://ftp.xemacs.org/xemacs-21.5/xemacs-%{_hg}.tar.bz2 +Source0: http://ftp.freenet.de/pub/ftp.xemacs.org/tux/xemacs/xemacs-21.5/xemacs-21.5.31.tar.gz Source1: xe-list.el Source2: fix-load-history.el Source3: xemacs.desktop @@ -75,33 +76,20 @@ Source7: skel.init.el Patch0: xemacs.patch # keep in sync with the similar patch to the app-defaults in the main xemacs-packages package: Patch3: xemacs-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 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 Patch39: xemacs-tinfo.dif -Patch41: bugzilla-294746-set-language-unicode-precedence-list-at-startup.patch -Patch42: build-fix-ccl-load-problem.patch Patch43: set-language-unicode-precedence-list.patch Patch45: fix-defface-custom-modified-face.patch Patch50: menus-always-utf8.patch Patch51: bnc502716-fontmenu.patch Patch52: bnc502716-xft.patch -Patch54: bnc558764_avoid-xft-if-absent.patch -Patch55: changeset-dec62ca5a899.patch -# PATCH-FIX-UPSTREAM pngtoico-libpng15.patch -- pgajdos@suse.com; build with libpng15; didn't sent to upstream -# build against libpng14 should not be affected, otherwise please let me know Patch56: xemacs-libpng15.patch Patch292811: bugzilla-292811-make-x-make-font-bold-italic-xft-work.patch Patch301352: bugzilla-301352-fix-wrong-incrementing-in-macros.patch @@ -160,29 +148,17 @@ echo Use xft, requires X11, Xft, Xrender, freetype, and fontconfig support. %else echo Use xfs, that is XFontSet support for internationalized menubar. %endif -%setup -q -n xemacs-%{_hg} +%setup -q %patch3 -p1 -#%patch5 -p1 -b .fontmenu # appears to be not needed anymore -#%patch13 -p1 -%patch14 -p1 %patch18 -p0 -b .xevent -%patch19 -p1 -b .ppc %patch20 -p1 -%patch22 -p1 +%patch22 -p0 %patch23 -p1 -#%patch24 -p1 -#triggers #103040 -#%patch25 -p1 %patch27 -p1 -b .lvl3 %patch28 -p1 -b .movemail %patch32 -p1 %patch33 -p1 -#%patch34 -p1 -%patch38 -p1 %patch39 -p0 -#%patch40 -p1 -#%patch41 -p1 -#%patch42 -p1 %patch43 -p1 %patch45 -p0 %patch50 -p1 @@ -190,8 +166,6 @@ echo Use xfs, that is XFontSet support for internationalized menubar. %patch51 -p0 %patch52 -p0 %endif -%patch54 -p0 -%patch55 -p0 %patch56 -p1 %patch292811 -p1 %patch301352 -p1 @@ -308,7 +282,7 @@ PREFIX="--prefix=/usr \ # when using "--rel-alloc, XEmacs 21.5.18 crashes often when using # 'compile-goto-error'. # --rel-alloc \ -SPECIAL="--enable-database=berkdb,gdbm \ +SPECIAL="--with-database=berkdb,gdbm \ --with-ncurses \ --with-canna \ --with-tty=yes \ @@ -600,8 +574,6 @@ rm -rf %{buildroot} /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