;ELC
;;; Compiled
;;; in Emacs version 26.1
;;; with all optimizations.
;;; This file uses dynamic docstrings, first added in Emacs 19.29.
;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(byte-code "\300\301\302\303\304\305\306\307\310\311\310\312&\210\313\314\315\316\317\320\321\322\310\301& \210\313\323\324\325\317\326\321\322\310\301& \210\313\327\330\331\317\332\321\333\310\301& \210\313\334\335\336\317\337\310\301&\210\340\334\302\341#\210\313\342\302\343\317\344\310\301&\210\340\342\302\341#\210\313\345\342\346\317\347\310\301&\210\340\345\302\341#\210\313\350\302\351\317\352\310\301&\210\313\353\354\355\317\337\310\301&\210\313\356\302\357\317\360\310\301&\210\313\361\356\362\317\363\310\301&\210\313\364\365\366\317\337\310\301&\210\313\367\302\370\317\371\310\301&\210\313\372\367\373\317\374\310\301&\210\340\372\375\376#\210\313\377\201@ \201A \317\337\321\341\310\301& \210\313\201B \302\201C \317\201D \321\341\310\301& \210\313\201E \201F \201G \317\337\321\322\310\301& \210\313\201H \302\201I \317\201J \321\322\310\301& \210\313\201K \201L \201M \317\337\310\301&\210\340\201K \302\341#\210\313\201N \302\201O \317\201P \310\301&\210\340\201N \302\341#\210\313\201Q \201N \201R \317\201S \310\301&\210\340\201Q \302\341#\210\313\201T \201U \201V \317\337\310\301&\210\313\201W \302\201X \317\201Y \310\301&\210\313\201Z \201W \201[ \317\201\\ \310\301&\207" [custom-declare-group browse-url nil "Use a web browser to look at a URL." :prefix "browse-url-" :link (emacs-commentary-link "browse-url") :group external comm custom-declare-variable browse-url-browser-function 'browse-url-default-browser "Function to display the current buffer in a WWW browser.\nThis is used by the `browse-url-at-point', `browse-url-at-mouse', and\n`browse-url-of-file' commands.\n\nIf the value is not a function it should be a list of pairs\n(REGEXP . FUNCTION). In this case the function called will be the one\nassociated with the first REGEXP which matches the current URL. The\nfunction is passed the URL and any other args of `browse-url'. The last\nregexp should probably be \".\" to specify a default browser." :type (choice (function-item :tag "Emacs W3" :value browse-url-w3) (function-item :tag "eww" :value eww-browse-url) (function-item :tag "Mozilla" :value browse-url-mozilla) (function-item :tag "Firefox" :value browse-url-firefox) (function-item :tag "Google Chrome" :value browse-url-chrome) (function-item :tag "Chromium" :value browse-url-chromium) (function-item :tag "Epiphany" :value browse-url-epiphany) (function-item :tag "Conkeror" :value browse-url-conkeror) (function-item :tag "Text browser in an xterm window" :value browse-url-text-xterm) (function-item :tag "Text browser in an Emacs window" :value browse-url-text-emacs) (function-item :tag "KDE" :value browse-url-kde) (function-item :tag "Elinks" :value browse-url-elinks) (function-item :tag "Specified by `Browse Url Generic Program'" :value browse-url-generic) (function-item :tag "Default Windows browser" :value browse-url-default-windows-browser) (function-item :tag "Default macOS browser" :value browse-url-default-macosx-browser) (function-item :tag "Default browser" :value browse-url-default-browser) (function :tag "Your own function") (alist :tag "Regexp/function association list" :key-type regexp :value-type function)) :version "24.1" browse-url-mailto-function 'browse-url-mail "Function to display mailto: links.\nThis variable uses the same syntax as the\n`browse-url-browser-function' variable. If the\n`browse-url-mailto-function' variable is nil, that variable will\nbe used instead." (choice (function-item :tag "Emacs Mail" :value browse-url-mail) (function-item :tag "None" nil)) browse-url-man-function 'browse-url-man "Function to display man: links." (radio (function-item :tag "Emacs Man" :value browse-url-man) (const :tag "None" nil) (function :tag "Other function")) "26.1" browse-url-netscape-program "netscape" "The name by which to invoke Netscape.\n\nThe free program `netscape-remote' from\n<URL:http://home.netscape.com/newsref/std/remote.c> is said to start\nup very much quicker than `netscape'. Reported to compile on a GNU\nsystem, given vroot.h from the same directory, with cc flags\n -DSTANDALONE -L/usr/X11R6/lib -lXmu -lX11." string make-obsolete-variable "25.1" browse-url-netscape-arguments "A list of strings to pass to Netscape as arguments." (repeat (string :tag "Argument")) browse-url-netscape-startup-arguments "A list of strings to pass to Netscape when it starts up.\nDefaults to the value of `browse-url-netscape-arguments' at the time\n`browse-url' is loaded." (repeat (string :tag "Argument")) browse-url-browser-display "The X display for running the browser, if not same as Emacs's." (choice string (const :tag "Default" nil)) browse-url-mozilla-program "mozilla" "The name by which to invoke Mozilla." browse-url-mozilla-arguments "A list of strings to pass to Mozilla as arguments." (repeat (string :tag "Argument")) browse-url-mozilla-startup-arguments "A list of strings to pass to Mozilla when it starts up.\nDefaults to the value of `browse-url-mozilla-arguments' at the time\n`browse-url' is loaded." (repeat (string :tag "Argument")) browse-url-firefox-program (let ((candidates '("icecat" "iceweasel" "firefox"))) (while (and candidates (not (executable-find (car candidates)))) (setq candidates (cdr candidates))) (or (car candidates) "firefox")) "The name by which to invoke Firefox or a variant of it." browse-url-firefox-arguments "A list of strings to pass to Firefox (or variant) as arguments." (repeat (string :tag "Argument")) browse-url-firefox-startup-arguments "A list of strings to pass to Firefox (or variant) when it starts up.\nDefaults to the value of `browse-url-firefox-arguments' at the time\n`browse-url' is loaded." (repeat (string :tag "Argument")) "it no longer has any effect." "24.5" browse-url-chrome-program (let ((candidates '("google-chrome-stable" "google-chrome"))) (while (and candidates (not (executable-find (car candidates)))) (setq candidates (cdr candidates))) (or (car candidates) "chromium")) "The name by which to invoke the Chrome browser." browse-url-chrome-arguments "A list of strings to pass to Google Chrome as arguments." (repeat (string :tag "Argument")) browse-url-chromium-program (let ((candidates '("chromium" "chromium-browser"))) (while (and candidates (not (executable-find (car candidates)))) (setq candidates (cdr candidates))) (or (car candidates) "chromium")) "The name by which to invoke Chromium." browse-url-chromium-arguments "A list of strings to pass to Chromium as arguments." (repeat (string :tag "Argument")) browse-url-galeon-program "galeon" "The name by which to invoke Galeon." browse-url-galeon-arguments "A list of strings to pass to Galeon as arguments." (repeat (string :tag "Argument")) browse-url-galeon-startup-arguments "A list of strings to pass to Galeon when it starts up.\nDefaults to the value of `browse-url-galeon-arguments' at the time\n`browse-url' is loaded." (repeat (string :tag "Argument")) browse-url-epiphany-program "epiphany" "The name by which to invoke Epiphany." browse-url-epiphany-arguments "A list of strings to pass to Epiphany as arguments." (repeat (string :tag "Argument")) browse-url-epiphany-startup-arguments "A list of strings to pass to Epiphany when it starts up.\nDefaults to the value of `browse-url-epiphany-arguments' at the time\n`browse-url' is loaded." (repeat (string :tag "Argument"))] 12)
(defvar browse-url-gnome-moz-program "gnome-moz-remote")
(byte-code "\300\301\302\303#\210\304\305\306\307\310\311\312\313\314\315& \210\300\305\302\303#\210\304\316\302\317\312\320\314\315&\210\304\321\302\322\312\320\314\315&\210\304\323\302\324\310\303\312\320\314\315& \210\304\325\302\326\312\320\314\315&\210\300\325\302\303#\210\304\327\302\330\312\320\314\315&\210\304\331\302\332\312\320\314\315&\210\300\331\302\303#\210\304\333\302\334\312\320\314\315&\210\304\335\336\337\312\340\310\341\314\315& \210\300\335\302\303#\210\304\342\302\343\312\344\314\315&\210\300\342\302\303#\210\304\345\346\347\312\340\314\315&\210\300\345\302\303#\210\304\350\351\352\312\340\310\303\314\315& \210\304\353\302\354\310\303\312\355\314\315& \210\304\356\357\360\312\361\310\303\314\315& \210\304\362\302\363\312\320\314\315&\210\304\364\302\365\312\366\314\315&\210\304\367\370\371\312\372\314\315&\210\300\367\302\303#\210\304\373\374\375\312\340\314\315&\210\300\373\302\303#\207" [make-obsolete-variable browse-url-gnome-moz-program nil "25.1" custom-declare-variable browse-url-gnome-moz-arguments 'nil "A list of strings passed to the GNOME mozilla viewer as arguments." :version "21.1" :type (repeat (string :tag "Argument")) :group browse-url browse-url-mozilla-new-window-is-tab "Whether to open up new windows in a tab or a new window.\nIf non-nil, then open the URL in a new tab rather than a new window if\n`browse-url-mozilla' is asked to open it in a new window." boolean browse-url-firefox-new-window-is-tab "Whether to open up new windows in a tab or a new window.\nIf non-nil, then open the URL in a new tab rather than a new window if\n`browse-url-firefox' is asked to open it in a new window." browse-url-conkeror-new-window-is-buffer "Whether to open up new windows in a buffer or a new window.\nIf non-nil, then open the URL in a new buffer rather than a new window if\n`browse-url-conkeror' is asked to open it in a new window." browse-url-galeon-new-window-is-tab "Whether to open up new windows in a tab or a new window.\nIf non-nil, then open the URL in a new tab rather than a new window if\n`browse-url-galeon' is asked to open it in a new window." browse-url-epiphany-new-window-is-tab "Whether to open up new windows in a tab or a new window.\nIf non-nil, then open the URL in a new tab rather than a new window if\n`browse-url-epiphany' is asked to open it in a new window." browse-url-netscape-new-window-is-tab "Whether to open up new windows in a tab or a new window.\nIf non-nil, then open the URL in a new tab rather than a new\nwindow if `browse-url-netscape' is asked to open it in a new\nwindow." browse-url-new-window-flag "Non-nil means always open a new browser window with appropriate browsers.\nPassing an interactive argument to \\[browse-url], or specific browser\ncommands reverses the effect of this variable." browse-url-mosaic-program "xmosaic" "The name by which to invoke Mosaic (or mMosaic)." string "20.3" browse-url-mosaic-arguments "A list of strings to pass to Mosaic as arguments." (repeat (string :tag "Argument")) browse-url-mosaic-pidfile "~/.mosaicpid" "The name of the pidfile created by Mosaic." browse-url-conkeror-program "conkeror" "The name by which to invoke Conkeror." browse-url-conkeror-arguments "A list of strings to pass to Conkeror as arguments." (repeat (string :tag "Argument")) browse-url-filename-alist `(("^/\\(ftp@\\|anonymous@\\)?\\([^:/]+\\):/*" . "ftp://\\2/") ("^/\\([^:@/]+@\\)?\\([^:/]+\\):/*" . "ftp://\\1\\2/") ,@(if (memq system-type '(windows-nt ms-dos)) '(("^\\([a-zA-Z]:\\)[\\/]" . "file:///\\1/") ("^[\\/][\\/]+" . "file://"))) ("^/+" . "file:///")) "An alist of (REGEXP . STRING) pairs used by `browse-url-of-file'.\nAny substring of a filename matching one of the REGEXPs is replaced by\nthe corresponding STRING using `replace-match', not treating STRING\nliterally. All pairs are applied in the order given. The default\nvalue converts ange-ftp/EFS-style file names into ftp URLs and prepends\n`file:' to any file name beginning with `/'.\n\nFor example, adding to the default a specific translation of an ange-ftp\naddress to an HTTP URL:\n\n (setq browse-url-filename-alist\n \\='((\"/webmaster@webserver:/home/www/html/\" .\n \"http://www.acme.co.uk/\")\n (\"^/\\(ftp@\\|anonymous@\\)?\\([^:/]+\\):/*\" . \"ftp://\\2/\")\n (\"^/\\([^:@/]+@\\)?\\([^:/]+\\):/*\" . \"ftp://\\1\\2/\")\n (\"^/+\" . \"file:/\")))" (repeat (cons :format "%v" (regexp :tag "Regexp") (string :tag "Replacement"))) browse-url-save-file "If non-nil, save the buffer before displaying its file.\nUsed by the `browse-url-of-file' command." browse-url-of-file-hook "Hook run after `browse-url-of-file' has asked a browser to load a file." hook browse-url-CCI-port 3003 "Port to access XMosaic via CCI.\nThis can be any number between 1024 and 65535 but must correspond to\nthe value set in the browser." integer browse-url-CCI-host "localhost" "Host to access XMosaic via CCI.\nThis should be the host name of the machine running XMosaic with CCI\nenabled. The port number should be set in `browse-url-CCI-port'."] 10)
(defvar browse-url-temp-file-name nil)
(byte-code "\300\301!\210\302\303\304\305\306\307\310\311&\210\302\312\313\314\306\315\310\311&\210\302\316\317\320\306\307\310\311&\210\302\321\322\323\306\324\310\311&\210\302\325\313\326\306\327\310\311&\210\302\330\313\331\306\332\310\311&\210\302\333\334\335\306\307\310\311&\210\302\336\337\340\306\341\310\311&\210\342\336\313\343#\210\302\344\345\346\306\307\310\311\347\350& \210\302\351\352\353\306\354\347\350\310\311& \210\302\355\356\357\306\360\347\350\310\311& \210\302\361\362\363\306\364\347\350\310\311& \210\302\365\366\367\306\341\347\350\310\311& \210\302\370\371\372\306\307\347\373\310\311& \210\302\374\375\376\306\377\310\311&\210\302\201@ \201A \201B \306\201C \310\311&\207" [make-variable-buffer-local browse-url-temp-file-name custom-declare-variable browse-url-xterm-program "xterm" "The name of the terminal emulator used by `browse-url-text-xterm'.\nThis might, for instance, be a separate color version of xterm." :type string :group browse-url browse-url-xterm-args nil "A list of strings defining options for `browse-url-xterm-program'.\nThese might set its size, for instance." (repeat (string :tag "Argument")) browse-url-gnudoit-program "gnudoit" "The name of the `gnudoit' program used by `browse-url-w3-gnudoit'." browse-url-gnudoit-args '("-q") "A list of strings defining options for `browse-url-gnudoit-program'.\nThese might set the port, for instance." (repeat (string :tag "Argument")) browse-url-generic-program "The name of the browser program used by `browse-url-generic'." (choice string (const :tag "None" nil)) browse-url-generic-args "A list of strings defining options for `browse-url-generic-program'." (repeat (string :tag "Argument")) browse-url-temp-dir temporary-file-directory "The name of a directory for browse-url's temporary files.\nSuch files are generated by functions like `browse-url-of-region'.\nYou might want to set this to somewhere with restricted read permissions\nfor privacy's sake." browse-url-netscape-version 3 "The version of Netscape you are using.\nThis affects how URL reloading is done; the mechanism changed\nincompatibly at version 4." number make-obsolete-variable "25.1" browse-url-text-browser "lynx" "The name of the text browser to invoke." :version "23.1" browse-url-text-emacs-args (and (not window-system) '("-show_cursor")) "A list of strings defining options for a text browser in an Emacs buffer.\n\nThe default is none in a window system, otherwise `-show_cursor' to\nindicate the position of the current link in the absence of\nhighlighting, assuming the normal default for showing the cursor." (repeat (string :tag "Argument")) browse-url-text-input-field 'avoid "Action on selecting an existing text browser buffer at an input field.\nWhat to do when sending a new URL to an existing text browser buffer in Emacs\nif the browser cursor is on an input field (in which case the `g' command\nwould be entered as data). Such fields are recognized by the\nunderlines ____. Allowed values: nil: disregard it, `warn': warn the\nuser and don't emit the URL, `avoid': try to avoid the field by moving\ndown (this *won't* always work)." (choice (const :tag "Move to try to avoid field" :value avoid) (const :tag "Disregard" :value nil) (const :tag "Warn, don't emit URL" :value warn)) browse-url-text-input-attempts 10 "How many times to try to move down from a series of text browser input fields." integer browse-url-text-input-delay 0.2 "Seconds to wait for a text browser between moves down from an input field." browse-url-kde-program "kfmclient" "The name by which to invoke the KDE web browser." "21.1" browse-url-kde-args '("openURL") "A list of strings defining options for `browse-url-kde-program'." (repeat (string :tag "Argument")) browse-url-elinks-wrapper '("xterm" "-e") "Wrapper command prepended to the Elinks command-line." (repeat (string :tag "Wrapper"))] 10)
#@109 URL-encode the chars in TEXT that match CHARS.
CHARS is a regexp-like character alternative (e.g., "[)$]").
(defalias 'browse-url-url-encode-chars #[(text chars) "\304!\305\306\n #\211\203% \307\310\311\312\313\305\n\"!\"\314\211\n$ T\202 \n*\207" [text s encoded-text chars copy-sequence 0 string-match replace-match format "%%%X" string-to-char match-string t] 7 (#$ . 16781)])
#@136 Escape annoying characters in URL.
The annoying characters are those that can mislead a web browser
regarding its parameter treatment.
(defalias 'browse-url-encode-url #[(url) "\301\302\"\207" [url browse-url-url-encode-chars "[\")$] "] 3 (#$ . 17176)])
(defalias 'browse-url-url-at-point #[nil "\301\302\303\"\206 \301\304\303\"\211\205 \305P)\207" [f thing-at-point url t filename "http://"] 4])
#@352 Read a URL from the minibuffer, prompting with PROMPT.
If `transient-mark-mode' is non-nil and the mark is active,
it defaults to the current region, else to the URL at or before
point. If invoked with a mouse button, it moves point to the
position clicked before acting.
This function returns a list (URL NEW-WINDOW-FLAG)
for use in `interactive'.
(defalias 'browse-url-interactive-arg #[(prompt) "\306 \307\234\211<\203 \310!\210)\311 \n\203& |