From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.devel Subject: Re: filenotify.el Date: Wed, 26 Jun 2013 10:28:24 -0400 Message-ID: References: <87d2ra9z4x.fsf@gmx.de> <1383316.4Bc292dOgY@descartes> <87vc52yq04.fsf@gmx.de> <87a9md2y0e.fsf@gmx.de> <87d2r9vtze.fsf@gmx.de> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1372256912 24135 80.91.229.3 (26 Jun 2013 14:28:32 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 26 Jun 2013 14:28:32 +0000 (UTC) Cc: =?iso-8859-1?Q?R=FCdiger?= Sonderfeld , emacs-devel@gnu.org To: Michael Albinus Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Jun 26 16:28:32 2013 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 1Urqhy-0007qP-PU for ged-emacs-devel@m.gmane.org; Wed, 26 Jun 2013 16:28:30 +0200 Original-Received: from localhost ([::1]:48087 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Urqhx-0003OZ-V3 for ged-emacs-devel@m.gmane.org; Wed, 26 Jun 2013 10:28:29 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:51431) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Urqhu-0003OT-Ok for emacs-devel@gnu.org; Wed, 26 Jun 2013 10:28:28 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Urqht-0003n9-I5 for emacs-devel@gnu.org; Wed, 26 Jun 2013 10:28:26 -0400 Original-Received: from ironport2-out.teksavvy.com ([206.248.154.182]:57975) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Urqht-0003n2-Dx for emacs-devel@gnu.org; Wed, 26 Jun 2013 10:28:25 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Av4EABK/CFFMCppA/2dsb2JhbABEvw4Xc4IeAQEEAVYjBQsLNBIUGA0kiB4GwS2RCgOkeoFegxM X-IPAS-Result: Av4EABK/CFFMCppA/2dsb2JhbABEvw4Xc4IeAQEEAVYjBQsLNBIUGA0kiB4GwS2RCgOkeoFegxM X-IronPort-AV: E=Sophos;i="4.84,565,1355115600"; d="scan'208";a="17206922" Original-Received: from 76-10-154-64.dsl.teksavvy.com (HELO pastel.home) ([76.10.154.64]) by ironport2-out.teksavvy.com with ESMTP/TLS/ADH-AES256-SHA; 26 Jun 2013 10:28:19 -0400 Original-Received: by pastel.home (Postfix, from userid 20848) id 2133762DAA; Wed, 26 Jun 2013 10:28:24 -0400 (EDT) In-Reply-To: <87d2r9vtze.fsf@gmx.de> (Michael Albinus's message of "Wed, 26 Jun 2013 16:15:17 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 206.248.154.182 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:161095 Archived-At: > Imagine there are two registered watchers: > (gfile-add-watch "/tmp" flags1 'callback1) > (inotify-add-watch "/tmp" flags2 'callback2) > Both return the same descriptor, let's say 1. What would you call, when > there is an incoming event (1 flag "123") for the file "/tmp/123"? Who's "you"? IIUC it's the C code, so if the C code calls inotify's callback when receiving gfile's event it's a bug in the C code that needs fixing regardless of filenotify.el. >>> Such an event looks like (DESCRIPTOR ACTION FILE). Different low-level >>> packages must use unique DESCRIPTORs then. >> Just use (inotify DESCRIPTOR ACTION FILE) instead, if that's really needed. > I would make the descriptor a cons cell '(inotify . number), but it is > the same idea. I don't see any need to make any change to the Elisp visible behavior. > Again, for Tramp I use already a vector as descriptor. > The only promise we have given is, that descriptors returned by > *-add-watch functions can be distinguished via `equal'. Also that a callback is only called for those events on which it was added. Stefan