id,summary,reporter,owner,description,type,status,priority,component,severity,resolution,keywords,cc
178,Problem with parsing ':',Samuel.Hym@…,xi,"Hello,

The simple string ':' should be parsed, as far as I understand YAML specification, as { '': '' }. pyyaml simply gives up (ipython trace, with the debian version 3.09-5 of python-yaml, Python 2.6.6, IPython 0.10):

In [14]: yaml.load(':')

ERROR: An unexpected error occurred while tokenizing input
The following traceback may be corrupted or invalid
The error message is: ('EOF in multi-line statement', (5, 0))

---------------------------------------------------------------------------
ParserError                               Traceback (most recent call last)

/tmp/<ipython console> in <module>()

/usr/lib/python2.6/dist-packages/yaml/__init__.pyc in load(stream, Loader)
     56     """"""
     57     loader = Loader(stream)
---> 58     return loader.get_single_data()
     59 
     60 def load_all(stream, Loader=Loader):

/usr/lib/python2.6/dist-packages/yaml/constructor.pyc in get_single_data(self)
     40     def get_single_data(self):
     41         # Ensure that the stream contains a single document and construct it.

---> 42         node = self.get_single_node()
     43         if node is not None:
     44             return self.construct_document(node)

/usr/lib/python2.6/dist-packages/yaml/composer.pyc in get_single_node(self)
     34         document = None
     35         if not self.check_event(StreamEndEvent):
---> 36             document = self.compose_document()
     37 
     38         # Ensure that the stream contains no more documents.


/usr/lib/python2.6/dist-packages/yaml/composer.pyc in compose_document(self)
     53 
     54         # Compose the root node.

---> 55         node = self.compose_node(None, None)
     56 
     57         # Drop the DOCUMENT-END event.


/usr/lib/python2.6/dist-packages/yaml/composer.pyc in compose_node(self, parent, index)
     82             node = self.compose_sequence_node(anchor)
     83         elif self.check_event(MappingStartEvent):
---> 84             node = self.compose_mapping_node(anchor)
     85         self.ascend_resolver()
     86         return node

/usr/lib/python2.6/dist-packages/yaml/composer.pyc in compose_mapping_node(self, anchor)
    125         if anchor is not None:
    126             self.anchors[anchor] = node
--> 127         while not self.check_event(MappingEndEvent):
    128             #key_event = self.peek_event()

    129             item_key = self.compose_node(node, None)

/usr/lib/python2.6/dist-packages/yaml/parser.pyc in check_event(self, *choices)
     91         if self.current_event is None:
     92             if self.state:
---> 93                 self.current_event = self.state()
     94         if self.current_event is not None:
     95             if not choices:

/usr/lib/python2.6/dist-packages/yaml/parser.pyc in parse_block_mapping_first_key(self)
    418         token = self.get_token()
    419         self.marks.append(token.start_mark)
--> 420         return self.parse_block_mapping_key()
    421 
    422     def parse_block_mapping_key(self):

/usr/lib/python2.6/dist-packages/yaml/parser.pyc in parse_block_mapping_key(self)
    432             token = self.peek_token()
    433             raise ParserError(""while parsing a block mapping"", self.marks[-1],
--> 434                     ""expected <block end>, but found %r"" % token.id, token.start_mark)
    435         token = self.get_token()
    436         event = MappingEndEvent(token.start_mark, token.end_mark)

ParserError: while parsing a block mapping
expected <block end>, but found ':'
  in ""<string>"", line 1, column 1:
    :
    ^

Best regards

Samuel Hym",defect,new,normal,pyyaml,normal,,,
