If I diff two files with 'different carriage return
types' I get the following message
(IDS_SUGGEST_IGNOREEOL), since I have the
option 'Ignore carriage return differences' disabled:
"These files use different carriage return types.
Do you want to treat all carriage return types as
equivalent for this comparison?
Note: If you always want to treat all carriage return
types as equivalent, set the option 'Ignore carriage
return differences..' in the Compare tab of the
options dialog (available under Edit/Options)."
I say 'Yes', since I want this behavior for the
*current* comparison. But after click, the
option 'Ignore carriage return differences' is set in
Edit/Options and apply to all files.
Tim
PS: I not test it yet, but I think this could be in
WinMerge 2.4 too.
Logged In: YES
user_id=652377
I found the same behavior in WinMerge 2.4.6.
Logged In: YES
user_id=631874
Good catch!
I think that message is poorest message we have in WinMerge.
I had to read it several times I understood it myself. What
about casual users...
Logged In: YES
user_id=631874
Fix is simple as this? :) (its from my local SVN repository
if you wonder about the format..)
Change is in function CMergeDoc::OpenDocs()
Index: MergeDoc.cpp
--- MergeDoc.cpp (revision 1)
+++ MergeDoc.cpp (working copy)
@@ -2766,7 +2766,6 @@
{
diffOptions.bIgnoreEol = TRUE;
m_diffWrapper.SetOptions(&diffOptions);
- GetOptionsMgr()->SaveOption(OPT_CMP_IGNORE_EOL, true);
}
}
Logged In: YES
user_id=631874
That won't work. Current options system always saves values,
so there is no currently a way to set options as "this
session only".
Logged In: YES
user_id=652377
> so there is no currently a way to set options as "this
session only".
And in the future? Do you think there is a way, to enable
this at least for WinMerge 2.5? For me are 'Ignore carriage
return differences' and 'Editor: Preserve original EOL
chars' options, they I only want to enable temporary.
Logged In: YES
user_id=631874
I quess it would be possible..
To generalize we'd need three categories for options then:
- for current document only
- for current WinMerge instance only
- global (for all current and new documents)
This adds some more complexity to options handling, as we'd
have to start keeping per-document options lists. Now we
have all options as global.
Logged In: YES
user_id=631874
Or, we could change semantics of options functions so that
they don't immediately save values. And add separate
function for saving current values.
That propably is what we need anyway. Since currently we
don't behave quite correctly if user has two instances of
WinMerge and user changes options in another..
I wonder if we can do that change yet, since it has some
risk in it..
I'm upping priority, since there are two important bugs -
wrong message and wrong options behavior.
Logged In: YES
user_id=631874
Oww. I just tested patch I pasted
Date: 2006-08-04 23:57
and it actually works. And it is a correct fix for this.
DiffWrapper's compare options are per compare session, so if
we set options there and don't save it, it remeains per session.
Logged In: YES
user_id=631874
Applied the patch to CVS trunk (2.5).
Checking in MergeDoc.cpp;
/cvsroot/winmerge/WinMerge/Src/MergeDoc.cpp,v <-- MergeDoc.cpp
new revision: 1.312; previous revision: 1.311
done
Logged In: YES
user_id=631874
Unfortunately I don't have time for changing that text now.
So unless somebody else have a good suggestion for better
text we have to live with current text in next stable.
Lowering priority since remaining issue is "only" somewhat
confusing and too long text.