all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* Procedure to get shift_glyphs_for_insert to be called?
@ 2015-05-16  8:25 Jan D.
  2015-05-16  9:17 ` Eli Zaretskii
  0 siblings, 1 reply; 3+ messages in thread
From: Jan D. @ 2015-05-16  8:25 UTC (permalink / raw)
  To: Emacs-Devel devel

Hi.

There is a RIF method called shift_glyphs_for_insert.
How do I get it to be called?  I tried many things, but it just seems that the entire line gets redrawn every time.

I’m trying to get it to do the right thing in the cairo branch, which it currently does not.
But as it it is seldom (never?) called, I have not noticed any redraw errors yet.

Thanks,

	Jan D.




^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Procedure to get shift_glyphs_for_insert to be called?
  2015-05-16  8:25 Procedure to get shift_glyphs_for_insert to be called? Jan D.
@ 2015-05-16  9:17 ` Eli Zaretskii
  2015-05-16 14:50   ` Jan D.
  0 siblings, 1 reply; 3+ messages in thread
From: Eli Zaretskii @ 2015-05-16  9:17 UTC (permalink / raw)
  To: Jan D.; +Cc: emacs-devel

> From: "Jan D." <jan.h.d@swipnet.se>
> Date: Sat, 16 May 2015 10:25:49 +0200
> 
> There is a RIF method called shift_glyphs_for_insert.
> How do I get it to be called?  I tried many things, but it just seems that the entire line gets redrawn every time.
> 
> I’m trying to get it to do the right thing in the cairo branch, which it currently does not.
> But as it it is seldom (never?) called, I have not noticed any redraw errors yet.

This method was intended to be the equivalent for insert_glyphs on a
TTY.  But the (only) function in dispnew.c which uses insert_glyphs is
never called on GUI frames, so the only caller of the
shift_glyphs_for_insert method, which is x_insert_glyphs, is never
called, either.

Historically, this method was called by direct_output_for_insert, a
redisplay optimization that handled the case where a single character
was inserted by user typing a self-insert command.  But we deleted
that optimization when we moved to bidirectional display (because in
bidirectional text, inserting a single character can have profound
non-local effects).  So now we never call this method on GUI frames.

IOW, the answer to your question is "you can't, and you shouldn't
bother".  At least not with the current display engine.




^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Procedure to get shift_glyphs_for_insert to be called?
  2015-05-16  9:17 ` Eli Zaretskii
@ 2015-05-16 14:50   ` Jan D.
  0 siblings, 0 replies; 3+ messages in thread
From: Jan D. @ 2015-05-16 14:50 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: emacs-devel

Hi.

> 16 maj 2015 kl. 11:17 skrev Eli Zaretskii <eliz@gnu.org>:
> 
>> From: "Jan D." <jan.h.d@swipnet.se>
>> Date: Sat, 16 May 2015 10:25:49 +0200
>> 
>> There is a RIF method called shift_glyphs_for_insert.
>> How do I get it to be called?  I tried many things, but it just seems that the entire line gets redrawn every time.
>> 
>> I’m trying to get it to do the right thing in the cairo branch, which it currently does not.
>> But as it it is seldom (never?) called, I have not noticed any redraw errors yet.
> 
> This method was intended to be the equivalent for insert_glyphs on a
> TTY.  But the (only) function in dispnew.c which uses insert_glyphs is
> never called on GUI frames, so the only caller of the
> shift_glyphs_for_insert method, which is x_insert_glyphs, is never
> called, either.
> 
> Historically, this method was called by direct_output_for_insert, a
> redisplay optimization that handled the case where a single character
> was inserted by user typing a self-insert command.  But we deleted
> that optimization when we moved to bidirectional display (because in
> bidirectional text, inserting a single character can have profound
> non-local effects).  So now we never call this method on GUI frames.
> 
> IOW, the answer to your question is "you can't, and you shouldn't
> bother".  At least not with the current display engine.

Ok, thanks.  I will insert some comments to this effect.

	Jan D.





^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2015-05-16 14:50 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-05-16  8:25 Procedure to get shift_glyphs_for_insert to be called? Jan D.
2015-05-16  9:17 ` Eli Zaretskii
2015-05-16 14:50   ` Jan D.

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.