Merge branch 'master' into autotools-conversion

Lost the ksh93 submodule so will re-add in a later commit.
This commit is contained in:
Jon Trulson
2021-01-30 19:04:10 -07:00
1044 changed files with 2966 additions and 197577 deletions

View File

@@ -1,10 +1,42 @@
XCOMM $TOG: Imakefile /main/15 1998/04/07 08:55:29 mgreess $
DESKTOP_VERSION_STRING = DesktopVersionString
#define IHaveSubdirs
#define PassCDebugFlags 'CDEBUGFLAGS=$(CDEBUGFLAGS)'
SUBDIRS = examples
MakeSubdirs($(SUBDIRS))
KSH93SRC = ./ksh93
SYS_LIBRARIES = -lm $(DYNLIBSYSLIB) $(REGEXSYSLIB) $(ICONVSYSLIB)
#ifdef LinuxArchitecture
SYS_LIBRARIES = -lm -ldl
#endif
#ifdef HPArchitecture
EXTRA_DEFINES = -Wl,-E -Wp,-H12000
SYS_LIBRARIES = -lm -ldld
#endif
#ifdef RsArchitecture
EXTRA_DEFINES = -D_IBMRPC_
LOCAL_LDFLAGS = -bE:dtksh.exp
#endif
#ifdef SunArchitecture
.NO_PARALLEL:
SYS_LIBRARIES = -lm -lsecdb -lsocket -lnsl
#endif
DEPEND_DEFINES = $(DEPENDDEFINES)
INCLUDES = -I. -I$(KSH93SRC)/include/ast -I$(KSH93SRC)/src/cmd/ksh93/include \
-I$(KSH93SRC)/src/cmd/ksh93 $(TIRPCINC)
INCLUDES = -I. -I$(KSH93SRC)/include/ast \
-I$(KSH93SRC)/src/cmd/ksh93 \
-I$(KSH93SRC)/src/cmd/ksh93/include -I$(KSH93SRC)/src/cmd/ksh93 \
-I$(KSH93SRC)/src/lib/libast/include $(TIRPCINC)
/* DEPLIBS contains the list of library depencies for a client.
* LOCAL_LIBRARIES contains the list of libraries on the link line.
@@ -20,50 +52,24 @@ DEPLIBS = $(DEPDTHELPLIB) $(DEPDTSVCLIB) $(DEPDTWIDGETLIB) $(DEPDTPRINTLIB) \
$(KSH93SRC)/lib/libast.a
LOCAL_LIBRARIES = $(DTHELPLIB) $(DTWIDGETLIB) $(DTSVCLIB) $(DTPRINTLIB) \
$(TTLIB) $(XMLIB) $(XTOOLLIB) $(XLIB) \
$(KSH93SRC)/lib/libcmd.a $(KSH93SRC)/lib/libast.a
$(KSH93SRC)/lib/libcmd.a $(KSH93SRC)/lib/libast.a \
$(KSH93SRC)/lib/libdll.a libshell.a
SYS_LIBRARIES = -lm $(DYNLIBSYSLIB) $(REGEXSYSLIB) $(ICONVSYSLIB)
#ifdef HPArchitecture
EXTRA_DEFINES = -Wl,-E -DHPUX_DYNLIB -Wp,-H12000
SYS_LIBRARIES = -lm -ldld
#endif
#ifdef RsArchitecture
EXTRA_DEFINES = -DDYNLIB -D_IBMRPC_
LOCAL_LDFLAGS = -bE:dtksh.exp
#endif
#if defined (SunArchitecture)
EXTRA_DEFINES = -DDYNLIB
#endif
EXTRA_DEFINES = -DKSHELL -DSHOPT_RAWONLY '-DAST_VERSION=20111111'
EXTRA_INCLUDES = -I$(DTHELPSRC) -I$(DTPRINTSRC)
#ifdef SunArchitecture
.NO_PARALLEL:
#endif
SUIDEXECDEFINES = \
-DPROFILEPATH=\"$(CDE_CONFIGURATION_TOP)/config/profile\" \
-DSUIDPROFILEPATH=\"$(CDE_CONFIGURATION_TOP)/config/suid_profile\" \
-DSUIDEXECPATH=\"$(CDE_INSTALLATION_TOP)/bin/suid_exec\" \
-DCDE_INSTALLATION_TOP=\"$(CDE_INSTALLATION_TOP)\" -DBUILD_DTKSH
#ifdef LinuxArchitecture
SYS_LIBRARIES = -lm -ldl
#endif
#define IHaveSubdirs
#define PassCDebugFlags 'CDEBUGFLAGS=$(CDEBUGFLAGS)'
SUBDIRS = examples ksh93
KSH93OBJ = $(KSH93SRC)/ksh93.o
MakeSubdirs($(SUBDIRS))
KSH93LIBSHELL = $(KSH93SRC)/src/cmd/ksh93/libshell.a
KSH93LIBSHELL = $(KSH93SRC)/lib/libshell.a
PROGRAMS = dtksh
SRCS = \
userinit.c \
builtins.c \
widget.c \
SRCS = widget.c \
dtkcvt.c \
dtkcmds.c \
XtCvtrs.c \
@@ -71,12 +77,12 @@ SRCS = \
xmcmds.c \
xmwidgets.c \
extra.c \
xmdtksym.c \
findsym.c \
msgs.c
OBJS = \
$(KSH93OBJ) \
pmain.o \
init.o \
libshell.a \
widget.o \
dtkcvt.o \
@@ -86,31 +92,28 @@ OBJS = \
xmcmds.o \
xmwidgets.o \
extra.o \
xmdtksym.o \
findsym.o \
msgs.o \
$(LOCAL_LIBRARIES2)
all:: dtksh
$(KSH93SRC)/ksh93.o:
cd $(KSH93SRC); $(MAKE)
XCOMM
XCOMM Must replace standard ksh tables of builtins and aliases
XCOMM with our augmented versions.
XCOMM
libshell.a: $(KSH93SLIBSHELL) userinit.o builtins.o
libshell.a: $(KSH93LIBSHELL) init.o
$(CP) $(KSH93LIBSHELL) libshell.a; \
ar d libshell.a userinit.o builtins.o ; \
$(AR) libshell.a userinit.o builtins.o
ar d libshell.a init.o; \
$(AR) libshell.a init.o
SpecialObjectRule(userinit.o,$(NULL),-DSHOPT_VSH -DKSHELL -D_TRACE_ )
SpecialObjectRule(builtins.o,$(NULL),-DSHOPT_VSH -DKSHELL -D_TRACE_ )
pmain.o:
cd ksh93; ./bin/package flat make CCFLAGS='$(SUIDEXECDEFINES) -g -D_std_malloc'
cp ./ksh93/src/cmd/ksh93/sh/init.c init.c
patch --posix init.c -i init.patch
./setup.sh
SpecialObjectRule(init.o, $(NULL), -DSHOPT_STATS -DSHOPT_NAMESPACE -DSHOPT_2DMATCH -DSHOPT_PFSH -DSHOPT_MULTIBYTE -DSHOPT_BGX -DSHOPT_AUDIT '-D_API_ast=20100309' -D_PACKAGE_ast -DSHOPT_DYNAMIC -D_BLD_shell -DSHOPT_KIA -DKSHELL -DSHOPT_HISTEXPAND -DSHOPT_EDPREDICT -DSHOPT_ESH -DSHOPT_VSH -DSHOPT_FIXEDARRAY '-DERROR_CONTEXT_T=Error_context_t' -DSHOPT_SUID_EXEC -DSHOPT_BRACEPAT -DBUILD_DTKSH -l$(KSH93SRC)/lib/libcmd.a -l$(KSH93SRC)/lib/libast.a -l$(KSH93SRC)/lib/libdll.a)
ComplexProgramTarget($(PROGRAMS))
clean::
@echo " Cleaning ksh directories"
$(SHELL) MakeClean
cd ksh93; ./bin/package flat clean
rm -f init.c
rm -rf FEATURE

View File

@@ -1,131 +0,0 @@
#! /bin/ksh
echo
find . -name MAM.time -print -exec rm -f {} \;
echo
echo "******************"
echo
find . -name in.log -print -exec rm -f {} \;
echo
echo "******************"
echo
find . -name \*.a -print -exec rm -f {} \;
echo
echo "******************"
echo
find . -name \*.o -print -exec rm -f {} \;
echo
echo "******************"
echo
find . -name BUILT -print -exec rm -f {} \;
echo
echo "******************"
echo
find . -name ERROR -print -exec rm -f {} \;
echo
echo "******************"
echo
echo "rm ksh93/bin/*"
rm -f ksh93/bin/feature
rm -f ksh93/bin/iffe
rm -f ksh93/bin/ignore
rm -f ksh93/bin/pax
rm -f ksh93/bin/bax
rm -f ksh93/bin/pax.save
rm -f ksh93/bin/proto
rm -f ksh93/bin/silent
rm -f ksh93/bin/suid_exec
rm -f ksh93/bin/shcomp
rm -f ksh93/bin/nocom
rm -f ksh93/bin/*.old
echo
echo "rm ksh93/src/cmd/ksh93/suid_exec"
rm -f ksh93/src/cmd/ksh93/suid_exec
echo "rm ksh93/src/cmd/ksh93/shcomp"
rm -f ksh93/src/cmd/ksh93/shcomp
echo "rm ksh93/src/cmd/ksh93/ksh.msg"
rm -f ksh93/src/cmd/ksh93/ksh.msg
echo "rm ksh93/src/cmd/pax/pax"
rm -f ksh93/src/cmd/pax/pax
echo "rm ksh93/src/cmd/pax/bax"
rm -f ksh93/src/cmd/pax/bax
echo "rm ksh93/src/cmd/pax/nocom"
rm -f ksh93/src/cmd/pax/nocom
echo "rm ksh93/src/cmd/pax/cpio"
rm -f ksh93/src/cmd/pax/cpio
echo "rm ksh93/src/cmd/pax/tar"
rm -f ksh93/src/cmd/pax/tar
#echo "rm ksh93/src/lib/libcmd/cmd.h"
#rm -f ksh93/src/lib/libcmd/cmd.h
echo "rm ksh93/src/lib/libcmd/cmd.req"
rm -f ksh93/src/lib/libcmd/cmd.req
echo "rm ksh93/src/cmd/ksh"
rm -f ksh93/src/cmd/ksh
echo "rm ksh93/bin/ksh"
rm -f ksh93/bin/ksh
echo "rm ksh93/ship/shipslog/!t_gryphon_dgk"
rm -f ksh93/ship/shipslog/!t_gryphon_dgk
echo "rm ksh93/ship/shipslog/!t_gryphon_gsf"
rm -f ksh93/ship/shipslog/!t_gryphon_gsf
echo "rm ksh93/src/cmd/ksh93/FEATURE/*"
rm -f ksh93/src/cmd/ksh93/FEATURE/*
echo "mkdir ksh93/src/cmd/ksh93/FEATURE"
mkdir -p ksh93/src/cmd/ksh93/FEATURE
echo "cp /dev/null ksh93/src/cmd/ksh93/FEATURE/options"
cp /dev/null ksh93/src/cmd/ksh93/FEATURE/options
echo "cp /dev/null ksh93/src/cmd/ksh93/FEATURE/setjmp"
cp /dev/null ksh93/src/cmd/ksh93/FEATURE/setjmp
echo "cp /dev/null ksh93/src/cmd/ksh93/FEATURE/sigfeatures"
cp /dev/null ksh93/src/cmd/ksh93/FEATURE/sigfeatures
echo "cp /dev/null ksh93/src/cmd/ksh93/FEATURE/dynamic"
cp /dev/null ksh93/src/cmd/ksh93/FEATURE/dynamic
echo "mkdir ksh93/include/ast"
mkdir -p ksh93/include/ast
echo "cp /dev/null ksh93/include/ast/ast.h"
cp /dev/null ksh93/include/ast/ast.h
echo "cp /dev/null ksh93/include/ast/cmd.h"
cp /dev/null ksh93/include/ast/cmd.h
echo "cp /dev/null ksh93/include/ast/error.h"
cp /dev/null ksh93/include/ast/error.h
echo "cp /dev/null ksh93/include/ast/hash.h"
cp /dev/null ksh93/include/ast/hash.h
echo "cp /dev/null ksh93/include/ast/option.h"
cp /dev/null ksh93/include/ast/option.h
echo "cp /dev/null ksh93/include/ast/sfio.h"
cp /dev/null ksh93/include/ast/sfio.h
echo "cp /dev/null ksh93/include/ast/sig.h"
cp /dev/null ksh93/include/ast/sig.h
echo "cp /dev/null ksh93/include/ast/stak.h"
cp /dev/null ksh93/include/ast/stak.h
echo "rm ksh93/src/cmd/pax/FEATURE/*"
rm -f ksh93/src/cmd/pax/FEATURE/*
echo "rm ksh93/src/lib/libast/FEATURE/*"
rm -f ksh93/src/lib/libast/FEATURE/*
echo "rm ksh93/src/lib/libcmd/FEATURE/*"
rm -f ksh93/src/lib/libcmd/FEATURE/*
echo "rm ksh93/src/lib/libast/*.h"
rm -f ksh93/src/lib/libast/*.h
echo "rm ksh93/src/lib/libast/conf"
rm -f ksh93/src/lib/libast/conf
echo "rm ksh93/src/lib/lib0ast/hostinfo"
rm -f ksh93/src/lib/lib0ast/hostinfo
echo "rm ksh93/src/cmd/ksh93/ksh"
rm -f ksh93/src/cmd/ksh93/ksh
echo "rm ksh93/ship/SHIP*"
rm -f ksh93/ship/SHIP*
echo "rm ksh93/ship/shipfeature"
rm -f ksh93/ship/shipfeature
echo "rm ksh93/ship/shipproto"
rm -f ksh93/ship/shipproto

View File

@@ -1,5 +1,12 @@
/* $XConsortium: README-DEVELOPER /main/3 1996/07/15 14:12:13 drk $ */
(NOTE: As of CDE 2.3.1 and later, this entire document is obsolete and only kept
for historical purposes, the updating process has been streamlined to a simple
two step process:
1. cd ksh93; git pull
2. Merge upstream init.c with ours, keeping all of our changes.
and thats all there is to it.)
IMPORTANT!!! PLEASE READ ON!!
------------------------------

