]> git.eshelyaron.com Git - emacs.git/commitdiff
Merge remote-tracking branch 'origin/master' into scratch/pkg
authorGerd Möllmann <gerd.moellmann@gmail.com>
Thu, 19 Oct 2023 12:35:06 +0000 (14:35 +0200)
committerGerd Möllmann <gerd.moellmann@gmail.com>
Thu, 19 Oct 2023 12:35:06 +0000 (14:35 +0200)
1  2 
etc/emacs_lldb.py
lisp/emacs-lisp/bytecomp.el
lisp/files.el
src/.lldbinit

index c5a472e16cb0cd6f46a8d4cd3b7788eab406309f,fa8d95d7b5bd99e7a5c5eb0dcafa449660ad88ee..f2b20e33ed2163ef403dabce29e234693a4c9c14
@@@ -176,38 -172,10 +173,38 @@@ class Lisp_Object
              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
Simple merge
diff --cc lisp/files.el
Simple merge
diff --cc src/.lldbinit
index aae70b30cccceb410900e14acba09c93775c75be,a5789f49122508968b03fbaa63f71f1f66727edb..fcc7fa6e7d62870d053a2d211d412633db779109
@@@ -30,13 -30,7 +30,15 @@@ script -- sys.path.append('../etc'
  # 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.