1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- ;;(autoload 'get-gcl-info "get-gcl-info" "Get gcl info for ANSI common lisp functions" t)
- (defvar gcl-completion-alist nil)
- (defun make-gcl-completion-alist()
- (let ((tem all-nodes)
- ans x)
- (while tem
- (setq x (car tem))
- (cond ((and (string-match ";" x)
- (not (string-match "; and" x)))
- (let ((y x)(i 0) j (lim (length x)))
- (while (< i lim)
- (setq j (string-match "[;][ ]*" x i))
- (setq ans (cons (cons (substring x i j) x) ans))
- (setq i (match-end 0))
- (or j (setq i lim))))))
- (setq ans (cons (cons x x) ans))
- (setq tem (cdr tem))
- )
- (setq gcl-completion-alist (nreverse ans))))
- ;(make-gcl-completion-alist)
- (defun get-gcl-info ()
- (interactive)
- (let (a(completion-ignore-case t))
- (setq a (completing-read "Doc on: " gcl-completion-alist nil t nil nil))
- (setq a (assoc a gcl-completion-alist))
- (Info-goto-node (concat "(gcl.info)" (or (cdr a) (car a))))))
- (define-key (current-global-map) "\M-?" 'get-gcl-info)
- (defun get-gcl-nodes-from-tags ()
- (let ((tem Info-directory-list) buf y all)
- (save-excursion
- (while tem
- (cond
- ((file-exists-p (concat (car tem) "gcl.info"))
- (setq buf (find-file-noselect (concat (car tem) "gcl.info")))
- (set-buffer buf)
- (setq gcl-completion-alist nil)
- (setq all nil)
- (widen)
- (goto-char (point-min))
- (setq tem nil)
- (search-forward "Tag Table:")
- (search-forward "Node:")
- (beginning-of-line)
- (while (looking-at "Node: \\([^\n]*\\)")
- (setq all
- (cons (cons (setq y (buffer-substring (match-beginning 1)
- (match-end 1)))
- y)
- all
- ))
- (forward-line 1)
- )
- ))
- (setq tem (cdr tem))))
- all
- ))
- ;(require 'all-gcl-nodes)
- ;(setq gcl-completion-alist(mapcar '(lambda (x) (cons x x)) all-nodes))
- ;(setq gcl-completion-alist (get-gcl-nodes-from-tags))
- (setq gcl-completion-alist (get-gcl-nodes-from-tags))
- (provide 'get-gcl-info)
|