fix regression in netrc comment handling (closes #12009)
diff --git a/Lib/netrc.py b/Lib/netrc.py
index 4caeb96..0fd37e3 100644
--- a/Lib/netrc.py
+++ b/Lib/netrc.py
@@ -41,8 +41,12 @@
             if not tt:
                 break
             elif tt[0] == '#':
-                fp.readline();
-                continue;
+                # seek to beginning of comment, in case reading the token put
+                # us on a new line, and then skip the rest of the line.
+                pos = len(tt) + 1
+                lexer.instream.seek(-pos, 1)
+                lexer.instream.readline()
+                continue
             elif tt == 'machine':
                 entryname = lexer.get_token()
             elif tt == 'default':
@@ -68,8 +72,8 @@
             self.hosts[entryname] = {}
             while 1:
                 tt = lexer.get_token()
-                if (tt=='' or tt == 'machine' or
-                    tt == 'default' or tt =='macdef'):
+                if (tt.startswith('#') or
+                    tt in {'', 'machine', 'default', 'macdef'}):
                     if password:
                         self.hosts[entryname] = (login, account, password)
                         lexer.push_token(tt)