Mercurial > emacs
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)