"Reply" and "reply to all" do not quote original content (url parsing changes?)

VERIFIED FIXED

Status

--
blocker
VERIFIED FIXED
17 years ago
14 years ago

People

(Reporter: mozbug, Assigned: sspitzer)

Tracking

({smoketest})

Trunk
smoketest

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment)

(Reporter)

Description

17 years ago
2001111606 trunk linux

Open mailnews.
Choose a mail.
Choose to reply.

Actual result: a mail compose window is opened, the subject is the original
subject with a Re: in front but the body of the mail is empty.

Comment 1

17 years ago
I assume you mean that quoting the original message is broken. Do you use text
or HTML message composing?
(Reporter)

Comment 2

17 years ago
2001111506 linux : ok
2001111521 linux : broken

Comment 3

17 years ago
Maybe connected with the yesterday check-in for bug 110355.

Updated

17 years ago
QA Contact: esther → sheelar
Also, the "To" field is empty.
This is a smoketest blocker.
Severity: critical → blocker
Keywords: smoketest

Comment 6

17 years ago
Tested with 2001111605 on WinMe. The text quoting does not work with both HLML
and text composing. The cursor in the message body is invisible. However, the
message reply itself works. I believe the summary should be more specific.

Is it different (more severe) on Linux?

Platform/OS -> All/All
OS: Linux → All
Hardware: PC → All

Comment 7

17 years ago
this worksforme in Win2k 2001-11-16-03

I get intermittent "*"'s in the Subject, Date, and Newsgroup headers, instead of
the actual values, in the 3-pane window's header display area (i.e. of the
message, not the thread pane) - since these headers come from MIME, maybe this
is related?
Alecf, I've gotten those asterisks intermittently for about a week now actually,
so that's probably is totally unrelated.  Someone told me there was a bug on it
but I haven't seen it yet.  If there really isn't, I can file.

In any case, this is still broken on the 8am linux build also..
(Reporter)

Updated

17 years ago
Summary: "Reply" and "reply to all" are non functionnal → "Reply" and "reply to all" do not quote original content

Comment 9

17 years ago
I did not see this on Win98 or Mac OS9
I did see it on redhat linux 6.x

also note that only one receipient field may be opened.
accepting, I'll investigate.

alecf wrote:

>I get intermittent "*"'s in the Subject, Date, and Newsgroup headers, instead 
>of the actual values, in the 3-pane window's header display area (i.e. of the
>message, not the thread pane) - since these headers come from MIME, maybe this
>is related?

I recently re-assigned a bug to mscott about this.
Status: NEW → ASSIGNED
2001111608/linux debian: reply/reply all neither quotes original message, nor
fills in the reply-to field I have set, nor fills in the To: field.
The only field that is filled in correctly is the subject field.
There is also no way to add additional recipient fields.
The dropdown list for "From:" has 6 identical copies of my email address, 
and the second one is checked.
is this a reply to an imap message, a local message (pop3 account) or both?
I see it with a pop message on win2k, but imap messages seem ok.

good news, it has nothing to do with the cached compose window.
initial guess:  I'll go see if it was darin's checkins.

Comment 15

17 years ago
Forward inline seems to be broken on both imap and pop on today's 
build(2001-11-16-05 on win98) I have not checked mac and linux yet.  Could this 
be the same problem?  When I tried to forward a message inline from the menu 
item or the tool bar it does not even bring up the compose window.  
cc darin, it might not be his changes, I'm waiting for my build to finish to 
debug.
Summary: "Reply" and "reply to all" do not quote original content → "Reply" and "reply to all" do not quote original content (url parsing changes?)
I can reproduce this problem on Mac using a debug build from this morning around
7, using a pop account. Imap is fine.
I have the following error on the console:
###!!! ASSERTION: couldn't get message header: 'PR_FALSE', file
nsMailboxProtocol.cpp, line 417

Comment 19

17 years ago
*** Bug 110496 has been marked as a duplicate of this bug. ***
I'm getting assertions, looking more and more like darin's changes:

this one looks the cause of this problem, but there are others, see below:

