unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: "Daiki Ueno" <ueno@unixuser.org>
To: simon@josefsson.org, emacs-devel@gnu.org
Subject: Fwd: Moving files from lisp/gnus/ to lisp/net/?
Date: Fri, 9 Nov 2007 22:40:56 +0900	[thread overview]
Message-ID: <54a15d860711090540md0e44c7heb89e238beea31ce@mail.gmail.com> (raw)
In-Reply-To: <54a15d860711081633k364caf30r3b75464be8a060fa@mail.gmail.com>

I'm sorry for that I sent this message only to Richard, by mistake.

---------- Forwarded message ----------
From: Daiki Ueno <ueno@unixuser.org>
Date: 2007/11/09 9:33
Subject: Re: Moving files from lisp/gnus/ to lisp/net/?
To: rms@gnu.org


2007/11/9, Richard Stallman <rms@gnu.org>:
>     (3) if read-passwd caches passphrases when the optional argument is
>     given, some people will misuse that new feature (perhaps by cut&paste
>     existing code)
>     even though the docstring of read-passwd explicitly states that behavior.
>
> I don't follow.  What is the scenario you are worried about?
> What code are they copying and pasting?  And why is misuse
> more likely if the new feature is an optional argument
> than if it is a separate function?
>
Ok, here is my scenario:

(1) There is a package "foo" which consists of several files.

(2) "foo" manages passwords used within the package with the same key
associated in the cache.  For example both foo-imap.el and foo-smtp.el
in "foo" use read-passwd with the optional argument like this:

  (read-passwd "Password: " "foo")

(3) The author of another package "bar" wants to read password which
is not necessarily cached.  He searches for appropriate code in
several elisp packages including "foo", and finds several uses of
read-passwd:

  foo/foo-imap.el: (read-passwd "Password: " "foo")
  foo/foo-smtp.el: (read-passwd "Password: " "foo")
  baz.el: (read-passwd "Password: ")

The first two lines and the last one looks similar and the author of
"bar" might use the former with a change of the package name "foo" ->
"bar".

On the other hand, if there is a separate function named
password-read-and-cache and "foo" uses this function, the author of
"bar" will find:

  foo/foo-imap.el: (password-read-and-cache "Password: " "foo")
  foo/foo-smtp.el: (password-read-and-cache "Password: " "foo")
  baz.el: (read-passwd "Password: ")

The first two lines and the last one looks different and it is quite
obvious for the author of "bar" that the first two do password caching
and the last one doesn't.

BTW, though it might not match elisp, there is an argument of function
naming in other languages.
http://www.zenspider.com/dl/rubyconf2005/open-uri.pdf

That says "give shorter names to frequently used functions, longer
names to rarely used functions".  My suggestion is based on the fact
that I hope that password caching in elisp will not be used frequently
;-)

Regards,
--
Daiki Ueno


-- 
Daiki Ueno

  parent reply	other threads:[~2007-11-09 13:40 UTC|newest]

