From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: nalaginrut Newsgroups: gmane.lisp.guile.devel Subject: %load-hook only used within primitive-load? Date: Thu, 14 Apr 2011 18:05:59 +0800 Organization: HFG Message-ID: <1302775559.2639.122.camel@Renee-desktop> Reply-To: NalaGinrut@gmail.com NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Trace: dough.gmane.org 1302775582 7903 80.91.229.12 (14 Apr 2011 10:06:22 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Thu, 14 Apr 2011 10:06:22 +0000 (UTC) To: guile-devel Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Thu Apr 14 12:06:18 2011 Return-path: Envelope-to: guile-devel@m.gmane.org Original-Received: from lists.gnu.org ([140.186.70.17]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1QAJRJ-0003Vo-SR for guile-devel@m.gmane.org; Thu, 14 Apr 2011 12:06:18 +0200 Original-Received: from localhost ([::1]:47046 helo=lists2.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QAJRJ-0000NR-AH for guile-devel@m.gmane.org; Thu, 14 Apr 2011 06:06:17 -0400 Original-Received: from eggs.gnu.org ([140.186.70.92]:50376) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QAJRG-0000N9-BR for guile-devel@gnu.org; Thu, 14 Apr 2011 06:06:15 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QAJRF-0004LV-63 for guile-devel@gnu.org; Thu, 14 Apr 2011 06:06:14 -0400 Original-Received: from mail-iy0-f169.google.com ([209.85.210.169]:62302) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QAJRF-0004LR-35 for guile-devel@gnu.org; Thu, 14 Apr 2011 06:06:13 -0400 Original-Received: by iyh42 with SMTP id 42so1908616iyh.0 for ; Thu, 14 Apr 2011 03:06:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:subject:from:reply-to:to:content-type :organization:date:message-id:mime-version:x-mailer :content-transfer-encoding; bh=DA2jcCOFd0bvON5nsSlID3vrp5+Suug33CTMdnMDMMQ=; b=t0uzVBhaycYBjkV+QlMqlnoVkc8Yg1pwzP0wK04ievGDNaiNPHPTKYTwkU4xnKJF8p x5y1fplA9PXwbYCLEMvjjHbkFISkv25/ZJ1fsrmmokaKl1i8caviIB1ezP1ko4QsTZmk WQhjatttdzVDg+2WBYiW4h2OqtRZ1dpPE2d+g= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=subject:from:reply-to:to:content-type:organization:date:message-id :mime-version:x-mailer:content-transfer-encoding; b=KVr/V/DxRCkNEGJruiRyhvZfO+2i7EmfQ61Jzr03RxdRcOr7kej5aLmbdOC9rci6x3 jddCMSN3WzG8SZWYBFW2Tf2BcgYGzXp/DFArzY6gHNOSEbEsb2eYBLKMuox8xKg2ofXf LBtF0BJXVJz0Kkd752UJLdWwWa8mqsotMX9ag= Original-Received: by 10.231.55.90 with SMTP id t26mr494680ibg.116.1302775571756; Thu, 14 Apr 2011 03:06:11 -0700 (PDT) Original-Received: from [192.168.100.100] ([183.15.161.139]) by mx.google.com with ESMTPS id y10sm1097285iba.12.2011.04.14.03.06.08 (version=SSLv3 cipher=OTHER); Thu, 14 Apr 2011 03:06:11 -0700 (PDT) X-Mailer: Evolution 2.28.3 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-Received-From: 209.85.210.169 X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Original-Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.devel:12259 Archived-At: hi all. I found the manual said "%load-hook is used by all of the above loading functions (load,load-path, primitive-load and primitive-load-path)". But it seems only "primitive-load" according to it. If I want to add a load-path before loading a file(assume foo.scm is under "/tmp/foo"): ========== (define add-new-path (lambda (p) (if (call/cc (lambda (ret) (for-each (lambda (x) (if (string=? x p) (ret #f))) %load-path) #t)) (set! %load-path (cons p %load-path))))) ;; add new path without redundancy (set! %load-hook (lambda (filename) (set! %load-path (add-new-path "/tmp/foo")))) (load-from-path "foo.scm") ============== Then it's failed. This path-add operation didn't occur. %load-path is untouched. But this will: ============== (primitive-load "foo.scm") ;; will fail (load-from-path "foo.scm") ;; success ============== And I found %load-hook will only be used within primitive-load, even a simple filename-print instance copied from manual. I think it's not according to the manual. My questions are: [1] Is this accepted? [2] I'm failed to find "load" procedure(well,I can find sym_load but no further), anybody give me a hint? -- GNU Powered it GPL Protected it GOD Blessed it HFG - NalaGinrut --hacker key-- v4sw7CUSMhw6ln6pr8OSFck4ma9u8MLSOFw3WDXGm7g/l8Li6e7t4TNGSb8AGORTDLMen6g6RASZOGCHPa28s1MIr4p-x hackerkey.com ---end key---