#!/usr/local/bin/tclsh7.4
#
######################################################################
# Copyright 1992-1995 by Jay Sekora.  This file may be freely        #
# distributed, modified or unmodified, for any purpose, provided     #
# that this copyright notice is retained verbatim in all copies and  #
# no attempt is made to obscure the authorship of this file.  If you #
# distribute any modified versions, I ask, but do not require, that  #
# you clearly mark any changes you make as such and that you provide #
# your users with instructions for getting the original sources.     #
######################################################################
## begin boiler_header

if {[info exists env(JSTOOLS_LIB)]} {
  set jstools_library $env(JSTOOLS_LIB)
} else {
  set jstools_library /usr/local/lib/jstools
}

# add the jstools library to the library search path:

set auto_path [concat [list $jstools_library] $auto_path]

# check for ~/.tk and prepend it to the auto_path if it exists.
# that way the user can override and customise the jstools libraries.

if {[file isdirectory ~/.tk]} then {
  set auto_path [concat [list [glob ~/.tk]] $auto_path]
}

## end boiler_header

if {$argc < 2} {
  puts stderr "Usage: $argv0 <regex> <filename>..."
  puts stderr "  where <filename> is a jrt-format file"
  exit 1
}

set pattern [lindex $argv 0]
set argv [lreplace $argv 0 0]

foreach file $argv {
  if {$argc > 2} {
    set prefix $file:
  } else {
    set prefix ""
  }
  
  set text [lindex [j:fileio:read $file] 0]
  foreach line [split $text \n] {
    if [regexp -- $pattern $line] {
      puts stdout "$prefix$line"
    }
  }
}
