unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Brian Jenkins <brian@brianjenkins.org>
To: Drew Adams <drew.adams@oracle.com>
Cc: emacs-devel <emacs-devel@gnu.org>
Subject: Re: [PATCH] frame.c: focus hooks
Date: Tue, 19 Nov 2013 19:52:13 -0500	[thread overview]
Message-ID: <CADTx1OynPOhy10XHD3aANv-W27ASk+a6VBT=MqKFsYjz_EYwDA@mail.gmail.com> (raw)
In-Reply-To: <fcf43a5c-8694-45e9-b88c-ec7e82aefa89@default>

[-- Attachment #1: Type: text/plain, Size: 2582 bytes --]

On Tue, Nov 19, 2013 at 1:53 PM, Drew Adams <drew.adams@oracle.com> wrote:

> Hm. I see nothing in either the Emacs manual or the Elisp manual that
> suggests that Lisp code should not use `add-hook' or `remove-hook'.
>
>
>
> Where do you find a convention saying that *polite* Lisp packages do not
> modify hook values and that to do so in a package published for widespread
> use is "rude" and "ill-mannered"? Or that package authors who do not
> respect such a presumed convention are impolite or do not act in good faith?
>
>

I'm sorry if I was unclear.  Of course it is appropriate for package
authors to use hooks in general.

I believe that it would in inappropriate to set *these hooks in
particular*, because behavior on focus-in & focus-out is a matter of
taste.

As for good faith, I explicitly said we should assume good faith.

If someone writes an otherwise great package that has weird global side
effects, we shouldn't assume that he or she is a jerk.

We should say "Hey, this is a great package, but you're assuming that
everyone will want to to save all their files when they alt-tab away
from Emacs.  Many people might not want that.  Why not leave this hook
to the user to configure so that more people can benefit from your
work?"

We should assume that disruptive side effects are due to inattention,
not malice.


> Where are the "Emacs etiquette" and "social norms" in this regard put
> forth?
>
>
>
> Just wondering.
>
>

Well, nowhere.  No one is saying that package authors shouldn't use any
hooks.  I'm sorry that I sounded like I was saying that -- it's not what I
meant.

But there *are* social norms being communicated in this forum.  I don't
think I'm imagining a consensus of fairly strong disapproval for package
authors globally imposing behaviors that are a matter of taste or that
work well on one platform, but not on others.

If this convention is not communicated in, for instance, the ELisp info
pages, maybe it should be.


> You say:
>
>
>
> 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.
>
>
>
> Then please do that. If it is inappropriate for Lisp code to use *these*hooks, then document that, of course. And perhaps document the reason. I
> don't think you can assume that people (users or package authors) are aware
> of the convention that you presume.
>
>
>

Thanks for the feedback. You make a good point -- I will do this.

Best,
Brian Jenkins

[-- Attachment #2: Type: text/html, Size: 6094 bytes --]

  reply	other threads:[~2013-11-20  0:52 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-11-17 17:50 [PATCH] frame.c: focus hooks Brian Jenkins
2013-11-17 18:29 ` Bozhidar Batsov
2013-11-17 22:25   ` Brian Jenkins
2013-11-17 22:33     ` Drew Adams
2013-11-18 13:24       ` Brian Jenkins
2013-11-18 14:53         ` Drew Adams
2013-11-19  0:19         ` Stefan Monnier
2013-11-19  8:26         ` Stephen J. Turnbull
2013-11-19 14:10           ` Bozhidar Batsov
2013-11-20  3:10             ` Brian Jenkins
2013-11-18  8:20     ` Bozhidar Batsov
2013-11-18 13:32   ` Stefan Monnier
     [not found]     ` <CAM9Zgm18uL7+PJ+60NjZqtjZJ6tUV77xUbFhXh7UPwqs==1=hg@mail.gmail.com>
2013-11-18 14:20       ` Fwd: " Bozhidar Batsov
2013-11-18 14:23     ` Brian Jenkins
2013-11-18 18:44   ` Richard Stallman
2013-11-18 19:49     ` Brian Jenkins
2013-11-19  6:02       ` Richard Stallman
2013-11-19 18:14         ` Brian Jenkins
2013-11-19 18:53           ` Drew Adams
2013-11-20  0:52             ` Brian Jenkins [this message]
2013-11-19 23:42           ` Richard Stallman
2013-11-20  0:52             ` Josh
2013-11-20  3:16               ` Stefan Monnier
2013-11-20  3:36                 ` Josh
2013-11-20  7:34                   ` martin rudalics
2014-01-09 17:01                     ` Josh
2014-01-11 10:25                       ` martin rudalics
2014-01-11 19:05                         ` Josh
2014-01-12  9:54                           ` martin rudalics
2014-01-14 17:30                             ` Josh
2014-01-14 18:10                               ` martin rudalics
2014-01-10 17:31                   ` Stefan Monnier
2014-01-11 19:06                     ` Josh
2013-11-20  0:53             ` Brian Jenkins
2013-11-20  7:46               ` Jarek Czekalski
2013-11-17 19:28 ` Glenn Morris
2013-11-17 21:19 ` Stefan Monnier
2013-11-18  4:11 ` Leo Liu
     [not found]   ` <CADTx1Oy5pUmb9sPU6jm0yt1hJtvgJmfDtZQpeFakmHknhEXE=A@mail.gmail.com>
2013-11-18 13:33     ` Fwd: " Brian Jenkins

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CADTx1OynPOhy10XHD3aANv-W27ASk+a6VBT=MqKFsYjz_EYwDA@mail.gmail.com' \
    --to=brian@brianjenkins.org \
    --cc=drew.adams@oracle.com \
    --cc=emacs-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).