Thread overview: 100+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-10-15 19:26 Moving files from lisp/gnus/ to lisp/net/? Simon Josefsson
2004-10-15 19:37 ` Simon Josefsson
2004-10-15 23:27   ` Miles Bader
2004-10-16  2:08     ` Ted Zlatanov
2004-10-16 13:52   ` Richard Stallman
2004-10-17 13:45     ` Simon Josefsson
2004-10-18 13:58       ` Richard Stallman
2004-10-24 12:24         ` Simon Josefsson
2004-10-25 13:13           ` Richard Stallman
2004-10-25 14:13             ` Simon Josefsson
2004-10-27 10:47               ` Richard Stallman
2004-10-27 19:08                 ` Simon Josefsson
2004-10-29  4:32                   ` Richard Stallman
2004-10-29 21:25                     ` Simon Josefsson
2004-11-01 20:09                       ` Ted Zlatanov
2004-11-01 20:31                         ` Simon Josefsson
2004-11-02 18:30                           ` Ted Zlatanov
2004-11-02 21:15                             ` Stefan Monnier
2007-11-02 15:02               ` Richard Stallman
2007-11-05 10:16                 ` Simon Josefsson
2007-11-06  8:38                   ` Richard Stallman
2007-11-06 14:01                     ` Daiki Ueno
2007-11-07  7:55                       ` Richard Stallman
2007-11-08  0:46                         ` Daiki Ueno
2007-11-08 17:40                           ` Richard Stallman
     [not found]                             ` <54a15d860711081633k364caf30r3b75464be8a060fa@mail.gmail.com>
2007-11-09 13:40                               ` Daiki Ueno [this message]
     [not found]                               ` <E1IqbtM-0003DR-P8@fencepost.gnu.org>
2007-11-10  4:53                                 ` Daiki Ueno
2007-11-10  7:07                                   ` Daiki Ueno
2007-11-10 20:03                                     ` Stefan Monnier
2007-11-11  0:04                                       ` Daiki Ueno
2007-11-11 19:33                                         ` Richard Stallman
2007-11-12  8:54                                           ` Daiki Ueno
2007-11-13  5:10                                             ` Richard Stallman
2007-11-14  3:45                                               ` Daiki Ueno
2007-11-14  5:44                                                 ` Michael Albinus
2007-11-14 14:54                                                   ` Stefan Monnier
2007-11-14 15:13                                                     ` Michael Albinus
2007-11-14 17:30                                                       ` Stefan Monnier
2007-11-15  3:08                                                     ` Richard Stallman
2007-11-15  3:47                                                       ` Stefan Monnier
2007-11-16  4:28                                                         ` Richard Stallman
2007-11-15  0:23                                                 ` Miles Bader
2007-11-15  3:08                                                 ` Richard Stallman
2007-11-11  5:22                                     ` Richard Stallman
2007-11-10 19:53                   ` Tom Tromey
2004-10-15 20:05 ` Miles Bader
2004-10-15 21:15   ` Simon Josefsson
2004-10-16  7:43     ` Thien-Thi Nguyen
2004-10-16 13:44       ` Miles Bader
2004-10-15 20:44 ` Stefan Monnier
2004-10-15 21:06   ` Simon Josefsson
2004-10-15 21:32   ` Lars Magne Ingebrigtsen
2004-10-15 21:47     ` Simon Josefsson
2004-10-15 21:52     ` Stefan Monnier
2004-10-18  1:04     ` Miles Bader
2004-10-18 13:59       ` Richard Stallman
2004-10-20 10:27       ` Lars Magne Ingebrigtsen
2004-10-20 10:50         ` Miles Bader
2004-10-20 11:22           ` Ralf Angeli
2004-10-20 11:39             ` Ralf Angeli
2004-10-21  1:09             ` Miles Bader
2004-10-20 11:32           ` Lars Magne Ingebrigtsen
2004-10-20 11:56             ` Karl Fogel
2004-10-20 12:38               ` David Kastrup
2004-10-20 13:06                 ` Stefan Monnier
2004-10-20 12:34             ` David Kastrup
2004-10-21  1:28             ` Miles Bader
2004-10-21  5:03               ` Lars Magne Ingebrigtsen
2004-10-21  5:49                 ` Miles Bader
2004-10-21 10:05                 ` Kim F. Storm
2004-10-23  7:48                   ` Lars Magne Ingebrigtsen
2004-10-25  1:02                     ` Miles Bader
2004-10-25 10:14                       ` Simon Josefsson
2004-10-25 17:46                         ` Lars Magne Ingebrigtsen
2004-10-25 22:41                           ` Miles Bader
2004-10-27 17:21                             ` Lars Magne Ingebrigtsen
2004-10-28  2:21                               ` Miles Bader
2004-10-26  7:28                           ` Kai Grossjohann
2004-10-27 17:21                             ` Lars Magne Ingebrigtsen
2004-10-16 13:52 ` Richard Stallman
2004-10-18 17:54   ` Ted Zlatanov
2004-10-18 21:36     ` Reiner Steib
2004-10-21 18:45       ` Ted Zlatanov
2004-10-22  0:25         ` Miles Bader
2004-10-24 12:13           ` Simon Josefsson
2004-10-24 12:20             ` Miles Bader
2004-10-24 13:41               ` Simon Josefsson
2004-10-24 22:18                 ` Stefan
2004-10-25 10:08                   ` Simon Josefsson
2004-10-25 11:55                     ` Stefan
2004-10-25 13:07                       ` Simon Josefsson
2004-10-26  9:05                     ` Richard Stallman
2004-10-26  9:26                       ` Simon Josefsson
2004-10-19 16:45     ` Richard Stallman
2004-10-21 18:45       ` Ted Zlatanov
2004-10-23  4:49         ` Richard Stallman
2004-10-24 12:59   ` Simon Josefsson
2004-10-24 13:05   ` Move sha1.el and hex-util.el from lisp/gnus/ to lisp/net/ (was: Re: Moving files from lisp/gnus/ to lisp/net/?) Simon Josefsson
2004-10-25 13:13     ` Richard Stallman
2004-10-25 14:23       ` Move sha1.el and hex-util.el from lisp/gnus/ to lisp/net/ Simon Josefsson

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=54a15d860711090540md0e44c7heb89e238beea31ce@mail.gmail.com \
    --to=ueno@unixuser.org \
    --cc=emacs-devel@gnu.org \
    --cc=simon@josefsson.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).