help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: page-at-a-time output for M-x shell


From: Pascal J. Bourguignon
Subject: Re: page-at-a-time output for M-x shell
Date: Mon, 13 Jul 2009 23:43:21 +0200
User-agent: Gnus/5.1008 (Gnus v5.10.8) Emacs/22.3 (darwin)

Francis Moreau <francis.moro@gmail.com> writes:

> Hello,
>
> M-x term has a nice feature 'page-at-a-time' which I'd like to have in
> M-x shell specially because commands like
>
>    $ cmd-with-a-lof-of-output | less
>    WARNING: terminal is not fully functional
>     -  (press RETURN)
>
> doesn't work properly.
>
> Does anybody know some trick here ?

So, it seems that you don't like PgUp and PgDn, and you don't like M-x
term RET.   Then if you insist om M-x shell, you will have to write
your own pager that doesn't require a smart terminal (which shell is
not):


[pjb@galatea :0.0 ~]$ cat ~/bin/epager
#!/bin/bash
HEIGHT=${HEIGHT:=25}
eof=0
while [ $eof -eq 0 ] ; do
    i=0
    while [ $i -lt $HEIGHT -a $eof -eq 0 ] ; do
        line=''
        read line 
        if [ $? -eq 0 ] ; then
            printf "%s\n" "$line" 
        else
            eof=1
        fi
        i=$(( $i + 1 ))
    done
    read -p 'Press RET to continue, q RET to abort:' rep < /dev/tty
    if [ "$rep" = 'q' ] ; then
        eof=1
    fi
done
[pjb@galatea :0.0 ~]$ cat /home/pjb/tmp/misc/wang | HEIGHT=10 epager
Hao Wang, logicien americain.

L'algorithme en  question  a  ete  publie  en  1960  dans l'IBM Journal,
article intitule "Toward  Mechanical Mathematics", avec des variantes et
une  extension au calcul  des  predicats.  Il  s'agit  ici  du  "premier
programme" de Wang, systeme "P".

L'article a ete ecrit en 1958, et les experiences effectuees sur IBM 704
- machine a lampes, 32 k  mots  de 36 bits, celle-la meme qui vit naitre
LISP a la meme epoque. Le programme  a  ete ecrit en assembleur (Fortran
Press RET to continue, q RET to abort:

existait, mais il ne s'etait pas encore impose)  et  l'auteur estime que
"there is very little in the program that is not straightforward".

Il observe que les preuves engendrees sont "essentiellement des arbres",
et  annonce  que  la  machine  a  demontre 220 theoremes du  calcul  des
propositions  (tautologies)  en  3  minutes. Il en tire argument pour la
superiorite  d'une  approche  algorithmique  par  rapport a une approche
heuristique comme celle du "Logic Theorist" de Newell, Shaw et  Simon (a
partir de 1956 sur la machine JOHNNIAC de la Rand Corporation): un debat
qui dure encore...
Press RET to continue, q RET to abort:


Cet  algorithme  a  ete popularise par J. McCarthy, comme exemple-fanion
d'application  de LISP. Il figure dans le manuel de la premiere  version
de  LISP  (LISP  1,  sur IBM 704 justement, le manuel est date  de  Mars
1960), et il a ete repris dans le celebre "LISP 1.5 Programmer's Manual"
publie en 1962 par MIT Press, un des maitres-livres de l'Informatique.



Press RET to continue, q RET to abort:

[pjb@galatea :0.0 ~]$ cat /home/pjb/tmp/misc/wang | HEIGHT=10 epager
Hao Wang, logicien americain.

L'algorithme en  question  a  ete  publie  en  1960  dans l'IBM Journal,
article intitule "Toward  Mechanical Mathematics", avec des variantes et
une  extension au calcul  des  predicats.  Il  s'agit  ici  du  "premier
programme" de Wang, systeme "P".

L'article a ete ecrit en 1958, et les experiences effectuees sur IBM 704
- machine a lampes, 32 k  mots  de 36 bits, celle-la meme qui vit naitre
LISP a la meme epoque. Le programme  a  ete ecrit en assembleur (Fortran
Press RET to continue, q RET to abort:q
[pjb@galatea :0.0 ~]$ 


-- 
__Pascal Bourguignon__


reply via email to

[Prev in Thread] Current Thread [Next in Thread]