[ Dropped Frank from the recipients. ] Hi Mosè and all, > 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. I looked into this problem and would like to share my thoughts about this. (1) Some problems of the essentially same origin still remain. (a) Open Frank's sample file and enable TeX-source-correlate-mode. (b) Put the region over "$x$". (c) Type C-c C-p C-r. "End of buffer" error again. C-c C-r gives the same error, too. Here is the relavant codes Mosè modified in tex-buf.el: (when TeX-source-correlate-mode (let ((line-col (with-current-buffer orig-buffer (cons (TeX-line-number-at-pos) (current-column))))) (goto-char (point-min)) (forward-line (1- (abs (- header-offset (car line-col))))) (forward-char (cdr line-col)))) It is this `forward-char' that raises the error. The number returned by `(current-column)' is not correct when, in original buffer, the region starts in the middle of a line and the point is on the first line of the region. If a relatively small region has no newline in it and is put on the rightward enough of a very long line, the returned value is too large for `forward-char'. (2) We can find a function `TeX-region-update-point', which does a similar job but without adjustment of the column. I suppose we can unify them. Considering that, in addition to (1) and (2), update of the position of the point in _region_.tex is only necessary when we invoke viewer, call to `TeX-region-update-point' can be summarized in `TeX-command' with test of `(string= name "View")'. I made a tentative patch along these idea and attached it to this message. I stopped using `current-column' and use difference betewwn point and max{beginning of line, beginning of region}. (3) It seems that the feature of forward and inverse search for region file is not mature yet. If I understand correctly, it works only with evince, atril and pdf-tools as viewer, right? The other viewers in `TeX-view-program-list-builtin' receive the file name and line number with "%b" and "%n" expanders, but these are not expanded to suitable value when using region file. Maybe we should add other expanders which work even with region file. (4) Using `current-column' might not be suitable even when we use evince or atril. The function `TeX-evince-sync-view-1' passes required parameters to the viewers like this: (list :struct :int32 (TeX-line-number-at-pos) :int32 (1+ (current-column))) Most of CJK letters count as occuping 2 columns, so the column number is not equal to the number of the characters counting from the beginning of a line. (I don't know what is the correct "column" parameters for evince and atril (number of letters? bytes in UTF8? or other?), so don't know how we should change this part.) Best, Ikumi Keita