]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/unpure-pure-container.cc
Issue 4439/1: Use Input::non_fatal_error instead of Input::error where appropriate
[lilypond.git] / lily / unpure-pure-container.cc
index 4c07e31fd268336a7544651abf8aec838f60a4a7..d5962bd028d29f9014e0ca612fa28bb5a44f67ab 100644 (file)
@@ -1,7 +1,7 @@
 /*
   This file is part of LilyPond, the GNU music typesetter.
 
-  Copyright (C) 2011--2014 Mike Solomon <mike@mikesolomon.org>
+  Copyright (C) 2011--2015 Mike Solomon <mike@mikesolomon.org>
 
 
   LilyPond is free software: you can redistribute it and/or modify
 */
 #include "unpure-pure-container.hh"
 
-#include "grob.hh"
-
 // Reroutes a call to the contained function after dropping last two
 // arguments.  Used for applying an "unpure" function in a "pure"
 // context.
 class Unpure_pure_call : public Smob1<Unpure_pure_call>
 {
 public:
-  LY_DECLARE_SMOB_PROC (2, 0, 1, (SCM self, SCM arg1, SCM arg2, SCM rest))
+  LY_DECLARE_SMOB_PROC (&Unpure_pure_call::call, 2, 0, 1)
+  SCM call (SCM arg1, SCM arg2, SCM rest)
   {
-    return scm_apply_0 (Unpure_pure_call::unsmob (self)->scm1 (),
+    return scm_apply_0 (scm1 (),
                         scm_call_2 (ly_lily_module_constant ("drop-right"),
                                     scm_cons2 (arg1, arg2, rest),
                                     scm_from_int (2)));
@@ -62,7 +61,7 @@ LY_DEFINE (ly_unpure_pure_container_unpure_part, "ly:unpure-pure-container-unpur
            "Return the unpure part of @var{pc}.")
 {
   LY_ASSERT_SMOB (Unpure_pure_container, pc, 1);
-  return Unpure_pure_container::unsmob (pc)->unpure_part ();
+  return unsmob<Unpure_pure_container> (pc)->unpure_part ();
 }
 
 LY_DEFINE (ly_unpure_pure_container_pure_part, "ly:unpure-pure-container-pure-part",
@@ -70,19 +69,18 @@ LY_DEFINE (ly_unpure_pure_container_pure_part, "ly:unpure-pure-container-pure-pa
            "Return the pure part of @var{pc}.")
 {
   LY_ASSERT_SMOB (Unpure_pure_container, pc, 1);
-  return Unpure_pure_container::unsmob (pc)->pure_part ();
+  return unsmob<Unpure_pure_container> (pc)->pure_part ();
 }
 
 int
-Unpure_pure_container::print_smob (SCM s, SCM port, scm_print_state *)
+Unpure_pure_container::print_smob (SCM port, scm_print_state *)
 {
-  Unpure_pure_container *p = Unpure_pure_container::unsmob (s);
   scm_puts ("#<unpure-pure-container ", port);
-  scm_display (p->unpure_part (), port);
-  if (!p->is_unchanging ())
+  scm_display (unpure_part (), port);
+  if (!is_unchanging ())
     {
       scm_puts (" ", port);
-      scm_display (p->pure_part (), port);
+      scm_display (pure_part (), port);
     }
   scm_puts (" >", port);
   return 1;