diff --git a/msvc/c/Makefile b/msvc/c/Makefile new file mode 100644 index 000000000..82e9bd8c1 --- /dev/null +++ b/msvc/c/Makefile @@ -0,0 +1,142 @@ +# +# Makefile for ECL core library +# +top_srcdir = ..\..\src +srcdir = ..\..\src\c + +!if "$(ECL_THREADS)" != "" +THREADS_OBJ= threads_win32.obj +THREADS_FLAGS= -DECL_THREADS -DGC_WIN32_THREADS +!else +THREADS_OBJ= +THREADS_FLAGS= +!endif + +# Programs used by "make": +# +TRUE_CC = cl +CC = cl +CFLAGS = -c -MD -Zi -I./ -I$(srcdir) -I$(HDIR) -I../h -I$(top_srcdir)/gc/include -DHAVE_ISATTY $(THREADS_FLAGS) -DGC_NOT_DLL +# -Wall -W -Wfloat-equal -Wundef -Wendif-labels -Wpointer-arith -Wcast-align \ +# -Wwrite-strings -Wconversion -Wsign-compare -Wmissing-prototypes -Wredundant-decls \ +# -Wunreachable-code -Winline +DEFS = $(THREADS_FLAGS) + +SHELL = /bin/sh +RM = del +CP = copy /Y +MV = move /Y +LINK = link +EXE = .exe +DPP = .\dpp$(EXE) + +# Data for installation +# +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +prefix=@prefix@ +exec_prefix=$(prefix) +libdir=$(prefix)\lib\ecl + +# Files + +HDIR = $(top_srcdir)\h +HFILES = ..\h\config.h $(HDIR)\ecl.h $(HDIR)\ecl-cmp.h\ + $(HDIR)\object.h $(HDIR)\cs.h $(HDIR)\stacks.h\ + $(HDIR)\external.h $(HDIR)\eval.h\ + $(HDIR)\number.h $(HDIR)\page.h $(HDIR)\unify.h\ + $(HDIR)\lwp.h +OBJS = main.obj symbol.obj package.obj list.obj\ + apply.obj eval.obj interpreter.obj compiler.obj disassembler.obj \ + instance.obj gfun.obj reference.obj character.obj\ + file.obj read.obj print.obj error.obj string.obj cfun.obj\ + typespec.obj assignment.obj \ + predicate.obj big.obj number.obj\ + num_pred.obj num_comp.obj num_arith.obj num_sfun.obj num_co.obj\ + num_log.obj num_rand.obj array.obj sequence.obj cmpaux.obj\ + macros.obj backq.obj stacks.obj \ + time.obj unixint.obj\ + mapfun.obj multival.obj hash.obj format.obj pathname.obj\ + structure.obj load.obj unixfsys.obj unixsys.obj \ + ffi.obj alloc_2.obj tcp.obj $(THREADS_OBJ) + +all: $(DPP) external.h ..\eclmin.lib ..\cinit.obj + +.SUFFIXES: .obj .c .d + +{$(srcdir:\=/)}.d{}.c: + $(DPP) $< $@ +#.d.c: +# $(DPP) $< $@ +.c.obj: + $(CC) $(CFLAGS) -o $@ $< + +.PHONY: all + +# +# When compiling the library itself, we have to remove the dllimport +# declarations, because the variables that they mark are in the +# in the library and can be referenced without indirection. +# +external.h: $(top_srcdir)/h/external.h Makefile + cut.exe removedecl < $(top_srcdir)/h/external.h > $@ + +cut.exe: $(top_srcdir)/util/cut.c + $(CC) $(LDFLAGS) /Fecut.exe $(top_srcdir)/util/cut.c + +install: $(HFILES) + for %i in ($(HFILES)) do $(CP) %i $(libdir)\h + cut.exe < ..\h\config.h > $(libdir)\h\config-install.h + $(RM) $(libdir)\h\config.h + $(MV) $(libdir)\h\config-install.h $(libdir)\h\config.h + +flatinstall: $(HFILES) + for %i in ($(HFILES)) do $(CP) %i $(prefix)\h + cut.exe < ..\h\config.h > $(prefix)\h\config-install.h + for %h in (..\h\*.h) do $(CP) %h $(prefix)\h + $(RM) $(prefix)\h\config.h + $(MV) $(prefix)\h\config-install.h $(prefix)\h\config.h + +..\eclmin.lib: $(OBJS:.obj=.c) all_symbols.c $(OBJS) all_symbols.obj all_symbols2.obj + -$(RM) $@ + $(LINK) -lib -out:$@ $(OBJS) + +clean: + -for %f in (..\h\config.h dpp dpp.obj $(DPP) external.h \ + ..\eclmin.lib ..\cinit.obj cinit.c \ + symbols_list2.h) \ + do $(RM) %f + -for %f in ($(OBJS:.obj=.c) all_symbols.c) do $(RM) %f + -for %f in ($(OBJS) all_symbols.obj all_symbols2.obj) do $(RM) %f + -$(RM) *.pdb + +# Build rules + +$(DPP): $(srcdir)/dpp.c $(srcdir)/symbols_list2.h ../h/config.h + $(TRUE_CC) -I../h -I./ -I$(HDIR) $(DEFS) $(srcdir)/dpp.c -o $@ +../h/config.h: ../h/config.h.msvc6 + $(CP) ..\h\config.h.msvc6 ..\h\config.h + +# +# GCC might break this code +# +gbc.o: gbc.c $(HFILES) + $(CC) $(CFLAGS) -O0 gbc.c -o $@ +# +# This reduces the overhead of jumping to other functions +# +apply.o: apply.c $(HFILES) $(HDIR)/cs.h + $(CC) $(CFLAGS) apply.c -o $@ +# +# These files are interrelated +# +all_symbols.obj: all_symbols.c + $(CC) $(CFLAGS) -Fo$@ -I./ all_symbols.c +all_symbols2.obj: all_symbols.c + $(CC) $(CFLAGS) -DECL_FINAL -Fo$@ -I./ all_symbols.c +# +# This is in another directory +# +../cinit.obj: cinit.c + $(CC) $(CFLAGS) -I./ -o cinit.obj cinit.c + $(MV) cinit.obj ..\ diff --git a/msvc/doc/Makefile b/msvc/doc/Makefile new file mode 100644 index 000000000..0b3021735 --- /dev/null +++ b/msvc/doc/Makefile @@ -0,0 +1,162 @@ +top_srcdir= ..\..\src +srcdir = ..\..\src\doc + +prefix=@prefix@ +exec_prefix=$(prefix)\bin +infodir = $(prefix)\doc\info +mandir=$(prefix)\doc\man +docdir=$(prefix)\doc +manext=1 + +INFOEXT = info +SHELL = cmd.exe +INSTALL = ..\install.bat +INSTALL_PROGRAM = $(INSTALL) +INSTALL_DATA = $(INSTALL) +INSTALL_INFO = $(INSTALL) +mkinstalldirs = $(SHELL) $(top_srcdir)/gc/mkinstalldirs.bat +INFO_FILES = ecl.$(INFOEXT) ecldev.$(INFOEXT) +HTML_FILES = index.html license.html lgpl.html news.html benchmark.html \ + install.html download.html + +RM = erase +RMDIR = rmdir /S /Q +MKDIR = mkdir +CP = copy /Y + +ECL_VERSION=0.9f + +FILTER = ..\c\cut$(EXE) "@PACKAGE_VERSION@" "$(ECL_VERSION)" + +ECL = ../ecl + +all: $(INFO_FILES) $(HTML_FILES) developers_manual user_manual clx_manual + +ecl.dvi: $(srcdir)/user.txi $(srcdir)/macros.txi clisp.sty ecl.sty + tex $(srcdir)/user.txi +ecldev.dvi: $(srcdir)/devel.txi $(srcdir)/macros.txi clisp.sty ecl.sty + tex $(srcdir)/devel.txi +clx.dvi: clx.texinfo + tex clx.texinfo + +ecl.ps: ecl.dvi $(srcdir)/macros.txi + dvips -o $@ ecl.dvi +ecldev.ps: ecldev.dvi $(srcdir)/macros.txi + dvips -o $@ ecldev.dvi +clx.ps: clx.dvi + dvips -o $@ clx.dvi + +install: all + IF NOT EXIST $(docdir) $(MKDIR) $(docdir) + for %i in (Copyright LGPL) do $(CP) $(top_srcdir)\..\%i $(docdir) + for %i in ($(HTML_FILES)) do $(CP) %i $(docdir) + IF NOT EXIST $(docdir)\ecldev $(MKDIR) $(docdir)\ecldev + for %i in (ecldev\*) do $(CP) %i $(docdir)\ecldev + IF NOT EXIST $(docdir)\ecl $(MKDIR) $(docdir)\ecl + for %i in (ecl\*) do $(CP) %i $(docdir)\ecl + IF NOT EXIST $(docdir)\clx $(MKDIR) $(docdir)\clx + for %i in (clx\*) do $(CP) %i $(docdir)\clx +flatinstall: all + IF NOT EXIST $(docdir) $(MKDIR) $(docdir) + for %i in (Copyright LGPL) do $(CP) $(top_srcdir)\..\%i $(docdir) + for %i in ($(HTML_FILES)) do $(CP) %i $(docdir) + IF NOT EXIST $(docdir)\ecldev $(MKDIR) $(docdir)\ecldev + for %i in (ecldev\*) do $(CP) %i $(docdir)\ecldev + IF NOT EXIST $(docdir)\ecl $(MKDIR) $(docdir)\ecl + for %i in (ecl\*) do $(CP) %i $(docdir)\ecl + IF NOT EXIST $(docdir)\clx $(MKDIR) $(docdir)\clx + for %i in (clx\*) do $(CP) %i $(docdir)\clx + +uninstall: + for k in $(INFO_FILES); do \ + rm $$k; \ + if [ -x $(INSTALL_INFO) ]; then \ + $(INSTALL_INFO) --delete $$k; \ + fi; \ + done + rm -r $(infodir)/ecl.$(INFOEXT) $(infodir)/ecldev.$(INFOEXT); \ + rm $(mandir)/man$(manext)/ecl.$(manext) + +head2: developers_manual user_manual clx_manual $(srcdir)/head Makefile + IF EXIST ecl\index.html ( \ + ..\c\cut.exe "ecl/user.html" "ecl/index.html" \ + "ecldev/devel.html" "ecldev/index.html" \ + < $(srcdir)/head > head2 \ + ) ELSE ( \ + copy /y $(srcdir)/head head2 \ + ) +ecl.info.gz: ecl.info + gzip < ecl.info > ecl.info.gz +ecldev.info.gz: ecldev.info + gzip < ecldev.info > ecldev.info.gz +clx.info.gz: clx.info + gzip < clx.info > clx.info.gz +ecl.info: $(srcdir)/user.txi $(srcdir)/macros.txi + makeinfo -I $(srcdir) --no-split $(srcdir)/user.txi +ecldev.info: $(srcdir)/devel.txi $(srcdir)/macros.txi + makeinfo -I $(srcdir) --no-split $(srcdir)/devel.txi +clx.info: clx.texinfo + makeinfo --no-split clx.texinfo +clx.texinfo: $(top_srcdir)/clx/manual/clx.texinfo + cp $(top_srcdir)/clx/manual/clx.texinfo . + +download.html: $(srcdir)/download.in.html head2 + ( type head2 $(srcdir)\download.in.html $(srcdir)\end ) | $(FILTER) > $@ +index.html: $(srcdir)/index.in.html head2 + ( type head2 $(srcdir)\index.in.html $(srcdir)\end ) | $(FILTER) > $@ +install.html: $(srcdir)/install.in.html head2 + ( type head2 $(srcdir)\install.in.html $(srcdir)\end ) | $(FILTER) > $@ +news.html: $(srcdir)\..\..\ANNOUNCEMENT head2 + type head2 > html_tmp + echo "
" >> html_tmp
+	type $(srcdir)\..\..\ANNOUNCEMENT >> html_tmp
+	echo "
" >> html_tmp + type $(srcdir)\end >> html_tmp + $(FILTER) < html_tmp > $@ + $(RM) html_tmp +benchmark.html: $(srcdir)/benchmark.in.html ../gabriel/BENCHMARK head2 + type head2 > html_tmp + type $(srcdir)\benchmark.in.html >> html_tmp + echo "
" >> html_tmp
+	type ..\gabriel\BENCHMARK >> html_tmp
+	echo "
" >> html_tmp + type $(srcdir)\end >> html_tmp + $(FILTER) < html_tmp > $@ + $(RM) html_tmp +../gabriel/BENCHMARK: + if not exist ..\gabriel $(MKDIR) ..\gabriel + echo No benchmarks available > ..\gabriel\BENCHMARK +license.html: $(top_srcdir)/../Copyright head2 + type head2 > html_tmp + echo "
" >> html_tmp
+	type $(top_srcdir)\..\Copyright >> html_tmp
+	echo "
" >> html_tmp + type $(srcdir)\end >> html_tmp + $(FILTER) < html_tmp > $@ + $(RM) html_tmp +lgpl.html: $(top_srcdir)/../LGPL head2 + type head2 > html_tmp + echo "
" >> html_tmp
+	type $(top_srcdir)\..\LGPL >> html_tmp
+	echo "
" >> html_tmp + type $(srcdir)\end >> html_tmp + $(FILTER) < html_tmp > $@ + $(RM) html_tmp +user_manual: $(srcdir)/user.txi $(srcdir)/macros.txi + echo "Producing ecl.html; ignore error messages." + IF NOT EXIST ecl MKDIR ecl + makeinfo -v -I $(srcdir) --html $(srcdir)/user.txi + echo > user_manual +developers_manual: $(srcdir)/devel.txi $(srcdir)/macros.txi + echo "Producing ecldev.html; ignore error messages." + IF NOT EXIST ecldev MKDIR ecldev + makeinfo -v -I $(srcdir) --html $(srcdir)/devel.txi + echo > developers_manual +clx_manual: $(srcdir)/../clx/manual/clx.texinfo + echo "Producing clx.html; ignore error messages." + IF NOT EXIST clx MKDIR clx + makeinfo -v --html $(srcdir)\..\clx\manual\clx.texinfo + echo > clx_manual +clean: + -for %i in (ecl ecldev clx ..\gabriel) do $(RMDIR) %i + -for %i in (ecl.info* ecldev.info* $(HTML_FILES) head2 user_manual developers_manual clx_manual ..\gabriel\BENCHMARK) do $(RM) %i diff --git a/msvc/gc/Makefile b/msvc/gc/Makefile new file mode 100644 index 000000000..733d667a3 --- /dev/null +++ b/msvc/gc/Makefile @@ -0,0 +1,71 @@ +# Makefile for Windows NT. Assumes Microsoft compiler, and a single thread. +# DLLs are included in the root set under NT, but not under win32S. +# Use "nmake nodebug=1 all" for optimized versions of library, gctest and editor. + +CPU= i386 +!include + +srcdir = ..\..\src\gc + +!if "$(ECL_THREADS)" != "" +THREADS_OBJ= win32_threads.obj +THREADS_FLAGS= -DGC_WIN32_THREADS +!else +THREADS_OBJ= +THREADS_FLAGS= +!endif + +OBJS= alloc.obj reclaim.obj allchblk.obj misc.obj mach_dep.obj os_dep.obj mark_rts.obj headers.obj mark.obj obj_map.obj blacklst.obj finalize.obj new_hblk.obj dbg_mlc.obj malloc.obj stubborn.obj dyn_load.obj typd_mlc.obj ptr_chck.obj gc_cpp.obj mallocx.obj $(THREADS_OBJ) + +all: gctest.exe cord\de.exe test_cpp.exe + +{$(srcdir)}.c{}.obj: + $(cc) $(cdebug) $(cflags) $(cvarsdll) -I$(srcdir)\include -DSILENT -DALL_INTERIOR_POINTERS -D__STDC__ -DGC_NOT_DLL $(THREADS_FLAGS) $< /Fo$*.obj + +.cpp.obj: + $(cc) /MD $(cdebug) $(cflags) $(cvarsdll) -I$(srcdir)\include -DSILENT -DALL_INTERIOR_POINTERS -DGC_NOT_DLL $(THREADS_FLAGS) $*.CPP /Fo$*.obj + +$(OBJS) tests\test.obj: $(srcdir)\include\private\gc_priv.h $(srcdir)\include\private\gc_hdrs.h $(srcdir)\include\gc.h $(srcdir)\include\private\gcconfig.h $(srcdir)\include\private\gc_locks.h $(srcdir)\include\private\gc_pmark.h $(srcdir)\include\gc_mark.h + +gc.lib: $(OBJS) + link -lib /MACHINE:i386 /out:gc.lib $(OBJS) +# The original NT SDK used lib32 instead of lib + +gctest.exe: tests\test.obj gc.lib +# The following works for win32 debugging. For win32s debugging use debugtype:coff +# and add mapsympe line. +# This produces a "GUI" applications that opens no windows and writes to the log file +# "gc.log". This is done to make the result runnable under win32s. + $(link) -debug:full -debugtype:cv $(guiflags) -stack:131072 -out:$*.exe tests\test.obj $(guilibs) gc.lib +# mapsympe -n -o gctest.sym gctest.exe + +cord\de_win.rbj: cord\de_win.res + cvtres -$(CPU) cord\de_win.res -o cord\de_win.rbj + +cord\de.obj cord\de_win.obj: include\cord.h include\private\cord_pos.h cord\de_win.h cord\de_cmds.h + +cord\de_win.res: cord\de_win.rc cord\de_win.h cord\de_cmds.h + $(rc) $(rcvars) -r -fo cord\de_win.res $(cvarsdll) cord\de_win.rc + +# Cord/de is a real win32 gui application. +cord\de.exe: cord\cordbscs.obj cord\cordxtra.obj cord\de.obj cord\de_win.obj cord\de_win.rbj gc.lib + $(link) -debug:full -debugtype:cv $(guiflags) -stack:16384 -out:cord\de.exe cord\cordbscs.obj cord\cordxtra.obj cord\de.obj cord\de_win.obj cord\de_win.rbj gc.lib $(guilibs) + +gc_cpp.obj: $(srcdir)\include\gc_cpp.h $(srcdir)\include\gc.h + +gc_cpp.cpp: $(srcdir)\gc_cpp.cc + copy $(srcdir)\gc_cpp.cc gc_cpp.cpp + +test_cpp.cpp: tests\test_cpp.cc + copy tests\test_cpp.cc test_cpp.cpp + +# This generates the C++ test executable. The executable expects +# a single numeric argument, which is the number of iterations. +# The output appears in the file "gc.log". +test_cpp.exe: test_cpp.obj include\gc_cpp.h include\gc.h gc.lib + $(link) -debug:full -debugtype:cv $(guiflags) -stack:16384 -out:test_cpp.exe test_cpp.obj gc.lib $(guilibs) + + +clean: + -del gc.lib + -for %i in ($(OBJS) gc_cpp.cpp) do erase %i diff --git a/msvc/gmp/Makefile b/msvc/gmp/Makefile new file mode 100644 index 000000000..462e93220 --- /dev/null +++ b/msvc/gmp/Makefile @@ -0,0 +1,615 @@ +srcdir = ..\..\src\gmp + +AUTO_SUBDIRS = mpn\generic mpf mpq mpz printf scanf + +MPN_GC_SOURCES = \ + mpn\generic\add.c \ + mpn\generic\add_1.c \ + mpn\generic\add_n.c \ + mpn\generic\addmul_1.c \ + mpn\generic\addsub_n.c \ + mpn\generic\bdivmod.c \ + mpn\generic\cmp.c \ + mpn\generic\dc_divrem_n.c \ + mpn\generic\dive_1.c \ + mpn\generic\diveby3.c \ + mpn\generic\divis.c \ + mpn\generic\divrem.c \ + mpn\generic\divrem_1.c \ + mpn\generic\divrem_2.c \ + mpn\generic\dump.c \ + mpn\generic\fib2_ui.c \ + mpn\generic\gcd.c \ + mpn\generic\gcd_1.c \ + mpn\generic\gcdext.c \ + mpn\generic\get_str.c \ + mpn\generic\hamdist.c \ + mpn\generic\jacbase.c \ + mpn\generic\lshift.c \ + mpn\generic\mod_1.c \ + mpn\generic\mod_34lsub1.c \ + mpn\generic\mode1o.c \ + mpn\generic\mul.c \ + mpn\generic\mul_1.c \ + mpn\generic\mul_basecase.c \ + mpn\generic\mul_fft.c \ + mpn\generic\mul_n.c \ + mpn\generic\perfsqr.c \ + mpn\generic\popcount.c \ + mpn\generic\pow_1.c \ + mpn\generic\pre_divrem_1.c \ + mpn\generic\pre_mod_1.c \ + mpn\generic\random.c \ + mpn\generic\random2.c \ + mpn\generic\rootrem.c \ + mpn\generic\rshift.c \ + mpn\generic\sb_divrem_mn.c \ + mpn\generic\scan0.c \ + mpn\generic\scan1.c \ + mpn\generic\set_str.c \ + mpn\generic\sizeinbase.c \ + mpn\generic\sqr_basecase.c \ + mpn\generic\sqrtrem.c \ + mpn\generic\sub.c \ + mpn\generic\sub_1.c \ + mpn\generic\sub_n.c \ + mpn\generic\submul_1.c \ + mpn\generic\tdiv_qr.c \ + mpn\mp_bases.c + +MPN_P0_C_SOURCES = \ + mpn\generic\add.c \ + mpn\generic\add_1.c \ + mpn\generic\addsub_n.c \ + mpn\generic\bdivmod.c \ + mpn\generic\cmp.c \ + mpn\generic\dc_divrem_n.c \ + mpn\generic\divis.c \ + mpn\generic\divrem.c \ + mpn\generic\divrem_2.c \ + mpn\generic\dump.c \ + mpn\generic\fib2_ui.c \ + mpn\generic\gcd.c \ + mpn\generic\gcd_1.c \ + mpn\generic\gcdext.c \ + mpn\generic\get_str.c \ + mpn\generic\hamdist.c \ + mpn\generic\jacbase.c \ + mpn\generic\mode1o.c \ + mpn\mp_bases.c \ + mpn\generic\mul.c \ + mpn\generic\mul_fft.c \ + mpn\generic\mul_n.c \ + mpn\generic\perfsqr.c \ + mpn\generic\popcount.c \ + mpn\generic\pow_1.c \ + mpn\generic\pre_divrem_1.c \ + mpn\generic\pre_mod_1.c \ + mpn\generic\random.c \ + mpn\generic\random2.c \ + mpn\generic\rootrem.c \ + mpn\generic\sb_divrem_mn.c \ + mpn\generic\scan0.c \ + mpn\generic\scan1.c \ + mpn\generic\set_str.c \ + mpn\generic\sizeinbase.c \ + mpn\generic\sqr_basecase.c \ + mpn\generic\sqrtrem.c \ + mpn\generic\sub.c \ + mpn\generic\sub_1.c \ + mpn\generic\tdiv_qr.c + +MPN_P0_ASM_SOURCES = \ + mpn\x86i\umul.asm \ + mpn\x86i\udiv.asm \ + mpn\x86i\rshift.asm \ + mpn\x86i\mul_basecase.asm \ + mpn\x86i\mul_1.asm \ + mpn\x86i\mod_34lsub1.asm \ + mpn\x86i\mod_1.asm \ + mpn\x86i\lshift.asm \ + mpn\x86i\divrem_1.asm \ + mpn\x86i\diveby3.asm \ + mpn\x86i\dive_1.asm \ + mpn\x86i\copyi.asm \ + mpn\x86i\copyd.asm \ + mpn\x86i\aorsmul_1.asm \ + mpn\x86i\aors_n.asm + +MPN_P3_C_SOURCES = \ + mpn\generic\add.c \ + mpn\generic\add_1.c \ + mpn\generic\addsub_n.c \ + mpn\generic\bdivmod.c \ + mpn\generic\cmp.c \ + mpn\generic\dc_divrem_n.c \ + mpn\generic\divis.c \ + mpn\generic\divrem.c \ + mpn\generic\divrem_2.c \ + mpn\generic\dump.c \ + mpn\generic\fib2_ui.c \ + mpn\generic\gcd.c \ + mpn\generic\gcd_1.c \ + mpn\generic\gcdext.c \ + mpn\generic\get_str.c \ + mpn\generic\jacbase.c \ + mpn\mp_bases.c \ + mpn\generic\mul.c \ + mpn\generic\mul_fft.c \ + mpn\generic\mul_n.c \ + mpn\generic\perfsqr.c \ + mpn\generic\pow_1.c \ + mpn\generic\random.c \ + mpn\generic\random2.c \ + mpn\generic\rootrem.c \ + mpn\generic\sb_divrem_mn.c \ + mpn\generic\scan0.c \ + mpn\generic\scan1.c \ + mpn\generic\set_str.c \ + mpn\generic\sizeinbase.c \ + mpn\generic\sqrtrem.c \ + mpn\generic\sub.c \ + mpn\generic\sub_1.c \ + mpn\generic\tdiv_qr.c + +MPN_P3_ASM_SOURCES = \ + mpn\x86i\umul.asm \ + mpn\x86i\udiv.asm \ + mpn\x86i\p6\sqr_basecase.asm \ + mpn\x86i\mul_basecase.asm \ + mpn\x86i\mul_1.asm \ + mpn\x86i\p6\mode1o.asm \ + mpn\x86i\mod_34lsub1.asm \ + mpn\x86i\p6\mod_1.asm \ + mpn\x86i\p6\diveby3.asm \ + mpn\x86i\p6\dive_1.asm \ + mpn\x86i\copyi.asm \ + mpn\x86i\p6\copyd.asm \ + mpn\x86i\p6\aorsmul_1.asm \ + mpn\x86i\aors_n.asm \ + mpn\x86i\p6\mmx\rshift.asm \ + mpn\x86i\p6\p3mmx\popham.asm \ + mpn\x86i\p6\mmx\lshift.asm \ + mpn\x86i\p6\mmx\divrem_1.asm + +MPN_P4_C_SOURCES = \ + mpn\generic\add.c \ + mpn\generic\add_1.c \ + mpn\generic\addsub_n.c \ + mpn\generic\bdivmod.c \ + mpn\generic\cmp.c \ + mpn\generic\dc_divrem_n.c \ + mpn\generic\divis.c \ + mpn\generic\divrem.c \ + mpn\generic\divrem_2.c \ + mpn\generic\dump.c \ + mpn\generic\fib2_ui.c \ + mpn\generic\gcd.c \ + mpn\generic\gcd_1.c \ + mpn\generic\gcdext.c \ + mpn\generic\get_str.c \ + mpn\generic\jacbase.c \ + mpn\mp_bases.c \ + mpn\generic\mul.c \ + mpn\generic\mul_fft.c \ + mpn\generic\mul_n.c \ + mpn\generic\perfsqr.c \ + mpn\generic\pow_1.c \ + mpn\generic\pre_divrem_1.c \ + mpn\generic\pre_mod_1.c \ + mpn\generic\random.c \ + mpn\generic\random2.c \ + mpn\generic\rootrem.c \ + mpn\generic\sb_divrem_mn.c \ + mpn\generic\scan0.c \ + mpn\generic\scan1.c \ + mpn\generic\set_str.c \ + mpn\generic\sizeinbase.c \ + mpn\generic\sqrtrem.c \ + mpn\generic\sub.c \ + mpn\generic\sub_1.c \ + mpn\generic\tdiv_qr.c + +MPN_P4_ASM_SOURCES = \ + mpn\x86i\umul.asm \ + mpn\x86i\udiv.asm \ + mpn\x86i\mod_1.asm \ + mpn\x86i\divrem_1.asm \ + mpn\x86i\pentium4\copyi.asm \ + mpn\x86i\pentium4\copyd.asm \ + mpn\x86i\pentium4\sse2\submul_1.asm \ + mpn\x86i\pentium4\sse2\sub_n.asm \ + mpn\x86i\pentium4\sse2\sqr_basecase.asm \ + mpn\x86i\pentium4\sse2\mul_basecase.asm \ + mpn\x86i\pentium4\sse2\mul_1.asm \ + mpn\x86i\pentium4\sse2\mode1o.asm \ + mpn\x86i\pentium4\sse2\mod_34lsub1.asm \ + mpn\x86i\pentium4\sse2\diveby3.asm \ + mpn\x86i\pentium4\sse2\dive_1.asm \ + mpn\x86i\pentium4\sse2\addmul_1.asm \ + mpn\x86i\pentium4\sse2\add_n.asm \ + mpn\x86i\pentium4\mmx\rshift.asm \ + mpn\x86i\pentium4\mmx\popham.asm \ + mpn\x86i\pentium4\mmx\lshift.asm + +MPF_SOURCES = \ + mpf\abs.c \ + mpf\add.c \ + mpf\add_ui.c \ + mpf\ceilfloor.c \ + mpf\clear.c \ + mpf\cmp.c \ + mpf\cmp_d.c \ + mpf\cmp_si.c \ + mpf\cmp_ui.c \ + mpf\div.c \ + mpf\div_2exp.c \ + mpf\div_ui.c \ + mpf\dump.c \ + mpf\eq.c \ + mpf\fits_sint.c \ + mpf\fits_slong.c \ + mpf\fits_sshort.c \ + mpf\fits_uint.c \ + mpf\fits_ulong.c \ + mpf\fits_ushort.c \ + mpf\get_d.c \ + mpf\get_d_2exp.c \ + mpf\get_dfl_prec.c \ + mpf\get_prc.c \ + mpf\get_si.c \ + mpf\get_str.c \ + mpf\get_ui.c \ + mpf\init.c \ + mpf\init2.c \ + mpf\inp_str.c \ + mpf\int_p.c \ + mpf\iset.c \ + mpf\iset_d.c \ + mpf\iset_si.c \ + mpf\iset_str.c \ + mpf\iset_ui.c \ + mpf\mul.c \ + mpf\mul_2exp.c \ + mpf\mul_ui.c \ + mpf\neg.c \ + mpf\out_str.c \ + mpf\pow_ui.c \ + mpf\random2.c \ + mpf\reldiff.c \ + mpf\set.c \ + mpf\set_d.c \ + mpf\set_dfl_prec.c \ + mpf\set_prc.c \ + mpf\set_prc_raw.c \ + mpf\set_q.c \ + mpf\set_si.c \ + mpf\set_str.c \ + mpf\set_ui.c \ + mpf\set_z.c \ + mpf\size.c \ + mpf\sqrt.c \ + mpf\sqrt_ui.c \ + mpf\sub.c \ + mpf\sub_ui.c \ + mpf\swap.c \ + mpf\trunc.c \ + mpf\ui_div.c \ + mpf\ui_sub.c \ + mpf\urandomb.c + +MPQ_SOURCES = \ + mpq\abs.c \ + mpq\aors.c \ + mpq\canonicalize.c \ + mpq\clear.c \ + mpq\cmp.c \ + mpq\cmp_si.c \ + mpq\cmp_ui.c \ + mpq\div.c \ + mpq\equal.c \ + mpq\get_d.c \ + mpq\get_den.c \ + mpq\get_num.c \ + mpq\get_str.c \ + mpq\init.c \ + mpq\inp_str.c \ + mpq\inv.c \ + mpq\md_2exp.c \ + mpq\mul.c \ + mpq\neg.c \ + mpq\out_str.c \ + mpq\set.c \ + mpq\set_d.c \ + mpq\set_den.c \ + mpq\set_f.c \ + mpq\set_num.c \ + mpq\set_si.c \ + mpq\set_str.c \ + mpq\set_ui.c \ + mpq\set_z.c \ + mpq\swap.c + +MPZ_SOURCES = \ + mpz\abs.c \ + mpz\add.c \ + mpz\add_ui.c \ + mpz\and.c \ + mpz\aorsmul.c \ + mpz\aorsmul_i.c \ + mpz\array_init.c \ + mpz\bin_ui.c \ + mpz\bin_uiui.c \ + mpz\cdiv_q.c \ + mpz\cdiv_q_ui.c \ + mpz\cdiv_qr.c \ + mpz\cdiv_qr_ui.c \ + mpz\cdiv_r.c \ + mpz\cdiv_r_ui.c \ + mpz\cdiv_ui.c \ + mpz\cfdiv_q_2exp.c \ + mpz\cfdiv_r_2exp.c \ + mpz\clear.c \ + mpz\clrbit.c \ + mpz\cmp.c \ + mpz\cmp_d.c \ + mpz\cmp_si.c \ + mpz\cmp_ui.c \ + mpz\cmpabs.c \ + mpz\cmpabs_d.c \ + mpz\cmpabs_ui.c \ + mpz\com.c \ + mpz\cong.c \ + mpz\cong_2exp.c \ + mpz\cong_ui.c \ + mpz\dive_ui.c \ + mpz\divegcd.c \ + mpz\divexact.c \ + mpz\divis.c \ + mpz\divis_2exp.c \ + mpz\divis_ui.c \ + mpz\dump.c \ + mpz\export.c \ + mpz\fac_ui.c \ + mpz\fdiv_q.c \ + mpz\fdiv_q_ui.c \ + mpz\fdiv_qr.c \ + mpz\fdiv_qr_ui.c \ + mpz\fdiv_r.c \ + mpz\fdiv_r_ui.c \ + mpz\fdiv_ui.c \ + mpz\fib2_ui.c \ + mpz\fib_ui.c \ + mpz\fits_sint.c \ + mpz\fits_slong.c \ + mpz\fits_sshort.c \ + mpz\fits_uint.c \ + mpz\fits_ulong.c \ + mpz\fits_ushort.c \ + mpz\gcd.c \ + mpz\gcd_ui.c \ + mpz\gcdext.c \ + mpz\get_d.c \ + mpz\get_d_2exp.c \ + mpz\get_si.c \ + mpz\get_str.c \ + mpz\get_ui.c \ + mpz\getlimbn.c \ + mpz\hamdist.c \ + mpz\import.c \ + mpz\init.c \ + mpz\init2.c \ + mpz\inp_raw.c \ + mpz\inp_str.c \ + mpz\invert.c \ + mpz\ior.c \ + mpz\iset.c \ + mpz\iset_d.c \ + mpz\iset_si.c \ + mpz\iset_str.c \ + mpz\iset_ui.c \ + mpz\jacobi.c \ + mpz\kronsz.c \ + mpz\kronuz.c \ + mpz\kronzs.c \ + mpz\kronzu.c \ + mpz\lcm.c \ + mpz\lcm_ui.c \ + mpz\lucnum2_ui.c \ + mpz\lucnum_ui.c \ + mpz\millerrabin.c \ + mpz\mod.c \ + mpz\mul.c \ + mpz\mul_2exp.c \ + mpz\mul_si.c \ + mpz\mul_ui.c \ + mpz\n_pow_ui.c \ + mpz\neg.c \ + mpz\nextprime.c \ + mpz\out_raw.c \ + mpz\out_str.c \ + mpz\perfpow.c \ + mpz\perfsqr.c \ + mpz\popcount.c \ + mpz\pow_ui.c \ + mpz\powm.c \ + mpz\powm_ui.c \ + mpz\pprime_p.c \ + mpz\random.c \ + mpz\random2.c \ + mpz\realloc.c \ + mpz\realloc2.c \ + mpz\remove.c \ + mpz\root.c \ + mpz\rrandomb.c \ + mpz\scan0.c \ + mpz\scan1.c \ + mpz\set.c \ + mpz\set_d.c \ + mpz\set_f.c \ + mpz\set_q.c \ + mpz\set_si.c \ + mpz\set_str.c \ + mpz\set_ui.c \ + mpz\setbit.c \ + mpz\size.c \ + mpz\sizeinbase.c \ + mpz\sqrt.c \ + mpz\sqrtrem.c \ + mpz\sub.c \ + mpz\sub_ui.c \ + mpz\swap.c \ + mpz\tdiv_q.c \ + mpz\tdiv_q_2exp.c \ + mpz\tdiv_q_ui.c \ + mpz\tdiv_qr.c \ + mpz\tdiv_qr_ui.c \ + mpz\tdiv_r.c \ + mpz\tdiv_r_2exp.c \ + mpz\tdiv_r_ui.c \ + mpz\tdiv_ui.c \ + mpz\tstbit.c \ + mpz\ui_pow_ui.c \ + mpz\ui_sub.c \ + mpz\urandomb.c \ + mpz\urandomm.c \ + mpz\xor.c \ + +PRINTF_SOURCES = \ + printf\asprintf.c \ + printf\asprntffuns.c \ + printf\doprnt.c \ + printf\doprntf.c \ + printf\doprnti.c \ + printf\fprintf.c \ + printf\obprintf.c \ + printf\obprntffuns.c \ + printf\obvprintf.c \ + printf\printf.c \ + printf\printffuns.c \ + printf\repl-vsnprintf.c \ + printf\snprintf.c \ + printf\snprntffuns.c \ + printf\sprintf.c \ + printf\sprintffuns.c \ + printf\vasprintf.c \ + printf\vfprintf.c \ + printf\vprintf.c \ + printf\vsnprintf.c \ + printf\vsprintf.c + +SCANF_SOURCES = \ + scanf\doscan.c \ + scanf\fscanf.c \ + scanf\fscanffuns.c \ + scanf\scanf.c \ + scanf\sscanf.c \ + scanf\sscanffuns.c \ + scanf\vfscanf.c \ + scanf\vscanf.c \ + scanf\vsscanf.c + +GMP_SOURCES = \ + ansi2knr.c \ + assert.c \ + compat.c \ + errno.c \ + extract-dbl.c \ + insert-dbl.c \ + memory.c \ + mp_bpl.c \ + mp_clz_tab.c \ + mp_minv_tab.c \ + mp_set_fns.c \ + rand.c \ + randclr.c \ + randdef.c \ + randlc.c \ + randlc2s.c \ + randlc2x.c \ + randraw.c \ + rands.c \ + randsd.c \ + randsdui.c \ + version.c + +MPN_GC_OBJS = $(MPN_GC_SOURCES:.c=.obj) +MPN_P0_OBJS = $(MPN_P0_ASM_SOURCES:.asm=.obj) $(MPN_P0_C_SOURCES:.c=.obj) +MPN_P3_OBJS = $(MPN_P3_ASM_SOURCES:.asm=.obj) $(MPN_P3_C_SOURCES:.c=.obj) +MPN_P4_OBJS = $(MPN_P4_ASM_SOURCES:.asm=.obj) $(MPN_P4_C_SOURCES:.c=.obj) +MPF_OBJS = $(MPF_SOURCES:.c=.obj) +MPQ_OBJS = $(MPQ_SOURCES:.c=.obj) +MPZ_OBJS = $(MPZ_SOURCES:.c=.obj) +PRINTF_OBJS = $(PRINTF_SOURCES:.c=.obj) +SCANF_OBJS = $(SCANF_SOURCES:.c=.obj) +GMP_OBJS = $(GMP_SOURCES:.c=.obj) + +GMP_ALL_OBJS = $(MPF_OBJS) $(MPQ_OBJS) $(MPZ_OBJS) \ + $(PRINTF_OBJS) $(SCANF_OBJS) $(GMP_OBJS) + +MPN_TYPE = gc + +all: gmp.lib + +mpn_gc.lib: msvc-build $(MPN_GC_OBJS) + link -lib /NOLOGO /OUT:$@ $(MPN_GC_OBJS) + +mpn_p0.lib: msvc-build $(MPN_P0_OBJS) + link -lib /NOLOGO /OUT:$@ $(MPN_P0_OBJS) + +mpn_p3.lib: msvc-build $(MPN_P3_OBJS) + link -lib /NOLOGO /OUT:$@ $(MPN_P3_OBJS) + +mpn_p4.lib: msvc-build $(MPN_P4_OBJS) + link -lib /NOLOGO /OUT:$@ $(MPN_P4_OBJS) + +gmp.lib: mpn_$(MPN_TYPE).lib $(GMP_ALL_OBJS) + link -lib /NOLOGO /OUT:$@ *.obj mpf\*.obj mpz\*.obj mpq\*.obj $(PRINTF_OBJS) $(SCANF_OBJS) mpn_$(MPN_TYPE).lib + +CFLAGS = /nologo /MD /W3 /GX /I "." /I $(srcdir) /I "$(srcdir)\mpn\generic" /D "WIN32" /D "NDEBUG" /D "_LIB" /D "_WIN32" /D "_MBCS" + +{$(srcdir)\mpn\generic}.c{mpn\generic}.obj: + cl -c $(CFLAGS) /Fo$@ $? +{$(srcdir)\mpn}.c{mpn}.obj: + cl -c $(CFLAGS) /Fo$@ $? +{$(srcdir)\mpf}.c{mpf}.obj: + cl -c $(CFLAGS) /Fo$@ $? +{$(srcdir)\mpq}.c{mpq}.obj: + cl -c $(CFLAGS) /Fo$@ $? +{$(srcdir)\mpz}.c{mpz}.obj: + cl -c $(CFLAGS) /Fo$@ $? +{$(srcdir)\printf}.c{printf}.obj: + cl -c $(CFLAGS) /Fo$@ $? +{$(srcdir)\scanf}.c{scanf}.obj: + cl -c $(CFLAGS) /Fo$@ $? +{$(srcdir)}.c{}.obj: + cl -c $(CFLAGS) /Fo$@ $? + +.asm.obj: + nasm -O9 -Xvc -f win32 -i $(@D)\ -o $@ $? + +msvc-build: config-vc6.$(MPN_TYPE) gmp.h.vc6 + copy config-vc6.$(MPN_TYPE) config.h + copy gmp.h.vc6 gmp.h + for %d in ($(AUTO_SUBDIRS)) do \ + if not exist %d mkdir %d + echo > $@ + +clean: + -erase mpn\generic\*.obj + -erase mpn\*.obj + -erase mpf\*.obj + -erase mpq\*.obj + -erase mpz\*.obj + -erase printf\*.obj + -erase scanf\*.obj + -erase *.obj + -erase mpn_*.lib + -erase gmp.lib + -for %o in ($(MPN_P0_ASM_SOURCES:.asm=.obj)) do erase %o + -for %o in ($(MPN_P3_ASM_SOURCES:.asm=.obj)) do erase %o + -for %o in ($(MPN_P4_ASM_SOURCES:.asm=.obj)) do erase %o + -for %d in ($(AUTO_SUBDIRS)) do rmdir /S /Q %d + -erase config.h + -erase gmp.h + -erase msvc-build diff --git a/msvc/util/ecl_nsi.bat b/msvc/util/ecl_nsi.bat index cd166d5e7..9c3fa48ef 100644 --- a/msvc/util/ecl_nsi.bat +++ b/msvc/util/ecl_nsi.bat @@ -1,4 +1,4 @@ -@ECHO off +REM @ECHO off REM Converted from ecl_nsi.sh SETLOCAL @@ -7,17 +7,17 @@ SET source=%1 SET where=%2 CD %where% SET dest=ecl.nsi -SET where=%CD% -ECHO %where% -REM set -x - -sed -e "/!@INSTALLFILES@/,$d" -e "s,@ECLDIR@,%where:\=\\%," %source% > %dest% -DIR /B /A:-D | sed -e "/^.*ecl.exe.*$/d" -e "/^.*ecl.nsi.*$/d" -e "s,^%where:\=\\%\\,,g" -e "s,^\(.*\)$, File \"${ECLDIR}\\\1\",g" >> %dest% -DIR /B /A:D | sed -e "s,^%where:\=\\%\\,,g" -e "s,^\(.*\)$, File /r \"${ECLDIR}\\\1\",g" >> %dest% -sed -e "1,/!@INSTALLFILES@/d;/!@DELETEFILES@/,$d" %source% >> %dest% -DIR /B /A:-D | sed -e "/^.*ecl.exe.*$/d" -e "/^.*ecl.nsi.*$/d" -e "s,^%where:\=\\%\\,,g" -e "s,^\(.*\)$, Delete \"$INSTDIR\\\1\",g" >> %dest% -DIR /B /A:D | sed -e "s,^%where:\=\\%\\,,g" -e "s,^\(.*\)$, RMDir /r \"$INSTDIR\\\1\",g" >> %dest% -sed -e "1,/!@DELETEFILES@/d" %source% >> %dest% +type %source%1 | ..\c\cut.exe "@ECLDIR@" "%where%" > %dest% +dir /s /b /a:-d | ..\c\cut.exe "ecl.exe" "/DELETE/" "ecl.nsi" "/DELETE/" "%where%\\" "" > ../aux_files +dir /s /b /a:d | ..\c\cut.exe "ecl.exe" "/DELETE/" "ecl.nsi" "/DELETE/" "%where%\\" "" > ../aux_dirs +echo HOLA +for /f %%i in (../aux_dirs) do @echo %%i +for /f %%i in (../aux_dirs) do @echo File /r "${ECLDIR}\%%i" >> %dest% +for /f %%i in (../aux_files) do @echo File "${ECLDIR}\%%i" >> %dest% +type %source%2 >> %dest% +for /f %%i in (../aux_files) do @echo Delete "$INSTDIR\%%i" >> %dest% +for /f %%i in (../aux_dirs) do @echo RMDir /r "$INSTDIR\%%i" >> %dest% +type %source%3 >> %dest% ENDLOCAL diff --git a/src/CHANGELOG b/src/CHANGELOG index ab385664f..8737141d4 100644 --- a/src/CHANGELOG +++ b/src/CHANGELOG @@ -21,6 +21,9 @@ ECL 0.9g - Generated C functions now have readable names corresponding to appropriate Lisp function names (M. Pasternacki) + - ECL now compiles with the free Microsoft Visual C++ Toolkit + 2003. Instructions are provided on how to do it. + * Errors fixed: - Now .o files compiled with :SYSTEM-P T with dash in filename load diff --git a/src/c/Makefile.in b/src/c/Makefile.in index cebb3e5b7..0ab616480 100644 --- a/src/c/Makefile.in +++ b/src/c/Makefile.in @@ -92,11 +92,11 @@ clean: # Build rules -$(DPP): $(srcdir)/dpp.c symbols_list2.h +$(DPP): $(srcdir)/dpp.c $(srcdir)/symbols_list2.h if test -f ../CROSS-DPP; then touch dpp; else \ $(TRUE_CC) @CFLAGS@ @ECL_CFLAGS@ -I../h -I./ -I$(HDIR) $(DEFS) $(srcdir)/dpp.c -o $@ ; \ fi -symbols_list2.h: $(srcdir)/symbols_list.h Makefile +$(srcdir)/symbols_list2.h: $(srcdir)/symbols_list.h Makefile cat $(srcdir)/symbols_list.h | \ sed -e 's%{\([A-Z ]*.*".*"\),[^,]*,[ ]*NULL,.*}%{\1,NULL}%g' \ -e 's%{\([A-Z ]*.*".*"\),[^,]*,[ ]*\([^,]*\),.*}%{\1,"\2"}%g' \ diff --git a/src/c/dpp.c b/src/c/dpp.c index e0670b5be..38c42e60d 100644 --- a/src/c/dpp.c +++ b/src/c/dpp.c @@ -136,12 +136,14 @@ int nres; put_lineno(void) { static int flag = 0; +#if 0 if (flag) fprintf(out, "#line %d\n", lineno); else { flag++; fprintf(out, "#line %d \"%s\"\n", lineno, filename); } +#endif } error(char *s) diff --git a/src/c/symbols_list2.h b/src/c/symbols_list2.h new file mode 100644 index 000000000..0f3f222fc --- /dev/null +++ b/src/c/symbols_list2.h @@ -0,0 +1,1528 @@ +#ifdef ECL_CMU_FORMAT +# define ECL_NAME_PPRINT(x) ECL_NAME(x) +#else +# define ECL_NAME_PPRINT(x) NULL +#endif +#ifdef ECL_FINAL +# define ECL_NAME(x) x +#else +# define ECL_NAME(x) NULL +#endif +#ifdef DPP +#define CLOS_ "CLOS::" +#define EXT_ "EXT::" +#define SYS_ "SI::" +#define MP_ "MP::" +#define KEY_ ":" +struct { + const char *name, *translation; +} +#else +#define CLOS_ +#define EXT_ +#define SYS_ +#define MP_ +#define KEY_ +cl_symbol_initializer +#endif +cl_symbols[] = { + +{"NIL",NULL}, +{"T",NULL}, +#ifdef CLOS +{SYS_ "UNBOUND","si_unbound"}, +#else +{SYS_ "UNBOUND",NULL}, +#endif + +/* LISP PACKAGE */ +{"&ALLOW-OTHER-KEYS",NULL}, +{"&AUX",NULL}, +{"&BODY",NULL}, +{"&ENVIRONMENT",NULL}, +{"&KEY",NULL}, +{"&OPTIONAL",NULL}, +{"&REST",NULL}, +{"&WHOLE",NULL}, +{"+","cl_P"}, +{"++",NULL}, +{"+++",NULL}, +{"-","cl_M"}, +{"*","cl_X"}, +{"**",NULL}, +{"***",NULL}, +{"/","cl_N"}, +{"//",NULL}, +{"///",NULL}, +{"/=","cl_NE"}, +{"*BREAK-ON-SIGNALS*",NULL}, +{"*COMPILE-FILE-PATHNAME*",NULL}, +{"*COMPILE-FILE-TRUENAME*",NULL}, +{"*COMPILE-PRINT*",NULL}, +{"*COMPILE-VERBOSE*",NULL}, +{"*DEBUG-IO*",NULL}, +{"*DEBUGGER-HOOK*",NULL}, +{"*DEFAULT-PATHNAME-DEFAULTS*",NULL}, +{"*ERROR-OUTPUT*",NULL}, +{"*FEATURES*",NULL}, +{"*GENSYM-COUNTER*",NULL}, +{"*LOAD-PATHNAME*",NULL}, +{"*LOAD-PRINT*",NULL}, +{"*LOAD-TRUENAME*",NULL}, +{"*LOAD-VERBOSE*",NULL}, +{"*MACROEXPAND-HOOK*",NULL}, +{"*MODULES*",NULL}, +{"*MODULE-PROVIDER-FUNCTIONS*",NULL}, +{"*PACKAGE*",NULL}, +{"*PRINT-ARRAY*",NULL}, +{"*PRINT-BASE*",NULL}, +{"*PRINT-CASE*",NULL}, +{"*PRINT-CIRCLE*",NULL}, +{"*PRINT-ESCAPE*",NULL}, +{"*PRINT-GENSYM*",NULL}, +{"*PRINT-LENGTH*",NULL}, +{"*PRINT-LEVEL*",NULL}, +{"*PRINT-LINES*",NULL}, +{"*PRINT-MISER-WIDTH*",NULL}, +{"*PRINT-PPRINT-DISPATCH*",NULL}, +#if defined(ECL_CMU_FORMAT) +{"*PRINT-PRETTY*",NULL}, +#else +{"*PRINT-PRETTY*",NULL}, +#endif +{"*PRINT-RADIX*",NULL}, +{"*PRINT-READABLY*",NULL}, +{"*PRINT-RIGHT-MARGIN*",NULL}, +{"*QUERY-IO*",NULL}, +{"*RANDOM-STATE*",NULL}, +{"*READ-BASE*",NULL}, +{"*READ-DEFAULT-FLOAT-FORMAT*",NULL}, +{"*READ-EVAL*",NULL}, +{"*READ-SUPPRESS*",NULL}, +{"*READTABLE*",NULL}, +{"*STANDARD-INPUT*",NULL}, +{"*STANDARD-OUTPUT*",NULL}, +{"*TERMINAL-IO*",NULL}, +{"*TRACE-OUTPUT*",NULL}, +{"1+","cl_1P"}, +{"1-","cl_1M"}, +{"<","cl_L"}, +{"<=","cl_LE"}, +{"=","cl_E"}, +{">","cl_G"}, +{">=","cl_GE"}, +{"ABORT",NULL}, +{"ABS","ECL_NAME(cl_abs)"}, +{"ACONS","cl_acons"}, +{"ACOS","ECL_NAME(cl_acos)"}, +{"ACOSH","ECL_NAME(cl_acosh)"}, +{"ADJOIN","cl_adjoin"}, +{"ADJUST-ARRAY","ECL_NAME(cl_adjust_array)"}, +{"ADJUSTABLE-ARRAY-P","cl_adjustable_array_p"}, +{"ALPHA-CHAR-P","cl_alpha_char_p"}, +{"ALPHANUMERICP","cl_alphanumericp"}, +{"AND",NULL}, +{"APPEND","cl_append"}, +{"APPLY","cl_apply"}, +{"APROPOS","ECL_NAME(cl_apropos)"}, +{"APROPOS-LIST","ECL_NAME(cl_apropos_list)"}, +{"AREF","cl_aref"}, +{"ARITHMETIC-ERROR",NULL}, +{"ARITHMETIC-ERROR-OPERANDS",NULL}, +{"ARITHMETIC-ERROR-OPERATION",NULL}, +{"ARRAY",NULL}, +{"ARRAY-DIMENSION","cl_array_dimension"}, +{"ARRAY-DIMENSION-LIMIT",NULL}, +{"ARRAY-DIMENSIONS","ECL_NAME(cl_array_dimensions)"}, +{"ARRAY-DISPLACEMENT","cl_array_displacement"}, +{"ARRAY-ELEMENT-TYPE","cl_array_element_type"}, +{"ARRAY-HAS-FILL-POINTER-P","cl_array_has_fill_pointer_p"}, +{"ARRAY-IN-BOUNDS-P","ECL_NAME(cl_array_in_bounds_p)"}, +{"ARRAY-RANK","cl_array_rank"}, +{"ARRAY-RANK-LIMIT",NULL}, +{"ARRAY-ROW-MAJOR-INDEX","ECL_NAME(cl_array_row_major_index)"}, +{"ARRAY-TOTAL-SIZE","cl_array_total_size"}, +{"ARRAY-TOTAL-SIZE-LIMIT",NULL}, +{"ARRAYP","cl_arrayp"}, +{"ASH","cl_ash"}, +{"ASIN","ECL_NAME(cl_asin)"}, +{"ASINH","ECL_NAME(cl_asinh)"}, +{"ASSERT",NULL}, +{"ASSOC","cl_assoc"}, +{"ASSOC-IF","ECL_NAME(cl_assoc_if)"}, +{"ASSOC-IF-NOT","ECL_NAME(cl_assoc_if_not)"}, +{"ATAN","cl_atan"}, +{"ATANH","ECL_NAME(cl_atanh)"}, +{"ATOM","cl_atom"}, +{"BASE-CHAR",NULL}, +{"BASE-STRING",NULL}, +{"BIGNUM",NULL}, +{"BIT","ECL_NAME(cl_bit)"}, +{"BIT-AND","ECL_NAME(cl_bit_and)"}, +{"BIT-ANDC1","ECL_NAME(cl_bit_andc1)"}, +{"BIT-ANDC2","ECL_NAME(cl_bit_andc2)"}, +{"BIT-EQV","ECL_NAME(cl_bit_eqv)"}, +{"BIT-IOR","ECL_NAME(cl_bit_ior)"}, +{"BIT-NAND","ECL_NAME(cl_bit_nand)"}, +{"BIT-NOR","ECL_NAME(cl_bit_nor)"}, +{"BIT-NOT","ECL_NAME(cl_bit_not)"}, +{"BIT-ORC1","ECL_NAME(cl_bit_orc1)"}, +{"BIT-ORC2","ECL_NAME(cl_bit_orc2)"}, +{"BIT-VECTOR",NULL}, +{"BIT-VECTOR-P","cl_bit_vector_p"}, +{"BIT-XOR","ECL_NAME(cl_bit_xor)"}, +{"BLOCK",NULL}, +{"BOOLE","cl_boole"}, +{"BOOLE-1",NULL}, +{"BOOLE-2",NULL}, +{"BOOLE-AND",NULL}, +{"BOOLE-ANDC1",NULL}, +{"BOOLE-ANDC2",NULL}, +{"BOOLE-C1",NULL}, +{"BOOLE-C2",NULL}, +{"BOOLE-CLR",NULL}, +{"BOOLE-EQV",NULL}, +{"BOOLE-IOR",NULL}, +{"BOOLE-NAND",NULL}, +{"BOOLE-NOR",NULL}, +{"BOOLE-ORC1",NULL}, +{"BOOLE-ORC2",NULL}, +{"BOOLE-SET",NULL}, +{"BOOLE-XOR",NULL}, +{"BOOLEAN",NULL}, +{"BOTH-CASE-P","cl_both_case_p"}, +{"BOUNDP","cl_boundp"}, +{"BREAK",NULL}, +{"BROADCAST-STREAM",NULL}, +{"BROADCAST-STREAM-STREAMS","cl_broadcast_stream_streams"}, +{"BUTLAST","cl_butlast"}, +{"BYTE","ECL_NAME(cl_byte)"}, +{"BYTE-POSITION","ECL_NAME(cl_byte_position)"}, +{"BYTE-SIZE","ECL_NAME(cl_byte_size)"}, +{"CAAAAR","cl_caaaar"}, +{"CAAADR","cl_caaadr"}, +{"CAAAR","cl_caaar"}, +{"CAADAR","cl_caadar"}, +{"CAADDR","cl_caaddr"}, +{"CAADR","cl_caadr"}, +{"CAAR","cl_caar"}, +{"CADAAR","cl_cadaar"}, +{"CADADR","cl_cadadr"}, +{"CADAR","cl_cadar"}, +{"CADDAR","cl_caddar"}, +{"CADDDR","cl_cadddr"}, +{"CADDR","cl_caddr"}, +{"CADR","cl_cadr"}, +{"CALL-ARGUMENTS-LIMIT",NULL}, +{"CAR","cl_car"}, +{"CASE",NULL}, +{"CATCH",NULL}, +{"CCASE",NULL}, +{"CDAAAR","cl_cdaaar"}, +{"CDAADR","cl_cdaadr"}, +{"CDAAR","cl_cdaar"}, +{"CDADAR","cl_cdadar"}, +{"CDADDR","cl_cdaddr"}, +{"CDADR","cl_cdadr"}, +{"CDAR","cl_cdar"}, +{"CDDAAR","cl_cddaar"}, +{"CDDADR","cl_cddadr"}, +{"CDDAR","cl_cddar"}, +{"CDDDAR","cl_cdddar"}, +{"CDDDDR","cl_cddddr"}, +{"CDDDR","cl_cdddr"}, +{"CDDR","cl_cddr"}, +{"CDR","cl_cdr"}, +{"CEILING","cl_ceiling"}, +{"CELL-ERROR",NULL}, +{"CELL-ERROR-NAME",NULL}, +{"CERROR","cl_cerror"}, +{"CHAR","cl_char"}, +{"CHAR-CODE","cl_char_code"}, +{"CHAR-CODE-LIMIT",NULL}, +{"CHAR-DOWNCASE","cl_char_downcase"}, +{"CHAR-EQUAL","cl_char_equal"}, +{"CHAR-GREATERP","cl_char_greaterp"}, +{"CHAR-INT","cl_char_int"}, +{"CHAR-LESSP","cl_char_lessp"}, +{"CHAR-NAME","cl_char_name"}, +{"CHAR-NOT-EQUAL","cl_char_not_equal"}, +{"CHAR-NOT-GREATERP","cl_char_not_greaterp"}, +{"CHAR-NOT-LESSP","cl_char_not_lessp"}, +{"CHAR-UPCASE","cl_char_upcase"}, +{"CHAR/=","cl_charNE"}, +{"CHAR<","cl_charL"}, +{"CHAR<=","cl_charLE"}, +{"CHAR=","cl_charE"}, +{"CHAR>","cl_charG"}, +{"CHAR>=","cl_charGE"}, +{"CHARACTER","cl_character"}, +{"CHARACTERP","cl_characterp"}, +{"CHECK-TYPE",NULL}, +{"CIS","ECL_NAME(cl_cis)"}, +{"CLEAR-INPUT","cl_clear_input"}, +{"CLEAR-OUTPUT","cl_clear_output"}, +{"CLOSE","cl_close"}, +{"CLRHASH","cl_clrhash"}, +{"CODE-CHAR","cl_code_char"}, +{"COERCE","ECL_NAME(cl_coerce)"}, +{"COMPILATION-SPEED",NULL}, +{"COMPILE",NULL}, +{"COMPILE-FILE",NULL}, +{"COMPILE-FILE-PATHNAME",NULL}, +{"COMPILED-FUNCTION",NULL}, +{"COMPILED-FUNCTION-P","cl_compiled_function_p"}, +{"COMPILER-MACRO",NULL}, +{"COMPILER-MACRO-FUNCTION",NULL}, +{"COMPLEMENT",NULL}, +{"COMPLEX","cl_complex"}, +{"COMPLEXP","cl_complexp"}, +{"COMPUTE-RESTARTS",NULL}, +{"CONCATENATE","ECL_NAME(cl_concatenate)"}, +{"CONCATENATED-STREAM",NULL}, +{"CONCATENATED-STREAM-STREAMS","cl_concatenated_stream_streams"}, +{"COND",NULL}, +{"CONDITION",NULL}, +{"CONJUGATE","cl_conjugate"}, +{"CONTINUE",NULL}, +{"CONS","cl_cons"}, +{"CONSP","cl_consp"}, +{"CONSTANTLY","ECL_NAME(cl_constantly)"}, +{"CONSTANTP","cl_constantp"}, +{"CONTROL-ERROR",NULL}, +{"COPY-ALIST","cl_copy_alist"}, +{"COPY-LIST","cl_copy_list"}, +{"COPY-PPRINT-DISPATCH","ECL_NAME_PPRINT(cl_copy_pprint_dispatch)"}, +{"COPY-READTABLE","cl_copy_readtable"}, +{"COPY-SEQ","cl_copy_seq"}, +{"COPY-STRUCTURE","cl_copy_structure"}, +{"COPY-SYMBOL","cl_copy_symbol"}, +{"COPY-TREE","cl_copy_tree"}, +{"COS","cl_cos"}, +{"COSH","cl_cosh"}, +{"COUNT","ECL_NAME(cl_count)"}, +{"COUNT-IF","ECL_NAME(cl_count_if)"}, +{"COUNT-IF-NOT","ECL_NAME(cl_count_if_not)"}, +{"CTYPECASE",NULL}, +{"DEBUG",NULL}, +{"DECF",NULL}, +{"DECLAIM",NULL}, +{"DECLARATION",NULL}, +{"DECLARE",NULL}, +{"DECODE-FLOAT","cl_decode_float"}, +{"DECODE-UNIVERSAL-TIME","ECL_NAME(cl_decode_universal_time)"}, +{"DEFCONSTANT",NULL}, +{"DEFINE-CONDITION",NULL}, +{"DEFINE-COMPILER-MACRO",NULL}, +{"DEFINE-MODIFY-MACRO",NULL}, +{"DEFINE-SETF-EXPANDER",NULL}, +{"DEFINE-SYMBOL-MACRO",NULL}, +{"DEFMACRO",NULL}, +{"DEFPACKAGE",NULL}, +{"DEFPARAMETER",NULL}, +{"DEFSETF",NULL}, +{"DEFSTRUCT",NULL}, +{"DEFTYPE",NULL}, +{"DEFUN",NULL}, +{"DEFVAR",NULL}, +{"DELETE","ECL_NAME(cl_delete)"}, +{"DELETE-DUPLICATES","ECL_NAME(cl_delete_duplicates)"}, +{"DELETE-FILE","cl_delete_file"}, +{"DELETE-IF","ECL_NAME(cl_delete_if)"}, +{"DELETE-IF-NOT","ECL_NAME(cl_delete_if_not)"}, +{"DELETE-PACKAGE","cl_delete_package"}, +{"DENOMINATOR","cl_denominator"}, +{"DEPOSIT-FIELD","ECL_NAME(cl_deposit_field)"}, +{"DESCRIBE",NULL}, +{"DESTRUCTURING-BIND",NULL}, +{"DIGIT-CHAR","cl_digit_char"}, +{"DIGIT-CHAR-P","cl_digit_char_p"}, +{"DIRECTORY","cl_directory"}, +{"DIRECTORY-NAMESTRING","cl_directory_namestring"}, +{"DISASSEMBLE",NULL}, +{"DIVISION-BY-ZERO",NULL}, +{"DO",NULL}, +{"DO*",NULL}, +{"DO-ALL-SYMBOLS",NULL}, +{"DO-EXTERNAL-SYMBOLS",NULL}, +{"DO-SYMBOLS",NULL}, +{"DOCUMENTATION",NULL}, +{"DOLIST",NULL}, +{"DOTIMES",NULL}, +{"DOUBLE-FLOAT",NULL}, +{"DOUBLE-FLOAT-EPSILON",NULL}, +{"DOUBLE-FLOAT-NEGATIVE-EPSILON",NULL}, +{"DPB","ECL_NAME(cl_dpb)"}, +{"DRIBBLE",NULL}, +{"DYNAMIC-EXTENT",NULL}, +{"ECASE",NULL}, +{"ECHO-STREAM",NULL}, +{"ECHO-STREAM-INPUT-STREAM","cl_echo_stream_input_stream"}, +{"ECHO-STREAM-OUTPUT-STREAM","cl_echo_stream_output_stream"}, +{"ED",NULL}, +{"EIGHTH","cl_eighth"}, +{"ELT","cl_elt"}, +{"ENCODE-UNIVERSAL-TIME","ECL_NAME(cl_encode_universal_time)"}, +{"END-OF-FILE",NULL}, +{"ENDP","cl_endp"}, +{"ENOUGH-NAMESTRING","cl_enough_namestring"}, +{"ENSURE-DIRECTORIES-EXIST","ECL_NAME(cl_ensure_directories_exist)"}, +{"EQ","cl_eq"}, +{"EQL","cl_eql"}, +{"EQUAL","cl_equal"}, +{"EQUALP","cl_equalp"}, +{"ERROR","cl_error"}, +{"ETYPECASE",NULL}, +{"EVAL","cl_eval"}, +{"EVAL-WHEN",NULL}, +{"EVENP","cl_evenp"}, +{"EVERY","ECL_NAME(cl_every)"}, +{"EXP","cl_exp"}, +{"EXPORT","cl_export"}, +{"EXPT","cl_expt"}, +{"EXTENDED-CHAR",NULL}, +{"FBOUNDP","cl_fboundp"}, +{"FCEILING","ECL_NAME(cl_fceiling)"}, +{"FDEFINITION","cl_fdefinition"}, +{"FFLOOR","ECL_NAME(cl_ffloor)"}, +{"FIFTH","cl_fifth"}, +{"FILE-AUTHOR","cl_file_author"}, +{"FILE-ERROR",NULL}, +{"FILE-ERROR-PATHNAME",NULL}, +{"FILE-LENGTH","cl_file_length"}, +{"FILE-NAMESTRING","cl_file_namestring"}, +{"FILE-POSITION","cl_file_position"}, +{"FILE-STREAM",NULL}, +{"FILE-STRING-LENGTH","cl_file_string_length"}, +{"FILE-WRITE-DATE","cl_file_write_date"}, +{"FILL","ECL_NAME(cl_fill)"}, +{"FILL-POINTER","cl_fill_pointer"}, +{"FIND","ECL_NAME(cl_find)"}, +{"FIND-ALL-SYMBOLS","ECL_NAME(cl_find_all_symbols)"}, +{"FIND-IF","ECL_NAME(cl_find_if)"}, +{"FIND-IF-NOT","ECL_NAME(cl_find_if_not)"}, +{"FIND-PACKAGE","cl_find_package"}, +{"FIND-RESTART",NULL}, +{"FIND-SYMBOL","cl_find_symbol"}, +{"FINISH-OUTPUT","cl_finish_output"}, +{"FIRST","cl_car"}, +{"FIXNUM",NULL}, +{"FLET",NULL}, +{"FLOAT","cl_float"}, +{"FLOAT-DIGITS","cl_float_digits"}, +{"FLOAT-PRECISION","cl_float_precision"}, +{"FLOAT-RADIX","cl_float_radix"}, +{"FLOAT-SIGN","cl_float_sign"}, +{"FLOATING-POINT-INEXACT",NULL}, +{"FLOATING-POINT-INVALID-OPERATION",NULL}, +{"FLOATING-POINT-OVERFLOW",NULL}, +{"FLOATING-POINT-UNDERFLOW",NULL}, +{"FLOATP","cl_floatp"}, +{"FLOOR","cl_floor"}, +{"FMAKUNBOUND","cl_fmakunbound"}, +{"FORCE-OUTPUT","cl_force_output"}, +{"FORMAT","cl_format"}, +{"FORMATTER",NULL}, +{"FOURTH","cl_cadddr"}, +{"FRESH-LINE","cl_fresh_line"}, +{"FROUND","ECL_NAME(cl_fround)"}, +{"FTRUNCATE","ECL_NAME(cl_ftruncate)"}, +{"FTYPE",NULL}, +{"FUNCALL","cl_funcall"}, +{"FUNCTION-LAMBDA-EXPRESSION","cl_function_lambda_expression"}, +{"FUNCTION",NULL}, +{"FUNCTION-KEYWORDS",NULL}, +{"FUNCTIONP","cl_functionp"}, +{"GCD","cl_gcd"}, +{"GENSYM","cl_gensym"}, +{"GENTEMP","cl_gentemp"}, +{"GET","cl_get"}, +{"GET-DECODED-TIME","ECL_NAME(cl_get_decoded_time)"}, +{"GET-DISPATCH-MACRO-CHARACTER","cl_get_dispatch_macro_character"}, +{"GET-INTERNAL-REAL-TIME","cl_get_internal_real_time"}, +{"GET-INTERNAL-RUN-TIME","cl_get_internal_run_time"}, +{"GET-MACRO-CHARACTER","cl_get_macro_character"}, +{"GET-OUTPUT-STREAM-STRING","cl_get_output_stream_string"}, +{"GET-PROPERTIES","cl_get_properties"}, +{"GET-SETF-EXPANSION",NULL}, +{"GET-UNIVERSAL-TIME","cl_get_universal_time"}, +{"GETF","cl_getf"}, +{"GETHASH","cl_gethash"}, +{"GO",NULL}, +{"GRAPHIC-CHAR-P","cl_graphic_char_p"}, +{"HANDLER-CASE",NULL}, +{"HANDLER-BIND",NULL}, +{"HASH-TABLE",NULL}, +{"HASH-TABLE-COUNT","cl_hash_table_count"}, +{"HASH-TABLE-P","cl_hash_table_p"}, +{"HASH-TABLE-REHASH-SIZE","cl_hash_table_rehash_size"}, +{"HASH-TABLE-REHASH-THRESHOLD","cl_hash_table_rehash_threshold"}, +{"HASH-TABLE-SIZE","cl_hash_table_size"}, +{"HASH-TABLE-TEST","cl_hash_table_test"}, +{"HOST-NAMESTRING","cl_host_namestring"}, +{"IDENTITY","cl_identity"}, +{"IGNORABLE",NULL}, +{"IGNORE",NULL}, +{"IGNORE-ERRORS",NULL}, +{"IMAGPART","cl_imagpart"}, +{"IMPORT","cl_import"}, +{"IN-PACKAGE",NULL}, +{"INCF",NULL}, +{"INLINE",NULL}, +{"INPUT-STREAM-P","cl_input_stream_p"}, +{"INSPECT",NULL}, +{"INTEGER",NULL}, +{"INTEGER-DECODE-FLOAT","cl_integer_decode_float"}, +{"INTEGER-LENGTH","cl_integer_length"}, +{"INTEGERP","cl_integerp"}, +{"INTERACTIVE-STREAM-P","cl_interactive_stream_p"}, +{"INTERN","cl_intern"}, +{"INTERNAL-TIME-UNITS-PER-SECOND",NULL}, +{"INTERSECTION","ECL_NAME(cl_intersection)"}, +{"INVOKE-DEBUGGER",NULL}, +{"INVOKE-RESTART",NULL}, +{"INVOKE-RESTART-INTERACTIVELY",NULL}, +{"ISQRT","ECL_NAME(cl_isqrt)"}, +{"KEYWORD",NULL}, +{"KEYWORDP","cl_keywordp"}, +{"LABELS",NULL}, +{"LAMBDA",NULL}, +{"LAMBDA-LIST-KEYWORDS",NULL}, +{"LAMBDA-PARAMETERS-LIMIT",NULL}, +{"LAST","cl_last"}, +{"LCM","cl_lcm"}, +{"LDB","ECL_NAME(cl_ldb)"}, +{"LDB-TEST","ECL_NAME(cl_ldb_test)"}, +{"LDIFF","cl_ldiff"}, +{"LEAST-NEGATIVE-DOUBLE-FLOAT",NULL}, +{"LEAST-NEGATIVE-LONG-FLOAT",NULL}, +{"LEAST-NEGATIVE-NORMALIZED-DOUBLE-FLOAT",NULL}, +{"LEAST-NEGATIVE-NORMALIZED-LONG-FLOAT",NULL}, +{"LEAST-NEGATIVE-NORMALIZED-SHORT-FLOAT",NULL}, +{"LEAST-NEGATIVE-NORMALIZED-SINGLE-FLOAT",NULL}, +{"LEAST-NEGATIVE-SHORT-FLOAT",NULL}, +{"LEAST-NEGATIVE-SINGLE-FLOAT",NULL}, +{"LEAST-POSITIVE-DOUBLE-FLOAT",NULL}, +{"LEAST-POSITIVE-LONG-FLOAT",NULL}, +{"LEAST-POSITIVE-NORMALIZED-DOUBLE-FLOAT",NULL}, +{"LEAST-POSITIVE-NORMALIZED-LONG-FLOAT",NULL}, +{"LEAST-POSITIVE-NORMALIZED-SHORT-FLOAT",NULL}, +{"LEAST-POSITIVE-NORMALIZED-SINGLE-FLOAT",NULL}, +{"LEAST-POSITIVE-SHORT-FLOAT",NULL}, +{"LEAST-POSITIVE-SINGLE-FLOAT",NULL}, +{"LENGTH","cl_length"}, +{"LET",NULL}, +{"LET*",NULL}, +{"LISP-IMPLEMENTATION-TYPE",NULL}, +{"LISP-IMPLEMENTATION-VERSION",NULL}, +{"LIST","cl_list"}, +{"LIST*","cl_listX"}, +{"LIST-ALL-PACKAGES","cl_list_all_packages"}, +{"LIST-LENGTH","cl_list_length"}, +{"LISTEN","cl_listen"}, +{"LISTP","cl_listp"}, +{"LOAD","cl_load"}, +{"LOAD-LOGICAL-PATHNAME-TRANSLATIONS","ECL_NAME(cl_load_logical_pathname_translations)"}, +{"LOAD-TIME-VALUE",NULL}, +{"LOCALLY",NULL}, +{"LOG","cl_log"}, +{"LOGAND","cl_logand"}, +{"LOGANDC1","cl_logandc1"}, +{"LOGANDC2","cl_logandc2"}, +{"LOGBITP","cl_logbitp"}, +{"LOGCOUNT","cl_logcount"}, +{"LOGEQV","cl_logeqv"}, +{"LOGICAL-PATHNAME","cl_logical_pathname"}, +{"LOGICAL-PATHNAME-TRANSLATIONS","ECL_NAME(cl_logical_pathname_translations)"}, +{"LOGIOR","cl_logior"}, +{"LOGNAND","cl_lognand"}, +{"LOGNOR","cl_lognor"}, +{"LOGNOT","cl_lognot"}, +{"LOGORC1","cl_logorc1"}, +{"LOGORC2","cl_logorc2"}, +{"LOGTEST","ECL_NAME(cl_logtest)"}, +{"LOGXOR","cl_logxor"}, +{"LONG-FLOAT",NULL}, +{"LONG-FLOAT-EPSILON",NULL}, +{"LONG-FLOAT-NEGATIVE-EPSILON",NULL}, +{"LONG-SITE-NAME",NULL}, +{"LOOP",NULL}, +{"LOOP-FINISH",NULL}, +{"LOWER-CASE-P","cl_lower_case_p"}, +{"MACHINE-INSTANCE",NULL}, +{"MACHINE-TYPE",NULL}, +{"MACHINE-VERSION",NULL}, +{"MACRO-FUNCTION","cl_macro_function"}, +{"MACROEXPAND","cl_macroexpand"}, +{"MACROEXPAND-1","cl_macroexpand_1"}, +{"MACROLET",NULL}, +{"MAKE-ARRAY","ECL_NAME(cl_make_array)"}, +{"MAKE-BROADCAST-STREAM","cl_make_broadcast_stream"}, +{"MAKE-CONDITION",NULL}, +{"MAKE-CONCATENATED-STREAM","cl_make_concatenated_stream"}, +{"MAKE-DISPATCH-MACRO-CHARACTER","cl_make_dispatch_macro_character"}, +{"MAKE-ECHO-STREAM","cl_make_echo_stream"}, +{"MAKE-HASH-TABLE","cl_make_hash_table"}, +{"MAKE-LIST","cl_make_list"}, +{"MAKE-PACKAGE","cl_make_package"}, +{"MAKE-PATHNAME","cl_make_pathname"}, +{"MAKE-RANDOM-STATE","cl_make_random_state"}, +{"MAKE-SEQUENCE","ECL_NAME(cl_make_sequence)"}, +{"MAKE-STRING","cl_make_string"}, +{"MAKE-STRING-INPUT-STREAM","cl_make_string_input_stream"}, +{"MAKE-STRING-OUTPUT-STREAM","cl_make_string_output_stream"}, +{"MAKE-SYMBOL","cl_make_symbol"}, +{"MAKE-SYNONYM-STREAM","cl_make_synonym_stream"}, +{"MAKE-TWO-WAY-STREAM","cl_make_two_way_stream"}, +{"MAKUNBOUND","cl_makunbound"}, +{"MAP","ECL_NAME(cl_map)"}, +{"MAP-INTO","ECL_NAME(cl_map_into)"}, +{"MAPC","cl_mapc"}, +{"MAPCAN","cl_mapcan"}, +{"MAPCAR","cl_mapcar"}, +{"MAPCON","cl_mapcon"}, +{"MAPHASH","cl_maphash"}, +{"MAPL","cl_mapl"}, +{"MAPLIST","cl_maplist"}, +{"MASK-FIELD","ECL_NAME(cl_mask_field)"}, +{"MAX","cl_max"}, +{"MEMBER","cl_member"}, +{"MEMBER-IF","ECL_NAME(cl_member_if)"}, +{"MEMBER-IF-NOT","ECL_NAME(cl_member_if_not)"}, +{"MERGE","ECL_NAME(cl_merge)"}, +{"MERGE-PATHNAMES","cl_merge_pathnames"}, +{"MIN","cl_min"}, +{"MINUSP","cl_minusp"}, +{"MISMATCH","ECL_NAME(cl_mismatch)"}, +{"MOD","cl_mod"}, +{"MOST-NEGATIVE-DOUBLE-FLOAT",NULL}, +{"MOST-NEGATIVE-FIXNUM",NULL}, +{"MOST-NEGATIVE-LONG-FLOAT",NULL}, +{"MOST-NEGATIVE-SHORT-FLOAT",NULL}, +{"MOST-NEGATIVE-SINGLE-FLOAT",NULL}, +{"MOST-POSITIVE-DOUBLE-FLOAT",NULL}, +{"MOST-POSITIVE-FIXNUM",NULL}, +{"MOST-POSITIVE-LONG-FLOAT",NULL}, +{"MOST-POSITIVE-SHORT-FLOAT",NULL}, +{"MOST-POSITIVE-SINGLE-FLOAT",NULL}, +{"MUFFLE-WARNING",NULL}, +{"MULTIPLE-VALUE-BIND",NULL}, +{"MULTIPLE-VALUE-CALL",NULL}, +{"MULTIPLE-VALUE-LIST",NULL}, +{"MULTIPLE-VALUE-PROG1",NULL}, +{"MULTIPLE-VALUE-SETQ",NULL}, +{"MULTIPLE-VALUES-LIMIT",NULL}, +{"NAME-CHAR","cl_name_char"}, +{"NAMESTRING","cl_namestring"}, +{"NBUTLAST","cl_nbutlast"}, +{"NCONC","cl_nconc"}, +{"NINTERSECTION","ECL_NAME(cl_nintersection)"}, +{"NINTH","cl_ninth"}, +{"NOT","cl_not"}, +{"NOTANY","ECL_NAME(cl_notany)"}, +{"NOTEVERY","ECL_NAME(cl_notevery)"}, +{"NOTINLINE",NULL}, +{"NRECONC","cl_nreconc"}, +{"NREVERSE","cl_nreverse"}, +{"NSET-DIFFERENCE","ECL_NAME(cl_nset_difference)"}, +{"NSET-EXCLUSIVE-OR","ECL_NAME(cl_nset_exclusive_or)"}, +{"NSTRING-CAPITALIZE","cl_nstring_capitalize"}, +{"NSTRING-DOWNCASE","cl_nstring_downcase"}, +{"NSTRING-UPCASE","cl_nstring_upcase"}, +{"NSUBLIS","cl_nsublis"}, +{"NSUBST","cl_nsubst"}, +{"NSUBST-IF","ECL_NAME(cl_nsubst_if)"}, +{"NSUBST-IF-NOT","ECL_NAME(cl_nsubst_if_not)"}, +{"NSUBSTITUTE","ECL_NAME(cl_nsubstitute)"}, +{"NSUBSTITUTE-IF","ECL_NAME(cl_nsubstitute_if)"}, +{"NSUBSTITUTE-IF-NOT","ECL_NAME(cl_nsubstitute_if_not)"}, +{"NTH","cl_nth"}, +{"NTH-VALUE",NULL}, +{"NTHCDR","cl_nthcdr"}, +{"NULL","cl_null"}, +{"NUMBER",NULL}, +{"NUMBERP","cl_numberp"}, +{"NUMERATOR","cl_numerator"}, +{"NUNION","ECL_NAME(cl_nunion)"}, +{"ODDP","cl_oddp"}, +{"OPEN","cl_open"}, +{"OPEN-STREAM-P","cl_open_stream_p"}, +{"OPTIMIZE",NULL}, +{"OR",NULL}, +{"OTHERWISE",NULL}, +{"OUTPUT-STREAM-P","cl_output_stream_p"}, +{"PACKAGE",NULL}, +{"PACKAGE-ERROR",NULL}, +{"PACKAGE-ERROR-PACKAGE",NULL}, +{"PACKAGE-NAME","cl_package_name"}, +{"PACKAGE-NICKNAMES","cl_package_nicknames"}, +{"PACKAGE-SHADOWING-SYMBOLS","cl_package_shadowing_symbols"}, +{"PACKAGE-USE-LIST","cl_package_use_list"}, +{"PACKAGE-USED-BY-LIST","cl_package_used_by_list"}, +{"PACKAGEP","cl_packagep"}, +{"PAIRLIS","cl_pairlis"}, +{"PARSE-ERROR",NULL}, +{"PARSE-INTEGER","cl_parse_integer"}, +{"PARSE-NAMESTRING","cl_parse_namestring"}, +{"PATHNAME","cl_pathname"}, +{"PATHNAME-DEVICE","cl_pathname_device"}, +{"PATHNAME-DIRECTORY","cl_pathname_directory"}, +{"PATHNAME-HOST","cl_pathname_host"}, +{"PATHNAME-MATCH-P","cl_pathname_match_p"}, +{"PATHNAME-NAME","cl_pathname_name"}, +{"PATHNAME-TYPE","cl_pathname_type"}, +{"PATHNAME-VERSION","cl_pathname_version"}, +{"PATHNAMEP","cl_pathnamep"}, +{"PEEK-CHAR","cl_peek_char"}, +{"PHASE","ECL_NAME(cl_phase)"}, +{"PI",NULL}, +{"PLUSP","cl_plusp"}, +{"POP",NULL}, +{"POSITION","ECL_NAME(cl_position)"}, +{"POSITION-IF","ECL_NAME(cl_position_if)"}, +{"POSITION-IF-NOT","ECL_NAME(cl_position_if_not)"}, +{"PPRINT","cl_pprint"}, +{"PPRINT-DISPATCH","ECL_NAME_PPRINT(cl_pprint_dispatch)"}, +{"PPRINT-EXIT-IF-LIST-EXHAUSTED",NULL}, +{"PPRINT-FILL","ECL_NAME_PPRINT(cl_pprint_fill)"}, +{"PPRINT-INDENT","ECL_NAME_PPRINT(cl_pprint_indent)"}, +{"PPRINT-LINEAR","ECL_NAME_PPRINT(cl_pprint_linear)"}, +{"PPRINT-LOGICAL-BLOCK",NULL}, +{"PPRINT-NEWLINE","ECL_NAME_PPRINT(cl_pprint_newline)"}, +{"PPRINT-POP",NULL}, +{"PPRINT-TAB","ECL_NAME_PPRINT(cl_pprint_tab)"}, +{"PPRINT-TABULAR","ECL_NAME_PPRINT(cl_pprint_tabular)"}, +{"PRIN1","cl_prin1"}, +{"PRIN1-TO-STRING","ECL_NAME(cl_prin1_to_string)"}, +{"PRINC","cl_princ"}, +{"PRINC-TO-STRING","ECL_NAME(cl_princ_to_string)"}, +{"PRINT","cl_print"}, +{"PRINT-NOT-READABLE",NULL}, +{"PRINT-NOT-READABLE-OBJECT",NULL}, +{"PROBE-FILE","cl_probe_file"}, +{"PROCLAIM",NULL}, +{"PROG",NULL}, +{"PROG*",NULL}, +{"PROG1",NULL}, +{"PROG2",NULL}, +{"PROGN",NULL}, +{"PROGRAM-ERROR",NULL}, +{"PROGV",NULL}, +{"PROVIDE","ECL_NAME(cl_provide)"}, +{"PSETF",NULL}, +{"PSETQ",NULL}, +{"PUSH",NULL}, +{"PUSHNEW",NULL}, +{"QUOTE",NULL}, +{"RANDOM","cl_random"}, +{"RANDOM-STATE",NULL}, +{"RANDOM-STATE-P","cl_random_state_p"}, +{"RASSOC","cl_rassoc"}, +{"RASSOC-IF","ECL_NAME(cl_rassoc_if)"}, +{"RASSOC-IF-NOT","ECL_NAME(cl_rassoc_if_not)"}, +{"RATIO",NULL}, +{"RATIONAL","cl_rational"}, +{"RATIONALIZE","cl_rationalize"}, +{"RATIONALP","cl_rationalp"}, +{"READ","cl_read"}, +{"READ-BYTE","cl_read_byte"}, +{"READ-CHAR","cl_read_char"}, +{"READ-CHAR-NO-HANG","cl_read_char_no_hang"}, +{"READ-DELIMITED-LIST","cl_read_delimited_list"}, +{"READ-FROM-STRING","ECL_NAME(cl_read_from_string)"}, +{"READ-LINE","cl_read_line"}, +{"READ-PRESERVING-WHITESPACE","cl_read_preserving_whitespace"}, +{"READ-SEQUENCE","cl_read_sequence"}, +{"READER-ERROR",NULL}, +{"READTABLE",NULL}, +{"READTABLE-CASE","cl_readtable_case"}, +{"READTABLEP","cl_readtablep"}, +{"REAL",NULL}, +{"REALP","cl_realp"}, +{"REALPART","cl_realpart"}, +{"REDUCE","ECL_NAME(cl_reduce)"}, +{"REM","cl_rem"}, +{"REMF",NULL}, +{"REMHASH","cl_remhash"}, +{"REMOVE","ECL_NAME(cl_remove)"}, +{"REMOVE-DUPLICATES","ECL_NAME(cl_remove_duplicates)"}, +{"REMOVE-IF","ECL_NAME(cl_remove_if)"}, +{"REMOVE-IF-NOT","ECL_NAME(cl_remove_if_not)"}, +{"REMPROP","cl_remprop"}, +{"RENAME-FILE","cl_rename_file"}, +{"RENAME-PACKAGE","cl_rename_package"}, +{"REPLACE","ECL_NAME(cl_replace)"}, +{"REQUIRE","ECL_NAME(cl_require)"}, +{"REST","cl_cdr"}, +{"RESTART",NULL}, +{"RESTART-BIND",NULL}, +{"RESTART-CASE",NULL}, +{"RESTART-NAME",NULL}, +{"RETURN",NULL}, +{"RETURN-FROM",NULL}, +{"REVAPPEND","cl_revappend"}, +{"REVERSE","cl_reverse"}, +{"ROOM",NULL}, +{"ROTATEF",NULL}, +{"ROUND","cl_round"}, +{"ROW-MAJOR-AREF","cl_row_major_aref"}, +{"RPLACA","cl_rplaca"}, +{"RPLACD","cl_rplacd"}, +{"SAFETY",NULL}, +{"SATISFIES",NULL}, +{"SBIT","ECL_NAME(cl_sbit)"}, +{"SCALE-FLOAT","cl_scale_float"}, +{"SCHAR","cl_char"}, +{"SEARCH","ECL_NAME(cl_search)"}, +{"SECOND","cl_cadr"}, +{"SEQUENCE",NULL}, +{"SERIOUS-CONDITION",NULL}, +{"SET","cl_set"}, +{"SET-DIFFERENCE","ECL_NAME(cl_set_difference)"}, +{"SET-DISPATCH-MACRO-CHARACTER","cl_set_dispatch_macro_character"}, +{"SET-EXCLUSIVE-OR","ECL_NAME(cl_set_exclusive_or)"}, +{"SET-MACRO-CHARACTER","cl_set_macro_character"}, +{"SET-PPRINT-DISPATCH","ECL_NAME_PPRINT(cl_set_pprint_dispatch)"}, +{"SET-SYNTAX-FROM-CHAR","cl_set_syntax_from_char"}, +{"SETF",NULL}, +{"SETQ",NULL}, +{"SEVENTH","cl_seventh"}, +{"SHADOW","cl_shadow"}, +{"SHADOWING-IMPORT","cl_shadowing_import"}, +{"SHIFTF",NULL}, +{"SHORT-FLOAT",NULL}, +{"SHORT-FLOAT-EPSILON",NULL}, +{"SHORT-FLOAT-NEGATIVE-EPSILON",NULL}, +{"SHORT-SITE-NAME",NULL}, +{"SIGNAL",NULL}, +{"SIGNED-BYTE",NULL}, +{"SIGNUM","ECL_NAME(cl_signum)"}, +{"SIMPLE-ARRAY",NULL}, +{"SIMPLE-BASE-STRING",NULL}, +{"SIMPLE-BIT-VECTOR",NULL}, +{"SIMPLE-BIT-VECTOR-P","cl_simple_bit_vector_p"}, +{"SIMPLE-CONDITION",NULL}, +{"SIMPLE-CONDITION-FORMAT-CONTROL",NULL}, +{"SIMPLE-CONDITION-FORMAT-ARGUMENTS",NULL}, +{"SIMPLE-ERROR",NULL}, +{"SIMPLE-STRING",NULL}, +{"SIMPLE-STRING-P","cl_simple_string_p"}, +{"SIMPLE-TYPE-ERROR",NULL}, +{"SIMPLE-VECTOR",NULL}, +{"SIMPLE-VECTOR-P","cl_simple_vector_p"}, +{"SIMPLE-WARNING",NULL}, +{"SIN","cl_sin"}, +{"SINGLE-FLOAT",NULL}, +{"SINGLE-FLOAT-EPSILON",NULL}, +{"SINGLE-FLOAT-NEGATIVE-EPSILON",NULL}, +{"SINH","cl_sinh"}, +{"SIXTH","cl_sixth"}, +{"SLEEP","cl_sleep"}, +{"SOFTWARE-TYPE",NULL}, +{"SOFTWARE-VERSION",NULL}, +{"SOME","ECL_NAME(cl_some)"}, +{"SORT","ECL_NAME(cl_sort)"}, +{"SPACE",NULL}, +{"SPECIAL",NULL}, +{"SPECIAL-OPERATOR-P","cl_special_operator_p"}, +{"SPEED",NULL}, +{"SQRT","cl_sqrt"}, +{"STABLE-SORT","ECL_NAME(cl_stable_sort)"}, +{"STANDARD-CHAR",NULL}, +{"STANDARD-CHAR-P","cl_standard_char_p"}, +{"STEP",NULL}, +{"STORAGE-CONDITION",NULL}, +{"STORE-VALUE",NULL}, +{"STREAM",NULL}, +{"STREAM-ELEMENT-TYPE","cl_stream_element_type"}, +{"STREAM-ERROR",NULL}, +{"STREAM-ERROR-STREAM",NULL}, +{"STREAM-EXTERNAL-FORMAT","cl_stream_external_format"}, +{"STREAMP","cl_streamp"}, +{"STRING","cl_string"}, +{"STRING-CAPITALIZE","cl_string_capitalize"}, +{"STRING-DOWNCASE","cl_string_downcase"}, +{"STRING-EQUAL","cl_string_equal"}, +{"STRING-GREATERP","cl_string_greaterp"}, +{"STRING-LEFT-TRIM","cl_string_left_trim"}, +{"STRING-LESSP","cl_string_lessp"}, +{"STRING-NOT-EQUAL","cl_string_not_equal"}, +{"STRING-NOT-GREATERP","cl_string_not_greaterp"}, +{"STRING-NOT-LESSP","cl_string_not_lessp"}, +{"STRING-RIGHT-TRIM","cl_string_right_trim"}, +{"STRING-STREAM",NULL}, +{"STRING-TRIM","cl_string_trim"}, +{"STRING-UPCASE","cl_string_upcase"}, +{"STRING/=","cl_stringNE"}, +{"STRING<","cl_stringL"}, +{"STRING<=","cl_stringLE"}, +{"STRING=","cl_stringE"}, +{"STRING>","cl_stringG"}, +{"STRING>=","cl_stringGE"}, +{"STRINGP","cl_stringp"}, +{"STRUCTURE",NULL}, +{"STYLE-WARNING",NULL}, +{"SUBLIS","cl_sublis"}, +{"SUBSEQ","cl_subseq"}, +{"SUBSETP","ECL_NAME(cl_subsetp)"}, +{"SUBST","cl_subst"}, +{"SUBST-IF","ECL_NAME(cl_subst_if)"}, +{"SUBST-IF-NOT","ECL_NAME(cl_subst_if_not)"}, +{"SUBSTITUTE","ECL_NAME(cl_substitute)"}, +{"SUBSTITUTE-IF","ECL_NAME(cl_substitute_if)"}, +{"SUBSTITUTE-IF-NOT","ECL_NAME(cl_substitute_if_not)"}, +{"SUBTYPEP","ECL_NAME(cl_subtypep)"}, +{"SVREF","cl_svref"}, +{"SXHASH","cl_sxhash"}, +{"SYMBOL",NULL}, +{"SYMBOL-FUNCTION","cl_symbol_function"}, +{"SYMBOL-MACROLET",NULL}, +{"SYMBOL-NAME","cl_symbol_name"}, +{"SYMBOL-PACKAGE","cl_symbol_package"}, +{"SYMBOL-PLIST","cl_symbol_plist"}, +{"SYMBOL-VALUE","cl_symbol_value"}, +{"SYMBOLP","cl_symbolp"}, +{"SYNONYM-STREAM",NULL}, +{"SYNONYM-STREAM-SYMBOL","cl_synonym_stream_symbol"}, +{"TAGBODY",NULL}, +{"TAILP","cl_tailp"}, +{"TAN","cl_tan"}, +{"TANH","cl_tanh"}, +{"TENTH","cl_tenth"}, +{"TERPRI","cl_terpri"}, +{"THE",NULL}, +{"THIRD","cl_caddr"}, +{"THROW",NULL}, +{"TIME",NULL}, +{"TRACE",NULL}, +{"TRANSLATE-LOGICAL-PATHNAME","cl_translate_logical_pathname"}, +{"TRANSLATE-PATHNAME","cl_translate_pathname"}, +{"TREE-EQUAL","cl_tree_equal"}, +{"TRUENAME","cl_truename"}, +{"TRUNCATE","cl_truncate"}, +{"TWO-WAY-STREAM",NULL}, +{"TWO-WAY-STREAM-INPUT-STREAM","cl_two_way_stream_input_stream"}, +{"TWO-WAY-STREAM-OUTPUT-STREAM","cl_two_way_stream_output_stream"}, +{"TYPE",NULL}, +{"TYPE-ERROR",NULL}, +{"TYPE-ERROR-DATUM",NULL}, +{"TYPE-ERROR-EXPECTED-TYPE",NULL}, +{"TYPE-OF","cl_type_of"}, +{"TYPECASE",NULL}, +{"TYPEP","ECL_NAME(cl_typep)"}, +{"UNBOUND-SLOT",NULL}, +{"UNBOUND-SLOT-INSTANCE",NULL}, +{"UNBOUND-VARIABLE",NULL}, +{"UNDEFINED-FUNCTION",NULL}, +{"UNEXPORT","cl_unexport"}, +{"UNINTERN","cl_unintern"}, +{"UNION","ECL_NAME(cl_union)"}, +{"UNLESS",NULL}, +{"UNREAD-CHAR","cl_unread_char"}, +{"UNSIGNED-BYTE",NULL}, +{"UNTRACE",NULL}, +{"UNUSE-PACKAGE","cl_unuse_package"}, +{"UNWIND-PROTECT",NULL}, +{"UPGRADED-ARRAY-ELEMENT-TYPE","ECL_NAME(cl_upgraded_array_element_type)"}, +{"UPGRADED-COMPLEX-PART-TYPE","ECL_NAME(cl_upgraded_complex_part_type)"}, +{"UPPER-CASE-P","cl_upper_case_p"}, +{"USE-PACKAGE","cl_use_package"}, +{"USE-VALUE",NULL}, +{"USER-HOMEDIR-PATHNAME","cl_user_homedir_pathname"}, +{"VALUES","cl_values"}, +{"VALUES-LIST","cl_values_list"}, +{"VARIABLE",NULL}, +{"VECTOR","ECL_NAME(cl_vector)"}, +{"VECTOR-POP","ECL_NAME(cl_vector_pop)"}, +{"VECTOR-PUSH","ECL_NAME(cl_vector_push)"}, +{"VECTOR-PUSH-EXTEND","ECL_NAME(cl_vector_push_extend)"}, +{"VECTORP","cl_vectorp"}, +{"WARN",NULL}, +{"WARNING",NULL}, +{"WHEN",NULL}, +{"WILD-PATHNAME-P","cl_wild_pathname_p"}, +{"WITH-COMPILATION-UNIT",NULL}, +{"WITH-CONDITION-RESTARTS",NULL}, +{"WITH-HASH-TABLE-ITERATOR",NULL}, +{"WITH-INPUT-FROM-STRING",NULL}, +{"WITH-OPEN-FILE",NULL}, +{"WITH-OPEN-STREAM",NULL}, +{"WITH-OUTPUT-TO-STRING",NULL}, +{"WITH-PACKAGE-ITERATOR",NULL}, +{"WITH-SIMPLE-RESTART",NULL}, +{"WITH-STANDARD-IO-SYNTAX",NULL}, +{"WRITE","cl_write"}, +{"WRITE-BYTE","cl_write_byte"}, +{"WRITE-CHAR","cl_write_char"}, +{"WRITE-LINE","cl_write_line"}, +{"WRITE-SEQUENCE","cl_write_sequence"}, +{"WRITE-STRING","cl_write_string"}, +{"WRITE-TO-STRING","ECL_NAME(cl_write_to_string)"}, +{"Y-OR-N-P","ECL_NAME(cl_y_or_n_p)"}, +{"YES-OR-NO-P","ECL_NAME(cl_yes_or_no_p)"}, +{"ZEROP","cl_zerop"}, + +#ifdef CLOS +{"ALLOCATE-INSTANCE",NULL}, +{"ADD-METHOD",NULL}, +{"BUILT-IN-CLASS",NULL}, +{"CALL-METHOD",NULL}, +{"CALL-NEXT-METHOD",NULL}, +{"CHANGE-CLASS",NULL}, +{"CLASS",NULL}, +{"CLASS-NAME",NULL}, +{"CLASS-OF","cl_class_of"}, +{"COMPUTE-APPLICABLE-METHODS",NULL}, +{"DEFCLASS",NULL}, +{"DEFGENERIC",NULL}, +{"DEFINE-METHOD-COMBINATION",NULL}, +{"DEFMETHOD",NULL}, +{"DESCRIBE-OBJECT",NULL}, +{"ENSURE-GENERIC-FUNCTION",NULL}, +{"FIND-CLASS","cl_find_class"}, +{"FIND-METHOD",NULL}, +{"GENERIC-FUNCTION",NULL}, +{"IF",NULL}, +{"INITIALIZE-INSTANCE",NULL}, +{"INVALID-METHOD-ERROR","ECL_NAME(cl_invalid_method_error)"}, +{"MAKE-INSTANCE",NULL}, +{"MAKE-INSTANCES-OBSOLETE",NULL}, +{"MAKE-LOAD-FORM",NULL}, +{"MAKE-LOAD-FORM-SAVING-SLOTS",NULL}, +{"MAKE-METHOD",NULL}, +{"METHOD",NULL}, +{"METHOD-COMBINATION-ERROR","ECL_NAME(cl_method_combination_error)"}, +{"METHOD-COMBINATION",NULL}, +{"METHOD-QUALIFIERS",NULL}, +{"NEXT-METHOD-P",NULL}, +{"NO-APPLICABLE-METHOD",NULL}, +{"NO-NEXT-METHOD",NULL}, +{"PRINT-OBJECT",NULL}, +{"PRINT-UNREADABLE-OBJECT",NULL}, +{"REINITIALIZE-INSTANCE",NULL}, +{"REMOVE-METHOD",NULL}, +{"SHARED-INITIALIZE",NULL}, +{"SLOT-BOUNDP",NULL}, +{"SLOT-EXISTS-P",NULL}, +{"SLOT-MAKUNBOUND",NULL}, +{"SLOT-MISSING",NULL}, +{"SLOT-UNBOUND",NULL}, +{"SLOT-VALUE",NULL}, +{"STANDARD",NULL}, +{"STANDARD-CLASS",NULL}, +{"STANDARD-GENERIC-FUNCTION",NULL}, +{"STANDARD-METHOD",NULL}, +{"STANDARD-OBJECT",NULL}, +{"STRUCTURE-CLASS",NULL}, +{"STRUCTURE-OBJECT",NULL}, +{"UPDATE-INSTANCE-FOR-DIFFERENT-CLASS",NULL}, +{"UPDATE-INSTANCE-FOR-REDEFINED-CLASS",NULL}, +{"WITH-ACCESSORS",NULL}, +{"WITH-SLOTS",NULL}, +{KEY_ "ARGUMENT-PRECEDENCE-ORDER",NULL}, +{KEY_ "DECLARE",NULL}, +{KEY_ "DEFAULT-INITARGS",NULL}, +{KEY_ "DIRECT-DEFAULT-INITARGS",NULL}, +{KEY_ "DIRECT-SLOTS",NULL}, +{KEY_ "DIRECT-SUPERCLASSES",NULL}, +{KEY_ "DOCUMENTATION",NULL}, +{KEY_ "GENERIC-FUNCTION-CLASS",NULL}, +{KEY_ "LAMBDA-LIST",NULL}, +{KEY_ "METHOD-CLASS",NULL}, +{KEY_ "METHOD-COMBINATION",NULL}, +#endif + +/* SYSTEM PACKAGE */ +{SYS_ "#!",NULL}, +{SYS_ "*BACKQ-LEVEL*",NULL}, +{SYS_ "*CBLOCK*",NULL}, +{SYS_ "*CIRCLE-COUNTER*",NULL}, +{SYS_ "*CIRCLE-STACK*",NULL}, +{SYS_ "*CLASS-NAME-HASH-TABLE*",NULL}, +{SYS_ "*COMPILER-CONSTANTS*",NULL}, +{SYS_ "*GC-MESSAGE*",NULL}, +{SYS_ "*GC-VERBOSE*",NULL}, +{SYS_ "*IGNORE-ERRORS*",NULL}, +{SYS_ "*IGNORE-EOF-ON-TERMINAL-IO*",NULL}, +{SYS_ "*INDENT-FORMATTED-OUTPUT*",NULL}, +{SYS_ "*INIT-FUNCTION-PREFIX*",NULL}, +{SYS_ "*INTERRUPT-ENABLE*",NULL}, +{SYS_ "*KEEP-DEFINITIONS*",NULL}, +{SYS_ "*LOAD-HOOKS*",NULL}, +{SYS_ "*LOAD-SEARCH-LIST*",NULL}, +{SYS_ "*MAKE-CONSTANT","si_Xmake_constant"}, +{SYS_ "*MAKE-SPECIAL","si_Xmake_special"}, +{SYS_ "*PRINT-PACKAGE*",NULL}, +{SYS_ "*PRINT-STRUCTURE*",NULL}, +{SYS_ "*SHARP-EQ-CONTEXT*",NULL}, +{SYS_ "*STEP-LEVEL*","OBJNULL"}, +{SYS_ "*STEP-ACTION*","OBJNULL"}, +{SYS_ ".",NULL}, +{SYS_ "UNQUOTE",NULL}, +{SYS_ "UNQUOTE-NSPLICE",NULL}, +{SYS_ "UNQUOTE-SPLICE",NULL}, +{SYS_ "ALLOCATE-RAW-INSTANCE","si_allocate_raw_instance"}, +{SYS_ "ARGC","si_argc"}, +{SYS_ "ARGV","si_argv"}, +{SYS_ "ASET","si_aset"}, +{SYS_ "BC-DISASSEMBLE","si_bc_disassemble"}, +{SYS_ "BC-SPLIT","si_bc_split"}, +{SYS_ "BDS-TOP","si_bds_top"}, +{SYS_ "BDS-VAL","si_bds_val"}, +{SYS_ "BDS-VAR","si_bds_var"}, +{SYS_ "BIT-ARRAY-OP","si_bit_array_op"}, +{SYS_ "C-ARGUMENTS-LIMIT",NULL}, +{SYS_ "CHAR-SET","si_char_set"}, +{SYS_ "CHDIR","si_chdir"}, +{SYS_ "CLEAR-COMPILER-PROPERTIES","cl_identity"}, +{SYS_ "CLOSE-PIPE","si_close_pipe"}, +{SYS_ "COERCE-TO-FILENAME","si_coerce_to_filename"}, +{SYS_ "COERCE-TO-FUNCTION","si_coerce_to_function"}, +{SYS_ "COERCE-TO-PACKAGE","si_coerce_to_package"}, +{SYS_ "COMPILED-FUNCTION-BLOCK","si_compiled_function_block"}, +{SYS_ "COMPILED-FUNCTION-NAME","si_compiled_function_name"}, +{SYS_ "COPY-STREAM","si_copy_stream"}, +{SYS_ "DAYLIGHT-SAVING-TIME-P","si_daylight_saving_time_p"}, +{SYS_ "DO-READ-SEQUENCE","si_do_read_sequence"}, +{SYS_ "DO-WRITE-SEQUENCE","si_do_write_sequence"}, +{SYS_ "ELT-SET","si_elt_set"}, +{SYS_ "EVAL-WITH-ENV","si_eval_with_env"}, +{SYS_ "EXPAND-DEFMACRO",NULL}, +{SYS_ "FILE-COLUMN","si_file_column"}, +{SYS_ "FILE-KIND","si_file_kind"}, +{SYS_ "FILL-POINTER-SET","si_fill_pointer_set"}, +{SYS_ "FIXNUMP","si_fixnump"}, +{SYS_ "FORMAT-ERROR",NULL}, +#ifdef ECL_CMU_FORMAT +{SYS_ "FORMATTER-AUX",NULL}, +#else +{SYS_ "FORMATTER-AUX","si_formatter_aux"}, +#endif +{SYS_ "FRS-BDS","si_frs_bds"}, +{SYS_ "FRS-CLASS","si_frs_class"}, +{SYS_ "FRS-IHS","si_frs_ihs"}, +{SYS_ "FRS-TAG","si_frs_tag"}, +{SYS_ "FRS-TOP","si_frs_top"}, +{SYS_ "FSET","si_fset"}, +{SYS_ "FUNCTION-BLOCK-NAME","si_function_block_name"}, +#if defined(_MSC_VER) || defined(mingw32) +{SYS_ "GET-LIBRARY-PATHNAME","si_get_library_pathname"}, +#endif +{SYS_ "GET-LOCAL-TIME-ZONE","si_get_local_time_zone"}, +{SYS_ "GET-SYSPROP","si_get_sysprop"}, +{SYS_ "GET-STRING-INPUT-STREAM-INDEX","si_get_string_input_stream_index"}, +{SYS_ "GETENV","si_getenv"}, +{SYS_ "GETCWD","si_getcwd"}, +{SYS_ "GETPID","si_getpid"}, +{SYS_ "HASH-SET","si_hash_set"}, +{SYS_ "HASH-TABLE-ITERATOR","si_hash_table_iterator"}, +{SYS_ "IHS-ENV","si_ihs_env"}, +{SYS_ "IHS-FUN","si_ihs_fun"}, +{SYS_ "IHS-NEXT","si_ihs_next"}, +{SYS_ "IHS-PREV","si_ihs_prev"}, +{SYS_ "IHS-TOP","si_ihs_top"}, +{SYS_ "INTERPRETER-STACK","si_interpreter_stack"}, +{SYS_ "LINK-FROM",NULL}, +{SYS_ "LINK-TO",NULL}, +{SYS_ "LIST-NTH","si_list_nth"}, +{SYS_ "LOAD-SOURCE","si_load_source"}, +{SYS_ "LOGICAL-PATHNAME-P","si_logical_pathname_p"}, +{SYS_ "MACRO",NULL}, +{SYS_ "MAKE-LAMBDA","si_make_lambda"}, +{SYS_ "MAKE-PURE-ARRAY","si_make_pure_array"}, +{SYS_ "MAKE-STRING-OUTPUT-STREAM-FROM-STRING","si_make_string_output_stream_from_string"}, +{SYS_ "MAKE-STRUCTURE","si_make_structure"}, +{SYS_ "MAKE-VECTOR","si_make_vector"}, +{SYS_ "MANGLE-NAME","si_mangle_name"}, +{SYS_ "MEMBER1","si_member1"}, +{SYS_ "MEMQ","si_memq"}, +{SYS_ "MKDIR","si_mkdir"}, +{SYS_ "MKSTEMP","si_mkstemp"}, +{SYS_ "RMDIR","si_rmdir"}, +{SYS_ "OPEN-PIPE","si_open_pipe"}, +{SYS_ "OUTPUT-STREAM-STRING","si_output_stream_string"}, +{SYS_ "PACKAGE-LOCK","si_package_lock"}, +{SYS_ "PACKAGE-HASH-TABLES","si_package_hash_tables"}, +{SYS_ "PATHNAME-TRANSLATIONS","si_pathname_translations"}, +{SYS_ "POINTER","si_pointer"}, +{SYS_ "PRETTY-PRINT-FORMAT",NULL}, +{SYS_ "PROCESS-DECLARATIONS","si_process_declarations"}, +{SYS_ "PROCESS-LAMBDA","si_process_lambda"}, +{SYS_ "PROCESS-LAMBDA-LIST","si_process_lambda_list"}, +{SYS_ "PUT-F","si_put_f"}, +{SYS_ "PUT-PROPERTIES","si_put_properties"}, +{SYS_ "PUT-SYSPROP","si_put_sysprop"}, +{SYS_ "PUTPROP","si_putprop"}, +{SYS_ "READTABLE-CASE-SET","si_readtable_case_set"}, +{SYS_ "REM-F","si_rem_f"}, +{SYS_ "REM-SYSPROP","si_rem_sysprop"}, +{SYS_ "REPLACE-ARRAY","si_replace_array"}, +{SYS_ "RESET-STACK-LIMITS","si_reset_stack_limits"}, +{SYS_ "ROW-MAJOR-ASET","si_row_major_aset"}, +{SYS_ "RPLACA-NTHCDR","si_rplaca_nthcdr"}, +{EXT_ "RUN-PROGRAM","si_run_program"}, +{SYS_ "SAFE-EVAL","si_safe_eval"}, +{SYS_ "SCH-FRS-BASE","si_sch_frs_base"}, +{SYS_ "SCHAR-SET","si_char_set"}, +{SYS_ "SHARP-A-READER",NULL}, +{SYS_ "SHARP-S-READER",NULL}, +{SYS_ "SELECT-PACKAGE","si_select_package"}, +{SYS_ "SET-SYMBOL-PLIST","si_set_symbol_plist"}, +#if defined(HAVE_PUTENV) || defined(HAVE_SETENV) +{SYS_ "SETENV","si_setenv"}, +#endif +{SYS_ "SETF-LAMBDA",NULL}, +{SYS_ "SETF-METHOD",NULL}, +{SYS_ "SETF-NAMEP",NULL}, +{SYS_ "SETF-SYMBOL",NULL}, +{SYS_ "SETF-UPDATE",NULL}, +{SYS_ "SIMPLE-CONTROL-ERROR",NULL}, +{SYS_ "SIMPLE-PACKAGE-ERROR",NULL}, +{SYS_ "SIMPLE-PROGRAM-ERROR","ECL_NAME(si_simple_program_error)"}, +{SYS_ "SIMPLE-READER-ERROR",NULL}, +{SYS_ "SPECIALP","si_specialp"}, +{SYS_ "STANDARD-READTABLE","si_standard_readtable"}, +{SYS_ "STEPPER","OBJNULL"}, +{SYS_ "STRING-CONCATENATE","si_string_concatenate"}, +{SYS_ "STRING-TO-OBJECT","si_string_to_object"}, +{SYS_ "STRUCTURE-NAME","si_structure_name"}, +{SYS_ "STRUCTURE-PRINT-FUNCTION",NULL}, +{SYS_ "STRUCTURE-REF","si_structure_ref"}, +{SYS_ "STRUCTURE-SET","si_structure_set"}, +{SYS_ "STRUCTURE-SLOT-DESCRIPTIONS",NULL}, +{SYS_ "STRUCTURE-SUBTYPE-P","si_structure_subtype_p"}, +{SYS_ "STRUCTUREP","si_structurep"}, +{SYS_ "SVSET","si_svset"}, +{SYS_ "SYMBOL-MACRO",NULL}, +{SYS_ "SYSTEM","si_system"}, +{SYS_ "TERMINAL-INTERRUPT",NULL}, +{SYS_ "TOP-LEVEL",NULL}, +{SYS_ "UNIVERSAL-ERROR-HANDLER",NULL}, +{SYS_ "UNLINK-SYMBOL","si_unlink_symbol"}, +{SYS_ "VALID-FUNCTION-NAME-P","si_valid_function_name_p"}, +{SYS_ "WRITE-OBJECT","si_write_object"}, +{SYS_ "WRITE-UGLY-OBJECT","si_write_ugly_object"}, + +#ifndef CLOS +{SYS_ "STRUCTURE-INCLUDE",NULL}, +#else +{SYS_ "CHANGE-INSTANCE",NULL}, +{SYS_ "COMPUTE-EFFECTIVE-METHOD",NULL}, +{SYS_ "COPY-INSTANCE","si_copy_instance"}, +{SYS_ "GENERIC-FUNCTION-P","si_generic_function_p"}, +{SYS_ "INSTANCE-REF-SAFE","si_instance_ref_safe"}, +{SYS_ "INSTANCE-REF","si_instance_ref"}, +{SYS_ "INSTANCE-SET","si_instance_set"}, +{SYS_ "INSTANCE-SIG","si_instance_sig"}, +{SYS_ "INSTANCE-SIG-SET","si_instance_sig_set"}, +{SYS_ "INSTANCE-CLASS","si_instance_class"}, +{SYS_ "INSTANCE-CLASS-SET","si_instance_class_set"}, +{SYS_ "INSTANCEP","si_instancep"}, +{SYS_ "SET-COMPILED-FUNCTION-NAME","si_set_compiled_function_name"}, +{SYS_ "SET-FUNCALLABLE","si_set_funcallable"}, +{SYS_ "SL-BOUNDP","si_sl_boundp"}, +{SYS_ "SL-MAKUNBOUND","si_sl_makunbound"}, +{SYS_ "SUBCLASSP",NULL}, +/*{SYS_ "UNBOUND","si_unbound"}, */ +#endif + +#ifdef PROFILE +{SYS_ "*PROFILE-ARRAY*",NULL}, +#endif + +#ifdef ECL_CLOS_STREAMS +#ifdef ECL_GRAY_STREAMS +{EXT_ "ANSI-STREAM-CLOSE","si_ansi_stream_close"}, +{EXT_ "ANSI-STREAM-ELEMENT-TYPE","si_ansi_stream_element_type"}, +{EXT_ "ANSI-STREAM-INPUT-STREAM-P","si_ansi_stream_input_stream_p"}, +{EXT_ "ANSI-STREAM-OUTPUT-STREAM-P","si_ansi_stream_output_stream_p"}, +{EXT_ "ANSI-STREAM-OPEN-STREAM-P","si_ansi_stream_open_stream_p"}, +#else +{EXT_ "STREAM-CLOSE",NULL}, +{EXT_ "STREAM-ELT-TYPE",NULL}, +{EXT_ "STREAM-INPUT-P",NULL}, +{EXT_ "STREAM-OUTPUT-P",NULL}, +{EXT_ "STREAM-OPEN-P",NULL}, +#endif +{EXT_ "STREAM-CLEAR-INPUT",NULL}, +{EXT_ "STREAM-CLEAR-OUTPUT",NULL}, +{EXT_ "STREAM-FINISH-OUTPUT",NULL}, +{EXT_ "STREAM-FORCE-OUTPUT",NULL}, +{EXT_ "STREAM-FRESH-LINE",NULL}, +{EXT_ "STREAM-INTERACTIVE-P",NULL}, +{EXT_ "STREAM-LINE-COLUMN",NULL}, +{EXT_ "STREAM-LISTEN",NULL}, +{EXT_ "STREAM-PEEK-CHAR",NULL}, +{EXT_ "STREAM-READ-BYTE",NULL}, +{EXT_ "STREAM-READ-CHAR",NULL}, +{EXT_ "STREAM-READ-CHAR-NO-HANG",NULL}, +{EXT_ "STREAM-READ-LINE",NULL}, +{EXT_ "STREAM-READ-SEQUENCE",NULL}, +{EXT_ "STREAM-START-LINE-P",NULL}, +{EXT_ "STREAM-TERPRI",NULL}, +{EXT_ "STREAM-UNREAD-CHAR",NULL}, +{EXT_ "STREAM-WRITE-BYTE",NULL}, +{EXT_ "STREAM-WRITE-CHAR",NULL}, +{EXT_ "STREAM-WRITE-SEQUENCE",NULL}, +{EXT_ "STREAM-WRITE-STRING",NULL}, +#endif + +#ifdef PDE +{SYS_ "*RECORD-SOURCE-PATHNAME-P*",NULL}, +{SYS_ "*SOURCE-PATHNAME*",NULL}, +{SYS_ "RECORD-SOURCE-PATHNAME",NULL}, +#endif + +#ifdef PROFILE +{SYS_ "PROFILE","si_profile"}, +{SYS_ "CLEAR-PROFILE","si_clear_profile"}, +{SYS_ "DISPLAY-PROFILE","si_display_profile"}, +#endif /* PROFILE */ + +#ifdef TCP +{SYS_ "OPEN-CLIENT-STREAM","si_open_client_stream"}, +{SYS_ "OPEN-SERVER-STREAM","si_open_server_stream"}, +{SYS_ "OPEN-UNIX-SOCKET-STREAM","si_open_unix_socket_stream"}, +{SYS_ "LOOKUP-HOST-ENTRY","si_lookup_host_entry"}, +#endif + +{SYS_ "CATCH-BAD-SIGNALS","si_catch_bad_signals"}, +{SYS_ "UNCATCH-BAD-SIGNALS","si_uncatch_bad_signals"}, + +/* KEYWORD PACKAGE */ +{KEY_ "ABORT",NULL}, +{KEY_ "ABSOLUTE",NULL}, +{KEY_ "ALLOW-OTHER-KEYS",NULL}, +{KEY_ "APPEND",NULL}, +{KEY_ "ARRAY",NULL}, +{KEY_ "BACK",NULL}, +{KEY_ "BASE",NULL}, +{KEY_ "BLOCK",NULL}, +{KEY_ "CAPITALIZE",NULL}, +{KEY_ "CASE",NULL}, +{KEY_ "CATCH",NULL}, +{KEY_ "CATCHALL",NULL}, +{KEY_ "CIRCLE",NULL}, +{KEY_ "COMPILE-TOPLEVEL",NULL}, +{KEY_ "COMMON",NULL}, +{KEY_ "CONTROL-STRING",NULL}, +{KEY_ "CREATE",NULL}, +{KEY_ "DATUM",NULL}, +{KEY_ "DEFAULT",NULL}, +{KEY_ "DEFAULTS",NULL}, +{KEY_ "DEVICE",NULL}, +{KEY_ "DIRECTION",NULL}, +{KEY_ "DIRECTORY",NULL}, +{KEY_ "DOWNCASE",NULL}, +{KEY_ "ELEMENT-TYPE",NULL}, +{KEY_ "END",NULL}, +{KEY_ "END1",NULL}, +{KEY_ "END2",NULL}, +{KEY_ "EOF",NULL}, +{KEY_ "ERROR",NULL}, +{KEY_ "ESCAPE",NULL}, +{KEY_ "EXECUTE",NULL}, +{KEY_ "EXPECTED-TYPE",NULL}, +{KEY_ "EXTERNAL",NULL}, +{KEY_ "EXTERNAL-FORMAT",NULL}, +{KEY_ "FILE",NULL}, +{KEY_ "FORMAT-ARGUMENTS",NULL}, +{KEY_ "FORMAT-CONTROL",NULL}, +{KEY_ "FUNCTION",NULL}, +{KEY_ "GENSYM",NULL}, +{KEY_ "HOST",NULL}, +{KEY_ "IF-DOES-NOT-EXIST",NULL}, +{KEY_ "IF-EXISTS",NULL}, +{KEY_ "INHERITED",NULL}, +{KEY_ "INITIAL-ELEMENT",NULL}, +{KEY_ "INITIAL-CONTENTS",NULL}, +{KEY_ "INPUT",NULL}, +{KEY_ "INSTANCE",NULL}, +{KEY_ "INTERNAL",NULL}, +{KEY_ "INVERT",NULL}, +{KEY_ "IO",NULL}, +{KEY_ "JUNK-ALLOWED",NULL}, +{KEY_ "KEY",NULL}, +{KEY_ "LENGTH",NULL}, +{KEY_ "LEVEL",NULL}, +{KEY_ "LINES",NULL}, +{KEY_ "LINK",NULL}, +{KEY_ "LIST-ALL",NULL}, +{KEY_ "LOCAL",NULL}, +{KEY_ "LOCKABLE",NULL}, +{KEY_ "LOAD-TOPLEVEL",NULL}, +{KEY_ "MISER-WIDTH",NULL}, +{KEY_ "NAME",NULL}, +{KEY_ "NEW-VERSION",NULL}, +{KEY_ "NEWEST",NULL}, +{KEY_ "NICKNAMES",NULL}, +{KEY_ "OBJECT",NULL}, +{KEY_ "OFFSET",NULL}, +{KEY_ "OPERATION",NULL}, +{KEY_ "OPERANDS",NULL}, +{KEY_ "OUTPUT",NULL}, +{KEY_ "OVERWRITE",NULL}, +{KEY_ "PACKAGE",NULL}, +{KEY_ "PATHNAME",NULL}, +{KEY_ "PPRINT-DISPATCH",NULL}, +{KEY_ "PRESERVE",NULL}, +{KEY_ "PRETTY",NULL}, +{KEY_ "PRINT",NULL}, +{KEY_ "PROBE",NULL}, +{KEY_ "PROTECT",NULL}, +{KEY_ "RADIX",NULL}, +{KEY_ "READABLY",NULL}, +{KEY_ "REHASH-SIZE",NULL}, +{KEY_ "REHASH-THRESHOLD",NULL}, +{KEY_ "RELATIVE",NULL}, +{KEY_ "RENAME",NULL}, +{KEY_ "RENAME-AND-DELETE",NULL}, +{KEY_ "RIGHT-MARGIN",NULL}, +{KEY_ "SET-DEFAULT-PATHNAME",NULL}, +{KEY_ "SEARCH-LIST",NULL}, +{KEY_ "SIZE",NULL}, +{KEY_ "SPECIAL",NULL}, +{KEY_ "START",NULL}, +{KEY_ "START1",NULL}, +{KEY_ "START2",NULL}, +{KEY_ "STREAM",NULL}, +{KEY_ "SUPERSEDE",NULL}, +{KEY_ "TAG",NULL}, +{KEY_ "TEST",NULL}, +{KEY_ "TEST-NOT",NULL}, +{KEY_ "TYPE",NULL}, +{KEY_ "UNSPECIFIC",NULL}, +{KEY_ "UP",NULL}, +{KEY_ "UPCASE",NULL}, +{KEY_ "USE",NULL}, +{KEY_ "USE-HEADER-P",NULL}, +{KEY_ "VERBOSE",NULL}, +{KEY_ "VERSION",NULL}, +{KEY_ "WILD",NULL}, +{KEY_ "WILD-INFERIORS",NULL}, + +{EXT_ "BYTE8",NULL}, +{EXT_ "COMPILER-LET",NULL}, +{EXT_ "INTEGER8",NULL}, +{EXT_ "LAMBDA-BLOCK",NULL}, +{EXT_ "QUIT","si_quit"}, +#ifdef CLOS +{EXT_ "GET-METHOD",NULL}, +{EXT_ "INSTANCE",NULL}, +#endif + +{SYS_ "ALLOCATE-FOREIGN-DATA","si_allocate_foreign_data"}, +{SYS_ "FOREIGN-DATA",NULL}, +{SYS_ "FOREIGN-DATA-ADDRESS","si_foreign_data_address"}, +{SYS_ "FOREIGN-DATA-POINTER","si_foreign_data_pointer"}, +{SYS_ "FOREIGN-DATA-RECAST","si_foreign_data_recast"}, +{SYS_ "FOREIGN-DATA-REF","si_foreign_data_ref"}, +{SYS_ "FOREIGN-DATA-REF-ELT","si_foreign_data_ref_elt"}, +{SYS_ "FOREIGN-DATA-SET","si_foreign_data_set"}, +{SYS_ "FOREIGN-DATA-SET-ELT","si_foreign_data_set_elt"}, +{SYS_ "FOREIGN-DATA-TAG","si_foreign_data_tag"}, +{SYS_ "FREE-FOREIGN-DATA","si_free_foreign_data"}, +{SYS_ "NULL-POINTER-P","si_null_pointer_p"}, +{SYS_ "SIZE-OF-FOREIGN-ELT-TYPE","si_size_of_foreign_elt_type"}, +{KEY_ "BYTE",NULL}, +{KEY_ "CHAR",NULL}, +{KEY_ "CSTRING",NULL}, +{KEY_ "DOUBLE",NULL}, +{KEY_ "FIXNUM",NULL}, +{KEY_ "FLOAT",NULL}, +{KEY_ "INT",NULL}, +{KEY_ "LONG",NULL}, +{KEY_ "POINTER-SELF",NULL}, +{KEY_ "POINTER-VOID",NULL}, +{KEY_ "SHORT",NULL}, +{KEY_ "STRUCT",NULL}, +{KEY_ "UNION",NULL}, +{KEY_ "VOID",NULL}, +{KEY_ "UNSIGNED-BYTE",NULL}, +{KEY_ "UNSIGNED-CHAR",NULL}, +{KEY_ "UNSIGNED-INT",NULL}, +{KEY_ "UNSIGNED-LONG",NULL}, +{KEY_ "UNSIGNED-SHORT",NULL}, +{SYS_ "C-CHAR-BIT",NULL}, +{SYS_ "C-CHAR-MAX",NULL}, +{SYS_ "C-CHAR-MIN",NULL}, +{SYS_ "C-INT-MAX",NULL}, /* See main.d */ +{SYS_ "C-INT-MIN",NULL}, /* See main.d */ +{SYS_ "C-SHORT-MAX",NULL}, +{SYS_ "C-SHORT-MIN",NULL}, +{SYS_ "C-LONG-MAX",NULL}, /* See main.d */ +{SYS_ "C-LONG-MIN",NULL}, /* See main.d */ +{SYS_ "C-UCHAR-MAX",NULL}, +{SYS_ "C-UINT-MAX",NULL}, /* See main.d */ +{SYS_ "C-USHORT-MAX",NULL}, +{SYS_ "C-ULONG-MAX",NULL}, /* See main.d */ + +#ifdef GBC_BOEHM +{SYS_ "GC","si_gc"}, +{SYS_ "GC-DUMP","si_gc_dump"}, +#endif + +#if !defined(GBC_BOEHM) +{SYS_ "GC","si_gc"}, +{SYS_ "ALLOCATE","si_allocate"}, +{SYS_ "ALLOCATED-PAGES","si_allocated_pages"}, +{SYS_ "MAXIMUM-ALLOCATABLE-PAGES","si_maximum_allocatable_pages"}, +{SYS_ "ALLOCATE-CONTIGUOUS-PAGES","si_allocate_contiguous_pages"}, +{SYS_ "ALLOCATED-CONTIGUOUS-PAGES","si_allocated_contiguous_pages"}, +{SYS_ "MAXIMUM-CONTIGUOUS-PAGES","si_maximum_contiguous_pages"}, +{SYS_ "GC-TIME","si_gc_time"}, +{SYS_ "GET-HOLE-SIZE","si_get_hole_size"}, +{SYS_ "SET-HOLE-SIZE","si_set_hole_size"}, +{SYS_ "IGNORE-MAXIMUM-PAGES","si_ignore_maximum_pages"}, +{SYS_ "ROOM-REPORT","si_room_report"}, +{SYS_ "RESET-GC-COUNT","si_reset_gc_count"}, +#endif /* !GBC_BOEHM */ + +#ifdef ENABLE_DLOPEN +{SYS_ "LOAD-BINARY","si_load_binary"}, +#endif + +#ifdef ECL_THREADS +{MP_ "PROCESS",NULL}, +{MP_ "LOCK",NULL}, +{MP_ "*CURRENT-PROCESS*",NULL}, +{MP_ "ALL-PROCESSES","mp_all_processes"}, +{MP_ "EXIT-PROCESS","mp_exit_process"}, +{MP_ "MAKE-PROCESS","mp_make_process"}, +{MP_ "PROCESS-ACTIVE-P","mp_process_active_p"}, +{MP_ "PROCESS-ENABLE","mp_process_enable"}, +{MP_ "PROCESS-KILL","mp_process_kill"}, +{MP_ "PROCESS-NAME","mp_process_name"}, +{MP_ "PROCESS-PRESET","mp_process_preset"}, +{MP_ "PROCESS-RUN-FUNCTION","mp_process_run_function"}, +{MP_ "PROCESS-WHOSTATE","mp_process_whostate"}, +{MP_ "MAKE-LOCK","mp_make_lock"}, +{MP_ "GET-LOCK","mp_get_lock"}, +{MP_ "GIVEUP-LOCK","mp_giveup_lock"}, +{KEY_ "INITIAL-BINDINGS",NULL}, +{MP_ "INTERRUPT-PROCESS","mp_interrupt_process"}, +{MP_ "+LOAD-COMPILE-LOCK+",NULL}, +{MP_ "WITH-LOCK",NULL}, +{MP_ "WITHOUT-INTERRUPTS",NULL}, +#endif + +{SYS_ "WHILE",NULL}, +{SYS_ "QUASIQUOTE",NULL}, +{SYS_ "*EXIT-HOOKS*",NULL}, + +#ifdef CLOS +{CLOS_ "SLOT-DEFINITION",NULL}, +{CLOS_ "SLOT-DEFINITION-ALLOCATION",NULL}, +{CLOS_ "SLOT-DEFINITION-INITARGS",NULL}, +{CLOS_ "SLOT-DEFINITION-INITFORM",NULL}, +{CLOS_ "SLOT-DEFINITION-INITFUNCTION",NULL}, +{CLOS_ "SLOT-DEFINITION-NAME",NULL}, +{CLOS_ "SLOT-DEFINITION-TYPE",NULL}, +{CLOS_ "SLOT-DEFINITION-READERS",NULL}, +{CLOS_ "SLOT-DEFINITION-WRITERS",NULL}, +{CLOS_ "SLOT-DEFINITION-DOCUMENTATION",NULL}, +#endif + +/* Tag for end of list */ +{NULL,NULL}}; + diff --git a/src/cmp/cmpcfg.lsp.in b/src/cmp/cmpcfg.lsp.in index 44fd78761..4b852d618 100644 --- a/src/cmp/cmpcfg.lsp.in +++ b/src/cmp/cmpcfg.lsp.in @@ -11,7 +11,7 @@ (setq *ld-format* #-msvc "~A -o ~S -L~S ~{~S ~} ~@?" #+msvc "~A -Zi -Fe~S~* ~{~S ~} ~@?") (setq *cc-format* #-msvc "~A ~A ~:[~*~;~A~] \"-I~A/h\" -w -c \"~A\" -o \"~A\"" - #+msvc "~A ~A ~:[~*~;~A~] -I\"~A/h\" -Zi -W3 -c \"~A\" -Fo\"~A\"") + #+msvc "~A ~A ~:[~*~;~A~] -I\"~A/h\" -Zi -w -nologo -c \"~A\" -Fo\"~A\"") #-dlopen (setq *ld-flags* "@LDRPATH@ @LDFLAGS@ -lecl @CORE_LIBS@ @LIBS@ @FASL_LIBS@") #+dlopen diff --git a/src/cmp/cmpmain.lsp b/src/cmp/cmpmain.lsp index 1c3fca80a..d3e704a6a 100644 --- a/src/cmp/cmpmain.lsp +++ b/src/cmp/cmpmain.lsp @@ -301,7 +301,7 @@ static cl_object VV[VM]; (with-open-file (f "static_lib.tmp" :direction :output :if-does-not-exist :create :if-exists :supersede) (format f "/DEBUGTYPE:CV /OUT:~A ~A ~{\"~&~A\"~}" output-name o-name ld-flags)) - (safe-system "lib @static_lib.tmp")) + (safe-system "link -lib @static_lib.tmp")) (when (probe-file "static_lib.tmp") (cmp-delete-file "static_lib.tmp"))) ) diff --git a/src/compile.lsp.in b/src/compile.lsp.in index 686f8d169..3fb280d56 100644 --- a/src/compile.lsp.in +++ b/src/compile.lsp.in @@ -41,7 +41,7 @@ #+msvc "@CFLAGS@ @ECL_CFLAGS@ -I\"@true_srcdir@\"/h -I\"@true_builddir@\"/h" c::*cc-format* #-msvc "~A ~A ~:[~*~;~A~] -I\"@true_builddir@\"/h~* -w -c ~S -o ~S" - #+msvc "~A ~A ~:[~*~;~A~] -I\"@true_builddir@\"/h~* -Zi -W3 -c ~S -Fo~S" + #+msvc "~A ~A ~:[~*~;~A~] -I\"@true_builddir@\"/h~* -Zi -w -nologo -c ~S -Fo~S" c::*ld-format* #-msvc "~A -o ~S -L\"@true_builddir@\"~* ~{~S ~} ~@?" #+msvc "~A -Zi -Fe~S~* ~{~S ~} ~@?") diff --git a/src/doc/Makefile.in b/src/doc/Makefile.in index 82df6864d..26e0dd3e4 100644 --- a/src/doc/Makefile.in +++ b/src/doc/Makefile.in @@ -113,10 +113,8 @@ index.html: $(srcdir)/index.in.html head cat head $(srcdir)/index.in.html $(srcdir)/end | $(FILTER) > $@ install.html: $(srcdir)/install.in.html head cat head $(srcdir)/install.in.html $(srcdir)/end | $(FILTER) > $@ -news.html: $(srcdir)/news.in.html head - (cat head; sed -e '/^----.*$$/,$$d' $(srcdir)/news.in.html; \ - sed -e '1,/^ECL [0-9\.]*$$/d;/^===*$$/d' $(srcdir)/../../ANNOUNCEMENT| sed -e '1d'; \ - sed -e '1,/^----*$$/d' $(srcdir)/news.in.html; \ +news.html: head + (cat head; echo '
'; cat $(srcdir)/../../ANNOUNCEMENT| sed -e '1d'; echo '
' \ cat $(srcdir)/end) | $(FILTER) > $@ benchmark.html: $(srcdir)/benchmark.in.html ../gabriel/BENCHMARK head (cat head; cat $(srcdir)/benchmark.in.html; \ diff --git a/src/doc/README.html b/src/doc/README.html deleted file mode 100644 index 1480a16ff..000000000 --- a/src/doc/README.html +++ /dev/null @@ -1,327 +0,0 @@ - - - -ECL-Spain 0.1a - - - -

