bugGuile - Bugs: bug #30623, `module-public-interface' returns...

 
 

bug #30623: `module-public-interface' returns #f for `the-scm-module'

Submitter:  Patrick McCarty <pnorcks>
Submitted:  Sun 01 Aug 2010 09:00:24 PM UTC
   
 
Category:  None Severity:  3 - Normal
Item Group:  None Status:  Fixed
Privacy:  Public Assigned to:  None
Open/Closed:  Closed
* Mandatory Fields

Add a New Comment Rich Markup
   

Jump to the original submission

Sun 13 Feb 2011 02:40:45 PM UTC, comment #6: 

Commit 7354a105cdd86d57a7c4805d736497acdf735d56 changes `the-scm-module' to be its own public interface, thanks!

Ludovic Courtès <civodul>
Group administrator
Sun 05 Sep 2010 11:38:21 PM UTC, comment #5: 

Sorry, I tried to isolate the problem for you without telling the whole story...

In the LilyPond source (lily/ly-module.cc), we have


SCM
ly_use_module (SCM mod, SCM used)
{
  SCM expr
    = scm_list_3 (ly_symbol2scm ("module-use!"),
                  mod,
                  scm_list_2 (ly_symbol2scm ("module-public-interface"),
                              used));

  return scm_eval (expr, global_lily_module);
}


There is a call to this function with the equivalent of `the-scm-module' as the second argument.

In this situation, it would definitely be easier for us just to replace `the-scm-module' with `the-root-module'.

Patrick McCarty <pnorcks>
Sun 05 Sep 2010 08:46:12 PM UTC, comment #4: 

OK.

As I said,

  (eq? (module-public-interface the-root-module) the-scm-module)

Why don't you just use `the-scm-module' then?

Ludo'.

Ludovic Courtès <civodul>
Group administrator
Sun 05 Sep 2010 07:38:51 PM UTC, comment #3: 

Hi,

Soon, we will be changing our use of


  (module-public-interface the-scm-module)


to


  (module-public-interface the-root-module)


instead.

In other words, we won't need a backwards-compatible fix after all.

Thanks,
Patrick

Patrick McCarty <pnorcks>
Wed 18 Aug 2010 04:51:27 PM UTC, comment #2: 

Actually:

#v+
scheme@(guile-user)> (eq? (module-public-interface the-root-module) the-scm-module)
$1 = #t
#v-

So I didn’t expect ‘the-scm-module’ to have a public interface.

With 1.8:

#v+
guile> (eq? (module-public-interface the-root-module) the-scm-module)
$1 = #t
guile> (eq? (module-public-interface the-scm-module) the-scm-module)
$2 = #t
#v-

We could change 1.9 to have ‘the-scm-module’ be its interface, as in 1.8, if that helps you.

What do you think?

Thanks,
Ludo’.

Ludovic Courtès <civodul>
Group administrator
Sun 01 Aug 2010 09:27:36 PM UTC, comment #1: 

I just noticed that using `the-root-module' seems to work with both Guile 1.8 and 1.9:

  scheme@(guile-user)> (module-public-interface the-root-module)
  $1 = #<interface (guile) 1573d80>
  scheme@(guile-user)>

Should LilyPond use `the-root-module' instead?

Patrick McCarty <pnorcks>
Sun 01 Aug 2010 09:00:24 PM UTC, original submission:  

Hello,

LilyPond relies on `the-scm-module' having a public interface, but it seems that this interface is not detected with Guile 1.9 (git):

  scheme@(guile-user)> (module-public-interface the-scm-module)
  $1 = #f
  scheme@(guile-user)>

The above call works just fine in Guile 1.8:

  guile> (module-public-interface the-scm-module)
  #<interface (guile) 7f70cf007840>
  guile>


Thanks,
Patrick

Patrick McCarty <pnorcks>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by civodul (Posted a comment)
  • -email is unavailable- added by pnorcks (Submitted the item)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only logged-in users can vote.

     

    Follow 2 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2011-02-13 civodul StatusNone Fixed
        Open/ClosedOpen Closed

    Back to the top

    Powered by Savane 3.13-758e.
    Corresponding source code