Reminder: this file does not list all f- and p- files, only those which are easily summarized Efuns -------------------------------------------------------------------------- p-981027-1: substitute_string(string txt, string *key, string *repl, int, int) Replace all occurances of <key> words in <txt> by associated <repl> word. p-990330-0: subst() efun, see substitute_string() f-981229-22: strsubst(), see substitute_string() f-990708-0: map_replace(): similar to substitute_string() p-990417-1: replace_string() == implode(explode(X, Y), Z) p-990330-0: regexp() and regexplode() may filter f-981229-20: regexp(): flags to make the result more usable f-981229-23: regexplode(): flags to modify the result f-990203-23: strmatch(): simple patternmatcher f-981229-14: stringp() returns address of string f-990203-11: sprintf(): new flag %b for binaries. f-990303-1: sprintf(): on non-efun symbols misbehaves f-990309-1: csprintf(): merged from sprintf() and terminal_colour() f-990714-3: mprintf(): generalized sprintf() f-990217-4: strcount(): counts occurances of pattern in text f-990714-0: quote_string(), unquote_string() f-990203-13: explode(): behaviour of explode("", whatever) p-990204-1: walk_array(): equivalent to walk_mapping() f-990203-15: invert_array(): inverts the order of an array f-990714-7: turn_array(): reverse an array or string. f-990716: Lots of array efuns, with simul-efun code. f-990714-1: invert_mapping(): reverse mapping f-990203-22: member_values(): inverse mapping lookup f-990310-2: m_flat(): to flatten a mapping (like '...' on arrays) f-990714-2: factorize(): like unique_array() on mappings f-981202-0: Operators like #'+ in lambda should take lots of arguments f-990203-16: fold_left(), fold_right(): efuns to fold an array f-990714-4: merge_array(): merge subarrays f-990714-5: split_array(): split into subarrays f-990714-6: flatten_array(): flatten a nested array f-99-714-8: shuffle_array(): randomize an array. p-990204-0: set_eval_cost(): set/query the max eval cost p-990204-0: get_eval_time(): return the time in [ms] for this execution f-981229-13: query_micros() or some other kind of precise time measurement p-990204-0: get_num_args(): returns number of arguments p-990204-1: gmctime(): return GMC time p-990204-1: reset_eval_cost(): reset the eval cost counter p-990204-1: deep_call_other(): calls a function in all inherited objects f-990203-17: explains p-990204-1:deep_call_other() a bit. p-990204-1: raise_caller_error(): as it says f-990203-28: explains p-990204-1:raise_caller_error() p-990423-0: previous_program(): returns the previous programs f-990324-1: explains p-990423-0:previous_program(), program_stack() f-981209: OBJ_DUMP needs reformatting f-981226-1: TCP efuns. f-981229-25: receive(): other comm efuns are put into the mudlib f-990204-2: reset_object(), set_next_reset() on another object. p-990204-0: reload_object(): re-initializes an object as if just loaded f-981229-09: additional arguments to allocate(), clone(), load() f-990203-24: objects(): return objects from the list of objects f-981229-26: find_objects(): find object by name pattern f-990217-0: deep_present(), deep_present_clone() f-981229-10: truncate_file() f-981208: read_bytes()/write_bytes() should handle int*, too. f-981229-06: explains f-981208 a bit f-990203-19: get_dir(): extended functionality f-981229-15: set_environment(): third arg specifying where in the list f-990203-10: shutdown(), garbage_collection() should be privileged f-990211: top(): statistics efun f-990424-1: call_out(): uses handles in parallel to names. f-000113-1: LDmud: efun reverse() f-000113-2: More file efuns f-000207: Finalfrontier efuns f-000214-2: Add mappings to wizlist info f-000306-2: Extension to command_stack() f-000306-4: copy_file() should return error values f-000326: Allow the use of masks with mkdir() f-000401-0: get_dir() should return the full pathname f-000405: sort_array(&arr) sorts in-place f-000406: Get rid of save_object() f-000421: Expand cat() and tail() to take limits f-000530: New input_to() efuns f-000616: Allow to set a certain umask f-000627: Search efun f-000905-1: More flexible wrapping for terminal_colour(). f-001220-0: Extend the debug_info() method to handle interactives. f-010307: Short(est) Path Algorithms f-010223: Useful coloured string efuns f-010320: limited() vs resetting of runtime costs f-010406-0: Improved RegExps, using PCRE f-010411: Extend map(),filter(),... for strings. f-010516-0: Allow add_actions() on closures f-010516-1: Add a priority to notify_fail() f-010603-0: Efun to count the number of lines in a file f-010603-2: Efun to resolve paths f-010603-3: multicast-call_other with exclusion f-010603-4: Safe recompile of objects f-010603-5: New datatypes NULL and ERROR f-010701: On save/restore object, pass full filename to valid_write/read f-010723: Extension for present_clone() f-010825-0: New shadows efuns f-010825-1: New object list efuns f-010825-2: efun query_input_to() or query_input_pending() f-010903: get_dir() should return full pathnames f-010908: caller_stack should include function names p-010928-0: New efuns function_file() and function_line() (implemented in 3.3.110) f-011011: Another sort of deep_call_other() ? f-011015-1: Left, Center, and Flush formatting for terminal_colour() f-011016-0: sprintf() and colour strings f-011029: Efun copy_object() f-011119: New Standardnotation for callbacks f-011207: Linenumbers for functionlist() f-011229-0: Add support for PostgreSQL f-011229-1: Add support for Berkeley DB f-011230: Implement seeded randoms f-020127: Bitstring efuns for shifting and copying f-020307: Default 'option' parameter for regexp functions f-020310: inherits() returns all programs inheriting a given program f-020331: Efun this_function() f-020404: New efun strreplace() f-020507-2: Slicing mappings f-020513: Permanently change the GC log filename p-020912: Socket support a la MudOS p-021021: Socket support Language -------------------------------------------------------------------------- p-990204-0: Patches for FinalFrontier f-981229-17: anonymous function syntax f-990203-02: dito p-990710-0: Handles (objects associated with a string) f-981229-05: struct foo {} type f-990203-31: re: f-981229-05: better saving method for small arrays? f-981229-27: m[x;y], m[x][y] as alternatives to m[x,y] f-981229-29: MudOS 'ref's instead of Amylaars '&'s. f-990303-2: New syntax for ref parameters, see also f-981229-29 f-990203-1: Various operators should work on mixed* and string. f-990213: Extended value range for ints. f-990727: Enums. f-990813-0: Operator ':=:' for swaps f-990813-1: Operator '<=>' for comparisons. f-000106: Special -> for array calls f-000221: LDMUD foreach idea f-000430-2: C-style prototypes f-010309-2:'yield' to convert statements into expressions f-010406-1: References in foreach() f-010603-0: Efun to count the number of lines in a file f-010610-1: Allow reversed foreach() f-010610-2: Label (loop-) statements f-010805: Explicite namespace qualifier for simul efuns f-010917: default arguments for functions f-011015-0: Long Ints on LPC Level f-011015-2: Comparison-by-Value ("===") for Arrays and Mappings f-011016-1: Make negative range assignments switchable f-011213-1: Better functiona arg definitions f-020203-0: Ordered Arrays f-020209: Tuple return values f-020305: Constructor and Destructor f-020326-0: select() statement to complement switch() f-020507-0: Distinguish between generic and specific empty mappings f-020507-1: Rethink the 'mapping += mapping' semantics. f-020507-3: Range operators on 2d mappings f-020813-0: const parameter f-020813-1: Redesigning arrays and mappings, and lvalues. f-020904: Index by value Compiler -------------------------------------------------------------------------- f-990203-07: Pragma to reserve (s)efun names f-981027-1: Spaces after \ should give a better error message. f-981110-1: static evalstack sizecheck for functions and closures f-981229-30: Preprocessor lacks: #, ##, and two bugs f-990228: Replace __INIT by a nameless function with special callpattern b-000217-1: F_M_CAGGREGATE acts strange p-000316: Binary codefile support f-001102: Separate Programs from Blueprints f-010726: Add location to defined identifiers f-010802: Allow wildcarded calls with arguments f-011213-0: Lexer should not use magic EOF characters f-020203-1: Warn if inner variables shadow outer ones. f-020321: Deactivate sefun (when loading the master or on pragma) p-020810: Hyperborea patches for ANSI support Runtime -------------------------------------------------------------------------- p-990204-0: master object handles most recent signals and fatal()s p-990204-0: comm: init_telopts() executes just one loop each p-990204-0: reset distinguishes between swapped and unswapped objects p-990204-0: lazy swapping (not necessary with current backend) p-990204-0: special super-user startup p-990204-0: line numbers are swapped immediately f-990317-0: H_MODIFY_OUTPUT: hook for output, see also receive() (f-981229-25) f-000208-1: H_MODIFY_OUTPUT p-990204-1: Lots of hooks for pre/post create and remove handling. f-990204-0: explains p-990204-1:create hooks f-981114-0: Query compilation and runtime options at runtime f-981208: f-981114-0 again f-981222: 'Apply on destructed object' should be a runtime error, not a fatal f-981229-02: Get rid of hardcoded commands. f-990203-32: Make all extras (parsing, inventories, light) optional. f-981229-28: Information about MudOS compatibility f-990302-03: Better runtime error messages. f-990203-06: ed ranges can extend past the end of the file f-990203-06: ed: hitting return on last line yields better message f-990203-12: More ed ideas. f-990203-29: Sort of 'idle' detection. f-990204-3: Commandline socket specification f-990204-6: Persistant object names f-990313: Better handling of ASSIGN_EVAL_COST. f-990319-0: Can catch_msg() be removed? f-990417-0: Can the driver find private functions in the master? f-990424-0: Precompiled binaries. f-990629-0: Immediate error handling independant from catch(). f-990721-0: Stacked input_to()s. f-990816: Use poll() instead of select() f-991019-0: diagnostic() functionality f-991104-0: Synchronous write() f-991122: Filenames in master-apply in !compat mode f-991123: restore_value() should accept looser syntax f-991126-1: Selective NOECHO in Charmode f-000121: Output hook f-000301: String Table topics p-000306-1: EotL Changes f-000327-0: Controlled reopening of the logfile f-000327-1: Driver should pass signals to the mudlib p-000401-0: xerq: new request ERQ_INET6_ATON f-000413-0: Use ID numbers for error messages f-000814-1: net_connect() f-000830: telnet-Timing extension (RFC 860) f-000905-0: Graceful charmode recovery. f-001116: Faster callouts f-001220-1: Possible implementation detail of the telnet machine f-010216: Possible implementation of T_ERROR f-010318: Runtime ERQ Executable directory specification f-010707: Fast Callouts f-010928-0: Make telnet negotiation options more configurable p-011012: MCCP patch p-020810-1: Threads for MCCP f-011215: Signal handling f-020128: syslog like logging for the driver f-020131-0: privilege_violation("limited") should pass limits f-020220: Heartbeat functionality f-020223: New config value: MAX_MAPPING_SIZE f-020309: Stack size watch f-020311: Add Berkeley DB to the driver f-020331-1: Hook for input_to() f-020420-0: Better isolate the error routine calls f-020714: Better buffering of data sent to players f-020811: Runtime warnings f-020916: Memory usage as runtime limit Installation -------------------------------------------------------------------------- f-981226-2: Check for and use <arpa/telnet.h> f-990708-3: Improved options selection process. f-000407: More options for setting files f-000814: configure-with_portno should take a string Other -------------------------------------------------------------------------- p-000630: Morgengrauen diffs f-010828: Save loadable dump f-011124: Logging idea: Shared Library f-020206: Use OpenSSL or sshwrapper with the driver. f-020302: Detection of Telnet-Clients f-020604: External modules in LPC f-020611: Use of XML in save_object()