history

history(n)                   Tcl Built-In Commands                  history(n)



______________________________________________________________________________

NAME
       history - Manipulate the history list

SYNOPSIS
       history ?option? ?arg arg ...?
_________________________________________________________________


DESCRIPTION
       The history command performs one of several operations related to
       recently-executed commands recorded in a history list.  Each of these
       recorded commands is referred to as an ``event''.  When specifying an
       event to the history command, the following forms may be used:

       [1]    A number:  if positive, it refers to the event with that number
              (all events are numbered starting at 1).  If the number is
              negative, it selects an event relative to the current event (-1
              refers to the previous event, -2 to the one before that, and so
              on).  Event 0 refers to the current event.

       [2]    A string:  selects the most recent event that matches the
              string.  An event is considered to match the string either if
              the string is the same as the first characters of the event, or
              if the string matches the event in the sense of the string match
              command.

       The history command can take any of the following forms:

       history
              Same as history info, described below.

       history add command ?exec?
              Adds the command argument to the history list as a new event.
              If exec is specified (or abbreviated) then the command is also
              executed and its result is returned.  If exec isn't specified
              then an empty string is returned as result.

       history change newValue ?event?
              Replaces the value recorded for an event with newValue.  Event
              specifies the event to replace, and defaults to the current
              event (not event -1).  This command is intended for use in
              commands that implement new forms of history substitution and
              wish to replace the current event (which invokes the
              substitution) with the command created through substitution.
              The return value is an empty string.

       history clear
              Erase the history list.  The current keep limit is retained.
              The history event numbers are reset.

       history event ?event?
              Returns the value of the event given by event.  Event defaults
              to -1.

       history info ?count?
              Returns a formatted string (intended for humans to read) giving
              the event number and contents for each of the events in the
              history list except the current event.  If count is specified
              then only the most recent count events are returned.

       history keep ?count?
              This command may be used to change the size of the history list
              to count events.  Initially, 20 events are retained in the
              history list.  If count is not specified, the current keep limit
              is returned.

       history nextid
              Returns the number of the next event to be recorded in the
              history list.  It is useful for things like printing the event
              number in command-line prompts.

       history redo ?event?
              Re-executes the command indicated by event and return its
              result.  Event defaults to -1.  This command results in history
              revision:  see below for details.

HISTORY REVISION
       Pre-8.0 Tcl had a complex history revision mechanism.  The current
       mechanism is more limited, and the old history operations substitute
       and words have been removed.  (As a consolation, the clear operation
       was added.)

       The history option redo results in much simpler ``history revision''.
       When this option is invoked then the most recent event is modified to
       eliminate the history command and replace it with the result of the
       history command.  If you want to redo an event without modifying
       history, then use the event operation to retrieve some event, and the
       add operation to add it to history and execute it.


KEYWORDS
       event, history, record



Tcl                                                                 history(n)