The files in this directory implement an Emacs interface to ArX.
It was developed on Debian Linux/x86 for Emacs 21.  I don't know
whether it works on older versions of Emacs.

ArX-mode is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version.  A copy of the license should be included
in the file LICENSE.

To use the functions, you can add to your .emacs

	(setq load-path
	      (append (list nil "/path/to/ArX-mode/")
		      load-path))

	(load-library "arx-mode")

where you need to put in the proper directory for the load-path.  If
you're using XEmacs, some function definitions are different, so you
should use

	(load-library "arx-mode-XEmacs")

until I figure out a better solution.  This will still require a
fairly up-to-date version of XEmacs which includes define-minor-mode.

The commands all start with the prefix arx.  So, for example, to
browse an archive, just do M-x arx-categories.  You can see which ones
are supposed to be user visible by looking at arx-mode.el.  All of the
include files are for one function each.

I've also included a minor mode for ArX, arx-mode.  It just
rebinds the keys for version control where appropriate.  If you want
it to be automatically loaded whenever you get a file in a project
tree, add the following line to your .emacs

	(add-hook 'find-file-hooks 'arx-hook-find-file-hook)

You can view the bindings by looking in arx-mode.el, or by running
M-x describe-mode (or C-h m) when in arx-mode.  You can also look at
the dropdown list on the menu bar.  They are meant to be similar to
the vc modes when possible.  I have undefined some vc commands to
reduce confusion.

There are five reasons this might be easier to use than running ArX
in a shell.

  1) It auto-completes ArX commands.  Instead of typing
     "arx mirror", you can type arx-mi<TAB>.  The bash
     completion code provides a similar functionality for bash.
  2) When using ArX-mode, many of the version control commands are a
     bound to simple key commands.  For example, to see what has changed
     from the previous revision just type C-x v =.  The key bindings
     were chosen to be similar to the ordinary vc-mode.
  3) Instead of having to remember all of the functions, you can use
     the drop down menus.
  4) It autocompletes archives.  It used to autocomplete branches and
     revisions, but that is currently broken.
  5) When using --no-edit, it makes it easy to run "arx edit" on files
     you are looking at.

Not all ArX commands are implemented.  If you have any questions,
comments, or even criticisms, feel free to send me an email.

Walter Landry
wlandry@ucsd.edu

