view lib-src/digest-doc.c @ 109067:b5f73bf59a4f

Use non-deprecated Gtk+ functions, add changes for Gtk+3 with GSEAL_ENABLE. * configure.in: Add --with-x-toolkit=gtk3. Remove HAVE_GTK_MULTIDISPLAY, check for gtk_file_chooser_dialog_new, and HAVE_GTK_FILE_BOTH (implied by minimum required Gtk+ 2.6). Add checks for functions introduced in Gtk+ 2.14 or newer. * xterm.h (gtk_widget_get_window, gtk_widget_get_mapped) (gtk_adjustment_get_page_size, gtk_adjustment_get_upper): New defines based on what configure finds. * xterm.c (XTflash): Use gtk_widget_get_window. (xg_scroll_callback): Use gtk_adjustment_get_upper and gtk_adjustment_get_page_size. (handle_one_xevent): Use gtk_widget_get_mapped. (x_term_init): Remove HAVE_GTK_MULTIDISPLAY and associated error messages. * xmenu.c (create_and_show_popup_menu): Call gtk_widget_get_mapped. * gtkutil.h: Replace HAVE_GTK_FILE_BOTH with HAVE_GTK_FILE_SELECTION_NEW. * gtkutil.c (xg_display_open, xg_display_close): Remove HAVE_GTK_MULTIDISPLAY, it is always defined. (xg_display_open): Return type is void. (gtk_widget_set_has_window) (gtk_dialog_get_action_area, gtk_dialog_get_content_area) (gtk_widget_get_sensitive, gtk_adjustment_set_page_size) (gtk_adjustment_set_page_increment) (gtk_adjustment_get_step_increment): #define these if not found by configure. (remove_submenu): New define based on Gtk+ version. (xg_set_cursor, xg_frame_resized, xg_event_is_for_scrollbar): Use gtk_widget_get_window. (xg_frame_resized, xg_update_frame_menubar): Use gtk_widget_get_mapped. (xg_create_frame_widgets): Use gtk_widget_set_has_window. (create_dialog): Use gtk_dialog_get_action_area and gtk_dialog_get_content_area. (xg_uses_old_file_dialog, xg_get_file_name): Remove HAVE_GTK_FILE_BOTH and HAVE_GTK_FILE_CHOOSER_DIALOG_NEW. File chooser is always available, so checking for HAVE_GTK_FILE_SELECTION_NEW is enough. (xg_update_menubar, xg_update_submenu, xg_show_toolbar_item): Use g_object_ref and g_object_unref. (xg_update_menu_item, xg_tool_bar_menu_proxy): Use gtk_widget_get_sensitive. (xg_update_submenu): Use remove_submenu. (xg_update_scrollbar_pos): Don't use GtkFixedChild, use child properties instead to get old x and y position. (xg_set_toolkit_scroll_bar_thumb): Use gtk_adjustment_get_page_size, gtk_adjustment_get_step_increment, gtk_adjustment_set_page_size, gtk_adjustment_set_step_increment and gtk_adjustment_set_page_increment. (xg_get_tool_bar_widgets): New function. (xg_tool_bar_menu_proxy, xg_show_toolbar_item) (update_frame_tool_bar): Call xg_get_tool_bar_widgets. (toolbar_set_orientation): New #define based on if configure finds gtk_orientable_set_orientation. (xg_create_tool_bar): Call toolbar_set_orientation. (xg_make_tool_item, xg_show_toolbar_item): Call gtk_box_pack_start instead of gtk_box_pack_start_defaults.
author Jan D <jan.h.d@swipnet.se>
date Mon, 28 Jun 2010 12:11:26 +0200
parents 1d1d5d9bd884
children 52b76722152a 376148b31b5e
line wrap: on
line source

/* Give this program DOC-mm.nn.oo as standard input and it outputs to
   standard output a file of nroff output containing the doc strings.

Copyright (C) 1987, 1994, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
  2008, 2009, 2010 Free Software Foundation, Inc.

This file is part of GNU Emacs.

GNU Emacs 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.

GNU Emacs 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 GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.


See also sorted-doc.c, which produces similar output
but in texinfo format and sorted by function/variable name.  */

#include <stdio.h>

#ifdef DOS_NT
#include <fcntl.h>		/* for O_BINARY */
#include <io.h>			/* for setmode */
#endif

int
main ()
{
  register int ch;
  register int notfirst = 0;

#ifdef DOS_NT
  /* DOC is a binary file.  */
  if (!isatty (fileno (stdin)))
    setmode (fileno (stdin), O_BINARY);
#endif

  printf (".TL\n");
  printf ("Command Summary for GNU Emacs\n");
  printf (".AU\nRichard M. Stallman\n");
  while ((ch = getchar ()) != EOF)
    {
      if (ch == '\037')
	{
	  if (notfirst)
	    printf ("\n.DE");
	  else
	    notfirst = 1;

	  printf ("\n.SH\n");

	  ch = getchar ();
	  printf (ch == 'F' ? "Function " : "Variable ");

	  while ((ch = getchar ()) != '\n')  /* Changed this line */
	    {
	      if (ch != EOF)
		  putchar (ch);
	      else
		{
		  ungetc (ch, stdin);
		  break;
		}
	    }
	  printf ("\n.DS L\n");
	}
      else
	putchar (ch);
    }
  return 0;
}

/* arch-tag: 2ba2c9b0-4157-4eba-bd9f-967e3677e35f
   (do not change this comment) */