Mercurial > hg > xemacs-beta
annotate tests/reproduce-crashes.el @ 4539:061e030e3270
Fix some bugs in load-history construction, built-in symbol file names.
lib-src/ChangeLog addition:
2008-12-27 Aidan Kehoe <kehoea@parhasard.net>
* make-docfile.c (main): Allow more than one -d argument, followed
by a directory to change to.
(put_filename): Don't strip directory information; with previous
change, allows retrieval of Lisp function and variable origin
files from #'built-in-symbol-file relative to lisp-directory.
(scan_lisp_file): Don't add an extraneous newline after the file
name, put_filename has added the newline already.
lisp/ChangeLog addition:
2008-12-27 Aidan Kehoe <kehoea@parhasard.net>
* loadup.el (load-history):
Add the contents of current-load-list to load-history before
clearing it. Move the variable declarations earlier in the file to
a format understood by make-docfile.c.
* custom.el (custom-declare-variable): Add the variable's symbol
to the current file's load history entry correctly, don't use a
cons. Eliminate a comment that we don't need to worry about, we
don't need to check the `initialized' C variable in Lisp.
* bytecomp.el (byte-compile-output-file-form):
Merge Andreas Schwab's pre-GPLv3 GNU change of 19970831 here;
treat #'custom-declare-variable correctly, generating the
docstrings in a format understood by make-docfile.c.
* loadhist.el (symbol-file): Correct behaviour for checking
autoloaded macros and functions when supplied with a TYPE
argument. Accept fully-qualified paths from
#'built-in-symbol-file; if a path is not fully-qualified, return
it relative to lisp-directory if the filename corresponds to a
Lisp file, and relative to (concat source-directory "/src/")
otherwise.
* make-docfile.el (preloaded-file-list):
Rationalise some let bindings a little. Use the "-d" argument to
make-docfile.c to supply Lisp paths relative to lisp-directory,
not absolutely. Add in loadup.el explicitly to the list of files
to be processed by make-docfile.c--it doesn't make sense to add it
to preloaded-file-list, since that is used for purposes of
byte-compilation too.
src/ChangeLog addition:
2008-12-27 Aidan Kehoe <kehoea@parhasard.net>
* doc.c (Fbuilt_in_symbol_file):
Return a subr's filename immediately if we've found it. Check for
compiled function and compiled macro docstrings in DOC too, and
return them if they exist.
The branch of the if statement focused on functions may have
executed, but we may still want to check variable bindings; an
else clause isn't appropriate.
author | Aidan Kehoe <kehoea@parhasard.net> |
---|---|
date | Sat, 27 Dec 2008 14:05:50 +0000 |
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 |