From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: "Robert J. Chassell" Newsgroups: gmane.emacs.devel Subject: Re: buff-menu.el changes Date: Wed, 18 Dec 2002 20:40:01 +0000 (UTC) Sender: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Message-ID: References: Reply-To: bob@rattlesnake.com NNTP-Posting-Host: main.gmane.org X-Trace: main.gmane.org 1040244155 3278 80.91.224.249 (18 Dec 2002 20:42:35 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Wed, 18 Dec 2002 20:42:35 +0000 (UTC) Return-path: Original-Received: from quimby.gnus.org ([80.91.224.244]) by main.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 18Ol1S-0000qV-00 for ; Wed, 18 Dec 2002 21:42:30 +0100 Original-Received: from monty-python.gnu.org ([199.232.76.173]) by quimby.gnus.org with esmtp (Exim 3.12 #1 (Debian)) id 18Ol2F-0006Up-00 for ; Wed, 18 Dec 2002 21:43:19 +0100 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.10.13) id 18Ol0m-0004im-02 for emacs-devel@quimby.gnus.org; Wed, 18 Dec 2002 15:41:48 -0500 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.10.13) id 18Ol0K-0004cb-00 for emacs-devel@gnu.org; Wed, 18 Dec 2002 15:41:20 -0500 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.10.13) id 18Ol02-0004GP-00 for emacs-devel@gnu.org; Wed, 18 Dec 2002 15:41:06 -0500 Original-Received: from megalith.rattlesnake.com ([140.186.114.245] helo=localhost) by monty-python.gnu.org with esmtp (Exim 4.10.13) id 18Okz7-0003ug-00 for emacs-devel@gnu.org; Wed, 18 Dec 2002 15:40:06 -0500 Original-Received: by rattlesnake.com via sendmail from stdin id (Debian Smail3.2.0.114) Wed, 18 Dec 2002 20:40:01 +0000 (UTC) Original-To: emacs-devel@gnu.org In-reply-to: (bob@rattlesnake.com) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1b5 Precedence: list List-Id: Emacs development discussions. List-Help: List-Post: List-Subscribe: , List-Archive: List-Unsubscribe: , Errors-To: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Xref: main.gmane.org gmane.emacs.devel:10266 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:10266 Changes were made in lisp/buff-menu.el I lack the time to change buff-menu.el, except for changing the default widths for Buffer-menu-buffer+size-width and Buffer-menu-mode-width, which I have done. As for the others: * First, when Buffer-menu-use-header-line is nil it is impossible to move to the next line using the next-line (C-n) command when point is on the `C' of CRM.... This is the result of a bug in handling intangible text. Miles Bader has produced a good, short test-case. I don't know how to handle intangible text. Please someone fix this! The bug effects more than the `list-buffers' command. * Second, the addition of the `C' to the existing `RM' is consistent logically, .... [but] The new heading format with the `C' is hard coded into list-buffers-noselect. A new variable is needed, `Buffer-menu-header-first-line', so people can change this. (The variable need not be customizeable; only a few people will want to make the change.) Then, from this, a function should create `Buffer-menu-header-second-line' based on the lengths of the elements of the first line. One problem will be that the `Buffer-menu-buffer+size' function needs to be called every time that the `list-buffers-noselect' function is called. I think the best way to go is to rewrite `Buffer-menu-buffer+size'. * Third, the default width for Buffer-menu-buffer+size-width is 21, but I find that 24 makes a better default. I have changed these defaults. * Fourth, when Buffer-menu-use-header-line is t, the `CRM' characters in the header line do not line up above their respective `Current', `Read-only', and `Modified' columns. I think you forgot to include the left hand fringe width and assumed a value for the scroll-bar-width which does not apply to all instances of Emacs started as: emacs -q --no-site-file --eval '(blink-cursor-mode 0)' (Perhaps screen resolution has something to do with it. My high-quality screen has a resolution of 135 pixels per inch; my other monitors have a resolution of 72 pixels per inch.) You can determine the left hand fringe width in pixels with the expression: (frame-parameter nil 'left-fringe) (I think.) You will need to convert this to column-widths, assuming that `list-buffers' sticks to fixed width fonts. I think I have seen a way to make this conversion but cannot remember where. At the same time, you need to compute the actual scroll-bar-width. Even when I turn off fringes in my plain vanilla Emacs, the header line is not above the text as it should be. I don't know how to handle scroll-bar-width. Best wishes. -- Robert J. Chassell Rattlesnake Enterprises http://www.rattlesnake.com GnuPG Key ID: 004B4AC8 http://www.teak.cc bob@rattlesnake.com