earl-ducaine / clim-ed Goto Github PK
View Code? Open in Web Editor NEWemacs-like editor for clim
emacs-like editor for clim
;;; ********************************************************************** ;;; Copyright (c) 92, 93 Hallvard Traetteberg. All rights reserved. ;;; Use and copying of this software and preparation of derivative works ;;; based upon this software are permitted and may be copied as long as ;;; no fees or compensation are charged for use, copying, or accessing ;;; this software and all copies of this software include this copyright ;;; notice. Suggestions, comments and bug reports are welcome. Please ;;; address email to: [email protected] ;;; ********************************************************************** ----------------------- This window editor is made as part of the DRIVE II project, V2039, KITS - Knowledge based and Intelligent Traffic control System. The implementation was done by the Norwegian partner, SINTEF SI, which was funded by the Norwegian road authorities and the Norwegian Research Council. The port from MCL to Allegro was done by the Italian partner, Automa. ----------------------- The editor is inspired by emacs, of course, but has only a small set of basic commands, although it has fairly general machinery that makes it quite extendible. The code is undocumented, but quite tidy and shouldn't be to difficult to understand for those who want to extend it. The CLIM specific code should perhaps be looked at by a CLIM expert, in addition, the editor lacks interfacing to the CLIM redisplay and output record mechanism. This should be easy to add for CLIM experts. The editor has been designed to support variable width fonts, but this hasn't been tested. The editor is currently standalone, I haven't tried making a line editor or a widget out of it, i.e. including it as part of another window. This should be fairly easy, since it already keeps itself within a specified area within a window. ----------------------- Features: Most basic editing functionality, including one step undo CLOS Stream I/O interface for MCL and Allegro (If anyone makes a Lucid port, tell me!) Find and Save File Interface to Lisp through eval and macroexpand commands. Handles errors gracefully (traps them all!). Full window editing. Supports word wrapping and fairly efficient redisplay. ----------------------- To try it load the files named in the system definition, edit and eval site-specific.lisp. At the bottom of that file are two ways of activating the editor. ----------------------- This files in the ed directory: README This file! ed-packages.lisp Defines all the packages. ed.lisp The basic editor machinery, excluding all window stuff. ed-commands.lisp Defines a set of 'commands' meant as the interface to the editor. ed-stream.lisp Stream interface to the basic editor, both input and output. wed.lisp The window system part of the editor. wed-stream.lisp Stream interface to the window editor, both input and output. wed-frame.lisp Defines the window editor application frame. wed-frame-commands.lisp The window editor commands. site-specific.lisp Variables with site-specific values and code to make and activate a frame. ed.system Defsystem system definition. ed-commands-doc.lisp Documentation for the window editor commands. ----------------------- Hallvard Traetteberg Dept. of Knowledge Based Systems SINTEF SI Box 124 Blindern, 0314 Oslo 3 NORWAY Tel: +47 22 06 79 83, Fax: +47 22 06 73 50 Email: [email protected]
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.