changeset 8768:e0fbf17a17bb

__makeinfo__.m: rename from makeinfo.m
author John W. Eaton <jwe@octave.org>
date Mon, 16 Feb 2009 17:01:17 -0500
parents 026c6732ec7a
children a186c5b4f264
files scripts/ChangeLog scripts/help/Makefile.in scripts/help/__additional_help_message__.m scripts/help/__makeinfo__.m scripts/help/__strip_html_tags__.m scripts/help/get_first_help_sentence.m scripts/help/help.m scripts/help/lookfor.m scripts/help/makeinfo.m scripts/help/print_usage.m
diffstat 10 files changed, 185 insertions(+), 178 deletions(-) [+]
line wrap: on
line diff
--- a/scripts/ChangeLog	Mon Feb 16 16:44:55 2009 -0500
+++ b/scripts/ChangeLog	Mon Feb 16 17:01:17 2009 -0500
@@ -1,3 +1,12 @@
+2009-02-16  John W. Eaton  <jwe@octave.org>
+
+	* help/__makeinfo__.m: Rename from help/makeinfo.m.  Delete tmp file.
+	* help/Makefile.in (SOURCES): Add __makeinfo__.m, delete makeinfo.m.
+	* help/get_first_help_sentence.m, help/help.m, help/lookfor.m,
+	help/print_usage.m: Call __makeinfo__ instead of makeinfo.
+	* help/__strip_html_tags__.m, help/__additional_help_message__.m:
+	Doc fix.
+
 2009-02-16  Ben Abbott <bpabbott@mac.com>
 
 	* plot/shading.m: No new figure windows for the demos.
--- a/scripts/help/Makefile.in	Mon Feb 16 16:44:55 2009 -0500
+++ b/scripts/help/Makefile.in	Mon Feb 16 17:01:17 2009 -0500
@@ -34,13 +34,13 @@
 
 SOURCES = \
   __additional_help_message__.m \
+  __makeinfo__.m \
   __strip_html_tags__.m \
   doc.m \
   gen_doc_cache.m \
   get_first_help_sentence.m \
   help.m \
   lookfor.m \
-  makeinfo.m \
   print_usage.m \
   type.m \
   which.m
--- a/scripts/help/__additional_help_message__.m	Mon Feb 16 16:44:55 2009 -0500
+++ b/scripts/help/__additional_help_message__.m	Mon Feb 16 17:01:17 2009 -0500
@@ -15,11 +15,8 @@
 ## <http://www.gnu.org/licenses/>.
 
 ## -*- texinfo -*-
