1
0
Fork 0
mirror of git://git.code.sf.net/p/cdesktopenv/code synced 2025-02-15 04:32:24 +00:00

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."
This commit is contained in:
Chase 2020-07-19 12:32:25 -05:00 committed by Jon Trulson
parent 15a2032626
commit 0f3bcae232
3 changed files with 140 additions and 293 deletions

View file

@ -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))

View file

@ -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
};

View file

@ -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 */