Mercurial > hg > xemacs-beta
annotate tests/reproduce-crashes.el @ 4345:748bbb699b0a
Rename reproduce-bugs.el to reproduce-crashes.el.
author | Stephen J. Turnbull <stephen@xemacs.org> |
---|---|
date | Fri, 21 Dec 2007 03:33:35 -0800 |
parents | tests/reproduce-bugs.el@2511b50f39c6 |
children | ec1103d2c1c7 |
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 | |
4321
98e54edf3ab2
Resuscitate reproduce-bugs.el.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
428
diff
changeset
|
40 ;; #### This file should be cleaned up and renamed reproduce-crashes.el. |
4344
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
41 ;; #### 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
|
42 ;; #### 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
|
43 ;; #### 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
|
44 ;; #### Do the autoloads make any sense? |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
45 ;; #### `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
|
46 ;; #### 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
|
47 ;; document them. |
4321
98e54edf3ab2
Resuscitate reproduce-bugs.el.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
428
diff
changeset
|
48 |
428 | 49 ;;; Code: |
50 | |
4344
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
51 ;; UI entry points |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
52 |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
53 (defun reproduce-bug (number) |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
54 "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
|
55 Especially, make XEmacs crash. |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
56 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
|
57 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
|
58 (interactive "nBug Number: ") |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
59 (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
|
60 |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
61 (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
|
62 "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
|
63 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
|
64 (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
|
65 (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
|
66 ((member show-code '(?y ?Y)) t) |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
67 (t nil))) |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
68 (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
|
69 (let ((bug (gethash number bug-hashtable))) |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
70 (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
|
71 number |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
72 (nth 1 bug) |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
73 (nth 2 bug) |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
74 (if show-code (pp-to-string (nth 0 bug)) "")))))) |
428 | 75 |
4344
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
76 (defun list-bugs () |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
77 "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
|
78 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
|
79 (interactive) |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
80 (with-displaying-temp-buffer "*Bug list*" |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
81 (princ " # status description\n") |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
82 (let (buglist) |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
83 (maphash (lambda (number bug) |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
84 (push (format "%3d %-9s %s" |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
85 number |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
86 (nth 1 bug) |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
87 (let ((description (nth 2 bug))) |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
88 (save-match-data |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
89 (string-match "\\(.*\\)\\(\n\\|$\\)" |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
90 description) |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
91 (match-string 1 description)))) |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
92 buglist)) |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
93 bug-hashtable) |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
94 (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
|
95 (while buglist |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
96 (let ((bug (pop buglist))) |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
97 (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
|
98 (terpri)))))) |
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 ;; Database and utilities (internal) |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
101 |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
102 (defvar bug-hashtable (make-hashtable 10) |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
103 "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
|
104 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
|
105 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
|
106 For details, see `defbug'.") |
428 | 107 |
108 (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
|
109 (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
|
110 "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
|
111 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
|
112 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
|
113 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
|
114 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
|
115 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
|
116 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
|
117 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
|
118 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
|
119 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
|
120 a BTS issue. |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
121 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
|
122 (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
|
123 (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
|
124 `(puthash ,bug-number |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
125 '((lambda () ,@body) ,status ,docstring) |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
126 bug-hashtable))) |
428 | 127 |
128 (defconst bug-buffer | |
129 (save-excursion | |
130 (set-buffer (get-buffer-create "*Bug*")) | |
131 (erase-buffer) | |
132 (current-buffer))) | |
133 | |
134 | |
4344
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
135 ;;; ------------------------------------------------------------------ |
428 | 136 ;;;; Bugs follow: |
137 | |
4344
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
138 (defbug 11 fixed |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
139 "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
|
140 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
|
141 Fatal error: assertion failed, |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
142 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
|
143 (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
|
144 Reported: <475B104F.2070807@barco.com> |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
145 <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
|
146 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
|
147 (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
|
148 ;; 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
|
149 ;; "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
|
150 (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
|
151 ?I ?A ?I |
f70e56bb52a7
src/search.c (simple_search): Fix underrun in reverse search.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4321
diff
changeset
|
152 (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
|
153 (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
|
154 (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
|
155 |
f70e56bb52a7
src/search.c (simple_search): Fix underrun in reverse search.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4321
diff
changeset
|
156 |
4344
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
157 (defbug 10 current |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
158 "Crash on trace-function |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
159 Fatal error: assertion failed, file src/eval.c, line 1405, abort()" |
428 | 160 (trace-function 'record-buffer bug-buffer) |
161 (pop-to-buffer bug-buffer)) | |
162 | |
163 | |
4344
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
164 (defbug 9 current |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
165 "Crashes with stack overflow |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
166 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
|
167 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
|
168 This bug has been fixed. -sb" |
428 | 169 (switch-to-buffer bug-buffer) |
170 ;; The following line should contain a number of eight-bit characters | |
171 (insert "²èÌÌËè¤Î°ÜÆ°¤Ï¤Ç¤¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£º£Å٤ϡ¢²èÌ̤ÎÃæ¤Ç¡¢ÆÃÄê¤Î¾ì") | |
172 (setq buffer-read-only t) | |
173 (ignore-errors | |
174 (encode-coding-region (point-min) (point-max) 'euc-japan)) | |
175 (garbage-collect)) | |
176 | |
177 | |
4344
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
178 (defbug 8 current |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
179 "Crashes in debug version only |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
180 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
|
181 RECORD_TYPEP (_obj, lrecord_font_instance) || MARKED_RECORD_P (_obj)" |
428 | 182 (let (glyph ext) |
183 (make-face 'adobe-symbol-face) | |
184 (set-face-font | |
185 'adobe-symbol-face | |
186 "-adobe-symbol-medium-r-normal--*-140-*-*-p-*-adobe-fontspecific") | |
187 (setq glyph (make-glyph (list (vector 'string | |
188 :data (char-to-string ?\xD3))))) | |
189 (set-glyph-face glyph 'adobe-symbol-face) | |
190 (setq ext (make-extent 14 18)) | |
191 (set-extent-property ext 'begin-glyph glyph))) | |
192 | |
193 | |
4344
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
194 (defbug 7 current |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
195 "(maybe?) crash koi8 |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
196 ACCL: Invalid command (c) |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
197 With debugging on, crashes as follows: |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
198 Fatal error: assertion failed, file src/lisp.h, line 1227, INTP (obj)" |
428 | 199 ;;(load "cyrillic") |
200 ;;(load "cyrillic-hooks") | |
201 (princ (decode-coding-string "\xe1" 'koi8))) | |
202 | |
203 | |
4344
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
204 (defbug 6 current |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
205 "regexp crash |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
206 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
|
207 (string-match "\\(\\s-\\|$\\)" "å")) |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
208 |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
209 |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
210 (defbug 5 legacy |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
211 "`subst-char-in-region' moves point." |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
212 (interactive) |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
213 (with-temp-buffer |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
214 (insert "abc") |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
215 (forward-char -1) |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
216 (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
|
217 (if (not (= (point) 3)) |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
218 (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
|
219 |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
220 |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
221 (defbug 4 legacy |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
222 "Infinite recursion crash - Segmentation Fault" |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
223 (switch-to-buffer bug-buffer) |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
224 (insert "abcdefg") |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
225 (setq e (make-extent 1 4)) |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
226 (set-extent-property e 'face 'bold) |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
227 (set-extent-property e 'duplicable t) |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
228 (set-extent-property e 'replicating t) |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
229 (insert (buffer-string)) |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
230 (delete-region 8 9)) |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
231 |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
232 |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
233 (defbug 3 current |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
234 "Completely Uninterruptible hang in re-search-backward (Was: java-mode)" |
428 | 235 (switch-to-buffer bug-buffer) |
236 (insert "{ | |
237 public static void main(String[] args) throws java.io.IOException | |
238 { | |
239 } | |
240 } | |
241 ") | |
242 (goto-char (point-min)) | |
243 (search-forward "{" nil nil 2) | |
244 (backward-char) | |
245 (re-search-backward | |
246 "^\\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(")) | |
247 | |
248 | |
4344
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
249 (defbug 2 legacy |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
250 "crash popup frames |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
251 FIXED |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
252 #### 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
|
253 (lambda () |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
254 (let ((f (selected-frame))) |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
255 (make-frame `(popup ,(selected-frame))) |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
256 (make-frame) |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
257 (sit-for 0) |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
258 (delete-frame f) |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
259 ;; #### Check whether this is needed. |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
260 ;; (save-buffers-kill-emacs5) |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
261 ))) |
428 | 262 |
263 | |
4344
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
264 (defbug 1 legacy |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
265 "crash on delete-frame-hook |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
266 FIXED! |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
267 #### 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
|
268 (lambda () |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
269 ;; #### 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
|
270 (setq delete-frame-hook |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
271 (lambda (frame) |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
272 (select-frame frame) |
2511b50f39c6
Refactor reproduce-bugs.el to usable state.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4322
diff
changeset
|
273 (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
|
274 ;; #### 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
|
275 )))) |
428 | 276 |
277 ;;; reproduce-bugs.el ends here |