From xemacs-m  Tue Aug  5 06:07:53 1997
Received: from steadfast.teradyne.com (steadfast.teradyne.com [131.101.1.200])
	by xemacs.org (8.8.5/8.8.5) with ESMTP id GAA12659
	for <xemacs-beta@xemacs.org>; Tue, 5 Aug 1997 06:07:52 -0500 (CDT)
Received: from engine.ecf.teradyne.com (engine.ecf.teradyne.com [131.101.192.6]) by steadfast.teradyne.com (8.7.1/8.7.1) with ESMTP id HAA10008; Tue, 5 Aug 1997 07:10:30 -0400 (EDT)
Received: from tomorrow.eng.ecf.teradyne.com. (tomorrow.ecf.teradyne.com [131.101.192.7]) by engine.ecf.teradyne.com (8.7.1/8.7.1) with SMTP id NAA11720; Tue, 5 Aug 1997 13:05:33 +0200 (MET DST)
Received: by tomorrow.eng.ecf.teradyne.com. (SMI-8.6/SMI-SVR4)
	id NAA03881; Tue, 5 Aug 1997 13:05:31 +0200
To: Andrew J Cosgriff <Andrew.Cosgriff@cc.monash.edu.au>,
        Jens-Ulrik Holger Petersen <petersen@kurims.kyoto-u.ac.jp>
Cc: xemacs-beta@xemacs.org
Subject: Re: Build ok: 20.3 "Budapest" XEmacs  Lucid (beta16) on alpha-dec-osf4.0
References: <ruiu3h58ry8.fsf@goaway.cc.monash.edu.au>
X-Face: 4[iHdXiTu\V3u[~\I)<f9HC);%~nG8`oUqv#uzvs6=\V{AjN6Sn
 c/qi;YLwRmEbt8Y*=j5n(urqY@chPh@J'D"QlqD!C8>*}#kYF[-tYl3VZga/HSOP|K,{L
 Rtu@f0y/=O&Cu}\:~d|P$JON?pn?j,&CnPb1z#/TL9bkAJwyol&a:SvYj-VYbM=Dtxhk9
 =w|R6U3_;SH&B<Mfy6Q%#
Mime-Version: 1.0 (generated by tm-edit 7.108)
Content-Type: multipart/mixed;
 boundary="Multipart_Tue_Aug__5_13:05:30_1997-1"
Content-Transfer-Encoding: 7bit
From: Adrian Aichner <aichner@ecf.teradyne.com>
Date: 05 Aug 1997 13:05:31 +0200
In-Reply-To: Andrew J Cosgriff's message of "Tue, 05 Aug 1997 09:10:55 +1000"
Message-ID: <rxsg1soc2kk.fsf@tomorrow.ecf.teradyne.com>
Lines: 220
X-Mailer: Gnus v5.4.64/XEmacs 20.3(beta16) - "Budapest"

--Multipart_Tue_Aug__5_13:05:30_1997-1
Content-Type: text/plain; charset=US-ASCII

>>>>> "ajc" == Andrew J Cosgriff <Andrew.Cosgriff@cc.monash.edu.au> writes:

    ajc> Adrian, I had to change the (gethash 'srcdir ... to a (car (gethash
    ajc> 'srcdir ... in order to make xemacs-create-build-report to work :)

Hello Andrew, hello Jens!

thanks for your feedback.

config.el is quite new and saw a patch in Berlin (b15) and a different
fix in Budapest (b16).

Consequently I had to change xemacs-build-report.el.

I'm attaching my latest version, 1.22, which I tested to work in
Budapest (I tested it from Munich though).

Regards,

Adrian


--Multipart_Tue_Aug__5_13:05:30_1997-1
Content-Type: application/octet-stream; type=emacs-lisp
Content-Disposition: attachment; filename="xemacs-build-report.el"
Content-Transfer-Encoding: 7bit

;; 	$Id: xemacs-build-report.el,v 1.22 1997/08/05 10:58:14 aichner Exp $	
;; The Idea:
;; Let XEmacs report interesting aspects of how it was built.

;; The Concept:
;; User creates an XEmacs Build Report by just calling
;; M-x xemacs-create-build-report
;; which will initialize a message buffer with relevant information
;; derived from the XEmacs build process. Point is left at the
;; beginning of the report for user to input some personal notes and
;; send the report.

;; The Status:
;; This is the first `Proof of Concept'.

;; The Author:
;; Adrian Aichner, Teradyne GmbH Munich, Sun., Apr. 20, 1997.

