Your IP : 216.73.216.48


Current Path : /usr/X11R6/share/emacs/24.5/lisp/
Upload File :
Current File : //usr/X11R6/share/emacs/24.5/lisp/ruler-mode.elc

;ELC
;;; Compiled
;;; in Emacs version 24.5.1
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.

;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


(byte-code "\300\301!\210\300\302!\210\303\304\305\306\307\310\311\312&\210\313\314\305\315\311\304\316\317&\207" [require scroll-bar fringe custom-declare-group ruler-mode nil "Display a ruler in the header line." :version "22.1" :group convenience custom-declare-variable ruler-mode-show-tab-stops "If non-nil the ruler shows tab stop positions.\nAlso allowing to visually change `tab-stop-list' setting using\n<C-down-mouse-1> and <C-down-mouse-3> on the ruler to respectively add\nor remove a tab stop.  \\[ruler-mode-toggle-show-tab-stops] or\n<C-down-mouse-2> on the ruler toggles showing/editing of tab stops." :type boolean] 8)
#@49 Ensure WIDGET value is a valid character value.
(defalias 'ruler-mode-character-validate #[(widget) "\212\302!\303	!?\205\304\305\306\307	\"#\210*\207" [widget value widget-value characterp widget-put :error format "Invalid character value: %S"] 6 (#$ . 1048)])
(byte-code "\300\301\302\303\304\305\306\307&\210\300\310\311\312\304\305\306\313&\210\300\314\315\316\304\305\306\317&\210\300\320\321\322\304\305\306\323&\210\300\324\325\326\304\305\306\327&\210\300\330\331\332\304\305\306\333&\210\300\334\335\336\304\305\306\337&\210\300\340\341\342\304\305\306\343&\210\344\345\346\347\304\305%\210\344\350\351\352\304\305%\210\344\353\354\355\304\305%\210\344\356\357\360\304\305%\210\344\361\362\363\304\305%\210\344\364\365\366\304\305%\210\344\367\370\371\304\305%\210\344\372\373\374\304\305%\210\344\375\376\377\304\305%\210\344\201@\201A\201B\304\305%\207" [custom-declare-variable ruler-mode-fill-column-char (if (char-displayable-p 182) 182 124) "Character used at the `fill-column' location." :group ruler-mode :type (choice (character :tag "Character") (integer :tag "Integer char value" :validate ruler-mode-character-validate)) ruler-mode-comment-column-char 35 "Character used at the `comment-column' location." (choice (character :tag "Character") (integer :tag "Integer char value" :validate ruler-mode-character-validate)) ruler-mode-goal-column-char 71 "Character used at the `goal-column' location." (choice (character :tag "Character") (integer :tag "Integer char value" :validate ruler-mode-character-validate)) ruler-mode-current-column-char (if (char-displayable-p 166) 166 64) "Character used at the `current-column' location." (choice (character :tag "Character") (integer :tag "Integer char value" :validate ruler-mode-character-validate)) ruler-mode-tab-stop-char 84 "Character used at `tab-stop-list' locations." (choice (character :tag "Character") (integer :tag "Integer char value" :validate ruler-mode-character-validate)) ruler-mode-basic-graduation-char 46 "Character used for basic graduations." (choice (character :tag "Character") (integer :tag "Integer char value" :validate ruler-mode-character-validate)) ruler-mode-inter-graduation-char 33 "Character used for intermediate graduations." (choice (character :tag "Character") (integer :tag "Integer char value" :validate ruler-mode-character-validate)) ruler-mode-set-goal-column-ding-flag t "Non-nil means do `ding' when `goal-column' is set." boolean custom-declare-face ruler-mode-default ((((type tty)) (:inherit default :background "grey64" :foreground "grey50")) (t (:inherit default :background "grey76" :foreground "grey64" :box (:color "grey76" :line-width 1 :style released-button)))) "Default face used by the ruler." ruler-mode-pad ((((type tty)) (:inherit ruler-mode-default :background "grey50")) (t (:inherit ruler-mode-default :background "grey64"))) "Face used to pad inactive ruler areas." ruler-mode-margins ((t (:inherit ruler-mode-default :foreground "white"))) "Face used to highlight margin areas." ruler-mode-fringes ((t (:inherit ruler-mode-default :foreground "green"))) "Face used to highlight fringes areas." ruler-mode-column-number ((t (:inherit ruler-mode-default :foreground "black"))) "Face used to highlight number graduations." ruler-mode-fill-column ((t (:inherit ruler-mode-default :foreground "red"))) "Face used to highlight the fill column character." ruler-mode-comment-column ((t (:inherit ruler-mode-default :foreground "red"))) "Face used to highlight the comment column character." ruler-mode-goal-column ((t (:inherit ruler-mode-default :foreground "red"))) "Face used to highlight the goal column character." ruler-mode-tab-stop ((t (:inherit ruler-mode-default :foreground "steelblue"))) "Face used to highlight tab stop characters." ruler-mode-current-column ((t (:inherit ruler-mode-default :weight bold :foreground "yellow"))) "Face used to highlight the `current-column' character."] 8)
#@47 Return the full width of the selected window.
(defalias 'ruler-mode-full-window-width #[nil "\301 \3028@Z)\207" [edges window-edges 2] 2 (#$ . 5000)])
(byte-code "\300\301\302\303#\207" [put ruler-mode-full-window-width byte-optimizer byte-compile-inline-expand] 4)
#@106 Return a column number relative to the selected window.
N is a column number relative to selected frame.
(defalias 'ruler-mode-window-col #[(n) "\303\304 @\305 @\206\f\306\307\310	\203\311\202\312\n\307=\203#\313\202$\314\315 !\206+\306\316\317 !\"*\320\307!%\207" [n real side - window-edges window-margins 0 left nil / ceiling car cadr window-fringes float frame-char-width scroll-bar-columns] 8 (#$ . 5276)])
(byte-code "\300\301\302\303#\207" [put ruler-mode-window-col byte-optimizer byte-compile-inline-expand] 4)
#@108 Set left margin end to the graduation where the mouse pointer is on.
START-EVENT is the mouse click event.
(defalias 'ruler-mode-mouse-set-left-margin #[(start-event) "\306!\307!\310\211\310\211	\n=\205t\311 r\312\216\313	\211@\262!\210\314\315	!@\316 @\317\320!#\314\316 \3218@Z)\317\320!\317\322!#\323Y\205s\fW\205s\324 \211A\206^\323
@\206f\323\325\326
#\210\327\310#+.\207" [start-event start end col w lm event-start event-end nil internal--before-save-selected-window ((internal--after-save-selected-window save-selected-window--state)) select-window - posn-col-row window-edges scroll-bar-columns left 2 right 0 window-margins message "Left margin set to %d (was %d)" set-window-margins rm save-selected-window--state edges] 6 (#$ . 5814) "e"])
#@115 Set right margin beginning to the graduation where the mouse pointer is on.
START-EVENT is the mouse click event.
(defalias 'ruler-mode-mouse-set-right-margin #[(start-event) "\306!\307!\310\211\310\211	\n=\205z\311 r\312\216\313	\211@\262!\210\314\315	!@\316 @\317\320!#\314\316 \3218@Z)\317\320!\317\322!#\323Y\205y\fW\205y\324 \211A\206^\323
@\206f\323\314\f\325#\326\327#\210\330\310
#+.\207" [start-event start end col w lm event-start event-end nil internal--before-save-selected-window ((internal--after-save-selected-window save-selected-window--state)) select-window - posn-col-row window-edges scroll-bar-columns left 2 right 0 window-margins 1 message "Right margin set to %d (was %d)" set-window-margins rm save-selected-window--state edges] 6 (#$ . 6609) "e"])
#@125 Column symbol dragged in the ruler.
That is `fill-column', `comment-column', `goal-column', or nil when
nothing is dragged.
(defvar ruler-mode-dragged-symbol nil (#$ . 7428))
#@234 Drag a column symbol on the ruler.
Start dragging on mouse down event START-EVENT, and update the column
symbol value with the current value of the ruler graduation while
dragging.  See also the variable `ruler-mode-dragged-symbol'.
(defalias 'ruler-mode-mouse-grab-any-column #[(start-event) "\306\307	!\306\211\306\310 +r\311\216\312\n\211@\262!\210\313\n!@,\314,\315 @\316 @\206.\317\320\306-.-\203=\321\202>\322.\320=\203I\323\202J\324\325 !\206Q\317\326\327 !\"*\330\320!%)\211\331 \\\317Y\205\343\332 W\205\343\f=\203~\333\202\304\f=\203\215\334\202\304\f=\203\234\335\202\304?\205\343\f\336 \210/\203\263\337 \210\340\341\f\342\3430!\344\345##\210\306\202\343\346\n\211@\262!\347=\203\334\335=\205\343\350\351!\202\343\340\352\211J
$.\207" [ruler-mode-dragged-symbol start-event start col newc oldc nil event-start internal--before-save-selected-window ((internal--after-save-selected-window save-selected-window--state)) select-window posn-col-row - window-edges window-margins 0 left / ceiling car cadr window-fringes float frame-char-width scroll-bar-columns window-hscroll window-width fill-column comment-column goal-column read-event ding message "Goal column set to %d (click on %s again to unset it)" propertize char-to-string face ruler-mode-goal-column ruler-mode-mouse-drag-any-column-iteration click set-goal-column t "%s is set to %d (was %d)" save-selected-window--state n real side ruler-mode-set-goal-column-ding-flag ruler-mode-goal-column-char] 9 (#$ . 7610) "e"])
#@205 Update the ruler while dragging the mouse.
WINDOW is the window where occurred the last down-mouse event.
Return the symbol `drag' if the mouse has been dragged, or `click' if
the mouse has been clicked.
(defalias 'ruler-mode-mouse-drag-any-column-iteration #[(window) "\302\303\304\305!\210\306	!\203\307!@\310=\203\310\202\311*\207" [event drags 0 nil eval (track-mouse (byte-code "\303 \211\211\242\304=\262\205&	T\n\305!\211@\262=\203\306!\210\307 \210\202\207" [event drags window read-event mouse-movement event-end ruler-mode-mouse-drag-any-column force-mode-line-update] 3)) zerop event-modifiers click drag] 2 (#$ . 9175)])
#@101 Update the value of the symbol dragged on the ruler.
Called on each mouse motion event START-EVENT.
(defalias 'ruler-mode-mouse-drag-any-column #[(start-event) "\306!\307!\310\211\311 r\312\216\313	\211@\262!\210\314\n!@\315\316 @\317 @\206-\320\321\310\203<\322\202=\323\321=\203H\324\202I\325\326 !\206P\320\327\330 !\"*\331\321!%)\211\332 \\\320Y\205r\333 W\205r\fL.\207" [start-event start end col newc save-selected-window--state event-start event-end nil internal--before-save-selected-window ((internal--after-save-selected-window save-selected-window--state)) select-window posn-col-row - window-edges window-margins 0 left / ceiling car cadr window-fringes float frame-char-width scroll-bar-columns window-hscroll window-width n real side ruler-mode-dragged-symbol] 9 (#$ . 9835)])
#@103 Add a tab stop to the graduation where the mouse pointer is on.
START-EVENT is the mouse click event.
(defalias 'ruler-mode-mouse-add-tab-stop #[(start-event) "\205\235\306	!\307	!\310\211\n=\205\234\311 !r\312\216\313\n\211@\262!\210\314\n!@\"\315\"\316 @\317 @\2068\320\321\310#$#\203G\322\202H\323$\321=\203S\324\202T\325\326 !\206[\320\327\330 !\"*\331\321!%)\211\332 \\\f\320Y\205\233\f\333 W\205\233
%\235?\205\233\334\335
\"\210%\204\221\336
S!%\337
%B\340\"\211%+,\207" [ruler-mode-show-tab-stops start-event start end col ts event-start event-end nil internal--before-save-selected-window ((internal--after-save-selected-window save-selected-window--state)) select-window posn-col-row - window-edges window-margins 0 left / ceiling car cadr window-fringes float frame-char-width scroll-bar-columns window-hscroll window-width message "Tab stop set to %d" indent-accumulate-tab-stops sort < save-selected-window--state n real side tab-stop-list] 9 (#$ . 10668) "e"])
#@104 Delete tab stop at the graduation where the mouse pointer is on.
START-EVENT is the mouse click event.
(defalias 'ruler-mode-mouse-del-tab-stop #[(start-event) "\205\217\306	!\307	!\310\211\n=\205\216\311 r\312\216\313\n\211@\262!\210\314\n!@ \315 \316 @\317 @\2068\320\321\310!\"!\203G\322\202H\323\"\321=\203S\324\202T\325\326 !\206[\320\327\330 !\"*\331\321!%)\211\332 \\\f\320Y\205\215\f\333 W\205\215
#\235\205\215\334\335
\"\210\336
#\"\211#+,\207" [ruler-mode-show-tab-stops start-event start end col ts event-start event-end nil internal--before-save-selected-window ((internal--after-save-selected-window save-selected-window--state)) select-window posn-col-row - window-edges window-margins 0 left / ceiling car cadr window-fringes float frame-char-width scroll-bar-columns window-hscroll window-width message "Tab stop at %d deleted" delete save-selected-window--state n real side tab-stop-list] 9 (#$ . 11683) "e"])
#@43 Toggle showing of tab stops on the ruler.
(defalias 'ruler-mode-toggle-show-tab-stops #[nil "?\301 \207" [ruler-mode-show-tab-stops force-mode-line-update] 1 (#$ . 12648) nil])
#@30 Keymap for ruler minor mode.
(defvar ruler-mode-map (byte-code "\301 \302\303\304#\210\302\305\304#\210\302\306\307#\210\302\310\311#\210\302\312\313#\210\302\314\315#\210\302\316\317#\210\302\320\321#\210\302\322\304#\210\302\323\304#\210\302\324\304#\210\302\325\304#\210\302\326\304#\210)\207" [km make-sparse-keymap define-key [header-line down-mouse-1] ignore [header-line down-mouse-3] [header-line down-mouse-2] ruler-mode-mouse-grab-any-column [header-line (shift down-mouse-1)] ruler-mode-mouse-set-left-margin [header-line (shift down-mouse-3)] ruler-mode-mouse-set-right-margin [header-line (control down-mouse-1)] ruler-mode-mouse-add-tab-stop [header-line (control down-mouse-3)] ruler-mode-mouse-del-tab-stop [header-line (control down-mouse-2)] ruler-mode-toggle-show-tab-stops [header-line (shift mouse-1)] [header-line (shift mouse-3)] [header-line (control mouse-1)] [header-line (control mouse-3)] [header-line (control mouse-2)]] 4) (#$ . 12833))
#@46 Hold previous value of `header-line-format'.
(defvar ruler-mode-header-line-format-old nil (#$ . 13821))
#@114 Function to call to return ruler header line format.
This variable is expected to be made buffer-local by modes.
(defvar ruler-mode-ruler-function 'ruler-mode-ruler (#$ . 13933))
#@103 `header-line-format' used in ruler mode.
Call `ruler-mode-ruler-function' to compute the ruler value.
(defconst ruler-mode-header-line-format '(:eval (funcall ruler-mode-ruler-function)) (#$ . 14119))
#@89 Non-nil if Ruler mode is enabled.
Use the command `ruler-mode' to change this variable.
(defvar ruler-mode nil (#$ . 14326))
(make-variable-buffer-local 'ruler-mode)
#@125 Install the header line format for Ruler mode.
Unless Ruler mode is already enabled, save the old header line
format first.
(defalias 'ruler--save-header-line-format #[nil "\204\304\301!\203\304\302!\204\305\302!\210	\211\207" [ruler-mode header-line-format ruler-mode-header-line-format-old ruler-mode-header-line-format local-variable-p make-local-variable] 2 (#$ . 14499)])
#@210 Toggle display of ruler in header line (Ruler mode).
With a prefix argument ARG, enable Ruler mode if ARG is positive,
and disable it otherwise.  If called from Lisp, enable the mode
if ARG is omitted or nil.
(defalias 'ruler-mode #[(&optional arg) "\306 	\307=\203\n?\202\310	!\311V\211\203\312 \210)\n\203,\313\314\315\316\317$\210\202I\f
=\203C\320\304!\210\321\322!\203C\320\322!\210\323\314\315\317#\210\324\325\n\203S\326\202T\327\"\210\330\331!\203u\306 \203h\306 \232\203u\332\333\n\203r\334\202s\335\"\210)\315 \210\n\207" [#1=#:last-message arg ruler-mode enable header-line-format ruler-mode-header-line-format current-message toggle prefix-numeric-value 0 ruler--save-header-line-format add-hook post-command-hook force-mode-line-update nil t kill-local-variable local-variable-p ruler-mode-header-line-format-old remove-hook run-hooks ruler-mode-hook ruler-mode-on-hook ruler-mode-off-hook called-interactively-p any message "Ruler mode %sabled" "en" "dis"] 6 (#$ . 14893) (list (or current-prefix-arg 'toggle))])
#@175 Hook run after entering or leaving `ruler-mode'.
No problems result if this variable is not bound.
`add-hook' automatically binds it.  (This is true for all hook variables.)
(defvar ruler-mode-hook nil (#$ . 15952))
(byte-code "\302\303\304\304\211%\210\305	\306\307#\207" [ruler-mode-map mode-line-mode-menu add-minor-mode ruler-mode nil define-key [ruler-mode] (menu-item "Ruler" ruler-mode :button (:toggle . ruler-mode))] 6)
#@85 Help string shown when mouse is over the ruler.
`ruler-mode-show-tab-stops' is nil.
(defconst ruler-mode-ruler-help-echo "S-mouse-1/3: set L/R margin, mouse-2: set goal column, C-mouse-2: show tabs" (#$ . 16388))
#@110 Help string shown when mouse is over the ruler.
`goal-column' is set and `ruler-mode-show-tab-stops' is nil.
(defconst ruler-mode-ruler-help-echo-when-goal-column "S-mouse-1/3: set L/R margin, C-mouse-2: show tabs" (#$ . 16608))
#@89 Help string shown when mouse is over the ruler.
`ruler-mode-show-tab-stops' is non-nil.
(defconst ruler-mode-ruler-help-echo-when-tab-stops "C-mouse1/3: set/unset tab, C-mouse-2: hide tabs" (#$ . 16843))
#@63 Help string shown when mouse is on the fill column character.
(defconst ruler-mode-fill-column-help-echo "drag-mouse-2: set fill column" (#$ . 17053))
#@66 Help string shown when mouse is on the comment column character.
(defconst ruler-mode-comment-column-help-echo "drag-mouse-2: set comment column" (#$ . 17210))
#@63 Help string shown when mouse is on the goal column character.
(defconst ruler-mode-goal-column-help-echo "drag-mouse-2: set goal column, mouse-2: unset goal column" (#$ . 17376))
#@53 Help string shown when mouse is over a margin area.
(defconst ruler-mode-margin-help-echo "%s margin %S" (#$ . 17561))
#@53 Help string shown when mouse is over a fringe area.
(defconst ruler-mode-fringe-help-echo "%s fringe %S" (#$ . 17686))
#@139 Return a single space string of WIDTH times the normal character width.
Optional argument PROPS specifies other text properties to apply.
(defalias 'ruler-mode-space #[(width &rest props) "\302\303\304\305\306\307E	%\207" [width props apply propertize " " display space :width] 7 (#$ . 17812)])
(byte-code "\300\301\302\303#\207" [put ruler-mode-space byte-optimizer byte-compile-inline-expand] 4)
#@41 Compute and return a header line ruler.
(defalias 'ruler-mode-ruler #[nil "\306 \307 \310 \311\312 \313\314\315\316\317
\320\n@\206\311#F67\321\322\323\324\325\3267E6%*8\327\314\315\316\317
\330\n\211A@\262\206A\311#F67\321\322\323\324\325\3267E6%*9\331\314\332\316\317:\320	@\206d\311#F67\321\322\323\324\325\3267E6%*;\333\314\332\316\317:\330	A\206\207\311#F67\321\322\323\324\325\3267E6%*<\334\314\335D67\321\322\323\324\325\3267E6%*=\336 @>\322\337\340?\"!\314\341\342@\316A\203\320B\202\334C\203\332D\202\334E&F\343\211GHW\203\344\f\345\"\311U\203.\346\f\345\245!\211HGG\347\211T\314\350F%\210	\311V\203>G\311Y\203>FGH	S\211HI\210GSG\202\f\344\f\351\"\311U\203>FII\210\fiU\203XFJI\210\347\211T\314\352F%\210\202\fC\203\215\fCU\203\215FKI\210\347\211T\314\353F%\210\347\211T\354\355F%\210\347\211T\316LF%\210\202\f\fMU\203\275FNI\210\347\211T\314\356F%\210\347\211T\354\355F%\210\347\211T\316OF%\210\202\f\fPU\203\355FQI\210\347\211T\314\357F%\210\347\211T\354\355F%\210\347\211T\316RF%\210\202\fA\203\f\f\360\fS!U\203\fFSI\210\347\211T\314\361F%\210T\fT\202\346\362\310 8\203>\363>\364=\205&=8;F<9>\365=\2059=\257\202]\363>\364=\205H=;8F9<>\365=\205[=\257.\207" [w m f i j ruler-mode-fringe-help-echo window-width window-margins window-fringes 0 window-hscroll left-fringe face ruler-mode-fringes help-echo format "Left" apply propertize " " display space :width right-fringe "Right" left-margin ruler-mode-margins right-margin scroll-bar ruler-mode-pad window-current-scroll-bars string-to-multibyte make-string ruler-mode-default local-map nil mod 10 number-to-string put-text-property ruler-mode-column-number 5 ruler-mode-current-column ruler-mode-goal-column mouse-face mode-line-highlight ruler-mode-comment-column ruler-mode-fill-column indent-next-tab-stop ruler-mode-tab-stop 2 "" left right props width lf rf ruler-mode-margin-help-echo lm rm sb sbvt ruler-mode-basic-graduation-char ruler-mode-map ruler-mode-show-tab-stops ruler-mode-ruler-help-echo-when-tab-stops goal-column ruler-mode-ruler-help-echo-when-goal-column ruler-mode-ruler-help-echo ruler k c ruler-mode-inter-graduation-char ruler-mode-current-column-char ruler-mode-goal-column-char ruler-mode-goal-column-help-echo comment-column ruler-mode-comment-column-char ruler-mode-comment-column-help-echo fill-column ruler-mode-fill-column-char ruler-mode-fill-column-help-echo ruler-mode-tab-stop-char] 10 (#$ . 18217)])
(provide 'ruler-mode)