From: Raymond T. <ray...@er...> - 2008-09-23 15:02:16
|
Sam Steingold wrote: > Raymond Toy wrote: >> Sam Steingold wrote: >>>> * Raymond Toy <enlzbaq.gbl@Revpffba.pbz> [2008-09-22 14:44:41 -0400]: >>>> Form: (STRING= (SHOW (GETENV "USER")) (SHOW (FILE-OWNER *TMP1*))) >>>> CORRECT: T >>>> CLISP : NIL >>>> OUT: >>>> "NIL >>>> \"eusrtoy\" >>>> " >>> please do: >>> $ set | grep eusrtoy >> >> What are you looking for? I have lots of envvars containing my uid. >> But USER=eusrtoy. > > so why does (GETENV "USER") return NIL in the above test? > >>>> Form: (LET ((INODE (SHOW (FILE-STAT-INO (FILE-STAT *TMP1*))))) >>>> (WITH-OPEN-STREAM (S (RUN-PROGRAM "tail" :ARGUMENTS (LIST "-f" >>>> (NAMESTRING *TMP1*) (FORMAT NIL "--pid=~D" (PROCESS-ID))) :OUTPUT >>>> :STREAM)) (SLEEP 1) (WITH-OPEN-FILE (NEW *TMP1* :DIRECTION :OUTPUT >>>> :IF-EXISTS :RENAME-AND-DELETE) (= INODE (SHOW (FILE-STAT-INO >>>> (FILE-STAT NEW))))))) >>>> CORRECT: NIL >>>> CLISP : T >>>> OUT: >>>> "5031013 >>>> 5031013 >>>> " >>> arghm. >>> aha! I know. >>> this is not linux, so "tail --pid" does not work. >>> right? >>> >>> does this help? >> >> [snip] >> >> Almost. Change the (setq s (open ~S)) to (defvar s (open ~S)). I get a >> note about an undefined variable, unless I defvar it. This test passes >> then. > > are you saying that you get an error without defvar?! > setq works fine for you in the stream lock test. > >>>> Form: (RE-TEST "[ -~]*" "abc") >>>> CORRECT: ("abc") >>>> CLISP : ("") >>>> Differ at position 0: "abc" vs "" >>>> CORRECT: ("abc") >>>> CLISP : ("") >>> I don't know what these regexps mean, but I suspect that this is because >>> the solaris regex implementation differs from the glibc one. >> >> I think the first is testing for a string containing characters between >> space and ~. > > how about the others?! More of the same, I think. Basically as if I said [a-za-za-z] which is probably the same as [a-z]. > >>> I hope there is a regex compile flag which would make the tests pass - >>> could you please investigate? >>> alternatively, you can pass --with-included-regex to the top-level >> >> Without --with-included-regex, does clisp use the system regex library? > > yes, if the clisp/src/glm4/regex.m4 test passes. > >> If so, there are no flags. regex only support ed-style regexes. > > there is no re_set_syntax? Nope. And I see the man page for regex(3) differs from what regex.h defines. regex.h defines regcomp which allows some flags to set the syntax. As best as I can tell, clisp is using regexec/regcomp. Some simple tests (in C) with regcomp/regexec shows that it works. Perhaps, clisp isn't calling regcomp/regexec quite right? Where is this defined? Ray |