;ELC ;;; Compiled ;;; in Emacs version 28.0.50 ;;; with all optimizations. (byte-code "\300\301!\210\300\302!\210\300\303!\210\300\304!\210\300\305!\210\300\306!\210\307\310\311\312\313\314\315\316\317\303& \210\307\320\321\322\313\314\315\323\317\310& \210\324\325\326\327\317\320%\210\324\330\331\332\317\320%\210\324\333\334\332\317\320%\210\335\336\337\340\341DD\342\343\344\317\310&\210\335\345\337\340\346DD\347\343\344\317\310&\210\324\350\351\352\317\320%\210\335\353\337\340\354DD\355\343\344\317\310&\210\324\356\357\360\317\320%\210\324\361\362\363\317\320%\210\324\364\365\363\317\320%\210\335\366\337\340\367DD\370\343\344\317\310&\210\335\371\337\340\372DD\373\343\344\317\310&\210\324\374\375\376\317\320%\210\335\377\337\340\201@DD\201A\343\344\317\310&\210\335\201B\337\340\201CDD\201D\343\344\317\310&\210\335\201E\337\340\201FDD\201G\343\344\317\310&\210\324\201H\201I\201J\317\320%\210\324\201K\201L\201M\317\320%\210\324\201N\201O\201P\201Q\201R\201S\201T\201K\201U\311\201O$F\201VBBBC\201W\317\320%\210\335\201X\337\340\201YDD\201Z\343\344\317\310&\210\335\201[\337\340\201\\DD\201]\343\344\317\310&\210\335\201^\337\340\201_DD\201`\343\344\317\310&\210\335\201a\337\340\201bDD\201c\343\201d\317\310&\207" [require markdown-mode sx-button sx sx-question sx-babel sx-user custom-declare-group sx-question-mode nil "Customization group for sx-question-mode." :prefix "sx-question-mode-" :tag "SX Question Mode" :group sx-question-mode-faces ((sx-user custom-group)) "Customization group for the faces of `sx-question-mode'.\nSome faces of this mode might be defined in the `sx-user' group." "SX Question Mode Faces" custom-declare-face sx-question-mode-header ((t :inherit font-lock-variable-name-face)) "Face used on the question headers in the question buffer." sx-question-mode-title ((t :weight bold :inherit default)) "Face used on the question title in the question buffer." sx-question-mode-title-comments ((t :inherit sx-question-mode-title)) custom-declare-variable sx-question-mode-header-title funcall function #[0 "\300\207" [#1="\n"] 1 #1#] "String used before the question title at the header." :type string sx-question-mode-header-author-format #[0 "\300\207" [#2="\nAuthor: %d %r"] 1 #2#] "String used to display the question author at the header.\n% constructs have special meaning here. See `sx-user--format'." sx-question-mode-date ((t :inherit font-lock-string-face)) "Face used on the question date in the question buffer." sx-question-mode-header-date #[0 "\300\207" [#3="\nPosted on: "] 1 #3#] "String used before the question date at the header." sx-question-mode-score ((t)) "Face used for the score in the question buffer." sx-question-mode-score-downvoted ((t :inherit (font-lock-warning-face sx-question-mode-score))) "Face used for downvoted score in the question buffer." sx-question-mode-score-upvoted ((t :weight bold :inherit (font-lock-function-name-face sx-question-mode-score))) sx-question-mode-header-tags #[0 "\300\207" [#4="\nTags: "] 1 #4#] "String used before the question tags at the header." sx-question-mode-header-score #[0 "\300\207" [#5="\nScore: "] 1 #5#] "String used before the question score at the header." sx-question-mode-content-face ((((background dark)) :background "#090909") (((background light)) :background "#f4f4f4")) "Face used on the question body in the question buffer.\nThis shouldn't have a foreground, or this will interfere with\nfont-locking." sx-question-mode-last-edit-format #[0 "\300\207" [#6=" (edited %s ago by %s)"] 1 #6#] "Format used to describe last edit date in the header.\nFirst \"%s\" is replaced with the date and the second \"%s\" with\nthe editor's name." sx-question-mode-separator #[0 "\300\301\302\303\"\304\305#\306P\207" [propertize make-string 72 32 face (underline sx-question-mode-header) "\n"] 4] "Separator used between header and body." sx-question-mode-answer-title #[0 "\300\207" [#7="Answer"] 1 #7#] "Title used at the start of \"Answer\" sections." sx-question-mode-accepted ((((background dark)) :foreground "LimeGreen" :height 1.3 :inherit sx-question-mode-title) (((background light)) :foreground "ForestGreen" :height 1.3 :inherit sx-question-mode-title)) "Face used for accepted answers in the question buffer." sx-question-mode-closed ((t :box 2 :inherit font-lock-warning-face)) "Face used for closed question header in the question buffer." sx-question-mode-closed-reason t :box :line-width 2 :color face-attribute :foreground (:inherit sx-question-mode-title) "Face used for closed question header in the question buffer.\nAesthetically, it's important that the color of this face's :box\nattribute match the color of the face `sx-question-mode-closed'." sx-question-mode-answer-accepted-title #[0 "\300\207" [#8="Accepted Answer"] 1 #8#] "Title used at the start of accepted \"Answer\" section." sx-question-mode-comments-title #[0 "\300\207" [#9=" Comments"] 1 #9#] "Title used at the start of \"Comments\" sections." sx-question-mode-comments-format #[0 "\300\207" [#10="%s: %s\n"] 1 #10#] "Format used to display comments.\nFirst \"%s\" is replaced with user name. Second \"%s\" is\nreplaced with the comment." sx-question-mode-pretty-links #[0 "\300\207" [t] 1] "If non-nil, markdown links are displayed in a compact form." boolean] 12) (defconst sx-question-mode--sort-methods (byte-code "\300\301\302\303\"\302\304\"\"\207" [(("Higher-scoring" . sx-answer-higher-score-p) ("Newer" . sx-answer-newer-p) ("More active" . sx-answer-more-active-p)) append mapcar #[257 "\211@\300PAB\207" [" first"] 3 "\n\n(fn X)"] #[257 "\211@\300P\301A!B\207" [" last" sx--invert-predicate] 4 "\n\n(fn X)"]] 6)) (byte-code "\301\302\303\304\305DD\306\307\310\311\312\"B\313\314&\210\301\315\303\304\316DD\317\307\320\313\314&\210\301\321\303\304\322DD\323\307\324\313\314&\207" [sx-question-mode--sort-methods custom-declare-variable sx-question-mode-answer-sort-function funcall function #[0 "\300\207" [sx-answer-higher-score-p] 1] "Function used to sort answers in the question buffer." :type choice mapcar #[257 "\300\301@AF\207" [const :tag] 5 "\n\n(fn X)"] :group sx-question-mode sx-question-mode-use-images #[0 "\300\207" [nil] 1] "Non-nil if SX should download and display images.\nBy default, this is `t' if the `imagemagick' image type is\navailable (checked with `image-type-available-p'). If this image\ntype is not available, images won't work." boolean sx-question-mode-image-max-width #[0 "\300\207" [550] 1] "Maximum width, in pixels, of images in the question buffer." integer] 9) #@54 String indicating closed questions in the mode-line. (defconst sx-question-mode--closed-mode-line-string '(:propertize " [CLOSED] " face font-lock-warning-face) (#$ . 6608)) #@111 Print a buffer describing QUESTION. QUESTION must be a data structure returned by `json-read'. (fn QUESTION) (defalias 'sx-question-mode--print-question #[257 "\304!\203\n\305\306!\210\211\307\310 \"\210\311\312!\210\211\313\236A\314\236A\315\236A\316\236A\2037\317\320\n\"\210\321#\210\322!\210\307\322\323\304\324 \"\"\"\266\325c\210\326\327\330\331#\210eb\210\332 \207" [sx-question-mode--data sx--overlays sx-question-mode--closed-mode-line-string sx-question-mode-answer-sort-function sx--deleted-p sx-user-error "This is a deleted question" mapc delete-overlay nil sx--ensure-site closed_reason closed_date closed_details answers add-to-list mode-line-format sx-question-mode--print-close-reason sx-question-mode--print-section cl-remove-if cl-sort "\n\n " insert-text-button "Write an Answer" :type sx-button-answer sx-question-mode-next-section] 13 (#$ . 6791)]) #@163 Print a header explaining REASON and DATE. DATE is an integer. DETAILS, when given is an alist further describing the close. (fn REASON DATE &optional DETAILS) (defalias 'sx-question-mode--print-close-reason #[770 "`\301\236A\302\236A\303\304\305\306\203\307\202\310 \311\f!$\312\313#\314\261\210\211\2032\315\316\317#\314\261\210\266\212\211b\210\320\321\322\323#\210`\262\324\322w\210\325`\"\326\312\327#\210\211B\211\262)\207" [sx--overlays on_hold description "\n " propertize format " %s as %s, %s ago. " "Put on hold" "Closed" sx-time-since face sx-question-mode-closed "\n" replace-regexp-in-string "<[^>]+>" "" search-forward " as " nil noerror "^," make-overlay overlay-put sx-question-mode-closed-reason] 15 (#$ . 7710)]) #@47 Print accept button if you own this question. (defalias 'sx-question-mode--maybe-print-accept-button #[0 "\301!\210\302\303\236A\236A\304\236A\3051\"\302\306!\236AU0\266\202\202%\266\307\262\2052\310c\210\311\312\313\314#\207" [sx-question-mode--data sx--ensure-site user_id owner site_par (error) sx-network-user nil " " insert-text-button "Accept" :type sx-button-accept] 7 (#$ . 8474)]) #@95 Print a section corresponding to DATA. DATA can represent a question or an answer. (fn DATA) (defalias 'sx-question-mode--print-section #[257 "\306 \307!\210\310\236A\311\236A\312\236A\313\236A\314\236A\315\236A\316\236A\317\236A\320 \236A\321\n\236A\322 \236A\323\f\236A\324 \236A\325\236Ac\210\326\206[ \203Z \202[\n\327\203e\330\202f\331\332\333\203s\334\202t\335\336\335& \210 \204\206\f\204\206\337 \210\306 \340\341 \333\342# \"c\210\343\f\344 !\f\205\252\345 \346!\340\347\"#P\350#\210\343@\345\351  \203\276\352\202\310\n\203\307\353\202\310\354# \203\322\355\202\334\203\333\356\202\334\357#\210\203\357\343A\360\"\361#\210\362B\261\210\306 \362c\210\363!\210\362B\261CTC\364`\"\365\211\203$\366\211A\262\242\211A\262\242#\210\202 \366\367\370C_#\210DBD\266)\266\371\372\"\211\203\315\362c\210\326E\333\373\327\374\332\336\335& \210\306 \362c\210\306 \375\376\"CTC\364`\"\377\211\203~\366\211A\262\242\211A\262\242#\210\202g\366\367\370C_#\210DBD\266)\266\201FcCTC\364`\"\201G\211\203\271\366\211A\262\242\211A\262\242#\210\202\242\366\367\370C_#\210DBD\266)\266\211\204\326\201Fc\210\210\201Hc\210\326\201I\336\201J#\210\362cCTC\364`\"\201K\211\203 \366\211A\262\242\211A\262\242#\210\202\364\366\367\370C_#\210DBD\266)\262\266\216\262CTC\364`\"\201LD\211\203H\366\211A\262\242\211A\262\242#\210\2021\366\367\370C_#\210DBD\266)\207" [sx-question-mode-header-title sx-question-mode-answer-accepted-title sx-question-mode-answer-title sx-question-mode-header-author-format sx-question-mode-header-date sx-question-mode-last-edit-format point-marker sx--ensure-site title is_accepted share_link owner creation_date last_edit_date last_editor score upvoted downvoted tags site_par body_markdown comments insert-text-button sx-question-mode--section 1 2 sx-button-copy face sx-question-mode-accepted sx-question-mode-title :type sx-question-mode--maybe-print-accept-button sx-user--format propertize sx-question-mode-header sx-question-mode--insert-header sx-time-seconds-to-date format sx-time-since "%d" sx-question-mode-date "%s%s" "↑" "↓" "" sx-question-mode-score-upvoted sx-question-mode-score-downvoted sx-question-mode-score sx-tag--format-tags nil "\n" sx-question-mode--insert-markdown make-overlay (face sx-question-mode-content-face) overlay-put priority 10 cl-remove-if sx--deleted-p sx-question-mode-title-comments 3 mapc sx-question-mode--print-comment (face sx-question-mode-content-face) sx-question-mode-header-score sx-question-mode-header-tags sx-question-mode-separator sx--overlay-printing-depth sx--overlays sx-question-mode-comments-title " " (sx-question-mode--section-content t) " " "Add a Comment" sx-button-comment (sx-question-mode--section-content t) sx--data-here] 29 (#$ . 8885)]) #@170 Print the comment described by alist COMMENT-DATA. The comment is indented, filled, and then printed according to `sx-question-mode-comments-format'. (fn COMMENT-DATA) (defalias 'sx-question-mode--print-comment #[257 "\303 \304!\210\305\236A\306\236A\307\236A\310\236A\247\2032\311V\2032\312!\203-\313\202.\314\315\261\210\316\317\320\"\321\322\323\"r\211q\210\324\325\"\216\326\327\330!P!\210\331 *\262\332\333O#c\266\204\262 T\334`\"\335D\211\203}\336\211A\262\242\211A\262\242#\210\202f\336\337\340 _#\210\nB\266)\207" [sx-question-mode-comments-format sx--overlay-printing-depth sx--overlays point-marker sx--ensure-site score upvoted owner body_markdown 0 number-to-string "^" "" " " format sx-user--format "%d" generate-new-buffer " *temp*" t make-closure #[0 "\301\300!\205 \302\300!\207" [V0 buffer-name kill-buffer] 2] sx-question-mode--insert-markdown " " sx--squash-whitespace buffer-string 3 nil make-overlay sx--data-here overlay-put priority 10] 15 (#$ . 11815)]) #@262 Insert propertized ARGS. ARGS is a list of repeating values -- `header', `value', and `face'. `header' is given `sx-question-mode-header' as a face, where `value' is given `face' as its face. (fn HEADER VALUE FACE [HEADER VALUE FACE] [HEADER VALUE FACE] ...) (defalias 'sx-question-mode--insert-header #[128 "\211\2051\300\211A\262\242\301\302#\211A\262\242\211A\262\242\211\203(\300\301#\266\202\202+\266\202\261\210\202\207" [propertize face sx-question-mode-header] 8 (#$ . 12840)]) #@62 String to be displayed as the bullet of markdown list items. (defvar sx-question-mode-bullet-appearance (byte-code "\300\301\302!\203 \303\202\f\304\305\306#\207" [propertize char-displayable-p 8226 "•" "*" face markdown-list-face] 4) (#$ . 13349)) #@73 Regexp used to find the url of labeled links. E.g.: [1]: https://... (defconst sx-question-mode--reference-regexp "^[[:blank:]]*\\[%s]:[[:blank:]]*\\(?1:[^\n [:blank:]]+\\)" (#$ . 13608)) #@33 Regexp matching markdown links. (defconst sx-question-mode--link-regexp "\\[\\(?6:meta-\\)?tag:\\(?5:[^] ]+\\)]\\|!?\\[\\(?1:[^][]+\\)]\\(?:(\\(?2:[^)]+\\))\\|\\[\\(?3:[^]]+\\)]\\)\\|\\(?4:https?://[%_[:lower:][:digit:]]\\{2,\\}\\.[%_[:lower:][:digit:]]\\{2,\\}[#%&./;=?_[:lower:][:digit:]-]*\\)" (#$ . 13805)) #@248 Process Markdown line breaks between BEG and END-MARKER. Double space at the end of a line becomes an invisible "\n". Consecutive blank lines beyond the first are consensed. Assumes `marker-insertion-type' of END-MARKER is t. (fn BEG END-MARKER) (defalias 'sx-question-mode--process-line-breaks #[514 "b\210\300\301\302#\203\303\304\305\211\211\306%\210\202b\210\300\307\302#\205,\303\310\311\312\313#!\210\202\207" [search-forward-regexp "^[[:blank:]]*\n\\(?1:[\n[:blank:]]+\\)" noerror replace-match "" nil 1 " $" propertize "\n" invisible t] 8 (#$ . 14123)]) #@229 Process Markdown text between BEG and END. This does not do Markdown font-locking. Instead, it fills text, propertizes links, inserts images, cleans up html comments, and font-locks code-blocks according to mode. (fn BEG END) (defalias 'sx-question-mode--process-markdown-in-region #[514 "\304\305\306\307\214}\210\310e\311d!\"\210eb\210m\204E\312 \204`\313\314w\210\315 \210\316 \317\320\"\210\321\"\210\322\"\210\323\"\210\211b\266\202db-\207" [adaptive-fill-function adaptive-fill-first-line-regexp paragraph-separate paragraph-start "\f\\|[ ]*$\\|[ ]*[*+-] \\|[ ]*[0-9]+\\.[ ]\\|[ ]*: " "\\(?:[ \f]*\\|.* \\)$" "\\`[ ]*>[ ]*?\\'" markdown-adaptive-fill-function sx-question-mode--process-html-tags copy-marker sx-question-mode--dont-fill-here " \n[:blank:]" nil forward-paragraph point-marker set-marker-insertion-type t sx-question-mode--process-line-breaks sx-question-mode--process-links fill-region] 7 (#$ . 14705)]) #@64 Return TEXT fontified according to `markdown-mode'. (fn TEXT) (defalias 'sx-question-mode--insert-markdown #[257 "`\302\303\304\"r\211q\210\305\306\"\216c\210db\210\307\310x\210`d|\210eb\210\307\310w\210\311y\210e`|\210\312\300!\210\304\313 \210)\314\315!\210 \203N\316\310\317\320\321\322\310\323 FD\324BBBC\"\210\316\310\325\326BC\"\210\327ed\"\210\330\331\332\333 #*\262c\210\334`\"\207" [delay-mode-hooks sx-question-mode-bullet-appearance generate-new-buffer " *temp*" t make-closure #[0 "\301\300!\205 \302\300!\207" [V0 buffer-name kill-buffer] 2] " \n[:blank:]" nil 0 make-local-variable markdown-mode font-lock-mode -1 font-lock-add-keywords "^[[:blank:]]*\\(?1:[*+-]\\)[[:blank:]]" 1 quote face display (prepend) "\\(?:[[:blank:]]\\|^\\)\\(?1:@[^[:space:]]+\\)\\_>" (1 font-lock-builtin-face) font-lock-fontify-region replace-regexp-in-string "[[:blank:]]+\\'" "" buffer-string sx-question-mode--process-markdown-in-region] 12 (#$ . 15666)]) (defconst sx-question-mode--html-tag-regexp "<\\(?1:%s\\)[^>]*>") (byte-code "\300\301\302\303\304\305%\210\300\306\307\310\304\305%\207" [custom-declare-face sx-question-mode-sub-sup-tag ((t :height 0.7)) "Face used on and tags." :group sx-question-mode-faces sx-question-mode-kbd-tag ((((background dark)) :height 0.9 :weight semi-bold :box (:line-width 3 :style released-button :color "gray30")) (((background light)) :height 0.9 :weight semi-bold :box (:line-width 3 :style released-button :color "gray70"))) "Face used on tags."] 6) #@100 Return non-nil if point is inside code. This can be inline Markdown code or a Markdown code-block. (defalias 'sx-question-mode--inside-code-p #[0 "\300 \301\302\"\216\303 \206\212\304\305!))\207" [match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data evaporate] 3] markdown-code-at-point-p sx-question-mode--skip-and-fontify-pre dont-fontify] 4 (#$ . 17189)]) #@121 Hide all html tags between BEG and END and possibly interpret them. END-MARKER should be a marker. (fn BEG END-MARKER) (defalias 'sx-question-mode--process-html-tags #[514 "\302\303\"\210b\210\304\305\306\"\307#\205\237\310 \204\311\312!\313\224\314\315!\210\304\305\316P\"\307#\203\232\317\313\224!\320\230\203I\314\321!\210\212b\210\321c\210)\266\202\314\315!\210\322 \323\324\"\216\325\"\210)\210\326\230\203}\327\330#\210\305\326\"\303\331!)\262\203\231\332c\266\202\333\230\203\215\327\334#\266\202\335\230\203\231\327\336#\210\210\266\202\207" [sx-question-mode--html-tag-regexp inhibit-changing-match-data set-marker-insertion-type t search-forward-regexp format "[[:alpha:]]+" noerror sx-question-mode--inside-code-p match-string 1 0 replace-match "" "/" copy-marker "code" "`" match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data evaporate] 3] sx-question-mode--process-html-tags "kbd" add-text-properties (face sx-question-mode-kbd-tag) looking-at " " "sub" (face sx-question-mode-sub-sup-tag display (raise -0.3)) "sup" (face sx-question-mode-sub-sup-tag display (raise 0.3))] 9 (#$ . 17573)]) #@226 Turn all markdown links between BEG and ENG into compact format. Image links are downloaded and displayed, if `sx-question-mode-use-images' is non-nil. Assumes `marker-insertion-type' of END-MARKER is t. (fn BEG END-MARKER) (defalias 'sx-question-mode--process-links #[514 "b\210\303\304#\205u\305\306!\211\203%\211G\307V\203%\310\311!\210\312!\266\202\305\313!\305\314!\206:\305\315!\206:\316\305\317!\"\305\307! \205F\211\307\234\320=;\203p\310\311!\210\321\203Z\322!\202m\n\203b\206m\204l\323!\202m\"\210\266\202\207" [sx-question-mode--link-regexp sx-question-mode-use-images sx-question-mode-pretty-links search-forward-regexp t match-string-no-properties 5 0 replace-match "" sx-tag--insert 1 2 4 sx-question-mode-find-reference 3 33 sx-question-mode--insert-link sx-question-mode--create-image sx--shorten-url] 10 (#$ . 18747)]) #@206 Get and create an image from URL and insert it at POINT. The image will take the place of the character at POINT. Its size is bound by `sx-question-mode-image-max-width' and `window-body-width'. (fn URL) (defalias 'sx-question-mode--create-image #[257 "\300``p\301\302%\303\304\"\305\"\210\306\307\310#\210\207" [make-overlay t nil make-closure #[257 "\302\303\304#\305\306\"@\307\300\310\311\312 \313\314\315\"^^D\"#\207" [V0 sx-question-mode-image-max-width create-image imagemagick t image-size pixels overlay-put display append :width window-body-width nil pixel] 13 "\n\n(fn DATA)"] sx-request-get-url overlay-put face default] 7 (#$ . 19623)]) #@115 Return a link propertized version of TEXT-OR-IMAGE. URL is used as 'help-echo and 'url properties. (fn TEXT URL) (defalias 'sx-question-mode--insert-link #[514 "`Sf\303=\203C\304c\210\305u\210\306!\203<\307\310!\2063\307\311!\2063\312\307\313!;\203-\202.\314\"\2063\211\262\315\316!\210\202C\317u\210\320\317!\210;\204^\321\322\306!)\262\204W\323c\210\324\323\325\316#c\210\326;\203h\202i\314\327\330\n\324;\203\200\331\332 \"\203\200\202\204\333!\334\335#\"\336\337\340\341& \210;?\205\246\342`S`p$\210\324\343\325\323#c\207" [sx-question-mode--link-regexp inhibit-changing-match-data sx-button--link-help-echo 91 "a" -2 looking-at match-string-no-properties 2 4 sx-question-mode-find-reference 3 "¶" replace-match "" 1 delete-char "^" t "\n" propertize display insert-text-button help-echo format string-match "^https?:" sx--shorten-url face font-lock-function-name-face sx-button-url sx-button-copy :type sx-button-link move-overlay "\n\n"] 12 (#$ . 20291)]) #@126 Find url identified by reference ID in current buffer. If ID is nil, use FALLBACK-ID instead. (fn ID &optional FALLBACK-ID) (defalias 'sx-question-mode-find-reference #[513 "\212\301 \302\303\"\216eb\210\304\305\206\"\306\307#\205\310\311!)\262)\207" [sx-question-mode--reference-regexp match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data evaporate] 3] search-forward-regexp format nil t match-string-no-properties 1] 7 (#$ . 21300)]) #@62 If text shouldn't be filled here, return t and skip over it. (defalias 'sx-question-mode--dont-fill-here #[0 "\30022`\301\302w\210`\303\211\203(\211@\211 \203\304\300\305\"\210\202!b\210A\266\202\202 \210b\210\302\262\2620\207" [sx-question-mode-done " \n[:blank:]" nil (sx-question-mode--skip-and-fontify-pre sx-question-mode--skip-headline sx-question-mode--skip-references sx-question-mode--skip-comments) throw t] 7 (#$ . 21767)]) #@281 If there's a pre block ahead, handle it, skip it and return t. Handling means to turn it into a button and remove erroneous font-locking. If DONT-FONTIFY is non-nil, just return the result and possibly move point, don't create the code-block button. (fn &optional DONT-FONTIFY) (defalias 'sx-question-mode--skip-and-fontify-pre #[256 "\300 \211b\210\301\302 !\205\204\303`\"\210\304\207" [line-beginning-position markdown-match-pre-blocks line-end-position sx-babel--make-pre-button t] 5 (#$ . 22220)]) #@57 If there's an html comment ahead, skip it and return t. (defalias 'sx-question-mode--skip-comments #[0 "\212\300\301 !\205 `)\211\205!`|\210\302\303x\210\304\305!\203 \306\307!\210\310\207" [markdown-match-comments line-end-position "[:blank:]" nil looking-at "^[:blank:]*\n" replace-match "" t] 3 (#$ . 22737)]) #@58 If there's a headline ahead, skip it and return non-nil. (defalias 'sx-question-mode--skip-headline #[0 "\301\302\303!)\262\204\304y\210\305\302\303!)\262\205\304y\207" [inhibit-changing-match-data "^#+ " t looking-at 1 "===\\|---"] 3 (#$ . 23060)]) #@59 If there's a reference ahead, skip it and return non-nil. (defalias 'sx-question-mode--skip-references #[0 "\302y\210\303\304\"\305\306!)\262\205\307\310!\210\305\207" [sx-question-mode--reference-regexp inhibit-changing-match-data 0 format ".+" t looking-at forward-paragraph 1] 3 (#$ . 23326)]) (provide 'sx-question-print)