ECL-Spain 0.1a

- -

Table of contents

- - -

Introduction

- -ECLS stands for Embeddable -Common-Lisp "Spain", and I usually read it as "e-klos". It is a an -implementation of the Common-Lisp language -which aims to comply to the ANSI X3J13 -definition of the language. - -

ECLS combines a bytecodes -compiler/interpreter and a translator to C. The first one is specially suited -for prototyping and debugging. The second one produces fast code that can be -dynamically loaded into the interpreter or statically linked to build -standalone executables. - -

ECLS is distributed under the GNU Library General Public License (GNU LGPL). - -

ECLS is not a brand new -product. It has evolved from the EcoLisp implementation by Giuseppe Attardi -which in turn was based on the Kyoto Common-Lisp implementation done by Taiichi -Yuasa and Masami Hagiya, with contributions from several people. Nevertheless -the program has been seriously modified and the current code base bears little -resemblance to the previous implementations and the author of those -implementations should not be blamed for the faults of thi ECLS. - -

Project goals

- - - -

News in this release (ECLS-0.1a)

- - - -

Known bugs

- -As I mentioned above, the problem I am finding here is the lack of test suites -which I can use to detect failures in the behavior of any function. Currently I -can assure that ECLS passes most of -the tests from the the CLOCC suite. -The most important exceptions are - - -If you find something that should be fixed or that the behavior of a -function is particularly misleading with respect to the standards, feel free -to tell me so. - -Some other bugs which need to be fixed are: - - -

