;ELC ;;; compiled by rms@psilocin.gnu.ai.mit.edu on Mon Jun 10 17:38:00 1996 ;;; from file /home/fsf/rms/e19/lisp/cmacexp.el ;;; emacs version 19.31.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.29"))) (error "`cmacexp.el' was compiled for Emacs 19.29 or later")) (byte-code "!!" [require cc-mode provide cmacexp] 2) #@72 *Non-nil means shrink the *Macroexpansion* window to fit its contents. (defvar c-macro-shrink-window-flag nil (#$ . -532)) #@68 *Non-nil makes `c-macro-expand' prompt for preprocessor arguments. (defvar c-macro-prompt-flag nil (#$ . -661)) #@157 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-preprocessor (byte-code "=‡ \"!ȇɇ" [system-type ms-dos "cpp -C" string-match "^[^-]*-[^-]*-\\(solaris\\|sunos5\\)" system-configuration file-exists-p "/opt/SUNWspro/SC3.0.1/bin/acomp" "/opt/SUNWspro/SC3.0.1/bin/acomp -C -E" "/lib/cpp -C"] 3) (#$ . 780)) #@47 *Preprocessor flags used by `c-macro-expand'. (defvar c-macro-cppflags "" (#$ . -1230)) (byte-code "\nB" ["*Macroexpansion*" c-macro-buffer-name current-load-list] 2) #@434 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'. (defalias 'c-macro-expand #[(start end subst) "p \n!\n!  \" J\fJ J=J!!J\n! Q$v`U| cr )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-disable-undo erase-buffer set-buffer-modified-p "Null expansion" c-macro-display-buffer buffer-auto-save-file-name bury-buffer] 6 (#$ . 1410) "r\nP"]) (defalias 'c-macro-display-buffer #[nil "eb p! p\" U? j -\fj ˉ\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 frame-height 2 enlarge-window vertical-motion] 5]) #@324 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. (defalias 'c-macro-expansion #[(start end cppcommand &optional display) "p!\n !\n\"\nƕO  \f͘*͂+\f$Ɖ!H!H!HP! !⎊~ $ q% $!)!*#)c-\"`\"n邛\\db-#-`lj%󚃡ƕb-`\"\\#cƔb8587898;9΂55!755!.7(.;.96@R#,AQB!CdDEDǁFG&AyBHP!I UJcebK!`|LM!NQǁE#y`OyO`|)PQ!RD!Q=STU!!8!ebɁVG#c`W!A@\\bXcY!dZ]{. " [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 ??? !!! ???" make-temp-name getenv "TMPDIR" "TEMP" "TMP" "/tmp" "/" tempname exit-status startmarker startstat linenum startlinenum uniquestring mymsg filename outbuf inbuf ((kill-buffer outbuf)) syntax-table in-syntax-table buffer-read-only erase-buffer set-syntax-table insert-buffer-substring 1 end "\n" 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 shell-file-name t "-c" cppcommand "done" buffer-size "\nPreprocessor produced no output\n" search-forward re-search-forward "^# [0-9]+ \"" "\"" beg boundp msdos-shells file-name-nondirectory zerop file-attributes expand-file-name "/* Preprocessor terminated with status %s\n\n Messages from `%s':\n\n" insert-file-contents "\n\n*/\n" delete-file] 13 (#$ . 3009)])