Changeset 46 in project


Ignore:
Timestamp:
11/25/05 15:01:55 (15 years ago)
Author:
felix winkelmann
Message:

objc fixes

Location:
objc
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • objc/Makefile

    r41 r46  
    1818        csc $< -X objc.scm -kv -O2 -d0 -objc -FFoundation -framework Foundation
    1919
    20 egg:
     20egg: doc
    2121        tar cfz objc.egg objc.scm objc.setup cocoa.scm objc-base.scm objc.html
    2222
  • objc/doc.scm

    r41 r46  
    5858
    5959     (history
    60       (version "0.1" "Initial release (beta)"))
     60      (version "0.2" "Initial release (beta)"))
    6161
    6262     (requires
  • objc/objc-base.scm

    r40 r46  
    77          objc:instance? objc:selector? objc:class? objc:instance->pointer objc:pointer->instance
    88          objc:pointer->class
     9          objc:method-signature
    910          objc:resolve-with-cache objc:nsstring
    1011          objc:string->class objc:string->selector objc:selector->signature) )
     
    199200  (define (resolve c)
    200201    (let* ((sel (objc:string->selector keys))
    201            (sig (objc:method-signature receiver sel))
     202           (sig (or (objc:method-signature receiver sel)
     203                    (error 'objc:resolve-with-cache "no such method" keysym receiver)))
    202204           (call
    203205            (lambda (args)
     
    214216               ((##sys#symbol-has-toplevel-binding? cache)
    215217                (let ((c (##sys#slot cache 0)))
    216                   (if (and (equal? (##sys#slot c 0) (objc:instance-ptr receiver))
     218                  (if (and (equal? (##sys#slot c 0) (objc:instance->pointer receiver))
    217219                           (eq? keysym (##sys#slot c 1)) )
    218220                      (begin
  • objc/objc.html

    r41 r46  
    127127<h3>Version</h3>
    128128<ul>
    129 <li>0.1 Initial release (beta)</li></ul></div>
     129<li>0.2 Initial release (beta)</li></ul></div>
    130130<div class="section">
    131131<h3>Requires</h3>
  • objc/objc.scm

    r40 r46  
    3737        (if (and (null? syms) (not (keyword? sym1)) (symbol? sym1))
    3838            (values (symbol->string sym1) '())
    39             (let loop ((msg args) (keys '()) (vals '()))
     39            (let loop ((msg (cdr syms)) (keys (list ":" (symbol->string sym1))) (vals (list (car syms))))
    4040              (if (null? msg)
    4141                  (values (apply string-append (reverse keys)) (reverse vals))
     
    4545                           (if (null? r)
    4646                               (syntax-error loc "invalid method-invocation syntax - missing arguments" args)
    47                                (loop (cdr r) (cons ":" (cons (keyword->string sym1) keys)) (cons (car r) vals))))
     47                               (loop (cdr r) (cons ":" (cons (keyword->string sel) keys)) (cons (car r) vals))))
    4848                          (else (syntax-error loc "invalid selector syntax - bad keyword" sel) ) ) ) ) ) ) ) ) ) )
    4949
Note: See TracChangeset for help on using the changeset viewer.