Update of /project/beirc/cvsroot/beirc In directory common-lisp.net:/tmp/cvs-serv711
Modified Files: application.lisp message-display.lisp presentations.lisp Log Message: Fix accepting 'mumble when entering /command args; some style issues; fix accepting 'nickname when in non-channel buffers.
Date: Wed Sep 28 21:33:28 2005 Author: afuchs
Index: beirc/application.lisp diff -u beirc/application.lisp:1.14 beirc/application.lisp:1.15 --- beirc/application.lisp:1.14 Tue Sep 27 22:53:41 2005 +++ beirc/application.lisp Wed Sep 28 21:33:28 2005 @@ -547,8 +547,7 @@ (let ((c (clim:read-gesture :stream stream :peek-p t))) (cond ((eql c #/) (clim:read-gesture :stream stream) - (clim:accept 'clim:command :stream stream - :prompt nil)) + (clim:accept 'clim:command :stream stream :prompt nil)) (t (list 'com-say (accept 'mumble :prompt nil :stream stream)))))) (window-clear stream)))
Index: beirc/message-display.lisp diff -u beirc/message-display.lisp:1.20 beirc/message-display.lisp:1.21 --- beirc/message-display.lisp:1.20 Mon Sep 26 12:52:05 2005 +++ beirc/message-display.lisp Wed Sep 28 21:33:28 2005 @@ -230,7 +230,7 @@ ((format t " ")) ((with-drawing-options (*standard-output* :ink +gray33+ :text-size :small) (present (second (irc:arguments message)) 'nickname) - (format-message* (format nil "is away: ~A" (irc:trailing-argument message)) + (format-message* (format nil " is away: ~A" (irc:trailing-argument message)) :start-length (length (second (irc:arguments message))))))))
(defmethod print-message ((message irc:irc-rpl_whoisidentified-message) receiver)
Index: beirc/presentations.lisp diff -u beirc/presentations.lisp:1.4 beirc/presentations.lisp:1.5 --- beirc/presentations.lisp:1.4 Tue Sep 27 22:58:41 2005 +++ beirc/presentations.lisp Wed Sep 28 21:33:28 2005 @@ -33,19 +33,20 @@ (concatenate 'string prefix word " ")))) (multiple-value-bind (string success object nmatches possibilities) (complete-from-possibilities word - (if (not (null (current-channel))) - (hash-alist - (irc:users - (irc:find-channel - (current-connection *application-frame*) - (current-channel)))) - nil) + (let ((channel (and + (current-channel) + (irc:find-channel + (current-connection *application-frame*) + (current-channel))))) + (if (not (null channel)) + (hash-alist (irc:users channel)) + nil)) '() :action mode :value-key #'cdr) - (values (if (null object) - (prefixify string) - (prefixify (irc:nickname object))) + (values (prefixify (if (null object) + string + (irc:nickname object))) success object nmatches (mapcar (lambda (possibility) (cons (prefixify (car possibility)) (cdr possibility))) @@ -59,18 +60,22 @@ (present (irc:nickname object) 'nickname :stream stream))
(define-presentation-method accept ((type mumble) *standard-input* (view textual-view) &key) - (let ((*completion-gestures* '(#\Tab))) + (with-delimiter-gestures (nil :override t) + (let ((*completion-gestures* '(#\Tab))) (nth-value 2 (complete-input *standard-input* 'nickname-completer #+(or):possibility-printer #+(or) 'nickname-competion-printer - :allow-any-input t)))) + :allow-any-input t + :partial-completers '())))))
;;; nicknames
(define-presentation-method accept ((type nickname) *standard-input* (view textual-view) &key) (with-slots (connection nick) *application-frame* - (let ((users (unless (null (current-channel)) - (mapcar #'car (hash-alist (irc:users (irc:find-channel connection (current-channel)))))))) + (let ((users (let ((channel (and (not (null (current-channel))) + (irc:find-channel connection (current-channel))))) + (if (not (null channel)) + (mapcar #'car (hash-alist (irc:users (irc:find-channel connection (current-channel))))))))) (accept `(or (member ,@users) string) :prompt nil))))
(define-presentation-method accept ((type ignored-nickname) *standard-input* (view textual-view) &key)