From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.emacs.gnus.general/18014 Path: main.gmane.org!not-for-mail From: Hrvoje Niksic Newsgroups: gmane.emacs.gnus.general Subject: Re: I fixed it, but I need Lars ... (Was: *Group* buffer disappearance) Date: 21 Oct 1998 17:10:25 +0200 Sender: owner-ding@hpc.uh.edu Message-ID: References: NNTP-Posting-Host: coloc-standby.netfonds.no X-Trace: main.gmane.org 1035156613 3929 80.91.224.250 (20 Oct 2002 23:30:13 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Sun, 20 Oct 2002 23:30:13 +0000 (UTC) Cc: ding@gnus.org Return-Path: Original-Received: from fisher.math.uh.edu (fisher.math.uh.edu [129.7.128.35]) by sclp3.sclp.com (8.8.5/8.8.5) with ESMTP id LAA24511 for ; Wed, 21 Oct 1998 11:11:48 -0400 (EDT) Original-Received: from sina.hpc.uh.edu (lists@Sina.HPC.UH.EDU [129.7.3.5]) by fisher.math.uh.edu (8.9.1/8.9.1) with ESMTP id KAB17135; Wed, 21 Oct 1998 10:11:12 -0500 (CDT) Original-Received: by sina.hpc.uh.edu (TLB v0.09a (1.20 tibbs 1996/10/09 22:03:07)); Wed, 21 Oct 1998 10:11:12 -0500 (CDT) Original-Received: from sclp3.sclp.com (root@sclp3.sclp.com [209.195.19.139]) by sina.hpc.uh.edu (8.7.3/8.7.3) with ESMTP id KAA24942 for ; Wed, 21 Oct 1998 10:11:02 -0500 (CDT) Original-Received: from jagor.srce.hr (hniksic@jagor.srce.hr [161.53.2.130]) by sclp3.sclp.com (8.8.5/8.8.5) with ESMTP id LAA24493 for ; Wed, 21 Oct 1998 11:10:46 -0400 (EDT) Original-Received: (from hniksic@localhost) by jagor.srce.hr (8.9.0/8.9.0) id RAA04675; Wed, 21 Oct 1998 17:10:25 +0200 (MET DST) Original-To: Lloyd Zusman X-Attribution: Hrvoje X-Face: &{dT~)Pu6V<0y?>3p$;@vh\`C7xB~A0T-J%Og)J,@-1%q6Q+, gs<-9M#&`I8cJp2b1{vPE|~+JE+gx;a7%BG{}nY^ehK1"q#rG O,Rn1A_Cy%t]V=Brv7h writes: > I accept your point about not wanting to do the cleanup at the > moment `C-g' is invoked, but solely for my own education and > edification (and that of anyone else who might be interested), could > you explain why an immediate `C-g' trap is so undesirable at this > point? C-g trap is not undesirable; it's just that you're confusing condition-case and unwind-protect. condition-case should be used when you want to selectively trap errors and do cleanup code. What we need here is the cleanup code that evaluates no matter what way we exit from the function -- including C-g. This is exactly what unwind-protect is for. So, my patch adds unwind protection twice: once for the undisplayer to be set, and once for the buffer to be killed after it is saved (or not). I hope this makes sense. -- Hrvoje Niksic | Student at FER Zagreb, Croatia --------------------------------+-------------------------------- Do not meddle in the affairs of troff, for it is subtle and quick to anger.