;;; -*- Mode:LISP; Comment:(SAVE THESE FOR NEXT WEEK); Base:10 -*- ;;;Editor / buffer comments (defvar *editor-buffer-comment-usage-level* :unknown "Turn this off to avoid temporary buffer comments getting into mode lines, files, etc.") (defun set-editor-buffer-comment-usage-level() (cond ((or (not (boundp '*editor-buffer-comment-usage-level*)) (eq *editor-buffer-comment-usage-level* :unknown)) (setq *editor-buffer-comment-usage-level* (fquery '(:type :tyi :choices (((:always "Yes") #\Y #\space) ((nil "No") #\N) ((:ask "Maybe - ask for each buffer") #\? #\M))) "Provide for a buffer :COMMENT attribute whenever possible?"))) ((eq *editor-buffer-comment-usage-level* :ask) (yes-or-no-p "How about a buffer :COMMENT this time?")) (t *editor-buffer-comment-usage-level*))) (defun set-editor-buffer-comment (buffer &optional comment) (unless comment (setq comment (ncons (typein-line-readline "Enter a comment for this buffer:")))) (if (progn (when (or (send buffer :get-attribute :comment) *editor-buffer-comment-usage-level*) (send buffer :set-attribute :comment comment :query) (update-buffer-attribute-list buffer))) (barf "A buffer comment must be a symbol."))) (defcom com-set-buffer-comment "Record a comment with this buffer" () (when (set-editor-buffer-comment-usage-level) (set-editor-buffer-comment *interval*)) dis-text)