diff options
author | Jonathan Stowe <gellyfish@gellyfish.com> | 2001-11-28 10:39:54 +0000 |
---|---|---|
committer | Jarkko Hietaniemi <jhi@iki.fi> | 2001-11-28 13:15:41 +0000 |
commit | 2ab0daaa9d669e86986dd190612b32863c07ec3c (patch) | |
tree | 4aa41f80424d8a9c49235db0bdf837f91f63444e /lib/Term | |
parent | a97e9142f06343b44ca70ad10bbeffad52da196a (diff) | |
download | perl-2ab0daaa9d669e86986dd190612b32863c07ec3c.tar.gz |
Re: [PATCH Perl@13013] Term::Cap and VMS
Message-ID: <Pine.LNX.4.33.0111281039070.20888-100000@orpheus.gellyfish.com>
(replace #13327)
p4raw-id: //depot/perl@13337
Diffstat (limited to 'lib/Term')
-rw-r--r-- | lib/Term/Cap.pm | 64 |
1 files changed, 37 insertions, 27 deletions
diff --git a/lib/Term/Cap.pm b/lib/Term/Cap.pm index bf5512a28d..92015b54bf 100644 --- a/lib/Term/Cap.pm +++ b/lib/Term/Cap.pm @@ -4,7 +4,7 @@ use Carp; use vars qw($VERSION); -$VERSION = '1.02'; +$VERSION = '1.03'; # Version undef: Thu Dec 14 20:02:42 CST 1995 by sanders@bsdi.com # Version 1.00: Thu Nov 30 23:34:29 EST 2000 by schwern@pobox.com @@ -15,6 +15,8 @@ $VERSION = '1.02'; # Altered layout of the POD # Added Test::More to PREREQ_PM in Makefile.PL # Fixed no argument Tgetent() +# Version 1.03: Wed Nov 28 10:09:38 GMT 2001 +# VMS Support from Charles Lane <lane@DUPHY4.Physics.Drexel.Edu> # TODO: # support Berkeley DB termcaps @@ -184,29 +186,18 @@ sub Tgetent { ## public -- static method { # last resort--fake up a termcap from terminfo local $ENV{TERM} = $term; - if ($^O eq 'VMS') { # we use REAL dec terminals, not stinkin' emulators! - $entry = 'vt220|vt200|DEC VT220 in vt100 emulation mode:' - .'am:mi:xn:xo:' - .'co#80:li#24:' - .'RA=\E[?7l:SA=\E[?7h:' - .'ac=kkllmmjjnnwwqquuttvvxx:ae=\E(B:al=\E[L:as=\E(0:' - .'bl=^G:cd=\E[J:ce=\E[K:cl=\E[H\E[2J:cm=\E[%i%d;%dH:' - .'cr=^M:cs=\E[%i%d;%dr:dc=\E[P:dl=\E[M:do=\E[B:' - .'ei=\E[4l:ho=\E[H:im=\E[4h:' - .'is=\E[1;24r\E[24;1H:' - .'nd=\E[C:' - .'kd=\E[B::kl=\E[D:kr=\E[C:ku=\E[A:le=^H:' - .'mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:' - .'kb=\0177:' - .'r2=\E>\E[24;1H\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E=:rc=\E8:' - .'sc=\E7:se=\E[27m:sf=\ED:so=\E[7m:sr=\EM:ta=^I:' - .'ue=\E[24m:up=\E[A:us=\E[4m:ve=\E[?25h:vi=\E[?25l:'; - } else { - eval - { - $entry = `infocmp -C 2>/dev/null`; - } - } + + if ( $^O eq 'VMS' ) { + chomp(my @entry = <DATA>); + $entry = join '', @entry; + } + else { + eval + { + $entry = `infocmp -C 2>/dev/null`; + } + } + } croak "Can't find a valid termcap file" unless @termcap_path || $entry; @@ -562,9 +553,6 @@ sub Trequire { ## public croak "Terminal does not support: (@undefined)" if @undefined; } -1; -__END__ - =back =head1 EXAMPLES @@ -610,3 +598,25 @@ for CPAN by Jonathan Stowe <jns@gellyfish.com>. termcap(5) =cut + +# Below is a default entry for systems where there are terminals but no +# termcap +1; +__END__ +vt220|vt200|DEC VT220 in vt100 emulation mode: +am:mi:xn:xo: +co#80:li#24: +RA=\E[?7l:SA=\E[?7h: +ac=kkllmmjjnnwwqquuttvvxx:ae=\E(B:al=\E[L:as=\E(0: +bl=^G:cd=\E[J:ce=\E[K:cl=\E[H\E[2J:cm=\E[%i%d;%dH: +cr=^M:cs=\E[%i%d;%dr:dc=\E[P:dl=\E[M:do=\E[B: +ei=\E[4l:ho=\E[H:im=\E[4h: +is=\E[1;24r\E[24;1H: +nd=\E[C: +kd=\E[B::kl=\E[D:kr=\E[C:ku=\E[A:le=^H: +mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m: +kb=\0177: +r2=\E>\E[24;1H\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E=:rc=\E8: +sc=\E7:se=\E[27m:sf=\ED:so=\E[7m:sr=\EM:ta=^I: +ue=\E[24m:up=\E[A:us=\E[4m:ve=\E[?25h:vi=\E[?25l: + |