diff options
author | Ed Schouten <ed@FreeBSD.org> | 2011-04-30 10:59:17 +0000 |
---|---|---|
committer | Ed Schouten <ed@FreeBSD.org> | 2011-04-30 10:59:17 +0000 |
commit | e07762606a5bf651a501cb095c98cba90e4a8fe2 (patch) | |
tree | cfae23e686b177255a6fb3304d166f1ce5cd7ca1 /Ada95/gen | |
parent | 0294a182a1629b1d854b84906e73487d6cb75fba (diff) | |
download | src-e07762606a5bf651a501cb095c98cba90e4a8fe2.tar.gz src-e07762606a5bf651a501cb095c98cba90e4a8fe2.zip |
Import ncurses 5.9.vendor/ncurses/5.9-20110405
Notes
Notes:
svn path=/vendor/ncurses/dist/; revision=221245
svn path=/vendor/ncurses/5.9-20110405/; revision=221246; tag=vendor/ncurses/5.9-20110405
Diffstat (limited to 'Ada95/gen')
-rw-r--r-- | Ada95/gen/Makefile.in | 10 | ||||
-rw-r--r-- | Ada95/gen/gen.c | 57 | ||||
-rw-r--r-- | Ada95/gen/terminal_interface-curses-aux.ads.m4 | 6 | ||||
-rw-r--r-- | Ada95/gen/terminal_interface-curses-forms-field_types.ads.m4 | 22 | ||||
-rw-r--r-- | Ada95/gen/terminal_interface-curses-mouse.ads.m4 | 14 | ||||
-rw-r--r-- | Ada95/gen/terminal_interface-curses.adb.m4 | 14 | ||||
-rw-r--r-- | Ada95/gen/terminal_interface-curses.ads.m4 | 30 |
7 files changed, 91 insertions, 62 deletions
diff --git a/Ada95/gen/Makefile.in b/Ada95/gen/Makefile.in index 7292d27d510b..10fd6352ce3c 100644 --- a/Ada95/gen/Makefile.in +++ b/Ada95/gen/Makefile.in @@ -28,7 +28,7 @@ # # Author: Juergen Pfeifer, 1996 # -# $Id: Makefile.in,v 1.71 2011/01/22 19:47:09 tom Exp $ +# $Id: Makefile.in,v 1.74 2011/03/26 23:36:30 tom Exp $ # .SUFFIXES: @@ -57,7 +57,7 @@ CC = @CC@ HOST_CC = @BUILD_CC@ CFLAGS = @CFLAGS@ -CPPFLAGS = @ACPPFLAGS@ \ +CPPFLAGS = @ACPPFLAGS@ @CPPFLAGS@ \ -DHAVE_CONFIG_H -I$(srcdir) CCFLAGS = $(CPPFLAGS) $(CFLAGS) @@ -88,7 +88,7 @@ PROG_GENERATE = ./generate$x GENERATE = $(PROG_GENERATE) '@DFT_ARG_SUFFIX@' DEL_ADAMODE = sed -e '/^\-\-\ \ \-\*\-\ ada\ \-\*\-.*/d' -GNATHTML = `type -p gnathtml || type -p gnathtml.pl` +GNATHTML = `type -p gnathtml || type -p gnathtml.pl 2>/dev/null` GNATHP = www.gnat.com ################################################################################ @@ -305,6 +305,7 @@ $(ADA_SRCDIR)/$(ABASE)-mouse.ads: $(srcdir)/$(ABASE)-mouse.ads.m4 \ $(DEL_ADAMODE) >$@ $(ADA_SRCDIR)/$(ABASE)-panels.ads: $(srcdir)/$(ABASE)-panels.ads.m4 \ + $(GEN_FILES4) \ $(srcdir)/normal.m4 $(M4) $(M4FLAGS) -DM4MACRO=$(srcdir)/normal.m4 \ $(srcdir)/$(ABASE)-panels.ads.m4 |\ @@ -377,7 +378,7 @@ distclean :: clean realclean :: distclean -HTML_DIR = ../../doc/html/ada +HTML_DIR = @ADAHTML_DIR@ instab.tmp : table.m4 $(GEN_SRC) @rm -f $@ @@ -405,6 +406,7 @@ $(HTML_DIR)/table.html : instab.tmp @rm -f instab.tmp adahtml: + test -n "$(GNATHTML)" || exit 1 @find $(HTML_DIR) -type f -exec rm -f {} \; @mkdir -p $(HTML_DIR) cp -p ../src/*.ad[sb] . && chmod +w *.ad[sb] diff --git a/Ada95/gen/gen.c b/Ada95/gen/gen.c index 31391864d1b0..30772b0b0217 100644 --- a/Ada95/gen/gen.c +++ b/Ada95/gen/gen.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998,2009,2010 Free Software Foundation, Inc. * + * Copyright (c) 1998,2010,2011 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * * copy of this software and associated documentation files (the * @@ -32,7 +32,7 @@ /* Version Control - $Id: gen.c,v 1.54 2010/09/04 21:19:50 tom Exp $ + $Id: gen.c,v 1.59 2011/03/31 23:50:24 tom Exp $ --------------------------------------------------------------------------*/ /* This program generates various record structures and constants from the @@ -124,7 +124,10 @@ gen_reps( int len, /* size of the record in bytes */ int bias) { - int i, n, l, cnt = 0, low, high; + const char *unused_name = "Unused"; + int long_bits = (8 * (int)sizeof(unsigned long)); + int len_bits = (8 * len); + int i, j, n, l, cnt = 0, low, high; int width = strlen(RES_NAME) + 3; unsigned long a; unsigned long mask = 0; @@ -144,8 +147,32 @@ gen_reps( printf(" record\n"); for (i = 0; nap[i].name != (char *)0; i++) { + mask |= nap[i].attr; printf(" %-*s : Boolean;\n", width, nap[i].name); } + + /* + * Compute a mask for the unused bits in this target. + */ + mask = ~mask; + /* + * Bits in the biased area are unused by the target. + */ + for (j = 0; j < bias; ++j) + { + mask &= (unsigned long)(~(1L << j)); + } + /* + * Bits past the target's size are really unused. + */ + for (j = len_bits + bias; j < long_bits; ++j) + { + mask &= (unsigned long)(~(1L << j)); + } + if (mask != 0) + { + printf(" %-*s : Boolean;\n", width, unused_name); + } printf(" end record;\n"); printf(" pragma Convention (C, %s);\n\n", name); @@ -155,16 +182,22 @@ gen_reps( for (i = 0; nap[i].name != (char *)0; i++) { a = nap[i].attr; - mask |= a; l = find_pos((char *)&a, sizeof(a), &low, &high); if (l >= 0) printf(" %-*s at 0 range %2d .. %2d;\n", width, nap[i].name, low - bias, high - bias); } + if (mask != 0) + { + l = find_pos((char *)&mask, sizeof(mask), &low, &high); + if (l >= 0) + printf(" %-*s at 0 range %2d .. %2d;\n", width, unused_name, + low - bias, high - bias); + } i = 1; n = cnt; printf(" end record;\n"); - printf(" for %s'Size use %d;\n", name, 8 * len); + printf(" for %s'Size use %d;\n", name, len_bits); printf(" -- Please note: this rep. clause is generated and may be\n"); printf(" -- different on your system."); } @@ -241,7 +274,10 @@ static void gen_attr_set(const char *name) { /* All of the A_xxx symbols are defined in ncurses, but not all are nonzero - * if "configure --enable-widec" is specified. + * if "configure --enable-widec" is not specified. Originally (in + * 1999-2000), the ifdef's also were needed since the proposed bit-layout + * for wide characters allocated 16-bits for A_CHARTEXT, leaving too few + * bits for a few of the A_xxx symbols. */ static const name_attribute_pair nap[] = { @@ -332,6 +368,7 @@ gen_trace(const char *name) {"Internal_Calls", TRACE_ICALLS}, {"Character_Calls", TRACE_CCALLS}, {"Termcap_TermInfo", TRACE_DATABASE}, + {"Attributes_And_Colors", TRACE_ATTRS}, {(char *)0, 0} }; gen_reps(nap, name, sizeof(int), 0); @@ -770,7 +807,7 @@ gen_keydefs(int mode) static void acs_def(const char *name, chtype *a) { - int c = a - &acs_map[0]; + int c = (int)(a - &acs_map[0]); printf(" %-24s : constant Character := ", name); if (isprint(UChar(c)) && (c != '`')) @@ -1278,12 +1315,6 @@ gen_offsets(void) printf(" Sizeof%-*s : constant Natural := %2ld; -- %s\n", 12, "_bool", (long)sizeof(bool), "bool"); - /* In ncurses _maxy and _maxx needs an offset for the "public" - * value - */ - printf(" Offset%-*s : constant Natural := %2d; -- %s\n", - 12, "_XY", 1, "int"); - printf("\n"); printf(" type Curses_Bool is mod 2 ** Interfaces.C.%s'Size;\n", s_bool); } diff --git a/Ada95/gen/terminal_interface-curses-aux.ads.m4 b/Ada95/gen/terminal_interface-curses-aux.ads.m4 index 0f4c06266161..111ec698a493 100644 --- a/Ada95/gen/terminal_interface-curses-aux.ads.m4 +++ b/Ada95/gen/terminal_interface-curses-aux.ads.m4 @@ -10,7 +10,7 @@ include(M4MACRO)dnl -- S P E C -- -- -- ------------------------------------------------------------------------------ --- Copyright (c) 1998-2007,2009 Free Software Foundation, Inc. -- +-- Copyright (c) 1998-2009,2011 Free Software Foundation, Inc. -- -- -- -- Permission is hereby granted, free of charge, to any person obtaining a -- -- copy of this software and associated documentation files (the -- @@ -38,7 +38,7 @@ include(M4MACRO)dnl ------------------------------------------------------------------------------ -- Author: Juergen Pfeifer, 1996 -- Version Control: --- $Revision: 1.17 $ +-- $Revision: 1.18 $ -- Binding Version 01.00 ------------------------------------------------------------------------------ include(`Base_Defs') @@ -64,7 +64,7 @@ include(`Chtype_Def') -- This is how those constants are defined in ncurses. I see them also -- exactly like this in all ETI implementations I ever tested. So it -- could be that this is quite general, but please check with your curses. - -- This is critical, because curses sometime mixes boolean returns with + -- This is critical, because curses sometime mixes Boolean returns with -- returning an error status. Curses_Ok : constant C_Int := CF_CURSES_OK; Curses_Err : constant C_Int := CF_CURSES_ERR; diff --git a/Ada95/gen/terminal_interface-curses-forms-field_types.ads.m4 b/Ada95/gen/terminal_interface-curses-forms-field_types.ads.m4 index 36314012ed9b..b8481d59714d 100644 --- a/Ada95/gen/terminal_interface-curses-forms-field_types.ads.m4 +++ b/Ada95/gen/terminal_interface-curses-forms-field_types.ads.m4 @@ -10,7 +10,7 @@ include(M4MACRO)dnl -- S P E C -- -- -- ------------------------------------------------------------------------------ --- Copyright (c) 1998-2003,2009 Free Software Foundation, Inc. -- +-- Copyright (c) 1998-2009,2011 Free Software Foundation, Inc. -- -- -- -- Permission is hereby granted, free of charge, to any person obtaining a -- -- copy of this software and associated documentation files (the -- @@ -38,7 +38,7 @@ include(M4MACRO)dnl ------------------------------------------------------------------------------ -- Author: Juergen Pfeifer, 1996 -- Version Control: --- $Revision: 1.15 $ +-- $Revision: 1.16 $ -- Binding Version 01.00 ------------------------------------------------------------------------------ with Interfaces.C; @@ -101,15 +101,15 @@ private pragma Convention (C, Freearg_Function); type Field_Check_Function is access - function (Fld : Field; Usr : System.Address) return C_Int; + function (Fld : Field; Usr : System.Address) return Curses_Bool; pragma Convention (C, Field_Check_Function); type Char_Check_Function is access - function (Ch : C_Int; Usr : System.Address) return C_Int; + function (Ch : C_Int; Usr : System.Address) return Curses_Bool; pragma Convention (C, Char_Check_Function); type Choice_Function is access - function (Fld : Field; Usr : System.Address) return C_Int; + function (Fld : Field; Usr : System.Address) return Curses_Bool; pragma Convention (C, Choice_Function); -- +---------------------------------------------------------------------- @@ -117,7 +117,7 @@ private -- | type Low_Level_Field_Type is record - Status : Interfaces.C.short; + Status : Interfaces.C.unsigned_short; Ref_Count : Interfaces.C.long; Left, Right : System.Address; Makearg : Makearg_Function; @@ -159,7 +159,7 @@ private -- Any other value will raise a Form_Exception. function Make_Arg (Args : System.Address) return System.Address; - pragma Convention (C, Make_Arg); + pragma Import (C, Make_Arg, "void_star_make_arg"); -- This is the Makearg_Function for the internal low-level types -- introduced by this binding. @@ -174,7 +174,7 @@ private -- introduced by this binding. function Field_Check_Router (Fld : Field; - Usr : System.Address) return C_Int; + Usr : System.Address) return Curses_Bool; pragma Convention (C, Field_Check_Router); -- This is the Field_Check_Function for the internal low-level types -- introduced to wrap the low-level types by a Field_Type derived @@ -182,7 +182,7 @@ private -- function. function Char_Check_Router (Ch : C_Int; - Usr : System.Address) return C_Int; + Usr : System.Address) return Curses_Bool; pragma Convention (C, Char_Check_Router); -- This is the Char_Check_Function for the internal low-level types -- introduced to wrap the low-level types by a Field_Type derived @@ -190,7 +190,7 @@ private -- function. function Next_Router (Fld : Field; - Usr : System.Address) return C_Int; + Usr : System.Address) return Curses_Bool; pragma Convention (C, Next_Router); -- This is the Choice_Function for the internal low-level types -- introduced to wrap the low-level types by a Field_Type derived @@ -198,7 +198,7 @@ private -- function. function Prev_Router (Fld : Field; - Usr : System.Address) return C_Int; + Usr : System.Address) return Curses_Bool; pragma Convention (C, Prev_Router); -- This is the Choice_Function for the internal low-level types -- introduced to wrap the low-level types by a Field_Type derived diff --git a/Ada95/gen/terminal_interface-curses-mouse.ads.m4 b/Ada95/gen/terminal_interface-curses-mouse.ads.m4 index d61eb0c7953c..a4fb661ef84a 100644 --- a/Ada95/gen/terminal_interface-curses-mouse.ads.m4 +++ b/Ada95/gen/terminal_interface-curses-mouse.ads.m4 @@ -10,7 +10,7 @@ include(M4MACRO)dnl -- S P E C -- -- -- ------------------------------------------------------------------------------ --- Copyright (c) 1998-2006,2009 Free Software Foundation, Inc. -- +-- Copyright (c) 1998-2009,2011 Free Software Foundation, Inc. -- -- -- -- Permission is hereby granted, free of charge, to any person obtaining a -- -- copy of this software and associated documentation files (the -- @@ -38,8 +38,8 @@ include(M4MACRO)dnl ------------------------------------------------------------------------------ -- Author: Juergen Pfeifer, 1996 -- Version Control: --- $Revision: 1.28 $ --- $Date: 2009/12/26 17:38:58 $ +-- $Revision: 1.29 $ +-- $Date: 2011/03/19 12:35:58 $ -- Binding Version 01.00 ------------------------------------------------------------------------------ include(`Mouse_Base_Defs') @@ -49,10 +49,6 @@ package Terminal_Interface.Curses.Mouse is pragma Preelaborate (Terminal_Interface.Curses.Mouse); -- MANPAGE(`curs_mouse.3x') - -- Please note, that in ncurses-1.9.9e documentation mouse support - -- is still marked as experimental. So also this binding will change - -- if the ncurses methods change. - -- -- mouse_trafo, wmouse_trafo are implemented as Transform_Coordinates -- in the parent package. -- @@ -99,7 +95,7 @@ package Terminal_Interface.Curses.Mouse is State : Button_State; Mask : in out Event_Mask); -- Stores the event described by the button and the state in the mask. - -- Before you call this the first time, you should init the mask + -- Before you call this the first time, you should initialize the mask -- with the Empty_Mask constant pragma Inline (Register_Reportable_Event); @@ -108,7 +104,7 @@ package Terminal_Interface.Curses.Mouse is State : Button_States; Mask : in out Event_Mask); -- Register all events described by the Button and the State bitmap. - -- Before you call this the first time, you should init the mask + -- Before you call this the first time, you should initialize the mask -- with the Empty_Mask constant -- ANCHOR(`mousemask()',`Start_Mouse') diff --git a/Ada95/gen/terminal_interface-curses.adb.m4 b/Ada95/gen/terminal_interface-curses.adb.m4 index a77676cd3cc6..1f89a5a35233 100644 --- a/Ada95/gen/terminal_interface-curses.adb.m4 +++ b/Ada95/gen/terminal_interface-curses.adb.m4 @@ -9,7 +9,7 @@ include(M4MACRO)---------------------------------------------------------------- -- B O D Y -- -- -- ------------------------------------------------------------------------------ --- Copyright (c) 1998-2008,2009 Free Software Foundation, Inc. -- +-- Copyright (c) 1998-2009,2011 Free Software Foundation, Inc. -- -- -- -- Permission is hereby granted, free of charge, to any person obtaining a -- -- copy of this software and associated documentation files (the -- @@ -37,8 +37,8 @@ include(M4MACRO)---------------------------------------------------------------- ------------------------------------------------------------------------------ -- Author: Juergen Pfeifer, 1996 -- Version Control: --- $Revision: 1.6 $ --- $Date: 2009/12/26 17:38:58 $ +-- $Revision: 1.8 $ +-- $Date: 2011/03/22 23:02:14 $ -- Binding Version 01.00 ------------------------------------------------------------------------------ with System; @@ -1208,6 +1208,7 @@ package body Terminal_Interface.Curses is X : Column_Position; begin Get_Size (Win, Y, X); + pragma Unreferenced (X); Change_Lines_Status (Win, 0, Positive (Y), True); end Touch; @@ -1217,6 +1218,7 @@ package body Terminal_Interface.Curses is X : Column_Position; begin Get_Size (Win, Y, X); + pragma Unreferenced (X); Change_Lines_Status (Win, 0, Positive (Y), False); end Untouch; @@ -1352,10 +1354,8 @@ package body Terminal_Interface.Curses is function GetMaxX (W : Window) return C_Int; pragma Import (C, GetMaxX, "getmaxx"); - Y : constant C_Int := GetMaxY (Win) - + C_Int (Offset_XY); - X : constant C_Int := GetMaxX (Win) - + C_Int (Offset_XY); + Y : constant C_Int := GetMaxY (Win); + X : constant C_Int := GetMaxX (Win); begin Number_Of_Lines := Line_Count (Y); Number_Of_Columns := Column_Count (X); diff --git a/Ada95/gen/terminal_interface-curses.ads.m4 b/Ada95/gen/terminal_interface-curses.ads.m4 index deb762896de4..28cc9d198779 100644 --- a/Ada95/gen/terminal_interface-curses.ads.m4 +++ b/Ada95/gen/terminal_interface-curses.ads.m4 @@ -9,7 +9,7 @@ include(M4MACRO)---------------------------------------------------------------- -- S P E C -- -- -- ------------------------------------------------------------------------------ --- Copyright (c) 1998-2007,2009 Free Software Foundation, Inc. -- +-- Copyright (c) 1998-2009,2011 Free Software Foundation, Inc. -- -- -- -- Permission is hereby granted, free of charge, to any person obtaining a -- -- copy of this software and associated documentation files (the -- @@ -37,8 +37,8 @@ include(M4MACRO)---------------------------------------------------------------- ------------------------------------------------------------------------------ -- Author: Juergen Pfeifer, 1996 -- Version Control: --- $Revision: 1.42 $ --- $Date: 2009/12/26 17:38:58 $ +-- $Revision: 1.44 $ +-- $Date: 2011/03/19 23:05:56 $ -- Binding Version 01.00 ------------------------------------------------------------------------------ include(`Base_Defs') @@ -52,8 +52,8 @@ include(`Version_Info') type Window is private; Null_Window : constant Window; - type Line_Position is new Natural; -- line coordinate - type Column_Position is new Natural; -- column coordinate + type Line_Position is new Integer; -- line coordinate + type Column_Position is new Integer; -- column coordinate subtype Line_Count is Line_Position range 1 .. Line_Position'Last; -- Type to count lines. We do not allow null windows, so must be positive @@ -461,7 +461,7 @@ include(`ACS_Map')dnl -- ALIAS(`getch()') -- Get a character from the keyboard and echo it - if enabled - to the -- window. - -- If for any reason (i.e. a timeout) we couldn't get a character the + -- If for any reason (i.e. a timeout) we could not get a character the -- returned keycode is Key_None. pragma Inline (Get_Keystroke); @@ -659,7 +659,7 @@ include(`ACS_Map')dnl -- introduce the Timeout_Mode parameter. This should improve -- readability. For Blocking and Non_Blocking, the Amount is not -- evaluated. - -- We don't inline this procedure. + -- We do not inline this procedure. -- ANCHOR(`notimeout()',`Set_Escape_Time_Mode') procedure Set_Escape_Timer_Mode @@ -940,7 +940,7 @@ include(`ACS_Map')dnl Top_Left_Column : out Column_Position; Is_Not_A_Subwindow : out Boolean); -- AKA - -- Instead of placing -1 in the coordinates as return, we use a boolean + -- Instead of placing -1 in the coordinates as return, we use a Boolean -- to return the info that the window has no parent. pragma Inline (Get_Origin_Relative_To_Parent); @@ -1122,7 +1122,7 @@ include(`ACS_Map')dnl -- ALIAS(`mvwinchstr()') -- ALIAS(`mvinchnstr()') -- ALIAS(`mvinchstr()') - -- We don't inline the Peek procedures + -- We do not inline the Peek procedures -- MANPAGE(`curs_getstr.3x') @@ -1171,7 +1171,7 @@ include(`ACS_Map')dnl Text : String; Fmt : Label_Justification := Left); -- AKA - -- We don't inline this procedure + -- We do not inline this procedure -- ANCHOR(`slk_refresh()',`Refresh_Soft_Label_Key') procedure Refresh_Soft_Label_Keys; @@ -1273,7 +1273,7 @@ include(`ACS_Map')dnl function Key_Name (Key : Real_Key_Code) return String; -- AKA -- Same as function - -- We don't inline this routine + -- We do not inline this routine -- ANCHOR(`unctrl()',`Un_Control') procedure Un_Control (Ch : Attributed_Character; @@ -1443,7 +1443,7 @@ include(`ACS_Map')dnl -- N.B.: to be more precise, this uses a ncurses specific enhancement of -- ripoffline(), in which the Lines argument absolute value is the -- number of lines to be ripped of. The official ripoffline() only - -- uses the sign of Lines to rip of a single line from bottom or top. + -- uses the sign of Lines to remove a single line from bottom or top. pragma Inline (Rip_Off_Lines); type Cursor_Visibility is (Invisible, Normal, Very_Visible); @@ -1469,10 +1469,10 @@ include(`ACS_Map')dnl Dir : Transform_Direction := From_Screen); -- This procedure transforms screen coordinates into coordinates relative -- to the window and vice versa, depending on the Dir parameter. - -- Screen coordinates are the position informations on the physical device. + -- Screen coordinates are the position information for the physical device. -- An Curses_Exception will be raised if Line and Column are not in the -- Window or if you pass the Null_Window as argument. - -- We don't inline this procedure + -- We do not inline this procedure -- MANPAGE(`default_colors.3x') @@ -1529,7 +1529,7 @@ include(`ACS_Map')dnl -- Not implemented: printw, wprintw, mvprintw, mvwprintw, vwprintw, -- vw_printw -- Please use the Ada style Text_IO child packages for formatted - -- printing. It doesn't make a lot of sense to map the printf style + -- printing. It does not make a lot of sense to map the printf style -- C functions to Ada. -- MANPAGE(`curs_scanw.3x') |