[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] 07/16: * packages/tNFA/tNFA.el (tNFA--DFA-state-create): Avoid ad
From: |
Stefan Monnier |
Subject: |
[elpa] 07/16: * packages/tNFA/tNFA.el (tNFA--DFA-state-create): Avoid add-to-list on local var. |
Date: |
Wed, 15 Oct 2014 21:05:56 +0000 |
monnier pushed a commit to branch master
in repository elpa.
commit e376f16202e30f2eeaa5c2e19de2818a263bb535
Author: Stefan Monnier <address@hidden>
Date: Wed Oct 15 16:36:24 2014 -0400
* packages/tNFA/tNFA.el (tNFA--DFA-state-create): Avoid add-to-list
on local var.
---
packages/tNFA/tNFA.el | 16 +++++++---------
1 files changed, 7 insertions(+), 9 deletions(-)
diff --git a/packages/tNFA/tNFA.el b/packages/tNFA/tNFA.el
index 8ef3682..5a13e41 100644
--- a/packages/tNFA/tNFA.el
+++ b/packages/tNFA/tNFA.el
@@ -1,6 +1,6 @@
;;; tNFA.el --- Tagged non-deterministic finite-state automata
-;; Copyright (C) 2008-2010, 2012 Free Software Foundation, Inc
+;; Copyright (C) 2008-2010, 2012, 2014 Free Software Foundation, Inc
;; Author: Toby Cubitt <address@hidden>
;; Version: 0.1.1
@@ -333,8 +333,7 @@
(defun* tNFA--DFA-state-create (state-list state-pool &key (test 'eq))
;; create DFA state and add it to the state pool
(let ((DFA-state (tNFA--DFA-state--create
- state-list state-pool :test test))
- tmp-list)
+ state-list state-pool :test test)))
(puthash state-list DFA-state (tNFA--DFA-state-pool DFA-state))
(dolist (state state-list)
@@ -342,16 +341,15 @@
(cond
;; literal state: add literal transition
((eq (tNFA--state-type state) 'literal)
- (setq tmp-list (tNFA--DFA-state-transitions DFA-state))
- (add-to-list 'tmp-list (cons (tNFA--state-label state) t))
- (setf (tNFA--DFA-state-transitions DFA-state) tmp-list))
+ (pushnew (cons (tNFA--state-label state) t)
+ (tNFA--DFA-state-transitions DFA-state)
+ :test #'equal))
;; character alternative: add transitions for all alternatives
((eq (tNFA--state-type state) 'char-alt)
(dolist (c (tNFA--state-label state))
- (setq tmp-list (tNFA--DFA-state-transitions DFA-state))
- (add-to-list 'tmp-list (cons c t))
- (setf (tNFA--DFA-state-transitions DFA-state) tmp-list)))
+ (pushnew (cons c t) (tNFA--DFA-state-transitions DFA-state)
+ :test #'equal)))
;; wildcard or negated character alternative: add wildcard
;; transistion
- [elpa] 04/16: * packages/num3-mode/num3-mode.el (num3-mode): Use font-lock-flush if available., (continued)
- [elpa] 04/16: * packages/num3-mode/num3-mode.el (num3-mode): Use font-lock-flush if available., Stefan Monnier, 2014/10/15
- [elpa] 05/16: * packages/shen-mode/inf-shen.el: Don't require `cl'. (shen-remember-functions): Avoid `flet'., Stefan Monnier, 2014/10/15
- [elpa] 08/16: * packages/uni-confusables/uni-confusables.el: Fix up comment convention. * packages/uni-confusables/gen-confusables.el (gen-confusables-write): Idem., Stefan Monnier, 2014/10/15
- [elpa] 06/16: * packages/trie/trie.el (edebug-prin1, edebug-prin1-to-string): Use advice-add when available., Stefan Monnier, 2014/10/15
- [elpa] 09/16: * GNUmakefile (%-pkg.el): Silence the emacs command line again. (all-in-place): Remove debug message., Stefan Monnier, 2014/10/15
- [elpa] 10/16: * packages/f90-interface-browser/f90-interface-browser.el (f90-fontify-arglist): Use font-lock-ensure when available., Stefan Monnier, 2014/10/15
- [elpa] 11/16: * packages/flylisp/flylisp.el (jit-lock-start): Declare., Stefan Monnier, 2014/10/15
- [elpa] 12/16: * packages/jgraph-mode/jgraph-mode.el: Use lexical-binding. (jgraph-extract-commands): Avoid add-to-list on local var., Stefan Monnier, 2014/10/15
- [elpa] 13/16: * packages/markchars/markchars.el (markchars-mode): Use font-lock-flush when available., Stefan Monnier, 2014/10/15
- [elpa] 14/16: * packages/vlf/vlf-occur.el, vlf-search.el, vlf-write.el (tramp-verbose): Declare., Stefan Monnier, 2014/10/15
- [elpa] 07/16: * packages/tNFA/tNFA.el (tNFA--DFA-state-create): Avoid add-to-list on local var.,
Stefan Monnier <=
- [elpa] 16/16: Miscellaneous cleanup., Stefan Monnier, 2014/10/15
- [elpa] 15/16: * packages/js2-mode/js2-imenu-extras.el: Use Unix-style EOL., Stefan Monnier, 2014/10/15