;;;   README --- general information

;; Copyright (C) 1998 KUN.

;; Authors:     1998 Wim Janssen KUN (wim@cs.kun.nl)
;; Created:     1998/09/22
;; Version:     0.4
;; Modified:    1999/09/13
;; Keywords:    Unix languages

;; This file is part of LOOP.

;; LOOP is .....

Installation
============

This package provides a major mode for editing ccsl. It knows about
ccsl syntax, indentation, comments and fontifying.
It also provides the `loop-compile' extension to ccsl and java and
offers some options for the loop-compiler.

A file `.emacs.el' is provided which can be appended to your `.emacs'
file for setting up this package.

To setup `ccsl-mode' and `loop-compile' put the files `ccsl-mode.el'
and `loop-compile.el' in the directory `site-lisp' or put them in some
directory and extend the `load-path' by adding the following lines to
your `.emacs' file. The directory `~/Emacs/' is used in te sample code.

  ;; Extend `load-path' for `ccsl-mode' and `loop-compile' packages.
  (setq load-path
    (cons (concat (expand-file-name "~") "/Emacs/") load-path))

Now setup for `autoloading' `ccsl-mode'.

  ;; Setup autoloading the `ccsl-mode'.
  ;; Extend emacs with the `M-x ccsl-mode' command.
  (setq auto-mode-alist
    (cons '("\\.beh\\'" . ccsl-mode) auto-mode-alist))

  (autoload 'ccsl-mode "ccsl-mode"
    "Major mode for editing ccsl." t nil)

If you want to use `font-lock' in `ccsl-mode' add the next lines.

  ;; Use `font-lock' in `ccsl-mode', otherwise comment out the next line.
  (add-hook 'ccsl-mode-hook 'font-lock-mode)
  (add-hook 'java-mode-hook 'font-lock-mode)

Then add hooks from `ccsl-mode' and `java-mode'.

  ;; Now hooks are heavily used.
  (add-hook 'ccsl-mode-hook 'loop-setup-ccsl)
  (autoload 'loop-setup-ccsl "loop-compile")
  (add-hook 'java-mode-hook 'loop-setup-java)
  (autoload 'loop-setup-java "loop-compile")

You can preset some user definable variables in your `.emacs' file.
(Currently just one variable for `ccsl-mode')

  ;; Examples of user definable variables.

  ;; From `ccsl-mode.el'.
  ;;
  ;; The comment style used in `ccsl-mode' buffers.
  ;; Chooose between 'pvs or 'ml, default is 'pvs.
  (setq ccsl-comment-style 'ml)

  ;; From `loop-compile.el'.
  ;;
  ;; The file name of the loop-compiler.
  ;; Default is "run"
  (setq loop-compiler "~/bin/run")
  ;;
  ;; The output directory used by the loop-compiler.
  ;; Default is nil
  (setq loop-output-directory "~/output/")

Upgrade to version 0.4
=======
Some files in this little package have changed, 
you will have to replace the files:
  "loop-compile.el"

In Your "~/.emacs" file replace the section to setup
this package with the new ".emacs.el" file and adapt
the "user definable variables".

Upgrade to version 0.3
=======
The example installation path has changed from
"~/loop" to "~/Emacs".

All files in this little package have changed, 
you will have to replace the files:
  "ccsl-mode.el"

In Your "~/.emacs" file replace the section to setup
this package with the new ".emacs.el" file and adapt
the "user definable variables".

Changes
=======
1999.09.13
- The menu structure has changed. A menu "Loop" has been added to
  the menubar, which contains menu items to invoke the Loop Compiler
  and PVS typecheck. These menu items were removed from the "CCSL" menu.
  In `java mode' the menu "Loop" replaces "Java Mode Commands".
- The menu item "Compiler Options" has been changed to reflect
  the options that are valid for the Loop Compiler version 2.
  Also the user settable variables have changed. See ".emacs.el".
  The Loop compiler now detect the language by the extension of
  the filename, this implied the removal of the "-j" option.
- The pvs context is now switched to the directory of the file
  edited in the current buffer, at least when no output directory
  is specified. In the previous version the startup directory was the
  pvs context directory.
- A bug causing a "PVS typecheck" when only the "Compile" command was
  issued was removed. The `compilation-finish-function' variable was
  not reset after the "Compile Typecheck" command.
- Another bug is (probably) identified: When issuing a "Typecheck"
  command from the "Loop" menu, The current buffer is scanned
  for class-like items, also items that are commented out....
  This causes an error during PVS typecheck.
  (Hendrik: Is there a nice solution for this?
   `re-search-forward-ignoring-comments' does not seem to work)

1999.01.13
- Underscores are now allowed in Class names.
  Also fixed for ADT and CLASSSPEC names in CCSL.
- Disabled recognition of warnings in compile buffer
  which disabled typechecking in `loop-compile-typecheck'.
- Setting up `autoload'ing of "loop-compile.el" instead
  of `require loop-compile' in the file ".emacs.el".
  How to do this is shown in ".emacs.el"
  Removed a `require loop-compile' from "ccsl-mode.el".
- Cleaned up ".emacs.el" example file.
  Removed the "Options Menu Settings" for xemacs.
  In the "Examples of user definable variables" section
  all user definable variables are provided but are commented
  by default.
- Changed the example installation path from "~/loop"
  to "~/Emacs".
- Added the compiler option "-1" the the "Loop Compile Options"
  menu.

Good luck,
Wim.
