rpms/xemacs/EL-5 xemacs-21.5.29-arabic-547840.patch, NONE, 1.1 xemacs-21.5.29-destdir.patch, NONE, 1.1 xemacs-21.5.29-dired-550145.patch, NONE, 1.1 xemacs-21.5.29-etags-memmove-545399.patch, NONE, 1.1 xemacs-21.5.29-image-overflow.patch, NONE, 1.1 xemacs-21.5.29-no-xft.patch, NONE, 1.1 xemacs-21.5.29-png.patch, NONE, 1.1 xemacs-21.5.29-tty-font-512623.patch, NONE, 1.1 xemacs-beta-infodir.patch, NONE, 1.1 xemacs-snapshot.sh, NONE, 1.1 .cvsignore, 1.7, 1.8 default.el, 1.1, 1.2 dotxemacs-init.el, 1.1, 1.2 sources, 1.7, 1.8 xemacs-21.5.25-mk-nochk-features.patch, 1.1, 1.2 xemacs-21.5.25-x-paths.patch, 1.1, 1.2 xemacs-21.5.27-no-expdyn-ia64-106744.patch, 1.1, 1.2 xemacs-21.5.28-courier-default.patch, 1.1, 1.2 xemacs-sitestart.el, 1.7, 1.8 xemacs.desktop, 1.3, 1.4 xemacs.spec, 1.34, 1.35 xemacs-21.5.26-gtk-gcc4.patch, 1.1, NONE xemacs-21.5.27-finder-lisp-dir.patch, 1.1, NONE xemacs-21.5.28-destdir.patch, 1.1, NONE xemacs-21.5.28-doc-encodings.patch, 1.1, NONE xemacs-21.5.28-revert-modified-245017.patch, 1.1, NONE

Jerry James jjames at fedoraproject.org
Wed Mar 17 14:58:06 UTC 2010


Author: jjames

Update of /cvs/pkgs/rpms/xemacs/EL-5
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv28417/EL-5

Modified Files:
	.cvsignore default.el dotxemacs-init.el sources 
	xemacs-21.5.25-mk-nochk-features.patch 
	xemacs-21.5.25-x-paths.patch 
	xemacs-21.5.27-no-expdyn-ia64-106744.patch 
	xemacs-21.5.28-courier-default.patch xemacs-sitestart.el 
	xemacs.desktop xemacs.spec 
Added Files:
	xemacs-21.5.29-arabic-547840.patch 
	xemacs-21.5.29-destdir.patch xemacs-21.5.29-dired-550145.patch 
	xemacs-21.5.29-etags-memmove-545399.patch 
	xemacs-21.5.29-image-overflow.patch 
	xemacs-21.5.29-no-xft.patch xemacs-21.5.29-png.patch 
	xemacs-21.5.29-tty-font-512623.patch xemacs-beta-infodir.patch 
	xemacs-snapshot.sh 
Removed Files:
	xemacs-21.5.26-gtk-gcc4.patch 
	xemacs-21.5.27-finder-lisp-dir.patch 
	xemacs-21.5.28-destdir.patch 
	xemacs-21.5.28-doc-encodings.patch 
	xemacs-21.5.28-revert-modified-245017.patch 
Log Message:
Initial checkin for EPEL-5, based on Fedora spec.


xemacs-21.5.29-arabic-547840.patch:
 lisp/ChangeLog                  |    9 ++++
 lisp/mule/arabic.el             |    3 -
 lisp/mule/iso-with-esc.el       |   83 ----------------------------------------
 lisp/mule/mule-category.el      |    1 
 lisp/mule/mule-msw-init-late.el |    1 
 lisp/unicode.el                 |    3 -
 src/ChangeLog                   |    8 +++
 src/lisp.h                      |    1 
 src/mule-charset.c              |   12 +++++
 9 files changed, 34 insertions(+), 87 deletions(-)

--- NEW FILE xemacs-21.5.29-arabic-547840.patch ---
diff -dur xemacs-21.5.29.ORIG/lisp/ChangeLog xemacs-21.5.29/lisp/ChangeLog
--- xemacs-21.5.29.ORIG/lisp/ChangeLog	2010-01-07 09:52:09.259674650 -0700
+++ xemacs-21.5.29/lisp/ChangeLog	2010-01-07 09:31:59.498550275 -0700
@@ -1,3 +1,12 @@
+2010-01-07  Aidan Kehoe  <kehoea at parhasard.net>
+
+	* unicode.el (load-unicode-tables):
+	* mule/mule-msw-init-late.el:
+	* mule/mule-category.el (predefined-category-list):
+	* mule/arabic.el:
+	Move arabic-iso8859-6 back to C, it needs to be there, otherwise
+	X11 character input lookup fails.
+
 2009-11-01  Stephen Turnbull  <stephen at xemacs.org>
 
 	* faces.el (Face-frob-property):
diff -dur xemacs-21.5.29.ORIG/lisp/mule/arabic.el xemacs-21.5.29/lisp/mule/arabic.el
--- xemacs-21.5.29.ORIG/lisp/mule/arabic.el	2010-01-07 09:52:09.260680256 -0700
+++ xemacs-21.5.29/lisp/mule/arabic.el	2010-01-07 09:31:59.499595394 -0700
@@ -28,9 +28,6 @@
 
 ;;; Code:
 
-;; See iso-with-esc.el for commentary on the ISO standard Arabic character
-;; set.
-
 (make-8-bit-coding-system
  'iso-8859-6
  '((#x80 ?\u0080) ;; <control>
diff -dur xemacs-21.5.29.ORIG/lisp/mule/iso-with-esc.el xemacs-21.5.29/lisp/mule/iso-with-esc.el
--- xemacs-21.5.29.ORIG/lisp/mule/iso-with-esc.el	2010-01-07 09:52:09.260680256 -0700
+++ xemacs-21.5.29/lisp/mule/iso-with-esc.el	2010-01-07 09:31:59.522633894 -0700
@@ -120,89 +120,6 @@
    safe-charsets (ascii greek-iso8859-7)
    mnemonic "Grk"))
 
