Fossil SCM

merged from trunk

Ratte 2010-10-02 06:39 wolfgangFormat2CSS_2 merge
Commit b906b7b8c9c9c3bcc673ad79e4529841e3979a69
+6 -2
--- src/branch.c
+++ src/branch.c
@@ -38,13 +38,17 @@
3838
const char *zColor; /* Color of the new branch */
3939
Blob branch; /* manifest for the new branch */
4040
Blob parent; /* root check-in manifest */
4141
Manifest mParent; /* Parsed parent manifest */
4242
Blob mcksum; /* Self-checksum on the manifest */
43
+ const char *zDateOvrd; /* Override date string */
44
+ const char *zUserOvrd; /* Override user name */
4345
4446
noSign = find_option("nosign","",0)!=0;
4547
zColor = find_option("bgcolor","c",1);
48
+ zDateOvrd = find_option("date-override",0,1);
49
+ zUserOvrd = find_option("user-override",0,1);
4650
verify_all_options();
4751
if( g.argc<5 ){
4852
usage("new BRANCH-NAME CHECK-IN ?-bgcolor COLOR?");
4953
}
5054
db_find_and_open_repository(1);
@@ -72,11 +76,11 @@
7276
7377
/* Create a manifest for the new branch */
7478
blob_zero(&branch);
7579
zComment = mprintf("Create new branch named \"%h\"", zBranch);
7680
blob_appendf(&branch, "C %F\n", zComment);
77
- zDate = db_text(0, "SELECT datetime('now')");
81
+ zDate = date_in_standard_format(zDateOvrd ? zDateOvrd : "now");
7882
zDate[10] = 'T';
7983
blob_appendf(&branch, "D %s\n", zDate);
8084
8185
/* Copy all of the content from the parent into the branch */
8286
content_get(rootid, &parent);
@@ -120,11 +124,11 @@
120124
const char *zTag = db_column_text(&q, 0);
121125
blob_appendf(&branch, "T -%F *\n", zTag);
122126
}
123127
db_finalize(&q);
124128
125
- blob_appendf(&branch, "U %F\n", g.zLogin);
129
+ blob_appendf(&branch, "U %F\n", zUserOvrd ? zUserOvrd : g.zLogin);
126130
md5sum_blob(&branch, &mcksum);
127131
blob_appendf(&branch, "Z %b\n", &mcksum);
128132
if( !noSign && clearsign(&branch, &branch) ){
129133
Blob ans;
130134
blob_zero(&ans);
131135
--- src/branch.c
+++ src/branch.c
@@ -38,13 +38,17 @@
38 const char *zColor; /* Color of the new branch */
39 Blob branch; /* manifest for the new branch */
40 Blob parent; /* root check-in manifest */
41 Manifest mParent; /* Parsed parent manifest */
42 Blob mcksum; /* Self-checksum on the manifest */
 
 
43
44 noSign = find_option("nosign","",0)!=0;
45 zColor = find_option("bgcolor","c",1);
 
 
46 verify_all_options();
47 if( g.argc<5 ){
48 usage("new BRANCH-NAME CHECK-IN ?-bgcolor COLOR?");
49 }
50 db_find_and_open_repository(1);
@@ -72,11 +76,11 @@
72
73 /* Create a manifest for the new branch */
74 blob_zero(&branch);
75 zComment = mprintf("Create new branch named \"%h\"", zBranch);
76 blob_appendf(&branch, "C %F\n", zComment);
77 zDate = db_text(0, "SELECT datetime('now')");
78 zDate[10] = 'T';
79 blob_appendf(&branch, "D %s\n", zDate);
80
81 /* Copy all of the content from the parent into the branch */
82 content_get(rootid, &parent);
@@ -120,11 +124,11 @@
120 const char *zTag = db_column_text(&q, 0);
121 blob_appendf(&branch, "T -%F *\n", zTag);
122 }
123 db_finalize(&q);
124
125 blob_appendf(&branch, "U %F\n", g.zLogin);
126 md5sum_blob(&branch, &mcksum);
127 blob_appendf(&branch, "Z %b\n", &mcksum);
128 if( !noSign && clearsign(&branch, &branch) ){
129 Blob ans;
130 blob_zero(&ans);
131
--- src/branch.c
+++ src/branch.c
@@ -38,13 +38,17 @@
38 const char *zColor; /* Color of the new branch */
39 Blob branch; /* manifest for the new branch */
40 Blob parent; /* root check-in manifest */
41 Manifest mParent; /* Parsed parent manifest */
42 Blob mcksum; /* Self-checksum on the manifest */
43 const char *zDateOvrd; /* Override date string */
44 const char *zUserOvrd; /* Override user name */
45
46 noSign = find_option("nosign","",0)!=0;
47 zColor = find_option("bgcolor","c",1);
48 zDateOvrd = find_option("date-override",0,1);
49 zUserOvrd = find_option("user-override",0,1);
50 verify_all_options();
51 if( g.argc<5 ){
52 usage("new BRANCH-NAME CHECK-IN ?-bgcolor COLOR?");
53 }
54 db_find_and_open_repository(1);
@@ -72,11 +76,11 @@
76
77 /* Create a manifest for the new branch */
78 blob_zero(&branch);
79 zComment = mprintf("Create new branch named \"%h\"", zBranch);
80 blob_appendf(&branch, "C %F\n", zComment);
81 zDate = date_in_standard_format(zDateOvrd ? zDateOvrd : "now");
82 zDate[10] = 'T';
83 blob_appendf(&branch, "D %s\n", zDate);
84
85 /* Copy all of the content from the parent into the branch */
86 content_get(rootid, &parent);
@@ -120,11 +124,11 @@
124 const char *zTag = db_column_text(&q, 0);
125 blob_appendf(&branch, "T -%F *\n", zTag);
126 }
127 db_finalize(&q);
128
129 blob_appendf(&branch, "U %F\n", zUserOvrd ? zUserOvrd : g.zLogin);
130 md5sum_blob(&branch, &mcksum);
131 blob_appendf(&branch, "Z %b\n", &mcksum);
132 if( !noSign && clearsign(&branch, &branch) ){
133 Blob ans;
134 blob_zero(&ans);
135
+2 -2
--- src/rebuild.c
+++ src/rebuild.c
@@ -181,12 +181,12 @@
181181
if( rid==0 ) return;
182182
183183
/* Add the trunk tag to the root of the whole tree */
184184
zUuid = db_text(0, "SELECT uuid FROM blob WHERE rid=%d", rid);
185185
if( zUuid==0 ) return;
186
- tag_add_artifact("sym-", "trunk", zUuid, 0, 2);
187
- tag_add_artifact("", "branch", zUuid, "trunk", 2);
186
+ tag_add_artifact("sym-", "trunk", zUuid, 0, 2, 0, 0);
187
+ tag_add_artifact("", "branch", zUuid, "trunk", 2, 0, 0);
188188
}
189189
190190
/*
191191
** Core function to rebuild the infomration in the derived tables of a
192192
** fossil repository from the blobs. This function is shared between
193193
--- src/rebuild.c
+++ src/rebuild.c
@@ -181,12 +181,12 @@
181 if( rid==0 ) return;
182
183 /* Add the trunk tag to the root of the whole tree */
184 zUuid = db_text(0, "SELECT uuid FROM blob WHERE rid=%d", rid);
185 if( zUuid==0 ) return;
186 tag_add_artifact("sym-", "trunk", zUuid, 0, 2);
187 tag_add_artifact("", "branch", zUuid, "trunk", 2);
188 }
189
190 /*
191 ** Core function to rebuild the infomration in the derived tables of a
192 ** fossil repository from the blobs. This function is shared between
193
--- src/rebuild.c
+++ src/rebuild.c
@@ -181,12 +181,12 @@
181 if( rid==0 ) return;
182
183 /* Add the trunk tag to the root of the whole tree */
184 zUuid = db_text(0, "SELECT uuid FROM blob WHERE rid=%d", rid);
185 if( zUuid==0 ) return;
186 tag_add_artifact("sym-", "trunk", zUuid, 0, 2, 0, 0);
187 tag_add_artifact("", "branch", zUuid, "trunk", 2, 0, 0);
188 }
189
190 /*
191 ** Core function to rebuild the infomration in the derived tables of a
192 ** fossil repository from the blobs. This function is shared between
193
+14 -5
--- src/tag.c
+++ src/tag.c
@@ -258,11 +258,13 @@
258258
void tag_add_artifact(
259259
const char *zPrefix, /* Prefix to prepend to tag name */
260260
const char *zTagname, /* The tag to add or cancel */
261261
const char *zObjName, /* Name of object attached to */
262262
const char *zValue, /* Value for the tag. Might be NULL */
263
- int tagtype /* 0:cancel 1:singleton 2:propagated */
263
+ int tagtype, /* 0:cancel 1:singleton 2:propagated */
264
+ const char *zDateOvrd, /* Override date string */
265
+ const char *zUserOvrd /* Override user name */
264266
){
265267
int rid;
266268
int nrid;
267269
char *zDate;
268270
Blob uuid;
@@ -289,21 +291,21 @@
289291
" a hexadecimal artifact ID",
290292
zTagname
291293
);
292294
}
293295
#endif
294
- zDate = db_text(0, "SELECT datetime('now')");
296
+ zDate = date_in_standard_format(zDateOvrd ? zDateOvrd : "now");
295297
zDate[10] = 'T';
296298
blob_appendf(&ctrl, "D %s\n", zDate);
297299
blob_appendf(&ctrl, "T %c%s%F %b",
298300
zTagtype[tagtype], zPrefix, zTagname, &uuid);
299301
if( tagtype>0 && zValue && zValue[0] ){
300302
blob_appendf(&ctrl, " %F\n", zValue);
301303
}else{
302304
blob_appendf(&ctrl, "\n");
303305
}
304
- blob_appendf(&ctrl, "U %F\n", g.zLogin);
306
+ blob_appendf(&ctrl, "U %F\n", zUserOvrd ? zUserOvrd : g.zLogin);
305307
md5sum_blob(&ctrl, &cksum);
306308
blob_appendf(&ctrl, "Z %b\n", &cksum);
307309
nrid = content_put(&ctrl, 0, 0);
308310
manifest_crosslink(nrid, &ctrl);
309311
}
@@ -352,10 +354,14 @@
352354
**
353355
** fossil update tag:decaf
354356
**
355357
** will assume that "decaf" is a tag/branch name.
356358
**
359
+** only allow --date-override and --user-override in
360
+** %fossil tag add --date-override 'YYYY-MMM-DD HH:MM:SS' \
361
+** --user-override user
362
+** in order to import history from other scm systems
357363
*/
358364
void tag_cmd(void){
359365
int n;
360366
int fRaw = find_option("raw","",0)!=0;
361367
int fPropagate = find_option("propagate","",0)!=0;
@@ -370,16 +376,19 @@
370376
goto tag_cmd_usage;
371377
}
372378
373379
if( strncmp(g.argv[2],"add",n)==0 ){
374380
char *zValue;
381
+ const char *zDateOvrd = find_option("date-override",0,1);
382
+ const char *zUserOvrd = find_option("user-override",0,1);
375383
if( g.argc!=5 && g.argc!=6 ){
376384
usage("add ?--raw? ?--propagate? TAGNAME CHECK-IN ?VALUE?");
377385
}
378386
zValue = g.argc==6 ? g.argv[5] : 0;
379387
db_begin_transaction();
380
- tag_add_artifact(zPrefix, g.argv[3], g.argv[4], zValue, 1+fPropagate);
388
+ tag_add_artifact(zPrefix, g.argv[3], g.argv[4], zValue,
389
+ 1+fPropagate,zDateOvrd,zUserOvrd);
381390
db_end_transaction(0);
382391
}else
383392
384393
if( strncmp(g.argv[2],"branch",n)==0 ){
385394
fossil_fatal("the \"fossil tag branch\" command is discontinued\n"
@@ -389,11 +398,11 @@
389398
if( strncmp(g.argv[2],"cancel",n)==0 ){
390399
if( g.argc!=5 ){
391400
usage("cancel ?--raw? TAGNAME CHECK-IN");
392401
}
393402
db_begin_transaction();
394
- tag_add_artifact(zPrefix, g.argv[3], g.argv[4], 0, 0);
403
+ tag_add_artifact(zPrefix, g.argv[3], g.argv[4], 0, 0, 0, 0);
395404
db_end_transaction(0);
396405
}else
397406
398407
if( strncmp(g.argv[2],"find",n)==0 ){
399408
Stmt q;
400409
--- src/tag.c
+++ src/tag.c
@@ -258,11 +258,13 @@
258 void tag_add_artifact(
259 const char *zPrefix, /* Prefix to prepend to tag name */
260 const char *zTagname, /* The tag to add or cancel */
261 const char *zObjName, /* Name of object attached to */
262 const char *zValue, /* Value for the tag. Might be NULL */
263 int tagtype /* 0:cancel 1:singleton 2:propagated */
 
 
264 ){
265 int rid;
266 int nrid;
267 char *zDate;
268 Blob uuid;
@@ -289,21 +291,21 @@
289 " a hexadecimal artifact ID",
290 zTagname
291 );
292 }
293 #endif
294 zDate = db_text(0, "SELECT datetime('now')");
295 zDate[10] = 'T';
296 blob_appendf(&ctrl, "D %s\n", zDate);
297 blob_appendf(&ctrl, "T %c%s%F %b",
298 zTagtype[tagtype], zPrefix, zTagname, &uuid);
299 if( tagtype>0 && zValue && zValue[0] ){
300 blob_appendf(&ctrl, " %F\n", zValue);
301 }else{
302 blob_appendf(&ctrl, "\n");
303 }
304 blob_appendf(&ctrl, "U %F\n", g.zLogin);
305 md5sum_blob(&ctrl, &cksum);
306 blob_appendf(&ctrl, "Z %b\n", &cksum);
307 nrid = content_put(&ctrl, 0, 0);
308 manifest_crosslink(nrid, &ctrl);
309 }
@@ -352,10 +354,14 @@
352 **
353 ** fossil update tag:decaf
354 **
355 ** will assume that "decaf" is a tag/branch name.
356 **
 
 
 
 
357 */
358 void tag_cmd(void){
359 int n;
360 int fRaw = find_option("raw","",0)!=0;
361 int fPropagate = find_option("propagate","",0)!=0;
@@ -370,16 +376,19 @@
370 goto tag_cmd_usage;
371 }
372
373 if( strncmp(g.argv[2],"add",n)==0 ){
374 char *zValue;
 
 
375 if( g.argc!=5 && g.argc!=6 ){
376 usage("add ?--raw? ?--propagate? TAGNAME CHECK-IN ?VALUE?");
377 }
378 zValue = g.argc==6 ? g.argv[5] : 0;
379 db_begin_transaction();
380 tag_add_artifact(zPrefix, g.argv[3], g.argv[4], zValue, 1+fPropagate);
 
381 db_end_transaction(0);
382 }else
383
384 if( strncmp(g.argv[2],"branch",n)==0 ){
385 fossil_fatal("the \"fossil tag branch\" command is discontinued\n"
@@ -389,11 +398,11 @@
389 if( strncmp(g.argv[2],"cancel",n)==0 ){
390 if( g.argc!=5 ){
391 usage("cancel ?--raw? TAGNAME CHECK-IN");
392 }
393 db_begin_transaction();
394 tag_add_artifact(zPrefix, g.argv[3], g.argv[4], 0, 0);
395 db_end_transaction(0);
396 }else
397
398 if( strncmp(g.argv[2],"find",n)==0 ){
399 Stmt q;
400
--- src/tag.c
+++ src/tag.c
@@ -258,11 +258,13 @@
258 void tag_add_artifact(
259 const char *zPrefix, /* Prefix to prepend to tag name */
260 const char *zTagname, /* The tag to add or cancel */
261 const char *zObjName, /* Name of object attached to */
262 const char *zValue, /* Value for the tag. Might be NULL */
263 int tagtype, /* 0:cancel 1:singleton 2:propagated */
264 const char *zDateOvrd, /* Override date string */
265 const char *zUserOvrd /* Override user name */
266 ){
267 int rid;
268 int nrid;
269 char *zDate;
270 Blob uuid;
@@ -289,21 +291,21 @@
291 " a hexadecimal artifact ID",
292 zTagname
293 );
294 }
295 #endif
296 zDate = date_in_standard_format(zDateOvrd ? zDateOvrd : "now");
297 zDate[10] = 'T';
298 blob_appendf(&ctrl, "D %s\n", zDate);
299 blob_appendf(&ctrl, "T %c%s%F %b",
300 zTagtype[tagtype], zPrefix, zTagname, &uuid);
301 if( tagtype>0 && zValue && zValue[0] ){
302 blob_appendf(&ctrl, " %F\n", zValue);
303 }else{
304 blob_appendf(&ctrl, "\n");
305 }
306 blob_appendf(&ctrl, "U %F\n", zUserOvrd ? zUserOvrd : g.zLogin);
307 md5sum_blob(&ctrl, &cksum);
308 blob_appendf(&ctrl, "Z %b\n", &cksum);
309 nrid = content_put(&ctrl, 0, 0);
310 manifest_crosslink(nrid, &ctrl);
311 }
@@ -352,10 +354,14 @@
354 **
355 ** fossil update tag:decaf
356 **
357 ** will assume that "decaf" is a tag/branch name.
358 **
359 ** only allow --date-override and --user-override in
360 ** %fossil tag add --date-override 'YYYY-MMM-DD HH:MM:SS' \
361 ** --user-override user
362 ** in order to import history from other scm systems
363 */
364 void tag_cmd(void){
365 int n;
366 int fRaw = find_option("raw","",0)!=0;
367 int fPropagate = find_option("propagate","",0)!=0;
@@ -370,16 +376,19 @@
376 goto tag_cmd_usage;
377 }
378
379 if( strncmp(g.argv[2],"add",n)==0 ){
380 char *zValue;
381 const char *zDateOvrd = find_option("date-override",0,1);
382 const char *zUserOvrd = find_option("user-override",0,1);
383 if( g.argc!=5 && g.argc!=6 ){
384 usage("add ?--raw? ?--propagate? TAGNAME CHECK-IN ?VALUE?");
385 }
386 zValue = g.argc==6 ? g.argv[5] : 0;
387 db_begin_transaction();
388 tag_add_artifact(zPrefix, g.argv[3], g.argv[4], zValue,
389 1+fPropagate,zDateOvrd,zUserOvrd);
390 db_end_transaction(0);
391 }else
392
393 if( strncmp(g.argv[2],"branch",n)==0 ){
394 fossil_fatal("the \"fossil tag branch\" command is discontinued\n"
@@ -389,11 +398,11 @@
398 if( strncmp(g.argv[2],"cancel",n)==0 ){
399 if( g.argc!=5 ){
400 usage("cancel ?--raw? TAGNAME CHECK-IN");
401 }
402 db_begin_transaction();
403 tag_add_artifact(zPrefix, g.argv[3], g.argv[4], 0, 0, 0, 0);
404 db_end_transaction(0);
405 }else
406
407 if( strncmp(g.argv[2],"find",n)==0 ){
408 Stmt q;
409
+63 -49
--- src/wikiformat.c
+++ src/wikiformat.c
@@ -150,59 +150,65 @@
150150
** Except for MARKUP_INVALID, this must all be in alphabetical order
151151
** and in numerical sequence. The first markup type must be zero.
152152
** The value for MARKUP_XYZ must correspond to the <xyz> entry
153153
** in aAllowedMarkup[].
154154
*/
155
-#define MARKUP_INVALID 0
156
-#define MARKUP_A 1
157
-#define MARKUP_ADDRESS 2
158
-#define MARKUP_B 3
159
-#define MARKUP_BIG 4
160
-#define MARKUP_BLOCKQUOTE 5
161
-#define MARKUP_BR 6
162
-#define MARKUP_CENTER 7
163
-#define MARKUP_CITE 8
164
-#define MARKUP_CODE 9
165
-#define MARKUP_DD 10
166
-#define MARKUP_DFN 11
167
-#define MARKUP_DIV 12
168
-#define MARKUP_DL 13
169
-#define MARKUP_DT 14
170
-#define MARKUP_EM 15
171
-#define MARKUP_FONT 16
172
-#define MARKUP_H1 17
173
-#define MARKUP_H2 18
174
-#define MARKUP_H3 19
175
-#define MARKUP_H4 20
176
-#define MARKUP_H5 21
177
-#define MARKUP_H6 22
178
-#define MARKUP_HR 23
179
-#define MARKUP_I 24
180
-#define MARKUP_IMG 25
181
-#define MARKUP_KBD 26
182
-#define MARKUP_LI 27
183
-#define MARKUP_NOBR 28
184
-#define MARKUP_NOWIKI 29
185
-#define MARKUP_OL 30
186
-#define MARKUP_P 31
187
-#define MARKUP_PRE 32
188
-#define MARKUP_S 33
189
-#define MARKUP_SAMP 34
190
-#define MARKUP_SMALL 35
191
-#define MARKUP_STRIKE 36
192
-#define MARKUP_STRONG 37
193
-#define MARKUP_SUB 38
194
-#define MARKUP_SUP 39
195
-#define MARKUP_TABLE 40
196
-#define MARKUP_TD 41
197
-#define MARKUP_TH 42
198
-#define MARKUP_TR 43
199
-#define MARKUP_TT 44
200
-#define MARKUP_U 45
201
-#define MARKUP_UL 46
202
-#define MARKUP_VAR 47
203
-#define MARKUP_VERBATIM 48
155
+#define MARKUP_INVALID 0
156
+#define MARKUP_A 1
157
+#define MARKUP_ADDRESS 2
158
+#define MARKUP_B 3
159
+#define MARKUP_BIG 4
160
+#define MARKUP_BLOCKQUOTE 5
161
+#define MARKUP_BR 6
162
+#define MARKUP_CENTER 7
163
+#define MARKUP_CITE 8
164
+#define MARKUP_CODE 9
165
+#define MARKUP_COL 10
166
+#define MARKUP_COLGROUP 11
167
+#define MARKUP_DD 12
168
+#define MARKUP_DFN 13
169
+#define MARKUP_DIV 14
170
+#define MARKUP_DL 15
171
+#define MARKUP_DT 16
172
+#define MARKUP_EM 17
173
+#define MARKUP_FONT 18
174
+#define MARKUP_H1 19
175
+#define MARKUP_H2 20
176
+#define MARKUP_H3 21
177
+#define MARKUP_H4 22
178
+#define MARKUP_H5 23
179
+#define MARKUP_H6 24
180
+#define MARKUP_HR 25
181
+#define MARKUP_I 26
182
+#define MARKUP_IMG 27
183
+#define MARKUP_KBD 28
184
+#define MARKUP_LI 29
185
+#define MARKUP_NOBR 30
186
+#define MARKUP_NOWIKI 31
187
+#define MARKUP_OL 32
188
+#define MARKUP_P 33
189
+#define MARKUP_PRE 34
190
+#define MARKUP_S 35
191
+#define MARKUP_SAMP 36
192
+#define MARKUP_SMALL 37
193
+#define MARKUP_SPAN 38
194
+#define MARKUP_STRIKE 39
195
+#define MARKUP_STRONG 40
196
+#define MARKUP_SUB 41
197
+#define MARKUP_SUP 42
198
+#define MARKUP_TABLE 43
199
+#define MARKUP_TBODY 44
200
+#define MARKUP_TD 45
201
+#define MARKUP_TFOOT 46
202
+#define MARKUP_TH 47
203
+#define MARKUP_THEAD 48
204
+#define MARKUP_TR 49
205
+#define MARKUP_TT 50
206
+#define MARKUP_U 51
207
+#define MARKUP_UL 52
208
+#define MARKUP_VAR 53
209
+#define MARKUP_VERBATIM 54
204210
205211
/*
206212
** The various markup is divided into the following types:
207213
*/
208214
#define MUTYPE_SINGLE 0x0001 /* <img>, <br>, or <hr> */
@@ -241,10 +247,14 @@
241247
{ "blockquote", MARKUP_BLOCKQUOTE, MUTYPE_BLOCK, 0 },
242248
{ "br", MARKUP_BR, MUTYPE_SINGLE, AMSK_CLEAR },
243249
{ "center", MARKUP_CENTER, MUTYPE_BLOCK, 0 },
244250
{ "cite", MARKUP_CITE, MUTYPE_FONT, 0 },
245251
{ "code", MARKUP_CODE, MUTYPE_FONT, 0 },
252
+ { "col", MARKUP_COL, MUTYPE_SINGLE,
253
+ AMSK_ALIGN|AMSK_CLASS|AMSK_COLSPAN|AMSK_WIDTH },
254
+ { "colgroup", MARKUP_COLGROUP, MUTYPE_BLOCK,
255
+ AMSK_ALIGN|AMSK_CLASS|AMSK_COLSPAN|AMSK_WIDTH},
246256
{ "dd", MARKUP_DD, MUTYPE_LI, 0 },
247257
{ "dfn", MARKUP_DFN, MUTYPE_FONT, 0 },
248258
{ "div", MARKUP_DIV, MUTYPE_BLOCK, AMSK_ID|AMSK_CLASS },
249259
{ "dl", MARKUP_DL, MUTYPE_LIST, AMSK_COMPACT },
250260
{ "dt", MARKUP_DT, MUTYPE_LI, 0 },
@@ -273,23 +283,27 @@
273283
{ "p", MARKUP_P, MUTYPE_BLOCK, AMSK_ALIGN|AMSK_CLASS },
274284
{ "pre", MARKUP_PRE, MUTYPE_BLOCK, 0 },
275285
{ "s", MARKUP_S, MUTYPE_FONT, 0 },
276286
{ "samp", MARKUP_SAMP, MUTYPE_FONT, 0 },
277287
{ "small", MARKUP_SMALL, MUTYPE_FONT, 0 },
288
+ { "span", MARKUP_SPAN, MUTYPE_BLOCK, AMSK_ALIGN|AMSK_CLASS },
278289
{ "strike", MARKUP_STRIKE, MUTYPE_FONT, 0 },
279290
{ "strong", MARKUP_STRONG, MUTYPE_FONT, 0 },
280291
{ "sub", MARKUP_SUB, MUTYPE_FONT, 0 },
281292
{ "sup", MARKUP_SUP, MUTYPE_FONT, 0 },
282293
{ "table", MARKUP_TABLE, MUTYPE_TABLE,
283294
AMSK_ALIGN|AMSK_BGCOLOR|AMSK_BORDER|AMSK_CELLPADDING|
284295
AMSK_CELLSPACING|AMSK_HSPACE|AMSK_VSPACE|AMSK_CLASS },
296
+ { "tbody", MARKUP_TBODY, MUTYPE_BLOCK, AMSK_ALIGN|AMSK_CLASS },
285297
{ "td", MARKUP_TD, MUTYPE_TD,
286298
AMSK_ALIGN|AMSK_BGCOLOR|AMSK_COLSPAN|
287299
AMSK_ROWSPAN|AMSK_VALIGN|AMSK_CLASS },
300
+ { "tfoot", MARKUP_TFOOT, MUTYPE_BLOCK, AMSK_ALIGN|AMSK_CLASS },
288301
{ "th", MARKUP_TH, MUTYPE_TD,
289302
AMSK_ALIGN|AMSK_BGCOLOR|AMSK_COLSPAN|
290303
AMSK_ROWSPAN|AMSK_VALIGN|AMSK_CLASS },
304
+ { "thead", MARKUP_THEAD, MUTYPE_BLOCK, AMSK_ALIGN|AMSK_CLASS },
291305
{ "tr", MARKUP_TR, MUTYPE_TR,
292306
AMSK_ALIGN|AMSK_BGCOLOR||AMSK_VALIGN|AMSK_CLASS },
293307
{ "tt", MARKUP_TT, MUTYPE_FONT, 0 },
294308
{ "u", MARKUP_U, MUTYPE_FONT, 0 },
295309
{ "ul", MARKUP_UL, MUTYPE_LIST,
296310
--- src/wikiformat.c
+++ src/wikiformat.c
@@ -150,59 +150,65 @@
150 ** Except for MARKUP_INVALID, this must all be in alphabetical order
151 ** and in numerical sequence. The first markup type must be zero.
152 ** The value for MARKUP_XYZ must correspond to the <xyz> entry
153 ** in aAllowedMarkup[].
154 */
155 #define MARKUP_INVALID 0
156 #define MARKUP_A 1
157 #define MARKUP_ADDRESS 2
158 #define MARKUP_B 3
159 #define MARKUP_BIG 4
160 #define MARKUP_BLOCKQUOTE 5
161 #define MARKUP_BR 6
162 #define MARKUP_CENTER 7
163 #define MARKUP_CITE 8
164 #define MARKUP_CODE 9
165 #define MARKUP_DD 10
166 #define MARKUP_DFN 11
167 #define MARKUP_DIV 12
168 #define MARKUP_DL 13
169 #define MARKUP_DT 14
170 #define MARKUP_EM 15
171 #define MARKUP_FONT 16
172 #define MARKUP_H1 17
173 #define MARKUP_H2 18
174 #define MARKUP_H3 19
175 #define MARKUP_H4 20
176 #define MARKUP_H5 21
177 #define MARKUP_H6 22
178 #define MARKUP_HR 23
179 #define MARKUP_I 24
180 #define MARKUP_IMG 25
181 #define MARKUP_KBD 26
182 #define MARKUP_LI 27
183 #define MARKUP_NOBR 28
184 #define MARKUP_NOWIKI 29
185 #define MARKUP_OL 30
186 #define MARKUP_P 31
187 #define MARKUP_PRE 32
188 #define MARKUP_S 33
189 #define MARKUP_SAMP 34
190 #define MARKUP_SMALL 35
191 #define MARKUP_STRIKE 36
192 #define MARKUP_STRONG 37
193 #define MARKUP_SUB 38
194 #define MARKUP_SUP 39
195 #define MARKUP_TABLE 40
196 #define MARKUP_TD 41
197 #define MARKUP_TH 42
198 #define MARKUP_TR 43
199 #define MARKUP_TT 44
200 #define MARKUP_U 45
201 #define MARKUP_UL 46
202 #define MARKUP_VAR 47
203 #define MARKUP_VERBATIM 48
 
 
 
 
 
 
204
205 /*
206 ** The various markup is divided into the following types:
207 */
208 #define MUTYPE_SINGLE 0x0001 /* <img>, <br>, or <hr> */
@@ -241,10 +247,14 @@
241 { "blockquote", MARKUP_BLOCKQUOTE, MUTYPE_BLOCK, 0 },
242 { "br", MARKUP_BR, MUTYPE_SINGLE, AMSK_CLEAR },
243 { "center", MARKUP_CENTER, MUTYPE_BLOCK, 0 },
244 { "cite", MARKUP_CITE, MUTYPE_FONT, 0 },
245 { "code", MARKUP_CODE, MUTYPE_FONT, 0 },
 
 
 
 
246 { "dd", MARKUP_DD, MUTYPE_LI, 0 },
247 { "dfn", MARKUP_DFN, MUTYPE_FONT, 0 },
248 { "div", MARKUP_DIV, MUTYPE_BLOCK, AMSK_ID|AMSK_CLASS },
249 { "dl", MARKUP_DL, MUTYPE_LIST, AMSK_COMPACT },
250 { "dt", MARKUP_DT, MUTYPE_LI, 0 },
@@ -273,23 +283,27 @@
273 { "p", MARKUP_P, MUTYPE_BLOCK, AMSK_ALIGN|AMSK_CLASS },
274 { "pre", MARKUP_PRE, MUTYPE_BLOCK, 0 },
275 { "s", MARKUP_S, MUTYPE_FONT, 0 },
276 { "samp", MARKUP_SAMP, MUTYPE_FONT, 0 },
277 { "small", MARKUP_SMALL, MUTYPE_FONT, 0 },
 
278 { "strike", MARKUP_STRIKE, MUTYPE_FONT, 0 },
279 { "strong", MARKUP_STRONG, MUTYPE_FONT, 0 },
280 { "sub", MARKUP_SUB, MUTYPE_FONT, 0 },
281 { "sup", MARKUP_SUP, MUTYPE_FONT, 0 },
282 { "table", MARKUP_TABLE, MUTYPE_TABLE,
283 AMSK_ALIGN|AMSK_BGCOLOR|AMSK_BORDER|AMSK_CELLPADDING|
284 AMSK_CELLSPACING|AMSK_HSPACE|AMSK_VSPACE|AMSK_CLASS },
 
285 { "td", MARKUP_TD, MUTYPE_TD,
286 AMSK_ALIGN|AMSK_BGCOLOR|AMSK_COLSPAN|
287 AMSK_ROWSPAN|AMSK_VALIGN|AMSK_CLASS },
 
288 { "th", MARKUP_TH, MUTYPE_TD,
289 AMSK_ALIGN|AMSK_BGCOLOR|AMSK_COLSPAN|
290 AMSK_ROWSPAN|AMSK_VALIGN|AMSK_CLASS },
 
291 { "tr", MARKUP_TR, MUTYPE_TR,
292 AMSK_ALIGN|AMSK_BGCOLOR||AMSK_VALIGN|AMSK_CLASS },
293 { "tt", MARKUP_TT, MUTYPE_FONT, 0 },
294 { "u", MARKUP_U, MUTYPE_FONT, 0 },
295 { "ul", MARKUP_UL, MUTYPE_LIST,
296
--- src/wikiformat.c
+++ src/wikiformat.c
@@ -150,59 +150,65 @@
150 ** Except for MARKUP_INVALID, this must all be in alphabetical order
151 ** and in numerical sequence. The first markup type must be zero.
152 ** The value for MARKUP_XYZ must correspond to the <xyz> entry
153 ** in aAllowedMarkup[].
154 */
155 #define MARKUP_INVALID 0
156 #define MARKUP_A 1
157 #define MARKUP_ADDRESS 2
158 #define MARKUP_B 3
159 #define MARKUP_BIG 4
160 #define MARKUP_BLOCKQUOTE 5
161 #define MARKUP_BR 6
162 #define MARKUP_CENTER 7
163 #define MARKUP_CITE 8
164 #define MARKUP_CODE 9
165 #define MARKUP_COL 10
166 #define MARKUP_COLGROUP 11
167 #define MARKUP_DD 12
168 #define MARKUP_DFN 13
169 #define MARKUP_DIV 14
170 #define MARKUP_DL 15
171 #define MARKUP_DT 16
172 #define MARKUP_EM 17
173 #define MARKUP_FONT 18
174 #define MARKUP_H1 19
175 #define MARKUP_H2 20
176 #define MARKUP_H3 21
177 #define MARKUP_H4 22
178 #define MARKUP_H5 23
179 #define MARKUP_H6 24
180 #define MARKUP_HR 25
181 #define MARKUP_I 26
182 #define MARKUP_IMG 27
183 #define MARKUP_KBD 28
184 #define MARKUP_LI 29
185 #define MARKUP_NOBR 30
186 #define MARKUP_NOWIKI 31
187 #define MARKUP_OL 32
188 #define MARKUP_P 33
189 #define MARKUP_PRE 34
190 #define MARKUP_S 35
191 #define MARKUP_SAMP 36
192 #define MARKUP_SMALL 37
193 #define MARKUP_SPAN 38
194 #define MARKUP_STRIKE 39
195 #define MARKUP_STRONG 40
196 #define MARKUP_SUB 41
197 #define MARKUP_SUP 42
198 #define MARKUP_TABLE 43
199 #define MARKUP_TBODY 44
200 #define MARKUP_TD 45
201 #define MARKUP_TFOOT 46
202 #define MARKUP_TH 47
203 #define MARKUP_THEAD 48
204 #define MARKUP_TR 49
205 #define MARKUP_TT 50
206 #define MARKUP_U 51
207 #define MARKUP_UL 52
208 #define MARKUP_VAR 53
209 #define MARKUP_VERBATIM 54
210
211 /*
212 ** The various markup is divided into the following types:
213 */
214 #define MUTYPE_SINGLE 0x0001 /* <img>, <br>, or <hr> */
@@ -241,10 +247,14 @@
247 { "blockquote", MARKUP_BLOCKQUOTE, MUTYPE_BLOCK, 0 },
248 { "br", MARKUP_BR, MUTYPE_SINGLE, AMSK_CLEAR },
249 { "center", MARKUP_CENTER, MUTYPE_BLOCK, 0 },
250 { "cite", MARKUP_CITE, MUTYPE_FONT, 0 },
251 { "code", MARKUP_CODE, MUTYPE_FONT, 0 },
252 { "col", MARKUP_COL, MUTYPE_SINGLE,
253 AMSK_ALIGN|AMSK_CLASS|AMSK_COLSPAN|AMSK_WIDTH },
254 { "colgroup", MARKUP_COLGROUP, MUTYPE_BLOCK,
255 AMSK_ALIGN|AMSK_CLASS|AMSK_COLSPAN|AMSK_WIDTH},
256 { "dd", MARKUP_DD, MUTYPE_LI, 0 },
257 { "dfn", MARKUP_DFN, MUTYPE_FONT, 0 },
258 { "div", MARKUP_DIV, MUTYPE_BLOCK, AMSK_ID|AMSK_CLASS },
259 { "dl", MARKUP_DL, MUTYPE_LIST, AMSK_COMPACT },
260 { "dt", MARKUP_DT, MUTYPE_LI, 0 },
@@ -273,23 +283,27 @@
283 { "p", MARKUP_P, MUTYPE_BLOCK, AMSK_ALIGN|AMSK_CLASS },
284 { "pre", MARKUP_PRE, MUTYPE_BLOCK, 0 },
285 { "s", MARKUP_S, MUTYPE_FONT, 0 },
286 { "samp", MARKUP_SAMP, MUTYPE_FONT, 0 },
287 { "small", MARKUP_SMALL, MUTYPE_FONT, 0 },
288 { "span", MARKUP_SPAN, MUTYPE_BLOCK, AMSK_ALIGN|AMSK_CLASS },
289 { "strike", MARKUP_STRIKE, MUTYPE_FONT, 0 },
290 { "strong", MARKUP_STRONG, MUTYPE_FONT, 0 },
291 { "sub", MARKUP_SUB, MUTYPE_FONT, 0 },
292 { "sup", MARKUP_SUP, MUTYPE_FONT, 0 },
293 { "table", MARKUP_TABLE, MUTYPE_TABLE,
294 AMSK_ALIGN|AMSK_BGCOLOR|AMSK_BORDER|AMSK_CELLPADDING|
295 AMSK_CELLSPACING|AMSK_HSPACE|AMSK_VSPACE|AMSK_CLASS },
296 { "tbody", MARKUP_TBODY, MUTYPE_BLOCK, AMSK_ALIGN|AMSK_CLASS },
297 { "td", MARKUP_TD, MUTYPE_TD,
298 AMSK_ALIGN|AMSK_BGCOLOR|AMSK_COLSPAN|
299 AMSK_ROWSPAN|AMSK_VALIGN|AMSK_CLASS },
300 { "tfoot", MARKUP_TFOOT, MUTYPE_BLOCK, AMSK_ALIGN|AMSK_CLASS },
301 { "th", MARKUP_TH, MUTYPE_TD,
302 AMSK_ALIGN|AMSK_BGCOLOR|AMSK_COLSPAN|
303 AMSK_ROWSPAN|AMSK_VALIGN|AMSK_CLASS },
304 { "thead", MARKUP_THEAD, MUTYPE_BLOCK, AMSK_ALIGN|AMSK_CLASS },
305 { "tr", MARKUP_TR, MUTYPE_TR,
306 AMSK_ALIGN|AMSK_BGCOLOR||AMSK_VALIGN|AMSK_CLASS },
307 { "tt", MARKUP_TT, MUTYPE_FONT, 0 },
308 { "u", MARKUP_U, MUTYPE_FONT, 0 },
309 { "ul", MARKUP_UL, MUTYPE_LIST,
310

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button