changeset 4348:0831a73486ff

Commit deletion of file, omitted from earlier commit.
author Stephen J. Turnbull <stephen@xemacs.org>
date Sat, 22 Dec 2007 01:15:03 -0800
parents ec1103d2c1c7
children 9b8a5d78e07a
files tests/reproduce-bugs.el
diffstat 1 files changed, 0 insertions(+), 277 deletions(-) [+]
line wrap: on
line diff
--- a/tests/reproduce-bugs.el	Fri Dec 21 03:39:10 2007 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,277 +0,0 @@
-;;; reproduce-bugs.el --- reproduce bugs in XEmacs
-
-;; Copyright (C) 1997  Free Software Foundation, Inc.
-;; Copyright (C) 1997  Sun Microsystems, Inc.
-
-;; Keywords: bugs, crash, burn, die, croak, munge
-
-;; This file is part of XEmacs.
-
-;; This file is free software; you can redistribute it and/or modify it
-;; under the terms of the GNU General Public License as published by
-;; the Free Software Foundation; either version 2, or (at your option)
-;; any later version.
-
-;; XEmacs is distributed in the hope that it will be useful, but
-;; WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-;; General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with XEmacs; see the file COPYING.  If not, write to the Free
-;; Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-;; 02111-1307, USA.
-
-;;; Synched up with: Not in FSF.
-
-;;; Commentary:
-
-;; Reproduce XEmacs crashes, so that they can get fixed.
-;; A table of bugs is created.  You can list, describe, or reproduce bugs.
-
-;; Non-crash bugs should not be in this file; they should be placed in
-;; an appropriate file in the tests/automated suite.
-;; You may need to use a debug version of XEmacs to reproduce some of these.
-
-;; For XEmacs maintainers and other masochists.
-;; It's a bad idea to rely on code in this file continuing to work in
-;; the same way. :-)
-
-;; #### This file should be cleaned up and renamed reproduce-crashes.el.
-;; #### Bugs < 11 need to be tested and versions where they pass recorded.
-;; #### Fixed bugs should become regression tests, maybe?
-;; #### Non-crashes should be copied (not moved) to tests/automatic.
-;; #### Do the autoloads make any sense?
-;; #### `list-bugs' should optionally sort on status.
-;; #### Bugs that depend on features (eg, Mule) should check for them and
-;;      document them.
-
-;;; Code:
-
-;; UI entry points
-
-(defun reproduce-bug (number)
-  "Reproduce XEmacs bugs, so that they can get fixed.
-Especially, make XEmacs crash.
-See reproduce-bugs.el for bug descriptions and bug numbers.
-A debug version of XEmacs may be needed to reproduce some bugs."
-  (interactive "nBug Number: ")
-  (funcall (nth 0 (gethash number bug-hashtable))))
-
-(defun describe-bug (number &optional show-code)
-  "Describe the bug with index NUMBER in a popup window.
-If optional argument SHOW-CODE is non-nil, also display the reproduction code."
-  (interactive "nBug number: \ncShow code? [y/N] ")
-  (setq show-code (cond ((not (interactive-p)) show-code)
-			((member show-code '(?y ?Y)) t)
-			(t nil)))
-  (with-displaying-temp-buffer (format "Bug %d" number)
-    (let ((bug (gethash number bug-hashtable)))
-      (princ (format "Bug #%d is %s.\n%s\n\n%s"
-		     number
-		     (nth 1 bug)
-		     (nth 2 bug)
-		     (if show-code (pp-to-string (nth 0 bug)) ""))))))
-
-(defun list-bugs ()
-  "List bugs most recent first, each with brief description in a popup window.
-Assumes a maximum of 999 bugs and a minimum of 80 column width window."
-  (interactive)
-  (with-displaying-temp-buffer "*Bug list*"
-    (princ " #    status                      description\n")
-    (let (buglist)
-      (maphash (lambda (number bug)
-		 (push (format "%3d %-9s %s"
-			       number
-			       (nth 1 bug)
-			       (let ((description (nth 2 bug)))
-				 (save-match-data
-				   (string-match "\\(.*\\)\\(\n\\|$\\)"
-						 description)
-				   (match-string 1 description))))
-		       buglist))
-	       bug-hashtable)
-      (setq buglist (sort buglist (lambda (b1 b2) (string< b2 b1))))
-      (while buglist
-	(let ((bug (pop buglist)))
-	  (princ (if (< (length bug) 79) bug (substring bug 0 78)))
-	  (terpri))))))
-
-;; Database and utilities (internal)
-
-(defvar bug-hashtable (make-hashtable 10)
-  "Table of bugs, keyed by bug index number.
-The value is a list (LAMBDA STATUS DOCSTRING), where LAMBDA is a lambda
-expression reproducing the bug, and STATUS and DOCSTRING describe the bug.
-For details, see `defbug'.")
-
-(put 'defbug 'lisp-indent-function 'defun)
-(defmacro defbug (bug-number status docstring &rest body)
-  "Record a bug with key BUG-NUMBER and value (LAMBDA STATUS DOCSTRING).
-LAMBDA is a lambda expression which when called executes BODY.
-BUG-NUMBER is the bug's index number, a positive integer.
-STATUS is the current status of the bug, one of
-  fixed         The bug has been diagnosed and fixed.
-  diagnosed     The bug has been localized but not fixed.
-  current       The bug has been reported and reproduced but cause is unknown.
-  legacy        The bug is undocumented but presumed fixed.
-DOCSTRING should be a string describing the bug, including any relevant
-descriptive information and references to archived mailing list traffic or
-a BTS issue.
-BODY is a sequence of expressions to execute to reproduce the bug."
-  (let ((body (if (stringp docstring) body (cons docstring body)))
-	(docstring (if (stringp docstring) docstring "[docstring omitted]")))
-    `(puthash ,bug-number
-              '((lambda () ,@body) ,status ,docstring)
-              bug-hashtable)))
-
-(defconst bug-buffer
-  (save-excursion
-    (set-buffer (get-buffer-create "*Bug*"))
-    (erase-buffer)
-    (current-buffer)))
-
-
-;;; ------------------------------------------------------------------
-;;;; Bugs follow:
-
-(defbug 11 fixed
-  "Crash in search due to backward movement.
-Need Mule build with error checking in 21.5.28.
-Fatal error: assertion failed,
-file /Users/steve/Software/XEmacs/alioth/xemacs/src/search.c, line 1487,
-(this_pos) > ((Bytebpos) 1) && this_pos <= ((buf)->text->z + 0)
-Reported: <475B104F.2070807@barco.com>
-          <87hcixwkh4.fsf@uwakimon.sk.tsukuba.ac.jp>
-Fixed:    <87hcixwkh4.fsf@uwakimon.sk.tsukuba.ac.jp>"
-  (switch-to-buffer (get-buffer-create "*crash me*"))
-  ;; doozy is the keystroke equivalent of the keyboard macro
-  ;; "IAI" C-b C-b C-s C-x
-  (let ((doozy [;;(control ?x) ?b ?j ?u ?n ?k return
-		?I ?A ?I
-		   (control ?b) (control ?b)
-		   (control ?s) (control ?w)]))
-    (execute-kbd-macro doozy)))
-
-
-(defbug 10 current
-  "Crash on trace-function
-Fatal error: assertion failed, file src/eval.c, line 1405, abort()"
-  (trace-function 'record-buffer bug-buffer)
-  (pop-to-buffer bug-buffer))
-
-
-(defbug 9 current
-  "Crashes with stack overflow
-Should give error via barf-if-buffer-read-only
-Fatal error: assertion failed, file src/eval.c, line 1874, abort()
-This bug has been fixed. -sb"
-  (switch-to-buffer bug-buffer)
-  ;; The following line should contain a number of eight-bit characters
-  (insert "²èÌÌËè¤Î°ÜÆ°¤Ï¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£º£Å٤ϡ¢²èÌ̤ÎÃæ¤Ç¡¢ÆÃÄê¤Î¾ì")
-  (setq buffer-read-only t)
-  (ignore-errors
-    (encode-coding-region (point-min) (point-max) 'euc-japan))
-  (garbage-collect))
-
-
-(defbug 8 current
-  "Crashes in debug version only
-Fatal error: assertion failed, file src/objects.h, line 149,
-RECORD_TYPEP (_obj, lrecord_font_instance) || MARKED_RECORD_P (_obj)"
-  (let (glyph ext)
-    (make-face 'adobe-symbol-face)
-    (set-face-font
-     'adobe-symbol-face
-     "-adobe-symbol-medium-r-normal--*-140-*-*-p-*-adobe-fontspecific")
-    (setq glyph (make-glyph (list (vector 'string
-					  :data (char-to-string ?\xD3)))))
-    (set-glyph-face glyph 'adobe-symbol-face)
-    (setq ext (make-extent 14 18))
-    (set-extent-property ext 'begin-glyph glyph)))
-
-
-(defbug 7 current
-  "(maybe?) crash koi8
-ACCL: Invalid command (c)
-With debugging on, crashes as follows:
-Fatal error: assertion failed, file src/lisp.h, line 1227, INTP (obj)"
-  ;;(load "cyrillic")
-  ;;(load "cyrillic-hooks")
-  (princ (decode-coding-string "\xe1" 'koi8)))
-
-
-(defbug 6 current
-  "regexp crash
-This doesn't crash for me. -sb"
-  (string-match "\\(\\s-\\|$\\)" "å"))
-
-
-(defbug 5 legacy
-  "`subst-char-in-region' moves point."
-  (interactive)
-  (with-temp-buffer
-    (insert "abc")
-    (forward-char -1)
-    (subst-char-in-region 1 4 ?b ?\344)
-    (if (not (= (point) 3))
-	(message "Bug!  point should equal 3 but is %d" (point)))))
-
-
-(defbug 4 legacy
-  "Infinite recursion crash - Segmentation Fault"
-  (switch-to-buffer bug-buffer)
-  (insert "abcdefg")
-  (setq e (make-extent 1 4))
-  (set-extent-property e 'face 'bold)
-  (set-extent-property e 'duplicable t)
-  (set-extent-property e 'replicating t)
-  (insert (buffer-string))
-  (delete-region 8 9))
-
-
-(defbug 3 current
-  "Completely Uninterruptible hang in re-search-backward (Was: java-mode)"
-  (switch-to-buffer bug-buffer)
-  (insert "{
-public static void main(String[] args) throws java.io.IOException
-    {
-    }
-}
-")
-  (goto-char (point-min))
-  (search-forward "{" nil nil 2)
-  (backward-char)
-  (re-search-backward
-   "^\\s(\\|\\(^[ \t]*\\(\\(\\(public\\|protected\\|static\\)\\s-+\\)*\\(\\(\\([[a-zA-Z][][_$.a-zA-Z0-9]*[][_$.a-zA-Z0-9]+\\|[[a-zA-Z]\\)\\s-*\\)\\s-+\\)\\)?\\(\\([[a-zA-Z][][_$.a-zA-Z0-9]*\\s-+\\)\\s-*\\)?\\([_a-zA-Z][^][ \t:;.,{}()=]*\\|\\([_$a-zA-Z][_$.a-zA-Z0-9]*\\)\\)\\s-*\\(([^);{}]*)\\)?\\([] \t]*\\)\\(\\s-*\\<throws\\>\\s-*\\(\\([_$a-zA-Z][_$.a-zA-Z0-9]*\\)[, \t\n\r\f]*\\)+\\)?\\s-*\\)\\s("))
-
-
-(defbug 2 legacy
-  "crash popup frames
-FIXED
-#### This bug is not understood, and may be incomplete.  See source."
-  (lambda ()
-    (let ((f (selected-frame)))
-      (make-frame `(popup ,(selected-frame)))
-      (make-frame)
-      (sit-for 0)
-      (delete-frame f)
-      ;; #### Check whether this is needed.
-      ;; (save-buffers-kill-emacs5)
-      )))
-
-
-(defbug 1 legacy
-  "crash on delete-frame-hook
-FIXED!
-#### This bug is not understood, and seems to be incomplete.  See source."
-  (lambda ()
-    ;; #### Should this be add-hook instead of setq?
-    (setq delete-frame-hook
-	  (lambda (frame)
-	    (select-frame frame)
-	    (kill-buffer (window-buffer (frame-selected-window frame)))
-	    ;; #### Do we need to delete a frame here or something?
-	    ))))
-
-;;; reproduce-bugs.el ends here