NTDLL! 77f9f9df()
nsDebug::Assertion(const char * 0x032f0f84, const char * 0x032f0f78, const char 
* 0x032f0f38, int 417) line 290 + 13 bytes
nsMailboxProtocol::SetupMessageExtraction() line 417 + 35 bytes
nsMailboxProtocol::Initialize(nsIURI * 0x06294134) line 193 + 8 bytes
nsMailboxService::NewChannel(nsMailboxService * const 0x0566e4bc, nsIURI * 
0x06294134, nsIChannel * * 0x0627a530) line 495 + 12 bytes
nsIOService::NewChannelFromURI(nsIOService * const 0x037473a0, nsIURI * 
0x06294134, nsIChannel * * 0x0627a530) line 784 + 31 bytes
nsMsgQuote::QuoteMessage(nsMsgQuote * const 0x0627a510, const char * 
0x062c8fb0, int 0, nsIStreamListener * 0x0628a6a0, const char * 0x062befb0) 
line 241 + 71 bytes
nsMsgCompose::QuoteOriginalMessage(const char * 0x062c8fb0, int 1) line 2079 + 
62 bytes
nsMsgCompose::BuildQuotedMessageAndSignature(nsMsgCompose * const 0x062ba210) 
line 2857
nsMsgDocumentStateListener::NotifyDocumentCreated(nsMsgDocumentStateListener * 
const 0x062ee0a0) line 2716 + 26 bytes
nsEditor::NotifyDocumentListeners(nsEditor * const 0x0625f360, 
nsEditor::TDocumentListenerNotification eDocumentCreated) line 2543 + 23 bytes
nsEditor::PostCreate(nsEditor * const 0x0625f360) line 360
nsHTMLEditor::PostCreate(nsHTMLEditor * const 0x0625f360) line 320 + 9 bytes
nsEditorShell::PrepareDocumentForEditing(nsIDOMWindow * 0x06014e94, nsIURI * 
0x062efe40) line 617 + 32 bytes
nsEditorShell::EndPageLoad(nsIDOMWindow * 0x06014e94, nsIChannel * 0x062efaa0, 
unsigned int 0) line 5326 + 27 bytes
nsEditorShell::OnStateChange(nsEditorShell * const 0x06007f38, nsIWebProgress * 
0x060065c4, nsIRequest * 0x062efaa0, int 786448, unsigned int 0) line 5101
nsDocLoaderImpl::FireOnStateChange(nsIWebProgress * 0x060065c4, nsIRequest * 
0x062efaa0, int 786448, unsigned int 0) line 1110
nsDocLoaderImpl::doStopDocumentLoad(nsIRequest * 0x062efaa0, unsigned int 0) 
line 750
nsDocLoaderImpl::DocLoaderIsEmpty() line 647
nsDocLoaderImpl::OnStopRequest(nsDocLoaderImpl * const 0x060065b4, nsIRequest * 
0x062af1d0, nsISupports * 0x056b1550, unsigned int 0) line 578
nsLoadGroup::RemoveRequest(nsLoadGroup * const 0x06006540, nsIRequest * 
0x062af1d0, nsISupports * 0x056b1550, unsigned int 0) line 525 + 44 bytes
imgRequestProxy::OnStopRequest(nsIRequest * 0x062ae690, nsISupports * 
0x00000000, unsigned int 0) line 369
imgRequest::OnStopRequest(imgRequest * const 0x062a9df8, nsIRequest * 
0x062ae690, nsISupports * 0x00000000, unsigned int 0) line 618
ProxyListener::OnStopRequest(ProxyListener * const 0x062a9d10, nsIRequest * 
0x062ae690, nsISupports * 0x00000000, unsigned int 0) line 490
nsJARChannel::OnStopRequest(nsJARChannel * const 0x062ae694, nsIRequest * 
0x062ae274, nsISupports * 0x00000000, unsigned int 0) line 611 + 49 bytes
nsOnStopRequestEvent::HandleEvent() line 177
nsARequestObserverEvent::HandlePLEvent(PLEvent * 0x062af664) line 80
PL_HandleEvent(PLEvent * 0x062af664) line 590 + 10 bytes
PL_ProcessPendingEvents(PLEventQueue * 0x005047c0) line 520 + 9 bytes
_md_EventReceiverProc(HWND__ * 0x0005019c, unsigned int 49563, unsigned int 0, 
long 5261248) line 1071 + 9 bytes
USER32! 77e13eb0()
USER32! 77e1401a()
USER32! 77e192da()
nsAppShellService::Run(nsAppShellService * const 0x03c70fb0) line 303
main1(int 2, char * * 0x00481a90, nsISupports * 0x00000000) line 1304 + 32 bytes
main(int 2, char * * 0x00481a90) line 1630 + 37 bytes
mainCRTStartup() line 338 + 17 bytes
KERNEL32! 77e87903()