View File

@@ -49,11 +49,11 @@ SOFTWARE.
/* Conversion.c - implementations of resource type conversion procs */
#include <stdio.h>
#include <X11/Xlib.h>
#include <X11/Intrinsic.h>
#include <X11/IntrinsicP.h>
#include <X11/StringDefs.h>
#include "stdio.h"
#include <X11/keysym.h>
#include <X11/Xlocale.h>
#include "msgs.h"
@@ -149,7 +149,7 @@ DtkshCvtStringToPixel(
{
char * errbuf;
errmsg = GETMESSAGE(1, 1,
errmsg = GETMESSAGE(
"DtkshCvtStringToPixel: The color '%s' is not defined");
errbuf = XtMalloc(strlen(errmsg) + strlen(str) + 10);
sprintf(errbuf, errmsg, str);

View File

@@ -1,300 +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: builtins.c /main/3 1995/11/01 15:50:47 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) 1994 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 *
* {research,attmail}!dgk *
* dgk@research.att.com *
* David Korn 908-582-7975 *
* *
***************************************************************/
/* : : generated by proto : : */
#line 1
#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
#line 3
#define mount _AST_mount
#include <shell.h>
#include <signal.h>
#include "shtable.h"
#include "name.h"
#ifdef KSHELL
# include "builtins.h"
# include "jobs.h"
# include "FEATURE/cmds"
#if defined(__STDC__) || defined(__STDPP__)
# define bltin(x) (b_##x)
#else
# define bltin(x) (b_/**/x)
#endif
#line 13
#else
# define bltin(x) 0
#endif
#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"
/*
* The order up through "[" is significant
*/
const struct shtable3 shtab_builtins[] =
{
"login", NV_BLTIN|BLT_ENV|BLT_SPC, bltin(login),
"exec", NV_BLTIN|BLT_ENV|BLT_SPC, bltin(exec),
"set", NV_BLTIN|BLT_ENV|BLT_SPC, bltin(set),
":", NV_BLTIN|BLT_ENV|BLT_SPC, bltin(true),
"true", NV_BLTIN|BLT_ENV, bltin(true),
"command", NV_BLTIN|BLT_ENV|BLT_EXIT, bltin(command),
"cd", NV_BLTIN|BLT_ENV, bltin(cd),
"break", NV_BLTIN|BLT_ENV|BLT_SPC, bltin(brk_cont),
"continue", NV_BLTIN|BLT_ENV|BLT_SPC, bltin(brk_cont),
"typeset", NV_BLTIN|BLT_ENV|BLT_SPC|BLT_DCL,bltin(typeset),
"test", NV_BLTIN|BLT_ENV|NV_NOFREE, bltin(test),
"[", NV_BLTIN|BLT_ENV, bltin(test),
#ifdef _bin_newgrp
"newgrp", NV_BLTIN|BLT_ENV|BLT_SPC, bltin(login),
#endif /* _bin_newgrp */
".", NV_BLTIN|BLT_ENV|BLT_SPC, bltin(dot_cmd),
"alias", NV_BLTIN|BLT_SPC|BLT_DCL, bltin(alias),
"hash", NV_BLTIN|BLT_SPC|BLT_DCL, bltin(alias),
"exit", NV_BLTIN|BLT_ENV|BLT_SPC, bltin(ret_exit),
"export", NV_BLTIN|BLT_SPC|BLT_DCL, bltin(read_export),
"eval", NV_BLTIN|BLT_ENV|BLT_SPC|BLT_EXIT,bltin(eval),
"fc", NV_BLTIN|BLT_ENV|BLT_EXIT, bltin(hist),
"hist", NV_BLTIN|BLT_ENV|BLT_EXIT, bltin(hist),
"readonly", NV_BLTIN|BLT_ENV|BLT_SPC|BLT_DCL,bltin(read_export),
"return", NV_BLTIN|BLT_ENV|BLT_SPC, bltin(ret_exit),
"shift", NV_BLTIN|BLT_ENV|BLT_SPC, bltin(shift),
"trap", NV_BLTIN|BLT_ENV|BLT_SPC, bltin(trap),
"unalias", NV_BLTIN|BLT_ENV|BLT_SPC, bltin(unalias),
"unset", NV_BLTIN|BLT_ENV|BLT_SPC, bltin(unset),
"builtin", NV_BLTIN, bltin(builtin),
#ifdef SHOPT_ECHOPRINT
"echo", NV_BLTIN|BLT_ENV, bltin(print),
#else
"echo", NV_BLTIN|BLT_ENV, bltin(echo),
#endif /* SHOPT_ECHOPRINT */
#ifdef JOBS
# ifdef SIGTSTP
"bg", NV_BLTIN|BLT_ENV, bltin(bg_fg),
"fg", NV_BLTIN|BLT_ENV|BLT_EXIT, bltin(bg_fg),
"disown", NV_BLTIN|BLT_ENV, bltin(bg_fg),
"kill", NV_BLTIN|BLT_ENV|NV_NOFREE, bltin(kill),
# else
"/bin/kill", NV_BLTIN|BLT_ENV|NV_NOFREE, bltin(kill),
# endif /* SIGTSTP */
"jobs", NV_BLTIN|BLT_ENV, bltin(jobs),
#endif /* JOBS */
"false", NV_BLTIN|BLT_ENV, bltin(false),
"getconf", NV_BLTIN|BLT_ENV, bltin(getconf),
"getopts", NV_BLTIN|BLT_ENV, bltin(getopts),
"let", NV_BLTIN|BLT_ENV, bltin(let),
"print", NV_BLTIN|BLT_ENV, bltin(print),
"printf", NV_BLTIN|NV_NOFREE, bltin(printf),
"pwd", NV_BLTIN|NV_NOFREE, bltin(pwd),
"read", NV_BLTIN|BLT_ENV, bltin(read),
"sleep", NV_BLTIN|NV_NOFREE, bltin(sleep),
"alarm", NV_BLTIN, bltin(alarm),
"ulimit", NV_BLTIN|BLT_ENV, bltin(ulimit),
"umask", NV_BLTIN|BLT_ENV, bltin(umask),
#ifdef _cmd_universe
"universe", NV_BLTIN|BLT_ENV, bltin(universe),
#endif /* _cmd_universe */
#ifdef SHOPT_FS_3D
"vpath", NV_BLTIN|BLT_ENV, bltin(vpath_map),
"vmap", NV_BLTIN|BLT_ENV, bltin(vpath_map),
#endif /* SHOPT_FS_3D */
"wait", NV_BLTIN|BLT_ENV|BLT_EXIT, bltin(wait),
"type", NV_BLTIN|BLT_ENV, bltin(whence),
"whence", NV_BLTIN|BLT_ENV, bltin(whence),
"/bin/basename",NV_BLTIN|NV_NOFREE, bltin(basename),
"/bin/chmod", NV_BLTIN|NV_NOFREE, bltin(chmod),
"/bin/dirname", NV_BLTIN|NV_NOFREE, bltin(dirname),
"/bin/head", NV_BLTIN|NV_NOFREE, bltin(head),
"/bin/mkdir", NV_BLTIN|NV_NOFREE, bltin(mkdir),
#if defined(_usr_bin_logname) && !defined(_bin_logname)
"/usr/bin/logname", NV_BLTIN|NV_NOFREE, bltin(logname),
#else
"/bin/logname", NV_BLTIN|NV_NOFREE, bltin(logname),
#endif
"/bin/cat", NV_BLTIN|NV_NOFREE, bltin(cat),
"/bin/cmp", NV_BLTIN|NV_NOFREE, bltin(cmp),
#if defined(_usr_bin_cut) && !defined(_bin_cut)
"/usr/bin/cut", NV_BLTIN|NV_NOFREE, bltin(cut),
#else
"/bin/cut", NV_BLTIN|NV_NOFREE, bltin(cut),
#endif
"/bin/uname", NV_BLTIN|NV_NOFREE, bltin(uname),
#if defined(_usr_bin_wc) && !defined(_bin_wc)
"/usr/bin/wc", NV_BLTIN|NV_NOFREE, bltin(wc),
#else
# if defined(_usr_ucb_wc) && !defined(_bin_wc)
"/usr/ucb/wc", NV_BLTIN|NV_NOFREE, bltin(wc),
# else
"/bin/wc", NV_BLTIN|NV_NOFREE, bltin(wc),
# endif
#endif
DTK_EXTRA_TABLE
DTK_EXTRA_TABLE2
DTK_TK_EXTRA_TABLE
DTK_TK_LIST_TABLE
DTK_TK_TEXT_TABLE
"", 0, 0
};
const char sh_optalarm[] = "r [varname seconds]";
const char sh_optalias[] = "ptx [name=[value]...]";
const char sh_optbuiltin[] = "dsf:[library] [name...]";
const char sh_optcd[] = "LP [dir] [change]";
const char sh_optcflow[] = " [n]";
const char sh_optcommand[] = "pvV name [arg]...";
const char sh_optdot[] = " name [arg...]";
#ifndef ECHOPRINT
const char sh_optecho[] = " [-n] [arg...]";
#endif /* !ECHOPRINT */
const char sh_opteval[] = " [arg...]";
const char sh_optexec[] = "a:[name]c [command [args...] ]";
const char sh_optexport[] = "p [name[=value]...]";
const char sh_optgetopts[] = ":a:[name] optstring name [args...]";
const char sh_optgetconf[] = " [name [pathname] ]";
const char sh_optjoblist[] = " [job...]";
const char sh_opthist[] = "e:[editor]lnrsN# [first] [last]";
const char sh_optjobs[] = "nlp [job...]";
const char sh_optkill[] = "ln#[signum]s:[signame] sig...";
const char sh_optlet[] = " expr...";
const char sh_optprint[] = "f:[format]enprsu:[filenum] [arg...]";
const char sh_optprintf[] = " format [arg...]";
const char sh_optpwd[] = "LP";
const char sh_optread[] = "Ad:[delim]prst#[timeout]u#[filenum] [name...]";
#ifdef SHOPT_KIA
const char sh_optksh[] = "+DircabefhkmnpstuvxCR:[file]o:?[option] [arg...]";
const char sh_optset[] = "+abefhkmnpstuvxCR:[file]o:?[option]A:[name] [arg...]";
#else
const char sh_optksh[] = "+DircabefhkmnpstuvxCo:?[option] [arg...]";
const char sh_optset[] = "+abefhkmnpstuvxCo:?[option]A:[name] [arg...]";
#endif /* SHOPT_KIA */
const char sh_optsleep[] = " seconds";
const char sh_opttrap[] = "p [action condition...]";
#ifdef SHOPT_OO
const char sh_opttypeset[] = "+AC:E#?F#?H:[name]L#?R#?Z#?fi#?[base]lnprtux [name=[value]...]";
#else
const char sh_opttypeset[] = "+AE#?F#?HL#?R#?Z#?fi#?[base]lnprtux [name=[value]...]";
#endif /* SHOPT_OO */
const char sh_optulimit[] = "HSacdfmnstv [limit]";
const char sh_optumask[] = "S [mask]";
const char sh_optuniverse[] = " [name]";
const char sh_optunset[] = "fnv name...";
const char sh_optunalias[] = "a name...";
#ifdef SHOPT_FS_3D
const char sh_optvpath[] = " [top] [base]";
const char sh_optvmap[] = " [dir] [list]";
#endif /* SHOPT_FS_3D */
const char sh_optwhence[] = "afpv name...";
const char e_alrm1[] = "alarm -r %s +%.3g\n";
const char e_alrm2[] = "alarm %s %.3f\n";
const char e_badfun[] = "%s: illegal function name";
const char e_baddisc[] = "%s: invalid discipline function";
const char e_nospace[] = "out of memory";
const char e_nofork[] = "cannot fork";
const char e_nosignal[] = "%s: unknown signal name";
const char e_numeric[] = "*([0-9])?(.)*([0-9])";
const char e_condition[] = "condition(s) required";
const char e_cneedsarg[] = "-c requires argument";

View File

@@ -1,195 +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: dtextra.h /main/3 1995/11/01 15:51:46 rswiston $ */
/* Copyright (c) 1991, 1992 UNIX System Laboratories, Inc. */
/* All Rights Reserved */
/* THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF */
/* UNIX System Laboratories, Inc. */
/* The copyright notice above does not evidence any */
/* actual or intended publication of such source code. */
#ifndef _Dtksh_dtextra_h
#define _Dtksh_dtextra_h
#include "widget.h"
#include "dtkcmds.h"
#include "xmcmds.h"
/*
* CDExc17788
*
* The following corrects for a type-mismatch throughout the following
* functions with the element in the table into which they are to be
* inserted.
*/
#if defined(bltin) && ( defined(__STDC__) || defined(__STDPP__) )
#define lcl_cast(x) ((int (*)__PROTO__((int, char*[], __V_*)))x)
#else
#define lcl_cast(x) x
#endif
#define DTK_EXTRA_TABLE \
{ "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, 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 */

File diff suppressed because it is too large Load Diff

View File

@@ -50,6 +50,8 @@
#define CONVERT_POSTPONED 0
#define CONVERT_FAILED -1
#define ADDBUILTIN(a,b) sh_addbuiltin(a, ((int (*)__PROTO__((int, char*[], Shbltin_t*)))b), (void*) 0)
extern Widget Toplevel;
extern char str_nill[];
extern wtab_t * DTKSHConversionWidget;
@@ -578,90 +580,112 @@ extern void FreeNestedVariables( void ) ;
extern Namval_t * nopCreateDisc(
Namval_t *np,
char *name,
int flags,
Namfun_t *fp) ;
extern Namval_t * dftCreateDisc(
Namval_t *np,
char *name,
int flags,
Namfun_t *fp) ;
extern Namval_t * ehCreateDisc(
Namval_t *np,
char *name,
int flags,
Namfun_t *fp) ;
extern Namval_t * transCreateDisc(
Namval_t *np,
char *name,
int flags,
Namfun_t *fp) ;
extern Namval_t * scaleCreateDisc(
Namval_t *np,
char *name,
int flags,
Namfun_t *fp) ;
extern Namval_t * arrowCreateDisc(
Namval_t *np,
char *name,
int flags,
Namfun_t *fp) ;
extern Namval_t * comboCreateDisc(
Namval_t *np,
char *name,
int flags,
Namfun_t *fp) ;
extern Namval_t * cmdCreateDisc(
Namval_t *np,
char *name,
int flags,
Namfun_t *fp) ;
extern Namval_t * dAreaCreateDisc(
Namval_t *np,
char *name,
int flags,
Namfun_t *fp) ;
extern Namval_t * dbtnCreateDisc(
Namval_t *np,
char *name,
int flags,
Namfun_t *fp) ;
extern Namval_t * dtPrintSetupProcDisc(
Namval_t *np,
char *name,
int flags,
Namfun_t *fp);
extern Namval_t * fselCreateDisc(
Namval_t *np,
char *name,
int flags,
Namfun_t *fp) ;
extern Namval_t * listCreateDisc(
Namval_t *np,
char *name,
int flags,
Namfun_t *fp) ;
extern Namval_t * pbtnCreateDisc(
Namval_t *np,
char *name,
int flags,
Namfun_t *fp) ;
extern Namval_t * rcCreateDisc(
Namval_t *np,
char *name,
int flags,
Namfun_t *fp) ;
extern Namval_t * sbarCreateDisc(
Namval_t *np,
char *name,
int flags,
Namfun_t *fp) ;
extern Namval_t * swinCreateDisc(
Namval_t *np,
char *name,
int flags,
Namfun_t *fp) ;
extern Namval_t * sboxCreateDisc(
Namval_t *np,
char *name,
int flags,
Namfun_t *fp) ;
extern Namval_t * tbtnCreateDisc(
Namval_t *np,
char *name,
int flags,
Namfun_t *fp) ;
extern Namval_t * textCreateDisc(
Namval_t *np,
char *name,
int flags,
Namfun_t *fp) ;
extern Namval_t * textCreateDisc2(
Namval_t *np,
char *name,
int flags,
Namfun_t *fp) ;
extern Namval_t * helpCreateDisc(
Namval_t *np,
char *name,
int flags,
Namfun_t *fp) ;
extern int * LockKshFileDescriptors( void ) ;
extern void UnlockKshFileDescriptors(

View File

@@ -32,7 +32,7 @@
/* X includes */
#include "shell.h"
#include "shell.h"
#include <signal.h>
#include <fcntl.h>
#include <X11/X.h>
@@ -55,9 +55,7 @@
#include <Dt/Print.h>
#include "hash.h"
#include "stdio.h"
#define NO_AST
#include "dtksh.h"
#undef NO_AST
#include "xmksh.h"
#include "XtCvtrs.h"
#include "dtkcmds.h"
@@ -105,7 +103,7 @@ DtkshCvtWindowToString(
if (fval->size != sizeof(Window))
{
errmsg = strdup(GETMESSAGE(6,1,
errmsg = strdup(GETMESSAGE(
"DtkshCvtWindowToString: The 'from' value is an invalid size"));
XtWarning(errmsg);
free(errmsg);
@@ -135,7 +133,7 @@ DtkshCvtScreenToString(
if (fval->size != sizeof(Screen *))
{
errmsg = strdup(GETMESSAGE(6,14,
errmsg = strdup(GETMESSAGE(
"DtkshCvtScreenToString: The 'from' value is an invalid size"));
XtWarning(errmsg);
free(errmsg);
@@ -225,7 +223,7 @@ DtkshCvtHexIntToString(
if (fval->size != sizeof(long) && fval->size != sizeof(int) &&
fval->size != sizeof(short) && fval->size != sizeof(char))
{
errmsg = strdup(GETMESSAGE(6,2,
errmsg = strdup(GETMESSAGE(
"DtkshCvtHexIntToString: The 'from' value is an invalid size"));
XtWarning(errmsg);
free(errmsg);
@@ -257,7 +255,7 @@ DtkshCvtIntToString(
if (fval->size != sizeof(int) && fval->size != sizeof(short))
{
errmsg = strdup(GETMESSAGE(6,3,
errmsg = strdup(GETMESSAGE(
"DtkshCvtIntToString: The 'from' value is an invalid size"));
XtWarning(errmsg);
free(errmsg);
@@ -286,7 +284,7 @@ DtkshCvtBooleanToString(
if (fval->size != sizeof(int) && fval->size != sizeof(short) &&
fval->size != sizeof(char))
{
errmsg = strdup(GETMESSAGE(6,4,
errmsg = strdup(GETMESSAGE(
"DtkshCvtBooleanToString: The 'from' value is an invalid size"));
XtWarning(errmsg);
free(errmsg);
@@ -347,7 +345,7 @@ DtkshCvtStringToWidget(
if (fval->size <= 0)
{
errmsg = strdup(GETMESSAGE(6,5,
errmsg = strdup(GETMESSAGE(
"DtkshCvtStringToWidget: The 'from' value is an invalid size"));
XtWarning(errmsg);
free(errmsg);
@@ -387,7 +385,7 @@ DtkshCvtStringToWidget(
{
char errbuf[1024];
errmsg = strdup(GETMESSAGE(6,6,
errmsg = strdup(GETMESSAGE(
"DtkshCvtStringToWidget: Unable to find a widget named '%s'"));
sprintf(errbuf, errmsg, wname);
XtWarning(errbuf);
@@ -414,7 +412,7 @@ DtkshCvtStringToCallback(
if (fval->size <= 0)
{
errmsg = strdup(GETMESSAGE(6,7,
errmsg = strdup(GETMESSAGE(
"DtkshCvtStringToCallback: The 'from' value is an invalid size"));
XtWarning(errmsg);
free(errmsg);
@@ -451,7 +449,7 @@ DtkshCvtCallbackToString(
if (fval->size != sizeof(XtCallbackList))
{
errmsg = strdup(GETMESSAGE(6,8,
errmsg = strdup(GETMESSAGE(
"DtkshCvtCallbackToString: The 'from' value is an invalid size"));
XtWarning(errmsg);
free(errmsg);
@@ -508,7 +506,7 @@ DtkshCvtWidgetToString(
if (fval->size != sizeof(Widget) || fval->addr == NULL)
{
errmsg = strdup(GETMESSAGE(6,9,
errmsg = strdup(GETMESSAGE(
"DtkshCvtWidgetToString: The 'from' value is an invalid size"));
XtWarning(errmsg);
free(errmsg);
@@ -525,7 +523,7 @@ DtkshCvtWidgetToString(
}
if ((w = widget_to_wtab(widget)) == NULL)
{
errmsg = strdup(GETMESSAGE(6,10,
errmsg = strdup(GETMESSAGE(
"DtkshCvtWidgetToString: Unable to find a name for the widget"));
XtWarning(errmsg);
free(errmsg);
@@ -646,7 +644,7 @@ DtkshCvtWidgetClassToString(
if (fval->size != sizeof(WidgetClass))
{
errmsg = strdup(GETMESSAGE(6,11,
errmsg = strdup(GETMESSAGE(
"DtkshCvtWidgetClassToString: The 'from' value is an invalid size"));
XtWarning(errmsg);
free(errmsg);
@@ -673,7 +671,7 @@ DtkshCvtWidgetClassToString(
}
/* No match found */
errmsg = strdup(GETMESSAGE(6,12,
errmsg = strdup(GETMESSAGE(
"DtkshCvtWidgetClassToString: Unknown widget class"));
XtWarning(errmsg);
free(errmsg);
@@ -717,7 +715,7 @@ DtkshCvtStringToWidgetClass(
}
/* No match found */
errmsg = strdup(GETMESSAGE(6,13,
errmsg = strdup(GETMESSAGE(
"DtkshCvtStringToWidgetClass: Unknown widget class name"));
XtWarning(errmsg);
free(errmsg);

View File

@@ -33,10 +33,6 @@
#ifndef _Dtksh_dtksh_h
#define _Dtksh_dtksh_h
#if !defined(NO_AST)
#include "nval.h"
#endif
#define SUCCESS 0
#define FAIL (-1)

0
cde/programs/dtksh/examples/CallDataTest4.src Executable file → Normal file
View File

0
cde/programs/dtksh/examples/CallbackTest2.src Executable file → Normal file
View File

0
cde/programs/dtksh/examples/DtCursorTest2.src Executable file → Normal file
View File

0
cde/programs/dtksh/examples/DtWsTest1.src Executable file → Normal file
View File

0
cde/programs/dtksh/examples/EventHandlerTest.src Executable file → Normal file
View File

View File

@@ -1,31 +1,30 @@
XCOMM $XConsortium: Imakefile /main/4 1996/04/21 19:30:42 drk $
DESKTOP_VERSION_STRING = DesktopVersionString
MODULE=dtksh/examples
LOCAL_CPP_DEFINES = -DCDE_INSTALLATION_TOP=$(CDE_INSTALLATION_TOP)
LOCAL_CPP_DEFINES = -DCDE_INSTALLATION_TOP=$(CDE_INSTALLATION_TOP) \
-DCDE_CONFIGURATION_TOP=$(CDE_CONFIGURATION_TOP)
PROGRAMS = CallDataTest4 CallbackTest2 DtCursorTest2 DtWsTest1 \
EventHandlerTest ListBounds1 ListItemPos1 ListPosSel1 PopupTest \
SelBoxResTest SessionTest TextCutBuf1 TextDisp1 TextFXYPos1 \
TransEventTest TransTest1 WorkProcTest1 XdrawTest crMovesText1
CppSourceFile(CallDataTest4,CallDataTest4.src,$(LOCAL_CPP_DEFINES),)
CppSourceFile(CallbackTest2,CallbackTest2.src,$(LOCAL_CPP_DEFINES),)
CppSourceFile(DtCursorTest2,DtCursorTest2.src,$(LOCAL_CPP_DEFINES),)
CppSourceFile(DtWsTest1,DtWsTest1.src,$(LOCAL_CPP_DEFINES),)
CppSourceFile(EventHandlerTest,EventHandlerTest.src,$(LOCAL_CPP_DEFINES),)
CppSourceFile(ListBounds1,ListBounds1.src,$(LOCAL_CPP_DEFINES),)
CppSourceFile(ListItemPos1,ListItemPos1.src,$(LOCAL_CPP_DEFINES),)
CppSourceFile(ListPosSel1,ListPosSel1.src,$(LOCAL_CPP_DEFINES),)
CppSourceFile(PipeTest,PipeTest.src,$(LOCAL_CPP_DEFINES),)
CppSourceFile(PopupTest,PopupTest.src,$(LOCAL_CPP_DEFINES),)
CppSourceFile(SelBoxResTest,SelBoxResTest.src,$(LOCAL_CPP_DEFINES),)
CppSourceFile(SessionTest,SessionTest.src,$(LOCAL_CPP_DEFINES),)
CppSourceFile(TextCutBuf1,TextCutBuf1.src,$(LOCAL_CPP_DEFINES),)
CppSourceFile(TextDisp1,TextDisp1.src,$(LOCAL_CPP_DEFINES),)
CppSourceFile(TextFXYPos1,TextFXYPos1.src,$(LOCAL_CPP_DEFINES),)
CppSourceFile(TransEventTest,TransEventTest.src,$(LOCAL_CPP_DEFINES),)
CppSourceFile(TransTest1,TransTest1.src,$(LOCAL_CPP_DEFINES),)
CppSourceFile(WorkProcTest1,WorkProcTest1.src,$(LOCAL_CPP_DEFINES),)
CppSourceFile(XCursorTest1,XCursorTest1.src,$(LOCAL_CPP_DEFINES),)
CppSourceFile(XdrawTest,XdrawTest.src,$(LOCAL_CPP_DEFINES),)
CppSourceFile(crMovesText1,crMovesText1.src,$(LOCAL_CPP_DEFINES),)
all:: $(PROGRAMS)
all::
CppScriptTarget(CallDataTest4,CallDataTest4.src,$(LOCAL_CPP_DEFINES),)
CppScriptTarget(CallbackTest2,CallbackTest2.src,$(LOCAL_CPP_DEFINES),)
CppScriptTarget(DtCursorTest2,DtCursorTest2.src,$(LOCAL_CPP_DEFINES),)
CppScriptTarget(DtWsTest1,DtWsTest1.src,$(LOCAL_CPP_DEFINES),)
CppScriptTarget(EventHandlerTest,EventHandlerTest.src,$(LOCAL_CPP_DEFINES),)
CppScriptTarget(ListBounds1,ListBounds1.src,$(LOCAL_CPP_DEFINES),)
CppScriptTarget(ListItemPos1,ListItemPos1.src,$(LOCAL_CPP_DEFINES),)
CppScriptTarget(ListPosSel1,ListPosSel1.src,$(LOCAL_CPP_DEFINES),)
CppScriptTarget(PopupTest,PopupTest.src,$(LOCAL_CPP_DEFINES),)
CppScriptTarget(SelBoxResTest,SelBoxResTest.src,$(LOCAL_CPP_DEFINES),)
CppScriptTarget(SessionTest,SessionTest.src,$(LOCAL_CPP_DEFINES),)
CppScriptTarget(TextCutBuf1,TextCutBuf1.src,$(LOCAL_CPP_DEFINES),)
CppScriptTarget(TextDisp1,TextDisp1.src,$(LOCAL_CPP_DEFINES),)
CppScriptTarget(TextFXYPos1,TextFXYPos1.src,$(LOCAL_CPP_DEFINES),)
CppScriptTarget(TransEventTest,TransEventTest.src,$(LOCAL_CPP_DEFINES),)
CppScriptTarget(TransTest1,TransTest1.src,$(LOCAL_CPP_DEFINES),)
CppScriptTarget(WorkProcTest1,WorkProcTest1.src,$(LOCAL_CPP_DEFINES),)
CppScriptTarget(XdrawTest,XdrawTest.src,$(LOCAL_CPP_DEFINES),)
CppScriptTarget(crMovesText1,crMovesText1.src,$(LOCAL_CPP_DEFINES),)

0
cde/programs/dtksh/examples/ListBounds1.src Executable file → Normal file
View File

0
cde/programs/dtksh/examples/ListItemPos1.src Executable file → Normal file
View File

0
cde/programs/dtksh/examples/ListPosSel1.src Executable file → Normal file
View File

View File

@@ -1,43 +0,0 @@
XCOMM! CDE_INSTALLATION_TOP/bin/dtksh
XCOMM $XConsortium: PipeTest.src /main/3 1996/04/23 20:18:30 drk $
XCOMM #########################################################################
XCOMM (c) Copyright 1993, 1994 Hewlett-Packard Company
XCOMM (c) Copyright 1993, 1994 International Business Machines Corp.
XCOMM (c) Copyright 1993, 1994 Sun Microsystems, Inc.
XCOMM (c) Copyright 1993, 1994 Unix System Labs, Inc., a subsidiary of
XCOMM Novell, Inc.
XCOMM #########################################################################
XCOMM
XCOMM This sample shell script demonstrates some of the more advanced features
XCOMM of dtksh. It shows how a structure can be defined and accessed, and
XCOMM how a C library function can be called.
XCOMM
XCOMM Define a structure made up of 2 integer fields: pipe_in and pipe_out
struct pipe_fds pipe_in:int pipe_out:int
typedef 'struct pipe_fds *' pipe_fds_ptr
echo "Test 1"
XCOMM Malloc space for the structure, and initialize the fields
call -F nop '@pipe_fds_ptr:{0,0}'
PIPE_FDS=$RET
XCOMM Call the pipe(2) kernel intrinsic
call pipe $PIPE_FDS
RESULT=$RET
XCOMM Print the values of the fields in the structure
call strprint pipe_fds_ptr $PIPE_FDS
echo RESULT = $RESULT
echo
XCOMM Repeat the test, to make sure we get different file descriptors
echo "Test 2"
call -F nop '@pipe_fds_ptr:{0,0}'
PIPE_FDS=$RET
call pipe $PIPE_FDS
RESULT=$RET
call strprint pipe_fds_ptr $PIPE_FDS
echo RESULT = $RESULT
echo

0
cde/programs/dtksh/examples/PopupTest.src Executable file → Normal file
View File

0
cde/programs/dtksh/examples/SelBoxResTest.src Executable file → Normal file
View File

0
cde/programs/dtksh/examples/SessionTest.src Executable file → Normal file
View File

0
cde/programs/dtksh/examples/TextCutBuf1.src Executable file → Normal file
View File

0
cde/programs/dtksh/examples/TextDisp1.src Executable file → Normal file
View File

0
cde/programs/dtksh/examples/TextFXYPos1.src Executable file → Normal file
View File

0
cde/programs/dtksh/examples/TransEventTest.src Executable file → Normal file
View File

0
cde/programs/dtksh/examples/TransTest1.src Executable file → Normal file
View File

0
cde/programs/dtksh/examples/WorkProcTest1.src Executable file → Normal file
View File

View File

@@ -1,63 +0,0 @@
XCOMM! CDE_INSTALLATION_TOP/bin/dtksh
XCOMM $XConsortium: XCursorTest1.src /main/3 1996/04/23 20:19:21 drk $
XCOMM #########################################################################
XCOMM (c) Copyright 1993, 1994 Hewlett-Packard Company
XCOMM (c) Copyright 1993, 1994 International Business Machines Corp.
XCOMM (c) Copyright 1993, 1994 Sun Microsystems, Inc.
XCOMM (c) Copyright 1993, 1994 Unix System Labs, Inc., a subsidiary of
XCOMM Novell, Inc.
XCOMM #########################################################################
XCOMM
XCOMM This sample shell script demonstrates how the 'call' command can be used
XCOMM to obtain an 'X' cursor, and then how that cursor can be set for a
XCOMM widget hierarchy.
XCOMM
XCOMM Pushbutton Callback: set the cursor for the widget hierarchy
DefineCursor()
{
XDefineCursor $(XtDisplay "-" $TOPLEVEL) $(XtWindow "-" $TOPLEVEL) $CURSOR
}
XCOMM Pushbutton Callback: unset the cursor for the widget hierarchy
UndefineCursor()
{
XUndefineCursor $(XtDisplay "-" $TOPLEVEL) $(XtWindow "-" $TOPLEVEL)
}
XCOMM ###################### Create the Main UI ###############################
XtInitialize TOPLEVEL xCursorTest XCursorTest "$0" "$@"
XtSetValues $TOPLEVEL allowShellResize:True
XtCreateManagedWidget DA da XmDrawingArea $TOPLEVEL
XtSetValues $DA height:200 width:200
XtRealizeWidget $TOPLEVEL
XtCreateApplicationShell TOPLEVEL2 xCursorTesta TopLevelShell
XtCreateManagedWidget RC rc XmRowColumn $TOPLEVEL2 \
orientation:HORIZONTAL \
numColumns:2 \
packing:PACK_COLUMN
XtCreateManagedWidget PB1 pb1 XmPushButton $RC \
labelString:"Define Cursor"
XtAddCallback $PB1 activateCallback "DefineCursor"
XtCreateManagedWidget PB2 pb2 XmPushButton $RC \
labelString:"Undefine Cursor"
XtAddCallback $PB2 activateCallback "UndefineCursor"
XCOMM Call the X function for getting a cursor
call XCreateFontCursor $(XtDisplay "-" $TOPLEVEL) 10
CURSOR=$RET
echo "Cursor = "$CURSOR
XtRealizeWidget $TOPLEVEL2
XtMainLoop

0
cde/programs/dtksh/examples/XdrawTest.src Executable file → Normal file
View File

View File

@@ -1,240 +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: exksh.h /main/3 1995/11/01 15:54:01 rswiston $ */
/* "%W%" */
/* Copyright (c) 1991, 1992 UNIX System Laboratories, Inc. */
/* All Rights Reserved */
/* THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF */
/* UNIX System Laboratories, Inc. */
/* The copyright notice above does not evidence any */
/* actual or intended publication of such source code. */
#ifndef _Dtksh_exksh_h
#define _Dtksh_exksh_h
#include <sys/types.h>
#ifndef SYMS_ONLY
#define SH_FAIL 1
#define SH_SUCC 0
#define PRSYMBOLIC 1
#define PRMIXED 2
#define PRDECIMAL 4
#define PRHEX 8
#define PRMIXED_SYMBOLIC 16
#define PRNAMES 32
#define UPP(CH) (islower(CH) ? toupper(CH) : (CH))
#define C_PAIR(STR, CH1, CH2) (((STR)[0] == (CH1)) && ((STR)[1] == (CH2)))
#define XK_USAGE(X) return(xk_usage(X), SH_FAIL);
/* In the future, this will require following pointers, unless we
** can always trace back types to typedefs. For example, unsigned long is
** a typedef, but it is simple because it is really just a long.
*/
#define IS_SIMPLE(TBL) ((TBL)->flags & F_SIMPLE)
#ifndef N_DEFAULT /* From name.h */
/* Stolen out of include/name.h, the problems of including things
** out of the ksh code is major. Hence, the copy rather than the
** include.
*/
struct Bfunction {
long (*f_vp)(); /* value function */
long (*f_ap)(); /* assignment function */
};
#endif /* N_DEFAULT: From name.h */
#define ALLDATA INT_MAX
#define BIGBUFSIZ (10 * BUFSIZ)
#define IN_BAND 1
#define OUT_BAND 2
#define NEW_PRIM 4
struct fd {
int vfd;
int flags;
char mode;
struct strbuf *lastrcv;
int rcvcount;
int sndcount;
int uflags;
};
struct vfd {
int fd;
};
extern struct fd *Fds;
extern struct vfd *Vfds;
struct libdesc {
char *name;
void *handle;
};
struct libstruct {
char *prefix;
int nlibs;
struct libdesc *libs;
};
#ifndef OSI_LIB_CODE
#define PARPEEK(b, s) (((b)[0][0] == s[0]) ? 1 : 0 )
#define PAREXPECT(b, s) (((b)[0][0] == s[0]) ? 0 : -1 )
#define OFFSET(T, M) ((int)(&((T)NULL)->M))
typedef char *string_t;
/*
* Structures for driving generic print/parse/copy/free routines
*/
typedef struct memtbl {
char *name; /* name of the member */
char *tname; /* name of the typedef */
char kind; /* kind of member, see #defines below */
char flags; /* flags for member, see #defines below */
short tbl; /* -1 or index into ASL_allmems[] array */
short ptr; /* number of "*" in front of member */
short subscr; /* 0 if no subscript, else max number of elems */
short delim; /* 0 if no length delim, +1 if next field, -1 if prev */
short id; /* Id of the ASL in which this def is made */
short offset; /* offset into the C structure */
short size; /* size of this member, for easy malloc'ing */
long choice; /* def of tag indicating field chosen for unions */
} memtbl_t;
struct envsymbols {
char *name;
int id;
int (*parsefunc)();
int (*printfunc)();
char *tname;
int intlike;
int string;
int topptr;
int valbits;
struct {
char *name;
unsigned long val;
int cover;
} vals[64];
};
/*
* Definitions for the kind field of the above structure
*/
#define K_CHAR (0) /* char or unchar */
#define K_SHORT (1) /* short or ushort */
#define K_INT (2) /* int or uint */
#define K_LONG (3) /* long, unsigned long, PRIM, etc. */
#define K_STRING (4) /* char * or char [] */
#define K_OBJID (5) /* objid_t *, note the star is included */
#define K_ANY (6) /* any_t */
#define K_STRUCT (7) /* struct { } */
#define K_UNION (8) /* union { } */
#define K_TYPEDEF (9) /* typedef */
#define K_DSHORT (10) /* short delimiter */
#define K_DINT (11) /* int delimiter */
#define K_DLONG (12) /* long delimiter */
/*
* Definitions for the flags field of the above structure, bitmask
*/
#define F_SIMPLE (1) /* simple, flat type */
#define F_FIELD (2) /* memtbl is a field of a structure, not the
name of a type */
#define F_TBL_IS_PTR (4) /* tbl field is pointer, not number; */
#define F_TYPE_IS_PTR (8) /* type is built-in, but is already a pointer, like K_STRING */
#define SUCCESS 0
#define FAIL (-1)
#define TRUE 1
#define FALSE 0
/* The following macro, RIF, stands for Return If Fail. Practically
* every line of encode/decode functions need to do this, so it aids
* in readability.
*/
#define RIF(X) do { if ((X) == FAIL) return(FAIL); } while(0)
#endif /* not OSI_LIB_CODE */
#if !defined(OSI_LIB_CODE) || defined(NEED_SYMLIST)
struct symlist {
struct memtbl tbl;
int isflag;
int nsyms;
struct symarray *syms;
};
#endif
#define DYNMEM_ID (1)
#define BASE_ID (2)
#define ALTPUTS(STR) puts(STR)
#ifndef NULL
#define NULL (0)
#endif
#ifdef SPRINTF_RET_LEN
#define lsprintf sprintf
#endif
#define MAX_CALL_ARGS 15
#define TREAT_SIMPLE(TBL) ((TBL)->ptr || IS_SIMPLE(TBL))
#ifdef EXKSH_INCLUDED
#define XK_PRINT(ARG1, ARG2, ARG3, ARG4, ARG5, ARG6, ARG7) (_Delim = 0, xk_print(ARG1, ARG2, ARG3, ARG4, ARG5, ARG6, ARG7))
#define XK_PARSE(ARG1, ARG2, ARG3, ARG4, ARG5, ARG6, ARG7) (_Delim = 0, xk_parse(ARG1, ARG2, ARG3, ARG4, ARG5, ARG6, ARG7))
#define XK_FREE(ARG1, ARG2, ARG3, ARG4, ARG5) (_Delim = 0, xk_free(ARG1, ARG2, ARG3, ARG4, ARG5))
#endif
#define NOHASH 1
#define TYPEONLY 2
#define STRUCTONLY 4
#endif /* not SYMS_ONLY */
struct symarray {
const char *str;
unsigned long addr;
};
#endif /* _Dtksh_exksh_h */
/* DON'T ADD ANYTHING AFTER THIS #endif */

View File

@@ -70,7 +70,7 @@ int
ksh_eval(
char *cmd )
{
sh_eval(sfopen(NIL(Sfile_t*),cmd,"s"),0);
sh_eval(sfopen(NIL(Sfio_t*),cmd,"s"),0);
sfsync(sh.outpool);
return(sh.exitval);
}
@@ -154,3 +154,73 @@ printerrf(
else
printf("%s\n", buf);
}
/****************************************************************************
*
* The following two functions are ugly, but necessary. Ksh reserves file
* descriptors 0 - 9 for use by shell scripts, and has intimate knowledge
* of how and when they were opened. Unfortunately, certain dtksh functions
* (XtInitialize, catopen, ttdt_open, _DtActionInvoke, others) open file
* descriptors which are not known to ksh. We can't let these file
* descriptors fall in the 0 - 9 range, because we can't afford to have
* the shell script overriding our file descriptors. Therefore, any of
* our commands which open files must first lock our file descriptors 0 - 9,
* thus forcing the command to get a file descriptor out of the shell's
* range. After the command has opened its file descriptor, it then needs
* to unlock file descriptors 0 - 9, so that the shell script will have
* access to them again.
*
**************************************************************************/
/*
* Return a list of the file descriptors we had to open, to lock out file
* descriptors 0 - 9; this list should be freed (and the file descriptors
* closed) by calling UnlockkshFileDescriptors().
*/
int *LockKshFileDescriptors(void)
{
int * fdList;
int i;
int fd, newfd;
fdList = (int *)malloc(sizeof(int) * 10);
for (i = 0; i < 10; i++)
fdList[i] = -1;
if ((fd = open("/dev/null", O_RDONLY)) >= 0)
{
if (fd < 10)
{
fdList[0] = fd;
for (i = 1; i < 10; i++)
{
if ((newfd = dup(fd)) < 10)
fdList[i] = newfd;
else
{
close(newfd);
break;
}
}
}
else
close(fd);
}
return(fdList);
}
void UnlockKshFileDescriptors(int *fdList)
{
int i;
for (i = 0; i < 10; i++)
{
if (fdList[i] != (-1))
close(fdList[i]);
}
free((char *)fdList);
}

View File

@@ -30,74 +30,42 @@
/* The copyright notice above does not evidence any */
/* actual or intended publication of such source code. */
#include "shell.h"
#include "stdio.h"
#include <sys/types.h>
#ifdef DYNLIB
#ifdef __aix
#include <sys/ldr.h>
#else
#include <dlfcn.h>
#endif
/* from ksh93/include/ast/shell.h */
extern void **sh_getliblist(void);
#endif
#ifdef HPUX_DYNLIB
#include <dl.h>
#endif
#include <string.h>
#include <search.h>
#include <ctype.h>
#include "xmdtksym.h"
#include "msgs.h"
/*
* This function is currently only used to locate a widget class record,
* as requested by a DtLoadWidget request. In the future, if the exksh
* commands are ever added back in, then it will also need to be able
* to locate any arbitrary symbol.
* as requested by a DtLoadWidget request.
*/
unsigned long
void *
fsym(
char *str,
int lib )
{
#ifdef DYNLIB
void ** liblist;
int i = 0;
long addr;
#endif
#ifdef HPUX_DYNLIB
void *found;
shl_t handle;
#endif
void * addr;
#ifdef DYNLIB
if ((liblist = sh_getliblist()) == NULL)
return(NULL);
while (liblist[i])
if (liblist == NULL)
return (NULL);
while (liblist[i].dll)
{
if (addr = dlsym(liblist[i], str))
return((unsigned long)addr);
if (addr = dlsym(liblist[i].dll, str))
return(addr);
i++;
}
#else
#ifdef HPUX_DYNLIB
handle = NULL;
if ((shl_findsym(&handle, str, TYPE_PROCEDURE, &found)) == 0)
return((unsigned long) found);
if ((shl_findsym(&handle, str, TYPE_DATA, &found)) == 0)
return((unsigned long) found);
handle = PROG_HANDLE;
if ((shl_findsym(&handle, str, TYPE_PROCEDURE, &found)) == 0)
return((unsigned long) found);
if ((shl_findsym(&handle, str, TYPE_DATA, &found)) == 0)
return((unsigned long) found);
#endif
#endif
return(0);
}

View File

@@ -0,0 +1,47 @@
--- ./ksh93/src/cmd/ksh93/sh/init.c 2021-01-16 15:27:03.589079734 -0600
+++ init.c 2021-01-16 15:53:50.700864511 -0600
@@ -48,6 +48,28 @@
#include "lexstates.h"
#include "version.h"
+#ifdef BUILD_DTKSH
+#include <Dt/DtNlUtils.h>
+#include <Dt/EnvControlP.h>
+#include <X11/X.h>
+#include <X11/Intrinsic.h>
+#include <X11/IntrinsicP.h>
+#include <X11/CoreP.h>
+#include <X11/StringDefs.h>
+#include <Xm/XmStrDefs.h>
+#include <Xm/Xm.h>
+#include <Xm/Protocols.h>
+
+#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
+
#if _hdr_wctype
#include <ast_wchar.h>
#include <wctype.h>
@@ -1481,6 +1503,16 @@
shp->exittrap = 0;
shp->errtrap = 0;
shp->end_fn = 0;
+#ifdef BUILD_DTKSH
+ int * lockedFds = LockKshFileDescriptors();
+ (void) XtSetLanguageProc((XtAppContext)NULL, (XtLanguageProc)NULL,
+ (XtPointer)NULL);
+ DtNlInitialize();
+ _DtEnvControl(DT_ENV_SET);
+ UnlockKshFileDescriptors(lockedFds);
+
+ dtksh_init();
+#endif
return(shp);
}

View File

@@ -1,73 +0,0 @@
XCOMM $XConsortium: Imakefile /main/7 1996/05/09 17:33:38 drk $
LOCAL_LIBRARIES =
SRCS =
SUBCFLAGS = -O
UFLAGS = $(SUBCFLAGS)
ULDFLAGS =
IFFECDEBUGFLAGS = -O0
#ifdef RsArchitecture
CCFLAGS = CCFLAGS=" "
#else
CCFLAGS =
#endif
#ifdef SunArchitecture
.NO_PARALLEL:
#endif /* SunArchitecture */
FORCE_SHIP = -F
MALLOCOBJ =
KSHSRC = ./src/cmd/ksh93
KSHLIBS = \
$(KSHSRC)/../../lib/libcmd/libcmd.a
KSH_OBJS = \
$(KSHSRC)/main.o \
$(KSHSRC)/timers.o \
$(KSHLIBS)
OBJS = $(KSH_OBJS) $(KSH_LIBS)
SUIDEXECDEFINES = \
-DPROFILEPATH=\"$(CDE_CONFIGURATION_TOP)/config/profile\" \
-DSUIDPROFILEPATH=\"$(CDE_CONFIGURATION_TOP)/config/suid_profile\" \
-DSUIDEXECPATH=\"$(CDE_INSTALLATION_TOP)/bin/suid_exec\" \
-DCDE_INSTALLATION_TOP=\"$(CDE_INSTALLATION_TOP)\"
CCFLAGS = $(CDEBUGFLAGS) $(SUIDEXECDEFINES) $(STD_DEFINES) $(ANSI_DEFINES)
ICCFLAGS = $(IFFECDEBUGFLAGS) $(STD_DEFINES) $(ANSI_DEFINES)
all:: ksh93src ksh93.o
XCOMM
XCOMM A temporary hack until we get Imakefiles in the base of ksh-93.
XCOMM
XCOMM We test for presense of /bin/ksh because on HP/UX there is a
XCOMM limitation in the size of environment variables that prevents the
XCOMM ksh-93 build scripts from functioning. That will be worked around
XCOMM in a near future release of ksh-93 as well, but then again this
XCOMM whole target will change anyway.
XCOMM
SHIP_DIR = ship
ALL_SUBS = *
ksh93src:
$(RM) $(SHIP_DIR)/$(ALL_SUBS)/$(ALL_SUBS)/BUILT; \
SHELL=$(KORNSHELL) CC="$(CC)" CCFLAGS="$(CCFLAGS)" ICCFLAGS="$(ICCFLAGS)" $(KORNSHELL) ship/shipin $(FORCE_SHIP)
ksh93.o: $(OBJS)
$(LD) -r -o $@ $(OBJS)
clobber:: clobmine
clobmine:
$(RM) -f libksh93.a
depend::
install::

View File

@@ -1,154 +0,0 @@
/* $XConsortium: README /main/2 1996/07/15 14:13:29 drk $ */
Software shipment information. [better documentation forthcoming ...]
All files and directories, except for those in /var/spool/uucppublic,
are rooted at the shipment/installation directory named by
$INSTALLROOT. The $INSTALLROOT hierarchy is similar to the System V
/usr hierarchy.
The $INSTALLROOT/ship subdirectory is automatically maintained by
shipin and shipout. If you expect to receive future shipments then
do not change files in this directory.
pax is the Bell Labs implementation of the proposed POSIX (01/90)
portable archive interchange command. The default output format is
`cpio -c'. The pax delta format is a Bell Labs extension.
The following assumes:
INSTALLROOT=<path name of software installation root directory>
After each shipment:
<follow specific shipment instructions>
cd $INSTALLROOT
ship/shipin
`ship/shipin -n' shows actions but does not unbundle or build.
`ship/shipin -s <dir>' unbundles from <dir> rather than /var/spool/uucppublic.
`ship/shipin -u' unbundles the shipment but does not build.
`ship/shipin -i' copies from spool area but does not unbundle or build.
`ship/shipin -E' rebuild components that failed last time (use after fixes).
Any non-option arguments to shipin are passed as arguments to the
generating make or shell script for each component.
To pass the shipment to another machine (requires ksh):
# rcp # TO=host:ship
# uucp # TO=machine!user
# list of files # TO=%list
# remote dk pull script # TO=%pull
cd $INSTALLROOT
ship/shipin -i # if not installed on this machine
cd ship
shipout $TO
{rcp,uucp} initiate copies whereas {list,pull} generate information on
stdout. {uucp} copies to an intermediate spool area on the other machine
whereas {rcp,list,pull} are relative to $INSTALLROOT on the other machine.
To copy a command <cmd> from $INSTALLROOT to a new root you must copy:
$INSTALLROOT/bin/<cmd>
$INSTALLROOT/lib/<cmd>
to the new root directory for all interdependent <cmd>'s. Depending on
<cmd>, only one of the above files/directories may exist.
Be sure to maintain a different $INSTALLROOT for each machine architecture.
If the same $INSTALLROOT/ship must be reused for a different architecture
then delete everything except ship from $INSTALLROOT and run ship/shipin -F.
An alternative would be to use nmake and optionally 3d to viewpath a new
architecture hierarchy on top of $INSTALLROOT. In this case nmake would
be run from within the $INSTALLROOT/src/(cmd|lib) hierarchy.
The files below may appear on the shipment side, the installation side,
or both. <installer-login> and <shipper-system> are defined in the
shipment mail announcement.
Each shipment is identified by a two part version number [R]YYMMDD
R release -- if specified then it must match for compatibility
YYMMDD shipment year, month and day number
/var/spool/uucppublic/<installer-login>/<shipper-system> directory hierarchy:
<shipper-login>.<YYMMDD> shipment control directory
<shipper-login>.<YYMMDD>/manifest list of all files in shipment
$INSTALLROOT directory hierarchy:
bin/ executable binaries and scripts
include/ common header files
lib/ object archives a common data
man/ man page subtree
man1/ command man pages
man3/ library man pages
man8/ adminstration and maintenance man pages
src/ source subtree
cmd/ command source
lib/ library source
ship/ shipment and installation info
$INSTALLROOT/ship contents:
README installation info
!<mach_user> shipment installation message for machine!user
ship.body optional shipment announcement main body
ship.head optional shipment announcement header
ship.tail optional shipment announcement trailer
shipcost show relative cost of delta/update shipment
shipcrate crate all components for shipout
shipin unbundle, build and install shipment
shiplist shipout using name-tool list
shipop shipin/shipout support executable
shipout split and send shipment
shipslog shipment log and recipient address info
shipswab clean old stuff from the ship area
shipyard shipment support tools component name
lib* library components
* command components
$INSTALLROOT/ship/<component> contents:
<[R]YYMMDD> information for the <[R]YYMMDD> shipment
base link to the newest pax base archive
delta link to the newest pax delta archive
in.log shipin log
items required components (excluding this one)
list optional list of persons to send to
message optional message to include in shipment announcement
owner mail address for installation report
release the the current shipment release number
report optional list of $INSTALLROOT relative files to report
$INSTALLROOT/ship/<component>/<[R]YYMMDD> contents:
<[R]YYMMDD> pax delta archive for ../[R]YYMMDD/base
<[R]YYMMDD>.<NNN> delta archive split for uucp
BUILT present if release build succeeded
ERROR present if release build failed
GENERATED present if base archive was generated from a delta
UNCRATED present if release uncrate succeeded
base pax base archive
base.<NNN> base archive split for uucp
items items for this release
message message for this release
owner owner for this release
report report for this release
Each component $NAME is extracted into either $INSTALLROOT/src/lib/$NAME
or $INSTALLROOT/src/cmd/$NAME. The following are attempted, in order,
to build and install $NAME under $INSTALLROOT:
$INSTALLROOT/bin/nmake -f Makefile install
mamexec install < Mamfile # mamexec is built into ship/shipin
make -f makefile install
sh Makescript
where Mamfile, Makescript and makefile are usually generated from the
corresponding nmake Makefile.
Glenn Fowler ulysses!gsf
David Korn ulysses!dgk

View File

@@ -1,5 +0,0 @@
AT&T Bell Laboratories
Advanced Software Technology Department
{ulysses,attmail}!dgk
dgk@ulysses.att.com
David Korn 908-582-7975

View File

@@ -1 +0,0 @@
libcmd libast

View File

@@ -1 +0,0 @@
liszt!easy!liszt!easy!usl!att!gryphon!dgk

View File

@@ -1,5 +0,0 @@
AT&T Bell Laboratories
Advanced Software Technology Department
{ulysses,attmail}!dgk
dgk@ulysses.att.com
David Korn 908-582-7975

View File

@@ -1 +0,0 @@
libcmd libast

View File

@@ -1 +0,0 @@
liszt!easy!liszt!easy!usl!att!gryphon!dgk

View File

@@ -1,5 +0,0 @@
AT&T Bell Laboratories
Advanced Software Technology Department
{research,attmail}!dgk
dgk@research.att.com
David Korn 908-582-7975

View File

@@ -1 +0,0 @@
libcmd libast

View File

@@ -1,32 +0,0 @@
The is the fourth point release for ksh-93. The RELEASEa
file contains a list of changes since the first release for ksh-93.
The file RELEASE lists the major changes since ksh-88. I have updated
the man page, sh.1, and the introductory memo, sh.memo. I have also
started to write a guideline for adding runtime builtins, builtins.mm.
This release should correspond very closely to the information in the
New KornShell Command and Programming Language book, by Bolsky
and Korn.
This official release is being distributed and supported by the
Software Technology Center. They are the distributor of
ksh93 within AT&T and will provide support. I will only be
supplying ksh93 for research needs and for machine architectures
that are not supported by the Software Technology Center.
You can contact the STC by sending mail to ksh@mozart.att.com.
I have fixed most of the bugs that have been reported in
the previous release. Let me know about any remaining bugs.
There continues to be very few reports of compatibility
problems. The file COMPATIBILITY lists the known incompatibilities.
Please let me know about any script which runs under ksh-88 but
does not run under ksh-93.
Please look at the man page (troff -man) and the sh.memo
file (troff -mm) and let me know what problems you find.
I encourage you to run ksh -n script on each of your scripts
since the -n option produces warning messages for obsolete
features that you are using in the script. The file
OBSOLETE, written by Kevin Wall, contains a list of
obsolete features.

View File

@@ -1 +0,0 @@
dgk

View File

@@ -1,146 +0,0 @@
.SA 1
.sp 2
.H 1 "KSH-93 - The KornShell Command and Programming Language"
.sp 2
.al
.P
KSH-93 is the most recent version of the KornShell Language
described in
"The KornShell Command and Programming Language,"
by Morris Bolsky and David Korn of AT&T Bell Laboratories.
The KornShell is a shell programming language,
which is upward compatible with "sh" (the Bourne Shell),
and is intended to conform to the IEEE P1003.2/ISO 9945.2 Shell and
Utilities standard.
KSH-93 provides an enhanced programming environment in
addition to the major command-entry features of the BSD
shell "csh". With KSH-93, medium-sized programming tasks can be
performed at shell-level without a significant loss in performance.
In addition, "sh" scripts can be run on KSH-93 without modification.
.P
The code should conform to the IEEE POSIX 1003.1 standard and to the
proposed ANSI-C standard so that it should be portable to all
such systems. Like the previous version, KSH-88,
it is designed to accept eight bit character sets
transparently, thereby making it internationally compatible.
It can support multi-byte characters sets with some characteristics
of the character set given at run time.
.P
KSH-93 provides the following features, many of which were also inherent
in KSH-88:
.BL
.LI
Enhanced Command Re-entry Capability: The KSH-93 history
function records commands entered at any shell level and stores
them, up to a user-specified limit, even after you log off.
This allows you to re-enter long commands with a few keystrokes
- even those commands you entered yesterday.
The history file allows for eight bit characters in
commands and supports essentially unlimited size histories.
.LI
In-line Editing: In "sh", the only way to fix mistyped
commands is to backspace or retype the line. KSH-93 allows you
to edit a command line using a choice of EMACS-TC or "vi"
functions.
You can use the in-line editors to complete filenames as
you type them.
You may also use this editing feature when entering
command lines from your history file.
A user can capture keystrokes and rebind keys to customize the
editing interface.
.LI
Extended I/O Capabilities: KSH-93 provides several I/O
capabilities not available in "sh", including the ability to:
.BL
.LI
specify a file descriptor for input and output
.LI
start up and run co-processes
.LI
produce a prompt at the terminal before a read
.LI
easily format and interpret responses to a menu
.LI
echo lines exactly as output without escape processing
.LI
format output using printf formats.
.LI
read and echo lines ending in "\e".
.LE
.LI
Improved performance: KSH-93 executes many scripts faster
than the System V Bourne shell. A major reason for this is
that many of the standard utilities are built-in.
To reduce the time to initiate a command, KSH-93 allows
commands to be added as built-ins at run time
on systems that support dynamic loading such as System V Release 4.
.LI
Arithmetic: KSH-93 allows you to do integer arithmetic in any
base from two to sixty-four. You can also do double
precision floating point arithmetic.
Almost the complete set of C language operators are available
with the same syntax and precedence.
Arithmetic expressions can be used to as an argument expansion
or as a separate command.
In addition there is an arithmetic for command that works
like the for statement in C.
.LI
Arrays: KSH-93 supports both indexed and associative arrays.
The subscript for an indexed array is an arithmetic expression,
whereas, the subscript for an associative array is a string.
.LI
Shell Functions and Aliases: Two mechanisms - functions and
aliases - can be used to assign a user-selected identifier to
an existing command or shell script.
Functions allow local variables and provide scoping
for exception handling.
Functions can be searched for and loaded on first reference the
way scripts are.
.LI
Substring Capabilities: KSH-93 allows you to create a
substring of any given string either by specifying the starting
offset and length, or by stripping off leading
or trailing substrings during parameter substitution.
You can also specify attributes, such as upper and lower case,
field width, and justification to shell variables.
.LI
More pattern matching capabilities: KSH-93 allows you to specify
extended regular expressions for file and string matches.
.LI
KSH-93 uses a hierarchal name space for variables.
Compound variables can be defined and variables can
be passed by reference. In addition, each variable
can have one or more disciplines associated with
it to intercept assignments and references.
.LI
Improved debugging: KSH-93 can generate line numbers on execution
traces. Also, I/O redirections are now traced.
There is a DEBUG trap that gets evaluated after each command
so that errors can be localized.
.LI
Job Control: On systems that support job control, including
System V Release 4, KSH-93
provides a job-control mechanism almost identical to that of
the BSD "csh", version 4.1.
This feature allows you
to stop and restart programs, and to move programs between the
foreground and the background.
.LI
Added security:
KSH-93 can execute scripts which do not have read permission
and scripts which have the setuid and/or setgid set when
invoked by name, rather than as an argument to the shell.
It is possible to log or control the execution of setuid and/or
setgid scripts.
The noclobber option prevents you from accidentally erasing
a file by redirecting to an existing file.
.LI
KSH-93 can be extended by adding built-in commands at run time.
In addition, KSH-93 can be used as a library that can
be embedded into an application to allow scripting.
.LE
Documentation for KSH-93 consists of an "Introduction to KSH-93",
"Compatibility with the Bourne Shell" and a manual page and a
README file. In addition, the "New KornShell Command and Programming
Language," book is available from Prentice Hall.

View File

@@ -1,5 +0,0 @@
src/cmd/ksh93/FEATURE/options
src/cmd/ksh93/FEATURE/ttys
src/cmd/ksh93/FEATURE/dymamic
src/cmd/ksh93/FEATURE/externs
src/cmd/ksh93/FEATURE/poll

View File

@@ -1,5 +0,0 @@
AT&T Bell Laboratories
Advanced Software Technology Department
{ulysses,attmail}!dgk
dgk@ulysses.att.com
David Korn 908-582-7975

View File

@@ -1,6 +0,0 @@
type=proprietary
corporation=AT&T
company="Bell Laboratories"
organization="Software Engineering Research Department"
license=http://www.research.att.com/orgs/ssr/book/reuse
contact=gsf@research.att.com

View File

@@ -1,5 +0,0 @@
AT&T Bell Laboratories
Software Engineering Research Department
advsoft@research.att.com
Randy Hackbarth 908-582-5245
Dave Belanger 908-582-7427

View File

@@ -1 +0,0 @@
liszt!easy!liszt!easy!usl!att!gryphon!gsf

View File

@@ -1,5 +0,0 @@
AT&T Bell Laboratories
Software Engineering Research Department
advsoft@research.att.com
Randy Hackbarth 908-582-5245
Dave Belanger 908-582-7427

View File

@@ -1 +0,0 @@
libAST

View File

@@ -1 +0,0 @@
liszt!easy!liszt!easy!usl!att!gryphon!gsf

View File

@@ -1,5 +0,0 @@
AT&T Bell Laboratories
Software Engineering Research Department
advsoft@research.att.com
Randy Hackbarth 908-582-5245
Dave Belanger 908-582-7427

View File

@@ -1 +0,0 @@
lib0ast

View File

@@ -1 +0,0 @@
liszt!easy!liszt!easy!usl!att!gryphon!gsf

View File

@@ -1,6 +0,0 @@
type=proprietary
corporation=AT&T
company="Bell Laboratories"
organization="Software Engineering Research Department"
license=http://www.research.att.com/orgs/ssr/book/reuse
contact=gsf@research.att.com

View File

@@ -1 +0,0 @@
lib0ast

View File

@@ -1 +0,0 @@
gsf

View File

@@ -1,5 +0,0 @@
AT&T Bell Laboratories
Software Engineering Research Department
advsoft@research.att.com
Randy Hackbarth 908-582-5245
Dave Belanger 908-582-7427

View File

@@ -1 +0,0 @@
libast

View File

@@ -1 +0,0 @@
liszt!easy!liszt!easy!usl!att!gryphon!gsf

View File

@@ -1,5 +0,0 @@
AT&T Bell Laboratories
Software Engineering Research Department
advsoft@research.att.com
Randy Hackbarth 908-582-5245
Dave Belanger 908-582-7427

View File

@@ -1 +0,0 @@
libast

View File

@@ -1 +0,0 @@
liszt!easy!liszt!easy!usl!att!gryphon!gsf

View File

@@ -1,6 +0,0 @@
type=proprietary
corporation=AT&T
company="Bell Laboratories"
organization="Software Engineering Research Department"
license=http://www.research.att.com/orgs/ssr/book/reuse
contact=gsf@research.att.com

View File

@@ -1 +0,0 @@
lib0ast

View File

@@ -1 +0,0 @@
gsf

Some files were not shown because too many files have changed in this diff Show More