├── .gitignore ├── CormanLispIDE ├── CormanLisp.dsp ├── CormanLisp.rc ├── CormanLisp.vcxproj ├── CormanLisp.vcxproj.filters ├── RES │ ├── BrowserToolbar.bmp │ ├── Browserfram.bmp │ ├── CormanLisp.BMP │ ├── CormanLisp.ICO │ ├── CormanLisp.exe.manifest │ ├── CormanLisp_2_5_small.bmp │ ├── CormanLisp_3_0_feather 465x281.bmp │ ├── CormanLisp_old.ICO │ ├── CormanLisp_small.BMP │ ├── CormanLisp_small_old.BMP │ ├── CormanLisp_smaller.bmp │ ├── CormanLisp_smaller_old.bmp │ ├── Corman_2_2_splash.bmp │ ├── Corman_2_5_splash 465x281.bmp │ ├── Corman_2_5_splash 499x312 IS.bmp │ ├── Corman_2_5_splash 499x312.bmp │ ├── Corman_2_5_splash.bmp │ ├── Corman_2_splash.bmp │ ├── Corman_3_0_splash 499x312 IS.bmp │ ├── LispDoc.ICO │ ├── TOOLBAR.BMP │ ├── background1.bmp │ ├── ccl_2_5_splash_setup_bkg.bmp │ ├── ccl_2_splash_setup_bkg.bmp │ ├── ccl_install_splash.bmp │ ├── embossed_logo.bmp │ ├── embossed_logo_2_5.BMP │ ├── feather--CL 3.0_small.bmp │ ├── ico00001.ico │ ├── icon1.ico │ ├── idr_html.ico │ ├── idr_lisp.ico │ ├── idr_text.ico │ ├── new_logo │ │ ├── Corman_16x16_no_text.png │ │ ├── Corman_256x256_with_text.png │ │ ├── Corman_32x32_no_text.png │ │ ├── Corman_48x48_no_text.png │ │ ├── Corman_500x500_with_text.png │ │ └── Corman_Logo_no_text.svg │ ├── splash_tiny.bmp │ └── toolbar1.bmp ├── Version.rc ├── include │ ├── CSDialog.h │ ├── CommonLispFuncs.h │ ├── CormanLisp.h │ ├── Dialogs.h │ ├── DocOptions.h │ ├── EncryptDES.h │ ├── LispObjDisplay.h │ ├── PageSetupDlg.h │ ├── PreferencesDialog.h │ ├── SMDIChildWnd.h │ ├── SMDIFrameWnd.h │ ├── Stdafx.h │ ├── UtilFuncs.h │ ├── browser.h │ ├── helpids.h │ ├── oleaccproxy.h │ └── webbrowser.h ├── resource.h ├── src │ ├── CSDialog.cpp │ ├── CharBuf.cpp │ ├── CoCormanLispClient.cpp │ ├── CommonLispFuncs.cpp │ ├── CormanLisp.cpp │ ├── Dialogs.cpp │ ├── DocOptions.cpp │ ├── EncryptDes.cpp │ ├── LispObjDisplay.cpp │ ├── PageSetupDlg.cpp │ ├── PreferencesDialog.cpp │ ├── SMDIChildWnd.cpp │ ├── SMDIFrameWnd.cpp │ ├── Stdafx.cpp │ ├── ThreadClasses.cpp │ ├── browser.cpp │ ├── oleaccproxy.cpp │ └── webbrowser.cpp └── version_resource.h ├── CormanLispImage ├── CormanLispImage.vcxproj ├── CormanLispImage.vcxproj.filters └── Makefile ├── CormanLispServer ├── CormanLispServer.def ├── CormanLispServer.vcxproj ├── CormanLispServer.vcxproj.filters ├── CormanLispStatic.vcxproj ├── CormanLispStatic.vcxproj.filters ├── MakefileStatic.mk ├── delstaticlib.bat ├── distorm │ ├── COPYING │ ├── PKG-INFO │ ├── include │ │ ├── distorm.h │ │ └── mnemonics.h │ ├── python │ │ └── distorm3 │ │ │ ├── __init__.py │ │ │ └── sample.py │ ├── setup.cfg │ ├── setup.py │ └── src │ │ ├── config.h │ │ ├── decoder.c │ │ ├── decoder.h │ │ ├── distorm.c │ │ ├── instructions.c │ │ ├── instructions.h │ │ ├── insts.c │ │ ├── insts.h │ │ ├── mnemonics.c │ │ ├── operands.c │ │ ├── operands.h │ │ ├── prefix.c │ │ ├── prefix.h │ │ ├── textdefs.c │ │ ├── textdefs.h │ │ ├── wstring.c │ │ ├── wstring.h │ │ └── x86defs.h ├── include │ ├── CoConnectionPoint.H │ ├── CoCormanLisp.h │ ├── CoEnumConnectionPoints.H │ ├── CoEnumConnections.h │ ├── Compx86.h │ ├── CormanLispServer.h │ ├── Generic.h │ ├── Lisp.h │ ├── LispThreadQueue.h │ ├── Lispmath.h │ ├── Resource.h │ ├── Stdafx.h │ ├── UserInfo.h │ ├── Version.h │ ├── plserver_internal.h │ └── threadclasses.h ├── makestaticlib.bat ├── res │ ├── CormanLispServer.rc │ └── resource.h └── src │ ├── CharBuf.cpp │ ├── CoConnectionPoint.cpp │ ├── CoCormanLisp.cpp │ ├── CoEnumConnectionPoints.cpp │ ├── CoEnumConnections.cpp │ ├── Compx86.cpp │ ├── CormanLispServer.cpp │ ├── Gc.cpp │ ├── Lisp.cpp │ ├── LispMath.cpp │ ├── LispThreadQueue.cpp │ ├── Lispfunc.cpp │ ├── MemoryReport.cpp │ ├── Read.cpp │ ├── Stdafx.cpp │ ├── ThreadClasses.cpp │ ├── Unassemble.cpp │ ├── UserInfo.cpp │ └── Write.cpp ├── HyperSpec-7-0.tar.gz ├── LICENSE.OpenSSL.txt ├── LICENSE.txt ├── Libraries ├── acad │ ├── CLARX.README │ ├── clarx.cpp │ ├── clarx.def │ ├── clarx14.rc │ ├── clarx15.rc │ ├── clide-init.lisp │ ├── cormanlisp14.arx │ ├── cormanlisp15.arx │ ├── resource.h │ └── version.h ├── odbc │ ├── odbc-ffi.lisp │ ├── odbc-h.lisp │ ├── odbcexample.lisp │ ├── odbcext-ffi.lisp │ └── odbcext-h.lisp ├── rdnzl │ └── RDNZL-0.13.3 │ │ ├── CHANGELOG.txt │ │ ├── IMPORT.LISP │ │ ├── RDNZL-32bit-new.dll │ │ ├── RDNZL-64bit-new.dll │ │ ├── README.txt │ │ ├── adapter.lisp │ │ ├── arrays.lisp │ │ ├── container.lisp │ │ ├── direct.lisp │ │ ├── doc │ │ ├── apropos.png │ │ ├── box.png │ │ ├── box2.png │ │ └── index.html │ │ ├── examples │ │ ├── AproposGui.cs │ │ ├── AproposGui.dll │ │ ├── Callback.cs │ │ ├── Callback.dll │ │ ├── apropos.lisp │ │ ├── apropos2.lisp │ │ ├── callback.lisp │ │ ├── deliver-acl.lisp │ │ ├── deliver-ccl.lisp │ │ ├── deliver-lw.lisp │ │ ├── example.xls │ │ ├── excel.lisp │ │ ├── messagebox.lisp │ │ └── url.lisp │ │ ├── ffi.lisp │ │ ├── load.lisp │ │ ├── packages.lisp │ │ ├── port-acl.lisp │ │ ├── port-ccl.lisp │ │ ├── port-clisp.lisp │ │ ├── port-ecl.lisp │ │ ├── port-lw.lisp │ │ ├── port-sbcl.lisp │ │ ├── rdnzl.asd │ │ ├── reader.lisp │ │ ├── specials.lisp │ │ └── util.lisp ├── s-xml │ ├── ChangeLog │ ├── Makefile │ ├── examples │ │ ├── counter.lisp │ │ ├── echo.lisp │ │ ├── remove-markup.lisp │ │ └── tracer.lisp │ ├── s-xml.asd │ ├── src │ │ ├── dom.lisp │ │ ├── lxml-dom.lisp │ │ ├── package.lisp │ │ ├── sxml-dom.lisp │ │ ├── xml-struct-dom.lisp │ │ └── xml.lisp │ └── test │ │ ├── ant-build-file.xml │ │ ├── plist.xml │ │ ├── simple.xml │ │ ├── test-lxml-dom.lisp │ │ ├── test-sxml-dom.lisp │ │ ├── test-xml-struct-dom.lisp │ │ ├── test-xml.lisp │ │ └── xhtml-page.xml └── sql-odbc-0.85 │ ├── corman │ ├── cl141patches.lisp │ ├── class-slot-patch.lisp │ ├── clos-eql-patch.lisp │ ├── ff-compatibility-corman.lisp │ ├── readme.txt │ └── system-init.lisp │ ├── doc │ └── sql-odbc-documentation.lisp │ ├── dtf │ ├── dtf-load.lisp │ ├── dtf-test.lisp │ └── dtf.lisp │ ├── examples │ └── sample-session.lisp │ ├── lispworks │ └── ff-compatibility-lw.lisp │ ├── mcl │ ├── ff-compatibility-mcl.lisp │ ├── sql-fred.lisp │ └── use-module.lisp │ ├── odbc │ ├── odbc-constants.lisp │ ├── odbc-ff-interface.lisp │ ├── odbc-functions.lisp │ ├── odbc-package.lisp │ ├── odbc-sql-interface.lisp │ ├── odbc-streams.lisp │ └── odbc-system.lisp │ ├── release-notes.txt │ └── sql │ ├── sql-class.lisp │ ├── sql-expressions.lisp │ ├── sql-functional-interface.lisp │ ├── sql-package.lisp │ ├── sql-streams.lisp │ └── sql-system.lisp ├── Modules ├── acl-excl.lisp ├── acl-socket.lisp ├── advice.lisp ├── allegroserve.lisp ├── as │ ├── ChangeLog │ ├── as-example1.lisp │ ├── authorize.cl │ ├── client.cl │ ├── cormanlisp.txt │ ├── decode.cl │ ├── doc │ │ ├── aserve.html │ │ ├── htmlgen.html │ │ └── tutorial.html │ ├── examples │ │ ├── aservelogo.gif │ │ ├── chat.cl │ │ ├── examples.cl │ │ ├── file2000.txt │ │ ├── foo.txt │ │ ├── fresh.jpg │ │ ├── prfile9.jpg │ │ └── tutorial.cl │ ├── htmlgen │ │ ├── ChangeLog │ │ └── htmlgen.cl │ ├── license-allegroserve.txt │ ├── license-lgpl.txt │ ├── log.cl │ ├── macs.cl │ ├── main.cl │ ├── parse.cl │ ├── publish.cl │ ├── readme.txt │ ├── source-readme.txt │ └── test │ │ └── t-aserve.cl ├── asdf.lisp ├── com-type-libs.lisp ├── composite-streams.lisp ├── console.lisp ├── find-in-files.lisp ├── gray-streams.lisp ├── gui.lisp ├── html.lisp ├── infix.lisp ├── jni.lisp ├── lp.lisp ├── mem-c-funcs.lisp ├── miniwin.lisp ├── mp-locks.lisp ├── mp.lisp ├── nregex.lisp ├── opengl.lisp ├── quicksort.lisp ├── rdnzl.lisp ├── s-xml.lisp ├── sha1.lisp ├── snooper.lisp ├── ssl-sockets.lisp ├── telnet-listener.lisp ├── text-file-conversions.lisp ├── uri.lisp ├── win32-symbols.lisp ├── win32-wrappers.lisp ├── winbase.lisp ├── windef.lisp ├── wingdi.lisp ├── winnt.lisp ├── winuser.lisp ├── winutil.lisp ├── xformat.lisp └── xmlrpc.lisp ├── RDNZL.dll ├── README.md ├── Sys ├── THREADS.lisp ├── array.lisp ├── arrays.lisp ├── assembler.lisp ├── auto-update.lisp ├── autoload.lisp ├── backquote.lisp ├── bignums.lisp ├── bits.lisp ├── boole.lisp ├── bootstrap.lisp ├── characters.lisp ├── cl-symbols.lisp ├── clmacros.lisp ├── clos-eql-patch.lisp ├── clos.lisp ├── code-indenter.lisp ├── coerce.lisp ├── collect-literals.lisp ├── com.lisp ├── compile-file.lisp ├── compile-sys.lisp ├── compiler.lisp ├── conditions.lisp ├── context-menu.lisp ├── control-structures.lisp ├── debug.lisp ├── declarations.lisp ├── defpackage.lisp ├── describe.lisp ├── destructure.lisp ├── directory.lisp ├── documentation.lisp ├── dribble.lisp ├── edit-window.lisp ├── errors.lisp ├── expand.lisp ├── fast-class-of.lisp ├── ffi.lisp ├── filenames.lisp ├── format.lisp ├── hash-table.lisp ├── hyperspec.lisp ├── ide-menus.lisp ├── imagehlp.lisp ├── input-output.lisp ├── io.lisp ├── jumpmenu.lisp ├── kernel-asm.lisp ├── kernel-funcs.lisp ├── lists.lisp ├── load-sys.lisp ├── load-sys2.lisp ├── logical-pathname.lisp ├── loop.lisp ├── map-file.lisp ├── massage.lisp ├── math-ops.lisp ├── math.lisp ├── math2.lisp ├── menus.lisp ├── misc-features.lisp ├── misc-utility.lisp ├── misc.lisp ├── open-file.lisp ├── package.lisp ├── parse-c-decls.lisp ├── pl-imports.lisp ├── pl-symbols.lisp ├── places.lisp ├── pretty.lisp ├── print-float.lisp ├── profiler.lisp ├── random.lisp ├── read.lisp ├── readtable.lisp ├── registry.lisp ├── require.lisp ├── save-application.lisp ├── scmindent │ ├── COPYING │ ├── README.adoc │ └── lispindent.lisp ├── sequence.lisp ├── sequences.lisp ├── setf-expander.lisp ├── setf.lisp ├── sockets.lisp ├── stepper.lisp ├── streams.lisp ├── strings.lisp ├── structures.lisp ├── subtypep.lisp ├── symbols.lisp ├── synchronized.lisp ├── sys-lib.lisp ├── tail-calls.lisp ├── time.lisp ├── toplevel.lisp ├── trace.lisp ├── trees.lisp ├── types.lisp ├── util.lisp ├── uvector.lisp ├── version.lisp ├── vm.lisp ├── win-conditions.lisp ├── win32.lisp ├── winsock.lisp ├── working.lisp ├── write.lisp └── xp.lisp ├── Utilities ├── generate-version-wxi.lisp ├── install-hyperspec.lisp ├── license-to-rtf.lisp └── parse-downloads.lisp ├── clboot ├── clboot.cpp ├── clboot.exe.manifest ├── clboot.rc ├── clboot.vcxproj └── resource.h ├── clbootapp ├── clbootapp.cpp ├── clbootapp.exe.manifest ├── clbootapp.rc ├── clbootapp.vcxproj ├── clbootapp.vcxproj.filters └── resource.h ├── clconsole ├── clconsole.cpp ├── clconsole.exe.manifest ├── clconsole.rc ├── clconsole.vcxproj └── resource.h ├── clconsoleapp ├── clconsoleapp.cpp ├── clconsoleapp.exe.manifest ├── clconsoleapp.rc ├── clconsoleapp.vcxproj └── resource.h ├── delimg.bat ├── dlltemplate ├── dlltemplate.cpp ├── dlltemplate.def ├── dlltemplate.vcxproj └── dlltemplate.vcxproj.filters ├── documentation ├── Corman Lisp 1.21 Release Notes.txt ├── Corman Lisp 1.3 Release Notes.txt ├── Corman Lisp 1.4 Release Notes.txt ├── Corman Lisp 1.41 Release Notes.txt ├── Corman Lisp 1.5 Release Notes.txt ├── CormanLisp.doc ├── CormanLisp.html ├── CormanLisp.pdf ├── CormanLisp_2_01_Release_notes.txt ├── CormanLisp_2_0_Release_notes.txt ├── CormanLisp_2_5_1_Release_notes.txt ├── CormanLisp_2_5_Release_notes.txt ├── CormanLisp_2_6_Beta_Release_notes.txt ├── CormanLisp_3_0_Release_notes.txt ├── CormanLisp_3_1_Release_notes.txt ├── credits.txt └── parse.html ├── examples ├── HELLOWIN.WAV ├── JavaClass.lisp ├── baby.lisp ├── callbacks.lisp ├── com-interfaces.lisp ├── console-stuff.lisp ├── devcaps1.lisp ├── dllclient │ ├── Makefile │ ├── dllclient.cpp │ ├── dllclient.sln │ └── dllclient.vcproj ├── dllsample.lisp ├── double-float-optimizations.lisp ├── gui │ ├── bouncing.lisp │ ├── dialogs.lisp │ ├── hello.lisp │ ├── life-gui.lisp │ ├── mdi-example.lisp │ ├── menu1.lisp │ ├── othello-gui.lisp │ └── shapes.lisp ├── hellowin.lisp ├── ifstar.lisp ├── insults.lisp ├── internet.lisp ├── life.lisp ├── lisp-heap-stats.lisp ├── math-fun.lisp ├── memoize.lisp ├── minesweepers.lisp ├── normal-random.lisp ├── optimize-examples.lisp ├── pi.lisp ├── play-mp3s.lisp ├── poppad1.lisp ├── primes.lisp ├── quicksort.lisp ├── registry.lisp ├── shortcuts.lisp ├── sysmets3.lisp ├── testdll.cpp ├── testdll.def ├── testdll.dll ├── testdll.vcproj ├── touch.lisp ├── touchx.lisp └── utility-functions.lisp ├── include ├── CharBuf.h ├── CoCormanLispClient.h ├── ErrorMessage.h ├── ICormanLisp.h ├── clsids.h └── threadclasses.h ├── init.lisp ├── installer ├── AddToPath.wxs ├── Config.wxi ├── Core.wxs ├── CormanLispServerLib.wxs ├── DebugData.wxs ├── Features.wxs ├── HyperspecLegalese.wxs ├── LICENSE.txt ├── Main.wxs ├── Shortcuts.wxs ├── heat-postprocess.xsl ├── installer.vcxproj └── installer.vcxproj.filters ├── libcrypto-1_1.dll ├── libcrypto-1_1.pdb ├── libssl-1_1.dll ├── libssl-1_1.pdb ├── makeimg.bat ├── makemsi.bat ├── makezip.bat ├── src_vc15.sln ├── test ├── ansi-chapter-2.lisp ├── ansi-chapter-3.lisp ├── ansi-chapter-4.lisp ├── ansi-chapter-5.lisp ├── ansi-chapter-6.lisp ├── ansi-chapter-7.lisp ├── ansi-chapter-8.lisp ├── ansi-examples.lisp ├── bugs.lisp ├── classbench.lisp ├── closette-tests.lisp ├── float-test.lisp ├── mflop-test.lisp ├── test-sequences.lisp └── testkit.lisp └── zlib ├── CMakeLists.txt ├── ChangeLog ├── FAQ ├── INDEX ├── Makefile ├── Makefile.in ├── README ├── adler32.c ├── amiga ├── Makefile.pup └── Makefile.sas ├── compress.c ├── configure ├── contrib ├── README.contrib ├── ada │ ├── buffer_demo.adb │ ├── mtest.adb │ ├── read.adb │ ├── readme.txt │ ├── test.adb │ ├── zlib-streams.adb │ ├── zlib-streams.ads │ ├── zlib-thin.adb │ ├── zlib-thin.ads │ ├── zlib.adb │ ├── zlib.ads │ └── zlib.gpr ├── amd64 │ └── amd64-match.S ├── asm686 │ ├── README.686 │ └── match.S ├── blast │ ├── Makefile │ ├── README │ ├── blast.c │ ├── blast.h │ ├── test.pk │ └── test.txt ├── delphi │ ├── ZLib.pas │ ├── ZLibConst.pas │ ├── readme.txt │ └── zlibd32.mak ├── dotzlib │ ├── DotZLib.build │ ├── DotZLib.chm │ ├── DotZLib.sln │ ├── DotZLib │ │ ├── AssemblyInfo.cs │ │ ├── ChecksumImpl.cs │ │ ├── CircularBuffer.cs │ │ ├── CodecBase.cs │ │ ├── Deflater.cs │ │ ├── DotZLib.cs │ │ ├── DotZLib.csproj │ │ ├── GZipStream.cs │ │ ├── Inflater.cs │ │ └── UnitTests.cs │ ├── LICENSE_1_0.txt │ └── readme.txt ├── gcc_gvmat64 │ └── gvmat64.S ├── infback9 │ ├── README │ ├── infback9.c │ ├── infback9.h │ ├── inffix9.h │ ├── inflate9.h │ ├── inftree9.c │ └── inftree9.h ├── inflate86 │ ├── inffas86.c │ └── inffast.S ├── iostream │ ├── test.cpp │ ├── zfstream.cpp │ └── zfstream.h ├── iostream2 │ ├── zstream.h │ └── zstream_test.cpp ├── iostream3 │ ├── README │ ├── TODO │ ├── test.cc │ ├── zfstream.cc │ └── zfstream.h ├── masmx64 │ ├── bld_ml64.bat │ ├── gvmat64.asm │ ├── inffas8664.c │ ├── inffasx64.asm │ └── readme.txt ├── masmx86 │ ├── bld_ml32.bat │ ├── inffas32.asm │ ├── match686.asm │ └── readme.txt ├── minizip │ ├── Makefile │ ├── Makefile.am │ ├── MiniZip64_Changes.txt │ ├── MiniZip64_info.txt │ ├── configure.ac │ ├── crypt.h │ ├── ioapi.c │ ├── ioapi.h │ ├── iowin32.c │ ├── iowin32.h │ ├── make_vms.com │ ├── miniunz.c │ ├── miniunzip.1 │ ├── minizip.1 │ ├── minizip.c │ ├── minizip.pc.in │ ├── mztools.c │ ├── mztools.h │ ├── unzip.c │ ├── unzip.h │ ├── zip.c │ └── zip.h ├── pascal │ ├── example.pas │ ├── readme.txt │ ├── zlibd32.mak │ └── zlibpas.pas ├── puff │ ├── Makefile │ ├── README │ ├── puff.c │ ├── puff.h │ ├── pufftest.c │ └── zeros.raw ├── testzlib │ ├── testzlib.c │ └── testzlib.txt ├── untgz │ ├── Makefile │ ├── Makefile.msc │ └── untgz.c └── vstudio │ ├── readme.txt │ ├── vc10 │ ├── miniunz.vcxproj │ ├── miniunz.vcxproj.filters │ ├── minizip.vcxproj │ ├── minizip.vcxproj.filters │ ├── testzlib.vcxproj │ ├── testzlib.vcxproj.filters │ ├── testzlibdll.vcxproj │ ├── testzlibdll.vcxproj.filters │ ├── zlib.rc │ ├── zlibstat.vcxproj │ ├── zlibstat.vcxproj.filters │ ├── zlibvc.def │ ├── zlibvc.sln │ ├── zlibvc.vcxproj │ └── zlibvc.vcxproj.filters │ ├── vc11 │ ├── miniunz.vcxproj │ ├── minizip.vcxproj │ ├── testzlib.vcxproj │ ├── testzlibdll.vcxproj │ ├── zlib.rc │ ├── zlibstat.vcxproj │ ├── zlibvc.def │ ├── zlibvc.sln │ └── zlibvc.vcxproj │ ├── vc12 │ ├── miniunz.vcxproj │ ├── minizip.vcxproj │ ├── testzlib.vcxproj │ ├── testzlibdll.vcxproj │ ├── zlib.rc │ ├── zlibstat.vcxproj │ ├── zlibvc.def │ ├── zlibvc.sln │ └── zlibvc.vcxproj │ ├── vc14 │ ├── miniunz.vcxproj │ ├── minizip.vcxproj │ ├── testzlib.vcxproj │ ├── testzlibdll.vcxproj │ ├── zlib.rc │ ├── zlibstat.vcxproj │ ├── zlibvc.def │ ├── zlibvc.sln │ └── zlibvc.vcxproj │ └── vc9 │ ├── miniunz.vcproj │ ├── minizip.vcproj │ ├── testzlib.vcproj │ ├── testzlibdll.vcproj │ ├── zlib.rc │ ├── zlibstat.vcproj │ ├── zlibvc.def │ ├── zlibvc.sln │ └── zlibvc.vcproj ├── crc32.c ├── crc32.h ├── deflate.c ├── deflate.h ├── doc ├── algorithm.txt ├── rfc1950.txt ├── rfc1951.txt ├── rfc1952.txt └── txtvsbin.txt ├── examples ├── README.examples ├── enough.c ├── fitblk.c ├── gun.c ├── gzappend.c ├── gzjoin.c ├── gzlog.c ├── gzlog.h ├── zlib_how.html ├── zpipe.c └── zran.c ├── gzclose.c ├── gzguts.h ├── gzlib.c ├── gzread.c ├── gzwrite.c ├── infback.c ├── inffast.c ├── inffast.h ├── inffixed.h ├── inflate.c ├── inflate.h ├── inftrees.c ├── inftrees.h ├── make_vms.com ├── msdos ├── Makefile.bor ├── Makefile.dj2 ├── Makefile.emx ├── Makefile.msc └── Makefile.tc ├── nintendods ├── Makefile └── README ├── old ├── Makefile.emx ├── Makefile.riscos ├── README ├── descrip.mms ├── os2 │ ├── Makefile.os2 │ └── zlib.def └── visual-basic.txt ├── os400 ├── README400 ├── bndsrc ├── make.sh └── zlib.inc ├── qnx └── package.qpg ├── test ├── example.c ├── infcover.c └── minigzip.c ├── treebuild.xml ├── trees.c ├── trees.h ├── uncompr.c ├── watcom ├── watcom_f.mak └── watcom_l.mak ├── win32 ├── DLL_FAQ.txt ├── Makefile.bor ├── Makefile.gcc ├── Makefile.msc ├── README-WIN32.txt ├── VisualC.txt ├── zlib.def └── zlib1.rc ├── zconf.h ├── zconf.h.cmakein ├── zconf.h.in ├── zlib.3 ├── zlib.3.pdf ├── zlib.h ├── zlib.map ├── zlib.pc.cmakein ├── zlib.pc.in ├── zlib.vcxproj ├── zlib.vcxproj.filters ├── zlib2ansi ├── zutil.c └── zutil.h /.gitignore: -------------------------------------------------------------------------------- 1 | *.exe 2 | *.dll 3 | *.lib 4 | *.exp 5 | *.obj 6 | *.res 7 | *.img 8 | *.pdb 9 | *.vcxproj.user 10 | *.log 11 | *.tlog 12 | *.sdf 13 | *.opensdf 14 | *.suo 15 | *.aps 16 | *.htm 17 | *.db 18 | *.opendb 19 | Lisp Worksheet 20 | # HyperSpec 21 | HyperSpec/* 22 | HyperSpec-Legalese.text 23 | HyperSpec-README.text 24 | .vs/* 25 | # installer staff 26 | *.msi 27 | *.wixobj 28 | *.wixpdb 29 | *.tar 30 | clbootapp/bin/ 31 | installer/Standard/ 32 | # automatically generated installer components 33 | installer/Libraries.wxs 34 | installer/Modules.wxs 35 | installer/Sys.wxs 36 | installer/Documentation.wxs 37 | installer/Examples.wxs 38 | installer/Headers.wxs 39 | installer/HyperSpec.wxs 40 | installer/Version.wxi 41 | installer/LICENSE.rtf 42 | unpacked/* 43 | CormanLisp*.zip 44 | 45 | -------------------------------------------------------------------------------- /CormanLispIDE/CormanLisp.rc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/CormanLispIDE/CormanLisp.rc -------------------------------------------------------------------------------- /CormanLispIDE/RES/BrowserToolbar.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/CormanLispIDE/RES/BrowserToolbar.bmp -------------------------------------------------------------------------------- /CormanLispIDE/RES/Browserfram.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/CormanLispIDE/RES/Browserfram.bmp -------------------------------------------------------------------------------- /CormanLispIDE/RES/CormanLisp.BMP: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/CormanLispIDE/RES/CormanLisp.BMP -------------------------------------------------------------------------------- /CormanLispIDE/RES/CormanLisp.ICO: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/CormanLispIDE/RES/CormanLisp.ICO -------------------------------------------------------------------------------- /CormanLispIDE/RES/CormanLisp_2_5_small.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/CormanLispIDE/RES/CormanLisp_2_5_small.bmp -------------------------------------------------------------------------------- /CormanLispIDE/RES/CormanLisp_3_0_feather 465x281.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/CormanLispIDE/RES/CormanLisp_3_0_feather 465x281.bmp -------------------------------------------------------------------------------- /CormanLispIDE/RES/CormanLisp_old.ICO: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/CormanLispIDE/RES/CormanLisp_old.ICO -------------------------------------------------------------------------------- /CormanLispIDE/RES/CormanLisp_small.BMP: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/CormanLispIDE/RES/CormanLisp_small.BMP -------------------------------------------------------------------------------- /CormanLispIDE/RES/CormanLisp_small_old.BMP: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/CormanLispIDE/RES/CormanLisp_small_old.BMP -------------------------------------------------------------------------------- /CormanLispIDE/RES/CormanLisp_smaller.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/CormanLispIDE/RES/CormanLisp_smaller.bmp -------------------------------------------------------------------------------- /CormanLispIDE/RES/CormanLisp_smaller_old.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/CormanLispIDE/RES/CormanLisp_smaller_old.bmp -------------------------------------------------------------------------------- /CormanLispIDE/RES/Corman_2_2_splash.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/CormanLispIDE/RES/Corman_2_2_splash.bmp -------------------------------------------------------------------------------- /CormanLispIDE/RES/Corman_2_5_splash 465x281.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/CormanLispIDE/RES/Corman_2_5_splash 465x281.bmp -------------------------------------------------------------------------------- /CormanLispIDE/RES/Corman_2_5_splash 499x312 IS.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/CormanLispIDE/RES/Corman_2_5_splash 499x312 IS.bmp -------------------------------------------------------------------------------- /CormanLispIDE/RES/Corman_2_5_splash 499x312.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/CormanLispIDE/RES/Corman_2_5_splash 499x312.bmp -------------------------------------------------------------------------------- /CormanLispIDE/RES/Corman_2_5_splash.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/CormanLispIDE/RES/Corman_2_5_splash.bmp -------------------------------------------------------------------------------- /CormanLispIDE/RES/Corman_2_splash.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/CormanLispIDE/RES/Corman_2_splash.bmp -------------------------------------------------------------------------------- /CormanLispIDE/RES/Corman_3_0_splash 499x312 IS.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/CormanLispIDE/RES/Corman_3_0_splash 499x312 IS.bmp -------------------------------------------------------------------------------- /CormanLispIDE/RES/LispDoc.ICO: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/CormanLispIDE/RES/LispDoc.ICO -------------------------------------------------------------------------------- /CormanLispIDE/RES/TOOLBAR.BMP: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/CormanLispIDE/RES/TOOLBAR.BMP -------------------------------------------------------------------------------- /CormanLispIDE/RES/background1.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/CormanLispIDE/RES/background1.bmp -------------------------------------------------------------------------------- /CormanLispIDE/RES/ccl_2_5_splash_setup_bkg.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/CormanLispIDE/RES/ccl_2_5_splash_setup_bkg.bmp -------------------------------------------------------------------------------- /CormanLispIDE/RES/ccl_2_splash_setup_bkg.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/CormanLispIDE/RES/ccl_2_splash_setup_bkg.bmp -------------------------------------------------------------------------------- /CormanLispIDE/RES/ccl_install_splash.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/CormanLispIDE/RES/ccl_install_splash.bmp -------------------------------------------------------------------------------- /CormanLispIDE/RES/embossed_logo.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/CormanLispIDE/RES/embossed_logo.bmp -------------------------------------------------------------------------------- /CormanLispIDE/RES/embossed_logo_2_5.BMP: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/CormanLispIDE/RES/embossed_logo_2_5.BMP -------------------------------------------------------------------------------- /CormanLispIDE/RES/feather--CL 3.0_small.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/CormanLispIDE/RES/feather--CL 3.0_small.bmp -------------------------------------------------------------------------------- /CormanLispIDE/RES/ico00001.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/CormanLispIDE/RES/ico00001.ico -------------------------------------------------------------------------------- /CormanLispIDE/RES/icon1.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/CormanLispIDE/RES/icon1.ico -------------------------------------------------------------------------------- /CormanLispIDE/RES/idr_html.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/CormanLispIDE/RES/idr_html.ico -------------------------------------------------------------------------------- /CormanLispIDE/RES/idr_lisp.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/CormanLispIDE/RES/idr_lisp.ico -------------------------------------------------------------------------------- /CormanLispIDE/RES/idr_text.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/CormanLispIDE/RES/idr_text.ico -------------------------------------------------------------------------------- /CormanLispIDE/RES/new_logo/Corman_16x16_no_text.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/CormanLispIDE/RES/new_logo/Corman_16x16_no_text.png -------------------------------------------------------------------------------- /CormanLispIDE/RES/new_logo/Corman_256x256_with_text.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/CormanLispIDE/RES/new_logo/Corman_256x256_with_text.png -------------------------------------------------------------------------------- /CormanLispIDE/RES/new_logo/Corman_32x32_no_text.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/CormanLispIDE/RES/new_logo/Corman_32x32_no_text.png -------------------------------------------------------------------------------- /CormanLispIDE/RES/new_logo/Corman_48x48_no_text.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/CormanLispIDE/RES/new_logo/Corman_48x48_no_text.png -------------------------------------------------------------------------------- /CormanLispIDE/RES/new_logo/Corman_500x500_with_text.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/CormanLispIDE/RES/new_logo/Corman_500x500_with_text.png -------------------------------------------------------------------------------- /CormanLispIDE/RES/splash_tiny.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/CormanLispIDE/RES/splash_tiny.bmp -------------------------------------------------------------------------------- /CormanLispIDE/RES/toolbar1.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/CormanLispIDE/RES/toolbar1.bmp -------------------------------------------------------------------------------- /CormanLispIDE/Version.rc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/CormanLispIDE/Version.rc -------------------------------------------------------------------------------- /CormanLispIDE/include/CommonLispFuncs.h: -------------------------------------------------------------------------------- 1 | // ------------------------------- 2 | // Copyright (c) Corman Technologies Inc. 3 | // See LICENSE.txt for license information. 4 | // ------------------------------- 5 | // 6 | // File: CommonLispFuncs.h 7 | // Contents: Corman Lisp application source file 8 | // History: 1/27/99 RGC Created. 9 | // 10 | 11 | #ifndef COMMONLISPFUNCS_H 12 | #define COMMONLISPFUNCS_H 13 | 14 | struct LambdaListString 15 | { 16 | char* symbol; 17 | char* lambdaList; 18 | }; 19 | 20 | void sortLambdaLists(); 21 | const char* findLambdaList(const char* symbol); 22 | 23 | #endif // COMMONLISPFUNCS_H -------------------------------------------------------------------------------- /CormanLispIDE/include/Dialogs.h: -------------------------------------------------------------------------------- 1 | // ------------------------------- 2 | // Copyright (c) Corman Technologies Inc. 3 | // See LICENSE.txt for license information. 4 | // ------------------------------- 5 | // 6 | // File: Dialogs.h 7 | // Contents: Corman Lisp application source file 8 | // History: 10/13/98 RGC Created. 9 | // 10/01/16 Artem Boldarev 10 | // RegitrationDialog code removed. 11 | // 12 | #ifndef DIALOGS_H 13 | #define DIALOGS_H 14 | 15 | #include 16 | 17 | class AboutDialog : public CDialog 18 | { 19 | public: 20 | AboutDialog(UINT nIDTemplate); 21 | 22 | BOOL OnInitDialog(); 23 | void OnCreditsInfo(); 24 | void OnCormanNet(); 25 | 26 | DECLARE_MESSAGE_MAP() 27 | }; 28 | 29 | class LegalDialog : public CDialog 30 | { 31 | public: 32 | LegalDialog(UINT nIDTemplate); 33 | ~LegalDialog(); 34 | 35 | BOOL OnInitDialog(); 36 | DECLARE_MESSAGE_MAP() 37 | private: 38 | BYTE* mappedFile; 39 | }; 40 | 41 | class CreditsDialog : public CDialog 42 | { 43 | public: 44 | CreditsDialog(UINT nIDTemplate); 45 | ~CreditsDialog(); 46 | 47 | BOOL OnInitDialog(); 48 | DECLARE_MESSAGE_MAP() 49 | private: 50 | BYTE* mappedFile; 51 | }; 52 | 53 | class GotoLineDialog : public CDialog 54 | { 55 | public: 56 | GotoLineDialog(UINT nIDTemplate); 57 | BOOL OnInitDialog(); 58 | void OnOK(); 59 | DECLARE_MESSAGE_MAP() 60 | 61 | public: 62 | CEdit* lineNumberEdit; 63 | int lineNumber_; 64 | int lineNumber(); 65 | }; 66 | 67 | 68 | #endif // DIALOGS_H 69 | -------------------------------------------------------------------------------- /CormanLispIDE/include/DocOptions.h: -------------------------------------------------------------------------------- 1 | // ------------------------------- 2 | // Copyright (c) Corman Technologies Inc. 3 | // See LICENSE.txt for license information. 4 | // ------------------------------- 5 | // 6 | // File: DocOptions.h 7 | // 8 | 9 | #ifndef DOCOPTIONS_H 10 | #define DOCOPTIONS_H 11 | 12 | #include 13 | 14 | class CUnit 15 | { 16 | public: 17 | int m_nTPU; 18 | int m_nSmallDiv; // small divisions - small line displayed 19 | int m_nMediumDiv; // medium divisions - large line displayed 20 | int m_nLargeDiv; // large divisions - numbers displayed 21 | int m_nMinMove; // minimum tracking movements 22 | UINT m_nAbbrevID; 23 | BOOL m_bSpaceAbbrev; // put space before abbreviation 24 | CString m_strAbbrev;// cm, pt, pi, ", in, inch, inches 25 | 26 | CUnit() {} 27 | CUnit(int nTPU, int nSmallDiv, int nMediumDiv, int nLargeDiv, 28 | int nMinMove, UINT nAbbrevID, BOOL bSpaceAbbrev); 29 | const CUnit& operator=(const CUnit& unit); 30 | }; 31 | 32 | class CDocOptions 33 | { 34 | public: 35 | CDocOptions(int nDefWrap) {m_nDefWrap = nDefWrap;} 36 | CDockState m_ds1; 37 | CDockState m_ds2; 38 | int m_nWordWrap; 39 | int m_nDefWrap; 40 | void SaveOptions(LPCTSTR lpsz); 41 | void LoadOptions(LPCTSTR lpsz); 42 | void SaveDockState(CDockState& ds, LPCTSTR lpszProfileName, 43 | LPCTSTR lpszLayout); 44 | void LoadDockState(CDockState& ds, LPCTSTR lpszProfileName, 45 | LPCTSTR lpszLayout); 46 | CDockState& GetDockState(BOOL bPrimary) {return (bPrimary) ? m_ds1 : m_ds2;} 47 | }; 48 | 49 | #endif // DOCOPTIONS_H 50 | 51 | -------------------------------------------------------------------------------- /CormanLispIDE/include/LispObjDisplay.h: -------------------------------------------------------------------------------- 1 | // ------------------------------- 2 | // Copyright (c) Corman Technologies Inc. 3 | // See LICENSE.txt for license information. 4 | // ------------------------------- 5 | // 6 | // File: LispObjDisplay.h 7 | // 8 | 9 | ///////////////////////////////////////////////////////////////////////////// 10 | // LispObjDisplay dialog 11 | 12 | class LispObjDisplay : public CDialog 13 | { 14 | // Construction 15 | public: 16 | LispObjDisplay(CWnd* pParent, CStringArray* contents); 17 | 18 | // Dialog Data 19 | //{{AFX_DATA(LispObjDisplay) 20 | enum { IDD = IDD_DIALOG1 }; 21 | // NOTE: the ClassWizard will add data members here 22 | //}}AFX_DATA 23 | 24 | 25 | // Overrides 26 | // ClassWizard generated virtual function overrides 27 | //{{AFX_VIRTUAL(LispObjDisplay) 28 | 29 | void OnCancel(); 30 | void PostNcDestroy(); 31 | 32 | protected: 33 | virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support 34 | //}}AFX_VIRTUAL 35 | 36 | // Implementation 37 | protected: 38 | 39 | CWnd* m_pParent; 40 | int m_nID; 41 | 42 | // Generated message map functions 43 | //{{AFX_MSG(LispObjDisplay) 44 | // NOTE: the ClassWizard will add member functions here 45 | //}}AFX_MSG 46 | DECLARE_MESSAGE_MAP() 47 | 48 | }; 49 | -------------------------------------------------------------------------------- /CormanLispIDE/include/PageSetupDlg.h: -------------------------------------------------------------------------------- 1 | // ------------------------------- 2 | // Copyright (c) Corman Technologies Inc. 3 | // See LICENSE.txt for license information. 4 | // ------------------------------- 5 | // 6 | // File: PageSetupDlg.h 7 | // 8 | 9 | #ifndef PAGESETUPDLG_H 10 | #define PAGESETUPDLG_H 11 | 12 | #include "CSDialog.h" 13 | 14 | void PASCAL DDX_Twips(CDataExchange* pDX, int nIDC, int& value); 15 | void PASCAL DDV_MinMaxTwips(CDataExchange* pDX, int value, int minVal, int maxVal); 16 | 17 | ///////////////////////////////////////////////////////////////////////////// 18 | // CPageSetupDlg dialog 19 | 20 | class CPageSetupDlg : public CCSDialog 21 | { 22 | // Construction 23 | public: 24 | CPageSetupDlg(CWnd* pParent = NULL); // standard constructor 25 | 26 | // Dialog Data 27 | //{{AFX_DATA(CPageSetupDlg) 28 | enum { IDD = IDD_PAGE_SETUP_DIALOG }; 29 | int m_nTopMargin; 30 | int m_nRightMargin; 31 | int m_nLeftMargin; 32 | int m_nBottomMargin; 33 | //}}AFX_DATA 34 | 35 | // Implementation 36 | static const DWORD m_nHelpIDs[]; 37 | virtual const DWORD* GetHelpIDs() {return m_nHelpIDs;} 38 | protected: 39 | virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support 40 | 41 | // Generated message map functions 42 | //{{AFX_MSG(CPageSetupDlg) 43 | //}}AFX_MSG 44 | DECLARE_MESSAGE_MAP() 45 | }; 46 | 47 | #endif // PAGESETUPDLG_H -------------------------------------------------------------------------------- /CormanLispIDE/include/SMDIChildWnd.h: -------------------------------------------------------------------------------- 1 | #if !defined(AFX_SMDICHILDWND_H__2FDD3D13_FE8F_4393_8225_9481CAB8CB62__INCLUDED_) 2 | #define AFX_SMDICHILDWND_H__2FDD3D13_FE8F_4393_8225_9481CAB8CB62__INCLUDED_ 3 | 4 | #if _MSC_VER > 1000 5 | #pragma once 6 | #endif // _MSC_VER > 1000 7 | // SMDIChildWnd.h : header file 8 | // 9 | // James Pullicino 10 | // James@drinkinginthesun.com 11 | // 12 | ///////////////////////////////////////////////////////////////////////////// 13 | // CSMDIChildWnd frame 14 | 15 | class CSMDIChildWnd : public CMDIChildWnd 16 | { 17 | DECLARE_DYNCREATE(CSMDIChildWnd) 18 | protected: 19 | CSMDIChildWnd(); // protected constructor used by dynamic creation 20 | 21 | // Attributes 22 | public: 23 | 24 | // Operations 25 | public: 26 | 27 | // Overrides 28 | // ClassWizard generated virtual function overrides 29 | //{{AFX_VIRTUAL(CSMDIChildWnd) 30 | public: 31 | virtual BOOL DestroyWindow(); 32 | //}}AFX_VIRTUAL 33 | 34 | // Implementation 35 | protected: 36 | virtual ~CSMDIChildWnd(); 37 | 38 | // Generated message map functions 39 | //{{AFX_MSG(CSMDIChildWnd) 40 | afx_msg void OnShowWindow(BOOL bShow, UINT nStatus); 41 | //}}AFX_MSG 42 | DECLARE_MESSAGE_MAP() 43 | 44 | bool m_bShowOnce; 45 | }; 46 | 47 | ///////////////////////////////////////////////////////////////////////////// 48 | 49 | //{{AFX_INSERT_LOCATION}} 50 | // Microsoft Visual C++ will insert additional declarations immediately before the previous line. 51 | 52 | #endif // !defined(AFX_SMDICHILDWND_H__2FDD3D13_FE8F_4393_8225_9481CAB8CB62__INCLUDED_) 53 | -------------------------------------------------------------------------------- /CormanLispIDE/include/SMDIFrameWnd.h: -------------------------------------------------------------------------------- 1 | #if !defined(AFX_SMDIFRAMEWND_H__BA187822_FBE1_450E_9C75_58CAD43361FF__INCLUDED_) 2 | #define AFX_SMDIFRAMEWND_H__BA187822_FBE1_450E_9C75_58CAD43361FF__INCLUDED_ 3 | 4 | #if _MSC_VER > 1000 5 | #pragma once 6 | #endif // _MSC_VER > 1000 7 | // SMDIFrameWnd.h : header file 8 | // 9 | // 10 | // James Pullicino 11 | // James@drinkinginthesun.com 12 | // 13 | ///////////////////////////////////////////////////////////////////////////// 14 | // CSMDIFrameWnd frame 15 | 16 | class CSMDIFrameWnd : public CMDIFrameWnd 17 | { 18 | DECLARE_DYNCREATE(CSMDIFrameWnd) 19 | protected: 20 | CSMDIFrameWnd(); // protected constructor used by dynamic creation 21 | 22 | // Attributes 23 | public: 24 | 25 | // Operations 26 | public: 27 | 28 | // Overrides 29 | // ClassWizard generated virtual function overrides 30 | //{{AFX_VIRTUAL(CSMDIFrameWnd) 31 | public: 32 | virtual BOOL DestroyWindow(); 33 | //}}AFX_VIRTUAL 34 | 35 | // Implementation 36 | protected: 37 | virtual ~CSMDIFrameWnd(); 38 | 39 | // Generated message map functions 40 | //{{AFX_MSG(CSMDIFrameWnd) 41 | afx_msg void OnShowWindow(BOOL bShow, UINT nStatus); 42 | //}}AFX_MSG 43 | DECLARE_MESSAGE_MAP() 44 | 45 | bool m_bShowOnce; 46 | }; 47 | 48 | ///////////////////////////////////////////////////////////////////////////// 49 | 50 | //{{AFX_INSERT_LOCATION}} 51 | // Microsoft Visual C++ will insert additional declarations immediately before the previous line. 52 | 53 | #endif // !defined(AFX_SMDIFRAMEWND_H__BA187822_FBE1_450E_9C75_58CAD43361FF__INCLUDED_) 54 | -------------------------------------------------------------------------------- /CormanLispIDE/include/Stdafx.h: -------------------------------------------------------------------------------- 1 | // ------------------------------- 2 | // Copyright (c) Corman Technologies Inc. 3 | // See LICENSE.txt for license information. 4 | // ------------------------------- 5 | // 6 | // File: stdafx.h 7 | // Contents: include file for standard system include files, 8 | // or project specific include files that are used 9 | // frequently, but are changed infrequently. 10 | // 11 | 12 | #define VC_EXTRALEAN 13 | #define WINVER 0x0501 // require Windows XP or later 14 | 15 | #include // MFC core and standard components -------------------------------------------------------------------------------- /CormanLispIDE/include/UtilFuncs.h: -------------------------------------------------------------------------------- 1 | // ------------------------------- 2 | // Copyright (c) Corman Technologies Inc. 3 | // See LICENSE.txt for license information. 4 | // ------------------------------- 5 | // 6 | // File: UtilFuncs.h 7 | // Contents: Corman Lisp IDE Utility Function declarations. 8 | // History: 10/15/98 RGC Created. 9 | // 10 | #ifndef UTILFUNCS_H 11 | #define UTILFUNCS_H 12 | 13 | extern BYTE* MapFile(const char* path, DWORD* length); 14 | extern void UnmapFile(BYTE* mapping); 15 | extern CFont* getDefaultFont(HDC, long size); 16 | 17 | #endif // UTILFUNCS_H -------------------------------------------------------------------------------- /CormanLispIDE/include/helpids.h: -------------------------------------------------------------------------------- 1 | // ------------------------------- 2 | // Copyright (c) Corman Technologies Inc. 3 | // See LICENSE.txt for license information. 4 | // ------------------------------- 5 | // 6 | #ifndef HELPIDS_H 7 | #define HELPIDS_H 8 | 9 | #define IDH_CORMANLISP_TIMEDATE 1001 10 | 11 | #define IDH_CORMANLISP_ALIGN 1003 12 | #define IDH_CORMANLISP_TABSET 1004 13 | #define IDH_CORMANLISP_TABCLEAR 1005 14 | #define IDH_CORMANLISP_TAB_CLEARALL 1006 15 | #define IDH_CORMANLISP_TABSTOPS 1007 16 | #define IDH_CORMANLISP_TEXTFILE 1008 17 | #define IDH_CORMANLISP_FORMATTED 1009 18 | 19 | #define IDH_CORMANLISP_WORD6FILE 1017 20 | #define IDH_CORMANLISP_FILENEW_DOC 1018 21 | #define IDH_CORMANLISP_OPTIONS_AUTOWORDSEL 1019 22 | 23 | #define IDH_CORMANLISP_INDENT_LEFT 1020 24 | #define IDH_CORMANLISP_INDENT_RIGHT 1021 25 | #define IDH_CORMANLISP_INDENT_FIRST 1022 26 | 27 | #define IDH_CORMANLISP_WRAP_NO 1023 28 | #define IDH_CORMANLISP_WRAP_WINDOW 1024 29 | #define IDH_CORMANLISP_WRAP_RULER 1025 30 | 31 | #define IDH_COMM_GROUPBOX 1026 32 | 33 | #define IDH_CORMANLISP_INCHES 1027 34 | #define IDH_CORMANLISP_CENTIMETERS 1028 35 | #define IDH_CORMANLISP_POINTS 1029 36 | #define IDH_CORMANLISP_PICAS 1030 37 | 38 | #define IDH_CORMANLISP_CHECK_TOOLBAR 1031 39 | #define IDH_CORMANLISP_CHECK_FORMATBAR 1032 40 | #define IDH_CORMANLISP_CHECK_STATUSBAR 1033 41 | #define IDH_CORMANLISP_CHECK_RULERBAR 1034 42 | 43 | #define IDH_CORMANLISP_TOPMARGIN 1035 44 | #define IDH_CORMANLISP_BOTTOMMARGIN 1036 45 | #define IDH_CORMANLISP_LEFTMARGIN 1037 46 | #define IDH_CORMANLISP_RIGHTMARGIN 1038 47 | 48 | #endif // HELPIDS_H -------------------------------------------------------------------------------- /CormanLispIDE/include/oleaccproxy.h: -------------------------------------------------------------------------------- 1 | // ------------------------------- 2 | // Copyright (c) Corman Technologies Inc. 3 | // See LICENSE.txt for license information. 4 | // ------------------------------- 5 | #pragma once 6 | 7 | typedef LRESULT (_stdcall *pfnAccessibleObjectFromWindow)(HWND hwnd, DWORD dwId, 8 | REFIID riid, void **ppvObject); 9 | typedef LRESULT (_stdcall *pfnCreateStdAccessibleObject)(HWND hwnd, LONG idObject, 10 | REFIID riid, void** ppvObject); 11 | typedef LRESULT (_stdcall *pfnLresultFromObject)(REFIID riid, WPARAM wParam, 12 | LPUNKNOWN punk); 13 | 14 | class COleaccProxy 15 | { 16 | public: 17 | COleaccProxy(void); 18 | virtual ~COleaccProxy(void); 19 | 20 | private: 21 | static HMODULE m_hModule; 22 | static BOOL m_bFailed; 23 | 24 | public: 25 | static void Init(void); 26 | static pfnAccessibleObjectFromWindow m_pfnAccessibleObjectFromWindow; 27 | static pfnCreateStdAccessibleObject m_pfnCreateStdAccessibleObject; 28 | static pfnLresultFromObject m_pfnLresultFromObject; 29 | }; 30 | -------------------------------------------------------------------------------- /CormanLispIDE/src/Stdafx.cpp: -------------------------------------------------------------------------------- 1 | // ------------------------------- 2 | // Copyright (c) Corman Technologies Inc. 3 | // See LICENSE.txt for license information. 4 | // ------------------------------- 5 | // 6 | // File: stdafx.cpp 7 | // Contents: Source file that includes just the standard 8 | // includes stdafx.pch will be the pre-compiled 9 | // header, stdafx.obj will contain the pre-compiled 10 | // type information 11 | 12 | #include "stdafx.h" 13 | -------------------------------------------------------------------------------- /CormanLispIDE/version_resource.h: -------------------------------------------------------------------------------- 1 | //{{NO_DEPENDENCIES}} 2 | // Microsoft Visual C++ generated include file. 3 | // Used by Version.rc 4 | 5 | // Next default values for new objects 6 | // 7 | #ifdef APSTUDIO_INVOKED 8 | #ifndef APSTUDIO_READONLY_SYMBOLS 9 | #define _APS_NEXT_RESOURCE_VALUE 101 10 | #define _APS_NEXT_COMMAND_VALUE 40001 11 | #define _APS_NEXT_CONTROL_VALUE 1001 12 | #define _APS_NEXT_SYMED_VALUE 101 13 | #endif 14 | #endif 15 | -------------------------------------------------------------------------------- /CormanLispImage/Makefile: -------------------------------------------------------------------------------- 1 | # 2 | # File: Makefile 3 | # Contents: Makefile for CormanLisp.img 4 | # History: 11.06.2018 Artem Boldarev Created. 5 | # 6 | 7 | default: ..\CormanLisp.img 8 | 9 | # we depend on CormanLispServer.dll because it is good idea to rebuild image after changes in the Lisp kernel 10 | ..\CormanLisp.img: ..\CormanLispServer.dll ../Sys/*.lisp ../Sys/scmindent/*.lisp 11 | ..\makeimg.bat 12 | 13 | clean: 14 | if exist ..\CormanLisp.img del ..\CormanLisp.img 15 | 16 | rebuild: clean default 17 | 18 | -------------------------------------------------------------------------------- /CormanLispServer/CormanLispServer.def: -------------------------------------------------------------------------------- 1 | ;; ------------------------------- 2 | ;; Copyright (c) 2000-2003 Corman Technologies 3 | ;; See LICENSE.txt for license information. 4 | ;; ------------------------------- 5 | ;; 6 | LIBRARY CormanLispServer 7 | EXPORTS 8 | DllGetClassObject PRIVATE 9 | DllCanUnloadNow PRIVATE 10 | DllRegisterServer PRIVATE 11 | DllUnregisterServer PRIVATE 12 | Initialize PRIVATE 13 | -------------------------------------------------------------------------------- /CormanLispServer/CormanLispStatic.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /CormanLispServer/MakefileStatic.mk: -------------------------------------------------------------------------------- 1 | # 2 | # File: Makefile 3 | # Contents: Makefile for CormanLispStatic.lib 4 | # History: 11.06.2018 Artem Boldarev Created. 5 | # 6 | 7 | default: ./bin/CormanLispStatic.lib 8 | 9 | ./bin/CormanLispStatic.lib: ../CormanLispServer.dll 10 | makestaticlib.bat 11 | 12 | clean: 13 | delstaticlib.bat 14 | 15 | rebuild: clean default 16 | 17 | -------------------------------------------------------------------------------- /CormanLispServer/delstaticlib.bat: -------------------------------------------------------------------------------- 1 | del "%~dp0\bin\CormanLispStatic.lib" 2 | -------------------------------------------------------------------------------- /CormanLispServer/distorm/COPYING: -------------------------------------------------------------------------------- 1 | :[diStorm4}: 2 | The ultimate disassembler library. 3 | Copyright (c) 2003-2016, Gil Dabah 4 | All rights reserved. 5 | 6 | Redistribution and use in source and binary forms, with or without 7 | modification, are permitted provided that the following conditions are met: 8 | 1. Redistributions of source code must retain the above copyright 9 | notice, this list of conditions and the following disclaimer. 10 | 2. Redistributions in binary form must reproduce the above copyright 11 | notice, this list of conditions and the following disclaimer in the 12 | documentation and/or other materials provided with the distribution. 13 | 3. All advertising materials mentioning features or use of this software 14 | must display the following acknowledgement: 15 | This product includes software developed by Gil Dabah. 16 | 4. Neither the name of Gil Dabah nor the 17 | names of its contributors may be used to endorse or promote products 18 | derived from this software without specific prior written permission. 19 | 20 | THIS SOFTWARE IS PROVIDED BY Gil Dabah ''AS IS'' AND ANY 21 | EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 22 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 23 | DISCLAIMED. IN NO EVENT SHALL Gil Dabah BE LIABLE FOR ANY 24 | DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 25 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 26 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 27 | ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 28 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 29 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- /CormanLispServer/distorm/PKG-INFO: -------------------------------------------------------------------------------- 1 | Metadata-Version: 1.1 2 | Name: distorm3 3 | Version: 3.3.4 4 | Summary: The goal of diStorm3 is to decode x86/AMD64 binary streams and return a structure that describes each instruction. 5 | Home-page: https://github.com/gdabah/distorm/ 6 | Author: Gil Dabah 7 | Author-email: distorm@gmail.com 8 | License: UNKNOWN 9 | Download-URL: https://github.com/gdabah/distorm/ 10 | Description: Powerful Disassembler Library For AMD64 11 | by Gil Dabah (distorm@gmail.com) 12 | 13 | Python bindings by Mario Vilas (mvilas@gmail.com) 14 | Platform: cygwin 15 | Platform: win 16 | Platform: linux 17 | Platform: macosx 18 | Classifier: License :: OSI Approved :: BSD License 19 | Classifier: Development Status :: 5 - Production/Stable 20 | Classifier: Intended Audience :: Developers 21 | Classifier: Natural Language :: English 22 | Classifier: Operating System :: Microsoft :: Windows 23 | Classifier: Operating System :: MacOS :: MacOS X 24 | Classifier: Operating System :: POSIX :: Linux 25 | Classifier: Programming Language :: Python :: 2.7 26 | Classifier: Programming Language :: Python :: 3.5 27 | Classifier: Topic :: Software Development :: Disassemblers 28 | Classifier: Topic :: Software Development :: Libraries :: Python Modules 29 | Requires: ctypes 30 | Provides: distorm3 31 | -------------------------------------------------------------------------------- /CormanLispServer/distorm/python/distorm3/sample.py: -------------------------------------------------------------------------------- 1 | # Mario Vilas, http://breakingcode.wordpress.com 2 | # Licensed under BSD in 2016 3 | 4 | # Example code 5 | 6 | import distorm3 7 | import sys 8 | import optparse 9 | 10 | # Parse the command line arguments 11 | usage = 'Usage: %prog [--b16 | --b32 | --b64] filename [offset]' 12 | parser = optparse.OptionParser(usage=usage) 13 | parser.add_option( '--b16', help='80286 decoding', 14 | action='store_const', dest='dt', const=distorm3.Decode16Bits ) 15 | parser.add_option( '--b32', help='IA-32 decoding [default]', 16 | action='store_const', dest='dt', const=distorm3.Decode32Bits ) 17 | parser.add_option( '--b64', help='AMD64 decoding', 18 | action='store_const', dest='dt', const=distorm3.Decode64Bits ) 19 | parser.set_defaults(dt=distorm3.Decode32Bits) 20 | options, args = parser.parse_args(sys.argv) 21 | if len(args) < 2: 22 | parser.error('missing parameter: filename') 23 | filename = args[1] 24 | offset = 0 25 | length = None 26 | if len(args) == 3: 27 | try: 28 | offset = int(args[2], 10) 29 | except ValueError: 30 | parser.error('invalid offset: %s' % args[2]) 31 | if offset < 0: 32 | parser.error('invalid offset: %s' % args[2]) 33 | elif len(args) > 3: 34 | parser.error('too many parameters') 35 | 36 | # Read the code from the file 37 | try: 38 | code = open(filename, 'rb').read() 39 | except Exception as e: 40 | parser.error('error reading file %s: %s' % (filename, e)) 41 | 42 | # Print each decoded instruction 43 | # This shows how to use the Deocode - Generator 44 | iterable = distorm3.DecodeGenerator(offset, code, options.dt) 45 | for (offset, size, instruction, hexdump) in iterable: 46 | print("%.8x: %-32s %s" % (offset, hexdump, instruction)) 47 | 48 | # It could also be used as a returned list: 49 | # l = distorm3.Decode(offset, code, options.dt) 50 | # for (offset, size, instruction, hexdump) in l: 51 | # print("%.8x: %-32s %s" % (offset, hexdump, instruction)) 52 | -------------------------------------------------------------------------------- /CormanLispServer/distorm/setup.cfg: -------------------------------------------------------------------------------- 1 | [wheel] 2 | universal = 1 3 | 4 | [install] 5 | force=1 6 | compile=1 7 | optimize=1 8 | 9 | [bdist_wininst] 10 | user-access-control=auto 11 | -------------------------------------------------------------------------------- /CormanLispServer/distorm/src/decoder.h: -------------------------------------------------------------------------------- 1 | /* 2 | decoder.h 3 | 4 | diStorm3 - Powerful disassembler for X86/AMD64 5 | http://ragestorm.net/distorm/ 6 | distorm at gmail dot com 7 | Copyright (C) 2011 Gil Dabah 8 | 9 | This program is free software: you can redistribute it and/or modify 10 | it under the terms of the GNU General Public License as published by 11 | the Free Software Foundation, either version 3 of the License, or 12 | (at your option) any later version. 13 | 14 | This program is distributed in the hope that it will be useful, 15 | but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | GNU General Public License for more details. 18 | 19 | You should have received a copy of the GNU General Public License 20 | along with this program. If not, see 21 | */ 22 | 23 | 24 | #ifndef DECODER_H 25 | #define DECODER_H 26 | 27 | #include "config.h" 28 | 29 | typedef unsigned int _iflags; 30 | 31 | _DecodeResult decode_internal(_CodeInfo* ci, int supportOldIntr, _DInst result[], unsigned int maxResultCount, unsigned int* usedInstructionsCount); 32 | 33 | #endif /* DECODER_H */ 34 | -------------------------------------------------------------------------------- /CormanLispServer/distorm/src/operands.h: -------------------------------------------------------------------------------- 1 | /* 2 | operands.h 3 | 4 | diStorm3 - Powerful disassembler for X86/AMD64 5 | http://ragestorm.net/distorm/ 6 | distorm at gmail dot com 7 | Copyright (C) 2003-2016 Gil Dabah 8 | This library is licensed under the BSD license. See the file COPYING. 9 | */ 10 | 11 | 12 | #ifndef OPERANDS_H 13 | #define OPERANDS_H 14 | 15 | #include "config.h" 16 | #include "decoder.h" 17 | #include "prefix.h" 18 | #include "instructions.h" 19 | 20 | 21 | extern uint32_t _REGISTERTORCLASS[]; 22 | 23 | int operands_extract(_CodeInfo* ci, _DInst* di, _InstInfo* ii, 24 | _iflags instFlags, _OpType type, _OperandNumberType opNum, 25 | unsigned int modrm, _PrefixState* ps, _DecodeType effOpSz, 26 | _DecodeType effAdrSz, int* lockableInstruction); 27 | 28 | #endif /* OPERANDS_H */ 29 | -------------------------------------------------------------------------------- /CormanLispServer/distorm/src/prefix.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/CormanLispServer/distorm/src/prefix.c -------------------------------------------------------------------------------- /CormanLispServer/distorm/src/textdefs.h: -------------------------------------------------------------------------------- 1 | /* 2 | textdefs.h 3 | 4 | diStorm3 - Powerful disassembler for X86/AMD64 5 | http://ragestorm.net/distorm/ 6 | distorm at gmail dot com 7 | Copyright (C) 2003-2016 Gil Dabah 8 | This library is licensed under the BSD license. See the file COPYING. 9 | */ 10 | 11 | 12 | #ifndef TEXTDEFS_H 13 | #define TEXTDEFS_H 14 | 15 | #include "config.h" 16 | #include "wstring.h" 17 | 18 | #ifndef DISTORM_LIGHT 19 | 20 | #define PLUS_DISP_CHR '+' 21 | #define MINUS_DISP_CHR '-' 22 | #define OPEN_CHR '[' 23 | #define CLOSE_CHR ']' 24 | #define SP_CHR ' ' 25 | #define SEG_OFF_CHR ':' 26 | 27 | /* 28 | Naming Convention: 29 | 30 | * get - returns a pointer to a string. 31 | * str - concatenates to string. 32 | 33 | * hex - means the function is used for hex dump (number is padded to required size) - Little Endian output. 34 | * code - means the function is used for disassembled instruction - Big Endian output. 35 | * off - means the function is used for 64bit offset - Big Endian output. 36 | 37 | * h - '0x' in front of the string. 38 | 39 | * b - byte 40 | * dw - double word (can be used for word also) 41 | * qw - quad word 42 | 43 | * all numbers are in HEX. 44 | */ 45 | 46 | extern int8_t TextBTable[256][4]; 47 | 48 | void _FASTCALL_ str_hex_b(_WString* s, unsigned int x); 49 | void _FASTCALL_ str_code_hb(_WString* s, unsigned int x); 50 | void _FASTCALL_ str_code_hdw(_WString* s, uint32_t x); 51 | void _FASTCALL_ str_code_hqw(_WString* s, uint8_t src[8]); 52 | 53 | #ifdef SUPPORT_64BIT_OFFSET 54 | void _FASTCALL_ str_off64(_WString* s, OFFSET_INTEGER x); 55 | #endif 56 | 57 | #endif /* DISTORM_LIGHT */ 58 | 59 | #endif /* TEXTDEFS_H */ 60 | -------------------------------------------------------------------------------- /CormanLispServer/distorm/src/wstring.c: -------------------------------------------------------------------------------- 1 | /* 2 | wstring.c 3 | 4 | diStorm3 - Powerful disassembler for X86/AMD64 5 | http://ragestorm.net/distorm/ 6 | distorm at gmail dot com 7 | Copyright (C) 2003-2016 Gil Dabah 8 | This library is licensed under the BSD license. See the file COPYING. 9 | */ 10 | 11 | 12 | #include "wstring.h" 13 | 14 | #ifndef DISTORM_LIGHT 15 | 16 | void strclear_WS(_WString* s) 17 | { 18 | s->p[0] = '\0'; 19 | s->length = 0; 20 | } 21 | 22 | void chrcat_WS(_WString* s, uint8_t ch) 23 | { 24 | s->p[s->length] = ch; 25 | s->p[s->length + 1] = '\0'; 26 | s->length += 1; 27 | } 28 | 29 | void strcpylen_WS(_WString* s, const int8_t* buf, unsigned int len) 30 | { 31 | s->length = len; 32 | memcpy((int8_t*)s->p, buf, len + 1); 33 | } 34 | 35 | void strcatlen_WS(_WString* s, const int8_t* buf, unsigned int len) 36 | { 37 | memcpy((int8_t*)&s->p[s->length], buf, len + 1); 38 | s->length += len; 39 | } 40 | 41 | void strcat_WS(_WString* s, const _WString* s2) 42 | { 43 | memcpy((int8_t*)&s->p[s->length], s2->p, s2->length + 1); 44 | s->length += s2->length; 45 | } 46 | 47 | #endif /* DISTORM_LIGHT */ 48 | -------------------------------------------------------------------------------- /CormanLispServer/distorm/src/wstring.h: -------------------------------------------------------------------------------- 1 | /* 2 | wstring.h 3 | 4 | diStorm3 - Powerful disassembler for X86/AMD64 5 | http://ragestorm.net/distorm/ 6 | distorm at gmail dot com 7 | Copyright (C) 2003-2016 Gil Dabah 8 | This library is licensed under the BSD license. See the file COPYING. 9 | */ 10 | 11 | 12 | #ifndef WSTRING_H 13 | #define WSTRING_H 14 | 15 | #include "config.h" 16 | 17 | #ifndef DISTORM_LIGHT 18 | 19 | void strclear_WS(_WString* s); 20 | void chrcat_WS(_WString* s, uint8_t ch); 21 | void strcpylen_WS(_WString* s, const int8_t* buf, unsigned int len); 22 | void strcatlen_WS(_WString* s, const int8_t* buf, unsigned int len); 23 | void strcat_WS(_WString* s, const _WString* s2); 24 | 25 | /* 26 | * Warning, this macro should be used only when the compiler knows the size of string in advance! 27 | * This macro is used in order to spare the call to strlen when the strings are known already. 28 | * Note: sizeof includes NULL terminated character. 29 | */ 30 | #define strcat_WSN(s, t) strcatlen_WS((s), ((const int8_t*)t), sizeof((t))-1) 31 | #define strcpy_WSN(s, t) strcpylen_WS((s), ((const int8_t*)t), sizeof((t))-1) 32 | 33 | #endif /* DISTORM_LIGHT */ 34 | 35 | #endif /* WSTRING_H */ 36 | -------------------------------------------------------------------------------- /CormanLispServer/include/CoConnectionPoint.H: -------------------------------------------------------------------------------- 1 | // ------------------------------- 2 | // Copyright (c) Corman Technologies Inc. 3 | // See LICENSE.txt for license information. 4 | // ------------------------------- 5 | // 6 | // File: CoConnectionPoint.h 7 | // Contents: COM Class definitions for Corman Lisp COM server. 8 | // History: 8/11/97 RGC Created. 9 | // 10 | 11 | #ifndef COCONNECTIONPOINT_H 12 | #define COCONNECTIONPOINT_H 13 | 14 | #include 15 | 16 | class CoConnectionPoint : public IConnectionPoint 17 | { 18 | IUnknown** m_rgpUnk; 19 | 20 | IUnknown* m_pUnkContainer; 21 | UINT m_cConnections; 22 | UINT m_nArraySize; 23 | IID m_iid; 24 | LONG m_cRef; 25 | public: 26 | CoConnectionPoint(REFIID riid, IUnknown* pContainer); 27 | ~CoConnectionPoint(); 28 | 29 | // IConnectionPoint 30 | STDMETHODIMP GetConnectionInterface(IID* pID); 31 | STDMETHODIMP GetConnectionPointContainer(IConnectionPointContainer** ppConnectionPointContainer); 32 | STDMETHODIMP Advise(IUnknown* pUnk, DWORD* pdwCookie); 33 | STDMETHODIMP Unadvise(DWORD dwCookie); 34 | STDMETHODIMP EnumConnections(IEnumConnections** ppEnumConnections); 35 | 36 | // IUnknown methods 37 | STDMETHODIMP QueryInterface(REFIID riid, void** ppv); 38 | STDMETHODIMP_(ULONG) AddRef(void); 39 | STDMETHODIMP_(ULONG) Release(void); 40 | 41 | protected: 42 | // Helper functions 43 | BOOL CoConnectionPoint::ExpandArray(); 44 | BOOL CoConnectionPoint::ContractArray(); 45 | UINT CoConnectionPoint::GetFirstEmptyPosition(); 46 | }; 47 | #endif // COCONNECTIONPOINT_H -------------------------------------------------------------------------------- /CormanLispServer/include/CoEnumConnectionPoints.H: -------------------------------------------------------------------------------- 1 | // ------------------------------- 2 | // Copyright (c) Corman Technologies Inc. 3 | // See LICENSE.txt for license information. 4 | // ------------------------------- 5 | // 6 | // File: CoEnumConnectionPoints.h 7 | // Contents: COM Class definitions for Corman Lisp COM server. 8 | // History: 8/11/97 RGC Created. 9 | // 10 | 11 | #ifndef COENUMCONNECTIONPOINTS_H 12 | #define COENUMCONNECTIONPOINTS_H 13 | 14 | #include 15 | 16 | class CoEnumConnectionPoints : public IEnumConnectionPoints 17 | { 18 | public: 19 | CoEnumConnectionPoints(IUnknown* pUnk, ULONG cConnections, IConnectionPoint** rgpConnectionPoints); 20 | virtual ~CoEnumConnectionPoints(); 21 | 22 | // IUnknown methods 23 | STDMETHODIMP QueryInterface(REFIID riid, void** ppv); 24 | STDMETHODIMP_(ULONG) AddRef(void); 25 | STDMETHODIMP_(ULONG) Release(void); 26 | 27 | // IEnumConnectionPoints methods 28 | STDMETHODIMP Next(ULONG cConnections, IConnectionPoint** rgpConnectionPoints, ULONG* pcFetched); 29 | STDMETHODIMP Skip(ULONG cConnections); 30 | STDMETHODIMP Reset(); 31 | STDMETHODIMP Clone(IEnumConnectionPoints** ppEnumConnectionPoints); 32 | 33 | private: 34 | LONG m_cRef; 35 | IUnknown* m_pUnkRef; 36 | ULONG m_iPosition; 37 | ULONG m_cPoints; 38 | IConnectionPoint** m_rgpConnectionPoint; 39 | }; 40 | 41 | #endif // COEnumConnectionPoints_H -------------------------------------------------------------------------------- /CormanLispServer/include/CoEnumConnections.h: -------------------------------------------------------------------------------- 1 | // ------------------------------- 2 | // Copyright (c) Corman Technologies Inc. 3 | // See LICENSE.txt for license information. 4 | // ------------------------------- 5 | // 6 | // File: CoEnumConnections.h 7 | // Contents: COM Class definitions for Corman Lisp COM server. 8 | // History: 8/11/97 RGC Created. 9 | // 10 | 11 | #ifndef COENUMCONNECTIONS_H 12 | #define COENUMCONNECTIONS_H 13 | 14 | class CoEnumConnections : public IEnumConnections 15 | { 16 | LONG m_cRef; 17 | IUnknown* m_pUnkRef; 18 | ULONG m_iPosition; 19 | ULONG m_cConnections; 20 | LPCONNECTDATA m_rgConnectData; 21 | 22 | public: 23 | CoEnumConnections(IUnknown* pUnk, ULONG cConnections, LPCONNECTDATA prgConnectData); 24 | virtual ~CoEnumConnections(); 25 | 26 | // IUnknown methods 27 | STDMETHODIMP QueryInterface(REFIID riid, void** ppv); 28 | STDMETHODIMP_(ULONG) AddRef(void); 29 | STDMETHODIMP_(ULONG) Release(void); 30 | 31 | // IEnumConnections methods 32 | STDMETHODIMP Next(ULONG cConnections, CONNECTDATA* rgpConnectData, ULONG* pcFetched); 33 | STDMETHODIMP Skip(ULONG cConnections); 34 | STDMETHODIMP Reset(); 35 | STDMETHODIMP Clone(IEnumConnections** ppEnumConnections); 36 | }; 37 | 38 | #endif // COENUMCONNECTIONS_H -------------------------------------------------------------------------------- /CormanLispServer/include/Generic.h: -------------------------------------------------------------------------------- 1 | // ------------------------------- 2 | // Copyright (c) Corman Technologies Inc. 3 | // See LICENSE.txt for license information. 4 | // ------------------------------- 5 | // 6 | // File: generic.h 7 | // Contents: Definitions which all modules should have. 8 | // Author: Roger Corman 9 | // 10 | 11 | #ifndef GENERIC_H 12 | #define GENERIC_H 13 | 14 | #ifndef TRUE 15 | #define TRUE 1 16 | #endif 17 | #ifndef FALSE 18 | #define FALSE 0 19 | #endif 20 | 21 | #define X86 1 22 | #define CORMANLISP 1 23 | 24 | typedef unsigned char byte; 25 | typedef long xbool; 26 | 27 | #undef CATCH 28 | #undef THROW 29 | 30 | #endif // GENERIC_H 31 | -------------------------------------------------------------------------------- /CormanLispServer/include/LispThreadQueue.h: -------------------------------------------------------------------------------- 1 | // ------------------------------- 2 | // Copyright (c) Corman Technologies Inc. 3 | // See LICENSE.txt for license information. 4 | // ------------------------------- 5 | // 6 | // File: LispThreadQueue.h 7 | // Contents: Thread data structure declarations for Corman Lisp. 8 | // History: 8/1/97 RGC Created. 9 | // 10 | 11 | #ifndef LISPTHREADQUEUE_H 12 | #define LISPTHREADQUEUE_H 13 | 14 | #include 15 | 16 | #include "ThreadClasses.h" 17 | 18 | struct ThreadRecord 19 | { 20 | enum { PrimaryThread = 0, SecondaryThread = 1, BlessedThread = 2 }; 21 | 22 | ThreadRecord(); 23 | ~ThreadRecord(); 24 | 25 | ThreadRecord* next; 26 | LispObj* QV_rec; 27 | HANDLE thread; // Win32 thread handle 28 | DWORD threadID; // Win32 thread ID 29 | unsigned long* stackStart; 30 | PLEvent event; 31 | int started; 32 | int type; // 0 = primary lisp, 1 = secondary lisp, 2 = blessed foreign 33 | LONG image_loads_count; 34 | }; 35 | 36 | class LispThreadQueue 37 | { 38 | public: 39 | LispThreadQueue(); 40 | ~LispThreadQueue(); 41 | 42 | void insert(ThreadRecord*); 43 | HANDLE remove(DWORD threadID); 44 | HANDLE remove(ThreadRecord* rec); 45 | void suspendAllOtherThreads(); 46 | void suspendAllOtherThreadsWithoutLocking(); 47 | void resumeAllOtherThreads(); 48 | void resumeAllOtherThreadsWithoutLocking(); 49 | ThreadRecord* getList(); 50 | void Lock(); 51 | void Unlock(); 52 | void delay(int ms); 53 | void ensureSafeStates(); 54 | void ensureSafeState(ThreadRecord*); 55 | DWORD GetLispThreadIDs(DWORD* buf, int size); 56 | HANDLE GetLispThreadHandle(DWORD id); 57 | ThreadRecord* getPrimaryThread(); 58 | 59 | private: 60 | ThreadRecord* list; 61 | HANDLE waitEvent; 62 | }; 63 | 64 | #endif // LISPTHREADQUEUE_H 65 | -------------------------------------------------------------------------------- /CormanLispServer/include/Resource.h: -------------------------------------------------------------------------------- 1 | // ------------------------------- 2 | // Copyright (c) Corman Technologies Inc. 3 | // See LICENSE.txt for license information. 4 | // ------------------------------- 5 | //{{NO_DEPENDENCIES}} 6 | // Microsoft Developer Studio generated include file. 7 | // Used by CormanLisp.rc 8 | // 9 | #define IDD_DIALOG1 101 10 | #define IDR_MAINFRAME 128 11 | #define IDR_TEXTTYPE 129 12 | #define IDD_ABOUTBOX 512 13 | #define IDC_LIST1 1000 14 | #define ID_VIEW_SELECTION 32769 15 | 16 | // Next default values for new objects 17 | // 18 | #ifdef APSTUDIO_INVOKED 19 | #ifndef APSTUDIO_READONLY_SYMBOLS 20 | #define _APS_NEXT_RESOURCE_VALUE 102 21 | #define _APS_NEXT_COMMAND_VALUE 32770 22 | #define _APS_NEXT_CONTROL_VALUE 1001 23 | #define _APS_NEXT_SYMED_VALUE 101 24 | #endif 25 | #endif 26 | -------------------------------------------------------------------------------- /CormanLispServer/include/Stdafx.h: -------------------------------------------------------------------------------- 1 | // ------------------------------- 2 | // Copyright (c) Corman Technologies Inc. 3 | // See LICENSE.txt for license information. 4 | // ------------------------------- 5 | 6 | #include 7 | -------------------------------------------------------------------------------- /CormanLispServer/include/UserInfo.h: -------------------------------------------------------------------------------- 1 | // File: UserInfo.h 2 | // Contents: User specific information class description. 3 | // History: 10/01/16 Artem Boldarev Created. 4 | // 10/04/16 Artem Boldarev 5 | // User profile directory retrieval. 6 | // 10/05/16 Artem Boldarev 7 | // Added length retrieving methods. 8 | // 10/06/16 Artem Boldarev 9 | // Personal (e.g. Documents) directory retrieval code. 10 | // 11 | 12 | #ifndef USERINFO_H 13 | #define USERINFO_H 14 | 15 | #include 16 | 17 | class UserInfo 18 | { 19 | public: 20 | UserInfo(void); 21 | ~UserInfo(void); 22 | 23 | static bool FillUserInfo(UserInfo &ui); 24 | 25 | const char *GetName(void) const ; 26 | size_t GetNameLength(void) const; 27 | const char *GetProfileDirectory(void) const; 28 | size_t GetProfileDirectoryLength(void) const; 29 | const char *GetPersonalDirectory(void) const; 30 | size_t GetPersonalDirectoryLength(void) const; 31 | 32 | int GetVersion(void) const; 33 | private: 34 | // non copyable 35 | UserInfo(const UserInfo &); 36 | void operator=(const UserInfo &); 37 | private: 38 | char *name; 39 | size_t name_len; 40 | char *profile_directory; 41 | size_t profile_directory_len; 42 | char *personal_directory; 43 | size_t personal_directory_len; 44 | int version; 45 | }; 46 | 47 | #endif /* USERINFO_H */ 48 | -------------------------------------------------------------------------------- /CormanLispServer/include/Version.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | // Corman Lisp Version Information 4 | 5 | /// 6 | #define VERSION_MAJOR 3 7 | #define VERSION_MINOR 2 8 | #define VERSION_PATCH 0 9 | /// 10 | 11 | #define STRINGIZE2(s) #s 12 | #define STRINGIZE(s) STRINGIZE2(s) 13 | 14 | #define VERSION_STRING STRINGIZE(VERSION_MAJOR) "." STRINGIZE(VERSION_MINOR) "." STRINGIZE(VERSION_PATCH) 15 | -------------------------------------------------------------------------------- /CormanLispServer/include/plserver_internal.h: -------------------------------------------------------------------------------- 1 | // ------------------------------- 2 | // Copyright (c) Corman Technologies Inc. 3 | // See LICENSE.txt for license information. 4 | // ------------------------------- 5 | // 6 | // File: plserver_internal.h 7 | // Contents: Server internal functions for Corman Lisp 8 | // History: 8/5/97 RGC Created. 9 | // 10 | 11 | #include "CharBuf.h" 12 | 13 | extern IUnknown* ClientUnknown; 14 | extern ICormanLispTextOutput* ClientTextOutput; 15 | extern ICormanLispStatusMessage* ClientMessage; 16 | 17 | extern CharBuf TerminalInputBuf; 18 | -------------------------------------------------------------------------------- /CormanLispServer/makestaticlib.bat: -------------------------------------------------------------------------------- 1 | lib /out:"%~dp0\bin\CormanLispStatic.lib" "%~dp0\bin\*.obj" 2 | -------------------------------------------------------------------------------- /CormanLispServer/res/CormanLispServer.rc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/CormanLispServer/res/CormanLispServer.rc -------------------------------------------------------------------------------- /CormanLispServer/res/resource.h: -------------------------------------------------------------------------------- 1 | // ------------------------------- 2 | // Copyright (c) Corman Technologies Inc. 3 | // See LICENSE.txt for license information. 4 | // ------------------------------- 5 | //{{NO_DEPENDENCIES}} 6 | // Microsoft Developer Studio generated include file. 7 | // Used by CormanLispServer.rc 8 | // 9 | 10 | // Next default values for new objects 11 | // 12 | #ifdef APSTUDIO_INVOKED 13 | #ifndef APSTUDIO_READONLY_SYMBOLS 14 | #define _APS_NEXT_RESOURCE_VALUE 101 15 | #define _APS_NEXT_COMMAND_VALUE 40001 16 | #define _APS_NEXT_CONTROL_VALUE 1000 17 | #define _APS_NEXT_SYMED_VALUE 101 18 | #endif 19 | #endif 20 | -------------------------------------------------------------------------------- /CormanLispServer/src/Stdafx.cpp: -------------------------------------------------------------------------------- 1 | // ------------------------------- 2 | // Copyright (c) Corman Technologies Inc. 3 | // See LICENSE.txt for license information. 4 | // ------------------------------- 5 | // 6 | // File: stdafx.cpp 7 | // 8 | #include "stdafx.h" 9 | -------------------------------------------------------------------------------- /CormanLispServer/src/Unassemble.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | #include "../distorm/include/distorm.h" 6 | #include "../distorm/include/mnemonics.h" 7 | 8 | #pragma warning (disable:4996) // sprintf() is insecure. 9 | 10 | #define OUTPUT_BUF_SIZE (128) 11 | #define MAX_INSTRUCTION_SIZE (15) // maximum size of the instruction on x86 12 | 13 | char gDisassemblyOutputBuf[OUTPUT_BUF_SIZE]; 14 | 15 | long unassemble(unsigned long addr, unsigned long offset) 16 | { 17 | _CodeInfo ci; 18 | _DInst inst; 19 | _DecodedInst format; 20 | unsigned int count = 0; 21 | char hex_buf[OUTPUT_BUF_SIZE] = { 0 }; 22 | char mnemonic_buf[OUTPUT_BUF_SIZE] = { 0 }; 23 | 24 | memset(&ci, 0, sizeof(ci)); 25 | ci.code = (const unsigned char*)(addr + offset); 26 | ci.codeOffset = 0; 27 | ci.codeLen = MAX_INSTRUCTION_SIZE; 28 | ci.dt = Decode32Bits; 29 | ci.features = DF_STOP_ON_RET; 30 | 31 | distorm_decompose(&ci, &inst, 1, &count); 32 | if (count == 0) 33 | { 34 | return 0; 35 | } 36 | 37 | /* format the data */ 38 | distorm_format(&ci, &inst, &format); 39 | /* hex data - to upper case */ 40 | { 41 | size_t i = 0; 42 | const char *p = (char*)format.instructionHex.p; 43 | while (p[i]) 44 | { 45 | hex_buf[i] = toupper(p[i]); 46 | i++; 47 | } 48 | } 49 | 50 | /* mnemonic instruction data - to lower case */ 51 | { 52 | size_t i = 0; 53 | sprintf(mnemonic_buf, "%s%s%s", (char*)format.mnemonic.p, format.operands.length != 0 ? " " : "", (char*)format.operands.p); 54 | 55 | char *p = (char*)mnemonic_buf; 56 | while (p[i]) 57 | { 58 | p[i] = tolower(p[i]); 59 | i++; 60 | } 61 | } 62 | 63 | sprintf(gDisassemblyOutputBuf, "%-24s %s", (const char *)hex_buf, (const char *)mnemonic_buf); 64 | 65 | /* stop on RET */ 66 | if (inst.opcode == I_RET) 67 | { 68 | return 0; 69 | } 70 | 71 | return format.size; 72 | } 73 | -------------------------------------------------------------------------------- /HyperSpec-7-0.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/HyperSpec-7-0.tar.gz -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2015-2018 Corman Technologies Inc. and contributors. 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining 4 | a copy of this software and associated documentation files (the 5 | "Software"), to deal in the Software without restriction, including 6 | without limitation the rights to use, copy, modify, merge, publish, 7 | distribute, sublicense, and/or sell copies of the Software, and to 8 | permit persons to whom the Software is furnished to do so, subject to 9 | the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be 12 | included in all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 15 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 16 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 17 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 18 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 19 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 20 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /Libraries/acad/CLARX.README: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/Libraries/acad/CLARX.README -------------------------------------------------------------------------------- /Libraries/acad/clarx.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/Libraries/acad/clarx.cpp -------------------------------------------------------------------------------- /Libraries/acad/clarx.def: -------------------------------------------------------------------------------- 1 | EXPORTS acrxEntryPoint PRIVATE 2 | _SetacrxPtp PRIVATE 3 | acrxGetApiVersion PRIVATE -------------------------------------------------------------------------------- /Libraries/acad/clide-init.lisp: -------------------------------------------------------------------------------- 1 | ;;; Acad CLARX: CLIDE code goes here 2 | 3 | ;;; temp fix until ccl exports it, only needed without arx 4 | (unless pl::*basemodule-directory* 5 | (defconstant pl::*basemodule-directory* 6 | (concatenate 'string pl::*cormanlisp-directory* "Libraries\\acad\\"))) 7 | ;;; we need this for the registry-utils 8 | (push-module-directory (concatenate 'string pl::*cormanlisp-directory* "examples")) 9 | 10 | (princ "...loading clide-init.lisp") 11 | (load (concatenate 'string 12 | pl::*basemodule-directory* 13 | "acad.lisp")) 14 | 15 | ; (acad:clax-reg-app "SOFTWARE\\Corman Tools\\Corman Lisp 1.5" '("CLIDE") 12 "CormanLisp ARX") 16 | -------------------------------------------------------------------------------- /Libraries/acad/cormanlisp14.arx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/Libraries/acad/cormanlisp14.arx -------------------------------------------------------------------------------- /Libraries/acad/cormanlisp15.arx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/Libraries/acad/cormanlisp15.arx -------------------------------------------------------------------------------- /Libraries/acad/resource.h: -------------------------------------------------------------------------------- 1 | //{{NO_DEPENDENCIES}} 2 | // Microsoft Developer Studio generated include file. 3 | // 4 | 5 | // Next default values for new objects 6 | // 7 | #ifdef APSTUDIO_INVOKED 8 | #ifndef APSTUDIO_READONLY_SYMBOLS 9 | #define _APS_NO_MFC 1 10 | #define _APS_NEXT_RESOURCE_VALUE 105 11 | #define _APS_NEXT_COMMAND_VALUE 40001 12 | #define _APS_NEXT_CONTROL_VALUE 1000 13 | #define _APS_NEXT_SYMED_VALUE 101 14 | #endif 15 | #endif 16 | -------------------------------------------------------------------------------- /Libraries/acad/version.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/Libraries/acad/version.h -------------------------------------------------------------------------------- /Libraries/rdnzl/RDNZL-0.13.3/RDNZL-32bit-new.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/Libraries/rdnzl/RDNZL-0.13.3/RDNZL-32bit-new.dll -------------------------------------------------------------------------------- /Libraries/rdnzl/RDNZL-0.13.3/RDNZL-64bit-new.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/Libraries/rdnzl/RDNZL-0.13.3/RDNZL-64bit-new.dll -------------------------------------------------------------------------------- /Libraries/rdnzl/RDNZL-0.13.3/README.txt: -------------------------------------------------------------------------------- 1 | Installation 2 | ------------ 3 | 4 | First, put the file 'RDNZL.dll' somewhere where the foreign language 5 | interface of your Lisp can find it. A safe bet is to put it in the 6 | folder where your Lisp image starts up. 7 | 8 | Probably the easiest way to install RDNZL is to LOAD the file 9 | 'load.lisp' which comes with the distribution. Evaluate a form like 10 | 11 | (load "c:/path/to/rdnzl/load.lisp") 12 | 13 | or use the facilities of your IDE to LOAD this file. 14 | 15 | This should compile and load RDNZL on most Common Lisp 16 | implementations. 17 | 18 | As an alternative you can use ASDF, RDNZL comes with an ASDF system 19 | definition file 'rdnzl.asd'. 20 | 21 | 22 | Documentation 23 | ------------- 24 | 25 | Complete documentation for RDNZL can be found in the 'doc' folder. 26 | 27 | RDNZL also supports Nikodemus Siivola's HYPERDOC, see 28 | and 29 | . 30 | -------------------------------------------------------------------------------- /Libraries/rdnzl/RDNZL-0.13.3/doc/apropos.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/Libraries/rdnzl/RDNZL-0.13.3/doc/apropos.png -------------------------------------------------------------------------------- /Libraries/rdnzl/RDNZL-0.13.3/doc/box.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/Libraries/rdnzl/RDNZL-0.13.3/doc/box.png -------------------------------------------------------------------------------- /Libraries/rdnzl/RDNZL-0.13.3/doc/box2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/Libraries/rdnzl/RDNZL-0.13.3/doc/box2.png -------------------------------------------------------------------------------- /Libraries/rdnzl/RDNZL-0.13.3/doc/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/Libraries/rdnzl/RDNZL-0.13.3/doc/index.html -------------------------------------------------------------------------------- /Libraries/rdnzl/RDNZL-0.13.3/examples/AproposGui.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/Libraries/rdnzl/RDNZL-0.13.3/examples/AproposGui.dll -------------------------------------------------------------------------------- /Libraries/rdnzl/RDNZL-0.13.3/examples/Callback.cs: -------------------------------------------------------------------------------- 1 | // $Header: /usr/local/cvsrep/rdnzl/examples/Callback.cs,v 1.1 2008/02/14 11:38:49 edi Exp $ 2 | 3 | // Copyright (c) 2008, Dr. Edmund Weitz. All rights reserved. 4 | 5 | // Redistribution and use in source and binary forms, with or without 6 | // modification, are permitted provided that the following conditions 7 | // are met: 8 | 9 | // * Redistributions of source code must retain the above copyright 10 | // notice, this list of conditions and the following disclaimer. 11 | 12 | // * Redistributions in binary form must reproduce the above 13 | // copyright notice, this list of conditions and the following 14 | // disclaimer in the documentation and/or other materials 15 | // provided with the distribution. 16 | 17 | // THIS SOFTWARE IS PROVIDED BY THE AUTHOR 'AS IS' AND ANY EXPRESSED 18 | // OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 19 | // WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 20 | // ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY 21 | // DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 22 | // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE 23 | // GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 24 | // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 25 | // WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 26 | // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 27 | // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 | 29 | // compile this with: 30 | // csc.exe /target:library Callback.cs 31 | // and put the resulting DLL into your Lisp's application folder 32 | 33 | using System; 34 | 35 | namespace Callback { 36 | public delegate Int32 int32Callback (String input); 37 | public delegate String stringCallback (Int32 input); 38 | } 39 | -------------------------------------------------------------------------------- /Libraries/rdnzl/RDNZL-0.13.3/examples/Callback.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/Libraries/rdnzl/RDNZL-0.13.3/examples/Callback.dll -------------------------------------------------------------------------------- /Libraries/rdnzl/RDNZL-0.13.3/examples/example.xls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/Libraries/rdnzl/RDNZL-0.13.3/examples/example.xls -------------------------------------------------------------------------------- /Libraries/s-xml/Makefile: -------------------------------------------------------------------------------- 1 | # $Id: Makefile,v 1.2 2004/06/11 13:46:48 scaekenberghe Exp $ 2 | 3 | default: 4 | @echo Possible targets: 5 | @echo clean-openmcl --- remove all '*.dfsl' recursively 6 | @echo clean-lw --- remove all '*.nfasl' recursively 7 | @echo clean-emacs --- remove all '*~' recursively 8 | @echo clean --- all of the above 9 | 10 | clean-openmcl: 11 | find . -name "*.dfsl" | xargs rm 12 | 13 | clean-lw: 14 | find . -name "*.nfasl" | xargs rm 15 | 16 | clean-emacs: 17 | find . -name "*~" | xargs rm 18 | 19 | clean: clean-openmcl clean-lw clean-emacs 20 | 21 | # 22 | # This can obviously only be done by a specific person in a very specific context ;-) 23 | # 24 | 25 | PRJ=s-xml 26 | ACCOUNT=scaekenberghe 27 | CVSRT=:ext:$(ACCOUNT)@common-lisp.net:/project/$(PRJ)/cvsroot 28 | 29 | release: 30 | rm -rf /tmp/$(PRJ) /tmp/public_html /tmp/$(PRJ).tgz /tmp/$(PRJ).tgz.asc 31 | cd /tmp; cvs -d$(CVSRT) export -r HEAD $(PRJ); cvs -d$(CVSRT) export -r HEAD public_html 32 | mv /tmp/public_html /tmp/$(PRJ)/doc 33 | cd /tmp; gnutar cvfz $(PRJ).tgz $(PRJ); gpg -a -b $(PRJ).tgz 34 | scp /tmp/$(PRJ).tgz $(ACCOUNT)@common-lisp.net:/project/$(PRJ)/public_html 35 | scp /tmp/$(PRJ).tgz.asc $(ACCOUNT)@common-lisp.net:/project/$(PRJ)/public_html 36 | -------------------------------------------------------------------------------- /Libraries/s-xml/examples/counter.lisp: -------------------------------------------------------------------------------- 1 | ;;;; -*- mode: lisp -*- 2 | ;;;; 3 | ;;;; $Id: counter.lisp,v 1.2 2004/06/11 11:14:43 scaekenberghe Exp $ 4 | ;;;; 5 | ;;;; A simple SSAX counter example that can be used as a performance test 6 | ;;;; 7 | ;;;; Copyright (C) 2004 Sven Van Caekenberghe, Beta Nine BVBA. 8 | ;;;; 9 | ;;;; You are granted the rights to distribute and use this software 10 | ;;;; as governed by the terms of the Lisp Lesser General Public License 11 | ;;;; (http://opensource.franz.com/preamble.html), also known as the LLGPL. 12 | 13 | (in-package :s-xml) 14 | 15 | (defclass count-xml-seed () 16 | ((elements :initform 0) 17 | (attributes :initform 0) 18 | (characters :initform 0))) 19 | 20 | (defun count-xml-new-element-hook (name attributes seed) 21 | (declare (ignore name)) 22 | (incf (slot-value seed 'elements)) 23 | (incf (slot-value seed 'attributes) (length attributes)) 24 | seed) 25 | 26 | (defun count-xml-text-hook (string seed) 27 | (incf (slot-value seed 'characters) (length string)) 28 | seed) 29 | 30 | (defun count-xml (in) 31 | "Parse a toplevel XML element from stream in, counting elements, attributes and characters" 32 | (start-parse-xml in 33 | (make-instance 'xml-parser-state 34 | :seed (make-instance 'count-xml-seed) 35 | :new-element-hook #'count-xml-new-element-hook 36 | :text-hook #'count-xml-text-hook))) 37 | 38 | (defun count-xml-file (pathname) 39 | "Parse XMl from the file at pathname, counting elements, attributes and characters" 40 | (with-open-file (in pathname) 41 | (let ((result (count-xml in))) 42 | (with-slots (elements attributes characters) result 43 | (format t 44 | "~a contains ~d XML elements, ~d attributes and ~d characters.~%" 45 | pathname elements attributes characters))))) 46 | 47 | ;;;; eof 48 | -------------------------------------------------------------------------------- /Libraries/s-xml/examples/remove-markup.lisp: -------------------------------------------------------------------------------- 1 | ;;;; -*- mode: lisp -*- 2 | ;;;; 3 | ;;;; $Id: remove-markup.lisp,v 1.1 2004/06/11 11:14:43 scaekenberghe Exp $ 4 | ;;;; 5 | ;;;; Remove markup from an XML document using the SSAX interface 6 | ;;;; 7 | ;;;; Copyright (C) 2004 Sven Van Caekenberghe, Beta Nine BVBA. 8 | ;;;; 9 | ;;;; You are granted the rights to distribute and use this software 10 | ;;;; as governed by the terms of the Lisp Lesser General Public License 11 | ;;;; (http://opensource.franz.com/preamble.html), also known as the LLGPL. 12 | 13 | (in-package :s-xml) 14 | 15 | (defun remove-xml-markup (in) 16 | (let* ((state (make-instance 'xml-parser-state 17 | :text-hook #'(lambda (string seed) (cons string seed)))) 18 | (result (start-parse-xml in state))) 19 | (apply #'concatenate 'string (nreverse result)))) 20 | 21 | ;;;; eof -------------------------------------------------------------------------------- /Libraries/s-xml/s-xml.asd: -------------------------------------------------------------------------------- 1 | ;;;; -*- Mode: LISP -*- 2 | ;;;; 3 | ;;;; $Id: s-xml.asd,v 1.2 2005/12/14 21:49:04 scaekenberghe Exp $ 4 | ;;;; 5 | ;;;; The S-XML ASDF system definition 6 | ;;;; 7 | ;;;; Copyright (C) 2002, 2004 Sven Van Caekenberghe, Beta Nine BVBA. 8 | ;;;; 9 | ;;;; You are granted the rights to distribute and use this software 10 | ;;;; as governed by the terms of the Lisp Lesser General Public License 11 | ;;;; (http://opensource.franz.com/preamble.html), also known as the LLGPL. 12 | 13 | (in-package :asdf) 14 | 15 | (defsystem :s-xml 16 | :name "S-XML" 17 | :author "Sven Van Caekenberghe " 18 | :version "3" 19 | :maintainer "Sven Van Caekenberghe , Brian Mastenbrook <>, Rudi Schlatte <>" 20 | :licence "Lisp Lesser General Public License (LLGPL)" 21 | :description "Simple Common Lisp XML Parser" 22 | :long-description "S-XML is a Common Lisp implementation of a simple XML parser, with a SAX-like and DOM interface" 23 | 24 | :components 25 | ((:module 26 | :src 27 | :components ((:file "package") 28 | (:file "xml" :depends-on ("package")) 29 | (:file "dom" :depends-on ("package" "xml")) 30 | (:file "lxml-dom" :depends-on ("dom")) 31 | (:file "sxml-dom" :depends-on ("dom")) 32 | (:file "xml-struct-dom" :depends-on ("dom")))))) 33 | 34 | (defsystem :s-xml.test 35 | :depends-on (:s-xml) 36 | :components ((:module :test 37 | :components ((:file "test-xml") 38 | (:file "test-xml-struct-dom") 39 | (:file "test-lxml-dom") 40 | (:file "test-sxml-dom"))))) 41 | 42 | (defsystem :s-xml.examples 43 | :depends-on (:s-xml) 44 | :components ((:module :examples 45 | :components ((:file "counter") 46 | (:file "echo") 47 | (:file "remove-markup") 48 | (:file "tracer"))))) 49 | ;;;; eof 50 | -------------------------------------------------------------------------------- /Libraries/s-xml/test/plist.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | AppleDockIconEnabled 6 | 7 | AppleNavServices:GetFile:0:Path 8 | file://localhost/Users/sven/Pictures/ 9 | AppleNavServices:GetFile:0:Position 10 | 11 | AOUBXw== 12 | 13 | AppleNavServices:GetFile:0:Size 14 | 15 | AAAAAAFeAcI= 16 | 17 | AppleNavServices:PutFile:0:Disclosure 18 | 19 | AQ== 20 | 21 | AppleNavServices:PutFile:0:Path 22 | file://localhost/Users/sven/Desktop/ 23 | AppleNavServices:PutFile:0:Position 24 | 25 | AUIBVQ== 26 | 27 | AppleNavServices:PutFile:0:Size 28 | 29 | AAAAAACkAdY= 30 | 31 | AppleSavePanelExpanded 32 | YES 33 | NSDefaultOpenDirectory 34 | ~/Desktop 35 | NSNoBigString 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /Libraries/s-xml/test/simple.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Hello World! 5 | 6 | -------------------------------------------------------------------------------- /Libraries/sql-odbc-0.85/corman/readme.txt: -------------------------------------------------------------------------------- 1 | This directory contains code specific for Corman Lisp 1.41 to enable 2 | the SQL-ODBC library to work with that compiler. It has been tested 3 | with Corman Lisp 1.41 and SQL-ODBC V0.85. 4 | 5 | As Corman Lisp does not have DEFSYSTEM I've used the Corman Lisp 6 | module mechanism to load the SQL-ODBC packages. If the forms in 7 | SYSTEM-INIT.LISP are evaluated this will enable SQL and ODBC to work 8 | with PROVIDE. For example, once evaluating SYSTEM-INIT.LISP you can: 9 | 10 | (require 'odbc) 11 | 12 | to load the SQL and ODBC packages along with the required patches for 13 | Corman Lisp. The forms in SYSTEM-INIT.LISP can be placed in the Corman 14 | Lisp INIT.LISP file, which gets run whenever the Corman Lisp IDE is 15 | started. 16 | 17 | The constant *sql-odbc-directory* in SYSTEM-INIT.LISP will need to be 18 | modified to point to the directory containing the SQL-ODBC root. 19 | 20 | Corman Lisp does not yet have support for EQL specialisers and :class 21 | allocation slots. Workarounds are provided for these. Note that the 22 | EQL specialiser workaround makes all method dispatch in the image 23 | slower and more inefficient. See details in CLOS-EQL-PATCH.LISP for 24 | more information. 25 | 26 | Corman Lisp does not have CLOS based streams so the SQL-ODBC stream 27 | support is not included. 28 | 29 | Questions, comments or suggestions about the Corman Lisp specific 30 | portions of the SQL-ODBC port can be addressed to Chris Double 31 | (chris@double.nz). 32 | 33 | Chris Double 34 | chris@double.nz 35 | 1 September 2000. 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /Libraries/sql-odbc-0.85/corman/system-init.lisp: -------------------------------------------------------------------------------- 1 | ;;;; By adding the following lines in the Corman Lisp init.lisp 2 | ;;;; startup file you can use the following to automatically load 3 | ;;;; and compile the SQL-ODBC packages: 4 | ;;;; 5 | ;;;; (require 'ODBC) 6 | ;;;; 7 | ;;;; Note that you must make sure that you have applied all patches 8 | ;;;; to Corman Lisp 1.41 available at http://www.corman.net before 9 | ;;;; using this SQL-ODBC port. 10 | 11 | ;; This should be the directory pointing to the 12 | ;; qsl-odbc installation. 13 | (defconstant *sql-odbc-directory* 14 | (concatenate 'string ccl:*cormanlisp-directory* 15 | "libraries\\sql-odbc-0.85\\")) 16 | 17 | (defun sql-odbc-directory-name (relative-name) 18 | (concatenate 'string *sql-odbc-directory* relative-name)) 19 | 20 | (ccl:register-module-source "SQL" 21 | (list 22 | (sql-odbc-directory-name "sql\\sql-system.lisp") 23 | (sql-odbc-directory-name "sql\\sql-package.lisp") 24 | (sql-odbc-directory-name "sql\\sql-class.lisp") 25 | (sql-odbc-directory-name "sql\\sql-expressions.lisp") 26 | (sql-odbc-directory-name "sql\\sql-functional-interface.lisp"))) 27 | 28 | (ccl:register-module-source "ODBC" 29 | (list 30 | (sql-odbc-directory-name "corman\\ff-compatibility-corman.lisp") 31 | (sql-odbc-directory-name "odbc\\odbc-system.lisp") 32 | (sql-odbc-directory-name "odbc\\odbc-package.lisp") 33 | (sql-odbc-directory-name "odbc\\odbc-constants.lisp") 34 | (sql-odbc-directory-name "odbc\\odbc-ff-interface.lisp") 35 | (sql-odbc-directory-name "odbc\\odbc-functions.lisp") 36 | (sql-odbc-directory-name "odbc\\odbc-sql-interface.lisp"))) 37 | 38 | -------------------------------------------------------------------------------- /Libraries/sql-odbc-0.85/doc/sql-odbc-documentation.lisp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/Libraries/sql-odbc-0.85/doc/sql-odbc-documentation.lisp -------------------------------------------------------------------------------- /Libraries/sql-odbc-0.85/dtf/dtf-load.lisp: -------------------------------------------------------------------------------- 1 | ;;;-*- Mode: Lisp; Package: COMMON-LISP-USER -*- 2 | 3 | ;; SQL module for MCL, LWW and ACL/Windows 4 | ;; Version 0.7 5 | ;; (C) Paul Meurer 1999 6 | ;; paul.meurer@hit.uib.no 7 | ;; 8 | ;; You may freely use this code as long as you don't remove the (C) notice. 9 | ;; Bug reports and suggestions are highly welcome. 10 | 11 | ;; Read the file "sql-odbc-documentation.lisp" for more info. 12 | 13 | (in-package :cl-user) 14 | 15 | ;; customize this 16 | (setf (logical-pathname-translations "sql") 17 | '(("**;*.*.*" "ccl:Lisp;sql;**;"))) 18 | 19 | (load "sql:use-module.lisp") 20 | 21 | ;; DBL: This code expects that the dtF shared library (or 22 | ;; an alias) is available on the library search path, which 23 | ;; includes the ccl: folder and the system folder's extensions 24 | ;; folder. dtF/SQL 1.73 includes the appropriate shared library. 25 | ;; If you have MPW (available for free from Apple), you can use 26 | ;; the MPW PPC static libraries from dtF 1.6 by converting them 27 | ;; to a shared library; the converted library and the files used 28 | ;; to do the conversion are in the sql:dtf-library folder. 29 | ;; 30 | ;; If you can log in to sLab's web site, you should probably pick 31 | ;; up version 1.73 instead of using the converted 1.6 library. 32 | 33 | (um:use-module :sql "sql:sql;sql-system") 34 | 35 | (sql:initialize-database-type :dtf) 36 | -------------------------------------------------------------------------------- /Libraries/sql-odbc-0.85/lispworks/ff-compatibility-lw.lisp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/Libraries/sql-odbc-0.85/lispworks/ff-compatibility-lw.lisp -------------------------------------------------------------------------------- /Libraries/sql-odbc-0.85/mcl/use-module.lisp: -------------------------------------------------------------------------------- 1 | ;;;-*- Mode: Lisp; Package: (USE-MODULE) -*- 2 | 3 | ;; Instead of a defsystem. 4 | 5 | (in-package :cl-user) 6 | 7 | (defpackage "USE-MODULE" 8 | (:nicknames "UM") 9 | (:export "USE-MODULE")) 10 | 11 | (in-package :use-module) 12 | 13 | #-lispworks 14 | (defun file-newer-p (file1 file2) 15 | "Returns true if file1 is newer than file 2 or file2 doesn't exist." 16 | (unless (probe-file file1) (error "file1 doesn't exist" file1)) 17 | (if (probe-file file2) 18 | (> (file-write-date file1) 19 | (file-write-date file2)) 20 | t)) 21 | 22 | #-lispworks 23 | (defun compile-file-if-needed (path-name) 24 | (let ((source-file (concatenate 'string path-name ".lisp")) 25 | (fasl-file (concatenate 'string path-name ".pfsl"))) 26 | (when (file-newer-p source-file fasl-file) 27 | (compile-file source-file)))) 28 | 29 | (defun use-module (module-name path-name) 30 | (compile-file-if-needed path-name) 31 | (require module-name path-name)) 32 | -------------------------------------------------------------------------------- /Libraries/sql-odbc-0.85/sql/sql-system.lisp: -------------------------------------------------------------------------------- 1 | ;;;-*- Mode: Lisp; Package: COMMON-LISP-USER -*- 2 | 3 | ;; Portable SQL module 4 | ;; Version 0.85 5 | ;; Copyright (C) Paul Meurer 1999. All rights reserved. 6 | ;; paul.meurer@hit.uib.no 7 | ;; 8 | ;; Documentation and the license agreement can be found in file 9 | ;; "sql-odbc-documentation.lisp" 10 | 11 | (in-package :common-lisp-user) 12 | 13 | #+mcl 14 | (eval-when (:execute :compile-toplevel :load-toplevel) 15 | (um:use-module :sql-package "sql:sql;sql-package") 16 | (um:use-module :sql-class "sql:sql;sql-class") 17 | (um:use-module :sql-expressions "sql:sql;sql-expressions") 18 | (um:use-module :sql-interface "sql:sql;sql-functional-interface") 19 | (um:use-module :sql-streams "sql:sql;sql-streams") 20 | (um:use-module :sql-fred "sql:mcl;sql-fred")) 21 | 22 | #+lispworks 23 | (eval-when (:execute :compile-toplevel :load-toplevel) 24 | (defsystem sql 25 | (:package "COMMON-LISP-USER" 26 | :default-pathname "sql:sql;") 27 | :members ("sql-package" 28 | "sql-class" 29 | "sql-expressions" 30 | "sql-functional-interface" 31 | "sql-streams") 32 | :rules ((:in-order-to :compile :all 33 | (:requires (:load :previous))))) 34 | (compile-system 'sql :force-p nil) 35 | (load-system 'sql)) 36 | 37 | #+allegro 38 | (eval-when (:execute :compile-toplevel :load-toplevel) 39 | (defsystem :sql 40 | (:default-pathname "sql:sql;" 41 | :default-package :sql) 42 | (:serial 43 | "sql-package" 44 | "sql-class" 45 | "sql-expressions" 46 | "sql-functional-interface" 47 | "sql-streams" 48 | )) 49 | (compile-system :sql) 50 | (load-system :sql)) 51 | 52 | ;;#+cormanlisp 53 | ;;See corman\system-init.lisp for details on loading the SQL package. 54 | 55 | (pushnew :sql *features*) 56 | -------------------------------------------------------------------------------- /Modules/as/cormanlisp.txt: -------------------------------------------------------------------------------- 1 | This distribution of AllegroServe was based on AllegroServe 1.1.25 and 2 | modified by Chris Double to work with Corman Lisp 1.42. It is not 3 | supported by Franz, authors of AllegroServe, and is not fully working 4 | - more work still needs to be done on the port. In particular 5 | keep-alive and chunking support does not work. That said, much of the 6 | web server functionality works fine, and it can serve pages without 7 | too much problem. 8 | 9 | Note that I made some modifications to the client support to allow 10 | using SSL sockets to retrieve web pages. 11 | 12 | I've distributed it now to allow others to use it in case I don't get 13 | a chance to work on it in the near future. Comments, bugs and 14 | suggestions can be sent to chris@double.nz. 15 | 16 | The original AllegroServe distribution is available at: 17 | 18 | http://allegroserve.sourceforge.net/ 19 | 20 | -- 21 | Chris Double. 22 | http://www.double.nz/cl 23 | 6 March 2001 24 | -------------------------------------------------------------------------------- /Modules/as/examples/aservelogo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/Modules/as/examples/aservelogo.gif -------------------------------------------------------------------------------- /Modules/as/examples/file2000.txt: -------------------------------------------------------------------------------- 1 | this is a sample file of roughly 2000 bytes used to do benchmarks on the retrieval speed of AllegroServe this is a sample file of roughly 2000 bytes used to do benchmarks on the retrieval speed of AllegroServe this is a sample file of roughly 2000 bytes used to do benchmarks on the retrieval speed of AllegroServe this is a sample file of roughly 2000 bytes used to do benchmarks on the retrieval speed of AllegroServe this is a sample file of roughly 2000 bytes used to do benchmarks on the retrieval speed of AllegroServe this is a sample file of roughly 2000 bytes used to do benchmarks on the retrieval speed of AllegroServe this is a sample file of roughly 2000 bytes used to do benchmarks on the retrieval speed of AllegroServe this is a sample file of roughly 2000 bytes used to do benchmarks on the retrieval speed of AllegroServe this is a sample file of roughly 2000 bytes used to do benchmarks on the retrieval speed of AllegroServe this is a sample file of roughly 2000 bytes used to do benchmarks on the retrieval speed of AllegroServe this is a sample file of roughly 2000 bytes used to do benchmarks on the retrieval speed of AllegroServe this is a sample file of roughly 2000 bytes used to do benchmarks on the retrieval speed of AllegroServe this is a sample file of roughly 2000 bytes used to do benchmarks on the retrieval speed of AllegroServe this is a sample file of roughly 2000 bytes used to do benchmarks on the retrieval speed of AllegroServe this is a sample file of roughly 2000 bytes used to do benchmarks on the retrieval speed of AllegroServe this is a sample file of roughly 2000 bytes used to do benchmarks on the retrieval speed of AllegroServe this is a sample file of roughly 2000 bytes used to do benchmarks on the retrieval speed of AllegroServe this is a sample file of roughly 2000 bytes used to do benchmarks on the retrieval speed of AllegroServe this is a sample file of roughly 2000 bytes used to do benchmarks on the retrieval speed of AllegroServe this 2 | -------------------------------------------------------------------------------- /Modules/as/examples/foo.txt: -------------------------------------------------------------------------------- 1 | this is a test of 2 | returning a text 3 | file and now this is 4 | it for the file 5 | next line 6 | and one more line 7 | -------------------------------------------------------------------------------- /Modules/as/examples/fresh.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/Modules/as/examples/fresh.jpg -------------------------------------------------------------------------------- /Modules/as/examples/prfile9.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/Modules/as/examples/prfile9.jpg -------------------------------------------------------------------------------- /Modules/as/htmlgen/ChangeLog: -------------------------------------------------------------------------------- 1 | 2000-04-24 2 | 3 | * add html-print and html-print-list to print the lisp 4 | form of html (lhtml) 5 | 6 | 2000-04-16 7 | 8 | * htmlgen/htmlgen.cl - when printing option values inside 9 | a tag, a symbol is now printed as the string 10 | that is its symbol-name 11 | 12 | 13 | 2000-03-29 John Foderaro 14 | 15 | * Undo previous change: html-stream must be passed a stream, 16 | you can't pass in t or nil. 17 | 18 | 2000-03-20 John Foderaro 19 | 20 | * html-stream will now accept t and nil as streams and 21 | then use *terminal-io* and *standard-output* respectively. 22 | 23 | 2000-02-08 John Foderaro 24 | 25 | * package htmlgen -> net.html.generator 26 | 27 | 2000-02-04 John Foderaro 28 | 29 | * add escaping of characters inside attrib value 30 | 31 | 1999-12-03 jkf 32 | 33 | * htmlgen.cl - added :if* operator inside a tag 34 | 35 | -------------------------------------------------------------------------------- /Modules/quicksort.lisp: -------------------------------------------------------------------------------- 1 | ;;;; 2 | ;;;; File: quicksort.lisp 3 | ;;;; Contents: Quicksort implementation. 4 | ;;;; 5 | ;;;; Common Lisp code by Roger Corman 6 | ;;;; 7 | (in-package :ccl) 8 | (export '(quicksort)) 9 | 10 | (defun _quicksort (vec lo hi comp-func key) 11 | (if (> hi lo) 12 | (let* ((mid (round (+ lo hi) 2)) 13 | (i lo) 14 | (j (+ hi 1)) 15 | (p (elt vec mid))) 16 | (rotatef (elt vec mid) (elt vec lo)) ;; swap mid element to first 17 | (loop 18 | (loop do (incf i) 19 | until 20 | (or 21 | (> i hi) 22 | (funcall comp-func 23 | (if key (funcall key p) p) 24 | (if key (funcall key (elt vec i)) (elt vec i))))) 25 | (loop do (decf j) 26 | until 27 | (or 28 | (<= j lo) 29 | (funcall comp-func 30 | (if key (funcall key (elt vec j)) (elt vec j)) 31 | (if key (funcall key p) p)))) 32 | (if (< j i) (return)) 33 | (rotatef (elt vec i)(elt vec j))) 34 | 35 | (rotatef (elt vec lo) (elt vec j)) ;; put partition element in place 36 | (_quicksort vec lo (- j 1) comp-func key) 37 | (_quicksort vec i hi comp-func key))) 38 | vec) 39 | 40 | (defun quicksort (sequence comp-func &key (key nil)) 41 | (_quicksort sequence 0 (- (length sequence) 1) comp-func key)) 42 | 43 | (provide "QUICKSORT") 44 | 45 | -------------------------------------------------------------------------------- /Modules/rdnzl.lisp: -------------------------------------------------------------------------------- 1 | (defparameter ccl::*rdnzl-version* "RDNZL-0.13.3") 2 | (defparameter ccl::*rdnzl-path* 3 | (concatenate 'string 4 | ccl:*cormanlisp-directory* 5 | "libraries" "/" 6 | "rdnzl" "/" 7 | ccl::*rdnzl-version* "/")) 8 | (defparameter ccl::*rdnzl-load-path* 9 | (concatenate 'string 10 | ccl::*rdnzl-path* 11 | "load.lisp")) 12 | (export '(ccl::*rdnzl-version* ccl::*rdnzl-path* ccl::*rdnzl-load-path*) :ccl) 13 | (win:create-menu-item 14 | (list :command "&RDNZL .Net Integration..." 15 | (lambda (x) 16 | (declare (ignore x)) 17 | (ccl:display-url (concatenate 'string ccl::*rdnzl-path* "doc/index.html")))) 18 | "&Help" 19 | 5) 20 | (load ccl::*rdnzl-load-path*) 21 | (provide :rdnzl) 22 | (rdnzl:init-rdnzl) 23 | -------------------------------------------------------------------------------- /Modules/s-xml.lisp: -------------------------------------------------------------------------------- 1 | ;;;; S-XML loader for Corman Lisp 2 | (defconstant *sxml-source-directory* 3 | (concatenate 'string ccl:*cormanlisp-directory* "\\libraries\\s-xml\\")) 4 | 5 | (require :asdf) 6 | 7 | (defconstant *sxml-files* 8 | (list 9 | "src\\package.lisp" 10 | "src\\xml.lisp" 11 | "src\\dom.lisp" 12 | "src\\lxml-dom.lisp" 13 | "src\\sxml-dom.lisp" 14 | "src\\xml-struct-dom.lisp")) 15 | 16 | (loop for file in *sxml-files* do (load (concatenate 'string *sxml-source-directory* file))) 17 | 18 | (provide :s-xml) -------------------------------------------------------------------------------- /Modules/snooper.lisp: -------------------------------------------------------------------------------- 1 | ;;;; snooper.lisp -- turns ? into a macro character that causes the 2 | ;;;; value of the form that follows it to be printed on 3 | ;;;; *snooper-output* every time the form is evaluated. 4 | ;;;; 5 | ;;;; Author: Vassili Bykov , 6 | ;;;; Created: 11/12/1998 7 | 8 | (in-package :cormanlisp) 9 | (provide "SNOOPER") 10 | 11 | (defvar *snooper-output* *error-output*) 12 | ;; *debug-io* is not available? 13 | 14 | (defun expand-snooper (stream char) 15 | (declare (ignore char)) 16 | (let ((form (read stream t nil t)) 17 | (newsym (gensym))) 18 | `(let* ((,newsym ,form)) 19 | (format *snooper-output* "?: ~S~%" 20 | ,newsym) 21 | ,newsym))) 22 | 23 | (set-macro-character #\? #'expand-snooper) 24 | -------------------------------------------------------------------------------- /Modules/text-file-conversions.lisp: -------------------------------------------------------------------------------- 1 | ;;;; ------------------------------- 2 | ;;;; Copyright (c) Corman Technologies Inc. 3 | ;;;; All rights reserved. 4 | ;;;; ------------------------------- 5 | ;;;; 6 | ;;;; File: text-file-conversions.lisp 7 | ;;;; Contents: Converts unix text files or Macintosh text files 8 | ;;;; to Windows text file. 9 | ;;;; Author: Roger Corman 10 | ;;;; History: 1/06/99 RGC Created. 11 | ;;;; 12 | 13 | (in-package :cormanlisp) 14 | (export '(unix-to-windows mac-to-windows)) 15 | (provide "TEXT-FILE-CONVERSIONS") 16 | 17 | (defun unix-to-windows (filename) 18 | (let* ((input-path (pathname filename)) 19 | (output-path (make-pathname 20 | :name (concatenate 'string (pathname-name input-path) "-temp") 21 | :directory (pathname-directory input-path) 22 | :device (pathname-device input-path) 23 | :type (pathname-type input-path))) 24 | (is (open input-path :direction :input :element-type 'integer)) 25 | (os (open output-path :direction :output :element-type 'integer))) 26 | (do ((ch (read-byte is nil 'EOF)(read-byte is nil 'EOF))) 27 | ((eq ch 'EOF) (close is)(close os)) 28 | (if (eq ch 10) 29 | (write-byte 13 os)) 30 | (write-byte ch os)))) 31 | 32 | (defun mac-to-windows (filename) 33 | (let* ((input-path (pathname filename)) 34 | (output-path (make-pathname 35 | :name (concatenate 'string (pathname-name input-path) "-temp") 36 | :directory (pathname-directory input-path) 37 | :device (pathname-device input-path) 38 | :type (pathname-type input-path)))) 39 | (with-open-file (is input-path :direction :input ) 40 | (with-open-file (os output-path :direction :output) 41 | (do ((ch (read-char is nil 'EOF)(read-char is nil 'EOF))) 42 | ((eq ch 'EOF)) 43 | (when (eq ch 13) 44 | (write-char ch os) 45 | (setq ch 10)) 46 | (write-char ch os)))))) 47 | -------------------------------------------------------------------------------- /Modules/win32-wrappers.lisp: -------------------------------------------------------------------------------- 1 | ;;;; ------------------------------- 2 | ;;;; Copyright (c) Corman Technologies Inc. 3 | ;;;; All rights reserved. 4 | ;;;; ------------------------------- 5 | ;;;; 6 | ;;;; Win32 wrappers 7 | ;;;; 8 | 9 | (require :winbase) 10 | 11 | (defun get-user-name () 12 | (let ((namebuf (ct:malloc 128)) 13 | (sizebuf (ct:malloc (ct:sizeof :long)))) 14 | (setf (ct:cref (win:DWORD *) sizebuf 0) 128) 15 | (let ((result (win:GetUserName namebuf sizebuf))) 16 | (if (/= result 0) 17 | (ct:c-string-to-lisp-string namebuf))))) 18 | 19 | -------------------------------------------------------------------------------- /Modules/winuser.lisp: -------------------------------------------------------------------------------- 1 | ;;; 2 | ;;;; File: winuser.lisp 3 | ;;;; 4 | (in-package :win32) 5 | 6 | (defun MAKEINTRESOURCE (num) (ct:int-to-foreign-ptr num)) 7 | 8 | #! (:library "USER32" :ignore "WINUSERAPI" :export t :pascal "WINAPI") 9 | /* 10 | * Resource Loading Routines 11 | */ 12 | 13 | WINUSERAPI 14 | HBITMAP 15 | WINAPI 16 | LoadBitmapA( 17 | HINSTANCE hInstance, 18 | LPCSTR lpBitmapName); 19 | WINUSERAPI 20 | HBITMAP 21 | WINAPI 22 | LoadBitmapW( 23 | HINSTANCE hInstance, 24 | LPCWSTR lpBitmapName); 25 | 26 | WINUSERAPI 27 | HCURSOR 28 | WINAPI 29 | LoadCursorA( 30 | HINSTANCE hInstance, 31 | LPCSTR lpCursorName); 32 | WINUSERAPI 33 | HCURSOR 34 | WINAPI 35 | LoadCursorW( 36 | HINSTANCE hInstance, 37 | LPCWSTR lpCursorName); 38 | 39 | WINUSERAPI 40 | HCURSOR 41 | WINAPI 42 | LoadCursorFromFileA( 43 | LPCSTR lpFileName); 44 | WINUSERAPI 45 | HCURSOR 46 | WINAPI 47 | LoadCursorFromFileW( 48 | LPCWSTR lpFileName); 49 | 50 | WINUSERAPI 51 | HCURSOR 52 | WINAPI 53 | CreateCursor( 54 | HINSTANCE hInst, 55 | int xHotSpot, 56 | int yHotSpot, 57 | int nWidth, 58 | int nHeight, 59 | CONST VOID *pvANDPlane, 60 | CONST VOID *pvXORPlane); 61 | 62 | WINUSERAPI 63 | BOOL 64 | WINAPI 65 | DestroyCursor( 66 | HCURSOR hCursor); 67 | 68 | !# 69 | 70 | (provide "WINUSER") -------------------------------------------------------------------------------- /RDNZL.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/RDNZL.dll -------------------------------------------------------------------------------- /Sys/boole.lisp: -------------------------------------------------------------------------------- 1 | ;;; 2 | ;;; BOOLE function 3 | ;;; 27 October, 2000 - Frank A. Adrian 4 | ;;; 5 | 6 | (defconstant boole-clr 0) 7 | (defconstant boole-and 1) 8 | (defconstant boole-andc1 2) 9 | (defconstant boole-2 3) 10 | (defconstant boole-andc2 4) 11 | (defconstant boole-1 5) 12 | (defconstant boole-xor 6) 13 | (defconstant boole-ior 7) 14 | (defconstant boole-nor 8) 15 | (defconstant boole-eqv 9) 16 | (defconstant boole-c1 10) 17 | (defconstant boole-orc1 11) 18 | (defconstant boole-c2 12) 19 | (defconstant boole-orc2 13) 20 | (defconstant boole-nand 14) 21 | (defconstant boole-set 15) 22 | 23 | 24 | (defun boole (op i1 i2) 25 | (case op 26 | (#.boole-clr 27 | (check-type i1 integer) (check-type i2 integer) 0) 28 | (#.boole-and 29 | (logand i1 i2)) 30 | (#.boole-andc1 31 | (logandc1 i1 i2)) 32 | (#.boole-2 33 | (check-type i1 integer) (check-type i2 integer) i2) 34 | (#.boole-andc2 35 | (logandc2 i1 i2)) 36 | (#.boole-1 37 | (check-type i1 integer) (check-type i2 integer) i1) 38 | (#.boole-xor 39 | (logxor i1 i2)) 40 | (#.boole-ior 41 | (logior i1 i2)) 42 | (#.boole-nor 43 | (lognor i1 i2)) 44 | (#.boole-eqv 45 | (logeqv i1 i2)) 46 | (#.boole-c1 47 | (check-type i2 integer) (lognot i1)) 48 | (#.boole-orc1 49 | (logorc1 i1 i2)) 50 | (#.boole-c2 51 | (check-type i1 integer) (lognot i2)) 52 | (#.boole-orc2 53 | (logorc2 i1 i2)) 54 | (#.boole-nand 55 | (lognand i1 i2)) 56 | (#.boole-set 57 | (check-type i1 integer) (check-type i2 integer) -1) 58 | (otherwise 59 | (error (make-condition 'type-error 60 | :datum op :expected-type "a valid boole- operation"))))) 61 | -------------------------------------------------------------------------------- /Sys/collect-literals.lisp: -------------------------------------------------------------------------------- 1 | ;;;; ------------------------------- 2 | ;;;; Copyright (c) Corman Technologies Inc. 3 | ;;;; See LICENSE.txt for license information. 4 | ;;;; ------------------------------- 5 | ;;;; 6 | ;;;; File: collect-literals.lisp 7 | ;;;; 8 | 9 | (defun is-heap-literal (x) 10 | (cond 11 | ((symbolp x) nil) 12 | ((fixnump x) nil) 13 | ((characterp x) nil) 14 | ((listp x) (if (eq (car x) 'quote) t nil)) 15 | (t t))) 16 | 17 | (defvar *collected-literals* nil) 18 | 19 | (defun extract-literals (x) 20 | (if (is-heap-literal x) 21 | (let ((sym (gensym))) 22 | (push (list sym x) *collected-literals*) 23 | (setq x sym)) 24 | (if (consp x) 25 | (do ((f x (cdr f))) 26 | ((not (consp (cdr f))) 27 | (rplaca f (extract-literals (car f))) 28 | (if (cdr f) (rplacd f (extract-literals (cdr f))))) 29 | (rplaca f (extract-literals (car f)))))) 30 | x) 31 | 32 | (defun collect-literals (x) 33 | (let ((*collected-literals* nil)) 34 | (setq x (extract-literals x)) 35 | (if (null *collected-literals*) 36 | x 37 | `(let (,@*collected-literals*) 38 | ,x)))) 39 | -------------------------------------------------------------------------------- /Sys/compile-sys.lisp: -------------------------------------------------------------------------------- 1 | ;;;; ------------------------------- 2 | ;;;; Copyright (c) Corman Technologies Inc. 3 | ;;;; See LICENSE.txt for license information. 4 | ;;;; ------------------------------- 5 | (progn (terpri)(write "Creating the file CormanLisp.img")(terpri) (values)) 6 | 7 | ;; change current directory to the Corman Lisp directory 8 | (progn 9 | (terpri) 10 | (write "Changing current directory to ") 11 | (write (%change-directory (%cormanlisp-directory-namestring))) 12 | (terpri) 13 | (values)) 14 | 15 | (progn (load "sys/load-sys.lisp")(values)) 16 | (top-level) 17 | (progn (load "sys/load-sys2.lisp")(values)) 18 | 19 | (setf ccl::*save-relative-source-file-names* nil) ;; after this, only store absolute paths 20 | (progn (in-package :user)(values)) 21 | (progn (save-image "CormanLisp.img")(values)) 22 | (progn (format *terminal-io* "~%The file CormanLisp.img was created successfully.~%~%") 23 | (values)) 24 | -------------------------------------------------------------------------------- /Sys/dribble.lisp: -------------------------------------------------------------------------------- 1 | ;;;; ------------------------------- 2 | ;;;; Copyright (c) Corman Technologies Inc. 3 | ;;;; See LICENSE.txt for license information. 4 | ;;;; ------------------------------- 5 | ;;;; 6 | ;;;; File: dribble.lisp 7 | ;;;; Contents: Corman Lisp dribble function. 8 | ;;;; History: 10/8/98 RGC Created. 9 | ;;;; 10 | 11 | (in-package "COMMON-LISP") 12 | 13 | (defvar *dribble-file* nil) 14 | 15 | ;;; 16 | ;;; Filter *terminal-io* input and output through these functions. 17 | ;;; 18 | (defun terminal-io-underflow (stream) 19 | (let ((ret (cl::console-underflow-function stream))) 20 | (if *dribble-file* 21 | (let ((buf (stream-input-buffer stream)) 22 | (start (stream-input-buffer-pos stream)) 23 | (num (stream-input-buffer-num stream))) 24 | (dotimes (i num) 25 | (write-char (elt buf (+ start i)) *dribble-file*)))) 26 | ret)) 27 | 28 | (defun terminal-io-overflow (stream) 29 | (if *dribble-file* 30 | (let ((buf (stream-output-buffer stream)) 31 | (num (stream-output-buffer-pos stream))) 32 | (dotimes (i num) 33 | (write-char (elt buf i) *dribble-file*)))) 34 | (cl::console-overflow-function stream)) 35 | 36 | (setf (uref *terminal-io* stream-underflow-func-offset) #'terminal-io-underflow) 37 | (setf (uref *terminal-io* stream-overflow-func-offset) #'terminal-io-overflow) 38 | 39 | ;;; 40 | ;;; Common Lisp DRIBBLE function 41 | ;;; 42 | (defun dribble (&optional pathname) 43 | (if *dribble-file* 44 | (close *dribble-file*)) 45 | (if (null pathname) 46 | (setf *dribble-file* nil) 47 | (setf *dribble-file* 48 | (open pathname 49 | :direction :output 50 | :if-exists :append 51 | :if-does-not-exist :create)))) 52 | 53 | -------------------------------------------------------------------------------- /Sys/errors.lisp: -------------------------------------------------------------------------------- 1 | ;;;; ------------------------------- 2 | ;;;; Copyright (c) Corman Technologies Inc. 3 | ;;;; See LICENSE.txt for license information. 4 | ;;;; ------------------------------- 5 | ;;;; 6 | ;;;; File: errors.lisp 7 | ;;;; Contents: Corman Lisp miscellaneous features. 8 | ;;;; History: 2/27/97 RGC Created. 9 | ;;;; 12/15/98 RGC Integrated Vassili Bykov's implementations 10 | ;;;; of ECASE, ETYPECASE 11 | ;;;; 12 | 13 | (in-package :common-lisp) 14 | 15 | (defun %nwrap-otherwise-keys (clauses) 16 | (dolist (clause clauses) 17 | (let ((key (car clause))) 18 | (when (or (eq key 't) (eq key 'otherwise)) 19 | (format *error-output* "~&Warning: ~A is used as a key in ~A, ~ 20 | assuming you mean (~2:*~A)~%" key clause) 21 | (setf (car clause) (list key)))))) 22 | 23 | (defmacro ecase (keyform &rest clauses) 24 | (%nwrap-otherwise-keys clauses) 25 | `(case ,keyform 26 | ,@clauses 27 | (t (error "No ECASE clause matching the key")))) 28 | 29 | (defmacro etypecase (keyform &rest clauses) 30 | (%nwrap-otherwise-keys clauses) 31 | `(typecase ,keyform 32 | ,@clauses 33 | (t (error "No ETYPECASE clause matching the key")))) 34 | -------------------------------------------------------------------------------- /Sys/input-output.lisp: -------------------------------------------------------------------------------- 1 | ;;;; ------------------------------- 2 | ;;;; Copyright (c) Corman Technologies Inc. 3 | ;;;; See LICENSE.txt for license information. 4 | ;;;; ------------------------------- 5 | ;;;; 6 | ;;;; File: input-output.lisp 7 | ;;;; Contents: Corman Lisp I/O functions. 8 | ;;;; History: 3/2/97 RGC Created. 9 | ;;;; 10 | (in-package :common-lisp) 11 | 12 | (defvar *save-image-cleanup-funcs* (symbol-value '*save-image-cleanup-funcs*)) 13 | (defvar *load-image-restore-funcs* (symbol-value '*load-image-restore-funcs*)) 14 | 15 | (defun register-save-image-cleanup-func (func) 16 | (setq *save-image-cleanup-funcs* 17 | (adjoin func *save-image-cleanup-funcs*))) 18 | 19 | (defun register-load-image-restore-func (func) 20 | (setq *load-image-restore-funcs* 21 | (adjoin func *load-image-restore-funcs*))) 22 | 23 | ;; since the time units per second may vary on a per machine basis 24 | ;; we need to make sure this is reset after an image is loaded 25 | (register-load-image-restore-func 26 | #'(lambda () 27 | (setf internal-time-units-per-second 28 | (get-internal-time-units-per-second)) 29 | (setf gc-time-units-per-second 30 | internal-time-units-per-second))) 31 | 32 | ;;; ensure all packages have synchronization objects 33 | (register-load-image-restore-func 34 | #'(lambda () 35 | (dolist (p (list-all-packages)) 36 | (unless (package-sync p) 37 | (setf (uref p package-sync-offset) (allocate-critical-section)))))) 38 | 39 | ;;; remove all critical sections from packages when the image is saved 40 | (register-save-image-cleanup-func 41 | #'(lambda () 42 | (dolist (p (list-all-packages)) 43 | (when (package-sync p) 44 | (deallocate-critical-section (package-sync p)) 45 | (setf (uref p package-sync-offset) nil))))) 46 | -------------------------------------------------------------------------------- /Sys/io.lisp: -------------------------------------------------------------------------------- 1 | ;;;; ------------------------------- 2 | ;;;; Copyright (c) Corman Technologies Inc. 3 | ;;;; See LICENSE.txt for license information. 4 | ;;;; ------------------------------- 5 | ;;;; 6 | ;;;; File: io.lisp 7 | ;;;; Contents: Corman Lisp I/O functions. 8 | ;;;; History: 8/16/96 RGC Created. 9 | ;;;; 10 | 11 | ;;;; 12 | ;;;; Common Lisp PEEK-CHAR function. 13 | ;;;; 14 | 15 | (defun peek-char (&optional 16 | (peek-type nil) 17 | (input-stream *standard-input*) 18 | (eof-error-p t) 19 | (eof-value nil) 20 | (recursive-p nil)) 21 | (declare (ignore recursive-p eof-value eof-error-p)) 22 | (let ((ch (%read-char input-stream))) 23 | (unless peek-type 24 | (progn 25 | (unread-char ch input-stream) 26 | (return-from peek-char ch))) 27 | (if (characterp peek-type) 28 | (do () 29 | ((eq ch peek-type)(progn (unread-char ch input-stream) ch)) 30 | (setq ch (%read-char input-stream))) 31 | (if (eq peek-type t) 32 | (do ((readtable *readtable*)) 33 | ((eq (readtable-char-type readtable ch) 'whitespace-char-type) 34 | (progn (unread-char ch input-stream) ch)) 35 | (setq ch (%read-char input-stream))) 36 | (error "Invalid PEEK-TYPE: ~A" peek-type))))) 37 | -------------------------------------------------------------------------------- /Sys/pl-symbols.lisp: -------------------------------------------------------------------------------- 1 | ;;;; ------------------------------- 2 | ;;;; Copyright (c) Corman Technologies Inc. 3 | ;;;; See LICENSE.txt for license information. 4 | ;;;; ------------------------------- 5 | ;;;; 6 | ;;;; File: pl-symbols.lisp 7 | ;;;; Contents: Exported Corman Lisp package symbols. 8 | ;;;; 9 | 10 | (in-package :cormanlisp) 11 | 12 | (defvar *HYPERSPEC-LOCAL-PATH* nil) 13 | 14 | (export '( 15 | ;;uref-set 16 | ;;uref 17 | *compiler-code-buffer* 18 | *compiler-optimize-speed* 19 | *compiler-optimize-safety* 20 | *compiler-optimize-space* 21 | *compiler-optimize-debug* 22 | *compiler-optimize-compilation-speed* 23 | kernel-function-p 24 | *cormanlisp-directory* 25 | *cormanlisp-server-directory* 26 | *trace-exceptions* 27 | *source-file* 28 | *source-line* 29 | *save-debug-info* 30 | hyperspec 31 | *HYPERSPEC-LOCAL-PATH* 32 | uvector-length 33 | uvector-type-tag 34 | peek-byte 35 | peek-dword 36 | peek-lisp-object 37 | get-qv-reg 38 | lisp-object-bits 39 | *current-thread-id* 40 | *current-thread-handle* 41 | *current-process-id* 42 | *current-process-handle* 43 | )) 44 | 45 | (defvar *current-thread-id* *current-thread-id*) 46 | (defvar *current-thread-handle* *current-thread-handle*) 47 | (defvar *current-process-id* *current-process-id*) 48 | (defvar *current-process-handle* *current-process-handle*) 49 | 50 | 51 | -------------------------------------------------------------------------------- /Sys/scmindent/COPYING: -------------------------------------------------------------------------------- 1 | Copyright (c) 1998-2017, Dorai Sitaram. 2 | All rights reserved. 3 | 4 | Permission to distribute and use this work for any 5 | purpose is hereby granted provided this copyright 6 | notice is included in the copy. This work is provided 7 | as is, with no warranty of any kind. 8 | -------------------------------------------------------------------------------- /Sys/stepper.lisp: -------------------------------------------------------------------------------- 1 | ;;;; ------------------------------- 2 | ;;;; Copyright (c) Corman Technologies Inc. 3 | ;;;; See LICENSE.txt for license information. 4 | ;;;; ------------------------------- 5 | ;;;; 6 | ;;;; File: stepper.lisp 7 | ;;;; Contents: Simple step function from Guy Steele's CLTL2, p. 493. 8 | ;;;; History: 10/3/96 RGC Created. 9 | ;;;; 10 | 11 | (defvar *hooklevel* 0) 12 | (defun hook (x) 13 | (let ((*evalhook* 'eval-hook-function)) 14 | (eval x))) 15 | 16 | (defun eval-hook-function (form &rest env) 17 | (let ((*hooklevel* (+ *hooklevel* 1))) 18 | (format t "~%Form: ~A" form) 19 | (let ((values (multiple-value-list 20 | (evalhook form #'eval-hook-function nil env)))) 21 | (format t "~%Value:~{ ~A~}" values) 22 | (values-list values)))) 23 | 24 | ;; example 25 | ;; (hook '(cons (values 3 2) 'b)) 26 | -------------------------------------------------------------------------------- /Sys/streams.lisp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/Sys/streams.lisp -------------------------------------------------------------------------------- /Sys/synchronized.lisp: -------------------------------------------------------------------------------- 1 | ;;;; ------------------------------- 2 | ;;;; Copyright (c) Corman Technologies Inc. 3 | ;;;; See LICENSE.txt for license information. 4 | ;;;; ------------------------------- 5 | ;;;; 6 | ;;;; File: synchronized.lisp 7 | ;;;; Contents: A number of library functions are redefined here 8 | ;;;; to add 9 | ;;;; History: 4/24/02 RGC Created. 10 | ;;;; 11 | (in-package :cl) 12 | 13 | ;;; ensure all packages have synchronization objects 14 | (register-load-image-restore-func 15 | #'(lambda () 16 | (dolist (p (list-all-packages)) 17 | (unless (package-sync p) 18 | (setf (uref p package-sync-offset) (cl::allocate-critical-section)))))) 19 | 20 | ;;; remove all critical sections from packages when the image is saved 21 | (register-save-image-cleanup-func 22 | #'(lambda () 23 | (dolist (p (list-all-packages)) 24 | (when (package-sync p) 25 | (cl::deallocate-critical-section (package-sync p)) 26 | (setf (uref p package-sync-offset) nil))))) 27 | 28 | ;;;; 29 | ;;;; Common Lisp FIND-SYMBOL function 30 | ;;;; 31 | (defun find-symbol (string &optional (package *package*)) 32 | (unless (packagep package) 33 | (setq package (find-package package))) 34 | (unless (packagep package) 35 | (error "Invalid package: ~A" package)) 36 | (multiple-value-bind (sym status) 37 | (package-find-symbol package string) 38 | (if status 39 | (cond 40 | ((eq status 'internal)(values sym :internal)) 41 | ((eq status 'external)(values sym :external)) 42 | (t (values sym :inherited))) 43 | (values nil nil)))) 44 | 45 | 46 | -------------------------------------------------------------------------------- /Sys/sys-lib.lisp: -------------------------------------------------------------------------------- 1 | ;;;; ------------------------------- 2 | ;;;; Copyright (c) Corman Technologies Inc. 3 | ;;;; See LICENSE.txt for license information. 4 | ;;;; ------------------------------- 5 | ;;;; 6 | ;;;; File: sys-lib 7 | ;;;; Contents: Implementation functions. 8 | ;;;; History: 11/11/2002 RGC Created. 9 | ;;;; 10 | 11 | (make-package "SYS") 12 | (in-package :sys) 13 | 14 | ;;; 15 | ;;; Define code generation for Common Lisp * operator 16 | (x86::defcodegen char-aref (form dest) 17 | (let ((num-args (- (length form) 1))) 18 | (if (= num-args 2) 19 | (progn 20 | (cl::compile-sub-form (second form) :dest-stack t) 21 | (cl::compile-sub-form (third form) :dest-eax-operand t) 22 | (x86::parse-assembler 23 | { 24 | mov ecx, eax ;; ecx = index 25 | pop edx ;; edx = vector 26 | begin-atomic 27 | shr ecx, 3 ;; untagged integer 28 | xor eax, eax 29 | mov ax, [edx + ecx*2 + (uvector-offset 2)] 30 | shl eax, 8 31 | inc eax 32 | end-atomic 33 | }) 34 | (x86::offset-stack 4)) 35 | (error "wrong number of args")) 36 | (if (eq dest :dest-stack) 37 | (progn 38 | (x86::parse-assembler 39 | { 40 | push eax 41 | }) 42 | (x86::offset-stack -4))) 43 | (if (eq dest :dest-eax) 44 | (progn 45 | (x86::parse-assembler 46 | { 47 | mov ecx, 1 48 | })))) 49 | t) 50 | 51 | (defun %string= (x y) 52 | (let ((xlen (length x))) 53 | (unless (= (length y) xlen) 54 | (return nil)) 55 | (dotimes (i xlen t) 56 | (unless (eq (char-aref x i) (char-aref y i)) 57 | (return nil))))) 58 | -------------------------------------------------------------------------------- /Sys/version.lisp: -------------------------------------------------------------------------------- 1 | ;;;; ------------------------------- 2 | ;;;; Copyright (c) Corman Technologies Inc. 3 | ;;;; See LICENSE.txt for license information. 4 | ;;;; ------------------------------- 5 | ;;;; 6 | ;;;; File: version.lisp 7 | ;;;; Contents: Code to obtain Corman Lisp version information from kernel. 8 | ;;;; History: 02.05.2018 Artem Boldarev Created. 9 | ;;;; 10 | (in-package :cl) 11 | 12 | (export '( 13 | cormanlisp-version 14 | lisp-implementation-version 15 | cormanlisp-patch-level)) 16 | 17 | (defun cormanlisp-version () 18 | (multiple-value-bind (major end) 19 | (parse-integer (cl::%cormanlisp-version-string) :junk-allowed t) 20 | (multiple-value-bind (minor end) 21 | (parse-integer (cl::%cormanlisp-version-string) :junk-allowed t :start (1+ end)) 22 | (multiple-value-bind (patch) 23 | (parse-integer (cl::%cormanlisp-version-string) :junk-allowed t :start (1+ end)) 24 | (values major minor patch))))) 25 | 26 | (defun lisp-implementation-version () 27 | "Returns Lisp implementation version as a string." 28 | (multiple-value-bind (major minor) 29 | (cormanlisp-version) 30 | (format nil "~A.~A" major minor))) 31 | 32 | (defun cormanlisp-patch-level () 33 | "Returns Lisp implementation version as an integer." 34 | (multiple-value-bind (major minor patchlevel) 35 | (cormanlisp-version) 36 | (declare (ignore major minor)) 37 | patchlevel)) 38 | -------------------------------------------------------------------------------- /Sys/working.lisp: -------------------------------------------------------------------------------- 1 | ;;;; ------------------------------- 2 | ;;;; Copyright (c) Corman Technologies Inc. 3 | ;;;; See LICENSE.txt for license information. 4 | ;;;; ------------------------------- 5 | ;;;; 6 | ;;;; File: working.lisp 7 | ;;;; Contents: Functions that are currently under development 8 | ;;;; History: 1/27/99 RGC Created. 9 | ;;;; 10 | ;;; 11 | 12 | (defun function-code-buffer (func) 13 | (check-type func function) 14 | (if (ccl::kernel-function-p func) 15 | nil 16 | (uref func cl::function-code-buffer-offset))) 17 | 18 | (defun kernel-function-lambda-list (func) 19 | (declare (ignore func)) 20 | nil) ;; not implemented yet 21 | 22 | (defun function-info-list (func) 23 | (let ((cb (function-code-buffer func))) 24 | (if cb 25 | (uref cb cl::compiled-code-info-offset)))) 26 | 27 | (defun function-lambda-list (func) (getf (function-info-list func) 'cl::lambda-list)) 28 | (defun function-lambda (func) (getf (function-info-list func) 'cl::lambda)) 29 | (defun function-source-file (func) (getf (function-info-list func) 'ccl:*source-file*)) 30 | (defun function-source-line (func) (getf (function-info-list func) 'ccl:*source-line*)) 31 | -------------------------------------------------------------------------------- /Utilities/generate-version-wxi.lisp: -------------------------------------------------------------------------------- 1 | ;;;; 2 | ;;;; File: generate-version-wxi.lisp 3 | ;;;; Contents: The file which generate WiX include file with build version information. 4 | ;;;; History: 02.05.2018 Artem Boldarev Created. 5 | ;;;; 6 | ;;;; This file is used during MSI installer generation. 7 | ;;;; 8 | 9 | (defun write-version-wxi (pathname) 10 | (with-open-file (out pathname :direction :output :external-format :ascii 11 | :if-exists :supersede) 12 | (format out "~%~%") 13 | (multiple-value-bind (major minor patch-level) 14 | (cormanlisp-version) 15 | (format out " ~%" major) 16 | (format out " ~%" minor) 17 | (format out " ~%" patch-level) 18 | (format out "~%")))) 19 | 20 | (write-version-wxi "installer\\Version.wxi") -------------------------------------------------------------------------------- /clboot/clboot.exe.manifest: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /clboot/clboot.rc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/clboot/clboot.rc -------------------------------------------------------------------------------- /clboot/resource.h: -------------------------------------------------------------------------------- 1 | //{{NO_DEPENDENCIES}} 2 | // Microsoft Visual C++ generated include file. 3 | // Used by clconsoleapp.rc 4 | 5 | // Next default values for new objects 6 | // 7 | #ifdef APSTUDIO_INVOKED 8 | #ifndef APSTUDIO_READONLY_SYMBOLS 9 | #define _APS_NEXT_RESOURCE_VALUE 101 10 | #define _APS_NEXT_COMMAND_VALUE 40001 11 | #define _APS_NEXT_CONTROL_VALUE 1001 12 | #define _APS_NEXT_SYMED_VALUE 101 13 | #endif 14 | #endif 15 | -------------------------------------------------------------------------------- /clbootapp/clbootapp.rc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/clbootapp/clbootapp.rc -------------------------------------------------------------------------------- /clbootapp/clbootapp.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /clbootapp/resource.h: -------------------------------------------------------------------------------- 1 | //{{NO_DEPENDENCIES}} 2 | // Microsoft Visual C++ generated include file. 3 | // Used by clconsoleapp.rc 4 | 5 | // Next default values for new objects 6 | // 7 | #ifdef APSTUDIO_INVOKED 8 | #ifndef APSTUDIO_READONLY_SYMBOLS 9 | #define _APS_NEXT_RESOURCE_VALUE 101 10 | #define _APS_NEXT_COMMAND_VALUE 40001 11 | #define _APS_NEXT_CONTROL_VALUE 1001 12 | #define _APS_NEXT_SYMED_VALUE 101 13 | #endif 14 | #endif 15 | -------------------------------------------------------------------------------- /clconsole/clconsole.exe.manifest: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 8 | 9 | 10 | 11 | 12 | 13 | true 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /clconsole/clconsole.rc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/clconsole/clconsole.rc -------------------------------------------------------------------------------- /clconsole/resource.h: -------------------------------------------------------------------------------- 1 | //{{NO_DEPENDENCIES}} 2 | // Microsoft Visual C++ generated include file. 3 | // Used by clconsoleapp.rc 4 | 5 | // Next default values for new objects 6 | // 7 | #ifdef APSTUDIO_INVOKED 8 | #ifndef APSTUDIO_READONLY_SYMBOLS 9 | #define _APS_NEXT_RESOURCE_VALUE 101 10 | #define _APS_NEXT_COMMAND_VALUE 40001 11 | #define _APS_NEXT_CONTROL_VALUE 1001 12 | #define _APS_NEXT_SYMED_VALUE 101 13 | #endif 14 | #endif 15 | -------------------------------------------------------------------------------- /clconsoleapp/clconsoleapp.exe.manifest: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 8 | 9 | 10 | 11 | 12 | 13 | true 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /clconsoleapp/clconsoleapp.rc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/clconsoleapp/clconsoleapp.rc -------------------------------------------------------------------------------- /clconsoleapp/resource.h: -------------------------------------------------------------------------------- 1 | //{{NO_DEPENDENCIES}} 2 | // Microsoft Visual C++ generated include file. 3 | // Used by clconsoleapp.rc 4 | 5 | // Next default values for new objects 6 | // 7 | #ifdef APSTUDIO_INVOKED 8 | #ifndef APSTUDIO_READONLY_SYMBOLS 9 | #define _APS_NEXT_RESOURCE_VALUE 101 10 | #define _APS_NEXT_COMMAND_VALUE 40001 11 | #define _APS_NEXT_CONTROL_VALUE 1001 12 | #define _APS_NEXT_SYMED_VALUE 101 13 | #endif 14 | #endif 15 | -------------------------------------------------------------------------------- /delimg.bat: -------------------------------------------------------------------------------- 1 | del "%~dp0\CormanLisp.img" 2 | -------------------------------------------------------------------------------- /dlltemplate/dlltemplate.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {6cfd180b-de87-416e-b249-05f82161fa20} 6 | cpp;c;cxx;def;odl;idl;hpj;bat;asm 7 | 8 | 9 | {61c602d2-bc0d-430c-ba2c-37ef61edd90d} 10 | h;hpp;hxx;hm;inl;inc 11 | 12 | 13 | {4956f130-a690-4db8-a013-73c24b6d36d5} 14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;r 15 | 16 | 17 | 18 | 19 | Source Files 20 | 21 | 22 | 23 | 24 | Source Files 25 | 26 | 27 | -------------------------------------------------------------------------------- /documentation/Corman Lisp 1.21 Release Notes.txt: -------------------------------------------------------------------------------- 1 | Corman Lisp 1.21 Release Notes 2 | March 28, 1999 3 | 4 | Corman Lisp Kernel 5 | 6 | This release fixes several bugs in the kernel, and several new 7 | functions have been added. CLOS implementation is now 8 | faster, and will work better when combined with foreign function 9 | callbacks. 10 | 11 | CLOS instances are now native types, and are no longer implemented 12 | as structures. 13 | 14 | Corman Lisp IDE 15 | 16 | A preferences dialog has been added, which allows you to turn 17 | off various features of the editor. These will be saved automatically 18 | each time you exit the IDE. 19 | 20 | Automatic prototyping of Common Lisp functions occurs when you 21 | are working in the editor. This may be turned off in the 22 | Preferences dialog. 23 | 24 | -------------------------------------------------------------------------------- /documentation/Corman Lisp 1.3 Release Notes.txt: -------------------------------------------------------------------------------- 1 | Corman Lisp 1.3 Release Notes 2 | May 25, 1999 3 | 4 | Corman Lisp Kernel: 5 | 6 | Memory allocation is much more flexible, and should allow Corman 7 | Lisp to function properly as an embedded compiler/evaluator in 8 | most applications. 9 | 10 | SETF has been modified to allow a macro to be used as the place 11 | argument (as per the ANSI specification). 12 | 13 | DEFSETF "short form" has been modified to require that the passed 14 | function take its value as the last argument, rather than the first, 15 | as per the ANSI specification. This may affect your source code, 16 | so be aware of this. 17 | 18 | The SOME function has been fixed. 19 | 20 | 21 | Other Modifications: 22 | 23 | Some documentation errors were corrected. 24 | 25 | Reini Urban's Autocad support (thanks, Reini!) 26 | 27 | The console application has been rewritten as a normal console 28 | app, supporting i/o redirection and any other native console 29 | app features. The source code is much smaller and simpler. 30 | 31 | Both the clboot application and the clconsole application are 32 | modified to reflect that virtual memory is allocated more 33 | dynamically than before. 34 | 35 | The Corman Lisp IDE, console and boot apps are now linked to run 36 | with release DLLs as opposed to debug DLLs. 37 | 38 | The code for each of these apps has been modified to always 39 | look for a copy of CormanLispServer.dll in the same directory 40 | as the running .exe file. Only if not found there will it use 41 | the registered COM server version. This should make it 42 | easier to support having more than one version of Corman Lisp 43 | apps running on a system. 44 | 45 | 46 | 47 | 48 | -------------------------------------------------------------------------------- /documentation/CormanLisp.doc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/documentation/CormanLisp.doc -------------------------------------------------------------------------------- /documentation/CormanLisp.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/documentation/CormanLisp.pdf -------------------------------------------------------------------------------- /documentation/credits.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/documentation/credits.txt -------------------------------------------------------------------------------- /examples/HELLOWIN.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/examples/HELLOWIN.WAV -------------------------------------------------------------------------------- /examples/callbacks.lisp: -------------------------------------------------------------------------------- 1 | ;;;; ------------------------------- 2 | ;;;; Copyright (c) Corman Technologies Inc. 3 | ;;;; See LICENSE.txt for license information. 4 | ;;;; ------------------------------- 5 | ;;; 6 | ;;; This is an example of both calling a C function (in a DLL) 7 | ;;; and being called back by it. The functions are called in the 8 | ;;; example DLL "TESTDLL.DLL". 9 | ;;; 10 | (win:defctype CALLBACKTYPE (:void *)) 11 | 12 | #! (:library "d:/roger/cormanlisp/examples/testdll.dll") 13 | long testfunc1(long x, long y, long z); 14 | long testfunc2(long x, CALLBACKTYPE func); 15 | !# 16 | 17 | (ct:defun-c-callback test-func ((x :long)) 18 | (format t "x = ~A~%" x)) 19 | 20 | ;(testfunc1 10 20 30) 21 | ;(testfunc2 5 (ct:get-callback-procinst 'test-func)) 22 | 23 | -------------------------------------------------------------------------------- /examples/dllclient/Makefile: -------------------------------------------------------------------------------- 1 | # 2 | # File: Makefile 3 | # Contents: Makefile for DLLClient test application 4 | # History: 5/13/02 RGC Created. 5 | # 6 | default: ../../dllclient.exe 7 | 8 | 9 | ../../dllclient.exe: dllclient.cpp 10 | echo Building dllclient.exe... 11 | if not exist .\bin md .\bin 12 | nmake /s /c clean 13 | cl.exe /nologo /MD /W1 /GX /O2 /c /Zi \ 14 | /D "WIN32" \ 15 | /D "NDEBUG" \ 16 | /D "_WINDOWS" \ 17 | /Fo"bin\\" \ 18 | /Fd"bin\\" \ 19 | /I./include /I../include \ 20 | dllclient.cpp 21 | 22 | link.exe /nologo /debug /nodefaultlib \ 23 | /subsystem:console \ 24 | /incremental:no \ 25 | /pdb:"bin/dllclient.pdb" \ 26 | /machine:I386 \ 27 | /out:"../../dllclient.exe" \ 28 | bin\dllclient.obj \ 29 | ..\..\dllsample.lib \ 30 | kernel32.lib \ 31 | user32.lib \ 32 | gdi32.lib \ 33 | msvcrt.lib \ 34 | winspool.lib \ 35 | comdlg32.lib \ 36 | advapi32.lib \ 37 | shell32.lib \ 38 | ole32.lib \ 39 | oleaut32.lib \ 40 | uuid.lib 41 | 42 | clean: 43 | if exist bin\*.obj del bin\*.obj 44 | if exist bin\*.pdb del bin\*.pdb 45 | if exist dllclient.opt del dllclient.opt 46 | if exist dllclient.ncb del dllclient.ncb 47 | if exist ..\..\dllclient.exe del ..\..\dllclient.exe 48 | 49 | -------------------------------------------------------------------------------- /examples/dllclient/dllclient.sln: -------------------------------------------------------------------------------- 1 | Microsoft Visual Studio Solution File, Format Version 9.00 2 | # Visual Studio 2005 3 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dllclient", "dllclient.vcproj", "{2D7DF857-B88D-4F36-9782-B2F586159DC1}" 4 | EndProject 5 | Global 6 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 7 | Debug|Win32 = Debug|Win32 8 | Release|Win32 = Release|Win32 9 | EndGlobalSection 10 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 11 | {2D7DF857-B88D-4F36-9782-B2F586159DC1}.Debug|Win32.ActiveCfg = Debug|Win32 12 | {2D7DF857-B88D-4F36-9782-B2F586159DC1}.Debug|Win32.Build.0 = Debug|Win32 13 | {2D7DF857-B88D-4F36-9782-B2F586159DC1}.Release|Win32.ActiveCfg = Release|Win32 14 | {2D7DF857-B88D-4F36-9782-B2F586159DC1}.Release|Win32.Build.0 = Release|Win32 15 | EndGlobalSection 16 | GlobalSection(SolutionProperties) = preSolution 17 | HideSolutionNode = FALSE 18 | EndGlobalSection 19 | EndGlobal 20 | -------------------------------------------------------------------------------- /examples/gui/hello.lisp: -------------------------------------------------------------------------------- 1 | ;;;; ------------------------------- 2 | ;;;; Copyright (c) Corman Technologies Inc. 3 | ;;;; See LICENSE.txt for license information. 4 | ;;;; ------------------------------- 5 | ;;;; 6 | ;;;; Windows Hello program. 7 | ;;;; 8 | ;;;; To run from lisp, load this file and enter: 9 | ;;;; 10 | ;;;; (th:create-thread #'win::hello) 11 | ;;;; 12 | ;;;; To create a single-file executable, load this file and enter: 13 | ;;;; (save-application "hello" #'win::hello :static t) 14 | ;;;; 15 | 16 | (in-package :win) 17 | (require "GUI") 18 | 19 | (defclass () 20 | ((text-rect :accessor hello-text-rect :initform (ct:malloc (sizeof 'RECT))))) 21 | 22 | (defun hello () 23 | (gui-initialize) 24 | (let ((window (make-instance '))) 25 | (create-window window 26 | :caption "hello" 27 | :style (logior WS_OVERLAPPEDWINDOW WS_MINIMIZEBOX)) 28 | (show-window window SW_SHOW) 29 | (update-window window) 30 | (standard-message-loop))) 31 | 32 | (defmethod handle-message ((window ) (message ) wparam lparam) 33 | (declare (ignore wparam lparam)) 34 | (begin-paint window) 35 | (let ((rect (hello-text-rect window))) 36 | (GetClientRect (window-hwnd window) rect) 37 | (DrawText (window-hdc window) 38 | (ct:create-c-string "Hello, World") 39 | -1 40 | rect 41 | (logior DT_SINGLELINE DT_CENTER DT_VCENTER))) 42 | (end-paint window) 43 | 0) 44 | -------------------------------------------------------------------------------- /examples/gui/menu1.lisp: -------------------------------------------------------------------------------- 1 | ;;;; ------------------------------- 2 | ;;;; Copyright (c) Corman Technologies Inc. 3 | ;;;; See LICENSE.txt for license information. 4 | ;;;; ------------------------------- 5 | ;;;; 6 | ;;;; Windows Menu example program. 7 | ;;;; 8 | ;;;; To run from lisp, load this file and enter: 9 | ;;;; 10 | ;;;; (th:create-thread #'win::menu1) 11 | ;;;; 12 | ;;;; To create a single-file executable, load this file and enter: 13 | ;;;; (save-application "menu1" #'win::menu1 :static t) 14 | ;;;; 15 | 16 | (in-package :win) 17 | (require "GUI") 18 | 19 | (defclass ( )) 20 | 21 | (defun my-open-file () 22 | (format t "open file selected~%") 23 | (force-output)) 24 | 25 | (defun menu1 () 26 | (gui-initialize) 27 | (let ((window (make-instance '))) 28 | (create-menu window '(:menu "File") nil 1) 29 | (create-menu window (list :command "Open" 'my-open-file) "File" 1) 30 | (create-window window 31 | :caption "test window" 32 | :style (logior WS_OVERLAPPEDWINDOW WS_MINIMIZEBOX) 33 | :width 300 34 | :height 300) 35 | (show-window window SW_SHOW) 36 | (update-window window) 37 | (standard-message-loop))) -------------------------------------------------------------------------------- /examples/math-fun.lisp: -------------------------------------------------------------------------------- 1 | ;;;; ------------------------------- 2 | ;;;; Copyright (c) Corman Technologies Inc. 3 | ;;;; See LICENSE.txt for license information. 4 | ;;;; ------------------------------- 5 | ;;;; 6 | ;;;; File: math-fun.lisp 7 | ;;;; Contents: Math-related functions. 8 | ;;;; History: 9/24/98 RGC Created. 9 | ;;;; 10 | 11 | ;;; The fibonacci definition used here is iterative, and avoids the dreaded double 12 | ;;; recursion in the following obvious recursive definition: 13 | ;;; (defun fibonacci (x) (if (<= x 1) 1 (+ (fibonacci (- x 1)) (fibonacci (- x 2))))) 14 | ;;; That definition takes *forever* to run on numbers over 20 or so. 15 | ;;; 16 | (defun fibonacci (x) 17 | (if (= x 0) 18 | 1 19 | (let ((result 1) 20 | (prev 1)) 21 | (dotimes (i (1- x)) 22 | (psetq result (+ result prev) prev result)) 23 | result))) 24 | -------------------------------------------------------------------------------- /examples/optimize-examples.lisp: -------------------------------------------------------------------------------- 1 | ;;;; 2 | ;;;; Examples of using declarations to optimize code. 3 | ;;;; 4 | 5 | (defun foo1 (x) (+ x 1)) 6 | (disassemble 'foo1) 7 | ;Disassembling from address #x12485A0: 8 | ;#x0: 55 push ebp 9 | ;#x1: 8BEC mov ebp,esp 10 | ;#x3: 57 push edi 11 | ;#x4: 83F901 cmp ecx,00001h 12 | ;#x7: 7406 je 000F 13 | ;#x9: FF96B4100000 call near dword ptr [esi+0000010B4h] 14 | ;#xF: 8B4508 mov eax,[ebp+00008h] 15 | ;#x12: BA08000000 mov edx,0008 16 | ;#x17: A807 test al,007h 17 | ;#x19: 7506 jne 0021 18 | ;#x1B: 03C2 add eax,edx 19 | ;#x1D: 7108 jno 0027 20 | ;#x1F: 2BC2 sub eax,edx 21 | ;#x21: FF96DC170000 call near dword ptr [esi+0000017DCh] 22 | ;#x27: B901000000 mov ecx,0001 23 | ;#x2C: 8BE5 mov esp,ebp 24 | ;#x2E: 5D pop ebp 25 | ;#x2F: C3 ret 26 | 27 | (defun foo2 (x) 28 | (declare 29 | (optimize (safety 0)(speed 3)) 30 | (fixnum x)) 31 | (the fixnum (+ x 1))) 32 | 33 | (disassemble 'foo2) 34 | ;Disassembling from address #x126AB20: 35 | ;#x0: 55 push ebp 36 | ;#x1: 8BEC mov ebp,esp 37 | ;#x3: 57 push edi 38 | ;#x4: 8B4508 mov eax,[ebp+00008h] 39 | ;#x7: BA08000000 mov edx,0008 40 | ;#xC: 03C2 add eax,edx 41 | ;#xE: B901000000 mov ecx,0001 42 | ;#x13: 8BE5 mov esp,ebp 43 | ;#x15: 5D pop ebp 44 | ;#x16: C3 ret 45 | -------------------------------------------------------------------------------- /examples/pi.lisp: -------------------------------------------------------------------------------- 1 | ;;;; ------------------------------- 2 | ;;;; Copyright (c) Corman Technologies Inc. 3 | ;;;; See LICENSE.txt for license information. 4 | ;;;; ------------------------------- 5 | ;;;; 6 | ;;;; File: pi.lisp 7 | ;;;; Calculates PI to any number of decimal places. 8 | ;;;; Usage: (calc-pi nn) where nn is the number of significant digits. 9 | ;;;; 10 | 11 | ;;; For the computation of pi: 12 | ;;; Computes N * atan(1.0/k) as a large integer 13 | (defun pi-atan (k n) 14 | (do* ((a 0) 15 | (w (* n k)) 16 | (k2 (* k k)) 17 | (i -1)) 18 | ((= w 0) a) 19 | (setq w (truncate w k2)) 20 | (incf i 2) 21 | (incf a (truncate w i)) 22 | (setq w (truncate w k2)) 23 | (incf i 2) 24 | (decf a (truncate w i)))) 25 | 26 | (defun calc-pi (digits) 27 | (let* ((n digits) 28 | (m (+ n 3)) 29 | (tenpower (expt 10 m))) 30 | (values 31 | (truncate 32 | (- 33 | (+ (pi-atan 18 (* tenpower 48)) 34 | (pi-atan 57 (* tenpower 32))) 35 | (pi-atan 239 (* tenpower 20))) 36 | 1000)))) 37 | -------------------------------------------------------------------------------- /examples/quicksort.lisp: -------------------------------------------------------------------------------- 1 | ;;;; ------------------------------- 2 | ;;;; Copyright (c) Corman Technologies Inc. 3 | ;;;; See LICENSE.txt for license information. 4 | ;;;; ------------------------------- 5 | ;;;; 6 | ;;;; File: quicksort.lisp 7 | ;;;; Contents: Quicksort implementation. 8 | ;;;; 9 | ;;;; Common Lisp code by Roger Corman 10 | ;;;; 11 | 12 | (defun quicksort (vec lo hi comp-func) 13 | (if (> hi lo) 14 | (let* ((mid (round (+ lo hi) 2)) 15 | (i lo) 16 | (j (+ hi 1)) 17 | (p (elt vec mid))) 18 | (rotatef (elt vec mid) (elt vec lo)) ;; swap mid element to first 19 | (loop 20 | (loop do (incf i) 21 | until (or (> i hi) (funcall comp-func p (elt vec i)))) 22 | (loop do (decf j) 23 | until (or (<= j lo) (funcall comp-func (elt vec j) p))) 24 | (if (< j i) (return)) 25 | (rotatef (elt vec i)(elt vec j))) 26 | 27 | (rotatef (elt vec lo) (elt vec j)) ;; put partition element in place 28 | (quicksort vec lo (- j 1) comp-func) 29 | (quicksort vec i hi comp-func))) 30 | vec) 31 | 32 | (defun qsort (sequence comp-func) 33 | (quicksort sequence 0 (- (length sequence) 1) comp-func)) 34 | 35 | -------------------------------------------------------------------------------- /examples/shortcuts.lisp: -------------------------------------------------------------------------------- 1 | ;;;; ------------------------------- 2 | ;;;; Copyright (c) Corman Technologies Inc. 3 | ;;;; See LICENSE.txt for license information. 4 | ;;;; ------------------------------- 5 | 6 | (defun file-to-console (path) 7 | (with-open-file (in path :direction :input) 8 | (do* ((eof-val (cons 0 0)) 9 | (c (read-char in nil eof-val)(read-char in nil eof-val))) 10 | ((eq c eof-val)) 11 | (write-char c *terminal-io*)))) 12 | 13 | (defun dir-to-console (path) 14 | (let ((temp-name "tmp000")) 15 | (win:shell (format nil "dir ~s >~a" (namestring path) temp-name)) 16 | (file-to-console temp-name) 17 | (delete-file temp-name))) 18 | 19 | (define-symbol-macro :pwd (ccl:current-directory)) 20 | 21 | (define-symbol-macro :cd 22 | (let ((path (read))) 23 | (if (symbolp path) 24 | (setf path (symbol-name path))) 25 | (if (string= path "..") 26 | (setf path "..\\")) 27 | (setf (ccl:current-directory) path))) 28 | 29 | (define-symbol-macro :lsd 30 | (let ((path (pathname (read)))) 31 | (dir-to-console path))) 32 | 33 | (define-symbol-macro :ls 34 | (let ((path ".")) 35 | (dir-to-console path))) 36 | 37 | -------------------------------------------------------------------------------- /examples/testdll.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | extern "C" long testfunc1(long x, long y, long z) 4 | { 5 | return x * y + z; 6 | } 7 | 8 | extern "C" long testfunc2(long x, void (*func)(long)) 9 | { 10 | if (x < 0 || x > 100) 11 | return 0; 12 | int i; 13 | for (i = 0; i < x; i++) 14 | func(i); 15 | return i + i; 16 | } 17 | 18 | extern "C" double testfunc3(double x, double y, double z) 19 | { 20 | return x * y + z; 21 | } 22 | 23 | extern "C" __int64 testfunc4(__int32 hi, __int32 lo) 24 | { 25 | __int64 result = (__int64)hi; 26 | 27 | result = result<<32; 28 | result += (__int64)lo; 29 | 30 | return result; 31 | } 32 | 33 | extern "C" __int64 testfunc5(__int64 x, __int64 y) 34 | { 35 | __int64 result = x + y; 36 | return result; 37 | } 38 | 39 | extern "C" unsigned __int64 testfunc6(unsigned __int64 x, unsigned __int64 y) 40 | { 41 | unsigned __int64 result = x + y; 42 | return result; 43 | } 44 | 45 | class testclass 46 | { 47 | __declspec(dllexport) testclass(long num); 48 | __declspec(dllexport) int mulsub(long x, long y, long z); 49 | private: 50 | long num_; 51 | }; 52 | 53 | __declspec(dllexport) testclass::testclass(long num) 54 | { 55 | num_ = num; 56 | } 57 | 58 | __declspec(dllexport) int testclass::mulsub(long x, long y, long z) 59 | { 60 | return num_ + x * y - z; 61 | } 62 | -------------------------------------------------------------------------------- /examples/testdll.def: -------------------------------------------------------------------------------- 1 | LIBRARY TestDLL 2 | EXPORTS 3 | testfunc1 PRIVATE 4 | testfunc2 PRIVATE 5 | testfunc3 PRIVATE 6 | testfunc4 PRIVATE 7 | testfunc5 PRIVATE 8 | testfunc6 PRIVATE -------------------------------------------------------------------------------- /examples/testdll.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/examples/testdll.dll -------------------------------------------------------------------------------- /include/CharBuf.h: -------------------------------------------------------------------------------- 1 | // ------------------------------- 2 | // Copyright (c) Corman Technologies Inc. 3 | // See LICENSE.txt for license information. 4 | // ------------------------------- 5 | // 6 | // File: CharBuf.h 7 | // Contents: Character buffer class for Corman Lisp. 8 | // History: 8/5/97 RGC Created. 9 | // 10 | 11 | #ifndef CHARBUF_H 12 | #define CHARBUF_H 13 | 14 | #include "threadclasses.h" 15 | 16 | // The TerminalInputBuf and TerminalOutputBuf arrays (and the indexes) 17 | // are accessed by both threads, so care must be taken when modifying them. 18 | // 19 | class CharBuf 20 | { 21 | public: 22 | CharBuf(long length); 23 | ~CharBuf(); 24 | long size(); 25 | long numchars(); 26 | 27 | char* getChars(); 28 | long getCharsInBuffer(unsigned char* buf, long num); 29 | long addChars(const char* buf, long num); 30 | PLEvent* charsAvailable(); 31 | PLEvent* bufEmpty(); 32 | 33 | private: 34 | long fSize; 35 | char* fBuf; 36 | long fIndex; 37 | PLSemaphore fSemaphore; 38 | PLEvent fCharsAvailable; 39 | PLEvent fBufEmpty; 40 | }; 41 | 42 | #endif // CHARBUF_H 43 | -------------------------------------------------------------------------------- /include/ErrorMessage.h: -------------------------------------------------------------------------------- 1 | // ------------------------------- 2 | // Copyright (c) Corman Technologies Inc. 3 | // See LICENSE.txt for license information. 4 | // ------------------------------- 5 | // 6 | // File: ErrorMessage.h 7 | // Contents: ErrorMessage() inline definition. 8 | // History: 8/6/97 RGC Created. 9 | // 10 | inline void ErrorMessage(LPCTSTR szFn, DWORD dwError = GetLastError()) 11 | { 12 | TCHAR szTitle[1024]; 13 | TCHAR szPrompt[1024]; 14 | BOOL bRet = FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM, 15 | 0, dwError, 16 | 0, 17 | szPrompt, 18 | sizeof(szPrompt), 19 | 0); 20 | if (!bRet) 21 | lstrcpy(szPrompt, __TEXT("Unknown Error")); 22 | wsprintf(szTitle, __TEXT("%s failed with error code (0x%x)! Do you want to exit?"), szFn, dwError); 23 | int id = MessageBox(HWND_DESKTOP, szPrompt, szTitle, MB_YESNO|MB_SETFOREGROUND); 24 | if (id != IDNO) 25 | ExitProcess(0); 26 | } 27 | -------------------------------------------------------------------------------- /include/clsids.h: -------------------------------------------------------------------------------- 1 | // ------------------------------- 2 | // Copyright (c) Corman Technologies Inc. 3 | // See LICENSE.txt for license information. 4 | // ------------------------------- 5 | // 6 | // File: clsids.h 7 | // Contents: COM Class IDs for Corman Lisp 8 | // History: 8/5/97 RGC Created. 9 | // 10 | 11 | #ifndef CLSIDS_H 12 | #define CLSIDS_H 13 | 14 | // {99AA27B3-0EAE-11d1-ACB9-00A024803258} 15 | DEFINE_GUID(CLSID_CormanLisp, 16 | 0x99aa27b3, 0xeae, 0x11d1, 0xac, 0xb9, 0x0, 0xa0, 0x24, 0x80, 0x32, 0x58); 17 | 18 | // {0002DF01-0000-0000-C000-000000000046} 19 | DEFINE_GUID(CLSID_Internet_Explorer, 20 | 0x0002DF01, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46); 21 | 22 | //#ifndef CGID_IWebBrowser 23 | // CGID_WebBrowser: {ED016940-BD5B-11cf-BA4E-00C04FD70816} 24 | DEFINE_GUID(CGID_IWebBrowser,0xED016940L,0xBD5B,0x11cf,0xBA,0x4E,0x00,0xC0,0x4F,0xD7,0x08,0x16); 25 | //#endif 26 | 27 | #endif // CLSIDS_H 28 | -------------------------------------------------------------------------------- /installer/AddToPath.wxs: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 10 | 11 | 12 | 13 | 16 | 23 | 30 | 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /installer/CormanLispServerLib.wxs: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 10 | 11 | 12 | 13 | 16 | 19 | 20 | 23 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /installer/HyperspecLegalese.wxs: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 10 | 11 | 12 | 15 | 18 | 19 | 22 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /installer/installer.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 6 | h;hh;hpp;hxx;hm;inl;inc;ipp;xsd 7 | 8 | 9 | {70776da3-d7a2-465c-9e66-957d8ed662cb} 10 | 11 | 12 | 13 | 14 | installer 15 | 16 | 17 | installer 18 | 19 | 20 | installer 21 | 22 | 23 | installer 24 | 25 | 26 | installer 27 | 28 | 29 | installer 30 | 31 | 32 | installer 33 | 34 | 35 | installer 36 | 37 | 38 | 39 | Utilities 40 | 41 | 42 | Utilities 43 | 44 | 45 | Utilities 46 | 47 | 48 | 49 | 50 | installer 51 | 52 | 53 | installer 54 | 55 | 56 | 57 | -------------------------------------------------------------------------------- /libcrypto-1_1.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/libcrypto-1_1.dll -------------------------------------------------------------------------------- /libcrypto-1_1.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/libcrypto-1_1.pdb -------------------------------------------------------------------------------- /libssl-1_1.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/libssl-1_1.dll -------------------------------------------------------------------------------- /libssl-1_1.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/libssl-1_1.pdb -------------------------------------------------------------------------------- /makeimg.bat: -------------------------------------------------------------------------------- 1 | set OldDir=%cd% 2 | 3 | cd "%~dp0\" 4 | del "%~dp0\CormanLisp.img" 5 | "%~dp0\clconsole" -execute "%~dp0\sys\compile-sys.lisp" -image "" 6 | 7 | cd "%OldDir%" 8 | -------------------------------------------------------------------------------- /makezip.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | rem Repack the installer contents into a ZIP archive. 3 | 4 | mkdir .\unpacked 5 | msiexec /a CormanLispInstaller.msi /qn TARGETDIR="%~dp0unpacked" 6 | move ".\unpacked\System\*" ".\unpacked\Corman Lisp\" 7 | del CormanLispBinaries.zip 8 | 9 | rem rem Visual C++ Runtime DLL files and Universal CRT files Local Deployment 10 | rem copy "%VS140COMNTOOLS%..\..\VC\redist\x86\Microsoft.VC140.CRT\*.dll" ".\unpacked\Corman Lisp\" 11 | rem copy "%VS140COMNTOOLS%..\..\VC\redist\x86\Microsoft.VC140.MFC\*.dll" ".\unpacked\Corman Lisp\" 12 | rem copy "%VS140COMNTOOLS%..\..\VC\redist\x86\Microsoft.VC140.MFCLOC\*.dll" ".\unpacked\Corman Lisp\" 13 | rem rem Visual Studio 2015 only 14 | rem if exist "%SystemRoot%\SysWOW64\" ( 15 | rem copy "%SystemRoot%\SysWOW64\mfc140.dll" ".\unpacked\Corman Lisp\" 16 | rem copy "%SystemRoot%\SysWOW64\mfcm140.dll" ".\unpacked\Corman Lisp\" 17 | rem ) else ( 18 | rem copy "%SystemRoot%\System32\mfc140.dll" ".\unpacked\Corman Lisp\" 19 | rem copy "%SystemRoot%\System32\mfcm140.dll" ".\unpacked\Corman Lisp\" 20 | rem ) 21 | rem rem Universal C Runtime 22 | rem if exist "%ProgramFiles(x86)%\" ( 23 | rem copy "%ProgramFiles(x86)%\Windows Kits\10\Redist\ucrt\DLLs\x86\*.dll" ".\unpacked\Corman Lisp\" 24 | rem ) else ( 25 | rem copy "%ProgramFiles%\Windows Kits\10\Redist\ucrt\DLLs\x86\*.dll" ".\unpacked\Corman Lisp\" 26 | rem ) 27 | 28 | powershell Compress-Archive -Path \"%~dp0unpacked\Corman Lisp\" -DestinationPath \"%~dp0CormanLispBinaries.zip\" 29 | rd /s /q .\unpacked 30 | -------------------------------------------------------------------------------- /test/classbench.lisp: -------------------------------------------------------------------------------- 1 | (defclass foo () ()) 2 | 3 | (defclass bar () (a b c)) 4 | 5 | (defclass baz () (x y)) 6 | 7 | (defgeneric gf-1-1 (a)) 8 | (defmethod gf-1-1 ((a foo))) 9 | 10 | (defgeneric gf-1-2 (a)) 11 | (defmethod gf-1-2 ((a foo))) 12 | (defmethod gf-1-2 ((a symbol))) 13 | 14 | (defgeneric gf-1-3 (a)) 15 | (defmethod gf-1-3 ((a integer))) 16 | (defmethod gf-1-3 ((a bar))) 17 | (defmethod gf-1-3 ((a t))) 18 | 19 | (defgeneric gf-2-3 (a b)) 20 | (defmethod gf-2-3 ((a integer) (b bar))) 21 | (defmethod gf-2-3 ((a foo) (b t))) 22 | (defmethod gf-2-3 ((a t) (b integer))) 23 | 24 | (defun bench-gfs () 25 | (let ((foo (make-instance 'foo)) 26 | (bar (make-instance 'bar)) 27 | (baz (make-instance 'baz))) 28 | (dotimes (i 10000) 29 | (gf-1-1 foo) 30 | (gf-1-1 foo) 31 | (gf-1-2 foo) 32 | (gf-1-2 'quux) 33 | (gf-1-3 5) 34 | (gf-1-3 foo) 35 | (gf-2-3 5 bar) 36 | (gf-2-3 foo 'quux) 37 | (gf-2-3 baz 7)))) 38 | 39 | (defun bench-slot-value () 40 | (let ((bar (make-instance 'bar)) 41 | (baz (make-instance 'baz))) 42 | (dotimes (i 100000) 43 | (setf (slot-value bar 'a) 10) 44 | (setf (slot-value baz 'y) 20) 45 | (slot-value bar 'a) 46 | (setf (slot-value bar 'c) 777) 47 | (slot-value bar 'c) 48 | (slot-value baz 'y)))) 49 | 50 | -------------------------------------------------------------------------------- /test/float-test.lisp: -------------------------------------------------------------------------------- 1 | (defun create-double-nan () (cl::%make-double-float #x7FF8000000000000)) 2 | (defun create-double-pos-inf () (cl::%make-double-float #x7FF0000000000000)) 3 | (defun create-double-neg-inf () (cl::%make-double-float #xFFF0000000000000)) 4 | (defun create-single-nan () (cl::%make-single-float #x7Fc00000)) 5 | (defun create-single-pos-inf () (cl::%make-single-float #x7F800000)) 6 | (defun create-single-neg-inf () (cl::%make-single-float #xFF800000)) 7 | (defun create-short-nan () (cl::%make-short-float #x1FF00000)) 8 | (defun create-short-pos-inf () (cl::%make-short-float #x1FE00000)) 9 | (defun create-short-neg-inf () (cl::%make-short-float #x3FE00000)) 10 | 11 | 12 | (setf ad (create-double-nan) 13 | bd (create-double-pos-inf) 14 | cd (create-double-neg-inf) 15 | af (create-single-nan) 16 | bf (create-single-pos-inf) 17 | cf (create-single-neg-inf) 18 | as (create-short-nan) 19 | bs (create-short-pos-inf) 20 | cs (create-short-neg-inf) 21 | xx nil) 22 | -------------------------------------------------------------------------------- /zlib/Makefile: -------------------------------------------------------------------------------- 1 | all: 2 | -@echo "Please use ./configure first. Thank you." 3 | 4 | distclean: 5 | make -f Makefile.in distclean 6 | -------------------------------------------------------------------------------- /zlib/contrib/ada/zlib.gpr: -------------------------------------------------------------------------------- 1 | project Zlib is 2 | 3 | for Languages use ("Ada"); 4 | for Source_Dirs use ("."); 5 | for Object_Dir use "."; 6 | for Main use ("test.adb", "mtest.adb", "read.adb", "buffer_demo"); 7 | 8 | package Compiler is 9 | for Default_Switches ("ada") use ("-gnatwcfilopru", "-gnatVcdfimorst", "-gnatyabcefhiklmnoprst"); 10 | end Compiler; 11 | 12 | package Linker is 13 | for Default_Switches ("ada") use ("-lz"); 14 | end Linker; 15 | 16 | package Builder is 17 | for Default_Switches ("ada") use ("-s", "-gnatQ"); 18 | end Builder; 19 | 20 | end Zlib; 21 | -------------------------------------------------------------------------------- /zlib/contrib/asm686/README.686: -------------------------------------------------------------------------------- 1 | This is a patched version of zlib, modified to use 2 | Pentium-Pro-optimized assembly code in the deflation algorithm. The 3 | files changed/added by this patch are: 4 | 5 | README.686 6 | match.S 7 | 8 | The speedup that this patch provides varies, depending on whether the 9 | compiler used to build the original version of zlib falls afoul of the 10 | PPro's speed traps. My own tests show a speedup of around 10-20% at 11 | the default compression level, and 20-30% using -9, against a version 12 | compiled using gcc 2.7.2.3. Your mileage may vary. 13 | 14 | Note that this code has been tailored for the PPro/PII in particular, 15 | and will not perform particuarly well on a Pentium. 16 | 17 | If you are using an assembler other than GNU as, you will have to 18 | translate match.S to use your assembler's syntax. (Have fun.) 19 | 20 | Brian Raiter 21 | breadbox@muppetlabs.com 22 | April, 1998 23 | 24 | 25 | Added for zlib 1.1.3: 26 | 27 | The patches come from 28 | http://www.muppetlabs.com/~breadbox/software/assembly.html 29 | 30 | To compile zlib with this asm file, copy match.S to the zlib directory 31 | then do: 32 | 33 | CFLAGS="-O3 -DASMV" ./configure 34 | make OBJA=match.o 35 | 36 | 37 | Update: 38 | 39 | I've been ignoring these assembly routines for years, believing that 40 | gcc's generated code had caught up with it sometime around gcc 2.95 41 | and the major rearchitecting of the Pentium 4. However, I recently 42 | learned that, despite what I believed, this code still has some life 43 | in it. On the Pentium 4 and AMD64 chips, it continues to run about 8% 44 | faster than the code produced by gcc 4.1. 45 | 46 | In acknowledgement of its continuing usefulness, I've altered the 47 | license to match that of the rest of zlib. Share and Enjoy! 48 | 49 | Brian Raiter 50 | breadbox@muppetlabs.com 51 | April, 2007 52 | -------------------------------------------------------------------------------- /zlib/contrib/blast/Makefile: -------------------------------------------------------------------------------- 1 | blast: blast.c blast.h 2 | cc -DTEST -o blast blast.c 3 | 4 | test: blast 5 | blast < test.pk | cmp - test.txt 6 | 7 | clean: 8 | rm -f blast blast.o 9 | -------------------------------------------------------------------------------- /zlib/contrib/blast/README: -------------------------------------------------------------------------------- 1 | Read blast.h for purpose and usage. 2 | 3 | Mark Adler 4 | madler@alumni.caltech.edu 5 | -------------------------------------------------------------------------------- /zlib/contrib/blast/test.pk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/zlib/contrib/blast/test.pk -------------------------------------------------------------------------------- /zlib/contrib/blast/test.txt: -------------------------------------------------------------------------------- 1 | AIAIAIAIAIAIA -------------------------------------------------------------------------------- /zlib/contrib/delphi/ZLibConst.pas: -------------------------------------------------------------------------------- 1 | unit ZLibConst; 2 | 3 | interface 4 | 5 | resourcestring 6 | sTargetBufferTooSmall = 'ZLib error: target buffer may be too small'; 7 | sInvalidStreamOp = 'Invalid stream operation'; 8 | 9 | implementation 10 | 11 | end. 12 | -------------------------------------------------------------------------------- /zlib/contrib/dotzlib/DotZLib.build: -------------------------------------------------------------------------------- 1 |  2 | 3 | A .Net wrapper library around ZLib1.dll 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /zlib/contrib/dotzlib/DotZLib.chm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/zlib/contrib/dotzlib/DotZLib.chm -------------------------------------------------------------------------------- /zlib/contrib/dotzlib/DotZLib.sln: -------------------------------------------------------------------------------- 1 | Microsoft Visual Studio Solution File, Format Version 8.00 2 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DotZLib", "DotZLib\DotZLib.csproj", "{BB1EE0B1-1808-46CB-B786-949D91117FC5}" 3 | ProjectSection(ProjectDependencies) = postProject 4 | EndProjectSection 5 | EndProject 6 | Global 7 | GlobalSection(SolutionConfiguration) = preSolution 8 | Debug = Debug 9 | Release = Release 10 | EndGlobalSection 11 | GlobalSection(ProjectConfiguration) = postSolution 12 | {BB1EE0B1-1808-46CB-B786-949D91117FC5}.Debug.ActiveCfg = Debug|.NET 13 | {BB1EE0B1-1808-46CB-B786-949D91117FC5}.Debug.Build.0 = Debug|.NET 14 | {BB1EE0B1-1808-46CB-B786-949D91117FC5}.Release.ActiveCfg = Release|.NET 15 | {BB1EE0B1-1808-46CB-B786-949D91117FC5}.Release.Build.0 = Release|.NET 16 | EndGlobalSection 17 | GlobalSection(ExtensibilityGlobals) = postSolution 18 | EndGlobalSection 19 | GlobalSection(ExtensibilityAddIns) = postSolution 20 | EndGlobalSection 21 | EndGlobal 22 | -------------------------------------------------------------------------------- /zlib/contrib/dotzlib/DotZLib/ChecksumImpl.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/zlib/contrib/dotzlib/DotZLib/ChecksumImpl.cs -------------------------------------------------------------------------------- /zlib/contrib/dotzlib/DotZLib/CircularBuffer.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/zlib/contrib/dotzlib/DotZLib/CircularBuffer.cs -------------------------------------------------------------------------------- /zlib/contrib/dotzlib/DotZLib/CodecBase.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/zlib/contrib/dotzlib/DotZLib/CodecBase.cs -------------------------------------------------------------------------------- /zlib/contrib/dotzlib/DotZLib/Deflater.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/zlib/contrib/dotzlib/DotZLib/Deflater.cs -------------------------------------------------------------------------------- /zlib/contrib/dotzlib/DotZLib/DotZLib.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/zlib/contrib/dotzlib/DotZLib/DotZLib.cs -------------------------------------------------------------------------------- /zlib/contrib/dotzlib/DotZLib/GZipStream.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/zlib/contrib/dotzlib/DotZLib/GZipStream.cs -------------------------------------------------------------------------------- /zlib/contrib/dotzlib/DotZLib/Inflater.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/zlib/contrib/dotzlib/DotZLib/Inflater.cs -------------------------------------------------------------------------------- /zlib/contrib/dotzlib/LICENSE_1_0.txt: -------------------------------------------------------------------------------- 1 | Boost Software License - Version 1.0 - August 17th, 2003 2 | 3 | Permission is hereby granted, free of charge, to any person or organization 4 | obtaining a copy of the software and accompanying documentation covered by 5 | this license (the "Software") to use, reproduce, display, distribute, 6 | execute, and transmit the Software, and to prepare derivative works of the 7 | Software, and to permit third-parties to whom the Software is furnished to 8 | do so, all subject to the following: 9 | 10 | The copyright notices in the Software and this entire statement, including 11 | the above license grant, this restriction and the following disclaimer, 12 | must be included in all copies of the Software, in whole or in part, and 13 | all derivative works of the Software, unless such copies or derivative 14 | works are solely in the form of machine-executable object code generated by 15 | a source language processor. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT 20 | SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE 21 | FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, 22 | ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 23 | DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /zlib/contrib/infback9/README: -------------------------------------------------------------------------------- 1 | See infback9.h for what this is and how to use it. 2 | -------------------------------------------------------------------------------- /zlib/contrib/infback9/infback9.h: -------------------------------------------------------------------------------- 1 | /* infback9.h -- header for using inflateBack9 functions 2 | * Copyright (C) 2003 Mark Adler 3 | * For conditions of distribution and use, see copyright notice in zlib.h 4 | */ 5 | 6 | /* 7 | * This header file and associated patches provide a decoder for PKWare's 8 | * undocumented deflate64 compression method (method 9). Use with infback9.c, 9 | * inftree9.h, inftree9.c, and inffix9.h. These patches are not supported. 10 | * This should be compiled with zlib, since it uses zutil.h and zutil.o. 11 | * This code has not yet been tested on 16-bit architectures. See the 12 | * comments in zlib.h for inflateBack() usage. These functions are used 13 | * identically, except that there is no windowBits parameter, and a 64K 14 | * window must be provided. Also if int's are 16 bits, then a zero for 15 | * the third parameter of the "out" function actually means 65536UL. 16 | * zlib.h must be included before this header file. 17 | */ 18 | 19 | #ifdef __cplusplus 20 | extern "C" { 21 | #endif 22 | 23 | ZEXTERN int ZEXPORT inflateBack9 OF((z_stream FAR *strm, 24 | in_func in, void FAR *in_desc, 25 | out_func out, void FAR *out_desc)); 26 | ZEXTERN int ZEXPORT inflateBack9End OF((z_stream FAR *strm)); 27 | ZEXTERN int ZEXPORT inflateBack9Init_ OF((z_stream FAR *strm, 28 | unsigned char FAR *window, 29 | const char *version, 30 | int stream_size)); 31 | #define inflateBack9Init(strm, window) \ 32 | inflateBack9Init_((strm), (window), \ 33 | ZLIB_VERSION, sizeof(z_stream)) 34 | 35 | #ifdef __cplusplus 36 | } 37 | #endif 38 | -------------------------------------------------------------------------------- /zlib/contrib/iostream/test.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include "zfstream.h" 3 | 4 | int main() { 5 | 6 | // Construct a stream object with this filebuffer. Anything sent 7 | // to this stream will go to standard out. 8 | gzofstream os( 1, ios::out ); 9 | 10 | // This text is getting compressed and sent to stdout. 11 | // To prove this, run 'test | zcat'. 12 | os << "Hello, Mommy" << endl; 13 | 14 | os << setcompressionlevel( Z_NO_COMPRESSION ); 15 | os << "hello, hello, hi, ho!" << endl; 16 | 17 | setcompressionlevel( os, Z_DEFAULT_COMPRESSION ) 18 | << "I'm compressing again" << endl; 19 | 20 | os.close(); 21 | 22 | return 0; 23 | 24 | } 25 | -------------------------------------------------------------------------------- /zlib/contrib/iostream2/zstream_test.cpp: -------------------------------------------------------------------------------- 1 | #include "zstream.h" 2 | #include 3 | #include 4 | #include 5 | 6 | void main() { 7 | char h[256] = "Hello"; 8 | char* g = "Goodbye"; 9 | ozstream out("temp.gz"); 10 | out < "This works well" < h < g; 11 | out.close(); 12 | 13 | izstream in("temp.gz"); // read it back 14 | char *x = read_string(in), *y = new char[256], z[256]; 15 | in > y > z; 16 | in.close(); 17 | cout << x << endl << y << endl << z << endl; 18 | 19 | out.open("temp.gz"); // try ascii output; zcat temp.gz to see the results 20 | out << setw(50) << setfill('#') << setprecision(20) << x << endl << y << endl << z << endl; 21 | out << z << endl << y << endl << x << endl; 22 | out << 1.1234567890123456789 << endl; 23 | 24 | delete[] x; delete[] y; 25 | } 26 | -------------------------------------------------------------------------------- /zlib/contrib/iostream3/README: -------------------------------------------------------------------------------- 1 | These classes provide a C++ stream interface to the zlib library. It allows you 2 | to do things like: 3 | 4 | gzofstream outf("blah.gz"); 5 | outf << "These go into the gzip file " << 123 << endl; 6 | 7 | It does this by deriving a specialized stream buffer for gzipped files, which is 8 | the way Stroustrup would have done it. :-> 9 | 10 | The gzifstream and gzofstream classes were originally written by Kevin Ruland 11 | and made available in the zlib contrib/iostream directory. The older version still 12 | compiles under gcc 2.xx, but not under gcc 3.xx, which sparked the development of 13 | this version. 14 | 15 | The new classes are as standard-compliant as possible, closely following the 16 | approach of the standard library's fstream classes. It compiles under gcc versions 17 | 3.2 and 3.3, but not under gcc 2.xx. This is mainly due to changes in the standard 18 | library naming scheme. The new version of gzifstream/gzofstream/gzfilebuf differs 19 | from the previous one in the following respects: 20 | - added showmanyc 21 | - added setbuf, with support for unbuffered output via setbuf(0,0) 22 | - a few bug fixes of stream behavior 23 | - gzipped output file opened with default compression level instead of maximum level 24 | - setcompressionlevel()/strategy() members replaced by single setcompression() 25 | 26 | The code is provided "as is", with the permission to use, copy, modify, distribute 27 | and sell it for any purpose without fee. 28 | 29 | Ludwig Schwardt 30 | 31 | 32 | DSP Lab 33 | Electrical & Electronic Engineering Department 34 | University of Stellenbosch 35 | South Africa 36 | -------------------------------------------------------------------------------- /zlib/contrib/iostream3/TODO: -------------------------------------------------------------------------------- 1 | Possible upgrades to gzfilebuf: 2 | 3 | - The ability to do putback (e.g. putbackfail) 4 | 5 | - The ability to seek (zlib supports this, but could be slow/tricky) 6 | 7 | - Simultaneous read/write access (does it make sense?) 8 | 9 | - Support for ios_base::ate open mode 10 | 11 | - Locale support? 12 | 13 | - Check public interface to see which calls give problems 14 | (due to dependence on library internals) 15 | 16 | - Override operator<<(ostream&, gzfilebuf*) to allow direct copying 17 | of stream buffer to stream ( i.e. os << is.rdbuf(); ) 18 | -------------------------------------------------------------------------------- /zlib/contrib/iostream3/test.cc: -------------------------------------------------------------------------------- 1 | /* 2 | * Test program for gzifstream and gzofstream 3 | * 4 | * by Ludwig Schwardt 5 | * original version by Kevin Ruland 6 | */ 7 | 8 | #include "zfstream.h" 9 | #include // for cout 10 | 11 | int main() { 12 | 13 | gzofstream outf; 14 | gzifstream inf; 15 | char buf[80]; 16 | 17 | outf.open("test1.txt.gz"); 18 | outf << "The quick brown fox sidestepped the lazy canine\n" 19 | << 1.3 << "\nPlan " << 9 << std::endl; 20 | outf.close(); 21 | std::cout << "Wrote the following message to 'test1.txt.gz' (check with zcat or zless):\n" 22 | << "The quick brown fox sidestepped the lazy canine\n" 23 | << 1.3 << "\nPlan " << 9 << std::endl; 24 | 25 | std::cout << "\nReading 'test1.txt.gz' (buffered) produces:\n"; 26 | inf.open("test1.txt.gz"); 27 | while (inf.getline(buf,80,'\n')) { 28 | std::cout << buf << "\t(" << inf.rdbuf()->in_avail() << " chars left in buffer)\n"; 29 | } 30 | inf.close(); 31 | 32 | outf.rdbuf()->pubsetbuf(0,0); 33 | outf.open("test2.txt.gz"); 34 | outf << setcompression(Z_NO_COMPRESSION) 35 | << "The quick brown fox sidestepped the lazy canine\n" 36 | << 1.3 << "\nPlan " << 9 << std::endl; 37 | outf.close(); 38 | std::cout << "\nWrote the same message to 'test2.txt.gz' in uncompressed form"; 39 | 40 | std::cout << "\nReading 'test2.txt.gz' (unbuffered) produces:\n"; 41 | inf.rdbuf()->pubsetbuf(0,0); 42 | inf.open("test2.txt.gz"); 43 | while (inf.getline(buf,80,'\n')) { 44 | std::cout << buf << "\t(" << inf.rdbuf()->in_avail() << " chars left in buffer)\n"; 45 | } 46 | inf.close(); 47 | 48 | return 0; 49 | 50 | } 51 | -------------------------------------------------------------------------------- /zlib/contrib/masmx64/bld_ml64.bat: -------------------------------------------------------------------------------- 1 | ml64.exe /Flinffasx64 /c /Zi inffasx64.asm 2 | ml64.exe /Flgvmat64 /c /Zi gvmat64.asm 3 | -------------------------------------------------------------------------------- /zlib/contrib/masmx64/readme.txt: -------------------------------------------------------------------------------- 1 | Summary 2 | ------- 3 | This directory contains ASM implementations of the functions 4 | longest_match() and inflate_fast(), for 64 bits x86 (both AMD64 and Intel EM64t), 5 | for use with Microsoft Macro Assembler (x64) for AMD64 and Microsoft C++ 64 bits. 6 | 7 | gvmat64.asm is written by Gilles Vollant (2005), by using Brian Raiter 686/32 bits 8 | assembly optimized version from Jean-loup Gailly original longest_match function 9 | 10 | inffasx64.asm and inffas8664.c were written by Chris Anderson, by optimizing 11 | original function from Mark Adler 12 | 13 | Use instructions 14 | ---------------- 15 | Assemble the .asm files using MASM and put the object files into the zlib source 16 | directory. You can also get object files here: 17 | 18 | http://www.winimage.com/zLibDll/zlib124_masm_obj.zip 19 | 20 | define ASMV and ASMINF in your project. Include inffas8664.c in your source tree, 21 | and inffasx64.obj and gvmat64.obj as object to link. 22 | 23 | 24 | Build instructions 25 | ------------------ 26 | run bld_64.bat with Microsoft Macro Assembler (x64) for AMD64 (ml64.exe) 27 | 28 | ml64.exe is given with Visual Studio 2005, Windows 2003 server DDK 29 | 30 | You can get Windows 2003 server DDK with ml64 and cl for AMD64 from 31 | http://www.microsoft.com/whdc/devtools/ddk/default.mspx for low price) 32 | -------------------------------------------------------------------------------- /zlib/contrib/masmx86/bld_ml32.bat: -------------------------------------------------------------------------------- 1 | ml /coff /Zi /c /Flmatch686.lst match686.asm 2 | ml /coff /Zi /c /Flinffas32.lst inffas32.asm 3 | -------------------------------------------------------------------------------- /zlib/contrib/masmx86/readme.txt: -------------------------------------------------------------------------------- 1 | 2 | Summary 3 | ------- 4 | This directory contains ASM implementations of the functions 5 | longest_match() and inflate_fast(). 6 | 7 | 8 | Use instructions 9 | ---------------- 10 | Assemble using MASM, and copy the object files into the zlib source 11 | directory, then run the appropriate makefile, as suggested below. You can 12 | donwload MASM from here: 13 | 14 | http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=7a1c9da0-0510-44a2-b042-7ef370530c64 15 | 16 | You can also get objects files here: 17 | 18 | http://www.winimage.com/zLibDll/zlib124_masm_obj.zip 19 | 20 | Build instructions 21 | ------------------ 22 | * With Microsoft C and MASM: 23 | nmake -f win32/Makefile.msc LOC="-DASMV -DASMINF" OBJA="match686.obj inffas32.obj" 24 | 25 | * With Borland C and TASM: 26 | make -f win32/Makefile.bor LOCAL_ZLIB="-DASMV -DASMINF" OBJA="match686.obj inffas32.obj" OBJPA="+match686c.obj+match686.obj+inffas32.obj" 27 | 28 | -------------------------------------------------------------------------------- /zlib/contrib/minizip/Makefile: -------------------------------------------------------------------------------- 1 | CC=cc 2 | CFLAGS=-O -I../.. 3 | 4 | UNZ_OBJS = miniunz.o unzip.o ioapi.o ../../libz.a 5 | ZIP_OBJS = minizip.o zip.o ioapi.o ../../libz.a 6 | 7 | .c.o: 8 | $(CC) -c $(CFLAGS) $*.c 9 | 10 | all: miniunz minizip 11 | 12 | miniunz: $(UNZ_OBJS) 13 | $(CC) $(CFLAGS) -o $@ $(UNZ_OBJS) 14 | 15 | minizip: $(ZIP_OBJS) 16 | $(CC) $(CFLAGS) -o $@ $(ZIP_OBJS) 17 | 18 | test: miniunz minizip 19 | ./minizip test readme.txt 20 | ./miniunz -l test.zip 21 | mv readme.txt readme.old 22 | ./miniunz test.zip 23 | 24 | clean: 25 | /bin/rm -f *.o *~ minizip miniunz 26 | -------------------------------------------------------------------------------- /zlib/contrib/minizip/Makefile.am: -------------------------------------------------------------------------------- 1 | lib_LTLIBRARIES = libminizip.la 2 | 3 | if COND_DEMOS 4 | bin_PROGRAMS = miniunzip minizip 5 | endif 6 | 7 | zlib_top_srcdir = $(top_srcdir)/../.. 8 | zlib_top_builddir = $(top_builddir)/../.. 9 | 10 | AM_CPPFLAGS = -I$(zlib_top_srcdir) 11 | AM_LDFLAGS = -L$(zlib_top_builddir) 12 | 13 | if WIN32 14 | iowin32_src = iowin32.c 15 | iowin32_h = iowin32.h 16 | endif 17 | 18 | libminizip_la_SOURCES = \ 19 | ioapi.c \ 20 | mztools.c \ 21 | unzip.c \ 22 | zip.c \ 23 | ${iowin32_src} 24 | 25 | libminizip_la_LDFLAGS = $(AM_LDFLAGS) -version-info 1:0:0 -lz 26 | 27 | minizip_includedir = $(includedir)/minizip 28 | minizip_include_HEADERS = \ 29 | crypt.h \ 30 | ioapi.h \ 31 | mztools.h \ 32 | unzip.h \ 33 | zip.h \ 34 | ${iowin32_h} 35 | 36 | pkgconfigdir = $(libdir)/pkgconfig 37 | pkgconfig_DATA = minizip.pc 38 | 39 | EXTRA_PROGRAMS = miniunzip minizip 40 | 41 | miniunzip_SOURCES = miniunz.c 42 | miniunzip_LDADD = libminizip.la 43 | 44 | minizip_SOURCES = minizip.c 45 | minizip_LDADD = libminizip.la -lz 46 | -------------------------------------------------------------------------------- /zlib/contrib/minizip/MiniZip64_Changes.txt: -------------------------------------------------------------------------------- 1 | 2 | MiniZip 1.1 was derrived from MiniZip at version 1.01f 3 | 4 | Change in 1.0 (Okt 2009) 5 | - **TODO - Add history** 6 | 7 | -------------------------------------------------------------------------------- /zlib/contrib/minizip/configure.ac: -------------------------------------------------------------------------------- 1 | # -*- Autoconf -*- 2 | # Process this file with autoconf to produce a configure script. 3 | 4 | AC_INIT([minizip], [1.2.11], [bugzilla.redhat.com]) 5 | AC_CONFIG_SRCDIR([minizip.c]) 6 | AM_INIT_AUTOMAKE([foreign]) 7 | LT_INIT 8 | 9 | AC_MSG_CHECKING([whether to build example programs]) 10 | AC_ARG_ENABLE([demos], AC_HELP_STRING([--enable-demos], [build example programs])) 11 | AM_CONDITIONAL([COND_DEMOS], [test "$enable_demos" = yes]) 12 | if test "$enable_demos" = yes 13 | then 14 | AC_MSG_RESULT([yes]) 15 | else 16 | AC_MSG_RESULT([no]) 17 | fi 18 | 19 | case "${host}" in 20 | *-mingw* | mingw*) 21 | WIN32="yes" 22 | ;; 23 | *) 24 | ;; 25 | esac 26 | AM_CONDITIONAL([WIN32], [test "${WIN32}" = "yes"]) 27 | 28 | 29 | AC_SUBST([HAVE_UNISTD_H], [0]) 30 | AC_CHECK_HEADER([unistd.h], [HAVE_UNISTD_H=1], []) 31 | AC_CONFIG_FILES([Makefile minizip.pc]) 32 | AC_OUTPUT 33 | -------------------------------------------------------------------------------- /zlib/contrib/minizip/iowin32.h: -------------------------------------------------------------------------------- 1 | /* iowin32.h -- IO base function header for compress/uncompress .zip 2 | Version 1.1, February 14h, 2010 3 | part of the MiniZip project - ( http://www.winimage.com/zLibDll/minizip.html ) 4 | 5 | Copyright (C) 1998-2010 Gilles Vollant (minizip) ( http://www.winimage.com/zLibDll/minizip.html ) 6 | 7 | Modifications for Zip64 support 8 | Copyright (C) 2009-2010 Mathias Svensson ( http://result42.com ) 9 | 10 | For more info read MiniZip_info.txt 11 | 12 | */ 13 | 14 | #include 15 | 16 | 17 | #ifdef __cplusplus 18 | extern "C" { 19 | #endif 20 | 21 | void fill_win32_filefunc OF((zlib_filefunc_def* pzlib_filefunc_def)); 22 | void fill_win32_filefunc64 OF((zlib_filefunc64_def* pzlib_filefunc_def)); 23 | void fill_win32_filefunc64A OF((zlib_filefunc64_def* pzlib_filefunc_def)); 24 | void fill_win32_filefunc64W OF((zlib_filefunc64_def* pzlib_filefunc_def)); 25 | 26 | #ifdef __cplusplus 27 | } 28 | #endif 29 | -------------------------------------------------------------------------------- /zlib/contrib/minizip/make_vms.com: -------------------------------------------------------------------------------- 1 | $ if f$search("ioapi.h_orig") .eqs. "" then copy ioapi.h ioapi.h_orig 2 | $ open/write zdef vmsdefs.h 3 | $ copy sys$input: zdef 4 | $ deck 5 | #define unix 6 | #define fill_zlib_filefunc64_32_def_from_filefunc32 fillzffunc64from 7 | #define Write_Zip64EndOfCentralDirectoryLocator Write_Zip64EoDLocator 8 | #define Write_Zip64EndOfCentralDirectoryRecord Write_Zip64EoDRecord 9 | #define Write_EndOfCentralDirectoryRecord Write_EoDRecord 10 | $ eod 11 | $ close zdef 12 | $ copy vmsdefs.h,ioapi.h_orig ioapi.h 13 | $ cc/include=[--]/prefix=all ioapi.c 14 | $ cc/include=[--]/prefix=all miniunz.c 15 | $ cc/include=[--]/prefix=all unzip.c 16 | $ cc/include=[--]/prefix=all minizip.c 17 | $ cc/include=[--]/prefix=all zip.c 18 | $ link miniunz,unzip,ioapi,[--]libz.olb/lib 19 | $ link minizip,zip,ioapi,[--]libz.olb/lib 20 | $ mcr []minizip test minizip_info.txt 21 | $ mcr []miniunz -l test.zip 22 | $ rename minizip_info.txt; minizip_info.txt_old 23 | $ mcr []miniunz test.zip 24 | $ delete test.zip;* 25 | $exit 26 | -------------------------------------------------------------------------------- /zlib/contrib/minizip/minizip.1: -------------------------------------------------------------------------------- 1 | .\" Hey, EMACS: -*- nroff -*- 2 | .TH minizip 1 "May 2, 2001" 3 | .\" Please adjust this date whenever revising the manpage. 4 | .\" 5 | .\" Some roff macros, for reference: 6 | .\" .nh disable hyphenation 7 | .\" .hy enable hyphenation 8 | .\" .ad l left justify 9 | .\" .ad b justify to both left and right margins 10 | .\" .nf disable filling 11 | .\" .fi enable filling 12 | .\" .br insert line break 13 | .\" .sp insert n+1 empty lines 14 | .\" for manpage-specific macros, see man(7) 15 | .SH NAME 16 | minizip - create ZIP archives 17 | .SH SYNOPSIS 18 | .B minizip 19 | .RI [ -o ] 20 | zipfile [ " files" ... ] 21 | .SH DESCRIPTION 22 | .B minizip 23 | is a simple tool which allows the creation of compressed file archives 24 | in the ZIP format used by the MS-DOS utility PKZIP. It was written as 25 | a demonstration of the 26 | .IR zlib (3) 27 | library and therefore lack many of the features of the 28 | .IR zip (1) 29 | program. 30 | .SH OPTIONS 31 | The first argument supplied is the name of the ZIP archive to create or 32 | .RI -o 33 | in which case it is ignored and the second argument treated as the 34 | name of the ZIP file. If the ZIP file already exists it will be 35 | overwritten. 36 | .PP 37 | Subsequent arguments specify a list of files to place in the ZIP 38 | archive. If none are specified then an empty archive will be created. 39 | .SH SEE ALSO 40 | .BR miniunzip (1), 41 | .BR zlib (3), 42 | .BR zip (1). 43 | .SH AUTHOR 44 | This program was written by Gilles Vollant. This manual page was 45 | written by Mark Brown . 46 | 47 | -------------------------------------------------------------------------------- /zlib/contrib/minizip/minizip.pc.in: -------------------------------------------------------------------------------- 1 | prefix=@prefix@ 2 | exec_prefix=@exec_prefix@ 3 | libdir=@libdir@ 4 | includedir=@includedir@/minizip 5 | 6 | Name: minizip 7 | Description: Minizip zip file manipulation library 8 | Requires: 9 | Version: @PACKAGE_VERSION@ 10 | Libs: -L${libdir} -lminizip 11 | Libs.private: -lz 12 | Cflags: -I${includedir} 13 | -------------------------------------------------------------------------------- /zlib/contrib/minizip/mztools.h: -------------------------------------------------------------------------------- 1 | /* 2 | Additional tools for Minizip 3 | Code: Xavier Roche '2004 4 | License: Same as ZLIB (www.gzip.org) 5 | */ 6 | 7 | #ifndef _zip_tools_H 8 | #define _zip_tools_H 9 | 10 | #ifdef __cplusplus 11 | extern "C" { 12 | #endif 13 | 14 | #ifndef _ZLIB_H 15 | #include "zlib.h" 16 | #endif 17 | 18 | #include "unzip.h" 19 | 20 | /* Repair a ZIP file (missing central directory) 21 | file: file to recover 22 | fileOut: output file after recovery 23 | fileOutTmp: temporary file name used for recovery 24 | */ 25 | extern int ZEXPORT unzRepair(const char* file, 26 | const char* fileOut, 27 | const char* fileOutTmp, 28 | uLong* nRecovered, 29 | uLong* bytesRecovered); 30 | 31 | 32 | #ifdef __cplusplus 33 | } 34 | #endif 35 | 36 | 37 | #endif 38 | -------------------------------------------------------------------------------- /zlib/contrib/puff/puff.h: -------------------------------------------------------------------------------- 1 | /* puff.h 2 | Copyright (C) 2002-2013 Mark Adler, all rights reserved 3 | version 2.3, 21 Jan 2013 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the author be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would be 16 | appreciated but is not required. 17 | 2. Altered source versions must be plainly marked as such, and must not be 18 | misrepresented as being the original software. 19 | 3. This notice may not be removed or altered from any source distribution. 20 | 21 | Mark Adler madler@alumni.caltech.edu 22 | */ 23 | 24 | 25 | /* 26 | * See puff.c for purpose and usage. 27 | */ 28 | #ifndef NIL 29 | # define NIL ((unsigned char *)0) /* for no output option */ 30 | #endif 31 | 32 | int puff(unsigned char *dest, /* pointer to destination pointer */ 33 | unsigned long *destlen, /* amount of output space */ 34 | const unsigned char *source, /* pointer to source data pointer */ 35 | unsigned long *sourcelen); /* amount of input available */ 36 | -------------------------------------------------------------------------------- /zlib/contrib/puff/zeros.raw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/zlib/contrib/puff/zeros.raw -------------------------------------------------------------------------------- /zlib/contrib/testzlib/testzlib.txt: -------------------------------------------------------------------------------- 1 | To build testzLib with Visual Studio 2005: 2 | 3 | copy to a directory file from : 4 | - root of zLib tree 5 | - contrib/testzlib 6 | - contrib/masmx86 7 | - contrib/masmx64 8 | - contrib/vstudio/vc7 9 | 10 | and open testzlib8.sln -------------------------------------------------------------------------------- /zlib/contrib/untgz/Makefile: -------------------------------------------------------------------------------- 1 | CC=cc 2 | CFLAGS=-g 3 | 4 | untgz: untgz.o ../../libz.a 5 | $(CC) $(CFLAGS) -o untgz untgz.o -L../.. -lz 6 | 7 | untgz.o: untgz.c ../../zlib.h 8 | $(CC) $(CFLAGS) -c -I../.. untgz.c 9 | 10 | ../../libz.a: 11 | cd ../..; ./configure; make 12 | 13 | clean: 14 | rm -f untgz untgz.o *~ 15 | -------------------------------------------------------------------------------- /zlib/contrib/untgz/Makefile.msc: -------------------------------------------------------------------------------- 1 | CC=cl 2 | CFLAGS=-MD 3 | 4 | untgz.exe: untgz.obj ..\..\zlib.lib 5 | $(CC) $(CFLAGS) untgz.obj ..\..\zlib.lib 6 | 7 | untgz.obj: untgz.c ..\..\zlib.h 8 | $(CC) $(CFLAGS) -c -I..\.. untgz.c 9 | 10 | ..\..\zlib.lib: 11 | cd ..\.. 12 | $(MAKE) -f win32\makefile.msc 13 | cd contrib\untgz 14 | 15 | clean: 16 | -del untgz.obj 17 | -del untgz.exe 18 | -------------------------------------------------------------------------------- /zlib/contrib/vstudio/vc10/miniunz.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {048af943-022b-4db6-beeb-a54c34774ee2} 6 | cpp;c;cxx;def;odl;idl;hpj;bat;asm 7 | 8 | 9 | {c1d600d2-888f-4aea-b73e-8b0dd9befa0c} 10 | h;hpp;hxx;hm;inl;inc 11 | 12 | 13 | {0844199a-966b-4f19-81db-1e0125e141b9} 14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe 15 | 16 | 17 | 18 | 19 | Source Files 20 | 21 | 22 | -------------------------------------------------------------------------------- /zlib/contrib/vstudio/vc10/minizip.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {c0419b40-bf50-40da-b153-ff74215b79de} 6 | cpp;c;cxx;def;odl;idl;hpj;bat;asm 7 | 8 | 9 | {bb87b070-735b-478e-92ce-7383abb2f36c} 10 | h;hpp;hxx;hm;inl;inc 11 | 12 | 13 | {f46ab6a6-548f-43cb-ae96-681abb5bd5db} 14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe 15 | 16 | 17 | 18 | 19 | Source Files 20 | 21 | 22 | -------------------------------------------------------------------------------- /zlib/contrib/vstudio/vc10/testzlibdll.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {fa61a89f-93fc-4c89-b29e-36224b7592f4} 6 | cpp;c;cxx;def;odl;idl;hpj;bat;asm 7 | 8 | 9 | {d4b85da0-2ba2-4934-b57f-e2584e3848ee} 10 | h;hpp;hxx;hm;inl;inc 11 | 12 | 13 | {e573e075-00bd-4a7d-bd67-a8cc9bfc5aca} 14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe 15 | 16 | 17 | 18 | 19 | Source Files 20 | 21 | 22 | -------------------------------------------------------------------------------- /zlib/contrib/vstudio/vc10/zlib.rc: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #define IDR_VERSION1 1 4 | IDR_VERSION1 VERSIONINFO MOVEABLE IMPURE LOADONCALL DISCARDABLE 5 | FILEVERSION 1, 2, 11, 0 6 | PRODUCTVERSION 1, 2, 11, 0 7 | FILEFLAGSMASK VS_FFI_FILEFLAGSMASK 8 | FILEFLAGS 0 9 | FILEOS VOS_DOS_WINDOWS32 10 | FILETYPE VFT_DLL 11 | FILESUBTYPE 0 // not used 12 | BEGIN 13 | BLOCK "StringFileInfo" 14 | BEGIN 15 | BLOCK "040904E4" 16 | //language ID = U.S. English, char set = Windows, Multilingual 17 | 18 | BEGIN 19 | VALUE "FileDescription", "zlib data compression and ZIP file I/O library\0" 20 | VALUE "FileVersion", "1.2.11\0" 21 | VALUE "InternalName", "zlib\0" 22 | VALUE "OriginalFilename", "zlibwapi.dll\0" 23 | VALUE "ProductName", "ZLib.DLL\0" 24 | VALUE "Comments","DLL support by Alessandro Iacopetti & Gilles Vollant\0" 25 | VALUE "LegalCopyright", "(C) 1995-2017 Jean-loup Gailly & Mark Adler\0" 26 | END 27 | END 28 | BLOCK "VarFileInfo" 29 | BEGIN 30 | VALUE "Translation", 0x0409, 1252 31 | END 32 | END 33 | -------------------------------------------------------------------------------- /zlib/contrib/vstudio/vc11/zlib.rc: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #define IDR_VERSION1 1 4 | IDR_VERSION1 VERSIONINFO MOVEABLE IMPURE LOADONCALL DISCARDABLE 5 | FILEVERSION 1, 2, 11, 0 6 | PRODUCTVERSION 1, 2, 11, 0 7 | FILEFLAGSMASK VS_FFI_FILEFLAGSMASK 8 | FILEFLAGS 0 9 | FILEOS VOS_DOS_WINDOWS32 10 | FILETYPE VFT_DLL 11 | FILESUBTYPE 0 // not used 12 | BEGIN 13 | BLOCK "StringFileInfo" 14 | BEGIN 15 | BLOCK "040904E4" 16 | //language ID = U.S. English, char set = Windows, Multilingual 17 | 18 | BEGIN 19 | VALUE "FileDescription", "zlib data compression and ZIP file I/O library\0" 20 | VALUE "FileVersion", "1.2.11\0" 21 | VALUE "InternalName", "zlib\0" 22 | VALUE "OriginalFilename", "zlibwapi.dll\0" 23 | VALUE "ProductName", "ZLib.DLL\0" 24 | VALUE "Comments","DLL support by Alessandro Iacopetti & Gilles Vollant\0" 25 | VALUE "LegalCopyright", "(C) 1995-2017 Jean-loup Gailly & Mark Adler\0" 26 | END 27 | END 28 | BLOCK "VarFileInfo" 29 | BEGIN 30 | VALUE "Translation", 0x0409, 1252 31 | END 32 | END 33 | -------------------------------------------------------------------------------- /zlib/contrib/vstudio/vc12/zlib.rc: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #define IDR_VERSION1 1 4 | IDR_VERSION1 VERSIONINFO MOVEABLE IMPURE LOADONCALL DISCARDABLE 5 | FILEVERSION 1, 2, 11, 0 6 | PRODUCTVERSION 1, 2, 11, 0 7 | FILEFLAGSMASK VS_FFI_FILEFLAGSMASK 8 | FILEFLAGS 0 9 | FILEOS VOS_DOS_WINDOWS32 10 | FILETYPE VFT_DLL 11 | FILESUBTYPE 0 // not used 12 | BEGIN 13 | BLOCK "StringFileInfo" 14 | BEGIN 15 | BLOCK "040904E4" 16 | //language ID = U.S. English, char set = Windows, Multilingual 17 | 18 | BEGIN 19 | VALUE "FileDescription", "zlib data compression and ZIP file I/O library\0" 20 | VALUE "FileVersion", "1.2.11\0" 21 | VALUE "InternalName", "zlib\0" 22 | VALUE "OriginalFilename", "zlibwapi.dll\0" 23 | VALUE "ProductName", "ZLib.DLL\0" 24 | VALUE "Comments","DLL support by Alessandro Iacopetti & Gilles Vollant\0" 25 | VALUE "LegalCopyright", "(C) 1995-2017 Jean-loup Gailly & Mark Adler\0" 26 | END 27 | END 28 | BLOCK "VarFileInfo" 29 | BEGIN 30 | VALUE "Translation", 0x0409, 1252 31 | END 32 | END 33 | -------------------------------------------------------------------------------- /zlib/contrib/vstudio/vc14/zlib.rc: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #define IDR_VERSION1 1 4 | IDR_VERSION1 VERSIONINFO MOVEABLE IMPURE LOADONCALL DISCARDABLE 5 | FILEVERSION 1, 2, 11, 0 6 | PRODUCTVERSION 1, 2, 11, 0 7 | FILEFLAGSMASK VS_FFI_FILEFLAGSMASK 8 | FILEFLAGS 0 9 | FILEOS VOS_DOS_WINDOWS32 10 | FILETYPE VFT_DLL 11 | FILESUBTYPE 0 // not used 12 | BEGIN 13 | BLOCK "StringFileInfo" 14 | BEGIN 15 | BLOCK "040904E4" 16 | //language ID = U.S. English, char set = Windows, Multilingual 17 | 18 | BEGIN 19 | VALUE "FileDescription", "zlib data compression and ZIP file I/O library\0" 20 | VALUE "FileVersion", "1.2.11\0" 21 | VALUE "InternalName", "zlib\0" 22 | VALUE "OriginalFilename", "zlibwapi.dll\0" 23 | VALUE "ProductName", "ZLib.DLL\0" 24 | VALUE "Comments","DLL support by Alessandro Iacopetti & Gilles Vollant\0" 25 | VALUE "LegalCopyright", "(C) 1995-2017 Jean-loup Gailly & Mark Adler\0" 26 | END 27 | END 28 | BLOCK "VarFileInfo" 29 | BEGIN 30 | VALUE "Translation", 0x0409, 1252 31 | END 32 | END 33 | -------------------------------------------------------------------------------- /zlib/contrib/vstudio/vc9/zlib.rc: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #define IDR_VERSION1 1 4 | IDR_VERSION1 VERSIONINFO MOVEABLE IMPURE LOADONCALL DISCARDABLE 5 | FILEVERSION 1, 2, 11, 0 6 | PRODUCTVERSION 1, 2, 11, 0 7 | FILEFLAGSMASK VS_FFI_FILEFLAGSMASK 8 | FILEFLAGS 0 9 | FILEOS VOS_DOS_WINDOWS32 10 | FILETYPE VFT_DLL 11 | FILESUBTYPE 0 // not used 12 | BEGIN 13 | BLOCK "StringFileInfo" 14 | BEGIN 15 | BLOCK "040904E4" 16 | //language ID = U.S. English, char set = Windows, Multilingual 17 | 18 | BEGIN 19 | VALUE "FileDescription", "zlib data compression and ZIP file I/O library\0" 20 | VALUE "FileVersion", "1.2.11\0" 21 | VALUE "InternalName", "zlib\0" 22 | VALUE "OriginalFilename", "zlibwapi.dll\0" 23 | VALUE "ProductName", "ZLib.DLL\0" 24 | VALUE "Comments","DLL support by Alessandro Iacopetti & Gilles Vollant\0" 25 | VALUE "LegalCopyright", "(C) 1995-2017 Jean-loup Gailly & Mark Adler\0" 26 | END 27 | END 28 | BLOCK "VarFileInfo" 29 | BEGIN 30 | VALUE "Translation", 0x0409, 1252 31 | END 32 | END 33 | -------------------------------------------------------------------------------- /zlib/examples/README.examples: -------------------------------------------------------------------------------- 1 | This directory contains examples of the use of zlib and other relevant 2 | programs and documentation. 3 | 4 | enough.c 5 | calculation and justification of ENOUGH parameter in inftrees.h 6 | - calculates the maximum table space used in inflate tree 7 | construction over all possible Huffman codes 8 | 9 | fitblk.c 10 | compress just enough input to nearly fill a requested output size 11 | - zlib isn't designed to do this, but fitblk does it anyway 12 | 13 | gun.c 14 | uncompress a gzip file 15 | - illustrates the use of inflateBack() for high speed file-to-file 16 | decompression using call-back functions 17 | - is approximately twice as fast as gzip -d 18 | - also provides Unix uncompress functionality, again twice as fast 19 | 20 | gzappend.c 21 | append to a gzip file 22 | - illustrates the use of the Z_BLOCK flush parameter for inflate() 23 | - illustrates the use of deflatePrime() to start at any bit 24 | 25 | gzjoin.c 26 | join gzip files without recalculating the crc or recompressing 27 | - illustrates the use of the Z_BLOCK flush parameter for inflate() 28 | - illustrates the use of crc32_combine() 29 | 30 | gzlog.c 31 | gzlog.h 32 | efficiently and robustly maintain a message log file in gzip format 33 | - illustrates use of raw deflate, Z_PARTIAL_FLUSH, deflatePrime(), 34 | and deflateSetDictionary() 35 | - illustrates use of a gzip header extra field 36 | 37 | zlib_how.html 38 | painfully comprehensive description of zpipe.c (see below) 39 | - describes in excruciating detail the use of deflate() and inflate() 40 | 41 | zpipe.c 42 | reads and writes zlib streams from stdin to stdout 43 | - illustrates the proper use of deflate() and inflate() 44 | - deeply commented in zlib_how.html (see above) 45 | 46 | zran.c 47 | index a zlib or gzip stream and randomly access it 48 | - illustrates the use of Z_BLOCK, inflatePrime(), and 49 | inflateSetDictionary() to provide random access 50 | -------------------------------------------------------------------------------- /zlib/gzclose.c: -------------------------------------------------------------------------------- 1 | /* gzclose.c -- zlib gzclose() function 2 | * Copyright (C) 2004, 2010 Mark Adler 3 | * For conditions of distribution and use, see copyright notice in zlib.h 4 | */ 5 | 6 | #include "gzguts.h" 7 | 8 | /* gzclose() is in a separate file so that it is linked in only if it is used. 9 | That way the other gzclose functions can be used instead to avoid linking in 10 | unneeded compression or decompression routines. */ 11 | int ZEXPORT gzclose(file) 12 | gzFile file; 13 | { 14 | #ifndef NO_GZCOMPRESS 15 | gz_statep state; 16 | 17 | if (file == NULL) 18 | return Z_STREAM_ERROR; 19 | state = (gz_statep)file; 20 | 21 | return state->mode == GZ_READ ? gzclose_r(file) : gzclose_w(file); 22 | #else 23 | return gzclose_r(file); 24 | #endif 25 | } 26 | -------------------------------------------------------------------------------- /zlib/inffast.h: -------------------------------------------------------------------------------- 1 | /* inffast.h -- header to use inffast.c 2 | * Copyright (C) 1995-2003, 2010 Mark Adler 3 | * For conditions of distribution and use, see copyright notice in zlib.h 4 | */ 5 | 6 | /* WARNING: this file should *not* be used by applications. It is 7 | part of the implementation of the compression library and is 8 | subject to change. Applications should only use zlib.h. 9 | */ 10 | 11 | void ZLIB_INTERNAL inflate_fast OF((z_streamp strm, unsigned start)); 12 | -------------------------------------------------------------------------------- /zlib/msdos/Makefile.emx: -------------------------------------------------------------------------------- 1 | # Makefile for zlib. Modified for emx 0.9c by Chr. Spieler, 6/17/98. 2 | # Copyright (C) 1995-1998 Jean-loup Gailly. 3 | # For conditions of distribution and use, see copyright notice in zlib.h 4 | 5 | # To compile, or to compile and test, type: 6 | # 7 | # make -fmakefile.emx; make test -fmakefile.emx 8 | # 9 | 10 | CC=gcc 11 | 12 | #CFLAGS=-MMD -O 13 | #CFLAGS=-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7 14 | #CFLAGS=-MMD -g -DZLIB_DEBUG 15 | CFLAGS=-MMD -O3 $(BUTT) -Wall -Wwrite-strings -Wpointer-arith -Wconversion \ 16 | -Wstrict-prototypes -Wmissing-prototypes 17 | 18 | # If cp.exe is available, replace "copy /Y" with "cp -fp" . 19 | CP=copy /Y 20 | # If gnu install.exe is available, replace $(CP) with ginstall. 21 | INSTALL=$(CP) 22 | # The default value of RM is "rm -f." If "rm.exe" is found, comment out: 23 | RM=del 24 | LDLIBS=-L. -lzlib 25 | LD=$(CC) -s -o 26 | LDSHARED=$(CC) 27 | 28 | INCL=zlib.h zconf.h 29 | LIBS=zlib.a 30 | 31 | AR=ar rcs 32 | 33 | prefix=/usr/local 34 | exec_prefix = $(prefix) 35 | 36 | OBJS = adler32.o compress.o crc32.o gzclose.o gzlib.o gzread.o gzwrite.o \ 37 | uncompr.o deflate.o trees.o zutil.o inflate.o infback.o inftrees.o inffast.o 38 | 39 | TEST_OBJS = example.o minigzip.o 40 | 41 | all: example.exe minigzip.exe 42 | 43 | test: all 44 | ./example 45 | echo hello world | .\minigzip | .\minigzip -d 46 | 47 | %.o : %.c 48 | $(CC) $(CFLAGS) -c $< -o $@ 49 | 50 | zlib.a: $(OBJS) 51 | $(AR) $@ $(OBJS) 52 | 53 | %.exe : %.o $(LIBS) 54 | $(LD) $@ $< $(LDLIBS) 55 | 56 | 57 | .PHONY : clean 58 | 59 | clean: 60 | $(RM) *.d 61 | $(RM) *.o 62 | $(RM) *.exe 63 | $(RM) zlib.a 64 | $(RM) foo.gz 65 | 66 | DEPS := $(wildcard *.d) 67 | ifneq ($(DEPS),) 68 | include $(DEPS) 69 | endif 70 | -------------------------------------------------------------------------------- /zlib/nintendods/README: -------------------------------------------------------------------------------- 1 | This Makefile requires devkitARM (http://www.devkitpro.org/category/devkitarm/) and works inside "contrib/nds". It is based on a devkitARM template. 2 | 3 | Eduardo Costa 4 | January 3, 2009 5 | 6 | -------------------------------------------------------------------------------- /zlib/old/Makefile.emx: -------------------------------------------------------------------------------- 1 | # Makefile for zlib. Modified for emx/rsxnt by Chr. Spieler, 6/16/98. 2 | # Copyright (C) 1995-1998 Jean-loup Gailly. 3 | # For conditions of distribution and use, see copyright notice in zlib.h 4 | 5 | # To compile, or to compile and test, type: 6 | # 7 | # make -fmakefile.emx; make test -fmakefile.emx 8 | # 9 | 10 | CC=gcc -Zwin32 11 | 12 | #CFLAGS=-MMD -O 13 | #CFLAGS=-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7 14 | #CFLAGS=-MMD -g -DZLIB_DEBUG 15 | CFLAGS=-MMD -O3 $(BUTT) -Wall -Wwrite-strings -Wpointer-arith -Wconversion \ 16 | -Wstrict-prototypes -Wmissing-prototypes 17 | 18 | # If cp.exe is available, replace "copy /Y" with "cp -fp" . 19 | CP=copy /Y 20 | # If gnu install.exe is available, replace $(CP) with ginstall. 21 | INSTALL=$(CP) 22 | # The default value of RM is "rm -f." If "rm.exe" is found, comment out: 23 | RM=del 24 | LDLIBS=-L. -lzlib 25 | LD=$(CC) -s -o 26 | LDSHARED=$(CC) 27 | 28 | INCL=zlib.h zconf.h 29 | LIBS=zlib.a 30 | 31 | AR=ar rcs 32 | 33 | prefix=/usr/local 34 | exec_prefix = $(prefix) 35 | 36 | OBJS = adler32.o compress.o crc32.o deflate.o gzclose.o gzlib.o gzread.o \ 37 | gzwrite.o infback.o inffast.o inflate.o inftrees.o trees.o uncompr.o zutil.o 38 | 39 | TEST_OBJS = example.o minigzip.o 40 | 41 | all: example.exe minigzip.exe 42 | 43 | test: all 44 | ./example 45 | echo hello world | .\minigzip | .\minigzip -d 46 | 47 | %.o : %.c 48 | $(CC) $(CFLAGS) -c $< -o $@ 49 | 50 | zlib.a: $(OBJS) 51 | $(AR) $@ $(OBJS) 52 | 53 | %.exe : %.o $(LIBS) 54 | $(LD) $@ $< $(LDLIBS) 55 | 56 | 57 | .PHONY : clean 58 | 59 | clean: 60 | $(RM) *.d 61 | $(RM) *.o 62 | $(RM) *.exe 63 | $(RM) zlib.a 64 | $(RM) foo.gz 65 | 66 | DEPS := $(wildcard *.d) 67 | ifneq ($(DEPS),) 68 | include $(DEPS) 69 | endif 70 | -------------------------------------------------------------------------------- /zlib/old/README: -------------------------------------------------------------------------------- 1 | This directory contains files that have not been updated for zlib 1.2.x 2 | 3 | (Volunteers are encouraged to help clean this up. Thanks.) 4 | -------------------------------------------------------------------------------- /zlib/old/descrip.mms: -------------------------------------------------------------------------------- 1 | # descrip.mms: MMS description file for building zlib on VMS 2 | # written by Martin P.J. Zinser 3 | 4 | cc_defs = 5 | c_deb = 6 | 7 | .ifdef __DECC__ 8 | pref = /prefix=all 9 | .endif 10 | 11 | OBJS = adler32.obj, compress.obj, crc32.obj, gzio.obj, uncompr.obj,\ 12 | deflate.obj, trees.obj, zutil.obj, inflate.obj, infblock.obj,\ 13 | inftrees.obj, infcodes.obj, infutil.obj, inffast.obj 14 | 15 | CFLAGS= $(C_DEB) $(CC_DEFS) $(PREF) 16 | 17 | all : example.exe minigzip.exe 18 | @ write sys$output " Example applications available" 19 | libz.olb : libz.olb($(OBJS)) 20 | @ write sys$output " libz available" 21 | 22 | example.exe : example.obj libz.olb 23 | link example,libz.olb/lib 24 | 25 | minigzip.exe : minigzip.obj libz.olb 26 | link minigzip,libz.olb/lib,x11vms:xvmsutils.olb/lib 27 | 28 | clean : 29 | delete *.obj;*,libz.olb;* 30 | 31 | 32 | # Other dependencies. 33 | adler32.obj : zutil.h zlib.h zconf.h 34 | compress.obj : zlib.h zconf.h 35 | crc32.obj : zutil.h zlib.h zconf.h 36 | deflate.obj : deflate.h zutil.h zlib.h zconf.h 37 | example.obj : zlib.h zconf.h 38 | gzio.obj : zutil.h zlib.h zconf.h 39 | infblock.obj : zutil.h zlib.h zconf.h infblock.h inftrees.h infcodes.h infutil.h 40 | infcodes.obj : zutil.h zlib.h zconf.h inftrees.h infutil.h infcodes.h inffast.h 41 | inffast.obj : zutil.h zlib.h zconf.h inftrees.h infutil.h inffast.h 42 | inflate.obj : zutil.h zlib.h zconf.h infblock.h 43 | inftrees.obj : zutil.h zlib.h zconf.h inftrees.h 44 | infutil.obj : zutil.h zlib.h zconf.h inftrees.h infutil.h 45 | minigzip.obj : zlib.h zconf.h 46 | trees.obj : deflate.h zutil.h zlib.h zconf.h 47 | uncompr.obj : zlib.h zconf.h 48 | zutil.obj : zutil.h zlib.h zconf.h 49 | -------------------------------------------------------------------------------- /zlib/old/os2/zlib.def: -------------------------------------------------------------------------------- 1 | ; 2 | ; Slightly modified version of ../nt/zlib.dnt :-) 3 | ; 4 | 5 | LIBRARY Z 6 | DESCRIPTION "Zlib compression library for OS/2" 7 | CODE PRELOAD MOVEABLE DISCARDABLE 8 | DATA PRELOAD MOVEABLE MULTIPLE 9 | 10 | EXPORTS 11 | adler32 12 | compress 13 | crc32 14 | deflate 15 | deflateCopy 16 | deflateEnd 17 | deflateInit2_ 18 | deflateInit_ 19 | deflateParams 20 | deflateReset 21 | deflateSetDictionary 22 | gzclose 23 | gzdopen 24 | gzerror 25 | gzflush 26 | gzopen 27 | gzread 28 | gzwrite 29 | inflate 30 | inflateEnd 31 | inflateInit2_ 32 | inflateInit_ 33 | inflateReset 34 | inflateSetDictionary 35 | inflateSync 36 | uncompress 37 | zlibVersion 38 | gzprintf 39 | gzputc 40 | gzgetc 41 | gzseek 42 | gzrewind 43 | gztell 44 | gzeof 45 | gzsetparams 46 | zError 47 | inflateSyncPoint 48 | get_crc_table 49 | compress2 50 | gzputs 51 | gzgets 52 | -------------------------------------------------------------------------------- /zlib/watcom/watcom_f.mak: -------------------------------------------------------------------------------- 1 | # Makefile for zlib 2 | # OpenWatcom flat model 3 | # Last updated: 28-Dec-2005 4 | 5 | # To use, do "wmake -f watcom_f.mak" 6 | 7 | C_SOURCE = adler32.c compress.c crc32.c deflate.c & 8 | gzclose.c gzlib.c gzread.c gzwrite.c & 9 | infback.c inffast.c inflate.c inftrees.c & 10 | trees.c uncompr.c zutil.c 11 | 12 | OBJS = adler32.obj compress.obj crc32.obj deflate.obj & 13 | gzclose.obj gzlib.obj gzread.obj gzwrite.obj & 14 | infback.obj inffast.obj inflate.obj inftrees.obj & 15 | trees.obj uncompr.obj zutil.obj 16 | 17 | CC = wcc386 18 | LINKER = wcl386 19 | CFLAGS = -zq -mf -3r -fp3 -s -bt=dos -oilrtfm -fr=nul -wx 20 | ZLIB_LIB = zlib_f.lib 21 | 22 | .C.OBJ: 23 | $(CC) $(CFLAGS) $[@ 24 | 25 | all: $(ZLIB_LIB) example.exe minigzip.exe 26 | 27 | $(ZLIB_LIB): $(OBJS) 28 | wlib -b -c $(ZLIB_LIB) -+adler32.obj -+compress.obj -+crc32.obj 29 | wlib -b -c $(ZLIB_LIB) -+gzclose.obj -+gzlib.obj -+gzread.obj -+gzwrite.obj 30 | wlib -b -c $(ZLIB_LIB) -+deflate.obj -+infback.obj 31 | wlib -b -c $(ZLIB_LIB) -+inffast.obj -+inflate.obj -+inftrees.obj 32 | wlib -b -c $(ZLIB_LIB) -+trees.obj -+uncompr.obj -+zutil.obj 33 | 34 | example.exe: $(ZLIB_LIB) example.obj 35 | $(LINKER) -ldos32a -fe=example.exe example.obj $(ZLIB_LIB) 36 | 37 | minigzip.exe: $(ZLIB_LIB) minigzip.obj 38 | $(LINKER) -ldos32a -fe=minigzip.exe minigzip.obj $(ZLIB_LIB) 39 | 40 | clean: .SYMBOLIC 41 | del *.obj 42 | del $(ZLIB_LIB) 43 | @echo Cleaning done 44 | -------------------------------------------------------------------------------- /zlib/watcom/watcom_l.mak: -------------------------------------------------------------------------------- 1 | # Makefile for zlib 2 | # OpenWatcom large model 3 | # Last updated: 28-Dec-2005 4 | 5 | # To use, do "wmake -f watcom_l.mak" 6 | 7 | C_SOURCE = adler32.c compress.c crc32.c deflate.c & 8 | gzclose.c gzlib.c gzread.c gzwrite.c & 9 | infback.c inffast.c inflate.c inftrees.c & 10 | trees.c uncompr.c zutil.c 11 | 12 | OBJS = adler32.obj compress.obj crc32.obj deflate.obj & 13 | gzclose.obj gzlib.obj gzread.obj gzwrite.obj & 14 | infback.obj inffast.obj inflate.obj inftrees.obj & 15 | trees.obj uncompr.obj zutil.obj 16 | 17 | CC = wcc 18 | LINKER = wcl 19 | CFLAGS = -zq -ml -s -bt=dos -oilrtfm -fr=nul -wx 20 | ZLIB_LIB = zlib_l.lib 21 | 22 | .C.OBJ: 23 | $(CC) $(CFLAGS) $[@ 24 | 25 | all: $(ZLIB_LIB) example.exe minigzip.exe 26 | 27 | $(ZLIB_LIB): $(OBJS) 28 | wlib -b -c $(ZLIB_LIB) -+adler32.obj -+compress.obj -+crc32.obj 29 | wlib -b -c $(ZLIB_LIB) -+gzclose.obj -+gzlib.obj -+gzread.obj -+gzwrite.obj 30 | wlib -b -c $(ZLIB_LIB) -+deflate.obj -+infback.obj 31 | wlib -b -c $(ZLIB_LIB) -+inffast.obj -+inflate.obj -+inftrees.obj 32 | wlib -b -c $(ZLIB_LIB) -+trees.obj -+uncompr.obj -+zutil.obj 33 | 34 | example.exe: $(ZLIB_LIB) example.obj 35 | $(LINKER) -fe=example.exe example.obj $(ZLIB_LIB) 36 | 37 | minigzip.exe: $(ZLIB_LIB) minigzip.obj 38 | $(LINKER) -fe=minigzip.exe minigzip.obj $(ZLIB_LIB) 39 | 40 | clean: .SYMBOLIC 41 | del *.obj 42 | del $(ZLIB_LIB) 43 | @echo Cleaning done 44 | -------------------------------------------------------------------------------- /zlib/win32/VisualC.txt: -------------------------------------------------------------------------------- 1 | 2 | To build zlib using the Microsoft Visual C++ environment, 3 | use the appropriate project from the contrib/vstudio/ directory. 4 | -------------------------------------------------------------------------------- /zlib/win32/zlib1.rc: -------------------------------------------------------------------------------- 1 | #include 2 | #include "../zlib.h" 3 | 4 | #ifdef GCC_WINDRES 5 | VS_VERSION_INFO VERSIONINFO 6 | #else 7 | VS_VERSION_INFO VERSIONINFO MOVEABLE IMPURE LOADONCALL DISCARDABLE 8 | #endif 9 | FILEVERSION ZLIB_VER_MAJOR,ZLIB_VER_MINOR,ZLIB_VER_REVISION,0 10 | PRODUCTVERSION ZLIB_VER_MAJOR,ZLIB_VER_MINOR,ZLIB_VER_REVISION,0 11 | FILEFLAGSMASK VS_FFI_FILEFLAGSMASK 12 | #ifdef _DEBUG 13 | FILEFLAGS 1 14 | #else 15 | FILEFLAGS 0 16 | #endif 17 | FILEOS VOS__WINDOWS32 18 | FILETYPE VFT_DLL 19 | FILESUBTYPE 0 // not used 20 | BEGIN 21 | BLOCK "StringFileInfo" 22 | BEGIN 23 | BLOCK "040904E4" 24 | //language ID = U.S. English, char set = Windows, Multilingual 25 | BEGIN 26 | VALUE "FileDescription", "zlib data compression library\0" 27 | VALUE "FileVersion", ZLIB_VERSION "\0" 28 | VALUE "InternalName", "zlib1.dll\0" 29 | VALUE "LegalCopyright", "(C) 1995-2017 Jean-loup Gailly & Mark Adler\0" 30 | VALUE "OriginalFilename", "zlib1.dll\0" 31 | VALUE "ProductName", "zlib\0" 32 | VALUE "ProductVersion", ZLIB_VERSION "\0" 33 | VALUE "Comments", "For more information visit http://www.zlib.net/\0" 34 | END 35 | END 36 | BLOCK "VarFileInfo" 37 | BEGIN 38 | VALUE "Translation", 0x0409, 1252 39 | END 40 | END 41 | -------------------------------------------------------------------------------- /zlib/zlib.3.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharplispers/cormanlisp/6ff68633ed730dbd1500f06639dd093513b4278e/zlib/zlib.3.pdf -------------------------------------------------------------------------------- /zlib/zlib.map: -------------------------------------------------------------------------------- 1 | ZLIB_1.2.0 { 2 | global: 3 | compressBound; 4 | deflateBound; 5 | inflateBack; 6 | inflateBackEnd; 7 | inflateBackInit_; 8 | inflateCopy; 9 | local: 10 | deflate_copyright; 11 | inflate_copyright; 12 | inflate_fast; 13 | inflate_table; 14 | zcalloc; 15 | zcfree; 16 | z_errmsg; 17 | gz_error; 18 | gz_intmax; 19 | _*; 20 | }; 21 | 22 | ZLIB_1.2.0.2 { 23 | gzclearerr; 24 | gzungetc; 25 | zlibCompileFlags; 26 | } ZLIB_1.2.0; 27 | 28 | ZLIB_1.2.0.8 { 29 | deflatePrime; 30 | } ZLIB_1.2.0.2; 31 | 32 | ZLIB_1.2.2 { 33 | adler32_combine; 34 | crc32_combine; 35 | deflateSetHeader; 36 | inflateGetHeader; 37 | } ZLIB_1.2.0.8; 38 | 39 | ZLIB_1.2.2.3 { 40 | deflateTune; 41 | gzdirect; 42 | } ZLIB_1.2.2; 43 | 44 | ZLIB_1.2.2.4 { 45 | inflatePrime; 46 | } ZLIB_1.2.2.3; 47 | 48 | ZLIB_1.2.3.3 { 49 | adler32_combine64; 50 | crc32_combine64; 51 | gzopen64; 52 | gzseek64; 53 | gztell64; 54 | inflateUndermine; 55 | } ZLIB_1.2.2.4; 56 | 57 | ZLIB_1.2.3.4 { 58 | inflateReset2; 59 | inflateMark; 60 | } ZLIB_1.2.3.3; 61 | 62 | ZLIB_1.2.3.5 { 63 | gzbuffer; 64 | gzoffset; 65 | gzoffset64; 66 | gzclose_r; 67 | gzclose_w; 68 | } ZLIB_1.2.3.4; 69 | 70 | ZLIB_1.2.5.1 { 71 | deflatePending; 72 | } ZLIB_1.2.3.5; 73 | 74 | ZLIB_1.2.5.2 { 75 | deflateResetKeep; 76 | gzgetc_; 77 | inflateResetKeep; 78 | } ZLIB_1.2.5.1; 79 | 80 | ZLIB_1.2.7.1 { 81 | inflateGetDictionary; 82 | gzvprintf; 83 | } ZLIB_1.2.5.2; 84 | 85 | ZLIB_1.2.9 { 86 | inflateCodesUsed; 87 | inflateValidate; 88 | uncompress2; 89 | gzfread; 90 | gzfwrite; 91 | deflateGetDictionary; 92 | adler32_z; 93 | crc32_z; 94 | } ZLIB_1.2.7.1; 95 | -------------------------------------------------------------------------------- /zlib/zlib.pc.cmakein: -------------------------------------------------------------------------------- 1 | prefix=@CMAKE_INSTALL_PREFIX@ 2 | exec_prefix=@CMAKE_INSTALL_PREFIX@ 3 | libdir=@INSTALL_LIB_DIR@ 4 | sharedlibdir=@INSTALL_LIB_DIR@ 5 | includedir=@INSTALL_INC_DIR@ 6 | 7 | Name: zlib 8 | Description: zlib compression library 9 | Version: @VERSION@ 10 | 11 | Requires: 12 | Libs: -L${libdir} -L${sharedlibdir} -lz 13 | Cflags: -I${includedir} 14 | -------------------------------------------------------------------------------- /zlib/zlib.pc.in: -------------------------------------------------------------------------------- 1 | prefix=@prefix@ 2 | exec_prefix=@exec_prefix@ 3 | libdir=@libdir@ 4 | sharedlibdir=@sharedlibdir@ 5 | includedir=@includedir@ 6 | 7 | Name: zlib 8 | Description: zlib compression library 9 | Version: @VERSION@ 10 | 11 | Requires: 12 | Libs: -L${libdir} -L${sharedlibdir} -lz 13 | Cflags: -I${includedir} 14 | --------------------------------------------------------------------------------