| 1225 | } |
| 1226 | |
| 1227 | func (l *State) setErrorObject(err error, oldTop int) { |
| 1228 | switch err { |
| 1229 | case MemoryError: |
| 1230 | l.stack[oldTop] = l.global.memoryErrorMessage |
| 1231 | case ErrorError: |
| 1232 | l.stack[oldTop] = "error in error handling" |
| 1233 | default: |
| 1234 | l.stack[oldTop] = l.stack[l.top-1] |
| 1235 | } |
| 1236 | l.top = oldTop + 1 |
| 1237 | } |
| 1238 | |
| 1239 | func (l *State) protectedCall(f func(), oldTop, errorFunc int) error { |
| 1240 | callInfo, allowHook, nonYieldableCallCount, errorFunction := l.callInfo, l.allowHook, l.nonYieldableCallCount, l.errorFunction |