mirror of
https://codeberg.org/scip/rpnc.git
synced 2025-12-17 12:31:04 +01:00
added debug output to Backup()
This commit is contained in:
4
calc.go
4
calc.go
@@ -393,6 +393,10 @@ func (c *Calc) DoFuncall(funcname string) error {
|
|||||||
return R.Err
|
return R.Err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// don't forget to backup!
|
||||||
|
c.stack.Backup()
|
||||||
|
|
||||||
|
// "pop"
|
||||||
if batch {
|
if batch {
|
||||||
// get rid of stack
|
// get rid of stack
|
||||||
c.stack.Clear()
|
c.stack.Clear()
|
||||||
|
|||||||
@@ -236,6 +236,11 @@ func TestCalc(t *testing.T) {
|
|||||||
exp: 2,
|
exp: 2,
|
||||||
batch: true,
|
batch: true,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
name: "undo",
|
||||||
|
cmd: `4 4 + undo *`,
|
||||||
|
exp: 16,
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, tt := range tests {
|
for _, tt := range tests {
|
||||||
|
|||||||
4
stack.go
4
stack.go
@@ -198,10 +198,14 @@ func (s *Stack) Backup() {
|
|||||||
s.mutex.Lock()
|
s.mutex.Lock()
|
||||||
defer s.mutex.Unlock()
|
defer s.mutex.Unlock()
|
||||||
|
|
||||||
|
s.Debug(fmt.Sprintf("backing up %d items from rev %d",
|
||||||
|
s.linklist.Len(), s.rev))
|
||||||
|
|
||||||
s.backup = list.List{}
|
s.backup = list.List{}
|
||||||
for e := s.linklist.Front(); e != nil; e = e.Next() {
|
for e := s.linklist.Front(); e != nil; e = e.Next() {
|
||||||
s.backup.PushBack(e.Value.(float64))
|
s.backup.PushBack(e.Value.(float64))
|
||||||
}
|
}
|
||||||
|
|
||||||
s.backuprev = s.rev
|
s.backuprev = s.rev
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user