
(defvar mac-olc-path "/afs/athena.mit.edu/astaff/project/macathena/MIT/CAppsources/olc/ui/")

(defvar mac-olc-proto (concat mac-olc-path "protos.h"))

(define-abbrev global-abbrev-table "1olc" (substring mac-olc-path 0 -1) nil)

(setq foo "\\([ 	
]*[^ 	
]+[ 	
*]+\\)*\\([a-zA-Z0-9_]+\\)[ 	
]*(")

(defun get-c-function-name nil (byte-code "ÀÁ!… ÂÃ!bˆÄÅÆ!ÂÆ!\"‡" [looking-at "\\([^( 	
]+[ 	
*]+\\)*\\([a-zA-Z0-9_]+\\)[ 	
]*(" match-end 0 buffer-substring match-beginning 2] 7))

(defun find-prototype-end nil (byte-code "ÀÁ!ˆÂÃ!‡" [search-forward ");" skip-chars-forward " 	
"] 3))

(defun prototype nil (interactive) (byte-code "ÈˆŠŒ`ÉÊ`Ë\\\"ˆ`ÌZÍ	\"ˆbˆÎ	\"Ï ?ƒ, ÐÑ!‚` ÒP!qˆebˆÓÔÕ!ÖQdÆ#…R × ˆ`Ø ˆÙ`\")ˆ
cˆÚÛ!ˆÜÌ!ˆÝc**))‡" [beg end fproto fname mac-olc-path mac-olc-proto t p nil search-forward "
{" 200 1 narrow-to-region buffer-substring get-c-function-name error "Can't find function name" find-file-noselect re-search-forward "[ 	
*]" regexp-quote "[ 	
]*(" beginning-of-line find-prototype-end delete-region search-backward ")" forward-char ";
"] 14))

(defun find-c-func nil (interactive) (byte-code "ÀˆÁÂ!ˆÃÄ!ˆÅ ‡" [nil forward-char 1 re-search-forward "^[^
 	].*(" beginning-of-line] 4))

(defun ansify nil (interactive) (byte-code "ÀˆÁ †
 ÂÃ!ˆŒÄ`ÅÆ!ˆ`ÇZ\"ˆÈeebˆÉ ˆ`\"ˆm?…N ÊË!ˆÌÍ!…8 ÊË!ˆ‚+ ˆÉ ˆÎÏ!ˆÈ`É ˆ`\"ˆÐcˆ‚\" ˆÑÇ!ˆÒc)ˆÓ ‡" [nil get-c-function-name error "Can't find function near point" narrow-to-region search-forward "
{" 2 delete-region end-of-line delete-char 1 looking-at "[ 	
]" search-backward ";" ", " backward-delete-char ")" beginning-of-line] 16))

(global-set-key "n" (quote find-c-func))

(global-set-key "p" (quote prototype))

(global-set-key "a" (quote ansify))
