[Linedit-cvs] CVS update: src/Makefile src/backend.lisp src/main.lisp src/matcher.lisp src/packages.lisp src/smart-terminal.lisp
Nikodemus Siivola
nsiivola at common-lisp.net
Mon Nov 24 22:56:39 UTC 2003
Update of /project/linedit/cvsroot/src
In directory common-lisp.net:/tmp/cvs-serv15087
Modified Files:
Makefile backend.lisp main.lisp matcher.lisp packages.lisp
smart-terminal.lisp
Log Message:
slightly less broken, but still not ready for release
Date: Mon Nov 24 17:56:38 2003
Author: nsiivola
Index: src/Makefile
diff -u src/Makefile:1.19 src/Makefile:1.20
--- src/Makefile:1.19 Sun Nov 9 07:27:54 2003
+++ src/Makefile Mon Nov 24 17:56:38 2003
@@ -77,7 +77,7 @@
public_html:
$(RSYNC_HTML) && $(HTML_PERMS)
-TI_VERSION=1.2
+TI_VERSION=1.3
TI=terminfo_$(TI_VERSION)
TI_LINK=terminfo_latest.tar.gz
Index: src/backend.lisp
diff -u src/backend.lisp:1.4 src/backend.lisp:1.5
--- src/backend.lisp:1.4 Sun Nov 9 08:20:39 2003
+++ src/backend.lisp Mon Nov 24 17:56:38 2003
@@ -49,3 +49,4 @@
(backend-init ,backend)))
(defgeneric display (backend &key prompt line point &allow-other-keys))
+
Index: src/main.lisp
diff -u src/main.lisp:1.9 src/main.lisp:1.10
--- src/main.lisp:1.9 Thu Nov 20 12:29:55 2003
+++ src/main.lisp Mon Nov 24 17:56:38 2003
@@ -42,6 +42,8 @@
(catch 'form-done
(let ((eof-marker (gensym "EOF"))
(table (copy-readtable)))
+ ;; FIXME: It would be nice to provide an interace of some sort that
+ ;; the user could use to alter the crucial reader macros in custom readtables.
(set-macro-character #\; #'semicolon-reader nil table)
(set-dispatch-macro-character #\# #\. (constantly (values)) table)
(do ((str (apply #'linedit :prompt prompt1 args)
@@ -49,7 +51,9 @@
(string #\newline)
(apply #'linedit :prompt prompt2 args))))
((let ((form (handler-case (let ((*readtable* table))
- ;; Eugh. Argh.
+ ;; KLUDGE: This is needed to handle input that starts
+ ;; with an empty line. (At least in the presense of
+ ;; ACLREPL).
(if (find-if-not 'whitespacep str)
(read-from-string str)
(error 'end-of-file)))
Index: src/matcher.lisp
diff -u src/matcher.lisp:1.2 src/matcher.lisp:1.3
--- src/matcher.lisp:1.2 Sun Nov 9 08:20:39 2003
+++ src/matcher.lisp Mon Nov 24 17:56:38 2003
@@ -21,6 +21,10 @@
(in-package :linedit)
+;; FIXME: This is not the Right Way to do paren matching.
+;; * use stack, not counting
+;; * don't count #\( #\) &co
+
(defun after-close-p (string index)
(and (array-in-bounds-p string (1- index))
(find (schar string (1- index)) ")]}")))
Index: src/packages.lisp
diff -u src/packages.lisp:1.13 src/packages.lisp:1.14
--- src/packages.lisp:1.13 Thu Nov 20 12:29:55 2003
+++ src/packages.lisp Mon Nov 24 17:56:38 2003
@@ -29,7 +29,3 @@
#+sbcl #:install-repl
#+sbcl #:uninstall-repl
))
-
-
-
-
Index: src/smart-terminal.lisp
diff -u src/smart-terminal.lisp:1.9 src/smart-terminal.lisp:1.10
--- src/smart-terminal.lisp:1.9 Sun Nov 9 08:20:39 2003
+++ src/smart-terminal.lisp Mon Nov 24 17:56:38 2003
@@ -70,11 +70,11 @@
(let* ((point (+ (length prompt) point))
(point-row (find-row point))
(point-col (find-col point)))
- (loop repeat (- rows point-row)
- do (ti:tputs ti:cursor-up))
- (ti:tputs ti:column-address point-col)
- ;; Save state
- (setf (point-row backend) point-row
- (active-string backend) new))))
+ (loop repeat (- rows point-row)
+ do (ti:tputs ti:cursor-up))
+ (ti:tputs ti:column-address point-col)
+ ;; Save state
+ (setf (point-row backend) point-row
+ (active-string backend) (concat prompt line)))))
(force-output *terminal-io*)))
More information about the linedit-cvs
mailing list