;ELC   
;;; Compiled
;;; in Emacs version 26.1
;;; with all optimizations.

;;; This file contains utf-8 non-ASCII characters,
;;; and so cannot be loaded into Emacs 22 or earlier.
(and (boundp 'emacs-version)
     (< (aref emacs-version (1- (length emacs-version))) ?A)
     (string-lessp emacs-version "23")
     (error "`%s' was compiled for Emacs 23 or later" #$))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


(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!\207" [require easymenu outline thingatpt cl-lib url-parse button color rx] 2)
#@31 Markdown mode version number.
(defconst markdown-mode-version "2.4-dev" (#$ . 599))
#@55 Name of temporary buffer for markdown command output.
(defconst markdown-output-buffer-name "*markdown-output*" (#$ . 689))
#@35 History of used reference labels.
(defvar markdown-reference-label-history nil (#$ . 819))
#@61 Sentinel variable for command `markdown-live-preview-mode'.
(defvar markdown-live-preview-mode nil (#$ . 916))
#@74 History list of languages used in the current buffer in GFM code blocks.
(defvar markdown-gfm-language-history nil (#$ . 1033))
#@39 Hook run when entering Markdown mode.
(defvar markdown-mode-hook nil (#$ . 1167))
#@165 Hook run before running Markdown to export XHTML output.
The hook may modify the buffer, which will be restored to it's
original state after exporting is complete.
(defvar markdown-before-export-hook nil (#$ . 1256))
#@111 Hook run after XHTML output has been saved.
Any changes to the output buffer made by this hook will be saved.
(defvar markdown-after-export-hook nil (#$ . 1480))
(byte-code "\300\301\302\303\304\305\306\307\310\311&	\210\312\313\314\315\316DD\317\306\301\320\321&\210\312\322\314\315\323DD\324\306\301\320\325&\210\312\326\314\315\327DD\330\306\301\320\331&\210\312\332\314\315\333DD\334\306\301\320\335&\210\312\336\314\315\337DD\340\306\301\320\325&\210\312\341\314\315\342DD\343\306\301\320\325&\210\312\344\314\315\345DD\346\306\301\320\325\347\350\351\352&\210\312\353\314\315\354DD\355\306\301\320\356\347\356\351\357&\210\312\360\314\315\361DD\362\306\301\320\325&\210\312\363\314\315\364DD\365\306\301\320\315&\210\312\366\314\315\367DD\370\306\301\320\371&\210\312\372\314\315\373DD\374\306\301\320\325\347\350\351\375&\210\312\376\314\315\377DD\201@ \306\301\320\325\347\350&	\210\312\201A \314\315\201B DD\201C \306\301\320\325\347\350\351\201D &\210\312\201E \314\315\201F DD\201G \306\301\320\325\347\350\351\201H &\210\312\201I \314\315\201J DD\201K \306\301\320\325\347\350\351\201L &\210\312\201M \314\315\201N DD\201O \306\301\320\201P &\210\312\201Q \314\315\201R DD\201S \320\201T \351\201U &\210\312\201V \314\315\201W DD\201X \320\201Y \320\201Z \351\201[ &	\210\312\201\\ \314\315\201] DD\201^ \306\301\320\201_ \351\201` &	\210\312\201a \314\315\201b DD\201c \320\201d \351\201e &\210\312\201f \314\315\201g DD\201h \306\301\320\325\347\350&	\210\201i \201f !\210\312\201j \314\315\201k DD\201l \306\301\320\325\347\350\351\201m &\210\312\201n \314\315\201o DD\201p \306\301\320\201q &\210\312\201r \314\315\201s DD\201t \306\301\320\201Y &\210\312\201u \314\315\201v DD\201w \306\301\320\201x &\210\312\201y \314\315\201z DD\201{ \306\301\320\325\347\350\351\201| &\210\312\201} \314\315\201~ DD\201 \306\301\320\201Y &\210\312\201\200 \314\315\201\201 DD\201\202 \306\301\320\201Y \347\201\203 \351\201\204 &\210\312\201\205 \314\315\201\206 DD\201\207 \306\301\320\201Y \347\201\203 \351\201\210 &\210\312\201\211 \314\315\201\212 DD\201\213 \306\301\320\201\214 &\210\312\201\215 \314\315\201\216 DD\201\217 \306\301\320\201Y &\210\312\201\220 \314\315\201\221 DD\201\222 \306\301\320\201\223 &\210\312\201\224 \314\315\201\225 DD\201\226 \306\301\320\201\227 &\210\312\201\230 \314\315\201\231 DD\201\232 \306\301\320\201\233 \351\201\234 &	\210\312\201\235 \314\315\201\236 DD\201\237 \306\301\320\201\240 \351\201\241 &	\210\312\201\242 \314\315\201\243 DD\201\244 \306\301\320\201Y &\210\312\201\245 \314\315\201\246 DD\201\247 \306\301\320\325\347\350\351\201\250 &\210\312\201\251 \314\315\201\252 DD\201\253 \306\301\320\325\347\350\351\201\254 &\210\312\201\255 \314\315\201\256 DD\201\257 \306\301\320\325&\210\312\201\260 \314\315\201\261 DD\201\262 \306\301\320\325&\210\312\201\263 \314\315\201\264 DD\201\265 \306\301\320\201\266 \351\201\267 &	\210\312\201\270 \314\315\201\271 DD\201\272 \306\301\320\315&\210\312\201\273 \314\315\201\274 DD\201\275 \306\301\320\201\276 &\210\312\201\277 \314\315\201\300 DD\201\301 \306\301\320\201\302 &\210\312\201\303 \314\315\201\304 DD\201\305 \306\301\320\325\347\350\351\201\306 &\210\312\201\307 \314\315\201\310 DD\201\311 \306\301\320\201\312 &\210\312\201\313 \314\315\201\314 DD\201\315 \306\301\320\325&\210\312\201\316 \314\315\201\317 DD\201\320 \306\301\320\325&\210\312\201\321 \314\315\201\322 DD\201\323 \306\301\320\201\324 \351\201\325 &	\210\312\201\326 \314\315\201\327 DD\201\330 \306\301\320\325\347\350&	\210\312\201\331 \314\315\201\332 DD\201\333 \306\301\320\325\347\350\351\201\334 &\210\201i \201\331 !\210\312\201\335 \314\315\201\336 DD\201\337 \306\301\320\315\201\340 \201\341 \351\201\342 &\210\312\201\343 \314\315\201\344 DD\201\345 \306\301\351\201\346 \320\201\347 &	\207" [custom-declare-group markdown nil "Major mode for editing text files in Markdown format." :prefix "markdown-" :group text :link (url-link "https://jblevins.org/projects/markdown-mode/") custom-declare-variable markdown-command funcall function #[0 "\300\207" [#1="markdown"] 1 #1#] "Command to run markdown." :type (choice (string :tag "Shell command") function) markdown-command-needs-filename #[0 "\300\207" [nil] 1] "Set to non-nil if `markdown-command' does not accept input from stdin.\nInstead, it will be passed a filename as the final command line\noption.  As a result, you will only be able to run Markdown from\nbuffers which are visiting a file." boolean markdown-open-command #[0 "\300\207" [nil] 1] "Command used for opening Markdown files directly.\nFor example, a standalone Markdown previewer.  This command will\nbe called with a single argument: the filename of the current\nbuffer.  It can also be a function, which will be called without\narguments." (choice file function (const :tag "None" nil)) markdown-hr-strings #[0 "\300\207" [("-------------------------------------------------------------------------------" "* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *" "---------------------------------------" "* * * * * * * * * * * * * * * * * * * *" "---------" "* * * * *")] 1] "Strings to use when inserting horizontal rules.\nThe first string in the list will be the default when inserting a\nhorizontal rule.  Strings should be listed in decreasing order of\nprominence (as in headings from level one to six) for use with\npromotion and demotion functions." (repeat string) markdown-bold-underscore #[0 "\300\207" [nil] 1] "Use two underscores when inserting bold text instead of two asterisks." markdown-italic-underscore #[0 "\300\207" [nil] 1] "Use underscores when inserting italic text instead of asterisks." markdown-marginalize-headers #[0 "\300\207" [nil] 1] "When non-nil, put opening atx header markup in a left margin.\n\nThis setting goes well with `markdown-asymmetric-header'.  But\nsadly it conflicts with `linum-mode' since they both use the\nsame margin." :safe booleanp :package-version (markdown-mode . "2.4") markdown-marginalize-headers-margin-width #[0 "\300\207" [6] 1] "Character width of margin used for marginalized headers.\nThe default value is based on there being six heading levels\ndefined by Markdown and HTML.  Increasing this produces extra\nwhitespace on the left.  Decreasing it may be preferred when\nfewer than six nested heading levels are used." natnump (markdown-mode . "2.4") markdown-asymmetric-header #[0 "\300\207" [nil] 1] "Determines if atx header style will be asymmetric.\nSet to a non-nil value to use asymmetric header styling, placing\nheader markup only at the beginning of the line. By default,\nbalanced markup will be inserted at the beginning and end of the\nline around the header title." markdown-indent-function #[0 "\300\207" [markdown-indent-line] 1] "Function to use to indent." markdown-indent-on-enter #[0 "\300\207" [t] 1] "Determines indentation behavior when pressing \\[newline].\nPossible settings are nil, t, and 'indent-and-new-item.\n\nWhen non-nil, pressing \\[newline] will call `newline-and-indent'\nto indent the following line according to the context using\n`markdown-indent-function'.  In this case, note that\n\\[electric-newline-and-maybe-indent] can still be used to insert\na newline without indentation.\n\nWhen set to 'indent-and-new-item and the point is in a list item\nwhen \\[newline] is pressed, the list will be continued on the next\nline, where a new item will be inserted.\n\nWhen set to nil, simply call `newline' as usual.  In this case,\nyou can still indent lines using \\[markdown-cycle] and continue\nlists with \\[markdown-insert-list-item].\n\nNote that this assumes the variable `electric-indent-mode' is\nnon-nil (enabled).  When it is *disabled*, the behavior of\n\\[newline] and `\\[electric-newline-and-maybe-indent]' are\nreversed." (choice (const :tag "Don't automatically indent" nil) (const :tag "Automatically indent" t) (const :tag "Automatically indent and insert new list items" indent-and-new-item)) markdown-enable-wiki-links #[0 "\300\207" [nil] 1] "Syntax highlighting for wiki links.\nSet this to a non-nil value to turn on wiki link support by default.\nSupport can be toggled later using the `markdown-toggle-wiki-links'\nfunction or \\[markdown-toggle-wiki-links]." (markdown-mode . "2.2") markdown-wiki-link-alias-first #[0 "\300\207" [t] 1] "When non-nil, treat aliased wiki links like [[alias text|PageName]].\nOtherwise, they will be treated as [[PageName|alias text]]." markdown-wiki-link-search-subdirectories #[0 "\300\207" [nil] 1] "When non-nil, search for wiki link targets in subdirectories.\nThis is the default search behavior for GitHub and is\nautomatically set to t in `gfm-mode'." (markdown-mode . "2.2") markdown-wiki-link-search-parent-directories #[0 "\300\207" [nil] 1] "When non-nil, search for wiki link targets in parent directories.\nThis is the default search behavior of Ikiwiki." (markdown-mode . "2.2") markdown-wiki-link-fontify-missing #[0 "\300\207" [nil] 1] "When non-nil, change wiki link face according to existence of target files.\nThis is expensive because it requires checking for the file each time the buffer\nchanges or the user switches windows.  It is disabled by default because it may\ncause lag when typing on slower machines." (markdown-mode . "2.2") markdown-uri-types #[0 "\300\207" [("acap" "cid" "data" "dav" "fax" "file" "ftp" "gopher" "http" "https" "imap" "ldap" "mailto" "mid" "message" "modem" "news" "nfs" "nntp" "pop" "prospero" "rtsp" "service" "sip" "tel" "telnet" "tip" "urn" "vemmi" "wais")] 1] "Link types for syntax highlighting of URIs." (repeat (string :tag "URI scheme")) markdown-url-compose-char #[0 "\300\207" [(8734 8230 8943 35 9733 9875)] 1] "Placeholder character for hidden URLs.\nThis may be a single character or a list of characters. In case\nof a list, the first one that satisfies `char-displayable-p' will\nbe used." (choice (character :tag "Single URL replacement character") (repeat :tag "List of possible URL replacement characters" character)) (markdown-mode . "2.3") markdown-blockquote-display-char #[0 "\300\207" [("▌" "┃" ">")] 1] "String to display when hiding blockquote markup.\nThis may be a single string or a list of string. In case of a\nlist, the first one that satisfies `char-displayable-p' will be\nused." string (choice (string :tag "Single blockquote display string") (repeat :tag "List of possible blockquote display strings" string)) (markdown-mode . "2.3") markdown-hr-display-char #[0 "\300\207" [(9472 9473 45)] 1] "Character for hiding horizontal rule markup.\nThis may be a single character or a list of characters.  In case\nof a list, the first one that satisfies `char-displayable-p' will\nbe used." (choice (character :tag "Single HR display character") (repeat :tag "List of possible HR display characters" character)) (markdown-mode . "2.3") markdown-definition-display-char #[0 "\300\207" [(8280 8281 8801 8977 9674 58)] 1] "Character for replacing definition list markup.\nThis may be a single character or a list of characters.  In case\nof a list, the first one that satisfies `char-displayable-p' will\nbe used." (choice (character :tag "Single definition list character") (repeat :tag "List of possible definition list characters" character)) (markdown-mode . "2.3") markdown-enable-math #[0 "\300\207" [nil] 1] "Syntax highlighting for inline LaTeX and itex expressions.\nSet this to a non-nil value to turn on math support by default.\nMath support can be enabled, disabled, or toggled later using\n`markdown-toggle-math' or \\[markdown-toggle-math]." make-variable-buffer-local markdown-enable-html #[0 "\300\207" [t] 1] "Enable font-lock support for HTML tags and attributes." (markdown-mode . "2.4") markdown-css-paths #[0 "\300\207" [nil] 1] "URL of CSS file to link to in the output XHTML." (repeat (string :tag "CSS File Path")) markdown-content-type #[0 "\300\207" [#2="text/html"] 1 #2#] "Content type string for the http-equiv header in XHTML output.\nWhen set to an empty string, this attribute is omitted.  Defaults to\n`text/html'." markdown-coding-system #[0 "\300\207" [nil] 1] "Character set string for the http-equiv header in XHTML output.\nDefaults to `buffer-file-coding-system' (and falling back to\n`utf-8' when not available).  Common settings are `iso-8859-1'\nand `iso-latin-1'.  Use `list-coding-systems' for more choices." coding-system markdown-export-kill-buffer #[0 "\300\207" [t] 1] "Kill output buffer after HTML export.\nWhen non-nil, kill the HTML output buffer after\nexporting with `markdown-export'." (markdown-mode . "2.4") markdown-xhtml-header-content #[0 "\300\207" [#3=""] 1 #3#] "Additional content to include in the XHTML <head> block." markdown-xhtml-body-preamble #[0 "\300\207" [#3#] 1 #3#] "Content to include in the XHTML <body> block, before the output." stringp (markdown-mode . "2.4") markdown-xhtml-body-epilogue #[0 "\300\207" [#3#] 1 #3#] "Content to include in the XHTML <body> block, after the output." (markdown-mode . "2.4") markdown-xhtml-standalone-regexp #[0 "\300\207" [#4="^\\(<\\?xml\\|<!DOCTYPE\\|<html\\)"] 1 #4#] "Regexp indicating whether `markdown-command' output is standalone XHTML." regexp markdown-link-space-sub-char #[0 "\300\207" [#5="_"] 1 #5#] "Character to use instead of spaces when mapping wiki links to filenames." markdown-reference-location #[0 "\300\207" [header] 1] "Position where new reference definitions are inserted in the document." (choice (const :tag "At the end of the document" end) (const :tag "Immediately after the current block" immediately) (const :tag "At the end of the subtree" subtree) (const :tag "Before next header" header)) markdown-footnote-location #[0 "\300\207" [end] 1] "Position where new footnotes are inserted in the document." (choice (const :tag "At the end of the document" end) (const :tag "Immediately after the current block" immediately) (const :tag "At the end of the subtree" subtree) (const :tag "Before next header" header)) markdown-footnote-display #[0 "\300\207" [((raise 0.2) (height 0.8))] 1] "Display specification for footnote markers and inline footnotes.\nBy default, footnote text is reduced in size and raised.  Set to\nnil to disable this." (choice (sexp :tag "Display specification") (const :tag "Don't set display property" nil)) (markdown-mode . "2.4") markdown-sub-superscript-display #[0 "\300\207" [(((raise -0.3) (height 0.7)) (raise 0.3) (height 0.7))] 1] "Display specification for subscript and superscripts.\nThe car is used for subscript, the cdr is used for superscripts." (cons (choice (sexp :tag "Subscript form") (const :tag "No lowering" nil)) (choice (sexp :tag "Superscript form") (const :tag "No raising" nil))) (markdown-mode . "2.4") markdown-unordered-list-item-prefix #[0 "\300\207" [#6="  * "] 1 #6#] "String inserted before unordered list items." markdown-nested-imenu-heading-index #[0 "\300\207" [t] 1] "Use nested or flat imenu heading index.\nA nested index may provide more natural browsing from the menu,\nbut a flat list may allow for faster keyboard navigation via tab\ncompletion." (markdown-mode . "2.2") markdown-add-footnotes-to-imenu #[0 "\300\207" [t] 1] "Add footnotes to end of imenu heading index." (markdown-mode . "2.4") markdown-make-gfm-checkboxes-buttons #[0 "\300\207" [t] 1] "When non-nil, make GFM checkboxes into buttons." markdown-use-pandoc-style-yaml-metadata #[0 "\300\207" [nil] 1] "When non-nil, allow YAML metadata anywhere in the document." markdown-split-window-direction #[0 "\300\207" [any] 1] "Preference for splitting windows for static and live preview.\nThe default value is 'any, which instructs Emacs to use\n`split-window-sensibly' to automatically choose how to split\nwindows based on the values of `split-width-threshold' and\n`split-height-threshold' and the available windows.  To force\nvertically split (left and right) windows, set this to 'vertical\nor 'right.  To force horizontally split (top and bottom) windows,\nset this to 'horizontal or 'below." (choice (const :tag "Automatic" any) (const :tag "Right (vertical)" right) (const :tag "Below (horizontal)" below)) (markdown-mode . "2.2") markdown-live-preview-window-function #[0 "\300\207" [markdown-live-preview-window-eww] 1] "Function to display preview of Markdown output within Emacs.\nFunction must update the buffer containing the preview and return\nthe buffer." markdown-live-preview-delete-export #[0 "\300\207" [delete-on-destroy] 1] "Delete exported HTML file when using `markdown-live-preview-export'.\nIf set to 'delete-on-export, delete on every export. When set to\n'delete-on-destroy delete when quitting from command\n`markdown-live-preview-mode'. Never delete if set to nil." (choice (const :tag "Delete on every export" delete-on-export) (const :tag "Delete when quitting live preview" delete-on-destroy) (const :tag "Never delete" nil)) markdown-list-indent-width #[0 "\300\207" [4] 1] "Depth of indentation for markdown lists.\nUsed in `markdown-demote-list-item' and\n`markdown-promote-list-item'." integer markdown-enable-prefix-prompts #[0 "\300\207" [t] 1] "Display prompts for certain prefix commands.\nSet to nil to disable these prompts." (markdown-mode . "2.3") markdown-gfm-additional-languages #[0 "\300\207" [nil] 1] "Extra languages made available when inserting GFM code blocks.\nLanguage strings must have be trimmed of whitespace and not\ncontain any curly braces. They may be of arbitrary\ncapitalization, though." (repeat (string :validate markdown-validate-language-string)) markdown-gfm-use-electric-backquote #[0 "\300\207" [t] 1] "Use `markdown-electric-backquote' when backquote is hit three times." markdown-gfm-downcase-languages #[0 "\300\207" [t] 1] "If non-nil, downcase suggested languages.\nThis applies to insertions done with\n`markdown-electric-backquote'." markdown-edit-code-block-default-mode #[0 "\300\207" [normal-mode] 1] "Default mode to use for editing code blocks.\nThis mode is used when automatic detection fails, such as for GFM\ncode blocks with no language specified." (choice function (const :tag "None" nil)) (markdown-mode . "2.4") markdown-gfm-uppercase-checkbox #[0 "\300\207" [nil] 1] "If non-nil, use [X] for completed checkboxes, [x] otherwise." markdown-hide-urls #[0 "\300\207" [nil] 1] "Hide URLs of inline links and reference tags of reference links.\nSuch URLs will be replaced by a single customizable\ncharacter, defined by `markdown-url-compose-char', but are still part\nof the buffer.  Links can be edited interactively with\n\\[markdown-insert-link] or, for example, by deleting the final\nparenthesis to remove the invisibility property. You can also\nhover your mouse pointer over the link text to see the URL.\nSet this to a non-nil value to turn this feature on by default.\nYou can interactively set the value of this variable by calling\n`markdown-toggle-url-hiding', pressing \\[markdown-toggle-url-hiding],\nor from the menu Markdown > Links & Images menu." (markdown-mode . "2.3") markdown-translate-filename-function #[0 "\300\207" [identity] 1] "Function to use to translate filenames when following links.\n\\<markdown-mode-map>\\[markdown-follow-thing-at-point] and \\[markdown-follow-link-at-point]\ncall this function with the filename as only argument whenever\nthey encounter a filename (instead of a URL) to be visited and\nuse its return value instead of the filename in the link.  For\nexample, if absolute filenames are actually relative to a server\nroot directory, you can set\n`markdown-translate-filename-function' to a function that\nprepends the root directory to the given filename." :risky t (markdown-mode . "2.4") markdown-max-image-size #[0 "\300\207" [nil] 1] "Maximum width and height for displayed inline images.\nThis variable may be nil or a cons cell (MAX-WIDTH . MAX-HEIGHT).\nWhen nil, use the actual size.  Otherwise, use ImageMagick to\nresize larger images to be of the given maximum dimensions.  This\nrequires Emacs to be built with ImageMagick support." (markdown-mode . "2.4") (choice (const :tag "Use actual image width" nil) (cons (choice (sexp :tag "Maximum width in pixels") (const :tag "No maximum width" nil)) (choice (sexp :tag "Maximum height in pixels") (const :tag "No maximum height" nil))))] 12)
#@43 Markdown-specific sexps for `markdown-rx'
(defconst markdown-rx-constituents (byte-code "\300\301B\302\303B\304\305B\306\307B\310\311B\312\313B\314\315B\257\207" [newline "\n" indent " \\{4\\}\\|	" block-end "\\(?:\\(?:[[:blank:]]*\n\\)+\\|$\\)" numeral "[#0-9]+\\." bullet "[-*+:]" list-marker "[#0-9]+\\.\\|[-*+:]" checkbox "\\[[ Xx]]"] 8) (#$ . 21750))
#@203 Markdown mode specialized `rx-to-string' function.
This variant supports named Markdown expressions in FORM.
NO-GROUP non-nil means don't put shy groups around the result.

(fn FORM &optional NO-GROUP)
(defalias 'markdown-rx-to-string #[513 "\302	\"\303\")\207" [markdown-rx-constituents rx-constituents append rx-to-string] 5 (#$ . 22114)])
#@118 Markdown mode specialized rx macro.
This variant of `rx' supports common Markdown named REGEXPS.

(fn &rest REGEXPS)
(defalias 'markdown-rx '(macro . #[128 "\211\204 \300\301!\207\211A\203 \302\303B\304\"\207\302@\304\"\207" [error "No regexp" markdown-rx-to-string and t] 4 (#$ . 22467)]))
#@50 Regular expression matches HTML comment opening.
(defconst markdown-regex-comment-start "<!--" (#$ . 22768))
#@50 Regular expression matches HTML comment closing.
(defconst markdown-regex-comment-end "--[ 	]*>" (#$ . 22883))
#@415 Regular expression for a [text](file) or an image link ![text](file).
Group 1 matches the leading exclamation point (optional).
Group 2 matches the opening square bracket.
Group 3 matches the text inside the square brackets.
Group 4 matches the closing square bracket.
Group 5 matches the opening parenthesis.
Group 6 matches the URL.
Group 7 matches the title (optional).
Group 8 matches the closing parenthesis.
(defconst markdown-regex-link-inline "\\(!\\)?\\(\\[\\)\\([^]^][^]]*\\|\\)\\(\\]\\)\\((\\)\\([^)]*?\\)\\(?:\\s-+\\(\"[^\"]*\"\\)\\)?\\()\\)" (#$ . 23001))
#@461 Regular expression for a reference link [text][id].
Group 1 matches the leading exclamation point (optional).
Group 2 matches the opening square bracket for the link text.
Group 3 matches the text inside the square brackets.
Group 4 matches the closing square bracket for the link text.
Group 5 matches the opening square bracket for the reference label.
Group 6 matches the reference label.
Group 7 matches the closing square bracket for the reference label.
(defconst markdown-regex-link-reference "\\(!\\)?\\(\\[\\)\\([^]^][^]]*\\|\\)\\(\\]\\)[ ]?\\(\\[\\)\\([^]]*?\\)\\(\\]\\)" (#$ . 23577))
#@273 Regular expression for a reference definition.
Group 1 matches the opening square bracket.
Group 2 matches the reference label.
Group 3 matches the closing square bracket.
Group 4 matches the colon.
Group 5 matches the URL.
Group 6 matches the title attribute (optional).
(defconst markdown-regex-reference-definition "^ \\{0,3\\}\\(\\[\\)\\([^]\n]+?\\)\\(\\]\\)\\(:\\)\\s *\\(.*?\\)\\s *\\( \"[^\"]*\"$\\|$\\)" (#$ . 24180))
#@211 Regular expression for a footnote marker [^fn].
Group 1 matches the opening square bracket and carat.
Group 2 matches only the label, without the surrounding markup.
Group 3 matches the closing square bracket.
(defconst markdown-regex-footnote "\\(\\[\\^\\)\\(.+?\\)\\(\\]\\)" (#$ . 24613))
#@426 Regexp identifying Markdown headings.
Group 1 matches the text of a setext heading.
Group 2 matches the underline of a level-1 setext heading.
Group 3 matches the underline of a level-2 setext heading.
Group 4 matches the opening hash marks of an atx heading and whitespace.
Group 5 matches the text, without surrounding whitespace, of an atx heading.
Group 6 matches the closing whitespace and hash marks of an atx heading.
(defconst markdown-regex-header "^\\(?:\\([^\n	 -].*\\)\n\\(?:\\(=+\\)\\|\\(-+\\)\\)\\|\\(#+[ 	]+\\)\\(.*?\\)\\([ 	]*#*\\)\\)$" (#$ . 24911))
#@66 Regular expression for generic setext-style (underline) headers.
(defconst markdown-regex-header-setext "^\\([^\n	 -].*\\)\n\\(=+\\|-+\\)$" (#$ . 25485))
#@63 Regular expression for generic atx-style (hash mark) headers.
(defconst markdown-regex-header-atx "^\\(#+\\)[ 	]+\\(.*?\\)[ 	]*\\(#*\\)$" (#$ . 25646))
#@60 Regular expression for matching Markdown horizontal rules.
(defconst markdown-regex-hr "^\\(\\(?:\\* ?\\)\\{3\\}[ *]*\\|\\(?:- ?\\)\\{3\\}[- ]*\\|\\(?:_ ?\\)\\{3\\}[ _]*\\)$" (#$ . 25804))
#@566 Regular expression for matching inline code fragments.

Group 1 matches the entire code fragment including the backquotes.
Group 2 matches the opening backquotes.
Group 3 matches the code fragment itself, without backquotes.
Group 4 matches the closing backquotes.

The leading, unnumbered group ensures that the leading backquote
character is not escaped.
The last group, also unnumbered, requires that the character
following the code fragment is not a backquote.
Note that \(?:.\|
[^
]\) matches any character, including newlines,
but not two newlines in a row.
(defconst markdown-regex-code "\\(?:\\`\\|[^\\]\\)\\(\\(`+\\)\\(\\(?:.\\|\n[^\n]\\)*?[^`]\\)\\(\\2\\)\\)\\(?:[^`]\\|\\'\\)" (#$ . 26000))
#@130 Regular expression for matching <kbd> tags.
Groups 1 and 3 match the opening and closing tags.
Group 2 matches the key sequence.
(defconst markdown-regex-kbd "\\(<kbd>\\)\\(\\(?:.\\|\n[^\n]\\)*?\\)\\(</kbd>\\)" (#$ . 26710))
#@434 Regular expression matching opening of GFM code blocks.
Group 1 matches the opening three backquotes and any following whitespace.
Group 2 matches the opening brace (optional) and surrounding whitespace.
Group 3 matches the language identifier (optional).
Group 4 matches the info string (optional).
Group 5 matches the closing brace (optional), whitespace, and newline.
Groups need to agree with `markdown-regex-tilde-fence-begin'.
(defconst markdown-regex-gfm-code-block-open "^[[:blank:]]*\\(```\\)\\([[:blank:]]*{?[[:blank:]]*\\)\\([^[:space:]]+?\\)?\\(?:[[:blank:]]+\\(.+?\\)\\)?\\([[:blank:]]*}?[[:blank:]]*\\)$" (#$ . 26942))
#@157 Regular expression matching closing of GFM code blocks.
Group 1 matches the closing three backquotes.
Group 2 matches any whitespace and the final newline.
(defconst markdown-regex-gfm-code-block-close "^[[:blank:]]*\\(```\\)\\(\\s *?\\)$" (#$ . 27582))
#@61 Regular expression for matching preformatted text sections.
(defconst markdown-regex-pre "^\\(    \\|	\\).*$" (#$ . 27842))
#@45 Regular expression for matching list items.
(defconst markdown-regex-list "^\\([[:blank:]]*\\)\\([#0-9]+\\.\\|[-*+:]\\)\\([[:blank:]]+\\)\\(\\[[ Xx]][[:blank:]]*\\)?" (#$ . 27972))
#@337 Regular expression for matching bold text.
Group 1 matches the character before the opening asterisk or
underscore, if any, ensuring that it is not a backslash escape.
Group 2 matches the entire expression, including delimiters.
Groups 3 and 5 matches the opening and closing delimiters.
Group 4 matches the text inside the delimiters.
(defconst markdown-regex-bold "\\(^\\|[^\\]\\)\\(\\([*_]\\{2\\}\\)\\([^ \n	\\]\\|[^ \n	]\\(?:.\\|\n[^\n]\\)*?[^\\ ]\\)\\(\\3\\)\\)" (#$ . 28160))
#@354 Regular expression for matching italic text.
The leading unnumbered matches the character before the opening
asterisk or underscore, if any, ensuring that it is not a
backslash escape.
Group 1 matches the entire expression, including delimiters.
Groups 2 and 4 matches the opening and closing delimiters.
Group 3 matches the text inside the delimiters.
(defconst markdown-regex-italic "\\(?:^\\|[^\\]\\)\\(\\([*_]\\)\\([^ \n	\\]\\|[^ \n	*]\\(?:.\\|\n[^\n]\\)*?[^\\ ]\\)\\(\\2\\)\\)" (#$ . 28649))
#@330 Regular expression for matching strike-through text.
Group 1 matches the character before the opening tilde, if any,
ensuring that it is not a backslash escape.
Group 2 matches the entire expression, including delimiters.
Groups 3 and 5 matches the opening and closing delimiters.
Group 4 matches the text inside the delimiters.
(defconst markdown-regex-strike-through "\\(^\\|[^\\]\\)\\(\\(~~\\)\\([^ \n	\\]\\|[^ \n	]\\(?:.\\|\n[^\n]\\)*?[^\\ ]\\)\\(~~\\)\\)" (#$ . 29153))
#@291 Regular expression for matching italic text in GitHub Flavored Markdown.
Underscores in words are not treated as special.
Group 1 matches the entire expression, including delimiters.
Groups 2 and 4 matches the opening and closing delimiters.
Group 3 matches the text inside the delimiters.
(defconst markdown-regex-gfm-italic "\\(?:^\\|\\s-\\)\\(\\([*_]\\)\\([^ \\]\\2\\|[^ ]\\(?:.\\|\n[^\n]\\)*?[^\\ ]\\)\\(\\2\\)\\)" (#$ . 29635))
#@304 Regular expression for matching blockquote lines.
Also accounts for a potential capital letter preceding the angle
bracket, for use with Leanpub blocks (asides, warnings, info
blocks, etc.).
Group 1 matches the leading angle bracket.
Group 2 matches the separating whitespace.
Group 3 matches the text.
(defconst markdown-regex-blockquote "^[ 	]*\\([A-Z]?>\\)\\([ 	]*\\)\\(.*\\)$" (#$ . 30075))
#@46 Regular expression for matching line breaks.
(defconst markdown-regex-line-break "[^ \n	][ 	]*\\(  \\)$" (#$ . 30476))
#@560 Regular expression for matching wiki links.
This matches typical bracketed [[WikiLinks]] as well as 'aliased'
wiki links of the form [[PageName|link text]].
The meanings of the first and second components depend
on the value of `markdown-wiki-link-alias-first'.

Group 1 matches the entire link.
Group 2 matches the opening square brackets.
Group 3 matches the first component of the wiki link.
Group 4 matches the pipe separator, when present.
Group 5 matches the second component of the wiki link, when present.
Group 6 matches the closing square brackets.
(defconst markdown-regex-wiki-link "\\(?:^\\|[^\\]\\)\\(\\(\\[\\[\\)\\([^]|]+\\)\\(?:\\(|\\)\\([^]]+\\)\\)?\\(\\]\\]\\)\\)" (#$ . 30602))
#@46 Regular expression for matching inline URIs.
(defconst markdown-regex-uri (byte-code "\301\302!\303Q\207" [markdown-uri-types "\\(" regexp-opt ":[^]	\n<>,;() ]+\\)"] 3) (#$ . 31305))
#@64 Regular expression for matching inline URIs in angle brackets.
(defconst markdown-regex-angle-uri (byte-code "\301\302!\303Q\207" [markdown-uri-types "\\(<\\)\\(" regexp-opt ":[^]	\n<>,;()]+\\)\\(>\\)"] 3) (#$ . 31496))
#@57 Regular expression for matching inline email addresses.
(defconst markdown-regex-email "<\\(\\(?:\\sw\\|\\s_\\|\\s.\\)+@\\(?:\\sw\\|\\s_\\|\\s.\\)+\\)>" (#$ . 31724))
#@59 Make regular expression for matching any recognized link.
(defalias 'markdown-make-regex-link-generic #[0 "\305	\205	 \306\nP\306\306\f\307\260\207" [markdown-regex-link-inline markdown-enable-wiki-links markdown-regex-wiki-link markdown-regex-link-reference markdown-regex-angle-uri "\\(?:" "\\|" "\\)"] 8 (#$ . 31897)])
(put 'markdown-make-regex-link-generic 'byte-optimizer 'byte-compile-inline-expand)
#@94 Regular expression for matching GFM checkboxes.
Group 1 matches the text to become a button.
(defconst markdown-regex-gfm-checkbox " \\(\\[[ xX]\\]\\) " (#$ . 32312))
#@47 Regular expression that matches a blank line.
(defconst markdown-regex-blank-line "^[[:blank:]]*$" (#$ . 32485))
#@51 Regular expression for matching block boundaries.
(defconst markdown-regex-block-separator "\n[\n	\f ]*\n" (#$ . 32604))
#@63 Regexp for block separators before lines with no indentation.
(defconst markdown-regex-block-separator-noindent (concat "\\(\\`\\|\\(" markdown-regex-block-separator "\\)[^\n	\f ]\\)") (#$ . 32731))
#@178 Regular expression for itex $..$ math mode expressions.
Groups 1 and 3 match the opening and closing dollar signs.
Group 2 matches the mathematical expression contained within.
(defconst markdown-regex-math-inline-single "\\(?:^\\|[^\\]\\)\\(\\$\\)\\(\\(?:[^\\$]\\|\\\\.\\)*\\)\\(\\$\\)" (#$ . 32937))
#@176 Regular expression for itex $$..$$ math mode expressions.
Groups 1 and 3 match opening and closing dollar signs.
Group 2 matches the mathematical expression contained within.
(defconst markdown-regex-math-inline-double "\\(?:^\\|[^\\]\\)\\(\\$\\$\\)\\(\\(?:[^\\$]\\|\\\\.\\)*\\)\\(\\$\\$\\)" (#$ . 33246))
#@258 Regular expression for [..] or \[..\] display math.
Groups 1 and 4 match the opening and closing markup.
Group 3 matches the mathematical expression contained within.
Group 2 matches the opening slashes, and is used internally to
match the closing slashes.
(defconst markdown-regex-math-display "^[[:blank:]]*\\(\\(\\\\\\{1,2\\}\\)\\[\\)\\(\\(?:.\\|\n\\)*?\\)\\(\\2]\\)$" (#$ . 33559))
#@183 Return regexp matching a tilde code fence at least NUM-TILDES long.
END-OF-LINE is the regexp construct to indicate end of line; $ if
missing.

(fn NUM-TILDES &optional END-OF-LINE)
(defalias 'markdown-make-tilde-fence-regex #[513 "\300\301\302\303\206\n \304%\207" [format "%s%d%s%s" "^[[:blank:]]*\\([~]\\{" ",\\}\\)" "$"] 8 (#$ . 33952)])
(put 'markdown-make-tilde-fence-regex 'byte-optimizer 'byte-compile-inline-expand)
#@401 Regular expression for matching tilde-fenced code blocks.
Group 1 matches the opening tildes.
Group 2 matches (optional) opening brace and surrounding whitespace.
Group 3 matches the language identifier (optional).
Group 4 matches the info string (optional).
Group 5 matches the closing brace (optional) and any surrounding whitespace.
Groups need to agree with `markdown-regex-gfm-code-block-open'.
(defconst markdown-regex-tilde-fence-begin (byte-code "\300\301\302\303\304\305\206\f \306%\207" [3 "\\([[:blank:]]*{?\\)[[:blank:]]*\\([^[:space:]]+?\\)?\\(?:[[:blank:]]+\\(.+?\\)\\)?\\([[:blank:]]*}?[[:blank:]]*\\)$" format "%s%d%s%s" "^[[:blank:]]*\\([~]\\{" ",\\}\\)" "$"] 8) (#$ . 34386))
#@209 Regular expression for matching declarative metadata statements.
This matches MultiMarkdown metadata as well as YAML and TOML
assignments such as the following:

    variable: value

or

    variable = value
(defconst markdown-regex-declarative-metadata "^\\([[:alpha:]][[:alpha:] _-]*?\\)\\([:=][ 	]*\\)\\(.*\\)$" (#$ . 35089))
#@50 Regular expression for matching Pandoc metadata.
(defconst markdown-regex-pandoc-metadata "^\\(%\\)\\([ 	]*\\)\\(.*\\(?:\n[ 	]+.*\\)*\\)" (#$ . 35424))
#@48 Regular expression for matching YAML metadata.
(defconst markdown-regex-yaml-metadata-border "\\(-\\{3\\}\\)$" (#$ . 35582))
#@60 Regular expression for matching YAML metadata end borders.
(defconst markdown-regex-yaml-pandoc-metadata-end-border "^\\(\\.\\{3\\}\\|\\-\\{3\\}\\)$" (#$ . 35713))
#@74 Return YAML metadata start border depending upon whether Pandoc is used.
(defalias 'markdown-get-yaml-metadata-start-border #[0 "\203 \302\202	 \303	P\207" [markdown-use-pandoc-style-yaml-metadata markdown-regex-yaml-metadata-border "^" "\\`"] 2 (#$ . 35883)])
(put 'markdown-get-yaml-metadata-start-border 'byte-optimizer 'byte-compile-inline-expand)
#@80 Return YAML metadata end border depending upon whether Pandoc is used.

(fn _)
(defalias 'markdown-get-yaml-metadata-end-border #[257 "\203 	\207\n\207" [markdown-use-pandoc-style-yaml-metadata markdown-regex-yaml-pandoc-metadata-end-border markdown-regex-yaml-metadata-border] 2 (#$ . 36243)])
(put 'markdown-get-yaml-metadata-end-border 'byte-optimizer 'byte-compile-inline-expand)
#@146 Regular expression for matching inline identifiers or attribute lists.
Compatible with Pandoc, Python Markdown, PHP Markdown Extra, and Leanpub.
(defconst markdown-regex-inline-attributes "[ 	]*\\({:?\\)[ 	]*\\(\\(#[[:alpha:]_.:-]+\\|\\.[[:alpha:]_.:-]+\\|\\w+=['\"]?[^\n'\"]*['\"]?\\),?[ 	]*\\)+\\(}\\)[ 	]*$" (#$ . 36636))
#@68 Regular expression for Leanpub section markers and related syntax.
(defconst markdown-regex-leanpub-sections "^\\({\\)\\(\\(?:appendix\\|backmatter\\|frontmatter\\|mainmatter\\|pagebreak\\)\\)\\(}\\)[ 	]*\n" (#$ . 36967))
#@425 The regular expression matching a sub- or superscript.
The leading un-numbered group matches the character before the
opening tilde or carat, if any, ensuring that it is not a
backslash escape, carat, or tilde.
Group 1 matches the entire expression, including markup.
Group 2 matches the opening markup--a tilde or carat.
Group 3 matches the text inside the delimiters.
Group 4 matches the closing markup--a tilde or carat.
(defconst markdown-regex-sub-superscript "\\(?:^\\|[^\\~^]\\)\\(\\([~^]\\)\\([[:alnum:]]+\\)\\(\\2\\)\\)" (#$ . 37196))
#@547 Regular expression matching common forms of include syntax.
Marked 2, Leanpub, and other processors support some of these forms:

<<[sections/section1.md]
<<(folder/filename)
<<[Code title](folder/filename)
<<{folder/raw_file.html}

Group 1 matches the opening two angle brackets.
Groups 2-4 match the opening square bracket, the text inside,
and the closing square bracket, respectively.
Groups 5-7 match the opening parenthesis, the text inside, and
the closing parenthesis.
Groups 8-10 match the opening brace, the text inside, and the brace.
(defconst markdown-regex-include "^\\(<<\\)\\(?:\\(\\[\\)\\(.*\\)\\(\\]\\)\\)?\\(?:\\((\\)\\(.*\\)\\()\\)\\)?\\(?:\\({\\)\\(.*\\)\\(}\\)\\)?$" (#$ . 37747))
#@254 Regular expression for Pandoc inline footnote^[footnote text].
Group 1 matches the opening caret.
Group 2 matches the opening square bracket.
Group 3 matches the footnote text, without the surrounding markup.
Group 4 matches the closing square bracket.
(defconst markdown-regex-pandoc-inline-footnote "\\(\\^\\)\\(\\[\\)\\(\\(?:.\\|\n[^\n]\\)*?\\)\\(\\]\\)" (#$ . 38457))
#@277 Regular expression for matching HTML attributes and values.
Group 1 matches the attribute name.
Group 2 matches the following whitespace, equals sign, and value, if any.
Group 3 matches the equals sign, if any.
Group 4 matches single-, double-, or un-quoted attribute values.
(defconst markdown-regex-html-attr "\\(\\<[[:alpha:]:-]+\\>\\)\\(\\s-*\\(=\\)\\s-*\\(\".*?\"\\|'.*?'\\|[^'\">[:space:]]+\\)?\\)?" (#$ . 38836))
#@218 Regular expression for matching HTML tags.
Groups 1 and 9 match the beginning and ending angle brackets and slashes.
Group 2 matches the tag name.
Group 3 matches all attributes and whitespace following the tag name.
(defconst markdown-regex-html-tag (concat "\\(</?\\)\\(\\w+\\)\\(\\(\\s-+" markdown-regex-html-attr "\\)+\\s-*\\|\\s-*\\)\\(/?>\\)") (#$ . 39263))
#@48 Regular expression for matching HTML entities.
(defconst markdown-regex-html-entity "\\(&#?[[:alnum:]]+;\\)" (#$ . 39633))
#@53 Property list of all Markdown syntactic properties.
(defvar markdown--syntax-properties (byte-code "\300\301\302\301\303\301\304\301\305\301\306\301\307\301\310\301\311\301\312\301\313\301\314\301\315\301\316\301\317\301\320\301\321\301\322\301\323\301\324\301\325\301\326\301\327\301\330\301\331\301\332\301\2574\207" [markdown-tilde-fence-begin nil markdown-tilde-fence-end markdown-fenced-code markdown-yaml-metadata-begin markdown-yaml-metadata-end markdown-yaml-metadata-section markdown-gfm-block-begin markdown-gfm-block-end markdown-gfm-code markdown-list-item markdown-pre markdown-blockquote markdown-hr markdown-comment markdown-heading markdown-heading-1-setext markdown-heading-2-setext markdown-heading-1-atx markdown-heading-2-atx markdown-heading-3-atx markdown-heading-4-atx markdown-heading-5-atx markdown-heading-6-atx markdown-metadata-key markdown-metadata-value markdown-metadata-markup] 52) (#$ . 39762))
#@100 Return non-nil if POS is in a comment.
If POS is not given, use point instead.

(fn &optional POS)
(defalias 'markdown-in-comment-p #[256 "\300\206 `\301\"\207" [get-text-property markdown-comment] 4 (#$ . 40697)])
(put 'markdown-in-comment-p 'byte-optimizer 'byte-compile-inline-expand)
#@328 Extend START to END region to include an entire block of text.
This helps improve syntax analysis for block constructs.
Returns a cons (NEW-START . NEW-END) or nil if no adjustment should be made.
Function is called repeatedly until it returns nil. For details, see
`syntax-propertize-extend-region-functions'.

(fn START END)
(defalias 'markdown-syntax-propertize-extend-region #[514 "\300 \301\302\303\304\305!\306\"\307$\216\212b\210\310\311w\210\312\313\311\314#\203% \302\225^\202& eb\210\310\311x\210\315\313\311\314#\203< \302\224]\202= d\316!\211\203I \211@\206J dW\205T \316!\211\203^ \211A@\206_ 	=\205j \211=?\205s d^B\266\206*\207" [match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 "\n" nil re-search-backward "\n\n" t re-search-forward markdown-code-block-at-pos] 12 (#$ . 40994)])
#@185 Used in `jit-lock-after-change-extend-region-functions'.
Delegates to `markdown-syntax-propertize-extend-region'. START
and END are the previous region to refontify.

(fn START END _)
(defalias 'markdown-font-lock-extend-region-function #[771 "\302\"\211\205, dU\203% \303 \304\305\306\307\310!\311\"\312$\216\313@A\"\210)\210\211@\211A\211\207" [jit-lock-start jit-lock-end markdown-syntax-propertize-extend-region match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 markdown-syntax-propertize] 11 (#$ . 41857)])
#@204 Return a list describing the list item at point.
Assumes that match data is set for `markdown-regex-list'.  See the
documentation for `markdown-cur-list-item-bounds' for the format of
the returned list.
(defalias 'markdown--cur-list-item-bounds #[0 "\212\300\224\301\302!G\303\225\300\224Z\304\305\224\303\225\"\301\306!\307\310\311!!\312!\257\266\207)\207" [0 match-string-no-properties 1 3 buffer-substring-no-properties 2 4 butlast match-data t markdown-cur-list-item-end] 14 (#$ . 42427)])
#@468 Update list item BOUNDS given list MARKER, block INDENT, and CUR-BOUNDS.
Here, MARKER is a string representing the type of list and INDENT
is an integer giving the indentation, in spaces, of the current
block.  CUR-BOUNDS is a list of the form returned by
`markdown-cur-list-item-bounds' and BOUNDS is a list of bounds
values for parent list items.  When BOUNDS is nil, it means we are
at baseline (not inside of a nested list).

(fn MARKER INDENT CUR-BOUNDS BOUNDS)
(defalias 'markdown--append-list-item-bounds #[1028 "\211@AA@\206	 \300\203 \204 C\202h \203( \301\\Y\203( B\202h \2039 Y\2039 AB\202h W\203g G\302V\203a A@AA@\211\262\203a \301\\W\203a A\262\202? B\202h \207" [0 4 1] 8 (#$ . 42943)])
#@308 Propertize list items from START to END.
Stores nested list item information in the `markdown-list-item'
text property to make later syntax analysis easier.  The value of
this property is a list with elements of the form (begin . end)
giving the bounds of the current and parent list items.

(fn START END)
(defalias 'markdown-syntax-propertize-list-items #[514 "\212b\210\302\211\211\303 \210`W\205u \304\305#\205u G\262\306\307T\"\262\310 \210\311 \2031 \302\262\202o \211\312\313!)\262\204o \314 \315 \211@A@\3168\262\317$\262	`X\203m `	X\203m \320\321$\210\266\302\210\202\n \266\203)\207" [markdown-regex-list inhibit-changing-match-data nil markdown-search-backward-baseline re-search-forward limit format "^\\(    \\|	\\)\\{%d\\}" beginning-of-line markdown-new-baseline t looking-at current-indentation markdown--cur-list-item-bounds 4 markdown--append-list-item-bounds put-text-property markdown-list-item] 15 (#$ . 43679)])
#@67 Match preformatted text blocks from START to END.

(fn START END)
(defalias 'markdown-syntax-propertize-pre-blocks #[514 "\212b\210\302 \303\211\211\211\211`W\203\310 \211\204\310 \204  \304\262\202% GT\262\305\306\"\262\305\307S\"\262n\204> \303y\210\202 \310 \203I \303y\210\202 \311 \203W \303y\210\303\262\202 \312 \203\213 \313!\203\213 \314\224\262\315\313!)\262\204w \310 \203\201 m\204\201 \303y\210\202f \316\317!\210`\262\202 \313	!\203\242 \320\321\322!\323 #\262\324 \210\202 @\203\302 \315\313!)\262\203\302 \320\303\323 #\262\324 \210\202 \324 \210\202 \205\336 \211\205\336 \325\326D$\210\327`\"\266\206)\207" [inhibit-changing-match-data markdown-regex-list markdown-calculate-list-levels nil 1 format "^\\(    \\|	\\)\\{%d\\}" "^\\(    \\|	\\)\\{0,%d\\}\\([^ 	]\\)" markdown-cur-line-blank-p markdown-new-baseline markdown-prev-line-blank looking-at 0 t skip-syntax-backward "-" markdown-update-list-levels match-string 2 current-indentation markdown-end-of-text-block put-text-property markdown-pre markdown-syntax-propertize-pre-blocks] 14 (#$ . 44651)])
#@1458 Mapping of regular expressions to "fenced-block" constructs.
These constructs are distinguished by having a distinctive start
and end pattern, both of which take up an entire line of text,
but no special pattern to identify text within the fenced
blocks (unlike blockquotes and indented-code sections).

Each element within this list takes the form:

  ((START-REGEX-OR-FUN START-PROPERTY)
   (END-REGEX-OR-FUN END-PROPERTY)
   MIDDLE-PROPERTY)

Each *-REGEX-OR-FUN element can be a regular expression as a string, or a
function which evaluates to same. Functions for START-REGEX-OR-FUN accept no
arguments, but functions for END-REGEX-OR-FUN accept a single numerical argument
which is the length of the first group of the START-REGEX-OR-FUN match, which
can be ignored if unnecessary. `markdown-maybe-funcall-regexp' is used to
evaluate these into "real" regexps.

The *-PROPERTY elements are the text properties applied to each part of the
block construct when it is matched using
`markdown-syntax-propertize-fenced-block-constructs'. START-PROPERTY is applied
to the text matching START-REGEX-OR-FUN, END-PROPERTY to END-REGEX-OR-FUN, and
MIDDLE-PROPERTY to the text in between the two. The value of *-PROPERTY is the
`match-data' when the regexp was matched to the text. In the case of
MIDDLE-PROPERTY, the value is a false match data of the form '(begin end), with
begin and end set to the edges of the "middle" text. This makes fontification
easier.
(defconst markdown-fenced-block-pairs (byte-code "\303B\304B\305	\306B\n\307B\310BBE\207" [markdown-regex-tilde-fence-begin markdown-regex-gfm-code-block-open markdown-regex-gfm-code-block-close (markdown-tilde-fence-begin) ((markdown-make-tilde-fence-regex markdown-tilde-fence-end) markdown-fenced-code) ((markdown-get-yaml-metadata-start-border markdown-yaml-metadata-begin) (markdown-get-yaml-metadata-end-border markdown-yaml-metadata-end) markdown-yaml-metadata-section) (markdown-gfm-block-begin) (markdown-gfm-block-end) (markdown-gfm-code)] 5) (#$ . 45779))
#@13 

(fn PROP)
(defalias 'markdown-text-property-at-point #[257 "\300`\"\207" [get-text-property] 4 (#$ . 47810)])
#@29 

(fn OBJECT &optional ARG)
(defalias 'markdown-maybe-funcall-regexp #[513 "\300!\203 \211\203 !\207 \207;\203 \207\301\302!\207" [functionp error "Object cannot be turned into regex"] 4 (#$ . 47929)])
(put 'markdown-maybe-funcall-regexp 'byte-optimizer 'byte-compile-inline-expand)
#@149 Return regexp to find all "start" sections of fenced block constructs.
Which construct is actually contained in the match must be found separately.
(defalias 'markdown-get-start-fence-regexp #[0 "\301\302\303\304\"\305#\207" [markdown-fenced-block-pairs mapconcat identity mapcar #[257 "\211@@\300\301!\203 \211\203 !\207 \207;\203 \207\302\303!\207" [nil functionp error "Object cannot be turned into regex"] 5 "\n\n(fn ENTRY)"] "\\|"] 5 (#$ . 48228)])
(put 'markdown-get-start-fence-regexp 'byte-optimizer 'byte-compile-inline-expand)
(defalias 'markdown-get-fenced-block-begin-properties #[0 "\301\302\"\207" [markdown-fenced-block-pairs cl-mapcar #[257 "\211@A@\207" [] 2 "\n\n(fn ENTRY)"]] 3])
(defalias 'markdown-get-fenced-block-end-properties #[0 "\301\302\"\207" [markdown-fenced-block-pairs cl-mapcar #[257 "\211A@A@\207" [] 2 "\n\n(fn ENTRY)"]] 3])
(defalias 'markdown-get-fenced-block-middle-properties #[0 "\301\302\"\207" [markdown-fenced-block-pairs cl-mapcar cl-third] 3])
#@169 Find previous place where property PROP is non-nil, up to LIM.
Return a cons of (pos . property). pos is point if point contains
non-nil PROP.

(fn PROP &optional LIM)
(defalias 'markdown-find-previous-prop #[513 "\300`\"\203 `\202 \301`\302\206 e$\300\"\204. \211eV\203. \300S\"\203. \211S\262\211\205< \300\"\205< \211B\207" [get-text-property previous-single-property-change nil] 7 (#$ . 49237)])
#@170 Find next place where property PROP is non-nil, up to LIM.
Return a cons of (POS . PROPERTY) where POS is point if point
contains non-nil PROP.

(fn PROP &optional LIM)
(defalias 'markdown-find-next-prop #[513 "\300`\"\203 `\202 \301`\302\206 d$\211\205# \300\"\205# \211B\207" [get-text-property next-single-property-change nil] 7 (#$ . 49658)])
#@94 Apply MAP-FN to SEQ and return element of SEQ with minimum value of MAP-FN.

(fn MAP-FN SEQ)
(defalias 'markdown-min-of-seq #[514 "\211\300\301\300:\203$ @\262!\211W\203 \211\262\262\210A\262\202 \207" [nil 1.0e+INF] 9 (#$ . 50020)])
#@94 Apply MAP-FN to SEQ and return element of SEQ with maximum value of MAP-FN.

(fn MAP-FN SEQ)
(defalias 'markdown-max-of-seq #[514 "\211\300\301\300:\203( @\262!\211\203  \211V\203  \211\262\262\210A\262\202 \207" [nil -1.0e+INF] 9 (#$ . 50273)])
#@279 Find previous block.
Detect whether `markdown-syntax-propertize-fenced-block-constructs' was
unable to propertize the entire block, but was able to propertize the beginning
of the block. If so, return a cons of (pos . property) where the beginning of
the block was propertized.
(defalias 'markdown-find-previous-block #[0 "`\301\302\303\304\305\306\307 \"\"\"\211\205\211 \310@A\"\211AAA@AA@Z\262\311\312\313\314\315\316!\317\"\320\321%\"A@@\322!\203O \211\203H !\266\202\202_  \266\202\202_ ;\203Z \266\202\202_ \323\324!\266\202\212\325 \312\326\327\315\316!\330\"\320$\216@b\210\331\332#\205} \326\224)\262)\211?\205\207 \266\203\207" [markdown-fenced-block-pairs markdown-max-of-seq car cl-remove-if null cl-mapcar markdown-find-previous-prop markdown-get-fenced-block-begin-properties get-text-property cl-find-if make-byte-code 257 "\211@A@\300A=\207" vconcat vector [] 3 "\n\n(fn ENTRY)" functionp error "Object cannot be turned into regex" match-data 0 "\301\300\302\"\207" [set-match-data evaporate] re-search-forward t] 11 (#$ . 50538)])
#@130 Return limits of an enclosing fenced block from its start, using PROP.
Return value is a list usable as `match-data'.

(fn PROP)
(defalias 'markdown-get-fenced-block-from-start #[257 "\3012c \302\303\304\305\306\307!\310\"\311\312%\"\313!@AA@A@A@\212\314\225b\210m\204- \315u\210\313!\211\204J \313!\211\203A \211A@\202E \316\301\315\"\262\202Z \317!\210\314\225b\210\320 \210\313!A@\262)D\266\2050\207" [markdown-fenced-block-pairs no-rest-of-block cl-find-if make-byte-code 257 "\211@A@\300=\207" vconcat vector [] 3 "\n\n(fn ENTRY)" markdown-text-property-at-point 0 nil throw set-match-data beginning-of-line] 10 (#$ . 51614)])
#@131 Return limits of an enclosing fenced block from its middle, using PROP.
Return value is a list usable as `match-data'.

(fn PROP)
(defalias 'markdown-get-fenced-block-from-middle #[257 "\301\302\303\304\305\306!\307\"\310\311%\"\211@A@\212\312\224b\210o\204  \313y\210\314 \210\315!@)A@A@\212\312\225b\210\314 \210\315!A@)D\207" [markdown-fenced-block-pairs cl-find-if make-byte-code 257 "\211AA@\300=\207" vconcat vector [] 3 "\n\n(fn ENTRY)" 0 -1 beginning-of-line markdown-text-property-at-point] 8 (#$ . 52267)])
#@128 Return limits of an enclosing fenced block from its end, using PROP.
Return value is a list usable as `match-data'.

(fn PROP)
(defalias 'markdown-get-fenced-block-from-end #[257 "\301\302\303\304\305\306!\307\"\310\311%\"\312!A@AA@@A@\212\313\224b\210o\204) \314u\210\312!\211\204: \315 \210\312!@\202P \316!\210\313\224b\210o\204I \314y\210\315 \210\312!@\262)\211D\207" [markdown-fenced-block-pairs cl-find-if make-byte-code 257 "\211A@A@\300=\207" vconcat vector [] 3 "\n\n(fn ENTRY)" markdown-text-property-at-point 0 -1 beginning-of-line set-match-data] 8 (#$ . 52799)])
#@224 Get "fake" match data for block enclosing POS.
Returns fake match data which encloses the start, middle, and end
of the block construct enclosing POS, if it exists. Used in
`markdown-code-block-at-pos'.

(fn &optional POS)
(defalias 'markdown-get-enclosing-fenced-block-construct #[256 "\212\211\203 \211b\210\300 \210\301\302\303\304\305\306\307\310 \"D\311\306\307\312 \"D\313\306\307\314 \"DE\"\"@)\207" [beginning-of-line cl-remove-if null cl-mapcar #[257 "\211\211G\300U\203 \211A\262\242\202 \301\302\303GD\"@\211\2058 \304 \305\306\307\310\311!\312\"\313$\216\314\315!!\210!)\262\207" [2 signal wrong-number-of-arguments nil match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 set-match-data markdown-text-property-at-point] 11 "\n\n(fn FUN-AND-PROP)"] markdown-get-fenced-block-from-start cl-find-if markdown-text-property-at-point markdown-get-fenced-block-begin-properties markdown-get-fenced-block-from-middle markdown-get-fenced-block-middle-properties markdown-get-fenced-block-from-end markdown-get-fenced-block-end-properties] 11 (#$ . 53395)])
#@233 Get match for REG up to END, if exists, and propertize appropriately.
FENCE-SPEC is an entry in `markdown-fenced-block-pairs' and
MIDDLE-BEGIN is the start of the "middle" section of the block.

(fn REG END FENCE-SPEC MIDDLE-BEGIN)
(defalias 'markdown-propertize-end-match #[1028 "\300\301#\2050 \302\224\302\225\303\301!\304AA@D$\210\305\"\210\304A@A@$\266\203\207" [re-search-forward t 0 match-data put-text-property markdown-syntax-propertize-yaml-metadata] 13 (#$ . 54515)])
#@367 Propertize according to `markdown-fenced-block-pairs' from START to END.
If unable to propertize an entire block (if the start of a block is within START
and END, but the end of the block is not), propertize the start section of a
block, then in a subsequent call propertize both middle and end by finding the
start which was previously propertized.

(fn START END)
(defalias 'markdown-syntax-propertize-fenced-block-constructs #[514 "\301\302\303\304\"\305#\212b\210\306 \211\203\236 \307\310\311\312\313\314!\315\"\316\317%\"@T\212@b\210\320@@\321\322!\203H \211\203A !\266\202\202X  \266\202\202X ;\203S \266\202\202X \323\324!\266\202\325 \326 {\"\210\327\225\327\224Z)A@@\322!\203\203 \211\203| !\266\202\202\223  \266\202\202\223 ;\203\216 \266\202\202\223 \323\324!\266\202\330$\266\210\331\332#\205R\325 \326 {\307\310\311\333\313\314!\334\"\335\336%\"\212\326 T)A@@\327\224\203\327 \327\225\203\327 \327\225\327\224Z\202\330 \337\322!\203\361 \211\203\352 !\266\202\202 \266\202\202;\203\374 \266\202\202\323\324!\266\202\212\340 \210\331@@\321\322!\203#\211\203!\266\202\2023 \266\202\2023;\203.\266\202\2023\323\324!\266\202\326 \"\210)\341\337\224\337\225@A@\342\332!$\210\330$\266\202\237 )\207" [markdown-fenced-block-pairs mapconcat identity mapcar #[257 "\211@@\300\301!\203 \211\203 !\207 \207;\203 \207\302\303!\207" [nil functionp error #1="Object cannot be turned into regex"] 5 "\n\n(fn ENTRY)"] "\\|" markdown-find-previous-block cl-find-if make-byte-code 257 "\300A@A@=\207" vconcat vector [] 3 "\n\n(fn ENTRY)" string-match nil functionp error #1# point-at-bol point-at-eol 1 markdown-propertize-end-match re-search-forward t "\211@@\302\303!\203 \211\203 !\266\202\202-  \266\202\202- ;\203( \266\202\202- \304\305!\266\202\300\302\306\307#)\207" [inhibit-changing-match-data nil functionp error #1# t string-match] 8 "\n\n(fn FENCED-PAIR)" 0 beginning-of-line put-text-property match-data] 13 (#$ . 55018)])
#@54 Match blockquotes from START to END.

(fn START END)
(defalias 'markdown-syntax-propertize-blockquotes #[514 "\212b\210\301\302#\205\" \303\304\224!?\205\" \305\304\224\304\225\306\307\302!$\210\202 )\207" [markdown-regex-blockquote re-search-forward t markdown-code-block-at-pos 0 put-text-property markdown-blockquote match-data] 8 (#$ . 57050)])
#@59 Match horizontal rules from START to END.

(fn START END)
(defalias 'markdown-syntax-propertize-hrs #[514 "\212b\210\301\302#\205- \303\224\303\225b\210\304 \204& \305 \204& \306\307\310\302!$\210\211b\266\202 )\207" [markdown-regex-hr re-search-forward t 0 markdown-on-heading-p markdown-code-block-at-point-p put-text-property markdown-hr match-data] 10 (#$ . 57409)])
#@258 Propertize elements inside YAML metadata blocks from START to END.
Assumes region from START and END is already known to be the interior
region of a YAML metadata block as propertized by
`markdown-syntax-propertize-fenced-block-constructs'.

(fn START END)
(defalias 'markdown-syntax-propertize-yaml-metadata #[514 "\212b\210\301\302#\2030 \303\304\224\304\225\305\306\302!$\210\303\307\224\307\225\310\306\302!$\210\303\311\224\311\225\312\306\302!$\210\202 )\313\207" [markdown-regex-declarative-metadata re-search-forward t put-text-property 1 markdown-metadata-key match-data 2 markdown-metadata-markup 3 markdown-metadata-value nil] 8 (#$ . 57795)])
#@77 Match headings of type SYMBOL with REGEX from START to END.

(fn START END)
(defalias 'markdown-syntax-propertize-headings #[514 "b\210\301\302#\205L \303\304\224!\204 \305\304\224\304\225\306\307\302!$\210\305\304\224\304\225\310\311!\203, \312\202D \310\313!\2036 \314\202D \315\310\316!!G\317\320\321\"!\262\307\302!$\210\202 \207" [markdown-regex-header re-search-forward t markdown-code-block-at-pos 0 put-text-property markdown-heading match-data match-string-no-properties 2 markdown-heading-1-setext 3 markdown-heading-2-setext markdown-trim-whitespace 4 intern format "markdown-heading-%d-atx"] 10 (#$ . 58460)])
#@60 Match HTML comments from the START to END.

(fn START END)
(defalias 'markdown-syntax-propertize-comments #[514 "\304\305 8\306\305 8b\210\204: \307\310#\203: \311 \204: \312 \204: \313\224\314\211T\315\316$\210\317\313\225T^d^\"\262\202r \203q \211\203q \307	\310#\203q \313\225\314\nS\n\315\320$\210\321\n#\210\314\n\322\nD$\210\317\nT^d^\")\202r \323\207" [markdown-regex-comment-start markdown-regex-comment-end comment-end markdown--syntax-properties 4 syntax-ppss 8 re-search-forward t markdown-inline-code-at-point-p markdown-code-block-at-point-p 0 put-text-property syntax-table (11) markdown-syntax-propertize-comments (12) remove-text-properties markdown-comment nil] 10 (#$ . 59095)])
#@108 Function used as `syntax-propertize-function'.
START and END delimit region to propertize.

(fn START END)
(defalias 'markdown-syntax-propertize #[514 "\304 \305\211\305\306\307\310\311\312!\313\"\314$\216\212\315#\210\316\"\210\317\"\210\320\"\210\321\"\210\322\"\210\323\"\210\324\"-\207" [buffer-undo-list inhibit-read-only inhibit-modification-hooks markdown--syntax-properties buffer-modified-p t make-byte-code 0 "\300?\205 \301\302!\207" vconcat vector [restore-buffer-modified-p nil] 2 remove-text-properties markdown-syntax-propertize-fenced-block-constructs markdown-syntax-propertize-list-items markdown-syntax-propertize-pre-blocks markdown-syntax-propertize-blockquotes markdown-syntax-propertize-headings markdown-syntax-propertize-hrs markdown-syntax-propertize-comments] 10 (#$ . 59816)])
#@51 List of properties and values to apply to markup.
(defconst markdown-markup-properties '(face markdown-markup-face invisible markdown-markup) (#$ . 60649))
#@70 List of properties and values to apply to code block language names.
(defconst markdown-language-keyword-properties '(face markdown-language-keyword-face invisible markdown-markup) (#$ . 60811))
#@77 List of properties and values to apply to code block language info strings.
(defconst markdown-language-info-properties '(face markdown-language-info-face invisible markdown-markup) (#$ . 61012))
#@65 List of properties and values to apply to included code titles.
(defconst markdown-include-title-properties '(face markdown-link-title-face invisible markdown-markup) (#$ . 61214))
(byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313\314\315&\210\316\301!\207" [custom-declare-variable markdown-hide-markup funcall function #[0 "\300\207" [nil] 1] "Determines whether markup in the buffer will be hidden.\nWhen set to nil, all markup is displayed in the buffer as it\nappears in the file.  An exception is when `markdown-hide-urls'\nis non-nil.\nSet this to a non-nil value to turn this feature on by default.\nYou can interactively toggle the value of this variable with\n`markdown-toggle-markup-hiding', \\[markdown-toggle-markup-hiding],\nor from the Markdown > Show & Hide menu.\n\nMarkup hiding works by adding text properties to positions in the\nbuffer---either the `invisible' property or the `display' property\nin cases where alternative glyphs are used (e.g., list bullets).\nThis does not, however, affect printing or other output.\nFunctions such as `htmlfontify-buffer' and `ps-print-buffer' will\nnot honor these text properties.  For printing, it would be better\nto first convert to HTML or PDF (e.g,. using Pandoc)." :group markdown :type boolean :safe booleanp :package-version (markdown-mode . "2.3") make-variable-buffer-local] 12)
#@207 Toggle the display or hiding of markup.
With a prefix argument ARG, enable markup hiding if ARG is positive,
and disable it otherwise.
See `markdown-hide-markup' for additional details.

(fn &optional ARG)
(defalias 'markdown-toggle-markup-hiding #[256 "\211\301=\203 ?\202 \302!\303V\211\203  \304\305!\210\306\307!\210\202( \310\305!\210\306\311!\210\312 \207" [markdown-hide-markup toggle prefix-numeric-value 0 add-to-invisibility-spec markdown-markup message "markdown-mode markup hiding enabled" remove-from-invisibility-spec "markdown-mode markup hiding disabled" markdown-reload-extensions] 4 (#$ . 62585) (byte-code "\206 \301C\207" [current-prefix-arg toggle] 1)])
(require 'font-lock)
#@35 Face name to use for italic text.
(defvar markdown-italic-face 'markdown-italic-face (#$ . 63294))
#@33 Face name to use for bold text.
(defvar markdown-bold-face 'markdown-bold-face (#$ . 63399))
#@43 Face name to use for strike-through text.
(defvar markdown-strike-through-face 'markdown-strike-through-face (#$ . 63498))
#@51 Face name to use as a base for header delimiters.
(defvar markdown-header-delimiter-face 'markdown-header-delimiter-face (#$ . 63627))
#@46 Face name to use as a base for header rules.
(defvar markdown-header-rule-face 'markdown-header-rule-face (#$ . 63768))
#@41 Face name to use as a base for headers.
(defvar markdown-header-face 'markdown-header-face (#$ . 63894))
#@39 Face name to use for level-1 headers.
(defvar markdown-header-face-1 'markdown-header-face-1 (#$ . 64005))
#@39 Face name to use for level-2 headers.
(defvar markdown-header-face-2 'markdown-header-face-2 (#$ . 64118))
#@39 Face name to use for level-3 headers.
(defvar markdown-header-face-3 'markdown-header-face-3 (#$ . 64231))
#@39 Face name to use for level-4 headers.
(defvar markdown-header-face-4 'markdown-header-face-4 (#$ . 64344))
#@39 Face name to use for level-5 headers.
(defvar markdown-header-face-5 'markdown-header-face-5 (#$ . 64457))
#@39 Face name to use for level-6 headers.
(defvar markdown-header-face-6 'markdown-header-face-6 (#$ . 64570))
#@35 Face name to use for inline code.
(defvar markdown-inline-code-face 'markdown-inline-code-face (#$ . 64683))
#@36 Face name to use for list markers.
(defvar markdown-list-face 'markdown-list-face (#$ . 64798))
#@34 Face name to use for blockquote.
(defvar markdown-blockquote-face 'markdown-blockquote-face (#$ . 64900))
#@41 Face name to use for preformatted text.
(defvar markdown-pre-face 'markdown-pre-face (#$ . 65012))
#@56 Face name to use for programming language identifiers.
(defvar markdown-language-keyword-face 'markdown-language-keyword-face (#$ . 65117))
#@48 Face name to use for programming info strings.
(defvar markdown-language-info-face 'markdown-language-info-face (#$ . 65263))
#@29 Face name to use for links.
(defvar markdown-link-face 'markdown-link-face (#$ . 65395))
#@66 Face name to use for links where the linked file does not exist.
(defvar markdown-missing-link-face 'markdown-missing-link-face (#$ . 65490))
#@33 Face name to use for reference.
(defvar markdown-reference-face 'markdown-reference-face (#$ . 65638))
#@40 Face name to use for footnote markers.
(defvar markdown-footnote-marker-face 'markdown-footnote-marker-face (#$ . 65747))
#@28 Face name to use for URLs.
(defvar markdown-url-face 'markdown-url-face (#$ . 65875))
#@45 Face name to use for reference link titles.
(defvar markdown-link-title-face 'markdown-link-title-face (#$ . 65967))
#@40 Face name to use for hard line breaks.
(defvar markdown-line-break-face 'markdown-line-break-face (#$ . 66090))
#@37 Face name to use for HTML comments.
(defvar markdown-comment-face 'markdown-comment-face (#$ . 66208))
#@41 Face name to use for LaTeX expressions.
(defvar markdown-math-face 'markdown-math-face (#$ . 66317))
#@37 Face name to use for metadata keys.
(defvar markdown-metadata-key-face 'markdown-metadata-key-face (#$ . 66424))
#@39 Face name to use for metadata values.
(defvar markdown-metadata-value-face 'markdown-metadata-value-face (#$ . 66543))
#@38 Face name to use for GFM checkboxes.
(defvar markdown-gfm-checkbox-face 'markdown-gfm-checkbox-face (#$ . 66668))
#@42 Face name to use for mouse highlighting.
(defvar markdown-highlight-face 'markdown-highlight-face (#$ . 66788))
#@39 Face name to use for markup elements.
(defvar markdown-markup-face 'markdown-markup-face (#$ . 66906))
(byte-code "\300\301\302\303#\210\300\304\302\303#\210\300\305\302\303#\210\300\306\302\303#\210\300\307\302\303#\210\300\310\302\303#\210\300\311\302\303#\210\300\312\302\303#\210\300\313\302\303#\210\300\314\302\303#\210\300\315\302\303#\210\300\316\302\303#\210\300\317\302\303#\210\300\320\302\303#\210\300\321\302\303#\210\300\322\302\303#\210\300\323\302\303#\210\300\324\302\303#\210\300\325\302\303#\210\300\326\302\303#\210\300\327\302\303#\210\300\330\302\303#\210\300\331\302\303#\210\300\332\302\303#\210\300\333\302\303#\210\300\334\302\303#\210\300\335\302\303#\210\300\336\302\303#\210\300\337\302\303#\210\300\340\302\303#\210\300\341\302\303#\210\300\342\302\303#\210\343\344\345\346\347\350\347\351&\210\352\301\353\354\347\344%\210\352\304\355\356\347\344%\210\352\305\357\360\347\344%\210\352\342\361\362\347\344%\210\352\307\363\364\347\344%\210\352\306\365\366\347\344%\210\352\320\367\370\347\344%\210\352\321\371\372\347\344%\210\352\373\374\375\347\344%\210\352\317\376\377\347\344%\210\352\322\201@ \201A \347\344%\210\352\201B \201C \201D \347\344%\210\352\323\201E \201F \347\344%\210\352\324\201G \201H \347\344%\210\352\325\201I \201J \347\344%\210\352\326\201K \201L \347\344%\210\352\327\201M \201N \347\344%\210\201O \201P \201Q \330#\210\201O \201P \201R \201S \201T !\206\223\201U #\210\352\330\201V \201W \347\344%\210\352\201X \201Y \201Z \347\344%\210\352\331\201[ \201\\ \347\344%\210\352\201] \201^ \201_ \347\344%\210\352\332\201` \201a \347\344%\210\352\333\201b \201c \347\344%\210\352\334\201d \201e \347\344%\210\352\335\201f \201g \347\344%\210\352\336\201h \201i \347\344%\210\352\337\201j \201k \347\344%\210\352\340\201l \201m \347\344%\210\352\341\201n \201o \347\344%\210\352\201p \201q \201r \347\344%\210\352\201s \201t \201u \347\344%\210\352\201v \201w \201x \347\344%\210\352\201y \201z \201{ \347\344%\210\352\201| \201} \201~ \347\344%\210\352\201 \201\200 \201\201 \347\344%\210\201\202 \201\203 \201\204 \201\205 \201\206 DD\201\207 \201\210 \201\211 \201\212 \201\213 \201\214 \201\215 \347\344\201\216 \201\217 &\210\201\202 \201\220 \201\204 \201\205 \201\221 DD\201\222 \201\210 \201\223 \201\212 \201\213 \201\214 \201\224 \347\344&\207" [make-obsolete-variable markdown-italic-face "Use face name directly" "v2.4" markdown-bold-face markdown-strike-through-face markdown-header-delimiter-face markdown-header-rule-face markdown-header-face markdown-header-face-1 markdown-header-face-2 markdown-header-face-3 markdown-header-face-4 markdown-header-face-5 markdown-header-face-6 markdown-inline-code-face markdown-list-face markdown-blockquote-face markdown-pre-face markdown-language-keyword-face markdown-language-info-face markdown-link-face markdown-missing-link-face markdown-reference-face markdown-footnote-marker-face markdown-url-face markdown-link-title-face markdown-line-break-face markdown-comment-face markdown-math-face markdown-metadata-key-face markdown-metadata-value-face markdown-gfm-checkbox-face markdown-highlight-face markdown-markup-face custom-declare-group markdown-faces nil "Faces used in Markdown Mode" :group markdown faces custom-declare-face ((t (:inherit italic))) "Face for italic text." ((t (:inherit bold))) "Face for bold text." ((t (:strike-through t))) "Face for strike-through text." ((t (:inherit shadow :slant normal :weight normal))) "Face for markup elements." ((t (:inherit markdown-markup-face))) "Base face for headers rules." ((t (:inherit markdown-markup-face))) "Base face for headers hash delimiter." ((t (:inherit markdown-markup-face))) "Face for list item markers." ((t (:inherit font-lock-doc-face))) "Face for blockquote sections." markdown-code-face ((t (:inherit fixed-pitch))) "Face for inline code, pre blocks, and fenced code blocks.\nThis may be used, for example, to add a contrasting background to\ninline code fragments and code blocks." ((t (:inherit (markdown-code-face font-lock-constant-face)))) "Face for inline code." ((t (:inherit (markdown-code-face font-lock-constant-face)))) "Face for preformatted text." markdown-table-face ((t (:inherit (markdown-code-face)))) "Face for tables." ((t (:inherit font-lock-type-face))) "Face for programming language identifiers." ((t (:inherit font-lock-string-face))) "Face for programming language info strings." ((t (:inherit link))) "Face for links." ((t (:inherit font-lock-warning-face))) "Face for missing links." ((t (:inherit markdown-markup-face))) "Face for link references." put markdown-footnote-face face-alias obsolete-face purecopy "v2.3" t ((t (:inherit markdown-markup-face))) "Face for footnote markers." markdown-footnote-text-face ((t (:inherit font-lock-comment-face))) "Face for footnote text." ((t (:inherit font-lock-string-face))) "Face for URLs that are part of markup.\nFor example, this applies to URLs in inline links:\n[link text](http://example.com/)." markdown-plain-url-face ((t (:inherit markdown-link-face))) "Face for URLs that are also links.\nFor example, this applies to plain angle bracket URLs:\n<http://example.com/>." ((t (:inherit font-lock-comment-face))) "Face for reference link titles." ((t (:inherit font-lock-constant-face :underline t))) "Face for hard line breaks." ((t (:inherit font-lock-comment-face))) "Face for HTML comments." ((t (:inherit font-lock-string-face))) "Face for LaTeX expressions." ((t (:inherit font-lock-variable-name-face))) "Face for metadata keys." ((t (:inherit font-lock-string-face))) "Face for metadata values." ((t (:inherit font-lock-builtin-face))) "Face for GFM checkboxes." ((t (:inherit highlight))) "Face for mouse highlighting." markdown-hr-face ((t (:inherit markdown-markup-face))) "Face for horizontal rules." markdown-html-tag-name-face ((t (:inherit font-lock-type-face))) "Face for HTML tag names." markdown-html-tag-delimiter-face ((t (:inherit markdown-markup-face))) "Face for HTML tag delimiters." markdown-html-attr-name-face ((t (:inherit font-lock-variable-name-face))) "Face for HTML attribute names." markdown-html-attr-value-face ((t (:inherit font-lock-string-face))) "Face for HTML attribute values." markdown-html-entity-face ((t (:inherit font-lock-variable-name-face))) "Face for HTML entities." custom-declare-variable markdown-header-scaling funcall function #[0 "\300\207" [nil] 1] "Whether to use variable-height faces for headers.\nWhen non-nil, `markdown-header-face' will inherit from\n`variable-pitch' and the scaling values in\n`markdown-header-scaling-values' will be applied to\nheaders of levels one through six respectively." :type boolean :initialize custom-initialize-default :set #[514 "\300\"\210\301!\207" [set-default markdown-update-header-faces] 5 "\n\n(fn SYMBOL VALUE)"] :package-version (markdown-mode . "2.2") markdown-header-scaling-values #[0 "\300\207" [(2.0 1.7 1.4 1.1 1.0 1.0)] 1] "List of scaling values for headers of level one through six.\nUsed when `markdown-header-scaling' is non-nil." list #[514 "\301\"\210\302\"\207" [markdown-header-scaling set-default markdown-update-header-faces] 5 "\n\n(fn SYMBOL VALUE)"]] 14)
#@44 Build the faces used for Markdown headers.
(defalias 'markdown-make-header-faces #[0 "\302\203\n \303B\262\304\305\306\307\310BBDC\311\312\313%\266\314\315\211W\205Z \211\211T\316\317\320\"!\2037 \321	8!\2028 \322\323\324\325\306\307\305\326FDCD\317\327E\330BBBB!\266\211T\262\202 \207" [markdown-header-scaling markdown-header-scaling-values (font-lock-function-name-face) variable-pitch custom-declare-face markdown-header-face t :inherit (:weight bold) "Base face for headers." :group markdown-faces 6 0 intern format "markdown-header-face-%s" float 1.0 eval defface quote :height "Face for level %s headers.\nYou probably don't want to customize this face directly. Instead\nyou can customize the base face `markdown-header-face' or the\nvariable-height variable `markdown-header-scaling'." (:group 'markdown-faces)] 15 (#$ . 74070)])
(markdown-make-header-faces)
#@201 Update header faces, depending on if header SCALING is desired.
If so, use given list of SCALING-VALUES relative to the baseline
size of `markdown-header-face'.

(fn &optional SCALING SCALING-VALUES)
(defalias 'markdown-update-header-faces #[512 "\301\302\211W\205@ \211\303\304\305T\"!\204 \306\202* \203% \3078!\202* \3078!\310N\2047 \311\312\313$\210\266\211T\262\202 \207" [markdown-header-scaling-values 6 0 intern format "markdown-header-face-%s" 1.0 float saved-face set-face-attribute nil :height] 12 (#$ . 74962)])
#@121 Return font-lock face for characters with given STATE.
See `font-lock-syntactic-face-function' for details.

(fn STATE)
(defalias 'markdown-syntactic-face #[257 "\3008\211\203 \301\202\f \302\207" [4 markdown-comment-face nil] 3 (#$ . 75509)])
(byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313&	\207" [custom-declare-variable markdown-list-item-bullets funcall function #[0 "\300\207" [("●" "◎" "○" "◆" "◇" "►" "•")] 1] "List of bullets to use for unordered lists.\nIt can contain any number of symbols, which will be repeated.\nDepending on your font, some reasonable choices are:\n♥ ● ◇ ✚ ✜ ☯ ◆ ♠ ♣ ♦ ❀ ◆ ◖ ▶ ► • ★ ▸." :group markdown :type (repeat (string :tag "Bullet character")) :package-version (markdown-mode . "2.3")] 10)
#@66 Return a font-lock facespec expression for footnote marker text.
(defalias 'markdown--footnote-marker-properties #[0 "\302\303\205	 \304	DBB\207" [markdown-hide-markup markdown-footnote-display face markdown-footnote-marker-face display] 4 (#$ . 76311)])
#@73 Return a font-lock facespec expression for Pandoc inline footnote text.
(defalias 'markdown--pandoc-inline-footnote-properties #[0 "\302\303\205	 \304	DBB\207" [markdown-hide-markup markdown-footnote-display face markdown-footnote-text-face display] 4 (#$ . 76573)])
(byte-code "\300\301\302\303#\210\304\211\203( \211@\301N\203! \302N\204! \305\302\301N#\210A\266\202\202 \210\306\301\302\307#\210\300\310\302\303#\210\304\211\203W \211@\310N\203P \302N\204P \305\302\310N#\210A\266\202\2026 \210\306\310\302\307#\207" [defvaralias gfm-font-lock-keywords markdown-mode-font-lock-keywords nil (saved-value saved-variable-comment) put make-obsolete-variable "v2.4" markdown-mode-font-lock-keywords-basic] 7)
#@41 Syntax highlighting for Markdown files.
(defvar markdown-mode-font-lock-keywords (byte-code "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326B\327	\330B\331\332\333\334\n\335B\257\336B\337\f\340B\341B\342\343\344/\345B\346\347\350\351\352\3530\354B1\355B\356BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB\207" [markdown-regex-kbd markdown-regex-email markdown-regex-html-attr markdown-regex-html-entity markdown-regex-footnote markdown-regex-pandoc-inline-footnote (markdown-match-yaml-metadata-begin (1 'markdown-markup-face)) (markdown-match-yaml-metadata-end (1 'markdown-markup-face)) (markdown-match-yaml-metadata-key (1 'markdown-metadata-key-face) (2 'markdown-markup-face) (3 'markdown-metadata-value-face)) (markdown-match-gfm-open-code-blocks (1 markdown-markup-properties) (2 markdown-markup-properties nil t) (3 markdown-language-keyword-properties nil t) (4 markdown-language-info-properties nil t) (5 markdown-markup-properties nil t)) (markdown-match-gfm-close-code-blocks (0 markdown-markup-properties)) (markdown-fontify-gfm-code-blocks) (markdown-fontify-tables) (markdown-match-fenced-start-code-block (1 markdown-markup-properties) (2 markdown-markup-properties nil t) (3 markdown-language-keyword-properties nil t) (4 markdown-language-info-properties nil t) (5 markdown-markup-properties nil t)) (markdown-match-fenced-end-code-block (0 markdown-markup-properties)) (markdown-fontify-fenced-code-blocks) (markdown-match-pre-blocks (0 'markdown-pre-face)) (markdown-fontify-headings) (markdown-match-declarative-metadata (1 'markdown-metadata-key-face) (2 'markdown-markup-face) (3 'markdown-metadata-value-face)) (markdown-match-pandoc-metadata (1 'markdown-markup-face) (2 'markdown-markup-face) (3 'markdown-metadata-value-face)) (markdown-fontify-hrs) (markdown-match-code (1 markdown-markup-properties prepend) (2 'markdown-inline-code-face prepend) (3 markdown-markup-properties prepend)) ((1 markdown-markup-properties) (2 'markdown-inline-code-face) (3 markdown-markup-properties)) (markdown-fontify-angle-uris) 'markdown-plain-url-face markdown-match-html-tag (1 'markdown-html-tag-delimiter-face t) (2 'markdown-html-tag-name-face t) (3 'markdown-html-tag-delimiter-face t) ((progn (goto-char (match-end 2)) (match-end 3)) nil (1 'markdown-html-attr-name-face) (3 'markdown-html-tag-delimiter-face nil t) (4 'markdown-html-attr-value-face nil t)) 'markdown-html-entity-face (markdown-fontify-list-items) ((1 markdown-markup-properties) (2 (markdown--footnote-marker-properties)) (3 markdown-markup-properties)) ((1 markdown-markup-properties) (2 markdown-markup-properties) (3 (markdown--pandoc-inline-footnote-properties)) (4 markdown-markup-properties)) (markdown-match-includes (1 markdown-markup-properties) (2 markdown-markup-properties nil t) (3 markdown-include-title-properties nil t) (4 markdown-markup-properties nil t) (5 markdown-markup-properties) (6 'markdown-url-face) (7 markdown-markup-properties)) (markdown-fontify-inline-links) (markdown-fontify-reference-links) ((1 'markdown-markup-face) (2 'markdown-reference-face) (3 'markdown-markup-face) (4 'markdown-markup-face) (5 'markdown-url-face) (6 'markdown-link-title-face)) (markdown-fontify-plain-uris) (markdown-match-math-single (1 'markdown-markup-face prepend) (2 'markdown-math-face append) (3 'markdown-markup-face prepend)) (markdown-match-math-double (1 'markdown-markup-face prepend) (2 'markdown-math-face append) (3 'markdown-markup-face prepend)) (markdown-match-math-display (1 'markdown-markup-face prepend) (3 'markdown-math-face append) (4 'markdown-markup-face prepend)) (markdown-match-bold (1 markdown-markup-properties prepend) (2 'markdown-bold-face append) (3 markdown-markup-properties prepend)) (markdown-match-italic (1 markdown-markup-properties prepend) (2 'markdown-italic-face append) (3 markdown-markup-properties prepend)) ((3 markdown-markup-properties) (4 'markdown-strike-through-face) (5 markdown-markup-properties)) (1 'markdown-line-break-face prepend) ((markdown-fontify-sub-superscripts) (markdown-match-inline-attributes (0 markdown-markup-properties prepend)) (markdown-match-leanpub-sections (0 markdown-markup-properties)) (markdown-fontify-blockquotes) (markdown-match-wiki-link (0 'markdown-link-face prepend))) markdown-regex-reference-definition markdown-regex-strike-through markdown-regex-line-break] 37) (#$ . 77298))
#@31 Counter for footnote numbers.
(defvar markdown-footnote-counter 0 (#$ . 81692))
(make-variable-buffer-local 'markdown-footnote-counter)
#@85 Regular expression matching any character that is allowed in a footnote identifier.
(defconst markdown-footnote-chars "[[:alnum:]-]" (#$ . 81834))
#@73 Regular expression matching a footnote definition, capturing the label.
(defconst markdown-regex-footnote-definition (concat "^ \\{0,3\\}\\[\\(\\^" markdown-footnote-chars "*?\\)\\]:\\(?:[ 	]+\\|$\\)") (#$ . 81987))
#@158 Replace ocurrences of REGEXP with REP in STRING.
This is a compatibility wrapper to provide `replace-regexp-in-string'
in XEmacs 21.

(fn REGEXP REP STRING)
(defalias 'markdown-replace-regexp-in-string #[771 "\300#\207" [replace-regexp-in-string] 7 (#$ . 82210)])
(byte-code "\300\301!\203 \302\303\301\"\210\202 \300\304!\203 \302\303\304\"\210\302\305\300\306!\203% \306\202& \307\"\210\302\310\300\311!\2034 \311\2025 \312\"\210\302\313\300\314!\203C \314\202D \315\"\210\302\316\300\317!\203R \317\202S \320\"\210\302\321\300\322!\203a \322\202b \323\"\210\302\324\300\325!\203p \325\202q \326\"\207" [fboundp use-region-p defalias markdown-use-region-p region-active-p markdown-hide-sublevels outline-hide-sublevels hide-sublevels markdown-show-all outline-show-all show-all markdown-hide-body outline-hide-body hide-body markdown-show-children outline-show-children show-children markdown-show-subtree outline-show-subtree show-subtree markdown-hide-subtree outline-hide-subtree hide-subtree] 4)
#@169 Return non-nil if NAME ends with a directory separator character.
Taken from `directory-name-p' from Emacs 25 and provided here for
backwards compatibility.

(fn NAME)
(defalias 'markdown-directory-name-p #[257 "\211G\301\302V\203 SH\262\211\303U\206 \304>\205 \211\305U\207" [system-type 46 0 47 (windows-nt ms-dos) 92] 5 (#$ . 83225)])
(byte-code "\300\301\302\303#\210\304\305\306\307!\203 \307\202 \310\"\207" [put markdown-directory-name-p byte-optimizer byte-compile-inline-expand defalias markdown-directory-files-recursively fboundp directory-files-recursively #[514 "\303\211\205 \304\305!!\306\307\310\"\311\"\211\203} \211@\211\312\235\204v \211\211G\313\314V\2030 SH\262\211\315U\206? 	\316>\205? \211\317U\266\203\203] \211\314GSO\305\"\320	\"\244\262\266\202v \303\321\322#)\266\203\203v \305\"B\262A\266\202\202 \210\237\244)\207" [tramp-mode system-type inhibit-changing-match-data nil file-remote-p expand-file-name sort file-name-all-completions "" string< ("./" "../") 46 0 47 (windows-nt ms-dos) 92 markdown-directory-files-recursively t string-match] 13 "Return list of all files under DIR that have file names matching REGEXP.\nThis function works recursively.  Files are returned in \"depth first\"\norder, and files from each directory are sorted in alphabetical order.\nEach file name appears in the returned list in its absolute form.\nBased on `directory-files-recursively' from Emacs 25 and provided\nhere for backwards compatibility.\n\n(fn DIR REGEXP)"]] 4)
#@111 Return t if `flyspell' should check word just before point.
Used for `flyspell-generic-check-word-predicate'.
(defalias 'markdown-flyspell-check-word-p #[0 "\212`Sb\210\300 \206I \301 \206I \302\303\206 `\304\"\262\206I \303`\305\"\211<\203D \306>\206G \307>\206G \310>\206G \311>\206G \312>\202G \211\313>\262)?\207" [markdown-code-block-at-point-p markdown-inline-code-at-point-p nil get-text-property markdown-comment face markdown-reference-face markdown-markup-face markdown-plain-url-face markdown-inline-code-face markdown-url-face (markdown-reference-face markdown-markup-face markdown-plain-url-face markdown-inline-code-face markdown-url-face)] 4 (#$ . 84764)])
#@41 Provide `font-lock-ensure' in Emacs 24.
(defalias 'markdown-font-lock-ensure #[0 "\300\301!\203	 \301 \207\302 \207" [fboundp font-lock-ensure font-lock-fontify-buffer] 2 (#$ . 85451)])
(byte-code "\300\301\302\303#\210\304\301\302\305#\210\300\306\307\303#\210\304\306\307\305#\207" [defalias markdown-cur-line-blank markdown-cur-line-blank-p nil make-obsolete "v2.4" markdown-next-line-blank markdown-next-line-blank-p] 4)
#@58 Return t if the current line is blank and nil otherwise.
(defalias 'markdown-cur-line-blank-p #[0 "\212\302 \210\303\304!)\262)\207" [markdown-regex-blank-line inhibit-changing-match-data beginning-of-line t looking-at] 3 (#$ . 85882)])
#@133 Return t if the previous line is blank and nil otherwise.
If we are at the first line, then consider the previous line to be blank.
(defalias 'markdown-prev-line-blank #[0 "\301 eU\206 \212\302y\210\303!)\207" [markdown-regex-blank-line line-beginning-position -1 looking-at] 2 (#$ . 86130)])
#@61 Like `markdown-prev-line-blank', but preserve `match-data'.
(defalias 'markdown-prev-line-blank-p #[0 "\300 \301\302\303\304\305!\306\"\307$\216\310 )\207" [match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 markdown-prev-line-blank] 7 (#$ . 86431)])
#@124 Return t if the next line is blank and nil otherwise.
If we are at the last line, then consider the next line to be blank.
(defalias 'markdown-next-line-blank-p #[0 "\300 dU\206 \212\301y\210\302 )\207" [line-end-position 1 markdown-cur-line-blank-p] 2 (#$ . 86732)])
#@136 Return the number of leading whitespace characters in the previous line.
Return 0 if the current line is the first line in the buffer.
(defalias 'markdown-prev-line-indent #[0 "\212\300 eU\203\f \301\202 \302y\210\303 )\207" [line-beginning-position 0 -1 current-indentation] 2 (#$ . 87008)])
#@119 Return the number of leading whitespace characters in the next line.
Return 0 if line is the last line in the buffer.
(defalias 'markdown-next-line-indent #[0 "\212\300 dU\203\f \301\202 \302y\210\303 )\207" [line-end-position 0 1 current-indentation] 2 (#$ . 87309)])
#@109 Determine if the current line begins a new baseline level.
Assume point is positioned at beginning of line.
(defalias 'markdown-new-baseline #[0 "\303!\206 \303	!\206 \304 \305U\205 \303\n!?\205 \306 \207" [markdown-regex-header markdown-regex-hr markdown-regex-list looking-at current-indentation 0 markdown-prev-line-blank] 2 (#$ . 87586)])
#@73 Search backward baseline point with no indentation and not a list item.
(defalias 'markdown-search-backward-baseline #[0 "\303\210\303\211\206	 o?\205? \304\303\305#\210\306\225\203 \306\225b\210\307 \203' \305\262\202 	\305\310!)\262\2039 \303\262\202 \305\262\202 \207" [markdown-regex-block-separator-noindent markdown-regex-list inhibit-changing-match-data nil re-search-backward t 2 markdown-new-baseline looking-at] 5 (#$ . 87940)])
#@383 Update list levels given list MARKER, block INDENT, and current LEVELS.
Here, MARKER is a string representing the type of list, INDENT is an integer
giving the indentation, in spaces, of the current block, and LEVELS is a
list of the indentation levels of parent list items.  When LEVELS is nil,
it means we are at baseline (not inside of a nested list).

(fn MARKER INDENT LEVELS)
(defalias 'markdown-update-list-levels #[771 "\203 \211\204 C\211\262\207\203\" @\300\\Y\203\" B\211\262\207\203. @Y\203. \207@W\203N \211G\301V\203M A@\300\\W\203M \211A\262\2025 \207\207" [4 1] 6 (#$ . 88398)])
#@377 Calculate list levels at point.
Return a list of the form (n1 n2 n3 ...) where n1 is the
indentation of the deepest nested list item in the branch of
the list at the point, n2 is the indentation of the parent
list item, and so on.  The depth of the list item is therefore
the length of the returned list.  If the point is not at or
immediately  after a list item, return nil.
(defalias 'markdown-calculate-list-levels #[0 "\212`\302\211\211\303 \210`W\203K \304\305#\203K \306\307GT\"\262\310 \210\311 \203, \302\262\202E \211\305\312!)\262\204E \313 \262\314\315\316!#\262\302\210\202 \266\204)\207" [markdown-regex-list inhibit-changing-match-data nil markdown-search-backward-baseline re-search-forward t format "^\\(    \\|	\\)\\{%d\\}" beginning-of-line markdown-new-baseline looking-at current-indentation markdown-update-list-levels match-string 2] 8 (#$ . 89019)])
#@159 Search backward from point for a list item with indentation LEVEL.
Set point to the beginning of the item, and return point, or nil
upon failure.

(fn LEVEL)
(defalias 'markdown-prev-list-item #[257 "\304\211\211`\262\305y\210\306 \262\307\310!)\262\203S \311 \211\262\203S \3128U\203/ `\262\202\257 \3128W\203= \304\262\202\257 o\203H \304\211\262\202\242 \3128V\203\257 \202\245 o\203^ \304\211\262\202\242 \313 \204\245 Y\204\245 W\203{ \314 \203{ \304\211\262\202\242 \n\307\310!)\262\203\216 \304\211\262\202\242 \307\310!)\262\203\241 \304\211\262\202\242 \307\203\257 \305y\210\306 \262\202 \207" [markdown-regex-list inhibit-changing-match-data markdown-regex-header markdown-regex-hr nil -1 current-indentation t looking-at markdown-cur-list-item-bounds 3 markdown-cur-line-blank-p markdown-next-line-blank-p] 7 (#$ . 89915)])
#@165 Search forward from point for the next list item with indentation LEVEL.
Set point to the beginning of the item, and return point, or nil
upon failure.

(fn LEVEL)
(defalias 'markdown-next-list-item #[257 "\305\211\211`\262\306!\203 \307\225b\210\305y\210\310 \262m\204\244 \311 \204\232 	\312\306!)\262\203X \313 \211\262\203X \3148V\204\232 \3148U\203J `\262\202\244 \3148W\203\244 \305\262\202\244 Y\204\232 W\203p \315 \203p \305\211\262\202\227 \312\306!)\262\203\203 \305\211\262\202\227 \f\312\306!)\262\203\226 \305\211\262\202\227 \312\203\244 \305y\210\310 \262\202 \207" [markdown-regex-header-setext markdown-regex-list inhibit-changing-match-data markdown-regex-header markdown-regex-hr nil looking-at 0 current-indentation markdown-cur-line-blank-p t markdown-cur-list-item-bounds 3 markdown-prev-line-blank-p] 7 (#$ . 90791)])
#@200 Move to end of list item with pre-marker indentation LEVEL.
Return the point at the end when a list item was found at the
original point.  If the point is not in a list item, do nothing.

(fn LEVEL)
(defalias 'markdown-cur-list-item-end #[257 "\304\211y\210\305 \262m\204; \211Y\2041 \306!\2041 \211W\203# \307 \204; \306\310	\311\n\311\312\260!\204; \304y\210\305 \262\202 \212\313 \210\306	\314P!)\203O \315\225b\210\202S \316\304x\210\304\210`\207" [markdown-regex-blank-line markdown-regex-list markdown-regex-header markdown-regex-hr nil current-indentation looking-at markdown-prev-line-blank "\\(?:" "\\|" "\\)" beginning-of-line "[ 	]*$" 3 " 	\n"] 10 (#$ . 91672)])
#@1006 Return bounds for list item at point.
Return a list of the following form:

    (begin end indent nonlist-indent marker checkbox match)

The named components are:

  - begin: Position of beginning of list item, including leading indentation.
  - end: Position of the end of the list item, including list item text.
  - indent: Number of characters of indentation before list marker (an integer).
  - nonlist-indent: Number characters of indentation, list
    marker, and whitespace following list marker (an integer).
  - marker: String containing the list marker and following whitespace
            (e.g., "- " or "* ").
  - checkbox: String containing the GFM checkbox portion, if any,
    including any trailing whitespace before the text
    begins (e.g., "[x] ").
  - match: match data for markdown-regex-list

As an example, for the following unordered list item

   - item

the returned list would be

    (1 14 3 5 "- " nil (1 6 1 4 4 5 5 6))

If the point is not inside a list item, return nil.
(defalias 'markdown-cur-list-item-bounds #[0 "\300\301 \302\"@\207" [get-text-property point-at-bol markdown-list-item] 3 (#$ . 92363)])
#@66 Return t if there is a list item at the point and nil otherwise.
(defalias 'markdown-list-item-at-point-p #[0 "\300 \301\302\303\304\305!\306\"\307$\216\310 )\207" [match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 markdown-cur-list-item-bounds] 7 (#$ . 93511)])
#@142 Return bounds of previous item in the same list of any level.
The return value has the same form as that of
`markdown-cur-list-item-bounds'.
(defalias 'markdown-prev-list-item-bounds #[0 "\212\302 \212\303 )\304\2053 @b\210\211\2041 o\2041 \305\306#\2031 \307	!\204 \310 \204 `\262\202 \302 \266\203)\207" [markdown-regex-list markdown-regex-hr markdown-cur-list-item-bounds markdown-beginning-of-list nil re-search-backward t looking-at markdown-code-block-at-point-p] 7 (#$ . 93825)])
#@138 Return bounds of next item in the same list of any level.
The return value has the same form as that of
`markdown-cur-list-item-bounds'.
(defalias 'markdown-next-list-item-bounds #[0 "\212\302 \212\303 )\304\205: @b\210\304\210\211\2044 m\2044 \305\306#\2034 \307	!\204 \310 \204 `\262\202 \211\205: \302 \266\203)\207" [markdown-regex-list markdown-regex-hr markdown-cur-list-item-bounds markdown-end-of-list nil re-search-forward t looking-at markdown-code-block-at-point-p] 7 (#$ . 94327)])
#@51 Move point to beginning of list at point, if any.
(defalias 'markdown-beginning-of-list #[0 "`\212\301 \210\302d!\210\303!\205 `)\211\205 \211X\205 \211b\207" [markdown-regex-list markdown-search-backward-baseline markdown-next-list-item looking-at] 4 (#$ . 94836) nil])
#@45 Move point to end of list at point, if any.
(defalias 'markdown-end-of-list #[0 "`\212\300 \205 \301\302!\210\303\304!\210m\204 \302u\210`)\211\205$ \211Y\205$ \211b\207" [markdown-beginning-of-list markdown-next-list-item 1 skip-syntax-backward "-"] 4 (#$ . 95118) nil])
#@46 Move point to beginning of parent list item.
(defalias 'markdown-up-list #[0 "\300 \211\205  \301\3028S!\210\300 \211\205 \3028\3028W\205 `\262\207" [markdown-cur-list-item-bounds markdown-prev-list-item 3] 5 (#$ . 95399) nil])
#@361 Call `bounds-of-thing-at-point' for THING with slight modifications.
Does not include trailing newlines when THING is 'line.  Handles the
end of buffer case by setting both endpoints equal to the value of
`point-max', since an empty region will trigger empty markup insertion.
Return bounds of form (beg . end) if THING is found, or nil otherwise.

(fn THING)
(defalias 'markdown-bounds-of-thing-at-point #[257 "\300!\211@A\2054 \301=\2031 m\203  \302 \203  \211\262\2021 \303\206& `Sf\304\"\2031 \211S\262B\207" [bounds-of-thing-at-point line markdown-cur-line-blank-p char-equal 10] 7 (#$ . 95640)])
#@389 Find out whether Markdown REFERENCE is defined.
REFERENCE should not include the square brackets.
When REFERENCE is defined, return a list of the form (text start end)
containing the definition text itself followed by the start and end
locations of the text.  Otherwise, return nil.
Leave match data for `markdown-regex-reference-definition'
intact additional processing.

(fn REFERENCE)
(defalias 'markdown-reference-definition #[257 "\211\227\212eb\210\3012+ \302\303\304#\205* \211\305\306!\227\230\203\n \307\301\305\310!\310\224\310\225E\"\210\202\n 0)\207" [markdown-regex-reference-definition found re-search-forward nil t match-string-no-properties 2 throw 5] 7 (#$ . 96258)])
#@93 Return all defined reference labels and their line numbers (not including square brackets).
(defalias 'markdown-get-defined-references #[0 "\212eb\210\301\302\301\303#\203$ \304\305!\306\227\307\305\224!B\310\311\312\313&\266\202\202 \314!\262)\207" [markdown-regex-reference-definition nil re-search-forward t match-string-no-properties 2 cl-adjoin markdown-line-number-at-pos :test equal :key car reverse] 9 (#$ . 96950)])
#@47 Return a list of all used URIs in the buffer.
(defalias 'markdown-get-used-uris #[0 "\212eb\210\304\305\306\307	\307\n\307\310\260	\304\311#\203J \312 \204 \313 \204 \314\315!\2066 \314\316!\2066 \314\317!\2066 \314\320!\211\235\203@ \202C \211B\262\262\202 \321!\262)\207" [markdown-regex-link-inline markdown-regex-angle-uri markdown-regex-uri markdown-regex-email nil re-search-forward "\\(?:" "\\|" "\\)" t markdown-inline-code-at-point-p markdown-code-block-at-point-p match-string-no-properties 6 10 12 13 reverse] 11 (#$ . 97388)])
#@539 Return non-nil if there is an inline code fragment at POS.
Return nil otherwise.  Set match data according to
`markdown-match-code' upon success.
This function searches the block for a code fragment that
contains the point using `markdown-match-code'.  We do this
because `thing-at-point-looking-at' does not work reliably with
`markdown-regex-code'.

The match data is set as follows:
Group 1 matches the opening backquotes.
Group 2 matches the code fragment itself, without backquotes.
Group 3 matches the closing backquotes.

(fn POS)
(defalias 'markdown-inline-code-at-pos #[257 "\212\211b\210`\300 \210`\301\302 \210\303!\203! \304\211\262\203! \305\225W\204 \211\2050 \305\224X\2050 \305\225V\266\203)\207" [markdown-end-of-text-block nil markdown-beginning-of-text-block markdown-match-code t 0] 6 (#$ . 97946)])
#@132 Return non-nil if there is an inline code fragment at POS.
Like `markdown-inline-code-at-pos`, but preserves match data.

(fn POS)
(defalias 'markdown-inline-code-at-pos-p #[257 "\300 \301\302\303\304\305!\306\"\307$\216\310!)\207" [match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 markdown-inline-code-at-pos] 8 (#$ . 98779)])
#@107 Return non-nil if the point is at an inline code fragment.
See `markdown-inline-code-at-pos' for details.
(defalias 'markdown-inline-code-at-point #[0 "\300`!\207" [markdown-inline-code-at-pos] 2 (#$ . 99160)])
#@241 Return non-nil if there is inline code at the POS.
This is a predicate function counterpart to
`markdown-inline-code-at-point' which does not modify the match
data.  See `markdown-code-block-at-point-p' for code blocks.

(fn &optional POS)
(defalias 'markdown-inline-code-at-point-p #[256 "\300 \301\302\303\304\305!\306\"\307$\216\310\206 `!)\207" [match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 markdown-inline-code-at-pos] 8 (#$ . 99378)])
(make-obsolete 'markdown-code-at-point-p 'markdown-inline-code-at-point-p "v2.2")
#@230 Return match data list if there is a code block at POS.
Uses text properties at the beginning of the line position.
This includes pre blocks, tilde-fenced code blocks, and GFM
quoted code blocks.  Return nil otherwise.

(fn POS)
(defalias 'markdown-code-block-at-pos #[257 "\212\211b\210\300 )\301\302\"\206% \303!\211A@\211\203\" W\205# \202# \266\202\207" [point-at-bol get-text-property markdown-pre markdown-get-enclosing-fenced-block-construct] 6 (#$ . 99959)])
(defalias 'markdown-code-block-at-point 'markdown-code-block-at-point-p)
#@256 Return non-nil if there is a code block at the POS.
This includes pre blocks, tilde-fenced code blocks, and GFM
quoted code blocks.  This function does not modify the match
data.  See `markdown-inline-code-at-point-p' for inline code.

(fn &optional POS)
(defalias 'markdown-code-block-at-point-p #[256 "\300 \301\302\303\304\305!\306\"\307$\216\310\206 `!)\207" [match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 markdown-code-block-at-pos] 8 (#$ . 100512)])
#@114 Return non-nil if there is a heading at the POS.
Set match data for `markdown-regex-header'.

(fn &optional POS)
(defalias 'markdown-heading-at-point #[256 "\300\206 `\301\"\211\205 \302!\210\303\207" [get-text-property markdown-heading set-match-data t] 4 (#$ . 101025)])
#@121 Return non-nil if the line begins with a pipe symbol.
This may be useful for tables and Pandoc's line_blocks extension.
(defalias 'markdown-pipe-at-bol-p #[0 "\300\301 f\302\"\207" [char-equal point-at-bol 124] 3 (#$ . 101309)])
#@201 Return t if PROP from BEGIN to END is equal to one of the given PROP-VALUES.
Also returns t if PROP is a list containing one of the PROP-VALUES.
Return nil otherwise.

(fn BEGIN END PROP PROP-VALUES)
(defalias 'markdown-range-property-any #[1028 "\300\3012` \302\"\211\205] \211@\303\"\211\262\203V <\203< \211\2038 \211@\211>\2031 \304\301\"\210A\266\202\202  \210\202V \211\203U \211@\211=\203N \304\301\"\210A\266\202\202= \210A\266\202\202	 \2620\207" [nil found number-sequence get-text-property throw] 12 (#$ . 101545)])
#@24 

(fn BEGIN END PROPS)
(defalias 'markdown-range-properties-exist #[771 "\300\"\301C\301:\203. @\240\210\302\303\304\305\306\307!\310\"\311\312%\"\211\262\204. A\262\202 \207" [number-sequence nil cl-some make-byte-code 257 "\301\300\242\"\207" vconcat vector [get-text-property] 4 "\n\n(fn PROP)"] 13 (#$ . 102095)])
#@159 Match inline REGEX from the point to LAST.
When FACELESS is non-nil, do not return matches where faces have been applied.

(fn REGEX LAST &optional FACELESS)
(defalias 'markdown-match-inline-generic #[770 "\300\301#\205G \302\303\224!\205 \304\305\224\305\225\306\307$\203- A@bW\205E \310#\202E \211\203A \305\225bW\205E \310#\202E \305\225X\266\202\207" [re-search-forward t markdown-code-block-at-pos 1 text-property-not-all 0 face nil markdown-match-inline-generic] 9 (#$ . 102433)])
#@60 Match inline code fragments from point to LAST.

(fn LAST)
(defalias 'markdown-match-code #[257 "o\204 \301u\210\302\303\304\305\306\307!\310\"\311$\312$\205: \313\314\224\314\225\315\224\315\225\316\224\316\225\311\224\311\225\257!\210\304\225T^d^b\210\312\207" [markdown-regex-code -1 markdown-search-until-condition make-byte-code 0 "\301\224T\300^b\205. \301\224\302\206 `\303\"\262?\205. \301\225\302\206! `\303\"\262?\205. \304\301\224!?\207" vconcat vector [1 get-text-property markdown-comment markdown-code-block-at-pos] 4 t set-match-data 1 2 3] 10 (#$ . 102941)])
#@54 Match inline bold from the point to LAST.

(fn LAST)
(defalias 'markdown-match-bold #[257 "\301\"\205a \302\224\302\225\303!\2047 \303!\2047 \304\305\206 `\306\"\262\2047 \307\211\310\311$\2047 \307\310\312$\203I T^b\210`W\205_ \313!\202_ \314\302\224\302\225\315\224\315\225\316\224\316\225\317\224\317\225\257!\210\320\266\202\207" [markdown-regex-bold markdown-match-inline-generic 2 markdown-inline-code-at-pos-p nil get-text-property markdown-comment markdown-range-property-any face (markdown-url-face markdown-plain-url-face) (markdown-hr-face markdown-math-face) markdown-match-italic set-match-data 3 4 5 t] 12 (#$ . 103534)])
#@57 Match inline italics from the point to LAST.

(fn LAST)
(defalias 'markdown-match-italic #[257 "\303>\203\n 	\202 \n\304\"\205l \305\224\305\225\306!\204B \306!\204B \307\310\206) `\311\"\262\204B \312\211\313\314$\204B \312\313\315$\203T T^b\210`W\205j \316!\202j \317\305\224\305\225\320\224\320\225\321\224\321\225\322\224\322\225\257!\210\323\266\202\207" [major-mode markdown-regex-gfm-italic markdown-regex-italic (gfm-mode gfm-view-mode) markdown-match-inline-generic 1 markdown-inline-code-at-pos-p nil get-text-property markdown-comment markdown-range-property-any face (markdown-url-face markdown-plain-url-face) (markdown-bold-face markdown-list-face markdown-hr-face markdown-math-face) markdown-match-italic set-match-data 2 3 4 t] 13 (#$ . 104191)])
#@180 Match REGEX from point to LAST.
REGEX is either `markdown-regex-math-inline-single' for matching
$..$ or `markdown-regex-math-inline-double' for matching $$..$$.

(fn REGEX LAST)
(defalias 'markdown-match-math-generic #[514 "\2050 \301\"\2050 \302\224\302\225\303\304\305$\204! \306\307 #\203( \310\"\202) \311\312\225Tb\210\266\202\207" [markdown-enable-math markdown-match-inline-generic 1 markdown-range-property-any face (markdown-inline-code-face markdown-bold-face) markdown-range-properties-exist markdown-get-fenced-block-middle-properties markdown-match-math-generic t 0] 9 (#$ . 104978)])
#@49 Match list items from point to LAST.

(fn LAST)
(defalias 'markdown-match-list-items #[257 "`\211\300\301\"@\301\"@\211\262\203 \211@W\2032 `W\2032 \302\303$\211\262\2032 b\204 \211\205I \304\3058\262!\210\306 ]Td^b\210\307\207" [markdown-list-item get-text-property next-single-property-change nil set-match-data 6 point-at-eol t] 10 (#$ . 105592)])
#@62 Match single quoted $..$ math from point to LAST.

(fn LAST)
(defalias 'markdown-match-math-single #[257 "\301\"\207" [markdown-regex-math-inline-single markdown-match-math-generic] 4 (#$ . 105968)])
#@64 Match double quoted $$..$$ math from point to LAST.

(fn LAST)
(defalias 'markdown-match-math-double #[257 "\301\"\207" [markdown-regex-math-inline-double markdown-match-math-generic] 4 (#$ . 106176)])
#@77 Match bracketed display math [..] and \[..\] from point to LAST.

(fn LAST)
(defalias 'markdown-match-math-display #[257 "\301\"\207" [markdown-regex-math-display markdown-match-math-generic] 4 (#$ . 106386)])
#@116 Match text with PROPERTY from point to LAST.
Restore match data previously stored in PROPERTY.

(fn PROPERTY LAST)
(defalias 'markdown-match-propertized-text #[514 "\300`\"\301\204 \302`\301$\262\211U\204 \300\"\262\2050 \303!\210\304\225`]Td^b\210\207" [get-text-property nil next-single-property-change set-match-data 0] 9 (#$ . 106605)])
#@129 Match preformatted blocks from point to LAST.
Use data stored in 'markdown-pre text property during syntax
analysis.

(fn LAST)
(defalias 'markdown-match-pre-blocks #[257 "\300\301\"\207" [markdown-match-propertized-text markdown-pre] 4 (#$ . 106968)])
#@137 Match GFM quoted code blocks from point to LAST.
Use data stored in 'markdown-gfm-code text property during syntax
analysis.

(fn LAST)
(defalias 'markdown-match-gfm-code-blocks #[257 "\300\301\"\207" [markdown-match-propertized-text markdown-gfm-code] 4 (#$ . 107229)])
#@13 

(fn LAST)
(defalias 'markdown-match-gfm-open-code-blocks #[257 "\300\301\"\207" [markdown-match-propertized-text markdown-gfm-block-begin] 4 (#$ . 107507)])
#@13 

(fn LAST)
(defalias 'markdown-match-gfm-close-code-blocks #[257 "\300\301\"\207" [markdown-match-propertized-text markdown-gfm-block-end] 4 (#$ . 107673)])
#@61 Match fenced code blocks from the point to LAST.

(fn LAST)
(defalias 'markdown-match-fenced-code-blocks #[257 "\300\301\"\207" [markdown-match-propertized-text markdown-fenced-code] 4 (#$ . 107838)])
#@13 

(fn LAST)
(defalias 'markdown-match-fenced-start-code-block #[257 "\300\301\"\207" [markdown-match-propertized-text markdown-tilde-fence-begin] 4 (#$ . 108046)])
#@13 

(fn LAST)
(defalias 'markdown-match-fenced-end-code-block #[257 "\300\301\"\207" [markdown-match-propertized-text markdown-tilde-fence-end] 4 (#$ . 108217)])
#@128 Match blockquotes from point to LAST.
Use data stored in 'markdown-blockquote text property during syntax
analysis.

(fn LAST)
(defalias 'markdown-match-blockquotes #[257 "\300\301\"\207" [markdown-match-propertized-text markdown-blockquote] 4 (#$ . 108385)])
#@68 Match horizontal rules comments from the point to LAST.

(fn LAST)
(defalias 'markdown-match-hr #[257 "\300\301\"\207" [markdown-match-propertized-text markdown-hr] 4 (#$ . 108652)])
#@56 Match HTML comments from the point to LAST.

(fn LAST)
(defalias 'markdown-match-comments #[257 "\300\301\"\205! `\300\302\"\205 `W\205 \303u\210\304`D!\210\305\262\207" [skip-syntax-forward "^<" "^>" nil set-match-data t] 5 (#$ . 108842)])
#@277 Match inline links from point to LAST.
When REF is non-nil, match reference links instead of standard
links with URLs.
This function should only be used during font-lock, as it
determines syntax based on the presence of faces for previously
processed elements.

(fn LAST REF)
(defalias 'markdown-match-generic-links #[514 "\302\303\211\204V `W\203V \304\303!\210\305\203 \202 	\306#\203V \307\310\224\311\225\312$\204I \307\313\224\310\225\312$\204I \314\315 f\316\"\203P \314\315 Tf\316\"\203P \304\303!\210\202 \317\262\202 \266\311\224\205z\320\224\311\224\212\311\224b\210\321 \210`)\3221| b\205x \323`\320\"0\202~ \210\303T^\303\211\211\211\211\211\203L	W\203Lb\203L\314`f\203\250 \324\202\251 \325\"\203L`\262\3261\274 \323`\320\"0\202\276 \210\303\262\203E	X\203EX\203E\204\371 \327\330\317#\203\371 `S\262b\205\357 \331\330T\317#\262\211\205\367 \211T\262T\262\206S\262\304\206\n\211\205T\211TTSS\211TS\257!\210\303\262b\210\202L^\262\203fW\203fb\210\332\"\202x\203wU\203w\303\202x\317\266\213\207" [markdown-regex-link-reference markdown-regex-link-inline (markdown-pre-face markdown-code-face markdown-inline-code-face markdown-comment-face) nil set-match-data re-search-forward limit markdown-range-property-any 0 2 face 4 char-equal point-at-bol 60 t 1 markdown-end-of-text-block (error) scan-sexps 91 40 (error) search-forward "\"" search-backward markdown-match-generic-links] 32 (#$ . 109097)])
#@57 Match angle bracket URIs from point to LAST.

(fn LAST)
(defalias 'markdown-match-angle-uris #[257 "\301\"\205 \302\225Tb\207" [markdown-regex-angle-uri markdown-match-inline-generic 0] 4 (#$ . 110640)])
#@49 Match plain URIs from point to LAST.

(fn LAST)
(defalias 'markdown-match-plain-uris #[257 "\301\302#\205\f \303\225Tb\207" [markdown-regex-uri markdown-match-inline-generic t 0] 5 (#$ . 110853)])
#@127 Conditional search function used in `markdown-search-until-condition'.
Made into a variable to allow for dynamic let-binding.
(defvar markdown-conditional-search-function 're-search-forward (#$ . 111059))
#@29 

(fn CONDITION &rest ARGS)
(defalias 'markdown-search-until-condition #[385 "\301\211\204 \302\"\203  \262\202 \211\207" [markdown-conditional-search-function nil apply] 6 (#$ . 111270)])
#@240 Match metadata declarations specified by REGEXP from point to LAST.
These declarations must appear inside a metadata block that begins at
the beginning of the buffer and ends with a blank line (or the end of
the buffer).

(fn REGEXP LAST)
(defalias 'markdown-match-generic-metadata #[514 "`\300\301b\302\303\304#\211\203 V\203 db\210\303\202Y W\203$ \202% b\210\302^\304#\203U \301\224\301\225\305\224\305\225\306\224\307``\257!\210\304\266\205\202Y b\210\303\207" ["\n[ 	]*\n\\|\n\\'\\|\\'" 1 re-search-forward nil t 2 3 set-match-data] 20 (#$ . 111473)])
#@63 Match declarative metadata from the point to LAST.

(fn LAST)
(defalias 'markdown-match-declarative-metadata #[257 "\301\"\207" [markdown-regex-declarative-metadata markdown-match-generic-metadata] 4 (#$ . 112063)])
#@58 Match Pandoc metadata from the point to LAST.

(fn LAST)
(defalias 'markdown-match-pandoc-metadata #[257 "\301\"\207" [markdown-regex-pandoc-metadata markdown-match-generic-metadata] 4 (#$ . 112287)])
#@13 

(fn LAST)
(defalias 'markdown-match-yaml-metadata-begin #[257 "\300\301\"\207" [markdown-match-propertized-text markdown-yaml-metadata-begin] 4 (#$ . 112496)])
#@13 

(fn LAST)
(defalias 'markdown-match-yaml-metadata-end #[257 "\300\301\"\207" [markdown-match-propertized-text markdown-yaml-metadata-end] 4 (#$ . 112665)])
#@13 

(fn LAST)
(defalias 'markdown-match-yaml-metadata-key #[257 "\300\301\"\207" [markdown-match-propertized-text markdown-metadata-key] 4 (#$ . 112830)])
#@49 Match wiki links from point to LAST.

(fn LAST)
(defalias 'markdown-match-wiki-link #[257 "\205] 	?\205] \303\n\"\205] \304\224\304\225\305\206 `\306\"\262\204B \211\305\206) `\306\"\262\204B \307!\204B \307!\204B \310!\203T T^b\210`W\205[ \311!\202[ \312D!\210\313\266\202\207" [markdown-enable-wiki-links markdown-wiki-link-fontify-missing markdown-regex-wiki-link markdown-match-inline-generic 1 get-text-property markdown-comment markdown-inline-code-at-pos-p markdown-code-block-at-pos markdown-match-wiki-link set-match-data t] 7 (#$ . 112990)])
#@56 Match inline attributes from point to LAST.

(fn LAST)
(defalias 'markdown-match-inline-attributes #[257 "\301\"\205% \302\303\224!\206  \302\303\225!\206  \304\305\206 `\306\"\262?\205% \307\207" [markdown-regex-inline-attributes markdown-match-inline-generic markdown-inline-code-at-pos-p 0 nil get-text-property markdown-comment t] 5 (#$ . 113565)])
#@62 Match Leanpub section markers from point to LAST.

(fn LAST)
(defalias 'markdown-match-leanpub-sections #[257 "\301\"\205% \302\303\224!\206  \302\303\225!\206  \304\305\206 `\306\"\262?\205% \307\207" [markdown-regex-leanpub-sections markdown-match-inline-generic markdown-inline-code-at-pos-p 0 nil get-text-property markdown-comment t] 5 (#$ . 113929)])
#@350 Match include statements from point to LAST.
Sets match data for the following seven groups:
Group 1: opening two angle brackets
Group 2: opening title delimiter (optional)
Group 3: title text (optional)
Group 4: closing title delimiter (optional)
Group 5: opening filename delimiter
Group 6: filename
Group 7: closing filename delimiter

(fn LAST)
(defalias 'markdown-match-includes #[257 "\301\"\205\333 \302\224\303\206 `\304\"\262\206) \302\225\303\206 `\304\"\262\206) \305\302\224!?\211\203` \306\224\203` \307\224\204` \310\311\224\312\225\311\224\311\225\313\224\313\225\314\224\314\225\315\224\315\225\306\224\306\225\316\224\316\225\312\224\312\225\257!\210\202\330 \211\203\225 \313\224\203\225 \306\224\204\225 \312\224\204\225 \310\311\224\315\225\311\224\311\225\317\211\211\211\211\211\313\224\313\225\314\224\314\225\315\224\315\225\257!\210\202\330 \211\203\312 \307\224\203\312 \313\224\204\312 \306\224\204\312 \310\311\224\320\225\311\224\311\225\317\211\211\211\211\211\307\224\307\225\321\224\321\225\320\224\320\225\257!\210\202\330 \317y\210`W\203\330 \322!\262\211\262\207" [markdown-regex-include markdown-match-inline-generic 0 get-text-property markdown-comment markdown-code-block-at-pos 5 8 set-match-data 1 7 2 3 4 6 nil 10 9 markdown-match-includes] 19 (#$ . 114298)])
#@48 Match HTML tags from point to LAST.

(fn LAST)
(defalias 'markdown-match-html-tag #[257 "\205\" \302	\303#\205\" \304\305\224\305\225\306\224\306\225\307\224\307\225\310\224\310\225\257!\210\303\207" [markdown-enable-html markdown-regex-html-tag markdown-match-inline-generic t set-match-data 0 1 2 9] 10 (#$ . 115620)])
#@102 Return the first displayable character or string in SEQ.
SEQ may be an atom or a sequence.

(fn SEQ)
(defalias 'markdown--first-displayable #[257 "\211<\203	 \211\202 \211C\211@;\203 \300\301\"\202# \302@!\205# \300\303\"\207" [cl-find-if #[257 "\300\301\302\303\"\262\"\207" [mapcar char-displayable-p append nil] 7 "\n\n(fn STR)"] characterp char-displayable-p] 5 (#$ . 115951)])
#@72 Generate atx markup string of given LEVEL for left margin.

(fn LEVEL)
(defalias 'markdown--marginalize-string #[257 "Z\301\302\"\301\303\"P\207" [markdown-marginalize-headers-margin-width make-string 32 35] 6 (#$ . 116347)])
#@58 Update the window configuration to create a left margin.
(defalias 'markdown-marginalize-update-current #[0 "\301\302!\203 \301\303!\203 \302\304\305\"_\211\303 \245\306\304\"\207\306\304\"\207" [markdown-marginalize-headers-margin-width fboundp window-font-width default-font-width nil markdown-header-delimiter-face set-window-margins] 6 (#$ . 116583)])
#@64 Add text properties to headings from point to LAST.

(fn LAST)
(defalias 'markdown-fontify-headings #[257 "\302\303\"\205\207 \304 \305\306\307\"!\310D\310\311\203 \312\202( 	\205( \313\314\315!DDBB\310\311\2051 \316BB\310\317\205: \320BB\321\225\203f \322\321\224\321\225#\210\321U\203[ \322\323\224\323\225#\210\202\204 \322\324\224\324\225#\210\202\204 \322\325\224\325\225#\210\322\326\224\326\225#\210\327\225\203\204 \322\327\224\327\225#\210\266\330\207" [markdown-hide-markup markdown-marginalize-headers markdown-match-propertized-text markdown-heading markdown-outline-level intern format "markdown-header-face-%d" face markdown-header-delimiter-face (display #1="") display (margin left-margin) markdown--marginalize-string (display #1#) markdown-header-rule-face (display #1#) 1 add-text-properties 2 3 4 5 6 t] 11 (#$ . 116951)])
#@13 

(fn LAST)
(defalias 'markdown-fontify-tables #[257 "\300\301\302#\205 \303 \205 \304\305 \306 Td^\307\310$\210\311y\210\302\207" [re-search-forward "|" t markdown-table-at-point-p font-lock-append-text-property line-beginning-position line-end-position face markdown-table-face 1] 6 (#$ . 117819)])
#@74 Apply font-lock properties to blockquotes from point to LAST.

(fn LAST)
(defalias 'markdown-fontify-blockquotes #[257 "\302!\205* \303!\304\305\224\305\225	\203 \306\307\310F\202 \311#\210\312\313\224\313\225\306\307$\210\314\262\207" [markdown-blockquote-display-char markdown-hide-markup markdown-match-blockquotes markdown--first-displayable add-text-properties 1 face markdown-blockquote-face display (face markdown-markup-face) font-lock-append-text-property 0 t] 9 (#$ . 118129)])
#@75 Apply font-lock properties to list markers from point to LAST.

(fn LAST)
(defalias 'markdown-fontify-list-items #[257 "\304!\205Z \305\306!G\211\307\245\310G\"8\311\312\224\312\225\313#\210	\203W \314\315\312!\316\317\320#)\266\203\203? \311\312\224\312\225\321D#\210\202W \315\312!\322\230\203W \323\324!!\311\312\224\312\225\321D#\266\266\317\207" [markdown-list-item-bullets markdown-hide-markup inhibit-changing-match-data markdown-definition-display-char markdown-match-list-items match-string-no-properties 1 4 mod add-text-properties 2 (face markdown-list-face) "[\\*\\+-]" match-string nil t string-match display ":" char-to-string markdown--first-displayable] 11 (#$ . 118630)])
#@72 Add text properties to horizontal rules from point to LAST.

(fn LAST)
(defalias 'markdown-fontify-hrs #[257 "\302!\205, \303!\304\305\224\305\225\306\307\310\311	\205# \205# \312\313\314 \n\"DBBBB#\210\311\262\207" [markdown-hr-display-char markdown-hide-markup markdown-match-hr markdown--first-displayable add-text-properties 0 face markdown-hr-face font-lock-multiline t display make-string window-body-width] 13 (#$ . 119338)])
#@79 Apply text properties to sub- and superscripts from point to LAST.

(fn LAST)
(defalias 'markdown-fontify-sub-superscripts #[257 "\303\304\305$\205> \306\307!\310\230\211\203 	@\202 	A\311\312\313\314F\n\203+ \315\316\224\316\225\317$\210\320\307\224\307\225#\210\320\321\224\321\225#\210\305\266\203\207" [markdown-regex-sub-superscript markdown-sub-superscript-display markdown-hide-markup markdown-search-until-condition #[0 "\300 ?\205 \301 ?\205 \302\303\206 `\304\"\262?\207" [markdown-code-block-at-point-p markdown-inline-code-at-point-p nil get-text-property markdown-comment] 4] t match-string 2 "~" face markdown-markup-face invisible markdown-markup put-text-property 3 display add-text-properties 4] 9 (#$ . 119783)])
#@35 Syntax table for `markdown-mode'.
(defvar markdown-mode-syntax-table (byte-code "\301!\302\303\304#\210\211\207" [text-mode-syntax-table make-syntax-table modify-syntax-entry 34 "."] 5) (#$ . 120532))
#@74 If previous line is not already blank, insert a blank line before point.
(defalias 'markdown-ensure-blank-line-before #[0 "n\204 \300c\210o\206 \301\302\303\"?\205 \300c\207" ["\n" looking-back "\n\\s-*\n" nil] 3 (#$ . 120741)])
#@116 If following line is not already blank, insert a blank line after point.
Return the point where it was originally.
(defalias 'markdown-ensure-blank-line-after #[0 "\212l\204 \301c\210m\206 \302\303\304!)\262?\205 \301c)\207" [inhibit-changing-match-data "\n" "\n\\s-*\n" t looking-at] 3 (#$ . 120980)])
#@569 Insert the strings S1 and S2, wrapping around region or THING.
If a region is specified by the optional BEG and END arguments,
wrap the strings S1 and S2 around that region.
If there is an active region, wrap the strings S1 and S2 around
the region.  If there is not an active region but the point is at
THING, wrap that thing (which defaults to word).  Otherwise, just
insert S1 and S2 and place the point in between.  Return the
bounds of the entire wrapped string, or nil if nothing was wrapped
and S1 and S2 were only inserted.

(fn S1 S2 &optional THING BEG END)
(defalias 'markdown-wrap-or-insert #[1282 "\300\211\211\211\203 \203 \262\262`	G\\\262\202Y \301 \2033 \302 \262\303 \262`	G\\\262\202Y \304\206: \305!\211\262\203S @\262A\262`	G\\\262\202Y `\262`\262b\210c\210b\210c\210\211\203n \211b\210U?\205\203 \306\nG\nG#\262B\207" [nil markdown-use-region-p region-beginning region-end markdown-bounds-of-thing-at-point word +] 13 (#$ . 121296)])
#@290 Return desired position of point after an unwrapping operation.
CUR gives the position of the point before the operation.
Additionally, two cons cells must be provided.  PREFIX gives the
bounds of the prefix string and SUFFIX gives the bounds of the
suffix string.

(fn CUR PREFIX SUFFIX)
(defalias 'markdown-point-after-unwrap #[771 "AW\203\n @\207@W\203 A@ZZ\207AX\203- A@Z@Z\\Z\207\207" [] 7 (#$ . 122298)])
#@408 Remove prefix and suffix of thing at point and reposition the point.
When the thing at point matches REGEXP, replace the subexpression
ALL with the string in subexpression TEXT.  Reposition the point
in an appropriate location accounting for the removal of prefix
and suffix strings.  Return new bounds of string from group TEXT.
When REGEXP is nil, assumes match data is already set.

(fn REGEXP ALL TEXT)
(defalias 'markdown-unwrap-thing-at-point #[771 "\203\n \300!\205= `\224\224B\225\225B\224\225B\301\302!\303\211\304\n%\210\305#b\210@AA@ZZB\211\262\266\204\207" [thing-at-point-looking-at replace-match match-string t nil markdown-point-after-unwrap] 13 (#$ . 122733)])
#@270 Remove prefix and suffix of all things in region from BEG to END.
When a thing in the region matches REGEXP, replace the
subexpression ALL with the string in subexpression TEXT.
Return a cons cell containing updated bounds for the region.

(fn BEG END REGEXP ALL TEXT)
(defalias 'markdown-unwrap-things-in-region #[1285 "\212b\210\300\301\211\302Z\303#\2034 \304!G\262\304!G\262Z\\\262\305\306!\303\211\301	%\210\202 ZB\266\203)\207" [0 nil re-search-forward t match-string-no-properties replace-match match-string] 14 (#$ . 123436)])
#@410 Insert or replace a horizonal rule.
By default, use the first element of `markdown-hr-strings'.  When
ARG is non-nil, as when given a prefix, select a different
element as follows.  When prefixed with \[universal-argument],
use the last element of `markdown-hr-strings' instead.  When
prefixed with an integer from 1 to the length of
`markdown-hr-strings', use the element in that position instead.

(fn ARG)
(defalias 'markdown-insert-hr #[257 "\302!\203\f \303\224\303\225|\210\304 \210\211\305\232\203 \306	!@c\210\202= \211\250\2039 \211\303V\2039 \211	GX\2039 \211S	8c\210\202= 	@c\210\307 \207" [markdown-regex-hr markdown-hr-strings thing-at-point-looking-at 0 markdown-ensure-blank-line-before (4) reverse markdown-ensure-blank-line-after] 3 (#$ . 124000) "*P"])
#@301 Insert markup to make a region or word bold.
If there is an active region, make the region bold.  If the point
is at a non-bold word, make the word bold.  If the point is at a
bold word or phrase, remove the bold markup.  Otherwise, simply
insert bold delimiters and place the point in between them.
(defalias 'markdown-insert-bold #[0 "\203 \302\202	 \303\304 \203% \305\306 \307 	\310\311%\312\211\313@A%\262\202: \314	!\2033 \315\313\310\311#\202: \312\211\316\313\211%\207" [markdown-bold-underscore markdown-regex-bold "__" "**" markdown-use-region-p markdown-unwrap-things-in-region region-beginning region-end 2 4 markdown-wrap-or-insert nil thing-at-point-looking-at markdown-unwrap-thing-at-point word] 8 (#$ . 124780) nil])
#@316 Insert markup to make a region or word italic.
If there is an active region, make the region italic.  If the point
is at a non-italic word, make the word italic.  If the point is at an
italic word or phrase, remove the italic markup.  Otherwise, simply
insert italic delimiters and place the point in between them.
(defalias 'markdown-insert-italic #[0 "\203 \302\202	 \303\304 \203% \305\306 \307 	\310\311%\312\211\313@A%\262\202: \314	!\2033 \315\313\310\311#\202: \312\211\316\313\211%\207" [markdown-italic-underscore markdown-regex-italic "_" "*" markdown-use-region-p markdown-unwrap-things-in-region region-beginning region-end 1 3 markdown-wrap-or-insert nil thing-at-point-looking-at markdown-unwrap-thing-at-point word] 8 (#$ . 125528) nil])
#@346 Insert markup to make a region or word strikethrough.
If there is an active region, make the region strikethrough.  If the point
is at a non-bold word, make the word strikethrough.  If the point is at a
strikethrough word or phrase, remove the strikethrough markup.  Otherwise,
simply insert bold delimiters and place the point in between them.
(defalias 'markdown-insert-strike-through #[0 "\301\302 \203 \303\304 \305 \306\307%\310\211\311@A%\262\2022 \312!\203+ \313\311\306\307#\2022 \310\211\314\311\211%\207" [markdown-regex-strike-through "~~" markdown-use-region-p markdown-unwrap-things-in-region region-beginning region-end 2 4 markdown-wrap-or-insert nil thing-at-point-looking-at markdown-unwrap-thing-at-point word] 8 (#$ . 126295) nil])
#@282 Insert markup to make a region or word an inline code fragment.
If there is an active region, make the region an inline code
fragment.  If the point is at a word, make the word an inline
code fragment.  Otherwise, simply insert code delimiters and
place the point in between them.
(defalias 'markdown-insert-code #[0 "\301 \203 \302\303 \304 \305\306%\307\310\211\311@A%\207\312 \203# \313\311\314\315#\207\307\310\211\316\311\211%\207" [markdown-regex-code markdown-use-region-p markdown-unwrap-things-in-region region-beginning region-end 1 3 markdown-wrap-or-insert "`" nil markdown-inline-code-at-point markdown-unwrap-thing-at-point 0 2 word] 7 (#$ . 127061) nil])
#@215 Insert markup to wrap region or word in <kbd> tags.
If there is an active region, use the region.  If the point is at
a word, use the word.  Otherwise, simply insert <kbd> tags and
place the point in between them.
(defalias 'markdown-insert-kbd #[0 "\301 \203 \302\303 \304 \305\306%\307\310\311\312@A%\207\313!\203$ \314\312\305\306#\207\307\310\311\315\312\211%\207" [markdown-regex-kbd markdown-use-region-p markdown-unwrap-things-in-region region-beginning region-end 0 2 markdown-wrap-or-insert "<kbd>" "</kbd>" nil thing-at-point-looking-at markdown-unwrap-thing-at-point word] 7 (#$ . 127742) nil])
#@123 Insert an inline link with TEXT pointing to URL.
Optionally, the user can provide a TITLE.

(fn TEXT URL &optional TITLE)
(defalias 'markdown-insert-inline-link #[770 "`\205	 \300\301Q\262\302\303\304\260c\210\204 \211Tb\202+ ?\205+ \305\306G#b\207" [" \"" "\"" "[" "](" ")" + 3] 10 (#$ . 128360)])
#@119 Insert an inline link with alt TEXT pointing to URL.
Optionally, also provide a TITLE.

(fn TEXT URL &optional TITLE)
(defalias 'markdown-insert-inline-image #[770 "`\205	 \300\301Q\262\302\303\304\260c\210\204  \305\\b\202, ?\205, \306\307G#b\207" [" \"" "\"" "![" "](" ")" 2 + 4] 10 (#$ . 128678)])
#@533 Insert a reference link and, optionally, a reference definition.
The link TEXT will be inserted followed by the optional LABEL.
If a URL is given, also insert a definition for the reference
LABEL according to `markdown-reference-location'.  If a TITLE is
given, it will be added to the end of the reference definition
and will be used to populate the title attribute when converted
to XHTML.  If URL is nil, insert only the link portion (for
example, when a reference label is already defined).

(fn TEXT LABEL &optional URL TITLE)
(defalias 'markdown-insert-reference-link #[1026 "\300\301\302\260c\210\205 \303\304\230\203 \202 #\207" ["[" "][" "]" markdown-insert-reference-definition ""] 9 (#$ . 128998)])
#@533 Insert a reference image and, optionally, a reference definition.
The alt TEXT will be inserted followed by the optional LABEL.
If a URL is given, also insert a definition for the reference
LABEL according to `markdown-reference-location'.  If a TITLE is
given, it will be added to the end of the reference definition
and will be used to populate the title attribute when converted
to XHTML.  If URL is nil, insert only the link portion (for
example, when a reference label is already defined).

(fn TEXT LABEL &optional URL TITLE)
(defalias 'markdown-insert-reference-image #[1026 "\300\301\302\260c\210\205 \303\304\230\203 \202 #\207" ["![" "][" "]" markdown-insert-reference-definition ""] 9 (#$ . 129727)])
#@270 Add definition for reference LABEL with URL and TITLE.
LABEL is a Markdown reference label without square brackets.
URL and TITLE are optional.  When given, the TITLE will
be used to populate the title attribute when converted to XHTML.

(fn LABEL &optional URL TITLE)
(defalias 'markdown-insert-reference-definition #[769 "`\305\267\202 db\210\202 \306 \210\202 \307 \210\202 \310 \210	\203H m\203H \311\312`\313Ze]\314#\210\315\316\317\320\314#)\203H \321\322!\210`Sf\323=\203H \324u\210\325 \204V \326!\204V \327c\210\330\331\261\210\203f c\210\202i `\262G\322V\203v \332\333\261\210\327\315\334!)\262\204\205 \327c\210\211b\210\205\222 \335\336\337!\"\207" [markdown-reference-location enable-local-variables case-fold-search markdown-regex-reference-definition inhibit-changing-match-data #s(hash-table size 4 test eql rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (end 7 immediately 13 subtree 19 header 25)) markdown-end-of-text-block markdown-end-of-subtree markdown-end-of-defun search-backward "\n\f" 3000 :move t search-forward "Local Variables:" nil beginning-of-line 0 10 -1 markdown-cur-line-blank-p thing-at-point-looking-at "\n" "\n[" "]: " " \"" "\"" looking-at message markdown--substitute-command-keys "Reference [%s] was defined, press \\[markdown-do] to jump there"] 8 (#$ . 130458)])
(byte-code "\300\301\302\303#\210\304\301\302\305#\210\300\306\302\303#\210\304\306\302\305#\207" [defalias markdown-insert-inline-link-dwim markdown-insert-link nil make-obsolete "v2.3" markdown-insert-reference-link-dwim] 4)
#@233 Interactively insert new or update an existing link or image.
When IMAGE is non-nil, insert an image.  Otherwise, insert a link.
This is an internal function called by
`markdown-insert-link' and `markdown-insert-image'.

(fn IMAGE)
(defalias 'markdown--insert-link-or-image #[257 "\301 \2031 \302\303 \304 \"\305\"\203\" \303 \304 \306\307\310\"\306\211\257\202, \303 \304 \306\211\211\257\262\2024 \311`!\211@A@\3128\3138\3148\3158\205N \316\317Q\320\321\322\321\323\324 \"\"!\325 \326\327\320\"\306\211\n\206i %\305\330\"\203x \307\331\"\202 \211\332\230\205 \332\211?\205\205 \203\216 \333\202\227 \203\226 \334\202\227 \335\336\f\"\211G\310U?\205\245 \211\205\253 \211?\332\230\211\203\266 \202\270 \211\205\277 \337!\206\305 \211?\205\316 \326\340\f\"\206\323 ?\205\334 \336\341\"\211G\310U?\205\345 \211\203\362 \203\362 \342\343!\210\203\203|\210\204\n\203\203\344\f#\202\2034\n\2034\2034\345\f#\202\203p\203p\203T\346?\205M\306$\210\202c\347?\205_\306$\210?\205\350#\202?\205\n\205\351!\266\220\207" [markdown-regex-uri markdown-use-region-p buffer-substring-no-properties region-beginning region-end string-match nil match-string 0 markdown-link-at-pos 2 3 4 5 "[" "]" append mapcar #[257 "\300\301Q\207" ["[" "]"] 4 "\n\n(fn REF)"] car markdown-get-defined-references markdown-get-used-uris completing-read "URL or [reference]: " "\\`\\[\\(.*\\)\\]\\'" 1 "" "Alt text: " "Link text: " "Link text (blank for plain URL): " read-string markdown-reference-definition "Reference URL: " "Title (tooltip text, optional): " user-error "Reference required: implicit image references are invalid" markdown-insert-inline-link markdown-insert-inline-image markdown-insert-reference-image markdown-insert-reference-link markdown-insert-reference-definition markdown-insert-uri] 29 (#$ . 132028)])
#@1239 Insert new or update an existing link, with interactive prompts.
If the point is at an existing link or URL, update the link text,
URL, reference label, and/or title.  Otherwise, insert a new link.
The type of link inserted (inline, reference, or plain URL)
depends on which values are provided:

*   If a URL and TEXT are given, insert an inline link: [TEXT](URL).
*   If [REF] and TEXT are given, insert a reference link: [TEXT][REF].
*   If only TEXT is given, insert an implicit reference link: [TEXT][].
*   If only a URL is given, insert a plain link: <URL>.

In other words, to create an implicit reference link, leave the
URL prompt empty and to create a plain URL link, leave the link
text empty.

If there is an active region, use the text as the default URL, if
it seems to be a URL, or link text value otherwise.

If a given reference is not defined, this function will
additionally prompt for the URL and optional title.  In this case,
the reference definition is placed at the location determined by
`markdown-reference-location'.

Through updating the link, this function can be used to convert a
link of one type (inline, reference, or plain) to another type by
selectively adding or removing information via the prompts.
(defalias 'markdown-insert-link #[0 "\300\301!\207" [markdown--insert-link-or-image nil] 2 (#$ . 133962) nil])
#@975 Insert new or update an existing image, with interactive prompts.
If the point is at an existing image, update the alt text, URL,
reference label, and/or title. Otherwise, insert a new image.
The type of image inserted (inline or reference) depends on which
values are provided:

*   If a URL and ALT-TEXT are given, insert an inline image:
    ![ALT-TEXT](URL).
*   If [REF] and ALT-TEXT are given, insert a reference image:
    ![ALT-TEXT][REF].

If there is an active region, use the text as the default URL, if
it seems to be a URL, or alt text value otherwise.

If a given reference is not defined, this function will
additionally prompt for the URL and optional title.  In this case,
the reference definition is placed at the location determined by
`markdown-reference-location'.

Through updating the image, this function can be used to convert an
image of one type (inline or reference) to another type by
selectively adding or removing information via the prompts.
(defalias 'markdown-insert-image #[0 "\300\301!\207" [markdown--insert-link-or-image t] 2 (#$ . 135318) nil])
#@292 Insert markup for an inline URI.
If there is an active region, use it as the URI.  If the point is
at a URI, wrap it with angle brackets.  If the point is at an
inline URI, remove the angle brackets.  Otherwise, simply insert
angle brackets place the point between them.

(fn &optional URI)
(defalias 'markdown-insert-uri #[256 "\301 \203 \302\303 \304 \305\306%\307\310\311\312@A%\207\313!\203$ \314\312\305\306#\207\211\203. \310\311\261\207\307\310\311\315\312\211%\207" [markdown-regex-angle-uri markdown-use-region-p markdown-unwrap-things-in-region region-beginning region-end 0 2 markdown-wrap-or-insert "<" ">" nil thing-at-point-looking-at markdown-unwrap-thing-at-point url] 8 (#$ . 136409) nil])
#@254 Insert a wiki link of the form [[WikiLink]].
If there is an active region, use the region as the link text.
If the point is at a word, use the word as the link text.  If
there is no active region and the point is not at word, simply
insert link markup.
(defalias 'markdown-insert-wiki-link #[0 "\302 \203 \303\304\305\306\307 \310 %\207\311!\203+ 	\204 \312\313!\204% \314\306\315\316#\207\314\306\315\313#\207\303\304\305\"\207" [markdown-regex-wiki-link markdown-wiki-link-alias-first markdown-use-region-p markdown-wrap-or-insert "[[" "]]" nil region-beginning region-end thing-at-point-looking-at match-string 5 markdown-unwrap-thing-at-point 1 3] 6 (#$ . 137130) nil])
#@129 Remove header markup if point is at a header.
Return bounds of remaining header text if a header was removed
and nil otherwise.
(defalias 'markdown-remove-header #[0 "\302\303\304#\206 \302	\303\305#\207" [markdown-regex-header-atx markdown-regex-header-setext markdown-unwrap-thing-at-point 0 2 1] 4 (#$ . 137814) "*"])
#@729 Insert or replace header markup.
The level of the header is specified by LEVEL and header text is
given by TEXT.  LEVEL must be an integer from 1 and 6, and the
default value is 1.
When TEXT is nil, the header text is obtained as follows.
If there is an active region, it is used as the header text.
Otherwise, the current line will be used as the header text.
If there is not an active region and the point is at a header,
remove the header markup and replace with level N header.
Otherwise, insert empty header markup and place the point in
between.
The style of the header will be atx (hash marks) unless
SETEXT is non-nil, in which case a setext-style (underlined)
header will be inserted.

(fn &optional LEVEL TEXT SETEXT)
(defalias 'markdown-insert-header #[768 "\206 \302\302]\203 \303\202 \304^\262\204P \305 \203' \306\307 \310 \"\262\202K \311 \210\306\312 \313 \"\262\211\203K \314\315\316\317#)\266\203\203K \320\321!\262\322!\262\323 \210\315\203s \324\325!\303U\203f \326\202g \327\"\262\330\261\210\202\210 \324\331\"\262\211\332\261\210	\204\210 \332\261\210\210\333 \210\211\203\233 \325!T\206\230 \302[u\207	?\205\250 T\206\246 \302[u\207" [inhibit-changing-match-data markdown-asymmetric-header 1 2 6 markdown-use-region-p delete-and-extract-region region-beginning region-end markdown-remove-header line-beginning-position line-end-position "^[ 	]*$" nil t string-match read-string "Header text: " markdown-compress-whitespace-string markdown-ensure-blank-line-before make-string string-width 45 61 "\n" 35 " " markdown-ensure-blank-line-after] 10 (#$ . 138144) "p\nsHeader text: "])
#@1130 Insert or replace header markup.
The level and type of the header are determined automatically by
the type and level of the previous header, unless a prefix
argument is given via ARG.
With a numeric prefix valued 1 to 6, insert a header of the given
level, with the type being determined automatically (note that
only level 1 or 2 setext headers are possible).

With a \[universal-argument] prefix (i.e., when ARG is (4)),
promote the heading by one level.
With two \[universal-argument] prefixes (i.e., when ARG is (16)),
demote the heading by one level.
When SETEXT is non-nil, prefer setext-style headers when
possible (levels one and two).

When there is an active region, use it for the header text.  When
the point is at an existing header, change the type and level
according to the rules above.
Otherwise, if the line is not empty, create a header using the
text on the current line as the header text.
Finally, if the point is on a blank line, insert empty header
markup (atx) or prompt for text (setext).
See `markdown-insert-header' for more details about how the
header text is determined.

(fn &optional ARG SETEXT)
(defalias 'markdown-insert-header-dwim #[512 "\301\212\302!\204 \303\301\304#\203 \305 \262\306\225\262)\307\232\2030 \211\2030 \211\306V\2030 \211S\262\202P \310\232\203G \211\203G \211\311W\203G \211T\262\202P \203P \312!\262\211\203] \205[ \211\313X\262\314\301#\207" [markdown-regex-header nil thing-at-point-looking-at re-search-backward t markdown-outline-level 1 (4) (16) 6 prefix-numeric-value 2 markdown-insert-header] 7 (#$ . 139788) "*P"])
#@159 Insert or replace header markup, with preference for setext.
See `markdown-insert-header-dwim' for details, including how ARG is handled.

(fn &optional ARG)
(defalias 'markdown-insert-header-setext-dwim #[256 "\300\301\"\207" [markdown-insert-header-dwim t] 4 (#$ . 141392) "*P"])
#@82 Insert a first level atx-style (hash mark) header.
See `markdown-insert-header'.
(defalias 'markdown-insert-header-atx-1 #[0 "\300\301\302\211#\207" [markdown-insert-header 1 nil] 4 (#$ . 141681) "*"])
#@80 Insert a level two atx-style (hash mark) header.
See `markdown-insert-header'.
(defalias 'markdown-insert-header-atx-2 #[0 "\300\301\302\211#\207" [markdown-insert-header 2 nil] 4 (#$ . 141889) "*"])
#@82 Insert a level three atx-style (hash mark) header.
See `markdown-insert-header'.
(defalias 'markdown-insert-header-atx-3 #[0 "\300\301\302\211#\207" [markdown-insert-header 3 nil] 4 (#$ . 142095) "*"])
#@81 Insert a level four atx-style (hash mark) header.
See `markdown-insert-header'.
(defalias 'markdown-insert-header-atx-4 #[0 "\300\301\302\211#\207" [markdown-insert-header 4 nil] 4 (#$ . 142303) "*"])
#@81 Insert a level five atx-style (hash mark) header.
See `markdown-insert-header'.
(defalias 'markdown-insert-header-atx-5 #[0 "\300\301\302\211#\207" [markdown-insert-header 5 nil] 4 (#$ . 142510) "*"])
#@82 Insert a sixth level atx-style (hash mark) header.
See `markdown-insert-header'.
(defalias 'markdown-insert-header-atx-6 #[0 "\300\301\302\211#\207" [markdown-insert-header 6 nil] 4 (#$ . 142717) "*"])
#@86 Insert a setext-style (underlined) first-level header.
See `markdown-insert-header'.
(defalias 'markdown-insert-header-setext-1 #[0 "\300\301\302\303#\207" [markdown-insert-header 1 nil t] 4 (#$ . 142925) "*"])
#@87 Insert a setext-style (underlined) second-level header.
See `markdown-insert-header'.
(defalias 'markdown-insert-header-setext-2 #[0 "\300\301\302\303#\207" [markdown-insert-header 2 nil t] 4 (#$ . 143142) "*"])
#@120 Return string containing necessary indentation for a blockquote at LOC.
Also see `markdown-pre-indentation'.

(fn LOC)
(defalias 'markdown-blockquote-indentation #[257 "\212\211b\210\300 G\301\302\211W\203 \211\303P\262\210\211T\262\202\n \211\262\266\202\266\202)\207" [markdown-calculate-list-levels "" 0 "    "] 8 (#$ . 143361)])
#@144 Start a blockquote section (or blockquote the region).
If Transient Mark mode is on and a region is active, it is used as
the blockquote text.
(defalias 'markdown-insert-blockquote #[0 "\300 \203\f \301\302 \303 \"\207\304 \210\305`!\306\261\210\307 \207" [markdown-use-region-p markdown-blockquote-region region-beginning region-end markdown-ensure-blank-line-before markdown-blockquote-indentation "> " markdown-ensure-blank-line-after] 3 (#$ . 143709) nil])
#@195 Format the region using a block prefix.
Arguments BEG and END specify the beginning and end of the
region.  The characters PREFIX will appear at the beginning
of each line.

(fn BEG END PREFIX)
(defalias 'markdown-block-region #[771 "\212\300 \300 \301\302\303#b\210\304\305!\210`\306\223\210\307 \210\310 \210b\210\311\305!\210\307 \210\312 \210`\306\223\210b\210\313 W\205N m?\205N l\203E \211\202F c\210\306y\210\2021 \266\203)\207" [make-marker replace-regexp-in-string "[[:blank:]]+\\'" "" skip-syntax-backward "-" nil delete-horizontal-space markdown-ensure-blank-line-after skip-syntax-forward markdown-ensure-blank-line-before line-beginning-position] 9 (#$ . 144178)])
#@105 Blockquote the region.
Arguments BEG and END specify the beginning and end of the region.

(fn BEG END)
(defalias 'markdown-blockquote-region #[514 "\300\301eS]!\302P#\207" [markdown-block-region markdown-blockquote-indentation "> "] 8 (#$ . 144871) "*r"])
#@125 Return string containing necessary whitespace for a pre block at LOC.
Also see `markdown-blockquote-indentation'.

(fn LOC)
(defalias 'markdown-pre-indentation #[257 "\212\211b\210\300 G\301T\302\211W\203 \211\303P\262\210\211T\262\202 \211\262\266\202\266\202)\207" [markdown-calculate-list-levels nil 0 "    "] 8 (#$ . 145139)])
#@144 Start a preformatted section (or apply to the region).
If Transient Mark mode is on and a region is active, it is marked
as preformatted text.
(defalias 'markdown-insert-pre #[0 "\300 \203\f \301\302 \303 \"\207\304 \210\305`!c\210\306 \207" [markdown-use-region-p markdown-pre-region region-beginning region-end markdown-ensure-blank-line-before markdown-pre-indentation markdown-ensure-blank-line-after] 3 (#$ . 145486) nil])
#@122 Format the region as preformatted text.
Arguments BEG and END specify the beginning and end of the region.

(fn BEG END)
(defalias 'markdown-pre-region #[514 "\300eS]!\301#\207" [markdown-pre-indentation markdown-block-region] 7 (#$ . 145921) "*r"])
#@215 Insert a backquote.
The numeric prefix argument ARG says how many times to repeat the insertion.
Call `markdown-insert-gfm-code-block' interactively
if three backquotes inserted at the beginning of line.

(fn ARG)
(defalias 'markdown-electric-backquote #[257 "\301\302!!\210\205 \303\304\305\"\205 \306\307!\210\310\311!\207" [markdown-gfm-use-electric-backquote self-insert-command prefix-numeric-value looking-back "^```" nil replace-match "" call-interactively markdown-insert-gfm-code-block] 4 (#$ . 146182) "*P"])
#@74 Language specifiers recognized by GitHub's syntax highlighting features.
(defconst markdown-gfm-recognized-languages '("1C-Enterprise" "ABAP" "ABNF" "AGS-Script" "AMPL" "ANTLR" "API-Blueprint" "APL" "ASN.1" "ASP" "ATS" "ActionScript" "Ada" "Agda" "Alloy" "Alpine-Abuild" "Ant-Build-System" "ApacheConf" "Apex" "Apollo-Guidance-Computer" "AppleScript" "Arc" "Arduino" "AsciiDoc" "AspectJ" "Assembly" "Augeas" "AutoHotkey" "AutoIt" "Awk" "Batchfile" "Befunge" "Bison" "BitBake" "Blade" "BlitzBasic" "BlitzMax" "Bluespec" "Boo" "Brainfuck" "Brightscript" "Bro" "C#" "C++" "C-ObjDump" "C2hs-Haskell" "CLIPS" "CMake" "COBOL" "COLLADA" "CSON" "CSS" "CSV" "CWeb" "Cap'n-Proto" "CartoCSS" "Ceylon" "Chapel" "Charity" "ChucK" "Cirru" "Clarion" "Clean" "Click" "Clojure" "Closure-Templates" "CoffeeScript" "ColdFusion" "ColdFusion-CFC" "Common-Lisp" "Component-Pascal" "Cool" "Coq" "Cpp-ObjDump" "Creole" "Crystal" "Csound" "Csound-Document" "Csound-Score" "Cuda" "Cycript" "Cython" "D-ObjDump" "DIGITAL-Command-Language" "DM" "DNS-Zone" "DTrace" "Darcs-Patch" "Dart" "Diff" "Dockerfile" "Dogescript" "Dylan" "EBNF" "ECL" "ECLiPSe" "EJS" "EQ" "Eagle" "Ecere-Projects" "Eiffel" "Elixir" "Elm" "Emacs-Lisp" "EmberScript" "Erlang" "F#" "FLUX" "Factor" "Fancy" "Fantom" "Filebench-WML" "Filterscript" "Formatted" "Forth" "Fortran" "FreeMarker" "Frege" "G-code" "GAMS" "GAP" "GCC-Machine-Description" "GDB" "GDScript" "GLSL" "GN" "Game-Maker-Language" "Genie" "Genshi" "Gentoo-Ebuild" "Gentoo-Eclass" "Gettext-Catalog" "Gherkin" "Glyph" "Gnuplot" "Go" "Golo" "Gosu" "Grace" "Gradle" "Grammatical-Framework" "Graph-Modeling-Language" "GraphQL" "Graphviz-(DOT)" "Groovy" "Groovy-Server-Pages" "HCL" "HLSL" "HTML" "HTML+Django" "HTML+ECR" "HTML+EEX" "HTML+ERB" "HTML+PHP" "HTTP" "Hack" "Haml" "Handlebars" "Harbour" "Haskell" "Haxe" "Hy" "HyPhy" "IDL" "IGOR-Pro" "INI" "IRC-log" "Idris" "Inform-7" "Inno-Setup" "Io" "Ioke" "Isabelle" "Isabelle-ROOT" "JFlex" "JSON" "JSON5" "JSONLD" "JSONiq" "JSX" "Jasmin" "Java" "Java-Server-Pages" "JavaScript" "Jison" "Jison-Lex" "Jolie" "Julia" "Jupyter-Notebook" "KRL" "KiCad" "Kit" "Kotlin" "LFE" "LLVM" "LOLCODE" "LSL" "LabVIEW" "Lasso" "Latte" "Lean" "Less" "Lex" "LilyPond" "Limbo" "Linker-Script" "Linux-Kernel-Module" "Liquid" "Literate-Agda" "Literate-CoffeeScript" "Literate-Haskell" "LiveScript" "Logos" "Logtalk" "LookML" "LoomScript" "Lua" "M4" "M4Sugar" "MAXScript" "MQL4" "MQL5" "MTML" "MUF" "Makefile" "Mako" "Markdown" "Marko" "Mask" "Mathematica" "Matlab" "Maven-POM" "Max" "MediaWiki" "Mercury" "Meson" "Metal" "MiniD" "Mirah" "Modelica" "Modula-2" "Module-Management-System" "Monkey" "Moocode" "MoonScript" "Myghty" "NCL" "NL" "NSIS" "Nemerle" "NetLinx" "NetLinx+ERB" "NetLogo" "NewLisp" "Nginx" "Nim" "Ninja" "Nit" "Nix" "Nu" "NumPy" "OCaml" "ObjDump" "Objective-C" "Objective-C++" "Objective-J" "Omgrofl" "Opa" "Opal" "OpenCL" "OpenEdge-ABL" "OpenRC-runscript" "OpenSCAD" "OpenType-Feature-File" "Org" "Ox" "Oxygene" "Oz" "P4" "PAWN" "PHP" "PLSQL" "PLpgSQL" "POV-Ray-SDL" "Pan" "Papyrus" "Parrot" "Parrot-Assembly" "Parrot-Internal-Representation" "Pascal" "Pep8" "Perl" "Perl6" "Pic" "Pickle" "PicoLisp" "PigLatin" "Pike" "Pod" "PogoScript" "Pony" "PostScript" "PowerBuilder" "PowerShell" "Processing" "Prolog" "Propeller-Spin" "Protocol-Buffer" "Public-Key" "Pug" "Puppet" "Pure-Data" "PureBasic" "PureScript" "Python" "Python-console" "Python-traceback" "QML" "QMake" "RAML" "RDoc" "REALbasic" "REXX" "RHTML" "RMarkdown" "RPM-Spec" "RUNOFF" "Racket" "Ragel" "Rascal" "Raw-token-data" "Reason" "Rebol" "Red" "Redcode" "Regular-Expression" "Ren'Py" "RenderScript" "RobotFramework" "Roff" "Rouge" "Ruby" "Rust" "SAS" "SCSS" "SMT" "SPARQL" "SQF" "SQL" "SQLPL" "SRecode-Template" "STON" "SVG" "Sage" "SaltStack" "Sass" "Scala" "Scaml" "Scheme" "Scilab" "Self" "ShaderLab" "Shell" "ShellSession" "Shen" "Slash" "Slim" "Smali" "Smalltalk" "Smarty" "SourcePawn" "Spline-Font-Database" "Squirrel" "Stan" "Standard-ML" "Stata" "Stylus" "SubRip-Text" "Sublime-Text-Config" "SuperCollider" "Swift" "SystemVerilog" "TI-Program" "TLA" "TOML" "TXL" "Tcl" "Tcsh" "TeX" "Tea" "Terra" "Text" "Textile" "Thrift" "Turing" "Turtle" "Twig" "Type-Language" "TypeScript" "Unified-Parallel-C" "Unity3D-Asset" "Unix-Assembly" "Uno" "UnrealScript" "UrWeb" "VCL" "VHDL" "Vala" "Verilog" "Vim-script" "Visual-Basic" "Volt" "Vue" "Wavefront-Material" "Wavefront-Object" "Web-Ontology-Language" "WebAssembly" "WebIDL" "World-of-Warcraft-Addon-Data" "X10" "XC" "XCompose" "XML" "XPages" "XProc" "XQuery" "XS" "XSLT" "Xojo" "Xtend" "YAML" "YANG" "Yacc" "Zephir" "Zimpl" "desktop" "eC" "edn" "fish" "mupad" "nesC" "ooc" "reStructuredText" "wisp" "xBase") (#$ . 146711))
#@41 Language names used in GFM code blocks.
(defvar markdown-gfm-used-languages nil (#$ . 151396))
(make-variable-buffer-local 'markdown-gfm-used-languages)
#@12 

(fn STR)
(defalias 'markdown-trim-whitespace #[257 "\300\301\302#\207" [markdown-replace-regexp-in-string "\\(?:[[:space:]\n]+\\'\\|\\`[[:space:]\n]+\\)" ""] 5 (#$ . 151555)])
#@12 

(fn STR)
(defalias 'markdown-clean-language-string #[257 "\300\301\302\303!#\207" [markdown-replace-regexp-in-string "{\\.?\\|}" "" markdown-trim-whitespace] 6 (#$ . 151742)])
#@15 

(fn WIDGET)
(defalias 'markdown-validate-language-string #[257 "\300!\211\301!\230?\205 \302\303\304\305\"#\210\207" [widget-value markdown-clean-language-string widget-put :error format "Invalid language spec: '%s'"] 8 (#$ . 151927)])
#@76 Create corpus of recognized GFM code block languages for the given buffer.
(defalias 'markdown-gfm-get-corpus #[0 "\304	\"\304\n\203 \305\306\"\202 \"\207" [markdown-gfm-additional-languages markdown-gfm-recognized-languages markdown-gfm-used-languages markdown-gfm-downcase-languages append cl-mapcar downcase] 6 (#$ . 152177)])
#@58 Clean LANG and add to list of used languages.

(fn LANG)
(defalias 'markdown-gfm-add-used-language #[257 "\211\301\"B\211\207" [markdown-gfm-used-languages remove] 5 (#$ . 152519)])
(byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313\314\315&\207" [custom-declare-variable markdown-spaces-after-code-fence funcall function #[0 "\300\207" [1] 1] "Number of space characters to insert after a code fence.\n\\<gfm-mode-map>\\[markdown-insert-gfm-code-block] inserts this many spaces between an\nopening code fence and an info string." :group markdown :type integer :safe natnump :package-version (markdown-mode . "2.3")] 12)
#@433 Insert GFM code block for language LANG.
If LANG is nil, the language will be queried from user.  If a
region is active, wrap this region with the markup instead.  If
the region boundaries are not on empty lines, these are added
automatically in order to have the correct markup.  When EDIT is
non-nil (e.g., when \[universal-argument] is given), edit the
code block in an indirect buffer after insertion.

(fn &optional LANG EDIT)
(defalias 'markdown-insert-gfm-code-block #[512 "\302\230\204\n \303!\210G\304V\203 \305\306\"P\262\307 \203h \310 \311 \312b\210\313 b\210\314\315\312\"\2045 \316 \210\211j\210\317c\210\320 \210`\262b\210\315\321\322!)\262\204V \316 \210\323y\210\324 \210\211j\210\317\261\210\325\326 \"\207\313 \312\327\330!\210\324 \210j\210\326 \262\317\315\261\210j\210\204\211 \331c\210j\210\317c\210\320 \210\325`\"\266\304\210\211\205\241 \332 \207" [markdown-spaces-after-code-fence inhibit-changing-match-data "" markdown-gfm-add-used-language 0 make-string 32 markdown-use-region-p region-beginning region-end nil current-indentation looking-back "\n" newline "```" markdown-ensure-blank-line-after t looking-at -1 markdown-ensure-blank-line-before markdown-syntax-propertize-fenced-block-constructs point-at-bol delete-horizontal-space :backward-only 10 markdown-edit-code-block] 9 (#$ . 153163) (byte-code "\303\3041 \305\306\307\310 \303\311	@\312&!0\202 \210\313)\nD\207" [completion-ignore-case markdown-gfm-used-languages current-prefix-arg nil (quit) markdown-clean-language-string completing-read "Programming language: " markdown-gfm-get-corpus confirm markdown-gfm-language-history ""] 8)])
#@233 Return the language name for a GFM or tilde fenced code block.
The beginning of the block may be described by POS-PROP,
a cons of (pos . prop) giving the position and property
at the beginning of the block.

(fn &optional POS-PROP)
(defalias 'markdown-code-block-lang #[256 "\211\204 \300\301\302\303\304\305\306 \"\"\"\262\211\205> \211@b\210\307\310`A\"!\210\311\224\311\225\205< \211\205< f\312=\2038 T\262\313\"\266\202\207" [markdown-max-of-seq car cl-remove-if null cl-mapcar markdown-find-previous-prop markdown-get-fenced-block-begin-properties set-match-data get-text-property 3 46 buffer-substring-no-properties] 8 (#$ . 154830)])
#@25 

(fn &optional BUFFER)
(defalias 'markdown-gfm-parse-buffer-for-languages #[256 "r\211\206 pq\210\212eb\210\300\301\211\302!\262\203. \303!\262\211\203% \304!\210\305`\"b\210\202 \301\266\203*\207" [markdown-gfm-block-begin nil markdown-find-next-prop markdown-code-block-lang markdown-gfm-add-used-language next-single-property-change] 7 (#$ . 155486)])
#@65 Increment `markdown-footnote-counter' and return the new value.
(defalias 'markdown-footnote-counter-inc #[0 "\302U\203' \212eb\210\303\304	\305Qd\306#\203& \307\310\311!!\211V\203\" \211\210\202\n )T\211\207" [markdown-footnote-counter markdown-footnote-chars 0 re-search-forward "^\\[\\^\\(" "*?\\)\\]:" t string-to-number match-string 1] 4 (#$ . 155857)])
#@74 Insert footnote with a new number and move point to footnote definition.
(defalias 'markdown-insert-footnote #[0 "\300 \301\302\"c\210\303 \210\304 \210\305 \204 \306c\210\301\307\"c\210\310 \207" [markdown-footnote-counter-inc format "[^%d]" markdown-footnote-text-find-new-location markdown-ensure-blank-line-before markdown-cur-line-blank-p "\n" "[^%d]: " markdown-ensure-blank-line-after] 4 (#$ . 156227) nil])
#@68 Position the point at the proper location for a new footnote text.
(defalias 'markdown-footnote-text-find-new-location #[0 "\301\267\202 db\207\302 \207\303 \207\304 \207\305\207" [markdown-footnote-location #s(hash-table size 4 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (end 6 immediately 9 subtree 12 header 15)) markdown-end-of-text-block markdown-end-of-subtree markdown-end-of-defun nil] 2 (#$ . 156651)])
#@191 Kill the footnote at point.
The footnote text is killed (and added to the kill ring), the
footnote marker is deleted.  Point has to be either at the
footnote marker or in the footnote text.
(defalias 'markdown-footnote-kill #[0 "\300\211\301 \211\203 \302@!\211\203 \211Sb\210\202 \303\262\210\204@ \304 \211\204) \305\306!\210\211A@\262\307@!\211\204< \305\310@\"\210\211b\266\311 \203J \211\202K b\262\207" [nil markdown-footnote-text-positions markdown-footnote-find-marker t markdown-footnote-delete-marker error "Not at a footnote" markdown-footnote-find-text "No text for footnote `%s'" markdown-footnote-kill-text] 8 (#$ . 157093) nil])
#@206 Delete a footnote marker at point.
Returns a list (ID START) containing the footnote ID and the
start position of the marker before deletion.  If no footnote
marker was deleted, this function returns NIL.
(defalias 'markdown-footnote-delete-marker #[0 "\300 \211\205 \211A@AA@|\210\301!\207" [markdown-footnote-marker-positions butlast] 3 (#$ . 157757)])
#@218 Kill footnote text at point.
Returns the start position of the footnote text before deletion,
or NIL if point was not inside a footnote text.

The killed text is placed in the kill ring (without the footnote
number).
(defalias 'markdown-footnote-kill-text #[0 "\300 \211\2057 \301A@AA@\"\302\303@\304Q\"\210\305\306\307\"!\210\310 \2032 \311 \2032 o\2042 `S`|\210A@\262\207" [markdown-footnote-text-positions delete-and-extract-region string-match "\\[\\" "\\]:[[:space:]]*\\(\\(.*\n?\\)*\\)" kill-new match-string 1 markdown-cur-line-blank-p markdown-prev-line-blank-p] 6 (#$ . 158122)])
#@44 Jump to the text of the footnote at point.
(defalias 'markdown-footnote-goto-text #[0 "\300 @\211\204 \301\302!\210\303!\211\204 \304\305\"\210\211b\262\207" [markdown-footnote-marker-positions user-error "Not at a footnote marker" markdown-footnote-find-text error "No definition found for footnote `%s'"] 5 (#$ . 158724) nil])
#@65 Return from a footnote to its footnote number in the main text.
(defalias 'markdown-footnote-return #[0 "\212\300 @)\211\204 \301\302!\210\303!\211\204 \304\305\"\210\211b\262\207" [markdown-footnote-text-positions user-error "Not in a footnote" markdown-footnote-find-marker error "Footnote marker `%s' not found"] 5 (#$ . 159064) nil])
#@202 Find the location of the footnote marker with ID.
The actual buffer position returned is the position directly
following the marker's closing bracket.  If no marker is found,
NIL is returned.

(fn ID)
(defalias 'markdown-footnote-find-marker #[257 "\212eb\210\300\301\302Q\303\304#\205 \305\303x\210`)\207" [re-search-forward "\\[" "\\]\\([^:]\\|\\'\\)" nil t "^]"] 5 (#$ . 159414)])
#@225 Find the location of the text of footnote ID.
The actual buffer position returned is the position of the first
character of the text, after the footnote's identifier.  If no
footnote text is found, NIL is returned.

(fn ID)
(defalias 'markdown-footnote-find-text #[257 "\212eb\210\300\301\302Q\303\304#\205 \305\303w\210`)\207" [re-search-forward "^ \\{0,3\\}\\[" "\\]:" nil t "[ 	]"] 5 (#$ . 159807)])
#@156 Return the position and ID of the footnote marker point is on.
The return value is a list (ID START END).  If point is not on a
footnote, NIL is returned.
(defalias 'markdown-footnote-marker-positions #[0 "\302\303\304Q\305 \"\204 \306\307Q\310\311!)\262\205C \212\312\310\311!)\262\203- \313u\210\2021 \314\315x\210\311\316\317Q!\210\320\313!\313\224S\313\225TE)\207" [markdown-footnote-chars inhibit-changing-match-data looking-back "\\[\\^" "*\\]?" line-beginning-position "\\[?\\^" "*?\\]" t looking-at "\\[" 1 "^[" nil "\\(\\^" "*?\\)\\]" match-string] 4 (#$ . 160219)])
#@345 Return the start and end positions of the footnote text point is in.
The exact return value is a list of three elements: (ID START END).
The start position is the position of the opening bracket
of the footnote id.  The end position is directly after the
newline that ends the footnote.  If point is not in a footnote,
NIL is returned instead.
(defalias 'markdown-footnote-text-positions #[0 "\212\301\302\303!\210\304!\203 \305\303!`D\211\262\204- o\204- \306 \204' \307 \310Y\203- \311y\210\202 \211\205] \312 dU\204J \313 \204D \314 \310Y\203J \301y\210\2021 \306 \203U \311y\210\202J \301y\210\315`C\"\262)\207" [markdown-regex-footnote-definition nil move-beginning-of-line 1 looking-at match-string markdown-cur-line-blank-p current-indentation 4 -1 line-end-position markdown-next-line-blank-p markdown-next-line-indent append] 4 (#$ . 160812)])
#@398 Return a list of all defined footnotes.
Result is an alist of pairs (MARKER . LINE), where MARKER is the
footnote marker, a string, and LINE is the line number containing
the footnote definition.

For example, suppose the following footnotes are defined at positions
448 and 475:

[^1]: First footnote here.
[^marker]: Second footnote.

Then the returned list is: (("^1" . 478) ("^marker" . 475))
(defalias 'markdown-get-defined-footnotes #[0 "\212eb\210\301\302\303\301\304$\2033 \305\306!\307\224G\307U\204. B\211\235\203' \202* \211B\262\262\266\202 \310!\262)\207" [markdown-regex-footnote-definition nil markdown-search-until-condition #[0 "\300 ?\205 \301 ?\205 \302\303\206 `\304\"\262?\207" [markdown-code-block-at-point-p markdown-inline-code-at-point-p nil get-text-property markdown-comment] 4] t match-string-no-properties 1 0 reverse] 6 (#$ . 161678)])
#@434 Kill thing at point and add important text, without markup, to kill ring.
Possible things to kill include (roughly in order of precedence):
inline code, headers, horizonal rules, links (add link text to
kill ring), images (add alt text to kill ring), angle uri, email
addresses, bold, italics, reference definition (add URI to kill
ring), footnote markers and text (kill both marker and text, add
text to kill ring), and list items.
(defalias 'markdown-kill-thing-at-point #[0 "\306\307 \203 \310\311\312!!\210\313\224\313\225|\202>\314!\203( \310\311\312!!\210\313\224\313\225|\202>\314	!\203< \310\311\315!!\210\313\224\313\225|\202>\314\n!\203P \310\311\313!!\210\313\224\313\225|\202>\314!\203d \310\311\316!!\210\313\224\313\225|\202>\314\f!\203x \310\311\316!!\210\313\224\313\225|\202>\314!\203\214 \310\311\312!!\210\313\224\313\225|\202>\314!\203\241 \310\311\315!!\210\313\224\313\225|\202>\203\272 \314!\203\272 \310\317 !\210\315\224\315\225|\202>\314!\203\317 \310\311\320!!\210\312\224\312\225|\202>\314!\203\344 \310\311\316!!\210\315\224\315\225|\202>\314!\203\371 \310\311\320!!\210\312\224\312\225|\202>\314!\203\321 \202>\322 \211\262\203\321 \202>\314!\203'\310\311\323!!\210\313\224\313\225|\202>\324 \211\262\203;\310\325@A@\"!\202>\326\327!\207" [markdown-regex-header-atx markdown-regex-header-setext markdown-regex-hr markdown-regex-link-inline markdown-regex-link-reference markdown-regex-angle-uri nil markdown-inline-code-at-point kill-new match-string 2 0 thing-at-point-looking-at 1 3 markdown-wiki-link-alias 4 markdown-footnote-kill markdown-footnote-text-positions 5 markdown-cur-list-item-bounds delete-and-extract-region user-error "Nothing found at point to kill" markdown-regex-email markdown-enable-wiki-links markdown-regex-wiki-link markdown-regex-bold markdown-regex-italic markdown-regex-strike-through markdown-regex-footnote markdown-regex-reference-definition] 5 (#$ . 162569) "*"])
#@49 Kill visible heading and add it to `kill-ring'.
(defalias 'markdown-kill-outline #[0 "\212\300 \210\301`\302 \210`\")\207" [markdown-outline-previous kill-region markdown-outline-next] 3 (#$ . 164549) nil])
#@78 Kill visible code block, list item, or blockquote and add it to `kill-ring'.
(defalias 'markdown-kill-block #[0 "\212\300 \210\301`\302 \210`\")\207" [markdown-backward-block kill-region markdown-forward-block] 3 (#$ . 164762) nil])
#@139 Return the position after the index of CUR-POS in POSITIONS.
Positions are calculated by `markdown-calc-indents'.

(fn CUR-POS POSITIONS)
(defalias 'markdown-indent-find-next-position #[514 "\211\203 @\232\204 \211A\262\202  \211A@\206 \300\207" [0] 4 (#$ . 165002)])
(byte-code "\300\301\302\303#\210\304\301\302\305#\207" [defalias markdown-exdent-find-next-position markdown-outdent-find-next-position nil make-obsolete "v2.3"] 4)
#@143 Return the maximal element that precedes CUR-POS from POSITIONS.
Positions are calculated by `markdown-calc-indents'.

(fn CUR-POS POSITIONS)
(defalias 'markdown-outdent-find-next-position #[514 "\300\211\203 \211@\211W\203 ]\262A\266\202\202 \210\211\207" [0] 7 (#$ . 165449)])
#@442 Indent the current line using some heuristics.
If the _previous_ command was either `markdown-enter-key' or
`markdown-cycle', then we should cycle to the next
reasonable indentation position.  Otherwise, we could have been
called directly by `markdown-enter-key', by an initial call of
`markdown-cycle', or indirectly by `auto-fill-mode'.  In
these cases, indent to the default position.
Positions are calculated by `markdown-calc-indents'.
(defalias 'markdown-indent-line #[0 "\301 i\302 i\303\232\204 \304@!\202/ \305\306!\307\"\262\310\"Z\\\311]\304!\210\312!\266\202\207" [this-command markdown-calc-indents back-to-indentation markdown-cycle indent-line-to sort delete-dups < markdown-indent-find-next-position 0 move-to-column] 8 (#$ . 165744) nil])
#@247 Return a list of indentation columns to cycle through.
The first element in the returned list should be considered the
default indentation level.  This function does not worry about
duplicate positions, which are handled up by calling functions.
(defalias 'markdown-calc-indents #[0 "\302\211\211\303 \262B\262\212\304y\210\305!\205 \306\225\307\224Z)\211\262\203' B\262\310`!G\262B\262\203@ 	\\B\262\202E 	B\262\203V 	V\203V 	ZB\262\311 \211\262\203d \312\"\262\307B\262\313!\207" [markdown-regex-list tab-width nil markdown-prev-line-indent -1 looking-at 3 0 markdown-pre-indentation markdown-calculate-list-levels append reverse] 6 (#$ . 166519)])
#@522 Handle RET depending on the context.
If the point is at a table, move to the next row.  Otherwise,
indent according to value of `markdown-indent-on-enter'.
When it is nil, simply call `newline'.  Otherwise, indent the next line
following RET using `markdown-indent-line'.  Furthermore, when it
is set to 'indent-and-new-item and the point is in a list item,
start a new item with the same indentation. If the point is in an
empty list item, remove it (so that pressing RET twice when in a
list simply adds a blank line).
(defalias 'markdown-enter-key #[0 "\301 \203	 \302\303!\207\203H \304\305>\203B \306 \211\262\203B \211@A@AAA@ZU\203: |\210\307 \210\310 \202= \302\311!\266\203\202G \307 \210\310 \207\307 \207" [markdown-indent-on-enter markdown-table-at-point-p call-interactively markdown-table-next-row nil (indent-and-new-item) markdown-cur-list-item-bounds newline markdown-indent-line markdown-insert-list-item] 6 (#$ . 167209) nil])
(byte-code "\300\301\302\303#\210\304\301\302\305#\207" [defalias markdown-exdent-or-delete markdown-outdent-or-delete nil make-obsolete "v2.3"] 4)
#@265 Handle BACKSPACE by cycling through indentation points.
When BACKSPACE is pressed, if there is only whitespace
before the current point, then outdent the line one level.
Otherwise, do normal delete by repeating
`backward-delete-char-untabify' ARG times.

(fn ARG)
(defalias 'markdown-outdent-or-delete #[257 "\300 \203	 \301!\207i\212\302 \210i)\303 \304V\203' U\203' \305\306\"!\202* \301!\207" [use-region-p backward-delete-char-untabify back-to-indentation markdown-calc-indents 0 indent-line-to markdown-outdent-find-next-position] 8 (#$ . 168319) "*p"])
#@71 Find the leftmost column in the region from BEG to END.

(fn BEG END)
(defalias 'markdown-find-leftmost-column #[514 "\301\212b\210`W\203% \302 \210\303\304\305!)\262\204 \211i^\262\306y\210\202 )\211\207" [inhibit-changing-match-data 1000 back-to-indentation "[ 	]*$" t looking-at 1] 6 (#$ . 168891)])
#@180 Indent the region from BEG to END using some heuristics.
When ARG is non-nil, outdent the region instead.
See `markdown-indent-line' and `markdown-indent-line'.

(fn BEG END ARG)
(defalias 'markdown-indent-region #[771 "\301\302\303 !\304\"\305\"\203 \306\"\202 \307\"\310Z#\210\311\211\207" [deactivate-mark sort delete-dups markdown-calc-indents < markdown-find-leftmost-column markdown-outdent-find-next-position markdown-indent-find-next-position indent-rigidly nil] 11 (#$ . 169209) "*r\nP"])
(byte-code "\300\301\302\303#\210\304\301\302\305#\207" [defalias markdown-exdent-region markdown-outdent-region nil make-obsolete "v2.3"] 4)
#@84 Call `markdown-indent-region' on region from BEG to END with prefix.

(fn BEG END)
(defalias 'markdown-outdent-region #[514 "\300\301#\207" [markdown-indent-region t] 6 (#$ . 169871) "*r"])
#@69 Association list of form (regexp . function) for markup completion.
(defconst markdown-complete-alist '((markdown-regex-header-atx . markdown-complete-atx) (markdown-regex-header-setext . markdown-complete-setext) (markdown-regex-hr . markdown-complete-hr)) (#$ . 170069))
#@333 Return t if ATX header markup is incomplete and nil otherwise.
Assumes match data is available for `markdown-regex-header-atx'.
Checks that the number of trailing hash marks equals the number of leading
hash marks, that there is only a single space before and after the text,
and that there is no extraneous whitespace in the text.
(defalias 'markdown-incomplete-atx-p #[0 "\301\302!G\301\303!GU?\206M \301\304!G\305V\203< \304\224\302\225TU?\206M \303\224\304\225TU?\206M \306\301\304!\307\310\311#)\266\203\206M \301\304!G\305U\205M \303\224\302\225\304\\U?\207" [inhibit-changing-match-data match-string 1 3 2 0 "[ 	\n]\\{2\\}" nil t string-match] 7 (#$ . 170349)])
#@374 Complete and normalize ATX headers.
Add or remove hash marks to the end of the header to match the
beginning.  Ensure that there is only a single space between hash
marks and header text.  Removes extraneous whitespace from header text.
Assumes match data is available for `markdown-regex-header-atx'.
Return nil if markup was complete and non-nil if markup was completed.
(defalias 'markdown-complete-atx #[0 "\300 \205: \301 \211\302\225\303\223\302\225b\210\302\225\304\225|\210\305\306\307!\261\210\310\311\306\302!!\312\211\303\302%\210\307\225b\210\307\225\302\224|\210\305c\210\211b\266\202\207" [markdown-incomplete-atx-p make-marker 2 nil 3 " " match-string 1 replace-match markdown-compress-whitespace-string t] 8 (#$ . 171029)])
#@236 Return t if setext header markup is incomplete and nil otherwise.
Assumes match data is available for `markdown-regex-header-setext'.
Checks that length of underline matches text and that there is no
extraneous whitespace in the text.
(defalias 'markdown-incomplete-setext-p #[0 "\301\302!G\301\303!GU?\206 \304\301\302!\305\306\307#)\266\203\207" [inhibit-changing-match-data match-string 1 2 "[ 	\n]\\{2\\}" nil t string-match] 7 (#$ . 171777)])
#@296 Complete and normalize setext headers.
Add or remove underline characters to match length of header
text.  Removes extraneous whitespace from header text.  Assumes
match data is available for `markdown-regex-header-setext'.
Return nil if markup was complete and non-nil if markup was completed.
(defalias 'markdown-complete-setext #[0 "\300 \205, \301\302\303!!\304\224f\305\306\"\203 \304\202 \303\307\224b\210\307\224\307\225|\210\310\311#\210\311\266\203\207" [markdown-incomplete-setext-p markdown-compress-whitespace-string match-string 1 2 char-equal 45 0 markdown-insert-header t] 7 (#$ . 172237)])
#@130 Return non-nil if hr is not in `markdown-hr-strings' and nil otherwise.
Assumes match data is available for `markdown-regex-hr'.
(defalias 'markdown-incomplete-hr-p #[0 "\301\302!\235?\207" [markdown-hr-strings match-string 0] 2 (#$ . 172855)])
#@291 Complete horizontal rules.
If horizontal rule string is a member of `markdown-hr-strings',
do nothing.  Otherwise, replace with the car of
`markdown-hr-strings'.
Assumes match data is available for `markdown-regex-hr'.
Return nil if markup was complete and non-nil if markup was completed.
(defalias 'markdown-complete-hr #[0 "\301 \205 \302@!\210\303\207" [markdown-hr-strings markdown-incomplete-hr-p replace-match t] 2 (#$ . 173108)])
#@188 Complete markup of object near point or in region when active.
Handle all objects in `markdown-complete-alist', in order.
See `markdown-complete-at-point' and `markdown-complete-region'.
(defalias 'markdown-complete #[0 "\300 \203\f \301\302 \303 \"\207\304 \207" [markdown-use-region-p markdown-complete-region region-beginning region-end markdown-complete-at-point] 3 (#$ . 173555) "*"])
#@98 Complete markup of object near point.
Handle all elements of `markdown-complete-alist' in order.
(defalias 'markdown-complete-at-point #[0 "\301\211\203( \302@@!@AA\262\303!\203# \304\262\211 \262\301\262\266\202 \2036 \211\2069 \305\306!\2029 \305\307!\207" [markdown-complete-alist nil eval thing-at-point-looking-at t user-error "Markup at point is complete" "Nothing to complete at point"] 7 (#$ . 173951) "*"])
#@205 Complete markup of objects in region from BEG to END.
Handle all objects in `markdown-complete-alist', in order.  Each
match is checked to ensure that a previous regexp does not also
match.

(fn BEG END)
(defalias 'markdown-complete-region #[514 "\301 \302\223\302\211\203v \211@\303@!Ab\210\304\305#\203^ \306\307!\203 \302\310 \311\307\312\313\314!\315\"\316$\216\211\203N \211@\204G \317\302\"\262A\266\202\2027 \210)\210\211\204Z \212 \210)\210\202 \235\203h \202k B\262\266A\266\202\202 \210\207" [markdown-complete-alist make-marker nil eval re-search-forward limit match-string 0 match-data make-byte-code "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 looking-back] 16 (#$ . 174387) "*r"])
#@56 Complete markup for all objects in the current buffer.
(defalias 'markdown-complete-buffer #[0 "\300ed\"\207" [markdown-complete-region] 3 (#$ . 175137) "*"])
#@392 Cycle ATX header markup.
Promote header (decrease level) when ARG is 1 and demote
header (increase level) if arg is -1.  When REMOVE is non-nil,
remove the header when the level reaches zero and stop cycling
when it reaches six.  Otherwise, perform a proper cycling through
levels one through six.  Assumes match data is available for
`markdown-regex-header-atx'.

(fn ARG &optional REMOVE)
(defalias 'markdown-cycle-atx #[513 "\300\301!G\211\\\300\302!\204, \303\246\262\304U\203 \303\202* \304W\203) \303\\\202* \262\304U\203: \305\306\304\302#\202O \303X\205O \304\224b\210\304\224\304\225|\210\307\306#\207" [match-string 1 2 6 0 markdown-unwrap-thing-at-point nil markdown-insert-header] 9 (#$ . 175303)])
#@432 Cycle setext header markup.
Promote header (increase level) when ARG is 1 and demote
header (decrease level or remove) if arg is -1.  When demoting a
level-two setext header, replace with a level-three atx header.
When REMOVE is non-nil, remove the header when the level reaches
zero.  Otherwise, cycle back to a level six atx header.  Assumes
match data is available for `markdown-regex-header-setext'.

(fn ARG &optional REMOVE)
(defalias 'markdown-cycle-setext #[513 "\300\224f\301\302\"\203 \303\202 \300\211\\\204 \211\304U\203 \305\262\211\304U\203- \306\307\304\303#\202F \211\300X\203; \310\307\311#\202F \211\305X\205F \310\307\211#\207" [2 char-equal 61 1 0 6 markdown-unwrap-thing-at-point nil markdown-insert-header t] 9 (#$ . 176035)])
#@332 Cycle string used for horizontal rule from `markdown-hr-strings'.
When ARG is 1, cycle forward (demote), and when ARG is -1, cycle
backwards (promote).  When REMOVE is non-nil, remove the hr instead
of cycling when the end of the list is reached.
Assumes match data is available for `markdown-regex-hr'.

(fn ARG &optional REMOVE)
(defalias 'markdown-cycle-hr #[513 "\301U\203\f \302!\202 \303\304!\235\211A@\206- \203+ \305U\203& \306\202- \211@\202- @\307!\207" [markdown-hr-strings -1 reverse match-string 0 1 "" replace-match] 7 (#$ . 176801)])
#@113 Cycle bold markup between underscores and asterisks.
Assumes match data is available for `markdown-regex-bold'.
(defalias 'markdown-cycle-bold #[0 "\212\300\301!\211\302\230\203 \303\202 \302\304\305\211\306\301%\210\304\305\211\306\307%\266\202)\207" [match-string 3 "**" "__" replace-match t nil 5] 8 (#$ . 177366)])
#@117 Cycle italic markup between underscores and asterisks.
Assumes match data is available for `markdown-regex-italic'.
(defalias 'markdown-cycle-italic #[0 "\212\300\301!\211\302\230\203 \303\202 \302\304\305\211\306\301%\210\304\305\211\306\307%\266\202)\207" [match-string 2 "*" "_" replace-match t nil 4] 8 (#$ . 177696)])
#@58 Return a formatted prompt for Markdown markup insertion.
(defalias 'markdown--style-map-prompt #[0 "\205> \301\302\303\304\305#\306\302\307\304\310#\306\302\311\304\312#\306\302\313\304\314#\306\302\315\304\316#\306\302\317\304\320#\306\302\321\304\322#\306\302\323\304\324#\306\302\325\304\326#\306\327\260\207" [markdown-enable-prefix-prompts "Markdown: " propertize "bold" face markdown-bold-face ", " "italic" markdown-italic-face "code" markdown-inline-code-face "C = GFM code" markdown-code-face "pre" markdown-pre-face "footnote" markdown-footnote-text-face "q = blockquote" markdown-blockquote-face "h & 1-6 = heading" markdown-header-face "- = hr" markdown-hr-face "C-h = more"] 21 (#$ . 178029)])
#@50 Return prompt for Markdown buffer-wide commands.
(defalias 'markdown--command-map-prompt #[0 "\2053 \301\302\303\304\305#\306\302\307\304\305#\310\302\311\304\305#\312\302\313\304\305#\314\315\302\316\304\305#\317\302\320\304\305#\321\302\322\304\305#\323\324\260\207" [markdown-enable-prefix-prompts "Command: " propertize "m" face markdown-bold-face "arkdown, " "p" "review, " "o" "pen, " "e" "xport, " "export & pre" "v" "iew, " "c" "heck refs, " "u" "nused refs, " "C-h = more"] 18 (#$ . 178744)])
#@44 Keymap for Markdown text styling commands.
(defvar markdown-mode-style-map (byte-code "\300\301 !\302\303\304#\210\302\305\306#\210\302\307\310#\210\302\311\312#\210\302\313\314#\210\302\315\316#\210\302\317\320#\210\302\321\322#\210\302\323\324#\210\302\325\326#\210\302\327\330#\210\302\331\332#\210\302\333\334#\210\302\335\336#\210\302\337\340#\210\302\341\342#\210\302\343\344#\210\302\345\346#\210\302\347\350#\210\302\351\352#\210\302\353\354#\210\302\355\356#\210\302\357\360#\210\302\361\362#\210\302\363\364#\210\302\365\366#\210\302\367\340#\210\211\207" [make-keymap markdown--style-map-prompt define-key "1" markdown-insert-header-atx-1 "2" markdown-insert-header-atx-2 "3" markdown-insert-header-atx-3 "4" markdown-insert-header-atx-4 "5" markdown-insert-header-atx-5 "6" markdown-insert-header-atx-6 "!" markdown-insert-header-setext-1 "@" markdown-insert-header-setext-2 "b" markdown-insert-bold "c" markdown-insert-code "C" markdown-insert-gfm-code-block "f" markdown-insert-footnote "h" markdown-insert-header-dwim "H" markdown-insert-header-setext-dwim "i" markdown-insert-italic "k" markdown-insert-kbd "l" markdown-insert-link "p" markdown-insert-pre "P" markdown-pre-region "q" markdown-insert-blockquote "s" markdown-insert-strike-through "t" markdown-insert-table "Q" markdown-blockquote-region "w" markdown-insert-wiki-link "-" markdown-insert-hr "[" markdown-insert-gfm-checkbox "e"] 5) (#$ . 179254))
#@43 Keymap for Markdown buffer-wide commands.
(defvar markdown-mode-command-map (byte-code "\300\301 !\302\303\304#\210\302\305\306#\210\302\307\310#\210\302\311\312#\210\302\313\314#\210\302\315\316#\210\302\317\320#\210\302\321\322#\210\302\323\324#\210\302\325\326#\210\302\327\330#\210\302\331\332#\210\302\333\334#\210\302\335\336#\210\211\207" [make-keymap markdown--command-map-prompt define-key "m" markdown-other-window "p" markdown-preview "e" markdown-export "v" markdown-export-and-preview "o" markdown-open "l" markdown-live-preview-mode "w" markdown-kill-ring-save "c" markdown-check-refs "u" markdown-unused-refs "n" markdown-cleanup-list-numbers "]" markdown-complete-buffer "^" markdown-table-sort-lines "|" markdown-table-convert-region "t" markdown-table-transpose] 5) (#$ . 180715))
#@33 Keymap for Markdown major mode.
(defvar markdown-mode-map (byte-code "\302 \303\304#\210\303\305\306#\210\303\307\310#\210\303\311\312#\210\303\313\314#\210\303\315\316#\210\303\317\320#\210\303\321\322#\210\303\323\324#\210\303\325\326#\210\303\327\330#\210\303\331\332#\210\303\333\334#\210\303\335\336#\210\303\337\340#\210\303\341\340#\210\303\342\340#\210\303\343\344#\210\303\345\346#\210\303\347\350#\210\303\351\352#\210\303\353\354#\210\303\355	#\210\303\356\357#\210\303\360\361#\210\303\362\312#\210\303\363\314#\210\303\364\365#\210\303\366\367#\210\303\370\371#\210\303\372\373#\210\303\374\375#\210\303\376\377#\210\303\201@ \201A #\210\303\201B \201A #\210\303\201C \201D #\210\303\201E \201F #\210\303\201G \201H #\210\303\201I \201J #\210\303\201K \201L #\210\303\201M \201N #\210\303\201O \201P #\210\303\201Q \201R #\210\303\201S \201T #\210\303\201U \201V #\210\303\201W \201X #\210\303\201Y \201Z #\210\303\201[ \201\\ #\210\303\201] \201^ #\210\303\201_ \201` #\210\303\201a \201b #\210\303\201c \201d #\210\303\201e \201f #\210\303\201g \357#\210\303\201h \361#\210\303\201i \312#\210\303\201j \314#\210\303\201k \306#\210\303\201l \306#\210\303\201m \306#\210\303\201n \201o #\210\303\201p \201q #\210\303\201r \201s #\210\303\201t \201u #\210\303\201v \201w #\210\303\201x \201y #\210\303\201z \201{ #\210\303\201| \201} #\210\303\201~ \201 #\210\303\201\200 \201\201 #\210\303\201\202 \201\203 #\210\303\201\204 \201\205 #\210\303\201\206 \201\207 #\210\303\201\210 \201\203 #\210\303\201\211 \201\201 #\210\303\201\212 \201\213 #\210\303\201\214 \201A #\210\303\201\215 \201\216 #\210\303\201\217 \201\220 #\210\211\207" [markdown-mode-style-map markdown-mode-command-map make-keymap define-key "" "\f" markdown-insert-link "" markdown-kill-thing-at-point [3 67108909] markdown-promote [3 67108925] markdown-demote "" markdown-complete "" markdown-follow-thing-at-point "" markdown-do "'" markdown-edit-code-block "" markdown-enter-key "" markdown-outdent-or-delete ">" markdown-indent-region "<" markdown-outdent-region "	" markdown-cycle [S-iso-lefttab] markdown-shifttab [S-tab] [backtab] "" markdown-outline-next "" markdown-outline-previous "" markdown-outline-next-same-level "" markdown-outline-previous-same-level "" markdown-outline-up "" [3 up] markdown-move-up [3 down] markdown-move-down [3 left] [3 right] [3 S-up] markdown-table-delete-row [3 S-down] markdown-table-insert-row [3 S-left] markdown-table-delete-column [3 S-right] markdown-table-insert-column [3 134217736] markdown-mark-subtree "ns" markdown-narrow-to-subtree [134217741] markdown-insert-list-item "\n" [remap backward-paragraph] markdown-backward-paragraph [remap forward-paragraph] markdown-forward-paragraph [remap mark-paragraph] markdown-mark-paragraph [201326715] markdown-backward-block [201326717] markdown-forward-block [3 134217832] markdown-mark-block "nb" markdown-narrow-to-block [remap backward-page] markdown-backward-page [remap forward-page] markdown-forward-page [remap mark-page] markdown-mark-page [remap narrow-to-page] markdown-narrow-to-page [134217838] markdown-next-link [134217840] markdown-previous-link "" markdown-toggle-math "" markdown-toggle-fontify-code-blocks-natively "	" markdown-toggle-inline-images "\f" markdown-toggle-url-hiding "" markdown-toggle-markup-hiding "u" "d" "l" "r" "L" "l" "r" "u" markdown-insert-uri "f" markdown-insert-footnote "w" markdown-insert-wiki-link "1" markdown-insert-header-atx-1 "2" markdown-insert-header-atx-2 "3" markdown-insert-header-atx-3 "4" markdown-insert-header-atx-4 "5" markdown-insert-header-atx-5 "6" markdown-insert-header-atx-6 "!" markdown-insert-header-setext-1 "@" markdown-insert-header-setext-2 "h" markdown-insert-header-dwim "H" markdown-insert-header-setext-dwim "s" "t" "	" markdown-insert-image "m" "" markdown-toggle-gfm-checkbox "-" markdown-insert-hr] 5) (#$ . 181534))
#@40 Keymap for following links with mouse.
(defvar markdown-mode-mouse-map (byte-code "\300 \301\302\303#\210\301\304\305#\210\211\207" [make-sparse-keymap define-key [follow-link] mouse-face [mouse-2] markdown-follow-link-at-point] 5) (#$ . 185589))
#@54 Keymap for `gfm-mode'.
See also `markdown-mode-map'.
(defvar gfm-mode-map (byte-code "\301 \302\"\210\303\304\305#\210\303\306\307#\210\211\207" [markdown-mode-map make-sparse-keymap set-keymap-parent define-key "d" markdown-insert-strike-through "`" markdown-electric-backquote] 5) (#$ . 185844))
#@24 Menu for Markdown mode
(defvar markdown-mode-menu nil (#$ . 186154))
(easy-menu-do-define 'markdown-mode-menu markdown-mode-map "Menu for Markdown mode" '("Markdown" "---" ("Movement" ["Jump" markdown-do] ["Follow Link" markdown-follow-thing-at-point] ["Next Link" markdown-next-link] ["Previous Link" markdown-previous-link] "---" ["Next Heading or List Item" markdown-outline-next] ["Previous Heading or List Item" markdown-outline-previous] ["Next at Same Level" markdown-outline-next-same-level] ["Previous at Same Level" markdown-outline-previous-same-level] ["Up to Parent" markdown-outline-up] "---" ["Forward Paragraph" markdown-forward-paragraph] ["Backward Paragraph" markdown-backward-paragraph] ["Forward Block" markdown-forward-block] ["Backward Block" markdown-backward-block]) ("Show & Hide" ["Cycle Heading Visibility" markdown-cycle :enable (markdown-on-heading-p)] ["Cycle Heading Visibility (Global)" markdown-shifttab] "---" ["Narrow to Region" narrow-to-region] ["Narrow to Block" markdown-narrow-to-block] ["Narrow to Section" narrow-to-defun] ["Narrow to Subtree" markdown-narrow-to-subtree] ["Widen" widen (buffer-narrowed-p)] "---" ["Toggle Markup Hiding" markdown-toggle-markup-hiding :keys "C-c C-x C-m" :style radio :selected markdown-hide-markup]) "---" ("Headings & Structure" ["Automatic Heading" markdown-insert-header-dwim :keys "C-c C-s h"] ["Automatic Heading (Setext)" markdown-insert-header-setext-dwim :keys "C-c C-s H"] ("Specific Heading (atx)" ["First Level atx" markdown-insert-header-atx-1 :keys "C-c C-s 1"] ["Second Level atx" markdown-insert-header-atx-2 :keys "C-c C-s 2"] ["Third Level atx" markdown-insert-header-atx-3 :keys "C-c C-s 3"] ["Fourth Level atx" markdown-insert-header-atx-4 :keys "C-c C-s 4"] ["Fifth Level atx" markdown-insert-header-atx-5 :keys "C-c C-s 5"] ["Sixth Level atx" markdown-insert-header-atx-6 :keys "C-c C-s 6"]) ("Specific Heading (Setext)" ["First Level Setext" markdown-insert-header-setext-1 :keys "C-c C-s !"] ["Second Level Setext" markdown-insert-header-setext-2 :keys "C-c C-s @"]) ["Horizontal Rule" markdown-insert-hr :keys "C-c C-s -"] "---" ["Move Subtree Up" markdown-move-up :keys "C-c <up>"] ["Move Subtree Down" markdown-move-down :keys "C-c <down>"] ["Promote Subtree" markdown-promote :keys "C-c <left>"] ["Demote Subtree" markdown-demote :keys "C-c <right>"]) ("Region & Mark" ["Indent Region" markdown-indent-region] ["Outdent Region" markdown-outdent-region] "--" ["Mark Paragraph" mark-paragraph] ["Mark Block" markdown-mark-block] ["Mark Section" mark-defun] ["Mark Subtree" markdown-mark-subtree]) ("Tables" ["Move Row Up" markdown-move-up :enable (markdown-table-at-point-p) :keys "C-c <up>"] ["Move Row Down" markdown-move-down :enable (markdown-table-at-point-p) :keys "C-c <down>"] ["Move Column Left" markdown-demote :enable (markdown-table-at-point-p) :keys "C-c <left>"] ["Move Column Right" markdown-promote :enable (markdown-table-at-point-p) :keys "C-c <right>"] ["Delete Row" markdown-table-delete-row :enable (markdown-table-at-point-p)] ["Insert Row" markdown-table-insert-row :enable (markdown-table-at-point-p)] ["Delete Column" markdown-table-delete-column :enable (markdown-table-at-point-p)] ["Insert Column" markdown-table-insert-column :enable (markdown-table-at-point-p)] ["Insert Table" markdown-insert-table] "--" ["Convert Region to Table" markdown-table-convert-region] ["Sort Table Lines" markdown-table-sort-lines :enable (markdown-table-at-point-p)] ["Transpose Table" markdown-table-transpose :enable (markdown-table-at-point-p)]) ("Lists" ["Insert List Item" markdown-insert-list-item] ["Move Subtree Up" markdown-move-up :keys "C-c <up>"] ["Move Subtree Down" markdown-move-down :keys "C-c <down>"] ["Indent Subtree" markdown-demote :keys "C-c <right>"] ["Outdent Subtree" markdown-promote :keys "C-c <left>"] ["Renumber List" markdown-cleanup-list-numbers] ["Insert Task List Item" markdown-insert-gfm-checkbox :keys "C-c C-x ["] ["Toggle Task List Item" markdown-toggle-gfm-checkbox :enable (markdown-gfm-task-list-item-at-point) :keys "C-c C-d"]) ("Links & Images" ["Insert Link" markdown-insert-link] ["Insert Image" markdown-insert-image] ["Insert Footnote" markdown-insert-footnote :keys "C-c C-s f"] ["Insert Wiki Link" markdown-insert-wiki-link :keys "C-c C-s w"] "---" ["Check References" markdown-check-refs] ["Find Unused References" markdown-unused-refs] ["Toggle URL Hiding" markdown-toggle-url-hiding :style radio :selected markdown-hide-urls] ["Toggle Inline Images" markdown-toggle-inline-images :keys "C-c C-x C-i" :style radio :selected markdown-inline-image-overlays] ["Toggle Wiki Links" markdown-toggle-wiki-links :style radio :selected markdown-enable-wiki-links]) ("Styles" ["Bold" markdown-insert-bold] ["Italic" markdown-insert-italic] ["Code" markdown-insert-code] ["Strikethrough" markdown-insert-strike-through] ["Keyboard" markdown-insert-kbd] "---" ["Blockquote" markdown-insert-blockquote] ["Preformatted" markdown-insert-pre] ["GFM Code Block" markdown-insert-gfm-code-block] ["Edit Code Block" markdown-edit-code-block :enable (markdown-code-block-at-point-p)] "---" ["Blockquote Region" markdown-blockquote-region] ["Preformatted Region" markdown-pre-region] "---" ["Fontify Code Blocks Natively" markdown-toggle-fontify-code-blocks-natively :style radio :selected markdown-fontify-code-blocks-natively] ["LaTeX Math Support" markdown-toggle-math :style radio :selected markdown-enable-math]) "---" ("Preview & Export" ["Compile" markdown-other-window] ["Preview" markdown-preview] ["Export" markdown-export] ["Export & View" markdown-export-and-preview] ["Open" markdown-open] ["Live Export" markdown-live-preview-mode :style radio :selected markdown-live-preview-mode] ["Kill ring save" markdown-kill-ring-save]) ("Markup Completion and Cycling" ["Complete Markup" markdown-complete] ["Promote Element" markdown-promote :keys "C-c C--"] ["Demote Element" markdown-demote :keys "C-c C-="]) "---" ["Kill Element" markdown-kill-thing-at-point] "---" ("Documentation" ["Version" markdown-show-version] ["Homepage" markdown-mode-info] ["Describe Mode" (describe-function 'markdown-mode)] ["Guide" (browse-url "https://leanpub.com/markdown-mode")])))
#@142 Create and return a nested imenu index alist for the current buffer.
See `imenu-create-index-function' and `imenu--index-alist' for details.
(defalias 'markdown-imenu-create-nested-index #[0 "\302\303\304\305\306\303\211\211\211\212eb\210\307d\310#\203\354 \311 \204 \312\313!\203/ \312\314!\262\314\224\262\314\262\202\\ \312\315!\203D \312\314!\262\314\224\262\313\262\202\\ \316\312\317!!\211\262\203\\ \312\320!\262\317\224\262G\262\211BCU\203r \241\210\211\262	\202\350 W\203\275 \321	\314#\304\211W\203\226 \211	BC\262\210\211T\262\202\200 \266\203\257 @\211ABB\241\266\202\264 	\241\210\211\262	\262\202\350 \322\nA!S\304\211W\203\333 \211\322@A!\262\210\211T\262\202\305 \266\211\241\210\262\n\210\262\210\202 \323 \211G\304U\204\371 	\204\377 	A\202	A\324BC\244\262)\207" [markdown-regex-header markdown-add-footnotes-to-imenu (nil) nil 0 "-" "." re-search-forward t markdown-code-block-at-point-p match-string-no-properties 2 1 3 markdown-trim-whitespace 4 5 - last markdown-get-defined-footnotes "Footnotes"] 16 (#$ . 192374)])
#@140 Create and return a flat imenu index alist for the current buffer.
See `imenu-create-index-function' and `imenu--index-alist' for details.
(defalias 'markdown-imenu-create-flat-index #[0 "\302\303\211\211\212eb\210\304d\305#\203P \306\307 !\204 \310\311!\204 \312\313!\211\262\203- \313\224\262\202: \312\314!\211\262\203: \315\224\262G\316V\204D \262\317BC\"\262\202 	\203Y \320 \244\210)\207" [markdown-regex-header markdown-add-footnotes-to-imenu "-" nil re-search-forward t markdown-code-block-at-point-p point-at-bol markdown-text-property-at-point markdown-yaml-metadata-begin match-string-no-properties 1 5 4 0 append markdown-get-defined-footnotes] 8 (#$ . 193483)])
#@64 Jump to the definition of the reference at point or create it.
(defalias 'markdown-reference-goto-definition #[0 "\301!\205@ \302\303!\302\304!\211\305\230\203 \202 \211\227\306 \307\310\311\312\313!\314\"\303$\216\315!)\262A@\211\2037 \211b\202> \310\224b\210\316!\266\204\207" [markdown-regex-link-reference thing-at-point-looking-at match-string-no-properties 3 6 "" match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] markdown-reference-definition markdown-insert-reference-definition] 10 (#$ . 194181) nil])
#@311 Return a list of all links for REFERENCE.
REFERENCE should not include the surrounding square brackets.
Elements of the list have the form (text start line), where
text is the link text, start is the location at the beginning of
the link, and line is the line number on which the link appears.

(fn REFERENCE)
(defalias 'markdown-reference-find-links #[257 "\300!\301\302\211#\303\212eb\210\304\303\305#\203: \306\307!\206 \306\310!\311\224\312 E\211\235\2030 \2023 \211B\262\266\204\202 )\207" [regexp-quote format "!?\\(?:\\[\\(%s\\)\\][ ]?\\[\\]\\|\\[\\([^]]+?\\)\\][ ]?\\[%s\\]\\)" nil re-search-forward t match-string-no-properties 1 2 0 markdown-line-number-at-pos] 10 (#$ . 194748)])
#@10 

(fn F)
(defalias 'markdown-for-all-refs '(macro . #[257 "\300\301\302\303\304\305\306\307\310BEEE\311BBB\207" [let ((result)) save-excursion (goto-char (point-min)) while (re-search-forward markdown-regex-link-reference nil t) let* ((text (match-string-no-properties 3)) (reference (match-string-no-properties 6)) (target (downcase (if (string= reference "") text reference)))) (text target result) ((reverse result))] 11 (#$ . 195457)]))
#@24 

(fn _ TARGET RESULT)
(defalias 'markdown-collect-always '(macro . #[771 "\300\301BBB\207" [cl-pushnew (:test #'equal)] 7 (#$ . 195906)]))
#@27 

(fn TEXT TARGET RESULT)
(defalias 'markdown-collect-undefined '(macro . #[771 "\300\301\302\303\304EDC\305\306\307\310	\311\310\312BBDE\313BBB\314\303\315\316\311\310\317BBDEEFEE\207" [unless (markdown-reference-definition target) let entry assoc if (not entry) cl-pushnew cons list ((markdown-line-number-at-pos)) (:test #'equal) setcdr append (cdr entry) ((markdown-line-number-at-pos))] 18 (#$ . 196054)]))
#@43 Return a list of all Markdown references.
(defalias 'markdown-get-all-refs #[0 "\301\212eb\210\302\301\303#\2031 \304\305!\304\306!\211\307\230\203 \202 \211\227\211\235\203) \202, \211B\266\204\202 )\310!\207" [markdown-regex-link-reference nil re-search-forward t match-string-no-properties 3 6 "" reverse] 6 (#$ . 196483)])
#@395 Return a list of undefined Markdown references.
Result is an alist of pairs (reference . occurrences), where
occurrences is itself another alist of pairs (label . line-number).
For example, an alist corresponding to [Nice editor][Emacs] at line 12,
[GNU Emacs][Emacs] at line 45 and [manual][elisp] at line 127 is
(("emacs" ("Nice editor" . 12) ("GNU Emacs" . 45)) ("elisp" ("manual" . 127))).
(defalias 'markdown-get-undefined-refs #[0 "\301\212eb\210\302\301\303#\203] \304\305!\304\306!\211\307\230\203 \202 \211\227\310!\204X \311\"\211\204J \312 BCB\211\235\203? \202C \211B\262\262\202W \211\313A\312 BC\"\241\210\210\266\202 )\314!\207" [markdown-regex-link-reference nil re-search-forward t match-string-no-properties 3 6 "" markdown-reference-definition assoc markdown-line-number-at-pos append reverse] 10 (#$ . 196826)])
(defalias 'markdown-get-unused-refs #[0 "\300\301\302 \303 \304\305$\306\307\310$\207" [cl-sort cl-set-difference markdown-get-defined-references markdown-get-all-refs :test #[514 "@\232\207" [] 4 "\n\n(fn E1 E2)"] < :key cdr] 6])
#@294 Define a function to name and return a buffer.

By convention, NAME must be a name of a string constant with
%buffer% placeholder used to name the buffer, and will also be
used as a name of the function defined.

DOCSTRING will be used as the first part of the docstring.

(fn NAME DOCSTRING)
(defalias 'defun-markdown-buffer '(macro . #[514 "\300\301\302P\303\304\305\306\307\310\311\fFDDC\312BB\257\207" [defun (&optional buffer-name) "\n\nBUFFER-NAME is the name of the main buffer being visited." (or buffer-name (setq buffer-name (buffer-name))) let refbuf get-buffer-create markdown-replace-regexp-in-string "%buffer%" buffer-name ((with-current-buffer refbuf (when view-mode (View-exit-and-edit)) (use-local-map button-buffer-map) (erase-buffer)) refbuf)] 14 (#$ . 197920)]))
#@149 Pattern for name of buffer for listing undefined references.
The string %buffer% will be replaced by the corresponding
`markdown-mode' buffer name.
(defconst markdown-reference-check-buffer "*Undefined references for %buffer%*" (#$ . 198714))
#@135 Name and return buffer for reference checking.

BUFFER-NAME is the name of the main buffer being visited.

(fn &optional BUFFER-NAME)
(defalias 'markdown-reference-check-buffer #[256 "\211\204 \303 \262\304\305\306#!r\211q\210	\203 \307 \210\310\n!\210\311 \210)\211\207" [markdown-reference-check-buffer view-mode button-buffer-map buffer-name get-buffer-create markdown-replace-regexp-in-string "%buffer%" View-exit-and-edit use-local-map erase-buffer] 6 (#$ . 198964)])
#@146 Pattern for name of buffer for listing unused references.
The string %buffer% will be replaced by the corresponding
`markdown-mode' buffer name.
(defconst markdown-unused-references-buffer "*Unused references for %buffer%*" (#$ . 199449))
#@142 Name and return buffer for unused reference checking.

BUFFER-NAME is the name of the main buffer being visited.

(fn &optional BUFFER-NAME)
(defalias 'markdown-unused-references-buffer #[256 "\211\204 \303 \262\304\305\306#!r\211q\210	\203 \307 \210\310\n!\210\311 \210)\211\207" [markdown-unused-references-buffer view-mode button-buffer-map buffer-name get-buffer-create markdown-replace-regexp-in-string "%buffer%" View-exit-and-edit use-local-map erase-buffer] 6 (#$ . 199695)])
#@123 Pattern for name of buffer for listing references.
The string %buffer% will be replaced by the corresponding buffer name.
(defconst markdown-reference-links-buffer "*Reference links for %buffer%*" (#$ . 200191))
#@140 Name, setup, and return a buffer for listing links.

BUFFER-NAME is the name of the main buffer being visited.

(fn &optional BUFFER-NAME)
(defalias 'markdown-reference-links-buffer #[256 "\211\204 \303 \262\304\305\306#!r\211q\210	\203 \307 \210\310\n!\210\311 \210)\211\207" [markdown-reference-links-buffer view-mode button-buffer-map buffer-name get-buffer-create markdown-replace-regexp-in-string "%buffer%" View-exit-and-edit use-local-map erase-buffer] 6 (#$ . 200410)])
(byte-code "\300\301\302\303\304\305\306\307\310\311&	\210\300\312\302\313\304\305\306\314\310\315&	\210\300\316\302\317\304\305\306\314\310\320&	\210\300\321\302\322\304\305\306\307\310\323&	\207" [define-button-type markdown-undefined-reference-button help-echo "mouse-1, RET: create definition for undefined reference" follow-link t face bold action #[257 "\300\301\"\300\302\"\303!\304!\210eb\210y\210\305!\210\306\307!\207" [button-get target-buffer target-line button-label switch-to-buffer-other-window markdown-insert-reference-definition markdown-check-refs t] 6 "\n\n(fn B)"] markdown-goto-line-button "mouse-1, RET: go to line" italic #[257 "\301\302\303\"!\210\302\304\"\305\306!)\207" [current-prefix-arg switch-to-buffer-other-window button-get target-buffer target-line call-interactively goto-line] 5 "\n\n(fn B)"] markdown-kill-line-button "mouse-1, RET: kill line" #[257 "\301\302\303\"!\210\302\304\"\305\306!\210)\307\310!\210\311\312!\207" [current-prefix-arg switch-to-buffer-other-window button-get target-buffer target-line call-interactively goto-line kill-line 1 markdown-unused-refs t] 5 "\n\n(fn B)"] markdown-location-button "mouse-1, RET: jump to location of link" #[257 "\300\301\"\300\302\"\303 \210\304!\210\211b\207" [button-get target-buffer target-char kill-buffer-and-window switch-to-buffer] 5 "\n\n(fn B)"]] 10)
#@193 Insert a button for creating REFERENCE in buffer OLDBUF.
REFERENCE should be a list of the form (reference . occurrences),
as returned by `markdown-get-undefined-refs'.

(fn REFERENCE OLDBUF)
(defalias 'markdown-insert-undefined-reference-button #[514 "@\300\301\302\303\304	A@A&\210\305c\210A\211\2039 \211@\211A\300\306!\301\307\303	\304&\210\310c\266A\266\202\202 \210\311\312!\210\313c\210\314 \207" [insert-button :type markdown-undefined-reference-button target-buffer target-line " (" number-to-string markdown-goto-line-button " " delete-char -1 ")" newline] 14 (#$ . 202266)])
#@130 Insert a button for creating REFERENCE in buffer OLDBUF.
REFERENCE must be a pair of (ref . line-number).

(fn REFERENCE OLDBUF)
(defalias 'markdown-insert-unused-reference-button #[514 "@A\300\301\302\303\304\305	\306	&	\210\307\310\"c\210\300\311\301\312\303\304\305	\306	&	\210\313c\210\314 \207" [insert-button :type markdown-goto-line-button face bold target-buffer target-line format " (%d) [" "X" markdown-kill-line-button "]" newline] 14 (#$ . 202874)])
#@177 Insert a button for jumping to LINK in buffer OLDBUF.
LINK should be a list of the form (text char line) containing
the link text, location, and line number.

(fn LINK OLDBUF)
(defalias 'markdown-insert-link-button #[514 "@A@AA@\300\301\302\303\304&\210\305\306\"c\207" [insert-button :type markdown-location-button target-buffer target-char format " (line %d)\n"] 13 (#$ . 203351)])
#@79 Jump to the location of the first use of REFERENCE.

(fn &optional REFERENCE)
(defalias 'markdown-reference-goto-link #[256 "\211\204 \301!\203 \302\303!\262\202 \304\305!\210\306!\211G\307U\203( \211@A@b\202e \211G\307V\203a p\310 r\211q\210\311\312\261\210\313!\211\203Q \211@\314\"\210A\266\202\202? \210)\315!\210eb\210\303y\266\202\202e \316\317\"\207" [markdown-regex-reference-definition thing-at-point-looking-at match-string-no-properties 2 user-error "No reference definition at point" markdown-reference-find-links 1 markdown-reference-links-buffer "Links using reference " ":\n\n" reverse markdown-insert-link-button view-buffer-other-window error "No links for reference %s"] 9 (#$ . 203751) nil])
#@514 Define a function NAME acting on result of CHECKER-FUNCTION.

DOCSTRING is used as a docstring for the defined function.

BUFFER-FUNCTION should name and return an auxiliary buffer to put
results in.

NONE-MESSAGE is used when CHECKER-FUNCTION returns no results.

BUFFER-HEADER is put into the auxiliary buffer first, followed by
calling INSERT-REFERENCE for each element in the list returned by
CHECKER-FUNCTION.

(fn NAME DOCSTRING CHECKER-FUNCTION BUFFER-FUNCTION NONE-MESSAGE BUFFER-HEADER INSERT-REFERENCE)
(defalias 'defun-markdown-ref-checker '(macro . #[1799 "\300\301\302P\303\304\305\306\307CD\310CDE\311\312\313\314\315\316DE\317BB\320\310\321D\322\323\324BE\325BBBBFE\257\207" [defun (&optional silent) "\n\nIf SILENT is non-nil, do not message anything when no\nsuch references found." (interactive "P") (when (not (memq major-mode '(markdown-mode gfm-mode))) (user-error "Not available in current mode")) let (oldbuf (current-buffer)) refs refbuf if (null refs) progn when (not silent) message ((kill-buffer refbuf)) with-current-buffer insert dolist (ref refs) (ref oldbuf) ((view-buffer-other-window refbuf) (goto-char (point-min)) (forward-line 2))] 25 (#$ . 204483)]))
#@252 Show all undefined Markdown references in current `markdown-mode' buffer.

Links which have empty reference definitions are considered to be
defined.

If SILENT is non-nil, do not message anything when no
such references found.

(fn &optional SILENT)
(defalias 'markdown-check-refs #[256 "\301>\204\n \302\303!\210p\304 \305 \204! \204 \306\307!\210\310!\202G r\211q\210\311c\210\211\203< \211@\312\"\210A\266\202\202) \210\313!\210eb\210\314y)\207" [major-mode (markdown-mode gfm-mode) user-error "Not available in current mode" markdown-get-undefined-refs markdown-reference-check-buffer message "No undefined references found" kill-buffer "The following references are undefined:\n\n" markdown-insert-undefined-reference-button view-buffer-other-window 2] 9 (#$ . 205693) "P"])
#@173 Show all unused Markdown references in current `markdown-mode' buffer.

If SILENT is non-nil, do not message anything when no
such references found.

(fn &optional SILENT)
(defalias 'markdown-unused-refs #[256 "\301>\204\n \302\303!\210p\304 \305 \204! \204 \306\307!\210\310!\202G r\211q\210\311c\210\211\203< \211@\312\"\210A\266\202\202) \210\313!\210eb\210\314y)\207" [major-mode (markdown-mode gfm-mode) user-error "Not available in current mode" markdown-get-unused-refs markdown-unused-references-buffer message "No unused references found" kill-buffer "The following references are unused:\n\n" markdown-insert-unused-reference-button view-buffer-other-window 2] 9 (#$ . 206492) "P"])
#@502 Insert a new list item.
If the point is inside unordered list, insert a bullet mark.  If
the point is inside ordered list, insert the next number followed
by a period.  Use the previous list item to determine the amount
of whitespace to place before and after list markers.

With a \[universal-argument] prefix (i.e., when ARG is (4)),
decrease the indentation by one level.

With two \[universal-argument] prefixes (i.e., when ARG is (16)),
increase the indentation by one level.

(fn &optional ARG)
(defalias 'markdown-insert-list-item #[256 "\303\211\211\211\211\211\304 \305\306\307\310\311!\312\"\313$\216\212\314 \211\262\204, o\204, \315 \203, \316y\210\202 )\203[ \212\317\303x\210\320\321!)\262)\203P \322 \210\323c\210\316y\210\202X \315 \204X \324 \210`\262\204\212 \212\204y m\204y \315 \203y \303y\210\314 \262\202a )\203\212 `\262\315 \204\212 \324 \210\204\235 \315 \204\227 \323c\210\nc\210\202\242\3258\262\3268\262\3278\203\274 \330\331\332\3278#P\262\326U\203\345 \326Z\306]\262\212@b\210\333 \205\327 \314 )\211\203\341 \3268\262\210\202\367 \334U\203\364 \326\\\262\202\367 \262\335\336\"\262b\210\337\303\320\340#)\266\203\203\215\334U\203\341Pc\210\202\242\342\303!\210\212\321\343P!\2043\316y\306Y\204$)\344\345!\344\325!\203G\346\347!T!\202H\350GGZ\344\325!\203}\351\303\320\340#)\266\203\204}\211\306W\203}\211\345\344\325!GZV\203}\344\325!\306O\202\202\206\202\352Qc\266\202\242\353\303\320\340#)\266\203\203\242\261\210\354\355 \356 \")\262\207" [markdown-regex-list inhibit-changing-match-data markdown-unordered-list-item-prefix nil match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 markdown-cur-list-item-bounds markdown-cur-line-blank-p -1 " 	" t looking-at beginning-of-line "\n" newline 2 4 5 replace-regexp-in-string "[Xx]" " " markdown-up-list 16 make-string 32 "[0-9]" string-match "1. " set-match-data "\\([0-9]+\\)\\(\\.[ 	]*\\)" match-string 1 int-to-string string-to-number "1" "	" ". " "[\\*\\+-]\\|#\\." markdown-syntax-propertize-list-items point-at-bol point-at-eol] 19 (#$ . 207203) "p"])
#@114 Move the current list item up in the list when possible.
In nested lists, move child items with the parent item.
(defalias 'markdown-move-list-item-up #[0 "\300\211\211\301 \211\262\205E `\262@b\210\302\3038!\203C \301 \262\3041= \305@A@@A@\306%\210@@Z\\b0\202E \210\211b\202E \211b\207" [nil markdown-cur-list-item-bounds markdown-prev-list-item 3 (error) transpose-regions t] 9 (#$ . 209388) nil])
#@116 Move the current list item down in the list when possible.
In nested lists, move child items with the parent item.
(defalias 'markdown-move-list-item-down #[0 "\300\211\211\301 \211\262\205B `\262\302\3038!\203@ \301 \262\3041: \305@A@@A@\300%\210\211A@A@Z\\b0\202B \210\211b\202B \211b\207" [nil markdown-cur-list-item-bounds markdown-next-list-item 3 (error) transpose-regions] 9 (#$ . 209808) nil])
#@185 Indent (or demote) the current list item.
Optionally, BOUNDS of the current list item may be provided if available.
In nested lists, demote child items as well.

(fn &optional BOUNDS)
(defalias 'markdown-demote-list-item #[256 "\211\204\f \301 \211\262\205K \212\302 @\303\223\302 A@\303\223\304 \210\302 `\303\223\305 \210\302 `\303\223b\210`W\203D \306 \204> \307\310\"c\210\303y\210\202- \311\"\266\204)\207" [markdown-list-indent-width markdown-cur-list-item-bounds make-marker nil markdown-beginning-of-list markdown-end-of-list markdown-cur-line-blank-p make-string 32 markdown-syntax-propertize-list-items] 8 (#$ . 210227) nil])
#@188 Unindent (or promote) the current list item.
Optionally, BOUNDS of the current list item may be provided if available.
In nested lists, demote child items as well.

(fn &optional BOUNDS)
(defalias 'markdown-promote-list-item #[256 "\211\204\f \301 \211\262\205x \212\302 \303\304\305\306\307!\310\"\311$\216\312 @\313\223\312 A@\313\223\314 \210\312 `\313\223\315 \210\312 `\313\223\313\211b\210\316\317\320\"!\205r \304\225\304\224Z\262\317\320\"\262`W\203n \321\322#\203n \323\324\313\211#\210\313y\210\202S \325\"\266\206)\262)\207" [markdown-list-indent-width markdown-cur-list-item-bounds match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 make-marker nil markdown-beginning-of-list markdown-end-of-list looking-at format "^[ ]\\{1,%d\\}" re-search-forward t replace-match "" markdown-syntax-propertize-list-items] 12 (#$ . 210878) nil])
#@156 Update the numbering for level PFX (as a string of spaces).

Assume that the previously found match was for a numbered item in
a list.

(fn &optional PFX)
(defalias 'markdown-cleanup-list-numbers-level #[256 "\211\300\301\211\302\203\222 m\204\222 \301\262\303\304!\203S \305\306!\262\230\2039 \212\307\310T\211\262!\311Q!\210)\302\262\202\202 \231\203J \312!\262\302\262\202\202 \302\262\302\262\202\202 \303\313!\203 \305\306!\262\230\203o \211\203\202 \300\262\202\202 \231\203\202 \302\262\302\262\202\202 \301\262\203 \314 \210\302y\300U\262\202 \207" [0 t nil looking-at "^\\([ -]*\\)[0-9]+\\. " match-string-no-properties 1 replace-match number-to-string ". " markdown-cleanup-list-numbers-level "^\\([ -]*\\)[^ 	\n].*$" beginning-of-line] 11 (#$ . 211786)])
#@40 Update the numbering of ordered lists.
(defalias 'markdown-cleanup-list-numbers #[0 "\212eb\210\300\301!)\207" [markdown-cleanup-list-numbers-level ""] 2 (#$ . 212594) nil])
#@409 `beginning-of-defun-function' for Markdown.
This is used to find the beginning of the defun and should behave
like ‘beginning-of-defun’, returning non-nil if it found the
beginning of a defun.  It moves the point backward, right before a
heading which defines a defun.  When ARG is non-nil, repeat that
many times.  When ARG is negative, move forward to the ARG-th
following section.

(fn &optional ARG)
(defalias 'markdown-beginning-of-defun #[256 "\211\204 \302\262\211\303W\203 \304\210\305!\203& `\303\224U\204& \306 \204& \303\225b\210\304o\204W \303V\203W \304\262\211\204P o\204P \307	\304\310#\203P \311\303\224!\210\303\224\262\2024 S\262\202' m\204\207 \303W\203\207 \304\262\211\204\200 m\204\200 \312	\304\310#\203\200 \311\303\224!\210\303\224\262\202d T\262\202W \211\205\217 \313 \210\314\207" [markdown-regex-header-setext markdown-regex-header 1 0 nil thing-at-point-looking-at markdown-code-block-at-point-p re-search-backward move markdown-code-block-at-pos re-search-forward beginning-of-line t] 6 (#$ . 212775)])
#@301 `end-of-defun-function’ for Markdown.
This is used to find the end of the defun at point.
It is called with no argument, right after calling ‘beginning-of-defun-raw’,
so it can assume that point is at the beginning of the defun body.
It should move point to the first position after the defun.
(defalias 'markdown-end-of-defun #[0 "m\204 \301u\210\302\211\204& m\204& \303\302\304#\203& \305\306\224!\204 \306\224\262\202 \211\2050 \211b\210\307\310!\207" [markdown-regex-header 1 nil re-search-forward move markdown-code-block-at-pos 0 skip-syntax-backward "-"] 5 (#$ . 213835)])
(make-obsolete 'markdown-beginning-of-block 'markdown-beginning-of-text-block "v2.2")
#@218 Move backward to previous beginning of a plain text block.
This function simply looks for blank lines without considering
the surrounding context in light of Markdown syntax.  For that, see
`markdown-backward-block'.
(defalias 'markdown-beginning-of-text-block #[0 "`\301\302\303#\203 \304\225b\210\202 eb\210\211`U\2051 o?\2051 \305y\210\301\302\303#\203/ \304\225b\2021 eb\207" [markdown-regex-block-separator re-search-backward nil t 0 -1] 5 (#$ . 214520) nil])
(make-obsolete 'markdown-end-of-block 'markdown-end-of-text-block "v2.2")
#@212 Move forward to next beginning of a plain text block.
This function simply looks for blank lines without considering
the surrounding context in light of Markdown syntax.  For that, see
`markdown-forward-block'.
(defalias 'markdown-end-of-text-block #[0 "\301 \210\302\303w\210`eU\203 \303u\210\304\303\305#\203 \306\225b\210\202\" db\210\302\303x\210\303y\207" [markdown-regex-block-separator beginning-of-line " 	\n" nil re-search-forward t 0] 4 (#$ . 215070) nil])
#@169 Move the point to the start of the current paragraph.
With argument ARG, do it ARG times; a negative argument ARG = -N
means move forward N blocks.

(fn &optional ARG)
(defalias 'markdown-backward-paragraph #[256 "\211\204 \301\262\211\302W\203 \303[!\207\211\302\211W\205\272 \211\304\305x\210\306 \210\307\310 \311 \312#\203/ \313y\210m\204H \314!\203H \315\316!G\302U\203H \313y\210\202/ \305\211\314!\203o o\204i \314!\203i \315\316!G\302V\203i \313y\210\202P \305y\210\202\261 \317 \211\262\203~ @b\210\202\261 o\204\252 \211\204\252 \320 \204\252 \314!\204\252 \307\310 \311 \321#\204\252 \307\310 \311 \322#\262\313y\210\202~ o\204\261 \301y\210\266\211T\262\202 \207" [markdown-regex-blockquote 1 0 markdown-forward-paragraph " 	\n" nil beginning-of-line markdown-range-properties-exist point-at-bol point-at-eol (markdown-gfm-block-end markdown-tilde-fence-end) -1 looking-at match-string 3 markdown-cur-list-item-bounds markdown-cur-line-blank-p (markdown-gfm-block-end markdown-tilde-fence-end) (markdown-gfm-block-begin markdown-tilde-fence-begin)] 10 (#$ . 215547) "^p"])
#@161 Move forward to the next end of a paragraph.
With argument ARG, do it ARG times; a negative argument ARG = -N
means move backward N blocks.

(fn &optional ARG)
(defalias 'markdown-forward-paragraph #[256 "\211\204 \301\262\211\302W\203 \303[!\207\211\302\211W\205\255 \211\304 \203' \305\306!\210\307 \210\310\211\311!\203a m\204H \311!\203H \312\313!G\302U\203H \310y\210\202/ m\204\244 \311!\203\244 \312\313!G\302V\203\244 \310y\210\202H \314 \203u \315 \211\262\203u @b\210\202\244 \310y\210m\204\244 \211\204\244 \304 \204\244 \311!\204\244 \316\317 \320 \321#\204\244 \316\317 \320 \322#\262\310y\210\202x \266\211T\262\202 \207" [markdown-regex-blockquote 1 0 markdown-backward-paragraph markdown-cur-line-blank-p skip-syntax-forward "-" beginning-of-line nil looking-at match-string 3 markdown-cur-list-item-bounds markdown-next-list-item-bounds markdown-range-properties-exist point-at-bol point-at-eol (markdown-gfm-block-begin markdown-tilde-fence-begin) (markdown-gfm-block-end markdown-tilde-fence-end)] 10 (#$ . 216654) "^p"])
#@306 Move the point to the start of the current Markdown block.
Moves across complete code blocks, list items, and blockquotes,
but otherwise stops at blank lines, headers, and horizontal
rules.  With argument ARG, do it ARG times; a negative argument
ARG = -N means move forward N blocks.

(fn &optional ARG)
(defalias 'markdown-backward-block #[256 "\211\204 \302\262\211\303W\203 \304[!\207\211\303\211W\205\234 \211\305\306!\210\307 \210\310`!\203H \310\311\303!!\203H \312y\210\313 \203B o\204B \312y\210\2023 \314y\210\202\224 \315 \203T \303\224b\210\202\224 \316!\204\224 \316	!\203y \312y\210\316	!\203s o\204s \312y\210\202c \314y\210\202\224 \317 \203\204 \320 \210\202\224 \321 \204\214 \314y\210\322 \204\224 \323 \210\210\211T\262\202 \207" [markdown-regex-hr markdown-regex-blockquote 1 0 markdown-forward-block skip-syntax-backward "-" beginning-of-line markdown-code-block-at-pos point-at-bol -1 markdown-code-block-at-point-p nil markdown-heading-at-point looking-at markdown-cur-list-item-bounds markdown-beginning-of-list markdown-next-line-blank-p markdown-prev-line-blank-p markdown-backward-paragraph] 7 (#$ . 217717) "^p"])
#@298 Move forward to the next end of a Markdown block.
Moves across complete code blocks, list items, and blockquotes,
but otherwise stops at blank lines, headers, and horizontal
rules.  With argument ARG, do it ARG times; a negative argument
ARG = -N means move backward N blocks.

(fn &optional ARG)
(defalias 'markdown-forward-block #[256 "\211\204 \303\262\211\304W\203 \305[!\207\211\304\211W\203\231 \211\306 \203' \307\310!\210\202* \311 \210\312 \203A \313y\210\312 \203\221 m\204\221 \313y\210\2022 \314!\203[ \315\225\206S \316\225\206S \317\225b\210\313y\210\202\221 \314	!\203g \313y\210\202\221 \314\n!\203\200 \313y\210\314\n!\203\221 m\204\221 \313y\210\202p \320 \203\216 \321 \210\313y\210\202\221 \322 \210\210\211T\262\202 \266\323\310!\210m?\205\246 \303u\207" [markdown-regex-header markdown-regex-hr markdown-regex-blockquote 1 0 markdown-backward-block markdown-cur-line-blank-p skip-syntax-forward "-" beginning-of-line markdown-code-block-at-point-p nil looking-at 4 2 3 markdown-cur-list-item-bounds markdown-end-of-list markdown-forward-paragraph skip-syntax-backward] 6 (#$ . 218875) "^p"])
#@129 Move backward to boundary of the current toplevel section.
With COUNT, repeat, or go forward if negative.

(fn &optional COUNT)
(defalias 'markdown-backward-page #[256 "\211\204 \301\262\211\302W\203 \303[!\207\304\305!\210\306\307\211\"\204  eb\210\310!\205I \311 \211\301V\2032 \312!\210\301V\205G \3131D \314S!0\202G \210eb\262\207" [markdown-regex-header 1 0 markdown-forward-page skip-syntax-backward "-" markdown-back-to-heading-over-code-block t looking-at markdown-outline-level markdown-up-heading (error) markdown-backward-same-level] 4 (#$ . 220005) "p"])
#@129 Move forward to boundary of the current toplevel section.
With COUNT, repeat, or go backward if negative.

(fn &optional COUNT)
(defalias 'markdown-forward-page #[256 "\211\204 \300\262\211\301W\203 \302[!\207\303\304\211\"\2034 \305 \211\300V\203% \306!\210\30710 \310!0\2023 \210db\207\311\300!\207" [1 0 markdown-backward-page markdown-back-to-heading-over-code-block t markdown-outline-level markdown-up-heading (error) markdown-forward-same-level markdown-next-visible-heading] 4 (#$ . 220588) "p"])
#@162 Jump to next inline, reference, or wiki link.
If successful, return point.  Otherwise, return nil.
See `markdown-wiki-link-p' and `markdown-previous-wiki-link'.
(defalias 'markdown-next-link #[0 "`\305 \204 \306 \203 \307\225Tb\210\310\311	\205 \312\nP\312\312\f\313\260\314\315#\2032 \316 \2032 `dW\204 `=\204M \305 \204B \306 \203M \317\224\206I \307\224b\202Q \211b\210\314\207" [markdown-regex-link-inline markdown-enable-wiki-links markdown-regex-wiki-link markdown-regex-link-reference markdown-regex-angle-uri markdown-link-p markdown-wiki-link-p 0 re-search-forward "\\(?:" "\\|" "\\)" nil t markdown-code-block-at-point-p 1] 10 (#$ . 221106) nil])
#@140 Jump to previous wiki link.
If successful, return point.  Otherwise, return nil.
See `markdown-wiki-link-p' and `markdown-next-wiki-link'.
(defalias 'markdown-previous-link #[0 "`\305\306	\205 \307\nP\307\307\f\310\260\311\312#\203# \313 \203# `eV\204 `=\204> \314 \2043 \315 \203> \316\224\206: \317\224b\202B \211b\210\311\207" [markdown-regex-link-inline markdown-enable-wiki-links markdown-regex-wiki-link markdown-regex-link-reference markdown-regex-angle-uri re-search-backward "\\(?:" "\\|" "\\)" nil t markdown-code-block-at-point-p markdown-link-p markdown-wiki-link-p 1 0] 10 (#$ . 221778) nil])
#@542 Wrapper for `outline-mode' functions to skip false positives.
MOVE-FN is a function and ARG is its argument. For example,
headings inside preformatted code blocks may match
`outline-regexp' but should not be considered as headings.
When ADJUST is non-nil, adjust the point for interactive calls
to avoid leaving the point at invisible markup.  This adjustment
generally should only be done for interactive calls, since other
functions may expect the point to be at the beginning of the
regular expression.

(fn MOVE-FN &optional ARG ADJUST)
(defalias 'markdown-move-heading-common #[769 "\302`\203 !\210\202  \210`U\204/ \303 \203/ `\262\203) !\210\202  \210\202 \304 \305\306\307\310\311!\312\"\313$\216\203` \314!\203` 	\203W \315\224\206R \316\224b\210\202` \315\224\206^ \317\224b\210)\210`U?\205j `\207" [markdown-regex-header markdown-hide-markup -1 markdown-code-block-at-point-p match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 thing-at-point-looking-at 1 5 4] 12 (#$ . 222397)])
#@169 Move to the next visible heading line of any level.
With argument, repeats or can move backward if negative. ARG is
passed to `outline-next-visible-heading'.

(fn ARG)
(defalias 'markdown-next-visible-heading #[257 "\300\301\302#\207" [markdown-move-heading-common outline-next-visible-heading adjust] 5 (#$ . 223454) "p"])
#@177 Move to the previous visible heading line of any level.
With argument, repeats or can move backward if negative. ARG is
passed to `outline-previous-visible-heading'.

(fn ARG)
(defalias 'markdown-previous-visible-heading #[257 "\300\301\302#\207" [markdown-move-heading-common outline-previous-visible-heading adjust] 5 (#$ . 223786) "p"])
#@45 Move to the next heading line of any level.
(defalias 'markdown-next-heading #[0 "\300\301!\207" [markdown-move-heading-common outline-next-heading] 2 (#$ . 224133)])
#@49 Move to the previous heading line of any level.
(defalias 'markdown-previous-heading #[0 "\300\301!\207" [markdown-move-heading-common outline-previous-heading] 2 (#$ . 224306)])
#@392 Move back to the beginning of the previous heading.
Returns t if the point is at a heading, the location if a heading
was found, and nil otherwise.
Only visible heading lines are considered, unless INVISIBLE-OK is
non-nil.  Throw an error if there is no previous heading unless
NO-ERROR is non-nil.
Leaves match data intact for `markdown-regex-header'.

(fn &optional INVISIBLE-OK NO-ERROR)
(defalias 'markdown-back-to-heading-over-code-block #[512 "\302 \210\303 \203 \304 ?\206V \305\212\211\204; \306\305\307#\203; \2040 \305\310	\206( `\311\")\312=\204 \304 \204 `\262\202 \211\204J \204M \313\314!\210\202M `\262)\211\205T \211b\262\207" [markdown-regex-header pos beginning-of-line markdown-heading-at-point markdown-code-block-at-point-p nil re-search-backward t get-char-property invisible outline user-error "Before first heading"] 7 (#$ . 224492)])
#@132 Move forward to the ARG'th heading at same level as this one.
Stop at the first and last headings of a superior heading.

(fn ARG)
(defalias 'markdown-forward-same-level #[257 "\300 \210\301\302\303#\207" [markdown-back-to-heading-over-code-block markdown-move-heading-common outline-forward-same-level adjust] 5 (#$ . 225369) "p"])
#@133 Move backward to the ARG'th heading at same level as this one.
Stop at the first and last headings of a superior heading.

(fn ARG)
(defalias 'markdown-backward-same-level #[257 "\300 \210\211\301V\205& \212\302\303\304\305#)\211\203 \211b\210S\262\202\" \306\307!\210\210\202 \207" [markdown-back-to-heading-over-code-block 0 markdown-move-heading-common outline-get-last-sibling nil adjust user-error "No previous same-level heading"] 5 (#$ . 225710) "p"])
#@122 Move to the visible heading line of which the present line is a subheading.
With argument, move up ARG levels.

(fn ARG)
(defalias 'markdown-up-heading #[257 "\301\302!\203 \303=\204 \304 \210\305\306\307#\207" [last-command called-interactively-p any markdown-up-heading push-mark markdown-move-heading-common outline-up-heading adjust] 5 (#$ . 226180) "p"])
#@175 Move to previous heading line, or beg of this line if it's a heading.
Only visible heading lines are considered, unless INVISIBLE-OK is non-nil.

(fn &optional INVISIBLE-OK)
(defalias 'markdown-back-to-heading #[256 "\300\301\"\207" [markdown-move-heading-common outline-back-to-heading] 4 (#$ . 226551)])
(defalias 'markdown-end-of-heading 'outline-end-of-heading)
#@47 Return non-nil if point is on a heading line.
(defalias 'markdown-on-heading-p #[0 "\300\301 \302\"\207" [get-text-property point-at-bol markdown-heading] 3 (#$ . 226924)])
#@180 Move to the end of the current subtree.
Only visible heading lines are considered, unless INVISIBLE-OK is
non-nil.
Derived from `org-end-of-subtree'.

(fn &optional INVISIBLE-OK)
(defalias 'markdown-end-of-subtree #[256 "\300!\210\301\302 m\204 \204 \302 V\203 \303\262\304 \210\202 h\305>\2031 \306u\210h\307>\2031 \306u\210\266`\207" [markdown-back-to-heading t markdown-outline-level nil markdown-next-heading (10 13) -1 (10 13)] 5 (#$ . 227104)])
#@293 Hide any false positive headings that should not be shown.
For example, headings inside preformatted code blocks may match
`outline-regexp' but should not be shown as headings when cycling.
Also, the ending --- line in metadata blocks appears to be a
setext header, but should not be folded.
(defalias 'markdown-outline-fix-visibility #[0 "\212eb\210\300\301!\203' \302y\210\300\303!\211\203& \211A@b\210\300\304!\305eA@T\302#\266\210\306 \2040 \307\310!\210`dW\205K \311 \203D \305\312 S\313 \314#\210\307\310!\210\2020 )\207" [markdown-text-property-at-point markdown-yaml-metadata-begin nil markdown-yaml-metadata-section markdown-yaml-metadata-end outline-flag-region outline-on-heading-p outline-next-visible-heading 1 markdown-code-block-at-point-p point-at-bol point-at-eol t] 6 (#$ . 227571)])
(defvar markdown-cycle-global-status 1)
(defvar markdown-cycle-subtree-status nil)
(defalias 'markdown-next-preface #[0 "\302\211\204 \303\304\305Q\302\306#\203 \307 \204 \310\224b\210\311\262\202 \210n\2053 	\204, m\2053 o?\2053 \312u\207" [outline-regexp outline-blank-line nil re-search-forward "\n\\(?:" "\\)" move markdown-code-block-at-point-p 0 t -1] 5])
(defalias 'markdown-show-entry #[0 "\212\300\301!\210\302`S\303 \210d`Z\304U\203 d\202 `\305#)\207" [outline-back-to-heading t outline-flag-region markdown-next-preface 1 nil] 4])
#@301 Visibility cycling for Markdown mode.
If ARG is t, perform global visibility cycling.  If the point is
at an atx-style header, cycle visibility of the corresponding
subtree.  Otherwise, indent the current line or insert a tab,
as appropriate, by calling `indent-for-tab-command'.

(fn &optional ARG)
(defalias 'markdown-cycle #[256 "\211\305=\203B 	=\203 \n\306=\203 \307\310!\210\311\312!\210\313\314 \207	=\2036 \n\313=\2036 \315 \210\311\316!\210\310\211\207\317 \210\311\320!\210\306\314 \207\212\321\310!\210\322 )\203\330 \323 \210\324\325\211\211\212\323 \210\212\321\306!\210m\204r \326`S\327\"\203r \321\306!\210\202_ `\262)\330 \210`\262\331\305!\210\332\325w\210\321\310!\210`S\262)\211U\203\235 \311\333!\210\325\211\202\326 Y\203\263 \334 \210\335 \210\311\336!\210\337\211\202\326 	=\203\314 \f\337=\203\314 \340 \210\311\341!\210\342\211\202\326 \343 \210\311\344!\210\345\211)\207\346 \203\341 \347\350!\207\351 \207" [last-command this-command markdown-cycle-global-status goal-column markdown-cycle-subtree-status t 2 markdown-hide-sublevels 1 message "CONTENTS" 3 markdown-outline-fix-visibility markdown-show-all "SHOW ALL" markdown-hide-body "OVERVIEW" beginning-of-line markdown-on-heading-p markdown-back-to-heading 0 nil get-char-property invisible markdown-end-of-heading markdown-end-of-subtree " 	\n" "EMPTY ENTRY" markdown-show-entry markdown-show-children "CHILDREN" children markdown-show-subtree "SUBTREE" subtree markdown-hide-subtree "FOLDED" folded markdown-table-at-point-p call-interactively markdown-table-forward-cell indent-for-tab-command] 8 (#$ . 228932) "P"])
#@172 Handle S-TAB keybinding based on context.
When in a table, move backward one cell.
Otherwise, cycle global heading visibility by calling
`markdown-cycle' with argument t.
(defalias 'markdown-shifttab #[0 "\300 \203	 \301\302!\207\303\304!\207" [markdown-table-at-point-p call-interactively markdown-table-backward-cell markdown-cycle t] 2 (#$ . 230561) nil])
#@65 Return the depth to which a statement is nested in the outline.
(defalias 'markdown-outline-level #[0 "\300\224\203 \301\300\224!\203 \302\207\303\225\203 \304\207\305\225\203 \303\207\306\225\205' \307\310\306!!G\207" [0 markdown-code-block-at-pos 7 2 1 3 4 markdown-trim-whitespace match-string-no-properties] 3 (#$ . 230926)])
#@253 Promote the current subtree of ATX headings.
Note that Markdown does not support heading levels higher than
six and therefore level-six headings will not be promoted
further. If ARG is non-nil promote the heading, otherwise
demote.

(fn &optional ARG)
(defalias 'markdown-promote-subtree #[256 "\212\301!\204 \302\303\304#\205Y \305 ?\205Y \306\307!G\203! \307\202\" \310\304\311\"\210\3122W \313 \205V \314!\205V \314!\203N \315\307!GX\203N \316\312\303\"\210\202, \311\"\210\202, 0\266\203)\207" [markdown-regex-header-atx thing-at-point-looking-at re-search-backward nil t markdown-code-block-at-point-p match-string 1 -1 markdown-cycle-atx end-of-subtree markdown-next-heading looking-at match-string-no-properties throw] 7 (#$ . 231267) "*P"])
#@45 Demote the current subtree of ATX headings.
(defalias 'markdown-demote-subtree #[0 "\300\301!\207" [markdown-promote-subtree t] 2 (#$ . 232033) nil])
#@46 Move the current subtree of ATX headings up.
(defalias 'markdown-move-subtree-up #[0 "\300\301!\207" [outline-move-subtree-up 1] 2 (#$ . 232189) nil])
#@48 Move the current subtree of ATX headings down.
(defalias 'markdown-move-subtree-down #[0 "\300\301!\207" [outline-move-subtree-down 1] 2 (#$ . 232346) nil])
#@66 Move to next list item, when in a list, or next visible heading.
(defalias 'markdown-outline-next #[0 "\300 \211\203\f \211@b\202 \301\302!\207" [markdown-next-list-item-bounds markdown-next-visible-heading 1] 3 (#$ . 232509) nil])
#@74 Move to previous list item, when in a list, or previous visible heading.
(defalias 'markdown-outline-previous #[0 "\300 \211\203\f \211@b\202 \301\302!\207" [markdown-prev-list-item-bounds markdown-previous-visible-heading 1] 3 (#$ . 232748) nil])
#@50 Move to next list item or heading of same level.
(defalias 'markdown-outline-next-same-level #[0 "\300 \211\203 \301\3028!\202 \303\304!\207" [markdown-cur-list-item-bounds markdown-next-list-item 3 markdown-forward-same-level 1] 4 (#$ . 233003) nil])
#@54 Move to previous list item or heading of same level.
(defalias 'markdown-outline-previous-same-level #[0 "\300 \211\203 \301\3028!\202 \303\304!\207" [markdown-cur-list-item-bounds markdown-prev-list-item 3 markdown-backward-same-level 1] 4 (#$ . 233264) nil])
#@62 Move to previous list item, when in a list, or next heading.
(defalias 'markdown-outline-up #[0 "\300 ?\205	 \301\302!\207" [markdown-up-list markdown-up-heading 1] 2 (#$ . 233534) nil])
#@268 Put mark at end of this block, point at beginning.
The block marked is the one that contains point or follows point.

Interactively, if this command is repeated or (in Transient Mark
mode) if the mark is active, it marks the next block after the
ones already marked.
(defalias 'markdown-mark-paragraph #[0 "	=\203\f \306\307!\204 \n\203! \203! \310\212\306 b\210\311 \210`)!\207\312\311\313 *\207" [last-command this-command transient-mark-mode mark-active end-of-defun-function beginning-of-defun-function mark t set-mark markdown-forward-paragraph markdown-backward-paragraph mark-defun] 2 (#$ . 233728) nil])
#@268 Put mark at end of this block, point at beginning.
The block marked is the one that contains point or follows point.

Interactively, if this command is repeated or (in Transient Mark
mode) if the mark is active, it marks the next block after the
ones already marked.
(defalias 'markdown-mark-block #[0 "	=\203\f \306\307!\204 \n\203! \203! \310\212\306 b\210\311 \210`)!\207\312\311\313 *\207" [last-command this-command transient-mark-mode mark-active end-of-defun-function beginning-of-defun-function mark t set-mark markdown-forward-block markdown-backward-block mark-defun] 2 (#$ . 234352) nil])
#@111 Make text outside current block invisible.
The current block is the one that contains point or follows point.
(defalias 'markdown-narrow-to-block #[0 "\302\303\304 *\207" [end-of-defun-function beginning-of-defun-function markdown-backward-block markdown-forward-block narrow-to-defun] 2 (#$ . 234964) nil])
#@279 Put mark at end of this plain text block, point at beginning.
The block marked is the one that contains point or follows point.

Interactively, if this command is repeated or (in Transient Mark
mode) if the mark is active, it marks the next block after the
ones already marked.
(defalias 'markdown-mark-text-block #[0 "	=\203\f \306\307!\204 \n\203! \203! \310\212\306 b\210\311 \210`)!\207\312\311\313 *\207" [last-command this-command transient-mark-mode mark-active end-of-defun-function beginning-of-defun-function mark t set-mark markdown-end-of-text-block markdown-beginning-of-text-block mark-defun] 2 (#$ . 235281) nil])
#@291 Put mark at end of this top level section, point at beginning.
The top level section marked is the one that contains point or
follows point.

Interactively, if this command is repeated or (in Transient Mark
mode) if the mark is active, it marks the next page after the
ones already marked.
(defalias 'markdown-mark-page #[0 "	=\203\f \306\307!\204 \n\203! \203! \310\212\306 b\210\311 \210`)!\207\312\311\313 *\207" [last-command this-command transient-mark-mode mark-active end-of-defun-function beginning-of-defun-function mark t set-mark markdown-forward-page markdown-backward-page mark-defun] 2 (#$ . 235922) nil])
#@125 Make text outside current top level section invisible.
The current section is the one that contains point or follows point.
(defalias 'markdown-narrow-to-page #[0 "\302\303\304 *\207" [end-of-defun-function beginning-of-defun-function markdown-backward-page markdown-forward-page narrow-to-defun] 2 (#$ . 236554) nil])
#@101 Mark the current subtree.
This puts point at the start of the current subtree, and mark at the end.
(defalias 'markdown-mark-subtree #[0 "\300\301 \203\f \302 \210\202 \303\304!\210`\262\305 \210\306`\300\307#\210\211b\207" [nil markdown-heading-at-point beginning-of-line markdown-previous-visible-heading 1 markdown-end-of-subtree push-mark t] 5 (#$ . 236882) nil])
#@39 Narrow buffer to the current subtree.
(defalias 'markdown-narrow-to-subtree #[0 "\212\300 \301\302\303\304\305!\306\"\307$\216\310\311!\210`\312 \210\313 \203# m\204# \314u\210`})\262)\207" [match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 markdown-back-to-heading-over-code-block t markdown-end-of-subtree markdown-heading-at-point -1] 7 (#$ . 237258) nil])
#@213 Move thing at point up.
When in a list item, call `markdown-move-list-item-up'.
When in a table, call `markdown-table-move-row-up'.
Otherwise, move the current heading subtree up with
`markdown-move-subtree-up'.
(defalias 'markdown-move-up #[0 "\300 \203	 \301\302!\207\303 \203 \301\304!\207\301\305!\207" [markdown-list-item-at-point-p call-interactively markdown-move-list-item-up markdown-table-at-point-p markdown-table-move-row-up markdown-move-subtree-up] 2 (#$ . 237670) nil])
#@167 Move thing at point down.
When in a list item, call `markdown-move-list-item-down'.
Otherwise, move the current heading subtree up with
`markdown-move-subtree-down'.
(defalias 'markdown-move-down #[0 "\300 \203	 \301\302!\207\303 \203 \301\304!\207\301\305!\207" [markdown-list-item-at-point-p call-interactively markdown-move-list-item-down markdown-table-at-point-p markdown-table-move-row-down markdown-move-subtree-down] 2 (#$ . 238163) nil])
#@187 Promote or move element at point to the left.
Depending on the context, this function will promote a heading or
list item at the point, move a table column to the left, or cycle
markup.
(defalias 'markdown-promote #[0 "\305\306!\203\f \307 \202V \306	!\203 \310\311!\202V \306\n!\203$ \312\311!\202V \313 \211\262\2032 \314!\202V \315 \203= \316\317!\202V \306!\203H \320 \202V \306\f!\203S \321 \202V \322\323!\207" [markdown-regex-header-atx markdown-regex-header-setext markdown-regex-hr markdown-regex-bold markdown-regex-italic nil thing-at-point-looking-at markdown-promote-subtree markdown-cycle-setext -1 markdown-cycle-hr markdown-cur-list-item-bounds markdown-promote-list-item markdown-table-at-point-p call-interactively markdown-table-move-column-left markdown-cycle-bold markdown-cycle-italic user-error "Nothing to promote at point"] 3 (#$ . 238618) nil])
#@197 Demote or move element at point to the right.
Depending on the context, this function will demote a heading or
list item at the point, move a table column to the right, or cycle
or remove markup.
(defalias 'markdown-demote #[0 "\305\306!\203\f \307 \202V \306	!\203 \310\311!\202V \306\n!\203$ \312\311!\202V \313 \211\262\2032 \314!\202V \315 \203= \316\317!\202V \306!\203H \320 \202V \306\f!\203S \321 \202V \322\323!\207" [markdown-regex-header-atx markdown-regex-header-setext markdown-regex-hr markdown-regex-bold markdown-regex-italic nil thing-at-point-looking-at markdown-demote-subtree markdown-cycle-setext 1 markdown-cycle-hr markdown-cur-list-item-bounds markdown-demote-list-item markdown-table-at-point-p call-interactively markdown-table-move-column-right markdown-cycle-bold markdown-cycle-italic user-error "Nothing to demote at point"] 3 (#$ . 239501) nil])
#@217 Run `markdown-command' on buffer, sending output to OUTPUT-BUFFER-NAME.
The output buffer name defaults to `markdown-output-buffer-name'.
Return the name of the output buffer used.

(fn &optional OUTPUT-BUFFER-NAME)
(defalias 'markdown #[256 "\306 \307\310\311\312\313!\314\"\315$\216\316\211\317 \203  \320 \262\321 \262\202& e\262d\262\204- \262	;\203O \n\203O \204@ \322\323!\202y \324``	\325\326!Q$\202y \327!r\211q\210\316\330 \210)	;\203p \331\316\316	&\202w 	#\210\310\262\211\310=\204\205 \322\332	#\210\266)\207" [markdown-output-buffer-name markdown-command markdown-command-needs-filename buffer-file-name buffer-read-only shell-file-name current-window-configuration make-byte-code 0 "\301\300!\207" vconcat vector [set-window-configuration] 2 nil markdown-use-region-p region-beginning region-end user-error "Must be visiting a file" shell-command-on-region " " shell-quote-argument get-buffer-create erase-buffer call-process-region "%s failed with exit code %s" shell-command-switch] 14 (#$ . 240390) nil])
#@146 Special function to provide standalone HTML output.
Insert the output in the buffer named OUTPUT-BUFFER-NAME.

(fn &optional OUTPUT-BUFFER-NAME)
(defalias 'markdown-standalone #[256 "\300!\262r\211q\210\211q\210\301 \204 \302!\210eb\210\303 \210)\207" [markdown markdown-output-standalone-p markdown-add-xhtml-header-and-footer html-mode] 3 (#$ . 241447) nil])
#@188 Run `markdown-command' on current buffer and display in other window.
When OUTPUT-BUFFER-NAME is given, insert the output in the buffer with
that name.

(fn &optional OUTPUT-BUFFER-NAME)
(defalias 'markdown-other-window #[256 "\300\301!!\207" [markdown-display-buffer-other-window markdown-standalone] 4 (#$ . 241819) nil])
#@194 Determine whether `markdown-command' output is standalone XHTML.
Standalone XHTML output is identified by an occurrence of
`markdown-xhtml-standalone-regexp' in the first five lines of output.
(defalias 'markdown-output-standalone-p #[0 "\212eb\210\301 \302\303\304\305\306!\307\"\310$\216\311\212eb\210\312y\210`)\313#)\262)\207" [markdown-xhtml-standalone-regexp match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 re-search-forward 4 t] 7 (#$ . 242151)])
#@24 

(fn STYLESHEET-PATH)
(defalias 'markdown-stylesheet-link-string #[257 "\300\301Q\207" ["<link rel=\"stylesheet\" type=\"text/css\" media=\"all\" href=\"" "\"  />"] 4 (#$ . 242659)])
#@82 Wrap XHTML header and footer with given TITLE around current buffer.

(fn TITLE)
(defalias 'markdown-add-xhtml-header-and-footer #[257 "eb\210\306\307\310\311\312\261\210\211c\210\313c\210G\314U\204= \315\316	\203, \317\320!\203, \320	\321\"\206: \317\320!\2039 \320\n\321\"\206: \322#c\210G\314V\203K \323\324\325#c\210\fG\314V\203U \fc\210\326\327\261\210G\314V\203f \325\261\210db\210G\314V\203w \325\261\210\325\330\331\261\207" [markdown-content-type markdown-coding-system buffer-file-coding-system markdown-css-paths markdown-xhtml-header-content markdown-xhtml-body-preamble "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n" "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\"\n" "	\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">\n\n" "<html xmlns=\"http://www.w3.org/1999/xhtml\">\n\n" "<head>\n<title>" "</title>\n" 0 format "<meta http-equiv=\"Content-Type\" content=\"%s;charset=%s\"/>\n" fboundp coding-system-get mime-charset "utf-8" mapconcat markdown-stylesheet-link-string "\n" "\n</head>\n\n" "<body>\n\n" "</body>\n" "</html>\n" markdown-xhtml-body-epilogue] 7 (#$ . 242850)])
#@191 Run `markdown-command' on the current buffer and view output in browser.
When OUTPUT-BUFFER-NAME is given, insert the output in the buffer with
that name.

(fn &optional OUTPUT-BUFFER-NAME)
(defalias 'markdown-preview #[256 "\301\302\206 !!\207" [markdown-output-buffer-name browse-url-of-buffer markdown-standalone] 4 (#$ . 243981) nil])
#@272 Attempt to generate a filename for Markdown output.
The file extension will be EXTENSION if given, or .html by default.
If the current buffer is visiting a file, we construct a new
output filename based on that filename.  Otherwise, return nil.

(fn &optional EXTENSION)
(defalias 'markdown-export-file-name #[256 "\300 \205, \211\204\f \301\262\300 \203 \302\300 !\202 \303 P\211\300 \232\203) \211P\202* \211\262\207" [buffer-file-name ".html" file-name-sans-extension buffer-name] 4 (#$ . 244330)])
#@336 Run Markdown on the current buffer, save to file, and return the filename.
If OUTPUT-FILE is given, use that as the filename.  Otherwise, use the filename
generated by `markdown-export-file-name', which will be constructed using the
current filename, but with the extension removed and replaced with .html.

(fn &optional OUTPUT-FILE)
(defalias 'markdown-export #[256 "\211\204	 \301\302!\262\211\205G p`\303 \304!\305!\306\307!\210\310!\210rq\210\306\311!\210\312 \210\2031 \313 \210)\314!\203D \315 \210c\210\312 \210b\210\266\205\207" [markdown-export-kill-buffer markdown-export-file-name ".html" buffer-string find-file-noselect buffer-name run-hooks markdown-before-export-hook markdown-standalone markdown-after-export-hook save-buffer kill-buffer buffer-modified-p erase-buffer] 8 (#$ . 244845) nil])
#@72 Export to XHTML using `markdown-export' and browse the resulting file.
(defalias 'markdown-export-and-preview #[0 "\300\301 !\207" [browse-url-of-file markdown-export] 2 (#$ . 245670) nil])
#@75 Buffer used to preview markdown output in `markdown-live-preview-export'.
(defvar markdown-live-preview-buffer nil (#$ . 245866))
(make-variable-buffer-local 'markdown-live-preview-buffer)
#@111 Source buffer from which current buffer was generated.
This is the inverse of `markdown-live-preview-buffer'.
(defvar markdown-live-preview-source-buffer nil (#$ . 246062))
(make-variable-buffer-local 'markdown-live-preview-source-buffer)
(defvar markdown-live-preview-currently-exporting nil)
#@70 Standardize the filename exported by `markdown-live-preview-export'.
(defalias 'markdown-live-preview-get-filename #[0 "\300\301!\207" [markdown-export-file-name ".html"] 2 (#$ . 246362)])
#@92 Preview FILE with eww.
To be used with `markdown-live-preview-window-function'.

(fn FILE)
(defalias 'markdown-live-preview-window-eww #[257 "\300\301\302\303#\203 \304!\210\305\306!\207\307\310!\207" [require eww nil t eww-open-file get-buffer "*eww*" error "EWW is not present or not loaded on this version of Emacs"] 5 (#$ . 246557)])
#@16 

(fn BEG END)
(defalias 'markdown-visual-lines-between-points #[514 "\212b\210\300\301 \210`W\203 \302\303\304\"\203 \211T\262\202 \211\262)\207" [0 end-of-visual-line line-move-visual 1 t] 6 (#$ . 246903)])
#@76 Get window point and scroll data for all windows displaying BUF.

(fn BUF)
(defalias 'markdown-live-preview-window-serialize #[257 "\300!\205 r\211q\210\301\302\303!\")\207" [buffer-live-p mapcar #[257 "\300!r\301\302\303\304\305!\306\"\307$\216\310@\311\"\210\312 \313 \211eU\203$ \314\202/ \211dU\203. \315\202/ \211\316\"E\266\204*\207" [internal--before-with-selected-window make-byte-code 0 "\301\300!\207" vconcat vector [internal--after-with-selected-window] 2 select-window norecord window-start window-point min max markdown-visual-lines-between-points] 9 "\n\n(fn WIN)"] get-buffer-window-list] 5 (#$ . 247125)])
#@21 

(fn PT NUM-LINES)
(defalias 'markdown-get-point-back-lines #[514 "\212b\210\300[\301\"\210\302`\"\211V\203 \300Z\301\"\210\210`)\207" [line-move-visual t markdown-visual-lines-between-points] 6 (#$ . 247765)])
#@144 Apply window point and scroll data from WINDOW-POSNS.
WINDOW-POSNS is provided by `markdown-live-preview-window-serialize'.

(fn WINDOW-POSNS)
(defalias 'markdown-live-preview-window-deserialize #[257 "\211\211G\301U\203 \211A\262\242\202 \302\303\304GD\"\211A\262\242@\305!\205n rq\210\306p\"\210\307\267\202A e\310D\202D dD\202D D\211G\311U\203T \211A\262\242\202[ \302\303\304GD\"@\312\313\"\"\210\314\"\266\203)\207" [markdown-live-preview-buffer 3 signal wrong-number-of-arguments nil window-live-p set-window-buffer #s(hash-table size 2 test eql rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (min 53 max 59)) 0 2 set-window-start markdown-get-point-back-lines set-window-point] 13 (#$ . 247991)])
#@177 Export to XHTML using `markdown-export'.
Browse the resulting file within Emacs using
`markdown-live-preview-window-function' Return the buffer
displaying the rendered output.
(defalias 'markdown-live-preview-export #[0 "\305 \211\205e \306p\307!\310	!\311 \312\313\314\315\316!\317\"\320$\216\n!r\211q\210\321\322\323\306\211$\210)rq\210\211)\210)\210rq\210\324\325\"\210\326!\211\203L \327!\210\210\203a \330!\203a \f\331=\203a \332!\210	*\266\203\207" [markdown-live-preview-currently-exporting markdown-live-preview-buffer markdown-live-preview-window-function markdown-live-preview-source-buffer markdown-live-preview-delete-export markdown-live-preview-get-filename t markdown-export markdown-live-preview-window-serialize current-window-configuration make-byte-code 0 "\301\300!\207" vconcat vector [set-window-configuration] 2 add-hook kill-buffer-hook markdown-live-preview-remove-on-kill mapc markdown-live-preview-window-deserialize get-file-buffer kill-buffer file-exists-p delete-on-export delete-file] 11 (#$ . 248737) nil])
(defalias 'markdown-live-preview-remove #[0 "\302!\203\n \303!\210\304	\305=\205# \306 \211\205! \307!\205! \310!\262\207" [markdown-live-preview-buffer markdown-live-preview-delete-export buffer-live-p kill-buffer nil delete-on-destroy markdown-live-preview-get-filename file-exists-p delete-file] 3])
#@59 Find another window to display preview or output content.
(defalias 'markdown-get-other-window #[0 "\301>\203 \302\303!\206\" \304 \207\305>\203 \302\306!\206\" \307 \207\310\311 !\207" [markdown-split-window-direction (vertical below) window-in-direction below split-window-vertically (horizontal right) right split-window-horizontally split-window-sensibly get-buffer-window] 2 (#$ . 250106)])
#@67 Display preview or output buffer BUF in another window.

(fn BUF)
(defalias 'markdown-display-buffer-other-window #[257 "p\300 \301\"\210q\207" [markdown-get-other-window set-window-buffer] 6 (#$ . 250512)])
(defalias 'markdown-live-preview-if-markdown #[0 "\303\304!\205 \205 	?\205 \305\n!\203 \306 \207\307\306 !\207" [markdown-live-preview-mode markdown-live-preview-currently-exporting markdown-live-preview-buffer derived-mode-p markdown-mode buffer-live-p markdown-live-preview-export markdown-display-buffer-other-window] 2])
(defalias 'markdown-live-preview-remove-on-kill #[0 "\303\304!\203 \203 \305 \207	\205 r	q\210\306)\306\211\207" [markdown-live-preview-mode markdown-live-preview-source-buffer markdown-live-preview-buffer derived-mode-p markdown-mode markdown-live-preview-remove nil] 2])
#@26 Switch to output buffer.
(defalias 'markdown-live-preview-switch-to-output #[0 "\203	 \301\302 !\210\300 \207" [markdown-live-preview-mode markdown-display-buffer-other-window markdown-live-preview-export] 2 (#$ . 251339) nil])
#@26 Re export source buffer.
(defalias 'markdown-live-preview-re-export #[0 "\205 rq\210\301 )\207" [markdown-live-preview-source-buffer markdown-live-preview-export] 1 (#$ . 251574) nil])
#@64 Open file for the current buffer with `markdown-open-command'.
(defalias 'markdown-open #[0 "\204 \302\303!\210;\2032 	\204 \302\304!\210\2025 \305 \210\306\307\211\211	%\211\310=\204. \302\311#\210\210\2025  \210\307\207" [markdown-open-command buffer-file-name user-error "Variable `markdown-open-command' must be set" "Must be visiting a file" save-buffer call-process nil 0 "%s failed with exit code %s"] 6 (#$ . 251768) nil])
#@57 Run Markdown on file and store output in the kill ring.
(defalias 'markdown-kill-ring-save #[0 "\301 \302\303\304\305\306!\307\"\310$\216\311 \210rq\210\312ed\"*\207" [markdown-output-buffer-name current-window-configuration make-byte-code 0 "\301\300!\207" vconcat vector [set-window-configuration] 2 markdown kill-ring-save] 7 (#$ . 252213) nil])
#@101 Return non-nil when `point' is at a non-wiki link.
See `markdown-wiki-link-p' for more information.
(defalias 'markdown-link-p #[0 "\305\306 ?\205# \307 ?\205# \310	!\206# \310\n!\206# \310!\206# \310\f!)\207" [case-fold-search markdown-regex-link-inline markdown-regex-link-reference markdown-regex-uri markdown-regex-angle-uri nil markdown-wiki-link-p markdown-code-block-at-point-p thing-at-point-looking-at] 2 (#$ . 252571)])
(make-obsolete 'markdown-link-link 'markdown-link-url "v2.3")
#@231 Return properties of link or image at position POS.
Value is a list of elements describing the link:
 0. beginning position
 1. end position
 2. link text
 3. URL
 4. reference label
 5. title text
 6. bang (nil or "!")

(fn POS)
(defalias 'markdown-link-at-pos #[257 "\212\211b\210\304\211\211\211\211\211\211\305!\204 \305	!\203O \306\307!\262\310\224\262\310\225\262\306\311!\262\312\313\224f\314\"\203: \306\315!\262\202x \306\315!\262\316\225\203x \306\316!\307\317O\262\202x \305\n!\203e \310\224\262\310\225\262\306\320!\262\202x \305!\203x \310\224\262\310\225\262\306\307!\262\257\266\207)\207" [markdown-regex-link-inline markdown-regex-link-reference markdown-regex-angle-uri markdown-regex-uri nil thing-at-point-looking-at match-string-no-properties 1 0 3 char-equal 5 91 6 7 -1 2] 15 (#$ . 253072)])
#@205 Return the URL part of the regular (non-wiki) link at point.
Works with both inline and reference style links, and with images.
If point is not at a link or the link reference is not defined
returns nil.
(defalias 'markdown-link-url #[0 "\300`!\3018\3028\3038\206# \211\205# \304\305\230\203 \202  \227!@\207" [markdown-link-at-pos 2 3 4 markdown-reference-definition ""] 7 (#$ . 253924)])
#@242 Open the current non-wiki link.
If the link is a complete URL, open in browser with `browse-url'.
Otherwise, open with `find-file' after stripping anchor and/or query string.
Translate filenames using `markdown-filename-translate-function'.
(defalias 'markdown-follow-link-at-point #[0 "\302 \203m \303 \304!\305!>\204 \306\307\310D\"\210\211\311H\312\313!\203, \313!@\262\202R \305!>\204; \306\307\310D\"\210\314H\211\262\203R \315\316\"\203R \211\317\211\224O\262\203\\ \320!\202l \211\205l \211G\317V\205l \321	!!\207\322\323!\207" [cl-struct-url-tags markdown-translate-filename-function markdown-link-p markdown-link-url url-generic-parse-url type-of signal wrong-type-argument url 9 fboundp url-path-and-query 6 string-match "\\?" 0 browse-url find-file user-error "Point is not at a Markdown link or URL"] 8 (#$ . 254329) nil])
#@72 Add text properties to next inline link from point to LAST.

(fn LAST)
(defalias 'markdown-fontify-inline-links #[257 "\303\304\"\205\272 \305\224\305\225\306\224\306\225\307\306!\310\224\310\225\307\310!\311\312\313\314\315\316\317\316\257\320\321\322\317\316\323\2038 \324Q\202: \257\320\311\325\313\314\321\322\317\316\257\n\326	!\311\327\313\314\317\316\257\330\211\203o \211@\211\225\203h \331\224\225	#\210A\266\202\202T \210\f\203\207 \331#\210\332\333\334$\210\n\203\224 \331#\210\203\241 \331\n#\210\n\203\267 \n\203\267 \335\206\264 #\210\316\266\215\207" [markdown-mode-mouse-map markdown-url-compose-char markdown-hide-urls markdown-match-generic-links nil 3 6 match-string-no-properties 7 face markdown-markup-face invisible markdown-markup rear-nonsticky t font-lock-multiline keymap mouse-face markdown-highlight-face help-echo "\n" markdown-url-face markdown--first-displayable markdown-link-title-face (1 2 4 5 8) add-text-properties add-face-text-property markdown-link-face append compose-region] 21 (#$ . 255188)])
#@75 Add text properties to next reference link from point to LAST.

(fn LAST)
(defalias 'markdown-fontify-reference-links #[257 "\303\304\"\205~ \305\224\305\225\306\224\306\225\307\310\311\312\313\304\314\304\257\315\307\316\317\320\314\304\321\322\257\n\323	!\307\324\311\312\314\304\257\325\211\203L \211@\211\225\203E \326\224\225#\210A\266\202\2021 \210\203Z \326#\210\203{ \326#\210\n\203{ Z\327V\203{ \330#\210\304\266\210\207" [markdown-mode-mouse-map markdown-url-compose-char markdown-hide-urls markdown-match-generic-links t 3 6 face markdown-markup-face invisible markdown-markup rear-nonsticky font-lock-multiline keymap markdown-link-face mouse-face markdown-highlight-face help-echo #[771 "\300 \301\302\303\304\305!\306\"\307$\216\212b\210\310 \206 \311*\207" [match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 markdown-link-url "Undefined reference"] 10 "\n\n(fn _ _ POS)"] markdown--first-displayable markdown-reference-face (1 2 4 5 8) add-text-properties 2 compose-region] 16 (#$ . 256278)])
#@66 Add text properties to angle URIs from point to LAST.

(fn LAST)
(defalias 'markdown-fontify-angle-uris #[257 "\301!\205? \302\224\302\225\303\304\305\306\307\310\311\310\257\312\303\313\314\315\311\310\257\316\211\2035 \211@\317\224\225#\210A\266\202\202 \210\317#\210\310\266\204\207" [markdown-mode-mouse-map markdown-match-angle-uris 2 face markdown-markup-face invisible markdown-markup rear-nonsticky t font-lock-multiline keymap markdown-plain-url-face mouse-face markdown-highlight-face (1 3) add-text-properties] 12 (#$ . 257368)])
#@66 Add text properties to plain URLs from point to LAST.

(fn LAST)
(defalias 'markdown-fontify-plain-uris #[257 "\301!\205 \302\224\302\225\303\304\305\306\307\310\311\312\311\257\n\313#\210\311\266\203\207" [markdown-mode-mouse-map markdown-match-plain-uris 0 keymap face markdown-plain-url-face mouse-face markdown-highlight-face rear-nonsticky t font-lock-multiline add-text-properties] 13 (#$ . 257928)])
#@151 Toggle the display or hiding of URLs.
With a prefix argument ARG, enable URL hiding if ARG is positive,
and disable it otherwise.

(fn &optional ARG)
(defalias 'markdown-toggle-url-hiding #[256 "\211\301=\203 ?\202 \302!\303V\211\203 \304\305!\210\202  \304\306!\210\307 \207" [markdown-hide-urls toggle prefix-numeric-value 0 message "markdown-mode URL hiding enabled" "markdown-mode URL hiding disabled" markdown-reload-extensions] 4 (#$ . 258348) (byte-code "\206 \301C\207" [current-prefix-arg toggle] 1)])
#@322 Return non-nil if wiki links are enabled and `point' is at a true wiki link.
A true wiki link name matches `markdown-regex-wiki-link' but does
not match the current file name after conversion.  This modifies
the data returned by `match-data'.  Note that the potential wiki
link name must be available via `match-string'.
(defalias 'markdown-wiki-link-p #[0 "\205  \304\305\n!\205 \306 ?\205 ?\206 \303 \307\310 !\230?)\207" [markdown-enable-wiki-links case-fold-search markdown-regex-wiki-link buffer-file-name nil thing-at-point-looking-at markdown-code-block-at-point-p markdown-convert-wiki-link-to-filename markdown-wiki-link-link] 3 (#$ . 258874)])
#@158 Return the link part of the wiki link using current match data.
The location of the link component depends on the value of
`markdown-wiki-link-alias-first'.
(defalias 'markdown-wiki-link-link #[0 "\203 \301\302!\206 \301\303!\207\301\303!\207" [markdown-wiki-link-alias-first match-string-no-properties 5 3] 2 (#$ . 259541)])
#@168 Return the alias or text part of the wiki link using current match data.
The location of the alias component depends on the value of
`markdown-wiki-link-alias-first'.
(defalias 'markdown-wiki-link-alias #[0 "\203 \301\302!\207\301\303!\206 \301\302!\207" [markdown-wiki-link-alias-first match-string-no-properties 3 5] 2 (#$ . 259877)])
#@447 Generate a filename from the wiki link NAME.
Spaces in NAME are replaced with `markdown-link-space-sub-char'.
When in `gfm-mode', follow GitHub's conventions where [[Test Test]]
and [[test test]] both map to Test-test.ext.  Look in the current
directory first, then in subdirectories if
`markdown-wiki-link-search-subdirectories' is non-nil, and then
in parent directories if
`markdown-wiki-link-search-parent-directories' is non-nil.

(fn NAME)
(defalias 'markdown-convert-wiki-link-to-filename #[257 "\305\306#	\307>\203 \211\310\311O\226\311\312O\227P\202 \211\312\211\211\211\211\n\203- \313\n!\262\314\n!\262\2055 \315PP\262\n\203B \316!\203F \202q \203\\ \317\320\321Q\"\211\262\203\\ @\202q \f\203p \322\"\211\262\203p \211P\202q \207" [markdown-link-space-sub-char major-mode buffer-file-name markdown-wiki-link-search-subdirectories markdown-wiki-link-search-parent-directories markdown-replace-regexp-in-string "[[:space:]\n]" (gfm-mode gfm-view-mode) 0 1 nil file-name-directory file-name-extension "." file-exists-p markdown-directory-files-recursively "^" "$" locate-dominating-file] 13 (#$ . 260224)])
#@221 Follow the wiki link NAME.
Convert the name to a file name and call `find-file'.  Ensure that
the new buffer remains in `markdown-mode'.  Open the link in another
window when OTHER is non-nil.

(fn NAME &optional OTHER)
(defalias 'markdown-follow-wiki-link #[513 "\303!\205\n \304!\211\204 \305\306!\210\202$ \203 \307\310!\210\211\311!\210)\n\312=?\205- \312 \207" [buffer-file-name default-directory major-mode markdown-convert-wiki-link-to-filename file-name-directory user-error "Must be visiting a file" other-window 1 find-file markdown-mode] 6 (#$ . 261370)])
#@163 Find Wiki Link at point.
With prefix argument ARG, open the file in other window.
See `markdown-wiki-link-p' and `markdown-follow-wiki-link'.

(fn &optional ARG)
(defalias 'markdown-follow-wiki-link-at-point #[256 "\300 \203 \301\302 \"\207\303\304!\207" [markdown-wiki-link-p markdown-follow-wiki-link markdown-wiki-link-link user-error "Point is not at a Wiki Link"] 4 (#$ . 261952) "P"])
#@90 Highlight the wiki link in the region between FROM and TO using FACE.

(fn FROM TO FACE)
(defalias 'markdown-highlight-wiki-link #[771 "\300\301$\207" [put-text-property font-lock-face] 8 (#$ . 262351)])
#@80 Remove wiki link faces from the region specified by FROM and TO.

(fn FROM TO)
(defalias 'markdown-unfontify-region-wiki-links #[514 "\300 \301\302#\210\301\303#\210\304!\207" [buffer-modified-p remove-text-properties (font-lock-face markdown-link-face) (font-lock-face markdown-missing-link-face) set-buffer-modified-p] 7 (#$ . 262564) "*r"])
#@174 Search region given by FROM and TO for wiki links and fontify them.
If a wiki link is found check to see if the backing file exists
and highlight accordingly.

(fn FROM TO)
(defalias 'markdown-fontify-region-wiki-links #[514 "b\210\301 \302\303\304\305\306!\307\"\310$\216\311\312#\205L \313 \204 \314\224\314\225\315\316 !\31711 \320!0\2025 \210\202A \203A \321\322#\210\202G \321\323#\210\266\202 )\207" [markdown-regex-wiki-link match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 re-search-forward t markdown-code-block-at-point-p 1 markdown-convert-wiki-link-to-filename markdown-wiki-link-link (error) file-exists-p markdown-highlight-wiki-link markdown-link-face markdown-missing-link-face] 10 (#$ . 262920)])
#@164 Extend region given by FROM and TO so that we can fontify all links.
The region is extended to the first newline before and the first
newline after.

(fn FROM TO)
(defalias 'markdown-extend-changed-region #[514 "b\210\300\301\302\303#\210ed`U\204 `\262b\210\304\301\302\303#\210`U\204& `\262D\207" [re-search-backward "\n" nil t re-search-forward] 8 (#$ . 263697)])
#@89 Check region between FROM and TO for wiki links and re-fontify as needed.

(fn FROM TO)
(defalias 'markdown-check-change-for-wiki-link #[514 "\306 \307\211\307\310\211\311\312\313\314\315!\316\"\317$\216\212\320 \311\312\321\314\315!\322\"\323$\216\214\324\"\211@A@b\210\325\326\327$\204E \330\307#\205N \331\"\210\332\"\266\203*\262.\207" [buffer-undo-list inhibit-read-only inhibit-point-motion-hooks deactivate-mark buffer-file-truename markdown-regex-wiki-link buffer-modified-p t nil make-byte-code 0 "\300?\205 \301 \205 \302\303!\207" vconcat vector [buffer-modified-p set-buffer-modified-p nil] 2 match-data "\301\300\302\"\207" [set-match-data evaporate] 3 markdown-extend-changed-region markdown-range-property-any font-lock-face (markdown-link-face markdown-missing-link-face) re-search-forward markdown-unfontify-region-wiki-links markdown-fontify-region-wiki-links] 13 (#$ . 264078) "*r"])
#@151 Check region between FROM and TO for wiki links and re-fontify as needed.
Designed to be used with the `after-change-functions' hook.

(fn FROM TO _)
(defalias 'markdown-check-change-for-wiki-link-after-change #[771 "\300\"\207" [markdown-check-change-for-wiki-link] 6 (#$ . 265011)])
#@41 Refontify all wiki links in the buffer.
(defalias 'markdown-fontify-buffer-wiki-links #[0 "\300ed\"\207" [markdown-check-change-for-wiki-link] 3 (#$ . 265304) nil])
#@151 Toggle support for wiki links.
With a prefix argument ARG, enable wiki link support if ARG is positive,
and disable it otherwise.

(fn &optional ARG)
(defalias 'markdown-toggle-wiki-links #[256 "\211\301=\203 ?\202 \302!\303V\211\203 \304\305!\210\202  \304\306!\210\307 \207" [markdown-enable-wiki-links toggle prefix-numeric-value 0 message "markdown-mode wiki link support enabled" "markdown-mode wiki link support disabled" markdown-reload-extensions] 4 (#$ . 265476) (byte-code "\206 \301C\207" [current-prefix-arg toggle] 1)])
#@125 Add or remove hooks for fontifying wiki links.
These are only enabled when `markdown-wiki-link-fontify-missing' is non-nil.
(defalias 'markdown-setup-wiki-link-hooks #[0 "\203 	\203 \302\303\304\305\211$\210\202 \306\303\304\305#\210\203* 	\203* \302\307\310\305\211$\210\310 \207\306\307\310\305#\210\311ed\"\207" [markdown-enable-wiki-links markdown-wiki-link-fontify-missing add-hook after-change-functions markdown-check-change-for-wiki-link-after-change t remove-hook window-configuration-change-hook markdown-fontify-buffer-wiki-links markdown-unfontify-region-wiki-links] 5 (#$ . 266024)])
#@307 Follow thing at point if possible, such as a reference link or wiki link.
Opens inline and reference links in a browser.  Opens wiki links
to other files in the current window, or the another window if
ARG is non-nil.
See `markdown-follow-link-at-point' and
`markdown-follow-wiki-link-at-point'.

(fn ARG)
(defalias 'markdown-follow-thing-at-point #[257 "\300 \203 \301 \207\302 \203 \303!\207\304\305!\207" [markdown-link-p markdown-follow-link-at-point markdown-wiki-link-p markdown-follow-wiki-link-at-point user-error "Nothing to follow at point"] 3 (#$ . 266633) "P"])
(make-obsolete 'markdown-jump 'markdown-do "v2.3")
#@141 Do something sensible based on context at point.
Jumps between reference links and definitions; between footnote
markers and footnote text.
(defalias 'markdown-do #[0 "\302 \203 \303 \207\304 \203 \305 \207\306!\203 \307 \207\306	!\203% \310\311\312!!\207\313 \203- \314 \207\315 \2036 \316\317!\207\320 \207" [markdown-regex-link-reference markdown-regex-reference-definition markdown-footnote-text-positions markdown-footnote-return markdown-footnote-marker-positions markdown-footnote-goto-text thing-at-point-looking-at markdown-reference-goto-definition markdown-reference-goto-link match-string-no-properties 2 markdown-gfm-task-list-item-at-point markdown-toggle-gfm-checkbox markdown-table-at-point-p call-interactively markdown-table-align markdown-insert-gfm-checkbox] 3 (#$ . 267268) nil])
#@184 Compress whitespace in STR and return result.
Leading and trailing whitespace is removed.  Sequences of multiple
spaces, tabs, and newlines are replaced with single spaces.

(fn STR)
(defalias 'markdown-compress-whitespace-string #[257 "\300\301\302\300\303\304##\207" [markdown-replace-regexp-in-string "\\(^[ 	\n]+\\|[ 	\n]+$\\)" "" "[ 	\n]+" " "] 8 (#$ . 268080)])
#@186 Like `substitute-command-keys' but, but prefers control characters.
First pass STRING to `substitute-command-keys' and then
substitute `C-i` for `TAB` and `C-m` for `RET`.

(fn STRING)
(defalias 'markdown--substitute-command-keys #[257 "\300\301\302\300\303\304\305!\306$\306$\207" [replace-regexp-in-string "\\<TAB\\>" "C-i" "\\<RET\\>" "C-m" substitute-command-keys t] 9 (#$ . 268457)])
#@185 Return (narrowed) buffer line number at position POS.
If POS is nil, use current buffer location.
This is an exact copy of `line-number-at-pos' for use in emacs21.

(fn &optional POS)
(defalias 'markdown-line-number-at-pos #[256 "\211\206 `\300\212eb\210`\262b\210\301y\210\302`\"T)\207" [nil 0 count-lines] 6 (#$ . 268855)])
#@37 Return t if point is within a link.
(defalias 'markdown-inside-link-p #[0 "\305 \306\307\310\311\312!\313\"\314$\216\315\316	\205 \317\nP\317\317\f\320\260!)\207" [markdown-regex-link-inline markdown-enable-wiki-links markdown-regex-wiki-link markdown-regex-link-reference markdown-regex-angle-uri match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 thing-at-point-looking-at "\\(?:" "\\|" "\\)"] 10 (#$ . 269191)])
#@73 Return whether the current line is a (non-footnote) reference defition.
(defalias 'markdown-line-is-reference-definition-p #[0 "\212\302\303!\210\304\305!)\262\205 \306\304\305!)\262?)\207" [markdown-regex-reference-definition inhibit-changing-match-data move-beginning-of-line 1 t looking-at "[ 	]*\\[^"] 3 (#$ . 269659)])
#@63 Return prefix for filling paragraph or nil if not determined.
(defalias 'markdown-adaptive-fill-function #[0 "\304\305!\203 \306\307\310\311\312!#\207\304!\203 \313\312\224\314\225\"\207\304	!\203% \311\312!\207\n\315\304!)\262\2033 \316\207\317\207" [markdown-regex-blockquote markdown-regex-list markdown-regex-footnote-definition inhibit-changing-match-data looking-at "^[ 	]*>[ 	]*\\(\\(?:[0-9]+\\|#\\)\\.\\|[*+:-]\\)[ 	]+" markdown-replace-regexp-in-string "[0-9\\.*+-]" " " match-string-no-properties 0 buffer-substring-no-properties 2 t "    " nil] 5 (#$ . 269997)])
#@394 Fill paragraph at or after point.
This function is like \[fill-paragraph], but it skips Markdown
code blocks.  If the point is in a code block, or just before one,
do not fill.  Otherwise, call `fill-paragraph' as usual. If
JUSTIFY is non-nil, justify text as well.  Since this function
handles filling itself, it always returns t so that
`fill-paragraph' doesn't run.

(fn &optional JUSTIFY)
(defalias 'markdown-fill-paragraph #[256 "\300 \204 \212\301 \210\302\303!\210\300 )\204 \304!\210\305\207" [markdown-code-block-at-point-p back-to-indentation skip-syntax-forward "-" fill-paragraph t] 3 (#$ . 270584) "P"])
(make-obsolete 'markdown-fill-forward-paragraph-function 'markdown-fill-forward-paragraph "v2.3")
#@318 Function used by `fill-paragraph' to move over ARG paragraphs.
This is a `fill-forward-paragraph-function' for `markdown-mode'.
It is called with a single argument specifying the number of
paragraphs to move.  Just like `forward-paragraph', it should
return the number of paragraphs left to move.

(fn &optional ARG)
(defalias 'markdown-fill-forward-paragraph #[256 "\211\204 \303\262\211\304V\2032 m\204{ \211\304V\203{ \305\303!\304U\203{ \306\307\304!!\204 \211S\211\262\204 \202{ `\305!\262m\204U \310 \210m\204U \311\312!)\262\203U \303y\210\2028 \312\n!\203b \304\225b\210\202z \312\313!\203o \304\225b\210\202z \306\307\314!!\203z \211b\210\210\207" [paragraph-separate inhibit-changing-match-data markdown-regex-list 1 0 forward-paragraph markdown-code-block-at-pos point-at-bol move-to-left-margin t looking-at "^|\\s-*" 2] 5 (#$ . 271309)])
#@130 Function added to `electric-quote-inhibit-functions'.
Return non-nil if the quote has been inserted inside a code block
or span.
(defalias 'markdown--inhibit-electric-quote #[0 "`S\300!\206 \301!\207" [markdown-inline-code-at-pos markdown-code-block-at-pos] 3 (#$ . 272178)])
#@77 Check settings, update font-lock keywords and hooks, and re-fontify buffer.
(defalias 'markdown-reload-extensions #[0 "\301\235\205 \302 \210\303 \207" [major-mode (markdown-mode markdown-view-mode gfm-mode gfm-view-mode) font-lock-flush markdown-setup-wiki-link-hooks] 2 (#$ . 272463) nil])
#@192 Run in `hack-local-variables-hook' to update font lock rules.
Checks to see if there is actually a ‘markdown-mode’ file local variable
before regenerating font-lock rules for extensions.
(defalias 'markdown-handle-local-variables #[0 "\302\300!\205! \303\304\"\204 \303\301\"\205! \303\301\"\203 \305	!\210\306 \207" [file-local-variables-alist markdown-enable-math boundp assoc markdown-enable-wiki-links markdown-toggle-math markdown-reload-extensions] 3 (#$ . 272764)])
(make-obsolete 'markdown-enable-math 'markdown-toggle-math "v2.1")
#@66 Font lock keywords to add and remove when toggling math support.
(defconst markdown-mode-font-lock-keywords-math (list '("\\((eq:\\)\\([[:alnum:]:_]+\\)\\()\\)" (1 markdown-markup-face) (2 markdown-reference-face) (3 markdown-markup-face)) '("\\(\\\\eqref{\\)\\([[:alnum:]:_]+\\)\\(}\\)" (1 markdown-markup-face) (2 markdown-reference-face) (3 markdown-markup-face))) (#$ . 273319))
#@238 Toggle support for inline and display LaTeX math expressions.
With a prefix argument ARG, enable math mode if ARG is positive,
and disable it otherwise.  If called from Lisp, enable the mode
if ARG is omitted or nil.

(fn &optional ARG)
(defalias 'markdown-toggle-math #[256 "\211\302=\203 ?\202 \303!\304V\211\203! \305\306	\"\210\307\310!\210\202* \311\306	\"\210\307\312!\210\313 \207" [markdown-enable-math markdown-mode-font-lock-keywords-math toggle prefix-numeric-value 0 font-lock-add-keywords markdown-mode message "markdown-mode math support enabled" font-lock-remove-keywords "markdown-mode math support disabled" markdown-reload-extensions] 5 (#$ . 273709) (byte-code "\206 \301C\207" [current-prefix-arg toggle] 1)])
(define-button-type 'markdown-gfm-checkbox-button 'follow-link t 'face 'markdown-gfm-checkbox-face 'mouse-face 'markdown-highlight-face 'action 'markdown-toggle-gfm-checkbox-button)
#@307 Return non-nil if there is a GFM task list item at the point.
Optionally, the list item BOUNDS may be given if available, as
returned by `markdown-cur-list-item-bounds'.  When a task list item
is found, the return value is the same value returned by
`markdown-cur-list-item-bounds'.

(fn &optional BOUNDS)
(defalias 'markdown-gfm-task-list-item-at-point #[256 "\211\204 \300 \262\3018G\302V\207" [markdown-cur-list-item-bounds 5 0] 3 (#$ . 274635)])
#@79 Add GFM checkbox at point.
Returns t if added.
Returns nil if non-applicable.
(defalias 'markdown-insert-gfm-checkbox #[0 "\301 \211\203> \211\3028\262?\205\231 \211@AAA@\\\303`W\203* \212b\210\211c\210)\2020 b\210\211c\210\304A@\305\\!\210\306\266\202\202\231 \212\307 \210\310 \206\\ \311 \206\\ \312\313\206S `\314\"\262\206\\ \315 )?\205\231 \212\307 \210`)\212\316\317!\210\301 \3058\262)\206x \303P`W\203\213 \212b\210\211c\210)\202\221 b\210\211c\210\304\320 !\210\306\266\202\207" [markdown-unordered-list-item-prefix markdown-cur-list-item-bounds 5 "[ ] " syntax-propertize 4 t back-to-indentation markdown-list-item-at-point-p markdown-heading-at-point nil get-text-property markdown-comment markdown-code-block-at-point-p beginning-of-line 0 point-at-eol] 6 (#$ . 275094) nil])
#@152 Toggle GFM checkbox at point.
Returns the resulting status as a string, either "[x]" or "[ ]".
Returns nil if there is no task list item at the point.
(defalias 'markdown-toggle-gfm-checkbox #[0 "\301 \302\303\304\305\306!\307\"\310$\216\212\311 \211\205I \211@b\210\211AAA@u\210\312\313!\203: \314\203/ \315\2020 \316\317\320#\210\321\303!\202I \312\322!\205I \314\323\317\320#\210\321\303!\262*\207" [markdown-gfm-uppercase-checkbox match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 markdown-cur-list-item-bounds looking-at "\\[ \\]" replace-match "[X]" "[x]" nil t match-string-no-properties "\\[[xX]\\]" "[ ]"] 7 (#$ . 275905) nil])
#@51 Toggle GFM checkbox BUTTON on click.

(fn BUTTON)
(defalias 'markdown-toggle-gfm-checkbox-button #[257 "\300 \301\302\303\304\305!\306\"\307$\216\212\310!b\210\311 *\207" [match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 button-start markdown-toggle-gfm-checkbox] 8 (#$ . 276594)])
#@78 Make GFM checkboxes buttons in region between START and END.

(fn START END)
(defalias 'markdown-make-gfm-checkboxes-buttons #[514 "\212b\210\302\212\303	\302#\205 \304\305\224\305\225\306\307$\210\202 +\207" [case-fold-search markdown-regex-gfm-checkbox t re-search-forward make-button 1 :type markdown-gfm-checkbox-button] 7 (#$ . 276928)])
#@131 Add to `after-change-functions' to setup GFM checkboxes as buttons.
BEG and END are the limits of scanned region.

(fn BEG END _)
(defalias 'markdown-gfm-checkbox-after-change-function #[771 "\212\300 \301\302\303\304\305!\306\"\307$\216\310b\210\311 \210`b\210\312y\210`\")\262)\207" [match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 markdown-make-gfm-checkboxes-buttons beginning-of-line 1] 10 (#$ . 277283)])
#@45 Remove all GFM checkbox overlays in buffer.
(defalias 'markdown-remove-gfm-checkbox-overlays #[0 "\212\214~\210\300\301\211\302\303$*\207" [remove-overlays nil face markdown-gfm-checkbox-face] 5 (#$ . 277749)])
(defvar markdown-inline-image-overlays nil)
(make-variable-buffer-local 'markdown-inline-image-overlays)
#@156 Remove inline image overlays from image links in the buffer.
This can be toggled with `markdown-toggle-inline-images'
or \[markdown-toggle-inline-images].
(defalias 'markdown-remove-inline-images #[0 "\301\302\"\210\303\211\207" [markdown-inline-image-overlays mapc delete-overlay nil] 3 (#$ . 278072) nil])
(byte-code "\300\301\302\303\304DD\305\306\307\310\311&\210\300\312\302\303\313DD\314\306\307\310\315&\207" [custom-declare-variable markdown-display-remote-images funcall function #[0 "\300\207" [nil] 1] "If non-nil, download and display remote images.\nSee also `markdown-inline-image-overlays'.\n\nOnly image URLs specified with a protocol listed in\n`markdown-remote-image-protocols' are displayed." :group markdown :type boolean markdown-remote-image-protocols #[0 "\300\207" [("https")] 1] "List of protocols to use to download remote images.\nSee also `markdown-display-remote-images'." (repeat string)] 8)
#@33 A map from URLs to image paths.
(defvar markdown--remote-image-cache (make-hash-table :test 'equal) (#$ . 279004))
#@52 Retrieve the image path for a given URL.

(fn URL)
(defalias 'markdown--get-remote-image #[257 "\301\"\206 \302\303!\304\305!\210\306\307#\210\310#\262\207" [markdown--remote-image-cache gethash make-temp-file "markdown-mode--image" require url url-copy-file t puthash] 6 (#$ . 279125)])
#@151 Add inline image overlays to image links in the buffer.
This can be toggled with `markdown-toggle-inline-images'
or \[markdown-toggle-inline-images].
(defalias 'markdown-display-inline-images #[0 "\306 \204	 \307\310!\210\212\214~\210eb\210\311\312\313#\205\252 \314\224\315\224\314\225\316\317!\203\245 \211G\314U\204\245 \320!\204X 	\203X \321!\322!\n>\204H \323\324\325D\"\210\211\315H\262\227\235\203X \326!\262\320!\203\245 \327!\203h \211\202k \fP\203\204 \330\331!\203\204 \332\331\312\333@\334A&\202\207 \332!\211\203\243 \335\"\336\337#\210\336\340\341#\210\211\"B\"\210\266\266\202 *\207" [markdown-regex-link-inline markdown-display-remote-images cl-struct-url-tags markdown-remote-image-protocols default-directory markdown-max-image-size display-images-p error "Cannot show images" re-search-forward nil t 0 1 match-string-no-properties 6 file-exists-p url-generic-parse-url type-of signal wrong-type-argument url markdown--get-remote-image file-name-absolute-p image-type-available-p imagemagick create-image :max-width :max-height make-overlay overlay-put display face default markdown-inline-image-overlays] 13 (#$ . 279429) nil])
#@45 Toggle inline image overlays in the buffer.
(defalias 'markdown-toggle-inline-images #[0 "\203 \301 \207\302 \207" [markdown-inline-image-overlays markdown-remove-inline-images markdown-display-inline-images] 1 (#$ . 280612) nil])
(byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313\314\315&\210\300\316\302\303\317DD\320\306\307\310\321\314\322&	\207" [custom-declare-variable markdown-fontify-code-blocks-natively funcall function #[0 "\300\207" [nil] 1] "When non-nil, fontify code in code blocks using the native major mode.\nThis only works for fenced code blocks where the language is\nspecified where we can automatically determine the appropriate\nmode to use.  The language to mode mapping may be customized by\nsetting the variable `markdown-code-lang-modes'." :group markdown :type boolean :safe booleanp :package-version (markdown-mode . "2.3") markdown-fontify-code-block-default-mode #[0 "\300\207" [nil] 1] "Default mode to use to fontify code blocks.\nThis mode is used when automatic detection fails, such as for GFM\ncode blocks with no language specified." (choice function (const :tag "None" nil)) (markdown-mode . "2.4")] 12)
#@147 Toggle the native fontification of code blocks.
With a prefix argument ARG, enable if ARG is positive,
and disable otherwise.

(fn &optional ARG)
(defalias 'markdown-toggle-fontify-code-blocks-natively #[256 "\211\301=\203 ?\202 \302!\303V\211\203 \304\305!\210\202  \304\306!\210\307 \207" [markdown-fontify-code-blocks-natively toggle prefix-numeric-value 0 message "markdown-mode native code block fontification enabled" "markdown-mode native code block fontification disabled" markdown-reload-extensions] 4 (#$ . 281780) (byte-code "\206 \301C\207" [current-prefix-arg toggle] 1)])
(byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313&	\207" [custom-declare-variable markdown-code-lang-modes funcall function #[0 "\300\207" [(("ocaml" . tuareg-mode) ("elisp" . emacs-lisp-mode) ("ditaa" . artist-mode) ("asymptote" . asy-mode) ("dot" . fundamental-mode) ("sqlite" . sql-mode) ("calc" . fundamental-mode) ("C" . c-mode) ("cpp" . c++-mode) ("C++" . c++-mode) ("screen" . shell-script-mode) ("shell" . sh-mode) ("bash" . sh-mode))] 1] "Alist mapping languages to their major mode.\nThe key is the language name, the value is the major mode.  For\nmany languages this is simple, but for language where this is not\nthe case, this variable provides a way to simplify things on the\nuser side.  For example, there is no ocaml-mode in Emacs, but the\nmode to use is `tuareg-mode'." :group markdown :type (repeat (cons (string "Language name") (symbol "Major mode"))) :package-version (markdown-mode . "2.3")] 10)
#@119 Return major mode that should be used for LANG.
LANG is a string, and the returned major mode is a symbol.

(fn LANG)
(defalias 'markdown-get-lang-mode #[257 "\301\302\303\"A\303\227\"A\304\305P!\304\227\305P!F\"\207" [markdown-code-lang-modes cl-find-if fboundp assoc intern "-mode"] 9 (#$ . 283315)])
#@110 Add text properties to next code block from point to LAST.
Use matching function MATCHER.

(fn MATCHER LAST)
(defalias 'markdown-fontify-code-blocks-generic #[514 "!\205s \212\302 \303\304\305\306\307!\310\"\311$\216\304\224\304\225b\210n\203& \312\304!\202( \312 b\210n\2035 \312\313!\2028 \312\311!\314\203T \315 \211\262\204I 	\203T \316#\210\202Z \317\320#\210\321\322\323$\210\317\324#\210\317\325#\266)\210)\326\207" [markdown-fontify-code-blocks-natively markdown-fontify-code-block-default-mode match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 point-at-bol 2 nil markdown-code-block-lang markdown-fontify-code-block-natively add-text-properties (face markdown-pre-face) font-lock-append-text-property face markdown-code-face (invisible markdown-markup) (invisible markdown-markup) t] 13 (#$ . 283632)])
#@75 Add text properties to next GFM code block from point to LAST.

(fn LAST)
(defalias 'markdown-fontify-gfm-code-blocks #[257 "\300\301\"\207" [markdown-fontify-code-blocks-generic markdown-match-gfm-code-blocks] 4 (#$ . 284515)])
#@84 Add text properties to next tilde fenced code block from point to LAST.

(fn LAST)
(defalias 'markdown-fontify-fenced-code-blocks #[257 "\300\301\"\207" [markdown-fontify-code-blocks-generic markdown-match-fenced-code-blocks] 4 (#$ . 284751)])
#@263 Fontify given GFM or fenced code block.
This function is called by Emacs for automatic fontification when
`markdown-fontify-code-blocks-natively' is non-nil.  LANG is the
language used in the block. START and END specify the block
position.

(fn LANG START END)
(defalias 'markdown-fontify-code-block-natively #[771 "\203\n \303!\202 \304!\205\201 \305\"\306 p\307\211\310\311#\210r\312\313\314!P!q\210\307ed|\210\315\261\210)\n=\204C  \210\316 \210e\262\317\320\"\211\262\203s \321\320\"\211\203l \322	S\\\n\\S\320%\210\210\211\262\202I )\323\324#\210\325!\266\205\207" [markdown-fontify-code-block-default-mode inhibit-modification-hooks major-mode markdown-get-lang-mode fboundp buffer-substring-no-properties buffer-modified-p nil remove-text-properties (face nil) get-buffer-create " markdown-code-fontification:" symbol-name " " markdown-font-lock-ensure next-single-property-change face get-text-property put-text-property add-text-properties (font-lock-fontified t fontified t font-lock-multiline t) set-buffer-modified-p] 16 (#$ . 285003)])
(require 'edit-indirect nil t)
#@67 Ensure trailing newlines at the END of code blocks.

(fn BEG END)
(defalias 'markdown--edit-indirect-after-commit-function #[514 "\211b\210`Sf\300=?\205 \301c\207" [10 "\n"] 4 (#$ . 286126)])
#@49 Edit Markdown code block in an indirect buffer.
(defalias 'markdown-edit-code-block #[0 "\212\302\303!\203Y \304 \211\205 \211@b\205 \305\306!\205$ A@b\205$ \305\307!\203Q \211\203Q \310 \211\2038 \311!\2069 \312\313\314\315\316!\317\"\320\321%\303\322#)\266\202\202T \323\324!\266\203\202h \325\326!\205h \327 \210\330\331!\210\332 )\207" [markdown-edit-code-block-default-mode edit-indirect-guess-mode-function fboundp edit-indirect-region markdown-get-enclosing-fenced-block-construct point-at-bol 2 1 markdown-code-block-lang markdown-get-lang-mode make-byte-code 771 "\300 \207" vconcat vector [] 4 "\n\n(fn PARENT-BUFFER BEG END)" display-buffer user-error "Not inside a GFM or tilde fenced code block" y-or-n-p "Package edit-indirect needed to edit code blocks. Install it now? " package-refresh-contents package-install edit-indirect markdown-edit-code-block] 11 (#$ . 286325) nil])
#@27 

(fn SYMBOLS &rest BODY)
(defalias 'markdown--with-gensyms '(macro . #[385 "\300\301\302\"BB\207" [let mapcar #[257 "\211\300\301\302\303\304DDEDD\207" [make-symbol concat "--" symbol-name quote] 8 "\n\n(fn S)"]] 6 (#$ . 287233)]))
(byte-code "\300\301\302\303#\210\304\301\305\306#\300\207" [put markdown--with-gensyms edebug-form-spec (sexp body) function-put lisp-indent-function 1] 4)
#@268 Splits STRING into substrings at SEPARATORS.
SEPARATORS is a regular expression. If nil it defaults to
`split-string-default-separators'. This version returns no empty
strings if there are matches at the beginning and end of string.

(fn STRING &optional SEPARATORS)
(defalias 'markdown--split-string #[513 "\301\302\211\303\206	 \203# \301\224U\203# GW\203# T\202$ #\203Y \301\224GW\203Y \304\262\301\224\301=\204R \301\224\301\225=\203I \301\224=\204R \301\224OB\262\301\225\262\202 G=\204h \302OB\262\211\237\207" [split-string-default-separators 0 nil string-match t] 10 (#$ . 287634)])
#@113 Return width of string S.
This version ignores characters with invisibility property
`markdown-markup'.

(fn S)
(defalias 'markdown--string-width #[257 "\301\302=\204 \303\235\2034 \304\305G\306\303%\211\262\2034 \305O\307\306#\206, G\301OP\262\202 \210\310!\207" [buffer-invisibility-spec nil t markdown-markup text-property-any 0 invisible next-single-property-change string-width] 8 (#$ . 288258)])
#@125 Remove Markdown markup from string S.
This version removes characters with invisibility property
`markdown-markup'.

(fn S)
(defalias 'markdown--remove-invisible-markup #[257 "\300\301\302G\303\304%\211\262\203( \302O\305\303#\206  G\300OP\262\202 \210\207" [nil text-property-any 0 invisible markdown-markup next-single-property-change] 8 (#$ . 288684)])
#@177 Function to decide if point is inside a table.

The indirection serves to differentiate between standard markdown
tables and gfm tables which are less strict about the markup.
(defvar markdown-table-at-point-p-function nil (#$ . 289060))
#@42 Regexp matching any line inside a table.
(defconst markdown-table-line-regexp "^[ 	]*|" (#$ . 289304))
#@39 Regexp matching hline inside a table.
(defconst markdown-table-hline-regexp "^[ 	]*|[-:]" (#$ . 289413))
#@39 Regexp matching dline inside a table.
(defconst markdown-table-dline-regexp "^[ 	]*|[^-:]" (#$ . 289524))
#@46 Return non-nil when point is inside a table.
(defalias 'markdown-table-at-point-p #[0 "\301!\203	  \207\302 \207" [markdown-table-at-point-p-function functionp markdown--table-at-point-p] 2 (#$ . 289636)])
#@46 Return non-nil when point is inside a table.
(defalias 'markdown--table-at-point-p #[0 "\212\302 \210\303\304!)\262\205 \305 ?)\207" [markdown-table-line-regexp inhibit-changing-match-data beginning-of-line t looking-at markdown-code-block-at-point-p] 3 (#$ . 289850)])
#@42 Regexp matching any line inside a table.
(defconst gfm-table-line-regexp "^.?*|" (#$ . 290131))
#@39 Regexp matching hline inside a table.
(defconst gfm-table-hline-regexp "^-+\\(|-\\)+" (#$ . 290233))
#@61 Return non-nil when point is inside a gfm-compatible table.
(defalias 'gfm--table-at-point-p #[0 "\303 \206\\ \212\304 \210\305\306!)\262\205[ \212\307y\210\n\305\306!)\262)\206[ \3102[ \305\306!)\262\203Y \n\305\306!)\262\203J \311\310\305\"\210\202S o\203S \311\310\312\"\210\313y\210\202* \3120)\207" [gfm-table-line-regexp inhibit-changing-match-data gfm-table-hline-regexp markdown--table-at-point-p beginning-of-line t looking-at 1 done throw nil -1] 3 (#$ . 290340)])
#@96 Return non-nil when point is on a hline in a table.
This function assumes point is on a table.
(defalias 'markdown-table-hline-at-point-p #[0 "\212\302 \210\303\304!)\262)\207" [markdown-table-hline-regexp inhibit-changing-match-data beginning-of-line t looking-at] 3 (#$ . 290835)])
#@101 Find the beginning of the table and return its position.
This function assumes point is on a table.
(defalias 'markdown-table-begin #[0 "\212o\204 \300 \203 \301y\210\202 m\204 \300 \204 \302y\210`)\207" [markdown-table-at-point-p -1 1] 1 (#$ . 291130)])
#@95 Find the end of the table and return its position.
This function assumes point is on a table.
(defalias 'markdown-table-end #[0 "\212m\204 \300 \203 \301y\210\202 `)\207" [markdown-table-at-point-p 1] 1 (#$ . 291396)])
#@90 Return index of the table data line at point.
This function assumes point is on a table.
(defalias 'markdown-table-get-dline #[0 "`\301 \302\212\303 b\210\304\305#\203  \211T\211\262\203  \306 W\204	 )\207" [markdown-table-dline-regexp markdown-table-end 0 markdown-table-begin re-search-forward t point-at-eol] 7 (#$ . 291624)])
#@74 Return table column at point.
This function assumes point is on a table.
(defalias 'markdown-table-get-column #[0 "`\300\212\301 \210\302\303\304#\203 \211T\262\202 )\207" [0 beginning-of-line search-forward "|" t] 6 (#$ . 291964)])
#@152 Return the content of the cell in column N of current row.
N defaults to column at point. This function assumes point is on
a table.

(fn &optional N)
(defalias 'markdown-table-get-cell #[256 "\211\203 \300!\210\301\302x\210\303u\210\304\305!\2034 \306\224\211T\306\225{\307 \310\\^b\210\311\312\313#\262\311\314\313#\211\262\207\315u\210\313\207" [markdown-table-goto-column "^|\n" nil -1 looking-at "|[^|\n]*" 0 point-at-eol 2 replace-regexp-in-string "\\`[ 	]+" "" "[ 	]+\\'" 1] 7 (#$ . 292208)])
#@145 Go to the Nth data line in the table at point.
Return t when the line exists, nil otherwise. This function
assumes point is on a table.

(fn N)
(defalias 'markdown-table-goto-dline #[257 "\301 b\210\302 \303\304\305#\203 \211T\211\262W\204 \211U\207" [markdown-table-dline-regexp markdown-table-begin markdown-table-end 0 re-search-forward t] 7 (#$ . 292723)])
#@275 Go to the Nth column in the table line at point.
With optional argument ON-DELIM, stop with point before the left
delimiter of the cell. If there are less than N cells, just go
beyond the last delimiter. This function assumes point is on a
table.

(fn N &optional ON-DELIM)
(defalias 'markdown-table-goto-column #[513 "\300\301!\210\302V\205, S\211\262\303V\203 \304\305\306 \307#\204\n \211\203$ \303u\207\310\311!\205, \301u\207" [beginning-of-line 1 0 -1 search-forward "|" point-at-eol t looking-at " "] 6 (#$ . 293098)])
#@112 Save cell at point, execute BODY and restore cell.
This function assumes point is on a table.

(fn &rest BODY)
(defalias 'markdown-table-save-cell '(macro . #[128 "\300\301!\300\302!\303\304B\305BD\306\307B\310D\311D\312\313BB\257E\207" [make-symbol "--line" "--column" let ((copy-marker (line-beginning-position))) ((markdown-table-get-column)) unwind-protect progn goto-char markdown-table-goto-column set-marker (nil)] 12 (#$ . 293635)]))
(put 'markdown-table-save-cell 'edebug-form-spec '(body))
#@62 Convert a table line S into a line with blank cells.

(fn S)
(defalias 'markdown-table-blank-line #[257 "\300\301\"\203 \302\303\304#\211\262\207\300\305\"\203, \306\307\310\311\312\"G\313\"\307Q\314\211$\262\202 \207" [string-match "^[ 	]*|-" mapconcat #[257 "\211\300\235\203 \301\207\302\207" [(124 43) "|" " "] 3 "\n\n(fn X)"] "" "|\\([ 	]*?[^ 	\n|][^\n|]*\\)|" replace-match "|" make-string match-string 1 32 t] 7 (#$ . 294152)])
#@70 Process column alignment specifier FMTSPEC for tables.

(fn FMTSPEC)
(defalias 'markdown-table-colfmt #[257 "\211;\205\f \300\301\302\303\"\"\207" [mapcar #[257 "\301\302\303\304#)\266\203\203 \305\207\306\302\303\304#)\266\203\203$ \307\207\310\302\303\304#)\266\203\2036 \311\207\312\207" [inhibit-changing-match-data "^:.*:$" nil t string-match c "^:" l ":$" r d] 8 "\n\n(fn X)"] markdown--split-string "\\s-*|\\s-*"] 6 (#$ . 294605)])
#@66 Align table at point.
This function assumes point is on a table.
(defalias 'markdown-table-align #[0 "\300 \301\302 !\301\303 !\304 \305\306\307\310\311\"\312\"\313$\216b\210\314C\315\316!\210\317\306!\320\305\321\322\310\311!\323\"\324\325%\326{\327\"\"\320\330\331\314\"\"\211\203S \332\333\320\334\"\"\202V \335\336!\337\340\"\314\306\211W\203\212 \211\320\305\321\341\310\311!\342\"\313\343%\"\332\333\344\320\345\"#B\262\266\211T\262\202] \266\211\237\262\346\242!\240\210\347P\347P\314\211\211\211\203\372 \211@\242\211\242A\240\210\242\262\350\267\202\330 \351\262\352\262\202\336 \353\262\354\262\202\336 \355\262\352\262\202\336 \356\262\352\262\357\"P\262\357\360\361\"\"P\262A\266\202\202\244 \306\362O\347P\262\210	\211\203H\211@\211\203\"\332\357\363\211A\262\242\"#\202$`\364 {\211\232\2034\314y\210\202?\327\261\210`\303\365!|\210\266A\266\202\202\266	\314\211\223\266\207)\266\202\207" [markdown-table-begin copy-marker markdown-table-end line-beginning-position markdown-table-get-column make-byte-code 0 "\300b\210\302\301!\210\300\303\211\223\207" vconcat vector [markdown-table-goto-column nil] 3 nil looking-at "[ 	]*" match-string mapcar 257 "\302\303\304\305#)\266\203\203 \300\211\242\206 \240\210\303\207\207" [inhibit-changing-match-data "\\`[ 	]*|[-:]" nil t string-match] 8 "\n\n(fn L)" markdown--split-string "\n" #[257 "\300\301\"\207" [markdown--split-string "\\s-*|\\s-*"] 4 "\n\n(fn L)"] remq apply max length user-error "Empty table" make-list #1="" "\3008\206 \301\207" [#1#] "\n\n(fn X)" 1 markdown--string-width markdown-table-colfmt "|" #s(hash-table size 3 test equal rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (l 189 r 198 c 207)) ":%s-|" " %%-%ds |" "-%s:|" " %%%ds |" ":%s:|" "-%s-|" format make-string 45 -1 append line-end-position 2] 24 (#$ . 295067) nil])
#@135 Insert a new row above the row at point into the table.
With optional argument ARG, insert below the current row.

(fn &optional ARG)
(defalias 'markdown-table-insert-row #[256 "\300 \204	 \301\302!\210\303 \304 {\305!\306\203 \307\202 \310!\210n\204$ \311c\210\312\311\"\210\306\313!\210\314\315\304 \316#\207" [markdown-table-at-point-p user-error "Not at a table" line-beginning-position line-end-position markdown-table-blank-line beginning-of-line 2 1 "\n" insert-before-markers 0 re-search-forward "| ?" t] 7 (#$ . 296986) "P"])
#@56 Delete row or horizontal line at point from the table.
(defalias 'markdown-table-delete-row #[0 "\300 \204	 \301\302!\210i\303\304 \305 Td^\"\210\300 \204 \306\307!\210\310!\207" [markdown-table-at-point-p user-error "Not at a table" kill-region point-at-bol point-at-eol beginning-of-line 0 move-to-column] 5 (#$ . 297532) nil])
#@90 Move table line at point down.
With optional argument UP, move it up.

(fn &optional UP)
(defalias 'markdown-table-move-row #[256 "\300 \204	 \301\302!\210i`\203 \303\202 \304\305\306!\210\300 \204% b\210\301\307!\210b\210\306\310!\210`\262`\311 T{\262`\311 T|\210\306!\210\211c\210\306\303!\210\312!\207" [markdown-table-at-point-p user-error "Not at a table" 0 2 nil beginning-of-line "Cannot move row further" 1 point-at-eol move-to-column] 7 (#$ . 297870) "P"])
#@29 Move table row at point up.
(defalias 'markdown-table-move-row-up #[0 "\300\301!\207" [markdown-table-move-row up] 2 (#$ . 298352) nil])
#@31 Move table row at point down.
(defalias 'markdown-table-move-row-down #[0 "\300\301!\207" [markdown-table-move-row nil] 2 (#$ . 298495) nil])
#@28 Insert a new table column.
(defalias 'markdown-table-insert-column #[0 "\300 \204	 \301\302!\210\303\304 ]\305 \306\307 !\306\310 !\304 \311\312\313\314\315\"\316\"\317$\216b\210`W\203J \320\321\"\210\322 \203A \323c\210\202D \324c\210\325y\210\202+ )\266\211\325\211\223\210\326 \207" [markdown-table-at-point-p user-error "Not at a table" 1 markdown-table-get-column markdown-table-begin copy-marker markdown-table-end line-beginning-position make-byte-code 0 "\300b\210\302\301!\210\300\303\211\223\207" vconcat vector [markdown-table-goto-column nil] 3 markdown-table-goto-column t markdown-table-hline-at-point-p "|---" "|   " nil markdown-table-align] 12 (#$ . 298643) nil])
#@36 Delete column at point from table.
(defalias 'markdown-table-delete-column #[0 "\300 \204	 \301\302!\210\303 \304 \305\306 !\305\307 !\303 \310\311\312\313\314\"\315\"\316$\216b\210`W\203D \317\320\"\210\321\322!\203> \323\324!\210\325y\210\202) )\266\211\325\211\223\210\317\326S]!\210\327 \207" [markdown-table-at-point-p user-error "Not at a table" markdown-table-get-column markdown-table-begin copy-marker markdown-table-end line-beginning-position make-byte-code 0 "\300b\210\302\301!\210\300\303\211\223\207" vconcat vector [markdown-table-goto-column nil] 3 markdown-table-goto-column t looking-at "|[^|\n]+|" replace-match "|" nil 1 markdown-table-align] 12 (#$ . 299338) nil])
#@113 Move table column at point to the right.
With optional argument LEFT, move it to the left.

(fn &optional LEFT)
(defalias 'markdown-table-move-column #[256 "\300 \204	 \301\302!\210\303 \203 \211S\202 \211\203 S\202  T\304 \305\306 !\2034 \307U\2034 \301\310!\210\204B \311\312!\203B \301\313!\210\305\314 !\303 \315\316\317\320\321\"\322\"\323$\216b\210`W\203v \324\325\"\210\311\326!\203p \327\330!\210\331y\210\202Z )\266\211\331\211\223\210\324!\210\332 \207" [markdown-table-at-point-p user-error "Not at a table" markdown-table-get-column markdown-table-begin copy-marker markdown-table-end 1 "Cannot move column further left" looking-at "[^|\n]*|[^|\n]*$" "Cannot move column further right" line-beginning-position make-byte-code 0 "\300b\210\302\301!\210\300\303\211\223\207" vconcat vector [markdown-table-goto-column nil] 3 markdown-table-goto-column t "|\\([^|\n]+\\)|\\([^|\n]+\\)|" replace-match "|\\2|\\1|" nil markdown-table-align] 15 (#$ . 300041) "P"])
#@41 Move table column at point to the left.
(defalias 'markdown-table-move-column-left #[0 "\300\301!\207" [markdown-table-move-column left] 2 (#$ . 301037) nil])
#@42 Move table column at point to the right.
(defalias 'markdown-table-move-column-right #[0 "\300\301!\207" [markdown-table-move-column nil] 2 (#$ . 301202) nil])
#@84 Go to the next row (same column) in the table.
Create new table lines if required.
(defalias 'markdown-table-next-row #[0 "\300 \204	 \301\302!\210\303\304!\204 \212\305\306x\210n)\203 \307 \207\310 \210\311 \312\313!\210\300 \203/ \314 \2037 \312\315!\210\316\317!\210\320!\210\321\306x\210\303\322!\205G \323u\207" [markdown-table-at-point-p user-error "Not at a table" looking-at "[ 	]*$" " 	" nil newline markdown-table-align markdown-table-get-column beginning-of-line 2 markdown-table-hline-at-point-p 0 markdown-table-insert-row below markdown-table-goto-column "^|\n" " " 1] 3 (#$ . 301368) nil])
#@71 Go to the next cell in the table.
Create new table lines if required.
(defalias 'markdown-table-forward-cell #[0 "\300 \204	 \301\302!\210\303 \210\304 \305 \203 \306\210\3071X \310\311\"\210\312\313!\203* \310\311\"\210\312\314!\203< \310\315\316#\203< \306\224b\210\312\314!\203L \317\320!\210\321\322!\202T \312\323!\205T \306u0\202\\ \210\321\322!\207" [markdown-table-at-point-p user-error "Not at a table" markdown-table-align markdown-table-end markdown-table-hline-at-point-p 1 (error) re-search-forward "|" looking-at "[ 	]*$" "[-:]" "^[ 	]*|\\([^-:]\\)" t beginning-of-line 0 markdown-table-insert-row below " "] 5 (#$ . 301983) nil])
#@39 Go to the previous cell in the table.
(defalias 'markdown-table-backward-cell #[0 "\300 \204	 \301\302!\210\303 \210\304 \203 \305\210\3061' \307\310\311 \"\210\307\310\311 \"0\202+ \210\301\312!\210\313\314!\203; \307\310\311 \"\210\202, \313\315!\205D \316\225b\207" [markdown-table-at-point-p user-error "Not at a table" markdown-table-align markdown-table-hline-at-point-p 1 (error) re-search-backward "|" markdown-table-begin "Cannot move to previous table cell" looking-at "|\\([-:]\\|[ 	]*$\\)" "| ?" 0] 3 (#$ . 302639) nil])
#@74 Transpose table at point.
Horizontal separator lines will be eliminated.
(defalias 'markdown-table-transpose #[0 "\300 \204	 \301\302!\210\303\304 \305 \"\306\307\310\311\312\313\"\"\"\314 \315 \310\316\317\320\321\322!\323\"\324\325%@\"\304 b\210\326\327!\210\330u\210`\305 |\210\331\332\333#c\210\334!\210\335!\266\336 \207" [markdown-table-at-point-p user-error "Not at a table" buffer-substring-no-properties markdown-table-begin markdown-table-end delq nil mapcar #[257 "\302\303\304#)\266\203?\205 \305\306\"\207" [markdown-table-hline-regexp inhibit-changing-match-data nil t string-match markdown--split-string "\\s-*|\\s-*"] 8 "\n\n(fn X)"] markdown--split-string "[ 	]*\n[ 	]*" markdown-table-get-dline markdown-table-get-column make-byte-code 257 "\300C\301\302\303\304\305\306!\307\"\310\311%\300\"\207" vconcat vector [mapcar make-byte-code 257 "\300\242\211@\211A\240\210\266\202\242\300\211\242A\240\210\207" vconcat vector [] 6 "\n\n(fn _)"] 9 "\n\n(fn _)" re-search-forward "|" -1 mapconcat #[257 "\300\301\302\303#\304Q\207" ["| " mapconcat identity " | " "  |\n"] 6 "\n\n(fn X)"] "" markdown-table-goto-dline markdown-table-goto-column markdown-table-align] 11 (#$ . 303180) nil])
#@900 Sort table lines according to the column at point.

The position of point indicates the column to be used for
sorting, and the range of lines is the range between the nearest
horizontal separator lines, or the entire table of no such lines
exist. If point is before the first column, user will be prompted
for the sorting column. If there is an active region, the mark
specifies the first line and the sorting column, while point
should be in the last line to be included into the sorting.

The command then prompts for the sorting type which can be
alphabetically or numerically. Sorting in reverse order is also
possible.

If SORTING-TYPE is specified when this function is called from a
Lisp program, no prompting will take place. SORTING-TYPE must be
a character, any of (?a ?A ?n ?N) where the capital letters
indicate that sorting should be done in reverse order.

(fn &optional SORTING-TYPE)
(defalias 'markdown-table-sort-lines #[256 "\301 \204	 \302\303!\210\304 \211\305V\203 \211\202\" \306\307!\203! \310\311!\202\" \312\262\206+ \313\314!\214\315 \203F \212\316 b\210\317 )\212\320 b\210\321 )}\210\202n \322 \323 \212\324\325#\203Y \317\326!\202Z )\212\327\325#)\203j \305\224\202k }\266\330\331\"\203y \332\202\210 \330\333\"\203\204 \334\202\210 \302\335\"\330\336\"\203\223 \337\202\233 \330\340\"\205\233 \341eb\210\342\343>\344\345\346\305\347\350\351\f\"\352\"\353$\354&\210eb\266\202)\207" [markdown-table-hline-regexp markdown-table-at-point-p user-error "Not at a table" markdown-table-get-column 0 called-interactively-p any read-number "Use column N for sorting: " 1 read-char-exclusive "Sort type: [a]lpha [n]umeric (A/N means reversed): " region-active-p region-beginning line-beginning-position region-end line-end-position markdown-table-begin markdown-table-end re-search-backward t 2 re-search-forward memql (97 65) markdown--remove-invisible-markup (110 78) string-to-number "Invalid sorting type: %c" (110 78) < (97 65) string< sort-subr (65 78) #[0 "\301y\210m?\205 \302!?\205 \301y\210\202 \207" [markdown-table-dline-regexp nil looking-at] 2] end-of-line make-byte-code "\301\302\300!!\207" vconcat vector [markdown-table-get-cell] 3 nil] 16 (#$ . 304408) nil])
#@701 Convert region from BEGIN to END to table with SEPARATOR.

If every line contains at least one TAB character, the function
assumes that the material is tab separated (TSV). If every line
contains a comma, comma-separated values (CSV) are assumed. If
not, lines are split at whitespace into cells.

You can use a prefix argument to force a specific separator:
\[universal-argument] once forces CSV, \[universal-argument]
twice forces TAB, and \[universal-argument] three times will
prompt for a regular expression to match the separator, and a
numeric argument N indicates that at least N consecutive
spaces, or alternatively a TAB should be used as the separator.

(fn BEGIN END &optional SEPARATOR)
(defalias 'markdown-table-convert-region #[770 "^\211]\300b\210\301\302!\210\303 \262b\210n\203 \304u\210\202\" \302\210\303 \262\305\232\2031 \306\307!\262\204S b\210\310\311\312#\204D \313\202Q \310\314\312#\204P \315\202Q \302\262b\210\316\232\203\266 `W\203\317\320!\203n \321c\210\202\\ \317\322!\203 \323\324!\210\301\325!\210\202\\ \317\326!\203\225 \323\327!\210\317\330!\203\\ \330c\210\202\\ \317\331!\203\242 \332\225b\210\202\\ \317\333!\203\257 \323\334!\210\202\\ \301\325!\210\202\\ \335\232\203\300 \336\202\361 \337\232\203\312 \340\202\361 \250\203\342 \302W\203\333 \341\342!\202\361 \343\344\"\202\361 ;\203\356 \343\345\"\202\361 \346\347!\262\310\312#\203\323\321\312\211#\210\202\363 b\210\350 \207" [nil beginning-of-line 1 point-marker -1 (64) read-regexp "Regexp for cell separator: " re-search-forward "^[^\n	]+$" t (16) "^[^\n,]+$" (4) (4) looking-at "^" "| " "[ 	]*$" replace-match " |" 2 "[ 	]*\"\\([^\"\n]*\\)\"" "\\1" "\"" "[^,\n]+" 0 "[ 	]*," " | " (4) "^\\|\"?[ 	]*,[ 	]*\"?" (16) "^\\|	" user-error "Cell separator must contain one or more spaces" format "^ *\\| *	 *\\| \\{%d,\\}" "^ *\\|%s" error "Invalid cell separator" markdown-table-align] 10 (#$ . 306639) "r\nP"])
#@169 Insert an empty pipe table.
Optional arguments ROWS, COLUMNS, and ALIGN specify number of
rows and columns and the column alignment.

(fn &optional ROWS COLUMNS ALIGN)
(defalias 'markdown-insert-table #[768 "\206	 \300\301\302!!\206 \300\301\303!!\206 \301\304!\211\305\267\202+ \306\202, \307\202, \310\202, \311`\312i\313\"\314\315\316\317	\320\"$\321P\314\315\316\317\n	\316P\"$\322\323\324\325 `\"\"\203\\ \326\327!\210\202_ \330 \210\331\211W\203t \211c\266\211T\262\202b \266b\210\327V\203\213 \327\210\321Pc\210b\210\332 \207" [string-to-number read-string "Row size: " "Column size: " "Alignment ([l]eft, [r]ight, [c]enter, or RET for default): " #s(hash-table size 3 test equal rehash-size 1.5 rehash-threshold 0.8125 purecopy t data ("l" 31 "r" 35 "c" 39)) ":--" "--:" ":-:" "---" make-string 32 apply concat "|" make-list "   |" "\n" string-match "^[ 	]*$" buffer-substring-no-properties point-at-bol beginning-of-line 1 newline 0 markdown-table-forward-cell] 18 (#$ . 308588) nil])
#@174 Return a helpful string when appropriate based on context.
* Report URL when point is at a hidden URL.
* Report language name when point is a code block with hidden markup.
(defalias 'markdown-eldoc-function #[0 "\304!\204\f \304	!\203] \n\204 \203] \305\306!\307\230\310\203\" \311\202# \312!\313\314\315#\305\316!\317\230\211\2036 \320\2027 \321\322\323\203T \313\317\314\324#\313\325\326!\314\327#\313\330\314\324#Q\202[ \313\325\326!\314\331#$\207\332 \205\206 \333`\334\"?\205\206 \205\206 \212\335 )\211\204y \336\262\322\337\313\314\340#\310\341!#\262\207" [markdown-regex-link-inline markdown-regex-link-reference markdown-hide-urls markdown-hide-markup thing-at-point-looking-at match-string 1 "!" markdown--substitute-command-keys "\\[markdown-insert-image]" "\\[markdown-insert-link]" propertize face font-lock-constant-face 5 "[" "reference" "URL" format "Hidden %s (%s to edit): %s" markdown-markup-face match-string-no-properties 6 markdown-reference-face "]" markdown-url-face markdown-code-block-at-point-p get-text-property markdown-pre markdown-code-block-lang "[unspecified]" "Hidden code block language: %s (%s to toggle markup)" markdown-language-keyword-face "\\[markdown-toggle-markup-hiding]"] 15 (#$ . 309612)])
#@44 Show the version number in the minibuffer.
(defalias 'markdown-show-version #[0 "\301\302\"\207" [markdown-mode-version message "markdown-mode, version %s"] 3 (#$ . 310867) nil])
#@36 Open the `markdown-mode' homepage.
(defalias 'markdown-mode-info #[0 "\300\301!\207" [browse-url "https://jblevins.org/projects/markdown-mode/"] 2 (#$ . 311053) nil])
(defvar markdown-mode-hook nil)
(byte-code "\300\301N\204\f \302\300\301\303#\210\304\305!\204 \302\305\306\307#\210\300\207" [markdown-mode-hook variable-documentation put "Hook run after entering Markdown mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp markdown-mode-map definition-name markdown-mode] 4)
(defvar markdown-mode-map (make-sparse-keymap))
(byte-code "\301\302N\204 \303\301\302\304\305!#\210\306\307!\204 \303\307\310\311#\210\312\313 !\210\307\302N\204- \303\307\302\304\314!#\210\306\300!\204B \303\300\310\311#\210\315\316\300\317\"\210!\210\300\302N\204P \303\300\302\304\320!#\210\303\311\321\322#\207" [markdown-mode-abbrev-table markdown-mode-map variable-documentation put purecopy "Keymap for `markdown-mode'." boundp markdown-mode-syntax-table definition-name markdown-mode (lambda (#1=#:def-tmp-var) (defvar markdown-mode-syntax-table #1#)) make-syntax-table "Syntax table for `markdown-mode'." (lambda (#1#) (defvar markdown-mode-abbrev-table #1#)) define-abbrev-table nil "Abbrev table for `markdown-mode'." derived-mode-parent text-mode] 5)
#@234 Major mode for editing Markdown files.

In addition to any hooks its parent mode `text-mode' might have run,
this mode runs the hook `markdown-mode-hook', as the final or penultimate step
during initialization.

\{markdown-mode-map}
(defalias 'markdown-mode #[0 "\306\300!\210\307\310 \210\311\312\310\313N\203 \314\311\313\310\313N#\210\315!\204' \316\317 \"\210\320\f!\211\2035 \211\321 =\203; \322\f\323 \"\210\210\324\325\"\204R @=\204R \326\325@C#\210\327!\210\330\f!\210@\331A\306\332!\210\333\306\334!\210\335\306\336!\210\337\306\340!\210\341 \306\342!\210\343\"\306\344!\210\307$\345\346\347\"\210\345\350\351\307\211$\210\306\352!\210\353*\354d!\210\355BC\203\260 \356\357!\210\202\264 \360\357!\210\361 \210D\203\300 \362\307!\210\345\363\364\343\307$\210E\203\320 \365\202\321 \366F\367G\"\210\306\370!\210\3718\306\372!\210\373:\306\374!\210\375<\306\376!\210\377\201W \201X \201Y #>\306\201H !\210\377\201W \201Z \201Y #H\306\201I !\210\201[ I\306\201J !\210\201\\ J\306\201K !\210\201] K\306\201L !\210\201^ L\306\201N !\210MN\306\201O !\210\201_ O\356\201` !\210\201a \201b \201c \201d B\201e \343$\210\345\201f \201g \343\307$\210\345\201f \201h \343\307$\210\306\201Q !\210PQ\306\201R !\210\201i R\345\201j \201k \343\201l $\210\201m \201S !\203\313\201n \201o !\210ST\235\203\304T\210\202\313STBTU\203\355\201U ed\"\210\345\201p \201q \307\211$\210\345\201r \201s \307\211$\210\345\201t \201u \343\201v $\210V\203\n\345\201w \201x \343\307$\210\345\201y \201z \307\211$\210\345\201{ \201| \307\211$\210)\201} \201~ !\207" [delay-mode-hooks major-mode mode-name markdown-mode-map markdown-mode-syntax-table markdown-mode-abbrev-table make-local-variable t text-mode markdown-mode "Markdown" mode-class put keymap-parent set-keymap-parent current-local-map char-table-parent standard-syntax-table set-char-table-parent syntax-table abbrev-table-get :parents abbrev-table-put use-local-map set-syntax-table 4 comment-start "<!-- " comment-end " -->" comment-start-skip "<!--[ 	]*" comment-column 0 comment-auto-fill-only-comments nil comment-use-syntax add-hook syntax-propertize-extend-region-functions markdown-syntax-propertize-extend-region jit-lock-after-change-extend-region-functions markdown-font-lock-extend-region-function syntax-propertize-function markdown-syntax-propertize syntax-propertize (markdown-mode-font-lock-keywords nil nil nil nil (font-lock-multiline . t) (font-lock-syntactic-face-function . markdown-syntactic-face) (font-lock-extra-managed-props composition display invisible rear-nonsticky keymap help-echo mouse-face)) add-to-invisibility-spec markdown-markup remove-from-invisibility-spec markdown-setup-wiki-link-hooks markdown-toggle-math hack-local-variables-hook markdown-handle-local-variables markdown-imenu-create-nested-index markdown-imenu-create-flat-index easy-menu-add beginning-of-defun-function markdown-beginning-of-defun end-of-defun-function markdown-end-of-defun fill-paragraph-function markdown-fill-paragraph paragraph-start mapconcat local-abbrev-table tab-width font-lock-defaults markdown-hide-markup markdown-enable-math markdown-nested-imenu-heading-index imenu-create-index-function markdown-mode-menu paragraph-separate adaptive-fill-first-line-regexp adaptive-fill-regexp adaptive-fill-function fill-forward-paragraph-function markdown-regex-header outline-regexp outline-level markdown-indent-function indent-line-function flyspell-generic-check-word-predicate markdown-css-path markdown-css-paths markdown-make-gfm-checkboxes-buttons markdown-marginalize-headers identity ("\f" "[ 	\f]*$" "\\(?:[ 	]*>\\)+[ 	\f]*$" "[ 	]*[*+-][ 	]+" "[ 	]*\\(?:[0-9]+\\|#\\)\\.[ 	]+" "[ 	]*\\[\\S-*\\]:[ 	]+" "[ 	]*:[ 	]+" "^|") "\\|" ("[ 	\f]*$" "\\(?:[ 	]*>\\)+[ 	\f]*$" ".*  $" "^#+" "[ 	]*\\[\\^\\S-*\\]:[ 	]*$") "\\`[ 	]*[A-Z]?>[ 	]*?\\'" "\\s-*" markdown-adaptive-fill-function markdown-fill-forward-paragraph markdown-outline-level (outline . t) advice--add-function :before-until #[0 "\300\301!\207" [advice--buffer-local eldoc-documentation-function] 2] #[257 "\300\301\"\207" [advice--set-buffer-local eldoc-documentation-function] 4 "\n\n(fn GV--VAL)"] markdown-eldoc-function fill-nobreak-predicate markdown-line-is-reference-definition-p markdown-pipe-at-bol-p markdown-flyspell-check-word-p electric-quote-inhibit-functions markdown--inhibit-electric-quote :local boundp warn "markdown-css-path is deprecated, see markdown-css-paths." after-change-functions markdown-gfm-checkbox-after-change-function change-major-mode-hook markdown-remove-gfm-checkbox-overlays edit-indirect-after-commit-functions markdown--edit-indirect-after-commit-function local window-configuration-change-hook markdown-marginalize-update-current after-save-hook markdown-live-preview-if-markdown kill-buffer-hook markdown-live-preview-remove-on-kill run-mode-hooks markdown-mode-hook] 5 (#$ . 312395) nil])
(byte-code "\300\301\302\"\210\300\301\303\"\207" [add-to-list auto-mode-alist ("\\.markdown\\'" . markdown-mode) ("\\.md\\'" . markdown-mode)] 3)
#@34 Hook run when entering GFM mode.
(defvar gfm-mode-hook nil (#$ . 317465))
(defvar gfm-mode-hook nil)
(byte-code "\300\301N\204\f \302\300\301\303#\210\304\305!\204 \302\305\306\307#\210\300\207" [gfm-mode-hook variable-documentation put "Hook run after entering GFM mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp gfm-mode-map definition-name gfm-mode] 4)
(defvar gfm-mode-map (make-sparse-keymap))
(byte-code "\301\302N\204 \303\301\302\304\305!#\210\306\307!\204 \303\307\310\311#\210\312\313 !\210\307\302N\204- \303\307\302\304\314!#\210\306\300!\204B \303\300\310\311#\210\315\316\300\317\"\210!\210\300\302N\204P \303\300\302\304\320!#\210\303\311\321\322#\207" [gfm-mode-abbrev-table gfm-mode-map variable-documentation put purecopy "Keymap for `gfm-mode'." boundp gfm-mode-syntax-table definition-name gfm-mode (lambda (#1=#:def-tmp-var) (defvar gfm-mode-syntax-table #1#)) make-syntax-table "Syntax table for `gfm-mode'." (lambda (#1#) (defvar gfm-mode-abbrev-table #1#)) define-abbrev-table nil "Abbrev table for `gfm-mode'." derived-mode-parent markdown-mode] 5)
#@244 Major mode for editing GitHub Flavored Markdown files.

In addition to any hooks its parent mode `markdown-mode' might have run,
this mode runs the hook `gfm-mode-hook', as the final or penultimate step
during initialization.

\{gfm-mode-map}
(defalias 'gfm-mode #[0 "\306\300!\210\307\310 \210\311\312\310\313N\203 \314\311\313\310\313N#\210\315!\204' \316\317 \"\210\320\f!\211\2035 \211\321 =\203; \322\f\323 \"\210\210\324\325\"\204R =\204R \326\325C#\210\327!\210\330\f!\210\331 \307!\306\332!\210\333\334 \210)\335\336!\207" [delay-mode-hooks major-mode mode-name gfm-mode-map gfm-mode-syntax-table gfm-mode-abbrev-table make-local-variable t markdown-mode gfm-mode "GFM" mode-class put keymap-parent set-keymap-parent current-local-map char-table-parent standard-syntax-table set-char-table-parent syntax-table abbrev-table-get :parents abbrev-table-put use-local-map set-syntax-table "-" markdown-table-at-point-p-function gfm--table-at-point-p markdown-gfm-parse-buffer-for-languages run-mode-hooks gfm-mode-hook local-abbrev-table markdown-link-space-sub-char markdown-wiki-link-search-subdirectories] 5 (#$ . 318643) nil])
(byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313&	\207" [custom-declare-variable markdown-hide-markup-in-view-modes funcall function #[0 "\300\207" [t] 1] "Enable hidden markup mode in `markdown-view-mode' and `gfm-view-mode'." :group markdown :type boolean :safe booleanp] 10)
#@34 Keymap for `markdown-view-mode'.
(defvar markdown-view-mode-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\327#\210\211\207" [make-sparse-keymap define-key "p" markdown-outline-previous "n" markdown-outline-next "f" markdown-outline-next-same-level "b" markdown-outline-previous-same-level "u" markdown-outline-up "" scroll-down-command " " scroll-up-command ">" end-of-buffer "<" beginning-of-buffer "q" kill-this-buffer "?" describe-mode] 5) (#$ . 320096))
(defvar markdown-view-mode-hook nil)
(byte-code "\300\301N\204\f \302\300\301\303#\210\304\305!\204 \302\305\306\307#\210\300\207" [markdown-view-mode-hook variable-documentation put "Hook run after entering Markdown-View mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp markdown-view-mode-map definition-name markdown-view-mode] 4)
(defvar markdown-view-mode-map (make-sparse-keymap))
(byte-code "\301\302N\204 \303\301\302\304\305!#\210\306\307!\204 \303\307\310\311#\210\312\313 !\210\307\302N\204- \303\307\302\304\314!#\210\306\300!\204B \303\300\310\311#\210\315\316\300\317\"\210!\210\300\302N\204P \303\300\302\304\320!#\210\303\311\321\322#\207" [markdown-view-mode-abbrev-table markdown-view-mode-map variable-documentation put purecopy "Keymap for `markdown-view-mode'." boundp markdown-view-mode-syntax-table definition-name markdown-view-mode (lambda (#1=#:def-tmp-var) (defvar markdown-view-mode-syntax-table #1#)) make-syntax-table "Syntax table for `markdown-view-mode'." (lambda (#1#) (defvar markdown-view-mode-abbrev-table #1#)) define-abbrev-table nil "Abbrev table for `markdown-view-mode'." derived-mode-parent markdown-mode] 5)
#@250 Major mode for viewing Markdown content.

In addition to any hooks its parent mode `markdown-mode' might have run,
this mode runs the hook `markdown-view-mode-hook', as the final or penultimate step
during initialization.

\{markdown-view-mode-map}
(defalias 'markdown-view-mode #[0 "\306\300!\210\307\310 \210\311\312\310\313N\203 \314\311\313\310\313N#\210\315!\204' \316\317 \"\210\320\f!\211\2035 \211\321 =\203; \322\f\323 \"\210\210\324\325\"\204R =\204R \326\325C#\210\327!\210\330\f!\210\306\331!\210\332\333!\210)\334\335!\207" [delay-mode-hooks major-mode mode-name markdown-view-mode-map markdown-view-mode-syntax-table markdown-view-mode-abbrev-table make-local-variable t markdown-mode markdown-view-mode "Markdown-View" mode-class put keymap-parent set-keymap-parent current-local-map char-table-parent standard-syntax-table set-char-table-parent syntax-table abbrev-table-get :parents abbrev-table-put use-local-map set-syntax-table markdown-hide-markup read-only-mode 1 run-mode-hooks markdown-view-mode-hook local-abbrev-table markdown-hide-markup-in-view-modes] 5 (#$ . 321974) nil])
#@29 Keymap for `gfm-view-mode'.
(defvar gfm-view-mode-map markdown-view-mode-map (#$ . 323103))
(defvar gfm-view-mode-hook nil)
(byte-code "\300\301N\204\f \302\300\301\303#\210\304\305!\204 \302\305\306\307#\210\300\207" [gfm-view-mode-hook variable-documentation put "Hook run after entering GFM-View mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp gfm-view-mode-map definition-name gfm-view-mode] 4)
(defvar gfm-view-mode-map (make-sparse-keymap))
(byte-code "\301\302N\204 \303\301\302\304\305!#\210\306\307!\204 \303\307\310\311#\210\312\313 !\210\307\302N\204- \303\307\302\304\314!#\210\306\300!\204B \303\300\310\311#\210\315\316\300\317\"\210!\210\300\302N\204P \303\300\302\304\320!#\210\303\311\321\322#\207" [gfm-view-mode-abbrev-table gfm-view-mode-map variable-documentation put purecopy "Keymap for `gfm-view-mode'." boundp gfm-view-mode-syntax-table definition-name gfm-view-mode (lambda (#1=#:def-tmp-var) (defvar gfm-view-mode-syntax-table #1#)) make-syntax-table "Syntax table for `gfm-view-mode'." (lambda (#1#) (defvar gfm-view-mode-abbrev-table #1#)) define-abbrev-table nil "Abbrev table for `gfm-view-mode'." derived-mode-parent gfm-mode] 5)
#@251 Major mode for viewing GitHub Flavored Markdown content.

In addition to any hooks its parent mode `gfm-mode' might have run,
this mode runs the hook `gfm-view-mode-hook', as the final or penultimate step
during initialization.

\{gfm-view-mode-map}
(defalias 'gfm-view-mode #[0 "\306\300!\210\307\310 \210\311\312\310\313N\203 \314\311\313\310\313N#\210\315!\204' \316\317 \"\210\320\f!\211\2035 \211\321 =\203; \322\f\323 \"\210\210\324\325\"\204R =\204R \326\325C#\210\327!\210\330\f!\210\306\331!\210\332\333!\210)\334\335!\207" [delay-mode-hooks major-mode mode-name gfm-view-mode-map gfm-view-mode-syntax-table gfm-view-mode-abbrev-table make-local-variable t gfm-mode gfm-view-mode "GFM-View" mode-class put keymap-parent set-keymap-parent current-local-map char-table-parent standard-syntax-table set-char-table-parent syntax-table abbrev-table-get :parents abbrev-table-put use-local-map set-syntax-table markdown-hide-markup read-only-mode 1 run-mode-hooks gfm-view-mode-hook local-abbrev-table markdown-hide-markup-in-view-modes] 5 (#$ . 324369) nil])
#@121 Non-nil if Markdown-Live-Preview mode is enabled.
Use the command `markdown-live-preview-mode' to change this variable.
(defvar markdown-live-preview-mode nil (#$ . 325460))
(make-variable-buffer-local 'markdown-live-preview-mode)
#@84 Toggle native previewing on save for a specific markdown file.

(fn &optional ARG)
(defalias 'markdown-live-preview-mode #[256 "\301 \302=\203 ?\202 \303!\304V\211\2030 \305 \203$ \306\307 !\210\2023 \300\310!\210\311\312p\"\210\2023 \313 \210\314\315\203= \316\202> \317\"\210\320\321!\203b \301 \203R \211\301 \232\203b \322\323\324\203] \325\202^ \326#\266\210\327 \210\207" [markdown-live-preview-mode current-message toggle prefix-numeric-value 0 markdown-live-preview-get-filename markdown-display-buffer-other-window markdown-live-preview-export -1 user-error "Buffer %s does not visit a file" markdown-live-preview-remove run-hooks markdown-live-preview-mode-hook markdown-live-preview-mode-on-hook markdown-live-preview-mode-off-hook called-interactively-p any " in current buffer" message "Markdown-Live-Preview mode %sabled%s" "en" "dis" force-mode-line-update] 8 (#$ . 325697) (byte-code "\206 \301C\207" [current-prefix-arg toggle] 1)])
(defvar markdown-live-preview-mode-hook nil)
(byte-code "\301\302N\204\f \303\301\302\304#\210\305\306\307\310\300!\205 \311\211%\210\312\313!\207" [markdown-live-preview-mode-map markdown-live-preview-mode-hook variable-documentation put "Hook run after entering or leaving `markdown-live-preview-mode'.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" add-minor-mode markdown-live-preview-mode " MD-Preview" boundp nil provide markdown-mode] 6)
