welch@CIS.OHIO-STATE.EDU (Arun Welch) (06/30/89)
Date: Fri, 30 Jun 89 10:48:17 EDT From: "Tihamer T. Toth-Fejel" <ttf@vax3.iti.org> To: info-1100-request@cis.ohio-state.edu Subject: Please add me to you mailing list Cc: ttf@vax3.iti.org I'm finally back on a Xerox! After a year-long stint on Explorers, on which I did my damnest to make it look like Medley. In addition, I wrote something I called Autobind, which was an improvement of what Jay Ferguson (formerly at Stanford, Ford Aerospace, and CRL -now at Xerox Hdqrs) wrote for D-Edit and called Deditbind. Autobind does a number of things to the ZMACS (line-oriented yech lisp editor): - Takes a selected loop, function call, let or mutiple-value-bind and correctly binds the variables (A GREAT timesaver) for faster test-as-you go editing. Reads the currently selected region, and: If the selected expression is a loop, then it cranks through the first iteration. eg. in (loop for thing in '(z b c d) collect thing), thing gets bound to z, and super I lets you bind thing to iib,c,... eg. in (loop for thing from 0 to 10 collect thing), thing gets bound to 0 etc. If the expression is a let, let*, or multiple-value-bind then it binds all the local variables eg. in (let ((z 10)(b 'tree) c) (list 'goblygook)), z gets bound to 10, b to tree, c to nil. eg. in (multiple-value-bind (xlim ylim) (send *terminal-io* :inside-size) (list 'goblygook)), xlim gets set to the 1st value returned by (send *terminal-io* :inside-size), ylim to the 2nd If the selected expression is a list of length two, with the first a symbol (as in the individual variable assignments in a let expression, the first gets setq'ed to the evaluation of the second. If the selected expression is an atom, that atom gets set to nil. The loop bindings were originally inspired by Jay Ferguson's DeditBind enhancement to the Xerox DEdit while both of us were at Ford Aerospace. When debugging loops, he got tired of typing (setq var (car list-to-itterate-over...)). And so did I. Has anyone done anything like this for S-Edit? I don't want to reinvent someone else's work. Also, you know when you eval something in S-Edit and if the result is a list then you have to choose whether you want to inspect it or display-edit it. I'd like to add another item to the menu - Prettyprint to promptwindow. Has anyone done it? Or have any ideas on how to do it?