annotate tests/automated/search-tests.el @ 4903:70089046adef

fix compile problems in intl-encap* under VS6 -------------------- ChangeLog entries follow: -------------------- lib-src/ChangeLog addition: 2010-01-30 Ben Wing <ben@xemacs.org> * make-mswin-unicode.pl: Make it possible to specify an overridden prototype in cases where either Cygwin or Visual Studio has errors in their headers that can be corrected by falling back to a less qualified type (typically without const). src/ChangeLog addition: 2010-01-30 Ben Wing <ben@xemacs.org> * intl-auto-encap-win32.c: * intl-auto-encap-win32.c (qxeExtractAssociatedIcon): * intl-auto-encap-win32.c (qxeExtractIconEx): * intl-auto-encap-win32.c (qxeCreateMDIWindow): * intl-auto-encap-win32.c (qxeCreateWindowStation): * intl-auto-encap-win32.c (qxeDdeCreateStringHandle): * intl-auto-encap-win32.c (qxeAbortSystemShutdown): * intl-auto-encap-win32.c (qxeRegConnectRegistry): * intl-auto-encap-win32.c (qxeGetICMProfile): * intl-auto-encap-win32.h: Rebuild. * intl-encap-win32.c: * intl-encap-win32.c (qxeUpdateICMRegKey): Delete manual definitions of functions with former errors in Cygwin headers but no longer. Use "override" with some functions where Cygwin or VS6 accidentally omits a const declaration or includes an extra one. Use "no" on SendMessageTimeout, which has an error in the VS6 prototype (you could manually fix this with an ifdef to split the Cygwin vs. VS6 calls, if we ever actually used this function).
author Ben Wing <ben@xemacs.org>
date Sat, 30 Jan 2010 20:34:23 -0600
parents c902301f8b7d
children e91e3e353805 6ef8256a020a
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4902
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
1 ;;; -*- coding: iso-8859-1 -*-
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
2
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
3 ;; Copyright (C) 2000 Free Software Foundation, Inc.
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
4 ;; Copyright (C) 2010 Ben Wing.
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
5
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
6 ;; Author: Yoshiki Hayashi <yoshiki@xemacs.org>
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
7 ;; Maintainer: Yoshiki Hayashi <yoshiki@xemacs.org>
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
8 ;; Created: 2000
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
9 ;; Keywords: tests
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
10
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
11 ;; This file is part of XEmacs.
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
12
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
13 ;; XEmacs is free software; you can redistribute it and/or modify it
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
14 ;; under the terms of the GNU General Public License as published by
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
15 ;; the Free Software Foundation; either version 2, or (at your option)
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
16 ;; any later version.
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
17
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
18 ;; XEmacs is distributed in the hope that it will be useful, but
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
19 ;; WITHOUT ANY WARRANTY; without even the implied warranty of
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
20 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
21 ;; General Public License for more details.
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
22
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
23 ;; You should have received a copy of the GNU General Public License
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
24 ;; along with XEmacs; see the file COPYING. If not, write to the Free
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
25 ;; Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
26 ;; 02111-1307, USA.
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
27
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
28 ;;; Synched up with: Not in FSF.
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
29
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
30 ;;; Commentary:
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
31
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
32 ;; Test of non-regexp searching.
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
33
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
34 ;; Split out of case-tests.el.
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
35
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
36 ;; NOTE NOTE NOTE: See also:
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
37 ;;
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
38 ;; (1) regexp-tests.el, for regexp searching.
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
39 ;; (2) case-tests.el, for some case-related searches.
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
40
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
41 ;; NOTE NOTE NOTE: There is some domain overlap among regexp-tests.el,
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
42 ;; search-tests.el and case-tests.el. The current rule for what goes where
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
43 ;; is:
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
44 ;;
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
45 ;; (1) Anything regexp-related goes in regexp-tests.el, including searches.
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
46 ;; (2) Non-regexp searches go in search-tests.el. This includes case-folding
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
47 ;; searches in the situation where the test tests both folding and
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
48 ;; non-folding behavior.
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
49 ;; (3) If it tests specifically case-folding search behavior, it may go in
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
50 ;; case-tets.el, especially if it is testing something non-search-related
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
51 ;; at the same time (e.g. the Unicode case map torture tests).
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
52
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
53 (with-temp-buffer
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
54 (insert "Test Buffer")
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
55 (let ((case-fold-search t))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
56 (goto-char (point-min))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
57 (Assert-eq (search-forward "test buffer" nil t) 12)
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
58 (goto-char (point-min))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
59 (Assert-eq (search-forward "Test buffer" nil t) 12)
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
60 (goto-char (point-min))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
61 (Assert-eq (search-forward "Test Buffer" nil t) 12)
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
62
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
63 (setq case-fold-search nil)
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
64 (goto-char (point-min))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
65 (Assert (not (search-forward "test buffer" nil t)))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
66 (goto-char (point-min))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
67 (Assert (not (search-forward "Test buffer" nil t)))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
68 (goto-char (point-min))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
69 (Assert-eq (search-forward "Test Buffer" nil t) 12)))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
70
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
71 (with-temp-buffer
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
72 (insert "abcdefghijklmnäopqrstuÄvwxyz")
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
73 ;; case insensitive
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
74 (Assert (not (search-forward "ö" nil t)))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
75 (goto-char (point-min))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
76 (Assert-eq 16 (search-forward "ä" nil t))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
77 (Assert-eq 24 (search-forward "ä" nil t))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
78 (goto-char (point-min))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
79 (Assert-eq 16 (search-forward "Ä" nil t))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
80 (Assert-eq 24 (search-forward "Ä" nil t))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
81 (goto-char (point-max))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
82 (Assert-eq 23 (search-backward "ä" nil t))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
83 (Assert-eq 15 (search-backward "ä" nil t))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
84 (goto-char (point-max))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
85 (Assert-eq 23 (search-backward "Ä" nil t))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
86 (Assert-eq 15 (search-backward "Ä" nil t))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
87 ;; case sensitive
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
88 (setq case-fold-search nil)
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
89 (goto-char (point-min))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
90 (Assert (not (search-forward "ö" nil t)))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
91 (goto-char (point-min))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
92 (Assert-eq 16 (search-forward "ä" nil t))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
93 (Assert (not (search-forward "ä" nil t)))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
94 (goto-char (point-min))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
95 (Assert-eq 24 (search-forward "Ä" nil t))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
96 (goto-char 16)
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
97 (Assert-eq 24 (search-forward "Ä" nil t))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
98 (goto-char (point-max))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
99 (Assert-eq 15 (search-backward "ä" nil t))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
100 (goto-char 15)
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
101 (Assert (not (search-backward "ä" nil t)))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
102 (goto-char (point-max))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
103 (Assert-eq 23 (search-backward "Ä" nil t))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
104 (Assert (not (search-backward "Ä" nil t))))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
105
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
106 (with-temp-buffer
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
107 (insert "aaaaäÄäÄäÄäÄäÄbbbb")
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
108 (goto-char (point-min))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
109 (Assert-eq 15 (search-forward "ää" nil t 5))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
110 (goto-char (point-min))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
111 (Assert (not (search-forward "ää" nil t 6)))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
112 (goto-char (point-max))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
113 (Assert-eq 5 (search-backward "ää" nil t 5))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
114 (goto-char (point-max))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
115 (Assert (not (search-backward "ää" nil t 6))))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
116
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
117 (when (featurep 'mule)
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
118 (let* ((hiragana-a (make-char 'japanese-jisx0208 36 34))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
119 (a-diaeresis ?ä)
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
120 (case-table (copy-case-table (standard-case-table)))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
121 (str-hiragana-a (char-to-string hiragana-a))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
122 (str-a-diaeresis (char-to-string a-diaeresis))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
123 (string (concat str-hiragana-a str-a-diaeresis)))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
124 (put-case-table-pair hiragana-a a-diaeresis case-table)
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
125 (with-temp-buffer
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
126 (set-case-table case-table)
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
127 (insert hiragana-a "abcdefg" a-diaeresis)
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
128 ;; forward
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
129 (goto-char (point-min))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
130 (Assert (not (search-forward "ö" nil t)))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
131 (goto-char (point-min))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
132 (Assert-eq 2 (search-forward str-hiragana-a nil t))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
133 (goto-char (point-min))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
134 (Assert-eq 2 (search-forward str-a-diaeresis nil t))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
135 (goto-char (1+ (point-min)))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
136 (Assert-eq (point-max)
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
137 (search-forward str-hiragana-a nil t))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
138 (goto-char (1+ (point-min)))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
139 (Assert-eq (point-max)
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
140 (search-forward str-a-diaeresis nil t))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
141 ;; backward
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
142 (goto-char (point-max))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
143 (Assert (not (search-backward "ö" nil t)))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
144 (goto-char (point-max))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
145 (Assert-eq (1- (point-max)) (search-backward str-hiragana-a nil t))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
146 (goto-char (point-max))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
147 (Assert-eq (1- (point-max)) (search-backward str-a-diaeresis nil t))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
148 (goto-char (1- (point-max)))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
149 (Assert-eq 1 (search-backward str-hiragana-a nil t))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
150 (goto-char (1- (point-max)))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
151 (Assert-eq 1 (search-backward str-a-diaeresis nil t))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
152 (replace-match "a")
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
153 (Assert (looking-at (format "abcdefg%c" a-diaeresis))))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
154 (with-temp-buffer
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
155 (set-case-table case-table)
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
156 (insert string)
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
157 (insert string)
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
158 (insert string)
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
159 (insert string)
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
160 (insert string)
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
161 (goto-char (point-min))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
162 (Assert-eq 11 (search-forward string nil t 5))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
163 (goto-char (point-min))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
164 (Assert (not (search-forward string nil t 6)))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
165 (goto-char (point-max))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
166 (Assert-eq 1 (search-backward string nil t 5))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
167 (goto-char (point-max))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
168 (Assert (not (search-backward string nil t 6))))))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
169
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
170 ;; Bug reported in http://mid.gmane.org/y9lk5lu5orq.fsf@deinprogramm.de from
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
171 ;; Michael Sperber. Fixed 2008-01-29.
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
172 (with-string-as-buffer-contents "\n\nDer beruhmte deutsche Flei\xdf\n\n"
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
173 (goto-char (point-min))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
174 (Assert (search-forward "Flei\xdf")))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
175
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
176 (with-temp-buffer
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
177 (let ((target "M\xe9zard")
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
178 (debug-xemacs-searches 1))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
179 (Assert (not (search-forward target nil t)))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
180 (insert target)
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
181 (goto-char (point-min))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
182 ;; #### search-algorithm-used is simple-search after the following,
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
183 ;; which shouldn't be necessary; it should be possible to use
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
184 ;; Boyer-Moore.
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
185 ;;
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
186 ;; But searches for ASCII strings in buffers with nothing above ?\xFF
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
187 ;; use Boyer Moore with the current implementation, which is the
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
188 ;; important thing for the Gnus use case.
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
189 (Assert= (1+ (length target)) (search-forward target nil t))))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
190
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
191 (Skip-Test-Unless
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
192 (boundp 'debug-xemacs-searches) ; normal when we have DEBUG_XEMACS
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
193 "not a DEBUG_XEMACS build"
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
194 "checks that the algorithm chosen by #'search-forward is relatively sane"
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
195 (let ((debug-xemacs-searches 1))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
196 (with-temp-buffer
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
197 ;;#### Ben thinks this is unnecessary. with-temp-buffer creates
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
198 ;;a new buffer, which automatically inherits the standard case table.
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
199 ;;(set-case-table pristine-case-table)
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
200 (insert "\n\nDer beruhmte deutsche Fleiss\n\n")
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
201 (goto-char (point-min))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
202 (Assert (search-forward "Fleiss"))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
203 (delete-region (point-min) (point-max))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
204 (insert "\n\nDer beruhmte deutsche Flei\xdf\n\n")
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
205 (goto-char (point-min))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
206 (Assert (search-forward "Flei\xdf"))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
207 (Assert-eq 'boyer-moore search-algorithm-used)
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
208 (delete-region (point-min) (point-max))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
209 (when (featurep 'mule)
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
210 (insert "\n\nDer beruhmte deutsche Flei\xdf\n\n")
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
211 (goto-char (point-min))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
212 (Assert
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
213 (search-forward (format "Fle%c\xdf"
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
214 (make-char 'latin-iso8859-9 #xfd))))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
215 (Assert-eq 'boyer-moore search-algorithm-used)
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
216 (insert (make-char 'latin-iso8859-9 #xfd))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
217 (goto-char (point-min))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
218 (Assert (search-forward "Flei\xdf"))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
219 (Assert-eq 'simple-search search-algorithm-used)
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
220 (goto-char (point-min))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
221 (Assert (search-forward (format "Fle%c\xdf"
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
222 (make-char 'latin-iso8859-9 #xfd))))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
223 (Assert-eq 'simple-search search-algorithm-used)))))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
224
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
225
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
226 ;; XEmacs bug of long standing.
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
227
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
228 (with-temp-buffer
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
229 (insert "foo\201bar")
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
230 (goto-char (point-min))
c902301f8b7d fix CRLF line endings in search-tests.el
Ben Wing <ben@xemacs.org>
parents: 4897
diff changeset
231 (Assert-eq (search-forward "\201" nil t) 5))