---
name: "rename"
section: "3tcl"
platform: "linux"
package: "tcl8.6-doc"
version: "8.6.16+dfsg-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/rename/3tcl"
---

# rename(3tcl)

Rename or delete a command

```

```

## NAME

rename - Rename or delete a command

## SYNOPSIS

**rename** *oldName newName*

```

```

## DESCRIPTION

Rename the command that used to be called *oldName* so that it is now called *newName*. If *newName* is an empty string then *oldName* is deleted. *oldName* and *newName* may include namespace qualifiers (names of containing namespaces). If a command is renamed into a different namespace, future invocations of it will execute in the new namespace. The **rename** command returns an empty string as result.

## EXAMPLE

The **rename** command can be used to wrap the standard Tcl commands with your own monitoring machinery.  For example, you might wish to count how often the **source** command is called:

```
rename ::source ::theRealSource
set sourceCount 0
proc ::source args {
    global sourceCount
    puts "called source for the [incr sourceCount]'th time"
    uplevel 1 ::theRealSource $args
}
```

## SEE ALSO

[namespace(3tcl)](/namespace/3tcl.md), [proc(3tcl)](/proc/3tcl.md)

## KEYWORDS

command, delete, namespace, rename