Distribution

- -This project is hosted at Source -forge. You can get current copies of the sources and of the documentation -in there. - -

Installation

- - - -

As a side note, a --disable-clos is still in ./configure, but its use is -discouraged and unsupported. - - -

The author

- -For the people who built the several pieces from ECoLisp, see the README.orig -file. To contact the author of ECLS, -use the following address -
-	Juan Jose Garcia Ripoll
-
-	Univ. de Castilla-La Mancha
-	E.T.S.I. Industriales
-	Departamento de Matematicas
-	c/Camilo Jose Cela, 3
-	Ciudad Real, E-13071
-	Spain
-
-	jjgarcia@ind-cr.uclm.es
-
- - -

Benchmark

- -Benchmarks should be taken with a grain of salt. ECLS does not aim to compete with any -commercial or open source implementation. The purpose of these benchmarks are, -thus, to show the progress of ECLS -itself from version to version. - -

It also serves to show how well other implementations perform: CLISPc, which -is based on bytecodes, is astonishingly fast, compared to other bytecodes -implementations (ECLSi, CMUCLi) and to native code implementations (ECLSc, -CMUCLc). - -

All benchmarks are executed one after another. The benchmark currently shows -just mean execution times in seconds, using English decimal point (0.03 = 3/100 -seconds). This means that performance of garbage collectors has a deep impact -in these numbers. - -

