In CLIM 2.0, the following should work: (defun edit-text (stream text) (accepting-values (stream :own-window t) (setq text (accept 'string :stream stream :view '(text-editor-view :nlines 20 :ncolumns 40) :default text))) text) Just call edit-text with a CLIM stream and the initial text