texinfo-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[5503] begin_multiple_window_info_session


From: Gavin D. Smith
Subject: [5503] begin_multiple_window_info_session
Date: Thu, 01 May 2014 20:54:42 +0000

Revision: 5503
          http://svn.sv.gnu.org/viewvc/?view=rev&root=texinfo&revision=5503
Author:   gavin
Date:     2014-05-01 20:54:41 +0000 (Thu, 01 May 2014)
Log Message:
-----------
begin_multiple_window_info_session

Modified Paths:
--------------
    trunk/ChangeLog
    trunk/info/info.c
    trunk/info/session.c
    trunk/info/session.h

Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog     2014-05-01 18:39:34 UTC (rev 5502)
+++ trunk/ChangeLog     2014-05-01 20:54:41 UTC (rev 5503)
@@ -1,5 +1,11 @@
 2014-05-01  Gavin Smith  <address@hidden>
 
+       * info/session.c (begin_multiple_window_info_session): Call
+       initialize_info_session and display startup message or error.  Caller
+       updated.
+
+2014-05-01  Gavin Smith  <address@hidden>
+
        * info/nodes.c (info_get_node_of_file_buffer): Order of arguments
        reversed.
        (info_node_of_file_buffer_tags): Merged into

Modified: trunk/info/info.c
===================================================================
--- trunk/info/info.c   2014-05-01 18:39:34 UTC (rev 5502)
+++ trunk/info/info.c   2014-05-01 20:54:41 UTC (rev 5503)
@@ -823,18 +823,11 @@
       add_initial_nodes (initial_fb, argc, argv, &error_node);
     }
 
-  if (!user_output_filename
-      && !(user_filename && error_node))
-    initialize_info_session ();
-
-  if (error_node)
-    show_error_node (error_node);
-  else if (!user_output_filename)
-    display_startup_message ();
-
   /* --output */
   if (user_output_filename)
     {
+      if (error_node)
+        show_error_node (error_node);
       if (!initial_fb) return 0;
       /* FIXME: Was two separate functions, dump_node_to_file as well.
          Check behaviour is the same. */
@@ -843,13 +836,15 @@
       return 0;
     }
 
+  if (user_filename && error_node)
+    {
+      show_error_node (error_node);
+      return 1;
+    }
+    
   /* Initialize the Info session. */
-
-  if (!(user_filename && error_node))
-    begin_multiple_window_info_session (initial_file, user_nodenames);
-  else
-    return 1;
-
+  begin_multiple_window_info_session (initial_file, user_nodenames,
+                                      error_node);
   info_session ();
   return 0;
 }

Modified: trunk/info/session.c
===================================================================
--- trunk/info/session.c        2014-05-01 18:39:34 UTC (rev 5502)
+++ trunk/info/session.c        2014-05-01 20:54:41 UTC (rev 5503)
@@ -88,14 +88,22 @@
 
 /* Begin an info session finding the nodes specified by FILENAME and NODENAMES.
    For each loaded node, create a new window.  Always split the largest of the
-   available windows. */
+   available windows.  Display error in ERROR_NODE if there is one. */
 void
-begin_multiple_window_info_session (char *filename, char **nodenames)
+begin_multiple_window_info_session (char *filename, char **nodenames,
+                                    NODE *error_node)
 {
   register int i;
   WINDOW *window = 0;
   FILE_BUFFER *fb;
 
+  initialize_info_session ();
+
+  if (!error_node)
+    display_startup_message ();
+  else
+    show_error_node (error_node);
+
   /* Load dir node as a back-up. */
   if (!filename || !nodenames || !nodenames[0])
     {

Modified: trunk/info/session.h
===================================================================
--- trunk/info/session.h        2014-05-01 18:39:34 UTC (rev 5502)
+++ trunk/info/session.h        2014-05-01 20:54:41 UTC (rev 5503)
@@ -124,7 +124,7 @@
 
 /* Starting an info session. */
 extern void begin_multiple_window_info_session (char *filename,
-    char **nodenames);
+    char **nodenames, NODE *error_node);
 extern void info_session (void);
 extern void initialize_terminal_and_keymaps (char *init_file);
 extern void initialize_info_session (void);




reply via email to

[Prev in Thread] Current Thread [Next in Thread]