Browse Source

dtksh: Turn dtksh aliases into builtins and discard BLT_SPC flag

Upstream ksh has removed it's builtin aliases, favoring instead to make them
all builtin commands, this would also allow us to skip having to manually
merge another file, it was explained best in this email:

"Default aliases are an ugly hack that you are better off without.
Disadvantages include:
- 'unalias -a' becomes basically unusable as it gets rid of commands you
probably want;
- shell functions by those names are ignored (unless you quote their
names upon invocation);
- something like 'cmdname=foo; "$cmdname" bar baz' doesn't work if
$cmdname is an alias.

I strongly recommend removing the BLT_SPC flag from all of
your extra dtksh builtins. Making builtins "special builtins" is of no
real benefit at all, while introducing a pointless restriction: shell
functions by those names cannot be defined, which causes a risk of
incompatibility with scripts written for other shells. The BLT_SPC flag
is for a very few historic builtins that must have certain weird
corner-case behaviour of "special" builtins for POSIX compliance and
Bourne shell compatibility reasons."
Chase 3 years ago
parent
commit
0f3bcae232
3 changed files with 140 additions and 293 deletions
  1. 3 5
      cde/programs/dtksh/Imakefile
  2. 0 147
      cde/programs/dtksh/aliases.c
  3. 137 141
      cde/programs/dtksh/dtextra.h

+ 3 - 5
cde/programs/dtksh/Imakefile

@@ -63,7 +63,6 @@ PROGRAMS = dtksh
 SRCS =  \
 		userinit.c \
 		builtins.c \
-		aliases.c \
 		widget.c \
 		dtkcvt.c \
 		dtkcmds.c \
@@ -102,14 +101,13 @@ XCOMM Must replace standard ksh tables of builtins and aliases
 XCOMM with our augmented versions.
 XCOMM
 
-libshell.a: $(KSH93SLIBSHELL) userinit.o builtins.o aliases.o
+libshell.a: $(KSH93SLIBSHELL) userinit.o builtins.o
 	$(CP) $(KSH93LIBSHELL) libshell.a; \
-	ar d libshell.a userinit.o builtins.o aliases.o ; \
-	$(AR) libshell.a userinit.o builtins.o aliases.o
+	ar d libshell.a userinit.o builtins.o ; \
+	$(AR) libshell.a userinit.o builtins.o
 
 SpecialObjectRule(userinit.o,$(NULL),-DSHOPT_VSH -DKSHELL -D_TRACE_ )
 SpecialObjectRule(builtins.o,$(NULL),-DSHOPT_VSH -DKSHELL -D_TRACE_ )
-SpecialObjectRule(aliases.o,$(NULL),-DSHOPT_VSH -DKSHELL -D_TRACE_ )
 
 ComplexProgramTarget($(PROGRAMS))
 

+ 0 - 147
cde/programs/dtksh/aliases.c