-## @deftypefn {Function File} __additional_help_message__ ()
-## Return additional help message.
-##
-## This is an internal function and should not be used directly.
-## @seealso{suppress_verbose_help_message}
+## @deftypefn {Function File} {} __additional_help_message__ ()
+## Undocumented internal function.
 ## @end deftypefn
 
 function msg = __additional_help_message__ ()
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/scripts/help/__makeinfo__.m	Mon Feb 16 17:01:17 2009 -0500
@@ -0,0 +1,161 @@
+## Copyright (C) 2009 Søren Hauberg
+##
+## This program is free software; you can redistribute it and/or modify it
+## under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 3 of the License, or (at
+## your option) any later version.
+##
+## This program is distributed in the hope that it will be useful, but
+## WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+## General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with this program; see the file COPYING.  If not, see
+## <http://www.gnu.org/licenses/>.
+
+## -*- texinfo -*-
+## @deftypefn {Function File} {[@var{retval}, @var{status}] =} __makeinfo__ (@var{text}, @var{output_type})
+## @deftypefnx{Function File} {[@var{retval}, @var{status}] =} __makeinfo__ (@var{text}, @var{output_type}, @var{see_also})
+## Undocumented internal function.
+## @end deftypefn
+
+## Run @code{makeinfo} on a given text.
+##
+## The string @var{text} is run through the @code{__makeinfo__} program
+## to generate output in various formats. This string must contain valid
+## Texinfo formatted text.
+##
+## The @var{output_type} selects the format of the output. This can be either
+## @t{"html"}, @t{"texinfo"}, or @t{"plain text"}. By default this is
+## @t{"plain text"}. If @var{output_type} is @t{"texinfo"}, the @t{@@seealso}
+## macro is expanded, but otherwise the text is unaltered.
+##
+## If the optional argument @var{see_also} is present, it is used to expand the
+## Octave specific @t{@@seealso} macro. This argument must be a function handle,
+## that accepts a cell array of strings as input argument (each elements of the
+## array corresponds to the arguments to the @t{@@seealso} macro), and return
+## the expanded string. If this argument is not given, the @t{@@seealso} macro
+## will be expanded to the text
+##
+## @example
+## See also: arg1, arg2@, ...
+## @end example
+##
+## @noindent
+## for @t{"plain text"} output, and
+##
+## @example
+## See also: @@ref@{arg1@}, @@ref@{arg2@}, ...
+## @end example
+##
+## @noindent
+## otherwise.
+##
+## The optional output argument @var{status} contains the exit status of the
+## @code{makeinfo} program as returned by @code{system}.
+
+function [retval, status] = __makeinfo__ (text, output_type = "plain text", see_also = [])
+
+  ## Check input
+  if (nargin == 0)
+    print_usage ();
+  endif
+  
+  if (!ischar (text))
+    error ("__makeinfo__: first input argument must be a string");
+  endif
+  
+  if (!ischar (output_type))
+    error ("__makeinfo__: second input argument must be a string");
+  endif
+  
+  ## Define the @seealso macro
+  if (isempty (see_also))
+    if (strcmpi (output_type, "plain text"))
+      see_also = @simple_see_also;
+    else
+      see_also = @simple_see_also_with_refs;
+    endif
+  endif
+  
+  if (!isa (see_also, "function_handle"))
+    error ("__makeinfo__: third input argument must be the empty matrix, or a function handle");
+  endif
+  
+  ## It seems like makeinfo sometimes gets angry if the character on a line is
+  ## a space, so we remove these.
+  text = strrep (text, "\n ", "\n");
+  
+  ## Handle @seealso macro
+  SEE_ALSO = "@seealso";
+  start = strfind (text, SEE_ALSO);
+  if (!isempty (start))
+    if (start == 1 || (text (start-1) != "@"))
+      bracket_start = find (text (start:end) == "{", 1);
+      stop = find (text (start:end) == "}", 1);
+      if (!isempty (stop) && !isempty (bracket_start))
+        stop += start - 1;
+        bracket_start += start - 1;
+      else
+        bracket_start = start + length (SEE_ALSO);
+        stop = find (text (start:end) == "\n", 1);
+        if (isempty (stop))
+          stop = length (text);
+        else
+          stop += start - 1;
+        endif
+      endif
+      see_also_args = text (bracket_start+1:(stop-1));
+      see_also_args = strtrim (cellstr (split (see_also_args, ",")));
+      expanded = see_also (see_also_args);
+      text = strcat (text (1:start-1), expanded, text (stop+1:end));
+    endif
+  endif
+  
+  if (strcmpi (output_type, "texinfo"))
+    status = 0;
+    retval = text;
+    return;
+  endif
+  
+  ## Create the final TeXinfo input string
+  text = sprintf ("\\input texinfo\n\n%s\n\n@bye\n", text);
+  
+  unwind_protect
+    ## Write Texinfo to tmp file
+    [fid, name, msg] = mkstemp ("octave_help_XXXXXX", true);
+    fwrite (fid, text);
+    fclose (fid);
+
+    ## Take action depending on output type
+    switch (lower (output_type))
+      case "plain text"
+         cmd = sprintf ("%s --no-headers --no-warn --force --no-validate %s",
+                        makeinfo_program (), name);
+      case "html"
+         cmd = sprintf ("%s --no-headers --html --no-warn --no-validate --force %s",
+                        makeinfo_program (), name);
+      otherwise
+        error ("__makeinfo__: unsupported output type: '%s'", output_type);
+    endswitch
+  
+    ## Call makeinfo
+    [status, retval] = system (cmd);
+   
+  unwind_protect_cleanup
+    if (exist (name, "file"))
+      delete (name);
+    endif
+  end_unwind_protect
+endfunction
+
+function expanded = simple_see_also (args)
+  expanded = strcat ("\nSee also:", sprintf (" %s,", args {:}));
+  expanded = strcat (expanded (1:end-1), "\n\n");
+endfunction
+
+function expanded = simple_see_also_with_refs (args)
+  expanded = strcat ("\nSee also:", sprintf (" @ref{%s},", args {:}));
+  expanded = strcat (expanded (1:end-1), "\n\n");
+endfunction
--- a/scripts/help/__strip_html_tags__.m	Mon Feb 16 16:44:55 2009 -0500
+++ b/scripts/help/__strip_html_tags__.m	Mon Feb 16 17:01:17 2009 -0500
@@ -16,12 +16,12 @@
 
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {[@var{text}, @var{status}] =} __strip_html_tags__ (@var{html_text})
-## This function removes html tags from a text. This is used as a simple
-## html-to-text function.
-##
-## This is an internal function and should not be used directly.
+## Undocumented internal function.
 ## @end deftypefn
 
