This is the mail archive of the gdb@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

gdb v7.0 - user defined command's document section - space prefixed end


Hi,

I noticed some of my user defined commands defined in '.gdbinit' file stopped working in gdb v7.0. They used to work in gdb v6.8. In trying to troubleshoot, I went through the gdb source code.

In gdb v6.8, the init file processing logic was in cli/cli-script.c:read_next_line(). The following code ignores all leading (and trailing) spaces.

841 /* Strip leading and trailing whitespace. */
842 while (*p == ' ' || *p == '\t')
843 p++;
844 845 p1 = p + strlen (p);
846 while (p1 != p && (p1[-1] == ' ' || p1[-1] == '\t'))
847 p1--;


In gdb v7.0, the processing logic was in cli/cli-script.c:process_next_line(). Apparently, the leading spaces are ignored only for commands and not for comments. So, if I had a comment section with and 'end' having prefixed spaces, gdb did not treat it as end of comment section.

  888    if (parse_commands)
  889      {
  890        /* Strip leading whitespace.  */
  891        while (*p == ' ' || *p == '\t')
  892          p++;
  893      }

So, removing all leading white spaces in line containing 'end' fixed my problem for v7.0.

Assuming v7.0's has the correct and intended behavior (as it appears to be so), shouldn't the document mention it?
(http://sourceware.org/gdb/current/onlinedocs/gdb_24.html#SEC249) Or am I referring to wrong document?


Thanks,
James Pandavan


My gdbinit file------------------------------------------------------------------------------------------------------------


|define enable_only
   disable
   enable $arg0
   end
document enable_only
  enables only the given breakpoint
  end

define sstep
   finish
   step
   end
|


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]