Mercurial > hg > xemacs-beta
annotate tests/reproduce-crashes.el @ 4566:26aae3bacf99
Merge.
author | Aidan Kehoe <kehoea@parhasard.net> |
---|---|
date | Sat, 09 Aug 2008 13:11:06 +0200 |
parents | ec1103d2c1c7 |
children | 945247a8112f |
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 | 2 |
3 ;; Copyright (C) 1997 Free Software Foundation, Inc. | |
4 ;; Copyright (C) 1997 Sun Microsystems, Inc. | |
5 | |
6 ;; Keywords: bugs, crash, burn, die, croak, munge | |
7 | |
8 ;; This file is part of XEmacs. | |
9 | |
10 ;; This file is free software; you can redistribute it and/or modify it | |
11 ;; under the terms of the GNU General Public License as published by | |
12 ;; the Free Software Foundation; either version 2, or (at your option) | |
13 ;; any later version. | |
14 | |
15 ;; XEmacs is distributed in the hope that it will be useful, but | |
16 ;; WITHOUT ANY WARRANTY; without even the implied warranty of | |
17 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
18 ;; General Public License for more details. | |
19 | |
20 ;; You should have received a copy of the GNU General Public License | |
21 ;; along with XEmacs; see the file COPYING. If not, write to the Free | |
22 ;; Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA | |
23 ;; 02111-1307, USA. | |
24 | |
25 ;;; Synched up with: Not in FSF. | |
26 | |
27 ;;; Commentary: | |
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 | 34 ;; You may need to use a debug version of XEmacs to reproduce some of these. |
35 | |
36 ;; For XEmacs maintainers and other masochists. | |
37 ;; It's a bad idea to rely on code in this file continuing to work in | |
38 ;; the same way. :-) | |
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 | 47 ;;; Code: |
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 | 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 | 105 |
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 | 125 |
126 (defconst bug-buffer | |
127 (save-excursion | |
128 (set-buffer (get-buffer-create "*Bug*")) | |
129 (erase-buffer) | |
130 (current-buffer))) | |
131 | |
132 | |
4344
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
133 ;;; ------------------------------------------------------------------ |
428 | 134 ;;;; Bugs follow: |
135 | |
4344
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
136 (defbug 11 fixed |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
137 "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
|
138 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
|
139 Fatal error: assertion failed, |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
140 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
|
141 (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
|
142 Reported: <475B104F.2070807@barco.com> |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
143 <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
|
144 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
|
145 (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
|
146 ;; 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
|
147 ;; "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
|
148 (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
|
149 ?I ?A ?I |
f70e56bb52a7
src/search.c (simple_search): Fix underrun in reverse search.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4321
diff
changeset
|
150 (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
|
151 (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
|
152 (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
|
153 |
f70e56bb52a7
src/search.c (simple_search): Fix underrun in reverse search.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4321
diff
changeset
|
154 |
4344
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
155 (defbug 10 current |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
156 "Crash on trace-function |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
157 Fatal error: assertion failed, file src/eval.c, line 1405, abort()" |
428 | 158 (trace-function 'record-buffer bug-buffer) |
159 (pop-to-buffer bug-buffer)) | |
160 | |
161 | |
4344
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
162 (defbug 9 current |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
163 "Crashes with stack overflow |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
164 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
|
165 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
|
166 This bug has been fixed. -sb" |
428 | 167 (switch-to-buffer bug-buffer) |
168 ;; The following line should contain a number of eight-bit characters | |
169 (insert "²èÌÌËè¤Î°ÜÆ°¤Ï¤Ç¤¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£º£Å٤ϡ¢²èÌ̤ÎÃæ¤Ç¡¢ÆÃÄê¤Î¾ì") | |
170 (setq buffer-read-only t) | |
171 (ignore-errors | |
172 (encode-coding-region (point-min) (point-max) 'euc-japan)) | |
173 (garbage-collect)) | |
174 | |
175 | |
4344
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
176 (defbug 8 current |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
177 "Crashes in debug version only |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
178 Fatal error: assertion failed, file src/objects.h, line 149, |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
179 RECORD_TYPEP (_obj, lrecord_font_instance) || MARKED_RECORD_P (_obj)" |
428 | 180 (let (glyph ext) |
181 (make-face 'adobe-symbol-face) | |
182 (set-face-font | |
183 'adobe-symbol-face | |
184 "-adobe-symbol-medium-r-normal--*-140-*-*-p-*-adobe-fontspecific") | |
185 (setq glyph (make-glyph (list (vector 'string | |
186 :data (char-to-string ?\xD3))))) | |
187 (set-glyph-face glyph 'adobe-symbol-face) | |
188 (setq ext (make-extent 14 18)) | |
189 (set-extent-property ext 'begin-glyph glyph))) | |
190 | |
191 | |
4344
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
192 (defbug 7 current |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
193 "(maybe?) crash koi8 |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
194 ACCL: Invalid command (c) |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
195 With debugging on, crashes as follows: |
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/lisp.h, line 1227, INTP (obj)" |
428 | 197 ;;(load "cyrillic") |
198 ;;(load "cyrillic-hooks") | |
199 (princ (decode-coding-string "\xe1" 'koi8))) | |
200 | |
201 | |
4344
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
202 (defbug 6 current |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
203 "regexp crash |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
204 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
|
205 (string-match "\\(\\s-\\|$\\)" "å")) |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
206 |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
207 |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
208 (defbug 5 legacy |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
209 "`subst-char-in-region' moves point." |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
210 (interactive) |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
211 (with-temp-buffer |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
212 (insert "abc") |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
213 (forward-char -1) |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
214 (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
|
215 (if (not (= (point) 3)) |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
216 (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
|
217 |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
218 |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
219 (defbug 4 legacy |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
220 "Infinite recursion crash - Segmentation Fault" |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
221 (switch-to-buffer bug-buffer) |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
222 (insert "abcdefg") |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
223 (setq e (make-extent 1 4)) |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
224 (set-extent-property e 'face 'bold) |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
225 (set-extent-property e 'duplicable t) |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
226 (set-extent-property e 'replicating t) |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
227 (insert (buffer-string)) |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
228 (delete-region 8 9)) |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
229 |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
230 |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
231 (defbug 3 current |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
232 "Completely Uninterruptible hang in re-search-backward (Was: java-mode)" |
428 | 233 (switch-to-buffer bug-buffer) |
234 (insert "{ | |
235 public static void main(String[] args) throws java.io.IOException | |
236 { | |
237 } | |
238 } | |
239 ") | |
240 (goto-char (point-min)) | |
241 (search-forward "{" nil nil 2) | |
242 (backward-char) | |
243 (re-search-backward | |
244 "^\\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(")) | |
245 | |
246 | |
4344
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
247 (defbug 2 legacy |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
248 "crash popup frames |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
249 FIXED |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
250 #### 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
|
251 (lambda () |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
252 (let ((f (selected-frame))) |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
253 (make-frame `(popup ,(selected-frame))) |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
254 (make-frame) |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
255 (sit-for 0) |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
256 (delete-frame f) |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
257 ;; #### Check whether this is needed. |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
258 ;; (save-buffers-kill-emacs5) |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
259 ))) |
428 | 260 |
261 | |
4344
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
262 (defbug 1 legacy |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
263 "crash on delete-frame-hook |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
264 FIXED! |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
265 #### 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
|
266 (lambda () |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
267 ;; #### 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
|
268 (setq delete-frame-hook |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
269 (lambda (frame) |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
270 (select-frame frame) |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
271 (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
|
272 ;; #### 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
|
273 )))) |
428 | 274 |
275 ;;; reproduce-bugs.el ends here |