X-Git-Url: https://git.hcoop.net/clinton/lisp-on-lines.git/blobdiff_plain/fce59b368550e32a6db608fb8e10f5e2f2e4f6ec..cf220af8cb97796e2e75f9d642e9c4ea85ba05ba:/src/slot-presentations.lisp diff --git a/src/slot-presentations.lisp b/src/slot-presentations.lisp index 8bd517c..d515860 100644 --- a/src/slot-presentations.lisp +++ b/src/slot-presentations.lisp @@ -1,5 +1,11 @@ +;; i know this is horrible, but it works wonders. +(declaim (optimize (speed 0) (space 3) (safety 0))) + + (in-package :lisp-on-lines) + +;;;; I dont think i'm using these anymore. (defun multiple-value-funcall->list (function &rest args) "The function to be called by m-v-bf" (multiple-value-call #'list (apply function args))) @@ -14,23 +20,40 @@ ;;;; ** Textarea Slot Presentation (defslot-presentation text-slot-presentation () - ((rows :initarg :rows :accessor rows :initform 25) + ((rows :initarg :rows :accessor rows :initform 5) (columns :initarg :columns :accessor columns :initform 40) - (escape-html-p :initarg :escape-html-p :accessor escape-html-p :initform nil)) + (escape-html-p :initarg :escape-html-p :accessor escape-html-p :initform nil) + (convert-newlines-p :initarg :convert-newlines-p :accessor convert-newlines-p :initform nil)) (:type-name text)) (defmethod present-slot ((slot text-slot-presentation) instance) - (if (editablep slot) - (")))) + (presentation-slot-value slot instance)))) + (if (escape-html-p slot) + (<:as-html string) + (<:as-is string))))) + + (if (editablep slot) + (