diff mercurial/ui.py @ 28039:89003c49315c stable

ui: fix crash by non-interactive prompt echo for user name Since we've dropped a str cast at write() by f04bd381e8c0, ui.prompt() should convert default to '' if it is None. Otherwise, write() would fail with "TypeError: object of type 'NoneType' has no len()". This patch includes the tests for both interactive and non-interactive cases because "ui.askusername" was never tested.
author Yuya Nishihara <yuya@tcha.org>
date Sat, 06 Feb 2016 20:43:20 +0900
parents e70c97cc9243
children 41dcd7545266
line wrap: on
line diff
--- a/mercurial/ui.py	Wed Feb 10 22:53:17 2016 +0900
+++ b/mercurial/ui.py	Sat Feb 06 20:43:20 2016 +0900
@@ -798,7 +798,7 @@
         If ui is not interactive, the default is returned.
         """
         if not self.interactive():
-            self.write(msg, ' ', default, "\n")
+            self.write(msg, ' ', default or '', "\n")
             return default
         try:
             r = self._readline(self.label(msg, 'ui.prompt'))