CVS log for epic5/include/commands.h |
![]() |
Request diff between arbitrary revisions
Fix all the compile warnings that I let go way too long.
* $info(o) now includes 'r' for libarchive, and 'x' for iconv support
* Unconditinally unset GREP_OPTIONS in configure (rb Pegasus)
* Fix /oper password being shown because term_echo() not called. (rb wjr)
* Properly handle multiple spaces between protocol tokens (rb Krisp)
* Fix crash with standard_warning_level() when you do /window level nonsense.
* Support /input "prompt" (args) {code}. See UPDATES. (rb kreca) (fusion)
Add new function $curcmd(), the currently executing command (nullie)
* Eliminate the third argument to expand_alias(), the statement spanner. * Rename parse_line() to parse_block() to better reflect its duties. * Make parse_block() static. Everything needs to call runcmds() now. * Eliminate the local-stack-creating feature of parse_block(), callers do this. * Rename 'line' to 'stmt' in parse_statement(). * Sort of forget to re-implement /set cmdchars. The / is the cmdchar. * Try to optimize parse_statement() and next_statement() some.
* Constify get_*_alias(), so lookups can't modify the actual alias this way. * Rename parse_command() to parse_statement(). * Create a next_statement() to figure out how long the next stmt is. * Stop using expand_alias() to rip apart statements. yay! * Refactor parse_command and parse_statement to better define their roles. * Push responsibility for expansion to parse_statement, someday, to cmds! * Push responsibility for handling block statements to parse_statement. * "Forget" to re-implement /set input_aliases. I wonder if anyone will notice. * Change the name of "hist_flag" to "interactive" to reflect its purpose. * Change /load -std to use parse_statement() instead of parse_line()
* Add /msg -<server>/<target> thingee, i really need to document this. * Oh, send_text() now takes a server argument.
* Make stripcrap(ALL) exclude "ALL_OFF", so I can... * Fix bug with $stripcrap(ALL,-BOLD ^B^B^Btest). (rb BlackJac) * Make the #define Char const char thing global to all of epic now. * Whack /set scroll. * Create a "/set data" type (VARIABLE) which is union of (int) and (char *). * Expose VARIABLE and variable types in vars.h for others to use. * Break init of /set's into two parts, one to malloc() the set data * The second part is to init the default values once command line is done. * Fix some warnings from --with-warns * Fix all /set callbacks to accept a (void *)(VARIABLE *) variable * /Set callbacks can now directly modify the /set via that variable! * So don't allow direct setting of /set's from outside vars.c. * Everybody must use set_var_value() which is the backend to /set. * Whack the /IRCNAME and /REALNAME variable -- use /SET REALNAME, eh! * Hack up /xecho -x to bide my time until i whack all those /sets it uses. * Don't call set_input_prompt() in main() any more, it's handled elsewhere. * Whack /set logfile callback, since nobody seems to have missed it. * Whack the "number" (float) data in /set since i wasn't gonna use it. * Whack the "GLOBAL/CHANGED" tracking in /set's. Tell me if you miss this. * Unify output of /set values as "[New|Current] value of <var> is <val>" * Don't limit the size of /set continued_line, this will be revisited soon. * Quick and dirty hack to work around adm's bug, will fix this later.
* Begin massive refactorization of alias.c, redefining "Alias" as "Symbol" * Refactor parse_line() with a bunch of front end call_* functions. * And a general parse_line() front end, "runcmds()". * Roll builtin expandos in with the user variables * Roll variables and commands together into one name space. HUZZAH! * Nix the caches for the global name space, for now. * I definitely broke /stack alias|assign here. I'll fix it later. * Inline expandos are now officially strings instead of a single char. * Fix bug with $unshift() that popped up. * Move after_expando() to ircaux.c. I think it belongs there more.
*** WARNING **** WARNING *** WARNING *** WARNING *** This project is half finished. I think this stuff works, but I can't be held responsible if something breaks. Please wait until I finish the rest of this project before getting unhappy with me for breaking stuff. *** WARNING **** WARNING *** WARNING *** WARNING *** * Split alias item to hold commands and variables separately * Nix COMMAND_COMPLETION keybinding. Script replacement forthcoming. * Nix "Use your nickname as alias for /me" feature. * Nix automatic command completion (ie, /whoi no longer expands to /whois) * Work towards not using 'command' var in builtin commands. * This will allow me to get rid of 'server_func' in builtin command data type * Nix the 'flags' var in builtin command data type. * Nix the 'serv_command' var in builtin command data type. * Create 'init_builtin_commands' to run at startup, add commands to alias * Shimmy find_cmd_alias to ignore built in commands for now. Not for long! * So built in commands should be hung off of aliases now. * Create 'builtins' script that aliases some previously builtin commands. * Load this script from global. Don't forget to alarm users.
* Move some defines from comands.h to where they belong * Add and remove func decls in header files as necessary. * Add /wait =<fd> which returns when a nonblocking dcc connection finishes * Make all keybinding funcs/decls use the BUILT_IN_KEYBINDING macro. * Make the BUILT_IN_KEYBINDING macro use unsigned chars. * Hide (struct Key) inside keys.c, and use (void *) to hold state. * Make the input line use (unsigned char), not (char), huzzah! * Make the "othername" ($3 in /on dcc_raw "E") the port number. * Avoid a NULL deref with "parse_command" keybinding.
Implement infinite recursion detector and thwarter. It requires a #define in config.h, the future of which I have not decided yet.
Okay. User input is now handled specially, and parse_command() will not accept incomplete command names anymore. -wd
Another round of epic5 changes... * Make $B, $., $,, $:, $;, $I, /WAIT stuff server specific, from epic5 * Make tracking of doing_(privmsg|notice|ctcp) server specific, from epic5 * Fixes for Const Correctness.
* New STATUS_HALFOP setting which acts much the same way as STATUS_CHANOP. * New function $getcommands() which acts much the same way as $getsets(). The internals for these two functions probably need to be rolled together. * Cleanups and minor updates to tabkey.ce.
Implement the "redirect sink", which instead of sending all output to another irc server, drops the output entirely. This is used by /flush (which is now safe to use again) and can be used by the user via /redirect 0 to execute a server query but suppress it's output.
Commit #29: * Add /on error, to handle ERROR protocol messages. * Fix /window * toggle, to actually toggle. * Add /defer command, per email on epic list. * New hybrid6 script from is-. * Fix a bug with strlcat() from openbsd via freebsd. * Axe long broken "1 second cursor in window" delay thing. * Repeal the "deferred free" stuff in 0.9.15-10 that wasn't too good. That's it!
Initial import into CVS
Initial revision
| CVS Admin |
Powered by ViewCVS 0.9.2 |