Why is CVS expanding the SetDropdownList call below
from
SetDropdownList('BillPay', 'BillingState', '$State$');
to
SetDropdownList('BillPay', 'BillingState', '$State: Exp $');
in the javascript below?
Should I be converting html files to binary?
I have tried the following steps to investigate this problem. I copied the html file (in which the javascript function resides) to a safe place; deleted the file; entered the CVS delete command to remove the CVS element; and then recreated the CVS element from the saved copy, using add and commit.
Despite this, SetDropdownList was still expanded as shown above.
function EnterPage()
{
var ElemID;
// Set the payment type and credit card radio buttons to their correct initial
// state (ACH payment, credit card choice 0).
SetRadioButton('BillPay', 'PaymentTypeID', 1);
SetRadioButton('BillPay', 'CCTypeID', 0);
// Make the credit card fields invisible. ACH is the default.
if (document.all && !document.getElementById) ElemID = document.all['CCTable'];
else ElemID = document.getElementById('CCTable');
ElemID.style.display = 'none';
// Fill in the various fields of the form that we know about. Note that we use
// double quotes, in case there are any apostrophes in the names.
document.forms['BillPay'].elements['ACHNameOnAccount'].value = "$FullName$";
document.forms['BillPay'].elements['CCNameOnCard'].value = "$FullName$";
document.forms['BillPay'].elements['BillingAddress1'].value = "$Address1$";
document.forms['BillPay'].elements['BillingAddress2'].value = "$Address2$";
document.forms['BillPay'].elements['BillingCity'].value = "$City$";
SetDropdownList('BillPay', 'BillingState', '$State$');
document.forms['BillPay'].elements['BillingZipcode'].value = "$Zipcode$";
document.forms['BillPay'].elements['Location'].value = "$Location$";
document.forms['BillPay'].elements['AcctType'].value = "$AcctType$";
document.forms['BillPay'].elements['BillYear'].value = "$BillYear$";
document.forms['BillPay'].elements['AcctNum'].value = "$AcctNum$";
document.forms['BillPay'].elements['BillAmount'].value = "$AmountPaid$";
document.forms['BillPay'].elements['ScholarAmount'].value = "$ScholarAmt$";
document.forms['BillPay'].elements['AmountPaid'].value = "$TotalAmt$";
// Make the scholarship donation visible, if there is one.
if (document.all && !document.getElementById)
ElemID = document.all['ScholarDonat'];
else ElemID = document.getElementById('ScholarDonat');
if ('$ScholarAmt$' != '0.00') ElemID.style.visibility = 'visible';
// The page is set up.
return;
}
$State
is a CVS keyword, see http://csg.sph.umich.edu/docs/unix/cvs/cvsref-card.html and https://www.cs.utah.edu/dept/old/texinfo/cvs/cvs_16.html
"By default, CVS performs keyword expansion unless you tell it to stop. You can permanently suppress keyword expansion for a file with the -k option when you add the file to the project", see http://durak.org/sean/pubs/software/cvsbook/Controlling-Keyword-Expansion.html
The command line example it gives for suppressing keyword expansion is:
$ cvs add -ko chapter-9.sgml
I don't know what to suggest if you are using TortoiseCVS, presumably they have a comparable option to control keyword expansion