Edit file File name : register.elc Content :;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&