home *** CD-ROM | disk | FTP | other *** search
/ Practical Programming in Tcl & Tk (4th Edition) / TCLBOOK4.BIN / mac / exsource.old / 13_11.tcl < prev    next >
Text File  |  2003-04-15  |  527b  |  22 lines

  1. #
  2. # Example 13-11
  3. # Implementing special history syntax.
  4. #
  5.  
  6. # Excerpts from the standard unknown command
  7. # uplevel is used to run the command in the right context
  8. if {$name == "!!"} {
  9.     set newcmd [history event]
  10. } elseif {[regexp {^!(.+)$} $name dummy event]} {
  11.     set newcmd [history event $event]
  12. } elseif {[regexp {^\^([^^]*)\^([^^]*)\^?$} $name x old new]} {
  13.     set newcmd [history event -1]
  14.     catch {regsub -all -- $old $newcmd $new newcmd}
  15. }
  16. if {[info exists newcmd]} {
  17.     history change $newcmd 0
  18.     return [uplevel $newcmd]
  19. }
  20.  
  21.  
  22.