From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Brian Jenkins Newsgroups: gmane.emacs.devel Subject: Re: [PATCH] frame.c: focus hooks Date: Tue, 19 Nov 2013 13:14:59 -0500 Message-ID: References: NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/alternative; boundary=bcaec520ea796f42ae04eb8ba583 X-Trace: ger.gmane.org 1384884919 2747 80.91.229.3 (19 Nov 2013 18:15:19 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 19 Nov 2013 18:15:19 +0000 (UTC) Cc: Bozhidar Batsov , emacs-devel To: rms@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Nov 19 19:15:25 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 1Vippc-00053v-7l for ged-emacs-devel@m.gmane.org; Tue, 19 Nov 2013 19:15:24 +0100 Original-Received: from localhost ([::1]:51030 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Vippb-0007MP-Pp for ged-emacs-devel@m.gmane.org; Tue, 19 Nov 2013 13:15:23 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:35072) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VippX-0007Lf-Vn for emacs-devel@gnu.org; Tue, 19 Nov 2013 13:15:21 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VippW-0000W4-JC for emacs-devel@gnu.org; Tue, 19 Nov 2013 13:15:19 -0500 Original-Received: from mail-pb0-x22b.google.com ([2607:f8b0:400e:c01::22b]:38146) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VippU-0000VI-Hv; Tue, 19 Nov 2013 13:15:16 -0500 Original-Received: by mail-pb0-f43.google.com with SMTP id rq2so6589375pbb.2 for ; Tue, 19 Nov 2013 10:15:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc:content-type; bh=4xv5/FyN4yphUxSmx0TKWOHn5tNg96bYifStAGF2dTI=; b=p1JXYJOXMARGIXjEe0WOM+dlF40b6Wu8iBNiuRlxSyLgERMLEM52kM36LVfzmNzopg f4KNyH4co7u1TKE+MNTX4rdirYYgRqCHXeTH/0PMXTfLmKu0gQlPXGdiQv5qlnL7wh49 alES1FX99V+kGut235+/4ckstVB1d5Nc6YCvJep+QhGHy8ho7+DuJYjO1jDWG5g/9uju //KD9GgarsDgZxrT7gYbyDawAsC4foMg2Lmp45HVYxNQHp17DAWFwxsnO/wsKX0XzhsT sgT5p3iu78gI2ix/vtkiR0s6zbHeCPZe8k5JEH8AtT6kRbacI7iwTgKOe5LCTGI+e7Kn 0FqQ== X-Received: by 10.68.13.104 with SMTP id g8mr27666662pbc.33.1384884915354; Tue, 19 Nov 2013 10:15:15 -0800 (PST) Original-Received: by 10.68.199.68 with HTTP; Tue, 19 Nov 2013 10:14:59 -0800 (PST) In-Reply-To: X-Google-Sender-Auth: Rtrkt0GDONZdX0tK9ioG6gn5C_4 X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2607:f8b0:400e:c01::22b 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:165397 Archived-At: --bcaec520ea796f42ae04eb8ba583 Content-Type: text/plain; charset=ISO-8859-1 > > > Are you assuming that these hooks won't be used by any Lisp packages? > > Yes, I am expecting that they will be left for the user to specify in his or her local Emacs configuration. That is, I expect that they won't be assigned by *polite* Lisp packages. It would be rude to set these hooks in a package published for widespread use. Package authors aren't perfect, but they care enough about Emacs culture to learn Lisp and contribute work. We should assume good faith. When people write impolite packages, we should teach them Emacs etiquette and help them observe social norms. Further, ill-mannered Lisp packages are not forced on the user. They are deliberately downloaded in source form and installed. If a package inappropriately assigns hooks, we are free to uninstall it, to clear the hooks after load, to modify the package for local use, to contact the authors and suggest that they not over-specify our environment, or even to distribute a better-behaved fork of the package. Inappropriate hook assignment is also easier to detect than many possible package misbehaviors -- just evaluate the hook variables. It's probably not a bad idea to document the intent of these hooks -- that they are meant for the end user and that it is inappropriate to set them in public packages, but I don't see that adding them opens a huge can of worms. Best, Brian Jenkins --bcaec520ea796f42ae04eb8ba583 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable

Are you assuming that these hooks won't be used by any Lisp packa= ges?


Yes, I am expecting that they will be left for the user to spe= cify in
his or her local Emacs configuration.

That is, I expect that they won't be assigned by *polite* Lisp pac= kages.
It would be rude to set these hooks in a package published= for
widespread use.

Package authors are= n't perfect, but they care enough about Emacs culture
to learn Lisp and contribute work. =A0We should assume good faith. =A0= When
people write impolite packages, we should teach them Emacs e= tiquette and
help them observe social norms.

Further, ill-mannered Lisp packages are not forced on the user. =A0The= y
are deliberately downloaded in source form and installed. =A0If= a package
inappropriately assigns hooks, we are free to uninstal= l it, to clear the
hooks after load, to modify the package for local use, to contact the<= /div>
authors and suggest that they not over-specify our environment, o= r even
to distribute a better-behaved fork of the package.

Inappropriate hook assignment is also easier to detect = than many
possible package misbehaviors -- just evaluate the hook= variables.

It's probably not a bad idea to do= cument the intent of these hooks -- that
they are meant for the end user and that it is inappropriate to set th= em
in public packages, but I don't see that adding them opens= a huge can of
worms.

Best,
Brian Jenkins=A0
--bcaec520ea796f42ae04eb8ba583--