]> code.delx.au - gnu-emacs-elpa/blobdiff - README
Clean up copyright notices.
[gnu-emacs-elpa] / README
diff --git a/README b/README
index 89a470085166bfee3be28d6a25fd740b9420b8de..097e43049ca0158e379fb82b421f69facd3eeac0 100644 (file)
--- a/README
+++ b/README
-SML-MODE (3.3b) -- Major Emacs mode for editing Standard ML.
+Copyright (C) 2010-2011 Free Software Foundation, Inc.
+See the end of the file for license conditions.
 
-  3.3(beta) because i really am looking at the indentation algorithm,
-  but the new features mentioned below are stable -- modulo bugs.
 
-Files:
+This branch contains the sources, deployment scripts, and auxilliary
+files for the Emacs Lisp package archive (elpa.gnu.org).
 
-  sml-mode.el     (SML mode elisp code)
-  sml-proc.el     (ML interaction code, defaults to SML/NJ(0.93))
-  sml-hilite.el   (hilit19 functions)
-  sml-font.el     (font-lock functions)
-  sml-menus.el    (Simple menus)
+This file explains the branch layout, how to add and edit packages,
+and how to deploy the archive (either on elpa.gnu.org, or a local copy
+for testing purposes).
 
-  sml-poly-ml.el  (Additional library code to run Poly/ML)
-  sml-mosml.el    (Additional library code to run Moscow ML)
 
-  sml-mode.info   (Softcopy manual -- Info for (X)Emacs19)
-  sml-site.el     (Simple, system-wide installation)
+* DIRECTORY LAYOUT
 
-Extras:
+** admin/    -- scripts for administering the package archive.
+** html/     -- HTML for the elpa.gnu.org website.
+** packages/ -- source code for the packages.
 
-  sml-mode.dvi    (Hardcopy manual)
 
-Warning:
+* PACKAGES
 
-  Tried and sort of tested on GNU Emacs 19.3{3,4} and XEmacs 19.14.
+** Contents of the packages/ directory:
+This directory holds the package sources, with one subdirectory for
+each package.
 
-  XEmacs 19.11 is known to hang on sending regions to the interaction
-  buffer -- so leave the variable SML-TEMP-THRESHOLD = 0.
+** To add a package:
 
-System Installation Guide:
+*** Add a simple (1-file) package as packages/NAME/NAME.el.
 
-  If you're installing this for others in the Emacs hierarchy, either
+*** Add a multi-file package as a directory, packages/NAME.
 
-    go to the site-lisp directory and unpack the tar file there, 
+*** Commit your changes the usual way ("bzr add", "bzr commit", etc).
 
-    or create a subdirectory, say site-lisp/sml-mode, and copy at
-    least the sml*.el files into it.
+Changes in the Bzr repository do not immediately propagate to the
+user-facing archive (what users see when they do `M-x list-packages').
+That is done by deploying the archive.
 
-  In either case move or copy the file sml-site.el into the site-lisp
-  directory itself (or some other place that's on the user's default
-  load-path) and read and edit this file. All that's really needed is
-  to ensure that Emacs can find the sml*.el files and the .info file.
 
-  Tell your eager users to
+* DEPLOYMENT
 
-  (requite 'sml-site) 
+** To use the package repository as a "site installation" of packages:
 
-  in their .emacses. Point them to the help file. At your option, byte
-  compile the sml*.el files (and sml-site.el too, if you like).
+  make site
 
-Private Installation Guide:
+This compiles and generates autoloads for all the packages in the
+packages/ directory, and creates a site/ directory containing symlinks
+to the package directories.
 
-  If you are having to install his in your home directory, say, create
-  a directory like "/home/xxx/lib/emacs/sml-mode", if your login name
-  is xxx, and copy the sml-*.el files to there. Then put:
-  
-  (setq load-path (cons "/home/xxx/lib/emacs/sml-mode" load-path))
-  (autoload 'sml-mode "sml-mode" "Major mode for editing ML programs." t)
+Now you have to add this site/ directory to `package-directory-list',
+and all the packages will be available.
 
-  in your .emacs file. Add:
+** To deploy the package repository as a remotely-accessible archive:
 
-  (setq auto-mode-alist
-        (append '(("\\.sml$" . sml-mode) 
-                  ("\\.sig$" . sml-mode) 
-                  ("\\.ML$"  . sml-mode)) auto-mode-alist))
+  make archive
 
-  to your .emacs so that whenever you visit a file with one of these
-  extensions you will automatically be placed in sml-mode.
+or
 
