From: Gerd Möllmann Date: Sat, 14 Oct 2023 07:52:50 +0000 (+0200) Subject: Merge remote-tracking branch 'origin/master' into scratch/pkg X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=e7125f90096c32ff1a904a53eeb8e0c3aba00a15;p=emacs.git Merge remote-tracking branch 'origin/master' into scratch/pkg --- e7125f90096c32ff1a904a53eeb8e0c3aba00a15 diff --cc etc/emacs_lldb.py index 120282f5335,24b127a1fb9..c5a472e16cb --- a/etc/emacs_lldb.py +++ b/etc/emacs_lldb.py @@@ -123,22 -122,23 +123,24 @@@ class Lisp_Object if self.lisp_type == "Lisp_Symbol": offset = self.get_lisp_pointer("char").GetValueAsUnsigned() self.value = self.eval(f"(struct Lisp_Symbol *)" - f" ((char *) &lispsym + {offset})") + f" ((char *) &lispsym + {offset})", + True) elif self.lisp_type == "Lisp_String": - self.value = self.get_lisp_pointer("struct Lisp_String") + self.value = self.get_lisp_pointer("struct Lisp_String", True) elif self.lisp_type == "Lisp_Vectorlike": c_type = Lisp_Object.pvec2type[self.pvec_type] - self.value = self.get_lisp_pointer(c_type) + self.value = self.get_lisp_pointer(c_type, True) elif self.lisp_type == "Lisp_Cons": - self.value = self.get_lisp_pointer("struct Lisp_Cons") + self.value = self.get_lisp_pointer("struct Lisp_Cons", True) elif self.lisp_type == "Lisp_Float": - self.value = self.get_lisp_pointer("struct Lisp_Float") + self.value = self.get_lisp_pointer("struct Lisp_Float", True) elif self.lisp_type in ("Lisp_Int0", "Lisp_Int1"): self.value = self.eval(f"((EMACS_INT) {self.unsigned}) " - f">> (GCTYPEBITS - 1)") + f">> (GCTYPEBITS - 1)", + True) else: - assert False, "Unknown Lisp type" + msg = f"Unknown Lisp type {self.lisp_type}" + assert False, msg # Create an SBValue for EXPR with name NAME. def create_value(self, name, expr): @@@ -283,8 -300,8 +336,9 @@@ def enable_type_category(debugger, cate def __lldb_init_module(debugger, internal_dict): define_command(debugger, xbacktrace) define_command(debugger, xdebug_print) + define_command(debugger, xprint) define_type_summary(debugger, "Lisp_Object", type_summary_Lisp_Object) + define_type_synthetic(debugger, "Lisp_Object", Lisp_Object_Provider) enable_type_category(debugger, "Emacs") print('Emacs debugging support has been installed.')