Return-Path: <kwrite-devel-bounces@kde.org>
X-Sieve: CMU Sieve 2.3
X-Virus-Scanned: amavisd-new at site
Authentication-Results: linux.site (amavisd-new); dkim=pass (1024-bit key)
	header.d=kde.org
Received: from postbox.kde.org (localhost.localdomain [127.0.0.1])
	by postbox.kde.org (Postfix) with ESMTP id 3167DB6E75;
	Wed,  5 Oct 2016 20:21:47 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=kde.org; s=default;
	t=1475698907; bh=6i+3UfR6HLC54wVtp5SF4sVWvQn63jzu9vD2zJal/kY=;
	h=From:To:Subject:Date:Reply-To:List-Id:List-Unsubscribe:List-Post:
	 List-Help:List-Subscribe:From;
	b=M5nfHbmJe/4DPuidrJ901dUzX3FmpVpyUrPM961Or9bKrMO+z9gaTUwbfPR74Rq8B
	 Rv66yf3ZaDuRZxv/ARPzpr8qnDTtf13WRFZ/ySdqqqQJKeBqCAd7/wbR0kHhypvpwe
	 z4nY6+bNnjvFelPXR56o16b+/Ib2GTYJ9hwiG97U=
X-Original-To: kwrite-devel@kde.org
Delivered-To: kwrite-devel@localhost.kde.org
Received-SPF: Neutral (access neither permitted nor denied) identity=mailfrom;
 client-ip=85.214.234.26; helo=h2265959.stratoserver.net;
 envelope-from=vkrause@kde.org; receiver=kwrite-devel@kde.org
From: Volker Krause <vkrause@kde.org>
To: kwrite-devel@kde.org
Subject: Highlighting semantics: line end context switches when popping back
 into previous line context stack
Date: Wed, 05 Oct 2016 22:19:17 +0200
Message-ID: <2420385.jiZKTgWtgY@vkpc5>
Organization: KDE
User-Agent: KMail/4.14.10 (Linux/4.1.13-5-default; KDE/4.14.16; x86_64;
 git-91275a7; 2015-12-13)
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="nextPart1575059.2yRQ5x6HOo";
 micalg="pgp-sha1"; protocol="application/pgp-signature"
X-BeenThere: kwrite-devel@kde.org
X-Mailman-Version: 2.1.16
Precedence: list
Reply-To: kwrite-devel@kde.org
List-Id: Kate/KWrite Mailing List <kwrite-devel.kde.org>
List-Unsubscribe: <https://mail.kde.org/mailman/options/kwrite-devel>,
 <mailto:kwrite-devel-request@kde.org?subject=unsubscribe>
List-Post: <mailto:kwrite-devel@kde.org>
List-Help: <mailto:kwrite-devel-request@kde.org?subject=help>
List-Subscribe: <https://mail.kde.org/mailman/listinfo/kwrite-devel>,
 <mailto:kwrite-devel-request@kde.org?subject=subscribe>
Errors-To: kwrite-devel-bounces@kde.org
Sender: "KWrite-Devel" <kwrite-devel-bounces@kde.org>


--nextPart1575059.2yRQ5x6HOo
Content-Transfer-Encoding: 7Bit
Content-Type: text/plain; charset="us-ascii"

Hi,

when trying to add the unit test for the new Praat highlighting to
KF5::SyntaxHighlighting it turned out that the output doesn't match at all
that of Kate. We managed to trace this back to the following rather surprising
(and apparently undocumented) behavior in Kate:

When a context switch (anywhere in a line) pops more contexts than were on the
stack when starting the line, it executes line end context switches of the
previous line contexts.

| | | | | | The corresponding code is in KateHighlighting::generateContextStack(),
| | > | > KF5::SyntaxHighlighting doesn't do this (yet), Praat is apparently the first
> | > format we have tests for that uses this behavior.

> Does anyone remember why we do this, or happens to know which highlighting
> files besides Praat rely on this?

> > Archeology can trace this back to the dark CVS ages even, one reference
> > Dominik has dug up is a 10 year old SVN commit
> > (https://quickgit.kde.org/?p=kdelibs.git&a=commit&h=90ef47f582277745f727d89f05f72f1e1705fdc4
> >), where Christoph claims to understand what this code does ;)

> > > As this is highly unexpected and hard to reason about behavior, Dominik and I
> > > > were wondering if we can possibly drop this, and rather fix affected
> > > > > highlighting files instead?

Regards,
Volker
--nextPart1575059.2yRQ5x6HOo
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part.
Content-Transfer-Encoding: 7Bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iD8DBQBX9WBIf5bM1k0S0kcRAireAJ4lCWa08Y5yU1ezIvKVCAfnkhcUbACgou0O
X4c+lkPI0tti59KV1vetaeU=
=VqDS
-----END PGP SIGNATURE-----

--nextPart1575059.2yRQ5x6HOo--
