texinfo-commits
[Top][All Lists]
Advanced

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

texinfo update (Tue Mar 4 04:53:01 EST 2008)


From: Karl Berry
Subject: texinfo update (Tue Mar 4 04:53:01 EST 2008)
Date: Tue, 04 Mar 2008 04:53:03 -0500

Index: ChangeLog
===================================================================
RCS file: /sources/texinfo/texinfo/ChangeLog,v
retrieving revision 1.844
retrieving revision 1.845
diff -u -r1.844 -r1.845
--- ChangeLog   2 Mar 2008 19:39:14 -0000       1.844
+++ ChangeLog   4 Mar 2008 09:46:44 -0000       1.845
@@ -1,3 +1,23 @@
+2008-03-04  Sergey Poznyakoff  <address@hidden>
+
+       * Makefile.am (AUTOMAKE_OPTIONS): Raise version requirement to
+       1.10.1. This is needed for dist-lzma.
+
+       * system.h: Include <ctype.h>
+       * info/session.c (scroll_last_node_choices, scroll_last_node): New
+       variables.
+       (forward_move_node_structure): Special behavior when a scrolling
+       command is issued while on the last node.
+       * info/session.h (scroll_last_node_choices, scroll_last_node): New
+       variables.
+       (SLN_Stop,SLN_Scroll,SLN_Top): New defines.
+       * info/variables.c (info_variables): New variable
+       scroll-last-node.
+       * info/variables.h (scroll_last_node): New variable.
+       * doc/info-stnd.texi: Document scrolling behavior at the last node
+       and the scroll-last-node variable.
+       * NEWS: Document scrolling behavior at the last node.
+
 2008-03-02  Karl Berry  <address@hidden>
 
        * configure.ac (AM_INIT_AUTOMAKE): dist-lzma instead of dist-bzip2.
Index: Makefile.am
===================================================================
RCS file: /sources/texinfo/texinfo/Makefile.am,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -r1.22 -r1.23
--- Makefile.am 2 Jan 2008 01:36:15 -0000       1.22
+++ Makefile.am 4 Mar 2008 09:43:55 -0000       1.23
@@ -1,5 +1,5 @@
 # Makefile.am for texinfo.
-# $Id: Makefile.am,v 1.22 2008/01/02 01:36:15 karl Exp $
+# $Id: Makefile.am,v 1.23 2008/03/04 09:43:55 gray Exp $
 # Process this file with automake to produce Makefile.in in all directories.
 #
 # This file is free software; as a special exception the author gives
@@ -11,7 +11,7 @@
 # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
 # Be sure we're using the right version of Automake.
-AUTOMAKE_OPTIONS = 1.9 readme-alpha
+AUTOMAKE_OPTIONS = 1.10.1 readme-alpha
 
 # Find our headers and gnulib headers.
 ACLOCAL_AMFLAGS = -I gnulib/m4
Index: NEWS
===================================================================
RCS file: /sources/texinfo/texinfo/NEWS,v
retrieving revision 1.163
retrieving revision 1.164
diff -u -r1.163 -r1.164
--- NEWS        25 Feb 2008 00:21:29 -0000      1.163
+++ NEWS        4 Mar 2008 09:46:03 -0000       1.164
@@ -1,4 +1,4 @@
-$Id: NEWS,v 1.163 2008/02/25 00:21:29 karl Exp $
+$Id: NEWS,v 1.164 2008/03/04 09:46:03 gray Exp $
 This NEWS file records noteworthy changes, very tersely.
 See the manual for detailed information.
 
@@ -63,6 +63,15 @@
   . the precise line number specified in index entries is used if available.
   . --usage=info shows usage for standalone Info.
 
+  When a scrolling command is issued at the end of the last node, info does
+  not scroll and displays the message "No more nodes within this document."
+  This differs from prior versions, which obeyed the scrolling command even
+  on the last node.
+
+  The scrolling behavior at the last node is controlled by the infokeys
+  variable `scroll-last-node' (see the documentation). To restore old
+  behavior, set scroll-last-node=Scroll.
+
 * Distribution:
   . language support for no removed/renamed to nb, per Norwegian translators.
   . new translation: es.
Index: system.h
===================================================================
RCS file: /sources/texinfo/texinfo/system.h,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- system.h    1 Mar 2008 21:15:58 -0000       1.8
+++ system.h    4 Mar 2008 09:44:06 -0000       1.9
@@ -1,8 +1,8 @@
 /* system.h: system-dependent declarations; include this first.
-   $Id: system.h,v 1.8 2008/03/01 21:15:58 juan_g Exp $
+   $Id: system.h,v 1.9 2008/03/04 09:44:06 gray Exp $
 
    Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-   2006, 2007 Free Software Foundation, Inc.
+   2006, 2007, 2008 Free Software Foundation, Inc.
 
    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
@@ -39,6 +39,7 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
+#include <ctype.h>
 
 /* Use POSIX headers.  If they are not available, we use the substitute
    provided by gnulib.  */
Index: doc/info-stnd.texi
===================================================================
RCS file: /sources/texinfo/texinfo/doc/info-stnd.texi,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -r1.20 -r1.21
--- doc/info-stnd.texi  30 Jan 2008 19:40:13 -0000      1.20
+++ doc/info-stnd.texi  4 Mar 2008 09:45:52 -0000       1.21
@@ -1,5 +1,5 @@
 vb\input texinfo.tex    @c -*-texinfo-*-
address@hidden $Id: info-stnd.texi,v 1.20 2008/01/30 19:40:13 karl Exp $
address@hidden $Id: info-stnd.texi,v 1.21 2008/03/04 09:45:52 gray Exp $
 @c We must \input texinfo.tex instead of texinfo, otherwise make
 @c distcheck in the Texinfo distribution fails, because the texinfo Info
 @c file is made first, and texi2dvi must include . first in the path.
@@ -1924,6 +1924,32 @@
 (@code{global-next-node}) and @samp{[} (@code{global-prev-node})
 commands.
 
address@hidden scroll-last-node
address@hidden scroll-last-node
+Control what happens when a scrolling command is issued at the end of
+the last node. Possible values are:
+
address@hidden @code
address@hidden Stop
+Do not scroll. Display the @samp{No more nodes within this document.}
+message. This is the default.
+
address@hidden Scroll
+Scroll as usual. Since the last node is usually an index, this means
+that the very first node from the menu will be selected.
+
address@hidden Top
+Go to the top node of this document.
address@hidden table
+
+This variable is in effect only if @code{scroll-behaviour} is set to
address@hidden
+
+Notice that the default behavior has changed in version 4.12. Previous
+versions behaved as if @code{scroll-last-node=Scroll} was set. This
+behavior was counter-intuitive, therefore since version 4.12 the
+default is to stop at the last node.
+
 @item Next Only
 Only try to get the @samp{Next} node.
 
Index: info/session.c
===================================================================
RCS file: /sources/texinfo/texinfo/info/session.c,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -r1.29 -r1.30
--- info/session.c      26 Feb 2008 16:51:05 -0000      1.29
+++ info/session.c      4 Mar 2008 09:44:29 -0000       1.30
@@ -1,5 +1,5 @@
 /* session.c -- user windowing interface to Info.
-   $Id: session.c,v 1.29 2008/02/26 16:51:05 karl Exp $
+   $Id: session.c,v 1.30 2008/03/04 09:44:29 gray Exp $
 
    Copyright (C) 1993, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
    2004, 2007, 2008 Free Software Foundation, Inc.
@@ -961,6 +961,15 @@
 /* Controls whether scroll-behavior affects line movement commands */
 int cursor_movement_scrolls_p = 1;
 
+/* Choices for the scroll-last-node variable */
+char *scroll_last_node_choices[] = {
+  "Stop", "Scroll", "Top", NULL
+};
+
+/* Controls what to do when a scrolling command is issued at the end of the
+   last node. */
+int scroll_last_node = SLN_Stop;
+
 /* Default window sizes for scrolling commands.  */
 int default_window_size = -1;   /* meaning 1 window-full */
 int default_scroll_size = -1;   /* meaning half screen size */
@@ -969,6 +978,20 @@
   (info_parsed_nodename || (info_parsed_filename \
                             && !is_dir_name (info_parsed_filename)))
 
+static int
+last_node_p (NODE *node)
+{
+  int last_node = 0;
+       
+  info_next_label_of_node (node);
+  if (!INFO_LABEL_FOUND ())
+    {
+      info_up_label_of_node (node);
+      return !INFO_LABEL_FOUND () || strcmp (info_parsed_nodename, "Top") == 0;
+    }
+  return 0;
+}
+
 /* Move to 1st menu item, Next, Up/Next, or error in this window. */
 static int
 forward_move_node_structure (WINDOW *window, int behaviour)
@@ -994,20 +1017,41 @@
 
     case IS_Continuous:
       {
+        if (last_node_p (window->node))
+         {
+           switch (scroll_last_node)
+             {
+             case SLN_Stop:
+               info_error (_("No more nodes within this document."),
+                           NULL, NULL);
+               return 1;
+               
+             case SLN_Scroll:
+               break;
+               
+             case SLN_Top:
+               info_top_node (window, 1, 0);
+               return 0;
+               
+             default:
+               abort ();
+             }
+         }
+       
         /* First things first.  If this node contains a menu, move down
            into the menu. */
-        {
-          REFERENCE **menu;
+       {
+         REFERENCE **menu;
 
-          menu = info_menu_of_node (window->node);
-
-          if (menu)
-            {
-              info_free_references (menu);
-              info_menu_digit (window, 1, '1');
-              return 0;
-            }
-        }
+         menu = info_menu_of_node (window->node);
+         
+         if (menu)
+           {
+             info_free_references (menu);
+             info_menu_digit (window, 1, '1');
+             return 0;
+           }
+       }
 
         /* Okay, this node does not contain a menu.  If it contains a
            "Next:" pointer, use that. */
Index: info/session.h
===================================================================
RCS file: /sources/texinfo/texinfo/info/session.h,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- info/session.h      26 Feb 2008 16:51:06 -0000      1.9
+++ info/session.h      4 Mar 2008 09:44:57 -0000       1.10
@@ -1,5 +1,5 @@
 /* session.h -- Functions found in session.c.
-   $Id: session.h,v 1.9 2008/02/26 16:51:06 karl Exp $
+   $Id: session.h,v 1.10 2008/03/04 09:44:57 gray Exp $
 
    Copyright (C) 1993, 1998, 1999, 2001, 2002, 2004, 2007
    Free Software Foundation, Inc.
@@ -61,6 +61,16 @@
 
 extern int cursor_movement_scrolls_p;
 
+/* Values for scroll_last_node */
+#define SLN_Stop   0 /* Stop at the last node */
+#define SLN_Scroll 1 /* Do usual scrolling */
+#define SLN_Top    2 /* Go to the top node */
+
+extern char *scroll_last_node_choices[];
+/* Controls what to do when a scrolling command is issued at the end of the
+   last node. */
+extern int scroll_last_node;
+
 /* Utility functions found in session.c */
 extern void info_dispatch_on_key (unsigned char key, Keymap map);
 extern unsigned char info_get_input_char (void);
Index: info/variables.c
===================================================================
RCS file: /sources/texinfo/texinfo/info/variables.c,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- info/variables.c    26 Feb 2008 16:51:06 -0000      1.8
+++ info/variables.c    4 Mar 2008 09:45:15 -0000       1.9
@@ -1,5 +1,5 @@
 /* variables.c -- how to manipulate user visible variables in Info.
-   $Id: variables.c,v 1.8 2008/02/26 16:51:06 karl Exp $
+   $Id: variables.c,v 1.9 2008/03/04 09:45:15 gray Exp $
 
    Copyright (C) 1993, 1997, 2001, 2002, 2004, 2007
    Free Software Foundation, Inc.
@@ -77,6 +77,11 @@
       N_("When \"On\", Info accepts and displays ISO Latin characters"),
       &ISO_Latin_p, (char **)on_off_choices },
 
+  { "scroll-last-node",
+    N_("What to do when a scrolling command is issued at the end of the "
+       "last node"),
+    &scroll_last_node, (char**)scroll_last_node_choices },
+  
   { (char *)NULL, (char *)NULL, (int *)NULL, (char **)NULL }
 };
 
Index: info/variables.h
===================================================================
RCS file: /sources/texinfo/texinfo/info/variables.h,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- info/variables.h    26 Feb 2008 16:51:06 -0000      1.8
+++ info/variables.h    4 Mar 2008 09:45:27 -0000       1.9
@@ -1,5 +1,5 @@
 /* variables.h -- Description of user visible variables in Info.
-   $Id: variables.h,v 1.8 2008/02/26 16:51:06 karl Exp $
+   $Id: variables.h,v 1.9 2008/03/04 09:45:27 gray Exp $
 
    This file is part of GNU Info, a program for reading online documentation
    stored in Info format.
@@ -62,5 +62,6 @@
 extern int window_scroll_step;
 extern int cursor_movement_scrolls_p;
 extern int ISO_Latin_p;
+extern int scroll_last_node;
 
 #endif /* not INFO_VARIABLES_H */
P ChangeLog
P Makefile.am
P NEWS
P system.h
P doc/info-stnd.texi
P info/session.c
P info/session.h
P info/variables.c
P info/variables.h




reply via email to

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