Subject: | Prototype HTML-encodes strings it has no business encoding |
Date: | Tue, 03 Oct 2006 11:37:25 -0600 |
To: | bug-Html-Prototype [...] rt.cpan.org |
From: | Matt Hilliard <matthew.hilliard [...] strathcom.com> |
Firstly, I'm not sure this is the plugin at fault, but its the one I'm
calling so it may be your plugin feels the heat from somebody else's
bug.
Simply put, if I call the example code:
$prototype->link_to_remote( '<img src="refresh.png"/>', {
update => 'emails',
url => 'http://localhost/refresh/'
} );
This renders the string:
<a href="http://localhost/refresh" onclick=" new Ajax.Updater( 'emails',
'http://localhost/refresh', { asynchronous: 1 } ) ; return
false"><img src="refresh.png"/></a>
While the example doesn't say this is an incorrect behaviour, I think we
can say it is implicitly, since "<img src="refresh.png"/>" is
relatively nonsensical content for link text and would make for a
terrible example on your part. It would also render perl's prototype
more crippled than ruby's since images can't be used to decorate links.
If its pertinent, I'm running ubuntu linux 6.06,
Summary of my perl5 (revision 5 version 8 subversion 7) configuration:
Platform:
osname=linux, osvers=2.6.8.1, archname=x86_64-linux-gnu-thread-multi
uname='linux yellow 2.6.8.1 #1 smp mon jul 18 14:11:24 utc 2005
x86_64 gnulinux '
config_args='-Dusethreads -Duselargefiles -Dccflags=-DDEBIAN
-Dcccdlflags=-fPIC -Darchname=x86_64-linux-gnu -Dprefix=/usr
-Dprivlib=/usr/share/perl/5.8 -Darchlib=/usr/lib/perl/5.8
-Dvendorprefix=/usr -Dvendorlib=/usr/share/perl5
-Dvendorarch=/usr/lib/perl5 -Dsiteprefix=/usr/local
-Dsitelib=/usr/local/share/perl/5.8.7
-Dsitearch=/usr/local/lib/perl/5.8.7 -Dman1dir=/usr/share/man/man1
-Dman3dir=/usr/share/man/man3 -Dsiteman1dir=/usr/local/man/man1
-Dsiteman3dir=/usr/local/man/man3 -Dman1ext=1 -Dman3ext=3perl
-Dpager=/usr/bin/sensible-pager -Uafs -Ud_csh -Uusesfio -Uusenm
-Duseshrplib -Dlibperl=libperl.so.5.8.7 -Dd_dosuid -des'
hint=recommended, useposix=true, d_sigaction=define
usethreads=define use5005threads=undef useithreads=define
usemultiplicity=define
useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
use64bitint=define use64bitall=define uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS
-DDEBIAN -fno-strict-aliasing -pipe -I/usr/local/include
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
optimize='-O2',
cppflags='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBIAN
-fno-strict-aliasing -pipe -I/usr/local/include'
ccversion='', gccversion='4.0.3 20051204 (prerelease) (Ubuntu
4.0.2-5ubuntu2)', gccosandvers=''
intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t',
lseeksize=8
alignbytes=8, prototype=define
Linker and Libraries:
ld='cc', ldflags =' -L/usr/local/lib'
libpth=/usr/local/lib /lib /usr/lib
libs=-lgdbm -lgdbm_compat -ldb -ldl -lm -lpthread -lc -lcrypt
perllibs=-ldl -lm -lpthread -lc -lcrypt
libc=/lib/libc-2.3.5.so, so=so, useshrplib=true,
libperl=libperl.so.5.8.7
gnulibc_version='2.3.5'
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef,
ccdlflags='-Wl,-E'used
cccdlflags='-fPIC', lddlflags='-shared -L/usr/local/lib'
Characteristics of this binary (from libperl):
Compile-time options: MULTIPLICITY USE_ITHREADS USE_64_BIT_INT
USE_64_BIT_ALL USE_LARGE_FILES
PERL_IMPLICIT_CONTEXT
Locally applied patches:
SPRINTF0 - fixes for sprintf formatting issues - CVE-2005-3962
Built under linux
Compiled at Dec 16 2005 07:59:05
@INC:
/etc/perl
/usr/local/lib/perl/5.8.7
/usr/local/share/perl/5.8.7
/usr/lib/perl5
/usr/share/perl5
/usr/lib/perl/5.8
/usr/share/perl/5.8
/usr/local/lib/site_perl
and module versions:
Show quoted text
cpan> i /Prototype/
Distribution B/BA/BAUERB/Template-Plugin-HTML-Prototype-0.01.tar.gz
Distribution
C/CE/CEESHEK/CGI-Application-Plugin-HTMLPrototype-0.20.tar.gz
Distribution C/CO/CORDATA/Kwiki-Prototype-0.01.tar.gz
Distribution E/ES/ESSKAR/HTML-Prototype-1.48.tar.gz
Distribution H/HO/HORIUCHI/Sledge-Plugin-Prototype-0.03.tar.gz
Distribution M/ME/MERLYN/CGI-Prototype-0.9053.tar.gz
Distribution M/ME/MERLYN/CGI-Prototype-Mecha-0.21.tar.gz
Distribution M/MR/MRAMBERG/HTML-Prototype-Useful-0.05.tar.gz
Distribution S/SI/SIMON/Shishi-Prototype-0.4.tar.gz
Distribution S/SR/SRI/Catalyst-Plugin-Prototype-1.32.tar.gz
Distribution T/TB/TBONE/CGI-Prototype-Docs-Resources-0.03.tar.gz
Distribution T/TB/TBONE/Class-Prototyped-Mixin-2.4.tar.gz
Distribution T/TE/TEVERETT/Class-Prototyped-1.10.tar.gz
I am running this from a Catalyst context.
Anything else, please let me know.