X-Git-Url: http://git.madism.org/?a=blobdiff_plain;f=doc%2Fdevel-notes.txt;h=f6455f6ded95180a88210d725b2283ed74356547;hb=3cb53df6efcb6b137bbab53c16da4eddbc5a1b2b;hp=3cfcfc9bfb94b55d2834c32e8bfbed882e6db80f;hpb=d522dcf77ce4b7e071a8c5a68a21c781270d165c;p=apps%2Fmadmutt.git diff --git a/doc/devel-notes.txt b/doc/devel-notes.txt index 3cfcfc9..f6455f6 100644 --- a/doc/devel-notes.txt +++ b/doc/devel-notes.txt @@ -57,7 +57,7 @@ Getting started from SVN Once you've checked out a copy of the source from SVN from svn.berlios.de/svnroot/repos/mutt-ng , you'll need to run the script -called 'prepare' that is in the root directory. The script does all the +called 'autogen.sh' that is in the root directory. The script does all the automake/autoconf magic that needs to be done with a fresh checkout. If all steps succeed, you'll have a configure script to start off with. @@ -78,8 +78,11 @@ the GNU gettext library's developpers. Style Guide ----------- -- global functions should have the prefix "mutt_". All - other functions should be declared "static". +- global functions outside the library directory should have the prefix + "mutt_". All other functions should be declared "static". All global + functions defined within the library directory should have the the + prefix according to their source file, i.e. "str_" for everything in + lib/str.[ch] etc. - avoid global vars where possible. If one is required, try to contain it to a single source file and declare it @@ -92,13 +95,11 @@ Style Guide in ELM and PINE is the tremendous duplication of code... Help keep Mutt small! -- when adding new options, make the old behaviour the - default. +- When adding new options, make the old behaviour the default. Also, + add them to UPGRADING in the top-level source directory. - try to keep Mutt-ng as portable as possible. -- do not use C++-style comments (i.e. "// Comment") - Documentation ------------- @@ -178,3 +179,19 @@ similar to [ntg]roff: This is used to protect indentations in tables. Do _not_ use any other SGML or nroff formatting instructions here! + + +String comparison +----------------- + +A word of warning about string comparisons: Since Mutt-ng may run in a +huge variety of locales, case-insensitive string comparisons and +case conversions may be dangerous. For instance, in iso-8859-9, +tolower('I') is DIFFERENT from 'i' - it's indeed the Turkish dotless +lowercase i. + +For this reason, always use the ascii_* functions defined in ascii.h +and implemented in ascii.c when comparing or handling strings which +are defined as us-ascii. This concerns lots of text-based +protocols, message header tags, character set names, domain names, +e-mail addresses, etc.