From: <cli...@li...> - 2004-12-06 19:35:07
|
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/modules/syscalls calls.c,1.51,1.52 (Sam Steingold) 2. clisp/src ChangeLog,1.3880,1.3881 (Sam Steingold) 3. clisp/modules/syscalls configure.in,1.16,1.17 (Sam Steingold) 4. clisp/src ChangeLog,1.3881,1.3882 (Sam Steingold) 5. clisp/src ChangeLog,1.3882,1.3883 (Sam Steingold) 6. clisp/modules/syscalls posix.lisp,1.13,1.14 (Sam Steingold) 7. clisp/src ChangeLog,1.3883,1.3884 (Sam Steingold) 8. clisp/modules/syscalls calls.c,1.52,1.53 (Sam Steingold) 9. clisp/modules/syscalls syscalls.xml,1.14,1.15 (Sam Steingold) 10. clisp/doc impext.xml,1.295,1.296 (Sam Steingold) 11. clisp/doc impbody.xml,1.321,1.322 (Sam Steingold) 12. clisp/modules/syscalls syscalls.xml,1.15,1.16 (Sam Steingold) --__--__-- Message: 1 From: Sam Steingold <sd...@us...> To: cli...@li... Subject: clisp/modules/syscalls calls.c,1.51,1.52 Date: Mon, 06 Dec 2004 17:25:26 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/clisp/modules/syscalls In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2300/modules/syscalls Modified Files: calls.c Log Message: (check_chmod_mode): new function (POSIX::CONVERT-MODE): use it, permit symbol arguments Index: calls.c =================================================================== RCS file: /cvsroot/clisp/clisp/modules/syscalls/calls.c,v retrieving revision 1.51 retrieving revision 1.52 diff -u -d -r1.51 -r1.52 --- calls.c 6 Dec 2004 13:08:57 -0000 1.51 +++ calls.c 6 Dec 2004 17:25:24 -0000 1.52 @@ -756,6 +756,34 @@ } #endif /* chmod chown */ +static uintL check_chmod_mode (object type) { + check_chmod_mode_restart: + if (eq(type,`:SUID`)) return S_ISUID; + else if (eq(type,`:SGID`)) return S_ISGID; + else if (eq(type,`:SVTX`)) return S_ISVTX; + else if (eq(type,`:RWXU`)) return S_IRWXU; /* owner: Read Write eXec */ + else if (eq(type,`:RUSR`)) return S_IRUSR; + else if (eq(type,`:WUSR`)) return S_IWUSR; + else if (eq(type,`:XUSR`)) return S_IXUSR; + else if (eq(type,`:RWXG`)) return S_IRWXG; /* group: Read Write eXec */ + else if (eq(type,`:RGRP`)) return S_IRGRP; + else if (eq(type,`:WGRP`)) return S_IWGRP; + else if (eq(type,`:XGRP`)) return S_IXGRP; + else if (eq(type,`:RWXO`)) return S_IRWXO; /* others: Read Write eXec */ + else if (eq(type,`:ROTH`)) return S_IROTH; + else if (eq(type,`:WOTH`)) return S_IWOTH; + else if (eq(type,`:XOTH`)) return S_IXOTH; + else { + pushSTACK(NIL); /* no PLACE */ + pushSTACK(type); /* TYPE-ERROR slot DATUM */ + pushSTACK(`(MEMBER :SUID :SGID :RWXU :RUSR :WUSR :XUSR :RWXG :RGRP :WGRP :XGRP :RWXO :ROTH :WOTH :XOTH :SVTX)`); /* EXPECTED-TYPE */ + pushSTACK(STACK_0); pushSTACK(type); + pushSTACK(TheSubr(subr_self)->name); + check_value(type_error,GETTEXT("~S: ~S is not of type ~S")); + type = value1; + goto check_chmod_mode_restart; + } +} DEFUN(POSIX::CONVERT-MODE, mode) { /* convert between symbolic and numeric permissions */ convert_mode_restart: @@ -790,42 +818,13 @@ VALUES1(listof(count)); } else if (listp(STACK_0)) { mode_t mode = 0; - pushSTACK(STACK_0); while (consp(STACK_0)) { - object type = Car(STACK_0); STACK_0 = Cdr(STACK_0); - if (eq(type,`:SUID`)) mode |= S_ISUID; - else if (eq(type,`:SGID`)) mode |= S_ISGID; - else if (eq(type,`:SVTX`)) mode |= S_ISVTX; - else if (eq(type,`:RWXU`)) mode |= S_IRWXU; /* owner: Read Write eXec */ - else if (eq(type,`:RUSR`)) mode |= S_IRUSR; - else if (eq(type,`:WUSR`)) mode |= S_IWUSR; - else if (eq(type,`:XUSR`)) mode |= S_IXUSR; - else if (eq(type,`:RWXG`)) mode |= S_IRWXG; /* group: Read Write eXec */ - else if (eq(type,`:RGRP`)) mode |= S_IRGRP; - else if (eq(type,`:WGRP`)) mode |= S_IWGRP; - else if (eq(type,`:XGRP`)) mode |= S_IXGRP; - else if (eq(type,`:RWXO`)) mode |= S_IRWXO; /* others: Read Write eXec */ - else if (eq(type,`:ROTH`)) mode |= S_IROTH; - else if (eq(type,`:WOTH`)) mode |= S_IWOTH; - else if (eq(type,`:XOTH`)) mode |= S_IXOTH; - else { - skipSTACK(1); - goto convert_mode_error; - } + mode |= check_chmod_mode(Car(STACK_0)); + STACK_0 = Cdr(STACK_0); } - skipSTACK(2); /* drop the tail and the argument */ + skipSTACK(1); /* drop the argument */ VALUES1(fixnum(mode)); - } else { - convert_mode_error: - pushSTACK(NIL); /* no PLACE */ - pushSTACK(STACK_1); /* TYPE-ERROR slot DATUM */ - pushSTACK(`(MEMBER :SUID :SGID :RWXU :RUSR :WUSR :XUSR :RWXG :RGRP :WGRP :XGRP :RWXO :ROTH :WOTH :XOTH :SVTX)`); /* EXPECTED-TYPE */ - pushSTACK(STACK_0); pushSTACK(STACK_2); - pushSTACK(TheSubr(subr_self)->name); - check_value(type_error,GETTEXT("~S: ~S is not of type ~S")); - STACK_0 = value1; - goto convert_mode_restart; - } + } else VALUES1(fixnum(check_chmod_mode(popSTACK()))); } #if defined(HAVE_UMASK) @@ -1889,7 +1888,7 @@ #define PRSPEC_LPWSTR ( 0 ) #define PRSPEC_PROPID ( 1 ) #define STG_E_PROPSETMISMATCHED 0x800300F0L -#endif +#endif /* Pushes corresponding value to STACK */ static int PropVariantToLisp (PROPVARIANT *pvar) { @@ -1911,7 +1910,7 @@ pushSTACK(sfixnum(pvar->cVal)); break; case VT_UI1: pushSTACK(fixnum(pvar->bVal)); break; - case VT_I2: + case VT_I2: pushSTACK(sfixnum(pvar->iVal)); break; case VT_UI2: pushSTACK(fixnum(pvar->uiVal)); break; @@ -1933,7 +1932,7 @@ case VT_R4: pushSTACK(c_float_to_FF((ffloatjanus *)&pvar->fltVal)); break; - case VT_R8: + case VT_R8: pushSTACK(c_double_to_DF((dfloatjanus *)&pvar->dblVal)); break; case VT_DATE: @@ -1944,10 +1943,10 @@ *((DWORD *)(((const char *)pvar->bstrVal)-4)), Symbol_value(S(unicode_16_little_endian)))); break; - case VT_LPSTR: + case VT_LPSTR: pushSTACK(asciz_to_string(pvar->pszVal,GLO(misc_encoding))); break; - case VT_LPWSTR: + case VT_LPWSTR: pushSTACK(n_char_to_string((const char *)pvar->pwszVal, wcslen(pvar->pwszVal)*2, Symbol_value(S(unicode_16_little_endian)))); @@ -1970,7 +1969,7 @@ case VT_CF: pushSTACK(`:CLIPBOARD-FORMAT`); break; - default: + default: pushSTACK(`:NOTIMPL`); break; } @@ -2044,7 +2043,7 @@ pvar->pwszVal = str; pvar->vt = typehint; } else { -/* Win XP explorer seems to create ANSI strings. So do we. */ + /* Win XP explorer seems to create ANSI strings. So do we. */ uintL str_bytelen = cslen_f(GLO(misc_encoding),ptr1,str_len); char * str = (char *) SysAllocStringByteLen(NULL, str_bytelen+2); @@ -2175,7 +2174,7 @@ if (eq(STACK_0,`:CHARCOUNT`)) rv = PIDSI_CHARCOUNT; else if (eq(STACK_0,`:THUMBNAIL`)) rv = PIDSI_THUMBNAIL; else if (eq(STACK_0,`:APPNAME`)) rv = PIDSI_APPNAME; else - if (eq(STACK_0,`:DOC-SECURITY`)) rv = PIDSI_DOC_SECURITY; + if (eq(STACK_0,`:DOC-SECURITY`)) rv = PIDSI_DOC_SECURITY; skipSTACK(1); return rv; } @@ -2308,7 +2307,7 @@ /* there's no PropVariantInit in my cygwin headers */ #define MyPropVariantInit(ppv) ZeroMemory(ppv,sizeof(PROPVARIANT)) -/* (POSIX::FILE-PROPERTIES filename set [specifier value|:INITID init-id]*) +/* (OS::FILE-PROPERTIES filename set [specifier value|:INITID init-id]*) Wrapper for Win32 IPropertyStorage functionality filename - a compound file name or (on NTFS) name of any file set - :BUILT-IN or :USER-DEFINED property set @@ -2323,21 +2322,18 @@ String: string property specifier. If no match is found, first ID >= init-id (which defaults to 2) is associated with the string and it's value is replaced with new value. - (int|keyword string) - first element is used as specifier, + (int|keyword string) - first element is used as specifier, string is associated with this ID. value - new value of the property, suitable lisp object, nil or list of - keyword and value itself. If value is NIL, no assignment is done. + keyword and value itself. If value is NIL, no assignment is done. :EMPTY and :NULL correspond VT_EMPTY and VT_NULL datatypes. Keyword in the list specifies the desired type of property being set. Supported types are :I1, :UI1, :I2, :UI2, :I4, :UI4, :UINT, :I8, - :UI8, :R4, :R8, :DATE, :BSTR, :BOOL, :ERROR, :FILETIME, + :UI8, :R4, :R8, :DATE, :BSTR, :BOOL, :ERROR, :FILETIME, :LPSTR, :LPWSTR. FILETIMEs are converted to/from universal time format, while DATEs are not. - returns multiple values - property contents before assignment. - */ - - + returns multiple values - property contents before assignment. */ DEFUN(POSIX::FILE-PROPERTIES, file set &rest pairs) { /* TODO: close interfaces even on errors; @@ -2537,5 +2533,4 @@ ppropstg->lpVtbl->Release(ppropstg); ppropsetstg->lpVtbl->Release(ppropsetstg); } - -#endif +#endif /* WIN32_NATIVE || UNIX_CYGWIN32 */ --__--__-- Message: 2 From: Sam Steingold <sd...@us...> To: cli...@li... Subject: clisp/src ChangeLog,1.3880,1.3881 Date: Mon, 06 Dec 2004 17:25:26 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/clisp/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2300/src Modified Files: ChangeLog Log Message: (check_chmod_mode): new function (POSIX::CONVERT-MODE): use it, permit symbol arguments Index: ChangeLog =================================================================== RCS file: /cvsroot/clisp/clisp/src/ChangeLog,v retrieving revision 1.3880 retrieving revision 1.3881 diff -u -d -r1.3880 -r1.3881 --- ChangeLog 6 Dec 2004 16:37:09 -0000 1.3880 +++ ChangeLog 6 Dec 2004 17:25:20 -0000 1.3881 @@ -1,5 +1,10 @@ 2004-12-06 Sam Steingold <sd...@gn...> + * modules/syscalls/calls.c (check_chmod_mode): new function + (POSIX::CONVERT-MODE): use it, permit symbol arguments + +2004-12-06 Sam Steingold <sd...@gn...> + * eval.d (progv): do not modify the source code: when symlist contains bad symbols, copy it --__--__-- Message: 3 From: Sam Steingold <sd...@us...> To: cli...@li... Subject: clisp/modules/syscalls configure.in,1.16,1.17 Date: Mon, 06 Dec 2004 19:01:41 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/clisp/modules/syscalls In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27153/modules/syscalls Modified Files: configure.in Log Message: (LIBS) [win32|cygwin]: added oleaut32 Index: configure.in =================================================================== RCS file: /cvsroot/clisp/clisp/modules/syscalls/configure.in,v retrieving revision 1.16 retrieving revision 1.17 diff -u -d -r1.16 -r1.17 --- configure.in 5 Aug 2004 21:24:41 -0000 1.16 +++ configure.in 6 Dec 2004 19:01:38 -0000 1.17 @@ -19,7 +19,7 @@ AC_CHECK_HEADERS(pwd.h sys/stat.h sys/time.h sys/unistd.h time.h unistd.h) AC_CHECK_HEADERS(shlobj.h) if test "$ac_cv_header_shlobj_h" = yes ; then - LIBS=${LIBS}' -luser32 -lole32 -luuid'; + LIBS=${LIBS}' -luser32 -lole32 -loleaut32 -luuid'; fi AC_CHECK_HEADERS(sys/statvfs.h sys/statfs.h sys/vfs.h sys/types.h crypt.h) AC_MSG_CHECKING([whether f_fsid is scalar]) --__--__-- Message: 4 From: Sam Steingold <sd...@us...> To: cli...@li... Subject: clisp/src ChangeLog,1.3881,1.3882 Date: Mon, 06 Dec 2004 19:01:40 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/clisp/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27153/src Modified Files: ChangeLog Log Message: (LIBS) [win32|cygwin]: added oleaut32 Index: ChangeLog =================================================================== RCS file: /cvsroot/clisp/clisp/src/ChangeLog,v retrieving revision 1.3881 retrieving revision 1.3882 diff -u -d -r1.3881 -r1.3882 --- ChangeLog 6 Dec 2004 17:25:20 -0000 1.3881 +++ ChangeLog 6 Dec 2004 19:01:30 -0000 1.3882 @@ -1,5 +1,9 @@ 2004-12-06 Sam Steingold <sd...@gn...> + * modules/syscalls/configure.in (LIBS) [win32|cygwin]: added oleaut32 + +2004-12-06 Sam Steingold <sd...@gn...> + * modules/syscalls/calls.c (check_chmod_mode): new function (POSIX::CONVERT-MODE): use it, permit symbol arguments --__--__-- Message: 5 From: Sam Steingold <sd...@us...> To: cli...@li... Subject: clisp/src ChangeLog,1.3882,1.3883 Date: Mon, 06 Dec 2004 19:02:20 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/clisp/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27320/src Modified Files: ChangeLog Log Message: (FILE-PROPERTIES) [win32|cygwin]: export Index: ChangeLog =================================================================== RCS file: /cvsroot/clisp/clisp/src/ChangeLog,v retrieving revision 1.3882 retrieving revision 1.3883 diff -u -d -r1.3882 -r1.3883 --- ChangeLog 6 Dec 2004 19:01:30 -0000 1.3882 +++ ChangeLog 6 Dec 2004 19:02:17 -0000 1.3883 @@ -1,5 +1,6 @@ 2004-12-06 Sam Steingold <sd...@gn...> + * modules/syscalls/posix.lisp (FILE-PROPERTIES) [win32|cygwin]: export * modules/syscalls/configure.in (LIBS) [win32|cygwin]: added oleaut32 2004-12-06 Sam Steingold <sd...@gn...> --__--__-- Message: 6 From: Sam Steingold <sd...@us...> To: cli...@li... Subject: clisp/modules/syscalls posix.lisp,1.13,1.14 Date: Mon, 06 Dec 2004 19:02:21 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/clisp/modules/syscalls In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27320/modules/syscalls Modified Files: posix.lisp Log Message: (FILE-PROPERTIES) [win32|cygwin]: export Index: posix.lisp =================================================================== RCS file: /cvsroot/clisp/clisp/modules/syscalls/posix.lisp,v retrieving revision 1.13 retrieving revision 1.14 diff -u -d -r1.13 -r1.14 --- posix.lisp 30 Jul 2004 21:34:19 -0000 1.13 +++ posix.lisp 6 Dec 2004 19:02:18 -0000 1.14 @@ -1,15 +1,16 @@ ;;; handle the posix functions ;;; Sam Steingold 1999-2004 -(defpackage "POSIX" - (:use "COMMON-LISP" "EXT") - (:nicknames "OS") +(defpackage #:posix + (:use #:common-lisp #:ext) + (:nicknames #:os) (:export - "RESOLVE-HOST-IPADDR" "BOGOMIPS" - "STREAM-LOCK" "DUPLICATE-HANDLE" "COPY-FILE" - "HOSTENT" "HOSTENT-NAME" "HOSTENT-ALIASES" "HOSTENT-ADDR-LIST" - "HOSTENT-ADDRTYPE" "PHYSICAL-MEMORY" - "ERF" "ERFC" "J0" "J1" "JN" "Y0" "Y1" "YN" "GAMMA" "LGAMMA")) + #:resolve-host-ipaddr #:bogomips + #:stream-lock #:duplicate-handle #:copy-file + #:hostent #:hostent-name #:hostent-aliases #:hostent-addr-list + #:hostent-addrtype #:physical-memory + #+(or :win32 :cygwin) #:file-properties + #:erf #:erfc #:j0 #:j1 #:jn #:y0 #:y1 #:yn #:gamma #:lgamma)) (setf (package-lock "EXT") nil) (use-package '("POSIX") "EXT") --__--__-- Message: 7 From: Sam Steingold <sd...@us...> To: cli...@li... Subject: clisp/src ChangeLog,1.3883,1.3884 Date: Mon, 06 Dec 2004 19:03:18 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/clisp/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27531/src Modified Files: ChangeLog Log Message: (OS:FILE-PROPERTIES): support cygwin Index: ChangeLog =================================================================== RCS file: /cvsroot/clisp/clisp/src/ChangeLog,v retrieving revision 1.3883 retrieving revision 1.3884 diff -u -d -r1.3883 -r1.3884 --- ChangeLog 6 Dec 2004 19:02:17 -0000 1.3883 +++ ChangeLog 6 Dec 2004 19:02:58 -0000 1.3884 @@ -1,5 +1,6 @@ 2004-12-06 Sam Steingold <sd...@gn...> + * modules/syscalls/calls.c (OS:FILE-PROPERTIES): support cygwin * modules/syscalls/posix.lisp (FILE-PROPERTIES) [win32|cygwin]: export * modules/syscalls/configure.in (LIBS) [win32|cygwin]: added oleaut32 --__--__-- Message: 8 From: Sam Steingold <sd...@us...> To: cli...@li... Subject: clisp/modules/syscalls calls.c,1.52,1.53 Date: Mon, 06 Dec 2004 19:03:18 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/clisp/modules/syscalls In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27531/modules/syscalls Modified Files: calls.c Log Message: (OS:FILE-PROPERTIES): support cygwin Index: calls.c =================================================================== RCS file: /cvsroot/clisp/clisp/modules/syscalls/calls.c,v retrieving revision 1.52 retrieving revision 1.53 diff -u -d -r1.52 -r1.53 --- calls.c 6 Dec 2004 17:25:24 -0000 1.52 +++ calls.c 6 Dec 2004 19:03:15 -0000 1.53 @@ -947,15 +947,15 @@ LPDWORD lpNumberOfBytesWritten, BOOL bAbort, BOOL bProcessSecurity, LPVOID *lpContext); static BackupWriteFuncType BackupWriteFunc = NULL; +static HMODULE kernel32 = NULL; +#endif +#if defined(WIN32_NATIVE) || defined(UNIX_CYGWIN32) typedef HRESULT (WINAPI * StgOpenStorageExFuncType) (const WCHAR* pwcsName, DWORD grfMode, DWORD stgfmt, DWORD grfAttrs, void * reserved1, void * reserved2, REFIID riid, void ** ppObjectOpen); static StgOpenStorageExFuncType StgOpenStorageExFunc = NULL; - -static HMODULE kernel32 = NULL; static HMODULE ole32 = NULL; - #endif void module__syscalls__init_function_2 (module_t* module) { @@ -967,6 +967,8 @@ BackupWriteFunc = (BackupWriteFuncType) GetProcAddress (kernel32, "BackupWrite"); } +#endif +#if defined(WIN32_NATIVE) || defined(UNIX_CYGWIN32) ole32 = LoadLibrary ("ole32.dll"); if (ole32 != NULL) StgOpenStorageExFunc = (StgOpenStorageExFuncType) @@ -2362,24 +2364,21 @@ if (argcount == 0) { skipSTACK(2); VALUES0; - return; } - /* count the number of r/rw props, checking arglist sanity */ - if (argcount % 2) { - pushSTACK(TheSubr(subr_self)->name); - fehler(program_error, - GETTEXT("~S: bad argument list - it must have even number of elements")); + return; } + /* count the number of r/rw props, checking arglist sanity */ + if (argcount % 2) + fehler_key_odd(argcount,TheSubr(subr_self)->name); for(i=argcount-1;i>=0;i--) { if (i % 2) { /* specifier */ if (!symbolp(STACK_(i)) && !stringp(STACK_(i)) - && !posfixnump(STACK_(i))) - { + && !posfixnump(STACK_(i))) { pushSTACK(STACK_(i)); if (!propspeclistp(NULL,NULL)) { pushSTACK(TheSubr(subr_self)->name); fehler(program_error, GETTEXT("~S: bad property specifier - it must be string, " - "positive number, list or keyword")); + "positive number, list or keyword")); } else { use_wpn++; nproprd++; } } else if (symbolp(STACK_(i)) && eq(STACK_(i),`:INITID`)) initid = 0; else nproprd++; @@ -2412,11 +2411,9 @@ case STG_E_FILENOTFOUND: fehler(file_error,GETTEXT("~S: file ~S does not exist")); case STG_E_FILEALREADYEXISTS: - fehler(file_error,GETTEXT( - "~S: file ~S is not a compound file nor it is on the NTFS file system")); + fehler(file_error,GETTEXT("~S: file ~S is not a compound file nor it is on the NTFS file system")); default: - fehler(file_error,GETTEXT( - "~S: StgOpenStorageEx() failed on file ~S")); + fehler(file_error,GETTEXT("~S: StgOpenStorageEx() failed on file ~S")); } } if (eq(STACK_(iset),`:USER-DEFINED`)) --__--__-- Message: 9 From: Sam Steingold <sd...@us...> To: cli...@li... Subject: clisp/modules/syscalls syscalls.xml,1.14,1.15 Date: Mon, 06 Dec 2004 19:05:45 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/clisp/modules/syscalls In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28227/modules/syscalls Modified Files: syscalls.xml Log Message: (OS:FILE-PROPERTIES): documented Index: syscalls.xml =================================================================== RCS file: /cvsroot/clisp/clisp/modules/syscalls/syscalls.xml,v retrieving revision 1.14 retrieving revision 1.15 diff -u -d -r1.14 -r1.15 --- syscalls.xml 5 Nov 2004 17:40:26 -0000 1.14 +++ syscalls.xml 6 Dec 2004 19:05:43 -0000 1.15 @@ -224,9 +224,9 @@ </simpara></listitem></varlistentry> <varlistentry id="convert-modes"> <term><code>(<function>POSIX:CONVERT-MODE</function> &mode-r;)</code></term> - <listitem><simpara>Convert between numeric, (e.g., <literal>0644</literal>) - and symbolic (e.g., <literal role="data">(:RUSR :WUSR :RGRP :ROTH)</literal>) - file modes.</simpara></listitem></varlistentry> + <listitem><simpara>Convert between numeric, (e.g., <literal>0644</literal>) + and symbolic (e.g., <literal role="data">(:RUSR :WUSR :RGRP + :ROTH)</literal>) file modes.</simpara></listitem></varlistentry> <varlistentry id="umask"><term><code>(<function>UMASK</function> &mode-r;)</code></term> <listitem><simpara>Change process mask using &umask;. @@ -237,11 +237,10 @@ <replaceable>destination-path</replaceable> &key-amp; :METHOD :PRESERVE :IF-EXISTS :IF-DOES-NOT-EXIST)</code></term> <listitem><simpara>This is an interface to the &symlink; - (when <replaceable>method</replaceable> is <constant>:SYMLINK</constant>), + (when &method-r; is <constant>:SYMLINK</constant>), &link; (when it is <constant>:HARDLINK</constant>), and &rename; (when it is <constant>:RENAME</constant>) system calls, as well as, - you guessed it, a generic file copy utility - (when <replaceable>method</replaceable> is ©-k;). + you guessed it, a generic file copy utility (when &method-r; is ©-k;). </simpara><simpara>Both <replaceable>source-path</replaceable> and <replaceable>destination-path</replaceable> may be wild. </simpara></listitem></varlistentry> @@ -271,6 +270,101 @@ <varlistentry><term><code>(OS:MEMORY-STATUS)</code></term> <listitem><simpara>Return &win32; memory status information in a <type>MEMORY-STATUS</type> structure.</simpara></listitem></varlistentry> + <varlistentry><term><code>(OS:FILE-PROPERTIES filename set + &key-amp; :initid &allow-other-keys-amp; + [specifier value|:INITID init-id]*))</code></term> + <listitem><para>Wrapper for the &win32; + <function>IPropertyStorage</function> functionality. + <variablelist><varlistentry><term>&filename-r;</term> + <listitem><simpara>a compound file name or (on NTFS) name of any + file</simpara></listitem></varlistentry> + <varlistentry><term><replaceable>set</replaceable></term> + <listitem><simpara>property set, either <constant>:BUILT-IN</constant> + or <constant>:USER-DEFINED</constant> + </simpara></listitem></varlistentry> + <varlistentry><term><constant>:INITID</constant> + <replaceable>init-id</replaceable></term> + <listitem><simpara>set the <replaceable>init-id</replaceable> + </simpara></listitem></varlistentry> + <varlistentry><term><replaceable>specifier value</replaceable></term> + <listitem><para><variablelist> + <varlistentry><term><replaceable>specifier</replaceable></term> + <listitem><para>the property specifier: an &integer-t;, + &keyword-t;, &string-t; or a &list-t; of an &integer-t; or a + &keyword-t; and a &string-t;. + <variablelist><varlistentry><term>&integer-t;</term> + <listitem><simpara>a property identifier + </simpara></listitem></varlistentry> + <varlistentry><term>&keyword-t;</term> + <listitem><para>Predefined &keyword-t; IDs are + <simplelist columns="4"> + <member><constant>:APPNAME</constant></member> + <member><constant>:AUTHOR</constant></member> + <member><constant>:CHARCOUNT</constant></member> + <member><constant>:CODEPAGE</constant></member> + <member><constant>:COMMENTS</constant></member> + <member><constant>:CREATE-DTM</constant></member> + <member><constant>:DOC-SECURITY</constant></member> + <member><constant>:EDITTIME</constant></member> + <member><constant>:KEYWORDS</constant></member> + <member><constant>:LASTAUTHOR</constant></member> + <member><constant>:LASTPRINTED</constant></member> + <member><constant>:LASTSAVE-DTM</constant></member> + <member><constant>:LOCALE</constant></member> + <member><constant>:PAGECOUNT</constant></member> + <member><constant>:REVNUMBER</constant></member> + <member><constant>:SUBJECT</constant></member> + <member><constant>:TEMPLATE</constant></member> + <member><constant>:THUMBNAIL</constant></member> + <member><constant>:TITLE</constant></member> + <member><constant>:WORDCOUNT</constant></member> + </simplelist></para></listitem></varlistentry> + <varlistentry><term>&string-t;</term> + <listitem><simpara>string property specifier. + If no match is found, the first ID >= init-id + (which defaults to 2) is associated with the + string and its value is replaced with new value. + </simpara></listitem></varlistentry> + <varlistentry><term>(&integer-t;|&keyword-t; + &string-t;)</term> + <listitem><simpara>the first element is used as + a specifier, the string is associated with this ID. + </simpara></listitem></varlistentry></variablelist> + </para></listitem></varlistentry> + <varlistentry><term>&value-r;</term> + <listitem><para>the new value of the property, a suitable Lisp + object, &nil; or a &list-t; of a &keyword-t; and the value + itself. If &value-r; is &nil;, no assignment is done. + <constant>:EMPTY</constant> and <constant>:NULL</constant> + correspond to the <type>VT_EMPTY</type> + and <type>VT_NULL</type> datatypes. + &keyword-t; in the &list-t; specifies the desired type of + the property being set. + Supported types are<simplelist columns="4"> + <member><constant>:BOOL</constant></member> + <member><constant>:BSTR</constant></member> + <member><constant>:DATE</constant></member> + <member><constant>:ERROR</constant></member> + <member><constant>:FILETIME</constant></member> + <member><constant>:I1</constant></member> + <member><constant>:I2</constant></member> + <member><constant>:I4</constant></member> + <member><constant>:I8</constant></member> + <member><constant>:LPSTR</constant></member> + <member><constant>:LPWSTR</constant></member> + <member><constant>:R4</constant></member> + <member><constant>:R8</constant></member> + <member><constant>:UI1</constant></member> + <member><constant>:UI2</constant></member> + <member><constant>:UI4</constant></member> + <member><constant>:UI8</constant></member> + <member><constant>:UINT</constant></member></simplelist> + <type>FILETIME</type>s are converted to/from universal + time format, while <type>DATE</type>s are not. + </para></listitem></varlistentry></variablelist> + </para></listitem></varlistentry></variablelist> + Returns the property contents before assignment as multiple values. + </para></listitem></varlistentry> <varlistentry><term><code>(POSIX:CRYPT &key-r; <replaceable>salt</replaceable>)</code></term> <listitem><simpara>Call &crypt;, arguments are &string-t;s. --__--__-- Message: 10 From: Sam Steingold <sd...@us...> To: cli...@li... Subject: clisp/doc impext.xml,1.295,1.296 Date: Mon, 06 Dec 2004 19:24:27 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/clisp/doc In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32294/doc Modified Files: impext.xml Log Message: mention &warn-on-hashtable-needing-rehash-after-gc; in "customize" Index: impext.xml =================================================================== RCS file: /cvsroot/clisp/clisp/doc/impext.xml,v retrieving revision 1.295 retrieving revision 1.296 diff -u -d -r1.295 -r1.296 --- impext.xml 4 Dec 2004 23:33:54 -0000 1.295 +++ impext.xml 6 Dec 2004 19:24:24 -0000 1.296 @@ -1644,6 +1644,7 @@ <member>&user-commands;</member> <member><varname>CUSTOM:*USER-MAIL-ADDRESS*</varname></member> <member>&warn-fpc;</member> + <member>&warn-on-hashtable-needing-rehash-after-gc;</member> <member><varname>CUSTOM:*WITH-HTML-OUTPUT-DOCTYPE*</varname></member> </simplelist></para> <note><title>Note</title><para>Some of these variables are --__--__-- Message: 11 From: Sam Steingold <sd...@us...> To: cli...@li... Subject: clisp/doc impbody.xml,1.321,1.322 Date: Mon, 06 Dec 2004 19:32:19 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/clisp/doc In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1778/doc Modified Files: impbody.xml Log Message: new section "hashtable-gc-rehash" for Bruno to fill in Index: impbody.xml =================================================================== RCS file: /cvsroot/clisp/clisp/doc/impbody.xml,v retrieving revision 1.321 retrieving revision 1.322 diff -u -d -r1.321 -r1.322 --- impbody.xml 4 Dec 2004 23:33:55 -0000 1.321 +++ impbody.xml 6 Dec 2004 19:32:14 -0000 1.322 @@ -2442,13 +2442,6 @@ must be one of <constant>EXT:FASTHASH-EQUAL</constant>, <constant>EXT:STABLEHASH-EQUAL</constant>.</para> -<para>The <constant>:WARN-IF-NEEDS-REHASH-AFTER-GC</constant> argument, -if true, causes a warning to be signalled when an object is stored into -the table which will force table reorganizations at the first access -of the table after each GC. This keyword argument can be used to check -whether &stablehash-eq; should be preferred over -&fasthash-eq; for a particular table.</para> - <para>The <constant>:INITIAL-CONTENTS</constant> argument is an &alist; that is used to initialize the new hash table.</para> @@ -2479,17 +2472,33 @@ <para>See also <olink targetdoc="impnotes" targetptr="weak-ht"/>.</para> +<section id="hashtable-gc-rehash"><title>Interaction between + &hash-table-t;s and &gc;ion.</title> + +<para>--- Bruno! ---</para> + +<para>The <constant>:WARN-IF-NEEDS-REHASH-AFTER-GC</constant> argument, +if true, causes a &warning-t; to be &signal;led when an object is stored +into the table which will force table reorganizations at the first +access of the table after each &gc;ion. +This keyword argument can be used to check whether &stablehash-eq; +should be preferred over &fasthash-eq; for a particular table. +Use <function>HASH-TABLE-WARN-IF-NEEDS-REHASH-AFTER-GC</function> +to check and &setf; this parameter after the table has been created.</para> + <para>While <constant>:WARN-IF-NEEDS-REHASH-AFTER-GC</constant> can help - checking the efficiency of a particular hash table, the variable + checking the efficiency of a particular &hash-table-t;, the variable <firstterm>&warn-on-hashtable-needing-rehash-after-gc; <indexterm id="hashtable-gc-rehash-warn" significance="preferred"> <primary id="hashtable-gc-rehash-warn-i"> <varname>*WARN-ON-HASHTABLE-NEEDING-REHASH-AFTER-GC*</varname> </primary></indexterm></firstterm> - achieves the same effect for all hash tables in the system at once: - when &warn-on-hashtable-needing-rehash-after-gc; is true and a hash - table needs to be rehashed after a &gc;ion, a warning is issued that - shows the inefficient hash table.</para> + achieves the same effect for all &hash-table-t;s in the system at once: + when &warn-on-hashtable-needing-rehash-after-gc; is true and a + &hash-table-t; needs to be rehashed after a &gc;ion, a warning is + issued that shows the inefficient &hash-table-t;.</para> + +</section> </section> --__--__-- Message: 12 From: Sam Steingold <sd...@us...> To: cli...@li... Subject: clisp/modules/syscalls syscalls.xml,1.15,1.16 Date: Mon, 06 Dec 2004 19:33:13 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/clisp/modules/syscalls In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2022/modules/syscalls Modified Files: syscalls.xml Log Message: tweak Index: syscalls.xml =================================================================== RCS file: /cvsroot/clisp/clisp/modules/syscalls/syscalls.xml,v retrieving revision 1.15 retrieving revision 1.16 diff -u -d -r1.15 -r1.16 --- syscalls.xml 6 Dec 2004 19:05:43 -0000 1.15 +++ syscalls.xml 6 Dec 2004 19:33:11 -0000 1.16 @@ -271,8 +271,7 @@ <listitem><simpara>Return &win32; memory status information in a <type>MEMORY-STATUS</type> structure.</simpara></listitem></varlistentry> <varlistentry><term><code>(OS:FILE-PROPERTIES filename set - &key-amp; :initid &allow-other-keys-amp; - [specifier value|:INITID init-id]*))</code></term> + &key-amp; :INITID &allow-other-keys-amp;)</code></term> <listitem><para>Wrapper for the &win32; <function>IPropertyStorage</function> functionality. <variablelist><varlistentry><term>&filename-r;</term> @@ -359,7 +358,7 @@ <member><constant>:UI4</constant></member> <member><constant>:UI8</constant></member> <member><constant>:UINT</constant></member></simplelist> - <type>FILETIME</type>s are converted to/from universal + <type>FILETIME</type>s are converted to/from the universal time format, while <type>DATE</type>s are not. </para></listitem></varlistentry></variablelist> </para></listitem></varlistentry></variablelist> --__--__-- _______________________________________________ clisp-cvs mailing list cli...@li... https://lists.sourceforge.net/lists/listinfo/clisp-cvs End of clisp-cvs Digest |