From: Frank Duncan <frank@kank.net>
Date: Sun, 12 Jul 2015 12:40:12 +0000 (-0500)
Subject: No tabs
X-Git-Tag: 0.1~12
X-Git-Url: https://code.consxy.com/gitweb/?a=commitdiff_plain;h=7b5c585eae313b0c9ae0731a75c1a6f6d4fefde7;p=wolf

No tabs
---

diff --git a/resources/tabs.lisp b/resources/tabs.lisp
new file mode 100644
index 0000000..e986574
--- /dev/null
+++ b/resources/tabs.lisp
@@ -0,0 +1,8 @@
+(in-package #:nothing)
+
+(defun hello-world (a b c)
+ (progn
+	(with-open-file (str "increasinglylongfilenamesfailme.dat" :direction :input :if-does-not-exist :create)
+   (when
+    (read-line str)
+    (format t "This file had some things in int, yay!~%")))))
diff --git a/src/main/checker.lisp b/src/main/checker.lisp
index 8bae64f..2c42714 100644
--- a/src/main/checker.lisp
+++ b/src/main/checker.lisp
@@ -6,7 +6,7 @@
 ; - Top level multiline forms must be separated by exactly one space
 ; * No line longer than 120 characters
 ; - No use of unexported symbols in other packages
-; - No tabs
+; * No tabs
 ; - Only one space between elements in a form on a single line
 ; * in-package must be first line in file unless file is package.lisp
 ; * No whitespace at end of line
@@ -35,6 +35,7 @@
     :normal ; normal processing
     :beginning-of-line
     :beginning-of-symbols
+    :all ; matches everything
    )))
 
 
@@ -54,7 +55,7 @@
     (list
      (lambda (state text)
       (and
-       (eql ,state state)
+       (or (eql :all ,state) (eql ,state state))
        (or
         (and (symbolp text) (eql text ,match))
         (and ,scanner
@@ -104,6 +105,8 @@
 ; These are in reverse order
 (progn
  (setf *evaluators* nil)
+ (defevaluator :all "\\t"
+  (constantly "Must not use tabs"))
  (defevaluator :begin "\\(in-package[^\\)]*\\)"
   (lambda ()
    (set-state :normal) nil))