<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -1,12 +1,15 @@
+2008-12-09 &quot;Joost Diepenmaat&quot; &lt;joost@zeekat.nl&gt;
+	* rails-ui.el: modeline code cleanup
+
 2008-12-08 &quot;Joost Diepenmaat&quot; &lt;joost@zeekat.nl&gt;
-	* fixed keymap for modeline and use toggle-output-window
+	* rails-ui.el: fixed keymap for modeline and use toggle-output-window
 
 2008-12-06 &quot;Joost Diepenmaat&quot; &lt;joost@zeekat.nl&gt;
-	* Added mode-line status reporting
-	* Made rails-test:quiet the default
+	* rails-ui.el:  Added mode-line status reporting
+	* rails-test.el: Made rails-test:quiet the default
 
 2008-12-04 &quot;Joost Diepenmaat&quot; &lt;joost@zeekat.nl&gt;
-	* Added &quot;Kill script&quot; command to abort current script / rake task
+	* rails-script.el: Added &quot;Kill script&quot; command to abort current script / rake task
 
 2008-04-29  Tom ten Thij  &lt;mail@tomtenthij.nl&gt;
 </diff>
      <filename>ChangeLog</filename>
    </modified>
    <modified>
      <diff>@@ -107,8 +107,7 @@
 		(case c
 		  (?\E (setq rails-ui:num-errors (+ 1 rails-ui:num-errors)))
 		  (?\F (setq rails-ui:num-failures (+ 1 rails-ui:num-failures)))
-		  (?\. (setq rails-ui:num-ok (+ 1 rails-ui:num-ok)))))
-	      (rails-ui:update-mode-line 1))))))
+		  (?\. (setq rails-ui:num-ok (+ 1 rails-ui:num-ok))))))))))
     (when (and content  
 	       (not rails-test:quiet))
       (message &quot;Progress of %s: %s&quot; rails-script:running-script-name content))))</diff>
      <filename>rails-test.el</filename>
    </modified>
    <modified>
      <diff>@@ -323,18 +323,26 @@
 
 ;; mode-line info
 
-(defvar rails-ui:mode-line-script-name &quot;&quot;)
-(put 'rails-ui:mode-line-script-name 'risky-local-variable t)
-(defvar rails-ui:mode-line-test-results &quot;&quot;)
-(put 'rails-ui:mode-line-test-results 'risky-local-variable t)
+(defvar rails-ui:mode-line-script-name &quot;&quot;
+  &quot;A short name for the currently running script&quot;)
 
-(defvar rails-ui:mode-line '(:propertize (&quot; &quot; rails-ui:mode-line-script-name rails-ui:ticker-string rails-ui:mode-line-test-results)))
-(put 'rails-ui:mode-line 'risky-local-variable t)
+(defvar rails-ui:num-errors 0
+  &quot;Number of errors in the latest test task.&quot;)
+(defvar rails-ui:num-failures 0
+  &quot;Number of failures in the latest test task.&quot;)
+(defvar rails-ui:num-ok 0
+  &quot;Number of tests in the latest test task.&quot;)
+
+(defun rails-ui:reset-error-count ()
+  &quot;Reset number of tests/errors/failures to 0.&quot;
+  (setq rails-ui:num-ok 0
+	rails-ui:num-errors 0
+	rails-ui:num-failures 0))
 
-(defvar rails-ui:mode-line-enabled nil)
-(defvar rails-ui:num-errors 0)
-(defvar rails-ui:num-failures 0)
-(defvar rails-ui:num-ok 0)
+(defvar rails-ui:mode-line '(:propertize (&quot; &quot; rails-ui:mode-line-script-string rails-ui:mode-line-test-results))
+  &quot;`rails-mode''s mode-line construct&quot;)
+
+(put 'rails-ui:mode-line 'risky-local-variable t)
 
 (defvar rails-ui:idle-script-line (propertize &quot;idle&quot; 
 					      'help-echo &quot;No script running.\nmouse-1: toggle output window&quot;
@@ -342,6 +350,21 @@
 					      'local-map '(keymap (mode-line keymap
 							 (mouse-1 . rails-script:toggle-output-window)))))
 
+(defvar rails-ui:mode-line-script-string 
+  '(:eval (if (rails-script:running-p)
+	      (propertize rails-ui:mode-line-script-name
+			  'help-echo (concat &quot;running &quot; 
+					     rails-script:running-script-name 
+					     &quot;\nmouse-1: toggle output window\nmouse-2: kill script&quot;)
+			  'face 'bold
+			  'mouse-face 'mode-line-highlight
+			  'local-map '(keymap (mode-line keymap
+							 (mouse-1 . rails-script:toggle-output-window))
+					      (mouse-2 . rails-script:kill-script)))
+	    rails-ui:idle-script-line)))
+
+(put 'rails-ui:mode-line-script-string 'risky-local-variable t)
+
 (defcustom rails-ui:show-mode-line
   't
   &quot;Show test and script status in the mode-line&quot;
@@ -349,54 +372,32 @@
   :group 'rails
   :tag &quot;Rails show mode line&quot;)
 
-(defun rails-ui:update-mode-line (&amp;optional once?)
-  (when rails-ui:mode-line-enabled
-    (if (rails-script:running-p)
-	(setq rails-ui:mode-line-script-name 
-	      (propertize rails-ui:mode-line-script-name
-			  'help-echo (concat &quot;running &quot; rails-script:running-script-name &quot;\nmouse-1: toggle output window\nmouse-2: kill script&quot;)
-			  'face 'mode-line-emphasis
-			  'mouse-face 'mode-line-highlight
-			  'local-map '(keymap (mode-line keymap
-							 (mouse-1 . rails-script:toggle-output-window))
-							 (mouse-2 . rails-script:kill-script))))
-      (setq rails-ui:mode-line-script-name rails-ui:idle-script-line))
-    (let ((ok (number-to-string rails-ui:num-ok))
-	  (errors (number-to-string rails-ui:num-errors))
-	  (failures (number-to-string rails-ui:num-failures)))
-      (let ((results (propertize
-		      (concat ok &quot;F&quot; failures &quot;E&quot; errors)
-		      'help-echo (concat ok &quot; Tests, &quot;
-					 errors &quot; Errors, &quot;
-					 failures &quot; Failures&quot;))))
-	(if (&gt; (+ rails-ui:num-errors rails-ui:num-failures) 0)
-	    (setq  results (propertize results 'face 'compilation-error)))
-	(setq rails-ui:mode-line-test-results (concat &quot; [&quot; results &quot;]&quot;))))
-    (unless once?
-      (run-at-time &quot;5 sec&quot; nil #'rails-ui:update-mode-line))))
+(defvar rails-ui:mode-line-test-results
+  '(:eval
+    (let ((results (propertize
+		    (format &quot;%dE%dF%d&quot; rails-ui:num-ok rails-ui:num-errors rails-ui:num-failures)
+		    'help-echo (format &quot;%d Tests, %d Errors, %d Failures.&quot; 
+				       rails-ui:num-ok 
+				       rails-ui:num-errors 
+				       rails-ui:num-failures))))
+      (if (&gt; (+ rails-ui:num-errors rails-ui:num-failures) 0)
+	  (setq results (propertize results 'face 'compilation-error)))
+      (concat &quot; [&quot; results &quot;]&quot;))))
 
-(defun rails-ui:reset-error-count ()
-  (setq rails-ui:num-ok 0
-	rails-ui:num-errors 0
-	rails-ui:num-failures 0))
+(put 'rails-ui:mode-line-test-results 'risky-local-variable t)
 
 (defun rails-ui:enable-mode-line ()
+  &quot;Add the rails mode-line to the global mode-string.&quot;
   (interactive)
-  (unless rails-ui:mode-line-enabled
-    (setq rails-ui:mode-line-enabled 1)
-    (unless (memq 'rails-ui:mode-line global-mode-string)
-      (setq global-mode-string
-	    (append global-mode-string '(rails-ui:mode-line))))
-    (rails-ui:update-mode-line)))
-
+  (unless (memq 'rails-ui:mode-line global-mode-string)
+    (setq global-mode-string
+	  (append global-mode-string '(rails-ui:mode-line)))))
 
 (defun rails-ui:disable-mode-line ()
+  &quot;Remove the rails mode-line from the global mode-string.&quot;
   (interactive)
-  (if rails-ui:mode-line-enabled
-      (progn
-	(setq rails-ui:mode-line-enabled nil)
-	(setq global-mode-string
-	      (remove 'rails-ui:mode-line global-mode-string)))))
+  (setq global-mode-string
+	(remove 'rails-ui:mode-line global-mode-string)))
 
 (add-hook 'rails-minor-mode-hook (lambda ()
 				   (if rails-ui:show-mode-line</diff>
      <filename>rails-ui.el</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>ba9b26909a4d69ac40197d2207e5bdf9ebc1f9c3</id>
    </parent>
  </parents>
  <author>
    <name>Joost Diepenmaat</name>
    <email>joost@zeekat.nl</email>
  </author>
  <url>http://github.com/remvee/emacs-rails/commit/958d7fa03466d672eadb2a0f371a05169f2d2e34</url>
  <id>958d7fa03466d672eadb2a0f371a05169f2d2e34</id>
  <committed-date>2008-12-09T01:24:28-08:00</committed-date>
  <authored-date>2008-12-09T01:11:00-08:00</authored-date>
  <message>cleanup the modeline code</message>
  <tree>6609b2d3bcf7b2af362de19e21bb95f0df22a2e5</tree>
  <committer>
    <name>Joost Diepenmaat</name>
    <email>joost@zeekat.nl</email>
  </committer>
</commit>
