[latex3-commits] [git/LaTeX3-latex3-luaotfload] dev: Handle TODO (26c31f7)

Marcel Fabian Krüger tex at 2krueger.de
Fri Oct 30 02:20:21 CET 2020


Repository : https://github.com/latex3/luaotfload
On branch  : dev
Link       : https://github.com/latex3/luaotfload/commit/26c31f78df2e33904e08f0c0fee4a99d90ddf935

>---------------------------------------------------------------

commit 26c31f78df2e33904e08f0c0fee4a99d90ddf935
Author: Marcel Fabian Krüger <tex at 2krueger.de>
Date:   Fri Oct 30 02:20:21 2020 +0100

    Handle TODO


>---------------------------------------------------------------

26c31f78df2e33904e08f0c0fee4a99d90ddf935
 src/luaotfload-harf-plug.lua | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/luaotfload-harf-plug.lua b/src/luaotfload-harf-plug.lua
index 05dca48..781908f 100644
--- a/src/luaotfload-harf-plug.lua
+++ b/src/luaotfload-harf-plug.lua
@@ -461,8 +461,6 @@ function shape(head, firstnode, run)
               end
             end
 
-            -- TODO: Remove nested discretionaries from discs
-
             local pre, post, _, _, lastpost, _ = getdisc(discs.disc, true)
             local precodes, postcodes = {}, {}
             table.move(codes, disc_cluster + 1, anchor_cluster, 1, precodes)
@@ -525,6 +523,10 @@ function shape(head, firstnode, run)
 
             disc_cluster = nil
             discs = discs.next
+            while discs and discs.anchor_cluster + offset < cluster do
+              free(discs.disc)
+              discs = discs.next
+            end
             if not discs then break end
             anchor_cluster, after_cluster = offset + discs.anchor_cluster, offset + discs.after_cluster
           elseif anchor_cluster == cluster then





More information about the latex3-commits mailing list.