SHA256
1
0
forked from pool/xemacs
Dr. Werner Fink 2012-03-02 16:42:18 +00:00 committed by Git OBS Bridge
parent 2105f4c6d7
commit 9c447c81fd
20 changed files with 98 additions and 3184 deletions

View File

@ -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 <stephen@xemacs.org>
+
+ * 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 <james@xemacs.org>
* 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 <stephen@xemacs.org>
+
+ * faces.c (complex_vars_of_faces): Explain why "*" isn't rewritten
+ as a full XLFD.
+
2009-11-19 Vin Shelton <acs@xemacs.org>
* 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

View File

@ -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)

View File

@ -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

View File

@ -1,148 +0,0 @@
# HG changeset patch
# User Stephen J. Turnbull <stephen@xemacs.org>
# 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 <stephen@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-10-09 Stephen Turnbull <stephen@xemacs.org>
--- 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

View File

@ -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 <http://www.gnu.org/licenses/>.
+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
## <http://www.gnu.org/licenses/>.
+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 <http://www.gnu.org/licenses/>.
+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:

View File

@ -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

View File

@ -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 */

View File

@ -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

View File

@ -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~

View File

@ -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))

View File

@ -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)

View File

@ -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)))))

3
xemacs-21.5.31.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d59f90b7e72621376a23daa484f1929945d0527350a10989fd086bde9d0a997d
size 15802193

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3f3880590588e727a99eebdec4deec354f5c1b2be51c6ee524a16571f7c5599a
size 9999561

File diff suppressed because it is too large Load Diff

View File

@ -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));

1
xemacs-rpmlintrc Normal file
View File

@ -0,0 +1 @@
addFilter(".*zero-length.*dump-paths\.el.*")

View File

@ -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

View File

@ -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.

View File

@ -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