From: Stefan Monnier Date: Mon, 6 Aug 2007 16:21:33 +0000 (+0000) Subject: (tpu-current-line): Use posn-at-point and count-screen-lines. X-Git-Tag: emacs-pretest-22.1.90~1094 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=036f2966c3247692ee79a800b2f40f0778da19c7;p=emacs.git (tpu-current-line): Use posn-at-point and count-screen-lines. (tpu-edt-off): Disable relevant pieces of advice. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 079f60d281c..f5319ac3ce9 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,9 @@ 2007-08-06 Stefan Monnier + * 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 diff --git a/lisp/emulation/tpu-edt.el b/lisp/emulation/tpu-edt.el index 414ae7bf14e..9220090df25 100644 --- a/lisp/emulation/tpu-edt.el +++ b/lisp/emulation/tpu-edt.el @@ -826,10 +826,13 @@ Create the key map if necessary." (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 FILE is nil, try to load a default file. The default file names are (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)