From mboxrd@z Thu Jan 1 00:00:00 1970 From: Kalle Olavi Niemitalo To: guile-emacs@sourceware.cygnus.com Subject: Lisp reference to Scheme reference Date: Mon, 01 May 2000 21:07:00 -0000 Message-id: <87og6pq5d6.fsf@PC486.Niemitalo.LAN> X-SW-Source: 2000-q2/msg00020.html My recent macro-importing changes have caused a problem. Previously, imported macros always put the returned value through `lispref->scm'. Now they make Lisp references just like imported functions. (define-module (emacs user) :use-module (emacs import) :use-module (emacs macro)) (begin-save-excursion 1) => # I don't think we want a Lisp reference in this case. The easy fix would be to make imported macros call `lispref->scm' again, but that might be wrong for some macros. And it gets worse: (define lr (object-property (begin-save-excursion 1) 'lisp-reference)) lr => # (import-lisp-function prin1-to-string) ((prin1-to-string lr)) => "#" So we have a Lisp reference pointing to a Scheme reference. I think make_lispref should return the original Scheme object instead of making such double references. May I change it?