From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: kai.grossjohann@gmx.net (=?iso-8859-1?q?Kai_Gro=DFjohann?=) Newsgroups: gmane.emacs.devel Subject: Emacs design question (was: run-mode-hooks) Date: Wed, 16 Jul 2003 14:08:25 +0200 Organization: University of Duisburg, Germany Sender: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Message-ID: <84wuei7jye.fsf_-_@lucy.is.informatik.uni-duisburg.de> References: <200307141341.h6EDfxEd006523@rum.cs.yale.edu> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: main.gmane.org 1058357725 451 80.91.224.249 (16 Jul 2003 12:15:25 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Wed, 16 Jul 2003 12:15:25 +0000 (UTC) Original-X-From: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Wed Jul 16 14:15:23 2003 Return-path: Original-Received: from quimby.gnus.org ([80.91.224.244]) by main.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 19clBr-000070-00 for ; Wed, 16 Jul 2003 14:15:23 +0200 Original-Received: from monty-python.gnu.org ([199.232.76.173]) by quimby.gnus.org with esmtp (Exim 3.12 #1 (Debian)) id 19clQ5-0001J5-00 for ; Wed, 16 Jul 2003 14:30:05 +0200 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.20) id 19clBd-00048y-Ln for emacs-devel@quimby.gnus.org; Wed, 16 Jul 2003 08:15:09 -0400 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.20) id 19cl8N-0003Qu-2w for emacs-devel@gnu.org; Wed, 16 Jul 2003 08:11:47 -0400 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.20) id 19cl7w-0003N8-Hf for emacs-devel@gnu.org; Wed, 16 Jul 2003 08:11:21 -0400 Original-Received: from main.gmane.org ([80.91.224.249]) by monty-python.gnu.org with esmtp (Exim 4.20) id 19cl5H-0002b7-Uv for emacs-devel@gnu.org; Wed, 16 Jul 2003 08:08:36 -0400 Original-Received: from list by main.gmane.org with local (Exim 3.35 #1 (Debian)) id 19cl4H-0007rQ-00 for ; Wed, 16 Jul 2003 14:07:33 +0200 Mail-Followup-To: emacs-devel@gnu.org X-Injected-Via-Gmane: http://gmane.org/ Original-To: emacs-devel@gnu.org Original-Received: from news by main.gmane.org with local (Exim 3.35 #1 (Debian)) id 19cl4C-0007r1-00 for ; Wed, 16 Jul 2003 14:07:28 +0200 Original-Lines: 35 Original-X-Complaints-To: usenet@main.gmane.org Mail-Copies-To: never User-Agent: Gnus/5.1003 (Gnus v5.10.3) Emacs/21.3.50 (gnu/linux) Cancel-Lock: sha1:4DD7EiTjXz14PiO/EyuYupQBXzs= X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: Emacs development discussions. List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Xref: main.gmane.org gmane.emacs.devel:15633 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:15633 Richard Stallman writes: > I don't think we should insist that people use any particular > construct for all major modes. It would be useful to write > a define-major-mode macro, but we should not decide to make > all major modes use it now. This example leads me to a question which is more general: >>From time to time I have found that you are opposed to introducing (mandatory use of) additional abstraction levels. In this case, you are suggesting that existing major modes continue to do things "manually", rather than to use the new abstraction. >>From the past, I remember something similar about define-minor-mode or define-derived-mode: there was a change to convert a mode to one of them, and you reversed that change. Obviously, you didn't want the new abstraction to be used for all old cases. I think that there is a lesson to be learned, but I fail to grok. Can you (someone) enlighten me? PS: Thanks for the lesson "eliminating duplication of code is not always desirable" that I learned some months ago when working on Tramp and discussing shell-quote-argument. Now I understand that developers' time spent on discussion is also a valuable resource that needs to be preserved. When faced with the decision to rewrite some small amount of code such that there will be no problems at all, versus endless discussions of many developers about a small issue, one should just add the small piece of code and be done with it. -- ~/.signature