Mercurial > emacs
diff lisp/emulation/tpu-edt.el @ 78425:753756c6e4ec
(tpu-current-line): Use posn-at-point and count-screen-lines.
(tpu-edt-off): Disable relevant pieces of advice.
author | Stefan Monnier <monnier@iro.umontreal.ca> |
---|---|
date | Mon, 06 Aug 2007 16:21:33 +0000 |
parents | 4821c04b4edb |
children | c6da63ecc892 e5a68f18fcb9 |
line wrap: on
line diff
--- a/lisp/emulation/tpu-edt.el Mon Aug 06 16:20:10 2007 +0000 +++ b/lisp/emulation/tpu-edt.el Mon Aug 06 16:21:33 2007 +0000 @@ -826,10 +826,13 @@ (use-local-map tpu-buffer-local-map))) (local-set-key key func)) -(defun tpu-current-line nil +(defun tpu-current-line () "Return the vertical position of point in the selected window. Top line is 0. Counts each text line only once, even if it wraps." - (+ (count-lines (window-start) (point)) (if (= (current-column) 0) 1 0) -1)) + (or + (cdr (nth 6 (posn-at-point))) + (if (eq (window-start) (point)) 0 + (1- (count-screen-lines (window-start) (point) 'count-final-newline))))) ;;; @@ -2479,6 +2482,7 @@ (if (eq tpu-global-map parent) (set-keymap-parent map (keymap-parent parent)) (setq map parent))))) + (ad-disable-regexp "\\`tpu-") (setq tpu-edt-mode nil)) (provide 'tpu-edt)