diff --git a/backend.lisp b/backend.lisp index 198289a92d88f3ea84dbb1416487b225373b8a56..c7be9d10840ccdf9276054084e4e9e9eb2c4af1a 100644 --- a/backend.lisp +++ b/backend.lisp @@ -23,10 +23,10 @@ (defparameter *default-columns* 80) (defparameter *default-lines* 24) -(defparameter *highlight-color* :green +(defparameter *highlight-color* nil "Color to use for highlighting parentheses. NIL is the current foreground -color bolded, other options are :BLACK, :RED, :GREEN, :YELLOW, :BLUE, -:MAGENTA, :CYAN, and :WHITE.") +color bolded, other options are terminal colors :BLACK, :RED, :GREEN, :YELLOW, +:BLUE, :MAGENTA, :CYAN, and :WHITE.") (defclass backend () ((ready-p :accessor backend-ready-p :initform nil) diff --git a/editor.lisp b/editor.lisp index 1b7e698447b16378d9388969e9effa6d28b12851..459290d4f4931f18cd4f3f74d695a795179bd3ad 100644 --- a/editor.lisp +++ b/editor.lisp @@ -58,20 +58,22 @@ (defclass smart-editor (editor smart-terminal) ()) (defclass dumb-editor (editor dumb-terminal) ()) -(let ((ann nil)) - (defun make-editor (&rest args) - (ti:set-terminal) - (let ((type (if (smart-terminal-p) - 'smart-editor - 'dumb-editor))) - (unless ann - (format t "~&Linedit version ~A [~A mode]~%" - *version* - (if (eq 'smart-editor type) - "smart" - "dumb"))) - (setf ann t) - (apply 'make-instance type args)))) +(defvar *announced* nil) + +(defun make-editor (&rest args) + (ti:set-terminal) + (let* ((type (if (smart-terminal-p) + 'smart-editor + 'dumb-editor)) + (spec (list *version* type))) + (unless (equal *announced* spec) + (format t "~&Linedit version ~A [~A mode]~%" + *version* + (if (eq 'smart-editor type) + "smart" + "dumb")) + (setf *announced* spec)) + (apply 'make-instance type args))) ;;; undo