From: Richard Stallman <rms@gnu.org>
Cc: monnier+gnu/emacs@rum.cs.yale.edu, emacs-devel@gnu.org
Subject: Re: init_iterator takes window
Date: Sat, 24 Aug 2002 23:26:54 -0600 (MDT) [thread overview]
Message-ID: <200208250526.g7P5Qsr12044@wijiji.santafe.edu> (raw)
In-Reply-To: <jky9axbdy1.fsf@glug.org> (message from Thien-Thi Nguyen on 23 Aug 2002 14:57:42 -0400)
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.
next prev parent reply other threads:[~2002-08-25 5:26 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-08-23 6:18 init_iterator takes window Thien-Thi Nguyen
2002-08-23 17:57 ` Stefan Monnier
2002-08-23 18:57 ` Thien-Thi Nguyen
2002-08-23 19:12 ` Stefan Monnier
2002-08-23 19:29 ` Thien-Thi Nguyen
2002-08-25 5:26 ` Richard Stallman [this message]
2002-08-25 5:26 ` Richard Stallman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200208250526.g7P5Qsr12044@wijiji.santafe.edu \
--to=rms@gnu.org \
--cc=emacs-devel@gnu.org \
--cc=monnier+gnu/emacs@rum.cs.yale.edu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).