-;; ISO 8859-6 is such a useless character set that it seems a waste of
-;; codespace to dump it. Let me count the ways: 
-;; 
-;; 1. It doesn't support Persian or Urdu, let alone Sinhalese, despite
-;;    plenty of unallocated code points.
-;;
-;; 2. It doesn't encode all the vowel diacritics (the Harakaat) despite that
-;;    they are necessary, even for the Arabs, for basic things like
-;;    dictionary entries, children's books, and occasional disambiguation.
-;;
-;; 3. The Arabs don't use it, they use Windows-1256, which also supports
-;;    Persian, at least, as well as the French characters necessary in
-;;    Lebanon and North Africa.
-
-(make-charset
- 'arabic-iso8859-6 
- "Right-Hand Part of Latin/Arabic Alphabet (ISO/IEC 8859-6): ISO-IR-127"
- '(dimension 1
-   registry "ISO8859-6"
-   chars 96
-   columns 1
-   direction r2l
-   final ?G
-   graphic 1
-   short-name "RHP of ISO8859/6"
-   long-name "RHP of Arabic (ISO 8859-6): ISO-IR-127"))
-
-(loop
-  for (iso8859-6 unicode)
-  in '((#xA0 #x00A0) ;; NO-BREAK SPACE
-       (#xA4 #x00A4) ;; CURRENCY SIGN
-       (#xAC #x060C) ;; ARABIC COMMA
-       (#xAD #x00AD) ;; SOFT HYPHEN
-       (#xBB #x061B) ;; ARABIC SEMICOLON
-       (#xBF #x061F) ;; ARABIC QUESTION MARK
-       (#xC1 #x0621) ;; ARABIC LETTER HAMZA
-       (#xC2 #x0622) ;; ARABIC LETTER ALEF WITH MADDA ABOVE
-       (#xC3 #x0623) ;; ARABIC LETTER ALEF WITH HAMZA ABOVE
-       (#xC4 #x0624) ;; ARABIC LETTER WAW WITH HAMZA ABOVE
-       (#xC5 #x0625) ;; ARABIC LETTER ALEF WITH HAMZA BELOW
-       (#xC6 #x0626) ;; ARABIC LETTER YEH WITH HAMZA ABOVE
-       (#xC7 #x0627) ;; ARABIC LETTER ALEF
-       (#xC8 #x0628) ;; ARABIC LETTER BEH
-       (#xC9 #x0629) ;; ARABIC LETTER TEH MARBUTA
-       (#xCA #x062A) ;; ARABIC LETTER TEH
-       (#xCB #x062B) ;; ARABIC LETTER THEH
-       (#xCC #x062C) ;; ARABIC LETTER JEEM
-       (#xCD #x062D) ;; ARABIC LETTER HAH
-       (#xCE #x062E) ;; ARABIC LETTER KHAH
-       (#xCF #x062F) ;; ARABIC LETTER DAL
-       (#xD0 #x0630) ;; ARABIC LETTER THAL
-       (#xD1 #x0631) ;; ARABIC LETTER REH
-       (#xD2 #x0632) ;; ARABIC LETTER ZAIN
-       (#xD3 #x0633) ;; ARABIC LETTER SEEN
-       (#xD4 #x0634) ;; ARABIC LETTER SHEEN
-       (#xD5 #x0635) ;; ARABIC LETTER SAD
-       (#xD6 #x0636) ;; ARABIC LETTER DAD
-       (#xD7 #x0637) ;; ARABIC LETTER TAH
-       (#xD8 #x0638) ;; ARABIC LETTER ZAH
-       (#xD9 #x0639) ;; ARABIC LETTER AIN
-       (#xDA #x063A) ;; ARABIC LETTER GHAIN
-       (#xE0 #x0640) ;; ARABIC TATWEEL
-       (#xE1 #x0641) ;; ARABIC LETTER FEH
-       (#xE2 #x0642) ;; ARABIC LETTER QAF
-       (#xE3 #x0643) ;; ARABIC LETTER KAF
-       (#xE4 #x0644) ;; ARABIC LETTER LAM
-       (#xE5 #x0645) ;; ARABIC LETTER MEEM
-       (#xE6 #x0646) ;; ARABIC LETTER NOON
-       (#xE7 #x0647) ;; ARABIC LETTER HEH
-       (#xE8 #x0648) ;; ARABIC LETTER WAW
-       (#xE9 #x0649) ;; ARABIC LETTER ALEF MAKSURA
-       (#xEA #x064A) ;; ARABIC LETTER YEH
-       (#xEB #x064B) ;; ARABIC FATHATAN
-       (#xEC #x064C) ;; ARABIC DAMMATAN
-       (#xED #x064D) ;; ARABIC KASRATAN
-       (#xEE #x064E) ;; ARABIC FATHA
-       (#xEF #x064F) ;; ARABIC DAMMA
-       (#xF0 #x0650) ;; ARABIC KASRA
-       (#xF1 #x0651) ;; ARABIC SHADDA
-       (#xF2 #x0652));; ARABIC SUKUN
-  do (set-unicode-conversion (make-char 'arabic-iso8859-6 iso8859-6)
-                             unicode))
-
 ;;;###autoload
 (make-coding-system
  'arabic-iso-8bit-with-esc 'iso2022  ;; GNU's iso-8859-6 is
diff -dur xemacs-21.5.29.ORIG/lisp/mule/mule-category.el xemacs-21.5.29/lisp/mule/mule-category.el
--- xemacs-21.5.29.ORIG/lisp/mule/mule-category.el	2010-01-07 09:52:09.261601694 -0700
+++ xemacs-21.5.29/lisp/mule/mule-category.el	2010-01-07 09:31:59.523637910 -0700
@@ -244,6 +244,7 @@
     (latin-iso8859-4	?l)
     (latin-iso8859-9	?l)
     (cyrillic-iso8859-5 ?y "Cyrillic character set")
+    (arabic-iso8859-6	?b "Arabic character set")
     (greek-iso8859-7	?g "Greek character set")
     (hebrew-iso8859-8	?w "Hebrew character set")
     (katakana-jisx0201	?k "Japanese 1-byte Katakana character set")
diff -dur xemacs-21.5.29.ORIG/lisp/mule/mule-msw-init-late.el xemacs-21.5.29/lisp/mule/mule-msw-init-late.el
--- xemacs-21.5.29.ORIG/lisp/mule/mule-msw-init-late.el	2010-01-07 09:52:09.261601694 -0700
+++ xemacs-21.5.29/lisp/mule/mule-msw-init-late.el	2010-01-07 09:31:59.523637910 -0700
@@ -37,6 +37,7 @@
 	   (greek-iso8859-7 . "Greek") 
 	   (latin-iso8859-9 . "Turkish")
 	   (hebrew-iso8859-8 . "Hebrew")
+	   (arabic-iso8859-6 . "Arabic")
 	   (latin-iso8859-4 . "Baltic")
 	   (vietnamese-viscii-lower . "Viet Nam")
 	   (vietnamese-viscii-upper . "Viet Nam")
diff -dur xemacs-21.5.29.ORIG/lisp/unicode.el xemacs-21.5.29/lisp/unicode.el
--- xemacs-21.5.29.ORIG/lisp/unicode.el	2010-01-07 09:52:09.262618232 -0700
+++ xemacs-21.5.29/lisp/unicode.el	2010-01-07 09:31:59.524639374 -0700
@@ -73,6 +73,7 @@
 	    ("8859-3.TXT" latin-iso8859-3 #xA0 #xFF #x-80)
 	    ("8859-4.TXT" latin-iso8859-4 #xA0 #xFF #x-80)
 	    ("8859-5.TXT" cyrillic-iso8859-5 #xA0 #xFF #x-80)
+	    ("8859-6.TXT" arabic-iso8859-6 #xA0 #xFF #x-80)
 	    ("8859-7.TXT" greek-iso8859-7 #xA0 #xFF #x-80)
 	    ("8859-8.TXT" hebrew-iso8859-8 #xA0 #xFF #x-80)
 	    ("8859-9.TXT" latin-iso8859-9 #xA0 #xFF #x-80)
@@ -153,7 +154,7 @@
       '(ascii control-1 latin-iso8859-1 latin-iso8859-2 latin-iso8859-15
 	greek-iso8859-7 hebrew-iso8859-8 ipa cyrillic-iso8859-5
 	latin-iso8859-16 latin-iso8859-3 latin-iso8859-4 latin-iso8859-9
-	vietnamese-viscii-lower vietnamese-viscii-upper 
+	vietnamese-viscii-lower vietnamese-viscii-upper arabic-iso8859-6
 	jit-ucs-charset-0 japanese-jisx0208 japanese-jisx0208-1978
 	japanese-jisx0212 japanese-jisx0213-1 japanese-jisx0213-2
 	chinese-gb2312 chinese-sisheng chinese-big5-1 chinese-big5-2
diff -dur xemacs-21.5.29.ORIG/src/ChangeLog xemacs-21.5.29/src/ChangeLog
--- xemacs-21.5.29.ORIG/src/ChangeLog	2010-01-07 09:52:09.282677438 -0700
+++ xemacs-21.5.29/src/ChangeLog	2010-01-07 09:31:59.535640632 -0700
@@ -1,3 +1,11 @@
+2010-01-07  Aidan Kehoe  <kehoea at parhasard.net>
+
+	* mule-charset.c:
+	(syms_of_mule_charset, complex_vars_of_mule_charset):
+	* lisp.h:
+	Restore the creation of arabic-iso8859-6 in C, having it in Lisp
+	isn't sufficient for X11 input to work.
+
 2009-05-18  Stephen J. Turnbull  <stephen at xemacs.org>
 
 	* XEmacs 21.5.29 "garbanzo" is released.
diff -dur xemacs-21.5.29.ORIG/src/lisp.h xemacs-21.5.29/src/lisp.h
--- xemacs-21.5.29.ORIG/src/lisp.h	2010-01-07 09:52:09.288552467 -0700
+++ xemacs-21.5.29/src/lisp.h	2010-01-07 09:31:59.541637463 -0700
@@ -5233,6 +5233,7 @@
 extern Lisp_Object Vcharset_latin_iso8859_4;
 extern Lisp_Object Vcharset_thai_tis620;
 extern Lisp_Object Vcharset_greek_iso8859_7;
+extern Lisp_Object Vcharset_arabic_iso8859_6;
 extern Lisp_Object Vcharset_hebrew_iso8859_8;
 extern Lisp_Object Vcharset_katakana_jisx0201;
 extern Lisp_Object Vcharset_latin_jisx0201;
diff -dur xemacs-21.5.29.ORIG/src/mule-charset.c xemacs-21.5.29/src/mule-charset.c
--- xemacs-21.5.29.ORIG/src/mule-charset.c	2010-01-07 09:52:09.290552365 -0700
+++ xemacs-21.5.29/src/mule-charset.c	2010-01-07 09:53:06.329578948 -0700
@@ -47,6 +47,7 @@
 Lisp_Object Vcharset_latin_iso8859_4;
 Lisp_Object Vcharset_thai_tis620;
 Lisp_Object Vcharset_greek_iso8859_7;
+Lisp_Object Vcharset_arabic_iso8859_6;
 Lisp_Object Vcharset_hebrew_iso8859_8;
 Lisp_Object Vcharset_katakana_jisx0201;
 Lisp_Object Vcharset_latin_jisx0201;
@@ -93,6 +94,7 @@
   Qlatin_iso8859_4,
   Qthai_tis620,
   Qgreek_iso8859_7,
+  Qarabic_iso8859_6,
   Qhebrew_iso8859_8,
   Qkatakana_jisx0201,
   Qlatin_jisx0201,
@@ -1110,6 +1112,7 @@
   DEFSYMBOL (Qlatin_iso8859_4);
   DEFSYMBOL (Qthai_tis620);
   DEFSYMBOL (Qgreek_iso8859_7);
+  DEFSYMBOL (Qarabic_iso8859_6);
   DEFSYMBOL (Qhebrew_iso8859_8);
   DEFSYMBOL (Qkatakana_jisx0201);
   DEFSYMBOL (Qlatin_jisx0201);
@@ -1233,6 +1236,15 @@
 		  build_msg_string ("ISO8859-7 (Greek)"),
 		  build_msg_string ("ISO8859-7 (Greek)"),
 		  vector1(build_string("iso8859-7")), 0, 0);
+  staticpro (&Vcharset_arabic_iso8859_6);
+  Vcharset_arabic_iso8859_6 =
+    make_charset (LEADING_BYTE_ARABIC_ISO8859_6, Qarabic_iso8859_6, 2,
+		  CHARSET_TYPE_96, 1, 1, 'G',
+		  CHARSET_RIGHT_TO_LEFT,
+		  build_string ("ISO8859-6"),
+		  build_msg_string ("ISO8859-6 (Arabic)"),
+		  build_msg_string ("ISO8859-6 (Arabic)"),
+		  vector1(build_string ("iso8859-6")), 0, 0);
   staticpro (&Vcharset_hebrew_iso8859_8);
   Vcharset_hebrew_iso8859_8 =
     make_charset (LEADING_BYTE_HEBREW_ISO8859_8, Qhebrew_iso8859_8, 2,

xemacs-21.5.29-destdir.patch:
 Makefile.in.in                     |   76 +++++++++++++++++++------------------
 dynodump/Makefile.in.in            |    2 
 etc/tests/external-widget/Makefile |    2 
 lib-src/Makefile.in.in             |   12 +++--
 lwlib/Makefile.in.in               |    2 
 man/Makefile                       |    2 
 modules/base64/Makefile            |    2 
 modules/common/Makefile.common     |    4 +
 modules/zlib/Makefile              |    2 
 netinstall/Makefile.in.in          |    4 +
 src/Makefile.in.in                 |   16 ++++---
 tests/tooltalk/Makefile            |    2 
 12 files changed, 77 insertions(+), 49 deletions(-)

--- NEW FILE xemacs-21.5.29-destdir.patch ---
diff -up xemacs-21.5.29/dynodump/Makefile.in.in~ xemacs-21.5.29/dynodump/Makefile.in.in
--- xemacs-21.5.29/dynodump/Makefile.in.in~	2009-05-18 17:51:05.000000000 +0300
+++ xemacs-21.5.29/dynodump/Makefile.in.in	2009-05-20 22:42:21.000000000 +0300
@@ -22,6 +22,8 @@
 
 ## Synched up with: Not synched with FSF.
 
+DESTDIR=
+
 ## For performance and consistency, no built-in rules.
 .SUFFIXES:
 .SUFFIXES: .c .o .i .h
diff -up xemacs-21.5.29/etc/tests/external-widget/Makefile~ xemacs-21.5.29/etc/tests/external-widget/Makefile
--- xemacs-21.5.29/etc/tests/external-widget/Makefile~	2009-05-18 17:51:05.000000000 +0300
+++ xemacs-21.5.29/etc/tests/external-widget/Makefile	2009-05-20 22:42:23.000000000 +0300
@@ -1,3 +1,5 @@
+DESTDIR=
+
 CFLAGS += -Xc -g -DTOOLTALK
 EMACSHOME = ../../..
 EMACSLIBDIR = $(EMACSHOME)/editor/src
diff -up xemacs-21.5.29/lib-src/Makefile.in.in~ xemacs-21.5.29/lib-src/Makefile.in.in
--- xemacs-21.5.29/lib-src/Makefile.in.in~	2009-05-18 17:51:06.000000000 +0300
+++ xemacs-21.5.29/lib-src/Makefile.in.in	2009-05-20 22:42:25.000000000 +0300
@@ -24,6 +24,8 @@
 ## above a certain point in this file are in shell format instead of
 ## in C format.  How the hell is this supposed to work? */
 
+DESTDIR=
+
 ## For performance and consistency, no built-in rules
 .SUFFIXES:
 .SUFFIXES: .c .h .o
@@ -246,26 +248,26 @@ do-blessmail: $(blessmail)
 ## just run them directly from lib-src.
 ${archlibdir}: all
 	@echo; echo "Installing utilities run internally by XEmacs."
-	./make-path ${archlibdir}
+	./make-path $(DESTDIR)${archlibdir}
 	if test "`(cd ${archlibdir} && $(pwd))`" != "`$(pwd)`"; then \
 	  for f in ${PRIVATE_INSTALLABLE_EXES}; do \
-	    (cd .. && $(INSTALL_PROGRAM) lib-src/$$f ${archlibdir}/$$f) ; \
+	    (cd .. && $(INSTALL_PROGRAM) lib-src/$$f $(DESTDIR)${archlibdir}/$$f) ; \
 	  done ; \
 	fi
 	if test "`(cd ${archlibdir} && $(pwd))`" \
 	     != "`(cd ${srcdir}     && $(pwd))`"; then \
 	  for f in ${PRIVATE_INSTALLABLE_SCRIPTS}; do \
-	    (cd .. && $(INSTALL_PROGRAM) ${srcdir}/$$f ${archlibdir}/$$f); \
+	    (cd .. && $(INSTALL_PROGRAM) ${srcdir}/$$f $(DESTDIR)${archlibdir}/$$f); \
 	  done ; \
 	fi
 
 install: ${archlibdir}
 	@echo; echo "Installing utilities for users to run."
 	for file in ${PUBLIC_INSTALLABLE_EXES} ; do \
-	  (cd .. && $(INSTALL_PROGRAM) lib-src/$${file} ${bindir}/$${file}) ; \
+	  (cd .. && $(INSTALL_PROGRAM) lib-src/$${file} $(DESTDIR)${bindir}/$${file}) ; \
 	done
 	for file in ${PUBLIC_INSTALLABLE_SCRIPTS} ; do \
-	  (cd .. && $(INSTALL_PROGRAM) ${srcdir}/$${file} ${bindir}/$${file}) ; \
+	  (cd .. && $(INSTALL_PROGRAM) ${srcdir}/$${file} $(DESTDIR)${bindir}/$${file}) ; \
 	done
 
 uninstall:
diff -up xemacs-21.5.29/lwlib/Makefile.in.in~ xemacs-21.5.29/lwlib/Makefile.in.in
--- xemacs-21.5.29/lwlib/Makefile.in.in~	2009-05-18 17:51:07.000000000 +0300
+++ xemacs-21.5.29/lwlib/Makefile.in.in	2009-05-20 22:42:27.000000000 +0300
@@ -22,6 +22,8 @@
 ## the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 ## Boston, MA 02111-1307, USA.
 
+DESTDIR=
+
 ## For performance and consistency, no built-in rules
 .SUFFIXES:
 .SUFFIXES: .c .h .o .i .s
diff -up xemacs-21.5.29/Makefile.in.in~ xemacs-21.5.29/Makefile.in.in
--- xemacs-21.5.29/Makefile.in.in~	2009-05-18 17:51:05.000000000 +0300
+++ xemacs-21.5.29/Makefile.in.in	2009-05-20 22:42:17.000000000 +0300
@@ -61,6 +61,8 @@ RECURSIVE_MAKE_ARGS=
 RECURSIVE_MAKE_ARGS=@RECURSIVE_MAKE_ARGS@
 #endif
 
+DESTDIR=
+
 SHELL = /bin/sh
 LANG = C
 LC_ALL = C
@@ -394,37 +396,37 @@ install-arch-dep: mkdir
 	(cd ./$${subdir} && $(MAKE) $(RECURSIVE_MAKE_ARGS) install prefix=${prefix} \
 	    exec_prefix=${exec_prefix} bindir=${bindir} libdir=${libdir} \
 	    archlibdir=${archlibdir}) ; done
-	if test "`(cd ${archlibdir} && $(pwd))`" != \
+	if test "`(cd $(DESTDIR)${archlibdir} && $(pwd))`" != \
 		"`(cd ./lib-src && $(pwd))`"; then \
 	   if test -f ../Installation; then \
-		${INSTALL_DATA} ../Installation ${archlibdir}/Installation; \
+		${INSTALL_DATA} ../Installation $(DESTDIR)${archlibdir}/Installation; \
 	   fi; \
-	   ${INSTALL_DATA} lib-src/config.values ${docdir}/config.values; \
-	   ${INSTALL_DATA} lib-src/DOC ${docdir}/DOC; \
+	   ${INSTALL_DATA} lib-src/config.values $(DESTDIR)${docdir}/config.values; \
+	   ${INSTALL_DATA} lib-src/DOC $(DESTDIR)${docdir}/DOC; \
 	   for subdir in `find ${archlibdir} -type d ! -name RCS ! -name SCCS ! -name CVS -print` ; \
 	     do (cd $${subdir} && $(RM) -r RCS CVS SCCS \#* *~) ; done ; \
 	else true; fi
 #if (defined(PDUMP) && !defined (DUMP_IN_EXEC)) || (defined (PDUMP) && defined(WIN32_NATIVE))
-	${INSTALL_DATA} src/${PROGNAME}.dmp ${bindir}/${PROGNAME}-${version}-`src/${PROGNAME} -sd`.dmp
+	${INSTALL_DATA} src/${PROGNAME}.dmp $(DESTDIR)${bindir}/${PROGNAME}-${version}-`src/${PROGNAME} -sd`.dmp
 #endif
 #ifdef WIN32_NATIVE
-	${INSTALL_PROGRAM} src/${PROGNAME} ${bindir}/${PROGNAME}
-	-chmod 0755 ${bindir}/${PROGNAME}
+	${INSTALL_PROGRAM} src/${PROGNAME} $(DESTDIR)${bindir}/${PROGNAME}
+	-chmod 0755 $(DESTDIR)${bindir}/${PROGNAME}
 #else
 # ifdef CYGWIN
-	${INSTALL_PROGRAM} src/${PROGNAME} ${bindir}/${PROGNAME}-${version}.exe
-	-chmod 0755 ${bindir}/${PROGNAME}-${version}.exe
-	cd ${bindir} && $(RM) ./${PROGNAME} && ${LN_S} ${PROGNAME}-${version}.exe ./${PROGNAME}
-	cd ${bindir} && $(RM) ./${SHEBANG_PROGNAME} && ${LN_S} ${PROGNAME}-${version}.exe ./${SHEBANG_PROGNAME}
+	${INSTALL_PROGRAM} src/${PROGNAME} $(DESTDIR)${bindir}/${PROGNAME}-${version}.exe
+	-chmod 0755 $(DESTDIR)${bindir}/${PROGNAME}-${version}.exe
+	cd $(DESTDIR)${bindir} && $(RM) ./${PROGNAME} && ${LN_S} ${PROGNAME}-${version}.exe ./${PROGNAME}
+	cd $(DESTDIR)${bindir} && $(RM) ./${SHEBANG_PROGNAME} && ${LN_S} ${PROGNAME}-${version}.exe ./${SHEBANG_PROGNAME}
 # else
-	${INSTALL_PROGRAM} src/${PROGNAME} ${bindir}/${PROGNAME}-${version}
-	-chmod 0755 ${bindir}/${PROGNAME}-${version}
-	cd ${bindir} && $(RM) ./${PROGNAME} && ${LN_S} ${PROGNAME}-${version} ./${PROGNAME}
-	cd ${bindir} && $(RM) ./${SHEBANG_PROGNAME} && ${LN_S} ${PROGNAME}-${version} ./${SHEBANG_PROGNAME}
+	${INSTALL_PROGRAM} src/${PROGNAME} $(DESTDIR)${bindir}/${PROGNAME}-${version}
+	-chmod 0755 $(DESTDIR)${bindir}/${PROGNAME}-${version}
+	cd $(DESTDIR)${bindir} && $(RM) ./${PROGNAME} && ${LN_S} ${PROGNAME}-${version} ./${PROGNAME}
+	cd $(DESTDIR)${bindir} && $(RM) ./${SHEBANG_PROGNAME} && ${LN_S} ${PROGNAME}-${version} ./${SHEBANG_PROGNAME}
 # endif /* CYGWIN */
 #endif /* WIN32_NATIVE */
 	if test "${prefix}" != "${exec_prefix}"; then \
-	  $(MAKEPATH) ${exec_prefix}/lib/${instvardir}; \
+	  $(MAKEPATH) $(DESTDIR)${exec_prefix}/lib/${instvardir}; \
 	  for dir in \
 		lib/${inststaticdir} \
 	 	lib/${instvardir}/etc \
@@ -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
 
 install-arch-indep: mkdir info
 	- at set ${COPYDESTS} ; \
 	 for dir in ${COPYDIR} ; do \
-	   if test "`(cd $$1 && $(pwd))`" != \
+	   if test "`(cd $(DESTDIR)$$1 && $(pwd))`" != \
 		   "`(cd $${dir} && $(pwd))`"; then \
 	     : do nothing - echo "rm -rf $$1" ; \
 	   fi ; \
@@ -449,35 +451,35 @@ install-arch-indep: mkdir info
 	 done
 	-set ${COPYDESTS} ; \
 	 for dir in ${COPYDESTS} ; do \
-	   if test ! -d $${dir} ; then mkdir $${dir} ; fi ; \
+	   if test ! -d $${dir} ; then mkdir $(DESTDIR)$${dir} ; fi ; \
 	 done ; \
 	 for dir in ${COPYDIR} ; do \
 	   dest=$$1 ; shift ; \
 	   test -d $${dir} \
 	     -a "`(cd $${dir} && $(pwd))`" != \
-		"`(cd $${dest} && $(pwd))`" \
+		"`(cd $(DESTDIR)$${dest} && $(pwd))`" \
 	   && (echo "Copying $${dir}..." ; \
 	       (cd $${dir} && $(TAR) -cf - . ) | \
-		(cd $${dest} && umask 022 && $(TAR) -xf - );\
-	       chmod 0755 $${dest}; \
-	       for subdir in `find $${dest} -type d ! -name RCS ! -name SCCS ! -name CVS -print` ; do \
+		(cd $(DESTDIR)$${dest} && umask 022 && $(TAR) -xf - );\
+	       chmod 0755 $(DESTDIR)$${dest}; \
+	       for subdir in `find $(DESTDIR)$${dest} -type d ! -name RCS ! -name SCCS ! -name CVS -print` ; do \
 		 (cd $${subdir} && $(RM) -r RCS CVS SCCS \#* *~) ; \
 	       done) ; \
 	 done
 	if test "`(cd ${srcdir}/info && $(pwd))`" != \
-		"`(cd ${infodir} && $(pwd))`" && cd ${srcdir}/info; then \
-	  if test ! -f ${infodir}/dir -a -f dir ; then \
-	    ${INSTALL_DATA} ${srcdir}/info/dir ${infodir}/dir ; \
+		"`(cd $(DESTDIR)${infodir} && $(pwd))`" && cd ${srcdir}/info; then \
+	  if test ! -f $(DESTDIR)${infodir}/dir -a -f dir ; then \
+	    ${INSTALL_DATA} ${srcdir}/info/dir $(DESTDIR)${infodir}/dir ; \
 	  fi ; \
 	  for file in *.info* ; do \
-	    ${INSTALL_DATA} $${file} ${infodir}/$${file} ; \
-	    chmod 0644 ${infodir}/$${file}; \
+	    ${INSTALL_DATA} $${file} $(DESTDIR)${infodir}/$${file} ; \
+	    chmod 0644 $(DESTDIR)${infodir}/$${file}; \
 	  done ; \
 	fi
 	cd ${srcdir}/etc && \
 	  for page in xemacs etags ctags gnuserv gnuclient gnuattach gnudoit; do \
-	    ${INSTALL_DATA} ${srcdir}/etc/$${page}.1 ${mandir}/$${page}${manext} ; \
-	    chmod 0644 ${mandir}/$${page}${manext} ; \
+	    ${INSTALL_DATA} ${srcdir}/etc/$${page}.1 $(DESTDIR)${mandir}/$${page}${manext} ; \
+	    chmod 0644 $(DESTDIR)${mandir}/$${page}${manext} ; \
 	  done
 	@echo "If you would like to save approximately 4M of disk space, do"
 	@echo "make gzip-el"
@@ -487,19 +489,23 @@ install-arch-indep: mkdir info
 	@echo "${lispdir}"
 
 gzip-el:
-	$(SHELL) ${srcdir}/lib-src/gzip-el.sh ${lispdir}
+	$(SHELL) ${srcdir}/lib-src/gzip-el.sh $(DESTDIR)${lispdir}
 
 ## Build all the directories to install XEmacs in.
 ## Since we may be creating several layers of directories,
 ## (e.g. /usr/local/lib/${PROGNAME}-20.5/sparc-sun-solaris2.6), we use
 ## make-path instead of mkdir.  Not all mkdirs have the `-p' flag.
 mkdir: FRC.mkdir
-	${MAKEPATH} ${COPYDESTS} ${docdir} ${infodir} ${archlibdir} \
-	  ${mandir} ${bindir} ${datadir} ${libdir} \
+	for dir in \
+	    ${COPYDESTS} ${docdir} ${infodir} ${archlibdir} \
+	    ${mandir} ${bindir} ${datadir} ${libdir} \
 #ifdef HAVE_SHLIB
-	  ${moduledir} ${sitemoduledir} \
+	    ${moduledir} ${sitemoduledir} \
 #endif
-	  ${sitelispdir}
+	    ${sitelispdir} ; \
+	do \
+	    ${MAKEPATH} $(DESTDIR)$${dir} ; \
+	done ;
 
 ## Install bundled packages, if present.
 
diff -up xemacs-21.5.29/man/Makefile~ xemacs-21.5.29/man/Makefile
--- xemacs-21.5.29/man/Makefile~	2009-05-18 17:51:07.000000000 +0300
+++ xemacs-21.5.29/man/Makefile	2009-05-20 22:42:28.000000000 +0300
@@ -20,6 +20,8 @@
 # the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 # Boston, MA 02111-1307, USA.
 
+DESTDIR=
+
 SHELL    = /bin/sh
 MAKEINFO = makeinfo
 TEXI2DVI = texi2dvi
diff -up xemacs-21.5.29/modules/base64/Makefile~ xemacs-21.5.29/modules/base64/Makefile
--- xemacs-21.5.29/modules/base64/Makefile~	2009-05-18 17:51:07.000000000 +0300
+++ xemacs-21.5.29/modules/base64/Makefile	2009-05-20 22:42:29.000000000 +0300
@@ -7,6 +7,8 @@
 # 'installed'.
 #
 
+DESTDIR=
+
 SHELL=/bin/sh
 RM=rm -f
 CC=../../lib-src/ellcc
diff -up xemacs-21.5.29/modules/common/Makefile.common~ xemacs-21.5.29/modules/common/Makefile.common
--- xemacs-21.5.29/modules/common/Makefile.common~	2009-05-18 17:51:07.000000000 +0300
+++ xemacs-21.5.29/modules/common/Makefile.common	2009-05-20 22:42:31.000000000 +0300
@@ -31,6 +31,8 @@
 #define NOT_C_CODE
 #include "../../src/config.h"
 
+DESTDIR=
+
 SHELL=/bin/sh
 RM=rm -f
 PROGNAME=@PROGNAME@
@@ -98,7 +100,7 @@ extraclean: realclean
 	-$(RM) *~ \#*
 
 install: $(OBJECT_TO_BUILD)
-	$(INSTALL_PROGRAM) $< $(INSTALLPATH)
+	$(INSTALL_PROGRAM) $< $(DESTDIR)$(INSTALLPATH)
 
 ##
 ## Local Variables:
diff -up xemacs-21.5.29/modules/zlib/Makefile~ xemacs-21.5.29/modules/zlib/Makefile
--- xemacs-21.5.29/modules/zlib/Makefile~	2009-05-18 17:51:07.000000000 +0300
+++ xemacs-21.5.29/modules/zlib/Makefile	2009-05-20 22:42:33.000000000 +0300
@@ -8,6 +8,8 @@
 # 'installed'.
 #
 
+DESTDIR=
+
 SHELL=/bin/sh
 RM=rm -f
 CC=../../lib-src/ellcc
diff -up xemacs-21.5.29/netinstall/Makefile.in.in~ xemacs-21.5.29/netinstall/Makefile.in.in
--- xemacs-21.5.29/netinstall/Makefile.in.in~	2009-05-18 17:51:07.000000000 +0300
+++ xemacs-21.5.29/netinstall/Makefile.in.in	2009-05-20 22:42:34.000000000 +0300
@@ -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
diff -up xemacs-21.5.29/src/Makefile.in.in~ xemacs-21.5.29/src/Makefile.in.in
--- xemacs-21.5.29/src/Makefile.in.in~	2009-05-18 17:51:08.000000000 +0300
+++ xemacs-21.5.29/src/Makefile.in.in	2009-05-20 22:42:36.000000000 +0300
@@ -39,6 +39,8 @@ RECURSIVE_MAKE_ARGS=
 RECURSIVE_MAKE_ARGS=@RECURSIVE_MAKE_ARGS@
 #endif
 
+DESTDIR=
+
 PROGNAME=@PROGNAME@
 prefix=@prefix@
 SRC=@srcdir@
@@ -1065,7 +1067,7 @@ relock:
 #ifdef HAVE_SHLIB
 MAKEPATH=../lib-src/make-path
 install: $(PROGNAME)
-	$(MAKEPATH) $(archlibdir)/include $(archlibdir)/include/m $(archlibdir)/include/s
+	$(MAKEPATH) $(DESTDIR)$(archlibdir)/include $(DESTDIR)$(archlibdir)/include/m $(DESTDIR)$(archlibdir)/include/s
 	- at echo "Copying include files for ellcc..."
 	- at hdir=`pwd`; \
 	cd $(SRC); hdrdir2=`pwd`; cd $$hdir; \
@@ -1079,12 +1081,12 @@ install: $(PROGNAME)
 		test -d s && hdrtars="$$hdrtars s/*"; \
 		test -d m && hdrtars="$$hdrtars m/*"; \
 		test -n "$$hdrtars" && (tar cf - $$hdrtars) | \
-			(cd $(archlibdir)/include && umask 022 && tar xf -); \
-		chmod 755 $(archlibdir)/include; \
-		test -d $(archlibdir)/include/s && \
-		  chmod 755 $(archlibdir)/include/s; \
-		test -d $(archlibdir)/include/m && \
-		  chmod 755 $(archlibdir)/include/s;) \
+			(cd $(DESTDIR)$(archlibdir)/include && umask 022 && tar xf -); \
+		chmod 755 $(DESTDIR)$(archlibdir)/include; \
+		test -d $(DESTDIR)$(archlibdir)/include/s && \
+		  chmod 755 $(DESTDIR)$(archlibdir)/include/s; \
+		test -d $(DESTDIR)$(archlibdir)/include/m && \
+		  chmod 755 $(DESTDIR)$(archlibdir)/include/s;) \
 	done)
 #endif
 
diff -up xemacs-21.5.29/tests/tooltalk/Makefile~ xemacs-21.5.29/tests/tooltalk/Makefile
--- xemacs-21.5.29/tests/tooltalk/Makefile~	2009-05-18 17:51:10.000000000 +0300
+++ xemacs-21.5.29/tests/tooltalk/Makefile	2009-05-20 22:42:15.000000000 +0300
@@ -12,6 +12,8 @@
 
 ### Code:
 
+DESTDIR=
+
 CC       = cc -Xc
 CPPFLAGS = -I/usr/openwin/include
 CFLAGS   = -g -v -DNeedFunctionPrototypes

xemacs-21.5.29-dired-550145.patch:
 ChangeLog |    5 +++++
 dired.c   |    6 ++++--
 2 files changed, 9 insertions(+), 2 deletions(-)

--- NEW FILE xemacs-21.5.29-dired-550145.patch ---
diff -dur xemacs-21.5.29.ORIG/src/ChangeLog xemacs-21.5.29/src/ChangeLog
--- xemacs-21.5.29.ORIG/src/ChangeLog	2010-01-07 09:31:59.535640632 -0700
+++ xemacs-21.5.29/src/ChangeLog	2010-01-07 09:32:56.046643371 -0700
@@ -1,3 +1,8 @@
+2010-01-07  Henrique Martins  <xemacs at martins.cc>
+
+	* dired.c (file_name_completion): If a file is too big to stat(),
+	ignore the error, since we don't use the size.
+
 2010-01-07  Aidan Kehoe  <kehoea at parhasard.net>
 
 	* mule-charset.c:
diff -dur xemacs-21.5.29.ORIG/src/dired.c xemacs-21.5.29/src/dired.c
--- xemacs-21.5.29.ORIG/src/dired.c	2009-05-18 08:51:08.000000000 -0600
+++ xemacs-21.5.29/src/dired.c	2010-01-07 09:34:05.666614699 -0700
@@ -371,8 +371,10 @@
 	      || 0 <= scmp (d_name, XSTRING_DATA (file), file_name_length))
 	    continue;
 
-          if (file_name_completion_stat (directory, dp, &st) < 0)
-            continue;
+	  /* Ignore file-too-large conditions; the mode is still filled in. */
+          if (file_name_completion_stat (directory, dp, &st) < 0 &&
+	      errno != EOVERFLOW)
+	    continue;
 
           directoryp = ((st.st_mode & S_IFMT) == S_IFDIR);
           if (directoryp)

xemacs-21.5.29-etags-memmove-545399.patch:
 ChangeLog |    5 +++++
 etags.c   |    4 ++--
 2 files changed, 7 insertions(+), 2 deletions(-)

--- NEW FILE xemacs-21.5.29-etags-memmove-545399.patch ---
diff -dur xemacs-21.5.29.ORIG/lib-src/ChangeLog xemacs-21.5.29/lib-src/ChangeLog
--- xemacs-21.5.29.ORIG/lib-src/ChangeLog	2009-05-18 08:51:06.000000000 -0600
+++ xemacs-21.5.29/lib-src/ChangeLog	2009-12-08 10:09:57.753594714 -0700
@@ -1,3 +1,8 @@
+2009-12-08  Sjoerd Mullender  <sjoerd at acm.org>
+
+	* etags.c (absolute_filename): Use memmove instead of strcpy to move
+	characters within a string.
+
 2009-05-18  Stephen J. Turnbull  <stephen at xemacs.org>
 
 	* XEmacs 21.5.29 "garbanzo" is released.
diff -dur xemacs-21.5.29.ORIG/lib-src/etags.c xemacs-21.5.29/lib-src/etags.c
--- xemacs-21.5.29.ORIG/lib-src/etags.c	2009-05-18 08:51:06.000000000 -0600
+++ xemacs-21.5.29/lib-src/etags.c	2009-12-08 10:09:09.100592092 -0700
@@ -6829,13 +6829,13 @@
 	      else if (cp[0] != '/')
 		cp = slashp;
 #endif
-	      strcpy (cp, slashp + 3);
+	      memmove (cp, slashp + 3, strlen (slashp + 3) + 1);
 	      slashp = cp;
 	      continue;
 	    }
 	  else if (slashp[2] == '/' || slashp[2] == '\0')
 	    {
-	      strcpy (slashp, slashp + 2);
+	      memmove (slashp, slashp + 2, strlen (slashp + 2) + 1);
 	      continue;
 	    }
 	}

xemacs-21.5.29-image-overflow.patch:
 glyphs-eimage.c |   24 ++++++++++++++++++++----
 1 file changed, 20 insertions(+), 4 deletions(-)

--- NEW FILE xemacs-21.5.29-image-overflow.patch ---
--- xemacs-21.5.29/src/glyphs-eimage.c	2009-05-18 08:51:08.000000000 -0600
+++ xemacs-21.5.29/src/glyphs-eimage.c	2009-08-24 10:21:21.274947236 -0600
@@ -409,6 +409,7 @@
    */
 
   {
+    UINT_64_BIT pixels_sq;
     int jpeg_gray = 0;		/* if we're dealing with a grayscale */
     /* Step 4: set parameters for decompression.   */
 
@@ -431,7 +432,10 @@
     jpeg_start_decompress (&cinfo);
 
     /* Step 6: Read in the data and put into EImage format (8bit RGB triples)*/
-
+    pixels_sq =
+      (UINT_64_BIT) cinfo.output_width * (UINT_64_BIT) cinfo.output_height;
+    if (pixels_sq > ((size_t) -1) / 3)
+      signal_image_error ("JPEG image too large to instantiate", instantiator);
     unwind.eimage =
       xnew_binbytes (cinfo.output_width * cinfo.output_height * 3);
     if (!unwind.eimage)
@@ -677,6 +681,7 @@
   {
     ColorMapObject *cmo = unwind.giffile->SColorMap;
     int i, j, row, pass, interlace, slice;
+    UINT_64_BIT pixels_sq;
     Binbyte *eip;
     /* interlaced gifs have rows in this order:
        0, 8, 16, ..., 4, 12, 20, ..., 2, 6, 10, ..., 1, 3, 5, ...  */
@@ -685,6 +690,9 @@
 
     height = unwind.giffile->SHeight;
     width = unwind.giffile->SWidth;
+    pixels_sq = (UINT_64_BIT) width * (UINT_64_BIT) height;
+    if (pixels_sq > ((size_t) -1) / (3 * unwind.giffile->ImageCount))
+      signal_image_error ("GIF image too large to instantiate", instantiator);
     unwind.eimage =
       xnew_binbytes (width * height * 3 * unwind.giffile->ImageCount);
     if (!unwind.eimage)
@@ -948,11 +956,15 @@
   {
     int y;
     Binbyte **row_pointers;
+    UINT_64_BIT pixels_sq;
     height = info_ptr->height;
     width = info_ptr->width;
+    pixels_sq = (UINT_64_BIT) width * (UINT_64_BIT) height;
+    if (pixels_sq > ((size_t) -1) / 3)
+      signal_image_error ("PNG image too large to instantiate", instantiator);
 
     /* Wow, allocate all the memory.  Truly, exciting. */
-    unwind.eimage = xnew_array_and_zero (Binbyte, width * height * 3);
+    unwind.eimage = xnew_array_and_zero (Binbyte, (size_t) (pixels_sq * 3));
     /* libpng expects that the image buffer passed in contains a
        picture to draw on top of if the png has any transparencies.
        This could be a good place to pass that in... */
@@ -1299,6 +1311,7 @@
 
     uint32 *raster;
     Binbyte *ep;
+    UINT_64_BIT pixels_sq;
 
     assert (!NILP (data));
 
@@ -1321,12 +1334,15 @@
 
     TIFFGetField (unwind.tiff, TIFFTAG_IMAGEWIDTH, &width);
     TIFFGetField (unwind.tiff, TIFFTAG_IMAGELENGTH, &height);
-    unwind.eimage = xnew_binbytes (width * height * 3);
+    pixels_sq = (UINT_64_BIT) width * (UINT_64_BIT) height;
+    if (pixels_sq >= 1 << 29)
+      signal_image_error ("TIFF image too large to instantiate", instantiator);
+    unwind.eimage = xnew_binbytes ((size_t) pixels_sq * 3);
 
     /* #### This is little more than proof-of-concept/function testing.
        It needs to be reimplemented via scanline reads for both memory
        compactness. */
-    raster = (uint32*) _TIFFmalloc (width * height * sizeof (uint32));
+    raster = (uint32*) _TIFFmalloc ((tsize_t) (pixels_sq * sizeof (uint32)));
     if (raster != NULL)
       {
 	int i, j;

xemacs-21.5.29-no-xft.patch:
 font.el |   17 ++++++++++++++---
 1 file changed, 14 insertions(+), 3 deletions(-)

--- NEW FILE xemacs-21.5.29-no-xft.patch ---
diff -dur xemacs-21.5.29.ORIG/lisp/font.el xemacs-21.5.29/lisp/font.el
--- xemacs-21.5.29.ORIG/lisp/font.el	2009-05-18 08:51:06.000000000 -0600
+++ xemacs-21.5.29/lisp/font.el	2009-09-23 15:13:48.543673471 -0600
@@ -753,14 +753,23 @@
 
 (defvar font-xft-font-regexp
   (concat "\\`"
-	  #r"\(\\-\|\\:\|\\,\|[^:-]\)*"	        ; optional foundry and family
+	  #r"\(\\-\|\\:\|\\,\|[^-:*]\)*"	; optional foundry and family
 						; (allows for escaped colons, 
-						; dashes, commas)
+						; dashes, commas, asterisks)
 	  "\\(-[0-9]*\\(\\.[0-9]*\\)?\\)?"	; optional size (points)
 	  "\\(:[^:]*\\)*"			; optional properties
 						; not necessarily key=value!!
 	    "\\'"
-	    ))
+	    )
+  "Regexp matching fontconfig font names.
+Unfortunately, there is no explicit standard specifying these.  We disallow
+hyphen and comma in family names unless escaped, because they have a syntactic
+role in fontconfig names.  We disallow colon because it is part of fontconfig
+name syntax, and asterisk because of the potential for confusion with an XLFD.
+We do not allow escapes for colon and asterisk because the fontconfig
+documentation doesn't specify whether they can be escaped, or how a redundant
+escape character is treated.
+#### The name of this variable is subject to change.")
 
 (defvar font-xft-family-mappings
   ;; #### FIXME this shouldn't be needed or used for Xft
@@ -799,6 +808,8 @@
   "Return a font descriptor object for FONTNAME, appropriate for Xft.
 
 Optional DEVICE defaults to `default-x-device'."
+  (unless (featurep 'font-mgr)
+    (error 'unimplemented 'font-mgr "fontconfig-style font names"))
   (let* ((name fontname)
 	 (device (or device (default-x-device)))
 	 (pattern (fc-font-match device (fc-name-parse name)))

xemacs-21.5.29-png.patch:
 glyphs-eimage.c |   79 +++++++++++++++++++++++++++++---------------------------
 1 file changed, 41 insertions(+), 38 deletions(-)

--- NEW FILE xemacs-21.5.29-png.patch ---
--- xemacs-21.5.29/src/glyphs-eimage.c	2009-09-23 12:58:39.770625034 -0600
+++ xemacs-21.5.29/src/glyphs-eimage.c	2009-09-23 13:06:23.662801742 -0600
@@ -954,7 +954,7 @@
   png_read_info (png_ptr, info_ptr);
 
   {
-    int y;
+    int y, padding;
     Binbyte **row_pointers;
     UINT_64_BIT pixels_sq;
     height = info_ptr->height;
@@ -963,14 +963,22 @@
     if (pixels_sq > ((size_t) -1) / 3)
       signal_image_error ("PNG image too large to instantiate", instantiator);
 
-    /* Wow, allocate all the memory.  Truly, exciting. */
-    unwind.eimage = xnew_array_and_zero (Binbyte, (size_t) (pixels_sq * 3));
+    /* Wow, allocate all the memory.  Truly, exciting.
+       Well, yes, there's excitement to be had.  It turns out that libpng
+       strips in place, so the last row overruns the buffer if depth is 16
+       or there's an alpha channel.  This is a crash on Linux.  So we need
+       to add padding.
+       The worst case is reducing 8 bytes (16-bit RGBA) to 3 (8-bit RGB). */
+
+    padding = 5 * width;
+    unwind.eimage = xnew_array_and_zero (Binbyte,
+					 (size_t) (pixels_sq * 3 + padding));
+
     /* libpng expects that the image buffer passed in contains a
        picture to draw on top of if the png has any transparencies.
        This could be a good place to pass that in... */
 
     row_pointers  = xnew_array (png_byte *, height);
-
     for (y = 0; y < height; y++)
       row_pointers[y] = unwind.eimage + (width * 3 * y);
 
@@ -990,16 +998,15 @@
 	}
       else
 	{
-	  Lisp_Color_Instance *c;
-	  Lisp_Object rgblist;
-
-	  c = XCOLOR_INSTANCE (bkgd);
-	  rgblist = MAYBE_LISP_DEVMETH (XDEVICE (c->device),
-					color_instance_rgb_components,
-					(c));
-	  my_background.red = (unsigned short) XINT (XCAR (rgblist));
-	  my_background.green = (unsigned short) XINT (XCAR (XCDR (rgblist)));
-	  my_background.blue = (unsigned short) XINT (XCAR (XCDR (XCDR (rgblist))));
+	  Lisp_Color_Instance *c = XCOLOR_INSTANCE (bkgd);
+	  Lisp_Object rgb = MAYBE_LISP_DEVMETH (XDEVICE (c->device),
+						color_instance_rgb_components,
+						(c));
+#define GETCOLOR(col) my_background.col = (unsigned short) XINT (XCAR (rgb))
+	  GETCOLOR(red); rgb = XCDR (rgb);
+	  GETCOLOR(green); rgb = XCDR (rgb);
+	  GETCOLOR(blue);
+#undef GETCOLOR
 	}
 
       if (png_get_bKGD (png_ptr, info_ptr, &image_background))
@@ -1012,41 +1019,38 @@
 
     /* Now that we're using EImage, ask for 8bit RGB triples for any type
        of image*/
-    /* convert palette images to full RGB */
+    /* convert palette images to RGB */
     if (info_ptr->color_type == PNG_COLOR_TYPE_PALETTE)
-      png_set_expand (png_ptr);
-    /* send grayscale images to RGB too */
-    if (info_ptr->color_type == PNG_COLOR_TYPE_GRAY ||
-        info_ptr->color_type == PNG_COLOR_TYPE_GRAY_ALPHA)
+      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)
       png_set_gray_to_rgb (png_ptr);
-    /* we can't handle alpha values */
-    if (info_ptr->color_type & PNG_COLOR_MASK_ALPHA)
-      png_set_strip_alpha (png_ptr);
-    /* tell libpng to strip 16 bit depth files down to 8 bits */
-    if (info_ptr->bit_depth == 16)
-      png_set_strip_16 (png_ptr);
-    /* if the image is < 8 bits, pad it out */
-    if (info_ptr->bit_depth < 8)
+    /* pad images with depth < 8 bits */
+    else if (info_ptr->bit_depth < 8)
       {
 	if (info_ptr->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)
+      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)
+      png_set_strip_alpha (png_ptr);
 
     png_read_image (png_ptr, row_pointers);
     png_read_end (png_ptr, info_ptr);
 
-#if 1 /* def PNG_SHOW_COMMENTS */
-    /* ####
-     * I turn this off by default now, because the !%^@#!% comments
-     * show up every time the image is instantiated, which can get
-     * really really annoying.  There should be some way to pass this
-     * type of data down into the glyph code, where you can get to it
-     * from lisp anyway. - WMP
-     */
-    /* #### I've turned this on, since these warnings are now
-       unobtrusive. */
+    /* #### There should be some way to pass this type of data down
+     * into the glyph code, where you can get to it from lisp
+     * anyway. - WMP */
     {
       int i;
       DECLARE_EISTRING (key);
@@ -1066,7 +1070,6 @@
 			  eidata(key), eidata(text));
 	}
     }
-#endif
 
     xfree (row_pointers, Binbyte **);
   }

xemacs-21.5.29-tty-font-512623.patch:
 ChangeLog |   14 ++++++++++++++
 faces.el  |   45 +++++++++++++++++++++++++++++----------------
 2 files changed, 43 insertions(+), 16 deletions(-)

--- NEW FILE xemacs-21.5.29-tty-font-512623.patch ---
diff -r 80d74fed5399 lisp/ChangeLog
--- a/lisp/ChangeLog	Mon Nov 09 09:21:59 2009 -0700
+++ b/lisp/ChangeLog	Mon Nov 09 09:39:16 2009 -0700
@@ -1,3 +1,17 @@
+2009-11-01  Stephen Turnbull  <stephen at xemacs.org>
+
+	* 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-05-18  Stephen J. Turnbull  <stephen at xemacs.org>
 
 	* XEmacs 21.5.29 "garbanzo" is released.
diff -r 80d74fed5399 lisp/faces.el
--- a/lisp/faces.el	Mon Nov 09 09:21:59 2009 -0700
+++ b/lisp/faces.el	Mon Nov 09 09:39:16 2009 -0700
@@ -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
@@ -1194,10 +1199,14 @@
   (Face-frob-property face locale tags exact-p
 		      nil nil 'font nil
 		      `(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 +1320,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 +1339,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 +1358,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 +1378,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 +1397,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
@@ -1410,9 +1419,13 @@
 		      nil nil 'font nil
 		      `(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

xemacs-beta-infodir.patch:
 configure.ac |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- NEW FILE xemacs-beta-infodir.patch ---
diff -up xemacs-beta/configure.ac~ xemacs-beta/configure.ac
--- xemacs-beta/configure.ac~	2009-03-08 15:00:21.000000000 +0200
+++ xemacs-beta/configure.ac	2009-03-09 23:39:52.000000000 +0200
@@ -1090,7 +1090,7 @@ then
   AC_DEFINE(DOCDIR_USER_DEFINED)
 fi
 
-if test "x$infodir_expanded" != "x${prefix_expanded}/share/info"
+if test "x$infodir" != 'x${datarootdir}/info'
 then
   AC_DEFINE(INFODIR_USER_DEFINED)
 else


--- NEW FILE xemacs-snapshot.sh ---
#!/bin/bash

set -e

if [ -z "$1" -o $# -ne 1 ]; then
  echo "Usage: $0 <hg-revision>"
  exit 2
fi

rev="$1"
tmp=$(mktemp -d)
tarball="xemacs-$(date +%Y%m%d)hg$rev.tar"

trap cleanup EXIT
cleanup() {
    set +e
    [ -z "$tmp" -o ! -d "$tmp" ] || rm -rf "$tmp"
}

unset CDPATH
pwd=$(pwd)
now=$(date +%Y%m%d)

cd "$tmp"
hg clone http://hg.debian.org/hg/xemacs/xemacs-beta
cd xemacs-beta
hg update -r "$rev"
# Hack to avoid needing .hg/ around but still getting xemacs-extra-name right
hg identify | cut -d " " -f 1 >> version.sh.in # see configure.ac
rm -r .hg*
cd ..
tar cf "$pwd/$tarball" xemacs-beta
xz -f "$pwd/$tarball"
cd - >/dev/null


Index: .cvsignore
===================================================================
RCS file: /cvs/pkgs/rpms/xemacs/EL-5/.cvsignore,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -p -r1.7 -r1.8
--- .cvsignore	12 Jun 2007 20:48:31 -0000	1.7
+++ .cvsignore	17 Mar 2010 14:58:03 -0000	1.8
@@ -1 +1 @@
-xemacs-21.5.28.tar.gz
+xemacs-21.5.29.tar.gz


Index: default.el
===================================================================
RCS file: /cvs/pkgs/rpms/xemacs/EL-5/default.el,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -p -r1.1 -r1.2
--- default.el	1 Mar 2005 22:11:36 -0000	1.1
+++ default.el	17 Mar 2010 14:58:04 -0000	1.2
@@ -1,11 +1,11 @@
 ;;; default.el - loaded at startup after "~/.xemacs/init.el" by default
 ;;;
-;;; Setting `inhibit-default-init' non-nil in "~/.xemacs/init.el"
+;;; Setting `inhibit-default-init' to non-nil in "~/.xemacs/init.el"
 ;;; prevents loading of this file.  The "-q" option to xemacs
 ;;; prevents "~/.xemacs/init.el" *and* this file from being loaded
 ;;; at startup.
 
-;; enable wheelmouse support by default
+;; enable wheel mouse support by default
 (when window-system
   (mwheel-install))
 
@@ -14,3 +14,15 @@
 
 ;; use terminfo by default
 (defvar system-uses-terminfo t)
+
+;; turn on syntax highlighting by default if lazy-lock is available
+(when (fboundp 'turn-on-lazy-lock)
+  (require 'font-lock)
+  ;; use lazy-lock by default if lazy-shot is not enabled
+  (remove-hook 'font-lock-mode-hook 'turn-on-lazy-lock)
+  (add-hook 'font-lock-mode-hook
+            (function
+             (lambda ()
+               (unless (and (boundp 'lazy-shot-mode) lazy-shot-mode)
+                 (turn-on-lazy-lock))))
+            t))


Index: dotxemacs-init.el
===================================================================
RCS file: /cvs/pkgs/rpms/xemacs/EL-5/dotxemacs-init.el,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -p -r1.1 -r1.2
--- dotxemacs-init.el	1 Mar 2005 22:11:36 -0000	1.1
+++ dotxemacs-init.el	17 Mar 2010 14:58:04 -0000	1.2
@@ -1,7 +1,4 @@
-;;; .xemacs/init.el
+;;; ~/.xemacs/init.el
 
 ;;; uncomment this line to disable loading of "default.el" at startup
-;; (setq inhibit-default-init t)
-
-;; default to unified diffs
-(setq diff-switches "-u")
+;(setq inhibit-default-init t)


Index: sources
===================================================================
RCS file: /cvs/pkgs/rpms/xemacs/EL-5/sources,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -p -r1.7 -r1.8
--- sources	12 Jun 2007 20:48:31 -0000	1.7
+++ sources	17 Mar 2010 14:58:04 -0000	1.8
@@ -1 +1 @@
-12e35715c5239c63651a8189973527ab  xemacs-21.5.28.tar.gz
+5364192ae0d3de23d9f4ce197e6493b5  xemacs-21.5.29.tar.gz

xemacs-21.5.25-mk-nochk-features.patch:
 Makefile.in.in |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Index: xemacs-21.5.25-mk-nochk-features.patch
===================================================================
RCS file: /cvs/pkgs/rpms/xemacs/EL-5/xemacs-21.5.25-mk-nochk-features.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -p -r1.1 -r1.2
--- xemacs-21.5.25-mk-nochk-features.patch	6 Apr 2006 16:27:53 -0000	1.1
+++ xemacs-21.5.25-mk-nochk-features.patch	17 Mar 2010 14:58:04 -0000	1.2
@@ -1,6 +1,6 @@
 --- xemacs-21.5.25/Makefile.in.in.orig	2005-12-31 14:41:23.000000000 +0200
 +++ xemacs-21.5.25/Makefile.in.in	2006-03-30 23:53:48.000000000 +0300
-@@ -375,7 +375,7 @@
+@@ -387,7 +387,7 @@
  
  install-only: ${MAKE_SUBDIR} check-features install-arch-dep install-arch-indep
  

xemacs-21.5.25-x-paths.patch:
 Emacs.ad |    2 +-
 xemacs.1 |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

Index: xemacs-21.5.25-x-paths.patch
===================================================================
RCS file: /cvs/pkgs/rpms/xemacs/EL-5/xemacs-21.5.25-x-paths.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -p -r1.1 -r1.2
--- xemacs-21.5.25-x-paths.patch	6 Apr 2006 16:27:53 -0000	1.1
+++ xemacs-21.5.25-x-paths.patch	17 Mar 2010 14:58:04 -0000	1.2
@@ -11,7 +11,7 @@
  ! personal customizations should be put into ~/.Xresources instead.)
 --- xemacs-21.5.25/etc/xemacs.1.orig	2001-04-12 21:20:52.000000000 +0300
 +++ xemacs-21.5.25/etc/xemacs.1	2006-03-30 23:36:47.000000000 +0300
-@@ -293,7 +293,7 @@
+@@ -288,7 +288,7 @@
  Sets the color of the text.
  
  See the file

xemacs-21.5.27-no-expdyn-ia64-106744.patch:
 aclocal.m4 |   11 ++++++-----
 configure  |    5 -----
 2 files changed, 6 insertions(+), 10 deletions(-)

Index: xemacs-21.5.27-no-expdyn-ia64-106744.patch
===================================================================
RCS file: /cvs/pkgs/rpms/xemacs/EL-5/xemacs-21.5.27-no-expdyn-ia64-106744.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -p -r1.1 -r1.2
--- xemacs-21.5.27-no-expdyn-ia64-106744.patch	25 Jan 2007 17:04:33 -0000	1.1
+++ xemacs-21.5.27-no-expdyn-ia64-106744.patch	17 Mar 2010 14:58:04 -0000	1.2
@@ -20,7 +20,7 @@
    case "$xehost_os" in
 --- xemacs-21.5.27/configure~	2006-05-16 07:16:04.000000000 +0300
 +++ xemacs-21.5.27/configure	2007-01-04 00:34:35.000000000 +0200
-@@ -21584,11 +21584,6 @@
+@@ -22928,11 +22928,6 @@
  fi # End of if cc_produces_so = no
  
  

xemacs-21.5.28-courier-default.patch:
 faces.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Index: xemacs-21.5.28-courier-default.patch
===================================================================
RCS file: /cvs/pkgs/rpms/xemacs/EL-5/xemacs-21.5.28-courier-default.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -p -r1.1 -r1.2
--- xemacs-21.5.28-courier-default.patch	12 Jun 2007 20:48:31 -0000	1.1
+++ xemacs-21.5.28-courier-default.patch	17 Mar 2010 14:58:04 -0000	1.2
@@ -1,14 +1,9 @@
---- src/faces.c	22 Apr 2007 19:58:59 -0000	1.55
-+++ src/faces.c	21 May 2007 14:51:50 -0000
-@@ -2397,11 +2397,12 @@
-        THAT WAS A GOOD IDEA?!?!) The other fonts that used to be specified
-        here gave horrendous results. */
- 
-+    /* Fedora change: no such issues here, back to courier for backcompat. */
-     inst_list =
-       Fcons 
+--- xemacs-21.5.28/src/faces.c	2009-05-18 14:51:08.000000000 -0000
++++ xemacs-21.5.28/src/faces.c	2009-08-24 17:07:03.000000000 -0000
+@@ -2411,7 +2411,7 @@
+       Fcons
        (Fcons
-        (list1 (device_symbol), 
+        (list1 (device_symbol),
 -	build_string ("-*-lucidatypewriter-medium-r-*-*-*-120-*-*-*-*-*-*")),
 +	build_string ("-*-courier-medium-r-*-*-*-120-*-*-*-*-*-*")),
         inst_list);


Index: xemacs-sitestart.el
===================================================================
RCS file: /cvs/pkgs/rpms/xemacs/EL-5/xemacs-sitestart.el,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -p -r1.7 -r1.8
--- xemacs-sitestart.el	25 Jan 2007 17:04:33 -0000	1.7
+++ xemacs-sitestart.el	17 Mar 2010 14:58:06 -0000	1.8
@@ -14,6 +14,12 @@
 ;; default to non-kerberos ftp
 (setq efs-ftp-program-name "/usr/bin/ftp")
 
+;; default to unified diffs
+(setq-default diff-switches "-u")
+
+;; decrease lazy-lock default threshold
+(setq-default lazy-lock-minimum-size (* 2 1024))
+
 ;; load .el files in "site-start.d/"
 (let ((files (directory-files
               "/usr/share/xemacs/site-packages/lisp/site-start.d" t "\\.el$")))


Index: xemacs.desktop
===================================================================
RCS file: /cvs/pkgs/rpms/xemacs/EL-5/xemacs.desktop,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -p -r1.3 -r1.4
--- xemacs.desktop	23 Apr 2006 18:05:29 -0000	1.3
+++ xemacs.desktop	17 Mar 2010 14:58:06 -0000	1.4
@@ -29,6 +29,5 @@ Exec=xemacs %f
 Icon=xemacs
 Type=Application
 Terminal=false
-Categories=Application;Development;TextEditor;
-Encoding=UTF-8
+Categories=Application;Utility;TextEditor
 StartupWMClass=XEmacs


Index: xemacs.spec
===================================================================
RCS file: /cvs/pkgs/rpms/xemacs/EL-5/xemacs.spec,v
retrieving revision 1.34
retrieving revision 1.35
diff -u -p -r1.34 -r1.35
--- xemacs.spec	5 Jul 2007 19:24:06 -0000	1.34
+++ xemacs.spec	17 Mar 2010 14:58:06 -0000	1.35
@@ -1,32 +1,38 @@
-# TODO: review desktop entry associations
+# TODO: review desktop entry associations (does text/* work?)
 # TODO: zero-length /usr/share/xemacs-21.5-b26/lisp/dump-paths.el
 # TODO: non-ASCII in buffer tabs
 
 %bcond_with     gtk
 %bcond_with     wnn
-%bcond_with     xaw3d
+%bcond_without  xaw3d
+%bcond_with     xfs
 %bcond_with     xft
 %bcond_without  mule
 %bcond_without  nox
-%bcond_without  stackprot
+%bcond_without  xim
 %ifarch ia64
+# no-expdyn-ia64 patch, https://bugzilla.redhat.com/show_bug.cgi?id=106744#c39
 %bcond_with     modules
 %else
 %bcond_without  modules
 %endif
 
-%define xver    %(echo %{version} | sed -e 's/\\.\\([0-9]\\+\\)$/-b\\1/')
-%define xbuild  %(echo %{_build} | sed -e 's/^\\([^-]*-[^-]*-[^-]*\\).*/\\1/')
+#global snap    20090311hg4626
+%global majver  21.5
 
 Name:           xemacs
-Version:        21.5.28
-Release:        3%{?dist}
+Version:        21.5.29
+Release:        12%{?snap:.%{snap}}%{?dist}
 Summary:        Different version of Emacs
 
 Group:          Applications/Editors
-License:        GPL
+License:        GPLv2+
 URL:            http://www.xemacs.org/
-Source0:        http://ftp.xemacs.org/xemacs-21.5/xemacs-%{version}.tar.gz
+%if 0%{?snap:1}
+Source0:        %{name}-%{snap}.tar.xz
+%else
+Source0:        http://ftp.xemacs.org/xemacs-%{majver}/xemacs-%{version}.tar.gz
+%endif
 Source1:        %{name}.png
 Source2:        xemacs.desktop
 Source3:        dotxemacs-init.el
@@ -35,16 +41,27 @@ Source5:        xemacs-sitestart.el
 
 Patch0:         %{name}-21.5.26-utf8-fonts.patch
 Patch1:         %{name}-21.5.25-x-paths.patch
-Patch2:         %{name}-21.5.28-doc-encodings.patch
+# Applied upstream 2009-07-01
+Patch2:         %{name}-21.5.29-image-overflow.patch
 Patch3:         %{name}-21.5.25-mk-nochk-features.patch
 Patch4:         %{name}-21.5.27-no-expdyn-ia64-106744.patch
 Patch5:         %{name}-21.5.25-wnnfix-128362.patch
-# http://www.archivum.info/comp.emacs.xemacs/2005-08/msg00047.html
-Patch6:         %{name}-21.5.26-gtk-gcc4.patch
-Patch7:         %{name}-21.5.27-finder-lisp-dir.patch
+# Proposed by upstream 2009-08-25
+Patch6:         %{name}-21.5.29-no-xft.patch
+# Applied upstream 2009-09-23
+Patch7:         %{name}-21.5.29-png.patch
 Patch8:         %{name}-21.5.28-courier-default.patch
-Patch9:         %{name}-21.5.28-destdir.patch
-Patch10:        %{name}-21.5.28-revert-modified-245017.patch
+Patch9:         %{name}-21.5.29-destdir.patch
+# Sent upstream 2009-10-28
+Patch10:        %{name}-21.5.29-tty-font-512623.patch
+# Sent upstream 2009-12-08
+Patch11:        %{name}-21.5.29-etags-memmove-545399.patch
+# Applied upstream 2009-12-21
+Patch12:        %{name}-21.5.29-arabic-547840.patch
+# Applied upstream 2009-01-07
+Patch13:        %{name}-21.5.29-dired-550145.patch
+# Sent upstream 2009-03-12
+Patch14:        %{name}-beta-infodir.patch
 
 BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
@@ -56,12 +73,10 @@ BuildRequires:  gpm-devel
 BuildRequires:  pam-devel
 BuildRequires:  zlib-devel
 BuildRequires:  libjpeg-devel
-BuildRequires:  compface-devel
 BuildRequires:  libpng-devel
 BuildRequires:  libtiff-devel
 BuildRequires:  desktop-file-utils
 %if %{with mule}
-BuildRequires:  Canna-devel
 %if %{with wnn}
 BuildRequires:  FreeWnn-devel
 %endif # wnn
@@ -70,6 +85,7 @@ BuildRequires:  xmkmf
 BuildRequires:  libXau-devel
 BuildRequires:  libXpm-devel
 BuildRequires:  alsa-lib-devel
+BuildRequires:  gmp-devel
 %if %{with gtk}
 BuildRequires:  gtk+-devel
 BuildRequires:  libglade-devel
@@ -85,12 +101,17 @@ BuildRequires:  neXtaw-devel
 BuildRequires:  libXft-devel
 %endif # xft
 # Note: no xemacs-packages-extra dependency here, need main pkg to build it.
-Requires:       xemacs-packages-base >= 20060510
+# Requires:       xemacs-packages-base >= 20060510
 Requires:       %{name}-common = %{version}-%{release}
 Requires:       xorg-x11-fonts-ISO8859-1-75dpi
 Requires:       xorg-x11-fonts-ISO8859-1-100dpi
+Requires:       xorg-x11-fonts-misc
+Requires(post): coreutils
 Provides:       xemacs(bin) = %{version}-%{release}
 
+%global xver    %(echo %{version} | sed -e 's/\\.\\([0-9]\\+\\)$/-b\\1/')
+%global xbuild  %(echo %{_build} | sed -e 's/^\\([^-]*-[^-]*-[^-]*\\).*/\\1/')
+
 %description
 XEmacs is a highly customizable open source text editor and
 application development system.  It is protected under the GNU General
@@ -122,6 +143,7 @@ Group:          Applications/Editors
 # Note: no xemacs-packages* dependencies here, we need -nox to build the
 # base package set.
 Requires:       %{name}-common = %{version}-%{release}
+Requires(post): coreutils
 Provides:       xemacs(bin) = %{version}-%{release}
 
 %description    nox
@@ -151,6 +173,9 @@ interest when developing or debugging XE
 %package        info
 Summary:        XEmacs documentation in GNU texinfo format
 Group:          Documentation
+%if 0%{?fedora} >= 10
+BuildArch:      noarch
+%endif
 Requires(post): /sbin/install-info
 Requires(preun): /sbin/install-info
 
@@ -180,13 +205,13 @@ This package contains XEmacs development
 
 
 %prep
-%setup -q
+%setup -q -n %{name}-%{?snap:beta}%{!?snap:%{version}}
 find . -type f -name "*.elc" -o -name "*.info*" | xargs rm -f
 rm -f configure.in
 sed -i -e /tetris/d lisp/menubar-items.el
 %patch0 -p1
 %patch1 -p1
-%patch2 -p0
+%patch2 -p1
 %patch3 -p1
 %ifarch ia64
 touch -r aclocal.m4 aclocal.m4-stamp
@@ -194,11 +219,17 @@ touch -r aclocal.m4 aclocal.m4-stamp
 touch -r aclocal.m4-stamp aclocal.m4
 %endif
 %patch5 -p1
+%if %{without xft}
 %patch6 -p1
-%patch7 -p0
-%patch8 -p0
+%endif
+%patch7 -p1
+%patch8 -p1
 %patch9 -p1
-%patch10 -p0
+%patch10 -p1
+%patch11 -p1
+%patch12 -p1
+%patch13 -p1
+%patch14 -p1
 
 sed -i -e 's/"lib"/"%{_lib}"/' lisp/setup-paths.el
 
@@ -211,10 +242,6 @@ done
 
 %build
 CFLAGS="${CFLAGS:-$RPM_OPT_FLAGS -fno-strict-aliasing}"
-%if ! %{with stackprot}
-CFLAGS="$(echo $CFLAGS | sed -e 's/-fstack-protector\s*//g')"
-CFLAGS="$(echo $CFLAGS | sed -e 's/--param=ssp-buffer-size=[0-9]\+\s*//')"
-%endif
 %if %{with gtk}
 CFLAGS="$CFLAGS $(pkg-config libglade --cflags)"
 %endif
@@ -252,6 +279,7 @@ common_options="
 %endif
     --with-debug
     --with-error-checking=none
+    --enable-bignum=gmp
 "
 
 %if %{with nox}
@@ -267,6 +295,7 @@ make EMACSDEBUGPATHS=yes # toplevel para
 mv lib-src/DOC{,-nox}
 mv src/xemacs{,-nox-%{xver}}
 mv lib-src/config.values{,-nox}
+mv Installation{,-nox}
 # grab these from -nox, the X ones may have deps on ALSA, X, etc
 for file in {e,oo}tags gnuserv {fake,move}mail yow ; do
     mv lib-src/$file{,-mindep}
@@ -276,11 +305,14 @@ done
 # build with X
 %configure $common_options \
     --with-docdir=%{_libdir}/xemacs-%{xver}/doc \
+    --with-sound=nonative,alsa \
 %if %{with xft}
     --with-xft=all \
 %else
+%if %{with xfs}
     --with-xfs \
 %endif
+%endif
 %if %{with gtk}
     --with-gtk \
     --with-gnome \
@@ -290,7 +322,7 @@ done
     --with-widgets=athena \
     --with-dialogs=athena \
     --with-scrollbars=lucid \
-    --with-xim=xlib \
+    --with-xim=%{?with_xim:xlib}%{!?with_xim:no} \
 %endif
 %if ! %{with wnn}
     --without-wnn
@@ -315,6 +347,19 @@ Cflags: -I${includedir}
 %endif
 EOF
 
+cat > macros.xemacs << EOF
+%%_xemacs_version %{majver}
+%%_xemacs_ev %{?epoch:%{epoch}:}%{version}
+%%_xemacs_evr %{?epoch:%{epoch}:}%{version}-%{release}
+%%_xemacs_sitepkgdir %{_datadir}/xemacs/site-packages
+%%_xemacs_sitelispdir %{_datadir}/xemacs/site-packages/lisp
+%%_xemacs_sitestartdir %{_datadir}/xemacs/site-packages/lisp/site-start.d
+%%_xemacs_bytecompile /usr/bin/xemacs -q -no-site-file -batch -f batch-byte-compile
+%if %{with modules}
+%%_xemacs_includedir %{_libdir}/xemacs-%{xver}/%{xbuild}/include
+%%_xemacs_sitemoduledir %{_libdir}/xemacs/site-modules
+%endif
+EOF
 
 %install
 rm -rf $RPM_BUILD_ROOT
@@ -350,11 +395,8 @@ rm -f $RPM_BUILD_ROOT%{_infodir}/standar
 rm -f $RPM_BUILD_ROOT%{_infodir}/termcap*
 rm -f $RPM_BUILD_ROOT%{_infodir}/dir
 
-desktop-file-install \
-    --vendor=fedora \
-    --mode=644 \
+desktop-file-install --vendor=fedora --mode=644 \
     --dir=$RPM_BUILD_ROOT%{_datadir}/applications \
-    --add-category=X-Fedora \
     %{SOURCE2}
 
 # lockdir
@@ -376,8 +418,12 @@ install -Dpm 644 %{SOURCE3} $RPM_BUILD_R
 install -Dpm 644 %{SOURCE1} \
     $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/48x48/apps/xemacs.png
 
+# macro file
+install -Dpm 644 macros.xemacs $RPM_BUILD_ROOT%{_sysconfdir}/rpm/macros.xemacs
+
 # make sure nothing is 0400
 chmod -R a+rX $RPM_BUILD_ROOT%{_prefix}
+chmod a+x $RPM_BUILD_ROOT%{_datadir}/xemacs-%{xver}%{_sysconfdir}/xemacs-fe.sh
 
 # clean up unneeded stuff (TODO: there's probably much more)
 find $RPM_BUILD_ROOT%{_prefix} -name "*~" | xargs -r rm
@@ -421,15 +467,23 @@ rm -rf $RPM_BUILD_ROOT
 # rm because alternatives won't overwrite pre-alternatives symlink, bug?
 rm -f %{_bindir}/xemacs && \
 %{_sbindir}/alternatives --install %{_bindir}/xemacs xemacs \
-    %{_bindir}/xemacs-%{xver} 80 || :
-gtk-update-icon-cache -qf %{_datadir}/icons/hicolor 2>/dev/null || :
-update-desktop-database -q %{_datadir}/applications 2>/dev/null || :
+    %{_bindir}/xemacs-%{xver} 80
+touch --no-create %{_datadir}/icons/hicolor &>/dev/null
+:
 
 %postun
 [ -e %{_bindir}/xemacs-%{xver} ] || \
-%{_sbindir}/alternatives --remove xemacs %{_bindir}/xemacs-%{xver} || :
-gtk-update-icon-cache -qf %{_datadir}/icons/hicolor 2>/dev/null || :
-update-desktop-database -q %{_datadir}/applications 2>/dev/null || :
+%{_sbindir}/alternatives --remove xemacs %{_bindir}/xemacs-%{xver}
+if [ $1 -eq 0 ] ; then
+    update-desktop-database %{_datadir}/applications &>/dev/null
+    touch --no-create %{_datadir}/icons/hicolor &>/dev/null
+    gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null
+fi
+:
+
+%posttrans
+update-desktop-database %{_datadir}/applications &>/dev/null
+gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
 
 %post nox
 # rm because alternatives won't overwrite pre-alternatives symlink, bug?
@@ -451,30 +505,28 @@ rm -f %{_bindir}/xemacs && \
 
 %post info
 for file in xemacs cl internals lispref new-users-guide ; do
-    /sbin/install-info %{_infodir}/$file.info %{_infodir}/dir || :
+    /sbin/install-info %{_infodir}/$file.info %{_infodir}/dir
 done
+:
 
 %preun info
 if [ $1 -eq 0 ] ; then
     for file in xemacs cl internals lispref new-users-guide ; do
-        /sbin/install-info --delete %{_infodir}/$file.info %{_infodir}/dir || :
+        /sbin/install-info --delete %{_infodir}/$file.info %{_infodir}/dir
     done
 fi
+:
 
 
 %files
 %defattr(-,root,root,-)
+%doc Installation
 # gnuclient needs X libs, so not in -common
 %{_bindir}/gnuclient
 %{_bindir}/gnudoit
 %ghost %{_bindir}/xemacs
 %{_bindir}/xemacs-%{xver}
 %{_libdir}/xemacs-%{xver}/doc/
-%if %{with modules}
-%if %{with mule}
-%{_libdir}/xemacs-%{xver}/%{xbuild}/modules/canna_api.ell
-%endif
-%endif
 %{_datadir}/applications/*-%{name}.desktop
 %{_datadir}/icons/hicolor/48x48/apps/xemacs.png
 %{_mandir}/man1/gnuclient.1*
@@ -483,6 +535,7 @@ fi
 %if %{with nox}
 %files nox
 %defattr(-,root,root,-)
+%doc Installation-nox
 %ghost %{_bindir}/xemacs
 %{_bindir}/xemacs-nox
 %{_bindir}/xemacs-nox-%{xver}
@@ -496,6 +549,7 @@ fi
 %doc etc/editclient.sh
 %{_bindir}/etags.xemacs
 %{_bindir}/ootags
+%{_bindir}/xemacs-script
 %dir %{_libdir}/xemacs-%{xver}/
 %dir %{_libdir}/xemacs-%{xver}/%{xbuild}/
 %{_libdir}/xemacs-%{xver}/%{xbuild}/[acdfghprsvwy]*
@@ -506,6 +560,7 @@ fi
 %dir %{_libdir}/xemacs-%{xver}/%{xbuild}/modules/
 %{_libdir}/xemacs-%{xver}/%{xbuild}/modules/auto-autoloads.elc
 %endif
+%config(noreplace) %{_sysconfdir}/rpm/macros.xemacs
 %config(noreplace) %{_sysconfdir}/skel/.xemacs/
 %{_mandir}/man1/etags.xemacs.1*
 %{_mandir}/man1/gnuserv.1*
@@ -532,6 +587,100 @@ fi
 
 
 %changelog
+* Tue Mar  2 2010 Jerry James <loganjerry at gmail.com> - 21.5.29-12
+- Remove the bitmap-fonts dependency.
+
+* Thu Jan  7 2010 Jerry James <loganjerry at gmail.com> - 21.5.29-11
+- New upstream patch for bz 547840.
+- Add dired patch for large files (bz 550145).
+- Replace "lzma" with "xz" for snapshots.
+
+* Mon Dec 21 2009 Jerry James <loganjerry at gmail.com> - 21.5.29-10
+- Don't crash with a Persian keyboard layout (bz 547840)
+
+* Tue Dec  8 2009 Jerry James <loganjerry at gmail.com> - 21.5.29-9
+- Add patch to use memmove in etags (bz 545399).
+
+* Mon Nov  9 2009 Jerry James <loganjerry at gmail.com> - 21.5.29-8
+- Move macros.xemacs to the -common subpackage (bz 533611).
+- Updated TTY font patch from upstream.
+
+* Tue Nov  3 2009 Jerry James <loganjerry at gmail.com> - 21.5.29-7
+- Make the desktop file consistent with Emacs (bz 532296).
+
+* Wed Oct 28 2009 Jerry James <loganjerry at gmail.com> - 21.5.29-6
+- Bring back the courier font patch; that was a red herring.
+- Really, seriously fix bz 512623 with a TTY font patch.
+- Fix the version number in macros.xemacs.
+- Build with bignum support.
+- Turn off OSS support.
+
+* Wed Sep 23 2009 Jerry James <loganjerry at gmail.com> - 21.5.29-5
+- Final fix for bz 512623, which is actually two bugs, because ...
+- ... the courier font patch breaks TTY font detection.  Removed that patch
+  and Require bitmap-fonts to supply the original font name.
+- Add macros.xemacs (bz 480546)
+- Add png patch to fix a problem with reading PNG files
+
+* Wed Aug 26 2009 Jerry James <loganjerry at gmail.com> - 21.5.29-4
+- Use upstream's attempt at fixing #512623 instead of mine, which didn't work.
+
+* Mon Aug 24 2009 Jerry James <loganjerry at gmail.com> - 21.5.29-3
+- Fix image overflow bug (CVE-2009-2688).
+- Fix calling xft-font-create-object in non-Xft builds (#512623).
+- Rebase patches to eliminate fuzz/offsets.
+
+* Mon Jul 27 2009 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 21.5.29-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
+
+* Wed May 20 2009 Ville Skyttä <ville.skytta at iki.fi> - 21.5.29-1
+- Update to 21.5.29; gtk-gcc4, finder-lisp-dir, 3d-athena, autoconf262,
+  doc-encodings, revert-modified, and xemacs-base-autoloads patches applied
+  upstream.
+
+* Thu Mar 12 2009 Ville Skyttä <ville.skytta at iki.fi> - 21.5.28-13
+- Add possibility to build upstream hg snapshots.
+- Add dependency on xorg-x11-fonts-misc (#478370, Carl Brune).
+- Include Installation{,-nox} in docs.
+
+* Sun Mar  8 2009 Ville Skyttä <ville.skytta at iki.fi> - 21.5.28-12
+- Make XFontSet support optional at build time and disable it by default
+  to work around #478370.
+
+* Thu Feb 26 2009 Ville Skyttä <ville.skytta at iki.fi> - 21.5.28-11
+- Apply upstream autoload changes to be able to build recent XEmacs packages.
+- Make support for XIM optional at build time, still enabled by default.
+- Drop support for building without stack protector compiler flags.
+- Make -info subpackage noarch when built for Fedora >= 10.
+- Improve icon cache and desktop database refresh scriptlets.
+- Use %%global instead of %%define.
+
+* Thu Feb 26 2009 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 21.5.28-10
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
+
+* Sun Jul 20 2008 Ville Skyttä <ville.skytta at iki.fi> - 21.5.28-9
+- Rebuild.
+
+* Sun Jul  6 2008 Ville Skyttä <ville.skytta at iki.fi> - 21.5.28-8
+- Apply upstream fix for detection of 3D Athena widget sets.
+
+* Sun Jul  6 2008 Ville Skyttä <ville.skytta at iki.fi> - 21.5.28-7
+- Fix build with autoconf >= 2.62 (#449626).
+
+* Tue Feb 19 2008 Fedora Release Engineering <rel-eng at fedoraproject.org> - 21.5.28-6
+- Autorebuild for GCC 4.3
+
+* Fri Aug 17 2007 Ville Skyttä <ville.skytta at iki.fi> - 21.5.28-5
+- Turn on syntax highlighting by default only if lazy-lock is available.
+- Requires(post): coreutils in main package and -nox.
+- Scriptlet cleanups.
+- License: GPLv2+
+
+* Sat Jun 30 2007 Ville Skyttä <ville.skytta at iki.fi> - 21.5.28-4
+- Turn on syntax highlighting with lazy-lock by default.
+- Drop Application and X-Fedora categories and Encoding from desktop entry.
+- Move diff-switches default from skeleton init.el to site-start.el.
+
 * Sun Jun 24 2007 Ville Skyttä <ville.skytta at iki.fi> - 21.5.28-3
 - Apply upstream fix for #245017.
 


--- xemacs-21.5.26-gtk-gcc4.patch DELETED ---


--- xemacs-21.5.27-finder-lisp-dir.patch DELETED ---


--- xemacs-21.5.28-destdir.patch DELETED ---


--- xemacs-21.5.28-doc-encodings.patch DELETED ---


--- xemacs-21.5.28-revert-modified-245017.patch DELETED ---



More information about the scm-commits mailing list