emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] trunk r116198: Fix printing empty Lisp strings.


From: Eli Zaretskii
Subject: [Emacs-diffs] trunk r116198: Fix printing empty Lisp strings.
Date: Wed, 29 Jan 2014 18:17:55 +0000
User-agent: Bazaar (2.6b2)

------------------------------------------------------------
revno: 116198
revision-id: address@hidden
parent: address@hidden
committer: Eli Zaretskii <address@hidden>
branch nick: trunk
timestamp: Wed 2014-01-29 20:17:20 +0200
message:
  Fix printing empty Lisp strings.
  
   src/.gdbinit (xprintstr, xprintbytestr): Don't use repetition count
   of zero to print strings, GDB doesn't like it.
modified:
  src/.gdbinit                   gdbinit-20091113204419-o5vbwnq5f7feedwu-460
  src/ChangeLog                  changelog-20091113204419-o5vbwnq5f7feedwu-1438
=== modified file 'src/.gdbinit'
--- a/src/.gdbinit      2014-01-01 07:43:34 +0000
+++ b/src/.gdbinit      2014-01-29 18:17:20 +0000
@@ -1072,7 +1072,13 @@
 
 define xprintstr
   set $data = (char *) $arg0->data
-  output ($arg0->size > 1000) ? 0 : ($data[0])@($arg0->size_byte < 0 ? 
$arg0->size & ~ARRAY_MARK_FLAG : $arg0->size_byte)
+  set $strsize = ($arg0->size_byte < 0) ? ($arg0->size & ~ARRAY_MARK_FLAG) : 
$arg0->size_byte
+  # GDB doesn't like zero repetition counts
+  if $strsize == 0
+    output ""
+  else
+    output ($arg0->size > 1000) ? 0 : ($data[0])@($strsize)
+  end
 end
 
 define xprintsym
@@ -1184,8 +1190,13 @@
 
 define xprintbytestr
   set $data = (char *) $arg0->data
+  set $bstrsize = ($arg0->size_byte < 0) ? ($arg0->size & ~ARRAY_MARK_FLAG) : 
$arg0->size_byte
   printf "Bytecode: "
-  output/u ($arg0->size > 1000) ? 0 : ($data[0])@($arg0->size_byte < 0 ? 
$arg0->size & ~ARRAY_MARK_FLAG : $arg0->size_byte)
+  if $bstrsize > 0
+    output/u ($arg0->size > 1000) ? 0 : ($data[0])@($bvsize)
+  else
+    printf ""
+  end
 end
 document xprintbytestr
   Print a string of byte code.

=== modified file 'src/ChangeLog'
--- a/src/ChangeLog     2014-01-29 17:52:16 +0000
+++ b/src/ChangeLog     2014-01-29 18:17:20 +0000
@@ -1,5 +1,8 @@
 2014-01-29  Eli Zaretskii  <address@hidden>
 
+       * .gdbinit (xprintstr, xprintbytestr): Don't use repetition count
+       of zero to print strings, GDB doesn't like it.
+
        * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE, not
        STRING_CHAR_AND_LENGTH, so that if the string is relocated by GC,
        we still use correct addresses.  (Bug#16576)


reply via email to

[Prev in Thread] Current Thread [Next in Thread]