From 9b94faa34d9d2bd1f6b4a0049e16480d7eb0687e Mon Sep 17 00:00:00 2001
From: David Kastrup <dak@gnu.org>
Date: Sat, 4 Feb 2017 23:13:01 +0100
Subject: [PATCH] Issue 5057/5: Stop SCM/int confusion for grob interface table

---
 lily/grob-interface-scheme.cc | 11 ++++-------
 1 file changed, 4 insertions(+), 7 deletions(-)

diff --git a/lily/grob-interface-scheme.cc b/lily/grob-interface-scheme.cc
index 3d5fa39a07..11a5576169 100644
--- a/lily/grob-interface-scheme.cc
+++ b/lily/grob-interface-scheme.cc
@@ -19,18 +19,15 @@
 
 #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);
-    }
+  if (!all_ifaces.is_bound ())
+    all_ifaces = scm_c_make_hash_table (59);
 
   SCM entry = scm_list_3 (a, b, c);
 
-- 
2.39.5