summaryrefslogtreecommitdiff
path: root/lib/Term
diff options
context:
space:
mode:
authorJarkko Hietaniemi <jhi@iki.fi>2001-11-28 00:23:10 +0000
committerJarkko Hietaniemi <jhi@iki.fi>2001-11-28 00:23:10 +0000
commit2f6e8d9fbd0d0d75cb6e1c3260402d86bff0a318 (patch)
treee1a8136159180ec50af60b3182be01874773d5e7 /lib/Term
parentafd8f43609a62435ff6ae59350ebfaf35076793a (diff)
downloadperl-2f6e8d9fbd0d0d75cb6e1c3260402d86bff0a318.tar.gz
(replaced by #13337)
VMS can safely hardcode a termcap entry for VT100. p4raw-id: //depot/perl@13327
Diffstat (limited to 'lib/Term')
-rw-r--r--lib/Term/Cap.pm19
1 files changed, 19 insertions, 0 deletions
diff --git a/lib/Term/Cap.pm b/lib/Term/Cap.pm
index 7d8a9d50f0..bf5512a28d 100644
--- a/lib/Term/Cap.pm
+++ b/lib/Term/Cap.pm
@@ -184,11 +184,30 @@ 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`;
}
}
+ }
croak "Can't find a valid termcap file" unless @termcap_path || $entry;