anchor.diff:  	  ### Look for the roles in the requested environment. Catch any
   	  ### problems as exceptions, and turn them into error messages
   	  ### for output.
  -	  begin
  -		  env = MUES::ServerFunctions::getEnvironment( envName ) or
  -			  raise CommandError, "No such environment '#{envName}'."
  -		  list << "%s (%s)\n" % [ envName, env.class.name ]
  -		  env.getAvailableRoles( context.user ).each {|role|
  -			  list << "    #{role.to_s}\n"
  -			  roleCount += 1
  -		  }
  -	  rescue CommandError, SecurityViolation => e
  -		  list << e.message + "\n"
  -	  end
  +	  env = MUES::ServerFunctions::getEnvironmentByName( envName ) or
  +		  raise CommandError, "No such environment '#{envName}'."
  +	  list << "%s (%s)\n" % [ envName, env.class.name ]
  +	  env.getAvailableRoles( context.user ).each {|role|
  +		  list << "    #{role.to_s}\n"
  +		  roleCount += 1
  +	  }
   
   	  list << "\n"
     }
  
positive.code:   end
  
    ### Look for a proxy from the specified environment
    begin
  	  targetEnv = MUES::ServerFunctions::getEnvironment( envName ) or
  		  raise CommandError, "No such environment '#{envName}'."
  	  targetProxy = context.stream.findFiltersOfType( MUES::ParticipantProxy ).find {|f|
  		  f.env == targetEnv && ( roleName.nil? || f.role.name == roleName )
  	  } or raise CommandError, "Not connected to #{envName} #{roleName ? 'as ' + roleName : ''}"
  
  	  results << OutputEvent.new( "Disconnecting from #{envName}..." )
  	  targetEnv.removeParticipantProxy( targetProxy )
  	  context.stream.removeFilters( targetProxy )
  	  results << OutputEvent.new( " disconnected.\n\n" )
    rescue CommandError, SecurityViolation => e
  	  results << OutputEvent.new( e.message )
    end
  
    return results.flatten
  
  
negative.code: #
  # MUES::CommandShell environment manipulation commands.
  # Time-stamp: <12-Oct-2002 06:18:17 deveiant>
  # $Id: environments.cmd,v 1.4 2002/10/12 15:37:01 deveiant Exp $
  #
  # == Authors:
  # * Michael Granger <ged@FaerieMUD.org>
  