code: func MetaField(l *State, index int, event string) bool {
  	if !l.MetaTable(index) {
  		return false
  	}
  	l.PushString(event)
  	l.RawGet(-2)
  	if l.IsNil(-1) {
  		l.Pop(2) // remove metatable and metafield
  		return false
  	}
  	l.Remove(-2) // remove only metatable
  	return true
  }
docs: // MetaField pushes onto the stack the field event from the metatable of the
  // object at index. If the object does not have a metatable, or if the
  // metatable does not have this field, returns false and pushes nothing.