clisp/clisp-2.39.dif

495 lines
18 KiB
Plaintext
Raw Blame History

--- .pkgextract
+++ .pkgextract 2006-05-22 18:06:36.000000000 +0200
@@ -0,0 +1,6 @@
+patch -p0 -s --suffix=.mappriv < ../clisp-2.31-map_private.patch
+patch -p0 -s --suffix=.mapvar < ../clisp-2.31-map_variable.patch
+patch -p0 -s --suffix=.sel < ../clisp-2.31-personality.patch
+patch -p0 -s --suffix=.ia64 < ../clisp-2.33.2-ia64.dif
+patch -p0 -s --suffix=.alloca < ../clisp-2.36-alloca.patch
+patch -p0 -s --suffix=.dump < ../clisp-2.39-dump.dif
--- configure
+++ configure 2006-05-22 18:06:36.000000000 +0200
@@ -341,6 +341,17 @@
passnext=yes
passnextm=yes ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+ subdir_configure_args="$subdir_configure_args $arg"
+ makemake_args="$makemake_args --libdir="`echo "$arg" | sed 's,^[-_a-zA-Z0-9]*=,,'` ;;
+
+ -libdir | --libdir | --libdi | --libd)
+ subdir_configure_args="$subdir_configure_args $arg"
+ makemake_args="$makemake_args --libdir="
+ prev=libdir
+ passnext=yes
+ passnextm=yes ;;
+
--hyperspec=* | --hyperspe=* | --hypersp=* | --hypers=* | --hs=* | --hy=*)
makemake_args="$makemake_args --hyperspec="`echo "$arg" | sed 's,^[-_a-zA-Z0-9]*=,,'` ;;
@@ -718,9 +729,6 @@
make config.lisp;
${EDITOR:-vi} config.lisp;
fi
- # ulimit: just to make sure, should not hurt
- # cygwin /bin/sh ulimit is broken
- set +e; ulimit -s 8192 2>/dev/null; set -e;
make
make check
cd ..
--- ffcall/build-aux/config.guess
+++ ffcall/build-aux/config.guess 2006-05-22 18:06:36.000000000 +0200
@@ -983,6 +983,7 @@
exit ;;
esac
# Determine whether the default compiler is a.out or elf
+ test -e /etc/SuSE-release && VENDOR=suse
eval $set_cc_for_build
sed 's/^ //' << EOF >$dummy.c
#include <features.h>
--- ffcall/callback/trampoline_r/trampoline.c
+++ ffcall/callback/trampoline_r/trampoline.c 2006-05-22 18:06:36.000000000 +0200
@@ -191,15 +191,11 @@
#ifdef ultrix
#include <mips/cachectl.h>
#else
-#ifdef linux
-#include <asm/cachectl.h>
-#else
#ifdef HAVE_SYS_CACHECTL_H
#include <sys/cachectl.h>
#endif
#endif
#endif
-#endif
#ifdef __m88k__
#include <sys/syslocal.h>
#endif
--- libcharset/build-aux/config.guess
+++ libcharset/build-aux/config.guess 2006-05-22 18:06:36.000000000 +0200
@@ -983,6 +983,7 @@
exit ;;
esac
# Determine whether the default compiler is a.out or elf
+ test -e /etc/SuSE-release && VENDOR=suse
eval $set_cc_for_build
sed 's/^ //' << EOF >$dummy.c
#include <features.h>
--- libcharset/lib/Makefile.in
+++ libcharset/lib/Makefile.in 2006-05-22 18:06:36.000000000 +0200
@@ -57,10 +57,10 @@
$(LIBTOOL_LINK) $(CC) $(LDFLAGS) -o libcharset.la -rpath $(libdir) -version-info $(LIBCHARSET_VERSION_INFO) -no-undefined $(OBJECTS)
localcharset.lo : $(srcdir)/localcharset.c
- $(LIBTOOL_COMPILE) $(CC) $(INCLUDES) $(CFLAGS) $(CPPFLAGS) $(DEFS) -c $(srcdir)/localcharset.c
+ $(LIBTOOL_COMPILE) $(CC) $(INCLUDES) $(CFLAGS) $(CPPFLAGS) $(DEFS) -fPIC -c $(srcdir)/localcharset.c
relocatable.lo : $(srcdir)/relocatable.c $(srcdir)/relocatable.h
- $(LIBTOOL_COMPILE) $(CC) $(INCLUDES) $(CFLAGS) $(CPPFLAGS) $(DEFS) -c $(srcdir)/relocatable.c
+ $(LIBTOOL_COMPILE) $(CC) $(INCLUDES) $(CFLAGS) $(CPPFLAGS) $(DEFS) -fPIC -c $(srcdir)/relocatable.c
charset.alias: $(srcdir)/config.charset
$(SHELL) $(srcdir)/config.charset '@host@' > t-$@
--- modules/clx/new-clx/README.SuSE
+++ modules/clx/new-clx/README.SuSE 2006-05-22 18:06:36.000000000 +0200
@@ -1,35 +1,34 @@
-
#
-# (C) 1998, S.u.S.E. GmbH, Nürnberg
+# (C) 1997-99, SuSE GmbH, N<>rnberg
#
Call of CLX
- Please call clisp with the option -F to use clx. The X Window System
-is required for the usage of clx. Therefore the clisp version under
-/usr/lib/clisp/clx/ is used.
+ Please call clisp with the option '-K full' to use clx. The
+X Window System is required for the usage of clx. Therefore the clisp
+version under /usr/lib/clisp/full/ is used.
For some examples of clx try out in the directory demos/
- clisp -X -q -i sokoban
+ clisp -K full -q -i sokoban
and
- clisp -X -q -i qix
+ clisp -K full -q -i qix
----------------------------------------------------------------------------
Aufruf von CLX
- Bitte rufen Sie clisp mit der Option -X auf. Clx erfordert ein
+ Bitte rufen Sie clisp mit der Option '-K full' auf. CLX erfordert ein
installiertes X-Window-System. Daher wird die entsprechende clisp-Version
-aus /usr/lib/clisp/clx/ benutzt.
-Sie finden zwei Beispiele für clx im Verzeichnis demos/
+aus /usr/lib/clisp/full/ benutzt.
+Sie finden zwei Beispiele f<>r clx im Verzeichnis demos/
- clisp -X -q -i sokoban
+ clisp -K full -q -i sokoban
und
- clisp -X -q -i qix
+ clisp -K full -q -i qix
--- modules/clx/new-clx/clx.lisp
+++ modules/clx/new-clx/clx.lisp 2006-05-22 18:06:36.000000000 +0200
@@ -22,6 +22,7 @@
;;;; --------------------------------------------------------------------------
;;;; Exports
;;;; --------------------------------------------------------------------------
+(export '*displays*)
(export
'(*version* access-control access-error access-hosts activate-screen-saver
add-access-host add-resource add-to-save-set alist alloc-color
--- modules/clx/new-clx/demos/koch.lisp
+++ modules/clx/new-clx/demos/koch.lisp 2006-05-22 18:06:36.000000000 +0200
@@ -7,7 +7,30 @@
;;; $Id: koch.lisp,v 1.1 2005/09/28 22:23:24 sds Exp $
;;; $Source: /cvsroot/clisp/clisp/modules/clx/new-clx/demos/koch.lisp,v $
-(in-package :clx-demos)
+(defpackage "KOCH"
+ (:use "COMMON-LISP" "XLIB" "EXT")
+ (:import-from "SYS" "GETENV")
+ (:shadowing-import-from "XLIB" "CHAR-WIDTH") ; EXT has CHAR-WIDTH
+ (:export "KOCH"))
+
+(in-package :koch)
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+(defun x-host-display (&optional (disp (getenv "DISPLAY")))
+ "Parse the DISPLAY environment variable.
+Return 3 values: host, server, screen."
+ (if disp
+ (let* ((pos1 (position #\: disp))
+ (pos2 (and pos1 (position #\. disp :start pos1))))
+ (values (subseq disp 0 pos1)
+ (if pos1 (parse-integer (subseq disp (1+ pos1) pos2)) 0)
+ (if pos2 (parse-integer (subseq disp (1+ pos2))) 0)))
+ (values "" 0 0)))
+
+(defun x-open-display ()
+ "Open the appropriate X display."
+ (multiple-value-bind (host di) (x-host-display)
+ (xlib:open-display host :display di)))
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun koch-point (cx width/2 height/2 scale)
(list (round (+ width/2 (* scale width/2 (realpart cx))))
@@ -118,7 +141,7 @@
(xlib:close-display dpy)))
(format t "~& Koch snoflake:~%
- (clx-demos:koch :width :height :delay :x :y :scale :font)
-~% Call (clx-demos:koch).~%")
+ (koch:koch :width :height :delay :x :y :scale :font)
+~% Call (koch:koch)~%~%")
(provide :koch)
--- modules/clx/new-clx/demos/qix.lisp
+++ modules/clx/new-clx/demos/qix.lisp 2006-05-22 18:06:36.000000000 +0200
@@ -14,7 +14,30 @@
;;;; o or a spline option?!
;;;;
-(in-package :clx-demos)
+(defpackage "QIX"
+ (:use "COMMON-LISP" "XLIB" "EXT")
+ (:import-from "SYS" "GETENV")
+ (:shadowing-import-from "XLIB" "CHAR-WIDTH") ; EXT has CHAR-WIDTH
+ (:export "QIX"))
+
+(in-package :qix)
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+(defun x-host-display (&optional (disp (getenv "DISPLAY")))
+ "Parse the DISPLAY environment variable.
+Return 3 values: host, server, screen."
+ (if disp
+ (let* ((pos1 (position #\: disp))
+ (pos2 (and pos1 (position #\. disp :start pos1))))
+ (values (subseq disp 0 pos1)
+ (if pos1 (parse-integer (subseq disp (1+ pos1) pos2)) 0)
+ (if pos2 (parse-integer (subseq disp (1+ pos2))) 0)))
+ (values "" 0 0)))
+
+(defun x-open-display ()
+ "Open the appropriate X display."
+ (multiple-value-bind (host di) (x-host-display)
+ (xlib:open-display host :display di)))
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defvar *offset* 3)
(defvar *delta* 6)
@@ -92,7 +115,7 @@
;; since we have no herald, simply dump it:
(format t "~& The famous swirling vectors.~%
- (clx-demos:qix :host :display :dpy :width :height :delay :nqixs :nlines)
-~% Call (clx-demos:qix) or (clx-demos:qix :delay 0).~%")
+ (qix:qix :host :display :dpy :width :height :delay :nqixs :nlines)
+~% Call (qix:qix) or (qix:qix :delay 0)~%~%")
(provide "qix")
--- modules/clx/new-clx/demos/sokoban.lisp
+++ modules/clx/new-clx/demos/sokoban.lisp 2006-05-22 18:06:36.000000000 +0200
@@ -39,7 +39,30 @@
;;;; - maximum field size is hard wired to 20x20. (This is not in the LISP spirit!)
;;;; - sometimes the programm could not count correctly ...
-(in-package :clx-demos)
+(defpackage "SOKOBAN"
+ (:use "COMMON-LISP")
+ (:import-from "SYS" "GETENV")
+ (:import-from "XLIB" "CLOSED-DISPLAY-P")
+ (:export "SOKOBAN"))
+
+(in-package :sokoban)
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+(defun x-host-display (&optional (disp (getenv "DISPLAY")))
+ "Parse the DISPLAY environment variable.
+Return 3 values: host, server, screen."
+ (if disp
+ (let* ((pos1 (position #\: disp))
+ (pos2 (and pos1 (position #\. disp :start pos1))))
+ (values (subseq disp 0 pos1)
+ (if pos1 (parse-integer (subseq disp (1+ pos1) pos2)) 0)
+ (if pos2 (parse-integer (subseq disp (1+ pos2))) 0)))
+ (values "" 0 0)))
+
+(defun x-open-display ()
+ "Open the appropriate X display."
+ (multiple-value-bind (host di) (x-host-display)
+ (xlib:open-display host :display di)))
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;; First a lot of global variables ...
(defvar *pixmaps* nil) ;array of pixmaps according to below indices
@@ -222,7 +245,12 @@
(nny (+ ny dy)))
(when (>= (field nnx nny) %floor)
;;Ok its legal ...
- (when (and (= (field nx ny) %object)
+ ;;Allow moving through
+ (when (and (= (field nx ny) %treasure)
+ (= (field nnx nny) %floor))
+ (incf *n-objects*))
+ ;;Take this point
+ (when (and (= (field nx ny) %object)
(= (field nnx nny) %goal))
(decf *n-objects*))
(incf (field nx ny) 4) ;remove object and add man
@@ -462,6 +490,6 @@
;; These functions should realy been compiled:
;; '(mapcar #'compile '(init-field ready-p update find-outers field find-target walk-to))
-(format t "~& Call (clx-demos:sokoban).~%")
+(format t "~&~% Call (sokoban:sokoban)~%~%")
(provide "sokoban")
--- modules/postgresql/config.h.in
+++ modules/postgresql/config.h.in 2006-05-22 18:25:12.000000000 +0200
@@ -36,6 +36,9 @@
/* Define to 1 if you have the <memory.h> header file. */
#undef HAVE_MEMORY_H
+/* Define to 1 if you have the <pgsql/postgres_ext.h> header file. */
+#undef HAVE_PGSQL_POSTGRES_EXT_H
+
/* Define to 1 if you have the <postgresql/postgres_ext.h> header file. */
#undef HAVE_POSTGRESQL_POSTGRES_EXT_H
--- modules/postgresql/configure
+++ modules/postgresql/configure 2006-05-22 18:09:09.000000000 +0200
@@ -3481,7 +3481,7 @@
-for ac_header in postgres_ext.h postgresql/postgres_ext.h
+for ac_header in postgres_ext.h postgresql/postgres_ext.h pgsql/postgres_ext.h
do
as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
if eval "test \"\${$as_ac_Header+set}\" = set"; then
@@ -3630,7 +3630,7 @@
done
-if test "$ac_cv_header_postgres_ext_h" = "no" -a "$ac_cv_header_postgresql_postgres_ext_h" = "no"; then
+if test "$ac_cv_header_postgres_ext_h" = "no" -a "$ac_cv_header_postgresql_postgres_ext_h" = "no" -a "$ac_cv_header_pgsql_postgres_ext_h" = "no"; then
{ { echo "$as_me:$LINENO: error: cannot find PostgreSQL headers" >&5
echo "$as_me: error: cannot find PostgreSQL headers" >&2;}
{ (exit 1); exit 1; }; }
--- modules/postgresql/configure.in
+++ modules/postgresql/configure.in 2006-05-22 18:09:54.000000000 +0200
@@ -18,8 +18,8 @@
AC_MSG_NOTICE([* PostgreSQL (Headers)])
AC_HEADER_STDC
AC_HEADER_TIME
-AC_CHECK_HEADERS(postgres_ext.h postgresql/postgres_ext.h)
-if test "$ac_cv_header_postgres_ext_h" = "no" -a "$ac_cv_header_postgresql_postgres_ext_h" = "no"; then
+AC_CHECK_HEADERS(postgres_ext.h postgresql/postgres_ext.h pgsql/postgres_ext.h)
+if test "$ac_cv_header_postgres_ext_h" = "no" -a "$ac_cv_header_postgresql_postgres_ext_h" = "no" -a "$ac_cv_header_pgsql_postgres_ext_h" = "no"; then
AC_MSG_ERROR([cannot find PostgreSQL headers])
fi
--- modules/postgresql/link.sh.in
+++ modules/postgresql/link.sh.in 2006-05-22 18:06:36.000000000 +0200
@@ -4,5 +4,5 @@
INCLUDES="$absolute_linkkitdir"
NEW_FILES=''
for f in ${NEW_MODULES}; do NEW_FILES=${NEW_FILES}" ${f}.o"; done
-NEW_LIBS="${NEW_FILES} @LIBS@"
+NEW_LIBS="${NEW_FILES} @LIBS@ -lcrypt -lssl"
TO_LOAD='postgresql sql'
--- modules/postgresql/postgresql.lisp
+++ modules/postgresql/postgresql.lisp 2006-05-22 18:12:41.000000000 +0200
@@ -25,6 +25,8 @@
# include <postgres_ext.h>
#elif defined(HAVE_POSTGRESQL_POSTGRES_EXT_H)
# include <postgresql/postgres_ext.h>
+#elif defined(HAVE_PGSQL_POSTGRES_EXT_H)
+# include <pgsql/postgres_ext.h>
#else
# error \"PostgreSQL is not found\"
#endif~%")
@@ -40,6 +42,8 @@
# include <libpq-fe.h>
#elif defined(HAVE_POSTGRESQL_POSTGRES_EXT_H)
# include <postgresql/libpq-fe.h>
+#elif defined(HAVE_PGSQL_POSTGRES_EXT_H)
+# include <pgsql/libpq-fe.h>
#else
# error \"PostgreSQL is not found\"
#endif~%")
@@ -203,7 +207,8 @@
(def-call-out PQport (:return-type c-string) (:arguments (conn PGconn)))
(def-call-out PQtty (:return-type c-string) (:arguments (conn PGconn)))
(def-call-out PQoptions (:return-type c-string) (:arguments (conn PGconn)))
-(def-call-out PQstatus (:return-type ConnStatusType) (:arguments (conn PGconn)))
+;;(def-call-out PQstatus (:return-type ConnStatusType) (:arguments (conn PGconn)))
+(def-call-out PQstatus (:return-type int) (:arguments (conn PGconn)))
(def-call-out PQtransactionStatus (:return-type PGTransactionStatusType)
(:arguments (conn PGconn)))
(def-call-out PQparameterStatus (:return-type c-string)
@@ -334,7 +339,8 @@
(nargs int)))
;; Accessor functions for PGresult objects
-(def-call-out PQresultStatus (:return-type ExecStatusType)
+;;(def-call-out PQresultStatus (:return-type ExecStatusType)
+(def-call-out PQresultStatus (:return-type int)
(:arguments (res PGresult)))
(def-call-out PQresStatus (:return-type c-string)
(:arguments (status ExecStatusType)))
@@ -383,7 +389,8 @@
(def-call-out PQfreemem (:return-type nil) (:arguments (res c-pointer)))
(def-call-out PQmakeEmptyPGresult (:return-type PGresult)
- (:arguments (conn PGconn) (status ExecStatusType)))
+;; (:arguments (conn PGconn) (status ExecStatusType)))
+ (:arguments (conn PGconn) (status int)))
;; Quoting strings before inclusion in queries
(def-call-out PQescapeString (:return-type uint)
--- src/lispbibl.d
+++ src/lispbibl.d 2006-05-22 18:06:36.000000000 +0200
@@ -223,7 +223,7 @@
#endif
#ifdef GENERIC_UNIX
#define UNIX
- #ifdef __linux__
+ #if defined(__linux__) || defined(linux)
#define UNIX_LINUX # Linux (Linus Torvalds Unix)
#endif
#ifdef __GNU__
@@ -1273,7 +1273,7 @@
#include <stddef.h>
#else
#undef offsetof
- #define offsetof(type,ident) ((ULONG)&(((type*)0)->ident))
+ #define offsetof(type,ident) ((size_t)&(((type*)0)->ident))
#endif
# Determine the offset of an array 'ident' in a struct of the type 'type':
#if defined(__cplusplus) || defined(MICROSOFT)
@@ -3333,9 +3333,9 @@
# type_data_object(type,data)
#if defined(WIDE) && defined(WIDE_STRUCT)
#if BIG_ENDIAN_P==WIDE_ENDIANNESS
- #define type_data_object(type,data) ((object){{(tint)(type),(aint)(data)}INIT_ALLOCSTAMP})
+ #define type_data_object(type,data) (object){{(tint)(type),(aint)(data)}INIT_ALLOCSTAMP}
#else
- #define type_data_object(type,data) ((object){{(aint)(data),(tint)(type)}INIT_ALLOCSTAMP})
+ #define type_data_object(type,data) (object){{(aint)(data),(tint)(type)}INIT_ALLOCSTAMP}
#endif
#elif !(oint_addr_shift==0)
#define type_data_object(type,data) \
--- src/makemake.in
+++ src/makemake.in 2006-05-22 18:06:36.000000000 +0200
@@ -218,6 +218,9 @@
# Handle --with-... arguments
while test -z "$endofargs"; do
case "$1" in
+ -ignore* | --ignore* )
+ shift
+ ;;
-verb* | --verb* )
verbose=`echol "$1"|sed 's/-*v[^=]*=*//'`
test -n "${verbose}" || verbose=true
@@ -1618,6 +1621,10 @@
EVERY_INCLUDES_H=$EVERY_INCLUDES_H' libcharset.h'
fi
+if [ -n "${MYCFLAGS}" ] ; then
+ XCFLAGS=$XCFLAGS' ${MYCFLAGS} '
+fi
+
OTHER_INCLUDES=' constpack avl sort subrkw bytecode'
SPVW_INCLUDES=' spvw_module spvw_debug spvw_alloca spvw_mmap spvw_multimap spvw_singlemap spvw_page spvw_heap spvw_global spvw_gcstat spvw_space spvw_mark spvw_objsize spvw_update spvw_fault spvw_sigsegv spvw_sigcld spvw_sigpipe spvw_sigint spvw_sigwinch spvw_sigterm spvw_garcol spvw_genera1 spvw_gcmark spvw_genera2 spvw_weak spvw_genera3 spvw_allocate spvw_typealloc spvw_circ spvw_walk spvw_ctype spvw_language spvw_memfile'
@@ -1870,7 +1877,7 @@
echol "dvidir = ${DVIDIR}"
echol "psdir = ${PSDIR}"
echol "pdfdir = ${PDFDIR}"
-echol "libdir = ${LIBDIR}"
+echol "libdir = ${LIBDIR}"
echol "lisplibdir = \$(libdir)${NEXT_}clisp"
if [ -n "$USE_GETTEXT" ] ; then
echol "localedir = ${LOCALEDIR}"
--- src/autoconf/aclocal.m4
+++ src/autoconf/aclocal.m4 2006-05-22 18:06:36.000000000 +0200
@@ -4028,7 +4028,7 @@
dnl When using libtool, the option that works for both libraries and
dnl executables is -R. The -R options are cumulative.
for found_dir in $ltrpathdirs; do
- LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir"
+ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-Wl,-rpath-link$found_dir"
done
fi
])
--- src/build-aux/config.guess
+++ src/build-aux/config.guess 2006-05-22 18:06:36.000000000 +0200
@@ -983,6 +983,7 @@
exit ;;
esac
# Determine whether the default compiler is a.out or elf
+ test -e /etc/SuSE-release && VENDOR=suse
eval $set_cc_for_build
sed 's/^ //' << EOF >$dummy.c
#include <features.h>
--- utils/gctrigger.d
+++ utils/gctrigger.d 2006-05-22 18:06:36.000000000 +0200
@@ -602,6 +602,7 @@
local Token nexttoken (boolean within_prep_directive)
{
Token token;
+ memset(&token, 0, sizeof(Token));
restart:
{ var int c = next_char();
switch (c) {