[PD-cvs] pd/src desire.tk,1.1.2.47,1.1.2.48

Mathieu Bouchard matju at users.sourceforge.net
Tue Sep 13 22:33:32 CEST 2005


Update of /cvsroot/pure-data/pd/src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29149

Modified Files:
      Tag: devel_0_39
	desire.tk 
Log Message:
changed class_new, ${class}_new (now def $class init) so that it's more like Smalltalk/Ruby/Objc


Index: desire.tk
===================================================================
RCS file: /cvsroot/pure-data/pd/src/Attic/desire.tk,v
retrieving revision 1.1.2.47
retrieving revision 1.1.2.48
diff -C2 -d -r1.1.2.47 -r1.1.2.48
*** desire.tk	13 Sep 2005 20:00:50 -0000	1.1.2.47
--- desire.tk	13 Sep 2005 20:33:29 -0000	1.1.2.48
***************
*** 16,21 ****
  # there's already something else called class)
  
! proc class_new {name body} {
! 	proc ${name}_new {} $body
  }
  
--- 16,28 ----
  # there's already something else called class)
  
! set nextid 0
! proc class_new {name} {
! 	proc ${name}_new {args} "
! 		global nextid _
! 		set self \$nextid
! 		incr nextid
! 		set _(\$self:_class) $name
! 		eval [concat [list \$self init] \$args]
! 	"
  }
  
***************
*** 27,39 ****
  rename unknown _original_unknown
  proc unknown {args} {
  	global _
! 	if {[catch {
! 		set name $_($self:_class)_$selector
! 		set self [lindex $args 0]
! 		set selector [lindex $args 1]
! 		uplevel 1 [linsert [concat [list $self] [lrange $args 2 end] 0 $selector]]
! 	}]} {
! 		uplevel 1 [linsert $args 0 _original_unknown]
  	}
  }
  
--- 34,49 ----
  rename unknown _original_unknown
  proc unknown {args} {
+ 	puts "!!! unknown $args"
  	global _
! 	set self [lindex $args 0]
! 	set selector [lindex $args 1]
! 	if {[llength [array names _ $self:_class]] == 0} {
! 		return [uplevel 1 [linsert $args 0 _original_unknown]]
  	}
+ 	set name $_($self:_class)_$selector
+ 	puts "proc name of $self $selector is $name"
+ 	set r [uplevel 1 [concat [list $name $self] [lrange $args 2 end]]]
+ 	puts "!!! /unknown $args"
+ 	return $r
  }
  
***************
*** 897,901 ****
  #-----------------------------------------------------------------------------------#
  
! class_new canvas {
  	global offset_canvas _
  	set canvas_id [format %x [expr 0x80f2b50 + $offset_canvas]]
--- 907,912 ----
  #-----------------------------------------------------------------------------------#
  
! class_new canvas
! def canvas init {} {
  	global offset_canvas _
  	set canvas_id [format %x [expr 0x80f2b50 + $offset_canvas]]
***************
*** 1370,1374 ****
  
  #-----------------------------------------------------------------------------------#
! class_new objectbox {
  	global offset _
  	set canvas $_(focus)
--- 1381,1386 ----
  
  #-----------------------------------------------------------------------------------#
! class_new objectbox
! def objectbox init {} {
  	global offset _
  	set canvas $_(focus)
***************
*** 2903,2907 ****
  #-----------------------------------------------------------------------------------#
  
! class_new bang {
  	global offset _
  	set offset [expr $offset + 1]
--- 2915,2920 ----
  #-----------------------------------------------------------------------------------#
  
! class_new bang
! def bang init {} {
  	global offset _
  	set offset [expr $offset + 1]





More information about the Pd-cvs mailing list