Commit 440c10f8 authored by Richard M. Stallman's avatar Richard M. Stallman
Browse files

Doc fixes.

(c-macro-expansion): Capture and display CPP error messages.
parent da6aae60
......@@ -3,7 +3,7 @@
;; Copyright (C) 1992, 1994 Free Software Foundation, Inc.
;; Author: Francesco Potorti` <pot@cnuce.cnr.it>
;; Version: $Id: cmacexp.el,v 1.13 1994/04/21 18:40:14 rms Exp kwzh $
;; Version: $Id: cmacexp.el,v 1.14 1994/05/03 22:17:03 kwzh Exp rms $
;; Adapted-By: ESR
;; Keywords: c
......@@ -96,11 +96,11 @@
(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)
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.")
"*Preprocessor flags used by `c-macro-expand'.")
(defconst c-macro-buffer-name "*Macroexpansion*")
......@@ -239,7 +239,8 @@ Optional arg DISPLAY non-nil means show messages in the echo area."
(startlinenum 0)
(linenum 0)
(startstat ())
(startmarker ""))
(startmarker "")
(tempname (make-temp-name "/tmp/")))
(unwind-protect
(save-excursion
(save-restriction
......@@ -300,10 +301,10 @@ Optional arg DISPLAY non-nil means show messages in the echo area."
;; Call the preprocessor.
(if display (message mymsg))
(call-process-region 1 (point-max) "sh" t t nil "-c"
(concat cppcommand " 2>/dev/null"))
(setq exit-status
(call-process-region 1 (point-max) "sh" t t nil "-c"
(concat cppcommand " 2>" tempname)))
(if display (message (concat mymsg "done")))
;; Find and delete the mark of the start of the expansion.
;; Look for `# nn "file.c"' lines and delete them.
(goto-char (point-min))
......@@ -317,6 +318,16 @@ Optional arg DISPLAY non-nil means show messages in the echo area."
(forward-line 1)
(delete-region beg (point))))
;; If CPP got errors, show them at the beginning.
(or (eq exit-status 0)
(progn
(goto-char (point-min))
(insert (format "Preprocessor terminated with status %s\n"
exit-status))
(insert-file-contents tempname)
(insert "\n")))
(delete-file tempname)
;; Compute the return value, keeping in account the space
;; inserted at the end of the buffer.
(buffer-substring 1 (max 1 (- (point-max) 1))))
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment