;ELC   
;;; Compiled
;;; in Emacs version 28.2
;;; with all optimizations.



(byte-code "\300\301\302\303\304\305\306\307&\210\310\301\311\312#\210\313\314\315\316\317DD\320\321\322%\210\313\323\315\316\324DD\325\321\326%\207" [custom-declare-group vcursor nil "Manipulate an alternative (\"virtual\") cursor." :prefix "vcursor-" :group convenience custom-declare-face ((((class color)) (:foreground "blue" :background "cyan" :underline t)) (t (:inverse-video t :underline t))) "Face for the virtual cursor." custom-declare-variable vcursor-auto-disable funcall function #[0 "\300\207" [nil] 1 #1=""] "If non-nil, disable the virtual cursor after use.\nAny non-vcursor command will force `vcursor-disable' to be called.\nIf non-nil but not t, just make sure copying is toggled off, but don't\ndisable the vcursor." :type (choice (const t) (const nil) (const copy)) vcursor-modifiers #[0 "\300\301D\207" [control shift] 2 #1#] "A list of modifiers that are used to define vcursor key bindings." (repeat symbol)] 8)
#@28 

(fn BASE &optional META)
(defalias 'vcursor-cs-binding #[513 "\301\302\303!C\"\203 \304B\202 \211\262!\207" [vcursor-modifiers vector append intern meta] 7 (#$ . 1022)])
#@213 Alter the value of the variable VAR to VALUE, binding keys as required.
VAR is usually `vcursor-key-bindings'.  Normally this function is called
on loading vcursor and from the customize package.

(fn VAR VALUE)
(defalias 'vcursor-bind-keys #[514 "L\210\211?\206v\211\300=\204 \211\301=\203\216 \302\303!\203\216 \304\305\306\"\210\304\307\310\"\210\304\311\312\"\210\304\313\314\"\210\304\315\316\"\210\304\317\320\"\210\304\321\322\"\210\304\323\324\"\210\304\325\326\"\210\304\327\330\"\210\304\331\332\"\210\304\333\334\"\210\304\335\336\"\210\304\337\340\"\210\304\341\342\"\210\304\343\344\"\210\304\345\346\"\210\304\347\350\"\210\304\351\352\"\210\304\353\354\"\210\304\355\356\"\210\304\357\360\"\210\304\361\362\"\207\304\363\364!\330\"\210\304\363\365!\332\"\210\304\363\366!\326\"\210\304\363\367!\334\"\210\304\363\370!\316\"\210\304\363\371!\310\"\210\304\363\372!\312\"\210\304\363\373!\312\"\210\304\363\374!\306\"\210\304\363\375!\306\"\210\304\363\376!\346\"\210\304\363\364\301\"\346\"\210\304\363\377!\354\"\210\304\363\365\301\"\354\"\210\304\363\201@ !\350\"\210\304\363\201A !\352\"\210\304\363\201B !\320\"\210\304\363\201C !\322\"\210\304\363\201D !\324\"\210\304\363\374\301\"\324\"\210\304\363\201E !\356\"\210\304\363\201F !\356\"\210\304\363\366\301\"\336\"\210\304\363\367\301\"\344\"\210\304\363\201@ \301\"\340\"\210\304\363\201A \301\"\342\"\210\304\363\370\301\"\314\"\210\304\363\201G !\360\"\210\304\363\201H !\362\"\207" [oemacs t fboundp oemacs-version global-set-key [C-f1] vcursor-toggle-copy [C-f2] vcursor-copy [C-f3] vcursor-copy-word [C-f4] vcursor-copy-line [S-f1] vcursor-disable [S-f2] vcursor-other-window [S-f3] vcursor-goto [S-f4] vcursor-swap-point [C-f5] vcursor-backward-char [C-f6] vcursor-previous-line [C-f7] vcursor-next-line [C-f8] vcursor-forward-char [M-f5] vcursor-beginning-of-line [M-f6] vcursor-backward-word [M-f6] vcursor-forward-word [M-f8] vcursor-end-of-line [S-f5] vcursor-beginning-of-buffer [S-f6] vcursor-scroll-down [S-f7] vcursor-scroll-up [S-f8] vcursor-end-of-buffer [C-f9] vcursor-isearch-forward [S-f9] vcursor-execute-key [S-f10] vcursor-execute-command vcursor-cs-binding "up" "down" "left" "right" "return" "insert" "delete" "remove" "tab" "backtab" "home" "end" "prior" "next" "f6" "f7" "select" "find" "f8" "f9" "f10"] 6 (#$ . 1208)])
(byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313&	\210\300\314\302\303\315DD\316\306\317\312\313&\210\300\320\302\303\321DD\322\306\323\312\313&\207" [custom-declare-variable vcursor-key-bindings funcall function #[0 "\300\207" [nil] 1 #1=""] "How to bind keys when vcursor is loaded.\nIf t, guess; if `xterm', use bindings suitable for an X terminal; if\n`oemacs', use bindings which work on a PC with Oemacs.  If nil, don't\ndefine any key bindings.\n\nDefault is nil." :type (choice (const t) (const nil) (const xterm) (const oemacs)) :set vcursor-bind-keys :version "20.3" vcursor-interpret-input #[0 "\300\207" [nil] 1 #1#] "If non-nil, input from the vcursor is treated as interactive input.\nThis will cause text insertion to be much slower.  Note that no special\ninterpretation of strings is done: \"\" is a string of four\ncharacters.  The default is simply to copy strings." boolean vcursor-string #[0 "\300\207" ["**>"] 1 #1#] "String used to show the vcursor position on dumb terminals." string] 10)
#@67 Overlay for the virtual cursor.
It is nil if that is not enabled.
(defvar vcursor-overlay nil (#$ . 4567))
#@112 Last window to have displayed the virtual cursor.
See the function `vcursor-find-window' for how this is used.
(defvar vcursor-window nil (#$ . 4681))
#@186 Non-nil if last command was a vcursor command.
The commands `vcursor-copy', `vcursor-relative-move' and the ones for
scrolling set this.  It is used by the `vcursor-auto-disable' code.
(defvar vcursor-last-command nil (#$ . 4839))
(byte-code "\300\301\302\303\304DD\305\306\307%\207" [custom-declare-variable vcursor-copy-flag funcall function #[0 "\300\207" [nil] 1 ""] "Non-nil means moving vcursor should copy characters moved over to point." :type boolean] 6)
#@63 Keeps track of temporary goal columns for the virtual cursor.
(defvar vcursor-temp-goal-column nil (#$ . 5309))
#@29 Keymap for vcursor command.
(defvar vcursor-map (byte-code "\300 \301\302\303#\210\301\304\305#\210\301\306\307#\210\301\310\311#\210\301\312\313#\210\301\314\315#\210\301\316\317#\210\301\320\321#\210\301\322\323#\210\301\324\325#\210\301\326\327#\210\301\330\331#\210\301\332\333#\210\301\334\335#\210\301\336\337#\210\301\340\341#\210\301\342\343#\210\301\344\345#\210\301\346\347#\210\301\350\351#\210\301\352\353#\210\301\354\355#\210\301\356\357#\210\301\360\361#\210\301\362\363#\210\301\364\365#\210\207" [make-sparse-keymap define-key "t" vcursor-use-vcursor-map "" vcursor-previous-line "" vcursor-next-line "" vcursor-backward-char "" vcursor-forward-char "" vcursor-disable " " vcursor-copy "" vcursor-copy-word "	" vcursor-toggle-copy "<" vcursor-beginning-of-buffer ">" vcursor-end-of-buffer "\366" vcursor-scroll-down "" vcursor-scroll-up "o" vcursor-other-window "g" vcursor-goto "x" vcursor-swap-point "" vcursor-isearch-forward "" vcursor-isearch-backward "" vcursor-beginning-of-line "" vcursor-end-of-line "\367" vcursor-forward-word "\342" vcursor-backward-word "\354" vcursor-copy-line "c" vcursor-compare-windows "k" vcursor-execute-key "\370" vcursor-execute-command] 5) (#$ . 5427))
(byte-code "\300M\210	\203 \302\301	\"\210\300\207" [vcursor-map vcursor-key-bindings vcursor-bind-keys] 3)
#@107 Go to the starting point of the virtual cursor.
If that's disabled, don't go anywhere but don't complain.
(defalias 'vcursor-locate #[0 "\301!\205 \302!\205 \302!q\205 \303!b\207" [vcursor-overlay overlayp overlay-buffer overlay-start] 2 (#$ . 6789)])
#@773 Return a suitable window for displaying the virtual cursor.
This is the first window in cyclic order where the vcursor is visible.

With optional NOT-THIS non-nil never return the current window.

With NEW-WIN non-nil, display the virtual cursor buffer in another
window if the virtual cursor is not currently visible (note, however,
that this function never changes `window-point').

With THIS-FRAME non-nil, don't search other frames for a new window
(though if the vcursor is already off-frame then its current window is
always considered, and the value of `pop-up-frames' is always respected).

Returns nil if the virtual cursor is not visible anywhere suitable.
Set `vcursor-window' to the returned value as a side effect.

(fn &optional NOT-THIS NEW-WIN THIS-FRAME)
(defalias 'vcursor-find-window #[768 "\301 \302C\302C\212\303 \210\304!\203\" p\305!=\203\" \203$ =\203$ \302\203/ \306`\"\204f \307\310\311%\302?#\210\242\206e \203T =\204T \202e \211\242\206e \203d \312p\313\"\202e \302)\266\207" [vcursor-window selected-window nil vcursor-locate window-live-p window-buffer pos-visible-in-window-p walk-windows make-closure #[257 "\302\242?\2053 p\304!=\2053 \300\205 \301=?\2053 \305`\"\203$ \302\240\207\301=\2063 \303\242?\2053 \303\240\207" [V0 V1 V2 V3 window-buffer pos-visible-in-window-p] 4 "\n\n(fn WIN)"] display-buffer t] 13 (#$ . 7055)])
#@191 Toggle copying to point when the vcursor is moved.
With a prefix ARG, turn on if non-negative, off if negative.
Display a message unless optional NOMSG is non-nil.

(fn &optional ARG NOMSG)
(defalias 'vcursor-toggle-copy #[512 "\204	 ?\202 \302!\303W\203 \304\202 \305\305\211\206) \306\307\203' \310\202( \311\"\207" [vcursor-copy-flag vcursor-last-command prefix-numeric-value 0 nil t message "Copying from the vcursor is now %s." "on" "off"] 5 (#$ . 8455) "P"])
#@362 Move the virtual cursor to the character to the right of PT.
PT is an absolute location in the current buffer.  With optional
LEAVE-B, PT is in the same buffer the vcursor is currently in.

If the new virtual cursor location would not be visible, display it in
another window.  With LEAVE-W, use the current `vcursor-window'.

(fn PT &optional LEAVE-B LEAVE-W)
(defalias 'vcursor-move #[769 "\212\203 \304\305!\203 \306!q\210d=\203 S\262\304\305!\203+ \307\211Tp$\210\202L \310\211T\"	\204@ \311 \204@ \312\313\n#\210\312\314\315#\210\312\316\317#\210\211\204U \320\321\305\"\210\322\"\206` \323\")\207" [vcursor-overlay window-system vcursor-string vcursor-window vcursor-check t overlay-buffer move-overlay make-overlay display-color-p overlay-put before-string face vcursor priority 200 vcursor-find-window nil pos-visible-in-window-p set-window-point] 8 (#$ . 8936)])
#@63 Insert TEXT, respecting `vcursor-interpret-input'.

(fn TEXT)
(defalias 'vcursor-insert #[257 "\203 \302\303!	\"\211\207\211c\207" [vcursor-interpret-input unread-command-events append listify-key-sequence] 4 (#$ . 9833)])
#@148 Call FUNC with arbitrary ARGS ... to move the virtual cursor.

This is called by most of the virtual-cursor motion commands.

(fn FUNC &rest ARGS)
(defalias 'vcursor-relative-move #[385 "\302\211\212\303 \210`\262\304\"\210\211d=\203 \211`=\203 \305\306\302\"\210\307`!\210\203, \211`{\262)\2035 \310!\210\266\311\211\207" [vcursor-copy-flag vcursor-last-command nil vcursor-locate apply signal end-of-buffer vcursor-move vcursor-insert t] 7 (#$ . 10067)])
#@225 Move the real cursor to the virtual cursor position.
If the virtual cursor is (or was recently) visible in another window,
switch to that first.  Without a prefix ARG, disable the virtual
cursor as well.

(fn &optional ARG)
(defalias 'vcursor-goto #[256 "\302 \203	 \303!\210	\205 \304	!\211\203 p=\204 \305!\210\210\306 \210\211\206( \307 \207" [vcursor-window vcursor-overlay vcursor-find-window select-window overlay-buffer switch-to-buffer vcursor-locate vcursor-disable] 4 (#$ . 10542) "P"])
#@254 Swap the location of point and that of the virtual cursor.

The virtual cursor window becomes the selected window and the old
window becomes the virtual cursor window.  If the virtual cursor would
not be visible otherwise, display it in another window.
(defalias 'vcursor-swap-point #[0 "p`\301 \302 \210rq\210\211\303!)\207" [vcursor-window selected-window vcursor-goto vcursor-move] 5 (#$ . 11052) nil])
#@143 Scroll up the vcursor window ARG lines or near full screen if none.
The vcursor will always appear in an unselected window.

(fn &optional N)
(defalias 'vcursor-scroll-up #[256 "\300\301\"\207" [vcursor-window-funcall scroll-up] 4 (#$ . 11468) "P"])
#@145 Scroll down the vcursor window ARG lines or near full screen if none.
The vcursor will always appear in an unselected window.

(fn &optional N)
(defalias 'vcursor-scroll-down #[256 "\300\301\"\207" [vcursor-window-funcall scroll-down] 4 (#$ . 11726) "P"])
#@187 Perform forward incremental search in the virtual cursor window.
The virtual cursor is moved to the resulting point; the ordinary
cursor stays where it was.

(fn &optional REP NORECURS)
(defalias 'vcursor-isearch-forward #[512 "\300\301#\207" [vcursor-window-funcall isearch-forward] 6 (#$ . 11990) "P"])
#@188 Perform backward incremental search in the virtual cursor window.
The virtual cursor is moved to the resulting point; the ordinary
cursor stays where it was.

(fn &optional REP NORECURS)
(defalias 'vcursor-isearch-backward #[512 "\300\301#\207" [vcursor-window-funcall isearch-backward] 6 (#$ . 12304) "P"])
#@389 Call FUNC with ARGS ... in a virtual cursor window.
A window other than the currently-selected one will always be used.
The virtual cursor is moved to the value of point when the function
returns.

If FUNC is a list, call the car of the list interactively, ignoring
ARGS.  In this case, a new window will not be created if the vcursor
is visible in the current one.

(fn FUNC &rest ARGS)
(defalias 'vcursor-window-funcall #[385 "\304<\205	 \305\306!?\306\"\210\212\307 \310\311\312\"\216`\313!\210\314 \210<\203+ \315@!\210\2020 \316\"\210\307 	\203D p\317\n!=\203D \211`{\262\320`\310\306#\266)\211\203T \321!\210\266)\306\211\207" [vcursor-window vcursor-copy-flag vcursor-overlay vcursor-last-command vcursor-find-window vcursor-check t selected-window nil make-closure #[0 "\301\300!\207" [V0 select-window] 2] select-window vcursor-locate call-interactively apply overlay-buffer vcursor-move vcursor-insert] 9 (#$ . 12621)])
#@261 Apply FUNC to ARGS ... and return the number of characters moved.
Point is temporarily set to the virtual cursor position before FUNC
is called.

This is called by most of the virtual-cursor copying commands to find
out how much to copy.

(fn FUNC &rest ARGS)
(defalias 'vcursor-get-char-count #[385 "\301 \210r\302!q\210\303!b\304\"\210`Z\262)\207" [vcursor-overlay vcursor-check overlay-buffer overlay-start apply] 6 (#$ . 13571)])
#@22 

(fn &optional ARG)
(defalias 'vcursor-check #[256 "\301!\203 \302!\203 \303\207\211\203 \304\207\305\306!\207" [vcursor-overlay overlayp overlay-start t nil error "The virtual cursor is not active now"] 3 (#$ . 14017)])
#@120 Non-nil if Vcursor-Use-Vcursor-Map mode is enabled.
Use the command `vcursor-use-vcursor-map' to change this variable.
(defvar vcursor-use-vcursor-map nil (#$ . 14251))
(make-variable-buffer-local 'vcursor-use-vcursor-map)
#@900 Toggle the state of the vcursor key map.

This is a minor mode.  If called interactively, toggle the
`Vcursor-Use-Vcursor-Map mode' mode.  If the prefix argument is
positive, enable the mode, and if it is zero or negative, disable the
mode.

If called from Lisp, toggle the mode if ARG is `toggle'.  Enable the
mode if ARG is nil, omitted, or is a positive number.  Disable the
mode if ARG is a negative number.

To check whether the minor mode is enabled in the current buffer,
evaluate `vcursor-use-vcursor-map'.

The mode's hook is called both when the mode is enabled and when it is
disabled.

When on, the keys defined in it are mapped directly on top of the main
keymap, allowing you to move the vcursor with ordinary motion keys.
An indication "!VC" appears in the mode list.  The effect is
local to the current buffer.
Disabling the vcursor automatically turns this off.

(fn &optional ARG)
(defalias 'vcursor-use-vcursor-map #[256 "\302 \303=\203 ?\202 \247\203 \304W\203 \305\202 \306\307\301!\2031 \310\300	\"\2031 \300	B\311\312\203; \313\202< \314\"\210\315\316!\203^ \302 \203P \211\302 \232\203^ \317\320\203Z \321\202[ \322\323#\210\210\324 \210\207" [vcursor-use-vcursor-map local-minor-modes current-message toggle 1 nil t boundp delq run-hooks vcursor-use-vcursor-map-hook vcursor-use-vcursor-map-on-hook vcursor-use-vcursor-map-off-hook called-interactively-p any message "Vcursor-Use-Vcursor-Map mode %sabled%s" "en" "dis" " in current buffer" force-mode-line-update] 6 (#$ . 14481) (byte-code "\203\n \301!\202 \302C\207" [current-prefix-arg prefix-numeric-value toggle] 2)])
(defvar vcursor-use-vcursor-map-hook nil)
(byte-code "\301\302N\204\f \303\301\302\304#\210\303\301\305\306#\210\303\301\307\310C#\210\311\312\313\310\211%\207" [vcursor-map vcursor-use-vcursor-map-hook variable-documentation put "Hook run after entering or leaving `vcursor-use-vcursor-map'.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" custom-type hook standard-value nil add-minor-mode vcursor-use-vcursor-map " !VC"] 6)
#@517 Disable the virtual cursor.
Next time you use it, it will start from point.

With a positive prefix ARG, the first window in cyclic order
displaying the virtual cursor (or which was recently displaying the
virtual cursor) will be deleted unless it's the selected window.

With a negative prefix argument, enable the virtual cursor: make it
active at the same point as the real cursor.

Copying mode is always turned off: the next use of the vcursor will
not copy text until you turn it on again.

(fn &optional ARG)
(defalias 'vcursor-disable #[256 "\304!\203\f \305!\210\306\307\310!\203\" \211\203\" \311!\312W\204\" \313	!\210\211\2038 \311!\312W\2038 \314`!\210\315 \202@ \n\203@ \302\312!\210\306\211\207" [vcursor-overlay vcursor-window vcursor-use-vcursor-map vcursor-copy-flag overlayp delete-overlay nil vcursor-find-window t prefix-numeric-value 0 delete-window vcursor-move selected-window] 3 (#$ . 16613) "P"])
#@399 Activate the virtual cursor in another window.
This is the next window cyclically after one currently showing the
virtual cursor, or else after the current selected window.  If there
is no other window, the current window is split.

Arguments N and optional ALL-FRAMES are the same as with `other-window'.
ALL-FRAMES is also used to decide whether to split the window.

(fn N &optional ALL-FRAMES)
(defalias 'vcursor-other-window #[513 "\300\301!\203\f \302\303!\202 \302\303\"\203 \304p\305\"\210\212\306 \307\310\"\216\311\303\211?#\211\203. \312!\210\313\"\210\314\315!\262)\262)\207" [fboundp oemacs-version one-window-p nil display-buffer t current-window-configuration make-closure #[0 "\301\300!\207" [V0 set-window-configuration] 2] vcursor-find-window select-window other-window vcursor-disable -1] 7 (#$ . 17550) "p"])
#@471 Compare text in current window with text in window with vcursor.
Compares the text starting at point in the current window and at the
vcursor position in the other window, moving over text in each one as
far as they match.

A prefix argument, if any, means ignore changes in whitespace.
The variable `compare-windows-whitespace' controls how whitespace is skipped.
If `compare-ignore-case' is non-nil, changes in case are also ignored.

(fn &optional IGNORE-WHITESPACE)
(defalias 'vcursor-compare-windows #[256 "\303\304!\210\305\211\211\211\211\211\211\211`\305\n\205 `\262p\262\306\307\211\"\262\310 =\204+ \204/ \311\312!\210\212\313 \210`\262\np\262)	\262d\262	rq\210d\262)\307\262\203\305\262\nb\210\314\n\307\"\210\211\203\264 \212\305\211\211\211;\203r \315!\202v !\262`\262	q\210b\210;\203\217 \315!\202\223 !\262`\262;\204\253 \203\261 \211\203\261 =\203\261 \262\262\266)\316\305	\317V\203\307\262\211\203Z^\nZ^\262\317V\205\360 \320\\\f\\&\317U\262\211\203\301 \f\\\262\\\262\f\307\262\202\301 \321\245\262\202\270 )\266\202L \nb\210\314\n\307\"\210`U\205(\322 \207" [compare-windows-whitespace compare-ignore-case case-fold-search require compare-w nil vcursor-find-window t selected-window error "No other window with vcursor" vcursor-locate vcursor-move compare-windows-skip-whitespace 1000 0 compare-buffer-substrings 2 ding] 22 (#$ . 18396) "P"])
#@54 Move the virtual cursor forward ARG lines.

(fn ARG)
(defalias 'vcursor-next-line #[257 "\306\211\211\212\307 \210	\310=\204 	\311=\203 \312\n\2022 \2031 l\2031 n\203- 	\313=\2031 \314\2022 i`\262\315!\210d=\203K `=\203K \316\317\306\"\210\f\203T `{\262\320`!\210\321)\211\205d \322!)\207" [temporary-goal-column last-command vcursor-temp-goal-column track-eol vcursor-copy-flag vcursor-last-command nil vcursor-locate vcursor-next-line vcursor-previous-line next-line end-of-line 9999 line-move signal end-of-buffer vcursor-move t vcursor-insert] 7 (#$ . 19860) "p"])
#@51 Move the virtual cursor back ARG lines.

(fn ARG)
(defalias 'vcursor-previous-line #[257 "\300[!\207" [vcursor-next-line] 3 (#$ . 20452) "p"])
#@59 Move the virtual cursor forward ARG characters.

(fn ARG)
(defalias 'vcursor-forward-char #[257 "\300\301\"\207" [vcursor-relative-move forward-char] 4 (#$ . 20602) "p"])
#@60 Move the virtual cursor backward ARG characters.

(fn ARG)
(defalias 'vcursor-backward-char #[257 "\300\301\"\207" [vcursor-relative-move backward-char] 4 (#$ . 20780) "p"])
#@54 Move the virtual cursor forward ARG words.

(fn ARG)
(defalias 'vcursor-forward-word #[257 "\300\301\"\207" [vcursor-relative-move forward-word] 4 (#$ . 20961) "p"])
#@55 Move the virtual cursor backward ARG words.

(fn ARG)
(defalias 'vcursor-backward-word #[257 "\300\301\"\207" [vcursor-relative-move backward-word] 4 (#$ . 21134) "p"])
#@104 Move the virtual cursor to beginning of its current line.
ARG is as for `beginning-of-line'.

(fn ARG)
(defalias 'vcursor-beginning-of-line #[257 "\300\301\205	 \302!\"\207" [vcursor-relative-move beginning-of-line prefix-numeric-value] 5 (#$ . 21311) "P"])
#@92 Move the virtual cursor to end of its current line.
ARG is as for `end-of-line'.

(fn ARG)
(defalias 'vcursor-end-of-line #[257 "\300\301\205	 \302!\"\207" [vcursor-relative-move end-of-line prefix-numeric-value] 5 (#$ . 21577) "P"])
#@114 Move the virtual cursor to the beginning of its buffer.
ARG is as for `beginning-of-buffer'.

(fn &optional ARG)
(defalias 'vcursor-beginning-of-buffer #[256 "\300\301\205	 \302!\"\207" [vcursor-relative-move #[257 "\211\203 \211deZ_\300\245\202 eb\207" [10] 4 "\n\n(fn ARG)"] prefix-numeric-value] 5 (#$ . 21820) "P"])
#@194 Move the virtual cursor to the end of its buffer.
ARG is as for `end-of-buffer'.

Actually, the vcursor is moved to the second from last character or it
would be invisible.

(fn &optional ARG)
(defalias 'vcursor-end-of-buffer #[256 "\300\301\205	 \302!\"\207" [vcursor-relative-move #[257 "\211\203 ddeZ_\300\245Z\202 db\207" [10] 5 "\n\n(fn ARG)"] prefix-numeric-value] 5 (#$ . 22151) "P"])
#@145 Execute COMMAND for the virtual cursor.
COMMAND is called interactively.  Not all commands (in fact, only a
small subset) are useful.

(fn CMD)
(defalias 'vcursor-execute-command #[257 "\300C!\207" [vcursor-window-funcall] 3 (#$ . 22555) "CCommand: "])
#@205 Read a key sequence and execute the bound command for the virtual cursor.
The key sequence is read at the vcursor location.  The command found
is called interactively, so prefix argument etc. are usable.
(defalias 'vcursor-execute-key #[0 "\301\212\302\303\304!?\304\"\210\305 \306\307\"\216\310!\210\311 \210\312\313\314!!\262)\210)\315C!\207" [vcursor-window nil vcursor-find-window vcursor-check t current-window-configuration make-closure #[0 "\301\300!\207" [V0 set-window-configuration] 2] select-window vcursor-locate key-binding read-key-sequence "Key sequence: " vcursor-window-funcall] 5 (#$ . 22816) nil])
#@74 Copy ARG characters from the virtual cursor position to point.

(fn ARG)
(defalias 'vcursor-copy #[257 "\302 \210\303r\304!q\210\305!\211\\{\306!\210\266\202)!\210\307\211\207" [vcursor-overlay vcursor-last-command vcursor-check vcursor-insert overlay-buffer overlay-start vcursor-move t] 7 (#$ . 23443) "p"])
#@69 Copy ARG words from the virtual cursor position to point.

(fn ARG)
(defalias 'vcursor-copy-word #[257 "\300\301\302\"!\207" [vcursor-copy vcursor-get-char-count forward-word] 5 (#$ . 23766) "p"])
#@299 Copy up to ARGth line after virtual cursor position.
With no argument, copy to the end of the current line.

Behavior with regard to newlines is similar (but not identical) to
`kill-line'; the main difference is that whitespace at the end of the
line is treated like ordinary characters.

(fn ARG)
(defalias 'vcursor-copy-line #[257 "\300!\301\302\"\303\304U\204 \203 T\202 !\207" [prefix-numeric-value vcursor-get-char-count end-of-line vcursor-copy 0] 6 (#$ . 23971) "P"])
(defalias 'vcursor-post-command #[0 "\203 	\204 \n\203 \303=\203 \304 \210\202 \305\306\303\"\210\307\211\207" [vcursor-auto-disable vcursor-last-command vcursor-overlay t vcursor-disable vcursor-toggle-copy -1 nil] 3])
(byte-code "\300\301\302\"\210\303\304!\207" [add-hook post-command-hook vcursor-post-command provide vcursor] 3)
