Some drafts...

(channel? str)
	predicate. Will return #t if str designates a channel, #f if not
(set-cur-chan! newchan)
	sets the current active channel
(current-channel)
	returns the current active channel, or "" if none
(set-cur-query! newquery)
	sets the current query destination
(current-query)
	returns the current query destination, of "" if none
(current-target)
	returns the current query if any, or if no query is active, returns
	the current channel, of "" ... the destination for the (say) and (me)
	functions
(set-cur-nick! newnick)
	sets the current nick. should NEVER be called... though sometimes
	scirc gets out of sync and you can readjust it this way
(current-nick)
	returns the current nick (or what scirc thinks as to be the current
	nick
(create-var name value)
	creates a new SET variable
(rm-var name)
	removes an existing SET variable, or #f if it didn't exist
(set-var! name value)
	sets the value of an existing SET variable, or #f if it didn't exist
(get-var name)
	returns the value of an existing SET variable, or #f if it didn't
	exist
(underline . stuff)
	returns the string(s) stuff, string-appended, and a ^_ in front and
	after, when not in dumb mode. without stuff, only a single ^_ is
	returned.
(bold . stuff)
	same with ^B
(inverse . stuff)
	same with ^V
(plain . stuff)
	same with ^O
(as-ctcp . stuff)
	same with ^A
(skip-space string)
	returns a new copy of string with leading space skipped
(strip-string string char)
	returns a new copy of string with all occurances of char removed
(strip-colon string)
	removes a leading colon, if any
(nextword string . divider)
	returns a cons of the first word of string, leading whitespace
	skipped, until the first occurance of divider, and the rest of the
	string. divider defaults to #\space. example:
	guile> (nextword "  hello   world")
	("hello" . "  world")
(string-upcase string)
	returns a new copy of string with all chars upcase
(nuh->n nuh)
	extracts the nick from a nick!user@host string
(nuh->u@h nuh)
	extracts the user@host from a nick!user@host string
(nice-from nuh)
	converts a "nick!user@host" to "nick (user@host)"
(xsplat string)
	if the first word of string is a *, it'll replace * with the current
	channel
(addcolon string position)
	adds a colon before word on position.
	guile> (addcolon "hello world" 0)
	":hello world"
	guile> (addcolon "hello world" 1)
	"hello :world"
(xpath path)
	expands the ~ notation
(scirc-load file)
	loads file, expanding ~ notation is necessary
(add-ignore pattern)
	adds ignorepattern pattern
(rm-ignore numer-or-pattern)
	removes ignore with the corresponding number or pattern
(ignore? string)
	predicate wether string is currently being ignored or not
(tdiff secs)
	returns a nice string describing the time difference, ala $TDIFF()
	in ircII
(set-interface-type! type)
	sets the interface type. currently, only 'dumb and 'ssfe are supported
(interface-type)
	returns the interface type. either 'dumb or 'ssfe
(write-to dst . text)
	writes text to the user, with destination "dst". this can mean
	alot of stuff, best think of it that it'll mark the destination
	window when we'll have windows... sometimes...
	you can use (eqv? dst #f) if you want the output to go to the current
	window (writing to (current-output-port) is equivalent then)
(set-status . string)
	sets the status line. don't use it. currently scirc supports only
	'STATUS-USER SET variable for status changes.
(add-tab-nick nick)
	adds nick to the tab key circle buffer
(set-input-prompt . prompt)
	sets the input prompt
(do-status)
	renews the status line
(net-connect server port)
	creates a new connection to server:port ... preferred way of making
	outbound connections
(current-server)
	returns the name of the current server
(send-server . stuff)
	sends the stuff to the current server
(msg dst . message)
	send a PRIVMSG with message to dst
(notice dst . message)
	send a NOTICE with message to dst
(say . message)
	send a PRIVMSG with message to (current-target) 
(ctcp nick . command)
	send a CTCP with command to nick
(ctcpr nick . message)
	send a CTCP reply with message to nick
(describe dst . description)
	send a CTCP ACTION with description to dst
(me . action)
	send a CTCP ACTION with action to (current-target)
(add-port port name proc)
	adds a new input port to the select list. the proc will be called
	for each line on the port.
	The proc must accept three arguments: the name, the port, and the
	read line
(addhook event func)
	adds a new hook function for server events ... func must accept 
	four arguments: from, cmd, to, args
(rmhook event func)
	removes this hook with this function
(addcommand cmd func)
	adds a new command to be typed by the user... func must accept
	two arguments: the cmd, and the arguments.
(rmcommand cmd func)
	removes this cmd and this func
