X-Git-Url: https://code.delx.au/gnu-emacs-elpa/blobdiff_plain/2a045fc08430e8256233f6a3d3f4e4761a51fb36..23a624ca1d40fa9cefd7229ac6152b79278a6517:/packages/lmc/lmc.el diff --git a/packages/lmc/lmc.el b/packages/lmc/lmc.el index 6eae5644a..b8c8ee028 100644 --- a/packages/lmc/lmc.el +++ b/packages/lmc/lmc.el @@ -1,9 +1,9 @@ -;;; lmc.el --- Little Man Computer in Elisp +;;; lmc.el --- Little Man Computer in Elisp -*- lexical-binding:t -*- -;; Copyright (C) 2011, 2013 Free Software Foundation, Inc. +;; Copyright (C) 2011, 2013, 2014 Free Software Foundation, Inc. ;; Author: Stefan Monnier -;; Version: 1.2 +;; Version: 1.3 ;; 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 @@ -208,8 +208,7 @@ Also, when nil, evaluation is interrupted when the user hits a key.") (let ((word (car word)) (label (nth 1 word)) (code (nth 2 word))) - (let ((basepos (point)) - (base (current-column))) + (let () ;; ((basepos (point)) (base (current-column))) (if (and label (symbolp label)) (insert (symbol-name label))) ;; (when (>= (current-column) (+ base tab-width)) @@ -350,7 +349,7 @@ Also, when nil, evaluation is interrupted when the user hits a key.") (2 (lmc-font-lock-label))) (".$" (0 (lmc-font-lock-opcode))))) -(defun lmc-after-change (beg end len) +(defun lmc-after-change (beg end _len) (unless inhibit-read-only (save-excursion ;; Replace any TAB or NL inserted, which could interfere with parsing. @@ -363,7 +362,7 @@ Also, when nil, evaluation is interrupted when the user hits a key.") (make-variable-buffer-local 'lmc-pc) (defvar lmc-acc nil "LMC accumulator.") (make-variable-buffer-local 'lmc-acc) -(defvar lmc-output nil "Past LMC output,") +(defvar lmc-output nil "Past LMC output.") (make-variable-buffer-local 'lmc-output) (defvar lmc--stopped nil "State where we stopped.") @@ -420,7 +419,7 @@ Also, when nil, evaluation is interrupted when the user hits a key.") (defun lmc-tool-bar-to-string (&optional map) (let ((res "")) (map-keymap - (lambda (k v) + (lambda (_k v) (when (eq (car v) 'menu-item) (let* ((label (nth 1 v)) (cmd (nth 2 v)) @@ -576,7 +575,7 @@ Also, when nil, evaluation is interrupted when the user hits a key.") (setq lmc--stopped (lmc--state)) (force-mode-line-update) (message "Done."))) - (IN (setq lmc-acc (mod (read-number "Enter a number") 1000)) + (IN (setq lmc-acc (mod (read-number "Enter a number: ") 1000)) (incf lmc-pc)) (OUT (message "Output: %03d" lmc-acc) (push (format "%03d" lmc-acc) lmc-output) @@ -711,7 +710,8 @@ The machine will also stop if the user presses a key." (cond ((> (nth 0 (syntax-ppss)) 0) nil) ((looking-at "(") tab-width) - ((not (looking-at comment-start-skip)) 0) + ((not (looking-at comment-start-skip)) + (if (looking-at "[ \t]*$") tab-width 0)) ((not (looking-at "\\s<\\s<")) nil) ((save-excursion (forward-comment (- (point))) (bobp)) 0) (t (forward-comment (point-max)) (lmc-asm-indentation)))))