# HG changeset patch # User Markus Mützel # Date 1634827358 -7200 # Node ID 4fe897f5db8e2c4673e544c5c487a0fd01aeb88c # Parent a4061ae5ff79527a6dc998e7950848d229292b76 print_usage.m: Fix error on invalid texinfo (bug #61363). * scripts/help/print_usage.m (get_usage_texinfo): Do not call __makeinfo__ if help string doesn't contain a @def* macro. diff -r a4061ae5ff79 -r 4fe897f5db8e scripts/help/print_usage.m --- a/scripts/help/print_usage.m Tue Oct 19 14:26:04 2021 +0200 +++ b/scripts/help/print_usage.m Thu Oct 21 16:42:38 2021 +0200 @@ -117,23 +117,24 @@ ## include things such as @deftypefn, @deftypefnx, @defvar, etc. and their ## corresponding @end's. def_idx = strfind (help_text, "@def"); - if (! isempty (def_idx)) - endf_idx = strfind (help_text, "@end def"); - def_idx = sort ([def_idx, endf_idx]); - endl_idx = find (help_text == "\n"); - buffer = ""; - for k = 1:length (def_idx) - endl = endl_idx(find (endl_idx > def_idx(k), 1)); - if (isempty (endl)) - buffer = [buffer, help_text(def_idx(k):end), "\n"]; - else - buffer = [buffer, help_text(def_idx(k):endl)]; - endif - endfor - else + if (isempty (def_idx)) [retval, status] = get_usage_plain_text (help_text, max_len); + return; endif + endf_idx = strfind (help_text, "@end def"); + def_idx = sort ([def_idx, endf_idx]); + endl_idx = find (help_text == "\n"); + buffer = ""; + for k = 1:length (def_idx) + endl = endl_idx(find (endl_idx > def_idx(k), 1)); + if (isempty (endl)) + buffer = [buffer, help_text(def_idx(k):end), "\n"]; + else + buffer = [buffer, help_text(def_idx(k):endl)]; + endif + endfor + ## Run makeinfo to generate plain text [retval, status] = __makeinfo__ (buffer, "plain text");