;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; Copyright (c) 1993, 1994 by William M. Perry (wmperry@indiana.edu)
;;;
;;; This file is part of GNU Emacs.
;;;
;;; GNU Emacs is free software; you can redistribute it and/or modify
;;; it under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 2, or (at your option)
;;; any later version.
;;;
;;; GNU Emacs is distributed in the hope that it will be useful,
;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;;; GNU General Public License for more details.
;;;
;;; 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, 675 Mass Ave, Cambridge, MA 02139, USA.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; Macintosh emacs specifics... these could kill your emacs
;;; Resistance is futile, you will be quickdrawn
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

(defun w3-install-menu-lucid-style (menudesc)
  "Install a lucid style menu on the mac version of emacs 18"
  (let ((mnu (NewMenu (get-unique-menu-ID) (car menudesc)))
	tmp)
    (setq menudesc (cdr menudesc))
    (while menudesc
      (setq tmp (car menudesc)
	    menudesc (cdr menudesc))
      (cond
       ((vectorp tmp)			; Menu description
	(AppendMenu mnu (aref tmp 0) (list
				      'lambda (list 'x 'y)
				      (list (aref tmp 1)))))
       ((stringp tmp)			; Separator
	(AppendMenu mnu "(-" nil))
       ((listp tmp)			; Submenu
	nil)				; Ignore for now
       ((null tmp)			; Null??
	(AppendMenu mnu "(-" nil))
       (t (message "Bad menu descriptor %S" tmp))))
    (InsertMenu mnu nil)
    (DrawMenuBar)))

(defun w3-install-mac-menus ()
  "Install menus on a macintosh"
  (mapcar 'w3-install-menu-lucid-style
	  '(w3-popup-menu w3-help-menu w3-annotation-menu w3-navigate-menu
			  w3-options-menu)))