summaryrefslogtreecommitdiff
path: root/include/ruby/internal/dosish.h
diff options
author卜部昌平 <[email protected]>2021-01-21 10:16:50 +0900
committer卜部昌平 <[email protected]>2021-09-10 20:00:06 +0900
commit0d13f5aa736ed2c30113df9f72d4044f2a091ef5 (patch)
tree464e1e0a4c5553099088d21488f2b12aecbf6ffe /include/ruby/internal/dosish.h
parent30f33198714555abc9ed004b75b4508a39922335 (diff)
include/ruby/internal/dosish.h: add doxygen
Must not be a bad idea to improve documents. [ci skip]
Notes
Notes: Merged: https://github.com/ruby/ruby/pull/4815
Diffstat (limited to 'include/ruby/internal/dosish.h')
-rw-r--r--include/ruby/internal/dosish.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/include/ruby/internal/dosish.h b/include/ruby/internal/dosish.h
index c0453c213d..7d354ddd1a 100644
--- a/include/ruby/internal/dosish.h
+++ b/include/ruby/internal/dosish.h
@@ -38,20 +38,46 @@
#include "ruby/win32.h"
#endif
+/** The delimiter of `PATH` environment variable. */
#if defined(DOSISH)
#define PATH_SEP ";"
#else
#define PATH_SEP ":"
#endif
+/** Identical to #PATH_SEP, except it is of type `char`. */
#define PATH_SEP_CHAR PATH_SEP[0]
+/**
+ * @private
+ *
+ * @deprecated This macro once was a thing in the old days, but makes no sense
+ * any longer today. Exists here for backwards compatibility
+ * only. You can safely forget about it.
+ *
+ * @internal
+ *
+ * For historical interests: there was an operating system called Human68k
+ * which used an environment variable called `"path"` for this purpose.
+ */
#define PATH_ENV "PATH"
#if defined(DOSISH)
#define ENV_IGNORECASE
#endif
+/**
+ * Stone age assumption was that an operating system supports only one file
+ * system at a moment. This macro was to detect if such (one and only) file
+ * system has case sensitivity. This assumption is largely not true any
+ * longer; most operating systems can mount many kinds of file systems side by
+ * side. Also there are file systems that do or do not ignore cases depending
+ * on configuration (e.g. EXT4's `casefold` feature).
+ *
+ * This macro is still used internally (for instance Ruby level constant
+ * `File::FNM_SYSCASE` depends on it), but it is basically a wrong idea for you
+ * to use it today. Please just find another way.
+ */
#ifndef CASEFOLD_FILESYSTEM
# if defined DOSISH
# define CASEFOLD_FILESYSTEM 1