[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/lmc 6cd76ac 05/14: * packages/lmc/lmc.el (lmc-store-wor
From: |
Stefan Monnier |
Subject: |
[elpa] externals/lmc 6cd76ac 05/14: * packages/lmc/lmc.el (lmc-store-word): match-data can change in sit-for. |
Date: |
Sat, 28 Nov 2020 23:22:15 -0500 (EST) |
branch: externals/lmc
commit 6cd76acd0522e0363087c0a4f663f09cc55dc0a9
Author: Stefan Monnier <monnier@iro.umontreal.ca>
Commit: Stefan Monnier <monnier@iro.umontreal.ca>
* packages/lmc/lmc.el (lmc-store-word): match-data can change in sit-for.
Reported by William Léchelle <william.lechelle@umontreal.ca>.
---
lmc.el | 35 +++++++++++++++++------------------
1 file changed, 17 insertions(+), 18 deletions(-)
diff --git a/lmc.el b/lmc.el
index 2e6e34e..656539d 100644
--- a/lmc.el
+++ b/lmc.el
@@ -1,9 +1,9 @@
;;; lmc.el --- Little Man Computer in Elisp
-;; Copyright (C) 2011 Free Software Foundation, Inc.
+;; Copyright (C) 2011, 2013 Free Software Foundation, Inc.
;; Author: Stefan Monnier <monnier@iro.umontreal.ca>
-;; Version: 1.0
+;; Version: 1.1
;; 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
@@ -540,22 +540,21 @@
(lmc-addr->point addr)
(if (not (re-search-forward "\t.*\t\\(.*\\)$" (line-end-position) t))
(error "Missing memory cell %S" addr)
- (when lmc-store-flash
- (lmc--with-silent-modifications
- (put-text-property (match-beginning 1) (point)
- 'face 'region))
- (sit-for 0.2))
- (replace-match (format " %03d" word) t t nil 1)
- (when lmc-store-flash
- (sit-for 0.1)
- (lmc--with-silent-modifications
- (put-text-property (match-beginning 1) (point)
- 'face 'region))
- (sit-for 0.1)
- (lmc--with-silent-modifications
- (put-text-property (match-beginning 1) (point)
- 'face nil))
- (sit-for 0.1)))))
+ (let ((mb1 (match-beginning 1)))
+ (when lmc-store-flash
+ (lmc--with-silent-modifications
+ (put-text-property mb1 (point) 'face 'region))
+ (sit-for 0.2))
+ (let ((me1 (point)))
+ (insert (format " %03d" word)) (delete-region mb1 me1))
+ (when lmc-store-flash
+ (sit-for 0.1)
+ (lmc--with-silent-modifications
+ (put-text-property mb1 (point) 'face 'region))
+ (sit-for 0.1)
+ (lmc--with-silent-modifications
+ (put-text-property mb1 (point) 'face nil))
+ (sit-for 0.1))))))
(defun lmc-step ()
"Execute one LMC instruction."
- [elpa] branch externals/lmc created (now cb110db), Stefan Monnier, 2020/11/28
- [elpa] externals/lmc 2e56da4 02/14: * lmc.el: Add a few more commands, and a tool-bar., Stefan Monnier, 2020/11/28
- [elpa] externals/lmc d248525 01/14: New package lmc., Stefan Monnier, 2020/11/28
- [elpa] externals/lmc a5fe8d2 04/14: * lmc.el: Make it work on Emacs-22., Stefan Monnier, 2020/11/28
- [elpa] externals/lmc b7cbf14 07/14: * lmc.el (lmc--sit-for): Fix last change., Stefan Monnier, 2020/11/28
- [elpa] externals/lmc 3b26656 08/14: * lmc.el (lmc-asm-indentation): Indent to tab-width by default., Stefan Monnier, 2020/11/28
- [elpa] externals/lmc 6cd76ac 05/14: * packages/lmc/lmc.el (lmc-store-word): match-data can change in sit-for.,
Stefan Monnier <=
- [elpa] externals/lmc 0604c74 09/14: Add "rudel" to the list of externals., Stefan Monnier, 2020/11/28
- [elpa] externals/lmc cb110db 14/14: * .gitignore: New file, Stefan Monnier, 2020/11/28
- [elpa] externals/lmc 4e16a02 10/14: * packages/lmc/lmc.el (lmc--load-word): Remove unused vars., Stefan Monnier, 2020/11/28
- [elpa] externals/lmc 47cc7a9 11/14: * lmc.el: Use cl-lib, Stefan Monnier, 2020/11/28
- [elpa] externals/lmc d0ca555 03/14: 2011-09-29 Stefan Monnier <address@hidden>, Stefan Monnier, 2020/11/28
- [elpa] externals/lmc 5a8a6a3 06/14: * lmc.el (lmc-turbo): New option., Stefan Monnier, 2020/11/28
- [elpa] externals/lmc b65ac80 12/14: * lmc.el: Mention dependencies & bumpp version, Stefan Monnier, 2020/11/28
- [elpa] externals/lmc 5913867 13/14: * lmc.el: Fix `Package-Requires` line, Stefan Monnier, 2020/11/28