From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Jan Moringen Newsgroups: gmane.emacs.devel Subject: Re: Inclusion of dbus-proxy Date: Tue, 24 Aug 2010 04:03:43 +0200 Message-ID: <24582_1282615424_ZZh072a3C5uYJ.00_1282615423.16505.92.camel@steed.robot-madness> References: <4045_1282428217_ZZh07312bUcyR.00_1282428214.23884.594.camel@steed.robot-madness> <87aaoesjor.fsf@gmx.de> <8986_1282511101_ZZh07366e9Yqy.00_1282511096.23884.675.camel@steed.robot-madness> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7BIT X-Trace: dough.gmane.org 1282615438 22518 80.91.229.12 (24 Aug 2010 02:03:58 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Tue, 24 Aug 2010 02:03:58 +0000 (UTC) Cc: "emacs-devel@gnu.org" To: Michael Albinus Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Aug 24 04:03:57 2010 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Onirj-0000yD-Q1 for ged-emacs-devel@m.gmane.org; Tue, 24 Aug 2010 04:03:56 +0200 Original-Received: from localhost ([127.0.0.1]:42807 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Oniri-0005iT-MO for ged-emacs-devel@m.gmane.org; Mon, 23 Aug 2010 22:03:54 -0400 Original-Received: from [140.186.70.92] (port=42788 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Onirc-0005i7-Qd for emacs-devel@gnu.org; Mon, 23 Aug 2010 22:03:50 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1Onirb-0008Nf-Kg for emacs-devel@gnu.org; Mon, 23 Aug 2010 22:03:48 -0400 Original-Received: from mux2-unibi-smtp.hrz.uni-bielefeld.de ([129.70.204.73]:40141) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1Onirb-0008NC-Fh for emacs-devel@gnu.org; Mon, 23 Aug 2010 22:03:47 -0400 Original-Received: from pmxchannel-daemon.mux2-unibi-smtp.hrz.uni-bielefeld.de by mux2-unibi-smtp.hrz.uni-bielefeld.de (Sun Java(tm) System Messaging Server 6.3-6.03 (built Mar 14 2008; 32bit)) id <0L7M00G00WE82E00@mux2-unibi-smtp.hrz.uni-bielefeld.de> for emacs-devel@gnu.org; Tue, 24 Aug 2010 04:03:44 +0200 (CEST) Original-Received: from [192.168.2.100] ([217.25.174.231]) by mux2-unibi-smtp.hrz.uni-bielefeld.de (Sun Java(tm) System Messaging Server 6.3-6.03 (built Mar 14 2008; 32bit)) with ESMTPPSA id <0L7M006UTWE7M650@mux2-unibi-smtp.hrz.uni-bielefeld.de>; Tue, 24 Aug 2010 04:03:44 +0200 (CEST) In-reply-to: X-Mailer: Evolution 2.30.3 X-EnvFrom: jan.moringen@uni-bielefeld.de X-PMX-Version: 5.5.9.395186, Antispam-Engine: 2.7.2.376379, Antispam-Data: 2010.8.24.14814, pmx8 X-Connecting-IP: 217.25.174.231 X-detected-operating-system: by eggs.gnu.org: Solaris 10 (beta) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:129103 Archived-At: Hi Michael, thanks for the extensive feedback. > >> For people not familiar with eieio (like me) it would be helpful to > >> explain what's happening here. > > > > When called for the first time on a particular D-Bus object, > > [...] > > the function call syntax for EIEIO methods does not differ from ordinary > > function calls. > > That's more or less how I did understand it. What I recommend is a > description for the user, which does not use eieio terminology. It could > be a barrier for people not familiar with eieio. I committed the following updated explanation which makes fewer references to EIEIO: ;; When called for the first time on a particular D-Bus object, ;; `dbus-proxy-make-remote-proxy' looks up the set of interfaces ;; implemented by the object and dynamically creates Emacs Lisp code ;; that mimics the D-Bus interfaces. This code mainly consists of ;; functions which correspond to the D-Bus interface methods, but ;; information about D-Bus properties and signals is also stored. ;; When called, the generated functions augment their arguments with ;; D-Bus type information and call their corresponding D-Bus methods. ;; When these proxy components are created, names are transformed from ;; D-Bus-typical CamelCamel to something-more-lispy. The generated ;; functions and object slots can be used like ordinary Emacs Lisp ;; functions and object slots. > >> > + dbus-introspection.el > >> > >> If such a module exists, dbus-introspection-* functions from dbus.el > >> could be moved here. > > > > Currently this file contains some accessor functions for D-Bus > > introspection data and some signature parsing code. I'm not sure how > > this would fit together with dbus.el but I do think these should be > > merged. In particular dbus-introspection.el does not depend on > > dbus-proxy.el. > > Maybe there is a misunderstanding. If dbus-introspection.el would be a > part of core Emacs, I recommend to move existing dbus-introspection-* > functions *from* dbus.el *to* dbus-introspection.el. Ah, OK. Well, this has to be done later in case dbus-proxy is included in Emacs, I guess > If dbus-introspection.el will be offered via ELPA, this is not useful. Yes. > > It serves the purpose of letting a person reading the code know that he > > or she is looking at the "definition" of the condition. I though, if I > > just put properties on a symbol one might wonder whether the symbol also > > serves some other purpose. Technically it is totally unnecessary, I > > guess. Should the call to `intern' be removed then? > > I would say yes. Done. > >> Furthermore, since we are in dbus-introspection.el, the functions shall > >> not be prefixed dbus-proxy-* > > > > OK. I wasn't sure, where these functions should be placed. Maybe they > > could be in dbus.el and then be called dbus-parse-*? > > Maybe. Or they are kept in dbus-introspection.el, and are called > dbus-introspection-*. Done. I think, I addressed all suggestions which do not depend on changes in Emacs itself. The code is available at https://code.launchpad.net/~scymtym/+junk/dbus-proxy Kind regards, Jan