+## Remove HTML tags from text.  This is used as a simple HTML-to-text
+## function. 
+
 function [text, status] = __strip_html_tags__ (html_text)
   start = find (html_text == "<");
   stop  = find (html_text == ">");
--- a/scripts/help/get_first_help_sentence.m	Mon Feb 16 16:44:55 2009 -0500
+++ b/scripts/help/get_first_help_sentence.m	Mon Feb 16 17:01:17 2009 -0500
@@ -133,7 +133,7 @@
   endif
   
   ## Run makeinfo to generate plain text
-  [help_text, status] = makeinfo (help_text, "plain text");
+  [help_text, status] = __makeinfo__ (help_text, "plain text");
   
   ## Extract first line with plain text method.
   retval = first_sentence_plain_text (help_text, max_len);
--- a/scripts/help/help.m	Mon Feb 16 16:44:55 2009 -0500
+++ b/scripts/help/help.m	Mon Feb 16 17:01:17 2009 -0500
@@ -59,7 +59,7 @@
       case "plain text"
         status = 0;
       case "texinfo"
-        [text, status] = makeinfo (text, "plain text");
+        [text, status] = __makeinfo__ (text, "plain text");
       case "html"
         [text, status] = strip_html_tags (text);
       case "not documented"
@@ -75,7 +75,7 @@
     
     ## Print text
     if (status != 0)
-      warning ("makeinfo: Texinfo formatting filter exited abnormally; raw Texinfo source of help text follows...\n");
+      warning ("help: Texinfo formatting filter exited abnormally; raw Texinfo source of help text follows...\n");
     endif
 
     which (name);
@@ -104,7 +104,7 @@
         case "plain text"
           status = 0;
         case "texinfo"
-          [text, status] = makeinfo (text, "plain text");
+          [text, status] = __makeinfo__ (text, "plain text");
         case "html"
           [text, status] = strip_html_tags (text);
       endswitch
--- a/scripts/help/lookfor.m	Mon Feb 16 16:44:55 2009 -0500
+++ b/scripts/help/lookfor.m	Mon Feb 16 17:01:17 2009 -0500
@@ -105,7 +105,7 @@
               case "plain text"
                 status = 0;
               case "texinfo"
-                [text, status] = makeinfo (text, "plain text");
+                [text, status] = __makeinfo__ (text, "plain text");
               case "html"
                 [text, status] = strip_html_tags (text);
               otherwise
