From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Dmitry Gutov Newsgroups: gmane.emacs.devel Subject: Re: Any exceptions for the 15-line rule? Date: Sat, 27 Apr 2013 17:45:16 +0400 Message-ID: <517BD66C.8030906@yandex.ru> References: <87d2tgu0ad.fsf@yandex.ru> <871u9wyxaz.fsf@yandex.ru> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1367070327 3847 80.91.229.3 (27 Apr 2013 13:45:27 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 27 Apr 2013 13:45:27 +0000 (UTC) Cc: emacs-devel@gnu.org To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Apr 27 15:45:31 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 1UW5RS-00068b-U2 for ged-emacs-devel@m.gmane.org; Sat, 27 Apr 2013 15:45:31 +0200 Original-Received: from localhost ([::1]:51766 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UW5RS-0005uZ-Io for ged-emacs-devel@m.gmane.org; Sat, 27 Apr 2013 09:45:30 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:34407) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UW5RL-0005bN-1n for emacs-devel@gnu.org; Sat, 27 Apr 2013 09:45:27 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UW5RH-0003kf-9z for emacs-devel@gnu.org; Sat, 27 Apr 2013 09:45:22 -0400 Original-Received: from mail-la0-x229.google.com ([2a00:1450:4010:c03::229]:64150) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UW5RH-0003kb-2b for emacs-devel@gnu.org; Sat, 27 Apr 2013 09:45:19 -0400 Original-Received: by mail-la0-f41.google.com with SMTP id fq13so4321919lab.14 for ; Sat, 27 Apr 2013 06:45:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:sender:message-id:date:from:user-agent:mime-version:to :cc:subject:references:in-reply-to:content-type :content-transfer-encoding:x-antivirus:x-antivirus-status; bh=9DP0bBs3KsVm1CxEsmU7ZbJaid91WH1gbjxzwtC223s=; b=c4mX8PM/JwlVsMDiBAD7r0fZF1aYIClKQQan9RBVrVHB2WAFWpjBdhHJOjR2PuipyF CIyJlREq1+cYK8AIQCq7ak93AUCXT3YvJ1D1EhKMazSNQp/fDZfLYxJBx0LeIIUCNUix Kji/8RK9chQNjhRXHwnzZUqzROiynJzldFpVqY2WYiOc/7u6JeMoYPTIGBu13LK1LK0g y+Nig5mPvukVGTclGH+Fe97J1L+INvugjwzJaXgnHI7DioZEvVyAYWxE2YjFnORVrNDY 0M/qjKXjMWmDJvzvkKk6ryVGy/M1DB19eXxPwT5Fj7ulWti7aw1b3JNuhr2s4fZyAB0x jpTw== X-Received: by 10.152.4.100 with SMTP id j4mr24065921laj.14.1367070317831; Sat, 27 Apr 2013 06:45:17 -0700 (PDT) Original-Received: from [127.0.0.1] ([178.252.98.87]) by mx.google.com with ESMTPSA id c5sm805811lba.1.2013.04.27.06.45.16 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Sat, 27 Apr 2013 06:45:16 -0700 (PDT) User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20130328 Thunderbird/17.0.5 In-Reply-To: X-Antivirus: avast! (VPS 130427-0, 27.04.2013), Outbound message X-Antivirus-Status: Clean X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2a00:1450:4010:c03::229 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:159184 Archived-At: On 27.04.2013 17:28, Stefan Monnier wrote: >> Thanks, `substring' is better than `replace-match' I mentioned. But >> still, should this be considered a full new implementation? Does >> replacing `cond' with `if' in the inner condition make it a new piece of >> code, as opposed to derivative one? > > The purpose is just to "simplify" the code, rather than to obscure > the copyright. In terms of copyright, it does reduce the amount of code > taken, indeed, but it's not a very significant difference. I see. >>> With such cleanups, the patch seems acceptable as a "tiny change". >>> But please do ask for the CA as well (so the use of "tiny change" is >>> mostly a way to avoid having to wait for the CA to go through). >> To be clear, who do I ask to sign the CA over the modified patch? The >> auto-complete-clang author, or the person who looked at a few pieces >> from that package and adapted them to (admittedly, fairly similar) >> company-clang code? > > In terms of who owns the copyright, the answer is probably "both", but > to the extent that it fits the "tiny change" criteria we don't need to > care too much (unless one or both of the authors already have > contributed code as a "tiny change" since those things are cumulative). > Assuming that we want company-mode and auto-complete to share more code > in the future, having the assignment of AC's author is a good idea. auto-complete-clang is a separate package from auto-complete (which has multiple authors, but the principal one already has CA on file: Tomohiro Matsuyama). I'll ask, although I think the only useful piece left we could borrow is converting the lightweight markup in completion candidates into syntax highlighting, and that I should be able to write in some different way without much difficulty. > As for the person who sent you the patch, it would also make sense to > get his/her assignment if there's a chance he'll contribute more in > the future. Ok, I'll ask. > PS: By the way, I think company-backends should be merged with (and/or > moved over to) completion-at-point-functions, and some of those backends > should be moved to their respective major modes. Yes, I remember the email that accompanied your company-capf patch, but so far I don't see a good way to go about it. The interface provided by company-backends is considerably richer. How do we fit that inside completion-at-point-functions? There's also the problem of keeping compatibility with already released Emacs versions. If we move the code, they won't be able to use it; if we keep it, it would create duplication.