From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Richard Stallman Newsgroups: gmane.emacs.devel Subject: Re: init_iterator takes window Date: Sat, 24 Aug 2002 23:26:54 -0600 (MDT) Sender: emacs-devel-admin@gnu.org Message-ID: <200208250526.g7P5Qsr12044@wijiji.santafe.edu> References: <200208231757.g7NHvPl02258@rum.cs.yale.edu> Reply-To: rms@gnu.org NNTP-Posting-Host: localhost.gmane.org X-Trace: main.gmane.org 1030253937 18482 127.0.0.1 (25 Aug 2002 05:38:57 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Sun, 25 Aug 2002 05:38:57 +0000 (UTC) Cc: monnier+gnu/emacs@rum.cs.yale.edu, emacs-devel@gnu.org Return-path: Original-Received: from quimby.gnus.org ([80.91.224.244]) by main.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 17iq6y-0004nz-00 for ; Sun, 25 Aug 2002 07:38:56 +0200 Original-Received: from monty-python.gnu.org ([199.232.76.173]) by quimby.gnus.org with esmtp (Exim 3.12 #1 (Debian)) id 17iqbA-0001iZ-00 for ; Sun, 25 Aug 2002 08:10:08 +0200 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.10) id 17iq8E-0000QH-00; Sun, 25 Aug 2002 01:40:14 -0400 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.10) id 17ipvZ-0006wx-00 for emacs-devel@gnu.org; Sun, 25 Aug 2002 01:27:09 -0400 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.10) id 17ipvN-0006qu-00 for emacs-devel@gnu.org; Sun, 25 Aug 2002 01:27:02 -0400 Original-Received: from pele.santafe.edu ([192.12.12.119]) by monty-python.gnu.org with esmtp (Exim 4.10) id 17ipvM-0006pj-00; Sun, 25 Aug 2002 01:26:56 -0400 Original-Received: from wijiji.santafe.edu (wijiji [192.12.12.5]) by pele.santafe.edu (8.11.6+Sun/8.11.6) with ESMTP id g7P5RK527101; Sat, 24 Aug 2002 23:27:20 -0600 (MDT) Original-Received: (from rms@localhost) by wijiji.santafe.edu (8.11.6+Sun/8.9.3) id g7P5Qsr12044; Sat, 24 Aug 2002 23:26:54 -0600 (MDT) X-Authentication-Warning: wijiji.santafe.edu: rms set sender to rms@wijiji using -f Original-To: ttn@glug.org In-Reply-To: (message from Thien-Thi Nguyen on 23 Aug 2002 14:57:42 -0400) Errors-To: emacs-devel-admin@gnu.org X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.0.11 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Emacs development discussions. List-Unsubscribe: , List-Archive: Xref: main.gmane.org gmane.emacs.devel:6860 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:6860 appearance can also change between two windows even in the same frame. so there is a semantic gap between current `current-column' and one that would take into account variable-width fonts, implying `current-column' callers need to bifurcate their usage to call some "window-current-column" if they care about variable-width fonts, and `current-column' otherwise. current-column is not affected at present by the selected window, and that may be a good thing--but it is not a crucial design requirement. It was easy to do this, because current-column at present does not crucially need any data from the selected window. With the changes for variable width, it would make sense to get all this info from the selected window. Even in Emacs-20 the `current-column' depends on the window because of window-specific overlays that might make some part of the buffer invisible in one window but not in another. Actually it seems to ignore those overlays, because it calls skip_invisible with Qnil for the WINDOW arg. to rms: could you define precisely what is meant by "upward compatibility" wrt `current-column' *usage*? to fulfill that goal i need to understand the concept fully, including from caller perspective. Upward compatibility means, here, that existing user programs that call current-column and other primitives should DTRT (as much as possible) in cases with variable width fonts, when they use the new version of current-column that handles variable width. Clearly we can't make all of these programs DTRT just by changing current-column and other primitives. The point is that the proper way to change the primitives is the way that achieves the largest portion of that goal. It may be that it would be desirable to have a form of current-column that assumes fixed-width, as well as the new one that calculates based on variable width fonts. After your new version is working, we will see if that is needed.