start up mail 3 pane

NTDLL! 77f9f9df()
nsDebug::Assertion(const char * 0x017bd594, const char * 0x017bd584, const char 
* 0x017bd548, int 1048) line 290 + 13 bytes
nsDebug::WarnIfFalse(const char * 0x017bd594, const char * 0x017bd584, const 
char * 0x017bd548, int 1048) line 396 + 21 bytes
nsStandardURL::Equals(nsStandardURL * const 0x03b63e80, nsIURI * 0x00000000, 
int * 0x0012f9e8) line 1048 + 32 bytes
nsDocShell::OnNewURI(nsDocShell * const 0x03b62c10, nsIURI * 0x03b63e80, 
nsIChannel * 0x03cc2e90, unsigned int 1) line 4730 + 31 bytes
nsDocShell::OnLoadingSite(nsDocShell * const 0x03b62c10, nsIChannel * 
0x03cc2e90) line 4997
nsDocShell::CreateContentViewer(nsDocShell * const 0x03b62c10, const char * 
0x0012fbc4, nsIRequest * 0x03cc2e90, nsIStreamListener * * 0x0012fc14) line 3505
nsDSURIContentListener::DoContent(nsDSURIContentListener * const 0x03b62b80, 
const char * 0x0012fbc4, int 0, nsIRequest * 0x03cc2e90, nsIStreamListener * * 
0x0012fc14, int * 0x0012fbac) line 105 + 33 bytes
nsDocumentOpenInfo::DispatchContent(nsIRequest * 0x03cc2e90, nsISupports * 
0x00000000) line 354 + 90 bytes
nsDocumentOpenInfo::OnStartRequest(nsDocumentOpenInfo * const 0x03cc2fd0, 
nsIRequest * 0x03cc2e90, nsISupports * 0x00000000) line 225 + 16 bytes
nsJARChannel::OnStartRequest(nsJARChannel * const 0x03cc2e94, nsIRequest * 
0x03cc2bf4, nsISupports * 0x00000000) line 588
nsOnStartRequestEvent::HandleEvent() line 125 + 53 bytes
nsARequestObserverEvent::HandlePLEvent(PLEvent * 0x03cc25e4) line 80
PL_HandleEvent(PLEvent * 0x03cc25e4) line 590 + 10 bytes
PL_ProcessPendingEvents(PLEventQueue * 0x005047c0) line 520 + 9 bytes
_md_EventReceiverProc(HWND__ * 0x0005019c, unsigned int 49563, unsigned int 0, 
long 5261248) line 1071 + 9 bytes
USER32! 77e13eb0()
USER32! 77e1401a()
USER32! 77e192da()
nsAppShellService::Run(nsAppShellService * const 0x03c70fb0) line 303
main1(int 2, char * * 0x00481a90, nsISupports * 0x00000000) line 1304 + 32 bytes
main(int 2, char * * 0x00481a90) line 1630 + 37 bytes
mainCRTStartup() line 338 + 17 bytes
KERNEL32! 7

doing get new message (biff) on pop mail

