Hex Artifact Content
Not logged in

Artifact d234ad5a9b29455a379467f3bcd65a0966a4339e:


0000: 23 21 2f 62 69 6e 2f 73 68 0a 23 20 46 49 4c 45  #!/bin/sh.# FILE
0010: 3a 20 22 2f 64 69 73 6b 61 2f 68 6f 6d 65 2f 6a  : "/diska/home/j
0020: 6f 7a 65 2f 73 72 63 2f 74 63 6c 72 65 61 64 6c  oze/src/tclreadl
0030: 69 6e 65 2f 73 61 6d 70 6c 65 2e 74 63 6c 73 68  ine/sample.tclsh
0040: 72 63 22 0a 23 20 4c 41 53 54 20 4d 4f 44 49 46  rc".# LAST MODIF
0050: 49 43 41 54 49 4f 4e 3a 20 22 4d 6f 6e 20 41 75  ICATION: "Mon Au
0060: 67 20 32 33 20 31 37 3a 35 30 3a 35 34 20 31 39  g 23 17:50:54 19
0070: 39 39 20 28 6a 6f 7a 65 29 22 0a 23 20 28 43 29  99 (joze)".# (C)
0080: 20 31 39 39 39 20 62 79 20 4a 6f 68 61 6e 6e 65   1999 by Johanne
0090: 73 20 5a 65 6c 6c 6e 65 72 2c 20 3c 6a 6f 68 61  s Zellner, <joha
00a0: 6e 6e 65 73 40 7a 65 6c 6c 6e 65 72 2e 6f 72 67  nnes@zellner.org
00b0: 3e 0a 23 20 24 49 64 24 0a 23 20 76 69 6d 3a 73  >.# $Id$.# vim:s
00c0: 65 74 20 66 74 3d 74 63 6c 3a 20 5c 0a 65 78 65  et ft=tcl: \.exe
00d0: 63 20 74 63 6c 73 68 20 22 24 30 22 20 22 24 40  c tclsh "$0" "$@
00e0: 22 0a 0a 0a 69 66 20 7b 24 74 63 6c 5f 69 6e 74  "...if {$tcl_int
00f0: 65 72 61 63 74 69 76 65 7d 20 7b 0a 0a 20 20 20  eractive} {..   
0100: 20 70 61 63 6b 61 67 65 20 72 65 71 75 69 72 65   package require
0110: 20 74 63 6c 72 65 61 64 6c 69 6e 65 0a 0a 20 20   tclreadline..  
0120: 20 20 23 20 75 6e 63 6f 6d 6d 65 6e 74 20 74 68    # uncomment th
0130: 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 69 66 20 62  e following if b
0140: 6c 6f 63 6b 2c 20 69 66 20 79 6f 75 0a 20 20 20  lock, if you.   
0150: 20 23 20 77 61 6e 74 20 60 6c 73 27 20 65 78 65   # want `ls' exe
0160: 63 75 74 65 64 20 61 66 74 65 72 20 65 76 65 72  cuted after ever
0170: 79 20 60 63 64 27 2e 20 28 54 68 69 73 20 77 61  y `cd'. (This wa
0180: 73 0a 20 20 20 20 23 20 74 68 65 20 64 65 66 61  s.    # the defa
0190: 75 6c 74 20 75 70 20 74 6f 20 30 2e 38 20 3d 3d  ult up to 0.8 ==
01a0: 20 74 63 6c 72 65 61 64 6c 69 6e 65 5f 76 65 72   tclreadline_ver
01b0: 73 69 6f 6e 2e 29 0a 20 20 20 20 23 0a 20 20 20  sion.).    #.   
01c0: 20 23 20 69 66 20 7b 22 22 20 3d 3d 20 5b 69 6e   # if {"" == [in
01d0: 66 6f 20 70 72 6f 63 73 20 63 64 5d 7d 20 7b 0a  fo procs cd]} {.
01e0: 20 20 20 20 23 20 20 20 20 20 63 61 74 63 68 20      #     catch 
01f0: 7b 72 65 6e 61 6d 65 20 3a 3a 74 63 6c 72 65 61  {rename ::tclrea
0200: 64 6c 69 6e 65 3a 3a 43 64 20 22 22 7d 0a 20 20  dline::Cd ""}.  
0210: 20 20 23 20 20 20 20 20 72 65 6e 61 6d 65 20 63    #     rename c
0220: 64 20 3a 3a 74 63 6c 72 65 61 64 6c 69 6e 65 3a  d ::tclreadline:
0230: 3a 43 64 0a 20 20 20 20 23 20 20 20 20 20 70 72  :Cd.    #     pr
0240: 6f 63 20 63 64 20 7b 61 72 67 73 7d 20 7b 0a 20  oc cd {args} {. 
0250: 20 20 20 23 20 20 20 20 20 20 20 20 20 69 66 20     #         if 
0260: 7b 5b 63 61 74 63 68 20 7b 65 76 61 6c 20 3a 3a  {[catch {eval ::
0270: 74 63 6c 72 65 61 64 6c 69 6e 65 3a 3a 43 64 20  tclreadline::Cd 
0280: 24 61 72 67 73 7d 20 6d 65 73 73 61 67 65 5d 7d  $args} message]}
0290: 20 7b 0a 20 20 20 20 23 20 20 20 20 20 20 20 20   {.    #        
02a0: 20 20 20 20 20 70 75 74 73 20 73 74 64 65 72 72       puts stderr
02b0: 20 22 24 6d 65 73 73 61 67 65 22 0a 20 20 20 20   "$message".    
02c0: 23 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20  #         }.    
02d0: 23 20 20 20 20 20 20 20 20 20 74 63 6c 72 65 61  #         tclrea
02e0: 64 6c 69 6e 65 3a 3a 6c 73 0a 20 20 20 20 23 20  dline::ls.    # 
02f0: 20 20 20 20 7d 0a 20 20 20 20 23 20 7d 0a 0a 20      }.    # }.. 
0300: 20 20 20 23 20 75 6e 63 6f 6d 6d 65 6e 74 20 74     # uncomment t
0310: 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 6c 69 6e  he following lin
0320: 65 20 74 6f 20 75 73 65 0a 20 20 20 20 23 20 74  e to use.    # t
0330: 63 6c 72 65 61 64 6c 69 6e 65 27 73 20 66 61 6e  clreadline's fan
0340: 63 79 20 6c 73 20 70 72 6f 63 2e 0a 20 20 20 20  cy ls proc..    
0350: 23 0a 20 20 20 20 23 20 6e 61 6d 65 73 70 61 63  #.    # namespac
0360: 65 20 69 6d 70 6f 72 74 20 74 63 6c 72 65 61 64  e import tclread
0370: 6c 69 6e 65 3a 3a 6c 73 0a 0a 20 20 20 20 23 20  line::ls..    # 
0380: 74 63 6c 72 65 61 64 6c 69 6e 65 3a 3a 50 72 69  tclreadline::Pri
0390: 6e 74 20 69 73 20 6f 6e 20 28 60 79 65 73 27 29  nt is on (`yes')
03a0: 20 62 79 20 64 65 66 61 75 6c 74 2e 0a 20 20 20   by default..   
03b0: 20 23 20 54 68 69 73 20 6d 69 6d 69 63 73 20 74   # This mimics t
03c0: 68 65 20 63 6f 6d 6d 61 6e 64 20 65 63 68 6f 69  he command echoi
03d0: 6e 67 20 6c 69 6b 65 20 69 6e 20 74 68 65 0a 20  ng like in the. 
03e0: 20 20 20 23 20 6e 6f 6e 2d 72 65 61 64 6c 69 6e     # non-readlin
03f0: 65 20 69 6e 74 65 72 61 63 74 69 76 65 20 74 63  e interactive tc
0400: 6c 73 68 2e 0a 20 20 20 20 23 20 49 66 20 79 6f  lsh..    # If yo
0410: 75 20 64 6f 6e 27 74 20 6c 69 6b 65 20 74 68 69  u don't like thi
0420: 73 2c 20 75 6e 63 6f 6d 6d 65 6e 74 20 74 68 65  s, uncomment the
0430: 20 66 6f 6c 6c 6f 77 69 6e 67 0a 20 20 20 20 23   following.    #
0440: 20 6c 69 6e 65 2e 0a 20 20 20 20 23 0a 20 20 20   line..    #.   
0450: 20 23 20 74 63 6c 72 65 61 64 6c 69 6e 65 3a 3a   # tclreadline::
0460: 50 72 69 6e 74 20 6e 6f 0a 0a 20 20 20 20 23 20  Print no..    # 
0470: 75 6e 63 6f 6d 6d 65 6e 74 20 74 68 65 20 66 6f  uncomment the fo
0480: 6c 6c 69 6e 67 20 6c 69 6e 65 2c 20 69 66 20 79  lling line, if y
0490: 6f 75 20 77 61 6e 74 0a 20 20 20 20 23 20 74 6f  ou want.    # to
04a0: 20 63 68 61 6e 67 65 20 74 63 6c 72 65 61 64 6c   change tclreadl
04b0: 69 6e 65 27 73 20 70 72 69 6e 74 20 62 65 68 61  ine's print beha
04c0: 76 69 6f 75 72 0a 20 20 20 20 23 20 66 72 65 71  viour.    # freq
04d0: 75 65 6e 74 6c 79 20 77 69 74 68 20 6c 65 73 73  uently with less
04e0: 20 74 79 70 69 6e 67 2e 0a 20 20 20 20 23 0a 20   typing..    #. 
04f0: 20 20 20 23 20 6e 61 6d 65 73 70 61 63 65 20 69     # namespace i
0500: 6d 70 6f 72 74 20 74 63 6c 72 65 61 64 6c 69 6e  mport tclreadlin
0510: 65 3a 3a 50 72 69 6e 74 0a 0a 20 20 20 20 23 20  e::Print..    # 
0520: 67 6f 20 74 6f 20 74 63 6c 72 65 61 6c 64 69 6e  go to tclrealdin
0530: 65 27 73 20 6d 61 69 6e 20 6c 6f 6f 70 2e 0a 20  e's main loop.. 
0540: 20 20 20 23 0a 20 20 20 20 74 63 6c 72 65 61 64     #.    tclread
0550: 6c 69 6e 65 3a 3a 4c 6f 6f 70 0a 7d 0a 0a        line::Loop.}..