Annotation of micropolis/src/tclx/tclsrc/forrec.tcl, revision 1.1

1.1     ! root        1: #
        !             2: # forrecur.tcl --
        !             3: #
        !             4: # Proc to execute code on every file in a recursive directory glob.
        !             5: #------------------------------------------------------------------------------
        !             6: # Copyright 1992 Karl Lehenbauer and Mark Diekhans.
        !             7: #
        !             8: # Permission to use, copy, modify, and distribute this software and its
        !             9: # documentation for any purpose and without fee is hereby granted, provided
        !            10: # that the above copyright notice appear in all copies.  Karl Lehenbauer and
        !            11: # Mark Diekhans make no representations about the suitability of this
        !            12: # software for any purpose.  It is provided "as is" without express or
        !            13: # implied warranty.
        !            14: #------------------------------------------------------------------------------
        !            15: # $Id: forrecur.tcl,v 2.0 1992/10/16 04:52:00 markd Rel $
        !            16: #------------------------------------------------------------------------------
        !            17: #
        !            18: 
        !            19: #@package: TclX-forrecur for_recursive_glob
        !            20: 
        !            21: proc for_recursive_glob {var globlist code {depth 1}} {
        !            22:     upvar $depth $var myVar
        !            23:     foreach globpat $globlist {
        !            24:         foreach file [glob -nocomplain $globpat] {
        !            25:             if [file isdirectory $file] {
        !            26:                 for_recursive_glob $var $file/* $code [expr {$depth + 1}]
        !            27:            }
        !            28:            set myVar $file
        !            29:            uplevel $depth $code
        !            30:         }
        !            31:     }
        !            32: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.