From patchwork Tue Oct 19 17:05:00 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: D11692: backout: backed out changeset 2f2107c01dee From: phabricator X-Patchwork-Id: 50016 Message-Id: To: Phabricator Cc: mercurial-devel@mercurial-scm.org Date: Tue, 19 Oct 2021 17:05:00 +0000 Alphare created this revision. Herald added a reviewer: hg-reviewers. Herald added a subscriber: mercurial-patches. REVISION SUMMARY After discussion on the original phab patch, we've decided to wait until Python 2 support is dropped to do this since the behavior differs for relatively obscure reasons. REPOSITORY rHG Mercurial BRANCH default REVISION DETAIL https://phab.mercurial-scm.org/D11692 AFFECTED FILES mercurial/dispatch.py tests/test-pager.t CHANGE DETAILS To: Alphare, #hg-reviewers Cc: mercurial-patches, mercurial-devel diff --git a/tests/test-pager.t b/tests/test-pager.t --- a/tests/test-pager.t +++ b/tests/test-pager.t @@ -219,7 +219,8 @@ #endif A complicated pager command gets worse behavior. Bonus points if you can -improve this. +improve this. Windows apparently does this better, but only sometimes? +#if windows $ hg log --limit 3 \ > --config pager.pager='this-command-better-never-exist --seriously' \ > 2>/dev/null || true @@ -239,6 +240,11 @@ date: Thu Jan 01 00:00:00 1970 +0000 (?) summary: modify a 8 (?) (?) +#else + $ hg log --limit 3 \ + > --config pager.pager='this-command-better-never-exist --seriously' \ + > 2>/dev/null || true +#endif Pager works with shell aliases. diff --git a/mercurial/dispatch.py b/mercurial/dispatch.py --- a/mercurial/dispatch.py +++ b/mercurial/dispatch.py @@ -252,14 +252,9 @@ err = e status = -1 - # Somehow we have to catcht he exception here; catching it inside - # _flushstdio() doesn't work. - try: - ret = _flushstdio(req.ui, err) - if ret and not status: - status = ret - except BaseException: - pass + ret = _flushstdio(req.ui, err) + if ret and not status: + status = ret return status @@ -322,10 +317,7 @@ ret = -1 finally: duration = util.timer() - starttime - try: - req.ui.flush() # record blocked times - except BaseException: - pass + req.ui.flush() # record blocked times if req.ui.logblockedtimes: req.ui._blockedtimes[b'command_duration'] = duration * 1000 req.ui.log( @@ -349,10 +341,7 @@ except: # exiting, so no re-raises ret = ret or -1 # do flush again since ui.log() and exit handlers may write to ui - try: - req.ui.flush() - except BaseException: - pass + req.ui.flush() return ret @@ -473,10 +462,7 @@ try: return _dispatch(req) finally: - try: - ui.flush() # record blocked times - except BaseException: - pass + ui.flush() except: # re-raises # enter the debugger when we hit an exception if req.earlyoptions[b'debugger']: