--- Begin Message ---
Subject: |
preview-at-point fails on very long lines with "End of buffer" |
Date: |
Fri, 28 Apr 2017 15:26:51 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 |
Hi,
consider the following example file https://pastebin.com/73W7EbCa
This file has a single very long line with one math item at the end. Do
the following:
1. generate the preview with C-c C-p C-p
2. move point to the "x" in the math block, change it to "y" and leave
point within the math block
3. execute C-c C-p C-p again
One should get the message "End of buffer" without the preview being
regenerated.
AFAICT the reason is that in this case only the snippet $x$ without the
text preceding the snippet in the line is copied to the temporary file
for generating the preview. However line 2103 in tex-buf.el (that is the
line with "(forward-char (cdr line-col))") tries to move point to the
*original* column of the snippet. This number is so large that
"(forward-char ...)" will actually reach the end of the buffer and the
error occurs.
However, I would say the the column offset is just wrong. Either
subtract the length of the preceding text (in the original buffer) from
the column number or copy the preceding text to the temp buffer as well.
I hope my description is clear, if not, please ask ;)
Best regards,
Frank
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#26694: preview-at-point fails on very long lines with "End of buffer" |
Date: |
Sat, 6 May 2017 20:31:44 +0200 |
Hi Frank,
2017-04-28 15:26 GMT+02:00 Frank Fischer <address@hidden>:
> However, I would say the the column offset is just wrong. Either
> subtract the length of the preceding text (in the original buffer) from
> the column number or copy the preceding text to the temp buffer as well.
I think you're right, a good solution would be to add one more
argument to `TeX-region-create' with the adjusted line-col
information. However, in order to avoid changing the signature of the
function I decided to apply a work around: the point is moved only
when `TeX-source-correlate-mode' is non nil (because point is moved
only to make forward/inverse search work) and this variable is
let-bound to nil when running the preview (forward/inverse search is
not needed here).
I dropped a few comments about this work-around in the code, in case
someone want to improve the fix, maybe as suggested above. In any
case, I'm closing this ticket as the issue should be fixed.
Thanks for the good bug report Frank!
Bye,
Mosè
--- End Message ---