changeset 6324:ee1077b41d5c

pager: further simplify code, clean up comments
author Matt Mackall <mpm@selenic.com>
date Thu, 20 Mar 2008 11:12:35 -0500
parents 6e1308a09ffd
children 41c77bb8d7f3
files hgext/pager.py
diffstat 1 files changed, 14 insertions(+), 33 deletions(-) [+]
line wrap: on
line diff
--- a/hgext/pager.py	Thu Mar 20 00:57:14 2008 +0100
+++ b/hgext/pager.py	Thu Mar 20 11:12:35 2008 -0500
@@ -5,50 +5,31 @@
 # This software may be used and distributed according to the terms
 # of the GNU General Public License, incorporated herein by reference.
 #
-# To load the extension add it to your .hgrc file
+# To load the extension, add it to your .hgrc file:
 #
 #   [extension]
 #   hgext.pager =
 #
-# To set the pager that should be used, set the application variable
-#
-#   [pager]
-#   application = less
-#
-# You can also set environment variables there
+# To set the pager that should be used, set the application variable:
 #
 #   [pager]
-#   application = LESS='FSRX' less
+#   pager = LESS='FSRX' less
 #
-# If no application is set, the pager extensions use the environment
-# variable $PAGER. If neither pager.application, nor
-# $PAGER is set, no pager is used.
+# If no pager is set, the pager extensions uses the environment
+# variable $PAGER. If neither pager.pager, nor $PAGER is set, no pager
+# is used.
 #
 # If you notice "BROKEN PIPE" error messages, you can disable them
-# by setting
+# by setting:
 #
-#  [pager]
-#  quiet = True
-#
+#   [pager]
+#   quiet = True
 
 import sys, os, signal
 
-def getpager(ui):
-    '''return a pager
-
-    We separate this method from the pager class as we don't want to
-    instantiate a pager if it is not used at all
-    '''
-    if sys.stdout.isatty():
-        return (ui.config("pager", "application")
-                or os.environ.get("PAGER"))
-
 def uisetup(ui):
-    # disable broken pipe error messages
-    if ui.configbool('pager', 'quiet', False):
-        signal.signal(signal.SIGPIPE, signal.SIG_DFL)
-
-    if getpager(ui):
-        pager = os.popen(getpager(ui), 'wb')
-        sys.stderr = pager
-        sys.stdout = pager
+    p = ui.config("pager", "pager", os.environ.get("PAGER"))
+    if p and sys.stdout.isatty():
+        if ui.configbool('pager', 'quiet'):
+            signal.signal(signal.SIGPIPE, signal.SIG_DFL)
+        sys.stderr = sys.stdout = os.popen(p, "wb")