Mercurial > ~dholland > hg > ag > index.cgi
comparison doc/admin/todo-small.txt @ 0:13d2b8934445
Import AnaGram (near-)release tree into Mercurial.
author | David A. Holland |
---|---|
date | Sat, 22 Dec 2007 17:52:45 -0500 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:13d2b8934445 |
---|---|
1 Small todo items | |
2 | |
3 This file describes the smaller and more code-oriented things that | |
4 need to be done. | |
5 | |
6 ------------------------------------------------------------ | |
7 POSSIBLE BUGS | |
8 | |
9 - AgStackStorage::~AgStackStorage (in support/agstack.cpp, near the | |
10 bottom) has a bogus delete call. See comment there. | |
11 | |
12 - There's some thread locking in a few places (one being | |
13 openfile.cpp, another being stacks.cpp) and most of it appears to be | |
14 pretty bogus. This should be cleaned up. (Note: the ICritSec class is | |
15 really a locking hook, not a lock; all ICritSec instances appear to be | |
16 connected to a single big global lock. How lame. Also, why do Windows | |
17 people insist on creating "critical section" objects? A critical | |
18 section is a piece of *code*.) Relatedly, rewrite/replace resource.h. | |
19 | |
20 - fence_ng in myalloc.cpp will probably blow up on non-intel | |
21 architectures. All of myalloc.cpp should probably be revamped. | |
22 | |
23 | |
24 ------------------------------------------------------------ | |
25 CODE CLEANUP | |
26 | |
27 - There are quite a few uses of sprintf and vsprintf about. These | |
28 should be replaced with snprintf and vsnprintf. | |
29 | |
30 - Should fix up any code that warns when -fno-strict-aliasing is | |
31 turned off. | |
32 | |
33 - fix up the configuration parameters so they aren't all defined in | |
34 three places (config.h, config.cpp, and cf.syn) - maybe rig up some | |
35 code generation so they can be listed once. | |
36 | |
37 - fix or remove FindTabs class (currently in wdata.h); it copies the | |
38 string but doesn't use the copy. | |
39 | |
40 - Move things that don't need to be in header files into the | |
41 corresponding source files, to reduce crosstalk. | |
42 | |
43 - Figure out where to put PUREMARK instead of defining it separately | |
44 in key.cpp, ut.cpp, and ws.cpp. | |
45 | |
46 - void_token_type is an int and it very much looks like it ought to | |
47 be unsigned. | |
48 | |
49 - buildErrorMsg[] ought to belong to error.h. | |
50 (this should make ctrlpanel.cpp not need bpe3.h) | |
51 | |
52 - The templates in regismd.h have become quite disgusting with | |
53 apparently-now-required explicit template name qualification all over | |
54 everywhere. Fix. | |
55 | |
56 - AgAction::Kernel (in action.h), or most of it, should be a generic | |
57 RefCount object. | |
58 | |
59 - The key_words enum is declared in both bpe3.cpp and keyword.cpp, and | |
60 should be shared in a header file. It also looks like it *must* be the | |
61 same as the key_words enum declared in engine.cgs. | |
62 | |
63 - agstring.cpp shouldn't be including csexp.h | |
64 - bitmap.h shouldn't be including data.h | |
65 - windowreg.cpp shouldn't be using vaclgui files | |
66 - there are still some uses of "extern" in various cpp files | |
67 - extern char *string_base in dvplug.cpp | |
68 - in bpe3.cpp check header_write_error for consistent usage (is error | |
69 EOF or just nonzero?) | |
70 - how about condensing all the cut&pasted comparison code in agstring.cpp? | |
71 - in dspar.cpp, make ColorPair::setValue(char *) be const char * | |
72 | |
73 ------------------------------------------------------------ | |
74 CODE | |
75 | |
76 - It should be possible to disable certain warnings on the agcl | |
77 command line. (e.g. unused tokens, conflicts resolved by precedence | |
78 rules, stuff like that.) | |
79 | |
80 - Add -v option to agcl to print the version. | |
81 | |
82 - It would be nice if the copyright notice in the About box linked to | |
83 the copy of the license in the help system. Right now, we can't do | |
84 that, because the About box isn't a help window and doesn't have help | |
85 links per se. | |
86 | |
87 - Figure out where to put agclib1 in the tree. Also figure out how to | |
88 maintain it separately without causing an administrative nightmare. | |
89 | |
90 - It would be nice if the about box listed the author, and it | |
91 doesn't. But I think it's going to need multiple tabs or something to | |
92 have room to do it nicely, and that's a hassle. (Nor is it worth doing | |
93 in the old UI.) | |
94 | |
95 | |
96 ------------------------------------------------------------ | |
97 BUILD | |
98 | |
99 - Running the test suite under Wine causes diffs. These diffs appear | |
100 to be benign as of this writing, but it would be better for everyone | |
101 if they didn't happen at all. | |
102 | |
103 - Running the test suite under Wine requires an X display. Without | |
104 one, even agcl.exe doesn't work. It's not immediately clear why, but | |
105 it might not be all that hard to fix. | |
106 | |
107 - make depend crashes out if there are no *.d files. (Or, with the | |
108 IBM compiler, *.u files.) This won't happen in the ordinary course of | |
109 things, but if someone does "make distclean; make depend" it will. | |
110 | |
111 - If you build in the source dir, run the tests, and clean the tests, | |
112 tests/agcl/ffcalc/number.h, which would be needed by two of the ffcalc | |
113 variants to compile if they actually got compiled, gets erased. This | |
114 is unimportant, for now at least, but irritating. Probably the right | |
115 way to fix it is to revamp the test makefiles to know the exact output | |
116 files that should exist instead of using wildcards. | |
117 | |
118 - It would be nice to have the lint scripts stuff also test-compile | |
119 each header file on its own without any other material. Header files | |
120 are supposed to themselves include everything they depend on, but in | |
121 general this stops being true unless it's enforced. | |
122 | |
123 - While GNU make can't do successful parallel builds, BSD make could | |
124 be made to by use of .WAIT. Setting this up is not all that difficult | |
125 given a way to conditionally define $(WAIT) as .WAIT for BSD make and | |
126 empty for everyone else, and there are hacks that can be made to | |
127 accomplish that. | |
128 | |
129 | |
130 ------------------------------------------------------------ | |
131 MANUAL AND DOCS | |
132 | |
133 - From one of the tex faqs: | |
134 : Courier is (as we all know, to our cost) freely available; a far more | |
135 : presentable monospace font is LuxiMono, which is also freely available. | |
136 : Monospace text in the typeset version of this FAQ uses LuxiMono, with | |
137 : the metrics and LaTeX support available on the archive. | |
138 http://www.tex.ac.uk/tex-archive/fonts/LuxiMono/ | |
139 | |
140 - Quite a few things in "sbb" (sbb-doc.txt et al.) are just plain | |
141 wrong. These should be fixed... but not until the various copies have | |
142 been reconciled and can be built from one master version. | |
143 | |
144 - "reserve keywords" is missing from Appendix A. | |
145 | |
146 - There should probably be a "bug reporting" topic in the help, and | |
147 it should maybe even have its own menu entry in the gui. | |
148 |