Bug 10868 - 'end' of user comment block is ignored if the 'end' statement has leading spaces
Summary: 'end' of user comment block is ignored if the 'end' statement has leading spaces
Status: UNCONFIRMED
Alias: None
Product: gdb
Classification: Unclassified
Component: gdb (show other bugs)
Version: 7.0
: P3 minor
Target Milestone: 7.1
Assignee: Not yet assigned to anyone
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-10-29 15:59 UTC by James Pandavan
Modified: 2009-10-29 15:59 UTC (History)
1 user (show)

See Also:
Host:
Target:
Build:
Last reconfirmed:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description James Pandavan 2009-10-29 15:59:26 UTC
Some of my gdbinit user defined commands stoped working on v7.0 (they used to
work on v6.8). I found the following to be the cause.

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      }