about summary refs log tree commit diff stats
path: root/071recipe.cc
diff options
context:
space:
mode:
Diffstat (limited to '071recipe.cc')
-rw-r--r--071recipe.cc4
1 files changed, 3 insertions, 1 deletions
diff --git a/071recipe.cc b/071recipe.cc
index 4a8caefd..9135feda 100644
--- a/071recipe.cc
+++ b/071recipe.cc
@@ -114,7 +114,9 @@ case CALL: {
     raise << maybe(current_recipe_name()) << "tried to call empty recipe in '" << to_string(current_instruction()) << "'" << end();
     break;
   }
-  const instruction& call_instruction = current_instruction();
+  instruction/*copy*/ call_instruction = current_instruction();
+  call_instruction.operation = ingredients.at(0).at(0);
+  call_instruction.ingredients.erase(call_instruction.ingredients.begin());
   Current_routine->calls.push_front(call(ingredients.at(0).at(0)));
   ingredients.erase(ingredients.begin());  // drop the callee
   finish_call_housekeeping(call_instruction, ingredients);