unofficial mirror of guile-devel@gnu.org 
 help / color / mirror / Atom feed
From: Noah Lavine <noah.b.lavine@gmail.com>
To: Bruce Korb <bruce.korb@gmail.com>
Cc: Mark H Weaver <mhw@netris.org>, guile-devel@gnu.org
Subject: Re: unknown location: definition in expression context in subform optname-from of "_^"
Date: Thu, 26 Jan 2012 21:59:09 -0500	[thread overview]
Message-ID: <CA+U71=MZ91AGoWurkGKdX6DG4JpC2C7g6vdEXpcEhU-K=BGs+w@mail.gmail.com> (raw)
In-Reply-To: <4F220F84.5090601@gmail.com>

Hello,

>        /* Read expressions from that port; ignore the values.  */
>        for (;;) {
>            SCM form = scm_read(port);
>            if (SCM_EOF_OBJECT_P(form))
>                break;
>            ans = scm_primitive_eval_x(form);
>        }
>
>        return ans;
>    }
> }
>
> Every evaluation comes from here and in this instance, "pzFile"
> pointed to "/path/to/aginfo.tpl" and "line" was set to 163.
> Therefore, the location should *NOT* have been unknown and
> in fact, the displayed line number ought to have been 171.
>
> Why that failed I would very much want to know so that I can
> fix this ag_scm_c_eval_string_from_file_line() thingy.

I am not an expert, but this is my guess about what's happening: you
get the form from the file with scm_read. scm_read returns a regular
s-expression, not a syntax object. Then you pass this form to
scm_primitive_eval_x. scm_primitive_eval_x has a plain syntax-object
with no way to know where it came from, so it prints "unknown
location".

The reason the standard Guile interpreter knows where things came from
is that it parses files as syntax, not s-expressions, and syntax
objects have embedded file and line information.

But note that I didn't say that you could do this. I don't know of an
interface to this functionality (although I believe this example shows
that we need one).

Noah



  reply	other threads:[~2012-01-27  2:59 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-01-26  3:56 unknown location: definition in expression context in subform optname-from of "_^" Bruce Korb
2012-01-26  4:22 ` Mike Gran
2012-01-26  5:31   ` David Kastrup
2012-01-26 21:05   ` Bruce Korb
2012-01-26 21:21     ` Mike Gran
2012-01-26 21:37       ` Bruce Korb
2012-01-27  0:10     ` Mark H Weaver
2012-01-27  0:56       ` Bruce Korb
2012-01-27  2:26         ` Mark H Weaver
2012-01-27  2:44           ` Bruce Korb
2012-01-27  2:59             ` Noah Lavine [this message]
2012-01-27  3:36               ` Bruce Korb
2012-01-28  7:02                 ` Mark H Weaver
2012-01-28 16:58                   ` Bruce Korb
2012-01-28 19:03                     ` Andy Wingo
2012-01-28 19:47                       ` Mark H Weaver
2012-01-28 22:58                         ` Andy Wingo
2012-01-29  4:12                           ` Mark H Weaver
2012-01-29 17:40                             ` Bruce Korb
2012-01-29 18:06                               ` Mike Gran
2012-01-29 20:28                             ` Andy Wingo
2012-01-29 21:14                               ` Bruce Korb
2012-01-29 21:32                               ` Mark H Weaver
2012-01-28 22:59                         ` Andy Wingo
2012-01-27  6:27               ` Mark H Weaver
2012-01-27  6:19             ` Mark H Weaver
2012-01-27 14:04               ` Bruce Korb
2012-01-27 14:32                 ` Mark H Weaver

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/guile/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CA+U71=MZ91AGoWurkGKdX6DG4JpC2C7g6vdEXpcEhU-K=BGs+w@mail.gmail.com' \
    --to=noah.b.lavine@gmail.com \
    --cc=bruce.korb@gmail.com \
    --cc=guile-devel@gnu.org \
    --cc=mhw@netris.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).