HOME


sh-3ll 1.0
DIR:/proc/self/root/proc/thread-self/root/usr/share/emacs/26.1/lisp/
Upload File :
Current File : //proc/self/root/proc/thread-self/root/usr/share/emacs/26.1/lisp/ruler-mode.elc
;ELC
;;; Compiled
;;; in Emacs version 26.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 (#$ . 1046)])
(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 (#$ . 4998)])
(put 'ruler-mode-full-window-width 'byte-optimizer 'byte-compile-inline-expand)
#@178 Return a column number relative to the selected window.
N is a column number relative to selected frame.
If required, account for screen estate taken by `display-line-numbers'.
(defalias 'ruler-mode-window-col #[(n) "\203\f	\304\305\306!!Z\307	\310 @\206\311\312\313\n\203!\314\202\"\315\312=\203,\316\202-\317\320 !\2064\311\321\322 !\"*\323\312!$\207" [display-line-numbers n real side round line-number-display-width columns - window-margins 0 left nil / ceiling car cadr window-fringes float frame-char-width scroll-bar-columns] 7 (#$ . 5239)])
(put 'ruler-mode-window-col 'byte-optimizer 'byte-compile-inline-expand)
#@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=\205p\311 r\312\216\313	\211@\262!\210\314	!@\315\316!Z\317\320 \3218@Z)\315\316!\315\322!#\323Y\205o\fW\205o\324 \211A\206Z\323
@\206b\323\325\326
#\210\327\310#+.\207" [start-event start end col w lm event-start event-end nil internal--before-save-selected-window #[nil "\301!\207" [save-selected-window--state internal--after-save-selected-window] 2] select-window posn-col-row scroll-bar-columns left - window-edges 2 right 0 window-margins message "Left margin set to %d (was %d)" set-window-margins rm save-selected-window--state edges] 6 (#$ . 5881) "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=\205v\311 r\312\216\313	\211@\262!\210\314	!@\315\316!Z\317\320 \3218@Z)\315\316!\315\322!#\323Y\205u\fW\205u\324 \211A\206Z\323
@\206b\323\317\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 #[nil "\301!\207" [save-selected-window--state internal--after-save-selected-window] 2] select-window posn-col-row scroll-bar-columns left - window-edges 2 right 0 window-margins 1 message "Right margin set to %d (was %d)" set-window-margins rm save-selected-window--state edges] 6 (#$ . 6686) "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 (#$ . 7515))
#@151 Compute scaled text width according to current font scaling.
Convert a width of char units into a text-scaled char width units,
Ex. `window-hscroll'.
(defalias 'ruler-mode-text-scaled-width #[(width) "\301 _\302 \245\207" [width frame-char-width default-font-width] 2 (#$ . 7697)])
#@31 Text scaled `window-hscroll'.
(defalias 'ruler-mode-text-scaled-window-hscroll #[nil "\300\301 !\207" [ruler-mode-text-scaled-width window-hscroll] 2 (#$ . 7986)])
#@29 Text scaled `window-width'.
(defalias 'ruler-mode-text-scaled-window-width #[nil "\300\301 !\207" [ruler-mode-text-scaled-width window-width] 2 (#$ . 8156)])
#@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!@./\2030.\314\315\316!!Z.\317.\320 @\206:\321\322\306010\203I\323\202J\3241\322=\203U\325\202V\326\327 !\206]\321\330\331 !\"*\332\322!$)\211\333 \\\321Y\205\357\334 W\205\357\f=\203\212\335\202\320\f=\203\231\336\202\320\f=\203\250\337\202\320?\205\357\f\340 \2102\203\277\341 \210\342\343\f\344\3453!\346\347##\210\306\202\357\350\n\211@\262!\351=\203\350\337=\205\357\352\353!\202\357\342\354\211J
$.\207" [ruler-mode-dragged-symbol start-event start col newc oldc nil event-start internal--before-save-selected-window #[nil "\301!\207" [save-selected-window--state internal--after-save-selected-window] 2] select-window posn-col-row round line-number-display-width columns - window-margins 0 left / ceiling car cadr window-fringes float frame-char-width scroll-bar-columns ruler-mode-text-scaled-window-hscroll ruler-mode-text-scaled-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 display-line-numbers real side ruler-mode-set-goal-column-ding-flag ruler-mode-goal-column-char] 8 (#$ . 8321) "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	\302U\203\306!@\307=\203\307\202\310*\207" [event drags 0 nil internal--track-mouse #[nil "\304\305 \211\211\242\306=\262\205(\nT\307	!\211@\262=\203\310	!\210\311 \210\202\207" [track-mouse event drags window dragging read-event mouse-movement event-end ruler-mode-mouse-drag-any-column force-mode-line-update] 3] event-modifiers click drag] 2 (#$ . 10024)])
#@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!@\203/\315\316\317!!Z\320\321 @\2069\322\323\310 ! \203H\324\202I\325!\323=\203T\326\202U\327\330 !\206\\\322\331\332 !\"*\333\323!$)\211\334 \\\322Y\205~\335 W\205~\"\fL.\207" [start-event start end col newc save-selected-window--state event-start event-end nil internal--before-save-selected-window #[nil "\301!\207" [save-selected-window--state internal--after-save-selected-window] 2] select-window posn-col-row round line-number-display-width columns - window-margins 0 left / ceiling car cadr window-fringes float frame-char-width scroll-bar-columns ruler-mode-text-scaled-window-hscroll ruler-mode-text-scaled-window-width n display-line-numbers real side ruler-mode-dragged-symbol] 8 (#$ . 10703)])
#@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\251\306	!\307	!\310\211\n=\205\250\311 #r\312\216\313\n\211@\262!\210\314\n!@$%\203:$\315\316\317!!Z$\320$\321 @\206D\322\323\310&'&\203S\324\202T\325'\323=\203_\326\202`\327\330 !\206g\322\331\332 !\"*\333\323!$)\211\334 \\\f\322Y\205\247\f\335 W\205\247
(\235?\205\247\336\337
\"\210(\204\235\340
S!(\341
(B\342\"\211(+,\207" [ruler-mode-show-tab-stops start-event start end col ts event-start event-end nil internal--before-save-selected-window #[nil "\301!\207" [save-selected-window--state internal--after-save-selected-window] 2] select-window posn-col-row round line-number-display-width columns - window-margins 0 left / ceiling car cadr window-fringes float frame-char-width scroll-bar-columns ruler-mode-text-scaled-window-hscroll ruler-mode-text-scaled-window-width message "Tab stop set to %d" indent-accumulate-tab-stops sort < save-selected-window--state n display-line-numbers real side tab-stop-list] 8 (#$ . 11674) "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\233\306	!\307	!\310\211\n=\205\232\311 !r\312\216\313\n\211@\262!\210\314\n!@\"#\203:\"\315\316\317!!Z\"\320\"\321 @\206D\322\323\310$%$\203S\324\202T\325%\323=\203_\326\202`\327\330 !\206g\322\331\332 !\"*\333\323!$)\211\334 \\\f\322Y\205\231\f\335 W\205\231
&\235\205\231\336\337
\"\210\340
&\"\211&+,\207" [ruler-mode-show-tab-stops start-event start end col ts event-start event-end nil internal--before-save-selected-window #[nil "\301!\207" [save-selected-window--state internal--after-save-selected-window] 2] select-window posn-col-row round line-number-display-width columns - window-margins 0 left / ceiling car cadr window-fringes float frame-char-width scroll-bar-columns ruler-mode-text-scaled-window-hscroll ruler-mode-text-scaled-window-width message "Tab stop at %d deleted" delete save-selected-window--state n display-line-numbers real side tab-stop-list] 8 (#$ . 12822) "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 (#$ . 13924) 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) (#$ . 14109))
#@46 Hold previous value of `header-line-format'.
(defvar ruler-mode-header-line-format-old nil (#$ . 15097))
#@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 (#$ . 15209))
#@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)) (#$ . 15395))
#@89 Non-nil if Ruler mode is enabled.
Use the command `ruler-mode' to change this variable.
(defvar ruler-mode nil (#$ . 15602))
(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 (#$ . 15775)])
#@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!\203{\306 \203h\306 \232\203{\332\333\334\n\203u\335\202v\336#\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 " in current buffer" message "Ruler mode %sabled%s" "en" "dis" local] 6 (#$ . 16169) (list (or current-prefix-arg 'toggle))])
(defvar ruler-mode-hook nil)
(byte-code "\302\303N\204\f\304\302\303\305#\210\306\307\310\310\211%\210\311	\312\313#\207" [ruler-mode-map mode-line-mode-menu ruler-mode-hook variable-documentation put "Hook run after entering or leaving `ruler-mode'.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" 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" (#$ . 17765))
#@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" (#$ . 17985))
#@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" (#$ . 18220))
#@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" (#$ . 18430))
#@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" (#$ . 18587))
#@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" (#$ . 18753))
#@53 Help string shown when mouse is over a margin area.
(defconst ruler-mode-margin-help-echo "%s margin %S" (#$ . 18938))
#@53 Help string shown when mouse is over a fringe area.
(defconst ruler-mode-fringe-help-echo "%s fringe %S" (#$ . 19063))
#@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 (#$ . 19189)])
(put 'ruler-mode-space 'byte-optimizer 'byte-compile-inline-expand)
#@41 Compute and return a header line ruler.
(defalias 'ruler-mode-ruler #[nil "\306 \307 \310 \203\311\312\313!!\202\314\315 \316\317\320\321\322:\323\n@\206(\314#F;<\324\325\326\327\330\331<E;%*=\332\317\320\321\322:\333\nA@\206L\314#F;<\324\325\326\327\330\331<E;%*>\334\317\335\321\322?\323	@\206o\314#F;<\324\325\326\327\330\331<E;%*@\336\317\335\321\322?\333	A\206\222\314#F;<\324\325\326\327\330\331<E;%*A\337\317\340D;<\324\325\326\327\330\331<E;%*B\341 @C\325\342\203\345\311\312\313!!D\343D\344\"\211E\343DZF\"P*\202\352\343F\"!\317\345\346G\321H\203\373I\202J\203K\202L&M\347\211NO\fW\203@\350
\351\"\314U\203Y\352
\351\245!\211OG\fN\353\f\211T\317\354M%\210	\314V\203iN\314Y\203iMNO	S\211HI\210NSN\2027\350
\355\"\314U\203iM\fPI\210
iU\203\203M\fQI\210\353\f\211T\317\356M%\210\2027J\203\270
JU\203\270M\fRI\210\353\f\211T\317\357M%\210\353\f\211T\360\361M%\210\353\f\211T\321SM%\210\2027
TU\203\350M\fUI\210\353\f\211T\317\362M%\210\353\f\211T\360\361M%\210\353\f\211T\321VM%\210\2027
WU\203M\fXI\210\353\f\211T\317\363M%\210\353\f\211T\360\361M%\210\353\f\211T\321YM%\210\2027H\2037
\364
S!U\2037M\fZI\210\353\f\211T\317\365M%\210\fT
T\202\366\310 8\203i\367C\370=\205QB=@MA>C\371=\205dB\257\202\210\367C\370=\205sB@=M>AC\371=\205\206B\257.\207" [w m f display-line-numbers i j ruler-mode-text-scaled-window-width window-margins window-fringes round line-number-display-width columns 0 ruler-mode-text-scaled-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 32 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 ruler-mode-fringe-help-echo props width lf rf ruler-mode-margin-help-echo lm rm sb sbvt lndw s 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 (#$ . 19559)])
(provide 'ruler-mode)