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

Reply via email to