;; ML is good. :) This requires that the sml*.el files be either in one's personal lisp directory or globally. (autoload 'sml-mode "sml-mode" "Major mode for editing ML programs." t) (setq auto-mode-alist (append '(("\\.sml$" . sml-mode) ("\\.sig$" . sml-mode) ("\\.ML$" . sml-mode) ("\\.mlw$" . sml-mode)) auto-mode-alist)) ; replace < ... > with the appropriate directory name ;(setq sml-mode-info "< ... >/sml-mode.info") (setq sml-indent-level 2) (setq sml-program-name "sml") (setq sml-temp-threshold 0) ; safe: always use tmp file (add-hook 'sml-mode-hook '(lambda() "Highlights." (require 'sml-font))) (add-hook 'sml-mode-hook '(lambda() "Set global defaults for inferior-sml-mode" ; (define-key inferior-sml-mode-map "\C-cd" 'sml-cd) (define-key sml-mode-map "\C-cd" 'sml-cd) (define-key sml-mode-map "\C-c\C-f" 'sml-send-function) (define-key sml-mode-map "\C-cl" 'sml-load-file))) ;(add-hook inferior-sml-mode-hook ; '(lambda() "Inferior SML mode defaults" ; (setq comint-scroll-show-maximum-output t ; comint-scroll-to-bottom-on-output t ; comint-input-autoexpand nil)))