Parent Directory | Revision Log
|Links to HEAD:||(view) (annotate)|
|Links to mcvs-1-0-2:||(view) (annotate)|
* code/posix.lisp: Move some (declaim inline) to the correct location, before the function to be inlined. * code/clisp-unix.lisp: Likewise. * code/cmucl-unix.lisp: Likewise. * code/mapping.lisp: Likewise.
* code/unix-bindings/wrap.c (mcvs_getcwd): If getcwd() returns NULL, it only means that the buffer is too small if errno is also set to ERANGE. This second condition was not being tested. * code/clisp-unix.lisp (getcwd-error): New condition. (initialize-instance (getcwd-error)): New method. (getcwd): Raise getcwd-error condition if unix-funcs::getcwd returns NIL.
Discontinuing use of CLISP's ext:run-program function in favor of a new workalike which doesn't rely on the shell interpreter. * code/unix-bindings/unix.lisp (unix-funcs:spawn): New C call out function (unix-funcs:run-program): New function, implemented using spawn. * code/unix-bindings/impl.c (impl_spawn): New function; wraps up fork, execvp and waitpid. * code/clisp-unix.lisp: Switch from ext:run-program to unix-funcs:run-program.
Compiler warning fix. * code/posix.lisp (*argument-limit*): Constant moved here. * code/clisp-unix.lisp (*argument-limit*): Constant removed. * code/cmucl-unix.lisp (*argument-limit*): Likewise.
Fix stupid error.
* code/clisp-unix.lisp (execute-program): Provide debug traces for command execution.
* code/clisp-unix.lisp (guid-gen): Changes for Cygwin broke the case when /dev/urandom is available.
Minimal changes for building on Cygwin. * code/install.sh (space_check, dash_check): Function definitions modified to conform to bash2. * code/clisp-unix.lisp (*have-dev-random*, *mcvs-random-state*): New special variables. (guid-gen): Rewritten to fall back on the Common Lisp random function if /dev/urandom is not available.
* code/restore.lisp (mcvs-restore): Was still generating old-style mapping entries. * code/clisp-unix.lisp (executable-p (string)): New method for executable-p generic function that takes a filename.
Low level support for versioning executable bit. * code/unix-bindings/unix.lisp (unix-funcs:chmod): New callout function. * code/clisp-unix.lisp (executable-p, make-executable, make-non-executable): New generic functions. (executable-p (file-info), make-executable (file-info), make-executable (string), make-non-executable (file-info), make-non-executable (string)): New methods. * code/add.lisp (mcvs-add): Record whether new file is executable or not, by setting executable slot in mapping-entry. * code/create.lisp (mcvs-create): Likewise. * code/sync.lisp (synchronize-files): New parameter, should-be-executable, tells function which way to set permissions after synchronizing files. * code/mapping.lisp (mapping-entry): New slot, executable. (mapping-entry-parse-attributes): New function, parses new optional property list from :FILE entries in a mapping. (mapping-convert-in): Parse property list that may be present in fourth list element of a :FILE entry. (mapping-convert-out): Write out executable flag as :EXEC property, if true. (mapping-synchronize): Pass executable flag down to synchronize-files.
Merging symlink-branch to main trunk.
* posix.lisp (execute-program): Function removed. * clisp-linux.lisp (execute-program): Function added. Works in terms of CLISP's run-program function rather than the shell function, thus eliminating the need to build a command string and escape shell characters. * clisp-unix.lisp (excecute-program): Likewise.
Use getcwd to to implement mcvs-locate. * code/unix-bindings/unix.lisp (getcwd): New call out, invokes impl_getcwd. * code/unix-bindings/impl.c (impl_getcwd): New function, use getcwd() to obtain current working directory, resizing dynamic buffer if necessary to get the entire path. * code/clisp-unix.lisp (getcwd): New wrapper function. * code/dirwalk.lisp (go-up): Function removed. * code/mapping.lisp (mcvs-locate): Rewritten to obtain path using getcwd, then try looking for MCVS directory in successively shorter prefixes of that path.
Working back support for CLISP 2.27. * code/install.sh: Bogus *null-pointer* hack is no longer added to the generated mcvs script, since we have our own FFI functions for doing the test. * code/unix-bindings/unix.lisp (unix-funcs:null-pointer-p): New function, tests a C pointer for null, returns T or NIL. * code/unix-bindings/impl.c (impl_null_pointer_p): New function, C implementation of unix-funcs:null-pointer-p. * code/clisp-unix.lisp (pointer-null): New macro, uses ffi:foreign-address-null under CLISP 2.28 or greater, or unix-funcs:null-pointer-p, under an older CLISP.
Retargetting CVS with new system call bindings that are not GNU/Linux specific.
This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, select a symbolic revision name using the selection box, or choose 'Use Text Field' and enter a numeric revision.
|Powered by ViewVC 1.1.5|