aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorYuan Fu2022-06-14 15:59:46 -0700
committerYuan Fu2022-06-14 15:59:46 -0700
commit98bfb240818bae14cd87a1ffeb8fae7cb7846e05 (patch)
tree16e8ab06875ed54e110cf98ccdbd7e78f15905c6 /test
parent184d212042ffa5a4f02c92085d9b6e8346d66e99 (diff)
parent787c4ad8b0776280305a220d6669c956d9ed8a5d (diff)
downloademacs-98bfb240818bae14cd87a1ffeb8fae7cb7846e05.tar.gz
emacs-98bfb240818bae14cd87a1ffeb8fae7cb7846e05.zip
Merge remote-tracking branch 'savannah/master' into feature/tree-sitter
Diffstat (limited to 'test')
-rw-r--r--test/README11
-rw-r--r--test/lisp/ansi-color-tests.el2
-rw-r--r--test/lisp/autorevert-tests.el36
-rw-r--r--test/lisp/bookmark-tests.el30
-rw-r--r--test/lisp/calendar/iso8601-tests.el20
-rw-r--r--test/lisp/dnd-tests.el375
-rw-r--r--test/lisp/emacs-lisp/bindat-tests.el140
-rw-r--r--test/lisp/emacs-lisp/bytecomp-resources/warn-variable-setq-nonvariable.el3
-rw-r--r--test/lisp/emacs-lisp/bytecomp-resources/warn-variable-setq-odd.el3
-rw-r--r--test/lisp/emacs-lisp/bytecomp-tests.el57
-rw-r--r--test/lisp/emacs-lisp/find-func-tests.el7
-rw-r--r--test/lisp/emacs-lisp/pp-resources/code-formats.erts12
-rw-r--r--test/lisp/erc/erc-dcc-tests.el167
-rw-r--r--test/lisp/eshell/esh-var-tests.el28
-rw-r--r--test/lisp/eshell/eshell-tests.el45
-rw-r--r--test/lisp/ffap-tests.el2
-rw-r--r--test/lisp/filenotify-tests.el38
-rw-r--r--test/lisp/files-resources/compile-utf8.el1
-rw-r--r--test/lisp/files-tests.el21
-rw-r--r--test/lisp/help-mode-tests.el7
-rw-r--r--test/lisp/htmlfontify-tests.el9
-rw-r--r--test/lisp/ls-lisp-tests.el39
-rw-r--r--test/lisp/mail/undigest-tests.el139
-rw-r--r--test/lisp/minibuffer-tests.el136
-rw-r--r--test/lisp/misc-tests.el9
-rw-r--r--test/lisp/net/browse-url-tests.el2
-rw-r--r--test/lisp/net/tramp-tests.el431
-rw-r--r--test/lisp/progmodes/python-tests.el258
-rw-r--r--test/lisp/shadowfile-tests.el116
-rw-r--r--test/lisp/simple-tests.el55
-rw-r--r--test/lisp/subr-tests.el30
-rw-r--r--test/lisp/textmodes/css-mode-resources/css-selectors.txt56
-rw-r--r--test/lisp/textmodes/css-mode-resources/scss-selectors.txt10
-rw-r--r--test/lisp/textmodes/css-mode-tests.el69
-rw-r--r--test/lisp/vc/vc-bzr-tests.el2
-rw-r--r--test/lisp/x-dnd-tests.el82
-rw-r--r--test/manual/etags/ETAGS.good_1748
-rw-r--r--test/manual/etags/ETAGS.good_2776
-rw-r--r--test/manual/etags/ETAGS.good_3772
-rw-r--r--test/manual/etags/ETAGS.good_41028
-rw-r--r--test/manual/etags/ETAGS.good_51080
-rw-r--r--test/manual/etags/ETAGS.good_61080
-rw-r--r--test/manual/etags/c-src/emacs/src/keyboard.c2
-rw-r--r--test/manual/etags/el-src/emacs/lisp/progmodes/etags.el2
-rw-r--r--test/src/buffer-tests.el49
-rw-r--r--test/src/comp-tests.el9
-rw-r--r--test/src/eval-tests.el27
-rw-r--r--test/src/fileio-tests.el10
-rw-r--r--test/src/image-tests.el7
-rw-r--r--test/src/lread-tests.el41
-rw-r--r--test/src/print-tests.el105
-rw-r--r--test/src/process-tests.el2
52 files changed, 4960 insertions, 3226 deletions
diff --git a/test/README b/test/README
index 3d865de78b4..17783a4bacf 100644
--- a/test/README
+++ b/test/README
@@ -118,11 +118,12 @@ If the $EMACS_TEST_JUNIT_REPORT environment variable is set to a file
118name, a JUnit test report is generated under this name. 118name, a JUnit test report is generated under this name.
119 119
120Some of the tests require a remote temporary directory 120Some of the tests require a remote temporary directory
121(autorevert-tests.el, filenotify-tests.el, shadowfile-tests.el and 121(autorevert-tests.el, dnd-tests.el, filenotify-tests.el,
122tramp-tests.el). Per default, a mock-up connection method is used 122shadowfile-tests.el and tramp-tests.el). Per default, a mock-up
123(this might not be possible when running on MS Windows). If you want 123connection method is used (this might not be possible when running on
124to test a real remote connection, set $REMOTE_TEMPORARY_FILE_DIRECTORY 124MS Windows). If you want to test a real remote connection, set
125to a suitable value in order to overwrite the default value: 125$REMOTE_TEMPORARY_FILE_DIRECTORY to a suitable value in order to
126overwrite the default value:
126 127
127 env REMOTE_TEMPORARY_FILE_DIRECTORY=/ssh:host:/tmp make ... 128 env REMOTE_TEMPORARY_FILE_DIRECTORY=/ssh:host:/tmp make ...
128 129
diff --git a/test/lisp/ansi-color-tests.el b/test/lisp/ansi-color-tests.el
index 2ff7fc6aaf6..1b04e8e9def 100644
--- a/test/lisp/ansi-color-tests.el
+++ b/test/lisp/ansi-color-tests.el
@@ -173,7 +173,7 @@ strings with `eq', this function compares them with `equal'."
173 (should (ansi-color-tests-equal-props 173 (should (ansi-color-tests-equal-props
174 propertized-str (buffer-string)))) 174 propertized-str (buffer-string))))
175 175
176 ;; \e not followed by '[' and invalid ANSI escape seqences 176 ;; \e not followed by '[' and invalid ANSI escape sequences
177 (dolist (fun (list ansi-filt ansi-app)) 177 (dolist (fun (list ansi-filt ansi-app))
178 (with-temp-buffer 178 (with-temp-buffer
179 (should (equal (funcall fun "\e") "")) 179 (should (equal (funcall fun "\e") ""))
diff --git a/test/lisp/autorevert-tests.el b/test/lisp/autorevert-tests.el
index d26e0f5a159..54b1a16b5db 100644
--- a/test/lisp/autorevert-tests.el
+++ b/test/lisp/autorevert-tests.el
@@ -52,10 +52,9 @@
52 52
53;;; Code: 53;;; Code:
54 54
55(require 'ert) 55(require 'tramp)
56(require 'ert-x) 56(require 'ert-x)
57(require 'autorevert) 57(require 'autorevert)
58(require 'tramp)
59 58
60(setq auto-revert-debug nil 59(setq auto-revert-debug nil
61 auto-revert-notify-exclude-dir-regexp "nothing-to-be-excluded" 60 auto-revert-notify-exclude-dir-regexp "nothing-to-be-excluded"
@@ -70,30 +69,6 @@
70(defvar auto-revert--messages nil 69(defvar auto-revert--messages nil
71 "Used to collect messages issued during a section of a test.") 70 "Used to collect messages issued during a section of a test.")
72 71
73;; There is no default value on w32 systems, which could work out of the box.
74(defconst auto-revert-test-remote-temporary-file-directory
75 (cond
76 ((getenv "REMOTE_TEMPORARY_FILE_DIRECTORY"))
77 ((eq system-type 'windows-nt) null-device)
78 (t (add-to-list
79 'tramp-methods
80 '("mock"
81 (tramp-login-program "sh")
82 (tramp-login-args (("-i")))
83 (tramp-remote-shell "/bin/sh")
84 (tramp-remote-shell-args ("-c"))
85 (tramp-connection-timeout 10)))
86 (add-to-list
87 'tramp-default-host-alist
88 `("\\`mock\\'" nil ,(system-name)))
89 ;; Emacs' Makefile sets $HOME to a nonexistent value. Needed in
90 ;; batch mode only, therefore. `temporary-file-directory' might
91 ;; be quoted, so we unquote it just in case.
92 (unless (and (null noninteractive) (file-directory-p "~/"))
93 (setenv "HOME" (file-name-unquote temporary-file-directory)))
94 (format "/mock::%s" temporary-file-directory)))
95 "Temporary directory for Tramp tests.")
96
97;; Filter suppressed remote file-notify libraries. 72;; Filter suppressed remote file-notify libraries.
98(when (stringp (getenv "REMOTE_FILE_NOTIFY_LIBRARY")) 73(when (stringp (getenv "REMOTE_FILE_NOTIFY_LIBRARY"))
99 (dolist (lib '("inotifywait" "gio-monitor" "gvfs-monitor-dir")) 74 (dolist (lib '("inotifywait" "gio-monitor" "gvfs-monitor-dir"))
@@ -114,10 +89,9 @@ being the result.")
114 t (ignore-errors 89 t (ignore-errors
115 (and 90 (and
116 (not (getenv "EMACS_HYDRA_CI")) 91 (not (getenv "EMACS_HYDRA_CI"))
117 (file-remote-p auto-revert-test-remote-temporary-file-directory) 92 (file-remote-p ert-remote-temporary-file-directory)
118 (file-directory-p auto-revert-test-remote-temporary-file-directory) 93 (file-directory-p ert-remote-temporary-file-directory)
119 (file-writable-p 94 (file-writable-p ert-remote-temporary-file-directory))))))
120 auto-revert-test-remote-temporary-file-directory))))))
121 ;; Return result. 95 ;; Return result.
122 (cdr auto-revert--test-enabled-remote-checked)) 96 (cdr auto-revert--test-enabled-remote-checked))
123 97
@@ -146,7 +120,7 @@ This expects `auto-revert--messages' to be bound by
146 ,docstring 120 ,docstring
147 :tags '(:expensive-test :unstable) 121 :tags '(:expensive-test :unstable)
148 (let ((temporary-file-directory 122 (let ((temporary-file-directory
149 auto-revert-test-remote-temporary-file-directory) 123 ert-remote-temporary-file-directory)
150 (auto-revert-remote-files t) 124 (auto-revert-remote-files t)
151 (ert-test (ert-get-test ',test)) 125 (ert-test (ert-get-test ',test))
152 vc-handled-backends) 126 vc-handled-backends)
diff --git a/test/lisp/bookmark-tests.el b/test/lisp/bookmark-tests.el
index ae7331fcc2b..a2d8f2d260b 100644
--- a/test/lisp/bookmark-tests.el
+++ b/test/lisp/bookmark-tests.el
@@ -197,6 +197,9 @@ the lexically-bound variable `buffer'."
197 (bookmark-maybe-historicize-string "foo") 197 (bookmark-maybe-historicize-string "foo")
198 (should (equal (car bookmark-history) "foo")))) 198 (should (equal (car bookmark-history) "foo"))))
199 199
200(defun bookmark-remove-last-modified (bmk)
201 (assoc-delete-all 'last-modified bmk))
202
200(ert-deftest bookmark-tests-make-record () 203(ert-deftest bookmark-tests-make-record ()
201 (with-bookmark-test-file 204 (with-bookmark-test-file
202 (let* ((record `("example.txt" (filename . ,bookmark-tests-example-file) 205 (let* ((record `("example.txt" (filename . ,bookmark-tests-example-file)
@@ -206,9 +209,11 @@ the lexically-bound variable `buffer'."
206 (defaults "example.txt")))) 209 (defaults "example.txt"))))
207 (with-current-buffer buffer 210 (with-current-buffer buffer
208 (goto-char 3) 211 (goto-char 3)
209 (should (equal (bookmark-make-record) record)) 212 (should (equal (bookmark-remove-last-modified (bookmark-make-record))
213 record))
210 ;; calling twice gives same record 214 ;; calling twice gives same record
211 (should (equal (bookmark-make-record) record)))))) 215 (should (equal (bookmark-remove-last-modified (bookmark-make-record))
216 record))))))
212 217
213(ert-deftest bookmark-tests-make-record-list () 218(ert-deftest bookmark-tests-make-record-list ()
214 (with-bookmark-test-file-list 219 (with-bookmark-test-file-list
@@ -219,9 +224,11 @@ the lexically-bound variable `buffer'."
219 (defaults "example.txt")))) 224 (defaults "example.txt"))))
220 (with-current-buffer buffer 225 (with-current-buffer buffer
221 (goto-char 3) 226 (goto-char 3)
222 (should (equal (bookmark-make-record) record)) 227 (should (equal (bookmark-remove-last-modified (bookmark-make-record))
228 record))
223 ;; calling twice gives same record 229 ;; calling twice gives same record
224 (should (equal (bookmark-make-record) record)))))) 230 (should (equal (bookmark-remove-last-modified (bookmark-make-record))
231 record))))))
225 232
226(ert-deftest bookmark-tests-make-record-function () 233(ert-deftest bookmark-tests-make-record-function ()
227 (with-bookmark-test 234 (with-bookmark-test
@@ -255,15 +262,18 @@ the lexically-bound variable `buffer'."
255 ;; Set first bookmark 262 ;; Set first bookmark
256 (goto-char (point-min)) 263 (goto-char (point-min))
257 (bookmark-set "foo") 264 (bookmark-set "foo")
258 (should (equal bookmark-alist (list bmk1))) 265 (should (equal (mapcar #'bookmark-remove-last-modified bookmark-alist)
266 (list bmk1)))
259 ;; Replace that bookmark 267 ;; Replace that bookmark
260 (goto-char (point-max)) 268 (goto-char (point-max))
261 (bookmark-set "foo") 269 (bookmark-set "foo")
262 (should (equal bookmark-alist (list bmk2))) 270 (should (equal (mapcar #'bookmark-remove-last-modified bookmark-alist)
271 (list bmk2)))
263 ;; Push another bookmark with the same name 272 ;; Push another bookmark with the same name
264 (goto-char (point-min)) 273 (goto-char (point-min))
265 (bookmark-set "foo" t) ; NO-OVERWRITE is t 274 (bookmark-set "foo" t) ; NO-OVERWRITE is t
266 (should (equal bookmark-alist (list bmk1 bmk2))) 275 (should (equal (mapcar #'bookmark-remove-last-modified bookmark-alist)
276 (list bmk1 bmk2)))
267 277
268 ;; 2. bookmark-set-no-overwrite 278 ;; 2. bookmark-set-no-overwrite
269 ;; Don't overwrite 279 ;; Don't overwrite
@@ -271,11 +281,13 @@ the lexically-bound variable `buffer'."
271 ;; Set new bookmark 281 ;; Set new bookmark
272 (setq bookmark-alist nil) 282 (setq bookmark-alist nil)
273 (bookmark-set-no-overwrite "foo") 283 (bookmark-set-no-overwrite "foo")
274 (should (equal bookmark-alist (list bmk1))) 284 (should (equal (mapcar #'bookmark-remove-last-modified bookmark-alist)
285 (list bmk1)))
275 ;; Push another bookmark with the same name 286 ;; Push another bookmark with the same name
276 (goto-char (point-max)) 287 (goto-char (point-max))
277 (bookmark-set-no-overwrite "foo" t) ; PUSH-BOOKMARK is t 288 (bookmark-set-no-overwrite "foo" t) ; PUSH-BOOKMARK is t
278 (should (equal bookmark-alist (list bmk2 bmk1))) 289 (should (equal (mapcar #'bookmark-remove-last-modified bookmark-alist)
290 (list bmk2 bmk1)))
279 291
280 ;; 3. bookmark-set-internal 292 ;; 3. bookmark-set-internal
281 (should-error (bookmark-set-internal "foo" "bar" t)))))) 293 (should-error (bookmark-set-internal "foo" "bar" t))))))
diff --git a/test/lisp/calendar/iso8601-tests.el b/test/lisp/calendar/iso8601-tests.el
index 6c9e85ec920..f64c498c027 100644
--- a/test/lisp/calendar/iso8601-tests.el
+++ b/test/lisp/calendar/iso8601-tests.el
@@ -82,9 +82,9 @@
82 (should (equal (iso8601-parse "2008-03-02T13:47:30Z") 82 (should (equal (iso8601-parse "2008-03-02T13:47:30Z")
83 '(30 47 13 2 3 2008 nil nil 0))) 83 '(30 47 13 2 3 2008 nil nil 0)))
84 (should (equal (iso8601-parse "2008-03-02T13:47:30+01:00") 84 (should (equal (iso8601-parse "2008-03-02T13:47:30+01:00")
85 '(30 47 13 2 3 2008 nil nil 3600))) 85 '(30 47 13 2 3 2008 nil -1 3600)))
86 (should (equal (iso8601-parse "2008-03-02T13:47:30-01") 86 (should (equal (iso8601-parse "2008-03-02T13:47:30-01")
87 '(30 47 13 2 3 2008 nil nil -3600)))) 87 '(30 47 13 2 3 2008 nil -1 -3600))))
88 88
89(ert-deftest test-iso8601-duration () 89(ert-deftest test-iso8601-duration ()
90 (should (equal (iso8601-parse-duration "P3Y6M4DT12H30M5S") 90 (should (equal (iso8601-parse-duration "P3Y6M4DT12H30M5S")
@@ -221,24 +221,24 @@
221 221
222(ert-deftest standard-test-time-of-day-zone () 222(ert-deftest standard-test-time-of-day-zone ()
223 (should (equal (iso8601-parse-time "152746+0100") 223 (should (equal (iso8601-parse-time "152746+0100")
224 '(46 27 15 nil nil nil nil nil 3600))) 224 '(46 27 15 nil nil nil nil -1 3600)))
225 (should (equal (iso8601-parse-time "15:27:46+0100") 225 (should (equal (iso8601-parse-time "15:27:46+0100")
226 '(46 27 15 nil nil nil nil nil 3600))) 226 '(46 27 15 nil nil nil nil -1 3600)))
227 227
228 (should (equal (iso8601-parse-time "152746+01") 228 (should (equal (iso8601-parse-time "152746+01")
229 '(46 27 15 nil nil nil nil nil 3600))) 229 '(46 27 15 nil nil nil nil -1 3600)))
230 (should (equal (iso8601-parse-time "15:27:46+01") 230 (should (equal (iso8601-parse-time "15:27:46+01")
231 '(46 27 15 nil nil nil nil nil 3600))) 231 '(46 27 15 nil nil nil nil -1 3600)))
232 232
233 (should (equal (iso8601-parse-time "152746-0500") 233 (should (equal (iso8601-parse-time "152746-0500")
234 '(46 27 15 nil nil nil nil nil -18000))) 234 '(46 27 15 nil nil nil nil -1 -18000)))
235 (should (equal (iso8601-parse-time "15:27:46-0500") 235 (should (equal (iso8601-parse-time "15:27:46-0500")
236 '(46 27 15 nil nil nil nil nil -18000))) 236 '(46 27 15 nil nil nil nil -1 -18000)))
237 237
238 (should (equal (iso8601-parse-time "152746-05") 238 (should (equal (iso8601-parse-time "152746-05")
239 '(46 27 15 nil nil nil nil nil -18000))) 239 '(46 27 15 nil nil nil nil -1 -18000)))
240 (should (equal (iso8601-parse-time "15:27:46-05") 240 (should (equal (iso8601-parse-time "15:27:46-05")
241 '(46 27 15 nil nil nil nil nil -18000)))) 241 '(46 27 15 nil nil nil nil -1 -18000))))
242 242
243 243
244(defun test-iso8601-format-time-string-zone-round-trip (offset-minutes z-format) 244(defun test-iso8601-format-time-string-zone-round-trip (offset-minutes z-format)
diff --git a/test/lisp/dnd-tests.el b/test/lisp/dnd-tests.el
new file mode 100644
index 00000000000..dfd441b56df
--- /dev/null
+++ b/test/lisp/dnd-tests.el
@@ -0,0 +1,375 @@
1;;; dnd-tests.el --- Tests for window system independent DND support -*- lexical-binding: t; -*-
2
3;; Copyright (C) 2022 Free Software Foundation, Inc.
4
5;; This file is part of GNU Emacs.
6
7;; GNU Emacs is free software: you can redistribute it and/or modify
8;; it under the terms of the GNU General Public License as published by
9;; the Free Software Foundation, either version 3 of the License, or
10;; (at your option) any later version.
11
12;; GNU Emacs is distributed in the hope that it will be useful,
13;; but WITHOUT ANY WARRANTY; without even the implied warranty of
14;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15;; GNU General Public License for more details.
16
17;; You should have received a copy of the GNU General Public License
18;; along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>.
19
20;;; Commentary:
21
22;; Tests for stuff in dnd.el that doesn't require a window system.
23
24;; The drag API tests only check the behavior of the simplified drag
25;; APIs in dnd.el. Actual drags are not performed during the
26;; automated testing process (make check), but some of the tests can
27;; also be run under X.
28
29;;; Code:
30
31(require 'dnd)
32(require 'cl-lib)
33(require 'tramp)
34(require 'select)
35(require 'ert-x)
36
37(defvar dnd-tests-selection-table nil
38 "Alist of selection names to their values.")
39
40(defvar x-treat-local-requests-remotely)
41
42;; Define some replacements for functions used by the drag-and-drop
43;; code on X when running under something else.
44(unless (eq window-system 'x)
45 ;; Substitute for x-begin-drag, which isn't present on all systems.
46 (defalias 'x-begin-drag
47 (lambda (_targets &optional action frame &rest _)
48 ;; Verify that frame is either nil or a valid frame.
49 (when (and frame (not (frame-live-p frame)))
50 (signal 'wrong-type-argument frame))
51 ;; Verify that the action is valid and pretend the drag succeeded
52 ;; (by returning the action).
53 (cl-ecase action
54 ('XdndActionCopy action)
55 ('XdndActionMove action)
56 ('XdndActionLink action)
57 ;; These two are not technically valid, but x-begin-drag accepts
58 ;; them anyway.
59 ('XdndActionPrivate action)
60 ('XdndActionAsk 'XdndActionPrivate))))
61
62 ;; This doesn't work during tests.
63 (defalias 'gui-set-selection
64 (lambda (type data)
65 (or (gui--valid-simple-selection-p data)
66 (and (vectorp data)
67 (let ((valid t))
68 (dotimes (i (length data))
69 (or (gui--valid-simple-selection-p (aref data i))
70 (setq valid nil)))
71 valid))
72 (signal 'error (list "invalid selection" data)))
73 (setf (alist-get type dnd-tests-selection-table) data))))
74
75(declare-function x-get-selection-internal "xselect.c")
76
77(defun dnd-tests-verify-selection-data (type)
78 "Return the data of the drag-and-drop selection converted to TYPE."
79 (if (eq window-system 'x)
80 (let ((x-treat-local-requests-remotely t))
81 (x-get-selection-internal 'XdndSelection type))
82 (let* ((basic-value (cdr (assq 'XdndSelection
83 dnd-tests-selection-table)))
84 (local-value (if (stringp basic-value)
85 (or (get-text-property 0 type basic-value)
86 basic-value)
87 basic-value))
88 (converter-list (cdr (assq type selection-converter-alist)))
89 (converter (if (consp converter-list)
90 (cdr converter-list)
91 converter-list)))
92 (if (and local-value converter)
93 (funcall converter 'XdndSelection type local-value)
94 (error "No selection converter or local value: %s" type)))))
95
96(defun dnd-tests-remote-accessible-p ()
97 "Return if a test involving remote files can proceed."
98 (ignore-errors
99 (and
100 (file-remote-p ert-remote-temporary-file-directory)
101 (file-directory-p ert-remote-temporary-file-directory)
102 (file-writable-p ert-remote-temporary-file-directory))))
103
104(defun dnd-tests-make-temp-name ()
105 "Return a temporary remote file name for test.
106The temporary file is not created."
107 (expand-file-name (make-temp-name "dnd-test-remote")
108 ert-remote-temporary-file-directory))
109
110(defun dnd-tests-parse-tt-netfile (netfile)
111 "Parse NETFILE and return its components.
112NETFILE should be a canonicalized ToolTalk file name.
113Return a list of its hostname, real path, and local path."
114 (save-match-data
115 (when (string-match (concat "HOST=0-\\([[:digit:]]+\\),RPATH=\\([[:digit:]]+\\)-"
116 "\\([[:digit:]]+\\),LPATH=\\([[:digit:]]+\\)-"
117 "\\([[:digit:]]+\\)\\(:\\)")
118 netfile)
119 (let ((beg (match-end 6)))
120 (list (substring netfile beg
121 (+ beg 1
122 (string-to-number (match-string 1 netfile))))
123 (substring netfile
124 (+ beg
125 (string-to-number (match-string 2 netfile)))
126 (+ beg 1
127 (string-to-number (match-string 3 netfile))))
128 (substring netfile
129 (+ beg
130 (string-to-number (match-string 4 netfile)))
131 (+ beg 1
132 (string-to-number (match-string 5 netfile)))))))))
133
134(defun dnd-tests-extract-selection-data (selection expect-cons)
135 "Return the selection data in SELECTION.
136SELECTION can either be the value of `gui-get-selection', or the
137return value of a selection converter.
138
139If EXPECT-CONS, then expect SELECTION to be a cons (when not
140running under X).
141
142This function only tries to handle strings."
143 (when (and expect-cons (not (eq window-system 'x)))
144 (should (and (consp selection)
145 (stringp (cdr selection)))))
146 (if (stringp selection)
147 selection
148 (cdr selection)))
149
150(ert-deftest dnd-tests-begin-text-drag ()
151 ;; When running this test under X, please make sure to drop onto a
152 ;; program with reasonably correct behavior, such as dtpad, gedit,
153 ;; or Mozilla.
154 ;; ASCII Latin-1 UTF-8
155 (let ((test-text "hello, everyone! sæl öllsömul! всем привет"))
156 ;; Verify that dragging works.
157 (should (eq (dnd-begin-text-drag test-text) 'copy))
158 (should (eq (dnd-begin-text-drag test-text nil 'move) 'move))
159 ;; Verify that the important data types are converted correctly.
160 (let ((string-data (dnd-tests-verify-selection-data 'STRING)))
161 ;; Check that the Latin-1 target is converted correctly.
162 (should (equal (dnd-tests-extract-selection-data string-data t)
163 (encode-coding-string test-text
164 'iso-8859-1))))
165 ;; And that UTF8_STRING and the Xdnd UTF8 string are as well.
166 (let* ((string-data (dnd-tests-verify-selection-data
167 'UTF8_STRING))
168 (string-data-1 (dnd-tests-verify-selection-data
169 'text/plain\;charset=utf-8))
170 (extracted-1 (dnd-tests-extract-selection-data string-data-1 t))
171 (extracted (dnd-tests-extract-selection-data string-data t)))
172 (should (and (stringp extracted) (stringp extracted-1)))
173 (should (equal extracted extracted)))
174 ;; Now check text/plain.
175 (let ((string-data (dnd-tests-verify-selection-data
176 'text/plain)))
177 (should (equal (dnd-tests-extract-selection-data string-data t)
178 (encode-coding-string test-text 'ascii))))))
179
180(ert-deftest dnd-tests-begin-file-drag ()
181 ;; These tests also involve handling remote file names.
182 (skip-unless (and (dnd-tests-remote-accessible-p)
183 ;; TODO: make these tests work under X.
184 (not (eq window-system 'x))))
185 (let ((normal-temp-file (expand-file-name (make-temp-name "dnd-test")
186 temporary-file-directory))
187 (normal-multibyte-file (expand-file-name
188 (make-temp-name "тест-на-перетаскивание")
189 temporary-file-directory))
190 (remote-temp-file (dnd-tests-make-temp-name)))
191 ;; Touch those files if they don't exist.
192 (unless (file-exists-p normal-temp-file)
193 (write-region "" 0 normal-temp-file))
194 (unless (file-exists-p normal-multibyte-file)
195 (write-region "" 0 normal-multibyte-file))
196 (unless (file-exists-p remote-temp-file)
197 (write-region "" 0 remote-temp-file))
198 (unwind-protect
199 (progn
200 ;; Now test dragging a normal file.
201 (should (eq (dnd-begin-file-drag normal-temp-file) 'copy))
202 ;; Test that the selection data is correct.
203 (let ((uri-list-data (cdr (dnd-tests-verify-selection-data 'text/uri-list)))
204 (username-data (dnd-tests-verify-selection-data 'text/x-xdnd-username))
205 (file-name-data (cdr (dnd-tests-verify-selection-data 'FILE_NAME)))
206 (host-name-data (cdr (dnd-tests-verify-selection-data 'HOST_NAME)))
207 (netfile-data (cdr (dnd-tests-verify-selection-data '_DT_NETFILE))))
208 ;; Check if the URI list is formatted correctly.
209 (let* ((split-uri-list (split-string uri-list-data "[\0\r\n]" t))
210 (decoded (dnd-get-local-file-name (car split-uri-list))))
211 (should (equal decoded normal-temp-file)))
212 ;; Test that the username reported is correct.
213 (should (equal username-data (user-real-login-name)))
214 ;; Test that the file name data is correct.
215 (let* ((split-file-names (split-string file-name-data "\0"))
216 (file-name (car split-file-names)))
217 ;; Make sure there are no extra leading or trailing NULL bytes.
218 (should (and split-file-names (null (cdr split-file-names))))
219 ;; Make sure the file name is encoded correctly;
220 (should-not (multibyte-string-p file-name))
221 ;; Make sure decoding the file name results in the
222 ;; originals.
223 (should (equal (decode-coding-string file-name
224 (or file-name-coding-system
225 default-file-name-coding-system))
226 normal-temp-file))
227 ;; Also make sure the hostname is correct.
228 (should (equal host-name-data (system-name))))
229 ;; Check that the netfile hostname, rpath and lpath are correct.
230 (let ((parsed (dnd-tests-parse-tt-netfile netfile-data))
231 (filename (encode-coding-string normal-temp-file
232 (or file-name-coding-system
233 default-file-name-coding-system))))
234 (should (equal (nth 0 parsed) (system-name)))
235 (should (equal (nth 1 parsed) filename))
236 (should (equal (nth 2 parsed) filename))))
237 ;; And the remote file.
238 (should (eq (dnd-begin-file-drag remote-temp-file) 'copy))
239 ;; Test that the remote file was added to the list of files
240 ;; to remove later.
241 (should dnd-last-dragged-remote-file)
242 ;; Test that the remote file was removed.
243 (should (progn
244 (dnd-begin-file-drag normal-temp-file)
245 (not dnd-last-dragged-remote-file)))
246 ;; Test that links to remote files can't be created.
247 (should-error (dnd-begin-file-drag remote-temp-file nil 'link))
248 ;; Test dragging a file with a multibyte filename.
249 (should (eq (dnd-begin-file-drag normal-multibyte-file) 'copy))
250 ;; Test that the ToolTalk filename is encodes and decodes correctly.
251 (let* ((netfile-data (cdr (dnd-tests-verify-selection-data '_DT_NETFILE)))
252 (parsed (dnd-tests-parse-tt-netfile netfile-data))
253 (filename (encode-coding-string normal-multibyte-file
254 (or file-name-coding-system
255 default-file-name-coding-system))))
256 (should (equal (nth 0 parsed) (system-name)))
257 (should (equal (nth 1 parsed) filename))
258 (should (equal (nth 2 parsed) filename))))
259 (delete-file normal-temp-file)
260 (delete-file normal-multibyte-file)
261 (delete-file remote-temp-file))))
262
263(ert-deftest dnd-tests-begin-drag-files ()
264 (skip-unless (and (dnd-tests-remote-accessible-p)
265 ;; TODO: make these tests work under X.
266 (not (eq window-system 'x))))
267 (let ((normal-temp-file (expand-file-name (make-temp-name "dnd-test")
268 temporary-file-directory))
269 (normal-temp-file-1 (expand-file-name (make-temp-name "dnd-test")
270 temporary-file-directory))
271 (remote-temp-file (dnd-tests-make-temp-name))
272 (nonexistent-local-file
273 (expand-file-name (make-temp-name "dnd-test")
274 temporary-file-directory))
275 (nonexistent-remote-file (dnd-tests-make-temp-name))
276 (nonexistent-remote-file-1 (dnd-tests-make-temp-name)))
277 ;; Touch those files if they don't exist.
278 (unless (file-exists-p normal-temp-file)
279 (write-region "" 0 normal-temp-file))
280 (unless (file-exists-p normal-temp-file-1)
281 (write-region "" 0 normal-temp-file))
282 (unless (file-exists-p remote-temp-file)
283 (write-region "" 0 remote-temp-file))
284 (ignore-errors
285 (delete-file nonexistent-local-file)
286 (delete-file nonexistent-remote-file)
287 (delete-file nonexistent-remote-file-1))
288 (unwind-protect
289 (progn
290 ;; Now test dragging a normal file and a remote file.
291 (should (eq (dnd-begin-drag-files (list normal-temp-file
292 remote-temp-file))
293 'copy))
294 ;; Test that the remote file produced was added to the list
295 ;; of files to remove upon the next call.
296 (should dnd-last-dragged-remote-file)
297 ;; Two local files at the same time.
298 (should (eq (dnd-begin-drag-files (list normal-temp-file
299 normal-temp-file-1))
300 'copy))
301 ;; Test that the remote files were removed.
302 (should-not dnd-last-dragged-remote-file)
303 ;; Test the selection data is correct.
304 (let ((uri-list-data (cdr (dnd-tests-verify-selection-data 'text/uri-list)))
305 (username-data (dnd-tests-verify-selection-data 'text/x-xdnd-username))
306 (file-name-data (cdr (dnd-tests-verify-selection-data 'FILE_NAME)))
307 (host-name-data (cdr (dnd-tests-verify-selection-data 'HOST_NAME))))
308 ;; Check if the URI list is formatted correctly.
309 (let* ((split-uri-list (split-string uri-list-data "[\0\r\n]" t))
310 (decoded (mapcar #'dnd-get-local-file-name split-uri-list)))
311 (should (equal (car decoded) normal-temp-file))
312 (should (equal (cadr decoded) normal-temp-file-1)))
313 ;; Test that the username reported is correct.
314 (should (equal username-data (user-real-login-name)))
315 ;; Test that the file name data is correct.
316 (let ((split-file-names (split-string file-name-data "\0")))
317 ;; Make sure there are no extra leading or trailing NULL bytes.
318 (should (equal (length split-file-names) 2))
319 ;; Make sure all file names are encoded correctly;
320 (dolist (name split-file-names)
321 (should-not (multibyte-string-p name)))
322 ;; Make sure decoding the file names result in the
323 ;; originals.
324 (should (equal (decode-coding-string (car split-file-names)
325 (or file-name-coding-system
326 default-file-name-coding-system))
327 normal-temp-file))
328 (should (equal (decode-coding-string (cadr split-file-names)
329 (or file-name-coding-system
330 default-file-name-coding-system))
331 normal-temp-file-1))
332 ;; Also make sure the hostname is correct.
333 (should (equal host-name-data (system-name)))))
334 ;; Multiple local files with some remote files that will
335 ;; fail, and some that won't.
336 (should (and (eq (dnd-begin-drag-files (list normal-temp-file
337 remote-temp-file
338 remote-temp-file
339 nonexistent-remote-file
340 normal-temp-file-1
341 nonexistent-remote-file-1))
342 'copy)
343 ;; Make sure exactly two valid remote files
344 ;; were downloaded.
345 (eq (length dnd-last-dragged-remote-file) 2)))
346 ;; Make sure links can't be created to remote files.
347 (should-error (dnd-begin-drag-files (list normal-temp-file
348 remote-temp-file
349 normal-temp-file-1)
350 nil 'link))
351 ;; And that they can to normal files.
352 (should (eq (dnd-begin-drag-files (list normal-temp-file
353 normal-temp-file-1)
354 nil 'link)
355 'link))
356 ;; Make sure you can't drag an empty list of files.
357 (should-error (dnd-begin-drag-files nil))
358 ;; And when all remote files are inaccessible.
359 (should-error (dnd-begin-drag-files (list nonexistent-remote-file
360 nonexistent-remote-file-1))))
361 (delete-file normal-temp-file)
362 (delete-file normal-temp-file-1)
363 (delete-file remote-temp-file))))
364
365(ert-deftest dnd-tests-get-local-file-uri ()
366 (should (equal (dnd-get-local-file-uri "file://localhost/path/to/foo")
367 "file:///path/to/foo"))
368 (should (equal (dnd-get-local-file-uri
369 (format "file://%s/path/to/" (system-name)))
370 "file:///path/to/"))
371 (should-not (dnd-get-local-file-uri "file://some-remote-host/path/to/foo"))
372 (should-not (dnd-get-local-file-uri "file:///path/to/foo")))
373
374(provide 'dnd-tests)
375;;; dnd-tests.el ends here
diff --git a/test/lisp/emacs-lisp/bindat-tests.el b/test/lisp/emacs-lisp/bindat-tests.el
index 7722cf6c020..7d1233ded7c 100644
--- a/test/lisp/emacs-lisp/bindat-tests.el
+++ b/test/lisp/emacs-lisp/bindat-tests.el
@@ -36,7 +36,7 @@
36 (bindat-type 36 (bindat-type
37 (type u8) 37 (type u8)
38 (opcode u8) 38 (opcode u8)
39 (length uintr 16) ;; little endian order 39 (length uint 16 'le) ;; little endian order
40 (id strz 8) 40 (id strz 8)
41 (data vec length) 41 (data vec length)
42 (_ align 4))) 42 (_ align 4)))
@@ -128,18 +128,17 @@
128 (r (zerop (% kind 2)))) 128 (r (zerop (% kind 2))))
129 (dotimes (_ 100) 129 (dotimes (_ 100)
130 (let* ((n (random (ash 1 bitlen))) 130 (let* ((n (random (ash 1 bitlen)))
131 (i (- n (ash 1 (1- bitlen))))) 131 (i (- n (ash 1 (1- bitlen))))
132 (stype (bindat-type sint bitlen r))
133 (utype (bindat-type if r (uintr bitlen) (uint bitlen))))
132 (should (equal (bindat-unpack 134 (should (equal (bindat-unpack
133 (bindat-type sint bitlen r) 135 stype
134 (bindat-pack (bindat-type sint bitlen r) i)) 136 (bindat-pack stype i))
135 i)) 137 i))
136 (when (>= i 0) 138 (when (>= i 0)
137 (should (equal (bindat-pack 139 (should (equal (bindat-pack utype i)
138 (bindat-type if r (uintr bitlen) (uint bitlen)) i) 140 (bindat-pack stype i)))
139 (bindat-pack (bindat-type sint bitlen r) i))) 141 (should (equal (bindat-unpack utype (bindat-pack stype i))
140 (should (equal (bindat-unpack
141 (bindat-type if r (uintr bitlen) (uint bitlen))
142 (bindat-pack (bindat-type sint bitlen r) i))
143 i)))))))) 142 i))))))))
144 143
145(defconst bindat-test--LEB128 144(defconst bindat-test--LEB128
@@ -162,4 +161,125 @@
162 (bindat-pack bindat-test--LEB128 n)) 161 (bindat-pack bindat-test--LEB128 n))
163 n))))))) 162 n)))))))
164 163
164(ert-deftest bindat-test--str-strz-prealloc ()
165 (dolist (tc `(((,(bindat-type str 1) "") . "xx")
166 ((,(bindat-type str 2) "") . "xx")
167 ((,(bindat-type str 2) "a") . "ax")
168 ((,(bindat-type str 2) "ab") . "ab")
169 ((,(bindat-type str 2) "abc") . "ab")
170 ((((x str 1)) ((x . ""))) . "xx")
171 ((((x str 2)) ((x . ""))) . "xx")
172 ((((x str 2)) ((x . "a"))) . "ax")
173 ((((x str 2)) ((x . "ab"))) . "ab")
174 ((((x str 2)) ((x . "abc"))) . "ab")
175 ((,(bindat-type strz 1) "") . "xx")
176 ((,(bindat-type strz 2) "") . "xx")
177 ((,(bindat-type strz 2) "a") . "ax")
178 ((,(bindat-type strz 2) "ab") . "ab")
179 ((,(bindat-type strz 2) "abc") . "ab")
180 ((((x strz 1)) ((x . ""))) . "xx")
181 ((((x strz 2)) ((x . ""))) . "xx")
182 ((((x strz 2)) ((x . "a"))) . "ax")
183 ((((x strz 2)) ((x . "ab"))) . "ab")
184 ((((x strz 2)) ((x . "abc"))) . "ab")
185 ((,(bindat-type strz) "") . "xx")
186 ((,(bindat-type strz) "a") . "ax")))
187 (let ((prealloc (make-string 2 ?x)))
188 (apply #'bindat-pack (append (car tc) (list prealloc)))
189 (should (equal prealloc (cdr tc))))))
190
191(ert-deftest bindat-test--str-strz-multibyte ()
192 (dolist (spec (list (bindat-type str 2)
193 (bindat-type strz 2)
194 (bindat-type strz)))
195 (should (equal (bindat-pack spec (string-to-multibyte "x")) "x\0"))
196 (should (equal (bindat-pack spec (string-to-multibyte "\xff")) "\xff\0"))
197 (should-error (bindat-pack spec "💩"))
198 (should-error (bindat-pack spec "\N{U+ff}")))
199 (dolist (spec (list '((x str 2)) '((x strz 2))))
200 (should (equal (bindat-pack spec `((x . ,(string-to-multibyte "x"))))
201 "x\0"))
202 (should (equal (bindat-pack spec `((x . ,(string-to-multibyte "\xff"))))
203 "\xff\0"))
204 (should-error (bindat-pack spec '((x . "💩"))))
205 (should-error (bindat-pack spec '((x . "\N{U+ff}"))))))
206
207(let ((spec (bindat-type strz 2)))
208 (ert-deftest bindat-test--strz-fixedlen-len ()
209 (should (equal (bindat-length spec "") 2))
210 (should (equal (bindat-length spec "a") 2)))
211
212 (ert-deftest bindat-test--strz-fixedlen-len-overflow ()
213 (should (equal (bindat-length spec "ab") 2))
214 (should (equal (bindat-length spec "abc") 2)))
215
216 (ert-deftest bindat-test--strz-fixedlen-pack ()
217 (should (equal (bindat-pack spec "") "\0\0"))
218 (should (equal (bindat-pack spec "a") "a\0")))
219
220 (ert-deftest bindat-test--strz-fixedlen-pack-overflow ()
221 ;; This is not the only valid semantic, but it's the one we've
222 ;; offered historically.
223 (should (equal (bindat-pack spec "ab") "ab"))
224 (should (equal (bindat-pack spec "abc") "ab")))
225
226 (ert-deftest bindat-test--strz-fixedlen-unpack ()
227 (should (equal (bindat-unpack spec "\0\0") ""))
228 (should (equal (bindat-unpack spec "\0X") ""))
229 (should (equal (bindat-unpack spec "a\0") "a"))
230 ;; Same comment as for b-t-s-f-pack-overflow.
231 (should (equal (bindat-unpack spec "ab") "ab"))
232 ;; Missing null terminator.
233 (should-error (bindat-unpack spec ""))
234 (should-error (bindat-unpack spec "a"))))
235
236(let ((spec (bindat-type strz)))
237 (ert-deftest bindat-test--strz-varlen-len ()
238 (should (equal (bindat-length spec "") 1))
239 (should (equal (bindat-length spec "abc") 4)))
240
241 (ert-deftest bindat-test--strz-varlen-pack ()
242 (should (equal (bindat-pack spec "") "\0"))
243 (should (equal (bindat-pack spec "abc") "abc\0"))
244 ;; Null bytes in the input string break unpacking.
245 (should-error (bindat-pack spec "\0"))
246 (should-error (bindat-pack spec "\0x"))
247 (should-error (bindat-pack spec "x\0"))
248 (should-error (bindat-pack spec "x\0y")))
249
250 (ert-deftest bindat-test--strz-varlen-unpack ()
251 (should (equal (bindat-unpack spec "\0") ""))
252 (should (equal (bindat-unpack spec "abc\0") "abc"))
253 ;; Missing null terminator.
254 (should-error (bindat-unpack spec ""))
255 (should-error (bindat-unpack spec "a"))))
256
257(let ((spec '((x strz 2))))
258 (ert-deftest bindat-test--strz-legacy-fixedlen-len ()
259 (should (equal (bindat-length spec '((x . ""))) 2))
260 (should (equal (bindat-length spec '((x . "a"))) 2)))
261
262 (ert-deftest bindat-test--strz-legacy-fixedlen-len-overflow ()
263 (should (equal (bindat-length spec '((x . "ab"))) 2))
264 (should (equal (bindat-length spec '((x . "abc"))) 2)))
265
266 (ert-deftest bindat-test--strz-legacy-fixedlen-pack ()
267 (should (equal (bindat-pack spec '((x . ""))) "\0\0"))
268 (should (equal (bindat-pack spec '((x . "a"))) "a\0")))
269
270 (ert-deftest bindat-test--strz-legacy-fixedlen-pack-overflow ()
271 ;; Same comment as for b-t-s-f-pack-overflow.
272 (should (equal (bindat-pack spec '((x . "ab"))) "ab"))
273 (should (equal (bindat-pack spec '((x . "abc"))) "ab")))
274
275 (ert-deftest bindat-test--strz-legacy-fixedlen-unpack ()
276 (should (equal (bindat-unpack spec "\0\0") '((x . ""))))
277 (should (equal (bindat-unpack spec "\0X") '((x . ""))))
278 (should (equal (bindat-unpack spec "a\0") '((x . "a"))))
279 ;; Same comment as for b-t-s-f-pack-overflow.
280 (should (equal (bindat-unpack spec "ab") '((x . "ab"))))
281 ;; Missing null terminator.
282 (should-error (bindat-unpack spec ""))
283 (should-error (bindat-unpack spec "a"))))
284
165;;; bindat-tests.el ends here 285;;; bindat-tests.el ends here
diff --git a/test/lisp/emacs-lisp/bytecomp-resources/warn-variable-setq-nonvariable.el b/test/lisp/emacs-lisp/bytecomp-resources/warn-variable-setq-nonvariable.el
new file mode 100644
index 00000000000..5a56913cd9b
--- /dev/null
+++ b/test/lisp/emacs-lisp/bytecomp-resources/warn-variable-setq-nonvariable.el
@@ -0,0 +1,3 @@
1;;; -*- lexical-binding: t -*-
2(defun foo ()
3 (setq (a) nil))
diff --git a/test/lisp/emacs-lisp/bytecomp-resources/warn-variable-setq-odd.el b/test/lisp/emacs-lisp/bytecomp-resources/warn-variable-setq-odd.el
new file mode 100644
index 00000000000..9ce80de08cd
--- /dev/null
+++ b/test/lisp/emacs-lisp/bytecomp-resources/warn-variable-setq-odd.el
@@ -0,0 +1,3 @@
1;;; -*- lexical-binding: t -*-
2(defun foo (a b)
3 (setq a 1 b))
diff --git a/test/lisp/emacs-lisp/bytecomp-tests.el b/test/lisp/emacs-lisp/bytecomp-tests.el
index abd33ab8e5a..9abc17a1c41 100644
--- a/test/lisp/emacs-lisp/bytecomp-tests.el
+++ b/test/lisp/emacs-lisp/bytecomp-tests.el
@@ -747,6 +747,7 @@ byte-compiled. Run with dynamic binding."
747 (ert-with-temp-file elcfile 747 (ert-with-temp-file elcfile
748 :suffix ".elc" 748 :suffix ".elc"
749 (with-temp-buffer 749 (with-temp-buffer
750 (insert ";;; -*- lexical-binding: t -*-\n")
750 (dolist (form forms) 751 (dolist (form forms)
751 (print form (current-buffer))) 752 (print form (current-buffer)))
752 (write-region (point-min) (point-max) elfile nil 'silent)) 753 (write-region (point-min) (point-max) elfile nil 'silent))
@@ -950,11 +951,17 @@ byte-compiled. Run with dynamic binding."
950 "let-bind nonvariable") 951 "let-bind nonvariable")
951 952
952(bytecomp--define-warning-file-test "warn-variable-set-constant.el" 953(bytecomp--define-warning-file-test "warn-variable-set-constant.el"
953 "variable reference to constant") 954 "attempt to set constant")
954 955
955(bytecomp--define-warning-file-test "warn-variable-set-nonvariable.el" 956(bytecomp--define-warning-file-test "warn-variable-set-nonvariable.el"
956 "variable reference to nonvariable") 957 "variable reference to nonvariable")
957 958
959(bytecomp--define-warning-file-test "warn-variable-setq-nonvariable.el"
960 "attempt to set non-variable")
961
962(bytecomp--define-warning-file-test "warn-variable-setq-odd.el"
963 "odd number of arguments")
964
958(bytecomp--define-warning-file-test 965(bytecomp--define-warning-file-test
959 "warn-wide-docstring-autoload.el" 966 "warn-wide-docstring-autoload.el"
960 "autoload .foox. docstring wider than .* characters") 967 "autoload .foox. docstring wider than .* characters")
@@ -1227,12 +1234,19 @@ literals (Bug#20852)."
1227 '((lexical prefixless)) 1234 '((lexical prefixless))
1228 "global/dynamic var .prefixless. lacks") 1235 "global/dynamic var .prefixless. lacks")
1229 1236
1230 (test-suppression 1237 ;; FIXME: These messages cannot be suppressed reliably right now,
1231 '(defun foo() 1238 ;; but attempting mutate `nil' or `5' is a rather daft thing to do
1232 (let ((nil t)) 1239 ;; in the first place. Preventing mutation of constants such as
1233 (message-mail))) 1240 ;; `most-positive-fixnum' makes more sense but the compiler doesn't
1234 '((constants nil)) 1241 ;; warn about that at all right now (it's caught at runtime, and we
1235 "Warning: attempt to let-bind constant .nil.") 1242 ;; allow writing the same value).
1243 ;;
1244 ;; (test-suppression
1245 ;; '(defun foo()
1246 ;; (let ((nil t))
1247 ;; (message-mail)))
1248 ;; '((constants nil))
1249 ;; "Warning: attempt to let-bind constant .nil.")
1236 1250
1237 (test-suppression 1251 (test-suppression
1238 '(progn 1252 '(progn
@@ -1251,7 +1265,7 @@ literals (Bug#20852)."
1251 (defun zot () 1265 (defun zot ()
1252 (wrong-params 1 2 3))) 1266 (wrong-params 1 2 3)))
1253 '((callargs wrong-params)) 1267 '((callargs wrong-params))
1254 "Warning: wrong-params called with") 1268 "Warning: .wrong-params. called with")
1255 1269
1256 (test-byte-comp-compile-and-load nil 1270 (test-byte-comp-compile-and-load nil
1257 (defvar obsolete-variable nil) 1271 (defvar obsolete-variable nil)
@@ -1538,6 +1552,33 @@ EXPECTED-POINT BINDINGS (MODES \\='\\='(ruby-mode js-mode python-mode)) \
1538(TEST-IN-COMMENTS t) (TEST-IN-STRINGS t) (TEST-IN-CODE t) \ 1552(TEST-IN-COMMENTS t) (TEST-IN-STRINGS t) (TEST-IN-CODE t) \
1539(FIXTURE-FN \\='#\\='electric-pair-mode))" fill-column))) 1553(FIXTURE-FN \\='#\\='electric-pair-mode))" fill-column)))
1540 1554
1555(defun test-bytecomp-defgroup-choice ()
1556 (should-not (byte-compile--suspicious-defcustom-choice 'integer))
1557 (should-not (byte-compile--suspicious-defcustom-choice
1558 '(choice (const :tag "foo" bar))))
1559 (should (byte-compile--suspicious-defcustom-choice
1560 '(choice (const :tag "foo" 'bar)))))
1561
1562(ert-deftest bytecomp-function-attributes ()
1563 ;; Check that `byte-compile' keeps the declarations, interactive spec and
1564 ;; doc string of the function (bug#55830).
1565 (let ((fname 'bytecomp-test-fun))
1566 (fset fname nil)
1567 (put fname 'pure nil)
1568 (put fname 'lisp-indent-function nil)
1569 (eval `(defun ,fname (x)
1570 "tata"
1571 (declare (pure t) (indent 1))
1572 (interactive "P")
1573 (list 'toto x))
1574 t)
1575 (let ((bc (byte-compile fname)))
1576 (should (byte-code-function-p bc))
1577 (should (equal (funcall bc 'titi) '(toto titi)))
1578 (should (equal (aref bc 5) "P"))
1579 (should (equal (get fname 'pure) t))
1580 (should (equal (get fname 'lisp-indent-function) 1))
1581 (should (equal (aref bc 4) "tata\n\n(fn X)")))))
1541 1582
1542;; Local Variables: 1583;; Local Variables:
1543;; no-byte-compile: t 1584;; no-byte-compile: t
diff --git a/test/lisp/emacs-lisp/find-func-tests.el b/test/lisp/emacs-lisp/find-func-tests.el
index d29d9ff6563..420c61acb55 100644
--- a/test/lisp/emacs-lisp/find-func-tests.el
+++ b/test/lisp/emacs-lisp/find-func-tests.el
@@ -95,6 +95,13 @@ expected function symbol and function library, respectively."
95 (advice-remove #'mark-sexp 'my-message)) 95 (advice-remove #'mark-sexp 'my-message))
96 96
97(ert-deftest find-func-tests--find-library-verbose () 97(ert-deftest find-func-tests--find-library-verbose ()
98 (unwind-protect
99 (progn
100 (advice-add 'dired :before #'ignore)
101 ;; bug#41104
102 (should (equal (find-function-library #'dired) '(dired . "dired"))))
103 (advice-remove 'dired #'ignore))
104
98 (find-function-library #'join-line nil t) 105 (find-function-library #'join-line nil t)
99 (with-current-buffer "*Messages*" 106 (with-current-buffer "*Messages*"
100 (save-excursion 107 (save-excursion
diff --git a/test/lisp/emacs-lisp/pp-resources/code-formats.erts b/test/lisp/emacs-lisp/pp-resources/code-formats.erts
index 002a5cf1650..c3e3023cb19 100644
--- a/test/lisp/emacs-lisp/pp-resources/code-formats.erts
+++ b/test/lisp/emacs-lisp/pp-resources/code-formats.erts
@@ -128,3 +128,15 @@ Name: code-formats12
128=-= 128=-=
129(global-set-key (kbd "s-x") #'kill-region) 129(global-set-key (kbd "s-x") #'kill-region)
130=-=-= 130=-=-=
131
132Name: code-formats13
133
134=-=
135'("a")
136=-=-=
137
138Name: code-formats14
139
140=-=
141'("a" . "b")
142=-=-=
diff --git a/test/lisp/erc/erc-dcc-tests.el b/test/lisp/erc/erc-dcc-tests.el
new file mode 100644
index 00000000000..a1dfbab9dc5
--- /dev/null
+++ b/test/lisp/erc/erc-dcc-tests.el
@@ -0,0 +1,167 @@
1;;; erc-dcc-tests.el --- Tests for erc-dcc -*- lexical-binding:t -*-
2
3;; Copyright (C) 2022 Free Software Foundation, Inc.
4
5;; This file is part of GNU Emacs.
6;;
7;; GNU Emacs is free software: you can redistribute it and/or modify
8;; it under the terms of the GNU General Public License as published
9;; by the Free Software Foundation, either version 3 of the License,
10;; or (at your option) any later version.
11;;
12;; GNU Emacs is distributed in the hope that it will be useful, but
13;; WITHOUT ANY WARRANTY; without even the implied warranty of
14;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15;; General Public License for more details.
16;;
17;; You should have received a copy of the GNU General Public License
18;; along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>.
19
20;;; Commentary:
21
22;;; Code:
23(require 'ert)
24(require 'erc-dcc)
25
26(ert-deftest erc-dcc-ctcp-query-send-regexp ()
27 (let ((s "DCC SEND \"file name\" 2130706433 9899 1405135128"))
28 (should (string-match erc-dcc-ctcp-query-send-regexp s))
29 (should-not (match-string 2 s))
30 (should (string= "file name" (match-string 1 s)))
31 (should (string= "SEND" (match-string 6 s))))
32 (let ((s "DCC SEND \"file \\\" name\" 2130706433 9899 1405135128"))
33 (should (string-match erc-dcc-ctcp-query-send-regexp s))
34 (should-not (match-string 2 s))
35 (should (string= "SEND" (match-string 6 s)))
36 (should (string= "file \" name"
37 (erc-dcc-unquote-filename (match-string 1 s)))))
38 (let ((s "DCC SEND filename 2130706433 9899 1405135128"))
39 (should (string-match erc-dcc-ctcp-query-send-regexp s))
40 (should (string= "filename" (match-string 2 s)))
41 (should (string= "2130706433" (match-string 3 s)))
42 (should (string= "9899" (match-string 4 s)))
43 (should (string= "1405135128" (match-string 5 s))))
44 (let ((s "DCC TSEND filename 2130706433 9899 1405135128"))
45 (should (string-match erc-dcc-ctcp-query-send-regexp s))
46 (should (string= "TSEND" (match-string 6 s)))))
47
48;; This also indirectly tests base functionality for
49;; `erc-dcc-do-LIST-command'
50
51(defun erc-dcc-tests--dcc-handle-ctcp-send (turbo)
52 (let (erc-send-completed-hook
53 erc-insert-modify-hook
54 erc-kill-channel-hook erc-kill-server-hook erc-kill-buffer-hook)
55 (with-current-buffer (get-buffer-create "fake-server")
56 (erc-mode)
57 (setq erc-server-process
58 (start-process "fake" (current-buffer) "sleep" "10")
59 erc-input-marker (make-marker)
60 erc-insert-marker (make-marker)
61 erc-server-current-nick "dummy")
62 (set-process-query-on-exit-flag erc-server-process nil)
63 (should-not erc-dcc-list)
64 (erc-ctcp-query-DCC erc-server-process
65 "tester"
66 "~tester"
67 "fake.irc"
68 "dummy"
69 (concat "DCC " (if turbo "TSEND" "SEND")
70 " foo 2130706433 9899 1405135128"))
71 (should-not (cdr erc-dcc-list))
72 (should (equal (plist-put (car erc-dcc-list) :parent 'fake)
73 `(:nick "tester!~tester@fake.irc"
74 :type GET
75 :peer nil
76 :parent fake
77 :ip "127.0.0.1"
78 :port "9899"
79 :file "foo"
80 :size 1405135128
81 :turbo ,(and turbo t)
82 :secure nil)))
83 (goto-char (point-min))
84 (should (search-forward "file foo offered by tester" nil t))
85 (erc-dcc-do-LIST-command erc-server-process)
86 (should (search-forward-regexp (concat
87 "GET +no +1405135128 +foo"
88 (and turbo " +(T)") "$")
89 nil t))
90 (when noninteractive
91 (kill-buffer))))
92 ;; `erc-dcc-list' is global; must leave it empty
93 (should erc-dcc-list)
94 (setq erc-dcc-list nil))
95
96(ert-deftest erc-dcc-handle-ctcp-send--base ()
97 (erc-dcc-tests--dcc-handle-ctcp-send nil))
98
99(ert-deftest erc-dcc-handle-ctcp-send--turbo ()
100 (erc-dcc-tests--dcc-handle-ctcp-send t))
101
102(ert-deftest erc-dcc-do-GET-command ()
103 (with-temp-buffer
104 (let* ((proc (start-process "fake" (current-buffer) "sleep" "10"))
105 (elt (list :nick "tester!~tester@fake.irc"
106 :type 'GET
107 :peer nil
108 :parent proc
109 :ip "127.0.0.1"
110 :port "9899"
111 :file "foo.bin"
112 :size 1405135128))
113 (erc-dcc-list (list elt))
114 ;;
115 erc-accidental-paste-threshold-seconds
116 erc-insert-modify-hook erc-send-completed-hook
117 erc-kill-channel-hook erc-kill-server-hook erc-kill-buffer-hook
118 calls)
119 (erc-mode)
120 (setq erc-server-process proc
121 erc-input-marker (make-marker)
122 erc-insert-marker (make-marker)
123 erc-server-current-nick "dummy")
124 (set-process-query-on-exit-flag proc nil)
125 (cl-letf (((symbol-function 'read-file-name)
126 (lambda (&rest _) "foo.bin"))
127 ((symbol-function 'erc-dcc-get-file)
128 (lambda (&rest r) (push r calls))))
129 (goto-char (point-max))
130 (set-marker erc-insert-marker (point-max))
131 (erc-display-prompt)
132
133 (ert-info ("No turbo")
134 (should-not (plist-member elt :turbo))
135 (goto-char erc-input-marker)
136 (insert "/dcc GET tester foo.bin")
137 (erc-send-current-line)
138 (should-not (plist-member (car erc-dcc-list) :turbo))
139 (should (equal (pop calls) (list elt "foo.bin" proc))))
140
141 (ert-info ("Arg turbo in pos 2")
142 (should-not (plist-member elt :turbo))
143 (goto-char erc-input-marker)
144 (insert "/dcc GET -t tester foo.bin")
145 (erc-send-current-line)
146 (should (eq t (plist-get (car erc-dcc-list) :turbo)))
147 (should (equal (pop calls) (list elt "foo.bin" proc))))
148
149 (ert-info ("Arg turbo in pos 4")
150 (setq elt (plist-put elt :turbo nil)
151 erc-dcc-list (list elt))
152 (goto-char erc-input-marker)
153 (insert "/dcc GET tester -t foo.bin")
154 (erc-send-current-line)
155 (should (eq t (plist-get (car erc-dcc-list) :turbo)))
156 (should (equal (pop calls) (list elt "foo.bin" proc))))
157
158 (ert-info ("Arg turbo in pos 6")
159 (setq elt (plist-put elt :turbo nil)
160 erc-dcc-list (list elt))
161 (goto-char erc-input-marker)
162 (insert "/dcc GET tester foo.bin -t")
163 (erc-send-current-line)
164 (should (eq t (plist-get (car erc-dcc-list) :turbo)))
165 (should (equal (pop calls) (list elt "foo.bin" proc))))))))
166
167;;; erc-dcc-tests.el ends here
diff --git a/test/lisp/eshell/esh-var-tests.el b/test/lisp/eshell/esh-var-tests.el
index 4e2a18861e5..3180fe7a5fc 100644
--- a/test/lisp/eshell/esh-var-tests.el
+++ b/test/lisp/eshell/esh-var-tests.el
@@ -147,7 +147,7 @@
147 147
148(ert-deftest esh-var-test/interp-cmd-indices () 148(ert-deftest esh-var-test/interp-cmd-indices ()
149 "Interpolate command result with index" 149 "Interpolate command result with index"
150 (should (equal (eshell-test-command-result "+ ${list 1 2}[1] 3") 5))) 150 (should (equal (eshell-test-command-result "+ ${listify 1 2}[1] 3") 5)))
151 151
152(ert-deftest esh-var-test/interp-cmd-external () 152(ert-deftest esh-var-test/interp-cmd-external ()
153 "Interpolate command result from external command" 153 "Interpolate command result from external command"
@@ -328,7 +328,8 @@ inside double-quotes"
328 328
329(ert-deftest esh-var-test/quoted-interp-cmd-indices () 329(ert-deftest esh-var-test/quoted-interp-cmd-indices ()
330 "Interpolate command result with index inside double-quotes" 330 "Interpolate command result with index inside double-quotes"
331 (should (equal (eshell-test-command-result "concat \"${list 1 2}[1]\" cool") 331 (should (equal (eshell-test-command-result
332 "concat \"${listify 1 2}[1]\" cool")
332 "2cool"))) 333 "2cool")))
333 334
334(ert-deftest esh-var-test/quoted-interp-temp-cmd () 335(ert-deftest esh-var-test/quoted-interp-temp-cmd ()
@@ -357,11 +358,18 @@ inside double-quotes"
357 358
358(ert-deftest esh-var-test/interp-convert-var-split-indices () 359(ert-deftest esh-var-test/interp-convert-var-split-indices ()
359 "Interpolate and convert string variable with indices" 360 "Interpolate and convert string variable with indices"
361 ;; Check that numeric forms are converted to numbers.
360 (let ((eshell-test-value "000 010 020 030 040")) 362 (let ((eshell-test-value "000 010 020 030 040"))
361 (should (equal (eshell-test-command-result "echo $eshell-test-value[0]") 363 (should (equal (eshell-test-command-result "echo $eshell-test-value[0]")
362 0)) 364 0))
363 (should (equal (eshell-test-command-result "echo $eshell-test-value[0 2]") 365 (should (equal (eshell-test-command-result "echo $eshell-test-value[0 2]")
364 '(0 20))))) 366 '(0 20))))
367 ;; Check that multiline forms are preserved as-is.
368 (let ((eshell-test-value "foo\nbar:baz\n"))
369 (should (equal (eshell-test-command-result "echo $eshell-test-value[: 0]")
370 "foo\nbar"))
371 (should (equal (eshell-test-command-result "echo $eshell-test-value[: 1]")
372 "baz\n"))))
365 373
366(ert-deftest esh-var-test/interp-convert-quoted-var-number () 374(ert-deftest esh-var-test/interp-convert-quoted-var-number ()
367 "Interpolate numeric quoted numeric variable" 375 "Interpolate numeric quoted numeric variable"
@@ -469,13 +477,15 @@ inside double-quotes"
469 477
470;; Built-in variables 478;; Built-in variables
471 479
472(ert-deftest esh-var-test/window-height () 480(ert-deftest esh-var-test/lines-var ()
473 "$LINES should equal (window-height)" 481 "$LINES should equal (window-body-height nil 'remap)"
474 (should (eshell-test-command-result "= $LINES (window-height)"))) 482 (should (equal (eshell-test-command-result "echo $LINES")
483 (window-body-height nil 'remap))))
475 484
476(ert-deftest esh-var-test/window-width () 485(ert-deftest esh-var-test/columns-var ()
477 "$COLUMNS should equal (window-width)" 486 "$COLUMNS should equal (window-body-width nil 'remap)"
478 (should (eshell-test-command-result "= $COLUMNS (window-width)"))) 487 (should (equal (eshell-test-command-result "echo $COLUMNS")
488 (window-body-width nil 'remap))))
479 489
480(ert-deftest esh-var-test/last-result-var () 490(ert-deftest esh-var-test/last-result-var ()
481 "Test using the \"last result\" ($$) variable" 491 "Test using the \"last result\" ($$) variable"
diff --git a/test/lisp/eshell/eshell-tests.el b/test/lisp/eshell/eshell-tests.el
index 7cdeb017e44..ab5d73d4792 100644
--- a/test/lisp/eshell/eshell-tests.el
+++ b/test/lisp/eshell/eshell-tests.el
@@ -114,6 +114,51 @@ e.g. \"{(+ 1 2)} 3\" => 3"
114 (eshell-wait-for-subprocess) 114 (eshell-wait-for-subprocess)
115 (eshell-match-result "OLLEH\n"))) 115 (eshell-match-result "OLLEH\n")))
116 116
117(ert-deftest eshell-test/pipe-subcommand ()
118 "Check that piping with an asynchronous subcommand works"
119 (skip-unless (and (executable-find "echo")
120 (executable-find "cat")))
121 (with-temp-eshell
122 (eshell-command-result-p "echo ${*echo hi} | *cat"
123 "hi")))
124
125(ert-deftest eshell-test/pipe-subcommand-with-pipe ()
126 "Check that piping with an asynchronous subcommand with its own pipe works"
127 (skip-unless (and (executable-find "echo")
128 (executable-find "cat")))
129 (with-temp-eshell
130 (eshell-command-result-p "echo ${*echo hi | *cat} | *cat"
131 "hi")))
132
133(ert-deftest eshell-test/subcommand-reset-in-pipeline ()
134 "Check that subcommands reset `eshell-in-pipeline-p'."
135 (skip-unless (executable-find "cat"))
136 (dolist (template '("echo {%s} | *cat"
137 "echo ${%s} | *cat"
138 "*cat $<%s> | *cat"))
139 (should (equal (eshell-test-command-result
140 (format template "echo $eshell-in-pipeline-p"))
141 nil))
142 (should (equal (eshell-test-command-result
143 (format template "echo | echo $eshell-in-pipeline-p"))
144 "last"))
145 (should (equal (eshell-test-command-result
146 (format template "echo $eshell-in-pipeline-p | echo"))
147 "first"))
148 (should (equal (eshell-test-command-result
149 (format template
150 "echo | echo $eshell-in-pipeline-p | echo"))
151 "t"))))
152
153(ert-deftest eshell-test/lisp-reset-in-pipeline ()
154 "Check that interpolated Lisp forms reset `eshell-in-pipeline-p'."
155 (skip-unless (executable-find "cat"))
156 (dolist (template '("echo (%s) | *cat"
157 "echo $(%s) | *cat"))
158 (should (equal (eshell-test-command-result
159 (format template "format \"%s\" eshell-in-pipeline-p"))
160 "nil"))))
161
117(ert-deftest eshell-test/redirect-buffer () 162(ert-deftest eshell-test/redirect-buffer ()
118 "Check that piping to a buffer works" 163 "Check that piping to a buffer works"
119 (with-temp-buffer 164 (with-temp-buffer
diff --git a/test/lisp/ffap-tests.el b/test/lisp/ffap-tests.el
index 0fdc31e8b61..4b580b5af52 100644
--- a/test/lisp/ffap-tests.el
+++ b/test/lisp/ffap-tests.el
@@ -73,7 +73,7 @@ left alone when opening a URL in an external browser."
73 (urls nil) 73 (urls nil)
74 (ffap-url-fetcher (lambda (url) (push url urls) nil))) 74 (ffap-url-fetcher (lambda (url) (push url urls) nil)))
75 (should-not (ffap-other-window "https://www.gnu.org")) 75 (should-not (ffap-other-window "https://www.gnu.org"))
76 (should (compare-window-configurations (current-window-configuration) old)) 76 (should (window-configuration-equal-p (current-window-configuration) old))
77 (should (equal urls '("https://www.gnu.org"))))) 77 (should (equal urls '("https://www.gnu.org")))))
78 78
79(defun ffap-test-string (space string) 79(defun ffap-test-string (space string)
diff --git a/test/lisp/filenotify-tests.el b/test/lisp/filenotify-tests.el
index 13bb2cd3452..ad0138b2e7b 100644
--- a/test/lisp/filenotify-tests.el
+++ b/test/lisp/filenotify-tests.el
@@ -52,34 +52,9 @@
52 52
53;;; Code: 53;;; Code:
54 54
55(require 'ert) 55(require 'tramp)
56(require 'ert-x) 56(require 'ert-x)
57(require 'filenotify) 57(require 'filenotify)
58(require 'tramp)
59
60;; There is no default value on w32 systems, which could work out of the box.
61(defconst file-notify-test-remote-temporary-file-directory
62 (cond
63 ((getenv "REMOTE_TEMPORARY_FILE_DIRECTORY"))
64 ((eq system-type 'windows-nt) null-device)
65 (t (add-to-list
66 'tramp-methods
67 '("mock"
68 (tramp-login-program "sh")
69 (tramp-login-args (("-i")))
70 (tramp-remote-shell "/bin/sh")
71 (tramp-remote-shell-args ("-c"))
72 (tramp-connection-timeout 10)))
73 (add-to-list
74 'tramp-default-host-alist
75 `("\\`mock\\'" nil ,(system-name)))
76 ;; Emacs' Makefile sets $HOME to a nonexistent value. Needed in
77 ;; batch mode only, therefore. `temporary-file-directory' might
78 ;; be quoted, so we unquote it just in case.
79 (unless (and (null noninteractive) (file-directory-p "~/"))
80 (setenv "HOME" (file-name-unquote temporary-file-directory)))
81 (format "/mock::%s" temporary-file-directory)))
82 "Temporary directory for Tramp tests.")
83 58
84;; Filter suppressed remote file-notify libraries. 59;; Filter suppressed remote file-notify libraries.
85(when (stringp (getenv "REMOTE_FILE_NOTIFY_LIBRARY")) 60(when (stringp (getenv "REMOTE_FILE_NOTIFY_LIBRARY"))
@@ -232,12 +207,12 @@ being the result.")
232 (let (desc) 207 (let (desc)
233 (ignore-errors 208 (ignore-errors
234 (and 209 (and
235 (file-remote-p file-notify-test-remote-temporary-file-directory) 210 (file-remote-p ert-remote-temporary-file-directory)
236 (file-directory-p file-notify-test-remote-temporary-file-directory) 211 (file-directory-p ert-remote-temporary-file-directory)
237 (file-writable-p file-notify-test-remote-temporary-file-directory) 212 (file-writable-p ert-remote-temporary-file-directory)
238 (setq desc 213 (setq desc
239 (file-notify-add-watch 214 (file-notify-add-watch
240 file-notify-test-remote-temporary-file-directory 215 ert-remote-temporary-file-directory
241 '(change) #'ignore)))) 216 '(change) #'ignore))))
242 (setq file-notify--test-remote-enabled-checked (cons t desc)) 217 (setq file-notify--test-remote-enabled-checked (cons t desc))
243 (when desc (file-notify-rm-watch desc)))) 218 (when desc (file-notify-rm-watch desc))))
@@ -297,8 +272,7 @@ If UNSTABLE is non-nil, the test is tagged as `:unstable'."
297 `(ert-deftest ,(intern (concat (symbol-name test) "-remote")) () 272 `(ert-deftest ,(intern (concat (symbol-name test) "-remote")) ()
298 ,docstring 273 ,docstring
299 :tags (if ,unstable '(:expensive-test :unstable) '(:expensive-test)) 274 :tags (if ,unstable '(:expensive-test :unstable) '(:expensive-test))
300 (let* ((temporary-file-directory 275 (let* ((temporary-file-directory ert-remote-temporary-file-directory)
301 file-notify-test-remote-temporary-file-directory)
302 (ert-test (ert-get-test ',test)) 276 (ert-test (ert-get-test ',test))
303 vc-handled-backends) 277 vc-handled-backends)
304 (skip-unless (file-notify--test-remote-enabled)) 278 (skip-unless (file-notify--test-remote-enabled))
diff --git a/test/lisp/files-resources/compile-utf8.el b/test/lisp/files-resources/compile-utf8.el
index ea67626365d..1f804dcf8dc 100644
--- a/test/lisp/files-resources/compile-utf8.el
+++ b/test/lisp/files-resources/compile-utf8.el
@@ -1,3 +1,4 @@
1;; -*- lexical-binding: t; -*-
1(defun zot () 2(defun zot ()
2 "Yes." 3 "Yes."
3 nil) 4 nil)
diff --git a/test/lisp/files-tests.el b/test/lisp/files-tests.el
index 7d17fbde672..54ada088003 100644
--- a/test/lisp/files-tests.el
+++ b/test/lisp/files-tests.el
@@ -393,6 +393,8 @@ After evaluating BODY, the temporary file or directory is deleted."
393 (cl-check-type name symbol) 393 (cl-check-type name symbol)
394 (cl-check-type non-special-name symbol) 394 (cl-check-type non-special-name symbol)
395 `(let* ((temporary-file-directory (file-truename temporary-file-directory)) 395 `(let* ((temporary-file-directory (file-truename temporary-file-directory))
396 (temporary-file-directory
397 (file-name-as-directory (make-temp-file "files-tests" t)))
396 (,name (make-temp-file "files-tests" ,dir-flag)) 398 (,name (make-temp-file "files-tests" ,dir-flag))
397 (,non-special-name (file-name-quote ,name))) 399 (,non-special-name (file-name-quote ,name)))
398 (unwind-protect 400 (unwind-protect
@@ -402,7 +404,9 @@ After evaluating BODY, the temporary file or directory is deleted."
402 (delete-file ,name))) 404 (delete-file ,name)))
403 (when (file-exists-p ,non-special-name) 405 (when (file-exists-p ,non-special-name)
404 (if ,dir-flag (delete-directory ,non-special-name t) 406 (if ,dir-flag (delete-directory ,non-special-name t)
405 (delete-file ,non-special-name)))))) 407 (delete-file ,non-special-name)))
408 (when (file-exists-p temporary-file-directory)
409 (delete-directory temporary-file-directory t)))))
406 410
407(defconst files-tests--special-file-name-extension ".special" 411(defconst files-tests--special-file-name-extension ".special"
408 "Trailing string for test file name handler.") 412 "Trailing string for test file name handler.")
@@ -444,14 +448,16 @@ unquoted file names."
444 (cl-check-type name symbol) 448 (cl-check-type name symbol)
445 (cl-check-type non-special-name symbol) 449 (cl-check-type non-special-name symbol)
446 `(let* ((temporary-file-directory (file-truename temporary-file-directory)) 450 `(let* ((temporary-file-directory (file-truename temporary-file-directory))
451 (temporary-file-directory
452 (file-name-as-directory (make-temp-file "files-tests" t)))
447 (file-name-handler-alist 453 (file-name-handler-alist
448 `((,files-tests--special-file-name-regexp 454 `((,files-tests--special-file-name-regexp
449 . files-tests--special-file-name-handler) 455 . files-tests--special-file-name-handler)
450 . ,file-name-handler-alist)) 456 . ,file-name-handler-alist))
451 (,name (concat 457 (,name (concat
452 (make-temp-file "files-tests" ,dir-flag) 458 (make-temp-file "files-tests" ,dir-flag)
453 files-tests--special-file-name-extension)) 459 files-tests--special-file-name-extension))
454 (,non-special-name (file-name-quote ,name))) 460 (,non-special-name (file-name-quote ,name)))
455 (unwind-protect 461 (unwind-protect
456 (progn ,@body) 462 (progn ,@body)
457 (when (file-exists-p ,name) 463 (when (file-exists-p ,name)
@@ -459,7 +465,9 @@ unquoted file names."
459 (delete-file ,name))) 465 (delete-file ,name)))
460 (when (file-exists-p ,non-special-name) 466 (when (file-exists-p ,non-special-name)
461 (if ,dir-flag (delete-directory ,non-special-name t) 467 (if ,dir-flag (delete-directory ,non-special-name t)
462 (delete-file ,non-special-name)))))) 468 (delete-file ,non-special-name)))
469 (when (file-exists-p temporary-file-directory)
470 (delete-directory temporary-file-directory t)))))
463 471
464(defun files-tests--new-name (name part) 472(defun files-tests--new-name (name part)
465 (let (file-name-handler-alist) 473 (let (file-name-handler-alist)
@@ -931,7 +939,7 @@ unquoted file names."
931 (files-tests--with-temp-non-special (tmpfile nospecial) 939 (files-tests--with-temp-non-special (tmpfile nospecial)
932 (should (load nospecial nil t))) 940 (should (load nospecial nil t)))
933 (files-tests--with-temp-non-special-and-file-name-handler (tmpfile nospecial) 941 (files-tests--with-temp-non-special-and-file-name-handler (tmpfile nospecial)
934 (should (load nospecial nil t)))) 942 (should-error (load nospecial nil t))))
935 943
936(ert-deftest files-tests-file-name-non-special-make-auto-save-file-name () 944(ert-deftest files-tests-file-name-non-special-make-auto-save-file-name ()
937 (files-tests--with-temp-non-special (tmpfile nospecial) 945 (files-tests--with-temp-non-special (tmpfile nospecial)
@@ -1691,7 +1699,7 @@ FN-TEST is the function to test: either `save-some-buffers' or
1691specified inside ARGS-RESULTS. 1699specified inside ARGS-RESULTS.
1692 1700
1693During the call to FN-TEST,`read-event' is overridden with a function that 1701During the call to FN-TEST,`read-event' is overridden with a function that
1694just returns `n' and `kill-emacs' is overriden to do nothing. 1702just returns `n' and `kill-emacs' is overridden to do nothing.
1695 1703
1696ARGS-RESULTS is a list of elements (FN-ARGS CALLERS-DIR EXPECTED), where 1704ARGS-RESULTS is a list of elements (FN-ARGS CALLERS-DIR EXPECTED), where
1697FN-ARGS are the arguments for FN-TEST; 1705FN-ARGS are the arguments for FN-TEST;
@@ -1830,7 +1838,6 @@ Prompt users for any modified buffer with `buffer-offer-save' non-nil."
1830 (should (eq major-mode 'text-mode))) 1838 (should (eq major-mode 'text-mode)))
1831 1839
1832(ert-deftest files-load-elc-gz-file () 1840(ert-deftest files-load-elc-gz-file ()
1833 :expected-result :failed
1834 (skip-unless (executable-find "gzip")) 1841 (skip-unless (executable-find "gzip"))
1835 (ert-with-temp-directory dir 1842 (ert-with-temp-directory dir
1836 (let* ((pref (expand-file-name "compile-utf8" dir)) 1843 (let* ((pref (expand-file-name "compile-utf8" dir))
diff --git a/test/lisp/help-mode-tests.el b/test/lisp/help-mode-tests.el
index c0c1cf8b530..04241f31383 100644
--- a/test/lisp/help-mode-tests.el
+++ b/test/lisp/help-mode-tests.el
@@ -41,11 +41,6 @@
41 (should (equal (buffer-name (current-buffer)) 41 (should (equal (buffer-name (current-buffer))
42 (help-buffer)))))) 42 (help-buffer))))))
43 43
44(ert-deftest help-mode-tests-help-buffer-current-buffer-error ()
45 (with-temp-buffer
46 (let ((help-xref-following t))
47 (should-error (help-buffer)))))
48
49(ert-deftest help-mode-tests-make-xrefs () 44(ert-deftest help-mode-tests-make-xrefs ()
50 (with-temp-buffer 45 (with-temp-buffer
51 (insert "car is a built-in function in ‘C source code’. 46 (insert "car is a built-in function in ‘C source code’.
@@ -81,7 +76,7 @@ Lisp concepts such as car, cdr, cons cell and list.")
81 (insert (format fmt fn)) 76 (insert (format fmt fn))
82 (goto-char (point-min)) 77 (goto-char (point-min))
83 (re-search-forward help-xref-symbol-regexp) 78 (re-search-forward help-xref-symbol-regexp)
84 (help-xref-button 8 'help-function) 79 (help-xref-button 9 'help-function)
85 (should-not (button-at (1- beg))) 80 (should-not (button-at (1- beg)))
86 (should-not (button-at (+ beg (length (symbol-name fn))))) 81 (should-not (button-at (+ beg (length (symbol-name fn)))))
87 (should (eq (button-type (button-at beg)) 'help-function)))))) 82 (should (eq (button-type (button-at beg)) 'help-function))))))
diff --git a/test/lisp/htmlfontify-tests.el b/test/lisp/htmlfontify-tests.el
index fdfe996b033..5c1f053066b 100644
--- a/test/lisp/htmlfontify-tests.el
+++ b/test/lisp/htmlfontify-tests.el
@@ -21,15 +21,6 @@
21(require 'ert) 21(require 'ert)
22(require 'htmlfontify) 22(require 'htmlfontify)
23 23
24(ert-deftest htmlfontify-autoload ()
25 "Tests to see whether reftex-auc has been autoloaded"
26 (should
27 (fboundp 'htmlfontify-load-rgb-file))
28 (should
29 (autoloadp
30 (symbol-function
31 'htmlfontify-load-rgb-file))))
32
33(ert-deftest htmlfontify-bug25468 () 24(ert-deftest htmlfontify-bug25468 ()
34 "Tests that htmlfontify can be loaded even if no shell is 25 "Tests that htmlfontify can be loaded even if no shell is
35available (Bug#25468)." 26available (Bug#25468)."
diff --git a/test/lisp/ls-lisp-tests.el b/test/lisp/ls-lisp-tests.el
index 3e23fc74540..39843defc2e 100644
--- a/test/lisp/ls-lisp-tests.el
+++ b/test/lisp/ls-lisp-tests.el
@@ -93,5 +93,44 @@
93 (should (looking-back "[[:space:]]" (1- (point))))) 93 (should (looking-back "[[:space:]]" (1- (point)))))
94 (when (buffer-live-p buf) (kill-buffer buf))))) 94 (when (buffer-live-p buf) (kill-buffer buf)))))
95 95
96(ert-deftest ls-lisp-test-bug55787 ()
97 "Test proper sorting by version."
98 (let ((files1 (vector "34 klmn-300dpi.jpg"
99 "34 klmn-300dpi.png"
100 "054_xyz.jpg"
101 "054_xyz.png"
102 "91 opqrs.jpg"
103 "91 opqrs.png"
104 "0717-abcd.jpg"
105 "0717-abcd.png"
106 "1935 uv.jpg"
107 "1935 uv.png"
108 "FFFF_fghk.jpg"
109 "FFFF_fghk.png"
110 "hhhh.jpg"
111 "hhhh.png"))
112 (files2 (vector "01.0" "10" "010" "01.2")))
113 (should (equal (sort files1
114 (lambda (x y)
115 (ls-lisp-version-lessp x y)))
116 '["0717-abcd.jpg"
117 "0717-abcd.png"
118 "054_xyz.jpg"
119 "054_xyz.png"
120 "34 klmn-300dpi.jpg"
121 "34 klmn-300dpi.png"
122 "91 opqrs.jpg"
123 "91 opqrs.png"
124 "1935 uv.jpg"
125 "1935 uv.png"
126 "FFFF_fghk.jpg"
127 "FFFF_fghk.png"
128 "hhhh.jpg"
129 "hhhh.png"]))
130 (should (equal (sort files2
131 (lambda (x y)
132 (ls-lisp-version-lessp x y)))
133 '["01.0" "01.2" "010" "10"]))))
134
96(provide 'ls-lisp-tests) 135(provide 'ls-lisp-tests)
97;;; ls-lisp-tests.el ends here 136;;; ls-lisp-tests.el ends here
diff --git a/test/lisp/mail/undigest-tests.el b/test/lisp/mail/undigest-tests.el
index b88868be7fb..d52c9f9c5ab 100644
--- a/test/lisp/mail/undigest-tests.el
+++ b/test/lisp/mail/undigest-tests.el
@@ -20,6 +20,7 @@
20;;; Code: 20;;; Code:
21 21
22(require 'ert) 22(require 'ert)
23(require 'ert-x)
23(require 'rmail) 24(require 'rmail)
24(require 'undigest) 25(require 'undigest)
25 26
@@ -270,66 +271,62 @@ The footer.
270;;; Tests: 271;;; Tests:
271(ert-deftest rmail-undigest-test-rfc934-digest () 272(ert-deftest rmail-undigest-test-rfc934-digest ()
272 "Test that we can undigest a RFC 934 digest." 273 "Test that we can undigest a RFC 934 digest."
273 (let ((file (make-temp-file "undigest-test-"))) 274 (ert-with-temp-file file
274 (unwind-protect 275 :text rmail-rfc934-digest
275 (with-temp-buffer 276 ;; Rmail reads mbox files literally, so we must make sure the
276 (insert rmail-rfc934-digest) 277 ;; temporary mbox file has Unix-style EOLs.
277 (write-region nil nil file) 278 :coding 'undecided-unix
278 (rmail file) 279 (rmail file)
279 (undigestify-rmail-message) 280 (undigestify-rmail-message)
280 (should (= rmail-total-messages 4)) 281 (should (= rmail-total-messages 4))
281 (should (string= (rmail-message-content 2) "Testing the undigester.\n\n")) 282 (should (string= (rmail-message-content 2) "Testing the undigester.\n\n"))
282 (should (string= (rmail-message-content 3) "This is message one.\n\n")) 283 (should (string= (rmail-message-content 3) "This is message one.\n\n"))
283 (should (string= (rmail-message-content 4) "This is message two.\n"))) 284 (should (string= (rmail-message-content 4) "This is message two.\n"))))
284 (delete-file file))))
285 285
286(ert-deftest rmail-undigest-test-rfc1153-digest-strict () 286(ert-deftest rmail-undigest-test-rfc1153-digest-strict ()
287 "Test that we can undigest a strict RFC 1153 digest." 287 "Test that we can undigest a strict RFC 1153 digest."
288 :expected-result :failed 288 :expected-result :failed
289 (let ((file (make-temp-file "undigest-test-"))) 289 (ert-with-temp-file file
290 (unwind-protect 290 :text rmail-rfc1153-digest-strict
291 (with-temp-buffer 291 ;; Rmail reads mbox files literally, so we must make sure the
292 (insert rmail-rfc1153-digest-strict) 292 ;; temporary mbox file has Unix-style EOLs.
293 (write-region nil nil file) 293 :coding 'undecided-unix
294 (rmail file) 294 (rmail file)
295 (should 295 (should
296 (ignore-errors 296 (ignore-errors
297 ;; This throws an error, because the Trailer is not recognized 297 ;; This throws an error, because the Trailer is not recognized
298 ;; as a valid RFC 822 (or later) message. 298 ;; as a valid RFC 822 (or later) message.
299 (undigestify-rmail-message) 299 (undigestify-rmail-message)
300 (should (string= (rmail-message-content 2) "Testing the undigester.\n\n")) 300 (should (string= (rmail-message-content 2) "Testing the undigester.\n\n"))
301 (should (string= (rmail-message-content 3) "This is message one.\n\n")) 301 (should (string= (rmail-message-content 3) "This is message one.\n\n"))
302 (should (string= (rmail-message-content 4) "This is message two.\n")) 302 (should (string= (rmail-message-content 4) "This is message two.\n"))
303 t))) 303 t))))
304 (delete-file file))))
305 304
306(ert-deftest rmail-undigest-test-rfc1153-less-strict-digest () 305(ert-deftest rmail-undigest-test-rfc1153-less-strict-digest ()
307 "Test that we can undigest a RFC 1153 with a Subject header in its footer." 306 "Test that we can undigest a RFC 1153 with a Subject header in its footer."
308 (let ((file (make-temp-file "undigest-test-"))) 307 (ert-with-temp-file file
309 (unwind-protect 308 :text rmail-rfc1153-digest-less-strict
310 (with-temp-buffer 309 ;; Rmail reads mbox files literally, so we must make sure the
311 (insert rmail-rfc1153-digest-less-strict) 310 ;; temporary mbox file has Unix-style EOLs.
312 (write-region nil nil file) 311 :coding 'undecided-unix
313 (rmail file) 312 (rmail file)
314 (undigestify-rmail-message) 313 (undigestify-rmail-message)
315 (should (= rmail-total-messages 5)) 314 (should (= rmail-total-messages 5))
316 (should (string= (rmail-message-content 3) "This is message one.\n\n")) 315 (should (string= (rmail-message-content 3) "This is message one.\n\n"))
317 (should (string= (rmail-message-content 4) "This is message two.\n\n"))) 316 (should (string= (rmail-message-content 4) "This is message two.\n\n"))))
318 (delete-file file))))
319 317
320(ert-deftest rmail-undigest-test-rfc1153-sloppy-digest () 318(ert-deftest rmail-undigest-test-rfc1153-sloppy-digest ()
321 "Test that we can undigest a sloppy RFC 1153 digest." 319 "Test that we can undigest a sloppy RFC 1153 digest."
322 (let ((file (make-temp-file "undigest-test-"))) 320 (ert-with-temp-file file
323 (unwind-protect 321 :text rmail-rfc1153-digest-sloppy
324 (with-temp-buffer 322 ;; Rmail reads mbox files literally, so we must make sure the
325 (insert rmail-rfc1153-digest-sloppy) 323 ;; temporary mbox file has Unix-style EOLs.
326 (write-region nil nil file) 324 :coding 'undecided-unix
327 (rmail file) 325 (rmail file)
328 (undigestify-rmail-message) 326 (undigestify-rmail-message)
329 (should (= rmail-total-messages 5)) 327 (should (= rmail-total-messages 5))
330 (should (string= (rmail-message-content 3) "This is message one.\n\n")) 328 (should (string= (rmail-message-content 3) "This is message one.\n\n"))
331 (should (string= (rmail-message-content 4) "This is message two.\n\n"))) 329 (should (string= (rmail-message-content 4) "This is message two.\n\n"))))
332 (delete-file file))))
333 330
334;; This fails because `rmail-digest-parse-mime' combines the preamble with the 331;; This fails because `rmail-digest-parse-mime' combines the preamble with the
335;; first message of the digest. And then, it doesn't get rid of the last 332;; first message of the digest. And then, it doesn't get rid of the last
@@ -337,28 +334,26 @@ The footer.
337(ert-deftest rmail-undigest-test-rfc1521-mime-digest () 334(ert-deftest rmail-undigest-test-rfc1521-mime-digest ()
338 "Test that we can undigest a RFC 1521 MIME digest." 335 "Test that we can undigest a RFC 1521 MIME digest."
339 :expected-result :failed 336 :expected-result :failed
340 (let ((file (make-temp-file "undigest-test-"))) 337 (ert-with-temp-file file
341 (unwind-protect 338 :text rmail-rfc1521-mime-digest
342 (with-temp-buffer 339 ;; Rmail reads mbox files literally, so we must make sure the
343 (insert rmail-rfc1521-mime-digest) 340 ;; temporary mbox file has Unix-style EOLs.
344 (write-region nil nil file) 341 :coding 'undecided-unix
345 (rmail file) 342 (rmail file)
346 (undigestify-rmail-message) 343 (undigestify-rmail-message)
347 (should (= rmail-total-messages 3)) 344 (should (= rmail-total-messages 3))
348 (should (string= (rmail-message-content 2) "Message one.\n\n")) 345 (should (string= (rmail-message-content 2) "Message one.\n\n"))
349 (should (string= (rmail-message-content 3) "Message two.\n\n"))) 346 (should (string= (rmail-message-content 3) "Message two.\n\n"))))
350 (delete-file file))))
351 347
352(ert-deftest rmail-undigest-test-multipart-mixed-digest () 348(ert-deftest rmail-undigest-test-multipart-mixed-digest ()
353 "Test that we can undigest a digest inside a multipart/mixed digest." 349 "Test that we can undigest a digest inside a multipart/mixed digest."
354 (let ((file (make-temp-file "undigest-test-"))) 350 (ert-with-temp-file file
355 (unwind-protect 351 :text rmail-multipart-mixed-digest
356 (with-temp-buffer 352 ;; Rmail reads mbox files literally, so we must make sure the
357 (insert rmail-multipart-mixed-digest) 353 ;; temporary mbox file has Unix-style EOLs.
358 (write-region nil nil file) 354 :coding 'undecided-unix
359 (rmail file) 355 (rmail file)
360 (undigestify-rmail-message) 356 (undigestify-rmail-message)
361 (should (= rmail-total-messages 4)) 357 (should (= rmail-total-messages 4))
362 (should (string= (rmail-message-content 2) "Message one.\n\n")) 358 (should (string= (rmail-message-content 2) "Message one.\n\n"))
363 (should (string= (rmail-message-content 3) "Message two.\n\n"))) 359 (should (string= (rmail-message-content 3) "Message two.\n\n"))))
364 (delete-file file))))
diff --git a/test/lisp/minibuffer-tests.el b/test/lisp/minibuffer-tests.el
index 2a29d5f167b..ec93c8f42a5 100644
--- a/test/lisp/minibuffer-tests.el
+++ b/test/lisp/minibuffer-tests.el
@@ -331,5 +331,141 @@
331 "custgroup" '("customize-group-other-window") nil 9))) 331 "custgroup" '("customize-group-other-window") nil 9)))
332 15))) 332 15)))
333 333
334
335(defmacro completing-read-with-minibuffer-setup (collection &rest body)
336 (declare (indent 1) (debug (collection body)))
337 `(catch 'result
338 (minibuffer-with-setup-hook
339 (lambda ()
340 (let ((redisplay-skip-initial-frame nil)
341 (executing-kbd-macro nil)) ; Don't skip redisplay
342 (throw 'result (progn . ,body))))
343 (let ((executing-kbd-macro t)) ; Force the real minibuffer
344 (completing-read "Prompt: " ,collection)))))
345
346(ert-deftest completion-auto-help-test ()
347 (let (messages)
348 (cl-letf* (((symbol-function 'minibuffer-message)
349 (lambda (message &rest args)
350 (push (apply #'format-message message args) messages))))
351 (let ((completion-auto-help nil))
352 (completing-read-with-minibuffer-setup
353 '("a" "ab" "ac")
354 (execute-kbd-macro (kbd "a TAB TAB"))
355 (should (equal (car messages) "Complete, but not unique"))
356 (should-not (get-buffer-window "*Completions*" 0))))
357 (let ((completion-auto-help t))
358 (completing-read-with-minibuffer-setup
359 '("a" "ab" "ac")
360 (execute-kbd-macro (kbd "a TAB TAB"))
361 (should (get-buffer-window "*Completions*" 0)))))))
362
363(ert-deftest completion-auto-select-test ()
364 (let ((completion-auto-select t))
365 (completing-read-with-minibuffer-setup
366 '("aa" "ab" "ac")
367 (execute-kbd-macro (kbd "a TAB"))
368 (should (and (get-buffer-window "*Completions*" 0)
369 (eq (current-buffer) (get-buffer "*Completions*"))))
370 (execute-kbd-macro (kbd "TAB TAB TAB"))
371 (should (and (get-buffer-window "*Completions*" 0)
372 (eq (current-buffer) (get-buffer " *Minibuf-1*"))))
373 (execute-kbd-macro (kbd "S-TAB"))
374 (should (and (get-buffer-window "*Completions*" 0)
375 (eq (current-buffer) (get-buffer "*Completions*"))))))
376 (let ((completion-auto-select 'second-tab))
377 (completing-read-with-minibuffer-setup
378 '("aa" "ab" "ac")
379 (execute-kbd-macro (kbd "a TAB"))
380 (should (and (get-buffer-window "*Completions*" 0)
381 (not (eq (current-buffer) (get-buffer "*Completions*")))))
382 (execute-kbd-macro (kbd "TAB TAB"))
383 (should (eq (current-buffer) (get-buffer "*Completions*"))))))
384
385(ert-deftest completion-auto-wrap-test ()
386 (let ((completion-auto-wrap nil))
387 (completing-read-with-minibuffer-setup
388 '("aa" "ab" "ac")
389 (insert "a")
390 (minibuffer-completion-help)
391 (switch-to-completions)
392 (should (equal "aa" (get-text-property (point) 'completion--string)))
393 (next-completion 2)
394 (should (equal "ac" (get-text-property (point) 'completion--string)))
395 ;; Fixed in bug#54374
396 (next-completion 5)
397 (should (equal "ac" (get-text-property (point) 'completion--string)))
398 (previous-completion 5)
399 (should (equal "aa" (get-text-property (point) 'completion--string)))))
400 (let ((completion-auto-wrap t))
401 (completing-read-with-minibuffer-setup
402 '("aa" "ab" "ac")
403 (insert "a")
404 (minibuffer-completion-help)
405 (switch-to-completions)
406 (should (equal "aa" (get-text-property (point) 'completion--string)))
407 (next-completion 2)
408 (should (equal "ac" (get-text-property (point) 'completion--string)))
409 (next-completion 1)
410 (should (equal "aa" (get-text-property (point) 'completion--string)))
411 (previous-completion 1)
412 (should (equal "ac" (get-text-property (point) 'completion--string))))))
413
414(ert-deftest completions-header-format-test ()
415 (let ((completion-show-help nil)
416 (completions-header-format nil))
417 (completing-read-with-minibuffer-setup
418 '("aa" "ab" "ac")
419 (insert "a")
420 (minibuffer-completion-help)
421 (switch-to-completions)
422 ;; Fixed in bug#55430
423 (should (equal "aa" (get-text-property (point) 'completion--string)))
424 (next-completion 2)
425 (should (equal "ac" (get-text-property (point) 'completion--string)))
426 (previous-completion 2)
427 (should (equal "aa" (get-text-property (point) 'completion--string)))
428 ;; Fixed in bug#54374
429 (previous-completion 1)
430 (should (equal "ac" (get-text-property (point) 'completion--string)))
431 (next-completion 1)
432 (should (equal "aa" (get-text-property (point) 'completion--string)))
433 ;; Fixed in bug#55430
434 (execute-kbd-macro (kbd "C-u RET"))
435 (should (equal (minibuffer-contents) "aa")))
436 (completing-read-with-minibuffer-setup
437 '("aa" "ab" "ac")
438 ;; Fixed in bug#55289
439 (execute-kbd-macro (kbd "a M-<up> M-<down>"))
440 (should (equal (minibuffer-contents) "aa")))))
441
442(ert-deftest completions-affixation-navigation-test ()
443 (let ((completion-extra-properties
444 '(:affixation-function
445 (lambda (completions)
446 (mapcar (lambda (c)
447 (list c "prefix " " suffix"))
448 completions)))))
449 (completing-read-with-minibuffer-setup
450 '("aa" "ab" "ac")
451 (insert "a")
452 (minibuffer-completion-help)
453 (switch-to-completions)
454 (should (equal 'highlight (get-text-property (point) 'mouse-face)))
455 (should (equal "aa" (get-text-property (point) 'completion--string)))
456 (let ((completion-auto-wrap t))
457 (next-completion 3))
458 (should (equal 'highlight (get-text-property (point) 'mouse-face)))
459 (should (equal "aa" (get-text-property (point) 'completion--string)))
460 (let ((completion-auto-wrap nil))
461 (next-completion 3))
462 (should (equal 'highlight (get-text-property (point) 'mouse-face)))
463 (should (equal "ac" (get-text-property (point) 'completion--string)))
464 ;; Fixed in bug#54374
465 (goto-char (1- (point-max)))
466 (should-not (equal 'highlight (get-text-property (point) 'mouse-face)))
467 (execute-kbd-macro (kbd "C-u RET"))
468 (should (equal (minibuffer-contents) "ac")))))
469
334(provide 'minibuffer-tests) 470(provide 'minibuffer-tests)
335;;; minibuffer-tests.el ends here 471;;; minibuffer-tests.el ends here
diff --git a/test/lisp/misc-tests.el b/test/lisp/misc-tests.el
index 36a8726b885..236223ef493 100644
--- a/test/lisp/misc-tests.el
+++ b/test/lisp/misc-tests.el
@@ -44,7 +44,14 @@
44 (zap-up-to-char 1 ?c)) 44 (zap-up-to-char 1 ?c))
45 (with-misc-test "abcde abc123" "c123" 45 (with-misc-test "abcde abc123" "c123"
46 (goto-char (point-min)) 46 (goto-char (point-min))
47 (zap-up-to-char 2 ?c))) 47 (zap-up-to-char 2 ?c))
48 (let ((case-fold-search t))
49 (with-misc-test "abcdeCXYZ" "cdeCXYZ"
50 (goto-char (point-min))
51 (zap-up-to-char 1 ?C))
52 (with-misc-test "abcdeCXYZ" "CXYZ"
53 (goto-char (point-min))
54 (zap-up-to-char 1 ?C 'interactive))))
48 55
49(ert-deftest misc-test-upcase-char () 56(ert-deftest misc-test-upcase-char ()
50 (with-misc-test "abcde" "aBCDe" 57 (with-misc-test "abcde" "aBCDe"
diff --git a/test/lisp/net/browse-url-tests.el b/test/lisp/net/browse-url-tests.el
index c94719c97af..8fcc831d538 100644
--- a/test/lisp/net/browse-url-tests.el
+++ b/test/lisp/net/browse-url-tests.el
@@ -73,7 +73,7 @@
73 (should (equal (browse-url-encode-url "\"a\" \"b\"") 73 (should (equal (browse-url-encode-url "\"a\" \"b\"")
74 "%22a%22%20%22b%22")) 74 "%22a%22%20%22b%22"))
75 (should (equal (browse-url-encode-url "(a) (b)") "%28a%29%20%28b%29")) 75 (should (equal (browse-url-encode-url "(a) (b)") "%28a%29%20%28b%29"))
76 (should (equal (browse-url-encode-url "a$ b$") "a%24%20b%24"))) 76 (should (equal (browse-url-encode-url "a$ b$") "a$%20b$")))
77 77
78(ert-deftest browse-url-tests-url-at-point () 78(ert-deftest browse-url-tests-url-at-point ()
79 (with-temp-buffer 79 (with-temp-buffer
diff --git a/test/lisp/net/tramp-tests.el b/test/lisp/net/tramp-tests.el
index 2d2bef732e0..87c8eb0ada3 100644
--- a/test/lisp/net/tramp-tests.el
+++ b/test/lisp/net/tramp-tests.el
@@ -44,12 +44,11 @@
44(require 'cl-lib) 44(require 'cl-lib)
45(require 'dired) 45(require 'dired)
46(require 'dired-aux) 46(require 'dired-aux)
47(require 'ert) 47(require 'tramp)
48(require 'ert-x) 48(require 'ert-x)
49(require 'seq) ; For `seq-random-elt', autoloaded since Emacs 28.1 49(require 'seq) ; For `seq-random-elt', autoloaded since Emacs 28.1
50(require 'tar-mode) 50(require 'tar-mode)
51(require 'trace) 51(require 'trace)
52(require 'tramp)
53(require 'vc) 52(require 'vc)
54(require 'vc-bzr) 53(require 'vc-bzr)
55(require 'vc-git) 54(require 'vc-git)
@@ -65,24 +64,96 @@
65(declare-function tramp-method-out-of-band-p "tramp-sh") 64(declare-function tramp-method-out-of-band-p "tramp-sh")
66(declare-function tramp-smb-get-localname "tramp-smb") 65(declare-function tramp-smb-get-localname "tramp-smb")
67(defvar ange-ftp-make-backup-files) 66(defvar ange-ftp-make-backup-files)
68(defvar auto-save-file-name-transforms)
69(defvar lock-file-name-transforms)
70(defvar remote-file-name-inhibit-locks)
71(defvar tramp-connection-properties) 67(defvar tramp-connection-properties)
72(defvar tramp-copy-size-limit) 68(defvar tramp-copy-size-limit)
73(defvar tramp-display-escape-sequence-regexp) 69(defvar tramp-display-escape-sequence-regexp)
70(defvar tramp-fuse-remove-hidden-files)
74(defvar tramp-fuse-unmount-on-cleanup) 71(defvar tramp-fuse-unmount-on-cleanup)
75(defvar tramp-inline-compress-start-size) 72(defvar tramp-inline-compress-start-size)
76(defvar tramp-persistency-file-name) 73(defvar tramp-persistency-file-name)
77(defvar tramp-remote-path) 74(defvar tramp-remote-path)
78(defvar tramp-remote-process-environment) 75(defvar tramp-remote-process-environment)
79 76
77;; Needed for Emacs 26.
78(declare-function with-connection-local-variables "files-x")
80;; Needed for Emacs 27. 79;; Needed for Emacs 27.
80(defvar lock-file-name-transforms)
81(defvar process-file-return-signal-string) 81(defvar process-file-return-signal-string)
82(defvar remote-file-name-inhibit-locks)
82(defvar shell-command-dont-erase-buffer) 83(defvar shell-command-dont-erase-buffer)
83;; Needed for Emacs 28. 84;; Needed for Emacs 28.
84(defvar dired-copy-dereference) 85(defvar dired-copy-dereference)
85 86
87;; `ert-resource-file' was introduced in Emacs 28.1.
88(unless (macrop 'ert-resource-file)
89 (eval-and-compile
90 (defvar ert-resource-directory-format "%s-resources/"
91 "Format for `ert-resource-directory'.")
92 (defvar ert-resource-directory-trim-left-regexp ""
93 "Regexp for `string-trim' (left) used by `ert-resource-directory'.")
94 (defvar ert-resource-directory-trim-right-regexp "\\(-tests?\\)?\\.el"
95 "Regexp for `string-trim' (right) used by `ert-resource-directory'.")
96
97 (defmacro ert-resource-directory ()
98 "Return absolute file name of the resource directory for this file.
99
100The path to the resource directory is the \"resources\" directory
101in the same directory as the test file.
102
103If that directory doesn't exist, use the directory named like the
104test file but formatted by `ert-resource-directory-format' and trimmed
105using `string-trim' with arguments
106`ert-resource-directory-trim-left-regexp' and
107`ert-resource-directory-trim-right-regexp'. The default values mean
108that if called from a test file named \"foo-tests.el\", return
109the absolute file name for \"foo-resources\"."
110 `(let* ((testfile ,(or (bound-and-true-p byte-compile-current-file)
111 (and load-in-progress load-file-name)
112 buffer-file-name))
113 (default-directory (file-name-directory testfile)))
114 (file-truename
115 (if (file-accessible-directory-p "resources/")
116 (expand-file-name "resources/")
117 (expand-file-name
118 (format
119 ert-resource-directory-format
120 (string-trim testfile
121 ert-resource-directory-trim-left-regexp
122 ert-resource-directory-trim-right-regexp)))))))
123
124 (defmacro ert-resource-file (file)
125 "Return file name of resource file named FILE.
126A resource file is in the resource directory as per
127`ert-resource-directory'."
128 `(expand-file-name ,file (ert-resource-directory)))))
129
130;; `ert-remote-temporary-file-directory' was introduced in Emacs 29.1.
131(unless (boundp 'ert-remote-temporary-file-directory)
132 (eval-and-compile
133 ;; There is no default value on w32 systems, which could work out
134 ;; of the box.
135 (defconst ert-remote-temporary-file-directory
136 (cond
137 ((getenv "REMOTE_TEMPORARY_FILE_DIRECTORY"))
138 ((eq system-type 'windows-nt) null-device)
139 (t (add-to-list
140 'tramp-methods
141 '("mock"
142 (tramp-login-program "sh")
143 (tramp-login-args (("-i")))
144 (tramp-remote-shell "/bin/sh")
145 (tramp-remote-shell-args ("-c"))
146 (tramp-connection-timeout 10)))
147 (add-to-list
148 'tramp-default-host-alist
149 `("\\`mock\\'" nil ,(system-name)))
150 ;; Emacs's Makefile sets $HOME to a nonexistent value.
151 ;; Needed in batch mode only, therefore.
152 (unless (and (null noninteractive) (file-directory-p "~/"))
153 (setenv "HOME" temporary-file-directory))
154 (format "/mock::%s" temporary-file-directory)))
155 "Temporary directory for remote file tests.")))
156
86;; Beautify batch mode. 157;; Beautify batch mode.
87(when noninteractive 158(when noninteractive
88 ;; Suppress nasty messages. 159 ;; Suppress nasty messages.
@@ -92,32 +163,9 @@
92 '(fset 'tramp-gvfs-handler-askquestion 163 '(fset 'tramp-gvfs-handler-askquestion
93 (lambda (_message _choices) '(t nil 0))))) 164 (lambda (_message _choices) '(t nil 0)))))
94 165
95;; There is no default value on w32 systems, which could work out of the box.
96(defconst tramp-test-temporary-file-directory
97 (cond
98 ((getenv "REMOTE_TEMPORARY_FILE_DIRECTORY"))
99 ((eq system-type 'windows-nt) null-device)
100 (t (add-to-list
101 'tramp-methods
102 '("mock"
103 (tramp-login-program "sh")
104 (tramp-login-args (("-i")))
105 (tramp-remote-shell "/bin/sh")
106 (tramp-remote-shell-args ("-c"))
107 (tramp-connection-timeout 10)))
108 (add-to-list
109 'tramp-default-host-alist
110 `("\\`mock\\'" nil ,(system-name)))
111 ;; Emacs's Makefile sets $HOME to a nonexistent value. Needed
112 ;; in batch mode only, therefore.
113 (unless (and (null noninteractive) (file-directory-p "~/"))
114 (setenv "HOME" temporary-file-directory))
115 (format "/mock::%s" temporary-file-directory)))
116 "Temporary directory for Tramp tests.")
117
118(defconst tramp-test-vec 166(defconst tramp-test-vec
119 (and (file-remote-p tramp-test-temporary-file-directory) 167 (and (file-remote-p ert-remote-temporary-file-directory)
120 (tramp-dissect-file-name tramp-test-temporary-file-directory)) 168 (tramp-dissect-file-name ert-remote-temporary-file-directory))
121 "The used `tramp-file-name' structure.") 169 "The used `tramp-file-name' structure.")
122 170
123(setq auth-source-save-behavior nil 171(setq auth-source-save-behavior nil
@@ -147,9 +195,9 @@ being the result.")
147 (cons 195 (cons
148 t (ignore-errors 196 t (ignore-errors
149 (and 197 (and
150 (file-remote-p tramp-test-temporary-file-directory) 198 (file-remote-p ert-remote-temporary-file-directory)
151 (file-directory-p tramp-test-temporary-file-directory) 199 (file-directory-p ert-remote-temporary-file-directory)
152 (file-writable-p tramp-test-temporary-file-directory)))))) 200 (file-writable-p ert-remote-temporary-file-directory))))))
153 201
154 (when (cdr tramp--test-enabled-checked) 202 (when (cdr tramp--test-enabled-checked)
155 ;; Cleanup connection. 203 ;; Cleanup connection.
@@ -168,7 +216,7 @@ The temporary file is not created."
168 (if quoted #'tramp-compat-file-name-quote #'identity) 216 (if quoted #'tramp-compat-file-name-quote #'identity)
169 (expand-file-name 217 (expand-file-name
170 (make-temp-name "tramp-test") 218 (make-temp-name "tramp-test")
171 (if local temporary-file-directory tramp-test-temporary-file-directory)))) 219 (if local temporary-file-directory ert-remote-temporary-file-directory))))
172 220
173;; Method "smb" supports `make-symbolic-link' only if the remote host 221;; Method "smb" supports `make-symbolic-link' only if the remote host
174;; has CIFS capabilities. tramp-adb.el, tramp-gvfs.el, tramp-rclone.el 222;; has CIFS capabilities. tramp-adb.el, tramp-gvfs.el, tramp-rclone.el
@@ -250,12 +298,12 @@ Also see `ignore'."
250 "Test availability of Tramp functions." 298 "Test availability of Tramp functions."
251 :expected-result (if (tramp--test-enabled) :passed :failed) 299 :expected-result (if (tramp--test-enabled) :passed :failed)
252 (tramp--test-message 300 (tramp--test-message
253 "Remote directory: `%s'" tramp-test-temporary-file-directory) 301 "Remote directory: `%s'" ert-remote-temporary-file-directory)
254 (should (ignore-errors 302 (should (ignore-errors
255 (and 303 (and
256 (file-remote-p tramp-test-temporary-file-directory) 304 (file-remote-p ert-remote-temporary-file-directory)
257 (file-directory-p tramp-test-temporary-file-directory) 305 (file-directory-p ert-remote-temporary-file-directory)
258 (file-writable-p tramp-test-temporary-file-directory))))) 306 (file-writable-p ert-remote-temporary-file-directory)))))
259 307
260(ert-deftest tramp-test01-file-name-syntax () 308(ert-deftest tramp-test01-file-name-syntax ()
261 "Check remote file name syntax." 309 "Check remote file name syntax."
@@ -1952,7 +2000,7 @@ Also see `ignore'."
1952 (find-file 2000 (find-file
1953 (format 2001 (format
1954 "%s|%s:foo:" 2002 "%s|%s:foo:"
1955 (substring (file-remote-p tramp-test-temporary-file-directory) 0 -1) 2003 (substring (file-remote-p ert-remote-temporary-file-directory) 0 -1)
1956 m)) 2004 m))
1957 :type 'user-error)))) 2005 :type 'user-error))))
1958 2006
@@ -1977,7 +2025,7 @@ Also see `ignore'."
1977 (should-error 2025 (should-error
1978 (tramp-smb-get-localname 2026 (tramp-smb-get-localname
1979 (tramp-dissect-file-name 2027 (tramp-dissect-file-name
1980 (expand-file-name file tramp-test-temporary-file-directory))) 2028 (expand-file-name file ert-remote-temporary-file-directory)))
1981 :type 'file-error)))) 2029 :type 'file-error))))
1982 2030
1983(ert-deftest tramp-test04-substitute-in-file-name () 2031(ert-deftest tramp-test04-substitute-in-file-name ()
@@ -2133,16 +2181,16 @@ Also see `ignore'."
2133 (string-equal 2181 (string-equal
2134 (let ((default-directory 2182 (let ((default-directory
2135 (concat 2183 (concat
2136 (file-remote-p tramp-test-temporary-file-directory) "/path"))) 2184 (file-remote-p ert-remote-temporary-file-directory) "/path")))
2137 (expand-file-name ".." "./")) 2185 (expand-file-name ".." "./"))
2138 (concat (file-remote-p tramp-test-temporary-file-directory) "/")))) 2186 (concat (file-remote-p ert-remote-temporary-file-directory) "/"))))
2139 2187
2140(ert-deftest tramp-test05-expand-file-name-top () 2188(ert-deftest tramp-test05-expand-file-name-top ()
2141 "Check `expand-file-name'." 2189 "Check `expand-file-name'."
2142 (skip-unless (tramp--test-enabled)) 2190 (skip-unless (tramp--test-enabled))
2143 (skip-unless (not (tramp--test-ange-ftp-p))) 2191 (skip-unless (not (tramp--test-ange-ftp-p)))
2144 2192
2145 (let ((dir (concat (file-remote-p tramp-test-temporary-file-directory) "/"))) 2193 (let ((dir (concat (file-remote-p ert-remote-temporary-file-directory) "/")))
2146 (dolist (local '("." "..")) 2194 (dolist (local '("." ".."))
2147 (should (string-equal (expand-file-name local dir) dir)) 2195 (should (string-equal (expand-file-name local dir) dir))
2148 (should (string-equal (expand-file-name (concat dir local)) dir))))) 2196 (should (string-equal (expand-file-name (concat dir local)) dir)))))
@@ -2205,8 +2253,8 @@ This checks also `file-name-as-directory', `file-name-directory',
2205 ;; We must clear `tramp-default-method'. On hydra, it is "ftp", 2253 ;; We must clear `tramp-default-method'. On hydra, it is "ftp",
2206 ;; which ruins the tests. 2254 ;; which ruins the tests.
2207 (let ((tramp-default-method 2255 (let ((tramp-default-method
2208 (file-remote-p tramp-test-temporary-file-directory 'method)) 2256 (file-remote-p ert-remote-temporary-file-directory 'method))
2209 (host (file-remote-p tramp-test-temporary-file-directory 'host))) 2257 (host (file-remote-p ert-remote-temporary-file-directory 'host)))
2210 (dolist 2258 (dolist
2211 (file 2259 (file
2212 `(,(format "/%s::" tramp-default-method) 2260 `(,(format "/%s::" tramp-default-method)
@@ -2233,8 +2281,8 @@ This checks also `file-name-as-directory', `file-name-directory',
2233 (skip-unless (tramp--test-emacs29-p)) 2281 (skip-unless (tramp--test-emacs29-p))
2234 2282
2235 ;; We must refill the cache. `file-truename' does it. 2283 ;; We must refill the cache. `file-truename' does it.
2236 (file-truename tramp-test-temporary-file-directory) 2284 (file-truename ert-remote-temporary-file-directory)
2237 (let* ((remote-host (file-remote-p tramp-test-temporary-file-directory)) 2285 (let* ((remote-host (file-remote-p ert-remote-temporary-file-directory))
2238 (remote-host-nohop 2286 (remote-host-nohop
2239 (tramp-make-tramp-file-name (tramp-dissect-file-name remote-host))) 2287 (tramp-make-tramp-file-name (tramp-dissect-file-name remote-host)))
2240 ;; Not all methods can expand "~". 2288 ;; Not all methods can expand "~".
@@ -2323,7 +2371,7 @@ This checks also `file-name-as-directory', `file-name-directory',
2323 (insert-file-contents tmp-name2) 2371 (insert-file-contents tmp-name2)
2324 (should (string-equal (buffer-string) "foo"))) 2372 (should (string-equal (buffer-string) "foo")))
2325 ;; Check also that a file transfer with compression works. 2373 ;; Check also that a file transfer with compression works.
2326 (let ((default-directory tramp-test-temporary-file-directory) 2374 (let ((default-directory ert-remote-temporary-file-directory)
2327 (tramp-copy-size-limit 4) 2375 (tramp-copy-size-limit 4)
2328 (tramp-inline-compress-start-size 2)) 2376 (tramp-inline-compress-start-size 2))
2329 (delete-file tmp-name2) 2377 (delete-file tmp-name2)
@@ -2505,7 +2553,9 @@ This checks also `file-name-as-directory', `file-name-directory',
2505 (setq-local file-precious-flag t) 2553 (setq-local file-precious-flag t)
2506 (setq-local backup-inhibited t) 2554 (setq-local backup-inhibited t)
2507 (insert "bar") 2555 (insert "bar")
2556 (should (buffer-modified-p))
2508 (should (null (save-buffer))) 2557 (should (null (save-buffer)))
2558 (should (not (buffer-modified-p)))
2509 (should-not (cl-member tmp-name written-files :test #'string=))) 2559 (should-not (cl-member tmp-name written-files :test #'string=)))
2510 2560
2511 ;; Cleanup. 2561 ;; Cleanup.
@@ -2518,8 +2568,10 @@ This checks also `file-name-as-directory', `file-name-directory',
2518 (skip-unless (tramp--test-enabled)) 2568 (skip-unless (tramp--test-enabled))
2519 (skip-unless (not (tramp--test-ange-ftp-p))) 2569 (skip-unless (not (tramp--test-ange-ftp-p)))
2520 (skip-unless (executable-find "gzip")) 2570 (skip-unless (executable-find "gzip"))
2571 ;; The function was introduced in Emacs 28.1.
2572 (skip-unless (boundp 'tar-goto-file))
2521 2573
2522 (let* ((default-directory tramp-test-temporary-file-directory) 2574 (let* ((default-directory ert-remote-temporary-file-directory)
2523 (archive (ert-resource-file "foo.tar.gz")) 2575 (archive (ert-resource-file "foo.tar.gz"))
2524 (tmp-file (expand-file-name (file-name-nondirectory archive))) 2576 (tmp-file (expand-file-name (file-name-nondirectory archive)))
2525 (require-final-newline t) 2577 (require-final-newline t)
@@ -2531,20 +2583,26 @@ This checks also `file-name-as-directory', `file-name-directory',
2531 (copy-file archive tmp-file 'ok) 2583 (copy-file archive tmp-file 'ok)
2532 ;; Read archive. Check contents of foo.txt, and modify it. Save. 2584 ;; Read archive. Check contents of foo.txt, and modify it. Save.
2533 (with-current-buffer (setq buffer1 (find-file-noselect tmp-file)) 2585 (with-current-buffer (setq buffer1 (find-file-noselect tmp-file))
2534 (should (tar-goto-file "foo.txt")) 2586 ;; The function was introduced in Emacs 28.1.
2587 (with-no-warnings (should (tar-goto-file "foo.txt")))
2535 (save-current-buffer 2588 (save-current-buffer
2536 (setq buffer2 (tar-extract)) 2589 (setq buffer2 (tar-extract))
2537 (should (string-equal (buffer-string) "foo\n")) 2590 (should (string-equal (buffer-string) "foo\n"))
2538 (goto-char (point-max)) 2591 (goto-char (point-max))
2539 (insert "bar") 2592 (insert "bar")
2540 (should (null (save-buffer)))) 2593 (should (buffer-modified-p))
2541 (should (null (save-buffer)))) 2594 (should (null (save-buffer)))
2595 (should-not (buffer-modified-p)))
2596 (should (buffer-modified-p))
2597 (should (null (save-buffer)))
2598 (should-not (buffer-modified-p)))
2542 2599
2543 (kill-buffer buffer1) 2600 (kill-buffer buffer1)
2544 (kill-buffer buffer2) 2601 (kill-buffer buffer2)
2545 ;; Read archive. Check contents of modified foo.txt. 2602 ;; Read archive. Check contents of modified foo.txt.
2546 (with-current-buffer (setq buffer1 (find-file-noselect tmp-file)) 2603 (with-current-buffer (setq buffer1 (find-file-noselect tmp-file))
2547 (should (tar-goto-file "foo.txt")) 2604 ;; The function was introduced in Emacs 28.1.
2605 (with-no-warnings (should (tar-goto-file "foo.txt")))
2548 (save-current-buffer 2606 (save-current-buffer
2549 (setq buffer2 (tar-extract)) 2607 (setq buffer2 (tar-extract))
2550 (should (string-equal (buffer-string) "foo\nbar\n"))))) 2608 (should (string-equal (buffer-string) "foo\nbar\n")))))
@@ -3014,7 +3072,8 @@ This tests also `file-directory-p' and `file-accessible-directory-p'."
3014 (skip-unless (tramp--test-enabled)) 3072 (skip-unless (tramp--test-enabled))
3015 3073
3016 (dolist (quoted (if (tramp--test-expensive-test-p) '(nil t) '(nil))) 3074 (dolist (quoted (if (tramp--test-expensive-test-p) '(nil t) '(nil)))
3017 (let* ((tmp-name1 (tramp--test-make-temp-name nil quoted)) 3075 (let* ((tramp-fuse-remove-hidden-files t)
3076 (tmp-name1 (tramp--test-make-temp-name nil quoted))
3018 (tmp-name2 (expand-file-name "bla" tmp-name1)) 3077 (tmp-name2 (expand-file-name "bla" tmp-name1))
3019 (tmp-name3 (expand-file-name "foo" tmp-name1))) 3078 (tmp-name3 (expand-file-name "foo" tmp-name1)))
3020 (unwind-protect 3079 (unwind-protect
@@ -3058,7 +3117,8 @@ This tests also `file-directory-p' and `file-accessible-directory-p'."
3058 (skip-unless (tramp--test-enabled)) 3117 (skip-unless (tramp--test-enabled))
3059 3118
3060 (dolist (quoted (if (tramp--test-expensive-test-p) '(nil t) '(nil))) 3119 (dolist (quoted (if (tramp--test-expensive-test-p) '(nil t) '(nil)))
3061 (let* ((tmp-name1 (tramp--test-make-temp-name nil quoted)) 3120 (let* ((tramp-fuse-remove-hidden-files t)
3121 (tmp-name1 (tramp--test-make-temp-name nil quoted))
3062 (tmp-name2 (expand-file-name "foo" tmp-name1)) 3122 (tmp-name2 (expand-file-name "foo" tmp-name1))
3063 (tmp-name3 (expand-file-name "bar" tmp-name1)) 3123 (tmp-name3 (expand-file-name "bar" tmp-name1))
3064 (tmp-name4 (expand-file-name "baz" tmp-name1)) 3124 (tmp-name4 (expand-file-name "baz" tmp-name1))
@@ -3201,7 +3261,7 @@ This tests also `file-directory-p' and `file-accessible-directory-p'."
3201(ert-deftest tramp-test17-dired-with-wildcards () 3261(ert-deftest tramp-test17-dired-with-wildcards ()
3202 "Check `dired' with wildcards." 3262 "Check `dired' with wildcards."
3203 ;; `separate' syntax and IPv6 host name syntax do not work. 3263 ;; `separate' syntax and IPv6 host name syntax do not work.
3204 (skip-unless (not (string-match-p "\\[" tramp-test-temporary-file-directory))) 3264 (skip-unless (not (string-match-p "\\[" ert-remote-temporary-file-directory)))
3205 (skip-unless (tramp--test-enabled)) 3265 (skip-unless (tramp--test-enabled))
3206 (skip-unless (tramp--test-sh-p)) 3266 (skip-unless (tramp--test-sh-p))
3207 (skip-unless (not (tramp--test-rsync-p))) 3267 (skip-unless (not (tramp--test-rsync-p)))
@@ -3215,10 +3275,10 @@ This tests also `file-directory-p' and `file-accessible-directory-p'."
3215 (expand-file-name (tramp--test-make-temp-name nil quoted))) 3275 (expand-file-name (tramp--test-make-temp-name nil quoted)))
3216 (tmp-name3 (expand-file-name "foo" tmp-name1)) 3276 (tmp-name3 (expand-file-name "foo" tmp-name1))
3217 (tmp-name4 (expand-file-name "bar" tmp-name2)) 3277 (tmp-name4 (expand-file-name "bar" tmp-name2))
3218 (tramp-test-temporary-file-directory 3278 (ert-remote-temporary-file-directory
3219 (funcall 3279 (funcall
3220 (if quoted #'tramp-compat-file-name-quote #'identity) 3280 (if quoted #'tramp-compat-file-name-quote #'identity)
3221 tramp-test-temporary-file-directory)) 3281 ert-remote-temporary-file-directory))
3222 buffer) 3282 buffer)
3223 (unwind-protect 3283 (unwind-protect
3224 (progn 3284 (progn
@@ -3236,19 +3296,19 @@ This tests also `file-directory-p' and `file-accessible-directory-p'."
3236 (setq buffer 3296 (setq buffer
3237 (dired-noselect 3297 (dired-noselect
3238 (expand-file-name 3298 (expand-file-name
3239 "tramp-test*" tramp-test-temporary-file-directory))) 3299 "tramp-test*" ert-remote-temporary-file-directory)))
3240 (goto-char (point-min)) 3300 (goto-char (point-min))
3241 (should 3301 (should
3242 (re-search-forward 3302 (re-search-forward
3243 (regexp-quote 3303 (regexp-quote
3244 (file-relative-name 3304 (file-relative-name
3245 tmp-name1 tramp-test-temporary-file-directory)))) 3305 tmp-name1 ert-remote-temporary-file-directory))))
3246 (goto-char (point-min)) 3306 (goto-char (point-min))
3247 (should 3307 (should
3248 (re-search-forward 3308 (re-search-forward
3249 (regexp-quote 3309 (regexp-quote
3250 (file-relative-name 3310 (file-relative-name
3251 tmp-name2 tramp-test-temporary-file-directory))))) 3311 tmp-name2 ert-remote-temporary-file-directory)))))
3252 (kill-buffer buffer) 3312 (kill-buffer buffer)
3253 3313
3254 ;; Check for expanded directory and file names. 3314 ;; Check for expanded directory and file names.
@@ -3256,20 +3316,20 @@ This tests also `file-directory-p' and `file-accessible-directory-p'."
3256 (setq buffer 3316 (setq buffer
3257 (dired-noselect 3317 (dired-noselect
3258 (expand-file-name 3318 (expand-file-name
3259 "tramp-test*/*" tramp-test-temporary-file-directory))) 3319 "tramp-test*/*" ert-remote-temporary-file-directory)))
3260 (goto-char (point-min)) 3320 (goto-char (point-min))
3261 (should 3321 (should
3262 (re-search-forward 3322 (re-search-forward
3263 (regexp-quote 3323 (regexp-quote
3264 (file-relative-name 3324 (file-relative-name
3265 tmp-name3 tramp-test-temporary-file-directory)))) 3325 tmp-name3 ert-remote-temporary-file-directory))))
3266 (goto-char (point-min)) 3326 (goto-char (point-min))
3267 (should 3327 (should
3268 (re-search-forward 3328 (re-search-forward
3269 (regexp-quote 3329 (regexp-quote
3270 (file-relative-name 3330 (file-relative-name
3271 tmp-name4 3331 tmp-name4
3272 tramp-test-temporary-file-directory))))) 3332 ert-remote-temporary-file-directory)))))
3273 (kill-buffer buffer) 3333 (kill-buffer buffer)
3274 3334
3275 ;; Check for special characters. 3335 ;; Check for special characters.
@@ -3284,20 +3344,20 @@ This tests also `file-directory-p' and `file-accessible-directory-p'."
3284 (setq buffer 3344 (setq buffer
3285 (dired-noselect 3345 (dired-noselect
3286 (expand-file-name 3346 (expand-file-name
3287 "tramp-test*/*" tramp-test-temporary-file-directory))) 3347 "tramp-test*/*" ert-remote-temporary-file-directory)))
3288 (goto-char (point-min)) 3348 (goto-char (point-min))
3289 (should 3349 (should
3290 (re-search-forward 3350 (re-search-forward
3291 (regexp-quote 3351 (regexp-quote
3292 (file-relative-name 3352 (file-relative-name
3293 tmp-name3 tramp-test-temporary-file-directory)))) 3353 tmp-name3 ert-remote-temporary-file-directory))))
3294 (goto-char (point-min)) 3354 (goto-char (point-min))
3295 (should 3355 (should
3296 (re-search-forward 3356 (re-search-forward
3297 (regexp-quote 3357 (regexp-quote
3298 (file-relative-name 3358 (file-relative-name
3299 tmp-name4 3359 tmp-name4
3300 tramp-test-temporary-file-directory))))) 3360 ert-remote-temporary-file-directory)))))
3301 (kill-buffer buffer)) 3361 (kill-buffer buffer))
3302 3362
3303 ;; Cleanup. 3363 ;; Cleanup.
@@ -3370,8 +3430,8 @@ This tests also `access-file', `file-readable-p',
3370 ;; We must use `file-truename' for the temporary directory, 3430 ;; We must use `file-truename' for the temporary directory,
3371 ;; because it could be located on a symlinked directory. This 3431 ;; because it could be located on a symlinked directory. This
3372 ;; would let the test fail. 3432 ;; would let the test fail.
3373 (let* ((tramp-test-temporary-file-directory 3433 (let* ((ert-remote-temporary-file-directory
3374 (file-truename tramp-test-temporary-file-directory)) 3434 (file-truename ert-remote-temporary-file-directory))
3375 (tmp-name1 (tramp--test-make-temp-name nil quoted)) 3435 (tmp-name1 (tramp--test-make-temp-name nil quoted))
3376 (tmp-name2 (tramp--test-make-temp-name nil quoted)) 3436 (tmp-name2 (tramp--test-make-temp-name nil quoted))
3377 ;; File name with "//". 3437 ;; File name with "//".
@@ -3391,7 +3451,7 @@ This tests also `access-file', `file-readable-p',
3391 (and test-file-ownership-preserved-p 3451 (and test-file-ownership-preserved-p
3392 (zerop (logand 3452 (zerop (logand
3393 #o1000 3453 #o1000
3394 (file-modes tramp-test-temporary-file-directory)))) 3454 (file-modes ert-remote-temporary-file-directory))))
3395 (write-region "foo" nil tmp-name1) 3455 (write-region "foo" nil tmp-name1)
3396 (setq test-file-ownership-preserved-p 3456 (setq test-file-ownership-preserved-p
3397 (= (file-attribute-group-id (file-attributes tmp-name1)) 3457 (= (file-attribute-group-id (file-attributes tmp-name1))
@@ -3470,7 +3530,7 @@ This tests also `access-file', `file-readable-p',
3470 3530
3471 ;; Check, that "//" in symlinks are handled properly. 3531 ;; Check, that "//" in symlinks are handled properly.
3472 (with-temp-buffer 3532 (with-temp-buffer
3473 (let ((default-directory tramp-test-temporary-file-directory)) 3533 (let ((default-directory ert-remote-temporary-file-directory))
3474 (shell-command 3534 (shell-command
3475 (format 3535 (format
3476 "ln -s %s %s" 3536 "ln -s %s %s"
@@ -3728,8 +3788,8 @@ This tests also `make-symbolic-link', `file-truename' and `add-name-to-file'."
3728 ;; We must use `file-truename' for the temporary directory, 3788 ;; We must use `file-truename' for the temporary directory,
3729 ;; because it could be located on a symlinked directory. This 3789 ;; because it could be located on a symlinked directory. This
3730 ;; would let the test fail. 3790 ;; would let the test fail.
3731 (let* ((tramp-test-temporary-file-directory 3791 (let* ((ert-remote-temporary-file-directory
3732 (file-truename tramp-test-temporary-file-directory)) 3792 (file-truename ert-remote-temporary-file-directory))
3733 (tmp-name1 (tramp--test-make-temp-name nil quoted)) 3793 (tmp-name1 (tramp--test-make-temp-name nil quoted))
3734 (tmp-name2 (tramp--test-make-temp-name nil quoted)) 3794 (tmp-name2 (tramp--test-make-temp-name nil quoted))
3735 (tmp-name3 (tramp--test-make-temp-name 'local quoted)) 3795 (tmp-name3 (tramp--test-make-temp-name 'local quoted))
@@ -3876,7 +3936,7 @@ This tests also `make-symbolic-link', `file-truename' and `add-name-to-file'."
3876 (should (file-equal-p tmp-name1 tmp-name2)) 3936 (should (file-equal-p tmp-name1 tmp-name2))
3877 ;; Check relative symlink file name. 3937 ;; Check relative symlink file name.
3878 (delete-file tmp-name2) 3938 (delete-file tmp-name2)
3879 (let ((default-directory tramp-test-temporary-file-directory)) 3939 (let ((default-directory ert-remote-temporary-file-directory))
3880 (make-symbolic-link (file-name-nondirectory tmp-name1) tmp-name2)) 3940 (make-symbolic-link (file-name-nondirectory tmp-name1) tmp-name2))
3881 (should (file-symlink-p tmp-name2)) 3941 (should (file-symlink-p tmp-name2))
3882 (should-not (string-equal tmp-name2 (file-truename tmp-name2))) 3942 (should-not (string-equal tmp-name2 (file-truename tmp-name2)))
@@ -3923,7 +3983,7 @@ This tests also `make-symbolic-link', `file-truename' and `add-name-to-file'."
3923 (tramp--test-ignore-make-symbolic-link-error 3983 (tramp--test-ignore-make-symbolic-link-error
3924 (make-directory tmp-name1) 3984 (make-directory tmp-name1)
3925 (should (file-directory-p tmp-name1)) 3985 (should (file-directory-p tmp-name1))
3926 (let* ((tramp-test-temporary-file-directory 3986 (let* ((ert-remote-temporary-file-directory
3927 (file-truename tmp-name1)) 3987 (file-truename tmp-name1))
3928 (tmp-name2 (tramp--test-make-temp-name nil quoted)) 3988 (tmp-name2 (tramp--test-make-temp-name nil quoted))
3929 (tmp-name3 tmp-name2) 3989 (tmp-name3 tmp-name2)
@@ -3984,7 +4044,7 @@ This tests also `make-symbolic-link', `file-truename' and `add-name-to-file'."
3984 (directory-file-name 4044 (directory-file-name
3985 (funcall 4045 (funcall
3986 (if quoted #'tramp-compat-file-name-quote #'identity) 4046 (if quoted #'tramp-compat-file-name-quote #'identity)
3987 tramp-test-temporary-file-directory))) 4047 ert-remote-temporary-file-directory)))
3988 (dir2 (file-name-as-directory dir1))) 4048 (dir2 (file-name-as-directory dir1)))
3989 (should (string-equal (file-truename dir1) (expand-file-name dir1))) 4049 (should (string-equal (file-truename dir1) (expand-file-name dir1)))
3990 (should (string-equal (file-truename dir2) (expand-file-name dir2))))))) 4050 (should (string-equal (file-truename dir2) (expand-file-name dir2)))))))
@@ -4074,7 +4134,7 @@ This tests also `make-symbolic-link', `file-truename' and `add-name-to-file'."
4074 "Check that `file-acl' and `set-file-acl' work proper." 4134 "Check that `file-acl' and `set-file-acl' work proper."
4075 (skip-unless (tramp--test-enabled)) 4135 (skip-unless (tramp--test-enabled))
4076 ;; The following test checks also whether `set-file-modes' will work. 4136 ;; The following test checks also whether `set-file-modes' will work.
4077 (skip-unless (file-acl tramp-test-temporary-file-directory)) 4137 (skip-unless (file-acl ert-remote-temporary-file-directory))
4078 (skip-unless (not (tramp--test-crypt-p))) 4138 (skip-unless (not (tramp--test-crypt-p)))
4079 4139
4080 ;; `filename-non-special' has been fixed in Emacs 27.1, see Bug#29579. 4140 ;; `filename-non-special' has been fixed in Emacs 27.1, see Bug#29579.
@@ -4153,7 +4213,7 @@ This tests also `make-symbolic-link', `file-truename' and `add-name-to-file'."
4153 "Check `file-selinux-context' and `set-file-selinux-context'." 4213 "Check `file-selinux-context' and `set-file-selinux-context'."
4154 (skip-unless (tramp--test-enabled)) 4214 (skip-unless (tramp--test-enabled))
4155 (skip-unless 4215 (skip-unless
4156 (not (equal (file-selinux-context tramp-test-temporary-file-directory) 4216 (not (equal (file-selinux-context ert-remote-temporary-file-directory)
4157 '(nil nil nil nil)))) 4217 '(nil nil nil nil))))
4158 (skip-unless (not (tramp--test-crypt-p))) 4218 (skip-unless (not (tramp--test-crypt-p)))
4159 4219
@@ -4214,7 +4274,7 @@ This tests also `make-symbolic-link', `file-truename' and `add-name-to-file'."
4214 (let ((default-directory temporary-file-directory)) 4274 (let ((default-directory temporary-file-directory))
4215 (shell-command-to-string "id -Z")) 4275 (shell-command-to-string "id -Z"))
4216 (let ((default-directory 4276 (let ((default-directory
4217 tramp-test-temporary-file-directory)) 4277 ert-remote-temporary-file-directory))
4218 (shell-command-to-string "id -Z")))) 4278 (shell-command-to-string "id -Z"))))
4219 4279
4220 ;; Two files with same SELinux context. 4280 ;; Two files with same SELinux context.
@@ -4298,8 +4358,9 @@ This tests also `make-symbolic-link', `file-truename' and `add-name-to-file'."
4298 ;; Method and host name in completion mode. This kind of completion 4358 ;; Method and host name in completion mode. This kind of completion
4299 ;; does not work on MS Windows. 4359 ;; does not work on MS Windows.
4300 (unless (memq system-type '(cygwin windows-nt)) 4360 (unless (memq system-type '(cygwin windows-nt))
4301 (let ((method (file-remote-p tramp-test-temporary-file-directory 'method)) 4361 (let ((tramp-fuse-remove-hidden-files t)
4302 (host (file-remote-p tramp-test-temporary-file-directory 'host)) 4362 (method (file-remote-p ert-remote-temporary-file-directory 'method))
4363 (host (file-remote-p ert-remote-temporary-file-directory 'host))
4303 (orig-syntax tramp-syntax)) 4364 (orig-syntax tramp-syntax))
4304 (when (and (stringp host) (string-match tramp-host-with-port-regexp host)) 4365 (when (and (stringp host) (string-match tramp-host-with-port-regexp host))
4305 (setq host (match-string 1 host))) 4366 (setq host (match-string 1 host)))
@@ -4350,7 +4411,8 @@ This tests also `make-symbolic-link', `file-truename' and `add-name-to-file'."
4350 4411
4351 (dolist (non-essential '(nil t)) 4412 (dolist (non-essential '(nil t))
4352 (dolist (quoted (if (tramp--test-expensive-test-p) '(nil t) '(nil))) 4413 (dolist (quoted (if (tramp--test-expensive-test-p) '(nil t) '(nil)))
4353 (let ((tmp-name (tramp--test-make-temp-name nil quoted))) 4414 (let ((tramp-fuse-remove-hidden-files t)
4415 (tmp-name (tramp--test-make-temp-name nil quoted)))
4354 4416
4355 (unwind-protect 4417 (unwind-protect
4356 (progn 4418 (progn
@@ -4420,7 +4482,9 @@ This tests also `make-symbolic-link', `file-truename' and `add-name-to-file'."
4420 (let ((tmp-name (tramp--test-make-temp-name nil quoted))) 4482 (let ((tmp-name (tramp--test-make-temp-name nil quoted)))
4421 (unwind-protect 4483 (unwind-protect
4422 (progn 4484 (progn
4423 (load tmp-name 'noerror 'nomessage) 4485 ;; Ange-FTP does not tolerate a missing file, even with `noerror'.
4486 (unless (tramp--test-ange-ftp-p)
4487 (load tmp-name 'noerror 'nomessage))
4424 (should-not (featurep 'tramp-test-load)) 4488 (should-not (featurep 'tramp-test-load))
4425 (write-region "(provide 'tramp-test-load)" nil tmp-name) 4489 (write-region "(provide 'tramp-test-load)" nil tmp-name)
4426 ;; `load' in lread.c does not pass `must-suffix'. Why? 4490 ;; `load' in lread.c does not pass `must-suffix'. Why?
@@ -4448,7 +4512,7 @@ This tests also `make-symbolic-link', `file-truename' and `add-name-to-file'."
4448 (dolist (quoted (if (tramp--test-expensive-test-p) '(nil t) '(nil))) 4512 (dolist (quoted (if (tramp--test-expensive-test-p) '(nil t) '(nil)))
4449 (let* ((tmp-name (tramp--test-make-temp-name nil quoted)) 4513 (let* ((tmp-name (tramp--test-make-temp-name nil quoted))
4450 (fnnd (file-name-nondirectory tmp-name)) 4514 (fnnd (file-name-nondirectory tmp-name))
4451 (default-directory tramp-test-temporary-file-directory) 4515 (default-directory ert-remote-temporary-file-directory)
4452 (buffer (get-buffer-create "*tramp-tests*")) 4516 (buffer (get-buffer-create "*tramp-tests*"))
4453 kill-buffer-query-functions) 4517 kill-buffer-query-functions)
4454 (unwind-protect 4518 (unwind-protect
@@ -4582,7 +4646,7 @@ This tests also `make-symbolic-link', `file-truename' and `add-name-to-file'."
4582 (skip-unless (tramp--test-supports-processes-p)) 4646 (skip-unless (tramp--test-supports-processes-p))
4583 4647
4584 (dolist (quoted (if (tramp--test-expensive-test-p) '(nil t) '(nil))) 4648 (dolist (quoted (if (tramp--test-expensive-test-p) '(nil t) '(nil)))
4585 (let ((default-directory tramp-test-temporary-file-directory) 4649 (let ((default-directory ert-remote-temporary-file-directory)
4586 (tmp-name (tramp--test-make-temp-name nil quoted)) 4650 (tmp-name (tramp--test-make-temp-name nil quoted))
4587 kill-buffer-query-functions command proc) 4651 kill-buffer-query-functions command proc)
4588 4652
@@ -4748,7 +4812,7 @@ If UNSTABLE is non-nil, the test is tagged as `:unstable'."
4748 :tags (append '(:expensive-test :tramp-asynchronous-processes) 4812 :tags (append '(:expensive-test :tramp-asynchronous-processes)
4749 (and ,unstable '(:unstable))) 4813 (and ,unstable '(:unstable)))
4750 (skip-unless (tramp--test-enabled)) 4814 (skip-unless (tramp--test-enabled))
4751 (let ((default-directory tramp-test-temporary-file-directory) 4815 (let ((default-directory ert-remote-temporary-file-directory)
4752 (ert-test (ert-get-test ',test)) 4816 (ert-test (ert-get-test ',test))
4753 (tramp-connection-properties 4817 (tramp-connection-properties
4754 (cons '(nil "direct-async-process" t) 4818 (cons '(nil "direct-async-process" t)
@@ -4761,7 +4825,7 @@ If UNSTABLE is non-nil, the test is tagged as `:unstable'."
4761 (cl-letf (((symbol-function #'tramp--test-enabled) #'tramp--test-always) 4825 (cl-letf (((symbol-function #'tramp--test-enabled) #'tramp--test-always)
4762 ((symbol-function #'internal-default-process-sentinel) 4826 ((symbol-function #'internal-default-process-sentinel)
4763 #'ignore)) 4827 #'ignore))
4764 (file-truename tramp-test-temporary-file-directory) 4828 (file-truename ert-remote-temporary-file-directory)
4765 (funcall (ert-test-body ert-test))))))) 4829 (funcall (ert-test-body ert-test)))))))
4766 4830
4767(tramp--test--deftest-direct-async-process tramp-test29-start-file-process 4831(tramp--test--deftest-direct-async-process tramp-test29-start-file-process
@@ -4778,7 +4842,7 @@ If UNSTABLE is non-nil, the test is tagged as `:unstable'."
4778 (skip-unless (tramp--test-emacs27-p)) 4842 (skip-unless (tramp--test-emacs27-p))
4779 4843
4780 (dolist (quoted (if (tramp--test-expensive-test-p) '(nil t) '(nil))) 4844 (dolist (quoted (if (tramp--test-expensive-test-p) '(nil t) '(nil)))
4781 (let ((default-directory tramp-test-temporary-file-directory) 4845 (let ((default-directory ert-remote-temporary-file-directory)
4782 (tmp-name (tramp--test-make-temp-name nil quoted)) 4846 (tmp-name (tramp--test-make-temp-name nil quoted))
4783 kill-buffer-query-functions command proc) 4847 kill-buffer-query-functions command proc)
4784 (with-no-warnings (should-not (make-process))) 4848 (with-no-warnings (should-not (make-process)))
@@ -5031,12 +5095,15 @@ If UNSTABLE is non-nil, the test is tagged as `:unstable'."
5031 :tags '(:expensive-test :tramp-asynchronous-processes :unstable) 5095 :tags '(:expensive-test :tramp-asynchronous-processes :unstable)
5032 (skip-unless (tramp--test-enabled)) 5096 (skip-unless (tramp--test-enabled))
5033 (skip-unless (tramp--test-sh-p)) 5097 (skip-unless (tramp--test-sh-p))
5098 (skip-unless (not (tramp--test-windows-nt-p)))
5034 (skip-unless (not (tramp--test-crypt-p))) 5099 (skip-unless (not (tramp--test-crypt-p)))
5100 ;; Since Emacs 27.1.
5101 (skip-unless (macrop 'with-connection-local-variables))
5035 5102
5036 ;; We must use `file-truename' for the temporary directory, in 5103 ;; We must use `file-truename' for the temporary directory, in
5037 ;; order to establish the connection prior running an asynchronous 5104 ;; order to establish the connection prior running an asynchronous
5038 ;; process. 5105 ;; process.
5039 (let ((default-directory (file-truename tramp-test-temporary-file-directory)) 5106 (let ((default-directory (file-truename ert-remote-temporary-file-directory))
5040 (delete-exited-processes t) 5107 (delete-exited-processes t)
5041 kill-buffer-query-functions command proc) 5108 kill-buffer-query-functions command proc)
5042 (unwind-protect 5109 (unwind-protect
@@ -5071,14 +5138,17 @@ If UNSTABLE is non-nil, the test is tagged as `:unstable'."
5071 :tags '(:expensive-test :tramp-asynchronous-processes :unstable) 5138 :tags '(:expensive-test :tramp-asynchronous-processes :unstable)
5072 (skip-unless (tramp--test-enabled)) 5139 (skip-unless (tramp--test-enabled))
5073 (skip-unless (tramp--test-sh-p)) 5140 (skip-unless (tramp--test-sh-p))
5141 (skip-unless (not (tramp--test-windows-nt-p)))
5074 (skip-unless (not (tramp--test-crypt-p))) 5142 (skip-unless (not (tramp--test-crypt-p)))
5143 ;; Since Emacs 27.1.
5144 (skip-unless (macrop 'with-connection-local-variables))
5075 ;; Since Emacs 29.1. 5145 ;; Since Emacs 29.1.
5076 (skip-unless (boundp 'signal-process-functions)) 5146 (skip-unless (boundp 'signal-process-functions))
5077 5147
5078 ;; We must use `file-truename' for the temporary directory, in 5148 ;; We must use `file-truename' for the temporary directory, in
5079 ;; order to establish the connection prior running an asynchronous 5149 ;; order to establish the connection prior running an asynchronous
5080 ;; process. 5150 ;; process.
5081 (let ((default-directory (file-truename tramp-test-temporary-file-directory)) 5151 (let ((default-directory (file-truename ert-remote-temporary-file-directory))
5082 (delete-exited-processes t) 5152 (delete-exited-processes t)
5083 kill-buffer-query-functions command proc) 5153 kill-buffer-query-functions command proc)
5084 5154
@@ -5117,10 +5187,12 @@ If UNSTABLE is non-nil, the test is tagged as `:unstable'."
5117 (should (equal (process-get proc 'remote-command) 5187 (should (equal (process-get proc 'remote-command)
5118 (with-connection-local-variables 5188 (with-connection-local-variables
5119 `(,shell-file-name ,shell-command-switch ,command)))) 5189 `(,shell-file-name ,shell-command-switch ,command))))
5120 (should 5190 ;; `signal-process' has argument REMOTE since Emacs 29.
5121 (zerop 5191 (with-no-warnings
5122 (signal-process 5192 (should
5123 (process-get proc 'remote-pid) sigcode default-directory))) 5193 (zerop
5194 (signal-process
5195 (process-get proc 'remote-pid) sigcode default-directory))))
5124 ;; Let the process accept the signal. 5196 ;; Let the process accept the signal.
5125 (with-timeout (10 (tramp--test-timeout-handler)) 5197 (with-timeout (10 (tramp--test-timeout-handler))
5126 (while (accept-process-output proc 0 nil t))) 5198 (while (accept-process-output proc 0 nil t)))
@@ -5138,7 +5210,7 @@ If UNSTABLE is non-nil, the test is tagged as `:unstable'."
5138 ;; `list-system-processes' is supported since Emacs 29.1. 5210 ;; `list-system-processes' is supported since Emacs 29.1.
5139 (skip-unless (tramp--test-emacs29-p)) 5211 (skip-unless (tramp--test-emacs29-p))
5140 5212
5141 (let ((default-directory tramp-test-temporary-file-directory)) 5213 (let ((default-directory ert-remote-temporary-file-directory))
5142 (skip-unless (consp (list-system-processes))) 5214 (skip-unless (consp (list-system-processes)))
5143 (should (not (equal (list-system-processes) 5215 (should (not (equal (list-system-processes)
5144 (let ((default-directory temporary-file-directory)) 5216 (let ((default-directory temporary-file-directory))
@@ -5155,7 +5227,7 @@ If UNSTABLE is non-nil, the test is tagged as `:unstable'."
5155 ;; We must use `file-truename' for the temporary directory, in 5227 ;; We must use `file-truename' for the temporary directory, in
5156 ;; order to establish the connection prior running an asynchronous 5228 ;; order to establish the connection prior running an asynchronous
5157 ;; process. 5229 ;; process.
5158 (let ((default-directory (file-truename tramp-test-temporary-file-directory)) 5230 (let ((default-directory (file-truename ert-remote-temporary-file-directory))
5159 (delete-exited-processes t) 5231 (delete-exited-processes t)
5160 kill-buffer-query-functions command proc) 5232 kill-buffer-query-functions command proc)
5161 (skip-unless (consp (list-system-processes))) 5233 (skip-unless (consp (list-system-processes)))
@@ -5181,9 +5253,11 @@ If UNSTABLE is non-nil, the test is tagged as `:unstable'."
5181INPUT, if non-nil, is a string sent to the process." 5253INPUT, if non-nil, is a string sent to the process."
5182 (let ((proc (async-shell-command command output-buffer error-buffer)) 5254 (let ((proc (async-shell-command command output-buffer error-buffer))
5183 (delete-exited-processes t)) 5255 (delete-exited-processes t))
5184 (should (equal (process-get proc 'remote-command) 5256 ;; Since Emacs 27.1.
5185 (with-connection-local-variables 5257 (when (macrop 'with-connection-local-variables)
5186 `(,shell-file-name ,shell-command-switch ,command)))) 5258 (should (equal (process-get proc 'remote-command)
5259 (with-connection-local-variables
5260 `(,shell-file-name ,shell-command-switch ,command)))))
5187 (cl-letf (((symbol-function #'shell-command-sentinel) #'ignore)) 5261 (cl-letf (((symbol-function #'shell-command-sentinel) #'ignore))
5188 (when (stringp input) 5262 (when (stringp input)
5189 (process-send-string proc input)) 5263 (process-send-string proc input))
@@ -5211,7 +5285,7 @@ INPUT, if non-nil, is a string sent to the process."
5211 5285
5212 (dolist (quoted (if (tramp--test-expensive-test-p) '(nil t) '(nil))) 5286 (dolist (quoted (if (tramp--test-expensive-test-p) '(nil t) '(nil)))
5213 (let ((tmp-name (tramp--test-make-temp-name nil quoted)) 5287 (let ((tmp-name (tramp--test-make-temp-name nil quoted))
5214 (default-directory tramp-test-temporary-file-directory) 5288 (default-directory ert-remote-temporary-file-directory)
5215 ;; Suppress nasty messages. 5289 ;; Suppress nasty messages.
5216 (inhibit-message t) 5290 (inhibit-message t)
5217 kill-buffer-query-functions) 5291 kill-buffer-query-functions)
@@ -5292,7 +5366,7 @@ INPUT, if non-nil, is a string sent to the process."
5292 (when (and (tramp--test-asynchronous-processes-p) 5366 (when (and (tramp--test-asynchronous-processes-p)
5293 (tramp--test-sh-p) (tramp--test-emacs27-p)) 5367 (tramp--test-sh-p) (tramp--test-emacs27-p))
5294 (let* ((async-shell-command-width 1024) 5368 (let* ((async-shell-command-width 1024)
5295 (default-directory tramp-test-temporary-file-directory) 5369 (default-directory ert-remote-temporary-file-directory)
5296 (cols (ignore-errors 5370 (cols (ignore-errors
5297 (read (tramp--test-shell-command-to-string-asynchronously 5371 (read (tramp--test-shell-command-to-string-asynchronously
5298 "tput cols"))))) 5372 "tput cols")))))
@@ -5344,7 +5418,7 @@ INPUT, if non-nil, is a string sent to the process."
5344 ;; We check both the local and remote case, in order to guarantee 5418 ;; We check both the local and remote case, in order to guarantee
5345 ;; that they behave similar. 5419 ;; that they behave similar.
5346 (dolist (default-directory 5420 (dolist (default-directory
5347 `(,temporary-file-directory ,tramp-test-temporary-file-directory)) 5421 `(,temporary-file-directory ,ert-remote-temporary-file-directory))
5348 ;; These are the possible values of `shell-command-dont-erase-buffer'. 5422 ;; These are the possible values of `shell-command-dont-erase-buffer'.
5349 ;; `random' is taken as non-nil value without special meaning. 5423 ;; `random' is taken as non-nil value without special meaning.
5350 (dolist (shell-command-dont-erase-buffer 5424 (dolist (shell-command-dont-erase-buffer
@@ -5444,7 +5518,7 @@ INPUT, if non-nil, is a string sent to the process."
5444 (and (tramp--test-asynchronous-processes-p) 5518 (and (tramp--test-asynchronous-processes-p)
5445 '(tramp--test-shell-command-to-string-asynchronously)))) 5519 '(tramp--test-shell-command-to-string-asynchronously))))
5446 5520
5447 (let ((default-directory tramp-test-temporary-file-directory) 5521 (let ((default-directory ert-remote-temporary-file-directory)
5448 (shell-file-name "/bin/sh") 5522 (shell-file-name "/bin/sh")
5449 (envvar (concat "VAR_" (upcase (md5 (current-time-string))))) 5523 (envvar (concat "VAR_" (upcase (md5 (current-time-string)))))
5450 kill-buffer-query-functions) 5524 kill-buffer-query-functions)
@@ -5535,7 +5609,7 @@ Use direct async.")
5535 (skip-unless (not (tramp--test-crypt-p))) 5609 (skip-unless (not (tramp--test-crypt-p)))
5536 5610
5537 ;; We force a reconnect, in order to have a clean environment. 5611 ;; We force a reconnect, in order to have a clean environment.
5538 (dolist (dir `(,tramp-test-temporary-file-directory 5612 (dolist (dir `(,ert-remote-temporary-file-directory
5539 "/mock:localhost#11111:" "/mock:localhost#22222:")) 5613 "/mock:localhost#11111:" "/mock:localhost#22222:"))
5540 (tramp-cleanup-connection 5614 (tramp-cleanup-connection
5541 (tramp-dissect-file-name dir) 'keep-debug 'keep-password)) 5615 (tramp-dissect-file-name dir) 'keep-debug 'keep-password))
@@ -5567,9 +5641,9 @@ Use direct async.")
5567 :tags '(:expensive-test) 5641 :tags '(:expensive-test)
5568 (skip-unless (tramp--test-enabled)) 5642 (skip-unless (tramp--test-enabled))
5569 ;; Since Emacs 27.1. 5643 ;; Since Emacs 27.1.
5570 (skip-unless (fboundp 'with-connection-local-variables)) 5644 (skip-unless (macrop 'with-connection-local-variables))
5571 5645
5572 (let* ((default-directory tramp-test-temporary-file-directory) 5646 (let* ((default-directory ert-remote-temporary-file-directory)
5573 (tmp-name1 (tramp--test-make-temp-name)) 5647 (tmp-name1 (tramp--test-make-temp-name))
5574 (tmp-name2 (expand-file-name "foo" tmp-name1)) 5648 (tmp-name2 (expand-file-name "foo" tmp-name1))
5575 (enable-local-variables :all) 5649 (enable-local-variables :all)
@@ -5583,6 +5657,8 @@ Use direct async.")
5583 (should (file-directory-p tmp-name1)) 5657 (should (file-directory-p tmp-name1))
5584 5658
5585 ;; `local-variable' is buffer-local due to explicit setting. 5659 ;; `local-variable' is buffer-local due to explicit setting.
5660 ;; We need `with-no-warnings', because `defvar-local' is not
5661 ;; called at toplevel.
5586 (with-no-warnings 5662 (with-no-warnings
5587 (defvar-local local-variable 'buffer)) 5663 (defvar-local local-variable 'buffer))
5588 (with-temp-buffer 5664 (with-temp-buffer
@@ -5634,7 +5710,7 @@ Use direct async.")
5634 (when (tramp--test-adb-p) 5710 (when (tramp--test-adb-p)
5635 (skip-unless (tramp--test-emacs27-p))) 5711 (skip-unless (tramp--test-emacs27-p)))
5636 5712
5637 (let ((default-directory tramp-test-temporary-file-directory) 5713 (let ((default-directory ert-remote-temporary-file-directory)
5638 explicit-shell-file-name kill-buffer-query-functions 5714 explicit-shell-file-name kill-buffer-query-functions
5639 connection-local-profile-alist connection-local-criteria-alist) 5715 connection-local-profile-alist connection-local-criteria-alist)
5640 (unwind-protect 5716 (unwind-protect
@@ -5684,7 +5760,7 @@ Use direct async.")
5684 (skip-unless (fboundp 'exec-path)) 5760 (skip-unless (fboundp 'exec-path))
5685 5761
5686 (let ((tmp-name (tramp--test-make-temp-name)) 5762 (let ((tmp-name (tramp--test-make-temp-name))
5687 (default-directory tramp-test-temporary-file-directory)) 5763 (default-directory ert-remote-temporary-file-directory))
5688 (unwind-protect 5764 (unwind-protect
5689 (progn 5765 (progn
5690 (should (consp (with-no-warnings (exec-path)))) 5766 (should (consp (with-no-warnings (exec-path))))
@@ -5729,7 +5805,7 @@ Use direct async.")
5729 (skip-unless (fboundp 'exec-path)) 5805 (skip-unless (fboundp 'exec-path))
5730 5806
5731 (let* ((tmp-name (tramp--test-make-temp-name)) 5807 (let* ((tmp-name (tramp--test-make-temp-name))
5732 (default-directory tramp-test-temporary-file-directory) 5808 (default-directory ert-remote-temporary-file-directory)
5733 (orig-exec-path (with-no-warnings (exec-path))) 5809 (orig-exec-path (with-no-warnings (exec-path)))
5734 (tramp-remote-path tramp-remote-path) 5810 (tramp-remote-path tramp-remote-path)
5735 (orig-tramp-remote-path tramp-remote-path) 5811 (orig-tramp-remote-path tramp-remote-path)
@@ -5796,7 +5872,7 @@ Use direct async.")
5796 ;; order to establish the connection prior running an asynchronous 5872 ;; order to establish the connection prior running an asynchronous
5797 ;; process. 5873 ;; process.
5798 (let* ((default-directory 5874 (let* ((default-directory
5799 (file-truename tramp-test-temporary-file-directory)) 5875 (file-truename ert-remote-temporary-file-directory))
5800 (tmp-name1 (tramp--test-make-temp-name nil quoted)) 5876 (tmp-name1 (tramp--test-make-temp-name nil quoted))
5801 (tmp-name2 (expand-file-name "foo" tmp-name1)) 5877 (tmp-name2 (expand-file-name "foo" tmp-name1))
5802 (tramp-remote-process-environment tramp-remote-process-environment) 5878 (tramp-remote-process-environment tramp-remote-process-environment)
@@ -5900,7 +5976,7 @@ Use direct async.")
5900 (if quoted #'tramp-compat-file-name-quote #'identity) 5976 (if quoted #'tramp-compat-file-name-quote #'identity)
5901 (expand-file-name 5977 (expand-file-name
5902 (format "#%s#" (file-name-nondirectory tmp-name1)) 5978 (format "#%s#" (file-name-nondirectory tmp-name1))
5903 tramp-test-temporary-file-directory)))))) 5979 ert-remote-temporary-file-directory))))))
5904 5980
5905 ;; Use default `tramp-auto-save-directory' mechanism. 5981 ;; Use default `tramp-auto-save-directory' mechanism.
5906 ;; Ange-FTP doesn't care. 5982 ;; Ange-FTP doesn't care.
@@ -6005,7 +6081,7 @@ Use direct async.")
6005 (if quoted #'tramp-compat-file-name-quote #'identity) 6081 (if quoted #'tramp-compat-file-name-quote #'identity)
6006 (expand-file-name 6082 (expand-file-name
6007 (format "%s~" (file-name-nondirectory tmp-name1)) 6083 (format "%s~" (file-name-nondirectory tmp-name1))
6008 tramp-test-temporary-file-directory))))))) 6084 ert-remote-temporary-file-directory)))))))
6009 6085
6010 (unwind-protect 6086 (unwind-protect
6011 ;; Map `backup-directory-alist'. 6087 ;; Map `backup-directory-alist'.
@@ -6163,7 +6239,9 @@ Use direct async.")
6163 (with-temp-buffer 6239 (with-temp-buffer
6164 (set-visited-file-name tmp-name1) 6240 (set-visited-file-name tmp-name1)
6165 (insert "foo") 6241 (insert "foo")
6166 (save-buffer)) 6242 (should (buffer-modified-p))
6243 (save-buffer)
6244 (should-not (buffer-modified-p)))
6167 (should-not (with-no-warnings (file-locked-p tmp-name1))) 6245 (should-not (with-no-warnings (file-locked-p tmp-name1)))
6168 (with-no-warnings (lock-file tmp-name1)) 6246 (with-no-warnings (lock-file tmp-name1))
6169 (should (eq (with-no-warnings (file-locked-p tmp-name1)) t)) 6247 (should (eq (with-no-warnings (file-locked-p tmp-name1)) t))
@@ -6285,7 +6363,9 @@ Use direct async.")
6285 ;; buffer results in a prompt. 6363 ;; buffer results in a prompt.
6286 (cl-letf (((symbol-function 'yes-or-no-p) 6364 (cl-letf (((symbol-function 'yes-or-no-p)
6287 (lambda (_) (ert-fail "Test failed unexpectedly")))) 6365 (lambda (_) (ert-fail "Test failed unexpectedly"))))
6288 (save-buffer)) 6366 (should (buffer-modified-p))
6367 (save-buffer)
6368 (should-not (buffer-modified-p)))
6289 (should-not (file-locked-p tmp-name)) 6369 (should-not (file-locked-p tmp-name))
6290 6370
6291 ;; For local files, just changing the file 6371 ;; For local files, just changing the file
@@ -6317,7 +6397,9 @@ Use direct async.")
6317 (cl-letf (((symbol-function 'yes-or-no-p) #'tramp--test-always) 6397 (cl-letf (((symbol-function 'yes-or-no-p) #'tramp--test-always)
6318 ((symbol-function 'read-char-choice) 6398 ((symbol-function 'read-char-choice)
6319 (lambda (&rest _) ?y))) 6399 (lambda (&rest _) ?y)))
6320 (save-buffer)) 6400 (should (buffer-modified-p))
6401 (save-buffer)
6402 (should-not (buffer-modified-p)))
6321 (should-not (file-locked-p tmp-name)))) 6403 (should-not (file-locked-p tmp-name))))
6322 6404
6323 ;; Cleanup. 6405 ;; Cleanup.
@@ -6332,7 +6414,7 @@ Use direct async.")
6332 (skip-unless (tramp--test-enabled)) 6414 (skip-unless (tramp--test-enabled))
6333 (skip-unless (not (tramp--test-ange-ftp-p))) 6415 (skip-unless (not (tramp--test-ange-ftp-p)))
6334 6416
6335 (let ((default-directory tramp-test-temporary-file-directory) 6417 (let ((default-directory ert-remote-temporary-file-directory)
6336 tmp-file) 6418 tmp-file)
6337 ;; The remote host shall know a temporary file directory. 6419 ;; The remote host shall know a temporary file directory.
6338 (should (stringp (temporary-file-directory))) 6420 (should (stringp (temporary-file-directory)))
@@ -6379,7 +6461,7 @@ variables, so we check the Emacs version directly."
6379(defun tramp--test-adb-p () 6461(defun tramp--test-adb-p ()
6380 "Check, whether the remote host runs Android. 6462 "Check, whether the remote host runs Android.
6381This requires restrictions of file name syntax." 6463This requires restrictions of file name syntax."
6382 (tramp-adb-file-name-p tramp-test-temporary-file-directory)) 6464 (tramp-adb-file-name-p ert-remote-temporary-file-directory))
6383 6465
6384(defun tramp--test-ange-ftp-p () 6466(defun tramp--test-ange-ftp-p ()
6385 "Check, whether Ange-FTP is used." 6467 "Check, whether Ange-FTP is used."
@@ -6389,7 +6471,7 @@ This requires restrictions of file name syntax."
6389 6471
6390(defun tramp--test-asynchronous-processes-p () 6472(defun tramp--test-asynchronous-processes-p ()
6391 "Whether asynchronous processes tests are run. 6473 "Whether asynchronous processes tests are run.
6392This is used in tests which we dont't want to tag 6474This is used in tests which we don't want to tag
6393`:tramp-asynchronous-processes' completely." 6475`:tramp-asynchronous-processes' completely."
6394 (and 6476 (and
6395 (ert-select-tests 6477 (ert-select-tests
@@ -6402,17 +6484,17 @@ This is used in tests which we dont't want to tag
6402 6484
6403(defun tramp--test-crypt-p () 6485(defun tramp--test-crypt-p ()
6404 "Check, whether the remote directory is crypted." 6486 "Check, whether the remote directory is crypted."
6405 (tramp-crypt-file-name-p tramp-test-temporary-file-directory)) 6487 (tramp-crypt-file-name-p ert-remote-temporary-file-directory))
6406 6488
6407(defun tramp--test-docker-p () 6489(defun tramp--test-docker-p ()
6408 "Check, whether the docker method is used. 6490 "Check, whether the docker method is used.
6409This does not support some special file names." 6491This does not support some special file names."
6410 (string-equal 6492 (string-equal
6411 "docker" (file-remote-p tramp-test-temporary-file-directory 'method))) 6493 "docker" (file-remote-p ert-remote-temporary-file-directory 'method)))
6412 6494
6413(defun tramp--test-expensive-test-p () 6495(defun tramp--test-expensive-test-p ()
6414 "Whether expensive tests are run. 6496 "Whether expensive tests are run.
6415This is used in tests which we dont't want to tag `:expensive' 6497This is used in tests which we don't want to tag `:expensive'
6416completely." 6498completely."
6417 (ert-select-tests 6499 (ert-select-tests
6418 (ert--stats-selector ert--current-run-stats) 6500 (ert--stats-selector ert--current-run-stats)
@@ -6424,7 +6506,7 @@ completely."
6424This does not support globbing characters in file names (yet)." 6506This does not support globbing characters in file names (yet)."
6425 ;; Globbing characters are ??, ?* and ?\[. 6507 ;; Globbing characters are ??, ?* and ?\[.
6426 (string-match-p 6508 (string-match-p
6427 "ftp$" (file-remote-p tramp-test-temporary-file-directory 'method))) 6509 "ftp$" (file-remote-p ert-remote-temporary-file-directory 'method)))
6428 6510
6429(defun tramp--test-fuse-p () 6511(defun tramp--test-fuse-p ()
6430 "Check, whether an FUSE file system isused." 6512 "Check, whether an FUSE file system isused."
@@ -6433,20 +6515,20 @@ This does not support globbing characters in file names (yet)."
6433(defun tramp--test-gdrive-p () 6515(defun tramp--test-gdrive-p ()
6434 "Check, whether the gdrive method is used." 6516 "Check, whether the gdrive method is used."
6435 (string-equal 6517 (string-equal
6436 "gdrive" (file-remote-p tramp-test-temporary-file-directory 'method))) 6518 "gdrive" (file-remote-p ert-remote-temporary-file-directory 'method)))
6437 6519
6438(defun tramp--test-gvfs-p (&optional method) 6520(defun tramp--test-gvfs-p (&optional method)
6439 "Check, whether the remote host runs a GVFS based method. 6521 "Check, whether the remote host runs a GVFS based method.
6440This requires restrictions of file name syntax. 6522This requires restrictions of file name syntax.
6441If optional METHOD is given, it is checked first." 6523If optional METHOD is given, it is checked first."
6442 (or (member method tramp-gvfs-methods) 6524 (or (member method tramp-gvfs-methods)
6443 (tramp-gvfs-file-name-p tramp-test-temporary-file-directory))) 6525 (tramp-gvfs-file-name-p ert-remote-temporary-file-directory)))
6444 6526
6445(defun tramp--test-hpux-p () 6527(defun tramp--test-hpux-p ()
6446 "Check, whether the remote host runs HP-UX. 6528 "Check, whether the remote host runs HP-UX.
6447Several special characters do not work properly there." 6529Several special characters do not work properly there."
6448 ;; We must refill the cache. `file-truename' does it. 6530 ;; We must refill the cache. `file-truename' does it.
6449 (file-truename tramp-test-temporary-file-directory) 6531 (file-truename ert-remote-temporary-file-directory)
6450 (ignore-errors (tramp-check-remote-uname tramp-test-vec "^HP-UX"))) 6532 (ignore-errors (tramp-check-remote-uname tramp-test-vec "^HP-UX")))
6451 6533
6452(defun tramp--test-ksh-p () 6534(defun tramp--test-ksh-p ()
@@ -6454,21 +6536,21 @@ Several special characters do not work properly there."
6454ksh93 makes some strange conversions of non-latin characters into 6536ksh93 makes some strange conversions of non-latin characters into
6455a $'' syntax." 6537a $'' syntax."
6456 ;; We must refill the cache. `file-truename' does it. 6538 ;; We must refill the cache. `file-truename' does it.
6457 (file-truename tramp-test-temporary-file-directory) 6539 (file-truename ert-remote-temporary-file-directory)
6458 (string-match-p 6540 (string-match-p
6459 "ksh$" (tramp-get-connection-property tramp-test-vec "remote-shell" ""))) 6541 "ksh$" (tramp-get-connection-property tramp-test-vec "remote-shell" "")))
6460 6542
6461(defun tramp--test-macos-p () 6543(defun tramp--test-macos-p ()
6462 "Check, whether the remote host runs macOS." 6544 "Check, whether the remote host runs macOS."
6463 ;; We must refill the cache. `file-truename' does it. 6545 ;; We must refill the cache. `file-truename' does it.
6464 (file-truename tramp-test-temporary-file-directory) 6546 (file-truename ert-remote-temporary-file-directory)
6465 (ignore-errors (tramp-check-remote-uname tramp-test-vec "Darwin"))) 6547 (ignore-errors (tramp-check-remote-uname tramp-test-vec "Darwin")))
6466 6548
6467(defun tramp--test-mock-p () 6549(defun tramp--test-mock-p ()
6468 "Check, whether the mock method is used. 6550 "Check, whether the mock method is used.
6469This does not support external Emacs calls." 6551This does not support external Emacs calls."
6470 (string-equal 6552 (string-equal
6471 "mock" (file-remote-p tramp-test-temporary-file-directory 'method))) 6553 "mock" (file-remote-p ert-remote-temporary-file-directory 'method)))
6472 6554
6473(defun tramp--test-out-of-band-p () 6555(defun tramp--test-out-of-band-p ()
6474 "Check, whether an out-of-band method is used." 6556 "Check, whether an out-of-band method is used."
@@ -6477,13 +6559,13 @@ This does not support external Emacs calls."
6477(defun tramp--test-rclone-p () 6559(defun tramp--test-rclone-p ()
6478 "Check, whether the remote host is offered by rclone. 6560 "Check, whether the remote host is offered by rclone.
6479This requires restrictions of file name syntax." 6561This requires restrictions of file name syntax."
6480 (tramp-rclone-file-name-p tramp-test-temporary-file-directory)) 6562 (tramp-rclone-file-name-p ert-remote-temporary-file-directory))
6481 6563
6482(defun tramp--test-rsync-p () 6564(defun tramp--test-rsync-p ()
6483 "Check, whether the rsync method is used. 6565 "Check, whether the rsync method is used.
6484This does not support special file names." 6566This does not support special file names."
6485 (string-equal 6567 (string-equal
6486 "rsync" (file-remote-p tramp-test-temporary-file-directory 'method))) 6568 "rsync" (file-remote-p ert-remote-temporary-file-directory 'method)))
6487 6569
6488(defun tramp--test-sh-p () 6570(defun tramp--test-sh-p ()
6489 "Check, whether the remote host runs a based method from tramp-sh.el." 6571 "Check, whether the remote host runs a based method from tramp-sh.el."
@@ -6497,7 +6579,7 @@ Additionally, ls does not support \"--dired\"."
6497 ;; We must refill the cache. `insert-directory' does it. 6579 ;; We must refill the cache. `insert-directory' does it.
6498 ;; This fails for tramp-crypt.el, so we ignore that. 6580 ;; This fails for tramp-crypt.el, so we ignore that.
6499 (ignore-errors 6581 (ignore-errors
6500 (insert-directory tramp-test-temporary-file-directory "-al")) 6582 (insert-directory ert-remote-temporary-file-directory "-al"))
6501 (not (tramp-get-connection-property tramp-test-vec "ls--dired" nil))))) 6583 (not (tramp-get-connection-property tramp-test-vec "ls--dired" nil)))))
6502 6584
6503(defun tramp--test-share-p () 6585(defun tramp--test-share-p ()
@@ -6505,22 +6587,22 @@ Additionally, ls does not support \"--dired\"."
6505 (and (tramp--test-gvfs-p) 6587 (and (tramp--test-gvfs-p)
6506 (string-match-p 6588 (string-match-p
6507 "^\\(afp\\|davs?\\|smb\\)$" 6589 "^\\(afp\\|davs?\\|smb\\)$"
6508 (file-remote-p tramp-test-temporary-file-directory 'method)))) 6590 (file-remote-p ert-remote-temporary-file-directory 'method))))
6509 6591
6510(defun tramp--test-sshfs-p () 6592(defun tramp--test-sshfs-p ()
6511 "Check, whether the remote host is offered by sshfs. 6593 "Check, whether the remote host is offered by sshfs.
6512This requires restrictions of file name syntax." 6594This requires restrictions of file name syntax."
6513 (tramp-sshfs-file-name-p tramp-test-temporary-file-directory)) 6595 (tramp-sshfs-file-name-p ert-remote-temporary-file-directory))
6514 6596
6515(defun tramp--test-sudoedit-p () 6597(defun tramp--test-sudoedit-p ()
6516 "Check, whether the sudoedit method is used." 6598 "Check, whether the sudoedit method is used."
6517 (tramp-sudoedit-file-name-p tramp-test-temporary-file-directory)) 6599 (tramp-sudoedit-file-name-p ert-remote-temporary-file-directory))
6518 6600
6519(defun tramp--test-telnet-p () 6601(defun tramp--test-telnet-p ()
6520 "Check, whether the telnet method is used. 6602 "Check, whether the telnet method is used.
6521This does not support special file names." 6603This does not support special file names."
6522 (string-equal 6604 (string-equal
6523 "telnet" (file-remote-p tramp-test-temporary-file-directory 'method))) 6605 "telnet" (file-remote-p ert-remote-temporary-file-directory 'method)))
6524 6606
6525(defun tramp--test-windows-nt-p () 6607(defun tramp--test-windows-nt-p ()
6526 "Check, whether the locale host runs MS Windows." 6608 "Check, whether the locale host runs MS Windows."
@@ -6541,7 +6623,7 @@ This requires restrictions of file name syntax."
6541(defun tramp--test-smb-p () 6623(defun tramp--test-smb-p ()
6542 "Check, whether the locale or remote host runs MS Windows. 6624 "Check, whether the locale or remote host runs MS Windows.
6543This requires restrictions of file name syntax." 6625This requires restrictions of file name syntax."
6544 (tramp-smb-file-name-p tramp-test-temporary-file-directory)) 6626 (tramp-smb-file-name-p ert-remote-temporary-file-directory))
6545 6627
6546(defun tramp--test-supports-processes-p () 6628(defun tramp--test-supports-processes-p ()
6547 "Return whether the method under test supports external processes." 6629 "Return whether the method under test supports external processes."
@@ -6557,7 +6639,7 @@ This requires restrictions of file name syntax."
6557 (and 6639 (and
6558 (tramp--test-gvfs-p) 6640 (tramp--test-gvfs-p)
6559 (string-match-p 6641 (string-match-p
6560 "ftp" (file-remote-p tramp-test-temporary-file-directory 'method))))) 6642 "ftp" (file-remote-p ert-remote-temporary-file-directory 'method)))))
6561 6643
6562(defun tramp--test-check-files (&rest files) 6644(defun tramp--test-check-files (&rest files)
6563 "Run a simple but comprehensive test over every file in FILES." 6645 "Run a simple but comprehensive test over every file in FILES."
@@ -6568,8 +6650,9 @@ This requires restrictions of file name syntax."
6568 ;; We must use `file-truename' for the temporary directory, 6650 ;; We must use `file-truename' for the temporary directory,
6569 ;; because it could be located on a symlinked directory. This 6651 ;; because it could be located on a symlinked directory. This
6570 ;; would let the test fail. 6652 ;; would let the test fail.
6571 (let* ((tramp-test-temporary-file-directory 6653 (let* ((ert-remote-temporary-file-directory
6572 (file-truename tramp-test-temporary-file-directory)) 6654 (file-truename ert-remote-temporary-file-directory))
6655 (tramp-fuse-remove-hidden-files t)
6573 (tmp-name1 (tramp--test-make-temp-name nil quoted)) 6656 (tmp-name1 (tramp--test-make-temp-name nil quoted))
6574 (tmp-name2 (tramp--test-make-temp-name 'local quoted)) 6657 (tmp-name2 (tramp--test-make-temp-name 'local quoted))
6575 (files 6658 (files
@@ -6743,7 +6826,7 @@ This requires restrictions of file name syntax."
6743 6826
6744 (delete-file file2) 6827 (delete-file file2)
6745 (should-not (file-exists-p file2)) 6828 (should-not (file-exists-p file2))
6746 (delete-directory file1) 6829 (delete-directory file1 'recursive)
6747 (should-not (file-exists-p file1)))) 6830 (should-not (file-exists-p file1))))
6748 6831
6749 ;; Check, that environment variables are set correctly. 6832 ;; Check, that environment variables are set correctly.
@@ -6755,7 +6838,7 @@ This requires restrictions of file name syntax."
6755 (dolist (elt files) 6838 (dolist (elt files)
6756 (let ((envvar (concat "VAR_" (upcase (md5 elt)))) 6839 (let ((envvar (concat "VAR_" (upcase (md5 elt))))
6757 (elt (encode-coding-string elt coding-system-for-read)) 6840 (elt (encode-coding-string elt coding-system-for-read))
6758 (default-directory tramp-test-temporary-file-directory) 6841 (default-directory ert-remote-temporary-file-directory)
6759 (process-environment process-environment)) 6842 (process-environment process-environment))
6760 (setenv envvar elt) 6843 (setenv envvar elt)
6761 ;; The value of PS1 could confuse Tramp's detection 6844 ;; The value of PS1 could confuse Tramp's detection
@@ -6853,12 +6936,12 @@ Use the \"stat\" command."
6853 (skip-unless (tramp--test-sh-p)) 6936 (skip-unless (tramp--test-sh-p))
6854 (skip-unless (not (tramp--test-rsync-p))) 6937 (skip-unless (not (tramp--test-rsync-p)))
6855 ;; We cannot use `tramp-test-vec', because this fails during compilation. 6938 ;; We cannot use `tramp-test-vec', because this fails during compilation.
6856 (with-parsed-tramp-file-name tramp-test-temporary-file-directory nil 6939 (with-parsed-tramp-file-name ert-remote-temporary-file-directory nil
6857 (skip-unless (tramp-get-remote-stat v))) 6940 (skip-unless (tramp-get-remote-stat v)))
6858 6941
6859 (let ((tramp-connection-properties 6942 (let ((tramp-connection-properties
6860 (append 6943 (append
6861 `((,(regexp-quote (file-remote-p tramp-test-temporary-file-directory)) 6944 `((,(regexp-quote (file-remote-p ert-remote-temporary-file-directory))
6862 "perl" nil)) 6945 "perl" nil))
6863 tramp-connection-properties))) 6946 tramp-connection-properties)))
6864 (tramp--test-special-characters))) 6947 (tramp--test-special-characters)))
@@ -6872,15 +6955,15 @@ Use the \"perl\" command."
6872 (skip-unless (tramp--test-sh-p)) 6955 (skip-unless (tramp--test-sh-p))
6873 (skip-unless (not (tramp--test-rsync-p))) 6956 (skip-unless (not (tramp--test-rsync-p)))
6874 ;; We cannot use `tramp-test-vec', because this fails during compilation. 6957 ;; We cannot use `tramp-test-vec', because this fails during compilation.
6875 (with-parsed-tramp-file-name tramp-test-temporary-file-directory nil 6958 (with-parsed-tramp-file-name ert-remote-temporary-file-directory nil
6876 (skip-unless (tramp-get-remote-perl v))) 6959 (skip-unless (tramp-get-remote-perl v)))
6877 6960
6878 (let ((tramp-connection-properties 6961 (let ((tramp-connection-properties
6879 (append 6962 (append
6880 `((,(regexp-quote (file-remote-p tramp-test-temporary-file-directory)) 6963 `((,(regexp-quote (file-remote-p ert-remote-temporary-file-directory))
6881 "stat" nil) 6964 "stat" nil)
6882 ;; See `tramp-sh-handle-file-truename'. 6965 ;; See `tramp-sh-handle-file-truename'.
6883 (,(regexp-quote (file-remote-p tramp-test-temporary-file-directory)) 6966 (,(regexp-quote (file-remote-p ert-remote-temporary-file-directory))
6884 "readlink" nil)) 6967 "readlink" nil))
6885 tramp-connection-properties))) 6968 tramp-connection-properties)))
6886 (tramp--test-special-characters))) 6969 (tramp--test-special-characters)))
@@ -6896,12 +6979,12 @@ Use the \"ls\" command."
6896 6979
6897 (let ((tramp-connection-properties 6980 (let ((tramp-connection-properties
6898 (append 6981 (append
6899 `((,(regexp-quote (file-remote-p tramp-test-temporary-file-directory)) 6982 `((,(regexp-quote (file-remote-p ert-remote-temporary-file-directory))
6900 "perl" nil) 6983 "perl" nil)
6901 (,(regexp-quote (file-remote-p tramp-test-temporary-file-directory)) 6984 (,(regexp-quote (file-remote-p ert-remote-temporary-file-directory))
6902 "stat" nil) 6985 "stat" nil)
6903 ;; See `tramp-sh-handle-file-truename'. 6986 ;; See `tramp-sh-handle-file-truename'.
6904 (,(regexp-quote (file-remote-p tramp-test-temporary-file-directory)) 6987 (,(regexp-quote (file-remote-p ert-remote-temporary-file-directory))
6905 "readlink" nil)) 6988 "readlink" nil))
6906 tramp-connection-properties))) 6989 tramp-connection-properties)))
6907 (tramp--test-special-characters))) 6990 (tramp--test-special-characters)))
@@ -6980,12 +7063,12 @@ Use the \"stat\" command."
6980 (skip-unless (not (tramp--test-ksh-p))) 7063 (skip-unless (not (tramp--test-ksh-p)))
6981 (skip-unless (not (tramp--test-crypt-p))) 7064 (skip-unless (not (tramp--test-crypt-p)))
6982 ;; We cannot use `tramp-test-vec', because this fails during compilation. 7065 ;; We cannot use `tramp-test-vec', because this fails during compilation.
6983 (with-parsed-tramp-file-name tramp-test-temporary-file-directory nil 7066 (with-parsed-tramp-file-name ert-remote-temporary-file-directory nil
6984 (skip-unless (tramp-get-remote-stat v))) 7067 (skip-unless (tramp-get-remote-stat v)))
6985 7068
6986 (let ((tramp-connection-properties 7069 (let ((tramp-connection-properties
6987 (append 7070 (append
6988 `((,(regexp-quote (file-remote-p tramp-test-temporary-file-directory)) 7071 `((,(regexp-quote (file-remote-p ert-remote-temporary-file-directory))
6989 "perl" nil)) 7072 "perl" nil))
6990 tramp-connection-properties))) 7073 tramp-connection-properties)))
6991 (tramp--test-utf8))) 7074 (tramp--test-utf8)))
@@ -7003,15 +7086,15 @@ Use the \"perl\" command."
7003 (skip-unless (not (tramp--test-ksh-p))) 7086 (skip-unless (not (tramp--test-ksh-p)))
7004 (skip-unless (not (tramp--test-crypt-p))) 7087 (skip-unless (not (tramp--test-crypt-p)))
7005 ;; We cannot use `tramp-test-vec', because this fails during compilation. 7088 ;; We cannot use `tramp-test-vec', because this fails during compilation.
7006 (with-parsed-tramp-file-name tramp-test-temporary-file-directory nil 7089 (with-parsed-tramp-file-name ert-remote-temporary-file-directory nil
7007 (skip-unless (tramp-get-remote-perl v))) 7090 (skip-unless (tramp-get-remote-perl v)))
7008 7091
7009 (let ((tramp-connection-properties 7092 (let ((tramp-connection-properties
7010 (append 7093 (append
7011 `((,(regexp-quote (file-remote-p tramp-test-temporary-file-directory)) 7094 `((,(regexp-quote (file-remote-p ert-remote-temporary-file-directory))
7012 "stat" nil) 7095 "stat" nil)
7013 ;; See `tramp-sh-handle-file-truename'. 7096 ;; See `tramp-sh-handle-file-truename'.
7014 (,(regexp-quote (file-remote-p tramp-test-temporary-file-directory)) 7097 (,(regexp-quote (file-remote-p ert-remote-temporary-file-directory))
7015 "readlink" nil)) 7098 "readlink" nil))
7016 tramp-connection-properties))) 7099 tramp-connection-properties)))
7017 (tramp--test-utf8))) 7100 (tramp--test-utf8)))
@@ -7031,12 +7114,12 @@ Use the \"ls\" command."
7031 7114
7032 (let ((tramp-connection-properties 7115 (let ((tramp-connection-properties
7033 (append 7116 (append
7034 `((,(regexp-quote (file-remote-p tramp-test-temporary-file-directory)) 7117 `((,(regexp-quote (file-remote-p ert-remote-temporary-file-directory))
7035 "perl" nil) 7118 "perl" nil)
7036 (,(regexp-quote (file-remote-p tramp-test-temporary-file-directory)) 7119 (,(regexp-quote (file-remote-p ert-remote-temporary-file-directory))
7037 "stat" nil) 7120 "stat" nil)
7038 ;; See `tramp-sh-handle-file-truename'. 7121 ;; See `tramp-sh-handle-file-truename'.
7039 (,(regexp-quote (file-remote-p tramp-test-temporary-file-directory)) 7122 (,(regexp-quote (file-remote-p ert-remote-temporary-file-directory))
7040 "readlink" nil)) 7123 "readlink" nil))
7041 tramp-connection-properties))) 7124 tramp-connection-properties)))
7042 (tramp--test-utf8))) 7125 (tramp--test-utf8)))
@@ -7049,14 +7132,12 @@ Use the \"ls\" command."
7049 7132
7050 ;; `file-system-info' exists since Emacs 27.1. We don't want to see 7133 ;; `file-system-info' exists since Emacs 27.1. We don't want to see
7051 ;; compiler warnings for older Emacsen. 7134 ;; compiler warnings for older Emacsen.
7052 (let ((fsi (with-no-warnings 7135 (when-let ((fsi (with-no-warnings
7053 (file-system-info tramp-test-temporary-file-directory)))) 7136 (file-system-info ert-remote-temporary-file-directory))))
7054 (skip-unless fsi) 7137 (should (consp fsi))
7055 (should (and (consp fsi) 7138 (should (= (length fsi) 3))
7056 (= (length fsi) 3) 7139 (dotimes (i (length fsi))
7057 (numberp (nth 0 fsi)) 7140 (should (natnump (or (nth i fsi) 0))))))
7058 (numberp (nth 1 fsi))
7059 (numberp (nth 2 fsi))))))
7060 7141
7061;; `tramp-test44-asynchronous-requests' could be blocked. So we set a 7142;; `tramp-test44-asynchronous-requests' could be blocked. So we set a
7062;; timeout of 300 seconds, and we send a SIGUSR1 signal after 300 7143;; timeout of 300 seconds, and we send a SIGUSR1 signal after 300
@@ -7307,7 +7388,7 @@ process sentinels. They shall not disturb each other."
7307 ;; default handler. 7388 ;; default handler.
7308 (skip-unless (not (tramp--test-emacs29-p))) 7389 (skip-unless (not (tramp--test-emacs29-p)))
7309 7390
7310 (let ((default-directory tramp-test-temporary-file-directory) 7391 (let ((default-directory ert-remote-temporary-file-directory)
7311 (tmp-name (tramp--test-make-temp-name))) 7392 (tmp-name (tramp--test-make-temp-name)))
7312 (write-region "foo" nil tmp-name) 7393 (write-region "foo" nil tmp-name)
7313 (dired default-directory) 7394 (dired default-directory)
@@ -7328,7 +7409,7 @@ process sentinels. They shall not disturb each other."
7328 ;; default handler. 7409 ;; default handler.
7329 (skip-unless (not (tramp--test-emacs29-p))) 7410 (skip-unless (not (tramp--test-emacs29-p)))
7330 7411
7331 (let ((default-directory tramp-test-temporary-file-directory) 7412 (let ((default-directory ert-remote-temporary-file-directory)
7332 (tmp-name (tramp--test-make-temp-name))) 7413 (tmp-name (tramp--test-make-temp-name)))
7333 (make-directory tmp-name) 7414 (make-directory tmp-name)
7334 (dired default-directory) 7415 (dired default-directory)
@@ -7373,17 +7454,17 @@ process sentinels. They shall not disturb each other."
7373 (tramp-cleanup-connection tramp-test-vec 'keep-debug) 7454 (tramp-cleanup-connection tramp-test-vec 'keep-debug)
7374 ;; We don't want to invalidate the password. 7455 ;; We don't want to invalidate the password.
7375 (setq mocked-input `(,(copy-sequence pass))) 7456 (setq mocked-input `(,(copy-sequence pass)))
7376 (should (file-exists-p tramp-test-temporary-file-directory)) 7457 (should (file-exists-p ert-remote-temporary-file-directory))
7377 7458
7378 ;; Don't entering a password returns in error. 7459 ;; Don't entering a password returns in error.
7379 (tramp-cleanup-connection tramp-test-vec 'keep-debug) 7460 (tramp-cleanup-connection tramp-test-vec 'keep-debug)
7380 (setq mocked-input nil) 7461 (setq mocked-input nil)
7381 (should-error (file-exists-p tramp-test-temporary-file-directory)) 7462 (should-error (file-exists-p ert-remote-temporary-file-directory))
7382 7463
7383 ;; A wrong password doesn't work either. 7464 ;; A wrong password doesn't work either.
7384 (tramp-cleanup-connection tramp-test-vec 'keep-debug) 7465 (tramp-cleanup-connection tramp-test-vec 'keep-debug)
7385 (setq mocked-input `(,(concat pass pass))) 7466 (setq mocked-input `(,(concat pass pass)))
7386 (should-error (file-exists-p tramp-test-temporary-file-directory)) 7467 (should-error (file-exists-p ert-remote-temporary-file-directory))
7387 7468
7388 ;; Reading password from auth-source works. We use the netrc 7469 ;; Reading password from auth-source works. We use the netrc
7389 ;; backend; the other backends shall behave similar. 7470 ;; backend; the other backends shall behave similar.
@@ -7396,9 +7477,9 @@ process sentinels. They shall not disturb each other."
7396 :prefix "tramp-test" :suffix "" 7477 :prefix "tramp-test" :suffix ""
7397 :text (format 7478 :text (format
7398 "machine %s port mock password %s" 7479 "machine %s port mock password %s"
7399 (file-remote-p tramp-test-temporary-file-directory 'host) pass) 7480 (file-remote-p ert-remote-temporary-file-directory 'host) pass)
7400 (let ((auth-sources `(,netrc-file))) 7481 (let ((auth-sources `(,netrc-file)))
7401 (should (file-exists-p tramp-test-temporary-file-directory))))))))) 7482 (should (file-exists-p ert-remote-temporary-file-directory)))))))))
7402 7483
7403;; This test is inspired by Bug#29163. 7484;; This test is inspired by Bug#29163.
7404(ert-deftest tramp-test47-auto-load () 7485(ert-deftest tramp-test47-auto-load ()
@@ -7414,7 +7495,7 @@ process sentinels. They shall not disturb each other."
7414 ;; Suppress method name check. 7495 ;; Suppress method name check.
7415 "(let ((non-essential t)) \ 7496 "(let ((non-essential t)) \
7416 (message \"Tramp loaded: %%s\" (and (file-remote-p %S) t)))" 7497 (message \"Tramp loaded: %%s\" (and (file-remote-p %S) t)))"
7417 tramp-test-temporary-file-directory))) 7498 ert-remote-temporary-file-directory)))
7418 (should 7499 (should
7419 (string-match-p 7500 (string-match-p
7420 "Tramp loaded: t[\n\r]+" 7501 "Tramp loaded: t[\n\r]+"
@@ -7463,10 +7544,10 @@ process sentinels. They shall not disturb each other."
7463 (dolist (code 7544 (dolist (code
7464 (list 7545 (list
7465 (format 7546 (format
7466 "(expand-file-name %S)" tramp-test-temporary-file-directory) 7547 "(expand-file-name %S)" ert-remote-temporary-file-directory)
7467 (format 7548 (format
7468 "(let ((default-directory %S)) (expand-file-name %S))" 7549 "(let ((default-directory %S)) (expand-file-name %S))"
7469 tramp-test-temporary-file-directory 7550 ert-remote-temporary-file-directory
7470 temporary-file-directory))) 7551 temporary-file-directory)))
7471 (should-not 7552 (should-not
7472 (string-match-p 7553 (string-match-p
diff --git a/test/lisp/progmodes/python-tests.el b/test/lisp/progmodes/python-tests.el
index 01b233cc425..8db0a07170d 100644
--- a/test/lisp/progmodes/python-tests.el
+++ b/test/lisp/progmodes/python-tests.el
@@ -95,6 +95,19 @@ STRING, it is skipped so the next STRING occurrence is selected."
95 found-point 95 found-point
96 (and restore-point (goto-char starting-point))))) 96 (and restore-point (goto-char starting-point)))))
97 97
98(defun python-tests-assert-faces (content faces)
99 "Assert that font faces for CONTENT are equal to FACES."
100 (python-tests-with-temp-buffer content
101 (font-lock-ensure nil nil)
102 (should (equal faces (python-tests-get-buffer-faces)))))
103
104(defun python-tests-get-buffer-faces ()
105 "Return a list of (position . face) for each face change positions."
106 (cl-loop for pos = (point-min)
107 then (next-single-property-change pos 'face)
108 while pos
109 collect (cons pos (get-text-property pos 'face))))
110
98(defun python-tests-self-insert (char-or-str) 111(defun python-tests-self-insert (char-or-str)
99 "Call `self-insert-command' for chars in CHAR-OR-STR." 112 "Call `self-insert-command' for chars in CHAR-OR-STR."
100 (let ((chars 113 (let ((chars
@@ -201,6 +214,172 @@ aliqua."
201 (should (string= (buffer-string) "\"\"")) 214 (should (string= (buffer-string) "\"\""))
202 (should (null (nth 3 (syntax-ppss)))))) 215 (should (null (nth 3 (syntax-ppss))))))
203 216
217(ert-deftest python-font-lock-keywords-level-1-1 ()
218 (python-tests-assert-faces
219 "def func():"
220 '((1 . font-lock-keyword-face) (4)
221 (5 . font-lock-function-name-face) (9))))
222
223(ert-deftest python-font-lock-keywords-level-1-2 ()
224 "Invalid function name should not be font-locked."
225 (python-tests-assert-faces
226 "def 1func():"
227 '((1 . font-lock-keyword-face) (4))))
228
229(ert-deftest python-font-lock-assignment-statement-1 ()
230 (python-tests-assert-faces
231 "a, b, c = 1, 2, 3"
232 '((1 . font-lock-variable-name-face) (2)
233 (4 . font-lock-variable-name-face) (5)
234 (7 . font-lock-variable-name-face) (8))))
235
236(ert-deftest python-font-lock-assignment-statement-2 ()
237 (python-tests-assert-faces
238 "a, *b, c = 1, 2, 3, 4, 5"
239 '((1 . font-lock-variable-name-face) (2)
240 (5 . font-lock-variable-name-face) (6)
241 (8 . font-lock-variable-name-face) (9))))
242
243(ert-deftest python-font-lock-assignment-statement-3 ()
244 (python-tests-assert-faces
245 "[a, b] = (1, 2)"
246 '((1)
247 (2 . font-lock-variable-name-face) (3)
248 (5 . font-lock-variable-name-face) (6))))
249
250(ert-deftest python-font-lock-assignment-statement-4 ()
251 (python-tests-assert-faces
252 "(l[1], l[2]) = (10, 11)"
253 '((1)
254 (2 . font-lock-variable-name-face) (3)
255 (8 . font-lock-variable-name-face) (9))))
256
257(ert-deftest python-font-lock-assignment-statement-5 ()
258 (python-tests-assert-faces
259 "(a, b, c, *d) = *x, y = 5, 6, 7, 8, 9"
260 '((1)
261 (2 . font-lock-variable-name-face) (3)
262 (5 . font-lock-variable-name-face) (6)
263 (8 . font-lock-variable-name-face) (9)
264 (12 . font-lock-variable-name-face) (13)
265 (18 . font-lock-variable-name-face) (19)
266 (21 . font-lock-variable-name-face) (22))))
267
268(ert-deftest python-font-lock-assignment-statement-6 ()
269 (python-tests-assert-faces
270 "(a,) = 'foo',"
271 '((1)
272 (2 . font-lock-variable-name-face) (3)
273 (8 . font-lock-string-face) (13))))
274
275(ert-deftest python-font-lock-assignment-statement-7 ()
276 (python-tests-assert-faces
277 "(*a,) = ['foo', 'bar', 'baz']"
278 '((1)
279 (3 . font-lock-variable-name-face) (4)
280 (10 . font-lock-string-face) (15)
281 (17 . font-lock-string-face) (22)
282 (24 . font-lock-string-face) (29))))
283
284(ert-deftest python-font-lock-assignment-statement-8 ()
285 (python-tests-assert-faces
286 "d = D('a', ['b'], 'c')"
287 '((1 . font-lock-variable-name-face) (2)
288 (7 . font-lock-string-face) (10)
289 (13 . font-lock-string-face) (16)
290 (19 . font-lock-string-face) (22))))
291
292(ert-deftest python-font-lock-assignment-statement-9 ()
293 (python-tests-assert-faces
294 "d.x, d.y[0], *d.z = 'a', 'b', 'c', 'd', 'e'"
295 '((1)
296 (3 . font-lock-variable-name-face) (4)
297 (8 . font-lock-variable-name-face) (9)
298 (17 . font-lock-variable-name-face) (18)
299 (21 . font-lock-string-face) (24)
300 (26 . font-lock-string-face) (29)
301 (31 . font-lock-string-face) (34)
302 (36 . font-lock-string-face) (39)
303 (41 . font-lock-string-face))))
304
305(ert-deftest python-font-lock-assignment-statement-10 ()
306 (python-tests-assert-faces
307 "a: int = 5"
308 '((1 . font-lock-variable-name-face) (2)
309 (4 . font-lock-builtin-face) (7))))
310
311(ert-deftest python-font-lock-assignment-statement-11 ()
312 (python-tests-assert-faces
313 "b: Tuple[Optional[int], Union[Sequence[str], str]] = (None, 'foo')"
314 '((1 . font-lock-variable-name-face) (2)
315 (19 . font-lock-builtin-face) (22)
316 (40 . font-lock-builtin-face) (43)
317 (46 . font-lock-builtin-face) (49)
318 (55 . font-lock-constant-face) (59)
319 (61 . font-lock-string-face) (66))))
320
321(ert-deftest python-font-lock-assignment-statement-12 ()
322 (python-tests-assert-faces
323 "c: Collection = {1, 2, 3}"
324 '((1 . font-lock-variable-name-face) (2))))
325
326(ert-deftest python-font-lock-assignment-statement-13 ()
327 (python-tests-assert-faces
328 "d: Mapping[int, str] = {1: 'bar', 2: 'baz'}"
329 '((1 . font-lock-variable-name-face) (2)
330 (12 . font-lock-builtin-face) (15)
331 (17 . font-lock-builtin-face) (20)
332 (28 . font-lock-string-face) (33)
333 (38 . font-lock-string-face) (43))))
334
335(ert-deftest python-font-lock-assignment-statement-14 ()
336 (python-tests-assert-faces
337 "(a) = 5; (b) = 6"
338 '((1)
339 (2 . font-lock-variable-name-face) (3)
340 (11 . font-lock-variable-name-face) (12))))
341
342(ert-deftest python-font-lock-assignment-statement-15 ()
343 (python-tests-assert-faces
344 "[a] = 5,; [b] = 6,"
345 '((1)
346 (2 . font-lock-variable-name-face) (3)
347 (12 . font-lock-variable-name-face) (13))))
348
349(ert-deftest python-font-lock-assignment-statement-16 ()
350 (python-tests-assert-faces
351 "[*a] = 5, 6; [*b] = 7, 8"
352 '((1)
353 (3 . font-lock-variable-name-face) (4)
354 (16 . font-lock-variable-name-face) (17))))
355
356(ert-deftest python-font-lock-assignment-statement-17 ()
357 (python-tests-assert-faces
358 "(a) = (b) = 1"
359 `((1)
360 (2 . font-lock-variable-name-face) (3)
361 (8 . font-lock-variable-name-face) (9))))
362
363(ert-deftest python-font-lock-assignment-statement-18 ()
364 (python-tests-assert-faces
365 "CustomInt = int
366
367def f(x: CustomInt) -> CustomInt:
368 y = x + 1
369 ys: Sequence[CustomInt] = [y, y + 1]
370 res: CustomInt = sum(ys) + 1
371 return res
372"
373 '((1 . font-lock-variable-name-face) (10)
374 (13 . font-lock-builtin-face) (16)
375 (18 . font-lock-keyword-face) (21)
376 (22 . font-lock-function-name-face) (23)
377 (56 . font-lock-variable-name-face) (57)
378 (70 . font-lock-variable-name-face) (72)
379 (111 . font-lock-variable-name-face) (114)
380 (128 . font-lock-builtin-face) (131)
381 (144 . font-lock-keyword-face) (150))))
382
204 383
205;;; Indentation 384;;; Indentation
206 385
@@ -1349,6 +1528,31 @@ this is an arbitrarily
1349 (should (string= (buffer-substring-no-properties (point-min) (point-max)) 1528 (should (string= (buffer-substring-no-properties (point-min) (point-max))
1350 expected))))) 1529 expected)))))
1351 1530
1531(ert-deftest python-indent-after-match-block ()
1532 "Test PEP634 match."
1533 (python-tests-with-temp-buffer
1534 "
1535match foo:
1536"
1537 (should (eq (car (python-indent-context)) :no-indent))
1538 (should (= (python-indent-calculate-indentation) 0))
1539 (goto-char (point-max))
1540 (should (eq (car (python-indent-context)) :after-block-start))
1541 (should (= (python-indent-calculate-indentation) 4))))
1542
1543(ert-deftest python-indent-after-case-block ()
1544 "Test PEP634 case."
1545 (python-tests-with-temp-buffer
1546 "
1547match foo:
1548 case 1:
1549"
1550 (should (eq (car (python-indent-context)) :no-indent))
1551 (should (= (python-indent-calculate-indentation) 0))
1552 (goto-char (point-max))
1553 (should (eq (car (python-indent-context)) :after-block-start))
1554 (should (= (python-indent-calculate-indentation) 8))))
1555
1352 1556
1353;;; Filling 1557;;; Filling
1354 1558
@@ -1657,6 +1861,22 @@ class C(object):
1657 (beginning-of-line) 1861 (beginning-of-line)
1658 (point)))))) 1862 (point))))))
1659 1863
1864(ert-deftest python-nav-beginning-of-defun-4 ()
1865 (python-tests-with-temp-buffer
1866 "
1867def \\
1868 a():
1869 return 0
1870"
1871 (python-tests-look-at "return 0")
1872 (should (= (save-excursion
1873 (python-nav-beginning-of-defun)
1874 (point))
1875 (save-excursion
1876 (python-tests-look-at "def \\" -1)
1877 (beginning-of-line)
1878 (point))))))
1879
1660(ert-deftest python-nav-end-of-defun-1 () 1880(ert-deftest python-nav-end-of-defun-1 ()
1661 (python-tests-with-temp-buffer 1881 (python-tests-with-temp-buffer
1662 " 1882 "
@@ -1760,6 +1980,20 @@ def decoratorFunctionWithArguments(arg1, arg2, arg3):
1760 (python-tests-look-at "return wrapped_f") 1980 (python-tests-look-at "return wrapped_f")
1761 (line-beginning-position)))))) 1981 (line-beginning-position))))))
1762 1982
1983(ert-deftest python-nav-end-of-defun-3 ()
1984 (python-tests-with-temp-buffer
1985 "
1986def \\
1987 a():
1988 return 0
1989"
1990 (should (= (save-excursion
1991 (python-tests-look-at "def \\")
1992 (python-nav-end-of-defun)
1993 (point))
1994 (save-excursion
1995 (point-max))))))
1996
1763(ert-deftest python-nav-backward-defun-1 () 1997(ert-deftest python-nav-backward-defun-1 ()
1764 (python-tests-with-temp-buffer 1998 (python-tests-with-temp-buffer
1765 " 1999 "
@@ -1858,6 +2092,18 @@ class A(object):
1858 (should (not (python-nav-backward-defun))) 2092 (should (not (python-nav-backward-defun)))
1859 (should (= point (point)))))) 2093 (should (= point (point))))))
1860 2094
2095(ert-deftest python-nav-backward-defun-4 ()
2096 (python-tests-with-temp-buffer
2097 "
2098def \\
2099 a():
2100 return 0
2101"
2102 (goto-char (point-max))
2103 (should (= (save-excursion (python-nav-backward-defun))
2104 (python-tests-look-at "def \\" -1)))
2105 (should (not (python-nav-backward-defun)))))
2106
1861(ert-deftest python-nav-forward-defun-1 () 2107(ert-deftest python-nav-forward-defun-1 ()
1862 (python-tests-with-temp-buffer 2108 (python-tests-with-temp-buffer
1863 " 2109 "
@@ -1956,6 +2202,18 @@ class A(object):
1956 (should (not (python-nav-forward-defun))) 2202 (should (not (python-nav-forward-defun)))
1957 (should (= point (point)))))) 2203 (should (= point (point))))))
1958 2204
2205(ert-deftest python-nav-forward-defun-4 ()
2206 (python-tests-with-temp-buffer
2207 "
2208def \\
2209 a():
2210 return 0
2211"
2212 (goto-char (point-min))
2213 (should (= (save-excursion (python-nav-forward-defun))
2214 (python-tests-look-at "():")))
2215 (should (not (python-nav-forward-defun)))))
2216
1959(ert-deftest python-nav-beginning-of-statement-1 () 2217(ert-deftest python-nav-beginning-of-statement-1 ()
1960 (python-tests-with-temp-buffer 2218 (python-tests-with-temp-buffer
1961 " 2219 "
diff --git a/test/lisp/shadowfile-tests.el b/test/lisp/shadowfile-tests.el
index 46ab34535d4..e822bc9eb66 100644
--- a/test/lisp/shadowfile-tests.el
+++ b/test/lisp/shadowfile-tests.el
@@ -37,37 +37,9 @@
37 37
38;;; Code: 38;;; Code:
39 39
40(require 'ert)
41(require 'shadowfile)
42(require 'tramp) 40(require 'tramp)
43 41(require 'ert-x)
44;; There is no default value on w32 systems, which could work out of the box. 42(require 'shadowfile)
45(defconst shadow-test-remote-temporary-file-directory
46 (cond
47 ((getenv "REMOTE_TEMPORARY_FILE_DIRECTORY"))
48 ((eq system-type 'windows-nt) null-device)
49 (t (add-to-list
50 'tramp-methods
51 '("mock"
52 (tramp-login-program "sh")
53 (tramp-login-args (("-i")))
54 (tramp-remote-shell "/bin/sh")
55 (tramp-remote-shell-args ("-c"))
56 (tramp-connection-timeout 10)))
57 (add-to-list
58 'tramp-default-host-alist
59 `("\\`mock\\'" nil ,(system-name)))
60 ;; Emacs' Makefile sets $HOME to a nonexistent value. Needed in
61 ;; batch mode only, therefore. `shadow-homedir' cannot be
62 ;; `temporary-directory', because the tests with "~" would fail.
63 (unless (and (null noninteractive) (file-directory-p "~/"))
64 (setenv "HOME" (file-name-unquote temporary-file-directory))
65 (setq shadow-homedir invocation-directory)
66 (add-to-list
67 'tramp-connection-properties
68 `(,(file-remote-p "/mock::") "~" ,invocation-directory)))
69 (format "/mock::%s" temporary-file-directory)))
70 "Temporary directory for Tramp tests.")
71 43
72(setq auth-source-save-behavior nil 44(setq auth-source-save-behavior nil
73 password-cache-expiry nil 45 password-cache-expiry nil
@@ -80,9 +52,8 @@
80 tramp-verbose 0 52 tramp-verbose 0
81 ;; On macOS, `temporary-file-directory' is a symlinked directory. 53 ;; On macOS, `temporary-file-directory' is a symlinked directory.
82 temporary-file-directory (file-truename temporary-file-directory) 54 temporary-file-directory (file-truename temporary-file-directory)
83 shadow-test-remote-temporary-file-directory 55 ert-remote-temporary-file-directory
84 (ignore-errors 56 (ignore-errors (file-truename ert-remote-temporary-file-directory)))
85 (file-truename shadow-test-remote-temporary-file-directory)))
86 57
87;; This should happen on hydra only. 58;; This should happen on hydra only.
88(when (getenv "EMACS_HYDRA_CI") 59(when (getenv "EMACS_HYDRA_CI")
@@ -100,7 +71,7 @@
100 "Reset all `shadowfile' internals." 71 "Reset all `shadowfile' internals."
101 ;; Cleanup Tramp. 72 ;; Cleanup Tramp.
102 (tramp-cleanup-connection 73 (tramp-cleanup-connection
103 (tramp-dissect-file-name shadow-test-remote-temporary-file-directory) t t) 74 (tramp-dissect-file-name ert-remote-temporary-file-directory) t t)
104 ;; Delete auto-saved files. 75 ;; Delete auto-saved files.
105 (with-current-buffer (find-file-noselect shadow-info-file 'nowarn) 76 (with-current-buffer (find-file-noselect shadow-info-file 'nowarn)
106 (ignore-errors (delete-file (make-auto-save-file-name))) 77 (ignore-errors (delete-file (make-auto-save-file-name)))
@@ -135,7 +106,7 @@ a cluster (or site). This is not tested here; it must be
135guaranteed by the originator of a cluster definition." 106guaranteed by the originator of a cluster definition."
136 :tags '(:expensive-test) 107 :tags '(:expensive-test)
137 (skip-unless (not (memq system-type '(windows-nt ms-dos)))) 108 (skip-unless (not (memq system-type '(windows-nt ms-dos))))
138 (skip-unless (file-remote-p shadow-test-remote-temporary-file-directory)) 109 (skip-unless (file-remote-p ert-remote-temporary-file-directory))
139 110
140 (let ((text-quoting-style 'grave) ;; We inspect the *Messages* buffer! 111 (let ((text-quoting-style 'grave) ;; We inspect the *Messages* buffer!
141 (inhibit-message t) 112 (inhibit-message t)
@@ -222,8 +193,7 @@ guaranteed by the originator of a cluster definition."
222 (shadow-cluster-regexp (shadow-get-cluster cluster)) regexp)) 193 (shadow-cluster-regexp (shadow-get-cluster cluster)) regexp))
223 194
224 ;; Redefine the cluster. 195 ;; Redefine the cluster.
225 (setq primary 196 (setq primary (file-remote-p ert-remote-temporary-file-directory)
226 (file-remote-p shadow-test-remote-temporary-file-directory)
227 regexp (shadow-regexp-superquote primary) 197 regexp (shadow-regexp-superquote primary)
228 mocked-input `(,cluster ,primary ,regexp)) 198 mocked-input `(,cluster ,primary ,regexp))
229 (call-interactively #'shadow-define-cluster) 199 (call-interactively #'shadow-define-cluster)
@@ -254,7 +224,7 @@ Per definition, all files are identical on the different hosts of
254a cluster (or site). This is not tested here; it must be 224a cluster (or site). This is not tested here; it must be
255guaranteed by the originator of a cluster definition." 225guaranteed by the originator of a cluster definition."
256 (skip-unless (not (memq system-type '(windows-nt ms-dos)))) 226 (skip-unless (not (memq system-type '(windows-nt ms-dos))))
257 (skip-unless (file-remote-p shadow-test-remote-temporary-file-directory)) 227 (skip-unless (file-remote-p ert-remote-temporary-file-directory))
258 228
259 (let ((shadow-info-file shadow-test-info-file) 229 (let ((shadow-info-file shadow-test-info-file)
260 (shadow-todo-file shadow-test-todo-file) 230 (shadow-todo-file shadow-test-todo-file)
@@ -286,14 +256,14 @@ guaranteed by the originator of a cluster definition."
286 (should (string-equal (system-name) (shadow-site-name primary1))) 256 (should (string-equal (system-name) (shadow-site-name primary1)))
287 (should 257 (should
288 (string-equal 258 (string-equal
289 (file-remote-p shadow-test-remote-temporary-file-directory) 259 (file-remote-p ert-remote-temporary-file-directory)
290 (shadow-name-site 260 (shadow-name-site
291 (file-remote-p shadow-test-remote-temporary-file-directory)))) 261 (file-remote-p ert-remote-temporary-file-directory))))
292 (should 262 (should
293 (string-equal 263 (string-equal
294 (file-remote-p shadow-test-remote-temporary-file-directory) 264 (file-remote-p ert-remote-temporary-file-directory)
295 (shadow-site-name 265 (shadow-site-name
296 (file-remote-p shadow-test-remote-temporary-file-directory)))) 266 (file-remote-p ert-remote-temporary-file-directory))))
297 267
298 (should (equal (shadow-site-cluster cluster1) 268 (should (equal (shadow-site-cluster cluster1)
299 (shadow-get-cluster cluster1))) 269 (shadow-get-cluster cluster1)))
@@ -324,8 +294,7 @@ guaranteed by the originator of a cluster definition."
324 294
325 ;; Define a second cluster. 295 ;; Define a second cluster.
326 (setq cluster2 "cluster2" 296 (setq cluster2 "cluster2"
327 primary2 297 primary2 (file-remote-p ert-remote-temporary-file-directory)
328 (file-remote-p shadow-test-remote-temporary-file-directory)
329 regexp2 (format "^\\(%s\\|%s\\)$" shadow-system-name primary2)) 298 regexp2 (format "^\\(%s\\|%s\\)$" shadow-system-name primary2))
330 (shadow-set-cluster cluster2 primary2 regexp2) 299 (shadow-set-cluster cluster2 primary2 regexp2)
331 300
@@ -356,7 +325,7 @@ guaranteed by the originator of a cluster definition."
356(ert-deftest shadow-test02-files () 325(ert-deftest shadow-test02-files ()
357 "Check file manipulation functions." 326 "Check file manipulation functions."
358 (skip-unless (not (memq system-type '(windows-nt ms-dos)))) 327 (skip-unless (not (memq system-type '(windows-nt ms-dos))))
359 (skip-unless (file-remote-p shadow-test-remote-temporary-file-directory)) 328 (skip-unless (file-remote-p ert-remote-temporary-file-directory))
360 329
361 (let ((shadow-info-file shadow-test-info-file) 330 (let ((shadow-info-file shadow-test-info-file)
362 (shadow-todo-file shadow-test-todo-file) 331 (shadow-todo-file shadow-test-todo-file)
@@ -398,8 +367,7 @@ guaranteed by the originator of a cluster definition."
398 (string-equal (shadow-local-file (concat primary file)) file)) 367 (string-equal (shadow-local-file (concat primary file)) file))
399 368
400 ;; Redefine the cluster. 369 ;; Redefine the cluster.
401 (setq primary 370 (setq primary (file-remote-p ert-remote-temporary-file-directory)
402 (file-remote-p shadow-test-remote-temporary-file-directory)
403 regexp (shadow-regexp-superquote primary)) 371 regexp (shadow-regexp-superquote primary))
404 (shadow-set-cluster cluster primary regexp) 372 (shadow-set-cluster cluster primary regexp)
405 373
@@ -428,7 +396,7 @@ guaranteed by the originator of a cluster definition."
428(ert-deftest shadow-test03-expand-cluster-in-file-name () 396(ert-deftest shadow-test03-expand-cluster-in-file-name ()
429 "Check canonical file name of a cluster or site." 397 "Check canonical file name of a cluster or site."
430 (skip-unless (not (memq system-type '(windows-nt ms-dos)))) 398 (skip-unless (not (memq system-type '(windows-nt ms-dos))))
431 (skip-unless (file-remote-p shadow-test-remote-temporary-file-directory)) 399 (skip-unless (file-remote-p ert-remote-temporary-file-directory))
432 400
433 (let ((shadow-info-file shadow-test-info-file) 401 (let ((shadow-info-file shadow-test-info-file)
434 (shadow-todo-file shadow-test-todo-file) 402 (shadow-todo-file shadow-test-todo-file)
@@ -453,8 +421,7 @@ guaranteed by the originator of a cluster definition."
453 file2 421 file2
454 (make-temp-name 422 (make-temp-name
455 (expand-file-name 423 (expand-file-name
456 "shadowfile-tests" 424 "shadowfile-tests" ert-remote-temporary-file-directory)))
457 shadow-test-remote-temporary-file-directory)))
458 425
459 ;; A local file name is kept. 426 ;; A local file name is kept.
460 (should 427 (should
@@ -473,8 +440,7 @@ guaranteed by the originator of a cluster definition."
473 (shadow-expand-cluster-in-file-name (concat primary file1)) file1)) 440 (shadow-expand-cluster-in-file-name (concat primary file1)) file1))
474 441
475 ;; Redefine the cluster. 442 ;; Redefine the cluster.
476 (setq primary 443 (setq primary (file-remote-p ert-remote-temporary-file-directory)
477 (file-remote-p shadow-test-remote-temporary-file-directory)
478 regexp (shadow-regexp-superquote primary)) 444 regexp (shadow-regexp-superquote primary))
479 (shadow-set-cluster cluster primary regexp) 445 (shadow-set-cluster cluster primary regexp)
480 446
@@ -495,7 +461,7 @@ guaranteed by the originator of a cluster definition."
495(ert-deftest shadow-test04-contract-file-name () 461(ert-deftest shadow-test04-contract-file-name ()
496 "Check canonical file name of a cluster or site." 462 "Check canonical file name of a cluster or site."
497 (skip-unless (not (memq system-type '(windows-nt ms-dos)))) 463 (skip-unless (not (memq system-type '(windows-nt ms-dos))))
498 (skip-unless (file-remote-p shadow-test-remote-temporary-file-directory)) 464 (skip-unless (file-remote-p ert-remote-temporary-file-directory))
499 465
500 (let ((shadow-info-file shadow-test-info-file) 466 (let ((shadow-info-file shadow-test-info-file)
501 (shadow-todo-file shadow-test-todo-file) 467 (shadow-todo-file shadow-test-todo-file)
@@ -533,8 +499,7 @@ guaranteed by the originator of a cluster definition."
533 (concat "/cluster:" file))) 499 (concat "/cluster:" file)))
534 500
535 ;; Redefine the cluster. 501 ;; Redefine the cluster.
536 (setq primary 502 (setq primary (file-remote-p ert-remote-temporary-file-directory)
537 (file-remote-p shadow-test-remote-temporary-file-directory)
538 regexp (shadow-regexp-superquote primary)) 503 regexp (shadow-regexp-superquote primary))
539 (shadow-set-cluster cluster primary regexp) 504 (shadow-set-cluster cluster primary regexp)
540 505
@@ -542,8 +507,7 @@ guaranteed by the originator of a cluster definition."
542 (should 507 (should
543 (string-equal 508 (string-equal
544 (shadow-contract-file-name 509 (shadow-contract-file-name
545 (concat 510 (concat (file-remote-p ert-remote-temporary-file-directory) file))
546 (file-remote-p shadow-test-remote-temporary-file-directory) file))
547 (concat "/cluster:" file)))) 511 (concat "/cluster:" file))))
548 512
549 ;; Cleanup. 513 ;; Cleanup.
@@ -552,7 +516,7 @@ guaranteed by the originator of a cluster definition."
552(ert-deftest shadow-test05-file-match () 516(ert-deftest shadow-test05-file-match ()
553 "Check `shadow-same-site' and `shadow-file-match'." 517 "Check `shadow-same-site' and `shadow-file-match'."
554 (skip-unless (not (memq system-type '(windows-nt ms-dos)))) 518 (skip-unless (not (memq system-type '(windows-nt ms-dos))))
555 (skip-unless (file-remote-p shadow-test-remote-temporary-file-directory)) 519 (skip-unless (file-remote-p ert-remote-temporary-file-directory))
556 520
557 (let ((shadow-info-file shadow-test-info-file) 521 (let ((shadow-info-file shadow-test-info-file)
558 (shadow-todo-file shadow-test-todo-file) 522 (shadow-todo-file shadow-test-todo-file)
@@ -588,17 +552,14 @@ guaranteed by the originator of a cluster definition."
588 (should (shadow-file-match (shadow-parse-name file) file)) 552 (should (shadow-file-match (shadow-parse-name file) file))
589 553
590 ;; Redefine the cluster. 554 ;; Redefine the cluster.
591 (setq primary 555 (setq primary (file-remote-p ert-remote-temporary-file-directory)
592 (file-remote-p shadow-test-remote-temporary-file-directory)
593 regexp (shadow-regexp-superquote primary)) 556 regexp (shadow-regexp-superquote primary))
594 (shadow-set-cluster cluster primary regexp) 557 (shadow-set-cluster cluster primary regexp)
595 558
596 (should 559 (should
597 (shadow-file-match 560 (shadow-file-match
598 (shadow-parse-name 561 (shadow-parse-name
599 (concat 562 (concat (file-remote-p ert-remote-temporary-file-directory) file))
600 (file-remote-p shadow-test-remote-temporary-file-directory)
601 file))
602 file))) 563 file)))
603 564
604 ;; Cleanup. 565 ;; Cleanup.
@@ -607,7 +568,7 @@ guaranteed by the originator of a cluster definition."
607(ert-deftest shadow-test06-literal-groups () 568(ert-deftest shadow-test06-literal-groups ()
608 "Check literal group definitions." 569 "Check literal group definitions."
609 (skip-unless (not (memq system-type '(windows-nt ms-dos)))) 570 (skip-unless (not (memq system-type '(windows-nt ms-dos))))
610 (skip-unless (file-remote-p shadow-test-remote-temporary-file-directory)) 571 (skip-unless (file-remote-p ert-remote-temporary-file-directory))
611 572
612 (let ((shadow-info-file shadow-test-info-file) 573 (let ((shadow-info-file shadow-test-info-file)
613 (shadow-todo-file shadow-test-todo-file) 574 (shadow-todo-file shadow-test-todo-file)
@@ -632,8 +593,7 @@ guaranteed by the originator of a cluster definition."
632 (shadow-set-cluster cluster1 primary regexp) 593 (shadow-set-cluster cluster1 primary regexp)
633 594
634 (setq cluster2 "cluster2" 595 (setq cluster2 "cluster2"
635 primary 596 primary (file-remote-p ert-remote-temporary-file-directory)
636 (file-remote-p shadow-test-remote-temporary-file-directory)
637 regexp (format "^\\(%s\\|%s\\)$" shadow-system-name primary)) 597 regexp (format "^\\(%s\\|%s\\)$" shadow-system-name primary))
638 (shadow-set-cluster cluster2 primary regexp) 598 (shadow-set-cluster cluster2 primary regexp)
639 599
@@ -644,8 +604,7 @@ guaranteed by the originator of a cluster definition."
644 file2 604 file2
645 (make-temp-name 605 (make-temp-name
646 (expand-file-name 606 (expand-file-name
647 "shadowfile-tests" 607 "shadowfile-tests" ert-remote-temporary-file-directory))
648 shadow-test-remote-temporary-file-directory))
649 mocked-input 608 mocked-input
650 `(,cluster1 ,file1 ,cluster2 ,file2 609 `(,cluster1 ,file1 ,cluster2 ,file2
651 ,primary ,file1 ,(kbd "RET"))) 610 ,primary ,file1 ,(kbd "RET")))
@@ -694,7 +653,7 @@ guaranteed by the originator of a cluster definition."
694(ert-deftest shadow-test07-regexp-groups () 653(ert-deftest shadow-test07-regexp-groups ()
695 "Check regexp group definitions." 654 "Check regexp group definitions."
696 (skip-unless (not (memq system-type '(windows-nt ms-dos)))) 655 (skip-unless (not (memq system-type '(windows-nt ms-dos))))
697 (skip-unless (file-remote-p shadow-test-remote-temporary-file-directory)) 656 (skip-unless (file-remote-p ert-remote-temporary-file-directory))
698 657
699 (let ((shadow-info-file shadow-test-info-file) 658 (let ((shadow-info-file shadow-test-info-file)
700 (shadow-todo-file shadow-test-todo-file) 659 (shadow-todo-file shadow-test-todo-file)
@@ -719,8 +678,7 @@ guaranteed by the originator of a cluster definition."
719 (shadow-set-cluster cluster1 primary regexp) 678 (shadow-set-cluster cluster1 primary regexp)
720 679
721 (setq cluster2 "cluster2" 680 (setq cluster2 "cluster2"
722 primary 681 primary (file-remote-p ert-remote-temporary-file-directory)
723 (file-remote-p shadow-test-remote-temporary-file-directory)
724 regexp (format "^\\(%s\\|%s\\)$" shadow-system-name primary)) 682 regexp (format "^\\(%s\\|%s\\)$" shadow-system-name primary))
725 (shadow-set-cluster cluster2 primary regexp) 683 (shadow-set-cluster cluster2 primary regexp)
726 684
@@ -757,8 +715,8 @@ guaranteed by the originator of a cluster definition."
757(ert-deftest shadow-test08-shadow-todo () 715(ert-deftest shadow-test08-shadow-todo ()
758 "Check that needed shadows are added to todo." 716 "Check that needed shadows are added to todo."
759 (skip-unless (not (memq system-type '(windows-nt ms-dos)))) 717 (skip-unless (not (memq system-type '(windows-nt ms-dos))))
760 (skip-unless (file-remote-p shadow-test-remote-temporary-file-directory)) 718 (skip-unless (file-remote-p ert-remote-temporary-file-directory))
761 (skip-unless (file-writable-p shadow-test-remote-temporary-file-directory)) 719 (skip-unless (file-writable-p ert-remote-temporary-file-directory))
762 720
763 (let ((backup-inhibited t) 721 (let ((backup-inhibited t)
764 create-lockfiles 722 create-lockfiles
@@ -778,7 +736,7 @@ guaranteed by the originator of a cluster definition."
778 (message 736 (message
779 "%s %s %s %s %s" 737 "%s %s %s %s %s"
780 temporary-file-directory 738 temporary-file-directory
781 shadow-test-remote-temporary-file-directory 739 ert-remote-temporary-file-directory
782 shadow-homedir shadow-info-file shadow-todo-file)) 740 shadow-homedir shadow-info-file shadow-todo-file))
783 741
784 ;; Define clusters. 742 ;; Define clusters.
@@ -792,8 +750,7 @@ guaranteed by the originator of a cluster definition."
792 cluster1 primary regexp shadow-clusters)) 750 cluster1 primary regexp shadow-clusters))
793 751
794 (setq cluster2 "cluster2" 752 (setq cluster2 "cluster2"
795 primary 753 primary (file-remote-p ert-remote-temporary-file-directory)
796 (file-remote-p shadow-test-remote-temporary-file-directory)
797 regexp (shadow-regexp-superquote primary)) 754 regexp (shadow-regexp-superquote primary))
798 (shadow-set-cluster cluster2 primary regexp) 755 (shadow-set-cluster cluster2 primary regexp)
799 (when shadow-debug 756 (when shadow-debug
@@ -903,8 +860,8 @@ guaranteed by the originator of a cluster definition."
903 "Check that needed shadow files are copied." 860 "Check that needed shadow files are copied."
904 :tags '(:expensive-test) 861 :tags '(:expensive-test)
905 (skip-unless (not (memq system-type '(windows-nt ms-dos)))) 862 (skip-unless (not (memq system-type '(windows-nt ms-dos))))
906 (skip-unless (file-remote-p shadow-test-remote-temporary-file-directory)) 863 (skip-unless (file-remote-p ert-remote-temporary-file-directory))
907 (skip-unless (file-writable-p shadow-test-remote-temporary-file-directory)) 864 (skip-unless (file-writable-p ert-remote-temporary-file-directory))
908 865
909 (let ((backup-inhibited t) 866 (let ((backup-inhibited t)
910 create-lockfiles 867 create-lockfiles
@@ -928,8 +885,7 @@ guaranteed by the originator of a cluster definition."
928 (shadow-set-cluster cluster1 primary regexp) 885 (shadow-set-cluster cluster1 primary regexp)
929 886
930 (setq cluster2 "cluster2" 887 (setq cluster2 "cluster2"
931 primary 888 primary (file-remote-p ert-remote-temporary-file-directory)
932 (file-remote-p shadow-test-remote-temporary-file-directory)
933 regexp (shadow-regexp-superquote primary)) 889 regexp (shadow-regexp-superquote primary))
934 (shadow-set-cluster cluster2 primary regexp) 890 (shadow-set-cluster cluster2 primary regexp)
935 891
diff --git a/test/lisp/simple-tests.el b/test/lisp/simple-tests.el
index dcab811bb5a..b4576889dcd 100644
--- a/test/lisp/simple-tests.el
+++ b/test/lisp/simple-tests.el
@@ -971,5 +971,60 @@ See Bug#21722."
971 ;;(should (= (length (delq nil (undo-make-selective-list 5 9))) 0)) 971 ;;(should (= (length (delq nil (undo-make-selective-list 5 9))) 0))
972 (should (= (length (delq nil (undo-make-selective-list 6 9))) 0)))) 972 (should (= (length (delq nil (undo-make-selective-list 6 9))) 0))))
973 973
974(ert-deftest test-yank-in-context ()
975 (should
976 (equal
977 (with-temp-buffer
978 (sh-mode)
979 (insert "echo \"foo\"")
980 (kill-new "\"bar\"")
981 (goto-char 8)
982 (yank-in-context)
983 (buffer-string))
984 "echo \"f\\\"bar\\\"oo\""))
985
986 (should
987 (equal
988 (with-temp-buffer
989 (sh-mode)
990 (insert "echo \"foo\"")
991 (kill-new "'bar'")
992 (goto-char 8)
993 (yank-in-context)
994 (buffer-string))
995 "echo \"f'bar'oo\""))
996
997 (should
998 (equal
999 (with-temp-buffer
1000 (sh-mode)
1001 (insert "echo 'foo'")
1002 (kill-new "'bar'")
1003 (goto-char 8)
1004 (yank-in-context)
1005 (buffer-string))
1006 "echo 'f'\\''bar'\\''oo'")))
1007
1008;;; Tests for `zap-to-char'
1009
1010(defmacro with-zap-to-char-test (original result &rest body)
1011 (declare (indent 2) (debug (stringp stringp body)))
1012 `(with-temp-buffer
1013 (insert ,original)
1014 (goto-char (point-min))
1015 ,@body
1016 (should (equal (buffer-string) ,result))))
1017
1018(ert-deftest simple-tests-zap-to-char ()
1019 (with-zap-to-char-test "abcde" "de"
1020 (zap-to-char 1 ?c))
1021 (with-zap-to-char-test "abcde abc123" "123"
1022 (zap-to-char 2 ?c))
1023 (let ((case-fold-search t))
1024 (with-zap-to-char-test "abcdeCXYZ" "deCXYZ"
1025 (zap-to-char 1 ?C))
1026 (with-zap-to-char-test "abcdeCXYZ" "XYZ"
1027 (zap-to-char 1 ?C 'interactive))))
1028
974(provide 'simple-test) 1029(provide 'simple-test)
975;;; simple-tests.el ends here 1030;;; simple-tests.el ends here
diff --git a/test/lisp/subr-tests.el b/test/lisp/subr-tests.el
index 8f3ee66e00d..a25eb363b01 100644
--- a/test/lisp/subr-tests.el
+++ b/test/lisp/subr-tests.el
@@ -1058,20 +1058,28 @@ final or penultimate step during initialization."))
1058 (should (equal (kbd "C-x ( C-d C-x )") "")) 1058 (should (equal (kbd "C-x ( C-d C-x )") ""))
1059 (should (equal (kbd "C-x ( C-x )") ""))) 1059 (should (equal (kbd "C-x ( C-x )") "")))
1060 1060
1061(defvar subr-test--global)
1061(ert-deftest test-local-set-state () 1062(ert-deftest test-local-set-state ()
1062 (setq global 1) 1063 (setq subr-test--global 1)
1063 (with-temp-buffer 1064 (with-temp-buffer
1064 (setq-local local 2) 1065 (setq-local subr-test--local 2)
1065 (let ((state (buffer-local-set-state global 10 1066 (let ((state (buffer-local-set-state subr-test--global 10
1066 local 20 1067 subr-test--local 20
1067 unexist 30))) 1068 subr-test--unexist 30)))
1068 (should (= global 10)) 1069 (should (= subr-test--global 10))
1069 (should (= local 20)) 1070 (should (= subr-test--local 20))
1070 (should (= unexist 30)) 1071 (should (= subr-test--unexist 30))
1071 (buffer-local-restore-state state) 1072 (buffer-local-restore-state state)
1072 (should (= global 1)) 1073 (should (= subr-test--global 1))
1073 (should (= local 2)) 1074 (should (= subr-test--local 2))
1074 (should-not (boundp 'unexist))))) 1075 (should-not (boundp 'subr-test--unexist)))))
1076
1077(ert-deftest test-char-uppercase-p ()
1078 "Tests for `char-uppercase-p'."
1079 (dolist (c (list ?R ?S ?Ω ?Ψ))
1080 (should (char-uppercase-p c)))
1081 (dolist (c (list ?a ?b ?α ?β))
1082 (should-not (char-uppercase-p c))))
1075 1083
1076(provide 'subr-tests) 1084(provide 'subr-tests)
1077;;; subr-tests.el ends here 1085;;; subr-tests.el ends here
diff --git a/test/lisp/textmodes/css-mode-resources/css-selectors.txt b/test/lisp/textmodes/css-mode-resources/css-selectors.txt
new file mode 100644
index 00000000000..5b3d990f279
--- /dev/null
+++ b/test/lisp/textmodes/css-mode-resources/css-selectors.txt
@@ -0,0 +1,56 @@
1#firstname
2*
3p
4p.intro
5div, p
6div p
7div > p
8div + p
9p ~ ul
10[target]
11[target=_blank]
12[title~=flower]
13[lang|=en]
14a[href^="https"]
15a[href$=".pdf"]
16a[href*="w3schools"]
17a:active
18p::after
19p::before
20input:checked
21input:default
22input:disabled
23p:empty
24input:enabled
25p:first-child
26p::first-letter
27p::first-line
28p:first-of-type
29input:focus
30:fullscreen
31a:hover
32input:in-range
33input:indeterminate
34input:invalid
35p:lang(it)
36p:last-child
37p:last-of-type
38a:link
39::marker
40:not(p)
41p:nth-child(2)
42p:nth-last-child(2)
43p:nth-last-of-type(2)
44p:nth-of-type(2)
45p:only-of-type
46p:only-child
47input:optional
48input:out-of-range
49input:read-only
50input:read-write
51input:required
52:root
53::selection
54#news:target
55input:valid
56a:visited
diff --git a/test/lisp/textmodes/css-mode-resources/scss-selectors.txt b/test/lisp/textmodes/css-mode-resources/scss-selectors.txt
new file mode 100644
index 00000000000..3e05191a910
--- /dev/null
+++ b/test/lisp/textmodes/css-mode-resources/scss-selectors.txt
@@ -0,0 +1,10 @@
1p.#{$name} var
2p.#{$name}:active var
3p.#{$name}::after var
4f.#{$bar}::after p::after
5p.#{$name} f.#{$bar} k.var #{$bar} #{$bar}
6p.#{$name}
7&:hover
8> li
9+ li
10~ li
diff --git a/test/lisp/textmodes/css-mode-tests.el b/test/lisp/textmodes/css-mode-tests.el
index 0ae1593508d..a746edf8944 100644
--- a/test/lisp/textmodes/css-mode-tests.el
+++ b/test/lisp/textmodes/css-mode-tests.el
@@ -419,5 +419,74 @@
419 (indent-region (point-min) (point-max)) 419 (indent-region (point-min) (point-max))
420 (should (equal (buffer-string) orig))))) 420 (should (equal (buffer-string) orig)))))
421 421
422(ert-deftest css-mode-test-selectors ()
423 (let ((selectors
424 (with-temp-buffer
425 (insert-file-contents (ert-resource-file "css-selectors.txt"))
426 (string-lines (buffer-string)))))
427 (with-suppressed-warnings ((interactive-only font-lock-debug-fontify))
428 (dolist (selector selectors)
429 (with-temp-buffer
430 (css-mode)
431 (insert selector " {\n}\n")
432 (font-lock-debug-fontify)
433 (goto-char (point-min))
434 (unless (eq (get-text-property (point) 'face)
435 'css-selector)
436 (should-not (format "Didn't recognize %s as a selector"
437 (buffer-substring-no-properties
438 (point) (line-end-position)))))))
439 ;; Test many selectors.
440 (dolist (selector selectors)
441 (with-temp-buffer
442 (css-mode)
443 (insert selector " ")
444 (dotimes (_ (random 5))
445 (insert (seq-random-elt '(" , " " > " " + "))
446 (seq-random-elt selectors)))
447 (insert "{\n}\n")
448 (font-lock-debug-fontify)
449 (goto-char (point-min))
450 (unless (eq (get-text-property (point) 'face)
451 'css-selector)
452 (should-not (format "Didn't recognize %s as a selector"
453 (buffer-substring-no-properties
454 (point) (line-end-position)))))))
455 ;; Test wrong separators.
456 (dolist (selector selectors)
457 (with-temp-buffer
458 (css-mode)
459 (insert selector " ")
460 (dotimes (_ (1+ (random 5)))
461 (insert (seq-random-elt '("=" " @ "))
462 (seq-random-elt selectors)))
463 (insert "{\n}\n")
464 (font-lock-debug-fontify)
465 (goto-char (point-min))
466 (when (eq (get-text-property (point) 'face)
467 'css-selector)
468 (should-not (format "Recognized %s as a selector"
469 (buffer-substring-no-properties
470 (point) (line-end-position))))))))))
471
472(ert-deftest scss-mode-test-selectors ()
473 (let ((selectors
474 (with-temp-buffer
475 (insert-file-contents (ert-resource-file "scss-selectors.txt"))
476 (string-lines (buffer-string)))))
477 (with-suppressed-warnings ((interactive-only font-lock-debug-fontify))
478 (dolist (selector selectors)
479 (with-temp-buffer
480 (scss-mode)
481 (insert selector " {\n}\n")
482 (font-lock-debug-fontify)
483 (goto-char (point-min))
484 (unless (eq (get-text-property (point) 'face)
485 'css-selector)
486 (should-not (format "Didn't recognize %s as a selector"
487 (buffer-substring-no-properties
488 (point) (line-end-position))))))))))
489
490
422(provide 'css-mode-tests) 491(provide 'css-mode-tests)
423;;; css-mode-tests.el ends here 492;;; css-mode-tests.el ends here
diff --git a/test/lisp/vc/vc-bzr-tests.el b/test/lisp/vc/vc-bzr-tests.el
index 12f1e9034c3..52f06df5bcd 100644
--- a/test/lisp/vc/vc-bzr-tests.el
+++ b/test/lisp/vc/vc-bzr-tests.el
@@ -140,7 +140,7 @@
140 ;; causes bzr status to fail. This simulates a broken bzr 140 ;; causes bzr status to fail. This simulates a broken bzr
141 ;; installation. 141 ;; installation.
142 (delete-file ".bzr/checkout/dirstate") 142 (delete-file ".bzr/checkout/dirstate")
143 (should (progn (make-directory-autoloads 143 (should (progn (loaddefs-generate
144 default-directory 144 default-directory
145 (expand-file-name "loaddefs.el" bzrdir)) 145 (expand-file-name "loaddefs.el" bzrdir))
146 t))))) 146 t)))))
diff --git a/test/lisp/x-dnd-tests.el b/test/lisp/x-dnd-tests.el
new file mode 100644
index 00000000000..35cda3b10a0
--- /dev/null
+++ b/test/lisp/x-dnd-tests.el
@@ -0,0 +1,82 @@
1;;; dnd-tests.el --- Tests for X DND support -*- lexical-binding: t; -*-
2
3;; Copyright (C) 2022 Free Software Foundation, Inc.
4
5;; This file is part of GNU Emacs.
6
7;; GNU Emacs is free software: you can redistribute it and/or modify
8;; it under the terms of the GNU General Public License as published by
9;; the Free Software Foundation, either version 3 of the License, or
10;; (at your option) any later version.
11
12;; GNU Emacs is distributed in the hope that it will be useful,
13;; but WITHOUT ANY WARRANTY; without even the implied warranty of
14;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15;; GNU General Public License for more details.
16
17;; You should have received a copy of the GNU General Public License
18;; along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>.
19
20;;; Commentary:
21
22;; Tests for stuff in x-dnd.el that doesn't require a window system.
23
24;;; Code:
25
26(require 'x-dnd)
27
28(when (display-graphic-p)
29 (error "This test cannot be run under X"))
30
31;; Dummy replacements.
32
33(defconst x-dnd-tests-drag-window-xid 3948573
34 "XID of the drag window returned during the test.")
35
36(defconst x-dnd-tests-targets-table
37 (base64-decode-string
38 "bAArAKIBAAAGAB8AAABqAQAANgIAAJMCAAAFAwAABgMAAAEAkMJbAAEAINNbAAUAHwAAAGoBAAA2
39AgAAkwIAANkfAAALAB8AAABqAQAANgIAAJMCAADyAgAA2R8AANwfAADgHwAA4R8AAOIfAADjHwAA
40AQDQMAgCAQBQTggCAQCwe5IAAQDQmZIABgDyAgAA9wIAABcRAADgHwAAvSEAAI3AAAABAHC52AAB
41AGDY2AABAABq3QABAGBw3QAIAB8AAAA2AgAA8gIAANwfAADgHwAA4R8AAOIfAADjHwAAAQBwBOEA
42AQCACuEAAQAwLwUCAQDwPgUCAQBQxoQBAQCQ3YQBAQCQBYoBAQDACYoBAQCgMooBAQCgOIoBAQAf
43AAAAAQDATrcDAQAQ1LcDAQCw/sADAQAgBcEDAQBQt7oDAQAAUsIDAQCAc7wDAQAwerwDAQBAIKUE
44AQAALKUEAQDwfKUEAQDgg6UEAQCgjesEAQAAmusEAQCA7+sEAQCw9usECAAfAAAAagEAADYCAACT
45AgAABQMAAAYDAAATGwAAGhsAAA==")
46 "Predefined Motif targets table used to test the targets table parser.")
47
48(defconst x-dnd-tests-lispy-targets-table [[31 362 566 659 773 774] [6013584] [6017824]
49 [31 362 566 659 8153]
50 [31 362 566 659 754 8153 8156 8160 8161 8162 8163]
51 [34091216] [34098768] [9599920]
52 [9607632] [754 759 4375 8160 8637 49293]
53 [14203248] [14211168] [14510592]
54 [14512224] [31 566 754 8156 8160 8161 8162 8163]
55 [14746736] [14748288] [33894192] [33898224]
56 [25478736] [25484688] [25822608] [25823680]
57 [25834144] [25835680] [31] [62344896] [62379024]
58 [62979760] [62981408] [62568272] [63066624]
59 [62681984] [62683696] [77930560] [77933568]
60 [77954288] [77956064] [82546080] [82549248]
61 [82571136] [82572976] [31 362 566 659 773 774 6931 6938]]
62 "The expected result of parsing that targets table.")
63
64(defalias 'x-window-property
65 (lambda (prop &optional _frame type window-id _delete-p _vector-ret-p)
66 (cond
67 ((and (equal prop "_MOTIF_DRAG_WINDOW")
68 (zerop window-id) (equal type "WINDOW"))
69 x-dnd-tests-drag-window-xid)
70 ((and (equal prop "_MOTIF_DRAG_TARGETS")
71 (equal type "_MOTIF_DRAG_TARGETS")
72 (equal window-id x-dnd-tests-drag-window-xid))
73 x-dnd-tests-targets-table))))
74
75;; This test also serves to exercise most of the Motif value
76;; extraction code.
77(ert-deftest x-dnd-tests-read-xm-targets-table ()
78 (should (equal (x-dnd-xm-read-targets-table nil)
79 x-dnd-tests-lispy-targets-table)))
80
81(provide 'x-dnd-tests)
82;;; x-dnd-tests.el ends here
diff --git a/test/manual/etags/ETAGS.good_1 b/test/manual/etags/ETAGS.good_1
index 1b4f80ceaac..c3d1477d44c 100644
--- a/test/manual/etags/ETAGS.good_1
+++ b/test/manual/etags/ETAGS.good_1
@@ -915,277 +915,277 @@ record_auto_save 742,23849
915force_auto_save_soon 751,24017 915force_auto_save_soon 751,24017
916DEFUN ("recursive-edit", Frecursive_edit,759,24138 916DEFUN ("recursive-edit", Frecursive_edit,759,24138
917DEFUN ("recursive-edit", Frecursive_edit,recursive-edit759,24138 917DEFUN ("recursive-edit", Frecursive_edit,recursive-edit759,24138
918recursive_edit_unwind 804,25748 918recursive_edit_unwind 804,25751
919any_kboard_state 817,26014 919any_kboard_state 817,26017
920single_kboard_state 838,26666 920single_kboard_state 838,26669
921not_single_kboard_state 848,26804 921not_single_kboard_state 848,26807
922struct kboard_stack858,27066 922struct kboard_stack858,27069
923static struct kboard_stack *kboard_stack;kboard_stack864,27139 923static struct kboard_stack *kboard_stack;kboard_stack864,27142
924push_kboard 867,27187 924push_kboard 867,27190
925pop_kboard 879,27376 925pop_kboard 879,27379
926temporarily_switch_to_single_kboard 914,28264 926temporarily_switch_to_single_kboard 914,28267
927record_single_kboard_state 943,29438 927record_single_kboard_state 943,29441
928restore_kboard_configuration 952,29622 928restore_kboard_configuration 952,29625
929cmd_error 970,30078 929cmd_error 970,30081
930cmd_error_internal 1024,31511 930cmd_error_internal 1024,31514
931DEFUN ("command-error-default-function", Fcommand_error_default_function,1043,32031 931DEFUN ("command-error-default-function", Fcommand_error_default_function,1043,32034
932DEFUN ("command-error-default-function", Fcommand_error_default_function,command-error-default-function1043,32031 932DEFUN ("command-error-default-function", Fcommand_error_default_function,command-error-default-function1043,32034
933command_loop 1094,33917 933command_loop 1094,33920
934command_loop_2 1134,35136 934command_loop_2 1134,35139
935top_level_2 1146,35340 935top_level_2 1146,35343
936top_level_1 1152,35418 936top_level_1 1152,35421
937DEFUN ("top-level", Ftop_level,1164,35788 937DEFUN ("top-level", Ftop_level,1164,35791
938DEFUN ("top-level", Ftop_level,top-level1164,35788 938DEFUN ("top-level", Ftop_level,top-level1164,35791
939user_error 1183,36289 939user_error 1183,36292
940DEFUN ("exit-recursive-edit", Fexit_recursive_edit,1189,36430 940DEFUN ("exit-recursive-edit", Fexit_recursive_edit,1189,36433
941DEFUN ("exit-recursive-edit", Fexit_recursive_edit,exit-recursive-edit1189,36430 941DEFUN ("exit-recursive-edit", Fexit_recursive_edit,exit-recursive-edit1189,36433
942DEFUN ("abort-recursive-edit", Fabort_recursive_edit,1201,36820 942DEFUN ("abort-recursive-edit", Fabort_recursive_edit,1201,36823
943DEFUN ("abort-recursive-edit", Fabort_recursive_edit,abort-recursive-edit1201,36820 943DEFUN ("abort-recursive-edit", Fabort_recursive_edit,abort-recursive-edit1201,36823
944tracking_off 1216,37282 944tracking_off 1216,37285
945DEFUN ("internal--track-mouse", Ftrack_mouse,1234,37817 945DEFUN ("internal--track-mouse", Ftrack_mouse,1234,37820
946DEFUN ("internal--track-mouse", Ftrack_mouse,track-mouse1234,37817 946DEFUN ("internal--track-mouse", Ftrack_mouse,track-mouse1234,37820
947bool ignore_mouse_drag_p;1256,38393 947bool ignore_mouse_drag_p;1256,38396
948some_mouse_moved 1259,38442 948some_mouse_moved 1259,38445
949Lisp_Object last_undo_boundary;1287,39033 949Lisp_Object last_undo_boundary;1287,39036
950command_loop_1 1294,39274 950command_loop_1 1294,39277
951read_menu_command 1649,50890 951read_menu_command 1649,50893
952adjust_point_for_property 1678,51618 952adjust_point_for_property 1678,51621
953safe_run_hooks_1 1831,57340 953safe_run_hooks_1 1831,57343
954safe_run_hooks_error 1841,57570 954safe_run_hooks_error 1841,57573
955safe_run_hook_funcall 1878,58577 955safe_run_hook_funcall 1878,58580
956safe_run_hooks 1893,59059 956safe_run_hooks 1893,59062
957int poll_suppress_count;1908,59398 957int poll_suppress_count;1908,59401
958static struct atimer *poll_timer;poll_timer1915,59488 958static struct atimer *poll_timer;poll_timer1915,59491
959poll_for_input_1 1919,59590 959poll_for_input_1 1919,59593
960poll_for_input 1930,59790 960poll_for_input 1930,59793
961start_polling 1942,60054 961start_polling 1942,60057
962input_polling_used 1979,61092 962input_polling_used 1979,61095
963stop_polling 1994,61391 963stop_polling 1994,61394
964set_poll_suppress_count 2009,61760 964set_poll_suppress_count 2009,61763
965bind_polling_period 2029,62142 965bind_polling_period 2029,62145
966make_ctrl_char 2048,62493 966make_ctrl_char 2048,62496
967show_help_echo 2113,64456 967show_help_echo 2113,64459
968static Lisp_Object help_form_saved_window_configs;2156,65639 968static Lisp_Object help_form_saved_window_configs;2156,65642
969read_char_help_form_unwind 2158,65702 969read_char_help_form_unwind 2158,65705
970#define STOP_POLLING 2166,65960 970#define STOP_POLLING 2166,65963
971#define RESUME_POLLING 2170,66085 971#define RESUME_POLLING 2170,66088
972read_event_from_main_queue 2175,66230 972read_event_from_main_queue 2175,66233
973read_decoded_event_from_main_queue 2249,68418 973read_decoded_event_from_main_queue 2249,68421
974#define MAX_ENCODED_BYTES 2254,68665 974#define MAX_ENCODED_BYTES 2254,68668
975echo_keystrokes_p 2342,71557 975echo_keystrokes_p 2342,71560
976read_char 2376,72849 976read_char 2376,72852
977record_menu_key 3225,98950 977record_menu_key 3225,98953
978help_char_p 3258,99675 978help_char_p 3258,99678
979record_char 3273,99954 979record_char 3273,99957
980save_getcjmp 3412,104236 980save_getcjmp 3412,104239
981restore_getcjmp 3418,104327 981restore_getcjmp 3418,104330
982readable_events 3430,104698 982readable_events 3430,104701
983int stop_character EXTERNALLY_VISIBLE;3497,106438 983int stop_character EXTERNALLY_VISIBLE;3497,106441
984event_to_kboard 3500,106494 984event_to_kboard 3500,106497
985kbd_buffer_nr_stored 3522,107143 985kbd_buffer_nr_stored 3522,107146
986kbd_buffer_store_event 3534,107484 986kbd_buffer_store_event 3534,107487
987kbd_buffer_store_event_hold 3550,108026 987kbd_buffer_store_event_hold 3550,108029
988kbd_buffer_unget_event 3684,111618 988kbd_buffer_unget_event 3684,111621
989#define INPUT_EVENT_POS_MAX 3698,112019 989#define INPUT_EVENT_POS_MAX 3698,112022
990#define INPUT_EVENT_POS_MIN 3701,112148 990#define INPUT_EVENT_POS_MIN 3701,112151
991position_to_Time 3706,112288 991position_to_Time 3706,112291
992Time_to_position 3716,112515 992Time_to_position 3716,112518
993gen_help_event 3738,113172 993gen_help_event 3738,113175
994kbd_buffer_store_help_event 3756,113612 994kbd_buffer_store_help_event 3756,113615
995discard_mouse_events 3773,113977 995discard_mouse_events 3773,113980
996kbd_buffer_events_waiting 3803,114712 996kbd_buffer_events_waiting 3803,114715
997clear_event 3823,115069 997clear_event 3823,115072
998kbd_buffer_get_event 3836,115409 998kbd_buffer_get_event 3836,115412
999process_special_events 4258,127882 999process_special_events 4258,127885
1000swallow_events 4322,129706 1000swallow_events 4322,129709
1001timer_start_idle 4339,130099 1001timer_start_idle 4339,130102
1002timer_stop_idle 4355,130577 1002timer_stop_idle 4355,130580
1003timer_resume_idle 4363,130721 1003timer_resume_idle 4363,130724
1004struct input_event last_timer_event EXTERNALLY_VISIBLE;4372,130913 1004struct input_event last_timer_event EXTERNALLY_VISIBLE;4372,130916
1005Lisp_Object pending_funcalls;4377,131173 1005Lisp_Object pending_funcalls;4377,131176
1006decode_timer 4381,131294 1006decode_timer 4381,131297
1007timer_check_2 4414,132247 1007timer_check_2 4414,132250
1008timer_check 4572,136818 1008timer_check 4572,136821
1009DEFUN ("current-idle-time", Fcurrent_idle_time,4607,137663 1009DEFUN ("current-idle-time", Fcurrent_idle_time,4607,137666
1010DEFUN ("current-idle-time", Fcurrent_idle_time,current-idle-time4607,137663 1010DEFUN ("current-idle-time", Fcurrent_idle_time,current-idle-time4607,137666
1011static Lisp_Object accent_key_syms;4625,138240 1011static Lisp_Object accent_key_syms;4625,138243
1012static Lisp_Object func_key_syms;4626,138276 1012static Lisp_Object func_key_syms;4626,138279
1013static Lisp_Object mouse_syms;4627,138310 1013static Lisp_Object mouse_syms;4627,138313
1014static Lisp_Object wheel_syms;4628,138341 1014static Lisp_Object wheel_syms;4628,138344
1015static Lisp_Object drag_n_drop_syms;4629,138372 1015static Lisp_Object drag_n_drop_syms;4629,138375
1016static const int lispy_accent_codes[lispy_accent_codes4634,138517 1016static const int lispy_accent_codes[lispy_accent_codes4634,138520
1017static const char *const lispy_accent_keys[lispy_accent_keys4741,139879 1017static const char *const lispy_accent_keys[lispy_accent_keys4741,139882
1018#define FUNCTION_KEY_OFFSET 4766,140315 1018#define FUNCTION_KEY_OFFSET 4766,140318
1019const char *const lispy_function_keys[lispy_function_keys4768,140348 1019const char *const lispy_function_keys[lispy_function_keys4768,140351
1020static const char *const lispy_multimedia_keys[lispy_multimedia_keys4962,148902 1020static const char *const lispy_multimedia_keys[lispy_multimedia_keys4962,148905
1021static const char *const lispy_kana_keys[lispy_kana_keys5026,150136 1021static const char *const lispy_kana_keys[lispy_kana_keys5026,150139
1022#define FUNCTION_KEY_OFFSET 5061,151752 1022#define FUNCTION_KEY_OFFSET 5061,151755
1023static const char *const lispy_function_keys[lispy_function_keys5065,151895 1023static const char *const lispy_function_keys[lispy_function_keys5065,151898
1024#define ISO_FUNCTION_KEY_OFFSET 5149,154430 1024#define ISO_FUNCTION_KEY_OFFSET 5149,154433
1025static const char *const iso_lispy_function_keys[iso_lispy_function_keys5151,154470 1025static const char *const iso_lispy_function_keys[iso_lispy_function_keys5151,154473
1026static Lisp_Object Vlispy_mouse_stem;5172,155329 1026static Lisp_Object Vlispy_mouse_stem;5172,155332
1027static const char *const lispy_wheel_names[lispy_wheel_names5174,155368 1027static const char *const lispy_wheel_names[lispy_wheel_names5174,155371
1028static const char *const lispy_drag_n_drop_names[lispy_drag_n_drop_names5181,155620 1028static const char *const lispy_drag_n_drop_names[lispy_drag_n_drop_names5181,155623
1029static short const scroll_bar_parts[scroll_bar_parts5189,155886 1029static short const scroll_bar_parts[scroll_bar_parts5189,155889
1030static Lisp_Object button_down_location;5210,156911 1030static Lisp_Object button_down_location;5210,156914
1031static int last_mouse_button;5215,157066 1031static int last_mouse_button;5215,157069
1032static int last_mouse_x;5216,157096 1032static int last_mouse_x;5216,157099
1033static int last_mouse_y;5217,157121 1033static int last_mouse_y;5217,157124
1034static Time button_down_time;5218,157146 1034static Time button_down_time;5218,157149
1035static int double_click_count;5222,157230 1035static int double_click_count;5222,157233
1036make_lispy_position 5228,157391 1036make_lispy_position 5228,157394
1037toolkit_menubar_in_use 5456,163954 1037toolkit_menubar_in_use 5456,163957
1038make_scroll_bar_position 5469,164322 1038make_scroll_bar_position 5469,164325
1039make_lispy_event 5485,164968 1039make_lispy_event 5485,164971
1040make_lispy_movement 6104,183531 1040make_lispy_movement 6104,183534
1041make_lispy_switch_frame 6131,184262 1041make_lispy_switch_frame 6131,184265
1042make_lispy_focus_in 6137,184369 1042make_lispy_focus_in 6137,184372
1043make_lispy_focus_out 6145,184495 1043make_lispy_focus_out 6145,184498
1044parse_modifiers_uncached 6163,184945 1044parse_modifiers_uncached 6163,184948
1045#define SINGLE_LETTER_MOD(6185,185465 1045#define SINGLE_LETTER_MOD(6185,185468
1046#undef SINGLE_LETTER_MOD6212,185906 1046#undef SINGLE_LETTER_MOD6212,185909
1047#define MULTI_LETTER_MOD(6214,185932 1047#define MULTI_LETTER_MOD(6214,185935
1048#undef MULTI_LETTER_MOD6231,186400 1048#undef MULTI_LETTER_MOD6231,186403
1049apply_modifiers_uncached 6273,187574 1049apply_modifiers_uncached 6273,187577
1050static const char *const modifier_names[modifier_names6319,189193 1050static const char *const modifier_names[modifier_names6319,189196
1051#define NUM_MOD_NAMES 6325,189399 1051#define NUM_MOD_NAMES 6325,189402
1052static Lisp_Object modifier_symbols;6327,189449 1052static Lisp_Object modifier_symbols;6327,189452
1053lispy_modifier_list 6331,189586 1053lispy_modifier_list 6331,189589
1054#define KEY_TO_CHAR(6353,190252 1054#define KEY_TO_CHAR(6353,190255
1055parse_modifiers 6356,190328 1055parse_modifiers 6356,190331
1056DEFUN ("internal-event-symbol-parse-modifiers", Fevent_symbol_parse_modifiers,6399,191517 1056DEFUN ("internal-event-symbol-parse-modifiers", Fevent_symbol_parse_modifiers,6399,191520
1057DEFUN ("internal-event-symbol-parse-modifiers", Fevent_symbol_parse_modifiers,event-symbol-parse-modifiers6399,191517 1057DEFUN ("internal-event-symbol-parse-modifiers", Fevent_symbol_parse_modifiers,event-symbol-parse-modifiers6399,191520
1058apply_modifiers 6422,192391 1058apply_modifiers 6422,192394
1059reorder_modifiers 6491,194720 1059reorder_modifiers 6491,194723
1060modify_event_symbol 6536,196528 1060modify_event_symbol 6536,196531
1061DEFUN ("event-convert-list", Fevent_convert_list,6628,199244 1061DEFUN ("event-convert-list", Fevent_convert_list,6628,199247
1062DEFUN ("event-convert-list", Fevent_convert_list,event-convert-list6628,199244 1062DEFUN ("event-convert-list", Fevent_convert_list,event-convert-list6628,199247
1063parse_solitary_modifier 6695,201135 1063parse_solitary_modifier 6695,201138
1064#define SINGLE_LETTER_MOD(6701,201258 1064#define SINGLE_LETTER_MOD(6701,201261
1065#define MULTI_LETTER_MOD(6705,201343 1065#define MULTI_LETTER_MOD(6705,201346
1066#undef SINGLE_LETTER_MOD6763,202641 1066#undef SINGLE_LETTER_MOD6763,202644
1067#undef MULTI_LETTER_MOD6764,202666 1067#undef MULTI_LETTER_MOD6764,202669
1068lucid_event_type_list_p 6775,202889 1068lucid_event_type_list_p 6775,202892
1069get_input_pending 6814,203960 1069get_input_pending 6814,203963
1070record_asynch_buffer_change 6834,204579 1070record_asynch_buffer_change 6834,204582
1071gobble_input 6872,205702 1071gobble_input 6872,205705
1072tty_read_avail_input 6967,208310 1072tty_read_avail_input 6967,208313
1073handle_async_input 7149,214039 1073handle_async_input 7149,214042
1074process_pending_signals 7165,214359 1074process_pending_signals 7165,214362
1075unblock_input_to 7177,214645 1075unblock_input_to 7177,214648
1076unblock_input 7200,215277 1076unblock_input 7200,215280
1077totally_unblock_input 7209,215445 1077totally_unblock_input 7209,215448
1078handle_input_available_signal 7217,215529 1078handle_input_available_signal 7217,215532
1079deliver_input_available_signal 7226,215700 1079deliver_input_available_signal 7226,215703
1080struct user_signal_info7235,215865 1080struct user_signal_info7235,215868
1081static struct user_signal_info *user_signals user_signals7250,216090 1081static struct user_signal_info *user_signals user_signals7250,216093
1082add_user_signal 7253,216149 1082add_user_signal 7253,216152
1083handle_user_signal 7275,216598 1083handle_user_signal 7275,216601
1084deliver_user_signal 7316,217558 1084deliver_user_signal 7316,217561
1085find_user_signal_name 7322,217659 1085find_user_signal_name 7322,217662
1086store_user_signal_events 7334,217841 1086store_user_signal_events 7334,217844
1087static Lisp_Object menu_bar_one_keymap_changed_items;7363,218416 1087static Lisp_Object menu_bar_one_keymap_changed_items;7363,218419
1088static Lisp_Object menu_bar_items_vector;7368,218630 1088static Lisp_Object menu_bar_items_vector;7368,218633
1089static int menu_bar_items_index;7369,218672 1089static int menu_bar_items_index;7369,218675
1090static const char *separator_names[separator_names7372,218707 1090static const char *separator_names[separator_names7372,218710
1091menu_separator_name_p 7393,219148 1091menu_separator_name_p 7393,219151
1092menu_bar_items 7426,219852 1092menu_bar_items 7426,219855
1093Lisp_Object item_properties;7568,224603 1093Lisp_Object item_properties;7568,224606
1094menu_bar_item 7571,224645 1094menu_bar_item 7571,224648
1095menu_item_eval_property_1 7647,227175 1095menu_item_eval_property_1 7647,227178
1096eval_dyn 7658,227465 1096eval_dyn 7658,227468
1097menu_item_eval_property 7666,227675 1097menu_item_eval_property 7666,227678
1098parse_menu_item 7686,228341 1098parse_menu_item 7686,228344
1099static Lisp_Object tool_bar_items_vector;7965,236336 1099static Lisp_Object tool_bar_items_vector;7965,236339
1100static Lisp_Object tool_bar_item_properties;7970,236510 1100static Lisp_Object tool_bar_item_properties;7970,236513
1101static int ntool_bar_items;7974,236606 1101static int ntool_bar_items;7974,236609
1102tool_bar_items 7990,237083 1102tool_bar_items 7990,237086
1103process_tool_bar_item 8075,239892 1103process_tool_bar_item 8075,239895
1104#define PROP(8112,240969 1104#define PROP(8112,240972
1105set_prop 8114,241038 1105set_prop 8114,241041
1106parse_tool_bar_item 8167,242453 1106parse_tool_bar_item 8167,242456
1107#undef PROP8379,248844 1107#undef PROP8379,248847
1108init_tool_bar_items 8387,248969 1108init_tool_bar_items 8387,248972
1109append_tool_bar_item 8401,249261 1109append_tool_bar_item 8401,249264
1110read_char_x_menu_prompt 8443,250771 1110read_char_x_menu_prompt 8443,250774
1111read_char_minibuf_menu_prompt 8503,252445 1111read_char_minibuf_menu_prompt 8503,252448
1112#define PUSH_C_STR(8527,253014 1112#define PUSH_C_STR(8527,253017
1113follow_key 8726,258553 1113follow_key 8726,258556
1114active_maps 8733,258695 1114active_maps 8733,258698
1115typedef struct keyremap8742,259021 1115typedef struct keyremap8742,259024
1116} keyremap;8754,259464 1116} keyremap;8754,259467
1117access_keymap_keyremap 8764,259808 1117access_keymap_keyremap 8764,259811
1118keyremap_step 8811,261450 1118keyremap_step 8811,261453
1119test_undefined 8867,262934 1119test_undefined 8867,262937
1120read_key_sequence 8916,264861 1120read_key_sequence 8916,264864
1121read_key_sequence_vs 9826,295821 1121read_key_sequence_vs 9826,295824
1122DEFUN ("read-key-sequence", Fread_key_sequence,9885,297294 1122DEFUN ("read-key-sequence", Fread_key_sequence,9885,297297
1123DEFUN ("read-key-sequence", Fread_key_sequence,read-key-sequence9885,297294 1123DEFUN ("read-key-sequence", Fread_key_sequence,read-key-sequence9885,297297
1124DEFUN ("read-key-sequence-vector", Fread_key_sequence_vector,9938,299982 1124DEFUN ("read-key-sequence-vector", Fread_key_sequence_vector,9938,299985
1125DEFUN ("read-key-sequence-vector", Fread_key_sequence_vector,read-key-sequence-vector9938,299982 1125DEFUN ("read-key-sequence-vector", Fread_key_sequence_vector,read-key-sequence-vector9938,299985
1126detect_input_pending 9950,300488 1126detect_input_pending 9950,300491
1127detect_input_pending_ignore_squeezables 9959,300654 1127detect_input_pending_ignore_squeezables 9959,300657
1128detect_input_pending_run_timers 9967,300870 1128detect_input_pending_run_timers 9967,300873
1129clear_input_pending 9985,301362 1129clear_input_pending 9985,301365
1130requeued_events_pending_p 9997,301732 1130requeued_events_pending_p 9997,301735
1131DEFUN ("input-pending-p", Finput_pending_p,10002,301813 1131DEFUN ("input-pending-p", Finput_pending_p,10002,301816
1132DEFUN ("input-pending-p", Finput_pending_p,input-pending-p10002,301813 1132DEFUN ("input-pending-p", Finput_pending_p,input-pending-p10002,301816
1133DEFUN ("recent-keys", Frecent_keys,10024,302596 1133DEFUN ("recent-keys", Frecent_keys,10024,302599
1134DEFUN ("recent-keys", Frecent_keys,recent-keys10024,302596 1134DEFUN ("recent-keys", Frecent_keys,recent-keys10024,302599
1135DEFUN ("this-command-keys", Fthis_command_keys,10055,303517 1135DEFUN ("this-command-keys", Fthis_command_keys,10055,303520
1136DEFUN ("this-command-keys", Fthis_command_keys,this-command-keys10055,303517 1136DEFUN ("this-command-keys", Fthis_command_keys,this-command-keys10055,303520
1137DEFUN ("this-command-keys-vector", Fthis_command_keys_vector,10068,303958 1137DEFUN ("this-command-keys-vector", Fthis_command_keys_vector,10068,303961
1138DEFUN ("this-command-keys-vector", Fthis_command_keys_vector,this-command-keys-vector10068,303958 1138DEFUN ("this-command-keys-vector", Fthis_command_keys_vector,this-command-keys-vector10068,303961
1139DEFUN ("this-single-command-keys", Fthis_single_command_keys,10080,304380 1139DEFUN ("this-single-command-keys", Fthis_single_command_keys,10080,304383
1140DEFUN ("this-single-command-keys", Fthis_single_command_keys,this-single-command-keys10080,304380 1140DEFUN ("this-single-command-keys", Fthis_single_command_keys,this-single-command-keys10080,304383
1141DEFUN ("this-single-command-raw-keys", Fthis_single_command_raw_keys,10096,304955 1141DEFUN ("this-single-command-raw-keys", Fthis_single_command_raw_keys,10096,304958
1142DEFUN ("this-single-command-raw-keys", Fthis_single_command_raw_keys,this-single-command-raw-keys10096,304955 1142DEFUN ("this-single-command-raw-keys", Fthis_single_command_raw_keys,this-single-command-raw-keys10096,304958
1143DEFUN ("reset-this-command-lengths", Freset_this_command_lengths,10109,305495 1143DEFUN ("reset-this-command-lengths", Freset_this_command_lengths,10109,305498
1144DEFUN ("reset-this-command-lengths", Freset_this_command_lengths,reset-this-command-lengths10109,305495 1144DEFUN ("reset-this-command-lengths", Freset_this_command_lengths,reset-this-command-lengths10109,305498
1145DEFUN ("clear-this-command-keys", Fclear_this_command_keys,10136,306510 1145DEFUN ("clear-this-command-keys", Fclear_this_command_keys,10136,306513
1146DEFUN ("clear-this-command-keys", Fclear_this_command_keys,clear-this-command-keys10136,306510 1146DEFUN ("clear-this-command-keys", Fclear_this_command_keys,clear-this-command-keys10136,306513
1147DEFUN ("recursion-depth", Frecursion_depth,10158,307069 1147DEFUN ("recursion-depth", Frecursion_depth,10158,307072
1148DEFUN ("recursion-depth", Frecursion_depth,recursion-depth10158,307069 1148DEFUN ("recursion-depth", Frecursion_depth,recursion-depth10158,307072
1149DEFUN ("open-dribble-file", Fopen_dribble_file,10169,307406 1149DEFUN ("open-dribble-file", Fopen_dribble_file,10169,307409
1150DEFUN ("open-dribble-file", Fopen_dribble_file,open-dribble-file10169,307406 1150DEFUN ("open-dribble-file", Fopen_dribble_file,open-dribble-file10169,307409
1151DEFUN ("discard-input", Fdiscard_input,10203,308447 1151DEFUN ("discard-input", Fdiscard_input,10203,308450
1152DEFUN ("discard-input", Fdiscard_input,discard-input10203,308447 1152DEFUN ("discard-input", Fdiscard_input,discard-input10203,308450
1153DEFUN ("suspend-emacs", Fsuspend_emacs,10225,308949 1153DEFUN ("suspend-emacs", Fsuspend_emacs,10225,308952
1154DEFUN ("suspend-emacs", Fsuspend_emacs,suspend-emacs10225,308949 1154DEFUN ("suspend-emacs", Fsuspend_emacs,suspend-emacs10225,308952
1155stuff_buffered_input 10285,311045 1155stuff_buffered_input 10285,311048
1156set_waiting_for_input 10323,312016 1156set_waiting_for_input 10323,312019
1157clear_waiting_for_input 10337,312390 1157clear_waiting_for_input 10337,312393
1158handle_interrupt_signal 10351,312754 1158handle_interrupt_signal 10351,312757
1159deliver_interrupt_signal 10378,313642 1159deliver_interrupt_signal 10378,313645
1160static int volatile force_quit_count;10387,313932 1160static int volatile force_quit_count;10387,313935
1161handle_interrupt 10401,314414 1161handle_interrupt 10401,314417
1162quit_throw_to_read_char 10541,318711 1162quit_throw_to_read_char 10541,318714
1163DEFUN ("set-input-interrupt-mode", Fset_input_interrupt_mode,10562,319288 1163DEFUN ("set-input-interrupt-mode", Fset_input_interrupt_mode,10562,319291
1164DEFUN ("set-input-interrupt-mode", Fset_input_interrupt_mode,set-input-interrupt-mode10562,319288 1164DEFUN ("set-input-interrupt-mode", Fset_input_interrupt_mode,set-input-interrupt-mode10562,319291
1165DEFUN ("set-output-flow-control", Fset_output_flow_control,10609,320516 1165DEFUN ("set-output-flow-control", Fset_output_flow_control,10609,320519
1166DEFUN ("set-output-flow-control", Fset_output_flow_control,set-output-flow-control10609,320516 1166DEFUN ("set-output-flow-control", Fset_output_flow_control,set-output-flow-control10609,320519
1167DEFUN ("set-input-meta-mode", Fset_input_meta_mode,10643,321432 1167DEFUN ("set-input-meta-mode", Fset_input_meta_mode,10643,321435
1168DEFUN ("set-input-meta-mode", Fset_input_meta_mode,set-input-meta-mode10643,321432 1168DEFUN ("set-input-meta-mode", Fset_input_meta_mode,set-input-meta-mode10643,321435
1169DEFUN ("set-quit-char", Fset_quit_char,10694,322706 1169DEFUN ("set-quit-char", Fset_quit_char,10694,322709
1170DEFUN ("set-quit-char", Fset_quit_char,set-quit-char10694,322706 1170DEFUN ("set-quit-char", Fset_quit_char,set-quit-char10694,322709
1171DEFUN ("set-input-mode", Fset_input_mode,10729,323570 1171DEFUN ("set-input-mode", Fset_input_mode,10729,323573
1172DEFUN ("set-input-mode", Fset_input_mode,set-input-mode10729,323570 1172DEFUN ("set-input-mode", Fset_input_mode,set-input-mode10729,323573
1173DEFUN ("current-input-mode", Fcurrent_input_mode,10750,324459 1173DEFUN ("current-input-mode", Fcurrent_input_mode,10750,324462
1174DEFUN ("current-input-mode", Fcurrent_input_mode,current-input-mode10750,324459 1174DEFUN ("current-input-mode", Fcurrent_input_mode,current-input-mode10750,324462
1175DEFUN ("posn-at-x-y", Fposn_at_x_y,10787,325837 1175DEFUN ("posn-at-x-y", Fposn_at_x_y,10787,325840
1176DEFUN ("posn-at-x-y", Fposn_at_x_y,posn-at-x-y10787,325837 1176DEFUN ("posn-at-x-y", Fposn_at_x_y,posn-at-x-y10787,325840
1177DEFUN ("posn-at-point", Fposn_at_point,10824,327060 1177DEFUN ("posn-at-point", Fposn_at_point,10824,327063
1178DEFUN ("posn-at-point", Fposn_at_point,posn-at-point10824,327060 1178DEFUN ("posn-at-point", Fposn_at_point,posn-at-point10824,327063
1179init_kboard 10861,328214 1179init_kboard 10861,328217
1180allocate_kboard 10893,329284 1180allocate_kboard 10893,329287
1181wipe_kboard 10909,329637 1181wipe_kboard 10909,329640
1182delete_kboard 10917,329751 1182delete_kboard 10917,329754
1183init_keyboard 10942,330281 1183init_keyboard 10942,330284
1184struct event_head11021,332696 1184struct event_head11021,332699
1185static const struct event_head head_table[head_table11027,332747 1185static const struct event_head head_table[head_table11027,332750
1186syms_of_keyboard 11045,333577 1186syms_of_keyboard 11045,333580
1187keys_of_keyboard 11841,367115 1187keys_of_keyboard 11841,367118
1188mark_kboards 11916,370434 1188mark_kboards 11916,370437
1189 1189
1190c-src/emacs/src/lisp.h,20276 1190c-src/emacs/src/lisp.h,20276
1191#define EMACS_LISP_H22,801 1191#define EMACS_LISP_H22,801
@@ -2166,109 +2166,109 @@ el-src/emacs/lisp/progmodes/etags.el,5069
2166(defcustom tags-tag-face 148,5700 2166(defcustom tags-tag-face 148,5700
2167(defcustom tags-apropos-verbose 154,5835 2167(defcustom tags-apropos-verbose 154,5835
2168(defcustom tags-apropos-additional-actions 160,5999 2168(defcustom tags-apropos-additional-actions 160,5999
2169(defvaralias 'find-tag-marker-ring find-tag-marker-ring183,6918 2169(defvaralias 'find-tag-marker-ring find-tag-marker-ring183,6921
2170(defvar default-tags-table-function 189,7098 2170(defvar default-tags-table-function 189,7101
2171(defvar tags-location-ring 194,7324 2171(defvar tags-location-ring 194,7327
2172(defvar tags-table-files 201,7600 2172(defvar tags-table-files 201,7603
2173(defvar tags-completion-table 206,7767 2173(defvar tags-completion-table 206,7770
2174(defvar tags-included-tables 209,7859 2174(defvar tags-included-tables 209,7862
2175(defvar next-file-list 212,7954 2175(defvar next-file-list 212,7957
2176(defvar tags-table-format-functions 217,8060 2176(defvar tags-table-format-functions 217,8063
2177(defvar file-of-tag-function 224,8441 2177(defvar file-of-tag-function 224,8444
2178(defvar tags-table-files-function 228,8635 2178(defvar tags-table-files-function 228,8638
2179(defvar tags-completion-table-function 230,8746 2179(defvar tags-completion-table-function 230,8749
2180(defvar snarf-tag-function 232,8841 2180(defvar snarf-tag-function 232,8844
2181(defvar goto-tag-location-function 236,9050 2181(defvar goto-tag-location-function 236,9053
2182(defvar find-tag-regexp-search-function 239,9223 2182(defvar find-tag-regexp-search-function 239,9226
2183(defvar find-tag-regexp-tag-order 241,9344 2183(defvar find-tag-regexp-tag-order 241,9347
2184(defvar find-tag-regexp-next-line-after-failure-p 243,9453 2184(defvar find-tag-regexp-next-line-after-failure-p 243,9456
2185(defvar find-tag-search-function 245,9573 2185(defvar find-tag-search-function 245,9576
2186(defvar find-tag-tag-order 247,9680 2186(defvar find-tag-tag-order 247,9683
2187(defvar find-tag-next-line-after-failure-p 249,9775 2187(defvar find-tag-next-line-after-failure-p 249,9778
2188(defvar list-tags-function 251,9881 2188(defvar list-tags-function 251,9884
2189(defvar tags-apropos-function 253,9969 2189(defvar tags-apropos-function 253,9972
2190(defvar tags-included-tables-function 255,10063 2190(defvar tags-included-tables-function 255,10066
2191(defvar verify-tags-table-function 257,10182 2191(defvar verify-tags-table-function 257,10185
2192(defun initialize-new-tags-table 260,10293 2192(defun initialize-new-tags-table 260,10296
2193(defun tags-table-mode 276,10981 2193(defun tags-table-mode 276,10984
2194(defun visit-tags-table 285,11246 2194(defun visit-tags-table 285,11249
2195(defun tags-table-check-computed-list 321,12784 2195(defun tags-table-check-computed-list 321,12787
2196(defun tags-table-extend-computed-list 360,14655 2196(defun tags-table-extend-computed-list 360,14658
2197(defun tags-expand-table-name 400,16368 2197(defun tags-expand-table-name 400,16371
2198(defun tags-table-list-member 409,16711 2198(defun tags-table-list-member 409,16714
2199(defun tags-verify-table 421,17183 2199(defun tags-verify-table 421,17186
2200(defun tags-table-including 470,19303 2200(defun tags-table-including 470,19306
2201(defun tags-next-table 522,21347 2201(defun tags-next-table 522,21350
2202(defun visit-tags-table-buffer 543,22204 2202(defun visit-tags-table-buffer 543,22207
2203(defun tags-reset-tags-tables 712,28514 2203(defun tags-reset-tags-tables 712,28517
2204(defun file-of-tag 731,29171 2204(defun file-of-tag 731,29174
2205(defun tags-table-files 740,29521 2205(defun tags-table-files 740,29524
2206(defun tags-included-tables 749,29871 2206(defun tags-included-tables 749,29874
2207(defun tags-completion-table 755,30117 2207(defun tags-completion-table 755,30120
2208(defun tags-lazy-completion-table 783,31311 2208(defun tags-lazy-completion-table 783,31314
2209(defun tags-completion-at-point-function 799,31946 2209(defun tags-completion-at-point-function 799,31949
2210(defun find-tag-tag 818,32696 2210(defun find-tag-tag 818,32699
2211(defvar last-tag 837,33369 2211(defvar last-tag 837,33372
2212(defun find-tag-interactive 840,33428 2212(defun find-tag-interactive 840,33431
2213(defvar find-tag-history 852,33843 2213(defvar find-tag-history 852,33846
2214(defun find-tag-noselect 860,34013 2214(defun find-tag-noselect 860,34016
2215(defun find-tag 932,37127 2215(defun find-tag 932,37130
2216(defun find-tag-other-window 959,38343 2216(defun find-tag-other-window 959,38346
2217(defun find-tag-other-frame 1000,40271 2217(defun find-tag-other-frame 1000,40274
2218(defun find-tag-regexp 1025,41445 2218(defun find-tag-regexp 1025,41448
2219(defalias 'pop-tag-mark pop-tag-mark1049,42607 2219(defalias 'pop-tag-mark pop-tag-mark1049,42610
2220(defvar tag-lines-already-matched 1052,42658 2220(defvar tag-lines-already-matched 1052,42661
2221(defun find-tag-in-order 1055,42765 2221(defun find-tag-in-order 1055,42768
2222(defun tag-find-file-of-tag-noselect 1167,47111 2222(defun tag-find-file-of-tag-noselect 1167,47114
2223(defun tag-find-file-of-tag 1200,48957 2223(defun tag-find-file-of-tag 1200,48960
2224(defun etags-recognize-tags-table 1208,49183 2224(defun etags-recognize-tags-table 1208,49186
2225(defun etags-verify-tags-table 1241,50814 2225(defun etags-verify-tags-table 1241,50817
2226(defun etags-file-of-tag 1246,51012 2226(defun etags-file-of-tag 1246,51015
2227(defun etags-tags-completion-table 1256,51347 2227(defun etags-tags-completion-table 1256,51350
2228(defun etags-snarf-tag 1286,52553 2228(defun etags-snarf-tag 1286,52556
2229(defun etags-goto-tag-location 1324,54122 2229(defun etags-goto-tag-location 1324,54125
2230(defun etags-list-tags 1388,56565 2230(defun etags-list-tags 1388,56568
2231(defmacro tags-with-face 1423,57840 2231(defmacro tags-with-face 1423,57843
2232(defun etags-tags-apropos-additional 1431,58173 2232(defun etags-tags-apropos-additional 1431,58176
2233(defun etags-tags-apropos 1465,59410 2233(defun etags-tags-apropos 1465,59413
2234(defun etags-tags-table-files 1527,61619 2234(defun etags-tags-table-files 1527,61622
2235(defun etags-tags-included-tables 1542,62055 2235(defun etags-tags-included-tables 1542,62058
2236(defun tags-recognize-empty-tags-table 1559,62595 2236(defun tags-recognize-empty-tags-table 1559,62598
2237(defun tag-exact-file-name-match-p 1587,63741 2237(defun tag-exact-file-name-match-p 1587,63744
2238(defun tag-file-name-match-p 1596,64134 2238(defun tag-file-name-match-p 1596,64137
2239(defun tag-exact-match-p 1609,64690 2239(defun tag-exact-match-p 1609,64693
2240(defun tag-implicit-name-match-p 1620,65258 2240(defun tag-implicit-name-match-p 1620,65261
2241(defun tag-symbol-match-p 1633,65858 2241(defun tag-symbol-match-p 1633,65861
2242(defun tag-word-match-p 1643,66294 2242(defun tag-word-match-p 1643,66297
2243(defun tag-partial-file-name-match-p 1652,66692 2243(defun tag-partial-file-name-match-p 1652,66695
2244(defun tag-any-match-p 1662,67136 2244(defun tag-any-match-p 1662,67139
2245(defun tag-re-match-p 1667,67320 2245(defun tag-re-match-p 1667,67323
2246(defcustom tags-loop-revert-buffers 1675,67569 2246(defcustom tags-loop-revert-buffers 1675,67572
2247(defun next-file 1685,67978 2247(defun next-file 1685,67981
2248(defvar tags-loop-operate 1760,70892 2248(defvar tags-loop-operate 1760,70895
2249(defvar tags-loop-scan1763,70986 2249(defvar tags-loop-scan1763,70989
2250(defun tags-loop-eval 1771,71315 2250(defun tags-loop-eval 1771,71318
2251(defun tags-loop-continue 1782,71644 2251(defun tags-loop-continue 1782,71647
2252(defun tags-search 1850,73950 2252(defun tags-search 1850,73953
2253(defun tags-query-replace 1871,74776 2253(defun tags-query-replace 1871,74779
2254(defun tags-complete-tags-table-file 1896,76000 2254(defun tags-complete-tags-table-file 1896,76003
2255(defun list-tags 1906,76379 2255(defun list-tags 1906,76382
2256(defun tags-apropos 1934,77332 2256(defun tags-apropos 1934,77335
2257(define-button-type 'tags-select-tags-tabletags-select-tags-table1957,78158 2257(define-button-type 'tags-select-tags-tabletags-select-tags-table1957,78161
2258(defun select-tags-table 1964,78397 2258(defun select-tags-table 1964,78400
2259(defvar select-tags-table-mode-map 2019,80524 2259(defvar select-tags-table-mode-map 2019,80527
2260(define-derived-mode select-tags-table-mode 2030,80907 2260(define-derived-mode select-tags-table-mode 2030,80910
2261(defun select-tags-table-select 2034,81091 2261(defun select-tags-table-select 2034,81094
2262(defun select-tags-table-quit 2043,81457 2262(defun select-tags-table-quit 2043,81460
2263(defun complete-tag 2049,81612 2263(defun complete-tag 2049,81615
2264(defconst etags--xref-limit 2074,82553 2264(defconst etags--xref-limit 2074,82556
2265(defvar etags-xref-find-definitions-tag-order 2076,82588 2265(defvar etags-xref-find-definitions-tag-order 2076,82591
2266(defun etags-xref-find 2082,82878 2266(defun etags-xref-find 2082,82881
2267(defun etags--xref-find-definitions 2096,83407 2267(defun etags--xref-find-definitions 2096,83410
2268(defclass xref-etags-location 2129,85121 2268(defclass xref-etags-location 2129,85124
2269(defun xref-make-etags-location 2135,85344 2269(defun xref-make-etags-location 2135,85347
2270(cl-defmethod xref-location-marker 2139,85499 2270(cl-defmethod xref-location-marker 2139,85502
2271(cl-defmethod xref-location-line 2146,85743 2271(cl-defmethod xref-location-line 2146,85746
2272 2272
2273erl-src/gs_dialog.erl,98 2273erl-src/gs_dialog.erl,98
2274-define(VERSION2,32 2274-define(VERSION2,32
diff --git a/test/manual/etags/ETAGS.good_2 b/test/manual/etags/ETAGS.good_2
index 124aa7fc1cf..3c611dc8ef5 100644
--- a/test/manual/etags/ETAGS.good_2
+++ b/test/manual/etags/ETAGS.good_2
@@ -1098,288 +1098,288 @@ record_auto_save 742,23849
1098force_auto_save_soon 751,24017 1098force_auto_save_soon 751,24017
1099DEFUN ("recursive-edit", Frecursive_edit,759,24138 1099DEFUN ("recursive-edit", Frecursive_edit,759,24138
1100DEFUN ("recursive-edit", Frecursive_edit,recursive-edit759,24138 1100DEFUN ("recursive-edit", Frecursive_edit,recursive-edit759,24138
1101recursive_edit_unwind 804,25748 1101recursive_edit_unwind 804,25751
1102any_kboard_state 817,26014 1102any_kboard_state 817,26017
1103single_kboard_state 838,26666 1103single_kboard_state 838,26669
1104not_single_kboard_state 848,26804 1104not_single_kboard_state 848,26807
1105struct kboard_stack858,27066 1105struct kboard_stack858,27069
1106static struct kboard_stack *kboard_stack;kboard_stack864,27139 1106static struct kboard_stack *kboard_stack;kboard_stack864,27142
1107push_kboard 867,27187 1107push_kboard 867,27190
1108pop_kboard 879,27376 1108pop_kboard 879,27379
1109temporarily_switch_to_single_kboard 914,28264 1109temporarily_switch_to_single_kboard 914,28267
1110record_single_kboard_state 943,29438 1110record_single_kboard_state 943,29441
1111restore_kboard_configuration 952,29622 1111restore_kboard_configuration 952,29625
1112cmd_error 970,30078 1112cmd_error 970,30081
1113cmd_error_internal 1024,31511 1113cmd_error_internal 1024,31514
1114DEFUN ("command-error-default-function", Fcommand_error_default_function,1043,32031 1114DEFUN ("command-error-default-function", Fcommand_error_default_function,1043,32034
1115DEFUN ("command-error-default-function", Fcommand_error_default_function,command-error-default-function1043,32031 1115DEFUN ("command-error-default-function", Fcommand_error_default_function,command-error-default-function1043,32034
1116static Lisp_Object command_loop_2 1086,33638 1116static Lisp_Object command_loop_2 1086,33641
1117static Lisp_Object top_level_1 1087,33687 1117static Lisp_Object top_level_1 1087,33690
1118command_loop 1094,33917 1118command_loop 1094,33920
1119command_loop_2 1134,35136 1119command_loop_2 1134,35139
1120top_level_2 1146,35340 1120top_level_2 1146,35343
1121top_level_1 1152,35418 1121top_level_1 1152,35421
1122DEFUN ("top-level", Ftop_level,1164,35788 1122DEFUN ("top-level", Ftop_level,1164,35791
1123DEFUN ("top-level", Ftop_level,top-level1164,35788 1123DEFUN ("top-level", Ftop_level,top-level1164,35791
1124user_error 1183,36289 1124user_error 1183,36292
1125DEFUN ("exit-recursive-edit", Fexit_recursive_edit,1189,36430 1125DEFUN ("exit-recursive-edit", Fexit_recursive_edit,1189,36433
1126DEFUN ("exit-recursive-edit", Fexit_recursive_edit,exit-recursive-edit1189,36430 1126DEFUN ("exit-recursive-edit", Fexit_recursive_edit,exit-recursive-edit1189,36433
1127DEFUN ("abort-recursive-edit", Fabort_recursive_edit,1201,36820 1127DEFUN ("abort-recursive-edit", Fabort_recursive_edit,1201,36823
1128DEFUN ("abort-recursive-edit", Fabort_recursive_edit,abort-recursive-edit1201,36820 1128DEFUN ("abort-recursive-edit", Fabort_recursive_edit,abort-recursive-edit1201,36823
1129tracking_off 1216,37282 1129tracking_off 1216,37285
1130DEFUN ("internal--track-mouse", Ftrack_mouse,1234,37817 1130DEFUN ("internal--track-mouse", Ftrack_mouse,1234,37820
1131DEFUN ("internal--track-mouse", Ftrack_mouse,track-mouse1234,37817 1131DEFUN ("internal--track-mouse", Ftrack_mouse,track-mouse1234,37820
1132bool ignore_mouse_drag_p;1256,38393 1132bool ignore_mouse_drag_p;1256,38396
1133some_mouse_moved 1259,38442 1133some_mouse_moved 1259,38445
1134static int read_key_sequence 1282,38800 1134static int read_key_sequence 1282,38803
1135static void adjust_point_for_property 1284,38918 1135static void adjust_point_for_property 1284,38921
1136Lisp_Object last_undo_boundary;1287,39033 1136Lisp_Object last_undo_boundary;1287,39036
1137command_loop_1 1294,39274 1137command_loop_1 1294,39277
1138read_menu_command 1649,50890 1138read_menu_command 1649,50893
1139adjust_point_for_property 1678,51618 1139adjust_point_for_property 1678,51621
1140safe_run_hooks_1 1831,57340 1140safe_run_hooks_1 1831,57343
1141safe_run_hooks_error 1841,57570 1141safe_run_hooks_error 1841,57573
1142safe_run_hook_funcall 1878,58577 1142safe_run_hook_funcall 1878,58580
1143safe_run_hooks 1893,59059 1143safe_run_hooks 1893,59062
1144int poll_suppress_count;1908,59398 1144int poll_suppress_count;1908,59401
1145static struct atimer *poll_timer;poll_timer1915,59488 1145static struct atimer *poll_timer;poll_timer1915,59491
1146poll_for_input_1 1919,59590 1146poll_for_input_1 1919,59593
1147poll_for_input 1930,59790 1147poll_for_input 1930,59793
1148start_polling 1942,60054 1148start_polling 1942,60057
1149input_polling_used 1979,61092 1149input_polling_used 1979,61095
1150stop_polling 1994,61391 1150stop_polling 1994,61394
1151set_poll_suppress_count 2009,61760 1151set_poll_suppress_count 2009,61763
1152bind_polling_period 2029,62142 1152bind_polling_period 2029,62145
1153make_ctrl_char 2048,62493 1153make_ctrl_char 2048,62496
1154show_help_echo 2113,64456 1154show_help_echo 2113,64459
1155static Lisp_Object kbd_buffer_get_event 2152,65485 1155static Lisp_Object kbd_buffer_get_event 2152,65488
1156static void record_char 2154,65597 1156static void record_char 2154,65600
1157static Lisp_Object help_form_saved_window_configs;2156,65639 1157static Lisp_Object help_form_saved_window_configs;2156,65642
1158read_char_help_form_unwind 2158,65702 1158read_char_help_form_unwind 2158,65705
1159#define STOP_POLLING 2166,65960 1159#define STOP_POLLING 2166,65963
1160#define RESUME_POLLING 2170,66085 1160#define RESUME_POLLING 2170,66088
1161read_event_from_main_queue 2175,66230 1161read_event_from_main_queue 2175,66233
1162read_decoded_event_from_main_queue 2249,68418 1162read_decoded_event_from_main_queue 2249,68421
1163#define MAX_ENCODED_BYTES 2254,68665 1163#define MAX_ENCODED_BYTES 2254,68668
1164echo_keystrokes_p 2342,71557 1164echo_keystrokes_p 2342,71560
1165read_char 2376,72849 1165read_char 2376,72852
1166record_menu_key 3225,98950 1166record_menu_key 3225,98953
1167help_char_p 3258,99675 1167help_char_p 3258,99678
1168record_char 3273,99954 1168record_char 3273,99957
1169save_getcjmp 3412,104236 1169save_getcjmp 3412,104239
1170restore_getcjmp 3418,104327 1170restore_getcjmp 3418,104330
1171readable_events 3430,104698 1171readable_events 3430,104701
1172int stop_character EXTERNALLY_VISIBLE;3497,106438 1172int stop_character EXTERNALLY_VISIBLE;3497,106441
1173event_to_kboard 3500,106494 1173event_to_kboard 3500,106497
1174kbd_buffer_nr_stored 3522,107143 1174kbd_buffer_nr_stored 3522,107146
1175kbd_buffer_store_event 3534,107484 1175kbd_buffer_store_event 3534,107487
1176kbd_buffer_store_event_hold 3550,108026 1176kbd_buffer_store_event_hold 3550,108029
1177kbd_buffer_unget_event 3684,111618 1177kbd_buffer_unget_event 3684,111621
1178#define INPUT_EVENT_POS_MAX 3698,112019 1178#define INPUT_EVENT_POS_MAX 3698,112022
1179#define INPUT_EVENT_POS_MIN 3701,112148 1179#define INPUT_EVENT_POS_MIN 3701,112151
1180position_to_Time 3706,112288 1180position_to_Time 3706,112291
1181Time_to_position 3716,112515 1181Time_to_position 3716,112518
1182gen_help_event 3738,113172 1182gen_help_event 3738,113175
1183kbd_buffer_store_help_event 3756,113612 1183kbd_buffer_store_help_event 3756,113615
1184discard_mouse_events 3773,113977 1184discard_mouse_events 3773,113980
1185kbd_buffer_events_waiting 3803,114712 1185kbd_buffer_events_waiting 3803,114715
1186clear_event 3823,115069 1186clear_event 3823,115072
1187kbd_buffer_get_event 3836,115409 1187kbd_buffer_get_event 3836,115412
1188process_special_events 4258,127882 1188process_special_events 4258,127885
1189swallow_events 4322,129706 1189swallow_events 4322,129709
1190timer_start_idle 4339,130099 1190timer_start_idle 4339,130102
1191timer_stop_idle 4355,130577 1191timer_stop_idle 4355,130580
1192timer_resume_idle 4363,130721 1192timer_resume_idle 4363,130724
1193struct input_event last_timer_event EXTERNALLY_VISIBLE;4372,130913 1193struct input_event last_timer_event EXTERNALLY_VISIBLE;4372,130916
1194Lisp_Object pending_funcalls;4377,131173 1194Lisp_Object pending_funcalls;4377,131176
1195decode_timer 4381,131294 1195decode_timer 4381,131297
1196timer_check_2 4414,132247 1196timer_check_2 4414,132250
1197timer_check 4572,136818 1197timer_check 4572,136821
1198DEFUN ("current-idle-time", Fcurrent_idle_time,4607,137663 1198DEFUN ("current-idle-time", Fcurrent_idle_time,4607,137666
1199DEFUN ("current-idle-time", Fcurrent_idle_time,current-idle-time4607,137663 1199DEFUN ("current-idle-time", Fcurrent_idle_time,current-idle-time4607,137666
1200static Lisp_Object accent_key_syms;4625,138240 1200static Lisp_Object accent_key_syms;4625,138243
1201static Lisp_Object func_key_syms;4626,138276 1201static Lisp_Object func_key_syms;4626,138279
1202static Lisp_Object mouse_syms;4627,138310 1202static Lisp_Object mouse_syms;4627,138313
1203static Lisp_Object wheel_syms;4628,138341 1203static Lisp_Object wheel_syms;4628,138344
1204static Lisp_Object drag_n_drop_syms;4629,138372 1204static Lisp_Object drag_n_drop_syms;4629,138375
1205static const int lispy_accent_codes[lispy_accent_codes4634,138517 1205static const int lispy_accent_codes[lispy_accent_codes4634,138520
1206static const char *const lispy_accent_keys[lispy_accent_keys4741,139879 1206static const char *const lispy_accent_keys[lispy_accent_keys4741,139882
1207#define FUNCTION_KEY_OFFSET 4766,140315 1207#define FUNCTION_KEY_OFFSET 4766,140318
1208const char *const lispy_function_keys[lispy_function_keys4768,140348 1208const char *const lispy_function_keys[lispy_function_keys4768,140351
1209static const char *const lispy_multimedia_keys[lispy_multimedia_keys4962,148902 1209static const char *const lispy_multimedia_keys[lispy_multimedia_keys4962,148905
1210static const char *const lispy_kana_keys[lispy_kana_keys5026,150136 1210static const char *const lispy_kana_keys[lispy_kana_keys5026,150139
1211#define FUNCTION_KEY_OFFSET 5061,151752 1211#define FUNCTION_KEY_OFFSET 5061,151755
1212static const char *const lispy_function_keys[lispy_function_keys5065,151895 1212static const char *const lispy_function_keys[lispy_function_keys5065,151898
1213#define ISO_FUNCTION_KEY_OFFSET 5149,154430 1213#define ISO_FUNCTION_KEY_OFFSET 5149,154433
1214static const char *const iso_lispy_function_keys[iso_lispy_function_keys5151,154470 1214static const char *const iso_lispy_function_keys[iso_lispy_function_keys5151,154473
1215static Lisp_Object Vlispy_mouse_stem;5172,155329 1215static Lisp_Object Vlispy_mouse_stem;5172,155332
1216static const char *const lispy_wheel_names[lispy_wheel_names5174,155368 1216static const char *const lispy_wheel_names[lispy_wheel_names5174,155371
1217static const char *const lispy_drag_n_drop_names[lispy_drag_n_drop_names5181,155620 1217static const char *const lispy_drag_n_drop_names[lispy_drag_n_drop_names5181,155623
1218static short const scroll_bar_parts[scroll_bar_parts5189,155886 1218static short const scroll_bar_parts[scroll_bar_parts5189,155889
1219static Lisp_Object button_down_location;5210,156911 1219static Lisp_Object button_down_location;5210,156914
1220static int last_mouse_button;5215,157066 1220static int last_mouse_button;5215,157069
1221static int last_mouse_x;5216,157096 1221static int last_mouse_x;5216,157099
1222static int last_mouse_y;5217,157121 1222static int last_mouse_y;5217,157124
1223static Time button_down_time;5218,157146 1223static Time button_down_time;5218,157149
1224static int double_click_count;5222,157230 1224static int double_click_count;5222,157233
1225make_lispy_position 5228,157391 1225make_lispy_position 5228,157394
1226toolkit_menubar_in_use 5456,163954 1226toolkit_menubar_in_use 5456,163957
1227make_scroll_bar_position 5469,164322 1227make_scroll_bar_position 5469,164325
1228make_lispy_event 5485,164968 1228make_lispy_event 5485,164971
1229make_lispy_movement 6104,183531 1229make_lispy_movement 6104,183534
1230make_lispy_switch_frame 6131,184262 1230make_lispy_switch_frame 6131,184265
1231make_lispy_focus_in 6137,184369 1231make_lispy_focus_in 6137,184372
1232make_lispy_focus_out 6145,184495 1232make_lispy_focus_out 6145,184498
1233parse_modifiers_uncached 6163,184945 1233parse_modifiers_uncached 6163,184948
1234#define SINGLE_LETTER_MOD(6185,185465 1234#define SINGLE_LETTER_MOD(6185,185468
1235#undef SINGLE_LETTER_MOD6212,185906 1235#undef SINGLE_LETTER_MOD6212,185909
1236#define MULTI_LETTER_MOD(6214,185932 1236#define MULTI_LETTER_MOD(6214,185935
1237#undef MULTI_LETTER_MOD6231,186400 1237#undef MULTI_LETTER_MOD6231,186403
1238apply_modifiers_uncached 6273,187574 1238apply_modifiers_uncached 6273,187577
1239static const char *const modifier_names[modifier_names6319,189193 1239static const char *const modifier_names[modifier_names6319,189196
1240#define NUM_MOD_NAMES 6325,189399 1240#define NUM_MOD_NAMES 6325,189402
1241static Lisp_Object modifier_symbols;6327,189449 1241static Lisp_Object modifier_symbols;6327,189452
1242lispy_modifier_list 6331,189586 1242lispy_modifier_list 6331,189589
1243#define KEY_TO_CHAR(6353,190252 1243#define KEY_TO_CHAR(6353,190255
1244parse_modifiers 6356,190328 1244parse_modifiers 6356,190331
1245DEFUN ("internal-event-symbol-parse-modifiers", Fevent_symbol_parse_modifiers,6399,191517 1245DEFUN ("internal-event-symbol-parse-modifiers", Fevent_symbol_parse_modifiers,6399,191520
1246DEFUN ("internal-event-symbol-parse-modifiers", Fevent_symbol_parse_modifiers,event-symbol-parse-modifiers6399,191517 1246DEFUN ("internal-event-symbol-parse-modifiers", Fevent_symbol_parse_modifiers,event-symbol-parse-modifiers6399,191520
1247apply_modifiers 6422,192391 1247apply_modifiers 6422,192394
1248reorder_modifiers 6491,194720 1248reorder_modifiers 6491,194723
1249modify_event_symbol 6536,196528 1249modify_event_symbol 6536,196531
1250DEFUN ("event-convert-list", Fevent_convert_list,6628,199244 1250DEFUN ("event-convert-list", Fevent_convert_list,6628,199247
1251DEFUN ("event-convert-list", Fevent_convert_list,event-convert-list6628,199244 1251DEFUN ("event-convert-list", Fevent_convert_list,event-convert-list6628,199247
1252parse_solitary_modifier 6695,201135 1252parse_solitary_modifier 6695,201138
1253#define SINGLE_LETTER_MOD(6701,201258 1253#define SINGLE_LETTER_MOD(6701,201261
1254#define MULTI_LETTER_MOD(6705,201343 1254#define MULTI_LETTER_MOD(6705,201346
1255#undef SINGLE_LETTER_MOD6763,202641 1255#undef SINGLE_LETTER_MOD6763,202644
1256#undef MULTI_LETTER_MOD6764,202666 1256#undef MULTI_LETTER_MOD6764,202669
1257lucid_event_type_list_p 6775,202889 1257lucid_event_type_list_p 6775,202892
1258get_input_pending 6814,203960 1258get_input_pending 6814,203963
1259record_asynch_buffer_change 6834,204579 1259record_asynch_buffer_change 6834,204582
1260gobble_input 6872,205702 1260gobble_input 6872,205705
1261tty_read_avail_input 6967,208310 1261tty_read_avail_input 6967,208313
1262handle_async_input 7149,214039 1262handle_async_input 7149,214042
1263process_pending_signals 7165,214359 1263process_pending_signals 7165,214362
1264unblock_input_to 7177,214645 1264unblock_input_to 7177,214648
1265unblock_input 7200,215277 1265unblock_input 7200,215280
1266totally_unblock_input 7209,215445 1266totally_unblock_input 7209,215448
1267handle_input_available_signal 7217,215529 1267handle_input_available_signal 7217,215532
1268deliver_input_available_signal 7226,215700 1268deliver_input_available_signal 7226,215703
1269struct user_signal_info7235,215865 1269struct user_signal_info7235,215868
1270static struct user_signal_info *user_signals user_signals7250,216090 1270static struct user_signal_info *user_signals user_signals7250,216093
1271add_user_signal 7253,216149 1271add_user_signal 7253,216152
1272handle_user_signal 7275,216598 1272handle_user_signal 7275,216601
1273deliver_user_signal 7316,217558 1273deliver_user_signal 7316,217561
1274find_user_signal_name 7322,217659 1274find_user_signal_name 7322,217662
1275store_user_signal_events 7334,217841 1275store_user_signal_events 7334,217844
1276static void menu_bar_item 7362,218341 1276static void menu_bar_item 7362,218344
1277static Lisp_Object menu_bar_one_keymap_changed_items;7363,218416 1277static Lisp_Object menu_bar_one_keymap_changed_items;7363,218419
1278static Lisp_Object menu_bar_items_vector;7368,218630 1278static Lisp_Object menu_bar_items_vector;7368,218633
1279static int menu_bar_items_index;7369,218672 1279static int menu_bar_items_index;7369,218675
1280static const char *separator_names[separator_names7372,218707 1280static const char *separator_names[separator_names7372,218710
1281menu_separator_name_p 7393,219148 1281menu_separator_name_p 7393,219151
1282menu_bar_items 7426,219852 1282menu_bar_items 7426,219855
1283Lisp_Object item_properties;7568,224603 1283Lisp_Object item_properties;7568,224606
1284menu_bar_item 7571,224645 1284menu_bar_item 7571,224648
1285menu_item_eval_property_1 7647,227175 1285menu_item_eval_property_1 7647,227178
1286eval_dyn 7658,227465 1286eval_dyn 7658,227468
1287menu_item_eval_property 7666,227675 1287menu_item_eval_property 7666,227678
1288parse_menu_item 7686,228341 1288parse_menu_item 7686,228344
1289static Lisp_Object tool_bar_items_vector;7965,236336 1289static Lisp_Object tool_bar_items_vector;7965,236339
1290static Lisp_Object tool_bar_item_properties;7970,236510 1290static Lisp_Object tool_bar_item_properties;7970,236513
1291static int ntool_bar_items;7974,236606 1291static int ntool_bar_items;7974,236609
1292static void init_tool_bar_items 7978,236664 1292static void init_tool_bar_items 7978,236667
1293static void process_tool_bar_item 7979,236711 1293static void process_tool_bar_item 7979,236714
1294static bool parse_tool_bar_item 7981,236801 1294static bool parse_tool_bar_item 7981,236804
1295static void append_tool_bar_item 7982,236861 1295static void append_tool_bar_item 7982,236864
1296tool_bar_items 7990,237083 1296tool_bar_items 7990,237086
1297process_tool_bar_item 8075,239892 1297process_tool_bar_item 8075,239895
1298#define PROP(8112,240969 1298#define PROP(8112,240972
1299set_prop 8114,241038 1299set_prop 8114,241041
1300parse_tool_bar_item 8167,242453 1300parse_tool_bar_item 8167,242456
1301#undef PROP8379,248844 1301#undef PROP8379,248847
1302init_tool_bar_items 8387,248969 1302init_tool_bar_items 8387,248972
1303append_tool_bar_item 8401,249261 1303append_tool_bar_item 8401,249264
1304read_char_x_menu_prompt 8443,250771 1304read_char_x_menu_prompt 8443,250774
1305read_char_minibuf_menu_prompt 8503,252445 1305read_char_minibuf_menu_prompt 8503,252448
1306#define PUSH_C_STR(8527,253014 1306#define PUSH_C_STR(8527,253017
1307follow_key 8726,258553 1307follow_key 8726,258556
1308active_maps 8733,258695 1308active_maps 8733,258698
1309typedef struct keyremap8742,259021 1309typedef struct keyremap8742,259024
1310} keyremap;8754,259464 1310} keyremap;8754,259467
1311access_keymap_keyremap 8764,259808 1311access_keymap_keyremap 8764,259811
1312keyremap_step 8811,261450 1312keyremap_step 8811,261453
1313test_undefined 8867,262934 1313test_undefined 8867,262937
1314read_key_sequence 8916,264861 1314read_key_sequence 8916,264864
1315read_key_sequence_vs 9826,295821 1315read_key_sequence_vs 9826,295824
1316DEFUN ("read-key-sequence", Fread_key_sequence,9885,297294 1316DEFUN ("read-key-sequence", Fread_key_sequence,9885,297297
1317DEFUN ("read-key-sequence", Fread_key_sequence,read-key-sequence9885,297294 1317DEFUN ("read-key-sequence", Fread_key_sequence,read-key-sequence9885,297297
1318DEFUN ("read-key-sequence-vector", Fread_key_sequence_vector,9938,299982 1318DEFUN ("read-key-sequence-vector", Fread_key_sequence_vector,9938,299985
1319DEFUN ("read-key-sequence-vector", Fread_key_sequence_vector,read-key-sequence-vector9938,299982 1319DEFUN ("read-key-sequence-vector", Fread_key_sequence_vector,read-key-sequence-vector9938,299985
1320detect_input_pending 9950,300488 1320detect_input_pending 9950,300491
1321detect_input_pending_ignore_squeezables 9959,300654 1321detect_input_pending_ignore_squeezables 9959,300657
1322detect_input_pending_run_timers 9967,300870 1322detect_input_pending_run_timers 9967,300873
1323clear_input_pending 9985,301362 1323clear_input_pending 9985,301365
1324requeued_events_pending_p 9997,301732 1324requeued_events_pending_p 9997,301735
1325DEFUN ("input-pending-p", Finput_pending_p,10002,301813 1325DEFUN ("input-pending-p", Finput_pending_p,10002,301816
1326DEFUN ("input-pending-p", Finput_pending_p,input-pending-p10002,301813 1326DEFUN ("input-pending-p", Finput_pending_p,input-pending-p10002,301816
1327DEFUN ("recent-keys", Frecent_keys,10024,302596 1327DEFUN ("recent-keys", Frecent_keys,10024,302599
1328DEFUN ("recent-keys", Frecent_keys,recent-keys10024,302596 1328DEFUN ("recent-keys", Frecent_keys,recent-keys10024,302599
1329DEFUN ("this-command-keys", Fthis_command_keys,10055,303517 1329DEFUN ("this-command-keys", Fthis_command_keys,10055,303520
1330DEFUN ("this-command-keys", Fthis_command_keys,this-command-keys10055,303517 1330DEFUN ("this-command-keys", Fthis_command_keys,this-command-keys10055,303520
1331DEFUN ("this-command-keys-vector", Fthis_command_keys_vector,10068,303958 1331DEFUN ("this-command-keys-vector", Fthis_command_keys_vector,10068,303961
1332DEFUN ("this-command-keys-vector", Fthis_command_keys_vector,this-command-keys-vector10068,303958 1332DEFUN ("this-command-keys-vector", Fthis_command_keys_vector,this-command-keys-vector10068,303961
1333DEFUN ("this-single-command-keys", Fthis_single_command_keys,10080,304380 1333DEFUN ("this-single-command-keys", Fthis_single_command_keys,10080,304383
1334DEFUN ("this-single-command-keys", Fthis_single_command_keys,this-single-command-keys10080,304380 1334DEFUN ("this-single-command-keys", Fthis_single_command_keys,this-single-command-keys10080,304383
1335DEFUN ("this-single-command-raw-keys", Fthis_single_command_raw_keys,10096,304955 1335DEFUN ("this-single-command-raw-keys", Fthis_single_command_raw_keys,10096,304958
1336DEFUN ("this-single-command-raw-keys", Fthis_single_command_raw_keys,this-single-command-raw-keys10096,304955 1336DEFUN ("this-single-command-raw-keys", Fthis_single_command_raw_keys,this-single-command-raw-keys10096,304958
1337DEFUN ("reset-this-command-lengths", Freset_this_command_lengths,10109,305495 1337DEFUN ("reset-this-command-lengths", Freset_this_command_lengths,10109,305498
1338DEFUN ("reset-this-command-lengths", Freset_this_command_lengths,reset-this-command-lengths10109,305495 1338DEFUN ("reset-this-command-lengths", Freset_this_command_lengths,reset-this-command-lengths10109,305498
1339DEFUN ("clear-this-command-keys", Fclear_this_command_keys,10136,306510 1339DEFUN ("clear-this-command-keys", Fclear_this_command_keys,10136,306513
1340DEFUN ("clear-this-command-keys", Fclear_this_command_keys,clear-this-command-keys10136,306510 1340DEFUN ("clear-this-command-keys", Fclear_this_command_keys,clear-this-command-keys10136,306513
1341DEFUN ("recursion-depth", Frecursion_depth,10158,307069 1341DEFUN ("recursion-depth", Frecursion_depth,10158,307072
1342DEFUN ("recursion-depth", Frecursion_depth,recursion-depth10158,307069 1342DEFUN ("recursion-depth", Frecursion_depth,recursion-depth10158,307072
1343DEFUN ("open-dribble-file", Fopen_dribble_file,10169,307406 1343DEFUN ("open-dribble-file", Fopen_dribble_file,10169,307409
1344DEFUN ("open-dribble-file", Fopen_dribble_file,open-dribble-file10169,307406 1344DEFUN ("open-dribble-file", Fopen_dribble_file,open-dribble-file10169,307409
1345DEFUN ("discard-input", Fdiscard_input,10203,308447 1345DEFUN ("discard-input", Fdiscard_input,10203,308450
1346DEFUN ("discard-input", Fdiscard_input,discard-input10203,308447 1346DEFUN ("discard-input", Fdiscard_input,discard-input10203,308450
1347DEFUN ("suspend-emacs", Fsuspend_emacs,10225,308949 1347DEFUN ("suspend-emacs", Fsuspend_emacs,10225,308952
1348DEFUN ("suspend-emacs", Fsuspend_emacs,suspend-emacs10225,308949 1348DEFUN ("suspend-emacs", Fsuspend_emacs,suspend-emacs10225,308952
1349stuff_buffered_input 10285,311045 1349stuff_buffered_input 10285,311048
1350set_waiting_for_input 10323,312016 1350set_waiting_for_input 10323,312019
1351clear_waiting_for_input 10337,312390 1351clear_waiting_for_input 10337,312393
1352handle_interrupt_signal 10351,312754 1352handle_interrupt_signal 10351,312757
1353deliver_interrupt_signal 10378,313642 1353deliver_interrupt_signal 10378,313645
1354static int volatile force_quit_count;10387,313932 1354static int volatile force_quit_count;10387,313935
1355handle_interrupt 10401,314414 1355handle_interrupt 10401,314417
1356quit_throw_to_read_char 10541,318711 1356quit_throw_to_read_char 10541,318714
1357DEFUN ("set-input-interrupt-mode", Fset_input_interrupt_mode,10562,319288 1357DEFUN ("set-input-interrupt-mode", Fset_input_interrupt_mode,10562,319291
1358DEFUN ("set-input-interrupt-mode", Fset_input_interrupt_mode,set-input-interrupt-mode10562,319288 1358DEFUN ("set-input-interrupt-mode", Fset_input_interrupt_mode,set-input-interrupt-mode10562,319291
1359DEFUN ("set-output-flow-control", Fset_output_flow_control,10609,320516 1359DEFUN ("set-output-flow-control", Fset_output_flow_control,10609,320519
1360DEFUN ("set-output-flow-control", Fset_output_flow_control,set-output-flow-control10609,320516 1360DEFUN ("set-output-flow-control", Fset_output_flow_control,set-output-flow-control10609,320519
1361DEFUN ("set-input-meta-mode", Fset_input_meta_mode,10643,321432 1361DEFUN ("set-input-meta-mode", Fset_input_meta_mode,10643,321435
1362DEFUN ("set-input-meta-mode", Fset_input_meta_mode,set-input-meta-mode10643,321432 1362DEFUN ("set-input-meta-mode", Fset_input_meta_mode,set-input-meta-mode10643,321435
1363DEFUN ("set-quit-char", Fset_quit_char,10694,322706 1363DEFUN ("set-quit-char", Fset_quit_char,10694,322709
1364DEFUN ("set-quit-char", Fset_quit_char,set-quit-char10694,322706 1364DEFUN ("set-quit-char", Fset_quit_char,set-quit-char10694,322709
1365DEFUN ("set-input-mode", Fset_input_mode,10729,323570 1365DEFUN ("set-input-mode", Fset_input_mode,10729,323573
1366DEFUN ("set-input-mode", Fset_input_mode,set-input-mode10729,323570 1366DEFUN ("set-input-mode", Fset_input_mode,set-input-mode10729,323573
1367DEFUN ("current-input-mode", Fcurrent_input_mode,10750,324459 1367DEFUN ("current-input-mode", Fcurrent_input_mode,10750,324462
1368DEFUN ("current-input-mode", Fcurrent_input_mode,current-input-mode10750,324459 1368DEFUN ("current-input-mode", Fcurrent_input_mode,current-input-mode10750,324462
1369DEFUN ("posn-at-x-y", Fposn_at_x_y,10787,325837 1369DEFUN ("posn-at-x-y", Fposn_at_x_y,10787,325840
1370DEFUN ("posn-at-x-y", Fposn_at_x_y,posn-at-x-y10787,325837 1370DEFUN ("posn-at-x-y", Fposn_at_x_y,posn-at-x-y10787,325840
1371DEFUN ("posn-at-point", Fposn_at_point,10824,327060 1371DEFUN ("posn-at-point", Fposn_at_point,10824,327063
1372DEFUN ("posn-at-point", Fposn_at_point,posn-at-point10824,327060 1372DEFUN ("posn-at-point", Fposn_at_point,posn-at-point10824,327063
1373init_kboard 10861,328214 1373init_kboard 10861,328217
1374allocate_kboard 10893,329284 1374allocate_kboard 10893,329287
1375wipe_kboard 10909,329637 1375wipe_kboard 10909,329640
1376delete_kboard 10917,329751 1376delete_kboard 10917,329754
1377init_keyboard 10942,330281 1377init_keyboard 10942,330284
1378struct event_head11021,332696 1378struct event_head11021,332699
1379static const struct event_head head_table[head_table11027,332747 1379static const struct event_head head_table[head_table11027,332750
1380syms_of_keyboard 11045,333577 1380syms_of_keyboard 11045,333580
1381keys_of_keyboard 11841,367115 1381keys_of_keyboard 11841,367118
1382mark_kboards 11916,370434 1382mark_kboards 11916,370437
1383 1383
1384c-src/emacs/src/lisp.h,33840 1384c-src/emacs/src/lisp.h,33840
1385#define EMACS_LISP_H22,801 1385#define EMACS_LISP_H22,801
@@ -2735,112 +2735,112 @@ el-src/emacs/lisp/progmodes/etags.el,5188
2735(defcustom tags-tag-face 148,5700 2735(defcustom tags-tag-face 148,5700
2736(defcustom tags-apropos-verbose 154,5835 2736(defcustom tags-apropos-verbose 154,5835
2737(defcustom tags-apropos-additional-actions 160,5999 2737(defcustom tags-apropos-additional-actions 160,5999
2738(defvaralias 'find-tag-marker-ring find-tag-marker-ring183,6918 2738(defvaralias 'find-tag-marker-ring find-tag-marker-ring183,6921
2739(defvar default-tags-table-function 189,7098 2739(defvar default-tags-table-function 189,7101
2740(defvar tags-location-ring 194,7324 2740(defvar tags-location-ring 194,7327
2741(defvar tags-table-files 201,7600 2741(defvar tags-table-files 201,7603
2742(defvar tags-completion-table 206,7767 2742(defvar tags-completion-table 206,7770
2743(defvar tags-included-tables 209,7859 2743(defvar tags-included-tables 209,7862
2744(defvar next-file-list 212,7954 2744(defvar next-file-list 212,7957
2745(defvar tags-table-format-functions 217,8060 2745(defvar tags-table-format-functions 217,8063
2746(defvar file-of-tag-function 224,8441 2746(defvar file-of-tag-function 224,8444
2747(defvar tags-table-files-function 228,8635 2747(defvar tags-table-files-function 228,8638
2748(defvar tags-completion-table-function 230,8746 2748(defvar tags-completion-table-function 230,8749
2749(defvar snarf-tag-function 232,8841 2749(defvar snarf-tag-function 232,8844
2750(defvar goto-tag-location-function 236,9050 2750(defvar goto-tag-location-function 236,9053
2751(defvar find-tag-regexp-search-function 239,9223 2751(defvar find-tag-regexp-search-function 239,9226
2752(defvar find-tag-regexp-tag-order 241,9344 2752(defvar find-tag-regexp-tag-order 241,9347
2753(defvar find-tag-regexp-next-line-after-failure-p 243,9453 2753(defvar find-tag-regexp-next-line-after-failure-p 243,9456
2754(defvar find-tag-search-function 245,9573 2754(defvar find-tag-search-function 245,9576
2755(defvar find-tag-tag-order 247,9680 2755(defvar find-tag-tag-order 247,9683
2756(defvar find-tag-next-line-after-failure-p 249,9775 2756(defvar find-tag-next-line-after-failure-p 249,9778
2757(defvar list-tags-function 251,9881 2757(defvar list-tags-function 251,9884
2758(defvar tags-apropos-function 253,9969 2758(defvar tags-apropos-function 253,9972
2759(defvar tags-included-tables-function 255,10063 2759(defvar tags-included-tables-function 255,10066
2760(defvar verify-tags-table-function 257,10182 2760(defvar verify-tags-table-function 257,10185
2761(defun initialize-new-tags-table 260,10293 2761(defun initialize-new-tags-table 260,10296
2762(defun tags-table-mode 276,10981 2762(defun tags-table-mode 276,10984
2763(defun visit-tags-table 285,11246 2763(defun visit-tags-table 285,11249
2764(defun tags-table-check-computed-list 321,12784 2764(defun tags-table-check-computed-list 321,12787
2765(defun tags-table-extend-computed-list 360,14655 2765(defun tags-table-extend-computed-list 360,14658
2766(defun tags-expand-table-name 400,16368 2766(defun tags-expand-table-name 400,16371
2767(defun tags-table-list-member 409,16711 2767(defun tags-table-list-member 409,16714
2768(defun tags-verify-table 421,17183 2768(defun tags-verify-table 421,17186
2769(defun tags-table-including 470,19303 2769(defun tags-table-including 470,19306
2770(defun tags-next-table 522,21347 2770(defun tags-next-table 522,21350
2771(defun visit-tags-table-buffer 543,22204 2771(defun visit-tags-table-buffer 543,22207
2772(defun tags-reset-tags-tables 712,28514 2772(defun tags-reset-tags-tables 712,28517
2773(defun file-of-tag 731,29171 2773(defun file-of-tag 731,29174
2774(defun tags-table-files 740,29521 2774(defun tags-table-files 740,29524
2775(defun tags-included-tables 749,29871 2775(defun tags-included-tables 749,29874
2776(defun tags-completion-table 755,30117 2776(defun tags-completion-table 755,30120
2777(defun tags-lazy-completion-table 783,31311 2777(defun tags-lazy-completion-table 783,31314
2778(defun tags-completion-at-point-function 799,31946 2778(defun tags-completion-at-point-function 799,31949
2779(defun find-tag-tag 818,32696 2779(defun find-tag-tag 818,32699
2780(defvar last-tag 837,33369 2780(defvar last-tag 837,33372
2781(defun find-tag-interactive 840,33428 2781(defun find-tag-interactive 840,33431
2782(defvar find-tag-history 852,33843 2782(defvar find-tag-history 852,33846
2783(defvar etags-case-fold-search)855,33908 2783(defvar etags-case-fold-search)855,33911
2784(defvar etags-syntax-table)856,33940 2784(defvar etags-syntax-table)856,33943
2785(defvar local-find-tag-hook)857,33968 2785(defvar local-find-tag-hook)857,33971
2786(defun find-tag-noselect 860,34013 2786(defun find-tag-noselect 860,34016
2787(defun find-tag 932,37127 2787(defun find-tag 932,37130
2788(defun find-tag-other-window 959,38343 2788(defun find-tag-other-window 959,38346
2789(defun find-tag-other-frame 1000,40271 2789(defun find-tag-other-frame 1000,40274
2790(defun find-tag-regexp 1025,41445 2790(defun find-tag-regexp 1025,41448
2791(defalias 'pop-tag-mark pop-tag-mark1049,42607 2791(defalias 'pop-tag-mark pop-tag-mark1049,42610
2792(defvar tag-lines-already-matched 1052,42658 2792(defvar tag-lines-already-matched 1052,42661
2793(defun find-tag-in-order 1055,42765 2793(defun find-tag-in-order 1055,42768
2794(defun tag-find-file-of-tag-noselect 1167,47111 2794(defun tag-find-file-of-tag-noselect 1167,47114
2795(defun tag-find-file-of-tag 1200,48957 2795(defun tag-find-file-of-tag 1200,48960
2796(defun etags-recognize-tags-table 1208,49183 2796(defun etags-recognize-tags-table 1208,49186
2797(defun etags-verify-tags-table 1241,50814 2797(defun etags-verify-tags-table 1241,50817
2798(defun etags-file-of-tag 1246,51012 2798(defun etags-file-of-tag 1246,51015
2799(defun etags-tags-completion-table 1256,51347 2799(defun etags-tags-completion-table 1256,51350
2800(defun etags-snarf-tag 1286,52553 2800(defun etags-snarf-tag 1286,52556
2801(defun etags-goto-tag-location 1324,54122 2801(defun etags-goto-tag-location 1324,54125
2802(defun etags-list-tags 1388,56565 2802(defun etags-list-tags 1388,56568
2803(defmacro tags-with-face 1423,57840 2803(defmacro tags-with-face 1423,57843
2804(defun etags-tags-apropos-additional 1431,58173 2804(defun etags-tags-apropos-additional 1431,58176
2805(defun etags-tags-apropos 1465,59410 2805(defun etags-tags-apropos 1465,59413
2806(defun etags-tags-table-files 1527,61619 2806(defun etags-tags-table-files 1527,61622
2807(defun etags-tags-included-tables 1542,62055 2807(defun etags-tags-included-tables 1542,62058
2808(defun tags-recognize-empty-tags-table 1559,62595 2808(defun tags-recognize-empty-tags-table 1559,62598
2809(defun tag-exact-file-name-match-p 1587,63741 2809(defun tag-exact-file-name-match-p 1587,63744
2810(defun tag-file-name-match-p 1596,64134 2810(defun tag-file-name-match-p 1596,64137
2811(defun tag-exact-match-p 1609,64690 2811(defun tag-exact-match-p 1609,64693
2812(defun tag-implicit-name-match-p 1620,65258 2812(defun tag-implicit-name-match-p 1620,65261
2813(defun tag-symbol-match-p 1633,65858 2813(defun tag-symbol-match-p 1633,65861
2814(defun tag-word-match-p 1643,66294 2814(defun tag-word-match-p 1643,66297
2815(defun tag-partial-file-name-match-p 1652,66692 2815(defun tag-partial-file-name-match-p 1652,66695
2816(defun tag-any-match-p 1662,67136 2816(defun tag-any-match-p 1662,67139
2817(defun tag-re-match-p 1667,67320 2817(defun tag-re-match-p 1667,67323
2818(defcustom tags-loop-revert-buffers 1675,67569 2818(defcustom tags-loop-revert-buffers 1675,67572
2819(defun next-file 1685,67978 2819(defun next-file 1685,67981
2820(defvar tags-loop-operate 1760,70892 2820(defvar tags-loop-operate 1760,70895
2821(defvar tags-loop-scan1763,70986 2821(defvar tags-loop-scan1763,70989
2822(defun tags-loop-eval 1771,71315 2822(defun tags-loop-eval 1771,71318
2823(defun tags-loop-continue 1782,71644 2823(defun tags-loop-continue 1782,71647
2824(defun tags-search 1850,73950 2824(defun tags-search 1850,73953
2825(defun tags-query-replace 1871,74776 2825(defun tags-query-replace 1871,74779
2826(defun tags-complete-tags-table-file 1896,76000 2826(defun tags-complete-tags-table-file 1896,76003
2827(defun list-tags 1906,76379 2827(defun list-tags 1906,76382
2828(defun tags-apropos 1934,77332 2828(defun tags-apropos 1934,77335
2829(define-button-type 'tags-select-tags-tabletags-select-tags-table1957,78158 2829(define-button-type 'tags-select-tags-tabletags-select-tags-table1957,78161
2830(defun select-tags-table 1964,78397 2830(defun select-tags-table 1964,78400
2831(defvar select-tags-table-mode-map 2019,80524 2831(defvar select-tags-table-mode-map 2019,80527
2832(define-derived-mode select-tags-table-mode 2030,80907 2832(define-derived-mode select-tags-table-mode 2030,80910
2833(defun select-tags-table-select 2034,81091 2833(defun select-tags-table-select 2034,81094
2834(defun select-tags-table-quit 2043,81457 2834(defun select-tags-table-quit 2043,81460
2835(defun complete-tag 2049,81612 2835(defun complete-tag 2049,81615
2836(defconst etags--xref-limit 2074,82553 2836(defconst etags--xref-limit 2074,82556
2837(defvar etags-xref-find-definitions-tag-order 2076,82588 2837(defvar etags-xref-find-definitions-tag-order 2076,82591
2838(defun etags-xref-find 2082,82878 2838(defun etags-xref-find 2082,82881
2839(defun etags--xref-find-definitions 2096,83407 2839(defun etags--xref-find-definitions 2096,83410
2840(defclass xref-etags-location 2129,85121 2840(defclass xref-etags-location 2129,85124
2841(defun xref-make-etags-location 2135,85344 2841(defun xref-make-etags-location 2135,85347
2842(cl-defmethod xref-location-marker 2139,85499 2842(cl-defmethod xref-location-marker 2139,85502
2843(cl-defmethod xref-location-line 2146,85743 2843(cl-defmethod xref-location-line 2146,85746
2844 2844
2845erl-src/gs_dialog.erl,98 2845erl-src/gs_dialog.erl,98
2846-define(VERSION2,32 2846-define(VERSION2,32
diff --git a/test/manual/etags/ETAGS.good_3 b/test/manual/etags/ETAGS.good_3
index 9dca0084de3..45507706b32 100644
--- a/test/manual/etags/ETAGS.good_3
+++ b/test/manual/etags/ETAGS.good_3
@@ -1029,289 +1029,289 @@ record_auto_save 742,23849
1029force_auto_save_soon 751,24017 1029force_auto_save_soon 751,24017
1030DEFUN ("recursive-edit", Frecursive_edit,759,24138 1030DEFUN ("recursive-edit", Frecursive_edit,759,24138
1031DEFUN ("recursive-edit", Frecursive_edit,recursive-edit759,24138 1031DEFUN ("recursive-edit", Frecursive_edit,recursive-edit759,24138
1032recursive_edit_unwind 804,25748 1032recursive_edit_unwind 804,25751
1033any_kboard_state 817,26014 1033any_kboard_state 817,26017
1034single_kboard_state 838,26666 1034single_kboard_state 838,26669
1035not_single_kboard_state 848,26804 1035not_single_kboard_state 848,26807
1036struct kboard_stack858,27066 1036struct kboard_stack858,27069
1037 KBOARD *kboard;kboard860,27088 1037 KBOARD *kboard;kboard860,27091
1038 struct kboard_stack *next;next861,27106 1038 struct kboard_stack *next;next861,27109
1039static struct kboard_stack *kboard_stack;kboard_stack864,27139 1039static struct kboard_stack *kboard_stack;kboard_stack864,27142
1040push_kboard 867,27187 1040push_kboard 867,27190
1041pop_kboard 879,27376 1041pop_kboard 879,27379
1042temporarily_switch_to_single_kboard 914,28264 1042temporarily_switch_to_single_kboard 914,28267
1043record_single_kboard_state 943,29438 1043record_single_kboard_state 943,29441
1044restore_kboard_configuration 952,29622 1044restore_kboard_configuration 952,29625
1045cmd_error 970,30078 1045cmd_error 970,30081
1046cmd_error_internal 1024,31511 1046cmd_error_internal 1024,31514
1047DEFUN ("command-error-default-function", Fcommand_error_default_function,1043,32031 1047DEFUN ("command-error-default-function", Fcommand_error_default_function,1043,32034
1048DEFUN ("command-error-default-function", Fcommand_error_default_function,command-error-default-function1043,32031 1048DEFUN ("command-error-default-function", Fcommand_error_default_function,command-error-default-function1043,32034
1049command_loop 1094,33917 1049command_loop 1094,33920
1050command_loop_2 1134,35136 1050command_loop_2 1134,35139
1051top_level_2 1146,35340 1051top_level_2 1146,35343
1052top_level_1 1152,35418 1052top_level_1 1152,35421
1053DEFUN ("top-level", Ftop_level,1164,35788 1053DEFUN ("top-level", Ftop_level,1164,35791
1054DEFUN ("top-level", Ftop_level,top-level1164,35788 1054DEFUN ("top-level", Ftop_level,top-level1164,35791
1055user_error 1183,36289 1055user_error 1183,36292
1056DEFUN ("exit-recursive-edit", Fexit_recursive_edit,1189,36430 1056DEFUN ("exit-recursive-edit", Fexit_recursive_edit,1189,36433
1057DEFUN ("exit-recursive-edit", Fexit_recursive_edit,exit-recursive-edit1189,36430 1057DEFUN ("exit-recursive-edit", Fexit_recursive_edit,exit-recursive-edit1189,36433
1058DEFUN ("abort-recursive-edit", Fabort_recursive_edit,1201,36820 1058DEFUN ("abort-recursive-edit", Fabort_recursive_edit,1201,36823
1059DEFUN ("abort-recursive-edit", Fabort_recursive_edit,abort-recursive-edit1201,36820 1059DEFUN ("abort-recursive-edit", Fabort_recursive_edit,abort-recursive-edit1201,36823
1060tracking_off 1216,37282 1060tracking_off 1216,37285
1061DEFUN ("internal--track-mouse", Ftrack_mouse,1234,37817 1061DEFUN ("internal--track-mouse", Ftrack_mouse,1234,37820
1062DEFUN ("internal--track-mouse", Ftrack_mouse,track-mouse1234,37817 1062DEFUN ("internal--track-mouse", Ftrack_mouse,track-mouse1234,37820
1063bool ignore_mouse_drag_p;1256,38393 1063bool ignore_mouse_drag_p;1256,38396
1064some_mouse_moved 1259,38442 1064some_mouse_moved 1259,38445
1065Lisp_Object last_undo_boundary;1287,39033 1065Lisp_Object last_undo_boundary;1287,39036
1066command_loop_1 1294,39274 1066command_loop_1 1294,39277
1067read_menu_command 1649,50890 1067read_menu_command 1649,50893
1068adjust_point_for_property 1678,51618 1068adjust_point_for_property 1678,51621
1069safe_run_hooks_1 1831,57340 1069safe_run_hooks_1 1831,57343
1070safe_run_hooks_error 1841,57570 1070safe_run_hooks_error 1841,57573
1071safe_run_hook_funcall 1878,58577 1071safe_run_hook_funcall 1878,58580
1072safe_run_hooks 1893,59059 1072safe_run_hooks 1893,59062
1073int poll_suppress_count;1908,59398 1073int poll_suppress_count;1908,59401
1074static struct atimer *poll_timer;poll_timer1915,59488 1074static struct atimer *poll_timer;poll_timer1915,59491
1075poll_for_input_1 1919,59590 1075poll_for_input_1 1919,59593
1076poll_for_input 1930,59790 1076poll_for_input 1930,59793
1077start_polling 1942,60054 1077start_polling 1942,60057
1078input_polling_used 1979,61092 1078input_polling_used 1979,61095
1079stop_polling 1994,61391 1079stop_polling 1994,61394
1080set_poll_suppress_count 2009,61760 1080set_poll_suppress_count 2009,61763
1081bind_polling_period 2029,62142 1081bind_polling_period 2029,62145
1082make_ctrl_char 2048,62493 1082make_ctrl_char 2048,62496
1083show_help_echo 2113,64456 1083show_help_echo 2113,64459
1084static Lisp_Object help_form_saved_window_configs;2156,65639 1084static Lisp_Object help_form_saved_window_configs;2156,65642
1085read_char_help_form_unwind 2158,65702 1085read_char_help_form_unwind 2158,65705
1086#define STOP_POLLING 2166,65960 1086#define STOP_POLLING 2166,65963
1087#define RESUME_POLLING 2170,66085 1087#define RESUME_POLLING 2170,66088
1088read_event_from_main_queue 2175,66230 1088read_event_from_main_queue 2175,66233
1089read_decoded_event_from_main_queue 2249,68418 1089read_decoded_event_from_main_queue 2249,68421
1090#define MAX_ENCODED_BYTES 2254,68665 1090#define MAX_ENCODED_BYTES 2254,68668
1091echo_keystrokes_p 2342,71557 1091echo_keystrokes_p 2342,71560
1092read_char 2376,72849 1092read_char 2376,72852
1093record_menu_key 3225,98950 1093record_menu_key 3225,98953
1094help_char_p 3258,99675 1094help_char_p 3258,99678
1095record_char 3273,99954 1095record_char 3273,99957
1096save_getcjmp 3412,104236 1096save_getcjmp 3412,104239
1097restore_getcjmp 3418,104327 1097restore_getcjmp 3418,104330
1098readable_events 3430,104698 1098readable_events 3430,104701
1099int stop_character EXTERNALLY_VISIBLE;3497,106438 1099int stop_character EXTERNALLY_VISIBLE;3497,106441
1100event_to_kboard 3500,106494 1100event_to_kboard 3500,106497
1101kbd_buffer_nr_stored 3522,107143 1101kbd_buffer_nr_stored 3522,107146
1102kbd_buffer_store_event 3534,107484 1102kbd_buffer_store_event 3534,107487
1103kbd_buffer_store_event_hold 3550,108026 1103kbd_buffer_store_event_hold 3550,108029
1104kbd_buffer_unget_event 3684,111618 1104kbd_buffer_unget_event 3684,111621
1105#define INPUT_EVENT_POS_MAX 3698,112019 1105#define INPUT_EVENT_POS_MAX 3698,112022
1106#define INPUT_EVENT_POS_MIN 3701,112148 1106#define INPUT_EVENT_POS_MIN 3701,112151
1107position_to_Time 3706,112288 1107position_to_Time 3706,112291
1108Time_to_position 3716,112515 1108Time_to_position 3716,112518
1109gen_help_event 3738,113172 1109gen_help_event 3738,113175
1110kbd_buffer_store_help_event 3756,113612 1110kbd_buffer_store_help_event 3756,113615
1111discard_mouse_events 3773,113977 1111discard_mouse_events 3773,113980
1112kbd_buffer_events_waiting 3803,114712 1112kbd_buffer_events_waiting 3803,114715
1113clear_event 3823,115069 1113clear_event 3823,115072
1114kbd_buffer_get_event 3836,115409 1114kbd_buffer_get_event 3836,115412
1115process_special_events 4258,127882 1115process_special_events 4258,127885
1116swallow_events 4322,129706 1116swallow_events 4322,129709
1117timer_start_idle 4339,130099 1117timer_start_idle 4339,130102
1118timer_stop_idle 4355,130577 1118timer_stop_idle 4355,130580
1119timer_resume_idle 4363,130721 1119timer_resume_idle 4363,130724
1120struct input_event last_timer_event EXTERNALLY_VISIBLE;4372,130913 1120struct input_event last_timer_event EXTERNALLY_VISIBLE;4372,130916
1121Lisp_Object pending_funcalls;4377,131173 1121Lisp_Object pending_funcalls;4377,131176
1122decode_timer 4381,131294 1122decode_timer 4381,131297
1123timer_check_2 4414,132247 1123timer_check_2 4414,132250
1124timer_check 4572,136818 1124timer_check 4572,136821
1125DEFUN ("current-idle-time", Fcurrent_idle_time,4607,137663 1125DEFUN ("current-idle-time", Fcurrent_idle_time,4607,137666
1126DEFUN ("current-idle-time", Fcurrent_idle_time,current-idle-time4607,137663 1126DEFUN ("current-idle-time", Fcurrent_idle_time,current-idle-time4607,137666
1127static Lisp_Object accent_key_syms;4625,138240 1127static Lisp_Object accent_key_syms;4625,138243
1128static Lisp_Object func_key_syms;4626,138276 1128static Lisp_Object func_key_syms;4626,138279
1129static Lisp_Object mouse_syms;4627,138310 1129static Lisp_Object mouse_syms;4627,138313
1130static Lisp_Object wheel_syms;4628,138341 1130static Lisp_Object wheel_syms;4628,138344
1131static Lisp_Object drag_n_drop_syms;4629,138372 1131static Lisp_Object drag_n_drop_syms;4629,138375
1132static const int lispy_accent_codes[lispy_accent_codes4634,138517 1132static const int lispy_accent_codes[lispy_accent_codes4634,138520
1133static const char *const lispy_accent_keys[lispy_accent_keys4741,139879 1133static const char *const lispy_accent_keys[lispy_accent_keys4741,139882
1134#define FUNCTION_KEY_OFFSET 4766,140315 1134#define FUNCTION_KEY_OFFSET 4766,140318
1135const char *const lispy_function_keys[lispy_function_keys4768,140348 1135const char *const lispy_function_keys[lispy_function_keys4768,140351
1136static const char *const lispy_multimedia_keys[lispy_multimedia_keys4962,148902 1136static const char *const lispy_multimedia_keys[lispy_multimedia_keys4962,148905
1137static const char *const lispy_kana_keys[lispy_kana_keys5026,150136 1137static const char *const lispy_kana_keys[lispy_kana_keys5026,150139
1138#define FUNCTION_KEY_OFFSET 5061,151752 1138#define FUNCTION_KEY_OFFSET 5061,151755
1139static const char *const lispy_function_keys[lispy_function_keys5065,151895 1139static const char *const lispy_function_keys[lispy_function_keys5065,151898
1140#define ISO_FUNCTION_KEY_OFFSET 5149,154430 1140#define ISO_FUNCTION_KEY_OFFSET 5149,154433
1141static const char *const iso_lispy_function_keys[iso_lispy_function_keys5151,154470 1141static const char *const iso_lispy_function_keys[iso_lispy_function_keys5151,154473
1142static Lisp_Object Vlispy_mouse_stem;5172,155329 1142static Lisp_Object Vlispy_mouse_stem;5172,155332
1143static const char *const lispy_wheel_names[lispy_wheel_names5174,155368 1143static const char *const lispy_wheel_names[lispy_wheel_names5174,155371
1144static const char *const lispy_drag_n_drop_names[lispy_drag_n_drop_names5181,155620 1144static const char *const lispy_drag_n_drop_names[lispy_drag_n_drop_names5181,155623
1145static short const scroll_bar_parts[scroll_bar_parts5189,155886 1145static short const scroll_bar_parts[scroll_bar_parts5189,155889
1146static Lisp_Object button_down_location;5210,156911 1146static Lisp_Object button_down_location;5210,156914
1147static int last_mouse_button;5215,157066 1147static int last_mouse_button;5215,157069
1148static int last_mouse_x;5216,157096 1148static int last_mouse_x;5216,157099
1149static int last_mouse_y;5217,157121 1149static int last_mouse_y;5217,157124
1150static Time button_down_time;5218,157146 1150static Time button_down_time;5218,157149
1151static int double_click_count;5222,157230 1151static int double_click_count;5222,157233
1152make_lispy_position 5228,157391 1152make_lispy_position 5228,157394
1153toolkit_menubar_in_use 5456,163954 1153toolkit_menubar_in_use 5456,163957
1154make_scroll_bar_position 5469,164322 1154make_scroll_bar_position 5469,164325
1155make_lispy_event 5485,164968 1155make_lispy_event 5485,164971
1156make_lispy_movement 6104,183531 1156make_lispy_movement 6104,183534
1157make_lispy_switch_frame 6131,184262 1157make_lispy_switch_frame 6131,184265
1158make_lispy_focus_in 6137,184369 1158make_lispy_focus_in 6137,184372
1159make_lispy_focus_out 6145,184495 1159make_lispy_focus_out 6145,184498
1160parse_modifiers_uncached 6163,184945 1160parse_modifiers_uncached 6163,184948
1161#define SINGLE_LETTER_MOD(6185,185465 1161#define SINGLE_LETTER_MOD(6185,185468
1162#undef SINGLE_LETTER_MOD6212,185906 1162#undef SINGLE_LETTER_MOD6212,185909
1163#define MULTI_LETTER_MOD(6214,185932 1163#define MULTI_LETTER_MOD(6214,185935
1164#undef MULTI_LETTER_MOD6231,186400 1164#undef MULTI_LETTER_MOD6231,186403
1165apply_modifiers_uncached 6273,187574 1165apply_modifiers_uncached 6273,187577
1166static const char *const modifier_names[modifier_names6319,189193 1166static const char *const modifier_names[modifier_names6319,189196
1167#define NUM_MOD_NAMES 6325,189399 1167#define NUM_MOD_NAMES 6325,189402
1168static Lisp_Object modifier_symbols;6327,189449 1168static Lisp_Object modifier_symbols;6327,189452
1169lispy_modifier_list 6331,189586 1169lispy_modifier_list 6331,189589
1170#define KEY_TO_CHAR(6353,190252 1170#define KEY_TO_CHAR(6353,190255
1171parse_modifiers 6356,190328 1171parse_modifiers 6356,190331
1172DEFUN ("internal-event-symbol-parse-modifiers", Fevent_symbol_parse_modifiers,6399,191517 1172DEFUN ("internal-event-symbol-parse-modifiers", Fevent_symbol_parse_modifiers,6399,191520
1173DEFUN ("internal-event-symbol-parse-modifiers", Fevent_symbol_parse_modifiers,event-symbol-parse-modifiers6399,191517 1173DEFUN ("internal-event-symbol-parse-modifiers", Fevent_symbol_parse_modifiers,event-symbol-parse-modifiers6399,191520
1174apply_modifiers 6422,192391 1174apply_modifiers 6422,192394
1175reorder_modifiers 6491,194720 1175reorder_modifiers 6491,194723
1176modify_event_symbol 6536,196528 1176modify_event_symbol 6536,196531
1177DEFUN ("event-convert-list", Fevent_convert_list,6628,199244 1177DEFUN ("event-convert-list", Fevent_convert_list,6628,199247
1178DEFUN ("event-convert-list", Fevent_convert_list,event-convert-list6628,199244 1178DEFUN ("event-convert-list", Fevent_convert_list,event-convert-list6628,199247
1179parse_solitary_modifier 6695,201135 1179parse_solitary_modifier 6695,201138
1180#define SINGLE_LETTER_MOD(6701,201258 1180#define SINGLE_LETTER_MOD(6701,201261
1181#define MULTI_LETTER_MOD(6705,201343 1181#define MULTI_LETTER_MOD(6705,201346
1182#undef SINGLE_LETTER_MOD6763,202641 1182#undef SINGLE_LETTER_MOD6763,202644
1183#undef MULTI_LETTER_MOD6764,202666 1183#undef MULTI_LETTER_MOD6764,202669
1184lucid_event_type_list_p 6775,202889 1184lucid_event_type_list_p 6775,202892
1185get_input_pending 6814,203960 1185get_input_pending 6814,203963
1186record_asynch_buffer_change 6834,204579 1186record_asynch_buffer_change 6834,204582
1187gobble_input 6872,205702 1187gobble_input 6872,205705
1188tty_read_avail_input 6967,208310 1188tty_read_avail_input 6967,208313
1189handle_async_input 7149,214039 1189handle_async_input 7149,214042
1190process_pending_signals 7165,214359 1190process_pending_signals 7165,214362
1191unblock_input_to 7177,214645 1191unblock_input_to 7177,214648
1192unblock_input 7200,215277 1192unblock_input 7200,215280
1193totally_unblock_input 7209,215445 1193totally_unblock_input 7209,215448
1194handle_input_available_signal 7217,215529 1194handle_input_available_signal 7217,215532
1195deliver_input_available_signal 7226,215700 1195deliver_input_available_signal 7226,215703
1196struct user_signal_info7235,215865 1196struct user_signal_info7235,215868
1197 int sig;7238,215915 1197 int sig;7238,215918
1198 char *name;name7241,215956 1198 char *name;name7241,215959
1199 int npending;7244,216007 1199 int npending;7244,216010
1200 struct user_signal_info *next;next7246,216024 1200 struct user_signal_info *next;next7246,216027
1201static struct user_signal_info *user_signals user_signals7250,216090 1201static struct user_signal_info *user_signals user_signals7250,216093
1202add_user_signal 7253,216149 1202add_user_signal 7253,216152
1203handle_user_signal 7275,216598 1203handle_user_signal 7275,216601
1204deliver_user_signal 7316,217558 1204deliver_user_signal 7316,217561
1205find_user_signal_name 7322,217659 1205find_user_signal_name 7322,217662
1206store_user_signal_events 7334,217841 1206store_user_signal_events 7334,217844
1207static Lisp_Object menu_bar_one_keymap_changed_items;7363,218416 1207static Lisp_Object menu_bar_one_keymap_changed_items;7363,218419
1208static Lisp_Object menu_bar_items_vector;7368,218630 1208static Lisp_Object menu_bar_items_vector;7368,218633
1209static int menu_bar_items_index;7369,218672 1209static int menu_bar_items_index;7369,218675
1210static const char *separator_names[separator_names7372,218707 1210static const char *separator_names[separator_names7372,218710
1211menu_separator_name_p 7393,219148 1211menu_separator_name_p 7393,219151
1212menu_bar_items 7426,219852 1212menu_bar_items 7426,219855
1213Lisp_Object item_properties;7568,224603 1213Lisp_Object item_properties;7568,224606
1214menu_bar_item 7571,224645 1214menu_bar_item 7571,224648
1215menu_item_eval_property_1 7647,227175 1215menu_item_eval_property_1 7647,227178
1216eval_dyn 7658,227465 1216eval_dyn 7658,227468
1217menu_item_eval_property 7666,227675 1217menu_item_eval_property 7666,227678
1218parse_menu_item 7686,228341 1218parse_menu_item 7686,228344
1219static Lisp_Object tool_bar_items_vector;7965,236336 1219static Lisp_Object tool_bar_items_vector;7965,236339
1220static Lisp_Object tool_bar_item_properties;7970,236510 1220static Lisp_Object tool_bar_item_properties;7970,236513
1221static int ntool_bar_items;7974,236606 1221static int ntool_bar_items;7974,236609
1222tool_bar_items 7990,237083 1222tool_bar_items 7990,237086
1223process_tool_bar_item 8075,239892 1223process_tool_bar_item 8075,239895
1224#define PROP(8112,240969 1224#define PROP(8112,240972
1225set_prop 8114,241038 1225set_prop 8114,241041
1226parse_tool_bar_item 8167,242453 1226parse_tool_bar_item 8167,242456
1227#undef PROP8379,248844 1227#undef PROP8379,248847
1228init_tool_bar_items 8387,248969 1228init_tool_bar_items 8387,248972
1229append_tool_bar_item 8401,249261 1229append_tool_bar_item 8401,249264
1230read_char_x_menu_prompt 8443,250771 1230read_char_x_menu_prompt 8443,250774
1231read_char_minibuf_menu_prompt 8503,252445 1231read_char_minibuf_menu_prompt 8503,252448
1232#define PUSH_C_STR(8527,253014 1232#define PUSH_C_STR(8527,253017
1233follow_key 8726,258553 1233follow_key 8726,258556
1234active_maps 8733,258695 1234active_maps 8733,258698
1235typedef struct keyremap8742,259021 1235typedef struct keyremap8742,259024
1236 Lisp_Object parent;8745,259107 1236 Lisp_Object parent;8745,259110
1237 Lisp_Object map;8748,259224 1237 Lisp_Object map;8748,259227
1238 int start,8753,259446 1238 int start,8753,259449
1239 int start, end;8753,259446 1239 int start, end;8753,259449
1240} keyremap;8754,259464 1240} keyremap;8754,259467
1241access_keymap_keyremap 8764,259808 1241access_keymap_keyremap 8764,259811
1242keyremap_step 8811,261450 1242keyremap_step 8811,261453
1243test_undefined 8867,262934 1243test_undefined 8867,262937
1244read_key_sequence 8916,264861 1244read_key_sequence 8916,264864
1245read_key_sequence_vs 9826,295821 1245read_key_sequence_vs 9826,295824
1246DEFUN ("read-key-sequence", Fread_key_sequence,9885,297294 1246DEFUN ("read-key-sequence", Fread_key_sequence,9885,297297
1247DEFUN ("read-key-sequence", Fread_key_sequence,read-key-sequence9885,297294 1247DEFUN ("read-key-sequence", Fread_key_sequence,read-key-sequence9885,297297
1248DEFUN ("read-key-sequence-vector", Fread_key_sequence_vector,9938,299982 1248DEFUN ("read-key-sequence-vector", Fread_key_sequence_vector,9938,299985
1249DEFUN ("read-key-sequence-vector", Fread_key_sequence_vector,read-key-sequence-vector9938,299982 1249DEFUN ("read-key-sequence-vector", Fread_key_sequence_vector,read-key-sequence-vector9938,299985
1250detect_input_pending 9950,300488 1250detect_input_pending 9950,300491
1251detect_input_pending_ignore_squeezables 9959,300654 1251detect_input_pending_ignore_squeezables 9959,300657
1252detect_input_pending_run_timers 9967,300870 1252detect_input_pending_run_timers 9967,300873
1253clear_input_pending 9985,301362 1253clear_input_pending 9985,301365
1254requeued_events_pending_p 9997,301732 1254requeued_events_pending_p 9997,301735
1255DEFUN ("input-pending-p", Finput_pending_p,10002,301813 1255DEFUN ("input-pending-p", Finput_pending_p,10002,301816
1256DEFUN ("input-pending-p", Finput_pending_p,input-pending-p10002,301813 1256DEFUN ("input-pending-p", Finput_pending_p,input-pending-p10002,301816
1257DEFUN ("recent-keys", Frecent_keys,10024,302596 1257DEFUN ("recent-keys", Frecent_keys,10024,302599
1258DEFUN ("recent-keys", Frecent_keys,recent-keys10024,302596 1258DEFUN ("recent-keys", Frecent_keys,recent-keys10024,302599
1259DEFUN ("this-command-keys", Fthis_command_keys,10055,303517 1259DEFUN ("this-command-keys", Fthis_command_keys,10055,303520
1260DEFUN ("this-command-keys", Fthis_command_keys,this-command-keys10055,303517 1260DEFUN ("this-command-keys", Fthis_command_keys,this-command-keys10055,303520
1261DEFUN ("this-command-keys-vector", Fthis_command_keys_vector,10068,303958 1261DEFUN ("this-command-keys-vector", Fthis_command_keys_vector,10068,303961
1262DEFUN ("this-command-keys-vector", Fthis_command_keys_vector,this-command-keys-vector10068,303958 1262DEFUN ("this-command-keys-vector", Fthis_command_keys_vector,this-command-keys-vector10068,303961
1263DEFUN ("this-single-command-keys", Fthis_single_command_keys,10080,304380 1263DEFUN ("this-single-command-keys", Fthis_single_command_keys,10080,304383
1264DEFUN ("this-single-command-keys", Fthis_single_command_keys,this-single-command-keys10080,304380 1264DEFUN ("this-single-command-keys", Fthis_single_command_keys,this-single-command-keys10080,304383
1265DEFUN ("this-single-command-raw-keys", Fthis_single_command_raw_keys,10096,304955 1265DEFUN ("this-single-command-raw-keys", Fthis_single_command_raw_keys,10096,304958
1266DEFUN ("this-single-command-raw-keys", Fthis_single_command_raw_keys,this-single-command-raw-keys10096,304955 1266DEFUN ("this-single-command-raw-keys", Fthis_single_command_raw_keys,this-single-command-raw-keys10096,304958
1267DEFUN ("reset-this-command-lengths", Freset_this_command_lengths,10109,305495 1267DEFUN ("reset-this-command-lengths", Freset_this_command_lengths,10109,305498
1268DEFUN ("reset-this-command-lengths", Freset_this_command_lengths,reset-this-command-lengths10109,305495 1268DEFUN ("reset-this-command-lengths", Freset_this_command_lengths,reset-this-command-lengths10109,305498
1269DEFUN ("clear-this-command-keys", Fclear_this_command_keys,10136,306510 1269DEFUN ("clear-this-command-keys", Fclear_this_command_keys,10136,306513
1270DEFUN ("clear-this-command-keys", Fclear_this_command_keys,clear-this-command-keys10136,306510 1270DEFUN ("clear-this-command-keys", Fclear_this_command_keys,clear-this-command-keys10136,306513
1271DEFUN ("recursion-depth", Frecursion_depth,10158,307069 1271DEFUN ("recursion-depth", Frecursion_depth,10158,307072
1272DEFUN ("recursion-depth", Frecursion_depth,recursion-depth10158,307069 1272DEFUN ("recursion-depth", Frecursion_depth,recursion-depth10158,307072
1273DEFUN ("open-dribble-file", Fopen_dribble_file,10169,307406 1273DEFUN ("open-dribble-file", Fopen_dribble_file,10169,307409
1274DEFUN ("open-dribble-file", Fopen_dribble_file,open-dribble-file10169,307406 1274DEFUN ("open-dribble-file", Fopen_dribble_file,open-dribble-file10169,307409
1275DEFUN ("discard-input", Fdiscard_input,10203,308447 1275DEFUN ("discard-input", Fdiscard_input,10203,308450
1276DEFUN ("discard-input", Fdiscard_input,discard-input10203,308447 1276DEFUN ("discard-input", Fdiscard_input,discard-input10203,308450
1277DEFUN ("suspend-emacs", Fsuspend_emacs,10225,308949 1277DEFUN ("suspend-emacs", Fsuspend_emacs,10225,308952
1278DEFUN ("suspend-emacs", Fsuspend_emacs,suspend-emacs10225,308949 1278DEFUN ("suspend-emacs", Fsuspend_emacs,suspend-emacs10225,308952
1279stuff_buffered_input 10285,311045 1279stuff_buffered_input 10285,311048
1280set_waiting_for_input 10323,312016 1280set_waiting_for_input 10323,312019
1281clear_waiting_for_input 10337,312390 1281clear_waiting_for_input 10337,312393
1282handle_interrupt_signal 10351,312754 1282handle_interrupt_signal 10351,312757
1283deliver_interrupt_signal 10378,313642 1283deliver_interrupt_signal 10378,313645
1284static int volatile force_quit_count;10387,313932 1284static int volatile force_quit_count;10387,313935
1285handle_interrupt 10401,314414 1285handle_interrupt 10401,314417
1286quit_throw_to_read_char 10541,318711 1286quit_throw_to_read_char 10541,318714
1287DEFUN ("set-input-interrupt-mode", Fset_input_interrupt_mode,10562,319288 1287DEFUN ("set-input-interrupt-mode", Fset_input_interrupt_mode,10562,319291
1288DEFUN ("set-input-interrupt-mode", Fset_input_interrupt_mode,set-input-interrupt-mode10562,319288 1288DEFUN ("set-input-interrupt-mode", Fset_input_interrupt_mode,set-input-interrupt-mode10562,319291
1289DEFUN ("set-output-flow-control", Fset_output_flow_control,10609,320516 1289DEFUN ("set-output-flow-control", Fset_output_flow_control,10609,320519
1290DEFUN ("set-output-flow-control", Fset_output_flow_control,set-output-flow-control10609,320516 1290DEFUN ("set-output-flow-control", Fset_output_flow_control,set-output-flow-control10609,320519
1291DEFUN ("set-input-meta-mode", Fset_input_meta_mode,10643,321432 1291DEFUN ("set-input-meta-mode", Fset_input_meta_mode,10643,321435
1292DEFUN ("set-input-meta-mode", Fset_input_meta_mode,set-input-meta-mode10643,321432 1292DEFUN ("set-input-meta-mode", Fset_input_meta_mode,set-input-meta-mode10643,321435
1293DEFUN ("set-quit-char", Fset_quit_char,10694,322706 1293DEFUN ("set-quit-char", Fset_quit_char,10694,322709
1294DEFUN ("set-quit-char", Fset_quit_char,set-quit-char10694,322706 1294DEFUN ("set-quit-char", Fset_quit_char,set-quit-char10694,322709
1295DEFUN ("set-input-mode", Fset_input_mode,10729,323570 1295DEFUN ("set-input-mode", Fset_input_mode,10729,323573
1296DEFUN ("set-input-mode", Fset_input_mode,set-input-mode10729,323570 1296DEFUN ("set-input-mode", Fset_input_mode,set-input-mode10729,323573
1297DEFUN ("current-input-mode", Fcurrent_input_mode,10750,324459 1297DEFUN ("current-input-mode", Fcurrent_input_mode,10750,324462
1298DEFUN ("current-input-mode", Fcurrent_input_mode,current-input-mode10750,324459 1298DEFUN ("current-input-mode", Fcurrent_input_mode,current-input-mode10750,324462
1299DEFUN ("posn-at-x-y", Fposn_at_x_y,10787,325837 1299DEFUN ("posn-at-x-y", Fposn_at_x_y,10787,325840
1300DEFUN ("posn-at-x-y", Fposn_at_x_y,posn-at-x-y10787,325837 1300DEFUN ("posn-at-x-y", Fposn_at_x_y,posn-at-x-y10787,325840
1301DEFUN ("posn-at-point", Fposn_at_point,10824,327060 1301DEFUN ("posn-at-point", Fposn_at_point,10824,327063
1302DEFUN ("posn-at-point", Fposn_at_point,posn-at-point10824,327060 1302DEFUN ("posn-at-point", Fposn_at_point,posn-at-point10824,327063
1303init_kboard 10861,328214 1303init_kboard 10861,328217
1304allocate_kboard 10893,329284 1304allocate_kboard 10893,329287
1305wipe_kboard 10909,329637 1305wipe_kboard 10909,329640
1306delete_kboard 10917,329751 1306delete_kboard 10917,329754
1307init_keyboard 10942,330281 1307init_keyboard 10942,330284
1308struct event_head11021,332696 1308struct event_head11021,332699
1309 short var;11023,332716 1309 short var;11023,332719
1310 short kind;11024,332729 1310 short kind;11024,332732
1311static const struct event_head head_table[head_table11027,332747 1311static const struct event_head head_table[head_table11027,332750
1312syms_of_keyboard 11045,333577 1312syms_of_keyboard 11045,333580
1313keys_of_keyboard 11841,367115 1313keys_of_keyboard 11841,367118
1314mark_kboards 11916,370434 1314mark_kboards 11916,370437
1315 1315
1316c-src/emacs/src/lisp.h,27827 1316c-src/emacs/src/lisp.h,27827
1317#define EMACS_LISP_H22,801 1317#define EMACS_LISP_H22,801
@@ -2543,109 +2543,109 @@ el-src/emacs/lisp/progmodes/etags.el,5069
2543(defcustom tags-tag-face 148,5700 2543(defcustom tags-tag-face 148,5700
2544(defcustom tags-apropos-verbose 154,5835 2544(defcustom tags-apropos-verbose 154,5835
2545(defcustom tags-apropos-additional-actions 160,5999 2545(defcustom tags-apropos-additional-actions 160,5999
2546(defvaralias 'find-tag-marker-ring find-tag-marker-ring183,6918 2546(defvaralias 'find-tag-marker-ring find-tag-marker-ring183,6921
2547(defvar default-tags-table-function 189,7098 2547(defvar default-tags-table-function 189,7101
2548(defvar tags-location-ring 194,7324 2548(defvar tags-location-ring 194,7327
2549(defvar tags-table-files 201,7600 2549(defvar tags-table-files 201,7603
2550(defvar tags-completion-table 206,7767 2550(defvar tags-completion-table 206,7770
2551(defvar tags-included-tables 209,7859 2551(defvar tags-included-tables 209,7862
2552(defvar next-file-list 212,7954 2552(defvar next-file-list 212,7957
2553(defvar tags-table-format-functions 217,8060 2553(defvar tags-table-format-functions 217,8063
2554(defvar file-of-tag-function 224,8441 2554(defvar file-of-tag-function 224,8444
2555(defvar tags-table-files-function 228,8635 2555(defvar tags-table-files-function 228,8638
2556(defvar tags-completion-table-function 230,8746 2556(defvar tags-completion-table-function 230,8749
2557(defvar snarf-tag-function 232,8841 2557(defvar snarf-tag-function 232,8844
2558(defvar goto-tag-location-function 236,9050 2558(defvar goto-tag-location-function 236,9053
2559(defvar find-tag-regexp-search-function 239,9223 2559(defvar find-tag-regexp-search-function 239,9226
2560(defvar find-tag-regexp-tag-order 241,9344 2560(defvar find-tag-regexp-tag-order 241,9347
2561(defvar find-tag-regexp-next-line-after-failure-p 243,9453 2561(defvar find-tag-regexp-next-line-after-failure-p 243,9456
2562(defvar find-tag-search-function 245,9573 2562(defvar find-tag-search-function 245,9576
2563(defvar find-tag-tag-order 247,9680 2563(defvar find-tag-tag-order 247,9683
2564(defvar find-tag-next-line-after-failure-p 249,9775 2564(defvar find-tag-next-line-after-failure-p 249,9778
2565(defvar list-tags-function 251,9881 2565(defvar list-tags-function 251,9884
2566(defvar tags-apropos-function 253,9969 2566(defvar tags-apropos-function 253,9972
2567(defvar tags-included-tables-function 255,10063 2567(defvar tags-included-tables-function 255,10066
2568(defvar verify-tags-table-function 257,10182 2568(defvar verify-tags-table-function 257,10185
2569(defun initialize-new-tags-table 260,10293 2569(defun initialize-new-tags-table 260,10296
2570(defun tags-table-mode 276,10981 2570(defun tags-table-mode 276,10984
2571(defun visit-tags-table 285,11246 2571(defun visit-tags-table 285,11249
2572(defun tags-table-check-computed-list 321,12784 2572(defun tags-table-check-computed-list 321,12787
2573(defun tags-table-extend-computed-list 360,14655 2573(defun tags-table-extend-computed-list 360,14658
2574(defun tags-expand-table-name 400,16368 2574(defun tags-expand-table-name 400,16371
2575(defun tags-table-list-member 409,16711 2575(defun tags-table-list-member 409,16714
2576(defun tags-verify-table 421,17183 2576(defun tags-verify-table 421,17186
2577(defun tags-table-including 470,19303 2577(defun tags-table-including 470,19306
2578(defun tags-next-table 522,21347 2578(defun tags-next-table 522,21350
2579(defun visit-tags-table-buffer 543,22204 2579(defun visit-tags-table-buffer 543,22207
2580(defun tags-reset-tags-tables 712,28514 2580(defun tags-reset-tags-tables 712,28517
2581(defun file-of-tag 731,29171 2581(defun file-of-tag 731,29174
2582(defun tags-table-files 740,29521 2582(defun tags-table-files 740,29524
2583(defun tags-included-tables 749,29871 2583(defun tags-included-tables 749,29874
2584(defun tags-completion-table 755,30117 2584(defun tags-completion-table 755,30120
2585(defun tags-lazy-completion-table 783,31311 2585(defun tags-lazy-completion-table 783,31314
2586(defun tags-completion-at-point-function 799,31946 2586(defun tags-completion-at-point-function 799,31949
2587(defun find-tag-tag 818,32696 2587(defun find-tag-tag 818,32699
2588(defvar last-tag 837,33369 2588(defvar last-tag 837,33372
2589(defun find-tag-interactive 840,33428 2589(defun find-tag-interactive 840,33431
2590(defvar find-tag-history 852,33843 2590(defvar find-tag-history 852,33846
2591(defun find-tag-noselect 860,34013 2591(defun find-tag-noselect 860,34016
2592(defun find-tag 932,37127 2592(defun find-tag 932,37130
2593(defun find-tag-other-window 959,38343 2593(defun find-tag-other-window 959,38346
2594(defun find-tag-other-frame 1000,40271 2594(defun find-tag-other-frame 1000,40274
2595(defun find-tag-regexp 1025,41445 2595(defun find-tag-regexp 1025,41448
2596(defalias 'pop-tag-mark pop-tag-mark1049,42607 2596(defalias 'pop-tag-mark pop-tag-mark1049,42610
2597(defvar tag-lines-already-matched 1052,42658 2597(defvar tag-lines-already-matched 1052,42661
2598(defun find-tag-in-order 1055,42765 2598(defun find-tag-in-order 1055,42768
2599(defun tag-find-file-of-tag-noselect 1167,47111 2599(defun tag-find-file-of-tag-noselect 1167,47114
2600(defun tag-find-file-of-tag 1200,48957 2600(defun tag-find-file-of-tag 1200,48960
2601(defun etags-recognize-tags-table 1208,49183 2601(defun etags-recognize-tags-table 1208,49186
2602(defun etags-verify-tags-table 1241,50814 2602(defun etags-verify-tags-table 1241,50817
2603(defun etags-file-of-tag 1246,51012 2603(defun etags-file-of-tag 1246,51015
2604(defun etags-tags-completion-table 1256,51347 2604(defun etags-tags-completion-table 1256,51350
2605(defun etags-snarf-tag 1286,52553 2605(defun etags-snarf-tag 1286,52556
2606(defun etags-goto-tag-location 1324,54122 2606(defun etags-goto-tag-location 1324,54125
2607(defun etags-list-tags 1388,56565 2607(defun etags-list-tags 1388,56568
2608(defmacro tags-with-face 1423,57840 2608(defmacro tags-with-face 1423,57843
2609(defun etags-tags-apropos-additional 1431,58173 2609(defun etags-tags-apropos-additional 1431,58176
2610(defun etags-tags-apropos 1465,59410 2610(defun etags-tags-apropos 1465,59413
2611(defun etags-tags-table-files 1527,61619 2611(defun etags-tags-table-files 1527,61622
2612(defun etags-tags-included-tables 1542,62055 2612(defun etags-tags-included-tables 1542,62058
2613(defun tags-recognize-empty-tags-table 1559,62595 2613(defun tags-recognize-empty-tags-table 1559,62598
2614(defun tag-exact-file-name-match-p 1587,63741 2614(defun tag-exact-file-name-match-p 1587,63744
2615(defun tag-file-name-match-p 1596,64134 2615(defun tag-file-name-match-p 1596,64137
2616(defun tag-exact-match-p 1609,64690 2616(defun tag-exact-match-p 1609,64693
2617(defun tag-implicit-name-match-p 1620,65258 2617(defun tag-implicit-name-match-p 1620,65261
2618(defun tag-symbol-match-p 1633,65858 2618(defun tag-symbol-match-p 1633,65861
2619(defun tag-word-match-p 1643,66294 2619(defun tag-word-match-p 1643,66297
2620(defun tag-partial-file-name-match-p 1652,66692 2620(defun tag-partial-file-name-match-p 1652,66695
2621(defun tag-any-match-p 1662,67136 2621(defun tag-any-match-p 1662,67139
2622(defun tag-re-match-p 1667,67320 2622(defun tag-re-match-p 1667,67323
2623(defcustom tags-loop-revert-buffers 1675,67569 2623(defcustom tags-loop-revert-buffers 1675,67572
2624(defun next-file 1685,67978 2624(defun next-file 1685,67981
2625(defvar tags-loop-operate 1760,70892 2625(defvar tags-loop-operate 1760,70895
2626(defvar tags-loop-scan1763,70986 2626(defvar tags-loop-scan1763,70989
2627(defun tags-loop-eval 1771,71315 2627(defun tags-loop-eval 1771,71318
2628(defun tags-loop-continue 1782,71644 2628(defun tags-loop-continue 1782,71647
2629(defun tags-search 1850,73950 2629(defun tags-search 1850,73953
2630(defun tags-query-replace 1871,74776 2630(defun tags-query-replace 1871,74779
2631(defun tags-complete-tags-table-file 1896,76000 2631(defun tags-complete-tags-table-file 1896,76003
2632(defun list-tags 1906,76379 2632(defun list-tags 1906,76382
2633(defun tags-apropos 1934,77332 2633(defun tags-apropos 1934,77335
2634(define-button-type 'tags-select-tags-tabletags-select-tags-table1957,78158 2634(define-button-type 'tags-select-tags-tabletags-select-tags-table1957,78161
2635(defun select-tags-table 1964,78397 2635(defun select-tags-table 1964,78400
2636(defvar select-tags-table-mode-map 2019,80524 2636(defvar select-tags-table-mode-map 2019,80527
2637(define-derived-mode select-tags-table-mode 2030,80907 2637(define-derived-mode select-tags-table-mode 2030,80910
2638(defun select-tags-table-select 2034,81091 2638(defun select-tags-table-select 2034,81094
2639(defun select-tags-table-quit 2043,81457 2639(defun select-tags-table-quit 2043,81460
2640(defun complete-tag 2049,81612 2640(defun complete-tag 2049,81615
2641(defconst etags--xref-limit 2074,82553 2641(defconst etags--xref-limit 2074,82556
2642(defvar etags-xref-find-definitions-tag-order 2076,82588 2642(defvar etags-xref-find-definitions-tag-order 2076,82591
2643(defun etags-xref-find 2082,82878 2643(defun etags-xref-find 2082,82881
2644(defun etags--xref-find-definitions 2096,83407 2644(defun etags--xref-find-definitions 2096,83410
2645(defclass xref-etags-location 2129,85121 2645(defclass xref-etags-location 2129,85124
2646(defun xref-make-etags-location 2135,85344 2646(defun xref-make-etags-location 2135,85347
2647(cl-defmethod xref-location-marker 2139,85499 2647(cl-defmethod xref-location-marker 2139,85502
2648(cl-defmethod xref-location-line 2146,85743 2648(cl-defmethod xref-location-line 2146,85746
2649 2649
2650erl-src/gs_dialog.erl,98 2650erl-src/gs_dialog.erl,98
2651-define(VERSION2,32 2651-define(VERSION2,32
diff --git a/test/manual/etags/ETAGS.good_4 b/test/manual/etags/ETAGS.good_4
index 8527ed726ea..dee534ae753 100644
--- a/test/manual/etags/ETAGS.good_4
+++ b/test/manual/etags/ETAGS.good_4
@@ -937,417 +937,417 @@ record_auto_save 742,23849
937force_auto_save_soon 751,24017 937force_auto_save_soon 751,24017
938DEFUN ("recursive-edit", Frecursive_edit,759,24138 938DEFUN ("recursive-edit", Frecursive_edit,759,24138
939DEFUN ("recursive-edit", Frecursive_edit,recursive-edit759,24138 939DEFUN ("recursive-edit", Frecursive_edit,recursive-edit759,24138
940recursive_edit_unwind 804,25748 940recursive_edit_unwind 804,25751
941any_kboard_state 817,26014 941any_kboard_state 817,26017
942single_kboard_state 838,26666 942single_kboard_state 838,26669
943not_single_kboard_state 848,26804 943not_single_kboard_state 848,26807
944struct kboard_stack858,27066 944struct kboard_stack858,27069
945static struct kboard_stack *kboard_stack;kboard_stack864,27139 945static struct kboard_stack *kboard_stack;kboard_stack864,27142
946push_kboard 867,27187 946push_kboard 867,27190
947pop_kboard 879,27376 947pop_kboard 879,27379
948temporarily_switch_to_single_kboard 914,28264 948temporarily_switch_to_single_kboard 914,28267
949record_single_kboard_state 943,29438 949record_single_kboard_state 943,29441
950restore_kboard_configuration 952,29622 950restore_kboard_configuration 952,29625
951cmd_error 970,30078 951cmd_error 970,30081
952cmd_error_internal 1024,31511 952cmd_error_internal 1024,31514
953DEFUN ("command-error-default-function", Fcommand_error_default_function,1043,32031 953DEFUN ("command-error-default-function", Fcommand_error_default_function,1043,32034
954DEFUN ("command-error-default-function", Fcommand_error_default_function,command-error-default-function1043,32031 954DEFUN ("command-error-default-function", Fcommand_error_default_function,command-error-default-function1043,32034
955command_loop 1094,33917 955command_loop 1094,33920
956command_loop_2 1134,35136 956command_loop_2 1134,35139
957top_level_2 1146,35340 957top_level_2 1146,35343
958top_level_1 1152,35418 958top_level_1 1152,35421
959DEFUN ("top-level", Ftop_level,1164,35788 959DEFUN ("top-level", Ftop_level,1164,35791
960DEFUN ("top-level", Ftop_level,top-level1164,35788 960DEFUN ("top-level", Ftop_level,top-level1164,35791
961user_error 1183,36289 961user_error 1183,36292
962DEFUN ("exit-recursive-edit", Fexit_recursive_edit,1189,36430 962DEFUN ("exit-recursive-edit", Fexit_recursive_edit,1189,36433
963DEFUN ("exit-recursive-edit", Fexit_recursive_edit,exit-recursive-edit1189,36430 963DEFUN ("exit-recursive-edit", Fexit_recursive_edit,exit-recursive-edit1189,36433
964DEFUN ("abort-recursive-edit", Fabort_recursive_edit,1201,36820 964DEFUN ("abort-recursive-edit", Fabort_recursive_edit,1201,36823
965DEFUN ("abort-recursive-edit", Fabort_recursive_edit,abort-recursive-edit1201,36820 965DEFUN ("abort-recursive-edit", Fabort_recursive_edit,abort-recursive-edit1201,36823
966tracking_off 1216,37282 966tracking_off 1216,37285
967DEFUN ("internal--track-mouse", Ftrack_mouse,1234,37817 967DEFUN ("internal--track-mouse", Ftrack_mouse,1234,37820
968DEFUN ("internal--track-mouse", Ftrack_mouse,track-mouse1234,37817 968DEFUN ("internal--track-mouse", Ftrack_mouse,track-mouse1234,37820
969bool ignore_mouse_drag_p;1256,38393 969bool ignore_mouse_drag_p;1256,38396
970some_mouse_moved 1259,38442 970some_mouse_moved 1259,38445
971Lisp_Object last_undo_boundary;1287,39033 971Lisp_Object last_undo_boundary;1287,39036
972command_loop_1 1294,39274 972command_loop_1 1294,39277
973read_menu_command 1649,50890 973read_menu_command 1649,50893
974adjust_point_for_property 1678,51618 974adjust_point_for_property 1678,51621
975safe_run_hooks_1 1831,57340 975safe_run_hooks_1 1831,57343
976safe_run_hooks_error 1841,57570 976safe_run_hooks_error 1841,57573
977safe_run_hook_funcall 1878,58577 977safe_run_hook_funcall 1878,58580
978safe_run_hooks 1893,59059 978safe_run_hooks 1893,59062
979int poll_suppress_count;1908,59398 979int poll_suppress_count;1908,59401
980static struct atimer *poll_timer;poll_timer1915,59488 980static struct atimer *poll_timer;poll_timer1915,59491
981poll_for_input_1 1919,59590 981poll_for_input_1 1919,59593
982poll_for_input 1930,59790 982poll_for_input 1930,59793
983start_polling 1942,60054 983start_polling 1942,60057
984input_polling_used 1979,61092 984input_polling_used 1979,61095
985stop_polling 1994,61391 985stop_polling 1994,61394
986set_poll_suppress_count 2009,61760 986set_poll_suppress_count 2009,61763
987bind_polling_period 2029,62142 987bind_polling_period 2029,62145
988make_ctrl_char 2048,62493 988make_ctrl_char 2048,62496
989show_help_echo 2113,64456 989show_help_echo 2113,64459
990static Lisp_Object help_form_saved_window_configs;2156,65639 990static Lisp_Object help_form_saved_window_configs;2156,65642
991read_char_help_form_unwind 2158,65702 991read_char_help_form_unwind 2158,65705
992#define STOP_POLLING 2166,65960 992#define STOP_POLLING 2166,65963
993#define RESUME_POLLING 2170,66085 993#define RESUME_POLLING 2170,66088
994read_event_from_main_queue 2175,66230 994read_event_from_main_queue 2175,66233
995read_decoded_event_from_main_queue 2249,68418 995read_decoded_event_from_main_queue 2249,68421
996#define MAX_ENCODED_BYTES 2254,68665 996#define MAX_ENCODED_BYTES 2254,68668
997echo_keystrokes_p 2342,71557 997echo_keystrokes_p 2342,71560
998read_char 2376,72849 998read_char 2376,72852
999record_menu_key 3225,98950 999record_menu_key 3225,98953
1000help_char_p 3258,99675 1000help_char_p 3258,99678
1001record_char 3273,99954 1001record_char 3273,99957
1002save_getcjmp 3412,104236 1002save_getcjmp 3412,104239
1003restore_getcjmp 3418,104327 1003restore_getcjmp 3418,104330
1004readable_events 3430,104698 1004readable_events 3430,104701
1005int stop_character EXTERNALLY_VISIBLE;3497,106438 1005int stop_character EXTERNALLY_VISIBLE;3497,106441
1006event_to_kboard 3500,106494 1006event_to_kboard 3500,106497
1007kbd_buffer_nr_stored 3522,107143 1007kbd_buffer_nr_stored 3522,107146
1008kbd_buffer_store_event 3534,107484 1008kbd_buffer_store_event 3534,107487
1009kbd_buffer_store_event_hold 3550,108026 1009kbd_buffer_store_event_hold 3550,108029
1010kbd_buffer_unget_event 3684,111618 1010kbd_buffer_unget_event 3684,111621
1011#define INPUT_EVENT_POS_MAX 3698,112019 1011#define INPUT_EVENT_POS_MAX 3698,112022
1012#define INPUT_EVENT_POS_MIN 3701,112148 1012#define INPUT_EVENT_POS_MIN 3701,112151
1013position_to_Time 3706,112288 1013position_to_Time 3706,112291
1014Time_to_position 3716,112515 1014Time_to_position 3716,112518
1015gen_help_event 3738,113172 1015gen_help_event 3738,113175
1016kbd_buffer_store_help_event 3756,113612 1016kbd_buffer_store_help_event 3756,113615
1017discard_mouse_events 3773,113977 1017discard_mouse_events 3773,113980
1018kbd_buffer_events_waiting 3803,114712 1018kbd_buffer_events_waiting 3803,114715
1019clear_event 3823,115069 1019clear_event 3823,115072
1020kbd_buffer_get_event 3836,115409 1020kbd_buffer_get_event 3836,115412
1021process_special_events 4258,127882 1021process_special_events 4258,127885
1022swallow_events 4322,129706 1022swallow_events 4322,129709
1023timer_start_idle 4339,130099 1023timer_start_idle 4339,130102
1024timer_stop_idle 4355,130577 1024timer_stop_idle 4355,130580
1025timer_resume_idle 4363,130721 1025timer_resume_idle 4363,130724
1026struct input_event last_timer_event EXTERNALLY_VISIBLE;4372,130913 1026struct input_event last_timer_event EXTERNALLY_VISIBLE;4372,130916
1027Lisp_Object pending_funcalls;4377,131173 1027Lisp_Object pending_funcalls;4377,131176
1028decode_timer 4381,131294 1028decode_timer 4381,131297
1029timer_check_2 4414,132247 1029timer_check_2 4414,132250
1030timer_check 4572,136818 1030timer_check 4572,136821
1031DEFUN ("current-idle-time", Fcurrent_idle_time,4607,137663 1031DEFUN ("current-idle-time", Fcurrent_idle_time,4607,137666
1032DEFUN ("current-idle-time", Fcurrent_idle_time,current-idle-time4607,137663 1032DEFUN ("current-idle-time", Fcurrent_idle_time,current-idle-time4607,137666
1033static Lisp_Object accent_key_syms;4625,138240 1033static Lisp_Object accent_key_syms;4625,138243
1034static Lisp_Object func_key_syms;4626,138276 1034static Lisp_Object func_key_syms;4626,138279
1035static Lisp_Object mouse_syms;4627,138310 1035static Lisp_Object mouse_syms;4627,138313
1036static Lisp_Object wheel_syms;4628,138341 1036static Lisp_Object wheel_syms;4628,138344
1037static Lisp_Object drag_n_drop_syms;4629,138372 1037static Lisp_Object drag_n_drop_syms;4629,138375
1038static const int lispy_accent_codes[lispy_accent_codes4634,138517 1038static const int lispy_accent_codes[lispy_accent_codes4634,138520
1039static const char *const lispy_accent_keys[lispy_accent_keys4741,139879 1039static const char *const lispy_accent_keys[lispy_accent_keys4741,139882
1040#define FUNCTION_KEY_OFFSET 4766,140315 1040#define FUNCTION_KEY_OFFSET 4766,140318
1041const char *const lispy_function_keys[lispy_function_keys4768,140348 1041const char *const lispy_function_keys[lispy_function_keys4768,140351
1042static const char *const lispy_multimedia_keys[lispy_multimedia_keys4962,148902 1042static const char *const lispy_multimedia_keys[lispy_multimedia_keys4962,148905
1043static const char *const lispy_kana_keys[lispy_kana_keys5026,150136 1043static const char *const lispy_kana_keys[lispy_kana_keys5026,150139
1044#define FUNCTION_KEY_OFFSET 5061,151752 1044#define FUNCTION_KEY_OFFSET 5061,151755
1045static const char *const lispy_function_keys[lispy_function_keys5065,151895 1045static const char *const lispy_function_keys[lispy_function_keys5065,151898
1046#define ISO_FUNCTION_KEY_OFFSET 5149,154430 1046#define ISO_FUNCTION_KEY_OFFSET 5149,154433
1047static const char *const iso_lispy_function_keys[iso_lispy_function_keys5151,154470 1047static const char *const iso_lispy_function_keys[iso_lispy_function_keys5151,154473
1048static Lisp_Object Vlispy_mouse_stem;5172,155329 1048static Lisp_Object Vlispy_mouse_stem;5172,155332
1049static const char *const lispy_wheel_names[lispy_wheel_names5174,155368 1049static const char *const lispy_wheel_names[lispy_wheel_names5174,155371
1050static const char *const lispy_drag_n_drop_names[lispy_drag_n_drop_names5181,155620 1050static const char *const lispy_drag_n_drop_names[lispy_drag_n_drop_names5181,155623
1051static short const scroll_bar_parts[scroll_bar_parts5189,155886 1051static short const scroll_bar_parts[scroll_bar_parts5189,155889
1052static Lisp_Object button_down_location;5210,156911 1052static Lisp_Object button_down_location;5210,156914
1053static int last_mouse_button;5215,157066 1053static int last_mouse_button;5215,157069
1054static int last_mouse_x;5216,157096 1054static int last_mouse_x;5216,157099
1055static int last_mouse_y;5217,157121 1055static int last_mouse_y;5217,157124
1056static Time button_down_time;5218,157146 1056static Time button_down_time;5218,157149
1057static int double_click_count;5222,157230 1057static int double_click_count;5222,157233
1058make_lispy_position 5228,157391 1058make_lispy_position 5228,157394
1059toolkit_menubar_in_use 5456,163954 1059toolkit_menubar_in_use 5456,163957
1060make_scroll_bar_position 5469,164322 1060make_scroll_bar_position 5469,164325
1061make_lispy_event 5485,164968 1061make_lispy_event 5485,164971
1062make_lispy_movement 6104,183531 1062make_lispy_movement 6104,183534
1063make_lispy_switch_frame 6131,184262 1063make_lispy_switch_frame 6131,184265
1064make_lispy_focus_in 6137,184369 1064make_lispy_focus_in 6137,184372
1065make_lispy_focus_out 6145,184495 1065make_lispy_focus_out 6145,184498
1066parse_modifiers_uncached 6163,184945 1066parse_modifiers_uncached 6163,184948
1067#define SINGLE_LETTER_MOD(6185,185465 1067#define SINGLE_LETTER_MOD(6185,185468
1068#undef SINGLE_LETTER_MOD6212,185906 1068#undef SINGLE_LETTER_MOD6212,185909
1069#define MULTI_LETTER_MOD(6214,185932 1069#define MULTI_LETTER_MOD(6214,185935
1070#undef MULTI_LETTER_MOD6231,186400 1070#undef MULTI_LETTER_MOD6231,186403
1071apply_modifiers_uncached 6273,187574 1071apply_modifiers_uncached 6273,187577
1072static const char *const modifier_names[modifier_names6319,189193 1072static const char *const modifier_names[modifier_names6319,189196
1073#define NUM_MOD_NAMES 6325,189399 1073#define NUM_MOD_NAMES 6325,189402
1074static Lisp_Object modifier_symbols;6327,189449 1074static Lisp_Object modifier_symbols;6327,189452
1075lispy_modifier_list 6331,189586 1075lispy_modifier_list 6331,189589
1076#define KEY_TO_CHAR(6353,190252 1076#define KEY_TO_CHAR(6353,190255
1077parse_modifiers 6356,190328 1077parse_modifiers 6356,190331
1078DEFUN ("internal-event-symbol-parse-modifiers", Fevent_symbol_parse_modifiers,6399,191517 1078DEFUN ("internal-event-symbol-parse-modifiers", Fevent_symbol_parse_modifiers,6399,191520
1079DEFUN ("internal-event-symbol-parse-modifiers", Fevent_symbol_parse_modifiers,event-symbol-parse-modifiers6399,191517 1079DEFUN ("internal-event-symbol-parse-modifiers", Fevent_symbol_parse_modifiers,event-symbol-parse-modifiers6399,191520
1080apply_modifiers 6422,192391 1080apply_modifiers 6422,192394
1081reorder_modifiers 6491,194720 1081reorder_modifiers 6491,194723
1082modify_event_symbol 6536,196528 1082modify_event_symbol 6536,196531
1083DEFUN ("event-convert-list", Fevent_convert_list,6628,199244 1083DEFUN ("event-convert-list", Fevent_convert_list,6628,199247
1084DEFUN ("event-convert-list", Fevent_convert_list,event-convert-list6628,199244 1084DEFUN ("event-convert-list", Fevent_convert_list,event-convert-list6628,199247
1085parse_solitary_modifier 6695,201135 1085parse_solitary_modifier 6695,201138
1086#define SINGLE_LETTER_MOD(6701,201258 1086#define SINGLE_LETTER_MOD(6701,201261
1087#define MULTI_LETTER_MOD(6705,201343 1087#define MULTI_LETTER_MOD(6705,201346
1088#undef SINGLE_LETTER_MOD6763,202641 1088#undef SINGLE_LETTER_MOD6763,202644
1089#undef MULTI_LETTER_MOD6764,202666 1089#undef MULTI_LETTER_MOD6764,202669
1090lucid_event_type_list_p 6775,202889 1090lucid_event_type_list_p 6775,202892
1091get_input_pending 6814,203960 1091get_input_pending 6814,203963
1092record_asynch_buffer_change 6834,204579 1092record_asynch_buffer_change 6834,204582
1093gobble_input 6872,205702 1093gobble_input 6872,205705
1094tty_read_avail_input 6967,208310 1094tty_read_avail_input 6967,208313
1095handle_async_input 7149,214039 1095handle_async_input 7149,214042
1096process_pending_signals 7165,214359 1096process_pending_signals 7165,214362
1097unblock_input_to 7177,214645 1097unblock_input_to 7177,214648
1098unblock_input 7200,215277 1098unblock_input 7200,215280
1099totally_unblock_input 7209,215445 1099totally_unblock_input 7209,215448
1100handle_input_available_signal 7217,215529 1100handle_input_available_signal 7217,215532
1101deliver_input_available_signal 7226,215700 1101deliver_input_available_signal 7226,215703
1102struct user_signal_info7235,215865 1102struct user_signal_info7235,215868
1103static struct user_signal_info *user_signals user_signals7250,216090 1103static struct user_signal_info *user_signals user_signals7250,216093
1104add_user_signal 7253,216149 1104add_user_signal 7253,216152
1105handle_user_signal 7275,216598 1105handle_user_signal 7275,216601
1106deliver_user_signal 7316,217558 1106deliver_user_signal 7316,217561
1107find_user_signal_name 7322,217659 1107find_user_signal_name 7322,217662
1108store_user_signal_events 7334,217841 1108store_user_signal_events 7334,217844
1109static Lisp_Object menu_bar_one_keymap_changed_items;7363,218416 1109static Lisp_Object menu_bar_one_keymap_changed_items;7363,218419
1110static Lisp_Object menu_bar_items_vector;7368,218630 1110static Lisp_Object menu_bar_items_vector;7368,218633
1111static int menu_bar_items_index;7369,218672 1111static int menu_bar_items_index;7369,218675
1112static const char *separator_names[separator_names7372,218707 1112static const char *separator_names[separator_names7372,218710
1113menu_separator_name_p 7393,219148 1113menu_separator_name_p 7393,219151
1114menu_bar_items 7426,219852 1114menu_bar_items 7426,219855
1115Lisp_Object item_properties;7568,224603 1115Lisp_Object item_properties;7568,224606
1116menu_bar_item 7571,224645 1116menu_bar_item 7571,224648
1117menu_item_eval_property_1 7647,227175 1117menu_item_eval_property_1 7647,227178
1118eval_dyn 7658,227465 1118eval_dyn 7658,227468
1119menu_item_eval_property 7666,227675 1119menu_item_eval_property 7666,227678
1120parse_menu_item 7686,228341 1120parse_menu_item 7686,228344
1121static Lisp_Object tool_bar_items_vector;7965,236336 1121static Lisp_Object tool_bar_items_vector;7965,236339
1122static Lisp_Object tool_bar_item_properties;7970,236510 1122static Lisp_Object tool_bar_item_properties;7970,236513
1123static int ntool_bar_items;7974,236606 1123static int ntool_bar_items;7974,236609
1124tool_bar_items 7990,237083 1124tool_bar_items 7990,237086
1125process_tool_bar_item 8075,239892 1125process_tool_bar_item 8075,239895
1126#define PROP(8112,240969 1126#define PROP(8112,240972
1127set_prop 8114,241038 1127set_prop 8114,241041
1128parse_tool_bar_item 8167,242453 1128parse_tool_bar_item 8167,242456
1129#undef PROP8379,248844 1129#undef PROP8379,248847
1130init_tool_bar_items 8387,248969 1130init_tool_bar_items 8387,248972
1131append_tool_bar_item 8401,249261 1131append_tool_bar_item 8401,249264
1132read_char_x_menu_prompt 8443,250771 1132read_char_x_menu_prompt 8443,250774
1133read_char_minibuf_menu_prompt 8503,252445 1133read_char_minibuf_menu_prompt 8503,252448
1134#define PUSH_C_STR(8527,253014 1134#define PUSH_C_STR(8527,253017
1135follow_key 8726,258553 1135follow_key 8726,258556
1136active_maps 8733,258695 1136active_maps 8733,258698
1137typedef struct keyremap8742,259021 1137typedef struct keyremap8742,259024
1138} keyremap;8754,259464 1138} keyremap;8754,259467
1139access_keymap_keyremap 8764,259808 1139access_keymap_keyremap 8764,259811
1140keyremap_step 8811,261450 1140keyremap_step 8811,261453
1141test_undefined 8867,262934 1141test_undefined 8867,262937
1142read_key_sequence 8916,264861 1142read_key_sequence 8916,264864
1143read_key_sequence_vs 9826,295821 1143read_key_sequence_vs 9826,295824
1144DEFUN ("read-key-sequence", Fread_key_sequence,9885,297294 1144DEFUN ("read-key-sequence", Fread_key_sequence,9885,297297
1145DEFUN ("read-key-sequence", Fread_key_sequence,read-key-sequence9885,297294 1145DEFUN ("read-key-sequence", Fread_key_sequence,read-key-sequence9885,297297
1146DEFUN ("read-key-sequence-vector", Fread_key_sequence_vector,9938,299982 1146DEFUN ("read-key-sequence-vector", Fread_key_sequence_vector,9938,299985
1147DEFUN ("read-key-sequence-vector", Fread_key_sequence_vector,read-key-sequence-vector9938,299982 1147DEFUN ("read-key-sequence-vector", Fread_key_sequence_vector,read-key-sequence-vector9938,299985
1148detect_input_pending 9950,300488 1148detect_input_pending 9950,300491
1149detect_input_pending_ignore_squeezables 9959,300654 1149detect_input_pending_ignore_squeezables 9959,300657
1150detect_input_pending_run_timers 9967,300870 1150detect_input_pending_run_timers 9967,300873
1151clear_input_pending 9985,301362 1151clear_input_pending 9985,301365
1152requeued_events_pending_p 9997,301732 1152requeued_events_pending_p 9997,301735
1153DEFUN ("input-pending-p", Finput_pending_p,10002,301813 1153DEFUN ("input-pending-p", Finput_pending_p,10002,301816
1154DEFUN ("input-pending-p", Finput_pending_p,input-pending-p10002,301813 1154DEFUN ("input-pending-p", Finput_pending_p,input-pending-p10002,301816
1155DEFUN ("recent-keys", Frecent_keys,10024,302596 1155DEFUN ("recent-keys", Frecent_keys,10024,302599
1156DEFUN ("recent-keys", Frecent_keys,recent-keys10024,302596 1156DEFUN ("recent-keys", Frecent_keys,recent-keys10024,302599
1157DEFUN ("this-command-keys", Fthis_command_keys,10055,303517 1157DEFUN ("this-command-keys", Fthis_command_keys,10055,303520
1158DEFUN ("this-command-keys", Fthis_command_keys,this-command-keys10055,303517 1158DEFUN ("this-command-keys", Fthis_command_keys,this-command-keys10055,303520
1159DEFUN ("this-command-keys-vector", Fthis_command_keys_vector,10068,303958 1159DEFUN ("this-command-keys-vector", Fthis_command_keys_vector,10068,303961
1160DEFUN ("this-command-keys-vector", Fthis_command_keys_vector,this-command-keys-vector10068,303958 1160DEFUN ("this-command-keys-vector", Fthis_command_keys_vector,this-command-keys-vector10068,303961
1161DEFUN ("this-single-command-keys", Fthis_single_command_keys,10080,304380 1161DEFUN ("this-single-command-keys", Fthis_single_command_keys,10080,304383
1162DEFUN ("this-single-command-keys", Fthis_single_command_keys,this-single-command-keys10080,304380 1162DEFUN ("this-single-command-keys", Fthis_single_command_keys,this-single-command-keys10080,304383
1163DEFUN ("this-single-command-raw-keys", Fthis_single_command_raw_keys,10096,304955 1163DEFUN ("this-single-command-raw-keys", Fthis_single_command_raw_keys,10096,304958
1164DEFUN ("this-single-command-raw-keys", Fthis_single_command_raw_keys,this-single-command-raw-keys10096,304955 1164DEFUN ("this-single-command-raw-keys", Fthis_single_command_raw_keys,this-single-command-raw-keys10096,304958
1165DEFUN ("reset-this-command-lengths", Freset_this_command_lengths,10109,305495 1165DEFUN ("reset-this-command-lengths", Freset_this_command_lengths,10109,305498
1166DEFUN ("reset-this-command-lengths", Freset_this_command_lengths,reset-this-command-lengths10109,305495 1166DEFUN ("reset-this-command-lengths", Freset_this_command_lengths,reset-this-command-lengths10109,305498
1167DEFUN ("clear-this-command-keys", Fclear_this_command_keys,10136,306510 1167DEFUN ("clear-this-command-keys", Fclear_this_command_keys,10136,306513
1168DEFUN ("clear-this-command-keys", Fclear_this_command_keys,clear-this-command-keys10136,306510 1168DEFUN ("clear-this-command-keys", Fclear_this_command_keys,clear-this-command-keys10136,306513
1169DEFUN ("recursion-depth", Frecursion_depth,10158,307069 1169DEFUN ("recursion-depth", Frecursion_depth,10158,307072
1170DEFUN ("recursion-depth", Frecursion_depth,recursion-depth10158,307069 1170DEFUN ("recursion-depth", Frecursion_depth,recursion-depth10158,307072
1171DEFUN ("open-dribble-file", Fopen_dribble_file,10169,307406 1171DEFUN ("open-dribble-file", Fopen_dribble_file,10169,307409
1172DEFUN ("open-dribble-file", Fopen_dribble_file,open-dribble-file10169,307406 1172DEFUN ("open-dribble-file", Fopen_dribble_file,open-dribble-file10169,307409
1173DEFUN ("discard-input", Fdiscard_input,10203,308447 1173DEFUN ("discard-input", Fdiscard_input,10203,308450
1174DEFUN ("discard-input", Fdiscard_input,discard-input10203,308447 1174DEFUN ("discard-input", Fdiscard_input,discard-input10203,308450
1175DEFUN ("suspend-emacs", Fsuspend_emacs,10225,308949 1175DEFUN ("suspend-emacs", Fsuspend_emacs,10225,308952
1176DEFUN ("suspend-emacs", Fsuspend_emacs,suspend-emacs10225,308949 1176DEFUN ("suspend-emacs", Fsuspend_emacs,suspend-emacs10225,308952
1177stuff_buffered_input 10285,311045 1177stuff_buffered_input 10285,311048
1178set_waiting_for_input 10323,312016 1178set_waiting_for_input 10323,312019
1179clear_waiting_for_input 10337,312390 1179clear_waiting_for_input 10337,312393
1180handle_interrupt_signal 10351,312754 1180handle_interrupt_signal 10351,312757
1181deliver_interrupt_signal 10378,313642 1181deliver_interrupt_signal 10378,313645
1182static int volatile force_quit_count;10387,313932 1182static int volatile force_quit_count;10387,313935
1183handle_interrupt 10401,314414 1183handle_interrupt 10401,314417
1184quit_throw_to_read_char 10541,318711 1184quit_throw_to_read_char 10541,318714
1185DEFUN ("set-input-interrupt-mode", Fset_input_interrupt_mode,10562,319288 1185DEFUN ("set-input-interrupt-mode", Fset_input_interrupt_mode,10562,319291
1186DEFUN ("set-input-interrupt-mode", Fset_input_interrupt_mode,set-input-interrupt-mode10562,319288 1186DEFUN ("set-input-interrupt-mode", Fset_input_interrupt_mode,set-input-interrupt-mode10562,319291
1187DEFUN ("set-output-flow-control", Fset_output_flow_control,10609,320516 1187DEFUN ("set-output-flow-control", Fset_output_flow_control,10609,320519
1188DEFUN ("set-output-flow-control", Fset_output_flow_control,set-output-flow-control10609,320516 1188DEFUN ("set-output-flow-control", Fset_output_flow_control,set-output-flow-control10609,320519
1189DEFUN ("set-input-meta-mode", Fset_input_meta_mode,10643,321432 1189DEFUN ("set-input-meta-mode", Fset_input_meta_mode,10643,321435
1190DEFUN ("set-input-meta-mode", Fset_input_meta_mode,set-input-meta-mode10643,321432 1190DEFUN ("set-input-meta-mode", Fset_input_meta_mode,set-input-meta-mode10643,321435
1191DEFUN ("set-quit-char", Fset_quit_char,10694,322706 1191DEFUN ("set-quit-char", Fset_quit_char,10694,322709
1192DEFUN ("set-quit-char", Fset_quit_char,set-quit-char10694,322706 1192DEFUN ("set-quit-char", Fset_quit_char,set-quit-char10694,322709
1193DEFUN ("set-input-mode", Fset_input_mode,10729,323570 1193DEFUN ("set-input-mode", Fset_input_mode,10729,323573
1194DEFUN ("set-input-mode", Fset_input_mode,set-input-mode10729,323570 1194DEFUN ("set-input-mode", Fset_input_mode,set-input-mode10729,323573
1195DEFUN ("current-input-mode", Fcurrent_input_mode,10750,324459 1195DEFUN ("current-input-mode", Fcurrent_input_mode,10750,324462
1196DEFUN ("current-input-mode", Fcurrent_input_mode,current-input-mode10750,324459 1196DEFUN ("current-input-mode", Fcurrent_input_mode,current-input-mode10750,324462
1197DEFUN ("posn-at-x-y", Fposn_at_x_y,10787,325837 1197DEFUN ("posn-at-x-y", Fposn_at_x_y,10787,325840
1198DEFUN ("posn-at-x-y", Fposn_at_x_y,posn-at-x-y10787,325837 1198DEFUN ("posn-at-x-y", Fposn_at_x_y,posn-at-x-y10787,325840
1199DEFUN ("posn-at-point", Fposn_at_point,10824,327060 1199DEFUN ("posn-at-point", Fposn_at_point,10824,327063
1200DEFUN ("posn-at-point", Fposn_at_point,posn-at-point10824,327060 1200DEFUN ("posn-at-point", Fposn_at_point,posn-at-point10824,327063
1201init_kboard 10861,328214 1201init_kboard 10861,328217
1202allocate_kboard 10893,329284 1202allocate_kboard 10893,329287
1203wipe_kboard 10909,329637 1203wipe_kboard 10909,329640
1204delete_kboard 10917,329751 1204delete_kboard 10917,329754
1205init_keyboard 10942,330281 1205init_keyboard 10942,330284
1206struct event_head11021,332696 1206struct event_head11021,332699
1207static const struct event_head head_table[head_table11027,332747 1207static const struct event_head head_table[head_table11027,332750
1208syms_of_keyboard 11045,333577 1208syms_of_keyboard 11045,333580
1209 DEFVAR_LISP ("internal--top-level-message"11058,333972 1209 DEFVAR_LISP ("internal--top-level-message"11058,333975
1210 DEFVAR_LISP ("last-command-event"11312,342173 1210 DEFVAR_LISP ("last-command-event"11312,342176
1211 DEFVAR_LISP ("last-nonmenu-event"11315,342297 1211 DEFVAR_LISP ("last-nonmenu-event"11315,342300
1212 DEFVAR_LISP ("last-input-event"11321,342636 1212 DEFVAR_LISP ("last-input-event"11321,342639
1213 DEFVAR_LISP ("unread-command-events"11324,342730 1213 DEFVAR_LISP ("unread-command-events"11324,342733
1214 DEFVAR_LISP ("unread-post-input-method-events"11332,343190 1214 DEFVAR_LISP ("unread-post-input-method-events"11332,343193
1215 DEFVAR_LISP ("unread-input-method-events"11338,343529 1215 DEFVAR_LISP ("unread-input-method-events"11338,343532
1216 DEFVAR_LISP ("meta-prefix-char"11346,343898 1216 DEFVAR_LISP ("meta-prefix-char"11346,343901
1217 DEFVAR_KBOARD ("last-command"11351,344106 1217 DEFVAR_KBOARD ("last-command"11351,344109
1218 DEFVAR_KBOARD ("real-last-command"11368,344787 1218 DEFVAR_KBOARD ("real-last-command"11368,344790
1219 DEFVAR_KBOARD ("last-repeatable-command"11372,344973 1219 DEFVAR_KBOARD ("last-repeatable-command"11372,344976
1220 DEFVAR_LISP ("this-command"11378,345261 1220 DEFVAR_LISP ("this-command"11378,345264
1221 DEFVAR_LISP ("real-this-command"11384,345498 1221 DEFVAR_LISP ("real-this-command"11384,345501
1222 DEFVAR_LISP ("this-command-keys-shift-translated"11388,345680 1222 DEFVAR_LISP ("this-command-keys-shift-translated"11388,345683
1223 DEFVAR_LISP ("this-original-command"11396,346123 1223 DEFVAR_LISP ("this-original-command"11396,346126
1224 DEFVAR_INT ("auto-save-interval"11403,346520 1224 DEFVAR_INT ("auto-save-interval"11403,346523
1225 DEFVAR_LISP ("auto-save-timeout"11408,346734 1225 DEFVAR_LISP ("auto-save-timeout"11408,346737
1226 DEFVAR_LISP ("echo-keystrokes"11415,347079 1226 DEFVAR_LISP ("echo-keystrokes"11415,347082
1227 DEFVAR_INT ("polling-period"11421,347350 1227 DEFVAR_INT ("polling-period"11421,347353
1228 DEFVAR_LISP ("double-click-time"11428,347693 1228 DEFVAR_LISP ("double-click-time"11428,347696
1229 DEFVAR_INT ("double-click-fuzz"11435,348029 1229 DEFVAR_INT ("double-click-fuzz"11435,348032
1230 DEFVAR_INT ("num-input-keys"11446,348519 1230 DEFVAR_INT ("num-input-keys"11446,348522
1231 DEFVAR_INT ("num-nonmacro-input-events"11452,348794 1231 DEFVAR_INT ("num-nonmacro-input-events"11452,348797
1232 DEFVAR_LISP ("last-event-frame"11457,349032 1232 DEFVAR_LISP ("last-event-frame"11457,349035
1233 DEFVAR_LISP ("tty-erase-char"11463,349311 1233 DEFVAR_LISP ("tty-erase-char"11463,349314
1234 DEFVAR_LISP ("help-char"11466,349434 1234 DEFVAR_LISP ("help-char"11466,349437
1235 DEFVAR_LISP ("help-event-list"11472,349717 1235 DEFVAR_LISP ("help-event-list"11472,349720
1236 DEFVAR_LISP ("help-form"11477,349928 1236 DEFVAR_LISP ("help-form"11477,349931
1237 DEFVAR_LISP ("prefix-help-command"11483,350176 1237 DEFVAR_LISP ("prefix-help-command"11483,350179
1238 DEFVAR_LISP ("top-level"11489,350454 1238 DEFVAR_LISP ("top-level"11489,350457
1239 DEFVAR_KBOARD ("keyboard-translate-table"11495,350675 1239 DEFVAR_KBOARD ("keyboard-translate-table"11495,350678
1240 DEFVAR_BOOL ("cannot-suspend"11511,351488 1240 DEFVAR_BOOL ("cannot-suspend"11511,351491
1241 DEFVAR_BOOL ("menu-prompting"11516,351715 1241 DEFVAR_BOOL ("menu-prompting"11516,351718
1242 DEFVAR_LISP ("menu-prompt-more-char"11526,352145 1242 DEFVAR_LISP ("menu-prompt-more-char"11526,352148
1243 DEFVAR_INT ("extra-keyboard-modifiers"11531,352391 1243 DEFVAR_INT ("extra-keyboard-modifiers"11531,352394
1244 DEFVAR_LISP ("deactivate-mark"11545,353117 1244 DEFVAR_LISP ("deactivate-mark"11545,353120
1245 DEFVAR_LISP ("pre-command-hook"11553,353486 1245 DEFVAR_LISP ("pre-command-hook"11553,353489
1246 DEFVAR_LISP ("post-command-hook"11560,353841 1246 DEFVAR_LISP ("post-command-hook"11560,353844
1247 DEFVAR_LISP ("echo-area-clear-hook"11568,354204 1247 DEFVAR_LISP ("echo-area-clear-hook"11568,354207
1248 DEFVAR_LISP ("lucid-menu-bar-dirty-flag"11574,354419 1248 DEFVAR_LISP ("lucid-menu-bar-dirty-flag"11574,354422
1249 DEFVAR_LISP ("menu-bar-final-items"11578,354622 1249 DEFVAR_LISP ("menu-bar-final-items"11578,354625
1250 DEFVAR_LISP ("tool-bar-separator-image-expression"11583,354872 1250 DEFVAR_LISP ("tool-bar-separator-image-expression"11583,354875
1251 DEFVAR_KBOARD ("overriding-terminal-local-map"11589,355230 1251 DEFVAR_KBOARD ("overriding-terminal-local-map"11589,355233
1252 DEFVAR_LISP ("overriding-local-map"11598,355652 1252 DEFVAR_LISP ("overriding-local-map"11598,355655
1253 DEFVAR_LISP ("overriding-local-map-menu-flag"11607,356103 1253 DEFVAR_LISP ("overriding-local-map-menu-flag"11607,356106
1254 DEFVAR_LISP ("special-event-map"11613,356442 1254 DEFVAR_LISP ("special-event-map"11613,356445
1255 DEFVAR_LISP ("track-mouse"11617,356630 1255 DEFVAR_LISP ("track-mouse"11617,356633
1256 DEFVAR_KBOARD ("system-key-alist"11620,356757 1256 DEFVAR_KBOARD ("system-key-alist"11620,356760
1257 DEFVAR_KBOARD ("local-function-key-map"11629,357138 1257 DEFVAR_KBOARD ("local-function-key-map"11629,357141
1258 DEFVAR_KBOARD ("input-decode-map"11658,358597 1258 DEFVAR_KBOARD ("input-decode-map"11658,358600
1259 DEFVAR_LISP ("function-key-map"11675,359385 1259 DEFVAR_LISP ("function-key-map"11675,359388
1260 DEFVAR_LISP ("key-translation-map"11683,359801 1260 DEFVAR_LISP ("key-translation-map"11683,359804
1261 DEFVAR_LISP ("deferred-action-list"11689,360145 1261 DEFVAR_LISP ("deferred-action-list"11689,360148
1262 DEFVAR_LISP ("deferred-action-function"11694,360393 1262 DEFVAR_LISP ("deferred-action-function"11694,360396
1263 DEFVAR_LISP ("delayed-warnings-list"11700,360692 1263 DEFVAR_LISP ("delayed-warnings-list"11700,360695
1264 DEFVAR_LISP ("timer-list"11708,361100 1264 DEFVAR_LISP ("timer-list"11708,361103
1265 DEFVAR_LISP ("timer-idle-list"11712,361252 1265 DEFVAR_LISP ("timer-idle-list"11712,361255
1266 DEFVAR_LISP ("input-method-function"11716,361415 1266 DEFVAR_LISP ("input-method-function"11716,361418
1267 DEFVAR_LISP ("input-method-previous-message"11737,362384 1267 DEFVAR_LISP ("input-method-previous-message"11737,362387
1268 DEFVAR_LISP ("show-help-function"11744,362745 1268 DEFVAR_LISP ("show-help-function"11744,362748
1269 DEFVAR_LISP ("disable-point-adjustment"11749,362977 1269 DEFVAR_LISP ("disable-point-adjustment"11749,362980
1270 DEFVAR_LISP ("global-disable-point-adjustment"11761,363527 1270 DEFVAR_LISP ("global-disable-point-adjustment"11761,363530
1271 DEFVAR_LISP ("minibuffer-message-timeout"11770,363893 1271 DEFVAR_LISP ("minibuffer-message-timeout"11770,363896
1272 DEFVAR_LISP ("throw-on-input"11775,364171 1272 DEFVAR_LISP ("throw-on-input"11775,364174
1273 DEFVAR_LISP ("command-error-function"11781,364422 1273 DEFVAR_LISP ("command-error-function"11781,364425
1274 DEFVAR_LISP ("enable-disabled-menus-and-buttons"11790,364909 1274 DEFVAR_LISP ("enable-disabled-menus-and-buttons"11790,364912
1275 DEFVAR_LISP ("select-active-regions"11798,365236 1275 DEFVAR_LISP ("select-active-regions"11798,365239
1276 DEFVAR_LISP ("saved-region-selection"11807,365628 1276 DEFVAR_LISP ("saved-region-selection"11807,365631
1277 DEFVAR_LISP ("selection-inhibit-update-commands"11815,366013 1277 DEFVAR_LISP ("selection-inhibit-update-commands"11815,366016
1278 DEFVAR_LISP ("debug-on-event"11825,366554 1278 DEFVAR_LISP ("debug-on-event"11825,366557
1279keys_of_keyboard 11841,367115 1279keys_of_keyboard 11841,367118
1280mark_kboards 11916,370434 1280mark_kboards 11916,370437
1281 DEFVAR_LISP ("internal--top-level-message",\111058,333972 1281 DEFVAR_LISP ("internal--top-level-message",\111058,333975
1282 DEFVAR_LISP ("last-command-event",\111312,342173 1282 DEFVAR_LISP ("last-command-event",\111312,342176
1283 DEFVAR_LISP ("last-nonmenu-event",\111315,342297 1283 DEFVAR_LISP ("last-nonmenu-event",\111315,342300
1284 DEFVAR_LISP ("last-input-event",\111321,342636 1284 DEFVAR_LISP ("last-input-event",\111321,342639
1285 DEFVAR_LISP ("unread-command-events",\111324,342730 1285 DEFVAR_LISP ("unread-command-events",\111324,342733
1286 DEFVAR_LISP ("unread-post-input-method-events",\111332,343190 1286 DEFVAR_LISP ("unread-post-input-method-events",\111332,343193
1287 DEFVAR_LISP ("unread-input-method-events",\111338,343529 1287 DEFVAR_LISP ("unread-input-method-events",\111338,343532
1288 DEFVAR_LISP ("meta-prefix-char",\111346,343898 1288 DEFVAR_LISP ("meta-prefix-char",\111346,343901
1289 DEFVAR_KBOARD ("last-command",\111351,344106 1289 DEFVAR_KBOARD ("last-command",\111351,344109
1290 DEFVAR_KBOARD ("real-last-command",\111368,344787 1290 DEFVAR_KBOARD ("real-last-command",\111368,344790
1291 DEFVAR_KBOARD ("last-repeatable-command",\111372,344973 1291 DEFVAR_KBOARD ("last-repeatable-command",\111372,344976
1292 DEFVAR_LISP ("this-command",\111378,345261 1292 DEFVAR_LISP ("this-command",\111378,345264
1293 DEFVAR_LISP ("real-this-command",\111384,345498 1293 DEFVAR_LISP ("real-this-command",\111384,345501
1294 DEFVAR_LISP ("this-command-keys-shift-translated",\111388,345680 1294 DEFVAR_LISP ("this-command-keys-shift-translated",\111388,345683
1295 DEFVAR_LISP ("this-original-command",\111396,346123 1295 DEFVAR_LISP ("this-original-command",\111396,346126
1296 DEFVAR_INT ("auto-save-interval",\111403,346520 1296 DEFVAR_INT ("auto-save-interval",\111403,346523
1297 DEFVAR_LISP ("auto-save-timeout",\111408,346734 1297 DEFVAR_LISP ("auto-save-timeout",\111408,346737
1298 DEFVAR_LISP ("echo-keystrokes",\111415,347079 1298 DEFVAR_LISP ("echo-keystrokes",\111415,347082
1299 DEFVAR_INT ("polling-period",\111421,347350 1299 DEFVAR_INT ("polling-period",\111421,347353
1300 DEFVAR_LISP ("double-click-time",\111428,347693 1300 DEFVAR_LISP ("double-click-time",\111428,347696
1301 DEFVAR_INT ("double-click-fuzz",\111435,348029 1301 DEFVAR_INT ("double-click-fuzz",\111435,348032
1302 DEFVAR_INT ("num-input-keys",\111446,348519 1302 DEFVAR_INT ("num-input-keys",\111446,348522
1303 DEFVAR_INT ("num-nonmacro-input-events",\111452,348794 1303 DEFVAR_INT ("num-nonmacro-input-events",\111452,348797
1304 DEFVAR_LISP ("last-event-frame",\111457,349032 1304 DEFVAR_LISP ("last-event-frame",\111457,349035
1305 DEFVAR_LISP ("tty-erase-char",\111463,349311 1305 DEFVAR_LISP ("tty-erase-char",\111463,349314
1306 DEFVAR_LISP ("help-char",\111466,349434 1306 DEFVAR_LISP ("help-char",\111466,349437
1307 DEFVAR_LISP ("help-event-list",\111472,349717 1307 DEFVAR_LISP ("help-event-list",\111472,349720
1308 DEFVAR_LISP ("help-form",\111477,349928 1308 DEFVAR_LISP ("help-form",\111477,349931
1309 DEFVAR_LISP ("prefix-help-command",\111483,350176 1309 DEFVAR_LISP ("prefix-help-command",\111483,350179
1310 DEFVAR_LISP ("top-level",\111489,350454 1310 DEFVAR_LISP ("top-level",\111489,350457
1311 DEFVAR_KBOARD ("keyboard-translate-table",\111495,350675 1311 DEFVAR_KBOARD ("keyboard-translate-table",\111495,350678
1312 DEFVAR_BOOL ("cannot-suspend",\111511,351488 1312 DEFVAR_BOOL ("cannot-suspend",\111511,351491
1313 DEFVAR_BOOL ("menu-prompting",\111516,351715 1313 DEFVAR_BOOL ("menu-prompting",\111516,351718
1314 DEFVAR_LISP ("menu-prompt-more-char",\111526,352145 1314 DEFVAR_LISP ("menu-prompt-more-char",\111526,352148
1315 DEFVAR_INT ("extra-keyboard-modifiers",\111531,352391 1315 DEFVAR_INT ("extra-keyboard-modifiers",\111531,352394
1316 DEFVAR_LISP ("deactivate-mark",\111545,353117 1316 DEFVAR_LISP ("deactivate-mark",\111545,353120
1317 DEFVAR_LISP ("pre-command-hook",\111553,353486 1317 DEFVAR_LISP ("pre-command-hook",\111553,353489
1318 DEFVAR_LISP ("post-command-hook",\111560,353841 1318 DEFVAR_LISP ("post-command-hook",\111560,353844
1319 DEFVAR_LISP ("echo-area-clear-hook",\111568,354204 1319 DEFVAR_LISP ("echo-area-clear-hook",\111568,354207
1320 DEFVAR_LISP ("lucid-menu-bar-dirty-flag",\111574,354419 1320 DEFVAR_LISP ("lucid-menu-bar-dirty-flag",\111574,354422
1321 DEFVAR_LISP ("menu-bar-final-items",\111578,354622 1321 DEFVAR_LISP ("menu-bar-final-items",\111578,354625
1322 DEFVAR_LISP ("tool-bar-separator-image-expression",\111583,354872 1322 DEFVAR_LISP ("tool-bar-separator-image-expression",\111583,354875
1323 DEFVAR_KBOARD ("overriding-terminal-local-map",\111589,355230 1323 DEFVAR_KBOARD ("overriding-terminal-local-map",\111589,355233
1324 DEFVAR_LISP ("overriding-local-map",\111598,355652 1324 DEFVAR_LISP ("overriding-local-map",\111598,355655
1325 DEFVAR_LISP ("overriding-local-map-menu-flag",\111607,356103 1325 DEFVAR_LISP ("overriding-local-map-menu-flag",\111607,356106
1326 DEFVAR_LISP ("special-event-map",\111613,356442 1326 DEFVAR_LISP ("special-event-map",\111613,356445
1327 DEFVAR_LISP ("track-mouse",\111617,356630 1327 DEFVAR_LISP ("track-mouse",\111617,356633
1328 DEFVAR_KBOARD ("system-key-alist",\111620,356757 1328 DEFVAR_KBOARD ("system-key-alist",\111620,356760
1329 DEFVAR_KBOARD ("local-function-key-map",\111629,357138 1329 DEFVAR_KBOARD ("local-function-key-map",\111629,357141
1330 DEFVAR_KBOARD ("input-decode-map",\111658,358597 1330 DEFVAR_KBOARD ("input-decode-map",\111658,358600
1331 DEFVAR_LISP ("function-key-map",\111675,359385 1331 DEFVAR_LISP ("function-key-map",\111675,359388
1332 DEFVAR_LISP ("key-translation-map",\111683,359801 1332 DEFVAR_LISP ("key-translation-map",\111683,359804
1333 DEFVAR_LISP ("deferred-action-list",\111689,360145 1333 DEFVAR_LISP ("deferred-action-list",\111689,360148
1334 DEFVAR_LISP ("deferred-action-function",\111694,360393 1334 DEFVAR_LISP ("deferred-action-function",\111694,360396
1335 DEFVAR_LISP ("delayed-warnings-list",\111700,360692 1335 DEFVAR_LISP ("delayed-warnings-list",\111700,360695
1336 DEFVAR_LISP ("timer-list",\111708,361100 1336 DEFVAR_LISP ("timer-list",\111708,361103
1337 DEFVAR_LISP ("timer-idle-list",\111712,361252 1337 DEFVAR_LISP ("timer-idle-list",\111712,361255
1338 DEFVAR_LISP ("input-method-function",\111716,361415 1338 DEFVAR_LISP ("input-method-function",\111716,361418
1339 DEFVAR_LISP ("input-method-previous-message",\111737,362384 1339 DEFVAR_LISP ("input-method-previous-message",\111737,362387
1340 DEFVAR_LISP ("show-help-function",\111744,362745 1340 DEFVAR_LISP ("show-help-function",\111744,362748
1341 DEFVAR_LISP ("disable-point-adjustment",\111749,362977 1341 DEFVAR_LISP ("disable-point-adjustment",\111749,362980
1342 DEFVAR_LISP ("global-disable-point-adjustment",\111761,363527 1342 DEFVAR_LISP ("global-disable-point-adjustment",\111761,363530
1343 DEFVAR_LISP ("minibuffer-message-timeout",\111770,363893 1343 DEFVAR_LISP ("minibuffer-message-timeout",\111770,363896
1344 DEFVAR_LISP ("throw-on-input",\111775,364171 1344 DEFVAR_LISP ("throw-on-input",\111775,364174
1345 DEFVAR_LISP ("command-error-function",\111781,364422 1345 DEFVAR_LISP ("command-error-function",\111781,364425
1346 DEFVAR_LISP ("enable-disabled-menus-and-buttons",\111790,364909 1346 DEFVAR_LISP ("enable-disabled-menus-and-buttons",\111790,364912
1347 DEFVAR_LISP ("select-active-regions",\111798,365236 1347 DEFVAR_LISP ("select-active-regions",\111798,365239
1348 DEFVAR_LISP ("saved-region-selection",\111807,365628 1348 DEFVAR_LISP ("saved-region-selection",\111807,365631
1349 DEFVAR_LISP ("selection-inhibit-update-commands",\111815,366013 1349 DEFVAR_LISP ("selection-inhibit-update-commands",\111815,366016
1350 DEFVAR_LISP ("debug-on-event",\111825,366554 1350 DEFVAR_LISP ("debug-on-event",\111825,366557
1351 1351
1352c-src/emacs/src/lisp.h,20276 1352c-src/emacs/src/lisp.h,20276
1353#define EMACS_LISP_H22,801 1353#define EMACS_LISP_H22,801
@@ -2328,109 +2328,109 @@ el-src/emacs/lisp/progmodes/etags.el,5069
2328(defcustom tags-tag-face 148,5700 2328(defcustom tags-tag-face 148,5700
2329(defcustom tags-apropos-verbose 154,5835 2329(defcustom tags-apropos-verbose 154,5835
2330(defcustom tags-apropos-additional-actions 160,5999 2330(defcustom tags-apropos-additional-actions 160,5999
2331(defvaralias 'find-tag-marker-ring find-tag-marker-ring183,6918 2331(defvaralias 'find-tag-marker-ring find-tag-marker-ring183,6921
2332(defvar default-tags-table-function 189,7098 2332(defvar default-tags-table-function 189,7101
2333(defvar tags-location-ring 194,7324 2333(defvar tags-location-ring 194,7327
2334(defvar tags-table-files 201,7600 2334(defvar tags-table-files 201,7603
2335(defvar tags-completion-table 206,7767 2335(defvar tags-completion-table 206,7770
2336(defvar tags-included-tables 209,7859 2336(defvar tags-included-tables 209,7862
2337(defvar next-file-list 212,7954 2337(defvar next-file-list 212,7957
2338(defvar tags-table-format-functions 217,8060 2338(defvar tags-table-format-functions 217,8063
2339(defvar file-of-tag-function 224,8441 2339(defvar file-of-tag-function 224,8444
2340(defvar tags-table-files-function 228,8635 2340(defvar tags-table-files-function 228,8638
2341(defvar tags-completion-table-function 230,8746 2341(defvar tags-completion-table-function 230,8749
2342(defvar snarf-tag-function 232,8841 2342(defvar snarf-tag-function 232,8844
2343(defvar goto-tag-location-function 236,9050 2343(defvar goto-tag-location-function 236,9053
2344(defvar find-tag-regexp-search-function 239,9223 2344(defvar find-tag-regexp-search-function 239,9226
2345(defvar find-tag-regexp-tag-order 241,9344 2345(defvar find-tag-regexp-tag-order 241,9347
2346(defvar find-tag-regexp-next-line-after-failure-p 243,9453 2346(defvar find-tag-regexp-next-line-after-failure-p 243,9456
2347(defvar find-tag-search-function 245,9573 2347(defvar find-tag-search-function 245,9576
2348(defvar find-tag-tag-order 247,9680 2348(defvar find-tag-tag-order 247,9683
2349(defvar find-tag-next-line-after-failure-p 249,9775 2349(defvar find-tag-next-line-after-failure-p 249,9778
2350(defvar list-tags-function 251,9881 2350(defvar list-tags-function 251,9884
2351(defvar tags-apropos-function 253,9969 2351(defvar tags-apropos-function 253,9972
2352(defvar tags-included-tables-function 255,10063 2352(defvar tags-included-tables-function 255,10066
2353(defvar verify-tags-table-function 257,10182 2353(defvar verify-tags-table-function 257,10185
2354(defun initialize-new-tags-table 260,10293 2354(defun initialize-new-tags-table 260,10296
2355(defun tags-table-mode 276,10981 2355(defun tags-table-mode 276,10984
2356(defun visit-tags-table 285,11246 2356(defun visit-tags-table 285,11249
2357(defun tags-table-check-computed-list 321,12784 2357(defun tags-table-check-computed-list 321,12787
2358(defun tags-table-extend-computed-list 360,14655 2358(defun tags-table-extend-computed-list 360,14658
2359(defun tags-expand-table-name 400,16368 2359(defun tags-expand-table-name 400,16371
2360(defun tags-table-list-member 409,16711 2360(defun tags-table-list-member 409,16714
2361(defun tags-verify-table 421,17183 2361(defun tags-verify-table 421,17186
2362(defun tags-table-including 470,19303 2362(defun tags-table-including 470,19306
2363(defun tags-next-table 522,21347 2363(defun tags-next-table 522,21350
2364(defun visit-tags-table-buffer 543,22204 2364(defun visit-tags-table-buffer 543,22207
2365(defun tags-reset-tags-tables 712,28514 2365(defun tags-reset-tags-tables 712,28517
2366(defun file-of-tag 731,29171 2366(defun file-of-tag 731,29174
2367(defun tags-table-files 740,29521 2367(defun tags-table-files 740,29524
2368(defun tags-included-tables 749,29871 2368(defun tags-included-tables 749,29874
2369(defun tags-completion-table 755,30117 2369(defun tags-completion-table 755,30120
2370(defun tags-lazy-completion-table 783,31311 2370(defun tags-lazy-completion-table 783,31314
2371(defun tags-completion-at-point-function 799,31946 2371(defun tags-completion-at-point-function 799,31949
2372(defun find-tag-tag 818,32696 2372(defun find-tag-tag 818,32699
2373(defvar last-tag 837,33369 2373(defvar last-tag 837,33372
2374(defun find-tag-interactive 840,33428 2374(defun find-tag-interactive 840,33431
2375(defvar find-tag-history 852,33843 2375(defvar find-tag-history 852,33846
2376(defun find-tag-noselect 860,34013 2376(defun find-tag-noselect 860,34016
2377(defun find-tag 932,37127 2377(defun find-tag 932,37130
2378(defun find-tag-other-window 959,38343 2378(defun find-tag-other-window 959,38346
2379(defun find-tag-other-frame 1000,40271 2379(defun find-tag-other-frame 1000,40274
2380(defun find-tag-regexp 1025,41445 2380(defun find-tag-regexp 1025,41448
2381(defalias 'pop-tag-mark pop-tag-mark1049,42607 2381(defalias 'pop-tag-mark pop-tag-mark1049,42610
2382(defvar tag-lines-already-matched 1052,42658 2382(defvar tag-lines-already-matched 1052,42661
2383(defun find-tag-in-order 1055,42765 2383(defun find-tag-in-order 1055,42768
2384(defun tag-find-file-of-tag-noselect 1167,47111 2384(defun tag-find-file-of-tag-noselect 1167,47114
2385(defun tag-find-file-of-tag 1200,48957 2385(defun tag-find-file-of-tag 1200,48960
2386(defun etags-recognize-tags-table 1208,49183 2386(defun etags-recognize-tags-table 1208,49186
2387(defun etags-verify-tags-table 1241,50814 2387(defun etags-verify-tags-table 1241,50817
2388(defun etags-file-of-tag 1246,51012 2388(defun etags-file-of-tag 1246,51015
2389(defun etags-tags-completion-table 1256,51347 2389(defun etags-tags-completion-table 1256,51350
2390(defun etags-snarf-tag 1286,52553 2390(defun etags-snarf-tag 1286,52556
2391(defun etags-goto-tag-location 1324,54122 2391(defun etags-goto-tag-location 1324,54125
2392(defun etags-list-tags 1388,56565 2392(defun etags-list-tags 1388,56568
2393(defmacro tags-with-face 1423,57840 2393(defmacro tags-with-face 1423,57843
2394(defun etags-tags-apropos-additional 1431,58173 2394(defun etags-tags-apropos-additional 1431,58176
2395(defun etags-tags-apropos 1465,59410 2395(defun etags-tags-apropos 1465,59413
2396(defun etags-tags-table-files 1527,61619 2396(defun etags-tags-table-files 1527,61622
2397(defun etags-tags-included-tables 1542,62055 2397(defun etags-tags-included-tables 1542,62058
2398(defun tags-recognize-empty-tags-table 1559,62595 2398(defun tags-recognize-empty-tags-table 1559,62598
2399(defun tag-exact-file-name-match-p 1587,63741 2399(defun tag-exact-file-name-match-p 1587,63744
2400(defun tag-file-name-match-p 1596,64134 2400(defun tag-file-name-match-p 1596,64137
2401(defun tag-exact-match-p 1609,64690 2401(defun tag-exact-match-p 1609,64693
2402(defun tag-implicit-name-match-p 1620,65258 2402(defun tag-implicit-name-match-p 1620,65261
2403(defun tag-symbol-match-p 1633,65858 2403(defun tag-symbol-match-p 1633,65861
2404(defun tag-word-match-p 1643,66294 2404(defun tag-word-match-p 1643,66297
2405(defun tag-partial-file-name-match-p 1652,66692 2405(defun tag-partial-file-name-match-p 1652,66695
2406(defun tag-any-match-p 1662,67136 2406(defun tag-any-match-p 1662,67139
2407(defun tag-re-match-p 1667,67320 2407(defun tag-re-match-p 1667,67323
2408(defcustom tags-loop-revert-buffers 1675,67569 2408(defcustom tags-loop-revert-buffers 1675,67572
2409(defun next-file 1685,67978 2409(defun next-file 1685,67981
2410(defvar tags-loop-operate 1760,70892 2410(defvar tags-loop-operate 1760,70895
2411(defvar tags-loop-scan1763,70986 2411(defvar tags-loop-scan1763,70989
2412(defun tags-loop-eval 1771,71315 2412(defun tags-loop-eval 1771,71318
2413(defun tags-loop-continue 1782,71644 2413(defun tags-loop-continue 1782,71647
2414(defun tags-search 1850,73950 2414(defun tags-search 1850,73953
2415(defun tags-query-replace 1871,74776 2415(defun tags-query-replace 1871,74779
2416(defun tags-complete-tags-table-file 1896,76000 2416(defun tags-complete-tags-table-file 1896,76003
2417(defun list-tags 1906,76379 2417(defun list-tags 1906,76382
2418(defun tags-apropos 1934,77332 2418(defun tags-apropos 1934,77335
2419(define-button-type 'tags-select-tags-tabletags-select-tags-table1957,78158 2419(define-button-type 'tags-select-tags-tabletags-select-tags-table1957,78161
2420(defun select-tags-table 1964,78397 2420(defun select-tags-table 1964,78400
2421(defvar select-tags-table-mode-map 2019,80524 2421(defvar select-tags-table-mode-map 2019,80527
2422(define-derived-mode select-tags-table-mode 2030,80907 2422(define-derived-mode select-tags-table-mode 2030,80910
2423(defun select-tags-table-select 2034,81091 2423(defun select-tags-table-select 2034,81094
2424(defun select-tags-table-quit 2043,81457 2424(defun select-tags-table-quit 2043,81460
2425(defun complete-tag 2049,81612 2425(defun complete-tag 2049,81615
2426(defconst etags--xref-limit 2074,82553 2426(defconst etags--xref-limit 2074,82556
2427(defvar etags-xref-find-definitions-tag-order 2076,82588 2427(defvar etags-xref-find-definitions-tag-order 2076,82591
2428(defun etags-xref-find 2082,82878 2428(defun etags-xref-find 2082,82881
2429(defun etags--xref-find-definitions 2096,83407 2429(defun etags--xref-find-definitions 2096,83410
2430(defclass xref-etags-location 2129,85121 2430(defclass xref-etags-location 2129,85124
2431(defun xref-make-etags-location 2135,85344 2431(defun xref-make-etags-location 2135,85347
2432(cl-defmethod xref-location-marker 2139,85499 2432(cl-defmethod xref-location-marker 2139,85502
2433(cl-defmethod xref-location-line 2146,85743 2433(cl-defmethod xref-location-line 2146,85746
2434 2434
2435erl-src/gs_dialog.erl,98 2435erl-src/gs_dialog.erl,98
2436-define(VERSION2,32 2436-define(VERSION2,32
diff --git a/test/manual/etags/ETAGS.good_5 b/test/manual/etags/ETAGS.good_5
index 6d2e44fbfe6..6410685cb30 100644
--- a/test/manual/etags/ETAGS.good_5
+++ b/test/manual/etags/ETAGS.good_5
@@ -1234,440 +1234,440 @@ record_auto_save 742,23849
1234force_auto_save_soon 751,24017 1234force_auto_save_soon 751,24017
1235DEFUN ("recursive-edit", Frecursive_edit,759,24138 1235DEFUN ("recursive-edit", Frecursive_edit,759,24138
1236DEFUN ("recursive-edit", Frecursive_edit,recursive-edit759,24138 1236DEFUN ("recursive-edit", Frecursive_edit,recursive-edit759,24138
1237recursive_edit_unwind 804,25748 1237recursive_edit_unwind 804,25751
1238any_kboard_state 817,26014 1238any_kboard_state 817,26017
1239single_kboard_state 838,26666 1239single_kboard_state 838,26669
1240not_single_kboard_state 848,26804 1240not_single_kboard_state 848,26807
1241struct kboard_stack858,27066 1241struct kboard_stack858,27069
1242 KBOARD *kboard;kboard860,27088 1242 KBOARD *kboard;kboard860,27091
1243 struct kboard_stack *next;next861,27106 1243 struct kboard_stack *next;next861,27109
1244static struct kboard_stack *kboard_stack;kboard_stack864,27139 1244static struct kboard_stack *kboard_stack;kboard_stack864,27142
1245push_kboard 867,27187 1245push_kboard 867,27190
1246pop_kboard 879,27376 1246pop_kboard 879,27379
1247temporarily_switch_to_single_kboard 914,28264 1247temporarily_switch_to_single_kboard 914,28267
1248record_single_kboard_state 943,29438 1248record_single_kboard_state 943,29441
1249restore_kboard_configuration 952,29622 1249restore_kboard_configuration 952,29625
1250cmd_error 970,30078 1250cmd_error 970,30081
1251cmd_error_internal 1024,31511 1251cmd_error_internal 1024,31514
1252DEFUN ("command-error-default-function", Fcommand_error_default_function,1043,32031 1252DEFUN ("command-error-default-function", Fcommand_error_default_function,1043,32034
1253DEFUN ("command-error-default-function", Fcommand_error_default_function,command-error-default-function1043,32031 1253DEFUN ("command-error-default-function", Fcommand_error_default_function,command-error-default-function1043,32034
1254static Lisp_Object command_loop_2 1086,33638 1254static Lisp_Object command_loop_2 1086,33641
1255static Lisp_Object top_level_1 1087,33687 1255static Lisp_Object top_level_1 1087,33690
1256command_loop 1094,33917 1256command_loop 1094,33920
1257command_loop_2 1134,35136 1257command_loop_2 1134,35139
1258top_level_2 1146,35340 1258top_level_2 1146,35343
1259top_level_1 1152,35418 1259top_level_1 1152,35421
1260DEFUN ("top-level", Ftop_level,1164,35788 1260DEFUN ("top-level", Ftop_level,1164,35791
1261DEFUN ("top-level", Ftop_level,top-level1164,35788 1261DEFUN ("top-level", Ftop_level,top-level1164,35791
1262user_error 1183,36289 1262user_error 1183,36292
1263DEFUN ("exit-recursive-edit", Fexit_recursive_edit,1189,36430 1263DEFUN ("exit-recursive-edit", Fexit_recursive_edit,1189,36433
1264DEFUN ("exit-recursive-edit", Fexit_recursive_edit,exit-recursive-edit1189,36430 1264DEFUN ("exit-recursive-edit", Fexit_recursive_edit,exit-recursive-edit1189,36433
1265DEFUN ("abort-recursive-edit", Fabort_recursive_edit,1201,36820 1265DEFUN ("abort-recursive-edit", Fabort_recursive_edit,1201,36823
1266DEFUN ("abort-recursive-edit", Fabort_recursive_edit,abort-recursive-edit1201,36820 1266DEFUN ("abort-recursive-edit", Fabort_recursive_edit,abort-recursive-edit1201,36823
1267tracking_off 1216,37282 1267tracking_off 1216,37285
1268DEFUN ("internal--track-mouse", Ftrack_mouse,1234,37817 1268DEFUN ("internal--track-mouse", Ftrack_mouse,1234,37820
1269DEFUN ("internal--track-mouse", Ftrack_mouse,track-mouse1234,37817 1269DEFUN ("internal--track-mouse", Ftrack_mouse,track-mouse1234,37820
1270bool ignore_mouse_drag_p;1256,38393 1270bool ignore_mouse_drag_p;1256,38396
1271some_mouse_moved 1259,38442 1271some_mouse_moved 1259,38445
1272static int read_key_sequence 1282,38800 1272static int read_key_sequence 1282,38803
1273static void adjust_point_for_property 1284,38918 1273static void adjust_point_for_property 1284,38921
1274Lisp_Object last_undo_boundary;1287,39033 1274Lisp_Object last_undo_boundary;1287,39036
1275command_loop_1 1294,39274 1275command_loop_1 1294,39277
1276read_menu_command 1649,50890 1276read_menu_command 1649,50893
1277adjust_point_for_property 1678,51618 1277adjust_point_for_property 1678,51621
1278safe_run_hooks_1 1831,57340 1278safe_run_hooks_1 1831,57343
1279safe_run_hooks_error 1841,57570 1279safe_run_hooks_error 1841,57573
1280safe_run_hook_funcall 1878,58577 1280safe_run_hook_funcall 1878,58580
1281safe_run_hooks 1893,59059 1281safe_run_hooks 1893,59062
1282int poll_suppress_count;1908,59398 1282int poll_suppress_count;1908,59401
1283static struct atimer *poll_timer;poll_timer1915,59488 1283static struct atimer *poll_timer;poll_timer1915,59491
1284poll_for_input_1 1919,59590 1284poll_for_input_1 1919,59593
1285poll_for_input 1930,59790 1285poll_for_input 1930,59793
1286start_polling 1942,60054 1286start_polling 1942,60057
1287input_polling_used 1979,61092 1287input_polling_used 1979,61095
1288stop_polling 1994,61391 1288stop_polling 1994,61394
1289set_poll_suppress_count 2009,61760 1289set_poll_suppress_count 2009,61763
1290bind_polling_period 2029,62142 1290bind_polling_period 2029,62145
1291make_ctrl_char 2048,62493 1291make_ctrl_char 2048,62496
1292show_help_echo 2113,64456 1292show_help_echo 2113,64459
1293static Lisp_Object kbd_buffer_get_event 2152,65485 1293static Lisp_Object kbd_buffer_get_event 2152,65488
1294static void record_char 2154,65597 1294static void record_char 2154,65600
1295static Lisp_Object help_form_saved_window_configs;2156,65639 1295static Lisp_Object help_form_saved_window_configs;2156,65642
1296read_char_help_form_unwind 2158,65702 1296read_char_help_form_unwind 2158,65705
1297#define STOP_POLLING 2166,65960 1297#define STOP_POLLING 2166,65963
1298#define RESUME_POLLING 2170,66085 1298#define RESUME_POLLING 2170,66088
1299read_event_from_main_queue 2175,66230 1299read_event_from_main_queue 2175,66233
1300read_decoded_event_from_main_queue 2249,68418 1300read_decoded_event_from_main_queue 2249,68421
1301#define MAX_ENCODED_BYTES 2254,68665 1301#define MAX_ENCODED_BYTES 2254,68668
1302echo_keystrokes_p 2342,71557 1302echo_keystrokes_p 2342,71560
1303read_char 2376,72849 1303read_char 2376,72852
1304record_menu_key 3225,98950 1304record_menu_key 3225,98953
1305help_char_p 3258,99675 1305help_char_p 3258,99678
1306record_char 3273,99954 1306record_char 3273,99957
1307save_getcjmp 3412,104236 1307save_getcjmp 3412,104239
1308restore_getcjmp 3418,104327 1308restore_getcjmp 3418,104330
1309readable_events 3430,104698 1309readable_events 3430,104701
1310int stop_character EXTERNALLY_VISIBLE;3497,106438 1310int stop_character EXTERNALLY_VISIBLE;3497,106441
1311event_to_kboard 3500,106494 1311event_to_kboard 3500,106497
1312kbd_buffer_nr_stored 3522,107143 1312kbd_buffer_nr_stored 3522,107146
1313kbd_buffer_store_event 3534,107484 1313kbd_buffer_store_event 3534,107487
1314kbd_buffer_store_event_hold 3550,108026 1314kbd_buffer_store_event_hold 3550,108029
1315kbd_buffer_unget_event 3684,111618 1315kbd_buffer_unget_event 3684,111621
1316#define INPUT_EVENT_POS_MAX 3698,112019 1316#define INPUT_EVENT_POS_MAX 3698,112022
1317#define INPUT_EVENT_POS_MIN 3701,112148 1317#define INPUT_EVENT_POS_MIN 3701,112151
1318position_to_Time 3706,112288 1318position_to_Time 3706,112291
1319Time_to_position 3716,112515 1319Time_to_position 3716,112518
1320gen_help_event 3738,113172 1320gen_help_event 3738,113175
1321kbd_buffer_store_help_event 3756,113612 1321kbd_buffer_store_help_event 3756,113615
1322discard_mouse_events 3773,113977 1322discard_mouse_events 3773,113980
1323kbd_buffer_events_waiting 3803,114712 1323kbd_buffer_events_waiting 3803,114715
1324clear_event 3823,115069 1324clear_event 3823,115072
1325kbd_buffer_get_event 3836,115409 1325kbd_buffer_get_event 3836,115412
1326process_special_events 4258,127882 1326process_special_events 4258,127885
1327swallow_events 4322,129706 1327swallow_events 4322,129709
1328timer_start_idle 4339,130099 1328timer_start_idle 4339,130102
1329timer_stop_idle 4355,130577 1329timer_stop_idle 4355,130580
1330timer_resume_idle 4363,130721 1330timer_resume_idle 4363,130724
1331struct input_event last_timer_event EXTERNALLY_VISIBLE;4372,130913 1331struct input_event last_timer_event EXTERNALLY_VISIBLE;4372,130916
1332Lisp_Object pending_funcalls;4377,131173 1332Lisp_Object pending_funcalls;4377,131176
1333decode_timer 4381,131294 1333decode_timer 4381,131297
1334timer_check_2 4414,132247 1334timer_check_2 4414,132250
1335timer_check 4572,136818 1335timer_check 4572,136821
1336DEFUN ("current-idle-time", Fcurrent_idle_time,4607,137663 1336DEFUN ("current-idle-time", Fcurrent_idle_time,4607,137666
1337DEFUN ("current-idle-time", Fcurrent_idle_time,current-idle-time4607,137663 1337DEFUN ("current-idle-time", Fcurrent_idle_time,current-idle-time4607,137666
1338static Lisp_Object accent_key_syms;4625,138240 1338static Lisp_Object accent_key_syms;4625,138243
1339static Lisp_Object func_key_syms;4626,138276 1339static Lisp_Object func_key_syms;4626,138279
1340static Lisp_Object mouse_syms;4627,138310 1340static Lisp_Object mouse_syms;4627,138313
1341static Lisp_Object wheel_syms;4628,138341 1341static Lisp_Object wheel_syms;4628,138344
1342static Lisp_Object drag_n_drop_syms;4629,138372 1342static Lisp_Object drag_n_drop_syms;4629,138375
1343static const int lispy_accent_codes[lispy_accent_codes4634,138517 1343static const int lispy_accent_codes[lispy_accent_codes4634,138520
1344static const char *const lispy_accent_keys[lispy_accent_keys4741,139879 1344static const char *const lispy_accent_keys[lispy_accent_keys4741,139882
1345#define FUNCTION_KEY_OFFSET 4766,140315 1345#define FUNCTION_KEY_OFFSET 4766,140318
1346const char *const lispy_function_keys[lispy_function_keys4768,140348 1346const char *const lispy_function_keys[lispy_function_keys4768,140351
1347static const char *const lispy_multimedia_keys[lispy_multimedia_keys4962,148902 1347static const char *const lispy_multimedia_keys[lispy_multimedia_keys4962,148905
1348static const char *const lispy_kana_keys[lispy_kana_keys5026,150136 1348static const char *const lispy_kana_keys[lispy_kana_keys5026,150139
1349#define FUNCTION_KEY_OFFSET 5061,151752 1349#define FUNCTION_KEY_OFFSET 5061,151755
1350static const char *const lispy_function_keys[lispy_function_keys5065,151895 1350static const char *const lispy_function_keys[lispy_function_keys5065,151898
1351#define ISO_FUNCTION_KEY_OFFSET 5149,154430 1351#define ISO_FUNCTION_KEY_OFFSET 5149,154433
1352static const char *const iso_lispy_function_keys[iso_lispy_function_keys5151,154470 1352static const char *const iso_lispy_function_keys[iso_lispy_function_keys5151,154473
1353static Lisp_Object Vlispy_mouse_stem;5172,155329 1353static Lisp_Object Vlispy_mouse_stem;5172,155332
1354static const char *const lispy_wheel_names[lispy_wheel_names5174,155368 1354static const char *const lispy_wheel_names[lispy_wheel_names5174,155371
1355static const char *const lispy_drag_n_drop_names[lispy_drag_n_drop_names5181,155620 1355static const char *const lispy_drag_n_drop_names[lispy_drag_n_drop_names5181,155623
1356static short const scroll_bar_parts[scroll_bar_parts5189,155886 1356static short const scroll_bar_parts[scroll_bar_parts5189,155889
1357static Lisp_Object button_down_location;5210,156911 1357static Lisp_Object button_down_location;5210,156914
1358static int last_mouse_button;5215,157066 1358static int last_mouse_button;5215,157069
1359static int last_mouse_x;5216,157096 1359static int last_mouse_x;5216,157099
1360static int last_mouse_y;5217,157121 1360static int last_mouse_y;5217,157124
1361static Time button_down_time;5218,157146 1361static Time button_down_time;5218,157149
1362static int double_click_count;5222,157230 1362static int double_click_count;5222,157233
1363make_lispy_position 5228,157391 1363make_lispy_position 5228,157394
1364toolkit_menubar_in_use 5456,163954 1364toolkit_menubar_in_use 5456,163957
1365make_scroll_bar_position 5469,164322 1365make_scroll_bar_position 5469,164325
1366make_lispy_event 5485,164968 1366make_lispy_event 5485,164971
1367make_lispy_movement 6104,183531 1367make_lispy_movement 6104,183534
1368make_lispy_switch_frame 6131,184262 1368make_lispy_switch_frame 6131,184265
1369make_lispy_focus_in 6137,184369 1369make_lispy_focus_in 6137,184372
1370make_lispy_focus_out 6145,184495 1370make_lispy_focus_out 6145,184498
1371parse_modifiers_uncached 6163,184945 1371parse_modifiers_uncached 6163,184948
1372#define SINGLE_LETTER_MOD(6185,185465 1372#define SINGLE_LETTER_MOD(6185,185468
1373#undef SINGLE_LETTER_MOD6212,185906 1373#undef SINGLE_LETTER_MOD6212,185909
1374#define MULTI_LETTER_MOD(6214,185932 1374#define MULTI_LETTER_MOD(6214,185935
1375#undef MULTI_LETTER_MOD6231,186400 1375#undef MULTI_LETTER_MOD6231,186403
1376apply_modifiers_uncached 6273,187574 1376apply_modifiers_uncached 6273,187577
1377static const char *const modifier_names[modifier_names6319,189193 1377static const char *const modifier_names[modifier_names6319,189196
1378#define NUM_MOD_NAMES 6325,189399 1378#define NUM_MOD_NAMES 6325,189402
1379static Lisp_Object modifier_symbols;6327,189449 1379static Lisp_Object modifier_symbols;6327,189452
1380lispy_modifier_list 6331,189586 1380lispy_modifier_list 6331,189589
1381#define KEY_TO_CHAR(6353,190252 1381#define KEY_TO_CHAR(6353,190255
1382parse_modifiers 6356,190328 1382parse_modifiers 6356,190331
1383DEFUN ("internal-event-symbol-parse-modifiers", Fevent_symbol_parse_modifiers,6399,191517 1383DEFUN ("internal-event-symbol-parse-modifiers", Fevent_symbol_parse_modifiers,6399,191520
1384DEFUN ("internal-event-symbol-parse-modifiers", Fevent_symbol_parse_modifiers,event-symbol-parse-modifiers6399,191517 1384DEFUN ("internal-event-symbol-parse-modifiers", Fevent_symbol_parse_modifiers,event-symbol-parse-modifiers6399,191520
1385apply_modifiers 6422,192391 1385apply_modifiers 6422,192394
1386reorder_modifiers 6491,194720 1386reorder_modifiers 6491,194723
1387modify_event_symbol 6536,196528 1387modify_event_symbol 6536,196531
1388DEFUN ("event-convert-list", Fevent_convert_list,6628,199244 1388DEFUN ("event-convert-list", Fevent_convert_list,6628,199247
1389DEFUN ("event-convert-list", Fevent_convert_list,event-convert-list6628,199244 1389DEFUN ("event-convert-list", Fevent_convert_list,event-convert-list6628,199247
1390parse_solitary_modifier 6695,201135 1390parse_solitary_modifier 6695,201138
1391#define SINGLE_LETTER_MOD(6701,201258 1391#define SINGLE_LETTER_MOD(6701,201261
1392#define MULTI_LETTER_MOD(6705,201343 1392#define MULTI_LETTER_MOD(6705,201346
1393#undef SINGLE_LETTER_MOD6763,202641 1393#undef SINGLE_LETTER_MOD6763,202644
1394#undef MULTI_LETTER_MOD6764,202666 1394#undef MULTI_LETTER_MOD6764,202669
1395lucid_event_type_list_p 6775,202889 1395lucid_event_type_list_p 6775,202892
1396get_input_pending 6814,203960 1396get_input_pending 6814,203963
1397record_asynch_buffer_change 6834,204579 1397record_asynch_buffer_change 6834,204582
1398gobble_input 6872,205702 1398gobble_input 6872,205705
1399tty_read_avail_input 6967,208310 1399tty_read_avail_input 6967,208313
1400handle_async_input 7149,214039 1400handle_async_input 7149,214042
1401process_pending_signals 7165,214359 1401process_pending_signals 7165,214362
1402unblock_input_to 7177,214645 1402unblock_input_to 7177,214648
1403unblock_input 7200,215277 1403unblock_input 7200,215280
1404totally_unblock_input 7209,215445 1404totally_unblock_input 7209,215448
1405handle_input_available_signal 7217,215529 1405handle_input_available_signal 7217,215532
1406deliver_input_available_signal 7226,215700 1406deliver_input_available_signal 7226,215703
1407struct user_signal_info7235,215865 1407struct user_signal_info7235,215868
1408 int sig;7238,215915 1408 int sig;7238,215918
1409 char *name;name7241,215956 1409 char *name;name7241,215959
1410 int npending;7244,216007 1410 int npending;7244,216010
1411 struct user_signal_info *next;next7246,216024 1411 struct user_signal_info *next;next7246,216027
1412static struct user_signal_info *user_signals user_signals7250,216090 1412static struct user_signal_info *user_signals user_signals7250,216093
1413add_user_signal 7253,216149 1413add_user_signal 7253,216152
1414handle_user_signal 7275,216598 1414handle_user_signal 7275,216601
1415deliver_user_signal 7316,217558 1415deliver_user_signal 7316,217561
1416find_user_signal_name 7322,217659 1416find_user_signal_name 7322,217662
1417store_user_signal_events 7334,217841 1417store_user_signal_events 7334,217844
1418static void menu_bar_item 7362,218341 1418static void menu_bar_item 7362,218344
1419static Lisp_Object menu_bar_one_keymap_changed_items;7363,218416 1419static Lisp_Object menu_bar_one_keymap_changed_items;7363,218419
1420static Lisp_Object menu_bar_items_vector;7368,218630 1420static Lisp_Object menu_bar_items_vector;7368,218633
1421static int menu_bar_items_index;7369,218672 1421static int menu_bar_items_index;7369,218675
1422static const char *separator_names[separator_names7372,218707 1422static const char *separator_names[separator_names7372,218710
1423menu_separator_name_p 7393,219148 1423menu_separator_name_p 7393,219151
1424menu_bar_items 7426,219852 1424menu_bar_items 7426,219855
1425Lisp_Object item_properties;7568,224603 1425Lisp_Object item_properties;7568,224606
1426menu_bar_item 7571,224645 1426menu_bar_item 7571,224648
1427menu_item_eval_property_1 7647,227175 1427menu_item_eval_property_1 7647,227178
1428eval_dyn 7658,227465 1428eval_dyn 7658,227468
1429menu_item_eval_property 7666,227675 1429menu_item_eval_property 7666,227678
1430parse_menu_item 7686,228341 1430parse_menu_item 7686,228344
1431static Lisp_Object tool_bar_items_vector;7965,236336 1431static Lisp_Object tool_bar_items_vector;7965,236339
1432static Lisp_Object tool_bar_item_properties;7970,236510 1432static Lisp_Object tool_bar_item_properties;7970,236513
1433static int ntool_bar_items;7974,236606 1433static int ntool_bar_items;7974,236609
1434static void init_tool_bar_items 7978,236664 1434static void init_tool_bar_items 7978,236667
1435static void process_tool_bar_item 7979,236711 1435static void process_tool_bar_item 7979,236714
1436static bool parse_tool_bar_item 7981,236801 1436static bool parse_tool_bar_item 7981,236804
1437static void append_tool_bar_item 7982,236861 1437static void append_tool_bar_item 7982,236864
1438tool_bar_items 7990,237083 1438tool_bar_items 7990,237086
1439process_tool_bar_item 8075,239892 1439process_tool_bar_item 8075,239895
1440#define PROP(8112,240969 1440#define PROP(8112,240972
1441set_prop 8114,241038 1441set_prop 8114,241041
1442parse_tool_bar_item 8167,242453 1442parse_tool_bar_item 8167,242456
1443#undef PROP8379,248844 1443#undef PROP8379,248847
1444init_tool_bar_items 8387,248969 1444init_tool_bar_items 8387,248972
1445append_tool_bar_item 8401,249261 1445append_tool_bar_item 8401,249264
1446read_char_x_menu_prompt 8443,250771 1446read_char_x_menu_prompt 8443,250774
1447read_char_minibuf_menu_prompt 8503,252445 1447read_char_minibuf_menu_prompt 8503,252448
1448#define PUSH_C_STR(8527,253014 1448#define PUSH_C_STR(8527,253017
1449follow_key 8726,258553 1449follow_key 8726,258556
1450active_maps 8733,258695 1450active_maps 8733,258698
1451typedef struct keyremap8742,259021 1451typedef struct keyremap8742,259024
1452 Lisp_Object parent;8745,259107 1452 Lisp_Object parent;8745,259110
1453 Lisp_Object map;8748,259224 1453 Lisp_Object map;8748,259227
1454 int start,8753,259446 1454 int start,8753,259449
1455 int start, end;8753,259446 1455 int start, end;8753,259449
1456} keyremap;8754,259464 1456} keyremap;8754,259467
1457access_keymap_keyremap 8764,259808 1457access_keymap_keyremap 8764,259811
1458keyremap_step 8811,261450 1458keyremap_step 8811,261453
1459test_undefined 8867,262934 1459test_undefined 8867,262937
1460read_key_sequence 8916,264861 1460read_key_sequence 8916,264864
1461read_key_sequence_vs 9826,295821 1461read_key_sequence_vs 9826,295824
1462DEFUN ("read-key-sequence", Fread_key_sequence,9885,297294 1462DEFUN ("read-key-sequence", Fread_key_sequence,9885,297297
1463DEFUN ("read-key-sequence", Fread_key_sequence,read-key-sequence9885,297294 1463DEFUN ("read-key-sequence", Fread_key_sequence,read-key-sequence9885,297297
1464DEFUN ("read-key-sequence-vector", Fread_key_sequence_vector,9938,299982 1464DEFUN ("read-key-sequence-vector", Fread_key_sequence_vector,9938,299985
1465DEFUN ("read-key-sequence-vector", Fread_key_sequence_vector,read-key-sequence-vector9938,299982 1465DEFUN ("read-key-sequence-vector", Fread_key_sequence_vector,read-key-sequence-vector9938,299985
1466detect_input_pending 9950,300488 1466detect_input_pending 9950,300491
1467detect_input_pending_ignore_squeezables 9959,300654 1467detect_input_pending_ignore_squeezables 9959,300657
1468detect_input_pending_run_timers 9967,300870 1468detect_input_pending_run_timers 9967,300873
1469clear_input_pending 9985,301362 1469clear_input_pending 9985,301365
1470requeued_events_pending_p 9997,301732 1470requeued_events_pending_p 9997,301735
1471DEFUN ("input-pending-p", Finput_pending_p,10002,301813 1471DEFUN ("input-pending-p", Finput_pending_p,10002,301816
1472DEFUN ("input-pending-p", Finput_pending_p,input-pending-p10002,301813 1472DEFUN ("input-pending-p", Finput_pending_p,input-pending-p10002,301816
1473DEFUN ("recent-keys", Frecent_keys,10024,302596 1473DEFUN ("recent-keys", Frecent_keys,10024,302599
1474DEFUN ("recent-keys", Frecent_keys,recent-keys10024,302596 1474DEFUN ("recent-keys", Frecent_keys,recent-keys10024,302599
1475DEFUN ("this-command-keys", Fthis_command_keys,10055,303517 1475DEFUN ("this-command-keys", Fthis_command_keys,10055,303520
1476DEFUN ("this-command-keys", Fthis_command_keys,this-command-keys10055,303517 1476DEFUN ("this-command-keys", Fthis_command_keys,this-command-keys10055,303520
1477DEFUN ("this-command-keys-vector", Fthis_command_keys_vector,10068,303958 1477DEFUN ("this-command-keys-vector", Fthis_command_keys_vector,10068,303961
1478DEFUN ("this-command-keys-vector", Fthis_command_keys_vector,this-command-keys-vector10068,303958 1478DEFUN ("this-command-keys-vector", Fthis_command_keys_vector,this-command-keys-vector10068,303961
1479DEFUN ("this-single-command-keys", Fthis_single_command_keys,10080,304380 1479DEFUN ("this-single-command-keys", Fthis_single_command_keys,10080,304383
1480DEFUN ("this-single-command-keys", Fthis_single_command_keys,this-single-command-keys10080,304380 1480DEFUN ("this-single-command-keys", Fthis_single_command_keys,this-single-command-keys10080,304383
1481DEFUN ("this-single-command-raw-keys", Fthis_single_command_raw_keys,10096,304955 1481DEFUN ("this-single-command-raw-keys", Fthis_single_command_raw_keys,10096,304958
1482DEFUN ("this-single-command-raw-keys", Fthis_single_command_raw_keys,this-single-command-raw-keys10096,304955 1482DEFUN ("this-single-command-raw-keys", Fthis_single_command_raw_keys,this-single-command-raw-keys10096,304958
1483DEFUN ("reset-this-command-lengths", Freset_this_command_lengths,10109,305495 1483DEFUN ("reset-this-command-lengths", Freset_this_command_lengths,10109,305498
1484DEFUN ("reset-this-command-lengths", Freset_this_command_lengths,reset-this-command-lengths10109,305495 1484DEFUN ("reset-this-command-lengths", Freset_this_command_lengths,reset-this-command-lengths10109,305498
1485DEFUN ("clear-this-command-keys", Fclear_this_command_keys,10136,306510 1485DEFUN ("clear-this-command-keys", Fclear_this_command_keys,10136,306513
1486DEFUN ("clear-this-command-keys", Fclear_this_command_keys,clear-this-command-keys10136,306510 1486DEFUN ("clear-this-command-keys", Fclear_this_command_keys,clear-this-command-keys10136,306513
1487DEFUN ("recursion-depth", Frecursion_depth,10158,307069 1487DEFUN ("recursion-depth", Frecursion_depth,10158,307072
1488DEFUN ("recursion-depth", Frecursion_depth,recursion-depth10158,307069 1488DEFUN ("recursion-depth", Frecursion_depth,recursion-depth10158,307072
1489DEFUN ("open-dribble-file", Fopen_dribble_file,10169,307406 1489DEFUN ("open-dribble-file", Fopen_dribble_file,10169,307409
1490DEFUN ("open-dribble-file", Fopen_dribble_file,open-dribble-file10169,307406 1490DEFUN ("open-dribble-file", Fopen_dribble_file,open-dribble-file10169,307409
1491DEFUN ("discard-input", Fdiscard_input,10203,308447 1491DEFUN ("discard-input", Fdiscard_input,10203,308450
1492DEFUN ("discard-input", Fdiscard_input,discard-input10203,308447 1492DEFUN ("discard-input", Fdiscard_input,discard-input10203,308450
1493DEFUN ("suspend-emacs", Fsuspend_emacs,10225,308949 1493DEFUN ("suspend-emacs", Fsuspend_emacs,10225,308952
1494DEFUN ("suspend-emacs", Fsuspend_emacs,suspend-emacs10225,308949 1494DEFUN ("suspend-emacs", Fsuspend_emacs,suspend-emacs10225,308952
1495stuff_buffered_input 10285,311045 1495stuff_buffered_input 10285,311048
1496set_waiting_for_input 10323,312016 1496set_waiting_for_input 10323,312019
1497clear_waiting_for_input 10337,312390 1497clear_waiting_for_input 10337,312393
1498handle_interrupt_signal 10351,312754 1498handle_interrupt_signal 10351,312757
1499deliver_interrupt_signal 10378,313642 1499deliver_interrupt_signal 10378,313645
1500static int volatile force_quit_count;10387,313932 1500static int volatile force_quit_count;10387,313935
1501handle_interrupt 10401,314414 1501handle_interrupt 10401,314417
1502quit_throw_to_read_char 10541,318711 1502quit_throw_to_read_char 10541,318714
1503DEFUN ("set-input-interrupt-mode", Fset_input_interrupt_mode,10562,319288 1503DEFUN ("set-input-interrupt-mode", Fset_input_interrupt_mode,10562,319291
1504DEFUN ("set-input-interrupt-mode", Fset_input_interrupt_mode,set-input-interrupt-mode10562,319288 1504DEFUN ("set-input-interrupt-mode", Fset_input_interrupt_mode,set-input-interrupt-mode10562,319291
1505DEFUN ("set-output-flow-control", Fset_output_flow_control,10609,320516 1505DEFUN ("set-output-flow-control", Fset_output_flow_control,10609,320519
1506DEFUN ("set-output-flow-control", Fset_output_flow_control,set-output-flow-control10609,320516 1506DEFUN ("set-output-flow-control", Fset_output_flow_control,set-output-flow-control10609,320519
1507DEFUN ("set-input-meta-mode", Fset_input_meta_mode,10643,321432 1507DEFUN ("set-input-meta-mode", Fset_input_meta_mode,10643,321435
1508DEFUN ("set-input-meta-mode", Fset_input_meta_mode,set-input-meta-mode10643,321432 1508DEFUN ("set-input-meta-mode", Fset_input_meta_mode,set-input-meta-mode10643,321435
1509DEFUN ("set-quit-char", Fset_quit_char,10694,322706 1509DEFUN ("set-quit-char", Fset_quit_char,10694,322709
1510DEFUN ("set-quit-char", Fset_quit_char,set-quit-char10694,322706 1510DEFUN ("set-quit-char", Fset_quit_char,set-quit-char10694,322709
1511DEFUN ("set-input-mode", Fset_input_mode,10729,323570 1511DEFUN ("set-input-mode", Fset_input_mode,10729,323573
1512DEFUN ("set-input-mode", Fset_input_mode,set-input-mode10729,323570 1512DEFUN ("set-input-mode", Fset_input_mode,set-input-mode10729,323573
1513DEFUN ("current-input-mode", Fcurrent_input_mode,10750,324459 1513DEFUN ("current-input-mode", Fcurrent_input_mode,10750,324462
1514DEFUN ("current-input-mode", Fcurrent_input_mode,current-input-mode10750,324459 1514DEFUN ("current-input-mode", Fcurrent_input_mode,current-input-mode10750,324462
1515DEFUN ("posn-at-x-y", Fposn_at_x_y,10787,325837 1515DEFUN ("posn-at-x-y", Fposn_at_x_y,10787,325840
1516DEFUN ("posn-at-x-y", Fposn_at_x_y,posn-at-x-y10787,325837 1516DEFUN ("posn-at-x-y", Fposn_at_x_y,posn-at-x-y10787,325840
1517DEFUN ("posn-at-point", Fposn_at_point,10824,327060 1517DEFUN ("posn-at-point", Fposn_at_point,10824,327063
1518DEFUN ("posn-at-point", Fposn_at_point,posn-at-point10824,327060 1518DEFUN ("posn-at-point", Fposn_at_point,posn-at-point10824,327063
1519init_kboard 10861,328214 1519init_kboard 10861,328217
1520allocate_kboard 10893,329284 1520allocate_kboard 10893,329287
1521wipe_kboard 10909,329637 1521wipe_kboard 10909,329640
1522delete_kboard 10917,329751 1522delete_kboard 10917,329754
1523init_keyboard 10942,330281 1523init_keyboard 10942,330284
1524struct event_head11021,332696 1524struct event_head11021,332699
1525 short var;11023,332716 1525 short var;11023,332719
1526 short kind;11024,332729 1526 short kind;11024,332732
1527static const struct event_head head_table[head_table11027,332747 1527static const struct event_head head_table[head_table11027,332750
1528syms_of_keyboard 11045,333577 1528syms_of_keyboard 11045,333580
1529 DEFVAR_LISP ("internal--top-level-message"11058,333972 1529 DEFVAR_LISP ("internal--top-level-message"11058,333975
1530 DEFVAR_LISP ("last-command-event"11312,342173 1530 DEFVAR_LISP ("last-command-event"11312,342176
1531 DEFVAR_LISP ("last-nonmenu-event"11315,342297 1531 DEFVAR_LISP ("last-nonmenu-event"11315,342300
1532 DEFVAR_LISP ("last-input-event"11321,342636 1532 DEFVAR_LISP ("last-input-event"11321,342639
1533 DEFVAR_LISP ("unread-command-events"11324,342730 1533 DEFVAR_LISP ("unread-command-events"11324,342733
1534 DEFVAR_LISP ("unread-post-input-method-events"11332,343190 1534 DEFVAR_LISP ("unread-post-input-method-events"11332,343193
1535 DEFVAR_LISP ("unread-input-method-events"11338,343529 1535 DEFVAR_LISP ("unread-input-method-events"11338,343532
1536 DEFVAR_LISP ("meta-prefix-char"11346,343898 1536 DEFVAR_LISP ("meta-prefix-char"11346,343901
1537 DEFVAR_KBOARD ("last-command"11351,344106 1537 DEFVAR_KBOARD ("last-command"11351,344109
1538 DEFVAR_KBOARD ("real-last-command"11368,344787 1538 DEFVAR_KBOARD ("real-last-command"11368,344790
1539 DEFVAR_KBOARD ("last-repeatable-command"11372,344973 1539 DEFVAR_KBOARD ("last-repeatable-command"11372,344976
1540 DEFVAR_LISP ("this-command"11378,345261 1540 DEFVAR_LISP ("this-command"11378,345264
1541 DEFVAR_LISP ("real-this-command"11384,345498 1541 DEFVAR_LISP ("real-this-command"11384,345501
1542 DEFVAR_LISP ("this-command-keys-shift-translated"11388,345680 1542 DEFVAR_LISP ("this-command-keys-shift-translated"11388,345683
1543 DEFVAR_LISP ("this-original-command"11396,346123 1543 DEFVAR_LISP ("this-original-command"11396,346126
1544 DEFVAR_INT ("auto-save-interval"11403,346520 1544 DEFVAR_INT ("auto-save-interval"11403,346523
1545 DEFVAR_LISP ("auto-save-timeout"11408,346734 1545 DEFVAR_LISP ("auto-save-timeout"11408,346737
1546 DEFVAR_LISP ("echo-keystrokes"11415,347079 1546 DEFVAR_LISP ("echo-keystrokes"11415,347082
1547 DEFVAR_INT ("polling-period"11421,347350 1547 DEFVAR_INT ("polling-period"11421,347353
1548 DEFVAR_LISP ("double-click-time"11428,347693 1548 DEFVAR_LISP ("double-click-time"11428,347696
1549 DEFVAR_INT ("double-click-fuzz"11435,348029 1549 DEFVAR_INT ("double-click-fuzz"11435,348032
1550 DEFVAR_INT ("num-input-keys"11446,348519 1550 DEFVAR_INT ("num-input-keys"11446,348522
1551 DEFVAR_INT ("num-nonmacro-input-events"11452,348794 1551 DEFVAR_INT ("num-nonmacro-input-events"11452,348797
1552 DEFVAR_LISP ("last-event-frame"11457,349032 1552 DEFVAR_LISP ("last-event-frame"11457,349035
1553 DEFVAR_LISP ("tty-erase-char"11463,349311 1553 DEFVAR_LISP ("tty-erase-char"11463,349314
1554 DEFVAR_LISP ("help-char"11466,349434 1554 DEFVAR_LISP ("help-char"11466,349437
1555 DEFVAR_LISP ("help-event-list"11472,349717 1555 DEFVAR_LISP ("help-event-list"11472,349720
1556 DEFVAR_LISP ("help-form"11477,349928 1556 DEFVAR_LISP ("help-form"11477,349931
1557 DEFVAR_LISP ("prefix-help-command"11483,350176 1557 DEFVAR_LISP ("prefix-help-command"11483,350179
1558 DEFVAR_LISP ("top-level"11489,350454 1558 DEFVAR_LISP ("top-level"11489,350457
1559 DEFVAR_KBOARD ("keyboard-translate-table"11495,350675 1559 DEFVAR_KBOARD ("keyboard-translate-table"11495,350678
1560 DEFVAR_BOOL ("cannot-suspend"11511,351488 1560 DEFVAR_BOOL ("cannot-suspend"11511,351491
1561 DEFVAR_BOOL ("menu-prompting"11516,351715 1561 DEFVAR_BOOL ("menu-prompting"11516,351718
1562 DEFVAR_LISP ("menu-prompt-more-char"11526,352145 1562 DEFVAR_LISP ("menu-prompt-more-char"11526,352148
1563 DEFVAR_INT ("extra-keyboard-modifiers"11531,352391 1563 DEFVAR_INT ("extra-keyboard-modifiers"11531,352394
1564 DEFVAR_LISP ("deactivate-mark"11545,353117 1564 DEFVAR_LISP ("deactivate-mark"11545,353120
1565 DEFVAR_LISP ("pre-command-hook"11553,353486 1565 DEFVAR_LISP ("pre-command-hook"11553,353489
1566 DEFVAR_LISP ("post-command-hook"11560,353841 1566 DEFVAR_LISP ("post-command-hook"11560,353844
1567 DEFVAR_LISP ("echo-area-clear-hook"11568,354204 1567 DEFVAR_LISP ("echo-area-clear-hook"11568,354207
1568 DEFVAR_LISP ("lucid-menu-bar-dirty-flag"11574,354419 1568 DEFVAR_LISP ("lucid-menu-bar-dirty-flag"11574,354422
1569 DEFVAR_LISP ("menu-bar-final-items"11578,354622 1569 DEFVAR_LISP ("menu-bar-final-items"11578,354625
1570 DEFVAR_LISP ("tool-bar-separator-image-expression"11583,354872 1570 DEFVAR_LISP ("tool-bar-separator-image-expression"11583,354875
1571 DEFVAR_KBOARD ("overriding-terminal-local-map"11589,355230 1571 DEFVAR_KBOARD ("overriding-terminal-local-map"11589,355233
1572 DEFVAR_LISP ("overriding-local-map"11598,355652 1572 DEFVAR_LISP ("overriding-local-map"11598,355655
1573 DEFVAR_LISP ("overriding-local-map-menu-flag"11607,356103 1573 DEFVAR_LISP ("overriding-local-map-menu-flag"11607,356106
1574 DEFVAR_LISP ("special-event-map"11613,356442 1574 DEFVAR_LISP ("special-event-map"11613,356445
1575 DEFVAR_LISP ("track-mouse"11617,356630 1575 DEFVAR_LISP ("track-mouse"11617,356633
1576 DEFVAR_KBOARD ("system-key-alist"11620,356757 1576 DEFVAR_KBOARD ("system-key-alist"11620,356760
1577 DEFVAR_KBOARD ("local-function-key-map"11629,357138 1577 DEFVAR_KBOARD ("local-function-key-map"11629,357141
1578 DEFVAR_KBOARD ("input-decode-map"11658,358597 1578 DEFVAR_KBOARD ("input-decode-map"11658,358600
1579 DEFVAR_LISP ("function-key-map"11675,359385 1579 DEFVAR_LISP ("function-key-map"11675,359388
1580 DEFVAR_LISP ("key-translation-map"11683,359801 1580 DEFVAR_LISP ("key-translation-map"11683,359804
1581 DEFVAR_LISP ("deferred-action-list"11689,360145 1581 DEFVAR_LISP ("deferred-action-list"11689,360148
1582 DEFVAR_LISP ("deferred-action-function"11694,360393 1582 DEFVAR_LISP ("deferred-action-function"11694,360396
1583 DEFVAR_LISP ("delayed-warnings-list"11700,360692 1583 DEFVAR_LISP ("delayed-warnings-list"11700,360695
1584 DEFVAR_LISP ("timer-list"11708,361100 1584 DEFVAR_LISP ("timer-list"11708,361103
1585 DEFVAR_LISP ("timer-idle-list"11712,361252 1585 DEFVAR_LISP ("timer-idle-list"11712,361255
1586 DEFVAR_LISP ("input-method-function"11716,361415 1586 DEFVAR_LISP ("input-method-function"11716,361418
1587 DEFVAR_LISP ("input-method-previous-message"11737,362384 1587 DEFVAR_LISP ("input-method-previous-message"11737,362387
1588 DEFVAR_LISP ("show-help-function"11744,362745 1588 DEFVAR_LISP ("show-help-function"11744,362748
1589 DEFVAR_LISP ("disable-point-adjustment"11749,362977 1589 DEFVAR_LISP ("disable-point-adjustment"11749,362980
1590 DEFVAR_LISP ("global-disable-point-adjustment"11761,363527 1590 DEFVAR_LISP ("global-disable-point-adjustment"11761,363530
1591 DEFVAR_LISP ("minibuffer-message-timeout"11770,363893 1591 DEFVAR_LISP ("minibuffer-message-timeout"11770,363896
1592 DEFVAR_LISP ("throw-on-input"11775,364171 1592 DEFVAR_LISP ("throw-on-input"11775,364174
1593 DEFVAR_LISP ("command-error-function"11781,364422 1593 DEFVAR_LISP ("command-error-function"11781,364425
1594 DEFVAR_LISP ("enable-disabled-menus-and-buttons"11790,364909 1594 DEFVAR_LISP ("enable-disabled-menus-and-buttons"11790,364912
1595 DEFVAR_LISP ("select-active-regions"11798,365236 1595 DEFVAR_LISP ("select-active-regions"11798,365239
1596 DEFVAR_LISP ("saved-region-selection"11807,365628 1596 DEFVAR_LISP ("saved-region-selection"11807,365631
1597 DEFVAR_LISP ("selection-inhibit-update-commands"11815,366013 1597 DEFVAR_LISP ("selection-inhibit-update-commands"11815,366016
1598 DEFVAR_LISP ("debug-on-event"11825,366554 1598 DEFVAR_LISP ("debug-on-event"11825,366557
1599keys_of_keyboard 11841,367115 1599keys_of_keyboard 11841,367118
1600mark_kboards 11916,370434 1600mark_kboards 11916,370437
1601 DEFVAR_LISP ("internal--top-level-message",\111058,333972 1601 DEFVAR_LISP ("internal--top-level-message",\111058,333975
1602 DEFVAR_LISP ("last-command-event",\111312,342173 1602 DEFVAR_LISP ("last-command-event",\111312,342176
1603 DEFVAR_LISP ("last-nonmenu-event",\111315,342297 1603 DEFVAR_LISP ("last-nonmenu-event",\111315,342300
1604 DEFVAR_LISP ("last-input-event",\111321,342636 1604 DEFVAR_LISP ("last-input-event",\111321,342639
1605 DEFVAR_LISP ("unread-command-events",\111324,342730 1605 DEFVAR_LISP ("unread-command-events",\111324,342733
1606 DEFVAR_LISP ("unread-post-input-method-events",\111332,343190 1606 DEFVAR_LISP ("unread-post-input-method-events",\111332,343193
1607 DEFVAR_LISP ("unread-input-method-events",\111338,343529 1607 DEFVAR_LISP ("unread-input-method-events",\111338,343532
1608 DEFVAR_LISP ("meta-prefix-char",\111346,343898 1608 DEFVAR_LISP ("meta-prefix-char",\111346,343901
1609 DEFVAR_KBOARD ("last-command",\111351,344106 1609 DEFVAR_KBOARD ("last-command",\111351,344109
1610 DEFVAR_KBOARD ("real-last-command",\111368,344787 1610 DEFVAR_KBOARD ("real-last-command",\111368,344790
1611 DEFVAR_KBOARD ("last-repeatable-command",\111372,344973 1611 DEFVAR_KBOARD ("last-repeatable-command",\111372,344976
1612 DEFVAR_LISP ("this-command",\111378,345261 1612 DEFVAR_LISP ("this-command",\111378,345264
1613 DEFVAR_LISP ("real-this-command",\111384,345498 1613 DEFVAR_LISP ("real-this-command",\111384,345501
1614 DEFVAR_LISP ("this-command-keys-shift-translated",\111388,345680 1614 DEFVAR_LISP ("this-command-keys-shift-translated",\111388,345683
1615 DEFVAR_LISP ("this-original-command",\111396,346123 1615 DEFVAR_LISP ("this-original-command",\111396,346126
1616 DEFVAR_INT ("auto-save-interval",\111403,346520 1616 DEFVAR_INT ("auto-save-interval",\111403,346523
1617 DEFVAR_LISP ("auto-save-timeout",\111408,346734 1617 DEFVAR_LISP ("auto-save-timeout",\111408,346737
1618 DEFVAR_LISP ("echo-keystrokes",\111415,347079 1618 DEFVAR_LISP ("echo-keystrokes",\111415,347082
1619 DEFVAR_INT ("polling-period",\111421,347350 1619 DEFVAR_INT ("polling-period",\111421,347353
1620 DEFVAR_LISP ("double-click-time",\111428,347693 1620 DEFVAR_LISP ("double-click-time",\111428,347696
1621 DEFVAR_INT ("double-click-fuzz",\111435,348029 1621 DEFVAR_INT ("double-click-fuzz",\111435,348032
1622 DEFVAR_INT ("num-input-keys",\111446,348519 1622 DEFVAR_INT ("num-input-keys",\111446,348522
1623 DEFVAR_INT ("num-nonmacro-input-events",\111452,348794 1623 DEFVAR_INT ("num-nonmacro-input-events",\111452,348797
1624 DEFVAR_LISP ("last-event-frame",\111457,349032 1624 DEFVAR_LISP ("last-event-frame",\111457,349035
1625 DEFVAR_LISP ("tty-erase-char",\111463,349311 1625 DEFVAR_LISP ("tty-erase-char",\111463,349314
1626 DEFVAR_LISP ("help-char",\111466,349434 1626 DEFVAR_LISP ("help-char",\111466,349437
1627 DEFVAR_LISP ("help-event-list",\111472,349717 1627 DEFVAR_LISP ("help-event-list",\111472,349720
1628 DEFVAR_LISP ("help-form",\111477,349928 1628 DEFVAR_LISP ("help-form",\111477,349931
1629 DEFVAR_LISP ("prefix-help-command",\111483,350176 1629 DEFVAR_LISP ("prefix-help-command",\111483,350179
1630 DEFVAR_LISP ("top-level",\111489,350454 1630 DEFVAR_LISP ("top-level",\111489,350457
1631 DEFVAR_KBOARD ("keyboard-translate-table",\111495,350675 1631 DEFVAR_KBOARD ("keyboard-translate-table",\111495,350678
1632 DEFVAR_BOOL ("cannot-suspend",\111511,351488 1632 DEFVAR_BOOL ("cannot-suspend",\111511,351491
1633 DEFVAR_BOOL ("menu-prompting",\111516,351715 1633 DEFVAR_BOOL ("menu-prompting",\111516,351718
1634 DEFVAR_LISP ("menu-prompt-more-char",\111526,352145 1634 DEFVAR_LISP ("menu-prompt-more-char",\111526,352148
1635 DEFVAR_INT ("extra-keyboard-modifiers",\111531,352391 1635 DEFVAR_INT ("extra-keyboard-modifiers",\111531,352394
1636 DEFVAR_LISP ("deactivate-mark",\111545,353117 1636 DEFVAR_LISP ("deactivate-mark",\111545,353120
1637 DEFVAR_LISP ("pre-command-hook",\111553,353486 1637 DEFVAR_LISP ("pre-command-hook",\111553,353489
1638 DEFVAR_LISP ("post-command-hook",\111560,353841 1638 DEFVAR_LISP ("post-command-hook",\111560,353844
1639 DEFVAR_LISP ("echo-area-clear-hook",\111568,354204 1639 DEFVAR_LISP ("echo-area-clear-hook",\111568,354207
1640 DEFVAR_LISP ("lucid-menu-bar-dirty-flag",\111574,354419 1640 DEFVAR_LISP ("lucid-menu-bar-dirty-flag",\111574,354422
1641 DEFVAR_LISP ("menu-bar-final-items",\111578,354622 1641 DEFVAR_LISP ("menu-bar-final-items",\111578,354625
1642 DEFVAR_LISP ("tool-bar-separator-image-expression",\111583,354872 1642 DEFVAR_LISP ("tool-bar-separator-image-expression",\111583,354875
1643 DEFVAR_KBOARD ("overriding-terminal-local-map",\111589,355230 1643 DEFVAR_KBOARD ("overriding-terminal-local-map",\111589,355233
1644 DEFVAR_LISP ("overriding-local-map",\111598,355652 1644 DEFVAR_LISP ("overriding-local-map",\111598,355655
1645 DEFVAR_LISP ("overriding-local-map-menu-flag",\111607,356103 1645 DEFVAR_LISP ("overriding-local-map-menu-flag",\111607,356106
1646 DEFVAR_LISP ("special-event-map",\111613,356442 1646 DEFVAR_LISP ("special-event-map",\111613,356445
1647 DEFVAR_LISP ("track-mouse",\111617,356630 1647 DEFVAR_LISP ("track-mouse",\111617,356633
1648 DEFVAR_KBOARD ("system-key-alist",\111620,356757 1648 DEFVAR_KBOARD ("system-key-alist",\111620,356760
1649 DEFVAR_KBOARD ("local-function-key-map",\111629,357138 1649 DEFVAR_KBOARD ("local-function-key-map",\111629,357141
1650 DEFVAR_KBOARD ("input-decode-map",\111658,358597 1650 DEFVAR_KBOARD ("input-decode-map",\111658,358600
1651 DEFVAR_LISP ("function-key-map",\111675,359385 1651 DEFVAR_LISP ("function-key-map",\111675,359388
1652 DEFVAR_LISP ("key-translation-map",\111683,359801 1652 DEFVAR_LISP ("key-translation-map",\111683,359804
1653 DEFVAR_LISP ("deferred-action-list",\111689,360145 1653 DEFVAR_LISP ("deferred-action-list",\111689,360148
1654 DEFVAR_LISP ("deferred-action-function",\111694,360393 1654 DEFVAR_LISP ("deferred-action-function",\111694,360396
1655 DEFVAR_LISP ("delayed-warnings-list",\111700,360692 1655 DEFVAR_LISP ("delayed-warnings-list",\111700,360695
1656 DEFVAR_LISP ("timer-list",\111708,361100 1656 DEFVAR_LISP ("timer-list",\111708,361103
1657 DEFVAR_LISP ("timer-idle-list",\111712,361252 1657 DEFVAR_LISP ("timer-idle-list",\111712,361255
1658 DEFVAR_LISP ("input-method-function",\111716,361415 1658 DEFVAR_LISP ("input-method-function",\111716,361418
1659 DEFVAR_LISP ("input-method-previous-message",\111737,362384 1659 DEFVAR_LISP ("input-method-previous-message",\111737,362387
1660 DEFVAR_LISP ("show-help-function",\111744,362745 1660 DEFVAR_LISP ("show-help-function",\111744,362748
1661 DEFVAR_LISP ("disable-point-adjustment",\111749,362977 1661 DEFVAR_LISP ("disable-point-adjustment",\111749,362980
1662 DEFVAR_LISP ("global-disable-point-adjustment",\111761,363527 1662 DEFVAR_LISP ("global-disable-point-adjustment",\111761,363530
1663 DEFVAR_LISP ("minibuffer-message-timeout",\111770,363893 1663 DEFVAR_LISP ("minibuffer-message-timeout",\111770,363896
1664 DEFVAR_LISP ("throw-on-input",\111775,364171 1664 DEFVAR_LISP ("throw-on-input",\111775,364174
1665 DEFVAR_LISP ("command-error-function",\111781,364422 1665 DEFVAR_LISP ("command-error-function",\111781,364425
1666 DEFVAR_LISP ("enable-disabled-menus-and-buttons",\111790,364909 1666 DEFVAR_LISP ("enable-disabled-menus-and-buttons",\111790,364912
1667 DEFVAR_LISP ("select-active-regions",\111798,365236 1667 DEFVAR_LISP ("select-active-regions",\111798,365239
1668 DEFVAR_LISP ("saved-region-selection",\111807,365628 1668 DEFVAR_LISP ("saved-region-selection",\111807,365631
1669 DEFVAR_LISP ("selection-inhibit-update-commands",\111815,366013 1669 DEFVAR_LISP ("selection-inhibit-update-commands",\111815,366016
1670 DEFVAR_LISP ("debug-on-event",\111825,366554 1670 DEFVAR_LISP ("debug-on-event",\111825,366557
1671 1671
1672c-src/emacs/src/lisp.h,41391 1672c-src/emacs/src/lisp.h,41391
1673#define EMACS_LISP_H22,801 1673#define EMACS_LISP_H22,801
@@ -3274,112 +3274,112 @@ el-src/emacs/lisp/progmodes/etags.el,5188
3274(defcustom tags-tag-face 148,5700 3274(defcustom tags-tag-face 148,5700
3275(defcustom tags-apropos-verbose 154,5835 3275(defcustom tags-apropos-verbose 154,5835
3276(defcustom tags-apropos-additional-actions 160,5999 3276(defcustom tags-apropos-additional-actions 160,5999
3277(defvaralias 'find-tag-marker-ring find-tag-marker-ring183,6918 3277(defvaralias 'find-tag-marker-ring find-tag-marker-ring183,6921
3278(defvar default-tags-table-function 189,7098 3278(defvar default-tags-table-function 189,7101
3279(defvar tags-location-ring 194,7324 3279(defvar tags-location-ring 194,7327
3280(defvar tags-table-files 201,7600 3280(defvar tags-table-files 201,7603
3281(defvar tags-completion-table 206,7767 3281(defvar tags-completion-table 206,7770
3282(defvar tags-included-tables 209,7859 3282(defvar tags-included-tables 209,7862
3283(defvar next-file-list 212,7954 3283(defvar next-file-list 212,7957
3284(defvar tags-table-format-functions 217,8060 3284(defvar tags-table-format-functions 217,8063
3285(defvar file-of-tag-function 224,8441 3285(defvar file-of-tag-function 224,8444
3286(defvar tags-table-files-function 228,8635 3286(defvar tags-table-files-function 228,8638
3287(defvar tags-completion-table-function 230,8746 3287(defvar tags-completion-table-function 230,8749
3288(defvar snarf-tag-function 232,8841 3288(defvar snarf-tag-function 232,8844
3289(defvar goto-tag-location-function 236,9050 3289(defvar goto-tag-location-function 236,9053
3290(defvar find-tag-regexp-search-function 239,9223 3290(defvar find-tag-regexp-search-function 239,9226
3291(defvar find-tag-regexp-tag-order 241,9344 3291(defvar find-tag-regexp-tag-order 241,9347
3292(defvar find-tag-regexp-next-line-after-failure-p 243,9453 3292(defvar find-tag-regexp-next-line-after-failure-p 243,9456
3293(defvar find-tag-search-function 245,9573 3293(defvar find-tag-search-function 245,9576
3294(defvar find-tag-tag-order 247,9680 3294(defvar find-tag-tag-order 247,9683
3295(defvar find-tag-next-line-after-failure-p 249,9775 3295(defvar find-tag-next-line-after-failure-p 249,9778
3296(defvar list-tags-function 251,9881 3296(defvar list-tags-function 251,9884
3297(defvar tags-apropos-function 253,9969 3297(defvar tags-apropos-function 253,9972
3298(defvar tags-included-tables-function 255,10063 3298(defvar tags-included-tables-function 255,10066
3299(defvar verify-tags-table-function 257,10182 3299(defvar verify-tags-table-function 257,10185
3300(defun initialize-new-tags-table 260,10293 3300(defun initialize-new-tags-table 260,10296
3301(defun tags-table-mode 276,10981 3301(defun tags-table-mode 276,10984
3302(defun visit-tags-table 285,11246 3302(defun visit-tags-table 285,11249
3303(defun tags-table-check-computed-list 321,12784 3303(defun tags-table-check-computed-list 321,12787
3304(defun tags-table-extend-computed-list 360,14655 3304(defun tags-table-extend-computed-list 360,14658
3305(defun tags-expand-table-name 400,16368 3305(defun tags-expand-table-name 400,16371
3306(defun tags-table-list-member 409,16711 3306(defun tags-table-list-member 409,16714
3307(defun tags-verify-table 421,17183 3307(defun tags-verify-table 421,17186
3308(defun tags-table-including 470,19303 3308(defun tags-table-including 470,19306
3309(defun tags-next-table 522,21347 3309(defun tags-next-table 522,21350
3310(defun visit-tags-table-buffer 543,22204 3310(defun visit-tags-table-buffer 543,22207
3311(defun tags-reset-tags-tables 712,28514 3311(defun tags-reset-tags-tables 712,28517
3312(defun file-of-tag 731,29171 3312(defun file-of-tag 731,29174
3313(defun tags-table-files 740,29521 3313(defun tags-table-files 740,29524
3314(defun tags-included-tables 749,29871 3314(defun tags-included-tables 749,29874
3315(defun tags-completion-table 755,30117 3315(defun tags-completion-table 755,30120
3316(defun tags-lazy-completion-table 783,31311 3316(defun tags-lazy-completion-table 783,31314
3317(defun tags-completion-at-point-function 799,31946 3317(defun tags-completion-at-point-function 799,31949
3318(defun find-tag-tag 818,32696 3318(defun find-tag-tag 818,32699
3319(defvar last-tag 837,33369 3319(defvar last-tag 837,33372
3320(defun find-tag-interactive 840,33428 3320(defun find-tag-interactive 840,33431
3321(defvar find-tag-history 852,33843 3321(defvar find-tag-history 852,33846
3322(defvar etags-case-fold-search)855,33908 3322(defvar etags-case-fold-search)855,33911
3323(defvar etags-syntax-table)856,33940 3323(defvar etags-syntax-table)856,33943
3324(defvar local-find-tag-hook)857,33968 3324(defvar local-find-tag-hook)857,33971
3325(defun find-tag-noselect 860,34013 3325(defun find-tag-noselect 860,34016
3326(defun find-tag 932,37127 3326(defun find-tag 932,37130
3327(defun find-tag-other-window 959,38343 3327(defun find-tag-other-window 959,38346
3328(defun find-tag-other-frame 1000,40271 3328(defun find-tag-other-frame 1000,40274
3329(defun find-tag-regexp 1025,41445 3329(defun find-tag-regexp 1025,41448
3330(defalias 'pop-tag-mark pop-tag-mark1049,42607 3330(defalias 'pop-tag-mark pop-tag-mark1049,42610
3331(defvar tag-lines-already-matched 1052,42658 3331(defvar tag-lines-already-matched 1052,42661
3332(defun find-tag-in-order 1055,42765 3332(defun find-tag-in-order 1055,42768
3333(defun tag-find-file-of-tag-noselect 1167,47111 3333(defun tag-find-file-of-tag-noselect 1167,47114
3334(defun tag-find-file-of-tag 1200,48957 3334(defun tag-find-file-of-tag 1200,48960
3335(defun etags-recognize-tags-table 1208,49183 3335(defun etags-recognize-tags-table 1208,49186
3336(defun etags-verify-tags-table 1241,50814 3336(defun etags-verify-tags-table 1241,50817
3337(defun etags-file-of-tag 1246,51012 3337(defun etags-file-of-tag 1246,51015
3338(defun etags-tags-completion-table 1256,51347 3338(defun etags-tags-completion-table 1256,51350
3339(defun etags-snarf-tag 1286,52553 3339(defun etags-snarf-tag 1286,52556
3340(defun etags-goto-tag-location 1324,54122 3340(defun etags-goto-tag-location 1324,54125
3341(defun etags-list-tags 1388,56565 3341(defun etags-list-tags 1388,56568
3342(defmacro tags-with-face 1423,57840 3342(defmacro tags-with-face 1423,57843
3343(defun etags-tags-apropos-additional 1431,58173 3343(defun etags-tags-apropos-additional 1431,58176
3344(defun etags-tags-apropos 1465,59410 3344(defun etags-tags-apropos 1465,59413
3345(defun etags-tags-table-files 1527,61619 3345(defun etags-tags-table-files 1527,61622
3346(defun etags-tags-included-tables 1542,62055 3346(defun etags-tags-included-tables 1542,62058
3347(defun tags-recognize-empty-tags-table 1559,62595 3347(defun tags-recognize-empty-tags-table 1559,62598
3348(defun tag-exact-file-name-match-p 1587,63741 3348(defun tag-exact-file-name-match-p 1587,63744
3349(defun tag-file-name-match-p 1596,64134 3349(defun tag-file-name-match-p 1596,64137
3350(defun tag-exact-match-p 1609,64690 3350(defun tag-exact-match-p 1609,64693
3351(defun tag-implicit-name-match-p 1620,65258 3351(defun tag-implicit-name-match-p 1620,65261
3352(defun tag-symbol-match-p 1633,65858 3352(defun tag-symbol-match-p 1633,65861
3353(defun tag-word-match-p 1643,66294 3353(defun tag-word-match-p 1643,66297
3354(defun tag-partial-file-name-match-p 1652,66692 3354(defun tag-partial-file-name-match-p 1652,66695
3355(defun tag-any-match-p 1662,67136 3355(defun tag-any-match-p 1662,67139
3356(defun tag-re-match-p 1667,67320 3356(defun tag-re-match-p 1667,67323
3357(defcustom tags-loop-revert-buffers 1675,67569 3357(defcustom tags-loop-revert-buffers 1675,67572
3358(defun next-file 1685,67978 3358(defun next-file 1685,67981
3359(defvar tags-loop-operate 1760,70892 3359(defvar tags-loop-operate 1760,70895
3360(defvar tags-loop-scan1763,70986 3360(defvar tags-loop-scan1763,70989
3361(defun tags-loop-eval 1771,71315 3361(defun tags-loop-eval 1771,71318
3362(defun tags-loop-continue 1782,71644 3362(defun tags-loop-continue 1782,71647
3363(defun tags-search 1850,73950 3363(defun tags-search 1850,73953
3364(defun tags-query-replace 1871,74776 3364(defun tags-query-replace 1871,74779
3365(defun tags-complete-tags-table-file 1896,76000 3365(defun tags-complete-tags-table-file 1896,76003
3366(defun list-tags 1906,76379 3366(defun list-tags 1906,76382
3367(defun tags-apropos 1934,77332 3367(defun tags-apropos 1934,77335
3368(define-button-type 'tags-select-tags-tabletags-select-tags-table1957,78158 3368(define-button-type 'tags-select-tags-tabletags-select-tags-table1957,78161
3369(defun select-tags-table 1964,78397 3369(defun select-tags-table 1964,78400
3370(defvar select-tags-table-mode-map 2019,80524 3370(defvar select-tags-table-mode-map 2019,80527
3371(define-derived-mode select-tags-table-mode 2030,80907 3371(define-derived-mode select-tags-table-mode 2030,80910
3372(defun select-tags-table-select 2034,81091 3372(defun select-tags-table-select 2034,81094
3373(defun select-tags-table-quit 2043,81457 3373(defun select-tags-table-quit 2043,81460
3374(defun complete-tag 2049,81612 3374(defun complete-tag 2049,81615
3375(defconst etags--xref-limit 2074,82553 3375(defconst etags--xref-limit 2074,82556
3376(defvar etags-xref-find-definitions-tag-order 2076,82588 3376(defvar etags-xref-find-definitions-tag-order 2076,82591
3377(defun etags-xref-find 2082,82878 3377(defun etags-xref-find 2082,82881
3378(defun etags--xref-find-definitions 2096,83407 3378(defun etags--xref-find-definitions 2096,83410
3379(defclass xref-etags-location 2129,85121 3379(defclass xref-etags-location 2129,85124
3380(defun xref-make-etags-location 2135,85344 3380(defun xref-make-etags-location 2135,85347
3381(cl-defmethod xref-location-marker 2139,85499 3381(cl-defmethod xref-location-marker 2139,85502
3382(cl-defmethod xref-location-line 2146,85743 3382(cl-defmethod xref-location-line 2146,85746
3383 3383
3384erl-src/gs_dialog.erl,98 3384erl-src/gs_dialog.erl,98
3385-define(VERSION2,32 3385-define(VERSION2,32
diff --git a/test/manual/etags/ETAGS.good_6 b/test/manual/etags/ETAGS.good_6
index 9a38e20dcea..6f440a7fc95 100644
--- a/test/manual/etags/ETAGS.good_6
+++ b/test/manual/etags/ETAGS.good_6
@@ -1234,440 +1234,440 @@ record_auto_save 742,23849
1234force_auto_save_soon 751,24017 1234force_auto_save_soon 751,24017
1235DEFUN ("recursive-edit", Frecursive_edit,759,24138 1235DEFUN ("recursive-edit", Frecursive_edit,759,24138
1236DEFUN ("recursive-edit", Frecursive_edit,recursive-edit759,24138 1236DEFUN ("recursive-edit", Frecursive_edit,recursive-edit759,24138
1237recursive_edit_unwind 804,25748 1237recursive_edit_unwind 804,25751
1238any_kboard_state 817,26014 1238any_kboard_state 817,26017
1239single_kboard_state 838,26666 1239single_kboard_state 838,26669
1240not_single_kboard_state 848,26804 1240not_single_kboard_state 848,26807
1241struct kboard_stack858,27066 1241struct kboard_stack858,27069
1242 KBOARD *kboard;kboard860,27088 1242 KBOARD *kboard;kboard860,27091
1243 struct kboard_stack *next;next861,27106 1243 struct kboard_stack *next;next861,27109
1244static struct kboard_stack *kboard_stack;kboard_stack864,27139 1244static struct kboard_stack *kboard_stack;kboard_stack864,27142
1245push_kboard 867,27187 1245push_kboard 867,27190
1246pop_kboard 879,27376 1246pop_kboard 879,27379
1247temporarily_switch_to_single_kboard 914,28264 1247temporarily_switch_to_single_kboard 914,28267
1248record_single_kboard_state 943,29438 1248record_single_kboard_state 943,29441
1249restore_kboard_configuration 952,29622 1249restore_kboard_configuration 952,29625
1250cmd_error 970,30078 1250cmd_error 970,30081
1251cmd_error_internal 1024,31511 1251cmd_error_internal 1024,31514
1252DEFUN ("command-error-default-function", Fcommand_error_default_function,1043,32031 1252DEFUN ("command-error-default-function", Fcommand_error_default_function,1043,32034
1253DEFUN ("command-error-default-function", Fcommand_error_default_function,command-error-default-function1043,32031 1253DEFUN ("command-error-default-function", Fcommand_error_default_function,command-error-default-function1043,32034
1254static Lisp_Object command_loop_2 1086,33638 1254static Lisp_Object command_loop_2 1086,33641
1255static Lisp_Object top_level_1 1087,33687 1255static Lisp_Object top_level_1 1087,33690
1256command_loop 1094,33917 1256command_loop 1094,33920
1257command_loop_2 1134,35136 1257command_loop_2 1134,35139
1258top_level_2 1146,35340 1258top_level_2 1146,35343
1259top_level_1 1152,35418 1259top_level_1 1152,35421
1260DEFUN ("top-level", Ftop_level,1164,35788 1260DEFUN ("top-level", Ftop_level,1164,35791
1261DEFUN ("top-level", Ftop_level,top-level1164,35788 1261DEFUN ("top-level", Ftop_level,top-level1164,35791
1262user_error 1183,36289 1262user_error 1183,36292
1263DEFUN ("exit-recursive-edit", Fexit_recursive_edit,1189,36430 1263DEFUN ("exit-recursive-edit", Fexit_recursive_edit,1189,36433
1264DEFUN ("exit-recursive-edit", Fexit_recursive_edit,exit-recursive-edit1189,36430 1264DEFUN ("exit-recursive-edit", Fexit_recursive_edit,exit-recursive-edit1189,36433
1265DEFUN ("abort-recursive-edit", Fabort_recursive_edit,1201,36820 1265DEFUN ("abort-recursive-edit", Fabort_recursive_edit,1201,36823
1266DEFUN ("abort-recursive-edit", Fabort_recursive_edit,abort-recursive-edit1201,36820 1266DEFUN ("abort-recursive-edit", Fabort_recursive_edit,abort-recursive-edit1201,36823
1267tracking_off 1216,37282 1267tracking_off 1216,37285
1268DEFUN ("internal--track-mouse", Ftrack_mouse,1234,37817 1268DEFUN ("internal--track-mouse", Ftrack_mouse,1234,37820
1269DEFUN ("internal--track-mouse", Ftrack_mouse,track-mouse1234,37817 1269DEFUN ("internal--track-mouse", Ftrack_mouse,track-mouse1234,37820
1270bool ignore_mouse_drag_p;1256,38393 1270bool ignore_mouse_drag_p;1256,38396
1271some_mouse_moved 1259,38442 1271some_mouse_moved 1259,38445
1272static int read_key_sequence 1282,38800 1272static int read_key_sequence 1282,38803
1273static void adjust_point_for_property 1284,38918 1273static void adjust_point_for_property 1284,38921
1274Lisp_Object last_undo_boundary;1287,39033 1274Lisp_Object last_undo_boundary;1287,39036
1275command_loop_1 1294,39274 1275command_loop_1 1294,39277
1276read_menu_command 1649,50890 1276read_menu_command 1649,50893
1277adjust_point_for_property 1678,51618 1277adjust_point_for_property 1678,51621
1278safe_run_hooks_1 1831,57340 1278safe_run_hooks_1 1831,57343
1279safe_run_hooks_error 1841,57570 1279safe_run_hooks_error 1841,57573
1280safe_run_hook_funcall 1878,58577 1280safe_run_hook_funcall 1878,58580
1281safe_run_hooks 1893,59059 1281safe_run_hooks 1893,59062
1282int poll_suppress_count;1908,59398 1282int poll_suppress_count;1908,59401
1283static struct atimer *poll_timer;poll_timer1915,59488 1283static struct atimer *poll_timer;poll_timer1915,59491
1284poll_for_input_1 1919,59590 1284poll_for_input_1 1919,59593
1285poll_for_input 1930,59790 1285poll_for_input 1930,59793
1286start_polling 1942,60054 1286start_polling 1942,60057
1287input_polling_used 1979,61092 1287input_polling_used 1979,61095
1288stop_polling 1994,61391 1288stop_polling 1994,61394
1289set_poll_suppress_count 2009,61760 1289set_poll_suppress_count 2009,61763
1290bind_polling_period 2029,62142 1290bind_polling_period 2029,62145
1291make_ctrl_char 2048,62493 1291make_ctrl_char 2048,62496
1292show_help_echo 2113,64456 1292show_help_echo 2113,64459
1293static Lisp_Object kbd_buffer_get_event 2152,65485 1293static Lisp_Object kbd_buffer_get_event 2152,65488
1294static void record_char 2154,65597 1294static void record_char 2154,65600
1295static Lisp_Object help_form_saved_window_configs;2156,65639 1295static Lisp_Object help_form_saved_window_configs;2156,65642
1296read_char_help_form_unwind 2158,65702 1296read_char_help_form_unwind 2158,65705
1297#define STOP_POLLING 2166,65960 1297#define STOP_POLLING 2166,65963
1298#define RESUME_POLLING 2170,66085 1298#define RESUME_POLLING 2170,66088
1299read_event_from_main_queue 2175,66230 1299read_event_from_main_queue 2175,66233
1300read_decoded_event_from_main_queue 2249,68418 1300read_decoded_event_from_main_queue 2249,68421
1301#define MAX_ENCODED_BYTES 2254,68665 1301#define MAX_ENCODED_BYTES 2254,68668
1302echo_keystrokes_p 2342,71557 1302echo_keystrokes_p 2342,71560
1303read_char 2376,72849 1303read_char 2376,72852
1304record_menu_key 3225,98950 1304record_menu_key 3225,98953
1305help_char_p 3258,99675 1305help_char_p 3258,99678
1306record_char 3273,99954 1306record_char 3273,99957
1307save_getcjmp 3412,104236 1307save_getcjmp 3412,104239
1308restore_getcjmp 3418,104327 1308restore_getcjmp 3418,104330
1309readable_events 3430,104698 1309readable_events 3430,104701
1310int stop_character EXTERNALLY_VISIBLE;3497,106438 1310int stop_character EXTERNALLY_VISIBLE;3497,106441
1311event_to_kboard 3500,106494 1311event_to_kboard 3500,106497
1312kbd_buffer_nr_stored 3522,107143 1312kbd_buffer_nr_stored 3522,107146
1313kbd_buffer_store_event 3534,107484 1313kbd_buffer_store_event 3534,107487
1314kbd_buffer_store_event_hold 3550,108026 1314kbd_buffer_store_event_hold 3550,108029
1315kbd_buffer_unget_event 3684,111618 1315kbd_buffer_unget_event 3684,111621
1316#define INPUT_EVENT_POS_MAX 3698,112019 1316#define INPUT_EVENT_POS_MAX 3698,112022
1317#define INPUT_EVENT_POS_MIN 3701,112148 1317#define INPUT_EVENT_POS_MIN 3701,112151
1318position_to_Time 3706,112288 1318position_to_Time 3706,112291
1319Time_to_position 3716,112515 1319Time_to_position 3716,112518
1320gen_help_event 3738,113172 1320gen_help_event 3738,113175
1321kbd_buffer_store_help_event 3756,113612 1321kbd_buffer_store_help_event 3756,113615
1322discard_mouse_events 3773,113977 1322discard_mouse_events 3773,113980
1323kbd_buffer_events_waiting 3803,114712 1323kbd_buffer_events_waiting 3803,114715
1324clear_event 3823,115069 1324clear_event 3823,115072
1325kbd_buffer_get_event 3836,115409 1325kbd_buffer_get_event 3836,115412
1326process_special_events 4258,127882 1326process_special_events 4258,127885
1327swallow_events 4322,129706 1327swallow_events 4322,129709
1328timer_start_idle 4339,130099 1328timer_start_idle 4339,130102
1329timer_stop_idle 4355,130577 1329timer_stop_idle 4355,130580
1330timer_resume_idle 4363,130721 1330timer_resume_idle 4363,130724
1331struct input_event last_timer_event EXTERNALLY_VISIBLE;4372,130913 1331struct input_event last_timer_event EXTERNALLY_VISIBLE;4372,130916
1332Lisp_Object pending_funcalls;4377,131173 1332Lisp_Object pending_funcalls;4377,131176
1333decode_timer 4381,131294 1333decode_timer 4381,131297
1334timer_check_2 4414,132247 1334timer_check_2 4414,132250
1335timer_check 4572,136818 1335timer_check 4572,136821
1336DEFUN ("current-idle-time", Fcurrent_idle_time,4607,137663 1336DEFUN ("current-idle-time", Fcurrent_idle_time,4607,137666
1337DEFUN ("current-idle-time", Fcurrent_idle_time,current-idle-time4607,137663 1337DEFUN ("current-idle-time", Fcurrent_idle_time,current-idle-time4607,137666
1338static Lisp_Object accent_key_syms;4625,138240 1338static Lisp_Object accent_key_syms;4625,138243
1339static Lisp_Object func_key_syms;4626,138276 1339static Lisp_Object func_key_syms;4626,138279
1340static Lisp_Object mouse_syms;4627,138310 1340static Lisp_Object mouse_syms;4627,138313
1341static Lisp_Object wheel_syms;4628,138341 1341static Lisp_Object wheel_syms;4628,138344
1342static Lisp_Object drag_n_drop_syms;4629,138372 1342static Lisp_Object drag_n_drop_syms;4629,138375
1343static const int lispy_accent_codes[lispy_accent_codes4634,138517 1343static const int lispy_accent_codes[lispy_accent_codes4634,138520
1344static const char *const lispy_accent_keys[lispy_accent_keys4741,139879 1344static const char *const lispy_accent_keys[lispy_accent_keys4741,139882
1345#define FUNCTION_KEY_OFFSET 4766,140315 1345#define FUNCTION_KEY_OFFSET 4766,140318
1346const char *const lispy_function_keys[lispy_function_keys4768,140348 1346const char *const lispy_function_keys[lispy_function_keys4768,140351
1347static const char *const lispy_multimedia_keys[lispy_multimedia_keys4962,148902 1347static const char *const lispy_multimedia_keys[lispy_multimedia_keys4962,148905
1348static const char *const lispy_kana_keys[lispy_kana_keys5026,150136 1348static const char *const lispy_kana_keys[lispy_kana_keys5026,150139
1349#define FUNCTION_KEY_OFFSET 5061,151752 1349#define FUNCTION_KEY_OFFSET 5061,151755
1350static const char *const lispy_function_keys[lispy_function_keys5065,151895 1350static const char *const lispy_function_keys[lispy_function_keys5065,151898
1351#define ISO_FUNCTION_KEY_OFFSET 5149,154430 1351#define ISO_FUNCTION_KEY_OFFSET 5149,154433
1352static const char *const iso_lispy_function_keys[iso_lispy_function_keys5151,154470 1352static const char *const iso_lispy_function_keys[iso_lispy_function_keys5151,154473
1353static Lisp_Object Vlispy_mouse_stem;5172,155329 1353static Lisp_Object Vlispy_mouse_stem;5172,155332
1354static const char *const lispy_wheel_names[lispy_wheel_names5174,155368 1354static const char *const lispy_wheel_names[lispy_wheel_names5174,155371
1355static const char *const lispy_drag_n_drop_names[lispy_drag_n_drop_names5181,155620 1355static const char *const lispy_drag_n_drop_names[lispy_drag_n_drop_names5181,155623
1356static short const scroll_bar_parts[scroll_bar_parts5189,155886 1356static short const scroll_bar_parts[scroll_bar_parts5189,155889
1357static Lisp_Object button_down_location;5210,156911 1357static Lisp_Object button_down_location;5210,156914
1358static int last_mouse_button;5215,157066 1358static int last_mouse_button;5215,157069
1359static int last_mouse_x;5216,157096 1359static int last_mouse_x;5216,157099
1360static int last_mouse_y;5217,157121 1360static int last_mouse_y;5217,157124
1361static Time button_down_time;5218,157146 1361static Time button_down_time;5218,157149
1362static int double_click_count;5222,157230 1362static int double_click_count;5222,157233
1363make_lispy_position 5228,157391 1363make_lispy_position 5228,157394
1364toolkit_menubar_in_use 5456,163954 1364toolkit_menubar_in_use 5456,163957
1365make_scroll_bar_position 5469,164322 1365make_scroll_bar_position 5469,164325
1366make_lispy_event 5485,164968 1366make_lispy_event 5485,164971
1367make_lispy_movement 6104,183531 1367make_lispy_movement 6104,183534
1368make_lispy_switch_frame 6131,184262 1368make_lispy_switch_frame 6131,184265
1369make_lispy_focus_in 6137,184369 1369make_lispy_focus_in 6137,184372
1370make_lispy_focus_out 6145,184495 1370make_lispy_focus_out 6145,184498
1371parse_modifiers_uncached 6163,184945 1371parse_modifiers_uncached 6163,184948
1372#define SINGLE_LETTER_MOD(6185,185465 1372#define SINGLE_LETTER_MOD(6185,185468
1373#undef SINGLE_LETTER_MOD6212,185906 1373#undef SINGLE_LETTER_MOD6212,185909
1374#define MULTI_LETTER_MOD(6214,185932 1374#define MULTI_LETTER_MOD(6214,185935
1375#undef MULTI_LETTER_MOD6231,186400 1375#undef MULTI_LETTER_MOD6231,186403
1376apply_modifiers_uncached 6273,187574 1376apply_modifiers_uncached 6273,187577
1377static const char *const modifier_names[modifier_names6319,189193 1377static const char *const modifier_names[modifier_names6319,189196
1378#define NUM_MOD_NAMES 6325,189399 1378#define NUM_MOD_NAMES 6325,189402
1379static Lisp_Object modifier_symbols;6327,189449 1379static Lisp_Object modifier_symbols;6327,189452
1380lispy_modifier_list 6331,189586 1380lispy_modifier_list 6331,189589
1381#define KEY_TO_CHAR(6353,190252 1381#define KEY_TO_CHAR(6353,190255
1382parse_modifiers 6356,190328 1382parse_modifiers 6356,190331
1383DEFUN ("internal-event-symbol-parse-modifiers", Fevent_symbol_parse_modifiers,6399,191517 1383DEFUN ("internal-event-symbol-parse-modifiers", Fevent_symbol_parse_modifiers,6399,191520
1384DEFUN ("internal-event-symbol-parse-modifiers", Fevent_symbol_parse_modifiers,event-symbol-parse-modifiers6399,191517 1384DEFUN ("internal-event-symbol-parse-modifiers", Fevent_symbol_parse_modifiers,event-symbol-parse-modifiers6399,191520
1385apply_modifiers 6422,192391 1385apply_modifiers 6422,192394
1386reorder_modifiers 6491,194720 1386reorder_modifiers 6491,194723
1387modify_event_symbol 6536,196528 1387modify_event_symbol 6536,196531
1388DEFUN ("event-convert-list", Fevent_convert_list,6628,199244 1388DEFUN ("event-convert-list", Fevent_convert_list,6628,199247
1389DEFUN ("event-convert-list", Fevent_convert_list,event-convert-list6628,199244 1389DEFUN ("event-convert-list", Fevent_convert_list,event-convert-list6628,199247
1390parse_solitary_modifier 6695,201135 1390parse_solitary_modifier 6695,201138
1391#define SINGLE_LETTER_MOD(6701,201258 1391#define SINGLE_LETTER_MOD(6701,201261
1392#define MULTI_LETTER_MOD(6705,201343 1392#define MULTI_LETTER_MOD(6705,201346
1393#undef SINGLE_LETTER_MOD6763,202641 1393#undef SINGLE_LETTER_MOD6763,202644
1394#undef MULTI_LETTER_MOD6764,202666 1394#undef MULTI_LETTER_MOD6764,202669
1395lucid_event_type_list_p 6775,202889 1395lucid_event_type_list_p 6775,202892
1396get_input_pending 6814,203960 1396get_input_pending 6814,203963
1397record_asynch_buffer_change 6834,204579 1397record_asynch_buffer_change 6834,204582
1398gobble_input 6872,205702 1398gobble_input 6872,205705
1399tty_read_avail_input 6967,208310 1399tty_read_avail_input 6967,208313
1400handle_async_input 7149,214039 1400handle_async_input 7149,214042
1401process_pending_signals 7165,214359 1401process_pending_signals 7165,214362
1402unblock_input_to 7177,214645 1402unblock_input_to 7177,214648
1403unblock_input 7200,215277 1403unblock_input 7200,215280
1404totally_unblock_input 7209,215445 1404totally_unblock_input 7209,215448
1405handle_input_available_signal 7217,215529 1405handle_input_available_signal 7217,215532
1406deliver_input_available_signal 7226,215700 1406deliver_input_available_signal 7226,215703
1407struct user_signal_info7235,215865 1407struct user_signal_info7235,215868
1408 int sig;7238,215915 1408 int sig;7238,215918
1409 char *name;name7241,215956 1409 char *name;name7241,215959
1410 int npending;7244,216007 1410 int npending;7244,216010
1411 struct user_signal_info *next;next7246,216024 1411 struct user_signal_info *next;next7246,216027
1412static struct user_signal_info *user_signals user_signals7250,216090 1412static struct user_signal_info *user_signals user_signals7250,216093
1413add_user_signal 7253,216149 1413add_user_signal 7253,216152
1414handle_user_signal 7275,216598 1414handle_user_signal 7275,216601
1415deliver_user_signal 7316,217558 1415deliver_user_signal 7316,217561
1416find_user_signal_name 7322,217659 1416find_user_signal_name 7322,217662
1417store_user_signal_events 7334,217841 1417store_user_signal_events 7334,217844
1418static void menu_bar_item 7362,218341 1418static void menu_bar_item 7362,218344
1419static Lisp_Object menu_bar_one_keymap_changed_items;7363,218416 1419static Lisp_Object menu_bar_one_keymap_changed_items;7363,218419
1420static Lisp_Object menu_bar_items_vector;7368,218630 1420static Lisp_Object menu_bar_items_vector;7368,218633
1421static int menu_bar_items_index;7369,218672 1421static int menu_bar_items_index;7369,218675
1422static const char *separator_names[separator_names7372,218707 1422static const char *separator_names[separator_names7372,218710
1423menu_separator_name_p 7393,219148 1423menu_separator_name_p 7393,219151
1424menu_bar_items 7426,219852 1424menu_bar_items 7426,219855
1425Lisp_Object item_properties;7568,224603 1425Lisp_Object item_properties;7568,224606
1426menu_bar_item 7571,224645 1426menu_bar_item 7571,224648
1427menu_item_eval_property_1 7647,227175 1427menu_item_eval_property_1 7647,227178
1428eval_dyn 7658,227465 1428eval_dyn 7658,227468
1429menu_item_eval_property 7666,227675 1429menu_item_eval_property 7666,227678
1430parse_menu_item 7686,228341 1430parse_menu_item 7686,228344
1431static Lisp_Object tool_bar_items_vector;7965,236336 1431static Lisp_Object tool_bar_items_vector;7965,236339
1432static Lisp_Object tool_bar_item_properties;7970,236510 1432static Lisp_Object tool_bar_item_properties;7970,236513
1433static int ntool_bar_items;7974,236606 1433static int ntool_bar_items;7974,236609
1434static void init_tool_bar_items 7978,236664 1434static void init_tool_bar_items 7978,236667
1435static void process_tool_bar_item 7979,236711 1435static void process_tool_bar_item 7979,236714
1436static bool parse_tool_bar_item 7981,236801 1436static bool parse_tool_bar_item 7981,236804
1437static void append_tool_bar_item 7982,236861 1437static void append_tool_bar_item 7982,236864
1438tool_bar_items 7990,237083 1438tool_bar_items 7990,237086
1439process_tool_bar_item 8075,239892 1439process_tool_bar_item 8075,239895
1440#define PROP(8112,240969 1440#define PROP(8112,240972
1441set_prop 8114,241038 1441set_prop 8114,241041
1442parse_tool_bar_item 8167,242453 1442parse_tool_bar_item 8167,242456
1443#undef PROP8379,248844 1443#undef PROP8379,248847
1444init_tool_bar_items 8387,248969 1444init_tool_bar_items 8387,248972
1445append_tool_bar_item 8401,249261 1445append_tool_bar_item 8401,249264
1446read_char_x_menu_prompt 8443,250771 1446read_char_x_menu_prompt 8443,250774
1447read_char_minibuf_menu_prompt 8503,252445 1447read_char_minibuf_menu_prompt 8503,252448
1448#define PUSH_C_STR(8527,253014 1448#define PUSH_C_STR(8527,253017
1449follow_key 8726,258553 1449follow_key 8726,258556
1450active_maps 8733,258695 1450active_maps 8733,258698
1451typedef struct keyremap8742,259021 1451typedef struct keyremap8742,259024
1452 Lisp_Object parent;8745,259107 1452 Lisp_Object parent;8745,259110
1453 Lisp_Object map;8748,259224 1453 Lisp_Object map;8748,259227
1454 int start,8753,259446 1454 int start,8753,259449
1455 int start, end;8753,259446 1455 int start, end;8753,259449
1456} keyremap;8754,259464 1456} keyremap;8754,259467
1457access_keymap_keyremap 8764,259808 1457access_keymap_keyremap 8764,259811
1458keyremap_step 8811,261450 1458keyremap_step 8811,261453
1459test_undefined 8867,262934 1459test_undefined 8867,262937
1460read_key_sequence 8916,264861 1460read_key_sequence 8916,264864
1461read_key_sequence_vs 9826,295821 1461read_key_sequence_vs 9826,295824
1462DEFUN ("read-key-sequence", Fread_key_sequence,9885,297294 1462DEFUN ("read-key-sequence", Fread_key_sequence,9885,297297
1463DEFUN ("read-key-sequence", Fread_key_sequence,read-key-sequence9885,297294 1463DEFUN ("read-key-sequence", Fread_key_sequence,read-key-sequence9885,297297
1464DEFUN ("read-key-sequence-vector", Fread_key_sequence_vector,9938,299982 1464DEFUN ("read-key-sequence-vector", Fread_key_sequence_vector,9938,299985
1465DEFUN ("read-key-sequence-vector", Fread_key_sequence_vector,read-key-sequence-vector9938,299982 1465DEFUN ("read-key-sequence-vector", Fread_key_sequence_vector,read-key-sequence-vector9938,299985
1466detect_input_pending 9950,300488 1466detect_input_pending 9950,300491
1467detect_input_pending_ignore_squeezables 9959,300654 1467detect_input_pending_ignore_squeezables 9959,300657
1468detect_input_pending_run_timers 9967,300870 1468detect_input_pending_run_timers 9967,300873
1469clear_input_pending 9985,301362 1469clear_input_pending 9985,301365
1470requeued_events_pending_p 9997,301732 1470requeued_events_pending_p 9997,301735
1471DEFUN ("input-pending-p", Finput_pending_p,10002,301813 1471DEFUN ("input-pending-p", Finput_pending_p,10002,301816
1472DEFUN ("input-pending-p", Finput_pending_p,input-pending-p10002,301813 1472DEFUN ("input-pending-p", Finput_pending_p,input-pending-p10002,301816
1473DEFUN ("recent-keys", Frecent_keys,10024,302596 1473DEFUN ("recent-keys", Frecent_keys,10024,302599
1474DEFUN ("recent-keys", Frecent_keys,recent-keys10024,302596 1474DEFUN ("recent-keys", Frecent_keys,recent-keys10024,302599
1475DEFUN ("this-command-keys", Fthis_command_keys,10055,303517 1475DEFUN ("this-command-keys", Fthis_command_keys,10055,303520
1476DEFUN ("this-command-keys", Fthis_command_keys,this-command-keys10055,303517 1476DEFUN ("this-command-keys", Fthis_command_keys,this-command-keys10055,303520
1477DEFUN ("this-command-keys-vector", Fthis_command_keys_vector,10068,303958 1477DEFUN ("this-command-keys-vector", Fthis_command_keys_vector,10068,303961
1478DEFUN ("this-command-keys-vector", Fthis_command_keys_vector,this-command-keys-vector10068,303958 1478DEFUN ("this-command-keys-vector", Fthis_command_keys_vector,this-command-keys-vector10068,303961
1479DEFUN ("this-single-command-keys", Fthis_single_command_keys,10080,304380 1479DEFUN ("this-single-command-keys", Fthis_single_command_keys,10080,304383
1480DEFUN ("this-single-command-keys", Fthis_single_command_keys,this-single-command-keys10080,304380 1480DEFUN ("this-single-command-keys", Fthis_single_command_keys,this-single-command-keys10080,304383
1481DEFUN ("this-single-command-raw-keys", Fthis_single_command_raw_keys,10096,304955 1481DEFUN ("this-single-command-raw-keys", Fthis_single_command_raw_keys,10096,304958
1482DEFUN ("this-single-command-raw-keys", Fthis_single_command_raw_keys,this-single-command-raw-keys10096,304955 1482DEFUN ("this-single-command-raw-keys", Fthis_single_command_raw_keys,this-single-command-raw-keys10096,304958
1483DEFUN ("reset-this-command-lengths", Freset_this_command_lengths,10109,305495 1483DEFUN ("reset-this-command-lengths", Freset_this_command_lengths,10109,305498
1484DEFUN ("reset-this-command-lengths", Freset_this_command_lengths,reset-this-command-lengths10109,305495 1484DEFUN ("reset-this-command-lengths", Freset_this_command_lengths,reset-this-command-lengths10109,305498
1485DEFUN ("clear-this-command-keys", Fclear_this_command_keys,10136,306510 1485DEFUN ("clear-this-command-keys", Fclear_this_command_keys,10136,306513
1486DEFUN ("clear-this-command-keys", Fclear_this_command_keys,clear-this-command-keys10136,306510 1486DEFUN ("clear-this-command-keys", Fclear_this_command_keys,clear-this-command-keys10136,306513
1487DEFUN ("recursion-depth", Frecursion_depth,10158,307069 1487DEFUN ("recursion-depth", Frecursion_depth,10158,307072
1488DEFUN ("recursion-depth", Frecursion_depth,recursion-depth10158,307069 1488DEFUN ("recursion-depth", Frecursion_depth,recursion-depth10158,307072
1489DEFUN ("open-dribble-file", Fopen_dribble_file,10169,307406 1489DEFUN ("open-dribble-file", Fopen_dribble_file,10169,307409
1490DEFUN ("open-dribble-file", Fopen_dribble_file,open-dribble-file10169,307406 1490DEFUN ("open-dribble-file", Fopen_dribble_file,open-dribble-file10169,307409
1491DEFUN ("discard-input", Fdiscard_input,10203,308447 1491DEFUN ("discard-input", Fdiscard_input,10203,308450
1492DEFUN ("discard-input", Fdiscard_input,discard-input10203,308447 1492DEFUN ("discard-input", Fdiscard_input,discard-input10203,308450
1493DEFUN ("suspend-emacs", Fsuspend_emacs,10225,308949 1493DEFUN ("suspend-emacs", Fsuspend_emacs,10225,308952
1494DEFUN ("suspend-emacs", Fsuspend_emacs,suspend-emacs10225,308949 1494DEFUN ("suspend-emacs", Fsuspend_emacs,suspend-emacs10225,308952
1495stuff_buffered_input 10285,311045 1495stuff_buffered_input 10285,311048
1496set_waiting_for_input 10323,312016 1496set_waiting_for_input 10323,312019
1497clear_waiting_for_input 10337,312390 1497clear_waiting_for_input 10337,312393
1498handle_interrupt_signal 10351,312754 1498handle_interrupt_signal 10351,312757
1499deliver_interrupt_signal 10378,313642 1499deliver_interrupt_signal 10378,313645
1500static int volatile force_quit_count;10387,313932 1500static int volatile force_quit_count;10387,313935
1501handle_interrupt 10401,314414 1501handle_interrupt 10401,314417
1502quit_throw_to_read_char 10541,318711 1502quit_throw_to_read_char 10541,318714
1503DEFUN ("set-input-interrupt-mode", Fset_input_interrupt_mode,10562,319288 1503DEFUN ("set-input-interrupt-mode", Fset_input_interrupt_mode,10562,319291
1504DEFUN ("set-input-interrupt-mode", Fset_input_interrupt_mode,set-input-interrupt-mode10562,319288 1504DEFUN ("set-input-interrupt-mode", Fset_input_interrupt_mode,set-input-interrupt-mode10562,319291
1505DEFUN ("set-output-flow-control", Fset_output_flow_control,10609,320516 1505DEFUN ("set-output-flow-control", Fset_output_flow_control,10609,320519
1506DEFUN ("set-output-flow-control", Fset_output_flow_control,set-output-flow-control10609,320516 1506DEFUN ("set-output-flow-control", Fset_output_flow_control,set-output-flow-control10609,320519
1507DEFUN ("set-input-meta-mode", Fset_input_meta_mode,10643,321432 1507DEFUN ("set-input-meta-mode", Fset_input_meta_mode,10643,321435
1508DEFUN ("set-input-meta-mode", Fset_input_meta_mode,set-input-meta-mode10643,321432 1508DEFUN ("set-input-meta-mode", Fset_input_meta_mode,set-input-meta-mode10643,321435
1509DEFUN ("set-quit-char", Fset_quit_char,10694,322706 1509DEFUN ("set-quit-char", Fset_quit_char,10694,322709
1510DEFUN ("set-quit-char", Fset_quit_char,set-quit-char10694,322706 1510DEFUN ("set-quit-char", Fset_quit_char,set-quit-char10694,322709
1511DEFUN ("set-input-mode", Fset_input_mode,10729,323570 1511DEFUN ("set-input-mode", Fset_input_mode,10729,323573
1512DEFUN ("set-input-mode", Fset_input_mode,set-input-mode10729,323570 1512DEFUN ("set-input-mode", Fset_input_mode,set-input-mode10729,323573
1513DEFUN ("current-input-mode", Fcurrent_input_mode,10750,324459 1513DEFUN ("current-input-mode", Fcurrent_input_mode,10750,324462
1514DEFUN ("current-input-mode", Fcurrent_input_mode,current-input-mode10750,324459 1514DEFUN ("current-input-mode", Fcurrent_input_mode,current-input-mode10750,324462
1515DEFUN ("posn-at-x-y", Fposn_at_x_y,10787,325837 1515DEFUN ("posn-at-x-y", Fposn_at_x_y,10787,325840
1516DEFUN ("posn-at-x-y", Fposn_at_x_y,posn-at-x-y10787,325837 1516DEFUN ("posn-at-x-y", Fposn_at_x_y,posn-at-x-y10787,325840
1517DEFUN ("posn-at-point", Fposn_at_point,10824,327060 1517DEFUN ("posn-at-point", Fposn_at_point,10824,327063
1518DEFUN ("posn-at-point", Fposn_at_point,posn-at-point10824,327060 1518DEFUN ("posn-at-point", Fposn_at_point,posn-at-point10824,327063
1519init_kboard 10861,328214 1519init_kboard 10861,328217
1520allocate_kboard 10893,329284 1520allocate_kboard 10893,329287
1521wipe_kboard 10909,329637 1521wipe_kboard 10909,329640
1522delete_kboard 10917,329751 1522delete_kboard 10917,329754
1523init_keyboard 10942,330281 1523init_keyboard 10942,330284
1524struct event_head11021,332696 1524struct event_head11021,332699
1525 short var;11023,332716 1525 short var;11023,332719
1526 short kind;11024,332729 1526 short kind;11024,332732
1527static const struct event_head head_table[head_table11027,332747 1527static const struct event_head head_table[head_table11027,332750
1528syms_of_keyboard 11045,333577 1528syms_of_keyboard 11045,333580
1529 DEFVAR_LISP ("internal--top-level-message"11058,333972 1529 DEFVAR_LISP ("internal--top-level-message"11058,333975
1530 DEFVAR_LISP ("last-command-event"11312,342173 1530 DEFVAR_LISP ("last-command-event"11312,342176
1531 DEFVAR_LISP ("last-nonmenu-event"11315,342297 1531 DEFVAR_LISP ("last-nonmenu-event"11315,342300
1532 DEFVAR_LISP ("last-input-event"11321,342636 1532 DEFVAR_LISP ("last-input-event"11321,342639
1533 DEFVAR_LISP ("unread-command-events"11324,342730 1533 DEFVAR_LISP ("unread-command-events"11324,342733
1534 DEFVAR_LISP ("unread-post-input-method-events"11332,343190 1534 DEFVAR_LISP ("unread-post-input-method-events"11332,343193
1535 DEFVAR_LISP ("unread-input-method-events"11338,343529 1535 DEFVAR_LISP ("unread-input-method-events"11338,343532
1536 DEFVAR_LISP ("meta-prefix-char"11346,343898 1536 DEFVAR_LISP ("meta-prefix-char"11346,343901
1537 DEFVAR_KBOARD ("last-command"11351,344106 1537 DEFVAR_KBOARD ("last-command"11351,344109
1538 DEFVAR_KBOARD ("real-last-command"11368,344787 1538 DEFVAR_KBOARD ("real-last-command"11368,344790
1539 DEFVAR_KBOARD ("last-repeatable-command"11372,344973 1539 DEFVAR_KBOARD ("last-repeatable-command"11372,344976
1540 DEFVAR_LISP ("this-command"11378,345261 1540 DEFVAR_LISP ("this-command"11378,345264
1541 DEFVAR_LISP ("real-this-command"11384,345498 1541 DEFVAR_LISP ("real-this-command"11384,345501
1542 DEFVAR_LISP ("this-command-keys-shift-translated"11388,345680 1542 DEFVAR_LISP ("this-command-keys-shift-translated"11388,345683
1543 DEFVAR_LISP ("this-original-command"11396,346123 1543 DEFVAR_LISP ("this-original-command"11396,346126
1544 DEFVAR_INT ("auto-save-interval"11403,346520 1544 DEFVAR_INT ("auto-save-interval"11403,346523
1545 DEFVAR_LISP ("auto-save-timeout"11408,346734 1545 DEFVAR_LISP ("auto-save-timeout"11408,346737
1546 DEFVAR_LISP ("echo-keystrokes"11415,347079 1546 DEFVAR_LISP ("echo-keystrokes"11415,347082
1547 DEFVAR_INT ("polling-period"11421,347350 1547 DEFVAR_INT ("polling-period"11421,347353
1548 DEFVAR_LISP ("double-click-time"11428,347693 1548 DEFVAR_LISP ("double-click-time"11428,347696
1549 DEFVAR_INT ("double-click-fuzz"11435,348029 1549 DEFVAR_INT ("double-click-fuzz"11435,348032
1550 DEFVAR_INT ("num-input-keys"11446,348519 1550 DEFVAR_INT ("num-input-keys"11446,348522
1551 DEFVAR_INT ("num-nonmacro-input-events"11452,348794 1551 DEFVAR_INT ("num-nonmacro-input-events"11452,348797
1552 DEFVAR_LISP ("last-event-frame"11457,349032 1552 DEFVAR_LISP ("last-event-frame"11457,349035
1553 DEFVAR_LISP ("tty-erase-char"11463,349311 1553 DEFVAR_LISP ("tty-erase-char"11463,349314
1554 DEFVAR_LISP ("help-char"11466,349434 1554 DEFVAR_LISP ("help-char"11466,349437
1555 DEFVAR_LISP ("help-event-list"11472,349717 1555 DEFVAR_LISP ("help-event-list"11472,349720
1556 DEFVAR_LISP ("help-form"11477,349928 1556 DEFVAR_LISP ("help-form"11477,349931
1557 DEFVAR_LISP ("prefix-help-command"11483,350176 1557 DEFVAR_LISP ("prefix-help-command"11483,350179
1558 DEFVAR_LISP ("top-level"11489,350454 1558 DEFVAR_LISP ("top-level"11489,350457
1559 DEFVAR_KBOARD ("keyboard-translate-table"11495,350675 1559 DEFVAR_KBOARD ("keyboard-translate-table"11495,350678
1560 DEFVAR_BOOL ("cannot-suspend"11511,351488 1560 DEFVAR_BOOL ("cannot-suspend"11511,351491
1561 DEFVAR_BOOL ("menu-prompting"11516,351715 1561 DEFVAR_BOOL ("menu-prompting"11516,351718
1562 DEFVAR_LISP ("menu-prompt-more-char"11526,352145 1562 DEFVAR_LISP ("menu-prompt-more-char"11526,352148
1563 DEFVAR_INT ("extra-keyboard-modifiers"11531,352391 1563 DEFVAR_INT ("extra-keyboard-modifiers"11531,352394
1564 DEFVAR_LISP ("deactivate-mark"11545,353117 1564 DEFVAR_LISP ("deactivate-mark"11545,353120
1565 DEFVAR_LISP ("pre-command-hook"11553,353486 1565 DEFVAR_LISP ("pre-command-hook"11553,353489
1566 DEFVAR_LISP ("post-command-hook"11560,353841 1566 DEFVAR_LISP ("post-command-hook"11560,353844
1567 DEFVAR_LISP ("echo-area-clear-hook"11568,354204 1567 DEFVAR_LISP ("echo-area-clear-hook"11568,354207
1568 DEFVAR_LISP ("lucid-menu-bar-dirty-flag"11574,354419 1568 DEFVAR_LISP ("lucid-menu-bar-dirty-flag"11574,354422
1569 DEFVAR_LISP ("menu-bar-final-items"11578,354622 1569 DEFVAR_LISP ("menu-bar-final-items"11578,354625
1570 DEFVAR_LISP ("tool-bar-separator-image-expression"11583,354872 1570 DEFVAR_LISP ("tool-bar-separator-image-expression"11583,354875
1571 DEFVAR_KBOARD ("overriding-terminal-local-map"11589,355230 1571 DEFVAR_KBOARD ("overriding-terminal-local-map"11589,355233
1572 DEFVAR_LISP ("overriding-local-map"11598,355652 1572 DEFVAR_LISP ("overriding-local-map"11598,355655
1573 DEFVAR_LISP ("overriding-local-map-menu-flag"11607,356103 1573 DEFVAR_LISP ("overriding-local-map-menu-flag"11607,356106
1574 DEFVAR_LISP ("special-event-map"11613,356442 1574 DEFVAR_LISP ("special-event-map"11613,356445
1575 DEFVAR_LISP ("track-mouse"11617,356630 1575 DEFVAR_LISP ("track-mouse"11617,356633
1576 DEFVAR_KBOARD ("system-key-alist"11620,356757 1576 DEFVAR_KBOARD ("system-key-alist"11620,356760
1577 DEFVAR_KBOARD ("local-function-key-map"11629,357138 1577 DEFVAR_KBOARD ("local-function-key-map"11629,357141
1578 DEFVAR_KBOARD ("input-decode-map"11658,358597 1578 DEFVAR_KBOARD ("input-decode-map"11658,358600
1579 DEFVAR_LISP ("function-key-map"11675,359385 1579 DEFVAR_LISP ("function-key-map"11675,359388
1580 DEFVAR_LISP ("key-translation-map"11683,359801 1580 DEFVAR_LISP ("key-translation-map"11683,359804
1581 DEFVAR_LISP ("deferred-action-list"11689,360145 1581 DEFVAR_LISP ("deferred-action-list"11689,360148
1582 DEFVAR_LISP ("deferred-action-function"11694,360393 1582 DEFVAR_LISP ("deferred-action-function"11694,360396
1583 DEFVAR_LISP ("delayed-warnings-list"11700,360692 1583 DEFVAR_LISP ("delayed-warnings-list"11700,360695
1584 DEFVAR_LISP ("timer-list"11708,361100 1584 DEFVAR_LISP ("timer-list"11708,361103
1585 DEFVAR_LISP ("timer-idle-list"11712,361252 1585 DEFVAR_LISP ("timer-idle-list"11712,361255
1586 DEFVAR_LISP ("input-method-function"11716,361415 1586 DEFVAR_LISP ("input-method-function"11716,361418
1587 DEFVAR_LISP ("input-method-previous-message"11737,362384 1587 DEFVAR_LISP ("input-method-previous-message"11737,362387
1588 DEFVAR_LISP ("show-help-function"11744,362745 1588 DEFVAR_LISP ("show-help-function"11744,362748
1589 DEFVAR_LISP ("disable-point-adjustment"11749,362977 1589 DEFVAR_LISP ("disable-point-adjustment"11749,362980
1590 DEFVAR_LISP ("global-disable-point-adjustment"11761,363527 1590 DEFVAR_LISP ("global-disable-point-adjustment"11761,363530
1591 DEFVAR_LISP ("minibuffer-message-timeout"11770,363893 1591 DEFVAR_LISP ("minibuffer-message-timeout"11770,363896
1592 DEFVAR_LISP ("throw-on-input"11775,364171 1592 DEFVAR_LISP ("throw-on-input"11775,364174
1593 DEFVAR_LISP ("command-error-function"11781,364422 1593 DEFVAR_LISP ("command-error-function"11781,364425
1594 DEFVAR_LISP ("enable-disabled-menus-and-buttons"11790,364909 1594 DEFVAR_LISP ("enable-disabled-menus-and-buttons"11790,364912
1595 DEFVAR_LISP ("select-active-regions"11798,365236 1595 DEFVAR_LISP ("select-active-regions"11798,365239
1596 DEFVAR_LISP ("saved-region-selection"11807,365628 1596 DEFVAR_LISP ("saved-region-selection"11807,365631
1597 DEFVAR_LISP ("selection-inhibit-update-commands"11815,366013 1597 DEFVAR_LISP ("selection-inhibit-update-commands"11815,366016
1598 DEFVAR_LISP ("debug-on-event"11825,366554 1598 DEFVAR_LISP ("debug-on-event"11825,366557
1599keys_of_keyboard 11841,367115 1599keys_of_keyboard 11841,367118
1600mark_kboards 11916,370434 1600mark_kboards 11916,370437
1601 DEFVAR_LISP ("internal--top-level-message",\111058,333972 1601 DEFVAR_LISP ("internal--top-level-message",\111058,333975
1602 DEFVAR_LISP ("last-command-event",\111312,342173 1602 DEFVAR_LISP ("last-command-event",\111312,342176
1603 DEFVAR_LISP ("last-nonmenu-event",\111315,342297 1603 DEFVAR_LISP ("last-nonmenu-event",\111315,342300
1604 DEFVAR_LISP ("last-input-event",\111321,342636 1604 DEFVAR_LISP ("last-input-event",\111321,342639
1605 DEFVAR_LISP ("unread-command-events",\111324,342730 1605 DEFVAR_LISP ("unread-command-events",\111324,342733
1606 DEFVAR_LISP ("unread-post-input-method-events",\111332,343190 1606 DEFVAR_LISP ("unread-post-input-method-events",\111332,343193
1607 DEFVAR_LISP ("unread-input-method-events",\111338,343529 1607 DEFVAR_LISP ("unread-input-method-events",\111338,343532
1608 DEFVAR_LISP ("meta-prefix-char",\111346,343898 1608 DEFVAR_LISP ("meta-prefix-char",\111346,343901
1609 DEFVAR_KBOARD ("last-command",\111351,344106 1609 DEFVAR_KBOARD ("last-command",\111351,344109
1610 DEFVAR_KBOARD ("real-last-command",\111368,344787 1610 DEFVAR_KBOARD ("real-last-command",\111368,344790
1611 DEFVAR_KBOARD ("last-repeatable-command",\111372,344973 1611 DEFVAR_KBOARD ("last-repeatable-command",\111372,344976
1612 DEFVAR_LISP ("this-command",\111378,345261 1612 DEFVAR_LISP ("this-command",\111378,345264
1613 DEFVAR_LISP ("real-this-command",\111384,345498 1613 DEFVAR_LISP ("real-this-command",\111384,345501
1614 DEFVAR_LISP ("this-command-keys-shift-translated",\111388,345680 1614 DEFVAR_LISP ("this-command-keys-shift-translated",\111388,345683
1615 DEFVAR_LISP ("this-original-command",\111396,346123 1615 DEFVAR_LISP ("this-original-command",\111396,346126
1616 DEFVAR_INT ("auto-save-interval",\111403,346520 1616 DEFVAR_INT ("auto-save-interval",\111403,346523
1617 DEFVAR_LISP ("auto-save-timeout",\111408,346734 1617 DEFVAR_LISP ("auto-save-timeout",\111408,346737
1618 DEFVAR_LISP ("echo-keystrokes",\111415,347079 1618 DEFVAR_LISP ("echo-keystrokes",\111415,347082
1619 DEFVAR_INT ("polling-period",\111421,347350 1619 DEFVAR_INT ("polling-period",\111421,347353
1620 DEFVAR_LISP ("double-click-time",\111428,347693 1620 DEFVAR_LISP ("double-click-time",\111428,347696
1621 DEFVAR_INT ("double-click-fuzz",\111435,348029 1621 DEFVAR_INT ("double-click-fuzz",\111435,348032
1622 DEFVAR_INT ("num-input-keys",\111446,348519 1622 DEFVAR_INT ("num-input-keys",\111446,348522
1623 DEFVAR_INT ("num-nonmacro-input-events",\111452,348794 1623 DEFVAR_INT ("num-nonmacro-input-events",\111452,348797
1624 DEFVAR_LISP ("last-event-frame",\111457,349032 1624 DEFVAR_LISP ("last-event-frame",\111457,349035
1625 DEFVAR_LISP ("tty-erase-char",\111463,349311 1625 DEFVAR_LISP ("tty-erase-char",\111463,349314
1626 DEFVAR_LISP ("help-char",\111466,349434 1626 DEFVAR_LISP ("help-char",\111466,349437
1627 DEFVAR_LISP ("help-event-list",\111472,349717 1627 DEFVAR_LISP ("help-event-list",\111472,349720
1628 DEFVAR_LISP ("help-form",\111477,349928 1628 DEFVAR_LISP ("help-form",\111477,349931
1629 DEFVAR_LISP ("prefix-help-command",\111483,350176 1629 DEFVAR_LISP ("prefix-help-command",\111483,350179
1630 DEFVAR_LISP ("top-level",\111489,350454 1630 DEFVAR_LISP ("top-level",\111489,350457
1631 DEFVAR_KBOARD ("keyboard-translate-table",\111495,350675 1631 DEFVAR_KBOARD ("keyboard-translate-table",\111495,350678
1632 DEFVAR_BOOL ("cannot-suspend",\111511,351488 1632 DEFVAR_BOOL ("cannot-suspend",\111511,351491
1633 DEFVAR_BOOL ("menu-prompting",\111516,351715 1633 DEFVAR_BOOL ("menu-prompting",\111516,351718
1634 DEFVAR_LISP ("menu-prompt-more-char",\111526,352145 1634 DEFVAR_LISP ("menu-prompt-more-char",\111526,352148
1635 DEFVAR_INT ("extra-keyboard-modifiers",\111531,352391 1635 DEFVAR_INT ("extra-keyboard-modifiers",\111531,352394
1636 DEFVAR_LISP ("deactivate-mark",\111545,353117 1636 DEFVAR_LISP ("deactivate-mark",\111545,353120
1637 DEFVAR_LISP ("pre-command-hook",\111553,353486 1637 DEFVAR_LISP ("pre-command-hook",\111553,353489
1638 DEFVAR_LISP ("post-command-hook",\111560,353841 1638 DEFVAR_LISP ("post-command-hook",\111560,353844
1639 DEFVAR_LISP ("echo-area-clear-hook",\111568,354204 1639 DEFVAR_LISP ("echo-area-clear-hook",\111568,354207
1640 DEFVAR_LISP ("lucid-menu-bar-dirty-flag",\111574,354419 1640 DEFVAR_LISP ("lucid-menu-bar-dirty-flag",\111574,354422
1641 DEFVAR_LISP ("menu-bar-final-items",\111578,354622 1641 DEFVAR_LISP ("menu-bar-final-items",\111578,354625
1642 DEFVAR_LISP ("tool-bar-separator-image-expression",\111583,354872 1642 DEFVAR_LISP ("tool-bar-separator-image-expression",\111583,354875
1643 DEFVAR_KBOARD ("overriding-terminal-local-map",\111589,355230 1643 DEFVAR_KBOARD ("overriding-terminal-local-map",\111589,355233
1644 DEFVAR_LISP ("overriding-local-map",\111598,355652 1644 DEFVAR_LISP ("overriding-local-map",\111598,355655
1645 DEFVAR_LISP ("overriding-local-map-menu-flag",\111607,356103 1645 DEFVAR_LISP ("overriding-local-map-menu-flag",\111607,356106
1646 DEFVAR_LISP ("special-event-map",\111613,356442 1646 DEFVAR_LISP ("special-event-map",\111613,356445
1647 DEFVAR_LISP ("track-mouse",\111617,356630 1647 DEFVAR_LISP ("track-mouse",\111617,356633
1648 DEFVAR_KBOARD ("system-key-alist",\111620,356757 1648 DEFVAR_KBOARD ("system-key-alist",\111620,356760
1649 DEFVAR_KBOARD ("local-function-key-map",\111629,357138 1649 DEFVAR_KBOARD ("local-function-key-map",\111629,357141
1650 DEFVAR_KBOARD ("input-decode-map",\111658,358597 1650 DEFVAR_KBOARD ("input-decode-map",\111658,358600
1651 DEFVAR_LISP ("function-key-map",\111675,359385 1651 DEFVAR_LISP ("function-key-map",\111675,359388
1652 DEFVAR_LISP ("key-translation-map",\111683,359801 1652 DEFVAR_LISP ("key-translation-map",\111683,359804
1653 DEFVAR_LISP ("deferred-action-list",\111689,360145 1653 DEFVAR_LISP ("deferred-action-list",\111689,360148
1654 DEFVAR_LISP ("deferred-action-function",\111694,360393 1654 DEFVAR_LISP ("deferred-action-function",\111694,360396
1655 DEFVAR_LISP ("delayed-warnings-list",\111700,360692 1655 DEFVAR_LISP ("delayed-warnings-list",\111700,360695
1656 DEFVAR_LISP ("timer-list",\111708,361100 1656 DEFVAR_LISP ("timer-list",\111708,361103
1657 DEFVAR_LISP ("timer-idle-list",\111712,361252 1657 DEFVAR_LISP ("timer-idle-list",\111712,361255
1658 DEFVAR_LISP ("input-method-function",\111716,361415 1658 DEFVAR_LISP ("input-method-function",\111716,361418
1659 DEFVAR_LISP ("input-method-previous-message",\111737,362384 1659 DEFVAR_LISP ("input-method-previous-message",\111737,362387
1660 DEFVAR_LISP ("show-help-function",\111744,362745 1660 DEFVAR_LISP ("show-help-function",\111744,362748
1661 DEFVAR_LISP ("disable-point-adjustment",\111749,362977 1661 DEFVAR_LISP ("disable-point-adjustment",\111749,362980
1662 DEFVAR_LISP ("global-disable-point-adjustment",\111761,363527 1662 DEFVAR_LISP ("global-disable-point-adjustment",\111761,363530
1663 DEFVAR_LISP ("minibuffer-message-timeout",\111770,363893 1663 DEFVAR_LISP ("minibuffer-message-timeout",\111770,363896
1664 DEFVAR_LISP ("throw-on-input",\111775,364171 1664 DEFVAR_LISP ("throw-on-input",\111775,364174
1665 DEFVAR_LISP ("command-error-function",\111781,364422 1665 DEFVAR_LISP ("command-error-function",\111781,364425
1666 DEFVAR_LISP ("enable-disabled-menus-and-buttons",\111790,364909 1666 DEFVAR_LISP ("enable-disabled-menus-and-buttons",\111790,364912
1667 DEFVAR_LISP ("select-active-regions",\111798,365236 1667 DEFVAR_LISP ("select-active-regions",\111798,365239
1668 DEFVAR_LISP ("saved-region-selection",\111807,365628 1668 DEFVAR_LISP ("saved-region-selection",\111807,365631
1669 DEFVAR_LISP ("selection-inhibit-update-commands",\111815,366013 1669 DEFVAR_LISP ("selection-inhibit-update-commands",\111815,366016
1670 DEFVAR_LISP ("debug-on-event",\111825,366554 1670 DEFVAR_LISP ("debug-on-event",\111825,366557
1671 1671
1672c-src/emacs/src/lisp.h,41391 1672c-src/emacs/src/lisp.h,41391
1673#define EMACS_LISP_H22,801 1673#define EMACS_LISP_H22,801
@@ -3274,112 +3274,112 @@ el-src/emacs/lisp/progmodes/etags.el,5188
3274(defcustom tags-tag-face 148,5700 3274(defcustom tags-tag-face 148,5700
3275(defcustom tags-apropos-verbose 154,5835 3275(defcustom tags-apropos-verbose 154,5835
3276(defcustom tags-apropos-additional-actions 160,5999 3276(defcustom tags-apropos-additional-actions 160,5999
3277(defvaralias 'find-tag-marker-ring find-tag-marker-ring183,6918 3277(defvaralias 'find-tag-marker-ring find-tag-marker-ring183,6921
3278(defvar default-tags-table-function 189,7098 3278(defvar default-tags-table-function 189,7101
3279(defvar tags-location-ring 194,7324 3279(defvar tags-location-ring 194,7327
3280(defvar tags-table-files 201,7600 3280(defvar tags-table-files 201,7603
3281(defvar tags-completion-table 206,7767 3281(defvar tags-completion-table 206,7770
3282(defvar tags-included-tables 209,7859 3282(defvar tags-included-tables 209,7862
3283(defvar next-file-list 212,7954 3283(defvar next-file-list 212,7957
3284(defvar tags-table-format-functions 217,8060 3284(defvar tags-table-format-functions 217,8063
3285(defvar file-of-tag-function 224,8441 3285(defvar file-of-tag-function 224,8444
3286(defvar tags-table-files-function 228,8635 3286(defvar tags-table-files-function 228,8638
3287(defvar tags-completion-table-function 230,8746 3287(defvar tags-completion-table-function 230,8749
3288(defvar snarf-tag-function 232,8841 3288(defvar snarf-tag-function 232,8844
3289(defvar goto-tag-location-function 236,9050 3289(defvar goto-tag-location-function 236,9053
3290(defvar find-tag-regexp-search-function 239,9223 3290(defvar find-tag-regexp-search-function 239,9226
3291(defvar find-tag-regexp-tag-order 241,9344 3291(defvar find-tag-regexp-tag-order 241,9347
3292(defvar find-tag-regexp-next-line-after-failure-p 243,9453 3292(defvar find-tag-regexp-next-line-after-failure-p 243,9456
3293(defvar find-tag-search-function 245,9573 3293(defvar find-tag-search-function 245,9576
3294(defvar find-tag-tag-order 247,9680 3294(defvar find-tag-tag-order 247,9683
3295(defvar find-tag-next-line-after-failure-p 249,9775 3295(defvar find-tag-next-line-after-failure-p 249,9778
3296(defvar list-tags-function 251,9881 3296(defvar list-tags-function 251,9884
3297(defvar tags-apropos-function 253,9969 3297(defvar tags-apropos-function 253,9972
3298(defvar tags-included-tables-function 255,10063 3298(defvar tags-included-tables-function 255,10066
3299(defvar verify-tags-table-function 257,10182 3299(defvar verify-tags-table-function 257,10185
3300(defun initialize-new-tags-table 260,10293 3300(defun initialize-new-tags-table 260,10296
3301(defun tags-table-mode 276,10981 3301(defun tags-table-mode 276,10984
3302(defun visit-tags-table 285,11246 3302(defun visit-tags-table 285,11249
3303(defun tags-table-check-computed-list 321,12784 3303(defun tags-table-check-computed-list 321,12787
3304(defun tags-table-extend-computed-list 360,14655 3304(defun tags-table-extend-computed-list 360,14658
3305(defun tags-expand-table-name 400,16368 3305(defun tags-expand-table-name 400,16371
3306(defun tags-table-list-member 409,16711 3306(defun tags-table-list-member 409,16714
3307(defun tags-verify-table 421,17183 3307(defun tags-verify-table 421,17186
3308(defun tags-table-including 470,19303 3308(defun tags-table-including 470,19306
3309(defun tags-next-table 522,21347 3309(defun tags-next-table 522,21350
3310(defun visit-tags-table-buffer 543,22204 3310(defun visit-tags-table-buffer 543,22207
3311(defun tags-reset-tags-tables 712,28514 3311(defun tags-reset-tags-tables 712,28517
3312(defun file-of-tag 731,29171 3312(defun file-of-tag 731,29174
3313(defun tags-table-files 740,29521 3313(defun tags-table-files 740,29524
3314(defun tags-included-tables 749,29871 3314(defun tags-included-tables 749,29874
3315(defun tags-completion-table 755,30117 3315(defun tags-completion-table 755,30120
3316(defun tags-lazy-completion-table 783,31311 3316(defun tags-lazy-completion-table 783,31314
3317(defun tags-completion-at-point-function 799,31946 3317(defun tags-completion-at-point-function 799,31949
3318(defun find-tag-tag 818,32696 3318(defun find-tag-tag 818,32699
3319(defvar last-tag 837,33369 3319(defvar last-tag 837,33372
3320(defun find-tag-interactive 840,33428 3320(defun find-tag-interactive 840,33431
3321(defvar find-tag-history 852,33843 3321(defvar find-tag-history 852,33846
3322(defvar etags-case-fold-search)855,33908 3322(defvar etags-case-fold-search)855,33911
3323(defvar etags-syntax-table)856,33940 3323(defvar etags-syntax-table)856,33943
3324(defvar local-find-tag-hook)857,33968 3324(defvar local-find-tag-hook)857,33971
3325(defun find-tag-noselect 860,34013 3325(defun find-tag-noselect 860,34016
3326(defun find-tag 932,37127 3326(defun find-tag 932,37130
3327(defun find-tag-other-window 959,38343 3327(defun find-tag-other-window 959,38346
3328(defun find-tag-other-frame 1000,40271 3328(defun find-tag-other-frame 1000,40274
3329(defun find-tag-regexp 1025,41445 3329(defun find-tag-regexp 1025,41448
3330(defalias 'pop-tag-mark pop-tag-mark1049,42607 3330(defalias 'pop-tag-mark pop-tag-mark1049,42610
3331(defvar tag-lines-already-matched 1052,42658 3331(defvar tag-lines-already-matched 1052,42661
3332(defun find-tag-in-order 1055,42765 3332(defun find-tag-in-order 1055,42768
3333(defun tag-find-file-of-tag-noselect 1167,47111 3333(defun tag-find-file-of-tag-noselect 1167,47114
3334(defun tag-find-file-of-tag 1200,48957 3334(defun tag-find-file-of-tag 1200,48960
3335(defun etags-recognize-tags-table 1208,49183 3335(defun etags-recognize-tags-table 1208,49186
3336(defun etags-verify-tags-table 1241,50814 3336(defun etags-verify-tags-table 1241,50817
3337(defun etags-file-of-tag 1246,51012 3337(defun etags-file-of-tag 1246,51015
3338(defun etags-tags-completion-table 1256,51347 3338(defun etags-tags-completion-table 1256,51350
3339(defun etags-snarf-tag 1286,52553 3339(defun etags-snarf-tag 1286,52556
3340(defun etags-goto-tag-location 1324,54122 3340(defun etags-goto-tag-location 1324,54125
3341(defun etags-list-tags 1388,56565 3341(defun etags-list-tags 1388,56568
3342(defmacro tags-with-face 1423,57840 3342(defmacro tags-with-face 1423,57843
3343(defun etags-tags-apropos-additional 1431,58173 3343(defun etags-tags-apropos-additional 1431,58176
3344(defun etags-tags-apropos 1465,59410 3344(defun etags-tags-apropos 1465,59413
3345(defun etags-tags-table-files 1527,61619 3345(defun etags-tags-table-files 1527,61622
3346(defun etags-tags-included-tables 1542,62055 3346(defun etags-tags-included-tables 1542,62058
3347(defun tags-recognize-empty-tags-table 1559,62595 3347(defun tags-recognize-empty-tags-table 1559,62598
3348(defun tag-exact-file-name-match-p 1587,63741 3348(defun tag-exact-file-name-match-p 1587,63744
3349(defun tag-file-name-match-p 1596,64134 3349(defun tag-file-name-match-p 1596,64137
3350(defun tag-exact-match-p 1609,64690 3350(defun tag-exact-match-p 1609,64693
3351(defun tag-implicit-name-match-p 1620,65258 3351(defun tag-implicit-name-match-p 1620,65261
3352(defun tag-symbol-match-p 1633,65858 3352(defun tag-symbol-match-p 1633,65861
3353(defun tag-word-match-p 1643,66294 3353(defun tag-word-match-p 1643,66297
3354(defun tag-partial-file-name-match-p 1652,66692 3354(defun tag-partial-file-name-match-p 1652,66695
3355(defun tag-any-match-p 1662,67136 3355(defun tag-any-match-p 1662,67139
3356(defun tag-re-match-p 1667,67320 3356(defun tag-re-match-p 1667,67323
3357(defcustom tags-loop-revert-buffers 1675,67569 3357(defcustom tags-loop-revert-buffers 1675,67572
3358(defun next-file 1685,67978 3358(defun next-file 1685,67981
3359(defvar tags-loop-operate 1760,70892 3359(defvar tags-loop-operate 1760,70895
3360(defvar tags-loop-scan1763,70986 3360(defvar tags-loop-scan1763,70989
3361(defun tags-loop-eval 1771,71315 3361(defun tags-loop-eval 1771,71318
3362(defun tags-loop-continue 1782,71644 3362(defun tags-loop-continue 1782,71647
3363(defun tags-search 1850,73950 3363(defun tags-search 1850,73953
3364(defun tags-query-replace 1871,74776 3364(defun tags-query-replace 1871,74779
3365(defun tags-complete-tags-table-file 1896,76000 3365(defun tags-complete-tags-table-file 1896,76003
3366(defun list-tags 1906,76379 3366(defun list-tags 1906,76382
3367(defun tags-apropos 1934,77332 3367(defun tags-apropos 1934,77335
3368(define-button-type 'tags-select-tags-tabletags-select-tags-table1957,78158 3368(define-button-type 'tags-select-tags-tabletags-select-tags-table1957,78161
3369(defun select-tags-table 1964,78397 3369(defun select-tags-table 1964,78400
3370(defvar select-tags-table-mode-map 2019,80524 3370(defvar select-tags-table-mode-map 2019,80527
3371(define-derived-mode select-tags-table-mode 2030,80907 3371(define-derived-mode select-tags-table-mode 2030,80910
3372(defun select-tags-table-select 2034,81091 3372(defun select-tags-table-select 2034,81094
3373(defun select-tags-table-quit 2043,81457 3373(defun select-tags-table-quit 2043,81460
3374(defun complete-tag 2049,81612 3374(defun complete-tag 2049,81615
3375(defconst etags--xref-limit 2074,82553 3375(defconst etags--xref-limit 2074,82556
3376(defvar etags-xref-find-definitions-tag-order 2076,82588 3376(defvar etags-xref-find-definitions-tag-order 2076,82591
3377(defun etags-xref-find 2082,82878 3377(defun etags-xref-find 2082,82881
3378(defun etags--xref-find-definitions 2096,83407 3378(defun etags--xref-find-definitions 2096,83410
3379(defclass xref-etags-location 2129,85121 3379(defclass xref-etags-location 2129,85124
3380(defun xref-make-etags-location 2135,85344 3380(defun xref-make-etags-location 2135,85347
3381(cl-defmethod xref-location-marker 2139,85499 3381(cl-defmethod xref-location-marker 2139,85502
3382(cl-defmethod xref-location-line 2146,85743 3382(cl-defmethod xref-location-line 2146,85746
3383 3383
3384erl-src/gs_dialog.erl,98 3384erl-src/gs_dialog.erl,98
3385-define(VERSION2,32 3385-define(VERSION2,32
diff --git a/test/manual/etags/c-src/emacs/src/keyboard.c b/test/manual/etags/c-src/emacs/src/keyboard.c
index 7228f8cb5dc..506bf0d01c4 100644
--- a/test/manual/etags/c-src/emacs/src/keyboard.c
+++ b/test/manual/etags/c-src/emacs/src/keyboard.c
@@ -759,7 +759,7 @@ force_auto_save_soon (void)
759DEFUN ("recursive-edit", Frecursive_edit, Srecursive_edit, 0, 0, "", 759DEFUN ("recursive-edit", Frecursive_edit, Srecursive_edit, 0, 0, "",
760 doc: /* Invoke the editor command loop recursively. 760 doc: /* Invoke the editor command loop recursively.
761To get out of the recursive edit, a command can throw to `exit' -- for 761To get out of the recursive edit, a command can throw to `exit' -- for
762instance `(throw 'exit nil)'. 762instance `(throw \\='exit nil)'.
763If you throw a value other than t, `recursive-edit' returns normally 763If you throw a value other than t, `recursive-edit' returns normally
764to the function that called it. Throwing a t value causes 764to the function that called it. Throwing a t value causes
765`recursive-edit' to quit, so that control returns to the command loop 765`recursive-edit' to quit, so that control returns to the command loop
diff --git a/test/manual/etags/el-src/emacs/lisp/progmodes/etags.el b/test/manual/etags/el-src/emacs/lisp/progmodes/etags.el
index e589263dc3f..9ae80149559 100644
--- a/test/manual/etags/el-src/emacs/lisp/progmodes/etags.el
+++ b/test/manual/etags/el-src/emacs/lisp/progmodes/etags.el
@@ -171,7 +171,7 @@ is the symbol being selected.
171 171
172Example value: 172Example value:
173 173
174 '((\"Emacs Lisp\" Info-goto-emacs-command-node obarray) 174 \\='((\"Emacs Lisp\" Info-goto-emacs-command-node obarray)
175 (\"Common Lisp\" common-lisp-hyperspec common-lisp-hyperspec-obarray) 175 (\"Common Lisp\" common-lisp-hyperspec common-lisp-hyperspec-obarray)
176 (\"SCWM\" scwm-documentation scwm-obarray))" 176 (\"SCWM\" scwm-documentation scwm-obarray))"
177 :group 'etags 177 :group 'etags
diff --git a/test/src/buffer-tests.el b/test/src/buffer-tests.el
index c1e5d0ebed3..13d48b31a4f 100644
--- a/test/src/buffer-tests.el
+++ b/test/src/buffer-tests.el
@@ -1482,4 +1482,53 @@ with parameters from the *Messages* buffer modification."
1482 (when auto-save 1482 (when auto-save
1483 (ignore-errors (delete-file auto-save)))))))) 1483 (ignore-errors (delete-file auto-save))))))))
1484 1484
1485(ert-deftest test-buffer-modifications ()
1486 (ert-with-temp-file file
1487 (with-current-buffer (find-file file)
1488 (auto-save-mode 1)
1489 (should-not (buffer-modified-p))
1490 (insert "foo")
1491 (should (buffer-modified-p))
1492 (should-not (eq (buffer-modified-p) 'autosaved))
1493 (do-auto-save nil t)
1494 (should (eq (buffer-modified-p) 'autosaved))
1495 (with-silent-modifications
1496 (put-text-property 1 3 'face 'bold))
1497 (should (eq (buffer-modified-p) 'autosaved))
1498 (save-buffer)
1499 (should-not (buffer-modified-p))
1500 (with-silent-modifications
1501 (put-text-property 1 3 'face 'italic))
1502 (should-not (buffer-modified-p)))))
1503
1504(ert-deftest test-restore-buffer-modified-p ()
1505 (ert-with-temp-file file
1506 (with-current-buffer (find-file file)
1507 (auto-save-mode 1)
1508 (should-not (buffer-modified-p))
1509 (insert "foo")
1510 (should (buffer-modified-p))
1511 (restore-buffer-modified-p nil)
1512 (should-not (buffer-modified-p))
1513 (insert "bar")
1514 (do-auto-save nil t)
1515 (should (eq (buffer-modified-p) 'autosaved))
1516 (insert "zot")
1517 (restore-buffer-modified-p 'autosaved)
1518 (should (eq (buffer-modified-p) 'autosaved))
1519
1520 ;; Clean up.
1521 (when (file-exists-p buffer-auto-save-file-name)
1522 (delete-file buffer-auto-save-file-name))))
1523
1524 (ert-with-temp-file file
1525 (with-current-buffer (find-file file)
1526 (auto-save-mode 1)
1527 (should-not (buffer-modified-p))
1528 (insert "foo")
1529 (should (buffer-modified-p))
1530 (should-not (eq (buffer-modified-p) 'autosaved))
1531 (restore-buffer-modified-p 'autosaved)
1532 (should (eq (buffer-modified-p) 'autosaved)))))
1533
1485;;; buffer-tests.el ends here 1534;;; buffer-tests.el ends here
diff --git a/test/src/comp-tests.el b/test/src/comp-tests.el
index 212d9e999f2..e7b534d00ec 100644
--- a/test/src/comp-tests.el
+++ b/test/src/comp-tests.el
@@ -51,7 +51,14 @@
51 (doc-string 3)) 51 (doc-string 3))
52 `(ert-deftest ,(intern (concat "comp-tests-" (symbol-name name))) ,args 52 `(ert-deftest ,(intern (concat "comp-tests-" (symbol-name name))) ,args
53 :tags '(:nativecomp) 53 :tags '(:nativecomp)
54 ,@docstring-and-body)) 54 ,@(and (stringp (car docstring-and-body))
55 (list (pop docstring-and-body)))
56 ;; Some of the tests leave spill files behind -- so create a
57 ;; sub-dir where native-comp can do its work, and then delete it
58 ;; at the end.
59 (ert-with-temp-directory dir
60 (let ((temporary-file-directory dir))
61 ,@docstring-and-body))))
55 62
56 63
57 64
diff --git a/test/src/eval-tests.el b/test/src/eval-tests.el
index e4230c10efd..1b2ad99360b 100644
--- a/test/src/eval-tests.el
+++ b/test/src/eval-tests.el
@@ -240,4 +240,31 @@ expressions works for identifiers starting with period."
240 (should (equal (string-trim (buffer-string)) 240 (should (equal (string-trim (buffer-string))
241 "Error: (error \"Boo\")"))))) 241 "Error: (error \"Boo\")")))))
242 242
243(ert-deftest eval-tests/funcall-with-delayed-message ()
244 ;; Check that `funcall-with-delayed-message' displays its message before
245 ;; its function terminates iff the timeout is short enough.
246
247 ;; This also serves as regression test for bug#55628 where a short
248 ;; timeout was rounded up to the next whole second.
249 (dolist (params '((0.8 0.4)
250 (0.1 0.8)))
251 (let ((timeout (nth 0 params))
252 (work-time (nth 1 params)))
253 (ert-info ((prin1-to-string params) :prefix "params: ")
254 (with-current-buffer "*Messages*"
255 (let ((inhibit-read-only t))
256 (erase-buffer))
257 (let ((stop (+ (float-time) work-time)))
258 (funcall-with-delayed-message
259 timeout "timed out"
260 (lambda ()
261 (while (< (float-time) stop))
262 (message "finished"))))
263 (let ((expected-messages
264 (if (< timeout work-time)
265 "timed out\nfinished"
266 "finished")))
267 (should (equal (string-trim (buffer-string))
268 expected-messages))))))))
269
243;;; eval-tests.el ends here 270;;; eval-tests.el ends here
diff --git a/test/src/fileio-tests.el b/test/src/fileio-tests.el
index 511490c5745..c137ce06f1a 100644
--- a/test/src/fileio-tests.el
+++ b/test/src/fileio-tests.el
@@ -138,7 +138,7 @@ Also check that an encoding error can appear in a symlink."
138 (should (and (file-name-absolute-p name) 138 (should (and (file-name-absolute-p name)
139 (not (eq (aref name 0) ?~)))))) 139 (not (eq (aref name 0) ?~))))))
140 140
141(ert-deftest fileio-test--expand-file-name-null-bytes () 141(ert-deftest fileio-tests--expand-file-name-null-bytes ()
142 "Test that `expand-file-name' checks for null bytes in filenames." 142 "Test that `expand-file-name' checks for null bytes in filenames."
143 (should-error (expand-file-name (concat "file" (char-to-string ?\0) ".txt")) 143 (should-error (expand-file-name (concat "file" (char-to-string ?\0) ".txt"))
144 :type 'wrong-type-argument) 144 :type 'wrong-type-argument)
@@ -193,4 +193,12 @@ Also check that an encoding error can appear in a symlink."
193 (should (equal (file-name-concat "" "bar") "bar")) 193 (should (equal (file-name-concat "" "bar") "bar"))
194 (should (equal (file-name-concat "" "") ""))) 194 (should (equal (file-name-concat "" "") "")))
195 195
196(ert-deftest fileio-tests--non-regular-insert ()
197 (skip-unless (file-exists-p "/dev/urandom"))
198 (with-temp-buffer
199 (set-buffer-multibyte nil)
200 (should-error (insert-file-contents "/dev/urandom" nil 5 10))
201 (insert-file-contents "/dev/urandom" nil nil 10)
202 (should (= (buffer-size) 10))))
203
196;;; fileio-tests.el ends here 204;;; fileio-tests.el ends here
diff --git a/test/src/image-tests.el b/test/src/image-tests.el
index 3885981e0b2..f710aadea74 100644
--- a/test/src/image-tests.el
+++ b/test/src/image-tests.el
@@ -53,6 +53,8 @@
53 53
54;;;; image-test-size 54;;;; image-test-size
55 55
56(declare-function image-size "image.c" (spec &optional pixels frame))
57
56(ert-deftest image-tests-image-size/gif () 58(ert-deftest image-tests-image-size/gif ()
57 (image-skip-unless 'gif) 59 (image-skip-unless 'gif)
58 (pcase (image-size (create-image (cdr (assq 'gif image-tests--images)))) 60 (pcase (image-size (create-image (cdr (assq 'gif image-tests--images))))
@@ -126,6 +128,8 @@
126 128
127;;;; image-mask-p 129;;;; image-mask-p
128 130
131(declare-function image-mask-p "image.c" (spec &optional frame))
132
129(ert-deftest image-tests-image-mask-p/gif () 133(ert-deftest image-tests-image-mask-p/gif ()
130 (image-skip-unless 'gif) 134 (image-skip-unless 'gif)
131 (should-not (image-mask-p (create-image 135 (should-not (image-mask-p (create-image
@@ -176,6 +180,8 @@
176 180
177;;;; image-metadata 181;;;; image-metadata
178 182
183(declare-function image-metadata "image.c" (spec &optional frame))
184
179;; TODO: These tests could be expanded with files that actually 185;; TODO: These tests could be expanded with files that actually
180;; contain metadata. 186;; contain metadata.
181 187
@@ -238,6 +244,7 @@
238 244
239(ert-deftest image-tests-init-image-library () 245(ert-deftest image-tests-init-image-library ()
240 (skip-unless (fboundp 'init-image-library)) 246 (skip-unless (fboundp 'init-image-library))
247 (declare-function init-image-library "image.c" (type))
241 (should (init-image-library 'pbm)) ; built-in 248 (should (init-image-library 'pbm)) ; built-in
242 (should-not (init-image-library 'invalid-image-type))) 249 (should-not (init-image-library 'invalid-image-type)))
243 250
diff --git a/test/src/lread-tests.el b/test/src/lread-tests.el
index 9ec54c719c8..f190f14781e 100644
--- a/test/src/lread-tests.el
+++ b/test/src/lread-tests.el
@@ -281,4 +281,45 @@ literals (Bug#20852)."
281 (should (equal (lread-test-read-and-print str) str)))) 281 (should (equal (lread-test-read-and-print str) str))))
282 (should-error (read-from-string "#1=#1#") :type 'invalid-read-syntax)) 282 (should-error (read-from-string "#1=#1#") :type 'invalid-read-syntax))
283 283
284(ert-deftest lread-deeply-nested ()
285 ;; Check that we can read a deeply nested data structure correctly.
286 (let ((levels 10000)
287 (prefix nil)
288 (suffix nil))
289 (dotimes (_ levels)
290 (push "([#s(r " prefix)
291 (push ")])" suffix))
292 (let ((str (concat (apply #'concat prefix)
293 "a"
294 (apply #'concat suffix))))
295 (let* ((read-circle t)
296 (result (read-from-string str)))
297 (should (equal (cdr result) (length str)))
298 ;; Check the result. (We can't build a reference value and compare
299 ;; using `equal' because that function is currently depth-limited.)
300 (named-let check ((x (car result)) (level 0))
301 (if (equal level levels)
302 (should (equal x 'a))
303 (should (and (consp x) (null (cdr x))))
304 (let ((x2 (car x)))
305 (should (and (vectorp x2) (equal (length x2) 1)))
306 (let ((x3 (aref x2 0)))
307 (should (and (recordp x3) (equal (length x3) 2)
308 (equal (aref x3 0) 'r)))
309 (check (aref x3 1) (1+ level))))))))))
310
311(ert-deftest lread-misc ()
312 ;; Regression tests for issues found and fixed in bug#55676:
313 ;; Non-breaking space after a dot makes it a dot token.
314 (should (equal (read-from-string "(a .\u00A0b)")
315 '((a . b) . 7)))
316 ;; #_ without symbol following is the interned empty symbol.
317 (should (equal (read-from-string "#_")
318 '(## . 2))))
319
320(ert-deftest lread-escaped-lf ()
321 ;; ?\LF should signal an error; \LF is ignored inside string literals.
322 (should-error (read-from-string "?\\\n x"))
323 (should (equal (read-from-string "\"a\\\nb\"") '("ab" . 6))))
324
284;;; lread-tests.el ends here 325;;; lread-tests.el ends here
diff --git a/test/src/print-tests.el b/test/src/print-tests.el
index 0bae1959d1b..6ff7e997837 100644
--- a/test/src/print-tests.el
+++ b/test/src/print-tests.el
@@ -425,5 +425,110 @@ otherwise, use a different charset."
425 (should (equal (prin1-to-string '\?bar) "\\?bar")) 425 (should (equal (prin1-to-string '\?bar) "\\?bar"))
426 (should (equal (prin1-to-string '\?bar?) "\\?bar?"))) 426 (should (equal (prin1-to-string '\?bar?) "\\?bar?")))
427 427
428(ert-deftest test-prin1-overrides ()
429 (with-temp-buffer
430 (let ((print-length 10))
431 (prin1 (make-list 20 t) (current-buffer) t)
432 (should (= print-length 10)))
433 (goto-char (point-min))
434 (should (= (length (read (current-buffer))) 20)))
435
436 (with-temp-buffer
437 (let ((print-length 10))
438 (prin1 (make-list 20 t) (current-buffer) '((length . 5)))
439 (should (= print-length 10)))
440 (goto-char (point-min))
441 (should (= (length (read (current-buffer))) 6)))
442
443 (with-temp-buffer
444 (let ((print-length 10))
445 (prin1 (make-list 20 t) (current-buffer) '(t (length . 5)))
446 (should (= print-length 10)))
447 (goto-char (point-min))
448 (should (= (length (read (current-buffer))) 6))))
449
450(ert-deftest test-prin1-to-string-overrides ()
451 (let ((print-length 10))
452 (should
453 (= (length (car (read-from-string
454 (prin1-to-string (make-list 20 t) nil t))))
455 20)))
456
457 (let ((print-length 10))
458 (should
459 (= (length (car (read-from-string
460 (prin1-to-string (make-list 20 t) nil
461 '((length . 5))))))
462 6)))
463
464 (should-error (prin1-to-string 'foo nil 'a))
465 (should-error (prin1-to-string 'foo nil '(a)))
466 (should-error (prin1-to-string 'foo nil '(t . b)))
467 (should-error (prin1-to-string 'foo nil '(t b)))
468 (should-error (prin1-to-string 'foo nil '((a . b) b)))
469 (should-error (prin1-to-string 'foo nil '((length . 10) . b))))
470
471(ert-deftest print-deeply-nested ()
472 ;; Check that we can print a deeply nested data structure correctly.
473 (let ((print-circle t))
474 (let ((levels 10000)
475 (x 'a)
476 (prefix nil)
477 (suffix nil))
478 (dotimes (_ levels)
479 (setq x (list (vector (record 'r x))))
480 (push "([#s(r " prefix)
481 (push ")])" suffix))
482 (let ((expected (concat (apply #'concat prefix)
483 "a"
484 (apply #'concat suffix))))
485 (should (equal (prin1-to-string x) expected))))))
486
487(defun print-test-rho (lead loop)
488 "A circular iota list with LEAD elements followed by LOOP in circle."
489 (let ((l (number-sequence 1 (+ lead loop))))
490 (setcdr (nthcdr (+ lead loop -1) l) (nthcdr lead l))
491 l))
492
493(ert-deftest print-circular ()
494 ;; Check printing of rho-shaped circular lists such as (1 2 3 4 5 4 5 4 . #6)
495 ;; when `print-circle' is nil. The exact output may differ since the number
496 ;; of elements printed of the looping part can vary depending on when the
497 ;; circularity was detected.
498 (dotimes (lead 7)
499 (ert-info ((prin1-to-string lead) :prefix "lead: ")
500 (dolist (loop (number-sequence 1 7))
501 (ert-info ((prin1-to-string loop) :prefix "loop: ")
502 (let* ((rho (print-test-rho lead loop))
503 (print-circle nil)
504 (str (prin1-to-string rho)))
505 (should (string-match (rx "("
506 (group (+ (+ digit) " "))
507 ". #" (group (+ digit)) ")")
508 str))
509 (let* ((g1 (match-string 1 str))
510 (g2 (match-string 2 str))
511 (numbers (mapcar #'string-to-number (split-string g1)))
512 (loopback-index (string-to-number g2)))
513 ;; Split the numbers in the lead and loop part.
514 (should (< lead (length numbers)))
515 (should (<= lead loopback-index))
516 (should (< loopback-index (length numbers)))
517 (let ((lead-part (butlast numbers (- (length numbers) lead)))
518 (loop-part (nthcdr lead numbers)))
519 ;; The lead part must match exactly.
520 (should (equal lead-part (number-sequence 1 lead)))
521 ;; The loop part is at least LOOP long: make sure it matches.
522 (should (>= (length loop-part) loop))
523 (let ((expected-loop-part
524 (mapcar (lambda (x) (+ lead 1 (% x loop)))
525 (number-sequence 0 (1- (length loop-part))))))
526 (should (equal loop-part expected-loop-part))
527 ;; The loopback index must match the length of the
528 ;; loop part.
529 (should (equal (% (- (length numbers) loopback-index) loop)
530 0)))))))))))
531
532
428(provide 'print-tests) 533(provide 'print-tests)
429;;; print-tests.el ends here 534;;; print-tests.el ends here
diff --git a/test/src/process-tests.el b/test/src/process-tests.el
index f5908d3cda5..824c6da1191 100644
--- a/test/src/process-tests.el
+++ b/test/src/process-tests.el
@@ -931,7 +931,7 @@ Return nil if FILENAME doesn't exist."
931 (< (float-time) (+ t0 limit))) 931 (< (float-time) (+ t0 limit)))
932 (sit-for 0.1))) 932 (sit-for 0.1)))
933 (should status) 933 (should status)
934 (should-not (assq :error status)) 934 (should-not (plist-get status ':error))
935 (should buf) 935 (should buf)
936 (should (> (buffer-size buf) 0)) 936 (should (> (buffer-size buf) 0))
937 ) 937 )