[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE>>urgent: extended charact



>Date: 6/23/93 7:10 AM
>From: Vincent Keunen
>To: BBN.COM!clim, ileaf.com!doughty, parc.xerox.com!york,
>        Scott McKay <stony-brook.scrc.symbolics.com!SWM>
>Subject: Re: urgent: extended character sets in CLIM
>Cc: Steve Strassmann <cambridge.apple.com!straz>,
>        "Bill St. Clair" <cambridge.apple.com!bill>
> ...
>I could send a backtrace or more info, but how can I get that as simple
>text in MCL?  (It's obvious in Genera, but...).  There is no c-m in the
>debugger  ;-)
> ...
>Thanks for any help,

>Vincent

Here's a simple file I put together to generate bug reports.  Load the file and
evaluate the form (report-error).  It will create a file and then bring it into
fred for you to add a description of the situation.  Warning, don't try it on
infinite recursion errors unless you want to wait a _L_O_N_G_ time for
it to generate the file.

The long documentation string tells you what it does.

I'll eventually put it into the mcl repository if it doesn't get too many flames
from this distribution.



---------------------
Donald H. Mitchell             Domain:  dhm@pro-solution.com
Proactive Solutions Inc.         UUCP:  uunet!proact!dhm   
5314 S. Yale Ave., Suite 402    Voice:  918.492.5192
Tulsa, OK  74135                  FAX:  918.492.5193


<<<<<< Attached TEXT file follows >>>>>>
;;;-*- Mode: Lisp; Package: CCL -*-

;;; Created by Donald H. Mitchell, Proactive Solutions, Inc.
;;; Feel free to use, copy, and modify as you wish.  Proactive Solutions, Inc
bears no
;;; responsibility nor liability for the use of this code.  By using this
;;; code, users acknowledge their responsibility for determining correct and
;;; proper use and for determining whether the code suits their needs. 
;;; Proactive Solutions, Inc retains no rights to this code other than the
;;; right to continue using it.

(in-package :ccl)

(defun report-error (&optional filename dont-edit)
  "Generate an error report from the current condition.  Will save the error
report to "home:error-reports;error~d.text" unless you give a file name.  If you
don't override dont-edit by specifying nil, it will first put the error
report in a fred window for you to edit.  Please add an explanation of how
to generate the error."
  (or filename (setf filename (generate-error-filename)))
  (with-open-file (*debug-io* filename
                              :direction :output
                              :if-exists :supersede)
    (declare (special *debug-io*))
    (princ "Please add a description of how to generate the error:" *debug-io*)
    (loop repeat 5 do (terpri *debug-io*))
    (print-call-history))
  (unless dont-edit (fred filename)))


;;; DHM 93-May-28 Specified subdirectory
;;; DHM 93-Jun-10 Caught missing subdirectory spec.
(defun generate-error-filename ()
  (or (if (not (probe-file "home:error-reports;error.text"))
        "home:error-reports;error.text")
      (loop for n from 0
            as name = (format nil "home:error-reports;error~d.text" n)
            while (probe-file name)
            finally (return name))))

(export '(report-error generate-error-filename))
(import '(report-error generate-error-filename) :user)
(if (find-package :proact-user)