[gsharp-cvs] CVS gsharp

rstrandh rstrandh at common-lisp.net
Tue Jan 16 05:36:40 UTC 2007


Update of /project/gsharp/cvsroot/gsharp
In directory clnet:/tmp/cvs-serv22780

Modified Files:
	buffer.lisp 
Log Message:
Turned print-gsharp-object into a generic function with 
(:method-combination :progn :most-specific-last), because that 
was how it was meant to work anyway. 

Turned #\] into a list-terminating character in the Gsharp readtables. 



--- /project/gsharp/cvsroot/gsharp/buffer.lisp	2007/01/16 05:21:39	1.40
+++ /project/gsharp/cvsroot/gsharp/buffer.lisp	2007/01/16 05:36:40	1.41
@@ -3,19 +3,21 @@
 (defparameter *gsharp-readtable-v3* (copy-readtable))
 (defparameter *gsharp-readtable-v4* (copy-readtable))
 
-(make-dispatch-macro-character #\[ nil *gsharp-readtable-v3*)
-
 (defun read-gsharp-object-v4 (stream char)
   (declare (ignore char))
   (apply #'make-instance (read-delimited-list #\] stream t)))
 
+(make-dispatch-macro-character #\[ nil *gsharp-readtable-v3*)
 (set-macro-character #\[ #'read-gsharp-object-v4 nil *gsharp-readtable-v4*)
+(set-syntax-from-char #\] #\) *gsharp-readtable-v3*)
+(set-syntax-from-char #\] #\) *gsharp-readtable-v4*)
 
 (defclass gsharp-object () ())
 
-(defgeneric print-gsharp-object (obj stream))
+(defgeneric print-gsharp-object (obj stream)
+  (:method-combination progn :most-specific-last))
 
-(defmethod print-gsharp-object ((obj gsharp-object) stream)
+(defmethod print-gsharp-object progn ((obj gsharp-object) stream)
   (format stream "~s ~2i" (class-name (class-of obj))))
 
 ;;; (defmethod print-object :around ((obj gsharp-object) stream)
@@ -32,7 +34,7 @@
 (defclass name-mixin ()
   ((name :initarg :name :accessor name)))
 
-(defmethod print-gsharp-object :after ((obj name-mixin) stream)
+(defmethod print-gsharp-object progn ((obj name-mixin) stream)
   (format stream "~_:name ~W " (name obj)))
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@@ -68,7 +70,7 @@
             (:percussion 3))))
   (make-instance 'clef :name name :lineno lineno))
 
-(defmethod print-gsharp-object :after ((c clef) stream)
+(defmethod print-gsharp-object progn ((c clef) stream)
   (format stream "~_:lineno ~W " (lineno c)))
 
 (defun read-clef-v3 (stream char n)
@@ -129,7 +131,7 @@
   (declare (ignore name clef keysig))
   (apply #'make-instance 'fiveline-staff args))
 
-(defmethod print-gsharp-object :after ((s fiveline-staff) stream)
+(defmethod print-gsharp-object progn ((s fiveline-staff) stream)
   (format stream "~_:clef ~W ~_:keysig ~W " (clef s) (keysig s)))
 
 (defun read-fiveline-staff-v3 (stream char n)
@@ -227,7 +229,7 @@
            (ignore head accidentals dots))
   (apply #'make-instance 'note :pitch pitch :staff staff args))
 
-(defmethod print-gsharp-object :after ((n note) stream)
+(defmethod print-gsharp-object progn ((n note) stream)
   (with-slots (pitch staff head accidentals dots %tie-right %tie-left) n
     (format stream
             "~_:pitch ~W ~_:staff ~W ~_:head ~W ~_:accidentals ~W ~_:dots ~W ~
@@ -262,7 +264,7 @@
   ((bar :initform nil :initarg :bar :accessor bar)
    (xoffset :initform 0 :initarg :xoffset :accessor xoffset)))
 
-(defmethod print-gsharp-object :after ((e element) stream)
+(defmethod print-gsharp-object progn ((e element) stream)
   (with-slots (notehead rbeams lbeams dots xoffset) e
     (format stream
             "~_:xoffset ~W " xoffset)))
@@ -301,7 +303,7 @@
    (lbeams :initform 0 :initarg :lbeams :accessor lbeams)
    (dots :initform 0 :initarg :dots :accessor dots)))
    
-(defmethod print-gsharp-object :after ((e rhythmic-element) stream)
+(defmethod print-gsharp-object progn ((e rhythmic-element) stream)
   (with-slots (notehead rbeams lbeams dots) e
     (format stream
             "~_:notehead ~W ~_:rbeams ~W ~_:lbeams ~W ~_:dots ~W "
@@ -356,7 +358,7 @@
            (ignore alterations))
   (apply #'make-instance 'key-signature :staff staff args))
 
-(defmethod print-gsharp-object :after ((k key-signature) stream)
+(defmethod print-gsharp-object progn ((k key-signature) stream)
   (with-slots (%staff %alterations) k
     (format stream
             "~_:staff ~W ~_:alterations ~W " %staff %alterations)))
@@ -440,7 +442,7 @@
            (ignore notehead lbeams rbeams dots xoffset notes stem-direction))
   (apply #'make-instance 'cluster args))
 
-(defmethod print-gsharp-object :after ((c cluster) stream)
+(defmethod print-gsharp-object progn ((c cluster) stream)
   (with-slots (stem-direction notes) c
     (format stream "~_:stem-direction ~W ~_:notes ~W " stem-direction notes)))
 
@@ -526,7 +528,7 @@
   (apply #'make-instance 'rest
          :staff staff args))
 
-(defmethod print-gsharp-object :after ((s rest) stream)
+(defmethod print-gsharp-object progn ((s rest) stream)
   (with-slots (staff staff-pos) s
     (format stream "~_:staff ~W ~_:staff-pos ~W " staff staff-pos)))
 
@@ -572,7 +574,7 @@
   (apply #'make-instance 'lyrics-element
          :staff staff args))
 
-(defmethod print-gsharp-object :after ((elem lyrics-element) stream)
+(defmethod print-gsharp-object progn ((elem lyrics-element) stream)
   (with-slots (staff text) elem
      (format stream "~_:staff ~W ~_:text ~W " staff text)))
 
@@ -627,7 +629,7 @@
   (loop for element in (elements b)
         do (setf (bar element) b)))
 
-(defmethod print-gsharp-object :after ((b bar) stream)
+(defmethod print-gsharp-object progn ((b bar) stream)
   (format stream "~_:elements ~W " (elements b)))
 
 ;;; The duration of a bar is simply the sum of durations
@@ -750,7 +752,7 @@
            (ignore bars))
   (apply #'make-instance 'slice args))
 
-(defmethod print-gsharp-object :after ((s slice) stream)
+(defmethod print-gsharp-object progn ((s slice) stream)
   (format stream "~_:bars ~W " (bars s)))
 
 (defun read-slice-v3 (stream char n)
@@ -856,7 +858,7 @@
         (layer (body l)) l
         (layer (tail l)) l))
 
-(defmethod print-gsharp-object :after ((l layer) stream)
+(defmethod print-gsharp-object progn ((l layer) stream)
   (with-slots (head body tail staves) l
     (format stream "~_:staves ~W ~_:head ~W ~_:body ~W ~_:tail ~W "
             staves head body tail)))
@@ -988,7 +990,7 @@
     (loop for layer in layers
           do (setf (segment layer) s))))
 
-(defmethod print-gsharp-object :after ((s segment) stream)
+(defmethod print-gsharp-object progn ((s segment) stream)
   (format stream "~_:layers ~W ~_:tempo ~W " (layers s) (tempo s)))
 
 (defun read-segment-v3 (stream char n)
@@ -1106,7 +1108,7 @@
     (loop for segment in segments
           do (setf (buffer segment) b))))
 
-(defmethod print-gsharp-object :after ((b buffer) stream)
+(defmethod print-gsharp-object progn ((b buffer) stream)
   (with-slots (staves segments min-width spacing-style right-edge left-offset left-margin) b
     (format stream 
             "~_:min-width ~W ~_:spacing-style ~W ~_:right-edge ~W ~_:left-offset ~W ~_:left-margin ~W ~_:staves ~W ~_:segments ~W "




More information about the Gsharp-cvs mailing list