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: Emacs contributions, C and Lisp (was: Re: /srv/bzr/emacs/trunk r101338: ...) Date: Sun, 16 Feb 2014 03:47:06 +0200 Message-ID: <5300189A.9090208@yandex.ru> References: <87r47bi1e5.fsf@yandex.ru> <52F96284.50507@yandex.ru> <52FAE12B.6060101@yandex.ru> <52FC3BEE.60604@yandex.ru> <52FCD2B4.5080006@yandex.ru> <52FD9F1D.50205@yandex.ru> <83mwhucg1h.fsf@gnu.org> <878ute589i.fsf@fencepost.gnu.org> <83d2iqc84m.fsf@gnu.org> <87wqgxkcr9.fsf@yandex.ru> <834n41db0d.fsf@gnu.org> <52FE2985.4070703@yandex.ru> <831tz5daes.fsf@gnu.org> <8738jlohd6.fsf@yandex.ru> <83txc1bl83.fsf@gnu.org> 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 1392515282 29152 80.91.229.3 (16 Feb 2014 01:48:02 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 16 Feb 2014 01:48:02 +0000 (UTC) Cc: dak@gnu.org, emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun Feb 16 02:48:10 2014 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 1WEqq0-0008Ku-4M for ged-emacs-devel@m.gmane.org; Sun, 16 Feb 2014 02:48:08 +0100 Original-Received: from localhost ([::1]:59246 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WEqpz-00065o-M4 for ged-emacs-devel@m.gmane.org; Sat, 15 Feb 2014 20:48:07 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:52486) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WEqpo-00064V-Qk for emacs-devel@gnu.org; Sat, 15 Feb 2014 20:48:05 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WEqpg-0004pI-BZ for emacs-devel@gnu.org; Sat, 15 Feb 2014 20:47:56 -0500 Original-Received: from mail-ea0-x22c.google.com ([2a00:1450:4013:c01::22c]:48796) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WEqpO-0004l3-Hj; Sat, 15 Feb 2014 20:47:30 -0500 Original-Received: by mail-ea0-f172.google.com with SMTP id l9so5857386eaj.31 for ; Sat, 15 Feb 2014 17:47:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=OOgrn1hLlkEfHKDm1GIxjTpUQQAY4/QmbUyRpEKcTMM=; b=bSbYBAiB/6tNXjY9zkRTgrwyRAwr6roIC7jFdEpQHaWmLUU7ixD7wfHpk0jLu/eobq tCKkEFP5F0wJtP85KKJo8GqdT4B/YAJ80dKR+ekCaIw0C8k+pzmBymO9I8Nx9a+x+pCs cTZQzC6+LIvOAQgq4SnUtE33C4vddUOJnmbDxFJskzCjYT9oqd1L+y1KAGwgZcXyudR4 0v/dHtDsC7g9XvU3zsi9PxHTfCaxntlTmYJv1FVh9OwQlWW4QJhgCMX75Z0FaQZuJlfA gEZ0q2FPfw7MJOkAUgEEEcBT+xpujX2FJfwYY2HTq9ya+cneSOOmbsxwd3Yka2Y/UKy0 aU3w== X-Received: by 10.15.56.8 with SMTP id x8mr2247551eew.83.1392515249083; Sat, 15 Feb 2014 17:47:29 -0800 (PST) Original-Received: from [192.168.10.2] ([93.109.195.252]) by mx.google.com with ESMTPSA id k6sm38850187eep.17.2014.02.15.17.47.26 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Sat, 15 Feb 2014 17:47:28 -0800 (PST) User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 In-Reply-To: <83txc1bl83.fsf@gnu.org> X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2a00:1450:4013:c01::22c 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:169639 Archived-At: On 14.02.2014 20:30, Eli Zaretskii wrote: > I think your expectations are a bit exaggerated. You cannot possibly > expect of anyone who offers some idea to implement it. People > implement ideas because they have an itch to scratch, not because they > just had the idea. Okay, never mind. Guess my phrasing was too broad. > First, C is a really simple language, and compilers nowadays are good > at diagnosing mistakes. People like to say that, but C being simple and having a weak typing system just means one has to learn more things beyond the language syntax itself. > But even if you decide not to go that way, there are a lot of place to > contribute to the design and the Lisp portions of the implementation. > Even just formulating the requirements is a huge step forward, IMO. Most of the requirements for multiple mode support have been discussed over the years, and the parent discussion has some details that make the picture clearer, at least for me. If you think that's insufficient, please feel free to ask questions, or suggest another format for recording the requirements. > Actually, I don't see many new contributors that do it in Lisp, > either. Sure, there's a lot of code being committed every day, but > awfully few features that really advance forward Emacs as the > programming environment. You may want to look at the Emacs community at large, not limited to the core. There are a lot of packages created and added to MELPA, every week. > E.g., witness the lack of any significant > progress in adding IDE features. I guess that depends on what features you expect. It's true that CEDET hasn't seen a lot of progress feature-wise lately, but that's not very surprising: it's complex, it's relatively hard to set up for a novice, it has a weird separation of extra features between the versions in Emacs and its own trunk, and it's not really suitable for dynamic languages, or languages with type inference. AFAIK, that is. As far as code completion interface goes, Company development continues. Despite certain expectations that everything is better when written in Emacs Lisp, context-dependent code completion and documentation display support is usually delegated to an external process, and there are relatively new packages that use editor-agnostic services: Jedi for Python, nREPL for Clojure, Tern for JavaScript, OmniSharp for C#. There are even several packages that provide support for C/C++ code completion using Clang or libclang. They are older, though, than the ones mentioned above. One feature that has seen less attention is refactoring, but there already are a few packages providing simplistic (and some, even more complex) refactorings: js2-refactor, ruby-refactor, clj-refactor, traad and others. What other features are missing? Class diagrams?