| Server IP : 217.160.0.212 / Your IP : 216.73.216.141 Web Server : Apache System : Linux www 6.18.51-i1-ampere #1196 SMP Fri Sep 11 20:43:55 CEST 2026 aarch64 User : sws1073854427 ( 1073854427) PHP Version : 8.4.23 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /usr/share/emacs/28.2/lisp/net/ |
Upload File : |
;ELC
;;; Compiled
;;; in Emacs version 28.2
;;; with all optimizations.
(byte-code "\300\301!\210\300\302!\210\300\303!\210\300\304!\210\300\305!\210\300\306!\210\300\307!\210\300\310!\210\300\311!\210\312\313\314\315\316\317\320\321&\210\322\323\324\325\326DD\327\316\330\331\332&\210\322\333\324\325\334DD\335\316\330\331\336&\210\322\337\324\325\340DD\341\316\317\331\342&\210\322\343\324\325\344DD\345\316\346\331\342&\210\322\347\324\325\350DD\351\316\352\331\342&\210\322\353\324\325\354DD\355\331\356%\210\322\357\324\325\360DD\361\331\362%\210\322\363\324\325\364DD\365\331\362%\210\322\366\324\325\367DD\370\331\362%\210\322\371\324\325\372DD\373\316\317\331\374&\210\322\375\324\325\376DD\377\316\201@ \331\201A &\210\322\201B \324\325\201C DD\201D \316\201E \331\201F &\210\322\201G \324\325\201H DD\201I \331\201J \316\346&\210\201K \201L \201M \314#\210\201N \211\2036\211@\201L N\203/\201M N\204/\201O \201M \201L N#\210A\266\202\202\210\201P \201L \201M \346#\210\322\201Q \324\325\201R DD\201S \316\201E \331\342&\210\322\201T \324\325\201U DD\201V \316\201@ \331\342&\207" [require cl-lib browse-url dom seq svg image puny url-cookie text-property-search custom-declare-group shr nil "Simple HTML Renderer." :version "25.1" :group web custom-declare-variable shr-max-image-proportion funcall function #[0 "\300\207" [0.9] 1 #1=""] "How big pictures displayed are in relation to the window they're in.\nA value of 0.7 means that they are allowed to take up 70% of the\nwidth and height of the window. If they are larger than this,\nand Emacs supports it, then the images will be rescaled down to\nfit these criteria." "24.1" :type float shr-blocked-images #[0 "\300\207" [nil] 1 #1#] "Images that have URLs matching this regexp will be blocked." (choice (const nil) regexp) shr-use-fonts #[0 "\300\207" [t] 1 #1#] "If non-nil, use proportional fonts for text." boolean shr-discard-aria-hidden #[0 "\300\207" [nil] 1 #1#] "If non-nil, don't render tags with `aria-hidden=\"true\"'.\nThis attribute is meant to tell screen readers to ignore a tag." "27.1" shr-use-colors #[0 "\300\207" [t] 1 #1#] "If non-nil, respect color specifications in the HTML." "26.1" shr-table-horizontal-line #[0 "\300\207" [nil] 1 #1#] "Character used to draw horizontal table lines.\nIf nil, don't draw horizontal table lines." (choice (const nil) character) shr-table-vertical-line #[0 "\300\207" [32] 1 #1#] "Character used to draw vertical table lines." character shr-table-corner #[0 "\300\207" [32] 1 #1#] "Character used to draw table corners." shr-hr-line #[0 "\300\207" [45] 1 #1#] "Character used to draw hr lines." shr-width #[0 "\300\207" [nil] 1 #1#] "Window width to use for HTML rendering.\nMay either be an integer specifying a fixed width in characters,\nor nil, meaning use the full width of the window.\nIf `shr-use-fonts' is set, the value is interpreted as a multiple\nof the mean character width of the default face's font.\n\nAlso see `shr-max-width'." (choice (integer :tag "Fixed width in characters") (const :tag "Use the width of the window" nil)) shr-max-width #[0 "\300\207" [120] 1 #1#] "Maximum text width to use for HTML rendering.\nMay either be an integer specifying a fixed width in characters,\nor nil, meaning that there is no width limit.\n\nIf `shr-use-fonts' is set, the value of this variable is\ninterpreted as a multiple of the mean character width of the\ndefault face's font.\n\nIf `shr-width' is non-nil, it overrides this variable." "28.1" (choice (integer :tag "Fixed width in characters") (const :tag "No width limit" nil)) shr-bullet #[0 "\300\207" ["* "] 1 #1#] "Bullet used for unordered lists.\nAlternative suggestions are:\n- \" \"\n- \" \"" "24.4" string shr-cookie-policy #[0 "\300\207" [same-origin] 1 #1#] "When to use cookies when fetching dependent data like images.\nIf t, always use cookies. If nil, never use cookies. If\n`same-origin', use cookies if the dependent data comes from the\nsame domain as the main data." (choice (const :tag "Always use cookies" t) (const :tag "Never use cookies" nil) (const :tag "Use cookies for same domain" same-origin)) defvaralias shr-external-browser browse-url-secondary-browser-function (saved-value saved-variable-comment) put make-obsolete-variable shr-image-animate #[0 "\300\207" [t] 1 #1#] "Non-nil means that images that can be animated will be." shr-offer-extend-specpdl #[0 "\300\207" [t] 1 #1#] "Non-nil means offer to extend the specpdl if the HTML nests deeply.\nComplicated HTML can require more nesting than the current specpdl\nsize permits. If this variable is t, ask the user whether to increase\nthe specpdl size. If nil, just give up."] 8)
#@157 If bound, this should be a function that will return the content.
This is used for cid: URLs, and the function is called with the
cid: URL as the argument.
(defvar shr-content-function nil (#$ . 4694))
#@46 Function called to put image and alt string.
(defvar shr-put-image-function 'shr-put-image (#$ . 4902))
(byte-code "\300\301\302\303\304\305%\210\300\306\307\310\304\305%\210\300\311\312\313\304\314%\210\300\315\316\317\304\314%\210\300\320\321\322\304\323%\210\300\324\325\326\304\323%\210\300\327\330\331\304\323%\210\300\332\333\334\304\323%\210\300\335\333\336\304\323%\210\300\337\333\340\304\323%\210\341\342\343\344\345DD\346\304\323\347\350&\207" [custom-declare-face shr-strike-through ((t :strike-through t)) "Face for <s> elements." :version "24.1" shr-link ((t :inherit link)) "Face for link elements." shr-selected-link ((t :inherit shr-link :background "red")) "Temporary face for externally visited link elements.\nWhen a link is visited with an external browser, the link\ntemporarily blinks with this face." "27.1" shr-abbreviation ((t :inherit underline :underline (:style wave))) "Face for <abbr> elements." shr-h1 ((t :height 1.3 :weight bold)) "Face for <h1> elements." "28.1" shr-h2 ((t :weight bold)) "Face for <h2> elements." shr-h3 ((t :slant italic)) "Face for <h3> elements." shr-h4 nil "Face for <h4> elements." shr-h5 "Face for <h5> elements." shr-h6 "Face for <h6> elements." custom-declare-variable shr-inhibit-images funcall function #[0 "\300\207" [nil] 1 ""] "If non-nil, inhibit loading images." :type boolean] 8)
#@208 Alist of tag/function pairs used to alter how shr renders certain tags.
For instance, eww uses this to alter rendering of title, forms
and other things:
((title . eww-tag-title)
(form . eww-tag-form)
...)
(defvar shr-external-rendering-functions nil (#$ . 6259))
(defvar shr-folding-mode nil)
(defvar shr-start nil)
(defvar shr-indentation 0)
(defvar shr-internal-width nil)
(defvar shr-list-mode nil)
(defvar shr-content-cache nil)
(defvar shr-kinsoku-shorten nil)
(defvar shr-table-depth 0)
(defvar shr-stylesheet nil)
(defvar shr-base nil)
(defvar shr-depth 0)
(defvar shr-warning nil)
(defvar shr-ignore-cache nil)
(defvar shr-table-separator-length 1)
(defvar shr-table-separator-pixel-width 0)
(defvar shr-table-id nil)
(defvar shr-current-font nil)
(defvar shr-internal-bullet nil)
#@36 Target fragment identifier anchor.
(defvar shr-target-id nil (#$ . 7056))
(defvar shr-map (byte-code "\300 \301\302\303#\210\301\304\305#\210\301\306\307#\210\301\310\311#\210\301\312\313#\210\301\314\315#\210\301\316\317#\210\301\320\321#\210\301\322\323#\210\301\324\325#\210\301\326\325#\210\301\327\317#\210\301\330\331#\210\301\332\317#\210\207" [make-sparse-keymap define-key "a" shr-show-alt-text "i" shr-browse-image "z" shr-zoom-image [9] shr-next-link [134217737] shr-previous-link [follow-link] mouse-face [mouse-2] shr-browse-url [C-down-mouse-1] shr-mouse-browse-url-new-window "I" shr-insert-image "w" shr-maybe-probe-and-copy-url "u" "v" "O" shr-save-contents "
"] 5))
(defvar shr-image-map (byte-code "\302!\303\301!\203 \304 \"\210\207" [shr-map image-map copy-keymap boundp set-keymap-parent] 4))
#@64 Display the HTML rendering of the current buffer.
(fn BUFFER)
(defalias 'shr-render-buffer #[257 "\300\301!\204\n \302\303!\210\304\305!\210\306 \210\307rq\210\301ed\")!\210eb\207" [fboundp libxml-parse-html-region error "This function requires Emacs to be compiled with libxml2" pop-to-buffer "*html*" erase-buffer shr-insert-document] 5 (#$ . 7894) (byte-code "pC\207" [] 1)])
#@98 Display the HTML rendering of the region between BEGIN and END.
(fn BEGIN END &optional BUFFER)
(defalias 'shr-render-region #[770 "\300\301!\204\n \302\303!\210r\211\206 pq\210\301\"|\210b\210\304!\262)\207" [fboundp libxml-parse-html-region error "This function requires Emacs to be compiled with libxml2" shr-insert-document] 6 (#$ . 8281) "r"])
#@75 Return non-nil if we know at least one of the fringes has non-zero width.
(defalias 'shr--have-one-fringe-p #[0 "\300\301!\205W \302\303\211\203 \304\202 \305\306=\203 \307\202 \310\311 !\206# \312\313\314 !\"\266\202\312U?\206W \306\303\211\203: \304\202; \305\306=\203E \307\202F \310\311 !\206M \312\313\314 !\"\266\202\312U?\207" [fboundp fringe-columns right nil / ceiling left car cadr window-fringes 0 float frame-char-width] 6 (#$ . 8645)])
#@149 Render the parsed document DOM into the current buffer.
DOM should be a parse tree as generated by
`libxml-parse-html-region' or similar.
(fn DOM)
(defalias 'shr-insert-document #[257 "\306`\306\211\307\211\306\310\311! \310 !B\n\203# \204 \n\202P \n\312 _\202P \2048 \313 S\314 \2033 \315\2024 \307Z\202P \316\313\306\317\"\320\312 _\314 \203J \307\202N \312 \320_\315$\f\306\203\200 \n\204\200 \203{ \312 _\202} ^\321\306\307\"\210\322!\210\323`\"\210\324`\"\210\205\235 \325\326\".\n\207" [shr-content-cache shr-bullet shr-width shr-use-fonts max-specpdl-size bidi-display-reordering nil 0 shr-string-pixel-width "-" frame-char-width window-body-width shr--have-one-fringe-p 1 - t 2 set-window-hscroll shr-descend shr-fill-lines shr--remove-blank-lines-at-the-end message "%s" shr-internal-width shr-internal-bullet shr-table-separator-pixel-width shr-warning shr-table-id shr-depth shr-base shr-start shr-max-width] 14 (#$ . 9107)])
#@18
(fn START END)
(defalias 'shr--remove-blank-lines-at-the-end #[514 "\214\212}\210\211b\210\300\301\302\303#\205 m?\205 \304y\210`d|*\207" [re-search-backward "[^ \n]" nil t 1] 6 (#$ . 10091)])
#@201 Return the URL under point as a string.
If IMAGE-URL is non-nil, or there is no link under point, but
there is an image under point then copy the URL of the image
under point instead.
(fn IMAGE-URL)
(defalias 'shr-url-at-point #[257 "\211\203 \300`\301\"\207\300`\302\"\206 \300`\301\"\207" [get-text-property image-url shr-url] 4 (#$ . 10297)])
#@200 Copy the URL under point to the kill ring.
With a prefix argument, or if there is no link under point, but
there is an image under point then copy the URL of the image
under point instead.
(fn URL)
(defalias 'shr-copy-url #[257 "\211\204 \300\301!\207\302!\262\303!\210\300\304\"\207" [message "No URL under point" url-encode-url kill-new "Copied %s"] 4 (#$ . 10653) (byte-code "\301!C\207" [current-prefix-arg shr-url-at-point] 2)])
#@199 Pass URL's redirect destination to CONT, if it has one.
CONT should be a function of one argument, the redirect
destination URL. If URL is not redirected, then CONT is never
called.
(fn URL CONT)
(defalias 'shr-probe-url #[514 "\300\301\302\"\303\304\211%\207" [url-retrieve make-closure #[257 "\211:\205# \211\242\211\301=\205! \243\211:\205 \211\242\300\302\303\304#!\262\262\262\207" [V0 :redirect replace-regexp-in-string ".utm_.*" ""] 9 "\n\n(fn A)"] nil t] 8 (#$ . 11101) "P"])
#@153 Copy the URL under point to the kill ring.
Like `shr-copy-url', but additionally fetch URL and use its
redirection destination if it has one.
(fn URL)
(defalias 'shr-probe-and-copy-url #[257 "\211\203 \300\301\"\207\301!\207" [shr-probe-url shr-copy-url] 4 (#$ . 11602) (byte-code "\301!C\207" [current-prefix-arg shr-url-at-point] 2)])
#@172 Copy the URL under point to the kill ring.
If the URL is already at the front of the kill ring act like
`shr-probe-and-copy-url', otherwise like `shr-copy-url'.
(fn URL)
(defalias 'shr-maybe-probe-and-copy-url #[257 "\211@\232\203 \301!\207\302!\207" [kill-ring shr-probe-and-copy-url shr-copy-url] 3 (#$ . 11951) (byte-code "\301!C\207" [current-prefix-arg shr-url-at-point] 2)])
#@179 Return the start and end positions of the URL at point, if any.
Value is a pair of positions (START . END) if there is a non-nil
`shr-url' text property at point; otherwise nil.
(defalias 'shr--current-link-region #[0 "\300`\301\"\205 \302`\301\"\206 d\303\301\"\206 e\211B\266\202\207" [get-text-property shr-url next-single-property-change previous-single-property-change] 4 (#$ . 12345)])
#@65 Briefly fontify URL at point with the face `shr-selected-link'.
(defalias 'shr--blink-link #[0 "\300 \211\205\f \301@A\"\211\205 \302\303\304#\210\305\306\307\310\311\"#\207" [shr--current-link-region make-overlay overlay-put face shr-selected-link run-at-time 1 nil make-closure #[0 "\301\300!\207" [V0 delete-overlay] 2]] 8 (#$ . 12748)])
#@24 Skip to the next link.
(defalias 'shr-next-link #[0 "\301\302\303\211\304$\211\204 \305\306!\207\307!>\204 \310\311\312D\"\210\211\313Hb\210\305\314\315`\316\"\"\207" [cl-struct-prop-match-tags text-property-search-forward shr-url nil t message "No next link" type-of signal wrong-type-argument prop-match 1 "%s" get-text-property help-echo] 6 (#$ . 13100) nil])
#@28 Skip to the previous link.
(defalias 'shr-previous-link #[0 "\300\301\302\211\303$\204
\304\305!\207\304\306\307`\310\"\"\207" [text-property-search-backward shr-url nil t message "No previous link" "%s" get-text-property help-echo] 5 (#$ . 13474) nil])
#@45 Show the ALT text of the image under point.
(defalias 'shr-show-alt-text #[0 "\300`\301\"\211\204\f \302\303!\207\302\304\305!\"\207" [get-text-property shr-alt message "No image under point" "%s" shr-fill-text] 5 (#$ . 13735) nil])
(byte-code "\300\301\302\303#\300\207" [function-put shr-show-alt-text completion-predicate #[514 "\300\301\"\207" [command-completion-button-p shr] 5 "\n\n(fn _ B)"]] 4)
#@171 Browse the image under point.
If COPY-URL (the prefix if called interactively) is non-nil, copy
the URL of the image to the kill buffer instead.
(fn &optional COPY-URL)
(defalias 'shr-browse-image #[256 "\300`\301\"\211\204\f \302\303!\207\203+ \304\305\306\"r\211q\210\307\310\"\216c\210\311ed\"\210\302\312\"*\207\302\313\"\210\314!\207" [get-text-property image-url message "No image under point" generate-new-buffer " *temp*" t make-closure #[0 "\301\300!\205 \302\300!\207" [V0 buffer-name kill-buffer] 2] copy-region-as-kill "Copied %s" "Browsing %s..." browse-url] 6 (#$ . 14148) "P"])
#@47 Insert the image under point into the buffer.
(defalias 'shr-insert-image #[0 "\300`\301\"\211\204\f \302\303!\207\302\304\"\210\305\306p`S\307 E\310$\207" [get-text-property image-url message "No image under point" "Inserting %s..." url-retrieve shr-image-fetched point-marker t] 7 (#$ . 14755) nil])
#@116 Toggle the image size.
The size will be rotated between the default size, the original
size, and full-buffer size.
(defalias 'shr-zoom-image #[0 "\301`\302\"\301`\303\"\304\204 \305\306!\202\212 \301`\302\"\203! \307u\210\202 \310u\210`\301`\302\"\2032 \310u\210\202% \307u\210\311`\312\304$\210`Z\313V\203I \211`S|\210\210\305\314\"\210\315\316p`S\317 \320\321=\204d \204h \322\202\205 \323\267\202w \324\202\205 \321\202\205 \321=\204\204 ?\205\205 \322BCF\325$)\207" [buffer-read-only get-text-property image-url image-size nil message "No image under point" -1 1 put-text-property display 2 "Inserting %s..." url-retrieve shr-image-fetched point-marker size default original #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (original 111 full 115)) full t] 11 (#$ . 15066) nil])
#@12
(fn DOM)
(defalias 'shr-generic #[257 "\211\211@:\203 \211@AA\262\202 \211AA\262\211\2052 \211@\211;\203'