--- .pkgextract +++ .pkgextract 2006-05-22 18:06:36.000000000 +0200 @@ -0,0 +1,9 @@ +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.39-ia64.dif +patch -p0 -s --suffix=.alloca < ../clisp-2.36-alloca.patch +patch -p0 -s --suffix=.wooh < ../clisp-2.39-ia64-wooh.dif +patch -p0 -s --suffix=.clx < ../clisp-2.39-clx.dif +patch -p0 -s --suffix=.bdb < ../clisp-2.39-berkeley-db.dif +patch -p1 -s --suffix=.ffcall < ../ffcall_1.10+2.41-3.diff --- ffcall/build-aux/config.guess +++ ffcall/build-aux/config.guess 2006-05-22 18:06:36.000000000 +0200 @@ -985,6 +985,7 @@ EOF 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 --- ffcall/callback/trampoline_r/trampoline.c +++ ffcall/callback/trampoline_r/trampoline.c 2006-05-22 18:06:36.000000000 +0200 @@ -191,15 +191,11 @@ extern RETGETPAGESIZETYPE getpagesize (v #ifdef ultrix #include #else -#ifdef linux -#include -#else #ifdef HAVE_SYS_CACHECTL_H #include #endif #endif #endif -#endif #ifdef __m88k__ #include #endif --- 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/clx-demos.lisp +++ modules/clx/new-clx/demos/clx-demos.lisp 2007-12-17 15:28:27.914179351 +0100 @@ -11,7 +11,7 @@ (defparameter *demos* ;; (demo-name [package requirements]) - '((koch) (qix) (sokoban #:xpm) (greynetic #:broken!) (petal) (hanoi) + '((greynetic #:broken!) (petal) (hanoi) (recurrence) (plaid) (clclock) (bball #:broken!) (bwindow))) (defmacro do-demos ((fun-var) &body body) --- modules/clx/new-clx/demos/koch.lisp +++ modules/clx/new-clx/demos/koch.lisp 2007-12-17 15:30:15.215811911 +0100 @@ -7,7 +7,30 @@ ;;; $Id: koch.lisp,v 1.4 2007/10/08 00:43:32 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)))) @@ -119,4 +142,8 @@ Returns the new list and an indicator of (xlib:display-finish-output dpy) (xlib:close-display dpy))) +(format t "~& Koch snoflake:~% + (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 2007-12-17 15:29:47.712318245 +0100 @@ -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) @@ -88,4 +111,9 @@ (xlib:display-finish-output dpy) (xlib:close-display dpy))) +;; since we have no herald, simply dump it: +(format t "~& The famous swirling vectors.~% + (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 2007-12-17 15:30:21.648628989 +0100 @@ -41,7 +41,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 @@ -228,7 +251,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 @@ -471,4 +499,6 @@ If you quit sokoban using 'q' the curren (setq *level* 1) (init-field))) ) +(format t "~&~% Call (sokoban:sokoban)~%~%") + (provide "sokoban") --- modules/postgresql/configure +++ modules/postgresql/configure 2007-12-14 17:11:57.972092000 +0100 @@ -4552,7 +4552,7 @@ done 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"; then + -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 2007-12-14 17:11:40.257845000 +0100 @@ -19,7 +19,7 @@ BOLD_MSG([PostgreSQL (Headers)]) 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"; then + -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 @@ make clisp-module \ 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' --- src/aclocal.m4 +++ src/aclocal.m4 2007-12-14 16:58:01.413975000 +0100 @@ -9872,7 +9872,7 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY], 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/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__ @@ -1255,7 +1255,7 @@ typedef signed int signean; #include #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) @@ -3318,9 +3318,9 @@ typedef signed_int_with_n_bits(intVsize) # 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 2007-12-17 13:52:35.689747081 +0100 @@ -226,6 +226,9 @@ verbose=${CLISP_MAKEMAKE_VERBOSE:-false} # 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 @@ -822,8 +825,8 @@ fi # and the implied value from fsstnd overrides the default. if [ -z "$docdir" ] ; then if [ $HOS = unix ] ; then - docdir='@docdir@' # usually '${datarootdir}/doc/${PACKAGE}' - if [ "$docdir" = '${datarootdir}/doc/${PACKAGE}' ] ; then + docdir='@docdir@' # usually '${datarootdir}/doc/${PACKAGE_TARNAME}' + if [ "$docdir" = '${datarootdir}/doc/${PACKAGE_TARNAME}' ] ; then docdir= else PACKAGE=clisp ; eval docdir=\"$docdir\" @@ -1210,6 +1213,10 @@ if [ $XCC_GCC = true ] ; then XCFLAGS=${XCFLAGS}" -pthread" fi + if [ -n "${MYCFLAGS}" ] ; then + XCFLAGS=$XCFLAGS' ${MYCFLAGS} ' + fi + else if [ $TSYS = sun4 -a $CROSS = false ] ; then --- src/build-aux/config.guess +++ src/build-aux/config.guess 2006-05-22 18:06:36.000000000 +0200 @@ -985,6 +985,7 @@ EOF 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 --- utils/gctrigger.d +++ utils/gctrigger.d 2006-05-22 18:06:36.000000000 +0200 @@ -602,6 +602,7 @@ local inline void VectorToken_delete (Ve local Token nexttoken (boolean within_prep_directive) { Token token; + memset(&token, 0, sizeof(Token)); restart: { var int c = next_char(); switch (c) { --- utils/modprep.lisp +++ utils/modprep.lisp 2007-12-14 17:18:49.740318000 +0100 @@ -313,7 +313,7 @@ FOO(bar,baz,zot) ==> FOO; (bar baz zot); ((or (char= cc #\_) (char= cc #\-)) (write-char #\_ out)) (t (format out "_~2,'0x" (char-code cc)))))) -(defvar *tag-length-limit* 2000 +(defvar *tag-length-limit* 4096 "The approximate maximum length of a C name. This works around the failure on i18n on Alpha Linux: /tmp/ccYZBYCX.s: Assembler messages: