/[meta-cvs]/meta-cvs/F-6BD7679FED76D6E5A7D36DC36C205FC1.lisp
ViewVC logotype

Log of /meta-cvs/F-6BD7679FED76D6E5A7D36DC36C205FC1.lisp

Parent Directory Parent Directory | Revision Log Revision Log


Links to HEAD: (view) (annotate)
Links to asdf-import-branch~merged-to-HEAD-0: (view) (annotate)
Sticky Tag:

Revision 1.25 - (view) (annotate) - [select for diffs]
Mon Nov 27 02:40:02 2006 UTC (7 years, 4 months ago) by kaz
Branch: MAIN
CVS Tags: asdf-import-branch~branch-point, asdf-import-branch~merged-to-HEAD-0, mcvs-1-1-98
Branch point for: asdf-import-branch
Changes since 1.24: +118 -3 lines
Diff to previous 1.24
Implement process pipes. This feature is quite different from
CLISP's make-pipe-*-stream because it doesn't exec a different
process image in the child. Rather, the child process evaluates
an arbitrary Lisp expression. Special trickery is used to ensure
that both the *standard-output* and file descriptor 1 are
redirected (or, *standard-input* and file descriptor 0 in the
case of an input pipe), so that the process /can/ spawn child
programs, as well as use the standrad Lisp file streams, all being
correctly redirected.

* code/clisp-unix.lisp (process-pipe): New struct.
(create-process-pipe, close-process-pipe): New functions.
(*default-execute-filter*): New special variable. This can be set
in order to automatically add an input or output pipe to a
process spawned by the execute-program function.
(execute-program): Observe the value of *default-execute-filter*
and set up a pipe as required. This means that an additional process
is spawned, which handles output from the command being run, or
possibly supplied input to it.
(with-filtered-execute-program): Macro which sets up the
*default-execute-filter* dynamic variable, using syntax which is
similar to that of create-process-pipe. The macro asserts that
in this dynamic scope, calls to execute-program will set up such and
such a filter. A boolean variable additionally controls whether the
construct has any effect at all, allowing it to be turned on and
off.

Revision 1.24 - (view) (annotate) - [select for diffs]
Fri Nov 24 05:04:27 2006 UTC (7 years, 4 months ago) by kaz
Branch: MAIN
Changes since 1.23: +3 -15 lines
Diff to previous 1.23
Get rid of the ffi-pointer-null stuff, since c-pointer foreign types
are automatically converted to null now.

* code/clisp-ffi.lisp (null-pointer-p): Function removed.

* code/clisp-unix.lisp (pointer-null, null-to-nil, when-not-null):
macros removed.
(opendir, closedir): Revert to normal Lisp null checks.

Revision 1.23 - (view) (annotate) - [select for diffs]
Fri Nov 24 04:53:50 2006 UTC (7 years, 4 months ago) by kaz
Branch: MAIN
Changes since 1.22: +1 -1 lines
Diff to previous 1.22
Stylistic change.

* code/add.lisp: Change in-package calls not to use the all-caps
"META-CVS" string string, but rather the :meta-cvs keyword.
* code/branch.lisp: Likewise.
* code/chatter.lisp: Likewise.
* code/checkout.lisp: Likewise.
* code/clisp-unix.lisp: Likewise.
* code/cmucl-unix.lisp: Likewise.
* code/convert.lisp: Likewise.
* code/create.lisp: Likewise.
* code/dirwalk.lisp: Likewise.
* code/error.lisp: Likewise.
* code/execute.lisp: Likewise.
* code/filt.lisp: Likewise.
* code/find-bind.lisp: Likewise.
* code/generic.lisp: Likewise.
* code/grab.lisp: Likewise.
* code/link.lisp: Likewise.
* code/main.lisp: Likewise.
* code/mapping.lisp: Likewise.
* code/memoize.lisp: Likewise.
* code/move.lisp: Likewise.
* code/multi-hash.lisp: Likewise.
* code/options.lisp: Likewise.
* code/paths.lisp: Likewise.
* code/print.lisp: Likewise.
* code/prop.lisp: Likewise.
* code/purge.lisp: Likewise.
* code/rcs-utils.lisp: Likewise.
* code/remap.lisp: Likewise.
* code/remove.lisp: Likewise.
* code/restart.lisp: Likewise.
* code/restore.lisp: Likewise.
* code/seqfuncs.lisp: Likewise.
* code/slot-refs.lisp: Likewise.
* code/split.lisp: Likewise.
* code/sync.lisp: Likewise.
* code/types.lisp: Likewise.
* code/unix.lisp: Likewise.
* code/update.lisp: Likewise.
* code/watch.lisp: Likewise.

Revision 1.22 - (view) (annotate) - [select for diffs]
Sat Dec 11 07:58:05 2004 UTC (9 years, 4 months ago) by kaz
Branch: MAIN
Changes since 1.21: +1 -9 lines
Diff to previous 1.21
Get rid of CLISP 2.27 support.

* code/unix-bindings/unix.lisp (null-pointer-p): Function removed.

* code/clisp-unix.lisp: The :clisp-old symbol no longer conditionally
pushed onto *features*
(pointer-null): Just version of the macro present; no more
read-time switch.

Revision 1.21 - (view) (annotate) - [select for diffs]
Mon Mar 8 06:11:40 2004 UTC (10 years, 1 month ago) by kaz
Branch: MAIN
CVS Tags: mcvs-1-1-0
Changes since 1.20: +0 -5 lines
Diff to previous 1.20
Revamped loading system. Got rid of require/provide in all
Lisp source files.

* code/mcvs.lisp: New file. Responsible for compiling and loading
everything in the right order.

* code/mcvs-main.lisp: File renamed to main.lisp.

* code/mcvs-package.lisp: File renamed to package.lisp.

* code/system.lisp: File removed.

Revision 1.20 - (view) (annotate) - [select for diffs]
Sun Feb 1 05:14:53 2004 UTC (10 years, 2 months ago) by kaz
Branch: MAIN
Changes since 1.19: +17 -3 lines
Diff to previous 1.19
Merging from mcvs-1-0-branch.

Revision 1.19 - (view) (annotate) - [select for diffs]
Fri Jan 9 05:18:14 2004 UTC (10 years, 3 months ago) by kaz
Branch: MAIN
Changes since 1.18: +1 -1 lines
Diff to previous 1.18
Merging from mcvs-1-0-branch.

Revision 1.18 - (view) (annotate) - [select for diffs]
Wed Apr 16 05:12:21 2003 UTC (11 years ago) by kaz
Branch: MAIN
Changes since 1.17: +9 -7 lines
Diff to previous 1.17
Merging from mcvs-1-0-branch.

New command, remote-filt.

* code/mcvs-main.lisp (*remote-filt-options*): New option constant.
(*mcvs-command-table*): Entries for new command added.
(*usage*): Help text added.

* code/filt.lisp (filt-select-map): New keyword parameter for
specifing repository module. CVS up -p or co -p command generated
accordingly. Also, little glitch fixed: the local case descends
into the MCVS directory, to avoid a warning message that occurs
when CVS is used in server mode.
(mcvs-filt-loop): New function, contains most of the old mcvs-filt
function body.
(mcvs-filt): Calls new mcvs-filt-loop to do actual filtering work.
(mcvs-remote-filt, mcvs-remote-filt-wrapper): New functions.

* code/clisp-unix.lisp (with-input-from-program): Macro changed
to include debug tracing of the invoked command.

Revision 1.17 - (view) (annotate) - [select for diffs]
Fri Feb 21 06:48:43 2003 UTC (11 years, 1 month ago) by kaz
Branch: MAIN
Changes since 1.16: +12 -8 lines
Diff to previous 1.16
Merging from mcvs-1-0-branch.

Fix remaining occurences of SIG_IGN action for SIGCHLD being
passed to child processes.

* code/unix-bindings/unix.lisp (unix-funcs:default-sigchld): New call
out function.

* code/clisp-unix.lisp (with-input-from-program,
with-output-to-program): Call the new default-sigchild function
to set SIGCHILD signal handler to SIG_DFL just before creating
the pipe.

* code/unix-bindings/wrap.c (mcvs_default_sigchld): New function.

Revision 1.16 - (view) (annotate) - [select for diffs]
Thu Jan 30 11:06:44 2003 UTC (11 years, 2 months ago) by kaz
Branch: MAIN
CVS Tags: mcvs-1-0-3
Changes since 1.15: +2 -2 lines
Diff to previous 1.15
Merging from mcvs-1-0-branch.

* code/paths.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.

Revision 1.15 - (view) (annotate) - [select for diffs]
Sun Jan 26 00:50:13 2003 UTC (11 years, 2 months ago) by kaz
Branch: MAIN
Changes since 1.14: +10 -1 lines
Diff to previous 1.14
Merging from mcvs-1-0-branch.

* 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.

Revision 1.14 - (view) (annotate) - [select for diffs]
Tue Dec 3 07:23:03 2002 UTC (11 years, 4 months ago) by kaz
Branch: MAIN
Changes since 1.13: +1 -1 lines
Diff to previous 1.13
Merging from mcvs-1-0-branch.

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.

Revision 1.13 - (view) (annotate) - [select for diffs]
Thu Oct 31 04:06:01 2002 UTC (11 years, 5 months ago) by kaz
Branch: MAIN
Changes since 1.12: +8 -5 lines
Diff to previous 1.12
* code/mcvs-package.lisp: New file, defines META-CVS package.

* code/purge.lisp: Put all symbols in new package.
* code/restore.lisp: Likewise.
* code/paths.lisp: Likewise.
* code/install.sh: Likewise.
* code/restart.lisp: Likewise.
* code/update.lisp: Likewise.
* code/move.lisp: Likewise.
* code/grab.lisp: Likewise.
* code/unix.lisp: Likewise.
* code/slot-refs.lisp: Likewise.
* code/prop.lisp: Likewise.
* code/multi-hash.lisp: Likewise.
* code/rcs-utils.lisp: Likewise.
* code/branch.lisp: Likewise.
* code/find-bind.lisp: Likewise.
* code/execute.lisp: Likewise.
* code/link.lisp: Likewise.
* code/split.lisp: Likewise.
* code/watch.lisp: Likewise.
* code/clisp-unix.lisp: Likewise.
* code/add.lisp: Likewise.
* code/chatter.lisp: Likewise.
* code/print.lisp: Likewise.
* code/types.lisp: Likewise.
* code/remove.lisp: Likewise.
* code/convert.lisp: Likewise.
* code/error.lisp: Likewise.
* code/options.lisp: Likewise.
* code/dirwalk.lisp: Likewise.
* code/checkout.lisp: Likewise.
* code/generic.lisp: Likewise.
* code/sync.lisp: Likewise.
* code/create.lisp: Likewise.
* code/memoize.lisp: Likewise.
* code/seqfuncs.lisp: Likewise.
* code/cmucl-unix.lisp: Likewise.
* code/remap.lisp: Likewise.

* code/mapping.lisp: Put symbols in new package. Replace use
of CLISP specific substring function with subseq.
* code/filt.lisp: Likewise.

* code/mcvs-main.lisp: Put symbols in new package. The mcvs
function is renamed to main.

* code/install.sh: Generate mcvs script that uses qualified name
of new startup functiont to start the software.

Revision 1.12 - (view) (annotate) - [select for diffs]
Sat Oct 12 20:34:23 2002 UTC (11 years, 6 months ago) by kaz
Branch: MAIN
Changes since 1.11: +4 -2 lines
Diff to previous 1.11
Merging from mcvs-1-0-branch.

* code/filt.lisp (mcvs-filt): Do not filter F- names if
immediately preceded by MCVS/ prefix.

* code/clisp-unix.lisp (execute-program): Provide debug traces
for command execution.

Revision 1.11 - (view) (annotate) - [select for diffs]
Sat Oct 12 19:37:47 2002 UTC (11 years, 6 months ago) by kaz
Branch: MAIN
Changes since 1.10: +2 -2 lines
Diff to previous 1.10
Rethink some decisions in the previous change. Reusing the
name posix.lisp for a new file will cause problems for people
using mcvs grab to keep up with Meta-CVS patches.

* code/posix.lisp: Renamed to unix.lisp.

* code/clisp-posix.lisp: Renamed back to clisp-unix.lisp, for
the sake of consistency.

* code/system.lisp: Updated.

* code/cmucl.lisp: Likewise.

Revision 1.10 - (view) (annotate) - [select for diffs]
Sat Oct 12 19:21:16 2002 UTC (11 years, 6 months ago) by kaz
Branch: MAIN
Changes since 1.9: +2 -3 lines
Diff to previous 1.9
Minor reorganization.

* posix.lisp: File renamed to paths.lisp, module renamed to "paths".
(*editor*): Variable removed.
(arglist-to-command-string, execute-programs-xargs,
invoke-editor-on): Functions removed.

* posix.lisp: New file.
(*editor*): Variable moved here from paths.lisp.
(arglist-to-command-string, invoke-editor-on): Functions moved here
from paths.lisp.

* editor.lisp: New file.
(*argument-limit*): Variable definition moved here.
(execute-programs-xargs): Function moved here from paths.lisp.

* clisp-unix.lisp: Renamed to clisp-posix.lisp.
Requires "posix" module now.
(*argument-limit*): Variable removed.

* system.lisp: Remove references to old clisp-linux module.
Added requires for new paths and execute modules.

* cmucl-unix.lisp (*argument-limit*): Variable definition removed.

Revision 1.9 - (view) (annotate) - [select for diffs]
Sun Oct 6 05:19:54 2002 UTC (11 years, 6 months ago) by kaz
Branch: MAIN
CVS Tags: mcvs-0-97, mcvs-1-0-branch~branch-point
Branch point for: mcvs-1-0-branch
Changes since 1.8: +9 -8 lines
Diff to previous 1.8
* code/clisp-unix.lisp (guid-gen): Changes for Cygwin broke the
case when /dev/urandom is available.

Revision 1.8 - (view) (annotate) - [select for diffs]
Wed Sep 25 15:55:57 2002 UTC (11 years, 6 months ago) by kaz
Branch: MAIN
Changes since 1.7: +14 -4 lines
Diff to previous 1.7
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.

Revision 1.7 - (view) (annotate) - [select for diffs]
Thu Sep 19 01:50:04 2002 UTC (11 years, 7 months ago) by kaz
Branch: MAIN
CVS Tags: mcvs-0-96
Changes since 1.6: +3 -0 lines
Diff to previous 1.6
* 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.

Revision 1.6 - (view) (annotate) - [select for diffs]
Fri Sep 6 02:17:27 2002 UTC (11 years, 7 months ago) by kaz
Branch: MAIN
CVS Tags: mcvs-0-24, mcvs-0-95
Changes since 1.5: +36 -0 lines
Diff to previous 1.5
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.

Revision 1.5 - (view) (annotate) - [select for diffs]
Sat Aug 31 20:53:13 2002 UTC (11 years, 7 months ago) by kaz
Branch: MAIN
CVS Tags: mcvs-0-22, mcvs-0-23
Changes since 1.4: +28 -5 lines
Diff to previous 1.4
Merging symlink-branch to main trunk.

Revision 1.4 - (view) (annotate) - [select for diffs]
Sat Aug 17 19:26:26 2002 UTC (11 years, 8 months ago) by kaz
Branch: MAIN
CVS Tags: symlink-branch~branch-point
Branch point for: symlink-branch
Changes since 1.3: +5 -0 lines
Diff to previous 1.3
* 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.

Revision 1.3 - (view) (annotate) - [select for diffs]
Mon Aug 5 19:19:58 2002 UTC (11 years, 8 months ago) by kaz
Branch: MAIN
Changes since 1.2: +4 -0 lines
Diff to previous 1.2
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.

Revision 1.2 - (view) (annotate) - [select for diffs]
Sun Aug 4 18:15:18 2002 UTC (11 years, 8 months ago) by kaz
Branch: MAIN
CVS Tags: mcvs-0-21
Changes since 1.1: +6 -3 lines
Diff to previous 1.1
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.

Revision 1.1 - (view) (annotate) - [select for diffs]
Sun Aug 4 15:49:30 2002 UTC (11 years, 8 months ago) by kaz
Branch: MAIN
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.

  Diffs between and
  Type of Diff should be a

Sort log by:

  ViewVC Help
Powered by ViewVC 1.1.5