From: <cli...@li...> - 2004-07-17 03:16:37
|
Send clisp-cvs mailing list submissions to cli...@li... To subscribe or unsubscribe via the World Wide Web, visit https://lists.sourceforge.net/lists/listinfo/clisp-cvs or, via email, send a message with subject or body 'help' to cli...@li... You can reach the person managing the list at cli...@li... When replying, please edit your Subject line so it is more specific than "Re: Contents of clisp-cvs digest..." CLISP CVS commits for today Today's Topics: 1. clisp/doc impext.xml,1.243,1.244 (Sam Steingold) 2. clisp/doc mop.xml,1.5,1.6 (Sam Steingold) 3. clisp/doc mop.xml,1.6,1.7 (Sam Steingold) 4. clisp/doc unix-ent.xml,1.43,1.44 (Sam Steingold) 5. clisp/modules/berkeley-db test.tst,1.3,1.4 berkeley-db.xml,1.18,1.19 bdb.c,1.35,1.36 (Sam Steingold) 6. clisp/src ChangeLog,1.3294,1.3295 (Sam Steingold) --__--__-- Message: 1 From: Sam Steingold <sd...@us...> To: cli...@li... Subject: clisp/doc impext.xml,1.243,1.244 Date: Fri, 16 Jul 2004 16:35:21 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/clisp/doc In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17108/doc Modified Files: impext.xml Log Message: use &chmod-u; instead of &chmod; Index: impext.xml =================================================================== RCS file: /cvsroot/clisp/clisp/doc/impext.xml,v retrieving revision 1.243 retrieving revision 1.244 diff -u -d -r1.243 -r1.244 --- impext.xml 12 Jul 2004 21:25:12 -0000 1.243 +++ impext.xml 16 Jul 2004 16:35:19 -0000 1.244 @@ -4795,7 +4795,7 @@ <listitem><para>On &unix;, a text file (&fasl-file; or &lisp-file;) can be made executable by adding a first line of the form <programlisting>#!&interp-r; [&interp-args;]</programlisting> - and using &chmod; to make the script executable. + and using &chmod-u; to make the script executable. &clisp; can be used as a script interpreter under the following circumstances:</para> --__--__-- Message: 2 From: Sam Steingold <sd...@us...> To: cli...@li... Subject: clisp/doc mop.xml,1.5,1.6 Date: Fri, 16 Jul 2004 16:36:21 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/clisp/doc In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17312/doc Modified Files: mop.xml Log Message: use &compute-applicable-methods-mop; instead of &compute-applicable-methods; Index: mop.xml =================================================================== RCS file: /cvsroot/clisp/clisp/doc/mop.xml,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- mop.xml 23 Jun 2004 13:40:03 -0000 1.5 +++ mop.xml 16 Jul 2004 16:36:18 -0000 1.6 @@ -1309,8 +1309,8 @@ discriminating function is then stored with &set-funcallable-instance-function;.</para> -<para>Discriminating functions call &compute-applicable-methods; and -&compute-applicable-methods-UC; to compute the methods +<para>Discriminating functions call &compute-applicable-methods-mop; +and &compute-applicable-methods-UC; to compute the methods applicable to the generic functions arguments. Applicable methods are combined by &compute-effective-method; to produce an <firstterm>effective method</firstterm>. Provisions are made to @@ -1747,10 +1747,10 @@ </simplelist>.</para></section> <section id="compute-applicable-methods"> - <title>Generic Function &compute-applicable-methods;</title> + <title>Generic Function &compute-applicable-methods-mop;</title> <variablelist><varlistentry><term>Syntax</term> - <listitem><simpara><literal role="sexp">&compute-applicable-methods; + <listitem><simpara><literal role="sexp">&compute-applicable-methods-mop; &gf-r; &args-r;)</literal></simpara></listitem></varlistentry> <varlistentry><term>Arguments</term> <listitem><variablelist> @@ -1775,7 +1775,7 @@ arguments. Depending on the generic function and the arguments, this is done in one of three ways: using a memoized value; calling &compute-applicable-methods-UC;; or calling - &compute-applicable-methods;. + &compute-applicable-methods-mop;. (Refer to the description of &compute-discriminating-function; for the details of this process.)</simpara> <simpara>The &args-r; argument is permitted to contain more elements @@ -1786,7 +1786,7 @@ &result-immutable;</listitem></varlistentry></variablelist> <variablelist><title>Methods</title> -<varlistentry><term><literal role="method">(&compute-applicable-methods; +<varlistentry><term><literal role="method">(&compute-applicable-methods-mop; (&gf-r; &standard-generic-function-t;) &args-r;)</literal></term> <listitem><simpara>This method &sig-err; if any method of the generic function has a specializer which is neither a class metaobject nor an @@ -1803,6 +1803,10 @@ </simpara></listitem></varlistentry></variablelist> </section> +<simplesect><title>Remarks</title> <!-- sds --> +<para>See also the &ansi-cl; functions &compute-applicable-methods;. +</para></simplesect> + <section id="compute-applicable-methods-UC"> <title>Generic Function &compute-applicable-methods-UC;</title> @@ -1841,14 +1845,14 @@ arguments. Depending on the generic function and the arguments, this is done in one of three ways: using a memoized value; calling &compute-applicable-methods-UC;; or calling - &compute-applicable-methods;. (Refer to the description of + &compute-applicable-methods-mop;. (Refer to the description of &compute-discriminating-function; for the details of this process.) </simpara><simpara>The following consistency relationship between - &compute-applicable-methods-UC; and &compute-applicable-methods; must + &compute-applicable-methods-UC; and &compute-applicable-methods-mop; must be maintained: for any given generic function and set of arguments, if &compute-applicable-methods-UC; returns a second value of true, the first value must be equal to the value that would be returned by - a corresponding call to &compute-applicable-methods;. The results + a corresponding call to &compute-applicable-methods-mop;. The results are undefined if a portable method on either of these generic functions causes this consistency to be violated.</simpara> &result-immutable;</listitem></varlistentry></variablelist> @@ -1868,8 +1872,8 @@ false as its second value.</simpara> <simpara>This method can be overridden. Because of the consistency requirements between this generic function and - &compute-applicable-methods;, doing so may require also overriding - <literal role="method">&compute-applicable-methods; + &compute-applicable-methods-mop;, doing so may require also overriding + <literal role="method">&compute-applicable-methods-mop; (&standard-generic-function-t; &t-t;) </literal>. </simpara></listitem></varlistentry></variablelist> @@ -1881,10 +1885,10 @@ no requirement for an implementation to provide this optimization.)</para> <para>Such an extension can be implemented by two methods, one on this -generic function and one on &compute-applicable-methods;. Whenever the -user extension is in effect, the first method will return a second value -of true. This should allow the implementation to absorb these cases -into its own memoization scheme.</para> +generic function and one on &compute-applicable-methods-mop;. Whenever +the user extension is in effect, the first method will return a second +value of true. This should allow the implementation to absorb these +cases into its own memoization scheme.</para> <para>To get appropriate performance, other kinds of extensions may require methods on &compute-discriminating-function; which implement @@ -2009,7 +2013,7 @@ <simpara>To determine the ordered set of applicable methods, the discriminating function first calls &compute-applicable-methods-UC;. If &compute-applicable-methods-UC; returns a second value of false, - the discriminating function then calls &compute-applicable-methods;. + the discriminating function then calls &compute-applicable-methods-mop;. </simpara><para>When &compute-applicable-methods-UC; returns a second value of true, the discriminating function is permitted to memoize the first returned value as follows. The discriminating function may --__--__-- Message: 3 From: Sam Steingold <sd...@us...> To: cli...@li... Subject: clisp/doc mop.xml,1.6,1.7 Date: Fri, 16 Jul 2004 20:17:27 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/clisp/doc In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26999/doc Modified Files: mop.xml Log Message: fixed markup Index: mop.xml =================================================================== RCS file: /cvsroot/clisp/clisp/doc/mop.xml,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- mop.xml 16 Jul 2004 16:36:18 -0000 1.6 +++ mop.xml 16 Jul 2004 20:17:25 -0000 1.7 @@ -1801,11 +1801,10 @@ <literal role="method">&compute-applicable-methods-UC; (&standard-generic-function-t; &t-t;)</literal>. </simpara></listitem></varlistentry></variablelist> -</section> <simplesect><title>Remarks</title> <!-- sds --> <para>See also the &ansi-cl; functions &compute-applicable-methods;. -</para></simplesect> +</para></simplesect></section> <section id="compute-applicable-methods-UC"> <title>Generic Function &compute-applicable-methods-UC;</title> --__--__-- Message: 4 From: Sam Steingold <sd...@us...> To: cli...@li... Subject: clisp/doc unix-ent.xml,1.43,1.44 Date: Fri, 16 Jul 2004 21:23:29 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/clisp/doc In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5652/doc Modified Files: unix-ent.xml Log Message: (BDB:DB-SET-OPTIONS, BDB:DB-GET-OPTIONS): accept :RE_SOURCE Index: unix-ent.xml =================================================================== RCS file: /cvsroot/clisp/clisp/doc/unix-ent.xml,v retrieving revision 1.43 retrieving revision 1.44 diff -u -d -r1.43 -r1.44 --- unix-ent.xml 16 Jul 2004 16:33:33 -0000 1.43 +++ unix-ent.xml 16 Jul 2004 21:23:24 -0000 1.44 @@ -136,6 +136,8 @@ <!ENTITY DB_set_re_len "<ulink url='&bdb;db_set_re_len.html'><function>DB->set_re_len</function></ulink>"> <!ENTITY DB_get_re_pad "<ulink url='&bdb;db_set_re_pad.html'><function>DB->get_re_pad</function></ulink>"> <!ENTITY DB_set_re_pad "<ulink url='&bdb;db_set_re_pad.html'><function>DB->set_re_pad</function></ulink>"> +<!ENTITY DB_get_re_source "<ulink url='&bdb;db_set_re_source.html'><function>DB->get_re_source</function></ulink>"> +<!ENTITY DB_set_re_source "<ulink url='&bdb;db_set_re_source.html'><function>DB->set_re_source</function></ulink>"> <!ENTITY DB_get_type "<ulink url='&bdb;db_get_type.html'><function>DB->get_type</function></ulink>"> <!ENTITY DB_join "<ulink url='&bdb;db_join.html'><function>DB->join</function></ulink>"> <!ENTITY DB_key_range "<ulink url='&bdb;db_key_range.html'><function>DB->key_range</function></ulink>"> --__--__-- Message: 5 From: Sam Steingold <sd...@us...> To: cli...@li... Subject: clisp/modules/berkeley-db test.tst,1.3,1.4 berkeley-db.xml,1.18,1.19 bdb.c,1.35,1.36 Date: Fri, 16 Jul 2004 21:23:26 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/clisp/modules/berkeley-db In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5652/modules/berkeley-db Modified Files: test.tst berkeley-db.xml bdb.c Log Message: (BDB:DB-SET-OPTIONS, BDB:DB-GET-OPTIONS): accept :RE_SOURCE Index: bdb.c =================================================================== RCS file: /cvsroot/clisp/clisp/modules/berkeley-db/bdb.c,v retrieving revision 1.35 retrieving revision 1.36 diff -u -d -r1.35 -r1.36 --- bdb.c 15 Jul 2004 22:40:59 -0000 1.35 +++ bdb.c 16 Jul 2004 21:23:24 -0000 1.36 @@ -1300,7 +1300,6 @@ DB->set_bt_compare Set a Btree comparison function DB->set_bt_minkey Set the minimum number of keys per Btree page DB->set_bt_prefix Set a Btree prefix comparison function - DB->set_re_source Set the backing Recno text file Hash Configuration DB->set_h_ffactor Set the Hash table density DB->set_h_hash Set a hashing function @@ -1347,11 +1346,12 @@ } DEFUN(BDB:DB-SET-OPTIONS, db &key :ERRFILE :PASSWORD :ENCRYPTION \ - :NCACHE :CACHESIZE :CACHE :LORDER :PAGESIZE :RE_DELIM :RE_LEN :RE_PAD \ + :NCACHE :CACHESIZE :CACHE :LORDER :PAGESIZE :RE_DELIM :RE_LEN \ + :RE_PAD :RE_SOURCE \ :CHKSUM :ENCRYPT :TXN_NOT_DURABLE :DUP :DUPSORT :RECNUM \ :REVSPLITOFF :RENUMBER :SNAPSHOT) { /* set database options */ - DB *db = object_handle(STACK_(20),`BDB::DB`,OH_VALID); + DB *db = object_handle(STACK_(21),`BDB::DB`,OH_VALID); { /* flags */ u_int32_t flags_on = 0, flags_off = 0; set_flags(popSTACK(),&flags_on,&flags_off,DB_SNAPSHOT); @@ -1371,6 +1371,15 @@ SYSCALL(db->set_flags,(db,flags)); } } + if (boundp(STACK_0)) { /* RE_SOURCE */ + if (nullp(STACK_0)) + SYSCALL(db->set_re_source,(db,NULL)); + else + with_string_0(check_string(STACK_0),GLO(pathname_encoding), re_source, { + SYSCALL(db->set_re_source,(db,re_source)); + }); + } + skipSTACK(1); if (!missingp(STACK_0)) { /* RE_PAD */ int re_pad = I_to_uint8(check_uint8(STACK_0)); SYSCALL(db->set_re_pad,(db,re_pad)); @@ -1441,15 +1450,15 @@ value2 = fixnum(ncache); } } -#define DEFINE_DB_GETTER1(getter,type) \ +#define DEFINE_DB_GETTER1(getter,type,finish) \ static object db_##getter (DB* db) { \ type value; \ SYSCALL(db->getter,(db,&value)); \ - return UL_to_I(value); \ + return finish; \ } -DEFINE_DB_GETTER1(get_lorder,int) -DEFINE_DB_GETTER1(get_pagesize,u_int32_t) -#define DEFINE_DB_GETTER2(getter,type) \ +DEFINE_DB_GETTER1(get_lorder,int,L_to_I(value)) +DEFINE_DB_GETTER1(get_pagesize,u_int32_t,UL_to_I(value)) +#define DEFINE_DB_GETTER2(getter,type,finish) \ static object db_##getter (DB* db,int errorp) { \ type value; \ int status; \ @@ -1461,11 +1470,13 @@ error_message_reset(); \ return NIL; \ } else \ - return UL_to_I(value); \ + return finish; \ } -DEFINE_DB_GETTER2(get_re_delim,int) -DEFINE_DB_GETTER2(get_re_len,u_int32_t) -DEFINE_DB_GETTER2(get_re_pad,int) +DEFINE_DB_GETTER2(get_re_delim,int,L_to_I(value)) +DEFINE_DB_GETTER2(get_re_len,u_int32_t,UL_to_I(value)) +DEFINE_DB_GETTER2(get_re_pad,int,L_to_I(value)) +DEFINE_DB_GETTER2(get_re_source,const char*, + value ? asciz_to_string(value,GLO(pathname_encoding)) : NIL) ERRFILE_FD_EXTRACTOR(db_get_errfile,DB*) FLAG_EXTRACTOR(db_get_flags_num,DB*) DEFUNR(BDB:DB-GET-OPTIONS, db &optional what) @@ -1486,6 +1497,7 @@ pushSTACK(`:RE_DELIM`); pushSTACK(db_get_re_delim(db,false)); count++; pushSTACK(`:RE_LEN`); pushSTACK(db_get_re_len(db,false)); count++; pushSTACK(`:RE_PAD`); pushSTACK(db_get_re_pad(db,false)); count++; + pushSTACK(`:RE_SOURCE`); pushSTACK(db_get_re_source(db,false)); count++; VALUES1(listof(2*count)); } else if (eq(what,`:CACHE`)) { db_get_cache(db,true); mv_count = 2; @@ -1507,6 +1519,8 @@ VALUES1(db_get_re_len(db,true)); } else if (eq(what,`:RE_PAD`)) { VALUES1(db_get_re_pad(db,true)); + } else if (eq(what,`:RE_SOURCE`)) { + VALUES1(db_get_re_source(db,true)); } else if (eq(what,`:LORDER`)) { VALUES1(db_get_lorder(db)); } else if (eq(what,`:FLAGS`)) { Index: berkeley-db.xml =================================================================== RCS file: /cvsroot/clisp/clisp/modules/berkeley-db/berkeley-db.xml,v retrieving revision 1.18 retrieving revision 1.19 diff -u -d -r1.18 -r1.19 --- berkeley-db.xml 15 Jul 2004 22:40:59 -0000 1.18 +++ berkeley-db.xml 16 Jul 2004 21:23:24 -0000 1.19 @@ -183,8 +183,14 @@ <varlistentry><term><literal role="sexp">(BDB:DB-OPEN db file &key-amp; DATABASE TYPE MODE CREATE DIRTY_READ EXCL NOMMAP RDONLY THREAD TRUNCATE AUTO_COMMIT TRANSACTION)</literal></term> - <listitem><simpara>Open a database (&DB_open;). -</simpara></listitem></varlistentry> + <listitem><para>Open a database (&DB_open;). + <constant>:TYPE</constant> should be one of + <simplelist><member><constant>:BTREE</constant></member> + <member><constant>:HASH</constant></member> + <member><constant>:QUEUE</constant></member> + <member><constant>:RECNO</constant></member> + <member><constant>:UNKNOWN</constant> (default)</member></simplelist>. +</para></listitem></varlistentry> <varlistentry><term><literal role="sexp">(BDB:DB-SYNC db)</literal></term> <listitem><simpara>Flush a database to stable storage (&DB_sync;). </simpara></listitem></varlistentry> @@ -242,11 +248,11 @@ <variablelist> <varlistentry><term><literal role="sexp">(BDB:DB-SET-OPTIONS db &key-amp; ERRFILE PASSWORD ENCRYPT NCACHE CACHESIZE PAGESIZE RE_DELIM RE_LEN - RE_PAD LORDER) + RE_PAD RE_SOURCE LORDER) </literal></term> <listitem><simpara>Call &DB_set_errfile;, &DB_set_encrypt;, - &DB_set_cachesize;, &DB_set_re_delim;, &DB_set_re_len;, - &DB_set_re_pad;, &DB_set_pagesize;, &DB_set_lorder;. + &DB_set_cachesize;, &DB_set_re_delim;, &DB_set_re_len;, &DB_set_re_pad;, + &DB_set_re_source;, &DB_set_pagesize;, &DB_set_lorder;. </simpara></listitem></varlistentry> <varlistentry><term><literal role="sexp">(BDB:DB-GET-OPTIONS db &optional-amp; what)</literal></term> @@ -282,19 +288,34 @@ <varlistentry><term><constant>:PAGESIZE</constant></term> <listitem><simpara>database page size (&DB_get_pagesize;). </simpara></listitem></varlistentry> - <varlistentry><term><constant>:RE_DELIM</constant></term> - <listitem><simpara>database record delimiter (&DB_get_re_delim;). + <varlistentry><term><constant>:RE_DELIM</constant></term> + <listitem><simpara>the record delimiter + for <constant>:RECNO</constant> databases (&DB_get_re_delim;). </simpara></listitem></varlistentry> - <varlistentry><term><constant>:RE_LEN</constant></term> + <varlistentry><term><constant>:RE_LEN</constant></term> <listitem><simpara>database record length (&DB_get_re_len;). </simpara></listitem></varlistentry> - <varlistentry><term><constant>:RE_PAD</constant></term> + <varlistentry><term><constant>:RE_PAD</constant></term> <listitem><simpara>database record pad byte (&DB_get_re_pad;). </simpara></listitem></varlistentry> + <varlistentry><term><constant>:RE_SOURCE</constant></term> + <listitem><simpara>the underlying source file + for <constant>:RECNO</constant> databases (&DB_get_re_source;). + </simpara></listitem></varlistentry> <varlistentry><term><constant>:LORDER</constant></term> <listitem><simpara>database byte orderb (&DB_get_lorder;). </simpara></listitem></varlistentry> -</variablelist></para></listitem></varlistentry> + </variablelist></para> + <warning><para>Once you call a method for one type of access method, + the handle can only be used for that type. + The methods &DB_get_re_delim; and &DB_get_re_source are for + a <constant>:RECNO</constant> database so + you <emphasis>cannot</emphasis> call them + (by passing <constant>:RE_DELIM</constant> + or <constant>:RE_SOURCE</constant> to this function) + and then use the database handle to open a database of different type + (e.g., <constant>:QUEUE</constant>).</para></warning> +</listitem></varlistentry> </variablelist> <section id="bdb-bt-rn-config"><title>Btree/Recno Configuration</title> Index: test.tst =================================================================== RCS file: /cvsroot/clisp/clisp/modules/berkeley-db/test.tst,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- test.tst 15 Jul 2004 22:40:59 -0000 1.3 +++ test.tst 16 Jul 2004 21:23:23 -0000 1.4 @@ -14,6 +14,7 @@ (ext:delete-dir f)))) kill-down (defun rmrf (name) + (ext:dir (ext:string-concat name "**")) (kill-down name) (format t "~&removing ~S~%" name) (ext:delete-dir name)) @@ -30,7 +31,14 @@ (bdb:db-get-options db)))) nil) show-db - +(defun finish-file (file) + (when (probe-file file) + (with-open-file (st file :direction :input) + (format t "~&~S: ~:D byte~:P:~%" file (file-length st)) + (loop :for l = (read-line st nil nil) :while l + :do (format t "--> ~S~%" l)))) + (null (delete-file file))) +finish-file (prepare-dir "bdb-home/") NIL (prepare-dir "bdb-data/") NIL (progn (delete-file "bdb-errors") NIL) NIL @@ -65,6 +73,50 @@ (show-db *db*) NIL (bdb:db-close *db*) T +;;; recno with underlying text file +(with-open-file (s "bdb-data/recno-source.txt" :direction :output + :external-format :unix) + (write-line "foo" s) + (write-line "bar" s) + (write-line "foobar" s)) +"foobar" + +(let ((db (bdb:db-create *dbe*))) + (bdb:db-set-options db :RE_SOURCE "recno-source.txt") + (bdb:db-open db "recno-source.db" :type :RECNO :create t) + (unwind-protect + (list (bdb:db-get db 1 :type :string) + (bdb:db-get db 2 :type :string) + (bdb:db-get db 3 :type :string) + (bdb:db-get db 4 :error nil)) + (bdb:db-close db))) +("foo" "bar" "foobar" :NOTFOUND) + +(let ((db (bdb:db-create *dbe*))) + (bdb:db-set-options db :RE_SOURCE "recno-source.txt") + (bdb:db-open db "recno-source.db") + (unwind-protect + (bdb:db-put db 5 "bazonk") + (bdb:db-close db))) +NIL + +(bdb:with-open-db (db *dbe* "recno-source.db" :rdonly t) + (show-db db) + (bdb:with-cursor (cu db) + (list + (loop :with key :and val + :do (setf (values key val) + (bdb:cursor-get cu :INTEGER :STRING :DB_NEXT :error nil)) + :until (eq key :notfound) + :collect (list key val)) + (bdb:db-get db 4 :error nil)))) +(((1 "foo") (2 "bar") (3 "foobar") (5 "bazonk")) :KEYEMPTY) + +(with-open-file (s "bdb-data/recno-source.txt" :direction :input) + (loop :for l = (read-line s nil nil) :while l :collect l)) +("foo" "bar" "foobar" "" "bazonk") + +;;; write factorials into (:BTREE :HASH) (dolist (type '(:btree :hash)) (print type) (bdb:with-open-db (db *dbe* (format nil "test-~A.db" type) @@ -74,6 +126,7 @@ :collect (list x x! (bdb:db-put db x x!)))))) NIL +;;; write factorials into (:QUEUE :RECNO) (dolist (type '(:queue :recno)) (print type) (let ((db (bdb:db-create *dbe*)) (max 30)) @@ -92,13 +145,9 @@ (bdb:env-close *dbe*) T -(ext:dir "bdb-home/*") NIL -(ext:dir "bdb-data/*") NIL - -(with-open-file (e "bdb-errors" :direction :input) - (format t "~&errors: ~:D byte~:P:~%" (file-length e)) - (loop :for s = (read-line e nil nil) :while s :do (format t "--> ~S~%" s))) -NIL +(ext:dir "bdb-home/**") NIL +(ext:dir "bdb-data/**") NIL +(finish-file "bdb-errors") NIL ;;; access @@ -143,6 +192,7 @@ (bdb:db-truncate *db*) 2 ; the number of records discarded (bdb:db-close *db*) T +;;; read factorials from (:BTREE :HASH) (dolist (type '(:btree :hash)) (print type) (bdb:with-open-db (db *dbe* (format nil "test-~A.db" type) :rdonly t) @@ -156,6 +206,7 @@ (assert (= (! key) val))))))) NIL +;;; read factorials from (:QUEUE :RECNO) (dolist (type '(:queue :recno)) (print type) (bdb:with-open-db (db *dbe* (format nil "test-~A.db" type) :rdonly t) @@ -175,11 +226,6 @@ (bdb:env-close *dbe*) T -(with-open-file (e "bdb-errors" :direction :input) - (format t "~&errors: ~:D byte~:P:~%" (file-length e)) - (loop :for s = (read-line e nil nil) :while s :do (format t "--> ~S~%" s))) -NIL - +(finish-file "bdb-errors") T ; no errors, bdb-errors does not exist (rmrf "bdb-home/") T (rmrf "bdb-data/") T -(null (delete-file "bdb-errors")) NIL --__--__-- Message: 6 From: Sam Steingold <sd...@us...> To: cli...@li... Subject: clisp/src ChangeLog,1.3294,1.3295 Date: Fri, 16 Jul 2004 21:23:25 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/clisp/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5652/src Modified Files: ChangeLog Log Message: (BDB:DB-SET-OPTIONS, BDB:DB-GET-OPTIONS): accept :RE_SOURCE Index: ChangeLog =================================================================== RCS file: /cvsroot/clisp/clisp/src/ChangeLog,v retrieving revision 1.3294 retrieving revision 1.3295 diff -u -d -r1.3294 -r1.3295 --- ChangeLog 16 Jul 2004 12:30:53 -0000 1.3294 +++ ChangeLog 16 Jul 2004 21:23:22 -0000 1.3295 @@ -1,3 +1,8 @@ +2004-07-16 Sam Steingold <sd...@gn...> + + * modules/berkeley-db/bdb.c (BDB:DB-SET-OPTIONS, BDB:DB-GET-OPTIONS): + accept :RE_SOURCE + 2004-06-13 Bruno Haible <br...@cl...> * lambdalist.lisp (analyze-method-combination-lambdalist): New function. --__--__-- _______________________________________________ clisp-cvs mailing list cli...@li... https://lists.sourceforge.net/lists/listinfo/clisp-cvs End of clisp-cvs Digest |