
I posted the following question on comp.lang.lisp: I have this code embedded in a process I'm running: (ext:process-exit-code (ext:run-program "cdrecord" args :output *standard-output*))) and it works fine, except that the cdrecord utility (and many others) uses both backspace ^H and carriage return ^M to write updates to the screen. This makes a big mess in the slime-repl window ,as they aren't properly interpreted and so stuff spews out for miles before it finishes. Is there a way to capture these characters before they hit *standard-output* and interpete them so they either work correctly or are at least benign (i.e. convert carriage return to a linefeed, and any sequence of backspaces ^H^H^H^H^H^H^H with a linefeed)? One of the respondents pointed out that: "*STANDARD-OUTPUT* is bound to some Lisp stream maintained by SLIME, attached to an Emacs buffer. cdrecord was not designed to attach to an Emacs buffer, or to anything other than a terminal (or some program which emulates a terminal by understandin the control codes for moving your cursor around" Is there a way to still embed this program call within my lisp project so I can still run it in slime without this behavior? Thanks --Jeff Cunningham