File: //kunden/usr/share/emacs/27.1/lisp/register.elc
;ELC
;;; Compiled
;;; in Emacs version 27.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.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
#@68 compiler-macro for inlining `registerv-p'.
(fn CL-WHOLE-ARG CL-X)
(defalias 'registerv-p--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block registerv-p (and (memq (type-of cl-x) cl-struct-registerv-tags) t)) nil] 9 (#$ . 408)])
(put 'registerv-p 'compiler-macro 'registerv-p--cmacro)
#@13
(fn CL-X)
(defalias 'registerv-p #[257 "\301!>\205 \302\207" [cl-struct-registerv-tags type-of t] 3 (#$ . 735)])
(byte-code "\300\301\302\303#\304\305\306\301#\207" [function-put registerv-p side-effect-free error-free put registerv cl-deftype-satisfies] 5)
#@71 compiler-macro for inlining `registerv-data'.
(fn CL-WHOLE-ARG CL-X)
(defalias 'registerv-data--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block registerv-data (progn (or (registerv-p cl-x) (signal 'wrong-type-argument (list 'registerv cl-x))) (aref cl-x 1))) nil] 9 (#$ . 1004)])
(put 'registerv-data 'compiler-macro 'registerv-data--cmacro)
#@59 Access slot "data" of `registerv' struct CL-X.
(fn CL-X)
(defalias 'registerv-data #[257 "\301!>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-registerv-tags type-of signal wrong-type-argument registerv 1] 5 (#$ . 1391)])
(byte-code "\300\301\302\303#\300\301\304\305#\300\207" [function-put registerv-data side-effect-free t gv-expander #[514 "\300\301\302\"\207" [error "%s is a read-only slot" registerv-data] 5 "\n\n(fn CL-DO CL-X)"]] 5)
#@77 compiler-macro for inlining `registerv-print-func'.
(fn CL-WHOLE-ARG CL-X)
(defalias 'registerv-print-func--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block registerv-print-func (progn (or (registerv-p cl-x) (signal 'wrong-type-argument (list 'registerv cl-x))) (aref cl-x 2))) nil] 9 (#$ . 1847)])
(put 'registerv-print-func 'compiler-macro 'registerv-print-func--cmacro)
#@65 Access slot "print-func" of `registerv' struct CL-X.
(fn CL-X)
(defalias 'registerv-print-func #[257 "\301!>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-registerv-tags type-of signal wrong-type-argument registerv 2] 5 (#$ . 2264)])
(byte-code "\300\301\302\303#\300\301\304\305#\300\207" [function-put registerv-print-func side-effect-free t gv-expander #[514 "\300\301\302\"\207" [error "%s is a read-only slot" registerv-print-func] 5 "\n\n(fn CL-DO CL-X)"]] 5)
#@76 compiler-macro for inlining `registerv-jump-func'.
(fn CL-WHOLE-ARG CL-X)
(defalias 'registerv-jump-func--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block registerv-jump-func (progn (or (registerv-p cl-x) (signal 'wrong-type-argument (list 'registerv cl-x))) (aref cl-x 3))) nil] 9 (#$ . 2744)])
(put 'registerv-jump-func 'compiler-macro 'registerv-jump-func--cmacro)
#@64 Access slot "jump-func" of `registerv' struct CL-X.
(fn CL-X)
(defalias 'registerv-jump-func #[257 "\301!>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-registerv-tags type-of signal wrong-type-argument registerv 3] 5 (#$ . 3156)])
(byte-code "\300\301\302\303#\300\301\304\305#\300\207" [function-put registerv-jump-func side-effect-free t gv-expander #[514 "\300\301\302\"\207" [error "%s is a read-only slot" registerv-jump-func] 5 "\n\n(fn CL-DO CL-X)"]] 5)
#@78 compiler-macro for inlining `registerv-insert-func'.
(fn CL-WHOLE-ARG CL-X)
(defalias 'registerv-insert-func--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block registerv-insert-func (progn (or (registerv-p cl-x) (signal 'wrong-type-argument (list 'registerv cl-x))) (aref cl-x 4))) nil] 9 (#$ . 3632)])
(put 'registerv-insert-func 'compiler-macro 'registerv-insert-func--cmacro)
#@66 Access slot "insert-func" of `registerv' struct CL-X.
(fn CL-X)
(defalias 'registerv-insert-func #[257 "\301!>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-registerv-tags type-of signal wrong-type-argument registerv 4] 5 (#$ . 4054)])
(byte-code "\300\301\302\303#\300\301\304\305#\300\207" [function-put registerv-insert-func side-effect-free t gv-expander #[514 "\300\301\302\"\207" [error "%s is a read-only slot" registerv-insert-func] 5 "\n\n(fn CL-DO CL-X)"]] 5)
#@115 compiler-macro for inlining `registerv--make'.
(fn CL-WHOLE-ARG &optional DATA PRINT-FUNC JUMP-FUNC INSERT-FUNC)
(defalias 'registerv--make--cmacro #[1281 "\300\301\302\303\211\211 & \207" [cl--defsubst-expand (data print-func jump-func insert-func) (cl-block registerv--make (record 'registerv data print-func jump-func insert-func)) nil] 15 (#$ . 4539)])
(put 'registerv--make 'compiler-macro 'registerv--make--cmacro)
#@100 Constructor for objects of type `registerv'.
(fn &optional DATA PRINT-FUNC JUMP-FUNC INSERT-FUNC)
(defalias 'registerv--make #[1024 "\300\301%\207" [record registerv] 10 (#$ . 4975)])
(byte-code "\300\301\302\303#\304\305\306\307\310\306\311\312\305\303& \207" [function-put registerv--make side-effect-free t cl-struct-define registerv nil cl-structure-object record ((cl-tag-slot) (data nil :read-only t) (print-func nil :read-only t) (jump-func nil :read-only t) (insert-func nil :read-only t)) cl-struct-registerv-tags] 11)
#@539 Create a register value object.
DATA can be any value.
PRINT-FUNC if provided controls how `list-registers' and
`view-register' print the register. It should be a function
receiving one argument DATA and print text that completes
this sentence:
Register X contains [TEXT PRINTED BY PRINT-FUNC]
JUMP-FUNC if provided, controls how `jump-to-register' jumps to the register.
INSERT-FUNC if provided, controls how `insert-register' insert the register.
They both receive DATA as argument.
(fn DATA &key PRINT-FUNC JUMP-FUNC INSERT-FUNC)
(defalias 'registerv-make #[385 "\300\301\"A@\300\302\"A@\300\303\"A@\211\203= \211@\304>\203&