changeset 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 439c49b198b0
children 8be76eb5f49a
files lisp/ChangeLog lisp/emulation/tpu-edt.el
diffstat 2 files changed, 10 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ChangeLog	Mon Aug 06 16:20:10 2007 +0000
+++ b/lisp/ChangeLog	Mon Aug 06 16:21:33 2007 +0000
@@ -1,5 +1,9 @@
 2007-08-06  Stefan Monnier  <monnier@iro.umontreal.ca>
 
+	* emulation/tpu-edt.el (tpu-current-line): Use posn-at-point and
+	count-screen-lines.
+	(tpu-edt-off): Disable relevant pieces of advice.
+
 	* emulation/tpu-extras.el (tpu-before-save-hook): Rename from
 	tpu-write-file-hook.  Activate it with add-hook on buffer-save-hook.
 	(newline, newline-and-indent, do-auto-fill): Use advice instead of
--- 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)