View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0000692 | LDMud 3.3 | Documentation | public | 2009-10-15 15:51 | 2011-02-23 22:22 |
Reporter | Coogan | Assigned To | zesstra | ||
Priority | normal | Severity | text | Reproducibility | have not tried |
Status | resolved | Resolution | fixed | ||
Product Version | 3.3.719 | ||||
Target Version | 3.3.720 | Fixed in Version | 3.3.720 | ||
Summary | 0000692: improve some efun manpages | ||||
Description | when looking over some efun manpages, the following mistakes caught my eye, which are packed into a diff ready to apply against /doc/efun in trunk (and most probably also to trunk of 3.5) * some typos in text * exchanged german words (e.g. BESCHREIBUNG) by english ones (DESCRIPTION) * correction of include statements: some manpages say e.g. "include <functionlist.h>", some "include <sys/functionlist.h>" -- corrected to <functionlist.h> * section type EXAMPLE (whereas EXAMPLES is written in the majority of docs) have been corrected to EXAMPLES * fixed the width and section indentation for some manpages * minor changes | ||||
Tags | No tags attached. | ||||
Attached Files | diff-doc-efun-en.patch (197,133 bytes)
diff -c efun.orig/abs efun/abs *** efun.orig/abs 2009-10-09 16:04:55.000000000 +0000 --- efun/abs 2009-10-18 21:40:50.000000000 +0000 *************** *** 1,6 **** SYNOPSIS ! int abs (int arg) ! float abs (float arg) DESCRIPTION Returns the absolute value of the argument <arg>. --- 1,6 ---- SYNOPSIS ! int abs(int arg) ! float abs(float arg) DESCRIPTION Returns the absolute value of the argument <arg>. diff -c efun.orig/add_action efun/add_action *** efun.orig/add_action 2009-10-09 16:04:55.000000000 +0000 --- efun/add_action 2009-10-15 21:02:45.000000000 +0000 *************** *** 1,5 **** SYNOPSIS ! #include <sys/commands.h> void add_action(string fun, string cmd) void add_action(string fun, string cmd, int flag) --- 1,5 ---- SYNOPSIS ! #include <commands.h> void add_action(string fun, string cmd) void add_action(string fun, string cmd, int flag) diff -c efun.orig/all_environment efun/all_environment *** efun.orig/all_environment 2009-10-09 16:04:55.000000000 +0000 --- efun/all_environment 2009-10-18 21:14:42.000000000 +0000 *************** *** 1,6 **** SYNOPSIS ! object *all_environment() ! object *all_environment(object o) DESCRIPTION Returns an array with all environments object <o> is in. If <o> is --- 1,6 ---- SYNOPSIS ! object * all_environment() ! object * all_environment(object o) DESCRIPTION Returns an array with all environments object <o> is in. If <o> is *************** *** 8,20 **** If <o> has no environment, or if <o> is destructed, 0 is returned. ! EXAMPLE If o is a match in a matchbox which is in a box in a chest, in a room, all_environment(o) will return ({ matchbox, box, chest, room }). HISTORY ! Introduced in LDMud 3.2.6, suggested by TubMud. SEE ALSO environment(E), all_inventory(E) --- 8,20 ---- If <o> has no environment, or if <o> is destructed, 0 is returned. ! EXAMPLES If o is a match in a matchbox which is in a box in a chest, in a room, all_environment(o) will return ({ matchbox, box, chest, room }). HISTORY ! Introduced in LDMud 3.2.6, suggested by Tubmud. SEE ALSO environment(E), all_inventory(E) diff -c efun.orig/all_inventory efun/all_inventory *** efun.orig/all_inventory 2009-10-09 16:04:55.000000000 +0000 --- efun/all_inventory 2009-10-18 21:14:49.000000000 +0000 *************** *** 1,6 **** SYNOPSIS ! object *all_inventory() ! object *all_inventory(object ob) DESCRIPTION Returns an array of the objects contained in the inventory of --- 1,6 ---- SYNOPSIS ! object * all_inventory() ! object * all_inventory(object ob) DESCRIPTION Returns an array of the objects contained in the inventory of diff -c efun.orig/allocate efun/allocate *** efun.orig/allocate 2009-10-09 16:04:55.000000000 +0000 --- efun/allocate 2009-10-18 21:14:59.000000000 +0000 *************** *** 1,9 **** SYNOPSIS ! mixed *allocate(int size) ! mixed *allocate(int size, mixed init_value) ! mixed *allocate(int* sizes) ! mixed *allocate(int* sizes, mixed init_value) DESCRIPTION Allocate an array of size elements. The number of elements --- 1,9 ---- SYNOPSIS ! mixed * allocate(int size) ! mixed * allocate(int size, mixed init_value) ! mixed * allocate(int *sizes) ! mixed * allocate(int *sizes, mixed init_value) DESCRIPTION Allocate an array of size elements. The number of elements *************** *** 23,29 **** and initialized by the ({ }) operator. The functions only use is to construct big empty arrays. ! EXAMPLE string *buffer; buffer = allocate(50); buffer = allocate(50, ""); --- 23,29 ---- and initialized by the ({ }) operator. The functions only use is to construct big empty arrays. ! EXAMPLES string *buffer; buffer = allocate(50); buffer = allocate(50, ""); diff -c efun.orig/and_bits efun/and_bits *** efun.orig/and_bits 2009-10-09 16:04:55.000000000 +0000 --- efun/and_bits 2009-10-19 20:49:06.000000000 +0000 *************** *** 1,7 **** SYNOPSIS ! string and_bits (string str1, string str2) ! DESTRIPTION <str1> and <str2> are both bitstrings. The result of the function is a bitstring with the binary-and of <str1> and <str2>, ie. a string in which a bit is set only if both corresponding --- 1,7 ---- SYNOPSIS ! string and_bits(string str1, string str2) ! DESCRIPTION <str1> and <str2> are both bitstrings. The result of the function is a bitstring with the binary-and of <str1> and <str2>, ie. a string in which a bit is set only if both corresponding diff -c efun.orig/assoc efun/assoc *** efun.orig/assoc 2009-10-09 16:04:55.000000000 +0000 --- efun/assoc 2009-10-18 21:15:45.000000000 +0000 *************** *** 1,8 **** OPTIONAL SYNOPSIS ! int assoc (mixed key, mixed *keys) ! mixed assoc (mixed key, mixed *alist [, mixed fail] ) ! mixed assoc (mixed key, mixed *keys, mixed *data [, mixed fail] ) DESCRIPTION All invocation forms search for a <key> in an <alist> (an array --- 1,8 ---- OPTIONAL SYNOPSIS ! int assoc(mixed key, mixed *keys) ! mixed assoc(mixed key, mixed *alist [, mixed fail]) ! mixed assoc(mixed key, mixed *keys, mixed *data [, mixed fail]) DESCRIPTION All invocation forms search for a <key> in an <alist> (an array *************** *** 10,16 **** An attempt to search in any other structure will yield an unpredictable result. ! Complexity: O( lg(n) ) , where n is the number of keys. 1. Form: Key Search --- 10,16 ---- An attempt to search in any other structure will yield an unpredictable result. ! Complexity: O(lg(n)) , where n is the number of keys. 1. Form: Key Search diff -c efun.orig/atan2 efun/atan2 *** efun.orig/atan2 2009-10-09 16:04:55.000000000 +0000 --- efun/atan2 2009-10-19 16:09:37.000000000 +0000 *************** *** 1,5 **** SYNOPSIS ! float atan2 (int|float y, int|float x) DESCRIPTION Returns the angle part of the polar coordinates of the point (x, y) --- 1,5 ---- SYNOPSIS ! float atan2(int|float y, int|float x) DESCRIPTION Returns the angle part of the polar coordinates of the point (x, y) diff -c efun.orig/attach_erq_demon efun/attach_erq_demon *** efun.orig/attach_erq_demon 2009-10-09 16:04:55.000000000 +0000 --- efun/attach_erq_demon 2009-10-19 16:09:47.000000000 +0000 *************** *** 1,5 **** SYNOPSIS ! int attach_erq_demon(object ob, int do_close) int attach_erq_demon(string obname, int do_close) DESCRIPTION --- 1,5 ---- SYNOPSIS ! int attach_erq_demon(object ob, int do_close) int attach_erq_demon(string obname, int do_close) DESCRIPTION *************** *** 16,23 **** the filename ERQFILE<obname>, which is then the binary to be forked off as new erq demon. The communication with this erq will take place over unix domain sockets. ERQFILE defaults to ! BINDIR/erq, where BINDIR is the configuration value for the ! executable directory. If there is alreay an erq demon connected to the driver, the function will fail unless 'do_close' (default 0) is specified --- 16,23 ---- the filename ERQFILE<obname>, which is then the binary to be forked off as new erq demon. The communication with this erq will take place over unix domain sockets. ERQFILE defaults to ! BINDIR/erq, where BINDIR is the configuration value for the ! executable directory. If there is alreay an erq demon connected to the driver, the function will fail unless 'do_close' (default 0) is specified *************** *** 25,31 **** be closed before attaching the new. The efun returns 1 on success, else 0. ! EXAMPLE To restart the (default) erq, write in master.c::stale_erq(closure c): attach_erq_demon("", 0); --- 25,31 ---- be closed before attaching the new. The efun returns 1 on success, else 0. ! EXAMPLES To restart the (default) erq, write in master.c::stale_erq(closure c): attach_erq_demon("", 0); diff -c efun.orig/baseof efun/baseof *** efun.orig/baseof 2009-10-09 16:04:55.000000000 +0000 --- efun/baseof 2009-10-19 16:09:53.000000000 +0000 *************** *** 1,5 **** SYNOPSIS ! int baseof (struct b, struct s) DESCRIPTION Test if the type of struct <b> is a base of struct <s> (the --- 1,5 ---- SYNOPSIS ! int baseof(struct b, struct s) DESCRIPTION Test if the type of struct <b> is a base of struct <s> (the diff -c efun.orig/blueprint efun/blueprint *** efun.orig/blueprint 2009-10-09 16:04:55.000000000 +0000 --- efun/blueprint 2009-10-19 16:11:35.000000000 +0000 *************** *** 1,7 **** PRELIMINARY SYNOPSIS ! object blueprint () ! object blueprint (string|object ob) DESCRIPTION The efuns returns the blueprint for the given object <ob>, or for --- 1,7 ---- PRELIMINARY SYNOPSIS ! object blueprint() ! object blueprint(string|object ob) DESCRIPTION The efuns returns the blueprint for the given object <ob>, or for *************** *** 12,17 **** --- 12,18 ---- For objects with replaced programs, the efun returns the blueprint for the replacement program. + In COMPAT mode the returned blueprint does not start with a "/". EXAMPLES blueprint("/std/thing")) -> /std/thing *************** *** 19,25 **** blueprint(clone_object("/std/thing")) -> /std/thing HISTORY ! Introduced in LDMud 3.2.9 . SEE ALSO clones(E), clone_object(E) --- 20,26 ---- blueprint(clone_object("/std/thing")) -> /std/thing HISTORY ! Introduced in LDMud 3.2.9. SEE ALSO clones(E), clone_object(E) diff -c efun.orig/call_direct efun/call_direct *** efun.orig/call_direct 2009-10-09 16:04:55.000000000 +0000 --- efun/call_direct 2009-10-18 21:15:56.000000000 +0000 *************** *** 1,10 **** SYNOPSIS ! unknown call_direct (object ob, string fun, mixed arg, ...) ! unknown call_direct (object *ob, string fun, mixed arg, ...) DESCRIPTION ! Call a member function <fun> in another object <ob> with an ! the argument(s) <arg...>. Result is the value returned from the called function (or 0 for non-existing or void functions). This efun is a twin to call_other(), with the difference --- 1,10 ---- SYNOPSIS ! unknown call_direct(object ob, string fun, mixed arg, ...) ! unknown call_direct(object *ob, string fun, mixed arg, ...) DESCRIPTION ! Call a member function <fun> in another object <ob> with ! argument(s) <arg...>. Result is the value returned from the called function (or 0 for non-existing or void functions). This efun is a twin to call_other(), with the difference *************** *** 47,52 **** --- 47,53 ---- 'unknown', and the result of call_other() must be casted to the appropriate type before you can use it for anything. + EXAMPLES // All the following statements call the lfun QueryProp() // in the current player with the argument P_SHORT. *************** *** 61,67 **** // This statement calls the lfun short() in all interactive users // and stores the collected results in a variable. ! string * s; s = (string *)call_direct(users(), "short"); --- 62,68 ---- // This statement calls the lfun short() in all interactive users // and stores the collected results in a variable. ! string *s; s = (string *)call_direct(users(), "short"); diff -c efun.orig/caller_stack efun/caller_stack *** efun.orig/caller_stack 2009-10-09 16:04:55.000000000 +0000 --- efun/caller_stack 2009-10-18 21:43:00.000000000 +0000 *************** *** 1,6 **** SYNOPSIS ! object *caller_stack() ! object *caller_stack(int add_interactive) DESCRIPTION Returns an array of the previous_object()s who caused the --- 1,6 ---- SYNOPSIS ! object * caller_stack() ! object * caller_stack(int add_interactive) DESCRIPTION Returns an array of the previous_object()s who caused the *************** *** 16,22 **** from the closure object: the first is for the bound object, the second for the closure object. ! EXAMPLE interactive object A enters a command which causes a call to a function in object B, that one calls a function in object C and that, in turn, in object D --- 16,22 ---- from the closure object: the first is for the bound object, the second for the closure object. ! EXAMPLES interactive object A enters a command which causes a call to a function in object B, that one calls a function in object C and that, in turn, in object D *************** *** 25,31 **** If it calls caller_stack(1) the result is: ({C,B,A}). HISTORY ! Introduced in LDMud 3.2.6, suggested by TubMud. SEE ALSO caller_stack_depth(E), previous_object(E), this_interactive(E), --- 25,31 ---- If it calls caller_stack(1) the result is: ({C,B,A}). HISTORY ! Introduced in LDMud 3.2.6, suggested by Tubmud. SEE ALSO caller_stack_depth(E), previous_object(E), this_interactive(E), diff -c efun.orig/call_other efun/call_other *** efun.orig/call_other 2009-10-09 16:04:55.000000000 +0000 --- efun/call_other 2009-10-19 19:21:38.000000000 +0000 *************** *** 53,59 **** the appropriate type before you can use it for anything. EXAMPLES - // All the following statements call the lfun QueryProp() // in the current player with the argument P_SHORT. string str, fun; --- 53,58 ---- *************** *** 72,82 **** // This statement calls the lfun short() in all interactive users // and stores the collected results in a variable. ! string * s; s = (string *)users()->short(); - !Compat: call_other("/users/luser/thing", "???", 0); Compat: call_other("users/luser/thing", "???", 0); --- 71,80 ---- // This statement calls the lfun short() in all interactive users // and stores the collected results in a variable. ! string *s; s = (string *)users()->short(); !Compat: call_other("/users/luser/thing", "???", 0); Compat: call_other("users/luser/thing", "???", 0); *************** *** 93,99 **** - a simul_efun call_other() also catches ->() calls. - call_other can be applied on arrays of objects. LDMud 3.2.10 made the call on arrays of objects configurable. - LDMud 3.3.113 introduced the H_DEFAULT_METHOD hook. SEE ALSO --- 91,96 ---- diff -c efun.orig/call_out efun/call_out *** efun.orig/call_out 2009-10-09 16:04:55.000000000 +0000 --- efun/call_out 2009-10-15 21:20:45.000000000 +0000 *************** *** 32,38 **** If two call_out()s were started with the same target time the one that was issued first will be executed first. ! EXAMPLE call_out("RefreshMe", 10); This will call the function RefreshMe() in 10 seconds without --- 32,38 ---- If two call_out()s were started with the same target time the one that was issued first will be executed first. ! EXAMPLES call_out("RefreshMe", 10); This will call the function RefreshMe() in 10 seconds without diff -c efun.orig/call_out_info efun/call_out_info *** efun.orig/call_out_info 2009-10-09 16:04:55.000000000 +0000 --- efun/call_out_info 2009-10-18 21:16:19.000000000 +0000 *************** *** 1,5 **** SYNOPSIS ! mixed *call_out_info(void) DESCRIPTION Get information about all pending call outs. The result is an --- 1,5 ---- SYNOPSIS ! mixed * call_out_info(void) DESCRIPTION Get information about all pending call outs. The result is an diff -c efun.orig/cat efun/cat *** efun.orig/cat 2009-10-09 16:04:55.000000000 +0000 --- efun/cat 2009-10-15 21:20:51.000000000 +0000 *************** *** 23,29 **** code. Use either a combination of read_bytes() + tell_object() or the sefun cat() from the driver package. ! EXAMPLE cat("/doc/efun/cat", 5, 9); This will print out the file "/doc/efun/cat" begining at line --- 23,29 ---- code. Use either a combination of read_bytes() + tell_object() or the sefun cat() from the driver package. ! EXAMPLES cat("/doc/efun/cat", 5, 9); This will print out the file "/doc/efun/cat" begining at line diff -c efun.orig/catch efun/catch *** efun.orig/catch 2009-10-09 16:04:55.000000000 +0000 --- efun/catch 2009-10-19 16:12:11.000000000 +0000 *************** *** 1,6 **** SYNOPSIS ! mixed catch (expr, expr, ...) ! mixed catch (expr, expr, ... ; modifiers) DESCRIPTION Evaluate the expressions. If there is no error, 0 is returned. --- 1,6 ---- SYNOPSIS ! mixed catch(expr, expr, ...) ! mixed catch(expr, expr, ... ; modifiers) DESCRIPTION Evaluate the expressions. If there is no error, 0 is returned. *************** *** 43,51 **** of whether they are caught or not, as they include the generation of the stack backtrace. ! catch() is not really an efun, but a compiler directive. ! EXAMPLE object obj; string err; if (err = catch(obj = clone_object("/foo/bar/baz"))) --- 43,51 ---- of whether they are caught or not, as they include the generation of the stack backtrace. ! catch() is not really an efun but a compiler directive. ! EXAMPLES object obj; string err; if (err = catch(obj = clone_object("/foo/bar/baz"))) diff -c efun.orig/ceil efun/ceil *** efun.orig/ceil 2009-10-09 16:04:55.000000000 +0000 --- efun/ceil 2009-10-19 20:47:40.000000000 +0000 *************** *** 1,5 **** SYNOPSIS ! float ceil (int|float arg) DESCRIPTION Round the <arg>ument upwards the nearest whole number, returning --- 1,5 ---- SYNOPSIS ! float ceil(int|float arg) DESCRIPTION Round the <arg>ument upwards the nearest whole number, returning *************** *** 7,15 **** be that value, converted to float. EXAMPLES ! ceil(4.5) - return 5.0 ! ceil(-4.5) - return -4.0 ! ceil(4) - return 4.0 HISTORY Introduced in LDMud 3.2.7. --- 7,15 ---- be that value, converted to float. EXAMPLES ! ceil(4.5) - returns 5.0 ! ceil(-4.5) - returns -4.0 ! ceil(4) - returns 4.0 HISTORY Introduced in LDMud 3.2.7. diff -c efun.orig/clone_object efun/clone_object *** efun.orig/clone_object 2009-10-09 16:04:55.000000000 +0000 --- efun/clone_object 2009-10-15 21:21:07.000000000 +0000 *************** *** 40,46 **** In the absence of share_variables, variables without explicit initializers are initialized to 0. ! EXAMPLE // Clone a torch (filename in non-compat format) object torch; torch = clone_object("/obj/torch"); --- 40,47 ---- In the absence of share_variables, variables without explicit initializers are initialized to 0. ! ! EXAMPLES // Clone a torch (filename in non-compat format) object torch; torch = clone_object("/obj/torch"); diff -c efun.orig/clonep efun/clonep *** efun.orig/clonep 2009-10-09 16:04:55.000000000 +0000 --- efun/clonep 2009-10-19 16:12:25.000000000 +0000 *************** *** 1,8 **** SYNOPSIS ! int clonep () ! int clonep (object obj) ! int clonep (string obj) ! int clonep (mixed arg) DESCRIPTION The efun returns 1 if <obj> is a clone, and 0 if it is not. --- 1,8 ---- SYNOPSIS ! int clonep() ! int clonep(object obj) ! int clonep(string obj) ! int clonep(mixed arg) DESCRIPTION The efun returns 1 if <obj> is a clone, and 0 if it is not. *************** *** 11,17 **** Arguments of other types return 0. Objects with replaced programs no longer count as clones. ! EXAMPLE object o; o = clone_object("/std/thing"); write(clonep(o)); --> writes "1" --- 11,17 ---- Arguments of other types return 0. Objects with replaced programs no longer count as clones. ! EXAMPLES object o; o = clone_object("/std/thing"); write(clonep(o)); --> writes "1" diff -c efun.orig/clones efun/clones *** efun.orig/clones 2009-10-09 16:04:55.000000000 +0000 --- efun/clones 2009-10-19 16:12:44.000000000 +0000 *************** *** 1,7 **** SYNOPSIS ! object* clones () ! object* clones (int what) ! object* clones (string|object obj [, int what]) DESCRIPTION The efuns returns an array with all clones of a certain blueprint. --- 1,7 ---- SYNOPSIS ! object * clones() ! object * clones(int what) ! object * clones(string|object obj [, int what]) DESCRIPTION The efuns returns an array with all clones of a certain blueprint. *************** *** 23,31 **** If the driver is compiled with DYNAMIC_COSTS, the cost of this efun is proportional to the number of objects in the game. ! EXAMPLE object o, p; ! o = clone_object("/std/thing"); /* or "std/thing" in COMPAT_MODE */ destruct(find_object("/std/thing")); p = clone_object("/std/thing"); --- 23,31 ---- If the driver is compiled with DYNAMIC_COSTS, the cost of this efun is proportional to the number of objects in the game. ! EXAMPLES object o, p; ! o = clone_object("/std/thing"); /* or "std/thing" in COMPAT mode */ destruct(find_object("/std/thing")); p = clone_object("/std/thing"); diff -c efun.orig/command_stack efun/command_stack *** efun.orig/command_stack 2009-10-09 16:04:55.000000000 +0000 --- efun/command_stack 2009-10-18 20:46:51.000000000 +0000 *************** *** 1,5 **** SYNOPSIS ! #include <sys/commands.h> mixed * command_stack(void) --- 1,5 ---- SYNOPSIS ! #include <commands.h> mixed * command_stack(void) diff -c efun.orig/configure_driver efun/configure_driver *** efun.orig/configure_driver 2009-10-09 16:04:55.000000000 +0000 --- efun/configure_driver 2009-10-19 16:12:55.000000000 +0000 *************** *** 1,7 **** SYNOPSIS ! #include <sys/configuration.h> ! void configure_driver (int what, mixed data) DESCRIPTION Sets the option <what> to the value <data>. --- 1,7 ---- SYNOPSIS ! #include <configuration.h> ! void configure_driver(int what, mixed data) DESCRIPTION Sets the option <what> to the value <data>. *************** *** 15,20 **** --- 15,21 ---- be integers giving the amount of memory in bytes. ({<soft memory limit>, <hard memory limit>}) + HISTORY Introduced in LDMud 3.3.719. diff -c efun.orig/configure_interactive efun/configure_interactive *** efun.orig/configure_interactive 2009-10-09 16:04:55.000000000 +0000 --- efun/configure_interactive 2009-10-19 16:12:57.000000000 +0000 *************** *** 1,15 **** SYNOPSIS ! #include <sys/configuration.h> ! void configure_interactive (object ob, int what, mixed data) DESCRIPTION Sets the option <what> to the value <data> on the interactive <ob> or the default for all interactives if <ob> is 0. ! If the first argument <ob> is not this_object(), the privilege violation ! ("configure_interactive", this_object(), ob, what, data) occurs. <what> == IC_MAX_WRITE_BUFFER_SIZE --- 1,17 ---- SYNOPSIS ! #include <configuration.h> ! void configure_interactive(object ob, int what, mixed data) DESCRIPTION Sets the option <what> to the value <data> on the interactive <ob> or the default for all interactives if <ob> is 0. ! If the first argument <ob> is not this_object(), the privilege ! violation ("configure_interactive", this_object(), ob, what, data) ! occurs. + As <what>, the following arguments are accepted: <what> == IC_MAX_WRITE_BUFFER_SIZE *************** *** 17,22 **** --- 19,25 ---- per player to <data> bytes. A value of -1 means unlimited, 0 deactivates the write buffer. + HISTORY Introduced in LDMud 3.3.719. diff -c efun.orig/convert_charset efun/convert_charset *** efun.orig/convert_charset 2009-10-09 16:04:55.000000000 +0000 --- efun/convert_charset 2009-10-19 16:13:05.000000000 +0000 *************** *** 84,93 **** RISCOS-LATIN1 ! EXAMPLE convert_charset("Hi!", "ascii", "utf-8") HISTORY ! Introduced in LDMud 3.3.531 . SEE ALSO --- 84,93 ---- RISCOS-LATIN1 ! EXAMPLES convert_charset("Hi!", "ascii", "utf-8") HISTORY ! Introduced in LDMud 3.3.531. SEE ALSO diff -c efun.orig/copy efun/copy *** efun.orig/copy 2009-10-09 16:04:55.000000000 +0000 --- efun/copy 2009-10-18 21:16:30.000000000 +0000 *************** *** 1,5 **** SYNOPSIS ! mixed copy (mixed arg) DESCRIPTION Create a shallow copy of <arg> and return it. For arrays and mappings --- 1,5 ---- SYNOPSIS ! mixed copy(mixed arg) DESCRIPTION Create a shallow copy of <arg> and return it. For arrays and mappings *************** *** 8,14 **** For other values this function is a no-op. ! EXAMPLE mixed *a, *b; a = ({ 1, ({ 21, 22 }) }); --- 8,14 ---- For other values this function is a no-op. ! EXAMPLES mixed *a, *b; a = ({ 1, ({ 21, 22 }) }); diff -c efun.orig/copy_bits efun/copy_bits *** efun.orig/copy_bits 2009-10-09 16:04:55.000000000 +0000 --- efun/copy_bits 2009-10-19 16:13:24.000000000 +0000 *************** *** 1,7 **** SYNOPSIS string copy_bits(string src, string dest ! [, int srcstart [, int deststart [, int copylen ]]] ! ) DESCRIPTION Copy the bitrange [<srcstart>..<srcstart>+<copylen>[ from --- 1,6 ---- SYNOPSIS string copy_bits(string src, string dest ! [, int srcstart [, int deststart [, int copylen ]]]) DESCRIPTION Copy the bitrange [<srcstart>..<srcstart>+<copylen>[ from *************** *** 36,42 **** (The src[]/dest[] is just for explanatory purposes!) HISTORY ! Introduced in LDMud 3.3.166 SEE ALSO clear_bit(E), set_bit(E), test_bit(E), next_bit(E), last_bit(E), --- 35,41 ---- (The src[]/dest[] is just for explanatory purposes!) HISTORY ! Introduced in LDMud 3.3.166. SEE ALSO clear_bit(E), set_bit(E), test_bit(E), next_bit(E), last_bit(E), diff -c efun.orig/copy_file efun/copy_file *** efun.orig/copy_file 2009-10-09 16:04:55.000000000 +0000 --- efun/copy_file 2009-10-15 21:21:40.000000000 +0000 *************** *** 12,18 **** On successfull completion copy_file() will return 0. If any error occurs, a non-zero value is returned. ! EXAMPLE copy_file("/players/wizard/obj.c", "/players/wizard/newobj.c"); HISTORY --- 12,18 ---- On successfull completion copy_file() will return 0. If any error occurs, a non-zero value is returned. ! EXAMPLES copy_file("/players/wizard/obj.c", "/players/wizard/newobj.c"); HISTORY diff -c efun.orig/count_bits efun/count_bits *** efun.orig/count_bits 2009-10-09 16:04:55.000000000 +0000 --- efun/count_bits 2009-10-19 20:49:11.000000000 +0000 *************** *** 1,7 **** SYNOPSIS ! int count_bits (string str) ! DESTRIPTION Count the number of set bits in bitstring <str> and return the number as result. --- 1,7 ---- SYNOPSIS ! int count_bits(string str) ! DESCRIPTION Count the number of set bits in bitstring <str> and return the number as result. diff -c efun.orig/ctime efun/ctime *** efun.orig/ctime 2009-10-09 16:04:55.000000000 +0000 --- efun/ctime 2009-10-18 21:11:17.000000000 +0000 *************** *** 1,6 **** SYNOPSIS string ctime(int clock) ! string ctime(int* uclock) DESCRIPTION Interpret the argument clock as number of seconds since Jan, --- 1,6 ---- SYNOPSIS string ctime(int clock) ! string ctime(int *uclock) DESCRIPTION Interpret the argument clock as number of seconds since Jan, *************** *** 12,18 **** of seconds like before, int[1] is the number of microseconds within that second. ! EXAMPLE write(ctime()+"\n"); This will print out something like "Fri Jul 17 19:13:33 1992". --- 12,18 ---- of seconds like before, int[1] is the number of microseconds within that second. ! EXAMPLES write(ctime()+"\n"); This will print out something like "Fri Jul 17 19:13:33 1992". diff -c efun.orig/db_coldefs efun/db_coldefs *** efun.orig/db_coldefs 2009-10-09 16:04:55.000000000 +0000 --- efun/db_coldefs 2009-10-19 16:13:40.000000000 +0000 *************** *** 1,6 **** OPTIONAL SYNOPSIS ! string * db_coldefs (int handle) DESCRIPTION Return an array with the column names of the current table. --- 1,6 ---- OPTIONAL SYNOPSIS ! string * db_coldefs(int handle) DESCRIPTION Return an array with the column names of the current table. *************** *** 13,19 **** The efun triggers a privilege violation ("mysql", "db_coldefs"). HISTORY ! Added in 3.2.9 . LDMud 3.2.11 added the privilege violation. SEE ALSO --- 13,19 ---- The efun triggers a privilege violation ("mysql", "db_coldefs"). HISTORY ! Added in 3.2.9. LDMud 3.2.11 added the privilege violation. SEE ALSO diff -c efun.orig/db_handles efun/db_handles *** efun.orig/db_handles 2009-10-09 16:04:55.000000000 +0000 --- efun/db_handles 2009-10-18 21:16:52.000000000 +0000 *************** *** 1,6 **** OPTIONAL SYNOPSIS ! int *db_handles() DESCRIPTION Returns an array with all open handles to the SQL-server. --- 1,6 ---- OPTIONAL SYNOPSIS ! int * db_handles() DESCRIPTION Returns an array with all open handles to the SQL-server. diff -c efun.orig/db_insert_id efun/db_insert_id *** efun.orig/db_insert_id 2009-10-09 16:04:55.000000000 +0000 --- efun/db_insert_id 2009-10-19 16:13:43.000000000 +0000 *************** *** 1,6 **** OPTIONAL SYNOPSIS ! int db_insert_id (int handle) DESCRIPTION After inserting a line into a table with an AUTO_INCREMENT field, --- 1,6 ---- OPTIONAL SYNOPSIS ! int db_insert_id(int handle) DESCRIPTION After inserting a line into a table with an AUTO_INCREMENT field, diff -c efun.orig/debug_info efun/debug_info *** efun.orig/debug_info 2009-10-09 16:04:55.000000000 +0000 --- efun/debug_info 2009-10-18 20:47:33.000000000 +0000 *************** *** 1,5 **** SYNOPSIS ! #include <sys/debug_info.h> mixed debug_info(int flag) mixed debug_info(int flag, mixed arg) --- 1,5 ---- SYNOPSIS ! #include <debug_info.h> mixed debug_info(int flag) mixed debug_info(int flag, mixed arg) *************** *** 101,107 **** NOTE: Make sure that this option can't be abused! - DINFO_DATA (6): Return raw information about an aspect of the driver specified by <arg2>. The result of the function is an array with the information, or 0 for unsupported values --- 101,106 ---- *************** *** 631,637 **** LDMud 3.3.679 removed DID_ST_IT_OVERHEAD and DID_ST_ITABLED*; added DID_ST_HYBRID_MAPPINGS and DID_ST_HASH_MAPPINGS. LDMud 3.3.718 added DIT_CURRENT_DEPTH to DINFO_TRACE. ! LDMud 3.3.719 added DINFO_EVAL_NUMBER SEE ALSO trace(E), traceprefix(E), malloc(D), status(D), dumpallobj(D) --- 630,636 ---- LDMud 3.3.679 removed DID_ST_IT_OVERHEAD and DID_ST_ITABLED*; added DID_ST_HYBRID_MAPPINGS and DID_ST_HASH_MAPPINGS. LDMud 3.3.718 added DIT_CURRENT_DEPTH to DINFO_TRACE. ! LDMud 3.3.719 added DINFO_EVAL_NUMBER. SEE ALSO trace(E), traceprefix(E), malloc(D), status(D), dumpallobj(D) diff -c efun.orig/debug_message efun/debug_message *** efun.orig/debug_message 2009-10-09 16:04:55.000000000 +0000 --- efun/debug_message 2009-10-19 19:27:44.000000000 +0000 *************** *** 1,5 **** SYNOPSIS ! #include <sys/debug_message.h> void debug_message(string text) void debug_message(string text, int flags) --- 1,5 ---- SYNOPSIS ! #include <debug_message.h> void debug_message(string text) void debug_message(string text, int flags) *************** *** 18,24 **** If <flags> is given as 0, left out, or contains no target definition, debug_message() will print to stdout and to the logfile. ! EXAMPLE debug_message("This goes to stdout and the logfile.\n"); debug_message("This goes to stderr.\n", DMSG_STDERR); debug_message("This goes to stdout and stderr.\n" --- 18,25 ---- If <flags> is given as 0, left out, or contains no target definition, debug_message() will print to stdout and to the logfile. ! ! EXAMPLES debug_message("This goes to stdout and the logfile.\n"); debug_message("This goes to stderr.\n", DMSG_STDERR); debug_message("This goes to stdout and stderr.\n" *************** *** 30,36 **** , DMSG_STDOUT | DMSG_STAMP); HISTORY ! Introduced in 3.2.1@34 LDMud 3.2.9 introduced the <flags> parameter. SEE ALSO --- 31,37 ---- , DMSG_STDOUT | DMSG_STAMP); HISTORY ! Introduced in 3.2.1@34. LDMud 3.2.9 introduced the <flags> parameter. SEE ALSO diff -c efun.orig/deep_copy efun/deep_copy *** efun.orig/deep_copy 2009-10-09 16:04:55.000000000 +0000 --- efun/deep_copy 2009-10-18 21:17:04.000000000 +0000 *************** *** 1,5 **** SYNOPSIS ! mixed deep_copy (mixed arg) DESCRIPTION Create a deep copy of <arg> and return it. For arrays and mappings --- 1,5 ---- SYNOPSIS ! mixed deep_copy(mixed arg) DESCRIPTION Create a deep copy of <arg> and return it. For arrays and mappings *************** *** 11,17 **** If DYNAMIC_COST is defined, every nested mapping or array counts towards the evaluation cost in both size and nesting depth. ! EXAMPLE mixed *a, *b; a = ({ 1, ({ 21, 22 }) }); --- 11,17 ---- If DYNAMIC_COST is defined, every nested mapping or array counts towards the evaluation cost in both size and nesting depth. ! EXAMPLES mixed *a, *b; a = ({ 1, ({ 21, 22 }) }); diff -c efun.orig/deep_inventory efun/deep_inventory *** efun.orig/deep_inventory 2009-10-09 16:04:55.000000000 +0000 --- efun/deep_inventory 2009-10-18 21:19:29.000000000 +0000 *************** *** 1,7 **** SYNOPSIS ! object *deep_inventory(void) ! object *deep_inventory(object ob) ! object *deep_inventory(object ob, int depth) DESCRIPTION Returns an array of the objects contained in the inventory of --- 1,7 ---- SYNOPSIS ! object * deep_inventory(void) ! object * deep_inventory(object ob) ! object * deep_inventory(object ob, int depth) DESCRIPTION Returns an array of the objects contained in the inventory of *************** *** 12,35 **** <depth> > 0: Only the objects in the first <depth> levels of inventory are returned. ! <depth> < 0: Only the object in level -<depth> of inventory are returned. In this, level '1' is the inventory of <ob> itself. ! EXAMPLE ob +- ob1 +- ob2 ! | +- ob21 | ob3 ! | +- ob31 +- ob4 ! ! deep_inventory(ob) => ({ob1, ob2, ob3, ob4, ob21, ob31}) ! deep_inventory(ob, 1) => ({ob1, ob2, ob3, ob4}) ! deep_inventory(ob, 2) => ({ob1, ob2, ob3, ob4, ob21, ob31}) deep_inventory(ob, -2) => ({ob21, ob31}) HISTORY --- 12,36 ---- <depth> > 0: Only the objects in the first <depth> levels of inventory are returned. ! <depth> < 0: Only the objects in level -<depth> of inventory are returned. In this, level '1' is the inventory of <ob> itself. ! EXAMPLES ! Given the following inventory structure ! ob +- ob1 +- ob2 ! | `- ob21 | ob3 ! | `- ob31 +- ob4 ! deep_inventory(ob) => ({ob1, ob2, ob3, ob4, ob21, ob31}) ! deep_inventory(ob, 1) => ({ob1, ob2, ob3, ob4}) ! deep_inventory(ob, 2) => ({ob1, ob2, ob3, ob4, ob21, ob31}) deep_inventory(ob, -2) => ({ob21, ob31}) HISTORY diff -c efun.orig/destruct efun/destruct *** efun.orig/destruct 2009-10-09 16:04:55.000000000 +0000 --- efun/destruct 2009-10-15 21:21:57.000000000 +0000 *************** *** 28,34 **** although the object is not visible anywhere anymore from outside. ! EXAMPLE ob->remove(); if(ob) /* still there, probably ob does not provide remove() */ destruct(ob); --- 28,34 ---- although the object is not visible anywhere anymore from outside. ! EXAMPLES ob->remove(); if(ob) /* still there, probably ob does not provide remove() */ destruct(ob); diff -c efun.orig/efun efun/efun *** efun.orig/efun 2009-10-09 16:04:55.000000000 +0000 --- efun/efun 2009-10-19 16:15:05.000000000 +0000 *************** *** 48,59 **** - 'deprecated' or 'obsolete' make_shared_string() md5() sha1() - These efuns should no longer be used, they are merely provided - for backwards compatibility: SEE ALSO efuns(LPC), applied(A), master(M), lpc(LPC), concepts(C), driver(D) --- 48,60 ---- - 'deprecated' or 'obsolete' + These efuns should no longer be used, they are merely provided + for backwards compatibility: + make_shared_string() md5() sha1() SEE ALSO efuns(LPC), applied(A), master(M), lpc(LPC), concepts(C), driver(D) diff -c efun.orig/enable_commands efun/enable_commands *** efun.orig/enable_commands 2009-10-09 16:04:55.000000000 +0000 --- efun/enable_commands 2009-10-15 21:22:02.000000000 +0000 *************** *** 9,15 **** create() (or reset(0) in compat mode), because the command giver will be set to this object. ! EXAMPLE void create() { enable_commands(); set_living_name("dummymonster"); --- 9,15 ---- create() (or reset(0) in compat mode), because the command giver will be set to this object. ! EXAMPLES void create() { enable_commands(); set_living_name("dummymonster"); diff -c efun.orig/enable_telnet efun/enable_telnet *** efun.orig/enable_telnet 2009-10-09 16:04:55.000000000 +0000 --- efun/enable_telnet 2009-10-19 16:20:08.000000000 +0000 *************** *** 1,5 **** SYNOPSIS ! int enable_telnet (int num, object obj = this_interactive() ) DESCRIPTION Enable or disable the telnet machine for the interactive object <obj>. --- 1,6 ---- SYNOPSIS ! int enable_telnet(int num) ! int enable_telnet(int num, object obj) DESCRIPTION Enable or disable the telnet machine for the interactive object <obj>. diff -c efun.orig/environment efun/environment *** efun.orig/environment 2009-10-09 16:04:55.000000000 +0000 --- efun/environment 2009-10-15 21:22:04.000000000 +0000 *************** *** 10,16 **** Destructed objects do not have an environment. ! EXAMPLE object room; room = environment(this_player()); --- 10,16 ---- Destructed objects do not have an environment. ! EXAMPLES object room; room = environment(this_player()); diff -c efun.orig/exec efun/exec *** efun.orig/exec 2009-10-09 16:04:55.000000000 +0000 --- efun/exec 2009-10-15 21:22:08.000000000 +0000 *************** *** 27,33 **** bind_lambda() to bind #'exec to the real object and funcall() the resulting closure. ! EXAMPLE ob = clone_object("std/player"); exec(ob, this_object()); destruct(this_object()); --- 27,33 ---- bind_lambda() to bind #'exec to the real object and funcall() the resulting closure. ! EXAMPLES ob = clone_object("std/player"); exec(ob, this_object()); destruct(this_object()); diff -c efun.orig/execute_command efun/execute_command *** efun.orig/execute_command 2009-10-09 16:04:55.000000000 +0000 --- efun/execute_command 2009-10-19 16:17:04.000000000 +0000 *************** *** 1,6 **** SYNOPSIS ! ! int execute_command (string command, object origin, object player) DESCRIPTION Low-level access to the command parser: take the <command>, parse it --- 1,5 ---- SYNOPSIS ! int execute_command(string command, object origin, object player) DESCRIPTION Low-level access to the command parser: take the <command>, parse it *************** *** 21,27 **** but must be evaluated by the caller. HISTORY ! Introduced in LDMud 3.2.7 SEE ALSO hooks(C), match_command(E), command(E), notify_fail(E), --- 20,26 ---- but must be evaluated by the caller. HISTORY ! Introduced in LDMud 3.2.7. SEE ALSO hooks(C), match_command(E), command(E), notify_fail(E), diff -c efun.orig/expand_define efun/expand_define *** efun.orig/expand_define 2009-10-09 16:04:55.000000000 +0000 --- efun/expand_define 2009-10-19 16:17:10.000000000 +0000 *************** *** 1,6 **** SYNOPSIS ! string expand_define (string name) ! string expand_define (string name, string arg, ...) DESCRIPTION Expands the macro <name> with the argument(s) <arg>... (default is --- 1,6 ---- SYNOPSIS ! string expand_define(string name) ! string expand_define(string name, string arg, ...) DESCRIPTION Expands the macro <name> with the argument(s) <arg>... (default is *************** *** 13,19 **** H_INCLUDE_DIRS driver hook, or the masters runtime_error() function. ! EXAMPLE While compiling 'foo.c': expand_define("__FILE__") --> "foo.c" --- 13,19 ---- H_INCLUDE_DIRS driver hook, or the masters runtime_error() function. ! EXAMPLES While compiling 'foo.c': expand_define("__FILE__") --> "foo.c" diff -c efun.orig/explode efun/explode *** efun.orig/explode 2009-10-09 16:04:55.000000000 +0000 --- efun/explode 2009-10-18 21:19:53.000000000 +0000 *************** *** 1,5 **** SYNOPSIS ! string *explode(string str, string del) DESCRIPTION Return an array of strings, created when the string str is split --- 1,5 ---- SYNOPSIS ! string * explode(string str, string del) DESCRIPTION Return an array of strings, created when the string str is split diff -c efun.orig/file_size efun/file_size *** efun.orig/file_size 2009-10-09 16:04:55.000000000 +0000 --- efun/file_size 2009-10-15 21:07:25.000000000 +0000 *************** *** 1,5 **** SYNOPSIS ! #include <sys/files.h> int file_size(string file) --- 1,5 ---- SYNOPSIS ! #include <files.h> int file_size(string file) *************** *** 10,14 **** --- 10,15 ---- or that it is not readable for the calling object/user. Size FSIZE_DIR (-2) indicates that it is a directory. + SEE ALSO write_file(E), cat(E), get_dir(E) diff -c efun.orig/filter efun/filter *** efun.orig/filter 2009-10-09 16:04:55.000000000 +0000 --- efun/filter 2009-10-19 16:17:45.000000000 +0000 *************** *** 1,17 **** SYNOPSIS ! mixed * filter (mixed *arg, string fun, string|object ob ! , mixed extra...) ! mixed * filter (mixed *arg, closure cl, mixed extra...) ! mixed * filter (mixed *arg, mapping map, mixed extra...) ! ! string filter (string arg, string fun, string|object ob ! , mixed extra...) ! string filter (string arg, closure cl, mixed extra...) ! string filter (string arg, mapping map, mixed extra...) ! ! mapping filter (mapping arg, string func, string|object ob ! , mixed extra...) ! mapping filter (mapping arg, closure cl, mixed extra...) DESCRIPTION Call the function <ob>-><func>() resp. the closure <cl> for --- 1,17 ---- SYNOPSIS ! mixed * filter(mixed *arg, string fun, string|object ob ! , mixed extra...) ! mixed * filter(mixed *arg, closure cl, mixed extra...) ! mixed * filter(mixed *arg, mapping map, mixed extra...) ! ! string filter(string arg, string fun, string|object ob ! , mixed extra...) ! string filter(string arg, closure cl, mixed extra...) ! string filter(string arg, mapping map, mixed extra...) ! ! mapping filter(mapping arg, string func, string|object ob ! , mixed extra...) ! mapping filter(mapping arg, closure cl, mixed extra...) DESCRIPTION Call the function <ob>-><func>() resp. the closure <cl> for diff -c efun.orig/filter_objects efun/filter_objects *** efun.orig/filter_objects 2009-10-09 16:04:55.000000000 +0000 --- efun/filter_objects 2009-10-18 21:20:14.000000000 +0000 *************** *** 1,5 **** SYNOPSIS ! object *filter_objects(object *arr, string fun, mixed extra, ...) DESCRIPTION Similar to filter_array() but calls arr[n]->fun(extra, ...). --- 1,5 ---- SYNOPSIS ! object * filter_objects(object *arr, string fun, mixed extra, ...) DESCRIPTION Similar to filter_array() but calls arr[n]->fun(extra, ...). diff -c efun.orig/find_input_to efun/find_input_to *** efun.orig/find_input_to 2009-10-09 16:04:55.000000000 +0000 --- efun/find_input_to 2009-10-19 16:17:52.000000000 +0000 *************** *** 1,8 **** SYNOPSIS ! int find_input_to (object player, string fun) ! int find_input_to (object player, closure fun) ! int find_input_to (object player, object fun) ! int find_input_to (object player, object ob, string fun) DESCRIPTION Find the input_to most recently added to the interactive <player> --- 1,8 ---- SYNOPSIS ! int find_input_to(object player, string fun) ! int find_input_to(object player, closure fun) ! int find_input_to(object player, object fun) ! int find_input_to(object player, object ob, string fun) DESCRIPTION Find the input_to most recently added to the interactive <player> diff -c efun.orig/find_object efun/find_object *** efun.orig/find_object 2009-10-09 16:04:55.000000000 +0000 --- efun/find_object 2009-10-15 21:22:15.000000000 +0000 *************** *** 5,11 **** Find an object with the object_name str. If the object isn't loaded, it will not be found. ! EXAMPLE object obj; obj = find_object("std/thing"); obj = find_object("std/thing.c"); --- 5,11 ---- Find an object with the object_name str. If the object isn't loaded, it will not be found. ! EXAMPLES object obj; obj = find_object("std/thing"); obj = find_object("std/thing.c"); diff -c efun.orig/floor efun/floor *** efun.orig/floor 2009-10-09 16:04:55.000000000 +0000 --- efun/floor 2009-10-19 16:18:08.000000000 +0000 *************** *** 1,5 **** SYNOPSIS ! float floor (float arg) DESCRIPTION Round the <arg>ument downwards the nearest whole number, returning --- 1,5 ---- SYNOPSIS ! float floor(float arg) DESCRIPTION Round the <arg>ument downwards the nearest whole number, returning *************** *** 7,15 **** be that value, converted to float. EXAMPLES ! floor(4.5) - return 4.0 ! floor(-4.5) - return -5.0 ! floor(5) - return 5.0 HISTORY Introduced in LDMud 3.2.7. --- 7,15 ---- be that value, converted to float. EXAMPLES ! floor(4.5) - returns 4.0 ! floor(-4.5) - returns -5.0 ! floor(5) - returns 5.0 HISTORY Introduced in LDMud 3.2.7. diff -c efun.orig/funcall efun/funcall *** efun.orig/funcall 2009-10-09 16:04:55.000000000 +0000 --- efun/funcall 2009-10-18 21:20:33.000000000 +0000 *************** *** 31,37 **** HISTORY Introduced in 3.2@70. Returning a non-closure as it is even when args are given was ! introduced with 3.2.1 SEE ALSO apply(E), quote(E) --- 31,37 ---- HISTORY Introduced in 3.2@70. Returning a non-closure as it is even when args are given was ! introduced with 3.2.1. SEE ALSO apply(E), quote(E) diff -c efun.orig/function_exists efun/function_exists *** efun.orig/function_exists 2009-10-09 16:04:55.000000000 +0000 --- efun/function_exists 2009-10-19 19:36:17.000000000 +0000 *************** *** 1,8 **** SYNOPSIS #include <functionlist.h> ! mixed function_exists (string str [, int flags]) ! mixed function_exists (string str , object ob, [, int flags]) DESCRIPTION Look up a function <str> in the current object, respectively --- 1,10 ---- SYNOPSIS #include <functionlist.h> ! mixed function_exists(string str) ! mixed function_exists(string str, int flags) ! mixed function_exists(string str, object ob) ! mixed function_exists(string str, object ob, int flags) DESCRIPTION Look up a function <str> in the current object, respectively *************** *** 42,47 **** --- 44,50 ---- If the function cannot be found (because it doesn't exist or it is not visible to the caller), the result is 0. + EXAMPLES function_exists("create") function_exists("create", that_object, NAME_HIDDEN|FEXISTS_ALL); diff -c efun.orig/functionlist efun/functionlist *** efun.orig/functionlist 2009-10-09 16:04:55.000000000 +0000 --- efun/functionlist 2009-10-19 20:52:37.000000000 +0000 *************** *** 1,16 **** SYNOPSIS ! #include <sys/functionlist.h> ! #include <sys/lpctypes.h> ! mixed *functionlist (object ob, int flags = RETURN_FUNCTION_NAME) DESCRIPTION ! Return an array with information about <ob>s lfunctions. For every function, 1 to 4 values (depending on <flags>) are stored in the result array conveying in this order: - the name of the function - the function flags (see below) ! - the return type (listed in mudlib/sys/lpctypes.h) - the number of accepted argumens <ob> may be given as true object or as a filename. In the latter --- 1,16 ---- SYNOPSIS ! #include <functionlist.h> ! #include <lpctypes.h> ! mixed * functionlist(object ob, int flags) DESCRIPTION ! Returns an array with information about <ob>s lfunctions. For every function, 1 to 4 values (depending on <flags>) are stored in the result array conveying in this order: - the name of the function - the function flags (see below) ! - the return type (listed in <lpctypes.h>) - the number of accepted argumens <ob> may be given as true object or as a filename. In the latter *************** *** 19,25 **** <flags> determines both which information is returned for every function, and which functions should be considered at all. Its value is created by bin-or'ing together following flags from ! mudlib/sys/functionlist.h: Control of returned information: RETURN_FUNCTION_NAME include the function name --- 19,25 ---- <flags> determines both which information is returned for every function, and which functions should be considered at all. Its value is created by bin-or'ing together following flags from ! <functionlist.h>: Control of returned information: RETURN_FUNCTION_NAME include the function name *************** *** 45,50 **** --- 45,51 ---- TYPE_MOD_NO_MASK function is nomask TYPE_MOD_PUBLIC function is public + SEE ALSO inherit_list(E), function_exists(E), variable_list(E), call_resolved(E) diff -c efun.orig/garbage_collection efun/garbage_collection *** efun.orig/garbage_collection 2009-10-09 16:04:55.000000000 +0000 --- efun/garbage_collection 2009-10-19 16:19:08.000000000 +0000 *************** *** 1,7 **** SYNOPSIS ! void garbage_collection () ! void garbage_collection (string filename) ! void garbage_collection (string filename, int flag) DESCRIPTION Tell the parser to initiate a garbage collection after the --- 1,7 ---- SYNOPSIS ! void garbage_collection() ! void garbage_collection(string filename) ! void garbage_collection(string filename, int flag) DESCRIPTION Tell the parser to initiate a garbage collection after the diff -c efun.orig/get_combine_charset efun/get_combine_charset *** efun.orig/get_combine_charset 2009-10-09 16:04:55.000000000 +0000 --- efun/get_combine_charset 2009-10-19 16:19:15.000000000 +0000 *************** *** 1,7 **** SYNOPSIS ! #include <sys/comm.h> ! mixed get_combine_charset (int mode) DESCRIPTION Return the combine charset of the current interactive in the form --- 1,7 ---- SYNOPSIS ! #include <comm.h> ! mixed get_combine_charset(int mode) DESCRIPTION Return the combine charset of the current interactive in the form *************** *** 15,21 **** If there is no current interactive, the function returns 0. - HISTORY Introduced in LDMud 3.2.10. --- 15,20 ---- diff -c efun.orig/get_connection_charset efun/get_connection_charset *** efun.orig/get_connection_charset 2009-10-09 16:04:55.000000000 +0000 --- efun/get_connection_charset 2009-10-19 16:19:21.000000000 +0000 *************** *** 1,7 **** SYNOPSIS ! #include <sys/comm.h> ! mixed get_connection_charset (int mode) DESCRIPTION Return the connection charset of the current interactive in the form --- 1,7 ---- SYNOPSIS ! #include <comm.h> ! mixed get_connection_charset(int mode) DESCRIPTION Return the connection charset of the current interactive in the form *************** *** 19,25 **** If there is no current interactive, the function returns 0. - HISTORY Introduced in LDMud 3.2.10. --- 19,24 ---- diff -c efun.orig/get_dir efun/get_dir *** efun.orig/get_dir 2009-10-09 16:04:55.000000000 +0000 --- efun/get_dir 2009-10-18 20:50:31.000000000 +0000 *************** *** 1,8 **** SYNOPSIS ! #include <sys/files.h> ! mixed *get_dir(string str) ! mixed *get_dir(string str, int mask) DESCRIPTION This function takes a path as argument and returns an array of file --- 1,8 ---- SYNOPSIS ! #include <files.h> ! mixed * get_dir(string str) ! mixed * get_dir(string str, int mask) DESCRIPTION This function takes a path as argument and returns an array of file *************** *** 56,62 **** (e.g. strip leading or trailing "/") and this may lead to expected results (e.g. get_dir("/dir/", ...) not returning the contents of /dir/). ! Compat mode: GETDIR_PATH will return the paths without leading /. EXAMPLES function returns --- 56,62 ---- (e.g. strip leading or trailing "/") and this may lead to expected results (e.g. get_dir("/dir/", ...) not returning the contents of /dir/). ! COMPAT mode: GETDIR_PATH will return the paths without leading /. EXAMPLES function returns *************** *** 87,96 **** contains for each file in /obj its name, its size and its modification date, sorted by names, for example ! ({ ! "axe.c" , 927, 994539583, ! "sword.c", 1283, 998153903, ! }). get_dir("/obj/sword.c", GETDIR_NAMES|GETDIR_PATH) ({ "/obj/sword.c" }) if applicable. --- 87,96 ---- contains for each file in /obj its name, its size and its modification date, sorted by names, for example ! ({ ! "axe.c" , 927, 994539583, ! "sword.c", 1283, 998153903, ! }). get_dir("/obj/sword.c", GETDIR_NAMES|GETDIR_PATH) ({ "/obj/sword.c" }) if applicable. *************** *** 102,111 **** , get_dir(str, GETDIR_DATES) })); This returns an array of arrays, with filename, size and filetime as elements, not sorted by names, for example ! ({ ! ({ "sword.c", 1283, 998153903 }), ! ({ "axe.c" , 927, 994539583 }), ! }). HISTORY LDMud 3.2.9 added GETDIR_PATH. --- 102,112 ---- , get_dir(str, GETDIR_DATES) })); This returns an array of arrays, with filename, size and filetime as elements, not sorted by names, for example ! ({ ! ({ "sword.c", 1283, 998153903 }), ! ({ "axe.c" , 927, 994539583 }), ! }). ! HISTORY LDMud 3.2.9 added GETDIR_PATH. diff -c efun.orig/get_extra_wizinfo efun/get_extra_wizinfo *** efun.orig/get_extra_wizinfo 2009-10-09 16:04:55.000000000 +0000 --- efun/get_extra_wizinfo 2009-10-19 16:19:41.000000000 +0000 *************** *** 1,7 **** SYNOPSIS ! mixed get_extra_wizinfo (object wiz) ! mixed get_extra_wizinfo (string wiz) ! mixed get_extra_wizinfo (int wiz) DESCRIPTION Returns the 'extra' information that was set for the given --- 1,7 ---- SYNOPSIS ! mixed get_extra_wizinfo(object wiz) ! mixed get_extra_wizinfo(string wiz) ! mixed get_extra_wizinfo(int wiz) DESCRIPTION Returns the 'extra' information that was set for the given diff -c efun.orig/get_max_commands efun/get_max_commands *** efun.orig/get_max_commands 2009-10-09 16:04:55.000000000 +0000 --- efun/get_max_commands 2009-10-19 16:20:38.000000000 +0000 *************** *** 1,6 **** SYNOPSIS ! int get_max_commands () ! int get_max_commands (object obj) DESCRIPTION Return the max number of commands the interactive <obj> is --- 1,6 ---- SYNOPSIS ! int get_max_commands() ! int get_max_commands(object obj) DESCRIPTION Return the max number of commands the interactive <obj> is diff -c efun.orig/gmtime efun/gmtime *** efun.orig/gmtime 2009-10-09 16:04:55.000000000 +0000 --- efun/gmtime 2009-10-19 16:20:48.000000000 +0000 *************** *** 1,8 **** SYNOPSIS ! #include <sys/time.h> int * gmtime(int clock) ! int * gmtime(int* uclock) DESCRIPTION Interpret the argument clock as number of seconds since Jan, --- 1,8 ---- SYNOPSIS ! #include <time.h> int * gmtime(int clock) ! int * gmtime(int *uclock) DESCRIPTION Interpret the argument clock as number of seconds since Jan, *************** *** 25,39 **** int TM_YDAY (7) : Day of the year (0..365) int TM_ISDST (8) : TRUE: Daylight saving time - EXAMPLES ! printf("Today is %s\n" ! , ({ "Sunday", "Monday", "Tuesday", "Wednesday" ! , "Thursday", "Friday", "Saturday" ! })[gmtime()[TM_WDAY]]); HISTORY ! Introduced in LDMud 3.2.9 SEE ALSO ctime(E), localtime(E), time(E), utime(E) --- 25,38 ---- int TM_YDAY (7) : Day of the year (0..365) int TM_ISDST (8) : TRUE: Daylight saving time ! EXAMPLES ! printf("Today is %s\n", ! ({ "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", ! "Friday", "Saturday" })[gmtime()[TM_WDAY]]); HISTORY ! Introduced in LDMud 3.2.9. SEE ALSO ctime(E), localtime(E), time(E), utime(E) diff -c efun.orig/hash efun/hash *** efun.orig/hash 2009-10-09 16:04:55.000000000 +0000 --- efun/hash 2009-10-18 20:51:41.000000000 +0000 *************** *** 1,5 **** SYNOPSIS ! #include <sys/tls.h> string hash(int method, string arg [, int iterations ] ) string hash(int method, int * arg [, int iterations ] ) --- 1,5 ---- SYNOPSIS ! #include <tls.h> string hash(int method, string arg [, int iterations ] ) string hash(int method, int * arg [, int iterations ] ) *************** *** 24,29 **** --- 24,30 ---- The efun costs 10 ticks per iteration. + EXAMPLES string s; *************** *** 31,37 **** s = hash(TLS_HASH_SHA1, ({ 'H', 'e', 'l', 'l', 'o' }) ) HISTORY ! Introduced in LDMud 3.3.714 LDMud 3.3.719 added the iteration-based evaluation cost. SEE ALSO --- 32,38 ---- s = hash(TLS_HASH_SHA1, ({ 'H', 'e', 'l', 'l', 'o' }) ) HISTORY ! Introduced in LDMud 3.3.714. LDMud 3.3.719 added the iteration-based evaluation cost. SEE ALSO diff -c efun.orig/heart_beat_info efun/heart_beat_info *** efun.orig/heart_beat_info 2009-10-09 16:04:55.000000000 +0000 --- efun/heart_beat_info 2009-10-18 21:22:08.000000000 +0000 *************** *** 1,5 **** SYNOPSIS ! object *heart_beat_info() DESCRIPTION This function returns an array of all objects having their heart --- 1,5 ---- SYNOPSIS ! object * heart_beat_info() DESCRIPTION This function returns an array of all objects having their heart diff -c efun.orig/hmac efun/hmac *** efun.orig/hmac 2009-10-09 16:04:55.000000000 +0000 --- efun/hmac 2009-10-18 20:52:04.000000000 +0000 *************** *** 1,5 **** SYNOPSIS ! #include <sys/tls.h> string hmac(int method, string key, string arg ) string hmac(int method, string key, int * arg ) --- 1,5 ---- SYNOPSIS ! #include <tls.h> string hmac(int method, string key, string arg ) string hmac(int method, string key, int * arg ) *************** *** 22,27 **** --- 22,28 ---- If the driver is compiled without OpenSSL or GCrypt support an error is thrown. + EXAMPLES string s; *************** *** 29,35 **** s = hmac(TLS_HASH_SHA1, "secret", ({ 'H', 'e', 'l', 'l', 'o' }) ) HISTORY ! Introduced in LDMud 3.3.714 SEE ALSO crypt(E), md5(E), md5_crypt(E), sha1(E), hmac(E) --- 30,36 ---- s = hmac(TLS_HASH_SHA1, "secret", ({ 'H', 'e', 'l', 'l', 'o' }) ) HISTORY ! Introduced in LDMud 3.3.714. SEE ALSO crypt(E), md5(E), md5_crypt(E), sha1(E), hmac(E) diff -c efun.orig/idna_stringprep efun/idna_stringprep *** efun.orig/idna_stringprep 2009-10-09 16:04:55.000000000 +0000 --- efun/idna_stringprep 2009-10-19 18:48:17.000000000 +0000 *************** *** 1,14 **** OPTIONAL SYNOPSIS ! #include <sys/idn.h> ! string idna_stringprep (string str, int profile, int flags = 0) DESCRIPTION Prepare the UTF-8 string <str> according to the stringprep <profile> (see also libidn stringprep(3)). ! <profile> and <flags> are one of the values defined in idn.h . If an error occurs, an exception is thrown. --- 1,14 ---- OPTIONAL SYNOPSIS ! #include <idn.h> ! string idna_stringprep(string str, int profile, int flags) DESCRIPTION Prepare the UTF-8 string <str> according to the stringprep <profile> (see also libidn stringprep(3)). ! <profile> and <flags> are one of the values defined in <idn.h>. If an error occurs, an exception is thrown. diff -c efun.orig/idna_to_ascii efun/idna_to_ascii *** efun.orig/idna_to_ascii 2009-10-09 16:04:55.000000000 +0000 --- efun/idna_to_ascii 2009-10-19 16:21:34.000000000 +0000 *************** *** 1,8 **** OPTIONAL SYNOPSIS ! #include <sys/idn.h> ! string idna_to_ascii (string name) DESCRIPTION Convert string <name> from UTF-8 to idna representation (8z punycode). --- 1,8 ---- OPTIONAL SYNOPSIS ! #include <idn.h> ! string idna_to_ascii(string name) DESCRIPTION Convert string <name> from UTF-8 to idna representation (8z punycode). diff -c efun.orig/idna_to_unicode efun/idna_to_unicode *** efun.orig/idna_to_unicode 2009-10-09 16:04:55.000000000 +0000 --- efun/idna_to_unicode 2009-10-19 16:21:39.000000000 +0000 *************** *** 1,8 **** OPTIONAL SYNOPSIS ! #include <sys/idn.h> ! string idna_to_unicode (string name) DESCRIPTION Convert string <name> from idna representation (8z punycode) --- 1,8 ---- OPTIONAL SYNOPSIS ! #include <idn.h> ! string idna_to_unicode(string name) DESCRIPTION Convert string <name> from idna representation (8z punycode) diff -c efun.orig/implode efun/implode *** efun.orig/implode 2009-10-09 16:04:55.000000000 +0000 --- efun/implode 2009-10-18 21:22:20.000000000 +0000 *************** *** 15,22 **** function of strings: implode(explode("a short text", " "), "_") "a_short_text" ! But nowadays You can also use ! regreplace("a short text", " ", "_", 1) instead. SEE ALSO --- 15,22 ---- function of strings: implode(explode("a short text", " "), "_") "a_short_text" ! But nowadays you can also use ! regreplace("a short text", " ", "_", 1) instead. SEE ALSO diff -c efun.orig/include_list efun/include_list *** efun.orig/include_list 2009-10-09 16:04:55.000000000 +0000 --- efun/include_list 2009-10-18 21:22:33.000000000 +0000 *************** *** 1,9 **** SYNOPSIS ! #include <sys/include_list.h> ! string *include_list () ! string *include_list (object ob) ! string *include_list (object ob, int flags) DESCRIPTION --- 1,9 ---- SYNOPSIS ! #include <include_list.h> ! string * include_list() ! string * include_list(object ob) ! string * include_list(object ob, int flags) DESCRIPTION diff -c efun.orig/inherit_list efun/inherit_list *** efun.orig/inherit_list 2009-10-09 16:04:55.000000000 +0000 --- efun/inherit_list 2009-10-18 21:22:49.000000000 +0000 *************** *** 1,9 **** SYNOPSIS ! #include <sys/inherit_list.h> ! string *inherit_list () ! string *inherit_list (object ob) ! string *inherit_list (object ob, int flags) DESCRIPTION --- 1,9 ---- SYNOPSIS ! #include <inherit_list.h> ! string * inherit_list() ! string * inherit_list(object ob) ! string * inherit_list(object ob, int flags) DESCRIPTION diff -c efun.orig/input_to efun/input_to *** efun.orig/input_to 2009-10-09 16:04:55.000000000 +0000 --- efun/input_to 2009-10-18 21:23:11.000000000 +0000 *************** *** 1,5 **** SYNOPSIS ! #include <sys/input_to.h> void input_to(string|closure fun) void input_to(string|closure fun, int flag, ...) --- 1,5 ---- SYNOPSIS ! #include <input_to.h> void input_to(string|closure fun) void input_to(string|closure fun, int flag, ...) *************** *** 88,94 **** The optional trailing args will be passed as second and subsequent args to the function fun. ! EXAMPLE void func() { ... input_to("enter_name", INPUT_PROMPT, "Please enter your name:"); --- 88,94 ---- The optional trailing args will be passed as second and subsequent args to the function fun. ! EXAMPLES void func() { ... input_to("enter_name", INPUT_PROMPT, "Please enter your name:"); *************** *** 123,129 **** input will go to enter_lastname(). ! Note that the list of input_tos is treated as a flat list: void func() { .. --- 123,129 ---- input will go to enter_lastname(). ! Note that the list of input_to-s is treated as a flat list: void func() { .. diff -c efun.orig/input_to_info efun/input_to_info *** efun.orig/input_to_info 2009-10-09 16:04:55.000000000 +0000 --- efun/input_to_info 2009-10-19 16:21:53.000000000 +0000 *************** *** 1,5 **** SYNOPSIS ! mixed * input_to_info (object player) DESCRIPTION Construct an array of all input_to's pending for this interactive --- 1,5 ---- SYNOPSIS ! mixed * input_to_info(object player) DESCRIPTION Construct an array of all input_to's pending for this interactive *************** *** 7,15 **** input_to, the last element the most recently added one. Every item in the array is itself an array of 2 or more entries: ! 0: The object (only if the function is a string). ! 1: The function (string or closure). ! 2..: The argument(s). HISTORY Introduced in LDMud 3.2.9. --- 7,15 ---- input_to, the last element the most recently added one. Every item in the array is itself an array of 2 or more entries: ! 0: The object (only if the function is a string). ! 1: The function (string or closure). ! 2..: The argument(s). HISTORY Introduced in LDMud 3.2.9. diff -c efun.orig/insert_alist efun/insert_alist *** efun.orig/insert_alist 2009-10-09 16:04:55.000000000 +0000 --- efun/insert_alist 2009-10-19 16:21:58.000000000 +0000 *************** *** 1,7 **** OPTIONAL SYNOPSIS ! mixed* insert_alist (mixed key, mixed data..., mixed * alist) ! int insert_alist (mixed key, mixed * keys) DESCRIPTION 1. Form: Alist Insertion --- 1,7 ---- OPTIONAL SYNOPSIS ! mixed * insert_alist(mixed key, mixed data..., mixed * alist) ! int insert_alist(mixed key, mixed * keys) DESCRIPTION 1. Form: Alist Insertion diff -c efun.orig/interactive efun/interactive *** efun.orig/interactive 2009-10-09 16:04:55.000000000 +0000 --- efun/interactive 2009-10-19 18:51:30.000000000 +0000 *************** *** 1,9 **** SYNOPSIS int interactive(object ob) DESCRIPTION ! Return non-zero if ob, or when the argument is omitted, this ! object(), is an interactive user. Will return 1 if the object is interactive, else 0. SEE ALSO --- 1,10 ---- SYNOPSIS + int interactive() int interactive(object ob) DESCRIPTION ! Return non-zero if ob is an interactive user. If ob is omitted, ! this_object() will be used. The return value is 1 if the object is interactive, else 0. SEE ALSO diff -c efun.orig/intersect_alist efun/intersect_alist *** efun.orig/intersect_alist 2009-10-09 16:04:55.000000000 +0000 --- efun/intersect_alist 2009-10-19 16:22:00.000000000 +0000 *************** *** 1,6 **** OPTIONAL SYNOPSIS ! mixed * intersect_alist (mixed * list1, mixed * list2) DESCRIPTION Does a fast set intersection on alist key vectors (NOT on full alists!). --- 1,6 ---- OPTIONAL SYNOPSIS ! mixed * intersect_alist(mixed * list1, mixed * list2) DESCRIPTION Does a fast set intersection on alist key vectors (NOT on full alists!). *************** *** 9,15 **** The function is available only if the driver is compiled with alist support. In that case, __ALISTS__ is defined. ! EXAMPLE new_list = intersect_alist(list1, list2); HISTORY --- 9,15 ---- The function is available only if the driver is compiled with alist support. In that case, __ALISTS__ is defined. ! EXAMPLES new_list = intersect_alist(list1, list2); HISTORY diff -c efun.orig/invert_bits efun/invert_bits *** efun.orig/invert_bits 2009-10-09 16:04:55.000000000 +0000 --- efun/invert_bits 2009-10-19 16:22:03.000000000 +0000 *************** *** 1,5 **** SYNOPSIS ! string invert_bits (string str) DESCRIPTION Invert the status of all bits in bitstring <str> and return the --- 1,5 ---- SYNOPSIS ! string invert_bits(string str) DESCRIPTION Invert the status of all bits in bitstring <str> and return the diff -c efun.orig/lambda efun/lambda *** efun.orig/lambda 2009-10-09 16:04:55.000000000 +0000 --- efun/lambda 2009-10-18 21:23:30.000000000 +0000 *************** *** 11,17 **** or apply(). HISTORY ! Introduced in 3.2@70 SEE ALSO closures(LPC), unbound_lambda(E), apply(E), funcall(E), --- 11,17 ---- or apply(). HISTORY ! Introduced in 3.2@70. SEE ALSO closures(LPC), unbound_lambda(E), apply(E), funcall(E), diff -c efun.orig/last_bit efun/last_bit *** efun.orig/last_bit 2009-10-09 16:04:55.000000000 +0000 --- efun/last_bit 2009-10-19 16:22:06.000000000 +0000 *************** *** 1,5 **** SYNOPSIS ! int last_bit (string str) DESCRIPTION Return the number of the last set bit in bitstring <str>. --- 1,5 ---- SYNOPSIS ! int last_bit(string str) DESCRIPTION Return the number of the last set bit in bitstring <str>. diff -c efun.orig/last_instructions efun/last_instructions *** efun.orig/last_instructions 2009-10-09 16:04:55.000000000 +0000 --- efun/last_instructions 2009-10-18 21:24:00.000000000 +0000 *************** *** 1,9 **** SYNOPSIS ! string *last_instructions (int length, int verbose) DESCRIPTION ! ! Return an array showing the 'length' last executed instructions in disassembled form. If 'verbose' is non-zero (the default), line number information are also included. Each string is built as this: --- 1,8 ---- SYNOPSIS ! string * last_instructions(int length, int verbose) DESCRIPTION ! Returns an array showing the 'length' last executed instructions in disassembled form. If 'verbose' is non-zero (the default), line number information are also included. Each string is built as this: *************** *** 24,30 **** There is a preconfigured upper limit for the backtrace. HISTORY ! Introduced in 3.2.1@34 The absolute stack depth information was added in LDMud 3.2.8. SEE ALSO --- 23,29 ---- There is a preconfigured upper limit for the backtrace. HISTORY ! Introduced in 3.2.1@34. The absolute stack depth information was added in LDMud 3.2.8. SEE ALSO diff -c efun.orig/limited efun/limited *** efun.orig/limited 2009-10-09 16:04:55.000000000 +0000 --- efun/limited 2009-10-19 19:41:29.000000000 +0000 *************** *** 1,9 **** SYNOPSIS ! #include <sys/rtlimits.h> mixed limited(closure fun) mixed limited(closure fun, int tag, int value, ...) ! mixed limited(closure fun, int * limits [, mixed args...] ) DESCRIPTION Call the function <fun> with any given <args> as parameters, --- 1,10 ---- SYNOPSIS ! #include <rtlimits.h> mixed limited(closure fun) mixed limited(closure fun, int tag, int value, ...) ! mixed limited(closure fun, int *limits) ! mixed limited(closure fun, int *limits, mixed *args) DESCRIPTION Call the function <fun> with any given <args> as parameters, *************** *** 30,35 **** --- 31,37 ---- The efun causes a privilege violation ("limited", current_object, fun, limits-array). + EXAMPLES limited(#'function) --> executes function with no limits at all diff -c efun.orig/living efun/living *** efun.orig/living 2009-10-09 16:04:55.000000000 +0000 --- efun/living 2009-10-15 21:22:43.000000000 +0000 *************** *** 6,12 **** enable_commands() has been called from inside the ob). ob may be 0. ! EXAMPLE living(this_player()) SEE ALSO --- 6,12 ---- enable_commands() has been called from inside the ob). ob may be 0. ! EXAMPLES living(this_player()) SEE ALSO diff -c efun.orig/load_name efun/load_name *** efun.orig/load_name 2009-10-09 16:04:55.000000000 +0000 --- efun/load_name 2009-10-15 21:22:46.000000000 +0000 *************** *** 27,33 **** The returned name starts with a '/', unless the driver is running in COMPAT mode. ! EXAMPLE object o; o = clone_object("/std/thing"); write(load_name(o)); --> writes "/std/thing" in !compat mode --- 27,33 ---- The returned name starts with a '/', unless the driver is running in COMPAT mode. ! EXAMPLES object o; o = clone_object("/std/thing"); write(load_name(o)); --> writes "/std/thing" in !compat mode diff -c efun.orig/load_object efun/load_object *** efun.orig/load_object 2009-10-09 16:04:55.000000000 +0000 --- efun/load_object 2009-10-15 21:22:49.000000000 +0000 *************** *** 11,17 **** If strict euids are enforced, the cloning object must have a non-zero euid. ! EXAMPLE // Update and reload the standard player object destruct(find_object("/std/player")); load_object("/std/player"); --- 11,17 ---- If strict euids are enforced, the cloning object must have a non-zero euid. ! EXAMPLES // Update and reload the standard player object destruct(find_object("/std/player")); load_object("/std/player"); diff -c efun.orig/localtime efun/localtime *** efun.orig/localtime 2009-10-09 16:04:55.000000000 +0000 --- efun/localtime 2009-10-19 16:22:24.000000000 +0000 *************** *** 1,8 **** SYNOPSIS ! #include <sys/time.h> int * localtime(int clock) ! int * localtime(int* uclock) DESCRIPTION Interpret the argument clock as number of seconds since Jan, --- 1,8 ---- SYNOPSIS ! #include <time.h> int * localtime(int clock) ! int * localtime(int *uclock) DESCRIPTION Interpret the argument clock as number of seconds since Jan, *************** *** 25,39 **** int TM_YDAY (7) : Day of the year (0..365) int TM_ISDST (8) : TRUE: Daylight saving time - EXAMPLES ! printf("Today is %s\n" ! , ({ "Sunday", "Monday", "Tuesday", "Wednesday" ! , "Thursday", "Friday", "Saturday" ! })[localtime()[TM_WDAY]]); HISTORY ! Introduced in LDMud 3.2.9 SEE ALSO ctime(E), gmtime(E), time(E), utime(E) --- 25,38 ---- int TM_YDAY (7) : Day of the year (0..365) int TM_ISDST (8) : TRUE: Daylight saving time ! EXAMPLES ! printf("Today is %s\n", ! ({ "Sunday", "Monday", "Tuesday", "Wednesday", ! "Thursday", "Friday", "Saturday" })[localtime()[TM_WDAY]]); HISTORY ! Introduced in LDMud 3.2.9. SEE ALSO ctime(E), gmtime(E), time(E), utime(E) diff -c efun.orig/m_add efun/m_add *** efun.orig/m_add 2009-10-09 16:04:55.000000000 +0000 --- efun/m_add 2009-10-19 16:22:35.000000000 +0000 *************** *** 1,5 **** SYNOPSIS ! mapping m_add (mapping map, mixed key, [mixed data...]) DESCRIPTION Add (or replace) an entry with index <key> in mapping <map>. --- 1,5 ---- SYNOPSIS ! mapping m_add(mapping map, mixed key, [mixed data...]) DESCRIPTION Add (or replace) an entry with index <key> in mapping <map>. *************** *** 27,33 **** m_add(m, "baz", ({ 4, 5 })... ) --> ([ "foo":1;2, "bar":1;0, "baz":4;5 ]) - HISTORY Introduced in LDMud 3.2.9. --- 27,32 ---- diff -c efun.orig/make_shared_string efun/make_shared_string *** efun.orig/make_shared_string 2009-10-09 16:04:55.000000000 +0000 --- efun/make_shared_string 2009-10-19 16:22:41.000000000 +0000 *************** *** 1,6 **** DEPRECATED SYNOPSIS ! string make_shared_string (string str) DESCRIPTION Puts <str> in the table of shared strings of the game. --- 1,6 ---- DEPRECATED SYNOPSIS ! string make_shared_string(string str) DESCRIPTION Puts <str> in the table of shared strings of the game. *************** *** 14,18 **** converts untabled strings into tabled strings after some time. HISTORY ! Introduced in LDMud 3.2.6; following a suggestion from TubMud. ! Deprecated in LDMud 3.3.531 . --- 14,18 ---- converts untabled strings into tabled strings after some time. HISTORY ! Introduced in LDMud 3.2.6; following a suggestion from Tubmud. ! Deprecated in LDMud 3.3.531. diff -c efun.orig/m_allocate efun/m_allocate *** efun.orig/m_allocate 2009-10-09 16:04:55.000000000 +0000 --- efun/m_allocate 2009-10-19 16:23:40.000000000 +0000 *************** *** 1,10 **** SYNOPSIS mapping m_allocate(int size, int width) DESCRIPTION Reserve memory for a mapping. ! size is the number of entries (i.e. keys) to reserve, width is the number of data items per entry. If the optional width is omitted, 1 is used as default. --- 1,11 ---- SYNOPSIS + mapping m_allocate(int size) mapping m_allocate(int size, int width) DESCRIPTION Reserve memory for a mapping. ! <size> is the number of entries (i.e. keys) to reserve, <width> is the number of data items per entry. If the optional width is omitted, 1 is used as default. *************** *** 27,39 **** EXAMPLES m_allocate(3, 7) -> mapping with 7 values per key, and with space ! for 3 entries. ([:2*3 ]) -> same as m_allocate(0, 6) HISTORY Renamed from 'allocate_mapping' in LDMud 3.2.6. ! The ([:width ]) notation introduced in LDMud 3.2.9 / 3.3.208. SEE ALSO mappings(LPC), walk_mapping(E), get_type_info(E), m_reallocate(E) --- 28,40 ---- EXAMPLES m_allocate(3, 7) -> mapping with 7 values per key, and with space ! for 3 entries. ([:2*3 ]) -> same as m_allocate(0, 6) HISTORY Renamed from 'allocate_mapping' in LDMud 3.2.6. ! The ([:width ]) notation was introduced in LDMud 3.2.9 / 3.3.208. SEE ALSO mappings(LPC), walk_mapping(E), get_type_info(E), m_reallocate(E) diff -c efun.orig/map efun/map *** efun.orig/map 2009-10-09 16:04:55.000000000 +0000 --- efun/map 2009-10-18 21:24:16.000000000 +0000 *************** *** 15,21 **** string map(string arg, closure cl, mixed extra...) string map(string arg, mapping m [, int idx]) - DESCRIPTION Call the function <ob>-><func>() resp. the closure <cl> for every element of the string, array, struct or mapping <arg>, and return a --- 15,20 ---- diff -c efun.orig/map_indices efun/map_indices *** efun.orig/map_indices 2009-10-09 16:04:55.000000000 +0000 --- efun/map_indices 2009-10-15 21:22:52.000000000 +0000 *************** *** 19,25 **** Also note that the behaviour of this function is different from map(<array>). ! EXAMPLE m = mkmapping(users()); m = map_indices(m, #'environment); --- 19,25 ---- Also note that the behaviour of this function is different from map(<array>). ! EXAMPLES m = mkmapping(users()); m = map_indices(m, #'environment); diff -c efun.orig/map_objects efun/map_objects *** efun.orig/map_objects 2009-10-09 16:04:55.000000000 +0000 --- efun/map_objects 2009-10-18 21:24:21.000000000 +0000 *************** *** 1,5 **** SYNOPSIS ! mixed *map_objects(object *arr, string fun, mixed extra, ...) DESCRIPTION Similar to map_array(), but calls arr[n]->fun(extra,...). The --- 1,5 ---- SYNOPSIS ! mixed * map_objects(object *arr, string fun, mixed extra, ...) DESCRIPTION Similar to map_array(), but calls arr[n]->fun(extra,...). The diff -c efun.orig/master efun/master *** efun.orig/master 2009-10-09 16:04:55.000000000 +0000 --- efun/master 2009-10-19 16:23:57.000000000 +0000 *************** *** 1,9 **** SYNOPSIS ! object master () ! object master (int dont_load) DESCRIPTION ! Return the master object. If <dont_load> is false, the function first makes sure that the master object exists. --- 1,9 ---- SYNOPSIS ! object master() ! object master(int dont_load) DESCRIPTION ! Returns the master object. If <dont_load> is false, the function first makes sure that the master object exists. diff -c efun.orig/match_command efun/match_command *** efun.orig/match_command 2009-10-09 16:04:55.000000000 +0000 --- efun/match_command 2009-10-19 16:24:09.000000000 +0000 *************** *** 1,7 **** SYNOPSIS ! #include <sys/commands.h> ! mixed * match_command (string command, object origin) DESCRIPTION Take the command <command>, parse it, and return an array of all --- 1,7 ---- SYNOPSIS ! #include <commands.h> ! mixed * match_command(string command, object origin) DESCRIPTION Take the command <command>, parse it, and return an array of all diff -c efun.orig/max efun/max *** efun.orig/max 2009-10-09 16:04:55.000000000 +0000 --- efun/max 2009-10-19 16:24:30.000000000 +0000 *************** *** 1,9 **** SYNOPSIS ! string max (string arg, ...) ! string max (string * arg_array) ! int|float max (int|float arg, ...) ! int|float max (int|float * arg_array) DESCRIPTION Determaxe the maximum value of the <arg>uments and return it. --- 1,9 ---- SYNOPSIS ! string max(string arg, ...) ! string max(string *arg_array) ! int|float max(int|float arg, ...) ! int|float max(int|float *arg_array) DESCRIPTION Determaxe the maximum value of the <arg>uments and return it. diff -c efun.orig/md5 efun/md5 *** efun.orig/md5 2009-10-09 16:04:55.000000000 +0000 --- efun/md5 2009-10-19 16:25:07.000000000 +0000 *************** *** 1,7 **** OBSOLETE SYNOPSIS ! string md5 (string arg [ , int iterations ] ) ! string md5 (int * arg [ , int iterations ] ) DESCRIPTION Create and return a MD5 message digest from <arg>. --- 1,7 ---- OBSOLETE SYNOPSIS ! string md5(string arg [, int iterations]) ! string md5(int * arg [, int iterations]) DESCRIPTION Create and return a MD5 message digest from <arg>. *************** *** 22,28 **** s = md5( ({ 'H', 'e', 'l', 'l', 'o' }), 2 ) HISTORY ! Introduced in LDMud 3.2.9 LDMud 3.2.12 added number arrays as argument, and the number of interations. LDMud 3.3.717 added the iteration-based evaluation cost. --- 22,28 ---- s = md5( ({ 'H', 'e', 'l', 'l', 'o' }), 2 ) HISTORY ! Introduced in LDMud 3.2.9. LDMud 3.2.12 added number arrays as argument, and the number of interations. LDMud 3.3.717 added the iteration-based evaluation cost. diff -c efun.orig/m_entry efun/m_entry *** efun.orig/m_entry 2009-10-09 16:04:55.000000000 +0000 --- efun/m_entry 2009-10-19 16:25:12.000000000 +0000 *************** *** 1,5 **** SYNOPSIS ! mixed * m_entry (mapping map, mixed key) DESCRIPTION Query the mapping <map> for the entry for <key> and return all --- 1,5 ---- SYNOPSIS ! mixed * m_entry(mapping map, mixed key) DESCRIPTION Query the mapping <map> for the entry for <key> and return all *************** *** 10,16 **** Note: the efun m_add() can be used to add all values for an entry at once. ! EXAMPLE mapping m = ([ 1:"foo":-1, 2:"bar":-2 ]); m_entry(m, 0) -> 0 --- 10,16 ---- Note: the efun m_add() can be used to add all values for an entry at once. ! EXAMPLES mapping m = ([ 1:"foo":-1, 2:"bar":-2 ]); m_entry(m, 0) -> 0 diff -c efun.orig/min efun/min *** efun.orig/min 2009-10-09 16:04:55.000000000 +0000 --- efun/min 2009-10-19 16:25:23.000000000 +0000 *************** *** 1,9 **** SYNOPSIS ! string min (string arg, ...) ! string min (string * arg_array) ! int|float min (int|float arg, ...) ! int|float min (int|float * arg_array) DESCRIPTION Determine the minimum value of the <arg>uments and return it. --- 1,9 ---- SYNOPSIS ! string min(string arg, ...) ! string min(string *arg_array) ! int|float min(int|float arg, ...) ! int|float min(int|float *arg_array) DESCRIPTION Determine the minimum value of the <arg>uments and return it. diff -c efun.orig/m_indices efun/m_indices *** efun.orig/m_indices 2009-10-09 16:04:55.000000000 +0000 --- efun/m_indices 2009-10-18 21:24:32.000000000 +0000 *************** *** 1,5 **** SYNOPSIS ! mixed *m_indices(mapping map) DESCRIPTION Returns an array containing the indices of mapping 'map'. --- 1,5 ---- SYNOPSIS ! mixed * m_indices(mapping map) DESCRIPTION Returns an array containing the indices of mapping 'map'. diff -c efun.orig/mkmapping efun/mkmapping *** efun.orig/mkmapping 2009-10-09 16:04:55.000000000 +0000 --- efun/mkmapping 2009-10-15 21:22:57.000000000 +0000 *************** *** 18,24 **** unused allocated space will be freed after the current function returns. ! EXAMPLE mkmapping( ({ 1, 2 }), ({ 10, 11 }), ({ 20, 21, 22})) returns ([ 1:10;20, 2:11;21 ]) --- 18,24 ---- unused allocated space will be freed after the current function returns. ! EXAMPLES mkmapping( ({ 1, 2 }), ({ 10, 11 }), ({ 20, 21, 22})) returns ([ 1:10;20, 2:11;21 ]) diff -c efun.orig/mktime efun/mktime *** efun.orig/mktime 2009-10-09 16:04:55.000000000 +0000 --- efun/mktime 2009-10-19 20:23:53.000000000 +0000 *************** *** 1,9 **** SYNOPSIS ! #include <sys/time.h> ! int mktime(int *ts); ! BESCHREIBUNG If the argument <ts> is an array with 9 elements (int) according to the result of local_time()/gm_time(), this function returns the number of seconds passed since the epoch (00:00:00 UTC, January 1, 1970). --- 1,9 ---- SYNOPSIS ! #include <time.h> ! int mktime(int *ts) ! DESCRIPTION If the argument <ts> is an array with 9 elements (int) according to the result of local_time()/gm_time(), this function returns the number of seconds passed since the epoch (00:00:00 UTC, January 1, 1970). *************** *** 21,36 **** int TM_YDAY (7): day of year (0..365) inz TM_ISDST (8): TRUE: summer time is in effect. ! TM_YDAY and TM_WDAY are ignored and can contain arbitrary integer ! values. ! BEISPIEL ! A date and time (user input) shall be stored as unix timestamp: ! // "Wed Oct 24 10:48:00 2007" corresponds to the returned time stamp: ! int unixtime = mktime( ({0, 48, 09, 24, 09, 2007, 0, 01, 0}) ); ! AENDERUNGEN ! Introduced in LDMud 3.3.718 ! SIEHE AUCH ! ctime(E), gmtime(E), local_time(E), time(E), utime(E) --- 21,36 ---- int TM_YDAY (7): day of year (0..365) inz TM_ISDST (8): TRUE: summer time is in effect. ! TM_YDAY and TM_WDAY are ignored and can contain arbitrary ! integer values. ! EXAMPLES ! A date and time (user input) shall be stored as unix timestamp: ! // "Wed Oct 24 10:48:00 2007" corresponds to the returned time stamp: ! int unixtime = mktime( ({0, 48, 09, 24, 09, 2007, 0, 01, 0}) ); ! HISTORY ! Introduced in LDMud 3.3.718. ! SEE ALSO ! ctime(E), gmtime(E), local_time(E), time(E), utime(E) diff -c efun.orig/m_reallocate efun/m_reallocate *** efun.orig/m_reallocate 2009-10-09 16:04:55.000000000 +0000 --- efun/m_reallocate 2009-10-18 21:43:18.000000000 +0000 *************** *** 9,22 **** The mapping <m> is not changed. ! EXAMPLE mapping m = ([ "foo":1;2;3, "bar":4;5;6 ]) m_reallocate(m, 1) --> returns ([ "foo":1, "bar:4 ]) m_reallocate(m, 4) --> returns ([ "foo":1;2;3;0, "bar:4;5;6;0 ]) HISTORY ! Introduced in LDMud 3.2.6, suggested by TubMud. SEE ALSO m_allocate(E), m_values(E), widthof(E) --- 9,22 ---- The mapping <m> is not changed. ! EXAMPLES mapping m = ([ "foo":1;2;3, "bar":4;5;6 ]) m_reallocate(m, 1) --> returns ([ "foo":1, "bar:4 ]) m_reallocate(m, 4) --> returns ([ "foo":1;2;3;0, "bar:4;5;6;0 ]) HISTORY ! Introduced in LDMud 3.2.6, suggested by Tubmud. SEE ALSO m_allocate(E), m_values(E), widthof(E) diff -c efun.orig/m_values efun/m_values *** efun.orig/m_values 2009-10-09 16:04:55.000000000 +0000 --- efun/m_values 2009-10-18 21:25:04.000000000 +0000 *************** *** 1,6 **** SYNOPSIS ! mixed *m_values(mapping map) ! mixed *m_values(mapping map, int index) DESCRIPTION Returns an array with the values of mapping 'map'. --- 1,6 ---- SYNOPSIS ! mixed * m_values(mapping map) ! mixed * m_values(mapping map, int index) DESCRIPTION Returns an array with the values of mapping 'map'. diff -c efun.orig/object_info efun/object_info *** efun.orig/object_info 2009-10-09 16:04:55.000000000 +0000 --- efun/object_info 2009-10-19 16:25:52.000000000 +0000 *************** *** 1,8 **** SYNOPSIS ! #include <sys/objectinfo.h> ! mixed * object_info (object ob, int what) ! mixed * object_info (object ob, int what, int index) DESCRIPTION Returns some internal information about object <ob>, collected --- 1,8 ---- SYNOPSIS ! #include <objectinfo.h> ! mixed * object_info(object ob, int what) ! mixed * object_info(object ob, int what, int index) DESCRIPTION Returns some internal information about object <ob>, collected diff -c efun.orig/or_bits efun/or_bits *** efun.orig/or_bits 2009-10-09 16:04:55.000000000 +0000 --- efun/or_bits 2009-10-19 20:49:17.000000000 +0000 *************** *** 1,7 **** SYNOPSIS ! string or_bits (string str1, string str2) ! DESTRIPTION <str1> and <str2> are both bitstrings. The result of the function is a bitstring with the binary-or of <str1> and <str2>, ie. a string in which a bit is set if the corresponding --- 1,7 ---- SYNOPSIS ! string or_bits(string str1, string str2) ! DESCRIPTION <str1> and <str2> are both bitstrings. The result of the function is a bitstring with the binary-or of <str1> and <str2>, ie. a string in which a bit is set if the corresponding diff -c efun.orig/order_alist efun/order_alist *** efun.orig/order_alist 2009-10-09 16:04:55.000000000 +0000 --- efun/order_alist 2009-10-18 20:57:48.000000000 +0000 *************** *** 1,5 **** SYNOPSIS ! mixed *order_alist(mixed *keys, mixed *|void data, ...) DESCRIPTION Creates an alist. --- 1,6 ---- + OPTIONAL SYNOPSIS ! mixed * order_alist(mixed *keys, mixed *|void data, ...) DESCRIPTION Creates an alist. diff -c efun.orig/parse_command efun/parse_command *** efun.orig/parse_command 2009-10-09 16:04:55.000000000 +0000 --- efun/parse_command 2009-10-18 20:59:58.000000000 +0000 *************** *** 1,7 **** OPTIONAL SYNOPSIS ! int parse_command (string cmd, object env, string fmt, mixed &var, ...) ! int parse_command (string cmd, object* arr, string fmt, mixed &var, ...) DESCRIPTION parse_command() is basically a spiffed up sscanf operating --- 1,7 ---- OPTIONAL SYNOPSIS ! int parse_command(string cmd, object env, string fmt, mixed &var, ...) ! int parse_command(string cmd, object *arr, string fmt, mixed &var, ...) DESCRIPTION parse_command() is basically a spiffed up sscanf operating *************** *** 120,129 **** int parse_command(string, object|object*, string, destargs...) ! EXAMPLE object *items; ! parse_command( "take apple",environment(this_player()) ! , " 'get' / 'take' %i ",items); HISTORY LDMud 3.3.258 removed the compat-mode parse_command(). --- 120,129 ---- int parse_command(string, object|object*, string, destargs...) ! EXAMPLES object *items; ! parse_command("take apple",environment(this_player()), ! " 'get' / 'take' %i ", items); HISTORY LDMud 3.3.258 removed the compat-mode parse_command(). diff -c efun.orig/pg_connect efun/pg_connect *** efun.orig/pg_connect 2009-10-09 16:04:55.000000000 +0000 --- efun/pg_connect 2009-10-19 16:26:40.000000000 +0000 *************** *** 1,8 **** OPTIONAL SYNOPSIS ! int pg_connect (string conn, string fun) ! int pg_connect (string conn, string fun, string|object obj, mixed extra, ...) ! int pg_connect (string conn, closure cl, mixed extra, ...) DESCRIPTION Open a database connection as directed by <conn>, and assign the --- 1,9 ---- OPTIONAL SYNOPSIS ! int pg_connect(string conn, string fun) ! int pg_connect(string conn, string fun, string|object obj, ! mixed extra, ...) ! int pg_connect(string conn, closure cl, mixed extra, ...) DESCRIPTION Open a database connection as directed by <conn>, and assign the diff -c efun.orig/pg_pending efun/pg_pending *** efun.orig/pg_pending 2009-10-09 16:04:55.000000000 +0000 --- efun/pg_pending 2009-10-19 16:26:50.000000000 +0000 *************** *** 1,7 **** OPTIONAL SYNOPSIS ! int pg_pending () ! int pg_pending (object obj) DESCRIPTION Return the number of pending queries for the connection on the given --- 1,7 ---- OPTIONAL SYNOPSIS ! int pg_pending() ! int pg_pending(object obj) DESCRIPTION Return the number of pending queries for the connection on the given diff -c efun.orig/pow efun/pow *** efun.orig/pow 2009-10-09 16:04:55.000000000 +0000 --- efun/pow 2009-10-19 16:27:02.000000000 +0000 *************** *** 1,11 **** SYNOPSIS ! float pow (int|float base, int|float exp) DESCRIPTION The function returns the value of <base> raised to the power of <exp>. EXAMPLES ! pow(-2, 3) - returns -8.0 pow(8, 1.0/3.0) - returns 2.0 HISTORY --- 1,11 ---- SYNOPSIS ! float pow(int|float base, int|float exp) DESCRIPTION The function returns the value of <base> raised to the power of <exp>. EXAMPLES ! pow(-2, 3) - returns -8.0 pow(8, 1.0/3.0) - returns 2.0 HISTORY diff -c efun.orig/present efun/present *** efun.orig/present 2009-10-09 16:04:55.000000000 +0000 --- efun/present 2009-10-19 16:27:26.000000000 +0000 *************** *** 24,30 **** the efun searches just inside <env>. When searching both inventory and environment of this_object(), ! the numbering is applied linear over both spaces (see example). The driver identifies objects by calling the lfun id() in each object. --- 24,30 ---- the efun searches just inside <env>. When searching both inventory and environment of this_object(), ! the numbering is applied linear over both spaces (see examples). The driver identifies objects by calling the lfun id() in each object. *************** *** 48,54 **** A typical 2.4.5-implementation of the "do <id> <n>" command style is: ! void init () { add_action ("open_chest", "open"); } int open_chest (string str) { if (present (str) != this_object ()) --- 48,54 ---- A typical 2.4.5-implementation of the "do <id> <n>" command style is: ! void init() { add_action("open_chest", "open"); } int open_chest (string str) { if (present (str) != this_object ()) diff -c efun.orig/present_clone efun/present_clone *** efun.orig/present_clone 2009-10-09 16:04:55.000000000 +0000 --- efun/present_clone 2009-10-19 20:23:57.000000000 +0000 *************** *** 1,11 **** PRELIMINARY SYNOPSIS ! object present_clone(string str); object present_clone(string str, int n) object present_clone(string str, object env) object present_clone(string str, object env, int n) ! object present_clone(object obj); object present_clone(object obj, int n) object present_clone(object obj, object env) object present_clone(object obj, object env, int n) --- 1,11 ---- PRELIMINARY SYNOPSIS ! object present_clone(string str) object present_clone(string str, int n) object present_clone(string str, object env) object present_clone(string str, object env, int n) ! object present_clone(object obj) object present_clone(object obj, int n) object present_clone(object obj, object env) object present_clone(object obj, object env, int n) *************** *** 21,27 **** otherwise the first object matching <str> or <obj>. If no object in <env> matches the criteria, 0 is returned. ! For plain driver this name starts with a '/', for compat-mode drivers it doesn't. EXAMPLES --- 21,27 ---- otherwise the first object matching <str> or <obj>. If no object in <env> matches the criteria, 0 is returned. ! For plain driver this name starts with a '/', for COMPAT mode drivers it doesn't. EXAMPLES *************** *** 39,53 **** | present_clone("/std/weapon#12", env, 3) | 0 | +--------------------------------------------------+---------------+ - For compat-mode drivers, remove the leading '/' from the given - names. - REMARKS Note that in contrast to present(), this efun never searches in the environment of <env>. HISTORY ! Introduced in 3.2.7 Searching for the <n>th object was added in 3.3.718. SEE ALSO --- 39,50 ---- | present_clone("/std/weapon#12", env, 3) | 0 | +--------------------------------------------------+---------------+ REMARKS Note that in contrast to present(), this efun never searches in the environment of <env>. HISTORY ! Introduced in 3.2.7. Searching for the <n>th object was added in 3.3.718. SEE ALSO diff -c efun.orig/previous_object efun/previous_object *** efun.orig/previous_object 2009-10-09 16:04:55.000000000 +0000 --- efun/previous_object 2009-10-15 21:24:13.000000000 +0000 *************** *** 17,35 **** added by add_action), previous_object() will return this_object(), but previous_object(0) will return 0. ! EXAMPLE int security() { object prev; ! if(!(prev=previous_object())); ! else if(getuid(prev)!=getuid(this_object())); ! else if(geteuid(prev)!=geteuid(this_object())); else return 1; return 0; } void highly_sensible_func() { ! if(!security()) ! return; ! ... } This example shows how we can check if the last call to a --- 17,35 ---- added by add_action), previous_object() will return this_object(), but previous_object(0) will return 0. ! EXAMPLES int security() { object prev; ! if (!(prev=previous_object())); ! else if (getuid(prev) != getuid(this_object())); ! else if (geteuid(prev) != geteuid(this_object())); else return 1; return 0; } void highly_sensible_func() { ! if (!security()) ! return; ! ... } This example shows how we can check if the last call to a diff -c efun.orig/process_string efun/process_string *** efun.orig/process_string 2009-10-09 16:04:55.000000000 +0000 --- efun/process_string 2009-10-15 21:24:21.000000000 +0000 *************** *** 23,29 **** @@function1@@function2@@ ! EXAMPLE string foo(string str) { return "ab"+str+"ef"; } --- 23,29 ---- @@function1@@function2@@ ! EXAMPLES string foo(string str) { return "ab"+str+"ef"; } diff -c efun.orig/program_name efun/program_name *** efun.orig/program_name 2009-10-09 16:04:55.000000000 +0000 --- efun/program_name 2009-10-15 21:24:48.000000000 +0000 *************** *** 18,24 **** CAVEAT: This efun swaps in the program if it is swapped out. ! EXAMPLE object o; o = clone_object("/std/thing"); write(program_name(o)); --> writes "/std/thing.c" in !compat mode --- 18,24 ---- CAVEAT: This efun swaps in the program if it is swapped out. ! EXAMPLES object o; o = clone_object("/std/thing"); write(program_name(o)); --> writes "/std/thing.c" in !compat mode diff -c efun.orig/query_actions efun/query_actions *** efun.orig/query_actions 2009-10-09 16:04:55.000000000 +0000 --- efun/query_actions 2009-10-19 20:54:47.000000000 +0000 *************** *** 1,7 **** SYNOPSIS ! #include <sys/commands.h> ! mixed *query_actions(object ob, mixed mask_or_verb) DESCRIPTION query_actions takes either an object or a filename as first --- 1,8 ---- SYNOPSIS ! #include <commands.h> ! #include <sent.h> ! mixed * query_actions(object ob, mixed mask_or_verb) DESCRIPTION query_actions takes either an object or a filename as first *************** *** 18,24 **** QA_OBJECT ( 8): object QA_FUNCTION (16): function ! "type" is one of the values defined in <sent.h> (/sys/sent.h) (which is provided with the parser source). SENT_PLAIN added with add_action (fun, cmd); --- 19,25 ---- QA_OBJECT ( 8): object QA_FUNCTION (16): function ! "type" is one of the values defined in <sent.h> (which is provided with the parser source). SENT_PLAIN added with add_action (fun, cmd); diff -c efun.orig/query_command efun/query_command *** efun.orig/query_command 2009-10-09 16:04:55.000000000 +0000 --- efun/query_command 2009-10-15 21:24:52.000000000 +0000 *************** *** 12,18 **** by a call_out or the heart beat. Also when a user logs in query_command() returns 0. ! EXAMPLE void init() { ... add_action("sing","sing"); --- 12,18 ---- by a call_out or the heart beat. Also when a user logs in query_command() returns 0. ! EXAMPLES void init() { ... add_action("sing","sing"); diff -c efun.orig/query_limits efun/query_limits *** efun.orig/query_limits 2009-10-09 16:04:55.000000000 +0000 --- efun/query_limits 2009-10-15 21:12:50.000000000 +0000 *************** *** 1,5 **** SYNOPSIS ! #include <sys/rtlimits.h> int * query_limits() int * query_limits(int default) --- 1,5 ---- SYNOPSIS ! #include <rtlimits.h> int * query_limits() int * query_limits(int default) diff -c efun.orig/query_mccp_stats efun/query_mccp_stats *** efun.orig/query_mccp_stats 2009-10-09 16:04:55.000000000 +0000 --- efun/query_mccp_stats 2009-10-18 21:25:33.000000000 +0000 *************** *** 1,7 **** OPTIONAL SYNOPSIS ! int *query_mccp_stats() ! int *query_mccp_stats(object player) DESCRIPTION This efun gives you statistics about current compression --- 1,7 ---- OPTIONAL SYNOPSIS ! int * query_mccp_stats() ! int * query_mccp_stats(object player) DESCRIPTION This efun gives you statistics about current compression diff -c efun.orig/query_verb efun/query_verb *** efun.orig/query_verb 2009-10-09 16:04:55.000000000 +0000 --- efun/query_verb 2009-10-15 21:24:55.000000000 +0000 *************** *** 9,15 **** up to but not including the first space or lineend). If <flag> is non-0, the verb as specified in the add_action() statement is returned. ! EXAMPLE void init() { ... add_action("sing","sing"); --- 9,15 ---- up to but not including the first space or lineend). If <flag> is non-0, the verb as specified in the add_action() statement is returned. ! EXAMPLES void init() { ... add_action("sing","sing"); diff -c efun.orig/regexp efun/regexp *** efun.orig/regexp 2009-10-09 16:04:55.000000000 +0000 --- efun/regexp 2009-10-18 21:25:40.000000000 +0000 *************** *** 1,8 **** SYNOPSIS #include <regexp.h> ! string *regexp(string *list, string pattern) ! string *regexp(string *list, string pattern, int opt) DESCRIPTION Match the pattern <pattern> (interpreted according to <opt> if --- 1,8 ---- SYNOPSIS #include <regexp.h> ! string * regexp(string *list, string pattern) ! string * regexp(string *list, string pattern, int opt) DESCRIPTION Match the pattern <pattern> (interpreted according to <opt> if *************** *** 12,18 **** If there is an error in the regular expression, a runtime error will be raised. ! EXAMPLE string strs; string pattern; --- 12,18 ---- If there is an error in the regular expression, a runtime error will be raised. ! EXAMPLES string strs; string pattern; *************** *** 21,32 **** else pattern = "\\bhelp\\b.*\\bme\\b"; ! if (strs = regexp( ({"please, help me Sir John."}), ! , pattern ! )) ! { ! if (sizeof(strs) ! write("It matches.\n"); } The regular expression will test the given string (which is --- 21,29 ---- else pattern = "\\bhelp\\b.*\\bme\\b"; ! if (strs = regexp(({"please, help me Sir John."}), pattern)) { ! if (sizeof(strs) ! write("It matches.\n"); } The regular expression will test the given string (which is diff -c efun.orig/regexplode efun/regexplode *** efun.orig/regexplode 2009-10-09 16:04:55.000000000 +0000 --- efun/regexplode 2009-10-19 16:29:30.000000000 +0000 *************** *** 1,8 **** SYNOPSIS #include <regexp.h> ! string *regexplode (string text, string pattern) ! string *regexplode (string text, string pattern, int opt) DESCRIPTION This function is similar to explode but accepts a regular --- 1,8 ---- SYNOPSIS #include <regexp.h> ! string * regexplode(string text, string pattern) ! string * regexplode(string text, string pattern, int opt) DESCRIPTION This function is similar to explode but accepts a regular *************** *** 19,25 **** regexplode("abcdef", "cde", RE_OMIT_DELIM) -> ({ "ab", "f" }) HISTORY ! Introduced in 3.2@61 LDMud 3.3 added the optional <opt> argument and the RE_OMIT_DELIM flag. --- 19,25 ---- regexplode("abcdef", "cde", RE_OMIT_DELIM) -> ({ "ab", "f" }) HISTORY ! Introduced in 3.2@61. LDMud 3.3 added the optional <opt> argument and the RE_OMIT_DELIM flag. diff -c efun.orig/regexp_package efun/regexp_package *** efun.orig/regexp_package 2009-10-09 16:04:55.000000000 +0000 --- efun/regexp_package 2009-10-15 21:25:01.000000000 +0000 *************** *** 19,25 **** If there is an error in the regular expression, a runtime error will be raised. ! EXAMPLE string strs; string pattern; --- 19,25 ---- If there is an error in the regular expression, a runtime error will be raised. ! EXAMPLES string strs; string pattern; *************** *** 28,39 **** else pattern = "\\bhelp\\b.*\\bme\\b"; ! if (strs = regexp( ({"please, help me Sir John."}), ! , pattern ! )) ! { ! if (sizeof(strs) ! write("It matches.\n"); } The regular expression will test the given string (which is --- 28,36 ---- else pattern = "\\bhelp\\b.*\\bme\\b"; ! if (strs = regexp(({"please, help me Sir John."}), pattern)) { ! if (sizeof(strs) ! write("It matches.\n"); } The regular expression will test the given string (which is diff -c efun.orig/regmatch efun/regmatch *** efun.orig/regmatch 2009-10-09 16:04:55.000000000 +0000 --- efun/regmatch 2009-10-18 21:26:14.000000000 +0000 *************** *** 1,11 **** SYNOPSIS #include <regexp.h> ! string regmatch (string text, string pattern) ! string regmatch (string text, string pattern, int opt) ! string regmatch (string text, string pattern, int opt, int start) ! string *regmatch (string text, string pattern, int opt) ! string *regmatch (string text, string pattern, int opt, int start) DESCRIPTION Match the string <txt> against <pattern> (interpreted according --- 1,11 ---- SYNOPSIS #include <regexp.h> ! string regmatch(string text, string pattern) ! string regmatch(string text, string pattern, int opt) ! string regmatch(string text, string pattern, int opt, int start) ! string * regmatch(string text, string pattern, int opt) ! string * regmatch(string text, string pattern, int opt, int start) DESCRIPTION Match the string <txt> against <pattern> (interpreted according *************** *** 30,36 **** new index is usually equal the length of the match, but at least one higher than the original start index. ! EXAMPLE regmatch("abcdefcdf", "cd") -> "cd" regmatch("abcdefcdf", "cd(e)") -> "cde" --- 30,37 ---- new index is usually equal the length of the match, but at least one higher than the original start index. ! ! EXAMPLES regmatch("abcdefcdf", "cd") -> "cd" regmatch("abcdefcdf", "cd(e)") -> "cde" diff -c efun.orig/regreplace efun/regreplace *** efun.orig/regreplace 2009-10-09 16:04:55.000000000 +0000 --- efun/regreplace 2009-10-18 21:00:39.000000000 +0000 *************** *** 1,8 **** SYNOPSIS #include <regexp.h> ! string regreplace( string txt, string pattern ! , closure|string replacepattern, int flags) DESCRIPTION This function looks through txt looking for the regular --- 1,8 ---- SYNOPSIS #include <regexp.h> ! string regreplace(string txt, string pattern, ! closure|string replacepattern, int flags) DESCRIPTION This function looks through txt looking for the regular *************** *** 25,31 **** replacing variable strings (as opposed to regexplode, where you can explode by regular expression, but not implode...) ! EXAMPLE string msgin; /* Checks msgin for the string 'tells you: ' and all following --- 25,32 ---- replacing variable strings (as opposed to regexplode, where you can explode by regular expression, but not implode...) ! ! EXAMPLES string msgin; /* Checks msgin for the string 'tells you: ' and all following *************** *** 43,50 **** /* Put the word HOUSE into lower case. */ txt = regreplace(txt, "HOUSE", #'lower_case, 1); HISTORY ! Introduced in 3.2.1@125 The use of a closure as replacepattern was introduced in LDMud 3.2.9. --- 44,52 ---- /* Put the word HOUSE into lower case. */ txt = regreplace(txt, "HOUSE", #'lower_case, 1); + HISTORY ! Introduced in 3.2.1@125. The use of a closure as replacepattern was introduced in LDMud 3.2.9. diff -c efun.orig/remove_action efun/remove_action *** efun.orig/remove_action 2009-10-09 16:04:55.000000000 +0000 --- efun/remove_action 2009-10-19 16:29:57.000000000 +0000 *************** *** 12,18 **** Return the number of actions removed. HISTORY ! Introduced in 3.2.1 LDMud 3.2.10 added the ability to remove all actions. SEE ALSO --- 12,18 ---- Return the number of actions removed. HISTORY ! Introduced in 3.2.1. LDMud 3.2.10 added the ability to remove all actions. SEE ALSO diff -c efun.orig/remove_call_out efun/remove_call_out *** efun.orig/remove_call_out 2009-10-09 16:04:55.000000000 +0000 --- efun/remove_call_out 2009-10-15 21:25:18.000000000 +0000 *************** *** 10,16 **** -1 is returned if there were no call-outs pending to this function. ! EXAMPLE To remove every pending call-out to MyTimer() : while (remove_call_out("MyTimer") != -1) /* continue */ ; --- 10,16 ---- -1 is returned if there were no call-outs pending to this function. ! EXAMPLES To remove every pending call-out to MyTimer() : while (remove_call_out("MyTimer") != -1) /* continue */ ; diff -c efun.orig/remove_input_to efun/remove_input_to *** efun.orig/remove_input_to 2009-10-09 16:04:55.000000000 +0000 --- efun/remove_input_to 2009-10-19 18:57:30.000000000 +0000 *************** *** 1,9 **** SYNOPSIS ! int remove_input_to (object player) ! int remove_input_to (object player, string fun) ! int remove_input_to (object player, closure fun) ! int remove_input_to (object player, object fun) ! int remove_input_to (object player, object ob, string fun) DESCRIPTION Remove a pending input_to from the interactive <player> object. --- 1,9 ---- SYNOPSIS ! int remove_input_to(object player) ! int remove_input_to(object player, string fun) ! int remove_input_to(object player, closure fun) ! int remove_input_to(object player, object fun) ! int remove_input_to(object player, object ob, string fun) DESCRIPTION Remove a pending input_to from the interactive <player> object. *************** *** 13,33 **** If the optional <fun> is given, the efun tries to find and remove the most recently added input_to matching the <fun> argument: - <fun> is a string: the input_to functionname has to match ! - <fun> is an object: the object the input_to function is bound to has ! to match - <fun> is a closure: the input_to closure has to match. ! - <ob> and <fun> are given: both the object and the functionname have ! to match ! Return 1 on success, or 0 on failure (no input_to found, object is not ! interactive or has no input_to pending). EXAMPLES ! // Remove all pending input_to from the current user, if any. ! while (remove_input_to(this_interactive())) ; HISTORY ! Introduced in LDMud 3.2.9 / 3.3.119 . SEE ALSO input_to(E), find_input_to(E), input_to_info(E), query_input_pending(E) --- 13,33 ---- If the optional <fun> is given, the efun tries to find and remove the most recently added input_to matching the <fun> argument: - <fun> is a string: the input_to functionname has to match ! - <fun> is an object: the object the input_to function is bound to ! has to match - <fun> is a closure: the input_to closure has to match. ! - <ob> and <fun> are given: both the object and the functionname ! have to match ! Return 1 on success, or 0 on failure (no input_to found, object is ! not interactive or has no input_to pending). EXAMPLES ! Remove all pending input_to from the current user, if any. ! while (remove_input_to(this_interactive())) ; HISTORY ! Introduced in LDMud 3.2.9 / 3.3.119. SEE ALSO input_to(E), find_input_to(E), input_to_info(E), query_input_pending(E) diff -c efun.orig/rename efun/rename *** efun.orig/rename 2009-10-09 16:04:55.000000000 +0000 --- efun/rename 2009-10-15 21:25:37.000000000 +0000 *************** *** 19,25 **** On successfull completion rename() will return 0. If any error occurs, a non-zero value is returned. ! EXAMPLE rename("/players/wizard/obj.c", "/players/wizard/newobj.c"); SEE ALSO --- 19,25 ---- On successfull completion rename() will return 0. If any error occurs, a non-zero value is returned. ! EXAMPLES rename("/players/wizard/obj.c", "/players/wizard/newobj.c"); SEE ALSO diff -c efun.orig/rename_object efun/rename_object *** efun.orig/rename_object 2009-10-09 16:04:55.000000000 +0000 --- efun/rename_object 2009-10-19 20:24:01.000000000 +0000 *************** *** 1,5 **** SYNOPSIS ! void rename_object (object ob, string new_name); DESCRIPTION Give the object <ob> a new object name <new_name>. Causes a privilege --- 1,5 ---- SYNOPSIS ! void rename_object(object ob, string new_name) DESCRIPTION Give the object <ob> a new object name <new_name>. Causes a privilege diff -c efun.orig/restore_object efun/restore_object *** efun.orig/restore_object 2009-10-09 16:04:55.000000000 +0000 --- efun/restore_object 2009-10-19 16:30:57.000000000 +0000 *************** *** 1,6 **** SYNOPSIS ! int restore_object (string name) ! int restore_object (string str) DESCRIPTION Restore values of variables for current object from the file <name>, --- 1,6 ---- SYNOPSIS ! int restore_object(string name) ! int restore_object(string str) DESCRIPTION Restore values of variables for current object from the file <name>, diff -c efun.orig/restore_value efun/restore_value *** efun.orig/restore_value 2009-10-09 16:04:55.000000000 +0000 --- efun/restore_value 2009-10-19 16:31:02.000000000 +0000 *************** *** 1,5 **** SYNOPSIS ! mixed restore_value (string str) DESCRIPTION Decode the string representation <str> of a value back into the value --- 1,5 ---- SYNOPSIS ! mixed restore_value(string str) DESCRIPTION Decode the string representation <str> of a value back into the value diff -c efun.orig/reverse efun/reverse *** efun.orig/reverse 2009-10-09 16:04:55.000000000 +0000 --- efun/reverse 2009-10-19 16:31:19.000000000 +0000 *************** *** 1,8 **** SYNOPSIS ! inti reverse (int arg) ! string reverse (string arg) ! mixed * reverse (mixed * arg) ! mixed * reverse (mixed * & arg) DESCRIPTION Reverse the content of array or string <arg> and return the result. --- 1,8 ---- SYNOPSIS ! int reverse(int arg) ! string reverse(string arg) ! mixed * reverse(mixed * arg) ! mixed * reverse(mixed * & arg) DESCRIPTION Reverse the content of array or string <arg> and return the result. *************** *** 12,20 **** is reversed and then returned. EXAMPLES ! reverse (0x306a) - return 0x560c0000 ! reverse ("test") - return "tset" mixed * arr = ({ 1, 2 }); reverse(arr) - returns ({ 2, 1 }), leaves arr unchanged. --- 12,20 ---- is reversed and then returned. EXAMPLES ! reverse(0x306a) - returns 0x560c0000 ! reverse("test") - returns "tset" mixed * arr = ({ 1, 2 }); reverse(arr) - returns ({ 2, 1 }), leaves arr unchanged. diff -c efun.orig/rusage efun/rusage *** efun.orig/rusage 2009-10-09 16:04:55.000000000 +0000 --- efun/rusage 2009-10-18 21:26:47.000000000 +0000 *************** *** 1,6 **** OPTIONAL SYNOPSIS ! int *rusage(void) DESCRIPTION Return an array with current system resource usage statistics, --- 1,6 ---- OPTIONAL SYNOPSIS ! int * rusage(void) DESCRIPTION Return an array with current system resource usage statistics, *************** *** 14,17 **** This function is optional. SEE ALSO ! sys/resource.h(Unix) --- 14,17 ---- This function is optional. SEE ALSO ! <sys/resource.h>(Unix) diff -c efun.orig/save_object efun/save_object *** efun.orig/save_object 2009-10-09 16:04:55.000000000 +0000 --- efun/save_object 2009-10-19 16:33:35.000000000 +0000 *************** *** 1,6 **** SYNOPSIS ! int save_object (string name [, int format]) ! string save_object ([int format]) DESCRIPTION Encode the saveable variables of the current object into a string. --- 1,6 ---- SYNOPSIS ! int save_object(string name [, int format]) ! string save_object([int format]) DESCRIPTION Encode the saveable variables of the current object into a string. *************** *** 20,26 **** -1: use the driver's native format (default). 0: original format, used by Amylaar LPMud and LDMud <= 3.2.8 . ! 1: LDMud >= 3.2.9: no-lambda closures, symbols, quoted arrays can be saved. A variable is considered 'saveable' if it is not declared --- 20,26 ---- -1: use the driver's native format (default). 0: original format, used by Amylaar LPMud and LDMud <= 3.2.8 . ! 1: LDMud >= 3.2.9: non-lambda closures, symbols, quoted arrays can be saved. A variable is considered 'saveable' if it is not declared diff -c efun.orig/save_value efun/save_value *** efun.orig/save_value 2009-10-09 16:04:55.000000000 +0000 --- efun/save_value 2009-10-19 20:00:42.000000000 +0000 *************** *** 1,5 **** SYNOPSIS ! string save_value (mixed value [, int format]) DESCRIPTION Encode the <value> into a string suitable for restoration with --- 1,6 ---- SYNOPSIS ! string save_value(mixed value) ! string save_value(mixed value, int format) DESCRIPTION Encode the <value> into a string suitable for restoration with diff -c efun.orig/say efun/say *** efun.orig/say 2009-10-09 16:04:55.000000000 +0000 --- efun/say 2009-10-18 21:27:13.000000000 +0000 *************** *** 61,67 **** void catch_msg(mixed *arr, object who) { int i; if(!arr) return; ! for(i=0;i<sizeof(arr);i++) tell_object(who, (stringp(arr[i]) ? arr[i] : "-/-")+"\n"); } Object 2 (not living): --- 61,67 ---- void catch_msg(mixed *arr, object who) { int i; if(!arr) return; ! for(i=0; i<sizeof(arr); i++) tell_object(who, (stringp(arr[i]) ? arr[i] : "-/-")+"\n"); } Object 2 (not living): diff -c efun.orig/send_erq efun/send_erq *** efun.orig/send_erq 2009-10-09 16:04:55.000000000 +0000 --- efun/send_erq 2009-10-19 20:57:28.000000000 +0000 *************** *** 10,16 **** erq (a status code) arrives, if the response carries enough data to work on. ! <request> can be one of the request codes defined in <erq.h> The binary flag ERQ_CB_STRING defines whether the <callback> closure expects the returned data packed into an array of integers or as a string. --- 10,16 ---- erq (a status code) arrives, if the response carries enough data to work on. ! <request> can be one of the request codes defined in <erq.h>. The binary flag ERQ_CB_STRING defines whether the <callback> closure expects the returned data packed into an array of integers or as a string. *************** *** 20,26 **** <callback>, if set, is a closure of either these forms: ! !ERQ_CB_STRING: void <closure>(int * response_data, int len) ERQ_CB_STRING: void <closure>(string response_data) The result returned from the efun is 0 on failure to send the --- 20,26 ---- <callback>, if set, is a closure of either these forms: ! !ERQ_CB_STRING: void <closure>(int *response_data, int len) ERQ_CB_STRING: void <closure>(string response_data) The result returned from the efun is 0 on failure to send the diff -c efun.orig/send_udp efun/send_udp *** efun.orig/send_udp 2009-10-09 16:04:55.000000000 +0000 --- efun/send_udp 2009-10-19 20:48:51.000000000 +0000 *************** *** 3,9 **** int send_udp(string host, int port, int * message) DESCRIPTION ! Sends The message in an UDP packet to the given host and port number. The efun causes the privilege violation ("send_udp"). --- 3,9 ---- int send_udp(string host, int port, int * message) DESCRIPTION ! Sends the <message> in an UDP packet to the given host and port number. The efun causes the privilege violation ("send_udp"). *************** *** 14,20 **** until the next send_udp() - the latter one might return '0' even if itself was successful. ! BUG If the <host> is given as a fully qualified name (instead of an IP address), the execution will block until the name is resolved. --- 14,20 ---- until the next send_udp() - the latter one might return '0' even if itself was successful. ! BUGS If the <host> is given as a fully qualified name (instead of an IP address), the execution will block until the name is resolved. diff -c efun.orig/set_bit efun/set_bit *** efun.orig/set_bit 2009-10-09 16:04:55.000000000 +0000 --- efun/set_bit 2009-10-19 16:34:10.000000000 +0000 *************** *** 17,23 **** s=set_bit("?",5); Because "?" has a value of 31 the variable s will now contain ! the character "_" wich is equal to 63 (31+2^5=63). string s; s=set_bit("78",3); --- 17,23 ---- s=set_bit("?",5); Because "?" has a value of 31 the variable s will now contain ! the character "_" which is equal to 63 (31+2^5=63). string s; s=set_bit("78",3); diff -c efun.orig/set_combine_charset efun/set_combine_charset *** efun.orig/set_combine_charset 2009-10-09 16:04:55.000000000 +0000 --- efun/set_combine_charset 2009-10-18 21:02:18.000000000 +0000 *************** *** 1,7 **** SYNOPSIS ! void set_combine_charset (int* bitvector) ! void set_combine_charset (string charset) ! void set_combine_charset (0) DESCRIPTION Set the set of characters which can be combined into a single string --- 1,7 ---- SYNOPSIS ! void set_combine_charset(int *bitvector) ! void set_combine_charset(string charset) ! void set_combine_charset(0) DESCRIPTION Set the set of characters which can be combined into a single string *************** *** 23,29 **** if sizeof(bitvector) > n/8 && bitvector[n/8] & (1 << n%8) . ! EXAMPLE // In a screen-oriented editor, most of the printable characters // (excluding answers to editor prompts 'j', 'n' and 'q') can be // combined into strings. --- 23,29 ---- if sizeof(bitvector) > n/8 && bitvector[n/8] & (1 << n%8) . ! EXAMPLES // In a screen-oriented editor, most of the printable characters // (excluding answers to editor prompts 'j', 'n' and 'q') can be // combined into strings. *************** *** 33,39 **** // Disable any previous setting. set_combine_charset(""); - HISTORY Introduced in LDMud 3.2.8. LDMud 3.2.10 added the ability to reset the charset to the default. --- 33,38 ---- diff -c efun.orig/set_connection_charset efun/set_connection_charset *** efun.orig/set_connection_charset 2009-10-09 16:04:55.000000000 +0000 --- efun/set_connection_charset 2009-10-18 21:02:54.000000000 +0000 *************** *** 1,11 **** SYNOPSIS ! void set_connection_charset (int* bitvector, int quote_iac) ! void set_connection_charset (string charset, int quote_iac) ! void set_connection_charset (0, int quote_iac) DESCRIPTION Set the set of characters that can be output to the ! interactive user (this does not apply to binary_message() ). The function must be called by the interactive user object itself. --- 1,11 ---- SYNOPSIS ! void set_connection_charset(int *bitvector, int quote_iac) ! void set_connection_charset(string charset, int quote_iac) ! void set_connection_charset(0, int quote_iac) DESCRIPTION Set the set of characters that can be output to the ! interactive user (this does not apply to binary_message()). The function must be called by the interactive user object itself. diff -c efun.orig/set_driver_hook efun/set_driver_hook *** efun.orig/set_driver_hook 2009-10-09 16:04:55.000000000 +0000 --- efun/set_driver_hook 2009-10-18 21:05:47.000000000 +0000 *************** *** 1,11 **** SYNOPSIS void set_driver_hook(int what, closure arg) void set_driver_hook(int what, string arg) ! void set_driver_hook(int what, string * arg) DESCRIPTION This privileged efun sets the driver hook 'what' (values are ! defined in /sys/driver_hook.h) to 'arg'. The exact meanings and types of 'arg' depend of the hook set. To remove a hook, set 'arg' to 0. --- 1,13 ---- SYNOPSIS + #include <driver_hook.h> + void set_driver_hook(int what, closure arg) void set_driver_hook(int what, string arg) ! void set_driver_hook(int what, string *arg) DESCRIPTION This privileged efun sets the driver hook 'what' (values are ! defined in <driver_hook.h>) to 'arg'. The exact meanings and types of 'arg' depend of the hook set. To remove a hook, set 'arg' to 0. *************** *** 97,103 **** HISTORY Introduced in 3.2.1@1 as efun309(), renamed to ! set_driver_hook() in 3.2.1@13 SEE ALSO hooks(C) --- 99,105 ---- HISTORY Introduced in 3.2.1@1 as efun309(), renamed to ! set_driver_hook() in 3.2.1@13. SEE ALSO hooks(C) diff -c efun.orig/set_extra_wizinfo efun/set_extra_wizinfo *** efun.orig/set_extra_wizinfo 2009-10-09 16:04:55.000000000 +0000 --- efun/set_extra_wizinfo 2009-10-19 16:34:29.000000000 +0000 *************** *** 1,7 **** SYNOPSIS ! void set_extra_wizinfo (object wiz, mixed extra) ! void set_extra_wizinfo (string wiz, mixed extra) ! void set_extra_wizinfo (int wiz, mixed extra) DESCRIPTION Set the value <extra> as the 'extra' information for the wizlist --- 1,7 ---- SYNOPSIS ! void set_extra_wizinfo(object wiz, mixed extra) ! void set_extra_wizinfo(string wiz, mixed extra) ! void set_extra_wizinfo(int wiz, mixed extra) DESCRIPTION Set the value <extra> as the 'extra' information for the wizlist diff -c efun.orig/set_limits efun/set_limits *** efun.orig/set_limits 2009-10-09 16:04:55.000000000 +0000 --- efun/set_limits 2009-10-19 16:34:57.000000000 +0000 *************** *** 1,8 **** SYNOPSIS ! #include <sys/rtlimits.h> void set_limits(int tag, int value, ...) ! void set_limits(int * limits) DESCRIPTION Set the default runtime limits from the given arguments. The new --- 1,8 ---- SYNOPSIS ! #include <rtlimits.h> void set_limits(int tag, int value, ...) ! void set_limits(int *limits) DESCRIPTION Set the default runtime limits from the given arguments. The new *************** *** 25,38 **** The efun causes a privilege violation ("set_limits", current_object, limits-array). EXAMPLES ! set_limits( ({ 200000 }) ) ! set_limits( LIMIT_EVAL, 200000 ) --> set new default eval_cost limit to 200000 ! set_limits( ({ LIMIT_UNLIMITED, LIMIT_KEEP, 5000 }) ) ! set_limits( LIMIT_EVAL, LIMIT_UNLIMITED, LIMIT_ARRAY, LIMIT_KEEP, ! LIMIT_MAPPING, 5000 ) --> set new eval_cost limit to unlimited, keep the current array size limit, and limit mapping sizes to 5000. --- 25,39 ---- The efun causes a privilege violation ("set_limits", current_object, limits-array). + EXAMPLES ! set_limits(({ 200000 })) ! set_limits(LIMIT_EVAL, 200000) --> set new default eval_cost limit to 200000 ! set_limits(({ LIMIT_UNLIMITED, LIMIT_KEEP, 5000 })) ! set_limits(LIMIT_EVAL, LIMIT_UNLIMITED, LIMIT_ARRAY, LIMIT_KEEP, ! LIMIT_MAPPING, 5000) --> set new eval_cost limit to unlimited, keep the current array size limit, and limit mapping sizes to 5000. diff -c efun.orig/set_max_commands efun/set_max_commands *** efun.orig/set_max_commands 2009-10-09 16:04:55.000000000 +0000 --- efun/set_max_commands 2009-10-19 16:35:17.000000000 +0000 *************** *** 1,6 **** SYNOPSIS ! void set_max_commands (int num) ! void set_max_commands (int num, object obj) DESCRIPTION Set the max number of commands the interactive <obj> is --- 1,6 ---- SYNOPSIS ! void set_max_commands(int num) ! void set_max_commands(int num, object obj) DESCRIPTION Set the max number of commands the interactive <obj> is *************** *** 16,30 **** which causes a LPC call - actions and calls to input_to() alike. - HISTORY - Introduced in LDMud 3.2.10. ! EXAMPLE To establish a mud-wide default for the maximum command rate, write master::connect() like this: ! object connect () ! { object obj; ... --- 16,27 ---- which causes a LPC call - actions and calls to input_to() alike. ! EXAMPLES To establish a mud-wide default for the maximum command rate, write master::connect() like this: ! object connect() { object obj; ... *************** *** 36,41 **** --- 33,40 ---- modified max_commands will be rebound from the master object to the returned object. + HISTORY + Introduced in LDMud 3.2.10. SEE ALSO get_max_commands(E), privilege_violation(M) diff -c efun.orig/set_next_reset efun/set_next_reset *** efun.orig/set_next_reset 2009-10-09 16:04:55.000000000 +0000 --- efun/set_next_reset 2009-10-19 16:35:27.000000000 +0000 *************** *** 1,5 **** SYNOPSIS ! int set_next_reset (int delay) DESCRIPTION Instruct the gamedriver to reset this object not earlier than --- 1,5 ---- SYNOPSIS ! int set_next_reset(int delay) DESCRIPTION Instruct the gamedriver to reset this object not earlier than *************** *** 13,19 **** Note that the actual time the reset occurs depends on when the object will be used after the given time delay. ! EXAMPLE set_next_reset(15*60); // Next reset in 15 Minutes or later set_next_reset(0) --> just returns the time until the next reset. --- 13,19 ---- Note that the actual time the reset occurs depends on when the object will be used after the given time delay. ! EXAMPLES set_next_reset(15*60); // Next reset in 15 Minutes or later set_next_reset(0) --> just returns the time until the next reset. diff -c efun.orig/set_this_object efun/set_this_object *** efun.orig/set_this_object 2009-10-09 16:04:55.000000000 +0000 --- efun/set_this_object 2009-10-19 20:23:49.000000000 +0000 *************** *** 1,5 **** SYNOPSIS ! void set_this_object(object object_to_pretend_to_be); DESCRIPTION This is a privileged function, only to be used in the master --- 1,5 ---- SYNOPSIS ! void set_this_object(object object_to_pretend_to_be) DESCRIPTION This is a privileged function, only to be used in the master *************** *** 47,53 **** Some people would consider this a feature. - HISTORY LDMud 3.2.10 actively prevents references to global variables and function calls by address while set_this_object() is in --- 47,52 ---- diff -c efun.orig/sgn efun/sgn *** efun.orig/sgn 2009-10-09 16:04:55.000000000 +0000 --- efun/sgn 2009-10-19 16:35:45.000000000 +0000 *************** *** 1,5 **** SYNOPSIS ! int sgn (int|float arg) DESCRIPTION Return the sign of the argument. --- 1,5 ---- SYNOPSIS ! int sgn(int|float arg) DESCRIPTION Return the sign of the argument. diff -c efun.orig/sha1 efun/sha1 *** efun.orig/sha1 2009-10-09 16:04:55.000000000 +0000 --- efun/sha1 2009-10-19 16:36:01.000000000 +0000 *************** *** 1,7 **** OBSOLETE SYNOPSIS ! string sha1 (string arg [ , int iterations ] ) ! string sha1 (int * arg [ , int iterations ] ) DESCRIPTION Create and return a SHA1 message digest from <arg>. --- 1,7 ---- OBSOLETE SYNOPSIS ! string sha1(string arg [, int iterations ]) ! string sha1(int * arg [, int iterations ]) DESCRIPTION Create and return a SHA1 message digest from <arg>. diff -c efun.orig/shadow efun/shadow *** efun.orig/shadow 2009-10-09 16:04:55.000000000 +0000 --- efun/shadow 2009-10-19 16:36:55.000000000 +0000 *************** *** 31,54 **** With the three objects a.c, b.c and c.c --- a.c --- ! int fun() ! { debug_message(sprintf("%O [a] fun()\n", this_object())); } ! void fun3() ! { debug_message(sprintf("%O [a] fun3()\n", this_object())); } --- b.c --- ! int fun() ! { debug_message(sprintf("%O [b] fun()\n", this_object())); find_object("a")->fun(); } ! void fun2() ! { debug_message(sprintf("%O [b] fun2()\n", this_object())); find_object("a")->fun3(); this_object()->fun3(); --- 31,50 ---- With the three objects a.c, b.c and c.c --- a.c --- ! int fun() { debug_message(sprintf("%O [a] fun()\n", this_object())); } ! void fun3() { debug_message(sprintf("%O [a] fun3()\n", this_object())); } --- b.c --- ! int fun() { debug_message(sprintf("%O [b] fun()\n", this_object())); find_object("a")->fun(); } ! void fun2() { debug_message(sprintf("%O [b] fun2()\n", this_object())); find_object("a")->fun3(); this_object()->fun3(); *************** *** 57,69 **** void do_shadow(object target) { shadow(target, 1); } --- c.c --- ! int fun() ! { debug_message(sprintf("%O [c] fun()\n", this_object())); find_object("a")->fun(); } ! void fun3() ! { debug_message(sprintf("%O [c] fun3()\n", this_object())); } void do_shadow(object target) { shadow(target, 1); } --- 53,63 ---- void do_shadow(object target) { shadow(target, 1); } --- c.c --- ! int fun() { debug_message(sprintf("%O [c] fun()\n", this_object())); find_object("a")->fun(); } ! void fun3() { debug_message(sprintf("%O [c] fun3()\n", this_object())); } void do_shadow(object target) { shadow(target, 1); } *************** *** 111,119 **** was to b itself, which the gamedriver recognized as being shadowed by c. - - - HISTORY Up to 3.2.1@46, destructing a shadowed object also destructs all shadows. Since 3.2.1@47, shadows may survive the --- 105,110 ---- diff -c efun.orig/sl_exec efun/sl_exec *** efun.orig/sl_exec 2009-10-09 16:04:55.000000000 +0000 --- efun/sl_exec 2009-10-18 21:06:15.000000000 +0000 *************** *** 1,6 **** OPTIONAL SYNOPSIS ! mixed* sl_exec(string statement, ...) DESCRIPTION Executes the SQL statement <statement> for the current --- 1,6 ---- OPTIONAL SYNOPSIS ! mixed * sl_exec(string statement, ...) DESCRIPTION Executes the SQL statement <statement> for the current diff -c efun.orig/sort_array efun/sort_array *** efun.orig/sort_array 2009-10-09 16:04:55.000000000 +0000 --- efun/sort_array 2009-10-18 21:28:12.000000000 +0000 *************** *** 1,10 **** SYNOPSIS ! mixed *sort_array(mixed *arr, string wrong_order) ! mixed *sort_array(mixed *arr, string wrong_order, object|string ob) ! mixed *sort_array(mixed *arr, string wrong_order, object|string ob ! , mixed extra...) ! mixed *sort_array(mixed *arr, closure cl) ! mixed *sort_array(mixed *arr, closure cl, mixed extra...) DESCRIPTION Create a shallow copy of the array <arr> and sort the copy --- 1,10 ---- SYNOPSIS ! mixed * sort_array(mixed *arr, string wrong_order) ! mixed * sort_array(mixed *arr, string wrong_order, object|string ob) ! mixed * sort_array(mixed *arr, string wrong_order, object|string ob ! , mixed extra...) ! mixed * sort_array(mixed *arr, closure cl) ! mixed * sort_array(mixed *arr, closure cl, mixed extra...) DESCRIPTION Create a shallow copy of the array <arr> and sort the copy *************** *** 15,24 **** If the 'arr' argument equals 0, the result is also 0. 'ob' is the object in which the ordering function is called ! and may be given as object or by its filename. If <ob> is omitted, or neither a string nor an object, it defaults to this_object(). - The elements from the array to be sorted are passed in pairs to the function 'wrong_order' as arguments, followed by the <extra> arguments if any. --- 15,23 ---- If the 'arr' argument equals 0, the result is also 0. 'ob' is the object in which the ordering function is called ! and may be given as object or by its filename. If <ob> is omitted or neither a string nor an object, it defaults to this_object(). The elements from the array to be sorted are passed in pairs to the function 'wrong_order' as arguments, followed by the <extra> arguments if any. diff -c efun.orig/sscanf efun/sscanf *** efun.orig/sscanf 2009-10-09 16:04:55.000000000 +0000 --- efun/sscanf 2009-10-19 16:37:27.000000000 +0000 *************** *** 2,8 **** int sscanf(string str, string fmt, mixed var1, mixed var2, ...) DESCRIPTION - Parse a string str using the format fmt. fmt can contain strings seperated by %d and %s. Every %d and %s corresponds to one of var1, var2, ... . --- 2,7 ---- *************** *** 52,58 **** The function sscanf is special, in that arguments are passed by reference automatically. ! EXAMPLE string who, what; if (sscanf("throw frisbee to rover", "throw %s to %s", what, who) != 2) --- 51,57 ---- The function sscanf is special, in that arguments are passed by reference automatically. ! EXAMPLES string who, what; if (sscanf("throw frisbee to rover", "throw %s to %s", what, who) != 2) diff -c efun.orig/start_mccp_compress efun/start_mccp_compress *** efun.orig/start_mccp_compress 2009-10-09 16:04:55.000000000 +0000 --- efun/start_mccp_compress 2009-10-15 21:15:58.000000000 +0000 *************** *** 21,26 **** --- 21,27 ---- Available only if the driver is compiled with MCCP enabled; __MCCP__ is defined in that case. + HISTORY Added in LDMud 3.3.447, backported to LDMud 3.2.10. LDMud 3.3.666 added the possibility to enable outgoing compression diff -c efun.orig/strftime efun/strftime *** efun.orig/strftime 2009-10-09 16:04:55.000000000 +0000 --- efun/strftime 2009-10-15 21:34:14.000000000 +0000 *************** *** 38,60 **** name. %B is replaced by national representation of the full month name. %b is replaced by national representation of the abbreviated month name. ! %C is replaced by (year / 100) as decimal number; single digits are pre- ! ceded by a zero. %c is replaced by national representation of time and date. %D is equivalent to ``%m/%d/%y''. %d is replaced by the day of the month as a decimal number (01-31). %E* %O* POSIX locale extensions. The sequences %Ec %EC %Ex %EX %Ey %EY %Od ! %Oe %OH %OI %Om %OM %OS %Ou %OU %OV %Ow %OW %Oy are supposed to pro- ! vide alternate representations. ! Additionly %OB implemented to represent alternative months names (used ! standalone, without day mentioned). %e is replaced by the day of month as a decimal number (1-31); single digits are preceded by a blank. %F is equivalent to ``%Y-%m-%d''. ! %G is replaced by a year as a decimal number with century. This year is ! the one that contains the greater part of the week (Monday as the ! first day of the week). %g is replaced by the same year as in ``%G'', but as a decimal number without century (00-99). %H is replaced by the hour (24-hour clock) as a decimal number (00-23). --- 38,60 ---- name. %B is replaced by national representation of the full month name. %b is replaced by national representation of the abbreviated month name. ! %C is replaced by (year / 100) as decimal number; single digits are ! preceded by a zero. %c is replaced by national representation of time and date. %D is equivalent to ``%m/%d/%y''. %d is replaced by the day of the month as a decimal number (01-31). %E* %O* POSIX locale extensions. The sequences %Ec %EC %Ex %EX %Ey %EY %Od ! %Oe %OH %OI %Om %OM %OS %Ou %OU %OV %Ow %OW %Oy are supposed to ! provide alternate representations. ! Additionally %OB implemented to represent alternative ! months names (used standalone, without day mentioned). %e is replaced by the day of month as a decimal number (1-31); single digits are preceded by a blank. %F is equivalent to ``%Y-%m-%d''. ! %G is replaced by a year as a decimal number with century. This year ! is the one that contains the greater part of the week (Monday as ! the first day of the week). %g is replaced by the same year as in ``%G'', but as a decimal number without century (00-99). %H is replaced by the hour (24-hour clock) as a decimal number (00-23). *************** *** 78,118 **** mktime(3)). %T is equivalent to ``%H:%M:%S''. %t is replaced by a tab. ! %U is replaced by the week number of the year (Sunday as the first day of ! the week) as a decimal number (00-53). ! %u is replaced by the weekday (Monday as the first day of the week) as a ! decimal number (1-7). ! %V is replaced by the week number of the year (Monday as the first day of ! the week) as a decimal number (01-53). If the week containing January ! 1 has four or more days in the new year, then it is week 1; otherwise ! it is the last week of the previous year, and the next week is week 1. %v is equivalent to ``%e-%b-%Y''. ! %W is replaced by the week number of the year (Monday as the first day of ! the week) as a decimal number (00-53). ! %w is replaced by the weekday (Sunday as the first day of the week) as a ! decimal number (0-6). %X is replaced by national representation of the time. %x is replaced by national representation of the date. %Y is replaced by the year with century as a decimal number. %y is replaced by the year without century as a decimal number (00-99). %Z is replaced by the time zone name. %z is replaced by the time zone offset from UTC; a leading plus sign ! stands for east of UTC, a minus sign for west of UTC, hours and min- ! utes follow with two digits each and no delimiter between them (common ! form for RFC 822 date headers). ! %+ is replaced by national representation of the date and time (the for- ! mat is similar to that produced by date(1)). %% is replaced by `%'. BUGS ! There is no conversion specification for the phase of the moon. ! EXAMPLE ! write(strftime("Heute ist %A, der %d. %B %Y.\n")) ! ergibt z.B. ! "Heute ist Montag, der 24. September 2007.\n" ! CHANGES Introduced in LDMud 3.3.718. SEE ALSO --- 78,119 ---- mktime(3)). %T is equivalent to ``%H:%M:%S''. %t is replaced by a tab. ! %U is replaced by the week number of the year (Sunday as the ! first day of the week) as a decimal number (00-53). ! %u is replaced by the weekday (Monday as the first day of ! the week) as a decimal number (1-7). ! %V is replaced by the week number of the year (Monday as the ! first day of the week) as a decimal number (01-53). If the week ! containing January 1st has four or more days in the new year, ! then it is week 1; otherwise it is the last week of the previous ! year, and the next week is week 1. %v is equivalent to ``%e-%b-%Y''. ! %W is replaced by the week number of the year (Monday as the ! first day of the week) as a decimal number (00-53). ! %w is replaced by the weekday (Sunday as the first day of the week) ! as a decimal number (0-6). %X is replaced by national representation of the time. %x is replaced by national representation of the date. %Y is replaced by the year with century as a decimal number. %y is replaced by the year without century as a decimal number (00-99). %Z is replaced by the time zone name. %z is replaced by the time zone offset from UTC; a leading plus sign ! stands for east of UTC, a minus sign for west of UTC, hours and ! minutes follow with two digits each and no delimiter between ! them (common form for RFC 822 date headers). ! %+ is replaced by national representation of the date and time ! (the format is similar to that produced by date(1)). %% is replaced by `%'. + BUGS ! There is no conversion specification for the phase of the moon. ! EXAMPLES ! write(strftime("Today is %A, %d. %B %Y.\n")) ! results in "Today is Monday, 24. September 2007.\n" ! HISTORY Introduced in LDMud 3.3.718. SEE ALSO diff -c efun.orig/strrstr efun/strrstr *** efun.orig/strrstr 2009-10-09 16:04:55.000000000 +0000 --- efun/strrstr 2009-10-19 16:37:32.000000000 +0000 *************** *** 1,6 **** SYNOPSIS ! int strrstr (string str, string str2) ! int strrstr (string str, string str2, int pos) DESCRIPTION Returns the index of the first occurance of <str2> in <str> searching --- 1,6 ---- SYNOPSIS ! int strrstr(string str, string str2) ! int strrstr(string str, string str2, int pos) DESCRIPTION Returns the index of the first occurance of <str2> in <str> searching diff -c efun.orig/strstr efun/strstr *** efun.orig/strstr 2009-10-09 16:04:55.000000000 +0000 --- efun/strstr 2009-10-19 16:37:37.000000000 +0000 *************** *** 1,6 **** SYNOPSIS ! int strstr (string str, string str2) ! int strstr (string str, string str2, int pos) DESCRIPTION Returns the index of <str2> in <str> searching from position <pos> --- 1,6 ---- SYNOPSIS ! int strstr(string str, string str2) ! int strstr(string str, string str2, int pos) DESCRIPTION Returns the index of <str2> in <str> searching from position <pos> diff -c efun.orig/struct_info efun/struct_info *** efun.orig/struct_info 2009-10-09 16:04:55.000000000 +0000 --- efun/struct_info 2009-10-18 21:07:06.000000000 +0000 *************** *** 2,8 **** #include <struct_info.h> #include <lpctypes.h> ! mixed * struct_info (struct st, int what) DESCRIPTION Return information about the structure of struct <st> in an array. --- 2,8 ---- #include <struct_info.h> #include <lpctypes.h> ! mixed * struct_info(struct st, int what) DESCRIPTION Return information about the structure of struct <st> in an array. *************** *** 26,33 **** string [SI_PROG_NAME]: the name of program defining the struct string [SI_PROG_ID]: the id of the program defining the struct mixed [SI_BASE]: 0, or the base struct information ! mixed* [SI_MEMBER+0]: the first member information ! mixed* [SI_MEMBER+n]: the last member information The member information entries are arrays themselves with these elements: --- 26,33 ---- string [SI_PROG_NAME]: the name of program defining the struct string [SI_PROG_ID]: the id of the program defining the struct mixed [SI_BASE]: 0, or the base struct information ! mixed *[SI_MEMBER+0]: the first member information ! mixed *[SI_MEMBER+n]: the last member information The member information entries are arrays themselves with these elements: Common subdirectories: efun.orig/.svn and efun/.svn diff -c efun.orig/symbol_function efun/symbol_function *** efun.orig/symbol_function 2009-10-09 16:04:55.000000000 +0000 --- efun/symbol_function 2009-10-19 16:37:45.000000000 +0000 *************** *** 24,30 **** symbol_function("QueryProp", other_obj) -> other_obj->QueryProp() HISTORY ! Introduced in 3.2@70 SEE ALSO lambda(E), quote(E) --- 24,30 ---- symbol_function("QueryProp", other_obj) -> other_obj->QueryProp() HISTORY ! Introduced in 3.2@70. SEE ALSO lambda(E), quote(E) diff -c efun.orig/symbolp efun/symbolp *** efun.orig/symbolp 2009-10-09 16:04:55.000000000 +0000 --- efun/symbolp 2009-10-15 21:32:02.000000000 +0000 *************** *** 4,10 **** DESCRIPTION Returns true, if arg is a symbol. ! EXAMPLE symbolp('foo) returns 1. HISTORY --- 4,10 ---- DESCRIPTION Returns true, if arg is a symbol. ! EXAMPLES symbolp('foo) returns 1. HISTORY diff -c efun.orig/symbol_variable efun/symbol_variable *** efun.orig/symbol_variable 2009-10-09 16:04:55.000000000 +0000 --- efun/symbol_variable 2009-10-19 16:37:59.000000000 +0000 *************** *** 15,28 **** and private in the inherited object (i.e. hidden), then a privilege violation will occur. - HISTORY - Enabled since 3.2.1@8 - EXAMPLES int base; int var; ! symbol_variable("var") -> #'<this_object>->var symbol_variable(0) -> #'<this_object>->base SEE ALSO lambda(E), quote(E), symbol_function(E) --- 15,28 ---- and private in the inherited object (i.e. hidden), then a privilege violation will occur. EXAMPLES int base; int var; ! symbol_variable("var") -> #'<this_object>->var symbol_variable(0) -> #'<this_object>->base + HISTORY + Enabled since 3.2.1@8. + SEE ALSO lambda(E), quote(E), symbol_function(E) diff -c efun.orig/terminal_colour efun/terminal_colour *** efun.orig/terminal_colour 2009-10-09 16:04:55.000000000 +0000 --- efun/terminal_colour 2009-10-19 16:39:06.000000000 +0000 *************** *** 1,7 **** SYNOPSIS ! varargs string terminal_colour( string str ! , null|mapping|closure map ! , int wrap, int indent ) DESCRIPTION If <map> is given as a non-0 value, this efun expands all --- 1,6 ---- SYNOPSIS ! varargs string terminal_colour(string str, null|mapping|closure map, ! int wrap, int indent) DESCRIPTION If <map> is given as a non-0 value, this efun expands all *************** *** 61,75 **** then tries to treat every substring as color key. One can achieve the MudOS behaviour with this LPC function: ! string mudos_terminal_colour(string str, mapping ext, int w, int i) ! { return terminal_colour("%^"+implode(explode(str, "%^")-({""}) ,"%^%^") , ext, w, i); } - - EXAMPLES mapping trans; string str; --- 60,71 ---- then tries to treat every substring as color key. One can achieve the MudOS behaviour with this LPC function: ! string mudos_terminal_colour(string str, mapping ext, int w, int i) { return terminal_colour("%^"+implode(explode(str, "%^")-({""}) ,"%^%^") , ext, w, i); } EXAMPLES mapping trans; string str; diff -c efun.orig/this_player efun/this_player *** efun.orig/this_player 2009-10-09 16:04:55.000000000 +0000 --- efun/this_player 2009-10-15 21:32:05.000000000 +0000 *************** *** 8,14 **** If called from inside the heart_beat() of a not living object 0 will be returned. ! EXAMPLE if (this_player() != this_interactive()) write("Hey, somebody must have forced us to do a command!\n"); --- 8,14 ---- If called from inside the heart_beat() of a not living object 0 will be returned. ! EXAMPLES if (this_player() != this_interactive()) write("Hey, somebody must have forced us to do a command!\n"); diff -c efun.orig/throw efun/throw *** efun.orig/throw 2009-10-09 16:04:55.000000000 +0000 --- efun/throw 2009-10-15 21:32:08.000000000 +0000 *************** *** 9,15 **** Calling throw() without previous catch() does not make sense and will result in an ``throw without catch'' error. ! EXAMPLE catch(throw("aborting execution")); This will just print the string "aborting execution". --- 9,15 ---- Calling throw() without previous catch() does not make sense and will result in an ``throw without catch'' error. ! EXAMPLES catch(throw("aborting execution")); This will just print the string "aborting execution". diff -c efun.orig/time efun/time *** efun.orig/time 2009-10-09 16:04:55.000000000 +0000 --- efun/time 2009-10-15 21:32:11.000000000 +0000 *************** *** 11,17 **** The result of time() does not change during the course of a command execution. ! EXAMPLE write(ctime(time())+"\n"); Print out the current date and time. --- 11,17 ---- The result of time() does not change during the course of a command execution. ! EXAMPLES write(ctime(time())+"\n"); Print out the current date and time. diff -c efun.orig/tls_check_certificate efun/tls_check_certificate *** efun.orig/tls_check_certificate 2009-10-09 16:04:55.000000000 +0000 --- efun/tls_check_certificate 2009-10-19 20:24:05.000000000 +0000 *************** *** 1,7 **** PRELIMINARY SYNOPSIS ! mixed *tls_check_certificate(object obj); ! mixed *tls_check_certificate(object obj, int extra); DESCRIPTION tls_check_certificate() checks the certificate of the secured --- 1,7 ---- PRELIMINARY SYNOPSIS ! mixed * tls_check_certificate(object obj) ! mixed * tls_check_certificate(object obj, int extra) DESCRIPTION tls_check_certificate() checks the certificate of the secured *************** *** 13,38 **** error is thrown. Otherwise, the result is an array with these values: ! int [0] : Result code of SSL_get_verify_result (see man 1 verify ! subsection DIAGNOSTICS for possible values) ! array [1] : array with 3*n entries of extra x509 data. ! structure is: ! 3*i : numerical form of object name, ! e.g. "2.5.4.3" ! 3*i + 1: long or short name if available, ! e.g. "commonName" ! 3*i + 2: value ! array [2] : if extra is set: ! array with 3*n entries of x509 extension data ! data structure is: ! 3*i : numerical form of extension name ! 3*i + 1: long or short name of extension ! name if available ! 3*i + 2: array of strings with the data ! structure of [1] ! Note: a x509 certificate can have more than one object with ! the same name HISTORY Introduced in LDMud 3.3.672/3.2.11. --- 13,38 ---- error is thrown. Otherwise, the result is an array with these values: ! int [0] : Result code of SSL_get_verify_result (see 'man 1 verify', ! subsection DIAGNOSTICS for possible values) ! array [1] : array with 3*n entries of extra x509 data. ! structure is: ! 3*i : numerical form of object name, ! e.g. "2.5.4.3" ! 3*i + 1: long or short name if available, ! e.g. "commonName" ! 3*i + 2: value ! array [2] : if extra is set: ! array with 3*n entries of x509 extension data ! data structure is: ! 3*i : numerical form of extension name ! 3*i + 1: long or short name of extension ! name if available ! 3*i + 2: array of strings with the data ! structure of [1] ! Note: An X509 certificate can have more than one object with ! the same name. HISTORY Introduced in LDMud 3.3.672/3.2.11. diff -c efun.orig/tls_init_connection efun/tls_init_connection *** efun.orig/tls_init_connection 2009-10-09 16:04:55.000000000 +0000 --- efun/tls_init_connection 2009-10-19 16:39:38.000000000 +0000 *************** *** 1,7 **** PRELIMINARY SYNOPSIS int tls_init_connection(object ob) ! int tls_init_connection(object ob, string fun, string|object fob, mixed extra...) int tls_init_connection(object ob, closure fun, mixed extra...) DESCRIPTION --- 1,8 ---- PRELIMINARY SYNOPSIS int tls_init_connection(object ob) ! int tls_init_connection(object ob, string fun, string|object fob, ! mixed extra...) int tls_init_connection(object ob, closure fun, mixed extra...) DESCRIPTION diff -c efun.orig/tls_query_connection_info efun/tls_query_connection_info *** efun.orig/tls_query_connection_info 2009-10-09 16:04:55.000000000 +0000 --- efun/tls_query_connection_info 2009-10-19 16:39:46.000000000 +0000 *************** *** 1,7 **** PRELIMINARY SYNOPSIS ! #include <sys/ tls.h> ! int *tls_query_connection_info (object ob) DESCRIPTION If <ob> does not have a TLS connection or if the connection --- 1,8 ---- PRELIMINARY SYNOPSIS ! #include <tls.h> ! ! int * tls_query_connection_info(object ob) DESCRIPTION If <ob> does not have a TLS connection or if the connection diff -c efun.orig/to_array efun/to_array *** efun.orig/to_array 2009-10-09 16:04:55.000000000 +0000 --- efun/to_array 2009-10-18 21:30:30.000000000 +0000 *************** *** 1,9 **** SYNOPSIS ! mixed *to_array(string) ! mixed *to_array(symbol) ! mixed *to_array(quotedarray) ! mixed *to_array(mixed *) ! mixed *to_array(struct) (int*)<value> --- 1,9 ---- SYNOPSIS ! mixed * to_array(string) ! mixed * to_array(symbol) ! mixed * to_array(quotedarray) ! mixed * to_array(mixed *) ! mixed * to_array(struct) (int*)<value> *************** *** 16,22 **** Quoted arrays are ``dequoted'', and arrays are left as they are. ! structs are converted into a normal array. BUGS The cast notation only works if the precise type of <value> --- 16,22 ---- Quoted arrays are ``dequoted'', and arrays are left as they are. ! Structs are converted into a normal array. BUGS The cast notation only works if the precise type of <value> diff -c efun.orig/to_int efun/to_int *** efun.orig/to_int 2009-10-09 16:04:55.000000000 +0000 --- efun/to_int 2009-10-19 16:41:10.000000000 +0000 *************** *** 16,22 **** Regarding floats, it is important to keep rounding effects in mind: to_int(3.1*10.0) does not return 31, but instead 30, ! because internally the result of the multiplication is 30.999999 . The function supports the '0x', '0o' and '0b' base prefixes. --- 16,22 ---- Regarding floats, it is important to keep rounding effects in mind: to_int(3.1*10.0) does not return 31, but instead 30, ! because internally the result of the multiplication is 30.999999. The function supports the '0x', '0o' and '0b' base prefixes. *************** *** 26,32 **** function form instead. HISTORY ! Introduced in 3.2.1@2 LDMud 3.2.11/3.3.611 added support for the base prefixes. SEE ALSO --- 26,32 ---- function form instead. HISTORY ! Introduced in 3.2.1@2. LDMud 3.2.11/3.3.611 added support for the base prefixes. SEE ALSO diff -c efun.orig/to_string efun/to_string *** efun.orig/to_string 2009-10-09 16:04:55.000000000 +0000 --- efun/to_string 2009-10-19 16:41:27.000000000 +0000 *************** *** 12,18 **** CAVEAT: Arrays are considered exploded strings, ie. arrays of char codes, and are 'imploded' up to the first non-number entry, whatever ! comes first. That means that to_string( ({ 49, 50 }) ) will return "12" and not "({ 49, 50 })". BUGS --- 12,18 ---- CAVEAT: Arrays are considered exploded strings, ie. arrays of char codes, and are 'imploded' up to the first non-number entry, whatever ! comes first. That means that to_string(({ 49, 50 })) will return "12" and not "({ 49, 50 })". BUGS diff -c efun.orig/trace efun/trace *** efun.orig/trace 2009-10-09 16:04:55.000000000 +0000 --- efun/trace 2009-10-18 21:07:23.000000000 +0000 *************** *** 1,5 **** SYNOPSIS ! #include <sys/trace.h> int trace(int traceflags) --- 1,5 ---- SYNOPSIS ! #include <trace.h> int trace(int traceflags) *************** *** 31,46 **** massive output! TRACE_OBJNAME should be avoided when you know what you trace. - The master-lfun valid_trace() is called with ("trace", traceflags) as argument to verify the use of this efun. ! EXAMPLE object obj; string prefix; ! obj=find_player("wessex"); ! prefix=object_name(obj); ! prefix=prefix[1..strlen(prefix)-1]; /* cut off the leading "/" */ traceprefix(prefix); /* From here on, only code in the object "std/player#69" * will be traced. --- 31,46 ---- massive output! TRACE_OBJNAME should be avoided when you know what you trace. The master-lfun valid_trace() is called with ("trace", traceflags) as argument to verify the use of this efun. ! ! EXAMPLES object obj; string prefix; ! obj = find_player("wessex"); ! prefix = object_name(obj); ! prefix = prefix[1..]; /* cut off the leading "/" */ traceprefix(prefix); /* From here on, only code in the object "std/player#69" * will be traced. *************** *** 51,57 **** HISTORY LDMud 3.2.9 passes the <traceflags> argument to the valid_trace() ! apply as well. SEE ALSO traceprefix(E) --- 51,57 ---- HISTORY LDMud 3.2.9 passes the <traceflags> argument to the valid_trace() ! apply as well. SEE ALSO traceprefix(E) diff -c efun.orig/traceprefix efun/traceprefix *** efun.orig/traceprefix 2009-10-09 16:04:55.000000000 +0000 --- efun/traceprefix 2009-10-15 22:01:19.000000000 +0000 *************** *** 1,4 **** --- 1,6 ---- SYNOPSIS + #include <trace.h> + string traceprefix(string prefix) string traceprefix(int dummy) *************** *** 13,35 **** The master-lfun valid_trace() is called with ("traceprefix", prefix) as arguments to verify the use of this efun. ! EXAMPLE object obj; string prefix; obj = find_player("wessex"); prefix = object_name(obj); ! prefix = prefix[1..strlen(prefix)-1]; /* cut off the leading "/" */ traceprefix(prefix); /* From here on, only code in the object "std/player#69" * will be traced. */ ! trace(1|2|4|8); ... ! trace(0); HISTORY LDMud 3.2.9 passes the <prefix> argument to the valid_trace() ! apply as well. SEE ALSO trace(E) --- 15,37 ---- The master-lfun valid_trace() is called with ("traceprefix", prefix) as arguments to verify the use of this efun. ! EXAMPLES object obj; string prefix; obj = find_player("wessex"); prefix = object_name(obj); ! prefix = prefix[1..]; /* cut off the leading "/" */ traceprefix(prefix); /* From here on, only code in the object "std/player#69" * will be traced. */ ! trace(TRACE_CALL | TRACE_CALL_OTHER | TRACE_RETURN | TRACE_ARGS); ... ! trace(TRACE_NOTHING); HISTORY LDMud 3.2.9 passes the <prefix> argument to the valid_trace() ! apply as well. SEE ALSO trace(E) diff -c efun.orig/transpose_array efun/transpose_array *** efun.orig/transpose_array 2009-10-09 16:04:55.000000000 +0000 --- efun/transpose_array 2009-10-19 20:24:28.000000000 +0000 *************** *** 1,19 **** SYNOPSIS ! mixed *transpose_array (mixed *arr); DESCRIPTION ! transpose_array ( ({ ({1,2,3}), ({a,b,c}) }) ) == ({ ({1,a}), ({2,b}), ({3,c}) }) transpose_array() applied to an alist results in an array of ({ key, data }) pairs, useful if you want to use sort_array() or filter() on the alist. ! EXAMPLE ! sort_array(transpose_array( ({ m_indices(map), m_values(map) }) ), ! lambda( ({ 'a, 'b }), ! ({ #'<, ({ #'[, 'a, 0 }), ! ({ #'[, 'b, 0}) }) ) The given mapping 'map' is returned as an array of ({ key, data }) pairs, sorted by the keys. --- 1,19 ---- SYNOPSIS ! mixed * transpose_array(mixed *arr) DESCRIPTION ! transpose_array(({ ({1,2,3}), ({a,b,c}) })) == ({ ({1,a}), ({2,b}), ({3,c}) }) transpose_array() applied to an alist results in an array of ({ key, data }) pairs, useful if you want to use sort_array() or filter() on the alist. ! EXAMPLES ! sort_array(transpose_array(({ m_indices(map), m_values(map) })), ! lambda(({ 'a, 'b }), ! ({ #'<, ({ #'[, 'a, 0 }), ! ({ #'[, 'b, 0}) }) ) The given mapping 'map' is returned as an array of ({ key, data }) pairs, sorted by the keys. diff -c efun.orig/trim efun/trim *** efun.orig/trim 2009-10-09 16:04:55.000000000 +0000 --- efun/trim 2009-10-19 16:42:02.000000000 +0000 *************** *** 1,10 **** SYNOPSIS ! #include <sys/strings.h> ! string trim (string s) ! string trim (string s, int where) ! string trim (string s, int where, int ch) ! string trim (string s, int where, string ch) DESCRIPTION Remove all leading and trailing characters <ch> from the string --- 1,10 ---- SYNOPSIS ! #include <strings.h> ! string trim(string s) ! string trim(string s, int where) ! string trim(string s, int where, int ch) ! string trim(string s, int where, string ch) DESCRIPTION Remove all leading and trailing characters <ch> from the string *************** *** 19,25 **** TRIM_RIGHT (2): remove the trailing characters TRIM_BOTH (3 or 0): remove both leading and trailing characters ! EXAMPLE trim(" 1234 ") --> "1234" trim(" 1234 ", TRIM_RIGHT) --> " 1234" trim(" 1234 ", TRIM_BOTH, " 1") --> "234" --- 19,25 ---- TRIM_RIGHT (2): remove the trailing characters TRIM_BOTH (3 or 0): remove both leading and trailing characters ! EXAMPLES trim(" 1234 ") --> "1234" trim(" 1234 ", TRIM_RIGHT) --> " 1234" trim(" 1234 ", TRIM_BOTH, " 1") --> "234" diff -c efun.orig/typeof efun/typeof *** efun.orig/typeof 2009-10-09 16:04:55.000000000 +0000 --- efun/typeof 2009-10-19 20:14:07.000000000 +0000 *************** *** 1,12 **** SYNOPSIS int typeof(mixed) DESCRIPTION Returns a code for the type of the argument, as defined in ! <sys/lpctypes.h> HISTORY ! Introduced in 3.2@63 SEE ALSO get_type_info(E), intp(E), objectp(E), floatp(E), pointerp(E), --- 1,14 ---- SYNOPSIS + #include <lpctypes.h> + int typeof(mixed) DESCRIPTION Returns a code for the type of the argument, as defined in ! <lpctypes.h>. HISTORY ! Introduced in 3.2@63. SEE ALSO get_type_info(E), intp(E), objectp(E), floatp(E), pointerp(E), diff -c efun.orig/unbound_lambda efun/unbound_lambda *** efun.orig/unbound_lambda 2009-10-09 16:04:55.000000000 +0000 --- efun/unbound_lambda 2009-10-18 21:30:54.000000000 +0000 *************** *** 18,24 **** or apply(), the second arg forms the code of the closure. HISTORY ! Introduced in 3.2@82 SEE ALSO closures(LPC), lambda(E), apply(E), funcall(E), bind_lambda(E) --- 18,24 ---- or apply(), the second arg forms the code of the closure. HISTORY ! Introduced in 3.2@82. SEE ALSO closures(LPC), lambda(E), apply(E), funcall(E), bind_lambda(E) diff -c efun.orig/unique_array efun/unique_array *** efun.orig/unique_array 2009-10-09 16:04:55.000000000 +0000 --- efun/unique_array 2009-10-15 21:33:30.000000000 +0000 *************** *** 29,35 **** .... ({ SameM:1, SameM:2, ... SameM:N }) }) ! EXAMPLE mixed *arr; arr=unique_array(users(), "_query_level", -1); --- 29,35 ---- .... ({ SameM:1, SameM:2, ... SameM:N }) }) ! EXAMPLES mixed *arr; arr=unique_array(users(), "_query_level", -1); diff -c efun.orig/unmkmapping efun/unmkmapping *** efun.orig/unmkmapping 2009-10-09 16:04:55.000000000 +0000 --- efun/unmkmapping 2009-10-18 21:08:39.000000000 +0000 *************** *** 1,5 **** SYNOPSIS ! mixed* unmkmapping(mapping map) DESCRIPTION Take mapping <map> and return an array of arrays with the keys --- 1,5 ---- SYNOPSIS ! mixed * unmkmapping(mapping map) DESCRIPTION Take mapping <map> and return an array of arrays with the keys *************** *** 17,23 **** holds. ! EXAMPLE mapping m = ([ 1:10;20, 2:11;21 ]); unmkmapping(m) --> returns ({ ({1, 2}), ({ 10, 11 }), ({ 20, 21 }) }) --- 17,23 ---- holds. ! EXAMPLES mapping m = ([ 1:10;20, 2:11;21 ]); unmkmapping(m) --> returns ({ ({1, 2}), ({ 10, 11 }), ({ 20, 21 }) }) diff -c efun.orig/users efun/users *** efun.orig/users 2009-10-09 16:04:55.000000000 +0000 --- efun/users 2009-10-18 21:31:02.000000000 +0000 *************** *** 1,5 **** SYNOPSIS ! object *users(void) DESCRIPTION Return an array containing all interactive users. --- 1,5 ---- SYNOPSIS ! object * users(void) DESCRIPTION Return an array containing all interactive users. diff -c efun.orig/utime efun/utime *** efun.orig/utime 2009-10-09 16:04:55.000000000 +0000 --- efun/utime 2009-10-18 21:09:12.000000000 +0000 *************** *** 1,5 **** SYNOPSIS ! int* utime() DESCRIPTION Return the time since 1. Jan 1970, 00:00:00 GMT in microsecond --- 1,5 ---- SYNOPSIS ! int * utime() DESCRIPTION Return the time since 1. Jan 1970, 00:00:00 GMT in microsecond *************** *** 9,15 **** int[0]: number of seconds elapsed int[1]: number of microseconds within the current second. ! EXAMPLE write(ctime(utime())+"\n"); Print out the current date and time. --- 9,15 ---- int[0]: number of seconds elapsed int[1]: number of microseconds within the current second. ! EXAMPLES write(ctime(utime())+"\n"); Print out the current date and time. diff -c efun.orig/variable_exists efun/variable_exists *** efun.orig/variable_exists 2009-10-09 16:04:55.000000000 +0000 --- efun/variable_exists 2009-10-19 16:42:45.000000000 +0000 *************** *** 1,8 **** SYNOPSIS #include <functionlist.h> ! string variable_exists (string str [, int flags]) ! string variable_exists (string str , object ob, [, int flags]) DESCRIPTION Look up a variable <str> in the current object, respectively --- 1,10 ---- SYNOPSIS #include <functionlist.h> ! string variable_exists(string str) ! string variable_exists(string str, int flags) ! string variable_exists(string str, object ob) ! string variable_exists(string str, object ob, int flags) DESCRIPTION Look up a variable <str> in the current object, respectively diff -c efun.orig/variable_list efun/variable_list *** efun.orig/variable_list 2009-10-09 16:04:55.000000000 +0000 --- efun/variable_list 2009-10-19 16:43:00.000000000 +0000 *************** *** 1,8 **** NAME ! #include <sys/functionlist.h> ! #include <sys/lpctypes.h> ! mixed *variable_list (object ob, int flags = RETURN_FUNCTION_NAME) DESCRIPTION Return an array with information about <ob>s variables. For --- 1,8 ---- NAME ! #include <functionlist.h> ! #include <lpctypes.h> ! mixed * variable_list(object ob, int flags) DESCRIPTION Return an array with information about <ob>s variables. For *************** *** 10,16 **** stored in the result array conveying in this order: - the name of the variable - the variable flags (see below) ! - the return type (listed in mudlib/sys/lpctypes.h) - the value of the variable <ob> may be given as true object or as a filename. In the latter --- 10,16 ---- stored in the result array conveying in this order: - the name of the variable - the variable flags (see below) ! - the return type (listed in <lpctypes.h>) - the value of the variable <ob> may be given as true object or as a filename. In the latter *************** *** 22,28 **** <flags> determines both which information is returned for every variable, and which variables should be considered at all. Its value is created by bin-or'ing together following flags from ! mudlib/sys/functionlist.h: Control of returned information: RETURN_FUNCTION_NAME include the variable name --- 22,28 ---- <flags> determines both which information is returned for every variable, and which variables should be considered at all. Its value is created by bin-or'ing together following flags from ! <functionlist.h>: Control of returned information: RETURN_FUNCTION_NAME include the variable name *************** *** 45,54 **** TYPE_MOD_NO_MASK variable is nomask TYPE_MOD_PUBLIC variable is public ! All these flags are defined in mudlib/sys/functionlist.h, which ! should be copied into an accessible place in the mudlib. The ! return types are defined in mudlib/sys/lpctypes.h which also ! should be copied into the mudlib. HISTORY Introduced in LDMud 3.2.10. --- 45,52 ---- TYPE_MOD_NO_MASK variable is nomask TYPE_MOD_PUBLIC variable is public ! All these flags are defined in <functionlist.h>, the ! return types are defined in <lpctypes.h>. HISTORY Introduced in LDMud 3.2.10. diff -c efun.orig/widthof efun/widthof *** efun.orig/widthof 2009-10-09 16:04:55.000000000 +0000 --- efun/widthof 2009-10-19 16:43:08.000000000 +0000 *************** *** 1,11 **** SYNOPSIS ! int widthof (mapping map) DESCRIPTION Returns the number of values per key of mapping <map>. If <map> is 0, the result is 0. ! EXAMPLE mapping m = ([ "foo": 1,2 ]); widthof(m) --> returns 2 --- 1,11 ---- SYNOPSIS ! int widthof(mapping map) DESCRIPTION Returns the number of values per key of mapping <map>. If <map> is 0, the result is 0. ! EXAMPLES mapping m = ([ "foo": 1,2 ]); widthof(m) --> returns 2 diff -c efun.orig/wizlist_info efun/wizlist_info *** efun.orig/wizlist_info 2009-10-09 16:04:55.000000000 +0000 --- efun/wizlist_info 2009-10-19 16:43:17.000000000 +0000 *************** *** 1,7 **** SYNOPSIS ! #include <sys/wizlist.h> ! mixed *wizlist_info() DESCRIPTION Returns an array with the interesting entries of the wizlist. --- 1,7 ---- SYNOPSIS ! #include <wizlist.h> ! mixed * wizlist_info() DESCRIPTION Returns an array with the interesting entries of the wizlist. *************** *** 24,30 **** int w[WL_STRUCT_TOTAL] = Total size of structs in elements. mixed w[WL_EXTRA] = Extra wizlist-info if set. - The 'weighted' entries decay every hour by 10%. HISTORY --- 24,29 ---- diff -c efun.orig/xml_generate efun/xml_generate *** efun.orig/xml_generate 2009-10-09 16:04:55.000000000 +0000 --- efun/xml_generate 2009-10-18 21:39:31.000000000 +0000 *************** *** 36,46 **** The function is available only if the driver is compiled with Iksemel support. In that case, __XML_DOM__ is defined. ! EXAMPLE xml_generate(({ "abc", 0, 0 })) -> "<abc/>" xml_generate(({ "abc", ([ "xyz" : "cde" ]), 0 })) -> "<abc xyz="cde"/>" ! mixed* xml = ({ "book" , ([ "language" : "common" ]) , ({ ({ "title" , 0 --- 36,47 ---- The function is available only if the driver is compiled with Iksemel support. In that case, __XML_DOM__ is defined. ! ! EXAMPLES xml_generate(({ "abc", 0, 0 })) -> "<abc/>" xml_generate(({ "abc", ([ "xyz" : "cde" ]), 0 })) -> "<abc xyz="cde"/>" ! mixed *xml = ({ "book" , ([ "language" : "common" ]) , ({ ({ "title" , 0 diff -c efun.orig/xml_parse efun/xml_parse *** efun.orig/xml_parse 2009-10-09 16:04:55.000000000 +0000 --- efun/xml_parse 2009-10-18 21:09:27.000000000 +0000 *************** *** 3,9 **** SYNOPSIS #include <xml.h> ! mixed* xml_parse(string xml) DESCRIPTION Parses the given string <xml> as a XML conform string. The string must --- 3,9 ---- SYNOPSIS #include <xml.h> ! mixed * xml_parse(string xml) DESCRIPTION Parses the given string <xml> as a XML conform string. The string must *************** *** 36,42 **** The function is available only if the driver is compiled with Iksemel support. In that case, __XML_DOM__ is defined. ! EXAMPLE xml_parse("<abc/>") -> ({ "abc", 0, 0 }) xml_parse("<abc xyz="cde"/>") -> ({ "abc", ([ "xyz" : "cde" ]), 0 }) --- 36,43 ---- The function is available only if the driver is compiled with Iksemel support. In that case, __XML_DOM__ is defined. ! ! EXAMPLES xml_parse("<abc/>") -> ({ "abc", 0, 0 }) xml_parse("<abc xyz="cde"/>") -> ({ "abc", ([ "xyz" : "cde" ]), 0 }) diff -c efun.orig/xor_bits efun/xor_bits *** efun.orig/xor_bits 2009-10-09 16:04:55.000000000 +0000 --- efun/xor_bits 2009-10-19 20:49:24.000000000 +0000 *************** *** 1,7 **** SYNOPSIS ! string xor_bits (string str1, string str2) ! DESTRIPTION <str1> and <str2> are both bitstrings. The result of the function is a bitstring with the binary-xor of <str1> and <str2>, ie. a string in which a bit is set only if the corresponding --- 1,7 ---- SYNOPSIS ! string xor_bits(string str1, string str2) ! DESCRIPTION <str1> and <str2> are both bitstrings. The result of the function is a bitstring with the binary-xor of <str1> and <str2>, ie. a string in which a bit is set only if the corresponding | ||||
|
Thanks, I will take care of this soon. I think, <sys/...> is deliberate, but I actually like <...> more, because mudlibs can put their header wherever they like and usually they use the include dir hook to enable access by <...> to them. So you have to delete the sys/ part when you copy the include statement from the manpage (and I sometimes forgot that). |
|
Ah, one question: I assume you used at least partly grep/sed, could you just repeat that part for the german manpages as well in this case? |
|
Forget the previously provided patches and use the new ones instead. Both should apply cleanly to r2766. |
|
Fixed in r2772 (trunk-3.3) and r2773 (trunk). Thanks Coogan. :-) |
Date Modified | Username | Field | Change |
---|---|---|---|
2009-10-15 15:51 | Coogan | New Issue | |
2009-10-15 15:51 | Coogan | File Added: diff-doc-efun.patch | |
2009-10-15 16:05 | Coogan | File Added: diff-doc-efun-2.patch | |
2009-10-17 04:41 | zesstra | Note Added: 0001526 | |
2009-10-17 04:41 | zesstra | Assigned To | => zesstra |
2009-10-17 04:41 | zesstra | Status | new => assigned |
2009-10-17 04:42 | zesstra | Note Added: 0001527 | |
2009-10-19 15:04 | Coogan | Note Added: 0001536 | |
2009-10-19 15:04 | Coogan | File Added: diff-doc-efun-en.patch | |
2009-10-19 15:05 | Coogan | File Added: diff-doc-efun-de.patch | |
2009-10-21 12:21 | zesstra | Note Added: 0001544 | |
2009-10-21 12:21 | zesstra | Status | assigned => resolved |
2009-10-21 12:21 | zesstra | Fixed in Version | => 3.3.720 |
2009-10-21 12:21 | zesstra | Resolution | open => fixed |
2009-10-21 12:21 | zesstra | File Deleted: diff-doc-efun.patch | |
2009-10-21 12:22 | zesstra | File Deleted: diff-doc-efun-2.patch | |
2011-02-23 22:22 | zesstra | Target Version | => 3.3.720 |