;;; Source file: /usr/local/lib/jade/3.2/lisp/prompt.jl
;;; Compiled by jsh@orcrist on Sun Oct 16 20:20:53 1994
;;; Jade 3.2

(defvar prompt-keymap (make-keylist))

(defvar prompt-buffer-list (quote nil) 77223)

(bind-keys prompt-keymap "TAB" (quote prompt-complete-word) "RET" (quote prompt-enter-line) "LMB-CLICK2" (quote prompt-select-completion) "RMB-CLICK1" (quote prompt-complete-word) "Meta-?" (quote prompt-print-word-completions) "Ctrl-g" (quote prompt-cancel))

(defvar prompt-completion-function nil 77271)

(defvar prompt-validate-function nil 77378)

(defconst prompt-def-regexps ["." "^|$"] 77685)

(defvar prompt-word-regexps prompt-def-regexps 77724)

(defvar prompt-list nil 77813)

(defvar prompt-symbol-predicate nil 77917)

(defvar amiga-use-file-req-p t 77960)

(defvar prompt-buffer nil 78058)

(defvar prompt-completions-pos nil 78096)

(defun prompt2 (&optional title start) 78157 (jade-byte-code "DI0I1I2I3 L MF$ 	F HKF&HJ
H	
S&	SF&Hq L	 Q	Hq dI i	H	HF\"H			H&I&s#F&GHH 	HKF$HE" [prompt-buffer prompt-line-pos prompt-completions-pos result prompt-buffer-list make-buffer "*prompt*" buffer-list set-buffer-special prompt-word-regexps 0 word-regexp 1 word-not-regexp title insert "Enter string:" start format "

%s

" "



" "::Completions::
" cursor-pos goto-char line-end prev-line 3 (prompt-keymap global-keymap) keymap-path buffer-undo-list (jade-byte-code "" [recursive-edit] 1) (quote prompt) clear-buffer] 5))

(defun prompt-enter-line (&optional whole-line) (interactive) (jade-byte-code "Dd 	  4
6] BD	
6

 6
Ja] >
F&H
E Mt PE" [cursor-pos prompt-completions-pos whole-line line-end pos copy-area line-start line prompt-validate-function funcall res prompt beep] 3))

(defun prompt-select-completion nil (interactive) (jade-byte-code "	HJ	" [goto-char mouse-pos prompt-enter-line] 2))

(defun prompt-complete-word nil (interactive) (jade-byte-code "] 	H D	 6	
6


6T6I6b K
H	 b q
L	H
H	 J 	HL

] 	
HF&
H


	HJ IHE" [prompt-completion-function message "No completion in this prompt!" 0 word-start left-char line-start word-pos copy-area cursor-pos word funcall comp-list num-found buffer-record-undo delete-area prompt-completions-pos buffer-end "No completions." 1 goto-char replace-string "Unique completion." prompt-print-completions string-head-eq "" make-completion-string format "%d completions."] 6))

(defun prompt-print-completions (comp-list) (jade-byte-code "D	2I3
H
Hn 1	IK
LHMF&H E" [copy-pos prompt-completions-pos ipos buffer-record-undo delete-area buffer-end insert "
" comp-list format "%s
"] 4))

(defun prompt-print-word-completions nil (interactive) (jade-byte-code "	 

	" [prompt-print-completions funcall prompt-comp-func copy-area word-start left-char line-start cursor-pos] 6))

(defun prompt-cancel nil (interactive) (jade-byte-code "	HIt" [message "Quit!" prompt] 2))

(defun prompt-complete-symbol (word) (jade-byte-code "

" [symbol-name apropos concat 94 word prompt-symbol-predicate] 5))

(defun prompt-validate-symbol (name) (jade-byte-code "	 ] 	
" [find-symbol name prompt-symbol-predicate funcall] 4))

(defun prompt-complete-buffer (word) (jade-byte-code "" [(lambda (b) (jade-byte-code "
" [string-head-eq b word] 3)) buffer-name buffer-list] 3))

(defun prompt-validate-buffer (name) (jade-byte-code "` 
J 	" [name "" get-buffer] 2))

(defvar prompt-file-exclude (quote "\\.(o|jlc|x)$|~$|^#.*#$") 78370)

(jade-byte-code " 
F\"" [amiga-p concat prompt-file-exclude "|\\.info$"] 3)

(jade-byte-code " 
F\"" [unix-p concat prompt-file-exclude "|^\\.(\\.|)$"] 3)

(defun prompt-complete-filename (word) (jade-byte-code "	F!HD	3	5	6	E" [expand-file-name word file-name-directory path file-name-nondirectory file directory-files files (lambda (x &aux y) (jade-byte-code "
F$	 
F$H" [file-directory-p concat path x y 47] 4)) (lambda (f) (jade-byte-code "
] 
" [string-head-eq f file regexp-match prompt-file-exclude] 3))] 3))

(defun prompt-validate-filename (name) (jade-byte-code "	" [file-exists-p name] 2))

(defun prompt-complete-directory (word) (jade-byte-code "	F!HD		45		E" [expand-file-name word file-name-directory file-name-nondirectory file path nil (lambda (x) (jade-byte-code "
	 " [file-directory-p concat path x 47] 4)) (lambda (f) (jade-byte-code "
]" [string-head-eq f file] 3)) directory-files] 5))

(defun prompt-validate-directory (name) (jade-byte-code "	" [file-directory-p name] 2))

(defun prompt-complete-from-list (word) (jade-byte-code "DI12  L
 LKF!HMF\"H HE" [prompt-list dst src string-head-eq word] 3))

(defun prompt-validate-from-list (name) (jade-byte-code " J" [name prompt-list] 2))

(defun prompt-for-file (&optional prompt existing start) 78458 (jade-byte-code "q F Hq 	F\"H  g _DI6l X	
F& ;I~H
	 TH
HIF&H (HE d	
 D6 v wI66
6 	E" [prompt "Enter filename:" start file-name-directory buffer-file-name amiga-p amiga-use-file-req-p existing file file-req file-exists-p beep req "That file doesn't exist!" "Continue" prompt-complete-filename prompt-completion-function prompt-validate-filename prompt-validate-function ["." "^|$"] prompt-word-regexps prompt2 str expand-file-name] 3))

(defun prompt-for-directory (&optional prompt existing start) 78544 (jade-byte-code "q F Hq 	F\"HD6 # $I6	
6
6 ;	E" [prompt "Enter filename:" start file-name-directory buffer-file-name prompt-complete-directory prompt-completion-function existing prompt-validate-directory prompt-validate-function ["." "^|$"] prompt-word-regexps prompt2 str expand-file-name] 3))

(defun prompt-for-buffer (&optional prompt existing default) 78635 (jade-byte-code "q F HD3  I66		6

` 3 0I E
	 E] E
	E" [prompt "Enter buffer name:" prompt-complete-buffer prompt-completion-function existing prompt-validate-buffer prompt-validate-function ["." "^|$"] prompt-word-regexps prompt2 buf "" default get-buffer open-buffer] 2))

(defvar symbol-word-regexps ["[^][()?'\"#; ]" "[][()?'\"#; ]|$"])

(defun prompt-for-symbol (&optional prompt prompt-symbol-predicate) 78896 (jade-byte-code "q F HD566			E" [prompt "Enter name of symbol:" prompt-complete-symbol prompt-validate-symbol symbol-word-regexps prompt-word-regexps prompt-validate-function prompt-completion-function intern prompt2] 3))

(defun prompt-for-lisp (&optional prompt) 78994 (jade-byte-code "q F HDII4566			E" [prompt "Enter a Lisp object:" prompt-complete-symbol symbol-word-regexps prompt-symbol-predicate prompt-word-regexps prompt-validate-function prompt-completion-function read-from-string prompt2] 4))

(defun prompt-for-function (&optional prompt) 79020 (jade-byte-code " 
" [prompt-for-symbol prompt "Enter name of function:" fboundp] 3))

(defun prompt-for-variable (&optional prompt) 79043 (jade-byte-code " 
" [prompt-for-symbol prompt "Enter name of variable:" boundp] 3))

(defun prompt-for-command (&optional prompt) 79066 (jade-byte-code " 
" [prompt-for-symbol prompt "Enter name of command:" commandp] 3))

(defun prompt-from-list (prompt-list prompt &optional start) 79088 (jade-byte-code "D345
E" [prompt-complete-from-list prompt-validate-from-list ["." "^|$"] prompt-word-regexps prompt-validate-function prompt-completion-function prompt2 prompt start] 3))

(defun prompt-for-string (&optional prompt start) (jade-byte-code " 
 
	" [prompt "Enter string: " start] 2))

(defun prompt-for-number (&optional prompt) (jade-byte-code "DI0p]  		F H HE" [num read-from-string prompt "Enter number: "] 3))
