chiark / gitweb /
fix not to generate "%L segmentpart" lines twice each
authorian <ian>
Sun, 26 Jun 2005 00:50:47 +0000 (00:50 +0000)
committerian <ian>
Sun, 26 Jun 2005 00:50:47 +0000 (00:50 +0000)
layout/layout

index 2a52ac5fa737f3eb57dfa535a61bd8cc1c272d71..0a1f6fa3d247e831875caa4f9e56f45cc2f1e952 100755 (executable)
@@ -628,10 +628,11 @@ sub parametric__o_pt ($) {
 our $segused_incurrent;
 our $segused_currentpt;
 our $segmentpart_counter=0;
+our $segused_restorecounter;
 
 sub segment_used__print ($) {
     my ($pt) = @_;
-    if ($segused_incurrent > 0) {
+    if ($segused_incurrent > 0 && $segused_restorecounter==1) {
        o("%L segmentpart ".
          $segmentpart_counter++." ".
          $ctx->{Layer}{Level}.$ctx->{Layer}{Kind}." ".
@@ -660,13 +661,14 @@ sub segment_used__len ($$) {
 }
     
 sub segment_state_save () {
-    return [ $segused_incurrent, $segused_currentpt,
+    return [ 0, $segused_incurrent, $segused_currentpt,
             $segmentpart_counter, @segments ];
 }
 sub segment_state_restore ($) {
     my ($r) = @_;
-    ($segused_incurrent, $segused_currentpt,
+    ($segused_restorecounter, $segused_incurrent, $segused_currentpt,
      $segmentpart_counter, @segments) = @$r;
+    $r->[0]++;
 }
 
 sub segment_used_begin ($) {