[climacs-cvs] CVS update: climacs/gui.lisp climacs/delegating-buffer.lisp climacs/base.lisp

Dave Murray dmurray at common-lisp.net
Thu Aug 25 07:48:14 UTC 2005


Update of /project/climacs/cvsroot/climacs
In directory common-lisp.net:/tmp/cvs-serv6818

Modified Files:
	gui.lisp delegating-buffer.lisp base.lisp 
Log Message:
Added dead-escape #\x back to global-climacs-table.
Added com-regex-search and com-regex-search-forward to
let people experiment with the cl-automaton regex
facility.

Date: Thu Aug 25 09:48:13 2005
Author: dmurray

Index: climacs/gui.lisp
diff -u climacs/gui.lisp:1.181 climacs/gui.lisp:1.182
--- climacs/gui.lisp:1.181	Sat Aug 20 21:44:08 2005
+++ climacs/gui.lisp	Thu Aug 25 09:48:13 2005
@@ -1956,6 +1956,8 @@
   (add-command-to-command-table command 'dead-escape-climacs-table
 				:keystroke gesture :errorp nil))
 
+(dead-escape-set-key '(#\x) 'esa::com-extended-command)
+
 (defun global-set-key (gesture command)
   (add-command-to-command-table command 'global-climacs-table
 				:keystroke gesture :errorp nil)
@@ -2270,3 +2272,16 @@
 
 (c-c-set-key '(#\l :control) 'com-load-file)
 
+(define-named-command com-regex-search-forward ()
+  (let ((string (accept 'string :prompt "RE search"
+			:delimiter-gestures nil
+			:activation-gestures
+			'(:newline :return))))
+    (re-search-forward (point (current-window)) string)))
+
+(define-named-command com-regex-search-backward ()
+  (let ((string (accept 'string :prompt "RE search backward"
+			:delimiter-gestures nil
+			:activation-gestures
+			'(:newline :return))))
+    (re-search-backward (point (current-window)) string)))


Index: climacs/delegating-buffer.lisp
diff -u climacs/delegating-buffer.lisp:1.4 climacs/delegating-buffer.lisp:1.5
--- climacs/delegating-buffer.lisp:1.4	Sun Feb 27 22:21:51 2005
+++ climacs/delegating-buffer.lisp	Thu Aug 25 09:48:13 2005
@@ -69,4 +69,4 @@
   (buffer-line-number (implementation buffer) offset))
 
 (defmethod buffer-column-number ((buffer delegating-buffer) offset)
-  (buffer-column-number (implementation buffer) offset))
\ No newline at end of file
+  (buffer-column-number (implementation buffer) offset))


Index: climacs/base.lisp
diff -u climacs/base.lisp:1.42 climacs/base.lisp:1.43
--- climacs/base.lisp:1.42	Tue Aug  9 17:18:25 2005
+++ climacs/base.lisp	Thu Aug 25 09:48:13 2005
@@ -624,11 +624,12 @@
 returns nil. If the first value is non-nil, the second value is the
 offset after the matched contents."
   (if (automaton::singleton a)
-      (buffer-search-forward buffer offset (automaton::singleton a))
+      (let ((result (buffer-search-forward buffer offset (automaton::singleton a))))
+	(values result (+ result (length (automaton::singleton a)))))
       (loop for i from offset below (size buffer) do
-	 (let ((j (non-greedy-match-forward a buffer i)))
-	   (when j (return (values i j))))
-	 finally (return nil))))
+	(let ((j (non-greedy-match-forward a buffer i)))
+	  (when j (return (values i j))))
+	    finally (return nil))))
 
 (defun reversed-deterministic-automaton (a)
   "Reverses and determinizes A, then returns it."
@@ -657,11 +658,13 @@
 otherwise, returns nil. If the first value is non-nil, the second
 value is the offset after the matched contents."
   (if (automaton::singleton a)
-      (buffer-search-backward buffer offset (automaton::singleton a))
+      (let ((result (buffer-search-backward buffer offset
+					    (nreverse (automaton::singleton a)))))
+	(values result result))
       (loop for i downfrom (min offset (1- (size buffer))) to 0 do
-	 (let ((j (non-greedy-match-backward a buffer i)))
-	   (when j (return (values j i))))
-	 finally (return nil))))
+	(let ((j (non-greedy-match-backward a buffer i)))
+	  (when j (return (values j i))))
+	    finally (return nil))))
 
 (defun search-forward (mark vector &key (test #'eql))
   "move MARK forward after the first occurence of VECTOR after MARK"




More information about the Climacs-cvs mailing list