;ELC   
;;; compiled by kwzh@hal.gnu.ai.mit.edu on Tue May  3 21:45:58 1994
;;; from file /gd/gnu/emacs/19.0/lisp/cmacexp.el
;;; emacs version 19.22.92.2.
;;; bytecomp version FSF 2.10
;;; optimization is on.
;;; this file uses opcodes which do not exist in Emacs 18.

(if (and (boundp 'emacs-version)
	 (or (and (boundp 'epoch::version) epoch::version)
	     (string-lessp emacs-version "19")))
    (error "`/gd/gnu/emacs/19.0/lisp/cmacexp.el' was compiled for Emacs 19"))

(provide (quote cmacexp))
(defvar c-macro-shrink-window-flag nil "\
*Non-nil means shrink the *Macroexpansion* window to fit its contents.")
(defvar c-macro-prompt-flag nil "\
*Non-nil makes `c-macro-expand' prompt for preprocessor arguments.")
(defvar c-macro-preprocessor "/lib/cpp -C" "\
The preprocessor used by the cmacexp package.

If you change this, be sure to preserve the -C (don't strip comments)
option, or to set an equivalent one.")
(defvar c-macro-cppflags "" "\
*Preprocessor flags used by c-macro-expand.")
(byte-code "ÀÂ‡" ["*Macroexpansion*" c-macro-buffer-name nil] 1)
(defalias 'c-macro-expand #[(start end subst) "pƒ Á\n!‚ Ã\n!Äƒ  ÉÊ\"ƒJ \fƒJ „J =„J ÎÏ!ˆÐÑ!ˆÒ„J Ã\n!Ó×QØ$ƒv `U|ˆcˆ…r Ú )‚¦ qˆÒ\fÛ!ˆÜ ˆcˆÝÒ!ˆÄ˜ƒ™ ÎÞ!ˆ‚œ ß ˆØ\fÒ á!+‡" [subst get-buffer c-macro-buffer-name get-buffer-create "" expansion displaybuf inbuf c-macro-prompt-flag read-string "Preprocessor arguments: " c-macro-cppflags buffer-read-only inhibit-read-only message "Buffer is read only: displaying expansion in alternate window" sit-for 2 nil c-macro-expansion start end c-macro-preprocessor " " t exchange exchange-point-and-mark buffer-flush-undo erase-buffer set-buffer-modified-p "Null expansion" c-macro-display-buffer buffer-auto-save-file-name bury-buffer] 6 "\
Expand C macros in the region, using the C preprocessor.
Normally display output in temp buffer, but
prefix arg means replace the region with it.

`c-macro-preprocessor' specifies the preprocessor to use.
Prompt for arguments to the preprocessor (e.g. `-DDEBUG -I ./include')
if the user option `c-macro-prompt-flag' is non-nil.

Noninteractive args are START, END, SUBST.
For use inside Lisp programs, see also `c-macro-expansion'." "r\nP"])
(defalias (quote c-macro-display-buffer) #[nil "ebˆÀ ˆÁ Âp!Ã„  ÇpÈ\"ˆÁ U?	…j „- \f…j Ê Ë‰\fŠÏÂp!!ˆƒG Á ‚I Ñ Ò¥\fÓ\fÔd!Ò\\]^Á Z!ˆebˆÏ!,+‡" [c-mode window-height get-buffer-window nil popped alreadythere oldwinheight display-buffer t c-macro-shrink-window-flag selected-window 0 maxheight minheight oldwin select-window window-min-height screen-height 2 enlarge-window vertical-motion] 5])
(defalias 'c-macro-expansion #[(start end cppcommand &optional display) "pÀÁ!\nƒ ÃÄ!\n\"ƒ \nÆ•ÇO‚ È ÉÊ\fÍ˜ƒ* Í‚+ Î\f$ÏÆ‰ÇÍÙŽŠŒ~ˆqˆÇÛ ˆÜ!ˆÞß #ˆ)Îcˆáß\"\"ãß`\"nƒy ß‚z Æ\\dbˆäå\"æ#ƒ· çá\"`Ç‰%›èšƒ€ Æ•bˆã\"`\"\\Éé#cˆÆ”bˆ‚€ ç8*ë8,í8.ï80.ƒØ Î‚Ù Í*ƒå ñ*!‚ï ,ƒî ò‚ï ÍÉé#*ƒñ*!‚,ƒó‚0…ô.…õQ‰±ˆ,6ƒ+÷!ˆøßdùú‰Çû<ýP&ˆ6ƒF÷þP!ˆebˆÿ!ˆß`|ˆ@ A Ä!B QÇú#ƒxÆyˆ`CßyˆC`|ˆ)‚Rß‰dßZ]{.‡" [get-buffer-create " *C Macro Expansion*" buffer-file-name string-match regexp-quote default-directory 0 nil buffer-name format "Invoking %s%s%s on region..." c-macro-preprocessor c-macro-cppflags "" " " "???!!!???!!! start of c-macro expansion ???!!!???!!!" startmarker startstat linenum startlinenum uniquestring mymsg filename outbuf inbuf ((kill-buffer outbuf)) buffer-read-only erase-buffer set-syntax-table c-mode-syntax-table insert-buffer-substring 1 end parse-partial-sexp start count-lines re-search-backward "\n#\\(endif\\|else\\)\\>" move 3 (nil nil nil 0 nil) "\n#line %d \"%s\"\n" startinstring 4 startincomment 5 startafterquote 7 startinbcomment char-to-string "*/" "/*" "//" "\\" display message call-process-region "sh" t "-c" cppcommand " 2>/dev/null" "done" search-forward re-search-forward "^# [0-9]+ \"" "\"" beg] 10 "\
Run a preprocessor on region and return the output as a string.
Expand the region between START and END in the current buffer using
the shell command CPPCOMMAND (e.g. \"/lib/cpp -C -DDEBUG\").
Be sure to use a -C (don't strip comments) or equivalent option.
Optional arg DISPLAY non-nil means show messages in the echo area."])
