Mercurial > emacs
changeset 42020:6e891121e1cc
(ruler-mode-extra-left-cols): Removed.
(ruler-mode-left-fringe-cols): New macro.
(ruler-mode-right-fringe-cols): New macro.
(ruler-mode-left-scroll-bar-cols): New macro.
(ruler-mode-right-scroll-bar-cols): New macro.
(ruler-mode-ruler): Use above new macros.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Fri, 14 Dec 2001 07:54:28 +0000 |
parents | 9a71f3b2b0be |
children | ddb97861a688 |
files | lisp/ruler-mode.el |
diffstat | 1 files changed, 29 insertions(+), 16 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/ruler-mode.el Fri Dec 14 07:54:12 2001 +0000 +++ b/lisp/ruler-mode.el Fri Dec 14 07:54:28 2001 +0000 @@ -438,24 +438,35 @@ "Right margin %S" "Help string shown when mouse is over the right margin area.") -(defun ruler-mode-extra-left-cols () - "Return number of extra columns on the left side of selected frame. -That is the number of columns occupied by the left fringe area and -vertical scrollbar on the left side of the selected frame." - (let ((w (frame-first-window)) - (xy (cons 0 0))) - (with-current-buffer (window-buffer w) - (let (header-line-format) - (while (not (listp (coordinates-in-window-p xy w))) - (setcar xy (1+ (car xy)))) - (car xy))))) +(defmacro ruler-mode-left-fringe-cols () + "Return the width, measured in columns, of the left fringe area." + '(round (or (frame-parameter nil 'left-fringe) 0) + (frame-char-width))) + +(defmacro ruler-mode-right-fringe-cols () + "Return the width, measured in columns, of the right fringe area." + '(round (or (frame-parameter nil 'right-fringe) 0) + (frame-char-width))) + +(defmacro ruler-mode-left-scroll-bar-cols () + "Return the width, measured in columns, of the left vertical scrollbar." + '(if (eq (frame-parameter nil 'vertical-scroll-bars) 'left) + (round (or (frame-parameter nil 'scroll-bar-width) 0) + (frame-char-width)) + 0)) + +(defmacro ruler-mode-right-scroll-bar-cols () + "Return the width, measured in columns, of the right vertical scrollbar." + '(if (eq (frame-parameter nil 'vertical-scroll-bars) 'right) + (round (or (frame-parameter nil 'scroll-bar-width) 0) + (frame-char-width)) + 0)) (defun ruler-mode-ruler () "Return a string ruler." (if ruler-mode - (let* ((j (ruler-mode-extra-left-cols)) - (k (/ (or (frame-parameter nil 'right-fringe) 0) - (frame-char-width))) + (let* ((j (+ (ruler-mode-left-fringe-cols) + (ruler-mode-left-scroll-bar-cols))) (w (+ (window-width) j)) (m (window-margins)) (l (or (car m) 0)) @@ -466,8 +477,10 @@ ;; unit graduations (make-string w ruler-mode-basic-graduation-char) ;; extra space to fill the header line - (make-string k ?\ ))) - c) + (make-string (+ (ruler-mode-right-fringe-cols) + (ruler-mode-right-scroll-bar-cols)) + ?\ ))) + c k) ;; Setup default face and help echo. (put-text-property 0 (length ruler)