NTDLL! 77f9f9df()
nsDebug::Assertion(const char * 0x017bd298, const char * 0x10100f18, const char 
* 0x017bd25c, int 756) line 290 + 13 bytes
nsDebug::Error(const char * 0x017bd298, const char * 0x017bd25c, int 756) line 
458 + 22 bytes
nsStandardURL::SetPreHost(nsStandardURL * const 0x05661830, const char * 
0x05661770) line 756 + 21 bytes
nsStandardURL::SetUsername(nsStandardURL * const 0x05661830, const char * 
0x05661770) line 834 + 16 bytes
nsMsgMailNewsUrl::SetUsername(nsMsgMailNewsUrl * const 0x05661a84, const char * 
0x05661770) line 473
nsPop3Service::BuildPop3Url(const char * 0x05661c50, nsIMsgFolder * 0x0539aadc, 
nsIPop3IncomingServer * 0x052db930, nsIUrlListener * 0x00000000, nsIURI * * 
0x0012e720, nsIMsgWindow * 0x052bd8d0, int 110) line 245
nsPop3Service::CheckForNewMail(nsPop3Service * const 0x0530fc20, nsIMsgWindow * 
0x052bd8d0, nsIUrlListener * 0x00000000, nsIMsgFolder * 0x0539aadc, 
nsIPop3IncomingServer * 0x052db930, nsIURI * * 0x00000000) line 128 + 56 bytes
nsPop3IncomingServer::PerformBiff(nsPop3IncomingServer * const 0x052db8d0) line 
229 + 91 bytes
XPTC_InvokeByIndex(nsISupports * 0x052db8d0, unsigned int 50, unsigned int 0, 
nsXPTCVariant * 0x0012e988) line 154
XPCWrappedNative::CallMethod(XPCCallContext & {...}, XPCWrappedNative::CallMode 
CALL_METHOD) line 2009 + 42 bytes
XPC_WN_CallMethod(JSContext * 0x03b621a0, JSObject * 0x0430f3c0, unsigned int 
0, long * 0x042e6090, long * 0x0012ec5c) line 1266 + 14 bytes
js_Invoke(JSContext * 0x03b621a0, unsigned int 0, unsigned int 0) line 832 + 23 
bytes
js_Interpret(JSContext * 0x03b621a0, long * 0x0012fab4) line 2791 + 15 bytes
js_Execute(JSContext * 0x03b621a0, JSObject * 0x011e7cc0, JSScript * 
0x0563b610, JSStackFrame * 0x00000000, unsigned int 0, long * 0x0012fab4) line 
1012 + 13 bytes
JS_EvaluateUCScriptForPrincipals(JSContext * 0x03b621a0, JSObject * 0x011e7cc0, 
JSPrincipals * 0x03b5e1b4, const unsigned short * 0x0419a9b0, unsigned int 33, 
const char * 0x0539b050, unsigned int 442, long * 0x0012fab4) line 3356 + 25 
bytes
nsJSContext::EvaluateString(nsJSContext * const 0x03b62350, const nsAString & 
{...}, void * 0x011e7cc0, nsIPrincipal * 0x03b5e1b0, const char * 0x0539b050, 
unsigned int 442, const char * 0x0197269c, nsAString & {...}, int * 0x0012fbdc) 
line 653 + 85 bytes
GlobalWindowImpl::RunTimeout(nsTimeoutImpl * 0x0539dda0) line 3789 + 115 bytes
GlobalWindowImpl::TimerCallback(nsITimer * 0x0539dac0, void * 0x0539dda0) line 
4116
nsTimer::Fire() line 209 + 17 bytes
nsTimerManager::FireNextReadyTimer(nsTimerManager * const 0x03cc2030, unsigned 
int 0) line 132
FireTimeout(HWND__ * 0x00000000, unsigned int 275, unsigned int 11842, unsigned 
long 4900967) line 104
USER32! 77e13eb0()
USER32! 77e14092()
USER32! 77e192da()
nsAppShellService::Run(nsAppShellService * const 0x03c70fb0) line 303
main1(int 2, char * * 0x00481a90, nsISupports * 0x00000000) line 1304 + 32 bytes
main(int 2, char * * 0x00481a90) line 1630 + 37 bytes
mainCRTStartup() line 338 + 17 bytes
KERNEL32! 77e87903()

doing html reply to a pop message

