MMCT TEAM
Server IP : 103.53.40.154  /  Your IP : 3.145.154.251
Web Server : Apache
System : Linux md-in-35.webhostbox.net 4.19.286-203.ELK.el7.x86_64 #1 SMP Wed Jun 14 04:33:55 CDT 2023 x86_64
User : ppcad7no ( 715)
PHP Version : 8.2.25
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON
Directory (0755) :  /lib64/GConf/../tcl8.5/tclx8.4/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : //lib64/GConf/../tcl8.5/tclx8.4/pushd.tcl
#
# pushd.tcl --
#
# C-shell style directory stack procs.
#
#------------------------------------------------------------------------------
# Copyright 1992-1999 Karl Lehenbauer and Mark Diekhans.
#
# Permission to use, copy, modify, and distribute this software and its
# documentation for any purpose and without fee is hereby granted, provided
# that the above copyright notice appear in all copies.  Karl Lehenbauer and
# Mark Diekhans make no representations about the suitability of this
# software for any purpose.  It is provided "as is" without express or
# implied warranty.
#------------------------------------------------------------------------------
# $Id: pushd.tcl,v 1.1 2001/10/24 23:31:48 hobbs Exp $
#------------------------------------------------------------------------------
#

#@package: TclX-directory_stack pushd popd dirs

global TCLXENV(dirPushList)

set TCLXENV(dirPushList) ""

proc pushd {{new ""}} {
    global TCLXENV

    set current [pwd]
    if {[clength $new] > 0} {
        set dirs [glob -nocomplain $new]
        set count [llength $dirs]
        if {$count == 0} {
            error "no such directory: $new"
        } elseif {$count != 1} {
            error "ambiguous directory: $new: [join $directories ", "]"
        }
        cd [lindex $dirs 0]
        lvarpush TCLXENV(dirPushList) $current
    } else {
        if [lempty $TCLXENV(dirPushList)] {
            error "directory stack empty"
        }
        cd [lindex $TCLXENV(dirPushList) 0]
        lvarpop TCLXENV(dirPushList)
        lvarpush TCLXENV(dirPushList) $current
    }
    return [pwd]
}

proc popd {} {
    global TCLXENV

    if [lempty $TCLXENV(dirPushList)] {
        error "directory stack empty"
    }
    cd [lvarpop TCLXENV(dirPushList)]
    return [pwd]
}

proc dirs {} { 
    global TCLXENV
    return [concat [list [pwd]] $TCLXENV(dirPushList)]
}



MMCT - 2023