annotate tests/gtk/xemacs-toolbar.el @ 1296:87084e8445a7

[xemacs-hg @ 2003-02-14 09:50:15 by ben] syntax-table fixes 1. the updating of mirror tables every time a syntax table was modified was taking up huge amounts of time so i added a dirty flag and made the updating "just-in-time". 2. no-longer-used char-table-entries were not getting "freed", generating tons of garbage. 3. syntax_match() was being incorrectly called on mirror tables in the cache, not the original syntax table. buffer.c, syntax.c: Move syntax table description from buffer.c to syntax.c. chartab.c, chartab.h: Free extra char table entries to avoid excessive garbage. Add flags for dirty and mirror_table_p to char tables. Add a back pointer from mirror tables to the original syntax table. When modifying a syntax table, don't update the mirror table right away, just mark as dirty. Add various asserts to make sure we are dealing with the right type of table (mirror or non-mirror). font-lock.c, syntax.c, syntax.h: Add entry to syntax caches for the non-mirror table. Set it appropriately when initializing the syntax table. Use it, not the mirror table, for calls to syntax_match(). Don't create a bogus float each time, just once at startup. Add some asserts, as in chartab.c. syntax.h: When retrieving the syntax code, check the dirty flag and update the mirror tables as appropriate. Add some asserts, as above.
author ben
date Fri, 14 Feb 2003 09:50:17 +0000
parents 0784d089fdc9
children db7068430402
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
462
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
1 (defvar gtk-torture-test-toolbar-open-active-p t)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
2
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
3 (defvar gtk-torture-test-toolbar
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
4 '([toolbar-file-icon
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
5 (lambda ()
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
6 (setq gtk-torture-test-toolbar-open-active-p (not gtk-torture-test-toolbar-open-active-p)))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
7 gtk-torture-test-toolbar-open-active-p
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
8 "Dynamic enabled-p slot... broken in XEmacs 21.1.x"]
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
9 [:size 35 :style 3d]
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
10 [toolbar-folder-icon toolbar-dired t "Edit a directory"]
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
11 [:size 35 :style 2d]
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
12 [toolbar-news-icon toolbar-news t "Read news"]
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
13 nil
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
14 [toolbar-info-icon toolbar-info t "Info documentation"]
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
15 ))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
16
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
17 (defun gtk-torture-test-toolbar ()
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
18 (interactive)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
19 (switch-to-buffer (get-buffer-create "Toolbar testing"))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
20 (set-specifier default-toolbar gtk-torture-test-toolbar (current-buffer))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
21 (set-specifier default-toolbar-visible-p t (current-buffer)))