<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>To change the prompt, you can just redefine&nbsp;ccl::print-listener-prompt.</div><div><br class="webkit-block-placeholder"></div><div><font class="Apple-style-span" face="Courier">(in-package ccl)</font></div><div><font class="Apple-style-span" face="Courier"><br class="webkit-block-placeholder"></font></div><div><font class="Apple-style-span" face="Courier">(let ((*warn-if-redefine-kernel* nil))</font></div><div><font class="Apple-style-span" face="Courier">&nbsp;&nbsp;(defun print-listener-prompt (stream &amp;optional (force t))</font></div><div><font class="Apple-style-span" face="Courier">&nbsp;&nbsp; (unless *quiet-flag*</font></div><div><font class="Apple-style-span" face="Courier">&nbsp;&nbsp; &nbsp;(when (or force (neq *break-level* *last-break-level*))</font></div><div><font class="Apple-style-span" face="Courier">&nbsp;&nbsp; &nbsp; &nbsp;(let* ((*listener-indent* nil))</font></div><div><font class="Apple-style-span" face="Courier">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;(fresh-line stream) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</font></div><div><font class="Apple-style-span" face="Courier">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;(if (%izerop *break-level*)</font></div><div><font class="Apple-style-span" face="Courier">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(%write-string ":-)" stream) &nbsp; ; happy programming mode</font></div><div><font class="Apple-style-span" face="Courier">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(format stream "~s &gt;" *break-level*))) &nbsp; &nbsp; &nbsp; &nbsp;</font></div><div><font class="Apple-style-span" face="Courier">&nbsp;&nbsp; &nbsp; &nbsp;(write-string " " stream) &nbsp; &nbsp; &nbsp; &nbsp;</font></div><div><font class="Apple-style-span" face="Courier">&nbsp;&nbsp; &nbsp; &nbsp;(setq *last-break-level* *break-level*)))</font></div><div><font class="Apple-style-span" face="Courier">&nbsp;&nbsp; &nbsp;(force-output stream)))</font></div><div><br class="webkit-block-placeholder"></div><div>Note: to figure this out, I brought up the Apropos window from the Tools menu, and looked for functions containing the word prompt. &nbsp;I then did meta-point on the function to get to its source code. &nbsp;(meta-point = option-period when the insertion point is in the symbol. &nbsp;It's an unfortunate missing feature that you can't get to source code from the apropos window.)</div><div><br class="webkit-block-placeholder"></div><div>I can't comment on readline, because I'm not familiar with it. &nbsp;If I'm understanding what it is, though, you already have a lot of that built in to Clozure CL IDE. &nbsp;Oh, wait: what platform are you running on? &nbsp;If you're running the command line version, then yes, I can see why you'd want that. &nbsp;The thing that most Lisp programmers these days are using, though, is an Emacs library called Slime. &nbsp;YMMV.</div><div><br class="webkit-block-placeholder"></div><div>Oh, and if you're not using the IDE, you should just call the CL function APROPOS rather than bringing up the GUI tool. &nbsp;I'm not sure how to get to source code in the command-line version, sans Slime.</div><div><br class="webkit-block-placeholder"></div><div>Happy hacking.</div><div><br class="webkit-block-placeholder"></div><div>Andrew</div><div><br class="webkit-block-placeholder"></div><br><div><div>On Dec 2, 2007, at 7:55 PM, Duane Ryan wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">Hi OpenMCL users.<br>I'm a new lisp user, a transfer from ruby, and so far I love it; it changes the way I program, and it is BLAZING fast. (especially compared to, say, ruby or python).<br><br>Still, one thing really annoys me: the repl. First of all, I'd like to change the prompt. Minor thing, and I can always recompile my customization easier (I'd just like a way to do that at runtime.) Second, I want readline support. I know its license conflicts with openmcl's, but what about editline? Heck, it's even built into os x! <br><br>Anyway, I'd like to change that. So what I am doing at the moment is spawning a new process whose io streams are controlled via two ptys, and do read/editline support that way. But that seems such a large hack, especially when I feel it could be so easily implemented. So, short of implementing readline functionality, could the source be modified so the user can? <br><br>Thanks much, Duane.<br> _______________________________________________<br>Openmcl-devel mailing list<br><a href="mailto:Openmcl-devel@clozure.com">Openmcl-devel@clozure.com</a><br>http://clozure.com/mailman/listinfo/openmcl-devel<br></blockquote></div><br></body></html>