;ELC ;;; Compiled ;;; in Emacs version 28.0.50 ;;; with all optimizations. #@45 compiler-macro for inlining `ctbl:model-p'. (defalias 'ctbl:model-p--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block ctbl:model-p (and (memq (type-of cl-x) cl-struct-ctbl:model-tags) t)) nil] 7 (#$ . 87)]) (put 'ctbl:model-p 'compiler-macro 'ctbl:model-p--cmacro) (defalias 'ctbl:model-p #[(cl-x) "\302! >\205 \303\207" [cl-x cl-struct-ctbl:model-tags type-of t] 2]) (byte-code "\300\301\302\303#\304\305\306\301#\207" [function-put ctbl:model-p side-effect-free error-free put ctbl:model cl-deftype-satisfies] 5) #@48 compiler-macro for inlining `ctbl:model-data'. (defalias 'ctbl:model-data--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block ctbl:model-data (progn (or (ctbl:model-p cl-x) (signal 'wrong-type-argument (list 'ctbl:model cl-x))) (aref cl-x 1))) nil] 7 (#$ . 668)]) (put 'ctbl:model-data 'compiler-macro 'ctbl:model-data--cmacro) #@49 Access slot "data" of `ctbl:model' struct CL-X. (defalias 'ctbl:model-data #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-ctbl:model-tags type-of signal wrong-type-argument ctbl:model 1] 4 (#$ . 1058)]) (byte-code "\300\301\302\303#\300\207" [function-put ctbl:model-data side-effect-free t] 4) #@56 compiler-macro for inlining `ctbl:model-column-model'. (defalias 'ctbl:model-column-model--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block ctbl:model-column-model (progn (or (ctbl:model-p cl-x) (signal 'wrong-type-argument (list 'ctbl:model cl-x))) (aref cl-x 2))) nil] 7 (#$ . 1384)]) (put 'ctbl:model-column-model 'compiler-macro 'ctbl:model-column-model--cmacro) #@57 Access slot "column-model" of `ctbl:model' struct CL-X. (defalias 'ctbl:model-column-model #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-ctbl:model-tags type-of signal wrong-type-argument ctbl:model 2] 4 (#$ . 1815)]) (byte-code "\300\301\302\303#\300\207" [function-put ctbl:model-column-model side-effect-free t] 4) #@54 compiler-macro for inlining `ctbl:model-sort-state'. (defalias 'ctbl:model-sort-state--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block ctbl:model-sort-state (progn (or (ctbl:model-p cl-x) (signal 'wrong-type-argument (list 'ctbl:model cl-x))) (aref cl-x 3))) nil] 7 (#$ . 2165)]) (put 'ctbl:model-sort-state 'compiler-macro 'ctbl:model-sort-state--cmacro) #@55 Access slot "sort-state" of `ctbl:model' struct CL-X. (defalias 'ctbl:model-sort-state #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-ctbl:model-tags type-of signal wrong-type-argument ctbl:model 3] 4 (#$ . 2586)]) (byte-code "\300\301\302\303#\304\305\306\"\207" [function-put ctbl:model-sort-state side-effect-free t defalias copy-ctbl:model copy-sequence] 4) #@107 compiler-macro for inlining `make-ctbl:model'. (fn CL-WHOLE &cl-quote &key DATA COLUMN-MODEL SORT-STATE) (defalias 'make-ctbl:model--cmacro #[(cl-whole &rest #1=#:--cl-rest--) "\306\307\"A@\306\310\"A@\306\311\"A@\f\203A\f@\312>\203*\fAA\211\202\313>A@\2038\314\211\202\315\316\f@\"\210\202)\317\320\321\314 \314 \n &+\207" [#1# data column-model sort-state #2=#:--cl-keys-- cl-whole plist-member :data :column-model :sort-state (:data :column-model :sort-state :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:data :column-model :sort-state)" cl--defsubst-expand (data column-model sort-state) (cl-block make-ctbl:model (record 'ctbl:model data column-model sort-state))] 10 (#$ . 2980)]) (put 'make-ctbl:model 'compiler-macro 'make-ctbl:model--cmacro) #@87 Constructor for objects of type `ctbl:model'. (fn &key DATA COLUMN-MODEL SORT-STATE) (defalias 'make-ctbl:model #[(&rest #1=#:--cl-rest--) "\305\306\"A@\305\307\"A@\305\310\"A@\f\203A\f@\311>\203*\fAA\211\202\312>A@\2038\313\211\202\314\315\f@\"\210\202)\316\317 \n $+\207" [#1# data column-model sort-state #2=#:--cl-keys-- plist-member :data :column-model :sort-state (:data :column-model :sort-state :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:data :column-model :sort-state)" record ctbl:model] 6 (#$ . 3794)]) (byte-code "\300\301\302\303#\304\305\306\307\310\311\312\313\305\303& \207" [function-put make-ctbl:model side-effect-free t cl-struct-define ctbl:model "Table model structure\n\ndata : Table data as a list of rows. A row contains a list of columns.\n If an instance of `ctbl:async-model' is given, the model is built up asynchronously.\ncolumn-model : A list of column models.\nsort-state : The current sort order as a list of column indexes.\n The index number of the first column is 1.\n If the index is negative, the sort order is reversed." cl-structure-object record nil ((cl-tag-slot) (data) (column-model) (sort-state)) cl-struct-ctbl:model-tags] 11) #@51 compiler-macro for inlining `ctbl:async-model-p'. (defalias 'ctbl:async-model-p--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block ctbl:async-model-p (and (memq (type-of cl-x) cl-struct-ctbl:async-model-tags) t)) nil] 7 (#$ . 5063)]) (put 'ctbl:async-model-p 'compiler-macro 'ctbl:async-model-p--cmacro) (defalias 'ctbl:async-model-p #[(cl-x) "\302! >\205 \303\207" [cl-x cl-struct-ctbl:async-model-tags type-of t] 2]) (byte-code "\300\301\302\303#\304\305\306\301#\207" [function-put ctbl:async-model-p side-effect-free error-free put ctbl:async-model cl-deftype-satisfies] 5) #@57 compiler-macro for inlining `ctbl:async-model-request'. (defalias 'ctbl:async-model-request--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block ctbl:async-model-request (progn (or (ctbl:async-model-p cl-x) (signal 'wrong-type-argument (list 'ctbl:async-model cl-x))) (aref cl-x 1))) nil] 7 (#$ . 5706)]) (put 'ctbl:async-model-request 'compiler-macro 'ctbl:async-model-request--cmacro) #@58 Access slot "request" of `ctbl:async-model' struct CL-X. (defalias 'ctbl:async-model-request #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-ctbl:async-model-tags type-of signal wrong-type-argument ctbl:async-model 1] 4 (#$ . 6154)]) (byte-code "\300\301\302\303#\300\207" [function-put ctbl:async-model-request side-effect-free t] 4) #@58 compiler-macro for inlining `ctbl:async-model-init-num'. (defalias 'ctbl:async-model-init-num--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block ctbl:async-model-init-num (progn (or (ctbl:async-model-p cl-x) (signal 'wrong-type-argument (list 'ctbl:async-model cl-x))) (aref cl-x 2))) nil] 7 (#$ . 6519)]) (put 'ctbl:async-model-init-num 'compiler-macro 'ctbl:async-model-init-num--cmacro) #@59 Access slot "init-num" of `ctbl:async-model' struct CL-X. (defalias 'ctbl:async-model-init-num #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-ctbl:async-model-tags type-of signal wrong-type-argument ctbl:async-model 2] 4 (#$ . 6972)]) (byte-code "\300\301\302\303#\300\207" [function-put ctbl:async-model-init-num side-effect-free t] 4) #@58 compiler-macro for inlining `ctbl:async-model-more-num'. (defalias 'ctbl:async-model-more-num--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block ctbl:async-model-more-num (progn (or (ctbl:async-model-p cl-x) (signal 'wrong-type-argument (list 'ctbl:async-model cl-x))) (aref cl-x 3))) nil] 7 (#$ . 7340)]) (put 'ctbl:async-model-more-num 'compiler-macro 'ctbl:async-model-more-num--cmacro) #@59 Access slot "more-num" of `ctbl:async-model' struct CL-X. (defalias 'ctbl:async-model-more-num #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-ctbl:async-model-tags type-of signal wrong-type-argument ctbl:async-model 3] 4 (#$ . 7793)]) (byte-code "\300\301\302\303#\300\207" [function-put ctbl:async-model-more-num side-effect-free t] 4) #@55 compiler-macro for inlining `ctbl:async-model-reset'. (defalias 'ctbl:async-model-reset--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block ctbl:async-model-reset (progn (or (ctbl:async-model-p cl-x) (signal 'wrong-type-argument (list 'ctbl:async-model cl-x))) (aref cl-x 4))) nil] 7 (#$ . 8161)]) (put 'ctbl:async-model-reset 'compiler-macro 'ctbl:async-model-reset--cmacro) #@56 Access slot "reset" of `ctbl:async-model' struct CL-X. (defalias 'ctbl:async-model-reset #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-ctbl:async-model-tags type-of signal wrong-type-argument ctbl:async-model 4] 4 (#$ . 8599)]) (byte-code "\300\301\302\303#\300\207" [function-put ctbl:async-model-reset side-effect-free t] 4) #@56 compiler-macro for inlining `ctbl:async-model-cancel'. (defalias 'ctbl:async-model-cancel--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block ctbl:async-model-cancel (progn (or (ctbl:async-model-p cl-x) (signal 'wrong-type-argument (list 'ctbl:async-model cl-x))) (aref cl-x 5))) nil] 7 (#$ . 8958)]) (put 'ctbl:async-model-cancel 'compiler-macro 'ctbl:async-model-cancel--cmacro) #@57 Access slot "cancel" of `ctbl:async-model' struct CL-X. (defalias 'ctbl:async-model-cancel #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-ctbl:async-model-tags type-of signal wrong-type-argument ctbl:async-model 5] 4 (#$ . 9401)]) (byte-code "\300\301\302\303#\304\305\306\"\207" [function-put ctbl:async-model-cancel side-effect-free t defalias copy-ctbl:async-model copy-sequence] 4) #@123 compiler-macro for inlining `make-ctbl:async-model'. (fn CL-WHOLE &cl-quote &key REQUEST INIT-NUM MORE-NUM RESET CANCEL) (defalias 'make-ctbl:async-model--cmacro #[(cl-whole &rest #1=#:--cl-rest--) "\306\307\"A@\306\310\"\206\311A@\306\312\"\206\313A@\306\314\"A@\306\315\"A@\203^@\316>\203EAA\211\2020\317>A@\203T\320\211\2020\321\322@\"\210\202.)\323\324\325\320\320 \n \f &\n-\207" [#1# request init-num more-num reset cancel plist-member :request :init-num (nil 20) :more-num (nil 20) :reset :cancel (:request :init-num :more-num :reset :cancel :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:request :init-num :more-num :reset :cancel)" cl--defsubst-expand (request init-num more-num reset cancel) (cl-block make-ctbl:async-model (record 'ctbl:async-model request init-num more-num reset cancel)) #2=#:--cl-keys-- cl-whole] 12 (#$ . 9819)]) (put 'make-ctbl:async-model 'compiler-macro 'make-ctbl:async-model--cmacro) #@103 Constructor for objects of type `ctbl:async-model'. (fn &key REQUEST INIT-NUM MORE-NUM RESET CANCEL) (defalias 'make-ctbl:async-model #[(&rest #1=#:--cl-rest--) "\306\307\"A@\306\310\"\206\311A@\306\312\"\206\313A@\306\314\"A@\306\315\"A@\203^@\316>\203EAA\211\2020\317>A@\203T\320\211\2020\321\322@\"\210\202.)\323\324 \n \f &-\207" [#1# request init-num more-num reset cancel plist-member :request :init-num (nil 20) :more-num (nil 20) :reset :cancel (:request :init-num :more-num :reset :cancel :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:request :init-num :more-num :reset :cancel)" record ctbl:async-model #2=#:--cl-keys--] 8 (#$ . 10820)]) (byte-code "\300\301\302\303#\304\305\306\307\310\311\312\313\305\303& \207" [function-put make-ctbl:async-model side-effect-free t cl-struct-define ctbl:async-model "Asynchronous data model\n\nrequest : Data request function which receives 4 arguments (begin-num length fn(row-list) fe(errmsg)).\n This function should return the next data which begins with `begin-num' and has the length \n as `length', evaluating the continuation function `fn' with the data.\n If the function `fn' is given `nil', it means no more data.\n If the error function `fe' is evaluated with `errmsg', the message is displayed for the user.\ninit-num : Initial row number. (Default 20)\nmore-num : Increase row number. (Default 20)\nreset : Reset function which is called when user executes update command. (Can be nil)\ncancel : Cancel function of data requesting. (Can be nil)\n\nFor forward compatibility, these callback functions should have a `&rest' keyword at the end of argument list.\n" cl-structure-object record nil ((cl-tag-slot) (request) (init-num 20) (more-num 20) (reset) (cancel)) cl-struct-ctbl:async-model-tags] 11) #@46 compiler-macro for inlining `ctbl:cmodel-p'. (defalias 'ctbl:cmodel-p--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block ctbl:cmodel-p (and (memq (type-of cl-x) cl-struct-ctbl:cmodel-tags) t)) nil] 7 (#$ . 12708)]) (put 'ctbl:cmodel-p 'compiler-macro 'ctbl:cmodel-p--cmacro) (defalias 'ctbl:cmodel-p #[(cl-x) "\302! >\205 \303\207" [cl-x cl-struct-ctbl:cmodel-tags type-of t] 2]) (byte-code "\300\301\302\303#\304\305\306\301#\207" [function-put ctbl:cmodel-p side-effect-free error-free put ctbl:cmodel cl-deftype-satisfies] 5) #@50 compiler-macro for inlining `ctbl:cmodel-title'. (defalias 'ctbl:cmodel-title--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block ctbl:cmodel-title (progn (or (ctbl:cmodel-p cl-x) (signal 'wrong-type-argument (list 'ctbl:cmodel cl-x))) (aref cl-x 1))) nil] 7 (#$ . 13302)]) (put 'ctbl:cmodel-title 'compiler-macro 'ctbl:cmodel-title--cmacro) #@51 Access slot "title" of `ctbl:cmodel' struct CL-X. (defalias 'ctbl:cmodel-title #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-ctbl:cmodel-tags type-of signal wrong-type-argument ctbl:cmodel 1] 4 (#$ . 13706)]) (byte-code "\300\301\302\303#\300\207" [function-put ctbl:cmodel-title side-effect-free t] 4) #@51 compiler-macro for inlining `ctbl:cmodel-sorter'. (defalias 'ctbl:cmodel-sorter--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block ctbl:cmodel-sorter (progn (or (ctbl:cmodel-p cl-x) (signal 'wrong-type-argument (list 'ctbl:cmodel cl-x))) (aref cl-x 2))) nil] 7 (#$ . 14041)]) (put 'ctbl:cmodel-sorter 'compiler-macro 'ctbl:cmodel-sorter--cmacro) #@52 Access slot "sorter" of `ctbl:cmodel' struct CL-X. (defalias 'ctbl:cmodel-sorter #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-ctbl:cmodel-tags type-of signal wrong-type-argument ctbl:cmodel 2] 4 (#$ . 14450)]) (byte-code "\300\301\302\303#\300\207" [function-put ctbl:cmodel-sorter side-effect-free t] 4) #@50 compiler-macro for inlining `ctbl:cmodel-align'. (defalias 'ctbl:cmodel-align--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block ctbl:cmodel-align (progn (or (ctbl:cmodel-p cl-x) (signal 'wrong-type-argument (list 'ctbl:cmodel cl-x))) (aref cl-x 3))) nil] 7 (#$ . 14788)]) (put 'ctbl:cmodel-align 'compiler-macro 'ctbl:cmodel-align--cmacro) #@51 Access slot "align" of `ctbl:cmodel' struct CL-X. (defalias 'ctbl:cmodel-align #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-ctbl:cmodel-tags type-of signal wrong-type-argument ctbl:cmodel 3] 4 (#$ . 15192)]) (byte-code "\300\301\302\303#\300\207" [function-put ctbl:cmodel-align side-effect-free t] 4) #@54 compiler-macro for inlining `ctbl:cmodel-max-width'. (defalias 'ctbl:cmodel-max-width--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block ctbl:cmodel-max-width (progn (or (ctbl:cmodel-p cl-x) (signal 'wrong-type-argument (list 'ctbl:cmodel cl-x))) (aref cl-x 4))) nil] 7 (#$ . 15527)]) (put 'ctbl:cmodel-max-width 'compiler-macro 'ctbl:cmodel-max-width--cmacro) #@55 Access slot "max-width" of `ctbl:cmodel' struct CL-X. (defalias 'ctbl:cmodel-max-width #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-ctbl:cmodel-tags type-of signal wrong-type-argument ctbl:cmodel 4] 4 (#$ . 15951)]) (byte-code "\300\301\302\303#\300\207" [function-put ctbl:cmodel-max-width side-effect-free t] 4) #@54 compiler-macro for inlining `ctbl:cmodel-min-width'. (defalias 'ctbl:cmodel-min-width--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block ctbl:cmodel-min-width (progn (or (ctbl:cmodel-p cl-x) (signal 'wrong-type-argument (list 'ctbl:cmodel cl-x))) (aref cl-x 5))) nil] 7 (#$ . 16298)]) (put 'ctbl:cmodel-min-width 'compiler-macro 'ctbl:cmodel-min-width--cmacro) #@55 Access slot "min-width" of `ctbl:cmodel' struct CL-X. (defalias 'ctbl:cmodel-min-width #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-ctbl:cmodel-tags type-of signal wrong-type-argument ctbl:cmodel 5] 4 (#$ . 16722)]) (byte-code "\300\301\302\303#\300\207" [function-put ctbl:cmodel-min-width side-effect-free t] 4) #@56 compiler-macro for inlining `ctbl:cmodel-click-hooks'. (defalias 'ctbl:cmodel-click-hooks--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block ctbl:cmodel-click-hooks (progn (or (ctbl:cmodel-p cl-x) (signal 'wrong-type-argument (list 'ctbl:cmodel cl-x))) (aref cl-x 6))) nil] 7 (#$ . 17069)]) (put 'ctbl:cmodel-click-hooks 'compiler-macro 'ctbl:cmodel-click-hooks--cmacro) #@57 Access slot "click-hooks" of `ctbl:cmodel' struct CL-X. (defalias 'ctbl:cmodel-click-hooks #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-ctbl:cmodel-tags type-of signal wrong-type-argument ctbl:cmodel 6] 4 (#$ . 17503)]) (byte-code "\300\301\302\303#\304\305\306\"\207" [function-put ctbl:cmodel-click-hooks side-effect-free t defalias copy-ctbl:cmodel copy-sequence] 4) #@130 compiler-macro for inlining `make-ctbl:cmodel'. (fn CL-WHOLE &cl-quote &key TITLE SORTER ALIGN MAX-WIDTH MIN-WIDTH CLICK-HOOKS) (defalias 'make-ctbl:cmodel--cmacro #[(cl-whole &rest #1=#:--cl-rest--) "\306\307\"A@\306\310\"A@\306\311\"A@\306\312\"A@\306\313\"A@\306\314\"\206+\315A@\203b@\316>\203IAA\211\2024\317>A@\203X\320\211\2024\321\322@\"\210\2022)\323\324\325\320\320 \n \f & .\207" [#1# title sorter align max-width min-width plist-member :title :sorter :align :max-width :min-width :click-hooks (nil '(ctbl:cmodel-sort-action)) (:title :sorter :align :max-width :min-width :click-hooks :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:title :sorter :align :max-width :min-width :click-hooks)" cl--defsubst-expand (title sorter align max-width min-width click-hooks) (cl-block make-ctbl:cmodel (record 'ctbl:cmodel title sorter align max-width min-width click-hooks)) click-hooks #2=#:--cl-keys-- cl-whole] 13 (#$ . 17907)]) (put 'make-ctbl:cmodel 'compiler-macro 'make-ctbl:cmodel--cmacro) #@110 Constructor for objects of type `ctbl:cmodel'. (fn &key TITLE SORTER ALIGN MAX-WIDTH MIN-WIDTH CLICK-HOOKS) (defalias 'make-ctbl:cmodel #[(&rest #1=#:--cl-rest--) "\306\307\"A@\306\310\"A@\306\311\"A@\306\312\"A@\306\313\"A@\306\314\"\206+\315A@\203b@\316>\203IAA\211\2024\317>A@\203X\320\211\2024\321\322@\"\210\2022)\323\324 \n \f &.\207" [#1# title sorter align max-width min-width plist-member :title :sorter :align :max-width :min-width :click-hooks (nil (ctbl:cmodel-sort-action)) (:title :sorter :align :max-width :min-width :click-hooks :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:title :sorter :align :max-width :min-width :click-hooks)" record ctbl:cmodel click-hooks #2=#:--cl-keys--] 9 (#$ . 18988)]) (byte-code "\300\301\302\303#\304\305\306\307\310\311\312\313\305\303& \207" [function-put make-ctbl:cmodel side-effect-free t cl-struct-define ctbl:cmodel "Table column model structure\n\ntitle : title string.\nsorter : sorting function which transforms a cell value into sort value.\n It should return -1, 0 and 1. If nil, `ctbl:sort-string-lessp' is used.\nalign : text alignment: 'left, 'right and 'center. (default: right)\nmax-width : maximum width of the column. if nil, no constraint. (default: nil)\nmin-width : minimum width of the column. if nil, no constraint. (default: nil)\nclick-hooks : a list of functions for header clicking with two arguments\n the `ctbl:component' object and the `ctbl:cmodel' one.\n (default: '(`ctbl:cmodel-sort-action'))" cl-structure-object record nil ((cl-tag-slot) (title) (sorter) (align) (max-width) (min-width) (click-hooks '(ctbl:cmodel-sort-action))) cl-struct-ctbl:cmodel-tags] 11) #@45 compiler-macro for inlining `ctbl:param-p'. (defalias 'ctbl:param-p--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block ctbl:param-p (and (memq (type-of cl-x) cl-struct-ctbl:param-tags) t)) nil] 7 (#$ . 20750)]) (put 'ctbl:param-p 'compiler-macro 'ctbl:param-p--cmacro) (defalias 'ctbl:param-p #[(cl-x) "\302! >\205 \303\207" [cl-x cl-struct-ctbl:param-tags type-of t] 2]) (byte-code "\300\301\302\303#\304\305\306\301#\207" [function-put ctbl:param-p side-effect-free error-free put ctbl:param cl-deftype-satisfies] 5) #@58 compiler-macro for inlining `ctbl:param-display-header'. (defalias 'ctbl:param-display-header--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block ctbl:param-display-header (progn (or (ctbl:param-p cl-x) (signal 'wrong-type-argument (list 'ctbl:param cl-x))) (aref cl-x 1))) nil] 7 (#$ . 21334)]) (put 'ctbl:param-display-header 'compiler-macro 'ctbl:param-display-header--cmacro) #@59 Access slot "display-header" of `ctbl:param' struct CL-X. (defalias 'ctbl:param-display-header #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-ctbl:param-tags type-of signal wrong-type-argument ctbl:param 1] 4 (#$ . 21776)]) (byte-code "\300\301\302\303#\300\207" [function-put ctbl:param-display-header side-effect-free t] 4) #@56 compiler-macro for inlining `ctbl:param-fixed-header'. (defalias 'ctbl:param-fixed-header--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block ctbl:param-fixed-header (progn (or (ctbl:param-p cl-x) (signal 'wrong-type-argument (list 'ctbl:param cl-x))) (aref cl-x 2))) nil] 7 (#$ . 22133)]) (put 'ctbl:param-fixed-header 'compiler-macro 'ctbl:param-fixed-header--cmacro) #@57 Access slot "fixed-header" of `ctbl:param' struct CL-X. (defalias 'ctbl:param-fixed-header #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-ctbl:param-tags type-of signal wrong-type-argument ctbl:param 2] 4 (#$ . 22565)]) (byte-code "\300\301\302\303#\300\207" [function-put ctbl:param-fixed-header side-effect-free t] 4) #@53 compiler-macro for inlining `ctbl:param-bg-colors'. (defalias 'ctbl:param-bg-colors--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block ctbl:param-bg-colors (progn (or (ctbl:param-p cl-x) (signal 'wrong-type-argument (list 'ctbl:param cl-x))) (aref cl-x 3))) nil] 7 (#$ . 22916)]) (put 'ctbl:param-bg-colors 'compiler-macro 'ctbl:param-bg-colors--cmacro) #@54 Access slot "bg-colors" of `ctbl:param' struct CL-X. (defalias 'ctbl:param-bg-colors #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-ctbl:param-tags type-of signal wrong-type-argument ctbl:param 3] 4 (#$ . 23333)]) (byte-code "\300\301\302\303#\300\207" [function-put ctbl:param-bg-colors side-effect-free t] 4) #@56 compiler-macro for inlining `ctbl:param-vline-colors'. (defalias 'ctbl:param-vline-colors--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block ctbl:param-vline-colors (progn (or (ctbl:param-p cl-x) (signal 'wrong-type-argument (list 'ctbl:param cl-x))) (aref cl-x 4))) nil] 7 (#$ . 23675)]) (put 'ctbl:param-vline-colors 'compiler-macro 'ctbl:param-vline-colors--cmacro) #@57 Access slot "vline-colors" of `ctbl:param' struct CL-X. (defalias 'ctbl:param-vline-colors #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-ctbl:param-tags type-of signal wrong-type-argument ctbl:param 4] 4 (#$ . 24107)]) (byte-code "\300\301\302\303#\300\207" [function-put ctbl:param-vline-colors side-effect-free t] 4) #@56 compiler-macro for inlining `ctbl:param-hline-colors'. (defalias 'ctbl:param-hline-colors--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block ctbl:param-hline-colors (progn (or (ctbl:param-p cl-x) (signal 'wrong-type-argument (list 'ctbl:param cl-x))) (aref cl-x 5))) nil] 7 (#$ . 24458)]) (put 'ctbl:param-hline-colors 'compiler-macro 'ctbl:param-hline-colors--cmacro) #@57 Access slot "hline-colors" of `ctbl:param' struct CL-X. (defalias 'ctbl:param-hline-colors #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-ctbl:param-tags type-of signal wrong-type-argument ctbl:param 5] 4 (#$ . 24890)]) (byte-code "\300\301\302\303#\300\207" [function-put ctbl:param-hline-colors side-effect-free t] 4) #@55 compiler-macro for inlining `ctbl:param-draw-vlines'. (defalias 'ctbl:param-draw-vlines--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block ctbl:param-draw-vlines (progn (or (ctbl:param-p cl-x) (signal 'wrong-type-argument (list 'ctbl:param cl-x))) (aref cl-x 6))) nil] 7 (#$ . 25241)]) (put 'ctbl:param-draw-vlines 'compiler-macro 'ctbl:param-draw-vlines--cmacro) #@56 Access slot "draw-vlines" of `ctbl:param' struct CL-X. (defalias 'ctbl:param-draw-vlines #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-ctbl:param-tags type-of signal wrong-type-argument ctbl:param 6] 4 (#$ . 25668)]) (byte-code "\300\301\302\303#\300\207" [function-put ctbl:param-draw-vlines side-effect-free t] 4) #@55 compiler-macro for inlining `ctbl:param-draw-hlines'. (defalias 'ctbl:param-draw-hlines--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block ctbl:param-draw-hlines (progn (or (ctbl:param-p cl-x) (signal 'wrong-type-argument (list 'ctbl:param cl-x))) (aref cl-x 7))) nil] 7 (#$ . 26016)]) (put 'ctbl:param-draw-hlines 'compiler-macro 'ctbl:param-draw-hlines--cmacro) #@56 Access slot "draw-hlines" of `ctbl:param' struct CL-X. (defalias 'ctbl:param-draw-hlines #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-ctbl:param-tags type-of signal wrong-type-argument ctbl:param 7] 4 (#$ . 26443)]) (byte-code "\300\301\302\303#\300\207" [function-put ctbl:param-draw-hlines side-effect-free t] 4) #@57 compiler-macro for inlining `ctbl:param-vertical-line'. (defalias 'ctbl:param-vertical-line--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block ctbl:param-vertical-line (progn (or (ctbl:param-p cl-x) (signal 'wrong-type-argument (list 'ctbl:param cl-x))) (aref cl-x 8))) nil] 7 (#$ . 26791)]) (put 'ctbl:param-vertical-line 'compiler-macro 'ctbl:param-vertical-line--cmacro) #@58 Access slot "vertical-line" of `ctbl:param' struct CL-X. (defalias 'ctbl:param-vertical-line #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-ctbl:param-tags type-of signal wrong-type-argument ctbl:param 8] 4 (#$ . 27228)]) (byte-code "\300\301\302\303#\300\207" [function-put ctbl:param-vertical-line side-effect-free t] 4) #@59 compiler-macro for inlining `ctbl:param-horizontal-line'. (defalias 'ctbl:param-horizontal-line--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block ctbl:param-horizontal-line (progn (or (ctbl:param-p cl-x) (signal 'wrong-type-argument (list 'ctbl:param cl-x))) (aref cl-x 9))) nil] 7 (#$ . 27582)]) (put 'ctbl:param-horizontal-line 'compiler-macro 'ctbl:param-horizontal-line--cmacro) #@60 Access slot "horizontal-line" of `ctbl:param' struct CL-X. (defalias 'ctbl:param-horizontal-line #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-ctbl:param-tags type-of signal wrong-type-argument ctbl:param 9] 4 (#$ . 28029)]) (byte-code "\300\301\302\303#\300\207" [function-put ctbl:param-horizontal-line side-effect-free t] 4) #@59 compiler-macro for inlining `ctbl:param-left-top-corner'. (defalias 'ctbl:param-left-top-corner--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block ctbl:param-left-top-corner (progn (or (ctbl:param-p cl-x) (signal 'wrong-type-argument (list 'ctbl:param cl-x))) (aref cl-x 10))) nil] 7 (#$ . 28389)]) (put 'ctbl:param-left-top-corner 'compiler-macro 'ctbl:param-left-top-corner--cmacro) #@60 Access slot "left-top-corner" of `ctbl:param' struct CL-X. (defalias 'ctbl:param-left-top-corner #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-ctbl:param-tags type-of signal wrong-type-argument ctbl:param 10] 4 (#$ . 28837)]) (byte-code "\300\301\302\303#\300\207" [function-put ctbl:param-left-top-corner side-effect-free t] 4) #@60 compiler-macro for inlining `ctbl:param-right-top-corner'. (defalias 'ctbl:param-right-top-corner--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block ctbl:param-right-top-corner (progn (or (ctbl:param-p cl-x) (signal 'wrong-type-argument (list 'ctbl:param cl-x))) (aref cl-x 11))) nil] 7 (#$ . 29198)]) (put 'ctbl:param-right-top-corner 'compiler-macro 'ctbl:param-right-top-corner--cmacro) #@61 Access slot "right-top-corner" of `ctbl:param' struct CL-X. (defalias 'ctbl:param-right-top-corner #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-ctbl:param-tags type-of signal wrong-type-argument ctbl:param 11] 4 (#$ . 29651)]) (byte-code "\300\301\302\303#\300\207" [function-put ctbl:param-right-top-corner side-effect-free t] 4) #@62 compiler-macro for inlining `ctbl:param-left-bottom-corner'. (defalias 'ctbl:param-left-bottom-corner--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block ctbl:param-left-bottom-corner (progn (or (ctbl:param-p cl-x) (signal 'wrong-type-argument (list 'ctbl:param cl-x))) (aref cl-x 12))) nil] 7 (#$ . 30015)]) (put 'ctbl:param-left-bottom-corner 'compiler-macro 'ctbl:param-left-bottom-corner--cmacro) #@63 Access slot "left-bottom-corner" of `ctbl:param' struct CL-X. (defalias 'ctbl:param-left-bottom-corner #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-ctbl:param-tags type-of signal wrong-type-argument ctbl:param 12] 4 (#$ . 30478)]) (byte-code "\300\301\302\303#\300\207" [function-put ctbl:param-left-bottom-corner side-effect-free t] 4) #@63 compiler-macro for inlining `ctbl:param-right-bottom-corner'. (defalias 'ctbl:param-right-bottom-corner--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block ctbl:param-right-bottom-corner (progn (or (ctbl:param-p cl-x) (signal 'wrong-type-argument (list 'ctbl:param cl-x))) (aref cl-x 13))) nil] 7 (#$ . 30848)]) (put 'ctbl:param-right-bottom-corner 'compiler-macro 'ctbl:param-right-bottom-corner--cmacro) #@64 Access slot "right-bottom-corner" of `ctbl:param' struct CL-X. (defalias 'ctbl:param-right-bottom-corner #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-ctbl:param-tags type-of signal wrong-type-argument ctbl:param 13] 4 (#$ . 31316)]) (byte-code "\300\301\302\303#\300\207" [function-put ctbl:param-right-bottom-corner side-effect-free t] 4) #@56 compiler-macro for inlining `ctbl:param-top-junction'. (defalias 'ctbl:param-top-junction--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block ctbl:param-top-junction (progn (or (ctbl:param-p cl-x) (signal 'wrong-type-argument (list 'ctbl:param cl-x))) (aref cl-x 14))) nil] 7 (#$ . 31689)]) (put 'ctbl:param-top-junction 'compiler-macro 'ctbl:param-top-junction--cmacro) #@57 Access slot "top-junction" of `ctbl:param' struct CL-X. (defalias 'ctbl:param-top-junction #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-ctbl:param-tags type-of signal wrong-type-argument ctbl:param 14] 4 (#$ . 32122)]) (byte-code "\300\301\302\303#\300\207" [function-put ctbl:param-top-junction side-effect-free t] 4) #@59 compiler-macro for inlining `ctbl:param-bottom-junction'. (defalias 'ctbl:param-bottom-junction--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block ctbl:param-bottom-junction (progn (or (ctbl:param-p cl-x) (signal 'wrong-type-argument (list 'ctbl:param cl-x))) (aref cl-x 15))) nil] 7 (#$ . 32474)]) (put 'ctbl:param-bottom-junction 'compiler-macro 'ctbl:param-bottom-junction--cmacro) #@60 Access slot "bottom-junction" of `ctbl:param' struct CL-X. (defalias 'ctbl:param-bottom-junction #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-ctbl:param-tags type-of signal wrong-type-argument ctbl:param 15] 4 (#$ . 32922)]) (byte-code "\300\301\302\303#\300\207" [function-put ctbl:param-bottom-junction side-effect-free t] 4) #@57 compiler-macro for inlining `ctbl:param-left-junction'. (defalias 'ctbl:param-left-junction--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block ctbl:param-left-junction (progn (or (ctbl:param-p cl-x) (signal 'wrong-type-argument (list 'ctbl:param cl-x))) (aref cl-x 16))) nil] 7 (#$ . 33283)]) (put 'ctbl:param-left-junction 'compiler-macro 'ctbl:param-left-junction--cmacro) #@58 Access slot "left-junction" of `ctbl:param' struct CL-X. (defalias 'ctbl:param-left-junction #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-ctbl:param-tags type-of signal wrong-type-argument ctbl:param 16] 4 (#$ . 33721)]) (byte-code "\300\301\302\303#\300\207" [function-put ctbl:param-left-junction side-effect-free t] 4) #@58 compiler-macro for inlining `ctbl:param-right-junction'. (defalias 'ctbl:param-right-junction--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block ctbl:param-right-junction (progn (or (ctbl:param-p cl-x) (signal 'wrong-type-argument (list 'ctbl:param cl-x))) (aref cl-x 17))) nil] 7 (#$ . 34076)]) (put 'ctbl:param-right-junction 'compiler-macro 'ctbl:param-right-junction--cmacro) #@59 Access slot "right-junction" of `ctbl:param' struct CL-X. (defalias 'ctbl:param-right-junction #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-ctbl:param-tags type-of signal wrong-type-argument ctbl:param 17] 4 (#$ . 34519)]) (byte-code "\300\301\302\303#\300\207" [function-put ctbl:param-right-junction side-effect-free t] 4) #@58 compiler-macro for inlining `ctbl:param-cross-junction'. (defalias 'ctbl:param-cross-junction--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block ctbl:param-cross-junction (progn (or (ctbl:param-p cl-x) (signal 'wrong-type-argument (list 'ctbl:param cl-x))) (aref cl-x 18))) nil] 7 (#$ . 34877)]) (put 'ctbl:param-cross-junction 'compiler-macro 'ctbl:param-cross-junction--cmacro) #@59 Access slot "cross-junction" of `ctbl:param' struct CL-X. (defalias 'ctbl:param-cross-junction #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-ctbl:param-tags type-of signal wrong-type-argument ctbl:param 18] 4 (#$ . 35320)]) (byte-code "\300\301\302\303#\304\305\306\"\207" [function-put ctbl:param-cross-junction side-effect-free t defalias copy-ctbl:param copy-sequence] 4) #@341 compiler-macro for inlining `make-ctbl:param'. (fn CL-WHOLE &cl-quote &key DISPLAY-HEADER FIXED-HEADER BG-COLORS VLINE-COLORS HLINE-COLORS DRAW-VLINES DRAW-HLINES VERTICAL-LINE HORIZONTAL-LINE LEFT-TOP-CORNER RIGHT-TOP-CORNER LEFT-BOTTOM-CORNER RIGHT-BOTTOM-CORNER TOP-JUNCTION BOTTOM-JUNCTION LEFT-JUNCTION RIGHT-JUNCTION CROSS-JUNCTION) (defalias 'make-ctbl:param--cmacro #[(cl-whole &rest #1=#:--cl-rest--) "\306\307\"A@\306\310\"A@\306\311\"A@\306\312\"A@\306\313\"A@\306\314\"A@!\306\315\"A@\"\306\316\"A@#\306\317\"A@$\306\320\"A@%\306\321\"A@&\306\322\"A@'\306\323\"A@(\306\324\"A@)\306\325\"A@*\306\326\"A@+\306\327\"A@,\306\330\"A@-..\203\276.@\331>\203\245.AA\211.\202\220\332>A@\203\264\333\211.\202\220\334\335.@\"\210\202\216)\336\337\340\333/\333 \n \f !\"#$%&'()*+,-&.\207" [#1# display-header fixed-header bg-colors vline-colors hline-colors plist-member :display-header :fixed-header :bg-colors :vline-colors :hline-colors :draw-vlines :draw-hlines :vertical-line :horizontal-line :left-top-corner :right-top-corner :left-bottom-corner :right-bottom-corner :top-junction :bottom-junction :left-junction :right-junction :cross-junction (:display-header :fixed-header :bg-colors :vline-colors :hline-colors :draw-vlines :draw-hlines :vertical-line :horizontal-line :left-top-corner :right-top-corner :left-bottom-corner :right-bottom-corner :top-junction :bottom-junction :left-junction :right-junction :cross-junction :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:display-header :fixed-header :bg-colors :vline-colors :hline-colors :draw-vlines :draw-hlines :vertical-line :horizontal-line :left-top-corner :right-top-corner :left-bottom-corner :right-bottom-corner :top-junction :bottom-junction :left-junction :right-junction :cross-junction)" cl--defsubst-expand (display-header fixed-header bg-colors vline-colors hline-colors draw-vlines draw-hlines vertical-line horizontal-line left-top-corner right-top-corner left-bottom-corner right-bottom-corner top-junction bottom-junction left-junction right-junction cross-junction) (cl-block make-ctbl:param (record 'ctbl:param display-header fixed-header bg-colors vline-colors hline-colors draw-vlines draw-hlines vertical-line horizontal-line left-top-corner right-top-corner left-bottom-corner right-bottom-corner top-junction bottom-junction left-junction right-junction cross-junction)) draw-vlines draw-hlines vertical-line horizontal-line left-top-corner right-top-corner left-bottom-corner right-bottom-corner top-junction bottom-junction left-junction right-junction cross-junction #2=#:--cl-keys-- cl-whole] 25 (#$ . 35728)]) (put 'make-ctbl:param 'compiler-macro 'make-ctbl:param--cmacro) #@321 Constructor for objects of type `ctbl:param'. (fn &key DISPLAY-HEADER FIXED-HEADER BG-COLORS VLINE-COLORS HLINE-COLORS DRAW-VLINES DRAW-HLINES VERTICAL-LINE HORIZONTAL-LINE LEFT-TOP-CORNER RIGHT-TOP-CORNER LEFT-BOTTOM-CORNER RIGHT-BOTTOM-CORNER TOP-JUNCTION BOTTOM-JUNCTION LEFT-JUNCTION RIGHT-JUNCTION CROSS-JUNCTION) (defalias 'make-ctbl:param #[(&rest #1=#:--cl-rest--) "\306\307\"A@\306\310\"A@\306\311\"A@\306\312\"A@\306\313\"A@\306\314\"A@ \306\315\"A@!\306\316\"A@\"\306\317\"A@#\306\320\"A@$\306\321\"A@%\306\322\"A@&\306\323\"A@'\306\324\"A@(\306\325\"A@)\306\326\"A@*\306\327\"A@+\306\330\"A@,--\203\276-@\331>\203\245-AA\211-\202\220\332>A@\203\264\333\211-\202\220\334\335-@\"\210\202\216)\336\337 \n \f  !\"#$%&'()*+,&.\207" [#1# display-header fixed-header bg-colors vline-colors hline-colors plist-member :display-header :fixed-header :bg-colors :vline-colors :hline-colors :draw-vlines :draw-hlines :vertical-line :horizontal-line :left-top-corner :right-top-corner :left-bottom-corner :right-bottom-corner :top-junction :bottom-junction :left-junction :right-junction :cross-junction (:display-header :fixed-header :bg-colors :vline-colors :hline-colors :draw-vlines :draw-hlines :vertical-line :horizontal-line :left-top-corner :right-top-corner :left-bottom-corner :right-bottom-corner :top-junction :bottom-junction :left-junction :right-junction :cross-junction :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:display-header :fixed-header :bg-colors :vline-colors :hline-colors :draw-vlines :draw-hlines :vertical-line :horizontal-line :left-top-corner :right-top-corner :left-bottom-corner :right-bottom-corner :top-junction :bottom-junction :left-junction :right-junction :cross-junction)" record ctbl:param draw-vlines draw-hlines vertical-line horizontal-line left-top-corner right-top-corner left-bottom-corner right-bottom-corner top-junction bottom-junction left-junction right-junction cross-junction #2=#:--cl-keys--] 21 (#$ . 38504)]) (byte-code "\300\301\302\303#\304\305\306\307\310\311\312\313\305\303& \207" [function-put make-ctbl:param side-effect-free t cl-struct-define ctbl:param "Rendering parameters\n\ndisplay-header : if t, display the header row with column models.\nfixed-header : if t, display the header row in the header-line area.\nbg-colors : '(((row-id . col-id) . colorstr) (t . default-color) ... ) or (lambda (model row-id col-id) colorstr or nil)\nvline-colors : \"#RRGGBB\" or '((0 . colorstr) (t . default-color)) or (lambda (model col-index) colorstr or nil)\nhline-colors : \"#RRGGBB\" or '((0 . colorstr) (t . default-color)) or (lambda (model row-index) colorstr or nil)\ndraw-vlines : 'all or '(0 1 2 .. -1) or (lambda (model col-index) t or nil )\ndraw-hlines : 'all or '(0 1 2 .. -1) or (lambda (model row-index) t or nil )\nvertical-line horizontal-line : | -\nleft-top-corner right-top-corner left-bottom-corner right-bottom-corner : +\ntop-junction bottom-junction left-junction right-junction cross-junction : +" cl-structure-object record nil ((cl-tag-slot) (display-header) (fixed-header) (bg-colors) (vline-colors) (hline-colors) (draw-vlines) (draw-hlines) (vertical-line) (horizontal-line) (left-top-corner) (right-top-corner) (left-bottom-corner) (right-bottom-corner) (top-junction) (bottom-junction) (left-junction) (right-junction) (cross-junction)) cl-struct-ctbl:param-tags] 11) #@211 Customize for completing-read function. To use `ido-completing-read', put the following sexp into your Emacs init file: (eval-after-load 'ido '(progn (setq ctbl:completing-read 'ido-completing-read))) (defvar ctbl:completing-read 'completing-read (#$ . 41989)) #@31 Default rendering parameters. (defvar ctbl:default-rendering-param (byte-code "\300\301\302\303\211\304\211\305\306\307\310\311\211\211\211\211\211\211\211\211&\207" [record ctbl:param t nil "DarkGray" all (1) 124 45 43] 20) (#$ . 42265)) #@37 Preferred tooltip methods in order. (defvar ctbl:tooltip-method '(pos-tip popup minibuffer) (#$ . 42511)) (byte-code "\300\301\302\303\304\305%\210\300\306\307\310\304\305%\210\300\311\312\313\304\305%\207" [custom-declare-face ctbl:face-row-select ((((class color) (background light)) :background "WhiteSmoke") (((class color) (background dark)) :background "Blue4")) "Face for row selection" :group ctable ctbl:face-cell-select ((((class color) (background light)) :background "Mistyrose1") (((class color) (background dark)) :background "Blue2")) "Face for cell selection" ctbl:face-continue-bar ((((class color) (background light)) :background "OldLace") (((class color) (background dark)) :background "Gray26")) "Face for continue bar"] 6) #@28 [internal] Keymap utility. (defalias 'ctbl:define-keymap #[(keymap-list &optional prefix) "\302 \303\304 \"\210)\207" [map keymap-list make-sparse-keymap mapc #[(i) "\303 @;\203\304\n\203\305\306\n @#\202 @!\202 @ A#\207" [map i prefix define-key read-kbd-macro replace-regexp-in-string "prefix"] 7]] 3 (#$ . 43262)]) #@36 [internal] Create a cell-id object (defalias 'ctbl:cell-id #[(row-id col-id) " B\207" [row-id col-id] 2 (#$ . 43597)]) #@59 [internal] Put a text property to the entire text string. (defalias 'ctbl:tp #[(text prop value) "\303GW\203\304\303G \n%\210\207" [text prop value 0 put-text-property] 6 (#$ . 43723)]) (defvar ctbl:uid 1) #@39 [internal] Generate an unique number. (defalias 'ctbl:uid #[nil "T\211\207" [ctbl:uid] 2 (#$ . 43941)]) #@144 [internal] Put the given text property to the region between BEGIN and END. If the text already has some keymap property, the text is skipped. (defalias 'ctbl:fill-keymap-property #[(begin end keymap) "\212b\210\305 \2039 X\2049\306 \304\"\203\"\307 \304\"\211\202 \307 \304\"\211\204- \310 \n ^\304\f$\210\202+\305\207" [begin pos nxt end keymap nil get-text-property next-single-property-change put-text-property] 6 (#$ . 44054)]) #@38 [internal] Return the column number. (defalias 'ctbl:model-column-length #[(model) "\302! >\204\303\304\305D\"\210\306HG\207" [model cl-struct-ctbl:model-tags type-of signal wrong-type-argument ctbl:model 2] 4 (#$ . 44508)]) #@35 [internal] Return the row number. (defalias 'ctbl:model-row-length #[(model) "\302! >\204\303\304\305D\"\210\306HG\207" [model cl-struct-ctbl:model-tags type-of signal wrong-type-argument ctbl:model 1] 4 (#$ . 44744)]) #@54 Modify the list of sort keys for the column headers. (defalias 'ctbl:model-modify-sort-key #[(model col-index) "\306! >\204\307\310\311D\"\210\312H T\n@\f=\203;\306! >\204,\307\310\311D\"\210\211\312\f[\nABI\210)\202\202\n@\f[=\203a\306! >\204R\307\310\311D\"\210\211\f\312\f\nABI\210)\202\202\306! >\204p\307\310\311D\"\210\211 \312\f\313\f[\313\f\n\"\"BI\210)\306! >\204\221\307\310\311D\"\210\312H*\207" [model cl-struct-ctbl:model-tags sort-keys col-index col-key #1=#:v type-of signal wrong-type-argument ctbl:model 3 delete #2=#:v #3=#:v] 9 (#$ . 44974)]) #@121 Sorting action for click on the column headers. If data is an instance of `ctbl:async-model', this function do nothing. (defalias 'ctbl:cmodel-sort-action #[(cp col-index) "\305!\306\211 !\n>\204\307\310\311 D\"\210 \312H! >\205\313?\205*\314 \f\"\210\315!)\207" [cp model cl-struct-ctbl:model-tags cl-struct-ctbl:async-model-tags col-index ctbl:cp-get-model type-of signal wrong-type-argument ctbl:model 1 t ctbl:model-modify-sort-key ctbl:cp-update] 5 (#$ . 45573)]) #@49 compiler-macro for inlining `ctbl:component-p'. (defalias 'ctbl:component-p--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block ctbl:component-p (and (memq (type-of cl-x) cl-struct-ctbl:component-tags) t)) nil] 7 (#$ . 46056)]) (put 'ctbl:component-p 'compiler-macro 'ctbl:component-p--cmacro) (defalias 'ctbl:component-p #[(cl-x) "\302! >\205 \303\207" [cl-x cl-struct-ctbl:component-tags type-of t] 2]) (byte-code "\300\301\302\303#\304\305\306\301#\207" [function-put ctbl:component-p side-effect-free error-free put ctbl:component cl-deftype-satisfies] 5) #@52 compiler-macro for inlining `ctbl:component-dest'. (defalias 'ctbl:component-dest--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block ctbl:component-dest (progn (or (ctbl:component-p cl-x) (signal 'wrong-type-argument (list 'ctbl:component cl-x))) (aref cl-x 1))) nil] 7 (#$ . 46680)]) (put 'ctbl:component-dest 'compiler-macro 'ctbl:component-dest--cmacro) #@53 Access slot "dest" of `ctbl:component' struct CL-X. (defalias 'ctbl:component-dest #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-ctbl:component-tags type-of signal wrong-type-argument ctbl:component 1] 4 (#$ . 47100)]) (byte-code "\300\301\302\303#\300\207" [function-put ctbl:component-dest side-effect-free t] 4) #@53 compiler-macro for inlining `ctbl:component-model'. (defalias 'ctbl:component-model--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block ctbl:component-model (progn (or (ctbl:component-p cl-x) (signal 'wrong-type-argument (list 'ctbl:component cl-x))) (aref cl-x 2))) nil] 7 (#$ . 47447)]) (put 'ctbl:component-model 'compiler-macro 'ctbl:component-model--cmacro) #@54 Access slot "model" of `ctbl:component' struct CL-X. (defalias 'ctbl:component-model #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-ctbl:component-tags type-of signal wrong-type-argument ctbl:component 2] 4 (#$ . 47872)]) (byte-code "\300\301\302\303#\300\207" [function-put ctbl:component-model side-effect-free t] 4) #@53 compiler-macro for inlining `ctbl:component-param'. (defalias 'ctbl:component-param--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block ctbl:component-param (progn (or (ctbl:component-p cl-x) (signal 'wrong-type-argument (list 'ctbl:component cl-x))) (aref cl-x 3))) nil] 7 (#$ . 48222)]) (put 'ctbl:component-param 'compiler-macro 'ctbl:component-param--cmacro) #@54 Access slot "param" of `ctbl:component' struct CL-X. (defalias 'ctbl:component-param #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-ctbl:component-tags type-of signal wrong-type-argument ctbl:component 3] 4 (#$ . 48647)]) (byte-code "\300\301\302\303#\300\207" [function-put ctbl:component-param side-effect-free t] 4) #@56 compiler-macro for inlining `ctbl:component-selected'. (defalias 'ctbl:component-selected--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block ctbl:component-selected (progn (or (ctbl:component-p cl-x) (signal 'wrong-type-argument (list 'ctbl:component cl-x))) (aref cl-x 4))) nil] 7 (#$ . 48997)]) (put 'ctbl:component-selected 'compiler-macro 'ctbl:component-selected--cmacro) #@57 Access slot "selected" of `ctbl:component' struct CL-X. (defalias 'ctbl:component-selected #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-ctbl:component-tags type-of signal wrong-type-argument ctbl:component 4] 4 (#$ . 49437)]) (byte-code "\300\301\302\303#\300\207" [function-put ctbl:component-selected side-effect-free t] 4) #@59 compiler-macro for inlining `ctbl:component-sorted-data'. (defalias 'ctbl:component-sorted-data--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block ctbl:component-sorted-data (progn (or (ctbl:component-p cl-x) (signal 'wrong-type-argument (list 'ctbl:component cl-x))) (aref cl-x 5))) nil] 7 (#$ . 49796)]) (put 'ctbl:component-sorted-data 'compiler-macro 'ctbl:component-sorted-data--cmacro) #@60 Access slot "sorted-data" of `ctbl:component' struct CL-X. (defalias 'ctbl:component-sorted-data #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-ctbl:component-tags type-of signal wrong-type-argument ctbl:component 5] 4 (#$ . 50251)]) (byte-code "\300\301\302\303#\300\207" [function-put ctbl:component-sorted-data side-effect-free t] 4) #@60 compiler-macro for inlining `ctbl:component-update-hooks'. (defalias 'ctbl:component-update-hooks--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block ctbl:component-update-hooks (progn (or (ctbl:component-p cl-x) (signal 'wrong-type-argument (list 'ctbl:component cl-x))) (aref cl-x 6))) nil] 7 (#$ . 50619)]) (put 'ctbl:component-update-hooks 'compiler-macro 'ctbl:component-update-hooks--cmacro) #@61 Access slot "update-hooks" of `ctbl:component' struct CL-X. (defalias 'ctbl:component-update-hooks #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-ctbl:component-tags type-of signal wrong-type-argument ctbl:component 6] 4 (#$ . 51079)]) (byte-code "\300\301\302\303#\300\207" [function-put ctbl:component-update-hooks side-effect-free t] 4) #@70 compiler-macro for inlining `ctbl:component-selection-change-hooks'. (defalias 'ctbl:component-selection-change-hooks--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block ctbl:component-selection-change-hooks (progn (or (ctbl:component-p cl-x) (signal 'wrong-type-argument (list 'ctbl:component cl-x))) (aref cl-x 7))) nil] 7 (#$ . 51450)]) (put 'ctbl:component-selection-change-hooks 'compiler-macro 'ctbl:component-selection-change-hooks--cmacro) #@71 Access slot "selection-change-hooks" of `ctbl:component' struct CL-X. (defalias 'ctbl:component-selection-change-hooks #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-ctbl:component-tags type-of signal wrong-type-argument ctbl:component 7] 4 (#$ . 51960)]) (byte-code "\300\301\302\303#\300\207" [function-put ctbl:component-selection-change-hooks side-effect-free t] 4) #@59 compiler-macro for inlining `ctbl:component-click-hooks'. (defalias 'ctbl:component-click-hooks--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block ctbl:component-click-hooks (progn (or (ctbl:component-p cl-x) (signal 'wrong-type-argument (list 'ctbl:component cl-x))) (aref cl-x 8))) nil] 7 (#$ . 52361)]) (put 'ctbl:component-click-hooks 'compiler-macro 'ctbl:component-click-hooks--cmacro) #@60 Access slot "click-hooks" of `ctbl:component' struct CL-X. (defalias 'ctbl:component-click-hooks #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-ctbl:component-tags type-of signal wrong-type-argument ctbl:component 8] 4 (#$ . 52816)]) (byte-code "\300\301\302\303#\300\207" [function-put ctbl:component-click-hooks side-effect-free t] 4) #@54 compiler-macro for inlining `ctbl:component-states'. (defalias 'ctbl:component-states--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block ctbl:component-states (progn (or (ctbl:component-p cl-x) (signal 'wrong-type-argument (list 'ctbl:component cl-x))) (aref cl-x 9))) nil] 7 (#$ . 53184)]) (put 'ctbl:component-states 'compiler-macro 'ctbl:component-states--cmacro) #@55 Access slot "states" of `ctbl:component' struct CL-X. (defalias 'ctbl:component-states #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-ctbl:component-tags type-of signal wrong-type-argument ctbl:component 9] 4 (#$ . 53614)]) (byte-code "\300\301\302\303#\304\305\306\"\207" [function-put ctbl:component-states side-effect-free t defalias copy-ctbl:component copy-sequence] 4) #@175 compiler-macro for inlining `make-ctbl:component'. (fn CL-WHOLE &cl-quote &key DEST MODEL PARAM SELECTED SORTED-DATA UPDATE-HOOKS SELECTION-CHANGE-HOOKS CLICK-HOOKS STATES) (defalias 'make-ctbl:component--cmacro #[(cl-whole &rest #1=#:--cl-rest--) "\306\307\"A@\306\310\"A@\306\311\"A@\306\312\"A@\306\313\"A@\306\314\"A@\306\315\"A@\306\316\"A@\306\317\"A@\203v@\320>\203]AA\211\202H\321>A@\203l\322\211\202H\323\324@\"\210\202F)\325\326\327\322\322 \n \f &. \207" [#1# dest model param selected sorted-data plist-member :dest :model :param :selected :sorted-data :update-hooks :selection-change-hooks :click-hooks :states (:dest :model :param :selected :sorted-data :update-hooks :selection-change-hooks :click-hooks :states :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:dest :model :param :selected :sorted-data :update-hooks :selection-change-hooks :click-hooks :states)" cl--defsubst-expand (dest model param selected sorted-data update-hooks selection-change-hooks click-hooks states) (cl-block make-ctbl:component (record 'ctbl:component dest model param selected sorted-data update-hooks selection-change-hooks click-hooks states)) update-hooks selection-change-hooks click-hooks states #2=#:--cl-keys-- cl-whole] 16 (#$ . 54021)]) (put 'make-ctbl:component 'compiler-macro 'make-ctbl:component--cmacro) #@155 Constructor for objects of type `ctbl:component'. (fn &key DEST MODEL PARAM SELECTED SORTED-DATA UPDATE-HOOKS SELECTION-CHANGE-HOOKS CLICK-HOOKS STATES) (defalias 'make-ctbl:component #[(&rest #1=#:--cl-rest--) "\306\307\"A@\306\310\"A@\306\311\"A@\306\312\"A@\306\313\"A@\306\314\"A@\306\315\"A@\306\316\"A@\306\317\"A@\203v@\320>\203]AA\211\202H\321>A@\203l\322\211\202H\323\324@\"\210\202F)\325\326 \n \f &\n. \207" [#1# dest model param selected sorted-data plist-member :dest :model :param :selected :sorted-data :update-hooks :selection-change-hooks :click-hooks :states (:dest :model :param :selected :sorted-data :update-hooks :selection-change-hooks :click-hooks :states :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:dest :model :param :selected :sorted-data :update-hooks :selection-change-hooks :click-hooks :states)" record ctbl:component update-hooks selection-change-hooks click-hooks states #2=#:--cl-keys--] 12 (#$ . 55431)]) (byte-code "\300\301\302\303#\304\305\306\307\310\311\312\313\305\303& \207" [function-put make-ctbl:component side-effect-free t cl-struct-define ctbl:component "Component\n\nThis structure defines attributes of the table component.\nThese attributes are internal use. Other programs should access\nthrough the functions of the component interface.\n\ndest : an object of `ctbl:dest'\nmodel : an object of the table model\nselected : selected cell-id: (row index . col index)\nparam : rendering parameter object\nsorted-data : sorted data to display the table view.\n see `ctbl:cp-get-selected-data-row' and `ctbl:cp-get-selected-data-cell'.\nupdate-hooks : a list of hook functions for update event\nselection-change-hooks : a list of hook functions for selection change event\nclick-hooks : a list of hook functions for click event\nstates : alist of arbitrary data for internal use" cl-structure-object record nil ((cl-tag-slot) (dest) (model) (param) (selected) (sorted-data) (update-hooks) (selection-change-hooks) (click-hooks) (states)) cl-struct-ctbl:component-tags] 11) #@44 compiler-macro for inlining `ctbl:dest-p'. (defalias 'ctbl:dest-p--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block ctbl:dest-p (and (memq (type-of cl-x) cl-struct-ctbl:dest-tags) t)) nil] 7 (#$ . 57593)]) (put 'ctbl:dest-p 'compiler-macro 'ctbl:dest-p--cmacro) (defalias 'ctbl:dest-p #[(cl-x) "\302! >\205 \303\207" [cl-x cl-struct-ctbl:dest-tags type-of t] 2]) (byte-code "\300\301\302\303#\304\305\306\301#\207" [function-put ctbl:dest-p side-effect-free error-free put ctbl:dest cl-deftype-satisfies] 5) #@47 compiler-macro for inlining `ctbl:dest-type'. (defalias 'ctbl:dest-type--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block ctbl:dest-type (progn (or (ctbl:dest-p cl-x) (signal 'wrong-type-argument (list 'ctbl:dest cl-x))) (aref cl-x 1))) nil] 7 (#$ . 58167)]) (put 'ctbl:dest-type 'compiler-macro 'ctbl:dest-type--cmacro) #@48 Access slot "type" of `ctbl:dest' struct CL-X. (defalias 'ctbl:dest-type #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-ctbl:dest-tags type-of signal wrong-type-argument ctbl:dest 1] 4 (#$ . 58552)]) (byte-code "\300\301\302\303#\300\207" [function-put ctbl:dest-type side-effect-free t] 4) #@49 compiler-macro for inlining `ctbl:dest-buffer'. (defalias 'ctbl:dest-buffer--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block ctbl:dest-buffer (progn (or (ctbl:dest-p cl-x) (signal 'wrong-type-argument (list 'ctbl:dest cl-x))) (aref cl-x 2))) nil] 7 (#$ . 58874)]) (put 'ctbl:dest-buffer 'compiler-macro 'ctbl:dest-buffer--cmacro) #@50 Access slot "buffer" of `ctbl:dest' struct CL-X. (defalias 'ctbl:dest-buffer #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-ctbl:dest-tags type-of signal wrong-type-argument ctbl:dest 2] 4 (#$ . 59269)]) (byte-code "\300\301\302\303#\300\207" [function-put ctbl:dest-buffer side-effect-free t] 4) #@51 compiler-macro for inlining `ctbl:dest-min-func'. (defalias 'ctbl:dest-min-func--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block ctbl:dest-min-func (progn (or (ctbl:dest-p cl-x) (signal 'wrong-type-argument (list 'ctbl:dest cl-x))) (aref cl-x 3))) nil] 7 (#$ . 59597)]) (put 'ctbl:dest-min-func 'compiler-macro 'ctbl:dest-min-func--cmacro) #@52 Access slot "min-func" of `ctbl:dest' struct CL-X. (defalias 'ctbl:dest-min-func #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-ctbl:dest-tags type-of signal wrong-type-argument ctbl:dest 3] 4 (#$ . 60002)]) (byte-code "\300\301\302\303#\300\207" [function-put ctbl:dest-min-func side-effect-free t] 4) #@51 compiler-macro for inlining `ctbl:dest-max-func'. (defalias 'ctbl:dest-max-func--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block ctbl:dest-max-func (progn (or (ctbl:dest-p cl-x) (signal 'wrong-type-argument (list 'ctbl:dest cl-x))) (aref cl-x 4))) nil] 7 (#$ . 60336)]) (put 'ctbl:dest-max-func 'compiler-macro 'ctbl:dest-max-func--cmacro) #@52 Access slot "max-func" of `ctbl:dest' struct CL-X. (defalias 'ctbl:dest-max-func #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-ctbl:dest-tags type-of signal wrong-type-argument ctbl:dest 4] 4 (#$ . 60741)]) (byte-code "\300\301\302\303#\300\207" [function-put ctbl:dest-max-func side-effect-free t] 4) #@48 compiler-macro for inlining `ctbl:dest-width'. (defalias 'ctbl:dest-width--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block ctbl:dest-width (progn (or (ctbl:dest-p cl-x) (signal 'wrong-type-argument (list 'ctbl:dest cl-x))) (aref cl-x 5))) nil] 7 (#$ . 61075)]) (put 'ctbl:dest-width 'compiler-macro 'ctbl:dest-width--cmacro) #@49 Access slot "width" of `ctbl:dest' struct CL-X. (defalias 'ctbl:dest-width #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-ctbl:dest-tags type-of signal wrong-type-argument ctbl:dest 5] 4 (#$ . 61465)]) (byte-code "\300\301\302\303#\300\207" [function-put ctbl:dest-width side-effect-free t] 4) #@49 compiler-macro for inlining `ctbl:dest-height'. (defalias 'ctbl:dest-height--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block ctbl:dest-height (progn (or (ctbl:dest-p cl-x) (signal 'wrong-type-argument (list 'ctbl:dest cl-x))) (aref cl-x 6))) nil] 7 (#$ . 61790)]) (put 'ctbl:dest-height 'compiler-macro 'ctbl:dest-height--cmacro) #@50 Access slot "height" of `ctbl:dest' struct CL-X. (defalias 'ctbl:dest-height #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-ctbl:dest-tags type-of signal wrong-type-argument ctbl:dest 6] 4 (#$ . 62185)]) (byte-code "\300\301\302\303#\300\207" [function-put ctbl:dest-height side-effect-free t] 4) #@53 compiler-macro for inlining `ctbl:dest-clear-func'. (defalias 'ctbl:dest-clear-func--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block ctbl:dest-clear-func (progn (or (ctbl:dest-p cl-x) (signal 'wrong-type-argument (list 'ctbl:dest cl-x))) (aref cl-x 7))) nil] 7 (#$ . 62513)]) (put 'ctbl:dest-clear-func 'compiler-macro 'ctbl:dest-clear-func--cmacro) #@54 Access slot "clear-func" of `ctbl:dest' struct CL-X. (defalias 'ctbl:dest-clear-func #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-ctbl:dest-tags type-of signal wrong-type-argument ctbl:dest 7] 4 (#$ . 62928)]) (byte-code "\300\301\302\303#\300\207" [function-put ctbl:dest-clear-func side-effect-free t] 4) #@61 compiler-macro for inlining `ctbl:dest-before-update-func'. (defalias 'ctbl:dest-before-update-func--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block ctbl:dest-before-update-func (progn (or (ctbl:dest-p cl-x) (signal 'wrong-type-argument (list 'ctbl:dest cl-x))) (aref cl-x 8))) nil] 7 (#$ . 63268)]) (put 'ctbl:dest-before-update-func 'compiler-macro 'ctbl:dest-before-update-func--cmacro) #@62 Access slot "before-update-func" of `ctbl:dest' struct CL-X. (defalias 'ctbl:dest-before-update-func #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-ctbl:dest-tags type-of signal wrong-type-argument ctbl:dest 8] 4 (#$ . 63723)]) (byte-code "\300\301\302\303#\300\207" [function-put ctbl:dest-before-update-func side-effect-free t] 4) #@60 compiler-macro for inlining `ctbl:dest-after-update-func'. (defalias 'ctbl:dest-after-update-func--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block ctbl:dest-after-update-func (progn (or (ctbl:dest-p cl-x) (signal 'wrong-type-argument (list 'ctbl:dest cl-x))) (aref cl-x 9))) nil] 7 (#$ . 64087)]) (put 'ctbl:dest-after-update-func 'compiler-macro 'ctbl:dest-after-update-func--cmacro) #@61 Access slot "after-update-func" of `ctbl:dest' struct CL-X. (defalias 'ctbl:dest-after-update-func #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-ctbl:dest-tags type-of signal wrong-type-argument ctbl:dest 9] 4 (#$ . 64537)]) (byte-code "\300\301\302\303#\300\207" [function-put ctbl:dest-after-update-func side-effect-free t] 4) #@52 compiler-macro for inlining `ctbl:dest-select-ol'. (defalias 'ctbl:dest-select-ol--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block ctbl:dest-select-ol (progn (or (ctbl:dest-p cl-x) (signal 'wrong-type-argument (list 'ctbl:dest cl-x))) (aref cl-x 10))) nil] 7 (#$ . 64898)]) (put 'ctbl:dest-select-ol 'compiler-macro 'ctbl:dest-select-ol--cmacro) #@53 Access slot "select-ol" of `ctbl:dest' struct CL-X. (defalias 'ctbl:dest-select-ol #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-ctbl:dest-tags type-of signal wrong-type-argument ctbl:dest 10] 4 (#$ . 65309)]) (byte-code "\300\301\302\303#\304\305\306\"\207" [function-put ctbl:dest-select-ol side-effect-free t defalias copy-ctbl:dest copy-sequence] 4) #@178 compiler-macro for inlining `make-ctbl:dest'. (fn CL-WHOLE &cl-quote &key TYPE BUFFER MIN-FUNC MAX-FUNC WIDTH HEIGHT CLEAR-FUNC BEFORE-UPDATE-FUNC AFTER-UPDATE-FUNC SELECT-OL) (defalias 'make-ctbl:dest--cmacro #[(cl-whole &rest #1=#:--cl-rest--) "\306\307\"A@\306\310\"A@\306\311\"A@\306\312\"A@\306\313\"A@\306\314\"A@\306\315\"A@\306\316\"A@\306\317\"A@\306\320\"A@\203~@\321>\203eAA\211\202P\322>A@\203t\323\211\202P\324\325@\"\210\202N)\326\327\330\323\323 \n \f &.\n\207" [#1# type buffer min-func max-func width plist-member :type :buffer :min-func :max-func :width :height :clear-func :before-update-func :after-update-func :select-ol (:type :buffer :min-func :max-func :width :height :clear-func :before-update-func :after-update-func :select-ol :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:type :buffer :min-func :max-func :width :height :clear-func :before-update-func :after-update-func :select-ol)" cl--defsubst-expand (type buffer min-func max-func width height clear-func before-update-func after-update-func select-ol) (cl-block make-ctbl:dest (record 'ctbl:dest type buffer min-func max-func width height clear-func before-update-func after-update-func select-ol)) height clear-func before-update-func after-update-func select-ol #2=#:--cl-keys-- cl-whole] 17 (#$ . 65696)]) (put 'make-ctbl:dest 'compiler-macro 'make-ctbl:dest--cmacro) #@158 Constructor for objects of type `ctbl:dest'. (fn &key TYPE BUFFER MIN-FUNC MAX-FUNC WIDTH HEIGHT CLEAR-FUNC BEFORE-UPDATE-FUNC AFTER-UPDATE-FUNC SELECT-OL) (defalias 'make-ctbl:dest #[(&rest #1=#:--cl-rest--) "\306\307\"A@\306\310\"A@\306\311\"A@\306\312\"A@\306\313\"A@\306\314\"A@\306\315\"A@\306\316\"A@\306\317\"A@\306\320\"A@\203~@\321>\203eAA\211\202P\322>A@\203t\323\211\202P\324\325@\"\210\202N)\326\327 \n \f & .\n\207" [#1# type buffer min-func max-func width plist-member :type :buffer :min-func :max-func :width :height :clear-func :before-update-func :after-update-func :select-ol (:type :buffer :min-func :max-func :width :height :clear-func :before-update-func :after-update-func :select-ol :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:type :buffer :min-func :max-func :width :height :clear-func :before-update-func :after-update-func :select-ol)" record ctbl:dest height clear-func before-update-func after-update-func select-ol #2=#:--cl-keys--] 13 (#$ . 67153)]) (byte-code "\300\301\302\303#\304\305\306\307\310\311\312\313\305\303& \210\314\315\316\317#\207" [function-put make-ctbl:dest side-effect-free t cl-struct-define ctbl:dest "Rendering Destination\n\nThis structure object is the abstraction of the rendering\ndestinations, such as buffers, regions and so on.\n\ntype : identify symbol for destination type. (buffer, region, text)\nbuffer : a buffer object of rendering destination.\nmin-func : a function that returns upper limit of rendering destination.\nmax-func : a function that returns lower limit of rendering destination.\nwidth : width of the reference size. (number, nil or full)\nheight : height of the reference size. (number, nil or full)\nclear-func : a function that clears the rendering destination.\nbefore-update-func : a function that is called at the beginning of rendering routine.\nafter-update-func : a function that is called at the end of rendering routine.\nselect-ol : a list of overlays for selection" cl-structure-object record nil ((cl-tag-slot) (type) (buffer) (min-func) (max-func) (width) (height) (clear-func) (before-update-func) (after-update-func) (select-ol)) cl-struct-ctbl:dest-tags put ctbl:dest-with-region lisp-indent-function 1] 11) (defalias 'ctbl:dest-point-min #[(c) "\302! >\204\303\304\305D\"\210\306H \207" [c cl-struct-ctbl:dest-tags type-of signal wrong-type-argument ctbl:dest 3] 4]) (defalias 'ctbl:dest-point-max #[(c) "\302! >\204\303\304\305D\"\210\306H \207" [c cl-struct-ctbl:dest-tags type-of signal wrong-type-argument ctbl:dest 4] 4]) (defalias 'ctbl:dest-clear #[(c) "\302! >\204\303\304\305D\"\210\306H \207" [c cl-struct-ctbl:dest-tags type-of signal wrong-type-argument ctbl:dest 7] 4]) (defalias 'ctbl:dest-before-update #[(c) "\302! >\204\303\304\305D\"\210\306H\205(\302! >\204$\303\304\305D\"\210\306H \207" [c cl-struct-ctbl:dest-tags type-of signal wrong-type-argument ctbl:dest 8] 4]) (defalias 'ctbl:dest-after-update #[(c) "\302! >\204\303\304\305D\"\210\306H\205(\302! >\204$\303\304\305D\"\210\306H \207" [c cl-struct-ctbl:dest-tags type-of signal wrong-type-argument ctbl:dest 9] 4]) #@52 [internal] Default buffer name for the table view. (defconst ctbl:table-buffer-name "*ctbl-table*" (#$ . 70413)) #@579 Create a buffer destination. This destination uses an entire buffer and set up the major-mode `ctbl:table-mode' and the key map `ctbl:table-mode-map'. BUF is a buffer name to render the table view. If BUF is nil, the default buffer name is used. WIDTH and HEIGHT are reference size of the table view. If those are nil, the size of table is calculated from the window that shows BUF or the selected window. The component object is stored at the buffer local variable `ctbl:component'. CUSTOM-MAP is the additional keymap that is added to default keymap `ctbl:table-mode-map'. (defalias 'ctbl:dest-init-buffer #[(&optional buf width height custom-map) "\306\307!\306\310!\306\311!\211\211\f\206\312\313\314\315 \"!L\210) \211\f\203*\316\f!\206,\317 L\210)\211\320L\210)\211\nJ !\321\322\323\324\325D\326D\326 D\326\nD\327\257E\"! #\330\331\332#\333\334 !\"\320\211\211& ,L\210)r\nJq\210$\335=\204\203\335%!\210)J+\207" [#1=#:--cl-dest-- #2=#:--cl-window-- #3=#:--cl-buffer-- #4=#:v buf #5=#:v make-symbol "--buffer--" "--window--" "--dest--" get-buffer-create format "*Table: %d*" ctbl:uid get-buffer-window selected-window nil lambda (&rest --cl-rest--) apply function #[(#6=#:G0 #7=#:G1 #8=#:G2) "rJq\210\301 )\207" [#8# erase-buffer] 1] quote --cl-rest-- record ctbl:dest buffer point-min point-max ctbl:table-mode #9=#:v #10=#:v width height clear-func #11=#:buffer major-mode custom-map] 14 (#$ . 70533)]) #@429 Create a region destination. The table is drew between MARK-BEGIN and MARK-END in the buffer BUF. MARK-BEGIN and MARK-END are separated by more than one character, such as a space. This destination is employed to be embedded in the some application buffer. Because this destination does not set up any modes and key maps for the buffer, the application that uses the ctable is responsible to manage the buffer and key maps. (defalias 'ctbl:dest-init-region #[(buf mark-begin mark-end &optional width height) "\306\307!\306\310!\306\311!\211\211\fL\210) \211L\210)\211\312!\206(\313 L\210)\314\315\316\317\320D\321D\321 D\321\nD\322\257E\314\315\316\317\323D\321D\321 D\321\nD\322\257E\314\315\316\317\324D\321D\321 D\321\nD\322\257E !\325\326\327! \330\211\211& . \207" [#1=#:--cl-window-- #2=#:--cl-mark-end-- #3=#:--cl-mark-begin-- #4=#:v mark-begin #5=#:v make-symbol "--mark-begin--" "--mark-end--" "--window--" get-buffer-window selected-window lambda (&rest --cl-rest--) apply function #[(#6=#:G3 #7=#:G4 #8=#:G5) "\301J!\207" [#8# marker-position] 2] quote --cl-rest-- #[(#9=#:G6 #10=#:G7 #11=#:G8) "\301J!\207" [#10# marker-position] 2] #[(#12=#:G9 #13=#:G10 #14=#:G11) "\302\303J!\303 J!\"\207" [#14# #13# ctbl:dest-region-clear marker-position] 4] record ctbl:dest region nil mark-end #15=#:v buf width height clear-func max-func min-func buffer] 14 (#$ . 71984)]) #@36 [internal] Clear the content text. (defalias 'ctbl:dest-region-clear #[(begin end) "\302 ZW\203 S|\210 b\207" [end begin 2] 3 (#$ . 73417)]) (defconst ctbl:dest-background-buffer " *ctbl:dest-background*") #@28 Create a text destination. (defalias 'ctbl:dest-init-inline #[(width height) "\306\307!\306\310!\306\311!\211\211\312\f!L\210) \211\313 L\210)\211\314L\210)\211\nJ\315\316\317\320\321D\322D\322 D\322\nD\323\257E\324\325\326\327\330\314\211\211& ,L\210)J+\207" [#1=#:--cl-dest-- #2=#:--cl-window-- #3=#:--cl-buffer-- #4=#:v ctbl:dest-background-buffer #5=#:v make-symbol "--buffer--" "--window--" "--dest--" get-buffer-create selected-window nil lambda (&rest --cl-rest--) apply function #[(#6=#:G12 #7=#:G13 #8=#:G14) "rJq\210\301 )\207" [#8# erase-buffer] 1] quote --cl-rest-- record ctbl:dest text point-min point-max #9=#:v #10=#:v width height clear-func #11=#:buffer] 14 (#$ . 73633)]) #@68 [internal] Clear the selection overlays on the current table view. (defalias 'ctbl:dest-ol-selection-clear #[(dest) "\305! >\204\306\307\310D\"\210\311H\312\n:\203(\n@\313 !\210\nA\211\202*\305! >\2048\306\307\310D\"\210\211\311\312I)\207" [dest cl-struct-ctbl:dest-tags #1=#:--cl-var-- i #2=#:v type-of signal wrong-type-argument ctbl:dest 10 nil delete-overlay] 5 (#$ . 74365)]) #@201 [internal] Put a selection overlay on CELL-ID. The selection overlay can be put on some cells, calling this function many times. This function does not manage the selections, just put the overlay. (defalias 'ctbl:dest-ol-selection-set #[(dest cell-id) "\306\307!\306\310!\306\311!\211\211\312L\210) \211 @L\210)\211 AL\210)r\313!>\204;\314\315\316D\"\210\317Hq\210\214\320!\321!}\210\322 J\323\324\325\326\327D\330D\330 D\330\nD\331\257E#\210+\313!>\204y\314\315\316D\"\210\211\332\nJI,\207" [#1=#:--cl-col-id-- #2=#:--cl-row-id-- #3=#:--cl-ols-- #4=#:v #5=#:v cell-id make-symbol "--ols--" "--row-id--" "--col-id--" nil type-of signal wrong-type-argument ctbl:dest 2 ctbl:dest-point-min ctbl:dest-point-max ctbl:find-all-by-row-id lambda (&rest --cl-rest--) apply function #[(#6=#:G15 #7=#:G16 #8=#:G17 tcell-id begin end) "\306 \"\307\n\310 A\fJU\203\311\202\312#\210 \211 \n JBL*\207" [begin end overlay tcell-id #6# #8# make-overlay overlay-put face ctbl:face-cell-select ctbl:face-row-select #9=#:v] 6] quote --cl-rest-- 10 #10=#:v dest #11=#:g0 cl-struct-ctbl:dest-tags #12=#:v] 12 (#$ . 74770)]) #@297 [internal] Create a new component object. DEST is a ctbl:dest object. MODEL is a model object. PARAM is a rendering parameter object. This function is called by the initialization functions, `ctbl:create-table-component-buffer', `ctbl:create-table-component-region' and `ctbl:get-table-text'. (defalias 'ctbl:cp-new #[(dest model param) "\305\306 \n\206 \307\310\211\211\211\211&\n\311\f!\210\f)\207" [dest model param ctbl:default-rendering-param cp record ctbl:component (0 . 0) nil ctbl:cp-update] 11 (#$ . 75930)]) #@291 Return the component object on the current cursor position. Firstly, getting a text property `ctbl:component' on the current position. If no object is found in the text property, the buffer local variable `ctbl:component' is tried to get. If no object is found at the variable, return nil. (defalias 'ctbl:cp-get-component #[nil "\301`\302\"\211\204\303\302p\"\204\304\305!\210\306\302p\")\207" [component get-text-property ctbl:component local-variable-p error "Not found ctbl:component attribute..." buffer-local-value] 4 (#$ . 76463)]) #@47 Return the selected cell-id of the component. (defalias 'ctbl:cp-get-selected #[(component) "\302! >\204\303\304\305D\"\210\306H\207" [component cl-struct-ctbl:component-tags type-of signal wrong-type-argument ctbl:component 4] 4 (#$ . 77015)]) #@67 Return the selected row data. If no cell is selected, return nil. (defalias 'ctbl:cp-get-selected-data-row #[(component) "\306! >\204\307\310\311D\"\210\312H\306! >\204\"\307\310\311D\"\210\313H\211@ A\f\2053\f\n8,\207" [component cl-struct-ctbl:component-tags rows cell-id row-id col-id type-of signal wrong-type-argument ctbl:component 5 4] 5 (#$ . 77271)]) #@68 Return the selected cell data. If no cell is selected, return nil. (defalias 'ctbl:cp-get-selected-data-cell #[(component) "\306! >\204\307\310\311D\"\210\312H\306! >\204\"\307\310\311D\"\210\313H\211@ A\f\2055 \f\n88,\207" [component cl-struct-ctbl:component-tags rows cell-id row-id col-id type-of signal wrong-type-argument ctbl:component 5 4] 5 (#$ . 77651)]) #@26 Return the model object. (defalias 'ctbl:cp-get-model #[(component) "\302! >\204\303\304\305D\"\210\306H\207" [component cl-struct-ctbl:component-tags type-of signal wrong-type-argument ctbl:component 2] 4 (#$ . 78035)]) #@54 Replace the model object and update the destination. (defalias 'ctbl:cp-set-model #[(component model) "\304! >\204\305\306\307D\"\210\211\310 I\210)\311!\207" [component cl-struct-ctbl:component-tags #1=#:v model type-of signal wrong-type-argument ctbl:component 2 ctbl:cp-update] 5 (#$ . 78267)]) #@38 Return a rendering parameter object. (defalias 'ctbl:cp-get-param #[(component) "\302! >\204\303\304\305D\"\210\306H\207" [component cl-struct-ctbl:component-tags type-of signal wrong-type-argument ctbl:component 3] 4 (#$ . 78578)]) #@66 Return a buffer object on which the component draws the content. (defalias 'ctbl:cp-get-buffer #[(component) "\303\211! >\204\304\305\306D\"\210\307H!\n>\2041\304\305\310\303! >\204+\304\305\306D\"\210\307HD\"\210\303! >\204@\304\305\306D\"\210\307H\311H\207" [component cl-struct-ctbl:component-tags cl-struct-ctbl:dest-tags type-of signal wrong-type-argument ctbl:component 1 ctbl:dest 2] 7 (#$ . 78822)]) #@144 [internal] Just move the cursor onto the CELL-ID. If CELL-ID is not found, return nil. This function is called by `ctbl:cp-set-selected-cell'. (defalias 'ctbl:cp-move-cursor #[(dest cell-id) "\303 \"\211\203!\nb\210\304\305 \306p!\"\204\307\306p!\n\"\210\310\202\"\311)\207" [dest cell-id pos ctbl:find-by-cell-id eql selected-window get-buffer-window set-window-point t nil] 5 (#$ . 79251)]) #@133 Select the cell on the component. If the current view doesn't contain the cell, this function updates the view to display the cell. (defalias 'ctbl:cp-set-selected-cell #[(component cell-id) "\306! >\204\307\310\311D\"\210\312H\306! >\204!\307\310\311D\"\210\313H\306! >\2043\307\310\311D\"\210\314H\315 \"\205s\306! >\204O\307\310\311D\"\210\211\312 I\210)\316 !\210\317 !\210\320 \"\210\321 !\210\f \232?\205s\322!+\207" [component cl-struct-ctbl:component-tags model dest last cell-id type-of signal wrong-type-argument ctbl:component 4 1 2 ctbl:cp-move-cursor ctbl:dest-before-update ctbl:dest-ol-selection-clear ctbl:dest-ol-selection-set ctbl:dest-after-update ctbl:cp-fire-selection-change-hooks #1=#:v] 7 (#$ . 79657)]) #@89 Add the update hook function to the component. HOOK is a function that has no argument. (defalias 'ctbl:cp-add-update-hook #[(component hook) "\304! >\204\305\306\307D\"\210\211\310 \n\310HBI)\207" [component cl-struct-ctbl:component-tags #1=#:v hook type-of signal wrong-type-argument ctbl:component 6] 6 (#$ . 80418)]) #@99 Add the selection change hook function to the component. HOOK is a function that has no argument. (defalias 'ctbl:cp-add-selection-change-hook #[(component hook) "\304! >\204\305\306\307D\"\210\211\310 \n\310HBI)\207" [component cl-struct-ctbl:component-tags #1=#:v hook type-of signal wrong-type-argument ctbl:component 7] 6 (#$ . 80751)]) #@88 Add the click hook function to the component. HOOK is a function that has no argument. (defalias 'ctbl:cp-add-click-hook #[(component hook) "\304! >\204\305\306\307D\"\210\211\310 \n\310HBI)\207" [component cl-struct-ctbl:component-tags #1=#:v hook type-of signal wrong-type-argument ctbl:component 8] 6 (#$ . 81104)]) #@42 Clear and re-draw the component content. (defalias 'ctbl:cp-update #[(component) "\306!\307!\n>\204\310\311\312D\"\210\313Hr q\210\314 !\210\315 !\210\316 r\307 !'>\2048\310\311\317 D\"\210 \320Hq\210\214\321 !\322 !}\210\323 !\210\307\211\211!\n>\204[\310\311\312D\"\210\320H!(>\204}\310\311\324\307!\n>\204w\310\311\312D\"\210\320HD\"\210\307!\n>\204\214\310\311\312D\"\210\320H\313H!)>\203\344\325\326!\211*\211+L\210)\327*J!\210\330 \307!\n>\204\274\310\311\312D\"\210\320H\307!\n>\204\316\310\311\312D\"\210\331H\332\333\334\335\336D\337*D\340FE$\210)\202\"\307!\n>\204\363\310\311\312D\"\210\211,\341\342 \307!\n>\204 \310\311\312D\"\210\320H\307!\n>\204\310\311\312D\"\210\331H#I\210),\343\307!\n>\2044\310\311\312D\"\210\344H\"\210\345 !\210\346!+\207" [component buf cl-struct-ctbl:component-tags dest buffer-read-only #1=#:g1 ctbl:cp-get-buffer type-of signal wrong-type-argument ctbl:component 1 ctbl:dest-before-update ctbl:dest-ol-selection-clear nil ctbl:dest 2 ctbl:dest-point-min ctbl:dest-point-max ctbl:dest-clear ctbl:model make-symbol "--cp--" ctbl:async-state-on-update ctbl:render-async-main 3 lambda (&rest --cl-rest--) apply function #[(#2=#:G18 rows &optional astate) "\305J! >\204\306\307\310JD\"\210J\211\311 I\210)\f\205$\312J\313\f#\207" [#2# cl-struct-ctbl:component-tags #3=#:v rows astate type-of signal wrong-type-argument ctbl:component 5 ctbl:cp-states-set async-state] 5] quote --cl-rest-- 5 ctbl:render-main ctbl:cp-set-selected-cell 4 ctbl:dest-after-update ctbl:cp-fire-update-hooks cl-struct-ctbl:dest-tags cl-struct-ctbl:model-tags cl-struct-ctbl:async-model-tags #4=#:--cl-cp-- #5=#:v #6=#:v] 11 (#$ . 81435)]) #@49 [internal] Get a value from COMPONENT with KEY. (defalias 'ctbl:cp-states-get #[(component key) "\303 !\n>\204\304\305\306 D\"\210 \307H\236A\207" [key component cl-struct-ctbl:component-tags type-of signal wrong-type-argument ctbl:component 9] 5 (#$ . 83164)]) #@34 [internal] Set a value with KEY. (defalias 'ctbl:cp-states-set #[(component key value) "\306 !\n>\204\307\310\311 D\"\210 \312H\236\211\204<\fB\306 !\n>\204,\307\310\311 D\"\210 \211 \312  \312HBI*\202C \211\f\f\241))\207" [key component cl-struct-ctbl:component-tags pair value #1=#:x type-of signal wrong-type-argument ctbl:component 9 #2=#:v #3=#:v] 6 (#$ . 83435)]) #@74 [internal] Call click hook functions of the component with no arguments. (defalias 'ctbl:cp-fire-click-hooks #[(component) "\305! >\204\306\307\310D\"\210\311H\312\n:\2037\n@\3131( 0\210\2020\314\315 \f#)\210\nA\211\202*\312\207" [component cl-struct-ctbl:component-tags #1=#:--cl-var-- f err type-of signal wrong-type-argument ctbl:component 8 nil (error) message "CTable: Click / Hook error %S [%s]"] 5 (#$ . 83823)]) #@85 [internal] Call selection change hook functions of the component with no arguments. (defalias 'ctbl:cp-fire-selection-change-hooks #[(component) "\305! >\204\306\307\310D\"\210\311H\312\n:\2037\n@\3131( 0\210\2020\314\315 \f#)\210\nA\211\202*\312\207" [component cl-struct-ctbl:component-tags #1=#:--cl-var-- f err type-of signal wrong-type-argument ctbl:component 7 nil (error) message "CTable: Selection change / Hook error %S [%s]"] 5 (#$ . 84265)]) #@75 [internal] Call update hook functions of the component with no arguments. (defalias 'ctbl:cp-fire-update-hooks #[(component) "\305! >\204\306\307\310D\"\210\311H\312\n:\2037\n@\3131( 0\210\2020\314\315 \f#)\210\nA\211\202*\312\207" [component cl-struct-ctbl:component-tags #1=#:--cl-var-- f err type-of signal wrong-type-argument ctbl:component 6 nil (error) message "Ctable: Update / Hook error %S [%s]"] 5 (#$ . 84740)]) #@63 [internal] Find the cell-id position using bi-section search. (defalias 'ctbl:find-position-fast #[(dest cell-id) "@\211\306Z\307]\310 !\311 !\f \\\312\245\212\3132\266\314\211\315\316\317\314 $\211\2058\320!@ Y\203I\321\313`\"\210\202\260\204U\202\260 U\203kb\210\322 \210\321\313`\"\210\202\260\nW\203\213 W\203\213b\210\322 \210\314y\210\321\313`\"\210\202\260 W\203\237\211 \\\312\245\202\260 W\203\260\f \\\312\245\314\202&.\207" [cell-id row-id row-id-lim dest min max 10 0 ctbl:dest-point-min ctbl:dest-point-max 2 --cl-block-nil-- nil t next-single-property-change ctbl:cell-id ctbl:cursor-to-cell throw beginning-of-line mid next cur-row-id #1=#:--cl-var--] 6 (#$ . 85185)]) #@170 [internal] Return a point where the text property `ctbl:cell-id' is equal to cell-id in the current table view. If CELL-ID is not found in the current view, return nil. (defalias 'ctbl:find-by-cell-id #[(dest cell-id) "\3062G\307 \"\310!\311\211\312\313\n\314\311 $\211\205\"\315\f!\f\203D\f W\203D \203< \232\203<\316\306\f\"\210\f\311\202-\3110\207" [dest cell-id pos end next text-cell --cl-block-nil-- ctbl:find-position-fast ctbl:dest-point-max nil t next-single-property-change ctbl:cell-id ctbl:cursor-to-cell throw #1=#:--cl-var--] 6 (#$ . 85947)]) #@254 [internal] Call the function FUNC in each regions where the text-property `ctbl:cell-id' is equal to CELL-ID. The argument function FUNC receives two arguments, begin position and end one. This function is mainly used at functions for putting overlays. (defalias 'ctbl:find-all-by-cell-id #[(dest cell-id func) "\3062U\307 \"\310!\311\211\312\313\n\314\311 $\211\205\"\315\f!\f\203R\f W\203R \203J \232\203J\313\f\314\311 $\316\306\f\"\"\210)\f\311\202-\3110\207" [dest cell-id pos end next text-id --cl-block-nil-- ctbl:find-position-fast ctbl:dest-point-max nil t next-single-property-change ctbl:cell-id ctbl:cursor-to-cell throw #1=#:--cl-var-- cend func] 6 (#$ . 86533)]) #@278 [internal] Call the function FUNC in each regions where the row-id of the text-property `ctbl:cell-id' is equal to ROW-ID. The argument function FUNC receives three arguments, cell-id, begin position and end one. This function is mainly used at functions for putting overlays. (defalias 'ctbl:find-all-by-row-id #[(dest row-id func) "\3062d\307 C\"\310!\311\211\312\313\n\314\311 $\211\205#\315\f!\f\203a\f W\203a \203Y @\232\203M\313\f\314\311 $ \f#\210)\202Y @W\203Y\316\306\311\"\210\f\311\202-\3110\207" [dest row-id pos end next text-id --cl-block-nil-- ctbl:find-position-fast ctbl:dest-point-max nil t next-single-property-change ctbl:cell-id ctbl:cursor-to-cell throw #1=#:--cl-var-- cend func] 6 (#$ . 87245)]) #@57 [internal] Return the first cell in the current buffer. (defalias 'ctbl:find-first-cell #[(dest) "\302\303!\304\"\211\205\305 !)\207" [dest pos next-single-property-change ctbl:dest-point-min ctbl:cell-id ctbl:cursor-to-cell] 4 (#$ . 88002)]) #@56 [internal] Return the last cell in the current buffer. (defalias 'ctbl:find-last-cell #[(dest) "\302\303!\304\"\211\205\305 S!)\207" [dest pos previous-single-property-change ctbl:dest-point-max ctbl:cell-id ctbl:cursor-to-cell] 4 (#$ . 88255)]) #@118 [internal] Return the cell-id at the cursor. If the text does not have the text-property `ctbl:cell-id', return nil. (defalias 'ctbl:cursor-to-cell #[(&optional pos) "\301\206`\302\"\207" [pos get-text-property ctbl:cell-id] 3 (#$ . 88512)]) #@219 Return the cell-id at the cursor. If the point of cursor does not have the cell-id, search the cell-id around the cursor position. If the current buffer is not table view (it may be bug), this function may return nil. (defalias 'ctbl:cursor-to-nearest-cell #[nil "\306 \206\252\307\310\311\312\313 \314\f! >\204\315\316\317\fD\"\210\f\320H)\321\322 CC\nC C D D\nD\n D \211D\211D\n\211D \211D\257\f\321\211\323\211\321:\203\216@!\211\203\321\211\202\200\323\203\216A\321\202^.\206\250d\324\245`V\203\244\325!\202\250\326!.\207" [r l u d cl-x cl-struct-ctbl:component-tags ctbl:cursor-to-cell #[nil "l?\205\300u\207" [nil] 1] #[nil "n?\205\300u\207" [-1] 1] #[nil "o?\205\300\301!\207" [line-move 1] 2] #[nil "m?\205\300\301!\207" [line-move -1] 2] ctbl:cp-get-component type-of signal wrong-type-argument ctbl:component 1 nil #[(cmds) "\212\204\n\302 \202\3031@ \210 A!0\202\210\304)\207" [cmds get ctbl:cursor-to-cell (error) nil] 2] t 2 ctbl:find-first-cell ctbl:find-last-cell dest get #1=#:--cl-var-- i id #2=#:--cl-var-- #3=#:--cl-var-- #4=#:--cl-var--] 14 (#$ . 88764)]) #@57 [internal] Move to the cell with the abstract position. (defalias 'ctbl:navi-move-gen #[(drow dcol) "\306 \307 \211@ A\205 \205\310\311\f\n\\ \\\"!,\207" [cp cell-id row-id col-id drow dcol ctbl:cp-get-component ctbl:cursor-to-nearest-cell ctbl:navi-goto-cell ctbl:cell-id] 6 (#$ . 89936)]) #@31 Move to the up neighbor cell. (defalias 'ctbl:navi-move-up #[(&optional num) "\204\301\302[\303\"\207" [num 1 ctbl:navi-move-gen 0] 3 (#$ . 90243) "p"]) #@33 Move to the down neighbor cell. (defalias 'ctbl:navi-move-down #[(&optional num) "\204\301\302\303\"\207" [num 1 ctbl:navi-move-gen 0] 3 (#$ . 90407) "p"]) #@34 Move to the right neighbor cell. (defalias 'ctbl:navi-move-right #[(&optional num) "\204\301\302\303\"\207" [num 1 ctbl:navi-move-gen 0] 3 (#$ . 90574) "p"]) #@33 Move to the left neighbor cell. (defalias 'ctbl:navi-move-left #[(&optional num) "\204\301\302\303[\"\207" [num 1 ctbl:navi-move-gen 0] 3 (#$ . 90743) "p"]) #@29 Move to the left most cell. (defalias 'ctbl:navi-move-left-most #[nil "\303 \304 \211@\205 \205\305\306\n\307\"!+\207" [cp cell-id row-id ctbl:cp-get-component ctbl:cursor-to-nearest-cell ctbl:navi-goto-cell ctbl:cell-id 0] 5 (#$ . 90911) nil]) #@30 Move to the right most cell. (defalias 'ctbl:navi-move-right-most #[nil "\305 \306 \211@\307!\310 !\205 \205 \311\312\n\fS\"!-\207" [cp cell-id row-id model cols ctbl:cp-get-component ctbl:cursor-to-nearest-cell ctbl:cp-get-model ctbl:model-column-length ctbl:navi-goto-cell ctbl:cell-id] 5 (#$ . 91170) nil]) #@47 Move the cursor to CELL-ID and put selection. (defalias 'ctbl:navi-goto-cell #[(cell-id) "\302 \211\205 \303 \")\207" [cp cell-id ctbl:cp-get-component ctbl:cp-set-selected-cell] 4 (#$ . 91496)]) #@30 Action handler on the cells. (defalias 'ctbl:navi-on-click #[nil "\302 \303 \211\205\205\304 \"\210\305 !*\207" [cell-id cp ctbl:cp-get-component ctbl:cursor-to-nearest-cell ctbl:cp-set-selected-cell ctbl:cp-fire-click-hooks] 4 (#$ . 91701) nil]) #@48 Jump to a specified column of the current row. (defalias 'ctbl:navi-jump-to-column #[nil "\306 \307 \211@\310!\311 !\312\313\314 ! >\204\"\315\316\317 D\"\210 \320H\"\321\322\"\205H \205H\323\324\n\325\326\327$\"!.\207" [cp cell-id row-id model cols cl-struct-ctbl:model-tags ctbl:cp-get-component ctbl:cursor-to-nearest-cell ctbl:cp-get-model ctbl:model-column-length mapcar ctbl:cmodel-title type-of signal wrong-type-argument ctbl:model 2 t "Column name: " ctbl:navi-goto-cell ctbl:cell-id position :test equal col-names completion-ignore-case ctbl:completing-read col-name] 9 (#$ . 91962) nil]) #@43 Update action for the latest table model. (defalias 'ctbl:action-update-buffer #[nil "\301 \211\205\n\302!)\207" [cp ctbl:cp-get-component ctbl:cp-update] 3 (#$ . 92592) nil]) #@63 Action handler on the header columns. (for normal key events) (defalias 'ctbl:action-column-header #[nil "\300\301 \302`\303\"\"\207" [ctbl:fire-column-header-action ctbl:cp-get-component get-text-property ctbl:col-id] 5 (#$ . 92777) nil]) #@59 [internal] Execute action handlers on the header columns. (defalias 'ctbl:fire-column-header-action #[(cp col-id) "\205h \205h \306!\307\n! >\204\310\311\312\nD\"\210\n\313H)8\307\f! >\2041\310\311\314\fD\"\210\f\315H\316:\203f@\3171R \"0\210\202]\320\321#)\210A\211\202;+\316\207" [cp col-id cl-x cl-struct-ctbl:model-tags cmodel cl-struct-ctbl:cmodel-tags ctbl:cp-get-model type-of signal wrong-type-argument ctbl:model 2 ctbl:cmodel 6 nil (error) message "Ctable: Header Click / Hook error %S [%s]" #1=#:--cl-var-- f err] 6 (#$ . 93023)]) #@84 [internal] Generate action handler on the header columns. (for header-line-format) (defalias 'ctbl:render-column-header-keymap #[(col-id) "\305\306!\211\211\nL\210)\307 !\310\f\311\312\313\314\315\316\317D\320D\321FF#\210\f*\207" [#1=#:--cl-col-id-- #2=#:v col-id ctbl:column-header-keymap keymap make-symbol "--col-id--" copy-keymap define-key [header-line mouse-1] lambda (&rest --cl-rest--) (interactive) apply function #[(#3=#:G19) "\301\302 J\"\207" [#3# ctbl:fire-column-header-action ctbl:cp-get-component] 3] quote --cl-rest--] 11 (#$ . 93607)]) #@32 Keymap for the header columns. (defvar ctbl:column-header-keymap (ctbl:define-keymap '(([mouse-1] . ctbl:action-column-header) ("C-m" . ctbl:action-column-header) ("RET" . ctbl:action-column-header))) (#$ . 94172)) #@35 Keymap for the table-mode buffer. (defvar ctbl:table-mode-map (ctbl:define-keymap '(("k" . ctbl:navi-move-up) ("j" . ctbl:navi-move-down) ("h" . ctbl:navi-move-left) ("l" . ctbl:navi-move-right) ("p" . ctbl:navi-move-up) ("n" . ctbl:navi-move-down) ("b" . ctbl:navi-move-left) ("f" . ctbl:navi-move-right) ("c" . ctbl:navi-jump-to-column) ("e" . ctbl:navi-move-right-most) ("a" . ctbl:navi-move-left-most) ("g" . ctbl:action-update-buffer) ([mouse-1] . ctbl:navi-on-click) ("C-m" . ctbl:navi-on-click) ("RET" . ctbl:navi-on-click))) (#$ . 94393)) #@57 [internal] Return a keymap object for the table buffer. (defalias 'ctbl:table-mode-map #[(&optional custom-map) "\203 \302 \"\210\207 \207" [custom-map ctbl:table-mode-map set-keymap-parent] 3 (#$ . 94946)]) #@72 This hook is called at end of setting up major mode `ctbl:table-mode'. (defvar ctbl:table-mode-hook nil (#$ . 95164)) #@62 Set up major mode `ctbl:table-mode'. \{ctbl:table-mode-map} (defalias 'ctbl:table-mode #[(&optional custom-map) "\306 \210\307\310\311 !!\210\312\313\307\211\314\315\316\317\307$\210\320\321!\207" [truncate-lines custom-map major-mode mode-name buffer-undo-list buffer-read-only kill-all-local-variables t use-local-map ctbl:table-mode-map ctbl:table-mode "Table Mode" add-hook post-command-hook ctbl:start-tooltip-timer nil run-hooks ctbl:table-mode-hook] 6 (#$ . 95288)]) #@183 [internal] Return a list of rows. This function makes side effects: cell widths are stored at COLUMN-WIDTHS, longer cell strings are truncated by maximum width of the column models. (defalias 'ctbl:render-check-cell-width #[(rows cmodels column-widths) "\306\211 :\203\274 @\211\306\306\211\307\306\211\306\310\f:\203\255\f@:\203\255@\311!>\204P\312\313\314D\"\210\315H8\316\317 \"\203z\320!W\203z\321\"\320!W\203\223\233\211\320!\240\210)B\fAAT\306\202+\237.\n B A\211\202 \237+\207" [rows #1=#:--cl-var-- row #2=#:--cl-var-- #3=#:--cl-var-- c nil 0 t type-of signal wrong-type-argument ctbl:cmodel 4 format "%s" string-width truncate-string-to-width cmodels #4=#:--cl-var-- cm cwmax i cw val #5=#:--cl-var-- #6=#:--cl-var-- cl-struct-ctbl:cmodel-tags column-widths #7=#:c] 5 (#$ . 95775)]) #@385 [internal] Adjust column widths and return a list of column widths. If TOTAL-WIDTH is nil, this function just returns COLUMN-WIDTHS. If TOTAL-WIDTHS is shorter than sum of COLUMN-WIDTHS, this function expands columns. The residual width is distributed over the columns. If TOTAL-WIDTHS is longer than sum of COLUMN-WIDTHS, this function shrinks columns to reduce the surplus width. (defalias 'ctbl:render-adjust-cell-width #[(cmodels column-widths total-width) "\306\307 :\203 @ \n\\ A\211\202 + \203& \fU\203*\202A \fW\203:\310\n \f$\202A\311\n \f$)\207" [column-widths #1=#:--cl-var-- i #2=#:--cl-var-- init-total total-width nil 0 ctbl:render-adjust-cell-width-shrink ctbl:render-adjust-cell-width-expand cmodels] 6 (#$ . 96679)]) #@34 [internal] shrink column widths. (defalias 'ctbl:render-adjust-cell-width-shrink #[(cmodels column-widths total-width init-total) "\306!\307\nG\310 W\203 \fB T\211\202\f\f\237+Z\310\311 G\211\307U\204\343\307U\204\343\3122\334\313\245] \310\211\310\211\311:\205\331@\211\n88\314!>\204\205\315\316\317D\"\210\320H\206\215\313\307X\203\236\321\312\310\"\210\202\316X\203\257\322 \"\202\316\313Z]  Z\\\233\211! \240\210*A\310\202].0\210\310\202-*+\207" [column-widths i cmodels #1=#:--cl-var-- #2=#:--cl-var-- column-indexes copy-sequence 0 nil t --cl-block-nil-- 1 type-of signal wrong-type-argument ctbl:cmodel 5 throw delete init-total total-width residual cnum #3=#:--cl-var-- ave-shrink #4=#:--cl-var-- idx cmodel cwidth min-width #5=#:--cl-var-- cl-struct-ctbl:cmodel-tags next-width #6=#:c] 5 (#$ . 97443)]) #@34 [internal] expand column widths. (defalias 'ctbl:render-adjust-cell-width-expand #[(cmodels column-widths total-width init-total) "\306!\307\nG\310 W\203 \fB T\211\202\f\f\237+Z\310\311 G\211\307U\204\345\307U\204\345\3122\336\313\245] \310\211\310\211\311:\205\333@\211\n88\314!>\204\205\315\316\317D\"\210\320H\206\216\307X\203\237\321\312\310\"\210\202\320X\203\260\322 \"\202\320\\^  Z\\\233\211! \240\210*A\310\202].0\210\310\202-*+\207" [column-widths i cmodels #1=#:--cl-var-- #2=#:--cl-var-- column-indexes copy-sequence 0 nil t --cl-block-nil-- 1 type-of signal wrong-type-argument ctbl:cmodel 4 throw delete total-width init-total residual cnum #3=#:--cl-var-- ave-expand #4=#:--cl-var-- idx cmodel cwidth max-width #5=#:--cl-var-- cl-struct-ctbl:cmodel-tags next-width #6=#:c] 5 (#$ . 98376)]) #@51 [internal] Return a list of the format functions. (defalias 'ctbl:render-get-formats #[(cmodels column-widths) "\306 \306\211\306\307 :\203\211 @\f:\203\211\f@\310 !>\2041\311\312\313 D\"\210 \314H\315\316!\211\211\nL\210)\317\267\202j\320\321\322\323\324D\325D\326FE\202w\320\321\322\323\327D\325D\326FE\202w\320\321\322\323\330D\325D\326FE)B A\fA\306\202\237.\207" [column-widths #1=#:--cl-var-- cw cmodels #2=#:--cl-var-- cm nil t type-of signal wrong-type-argument ctbl:cmodel 3 make-symbol "--cw--" #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (left 74 center 90)) lambda (&rest --cl-rest--) apply function #[(#3=#:G20 s) "\302J \"\207" [#3# s ctbl:format-left] 3] quote --cl-rest-- #[(#4=#:G21 s) "\302J \"\207" [#4# s ctbl:format-center] 3] #[(#5=#:G22 s) "\302J \"\207" [#5# s ctbl:format-right] 3] al #6=#:--cl-var-- #7=#:--cl-var-- cl-struct-ctbl:cmodel-tags #8=#:--cl-cw-- #9=#:v] 7 (#$ . 99306)]) #@36 [internal] Choose rendering color. (defalias 'ctbl:render-choose-color #[(model param index) "\204\304\207;\203 \207\305!\203 \n\"\207\n\236\206!\306\236\211\205( A)\207" [param model index val nil functionp t] 4 (#$ . 100312)]) #@75 [internal] Return nil or the color string at the cell (row-id . cell-id). (defalias 'ctbl:render-bg-color #[(str row-id col-id model param) "\306! >\204\307\310\311D\"\210\312H\211\204\313\202A\314\n!\203+\n \f $\202A\315\f B\n\"\2067\316\n\236\211\205@A))\207" [param cl-struct-ctbl:param-tags bgc-param model row-id col-id type-of signal wrong-type-argument ctbl:param 3 nil functionp assoc t str pair] 6 (#$ . 100562)]) #@56 [internal] Return the string with the background face. (defalias 'ctbl:render-bg-color-put #[(str row-id col-id model param) "\306 \n \f%\211\203/\307\310\311#\312\313!\311\203'\314\315 D\"\202*\315 D#)\2020)\207" [str row-id col-id model param bgcolor ctbl:render-bg-color get-text-property 0 face propertize copy-sequence append :background org-face] 8 (#$ . 101010)]) #@42 [internal] Return the propertize string. (defalias 'ctbl:render-line-color #[(str model param index) "\304\305!\306\307\310 \n #D#\207" [str model param index propertize copy-sequence face :foreground ctbl:render-choose-color] 8 (#$ . 101402)]) #@61 [internal] Return the propertize string for vertical lines. (defalias 'ctbl:render-vline-color #[(str model param index) "\305 \306\n! >\204\307\310\311\nD\"\210\n\312H\f$\207" [str model param cl-struct-ctbl:param-tags index ctbl:render-line-color type-of signal wrong-type-argument ctbl:param 4] 7 (#$ . 101654)]) #@63 [internal] Return the propertize string for horizontal lines. (defalias 'ctbl:render-hline-color #[(str model param index) "\305 \306\n! >\204\307\310\311\nD\"\210\n\312H\f$\207" [str model param cl-struct-ctbl:param-tags index ctbl:render-line-color type-of signal wrong-type-argument ctbl:param 5] 7 (#$ . 101979)]) #@72 [internal] If a vertical line is needed at the column index, return t. (defalias 'ctbl:render-draw-vline-p #[(model param index) "\204\303\207\304=\203\305\207\306!\203 \n\"\207:\205!\n>\207" [param model index nil all t functionp] 3 (#$ . 102306)]) #@71 [internal] If a horizontal line is needed at the row index, return t. (defalias 'ctbl:render-draw-hline-p #[(model param index) "\204\303\207\304=\203\305\207\306!\203 \n\"\207\n>\207" [param model index nil all t functionp] 3 (#$ . 102575)]) #@13 [internal]  (defalias 'ctbl:render-make-hline #[(column-widths model param index) "\306! >\204\307\310\311D\"\210\312H\306! >\204!\307\310\311D\"\210\313H\314\211\211&\315'\306! >\204?\307\310\311D\"\210\316H(#\204L\317\202\230(\320\267\202\327\321\306! >\204c\307\310\311D\"\210\322H!\321\306! >\204x\307\310\311D\"\210\323H!\321\306! >\204\215\307\310\311D\"\210\324H!\202\321\306! >\204\245\307\310\311D\"\210\325H!\321\306! >\204\272\307\310\311D\"\210\326H!\321\306! >\204\317\307\310\311D\"\210\327H!\202\321\306! >\204\347\307\310\311D\"\210\330H!\321\306! >\204\374\307\310\311D\"\210\331H!\321\306! >\204\307\310\311D\"\210\332H!\333\334'&\335#\205\"\f\314)*G+*,\314-\336.\314/\3370,:\203|,@-.+\232/\340- \")B)\334'&.#\203l/\204l )B),A,.T.\3140\202:\341\342\343)!\".\334'&\344#\205\220\n\345R'($-\207" [param cl-struct-ctbl:param-tags right joint left hline type-of signal wrong-type-argument ctbl:param 6 9 nil ctbl:render-draw-hline-p 7 "" #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (0 83 -1 149)) char-to-string 10 14 11 12 15 13 16 18 17 ctbl:render-hline-color ctbl:render-draw-vline-p 0 1 t make-string apply concat reverse -1 "\n" vparam model index ret column-widths endi #1=#:--cl-var-- cw ci endp #2=#:--cl-var--] 7 (#$ . 102835)]) #@63 [internal] Join a list of column strings with vertical lines. (defalias 'ctbl:render-join-columns #[(columns model param) "\306\307\310! >\204\311\312\313D\"\210\314H!\315\f\310! >\204(\311\312\313D\"\210\316H\317#\2057\320\n\f\317$C\310! >\204G\311\312\313D\"\210\316H\310! >\204Z\311\312\313D\"\210\321HG\322\306\306\211 !\323\"\232:\203\320@ \324\f#! B\315\f\310! >\204\250\311\312\313D\"\210\316H#\203\300\204\300\320\n\f$ BTA\306\"\202w. \315\f\310! >\204\343\311\312\313D\"\210\316H\325#\203\364\320\n\f\325$ B\326\327\330 !\331#*\207" [param cl-struct-ctbl:param-tags V ret model param-vl nil char-to-string type-of signal wrong-type-argument ctbl:param 8 ctbl:render-draw-vline-p 6 0 ctbl:render-vline-color 4 1 t ctbl:render-choose-color -1 mapconcat identity reverse "" param-vc columns endi i endp #1=#:--cl-var-- cv color #2=#:--cl-var--] 7 (#$ . 104252)]) #@58 [internal] Return a sum of the widths of vertical lines. (defalias 'ctbl:render-sum-vline-widths #[(cmodels model param) "\306\307 \310\n! >\204\311\312\313\nD\"\210\n\314H\306#\203T\310\n! >\204-\311\312\313\nD\"\210\n\314H G\315 G\316\317X\203~\232\307 \310\n! >\204b\311\312\313\nD\"\210\n\314H#\203s\204sTT\316\202B.\307 \310\n! >\204\221\311\312\313\nD\"\210\n\314H\320#\203\234T)\207" [sum model param cl-struct-ctbl:param-tags param-vl cmodels 0 ctbl:render-draw-vline-p type-of signal wrong-type-argument ctbl:param 6 1 nil t -1 endi i #1=#:--cl-var-- endp #2=#:--cl-var--] 6 (#$ . 105218)]) #@133 [internal] Return the column number to draw the table view. Return nil, if the width is not given. Then, the renderer draws freely. (defalias 'ctbl:dest-width-get #[(dest) "\304! >\204\305\306\307D\"\210\310H\311 \211\247\203 \202, \312=\203+\313\n!\202,\314*\207" [dest cl-struct-ctbl:dest-tags dwin dwidth type-of signal wrong-type-argument ctbl:dest 5 get-buffer-window full window-width nil] 5 (#$ . 105877)]) #@131 [internal] Return the row number to draw the table view. Return nil, if the height is not given. Then, the renderer draws freely. (defalias 'ctbl:dest-height-get #[(dest) "\304! >\204\305\306\307D\"\210\310H\311 \211\247\203 \202- \312=\203,\313\n!S\202-\314*\207" [dest cl-struct-ctbl:dest-tags dwin dheight type-of signal wrong-type-argument ctbl:dest 6 get-buffer-window full window-height nil] 5 (#$ . 106310)]) #@111 [internal] Rendering the table view. This function assumes that the current buffer is the destination buffer. (defalias 'ctbl:render-main #[(dest model param) "\306\307\310\n! >\204\311\312\313\nD\"\210\n\314H\315\316\310\n! >\204(\311\312\313\nD\"\210\n\317H!\f\310\n! >\204<\311\312\313\nD\"\210\n\320H#\f\307\211 \307!\321\":\203\252@\310!#>\204m\311\312\322D\"\210\317H \310!#>\204\205\311\312\322D\"\210\323H\206\215\324 \203\230 G\206\231\324]!B!A\307\"\202P!\237-$\307%\325 \f$#\326&!\203\323\327\f$\326&!\330\f\n'#Z#$\331\f$\"%\3322\310'!(>\204\360\311\312\333'D\"\210'\317H\203\334&\n'\f$%\210\335&\n'\f $%&0\210 .\207" [EOL drows model cl-struct-ctbl:model-tags cmodels rows "\n" nil type-of signal wrong-type-argument ctbl:model 2 ctbl:sort copy-sequence 1 3 t ctbl:cmodel 5 0 ctbl:render-check-cell-width ctbl:dest-width-get ctbl:render-adjust-cell-width ctbl:render-sum-vline-widths ctbl:render-get-formats ctbl:insert-break ctbl:param ctbl:render-main-header ctbl:render-main-content #1=#:--cl-var-- c title #2=#:--cl-var-- #3=#:--cl-var-- cl-struct-ctbl:cmodel-tags column-widths column-formats dest param cl-struct-ctbl:param-tags] 9 (#$ . 106745)]) #@37 [internal] Render the table header. (defalias 'ctbl:render-main-header #[(dest model param cmodels column-widths) "\306\307\310\311\f\310\211!\" :\203T @ :\203T @!\312\313!\314\n!#>\2045\315\316\317\nD\"\210\n\320H\"\321 \322\323 !\324\325&\"B\" A T A\202\"\237.$%#&'\314(!)>\204t\315\316\326(D\"\210(\320H\327=\203\270\314%!*>\204\217\315\316\330%D\"\210%\331H\203\270\332 @\333 \245+\334+\335\"&P\211,-\336\337!\210,\211*\202\310\340\f$%\311$c\210&'\261*\207" [cmodels #1=#:--cl-var-- cm i column-widths #2=#:--cl-var-- "\n" ctbl:render-join-columns nil 0 propertize ctbl:format-center type-of signal wrong-type-argument ctbl:cmodel 1 ctbl:col-id local-map ctbl:render-column-header-keymap mouse-face highlight ctbl:dest buffer ctbl:param 2 window-fringes frame-char-width make-string 32 make-local-variable ctbl:header-text ctbl:render-make-hline cw #3=#:--cl-var-- cl-struct-ctbl:cmodel-tags model param header-string EOL dest cl-struct-ctbl:dest-tags cl-struct-ctbl:param-tags fcol header-text header-line-format] 11 (#$ . 108000)]) #@38 [internal] Render the table content. (defalias 'ctbl:render-main-content #[(dest model param cmodels rows column-widths column-formats &optional begin-index) "\204\306\307 G \310\f:\203\323\f@\311T$c\210\312 \310\211\310\310\306\310\211 !\313\":\203\272@\211;\203`\202e\314\315\":\203\272@:\203\272@\316!% \317 \320B\321%!B!AAAT\310\"\202K!\237. # \261\210\fAT\202+\311\322$c*\207" [begin-index rows row-num EOL #1=#:--cl-var-- cols 0 "\n" nil ctbl:render-make-hline ctbl:render-join-columns t format "%s" ctbl:render-bg-color-put propertize ctbl:cell-id ctbl:cell-width -1 row-index column-widths model param #2=#:--cl-var-- i s column-formats #3=#:--cl-var-- fmt #4=#:--cl-var-- cw col-index str #5=#:--cl-var-- #6=#:--cl-var--] 8 (#$ . 109098)]) #@33 Keymap for the continue button. (defvar ctbl:continue-button-keymap (ctbl:define-keymap '(([mouse-1] . ctbl:action-continue-async-clicked) ("C-m" . ctbl:action-continue-async-clicked) ("RET" . ctbl:action-continue-async-clicked))) (#$ . 109985)) #@51 compiler-macro for inlining `ctbl:async-state-p'. (defalias 'ctbl:async-state-p--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block ctbl:async-state-p (and (memq (type-of cl-x) cl-struct-ctbl:async-state-tags) t)) nil] 7 (#$ . 110237)]) (put 'ctbl:async-state-p 'compiler-macro 'ctbl:async-state-p--cmacro) (defalias 'ctbl:async-state-p #[(cl-x) "\302! >\205 \303\207" [cl-x cl-struct-ctbl:async-state-tags type-of t] 2]) (byte-code "\300\301\302\303#\304\305\306\301#\207" [function-put ctbl:async-state-p side-effect-free error-free put ctbl:async-state cl-deftype-satisfies] 5) #@56 compiler-macro for inlining `ctbl:async-state-status'. (defalias 'ctbl:async-state-status--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block ctbl:async-state-status (progn (or (ctbl:async-state-p cl-x) (signal 'wrong-type-argument (list 'ctbl:async-state cl-x))) (aref cl-x 1))) nil] 7 (#$ . 110882)]) (put 'ctbl:async-state-status 'compiler-macro 'ctbl:async-state-status--cmacro) #@57 Access slot "status" of `ctbl:async-state' struct CL-X. (defalias 'ctbl:async-state-status #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-ctbl:async-state-tags type-of signal wrong-type-argument ctbl:async-state 1] 4 (#$ . 111327)]) (byte-code "\300\301\302\303#\300\207" [function-put ctbl:async-state-status side-effect-free t] 4) #@62 compiler-macro for inlining `ctbl:async-state-actual-width'. (defalias 'ctbl:async-state-actual-width--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block ctbl:async-state-actual-width (progn (or (ctbl:async-state-p cl-x) (signal 'wrong-type-argument (list 'ctbl:async-state cl-x))) (aref cl-x 2))) nil] 7 (#$ . 111691)]) (put 'ctbl:async-state-actual-width 'compiler-macro 'ctbl:async-state-actual-width--cmacro) #@63 Access slot "actual-width" of `ctbl:async-state' struct CL-X. (defalias 'ctbl:async-state-actual-width #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-ctbl:async-state-tags type-of signal wrong-type-argument ctbl:async-state 2] 4 (#$ . 112166)]) (byte-code "\300\301\302\303#\300\207" [function-put ctbl:async-state-actual-width side-effect-free t] 4) #@63 compiler-macro for inlining `ctbl:async-state-column-widths'. (defalias 'ctbl:async-state-column-widths--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block ctbl:async-state-column-widths (progn (or (ctbl:async-state-p cl-x) (signal 'wrong-type-argument (list 'ctbl:async-state cl-x))) (aref cl-x 3))) nil] 7 (#$ . 112548)]) (put 'ctbl:async-state-column-widths 'compiler-macro 'ctbl:async-state-column-widths--cmacro) #@64 Access slot "column-widths" of `ctbl:async-state' struct CL-X. (defalias 'ctbl:async-state-column-widths #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-ctbl:async-state-tags type-of signal wrong-type-argument ctbl:async-state 3] 4 (#$ . 113028)]) (byte-code "\300\301\302\303#\300\207" [function-put ctbl:async-state-column-widths side-effect-free t] 4) #@64 compiler-macro for inlining `ctbl:async-state-column-formats'. (defalias 'ctbl:async-state-column-formats--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block ctbl:async-state-column-formats (progn (or (ctbl:async-state-p cl-x) (signal 'wrong-type-argument (list 'ctbl:async-state cl-x))) (aref cl-x 4))) nil] 7 (#$ . 113413)]) (put 'ctbl:async-state-column-formats 'compiler-macro 'ctbl:async-state-column-formats--cmacro) #@65 Access slot "column-formats" of `ctbl:async-state' struct CL-X. (defalias 'ctbl:async-state-column-formats #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-ctbl:async-state-tags type-of signal wrong-type-argument ctbl:async-state 4] 4 (#$ . 113898)]) (byte-code "\300\301\302\303#\300\207" [function-put ctbl:async-state-column-formats side-effect-free t] 4) #@60 compiler-macro for inlining `ctbl:async-state-next-index'. (defalias 'ctbl:async-state-next-index--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block ctbl:async-state-next-index (progn (or (ctbl:async-state-p cl-x) (signal 'wrong-type-argument (list 'ctbl:async-state cl-x))) (aref cl-x 5))) nil] 7 (#$ . 114286)]) (put 'ctbl:async-state-next-index 'compiler-macro 'ctbl:async-state-next-index--cmacro) #@61 Access slot "next-index" of `ctbl:async-state' struct CL-X. (defalias 'ctbl:async-state-next-index #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-ctbl:async-state-tags type-of signal wrong-type-argument ctbl:async-state 5] 4 (#$ . 114751)]) (byte-code "\300\301\302\303#\300\207" [function-put ctbl:async-state-next-index side-effect-free t] 4) #@61 compiler-macro for inlining `ctbl:async-state-panel-begin'. (defalias 'ctbl:async-state-panel-begin--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block ctbl:async-state-panel-begin (progn (or (ctbl:async-state-p cl-x) (signal 'wrong-type-argument (list 'ctbl:async-state cl-x))) (aref cl-x 6))) nil] 7 (#$ . 115127)]) (put 'ctbl:async-state-panel-begin 'compiler-macro 'ctbl:async-state-panel-begin--cmacro) #@62 Access slot "panel-begin" of `ctbl:async-state' struct CL-X. (defalias 'ctbl:async-state-panel-begin #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-ctbl:async-state-tags type-of signal wrong-type-argument ctbl:async-state 6] 4 (#$ . 115597)]) (byte-code "\300\301\302\303#\300\207" [function-put ctbl:async-state-panel-begin side-effect-free t] 4) #@59 compiler-macro for inlining `ctbl:async-state-panel-end'. (defalias 'ctbl:async-state-panel-end--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block ctbl:async-state-panel-end (progn (or (ctbl:async-state-p cl-x) (signal 'wrong-type-argument (list 'ctbl:async-state cl-x))) (aref cl-x 7))) nil] 7 (#$ . 115976)]) (put 'ctbl:async-state-panel-end 'compiler-macro 'ctbl:async-state-panel-end--cmacro) #@60 Access slot "panel-end" of `ctbl:async-state' struct CL-X. (defalias 'ctbl:async-state-panel-end #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-ctbl:async-state-tags type-of signal wrong-type-argument ctbl:async-state 7] 4 (#$ . 116436)]) (byte-code "\300\301\302\303#\304\305\306\"\207" [function-put ctbl:async-state-panel-end side-effect-free t defalias copy-ctbl:async-state copy-sequence] 4) #@166 compiler-macro for inlining `make-ctbl:async-state'. (fn CL-WHOLE &cl-quote &key STATUS ACTUAL-WIDTH COLUMN-WIDTHS COLUMN-FORMATS NEXT-INDEX PANEL-BEGIN PANEL-END) (defalias 'make-ctbl:async-state--cmacro #[(cl-whole &rest #1=#:--cl-rest--) "\306\307\"A@\306\310\"A@\306\311\"A@\306\312\"A@\306\313\"A@\306\314\"A@\306\315\"A@\203f@\316>\203MAA\211\2028\317>A@\203\\\320\211\2028\321\322@\"\210\2026)\323\324\325\320\320 \n \f &\f.\207" [#1# status actual-width column-widths column-formats next-index plist-member :status :actual-width :column-widths :column-formats :next-index :panel-begin :panel-end (:status :actual-width :column-widths :column-formats :next-index :panel-begin :panel-end :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:status :actual-width :column-widths :column-formats :next-index :panel-begin :panel-end)" cl--defsubst-expand (status actual-width column-widths column-formats next-index panel-begin panel-end) (cl-block make-ctbl:async-state (record 'ctbl:async-state status actual-width column-widths column-formats next-index panel-begin panel-end)) panel-begin panel-end #2=#:--cl-keys-- cl-whole] 14 (#$ . 116865)]) (put 'make-ctbl:async-state 'compiler-macro 'make-ctbl:async-state--cmacro) #@146 Constructor for objects of type `ctbl:async-state'. (fn &key STATUS ACTUAL-WIDTH COLUMN-WIDTHS COLUMN-FORMATS NEXT-INDEX PANEL-BEGIN PANEL-END) (defalias 'make-ctbl:async-state #[(&rest #1=#:--cl-rest--) "\306\307\"A@\306\310\"A@\306\311\"A@\306\312\"A@\306\313\"A@\306\314\"A@\306\315\"A@\203f@\316>\203MAA\211\2028\317>A@\203\\\320\211\2028\321\322@\"\210\2026)\323\324 \n \f &.\207" [#1# status actual-width column-widths column-formats next-index plist-member :status :actual-width :column-widths :column-formats :next-index :panel-begin :panel-end (:status :actual-width :column-widths :column-formats :next-index :panel-begin :panel-end :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:status :actual-width :column-widths :column-formats :next-index :panel-begin :panel-end)" record ctbl:async-state panel-begin panel-end #2=#:--cl-keys--] 10 (#$ . 118173)]) (byte-code "\300\301\302\303#\304\305\306\307\310\311\312\313\305\303& \207" [function-put make-ctbl:async-state side-effect-free t cl-struct-define ctbl:async-state "Rendering State [internal]\n\nstatus : symbol ->\n normal : data still remains. this is the start state.\n requested : requested data and waiting for response.\n done : no data remains. this is the final state.\nactual-width : actual width\ncolumn-widths : width of each columns\ncolumn-formats : format of each columns\nnext-index : row index number for next request\npanel-begin : begin mark object for status panel\npanel-end : end mark object for status panel\n" cl-structure-object record nil ((cl-tag-slot) (status) (actual-width) (column-widths) (column-formats) (next-index) (panel-begin) (panel-end)) cl-struct-ctbl:async-state-tags] 11) #@36 [internal] Reset async data model. (defalias 'ctbl:async-state-on-update #[(component) "\306 !\307\n! >\204\310\311\312\nD\"\210\n\313H)\314 \315\"\211\205M\307\f!>\2043\310\311\316\fD\"\210\f\317H\205M\307\f!>\204I\310\311\316\fD\"\210\f\317H +\207" [component cp cl-x cl-struct-ctbl:model-tags amodel astate ctbl:cp-get-model type-of signal wrong-type-argument ctbl:model 1 ctbl:cp-states-get async-state ctbl:async-model 4 cl-struct-ctbl:async-model-tags] 5 (#$ . 119980)]) #@75 [internal] This function is called when the user clicks the status panel. (defalias 'ctbl:async-state-on-click-panel #[(component) "\306 !\307\n! >\204\310\311\312\nD\"\210\n\313H)\314 \315\" \205\212\307 !>\2043\310\311\316 D\"\210 \313H\211\317\267\202\210\320 !\202\211\307\f!>\204T\310\311\321\fD\"\210\f\322H\205\211\307\f!>\204j\310\311\321\fD\"\210\f\322H \210\323\307 !>\204\200\310\311\324 D\"\210 \313H\325\"\202\211\326)+\207" [component cp cl-x cl-struct-ctbl:model-tags amodel astate ctbl:cp-get-model type-of signal wrong-type-argument ctbl:model 1 ctbl:cp-states-get async-state ctbl:async-state #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (quote 62 normal 62 requested 68)) ctbl:render-async-continue ctbl:async-model 5 ctbl:async-state-update-status ctbl:component normal nil cl-struct-ctbl:async-state-tags #1=#:temp cl-struct-ctbl:async-model-tags cl-struct-ctbl:component-tags] 6 (#$ . 120478)]) #@79 [internal] Update internal status of async-state and update the status panel. (defalias 'ctbl:async-state-update-status #[(component next-status) "\306 !\n>\204\307\310\311 D\"\210 \312H\313 !\306\f! >\204(\307\310\314\fD\"\210\f\312H)\315 \316\"r\306 !>\204E\307\310\317 D\"\210 \320Hq\210\306!>\204\\\307\310\321D\"\210\211\312I\210)\322 #-\207" [component cp cl-struct-ctbl:component-tags dest cl-x cl-struct-ctbl:model-tags type-of signal wrong-type-argument ctbl:component 1 ctbl:cp-get-model ctbl:model ctbl:cp-states-get async-state ctbl:dest 2 ctbl:async-state ctbl:async-state-update-status-panel amodel astate cl-struct-ctbl:dest-tags cl-struct-ctbl:async-state-tags #1=#:v next-status] 5 (#$ . 121467)]) #@66 [internal] Rendering data model status panel with current state. (defalias 'ctbl:async-state-update-status-panel #[(dest astate amodel) "\306! >\204\307\310\311D\"\210\312H\306! >\204!\307\310\311D\"\210\313H\306! >\2043\307\310\311D\"\210\314H\212\315\314 \fZW\203I\f S|\210\fb\210\316\306! >\204\\\307\310\311D\"\210\317H\211 \320\267\202\234\321\n\322\"\202\264\306!!\">\204\200\307\310\323!D\"\210!\324H\203\216\321\n\325\"\202\264\321\n\326\"\202\264\321\n\327\"\202\264\321\n\330\331\306! >\204\257\307\310\311D\"\210\317H\"\")\332#\333\334\335\336&\337\261-\207" [astate cl-struct-ctbl:async-state-tags width end begin buffer-read-only type-of signal wrong-type-argument ctbl:async-state 6 7 2 nil propertize 1 #s(hash-table size 4 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (quote 103 done 103 requested 110 normal 149)) ctbl:format-center "No more data." ctbl:async-model 5 "(Waiting for data. [Click to Cancel])" "(Waiting for data...)" "[Click to retrieve more data.]" format "(Error : %s)" keymap face ctbl:face-continue-bar mouse-face highlight "\n" #1=#:temp amodel cl-struct-ctbl:async-model-tags ctbl:continue-button-keymap] 10 (#$ . 122219)]) #@55 [internal] Try auto requesting for asynchronous data. (defalias 'ctbl:async-state-on-post-command-hook #[(component) "\304\305\"\306\307 !\n>\204\310\311\312 D\"\210 \313H!\307 !\n>\204)\310\311\312 D\"\210 \314H\315=\205: \316 W\205:\317 *\207" [component astate cl-struct-ctbl:async-state-tags panel-begin-pos ctbl:cp-states-get async-state marker-position type-of signal wrong-type-argument ctbl:async-state 6 1 normal window-end ctbl:action-continue-async-clicked] 5 (#$ . 123447)]) #@132 [internal] Rendering the table view for async data model. This function assumes that the current buffer is the destination buffer. (defalias 'ctbl:render-async-main #[(dest model param rows-setter) "\306\307!\211\211\nL\210)\306\310!\211\211 L\210)\306\311!\211\211 L\210)\306\312!\211!\211\"#L\210)\306\313!\211$\211%\314 J!&>\204M\315\316\317 JD\"\210 J\320HL\210)\306\321!\211'\211(pL\210)\306\322!\211)\211*\314 J!&>\204|\315\316\317 JD\"\210 J\323HL\210)\314$J!+>\204\227\315\316\324$JD\"\210$J\320H\325\314$J!+>\204\261\315\316\324$JD\"\210$J\323H\326\327\330\331\332D\333)D\333'D\333$D\333!D\333D\333 D\333D\334\257\nE\335$.\207" [#1=#:--cl-dest-- #2=#:v dest #3=#:--cl-model-- #4=#:v model make-symbol "--dest--" "--model--" "--param--" "--rows-setter--" "--amodel--" type-of signal wrong-type-argument ctbl:model 1 "--buf--" "--cmodels--" 2 ctbl:async-model 0 lambda (&rest --cl-rest--) apply function #[(#5=#:G23 #6=#:G24 #7=#:G25 #8=#:G26 #9=#:G27 #10=#:G28 #11=#:G29 rows) "rJq\210\306\211\211 J\306\211\306\307&\n:\203^\n@\310 !'>\204,\311\312\313 D\"\210 \314H\310 !'>\204@\311\312\313 D\"\210 \315H\206G\316\f\203P\fG\206Q\316] B\nA\306&\202 \237-\317()*+,\320- J)#+\321.J!\203\226\322 J)\321.J!\323 J/J0J#Z#)\324 J)\"*\325.J/J0J J)%\210\326.J/J0J J+)*&\210\327\330\331\307\211$\210\306\211\211123\332 3\317c\210\332 2\333\334\335\336\323 J/J0J#)4\3065\31664:\2034@565\\64A\2114\202\3706+\\\337)\340*\341-G\3423\3432&1\344.J17J#\2108J-1\"\210+\345.J!b.\207" [#6# #5# #12=#:--cl-var-- c title #13=#:--cl-var-- nil t type-of signal wrong-type-argument ctbl:cmodel 1 5 0 "\n" ctbl:render-check-cell-width ctbl:dest-width-get ctbl:render-adjust-cell-width ctbl:render-sum-vline-widths ctbl:render-get-formats ctbl:render-main-header ctbl:render-main-content add-hook post-command-hook ctbl:post-command-hook-for-auto-request point-marker make-ctbl:async-state :status normal :actual-width :column-widths :column-formats :next-index :panel-begin :panel-end ctbl:async-state-update-status-panel ctbl:dest-point-min #14=#:--cl-var-- cl-struct-ctbl:cmodel-tags EOL column-widths column-formats drows buffer-read-only rows #11# #10# #9# astate mark-panel-end mark-panel-begin #15=#:--cl-var-- i #16=#:--cl-var-- #7# #8#] 16] quote --cl-rest-- #[(errsym) "\301\302\"\207" [errsym message "ctable : error -> %S"] 3] #17=#:--cl-param-- #18=#:v param #19=#:--cl-rows-setter-- #20=#:v rows-setter #21=#:--cl-amodel-- #22=#:v cl-struct-ctbl:model-tags #23=#:--cl-buf-- #24=#:v #25=#:--cl-cmodels-- #26=#:v cl-struct-ctbl:async-model-tags] 16 (#$ . 123949)]) #@54 [internal] Rendering subsequent data asynchronously. (defalias 'ctbl:render-async-continue #[(component) "\306\307!\211\211\nL\210)\306\310!\211\211\311J! >\204#\312\313\314JD\"\210J\315HL\210)\306\316!\211(\211)pL\210)\306\317!\211*\211+\320J!L\210)\306\321!\211,\211-\311*J!.>\204d\312\313\322*JD\"\210*J\315HL\210)\306\323!\211/\2110\324J\325\"L\210)\306\326!\2111\2112\311/J!3>\204\232\312\313\327/JD\"\210/J\330HL\210)\331J\332\"\210\3331.\311,J!4>\204\300\312\313\334,JD\"\210,J\315H1J\311,J!4>\204\334\312\313\334,JD\"\210,J\335H\336\337\340\341\342D\3431D\343/D\343,D\343*D\343(D\343 D\343D\344\257\nE\336\337\340\341\345D\3431D\343/D\343,D\343*D\343(D\343 D\343D\344\257\nE$0\202?5\331J5A@\"\210\346\3475\").\207" [#1=#:--cl-cp-- #2=#:v component #3=#:--cl-dest-- #4=#:v cl-struct-ctbl:component-tags make-symbol "--cp--" "--dest--" type-of signal wrong-type-argument ctbl:component 1 "--buf--" "--model--" ctbl:cp-get-model "--amodel--" ctbl:model "--astate--" ctbl:cp-states-get async-state "--begin-index--" ctbl:async-state 5 ctbl:async-state-update-status requested (error) ctbl:async-model 3 lambda (&rest --cl-rest--) apply function #[(#5=#:G30 #6=#:G31 #7=#:G32 #8=#:G33 #9=#:G34 #10=#:G35 #11=#:G36 rows) "rJq\210\212\306\n\204\307 J\310\"\202\343\311\312\fJ! >\204&\313\314\315\fJD\"\210\fJ\316H!Sb\210\317c\210\320JJ\321 J!\312J!>\204P\313\314\322JD\"\210J\323H\n\312\fJ! >\204g\313\314\315\fJD\"\210\fJ\324H\312\fJ! >\204|\313\314\315\fJD\"\210\fJ\325HJ&\210\326\327!\210\307 J\330\"\210\312 J! >\204\242\313\314\331 JD\"\210 J\211!\332\333\312 J! >\204\273\313\314\331 JD\"\210 J\332H\n\"I\210)\312\fJ! >\204\325\313\314\315\fJD\"\210\fJ\211\"\332\nGJ\\I)+\207" [#9# buffer-read-only rows #11# #6# cl-struct-ctbl:async-state-tags nil ctbl:async-state-update-status done marker-position type-of signal wrong-type-argument ctbl:async-state 6 "\n" ctbl:render-main-content ctbl:cp-get-param ctbl:model 2 3 4 delete-backward-char 1 normal ctbl:component 5 append #10# #8# cl-struct-ctbl:model-tags #5# cl-struct-ctbl:component-tags #12=#:v #13=#:v] 12] quote --cl-rest-- #[(#14=#:G37 #15=#:G38 #16=#:G39 #17=#:G40 #18=#:G41 #19=#:G42 #20=#:G43 errsym) "\302J \"\207" [#20# errsym ctbl:async-state-update-status] 3] message "ctable : error -> %S" #21=#:--cl-buf-- #22=#:v #23=#:--cl-model-- #24=#:v #25=#:--cl-amodel-- #26=#:v cl-struct-ctbl:model-tags #27=#:--cl-astate-- #28=#:v #29=#:--cl-begin-index-- #30=#:v cl-struct-ctbl:async-state-tags cl-struct-ctbl:async-model-tags err] 17 (#$ . 126641)]) #@42 Action for clicking the continue button. (defalias 'ctbl:action-continue-async-clicked #[nil "\301 \211\205\n\302!)\207" [cp ctbl:cp-get-component ctbl:async-state-on-click-panel] 3 (#$ . 129261) nil]) #@123 [internal] This hook watches the buffer position of displayed window to urge async data model to request next data chunk. (defalias 'ctbl:post-command-hook-for-auto-request #[nil "\301 \211\205\302 ?\205\303!)\207" [cp ctbl:cp-get-component window-minibuffer-p ctbl:async-state-on-post-command-hook] 3 (#$ . 129473)]) #@129 This function wraps a list of row data in an asynchronous data model so as to avoid Emacs freezing with a large number of rows. (defalias 'ctbl:async-model-wrapper #[(rows &optional init-num more-num) "\306\307!\306\310!\306\311!\306\312!\211\211 L\210)\n\211 L\210) \211\206)\313L\210)\211\2066\313L\210)\314\315\316\317\320D\321D\321 D\321\nD\321 D\322\257E JJ\314\315\316\317\323D\321D\321 D\321\nD\321 D\322\257E\324\325\326&.\207" [#1=#:--cl-more-num-- #2=#:--cl-init-num-- #3=#:--cl-rest-rows-- #4=#:--cl-rows-- #5=#:v rows make-symbol "--rows--" "--rest-rows--" "--init-num--" "--more-num--" 100 lambda (&rest --cl-rest--) apply function #[(#6=#:G44 #7=#:G45 #8=#:G46 #9=#:G47 row-num len responsef errorf &rest ignored) " J\204\n\306\202;\3072: J\306\310 \n\f\nW\2037\n@ B\nA\211\2040\311\307 \"\210\fT\211\202 ,0\237!\210 J\205L \211 J\233L)\207" [responsef #8# pos ret i len nil --cl-block-nil-- 0 throw #10=#:--cl-var-- #11=#:v] 5] quote --cl-rest-- #[(#12=#:G48 #13=#:G49 #14=#:G50 #15=#:G51 &rest ignored) "\211\nJL)\207" [#14# #16=#:v #15#] 3] record ctbl:async-model nil #17=#:v #18=#:v init-num #19=#:v more-num reset #20=#:more-num #21=#:init-num request] 13 (#$ . 129804)]) #@36 [internal] Show STRING in tooltip. (defalias 'ctbl:pop-tooltip #[(string) "\304>\203 \203\305\304!\203\306\307\n!\310\311\211\312%\207\313>\203*\305\313!\203*\314\n!\207\315>\2056\311\316\n!)\207" [ctbl:tooltip-method window-system string message-log-max pos-tip featurep pos-tip-show ctbl:string-fill-paragraph popup-tip-face nil 0 popup popup-tip minibuffer message] 6 (#$ . 131065)]) #@114 Show cell at point in tooltip. When UNLESS-VISIBLE is non-nil, show tooltip only when data in cell is truncated. (defalias 'ctbl:show-cell-in-tooltip #[(&optional unless-visible) "\305 \211\205\n\306!\211\2056 ;\203 \202\307\310 \"\311`\312\"\f\2032\n\250\2055 G\nY\2055\313 !**\207" [cp data width string unless-visible ctbl:cp-get-component ctbl:cp-get-selected-data-cell format "%S" get-text-property ctbl:cell-width ctbl:pop-tooltip] 5 (#$ . 131472) nil]) (defvar ctbl:tooltip-delay 1) (defvar ctbl:tooltip-timer nil) (defalias 'ctbl:start-tooltip-timer #[nil "?\205\f\302 \303\304#\211\207" [ctbl:tooltip-timer ctbl:tooltip-delay run-with-idle-timer nil #[nil "\301\302!\210\303\211\207" [ctbl:tooltip-timer ctbl:show-cell-in-tooltip t nil] 2]] 4]) #@85 [internal] Truncate a string ORG with LIMIT-WIDTH, like `truncate-string-to-width'. (defalias 'ctbl:format-truncate #[(org limit-width &optional ellipsis) "\304\305\306# \307!W\203@\310\311\312O \311\312\n% \307 !W\203)\310\311\312O \"\313 \314\315#\316\311\317 #\204=\313 \317# )\207\207" [org limit-width ellipsis str replace-regexp-in-string "\n" " " string-width truncate-string-to-width 0 nil propertize mouse-face highlight get-text-property help-echo] 6 (#$ . 132250)]) #@75 [internal] Format STRING, padding on the left with the character PADDING. (defalias 'ctbl:format-right #[(width string &optional padding) "\206\306 \203\307 \n\310#\206\311\312 !\313\n\fZ]\314 \" P,\207" [padding string width cnt len margin 32 ctbl:format-truncate t "" string-width 0 make-string] 4 (#$ . 132747)]) #@95 [internal] Format STRING in the center, padding on the both sides with the character PADDING. (defalias 'ctbl:format-center #[(width string &optional padding) "\206\306 \203\307 \n\310#\206\311\312 !\313\n\fZ\314\245]\315 \" \315\313\n\fZ Z]\"Q,\207" [padding string width cnt len margin 32 ctbl:format-truncate t "" string-width 0 2 make-string] 6 (#$ . 133081)]) #@76 [internal] Format STRING, padding on the right with the character PADDING. (defalias 'ctbl:format-left #[(width string &optional padding) "\206\306 \203\307 \n\310#\206\311\312 !\313\n\fZ] \314 \"P,\207" [padding string width cnt len margin 32 ctbl:format-truncate t "" string-width 0 make-string] 4 (#$ . 133465)]) #@31 [internal] String comparator. (defalias 'ctbl:sort-string-lessp #[(i j) " \230\203\302\207 \231\203\303\207\304\207" [i j 0 -1 1] 2 (#$ . 133799)]) #@31 [internal] Number comparator. (defalias 'ctbl:sort-number-lessp #[(i j) " U\203\302\207 W\203\303\207\304\207" [i j 0 -1 1] 2 (#$ . 133959)]) #@68 [internal] Sort rows according to order indexes and column models. (defalias 'ctbl:sort #[(rows cmodels orders) "\306\307\310\311\312\f\313\314\315!!\313\211\313\316:\203Q@\317W\2036\2027 \211\320!S!\211 BA\313\202 \n !!.\",\207" [comparator negative-comparator to-bool chain rows fs #[(ref) "\306\307!\306\310!\211\211 L\210)\211\311 8!>\204&\312\313\314 8D\"\210 8\315H\206/\316L\210)\317\320\321\322\323D\324D\324 D\325\257E*\207" [#1=#:--cl-f-- #2=#:--cl-ref-- #3=#:v ref #4=#:v cmodels make-symbol "--ref--" "--f--" type-of signal wrong-type-argument ctbl:cmodel 2 ctbl:sort-string-lessp lambda #9=(&rest --cl-rest--) apply function #[(#5=#:G52 #6=#:G53 i j) "J J\n8 J 8\"\207" [#5# #6# i j] 4] quote --cl-rest-- cl-struct-ctbl:cmodel-tags] 8] #[(ref) "\304\305!\211\211\n !L\210)\306\307\310\311\312D\313D\314FE)\207" [#7=#:--cl-cp-- #8=#:v comparator ref make-symbol "--cp--" lambda #9# apply function #[(#10=#:G54 i j) "J \n\"[\207" [#10# i j] 3] quote --cl-rest--] 7] #[(f) "\303\304!\211\211\nL\210)\305\306\307\310\311D\312D\313FE)\207" [#11=#:--cl-f-- #12=#:v f make-symbol "--f--" lambda #9# apply function #[(#13=#:G55 i j) "J \n\"\303W\207" [#13# i j 0] 3] quote --cl-rest--] 7] #[(fs) "\303\304!\211\211\nL\210)\305\306\307\310\311D\312D\313FE)\207" [#14=#:--cl-fs-- #15=#:v fs make-symbol "--fs--" lambda #9# apply function #[(#16=#:G56 i j) "J\306\211\307\211\306 :\2034 @\211\n \"\211\310=\204,  \306\211\2034 A\306\202\f\203<\310\202> .\207" [#16# #17=#:--cl-var-- f v #18=#:--cl-var-- #19=#:--cl-var-- nil t 0 #20=#:--cl-var-- i j] 4] quote --cl-rest--] 7] sort nil reverse copy-sequence t 0 abs orders #21=#:--cl-var-- o gen f #22=#:--cl-var--] 6 (#$ . 134113)]) #@45 [internal] `fill-paragraph' against STRING. (defalias 'ctbl:string-fill-paragraph #[(string &optional justify) "\303\304\305\"rq\210\306\216\307 \210 c\210eb\210\310\n!\210\311 +\207" [#1=#:temp-buffer string justify generate-new-buffer " *temp*" t #[nil "\301!\205 \302!\207" [#1# buffer-name kill-buffer] 2] erase-buffer fill-paragraph buffer-string] 3 (#$ . 135900)]) #@164 Open a table buffer simply. This function uses the function `ctbl:create-table-component-buffer' internally. (fn &key BUFFER WIDTH HEIGHT CUSTOM-MAP MODEL PARAM) (defalias 'ctbl:open-table-buffer #[(&rest #1=#:--cl-rest--) "\306\307\"A@\306\310\"A@\306\311\"A@\306\312\"A@\306\313\"A@\306\314\"A@\203^@\315>\203EAA\211\2020\316>A@\203T\317\211\2020\320\321@\"\210\202.)\322\307 \310\n\311 \312\f\313 \314&\f\323\324!!.\207" [#1# buffer width height custom-map model plist-member :buffer :width :height :custom-map :model :param (:buffer :width :height :custom-map :model :param :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:buffer :width :height :custom-map :model :param)" ctbl:create-table-component-buffer switch-to-buffer ctbl:cp-get-buffer param #2=#:--cl-keys-- cp] 14 (#$ . 136283)]) #@471 Return a table buffer with some customize parameters. This function binds the component object at the buffer local variable `ctbl:component'. The size of table is calculated from the window that shows BUFFER or the selected window. BUFFER is the buffer to be rendered. If BUFFER is nil, this function creates a new buffer. CUSTOM-MAP is the additional keymap that is added to default keymap `ctbl:table-mode-map'. (fn &key BUFFER WIDTH HEIGHT CUSTOM-MAP MODEL PARAM) (defalias 'ctbl:create-table-component-buffer #[(&rest #1=#:--cl-rest--) "\306\307\"A@\306\310\"A@\306\311\"A@\306\312\"A@\306\313\"A@\306\314\"A@\203^@\315>\203EAA\211\2020\316>A@\203T\317\211\2020\320\321@\"\210\202.)\322 \n \f$\323 # \324!!>\204\202\325\326\327D\"\210\211\"\330\331I\210)r\324!!>\204\237\325\326\327D\"\210\332Hq\210\333\334!\210 ) .\207" [#1# buffer width height custom-map model plist-member :buffer :width :height :custom-map :model :param (:buffer :width :height :custom-map :model :param :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:buffer :width :height :custom-map :model :param)" ctbl:dest-init-buffer ctbl:cp-new type-of signal wrong-type-argument ctbl:dest 9 #[nil "\300 \207" [ctbl:dest-buffer-update-header] 1] 2 make-local-variable ctbl:component param #2=#:--cl-keys-- dest cp cl-struct-ctbl:dest-tags #3=#:v] 6 (#$ . 137159)]) #@86 [internal] After auto hscrolling, update the horizontal position of the header line. (defalias 'ctbl:dest-buffer-update-header #[nil "\300\301\302\303#\207" [run-at-time 0.01 nil ctbl:dest-buffer-update-header--deferred] 4 (#$ . 138597)]) #@41 [internal] Adjust header line position. (defalias 'ctbl:dest-buffer-update-header--deferred #[nil "\304\301!\205\305  \306O\211*\307p!\207" [left ctbl:header-text text header-line-format boundp window-hscroll nil force-window-update] 4 (#$ . 138842)]) #@43 Popup a table buffer from a list of rows. (defalias 'ctbl:popup-table-buffer-easy #[(rows &optional header-row) "\302\303 \"!\207" [rows header-row pop-to-buffer ctbl:create-table-buffer-easy] 4 (#$ . 139106)]) #@42 Open a table buffer from a list of rows. (defalias 'ctbl:open-table-buffer-easy #[(rows &optional header-row) "\302\303 \"!\207" [rows header-row switch-to-buffer ctbl:create-table-buffer-easy] 4 (#$ . 139324)]) #@44 Return a table buffer from a list of rows. (defalias 'ctbl:create-table-buffer-easy #[(rows &optional header-row) "\302\303\304\305 \"\"!\207" [rows header-row ctbl:cp-get-buffer ctbl:create-table-component-buffer :model ctbl:make-model-from-list] 6 (#$ . 139543)]) #@51 Make a `ctbl:model' instance from a list of rows. (defalias 'ctbl:make-model-from-list #[(rows &optional header-row) "\203 G\206 @\205 @G\203A\306\211 :\203; @\307\310\311\312\f\"\306\211\211\313\314& B A\211\202 \237+\202z\315\n\306\211\316\fW\203v\317\320\f\\!\307\310\306\211\211\313\314&B\fT\306\202O\237-\307\321 \306$*\207" [header-row rows col-num #1=#:--cl-var-- i #2=#:--cl-var-- nil record ctbl:cmodel format "%s" 5 (ctbl:cmodel-sort-action) 0 t char-to-string 65 ctbl:model #3=#:--cl-var-- ch #4=#:--cl-var-- #5=#:--cl-var-- column-models] 9 (#$ . 139816)]) #@464 Insert markers of the rendering destination at current point and display the table view. This function returns a component object and stores it at the text property `ctbl:component'. WIDTH and HEIGHT are reference size of the table view. If those are nil, the size is calculated from the selected window. KEYMAP is the keymap that is put to the text property `keymap'. If KEYMAP is nil, `ctbl:table-mode-map' is used. (fn &key WIDTH HEIGHT KEYMAP MODEL PARAM) (defalias 'ctbl:create-table-component-region #[(&rest #1=#:--cl-rest--) "\306\307\"A@\306\310\"A@\306\311\"A@\306\312\"A@\306\313\"A@$$\203V$@\314>\203=$AA\211$\202(\315>A@\203L\316\211$\202(\317\320$@\"\210\202&)\316\211%&\321 &\322c\210\321 %\212\323p&% \n%'\324'\f #(\325\326!\325\327!)\211*\211+ L\210))\211,(L\210)\330\331\332\333\334D\335)D\335*D\336\257E*-\337'!.>\204\277\340\341\342'D\"\210'\211/\343-I\210)- \210(. \207" [#1# width height keymap model param plist-member :width :height :keymap :model :param (:width :height :keymap :model :param :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:width :height :keymap :model :param)" point-marker " " ctbl:dest-init-region ctbl:cp-new make-symbol "--keymap--" "--cp--" lambda (&rest --cl-rest--) apply function #[(#2=#:G57 #3=#:G58) "\306J! >\204\307\310\311JD\"\210J\312Hr\306\n! >\204&\307\310\313\nD\"\210\n\314Hq\210\214\315\n!\316\n!}\210\317\320edS\311J$\210\321edS J\206J#,\207" [#2# cl-struct-ctbl:component-tags #4=#:g2 cl-struct-ctbl:dest-tags buffer-read-only #3# type-of signal wrong-type-argument ctbl:component 1 ctbl:dest 2 ctbl:dest-point-min ctbl:dest-point-max nil put-text-property ctbl:fill-keymap-property ctbl:table-mode-map] 5] quote --cl-rest-- type-of signal wrong-type-argument ctbl:dest 9 #5=#:--cl-keys-- mark-end mark-begin dest cp #6=#:--cl-cp-- #7=#:--cl-keymap-- #8=#:v #9=#:v after-update-func cl-struct-ctbl:dest-tags #10=#:v] 8 (#$ . 140445)]) #@267 Return a text that is drew the table view. In this case, the rendering destination object is disposable. So, one can not modify the obtained text with `ctbl:xxx' functions. WIDTH and HEIGHT are reference size of the table view. (fn &key WIDTH HEIGHT MODEL PARAM) (defalias 'ctbl:get-table-text #[(&rest #1=#:--cl-rest--) "\306\307\"A@\306\310\"A@\306\311\"A@\306\312\"A@ \203H @\313>\2031 AA\211\202\314>A@\203?\315\211\202\316\317 @\"\210\202)\320 \n\"\321 \f#\315r\322!q\210ed{)\323\322!!\210.\207" [#1# width height model param #2=#:--cl-keys-- plist-member :width :height :model :param (:width :height :model :param :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:width :height :model :param)" ctbl:dest-init-inline ctbl:cp-new ctbl:cp-get-buffer kill-buffer dest cp text] 5 (#$ . 142451)]) #@53 Sample code for implementation for the table model. (defalias 'ctbl:demo #[nil "\306!\307 !\n>\204\310\311\312 D\"\210 \211\313\314I\210)\307 !\n>\204*\310\311\312 D\"\210 \211\315\316I\210)\307 !\n>\204A\310\311\312 D\"\210 \211\317\320I\210)\307 !\n>\204X\310\311\312 D\"\210 \2112\321\322I\210)\323\324\325\326\325\327\330\331\332\333\334\335\336\325\315\337&\332\333\340\341\342\325\211\337&\332\333\343\325\344\325\211\337&E\345\346\347\350&\351 &3\3523\353\"\210\3543\355\"\210\3563\357\"\210\360\3613!!*\207" [ctbl:default-rendering-param param cl-struct-ctbl:param-tags #1=#:v #2=#:v #3=#:v copy-ctbl:param type-of signal wrong-type-argument ctbl:param 2 t 5 ((0 . "#00000") (1 . "#909090") (-1 . "#ff0000") (t . "#00ff00")) 7 #[(model row-index) "\301>\203\302\207S\303\246\304U\207" [row-index (0 1 -1) t 5 0] 2] 3 #[(model row-id col-id str) "\302\303\"\203 \304\207 S\305\246\306U\203\307\207\310\207" [str row-index string-match "CoCo" "LightPink" 2 0 "Darkseagreen1" nil] 3] ctbl:create-table-component-buffer :width nil :height :model make-ctbl:model :column-model record ctbl:cmodel "A" ctbl:sort-number-lessp right (ctbl:cmodel-sort-action) "Title" #[(a b) "\302G G\"\207" [a b ctbl:sort-number-lessp] 3] center "Comment" left :data ((1 "Bon Tanaka" "8 Year Curry." 'a) (2 "Bon Tanaka" "Nan-ban Curry." 'b) (3 "Bon Tanaka" "Half Curry." 'c) (4 "Bon Tanaka" "Katsu Curry." 'd) (5 "Bon Tanaka" "Gyu-don." 'e) (6 "CoCo Ichi" "Beaf Curry." 'f) (7 "CoCo Ichi" "Poke Curry." 'g) (8 "CoCo Ichi" "Yasai Curry." 'h) (9 "Berkley" "Hamburger Curry." 'i) (10 "Berkley" "Lunch set." 'j) (11 "Berkley" "Coffee." k)) :sort-state (2 1) :param ctbl:cp-add-click-hook #[nil "\301\302\303!\"\207" [cp message "CTable : Click Hook [%S]" ctbl:cp-get-selected-data-row] 4] ctbl:cp-add-selection-change-hook #[nil "\300\301!\207" [message "CTable : Select Hook"] 2] ctbl:cp-add-update-hook #[nil "\300\301!\207" [message "CTable : Update Hook"] 2] switch-to-buffer ctbl:cp-get-buffer #4=#:v cp] 19 (#$ . 143327) nil]) (provide 'ctable)