summaryrefslogtreecommitdiff
path: root/scanner.py
diff options
context:
space:
mode:
authorAnthon van der Neut <anthon@mnt.org>2023-05-01 22:05:11 +0200
committerAnthon van der Neut <anthon@mnt.org>2023-05-01 22:05:11 +0200
commit7b9631c9b3f987d99888dea07893d4f77d772f34 (patch)
tree705d82c3d60faaa5007ebb692e24d2ef8184e126 /scanner.py
parent913318287aacca50246fd44fa5682e3907c1c78a (diff)
parent0db66d2aa3c5abe79e55017435894898a2ebe898 (diff)
downloadruamel.yaml-7b9631c9b3f987d99888dea07893d4f77d772f34.tar.gz
Merge 449_secondary_tag_url_enc
Diffstat (limited to 'scanner.py')
-rw-r--r--scanner.py13
1 files changed, 10 insertions, 3 deletions
diff --git a/scanner.py b/scanner.py
index 09fd2ad..2bc199f 100644
--- a/scanner.py
+++ b/scanner.py
@@ -1036,6 +1036,13 @@ class Scanner:
srp = self.reader.peek
start_mark = self.reader.get_mark()
ch = srp(1)
+ short_handle = '!'
+ if ch == '!':
+ short_handle = '!!'
+ self.reader.forward()
+ srp = self.reader.peek
+ ch = srp(1)
+
if ch == '<':
handle = None
self.reader.forward(2)
@@ -1050,7 +1057,7 @@ class Scanner:
self.reader.forward()
elif ch in _THE_END_SPACE_TAB:
handle = None
- suffix = '!'
+ suffix = short_handle
self.reader.forward()
else:
length = 1
@@ -1061,11 +1068,11 @@ class Scanner:
break
length += 1
ch = srp(length)
- handle = '!'
+ handle = short_handle
if use_handle:
handle = self.scan_tag_handle('tag', start_mark)
else:
- handle = '!'
+ handle = short_handle
self.reader.forward()
suffix = self.scan_tag_uri('tag', start_mark)
ch = srp()