Re: [flexi-streams-devel] a patch for chineses's cp936(gbk) encoding support.

5 Feb
2010
5 Feb
'10
3:58 p.m.
Thanks, I'll take a look at this when I'm less busy than now. Again, please use the mailing list for patches and questions - see Cc. Thanks, Edi. On Fri, Feb 5, 2010 at 11:31 AM, jingtaozf <jingtaozf@gmail.com> wrote: > Hi Edi; > I have modifed the code to fit your request.and the encode name changed from cp936 to gbk. > The following is the response. > > 1. There are several new functions and macros which don't have a > documentation string. > ==> i have add document to function get-multibyte-mapper,others are referenced with your codes. > 2. There are tabs in the files and sometimes the indentation seems wrong. > ==> i have removed tabs. > 3. There are parts of the code which are commented out. If they > aren't used, they shouldn't be in there. > ==> yes,i deleted them. > 4. There's at least one file (seems like a variant of the ASDF system > definition) which shouldn't be in there at all. > ==>sorry,but i don't know what you mean? > 5. The link in the HTML documentation is wrong. > ==>i fixed the url link to gbk. > 6. Isn't get-multibyte-mapper the wrong name? You don't get the mapper, do you? > ==>yes,this function is borrowed from sbcl's source code,and i have pointed out this in the comment. > 7. And the function itself looks like Scheme to me. I think it'd be > easier to understand using normal iteration. > ==>i have re-write the decode and encode part.but i am not familiar with scheme. :( > 8. I don't understand why the encoding factor is 1.5. Is the comment > correct or just copied? > ==>i don't know how to set the encoding factor,gbk(cp936) has one or two octets.i set it to 1.5 with my estimate. > 9. I'm not familiar with CP936. Is it correct that there's only a > big-endian version? > ==>gbk(cp936) has no endian problem, i borrowed code from your utf16's implemention,now i have fixed it. > 10. One of the new files contains DOS line endings. > ==> some your source files has DOS line endings(such as ascii.lisp),some use unix line endings. > i don't know why and maybe i modified it un-expectly. > > > Fothermore,this patch file is encoded use utf-8,because my test file contains file which is encoded by gbk format. > I also put the test files(with gbk format) to the attatchment,because i am not sure the patch will generate them correctly. > > 2010-02-04 > > > > jingtaozf > > > > 发件人: Edi Weitz > 发送时间: 2009-10-29 23:08:38 > 收件人: jingtao xu > 抄送: General interest list about flexi-streams > 主题: Re: a patch for chineses's cp936(gbk) encoding support. > > On Thu, Oct 29, 2009 at 3:17 PM, jingtao xu <jingtaozf@gmail.com> wrote: >> hi,Edi Weitz: >> Because i want to use drakma as my web development tool,but it use >> flexi-streams and could not decode chinese's cp936 characters,so i make a >> patch to flexi-streams. >> >> The sbcl has supported cp936(by files supported by beinghe,which cvs path >> is:sbcl/src/code/external-formats/enc-cn.lisp,enc-cn-tbl.lisp). i use file >> enc-cn-tbl.lisp here. >> >> The patches is make by following commands: >> diff -urN ~/.sbcl/site/flexi-streams-1.0.7/ ~/Downloads/flexi-streams/ >>>flexi-streams-cp936.patch >> >> I send you both the patch files and the patched codes. >> The test codes is added and passed. >> The documention is updated. > [I've put the mailing list on Cc where I think we should continue this.] > First of all, I'd be happy to include this into the flexi-streams > distribution. There are a couple of issues with the patch, though. > What I saw from briefly looking at it: > 1. There are several new functions and macros which don't have a > documentation string. > 2. There are tabs in the files and sometimes the indentation seems wrong. > 3. There are parts of the code which are commented out. If they > aren't used, they shouldn't be in there. > 4. There's at least one file (seems like a variant of the ASDF system > definition) which shouldn't be in there at all. > 5. The link in the HTML documentation is wrong. > 6. Isn't get-multibyte-mapper the wrong name? You don't get the mapper, do you? > 7. And the function itself looks like Scheme to me. I think it'd be > easier to understand using normal iteration. > 8. I don't understand why the encoding factor is 1.5. Is the comment > correct or just copied? > 9. I'm not familiar with CP936. Is it correct that there's only a > big-endian version? > 10. One of the new files contains DOS line endings. > There's probably more. > If you could go over these and send a cleaned-up version of the patch, > I'll review it. FWIW, here are some guidelines: > http://weitz.de/patches.html > Thanks, > Edi. >

3 Mar
3 Mar
8:02 a.m.
New subject: [flexi-streams-devel] a patch for chineses's cp936(gbk) encoding support.
Sorry for the long delay. I finally found the time to look at the patch. Unfortunately, it doesn't work for me. If I run the tests, I get an error. I'm attaching a backtrace. Thanks, Edi. Condition: No character which corresponds to octet #xAFE4. Call to ERROR (offset 67) SYSTEM::ESTRING : FLEXI-STREAMS:EXTERNAL-FORMAT-ENCODING-ERROR SYSTEM::EARGS : (:FORMAT-CONTROL "No character which corresponds to octet #x~X." :FORMAT-ARGUMENTS (45028) :EXTERNAL-FORMAT #<FLEXI-STREAMS::FLEXI-GBK-FORMAT (:GBK :EOL-STYLE :LF :LITTLE-ENDIAN T) 229B8E57>) Catch frame: (FLEXI-STREAMS::RECOVER-FROM-ENCODING-ERROR . RESTART-CASE) Catch frame: (FLEXI-STREAMS::RECOVER-FROM-ENCODING-ERROR . 1) Call to FLEXI-STREAMS::RECOVER-FROM-ENCODING-ERROR (offset 382) FLEXI-STREAMS::EXTERNAL-FORMAT : #<FLEXI-STREAMS::FLEXI-GBK-FORMAT (:GBK :EOL-STYLE :LF :LITTLE-ENDIAN T) 229B8E57> FLEXI-STREAMS::FORMAT-CONTROL : "No character which corresponds to octet #x~X." FLEXI-STREAMS::FORMAT-ARGS : (45028) DBG::G : (FLEXI-STREAMS::RECOVER-FROM-ENCODING-ERROR . RESTART-CASE) DBG::G : #<Function 1 subfunction of FLEXI-STREAMS::RECOVER-FROM-ENCODING-ERROR 2194D172> CONDITIONS::*RESTART-CLUSTERS* {Special} : ((#<RESTART USE-VALUE 22A82EAB>) (#<RESTART ASDF:RETRY 22A82E5B> #<RESTART ASDF:ACCEPT 22A82E03>) (#<RESTART ABORT 22A82D9F>) (#<RESTART ABORT 216B0553>)) Call to (METHOD FLEXI-STREAMS::OCTETS-TO-CHAR-CODE (FLEXI-STREAMS::FLEXI-GBK-FORMAT T)) (offset 245) FORMAT : #<FLEXI-STREAMS::FLEXI-GBK-FORMAT (:GBK :EOL-STYLE :LF :LITTLE-ENDIAN T) 229B8E57> FLEXI-STREAMS::READER : #<Closure FLEXI-STREAMS::READER subfunction of (METHOD STREAM:STREAM-READ-CHAR (FLEXI-STREAMS:FLEXI-INPUT-STREAM)) 30FE382> Binding frame: FLEXI-STREAMS::*CURRENT-UNREADER* : NIL Call to (METHOD STREAM:STREAM-READ-CHAR (FLEXI-STREAMS:FLEXI-INPUT-STREAM)) (offset 242) STREAM : :DONT-KNOW Call to (METHOD STREAM:STREAM-READ-LINE (STREAM:FUNDAMENTAL-STREAM)) (offset 66) STREAM : #<FLEXI-STREAMS:FLEXI-INPUT-STREAM 22A8363F> Call to READ-LINE (offset 105) STREAM : #<FLEXI-STREAMS:FLEXI-INPUT-STREAM 22A8363F> SYSTEM::EOF-ERROR-P : NIL SYSTEM::EOF-VALUE : NIL SYSTEM::RECURSIVE-P : :DONT-KNOW Call to FLEXI-STREAMS-TEST::COPY-STREAM (offset 112) FLEXI-STREAMS-TEST::STREAM-IN : #<STREAM::LATIN-1-FILE-STREAM c:\home\lisp\flexi-streams\test\xjt_gbk_lf.txt> FLEXI-STREAMS-TEST::EXTERNAL-FORMAT-IN : #<FLEXI-STREAMS::FLEXI-GBK-FORMAT (:GBK :EOL-STYLE :LF :LITTLE-ENDIAN T) 229B8E57> FLEXI-STREAMS-TEST::STREAM-OUT : #<STREAM::LATIN-1-FILE-STREAM C:\Users\edi\AppData\Local\Temp\odd-streams-test\xjt_gbk_lf.txt> FLEXI-STREAMS-TEST::EXTERNAL-FORMAT-OUT : #<FLEXI-STREAMS::FLEXI-GBK-FORMAT (:GBK :EOL-STYLE :LF :LITTLE-ENDIAN T) 229B8E57> FLEXI-STREAMS-TEST::IN : #<FLEXI-STREAMS:FLEXI-INPUT-STREAM 22A8363F> FLEXI-STREAMS-TEST::OUT : #<FLEXI-STREAMS:FLEXI-OUTPUT-STREAM 22A835B3> FLEXI-STREAMS-TEST::LINE : NIL Catch frame: #<Unbound Marker> Catch frame: #<Unbound Marker> Call to FLEXI-STREAMS-TEST::COPY-FILE (offset 267) FLEXI-STREAMS-TEST::PATH-IN : #P"c:/home/lisp/flexi-streams/test/xjt_gbk_lf.txt" FLEXI-STREAMS-TEST::EXTERNAL-FORMAT-IN : #<FLEXI-STREAMS::FLEXI-GBK-FORMAT (:GBK :EOL-STYLE :LF :LITTLE-ENDIAN T) 229B8E57> FLEXI-STREAMS-TEST::PATH-OUT : #P"C:/Users/edi/AppData/Local/Temp/odd-streams-test/xjt_gbk_lf.txt" FLEXI-STREAMS-TEST::EXTERNAL-FORMAT-OUT : #<FLEXI-STREAMS::FLEXI-GBK-FORMAT (:GBK :EOL-STYLE :LF :LITTLE-ENDIAN T) 229B8E57> FLEXI-STREAMS-TEST::DIRECTION-OUT : :OUTPUT FLEXI-STREAMS-TEST::DIRECTION-IN : :INPUT DBG::INTERNAL-STREAM : #<STREAM::LATIN-1-FILE-STREAM c:\home\lisp\flexi-streams\test\xjt_gbk_lf.txt> DELETE : T FLEXI-STREAMS-TEST::IN : #<STREAM::LATIN-1-FILE-STREAM c:\home\lisp\flexi-streams\test\xjt_gbk_lf.txt> DBG::INTERNAL-STREAM : #<STREAM::LATIN-1-FILE-STREAM C:\Users\edi\AppData\Local\Temp\odd-streams-test\xjt_gbk_lf.txt> DELETE : T FLEXI-STREAMS-TEST::OUT : #<STREAM::LATIN-1-FILE-STREAM C:\Users\edi\AppData\Local\Temp\odd-streams-test\xjt_gbk_lf.txt> Binding frame: FLEXI-STREAMS-TEST::*COPY-FUNCTION* : NIL Call to FLEXI-STREAMS-TEST::COMPARE-FILES (offset 2620) FLEXI-STREAMS-TEST::VERBOSE : NIL DBG::SHOW-PROGRESS-P {Closing} : 1 DBG::SUCCESSP : T DBG::TESTCOUNT {Closing} : 1513 DBG::|internal-flet-name-for-MAYBE-SHOW-PROGRESS| : #<Closure FLEXI-STREAMS-TEST::MAYBE-SHOW-PROGRESS subfunction of FLEXI-STREAMS-TEST::COMPARE-FILES 30FE4A2> FLEXI-STREAMS-TEST::COMPARE-FILES-ARGS-LIST : ((#1="kafka_utf8_lf.txt" #2=#<FLEXI-STREAMS::FLEXI-UTF-8-FORMAT (:UTF-8 :EOL-STYLE :LF) 229B57BB> #1# #2#) (#1# #2# #3="kafka_utf8_cr.txt" #4=#<FLEXI-STREAMS::FLEXI-CR-UTF-8-FORMAT (:UTF-8 :EOL-STYLE :CR) 229B57FB>) (#1# #2# #5="kafka_utf8_crlf.txt" #6=#<FLEXI-STREAMS::FLEXI-CRLF-UTF-8-FORMAT (:UTF-8 :EOL-STYLE :CRLF) 229B583B>) (#1# #2# #7="kafka_latin1_lf.txt" #8=#<FLEXI-STREAMS::FLEXI-LATIN-1-FORMAT (:ISO-8859-1 :EOL-STYLE :LF) 229B5B6F>) (#1# #2# #9="kafka_latin1_cr.txt" #10=#<FLEXI-STREAMS::FLEXI-CR-LATIN-1-FORMAT (:ISO-8859-1 :EOL-STYLE :CR) 229B5BB7>) (#1# #2# #11="kafka_latin1_crlf.txt" #12=#<FLEXI-STREAMS::FLEXI-CRLF-LATIN-1-FORMAT (:ISO-8859-1 :EOL-STYLE :CRLF) 229B5C03>) (#1# #2# #13="kafka_cp1252_lf.txt" #14=#<FLEXI-STREAMS::FLEXI-8-BIT-FORMAT (:CODE-PAGE :ID 1252 :EOL-STYLE :LF) 229B5C4B>) (#1# #2# #15="kafka_cp1252_cr.txt" #16=#<FLEXI-STREAMS::FLEXI-CR-8-BIT-FORMAT (:CODE-PAGE :ID 1252 :EOL-STYLE :CR) 229B5C93>) (#1# #2# #17="kafka_cp1252_crlf.txt" #18=#<FLEXI-STREAMS::FLEXI-CRLF-8-BIT-FORMAT (:CODE-PAGE :ID 1252 :EOL-STYLE :CRLF) 229B5CDF>) (#3# #4# #1# #2#) (#3# #4# #3# #4#) (#3# #4# #5# #6#) (#3# #4# #7# #8#) (#3# #4# #9# #10#) (#3# #4# #11# #12#) (#3# #4# #13# #14#) (#3# #4# #15# #16#) (#3# #4# #17# #18#) (#5# #6# #1# #2#) (#5# #6# #3# #4#) (#5# #6# #5# #6#) (#5# #6# #7# #8#) (#5# #6# #9# #10#) (#5# #6# #11# #12#) (#5# #6# #13# #14#) (#5# #6# #15# #16#) (#5# #6# #17# #18#) (#7# #8# #1# #2#) (#7# #8# #3# #4#) (#7# #8# #5# #6#) (#7# #8# #7# #8#) (#7# #8# #9# #10#) (#7# #8# #11# #12#) (#7# #8# #13# #14#) (#7# #8# #15# #16#) (#7# #8# #17# #18#) (#9# #10# #1# #2#) (#9# #10# #3# #4#) (#9# #10# #5# #6#) (#9# #10# #7# #8#) (#9# #10# #9# #10#) (#9# #10# #11# #12#) (#9# #10# #13# #14#) (#9# #10# #15# #16#) (#9# #10# #17# #18#) (#11# #12# #1# #2#) (#11# #12# #3# #4#) (#11# #12# #5# #6#) (#11# #12# #7# #8#) (#11# #12# #9# #10#) (#11# #12# #11# #12#) (#11# #12# #13# #14#) (#11# #12# #15# #16#) (#11# #12# #17# #18#) (#13# #14# #1# #2#) (#13# #14# #3# #4#) (#13# #14# #5# #6#) (#13# #14# #7# #8#) (#13# #14# #9# #10#) (#13# #14# #11# #12#) (#13# #14# #13# #14#) (#13# #14# #15# #16#) (#13# #14# #17# #18#) (#15# #16# #1# #2#) (#15# #16# #3# #4#) (#15# #16# #5# #6#) (#15# #16# #7# #8#) (#15# #16# #9# #10#) (#15# #16# #11# #12#) (#15# #16# #13# #14#) (#15# #16# #15# #16#) (#15# #16# #17# #18#) (#17# #18# #1# #2#) (#17# #18# #3# #4#) (#17# #18# #5# #6#) (#17# #18# #7# #8#) (#17# #18# #9# #10#) (#17# #18# #11# #12#) (#17# #18# #13# #14#) (#17# #18# #15# #16#) (#17# #18# #17# #18#) (#19="tilton_utf8_lf.txt" #20=#<FLEXI-STREAMS::FLEXI-UTF-8-FORMAT (:UTF-8 :EOL-STYLE :LF) 229B701B> #19# #20#) (#19# #20# #21="tilton_utf8_cr.txt" #22=#<FLEXI-STREAMS::FLEXI-CR-UTF-8-FORMAT (:UTF-8 :EOL-STYLE :CR) 229B705B>) (#19# #20# #23="tilton_utf8_crlf.txt" #24=#<FLEXI-STREAMS::FLEXI-CRLF-UTF-8-FORMAT (:UTF-8 :EOL-STYLE :CRLF) 229B709F>) (#19# #20# #25="tilton_ascii_lf.txt" #26=#<FLEXI-STREAMS::FLEXI-ASCII-FORMAT (:US-ASCII :EOL-STYLE :LF) 229B70E7>) (#19# #20# #27="tilton_ascii_cr.txt" #28=#<FLEXI-STREAMS::FLEXI-CR-ASCII-FORMAT (:US-ASCII :EOL-STYLE :CR) 229B712F>) (#19# #20# #29="tilton_ascii_crlf.txt" #30=#<FLEXI-STREAMS::FLEXI-CRLF-ASCII-FORMAT (:US-ASCII :EOL-STYLE :CRLF) 229B717B>) (#21# #22# #19# #20#) (#21# #22# #21# #22#) (#21# #22# #23# #24#) (#21# #22# #25# #26#) (#21# #22# #27# #28#) (#21# #22# #29# #30#) (#23# #24# #19# #20#) (#23# #24# #21# #22#) (#23# #24# #23# #24#) (#23# #24# #25# #26#) (#23# #24# #27# #28#) (#23# #24# #29# #30#) (#25# #26# #19# #20#) (#25# #26# #21# #22#) (#25# #26# #23# #24#) (#25# #26# #25# #26#) (#25# #26# #27# #28#) (#25# #26# #29# #30#) (#27# #28# #19# #20#) (#27# #28# #21# #22#) (#27# #28# #23# #24#) (#27# #28# #25# #26#) (#27# #28# #27# #28#) (#27# #28# #29# #30#) (#29# #30# #19# #20#) (#29# #30# #21# #22#) (#29# #30# #23# #24#) (#29# #30# #25# #26#) (#29# #30# #27# #28#) (#29# #30# #29# #30#) (#31="hebrew_utf8_lf.txt" #32=#<FLEXI-STREAMS::FLEXI-UTF-8-FORMAT (:UTF-8 :EOL-STYLE :LF) 229B7A2B> #31# #32#) (#31# #32# #33="hebrew_utf8_cr.txt" #34=#<FLEXI-STREAMS::FLEXI-CR-UTF-8-FORMAT (:UTF-8 :EOL-STYLE :CR) 229B7A6B>) (#31# #32# #35="hebrew_utf8_crlf.txt" #36=#<FLEXI-STREAMS::FLEXI-CRLF-UTF-8-FORMAT (:UTF-8 :EOL-STYLE :CRLF) 229B7AAF>) (#31# #32# #37="hebrew_latin8_lf.txt" #38=#<FLEXI-STREAMS::FLEXI-8-BIT-FORMAT (:ISO-8859-8 :EOL-STYLE :LF) 229B7AFB>) (#31# #32# #39="hebrew_latin8_cr.txt" #40=#<FLEXI-STREAMS::FLEXI-CR-8-BIT-FORMAT (:ISO-8859-8 :EOL-STYLE :CR) 229B7B47>) (#31# #32# #41="hebrew_latin8_crlf.txt" #42=#<FLEXI-STREAMS::FLEXI-CRLF-8-BIT-FORMAT (:ISO-8859-8 :EOL-STYLE :CRLF) 229B7B93>) (#33# #34# #31# #32#) (#33# #34# #33# #34#) (#33# #34# #35# #36#) (#33# #34# #37# #38#) (#33# #34# #39# #40#) (#33# #34# #41# #42#) (#35# #36# #31# #32#) (#35# #36# #33# #34#) (#35# #36# #35# #36#) (#35# #36# #37# #38#) (#35# #36# #39# #40#) (#35# #36# #41# #42#) (#37# #38# #31# #32#) (#37# #38# #33# #34#) (#37# #38# #35# #36#) (#37# #38# #37# #38#) (#37# #38# #39# #40#) (#37# #38# #41# #42#) (#39# #40# #31# #32#) (#39# #40# #33# #34#) (#39# #40# #35# #36#) (#39# #40# #37# #38#) (#39# #40# #39# #40#) (#39# #40# #41# #42#) (#41# #42# #31# #32#) (#41# #42# #33# #34#) (#41# #42# #35# #36#) (#41# #42# #37# #38#) (#41# #42# #39# #40#) (#41# #42# #41# #42#) (#43="russian_utf8_lf.txt" #44=#<FLEXI-STREAMS::FLEXI-UTF-8-FORMAT (:UTF-8 :EOL-STYLE :LF) 229B8443> #43# #44#) (#43# #44# #45="russian_utf8_cr.txt" #46=#<FLEXI-STREAMS::FLEXI-CR-UTF-8-FORMAT (:UTF-8 :EOL-STYLE :CR) 229B8483>) (#43# #44# #47="russian_utf8_crlf.txt" #48=#<FLEXI-STREAMS::FLEXI-CRLF-UTF-8-FORMAT (:UTF-8 :EOL-STYLE :CRLF) 229B84C7>) (#43# #44# #49="russian_koi8r_lf.txt" #50=#<FLEXI-STREAMS::FLEXI-8-BIT-FORMAT (:KOI8-R :EOL-STYLE :LF) 229B8513>) (#43# #44# #51="russian_koi8r_cr.txt" #52=#<FLEXI-STREAMS::FLEXI-CR-8-BIT-FORMAT (:KOI8-R :EOL-STYLE :CR) 229B855F>) (#43# #44# #53="russian_koi8r_crlf.txt" #54=#<FLEXI-STREAMS::FLEXI-CRLF-8-BIT-FORMAT (:KOI8-R :EOL-STYLE :CRLF) 229B85AB>) (#45# #46# #43# #44#) (#45# #46# #45# #46#) (#45# #46# #47# #48#) (#45# #46# #49# #50#) (#45# #46# #51# #52#) (#45# #46# #53# #54#) (#47# #48# #43# #44#) (#47# #48# #45# #46#) (#47# #48# #47# #48#) (#47# #48# #49# #50#) (#47# #48# #51# #52#) (#47# #48# #53# #54#) (#49# #50# #43# #44#) (#49# #50# #45# #46#) (#49# #50# #47# #48#) (#49# #50# #49# #50#) (#49# #50# #51# #52#) (#49# #50# #53# #54#) (#51# #52# #43# #44#) (#51# #52# #45# #46#) (#51# #52# #47# #48#) (#51# #52# #49# #50#) (#51# #52# #51# #52#) (#51# #52# #53# #54#) (#53# #54# #43# #44#) (#53# #54# #45# #46#) (#53# #54# #47# #48#) (#53# #54# #49# #50#) (#53# #54# #51# #52#) (#53# #54# #53# #54#) (#55="xjt_gbk_lf.txt" #56=#<FLEXI-STREAMS::FLEXI-GBK-FORMAT (:GBK :EOL-STYLE :LF :LITTLE-ENDIAN T) 229B8E57> #55# #56#) (#55# #56# #57="xjt_gbk_cr.txt" #58=#<FLEXI-STREAMS::FLEXI-CR-GBK-FORMAT (:GBK :EOL-STYLE :CR :LITTLE-ENDIAN T) 229B8E93>) (#55# #56# #59="xjt_gbk_crlf.txt" #60=#<FLEXI-STREAMS::FLEXI-CRLF-GBK-FORMAT (:GBK :EOL-STYLE :CRLF :LITTLE-ENDIAN T) 229B8ED3>) (#57# #58# #55# #56#) (#57# #58# #57# #58#) (#57# #58# #59# #60#) (#59# #60# #55# #56#) (#59# #60# #57# #58#) (#59# #60# #59# #60#) (#61="unicode_demo_utf8_lf.txt" #62=#<FLEXI-STREAMS::FLEXI-UTF-8-FORMAT (:UTF-8 :EOL-STYLE :LF) 229B9137> #61# #62#) (#61# #62# #63="unicode_demo_utf8_cr.txt" #64=#<FLEXI-STREAMS::FLEXI-CR-UTF-8-FORMAT (:UTF-8 :EOL-STYLE :CR) 229B917F>) (#61# #62# #65="unicode_demo_utf8_crlf.txt" #66=#<FLEXI-STREAMS::FLEXI-CRLF-UTF-8-FORMAT (:UTF-8 :EOL-STYLE :CRLF) 229B91C7>) (#61# #62# #67="unicode_demo_ucs2_lf_le.txt" #68=#<FLEXI-STREAMS::FLEXI-UTF-16-LE-FORMAT (:UTF-16 :EOL-STYLE :LF :LITTLE-ENDIAN T) 229B920F>) (#61# #62# #69="unicode_demo_ucs2_cr_le.txt" #70=#<FLEXI-STREAMS::FLEXI-CR-UTF-16-LE-FORMAT (:UTF-16 :EOL-STYLE :CR :LITTLE-ENDIAN T) 229B9257>) (#61# #62# #71="unicode_demo_ucs2_crlf_le.txt" #72=#<FLEXI-STREAMS::FLEXI-CRLF-UTF-16-LE-FORMAT (:UTF-16 :EOL-STYLE :CRLF :LITTLE-ENDIAN T) 229B92A3>) (#61# #62# #73="unicode_demo_ucs2_lf_be.txt" #74=#<FLEXI-STREAMS::FLEXI-UTF-16-BE-FORMAT (:UTF-16 :EOL-STYLE :LF :LITTLE-ENDIAN NIL) 229B92EB>) (#61# #62# #75="unicode_demo_ucs2_cr_be.txt" #76=#<FLEXI-STREAMS::FLEXI-CR-UTF-16-BE-FORMAT (:UTF-16 :EOL-STYLE :CR :LITTLE-ENDIAN NIL) 229B9333>) (#61# #62# #77="unicode_demo_ucs2_crlf_be.txt" #78=#<FLEXI-STREAMS::FLEXI-CRLF-UTF-16-BE-FORMAT (:UTF-16 :EOL-STYLE :CRLF :LITTLE-ENDIAN NIL) 229B937F>) (#61# #62# #79="unicode_demo_ucs4_lf_le.txt" #80=#<FLEXI-STREAMS::FLEXI-UTF-32-LE-FORMAT (:UTF-32 :EOL-STYLE :LF :LITTLE-ENDIAN T) 229B93C7>) (#61# #62# #81="unicode_demo_ucs4_cr_le.txt" #82=#<FLEXI-STREAMS::FLEXI-CR-UTF-32-LE-FORMAT (:UTF-32 :EOL-STYLE :CR :LITTLE-ENDIAN T) 229B940F>) (#61# #62# #83="unicode_demo_ucs4_crlf_le.txt" #84=#<FLEXI-STREAMS::FLEXI-CRLF-UTF-32-LE-FORMAT (:UTF-32 :EOL-STYLE :CRLF :LITTLE-ENDIAN T) 229B945B>) (#61# #62# #85="unicode_demo_ucs4_lf_be.txt" #86=#<FLEXI-STREAMS::FLEXI-UTF-32-BE-FORMAT (:UTF-32 :EOL-STYLE :LF :LITTLE-ENDIAN NIL) 229B94A3>) (#61# #62# #87="unicode_demo_ucs4_cr_be.txt" #88=#<FLEXI-STREAMS::FLEXI-CR-UTF-32-BE-FORMAT (:UTF-32 :EOL-STYLE :CR :LITTLE-ENDIAN NIL) 229B94EB>) (#61# #62# #89="unicode_demo_ucs4_crlf_be.txt" #90=#<FLEXI-STREAMS::FLEXI-CRLF-UTF-32-BE-FORMAT (:UTF-32 :EOL-STYLE :CRLF :LITTLE-ENDIAN NIL) 229B9537>) (#63# #64# #61# #62#) (#63# #64# #63# #64#) (#63# #64# #65# #66#) (#63# #64# #67# #68#) (#63# #64# #69# #70#) (#63# #64# #71# #72#) (#63# #64# #73# #74#) (#63# #64# #75# #76#) (#63# #64# #77# #78#) (#63# #64# #79# #80#) (#63# #64# #81# #82#) (#63# #64# #83# #84#) (#63# #64# #85# #86#) (#63# #64# #87# #88#) (#63# #64# #89# #90#) (#65# #66# #61# #62#) (#65# #66# #63# #64#) (#65# #66# #65# #66#) (#65# #66# #67# #68#) (#65# #66# #69# #70#) (#65# #66# #71# #72#) (#65# #66# #73# #74#) (#65# #66# #75# #76#) (#65# #66# #77# #78#) (#65# #66# #79# #80#) (#65# #66# #81# #82#) (#65# #66# #83# #84#) (#65# #66# #85# #86#) (#65# #66# #87# #88#) (#65# #66# #89# #90#) (#67# #68# #61# #62#) (#67# #68# #63# #64#) (#67# #68# #65# #66#) (#67# #68# #67# #68#) (#67# #68# #69# #70#) (#67# #68# #71# #72#) (#67# #68# #73# #74#) (#67# #68# #75# #76#) (#67# #68# #77# #78#) (#67# #68# #79# #80#) (#67# #68# #81# #82#) (#67# #68# #83# #84#) (#67# #68# #85# #86#) (#67# #68# #87# #88#) (#67# #68# #89# #90#) (#69# #70# #61# #62#) (#69# #70# #63# #64#) (#69# #70# #65# #66#) (#69# #70# #67# #68#) (#69# #70# #69# #70#) (#69# #70# #71# #72#) (#69# #70# #73# #74#) (#69# #70# #75# #76#) (#69# #70# #77# #78#) (#69# #70# #79# #80#) (#69# #70# #81# #82#) (#69# #70# #83# #84#) (#69# #70# #85# #86#) (#69# #70# #87# #88#) (#69# #70# #89# #90#) (#71# #72# #61# #62#) (#71# #72# #63# #64#) (#71# #72# #65# #66#) (#71# #72# #67# #68#) (#71# #72# #69# #70#) (#71# #72# #71# #72#) (#71# #72# #73# #74#) (#71# #72# #75# #76#) (#71# #72# #77# #78#) (#71# #72# #79# #80#) (#71# #72# #81# #82#) (#71# #72# #83# #84#) (#71# #72# #85# #86#) (#71# #72# #87# #88#) (#71# #72# #89# #90#) (#73# #74# #61# #62#) (#73# #74# #63# #64#) (#73# #74# #65# #66#) (#73# #74# #67# #68#) (#73# #74# #69# #70#) (#73# #74# #71# #72#) (#73# #74# #73# #74#) (#73# #74# #75# #76#) (#73# #74# #77# #78#) (#73# #74# #79# #80#) (#73# #74# #81# #82#) (#73# #74# #83# #84#) (#73# #74# #85# #86#) (#73# #74# #87# #88#) (#73# #74# #89# #90#) (#75# #76# #61# #62#) (#75# #76# #63# #64#) (#75# #76# #65# #66#) (#75# #76# #67# #68#) (#75# #76# #69# #70#) (#75# #76# #71# #72#) (#75# #76# #73# #74#) (#75# #76# #75# #76#) (#75# #76# #77# #78#) (#75# #76# #79# #80#) (#75# #76# #81# #82#) (#75# #76# #83# #84#) (#75# #76# #85# #86#) (#75# #76# #87# #88#) (#75# #76# #89# #90#) (#77# #78# #61# #62#) (#77# #78# #63# #64#) (#77# #78# #65# #66#) (#77# #78# #67# #68#) (#77# #78# #69# #70#) (#77# #78# #71# #72#) (#77# #78# #73# #74#) (#77# #78# #75# #76#) (#77# #78# #77# #78#) (#77# #78# #79# #80#) (#77# #78# #81# #82#) (#77# #78# #83# #84#) (#77# #78# #85# #86#) (#77# #78# #87# #88#) (#77# #78# #89# #90#) (#79# #80# #61# #62#) (#79# #80# #63# #64#) (#79# #80# #65# #66#) (#79# #80# #67# #68#) (#79# #80# #69# #70#) (#79# #80# #71# #72#) (#79# #80# #73# #74#) (#79# #80# #75# #76#) (#79# #80# #77# #78#) (#79# #80# #79# #80#) (#79# #80# #81# #82#) (#79# #80# #83# #84#) (#79# #80# #85# #86#) (#79# #80# #87# #88#) (#79# #80# #89# #90#) (#81# #82# #61# #62#) (#81# #82# #63# #64#) (#81# #82# #65# #66#) (#81# #82# #67# #68#) (#81# #82# #69# #70#) (#81# #82# #71# #72#) (#81# #82# #73# #74#) (#81# #82# #75# #76#) (#81# #82# #77# #78#) (#81# #82# #79# #80#) (#81# #82# #81# #82#) (#81# #82# #83# #84#) (#81# #82# #85# #86#) (#81# #82# #87# #88#) (#81# #82# #89# #90#) (#83# #84# #61# #62#) (#83# #84# #63# #64#) (#83# #84# #65# #66#) (#83# #84# #67# #68#) (#83# #84# #69# #70#) (#83# #84# #71# #72#) (#83# #84# #73# #74#) (#83# #84# #75# #76#) (#83# #84# #77# #78#) (#83# #84# #79# #80#) (#83# #84# #81# #82#) (#83# #84# #83# #84#) (#83# #84# #85# #86#) (#83# #84# #87# #88#) (#83# #84# #89# #90#) (#85# #86# #61# #62#) (#85# #86# #63# #64#) (#85# #86# #65# #66#) (#85# #86# #67# #68#) (#85# #86# #69# #70#) (#85# #86# #71# #72#) (#85# #86# #73# #74#) (#85# #86# #75# #76#) (#85# #86# #77# #78#) (#85# #86# #79# #80#) (#85# #86# #81# #82#) (#85# #86# #83# #84#) (#85# #86# #85# #86#) (#85# #86# #87# #88#) (#85# #86# #89# #90#) (#87# #88# #61# #62#) (#87# #88# #63# #64#) (#87# #88# #65# #66#) (#87# #88# #67# #68#) (#87# #88# #69# #70#) (#87# #88# #71# #72#) (#87# #88# #73# #74#) (#87# #88# #75# #76#) (#87# #88# #77# #78#) (#87# #88# #79# #80#) (#87# #88# #81# #82#) (#87# #88# #83# #84#) (#87# #88# #85# #86#) (#87# #88# #87# #88#) (#87# #88# #89# #90#) (#89# #90# #61# #62#) (#89# #90# #63# #64#) (#89# #90# #65# #66#) (#89# #90# #67# #68#) (#89# #90# #69# #70#) (#89# #90# #71# #72#) (#89# #90# #73# #74#) (#89# #90# #75# #76#) (#89# #90# #77# #78#) (#89# #90# #79# #80#) (#89# #90# #81# #82#) (#89# #90# #83# #84#) (#89# #90# #85# #86#) (#89# #90# #87# #88#) (#89# #90# #89# #90#)) FLEXI-STREAMS-TEST::*COPY-FUNCTION* {Special} : FLEXI-STREAMS-TEST::COPY-STREAM DBG::|tail-| : (FLEXI-STREAMS-TEST::COPY-STREAM*) FLEXI-STREAMS-TEST::PATH-IN : "xjt_gbk_lf.txt" FLEXI-STREAMS-TEST::EXTERNAL-FORMAT-IN : #<FLEXI-STREAMS::FLEXI-GBK-FORMAT (:GBK :EOL-STYLE :LF :LITTLE-ENDIAN T) 229B8E57> FLEXI-STREAMS-TEST::PATH-OUT : "xjt_gbk_lf.txt" FLEXI-STREAMS-TEST::EXTERNAL-FORMAT-OUT : #<FLEXI-STREAMS::FLEXI-GBK-FORMAT (:GBK :EOL-STYLE :LF :LITTLE-ENDIAN T) 229B8E57> DBG::|tail-| : ((#1="xjt_gbk_lf.txt" #2=#<FLEXI-STREAMS::FLEXI-GBK-FORMAT (:GBK :EOL-STYLE :LF :LITTLE-ENDIAN T) 229B8E57> #3="xjt_gbk_cr.txt" #4=#<FLEXI-STREAMS::FLEXI-CR-GBK-FORMAT (:GBK :EOL-STYLE :CR :LITTLE-ENDIAN T) 229B8E93>) (#1# #2# #5="xjt_gbk_crlf.txt" #6=#<FLEXI-STREAMS::FLEXI-CRLF-GBK-FORMAT (:GBK :EOL-STYLE :CRLF :LITTLE-ENDIAN T) 229B8ED3>) (#3# #4# #1# #2#) (#3# #4# #3# #4#) (#3# #4# #5# #6#) (#5# #6# #1# #2#) (#5# #6# #3# #4#) (#5# #6# #5# #6#) (#7="unicode_demo_utf8_lf.txt" #8=#<FLEXI-STREAMS::FLEXI-UTF-8-FORMAT (:UTF-8 :EOL-STYLE :LF) 229B9137> #7# #8#) (#7# #8# #9="unicode_demo_utf8_cr.txt" #10=#<FLEXI-STREAMS::FLEXI-CR-UTF-8-FORMAT (:UTF-8 :EOL-STYLE :CR) 229B917F>) (#7# #8# #11="unicode_demo_utf8_crlf.txt" #12=#<FLEXI-STREAMS::FLEXI-CRLF-UTF-8-FORMAT (:UTF-8 :EOL-STYLE :CRLF) 229B91C7>) (#7# #8# #13="unicode_demo_ucs2_lf_le.txt" #14=#<FLEXI-STREAMS::FLEXI-UTF-16-LE-FORMAT (:UTF-16 :EOL-STYLE :LF :LITTLE-ENDIAN T) 229B920F>) (#7# #8# #15="unicode_demo_ucs2_cr_le.txt" #16=#<FLEXI-STREAMS::FLEXI-CR-UTF-16-LE-FORMAT (:UTF-16 :EOL-STYLE :CR :LITTLE-ENDIAN T) 229B9257>) (#7# #8# #17="unicode_demo_ucs2_crlf_le.txt" #18=#<FLEXI-STREAMS::FLEXI-CRLF-UTF-16-LE-FORMAT (:UTF-16 :EOL-STYLE :CRLF :LITTLE-ENDIAN T) 229B92A3>) (#7# #8# #19="unicode_demo_ucs2_lf_be.txt" #20=#<FLEXI-STREAMS::FLEXI-UTF-16-BE-FORMAT (:UTF-16 :EOL-STYLE :LF :LITTLE-ENDIAN NIL) 229B92EB>) (#7# #8# #21="unicode_demo_ucs2_cr_be.txt" #22=#<FLEXI-STREAMS::FLEXI-CR-UTF-16-BE-FORMAT (:UTF-16 :EOL-STYLE :CR :LITTLE-ENDIAN NIL) 229B9333>) (#7# #8# #23="unicode_demo_ucs2_crlf_be.txt" #24=#<FLEXI-STREAMS::FLEXI-CRLF-UTF-16-BE-FORMAT (:UTF-16 :EOL-STYLE :CRLF :LITTLE-ENDIAN NIL) 229B937F>) (#7# #8# #25="unicode_demo_ucs4_lf_le.txt" #26=#<FLEXI-STREAMS::FLEXI-UTF-32-LE-FORMAT (:UTF-32 :EOL-STYLE :LF :LITTLE-ENDIAN T) 229B93C7>) (#7# #8# #27="unicode_demo_ucs4_cr_le.txt" #28=#<FLEXI-STREAMS::FLEXI-CR-UTF-32-LE-FORMAT (:UTF-32 :EOL-STYLE :CR :LITTLE-ENDIAN T) 229B940F>) (#7# #8# #29="unicode_demo_ucs4_crlf_le.txt" #30=#<FLEXI-STREAMS::FLEXI-CRLF-UTF-32-LE-FORMAT (:UTF-32 :EOL-STYLE :CRLF :LITTLE-ENDIAN T) 229B945B>) (#7# #8# #31="unicode_demo_ucs4_lf_be.txt" #32=#<FLEXI-STREAMS::FLEXI-UTF-32-BE-FORMAT (:UTF-32 :EOL-STYLE :LF :LITTLE-ENDIAN NIL) 229B94A3>) (#7# #8# #33="unicode_demo_ucs4_cr_be.txt" #34=#<FLEXI-STREAMS::FLEXI-CR-UTF-32-BE-FORMAT (:UTF-32 :EOL-STYLE :CR :LITTLE-ENDIAN NIL) 229B94EB>) (#7# #8# #35="unicode_demo_ucs4_crlf_be.txt" #36=#<FLEXI-STREAMS::FLEXI-CRLF-UTF-32-BE-FORMAT (:UTF-32 :EOL-STYLE :CRLF :LITTLE-ENDIAN NIL) 229B9537>) (#9# #10# #7# #8#) (#9# #10# #9# #10#) (#9# #10# #11# #12#) (#9# #10# #13# #14#) (#9# #10# #15# #16#) (#9# #10# #17# #18#) (#9# #10# #19# #20#) (#9# #10# #21# #22#) (#9# #10# #23# #24#) (#9# #10# #25# #26#) (#9# #10# #27# #28#) (#9# #10# #29# #30#) (#9# #10# #31# #32#) (#9# #10# #33# #34#) (#9# #10# #35# #36#) (#11# #12# #7# #8#) (#11# #12# #9# #10#) (#11# #12# #11# #12#) (#11# #12# #13# #14#) (#11# #12# #15# #16#) (#11# #12# #17# #18#) (#11# #12# #19# #20#) (#11# #12# #21# #22#) (#11# #12# #23# #24#) (#11# #12# #25# #26#) (#11# #12# #27# #28#) (#11# #12# #29# #30#) (#11# #12# #31# #32#) (#11# #12# #33# #34#) (#11# #12# #35# #36#) (#13# #14# #7# #8#) (#13# #14# #9# #10#) (#13# #14# #11# #12#) (#13# #14# #13# #14#) (#13# #14# #15# #16#) (#13# #14# #17# #18#) (#13# #14# #19# #20#) (#13# #14# #21# #22#) (#13# #14# #23# #24#) (#13# #14# #25# #26#) (#13# #14# #27# #28#) (#13# #14# #29# #30#) (#13# #14# #31# #32#) (#13# #14# #33# #34#) (#13# #14# #35# #36#) (#15# #16# #7# #8#) (#15# #16# #9# #10#) (#15# #16# #11# #12#) (#15# #16# #13# #14#) (#15# #16# #15# #16#) (#15# #16# #17# #18#) (#15# #16# #19# #20#) (#15# #16# #21# #22#) (#15# #16# #23# #24#) (#15# #16# #25# #26#) (#15# #16# #27# #28#) (#15# #16# #29# #30#) (#15# #16# #31# #32#) (#15# #16# #33# #34#) (#15# #16# #35# #36#) (#17# #18# #7# #8#) (#17# #18# #9# #10#) (#17# #18# #11# #12#) (#17# #18# #13# #14#) (#17# #18# #15# #16#) (#17# #18# #17# #18#) (#17# #18# #19# #20#) (#17# #18# #21# #22#) (#17# #18# #23# #24#) (#17# #18# #25# #26#) (#17# #18# #27# #28#) (#17# #18# #29# #30#) (#17# #18# #31# #32#) (#17# #18# #33# #34#) (#17# #18# #35# #36#) (#19# #20# #7# #8#) (#19# #20# #9# #10#) (#19# #20# #11# #12#) (#19# #20# #13# #14#) (#19# #20# #15# #16#) (#19# #20# #17# #18#) (#19# #20# #19# #20#) (#19# #20# #21# #22#) (#19# #20# #23# #24#) (#19# #20# #25# #26#) (#19# #20# #27# #28#) (#19# #20# #29# #30#) (#19# #20# #31# #32#) (#19# #20# #33# #34#) (#19# #20# #35# #36#) (#21# #22# #7# #8#) (#21# #22# #9# #10#) (#21# #22# #11# #12#) (#21# #22# #13# #14#) (#21# #22# #15# #16#) (#21# #22# #17# #18#) (#21# #22# #19# #20#) (#21# #22# #21# #22#) (#21# #22# #23# #24#) (#21# #22# #25# #26#) (#21# #22# #27# #28#) (#21# #22# #29# #30#) (#21# #22# #31# #32#) (#21# #22# #33# #34#) (#21# #22# #35# #36#) (#23# #24# #7# #8#) (#23# #24# #9# #10#) (#23# #24# #11# #12#) (#23# #24# #13# #14#) (#23# #24# #15# #16#) (#23# #24# #17# #18#) (#23# #24# #19# #20#) (#23# #24# #21# #22#) (#23# #24# #23# #24#) (#23# #24# #25# #26#) (#23# #24# #27# #28#) (#23# #24# #29# #30#) (#23# #24# #31# #32#) (#23# #24# #33# #34#) (#23# #24# #35# #36#) (#25# #26# #7# #8#) (#25# #26# #9# #10#) (#25# #26# #11# #12#) (#25# #26# #13# #14#) (#25# #26# #15# #16#) (#25# #26# #17# #18#) (#25# #26# #19# #20#) (#25# #26# #21# #22#) (#25# #26# #23# #24#) (#25# #26# #25# #26#) (#25# #26# #27# #28#) (#25# #26# #29# #30#) (#25# #26# #31# #32#) (#25# #26# #33# #34#) (#25# #26# #35# #36#) (#27# #28# #7# #8#) (#27# #28# #9# #10#) (#27# #28# #11# #12#) (#27# #28# #13# #14#) (#27# #28# #15# #16#) (#27# #28# #17# #18#) (#27# #28# #19# #20#) (#27# #28# #21# #22#) (#27# #28# #23# #24#) (#27# #28# #25# #26#) (#27# #28# #27# #28#) (#27# #28# #29# #30#) (#27# #28# #31# #32#) (#27# #28# #33# #34#) (#27# #28# #35# #36#) (#29# #30# #7# #8#) (#29# #30# #9# #10#) (#29# #30# #11# #12#) (#29# #30# #13# #14#) (#29# #30# #15# #16#) (#29# #30# #17# #18#) (#29# #30# #19# #20#) (#29# #30# #21# #22#) (#29# #30# #23# #24#) (#29# #30# #25# #26#) (#29# #30# #27# #28#) (#29# #30# #29# #30#) (#29# #30# #31# #32#) (#29# #30# #33# #34#) (#29# #30# #35# #36#) (#31# #32# #7# #8#) (#31# #32# #9# #10#) (#31# #32# #11# #12#) (#31# #32# #13# #14#) (#31# #32# #15# #16#) (#31# #32# #17# #18#) (#31# #32# #19# #20#) (#31# #32# #21# #22#) (#31# #32# #23# #24#) (#31# #32# #25# #26#) (#31# #32# #27# #28#) (#31# #32# #29# #30#) (#31# #32# #31# #32#) (#31# #32# #33# #34#) (#31# #32# #35# #36#) (#33# #34# #7# #8#) (#33# #34# #9# #10#) (#33# #34# #11# #12#) (#33# #34# #13# #14#) (#33# #34# #15# #16#) (#33# #34# #17# #18#) (#33# #34# #19# #20#) (#33# #34# #21# #22#) (#33# #34# #23# #24#) (#33# #34# #25# #26#) (#33# #34# #27# #28#) (#33# #34# #29# #30#) (#33# #34# #31# #32#) (#33# #34# #33# #34#) (#33# #34# #35# #36#) (#35# #36# #7# #8#) (#35# #36# #9# #10#) (#35# #36# #11# #12#) (#35# #36# #13# #14#) (#35# #36# #15# #16#) (#35# #36# #17# #18#) (#35# #36# #19# #20#) (#35# #36# #21# #22#) (#35# #36# #23# #24#) (#35# #36# #25# #26#) (#35# #36# #27# #28#) (#35# #36# #29# #30#) (#35# #36# #31# #32#) (#35# #36# #33# #34#) (#35# #36# #35# #36#)) FLEXI-STREAMS-TEST::PATH-IN : "xjt_gbk_lf.txt" FLEXI-STREAMS-TEST::EXTERNAL-FORMAT-IN : #<FLEXI-STREAMS::FLEXI-GBK-FORMAT (:GBK :EOL-STYLE :LF :LITTLE-ENDIAN T) 229B8E57> FLEXI-STREAMS-TEST::PATH-OUT : "xjt_gbk_lf.txt" FLEXI-STREAMS-TEST::EXTERNAL-FORMAT-OUT : #<FLEXI-STREAMS::FLEXI-GBK-FORMAT (:GBK :EOL-STYLE :LF :LITTLE-ENDIAN T) 229B8E57> FLEXI-STREAMS-TEST::FULL-PATH-IN : #P"c:/home/lisp/flexi-streams/test/xjt_gbk_lf.txt" FLEXI-STREAMS-TEST::FULL-PATH-OUT : #P"C:/Users/edi/AppData/Local/Temp/odd-streams-test/xjt_gbk_lf.txt" FLEXI-STREAMS-TEST::FULL-PATH-ORIG : #P"c:/home/lisp/flexi-streams/test/xjt_gbk_lf.txt" DBG::|dolist-| : (:OUTPUT :IO) FLEXI-STREAMS-TEST::DIRECTION-OUT : :OUTPUT DBG::|dolist-| : (:INPUT :IO) FLEXI-STREAMS-TEST::DIRECTION-IN : :INPUT Call to FLEXI-STREAMS-TEST:RUN-ALL-TESTS (offset 39) FLEXI-STREAMS-TEST::VERBOSE : NIL FLEXI-STREAMS-TEST::SUCCESSP : T Call to FUNCALL (offset 25) FUNCTION : FLEXI-STREAMS-TEST:RUN-ALL-TESTS SYSTEM::ARGUMENTS : NIL Interpreted call to (METHOD ASDF:PERFORM (ASDF:TEST-OP (EQL (ASDF:FIND-SYSTEM (QUOTE FLEXI-STREAMS-SYSTEM::FLEXI-STREAMS))))): FLEXI-STREAMS-SYSTEM::O : #<ASDF:TEST-OP (:FORCE T) 229CD873> FLEXI-STREAMS-SYSTEM::C : #<ASDF:SYSTEM "flexi-streams" 216B1693> #:G3596 : (#<Function (METHOD ASDF:PERFORM (ASDF:TEST-OP ASDF:COMPONENT)) 2178916A> #<Function (METHOD ASDF:PERFORM (ASDF:OPERATION ASDF:MODULE)) 2176F7B2>) #:G3598 : #<ASDF:SYSTEM "flexi-streams" 216B1693> #:G3597 : #<ASDF:TEST-OP (:FORCE T) 229CD873> Block environment contour: Tag environment contour: Function environment contour Variable environment contour: () Binding frame: CLOS::*NEXT-METHODS* : NIL Call to CLOS::METHOD-COMBINATION-TEMPLATE (offset 75) Catch frame: ((SUBFUNCTION 1 ASDF:OPERATE) . RESTART-CASE) Catch frame: ((SUBFUNCTION 1 ASDF:OPERATE) . 2) Catch frame: ((SUBFUNCTION 1 ASDF:OPERATE) . 1) Call to (SUBFUNCTION 1 ASDF:OPERATE) (offset 563) ASDF::OP {Closing} : #<ASDF:TEST-OP (:FORCE T) 229CD873> ASDF:COMPONENT {Closing} : #<ASDF:SYSTEM "flexi-streams" 216B1693> DBG::|tail-| : NIL DBG::G : ((SUBFUNCTION 1 ASDF:OPERATE) . RESTART-CASE) DBG::G : #<Closure 2 subfunction of (SUBFUNCTION 1 ASDF:OPERATE) 30FEAF2> DBG::G : #<Closure 1 subfunction of ASDF:OPERATE 30FEADA> CONDITIONS::*RESTART-CLUSTERS* {Special} : ((#<RESTART ASDF:RETRY 22A82E5B> #<RESTART ASDF:ACCEPT 22A82E03>) (#<RESTART ABORT 22A82D9F>) (#<RESTART ABORT 216B0553>)) ASDF::STEPS {Closed} : ((#1=#<ASDF:TEST-OP (:FORCE T) 229CD873> . #<ASDF:CL-SOURCE-FILE "packages" 216B18E7>) (#1# . #<ASDF:CL-SOURCE-FILE "mapping" 216B1A7F>) (#1# . #<ASDF:CL-SOURCE-FILE "ascii" 216B1C7B>) (#1# . #<ASDF:CL-SOURCE-FILE "koi8-r" 216B1E9B>) (#1# . #<ASDF:CL-SOURCE-FILE "iso-8859" 216B20DF>) (#1# . #<ASDF:CL-SOURCE-FILE "enc-cn-tbl" 216B2347>) (#1# . #<ASDF:CL-SOURCE-FILE "code-pages" 216B25D3>) (#1# . #<ASDF:CL-SOURCE-FILE "specials" 216B2883>) (#1# . #<ASDF:CL-SOURCE-FILE "util" 216B2B57>) (#1# . #<ASDF:CL-SOURCE-FILE "conditions" 216B2E4F>) (#1# . #<ASDF:CL-SOURCE-FILE "external-format" 216B316B>) (#1# . #<ASDF:CL-SOURCE-FILE "length" 216B34AB>) (#1# . #<ASDF:CL-SOURCE-FILE "encode" 216B380F>) (#1# . #<ASDF:CL-SOURCE-FILE "decode" 216B3B97>) (#1# . #<ASDF:CL-SOURCE-FILE "in-memory" 216B3F43>) (#1# . #<ASDF:CL-SOURCE-FILE "stream" 216B4313>) (#1# . #<ASDF:CL-SOURCE-FILE "lw-char-stream" 216B4707>) (#1# . #<ASDF:CL-SOURCE-FILE "output" 216B4B1F>) (#1# . #<ASDF:CL-SOURCE-FILE "input" 216B4F5B>) (#1# . #<ASDF:CL-SOURCE-FILE "io" 216B53BB>) (#1# . #<ASDF:CL-SOURCE-FILE "strings" 216B583F>) (#1# . #<ASDF:SYSTEM "flexi-streams" 216B1693>)) Binding frame: COMPILER::*INSIDE-COMPILATION-UNIT* : NIL Binding frame: COMPILER::*UNKNOWN-FUNCTIONS* : NIL Call to COMPILER::DO-COMPILATION-UNIT (offset 80) COMPILER::CONTINUATION : #<Closure 1 subfunction of ASDF:OPERATE 229C9B22> COMPILER::DO-MESSAGES : T COMPILER::SUMMARIZE : NIL Binding frame: COMPILER::*COMPILATION-UNIT-PATHNAMES* : NIL Binding frame: COMPILER::*INITIAL-COMPILATION-ENVIRONMENT* : NIL Call to COMPILER::WITH-COMPILATION-UNIT-INTERNAL (offset 143) COMPILER::CONTINUATION : #<Closure 1 subfunction of ASDF:OPERATE 229C9B22> COMPILER::OVERRIDE : NIL COMPILER::SUMMARIZE : NIL COMPILER::ENVIRONMENT : NIL Binding frame: ASDF::*VERBOSE-OUT* : NIL Call to ASDF:OPERATE (offset 287) ASDF::OPERATION-CLASS : ASDF:TEST-OP ASDF:SYSTEM : "flexi-streams" ASDF::ARGS : (:FORCE T) ASDF::VERBOSE : T ASDF:VERSION : NIL ASDF::OP : #<ASDF:TEST-OP (:FORCE T) 229CD873> ASDF::*VERBOSE-OUT* {Special} : #<EDITOR::EDITOR-OUTPUT-STREAM #<EDITOR:BUFFER Background Output> 21F19ADF> ASDF:SYSTEM : #<ASDF:SYSTEM "flexi-streams" 216B1693> ASDF::STEPS {Closing} : ((#1=#<ASDF:TEST-OP (:FORCE T) 229CD873> . #<ASDF:CL-SOURCE-FILE "packages" 216B18E7>) (#1# . #<ASDF:CL-SOURCE-FILE "mapping" 216B1A7F>) (#1# . #<ASDF:CL-SOURCE-FILE "ascii" 216B1C7B>) (#1# . #<ASDF:CL-SOURCE-FILE "koi8-r" 216B1E9B>) (#1# . #<ASDF:CL-SOURCE-FILE "iso-8859" 216B20DF>) (#1# . #<ASDF:CL-SOURCE-FILE "enc-cn-tbl" 216B2347>) (#1# . #<ASDF:CL-SOURCE-FILE "code-pages" 216B25D3>) (#1# . #<ASDF:CL-SOURCE-FILE "specials" 216B2883>) (#1# . #<ASDF:CL-SOURCE-FILE "util" 216B2B57>) (#1# . #<ASDF:CL-SOURCE-FILE "conditions" 216B2E4F>) (#1# . #<ASDF:CL-SOURCE-FILE "external-format" 216B316B>) (#1# . #<ASDF:CL-SOURCE-FILE "length" 216B34AB>) (#1# . #<ASDF:CL-SOURCE-FILE "encode" 216B380F>) (#1# . #<ASDF:CL-SOURCE-FILE "decode" 216B3B97>) (#1# . #<ASDF:CL-SOURCE-FILE "in-memory" 216B3F43>) (#1# . #<ASDF:CL-SOURCE-FILE "stream" 216B4313>) (#1# . #<ASDF:CL-SOURCE-FILE "lw-char-stream" 216B4707>) (#1# . #<ASDF:CL-SOURCE-FILE "output" 216B4B1F>) (#1# . #<ASDF:CL-SOURCE-FILE "input" 216B4F5B>) (#1# . #<ASDF:CL-SOURCE-FILE "io" 216B53BB>) (#1# . #<ASDF:CL-SOURCE-FILE "strings" 216B583F>) (#1# . #<ASDF:SYSTEM "flexi-streams" 216B1693>)) Catch frame: CAPI::ABORT-CALLBACK-CATCH Binding frame: CAPI::*TOP-LEVEL-INTERFACE* : NIL Call to (METHOD EDITOR::IN-APPLY-WITH-CURRENT-CONTACT-WINDOW (CAPI:EDITOR-PANE T T)) (offset 53) CAPI::PANE : #<CAPI:COLLECTOR-PANE LISPWORKS-TOOLS::BACKGROUND-OUTPUT-PANE 21F2CC83> FUNCTION : #<Closure CAPI::WITH-RANDOM-TYPEOUT-FUNC subfunction of CAPI::FUNCALL-BACKGROUND-JOB-WITH-TYPEOUT-AUX 229B1692> CAPI::ARGS : (#<EDITOR::EDITOR-OUTPUT-STREAM #<EDITOR:BUFFER Background Output> 21F2BF7B>) Binding frame: EDITOR::*CURRENT-CONTACT-WINDOW* : NIL Call to EDITOR::APPLY-WITH-CURRENT-CONTACT-WINDOW (offset 57) EDITOR::WINDOW : #<EDITOR::WM-WINDOW "Background Output" 216B68AF> FUNCTION : #<Closure CAPI::WITH-RANDOM-TYPEOUT-FUNC subfunction of CAPI::FUNCALL-BACKGROUND-JOB-WITH-TYPEOUT-AUX 229B1692> EDITOR::ARGS : (#<EDITOR::EDITOR-OUTPUT-STREAM #<EDITOR:BUFFER Background Output> 21F2BF7B>) Catch frame: #<Unbound Marker> Call to CAPI::INTERNAL-DO-WITH-RANDOM-TYPEOUT (offset 101) CAPI::FUNC : #<Closure CAPI::WITH-RANDOM-TYPEOUT-FUNC subfunction of CAPI::FUNCALL-BACKGROUND-JOB-WITH-TYPEOUT-AUX 229B1692> STREAM : #<EDITOR::EDITOR-OUTPUT-STREAM #<EDITOR:BUFFER Background Output> 21F2BF7B> CAPI::PANE : #<CAPI:LISTENER-PANE CAPI:EDITOR-PANE 21F24E2F> CAPI:COLLECTOR-PANE : #<CAPI:COLLECTOR-PANE LISPWORKS-TOOLS::BACKGROUND-OUTPUT-PANE 21F2CC83> CAPI::ALREADY-MAPPED : NIL Binding frame: *QUERY-IO* : #<Synonym stream to *TERMINAL-IO*> Binding frame: *STANDARD-INPUT* : #<Synonym stream to *TERMINAL-IO*> Binding frame: *TRACE-OUTPUT* : #<Synonym stream to *TERMINAL-IO*> Binding frame: *ERROR-OUTPUT* : #<Synonym stream to *TERMINAL-IO*> Binding frame: *STANDARD-OUTPUT* : #<Synonym stream to *TERMINAL-IO*> Catch frame: #:|progv-cathcer49881| Call to CAPI::BIND-STANDARD-STREAMS-AND-EXECUTE (offset 227) STREAM : #<EDITOR::EDITOR-OUTPUT-STREAM #<EDITOR:BUFFER Background Output> 21F2BF7B> CAPI::FUNC-ARGS : (CAPI::INTERNAL-DO-WITH-RANDOM-TYPEOUT #<Closure CAPI::WITH-RANDOM-TYPEOUT-FUNC subfunction of CAPI::FUNCALL-BACKGROUND-JOB-WITH-TYPEOUT-AUX 229B1692> #<EDITOR::EDITOR-OUTPUT-STREAM #<EDITOR:BUFFER Background Output> 21F2BF7B> #<CAPI:LISTENER-PANE CAPI:EDITOR-PANE 21F24E2F> #<CAPI:COLLECTOR-PANE LISPWORKS-TOOLS::BACKGROUND-OUTPUT-PANE 21F2CC83> NIL) Catch frame: (MP::BACKGROUND-EXECUTE-LOOP . RESTART-CASE) Catch frame: (MP::BACKGROUND-EXECUTE-LOOP . 1) Catch frame: MP::ABORT-JOB Catch frame: #<Unbound Marker> Binding frame: *PACKAGE* : #<The COMMON-LISP-USER package, 32/64 internal, 0/4 external> Call to MP::BACKGROUND-EXECUTE-LOOP (offset 751) Catch frame: MP::PROCESS-TAG Catch frame: (MP::PROCESS-SG-FUNCTION . 1) Catch frame: (MP::PROCESS-SG-FUNCTION . 1) Binding frame: MP:*CURRENT-PROCESS* : NIL Binding frame: MP::*ACTIONS-AFTER-SLEEPING* : NIL Binding frame: MP::*ACTIONS-BEFORE-SLEEPING* : NIL Binding frame: SYSTEM::*READER-STATE* : #<SYSTEM::READER-STATE In 0 out 0 2177015F> Binding frame: *PACKAGE* : #<The COMMON-LISP-USER package, 32/64 internal, 0/4 external> Binding frame: WIN32::*PROCESS-DC* : NIL Binding frame: WIN32::*DDE-THREAD-INSTANCE* : NIL Binding frame: EDITOR::*CURRENT-BUFFER* : NIL Binding frame: EDITOR::*CURRENT-WINDOW* : NIL Binding frame: EDITOR::*EDITOR-STATE* : NIL Binding frame: EDITOR::*EDITOR-INPUT-STYLE* : #S(EDITOR:EDITOR-INPUT-STYLE :KEY-BINDINGS #<EDITOR::KEY-TABLE #<EQUALP Hash Table{344} 2066CBAB> 2 342> :DELETE-SELECTION-MODE NIL :LOGICAL-CHARACTERS #<EQUALP Hash Table{22} 2063A23B> :EXECUTE-MODE #<EDITOR::MODE-OBJECT "Execute" 2070A86B> :ECHO-MODE #<EDITOR::MODE-OBJECT "Echo Area" 2070ACCF> :PLIST NIL :INTERRUPT-KEYS (#S(SYSTEM::GESTURE-SPEC :DATA 103 :MODIFIERS 2) #S(SYSTEM::GESTURE-SPEC :DATA 71 :MODIFIERS 2)) :STYLE :EMACS :POINT-ALWAYS-VISIBLE T :USE-FACE-TO-FULL-WIDTH-P T) Binding frame: CAPI::*USE-ACCELERATORS* : T Binding frame: CAPI-WIN32-LIB::*ALT-IS-META-KEY* : T Catch frame: #:|progv-cathcer236969| Call to MP::PROCESS-SG-FUNCTION (offset 509) MP::STACK-ARG : 0 MP::SYMBOLS : NIL VALUES : NIL Call to SYSTEM::%%FIRST-CALL-TO-STACK (offset 40) SYSTEM::%%FIRST-CALL-TO-STACK Generation 0: Total Size 1781K, Allocated 331K, Free 1441K Segment 2008DB80: Total Size 507K, Allocated 201K, Free 302K minimum free space 64K, Awaiting promotion = 0K, sweeps before promotion =10 Segment 22A11B70: Total Size 1273K, Allocated 129K, Free 1139K minimum free space 0K, Awaiting promotion = 40K, sweeps before promotion =2 Generation 1: Total Size 11445K, Allocated 10747K, Free 677K Segment 21941B70: Total Size 2112K, Allocated 2065K, Free 42K minimum free space 0K, Awaiting promotion = 649K, sweeps before promotion =4 Segment 22251B70: Total Size 7936K, Allocated 7513K, Free 418K minimum free space 0K, Awaiting promotion = 0K, sweeps before promotion =4 Segment 2070CB18: Total Size 68K, Allocated 48K, Free 15K minimum free space 3K, Awaiting promotion = 31K, sweeps before promotion =4 Segment 21621B70: Total Size 1088K, Allocated 998K, Free 85K minimum free space 0K, Awaiting promotion = 591K, sweeps before promotion =4 Segment 200517E0: Total Size 240K, Allocated 121K, Free 115K minimum free space 0K, static Generation 2: Total Size 9348K, Allocated 5757K, Free 3578K Segment 21B51B70: Total Size 7168K, Allocated 3585K, Free 3578K minimum free space 0K, Awaiting promotion = 0K, sweeps before promotion =4 Segment 21731B70: Total Size 2112K, Allocated 2107K, Free 0K minimum free space 0K, Awaiting promotion = 0K, sweeps before promotion =4 Segment 20E6CB18: Total Size 68K, Allocated 64K, Free 0K minimum free space 117K, Awaiting promotion = 0K, sweeps before promotion =4 Generation 3: Total Size 21451K, Allocated 21311K, Free 128K Segment 2071DB90: Total Size 7483K, Allocated 7479K, Free 0K minimum free space 0K, Awaiting promotion = 0K, sweeps before promotion =10 Segment 20E7DB90: Total Size 7823K, Allocated 7691K, Free 128K minimum free space 0K, Awaiting promotion = 0K, sweeps before promotion =10 Segment 2010CB18: Total Size 6144K, Allocated 6139K, Free 0K minimum free space 3K, Awaiting promotion = 0K, sweeps before promotion =10 Total Size 44352K, Allocated 38147K, Free 5825K 2010/2/5 Edi Weitz <edi@agharta.de>: > Thanks, I'll take a look at this when I'm less busy than now. > > Again, please use the mailing list for patches and questions - see Cc. > > Thanks, > Edi. > > > On Fri, Feb 5, 2010 at 11:31 AM, jingtaozf <jingtaozf@gmail.com> wrote: >> Hi Edi; >> I have modifed the code to fit your request.and the encode name changed from cp936 to gbk. >> The following is the response. >> >> 1. There are several new functions and macros which don't have a >> documentation string. >> ==> i have add document to function get-multibyte-mapper,others are referenced with your codes. >> 2. There are tabs in the files and sometimes the indentation seems wrong. >> ==> i have removed tabs. >> 3. There are parts of the code which are commented out. If they >> aren't used, they shouldn't be in there. >> ==> yes,i deleted them. >> 4. There's at least one file (seems like a variant of the ASDF system >> definition) which shouldn't be in there at all. >> ==>sorry,but i don't know what you mean? >> 5. The link in the HTML documentation is wrong. >> ==>i fixed the url link to gbk. >> 6. Isn't get-multibyte-mapper the wrong name? You don't get the mapper, do you? >> ==>yes,this function is borrowed from sbcl's source code,and i have pointed out this in the comment. >> 7. And the function itself looks like Scheme to me. I think it'd be >> easier to understand using normal iteration. >> ==>i have re-write the decode and encode part.but i am not familiar with scheme. :( >> 8. I don't understand why the encoding factor is 1.5. Is the comment >> correct or just copied? >> ==>i don't know how to set the encoding factor,gbk(cp936) has one or two octets.i set it to 1.5 with my estimate. >> 9. I'm not familiar with CP936. Is it correct that there's only a >> big-endian version? >> ==>gbk(cp936) has no endian problem, i borrowed code from your utf16's implemention,now i have fixed it. >> 10. One of the new files contains DOS line endings. >> ==> some your source files has DOS line endings(such as ascii.lisp),some use unix line endings. >> i don't know why and maybe i modified it un-expectly. >> >> >> Fothermore,this patch file is encoded use utf-8,because my test file contains file which is encoded by gbk format. >> I also put the test files(with gbk format) to the attatchment,because i am not sure the patch will generate them correctly. >> >> 2010-02-04 >> >> >> >> jingtaozf >> >> >> >> 发件人: Edi Weitz >> 发送时间: 2009-10-29 23:08:38 >> 收件人: jingtao xu >> 抄送: General interest list about flexi-streams >> 主题: Re: a patch for chineses's cp936(gbk) encoding support. >> >> On Thu, Oct 29, 2009 at 3:17 PM, jingtao xu <jingtaozf@gmail.com> wrote: >>> hi,Edi Weitz: >>> Because i want to use drakma as my web development tool,but it use >>> flexi-streams and could not decode chinese's cp936 characters,so i make a >>> patch to flexi-streams. >>> >>> The sbcl has supported cp936(by files supported by beinghe,which cvs path >>> is:sbcl/src/code/external-formats/enc-cn.lisp,enc-cn-tbl.lisp). i use file >>> enc-cn-tbl.lisp here. >>> >>> The patches is make by following commands: >>> diff -urN ~/.sbcl/site/flexi-streams-1.0.7/ ~/Downloads/flexi-streams/ >>>>flexi-streams-cp936.patch >>> >>> I send you both the patch files and the patched codes. >>> The test codes is added and passed. >>> The documention is updated. >> [I've put the mailing list on Cc where I think we should continue this.] >> First of all, I'd be happy to include this into the flexi-streams >> distribution. There are a couple of issues with the patch, though. >> What I saw from briefly looking at it: >> 1. There are several new functions and macros which don't have a >> documentation string. >> 2. There are tabs in the files and sometimes the indentation seems wrong. >> 3. There are parts of the code which are commented out. If they >> aren't used, they shouldn't be in there. >> 4. There's at least one file (seems like a variant of the ASDF system >> definition) which shouldn't be in there at all. >> 5. The link in the HTML documentation is wrong. >> 6. Isn't get-multibyte-mapper the wrong name? You don't get the mapper, do you? >> 7. And the function itself looks like Scheme to me. I think it'd be >> easier to understand using normal iteration. >> 8. I don't understand why the encoding factor is 1.5. Is the comment >> correct or just copied? >> 9. I'm not familiar with CP936. Is it correct that there's only a >> big-endian version? >> 10. One of the new files contains DOS line endings. >> There's probably more. >> If you could go over these and send a cleaned-up version of the patch, >> I'll review it. FWIW, here are some guidelines: >> http://weitz.de/patches.html >> Thanks, >> Edi. >> >
5235
Age (days ago)
5626
Last active (days ago)
1 comments
2 participants
participants (2)
-
Edi Weitz
-
Edi Weitz