annotate tests/reproduce-crashes.el @ 5191:71ee43b8a74d

Add #'equalp as a hash test by default; add #'define-hash-table-test, GNU API tests/ChangeLog addition: 2010-04-05 Aidan Kehoe <kehoea@parhasard.net> * automated/hash-table-tests.el: Test the new built-in #'equalp hash table test. Test #'define-hash-table-test. * automated/lisp-tests.el: When asserting that two objects are #'equalp, also assert that their #'equalp-hash is identical. man/ChangeLog addition: 2010-04-03 Aidan Kehoe <kehoea@parhasard.net> * lispref/hash-tables.texi (Introduction to Hash Tables): Document that we now support #'equalp as a hash table test by default, and mention #'define-hash-table-test. (Working With Hash Tables): Document #'define-hash-table-test. src/ChangeLog addition: 2010-04-05 Aidan Kehoe <kehoea@parhasard.net> * elhash.h: * elhash.c (struct Hash_Table_Test, lisp_object_eql_equal) (lisp_object_eql_hash, lisp_object_equal_equal) (lisp_object_equal_hash, lisp_object_equalp_hash) (lisp_object_equalp_equal, lisp_object_general_hash) (lisp_object_general_equal, Feq_hash, Feql_hash, Fequal_hash) (Fequalp_hash, define_hash_table_test, Fdefine_hash_table_test) (init_elhash_once_early, mark_hash_table_tests, string_equalp_hash): * glyphs.c (vars_of_glyphs): Add a new hash table test in C, #'equalp. Make it possible to specify new hash table tests with functions define_hash_table_test, #'define-hash-table-test. Use define_hash_table_test() in glyphs.c. Expose the hash functions (besides that used for #'equal) to Lisp, for people writing functions to be used with #'define-hash-table-test. Call define_hash_table_test() very early in temacs, to create the built-in hash table tests. * ui-gtk.c (emacs_gtk_boxed_hash): * specifier.h (struct specifier_methods): * specifier.c (specifier_hash): * rangetab.c (range_table_entry_hash, range_table_hash): * number.c (bignum_hash, ratio_hash, bigfloat_hash): * marker.c (marker_hash): * lrecord.h (struct lrecord_implementation): * keymap.c (keymap_hash): * gui.c (gui_item_id_hash, gui_item_hash): * glyphs.c (image_instance_hash, glyph_hash): * glyphs-x.c (x_image_instance_hash): * glyphs-msw.c (mswindows_image_instance_hash): * glyphs-gtk.c (gtk_image_instance_hash): * frame-msw.c (mswindows_set_title_from_ibyte): * fontcolor.c (color_instance_hash, font_instance_hash): * fontcolor-x.c (x_color_instance_hash): * fontcolor-tty.c (tty_color_instance_hash): * fontcolor-msw.c (mswindows_color_instance_hash): * fontcolor-gtk.c (gtk_color_instance_hash): * fns.c (bit_vector_hash): * floatfns.c (float_hash): * faces.c (face_hash): * extents.c (extent_hash): * events.c (event_hash): * data.c (weak_list_hash, weak_box_hash): * chartab.c (char_table_entry_hash, char_table_hash): * bytecode.c (compiled_function_hash): * alloc.c (vector_hash): Change the various object hash methods to take a new EQUALP parameter, hashing appropriately for #'equalp if it is true.
author Aidan Kehoe <kehoea@parhasard.net>
date Mon, 05 Apr 2010 13:03:35 +0100
parents 8b2f75cecb89
children cd167465bf69 7ba892d101ce
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4344
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
1 ;;; reproduce-bugs.el --- reproduce bugs in XEmacs
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3 ;; Copyright (C) 1997 Free Software Foundation, Inc.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4 ;; Copyright (C) 1997 Sun Microsystems, Inc.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
6 ;; Keywords: bugs, crash, burn, die, croak, munge
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
7
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8 ;; This file is part of XEmacs.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
9
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
10 ;; This file is free software; you can redistribute it and/or modify it
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
11 ;; under the terms of the GNU General Public License as published by
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
12 ;; the Free Software Foundation; either version 2, or (at your option)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
13 ;; any later version.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
14
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
15 ;; XEmacs is distributed in the hope that it will be useful, but
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
16 ;; WITHOUT ANY WARRANTY; without even the implied warranty of
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
17 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
18 ;; General Public License for more details.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
19
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
20 ;; You should have received a copy of the GNU General Public License
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
21 ;; along with XEmacs; see the file COPYING. If not, write to the Free
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
22 ;; Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
23 ;; 02111-1307, USA.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
24
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
25 ;;; Synched up with: Not in FSF.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
26
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
27 ;;; Commentary:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
28
4344
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
29 ;; Reproduce XEmacs crashes, so that they can get fixed.
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
30 ;; A table of bugs is created. You can list, describe, or reproduce bugs.
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
31
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
32 ;; Non-crash bugs should not be in this file; they should be placed in
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
33 ;; an appropriate file in the tests/automated suite.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
34 ;; You may need to use a debug version of XEmacs to reproduce some of these.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
35
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
36 ;; For XEmacs maintainers and other masochists.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
37 ;; It's a bad idea to rely on code in this file continuing to work in
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
38 ;; the same way. :-)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
39
4344
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
40 ;; #### Bugs < 11 need to be tested and versions where they pass recorded.
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
41 ;; #### Fixed bugs should become regression tests, maybe?
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
42 ;; #### Non-crashes should be copied (not moved) to tests/automatic.
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
43 ;; #### `list-bugs' should optionally sort on status.
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
44 ;; #### Bugs that depend on features (eg, Mule) should check for them and
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
45 ;; document them.
4321
98e54edf3ab2 Resuscitate reproduce-bugs.el.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 428
diff changeset
46
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
47 ;;; Code:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
48
4344
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
49 ;; UI entry points
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
50
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
51 (defun reproduce-bug (number)
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
52 "Reproduce XEmacs bugs, so that they can get fixed.
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
53 Especially, make XEmacs crash.
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
54 See reproduce-bugs.el for bug descriptions and bug numbers.
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
55 A debug version of XEmacs may be needed to reproduce some bugs."
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
56 (interactive "nBug Number: ")
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
57 (funcall (nth 0 (gethash number bug-hashtable))))
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
58
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
59 (defun describe-bug (number &optional show-code)
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
60 "Describe the bug with index NUMBER in a popup window.
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
61 If optional argument SHOW-CODE is non-nil, also display the reproduction code."
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
62 (interactive "nBug number: \ncShow code? [y/N] ")
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
63 (setq show-code (cond ((not (interactive-p)) show-code)
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
64 ((member show-code '(?y ?Y)) t)
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
65 (t nil)))
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
66 (with-displaying-temp-buffer (format "Bug %d" number)
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
67 (let ((bug (gethash number bug-hashtable)))
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
68 (princ (format "Bug #%d is %s.\n%s\n\n%s"
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
69 number
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
70 (nth 1 bug)
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
71 (nth 2 bug)
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
72 (if show-code (pp-to-string (nth 0 bug)) ""))))))
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
73
4344
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
74 (defun list-bugs ()
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
75 "List bugs most recent first, each with brief description in a popup window.
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
76 Assumes a maximum of 999 bugs and a minimum of 80 column width window."
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
77 (interactive)
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
78 (with-displaying-temp-buffer "*Bug list*"
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
79 (princ " # status description\n")
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
80 (let (buglist)
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
81 (maphash (lambda (number bug)
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
82 (push (format "%3d %-9s %s"
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
83 number
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
84 (nth 1 bug)
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
85 (let ((description (nth 2 bug)))
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
86 (save-match-data
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
87 (string-match "\\(.*\\)\\(\n\\|$\\)"
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
88 description)
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
89 (match-string 1 description))))
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
90 buglist))
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
91 bug-hashtable)
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
92 (setq buglist (sort buglist (lambda (b1 b2) (string< b2 b1))))
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
93 (while buglist
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
94 (let ((bug (pop buglist)))
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
95 (princ (if (< (length bug) 79) bug (substring bug 0 78)))
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
96 (terpri))))))
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
97
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
98 ;; Database and utilities (internal)
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
99
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
100 (defvar bug-hashtable (make-hashtable 10)
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
101 "Table of bugs, keyed by bug index number.
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
102 The value is a list (LAMBDA STATUS DOCSTRING), where LAMBDA is a lambda
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
103 expression reproducing the bug, and STATUS and DOCSTRING describe the bug.
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
104 For details, see `defbug'.")
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
105
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
106 (put 'defbug 'lisp-indent-function 'defun)
4344
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
107 (defmacro defbug (bug-number status docstring &rest body)
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
108 "Record a bug with key BUG-NUMBER and value (LAMBDA STATUS DOCSTRING).
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
109 LAMBDA is a lambda expression which when called executes BODY.
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
110 BUG-NUMBER is the bug's index number, a positive integer.
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
111 STATUS is the current status of the bug, one of
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
112 fixed The bug has been diagnosed and fixed.
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
113 diagnosed The bug has been localized but not fixed.
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
114 current The bug has been reported and reproduced but cause is unknown.
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
115 legacy The bug is undocumented but presumed fixed.
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
116 DOCSTRING should be a string describing the bug, including any relevant
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
117 descriptive information and references to archived mailing list traffic or
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
118 a BTS issue.
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
119 BODY is a sequence of expressions to execute to reproduce the bug."
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
120 (let ((body (if (stringp docstring) body (cons docstring body)))
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
121 (docstring (if (stringp docstring) docstring "[docstring omitted]")))
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
122 `(puthash ,bug-number
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
123 '((lambda () ,@body) ,status ,docstring)
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
124 bug-hashtable)))
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
125
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
126 (defconst bug-buffer
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
127 (save-excursion
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
128 (set-buffer (get-buffer-create "*Bug*"))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
129 (erase-buffer)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
130 (current-buffer)))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
131
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
132
4344
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
133 ;;; ------------------------------------------------------------------
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
134 ;;;; Bugs follow:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
135
4746
ae862598ee56 Make test from Adam Sjogren's report.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4685
diff changeset
136 (defbug 13 current
ae862598ee56 Make test from Adam Sjogren's report.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4685
diff changeset
137 "Crash when reading a message in Gnus, in sys_re_search_2 in regex.c.
ae862598ee56 Make test from Adam Sjogren's report.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4685
diff changeset
138 Reported by Adam Sjogren on xemacs-beta <87ocn5xt5a.fsf@topper.koldfront.dk>.
ae862598ee56 Make test from Adam Sjogren's report.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4685
diff changeset
139 issue630 on the tracker.
ae862598ee56 Make test from Adam Sjogren's report.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4685
diff changeset
140 Reproduced on Mac OS X 10.4.11 iBook G4 (PPC).
ae862598ee56 Make test from Adam Sjogren's report.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4685
diff changeset
141 Reproduced on Gentoo Linux 2.6.30 AMD (Opteron)."
ae862598ee56 Make test from Adam Sjogren's report.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4685
diff changeset
142 (string-match (base64-decode-string "\
ae862598ee56 Make test from Adam Sjogren's report.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4685
diff changeset
143 WyAJXSo804DFgPOApHWAtXuApliArID5gLZVgLSA2oChRUwvQ4DDQoCrgNeAwoDggLJ7gL6A
ae862598ee56 Make test from Adam Sjogren's report.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4685
diff changeset
144 94CogOOAtlWAtIDagKFFgLCA6oC7gNqApFSAqICkgLZUgKmA9oC5gOqAsIDIgL6A3oCnQICh
ae862598ee56 Make test from Adam Sjogren's report.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4685
diff changeset
145 RUwvQ4C2fYCqgKyAw0KAq4DXgKWA04C9gNCAoUWAxXeAqoDvgLF6gKiA04C5cYChR4CigK+A
ae862598ee56 Make test from Adam Sjogren's report.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4685
diff changeset
146 ooC4gKKAtICigLctgKKAtICigLWAooC4LYCigK+AooCygKKAtIChRUwvQ4CrSIClgM6AqoCs
ae862598ee56 Make test from Adam Sjogren's report.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4685
diff changeset
147 gMNCgKuA14DFgNyApoDbgKWA0YC5QoClgM6AuIDqgKqA94ChRYCrSIClgM6AqoCsgLZ9gKqA
ae862598ee56 Make test from Adam Sjogren's report.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4685
diff changeset
148 rIDDQoCrgNeApYDTgL2A0IChRT4=")
ae862598ee56 Make test from Adam Sjogren's report.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4685
diff changeset
149 (base64-decode-string "\
ae862598ee56 Make test from Adam Sjogren's report.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4685
diff changeset
150 XCKAqYDTgMWA84CkdYC1e4CmWICsgPmAtlWAtIDagKFFTC9DgMNCgKuA14DCgOCAsnuAvoD3
ae862598ee56 Make test from Adam Sjogren's report.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4685
diff changeset
151 gKiA44C2VYC0gNqAoUWAsIDqgLuA2oCkVICogKSAtlSAqYD2gLmA6oCwgMiAvoDegKdAgKFF
ae862598ee56 Make test from Adam Sjogren's report.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4685
diff changeset
152 TC9DgLZ9gKqArIDDQoCrgNeApYDTgL2A0IChRYDFd4CqgO+AsXqAqIDTgLlxgKFHgKKAr4Ci
ae862598ee56 Make test from Adam Sjogren's report.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4685
diff changeset
153 gLiAooC0gKKAty2AooC0gKKAtYCigLgtgKKAr4CigLKAooC0gKFFTC9DgKtIgKWAzoCqgKyA
ae862598ee56 Make test from Adam Sjogren's report.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4685
diff changeset
154 w0KAq4DXgMWA3ICmgNuApYDRgLlCgKWAzoC4gOqAqoD3gKFFgKtIgKWAzoCqgKyAtn2AqoCs
ae862598ee56 Make test from Adam Sjogren's report.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4685
diff changeset
155 gMNCgKuA14ClgNOAvYDQgKFFXCIgPHRzZW5nLWNoaXVAdW1haWwu")))
ae862598ee56 Make test from Adam Sjogren's report.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4685
diff changeset
156
4685
945247a8112f Reproducer for menubar-x.c crash.
Jerry James <james@xemacs.org>
parents: 4346
diff changeset
157 (defbug 12 current
945247a8112f Reproducer for menubar-x.c crash.
Jerry James <james@xemacs.org>
parents: 4346
diff changeset
158 "Crash when clicking on the menubar, triggered by a Lisp error due to a
945247a8112f Reproducer for menubar-x.c crash.
Jerry James <james@xemacs.org>
parents: 4346
diff changeset
159 version of truncate-string-to-width that does not take 5 parameters.
945247a8112f Reproducer for menubar-x.c crash.
Jerry James <james@xemacs.org>
parents: 4346
diff changeset
160 Fatal error: assertion failed, file menubar-x.c, line 579, ABORT()
945247a8112f Reproducer for menubar-x.c crash.
Jerry James <james@xemacs.org>
parents: 4346
diff changeset
161 Reported: https://bugzilla.redhat.com/show_bug.cgi?id=480845
945247a8112f Reproducer for menubar-x.c crash.
Jerry James <james@xemacs.org>
parents: 4346
diff changeset
162 <1251569781.4318.2.camel@mslap>"
945247a8112f Reproducer for menubar-x.c crash.
Jerry James <james@xemacs.org>
parents: 4346
diff changeset
163 (fset 'truncate-string-to-width
945247a8112f Reproducer for menubar-x.c crash.
Jerry James <james@xemacs.org>
parents: 4346
diff changeset
164 #'(lambda (str end-column &optional start-column padding) str))
945247a8112f Reproducer for menubar-x.c crash.
Jerry James <james@xemacs.org>
parents: 4346
diff changeset
165 (accelerate-menu))
945247a8112f Reproducer for menubar-x.c crash.
Jerry James <james@xemacs.org>
parents: 4346
diff changeset
166
4344
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
167 (defbug 11 fixed
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
168 "Crash in search due to backward movement.
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
169 Need Mule build with error checking in 21.5.28.
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
170 Fatal error: assertion failed,
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
171 file /Users/steve/Software/XEmacs/alioth/xemacs/src/search.c, line 1487,
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
172 (this_pos) > ((Bytebpos) 1) && this_pos <= ((buf)->text->z + 0)
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
173 Reported: <475B104F.2070807@barco.com>
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
174 <87hcixwkh4.fsf@uwakimon.sk.tsukuba.ac.jp>
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
175 Fixed: <87hcixwkh4.fsf@uwakimon.sk.tsukuba.ac.jp>"
4322
f70e56bb52a7 src/search.c (simple_search): Fix underrun in reverse search.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4321
diff changeset
176 (switch-to-buffer (get-buffer-create "*crash me*"))
4344
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
177 ;; doozy is the keystroke equivalent of the keyboard macro
4322
f70e56bb52a7 src/search.c (simple_search): Fix underrun in reverse search.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4321
diff changeset
178 ;; "IAI" C-b C-b C-s C-x
f70e56bb52a7 src/search.c (simple_search): Fix underrun in reverse search.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4321
diff changeset
179 (let ((doozy [;;(control ?x) ?b ?j ?u ?n ?k return
f70e56bb52a7 src/search.c (simple_search): Fix underrun in reverse search.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4321
diff changeset
180 ?I ?A ?I
f70e56bb52a7 src/search.c (simple_search): Fix underrun in reverse search.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4321
diff changeset
181 (control ?b) (control ?b)
f70e56bb52a7 src/search.c (simple_search): Fix underrun in reverse search.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4321
diff changeset
182 (control ?s) (control ?w)]))
f70e56bb52a7 src/search.c (simple_search): Fix underrun in reverse search.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4321
diff changeset
183 (execute-kbd-macro doozy)))
f70e56bb52a7 src/search.c (simple_search): Fix underrun in reverse search.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4321
diff changeset
184
f70e56bb52a7 src/search.c (simple_search): Fix underrun in reverse search.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4321
diff changeset
185
4344
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
186 (defbug 10 current
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
187 "Crash on trace-function
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
188 Fatal error: assertion failed, file src/eval.c, line 1405, abort()"
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
189 (trace-function 'record-buffer bug-buffer)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
190 (pop-to-buffer bug-buffer))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
191
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
192
4344
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
193 (defbug 9 current
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
194 "Crashes with stack overflow
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
195 Should give error via barf-if-buffer-read-only
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
196 Fatal error: assertion failed, file src/eval.c, line 1874, abort()
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
197 This bug has been fixed. -sb"
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
198 (switch-to-buffer bug-buffer)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
199 ;; The following line should contain a number of eight-bit characters
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
200 (insert "²èÌÌËè¤Î°ÜÆ°¤Ï¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£º£Å٤ϡ¢²èÌ̤ÎÃæ¤Ç¡¢ÆÃÄê¤Î¾ì")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
201 (setq buffer-read-only t)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
202 (ignore-errors
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
203 (encode-coding-region (point-min) (point-max) 'euc-japan))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
204 (garbage-collect))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
205
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
206
4344
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
207 (defbug 8 current
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
208 "Crashes in debug version only
5176
8b2f75cecb89 rename objects* (.c, .h and .el files) to fontcolor*
Ben Wing <ben@xemacs.org>
parents: 4746
diff changeset
209 Fatal error: assertion failed, file src/fontcolor.h, line 149,
4344
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
210 RECORD_TYPEP (_obj, lrecord_font_instance) || MARKED_RECORD_P (_obj)"
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
211 (let (glyph ext)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
212 (make-face 'adobe-symbol-face)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
213 (set-face-font
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
214 'adobe-symbol-face
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
215 "-adobe-symbol-medium-r-normal--*-140-*-*-p-*-adobe-fontspecific")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
216 (setq glyph (make-glyph (list (vector 'string
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
217 :data (char-to-string ?\xD3)))))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
218 (set-glyph-face glyph 'adobe-symbol-face)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
219 (setq ext (make-extent 14 18))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
220 (set-extent-property ext 'begin-glyph glyph)))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
221
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
222
4344
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
223 (defbug 7 current
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
224 "(maybe?) crash koi8
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
225 ACCL: Invalid command (c)
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
226 With debugging on, crashes as follows:
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
227 Fatal error: assertion failed, file src/lisp.h, line 1227, INTP (obj)"
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
228 ;;(load "cyrillic")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
229 ;;(load "cyrillic-hooks")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
230 (princ (decode-coding-string "\xe1" 'koi8)))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
231
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
232
4344
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
233 (defbug 6 current
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
234 "regexp crash
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
235 This doesn't crash for me. -sb"
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
236 (string-match "\\(\\s-\\|$\\)" "å"))
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
237
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
238
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
239 (defbug 5 legacy
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
240 "`subst-char-in-region' moves point."
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
241 (interactive)
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
242 (with-temp-buffer
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
243 (insert "abc")
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
244 (forward-char -1)
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
245 (subst-char-in-region 1 4 ?b ?\344)
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
246 (if (not (= (point) 3))
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
247 (message "Bug! point should equal 3 but is %d" (point)))))
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
248
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
249
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
250 (defbug 4 legacy
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
251 "Infinite recursion crash - Segmentation Fault"
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
252 (switch-to-buffer bug-buffer)
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
253 (insert "abcdefg")
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
254 (setq e (make-extent 1 4))
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
255 (set-extent-property e 'face 'bold)
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
256 (set-extent-property e 'duplicable t)
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
257 (set-extent-property e 'replicating t)
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
258 (insert (buffer-string))
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
259 (delete-region 8 9))
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
260
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
261
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
262 (defbug 3 current
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
263 "Completely Uninterruptible hang in re-search-backward (Was: java-mode)"
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
264 (switch-to-buffer bug-buffer)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
265 (insert "{
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
266 public static void main(String[] args) throws java.io.IOException
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
267 {
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
268 }
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
269 }
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
270 ")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
271 (goto-char (point-min))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
272 (search-forward "{" nil nil 2)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
273 (backward-char)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
274 (re-search-backward
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
275 "^\\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("))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
276
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
277
4344
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
278 (defbug 2 legacy
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
279 "crash popup frames
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
280 FIXED
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
281 #### This bug is not understood, and may be incomplete. See source."
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
282 (lambda ()
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
283 (let ((f (selected-frame)))
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
284 (make-frame `(popup ,(selected-frame)))
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
285 (make-frame)
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
286 (sit-for 0)
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
287 (delete-frame f)
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
288 ;; #### Check whether this is needed.
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
289 ;; (save-buffers-kill-emacs5)
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
290 )))
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
291
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
292
4344
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
293 (defbug 1 legacy
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
294 "crash on delete-frame-hook
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
295 FIXED!
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
296 #### This bug is not understood, and seems to be incomplete. See source."
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
297 (lambda ()
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
298 ;; #### Should this be add-hook instead of setq?
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
299 (setq delete-frame-hook
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
300 (lambda (frame)
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
301 (select-frame frame)
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
302 (kill-buffer (window-buffer (frame-selected-window frame)))
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
303 ;; #### Do we need to delete a frame here or something?
2511b50f39c6 Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4322
diff changeset
304 ))))
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
305
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
306 ;;; reproduce-bugs.el ends here