From d9fc61c022893abd1d90dcb53c925b7bedc85a70 Mon Sep 17 00:00:00 2001 From: Martijn Dekker Date: Fri, 31 Dec 2021 18:13:20 +0000 Subject: [PATCH] init.c: upstream init.c.patch for CDE's dtksh This upstreams the patch to init.c that is necessary to build dtksh (graphical extensions for CDE, see ). It has no effect when building regular ksh. Upstreaming it avoids the need to keep updating it when changes to init.c are made. --- src/cmd/ksh93/sh/init.c | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/src/cmd/ksh93/sh/init.c b/src/cmd/ksh93/sh/init.c index 275c3fd14..6c26bb7a8 100644 --- a/src/cmd/ksh93/sh/init.c +++ b/src/cmd/ksh93/sh/init.c @@ -49,6 +49,27 @@ #include "lexstates.h" #include "version.h" +#ifdef BUILD_DTKSH +#include
+#include
+#include +#include +#include +#include +#include +#include +#include +#include +#include "dtksh.h" +#include "xmksh.h" +#include "dtkcmds.h" +#include "xmcvt.h" +#include "widget.h" +#include "extra.h" +#include "xmwidgets.h" +#include "msgs.h" +#endif /* BUILD_DTKSH */ + #if _hdr_wctype #include #include @@ -1480,6 +1501,16 @@ Shell_t *sh_init(register int argc,register char *argv[], Shinit_f userinit) shp->errtrap = 0; shp->end_fn = 0; error_info.exit = sh_exit; +#ifdef BUILD_DTKSH + { + int *lockedFds = LockKshFileDescriptors(); + (void) XtSetLanguageProc((XtAppContext)NULL, (XtLanguageProc)NULL, (XtPointer)NULL); + DtNlInitialize(); + _DtEnvControl(DT_ENV_SET); + UnlockKshFileDescriptors(lockedFds); + dtksh_init(); + } +#endif /* BUILD_DTKSH */ return(shp); }