Changeset 9599 in project


Ignore:
Timestamp:
03/14/08 08:15:24 (12 years ago)
Author:
Ivan Raikov
Message:

Merged trunk with prerelease branch.

Location:
chicken/branches/prerelease
Files:
15 edited

Legend:

Unmodified
Added
Removed
  • chicken/branches/prerelease/NEWS

    r9413 r9599  
    1 3.0.6
    2 
     13.0.8
     2
     3- svnrevision.sh - cleaned logic to prevent invalid error message
     4- csc - fixed bug preventing static linking of executables (build order issues)
     5- unit regex: avoid string copy in regex matching [Jim Ursetto]
    36- chicken-setup: eggs are downloaded to and compiled in a temporary
    47  directory determined by CHICKEN_TMPDIR or TMPDIR environment
  • chicken/branches/prerelease/README

    r9381 r9599  
    33  (c)2000-2008 Felix L. Winkelmann
    44
    5   version 3.0.3
     5  version 3.0.8
    66
    77 1. Introduction:
  • chicken/branches/prerelease/buildversion

    r9424 r9599  
    1 3.0.6
     13.0.8
  • chicken/branches/prerelease/chicken-setup.scm

    r9413 r9599  
    180180          (and home user  (conc home "/tmp/chicken-setup-" *major-version* "-" user)))
    181181        (getenv "HOME") (getenv "USER"))
    182        ".")))
     182       (current-directory))))
     183
    183184(define setup-download-directory  (make-parameter (conc (setup-build-prefix) "/downloads")))
    184185(define setup-root-directory      (make-parameter #f))
  • chicken/branches/prerelease/csc.scm

    r9381 r9599  
    894894   (append
    895895    (if staticexts (nth-value 0 (static-extension-info)) '())
    896     (cons
    897      (if (or static static-libs) extra-libraries extra-shared-libraries)
    898      (if (or static static-libs)
    899          (if gui gui-library-files library-files)
    900          (if gui gui-shared-library-files shared-library-files) ) ) ) ) )
     896    (if (or static static-libs)
     897        (if gui gui-library-files library-files)
     898        (if gui gui-shared-library-files shared-library-files))
     899    (if (or static static-libs)
     900        (list extra-libraries)
     901        (list extra-shared-libraries)))))
    901902
    902903
  • chicken/branches/prerelease/extras.scm

    r9381 r9599  
    255255(define (left-section proc . args)
    256256  (##sys#check-closure proc 'left-section)
    257   (lambda x
    258     (##sys#apply proc (##sys#append args x)) ) )
     257  (lambda xs
     258    (##sys#apply proc (##sys#append args xs)) ) )
    259259
    260260(define right-section
     
    262262    (lambda (proc . args)
    263263      (##sys#check-closure proc 'right-section)
    264       (lambda x
    265         (##sys#apply proc
    266                      (##sys#reverse (##sys#append (##sys#reverse args)
    267                                                   (##sys#reverse x)))) ) ) ) )
     264      (let ([revdargs (##sys#reverse args)])
     265        (lambda xs
     266          (##sys#apply proc (##sys#reverse (##sys#append revdargs (##sys#reverse xs)))) ) ) ) ) )
    268267
    269268
     
    17671766;; Equal Hash:
    17681767
    1769 ;XXX Be nice if these were paramters
     1768;XXX Be nice if these were parameters
    17701769(define-constant recursive-hash-max-depth 4)
    17711770(define-constant recursive-hash-max-length 4)
    17721771
     1772(define-macro ($*list-hash ?obj)
     1773  `(fx+ (length ,?obj)
     1774        (recursive-atomic-hash (##sys#slot ,?obj 0) depth)) )
     1775
     1776(define-macro ($*pair-hash ?obj)
     1777  `(fx+ (fxshl (recursive-atomic-hash (##sys#slot ,?obj 0) depth) 16)
     1778        (recursive-atomic-hash (##sys#slot ,?obj 1) depth)) )
     1779
     1780(define-macro ($*port-hash ?obj)
     1781  `(fx+ (fxshl (##sys#peek-fixnum ,?obj 0) 4) ; Little extra "identity"
     1782        (if (input-port? ,?obj)
     1783            input-port-hash-value
     1784            output-port-hash-value)) )
     1785
     1786(define-macro ($*special-vector-hash ?obj)
     1787  `(vector-hash ,?obj (##sys#peek-fixnum ,?obj 0) depth 1) )
     1788
     1789(define-macro ($*regular-vector-hash ?obj)
     1790  `(vector-hash ,?obj 0 depth 0) )
     1791
    17731792(define (%equal?-hash obj)
    1774 
    1775   (define-macro ($*list-hash ?obj)
    1776     `(fx+ (length ,?obj)
    1777           (recursive-atomic-hash (##sys#slot ,?obj 0) depth)) )
    1778 
    1779   (define-macro ($*pair-hash ?obj)
    1780     `(fx+ (fxshl (recursive-atomic-hash (##sys#slot ,?obj 0) depth) 16)
    1781           (recursive-atomic-hash (##sys#slot ,?obj 1) depth)) )
    1782 
    1783   (define-macro ($*port-hash ?obj)
    1784     `(fx+ (fxshl (##sys#peek-fixnum ,?obj 0) 4) ; Little extra "identity"
    1785           (if (input-port? ,?obj)
    1786               input-port-hash-value
    1787               output-port-hash-value)) )
    1788 
    1789   (define-macro ($*special-vector-hash ?obj)
    1790     `(vector-hash ,?obj (##sys#peek-fixnum ,?obj 0) depth 1) )
    1791 
    1792   (define-macro ($*regular-vector-hash ?obj)
    1793     `(vector-hash ,?obj 0 depth 0) )
    17941793
    17951794  ; Recurse into some portion of the vector's slots
  • chicken/branches/prerelease/manual/Overview

    r9381 r9599  
    2323Some of the features supported by CHICKEN:
    2424
    25 * SRFIs 0, 1, 2, 4, 6-19, 23, 25-31, 37-40, 42, 43, 45, 47, 55, 57, 60-63, 66, 69, 72, 78, 85 and 95.
     25* SRFIs 0, 1, 2, 4, 6, 8-19, 23, 25-31, 37-40, 42, 43, 45, 47, 55, 57, 60-63, 66, 69, 72, 78, 85 and 95.
    2626* Lightweight threads based on first-class continuations
    2727* Pattern matching with Andrew Wright's {{match}} package
  • chicken/branches/prerelease/manual/The User's Manual

    r9424 r9599  
    33== The User's Manual
    44
    5 This is the user's manual for the Chicken Scheme compiler, version 3.0.6.
     5This is the user's manual for the Chicken Scheme compiler, version 3.0.8
    66
    77; [[Overview]] : What is Chicken?
  • chicken/branches/prerelease/manual/Unit extras

    r9424 r9599  
    706706
    707707
     708==== none?
     709
     710 [procedure] (none? X)
     711
     712Ignores its argument and always returns {{#f}}. This is actually useful sometimes.
     713
     714
     715==== always?
     716
     717 [procedure] (always? ...)
     718
     719Ignores its arguments and always returns {{#t}}. This is actually useful sometimes.
     720
     721
     722==== never?
     723
     724 [procedure] (never? ...)
     725
     726Ignores its arguments and always returns {{#f}}. This is actually useful sometimes.
     727
     728
    708729==== constantly
    709730
     
    769790
    770791
    771 
    772792==== each
    773793
     
    845865A single value version of {{compose}} (slightly faster). {{(o)}} is equivalent
    846866to {{identity}}.
     867
     868
     869==== left-section
     870
     871 [procedure] (left-section PROC ARG0 ...)
     872
     873Returns an n-ary procedure that partially applies its' arguments {{ARG0 ...}}
     874from the left (normal order). Sort of a n-ary curry.
     875
     876
     877==== right-section
     878
     879 [procedure] (right-section PROC ARG0 ...)
     880
     881Returns an n-ary procedure that partially applies its' arguments {{ARG0 ...}}
     882from the right (reverse order). Sort of a n-ary curry.
     883
    847884
    848885=== Binary searching
  • chicken/branches/prerelease/match.scm

    r6910 r9599  
    22;; Pattern Matching Syntactic Extensions for Scheme
    33;;
    4 (define ##match#version "Version 1.18, July 17, 1995 (Chicken port)")
     4#;(define ##match#version "Version 1.18, July 17, 1995 (Chicken port)")
    55;;
    66;; Report bugs to wright@research.nj.nec.com.  The most recent version of
     
    123123 (run-time-macros)
    124124 (disable-interrupts)
    125  (usual-integrations)
    126  (hide every))
     125 (usual-integrations) )
    127126
    128127(cond-expand
     
    133132    (no-bound-checks) ) ] )
    134133
     134;;; Procedures
    135135
    136 (define (every fn lst)
     136(define (##match#every fn lst)
    137137  (or (null? lst)
    138       (and (fn (car lst)) (every fn (cdr lst)))))
     138      (and (fn (car lst))
     139           (##match#every fn (cdr lst)))))
    139140
    140141
     
    146147    ((and (list? args)
    147148          (<= 1 (length args))
    148           (every
     149          (##match#every
    149150            (lambda (y) (and (list? y) (<= 2 (length y))))
    150151            (cdr args))) (let* ((exp (car args))
     
    165166  (match-lambda . args)
    166167  (if (and (list? args)
    167            (every
     168           (##match#every
    168169             (lambda (g126)
    169170               (if (and (pair? g126) (list? (cdr g126)))
     
    180181  (match-lambda* . args)
    181182  (if (and (list? args)
    182            (every
     183           (##match#every
    183184             (lambda (g134)
    184185               (if (and (pair? g134) (list? (cdr g134)))
     
    215216                      (if (and (list? (cddr args)) (pair? (cddr args)))
    216217                          ((lambda (name pat exp body)
    217                              (if (every
     218                             (if (##match#every
    218219                                   (cadddr ##match#expanders)
    219220                                   pat)
     
    236237                (g146))
    237238            (if (list? (car args))
    238                 (if (every
     239                (if (##match#every
    239240                      (lambda (g167)
    240241                        (if (and (pair? g167)
     
    463464    (if (pair? args)
    464465        (if (list? (car args))
    465             (if (every
     466            (if (##match#every
    466467                  (lambda (g206)
    467468                    (if (and (pair? g206)
     
    829830                                         (memq (string-ref s 0) '(#\. #\_))
    830831                                         (memq (string-ref s 1) '(#\. #\_))
    831                                          (every
     832                                         (##match#every
    832833                                           char-numeric?
    833834                                           (string->list
     
    14051406                                            (and (= (length p1)
    14061407                                                    (length p2))
    1407                                                  (every
     1408                                                 (##match#every
    14081409                                                   (lambda (x1)
    14091410                                                     (memq x1 p2))
     
    16541655                                                                                                            `(lambda (,eta)
    16551656                                                                                                               ,ptst))))
    1656                                                                                               (assm `(every
     1657                                                                                              (assm `(##match#every
    16571658                                                                                                       ,tst
    16581659                                                                                                       ,e)
     
    22122213(define (match-error-procedure . proc)
    22132214  (if (pair? proc)
    2214     (##match#set-error (car proc))
    2215     ##sys#match-error) )
     2215      (##match#set-error (car proc))
     2216      ##sys#match-error) )
    22162217
    22172218(register-feature! 'match)
  • chicken/branches/prerelease/regex.scm

    r9381 r9599  
    365365(define re-match
    366366  (foreign-lambda* int (((const nonnull-pcre) code) ((const pcre_extra) extra)
    367                         (nonnull-c-string str) (int start) (int range)
     367                        (nonnull-scheme-pointer str) (int start) (int range)
    368368                        (unsigned-integer options))
    369369    "return(pcre_exec(code, extra, str, start + range, start, options, C_regex_ovector, STATIC_OVECTOR_LEN * OVECTOR_LENGTH_MULTIPLE));") )
  • chicken/branches/prerelease/rules.make

    r9381 r9599  
    10391039        touch *.scm
    10401040
    1041 bootstrap.tar.gz:
    1042         tar cfz bootstrap.tar.gz $(LIBCHICKEN_OBJECTS_1:=.c) $(COMPILER_OBJECTS_1:=.c)
     1041bootstrap.tar.gz: posixunix.c posixwin.c
     1042        tar cfz bootstrap.tar.gz library.c eval.c extras.c lolevel.c utils.c tcp.c \
     1043          srfi-1.c srfi-4.c srfi-13.c srfi-14.c srfi-18.c posixunix.c posixwin.c regex.c \
     1044          scheduler.c profiler.c stub.c match.c $(COMPILER_OBJECTS_1:=.c)
  • chicken/branches/prerelease/svnrevision.sh

    r9381 r9599  
    2727
    2828
    29 if test -d .svn; then
    30     if test -x "`which svn`" ; then
    31         rev=`svn info | sed -n -e 's/Revision: \([0-9]*\)/\1/p'`
     29if test -d ".svn" ;
     30then
     31    if test -x "`which svn`" ;
     32    then
     33        rev="`svn info | sed -n -e 's/Revision: \([0-9]*\)/\1/p'`"
    3234    else
    33         rev=`cat .svn/entries | sed -n -e '4 s/^\([0-9]*\)$/\1/p'`
     35        rev="`cat .svn/entries | sed -n -e '4 s/^\([0-9]*\)$/\1/p'`"
    3436    fi
    3537else
    36     rev='0'
     38    rev="0"
    3739fi
    3840
    39 if test ! "(" -e buildsvnrevision ")" -o "(" "`cat buildsvnrevision`" != "$rev" ")"; then
    40     echo "$rev" >buildsvnrevision
     41if test -e "buildsvnrevision" ;
     42then
     43    if test "`cat buildsvnrevision`" \!= "${rev}" ;
     44    then
     45        echo "${rev}" > buildsvnrevision
     46    fi
     47else
     48    echo "${rev}" > buildsvnrevision
    4149fi
  • chicken/branches/prerelease/version.scm

    r9413 r9599  
    1 (define-constant +build-version+ "3.0.6")
     1(define-constant +build-version+ "3.0.8")
Note: See TracChangeset for help on using the changeset viewer.