Kommentar zur Tc-Funktion "Vergleich nach Inhalt"

German support forum

Moderators: Hacker, Stefan2, white

Post Reply
JOUBE
Power Member
Power Member
Posts: 835
Joined: 2004-07-08, 08:58 UTC

Kommentar zur Tc-Funktion "Vergleich nach Inhalt"

Post by *JOUBE »

Ich erlaube mir einmal meinen Kommentar zur Tc-Funktion "Vergleich nach Inhalt" von Dateien hier im deutschen Forum und nicht in den Bug-Reports abzusetzen, weil es sich um mehrere Bug bzw. Unzulänglichkeiten handelt, die man nicht in einzelne Theads aufteilen kann.

- die maximale Länge einer Zeile für einen sinnvollen Vergleich (dh es werden wirklich nur die ungleichen Zeichen rot markiert) darf im Tc-Vergleichstool 4091 nicht übersteigen (die restlichen Zeichen bis 4096 werden für CRLF und vermutlich für Vergleichstool-interne-Statusinformationen benutzt), bei allen Zeilenlängen darüber wird - bei Ungleichheiten - einfach die ganze Zeile rot markiert und man darf dann selber suchen wo die Unterschiede sind. Sehr ärgerlich. Das ist ein Bug, weil ja bei Zeilen mit grösserer Länge diese sehr wohl als gleich bzw als ungleich erkannt werden.

- Die neue Funktion "springe zum nächsten Unterschied" F2/Shift+F2 (im Editmodus) stellt nach meinem Eindruck seine Arbeit sogar schon bei 1151 Zeichen ein und springt dann irgendwohin. Bei Ungleichheiten darunter trifft sie hier regelmässig um etwa 6 Zeichen daneben. Kommt mir vor wie ein Pferd: springt zu kurz und verweigert dann. Bitte überarbeiten oder die Funktion einfach wieder komplett entfernen!

- Unglücklich bei F2/Shift+F2 ist ausserdem, dass eine Funktion, die in 10.50b ja schon vorhanden war, und dann einen Tag später verändert wurde, nicht parameterisiert weiterhin zur Verfügung gestellt werden kann. Gemeint ist, dass F2/Shift+F2 immer in der aktuellen Zeile bleibt. Es tut mir leid, dass ich - erst jetzt - das etwas näher erläutern kann:
Ich möchte jede Zeile, die unterschiedlich ist, auf Inhalt (hier bestimmte Statusflags) vergleichen und mich auf die Flags konzentrieren. Wenn ich dabei auch noch darauf Konzentration verwenden muss, ob F2 nicht inzwischen längst in eine andere Zeile gesprungen ist, dauert die Arbeit einfach viel länger... Ich möchte also einfach das machen, was das Tool sagt: Vergleichen. Und zwar in jeder Zeile extra und also nicht einfach von Unterschied zu Unterschied in der Datei springen, um ggf etwas anzugleichen oder so. Meine Anforderung an das Vergleichstool in der Funktion F2/Shift+F2 ist meiner Meinung nach leicht umzusetzen, weil sie ja schon vorhanden war. Bitte also einen Parameter in der ini möglich machen, ob F2/Shift+F2 zeilenübergreifend arbeitet oder auf die Zeile beschränkt bleibt. Danke.

JOUBE
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 43360
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Re: Kommentar zur Tc-Funktion "Vergleich nach Inhalt"

Post by *ghisler(Author) »

Punkt 1: Leider stürzen einige Grafiktreiber ab, wenn man ihnen Strings länger als 4096 Zeichen übergibt. Solche Zeilen müssen deshalb separat behandelt werden.

Punkt 2: Kann ich leider nicht reproduzieren. Hier 2 Testdateien:

Code: Select all

1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890 1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890 1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890 1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890 1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890 1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890 1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890 1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890 1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890 1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890 1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890 1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890 1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890 this is the left file

Code: Select all

1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890 1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890 1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890 1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890 1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890 1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890 1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890 1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890 1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890 1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890 1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890 1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890 1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890 this is the right file
F2 findet den Unterschied left/right, obwohl die Zeilen über 1300 Zeichen lang sind. Können Sie ein Beispiel liefern, wo es nicht geht?