-  Put the info file (sml-mode.info) somewhere convenient like
-  "/home/xxx/lib/emacs/sml-mode/sml-mode.info", and add
+  make archive-full
 
-  (setq sml-mode-info "/home/xxx/lib/emacs/sml-mode/sml-mode.info")
+This deploys the packages to the archive/ directory.  Unlike "make
+site", this makes a full copy of the packages, and tars up multi-file
+packages.
 
-  again to your .emacs -- this gives access to on-line help. This help
-  file gives lots of tips about configuring SML mode to suit your
-  preferences: C-c C-i will get you there from SML mode.
+A full deployment also copies the admin scripts to archive/admin, and
+fetches externally hosted packages (currently, the Org daily builds)
+and adds them to the archive.
 
-  If you want SML mode to speak to Moscow ML or Poly/ML instead of
-  SML/NJ, just add something like this to your .emacs:
+** To access a deployed archive
 
-  (defun my-mosml-setup () "Configure inferior SML mode for Moscow ML"
-    (load-library "sml-mosml"))
-  (add-hook 'inferior-sml-load-hook 'my-mosml-setup)
+To access the archive via HTPP, have a symlink (say) /var/www/packages
+pointing to DEST/packages, and set up Emacs with
 
-  so that when you M-x sml you'll get mosml instead.
+  (setq package-archives '(("new-elpa" . "http://foo.com/packages")))
 
-New in SML mode Version 3.3 (feedback welcomed on this):
+You can also access the archive via normal file access.  Such "local
+archives" are useful for debugging:
 
-  1
+  (setq package-archives '(("local-elpa" . "DEST/packages")))
 
-  implemented some multi-frame handling capabilities, specifically so 
-  sml runs in a dedicated window. this is more complex than it needs to
-  be because of XEmacs...
+** Notes specific to elpa.gnu.org
 
-  the variable SML-DEDICATED-FRAME defaults to t if running under a
-  window system; set it to nil in SML-LOAD-HOOK if you want the old
-  split window behaviour back.
+The way things are set up on this machine, we refresh the archive by
+logging in (login access set up by FSF admins), and
 
-  2
+su elpa
+cd ~elpa/elpa
+bzr up
 
-  debugged SML-NEXT-ERROR a bit, and improved it to echo the error
-  message in the minibuffer (if possible) and highlight the region in
-  which the error was found (if a suitable character range was given).
+Then make a full archive deployment, as discussed above.  The symlink
+/var/www/packages points to the staging package directory under
+/home/elpa/.
 
-  the variable SML-ERROR-OVERLAY controls whether or not to highlight
-  (default is yes); set this to nil in SML-MODE-HOOK to switch this
-  off. 
+The Org mode dailies are also fetched and added by the script
+admin/org-synch.sh, run as a cron job.
 
-  SML-NEXT-ERROR won't always raise the inferior ML buffer's frame; it
-  only does so if there's no window already showing the buffer, or if
-  there's an error message it can't understand. i think!
+\f
+This file is part of GNU Emacs.
 
-  3
+GNU Emacs 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 3 of the License, or
+(at your option) any later version.
 
-  support for Moscow ML -- see sml-mosml.el.
+GNU Emacs is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
 
-  4
+You should have received a copy of the GNU General Public License
+along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
 
-  forms (aka, templates or macros) insertion semantics have changed
-  because there were bugs. maybe there still are, but anyway: by
-  default C-c C-m inserts the macro at point, C-u C-c C-m will do a
-  newline-and-indent before inserting the macro.
-
-  abstractions are history, and you can play with extending the
-  collection of builtin macros to your heart's content. lookup the
-  function SML-ADDTO-FORMS-ALIST, and the variable SML-FORMS-ALIST.
-
-  5
-
-  drag-and-droppishness, without the drop: SML-DRAG-MOUSE is bound to
-  M-S-down-mouse-1; if you drag the mouse over a region it will be
-  magically sucked into the ML buffer (like C-c C-r, only you don't
-  have to C-@ first). this might be flakey as it heavily depends on
-  the underlying mouse-drag/track-mouse semantics of the various
-  Emacses out there. can't do much about that, sorry.
-
-  6
-
-  anything else i've forgotten already!
-
-To Do:
-
-  0
-
-  indentation is hopeless for sequential code (semicolons). this needs
-  attention; indeed all the indentation code does. Ian Zimmerman's very
-  excellent (looking) indentation code for caml-mode may point the way
-  forward. or we all go over to programming in Lisp instead of ML...
-
-Matthew Morley <mjm@scs.leeds.ac.uk>
-05/97
+\f
+Local variables:
+mode: outline
+paragraph-separate: "[         \f]*$"
+end: