diff options
author | Elie Roux <elie.roux@telecom-bretagne.eu> | 2013-06-09 10:21:58 +0200 |
---|---|---|
committer | Elie Roux <elie.roux@telecom-bretagne.eu> | 2013-06-09 10:21:58 +0200 |
commit | c4eb95663d8e14360fc564279757de46eeecdc6f (patch) | |
tree | 8a5c7b55edfe6ce5431b0f02c77c83b2f84aa9bf | |
parent | 8918b4798de4c6efdd0e24d0419f080496e5545e (diff) | |
download | luatexbase-c4eb95663d8e14360fc564279757de46eeecdc6f.tar.gz |
In simple callbacks, we stop on a false return
(so that we can truely disable hyphenation)
-rw-r--r-- | luatexbase-mcb.dtx | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/luatexbase-mcb.dtx b/luatexbase-mcb.dtx index 3740e06..6d23eb8 100644 --- a/luatexbase-mcb.dtx +++ b/luatexbase-mcb.dtx @@ -572,7 +572,7 @@ local function listhandler (name) for _, f in ipairs(callbacklist[name]) do ret = f.func(head, ...) if ret == false then - log("function '%s' returned false\nin callback '%s'", + log("function '%s' returned false in callback '%s'", f.description, name) break end @@ -611,14 +611,22 @@ local function firsthandler (name) end % \end{macrocode} % -% Handler for |simple| callbacks. +% Handler for |simple| callbacks. If a function returns false, we return +% this value, without going through other functions. % % \begin{macrocode} local function simplehandler (name) return function(...) + local ret = true for _, f in ipairs(callbacklist[name]) do - f.func(...) + ret = f.func(...) + if ret == false then + log("function '%s' returned false in callback '%s'", + f.description, name) + return false + end end + return ret end end % \end{macrocode} |