From ... Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news.tele.dk!news.tele.dk!small.news.tele.dk!newsfeed1.bredband.com!bredband!uio.no!nntp.uio.no!ifi.uio.no!not-for-mail From: Erik Naggum Newsgroups: comp.lang.lisp Subject: Re: prog@ Date: 14 Nov 2002 18:58:52 +0000 Organization: Naggum Software, Oslo, Norway Lines: 45 Message-ID: <3246289132162826@naggum.no> References: <3DD3C637.1060702@web.de> <3DD3D709.4060900@nyc.rr.com> <3DD3E11B.9080601@web.de> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Trace: maud.ifi.uio.no 1037300332 24123 129.240.65.5 (14 Nov 2002 18:58:52 GMT) X-Complaints-To: abuse@ifi.uio.no NNTP-Posting-Date: 14 Nov 2002 18:58:52 GMT Mail-Copies-To: never User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2 Xref: archiver1.google.com comp.lang.lisp:46642 * Pascal Costanza | Thanks for your comments. Well, I have seen the following idiom. | | (defmethod m :around (...) | (multiple-value-prog1 | (progn | (...) | (call-next-method)) | (...))) | | I find this rather ugly. So what I want to have is something like that. | | (defmethod m :around (...) | (prog@ | (...) | @(call-next-method) | (...))) | | I think this is somewhat nicer. However, you have to admit that this calls | for generalization. ;-) (defmethod m :around (...) (...) (multiple-value-prog1 (call-next-method) (...))) I fail to see the problem. Elsewhere, a simple `let´ form that captures the value and returning is value at the end seems to do a much better job at this: (...) (let (($ ...)) (... $ ...) $) If your value has no natural name, using a symbol like $ should be OK, but you should really think of a good name for the value if it is used elsewhere in the function. -- Erik Naggum, Oslo, Norway Act from reason, and failure makes you rethink and study harder. Act from faith, and failure makes you blame someone and push harder.