NTDLL! 77f9f9df()
nsDebug::Assertion(const char * 0x017bd594, const char * 0x017bd584, const char 
* 0x017bd548, int 1048) line 290 + 13 bytes
nsDebug::WarnIfFalse(const char * 0x017bd594, const char * 0x017bd584, const 
char * 0x017bd548, int 1048) line 396 + 21 bytes
nsStandardURL::Equals(nsStandardURL * const 0x0561e280, nsIURI * 0x00000000, 
int * 0x0012f9e8) line 1048 + 32 bytes
nsDocShell::OnNewURI(nsDocShell * const 0x056a1e90, nsIURI * 0x0561e280, 
nsIChannel * 0x056b16e0, unsigned int 1) line 4730 + 31 bytes
nsDocShell::OnLoadingSite(nsDocShell * const 0x056a1e90, nsIChannel * 
0x056b16e0) line 4997
nsDocShell::CreateContentViewer(nsDocShell * const 0x056a1e90, const char * 
0x0012fbc4, nsIRequest * 0x056b16e0, nsIStreamListener * * 0x0012fc14) line 3505
nsDSURIContentListener::DoContent(nsDSURIContentListener * const 0x056a7370, 
const char * 0x0012fbc4, int 0, nsIRequest * 0x056b16e0, nsIStreamListener * * 
0x0012fc14, int * 0x0012fbac) line 105 + 33 bytes
nsDocumentOpenInfo::DispatchContent(nsIRequest * 0x056b16e0, nsISupports * 
0x00000000) line 354 + 90 bytes
nsDocumentOpenInfo::OnStartRequest(nsDocumentOpenInfo * const 0x056b1940, 
nsIRequest * 0x056b16e0, nsISupports * 0x00000000) line 225 + 16 bytes
nsJARChannel::OnStartRequest(nsJARChannel * const 0x056b16e4, nsIRequest * 
0x056b1084, nsISupports * 0x00000000) line 588
nsOnStartRequestEvent::HandleEvent() line 125 + 53 bytes
nsARequestObserverEvent::HandlePLEvent(PLEvent * 0x056b90c4) line 80
PL_HandleEvent(PLEvent * 0x056b90c4) line 590 + 10 bytes
PL_ProcessPendingEvents(PLEventQueue * 0x005047c0) line 520 + 9 bytes
_md_EventReceiverProc(HWND__ * 0x0005019c, unsigned int 49563, unsigned int 0, 
long 5261248) line 1071 + 9 bytes
USER32! 77e13eb0()
USER32! 77e1401a()
USER32! 77e192da()
nsAppShellService::Run(nsAppShellService * const 0x03c70fb0) line 303
main1(int 2, char * * 0x00481a90, nsISupports * 0x00000000) line 1304 + 32 bytes
main(int 2, char * * 0x00481a90) line 1630 + 37 bytes
mainCRTStartup() line 338 + 17 bytes
KERNEL32! 77e87903()

over to ducarroz, it looks like darin's changes.
Assignee: sspitzer → ducarroz
Status: ASSIGNED → NEW

Comment 22

17 years ago
Same to to field, subject field and so on...

They all aren't filled out when you press the reply button... (since 2001111603)
here;s the problem with reply:

when we display message, we get the path to the db as:

"C:\Documents and Settings\Administrator\Application 
Data\Mozilla\Profiles\default\h60gdlsw.slt\Mail\nsmail-1\Inbox"

when we reply, we get the spec, add "?number=115401" and then set the spec.

later, when we try to get the the path to the db from the url, we get

"C:\Documents and Settings\Administrator\Application 
Data\Mozilla\Profiles\default\h60gdlsw.slt\Mail\nsmail-1\Inbox?number=115401"

and that fails, as there is no Inbox?number=115401.msf

here's where it fails:

