X-Git-Url: https://git.hcoop.net/clinton/lisp-on-lines.git/blobdiff_plain/fce59b368550e32a6db608fb8e10f5e2f2e4f6ec..2b0fd9c886908c6492c66cc30fcacf5fd600bf8e:/src/slot-presentations.lisp
diff --git a/src/slot-presentations.lisp b/src/slot-presentations.lisp
index 8bd517c..2f75737 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)
+ (