branch: externals/idlwave
commit 10f0e958c57373e103f4c76ba99ae751c9e46b99
Author: jdsmith <jdsmith>
Commit: jdsmith <jdsmith>
Moved some popup function to idlwave.el for common use.
---
idlw-help.el | 98 ++++--------------------------------------------------------
1 file changed, 6 insertions(+), 92 deletions(-)
diff --git a/idlw-help.el b/idlw-help.el
index e3b5b84c9e..b92cac3c5a 100644
--- a/idlw-help.el
+++ b/idlw-help.el
@@ -29,7 +29,7 @@
;; online help feature. This information is extracted automatically from
;; the IDL documentation.
;;
-;; Created by get_rinfo on Tue Nov 27 16:14:14 2001
+;; Created by get_rinfo on Mon May 6 18:33:13 2002
;; IDL version: 5.5
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@@ -330,7 +330,8 @@ Need additional info stored in
`idlwave-completion-help-info'."
classes (cons class sclasses))))
(if (not idlwave-extra-help-function)
(setq classes (idlwave-grep-help-topics classes)))
- (setq class (idlwave-help-popup-select ev classes))))
+ (setq class (idlwave-popup-select ev classes
+ "Select Class" 'sort))))
(if (stringp class)
(setq class (idlwave-find-inherited-class
(idlwave-sintern-routine-or-method name class)
@@ -348,7 +349,8 @@ Need additional info stored in
`idlwave-completion-help-info'."
classes (cons class sclasses))))
(if (not idlwave-extra-help-function)
(setq classes (idlwave-grep-help-topics classes)))
- (setq class (idlwave-help-popup-select ev classes))))
+ (setq class (idlwave-popup-select ev classes
+ "Select Class" 'sort))))
(if (stringp class)
(setq class (idlwave-find-inherited-class
(idlwave-sintern-routine-or-method name class)
@@ -371,8 +373,7 @@ Need additional info stored in
`idlwave-completion-help-info'."
(save-excursion
(set-buffer (get-buffer "*Completions*"))
(save-excursion
- (let* ((buffer-read-only nil)
- (case-fold-search t)
+ (let* ((case-fold-search t)
(props (list 'face 'idlwave-help-link-face))
(info idlwave-completion-help-info)
(what (nth 0 info))
@@ -1247,93 +1248,6 @@ searches will work properly with `case-fold-search'"
(if (idlwave-is-help-topic s)
(add-text-properties b e props))))))))
-(defvar idlwave-max-popup-menu-items)
-(defun idlwave-help-popup-select (ev list)
- "Selected an item in LIST with a popup menu."
- (let ((maxpopup idlwave-max-popup-menu-items)
- rtn menu resp)
- (cond ((null list))
- ((= 1 (length list))
- (setq rtn (car list)))
- ((featurep 'xemacs)
- (setq list (sort list (lambda (a b)
- (string< (upcase a) (upcase b)))))
- (setq menu
- (append (list "Select Class")
- (mapcar (lambda (x) (vector x (list 'idlwave-help-pset
- x)))
- list)))
- (setq menu (idlwave-help-split-menu-xemacs menu maxpopup))
- (setq resp (get-popup-menu-response menu))
- (funcall (event-function resp) (event-object resp)))
- (t
- (setq list (sort list (lambda (a b)
- (string< (upcase a) (upcase b)))))
- (setq menu (cons "Select Class"
- (list
- (append (list "")
- (mapcar (lambda(x) (cons x x)) list)))))
- (setq menu (idlwave-help-split-menu-emacs menu maxpopup))
- (setq rtn (x-popup-menu ev menu))))
- rtn))
-
-(defun idlwave-help-split-menu-xemacs (menu N)
- "Split the MENU into submenus of maximum length N."
- (if (<= (length menu) (1+ N))
- ;; No splitting needed
- menu
- (let* ((title (car menu))
- (entries (cdr menu))
- (menu (list title))
- (cnt 0)
- (nextmenu nil))
- (while entries
- (while (and entries (< cnt N))
- (setq cnt (1+ cnt)
- nextmenu (cons (car entries) nextmenu)
- entries (cdr entries)))
- (setq nextmenu (nreverse nextmenu))
- (setq nextmenu (cons (format "%s...%s"
- (aref (car nextmenu) 0)
- (aref (nth (1- cnt) nextmenu) 0))
- nextmenu))
- (setq menu (cons nextmenu menu)
- nextmenu nil
- cnt 0))
- (nreverse menu))))
-
-(defun idlwave-help-split-menu-emacs (menu N)
- "Split the MENU into submenus of maximum length N."
- (if (<= (length (nth 1 menu)) (1+ N))
- ;; No splitting needed
- menu
- (let* ((title (car menu))
- (entries (cdr (nth 1 menu)))
- (menu nil)
- (cnt 0)
- (nextmenu nil))
- (while entries
- (while (and entries (< cnt N))
- (setq cnt (1+ cnt)
- nextmenu (cons (car entries) nextmenu)
- entries (cdr entries)))
- (setq nextmenu (nreverse nextmenu))
- (prin1 nextmenu)
- (setq nextmenu (cons (format "%s...%s"
- (car (car nextmenu))
- (car (nth (1- cnt) nextmenu)))
- nextmenu))
- (setq menu (cons nextmenu menu)
- nextmenu nil
- cnt 0))
- (setq menu (nreverse menu))
- (setq menu (cons title menu))
- menu)))
-
-(defvar rtn)
-(defun idlwave-help-pset (item)
- (set 'rtn item))
-
(defun idlwave-grep (regexp list)
(let (rtn)
(while list