;;; mixal-mode.el --- Major mode for the mix asm language.
-;; Copyright (C) 2003, 2004, 2005, 2006, 2007
+;; Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
;; Free Software Foundation, Inc.
-;; This program is free software; you can redistribute it and/or
-;; modify it under the terms of the GNU General Public License as
-;; published by the Free Software Foundation; either version 2 of
-;; the License, or (at your option) any later version.
-
-;; This program is distributed in the hope that it will be
-;; useful, but WITHOUT ANY WARRANTY; without even the implied
-;; warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
-;; PURPOSE. See the GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public
-;; License along with this program; if not, write to the Free
-;; Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
-;; MA 02110-1301 USA
-
;; Author: Pieter E.J. Pareit <pieter.pareit@gmail.com>
;; Maintainer: Pieter E.J. Pareit <pieter.pareit@gmail.com>
;; Created: 09 Nov 2002
;; Version: 0.1
-;; Keywords: Knuth mix mixal asm mixvm "The Art Of Computer Programming"
+;; Keywords: languages Knuth mix mixal asm mixvm "The Art Of Computer Programming"
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
;;; Commentary:
;; Major mode for the mix asm language.
;;; Key map
(defvar mixal-mode-map
(let ((map (make-sparse-keymap)))
- (define-key map "\C-cc" 'compile)
- (define-key map "\C-cr" 'mixal-run)
- (define-key map "\C-cd" 'mixal-debug)
- (define-key map "\C-ho" 'mixal-describe-operation-code)
+ (define-key map "\C-c\C-c" 'compile)
+ (define-key map "\C-c\C-r" 'mixal-run)
+ (define-key map "\C-c\C-d" 'mixal-debug)
+ (define-key map "\C-h\C-o" 'mixal-describe-operation-code)
map)
"Keymap for `mixal-mode'.")
;; (makunbound 'mixal-mode-map)
(defun mixal-run ()
"Run mixal file in current buffer, assumes that file has been compiled."
(interactive)
- (mixvm (concat "mixvm -r -t -d "
- (file-name-sans-extension (buffer-file-name)))))
+ (if (fboundp 'mixvm)
+ (mixvm (concat "mixvm -r -t -d "
+ (file-name-sans-extension (buffer-file-name))))
+ (error "mixvm.el needs to be loaded to run `mixvm'")))
(defun mixal-debug ()
"Start mixvm for debugging.
Assumes that file has been compiled with debugging support."
(interactive)
- (mixvm (concat "mixvm "
- (file-name-sans-extension (buffer-file-name)))))
+ (if (fboundp 'mixvm)
+ (mixvm (concat "mixvm "
+ (file-name-sans-extension (buffer-file-name))))
+ (error "mixvm.el needs to be loaded to run `mixvm'")))
;;;###autoload
(define-derived-mode mixal-mode fundamental-mode "mixal"