Parent Directory | Revision Log
|Links to HEAD:||(view) (annotate)|
Latest anti-spam changes.
Support for paste expiration
Add email address to deletion request form.
Interface for requesting deletion of pastes via the web.
Short URLs and twitter integration (yay!) plus some new channels
Further consolidate paste list / paste index access and related cleanups Added explicit WEAKEN-PASTE-CONTENTS function to eliminate the KLUDGE of going through the accessors to set up the weak pointer. Added RESET-PASTE-INDEX, ADD-PASTE-TO-INDEX and REMOVE-PASTE-FROM-INDEX to cover most of the remaining uses of *pastes* and one of the uses of *paste-counter*. Added ADD-NEW-PASTE-TO-INDEX and ANNOTATE-PASTE to do the dirty work of paste-number allocation, adding pastes or annotations to the appropriate places, manage serialization, etc. in order to simplify MAKE-NEW-PASTE further. Deleted SERIALIZE-TRANSACTION as no longer necessary. Added a list of valid keywords to MAKE-NEW-PASTE's arglist.
Prep for possibly splitting paste storage directory or loading pastes as needed, general cleanups. In paste-write-xml-to-file, call ensure-directories-exist on the paste-xml-file, not on *paste-path*. In paste-xml-file, instead of taking a paste, take a "root paste designator". That is, a root paste, an annotation (representing its parent paste) or a paste number. Move a few functions around. Add some commentary and docstrings.
Use SBCL weak pointers for paste contents. Define accessors for paste-contents by hand, instead of by defclass. Change serialize-object-slots and deserialize-object-slots to operate in terms of readers and writers instead of slot-value. Add a new function, reload-paste-contents, to re-read the paste-contents field of a paste from the xml file on disk. Have the paste-contents accessors use weak pointers, falling back to reload-paste-contents for broken pointers, and have the reader return the slot value when it is not a weak pointer. Have paste-write-xml-to-file write first to a string-output-stream so as to not risk trying to read the paste-contents for a broken weak pointer while the file is being rewritten. Have serialize-transaction weaken the paste-contents pointer (it is created as a bare string, not a weak pointer). Minor cleanups: re-ordered functions within the file, added section headers, removed make-paste (it was useless), made a couple functions with useless return values explicitly return (values).
Restructured paste creation. Added a parent-paste slot to the paste structure to link annotations back to their parents. Changed paste-display-url to provide a valid and correct link for annotations as well as normal pastes. Changed the read-paste-xml-from-file to set the parent-paste slot when reading annotations. Changed serialize-transaction to operate purely in terms of a paste object, detecting the annotation case by means of paste-parent-paste. Extracted irc-announce-paste from make-new-paste, rewriting it to operate solely in terms of a paste object. Changed make-new-paste from a macro to a function, eliminating all redundant and constant inputs, adding paste-number allocation to the scope of the function, and having it return the new paste. Changed the submit-paste-handler to interact properly with the new version of make-new-paste, cleaning out some redudnant calculations along the way. Changed xmlrpc-method-newpaste to work properly with the new version of make-new-paste.
More clean up access to paste list. Added MAYBE-SPAM parameter to LIST-PASTES. Added new COUNT-PASTES function to establish an interface for obtaining quantity data without (theoretically) having to cons up an intermediate list or directly accessing *pastes*, implemented by consing up said immediate list and obtaining its length (oops). Changed the two references to *pastes* in administration.lisp to use the two functions mentioned above.
Clean up access to paste list. Added new function LIST-PASTES to return a list of pastes matching certian criteria. Changed all direct access to *PASTES* in web-server.lisp and xml-paste.lisp other than paste creation to use LIST-PASTES.
Use FIND-PASTE where possible. Changed all direct searches of *PASTES* for a particular paste number to use FIND-PASTE.
Paste storage consolidation Moved definition of class paste and some helper functions from web-server.lisp to persistent-pastes.lisp. Moved paste creation and manipulation macros and functions from lisppaste.lisp to persistent-pastes.lisp. Fixed up dependencies related to the changes above in lisppaste.asd.
Make colorize hash weak; make new pastes unicode (utf-8)
Ignore malformed paste files; add latest channels
Oops. Bug fix for better extensibility.
Add support for basic administration via a web interface
Fixes for IRC-less mode
Might as well commit everything and let god^Wme sort them out. minor or major changes to support system-server, et al
Event log, update read-pastes-from-file
no-channel pastes; kill-paste command
Small bugfixes for non-SBCL
Remove evil ^Ms
better persistent pastes, big diff in web-server due to M-x untabify
IRC log links from the pastebot to the context at meme.b9.com
Make persistence default
added persistent-pastes to the asdf file
Serialize list of pastes in the pastebot
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|