NAME
       lreplace - Replace elements in a list with new elements

SYNOPSIS
       lreplace list first last ?element element ...?


DESCRIPTION
       lreplace returns a new list formed by replacing one or more elements of
       list with the element arguments.  first and last specify the first  and
       last  index of the range of elements to replace.  0 refers to the first
       element of the list, and end (or any abbreviation of it) may be used to
       refer  to  the  last element of the list.  If list is empty, then first
       and last are ignored.

       If first is less than zero, it is considered to refer to the first ele-
       ment  of the list.  For non-empty lists, the element indicated by first
       must exist.

       If last is less than zero but greater than first,  then  any  specified
       elements  will  be  prepended  to the list.  If last is less than first
       then no elements are deleted; the  new  elements  are  simply  inserted
       before first.

       The element arguments specify zero or more new arguments to be added to
       the list in place of those that were deleted.   Each  element  argument
       will  become  a  separate element of the list.  If no element arguments
       are specified, then the elements between  first  and  last  are  simply
       deleted.   If list is empty, any element arguments are added to the end
       of the list.

EXAMPLES
       Replacing an element of a list with another:
              % lreplace {a b c d e} 1 1 foo
              a foo c d e

       Replacing two elements of a list with three:
              % lreplace {a b c d e} 1 2 three more elements
              a three more elements d e

       Deleting the last element from a list in a variable:
              % set var {a b c d e}
              a b c d e
              % set var [lreplace $var end end]
              a b c d


SEE ALSO
       list(n), lappend(n),  lindex(n),  linsert(n),  llength(n),  lsearch(n),
       lset(n), lrange(n), lsort(n)


KEYWORDS
