From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: David Edmondson Newsgroups: gmane.emacs.devel Subject: Re: [PATCH v1] Fix errors generated when multiple IRC clients talk to a single IRC proxy. Date: Wed, 15 Oct 2014 08:58:50 +0100 Message-ID: References: <87wq81om34.fsf@zigzag.favinet> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1413365057 29664 80.91.229.3 (15 Oct 2014 09:24:17 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 15 Oct 2014 09:24:17 +0000 (UTC) Cc: emacs-devel@gnu.org To: Thien-Thi Nguyen Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Oct 15 11:24:09 2014 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1XeKoQ-0000pu-DO for ged-emacs-devel@m.gmane.org; Wed, 15 Oct 2014 11:24:06 +0200 Original-Received: from localhost ([::1]:43091 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XeKoP-00008j-V2 for ged-emacs-devel@m.gmane.org; Wed, 15 Oct 2014 05:24:05 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:39540) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XeJU3-0008Um-Cv for emacs-devel@gnu.org; Wed, 15 Oct 2014 03:59:04 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XeJTy-0008AM-Fm for emacs-devel@gnu.org; Wed, 15 Oct 2014 03:58:59 -0400 Original-Received: from mail-wg0-f52.google.com ([74.125.82.52]:56992) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XeJTy-0008A3-A9 for emacs-devel@gnu.org; Wed, 15 Oct 2014 03:58:54 -0400 Original-Received: by mail-wg0-f52.google.com with SMTP id a1so694269wgh.23 for ; Wed, 15 Oct 2014 00:58:52 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:to:cc:subject:in-reply-to:references:user-agent :from:date:message-id:mime-version:content-type :content-transfer-encoding; bh=MvbYM28McZ6h9OJj0iT66JFXKOpLdBfMIJdkIaKd3qA=; b=Z7sLQD5PXbFYPPBgw3epvLW+AN8dN16nzNCGdFEG8Uf06DTJg6+onc0Cs81wmoTzeH 86ymzFrbcaBMxvycUBkMvnRgFKDQEEH7onqww8LUaruw5S+9gZch9AH65WOOafB0mT0u GnUC8oG251J6G4YwxCIXLHcIvYFHlyP9z/Q0OrVLAXuicHIEFdngvtwsxDR/KESFgGzj p4Z7NfwXXpl1Wgod+V/I2GmsEBqlH54LGUNaJ2EPkdldVBvmkJfFMTlTwQSe4Pd1Bneq aWmnWOO6YaN716z2B1QBabgdaNF1UHSFB+V++xEQHsXqy6fm1HA9afyBtNnj3AHHnwkt tJDA== X-Gm-Message-State: ALoCoQmEh4Tw9XxYlRX7MQdunpXBFuu7oA+4F7vr7Yth7oM2orYAwulEZbwArEjUP0PfTH8WuoA2 X-Received: by 10.180.212.78 with SMTP id ni14mr10368248wic.2.1413359932613; Wed, 15 Oct 2014 00:58:52 -0700 (PDT) Original-Received: from localhost ([2a01:348:1a2:1:ea39:35ff:fe2c:a227]) by mx.google.com with ESMTPSA id ji10sm18369765wid.7.2014.10.15.00.58.51 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 15 Oct 2014 00:58:51 -0700 (PDT) In-Reply-To: <87wq81om34.fsf@zigzag.favinet> User-Agent: Notmuch/0.18.1 (http://notmuchmail.org) Emacs/24.3.1 (x86_64-apple-darwin13.3.0) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 74.125.82.52 X-Mailman-Approved-At: Wed, 15 Oct 2014 05:10:29 -0400 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:175391 Archived-At: On Wed, Oct 15 2014, Thien-Thi Nguyen wrote: > () David Edmondson > () Wed, 8 Oct 2014 15:03:17 +0100 > > + (when erc-channel-new-member-names > + (maphash (lambda (nick user) > + (if (null (gethash nick erc-channel-new-member-names)) > + (erc-remove-channel-user nick))) > + erc-channel-users) > + (setq erc-channel-new-member-names nil))) > > I don't know if this is the case for Emacs Lisp, but i've been > burned when (and am thus now leery of) doing a destructive > operation on the hash table while hash walking, elsewhere > (here, =E2=80=98erc-remove-channel-user=E2=80=99 boils down to =E2=80=98r= emhash=E2=80=99). > > Better to restructure as two passes: accumulation + destruction. > That way, we cleanly avoid a bug, whether manifest or latent. I understand your concern, however this is not that bug.