Parent Directory | Revision Log
|Links to HEAD:||(view) (annotate)|
Use ESA-UTILS:FORMAT-SYM for formatting symbols.
Added hackish implementation of typeout overlays. They are used for symbol-completion in Lisp syntax and not really anything else. They're also not keyboard-sensitive or anything. I plan on making them appear like an actual window to Climacs, so they fit in with the command loop, though they'll still be highly ephemeral. They are not to be used to display information that should stay alive during an editing session.
Added sweet new menu items.
Added code by Rudi Schlatte to integrated Climacs with CL:ED. Only SBCL is supported for now.
Added Print Last Expression command, TODO changes and README changes, courtesy of Cyrus Harmon.
Revamped typeout panes and turned them into typeout views. Stability not guaranteed, the code is... special. Some things are still known to be suboptimal.
Added `switch-or-move-to-view' function.
Added `switch-to-pane' restart for (setf view).
Added *climacs-text-style* variable for customisation.
Moved Structedit's defpackage form into packages.lisp and exported some symbols from it.
Fixed Text syntax.
Implemented support for scrolling typeout panes in M-C-v, M-C-V.
Changed Climacs to use a view-paradigm. Somewhat hacky, probably buggy.
Restored Climacs' Group-support.
Put Text Syntax into its own package.
Added initial support for Java syntax.
Added splittist's in-progress (but very screenshotable!) C syntax module.
Oops. Remove mention of :flexi-streams package.
Make Climacs use Drei. There are known problems (apart from the docs now being outdated): * Some syntaxes have not been updated. * Group functionality has been disabled. * It's a large change and Climacs has no test suite. Bugs probably still remain. But it should work nicely most of the time. Otherwise, you'll get a full refund.
Added new utility function (`list-aref'), added Lisp parser recognition of incomplete quote forms, added support for "blank" completion in Lisp syntax, so you no longer need to complete from a symbol, but can get a list of all (applicable) completions. Is very, very slow when listing all possible symbols due to the "slow" McCLIM menu implementation.
Try to naively unbreak typeout panes a little more. Also some fixes related to accepting buffers.
Added utils.lisp file and CLIMACS-UTILS package so it's no longer necessary to hand-roll `with-gensyms', `once-only' and other helpful macros.
Added Group functionality to Climacs (the additions to the User Manual was erroneously part of my previous commit). Needs testing and better support from search/replace commands.
Added GNU Emacs-style rectangle editing.
Add `move-to-column' function to CLIMACS-BASE.
Implement `frame-current-buffer' and define and export `current-mark'.
Removed the Basic syntax and the `cache' slot in the `climacs-pane' class. Fundamental syntax is now the default. This also required moving some things around, but there has not been any functionality changes.
Changed Climacs to use the ESA-IO and ESA-BUFFER functionality instead of duplicating essentially the same code across multiple projects. This is rather invasive as some of the ESA functions have a subtly different signature.
* Added `display-syntax-name' generic function so syntaxes can do more than just return a string for their info-pane. * Changed package display for Lisp syntax so the package specified by the `in-package' form preceding point will be displayed, whether or not the package can be found in the image. If it cannot be found, the specified package name will be displayed in italics in the info-pane. * Changed `with-syntax-package' to rebind `*package*' instead of just being a glorified `let'-wrapper. * Changed other bits and pieces that depended on the prior behavior of the above three changes.
Yet another big patch: * Added Set Package and Set Syntax commands to Lisp syntax. * Added Update Attribute List command (and associated functions). * Fixed issue in Lisp syntax where deletion of `(in-package)' forms was not properly picked up.
Updated the kill ring protocol to signal a condition if a yank operation is attempted on an empty kill ring, updated the kill ring documentation, added kill ring tests to the test suite.
More refactoring of stuff out from CLIMACS-GUI to CLIMACS-CORE and CLIMACS-COMMANDS. More reusable functions have been moved from the *-commands.lisp files to core.lisp.
* Moved some functions from window-commands.lisp to gui.lisp (and the CLIMACs-GUI package) and export them. * The kill ring is no longer a global, special symbol, thus fixing a bunch of problems regarding sharing of kill rings between instances of Climacs (and remembering the kill ring across invocations). * Various yank-commands no longer signal an error when the kill ring is empty. This is done by handling the flexichain:at-end-error condition, which is suboptimal - user code should not need to be aware of the implementation of the kill ring. Will be fixed at some point. CVS problems made it too hard to divide this up into several patches, sorry.
Final major package-cleanup for now. New package, CLIMACS-CORE, added. Lots of commands moved from CLIMACS-GUI to CLIMACS-COMMANDS, reusable functions moved to CLIMACS-CORE.
Export the `as-offsets' macro from :climacs-base.
Added new CLIMACS package and moved entry points to it.
Unified CLIMACS-MOTION-COMMANDS and CLIMACS-EDITING-COMMANDS into a CLIMACS-COMMANDS package, added documentation strings to some package definitions to make it more clear what they (are supposed to) contain.
A number of major changes, involving moving a bit of stuff back from editing.lisp (and CLIMACS EDITING) to base.lisp (and CLIMACS-BASE). * Reintroduced primitive, non-syntax-aware `previous-line' and `next-line' generic functions. * Moved `open-line' back to base.lisp and added a primitive `delete-line' function for deleting lines at a given mark. * Moved most of the character casing, tabyfying and indentation code back from editing.lisp to base.lisp. I'm still not sure it belongs there, but it will have to do for now.
Added `just-n-spaces' function.
Major motion and editing functions and commands refactoring (see the thread "paredit.lisp, regularization of motion commands, and more" on climacs-devel for full details). Breakage not found during testing, but still expected.
Export `current-buffer' and `current-point' from CLIMACS-GUI.
Added `fill-region' function and used it to implement filling of strings in the Lisp syntax. I have not implemented a Fill Region command because it seemed to fit poorly within the way filling works in Climacs.
Added `current-buffer' to list of exported symbols.
Undo fundamental/basic breakage. Sorry. Also add String Search, Reverse String Search, Word Search and Reverse Word Search commands.
Moved use of :climacs-pane package to after its definition.
Banish Basic syntax in favour of Fundamental (and some region highlighting fiddling).
Changed mark-visibility to region visibility. Turn it on and off with Visible Region, for now.
Changed backup behaviour. Now makes emacs-style versioned backups (foo.lisp~42~) once per session. Also checks to see if the file has changed on disk when saving and reverting.
Changed the colors of `climacs-rv' slightly and exported the symbol from the :climacs-gui package.
Added `buffer-substring' function.
Added code to clear the cache of panes (the previous `clear-pane' invocation was apparently too naive).
Added support for local options lines (the -*- ... -*- stuff), the generic option Syntax/Mode and Base and Package options for Lisp syntax.
Added region- and expression-indentation commands.
Changed package and system definitions to use external :esa system.
Changes for running climacs in Allegro Common Lisp with Classic CLIM (tm). This includes a bunch of modern mode-related changes to symbol names and creating symbols and reordering of syntax rules definitions due to different compile-time behavior of defclass. The CLIM changes are suprisingly small
Refactored the Lisp syntax module so it is no longer integrated with the global command table and gui.lisp.
Introduce find-applicable-command-table, specialised on frame class. Remove some :around kludgery from (setf syntax) and (setf buffer). At the moment f-a-c-t for climacs just asks the syntax which command-table to use, but this could be extended to views etc.
Two major groups of changes, as steps towards supporting the multi-pane paradigm: (a) changes to support non-buffer- containing panes (a typeout pane is the first example - try C-h b); (b) distributed commands among a plethora of little command tables, as threatened on the mailing list. Also: changed info-pane (again) - now includes call to name-for-info-pane (specialised on syntax) - try a lisp file where climacs can work out the package name; got rid of 'Toggle' names (didn't add anything); mouse-clicks now change window and position the cursor; now command Insert Parentheses (M-() that almost works. Slidemacs temporarily broken...
Initial implementation of Where Is (C-h w) and Describe Bindings (C-h b); renamed Describe Key (C-h k) to Describe Key Briefly (C-h c) and added new help-table to ESA. Also, changed set-key to not clobber defined commands in command tables, fixed some minor errors in gui.lisp, and included keyboard-macro-table and help-table in global-climacs-table's inheritance list.
The COMPLETABLE-PATHNAME class This patch mainly removes the class COMPLETABLE-PATHNAME. There is nothing special about those pathnames that make them completable. They are just ordinary pathnames (no offence meant). Instead, the ACCEPT and PRESENT method that formerly specialized on that presentation type, specialize now on the ordinary PATHNAME class *and* on climacs' custom view class CLIMACS-TEXTUAL-VIEW, that was already defined in pane.lisp but was not yet used anywhere. (Robert Strandh accedes: "I think it must have been meant for this kind of situation.") The variable climacs-pane:+climacs-textual-view+ has been added, it hold an instance of the class climacs-pane:climacs-textual-view, just as there are such variables for the standard view classes (see clim spec 23.6). Both symbols, #:climacs-textual-view and #:+climacs-textual-view+, of the package CLIMACS-PANE are exported. +climacs-textual-view+ is the :DEFAULT-VIEW for the class CLIMACS-GUI::CLIMACS-MINIBUFFER-PANE now (set via the :DEFAULT-INITARGS parameter of the class definition) so that the aforementioned ACCEPT and PRESENT methods for pathnames are used in the minibuffer. (See at the beginning of gui.lisp.) The :DEFAULT-VIEW for the class CLIMACS-PANE:CLIMACS-PANE was not specified in the same way, but in the :AFTER method of (initialize-instance (pane climacs-pane)) via the line: (setf (stream-default-view pane) (make-instance 'climacs-textual-view)) This is changed to be specified in the appropriate DEFCLASS form, as well. As the :DEFAULT-VIEW of the minibuffer is now changed, all the calls to (accept 'completable-pathname :prompt "..") are now substituted by just (accept 'pathname :prompt "..") without the need for explicit specification by use of the :VIEW keyword. All these calls are changed, even the one in slidemacs-gui.lisp. (If we feel the need for a special view class for the info-pane we can always subclass CLIMACS-MINIBUFFER-PANE later. Only the :DEFAULT-VIEW inside the :DEFAULT-INITARGS argument has to be changed then, if we do things correctly.) The function CLIMACS-GUI:CLIMACS I added the keywords NEW-PROCESS and PROCESS-NAME to the lambda-list and the correspondent construct. You can now do (climacs-gui:climacs :new-process t) Just as it is possible with Clouseau and the Climacs-Listener. CLIMACS-GUI:CLIMACS is also exported now. Why wasn't it before? Some further comments, in case this message is not long enough for you, can be found in the original mail in which I published my patch: http://article.gmane.org/gmane.lisp.climacs.devel/264
Added read-only buffers, com-find-file-read-only (C-x C-r), com-toggle-read-only (C-x C-q) and "%%" display in mode line.
Various refactoring to allow non-interactive access to functionality. Checks to see that buffers aren't written to, or attempted to be read from, directories. com-load-file now on C-c C-l. Also some rearrangement of stuff in gui.lisp.
Factored out cursor display from syntaxes to a display-cursor method on basic-syntax. Also added a display-mark method, a mark-visible-p slot on climacs-pane, and a command com-toggle-visible-mark to turn display of the mark on and off - useful for developing marking commands.
Added com-just-one-space (M-Space), com-scroll-other-window-up (C-M-V), com-append-next-kill (M-C-w). Also, I think I've fixed expression-navigation funkiness.
The other parts of the list movement commands.
Added cl-automaton module and support for regexp searches. Below are some notes. Also modified one constituentp-related test. Instead of having module "cl-automaton" within the :climacs defsystem, the module could be turned into a dependence on :automaton, defined in cl-automaton/automaton.asd. Similarly for cl-automaton/automaton-test.asd. For slower buffer implementations, a buffer iterator is needed for higher performance of regexp searches. Greedy matching should be improved (see automaton::run-to-first-unmatch). Perhaps, fast (tabular) automaton representation should be implemented, unless it would be taking way too much space. Incremental regexp search needs to be done.
Implemented comment-region and uncomment region as syntax-dependent generic functions. Need to figure out how a command that is not invoked by keystrokes can determine whether it was called with a numeric argument.
Change climacs application frame to use global-climacs-table
Improvements to Lisp syntax. (thanks to John Q Splittist) Here is his own description of these improvements: This patch: * fixes presentations of multi-token symbols and strings * introduces a new presentation type, the 'unknown-symbol, for symbol tokens that haven't got a package in the image (because, eg. the file hasn't been loaded) * introduces a new presentation type, the 'lisp-string, for strings in the file surrounded by #\"s * presents every token as a 'string. Also included is a presentation translator from 'lisp-string to 'string that doesn't work. It ought to, and I seem to have got back into the gesture/pointer-event code with things still making (to me) sense, so I'd be grateful if someone could check whether it works for them. Things to play with: * M-x Accept String (most things mouseable) * M-x Accept Symbol (see what the system can find, and where - 'symbols are returned as the actual symbol; 'unknown-symbols are returned as strings * M-x Accept Lisp String (source code strings are mouseable) * M-% [being Query Replace], then mouse and click to choose the strings! Things to think about: * Should 'string be for actual lisp strings, and (say) ESA-string (or editor-string) be for sequences of objects in the buffer? This makes sense to me, as some commands that accept a sequence of objects from the buffer might be usable in non-text-editor contexts. (Simply changing commands like com-query-replace from (accept 'string ...) to (accept 'esa-string ...), and changing a couple of things in lisp-syntax, would work.) * What other things might it be useful to mouse around with? * Is there a natural meaning for simply clicking on something in the buffer? Things to do: * (still!) Numbers * work out why the presentation translator isn't working...
Moved keyboard macros to esa.lisp and to a new command table: keyboard-macro-table.
Climacs no longer uses the command table of the application frame, but now has a command table per pane. Eventually, this command table will inherit from a syntax-specific one, but that is not implemented yet. The global-climacs-table inherits from the global-esa-table. The commands com-quit and com-extended have been moved to the clobal-esa-table. Handling modified buffers before quitting has been moved to an :around method on frame-exit.
Migration of initial common functionality from gui.lisp to esa.lisp completed. Next to migrate should be keyboard macros, pane splitting, and other functionality not specific to Climacs.
Included the ESA module in climacs.asd and packages.asd Removed some functionality from gui.lisp in favor of equivalent functionality in esa.lisp Adapted some functionality in gui.lisp to resemble the corresponding functionality in esa.lisp to facilitate the eventual move.
New syntax: `fundamental' My idea is to eventually get rid of the `basic' syntax. Not only is the name not great, but the code it contains some cruft that I would like to get rid of. For instance, the cache is no longer necessary and is messy to manage anyway. In addition, the `basic' syntax is problematic with respect to factoring out the GUI part of Climacs into a separate application-independent module. That's another good reason to get rid of it. So, I would appreciate if you would please check out this new syntax and let me know how it turns out. If I hear no complaints, I'll start by making `fundamental' the default syntax, and then remove the `basic' syntax altogether.
New command `eval-defun' bound to C-M-x
Alternative syntax for editing common lisp (called "Lisp"). I have not completely lost hope of making the Earley-based syntax module fast enough, but as of now I don't know how. This syntax module provides an incremental resynchronizing LR parser for Common Lisp. It is fast enough the parse tree for the entire buffer is kept updated, as opposed to just for what is visible in the CLIM pane. Ultimately, I hope to factor out the parts that are not specific to Lisp into a different module, perhaps the existing syntax.lisp file. I'll be interested in your opinions.
Contribution by John Q Splittist: Renamed occurrences of `filename' (actually referring to pathnames) to `filepath'.
Add a half-baked half-finished ISO Prolog syntax. Known internal lacunae: * does not handle quotations correctly: ** fails to recognize '' as an escaped quote character (and similarly for other quote characters); ** fails to canonize quoted atoms; will fail to identify the operator ; from the quoted atom ';'; ** does not contain any logic for backslash-escaped data. * does not implement parsing floating point numbers. * comments before directives get italicized. * way too long. Expect some refactoring. Known suboptimal interactions with the syntax framework: * parses the entire buffer at every keystroke; incremental parsing caused a problem at some point and has not (yet) been restored. * displays the entire buffer at every keystroke. * the incremental lexer gets confused in the presence of comments. (see forthcoming mail to climacs-devel)
Added setf methods for offset of parse-trees. Either a numerical offset can be given, in which case, the start-mark must exist (since we don't know the buffer), or else a mark can be given, in which case it is cloned. Removed references to start-mark from html-syntax.lisp, and removed it from the export list of the climacs-syntax package.
The incremental lexer is now in the climacs-syntax package in the syntax.lisp file.
Line-oriented persistent buffer (binseq2). Warning: Need to fix minor bugs (related to number-of-lines-in-region, I believe). base.lisp: Added faster methods on previous-line, next-line, buffer-number-of-lines-in-region. pane.lisp, cl-syntax.lisp, html-syntax.lisp, text-syntax.lisp: Replaced some calls to make-instance to calls to clone-mark and (setf offset), in order to avoid passing climacs-buffer to marks. This also made possible to get rid of delegating methods on syntax. climacs.asd: Added Persistent/binseq2. packages.lisp: Added binseq2-related symbols. Persistent/binseq.lisp, Persistent/obinseq.lisp: Cleanup. Persistent/persistent-buffer.lisp: Added code for binseq2-buffer and related marks. Also some minor fixes.
More progress on html-syntax, which may eventually become a model for many different language syntax modules. The display function now traverses the parse tree up as long as a valid parse tree exists. The rest of the display is done from the token sequence. It is likely that all of this can be abstracted out and put into syntax.lisp so that html-syntax would just become a client among others for this traversal. Not only is the cursor still not displayed, whitespace is not handled during the traversal of the parse tree. This will likely be fixed in the next few day.
First attempt at a display function (for html syntax) that uses the output of an incremental lexer and parser. This code is not complete yet: * right now, it uses only the lexer output, and not the parser * the cursor is not displayed yet * it is too slow, most likely because the output records are all in one big bag, as opposed to being tree structured, such as the lines of basic syntax. The slowness is not a serious problem, because one day, McCLIM will have tree-structured output records itself, and because most syntax modules (including this one, very soon) will have some tree structure itself. It might be worthwhile to display the part of the buffer beyond a parse error in some artificially structured way, such as by lines as in the current basic syntax.
Split off the climacs-html-syntax package from the climacs-syntax package. Exported some more symbols from the climacs-syntax package. Implemented a few more functions in the climacs-syntax package that can be used to travarse the parse stack. The redisplay-pane function now calls a generic function redisplay-pane-with-syntax that also takes a syntax object as argument.
Improvements to HTML syntax. This syntax module now uses an incremental lexer, and and incremental parser based on the existing Earley parser in syntax.lisp. Removed backward-to-error and forward-to-error, since I am not sure that these are what we want.
package.lisp, pane.lisp: Added delegation-buffer class, allowing for dynamic buffer implementation choices. Modified climacs-buffer accordingly and added two extended buffer implementation classes and a few methods delegating undo and syntax functionality. Removed hard-coded uses of standard-buffer and standard mark classes. Modified :buffer arguments to syntax creation to make sure they are buffer implementations. gui.lisp: Removed obsolete region-limits. Modified :buffer arguments to syntax creation to make sure they are buffer implementations. Removed hard-coded uses of standard-buffer and standard mark classes. kill-ring.lisp: Fixed parameter order in (setf kill-ring-max-size). buffer-test.lisp, base-test.lisp: Added tests for delegating-standard-buffer. Replaced all but two mark instantiations with calls to clone-mark.
Implemented new conditions according to proposal on the devel list.
Improvements and fixes to fill-line and buffer-search-word* functions, and the remaining base tests.
Beginning of a Common Lisp syntax that will be extended during the spring by our group of students. For now, it contains an incremental lexer that maintains the entire buffer as a flexichain of `elements', i.e., syntactic elements that are going to be meaningful to the incremental parser.
Moved forward-object and backward-object to the buffer protocol. Updated buffer.lisp and base.lisp accordingly. Also added the documentation of these functions to the Texinfo documentation.
Implemented the new buffer-modification protocol with both update-syntax and update-syntax-for-display.
Fixed the display-message function so that it actually displays a message in the minibuffer. Implemented an incremental Earley parser for the syntax module.
Fixed bad isearch behaviour when searching after a failure
Made query-replace respect the case of replaced strings.
Added basic query-replace support. First humble try at command loop factoring
Persistent/balanced-tree buffer implementations with tests.
Implemented undo and redo.
Added backward isearch
Added basic Isearch support
Box ajuster gadget for changing size of windows (thanks to Nicolas Lamirault) [though I did not put this in yet, because it seems to break com-delete-window. If someone can figure out why, I'll put it in.] Kill-buffer command (thanks to Lawrence Mitchell)
Added auto-fill mode
Added indent-line and newline-and-indent (bound to C-j)
Implemented beginning-of-paragraph and end-of-paragraph, the first commands to exploit a syntax, in this case text-syntax.
Did a major overhaul of the syntax facility. The previous functionality is now divided into three parts: the first one is the real syntax, associated with the buffer instead of with the pane. The second part is the cache management, now associated with the pane instead of with the syntax. The third part is a CLIM view, associated with the pane, which determines presentation parameters such as highlighting. modified the tabify/untabify code so that the space-width and tab-width are no longer in the syntax, but in the view. Factored out the climacs pane and displaying of text in the pane into a new file, pane.lisp.
First attempt at a syntax for ordinary text.
Fixed wrong usage of mark-mixin, updated copyrights
Added upcase/downcase/capitalize-region, and a do-buffer-region macro
Fixed up abbrevs somewhat. Made the cursor wider, so easier to find. Added new command `Load File'.
upcase, downcase, capitalize words from Rudi Schlatte. Thanks!
Moved forward-object and backward-object to base.lisp because I needed them in syntax.lisp. Improved performance of end-of-line, the slowness of which was a problem for redisplay. Fixed (I hope) bug in redisplay code. I don't seem to be able to convince McCLIM to avoid redrawing all the lines after a new line has been inserted, though.
Rollback (repeat: no protocol changes).
Overwrite mode: first iteration (no protocol changes).
kill ring updated and functioning protocol. Enjoy C-k and M-y like you never have in climacs before:)
replaced *previous-command* and *goal-column* by slots in the pane according to a suggestion by Rudi Schlatte. implemented dynamic abbrev expansion according to a suggestion by Luigi Panzeri.
Added (non-incremental for now) search functions.
Implemented page-down (M-v).
Implemented page-down (C-v).
Factored aspects of named objects (currently buffers and syntaxes) into a syntax-mixin class in base.lisp. Updated packages.lisp accordingly. Implemented syntax completion (i.e., the possibility to use CLIM completion to determine the name of a syntax). I Implemented an extended command "Set Syntax" using the completion. Currently, it does not invalidate the CLIM output history, because I need to think a bit more about how to do that properly.
Simplified the redisplay routine. Introduced a cache of lines in the form of a flexichain. The ultra-fast redisplay is not yet in place, because I thought the bottle neck was in Climacs, whereas it is in McCLIM. I know how to fix that, though, by using :cache-test #'eq for cached lines. The only problem with that is that the line has to be traversed (despite being cached) in order that we can compute the position of the cursor. This might involve either invalidating the line with the cursor on it, so that it will be rescanned, or else rescanning it anyway, despite it being cached.
New commands: M-m (back to indentation) M-d (delete word) M-backspace (backward delete word) M-x goto-position M-x goto-line New function whitespacep. Used `:name t' instead of repeating the command name in define-command.
Tiding up a kill ring warning and move buffer related material to gui.lisp
Modified the buffer protocol to contain a modification flag, and implemented the modification. Updated the documentation. Added a flag to the climacs-buffer indicating whether the buffer needs saving. This is different from the modification flag, which is only valid during one iteration of the command loop. The needs-saving flag checks the modification flag, though, after each command execution.
adding in kill ring material
Much improved redisplay algorithm. The behavior when point is outside the current region on display is much faster and similar to that of Emacs, in that the algorithm tries to position point in the middle of the pane.
Simplified the syntax protocol according to suggestions from Teemu Kalvas.
Resolved conflict in gui.lisp.
First steps toward a decent redisplay function. We introduce a protocol class `syntax' used to specialize methods of the redisplay functions. We also introduce a class `basic-syntax', a subclass of `syntax' that can redisplay basic text. Currently, the redisplay method on basic-syntax is not terribly smart, as it displays the entire buffer. Each pane that displays a buffer also contains a syntax used to determine the way the buffer is to be rendered in that pane. Currently, the implementation is ahead of the specification with respect to this syntax abstraction. That will not be the case for very long, though.
Completed the description of the buffer modification protocol. Implemented the protocol. Updated the buffer package accordingly.
Docstrings from Elliott Johnson. the find-file command now stores the filename in the buffer for later use by save-buffer.
Implemented save-buffer. Made buffer and point part of the pane instead of the frame. Created a climacs-pane, subset of application-pane. Turned abbrevs and filenames into buffer mixins, and defined a climacs-buffer class. Removed the abbrev-buffer class. Updated package file to reflect new names.
Added new file io.lisp with input/output functions and the packages.lisp file accordingly. Added README file. Totally rewrote the buffer implementation to use a single flexichain. It should now be fast enough to replace Goatee. Modified climacs.asd to reflect the use of Flexichain Updated INSTALL file to give instructions for fetching Flexichain. Updated gui.lisp to reflect the new functionality in io.lisp
I am now convinced the buffer can contain arbitrary objects. I therefore updated the protocol descriptions and the code to reflect that.
mostly bug fixes.
This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, select a symbolic revision name using the selection box, or choose 'Use Text Field' and enter a numeric revision.
|Powered by ViewVC 1.1.5|