* Bidirectional display in GUI sessions
@ 2010-04-20 13:53 Eli Zaretskii
2010-04-20 16:19 ` Stefan Monnier
0 siblings, 1 reply; 6+ messages in thread
From: Eli Zaretskii @ 2010-04-20 13:53 UTC (permalink / raw)
To: emacs-devel; +Cc: emacs-bidi
I have committed to the Emacs development trunk revno 99950, which
adds implementation of bidirectional display in GUI sessions (as well
as a few fixes for display of R2L lines on TTYs).
I could only test this on MS-Windows; I have no easy access for
development on an X-based machine. Fortunately, with the exception of
one function, all the code is in terminal-independent parts of Emacs
display engine, so it should work (or break ;-) the same on any type
of display.
I hope I didn't break anything in non-bidi sessions. All the changes
are conditioned on variables that are not set unless you set
bidi-display-reordering non-nil. But I was wrong about this in the
past...
Last, but certainly not least: Thanks to Gerd Möllmann for his kind
guidance and advice which was instrumental in making this happen.
Without his help, I would never have found such a simple and elegant
solution for implementing this feature, being quite ignorant about
internals of the Emacs GUI display.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Bidirectional display in GUI sessions
2010-04-20 13:53 Bidirectional display in GUI sessions Eli Zaretskii
@ 2010-04-20 16:19 ` Stefan Monnier
2010-04-20 17:42 ` Eli Zaretskii
0 siblings, 1 reply; 6+ messages in thread
From: Stefan Monnier @ 2010-04-20 16:19 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: emacs-bidi, emacs-devel
> I have committed to the Emacs development trunk revno 99950, which
> adds implementation of bidirectional display in GUI sessions (as well
> as a few fixes for display of R2L lines on TTYs).
Thanks.
> I could only test this on MS-Windows; I have no easy access for
> development on an X-based machine.
Sad to hear. Is there something we could do to fix this problem?
> Fortunately, with the exception of one function, all the code is in
> terminal-independent parts of Emacs display engine, so it should work
> (or break ;-) the same on any type of display.
Famout last words.
> I hope I didn't break anything in non-bidi sessions. All the changes
> are conditioned on variables that are not set unless you set
> bidi-display-reordering non-nil. But I was wrong about this in the
> past...
BTW, I'm now running with (setq-default bidi-display-reordering t) and
I recommend everyone do the same to help find bugs in that code.
> Last, but certainly not least: Thanks to Gerd Möllmann for his kind
> guidance and advice which was instrumental in making this happen.
> Without his help, I would never have found such a simple and elegant
> solution for implementing this feature, being quite ignorant about
> internals of the Emacs GUI display.
Would it be possible to document the design/insight of this solution
somewhere? I.e. distill what you learned from Gerd, so it might help
other people get a deeper understanding of the workings and design of
the redisplay code.
Stefan
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Bidirectional display in GUI sessions
2010-04-20 16:19 ` Stefan Monnier
@ 2010-04-20 17:42 ` Eli Zaretskii
2010-04-20 19:09 ` Juanma Barranquero
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: Eli Zaretskii @ 2010-04-20 17:42 UTC (permalink / raw)
To: Stefan Monnier; +Cc: emacs-bidi, emacs-devel
> From: Stefan Monnier <monnier@iro.umontreal.ca>
> Cc: emacs-devel@gnu.org, emacs-bidi@gnu.org
> Date: Tue, 20 Apr 2010 12:19:00 -0400
>
> > I have committed to the Emacs development trunk revno 99950, which
> > adds implementation of bidirectional display in GUI sessions (as well
> > as a few fixes for display of R2L lines on TTYs).
>
> Thanks.
The pleasure is all mine.
> > I could only test this on MS-Windows; I have no easy access for
> > development on an X-based machine.
>
> Sad to hear. Is there something we could do to fix this problem?
I'm not sure it would be practical. I could install an X server for
Windows, but I don't think we can trust it to be a faithful imitation
of a native X server. And I don't have enough resources for
maintaining yet another box at home.
> BTW, I'm now running with (setq-default bidi-display-reordering t) and
> I recommend everyone do the same to help find bugs in that code.
Yes, please do. The display engine has so many features that it is
virtually impossible for a single individual to test them.
Wider usage of the bidi display will also provide clear guidance for
me which missing features to work on first (those about which I will
hear more complaints ;-).
> > Last, but certainly not least: Thanks to Gerd Möllmann for his kind
> > guidance and advice which was instrumental in making this happen.
> > Without his help, I would never have found such a simple and elegant
> > solution for implementing this feature, being quite ignorant about
> > internals of the Emacs GUI display.
>
> Would it be possible to document the design/insight of this solution
> somewhere?
Didn't you see the improved commentary at the beginning of xdisp.c,
since revno 99943? It does tell how R2L lines are displayed, among
other things I added there.
Let me know if I need to make the description more detailed or more
clear. That includes bidi.c, of course.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Bidirectional display in GUI sessions
2010-04-20 17:42 ` Eli Zaretskii
@ 2010-04-20 19:09 ` Juanma Barranquero
2010-04-21 0:14 ` Stephen J. Turnbull
2010-04-21 5:29 ` "Martin J. Dürst"
2 siblings, 0 replies; 6+ messages in thread
From: Juanma Barranquero @ 2010-04-20 19:09 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: emacs-bidi, Stefan Monnier, emacs-devel
On Tue, Apr 20, 2010 at 19:42, Eli Zaretskii <eliz@gnu.org> wrote:
> I'm not sure it would be practical. I could install an X server for
> Windows, but I don't think we can trust it to be a faithful imitation
> of a native X server. And I don't have enough resources for
> maintaining yet another box at home.
Depending on the kind of hardware you have at home, you could run
GNU/Linux inside a virtual machine; I run K?Ubuntu on VMWare; it's
slower than the real thing, but acceptable.
Juanma
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Bidirectional display in GUI sessions
2010-04-20 17:42 ` Eli Zaretskii
2010-04-20 19:09 ` Juanma Barranquero
@ 2010-04-21 0:14 ` Stephen J. Turnbull
2010-04-21 5:29 ` "Martin J. Dürst"
2 siblings, 0 replies; 6+ messages in thread
From: Stephen J. Turnbull @ 2010-04-21 0:14 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: emacs-bidi, Stefan Monnier, emacs-devel
Eli Zaretskii writes:
> I'm not sure it would be practical. I could install an X server for
> Windows, but I don't think we can trust it to be a faithful imitation
> of a native X server.
True, but IIRC Cygwin provides one; if it's the one I used to use,
it's not that bad. So, if you see display artifacts here you have to
wonder. But that's what we have emacs-devel for, no?
Eli-to-emacs-devel: "I see a glitch on X."
Emacs-devel-to-Eli: "We don't. Get a real X server!"
Eli-to-self: "OK, this one isn't my problem."
Whether you want to go to that effort is up to you of course.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Re: Bidirectional display in GUI sessions
2010-04-20 17:42 ` Eli Zaretskii
2010-04-20 19:09 ` Juanma Barranquero
2010-04-21 0:14 ` Stephen J. Turnbull
@ 2010-04-21 5:29 ` "Martin J. Dürst"
2 siblings, 0 replies; 6+ messages in thread
From: "Martin J. Dürst" @ 2010-04-21 5:29 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: emacs-bidi, Stefan Monnier, emacs-devel
On 2010/04/21 2:42, Eli Zaretskii wrote:
>> From: Stefan Monnier<monnier@iro.umontreal.ca>
>>> I could only test this on MS-Windows; I have no easy access for
>>> development on an X-based machine.
>>
>> Sad to hear. Is there something we could do to fix this problem?
>
> I'm not sure it would be practical. I could install an X server for
> Windows, but I don't think we can trust it to be a faithful imitation
> of a native X server. And I don't have enough resources for
> maintaining yet another box at home.
I have to admit that I haven't gotten around on my (Windows :-( machine
to install an X server, but what I would do is to install cygwin and the
X server that comes with it. My rough guess is that this would be pretty
close to what happens on other systems.
Regards, Martin.
--
#-# Martin J. Dürst, Professor, Aoyama Gakuin University
#-# http://www.sw.it.aoyama.ac.jp mailto:duerst@it.aoyama.ac.jp
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2010-04-21 5:29 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-04-20 13:53 Bidirectional display in GUI sessions Eli Zaretskii
2010-04-20 16:19 ` Stefan Monnier
2010-04-20 17:42 ` Eli Zaretskii
2010-04-20 19:09 ` Juanma Barranquero
2010-04-21 0:14 ` Stephen J. Turnbull
2010-04-21 5:29 ` "Martin J. Dürst"
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.