]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/grob-interface-scheme.cc
Issue 5167/6: Changes: show \markup xxx = ... \etc assignments
[lilypond.git] / lily / grob-interface-scheme.cc
index 9c6fbc058ca1d3fb1eddc8eba5e83c595e73b536..11a5576169761bf4c4c436d7deb92e3b96bce9bc 100644 (file)
@@ -1,7 +1,7 @@
 /*
   This file is part of LilyPond, the GNU music typesetter.
 
-  Copyright (C) 2005--2014 Han-Wen Nienhuys <hanwen@xs4all.nl>
+  Copyright (C) 2005--2015 Han-Wen Nienhuys <hanwen@xs4all.nl>
 
   LilyPond is free software: you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
 
 #include "lily-guile.hh"
 #include "std-string.hh"
+#include "protected-scm.hh"
 
-static SCM all_ifaces;
+static Protected_scm all_ifaces;
 
 void
 internal_add_interface (SCM a, SCM b, SCM c)
 {
-  if (!all_ifaces)
-    {
-      SCM tab = scm_c_make_hash_table (59);
-      all_ifaces = tab;
-      scm_permanent_object (tab);
-    }
-
-  SCM entry = scm_list_n (a, b, c, SCM_UNDEFINED);
+  if (!all_ifaces.is_bound ())
+    all_ifaces = scm_c_make_hash_table (59);
+
+  SCM entry = scm_list_3 (a, b, c);
 
   scm_hashq_set_x (all_ifaces, a, entry);
 }