Manifest
--------
README                 - this file
emacs.snippet          - what you put into your .emacs
example.mud            - move this to ~/.mud, add your favorite sites to it.
mud-telnet-Sleeper.el  - main mode file
mud-telnet-Sleeper.elc - compiled vesion of above
moo-code.el            - helper functions for writing moo-code
moo-code.elc           - compiled vesion of above
coldc-mode.el          - helper functions for writing ColdC
coldc-mode.elc         - compiled vesion of above
hl319.el               - the highlighting routines
hl319.elc              - compiled vesion of above


Disclaimer
----------

I've used this stuff happily for 3 years.  I've thrown this package
together for others to benefit from, by carving it out from my
Emacs stuff.  Let me know if I missed something.  This does work,
if you have all the pieces.


What is mud.el?
---------------

mud.el is a set of functions that allow the Emacs editor to function
as a MOO client.  Sleeper found about 5 incarnations of the file
(a couple versions mud.el, another called mud19.el, etc.) and merged them
together.  He then merged in hl319 support.  Fixed a couple more
bugs and tweaked a few weirdnesses, and Voila!  Here you have it.
(What I have, as of December 1997)


Quick install - Overview
------------------------

* Add emacs.snippet to your .emacs.
* Put .el files where Emacs can find them.  Byte compile them.
* Copy example.mud to ~/.mud, add your MOO info to it.
* Start Emacs.  M-x mud    LambdaMOO   to connect to Lambda.
* (Use ^U M-x mud etc., instead, to autologin, if you have set up your
  character info in the .mud file (recommended))


Detailed install
----------------

1. See the emacs.snippet file for the code to add to your .emacs file
   which pulls all of this stuff in and sets up some nice defaults.
   You'll want to restart Emacs (or eval the buffer) to make the
   changes take effect.


2. Put the .el files where Emacs can find them.  I have lines similar to

     (setq load-path (append
  	   (list (concat (getenv "HOME") "/emacs/lisp"))
   	   load-path))

   Which sets up ~/emacs/lisp as my place to hold personal .el files.

   You can just uncomment the appropriate lines included in emacs.snippet
   to enable this.


3. Copy the .el and .elc files to the lisp directory:

     cp mud-telnet-Sleeper.el hl319.el moo-code.el coldc-mode.el ~/emacs/lisp
     cp mud-telnet-Sleeper.elc hl319.elc moo-code.elc coldc-mode.elc ~/emacs/lisp


4. I'm shipping the compiled lisp files, compiled on GNU Emacs 20.2.
   If they don't work on your system, recompile them with:
  
   M-x byte-compile-file ~/emacs/lisp/mud-telnet-Sleeper.el
   M-x byte-compile-file ~/emacs/lisp/moo-code.el
   M-x byte-compile-file ~/emacs/lisp/coldc-mode.el
   M-x byte-compile-file ~/emacs/lisp/hl319.el

   Make certain Emacs can locate moo-code.el when compiling
   mud-telnet-Sleeper.el.


5. Copy example.mud to ~/.mud.  Add your favorite sites to it.


6. It's best to restart Emacs just to make sure it finds the new stuff.


7. Type M-x mud to start it up, select the site using completion.
   (Good for first time connects, or guest connects.)


8. Usually, you want to use: ^U M-x mud, instead.
   This will autologin, if you have set up your
   character info set in the .mud file (recommended))


Customization
-------------

In the .emacs code...

  Use 'light for  hilit-background-mode if you use a light background.

  Read hl319.el if you want to play with the other variables,
  but I will describe the setting of colors here:

  Colors are first defined using hilit-user-face-table,
  then r.e. patterns are set that use the defined colors.
  See the examples in the emacs.snippet (which should now be
  in your .emacs).  I've put comments in to label this area.

  Function (mud-check-page) is set to deiconify and bring the Emacs
  window to the top of all your windows.  You can turn this off by
  setting mud-show-page to nil, or by redefining (mud-check-page) If
  you want pages to `beep' you, mud-check-page is the routine to
  change. (use the (ding) function)


Other files...

  Copy example.mud to ~/.mud -- LambdaMOO is set, add your favorite
  MOOs/Colds/Muds etc. to this file, also add your character info to
  enable quick logins.  See the comments and the definition for
  LambdaMOO to get an idea of what to do.
 
mud-telnet-Sleeper.el...

  Search for ``(defmud MOO'' -- The last field is a regexp for
  matching pages (which pop the window up).  You'll want to customize this.
  (typically for non-standard page emote prefixes)

  
Handy Things to Know
--------------------

- Set your MOO's edit option to use local editing with

    @edit-o +local
  
  You'll wonder how you got by without this.

  For Colds, you'd use

    @set me:local-editor=mcp

- @edit me:verb, or @edit me.prop -- use C-c C-s to send the verb back
  while keeping a copy to edit further, use C-c C-c to send it back
  and kill the buffer, use C-c C-] to kill the buffer without sending
  it back.

- To dump code, turn off the line wrapping that Emacs does.
  M-x set-variable, mud-break-lines  nil
  

A Note About hl319.el
---------------------

hl319 is no longer supported.  In fact, it has been abandoned.  Other
colorization packages are supported in its place.  I'm using hl319
because a) I started using it when it was supported  b) it works good
enough for me and  c) it doesn't seem to break the newer ways of
colorizing.


Alternate Help for mud.el
--------------

Puff keeps two objects on Lambda.  Although a little dated,
they are still helpful:

    mud.el documentation (#24555)
    moo.el help(#41000)


How to Contact Me
-----------------

Send me MOOmail on Lambda.  telnet to lambda.moo.mud.org port 8888
and page or send mail to Sleeper.  Let me know if you have
improvements for what is offered here.