@@ -1,147 +0,0 @@
-/*
- * CDE - Common Desktop Environment
- *
- * Copyright (c) 1993-2012, The Open Group. All rights reserved.
- *
- * These libraries and programs are free software; you can
- * redistribute them and/or modify them under the terms of the GNU
- * Lesser General Public License as published by the Free Software
- * Foundation; either version 2 of the License, or (at your option)
- * any later version.
- *
- * These libraries and programs are distributed in the hope that
- * they will be useful, but WITHOUT ANY WARRANTY; without even the
- * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See the GNU Lesser General Public License for more
- * details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with these libraries and programs; if not, write
- * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
- * Floor, Boston, MA 02110-1301 USA
- */
-/* $XConsortium: aliases.c /main/3 1995/11/01 15:50:11 rswiston $ */
-/***************************************************************
-*                                                              *
-*                      AT&T - PROPRIETARY                      *
-*                                                              *
-*        THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF        *
-*                    AT&T BELL LABORATORIES                    *
-*         AND IS NOT TO BE DISCLOSED OR USED EXCEPT IN         *
-*            ACCORDANCE WITH APPLICABLE AGREEMENTS             *
-*                                                              *
-*          Copyright (c) 1993 AT&T Bell Laboratories           *
-*              Unpublished & Not for Publication               *
-*                     All Rights Reserved                      *
-*                                                              *
-*       The copyright notice above does not evidence any       *
-*      actual or intended publication of such source code      *
-*                                                              *
-*               This software was created by the               *
-*           Advanced Software Technology Department            *
-*                    AT&T Bell Laboratories                    *
-*                                                              *
-*               For further information contact                *
-*                    {ulysses,attmail}!dgk                     *
-*                     dgk@ulysses.att.com                      *
-*                   David Korn 908-582-7975                    *
-*                                                              *
-***************************************************************/
-
-/* : : generated by proto : : */
-
-
-#if !defined(__PROTO__)
-#if defined(__STDC__) || defined(__cplusplus) || defined(_proto) || defined(c_plusplus)
-#if defined(__cplusplus)
-#define __MANGLE__	"C"
-#else
-#define __MANGLE__
-#endif
-#define __STDARG__
-#define __PROTO__(x)	x
-#define __OTORP__(x)
-#define __PARAM__(n,o)	n
-#if !defined(__STDC__) && !defined(__cplusplus)
-#if !defined(c_plusplus)
-#define const
-#endif
-#define signed
-#define void		int
-#define volatile
-#define __V_		char
-#else
-#define __V_		void
-#endif
-#else
-#define __PROTO__(x)	()
-#define __OTORP__(x)	x
-#define __PARAM__(n,o)	o
-#define __MANGLE__
-#define __V_		char
-#define const
-#define signed
-#define void		int
-#define volatile
-#endif
-#if defined(__cplusplus) || defined(c_plusplus)
-#define __VARARG__	...
-#else
-#define __VARARG__
-#endif
-#if defined(__STDARG__)
-#define __VA_START__(p,a)	va_start(p,a)
-#else
-#define __VA_START__(p,a)	va_start(p)
-#endif
-#endif
-
-#include	<ast.h>
-#include	<signal.h>
-#include	"FEATURE/options"
-#include	"FEATURE/dynamic"
-#include	"shtable.h"
-#include	"name.h"
-
-#include <X11/X.h>
-#include <X11/Intrinsic.h>
-#include <X11/IntrinsicP.h>
-#define NO_AST
-#include "dtksh.h"
-#undef NO_AST
-#include "dtextra.h"
-#include "xmextra.h"
-#include "msgs.h"
-
-/*
- * This is the table of built-in aliases.  These should be exported.
- */
-
-const struct shtable2 shtab_aliases[] =
-{
-#ifdef SHOPT_FS_3D
-	"2d",		NV_NOFREE|NV_EXPORT,	"set -f;_2d",
-#endif /* SHOPT_FS_3D */
-	"autoload",	NV_NOFREE|NV_EXPORT,	"typeset -fu",
-	"command",	NV_NOFREE|NV_EXPORT,	"command ",
-	"fc",		NV_NOFREE|NV_EXPORT,	"hist",
-	"float",	NV_NOFREE|NV_EXPORT,	"typeset -E",
-	"functions",	NV_NOFREE|NV_EXPORT,	"typeset -f",
-	"hash",		NV_NOFREE|NV_EXPORT,	"alias -t --",
-	"history",	NV_NOFREE|NV_EXPORT,	"hist -l",
-	"integer",	NV_NOFREE|NV_EXPORT,	"typeset -i",
-	"nameref",	NV_NOFREE|NV_EXPORT,	"typeset -n",
-	"nohup",	NV_NOFREE|NV_EXPORT,	"nohup ",
-	"r",		NV_NOFREE|NV_EXPORT,	"hist -s",
-	"redirect",	NV_NOFREE|NV_EXPORT,	"command exec",
-	"times",	NV_NOFREE|NV_EXPORT,	"{ { time;} 2>&1;}",
-	"type",		NV_NOFREE|NV_EXPORT,	"whence -v",
-#ifdef SIGTSTP
-	"stop",		NV_NOFREE|NV_EXPORT,	"kill -s STOP",
-	"suspend", 	NV_NOFREE|NV_EXPORT,	"kill -s STOP $$",
-#endif /*SIGTSTP */
-
-DTK_EXTRA_ALIAS
-
-	"",		0,			(char*)0
-};

+ 137 - 141
cde/programs/dtksh/dtextra.h

@@ -51,149 +51,145 @@
 #endif
 
 #define DTK_EXTRA_TABLE \
