From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: joakim@verona.se Newsgroups: gmane.emacs.devel Subject: Improving Emacs for writing code Date: Tue, 22 Apr 2008 12:06:58 +0200 Message-ID: NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1208859106 7636 80.91.229.12 (22 Apr 2008 10:11:46 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 22 Apr 2008 10:11:46 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Apr 22 12:12:18 2008 connect(): Connection refused Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1JoFTy-00089F-D1 for ged-emacs-devel@m.gmane.org; Tue, 22 Apr 2008 12:12:14 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1JoFTI-00019W-Ru for ged-emacs-devel@m.gmane.org; Tue, 22 Apr 2008 06:11:32 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1JoFSm-0000pF-Hd for emacs-devel@gnu.org; Tue, 22 Apr 2008 06:11:00 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1JoFSk-0000ms-BM for emacs-devel@gnu.org; Tue, 22 Apr 2008 06:10:59 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1JoFSk-0000mf-2t for emacs-devel@gnu.org; Tue, 22 Apr 2008 06:10:58 -0400 Original-Received: from iwfs.imcode.com ([82.115.149.64] helo=gate.verona.se) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1JoFSj-0006JN-Ez for emacs-devel@gnu.org; Tue, 22 Apr 2008 06:10:57 -0400 Original-Received: from chopper (IDENT:1005@localhost [127.0.0.1]) by gate.verona.se (8.13.4/8.11.4) with ESMTP id m3MAAq8o008990 for ; Tue, 22 Apr 2008 12:10:53 +0200 User-Agent: Gnus/5.110007 (No Gnus v0.7) Emacs/23.0.60 (gnu/linux) X-detected-kernel: by monty-python.gnu.org: Linux 2.4-2.6 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:95753 Archived-At: Emacs does a lot of things uniquely well, but we can still learn from other code writing environments how to improve the code writing experience in Emacs. These are concrete proposals I'm prepared to invest time in: - Merge Cedet in Emacs. Cedet provides many facilities necessary to emulate other modern IDE:s, for instance language parsers in lisp. I think Cedet is nicely written, and that it wouldn't be a great problem to merge it if a decision to do it was reached. I've contributed things to the package and I'm prepared to help with any grunt work necessary for the merge, for instance discussing issues from emacs-devel with the packages principal authors. - Provide some ECB like features in Emacs. ECB provides the typical IDE workspace view in Emacs, but achieves this by advising Emacs core functions a lot. In another thread on this list RMS identified the following core C level features to be implemented for this feature(slightly edited by me): --------------- Perhaps the cleanest way is to give each window a plist to specify whether various operations should consider it. It could have a: - `delete-other-windows' property and a - `select-window' property and a - `display-buffer' property, and the values of these properties would control whether those operations can use this window. (this last one can be postponed, since "dedicted" does the same) The new `display-buffer' property could be equivalent to the existing "dedicated" flag. That would mean it affects some other primitives aside from `display-buffer', but that is ok. There is no need to be rigid about the relationship between these properties and primitives they affect. --------------------- I'm interested in working on initially implementing the first 2 flags in this list. The display-buffer property could be implemented later, since the current "window dedication" feature does the same. -- Joakim Verona