File mksh-vendor-mkshrc.patch of Package mksh.4033
--- a/main.c 2014-10-03 19:20:17.000000000 +0200
+++ b/main.c 2014-10-07 18:20:32.529192101 +0200
@@ -595,6 +595,11 @@ main_init(int argc, const char *argv[],
if (Flag(FLOGIN))
include(substitute("$HOME/.profile", 0), 0, NULL, true);
if (Flag(FTALKING)) {
+#if defined(MKSH_VENDOR_MKSHRC_PATH) && !defined(MKSH_LEGACY_MODE)
+ /* include vendor mkshrc */
+ include(MKSH_VENDOR_MKSHRC_PATH, 0, NULL, true);
+#endif
+
cp = substitute(substitute("${ENV:-" MKSHRC_PATH "}",
0), DOTILDE);
if (cp[0] != '\0')
--- a/mksh.1 2014-10-07 17:31:02.000000000 +0200
+++ b/mksh.1 2014-10-07 18:20:32.529192101 +0200
@@ -371,6 +371,11 @@ it is processed; non-existence is silent
A privileged shell then drops privileges if neither was the
.Fl p
option given on the command line nor set during execution of the startup files.
+.Pp
+If enabled at compile time, all interactive shells process a vendor-supplied
+initialisation file before the
+.Ev ENV
+parameter or user mkshrc profile is processed.
.Ss Command syntax
The shell begins parsing its input by removing any backslash-newline
combinations, then breaking it into