Yes, I think the thing you're looking for was written by David Biesack (
[EMAIL PROTECTED]).  I am not aware of it ever having been packaged into
any sort of official package, but I do have the following in my .emacs:

;; Make cursor stay in the same column when scrolling.  Thanks to
;; David Biesack ([EMAIL PROTECTED]).
(defvar default-column nil
 "The column to track in functions registered with `track-column'.
This variable is buffer local")
(make-variable-buffer-local 'default-column)

(defvar default-column-tracking-functions nil
 "List of functions which track the current column")

(defun default-column ()
 "Return the default column to track in cursor motion functions
which are advised by `track-column'"
 (if (memq last-command default-column-tracking-functions)
     default-column
   (setq default-column (current-column))))

(defmacro track-column(function)
 "Advise FUNCTION to keep track of the default column.
All functions so advised will strive to maintain the same column."
 (add-to-list 'default-column-tracking-functions function)
 `(defadvice ,function (around ,(track-column-advice-name function) first
activate)
 "Keep cursor in the same column."
 (let ((col (default-column)))
   ad-do-it
   (move-to-column col))))

(defun track-column-advice-name (function)
 (make-symbol (format "track-column-in-%s" function)))

;; Make subsequently opened frames offset from the first one
(defvar ewd-frame-offset 25
 "*Amount to offset each subsequently created frame")
(defadvice x-create-frame-with-faces (before ewd-create-frame activate)
 "Make subsequent frames open at an offset"
 (let* ((topelt (assoc 'top default-frame-alist))
        (leftelt (assoc 'left default-frame-alist))
        (top (if (null topelt)
                 (car (setq default-frame-alist
                            (cons '(top . 0) default-frame-alist)))
               topelt))
        (left (if (null leftelt)
                  (car (setq default-frame-alist
                             (cons '(left . 0) default-frame-alist)))
                leftelt))
        (toppos (cdr top))
        (leftpos (cdr left)))
   (setcdr top (+ toppos ewd-frame-offset))
   (setcdr left (+ leftpos ewd-frame-offset))))

(track-column scroll-up)
(track-column scroll-down)
(track-column previous-line)
(track-column next-line)


On 4/16/07, Michael Campbell <[EMAIL PROTECTED]> wrote:

I had a catastrophic machine crash and am trying to rebuild my .el files.

One I can't seem to locate was a little function that somehow
calculated or remembered where your cursor was on a page, so no matter
where you were, you could ctrl-v, m-v as much as you wanted, and the
cursor would always land on the same place on a given page.*

Does anyone know what this is called and/or where to find it?








* The effect I'm trying to avoid can easily be demonstrated by opening
an existing file longer than a screen/page long, going to the top of
the file, Ctrl-v, then M-v.  The cursor is on the last line of the
screen, not the first line where it started.



Reply via email to