]> git.eshelyaron.com Git - emacs.git/commitdiff
(tpu-current-line): Use posn-at-point and count-screen-lines.
authorStefan Monnier <monnier@iro.umontreal.ca>
Mon, 6 Aug 2007 16:21:33 +0000 (16:21 +0000)
committerStefan Monnier <monnier@iro.umontreal.ca>
Mon, 6 Aug 2007 16:21:33 +0000 (16:21 +0000)
(tpu-edt-off): Disable relevant pieces of advice.

lisp/ChangeLog
lisp/emulation/tpu-edt.el

index 079f60d281c7b570d0332e908db28cbe6649482d..f5319ac3ce9bdab6a6cf77f7f026a3e54902e199 100644 (file)
@@ -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
index 414ae7bf14ef64ca6746f16c782d738c5a3791cc..9220090df253a4fac4a7a98b5100add5c7936851 100644 (file)
@@ -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)