-	{ "DtLoadWidget", NV_BLTIN|BLT_ENV|BLT_SPC,  lcl_cast(do_DtLoadWidget) }, \
-	{ "DtWidgetInfo", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_DtWidgetInfo) }, \
-	{ "XBell", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_XBell) }, \
-        { "XRootWindowOfScreen", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_XRootWindowOfScreen) }, \
-        { "XWidthOfScreen", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_XWidthOfScreen) }, \
-        { "XHeightOfScreen", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_XHeightOfScreen) }, \
-        { "XDefineCursor", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_XDefineCursor) }, \
-        { "XUndefineCursor", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_XUndefineCursor) }, \
-	{ "XFlush", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_XFlush) }, \
-	{ "XSync", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_XSync) }, \
-	{ "XRaiseWindow", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_XRaiseWindow) }, \
-	{ "XtInitialize", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_XtInitialize) }, \
-	{ "XtIsSensitive", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_XtIsSensitive) }, \
-	{ "XtIsShell", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_XtIsShell) }, \
-	{ "XtIsRealized", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_XtIsRealized) }, \
-	{ "XtIsManaged", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_XtIsManaged) }, \
-	{ "XtCreateManagedWidget", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_XtCreateManagedWidget) }, \
-	{ "XtCreateApplicationShell", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_XtCreateApplicationShell) }, \
-	{ "XtCreateWidget", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_XtCreateWidget) }, \
-	{ "XtDestroyWidget", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_XtDestroyWidget) }, \
-	{ "XtSetValues", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_XtSetValues) }, \
-	{ "XtSetSensitive", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_XtSetSensitive) }, \
-        { "XtAugmentTranslations", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_XtAugmentTranslations) }, \
-        { "XtOverrideTranslations", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_XtOverrideTranslations) }, \
-        { "XtUninstallTranslations", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_XtUninstallTranslations) }, \
-	{ "XtAddCallback", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_XtAddCallback) }, \
-	{ "XtRemoveCallback", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_XtRemoveCallback) }, \
-	{ "XtRemoveAllCallbacks", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_XtRemoveAllCallbacks) }, \
-	{ "XtCallCallbacks", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_XtCallCallbacks) }, \
-	{ "XtHasCallbacks", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_XtHasCallbacks) }, \
-	{ "XtAddEventHandler", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_XtAddEventHandler) }, \
-	{ "XtRemoveEventHandler", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_XtRemoveEventHandler) }, \
-	{ "XtGetValues", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_XtGetValues) }, \
-	{ "XtCreatePopupShell", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_XtCreatePopupShell) }, \
-	{ "XtPopup", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_XtPopup) }, \
-	{ "XtPopdown", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_XtPopdown) }, \
-	{ "XtMapWidget", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_XtMapWidget) }, \
-	{ "XtUnmapWidget", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_XtUnmapWidget) }, \
-	{ "XtManageChildren", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_XtManageChildren) }, \
-	{ "XtIsSubclass", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_XtIsSubclass) }, \
-	{ "XtClass", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_XtClass) }, \
-	{ "XtUnmanageChildren", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_XtUnmanageChildren) }, \
-	{ "XtAddTimeOut", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_XtAddTimeOut) }, \
-	{ "XtRemoveTimeOut", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_XtRemoveTimeOut) }, \
-	{ "XtAddInput", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_XtAddInput) }, \
-	{ "XtRemoveInput", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_XtRemoveInput) }, \
-	{ "XtAddWorkProc", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_XtAddWorkProc) }, \
-	{ "XtRemoveWorkProc", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_XtRemoveWorkProc) }, \
-	{ "XtRealizeWidget", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_XtRealizeWidget) }, \
-	{ "XtUnrealizeWidget", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_XtUnrealizeWidget) }, \
-        { "DtSessionRestorePath", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_DtSessionRestorePath) }, \
-        { "DtSessionSavePath", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_DtSessionSavePath) }, \
-        { "DtShellIsIconified", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_DtShellIsIconified) }, \
-        { "DtSetStartupCommand", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_DtSetStartupCommand) }, \
-        { "DtSetIconifyHint", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_DtSetIconifyHint) }, \
-        { "DtWsmAddWorkspaceFunctions", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_DtWsmAddWorkspaceFunctions) }, \
-        { "DtWsmRemoveWorkspaceFunctions", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_DtWsmRemoveWorkspaceFunctions) }, \
-        { "DtWsmGetCurrentWorkspace", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_DtWsmGetCurrentWorkspace) }, \
-       { "DtWsmSetCurrentWorkspace", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_DtWsmSetCurrentWorkspace) }, \
-        { "DtWsmGetWorkspaceList", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_DtWsmGetWorkspaceList) }, \
-        { "DtWsmGetWorkspacesOccupied", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_DtWsmGetWorkspacesOccupied) }, \
-        { "DtWsmSetWorkspacesOccupied", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_DtWsmSetWorkspacesOccupied) }, \
-        { "DtWsmGetCurrentBackdropWindow", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_DtWsmGetCurrentBackdropWindow) }, \
-        { "DtWsmOccupyAllWorkspaces", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_DtWsmOccupyAllWorkspaces) }, \
-	{ "DtGetHourGlassCursor", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do__DtGetHourGlassCursor) }, \
-	{ "DtTurnOnHourGlass", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do__DtTurnOnHourGlass) }, \
-	{ "DtTurnOffHourGlass", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do__DtTurnOffHourGlass) }, \
-        { "_DtGetHourGlassCursor", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do__DtGetHourGlassCursor) }, \
-        { "_DtTurnOnHourGlass", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do__DtTurnOnHourGlass) }, \
-        { "_DtTurnOffHourGlass", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do__DtTurnOffHourGlass) }, \
-        { "DtWsmAddCurrentWorkspaceCallback", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_DtWsmAddCurrentWorkspaceCallback) }, \
-        { "DtWsmRemoveWorkspaceCallback", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_DtWsmRemoveWorkspaceCallback) }, \
-	{ "DtDbLoad", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_DtDbLoad) }, \
-	{ "DtDbReloadNotify", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_DtDbReloadNotify) }, \
-	{ "DtActionExists", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_DtActionExists) }, \
-	{ "DtActionLabel", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_DtActionLabel) }, \
-	{ "DtActionDescription", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_DtActionDescription) }, \
-	{ "DtActionInvoke", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_DtActionInvoke) }, \
-	{ "DtDtsLoadDataTypes", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_DtDtsLoadDataTypes) }, \
-	{ "DtDtsFileToDataType", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_DtDtsFileToDataType) }, \
-	{ "DtDtsFileToAttributeValue", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_DtDtsFileToAttributeValue) }, \
-	{ "DtDtsFileToAttributeList", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_DtDtsFileToAttributeList) }, \
-	{ "DtDtsDataTypeToAttributeValue", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_DtDtsDataTypeToAttributeValue) }, \
-	{ "DtDtsDataTypeToAttributeList", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_DtDtsDataTypeToAttributeList) }, \
-	{ "DtDtsFindAttribute", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_DtDtsFindAttribute) }, \
-	{ "DtDtsDataTypeNames", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_DtDtsDataTypeNames) }, \
-	{ "DtDtsSetDataType", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_DtDtsSetDataType) }, \
-	{ "DtDtsDataTypeIsAction", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_DtDtsDataTypeIsAction) }, \
-	{ "ttdt_open", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_ttdt_open) }, \
-	{ "ttdt_close", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_ttdt_close) }, \
-	{ "tttk_Xt_input_handler", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_tttk_Xt_input_handler) }, \
-	{ "ttdt_session_join", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_ttdt_session_join) }, \
-	{ "ttdt_session_quit", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_ttdt_session_quit) }, \
-	{ "ttdt_file_event", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_ttdt_file_event) }, \
-	{ "ttdt_file_join", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_ttdt_file_join) }, \
-	{ "ttdt_file_quit", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_ttdt_file_quit) }, \
-	{ "ttdt_Get_Modified", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_ttdt_Get_Modified) }, \
-	{ "ttdt_Save", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_ttdt_Save) }, \
-	{ "ttdt_Revert", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_ttdt_Revert) }, \
-	{ "tt_error_pointer", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_tt_error_pointer) }, \
-	{ "tttk_message_destroy", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_tttk_message_destroy) }, \
-	{ "tttk_message_reject", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_tttk_message_reject) }, \
-	{ "tttk_message_fail", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_tttk_message_fail) }, \
-	{ "tt_file_netfile", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_tt_file_netfile) }, \
-	{ "tt_netfile_file", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_tt_netfile_file) }, \
-	{ "tt_host_file_netfile", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_tt_host_file_netfile) }, \
-	{ "tt_host_netfile_file", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_tt_host_netfile_file) }, \
-	{ "tt_message_reply", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_tt_message_reply) },
+	{ "DtLoadWidget", NV_BLTIN|BLT_ENV,  lcl_cast(do_DtLoadWidget) }, \
+	{ "DtWidgetInfo", NV_BLTIN|BLT_ENV, lcl_cast(do_DtWidgetInfo) }, \
+	{ "XBell", NV_BLTIN|BLT_ENV, lcl_cast(do_XBell) }, \
+        { "XRootWindowOfScreen", NV_BLTIN|BLT_ENV, lcl_cast(do_XRootWindowOfScreen) }, \
+        { "XWidthOfScreen", NV_BLTIN|BLT_ENV, lcl_cast(do_XWidthOfScreen) }, \
+        { "XHeightOfScreen", NV_BLTIN|BLT_ENV, lcl_cast(do_XHeightOfScreen) }, \
+        { "XDefineCursor", NV_BLTIN|BLT_ENV, lcl_cast(do_XDefineCursor) }, \
+        { "XUndefineCursor", NV_BLTIN|BLT_ENV, lcl_cast(do_XUndefineCursor) }, \
+	{ "XFlush", NV_BLTIN|BLT_ENV, lcl_cast(do_XFlush) }, \
+	{ "XSync", NV_BLTIN|BLT_ENV, lcl_cast(do_XSync) }, \
+	{ "XRaiseWindow", NV_BLTIN|BLT_ENV, lcl_cast(do_XRaiseWindow) }, \
+	{ "XtInitialize", NV_BLTIN|BLT_ENV, lcl_cast(do_XtInitialize) }, \
+	{ "XtIsSensitive", NV_BLTIN|BLT_ENV, lcl_cast(do_XtIsSensitive) }, \
+	{ "XtIsShell", NV_BLTIN|BLT_ENV, lcl_cast(do_XtIsShell) }, \
+	{ "XtIsRealized", NV_BLTIN|BLT_ENV, lcl_cast(do_XtIsRealized) }, \
+	{ "XtIsManaged", NV_BLTIN|BLT_ENV, lcl_cast(do_XtIsManaged) }, \
+	{ "XtCreateManagedWidget", NV_BLTIN|BLT_ENV, lcl_cast(do_XtCreateManagedWidget) }, \
+	{ "XtCreateApplicationShell", NV_BLTIN|BLT_ENV, lcl_cast(do_XtCreateApplicationShell) }, \
+	{ "XtCreateWidget", NV_BLTIN|BLT_ENV, lcl_cast(do_XtCreateWidget) }, \
+	{ "XtDestroyWidget", NV_BLTIN|BLT_ENV, lcl_cast(do_XtDestroyWidget) }, \
+	{ "XtSetValues", NV_BLTIN|BLT_ENV, lcl_cast(do_XtSetValues) }, \
+	{ "XtSetSensitive", NV_BLTIN|BLT_ENV, lcl_cast(do_XtSetSensitive) }, \
+        { "XtAugmentTranslations", NV_BLTIN|BLT_ENV, lcl_cast(do_XtAugmentTranslations) }, \
+        { "XtOverrideTranslations", NV_BLTIN|BLT_ENV, lcl_cast(do_XtOverrideTranslations) }, \
+        { "XtUninstallTranslations", NV_BLTIN|BLT_ENV, lcl_cast(do_XtUninstallTranslations) }, \
+	{ "XtAddCallback", NV_BLTIN|BLT_ENV, lcl_cast(do_XtAddCallback) }, \
+	{ "XtRemoveCallback", NV_BLTIN|BLT_ENV, lcl_cast(do_XtRemoveCallback) }, \
+	{ "XtRemoveAllCallbacks", NV_BLTIN|BLT_ENV, lcl_cast(do_XtRemoveAllCallbacks) }, \
+	{ "XtCallCallbacks", NV_BLTIN|BLT_ENV, lcl_cast(do_XtCallCallbacks) }, \
+	{ "XtHasCallbacks", NV_BLTIN|BLT_ENV, lcl_cast(do_XtHasCallbacks) }, \
+	{ "XtAddEventHandler", NV_BLTIN|BLT_ENV, lcl_cast(do_XtAddEventHandler) }, \
+	{ "XtRemoveEventHandler", NV_BLTIN|BLT_ENV, lcl_cast(do_XtRemoveEventHandler) }, \
+	{ "XtGetValues", NV_BLTIN|BLT_ENV, lcl_cast(do_XtGetValues) }, \
+	{ "XtCreatePopupShell", NV_BLTIN|BLT_ENV, lcl_cast(do_XtCreatePopupShell) }, \
+	{ "XtPopup", NV_BLTIN|BLT_ENV, lcl_cast(do_XtPopup) }, \
+	{ "XtPopdown", NV_BLTIN|BLT_ENV, lcl_cast(do_XtPopdown) }, \
+	{ "XtMapWidget", NV_BLTIN|BLT_ENV, lcl_cast(do_XtMapWidget) }, \
+	{ "XtUnmapWidget", NV_BLTIN|BLT_ENV, lcl_cast(do_XtUnmapWidget) }, \
+	{ "XtManageChild", NV_BLTIN|BLT_ENV, lcl_cast(do_XtManageChildren) }, \
+	{ "XtManageChildren", NV_BLTIN|BLT_ENV, lcl_cast(do_XtManageChildren) }, \
+	{ "XtIsSubclass", NV_BLTIN|BLT_ENV, lcl_cast(do_XtIsSubclass) }, \
+	{ "XtClass", NV_BLTIN|BLT_ENV, lcl_cast(do_XtClass) }, \
+	{ "XtUnmanageChild", NV_BLTIN|BLT_ENV, lcl_cast(do_XtUnmanageChildren) }, \
+	{ "XtUnmanageChildren", NV_BLTIN|BLT_ENV, lcl_cast(do_XtUnmanageChildren) }, \
+	{ "XtAddTimeOut", NV_BLTIN|BLT_ENV, lcl_cast(do_XtAddTimeOut) }, \
+	{ "XtRemoveTimeOut", NV_BLTIN|BLT_ENV, lcl_cast(do_XtRemoveTimeOut) }, \
+	{ "XtAddInput", NV_BLTIN|BLT_ENV, lcl_cast(do_XtAddInput) }, \
+	{ "XtRemoveInput", NV_BLTIN|BLT_ENV, lcl_cast(do_XtRemoveInput) }, \
+	{ "XtAddWorkProc", NV_BLTIN|BLT_ENV, lcl_cast(do_XtAddWorkProc) }, \
+	{ "XtRemoveWorkProc", NV_BLTIN|BLT_ENV, lcl_cast(do_XtRemoveWorkProc) }, \
+	{ "XtRealizeWidget", NV_BLTIN|BLT_ENV, lcl_cast(do_XtRealizeWidget) }, \
+	{ "XtUnrealizeWidget", NV_BLTIN|BLT_ENV, lcl_cast(do_XtUnrealizeWidget) }, \
+        { "DtSessionRestorePath", NV_BLTIN|BLT_ENV, lcl_cast(do_DtSessionRestorePath) }, \
+        { "DtSessionSavePath", NV_BLTIN|BLT_ENV, lcl_cast(do_DtSessionSavePath) }, \
+        { "DtShellIsIconified", NV_BLTIN|BLT_ENV, lcl_cast(do_DtShellIsIconified) }, \
+        { "DtSetStartupCommand", NV_BLTIN|BLT_ENV, lcl_cast(do_DtSetStartupCommand) }, \
+        { "DtSetIconifyHint", NV_BLTIN|BLT_ENV, lcl_cast(do_DtSetIconifyHint) }, \
+        { "DtWsmAddWorkspaceFunctions", NV_BLTIN|BLT_ENV, lcl_cast(do_DtWsmAddWorkspaceFunctions) }, \
+        { "DtWsmRemoveWorkspaceFunctions", NV_BLTIN|BLT_ENV, lcl_cast(do_DtWsmRemoveWorkspaceFunctions) }, \
+        { "DtWsmGetCurrentWorkspace", NV_BLTIN|BLT_ENV, lcl_cast(do_DtWsmGetCurrentWorkspace) }, \
+       { "DtWsmSetCurrentWorkspace", NV_BLTIN|BLT_ENV, lcl_cast(do_DtWsmSetCurrentWorkspace) }, \
+        { "DtWsmGetWorkspaceList", NV_BLTIN|BLT_ENV, lcl_cast(do_DtWsmGetWorkspaceList) }, \
+        { "DtWsmGetWorkspacesOccupied", NV_BLTIN|BLT_ENV, lcl_cast(do_DtWsmGetWorkspacesOccupied) }, \
+        { "DtWsmSetWorkspacesOccupied", NV_BLTIN|BLT_ENV, lcl_cast(do_DtWsmSetWorkspacesOccupied) }, \
+        { "DtWsmGetCurrentBackdropWindow", NV_BLTIN|BLT_ENV, lcl_cast(do_DtWsmGetCurrentBackdropWindow) }, \
+        { "DtWsmOccupyAllWorkspaces", NV_BLTIN|BLT_ENV, lcl_cast(do_DtWsmOccupyAllWorkspaces) }, \
+	{ "DtGetHourGlassCursor", NV_BLTIN|BLT_ENV, lcl_cast(do__DtGetHourGlassCursor) }, \
+	{ "DtTurnOnHourGlass", NV_BLTIN|BLT_ENV, lcl_cast(do__DtTurnOnHourGlass) }, \
+	{ "DtTurnOffHourGlass", NV_BLTIN|BLT_ENV, lcl_cast(do__DtTurnOffHourGlass) }, \
+        { "_DtGetHourGlassCursor", NV_BLTIN|BLT_ENV, lcl_cast(do__DtGetHourGlassCursor) }, \
+        { "_DtTurnOnHourGlass", NV_BLTIN|BLT_ENV, lcl_cast(do__DtTurnOnHourGlass) }, \
+        { "_DtTurnOffHourGlass", NV_BLTIN|BLT_ENV, lcl_cast(do__DtTurnOffHourGlass) }, \
+        { "DtWsmAddCurrentWorkspaceCallback", NV_BLTIN|BLT_ENV, lcl_cast(do_DtWsmAddCurrentWorkspaceCallback) }, \
+        { "DtWsmRemoveWorkspaceCallback", NV_BLTIN|BLT_ENV, lcl_cast(do_DtWsmRemoveWorkspaceCallback) }, \
+	{ "DtDbLoad", NV_BLTIN|BLT_ENV, lcl_cast(do_DtDbLoad) }, \
+	{ "DtDbReloadNotify", NV_BLTIN|BLT_ENV, lcl_cast(do_DtDbReloadNotify) }, \
+	{ "DtActionExists", NV_BLTIN|BLT_ENV, lcl_cast(do_DtActionExists) }, \
+	{ "DtActionLabel", NV_BLTIN|BLT_ENV, lcl_cast(do_DtActionLabel) }, \
+	{ "DtActionDescription", NV_BLTIN|BLT_ENV, lcl_cast(do_DtActionDescription) }, \
+	{ "DtActionInvoke", NV_BLTIN|BLT_ENV, lcl_cast(do_DtActionInvoke) }, \
+	{ "DtDtsLoadDataTypes", NV_BLTIN|BLT_ENV, lcl_cast(do_DtDtsLoadDataTypes) }, \
+	{ "DtDtsFileToDataType", NV_BLTIN|BLT_ENV, lcl_cast(do_DtDtsFileToDataType) }, \
+	{ "DtDtsFileToAttributeValue", NV_BLTIN|BLT_ENV, lcl_cast(do_DtDtsFileToAttributeValue) }, \
+	{ "DtDtsFileToAttributeList", NV_BLTIN|BLT_ENV, lcl_cast(do_DtDtsFileToAttributeList) }, \
+	{ "DtDtsDataTypeToAttributeValue", NV_BLTIN|BLT_ENV, lcl_cast(do_DtDtsDataTypeToAttributeValue) }, \
+	{ "DtDtsDataTypeToAttributeList", NV_BLTIN|BLT_ENV, lcl_cast(do_DtDtsDataTypeToAttributeList) }, \
+	{ "DtDtsFindAttribute", NV_BLTIN|BLT_ENV, lcl_cast(do_DtDtsFindAttribute) }, \
+	{ "DtDtsDataTypeNames", NV_BLTIN|BLT_ENV, lcl_cast(do_DtDtsDataTypeNames) }, \
+	{ "DtDtsSetDataType", NV_BLTIN|BLT_ENV, lcl_cast(do_DtDtsSetDataType) }, \
+	{ "DtDtsDataTypeIsAction", NV_BLTIN|BLT_ENV, lcl_cast(do_DtDtsDataTypeIsAction) }, \
+	{ "ttdt_open", NV_BLTIN|BLT_ENV, lcl_cast(do_ttdt_open) }, \
+	{ "ttdt_close", NV_BLTIN|BLT_ENV, lcl_cast(do_ttdt_close) }, \
+	{ "tttk_Xt_input_handler", NV_BLTIN|BLT_ENV, lcl_cast(do_tttk_Xt_input_handler) }, \
+	{ "ttdt_session_join", NV_BLTIN|BLT_ENV, lcl_cast(do_ttdt_session_join) }, \
+	{ "ttdt_session_quit", NV_BLTIN|BLT_ENV, lcl_cast(do_ttdt_session_quit) }, \
+	{ "ttdt_file_event", NV_BLTIN|BLT_ENV, lcl_cast(do_ttdt_file_event) }, \
+	{ "ttdt_file_join", NV_BLTIN|BLT_ENV, lcl_cast(do_ttdt_file_join) }, \
+	{ "ttdt_file_quit", NV_BLTIN|BLT_ENV, lcl_cast(do_ttdt_file_quit) }, \
+	{ "ttdt_Get_Modified", NV_BLTIN|BLT_ENV, lcl_cast(do_ttdt_Get_Modified) }, \
+	{ "ttdt_Save", NV_BLTIN|BLT_ENV, lcl_cast(do_ttdt_Save) }, \
+	{ "ttdt_Revert", NV_BLTIN|BLT_ENV, lcl_cast(do_ttdt_Revert) }, \
+	{ "tt_error_pointer", NV_BLTIN|BLT_ENV, lcl_cast(do_tt_error_pointer) }, \
+	{ "tttk_message_destroy", NV_BLTIN|BLT_ENV, lcl_cast(do_tttk_message_destroy) }, \
+	{ "tttk_message_reject", NV_BLTIN|BLT_ENV, lcl_cast(do_tttk_message_reject) }, \
+	{ "tttk_message_fail", NV_BLTIN|BLT_ENV, lcl_cast(do_tttk_message_fail) }, \
+	{ "tt_file_netfile", NV_BLTIN|BLT_ENV, lcl_cast(do_tt_file_netfile) }, \
+	{ "tt_netfile_file", NV_BLTIN|BLT_ENV, lcl_cast(do_tt_netfile_file) }, \
+	{ "tt_host_file_netfile", NV_BLTIN|BLT_ENV, lcl_cast(do_tt_host_file_netfile) }, \
+	{ "tt_host_netfile_file", NV_BLTIN|BLT_ENV, lcl_cast(do_tt_host_netfile_file) }, \
+	{ "tt_message_reply", NV_BLTIN|BLT_ENV, lcl_cast(do_tt_message_reply) },
 
 #define DTK_EXTRA_TABLE2 \
