Merge pull request #243 from picrin-scheme/better-error-message
Improve error message for record accessor and setter
This commit is contained in:
		
						commit
						5e3bd1e037
					
				| 
						 | 
					@ -80,16 +80,16 @@
 | 
				
			||||||
	     `(define (,accessor record)
 | 
						     `(define (,accessor record)
 | 
				
			||||||
		(if (,pred record)
 | 
							(if (,pred record)
 | 
				
			||||||
		    (record-ref record ',field-name)
 | 
							    (record-ref record ',field-name)
 | 
				
			||||||
		    (error "wrong record type")))
 | 
							    (error (string-append (symbol->string  ',accessor) ": wrong record type") record)))
 | 
				
			||||||
	     `(begin
 | 
						     `(begin
 | 
				
			||||||
		(define (,accessor record)
 | 
							(define (,accessor record)
 | 
				
			||||||
		  (if (,pred record)
 | 
							  (if (,pred record)
 | 
				
			||||||
		      (record-ref record ',field-name)
 | 
							      (record-ref record ',field-name)
 | 
				
			||||||
		      (error "wrong record type")))
 | 
							      (error (string-append (symbol->string  ',accessor) ": wrong record type") record)))
 | 
				
			||||||
		(define (,(car modifier?) record val)
 | 
							(define (,(car modifier?) record val)
 | 
				
			||||||
		  (if (,pred record)
 | 
							  (if (,pred record)
 | 
				
			||||||
		      (record-set! record ',field-name val)
 | 
							      (record-set! record ',field-name val)
 | 
				
			||||||
		      (error "wrong record type")))))))))
 | 
							      (error (string-append (symbol->string ',(car modifier?)) ": wrong record type")  record)))))))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  (define-syntax define-record-type
 | 
					  (define-syntax define-record-type
 | 
				
			||||||
    (ir-macro-transformer
 | 
					    (ir-macro-transformer
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue