;ELC   
;;; compiled by cthomp@willow on Wed Aug 25 18:02:07 1993
;;; from file /era/era-working/editor/lisp/modes/cmacexp.el
;;; emacs version 19.8 (beta8) Lucid.
;;; bytecomp version 2.16;  8-aug-93.
;;; 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 "This file was compiled for Emacs 19."))

(defvar c-macro-shrink-window-p nil "\
*Non-nil means shrink the *Macroexpansion* window to fit its contents.")
(defvar c-macro-always-prompt-p nil "\
*Non-nil means always 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-default-cppflags "" "\
Default cpp flags used by c-macro-expand.")
(byte-code "ÀÂ‡" ["*Macroexpansion*" c-macro-buffer-name nil] 1)
(fset 'c-macro-expand #[(start end &optional flag) "­„Áš?p\n«…Ä!ªƒÆ!È	\n¬…Ëš«‡ÌÍ\"\n«�«™=¬“ÐÑ!ˆÒÓ!ˆÔ¬…Æ!t«…ÐÕ !ˆÖÚQ#	ÐÕ ÛP!ˆ\n«™`U|ˆ	cˆ­‚Ý )ª®qˆÔÞ!ˆß ˆ	cˆàÔ!ˆ	È˜«†Ðá!ˆª„â!ˆãä!,‡" [flag (16) subst inbuf get-buffer c-macro-buffer-name get-buffer-create displaybuf "" expansion c-macro-always-prompt-p (16) read-string "Preprocessor arguments: " c-macro-default-cppflags buffer-read-only message "Buffer is read only: displaying expansion in alternate window" sit-for 2 nil c-macro-default-message c-macro-expansion start end c-macro-preprocessor " " "done" exchange exchange-point-and-mark buffer-disable-undo erase-buffer set-buffer-modified-p "Null expansion" c-macro-display-buffer t bury-buffer] 6 "\
Expand all C macros occurring in the region using c-macro-preprocessor.
Normally display output in temp buffer.
Prefix arg means replace the region with it.
Prompt for a string of arguments to the preprocessor, (e.g.
-DDEBUG -I ./include) when prefixed with two C-u's.

It is intended for interactive use only.
For non interactive use, see the c-macro-expansion function." "r\nP"])
(fset 'c-macro-display-buffer #[(retbuf) "ebˆÀ ˆÁÂ!ˆÃ Äp!ÅÆÇ!	\n\n¬�ÌpÍ\"ˆÃ U?	«„ÎÏ!ˆ­Ä\n¬„	­¼Ñ Ò‰ŠÖÄp!!ˆ\n«„Ã ª‚Ø Ù¥ÚÛÜ!Ù\\]^Ã Z!ˆebˆÖ!,,‡" [c-mode require view window-height get-buffer-window nil boundp view-kill-when-finished niceview popped alreadythere oldwinheight display-buffer t view-mode 1 c-macro-shrink-window-p selected-window 0 maxheight minheight oldwin select-window window-min-height screen-height 2 enlarge-window vertical-motion 1000000] 5])
(fset 'c-macro-expansion #[(start end cppcommand) "pÀÁ!\n«�ÃÄ!\n\"«‡\nÆ•ÇOª‚È ÆÇ	\nÎŽŠŒ~ˆqˆÇÐ ˆÑ!ˆÓÔ#ˆ)Öcˆ×ØÚ#«±ÛÜÔ`\"›Ýš«nÆ•bˆÞÔ`\"\nßà\n#	B‰	@cˆáÇxˆâcˆÆ”bˆªGÞÔ`\"n«ƒÔª�Æ\\\nÜÔ\"#Û#8$å#8&ç#8‰(­�Ö$«ƒéª…&­�êßà\n#$«ƒéª…&­�ë(­�ì°,	B‰	@cˆáÇxˆâcˆíÔdîï‰Çð1òP&ˆó	!	ô	@Çï#«„õö!ˆ	A‰	¬k``dÔZ]{.‡" [get-buffer-create " *C Macro Expansion*" buffer-file-name string-match regexp-quote default-directory 0 nil buffer-name linelist linenum filename outbuf inbuf ((kill-buffer outbuf)) buffer-read-only erase-buffer set-syntax-table c-mode-syntax-table insert-buffer-substring 1 end " " re-search-backward "\n#\\(endif\\|else\\)\\>" start move 3 parse-partial-sexp (nil nil nil 0) count-lines format "\n# %d \"%s\"\n" "^#" "line" startstat startinstring 4 startincomment 5 startafterquote "\"" "*/" "/*" "\\" call-process-region "sh" t "-c" cppcommand " 2>/dev/null" reverse search-backward replace-match ""] 11 "\
Expands 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.
Returns the output as a string."])
(fset 'c-macro-eval #[(start end &optional flag) "ÀÁ!¬„ÂÃ!ˆ¬…Æš«‡ÇÈ	\"	t«…ÊË !ˆÌÐ	Q#ÑÒ!ÕŽŠqˆÖØ ˆcˆt«„ÊÙ!ˆÚÁÜ ÝÞE!)Ø ˆ«ÚÁÝÞßà¯!áâÁÝÞã#[ßà¯!äâÁÝÞåæßà¯!ç±ˆŠâÁÝÞåæßà¯!±ˆ)èéÖÚ#«™ê”ê•{ë˜«†ìí!ˆªjìî!ˆªdcˆt«‹ïêd\"ˆÊÜ !ª‚Ü ,‡" [fboundp calc-eval require calc c-macro-always-prompt-p flag (16) read-string "Preprocessor arguments: " c-macro-default-cppflags message c-macro-default-message c-macro-expansion start end c-macro-preprocessor " " get-buffer-create " *Macro Evaluation*" evalbuf evaluation ((kill-buffer evalbuf)) nil buffer-read-only erase-buffer "Invoking calc..." t calc-eval-error buffer-string calc-language c calc-simplify-mode binary "(u)" " == " calc-word-size "(d)" calc-number-radix 16 "(x)" re-search-forward "0x\\([^,]+\\)\\(, \\|\\'\\)" 1 "0" replace-match "FALSE\\2" "TRUE\\2" copy-region-as-kill] 14 "\
Expand region using cpp and evaluate it using calc.
Interactively print value in minibuffer and push it on the kill ring.
With a C-u argument shows the evaluation in a variety of formats.
With two C-u's prompts the user for a string of flags to the preprocessor.

Non interactively returns value of region between START and END
as a string.  Several formats are used if optional FLAG is non-nil." "r\nP"])
(byte-code "ÀÁMˆÂÃ!‡" [c-macro-default-message #[nil "ÀÁ\nÄ˜«ƒÄª�Å$‡" [format "Invoking %s%s%s on region..." c-macro-preprocessor c-macro-default-cppflags "" " "] 5] provide cmacexp] 2)
