From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.emacs.gnus.general/18011 Path: main.gmane.org!not-for-mail From: Lloyd Zusman Newsgroups: gmane.emacs.gnus.general Subject: Re: I fixed it, but I need Lars ... (Was: *Group* buffer disappearance) Date: 21 Oct 1998 10:55:20 -400 Sender: owner-ding@hpc.uh.edu Message-ID: References: NNTP-Posting-Host: coloc-standby.netfonds.no X-Trace: main.gmane.org 1035156610 3918 80.91.224.250 (20 Oct 2002 23:30:10 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Sun, 20 Oct 2002 23:30:10 +0000 (UTC) Cc: Hrvoje Niksic 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 KAA24175 for ; Wed, 21 Oct 1998 10:56:31 -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 JAB17023; Wed, 21 Oct 1998 09:56:04 -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 09:55:46 -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 JAA24512 for ; Wed, 21 Oct 1998 09:55:37 -0500 (CDT) Original-Received: from ljz.asfast.net (gnus@ljz.asfast.net [205.230.75.82]) by sclp3.sclp.com (8.8.5/8.8.5) with ESMTP id KAA24159 for ; Wed, 21 Oct 1998 10:55:23 -0400 (EDT) Original-Received: (from gnus@localhost) by ljz.asfast.net (8.8.7/8.8.7) id KAA14006; Wed, 21 Oct 1998 10:55:20 -0400 Original-To: ding@gnus.org X-Face: "!ga1s|?LNLE3MeeeEYs(%LIl9q[xV9!j4#xf4!**BFW_ihlOb;:Slb>)vy>CJM writes: > Lloyd Zusman writes: > > > > (What I don't understand is why the undisplayer method still doesn't > > > get *called* when I press C-g.) > > > > `unwind-protect' alone doesn't trap `C-g' signals. > > I'm not talking about "trapping", but about evaluating the cleanup > code. OK. The call to `mm-handle-set-undisplayer' is indeed being made in your `unwind-protect' version, even if `C-g' has been invoked. However, the `mm-handle-set-undisplayer' routine merely queues up the ` *mm*' buffer for later undisplaying. This undisplaying doesn't actually occur until `gnus-summary-exit' gets invoked. Here's the code fragment within `gnus-summary-exit' which takes care of this: (when (gnus-buffer-live-p gnus-article-buffer) (save-excursion (set-buffer gnus-article-buffer) (mapcar 'mm-destroy-part gnus-article-mime-handles))) Actually, this fragment exists within `gnus-summary-exit-no-update', but that routine is normally defalias-ed to `gnus-summary-exit'. There's also another place where this is also invoked ... I believe its within the default `gnus-group-exit-hook'. If we want to clean this up at the moment when someone hits `C-g', then we may have to use `condition-case' after all. > [ ... ] -- Lloyd Zusman ljz@asfast.com