It would be nice to collect some other information, such as memory use and -garbage collector timings, but that is beyond my reach for now. Help is always -welcome. - -

Finally, I have decided to distribute Gabriel's benchmarks together with ECLS. The reason is that this code seems -to belong to public domain and I had to perform several changes in order to let -it run with different implementations. To recreate the benchmark just get in -build/gabriel/ and type make. - -

-
-                CLISPi     ECLSi    CMUCLi    CLISPc     ECLSc    CMUCLc
-boyer            2.490    28.283    13.520     0.397     0.767     0.110
-browse           3.116     7.167    13.260     0.459     *****     0.280
-ctak             0.406     0.883     1.530     0.032     0.017     0.000
-dderiv           0.455     1.317     1.850     0.110     0.167     0.080
-deriv            0.405     1.133     1.670     0.111     0.167     0.070
-destru-mod       1.418     0.871     2.398     0.053     0.025     0.025
-destru           1.384     0.871     2.412     0.053     0.025     0.020
-div2             0.889     1.867     3.850     0.132     0.150     0.070
-fprint           0.026     0.046     0.015     0.026     0.042     0.015
-fread            0.009     0.017     0.007     0.009     0.017     0.005
-frpoly           3.026    22.750    15.240     0.625     6.267     0.220
-puzzle           6.452     4.633    14.630     0.481     0.033     0.020
-puzzle-mod       6.890     4.667    14.680     0.480     0.017     0.030
-puzzle-mod2      6.467     4.633    14.690     0.480     0.033     0.030
-stak             0.374     0.842     1.768     0.047     0.021     0.007
-tak              3.394     9.183    11.500     0.208     0.033     0.020
-tak-mod          3.385     9.450    11.520     0.208     0.033     0.020
-takl             1.407     6.433     9.130     0.107     0.000     0.010
-takr             0.346     0.971     2.035     0.026     0.004     0.002
-tprint           0.022     0.046     0.023     0.022     0.046     0.020
-traverse        41.230    71.767   108.390     1.880     1.450     0.370
-triang-mod      74.765   169.750   255.840     7.362     1.567     3.110
-triang          71.018   149.417   243.330     5.797     0.667     *****
-
-IMPLi = Implementation IMPL interpreted
-IMPLc = Implementation IMPL compiled
-
-CLISP = CLISP 2000-03-06 (March 2000)
-CMUCL = CMUCL 18c
-ECLS  = ECLS 0.1a
-
-
diff --git a/src/doc/goals.in.html b/src/doc/goals.in.html index faad6a70f..6c2b32c54 100644 --- a/src/doc/goals.in.html +++ b/src/doc/goals.in.html @@ -67,27 +67,28 @@ improvement in this area.
  • Embedability. -

    In a near future ECL will be -shipped as a library that can be linked against arbitrary C -programs. Currently, arbitrary C code can be linked against ECL, either statically or at runtime. +

    ECL is shipped as a +library that can be linked against arbitrary C programs. Arbitrary +C/C++ code can be linked against ECL, either statically or at +runtime.

  • Portability to arbitrary environments.

    ECL is currently supported in

    -Most of the code is portable. The parts -which change from operating system to operating system are about the -filesystem, sockets, signals and the allocation of big chunks of memory, but in -all it is well below 1000 lines. The worst part is related to word-size and -endianness. Work is in progress to port ECL to 64-bit environments. +Most of the code is portable and clean from issues like endianness and +word size (ECL works on 64 +bit architectures). The parts which change from operating system to +operating system are about the filesystem, sockets, signals and the +allocation of big chunks of memory, but in all it is well below 1000 +lines.
  • Compilation via an ANSI C compiler. diff --git a/src/doc/head b/src/doc/head index a27388f08..c45d09234 100644 --- a/src/doc/head +++ b/src/doc/head @@ -26,7 +26,6 @@ CLX manual Benchmarks Distribution - Experimental
    Patches
    Mailing list Browse CVS diff --git a/src/doc/index.in.html b/src/doc/index.in.html index ae5ac0a14..8cb240eb5 100644 --- a/src/doc/index.in.html +++ b/src/doc/index.in.html @@ -12,9 +12,9 @@ definition of the language.

    ECL supports the operating systems Linux, FreeBSD, NetBSD, Solaris, -Windows/Cygwin and OSX, running on top of the Intel, Sparc, Alpha and PowerPC -processors. Porting to other architectures should be rather easy.

    +Windows, running on top of the Intel, Sparc, Alpha and PowerPC +processors. The port to OSX is broken due to some problems with the +garbage collector and latest versions of OSX. Porting to other +architectures should be rather easy.

    The author

    @@ -33,8 +35,8 @@ The original version was written by Giuseppe Attardi. The current maintainer of ECLS is Juan Jose Garcia Ripoll, who can be reached at the ECLS mailing list. -

    We seek volunteers willing to test or improve the implementation. We accept -both code and constructive critics, so feel free to share your toughts at the -mailing list. +

    We seek volunteers willing to test or improve the +implementation. We accept both code and constructive critics, so feel +free to share your toughts at the mailing list.

    Latest news

    diff --git a/src/doc/install.in.html b/src/doc/install.in.html index edd7cb91c..625a8b8d6 100644 --- a/src/doc/install.in.html +++ b/src/doc/install.in.html @@ -15,20 +15,6 @@ href="#msvc">the appropiate section. chapter on how to pre-configure, write down a configuration file and finish the compilation. -

    Microsoft C++

    - - -

    Autoconf based configuration

    +

    Microsoft C++

    + +

    If you have a commercial version of Microsoft Visual Studio, the +steps are simple: +

    + +

    If you want to build ECL using the free Microsoft Visual C++ +Toolkit 2003, you should follow these before building ECL: +

    +

    Cross compiling ECL

    diff --git a/src/doc/news.in.html b/src/doc/news.in.html deleted file mode 100644 index 759b41056..000000000 --- a/src/doc/news.in.html +++ /dev/null @@ -1,31 +0,0 @@ -

    News in this release (ECL-@VERSION@)

    -
    --------
    -
    - -

    Known bugs

    - -As I mentioned above, the problem I am finding here is the lack of test suites -which I can use to detect failures in the behavior of any function. Currently I -can assure that ECL passes most of -the tests from the the CLOCC suite. -The most important exceptions are - - -If you find something that should be fixed or that the behavior of a -function is particularly misleading with respect to the standards, feel free -to tell me so. - -Some other bugs which need to be fixed are: - diff --git a/src/util/cut.c b/src/util/cut.c index ba451b980..e6bacc792 100644 --- a/src/util/cut.c +++ b/src/util/cut.c @@ -18,6 +18,8 @@ sed_emulator(int narg, char **patterns) for (i = 0; i < narg; i+=2) { char *b3, *b4; while ((b3 = strstr(b1, patterns[i]))) { + if (strcmp(patterns[i+1], "/DELETE/") == 0) + goto GO_ON; b3[0] = 0; strcpy(b2, b1); strcat(b2, patterns[i+1]); @@ -26,6 +28,7 @@ sed_emulator(int narg, char **patterns) } } puts(b1); + GO_ON:; } } diff --git a/src/util/ecl.nsi1 b/src/util/ecl.nsi1 new file mode 100644 index 000000000..a41770710 --- /dev/null +++ b/src/util/ecl.nsi1 @@ -0,0 +1,54 @@ +; Script generated by the HM NIS Edit Script Wizard. + +; HM NIS Edit Wizard helper defines +!define PRODUCT_NAME "ECL" +!define PRODUCT_VERSION "0.9d" +!define PRODUCT_PUBLISHER "Juan Jose Garcia Ripoll" +!define PRODUCT_WEB_SITE "http://ecls.sourceforge.net" +!define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\ecl.exe" +!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" +!define PRODUCT_UNINST_ROOT_KEY "HKLM" +!define ECLDIR "@ECLDIR@" + +; MUI 1.67 compatible ------ +!include "MUI.nsh" + +; MUI Settings +!define MUI_ABORTWARNING +!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install.ico" +!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico" + +; Welcome page +!insertmacro MUI_PAGE_WELCOME +; License page +!insertmacro MUI_PAGE_LICENSE "${ECLDIR}\doc\Copyright" +; Directory page +!insertmacro MUI_PAGE_DIRECTORY +; Instfiles page +!insertmacro MUI_PAGE_INSTFILES +; Finish page +!define MUI_FINISHPAGE_RUN "$INSTDIR\ecl.exe" +!insertmacro MUI_PAGE_FINISH + +; Uninstaller pages +!insertmacro MUI_UNPAGE_INSTFILES + +; Language files +!insertmacro MUI_LANGUAGE "English" + +; MUI end ------ + +Name "${PRODUCT_NAME} ${PRODUCT_VERSION}" +OutFile "Setup.exe" +InstallDir "$PROGRAMFILES\ECL" +InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" "" +ShowInstDetails show +ShowUnInstDetails show + +Section "Hauptgruppe" SEC01 + SetOutPath "$INSTDIR" + SetOverwrite ifnewer + File "${ECLDIR}\ecl.exe" + CreateDirectory "$SMPROGRAMS\ECL" + CreateShortCut "$SMPROGRAMS\ECL\ECL.lnk" "$INSTDIR\ecl.exe" + CreateShortCut "$DESKTOP\ECL.lnk" "$INSTDIR\ecl.exe" diff --git a/src/util/ecl.nsi2 b/src/util/ecl.nsi2 new file mode 100644 index 000000000..c32ba309e --- /dev/null +++ b/src/util/ecl.nsi2 @@ -0,0 +1,33 @@ +SectionEnd + +Section -AdditionalIcons + WriteIniStr "$INSTDIR\${PRODUCT_NAME}.url" "InternetShortcut" "URL" "${PRODUCT_WEB_SITE}" + CreateShortCut "$SMPROGRAMS\ECL\Website.lnk" "$INSTDIR\${PRODUCT_NAME}.url" + CreateShortCut "$SMPROGRAMS\ECL\Uninstall.lnk" "$INSTDIR\uninst.exe" +SectionEnd + +Section -Post + WriteUninstaller "$INSTDIR\uninst.exe" + WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\ecl.exe" + WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)" + WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe" + WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\ecl.exe" + WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}" + WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}" + WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}" +SectionEnd + + +Function un.onUninstSuccess + HideWindow + MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) has been succesfully deinstalled." +FunctionEnd + +Function un.onInit + MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "Do you really want to deinstall $(^Name)?" IDYES +2 + Abort +FunctionEnd + +Section Uninstall + Delete "$INSTDIR\${PRODUCT_NAME}.url" + Delete "$INSTDIR\uninst.exe" diff --git a/src/util/ecl.nsi3 b/src/util/ecl.nsi3 new file mode 100644 index 000000000..761cadeee --- /dev/null +++ b/src/util/ecl.nsi3 @@ -0,0 +1,14 @@ + Delete "$INSTDIR\ecl.exe" + + Delete "$SMPROGRAMS\ECL\Uninstall.lnk" + Delete "$SMPROGRAMS\ECL\Website.lnk" + Delete "$DESKTOP\ECL.lnk" + Delete "$SMPROGRAMS\ECL\ECL.lnk" + + RMDir "$SMPROGRAMS\ECL" + RMDir "$INSTDIR" + + DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" + DeleteRegKey HKLM "${PRODUCT_DIR_REGKEY}" + SetAutoClose true +SectionEnd diff --git a/src/util/make_msvcrtlib b/src/util/make_msvcrtlib new file mode 100755 index 000000000..85c80b165 --- /dev/null +++ b/src/util/make_msvcrtlib @@ -0,0 +1,16 @@ +#!/bin/sh +set -x +export MSVC="d:/unix/msvc/bin" + +cat > exports.sed < msvcrt.def +${MSVC}/link -dump -exports ${SYSTEMROOT}/System32/msvcrt.dll | tee msvcrt.out | sed -nf exports.sed >> msvcrt.def +${MSVC}/link -lib -machine:X86 -def:msvcrt.def -out:msvcrt.lib