ldmud-3.2.9/doc/
ldmud-3.2.9/doc/efun/
ldmud-3.2.9/mud/
ldmud-3.2.9/mud/heaven7/
ldmud-3.2.9/mud/heaven7/lib/
ldmud-3.2.9/mud/lp-245/
ldmud-3.2.9/mud/lp-245/banish/
ldmud-3.2.9/mud/lp-245/doc/
ldmud-3.2.9/mud/lp-245/doc/examples/
ldmud-3.2.9/mud/lp-245/doc/sefun/
ldmud-3.2.9/mud/lp-245/log/
ldmud-3.2.9/mud/lp-245/obj/Go/
ldmud-3.2.9/mud/lp-245/players/lars/
ldmud-3.2.9/mud/lp-245/room/death/
ldmud-3.2.9/mud/lp-245/room/maze1/
ldmud-3.2.9/mud/lp-245/room/sub/
ldmud-3.2.9/mud/lp-245/secure/
ldmud-3.2.9/mud/morgengrauen/
ldmud-3.2.9/mud/morgengrauen/lib/
ldmud-3.2.9/mud/sticklib/
ldmud-3.2.9/mud/sticklib/src/
ldmud-3.2.9/mudlib/uni-crasher/
ldmud-3.2.9/pkg/
ldmud-3.2.9/pkg/debugger/
ldmud-3.2.9/pkg/diff/
ldmud-3.2.9/pkg/misc/
ldmud-3.2.9/src/autoconf/
ldmud-3.2.9/src/bugs/
ldmud-3.2.9/src/bugs/MudCompress/
ldmud-3.2.9/src/bugs/b-020916-files/
ldmud-3.2.9/src/bugs/doomdark/
ldmud-3.2.9/src/bugs/ferrycode/ferry/
ldmud-3.2.9/src/bugs/ferrycode/obj/
ldmud-3.2.9/src/bugs/psql/
ldmud-3.2.9/src/done/
ldmud-3.2.9/src/done/order_alist/
ldmud-3.2.9/src/done/order_alist/obj/
ldmud-3.2.9/src/done/order_alist/room/
ldmud-3.2.9/src/gcc/
ldmud-3.2.9/src/gcc/2.7.0/
ldmud-3.2.9/src/gcc/2.7.1/
ldmud-3.2.9/src/hosts/
ldmud-3.2.9/src/hosts/GnuWin32/
ldmud-3.2.9/src/hosts/amiga/NetIncl/
ldmud-3.2.9/src/hosts/amiga/NetIncl/netinet/
ldmud-3.2.9/src/hosts/amiga/NetIncl/sys/
ldmud-3.2.9/src/hosts/i386/
ldmud-3.2.9/src/hosts/msdos/byacc/
ldmud-3.2.9/src/hosts/msdos/doc/
ldmud-3.2.9/src/hosts/os2/
ldmud-3.2.9/src/hosts/win32/
ldmud-3.2.9/src/util/
ldmud-3.2.9/src/util/erq/
ldmud-3.2.9/src/util/indent/hosts/next/
ldmud-3.2.9/src/util/xerq/
ldmud-3.2.9/src/util/xerq/lpc/
ldmud-3.2.9/src/util/xerq/lpc/www/
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()