Update of /project/beirc/cvsroot/beirc In directory common-lisp:/tmp/cvs-serv10831
Modified Files: presentations.lisp Log Message: Finally! RET no longer tries to complete the line!
(Careful reading of the clim spec really paid off (-:)
--- /project/beirc/cvsroot/beirc/presentations.lisp 2005/10/01 18:18:50 1.7 +++ /project/beirc/cvsroot/beirc/presentations.lisp 2006/01/27 17:18:04 1.8 @@ -32,27 +32,29 @@ (cond ((not success) "") ((zerop (length prefix)) ": ") (t " "))))) - (multiple-value-bind (string success object nmatches possibilities) - (complete-from-possibilities word - (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 (prefixify (if (not success) - string - (irc:nickname object)) - success) - success object nmatches (mapcar (lambda (possibility) - (cons (prefixify (car possibility)) - (cdr possibility))) - possibilities)))))) + (if (eql mode :complete) ; the user entered an activation gesture. don't complete. + (values so-far nil nil 0 nil) + (multiple-value-bind (string success object nmatches possibilities) + (complete-from-possibilities word + (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 (prefixify (if (not success) + string + (irc:nickname object)) + success) + success object nmatches (mapcar (lambda (possibility) + (cons (prefixify (car possibility)) + (cdr possibility))) + possibilities)))))))
;; FIXME/FIXMCCLIM: :possibility-printer is ignored in current ;; McCLIM's COMPLETE-INPUT implementation. @@ -64,11 +66,11 @@ (define-presentation-method accept ((type mumble) *standard-input* (view textual-view) &key) (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 - :partial-completers '()))))) + (nth-value 2 + (complete-input *standard-input* 'nickname-completer + #+(or):possibility-printer #+(or) 'nickname-competion-printer + :allow-any-input t + :partial-completers '())))))
;;; nicknames