mirror of
https://git.savannah.gnu.org/git/emacs/org-mode.git
synced 2024-11-29 07:58:21 +00:00
org-src: Use point instead of column for coords
* lisp/org-src.el (org-src--coordinates) (org-src--goto-coordinates): Use point instead of column. Using a column-based approach fails to account for invisible regions or display overlays that change the number of columns: for example, showing a LaTeX \alpha as α. In src edits which involve such structures, this causes the point to be shifted undesirably. By using a point-based approach this issue does not occur.
This commit is contained in:
parent
dcd7b576b7
commit
400d2d9fd7
@ -327,8 +327,7 @@ a cons cell (LINE . COLUMN) or symbol `end'. See also
|
|||||||
(cons (count-lines beg (line-beginning-position))
|
(cons (count-lines beg (line-beginning-position))
|
||||||
;; Column is relative to the end of line to avoid problems of
|
;; Column is relative to the end of line to avoid problems of
|
||||||
;; comma escaping or colons appended in front of the line.
|
;; comma escaping or colons appended in front of the line.
|
||||||
(- (current-column)
|
(- (point) (min end (line-end-position)))))))
|
||||||
(progn (end-of-line) (current-column)))))))
|
|
||||||
|
|
||||||
(defun org-src--goto-coordinates (coord beg end)
|
(defun org-src--goto-coordinates (coord beg end)
|
||||||
"Move to coordinates COORD relatively to BEG and END.
|
"Move to coordinates COORD relatively to BEG and END.
|
||||||
@ -341,9 +340,9 @@ which see. BEG and END are buffer positions."
|
|||||||
(org-with-wide-buffer
|
(org-with-wide-buffer
|
||||||
(goto-char beg)
|
(goto-char beg)
|
||||||
(forward-line (car coord))
|
(forward-line (car coord))
|
||||||
(end-of-line)
|
(max (point)
|
||||||
(org-move-to-column (max (+ (current-column) (cdr coord)) 0))
|
(+ (min end (line-end-position))
|
||||||
(point)))))
|
(cdr coord)))))))
|
||||||
|
|
||||||
(defun org-src--contents-area (datum)
|
(defun org-src--contents-area (datum)
|
||||||
"Return contents boundaries of DATUM.
|
"Return contents boundaries of DATUM.
|
||||||
|
Loading…
Reference in New Issue
Block a user