;ELC ;;; Compiled by cyd@localhost on Mon Apr 23 22:20:46 2007 ;;; from file /home/cyd/emacs/lisp/ffap.el ;;; in Emacs version 22.0.99 ;;; with all optimizations. ;;; This file uses dynamic docstrings, first added in Emacs 19.29. (if (and (boundp 'emacs-version) (< (aref emacs-version (1- (length emacs-version))) ?A) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19.29"))) (error "`ffap.el' was compiled for Emacs 19.29 or later")) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (provide 'ffap) #@54 The version of ffap: "Major.Minor-Build " (defconst ffap-version "1.9-fsf <97/06/25 13:21:41 mic>" (#$ . 571)) (custom-declare-group 'ffap nil "Find file or URL at point." :link '(url-link :tag "URL" "ftp://ftp.mathcs.emory.edu/pub/mic/emacs/") :group 'matching :group 'convenience) #@108 Return value of symbol with NAME, if it is interned. Otherwise return nil (or the optional DEFAULT value). (defalias 'ffap-soft-value #[(name &optional default) "\303!\211\203\304 !\203 J\202\n)\207" [name sym default intern-soft boundp] 3 (#$ . 872)]) #@110 Paths matching this regexp are stripped off the shell prompt If nil, ffap doesn't do shell prompt stripping. (custom-declare-variable 'ffap-shell-prompt-regexp '"[$%><]*" '(#$ . 1140) :type '(choice (const :tag "Disable" nil) (const :tag "Standard" "[$%><]*") regexp) :group 'ffap) #@120 *File names matching this regexp are treated as remote ffap. If nil, ffap neither recognizes nor generates such names. (custom-declare-variable 'ffap-ftp-regexp '"\\`/[^/:]+:" '(#$ . -1429) :type '(choice (const :tag "Disable" nil) (const :tag "Standard" "\\`/[^/:]+:") regexp) :group 'ffap) #@71 *If non-nil, convert `file:' URL to local file name before prompting. (custom-declare-variable 'ffap-url-unwrap-local 't '(#$ . -1727) :type 'boolean :group 'ffap) #@116 *If non-nil, convert `ftp:' URL to remote file name before prompting. This is ignored if `ffap-ftp-regexp' is nil. (custom-declare-variable 'ffap-url-unwrap-remote 't '(#$ . -1898) :type 'boolean :group 'ffap) #@175 *User name in ftp file names generated by `ffap-host-to-path'. Note this name may be omitted if it equals the default (either `efs-default-user' or `ange-ftp-default-user'). (custom-declare-variable 'ffap-ftp-default-user '"anonymous" '(#$ . -2115) :type 'string :group 'ffap) #@66 *Matching file names are treated as remote. Use nil to disable. (custom-declare-variable 'ffap-rfs-regexp '"\\`/\\(afs\\|net\\)/." '(#$ . -2398) :type 'regexp :group 'ffap) #@62 Regexp matching URL's. nil to disable URL features in ffap. (defvar ffap-url-regexp "\\`\\(news\\(post\\)?:\\|mailto:\\|file:\\|\\(ftp\\|https?\\|telnet\\|gopher\\|www\\|wais\\)://\\)." (#$ . 2578)) #@105 *Presumed URL prefix type of strings like "". Sensible values are nil, "news", or "mailto". (custom-declare-variable 'ffap-foo-at-bar-prefix '"mailto" '(#$ . -2785) :type '(choice (const "mailto") (const "news") (const :tag "Disable" nil)) :group 'ffap) #@633 *A regexp matching filename wildcard characters, or nil. If `find-file-at-point' gets a filename matching this pattern, and `ffap-pass-wildcards-to-dired' is nil, it passes it on to `find-file' with non-nil WILDCARDS argument, which expands wildcards and visits multiple files. To visit a file whose name contains wildcard characters you can suppress wildcard expansion by setting `find-file-wildcards'. If `find-file-at-point' gets a filename matching this pattern and `ffap-pass-wildcards-to-dired' is non-nil, it passes it on to `dired'. If `dired-at-point' gets a filename matching this pattern, it passes it on to `dired'. (custom-declare-variable 'ffap-dired-wildcards '"[*?][^/]*\\'" '(#$ . -3058) :type '(choice (const :tag "Disable" nil) (const :tag "Enable" "[*?][^/]*\\'")) :group 'ffap) #@71 *If non-nil, pass filenames matching `ffap-dired-wildcards' to dired. (custom-declare-variable 'ffap-pass-wildcards-to-dired 'nil '(#$ . -3867) :type 'boolean :group 'ffap) #@65 *Whether `find-file-at-point' prompts about a nonexistent file. (custom-declare-variable 'ffap-newfile-prompt 'nil '(#$ . -4046) :type 'boolean :group 'ffap) #@156 *If set, reverses the prefix argument to `find-file-at-point'. This is nil so neophytes notice ffap. Experts may prefer to disable ffap most of the time. (custom-declare-variable 'ffap-require-prefix 'nil '(#$ . -4211) :type 'boolean :group 'ffap) #@61 *The command called by `find-file-at-point' to find a file. (custom-declare-variable 'ffap-file-finder ''find-file '(#$ . -4466) :type 'function :group 'ffap) (put 'ffap-file-finder 'risky-local-variable t) #@62 *The command called by `dired-at-point' to find a directory. (custom-declare-variable 'ffap-directory-finder ''dired '(#$ . -4679) :type 'function :group 'ffap) (put 'ffap-directory-finder 'risky-local-variable t) #@170 *A function of one argument, called by ffap to fetch an URL. Reasonable choices are `w3-fetch' or a `browse-url-*' function. For a fancy alternative, get `ffap-url.el'. (custom-declare-variable 'ffap-url-fetcher '(if (fboundp 'browse-url) 'browse-url 'w3-fetch) '(#$ . -4900) :type '(choice (const w3-fetch) (const browse-url) (const browse-url-netscape) (const browse-url-mosaic) function) :group 'ffap) (put 'ffap-url-fetcher 'risky-local-variable t) (defalias 'ffap-mouse-event #[nil "<\205\207" [last-nonmenu-event] 1]) (defalias 'ffap-event-buffer #[(event) "\301\211:\203\3028\202\303 `\304\305F)@!\207" [event window-buffer 1 selected-window (0 . 0) 0] 6]) #@57 *Regular expression governing movements of `ffap-next'. (custom-declare-variable 'ffap-next-regexp '"[/:.~[:alpha:]]/\\|@[[:alpha:]][-[:alnum:]]*\\." '(#$ . -5581) :type 'regexp :group 'ffap) #@43 Last value returned by `ffap-next-guess'. (defvar ffap-next-guess nil (#$ . 5779)) #@65 List (BEG END), last region returned by `ffap-string-at-point'. (defvar ffap-string-at-point-region '(1 1) (#$ . 5868)) #@260 Move point to next file or URL, and return it as a string. If nothing is found, leave point at limit and return nil. Optional BACK argument makes search backwards. Optional LIM argument limits the search. Only considers strings that match `ffap-next-regexp'. (defalias 'ffap-next-guess #[(&optional back lim) "\204 \203\fe\202 d\306`=\204+ \203\307\202\310 \311#\210\312 \211\203 \2033\313\2024\314\f8b\210\n\211)\207" [lim back guess ffap-next-regexp ffap-string-at-point-region ffap-next-guess nil re-search-backward re-search-forward move ffap-guesser 0 1] 5 (#$ . 5995)]) #@322 Search buffer for next file or URL, and run ffap. Optional argument BACK says to search backwards. Optional argument WRAP says to try wrapping around if necessary. Interactively: use a single prefix to search backwards, double prefix to wrap forward, triple to wrap backwards. Actual search is done by `ffap-next-guess'. (defalias 'ffap-next #[(&optional back wrap) "`\304! \204 \203 \203d\202eb\203 \304\n\" \2030\305\306!\210\307\310 !!\202?\nb\210\311\312 \203=\313\202>\314\"*\207" [back guess pt wrap ffap-next-guess sit-for 0 find-file-at-point ffap-prompter message "No %sfiles or URL's found" "" "more "] 3 (#$ . 6598) (byte-code "\301!\302\236A\207" [current-prefix-arg prefix-numeric-value ((1) (4 t) (16 nil t) (64 t t))] 2)]) #@54 Like `ffap-next', but search with `ffap-url-regexp'. (defalias 'ffap-next-url #[(&optional back wrap) "t\203\f\304\305!\202\305\n \")\207" [ffap-url-regexp ffap-next-regexp back wrap call-interactively ffap-next] 3 (#$ . 7361) nil]) #@130 *What `ffap-machine-p' does with hostnames that have no domain. Value should be a symbol, one of `ping', `accept', and `reject'. (custom-declare-variable 'ffap-machine-p-local ''reject '(#$ . -7606) :type '(choice (const ping) (const accept) (const reject)) :group 'ffap) #@177 *What `ffap-machine-p' does with hostnames that have a known domain. Value should be a symbol, one of `ping', `accept', and `reject'. See `mail-extr.el' for the known domains. (custom-declare-variable 'ffap-machine-p-known ''ping '(#$ . -7885) :type '(choice (const ping) (const accept) (const reject)) :group 'ffap) #@180 *What `ffap-machine-p' does with hostnames that have an unknown domain. Value should be a symbol, one of `ping', `accept', and `reject'. See `mail-extr.el' for the known domains. (custom-declare-variable 'ffap-machine-p-unknown ''reject '(#$ . -8209) :type '(choice (const ping) (const accept) (const reject)) :group 'ffap) (defalias 'ffap-what-domain #[(domain) "\302\303!\210\304\305!\206 \304\306!\211\205\307 \227\"\310N)\207" [ob domain require mail-extr ffap-soft-value "mail-extr-all-top-level-domains" "all-top-level-domains" intern-soft domain-name] 4]) #@615 Decide whether HOST is the name of a real, reachable machine. Depending on the domain (none, known, or unknown), follow the strategy named by the variable `ffap-machine-p-local', `ffap-machine-p-known', or `ffap-machine-p-unknown'. Pinging uses `open-network-stream'. Optional SERVICE specifies the port used (default "discard"). Optional QUIET flag suppresses the "Pinging..." message. Optional STRATEGY overrides the three variables above. Returned values: t means that HOST answered. 'accept means the relevant variable told us to accept. "mesg" means HOST exists, but does not respond for some reason. (defalias 'ffap-machine-p #[(host &optional service quiet strategy) "\306\307\"\206\f\306\310\"??\205}\306\311\"\205\312\224T\313O\227\211\203)\314 !\202*\315 \204B \2047\f\202A\n\204? \202A \316=\203L\316\202| \317=\203V\313\202|\320\321!\204`\313\202|\204x\n;\203s\322\323\n#\210\202x\322\324\"\210\325\326\327\217*\207" [host domain what-domain strategy ffap-machine-p-local ffap-machine-p-unknown string-match "[^-[:alnum:].]" "[^0-9]" "\\.[^.]*$" 0 nil ffap-what-domain "Local" accept reject fboundp open-network-stream message "Pinging %s (%s)..." "Pinging %s ..." error (byte-code "\302\303\304\305 \206\n\306$!\210\307\207" [host service delete-process open-network-stream "ffap-machine-p" nil "discard" t] 6) ((error (byte-code "A@\302\303 \"\203\304\2025\302\305 \"\203 \2025 \306\232\203/\3078\310\232?\2055\3078\2025\311@A\")\207" [error mesg string-match "^Unknown host" nil "not responding$" "connection failed" 2 "permission denied" signal] 3))) ffap-machine-p-known quiet] 5 (#$ . 8784)]) #@62 In remote FULLNAME, replace path with NAME. May return nil. (defalias 'ffap-replace-file-component #[(fullname name) "\303\304\305\306\"\210\205\307M\205 \n\")\207" [found fullname name nil mapcar #[(sym) "\302!\205 \211\207" [sym found fboundp] 2] (efs-replace-path-component ange-ftp-replace-path-component ange-ftp-replace-name-component) ffap-replace-file-component] 3 (#$ . 10459)]) #@56 Return trailing `.foo' suffix of FILE, or nil if none. (defalias 'ffap-file-suffix #[(file) "\302\303\"\211\205  \304O)\207" [file pos string-match "\\.[^./]*\\'" nil] 4 (#$ . 10866)]) #@54 List of suffixes tried by `ffap-file-exists-string'. (defvar ffap-compression-suffixes '(".gz" ".Z") (#$ . 11061)) #@251 Return FILE (maybe modified) if the file exists, else nil. When using jka-compr (a.k.a. `auto-compression-mode'), the returned name may have a suffix added from `ffap-compression-suffixes'. The optional NOMODIFY argument suppresses the extra search. (defalias 'ffap-file-exists-string #[(file &optional nomodify) "\204\306\207\307!\203\207 \203\306\207\310\311\n\"\204\306\207\312! \235\203'\306\207 \306\211\211 \203P\307 @P\211!\203G \306\211 \202/ A\211 \2042\f+\207" [file nomodify file-name-handler-alist ffap-compression-suffixes ret try nil file-exists-p rassq jka-compr-handler ffap-file-suffix list] 4 (#$ . 11183)]) #@64 If FILENAME looks remote, return it (maybe slightly improved). (defalias 'ffap-file-remote-p #[(filename) "\203%\303 \"\203%\303\304 \"\203! \305\211\224TO \305\225\306OP\202\" \2061\n\2051\303\n \"\2051 \207" [ffap-ftp-regexp filename ffap-rfs-regexp string-match "//" 0 nil] 4 (#$ . 11842)]) #@52 Return machine name at point if it exists, or nil. (defalias 'ffap-machine-at-point #[nil "\301\302!\303!\205 )\207" [mach ffap-string-at-point machine ffap-machine-p] 2 (#$ . 12151)]) #@121 Convert HOST to something like "/USER@HOST:" or "/HOST:". Looks at `ffap-ftp-default-user', returns "" for "localhost". (defalias 'ffap-host-to-filename #[(host) "\303\232\203\304\207 \211\305\306!\232\204\n\305\307!\232\203\310\311\n\211\205#\312\313\260)\207" [host ffap-ftp-default-user user "localhost" "" ffap-soft-value "ange-ftp-default-user" "efs-default-user" nil "/" "@" ":"] 6 (#$ . 12347)]) (put 'ffap-host-to-filename 'byte-optimizer 'byte-compile-inline-expand) (defalias 'ffap-fixup-machine #[(mach) "\203 ;\204 \306\207\307\310 \"\203\311 \312Q\207\307\313 \"\203#\314 \312Q\207\n\205T \211\315\232\2033\316\202S\f\211\317\320!\232\204E \317\321!\232\203G\306\312 \211\205N\322 \323\260))\207" [ffap-url-regexp mach ffap-ftp-regexp host ffap-ftp-default-user user nil string-match "\\`gopher[-.]" "gopher://" "/" "\\`w\\(ww\\|eb\\)[-.]" "http://" "localhost" "" ffap-soft-value "ange-ftp-default-user" "efs-default-user" "@" ":"] 7]) #@52 Strings not matching this fail `ffap-newsgroup-p'. (defvar ffap-newsgroup-regexp "^[[:lower:]]+\\.[-+[:lower:]_0-9.]+$" (#$ . 13332)) #@52 Used by `ffap-newsgroup-p' if gnus is not running. (defvar ffap-newsgroup-heads '("alt" "comp" "gnu" "misc" "news" "sci" "soc" "talk") (#$ . 13472)) #@60 Return STRING if it looks like a newsgroup name, else nil. (defalias 'ffap-newsgroup-p #[(string) "\306 \"\205O\307\n\310\211\203&@A\310\311\312\217\210\202 \204M \203M\306\313 \"\211\203L \314\315\225O\211\203L \235\203L ) ,\207" [ffap-newsgroup-regexp string ffap-newsgroup-heads ret htb heads string-match (gnus-active-hashtb gnus-newsrc-hashtb gnus-killed-hashtb) nil (byte-code "J\203\305 J\"\203 \306\306\211\207" [htb string ret htbs heads intern-soft nil] 4) ((error)) "\\`\\([[:lower:]]+\\)\\." 0 1 htbs head] 5 (#$ . 13627)]) #@68 If STRING looks like an url, return it (maybe improved), else nil. (defalias 'ffap-url-p #[(string) "\303 \205\304 \n\"\205\n)\207" [case-fold-search ffap-url-regexp string t string-match] 3 (#$ . 14209)]) (put 'ffap-url-p 'byte-optimizer 'byte-compile-inline-expand) #@65 Return URL as a local file, or nil. Ignores `ffap-url-regexp'. (defalias 'ffap-url-unwrap-local #[(url) "\301\302\"\205 \303\225T\304O\207" [url string-match "\\`\\(file\\|ftp\\):/?\\([^/]\\|\\'\\)" 1 nil] 3 (#$ . 14488)]) (put 'ffap-url-unwrap-local 'byte-optimizer 'byte-compile-inline-expand) #@66 Return URL as a remote file, or nil. Ignores `ffap-url-regexp'. (defalias 'ffap-url-unwrap-remote #[(url) "\304\305\"\205@\306\224\306\225O\211\307\232\203\310\2028\n\211\311\312!\232\204* \311\313!\232\203,\314\315 \211\2053\316 \317\260))\320\224\320\225OP\207" [url host ffap-ftp-default-user user string-match "\\`\\(ftp\\|file\\)://\\([^:/]+\\):?\\(/.*\\)" 2 "localhost" "" ffap-soft-value "ange-ftp-default-user" "efs-default-user" nil "/" "@" ":" 3] 7 (#$ . 14794)]) (put 'ffap-url-unwrap-remote 'byte-optimizer 'byte-compile-inline-expand) #@51 Clean up URL and return it, maybe as a file name. (defalias 'ffap-fixup-url #[(url) ";\204\306\207 \203\307\310\"\205\311\225T\306O)\206{\n\203p \203p\307\312\"\205l\313\224\313\225O\211\314\232\203@\315\202d \211\316\317!\232\204T\316\320!\232\203W\306\321\211\205_\322\f\323\260))\324\224\324\225OP)\206{\325\326!\203z\326!\207\207" [url ffap-url-unwrap-local ffap-url-unwrap-remote ffap-ftp-regexp host ffap-ftp-default-user nil string-match "\\`\\(file\\|ftp\\):/?\\([^/]\\|\\'\\)" 1 "\\`\\(ftp\\|file\\)://\\([^:/]+\\):?\\(/.*\\)" 2 "localhost" "" ffap-soft-value "ange-ftp-default-user" "efs-default-user" "/" "@" ":" 3 fboundp url-normalize-url user] 7 (#$ . 15363)]) #@268 Return a list of strings parsed from environment variable ENV. Optional EMPTY is the default list if (getenv ENV) is undefined, and also is substituted for the first empty-string component, if there is one. Uses `path-separator' to separate the path into substrings. (defalias 'ffap-list-env #[(env &optional empty) "\204\n\306 !\205V\307\310\211\211\306 !\fP\311\f #\211\2033 \fO\fT \nB\202\n\237\203T\312\n\235\211\203T\f\313\243\fA\"\241\210\f\242\206R\240\210\n,\207" [empty env ret dir match start getenv 0 nil string-match "" append path-separator] 4 (#$ . 16084)]) #@55 Remove duplicates and non-directories from PATH list. (defalias 'ffap-reduce-path #[(path) "\303\211\n\203/\n\nA@\304\232\203\305\240\210@ \235\204\306@!\203 \241\210\202 \237*\207" [tem ret path nil "." "" file-directory-p] 2 (#$ . 16690)]) #@216 Return list all subdirectories under DIR, starting with itself. Directories beginning with "." are ignored, and directory symlinks are listed but never searched (to avoid loops). Optional DEPTH limits search depth. (defalias 'ffap-all-subdirs #[(dir &optional depth) "\302!\205\303\304! \206\305\"\207" [dir depth file-exists-p ffap-all-subdirs-loop expand-file-name -1] 3 (#$ . 16959)]) (defalias 'ffap-all-subdirs-loop #[(dir depth) "S \302=?\205\303\304\305\306\307 \310\311#\"\"B\207" [depth dir -1 apply nconc mapcar #[(d) "\302!\204\303\207\304!\203C\207\305 \"\207" [d depth file-directory-p nil file-symlink-p ffap-all-subdirs-loop] 3] directory-files t "\\`[^.]"] 9]) #@125 Bound on depth of subdirectory search in `ffap-kpathsea-expand-path'. Set to 0 to avoid all searching, or nil for no limit. (defvar ffap-kpathsea-depth 1 (#$ . 17662)) #@255 Replace each "//"-suffixed dir in PATH by a list of its subdirs. The subdirs begin with the original directory, and the depth of the search is bounded by `ffap-kpathsea-depth'. This is intended to mimic kpathsea, a library used by some versions of TeX. (defalias 'ffap-kpathsea-expand-path #[(path) "\301\302\303\304\"\"\207" [path apply nconc mapcar #[(dir) "\302\303\"\203\304\305\306O \"\207C\207" [dir ffap-kpathsea-depth string-match "[^/]//\\'" ffap-all-subdirs 0 -2] 4]] 5 (#$ . 17837)]) #@581 A generic path-searching function, mimics `load' by default. Returns path to file that (load FILE) would load, or nil. Optional NOSUFFIX, if nil or t, is like the fourth argument for load: whether to try the suffixes (".elc" ".el" ""). If a nonempty list, it is a list of suffixes to try instead. Optional PATH is a list of directories instead of `load-path'. Optional DIR-OK means that returning a directory is allowed, DIR-OK is already implicit if FILE looks like a directory. This uses ffap-file-exists-string, which may try adding suffixes from `ffap-compression-suffixes'. (defalias 'ffap-locate-file #[(file &optional nosuffix path dir-ok) "\204 \n\204\306 !\307\232\310 !\203\311 !C\306 !\f:\203(\f\2021\f\2030\312\2021\313\314\211\211\203\203x\315\316 @P@\"!\211\203o\n\204d\317!\204o\314\211\202CA\211\204HA\211\204? ,\207" [path load-path dir-ok file nosuffix found file-name-nondirectory "" file-name-absolute-p file-name-directory ("") (".elc" ".el" "") nil ffap-file-exists-string expand-file-name file-directory-p try suffixes suffixes-to-try] 5 (#$ . 18346)]) #@438 Alist of (KEY . FUNCTION) pairs parsed by `ffap-file-at-point'. If string NAME at point (maybe "") is not a file or url, these pairs specify actions to try creating such a string. A pair matches if either KEY is a symbol, and it equals `major-mode', or KEY is a string, it should matches NAME as a regexp. On a match, (FUNCTION NAME) is called and should return a file, an url, or nil. If nil, search the alist for further matches. (defvar ffap-alist '(("" . ffap-completable) ("\\.info\\'" . ffap-info) ("\\`info/" . ffap-info-2) ("\\`[-[:lower:]]+\\'" . ffap-info-3) ("\\.elc?\\'" . ffap-el) (emacs-lisp-mode . ffap-el-mode) (finder-mode . ffap-el-mode) (help-mode . ffap-el-mode) (c++-mode . ffap-c-mode) (cc-mode . ffap-c-mode) ("\\.\\([chCH]\\|cc\\|hh\\)\\'" . ffap-c-mode) (fortran-mode . ffap-fortran-mode) ("\\.[fF]\\'" . ffap-fortran-mode) (tex-mode . ffap-tex-mode) (latex-mode . ffap-latex-mode) ("\\.\\(tex\\|sty\\|doc\\|cls\\)\\'" . ffap-tex) ("\\.bib\\'" . ffap-bib) ("\\`\\." . ffap-home) ("\\`~/" . ffap-lcd) ("^[Rr][Ff][Cc][- #]?\\([0-9]+\\)" . ffap-rfc) (dired-mode . ffap-dired)) (#$ . 19487)) (put 'ffap-alist 'risky-local-variable t) (defalias 'ffap-completable #[(name) "\304!\206 \305\306!\n\"\211\205\n P*\207" [name default-directory dir cmp file-name-directory file-name-completion file-name-nondirectory] 4]) (defalias 'ffap-home #[(name) "\301\302\303#\207" [name ffap-locate-file t ("~")] 4]) (defalias 'ffap-info #[(name) "\301\302\303\304!\206\f\303\305!#\207" [name ffap-locate-file ("" ".info") ffap-soft-value "Info-directory-list" "Info-default-directory-list"] 5]) (defalias 'ffap-info-2 #[(name) "\301\302\303O!\207" [name ffap-info 5 nil] 4]) (defalias 'ffap-info-3 #[(name) "\301 \302\232\205\n\303!\207" [name ffap-string-around "()" ffap-info] 2]) (defalias 'ffap-el #[(name) "\301\302\"\207" [name ffap-locate-file t] 3]) (defalias 'ffap-el-mode #[(name) "\301\302\"?\205\f\303\304\"\207" [name string-match "\\.el\\'" ffap-locate-file (".el")] 3]) (byte-code "\301B\302\301!\204\303\301\304\"\210\301\207" [current-load-list ffap-c-path default-boundp set-default ("/usr/include" "/usr/local/include")] 3) (defalias 'ffap-c-mode #[(name) "\302\303 #\207" [name ffap-c-path ffap-locate-file t] 4]) (byte-code "\301B\302\301!\204\303\301\304\"\210\301\207" [current-load-list ffap-fortran-path default-boundp set-default ("../include" "/usr/include")] 3) (defalias 'ffap-fortran-mode #[(name) "\302\303 #\207" [name ffap-fortran-path ffap-locate-file t] 4]) #@105 Path where `ffap-tex-mode' looks for tex files. If t, `ffap-tex-init' will initialize this when needed. (defvar ffap-tex-path t (#$ . 22026)) (defalias 'ffap-tex-init #[nil "\301=\205\302\303!\205\304\305\306\307\310\311!\312\313\314\"\"!B!\211\207" [ffap-tex-path t message "Initializing ffap-tex-path ..." ffap-reduce-path "." ffap-kpathsea-expand-path append ffap-list-env "TEXINPUTS" ffap-soft-value "TeX-macro-global" ("/usr/local/lib/tex/macros" "/usr/local/lib/tex/inputs")] 8]) (defalias 'ffap-tex-mode #[(name) "\302 \210\303\304 #\207" [name ffap-tex-path ffap-tex-init ffap-locate-file (".tex" "")] 4]) (defalias 'ffap-latex-mode #[(name) "\302 \210\303\304 #\207" [name ffap-tex-path ffap-tex-init ffap-locate-file (".cls" ".sty" ".tex" "")] 4]) (defalias 'ffap-tex #[(name) "\302 \210\303\304 #\207" [name ffap-tex-path ffap-tex-init ffap-locate-file t] 4]) (byte-code "\301B\302\301!\204\303\301\304\305\306\307!\"\"\210\301\207" [current-load-list ffap-bib-path default-boundp set-default ffap-list-env "BIBINPUTS" ffap-reduce-path ("/usr/local/lib/tex/macros/bib" "/usr/lib/texmf/bibtex/bib")] 6) (defalias 'ffap-bib #[(name) "\302\303 #\207" [name ffap-bib-path ffap-locate-file t] 4]) (defalias 'ffap-dired #[(name) "`\304\211\212\305 \210\306\307!\2050\310\311\304\312#\2050\313\314\n\312#\2050\315\316 \317\224\317\225{\"\211!\2050,\207" [try dir pt name nil beginning-of-line looking-at " *[-d]r[-w][-x][-r][-w][-x][-r][-w][-x] " re-search-backward "^ *$" t re-search-forward "^ *\\([^ \n:]*\\):\n *total " file-exists-p expand-file-name 1] 5]) (defalias 'ffap-lcd #[(name) "\304\305\306 \"\204\307 \310\235\205J\311\312\313\"\211\314\232\203\315\202> \211\311\316!\232\2040\n\311\317!\232\2032\320\321\n\211\2059\322\323\260))\324\311\325\326\"! \327\320OQ\207" [host ffap-ftp-default-user user name string-match "Lisp Code Dir" buffer-name ffap-string-around ("||" "|\n") ffap-soft-value "elisp-archive-host" "archive.cis.ohio-state.edu" "localhost" "" "ange-ftp-default-user" "efs-default-user" nil "/" "@" ":" file-name-as-directory "elisp-archive-directory" "/pub/gnu/emacs/elisp-archive/" 2] 7]) (byte-code "\304B\305\304!\204=\306\304\307\211\310\232\203\311\2028\n\211\312\313!\232\204* \312\314!\232\203,\315\316 \211\2053\317 \320\260))\321P\"\210\315\207" [current-load-list host ffap-ftp-default-user user ffap-rfc-path default-boundp set-default "ftp.rfc-editor.org" "localhost" "" ffap-soft-value "ange-ftp-default-user" "efs-default-user" nil "/" "@" ":" "/in-notes/rfc%s.txt"] 9) (defalias 'ffap-rfc #[(name) "\302 \303\224\303\225O\"\207" [ffap-rfc-path name format 1] 5]) #@347 Alist of (MODE CHARS BEG END), where MODE is a symbol, possibly a major-mode name, or one of the symbol `file', `url', `machine', and `nocolon'. `ffap-string-at-point' uses the data fields as follows: 1. find a maximal string of CHARS around point, 2. strip BEG chars before point from the beginning, 3. Strip END chars after point from the end. (defvar ffap-string-at-point-mode-alist '((file "--:$+<>@-Z_[:lower:]~*?" "<@" "@>;.,!:") (url "--:=&?$+@-Z_[:lower:]~#,%;*" "^[:alnum:]" ":;.,!?") (nocolon "--9$+<>@-Z_[:lower:]~" "<@" "@>;.,!?") (machine "-[:alnum:]." "" ".") (math-mode ",-:$+<>@-Z_[:lower:]~`" "<" "@>;.,!?`:")) (#$ . 24696)) #@49 Last string returned by `ffap-string-at-point'. (defvar ffap-string-at-point nil (#$ . 25344)) #@356 Return a string of characters from around point. MODE (defaults to value of `major-mode') is a symbol used to look up string syntax parameters in `ffap-string-at-point-mode-alist'. If MODE is not found, we use `file' instead of MODE. If the region is active, return a string from the region. Sets `ffap-string-at-point' and `ffap-string-at-point-region'. (defalias 'ffap-string-at-point #[(&optional mode) "\206 \n\236\206 \306\n\236A` \203) \203)\307 \240A\310 \240{\202M\212 @\311x\210 A@\fw\210`\240)\212 @\311w\210\312 8\fx\210A`\240){\313\314G\311$\210\211+\207" [mode major-mode ffap-string-at-point-mode-alist args pt transient-mark-mode file region-beginning region-end nil 2 set-text-properties 0 mark-active ffap-string-at-point-region str ffap-string-at-point] 5 (#$ . 25446)]) #@100 Return string of two chars around last `ffap-string-at-point'. Assumes the buffer has not changed. (defalias 'ffap-string-around #[nil "\212\301\302@b\210hA@b\210g#)\207" [ffap-string-at-point-region format "%c%c"] 4 (#$ . 26270)]) #@62 Call `ffap-string-at-point', and copy result to `kill-ring'. (defalias 'ffap-copy-string-as-kill #[(&optional mode) "\302!\211\303\232\203\304\305!\202\306 !\210\304\307 \")\207" [mode str ffap-string-at-point "" message "No string found around point." kill-new "Copied to kill ring: %s"] 4 (#$ . 26510) nil]) #@52 Return url from around point if it exists, or nil. (defalias 'ffap-url-at-point #[nil "\205\215 \306=\203\307\310!\206\215\311\312!\313\314\n\"\203#\n\315\316O\202v\313\317\n\"\203L\320 \321\232\203<\313\322\n\"\203< \202=\323\211\205H\f\324\nQ\211)\204v\325\n!\203Y\326\nP\202v\313\327\n\"\203v\320 \321\232\203v\313\330\331\330\nP!\"\204v\332\nP\n\310\205\207\313 \"\205\207 *\205\214\n)\207" [ffap-url-regexp major-mode name ffap-foo-at-bar-prefix prefix string w3-mode w3-view-this-url t ffap-string-at-point url string-match "^url:" 4 nil "\\`[^:@]+@[^:@]+[[:alnum:]]\\'" ffap-string-around "<>" "[$.0-9].*[$.0-9].*@" "mailto" ":" ffap-newsgroup-p "news:" "\\`[[:alnum:]]+\\'" "~" expand-file-name "mailto:" case-fold-search] 6 (#$ . 26832)]) #@109 Regexp Matching a line in a gopher bookmark (maybe indented). The two subexpressions are the KEY and VALUE. (defvar ffap-gopher-regexp "^.*\\<\\(Type\\|Name\\|Path\\|Host\\|Port\\) *= *\\(.*\\) *$" (#$ . 27625)) #@61 If point is inside a gopher bookmark block, return its url. (defalias 'ffap-gopher-at-point #[nil "\212\306 \210\307!\205\213\307!\203o\204\310y\210\202\n\307!\204#\311y\210\312\313\211\211\314\307!\203P\315\311\224\311\225{\227!\316\224\316\225{\211L\210\311y\210*\202- \203k\317\320 \"\203k\321 \322\323\225SO \323\225\313OQ\202\212 G\311U\205\212\n\205\212\324\n \314\232\203\202\325\202\205\326 P\327 \260-)\207" [ffap-gopher-regexp port host path name type beginning-of-line looking-at -1 1 "1" nil "70" intern 2 string-match "^ftp:.*@" "ftp://" 4 0 "gopher://" "" ":" "/" val var] 7 (#$ . 27843)]) #@119 Strings matching this are coerced to ftp file names by ffap. That is, ffap just prepends "/". Set to nil to disable. (defvar ffap-ftp-sans-slash-regexp (byte-code "\205\301\207" [ffap-ftp-regexp "\\`\\([^:@]+@[^:@]+:\\|[^@.:]+\\.[^@:]+:\\|[^:]+:[~/]\\)\\([^:]\\|\\'\\)"] 1) (#$ . 28487)) #@231 Return filename from around point if it exists, or nil. Existence test is skipped for names that look remote. If the filename is not obvious, it also tries `ffap-alist', which may actually result in an url rather than a filename. (defalias 'ffap-file-at-point #[nil "\306\307 \310 \311\312\313\217\206\n\314 !  #\315\216 \316\235\203&\311\202\235\f\2040\317 !\206\235\f\204E\320\321 \"\203E\317 \322\211\224O!\206\235$\203`\f\204`\320$ \"\203`\317 \322\225\311O!\206\235\f\203j\323 !\206\235\f\203t\317 !\206\235\320% \"\203\212\310\324!\211\203\212\317 !\206\235&\311\211\211'())\203\364'\204\364)@()A)*(@=\204\303(@;\203\226\320(@ \"\203\226\311\325\326\217\211'\203\226'\306+\205\340\320+\n\"\205\340\n*\206\357\323'!\206\357\317'!'\202\226',\206\235\f\204,\203\320,#\"\203\323\327#P!\206\235\311-\323 !\2065*\330=\2055\320\331\332 \"\2055\327\332 \333\334O\335Q\211.\205W\320\336 \"\203P\317\337. \340\225\311O\"!\206W\317\337. \"!*\206\235/\203z\320/ \"\203z\f\203z\317\341\342 !!!\203z \206\235 00\203\230\3170!\204\2300\341\3420!!\2110\232\203}\3170!).\207" [case-fold-search data string name abs default-directory t match-data ffap-string-at-point nil (byte-code "\301\302\"?\205 \303!\207" [string string-match "//" substitute-in-file-name] 3) ((error)) file-name-absolute-p ((set-match-data data)) ("" "/" "//" "/*" ".") ffap-file-exists-string string-match ":[0-9]" 0 ffap-file-remote-p nocolon (byte-code "A !\207" [tem name] 2) ((error)) "/" internal-ange-ftp-mode "^\\*ftp \\(.*\\)@\\(.*\\)\\*$" buffer-name 5 -1 ":" "\\`\\(/?~?ftp\\)/" ffap-replace-file-component 1 file-name-directory directory-file-name oname ffap-shell-prompt-regexp path-separator ffap-alist try tem alist major-mode ffap-url-regexp ffap-ftp-sans-slash-regexp ffap-rfs-regexp remote-dir ffap-dired-wildcards dir] 7 (#$ . 28786)]) #@66 Read file or url from minibuffer, with PROMPT and initial GUESS. (defalias 'ffap-read-file-or-url #[(prompt guess) "\204 \306\307 \205\310 \"\205 *\204,\311!\204(\312\313!!\314!\307\315\316\n\306\n\203D\nGB\202E\317C\205P\312!&*\307 \205d\310 \"\205d *\204l\320!)\207" [guess default-directory dir string case-fold-search ffap-url-regexp nil t string-match ffap-file-remote-p abbreviate-file-name expand-file-name file-name-directory completing-read ffap-read-file-or-url-internal file-name-history substitute-in-file-name read-file-name-completion-ignore-case completion-ignore-case minibuffer-completing-file-name prompt buffer-file-name] 9 (#$ . 30721)]) #@62 Complete url's from history, treating given string as valid. (defalias 'ffap-read-url-internal #[(string dir action) "\303\304! \204\305\n\"\206&\n\202& \306=\203%\307\n\"\206&\nC\202&\306)\207" [hist action string ffap-soft-value "url-global-history-hash-table" try-completion t all-completions] 3 (#$ . 31434)]) (defalias 'ffap-read-file-or-url-internal #[(string dir action) "\204 \n\204\f \n\306\f\205\307\f\n\"\205\n*\203&\310\n #\207\311\n #\207" [dir default-directory string case-fold-search ffap-url-regexp action t string-match ffap-read-url-internal read-file-name-internal] 4]) (defalias 'ffap-complete-as-file-p #[nil "\305=\203\306 \307 \205\310 \"\205 *?\207\f\205\311\207" [minibuffer-completion-table string case-fold-search ffap-url-regexp minibuffer-completing-file-name ffap-read-file-or-url-internal buffer-string t string-match (t)] 3]) (byte-code "\301\302!\203\303\300!\203\304\301\207" [PC-completion-as-file-name-predicate featurep complete boundp ffap-complete-as-file-p] 2) #@59 If non-nil, ffap highlights the current buffer substring. (defvar ffap-highlight t (#$ . 32484)) (custom-declare-face 'ffap '((t :inherit highlight)) "Face used to highlight the current buffer substring." :group 'ffap :version "22.1") #@35 Overlay used by `ffap-highlight'. (defvar ffap-highlight-overlay nil (#$ . 32725)) #@257 If `ffap-highlight' is set, highlight the guess in this buffer. That is, the last buffer substring found by `ffap-string-at-point'. Optional argument REMOVE means to remove any such highlighting. Uses the face `ffap' if it is defined, or else `highlight'. (defalias 'ffap-highlight #[(&optional remove) "\203\f \205*\304 !\207\n\204\305\207 \203 \306 @ A@p$\207\307\310 \"\311 \312\313#\207" [remove ffap-highlight-overlay ffap-highlight ffap-string-at-point-region delete-overlay nil move-overlay apply make-overlay overlay-put face ffap] 5 (#$ . 32815)]) #@60 Return file or URL or nil, guessed from text around point. (defalias 'ffap-guesser #[nil "\203\301\302 \206\f\303 !\206\304 \206\305\306 !\207" [ffap-url-regexp ffap-fixup-url ffap-url-at-point ffap-gopher-at-point ffap-file-at-point ffap-fixup-machine ffap-machine-at-point] 2 (#$ . 33386)]) (defalias 'ffap-prompter #[(&optional guess) "\300\216\301\302\215)\207" [((ffap-highlight t)) ffap-prompter (byte-code "\302\203 \303\202\n\304 \206\305 \211\211\203\306 \210\"\207" [ffap-url-regexp guess ffap-read-file-or-url "Find file or URL: " "Find file: " ffap-guesser ffap-highlight] 4)] 2]) #@393 Find FILENAME, guessing a default from text around point. If `ffap-url-regexp' is not nil, the FILENAME may also be an URL. With a prefix, this command behaves exactly like `ffap-file-finder'. If `ffap-require-prefix' is set, the prefix meaning is reversed. See also the variables `ffap-dired-wildcards', `ffap-newfile-prompt', and the functions `ffap-file-at-point' and `ffap-url-at-point'. (defalias 'find-file-at-point #[(&optional filename) "t\203\203 ?\202 \203\306\307\n!)\207 \204\310  \311\2051\312\f\"\2051\f*\203=\306 !)\207\203T\203T\312 \"\203T !\207\203s\312 \"\203s\203s\n\313>\203s\n\314 !\311\"\207\203\204\315 !\204\204\316\317!\203\212\n\314 !!\207\320\321\322\323 E\"\207" [ffap-require-prefix current-prefix-arg ffap-file-finder filename string case-fold-search nil call-interactively ffap-prompter t string-match (find-file find-alternate-file) expand-file-name file-exists-p y-or-n-p "File does not exist, create buffer? " signal file-error "Opening file buffer" "no such file or directory" ffap-url-regexp ffap-url-fetcher ffap-pass-wildcards-to-dired ffap-dired-wildcards ffap-directory-finder find-file-wildcards ffap-newfile-prompt] 5 (#$ . 34002) nil]) (defalias 'ffap 'find-file-at-point) #@173 *If non-nil, overrides `ffap-next-regexp' during `ffap-menu'. Make this more restrictive for faster menu building. For example, try ":/" for URL (and some ftp) references. (defvar ffap-menu-regexp nil (#$ . -35277)) #@54 Buffer local cache of menu presented by `ffap-menu'. (defvar ffap-menu-alist nil (#$ . 35499)) (make-variable-buffer-local 'ffap-menu-alist) #@126 Text properties applied to strings found by `ffap-menu-rescan'. These properties may be used to fontify the menu references. (defvar ffap-menu-text-plist (byte-code "\300 \203\301\207\302\207" [display-mouse-p (face bold mouse-face highlight) nil] 1) (#$ . 35647)) #@296 Put up a menu of files and urls mentioned in this buffer. Then set mark, jump to choice, and try to fetch it. The menu is cached in `ffap-menu-alist', and rebuilt by `ffap-menu-rescan'. The optional RESCAN argument (a prefix, interactively) forces a rebuild. Searches with `ffap-menu-regexp'. (defalias 'ffap-menu #[(&optional rescan) "\203 \204\203 @\212\nAb\210\n@\304 \232*\204 \305 \210\306 \203)\307\202*\310\311\312BB\313#\207" [ffap-menu-alist rescan first ffap-url-regexp ffap-guesser ffap-menu-rescan ffap-menu-ask "Find file or URL" "Find file" "*Rescan Buffer*" -1 ffap-menu-cont] 4 (#$ . 35921) "P"]) (defalias 'ffap-menu-cont #[(choice) "A\302W\203 \303\304!\207\305 \210Ab\210\306\216 \203 \307 \203 \301 \210\310\302!\210\311@!)\207" [choice ffap-highlight 0 ffap-menu t push-mark ((ffap-highlight t)) ffap-guesser sit-for find-file-at-point] 2]) #@378 Prompt from a menu of choices, and then apply some action. Arguments are TITLE, ALIST, and CONT (a continuation function). This uses either a menu or the minibuffer depending on invocation. The TITLE string is used as either the prompt or menu title. Each ALIST entry looks like (STRING . DATA) and defines one choice. Function CONT is applied to the entry chosen by the user. (defalias 'ffap-menu-ask #[(title alist cont) "\305\306\307!\203\310 \203\307\311\312 \313\314\n\"BD\"\202;\315\316\317\320 \n@@#\n\305\311\305%)\321\322!\210\323\n\"\206:\n@\203E\f!\202J\324\325!\210\305)\207" [choice title alist minibuffer-setup-hook cont nil fboundp x-popup-menu ffap-mouse-event t "" mapcar #[(i) "@B\207" [i] 2] minibuffer-completion-help completing-read format "%s (default %s): " sit-for 0 assoc message "No choice made!"] 7 (#$ . 36811)]) #@129 Search buffer for `ffap-menu-regexp' to build `ffap-menu-alist'. Applies `ffap-menu-text-plist' text properties at all matches. (defalias 'ffap-menu-rescan #[nil "\206 deZ\306 \307\310\n \236\203\n\202\311\310\312\216\212eb\210\313 \211\203P\f`BB\314@`#\210\315\316`eZ\317_\245\f#\210\202(.\315\320!\210\321\322\"\211A\203\206@@A@@\232\203}\211AA\241\210\202`A\211\202b)\321\323\"\211\207" [ffap-menu-regexp ffap-next-regexp major-mode ffap-string-at-point-mode-alist item inhibit-read-only buffer-modified-p t nil file ((byte-code "\204\301\302!\210\302\207" [mod set-buffer-modified-p nil] 2)) ffap-next-guess add-text-properties message "Scanning...%2d%% <%s>" 100 "Scanning...done" sort #[(a b) "@ @\231\207" [a b] 2] #[(a b) "A AW\207" [a b] 2] mod range ffap-menu-alist ffap-string-at-point-region ffap-menu-text-plist ptr] 8 (#$ . 37677) nil]) #@128 Command invoked by `ffap-at-mouse' if nothing found at click, or nil. Ignored when `ffap-at-mouse' is called programmatically. (defvar ffap-at-mouse-fallback nil (#$ . 38597)) (put 'ffap-at-mouse-fallback 'risky-local-variable t) #@276 Find file or url guessed from text around mouse click. Interactively, calls `ffap-at-mouse-fallback' if no guess is found. Return value: * if a guess string is found, return it (after finding it) * if the fallback is called, return whatever it returns * otherwise, nil (defalias 'ffap-at-mouse #[(e) "\212\303!\210\304 )\211\203)\305!q\210\306 \210\307\216\310\311!\210\312\313 \"\210\314 !\210 )\202<t\205<\n\2037\315\n!\202<\312\316!\210\317)\207" [e guess ffap-at-mouse-fallback mouse-set-point ffap-guesser ffap-event-buffer ffap-highlight ((ffap-highlight t)) sit-for 0 message "Finding `%s'" find-file-at-point call-interactively "No file or url found at mouse click." nil] 4 (#$ . 38834) "e"]) #@83 Like `ffap', but put buffer in another window. Only intended for interactive use. (defalias 'ffap-other-window #[nil "\301\302\303\213!\210)\207" [value nil switch-to-buffer-other-window ((byte-code "\301\302!\303!\204\303\242!\204pp\207" [value call-interactively ffap bufferp] 2))] 2 (#$ . 39555) nil]) #@82 Like `ffap', but put buffer in another frame. Only intended for interactive use. (defalias 'ffap-other-frame #[nil "\303 \304!\305\306\216\307\305\"\210\310\311\213!\210)\n+\207" [win wdp value selected-window window-dedicated-p nil ((set-window-dedicated-p win wdp)) set-window-dedicated-p switch-to-buffer-other-frame ((byte-code "\301\302!\303!\204\303\242!\204pp\207" [value call-interactively ffap bufferp] 2))] 3 (#$ . 39876) nil]) #@79 Like `ffap', but mark buffer as read-only. Only intended for interactive use. (defalias 'ffap-read-only #[nil "\301\302!\303!\204\303\242!\204p\304\305<\203\202 C\"\210)\207" [value call-interactively ffap bufferp mapc #[(b) "rq\210\301\302!)\207" [b toggle-read-only 1] 2]] 3 (#$ . 40333) nil]) #@105 Like `ffap', but put buffer in another window and mark as read-only. Only intended for interactive use. (defalias 'ffap-read-only-other-window #[nil "\301 \302\303<\203\202C\"\210)\207" [value ffap-other-window mapc #[(b) "rq\210\301\302!)\207" [b toggle-read-only 1] 2]] 3 (#$ . 40652) nil]) #@104 Like `ffap', but put buffer in another frame and mark as read-only. Only intended for interactive use. (defalias 'ffap-read-only-other-frame #[nil "\301 \302\303<\203\202C\"\210)\207" [value ffap-other-frame mapc #[(b) "rq\210\301\302!)\207" [b toggle-read-only 1] 2]] 3 (#$ . 40962) nil]) #@75 Like `ffap' and `find-alternate-file'. Only intended for interactive use. (defalias 'ffap-alternate-file #[nil "\301\302\303!)\207" [ffap-file-finder find-alternate-file call-interactively ffap] 2 (#$ . 41268) nil]) #@43 Submit a bug report for the ffap package. (defalias 'ffap-bug #[nil "\302\303!\210\304\305\306\307\310\311\312\313 \314#\"#)\207" [reporter-prompt-for-summary-p obarray require reporter t reporter-submit-bug-report "Michelangelo Grigni " "ffap" mapcar intern all-completions "ffap-" boundp] 9 (#$ . 41491) nil]) (fset 'ffap-submit-bug 'ffap-bug) #@56 Bind `ffap-next' and `ffap-menu' to M-l and M-m, resp. (defalias 'ffap-ro-mode-hook #[nil "\300\301\302\"\210\300\303\304\"\207" [local-set-key "\354" ffap-next "\355" ffap-menu] 3 (#$ . 41866)]) #@66 Bind `ffap-gnus-next' and `ffap-gnus-menu' to M-l and M-m, resp. (defalias 'ffap-gnus-hook #[nil "\301\300!\210\302\303\304\305\"\210\303\306\307\"\207" [ffap-foo-at-bar-prefix make-local-variable "news" local-set-key "\354" ffap-gnus-next "\355" ffap-gnus-menu] 3 (#$ . 42068)]) (defalias 'ffap-gnus-wrapper #[(form) "p\304!=\203 \305 \210\306\307 !\310\311!\210\312\n!\210~\210`e=\203&\313\314\315\316#\210\317\216\320 !*\207" [gnus-summary-buffer sb gnus-article-buffer form get-buffer gnus-summary-select-article window-buffer selected-window gnus-configure-windows article pop-to-buffer search-forward "\n\n" nil t ((pop-to-buffer sb)) eval] 4]) #@45 Run `ffap-next' in the gnus article buffer. (defalias 'ffap-gnus-next #[nil "\300\301!\207" [ffap-gnus-wrapper (ffap-next nil t)] 2 (#$ . 42730) nil]) #@45 Run `ffap-menu' in the gnus article buffer. (defalias 'ffap-gnus-menu #[nil "\300\301!\207" [ffap-gnus-wrapper (ffap-menu)] 2 (#$ . 42887) nil]) #@152 *If set, reverses the prefix argument to `dired-at-point'. This is nil so neophytes notice ffap. Experts may prefer to disable ffap most of the time. (custom-declare-variable 'dired-at-point-require-prefix 'nil '(#$ . -43039) :type 'boolean :group 'ffap :version "20.3") #@56 Start Dired, defaulting to file at point. See `ffap'. (defalias 'dired-at-point #[(&optional filename) "t\203\203 ?\202 \203\306\307\n!)\207 \204\310  \311\2051\312\f\"\2051\f*\203: !\207\203K\312 \"\203K\n !\207\313 !\203e\314 !\203]\n\315 !!\207\n\315 !\316P!\207\317\320\321 !!\206o !\203\201\322\323!\203\201\324 !\210\n !\207\325\326 \"\207" [dired-at-point-require-prefix current-prefix-arg ffap-directory-finder filename string case-fold-search nil call-interactively dired-at-point-prompter t string-match file-exists-p file-directory-p expand-file-name "*" file-writable-p file-name-directory directory-file-name y-or-n-p "Directory does not exist, create it? " make-directory error "No such file or directory `%s'" ffap-url-regexp ffap-url-fetcher ffap-dired-wildcards] 4 (#$ . 43317) nil]) (defalias 'dired-at-point-prompter #[(&optional guess) "\304\216\305\203 \306\202\f\307 \206U\310 \211\2031 \311\205'\312\n\"\205'\n*\2041\313 !\2035 \202T\314\315 !!\316 !\203G\317 !\202T\320 !\203S\321 !\202T )\211\211\203^\322 \210\")\207" [ffap-url-regexp guess string case-fold-search ((ffap-highlight t)) ffap-read-file-or-url "Dired file or URL: " "Dired file: " ffap-guesser t string-match ffap-file-remote-p abbreviate-file-name expand-file-name file-directory-p file-name-as-directory file-regular-p file-name-directory ffap-highlight] 6]) #@93 Like `dired-at-point', but put buffer in another window. Only intended for interactive use. (defalias 'ffap-dired-other-window #[nil "\301\302\303\213!\210)\207" [value nil switch-to-buffer-other-window ((byte-code "\301\302!p\207" [value call-interactively dired-at-point] 2))] 2 (#$ . 44732) nil]) #@92 Like `dired-at-point', but put buffer in another frame. Only intended for interactive use. (defalias 'ffap-dired-other-frame #[nil "\303 \304!\305\306\216\307\305\"\210\310\311\213!\210)\n+\207" [win wdp value selected-window window-dedicated-p nil ((set-window-dedicated-p win wdp)) set-window-dedicated-p switch-to-buffer-other-frame ((byte-code "\301\302!p\207" [value call-interactively dired-at-point] 2))] 3 (#$ . 45041) nil]) #@80 Like `dired-at-point' and `list-directory'. Only intended for interactive use. (defalias 'ffap-list-directory #[nil "\301\302\303!)\207" [ffap-directory-finder list-directory call-interactively dired-at-point] 2 (#$ . 45486) nil]) #@202 List of binding forms evaluated by function `ffap-bindings'. A reasonable ffap installation needs just this one line: (ffap-bindings) Of course if you do not like these bindings, just roll your own! (defvar ffap-bindings '((global-set-key [S-mouse-3] 'ffap-at-mouse) (global-set-key [C-S-mouse-3] 'ffap-menu) (global-set-key "" 'find-file-at-point) (global-set-key "" 'ffap-read-only) (global-set-key "" 'ffap-alternate-file) (global-set-key "4f" 'ffap-other-window) (global-set-key "5f" 'ffap-other-frame) (global-set-key "4r" 'ffap-read-only-other-window) (global-set-key "5r" 'ffap-read-only-other-frame) (global-set-key "d" 'dired-at-point) (global-set-key "4d" 'ffap-dired-other-window) (global-set-key "5d" 'ffap-dired-other-frame) (global-set-key "" 'ffap-list-directory) (add-hook 'gnus-summary-mode-hook 'ffap-gnus-hook) (add-hook 'gnus-article-mode-hook 'ffap-gnus-hook) (add-hook 'vm-mode-hook 'ffap-ro-mode-hook) (add-hook 'rmail-mode-hook 'ffap-ro-mode-hook)) (#$ . 45725)) #@49 Evaluate the forms in variable `ffap-bindings'. (defalias 'ffap-bindings #[nil "\301\302B!\207" [ffap-bindings eval progn] 3 (#$ . 46735) nil])