Front page | perl.perl5.porters |
Postings from September 2000
FW: perldoc fails if $TEMP contains spaces
Thread Next
From:
Moore, Paul
Date:
September 14, 2000 00:58
Subject:
FW: perldoc fails if $TEMP contains spaces
Message ID:
714DFA46B9BBD0119CD000805FC1F53B012A82AA@UKRUX002.rundc.uk.origin-it.com
Perlbug seems to have eaten this without trace...
Paul.
> -----Original Message-----
> From: Moore, Paul
> Sent: 13 September 2000 09:37
> To: 'perlbug@perl.com'
> Subject: perldoc fails if $TEMP contains spaces
>
> This is a bug report for perl from paul.moore@uk.origin-it.com,
> generated with the help of perlbug 1.28 running under perl v5.6.0.
>
> When the environment variable TEMP points to a directory with spaces in
> the
> name, perldoc fails - or, more accurately, it tries to run the default
> pager(s) which fail because the temporary filename isn't quoted, and then
> falls back to Windows notepad, which works because it treats its whole
> argument string as a single filename, rather than doing argv processing...
>
> While having TEMP point to a directory name with spaces is evil, and
> therefore
> could reasonably be viewed as unsupported, regrettably it appears to be
> the
> default value under Windows 2000. As such, it is likely that more and more
> users will start hitting this problem.
>
> Quoting the filename in the system() call which invokes the pager is
> enough to
> fix the problem - this works on Win32, and probably causes no harm on
> other
> systems. If it could, it may be necessary to put an OS test in there...
>
> Paul Moore
>
> --- perldoc.bat.orig Thu Aug 31 20:35:48 2000
> +++ perldoc.bat Wed Sep 13 09:31:16 2000
> @@ -380,7 +380,7 @@
> }
> else {
> foreach my $pager (@pagers) {
> - last if system("$pager $tmp") == 0;
> + last if system("$pager \"$tmp\"") == 0;
> }
> }
> }
> ---
> Flags:
> category=utilities
> severity=low
> ---
> Site configuration information for perl v5.6.0:
>
> Configured by UK03306 at Thu Aug 31 20:32:34 2000.
>
> Summary of my perl5 (revision 5 version 6 subversion 0) configuration:
> Platform:
> osname=MSWin32, osvers=4.0, archname=MSWin32-x86-multi-thread
> uname=''
> config_args='undef'
> hint=recommended, useposix=true, d_sigaction=undef
> usethreads=undef use5005threads=undef useithreads=define
> usemultiplicity=define
> useperlio=undef d_sfio=undef uselargefiles=undef
> use64bitint=undef use64bitall=undef uselongdouble=undef usesocks=undef
> Compiler:
> cc='cl', optimize='-O1 -MD -DNDEBUG', gccversion=
> cppflags='-DWIN32'
> ccflags ='-O1 -MD -DNDEBUG -DWIN32 -D_CONSOLE -DNO_STRICT
> -DHAVE_DES_FCRYPT -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS
> -DPERL_MSVCRT_READFIX'
> stdchar='char', d_stdstdio=define, usevfork=false
> intsize=4, longsize=4, ptrsize=4, doublesize=8
> d_longlong=undef, longlongsize=8, d_longdbl=define, longdblsize=10
> ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t',
> lseeksize=4
> alignbytes=8, usemymalloc=n, prototype=define
> Linker and Libraries:
> ld='link', ldflags ='-nologo -nodefaultlib -release
> -libpath:"C:\p4view\Apps\ActivePerl\MSI\data\ActivePerl\Perl\lib\CORE"
> -machine:x86'
> libpth="C:\VisualStudio\VC98\mfc\lib" "C:\VisualStudio\VC98\lib"
> "C:\Program Files\Mts\Lib" "C:\Applications\Perl\lib\CORE"
> libs= oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib
> comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib netapi32.lib
> uuid.lib wsock32.lib mpr.lib winmm.lib version.lib odbc32.lib
> odbccp32.lib msvcrt.lib
> libc=msvcrt.lib, so=dll, useshrplib=yes, libperl=perl56.lib
> Dynamic Linking:
> dlsrc=dl_win32.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' '
> cccdlflags=' ', lddlflags='-dll -nologo -nodefaultlib -release
> -libpath:"C:\p4view\Apps\ActivePerl\MSI\data\ActivePerl\Perl\lib\CORE"
> -machine:x86'
>
> Locally applied patches:
> ACTIVEPERL_LOCAL_PATCHES_ENTRY
>
> ---
> @INC for perl v5.6.0:
> C:/Applications/Perl/lib
> C:/Applications/Perl/site/lib
> .
>
> ---
> Environment for perl v5.6.0:
> HOME (unset)
> LANG (unset)
> LANGUAGE (unset)
> LD_LIBRARY_PATH (unset)
> LOGDIR (unset)
>
> PATH=C:\Applications\Perl\bin\;C:\WINNT\system32;C:\WINNT;C:\UTILS;C:\MSSQ
> L7\BINN;C:\DMINT40\Win32\Bin;C:\Program
> Files\CWNT;C:\NTRESKIT;C:\Applications\Tcl\bin;C:\Applications\Mingw32\bin
> ;C:\Applications\Borland\Bcc55\Bin;C:\Applications\XEmacs\XEmacs-21.2.29\i
> 586-pc-win32;C:\Program
> Files\Mts;C:\WINNT\System32\WBEM;C:\Oracle\Ora81\bin;C:\Program
> Files\Oracle\jre\1.1.7\bin;C:\Oracle\Ora81\orb\bin;C:\VisualStudio\Common\
> Tools\WinNT;C:\VisualStudio\Common\MSDev98\Bin;C:\VisualStudio\Common\Tool
> s;C:\VisualStudio\VC98\bin
> PERL_BADLANG (unset)
> SHELL (unset)
Thread Next
-
FW: perldoc fails if $TEMP contains spaces
by Moore, Paul