diff options
author | sterni <sternenseemann@systemli.org> | 2022-07-04T13·56+0200 |
---|---|---|
committer | clbot <clbot@tvl.fyi> | 2022-07-05T15·01+0000 |
commit | 49aee7a8f283069a3b47a2617a448389fe8c4373 (patch) | |
tree | b6d2102124ad161a4f047c656e76b89a499b61d1 /third_party/lisp/sclf/serial.lisp | |
parent | c08e47903e19e9a5ea397430e690680d91c5a9ac (diff) |
chore: remove sclf from the tree r/4275
SCLF is quite a big utility library (almost 3€ LOC) with limited portability (CMUCL, SBCL and CLISP to an extent). Continuing to maintain it is an unnecessary burden, as depot only uses a fraction of it which is now inlined into the respective users (mime4cl and mblog). In the future trimming down ex-sclf.lisp may make sense either by refactoring the code that uses it or by moving interesting utilities into e.g. klatre. Change-Id: I2e73825b6bfa372e97847f25c30731a5aad4a1b5 Reviewed-on: https://cl.tvl.fyi/c/depot/+/5922 Tested-by: BuildkiteCI Autosubmit: sterni <sternenseemann@systemli.org> Reviewed-by: sterni <sternenseemann@systemli.org>
Diffstat (limited to 'third_party/lisp/sclf/serial.lisp')
-rw-r--r-- | third_party/lisp/sclf/serial.lisp | 62 |
1 files changed, 0 insertions, 62 deletions
diff --git a/third_party/lisp/sclf/serial.lisp b/third_party/lisp/sclf/serial.lisp deleted file mode 100644 index 41d32e4c49fd..000000000000 --- a/third_party/lisp/sclf/serial.lisp +++ /dev/null @@ -1,62 +0,0 @@ - ;;; serial.lisp --- serialisation of CLOS objects - - ;;; Copyright (C) 2009 by Walter C. Pelissero - - ;;; Author: Walter C. Pelissero <walter@pelissero.de> - ;;; Project: sclf - -#+cmu (ext:file-comment "$Module: serial.lisp $") - -;;; This library is free software; you can redistribute it and/or -;;; modify it under the terms of the GNU Lesser General Public License -;;; as published by the Free Software Foundation; either version 2.1 -;;; of the License, or (at your option) any later version. -;;; This library is distributed in the hope that it will be useful, -;;; but WITHOUT ANY WARRANTY; without even the implied warranty of -;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -;;; Lesser General Public License for more details. -;;; You should have received a copy of the GNU Lesser General Public -;;; License along with this library; if not, write to the Free -;;; Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA -;;; 02111-1307 USA - -(in-package :sclf) - -(defclass printable-object-mixin () ()) - -(defmacro reconstruct-object (class &rest args) - `(apply #'make-instance ',class ',args)) - -(defun print-readable-instance (object &optional stream) - (unless stream - (setf stream *standard-output*)) - (be class (class-of object) - (pprint-logical-block (stream (copy-list (class-slots class)) :prefix "#.(" :suffix ")") - (flet ((spc () - (write-char #\space stream))) - (write 'reconstruct-object :stream stream) - (spc) - (write (class-name class) :stream stream :escape t :readably t :pretty t) - (pprint-exit-if-list-exhausted) - (spc) - (loop - (be* slot (pprint-pop) - slot-name (slot-definition-name slot) - initarg (car (slot-definition-initargs slot)) - (when (and initarg - (slot-boundp object slot-name)) - (write initarg :stream stream) - (spc) - (when *print-pretty* - (pprint-newline :miser stream)) - (write (slot-value object slot-name) - :stream stream) - (pprint-exit-if-list-exhausted) - (if *print-pretty* - (pprint-newline :linear stream) - (spc))))))))) - -(defmethod print-object ((object printable-object-mixin) stream) - (if *print-readably* - (print-readable-instance object stream) - (call-next-method))) |