mdw-pager: New hack for pager support.
authorMark Wooding <mdw@distorted.org.uk>
Tue, 7 Jul 2009 18:20:09 +0000 (19:20 +0100)
committerMark Wooding <mdw@distorted.org.uk>
Tue, 7 Jul 2009 18:20:09 +0000 (19:20 +0100)
Emacs runs sobprocesses, like `grep', with output to a pty, which
confuses `git grep' in particular into running a pager.  We intercept
the pager, using a script, which checks for Emacs's crappy pty and
simply runs `cat'.

bash_profile
mdw-pager [new file with mode: 0755]
setup

index 08e4e13..37ed0ea 100644 (file)
@@ -155,7 +155,7 @@ export P4PORT=`mdw-conf p4-port` P4USER=`mdw-conf p4-user`
 
 export BECOME="--preserve-environment"
 
-export PAGER=`type -p less` METAMAIL_PAGER=`type -p less`
+export MDW_PAGER=`type -p less` PAGER=mdw-pager METAMAIL_PAGER=mdw-pager
 export LESS="-iqgRh1FX"
 export LESSOPEN="|lesspipe.sh %s"
 case "${LC_CTYPE-$LANG}" in
diff --git a/mdw-pager b/mdw-pager
new file mode 100755 (executable)
index 0000000..cd59476
--- /dev/null
+++ b/mdw-pager
@@ -0,0 +1,11 @@
+#! /bin/sh
+
+set -e
+pager=${MDW_PAGER-less}
+[ -t 1 ] || TERM=dumb
+case "$PAGER,$TERM" in
+  mdw-pager,dumb) pager=cat;;
+  mdw-pager,*);;
+  *,*) pager=$PAGER;;
+esac
+exec $pager "$@"
diff --git a/setup b/setup
index 0d39cdb..50bb776 100755 (executable)
--- a/setup
+++ b/setup
@@ -187,6 +187,7 @@ echo " done."
 
 scripts="
   mdw-editor
+  mdw-pager
   mdw-conf
   mdw-build
   movemail-hack