anchor.diff:  	  ### environment, returning the new filter object if we find
   	  ### it. 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}'."
  -		  role = env.getAvailableRoles( context.user ).find {|role|
  -			  role.name == roleName
  -		  }
  -		  raise CommandError, "Role '#{roleName}' is not currently available to you." unless
  -			  role.is_a?( MUES::Role )
  -
  -		  results << OutputEvent.new( "Connecting..." )
  -		  results << env.getParticipantProxy( context.user, role )
  -		  results << OutputEvent.new( "connected.\n\n" )
  -	  rescue CommandError, SecurityViolation => e
  -		  results << OutputEvent.new( e.message )
  -	  end
  +	  env = MUES::ServerFunctions::getEnvironmentByName( envName ) or
  +		  raise CommandError, "No such environment '#{envName}'."
  +	  role = env.getAvailableRoles( context.user ).find {|role|
  +		  role.name == roleName
  +	  }
  +	  raise CommandError, "Role '#{roleName}' is not currently available to you." unless
  +		  role.is_a?( MUES::Role )
  +
  +	  results << OutputEvent.new( "Connecting..." )
  +	  results << env.getParticipantProxy( context.user, role )
  +	  results << OutputEvent.new( "connected.\n\n" )
     else
   	  results << OutputEvent.new( usage() )
     end
  
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: 	  ### Look for the roles in the requested environment. Catch any
  	  ### problems as exceptions, and turn them into error messages
  	  ### for output.
  	  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"
    }
  