return Lisp_Object(name).get_string_data()
return None
+ def is_nil(self):
+ return self.lisp_type == None
+
+ # Get the package of a symbol or None if not a symbol.
+ def get_symbol_package(self):
+ if self.lisp_type == "Lisp_Symbol":
+ value = self.value.GetValueForExpressionPath("->u.s.package")
+ package = Lisp_Object(value)
+ if package.pvec_type:
+ name = Lisp_Object(package.value.GetValueForExpressionPath("->name"))
+ return name.get_string_data()
+ return None
+
+ def get_package_name(self):
+ name = Lisp_Object(self.value.GetValueForExpressionPath("->name"))
+ return name.get_string_data()
+
# Return a summary string for this object.
def summary(self):
- return str(self.value)
+ return str(self.untagged)
+ def dump(self, result):
+ if self.lisp_type == "Lisp_Symbol":
+ result.AppendMessage(f"package: {self.get_symbol_package()}")
+ result.AppendMessage(f"name: {self.get_symbol_name()}")
+ elif self.lisp_type == "Lisp_String":
+ result.AppendMessage(str(self.get_string_data()))
+ elif self.lisp_type == "Lisp_Vectorlike" and self.pvec_type == "PVEC_PACKAGE":
+ result.AppendMessage(f"package {self.get_package_name()}")
+ else:
+ result.AppendMessage(self.summary())
+
\f
########################################################################
# LLDB Commands
# Load our Python files
command script import emacs_lldb
+# b xsignal
+b pkg_break
+#b pkg_error
+#b Fpkg_read
+# To find out from where macOS prints stuff to stderr, like
+# 023-07-20 13:41:17.073449+0200 emacs[53072:1205906] [default]
+# CGSWindowShmemCreateWithPort failed on port 0
+# b libsystem_trace.dylib``_os_log_error_impl
+ # Print with children provider, depth 2.
+ command alias xprint frame variable -P 2
# end.