(define-derived-mode level-mode text-mode "level mode" "game levels" (setq buffer-face-mode-face '(:family "Monaco-10:spacing=110" :height 100 )) ) (defun level-delete-char() (interactive) (when (< 2 (line-number-at-pos)) (delete-char 1))) (add-hook 'level-mode-hook 'whitespace-mode) (add-hook 'level-mode-hook (lambda() (hungry-delete-mode 0))) (add-hook 'level-mode-hook (lambda () (add-hook 'post-self-insert-hook 'level-delete-char nil 'make-it-local))) (provide 'level-mode)