From: Peep P. <so...@us...> - 2004-03-18 21:00:56
|
Update of /cvsroot/agd/server In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2863 Modified Files: BUGS ChangeLog Ideas NEWS TODO Log Message: Updates for 0.0.2-2. Index: ChangeLog =================================================================== RCS file: /cvsroot/agd/server/ChangeLog,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- ChangeLog 16 Mar 2004 20:17:32 -0000 1.5 +++ ChangeLog 18 Mar 2004 20:51:16 -0000 1.6 @@ -1,6 +1,22 @@ 0.0.2-2: -2004-03-16 ---------------------------------------------------------------------------- +2004-03-17 + * make sure thre is a correct number of arguments on the stack - + "void create(int i) { }" won't crash anymore. + * fixed crash with "int i = 1;" - now uses F_PUSH_LVAR_LVALUE + * net_dead() is now called in the player object, not the + master. login.c can now destruct itself if a logining player + disconnects. + * Rewrote asctime() in LPC, renamed to ctime(). This is quite an + achievement. + * Fixed crash with functions with implicit type. + * Bison debug is turned in with debuglevel > 4. + * New dfuns: strlen, capitalize, lower_case + * String ranges: str[i]. + * Fixed a crash in lang.y (fun_call tried to get $1->args, even if $1 + was null). +2004-03-16 + * Character constants ('x'). All same escape codes as strings. * ? : operator. * new dfun: random() * checking for return type @@ -8,6 +24,7 @@ * compile_options.h: added DEFAULT_FUNCTION_TYPE * functions with implicit type )defined like 'fun_name(int i) { }' now work again. + 0.0.2-1: ---------------------------------------------------------------------------- 2004-03-16 Index: Ideas =================================================================== RCS file: /cvsroot/agd/server/Ideas,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- Ideas 15 Mar 2004 18:53:35 -0000 1.2 +++ Ideas 18 Mar 2004 20:51:16 -0000 1.3 @@ -1,5 +1,4 @@ This file contains features that are not necessary, but would be cool to have. - lpc: * if(x == 1 || == 2 && != 3) * Argument type grouping @@ -7,6 +6,6 @@ * k integer constants: 100k equals to 100000 1k equals to 1000 etc. - * the same for K, M + * the same for K, M (suggested by elver) K (or maybe Kb / KB) = 1024 M = 1024 * 1024 Index: BUGS =================================================================== RCS file: /cvsroot/agd/server/BUGS,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- BUGS 16 Mar 2004 20:17:32 -0000 1.3 +++ BUGS 18 Mar 2004 20:51:16 -0000 1.4 @@ -5,4 +5,32 @@ - the define_id system is more or less not operational. * int i; void foo(int i); should be valid with a warning + - + [lpc] apply "write_prompt" done in 410 microseconds + + Program received signal SIGINT, Interrupt. + 0x40119758 in select () from /lib/tls/libc.so.6 + (gdb) handle SIGINT pass + SIGINT is used by the debugger. + Are you sure you want to change it? (y or n) y + Signal Stop Print Pass to program Description + SIGINT Yes Yes Yes Interrupt + (gdb) c + Continuing. + Crashing: Interrupted + [lpc] apply "crash" on "/sys/master.c" + [interpret] call_function 0 on /sys/master.c + + Program received signal SIGSEGV, Segmentation fault. + 0x08055fe7 in net_send (buf=0x808d878 "Crashing on signal 2!\r\n", siz=24, p=0x80728c8) at net.c:164 + 164 send(this_player->conn.socket, buf, siz, 0); + (gdb) print this_player + $1 = (player_t *) 0xa0d3000 + (gdb) print *this_player + Cannot access memory at address 0xa0d3000 + - + string s; + s = s + "abc"; + will result in "0abc" + - continue from here.. Index: NEWS =================================================================== RCS file: /cvsroot/agd/server/NEWS,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- NEWS 16 Mar 2004 20:17:32 -0000 1.2 +++ NEWS 18 Mar 2004 20:51:16 -0000 1.3 @@ -1,5 +1,8 @@ New things in this version (0.0.2-2) that you might find useful: - * Dfuns: random + * String ranges and character constants (you can now do things like s[1] = 'a') + * Dfuns: random, strlen, capitalize, lower_case + * Removed dfun asctime(). This can and should be done with LPC, and there's an example + of it in lib/sys/player Features in 0.0.2: * Additional escape codes: \\, \", \t, \a, \b, \f, \e Index: TODO =================================================================== RCS file: /cvsroot/agd/server/TODO,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- TODO 16 Mar 2004 20:17:32 -0000 1.5 +++ TODO 18 Mar 2004 20:51:16 -0000 1.6 @@ -15,7 +15,7 @@ ! for(), foreach(), switch() ! all of the operators (/doc/lpc/operators) - mixed type - ! string ranges + ! string ranges (str[0..1,2..3]) ! continue; and break; - allow to define locals inside statements like: create() { write("\n"); int i; i = 1; int j; j = 2; } @@ -26,6 +26,11 @@ definitions and if anything is found, it opens up another buffer (pushes it on flex's stack), containing the macro replacement, which will then get parsed again. if no macros match, REJECT() is called and flex tries to match with next available rule + - predefined names: + #define __AGD__ 1 + #define __VERSION__ PACKAGE_VERSION + #define __ARCH__ PLATFORM + #define __HOST__ system hostname, from somewhere. - character encoding inside strings: - decimal: \nnn - octal: \0onnn @@ -33,6 +38,8 @@ - binary: \0bnnnnnnnn - dfuns: query_ip() for players. + - mudlib: + /update command - better logging system - log using lib's facilities (master::log()?) - different prefixes have different debuglevels @@ -54,3 +61,8 @@ - clean up includes, not everything needs everything in std.h and lpc_incl.h, etc. - make maintainer-clean should also remove src/dfparse.output and src/lang.output - compile-time eval for < > <= >= == != ! + - lang.y: + fun_call compare_args result >0 error (lang.y:1216) should show datatypes as strings, not ints + compare_args(): 0 should be any valid type (shout("a", 0) should be ok) + - or maybe use NULL or nil + - if we crash while running apply(master::crash), then we should rerun with debugging on |