(require 'config)
(provide 'xemacs-build-report)

;; Building the version from the RCS Revision keyword was lifted from
;; lisp/packages/auto-save.el.
;; This was later taken out due to recommandation by developers on
;; xemacs-beta@xemacs.org. Release versions are to be checked out
;; using `co -u -kv ...'.
(defconst xemacs-build-report-version
  "$Revision: 1.22 $"
  "Version number of xemacs-build-report.")

(defgroup xemacs-build-report nil
  "Package automating the process of sending Xemacs Build Reports.")

(defcustom xemacs-build-report-destination
  "xemacs-beta@xemacs.org"
  "The mail address XEmacs Build Reports should go to."
  :group 'xemacs-build-report)

(defcustom xemacs-build-report-keep-regexp
  "make\\[\\|warn\\|pure.*\\(space\\|size\\)"
  "Regexp of make process output lines to keep in the report."
  :group 'xemacs-build-report)

(defcustom xemacs-build-report-delete-regexp
  "confl.*with.*auto-inlining"
  "Regexp of make process output lines to delete from the report."
  :group 'xemacs-build-report)

(defcustom xemacs-build-report-make-output-file
  (concat (car (gethash 'srcdir (config-value-hash-table))) "/mk.err")
  "Filename where stdout and stderr of XEmacs make process have been stored.
mk.err will not be created automatically. You'll have to run make with
output redirection. I use an alias
alias mk 'make \!* >>&\! \!$.err &'
for that, so that I get mk.err went I run mk."
  :group 'xemacs-build-report)

(defcustom xemacs-build-report-installation-file
  (concat (car (gethash 'srcdir (config-value-hash-table))) "/Installation")
  "Installation file produced by XEmacs configure process."
  :group 'xemacs-build-report)

(defcustom xemacs-build-report-subject
  (concat "Build %s: " emacs-version " on " system-configuration)
  "XEmacs Build Report Subject Line. %s-sequences will be substituted
with user input through `xemacs-create-build-report' according to
`xemacs-build-report-prompts' using `format'."
  :group 'xemacs-build-report)

(defcustom xemacs-build-report-prompts
  '(("Status?: "  "Success" "Failure"))
  "XEmacs Build Report Prompt(s). This is a list of prompt-string
lists used by `xemacs-create-build-report' in conjunction with
`xemacs-build-report-subject'. Each list consists of a prompt string
followed by any number of strings which can be chosen via the history
mechanism."
  :group 'xemacs-build-report)

(defcustom xemacs-build-report-file-encoding
  "7bit"
  "XEmacs Build Report File Encoding used to include files when the
feature `mime-setup' is available."
  :group 'xemacs-build-report)


(defun xemacs-create-build-report (&rest args)
  "Initializes a fresh message-mode buffer with the contents of XEmacs 
Installation file and excerpts from XEmacs make output and errors and
leaves point at the beginning of the message body. See also
`xemacs-build-report-destination',
`xemacs-build-report-keep-regexp',
`xemacs-build-report-delete-regexp',
`xemacs-build-report-make-output-file' and
`xemacs-build-report-installation-file'."
  (interactive
   (let (prompt
	 hist
	 arg
	 (prompts xemacs-build-report-prompts))
     (progn
       (while prompts
	 (setq prompt (caar prompts))
	 (setq hist (cdar prompts))
	 (setq prompts (cdr prompts))
	 (setq arg (cons (read-string prompt "" 'hist) arg)))
       arg)))
  (save-excursion
    (message-mail
     xemacs-build-report-destination
     (apply 'format xemacs-build-report-subject args))
    (let ((report-begin (message-goto-body)))
      (if (file-exists-p xemacs-build-report-make-output-file)
	  (progn
 	    (if (featurep 'mime-setup)
		(progn
		  (setq xemacs-build-report-keep-regexp
			(concat "^--\\[\\[\\|\\]\\]$\\|"
				xemacs-build-report-keep-regexp))
		  (mime-editor/insert-tag
		   "application"
		   "octet-stream" 
		   (concat
		    "\nContent-Disposition: attachment;"
		    " filename=\""
		    (file-name-nondirectory
		     xemacs-build-report-make-output-file)
		    "\""))
		  (mime-editor/insert-binary-file
		   xemacs-build-report-make-output-file
		   xemacs-build-report-file-encoding))
	      (insert-file-contents xemacs-build-report-make-output-file))
	    (goto-char report-begin)
	    (delete-non-matching-lines
	     xemacs-build-report-keep-regexp)
	    (goto-char report-begin)
	    (delete-matching-lines xemacs-build-report-delete-regexp)
	    (goto-char report-begin)
	    (insert "> Contents of " 
		    xemacs-build-report-make-output-file
		    "\n> keeping lines matching\n> \""
		    xemacs-build-report-keep-regexp
		    "\"\n> and then deleting lines matching\n> \""
		    xemacs-build-report-delete-regexp
		    "\"\n\n"))
	(insert "> " xemacs-build-report-make-output-file
		" does not exist!\n\n"))
      (goto-char report-begin)
      (insert "\n> XEmacs Build Report as generated\n> by "
	      "xemacs-build-report-version "
	      xemacs-build-report-version
	      " follows:\n\n")
      (if (file-exists-p xemacs-build-report-installation-file)
	  (progn
	    (insert "> Contents of "
		    xemacs-build-report-installation-file
		    ":\n\n")
	    (if (featurep 'mime-setup)
		(progn
		  (mime-editor/insert-tag
		   "application"
		   "octet-stream" 
		   (concat
		    "\nContent-Disposition: attachment;"
		    " filename=\""
		    (file-name-nondirectory
		     xemacs-build-report-installation-file)
		    "\""))
		  (mime-editor/insert-binary-file
		   xemacs-build-report-installation-file
		   xemacs-build-report-file-encoding))
	      (insert-file-contents xemacs-build-report-installation-file)))
	(insert "> " xemacs-build-report-installation-file
		" does not exist!\n\n"))
      (goto-char report-begin))))

--Multipart_Tue_Aug__5_13:05:30_1997-1
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable


-- =

                            Adrian Aichner
                        Applications Engineer
  Teradyne GmbH
  Semiconductor Test Group    Telephone +49/89/41861(0)-208
  Dingolfinger Stra=DFe 2       Fax       +49/89/41861-217
  D-81673 M=DCNCHEN             E-mail    aichner@ecf.teradyne.com

--Multipart_Tue_Aug__5_13:05:30_1997-1--

