From: Eli Zaretskii <eliz@gnu.org>
To: "Mattias Engdegård" <mattiase@acm.org>
Cc: alp.tekin.aker@gmail.com, emacs-devel@gnu.org
Subject: Re: Fill column indicator functionality
Date: Fri, 15 Mar 2019 16:24:23 +0200 [thread overview]
Message-ID: <83va0kz04o.fsf@gnu.org> (raw)
In-Reply-To: <32B82860-3C7D-41CC-BD2F-8114BBA170B8@acm.org> (message from Mattias Engdegård on Fri, 15 Mar 2019 14:30:55 +0100)
> From: Mattias Engdegård <mattiase@acm.org>
> Date: Fri, 15 Mar 2019 14:30:55 +0100
> Cc: emacs-devel <emacs-devel@gnu.org>
>
> Terminal emulators often treat box-drawing characters specially, either drawing the lines themselves or extending parts of the glyphs in case there would be gaps. Even XTerm does this, mainly to supplement missing glyphs.
>
> Being its own terminal emulator, Emacs could do the same to avoid gaps in horizontal and vertical lines that should connect.
Unfortunately, this is not currently possible, not without significant
changes in how the Emacs display engine works internally. The display
routines are currently called in a way that doesn't allow them to have
a window-global view of the display, not even a way of knowing what's
on the previous and the next screen lines. In fact, the display
routines need to do their job even if the information about the layout
of adjacent screen lines is not available at all, and redisplay
optimizations frequently make use of this property, by starting a new
redisplay cycle on a specific line, doing part of the layout, then
throwing out the results. About the only thing the display routines
can rely on is the window-start point and the window pixel
dimensions. Even the vertical coordinate of a line on which the
display routine was called is frequently unknown.
> The details are fairly window-system-specific but do not have to be implemented everywhere at once.
I don't think I understand what you are saying here. My point was
that we have xfns.c/xterm.c for X, w32fns.c/w32term.c for w32, and
nsfns.m/nsterm.m for NS. Any line drawing that doesn't end up as part
f some glyph must be implemented in each of these back-ends, because
the APIs used for such drawing are different.
next prev parent reply other threads:[~2019-03-15 14:24 UTC|newest]
Thread overview: 196+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-02-05 10:53 Fill column indicator functionality Ergus
2019-02-05 16:41 ` Eli Zaretskii
2019-02-05 18:47 ` Ergus
2019-02-05 19:56 ` Drew Adams
2019-02-05 23:32 ` Ergus
2019-02-06 16:08 ` Eli Zaretskii
2019-02-06 20:48 ` John Yates
2019-02-06 22:25 ` Ergus
2019-02-07 1:41 ` Basil L. Contovounesios
2019-02-07 14:31 ` Eli Zaretskii
2019-02-10 22:04 ` Ergus
2019-02-11 15:55 ` Eli Zaretskii
2019-02-11 16:56 ` Jimmy Aguilar Mena
2019-02-11 17:13 ` Eli Zaretskii
2019-03-08 18:57 ` Ergus
2019-03-08 20:06 ` Eli Zaretskii
2019-03-09 13:22 ` Ergus
2019-03-09 14:10 ` Eli Zaretskii
2019-03-11 10:48 ` Ergus
2019-03-11 15:30 ` Eli Zaretskii
2019-03-11 19:58 ` Andy Moreton
2019-03-11 20:24 ` Eli Zaretskii
2019-03-12 15:29 ` Ergus
2019-03-12 16:19 ` Eli Zaretskii
2019-03-12 19:20 ` Ergus
2019-03-13 16:19 ` Eli Zaretskii
2019-03-13 20:02 ` Ergus
2019-03-13 20:09 ` Eli Zaretskii
2019-03-14 3:02 ` Ergus
2019-03-14 6:40 ` Eli Zaretskii
2019-03-14 16:51 ` Ergus
2019-03-14 17:59 ` Andreas Schwab
2019-03-14 18:22 ` Eli Zaretskii
[not found] ` <20190314211313.giyz7p6jtmquabea@Ergus>
[not found] ` <83bm2c1smi.fsf@gnu.org>
2019-03-15 20:56 ` Ergus
2019-03-15 22:52 ` Óscar Fuentes
2019-03-15 23:22 ` Ergus
2019-03-15 23:47 ` Óscar Fuentes
2019-03-16 6:50 ` Ergus
2019-03-16 7:48 ` Eli Zaretskii
2019-03-16 7:42 ` Eli Zaretskii
2019-03-16 12:26 ` Eli Zaretskii
2019-03-17 17:28 ` Alp Aker
2019-03-17 18:03 ` Ergus
2019-03-17 18:40 ` Eli Zaretskii
2019-03-16 9:36 ` Ergus
2019-03-16 10:18 ` Question about documented functions Ergus
2019-03-16 12:21 ` Eli Zaretskii
2019-03-16 13:53 ` Ergus
2019-03-16 14:05 ` Eli Zaretskii
2019-03-16 12:40 ` Fill column indicator functionality Eli Zaretskii
2019-03-14 21:28 ` Óscar Fuentes
2019-03-14 23:54 ` Ergus
2019-03-14 18:58 ` Clément Pit-Claudel
2019-03-15 7:30 ` Eli Zaretskii
2019-03-15 12:44 ` Clément Pit-Claudel
2019-03-15 14:07 ` Óscar Fuentes
2019-03-15 14:54 ` Clément Pit-Claudel
2019-03-15 15:15 ` Óscar Fuentes
2019-03-15 15:30 ` Clément Pit-Claudel
2019-03-15 14:12 ` Eli Zaretskii
2019-03-15 14:35 ` Clément Pit-Claudel
2019-03-15 16:13 ` Eli Zaretskii
2019-03-15 18:26 ` Clément Pit-Claudel
2019-03-15 19:14 ` Eli Zaretskii
2019-03-15 15:13 ` Stefan Monnier
2019-03-15 13:00 ` Alp Aker
2019-03-15 13:30 ` Mattias Engdegård
2019-03-15 14:24 ` Eli Zaretskii [this message]
2019-03-15 15:05 ` Mattias Engdegård
2019-03-15 15:54 ` Eli Zaretskii
2019-03-15 15:09 ` Stefan Monnier
2019-03-15 15:56 ` Eli Zaretskii
2019-03-15 13:54 ` Eli Zaretskii
2019-03-15 14:19 ` Alp Aker
2019-03-15 14:58 ` Clément Pit-Claudel
2019-03-16 15:07 ` Johan Bockgård
2019-03-16 15:22 ` Clément Pit-Claudel
2019-03-15 15:43 ` Eli Zaretskii
2019-03-15 17:24 ` Óscar Fuentes
2019-03-15 18:28 ` Clément Pit-Claudel
2019-03-15 14:35 ` Alp Aker
2019-03-09 18:02 ` John Yates
2019-03-09 18:23 ` Eli Zaretskii
-- strict thread matches above, loose matches on Subject: below --
2019-03-15 16:59 Drew Adams
2019-03-15 18:21 ` Eli Zaretskii
2019-03-15 19:18 ` Drew Adams
2019-03-15 19:30 ` Eli Zaretskii
2019-03-15 19:51 ` Ergus
2019-03-18 1:03 Ergus
2019-03-18 3:35 ` Eli Zaretskii
2019-03-18 11:42 ` Ergus
2019-03-18 17:10 ` Eli Zaretskii
2019-04-02 12:42 ` Ergus
2019-04-02 13:03 ` Óscar Fuentes
2019-04-02 13:25 ` Óscar Fuentes
2019-04-02 13:37 ` Ergus
2019-04-02 15:07 ` Eli Zaretskii
2019-04-02 15:35 ` Ergus
2019-04-02 15:44 ` Eli Zaretskii
2019-04-02 16:36 ` Ergus
2019-04-02 16:48 ` Eli Zaretskii
2019-04-02 17:00 ` Ergus
2019-04-02 17:26 ` Eli Zaretskii
2019-04-02 17:48 ` Ergus
2019-04-02 18:28 ` Eli Zaretskii
2019-04-02 21:22 ` Ergus
2019-04-03 5:20 ` Eli Zaretskii
2019-04-03 10:22 ` Ergus
2019-04-03 11:11 ` Eli Zaretskii
2019-04-05 9:10 ` Robert Pluim
2019-04-05 10:36 ` Ergus
2019-04-05 11:47 ` Eli Zaretskii
2019-04-05 12:13 ` Robert Pluim
2019-04-05 12:46 ` Eli Zaretskii
2019-04-05 14:09 ` Robert Pluim
2019-04-05 14:13 ` Eli Zaretskii
2019-04-05 14:38 ` Eli Zaretskii
2019-04-05 15:04 ` Ergus
2019-04-05 15:17 ` Eli Zaretskii
2019-04-05 17:30 ` Ergus
2019-04-05 19:05 ` Eli Zaretskii
2019-04-05 20:03 ` Ergus
2019-04-05 21:10 ` Óscar Fuentes
2019-04-05 22:01 ` Ergus
2019-04-05 22:20 ` Óscar Fuentes
2019-04-06 6:49 ` Eli Zaretskii
2019-04-06 11:06 ` Ergus
2019-04-06 12:53 ` Eli Zaretskii
2019-04-06 6:51 ` Eli Zaretskii
2019-04-06 13:21 ` Eli Zaretskii
2019-04-06 15:20 ` Ergus
2019-04-06 16:00 ` Eli Zaretskii
2019-04-06 18:59 ` Ergus
2019-04-06 19:07 ` Eli Zaretskii
2019-04-06 19:51 ` Ergus
2019-04-07 18:19 ` Ergus
2019-04-07 18:31 ` Eli Zaretskii
2019-04-07 18:35 ` Ergus
2019-04-07 18:38 ` Ergus
2019-04-07 19:02 ` Eli Zaretskii
2019-04-07 20:05 ` Ergus
2019-04-08 2:27 ` Eli Zaretskii
2019-04-08 8:51 ` Ergus
2019-04-08 14:57 ` Eli Zaretskii
2019-04-08 16:04 ` Ergus
2019-04-12 13:46 ` Ergus
2019-04-12 13:54 ` Eli Zaretskii
2019-05-01 11:08 ` Ergus
2019-05-03 13:19 ` Eli Zaretskii
2019-05-03 14:14 ` Basil L. Contovounesios
2019-05-03 15:10 ` Eli Zaretskii
2019-05-03 15:25 ` Basil L. Contovounesios
2019-05-03 16:21 ` Eli Zaretskii
2019-05-03 16:18 ` Ergus
2019-05-03 17:49 ` Ergus
2019-05-03 18:32 ` Eli Zaretskii
2019-05-03 18:39 ` Eli Zaretskii
2019-05-03 21:05 ` Ergus
2019-05-04 6:54 ` Eli Zaretskii
2019-05-04 9:37 ` Ergus
2019-05-04 11:04 ` Eli Zaretskii
2019-05-04 11:29 ` Óscar Fuentes
2019-05-04 15:44 ` Alp Aker
2019-05-04 15:59 ` Eli Zaretskii
2019-05-04 16:32 ` Eli Zaretskii
2019-05-04 16:32 ` Alp Aker
2019-05-04 16:36 ` Eli Zaretskii
2019-05-04 16:38 ` Alp Aker
2019-05-04 16:42 ` Eli Zaretskii
2019-05-05 14:40 ` Ergus
2019-05-04 16:42 ` Ergus
2019-05-03 14:34 ` Basil L. Contovounesios
2019-05-03 15:31 ` Alp Aker
2019-04-07 20:51 ` Ergus
2019-04-07 21:23 ` Stefan Monnier
2019-04-07 21:37 ` Ergus
2019-04-07 21:39 ` Stefan Monnier
2019-04-05 13:06 ` Eli Zaretskii
2019-04-05 15:28 ` Eli Zaretskii
2019-04-05 18:11 ` Ergus
2019-04-05 19:03 ` Eli Zaretskii
2019-04-05 21:15 ` Ergus
2019-04-06 10:13 ` Robert Pluim
2019-04-06 12:54 ` Eli Zaretskii
2019-04-05 11:44 ` Eli Zaretskii
2019-04-05 12:09 ` Robert Pluim
2019-04-05 12:44 ` Eli Zaretskii
2019-04-05 13:21 ` Eli Zaretskii
2019-04-05 13:47 ` Robert Pluim
2019-04-05 14:08 ` Robert Pluim
2019-04-03 12:13 ` Stefan Monnier
2019-04-02 23:11 ` Dmitry Gutov
2019-04-02 17:01 ` Robert Pluim
2019-04-02 17:26 ` Ergus
2019-04-02 17:50 ` Robert Pluim
2019-05-04 22:51 Keith David Bershatsky
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=83va0kz04o.fsf@gnu.org \
--to=eliz@gnu.org \
--cc=alp.tekin.aker@gmail.com \
--cc=emacs-devel@gnu.org \
--cc=mattiase@acm.org \
/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 external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.