Chong Yidong wrote:
"Lennart Borgman (gmail)" <[EMAIL PROTECTED]> writes:
/* If the row ends with a newline from a string, we don't want
the cursor there, but we still want it at the start of the
string if the string starts in this row.
If the row is continued it doesn't end in a newline. */
if (CHARPOS (row->end.string_pos) >= 0)
cursor_row_p = (row->continued_p
||
(
/* If an overlay string starts on this glyph
line, then put the cursor here, but only
if not on the first buffer line and there
are no characters there. */
((CHARPOS (row->start.string_pos)) == -1)
&&
((CHARPOS (row->end.string_pos)) > -1)
&&
(row->start.pos.charpos > 1)
));
This does not solve the underlying problem, because the unexpected
cursor position can occur even if the affected overlay is not on the
first line.
I trust you that it does not solve the underlying problem, but it works
in my case and in the test case Kim supplied. That said I of course
believe there can be problems with this solution, but I hope for your
comments on that.
as can be seen from the fprintf output with my test case it starts
looping when I go to the first character and then press left arrow.
As you can see, tweaking redisplay can have rather non-trivial
effects.
Yes, I really believe it can, but I was wrong in this case. The problem
is there without my changes. A new small bug.
Could you please tell me how then? I want to display text at the top
of a buffer, but I do not want to change the users text in the buffer.
Why not just use a header line?
Because I need several lines and I think it is rather necessary that
they move together with the buffer contents to save screen estate.
I want to put this at the top of the buffer to make it easier for users
to understand what is happening. This is part of nXhtml where I try to
adopt James Clark's nxml-mode for editing of XHTML files and also files
that are not full XHTML, like php, jsp etc.
The framework from nxml-mode parses the XML code in the buffer and gives
the user the possibility to use completion of tags, attributes and
values in accordance with the DTD. Now in the case of php this headers
may not be there in the buffer (since they may instead be created
dynamically) so I give the framework a starting state instead. To show
the user the starting state I want to (optionally) show these lines in
the buffer.
Even with this feedback it may be difficult to understand what is
happening, but hopefully with it users will learn.
So at the top of the buffer I am displaying something like this with the
help of an overlay and 'before-string:
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Dummy</title>
</head>
<body>
_______________________________________________
emacs-pretest-bug mailing list
[EMAIL PROTECTED]
http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug