On Wed, 27 Jul 2016, Drew Adams wrote: > and sometimes for a return-value computation that is followed by > some side effect such as showing a message. > > But for most cases where someone else might use `prog1' I'm already > let-binding a variable that I use for the value that might otherwise > be returned by the `prog1' (or by a `prog2'). > > (let (... result) ... (setq result ...) ... result) Yeah, i also like binding one 'result' variable: this way all defun's in the code sistematically return the last evaluated form. Its easier to read. On Wed, 27 Jul 2016, Clément Pit--Claudel wrote: >No, that's not what I meant. I meant that in Lisp when I want to write >(n - 1) I actually write (- n 1); thus, when I see progn-1, >I don't read it as "prog (n minus 1)", but instead as "progn dash 1". >Given the convention that foo-1 usually means >"internal function used in the implementation of foo", >I read it as "internal function used to implement progn". This is another point against my proposal: the notation could be misleading. So, i give up with my proposal. Thank you very much. Tino