;;;; CLASH --- The Common Lisp Adaptable Simple HTTP server ;;;; This is copyrighted software. See documentation for terms. ;;;; ;;;; init.el -- XEmacs initialisations for the CLASH project ;;;; ;;;; Checkout Tag: $Name$ ;;;; $Id$ ;;;; %File Description: ;;;; ;;;; This pulls together several advanced functions of XEmacs to better ;;;; support working with the CLASH project and it's guidelines. ;;;; Amongst other things, it provides for automated template insertion ;;;; into new files, use of a simple transfer menu/command to switch ;;;; between corresponding files, support for CL-Test cases in *.test ;;;; files, etc. ;;;; To use this file, load it from your .emacs file. ;;;; ;;; Mode-Map (unless (assoc "\\.system$" auto-mode-alist) (push '("\\.system$" . lisp-mode) auto-mode-alist)) ;;; Mode-Defaults (add-hook 'lisp-mode-hook '(lambda () (setq lisp-indent-offset 76) (put 'with-slots 'lisp-indent-function 2) (put 'with-accessors 'lisp-indent-function 2) (put 'handler-case 'lisp-indent-function 1))) ;;; Auto-insertion ;;(add-hook 'find-file-hooks 'auto-insert) (define-auto-insert "/CLASH/.*\\.cl$" '("Short description: " ";;;; CLASH --- The Common Lisp Adaptable Simple HTTP server\n" ";;;; This is copyrighted software. See documentation for terms.\n" ";;;; \n" ";;;; " (file-name-nondirectory (buffer-file-name)) " --- " str "\n" ";;;; \n" ";;;; Checkout Tag: $" "Name$\n" ";;;; $" "Id$\n\n" "(in-package :CLASH)\n\n" ";;;; %File Description:\n" ";;;; \n" ";;;; " _ "\n" ";;;; \n\n")) (define-auto-insert "/CLASH/.*\\.test$" '(nil ";;;; CLASH --- The Common Lisp Adaptable Simple HTTP server\n" ";;;; This is copyrighted software. See documentation for terms.\n" ";;;; \n" ";;;; " (file-name-nondirectory (buffer-file-name)) " --- " "Regression test cases for " (replace-in-string (file-name-nondirectory (buffer-file-name)) "\\.test$" ".cl" t) "\n" ";;;; \n" ";;;; Checkout Tag: $" "Name$\n" ";;;; $" "Id$\n\n" ";;;; %File Description:\n" ";;;; \n" ";;;; " _ "\n" ";;;; \n\n"))