Fossil source code should following the style guidelines below. General points:: 10. No line of code exceeds 80 characters in length. (Occasional exceptions are made for HTML text on @-lines.) 11. There are no tab characters. 12. Line terminators are \n only. Do not use a \r\n line terminator. 13. 2-space indentation is used. Remember: No tabs. 14. Comments contain no spelling or grammatical errors. (Abbreviations and sentence fragments are acceptable when trying to fit a comment on a single line as long as the meaning is clear.) 15. The tone of comments is professional and courteous. Comments contain no profanity, obscenity, or innuendo. 16. All C-code conforms to ANSI C-89. 17. All comments and identifiers are in English. 18. The program is single-threaded. Do not use threads. (One except to this is the HTTP server implementation for windows, which we do not know how to implement without the use of threads.) C preprocessor macros: 20. The purpose of every preprocessor macros is clearly explained in a comment associated with its definition. 21. Every preprocessor macro is used at least once. 22. The names of preprocessor macros clearly reflect their use. 23. Assumptions about the relative values of related macros are verified by asserts. Example: assert(READ_LOCK+1==WRITE_LOCK); Function header comments: 30. Every function has a header comment describing the purpose and use of the function. 31. Function header comment defines the behavior of the function in sufficient detail to allow the function to be reimplemented from scratch without reference to the original code. 32. Functions that perform dynamic memory allocation (either directly or indirectly via subfunctions) say so in their header comments. Function bodies: