From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Drew Adams" Newsgroups: gmane.emacs.bugs Subject: bug#8795: FW: bug#8795: 24.0.50; `completion-try-completion' addition of METADATA arg Date: Thu, 13 Oct 2011 13:45:39 -0700 Message-ID: <89D983C5D7CA43B7ABBCABB1AAA91910@us.oracle.com> References: <30D5A7793376489C883B10B9D1DFA392@us.oracle.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Trace: dough.gmane.org 1318538805 13344 80.91.229.12 (13 Oct 2011 20:46:45 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Thu, 13 Oct 2011 20:46:45 +0000 (UTC) To: <8795@debbugs.gnu.org> Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Thu Oct 13 22:46:40 2011 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([140.186.70.17]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1RESAp-00020x-BO for geb-bug-gnu-emacs@m.gmane.org; Thu, 13 Oct 2011 22:46:39 +0200 Original-Received: from localhost ([::1]:32882 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RESAo-00017u-M9 for geb-bug-gnu-emacs@m.gmane.org; Thu, 13 Oct 2011 16:46:38 -0400 Original-Received: from eggs.gnu.org ([140.186.70.92]:59695) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RESAl-00017I-Sl for bug-gnu-emacs@gnu.org; Thu, 13 Oct 2011 16:46:36 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RESAk-0001EY-NU for bug-gnu-emacs@gnu.org; Thu, 13 Oct 2011 16:46:35 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:35572) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RESAk-0001EU-Lq for bug-gnu-emacs@gnu.org; Thu, 13 Oct 2011 16:46:34 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.69) (envelope-from ) id 1RESBC-000277-BC for bug-gnu-emacs@gnu.org; Thu, 13 Oct 2011 16:47:02 -0400 X-Loop: help-debbugs@gnu.org In-Reply-To: <30D5A7793376489C883B10B9D1DFA392@us.oracle.com> Resent-From: "Drew Adams" Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 13 Oct 2011 20:47:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 8795 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 8795-submit@debbugs.gnu.org id=B8795.13185387908052 (code B ref 8795); Thu, 13 Oct 2011 20:47:02 +0000 Original-Received: (at 8795) by debbugs.gnu.org; 13 Oct 2011 20:46:30 +0000 Original-Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1RESAf-00025m-HI for submit@debbugs.gnu.org; Thu, 13 Oct 2011 16:46:30 -0400 Original-Received: from rcsinet15.oracle.com ([148.87.113.117]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1RESAY-00025L-HB for 8795@debbugs.gnu.org; Thu, 13 Oct 2011 16:46:24 -0400 Original-Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237]) by rcsinet15.oracle.com (Switch-3.4.4/Switch-3.4.4) with ESMTP id p9DKjihG027626 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for <8795@debbugs.gnu.org>; Thu, 13 Oct 2011 20:45:46 GMT Original-Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157]) by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id p9DKjiqI019234 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for <8795@debbugs.gnu.org>; Thu, 13 Oct 2011 20:45:44 GMT Original-Received: from abhmt101.oracle.com (abhmt101.oracle.com [141.146.116.53]) by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id p9DKjd8R022428 for <8795@debbugs.gnu.org>; Thu, 13 Oct 2011 15:45:39 -0500 Original-Received: from dradamslap1 (/130.35.178.194) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Thu, 13 Oct 2011 13:45:38 -0700 X-Mailer: Microsoft Office Outlook 11 Thread-Index: AcyJTuDdahodUPj5Ts6/nFNGo2uzNQAYJwpAAA4jD0A= X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.6109 X-Source-IP: acsinet21.oracle.com [141.146.126.237] X-Auth-Type: Internal IP X-CT-RefId: str=0001.0A090203.4E974DFA.0154:SCFMA922111,ss=1,re=-4.000,fgs=0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list Resent-Date: Thu, 13 Oct 2011 16:47:02 -0400 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:52630 Archived-At: > > And it is clearly not internal. > > It is. "Internal" reflects the intention behind this > function. As the author of the code, I know better than > you do whether it's internal or not. Your intention is one thing. Reality (actual use) is apparently another. You already acknowledged that you didn't think anyone would ever use this - you were surprised that people do (have to?). What you intended as internal, not realizing the impact of your changes, is not internal - in practice. Do you think people jump through hoops like this just because they want to complicate things, with different code for different Emacs versions? ;; Recent Emacs (completion-try-completion input minibuffer-completion-table minibuffer-completion-predicate (length input) (completion--field-metadata (field-beginning))) instead of just ;; Older Emacs (try-completion input minibuffer-completion-table minibuffer-completion-predicate)) How much simpler it would be to just use `try-completion' here for all Emacs versions. As I said, "If I can easily simplify some of this I would be glad to hear how." No one _wants_ to use something you intended as internal, if they don't have to. > > If it were internal then you would not have needed to > > change METADATA to `&optional'. And I was not the only one > > to point out that its not being optional broke backward compatibility. > > Oh, so because I was nice enough to go through the trouble to preserve > backward compatibility, I am now bound to additionally document > the obvious because you don't find it obvious enough? Backward compatibility takes care of, well, backward compatibility. It does not take care of documenting how to use the new (more complex) paraphernalia. Again, why not? Is it so hard to explain the meaning and behavior of the METADATA parameter? What's wrong with describing even an "internal" function? If you so strongly resist putting the info in a doc string, then put it in a code comment, at least. Code comments are how we document "internal" functions, no? Whether something like this is obvious enough is not for you to determine, but for readers of the code. An author can vouch for the author's _intention_, but not for how well the meaning and behavior are communicated.