-	{ "XClearArea", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_XClearArea) }, \
-	{ "XClearWindow", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_XClearWindow) }, \
-        { "XCopyArea", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_XCopyArea) }, \
-	{ "XDrawArc", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_XDrawArc) }, \
-	{ "XDrawImageString", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_XDrawImageString) }, \
-	{ "XDrawLine", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_XDrawLine) }, \
-	{ "XDrawLines", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_XDrawLines) }, \
-	{ "XDrawPoint", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_XDrawPoint) }, \
-	{ "XDrawPoints", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_XDrawPoints) }, \
-	{ "XDrawRectangle", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_XDrawRectangle) }, \
-	{ "XDrawSegments", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_XDrawSegments) }, \
-	{ "XDrawString", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_XDrawString) }, \
-	{ "XFillArc", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_XFillArc) }, \
-	{ "XFillPolygon", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_XFillPolygon) }, \
-	{ "XFillRectangle", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_XFillRectangle) }, \
-	{ "XTextWidth", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_XTextWidth) }, \
-	{ "XtMainLoop", NV_BLTIN|BLT_SPC, lcl_cast(do_XtMainLoop) }, \
-	{ "XtDisplay", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_XtDisplay) }, \
-	{ "XtDisplayOfObject", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_XtDisplayOfObject) }, \
-	{ "XtNameToWidget", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_XtNameToWidget) }, \
-        { "XtScreen",  NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_XtScreen) }, \
-	{ "XtWindow", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_XtWindow) }, \
-	{ "XtParent", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_XtParent) }, \
-	{ "XtLastTimestampProcessed", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_XtLastTimestampProcessed) }, \
-	{ "catopen", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_catopen) }, \
-	{ "catgets", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_catgets) }, \
-	{ "catclose", NV_BLTIN|BLT_ENV|BLT_SPC, lcl_cast(do_catclose) },
-
-
-
-#define DTK_EXTRA_ALIAS \
-	"XtManageChild", NV_NOFREE|NV_EXPORT, 	"XtManageChildren", \
-	"XtUnmanageChild", NV_NOFREE|NV_EXPORT, 	"XtUnmanageChildren",
+	{ "XClearArea", NV_BLTIN|BLT_ENV, lcl_cast(do_XClearArea) }, \
+	{ "XClearWindow", NV_BLTIN|BLT_ENV, lcl_cast(do_XClearWindow) }, \
+        { "XCopyArea", NV_BLTIN|BLT_ENV, lcl_cast(do_XCopyArea) }, \
+	{ "XDrawArc", NV_BLTIN|BLT_ENV, lcl_cast(do_XDrawArc) }, \
+	{ "XDrawImageString", NV_BLTIN|BLT_ENV, lcl_cast(do_XDrawImageString) }, \
+	{ "XDrawLine", NV_BLTIN|BLT_ENV, lcl_cast(do_XDrawLine) }, \
+	{ "XDrawLines", NV_BLTIN|BLT_ENV, lcl_cast(do_XDrawLines) }, \
+	{ "XDrawPoint", NV_BLTIN|BLT_ENV, lcl_cast(do_XDrawPoint) }, \
+	{ "XDrawPoints", NV_BLTIN|BLT_ENV, lcl_cast(do_XDrawPoints) }, \
+	{ "XDrawRectangle", NV_BLTIN|BLT_ENV, lcl_cast(do_XDrawRectangle) }, \
+	{ "XDrawSegments", NV_BLTIN|BLT_ENV, lcl_cast(do_XDrawSegments) }, \
+	{ "XDrawString", NV_BLTIN|BLT_ENV, lcl_cast(do_XDrawString) }, \
+	{ "XFillArc", NV_BLTIN|BLT_ENV, lcl_cast(do_XFillArc) }, \
+	{ "XFillPolygon", NV_BLTIN|BLT_ENV, lcl_cast(do_XFillPolygon) }, \
+	{ "XFillRectangle", NV_BLTIN|BLT_ENV, lcl_cast(do_XFillRectangle) }, \
+	{ "XTextWidth", NV_BLTIN|BLT_ENV, lcl_cast(do_XTextWidth) }, \
+	{ "XtMainLoop", NV_BLTIN, lcl_cast(do_XtMainLoop) }, \
+	{ "XtDisplay", NV_BLTIN|BLT_ENV, lcl_cast(do_XtDisplay) }, \
+	{ "XtDisplayOfObject", NV_BLTIN|BLT_ENV, lcl_cast(do_XtDisplayOfObject) }, \
+	{ "XtNameToWidget", NV_BLTIN|BLT_ENV, lcl_cast(do_XtNameToWidget) }, \
+        { "XtScreen",  NV_BLTIN|BLT_ENV, lcl_cast(do_XtScreen) }, \
+	{ "XtWindow", NV_BLTIN|BLT_ENV, lcl_cast(do_XtWindow) }, \
+	{ "XtParent", NV_BLTIN|BLT_ENV, lcl_cast(do_XtParent) }, \
+	{ "XtLastTimestampProcessed", NV_BLTIN|BLT_ENV, lcl_cast(do_XtLastTimestampProcessed) }, \
+	{ "catopen", NV_BLTIN|BLT_ENV, lcl_cast(do_catopen) }, \
+	{ "catgets", NV_BLTIN|BLT_ENV, lcl_cast(do_catgets) }, \
+	{ "catclose", NV_BLTIN|BLT_ENV, lcl_cast(do_catclose) },
 
 #endif /* _Dtksh_dtextra_h */
 /* DON'T ADD ANYTHING AFTER THIS #endif */