Punkt 3: Man kann doch mit Umsch+F3 zum vorherigen Unterschied zurückspringen? Wo genau liegt das Problem?
Author of Total Commander
https://www.ghisler.com
JOUBE
Power Member
Power Member
Posts: 835
Joined: 2004-07-08, 08:58 UTC

Re: Kommentar zur Tc-Funktion "Vergleich nach Inhalt"

Post by *JOUBE »

Zu Punkt 1: Zum Beispiel notepad++ kann es ja...
Zu Punkt 2: Werde ein eigenes Beispiel per Email zuschicken. Dauert aber etwas.
ghisler(Author) wrote: 2022-06-03, 09:27 UTC Punkt 3: Man kann doch mit Umsch+F3 zum vorherigen Unterschied zurückspringen? Wo genau liegt das Problem?
Umsch+F2 ist wahrscheinlich gemeint. Das Problem ist, dass man sich auf zwei Sachen konzentrieren muss: die Unterschiede und "bin ich überhaupt noch in derselben Zeile". Ich möchte einfach in der Zeile hin und herwandern und die unterschiedlich gesetzten Flags betrachten, Schlüsse ziehen und dann - woanders - damit weiterarbeiten.

JOUBE
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 43360
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Re: Kommentar zur Tc-Funktion "Vergleich nach Inhalt"

Post by *ghisler(Author) »

Zu Punkt 3, das lässt sich einfach über eine Einstellung in der wincmd.ini lösen, werde ich in die nächste Betaversion einbauen:
wincmd.ini [Configuration] CompareF2Mode=1
Steuert, wie F2 in "Vergleich nach Inhalt" neue Zeichenfolgen findet:
0: nur innerhalb der aktuellen Zeile
1: nach der letzten Fundstelle zur nächsten Zeile wechseln (Vorgabe)
2: wechseln zur ersten Fundstelle in der aktuellen Zeile nach der letzten Fundstelle
Author of Total Commander
https://www.ghisler.com
JOUBE
Power Member
Power Member
Posts: 835
Joined: 2004-07-08, 08:58 UTC

Re: Kommentar zur Tc-Funktion "Vergleich nach Inhalt"

Post by *JOUBE »

Sehr schön, dass die Anpassungen in "Compare by content" es gerade noch in Version 10.50 geschafft haben.
History.txt:

Code: Select all

08.06.22 Release Total Commander 10.50 release candidate 1 (RC1)

05.06.22 Fixed: Compare by content: Increased maximum line length for character by character comparison from 4096 to 32768 characters, edit mode from 16350 to 32768 characters (32/64)
05.06.22 Fixed: Compare by content: F2 didn't jump to the right location of the differences in edit mode when comparing UTF-8 files (32/64)

05.06.22 Added: wincmd.ini [Configuration] CompareF2Mode=1 controls how F2 finds new strings in Compare by content: 0: just within the current line, 1: go to next line after last match, 2: restart in the current line (wrap around) after last match (32/64)
Ich werde versuchen noch einmal eine Email zu schicken, weil es leider (aus mir - ganz anders als beim UTF-8-Problem - unverständlichen Gründen) in einem Fall nicht klappt. Ich muss die Daten aber für die Email erst wieder anonymisieren, was wieder etwas dauern wird.

JOUBE
JOUBE
Power Member
Power Member
Posts: 835
Joined: 2004-07-08, 08:58 UTC

Re: Kommentar zur Tc-Funktion "Vergleich nach Inhalt"

Post by *JOUBE »

@ghisler(author)
Danke für die viele Zeit und Entwicklungsarbeit, die Sie in den letzten Tagen *) in "Compare by content" gesteckt haben. Die Erweiterungen von "Compare by content" **) sind sehr gut geworden.

Es freut mich, dass diese Erweiterungen es in den TC10.50 geschafft haben.

JO"Mögen die Erweiterungen von "Compare by content" im kommenden Tc10.50 für viele User nützlich sein"UBE

*) Nach der Veröffentlichung von TC10.50RC4 und vor dem Release von TC10.50

**) Das Vergleichen von langen (sehr langen!) Zeilen, das Editieren von langen (sehr langen!) Zeilen und die komplett neue Funktion [F2] im Editmodus. Alle drei Erweiterungen sind sehr hilfreich.
Post Reply