--- a/scripts/help/makeinfo.m	Mon Feb 16 16:44:55 2009 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,160 +0,0 @@
-## Copyright (C) 2009 Søren Hauberg
-##
-## This program is free software; you can redistribute it and/or modify it
-## under the terms of the GNU General Public License as published by
-## the Free Software Foundation; either version 3 of the License, or (at
-## your option) any later version.
-##
-## This program is distributed in the hope that it will be useful, but
-## WITHOUT ANY WARRANTY; without even the implied warranty of
-## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-## General Public License for more details.
-##
-## You should have received a copy of the GNU General Public License
-## along with this program; see the file COPYING.  If not, see
-## <http://www.gnu.org/licenses/>.
-
-## -*- texinfo -*-
-## @deftypefn {Function File} {[@var{retval}, @var{status}] =} makeinfo (@var{text}, @
-## @var{output_type})
-## @deftypefnx{Function File} {[@var{retval}, @var{status}] =} makeinfo (@var{text}, @
-## @var{output_type}, @var{see_also})
-## Run @code{makeinfo} on a given text.
-##
-## The string @var{text} is run through the @code{makeinfo} program to generate
-## output in various formats. This string must contain valid Texinfo formatted
-## text.
-##
-## The @var{output_type} selects the format of the output. This can be either
-## @t{"html"}, @t{"texinfo"}, or @t{"plain text"}. By default this is
-## @t{"plain text"}. If @var{output_type} is @t{"texinfo"}, the @t{@@seealso}
-## macro is expanded, but otherwise the text is unaltered.
-##
-## If the optional argument @var{see_also} is present, it is used to expand the
-## Octave specific @t{@@seealso} macro. This argument must be a function handle,
-## that accepts a cell array of strings as input argument (each elements of the
-## array corresponds to the arguments to the @t{@@seealso} macro), and return
-## the expanded string. If this argument is not given, the @t{@@seealso} macro
-## will be expanded to the text
-##
-## @example
-## See also: arg1, arg2@, ...
-## @end example
-##
-## @noindent
-## for @t{"plain text"} output, and
-##
-## @example
-## See also: @@ref@{arg1@}, @@ref@{arg2@}, ...
-## @end example
-##
-## @noindent
-## otherwise.
-##
-## The optional output argument @var{status} contains the exit status of the
-## @code{makeinfo} program as returned by @code{system}.
-## @end deftypefn
-
-function [retval, status] = makeinfo (text, output_type = "plain text", see_also = [])
-  ## Check input
-  if (nargin == 0)
-    print_usage ();
-  endif
-  
-  if (!ischar (text))
-    error ("makeinfo: first input argument must be a string");
-  endif
-  
-  if (!ischar (output_type))
-    error ("makeinfo: second input argument must be a string");
-  endif
-  
-  ## Define the @seealso macro
-  if (isempty (see_also))
-    if (strcmpi (output_type, "plain text"))
-      see_also = @simple_see_also;
-    else
-      see_also = @simple_see_also_with_refs;
-    endif
-  endif
-  
-  if (!isa (see_also, "function_handle"))
-    error ("makeinfo: third input argument must be the empty matrix, or a function handle");
-  endif
-  
-  ## It seems like makeinfo sometimes gets angry if the character on a line is
-  ## a space, so we remove these.
-  text = strrep (text, "\n ", "\n");
-  
-  ## Handle @seealso macro
-  SEE_ALSO = "@seealso";
-  start = strfind (text, SEE_ALSO);
-  if (!isempty (start))
-    if (start == 1 || (text (start-1) != "@"))
-      bracket_start = find (text (start:end) == "{", 1);
-      stop = find (text (start:end) == "}", 1);
-      if (!isempty (stop) && !isempty (bracket_start))
-        stop += start - 1;
-        bracket_start += start - 1;
-      else
-        bracket_start = start + length (SEE_ALSO);
-        stop = find (text (start:end) == "\n", 1);
-        if (isempty (stop))
-          stop = length (text);
-        else
-          stop += start - 1;
-        endif
-      endif
-      see_also_args = text (bracket_start+1:(stop-1));
-      see_also_args = strtrim (cellstr (split (see_also_args, ",")));
-      expanded = see_also (see_also_args);
-      text = strcat (text (1:start-1), expanded, text (stop+1:end));
-    endif
-  endif
-  
-  if (strcmpi (output_type, "texinfo"))
-    status = 0;
-    retval = text;
-    return;
-  endif
-  
-  ## Create the final TeXinfo input string
-  text = sprintf ("\\input texinfo\n\n%s\n\n@bye\n", text);
-  
-  unwind_protect
-    ## Write Texinfo to tmp file
-    [fid, name, msg] = mkstemp ("octave_help_XXXXXX", true);
-    fwrite (fid, text);
-    fclose (fid);
-
-    ## Take action depending on output type
-    switch (lower (output_type))
-      case "plain text"
-         cmd = sprintf ("%s --no-headers --no-warn --force --no-validate %s",
-                        makeinfo_program (), name);
-      case "html"
-         cmd = sprintf ("%s --no-headers --html --no-warn --no-validate --force %s",
-                        makeinfo_program (), name);
-      otherwise
-        error ("makeinfo: unsupported output type: '%s'", output_type);
-    endswitch
-  
-    ## Call makeinfo
-    [status, retval] = system (cmd);
-   
-  unwind_protect_cleanup
-#    if (exist (name, "file"))
-#      delete (name);
-#    endif
-  end_unwind_protect
-endfunction
-
-function expanded = simple_see_also (args)
-  expanded = strcat ("\nSee also:", sprintf (" %s,", args {:}));
-  expanded = strcat (expanded (1:end-1), "\n\n");
-endfunction
-
-function expanded = simple_see_also_with_refs (args)
-  expanded = strcat ("\nSee also:", sprintf (" @ref{%s},", args {:}));
-  expanded = strcat (expanded (1:end-1), "\n\n");
-endfunction
--- a/scripts/help/print_usage.m	Mon Feb 16 16:44:55 2009 -0500
+++ b/scripts/help/print_usage.m	Mon Feb 16 17:01:17 2009 -0500
@@ -57,8 +57,8 @@
   
   ## Raise the final error
   if (status != 0)
-    warning ("makeinfo: Texinfo formatting filter exited abnormally");
-    warning ("makeinfo: raw Texinfo source of help text follows...\n");
+    warning ("print_usage: Texinfo formatting filter exited abnormally");
+    warning ("print_usage: raw Texinfo source of help text follows...\n");
   endif
 
   error ("Invalid call to %s.  Correct usage is:\n\n%s\n%s",
@@ -101,7 +101,7 @@
   endif
 
   ## Run makeinfo to generate plain text
-  [retval, status] = makeinfo (buffer, "plain text");
+  [retval, status] = __makeinfo__ (buffer, "plain text");
 endfunction
 
 function [retval, status] = get_usage_html (help_text, max_len)