* mime-pgp.el: Require 'epa.
[elisp/semi.git] / semi-def.el
index 2745c96..d4b13e7 100644 (file)
@@ -19,8 +19,8 @@
 
 ;; You should have received a copy of the GNU General Public License
 ;; along with GNU Emacs; see the file COPYING.  If not, write to the
-;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
 
 ;;; Code:
 
@@ -28,7 +28,7 @@
 
 (require 'custom)
 
-(defconst mime-user-interface-product ["EMIKO" (1 14 0) "Zoomastigophora"]
+(defconst mime-user-interface-product ["EMIKO" (1 14 1) "Choanoflagellata"]
   "Product name, version number and code name of MIME-kernel package.")
 
 (autoload 'mule-caesar-region "mule-caesar"
         (setq function (lookup-key ,bogus-menu (apply #'vector selection)))
         ;; If a callback entry has no name, easy-menu wraps its value.
         ;; See `easy-menu-make-symbol'.
-        (if (eq t (compare-strings "menu-function-" 0 nil (symbol-name function) 0 14))
+        (if (eq t (compare-strings "menu-function-" 0 nil
+                                   (symbol-name function) 0 14))
             (car (last (symbol-function function)))
           function)))))
 
   (defun mime-popup-menu-select (menu &optional event)
     (mime-popup-menu-bogus-filter-constructor menu)))
 
+(static-if (featurep 'xemacs)
+    (defun mime-should-use-popup-menu ()
+      (mouse-event-p last-command-event))
+  (defun mime-should-use-popup-menu ()
+    (memq (event-basic-type last-command-event) '(mouse-1 mouse-2 mouse-3))))
+
+(defun mime-menu-select (prompt menu &optional event)
+  (if (mime-should-use-popup-menu)
+      (mime-popup-menu-select menu event)
+    (let ((rest (cdr menu)))
+      (while rest
+       (setcar rest (append (car rest) nil))
+       (setq rest (cdr rest)))
+      (nth 1 (assoc (completing-read prompt (cdr menu)) (cdr menu))))))
+
 
 ;;; @ Other Utility
 ;;;