anyone want to give me a brief rundown of what changes you'd need to make to the typical script to make it compatible with epic5? i'll do my best. i think i'm ready to take the plunge :) one of the historical features of ircII was auto-append-of-$*, ie /alias m msg per a discussion held on the list (proposed by wd) that feature has been removed. so you want to change that to /alias m msg $* (or /alias m {msg $*} which is forwards-compatable) do you use window levels and stuff? $serverctl(SET|GET refnum UMODES) has been removed because all umodes are now supported, and it's not necessary to mess around with the "supported umodes" list. epic5 loads the startup file on 001 instead of 004. $version() always returns 2.8 now, since all servers are presumed to be 2.8 (rfc-class) servers. all connections are nonblocking. This means that /server will return before the server is connected. $connect() also returns before the connection is complete -- you can do /wait %number to wait until the connect()ion fails. You need to watch /on dcc_raw carefully now with your $connect()s there is no reconnection at all, whatsoever, when a server is disconnected. Your script needs to handle that. there is no rejoin of channels when you reconnect to a server, whatsoever. Your script needs to handle that. this means, basically, taht epic no longer tries to take any policy on reconnecting you to your server that is 100% under your control now. there is now an /on server_status that lets you track server status changes each server connection works through the following states: RECONNECT -- the server should be brought up as soon as a window is pointed at it CONNECTING -- a nonblockign connect is in progress REGISTERING -- the nonblocking connect has completed, and we have sent NICK/USER/PASS, and waiting for 001 SYNCING -- We've gotten an 001, and we're handling things like motd, usermode, etc. answering you rquestion yes i do use window levels ACTIVE -- the server is up and epic is done messing around with the server EOF -- we've seen an EOF from the server, and the connectino is shutting down. the server can't be used CLOSING -- the connection is shutting down. If the previous mode was "ACTIVE", the server is still open, if the previous mode was "EOF" then it's too late. CLOSED -- the server connection is down, finished, over with. You cannot use this server. since channels no longer continue to exist across server connections, /window bind has been removed to reconnect to a server, use /SERVER + to disconnect from a server, use /SERVER - i never used /window bind there are now 10 user lastlog levels ie, USER5 through USER10 brb, nmi ok. the window, flood, and ignore levels have been unified, so each line of output is the same level across all features of the client, here are the user levels CRAP PUBLIC MSG NOTICE WALL WALLOP NOTE OPNOTE SNOTE ACTION DCC CTCP INVITE JOIN NICK TOPIC PART QUIT KICK MODE USER1 USER2 USER3 USER4 ALL (special) NONE (special) HELP (special) note that some of these levels are new to some of these features usually they grab some output that previously was "CRAP" so epic4's "CRAP" is more inclusive than epic5's "CRAP" all unsupported/unrecognized ctcp requests are passed through /on ctcp_request the $startupfile() function returns whatever file epic loaded as the ircrc. /xecho -f outputs something to a window, but doesn't flag %F okay .. what about how you were talking about the association between windows and channels... how would that affect my script? i don't know. i don't know how your script works. basically your script should track what channels you're in and what window's they're in mine optionally handles windows automatically and creates a new window for each new channel when the server connects (/on server_status "% SYNCING ACTIVE" {...}) uses window channel #foo or something you should join your channels in the appropriate windows. epic5 can join multiple channels per window simultaneously so that's no longer a problem, with channels going to the wrong place. in epic5, /window add and /window query are unified -- meaning you can query multiple people at the same time, and cycle between them, like you do with channels. Use SWITCH_QUERY keybinding to cycle through your window's queries. ce rewrote the back end of ison/userhost/who in ways i do not entirely understand yet. =) all right he improved the flood system quite a bit and now you can call a function that has the same name as a built in function by using a single colon ie, alias chops {....} what about epic5, to this point, makes it difficult to make a script compatible with both it and epic4? then $:chops() calls your alias and not the built in function. the difficulties will be primarily 1) The differences in what things go to what window levels 2) Nonblocking connections 3) Servers are never reconnected and channels are never rejoined in epic5. 4) Flood control is pretty much different. okay this may be a dumb question, but what kind of problems can the nonblocking connections pose for scripters? in epic4, if you do @fd = connect(host 6667), when it returns, you can /msg =$fd immediately in epic5, you must wait until the /on dcc_raw is thrown that says the connection is established. that usually won't happen right away. in epic4, you could usually do /window server irc.foo.com channel #blah in epic5, that most definitely will never work. ah i see thanks for the info btw, i've only really listed the things that changed. and there are a lot ofo them, cause of course, epic5 is epic5, and we can change stuff. i have tried to minimize the number of things that changed drastically and to maximize the upside of them. the nonblocking connects thing is nice, but of course it has had the most severe backwards incompatabilities but those were the price we knew we would have to pay for it. oh, and one thing you asked for i forgot, a new thing you can do /on %type -- %type suppreses the default behavior like ^type, but doesn't turn off the display so basically /on %set "hold_mode *" {window hold_mode $*} shows the output of /window hold_mode ahh cool and there's a lot of other new stuff i haven't documented at all yet cause i'm not finished i unified the $-related symbol tables commands, sets, functions, aliases, and assigns. so i can add built in functions or built in commands at runtime and you can create your own first-level sets with /set -create (though that's gonna change at some point) ie, /set -create mynewsetname BOOL {echo you changed mynewsetname to $*!} black is creating a script to implement a bunch of /set's as script stuff, since a lot of /set's are real simple. eventually we'll remove the built in /set's and let them be scripted. er, eventually we'll remove *some of* the built in /set's... there's also a new status expando %{1}F that works like %F (notify windows) but %{1}F will get the value from /window notify_name so you can change how each window shows up in %{1}F when it's notified howl does this to colorize things, like irssi does.