[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: Split `simple.el'?
From: |
Drew Adams |
Subject: |
RE: Split `simple.el'? |
Date: |
Thu, 5 Apr 2018 14:56:01 -0700 (PDT) |
> > The frame-fitting code moves point through the buffer,
> > at eol (`end-of-line'), within a `save-excursion', to
> > get the longest line length. That movement presumably
> > means that fonts are looked for to render the chars in
> > each line.
>
> The movement doesn't care about the chars themselves (it's just looking
> for an end-of-line). So it's probably the computation of the
> line-length which triggers it. You can probably avoid the problem by
> using another way to compute the "length" (one which doesn't care about
> fonts).
So far, I've wanted to take the apparent (i.e., rendered)
char width into account. I've just been counting columns,
to do that:
(while (not (eobp))
(end-of-line)
(setq max-win-width (max (current-column) max-win-width))
(when (zerop (forward-line 1))
(setq max-win-height (1+ max-win-height))))
(The file is here, if you want a bigger picture:
https://www.emacswiki.org/emacs/download/fit-frame.el)
`current-column' "is calculated by adding together the widths
of all the displayed representations of the character between
the start of the previous line and point (e.g., control
characters will have a width of 2 or 4, tabs will have a
variable width)."
That's TRT, I think: take into account rendered char widths.
But maybe I need an option, to calculate line width without
regard to rendering in some cases. Even so, other than a
user choosing yes/no in general, I don't see a way for code
to tell whether or where it might makes sense to skip
requiring rendering.
- Re: Split `simple.el'?, (continued)
- Re: Split `simple.el'?, Stefan Monnier, 2018/04/04
- Re: Split `simple.el'?, Eli Zaretskii, 2018/04/04
- Re: Split `simple.el'?, Stefan Monnier, 2018/04/04
- RE: Split `simple.el'?, Drew Adams, 2018/04/04
- Re: Split `simple.el'?, Eli Zaretskii, 2018/04/05
- RE: Split `simple.el'?, Drew Adams, 2018/04/05
- Re: Split `simple.el'?, Eli Zaretskii, 2018/04/05
- RE: Split `simple.el'?, Drew Adams, 2018/04/05
- Re: Split `simple.el'?, Stefan Monnier, 2018/04/05
- Re: Split `simple.el'?, Stefan Monnier, 2018/04/05
- RE: Split `simple.el'?,
Drew Adams <=
- Re: Split `simple.el'?, Stefan Monnier, 2018/04/05
- Re: Split `simple.el'?, Andreas Schwab, 2018/04/06
- Re: Split `simple.el'?, Eli Zaretskii, 2018/04/06
- RE: Split `simple.el'?, Drew Adams, 2018/04/04
- Re: Split `simple.el'?, Eli Zaretskii, 2018/04/05
- Re: Split `simple.el'?, Eli Zaretskii, 2018/04/05
Re: Split `simple.el'?, Clément Pit-Claudel, 2018/04/03
Re: Split `simple.el'?, Eli Zaretskii, 2018/04/04