Well, I've been hacking at this for a few days, and I guess
this may be useful to someone else.  If anyone has any ideas for
making this simpler, more useful, etc, please let me know.

Below:  key-bindings for Sun4 keyboard
	Perl hilighting defs for lhilit
	VM hiliting defs & hook for lhilit
	sound bindings  (nothing much)
	a menubar def
	an x-find-file hack

BTW, this makes for a great menubar font (IMHO):
Emacs*menubar*font: -adobe-times-bold-r-normal--14-140-75-75-p-77-iso8859-1

Just in case you wanted to know,
Michael
lamour@mitre.org

PS>  If you don't find this useful, then I guess you could just
	consider it a long .sig  ;-)

----------------------------- Cut Here --------------------------------
;;
;; Dot emacs file for Michael Lamoureux
;;     This file contains ideas stolen from a great many sources
;;     latest hack added on 7/21/92
;;
;; Added some organization to this mess on 2/15/92.  The following
;; sections can be found below by searching on the specified strings.
;;    &&lucid -  Lucid emacs 19 stuff

;; [ I censored a couple hundred lines in here - mjl ]

;; &&lucid ========== Lucid emacs 19 stuff ===========================
(if (string-match "Lucid" emacs-version)
    (progn
;; emacs-19 key bindings for Sun4 keyboard
;;
     ;; Left keypad
     (define-key global-map [(f11)] 'keyboard-quit)           ;; Stop
     (define-key global-map [(f12)] 'repeat-complex-command)  ;; Again
     (define-key global-map [(f14)] 'undo)                    ;; Undo
     (define-key global-map [(f16)] 'kill-ring-save)          ;; Copy
     (define-key global-map [(f18)] 'yank)                    ;; Paste
     (define-key global-map [(control f18)] 'yank-pop)        ;; Paste
     (define-key global-map [(f19)] 'isearch-forward)         ;; Find
     (define-key global-map [(control f19)] 'query-replace)   ;; Find
     (define-key global-map [(f20)] 'kill-region)             ;; Cut

     ;; Function keys
     ;; F1 seems to be stolen, and F11 & F12 don't return X keysyms
     (define-key global-map [(f2)] 'x-new-screen)
     (define-key global-map [(control f2)] 'delete-screen)
     (define-key global-map [(f3)] 'compile)
     (define-key global-map [(f4)] 'next-error)
     (define-key global-map [(f5)] 'find-tag)
     (define-key global-map [(control f5)] 'find-next-tag)
     (define-key global-map [(f6)] 'eval-region)
     (define-key global-map [(f7)] 'fill-region)
     (define-key global-map [(f8)] 'ispell-region)
     (define-key global-map [(control f8)] 'ispell-buffer)
     (define-key global-map [(f9)] 'vm)
     (define-key global-map [(control f9)] 'gnus)
     (define-key global-map [(f10)] 'manual-entry)
;; now that I look at it again, there appears to be much randomness in
;; the above bindings  ;-)

      ;; Right keypad
     (define-key global-map [(f22)] 'lpr-buffer)                  ;; PrSc
     (define-key global-map [(f23)] 'keyboard-quit)               ;; Break
     (define-key global-map [(f27)] 'beginning-of-line)           ;; Home
     (define-key global-map [(control f27)] 'beginning-of-buffer) ;; Home
     (define-key global-map [(f29)] 'scroll-down)                 ;; PgUp
     (define-key global-map [(control f29)] 'scroll-down)         ;; PgUp
     (define-key global-map [(control left)] 'backward-word)      ;; <
     (define-key global-map [(f31)] 'move-to-window-line)         ;; []
     (define-key global-map [(control right)] 'forward-word)      ;; >
     (define-key global-map [(f35)] 'scroll-up)                   ;; PgDn
     (define-key global-map [(control f35)] 'scroll-up)           ;; PgDn
     (define-key global-map [(r13)] 'end-of-line)                 ;; End
     (define-key global-map [(control r13)] 'end-of-buffer)       ;; End
     

;; Some random sounds to amuse myself
     (let ((default-directory exec-directory))
       (load-sound-file "sounds/bark.au" 'undefined-key)
       (load-sound-file "sounds/drip.au" 'undefined-click)    ;; broken???
       (load-sound-file "sounds/whip.au" 'command-error 100)
       (load-sound-file "sounds/gong.au" 'auto-save-error)    ;; non-std sound
       (load-sound-file "sounds/whip.au" 'no-completion 100)
       (load-sound-file "sounds/cuckoo.au" 'y-or-n-p)
       (load-sound-file "sounds/cuckoo.au" 'yes-or-no-p))

;; Menubar functions
;;  There must be a better way to do this
     (defun find-dot-emacs ()
       (interactive)
       (find-file "~/.emacs")
       )
     (defun find-dot-cshrc ()
       (interactive)
       (find-file "~/.zshrc")
       )
     (defun find-dot-mailrc ()
       (interactive)
       (find-file "~/.mailrc")
       )
     (defun find-dot-login ()
       (interactive)
       (find-file "~/.zlogin")
       )
     (defun find-dot-xdefaults ()
       (interactive)
       (find-file "~/.Xdefaults")
       )
     (defun find-dot-openwin ()
       (interactive)
       (find-file "~/.openwin-init")
       )

;; Menubar def
;;   most of this stolen from menubar.el
     (setq default-menubar
	   '(("File"	["New Screen"		x-new-screen   	t]
	      ["Open File..."		find-file		t]
	      ("Open Special"
	       ["Dot Emacs"             find-dot-emacs t]
	       ["Dot Login"             find-dot-login t]
	       ["Dot Cshrc"             find-dot-cshrc t]
	       ["Dot Mailrc"            find-dot-mailrc t]
	       ["Dot Xdefaults"         find-dot-xdefaults t]
	       ["Dot Openwin-init"      find-dot-openwin t]
	       )
	      ["Save Buffer"		save-buffer		t]
	      ["Save Buffer As..."	write-file		t]
	      ["Revert Buffer"		revert-buffer		t]
	      "-----"
	      ["Print Buffer"		lpr-buffer		t]
	      "-----"
	      ["Delete Screen"	delete-screen		t]
	      ["Kill Buffer..."	kill-buffer		t]
	      ["Exit Emacs"	save-buffers-kill-emacs	t]
	      )
	     ("Edit"	["Undo"	       	advertised-undo	   t]
	      ["Cut"	       	x-kill-primary-selection   t]
	      ["Copy"	       	x-copy-primary-selection   t]
	      ["Paste"		x-yank-clipboard-selection t]
	      ["Clear"		x-delete-primary-selection t]
	      )
	     ("Buffers"	"")
	     ("Applications" 
	      ["Read Mail"		vm			t]
	      ["Read News"		gnus			t]
	      ["Info"			info			t]
	      ["Compose Mail"		mail			t]
	      ["Compile"		compile			t]
	      )
	     ("Spelling"
	      ["Spell Word"		ispell-word		t]
	      ["Spell Region"		ispell-region		t]
	      ["Spell Buffer"		ispell-buffer		t]
	      )
	     ("Help"	["Info"		info			t]
	      ["Describe Mode"		describe-mode		t]
	      ["Command Apropos..."	command-apropos		t]
	      ["List Keybindings"	describe-bindings	t]
	      ["Describe Key..."	describe-key		t]
	      ["Describe Function..."	describe-function	t]
	      ["Describe Variable..."	describe-variable	t]
	      "-----"
	      ["Unix Manual..."	manual-entry		t]
	      ["Emacs Tutorial"	help-with-tutorial	t]
	      ["Emacs News"	view-emacs-news		t]
	      )
	     ))
     (set-screen-menubar default-menubar)


     (load "lhilit" nil t)

     (set-face-foreground 'hilit0 "red3")
     (set-face-foreground 'hilit1 "white")
     (set-face-foreground 'hilit2 "blue3")
     (set-face-foreground 'hilit6 "yellow")
     (set-face-foreground 'hilit9 "seagreen")

     ;; I basically just ported my epoch lightbrite Perl defs
     ;; to use lhilit
     (setq perl-mode-hilit
	   '(
	     ("[ \n\t{]if[ \n\t;(]" nil hilit0)        ;; flow control
	     ("[ \n\t{]until[ \n\t;(]" nil hilit0)
	     ("[ \n\t{]while[ \n\t;(]" nil hilit0)
	     ("[ \n\t{]else[ \n\t;(]" nil hilit0)
	     ("[ \n\t{]elsif[ \n\t;(]" nil hilit0)
	     ("[ \n\t{]unless[ \n\t;(]" nil hilit0)
	     ("[ \n\t{]for[ \n\t;(]" nil hilit0)
	     ("[ \n\t{]foreach[ \n\t;(]" nil hilit0)
	     ("[ \n\t{]continue[ \n\t;(]" nil hilit0)
	     ("[ \n\t{]exit[ \n\t;(]" nil hilit0)
	     ("[ \n\t{]die[ \n\t;(]" nil hilit0)
	     ("[ \n\t{]last[ \n\t;(]" nil hilit0)
	     ("[ \n\t{]goto[ \n\t;(]" nil hilit0)
	     ("[ \n\t{]next[ \n\t;(]" nil hilit0)
	     ("[ \n\t{]redo[ \n\t;(]" nil hilit0)
	     ("[ \n\t{]return[ \n\t;(]" nil hilit0)

	     ("^#if" nil hilit7)                        ;; cpp stuff
	     ("^#else" nil hilit7)
	     ("^#ifdef" nil hilit7)
	     ("^#ifndef" nil hilit7)
	     ("^#include" nil hilit7)
	     ("^#define" nil hilit7)
	     ("^#undef" nil hilit7)
	     ("^#endif" nil hilit7)

	     ("#" "\n" hilit3)                          ;; comments

	     ("^[ \n\t]*sub.*\\{" nil hilit1)          ;; subroutines
	     ("[ \n\t{]*eval[ \n\t(;]" nil hilit1)

	     ("--- .* ---" nil hilit6)                 ;; markers
	     ("=== .* ===" nil hilit6)))

     (hilit::mode-list-update "Perl" perl-mode-hilit)

     (setq vm-mode-hilit
	   '(
	     ("^From:.*" nil hilit0)
	     ("^Subject:.*" nil hilit2)))
     (hilit::mode-list-update "VM" vm-mode-hilit)
     (add-hook 'vm-mode-hooks 'hilit::hilit-buffer)
    

    ;; A 2-minute hack of x-find-file in Lucid emacs for Bob
    ;;   This needs to do more, but I haven't had time
    (defun x-find-file (filename)
       "Does find file in new X Window"
       (interactive "FX find file: ")
       (select-screen (x-create-screen nil))
       (switch-to-buffer (find-file-noselect filename)))
    )
)
;; Other Lucid specific code includes Guido Bosch's VM popup menu in ~/.vm
Newsgroups: alt.lucid-emacs.help
Date:       24 Jul 92 15:24:00 EDT
From: Jeffrey (J.D.) Sparkes <JSPARKES%BNR.CA@lucid.com>
Subject:    patches for Hyperbole to run on lemacs19.2