diff options
| author | Manuel Pégourié-Gonnard <mpg@elzevir.fr> | 2010-11-05 19:52:10 +0100 | 
|---|---|---|
| committer | Manuel Pégourié-Gonnard <mpg@elzevir.fr> | 2010-11-11 15:52:24 +0100 | 
| commit | 29c7784fd4ddd1bf20628f077992be125ec9d014 (patch) | |
| tree | 6072adf7bafa2161dcf9f8e5176646bd3f712505 | |
| parent | ec78724a1df80ff8d5f10c8c2241bfaff270d71d (diff) | |
| download | luatexbase-29c7784fd4ddd1bf20628f077992be125ec9d014.tar.gz | |
Mplement support for setting callbacks to false.
| -rw-r--r-- | luatexbase-mcb.dtx | 18 | 
1 files changed, 15 insertions, 3 deletions
diff --git a/luatexbase-mcb.dtx b/luatexbase-mcb.dtx index 9e91065..43bfef9 100644 --- a/luatexbase-mcb.dtx +++ b/luatexbase-mcb.dtx @@ -210,8 +210,16 @@ See source file '\inFileName' for details.  % description used when adding the function to this callback. You can also  % remove all functions from a callback at once using  % \begin{verbatim} -% luatexbase.reset_callback(name) +% luatexbase.reset_callback(name, make_false)  % \end{verbatim} +% The |make_false| argument is optional. If it is |true| (repeat: |true|, not +% |false|) then the value |false| is registered in the callback, which has a +% special meaning for some callback. +% +% Note that |reset_callback| is very invasive since it removes all functions +% possibly installed by other packages in this callback. So, use it with care +% if there is any chance that another package wants to share this callback +% with you.  %  % When new functions are added at the beginning of the list, other functions  % are shifted down the list. To get the current rank of a function in a @@ -731,7 +739,7 @@ end  %    callback handler unless the callback is user-defined.  %  %    \begin{macrocode} -function reset_callback (name) +function reset_callback (name, make_false)      if not name or name == "" then          err("unable to reset:\nno proper callback name passed")          return @@ -740,7 +748,11 @@ function reset_callback (name)          return      end      if not lua_callbacks_defaults[name] then -        internalregister(name, nil) +        if make_false == true then +            internalregister(name, false) +        else +            internalregister(name, nil) +        end      end      local l = callbacklist[name]      if l then  | 
