]>
Commit | Line | Data |
---|---|---|
1 | ;ELC\1c\0\0\0 | |
2 | ;;; Compiled | |
3 | ;;; in Emacs version 28.2 | |
4 | ;;; with all optimizations. | |
5 | ||
6 | ||
7 | ||
8 | (byte-code "\300\301!\210\302\303\304\305\306\307%\210\310\311\312\313\314DD\315\306\303\316\317&\a\210\310\320\312\313\321DD\322\306\303\316\323&\a\210\310\324\312\313\325DD\326\306\303\316\327&\a\210\310\330\312\313\331DD\332\306\303\316\327&\a\207" [require mailcap custom-declare-group jabber-avatar nil "Avatar related settings" :group jabber custom-declare-variable jabber-avatar-cache-directory funcall function #[0 "\300\301\302\"\207" [locate-user-emacs-file "jabber-avatar-cache" ".jabber-avatars"] 3 #1=""] "Directory to use for cached avatars." :type directory jabber-avatar-verbose #[0 "\300\207" [nil] 1 #1#] "Display messages about irregularities with other people's avatars." boolean jabber-avatar-max-width #[0 "\300\207" [96] 1 #1#] "Maximum width of avatars." integer jabber-avatar-max-height #[0 "\300\207" [96] 1 #1#] "Maximum height of avatars."] 8) | |
9 | #@65 compiler-macro for inlining `avatar-p'. | |
10 | ||
11 | (fn CL-WHOLE-ARG CL-X)\1f | |
12 | (defalias 'avatar-p--cmacro #[514 "\300\301\302\303\211\211\ 6\ 6&\ 6\207" [cl--defsubst-expand (cl-x) (cl-block avatar-p (and (memq (type-of cl-x) cl-struct-avatar-tags) t)) nil] 9 (#$ . 952)]) | |
13 | (put 'avatar-p 'compiler-macro 'avatar-p--cmacro) | |
14 | #@13 | |
15 | ||
16 | (fn CL-X)\1f | |
17 | (defalias 'avatar-p #[257 "\301\ 1!\b>\205 \0\302\207" [cl-struct-avatar-tags type-of t] 3 (#$ . 1261)]) | |
18 | (byte-code "\300\301\302\303#\304\305\306\301#\207" [function-put avatar-p side-effect-free error-free put avatar cl-deftype-satisfies] 5) | |
19 | #@72 compiler-macro for inlining `avatar-sha1-sum'. | |
20 | ||
21 | (fn CL-WHOLE-ARG CL-X)\1f | |
22 | (defalias 'avatar-sha1-sum--cmacro #[514 "\300\301\302\303\211\211\ 6\ 6&\ 6\207" [cl--defsubst-expand (cl-x) (cl-block avatar-sha1-sum (progn (or (avatar-p cl-x) (signal 'wrong-type-argument (list 'avatar cl-x))) (aref cl-x 1))) nil] 9 (#$ . 1519)]) | |
23 | (put 'avatar-sha1-sum 'compiler-macro 'avatar-sha1-sum--cmacro) | |
24 | #@60 Access slot "sha1-sum" of `avatar' struct CL-X. | |
25 | ||
26 | (fn CL-X)\1f | |
27 | (defalias 'avatar-sha1-sum #[257 "\301\ 1!\b>\204\ f\0\302\303\304\ 3D\"\210\211\305H\207" [cl-struct-avatar-tags type-of signal wrong-type-argument avatar 1] 5 (#$ . 1905)]) | |
28 | (byte-code "\300\301\302\303#\300\207" [function-put avatar-sha1-sum side-effect-free t] 4) | |
29 | #@73 compiler-macro for inlining `avatar-mime-type'. | |
30 | ||
31 | (fn CL-WHOLE-ARG CL-X)\1f | |
32 | (defalias 'avatar-mime-type--cmacro #[514 "\300\301\302\303\211\211\ 6\ 6&\ 6\207" [cl--defsubst-expand (cl-x) (cl-block avatar-mime-type (progn (or (avatar-p cl-x) (signal 'wrong-type-argument (list 'avatar cl-x))) (aref cl-x 2))) nil] 9 (#$ . 2229)]) | |
33 | (put 'avatar-mime-type 'compiler-macro 'avatar-mime-type--cmacro) | |
34 | #@61 Access slot "mime-type" of `avatar' struct CL-X. | |
35 | ||
36 | (fn CL-X)\1f | |
37 | (defalias 'avatar-mime-type #[257 "\301\ 1!\b>\204\ f\0\302\303\304\ 3D\"\210\211\305H\207" [cl-struct-avatar-tags type-of signal wrong-type-argument avatar 2] 5 (#$ . 2620)]) | |
38 | (byte-code "\300\301\302\303#\300\207" [function-put avatar-mime-type side-effect-free t] 4) | |
39 | #@67 compiler-macro for inlining `avatar-url'. | |
40 | ||
41 | (fn CL-WHOLE-ARG CL-X)\1f | |
42 | (defalias 'avatar-url--cmacro #[514 "\300\301\302\303\211\211\ 6\ 6&\ 6\207" [cl--defsubst-expand (cl-x) (cl-block avatar-url (progn (or (avatar-p cl-x) (signal 'wrong-type-argument (list 'avatar cl-x))) (aref cl-x 3))) nil] 9 (#$ . 2947)]) | |
43 | (put 'avatar-url 'compiler-macro 'avatar-url--cmacro) | |
44 | #@55 Access slot "url" of `avatar' struct CL-X. | |
45 | ||
46 | (fn CL-X)\1f | |
47 | (defalias 'avatar-url #[257 "\301\ 1!\b>\204\ f\0\302\303\304\ 3D\"\210\211\305H\207" [cl-struct-avatar-tags type-of signal wrong-type-argument avatar 3] 5 (#$ . 3308)]) | |
48 | (byte-code "\300\301\302\303#\300\207" [function-put avatar-url side-effect-free t] 4) | |
49 | #@75 compiler-macro for inlining `avatar-base64-data'. | |
50 | ||
51 | (fn CL-WHOLE-ARG CL-X)\1f | |
52 | (defalias 'avatar-base64-data--cmacro #[514 "\300\301\302\303\211\211\ 6\ 6&\ 6\207" [cl--defsubst-expand (cl-x) (cl-block avatar-base64-data (progn (or (avatar-p cl-x) (signal 'wrong-type-argument (list 'avatar cl-x))) (aref cl-x 4))) nil] 9 (#$ . 3617)]) | |
53 | (put 'avatar-base64-data 'compiler-macro 'avatar-base64-data--cmacro) | |
54 | #@63 Access slot "base64-data" of `avatar' struct CL-X. | |
55 | ||
56 | (fn CL-X)\1f | |
57 | (defalias 'avatar-base64-data #[257 "\301\ 1!\b>\204\ f\0\302\303\304\ 3D\"\210\211\305H\207" [cl-struct-avatar-tags type-of signal wrong-type-argument avatar 4] 5 (#$ . 4018)]) | |
58 | (byte-code "\300\301\302\303#\300\207" [function-put avatar-base64-data side-effect-free t] 4) | |
59 | #@70 compiler-macro for inlining `avatar-height'. | |
60 | ||
61 | (fn CL-WHOLE-ARG CL-X)\1f | |
62 | (defalias 'avatar-height--cmacro #[514 "\300\301\302\303\211\211\ 6\ 6&\ 6\207" [cl--defsubst-expand (cl-x) (cl-block avatar-height (progn (or (avatar-p cl-x) (signal 'wrong-type-argument (list 'avatar cl-x))) (aref cl-x 5))) nil] 9 (#$ . 4351)]) | |
63 | (put 'avatar-height 'compiler-macro 'avatar-height--cmacro) | |
64 | #@58 Access slot "height" of `avatar' struct CL-X. | |
65 | ||
66 | (fn CL-X)\1f | |
67 | (defalias 'avatar-height #[257 "\301\ 1!\b>\204\ f\0\302\303\304\ 3D\"\210\211\305H\207" [cl-struct-avatar-tags type-of signal wrong-type-argument avatar 5] 5 (#$ . 4727)]) | |
68 | (byte-code "\300\301\302\303#\300\207" [function-put avatar-height side-effect-free t] 4) | |
69 | #@69 compiler-macro for inlining `avatar-width'. | |
70 | ||
71 | (fn CL-WHOLE-ARG CL-X)\1f | |
72 | (defalias 'avatar-width--cmacro #[514 "\300\301\302\303\211\211\ 6\ 6&\ 6\207" [cl--defsubst-expand (cl-x) (cl-block avatar-width (progn (or (avatar-p cl-x) (signal 'wrong-type-argument (list 'avatar cl-x))) (aref cl-x 6))) nil] 9 (#$ . 5045)]) | |
73 | (put 'avatar-width 'compiler-macro 'avatar-width--cmacro) | |
74 | #@57 Access slot "width" of `avatar' struct CL-X. | |
75 | ||
76 | (fn CL-X)\1f | |
77 | (defalias 'avatar-width #[257 "\301\ 1!\b>\204\ f\0\302\303\304\ 3D\"\210\211\305H\207" [cl-struct-avatar-tags type-of signal wrong-type-argument avatar 6] 5 (#$ . 5416)]) | |
78 | (byte-code "\300\301\302\303#\300\207" [function-put avatar-width side-effect-free t] 4) | |
79 | #@69 compiler-macro for inlining `avatar-bytes'. | |
80 | ||
81 | (fn CL-WHOLE-ARG CL-X)\1f | |
82 | (defalias 'avatar-bytes--cmacro #[514 "\300\301\302\303\211\211\ 6\ 6&\ 6\207" [cl--defsubst-expand (cl-x) (cl-block avatar-bytes (progn (or (avatar-p cl-x) (signal 'wrong-type-argument (list 'avatar cl-x))) (aref cl-x 7))) nil] 9 (#$ . 5731)]) | |
83 | (put 'avatar-bytes 'compiler-macro 'avatar-bytes--cmacro) | |
84 | #@57 Access slot "bytes" of `avatar' struct CL-X. | |
85 | ||
86 | (fn CL-X)\1f | |
87 | (defalias 'avatar-bytes #[257 "\301\ 1!\b>\204\ f\0\302\303\304\ 3D\"\210\211\305H\207" [cl-struct-avatar-tags type-of signal wrong-type-argument avatar 7] 5 (#$ . 6102)]) | |
88 | (byte-code "\300\301\302\303#\304\305\306\"\207" [function-put avatar-bytes side-effect-free t defalias copy-avatar copy-sequence] 4) | |
89 | #@128 compiler-macro for inlining `make-avatar'. | |
90 | ||
91 | (fn CL-WHOLE &cl-quote &key SHA1-SUM MIME-TYPE URL BASE64-DATA HEIGHT WIDTH BYTES)\1f | |
92 | (defalias 'make-avatar--cmacro #[385 "\300\ 1\301\"A@\300\ 2\302\"A@\300\ 3\303\"A@\300\ 4\304\"A@\300\ 5\305\"A@\300\ 6\ 6\306\"A@\300\ 6\a\307\"A@\ 6\a\211\203Y\0\211@\310>\203A\0\211AA\262\ 1\202.\0\311\ 6 >A@\203P\0\312\262\ 1\202.\0\313\314\ 2@\"\210\202.\0\210\315\316\317\312\ 6\f\312\ 6\f\ 6\f\ 6\f\ 6\f\ 6\f\ 6\f\ 6\f&\f\207" [plist-member :sha1-sum :mime-type :url :base64-data :height :width :bytes (:sha1-sum :mime-type :url :base64-data :height :width :bytes :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:sha1-sum :mime-type :url :base64-data :height :width :bytes)" cl--defsubst-expand (sha1-sum mime-type url base64-data height width bytes) (cl-block make-avatar (record 'avatar sha1-sum mime-type url base64-data height width bytes))] 22 (#$ . 6463)]) | |
93 | (put 'make-avatar 'compiler-macro 'make-avatar--cmacro) | |
94 | #@108 Constructor for objects of type `avatar'. | |
95 | ||
96 | (fn &key SHA1-SUM MIME-TYPE URL BASE64-DATA HEIGHT WIDTH BYTES)\1f | |
97 | (defalias 'make-avatar #[128 "\300\ 1\301\"A@\300\ 2\302\"A@\300\ 3\303\"A@\300\ 4\304\"A@\300\ 5\305\"A@\300\ 6\ 6\306\"A@\300\ 6\a\307\"A@\ 6\a\211\203Y\0\211@\310>\203A\0\211AA\262\ 1\202.\0\311\ 6 >A@\203P\0\312\262\ 1\202.\0\313\314\ 2@\"\210\202.\0\210\315\316\ 6\b\ 6\b\ 6\b\ 6\b\ 6\b\ 6\b\ 6\b&\b\207" [plist-member :sha1-sum :mime-type :url :base64-data :height :width :bytes (:sha1-sum :mime-type :url :base64-data :height :width :bytes :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:sha1-sum :mime-type :url :base64-data :height :width :bytes)" record avatar] 17 (#$ . 7406)]) | |
98 | (byte-code "\300\301\302\303#\304\305\306\307\310\306\311\312\305\303& \207" [function-put make-avatar side-effect-free t cl-struct-define avatar nil cl-structure-object record ((cl-tag-slot) (sha1-sum) (mime-type) (url) (base64-data) (height) (width) (bytes)) cl-struct-avatar-tags] 11) | |
99 | #@104 Construct an avatar structure from the given URL. | |
100 | Retrieves the image to find info about it. | |
101 | ||
102 | (fn URL)\1f | |
103 | (defalias 'jabber-avatar-from-url #[257 "r\302\18\303\ 1!)q\210\304\19\3051\1a\0\306\307!\210\310\311!0\202\1c\0\210\312\313\314!\210`d{\315\ 1\312\ 4#\316\312!\210)\266\202)\207" [coding-system-for-read case-fold-search binary url-retrieve-synchronously t (error) search-forward-regexp "^content-type:[ ]*\\(.*\\)$" match-string 1 nil search-forward "\n\n" jabber-avatar-from-data kill-buffer] 7 (#$ . 8374)]) | |
104 | #@61 Construct an avatar structure from FILENAME. | |
105 | ||
106 | (fn FILENAME)\1f | |
107 | (defalias 'jabber-avatar-from-file #[257 "\300\301!\210\302\303\304\"r\211q\210\305\306\ 2\"\216\307\ 2!\210\310 *\262\ 1\311\312\ 3\"\205'\0\313\314\315\ 4\"!\316\ 2\317\ 3#\207" [require mailcap generate-new-buffer " *temp*" t make-closure #[0 "\301\300!\205 \0\302\300!\207" [V0 buffer-name kill-buffer] 2] insert-file-contents-literally buffer-string string-match "\\.[^.]+$" mailcap-extension-to-mime match-string 0 jabber-avatar-from-data nil] 7 (#$ . 8879)]) | |
108 | #@157 Construct an avatar stucture from BASE64-STRING. | |
109 | If MIME-TYPE is not specified, try to find it from the image data. | |
110 | ||
111 | (fn BASE64-STRING &optional MIME-TYPE)\1f | |
112 | (defalias 'jabber-avatar-from-base64-string #[513 "\300\301\ 3\ 3#\207" [jabber-avatar-from-data nil] 6 (#$ . 9396)]) | |
113 | #@226 Construct an avatar structure from RAW-DATA and/or BASE64-STRING. | |
114 | If either is not provided, it is computed. | |
115 | If MIME-TYPE is not specified, try to find it from the image data. | |
116 | ||
117 | (fn RAW-DATA BASE64-STRING &optional MIME-TYPE)\1f | |
118 | (defalias 'jabber-avatar-from-data #[770 "\ 2\206\a\0\300\ 2!\211G\301\ 2!\ 4\206\14\0\302\ 6\ 6!\ 4\204.\0\303\3041&\0\305\ 5\306\307#0\202(\0\210\306AN\310\236A\210\306\311\312\313\ 5\ 6 \306\ 6\a\306\211\ 6\f&\b!\207" [base64-decode-string sha1 base64-encode-string :type (error) jabber-create-image nil t ((png "image/png") (jpeg "image/jpeg") (gif "image/gif")) jabber-avatar-compute-size record avatar] 18 (#$ . 9673)]) | |
119 | #@96 Create an image from AVATAR. | |
120 | Return nil if images of this type are not supported. | |
121 | ||
122 | (fn AVATAR)\1f | |
123 | (defalias 'jabber-avatar-image #[257 "\30119\0\302\303\304\305\"r\211q\210\306\307\ 2\"\216\310\311!\210\312\ 3!\b>\204%\0\313\314\315\ 5D\"\210\ 2\316Hc\210\317ed\"\210\320 *\262\ 1\311\305#0\207\210\311\207" [cl-struct-avatar-tags (error) jabber-create-image generate-new-buffer " *temp*" t make-closure #[0 "\301\300!\205 \0\302\300!\207" [V0 buffer-name kill-buffer] 2] set-buffer-multibyte nil type-of signal wrong-type-argument avatar 4 base64-decode-region buffer-string] 7 (#$ . 10296)]) | |
124 | #@84 Compute and set the width and height fields of AVATAR. | |
125 | Return AVATAR. | |
126 | ||
127 | (fn AVATAR)\1f | |
128 | (defalias 'jabber-avatar-compute-size #[257 "\301\302!\205\18\0\302 \205\18\0\303\ 1!\211\205\16\0\304\ 1\305\"\262\ 1\211\203F\0\306\ 2!\b>\204+\0\307\310\311\ 4D\"\210\ 1\312\ 2@I\210\306\ 2!\b>\204@\0\307\310\311\ 4D\"\210\ 1\313\ 2AI\210\ 1\207" [cl-struct-avatar-tags fboundp display-graphic-p jabber-avatar-image image-size t type-of signal wrong-type-argument avatar 6 5] 6 (#$ . 10879)]) | |
129 | #@125 Return file name of cached image for avatar identified by SHA1-SUM. | |
130 | If there is no cached image, return nil. | |
131 | ||
132 | (fn SHA1-SUM)\1f | |
133 | (defalias 'jabber-avatar-find-cached #[257 "\301\ 1\b\"\302\ 1!\205\v\0\211\207" [jabber-avatar-cache-directory expand-file-name file-exists-p] 4 (#$ . 11327)]) | |
134 | #@32 Cache the AVATAR. | |
135 | ||
136 | (fn AVATAR)\1f | |
137 | (defalias 'jabber-avatar-cache #[257 "\305\ 1!\b>\204\ f\0\306\307\310\ 3D\"\210\211\311H\305\ 2!\b>\204!\0\306\307\310\ 4D\"\210\ 1\312H\305\ 3!\b>\2043\0\306\307\310\ 5D\"\210\ 2\313H\210\314\315\ 3 \"\316 !\204G\0\317 \320\"\210\321\ 1!\203V\0\n\205\203\0\322\323\ 2\"\207\324\325\320\"r\211q\210\326\327\ 2\"\216\314\330\e\1c\331\332!\203q\0\332\314!\210\ 3c\210\333ed\"\210\334ed\ 4\314\335%,\262\ 1\207" [cl-struct-avatar-tags jabber-avatar-cache-directory jabber-avatar-verbose coding-system-for-write require-final-newline type-of signal wrong-type-argument avatar 1 4 2 nil expand-file-name file-directory-p make-directory t file-exists-p message "Caching avatar, but %s already exists" generate-new-buffer " *temp*" make-closure #[0 "\301\300!\205 \0\302\300!\207" [V0 buffer-name kill-buffer] 2] binary fboundp set-buffer-multibyte base64-decode-region write-region silent] 12 (#$ . 11611)]) | |
138 | #@202 Set the avatar of JID to be AVATAR. | |
139 | JID is a string containing a bare JID. | |
140 | AVATAR may be one of: | |
141 | * An avatar structure. | |
142 | * The SHA1 sum of a cached avatar. | |
143 | * nil, meaning no avatar. | |
144 | ||
145 | (fn JID AVATAR)\1f | |
146 | (defalias 'jabber-avatar-set #[514 "\301\ 2!\302\211\303\ 4!\b>\203+\0\303\ 4!\b>\204\1d\0\304\305\306\ 6\ 6D\"\210\ 3\307H\262\ 1\310\311\ 5\"\262\ 2\202B\0\ 3;\203<\0\ 3\262\ 1\310\312\ 5\"\262\ 2\202B\0\302\262\ 1\313\262\ 2\211\ 3\314N\230?\205[\0\315\ 3\306\ 4 #\210\315\ 3\314\ 3#\210\316\ 3!\207" [cl-struct-avatar-tags jabber-jid-symbol nil type-of signal wrong-type-argument avatar 1 make-closure #[0 "\301\300!\207" [V0 jabber-avatar-image] 2] #[0 "\3011\v\0\302\303\300!!0\207\210\304\207" [V0 (error) jabber-create-image jabber-avatar-find-cached nil] 3] ignore avatar-hash put jabber-presence-update-roster] 9 (#$ . 12506)]) | |
147 | #@210 Create an image from FILE-OR-DATA. | |
148 | If width/height exceeds jabber-avatar-max-width or | |
149 | jabber-avatar-max-height, and ImageMagick is available, the image | |
150 | is scaled down. | |
151 | ||
152 | (fn FILE-OR-DATA &optional TYPE DATA-P)\1f | |
153 | (defalias 'jabber-create-image #[769 "\302\ 3\ 3\ 3#\303\ 1\304\"\ 1A\305\306!\2031\0\ 1@\bV\204\1f\0\ 1A V\2031\0\307\ 1\310\311#\210\307\ 1\312\b#\210\307\ 1\313 #\210\ 2\207" [jabber-avatar-max-width jabber-avatar-max-height create-image image-size t functionp imagemagick-types plist-put :type imagemagick :width :height] 10 (#$ . 13296)]) | |
154 | (provide 'jabber-avatar) |