/[emacs]/emacs/lisp/ruler-mode.el
ViewVC logotype

Diff of /emacs/lisp/ruler-mode.el

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.7 by eliz, Sun May 12 17:28:42 2002 UTC revision 1.7.2.1 by miles, Fri Apr 4 06:20:10 2003 UTC
# Line 1  Line 1 
1  ;;; ruler-mode.el --- display a ruler in the header line  ;;; ruler-mode.el --- display a ruler in the header line
2    
3  ;; Copyright (C) 2001 Free Software Foundation, Inc.  ;; Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
4    
5  ;; Author: David Ponce <david@dponce.com>  ;; Author: David Ponce <david@dponce.com>
6  ;; Maintainer: David Ponce <david@dponce.com>  ;; Maintainer: David Ponce <david@dponce.com>
7  ;; Created: 24 Mar 2001  ;; Created: 24 Mar 2001
8  ;; Version: 1.4  ;; Version: 1.5
9  ;; Keywords: environment convenience  ;; Keywords: convenience
10    
11  ;; This file is part of GNU Emacs.  ;; This file is part of GNU Emacs.
12    
# Line 30  Line 30 
30  ;; This library provides a minor mode to display a ruler in the header  ;; This library provides a minor mode to display a ruler in the header
31  ;; line.  It works only on Emacs 21.  ;; line.  It works only on Emacs 21.
32  ;;  ;;
33  ;; You can use the mouse to change the `fill-column', `window-margins'  ;; You can use the mouse to change the `fill-column' `comment-column',
34  ;; and `tab-stop-list' settings:  ;; `goal-column', `window-margins' and `tab-stop-list' settings:
35  ;;  ;;
36  ;; [header-line (shift down-mouse-1)] set left margin to the ruler  ;; [header-line (shift down-mouse-1)] set left margin to the ruler
37  ;; graduation where the mouse pointer is on.  ;; graduation where the mouse pointer is on.
# Line 39  Line 39 
39  ;; [header-line (shift down-mouse-3)] set right margin to the ruler  ;; [header-line (shift down-mouse-3)] set right margin to the ruler
40  ;; graduation where the mouse pointer is on.  ;; graduation where the mouse pointer is on.
41  ;;  ;;
42  ;; [header-line down-mouse-2] set `fill-column' to the ruler  ;; [header-line down-mouse-2] set `fill-column', `comment-column' or
43  ;; graduation where the mouse pointer is on.  ;; `goal-column' to the ruler graduation with the mouse dragging.
44  ;;  ;;
45  ;; [header-line (control down-mouse-1)] add a tab stop to the ruler  ;; [header-line (control down-mouse-1)] add a tab stop to the ruler
46  ;; graduation where the mouse pointer is on.  ;; graduation where the mouse pointer is on.
# Line 55  Line 55 
55  ;;  ;;
56  ;; In the ruler the character `ruler-mode-current-column-char' shows  ;; In the ruler the character `ruler-mode-current-column-char' shows
57  ;; the `current-column' location, `ruler-mode-fill-column-char' shows  ;; the `current-column' location, `ruler-mode-fill-column-char' shows
58  ;; the `fill-column' location and `ruler-mode-tab-stop-char' shows tab  ;; the `fill-column' location, `ruler-mode-comment-column-char' shows
59    ;; the `comment-column' location, `ruler-mode-goal-column-char' shows
60    ;; the `goal-column' and `ruler-mode-tab-stop-char' shows tab
61  ;; stop locations.  `window-margins' areas are shown with a different  ;; stop locations.  `window-margins' areas are shown with a different
62  ;; background color.  ;; background color.
63  ;;  ;;
# Line 73  Line 75 
75  ;; - `ruler-mode-default-face' the ruler default face.  ;; - `ruler-mode-default-face' the ruler default face.
76  ;; - `ruler-mode-fill-column-face' the face used to highlight the  ;; - `ruler-mode-fill-column-face' the face used to highlight the
77  ;;   `fill-column' character.  ;;   `fill-column' character.
78    ;; - `ruler-mode-comment-column-face' the face used to highlight the
79    ;;   `comment-column' character.
80    ;; - `ruler-mode-goal-column-face' the face used to highlight the
81    ;;   `goal-column' character.
82  ;; - `ruler-mode-current-column-face' the face used to highlight the  ;; - `ruler-mode-current-column-face' the face used to highlight the
83  ;;   `current-column' character.  ;;   `current-column' character.
84  ;; - `ruler-mode-tab-stop-face' the face used to highlight tab stop  ;; - `ruler-mode-tab-stop-face' the face used to highlight tab stop
# Line 106  Line 112 
112  (defgroup ruler-mode nil  (defgroup ruler-mode nil
113    "Display a ruler in the header line."    "Display a ruler in the header line."
114    :version "21.4"    :version "21.4"
115    :group 'environment)    :group 'convenience)
116    
117  (defcustom ruler-mode-show-tab-stops nil  (defcustom ruler-mode-show-tab-stops nil
118    "*If non-nil the ruler shows tab stop positions.    "*If non-nil the ruler shows tab stop positions.
# Line 128  or remove a tab stop.  \\[ruler-mode-tog Line 134  or remove a tab stop.  \\[ruler-mode-tog
134          (widget-put widget :error          (widget-put widget :error
135                      (format "Invalid character value: %S" value))                      (format "Invalid character value: %S" value))
136          widget))))          widget))))
137          
138  (defcustom ruler-mode-fill-column-char (if window-system  (defcustom ruler-mode-fill-column-char (if window-system
139                                             ?\¶                                             ?\¶
140                                           ?\|)                                           ?\|)
# Line 139  or remove a tab stop.  \\[ruler-mode-tog Line 145  or remove a tab stop.  \\[ruler-mode-tog
145            (integer :tag "Integer char value"            (integer :tag "Integer char value"
146                     :validate ruler-mode-character-validate)))                     :validate ruler-mode-character-validate)))
147    
148    (defcustom ruler-mode-comment-column-char ?\#
149      "*Character used at the `comment-column' location."
150      :group 'ruler-mode
151      :type '(choice
152              (character :tag "Character")
153              (integer :tag "Integer char value"
154                       :validate ruler-mode-character-validate)))
155    
156    (defcustom ruler-mode-goal-column-char ?G
157      "*Character used at the `goal-column' location."
158      :group 'ruler-mode
159      :type '(choice
160              (character :tag "Character")
161              (integer :tag "Integer char value"
162                       :validate ruler-mode-character-validate)))
163    
164  (defcustom ruler-mode-current-column-char (if window-system  (defcustom ruler-mode-current-column-char (if window-system
165                                                ?\¦                                                ?\¦
166                                              ?\@)                                              ?\@)
# Line 157  or remove a tab stop.  \\[ruler-mode-tog Line 179  or remove a tab stop.  \\[ruler-mode-tog
179            (integer :tag "Integer char value"            (integer :tag "Integer char value"
180                     :validate ruler-mode-character-validate)))                     :validate ruler-mode-character-validate)))
181    
182  (defcustom ruler-mode-margins-char ?\  (defcustom ruler-mode-margins-char ?\s
183    "*Character used in margin areas."    "*Character used in margin areas."
184    :group 'ruler-mode    :group 'ruler-mode
185    :type '(choice    :type '(choice
# Line 180  or remove a tab stop.  \\[ruler-mode-tog Line 202  or remove a tab stop.  \\[ruler-mode-tog
202            (character :tag "Character")            (character :tag "Character")
203            (integer :tag "Integer char value"            (integer :tag "Integer char value"
204                     :validate ruler-mode-character-validate)))                     :validate ruler-mode-character-validate)))
205    
206    (defcustom ruler-mode-set-goal-column-ding-flag t
207      "*Non-nil means do `ding' when `goal-column' is set."
208      :group 'ruler-mode
209      :type 'boolean)
210    
211  (defface ruler-mode-default-face  (defface ruler-mode-default-face
212    '((((type tty))    '((((type tty))
# Line 214  or remove a tab stop.  \\[ruler-mode-tog Line 241  or remove a tab stop.  \\[ruler-mode-tog
241    "Face used to highlight the fill column character."    "Face used to highlight the fill column character."
242    :group 'ruler-mode)    :group 'ruler-mode)
243    
244    (defface ruler-mode-comment-column-face
245      '((t
246         (:inherit ruler-mode-default-face
247                   :foreground "red"
248                   )))
249      "Face used to highlight the comment column character."
250      :group 'ruler-mode)
251    
252    (defface ruler-mode-goal-column-face
253      '((t
254         (:inherit ruler-mode-default-face
255                   :foreground "red"
256                   )))
257      "Face used to highlight the goal column character."
258      :group 'ruler-mode)
259    
260  (defface ruler-mode-tab-stop-face  (defface ruler-mode-tab-stop-face
261    '((t    '((t
262       (:inherit ruler-mode-default-face       (:inherit ruler-mode-default-face
# Line 281  START-EVENT is the mouse click event." Line 324  START-EVENT is the mouse click event."
324            (message "Right margin set to %d (was %d)" rm rm0)            (message "Right margin set to %d (was %d)" rm rm0)
325            (set-window-margins nil lm rm)))))            (set-window-margins nil lm rm)))))
326    
327  (defun ruler-mode-mouse-set-fill-column (start-event)  (defvar ruler-mode-mouse-current-grab-object nil
328    "Set `fill-column' to the graduation where the mouse pointer is on.    "Column symbol dragged in the ruler.
329  START-EVENT is the mouse click event."  That is `fill-column', `comment-column', `goal-column', or nil when
330    nothing is dragged.")
331    
332    (defun ruler-mode-mouse-grab-any-column (start-event)
333      "Set a column symbol to the graduation with mouse dragging.
334    See also variable `ruler-mode-mouse-current-grab-object'.
335    START-EVENT is the mouse down event."
336    (interactive "e")    (interactive "e")
337      (setq ruler-mode-mouse-current-grab-object nil)
338      (let* ((start (event-start start-event))
339             m col w lm rm hs newc oldc)
340        (save-selected-window
341          (select-window (posn-window start))
342          (setq m   (window-margins)
343                lm  (or (car m) 0)
344                rm  (or (cdr m) 0)
345                col (- (car (posn-col-row start)) lm)
346                w   (window-width)
347                hs  (window-hscroll)
348                newc  (+ col hs))
349          ;;
350          ;; About the ways to handle the goal column:
351          ;; A. update the value of the goal column if goal-column has
352          ;;    non-nil value and if the mouse is dragged
353          ;; B. set value to the goal column if goal-column has nil and if
354          ;;    the mouse is just clicked, not dragged.
355          ;; C. unset value to the goal column if goal-column has non-nil
356          ;;    and mouse is just clicked on goal-column character on the
357          ;;    ruler, not dragged.
358          ;;
359          (and (>= col 0) (< (+ col lm rm) w)
360               (cond
361                ((eq newc fill-column)
362                 (setq oldc fill-column)
363                 (setq ruler-mode-mouse-current-grab-object 'fill-column)
364                 t)
365                ((eq newc comment-column)
366                 (setq oldc comment-column)
367                 (setq ruler-mode-mouse-current-grab-object 'comment-column)
368                 t)
369                ((eq newc goal-column)      ; A. update goal column
370                 (setq oldc goal-column)
371                 (setq ruler-mode-mouse-current-grab-object 'goal-column)
372                 t)
373                ((null goal-column)         ; B. set goal column
374                 (setq oldc goal-column)
375                 (setq goal-column newc)
376                 ;; mouse-2 coming AFTER drag-mouse-2 invokes `ding'.
377                 ;; This `ding' flushes the next messages about setting
378                 ;; goal column. So here I force fetch the event(mouse-2)
379                 ;; and throw away.
380                 (read-event)
381                 ;; Ding BEFORE `message' is OK.
382                 (if ruler-mode-set-goal-column-ding-flag
383                     (ding))
384                 (message
385                  "Goal column %d (click `%s' on the ruler again to unset it)"
386                  newc
387                  (propertize (char-to-string ruler-mode-goal-column-char)
388                              'face 'ruler-mode-goal-column-face))
389                 ;; don't enter drag iteration
390                 nil))
391               (if (eq 'click (ruler-mode-mouse-drag-any-column-iteration
392                               (posn-window start)))
393                   (if (eq 'goal-column ruler-mode-mouse-current-grab-object)
394                       ;; C. unset goal column
395                       (set-goal-column t))
396                 ;; *-column is updated; report it
397                 (message "%s is set to %d (was %d)"
398                          ruler-mode-mouse-current-grab-object
399                          (eval ruler-mode-mouse-current-grab-object)
400                          oldc))))))
401    
402    (defun ruler-mode-mouse-drag-any-column-iteration (window)
403      "Update the ruler while dragging the mouse.
404    WINDOW is the window where the last down-mouse event is occurred.
405    Return a symbol `drag' if the mouse is actually dragged.
406    Return a symbol `click' if the mouse is just clicked."
407      (let (newevent
408            (drag-count 0))
409        (track-mouse
410          (while (progn
411                   (setq newevent (read-event))
412                   (mouse-movement-p newevent))
413            (setq drag-count (1+ drag-count))
414            (if (eq window (posn-window (event-end newevent)))
415                (progn
416                  (ruler-mode-mouse-drag-any-column newevent)
417                  (force-mode-line-update)))))
418        (if (and (eq drag-count 0)
419                 (eq 'click (car (event-modifiers newevent))))
420            'click
421          'drag)))
422    
423    (defun ruler-mode-mouse-drag-any-column (start-event)
424      "Update the ruler for START-EVENT, one mouse motion event."
425    (let* ((start (event-start start-event))    (let* ((start (event-start start-event))
426           (end   (event-end   start-event))           (end   (event-end   start-event))
427           m col w lm rm hs fc)           m col w lm rm hs newc)
428      (if (eq start end) ;; mouse click      (save-selected-window
429          (save-selected-window        (select-window (posn-window start))
430            (select-window (posn-window start))        (setq m   (window-margins)
431            (setq m   (window-margins)              lm  (or (car m) 0)
432                  lm  (or (car m) 0)              rm  (or (cdr m) 0)
433                  rm  (or (cdr m) 0)              col (- (car (posn-col-row end)) lm)
434                  col (- (car (posn-col-row start)) lm)              w   (window-width)
435                  w   (window-width)              hs  (window-hscroll)
436                  hs  (window-hscroll)              newc  (+ col hs))
437                  fc  (+ col hs))        (if (and (>= col 0) (< (+ col lm rm) w))
438            (and (>= col 0) (< (+ col lm rm) w)            (set ruler-mode-mouse-current-grab-object newc)))))
                (progn  
                  (message "Fill column set to %d (was %d)" fc fill-column)  
                  (setq fill-column fc)))))))  
439    
440  (defun ruler-mode-mouse-add-tab-stop (start-event)  (defun ruler-mode-mouse-add-tab-stop (start-event)
441    "Add a tab stop to the graduation where the mouse pointer is on.    "Add a tab stop to the graduation where the mouse pointer is on.
# Line 346  START-EVENT is the mouse click event." Line 480  START-EVENT is the mouse click event."
480                      col (- (car (posn-col-row start)) lm)                      col (- (car (posn-col-row start)) lm)
481                      w   (window-width)                      w   (window-width)
482                      hs  (window-hscroll)                      hs  (window-hscroll)
483                      ts  (+ col hs))                          ts  (+ col hs))
484                (and (>= col 0) (< (+ col lm rm) w)                (and (>= col 0) (< (+ col lm rm) w)
485                     (member ts tab-stop-list)                     (member ts tab-stop-list)
486                     (progn                     (progn
# Line 367  START-EVENT is the mouse click event." Line 501  START-EVENT is the mouse click event."
501      (define-key km [header-line down-mouse-3]      (define-key km [header-line down-mouse-3]
502        #'ignore)        #'ignore)
503      (define-key km [header-line down-mouse-2]      (define-key km [header-line down-mouse-2]
504        #'ruler-mode-mouse-set-fill-column)        #'ruler-mode-mouse-grab-any-column)
505      (define-key km [header-line (shift down-mouse-1)]      (define-key km [header-line (shift down-mouse-1)]
506        #'ruler-mode-mouse-set-left-margin)        #'ruler-mode-mouse-set-left-margin)
507      (define-key km [header-line (shift down-mouse-3)]      (define-key km [header-line (shift down-mouse-3)]
# Line 399  START-EVENT is the mouse click event." Line 533  START-EVENT is the mouse click event."
533        (progn        (progn
534          ;; When `ruler-mode' is on save previous header line format          ;; When `ruler-mode' is on save previous header line format
535          ;; and install the ruler header line format.          ;; and install the ruler header line format.
536          (setq ruler-mode-header-line-format-old header-line-format          (when (local-variable-p 'header-line-format)
537                header-line-format ruler-mode-header-line-format)            (setq ruler-mode-header-line-format-old header-line-format))
538            (setq header-line-format ruler-mode-header-line-format)
539          (add-hook 'post-command-hook    ; add local hook          (add-hook 'post-command-hook    ; add local hook
540                    #'force-mode-line-update nil t))                    #'force-mode-line-update nil t))
541      ;; When `ruler-mode' is off restore previous header line format if      ;; When `ruler-mode' is off restore previous header line format if
542      ;; the current one is the ruler header line format.      ;; the current one is the ruler header line format.
543      (if (eq header-line-format ruler-mode-header-line-format)      (when (eq header-line-format ruler-mode-header-line-format)
544          (setq header-line-format ruler-mode-header-line-format-old))        (kill-local-variable 'header-line-format)
545          (when ruler-mode-header-line-format-old
546            (setq header-line-format ruler-mode-header-line-format-old)))
547      (remove-hook 'post-command-hook     ; remove local hook      (remove-hook 'post-command-hook     ; remove local hook
548                   #'force-mode-line-update t)))                   #'force-mode-line-update t)))
549    
550  ;; Add ruler-mode to the minor mode menu in the mode line  ;; Add ruler-mode to the minor mode menu in the mode line
551  (define-key mode-line-mode-menu [ruler-mode]  (define-key mode-line-mode-menu [ruler-mode]
552    `(menu-item "Ruler" ruler-mode    `(menu-item "Ruler" ruler-mode
553                :button (:toggle . ruler-mode)))                :button (:toggle . ruler-mode)))
554    
555  (defconst ruler-mode-ruler-help-echo  (defconst ruler-mode-ruler-help-echo
556    "\    "\
557  S-mouse-1/3: set L/R margin, \  S-mouse-1/3: set L/R margin, \
558  mouse-2: set fill col, \  mouse-2: set goal column, \
559  C-mouse-2: show tabs"  C-mouse-2: show tabs"
560    "Help string shown when mouse pointer is over the ruler.    "Help string shown when mouse is over the ruler.
561  `ruler-mode-show-tab-stops' is nil.")  `ruler-mode-show-tab-stops' is nil.")
562    
563  (defconst ruler-mode-ruler-help-echo-tab  (defconst ruler-mode-ruler-help-echo-when-goal-column
564      "\
565    S-mouse-1/3: set L/R margin, \
566    C-mouse-2: show tabs"
567      "Help string shown when mouse is over the ruler.
568    `goal-column' is set and `ruler-mode-show-tab-stops' is nil.")
569    
570    (defconst ruler-mode-ruler-help-echo-when-tab-stops
571    "\    "\
572  C-mouse1/3: set/unset tab, \  C-mouse1/3: set/unset tab, \
573  C-mouse-2: hide tabs"  C-mouse-2: hide tabs"
574    "Help string shown when mouse pointer is over the ruler.    "Help string shown when mouse is over the ruler.
575  `ruler-mode-show-tab-stops' is non-nil.")  `ruler-mode-show-tab-stops' is non-nil.")
576    
577    (defconst ruler-mode-fill-column-help-echo
578      "drag-mouse-2: set fill column"
579      "Help string shown when mouse is on the fill column character.")
580    
581    (defconst ruler-mode-comment-column-help-echo
582      "drag-mouse-2: set comment column"
583      "Help string shown when mouse is on the comment column character.")
584    
585    (defconst ruler-mode-goal-column-help-echo
586      "\
587    drag-mouse-2: set goal column, \
588    mouse-2: unset goal column"
589      "Help string shown when mouse is on the goal column character.")
590    
591  (defconst ruler-mode-left-margin-help-echo  (defconst ruler-mode-left-margin-help-echo
592    "Left margin %S"    "Left margin %S"
593    "Help string shown when mouse is over the left margin area.")    "Help string shown when mouse is over the left margin area.")
# Line 451  C-mouse-2: hide tabs" Line 609  C-mouse-2: hide tabs"
609  (defmacro ruler-mode-left-scroll-bar-cols ()  (defmacro ruler-mode-left-scroll-bar-cols ()
610    "Return the width, measured in columns, of the left vertical scrollbar."    "Return the width, measured in columns, of the left vertical scrollbar."
611    '(if (eq (frame-parameter nil 'vertical-scroll-bars) 'left)    '(if (eq (frame-parameter nil 'vertical-scroll-bars) 'left)
612         (round (or (frame-parameter nil 'scroll-bar-width) 0)         (let ((sbw (frame-parameter nil 'scroll-bar-width)))
613                (frame-char-width))           ;; nil means it's a non-toolkit scroll bar,
614             ;; and its width in columns is 14 pixels rounded up.
615             (unless sbw (setq sbw 14))
616             ;; Always round up to multiple of columns.
617             (ceiling sbw (frame-char-width)))
618       0))       0))
619    
620  (defmacro ruler-mode-right-scroll-bar-cols ()  (defmacro ruler-mode-right-scroll-bar-cols ()
# Line 487  C-mouse-2: hide tabs" Line 649  C-mouse-2: hide tabs"
649                             'face 'ruler-mode-default-face                             'face 'ruler-mode-default-face
650                             ruler)                             ruler)
651          (put-text-property 0 (length ruler)          (put-text-property 0 (length ruler)
652                             'help-echo                             'help-echo
653                             (if ruler-mode-show-tab-stops                             (if ruler-mode-show-tab-stops
654                                 ruler-mode-ruler-help-echo-tab                                 ruler-mode-ruler-help-echo-when-tab-stops
655                               ruler-mode-ruler-help-echo)                               (if goal-column
656                                     ruler-mode-ruler-help-echo-when-goal-column
657                                   ruler-mode-ruler-help-echo))
658                             ruler)                             ruler)
659          ;; Setup the local map.          ;; Setup the local map.
660          (put-text-property 0 (length ruler)          (put-text-property 0 (length ruler)
# Line 542  C-mouse-2: hide tabs" Line 706  C-mouse-2: hide tabs"
706          (while (< i (length ruler))          (while (< i (length ruler))
707            (aset ruler i ruler-mode-margins-char)            (aset ruler i ruler-mode-margins-char)
708            (setq i (1+ i)))            (setq i (1+ i)))
709            
710            ;; Show the `goal-column' marker.
711            (if goal-column
712                (progn
713                  (setq i (- goal-column o))
714                  (and (>= i 0) (< i r)
715                       (aset ruler i ruler-mode-goal-column-char)
716                       (progn
717                         (put-text-property
718                          i (1+ i) 'face 'ruler-mode-goal-column-face
719                          ruler)
720                         (put-text-property
721                          i (1+ i) 'help-echo ruler-mode-goal-column-help-echo
722                          ruler))
723                       )))
724    
725            ;; Show the `comment-column' marker.
726            (setq i (- comment-column o))
727            (and (>= i 0) (< i r)
728                 (aset ruler i ruler-mode-comment-column-char)
729                 (progn
730                   (put-text-property
731                    i (1+ i) 'face 'ruler-mode-comment-column-face
732                    ruler)
733                   (put-text-property
734                    i (1+ i) 'help-echo ruler-mode-comment-column-help-echo
735                    ruler)))
736    
737          ;; Show the `fill-column' marker.          ;; Show the `fill-column' marker.
738          (setq i (- fill-column o))          (setq i (- fill-column o))
739          (and (>= i 0) (< i r)          (and (>= i 0) (< i r)
740               (aset ruler i ruler-mode-fill-column-char)               (aset ruler i ruler-mode-fill-column-char)
741               (put-text-property               (progn (put-text-property
742                i (1+ i) 'face 'ruler-mode-fill-column-face                       i (1+ i) 'face 'ruler-mode-fill-column-face
743                ruler))                       ruler)
744                        (put-text-property
745                         i (1+ i) 'help-echo ruler-mode-fill-column-help-echo
746                         ruler)))
747    
748          ;; Show the `tab-stop-list' markers.          ;; Show the `tab-stop-list' markers.
749          (if ruler-mode-show-tab-stops          (if ruler-mode-show-tab-stops
# Line 563  C-mouse-2: hide tabs" Line 757  C-mouse-2: hide tabs"
757                       (put-text-property                       (put-text-property
758                        i (1+ i)                        i (1+ i)
759                        'face (cond                        'face (cond
760                               ;; Don't override the fill-column face                               ;; Don't override the *-column face
761                               ((eq ts fill-column)                               ((eq ts fill-column)
762                                'ruler-mode-fill-column-face)                                'ruler-mode-fill-column-face)
763                                 ((eq ts comment-column)
764                                  'ruler-mode-comment-column-face)
765                                 ((eq ts goal-column)
766                                  'ruler-mode-goal-column-face)
767                               (t                               (t
768                                'ruler-mode-tab-stop-face))                                'ruler-mode-tab-stop-face))
769                        ruler)))))                        ruler)))))
# Line 577  C-mouse-2: hide tabs" Line 775  C-mouse-2: hide tabs"
775               (put-text-property               (put-text-property
776                i (1+ i) 'face 'ruler-mode-current-column-face                i (1+ i) 'face 'ruler-mode-current-column-face
777                ruler))                ruler))
778            
779          ruler)))          ruler)))
780    
781  (provide 'ruler-mode)  (provide 'ruler-mode)

Legend:
Removed from v.1.7  
changed lines
  Added in v.1.7.2.1

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26