;;; ls-mode.el -- Emacs mode for editing ParenScript code. (defvar ls-mode-hook nil) (add-hook 'ls-mode-hook (lambda () (define-key ls-mode-map "\C-ck" 'ls-buffer))) (add-to-list 'auto-mode-alist '("\\.ls\\'" . ls-mode)) (define-derived-mode ls-mode lisp-mode "LS" "Major mode for editing LS (parenscript) files." (run-hooks 'ls-mode-hook)) (defun run-ls (ifile &optional ofile) (shell-command (format "%s/lisp/clisp/clisp -q -x '(load \"%s\") (js:compile-parenscript-file \"%s\")'" (expand-file-name "~/") (expand-file-name "~/emacs/ls-mode") (expand-file-name ifile)))) (defun ls-buffer () (interactive) (run-ls (buffer-file-name))) (provide 'ls-mode)