diff options
author | Dimitri van Heesch <doxygen@gmail.com> | 2020-11-05 18:26:11 (GMT) |
---|---|---|
committer | Dimitri van Heesch <doxygen@gmail.com> | 2020-11-05 18:26:11 (GMT) |
commit | 13b1feff0d0baef6eed5aac26d065b50528f3831 (patch) | |
tree | 5bb35d1a25c29ff5a3479ba340cfa18ed0cfc2a7 | |
parent | 056b291534bc986c0a87653612c5d7d4d5524e21 (diff) | |
parent | c48c5eb3c68a9b5f3f82d1d186a6695ed1d30db5 (diff) | |
download | Doxygen-13b1feff0d0baef6eed5aac26d065b50528f3831.zip Doxygen-13b1feff0d0baef6eed5aac26d065b50528f3831.tar.gz Doxygen-13b1feff0d0baef6eed5aac26d065b50528f3831.tar.bz2 |
Merge branch 'albert-github-feature/issue_8156'
-rw-r--r-- | src/config.xml | 20 | ||||
-rw-r--r-- | src/markdown.cpp | 9 |
2 files changed, 22 insertions, 7 deletions
diff --git a/src/config.xml b/src/config.xml index b080bec..861b3c6 100644 --- a/src/config.xml +++ b/src/config.xml @@ -981,12 +981,20 @@ Go to the <a href="commands.html">next</a> section or return to the <option type='bool' id='CASE_SENSE_NAMES' defval='0' altdefval='Portable::fileSystemIsCaseSensitive()'> <docs> <![CDATA[ - If the \c CASE_SENSE_NAMES tag is set to \c NO then doxygen - will only generate file names in lower-case letters. If set to - \c YES, upper-case letters are also allowed. This is useful if you have - classes or files whose names only differ in case and if your file system - supports case sensitive file names. Windows (including Cygwin) and - Mac users are advised to set this option to \c NO. + With the correct setting of option \c CASE_SENSE_NAMES doxygen will better be able to match the + capabilities of the underlying filesystem. + + In case the filesystem is case sensitive (i.e. it supports files in the same directory + whose names only differ in casing), the option must be set to \c YES to properly deal with such files + in case they appear in the input. + + For filesystems that are not case sensitive the option should be be set to \c NO to properly + deal with output files written for symbols that only differ in casing, such as for two classes, + one named \c CLASS and the other named \c Class, and to also support references to files without + having to specify the exact matching casing. + + On Windows (including Cygwin) and MacOS, users should typically set this option to \c NO, + whereas on Linux or other Unix flavors it should typically be set to \c YES. ]]> </docs> </option> diff --git a/src/markdown.cpp b/src/markdown.cpp index 4abe10e..33a471a 100644 --- a/src/markdown.cpp +++ b/src/markdown.cpp @@ -2685,7 +2685,14 @@ QCString markdownFileNameToId(const QCString &fileName) QCString baseFn = stripFromPath(QFileInfo(fileName).absFilePath().utf8()); int i = baseFn.findRev('.'); if (i!=-1) baseFn = baseFn.left(i); - QCString baseName = substitute(substitute(substitute(substitute(baseFn," ","_"),"/","_"),":","_"),"@","_"); + QCString baseName = baseFn; + char *p = baseName.rawData(); + char c; + while ((c=*p)) + { + if (!isId(c)) *p='_'; // escape characters that do not yield an identifier by underscores + p++; + } //printf("markdownFileNameToId(%s)=md_%s\n",qPrint(fileName),qPrint(baseName)); return "md_"+baseName; } |