nsMailboxUrl::GetMsgHdrForKey(unsigned int 115401, nsIMsgDBHdr * * 0x0012f0bc) 
line 295
nsMailboxUrl::GetMessageHeader(nsMailboxUrl * const 0x06aa1540, nsIMsgDBHdr * * 
0x0012f0bc) line 308
nsMailboxProtocol::SetupMessageExtraction() line 409 + 50 bytes
nsMailboxProtocol::Initialize(nsIURI * 0x06aa1544) line 193 + 8 bytes
nsMailboxService::NewChannel(nsMailboxService * const 0x04c60bdc, nsIURI * 
0x06aa1544, nsIChannel * * 0x06aa21e0) line 495 + 12 bytes
nsIOService::NewChannelFromURI(nsIOService * const 0x01ca01a0, nsIURI * 
0x06aa1544, nsIChannel * * 0x06aa21e0) line 784 + 31 bytes
nsMsgQuote::QuoteMessage(nsMsgQuote * const 0x06aa21c0, const char * 
0x06af27a0, int 0, nsIStreamListener * 0x06aa2120, const char * 0x06af2ce0) 
line 242 + 71 bytes
nsMsgCompose::QuoteOriginalMessage(const char * 0x06af27a0, int 1) line 2079 + 
62 bytes
nsMsgCompose::BuildQuotedMessageAndSignature(nsMsgCompose * const 0x06af2f20) 
line 2857
nsMsgDocumentStateListener::NotifyDocumentCreated(nsMsgDocumentStateListener * 
const 0x06b113a0) line 2716 + 26 bytes
nsEditor::NotifyDocumentListeners(nsEditor * const 0x06a1cd60, 
nsEditor::TDocumentListenerNotification eDocumentCreated) line 2543 + 23 bytes
nsEditor::PostCreate(nsEditor * const 0x06a1cd60) line 360
nsHTMLEditor::PostCreate(nsHTMLEditor * const 0x06a1cd60) line 320 + 9 bytes
nsEditorShell::PrepareDocumentForEditing(nsIDOMWindow * 0x06a14ca4, nsIURI * 
0x06b11180) line 617 + 32 bytes
nsEditorShell::EndPageLoad(nsIDOMWindow * 0x06a14ca4, nsIChannel * 0x06b12e00, 
unsigned int 0) line 5326 + 27 bytes
nsEditorShell::OnStateChange(nsEditorShell * const 0x06a30f38, nsIWebProgress * 
0x06a2f404, nsIRequest * 0x06b12e00, int 786448, unsigned int 0) line 5101
nsDocLoaderImpl::FireOnStateChange(nsIWebProgress * 0x06a2f404, nsIRequest * 
0x06b12e00, int 786448, unsigned int 0) line 1110
nsDocLoaderImpl::doStopDocumentLoad(nsIRequest * 0x06b12e00, unsigned int 0) 
line 750
nsDocLoaderImpl::DocLoaderIsEmpty() line 647
nsDocLoaderImpl::OnStopRequest(nsDocLoaderImpl * const 0x06a2f3f4, nsIRequest * 
0x06b12e00, nsISupports * 0x00000000, unsigned int 0) line 578
nsLoadGroup::RemoveRequest(nsLoadGroup * const 0x06a2f380, nsIRequest * 
0x06b12e00, nsISupports * 0x00000000, unsigned int 0) line 525 + 44 bytes
nsStreamIOChannel::OnStopRequest(nsStreamIOChannel * const 0x06b12e04, 
nsIRequest * 0x06b12cc4, nsISupports * 0x00000000, unsigned int 0) line 482
nsOnStopRequestEvent::HandleEvent() line 177
nsARequestObserverEvent::HandlePLEvent(PLEvent * 0x06b13e04) line 80
PL_HandleEvent(PLEvent * 0x06b13e04) line 590 + 10 bytes
PL_ProcessPendingEvents(PLEventQueue * 0x004fcb70) line 520 + 9 bytes
_md_EventReceiverProc(HWND__ * 0x02af0362, unsigned int 49627, unsigned int 0, 
long 5229424) line 1071 + 9 bytes
USER32! 77e13eb0()
USER32! 77e1401a()
USER32! 77e192da()
nsAppShellService::Run(nsAppShellService * const 0x00508fb0) line 303
main1(int 2, char * * 0x00484d60, nsISupports * 0x00000000) line 1304 + 32 bytes
main(int 2, char * * 0x00484d60) line 1630 + 37 bytes
mainCRTStartup() line 338 + 17 bytes
KERNEL32! 77e87903()
we call set spec with our modified string ("?number=115401" appended)

after that, we call getfilepath on the spec, and get get back this:

"/C|/Documents%20and%20Settings/Administrator/Application%
20Data/Mozilla/Profiles/default/h60gdlsw.slt/Mail/nsmail-1/Inbox%
3Fnumber=115401"

the ? has been escaped!
Created attachment 58146 [details] [diff] [review]
fix

I've fixed mailnews to use SetQuery(), instead of resetting the spec.  (this
code is better, anyways, we can remove a call to getspec, and some string
append foo.

but there is still a bug in darin's code.  doing setspec() should have worked.

r=ducarroz
fixed.

fwd inline is another problem, see bug #110502
Assignee: ducarroz → sspitzer
marking fixed.

thanks to ducarroz for the debugging help.
Status: NEW → RESOLVED
Last Resolved: 17 years ago
Resolution: --- → FIXED
[I midaried]

This is actually correct behaviour. ? isn't special in a file url. Before this,
it was impossible to open a file url containing a ? character.

This was bug 102603 (also see bug 59002). I mentioned it to darin, but I thought
he'd decided not to fix this the first time arround.

How did mailnews previously work with a local folder containing ? in the name?

The escaping is probably cosmetic. Note that spaces have been escaped, too. I'm
not sure whether that counts as correct behaviour or not, but it is correct that
the filepath includes the ?. File urls do not have a query term.

Comment 29

17 years ago
Comment on attachment 58146 [details] [diff] [review]
fix

sr=bienvenu
Attachment #58146 - Flags: superreview+

Comment 30

17 years ago
*** Bug 110519 has been marked as a duplicate of this bug. ***

Comment 31

17 years ago
ok, here's my take on what happened here:

at the point of failure (using a pop3 account), modifiedUrlSpec has a value of:
mailbox:///home/darinf/.mozilla/test/setvt3k8.slt/Mail/localhost.localdomain/Inbox?number=0?header=quotebody

curiously, there are 2 query strings.  the switch to use SetQuery causes the
first query string ("?number=0") to be overwritten, making things appear to
work.  so, i guess the difference between url parsing now and url parsing before
my landing has to do with the way multiple query strings get handled.

in the old code we would take the first '?' and assume everything before it
belongs to the file path.  it looks like in the new code, even though we walk
forward, we take the last '?' as the start of the query string.  the patch to
fix this is a one liner.

Index: nsURLParsers.cpp
===================================================================
RCS file: /cvsroot/mozilla/netwerk/base/src/nsURLParsers.cpp,v
retrieving revision 1.1
diff -u -r1.1 nsURLParsers.cpp
--- nsURLParsers.cpp	2001/11/16 02:09:02	1.1
+++ nsURLParsers.cpp	2001/11/17 03:34:36
@@ -254,7 +254,7 @@
     const char *p = 0;
     for (p = path; *p; ++p) {
         // only match the query string if it precedes the reference fragment
-        if (!ref_beg && *p == '?')
+        if (!ref_beg && !query_beg && *p == '?')
             query_beg = p + 1;
         else if (*p == '#') {
             ref_beg = p + 1;

this also begs the question: should there be 2 queries?
r=bbaetz on darin's inline patch. This is invalid, since ? must be escaped in
both parts. We may as well keep the previous behaviour, though
(Reporter)

Comment 33

17 years ago
*** Bug 110590 has been marked as a duplicate of this bug. ***
verified on commercial builds:

windows 2001-11-19-06-trunk
linux 2001-11-19-06-trunk
mac 2001-11-19-04-trunk
Status: RESOLVED → VERIFIED
Comment on attachment 58146 [details] [diff] [review]
fix

R=ducarroz
Attachment #58146 - Flags: review+
*** Bug 108534 has been marked as a duplicate of this bug. ***
Product: Browser → Seamonkey
You need to log in before you can comment on or make changes to this bug.