Imported Upstream version 1.43.92 85/94085/1
authorDongHun Kwak <dh0128.kwak@samsung.com>
Thu, 27 Oct 2016 05:30:49 +0000 (14:30 +0900)
committerDongHun Kwak <dh0128.kwak@samsung.com>
Thu, 27 Oct 2016 05:30:59 +0000 (14:30 +0900)
Change-Id: I70f1d32b02574a02b5d1134139f2ac7c9887397e
Signed-off-by: DongHun Kwak <dh0128.kwak@samsung.com>
89 files changed:
README
build/gi-tests-msvc.mak
build/win32/vs10/_giscanner.vcxproj
build/win32/vs10/cmph-bdz-test.vcxproj
build/win32/vs10/cmph.vcxproj
build/win32/vs10/cmph.vcxprojin
build/win32/vs10/g-ir-compiler.vcxproj
build/win32/vs10/g-ir-compiler.vcxprojin
build/win32/vs10/g-ir-generate.vcxproj
build/win32/vs10/gi-build-defines.props
build/win32/vs10/gi-install.props
build/win32/vs10/gi-install.propsin
build/win32/vs10/girepository.vcxproj
build/win32/vs10/girepository.vcxprojin
build/win32/vs10/glib-print.vcxproj
build/win32/vs11/Makefile.am
build/win32/vs11/Makefile.in
build/win32/vs11/_giscanner.vcxproj
build/win32/vs11/cmph-bdz-test.vcxproj
build/win32/vs11/cmph.vcxproj
build/win32/vs11/g-ir-compiler.vcxproj
build/win32/vs11/g-ir-generate.vcxproj
build/win32/vs11/gi-build-defines.props
build/win32/vs11/gi-install.props
build/win32/vs11/girepository.vcxproj
build/win32/vs11/glib-print.vcxproj
build/win32/vs12/Makefile.am
build/win32/vs12/Makefile.in
build/win32/vs12/_giscanner.vcxproj
build/win32/vs12/cmph-bdz-test.vcxproj
build/win32/vs12/cmph.vcxproj
build/win32/vs12/g-ir-compiler.vcxproj
build/win32/vs12/g-ir-generate.vcxproj
build/win32/vs12/gi-build-defines.props
build/win32/vs12/gi-install.props
build/win32/vs12/girepository.vcxproj
build/win32/vs12/glib-print.vcxproj
build/win32/vs9/gi-build-defines.vsprops
build/win32/vs9/gi-install.vsprops
build/win32/vs9/gi-install.vspropsin
config.h.win32
configure
configure.ac
docs/g-ir-compiler.1
docs/g-ir-generate.1
docs/g-ir-scanner.1
docs/reference/Makefile.am
docs/reference/gi-gir-reference.xml
docs/reference/gi-sections.txt
docs/reference/html/GIRepository.html
docs/reference/html/annotation-glossary.html
docs/reference/html/api-index-full.html
docs/reference/html/gi-GICallableInfo.html
docs/reference/html/gi-GIConstantInfo.html
docs/reference/html/gi-GIFieldInfo.html
docs/reference/html/gi-GIFunctionInfo.html
docs/reference/html/gi-GITypelib.html
docs/reference/html/gi-GIVFuncInfo.html
docs/reference/html/gi-common-types.html
docs/reference/html/gi-gir-reference.html
docs/reference/html/gi-girffi.html
docs/reference/html/gi.devhelp2
docs/reference/html/index.html
docs/reference/html/index.sgml
docs/reference/version.xml
gir/gio-2.0.c
gir/glib-2.0.c
gir/gobject-2.0.c
girepository/girepository.c
girepository/girepository.h
girepository/girwriter.c
girepository/gitypelib-internal.h
girepository/giversionmacros.h
giscanner/annotationparser.py
giscanner/ast.py
giscanner/girparser.py
giscanner/maintransformer.py
giscanner/scannerlexer.l
giscanner/sourcescanner.py
gobject-introspection-1.0.pc
gobject-introspection-no-export-1.0.pc
scannerlexer.c
tests/gimarshallingtests.c
tests/gimarshallingtests.h
tests/scanner/Makefile.am
tests/scanner/Makefile.in
tests/scanner/annotation.c
tests/scanner/annotationparser/gi/annotation_array.xml
tests/warn/invalid-array.h

diff --git a/README b/README
index 81f8614..05be783 100644 (file)
--- a/README
+++ b/README
@@ -62,8 +62,7 @@ http://live.gnome.org/GObjectIntrospection
 
 Reporting bugs
 ==============
-Bugs should be reported in http://bugzilla.gnome.org/, the glib product and
-the introspection component.
+Bugs should be reported in http://bugzilla.gnome.org/ in the gobject-introspection product.
 
 Contact
 =======
index 8d25c12..f44b3bc 100644 (file)
@@ -5,7 +5,7 @@
 !include gi-build-common-msvc.mak
 
 BASE_GLIB_LIBS = gio-$(GLIB_APIVERSION).lib gobject-$(GLIB_APIVERSION).lib gmodule-$(GLIB_APIVERSION).lib glib-$(GLIB_APIVERSION).lib
-CFLAGS = $(CFLAGS_ADD) /I.. /W3 /we4013 /FImsvc_recommended_pragmas.h
+CFLAGS = $(CFLAGS_ADD) /I.. /W3 /we4013 /FImsvc_recommended_pragmas.h /DHAVE_CONFIG_H
 LDFLAGS = /link $(LDFLAGS_ARCH) $(BASE_GLIB_LIBS)
 LDFLAGS_DLL = /link $(LDFLAGS_ARCH) /DLL /out:$@ /implib:$*-$(GI_APIVERSION).lib $(BASE_GLIB_LIBS)
 
index 6b4b611..9543bc7 100644 (file)
@@ -84,7 +84,7 @@
       <PrecompiledHeader>
       </PrecompiledHeader>
       <WarningLevel>Level3</WarningLevel>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
     </ClCompile>
     <Link>
       <OutputFile>$(OutDir)$(ProjectName).pyd</OutputFile>
index cdd3b17..5ea7323 100644 (file)
@@ -83,7 +83,7 @@
       <PrecompiledHeader>
       </PrecompiledHeader>
       <WarningLevel>Level3</WarningLevel>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
     </ClCompile>
     <Link>
       <GenerateDebugInformation>true</GenerateDebugInformation>
index 698bf82..aa9336d 100644 (file)
@@ -78,7 +78,7 @@
       <PrecompiledHeader>
       </PrecompiledHeader>
       <WarningLevel>Level3</WarningLevel>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
     </ClCompile>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
index 9bab7e0..98d06cc 100644 (file)
@@ -78,7 +78,7 @@
       <PrecompiledHeader>
       </PrecompiledHeader>
       <WarningLevel>Level3</WarningLevel>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
     </ClCompile>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
index 15cb88e..d67171c 100644 (file)
@@ -82,7 +82,7 @@
       <PrecompiledHeader>
       </PrecompiledHeader>
       <WarningLevel>Level3</WarningLevel>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
     </ClCompile>
     <Link>
       <AdditionalDependencies>libffi.lib;%(AdditionalDependencies)</AdditionalDependencies>
index 1ed4eb7..262cb54 100644 (file)
@@ -82,7 +82,7 @@
       <PrecompiledHeader>
       </PrecompiledHeader>
       <WarningLevel>Level3</WarningLevel>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
     </ClCompile>
     <Link>
       <AdditionalDependencies>libffi.lib;%(AdditionalDependencies)</AdditionalDependencies>
index 52dfda8..cdbf220 100644 (file)
@@ -82,7 +82,7 @@
       <PrecompiledHeader>
       </PrecompiledHeader>
       <WarningLevel>Level3</WarningLevel>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
     </ClCompile>
     <Link>
       <GenerateDebugInformation>true</GenerateDebugInformation>
index 160b17f..56e7986 100644 (file)
@@ -17,6 +17,8 @@
       <AdditionalIncludeDirectories>..\..\..;..\..\..\girepository;$(GlibEtcInstallRoot)\include;$(GlibEtcInstallRoot)\include\glib-2.0;$(GlibEtcInstallRoot)\lib\glib-2.0\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions>HAVE_CONFIG_H;WIN32;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <ForcedIncludeFiles>msvc_recommended_pragmas.h;%(ForcedIncludeFiles)</ForcedIncludeFiles>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
+      <AdditionalOptions>/d2Zi+ %(AdditionalOptions)</AdditionalOptions>
     </ClCompile>
     <Link>
       <AdditionalDependencies>gio-2.0.lib;gobject-2.0.lib;gmodule-2.0.lib;gthread-2.0.lib;glib-2.0.lib;%(AdditionalDependencies)</AdditionalDependencies>
index 31440ff..824fcb8 100644 (file)
 mkdir $(CopyDir)
 mkdir $(CopyDir)\bin
 copy $(BinDir)\$(LibGIDllPrefix)girepository$(LibGIDllSuffix).dll $(CopyDir)\bin
+copy $(BinDir)\$(LibGIDllPrefix)girepository$(LibGIDllSuffix).pdb $(CopyDir)\bin
 copy $(BinDir)\g-ir-compiler.exe $(CopyDir)\bin
+copy $(BinDir)\g-ir-compiler.pdb $(CopyDir)\bin
 copy $(BinDir)\g-ir-generate.exe $(CopyDir)\bin
+copy $(BinDir)\g-ir-generate.pdb $(CopyDir)\bin
 copy ..\..\..\tools\g-ir-annotation-tool $(CopyDir)\bin
 copy ..\..\..\tools\g-ir-doc-tool $(CopyDir)\bin
 copy ..\..\..\tools\g-ir-scanner $(CopyDir)\bin
 copy $(BinDir)\glib-print.exe $(CopyDir)\bin
+copy $(BinDir)\glib-print.pdb $(CopyDir)\bin
 mkdir $(CopyDir)\include\gobject-introspection-$(ApiVersion)\girepository
 copy ..\..\..\girepository\giarginfo.h $(CopyDir)\include\gobject-introspection-$(ApiVersion)\girepository
 copy ..\..\..\girepository\gibaseinfo.h $(CopyDir)\include\gobject-introspection-$(ApiVersion)\girepository
@@ -118,6 +122,7 @@ copy ..\..\..\giscanner\doctemplates\Gjs\record.tmpl $(CopyDir)\lib\gobject-intr
 copy ..\..\..\giscanner\doctemplates\Gjs\signal.tmpl $(CopyDir)\lib\gobject-introspection\giscanner\doctemplates\Gjs
 copy ..\..\..\giscanner\doctemplates\Gjs\vfunc.tmpl $(CopyDir)\lib\gobject-introspection\giscanner\doctemplates\Gjs
 copy $(BinDir)\_giscanner.pyd $(CopyDir)\lib\gobject-introspection\giscanner
+copy $(BinDir)\_giscanner.pdb $(CopyDir)\lib\gobject-introspection\giscanner
 mkdir $(CopyDir)\share\gir-$(ApiVersion)
 mkdir $(CopyDir)\share\gobject-introspection-$(ApiVersion)
 copy ..\..\..\girepository\gdump.c $(CopyDir)\share\gobject-introspection-$(ApiVersion)
index 6a7e199..6bdc997 100644 (file)
@@ -12,17 +12,22 @@ mkdir $(CopyDir)
 mkdir $(CopyDir)\bin
 
 copy $(BinDir)\$(LibGIDllPrefix)girepository$(LibGIDllSuffix).dll $(CopyDir)\bin
+copy $(BinDir)\$(LibGIDllPrefix)girepository$(LibGIDllSuffix).pdb $(CopyDir)\bin
 copy $(BinDir)\g-ir-compiler.exe $(CopyDir)\bin
+copy $(BinDir)\g-ir-compiler.pdb $(CopyDir)\bin
 copy $(BinDir)\g-ir-generate.exe $(CopyDir)\bin
+copy $(BinDir)\g-ir-generate.pdb $(CopyDir)\bin
 copy ..\..\..\tools\g-ir-annotation-tool $(CopyDir)\bin
 copy ..\..\..\tools\g-ir-doc-tool $(CopyDir)\bin
 copy ..\..\..\tools\g-ir-scanner $(CopyDir)\bin
 
 copy $(BinDir)\glib-print.exe $(CopyDir)\bin
+copy $(BinDir)\glib-print.pdb $(CopyDir)\bin
 
 #include "gir.vs10.install"
 
 copy $(BinDir)\_giscanner.pyd $(CopyDir)\lib\gobject-introspection\giscanner
+copy $(BinDir)\_giscanner.pdb $(CopyDir)\lib\gobject-introspection\giscanner
 
 mkdir $(CopyDir)\share\gir-$(ApiVersion)
 mkdir $(CopyDir)\share\gobject-introspection-$(ApiVersion)
index 49920bf..a8707b4 100644 (file)
@@ -83,7 +83,7 @@
       <PrecompiledHeader>
       </PrecompiledHeader>
       <WarningLevel>Level3</WarningLevel>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
     </ClCompile>
     <PreLinkEvent>
       <Command>$(GenerateGIRDef)</Command>
@@ -92,6 +92,7 @@
       <AdditionalDependencies>libffi.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>$(OutDir)$(LibGIDllPrefix)$(ProjectName)$(LibGIDllSuffix).dll</OutputFile>
       <GenerateDebugInformation>true</GenerateDebugInformation>
+      <ProgramDatabaseFile>$(OutDir)$(LibGIDllPrefix)$(ProjectName)$(LibGIDllSuffix).pdb</ProgramDatabaseFile>
       <SubSystem>Windows</SubSystem>
       <ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
       <TargetMachine>MachineX86</TargetMachine>
       <AdditionalDependencies>libffi.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>$(OutDir)$(LibGIDllPrefix)$(ProjectName)$(LibGIDllSuffix).dll</OutputFile>
       <GenerateDebugInformation>true</GenerateDebugInformation>
+      <ProgramDatabaseFile>$(OutDir)$(LibGIDllPrefix)$(ProjectName)$(LibGIDllSuffix).pdb</ProgramDatabaseFile>
       <SubSystem>Windows</SubSystem>
       <OptimizeReferences>true</OptimizeReferences>
       <EnableCOMDATFolding>true</EnableCOMDATFolding>
       <AdditionalDependencies>libffi.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>$(OutDir)$(LibGIDllPrefix)$(ProjectName)$(LibGIDllSuffix).dll</OutputFile>
       <GenerateDebugInformation>true</GenerateDebugInformation>
+      <ProgramDatabaseFile>$(OutDir)$(LibGIDllPrefix)$(ProjectName)$(LibGIDllSuffix).pdb</ProgramDatabaseFile>
       <SubSystem>Windows</SubSystem>
       <ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
       <TargetMachine>MachineX64</TargetMachine>
       <AdditionalDependencies>libffi.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>$(OutDir)$(LibGIDllPrefix)$(ProjectName)$(LibGIDllSuffix).dll</OutputFile>
       <GenerateDebugInformation>true</GenerateDebugInformation>
+      <ProgramDatabaseFile>$(OutDir)$(LibGIDllPrefix)$(ProjectName)$(LibGIDllSuffix).pdb</ProgramDatabaseFile>
       <SubSystem>Windows</SubSystem>
       <OptimizeReferences>true</OptimizeReferences>
       <EnableCOMDATFolding>true</EnableCOMDATFolding>
index fd2d414..393f675 100644 (file)
@@ -83,7 +83,7 @@
       <PrecompiledHeader>
       </PrecompiledHeader>
       <WarningLevel>Level3</WarningLevel>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
     </ClCompile>
     <PreLinkEvent>
       <Command>$(GenerateGIRDef)</Command>
@@ -92,6 +92,7 @@
       <AdditionalDependencies>libffi.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>$(OutDir)$(LibGIDllPrefix)$(ProjectName)$(LibGIDllSuffix).dll</OutputFile>
       <GenerateDebugInformation>true</GenerateDebugInformation>
+      <ProgramDatabaseFile>$(OutDir)$(LibGIDllPrefix)$(ProjectName)$(LibGIDllSuffix).pdb</ProgramDatabaseFile>
       <SubSystem>Windows</SubSystem>
       <ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
       <TargetMachine>MachineX86</TargetMachine>
       <AdditionalDependencies>libffi.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>$(OutDir)$(LibGIDllPrefix)$(ProjectName)$(LibGIDllSuffix).dll</OutputFile>
       <GenerateDebugInformation>true</GenerateDebugInformation>
+      <ProgramDatabaseFile>$(OutDir)$(LibGIDllPrefix)$(ProjectName)$(LibGIDllSuffix).pdb</ProgramDatabaseFile>
       <SubSystem>Windows</SubSystem>
       <OptimizeReferences>true</OptimizeReferences>
       <EnableCOMDATFolding>true</EnableCOMDATFolding>
       <AdditionalDependencies>libffi.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>$(OutDir)$(LibGIDllPrefix)$(ProjectName)$(LibGIDllSuffix).dll</OutputFile>
       <GenerateDebugInformation>true</GenerateDebugInformation>
+      <ProgramDatabaseFile>$(OutDir)$(LibGIDllPrefix)$(ProjectName)$(LibGIDllSuffix).pdb</ProgramDatabaseFile>
       <SubSystem>Windows</SubSystem>
       <ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
       <TargetMachine>MachineX64</TargetMachine>
       <AdditionalDependencies>libffi.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>$(OutDir)$(LibGIDllPrefix)$(ProjectName)$(LibGIDllSuffix).dll</OutputFile>
       <GenerateDebugInformation>true</GenerateDebugInformation>
+      <ProgramDatabaseFile>$(OutDir)$(LibGIDllPrefix)$(ProjectName)$(LibGIDllSuffix).pdb</ProgramDatabaseFile>
       <SubSystem>Windows</SubSystem>
       <OptimizeReferences>true</OptimizeReferences>
       <EnableCOMDATFolding>true</EnableCOMDATFolding>
index 179d607..9c14a13 100644 (file)
@@ -82,7 +82,7 @@
       <PrecompiledHeader>
       </PrecompiledHeader>
       <WarningLevel>Level3</WarningLevel>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
     </ClCompile>
     <Link>
       <GenerateDebugInformation>true</GenerateDebugInformation>
index 4789b66..ddff6f3 100644 (file)
@@ -32,3 +32,5 @@ MSVC_VER = 11
 MSVC_VER_LONG = 2012
 
 include $(top_srcdir)/build/Makefile-newvs.am
+
+$(EXTRA_DIST): create_vcxproj copy_filters create_props
index 47c5052..ded8b9d 100644 (file)
@@ -547,6 +547,8 @@ create_props:
 copy_filters:
        cp  $(top_srcdir)/build/win32/vs10/*.vcxproj.filters $(top_builddir)/build/win32/vs$(MSVC_VER)/
 
+$(EXTRA_DIST): create_vcxproj copy_filters create_props
+
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:
index 4c9ab35..4ebe1e9 100644 (file)
@@ -84,7 +84,7 @@
       <PrecompiledHeader>
       </PrecompiledHeader>
       <WarningLevel>Level3</WarningLevel>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
     </ClCompile>
     <Link>
       <OutputFile>$(OutDir)$(ProjectName).pyd</OutputFile>
index af84e34..b33e690 100644 (file)
@@ -83,7 +83,7 @@
       <PrecompiledHeader>
       </PrecompiledHeader>
       <WarningLevel>Level3</WarningLevel>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
     </ClCompile>
     <Link>
       <GenerateDebugInformation>true</GenerateDebugInformation>
index 0393494..686bcd7 100644 (file)
@@ -78,7 +78,7 @@
       <PrecompiledHeader>
       </PrecompiledHeader>
       <WarningLevel>Level3</WarningLevel>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
     </ClCompile>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
index b52f88b..394a1bc 100644 (file)
@@ -82,7 +82,7 @@
       <PrecompiledHeader>
       </PrecompiledHeader>
       <WarningLevel>Level3</WarningLevel>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
     </ClCompile>
     <Link>
       <AdditionalDependencies>libffi.lib;%(AdditionalDependencies)</AdditionalDependencies>
index 748eb68..875d00a 100644 (file)
@@ -82,7 +82,7 @@
       <PrecompiledHeader>
       </PrecompiledHeader>
       <WarningLevel>Level3</WarningLevel>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
     </ClCompile>
     <Link>
       <GenerateDebugInformation>true</GenerateDebugInformation>
index 160b17f..56e7986 100644 (file)
@@ -17,6 +17,8 @@
       <AdditionalIncludeDirectories>..\..\..;..\..\..\girepository;$(GlibEtcInstallRoot)\include;$(GlibEtcInstallRoot)\include\glib-2.0;$(GlibEtcInstallRoot)\lib\glib-2.0\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions>HAVE_CONFIG_H;WIN32;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <ForcedIncludeFiles>msvc_recommended_pragmas.h;%(ForcedIncludeFiles)</ForcedIncludeFiles>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
+      <AdditionalOptions>/d2Zi+ %(AdditionalOptions)</AdditionalOptions>
     </ClCompile>
     <Link>
       <AdditionalDependencies>gio-2.0.lib;gobject-2.0.lib;gmodule-2.0.lib;gthread-2.0.lib;glib-2.0.lib;%(AdditionalDependencies)</AdditionalDependencies>
index 31440ff..824fcb8 100644 (file)
 mkdir $(CopyDir)
 mkdir $(CopyDir)\bin
 copy $(BinDir)\$(LibGIDllPrefix)girepository$(LibGIDllSuffix).dll $(CopyDir)\bin
+copy $(BinDir)\$(LibGIDllPrefix)girepository$(LibGIDllSuffix).pdb $(CopyDir)\bin
 copy $(BinDir)\g-ir-compiler.exe $(CopyDir)\bin
+copy $(BinDir)\g-ir-compiler.pdb $(CopyDir)\bin
 copy $(BinDir)\g-ir-generate.exe $(CopyDir)\bin
+copy $(BinDir)\g-ir-generate.pdb $(CopyDir)\bin
 copy ..\..\..\tools\g-ir-annotation-tool $(CopyDir)\bin
 copy ..\..\..\tools\g-ir-doc-tool $(CopyDir)\bin
 copy ..\..\..\tools\g-ir-scanner $(CopyDir)\bin
 copy $(BinDir)\glib-print.exe $(CopyDir)\bin
+copy $(BinDir)\glib-print.pdb $(CopyDir)\bin
 mkdir $(CopyDir)\include\gobject-introspection-$(ApiVersion)\girepository
 copy ..\..\..\girepository\giarginfo.h $(CopyDir)\include\gobject-introspection-$(ApiVersion)\girepository
 copy ..\..\..\girepository\gibaseinfo.h $(CopyDir)\include\gobject-introspection-$(ApiVersion)\girepository
@@ -118,6 +122,7 @@ copy ..\..\..\giscanner\doctemplates\Gjs\record.tmpl $(CopyDir)\lib\gobject-intr
 copy ..\..\..\giscanner\doctemplates\Gjs\signal.tmpl $(CopyDir)\lib\gobject-introspection\giscanner\doctemplates\Gjs
 copy ..\..\..\giscanner\doctemplates\Gjs\vfunc.tmpl $(CopyDir)\lib\gobject-introspection\giscanner\doctemplates\Gjs
 copy $(BinDir)\_giscanner.pyd $(CopyDir)\lib\gobject-introspection\giscanner
+copy $(BinDir)\_giscanner.pdb $(CopyDir)\lib\gobject-introspection\giscanner
 mkdir $(CopyDir)\share\gir-$(ApiVersion)
 mkdir $(CopyDir)\share\gobject-introspection-$(ApiVersion)
 copy ..\..\..\girepository\gdump.c $(CopyDir)\share\gobject-introspection-$(ApiVersion)
index d953ea9..9c8ea99 100644 (file)
@@ -83,7 +83,7 @@
       <PrecompiledHeader>
       </PrecompiledHeader>
       <WarningLevel>Level3</WarningLevel>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
     </ClCompile>
     <PreLinkEvent>
       <Command>$(GenerateGIRDef)</Command>
@@ -92,6 +92,7 @@
       <AdditionalDependencies>libffi.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>$(OutDir)$(LibGIDllPrefix)$(ProjectName)$(LibGIDllSuffix).dll</OutputFile>
       <GenerateDebugInformation>true</GenerateDebugInformation>
+      <ProgramDatabaseFile>$(OutDir)$(LibGIDllPrefix)$(ProjectName)$(LibGIDllSuffix).pdb</ProgramDatabaseFile>
       <SubSystem>Windows</SubSystem>
       <ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
       <TargetMachine>MachineX86</TargetMachine>
       <AdditionalDependencies>libffi.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>$(OutDir)$(LibGIDllPrefix)$(ProjectName)$(LibGIDllSuffix).dll</OutputFile>
       <GenerateDebugInformation>true</GenerateDebugInformation>
+      <ProgramDatabaseFile>$(OutDir)$(LibGIDllPrefix)$(ProjectName)$(LibGIDllSuffix).pdb</ProgramDatabaseFile>
       <SubSystem>Windows</SubSystem>
       <OptimizeReferences>true</OptimizeReferences>
       <EnableCOMDATFolding>true</EnableCOMDATFolding>
       <AdditionalDependencies>libffi.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>$(OutDir)$(LibGIDllPrefix)$(ProjectName)$(LibGIDllSuffix).dll</OutputFile>
       <GenerateDebugInformation>true</GenerateDebugInformation>
+      <ProgramDatabaseFile>$(OutDir)$(LibGIDllPrefix)$(ProjectName)$(LibGIDllSuffix).pdb</ProgramDatabaseFile>
       <SubSystem>Windows</SubSystem>
       <ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
       <TargetMachine>MachineX64</TargetMachine>
       <AdditionalDependencies>libffi.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>$(OutDir)$(LibGIDllPrefix)$(ProjectName)$(LibGIDllSuffix).dll</OutputFile>
       <GenerateDebugInformation>true</GenerateDebugInformation>
+      <ProgramDatabaseFile>$(OutDir)$(LibGIDllPrefix)$(ProjectName)$(LibGIDllSuffix).pdb</ProgramDatabaseFile>
       <SubSystem>Windows</SubSystem>
       <OptimizeReferences>true</OptimizeReferences>
       <EnableCOMDATFolding>true</EnableCOMDATFolding>
index 87cdcc5..a778bf8 100644 (file)
@@ -82,7 +82,7 @@
       <PrecompiledHeader>
       </PrecompiledHeader>
       <WarningLevel>Level3</WarningLevel>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
     </ClCompile>
     <Link>
       <GenerateDebugInformation>true</GenerateDebugInformation>
index c363869..f112f08 100644 (file)
@@ -32,3 +32,5 @@ MSVC_VER = 12
 MSVC_VER_LONG = 2013
 
 include $(top_srcdir)/build/Makefile-newvs.am
+
+$(EXTRA_DIST): create_vcxproj copy_filters create_props
index b4ce330..f6f26b9 100644 (file)
@@ -547,6 +547,8 @@ create_props:
 copy_filters:
        cp  $(top_srcdir)/build/win32/vs10/*.vcxproj.filters $(top_builddir)/build/win32/vs$(MSVC_VER)/
 
+$(EXTRA_DIST): create_vcxproj copy_filters create_props
+
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:
index 3cc5162..356e912 100644 (file)
@@ -84,7 +84,7 @@
       <PrecompiledHeader>
       </PrecompiledHeader>
       <WarningLevel>Level3</WarningLevel>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
     </ClCompile>
     <Link>
       <OutputFile>$(OutDir)$(ProjectName).pyd</OutputFile>
index 0a6c98a..dd38bf1 100644 (file)
@@ -83,7 +83,7 @@
       <PrecompiledHeader>
       </PrecompiledHeader>
       <WarningLevel>Level3</WarningLevel>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
     </ClCompile>
     <Link>
       <GenerateDebugInformation>true</GenerateDebugInformation>
index 0487e93..2d649a1 100644 (file)
@@ -78,7 +78,7 @@
       <PrecompiledHeader>
       </PrecompiledHeader>
       <WarningLevel>Level3</WarningLevel>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
     </ClCompile>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
index f15bc1b..338e677 100644 (file)
@@ -82,7 +82,7 @@
       <PrecompiledHeader>
       </PrecompiledHeader>
       <WarningLevel>Level3</WarningLevel>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
     </ClCompile>
     <Link>
       <AdditionalDependencies>libffi.lib;%(AdditionalDependencies)</AdditionalDependencies>
index d3043e6..673a3fd 100644 (file)
@@ -82,7 +82,7 @@
       <PrecompiledHeader>
       </PrecompiledHeader>
       <WarningLevel>Level3</WarningLevel>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
     </ClCompile>
     <Link>
       <GenerateDebugInformation>true</GenerateDebugInformation>
index 160b17f..56e7986 100644 (file)
@@ -17,6 +17,8 @@
       <AdditionalIncludeDirectories>..\..\..;..\..\..\girepository;$(GlibEtcInstallRoot)\include;$(GlibEtcInstallRoot)\include\glib-2.0;$(GlibEtcInstallRoot)\lib\glib-2.0\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions>HAVE_CONFIG_H;WIN32;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <ForcedIncludeFiles>msvc_recommended_pragmas.h;%(ForcedIncludeFiles)</ForcedIncludeFiles>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
+      <AdditionalOptions>/d2Zi+ %(AdditionalOptions)</AdditionalOptions>
     </ClCompile>
     <Link>
       <AdditionalDependencies>gio-2.0.lib;gobject-2.0.lib;gmodule-2.0.lib;gthread-2.0.lib;glib-2.0.lib;%(AdditionalDependencies)</AdditionalDependencies>
index 31440ff..824fcb8 100644 (file)
 mkdir $(CopyDir)
 mkdir $(CopyDir)\bin
 copy $(BinDir)\$(LibGIDllPrefix)girepository$(LibGIDllSuffix).dll $(CopyDir)\bin
+copy $(BinDir)\$(LibGIDllPrefix)girepository$(LibGIDllSuffix).pdb $(CopyDir)\bin
 copy $(BinDir)\g-ir-compiler.exe $(CopyDir)\bin
+copy $(BinDir)\g-ir-compiler.pdb $(CopyDir)\bin
 copy $(BinDir)\g-ir-generate.exe $(CopyDir)\bin
+copy $(BinDir)\g-ir-generate.pdb $(CopyDir)\bin
 copy ..\..\..\tools\g-ir-annotation-tool $(CopyDir)\bin
 copy ..\..\..\tools\g-ir-doc-tool $(CopyDir)\bin
 copy ..\..\..\tools\g-ir-scanner $(CopyDir)\bin
 copy $(BinDir)\glib-print.exe $(CopyDir)\bin
+copy $(BinDir)\glib-print.pdb $(CopyDir)\bin
 mkdir $(CopyDir)\include\gobject-introspection-$(ApiVersion)\girepository
 copy ..\..\..\girepository\giarginfo.h $(CopyDir)\include\gobject-introspection-$(ApiVersion)\girepository
 copy ..\..\..\girepository\gibaseinfo.h $(CopyDir)\include\gobject-introspection-$(ApiVersion)\girepository
@@ -118,6 +122,7 @@ copy ..\..\..\giscanner\doctemplates\Gjs\record.tmpl $(CopyDir)\lib\gobject-intr
 copy ..\..\..\giscanner\doctemplates\Gjs\signal.tmpl $(CopyDir)\lib\gobject-introspection\giscanner\doctemplates\Gjs
 copy ..\..\..\giscanner\doctemplates\Gjs\vfunc.tmpl $(CopyDir)\lib\gobject-introspection\giscanner\doctemplates\Gjs
 copy $(BinDir)\_giscanner.pyd $(CopyDir)\lib\gobject-introspection\giscanner
+copy $(BinDir)\_giscanner.pdb $(CopyDir)\lib\gobject-introspection\giscanner
 mkdir $(CopyDir)\share\gir-$(ApiVersion)
 mkdir $(CopyDir)\share\gobject-introspection-$(ApiVersion)
 copy ..\..\..\girepository\gdump.c $(CopyDir)\share\gobject-introspection-$(ApiVersion)
index dab6e1f..59d6df1 100644 (file)
@@ -83,7 +83,7 @@
       <PrecompiledHeader>
       </PrecompiledHeader>
       <WarningLevel>Level3</WarningLevel>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
     </ClCompile>
     <PreLinkEvent>
       <Command>$(GenerateGIRDef)</Command>
@@ -92,6 +92,7 @@
       <AdditionalDependencies>libffi.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>$(OutDir)$(LibGIDllPrefix)$(ProjectName)$(LibGIDllSuffix).dll</OutputFile>
       <GenerateDebugInformation>true</GenerateDebugInformation>
+      <ProgramDatabaseFile>$(OutDir)$(LibGIDllPrefix)$(ProjectName)$(LibGIDllSuffix).pdb</ProgramDatabaseFile>
       <SubSystem>Windows</SubSystem>
       <ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
       <TargetMachine>MachineX86</TargetMachine>
       <AdditionalDependencies>libffi.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>$(OutDir)$(LibGIDllPrefix)$(ProjectName)$(LibGIDllSuffix).dll</OutputFile>
       <GenerateDebugInformation>true</GenerateDebugInformation>
+      <ProgramDatabaseFile>$(OutDir)$(LibGIDllPrefix)$(ProjectName)$(LibGIDllSuffix).pdb</ProgramDatabaseFile>
       <SubSystem>Windows</SubSystem>
       <OptimizeReferences>true</OptimizeReferences>
       <EnableCOMDATFolding>true</EnableCOMDATFolding>
       <AdditionalDependencies>libffi.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>$(OutDir)$(LibGIDllPrefix)$(ProjectName)$(LibGIDllSuffix).dll</OutputFile>
       <GenerateDebugInformation>true</GenerateDebugInformation>
+      <ProgramDatabaseFile>$(OutDir)$(LibGIDllPrefix)$(ProjectName)$(LibGIDllSuffix).pdb</ProgramDatabaseFile>
       <SubSystem>Windows</SubSystem>
       <ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
       <TargetMachine>MachineX64</TargetMachine>
       <AdditionalDependencies>libffi.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>$(OutDir)$(LibGIDllPrefix)$(ProjectName)$(LibGIDllSuffix).dll</OutputFile>
       <GenerateDebugInformation>true</GenerateDebugInformation>
+      <ProgramDatabaseFile>$(OutDir)$(LibGIDllPrefix)$(ProjectName)$(LibGIDllSuffix).pdb</ProgramDatabaseFile>
       <SubSystem>Windows</SubSystem>
       <OptimizeReferences>true</OptimizeReferences>
       <EnableCOMDATFolding>true</EnableCOMDATFolding>
index 6e99520..866a4a0 100644 (file)
@@ -82,7 +82,7 @@
       <PrecompiledHeader>
       </PrecompiledHeader>
       <WarningLevel>Level3</WarningLevel>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
     </ClCompile>
     <Link>
       <GenerateDebugInformation>true</GenerateDebugInformation>
index 12cd0cf..fc497d1 100644 (file)
@@ -12,6 +12,7 @@
                AdditionalIncludeDirectories="..\..\..;..\..\..\girepository;$(GlibEtcInstallRoot)\include;$(GlibEtcInstallRoot)\include\glib-2.0;$(GlibEtcInstallRoot)\lib\glib-2.0\include"
                PreprocessorDefinitions="HAVE_CONFIG_H;WIN32"
                ForcedIncludeFiles="msvc_recommended_pragmas.h"
+               AdditionalOptions="/MP"
        />
        <Tool
                Name="VCLinkerTool"
index b7e37a7..59bee07 100644 (file)
 mkdir $(CopyDir)&#x0D;&#x0A;
 mkdir $(CopyDir)\bin&#x0D;&#x0A;
 copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\$(LibGIDllPrefix)girepository$(LibGIDllSuffix).dll $(CopyDir)\bin&#x0D;&#x0A;
+copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\$(LibGIDllPrefix)girepository$(LibGIDllSuffix).pdb $(CopyDir)\bin&#x0D;&#x0A;
 copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\g-ir-compiler.exe $(CopyDir)\bin&#x0D;&#x0A;
+copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\g-ir-compiler.pdb $(CopyDir)\bin&#x0D;&#x0A;
 copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\g-ir-generate.exe $(CopyDir)\bin&#x0D;&#x0A;
+copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\g-ir-generate.pdb $(CopyDir)\bin&#x0D;&#x0A;
 copy ..\..\..\tools\g-ir-annotation-tool $(CopyDir)\bin&#x0D;&#x0A;
 copy ..\..\..\tools\g-ir-doc-tool $(CopyDir)\bin&#x0D;&#x0A;
 copy ..\..\..\tools\g-ir-scanner $(CopyDir)\bin&#x0D;&#x0A;
 copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\glib-print.exe $(CopyDir)\bin&#x0D;&#x0A;
+copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\glib-print.pdb $(CopyDir)\bin&#x0D;&#x0A;
 mkdir $(CopyDir)\include\gobject-introspection-$(ApiVersion)\girepository&#x0D;&#x0A;
 copy ..\..\..\girepository\giarginfo.h $(CopyDir)\include\gobject-introspection-$(ApiVersion)\girepository&#x0D;&#x0A;
 copy ..\..\..\girepository\gibaseinfo.h $(CopyDir)\include\gobject-introspection-$(ApiVersion)\girepository&#x0D;&#x0A;
@@ -119,6 +123,7 @@ copy ..\..\..\giscanner\doctemplates\Gjs\record.tmpl $(CopyDir)\lib\gobject-intr
 copy ..\..\..\giscanner\doctemplates\Gjs\signal.tmpl $(CopyDir)\lib\gobject-introspection\giscanner\doctemplates\Gjs&#x0D;&#x0A;
 copy ..\..\..\giscanner\doctemplates\Gjs\vfunc.tmpl $(CopyDir)\lib\gobject-introspection\giscanner\doctemplates\Gjs&#x0D;&#x0A;
 copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\_giscanner.pyd $(CopyDir)\lib\gobject-introspection\giscanner&#x0D;&#x0A;
+copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\_giscanner.pdb $(CopyDir)\lib\gobject-introspection\giscanner&#x0D;&#x0A;
 mkdir $(CopyDir)\share\gir-$(ApiVersion)&#x0D;&#x0A;
 mkdir $(CopyDir)\share\gobject-introspection-$(ApiVersion)&#x0D;&#x0A;
 copy ..\..\..\girepository\gdump.c $(CopyDir)\share\gobject-introspection-$(ApiVersion)&#x0D;&#x0A;
index 96198d0..f7b4716 100644 (file)
 mkdir $(CopyDir)&#x0D;&#x0A;
 mkdir $(CopyDir)\bin&#x0D;&#x0A;
 copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\$(LibGIDllPrefix)girepository$(LibGIDllSuffix).dll $(CopyDir)\bin&#x0D;&#x0A;
+copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\$(LibGIDllPrefix)girepository$(LibGIDllSuffix).pdb $(CopyDir)\bin&#x0D;&#x0A;
 copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\g-ir-compiler.exe $(CopyDir)\bin&#x0D;&#x0A;
+copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\g-ir-compiler.pdb $(CopyDir)\bin&#x0D;&#x0A;
 copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\g-ir-generate.exe $(CopyDir)\bin&#x0D;&#x0A;
+copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\g-ir-generate.pdb $(CopyDir)\bin&#x0D;&#x0A;
 copy ..\..\..\tools\g-ir-annotation-tool $(CopyDir)\bin&#x0D;&#x0A;
 copy ..\..\..\tools\g-ir-doc-tool $(CopyDir)\bin&#x0D;&#x0A;
 copy ..\..\..\tools\g-ir-scanner $(CopyDir)\bin&#x0D;&#x0A;
 
 copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\glib-print.exe $(CopyDir)\bin&#x0D;&#x0A;
+copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\glib-print.pdb $(CopyDir)\bin&#x0D;&#x0A;
 
 #include "gir.vs9.install"
 
 copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\_giscanner.pyd $(CopyDir)\lib\gobject-introspection\giscanner&#x0D;&#x0A;
+copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\_giscanner.pdb $(CopyDir)\lib\gobject-introspection\giscanner&#x0D;&#x0A;
 
 mkdir $(CopyDir)\share\gir-$(ApiVersion)&#x0D;&#x0A;
 
index ee6b791..e615dfd 100644 (file)
 #define PACKAGE "gobject-introspection"
 
 /* Define to the address where bug reports for this package should be sent. */
-#define PACKAGE_BUGREPORT "http://bugzilla.gnome.org/enter_bug.cgi?product=glib&component=introspection"
+#define PACKAGE_BUGREPORT "http://bugzilla.gnome.org/enter_bug.cgi?product=gobject-introspection"
 
 /* Define to the full name of this package. */
 #define PACKAGE_NAME "gobject-introspection"
 
 /* Define to the full name and version of this package. */
-#define PACKAGE_STRING "gojbect-introspection 1.43.3"
+#define PACKAGE_STRING "gojbect-introspection 1.43.92"
 
 /* Define to the one symbol short name of this package. */
 #define PACKAGE_TARNAME "gobject-introspection"
 #define PACKAGE_URL ""
 
 /* Define to the version of this package. */
-#define PACKAGE_VERSION "1.43.3"
+#define PACKAGE_VERSION "1.43.92"
 
 /* Define to the platform's shared library suffix */
 #define SHLIB_SUFFIX ".dll"
 #define STDC_HEADERS 1
 
 /* Version number of package */
-#define VERSION "1.43.3"
+#define VERSION "1.43.92"
 
 /* Define to 1 if `lex' declares `yytext' as a `char *' by default, not a
    `char[]'. */
index 192326d..f44f6f6 100755 (executable)
--- a/configure
+++ b/configure
@@ -1,8 +1,8 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for gobject-introspection 1.43.3.
+# Generated by GNU Autoconf 2.69 for gobject-introspection 1.43.92.
 #
-# Report bugs to <http://bugzilla.gnome.org/enter_bug.cgi?product=glib&component=introspection>.
+# Report bugs to <http://bugzilla.gnome.org/enter_bug.cgi?product=gobject-introspection>.
 #
 #
 # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
@@ -275,7 +275,7 @@ fi
     $as_echo "$0: be upgraded to zsh 4.3.4 or later."
   else
     $as_echo "$0: Please tell bug-autoconf@gnu.org and
-$0: http://bugzilla.gnome.org/enter_bug.cgi?product=glib&component=introspection
+$0: http://bugzilla.gnome.org/enter_bug.cgi?product=gobject-introspection
 $0: about your system, including any error possibly output
 $0: before this message. Then install a modern shell, or
 $0: manually run the script under such a shell if you do
@@ -591,9 +591,9 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='gobject-introspection'
 PACKAGE_TARNAME='gobject-introspection'
-PACKAGE_VERSION='1.43.3'
-PACKAGE_STRING='gobject-introspection 1.43.3'
-PACKAGE_BUGREPORT='http://bugzilla.gnome.org/enter_bug.cgi?product=glib&component=introspection'
+PACKAGE_VERSION='1.43.92'
+PACKAGE_STRING='gobject-introspection 1.43.92'
+PACKAGE_BUGREPORT='http://bugzilla.gnome.org/enter_bug.cgi?product=gobject-introspection'
 PACKAGE_URL=''
 
 # Factoring default headers for most tests.
@@ -1430,7 +1430,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures gobject-introspection 1.43.3 to adapt to many kinds of systems.
+\`configure' configures gobject-introspection 1.43.92 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1501,7 +1501,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of gobject-introspection 1.43.3:";;
+     short | recursive ) echo "Configuration of gobject-introspection 1.43.92:";;
    esac
   cat <<\_ACEOF
 
@@ -1526,7 +1526,7 @@ Optional Features:
   --enable-gtk-doc        use gtk-doc to build documentation [[default=no]]
   --enable-gtk-doc-html   build documentation in html format [[default=yes]]
   --enable-gtk-doc-pdf    build documentation in pdf format [[default=no]]
-  --disable-doctool           disable g-ir-doctool
+  --disable-doctool           disable g-ir-doc-tool
   --disable-Bsymbolic     avoid linking with -Bsymbolic
 
 Optional Packages:
@@ -1592,7 +1592,7 @@ Some influential environment variables:
 Use these variables to override the choices made by `configure' or to help
 it to find libraries and programs with nonstandard names/locations.
 
-Report bugs to <http://bugzilla.gnome.org/enter_bug.cgi?product=glib&component=introspection>.
+Report bugs to <http://bugzilla.gnome.org/enter_bug.cgi?product=gobject-introspection>.
 _ACEOF
 ac_status=$?
 fi
@@ -1655,7 +1655,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-gobject-introspection configure 1.43.3
+gobject-introspection configure 1.43.92
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2183,9 +2183,9 @@ $as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
 $as_echo "$as_me: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&2;}
     { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
 $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-( $as_echo "## ------------------------------------------------------------------------------------------- ##
-## Report this to http://bugzilla.gnome.org/enter_bug.cgi?product=glib&component=introspection ##
-## ------------------------------------------------------------------------------------------- ##"
+( $as_echo "## ------------------------------------------------------------------------------------ ##
+## Report this to http://bugzilla.gnome.org/enter_bug.cgi?product=gobject-introspection ##
+## ------------------------------------------------------------------------------------ ##"
      ) | sed "s/^/$as_me: WARNING:     /" >&2
     ;;
 esac
@@ -2207,7 +2207,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by gobject-introspection $as_me 1.43.3, which was
+It was created by gobject-introspection $as_me 1.43.92, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -3075,7 +3075,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='gobject-introspection'
- VERSION='1.43.3'
+ VERSION='1.43.92'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -3349,7 +3349,7 @@ AM_BACKSLASH='\'
 
 
 # Used in docs/reference/version.xml
-GI_VERSION=1.43.3
+GI_VERSION=1.43.92
 
 
 # Check for Win32
@@ -12644,12 +12644,12 @@ if test -n "$GLIB_CFLAGS"; then
     pkg_cv_GLIB_CFLAGS="$GLIB_CFLAGS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glib-2.0 >= 2.36.0\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "glib-2.0 >= 2.36.0") 2>&5
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glib-2.0 >= 2.43.92\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "glib-2.0 >= 2.43.92") 2>&5
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
-  pkg_cv_GLIB_CFLAGS=`$PKG_CONFIG --cflags "glib-2.0 >= 2.36.0" 2>/dev/null`
+  pkg_cv_GLIB_CFLAGS=`$PKG_CONFIG --cflags "glib-2.0 >= 2.43.92" 2>/dev/null`
                      test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
@@ -12661,12 +12661,12 @@ if test -n "$GLIB_LIBS"; then
     pkg_cv_GLIB_LIBS="$GLIB_LIBS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glib-2.0 >= 2.36.0\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "glib-2.0 >= 2.36.0") 2>&5
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glib-2.0 >= 2.43.92\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "glib-2.0 >= 2.43.92") 2>&5
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
-  pkg_cv_GLIB_LIBS=`$PKG_CONFIG --libs "glib-2.0 >= 2.36.0" 2>/dev/null`
+  pkg_cv_GLIB_LIBS=`$PKG_CONFIG --libs "glib-2.0 >= 2.43.92" 2>/dev/null`
                      test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
@@ -12687,14 +12687,14 @@ else
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-               GLIB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "glib-2.0 >= 2.36.0" 2>&1`
+               GLIB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "glib-2.0 >= 2.43.92" 2>&1`
         else
-               GLIB_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "glib-2.0 >= 2.36.0" 2>&1`
+               GLIB_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "glib-2.0 >= 2.43.92" 2>&1`
         fi
        # Put the nasty error message in config.log where it belongs
        echo "$GLIB_PKG_ERRORS" >&5
 
-       as_fn_error $? "Package requirements (glib-2.0 >= 2.36.0) were not met:
+       as_fn_error $? "Package requirements (glib-2.0 >= 2.43.92) were not met:
 
 $GLIB_PKG_ERRORS
 
@@ -15518,7 +15518,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by gobject-introspection $as_me 1.43.3, which was
+This file was extended by gobject-introspection $as_me 1.43.92, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -15578,13 +15578,13 @@ $config_headers
 Configuration commands:
 $config_commands
 
-Report bugs to <http://bugzilla.gnome.org/enter_bug.cgi?product=glib&component=introspection>."
+Report bugs to <http://bugzilla.gnome.org/enter_bug.cgi?product=gobject-introspection>."
 
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-gobject-introspection config.status 1.43.3
+gobject-introspection config.status 1.43.92
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
index 9965ae2..87f7db7 100644 (file)
@@ -4,13 +4,13 @@
 dnl the gi version number
 m4_define(gi_major_version, 1)
 m4_define(gi_minor_version, 43)
-m4_define(gi_micro_version, 3)
+m4_define(gi_micro_version, 92)
 m4_define(gi_version, gi_major_version.gi_minor_version.gi_micro_version)
 
 AC_PREREQ([2.63])
 AC_INIT([gobject-introspection],
         [gi_version],
-        [http://bugzilla.gnome.org/enter_bug.cgi?product=glib&component=introspection],
+        [http://bugzilla.gnome.org/enter_bug.cgi?product=gobject-introspection],
         [gobject-introspection])
 
 AC_CONFIG_HEADER([config.h])
@@ -128,7 +128,7 @@ GIR_DIR="$EXPANDED_DATADIR/$GIR_SUFFIX"
 AC_SUBST(GIR_DIR)
 AC_DEFINE_UNQUOTED(GIR_DIR, "$GIR_DIR", [Director prefix for gir installation])
 
-PKG_CHECK_MODULES(GLIB, [glib-2.0 >= 2.36.0])
+PKG_CHECK_MODULES(GLIB, [glib-2.0 >= 2.43.92])
 PKG_CHECK_MODULES(GOBJECT, [gobject-2.0])
 PKG_CHECK_MODULES(GMODULE, [gmodule-2.0])
 PKG_CHECK_MODULES(GIO, [gio-2.0])
@@ -266,7 +266,7 @@ fi
 
 dnl Not enabled by default until 3.6 cycle when we can propose mako as
 dnl an external dependency
-AC_ARG_ENABLE(doctool,[  --disable-doctool           disable g-ir-doctool ],,enable_doctool=auto)
+AC_ARG_ENABLE(doctool,[  --disable-doctool           disable g-ir-doc-tool ],,enable_doctool=auto)
 AS_IF([ test x$enable_doctool != xno], [
    AM_CHECK_PYMOD(mako,,have_python_mako=yes,have_python_mako=no)
 ])
@@ -286,7 +286,7 @@ AC_MSG_CHECKING([for glib source directory to use for documentation])
 AC_ARG_WITH(glib-src,
        [  --with-glib-src=PATH    Source directory for glib - needed to add docs to gir],
        GLIBSRC=$withval
-) 
+)
 AM_CONDITIONAL(WITH_GLIBSRC, test x"$GLIBSRC" != x)
 AC_SUBST(GLIBSRC)
 AC_MSG_RESULT([$GLIBSRC])
index 24b180a..43c0119 100644 (file)
@@ -34,8 +34,7 @@ The name of the library should not contain the leading lib prefix nor
 the ending shared library suffix.
 .TP
 .SH BUGS
-Report bugs at http://bugzilla.gnome.org/ in the glib product and
-introspection component.
+Report bugs at http://bugzilla.gnome.org/ in the gobject-introspection product.
 .SH HOMEPAGE and CONTACT
 http://live.gnome.org/GObjectIntrospection
 .SH AUTHORS
index 78d12d5..9b51698 100644 (file)
@@ -21,8 +21,7 @@ The shared library to read the symbols from.
 Save the resulting output in FILENAME.
 .TP
 .SH BUGS
-Report bugs at http://bugzilla.gnome.org/ in the glib product and
-introspection component.
+Report bugs at http://bugzilla.gnome.org/ in the gobject-introspection product.
 .SH HOMEPAGE and CONTACT
 http://live.gnome.org/GObjectIntrospection
 .SH AUTHORS
index 591df47..72af1d7 100644 (file)
@@ -137,8 +137,7 @@ set on a distribution so you shouldn't need to set it yourself.
 The variable GI_SCANNER_DISABLE_CACHE ensures that the scanner will
 not write cache data to $HOME.
 .SH BUGS
-Report bugs at http://bugzilla.gnome.org/ in the glib product and
-introspection component.
+Report bugs at http://bugzilla.gnome.org/ in the gobject-introspection product.
 .SH HOMEPAGE and CONTACT
 http://live.gnome.org/GObjectIntrospection
 .SH AUTHORS
index d3b3f93..332bd70 100644 (file)
@@ -96,7 +96,7 @@ GTKDOC_LIBS=                                          \
 
 # Other files to distribute
 # e.g. EXTRA_DIST += version.xml.in
-include $(top_srcdir)/gtk-doc.make
+include $(top_srcdir)/gtk-doc.make # generated by autogen.sh
 
 # Other files to distribute
 EXTRA_DIST += version.xml.in
index fb97984..38604d0 100644 (file)
@@ -16,7 +16,9 @@
        </refnamediv>
 
   <para>
-    This chapter describes the GIR XML markup format.
+    This chapter describes the GIR XML markup format. This describes exported C
+    API, including documentation. It may contain installation-specific data,
+    such as library filenames which may differ between platforms.
   </para>
 
   <refsect2 id="gi-gir-api-node">
index 59f0d50..548a5f4 100644 (file)
@@ -5,6 +5,7 @@ GIRepository
 GIRepositoryLoadFlags
 g_irepository_get_default
 g_irepository_get_dependencies
+g_irepository_get_immediate_dependencies
 g_irepository_get_loaded_namespaces
 g_irepository_get_n_infos
 g_irepository_get_info
index 30d97cc..edcea64 100644 (file)
 <span class="returnvalue">gchar</span> **
 </td>
 <td class="function_name">
+<a class="link" href="GIRepository.html#g-irepository-get-immediate-dependencies" title="g_irepository_get_immediate_dependencies ()">g_irepository_get_immediate_dependencies</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">gchar</span> **
+</td>
+<td class="function_name">
 <a class="link" href="GIRepository.html#g-irepository-get-loaded-namespaces" title="g_irepository_get_loaded_namespaces ()">g_irepository_get_loaded_namespaces</a> <span class="c_punctuation">()</span>
 </td>
 </tr>
@@ -299,8 +307,11 @@ g_irepository_get_dependencies (<em class="parameter"><code><a class="link" href
 <p>Note: <em class="parameter"><code>namespace_</code></em>
  must have already been loaded using a function
 such as <a class="link" href="GIRepository.html#g-irepository-require" title="g_irepository_require ()"><code class="function">g_irepository_require()</code></a> before calling this function.</p>
+<p>To get only the immediate dependencies for <em class="parameter"><code>namespace_</code></em>
+, use
+<a class="link" href="GIRepository.html#g-irepository-get-immediate-dependencies" title="g_irepository_get_immediate_dependencies ()"><code class="function">g_irepository_get_immediate_dependencies()</code></a>.</p>
 <div class="refsect3">
-<a name="id-1.4.2.2.8.3.7"></a><h4>Parameters</h4>
+<a name="id-1.4.2.2.8.3.8"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -323,11 +334,58 @@ process-global default <a class="link" href="GIRepository.html" title="GIReposit
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.4.2.2.8.3.8"></a><h4>Returns</h4>
-<p> Zero-terminated string array of versioned
+<a name="id-1.4.2.2.8.3.9"></a><h4>Returns</h4>
+<p> Zero-terminated string array of all versioned
+dependencies. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="g-irepository-get-immediate-dependencies"></a><h3>g_irepository_get_immediate_dependencies ()</h3>
+<pre class="programlisting"><span class="returnvalue">gchar</span> **
+g_irepository_get_immediate_dependencies
+                               (<em class="parameter"><code><a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>,
+                                <em class="parameter"><code>const <span class="type">gchar</span> *namespace_</code></em>);</pre>
+<p>Return an array of the immediate versioned dependencies for <em class="parameter"><code>namespace_</code></em>
+.
+Returned strings are of the form <code class="code">namespace-version</code>.</p>
+<p>Note: <em class="parameter"><code>namespace_</code></em>
+ must have already been loaded using a function
+such as <a class="link" href="GIRepository.html#g-irepository-require" title="g_irepository_require ()"><code class="function">g_irepository_require()</code></a> before calling this function.</p>
+<p>To get the transitive closure of dependencies for <em class="parameter"><code>namespace_</code></em>
+, use
+<a class="link" href="GIRepository.html#g-irepository-get-dependencies" title="g_irepository_get_dependencies ()"><code class="function">g_irepository_get_dependencies()</code></a>.</p>
+<div class="refsect3">
+<a name="id-1.4.2.2.8.4.7"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>repository</p></td>
+<td class="parameter_description"><p> A <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> or <code class="literal">NULL</code> for the singleton
+process-global default <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>namespace_</p></td>
+<td class="parameter_description"><p>Namespace of interest</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.4.2.2.8.4.8"></a><h4>Returns</h4>
+<p> Zero-terminated string array of immediate versioned
 dependencies. </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
 </div>
+<p class="since">Since 1.44</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -336,7 +394,7 @@ dependencies. </p>
 g_irepository_get_loaded_namespaces (<em class="parameter"><code><a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>);</pre>
 <p>Return the list of currently loaded namespaces.</p>
 <div class="refsect3">
-<a name="id-1.4.2.2.8.4.5"></a><h4>Parameters</h4>
+<a name="id-1.4.2.2.8.5.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -352,7 +410,7 @@ process-global default <a class="link" href="GIRepository.html" title="GIReposit
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.4.2.2.8.4.6"></a><h4>Returns</h4>
+<a name="id-1.4.2.2.8.5.6"></a><h4>Returns</h4>
 <p> List of namespaces. </p>
 <p><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> utf8][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
 </div>
@@ -368,7 +426,7 @@ given namespace <em class="parameter"><code>namespace_</code></em>
 .  The namespace must have
 already been loaded before calling this function.</p>
 <div class="refsect3">
-<a name="id-1.4.2.2.8.5.5"></a><h4>Parameters</h4>
+<a name="id-1.4.2.2.8.6.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -391,7 +449,7 @@ process-global default <a class="link" href="GIRepository.html" title="GIReposit
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.4.2.2.8.5.6"></a><h4>Returns</h4>
+<a name="id-1.4.2.2.8.6.6"></a><h4>Returns</h4>
 <p> number of metadata entries</p>
 <p></p>
 </div>
@@ -410,7 +468,7 @@ already been loaded before calling this function.
 See <a class="link" href="GIRepository.html#g-irepository-get-n-infos" title="g_irepository_get_n_infos ()"><code class="function">g_irepository_get_n_infos()</code></a> to find the maximum number of
 entries.</p>
 <div class="refsect3">
-<a name="id-1.4.2.2.8.6.5"></a><h4>Parameters</h4>
+<a name="id-1.4.2.2.8.7.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -438,7 +496,7 @@ process-global default <a class="link" href="GIRepository.html" title="GIReposit
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.4.2.2.8.6.6"></a><h4>Returns</h4>
+<a name="id-1.4.2.2.8.7.6"></a><h4>Returns</h4>
 <p> <span class="type">GIBaseInfo</span> containing metadata. </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
 </div>
@@ -452,7 +510,7 @@ g_irepository_get_option_group (<em class="parameter"><code><span class="type">v
 by the dumper and for programs that wants to provide
 introspection information</p>
 <div class="refsect3">
-<a name="id-1.4.2.2.8.7.5"></a><h4>Returns</h4>
+<a name="id-1.4.2.2.8.8.5"></a><h4>Returns</h4>
 <p> the option group. </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
 </div>
@@ -468,7 +526,7 @@ available) for <em class="parameter"><code>namespace_</code></em>
  in this <em class="parameter"><code>repository</code></em>
 .</p>
 <div class="refsect3">
-<a name="id-1.4.2.2.8.8.5"></a><h4>Parameters</h4>
+<a name="id-1.4.2.2.8.9.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -491,7 +549,7 @@ process-global default <a class="link" href="GIRepository.html" title="GIReposit
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.4.2.2.8.8.6"></a><h4>Returns</h4>
+<a name="id-1.4.2.2.8.9.6"></a><h4>Returns</h4>
 <p> the array of versions. </p>
 <p><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> utf8][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
 </div>
@@ -514,7 +572,7 @@ in this way, loading will fall back to the system library
 path (ie. LD_LIBRARY_PATH and DT_RPATH in ELF systems).
 See the documentation of your dynamic linker for full details.</p>
 <div class="refsect3">
-<a name="id-1.4.2.2.8.9.6"></a><h4>Parameters</h4>
+<a name="id-1.4.2.2.8.10.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -539,7 +597,7 @@ g_irepository_prepend_search_path (<em class="parameter"><code>const <span class
  to the typelib search path.
 See <a class="link" href="GIRepository.html#g-irepository-get-search-path" title="g_irepository_get_search_path ()"><code class="function">g_irepository_get_search_path()</code></a>.</p>
 <div class="refsect3">
-<a name="id-1.4.2.2.8.10.5"></a><h4>Parameters</h4>
+<a name="id-1.4.2.2.8.11.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -564,7 +622,7 @@ g_irepository_get_search_path (<em class="parameter"><code><span class="type">vo
 typelib files. The list is internal to <span class="type">GIRespository</span> and should not
 be freed, nor should its string elements.</p>
 <div class="refsect3">
-<a name="id-1.4.2.2.8.11.5"></a><h4>Returns</h4>
+<a name="id-1.4.2.2.8.12.5"></a><h4>Returns</h4>
 <p> <span class="type">GSList</span> of strings. </p>
 <p><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> filename][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
 </div>
@@ -579,7 +637,7 @@ g_irepository_load_typelib (<em class="parameter"><code><a class="link" href="GI
                             <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
 <p>TODO</p>
 <div class="refsect3">
-<a name="id-1.4.2.2.8.12.5"></a><h4>Parameters</h4>
+<a name="id-1.4.2.2.8.13.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -625,7 +683,7 @@ namespace <em class="parameter"><code>namespace_</code></em>
  was included in a shared library, return
 the special string "&lt;builtin&gt;".</p>
 <div class="refsect3">
-<a name="id-1.4.2.2.8.13.5"></a><h4>Parameters</h4>
+<a name="id-1.4.2.2.8.14.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -648,7 +706,7 @@ process-global default <a class="link" href="GIRepository.html" title="GIReposit
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.4.2.2.8.13.6"></a><h4>Returns</h4>
+<a name="id-1.4.2.2.8.14.6"></a><h4>Returns</h4>
 <p> Filesystem path (or $lt;builtin$gt;) if successful, <code class="literal">NULL</code> if namespace is not loaded</p>
 <p></p>
 </div>
@@ -667,7 +725,7 @@ metadata in the namespace, you should call <a class="link" href="GIRepository.ht
 instead which will ensure the namespace is loaded, and return as
 quickly as this function will if it has already been loaded.</p>
 <div class="refsect3">
-<a name="id-1.4.2.2.8.14.5"></a><h4>Parameters</h4>
+<a name="id-1.4.2.2.8.15.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -695,7 +753,7 @@ process-global default <a class="link" href="GIRepository.html" title="GIReposit
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.4.2.2.8.14.6"></a><h4>Returns</h4>
+<a name="id-1.4.2.2.8.15.6"></a><h4>Returns</h4>
 <p> <code class="literal">TRUE</code> if namespace-version is loaded, <code class="literal">FALSE</code> otherwise</p>
 <p></p>
 </div>
@@ -719,7 +777,7 @@ version <em class="parameter"><code>version</code></em>
  is
 not specified, the latest will be used.</p>
 <div class="refsect3">
-<a name="id-1.4.2.2.8.15.5"></a><h4>Parameters</h4>
+<a name="id-1.4.2.2.8.16.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -757,7 +815,7 @@ process-global default <a class="link" href="GIRepository.html" title="GIReposit
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.4.2.2.8.15.6"></a><h4>Returns</h4>
+<a name="id-1.4.2.2.8.16.6"></a><h4>Returns</h4>
 <p> a pointer to the <a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> if successful, <code class="literal">NULL</code> otherwise. </p>
 <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
 </div>
@@ -782,7 +840,7 @@ version <em class="parameter"><code>version</code></em>
  is
 not specified, the latest will be used.</p>
 <div class="refsect3">
-<a name="id-1.4.2.2.8.16.5"></a><h4>Parameters</h4>
+<a name="id-1.4.2.2.8.17.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -825,7 +883,7 @@ process-global default <a class="link" href="GIRepository.html" title="GIReposit
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.4.2.2.8.16.6"></a><h4>Returns</h4>
+<a name="id-1.4.2.2.8.17.6"></a><h4>Returns</h4>
 <p> a pointer to the <a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> if successful, <code class="literal">NULL</code> otherwise. </p>
 <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
 </div>
@@ -842,7 +900,7 @@ starts with this prefix, as well each <span class="type">GType</span> in the lib
 <p>Note: The namespace must have already been loaded using a function
 such as <a class="link" href="GIRepository.html#g-irepository-require" title="g_irepository_require ()"><code class="function">g_irepository_require()</code></a> before calling this function.</p>
 <div class="refsect3">
-<a name="id-1.4.2.2.8.17.6"></a><h4>Parameters</h4>
+<a name="id-1.4.2.2.8.18.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -865,7 +923,7 @@ process-global default <a class="link" href="GIRepository.html" title="GIReposit
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.4.2.2.8.17.7"></a><h4>Returns</h4>
+<a name="id-1.4.2.2.8.18.7"></a><h4>Returns</h4>
 <p> C namespace prefix, or <code class="literal">NULL</code> if none associated</p>
 <p></p>
 </div>
@@ -876,15 +934,15 @@ process-global default <a class="link" href="GIRepository.html" title="GIReposit
 <pre class="programlisting">const <span class="returnvalue">gchar</span> *
 g_irepository_get_shared_library (<em class="parameter"><code><a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>,
                                   <em class="parameter"><code>const <span class="type">gchar</span> *namespace_</code></em>);</pre>
-<p>This function returns the full path to the shared C library
-associated with the given namespace <em class="parameter"><code>namespace_</code></em>
-. There may be no
-shared library path associated, in which case this function will
-return <code class="literal">NULL</code>.</p>
+<p>This function returns a comma-separated list of paths to the
+shared C libraries associated with the given namespace <em class="parameter"><code>namespace_</code></em>
+.
+There may be no shared library path associated, in which case this
+function will return <code class="literal">NULL</code>.</p>
 <p>Note: The namespace must have already been loaded using a function
 such as <a class="link" href="GIRepository.html#g-irepository-require" title="g_irepository_require ()"><code class="function">g_irepository_require()</code></a> before calling this function.</p>
 <div class="refsect3">
-<a name="id-1.4.2.2.8.18.6"></a><h4>Parameters</h4>
+<a name="id-1.4.2.2.8.19.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -907,8 +965,9 @@ process-global default <a class="link" href="GIRepository.html" title="GIReposit
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.4.2.2.8.18.7"></a><h4>Returns</h4>
-<p> Full path to shared library, or <code class="literal">NULL</code> if none associated</p>
+<a name="id-1.4.2.2.8.19.7"></a><h4>Returns</h4>
+<p> Comma-separated list of paths to shared libraries,
+or <code class="literal">NULL</code> if none are associated</p>
 <p></p>
 </div>
 </div>
@@ -924,7 +983,7 @@ namespace <em class="parameter"><code>namespace_</code></em>
 <p>Note: The namespace must have already been loaded using a function
 such as <a class="link" href="GIRepository.html#g-irepository-require" title="g_irepository_require ()"><code class="function">g_irepository_require()</code></a> before calling this function.</p>
 <div class="refsect3">
-<a name="id-1.4.2.2.8.19.6"></a><h4>Parameters</h4>
+<a name="id-1.4.2.2.8.20.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -947,7 +1006,7 @@ process-global default <a class="link" href="GIRepository.html" title="GIReposit
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.4.2.2.8.19.7"></a><h4>Returns</h4>
+<a name="id-1.4.2.2.8.20.7"></a><h4>Returns</h4>
 <p> Loaded version</p>
 <p></p>
 </div>
@@ -965,7 +1024,7 @@ mechanism for determining the namespace which corresponds to an
 arbitrary GType - thus, this function will operate most reliably
 when you know the GType to originate from be from a loaded namespace.</p>
 <div class="refsect3">
-<a name="id-1.4.2.2.8.20.5"></a><h4>Parameters</h4>
+<a name="id-1.4.2.2.8.21.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -988,7 +1047,7 @@ process-global default <a class="link" href="GIRepository.html" title="GIReposit
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.4.2.2.8.20.6"></a><h4>Returns</h4>
+<a name="id-1.4.2.2.8.21.6"></a><h4>Returns</h4>
 <p> <span class="type">GIBaseInfo</span> representing metadata about <em class="parameter"><code>type</code></em>
 , or <code class="literal">NULL</code>. </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
@@ -1005,7 +1064,7 @@ domain. Before calling this function for a particular namespace,
 you must call <a class="link" href="GIRepository.html#g-irepository-require" title="g_irepository_require ()"><code class="function">g_irepository_require()</code></a> once to load the namespace, or
 otherwise ensure the namespace has already been loaded.</p>
 <div class="refsect3">
-<a name="id-1.4.2.2.8.21.5"></a><h4>Parameters</h4>
+<a name="id-1.4.2.2.8.22.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1028,7 +1087,7 @@ process-global default <a class="link" href="GIRepository.html" title="GIReposit
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.4.2.2.8.21.6"></a><h4>Returns</h4>
+<a name="id-1.4.2.2.8.22.6"></a><h4>Returns</h4>
 <p> <a class="link" href="gi-GIEnumInfo.html#GIEnumInfo" title="GIEnumInfo"><span class="type">GIEnumInfo</span></a> representing metadata about <em class="parameter"><code>domain</code></em>
 's
 enum type, or <code class="literal">NULL</code>. </p>
@@ -1048,7 +1107,7 @@ this function for a particular namespace, you must call
 <a class="link" href="GIRepository.html#g-irepository-require" title="g_irepository_require ()"><code class="function">g_irepository_require()</code></a> once to load the namespace, or otherwise
 ensure the namespace has already been loaded.</p>
 <div class="refsect3">
-<a name="id-1.4.2.2.8.22.5"></a><h4>Parameters</h4>
+<a name="id-1.4.2.2.8.23.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1076,7 +1135,7 @@ process-global default <a class="link" href="GIRepository.html" title="GIReposit
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.4.2.2.8.22.6"></a><h4>Returns</h4>
+<a name="id-1.4.2.2.8.23.6"></a><h4>Returns</h4>
 <p> <span class="type">GIBaseInfo</span> representing metadata about <em class="parameter"><code>name</code></em>
 , or <code class="literal">NULL</code>. </p>
 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
@@ -1097,7 +1156,7 @@ extra whitespace is allowed.</p>
 <p>The output file should already exist, but be empty.  This function will
 overwrite its contents.</p>
 <div class="refsect3">
-<a name="id-1.4.2.2.8.23.6"></a><h4>Parameters</h4>
+<a name="id-1.4.2.2.8.24.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1119,7 +1178,7 @@ overwrite its contents.</p>
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.4.2.2.8.23.7"></a><h4>Returns</h4>
+<a name="id-1.4.2.2.8.24.7"></a><h4>Returns</h4>
 <p> <code class="literal">TRUE</code> on success, <code class="literal">FALSE</code> on error</p>
 <p></p>
 </div>
@@ -1136,7 +1195,7 @@ gi_cclosure_marshal_generic (<em class="parameter"><code><span class="type">GClo
                              <em class="parameter"><code><span class="type">gpointer</span> marshal_data</code></em>);</pre>
 <p>TODO</p>
 <div class="refsect3">
-<a name="id-1.4.2.2.8.24.5"></a><h4>Parameters</h4>
+<a name="id-1.4.2.2.8.25.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
index aac0e7c..cf8f71d 100644 (file)
@@ -16,6 +16,8 @@
                     Â <span class="dim">|</span> 
                   <a class="shortcut" href="#glsE">E</a>
                     Â <span class="dim">|</span> 
+                  <a class="shortcut" href="#glsN">N</a>
+                    Â <span class="dim">|</span> 
                   <a class="shortcut" href="#glsO">O</a>
                     Â <span class="dim">|</span> 
                   <a class="shortcut" href="#glsS">S</a>
@@ -35,6 +37,9 @@
 <a name="glsE"></a><h3 class="title">E</h3>
 <dt><span class="glossterm"><a name="annotation-glossterm-element-type"></a>element-type</span></dt>
 <dd class="glossdef"><p>Generics and defining elements of containers and arrays.</p></dd>
+<a name="glsN"></a><h3 class="title">N</h3>
+<dt><span class="glossterm"><a name="annotation-glossterm-nullable"></a>nullable</span></dt>
+<dd class="glossdef"><p>NULL may be passed as the value in, out, in-out; or as a return value.</p></dd>
 <a name="glsO"></a><h3 class="title">O</h3>
 <dt><span class="glossterm"><a name="annotation-glossterm-out"></a>out</span></dt>
 <dd class="glossdef"><p>Parameter for returning results. Default is <acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>.</p></dd>
index 9adf6ef..c20e5fc 100644 (file)
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gi-common-types.html#GIArgument" title="union GIArgument">GIArgument</a>, union in <a class="link" href="gi-common-types.html" title="common types">common types</a>
+<a class="link" href="gi-common-types.html#GIArgument" title="GIArgument">GIArgument</a>, union in <a class="link" href="gi-common-types.html" title="common types">common types</a>
 </dt>
 <dd></dd>
 <dt>
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="GIRepository.html#g-irepository-get-immediate-dependencies" title="g_irepository_get_immediate_dependencies ()">g_irepository_get_immediate_dependencies</a>, function in <a class="link" href="GIRepository.html" title="GIRepository">GIRepository</a>
+</dt>
+<dd></dd>
+<dt>
 <a class="link" href="GIRepository.html#g-irepository-get-info" title="g_irepository_get_info ()">g_irepository_get_info</a>, function in <a class="link" href="GIRepository.html" title="GIRepository">GIRepository</a>
 </dt>
 <dd></dd>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gi-GITypelib.html#SimpleTypeBlob" title="union SimpleTypeBlob">SimpleTypeBlob</a>, union in <a class="link" href="gi-GITypelib.html" title="GITypelib">GITypelib</a>
+<a class="link" href="gi-GITypelib.html#SimpleTypeBlob" title="SimpleTypeBlob">SimpleTypeBlob</a>, union in <a class="link" href="gi-GITypelib.html" title="GITypelib">GITypelib</a>
 </dt>
 <dd></dd>
 <dt>
index 8b272be..fda4211 100644 (file)
@@ -393,11 +393,11 @@ g_callable_info_get_return_type (<em class="parameter"><code><a class="link" hre
 <pre class="programlisting"><span class="returnvalue">gboolean</span>
 g_callable_info_invoke (<em class="parameter"><code><a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> *info</code></em>,
                         <em class="parameter"><code><span class="type">gpointer</span> function</code></em>,
-                        <em class="parameter"><code>const <a class="link" href="gi-common-types.html#GIArgument" title="union GIArgument"><span class="type">GIArgument</span></a> *in_args</code></em>,
+                        <em class="parameter"><code>const <a class="link" href="gi-common-types.html#GIArgument" title="GIArgument"><span class="type">GIArgument</span></a> *in_args</code></em>,
                         <em class="parameter"><code><span class="type">int</span> n_in_args</code></em>,
-                        <em class="parameter"><code>const <a class="link" href="gi-common-types.html#GIArgument" title="union GIArgument"><span class="type">GIArgument</span></a> *out_args</code></em>,
+                        <em class="parameter"><code>const <a class="link" href="gi-common-types.html#GIArgument" title="GIArgument"><span class="type">GIArgument</span></a> *out_args</code></em>,
                         <em class="parameter"><code><span class="type">int</span> n_out_args</code></em>,
-                        <em class="parameter"><code><a class="link" href="gi-common-types.html#GIArgument" title="union GIArgument"><span class="type">GIArgument</span></a> *return_value</code></em>,
+                        <em class="parameter"><code><a class="link" href="gi-common-types.html#GIArgument" title="GIArgument"><span class="type">GIArgument</span></a> *return_value</code></em>,
                         <em class="parameter"><code><span class="type">gboolean</span> is_method</code></em>,
                         <em class="parameter"><code><span class="type">gboolean</span> throws</code></em>,
                         <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
index 993d9bc..3f08c76 100644 (file)
@@ -126,7 +126,7 @@ which can be obtained by calling <a class="link" href="gi-GIConstantInfo.html#g-
 <a name="g-constant-info-free-value"></a><h3>g_constant_info_free_value ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 g_constant_info_free_value (<em class="parameter"><code><a class="link" href="gi-GIConstantInfo.html#GIConstantInfo" title="GIConstantInfo"><span class="type">GIConstantInfo</span></a> *info</code></em>,
-                            <em class="parameter"><code><a class="link" href="gi-common-types.html#GIArgument" title="union GIArgument"><span class="type">GIArgument</span></a> *value</code></em>);</pre>
+                            <em class="parameter"><code><a class="link" href="gi-common-types.html#GIArgument" title="GIArgument"><span class="type">GIArgument</span></a> *value</code></em>);</pre>
 <p>Free the value returned from <a class="link" href="gi-GIConstantInfo.html#g-constant-info-get-value" title="g_constant_info_get_value ()"><code class="function">g_constant_info_get_value()</code></a>.</p>
 <div class="refsect3">
 <a name="id-1.4.2.18.6.3.5"></a><h4>Parameters</h4>
@@ -185,7 +185,7 @@ g_constant_info_get_type (<em class="parameter"><code><a class="link" href="gi-G
 <a name="g-constant-info-get-value"></a><h3>g_constant_info_get_value ()</h3>
 <pre class="programlisting"><span class="returnvalue">gint</span>
 g_constant_info_get_value (<em class="parameter"><code><a class="link" href="gi-GIConstantInfo.html#GIConstantInfo" title="GIConstantInfo"><span class="type">GIConstantInfo</span></a> *info</code></em>,
-                           <em class="parameter"><code><a class="link" href="gi-common-types.html#GIArgument" title="union GIArgument"><span class="type">GIArgument</span></a> *value</code></em>);</pre>
+                           <em class="parameter"><code><a class="link" href="gi-common-types.html#GIArgument" title="GIArgument"><span class="type">GIArgument</span></a> *value</code></em>);</pre>
 <p>Obtain the value associated with the <a class="link" href="gi-GIConstantInfo.html#GIConstantInfo" title="GIConstantInfo"><span class="type">GIConstantInfo</span></a> and store it in the
 <em class="parameter"><code>value</code></em>
  parameter. <em class="parameter"><code>argument</code></em>
index 9166e99..42db5b1 100644 (file)
@@ -160,7 +160,7 @@ which is currently <a class="link" href="gi-GIFieldInfo.html#GI-FIELD-IS-READABL
 <pre class="programlisting"><span class="returnvalue">gboolean</span>
 g_field_info_get_field (<em class="parameter"><code><a class="link" href="gi-GIFieldInfo.html#GIFieldInfo" title="GIFieldInfo"><span class="type">GIFieldInfo</span></a> *field_info</code></em>,
                         <em class="parameter"><code><span class="type">gpointer</span> mem</code></em>,
-                        <em class="parameter"><code><a class="link" href="gi-common-types.html#GIArgument" title="union GIArgument"><span class="type">GIArgument</span></a> *value</code></em>);</pre>
+                        <em class="parameter"><code><a class="link" href="gi-common-types.html#GIArgument" title="GIArgument"><span class="type">GIArgument</span></a> *value</code></em>);</pre>
 <p>Reads a field identified by a <a class="link" href="gi-GIFieldInfo.html#GIFieldInfo" title="GIFieldInfo"><span class="type">GIFieldInfo</span></a> from a C structure or
 union.  This only handles fields of simple C types. It will fail
 for a field of a composite type like a nested structure or union
@@ -186,7 +186,7 @@ even if that is actually readable.</p>
 </tr>
 <tr>
 <td class="parameter_name"><p>value</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gi-common-types.html#GIArgument" title="union GIArgument"><span class="type">GIArgument</span></a> into which to store the value retrieved</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-common-types.html#GIArgument" title="GIArgument"><span class="type">GIArgument</span></a> into which to store the value retrieved</p></td>
 <td class="parameter_annotations"> </td>
 </tr>
 </tbody>
@@ -204,7 +204,7 @@ even if that is actually readable.</p>
 <pre class="programlisting"><span class="returnvalue">gboolean</span>
 g_field_info_set_field (<em class="parameter"><code><a class="link" href="gi-GIFieldInfo.html#GIFieldInfo" title="GIFieldInfo"><span class="type">GIFieldInfo</span></a> *field_info</code></em>,
                         <em class="parameter"><code><span class="type">gpointer</span> mem</code></em>,
-                        <em class="parameter"><code>const <a class="link" href="gi-common-types.html#GIArgument" title="union GIArgument"><span class="type">GIArgument</span></a> *value</code></em>);</pre>
+                        <em class="parameter"><code>const <a class="link" href="gi-common-types.html#GIArgument" title="GIArgument"><span class="type">GIArgument</span></a> *value</code></em>);</pre>
 <p>Writes a field identified by a <a class="link" href="gi-GIFieldInfo.html#GIFieldInfo" title="GIFieldInfo"><span class="type">GIFieldInfo</span></a> to a C structure or
 union.  This only handles fields of simple C types. It will fail
 for a field of a composite type like a nested structure or union
@@ -232,7 +232,7 @@ with a type such as 'char *' must be set with a setter function.</p>
 </tr>
 <tr>
 <td class="parameter_name"><p>value</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gi-common-types.html#GIArgument" title="union GIArgument"><span class="type">GIArgument</span></a> holding the value to store</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-common-types.html#GIArgument" title="GIArgument"><span class="type">GIArgument</span></a> holding the value to store</p></td>
 <td class="parameter_annotations"> </td>
 </tr>
 </tbody>
index 377d79d..965ae5c 100644 (file)
@@ -286,11 +286,11 @@ Free it by calling <a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" t
 <a name="g-function-info-invoke"></a><h3>g_function_info_invoke ()</h3>
 <pre class="programlisting"><span class="returnvalue">gboolean</span>
 g_function_info_invoke (<em class="parameter"><code><a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a> *info</code></em>,
-                        <em class="parameter"><code>const <a class="link" href="gi-common-types.html#GIArgument" title="union GIArgument"><span class="type">GIArgument</span></a> *in_args</code></em>,
+                        <em class="parameter"><code>const <a class="link" href="gi-common-types.html#GIArgument" title="GIArgument"><span class="type">GIArgument</span></a> *in_args</code></em>,
                         <em class="parameter"><code><span class="type">int</span> n_in_args</code></em>,
-                        <em class="parameter"><code>const <a class="link" href="gi-common-types.html#GIArgument" title="union GIArgument"><span class="type">GIArgument</span></a> *out_args</code></em>,
+                        <em class="parameter"><code>const <a class="link" href="gi-common-types.html#GIArgument" title="GIArgument"><span class="type">GIArgument</span></a> *out_args</code></em>,
                         <em class="parameter"><code><span class="type">int</span> n_out_args</code></em>,
-                        <em class="parameter"><code><a class="link" href="gi-common-types.html#GIArgument" title="union GIArgument"><span class="type">GIArgument</span></a> *return_value</code></em>,
+                        <em class="parameter"><code><a class="link" href="gi-common-types.html#GIArgument" title="GIArgument"><span class="type">GIArgument</span></a> *return_value</code></em>,
                         <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
 <p>Invokes the function described in <em class="parameter"><code>info</code></em>
  with the given
@@ -315,7 +315,7 @@ have been <code class="function">g_module_symbol()</code>ed before calling this
 </tr>
 <tr>
 <td class="parameter_name"><p>in_args</p></td>
-<td class="parameter_description"><p>an array of <a class="link" href="gi-common-types.html#GIArgument" title="union GIArgument"><span class="type">GIArgument</span></a>s, one for each in
+<td class="parameter_description"><p>an array of <a class="link" href="gi-common-types.html#GIArgument" title="GIArgument"><span class="type">GIArgument</span></a>s, one for each in
 parameter of <em class="parameter"><code>info</code></em>
 . If there are no in parameter, <em class="parameter"><code>in_args</code></em>
 can be <code class="literal">NULL</code></p></td>
@@ -329,7 +329,7 @@ array</p></td>
 </tr>
 <tr>
 <td class="parameter_name"><p>out_args</p></td>
-<td class="parameter_description"><p>an array of <a class="link" href="gi-common-types.html#GIArgument" title="union GIArgument"><span class="type">GIArgument</span></a>s, one for each out
+<td class="parameter_description"><p>an array of <a class="link" href="gi-common-types.html#GIArgument" title="GIArgument"><span class="type">GIArgument</span></a>s, one for each out
 parameter of <em class="parameter"><code>info</code></em>
 . If there are no out parameters, <em class="parameter"><code>out_args</code></em>
 may be <code class="literal">NULL</code></p></td>
index 1f1562d..725ea30 100644 (file)
@@ -163,8 +163,8 @@ justifications.
 <td class="function_name"><a class="link" href="gi-GITypelib.html#SimpleTypeBlobFlags" title="SimpleTypeBlobFlags">SimpleTypeBlobFlags</a></td>
 </tr>
 <tr>
-<td class="datatype_keyword">union</td>
-<td class="function_name"><a class="link" href="gi-GITypelib.html#SimpleTypeBlob" title="union SimpleTypeBlob">SimpleTypeBlob</a></td>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="gi-GITypelib.html#SimpleTypeBlob" title="SimpleTypeBlob">SimpleTypeBlob</a></td>
 </tr>
 <tr>
 <td class="datatype_keyword"> </td>
@@ -792,10 +792,10 @@ The local entries must occur before the unresolved entries.</p></td>
 </tr>
 <tr>
 <td class="struct_member_name"><p><span class="type">guint32</span> <em class="structfield"><code><a name="Header.dependencies"></a>dependencies</code></em>;</p></td>
-<td class="struct_member_description"><p>Offset of a single string, which is the list of dependencies,
-separated by the '|' character.  The dependencies are required in order
-to avoid having programs consuming a typelib check for an "Unresolved"
-type return from every API call.</p></td>
+<td class="struct_member_description"><p>Offset of a single string, which is the list of immediate
+dependencies, separated by the '|' character.  The dependencies are
+required in order to avoid having programs consuming a typelib check for
+an "Unresolved" type return from every API call.</p></td>
 <td class="struct_member_annotations"> </td>
 </tr>
 <tr>
@@ -1123,7 +1123,7 @@ looked up by name.</p></td>
 </div>
 <hr>
 <div class="refsect2">
-<a name="SimpleTypeBlob"></a><h3>union SimpleTypeBlob</h3>
+<a name="SimpleTypeBlob"></a><h3>SimpleTypeBlob</h3>
 <p>The SimpleTypeBlob is the general purpose "reference to a type" construct,
 used in method parameters, returns, callback definitions, fields, constants,
 etc. It's actually just a 32 bit integer which you can see from the union
@@ -1297,7 +1297,7 @@ with the callback, or -1.</p></td>
 <td class="struct_member_annotations"> </td>
 </tr>
 <tr>
-<td class="struct_member_name"><p><a class="link" href="gi-GITypelib.html#SimpleTypeBlob" title="union SimpleTypeBlob"><span class="type">SimpleTypeBlob</span></a> <em class="structfield"><code><a name="ArgBlob.arg-type"></a>arg_type</code></em>;</p></td>
+<td class="struct_member_name"><p><a class="link" href="gi-GITypelib.html#SimpleTypeBlob" title="SimpleTypeBlob"><span class="type">SimpleTypeBlob</span></a> <em class="structfield"><code><a name="ArgBlob.arg-type"></a>arg_type</code></em>;</p></td>
 <td class="struct_member_description"><p>Describes the type of the parameter. See details below.</p></td>
 <td class="struct_member_annotations"> </td>
 </tr>
@@ -1334,7 +1334,7 @@ with the callback, or -1.</p></td>
 </colgroup>
 <tbody>
 <tr>
-<td class="struct_member_name"><p><a class="link" href="gi-GITypelib.html#SimpleTypeBlob" title="union SimpleTypeBlob"><span class="type">SimpleTypeBlob</span></a> <em class="structfield"><code><a name="SignatureBlob.return-type"></a>return_type</code></em>;</p></td>
+<td class="struct_member_name"><p><a class="link" href="gi-GITypelib.html#SimpleTypeBlob" title="SimpleTypeBlob"><span class="type">SimpleTypeBlob</span></a> <em class="structfield"><code><a name="SignatureBlob.return-type"></a>return_type</code></em>;</p></td>
 <td class="struct_member_description"><p>Describes the type of the return value. See details below.</p></td>
 <td class="struct_member_annotations"> </td>
 </tr>
@@ -1765,7 +1765,7 @@ size are implicit in the structure.</p></td>
 <td class="struct_member_annotations"> </td>
 </tr>
 <tr>
-<td class="struct_member_name"><p><a class="link" href="gi-GITypelib.html#SimpleTypeBlob" title="union SimpleTypeBlob"><span class="type">SimpleTypeBlob</span></a> <em class="structfield"><code><a name="ArrayTypeBlob.type"></a>type</code></em>;</p></td>
+<td class="struct_member_name"><p><a class="link" href="gi-GITypelib.html#SimpleTypeBlob" title="SimpleTypeBlob"><span class="type">SimpleTypeBlob</span></a> <em class="structfield"><code><a name="ArrayTypeBlob.type"></a>type</code></em>;</p></td>
 <td class="struct_member_description"><p>TODO</p></td>
 <td class="struct_member_annotations"> </td>
 </tr>
@@ -1823,7 +1823,7 @@ size are implicit in the structure.</p></td>
 <td class="struct_member_annotations"> </td>
 </tr>
 <tr>
-<td class="struct_member_name"><p><a class="link" href="gi-GITypelib.html#SimpleTypeBlob" title="union SimpleTypeBlob"><span class="type">SimpleTypeBlob</span></a> <em class="structfield"><code><a name="ParamTypeBlob.type"></a>type</code></em>[];</p></td>
+<td class="struct_member_name"><p><a class="link" href="gi-GITypelib.html#SimpleTypeBlob" title="SimpleTypeBlob"><span class="type">SimpleTypeBlob</span></a> <em class="structfield"><code><a name="ParamTypeBlob.type"></a>type</code></em>[];</p></td>
 <td class="struct_member_description"><p>Describes the type of the list elements.</p></td>
 <td class="struct_member_annotations"> </td>
 </tr>
@@ -2011,7 +2011,7 @@ indicates that the struct offset is unknown.</p></td>
 <td class="struct_member_annotations"> </td>
 </tr>
 <tr>
-<td class="struct_member_name"><p><a class="link" href="gi-GITypelib.html#SimpleTypeBlob" title="union SimpleTypeBlob"><span class="type">SimpleTypeBlob</span></a> <em class="structfield"><code><a name="FieldBlob.type"></a>type</code></em>;</p></td>
+<td class="struct_member_name"><p><a class="link" href="gi-GITypelib.html#SimpleTypeBlob" title="SimpleTypeBlob"><span class="type">SimpleTypeBlob</span></a> <em class="structfield"><code><a name="FieldBlob.type"></a>type</code></em>;</p></td>
 <td class="struct_member_description"><p>The type of the field.</p></td>
 <td class="struct_member_annotations"> </td>
 </tr>
@@ -2316,7 +2316,7 @@ indicates that the discriminator offset is unknown.</p></td>
 <td class="struct_member_annotations"> </td>
 </tr>
 <tr>
-<td class="struct_member_name"><p><a class="link" href="gi-GITypelib.html#SimpleTypeBlob" title="union SimpleTypeBlob"><span class="type">SimpleTypeBlob</span></a> <em class="structfield"><code><a name="UnionBlob.discriminator-type"></a>discriminator_type</code></em>;</p></td>
+<td class="struct_member_name"><p><a class="link" href="gi-GITypelib.html#SimpleTypeBlob" title="SimpleTypeBlob"><span class="type">SimpleTypeBlob</span></a> <em class="structfield"><code><a name="UnionBlob.discriminator-type"></a>discriminator_type</code></em>;</p></td>
 <td class="struct_member_description"><p>Type of the discriminator</p></td>
 <td class="struct_member_annotations"> </td>
 </tr>
@@ -2509,7 +2509,7 @@ things.</p></td>
 <td class="struct_member_annotations"> </td>
 </tr>
 <tr>
-<td class="struct_member_name"><p><a class="link" href="gi-GITypelib.html#SimpleTypeBlob" title="union SimpleTypeBlob"><span class="type">SimpleTypeBlob</span></a> <em class="structfield"><code><a name="PropertyBlob.type"></a>type</code></em>;</p></td>
+<td class="struct_member_name"><p><a class="link" href="gi-GITypelib.html#SimpleTypeBlob" title="SimpleTypeBlob"><span class="type">SimpleTypeBlob</span></a> <em class="structfield"><code><a name="PropertyBlob.type"></a>type</code></em>;</p></td>
 <td class="struct_member_description"><p>Describes the type of the property.</p></td>
 <td class="struct_member_annotations"> </td>
 </tr>
@@ -3106,7 +3106,7 @@ interfaces.</p></td>
 <td class="struct_member_annotations"> </td>
 </tr>
 <tr>
-<td class="struct_member_name"><p><a class="link" href="gi-GITypelib.html#SimpleTypeBlob" title="union SimpleTypeBlob"><span class="type">SimpleTypeBlob</span></a> <em class="structfield"><code><a name="ConstantBlob.type"></a>type</code></em>;</p></td>
+<td class="struct_member_name"><p><a class="link" href="gi-GITypelib.html#SimpleTypeBlob" title="SimpleTypeBlob"><span class="type">SimpleTypeBlob</span></a> <em class="structfield"><code><a name="ConstantBlob.type"></a>type</code></em>;</p></td>
 <td class="struct_member_description"><p>The type of the value. In most cases this should be a numeric type
 or string.</p></td>
 <td class="struct_member_annotations"> </td>
index a5ceffb..427f8a0 100644 (file)
@@ -290,11 +290,11 @@ is the implementation for <em class="parameter"><code>info</code></em>
 <pre class="programlisting"><span class="returnvalue">gboolean</span>
 g_vfunc_info_invoke (<em class="parameter"><code><a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="type">GIVFuncInfo</span></a> *info</code></em>,
                      <em class="parameter"><code><span class="type">GType</span> implementor</code></em>,
-                     <em class="parameter"><code>const <a class="link" href="gi-common-types.html#GIArgument" title="union GIArgument"><span class="type">GIArgument</span></a> *in_args</code></em>,
+                     <em class="parameter"><code>const <a class="link" href="gi-common-types.html#GIArgument" title="GIArgument"><span class="type">GIArgument</span></a> *in_args</code></em>,
                      <em class="parameter"><code><span class="type">int</span> n_in_args</code></em>,
-                     <em class="parameter"><code>const <a class="link" href="gi-common-types.html#GIArgument" title="union GIArgument"><span class="type">GIArgument</span></a> *out_args</code></em>,
+                     <em class="parameter"><code>const <a class="link" href="gi-common-types.html#GIArgument" title="GIArgument"><span class="type">GIArgument</span></a> *out_args</code></em>,
                      <em class="parameter"><code><span class="type">int</span> n_out_args</code></em>,
-                     <em class="parameter"><code><a class="link" href="gi-common-types.html#GIArgument" title="union GIArgument"><span class="type">GIArgument</span></a> *return_value</code></em>,
+                     <em class="parameter"><code><a class="link" href="gi-common-types.html#GIArgument" title="GIArgument"><span class="type">GIArgument</span></a> *return_value</code></em>,
                      <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
 <p>Invokes the function described in <em class="parameter"><code>info</code></em>
  with the given
@@ -321,7 +321,7 @@ argument lists.</p>
 </tr>
 <tr>
 <td class="parameter_name"><p>in_args</p></td>
-<td class="parameter_description"><p>an array of <a class="link" href="gi-common-types.html#GIArgument" title="union GIArgument"><span class="type">GIArgument</span></a>s, one for each in
+<td class="parameter_description"><p>an array of <a class="link" href="gi-common-types.html#GIArgument" title="GIArgument"><span class="type">GIArgument</span></a>s, one for each in
 parameter of <em class="parameter"><code>info</code></em>
 . If there are no in parameter, <em class="parameter"><code>in_args</code></em>
 can be <code class="literal">NULL</code></p></td>
@@ -335,7 +335,7 @@ array</p></td>
 </tr>
 <tr>
 <td class="parameter_name"><p>out_args</p></td>
-<td class="parameter_description"><p>an array of <a class="link" href="gi-common-types.html#GIArgument" title="union GIArgument"><span class="type">GIArgument</span></a>s, one for each out
+<td class="parameter_description"><p>an array of <a class="link" href="gi-common-types.html#GIArgument" title="GIArgument"><span class="type">GIArgument</span></a>s, one for each out
 parameter of <em class="parameter"><code>info</code></em>
 . If there are no out parameters, <em class="parameter"><code>out_args</code></em>
 may be <code class="literal">NULL</code></p></td>
index 8f71dc0..4be4487 100644 (file)
@@ -61,8 +61,8 @@
 </colgroup>
 <tbody>
 <tr>
-<td class="datatype_keyword">union</td>
-<td class="function_name"><a class="link" href="gi-common-types.html#GIArgument" title="union GIArgument">GIArgument</a></td>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="gi-common-types.html#GIArgument" title="GIArgument">GIArgument</a></td>
 </tr>
 <tr>
 <td class="datatype_keyword"> </td>
 <div class="refsect1">
 <a name="gi-common-types.other_details"></a><h2>Types and Values</h2>
 <div class="refsect2">
-<a name="GIArgument"></a><h3>union GIArgument</h3>
+<a name="GIArgument"></a><h3>GIArgument</h3>
 <p>Stores an argument of varying type</p>
 <div class="refsect3">
 <a name="id-1.4.2.4.7.2.4"></a><h4>Members</h4>
index e46809d..6a23910 100644 (file)
@@ -29,7 +29,9 @@
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
 <p>
-    This chapter describes the GIR XML markup format.
+    This chapter describes the GIR XML markup format. This describes exported C
+    API, including documentation. It may contain installation-specific data,
+    such as library filenames which may differ between platforms.
   </p>
 <div class="refsect2">
 <a name="gi-gir-api-node"></a><h3>
index ec56cfc..a039c25 100644 (file)
@@ -251,7 +251,7 @@ g_type_info_get_ffi_type (<em class="parameter"><code><a class="link" href="gi-G
 <pre class="programlisting"><span class="returnvalue">void</span>
 gi_type_info_extract_ffi_return_value (<em class="parameter"><code><a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a> *return_info</code></em>,
                                        <em class="parameter"><code><a class="link" href="gi-girffi.html#GIFFIReturnValue" title="GIFFIReturnValue"><span class="type">GIFFIReturnValue</span></a> *ffi_value</code></em>,
-                                       <em class="parameter"><code><a class="link" href="gi-common-types.html#GIArgument" title="union GIArgument"><span class="type">GIArgument</span></a> *arg</code></em>);</pre>
+                                       <em class="parameter"><code><a class="link" href="gi-common-types.html#GIArgument" title="GIArgument"><span class="type">GIArgument</span></a> *arg</code></em>);</pre>
 <p>Extract the correct bits from an ffi_arg return value into
 GIArgument: https://bugzilla.gnome.org/show_bug.cgi?id=665152</p>
 <p>Also see <span class="citerefentry"><span class="refentrytitle">ffi_call</span>(3)</span></p>
index b5e5f56..4752418 100644 (file)
@@ -51,6 +51,7 @@
   <functions>
     <keyword type="function" name="g_irepository_get_default ()" link="GIRepository.html#g-irepository-get-default"/>
     <keyword type="function" name="g_irepository_get_dependencies ()" link="GIRepository.html#g-irepository-get-dependencies"/>
+    <keyword type="function" name="g_irepository_get_immediate_dependencies ()" link="GIRepository.html#g-irepository-get-immediate-dependencies" since="1.44"/>
     <keyword type="function" name="g_irepository_get_loaded_namespaces ()" link="GIRepository.html#g-irepository-get-loaded-namespaces"/>
     <keyword type="function" name="g_irepository_get_n_infos ()" link="GIRepository.html#g-irepository-get-n-infos"/>
     <keyword type="function" name="g_irepository_get_info ()" link="GIRepository.html#g-irepository-get-info"/>
@@ -78,7 +79,7 @@
     <keyword type="enum" name="enum GIRepositoryError" link="GIRepository.html#GIRepositoryError"/>
     <keyword type="macro" name="GI_TYPE_TAG_N_TYPES" link="gi-common-types.html#GI-TYPE-TAG-N-TYPES:CAPS"/>
     <keyword type="macro" name="G_TYPE_TAG_IS_BASIC()" link="gi-common-types.html#G-TYPE-TAG-IS-BASIC:CAPS"/>
-    <keyword type="union" name="union GIArgument" link="gi-common-types.html#GIArgument"/>
+    <keyword type="union" name="GIArgument" link="gi-common-types.html#GIArgument"/>
     <keyword type="struct" name="GIUnresolvedInfo" link="gi-common-types.html#GIUnresolvedInfo"/>
     <keyword type="enum" name="enum GITypeTag" link="gi-common-types.html#GITypeTag"/>
     <keyword type="enum" name="enum GIArrayType" link="gi-common-types.html#GIArrayType"/>
     <keyword type="struct" name="Section" link="gi-GITypelib.html#Section"/>
     <keyword type="struct" name="DirEntry" link="gi-GITypelib.html#DirEntry"/>
     <keyword type="struct" name="SimpleTypeBlobFlags" link="gi-GITypelib.html#SimpleTypeBlobFlags"/>
-    <keyword type="union" name="union SimpleTypeBlob" link="gi-GITypelib.html#SimpleTypeBlob"/>
+    <keyword type="union" name="SimpleTypeBlob" link="gi-GITypelib.html#SimpleTypeBlob"/>
     <keyword type="struct" name="ArgBlob" link="gi-GITypelib.html#ArgBlob"/>
     <keyword type="struct" name="SignatureBlob" link="gi-GITypelib.html#SignatureBlob"/>
     <keyword type="struct" name="CommonBlob" link="gi-GITypelib.html#CommonBlob"/>
index 14ff841..9061906 100644 (file)
@@ -15,7 +15,7 @@
 <div>
 <div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">GObject Introspection Reference Manual</p></th></tr></table></div>
 <div><p class="releaseinfo">
-      This document is for GObject Introspection version 1.43.3
+      This document is for GObject Introspection version 1.43.92
 .
       The latest version of this documentation can be found on-line at
       <a class="ulink" href="http://developer.gnome.org/gi/unstable/" target="_top">http://developer.gnome.org/gi/unstable/</a>.
index 966a504..a6a8251 100644 (file)
@@ -12,6 +12,7 @@
 <ANCHOR id="GIRepository.functions_details" href="gi/GIRepository.html#GIRepository.functions_details">
 <ANCHOR id="g-irepository-get-default" href="gi/GIRepository.html#g-irepository-get-default">
 <ANCHOR id="g-irepository-get-dependencies" href="gi/GIRepository.html#g-irepository-get-dependencies">
+<ANCHOR id="g-irepository-get-immediate-dependencies" href="gi/GIRepository.html#g-irepository-get-immediate-dependencies">
 <ANCHOR id="g-irepository-get-loaded-namespaces" href="gi/GIRepository.html#g-irepository-get-loaded-namespaces">
 <ANCHOR id="g-irepository-get-n-infos" href="gi/GIRepository.html#g-irepository-get-n-infos">
 <ANCHOR id="g-irepository-get-info" href="gi/GIRepository.html#g-irepository-get-info">
 <ANCHOR id="gi-gir-function" href="gi/gi-gir-reference.html#gi-gir-function">
 <ANCHOR id="annotation-glossterm-allow-none" href="gi/annotation-glossary.html#annotation-glossterm-allow-none">
 <ANCHOR id="annotation-glossterm-element-type" href="gi/annotation-glossary.html#annotation-glossterm-element-type">
+<ANCHOR id="annotation-glossterm-nullable" href="gi/annotation-glossary.html#annotation-glossterm-nullable">
 <ANCHOR id="annotation-glossterm-out" href="gi/annotation-glossary.html#annotation-glossterm-out">
 <ANCHOR id="annotation-glossterm-out caller-allocates" href="gi/annotation-glossary.html#annotation-glossterm-out caller-allocates">
 <ANCHOR id="annotation-glossterm-Stable" href="gi/annotation-glossary.html#annotation-glossterm-Stable">
index b462616..93e376b 100644 (file)
@@ -3,6 +3,14 @@
 /************************************************************/
 
 /**
+ * GAction:
+ *
+ * #GAction is an opaque data structure and can only be accessed
+ * using the following functions.
+ */
+
+
+/**
  * GAction:enabled:
  *
  * If @action is currently enabled.
 
 
 /**
+ * GActionGroup:
+ *
+ * #GActionGroup is an opaque data structure and can only be accessed
+ * using the following functions.
+ */
+
+
+/**
  * GActionGroup::action-added:
  * @action_group: the #GActionGroup that changed
  * @action_name: the name of the action in @action_group
 
 
 /**
+ * GActionMap:
+ *
+ * #GActionMap is an opaque data structure and can only be accessed
+ * using the following functions.
+ */
+
+
+/**
  * GActionMapInterface:
  * @lookup_action: the virtual function pointer for g_action_map_lookup_action()
  * @add_action: the virtual function pointer for g_action_map_add_action()
 
 
 /**
+ * GAppInfoMonitor::changed:
+ *
+ * Signal emitted when the app info database for changes (ie: newly installed
+ * or removed applications).
+ */
+
+
+/**
+ * GAppLaunchContext::launch-failed:
+ * @context: the object emitting the signal
+ * @startup_notify_id: the startup notification id for the failed launch
+ *
+ * The ::launch-failed signal is emitted when a #GAppInfo launch
+ * fails. The startup notification id is provided, so that the launcher
+ * can cancel the startup notification.
+ *
+ * Since: 2.36
+ */
+
+
+/**
+ * GAppLaunchContext::launched:
+ * @context: the object emitting the signal
+ * @info: the #GAppInfo that was just launched
+ * @platform_data: additional platform-specific data for this launch
+ *
+ * The ::launched signal is emitted when a #GAppInfo is successfully
+ * launched. The @platform_data is an GVariant dictionary mapping
+ * strings to variants (ie a{sv}), which contains additional,
+ * platform-specific data about this launch. On UNIX, at least the
+ * "pid" and "startup-notification-id" keys will be present.
+ *
+ * Since: 2.36
+ */
+
+
+/**
+ * GApplication:
+ *
+ * #GApplication is an opaque data structure and can only be accessed
+ * using the following functions.
+ *
+ * Since: 2.28
+ */
+
+
+/**
  * GApplication::activate:
  * @application: the application
  *
 
 
 /**
+ * GApplication:is-busy:
+ *
+ * Whether the application is currently marked as busy through
+ * g_application_mark_busy() or g_application_bind_busy_property().
+ *
+ * Since: 2.44
+ */
+
+
+/**
  * GApplicationClass:
  * @startup: invoked on the primary instance immediately after registration
  * @shutdown: invoked only on the registered primary instance immediately
  * @dbus_unregister: invoked locally during unregistration, if the application
  *     is using its D-Bus backend. Use this to undo anything done by the
  *     @dbus_register vfunc. Since: 2.34
+ * @handle_local_options: invoked locally after the parsing of the commandline
+ *  options has occurred.
  *
  * Virtual function table for #GApplication.
  *
 
 
 /**
+ * GApplicationCommandLine:
+ *
+ * #GApplicationCommandLine is an opaque data structure and can only be accessed
+ * using the following functions.
+ */
+
+
+/**
  * GApplicationCommandLineClass:
  *
  * The #GApplicationCommandLineClass-struct
 
 
 /**
+ * GDBusActionGroup:
+ *
+ * #GDBusActionGroup is an opaque data structure and can only be accessed
+ * using the following functions.
+ */
+
+
+/**
  * GDBusAuthMechanism:credentials:
  *
  * If authenticating as a server, this property contains the
 
 
 /**
+ * GDBusMenuModel:
+ *
+ * #GDBusMenuModel is an opaque data structure and can only be accessed
+ * using the following functions.
+ */
+
+
+/**
  * GDBusMessage:
  *
  * The #GDBusMessage structure contains only private data and should
 
 
 /**
+ * GDBusObject:
+ *
+ * #GDBusObject is an opaque data structure and can only be accessed
+ * using the following functions.
+ */
+
+
+/**
  * GDBusObject::interface-added:
  * @object: The #GDBusObject emitting the signal.
  * @interface: The #GDBusInterface that was added.
 
 
 /**
+ * GDBusObjectManager:
+ *
+ * #GDBusObjectManager is an opaque data structure and can only be accessed
+ * using the following functions.
+ */
+
+
+/**
  * GDBusObjectManager::interface-added:
  * @manager: The #GDBusObjectManager emitting the signal.
  * @object: The #GDBusObject on which an interface was added.
 
 
 /**
+ * GDesktopAppInfoLookup:
+ *
+ * #GDesktopAppInfoLookup is an opaque data structure and can only be accessed
+ * using the following functions.
+ */
+
+
+/**
  * GDrive::changed:
  * @drive: a #GDrive.
  *
 
 
 /**
+ * GIOExtension:
+ *
+ * #GIOExtension is an opaque data structure and can only be accessed
+ * using the following functions.
+ */
+
+
+/**
+ * GIOExtensionPoint:
+ *
+ * #GIOExtensionPoint is an opaque data structure and can only be accessed
+ * using the following functions.
+ */
+
+
+/**
  * GIOModuleScope:
  *
  * Represents a scope for loading IO modules. A scope can be used for blocking
 
 
 /**
+ * GListModel:
+ *
+ * #GListModel is an opaque data structure and can only be accessed
+ * using the following functions.
+ */
+
+
+/**
+ * GListModel::items-changed:
+ * @list: the #GListModel that changed
+ * @position: the position at which @list changed
+ * @removed: the number of items removed
+ * @added: the number of items added
+ *
+ * This signal is emitted whenever items were added or removed to
+ * @list. At @position, @removed items were removed and @added items
+ * were added in their place.
+ *
+ * Since: 2.44
+ */
+
+
+/**
+ * GListModelInterface:
+ * @g_iface: parent #GTypeInterface
+ * @get_item_type: the virtual function pointer for g_list_model_get_item_type()
+ * @get_n_items: the virtual function pointer for g_list_model_get_n_items()
+ * @get_item: the virtual function pointer for g_list_model_get_item()
+ *
+ * The virtual function table for #GListModel.
+ *
+ * Since: 2.44
+ */
+
+
+/**
+ * GListStore:
+ *
+ * #GListStore is an opaque data structure and can only be accessed
+ * using the following functions.
+ */
+
+
+/**
+ * GListStore:item-type:
+ *
+ * The type of items contained in this list store. Items must be
+ * subclasses of #GObject.
+ *
+ * Since: 2.44
+ */
+
+
+/**
  * GMemoryOutputStream:data:
  *
  * Pointer to buffer where data will be written.
 
 
 /**
+ * GNetworkMonitorInterface:
+ * @g_iface: The parent interface.
+ * @network_changed: the virtual function pointer for the
+ *  GNetworkMonitor::network-changed signal.
+ * @can_reach: the virtual function pointer for g_network_monitor_can_reach()
+ * @can_reach_async: the virtual function pointer for
+ *  g_network_monitor_can_reach_async()
+ * @can_reach_finish: the virtual function pointer for
+ *  g_network_monitor_can_reach_finish()
+ *
+ * The virtual function table for #GNetworkMonitor.
+ *
+ * Since: 2.32
+ */
+
+
+/**
  * GNetworkService:
  *
  * A #GSocketConnectable for resolving a SRV record and connecting to
 
 
 /**
+ * GProxyAddressClass:
+ *
+ * Class structure for #GProxyAddress.
+ *
+ * Since: 2.26
+ */
+
+
+/**
  * GProxyAddressEnumerator:default-port:
  *
  * The default port to use if #GProxyAddressEnumerator:uri does not
 
 
 /**
+ * GProxyResolverInterface:
+ * @g_iface: The parent interface.
+ * @is_supported: the virtual function pointer for g_proxy_resolver_is_supported()
+ * @lookup: the virtual function pointer for g_proxy_resolver_lookup()
+ * @lookup_async: the virtual function pointer for
+ *  g_proxy_resolver_lookup_async()
+ * @lookup_finish: the virtual function pointer for
+ *  g_proxy_resolver_lookup_finish()
+ *
+ * The virtual function table for #GProxyResolver.
+ */
+
+
+/**
+ * GRemoteActionGroup:
+ *
+ * #GRemoteActionGroup is an opaque data structure and can only be accessed
+ * using the following functions.
+ */
+
+
+/**
  * GRemoteActionGroupInterface:
  * @activate_action_full: the virtual function pointer for g_remote_action_group_activate_action_full()
  * @change_action_state_full: the virtual function pointer for g_remote_action_group_change_action_state_full()
 
 
 /**
+ * GSettings:
+ *
+ * #GSettings is an opaque data structure and can only be accessed
+ * using the following functions.
+ */
+
+
+/**
  * GSettings::change-event:
  * @settings: the object on which the signal was emitted
  * @keys: (array length=n_keys) (element-type GQuark) (allow-none):
 
 
 /**
+ * GSettingsSchemaKey:
+ *
+ * #GSettingsSchemaKey is an opaque data structure and can only be accessed
+ * using the following functions.
+ */
+
+
+/**
  * GSettingsSchemaSource:
  *
  * This is an opaque structure type.  You may not access it directly.
 
 
 /**
+ * GSimpleAction:
+ *
+ * #GSimpleAction is an opaque data structure and can only be accessed
+ * using the following functions.
+ */
+
+
+/**
  * GSimpleAction::activate:
  * @simple: the #GSimpleAction
  * @parameter: (allow-none): the parameter to the activation
 
 
 /**
+ * GSimpleIOStream:
+ *
+ * A wrapper around a #GInputStream and a #GOutputStream.
+ *
+ * Since: 2.44
+ */
+
+
+/**
+ * GSimpleIOStream:input-stream:
+ *
+ * Since: 2.44
+ */
+
+
+/**
+ * GSimpleIOStream:output-stream:
+ *
+ * Since: 2.44
+ */
+
+
+/**
  * GSimplePermission:
  *
  * #GSimplePermission is an opaque data structure.  There are no methods
 
 
 /**
+ * GStaticResource:
+ *
+ * #GStaticResource is an opaque data structure and can only be accessed
+ * using the following functions.
+ */
+
+
+/**
  * GTask:
  *
  * The opaque object representing a synchronous or asynchronous task
 
 
 /**
+ * GTask:completed:
+ *
+ * Whether the task has completed, meaning its callback (if set) has been
+ * invoked. This can only happen after g_task_return_pointer(),
+ * g_task_return_error() or one of the other return functions have been called
+ * on the task.
+ *
+ * This property is guaranteed to change from %FALSE to %TRUE exactly once.
+ *
+ * The #GObject::notify signal for this change is emitted in the same main
+ * context as the task’s callback, immediately after that callback is invoked.
+ *
+ * Since: 2.44
+ */
+
+
+/**
  * GTaskThreadFunc:
  * @task: the #GTask
  * @source_object: (type GObject): @task's source object
 
 
 /**
+ * GTcpWrapperConnection:
+ *
+ * #GTcpWrapperConnection is an opaque data structure and can only be accessed
+ * using the following functions.
+ */
+
+
+/**
  * GTestDBus:
  *
  * The #GTestDBus structure contains only private data and
 
 
 /**
+ * GUnixConnection:
+ *
+ * #GUnixConnection is an opaque data structure and can only be accessed
+ * using the following functions.
+ */
+
+
+/**
  * GUnixCredentialsMessage:credentials:
  *
  * The credentials stored in the message.
 
 
 /**
+ * GUnixFDList:
+ *
+ * #GUnixFDList is an opaque data structure and can only be accessed
+ * using the following functions.
+ */
+
+
+/**
+ * GUnixFDMessage:
+ *
+ * #GUnixFDMessage is an opaque data structure and can only be accessed
+ * using the following functions.
+ */
+
+
+/**
  * GUnixInputStream:close-fd:
  *
  * Whether to close the file descriptor when the stream is closed.
  * the operation, producing a GAsyncResult which is then passed to the
  * function's matching _finish() operation.
  *
- * Some #GFile operations do not have synchronous analogs, as they may
- * take a very long time to finish, and blocking may leave an application
- * unusable. Notable cases include:
+ * It is highly recommended to use asynchronous calls when running within a
+ * shared main loop, such as in the main thread of an application. This avoids
+ * I/O operations blocking other sources on the main loop from being dispatched.
+ * Synchronous I/O operations should be performed from worker threads. See the
+ * [introduction to asynchronous programming section][async-programming] for
+ * more.
+ *
+ * Some #GFile operations almost always take a noticeable amount of time, and
+ * so do not have synchronous analogs. Notable cases include:
  * - g_file_mount_mountable() to mount a mountable file.
  * - g_file_unmount_mountable_with_operation() to unmount a mountable file.
  * - g_file_eject_mountable_with_operation() to eject a mountable file.
 
 
 /**
+ * SECTION:glistmodel
+ * @title: GListModel
+ * @short_description: An interface describing a dynamic list of objects
+ * @include: gio/gio.h
+ * @see_also: #GListStore
+ *
+ * #GListModel is an interface that represents a mutable list of
+ * #GObjects. Its main intention is as a model for various widgets in
+ * user interfaces, such as list views, but it can also be used as a
+ * convenient method of returning lists of data, with support for
+ * updates.
+ *
+ * Each object in the list may also report changes in itself via some
+ * mechanism (normally the #GObject::notify signal).  Taken together
+ * with the #GListModel::items-changed signal, this provides for a list
+ * that can change its membership, and in which the members can change
+ * their individual properties.
+ *
+ * A good example would be the list of visible wireless network access
+ * points, where each access point can report dynamic properties such as
+ * signal strength.
+ *
+ * It is important to note that the #GListModel itself does not report
+ * changes to the individual items.  It only reports changes to the list
+ * membership.  If you want to observe changes to the objects themselves
+ * then you need to connect signals to the objects that you are
+ * interested in.
+ *
+ * All items in a #GListModel are of (or derived from) the same type.
+ * g_list_model_get_item_type() returns that type.  The type may be an
+ * interface, in which case all objects in the list must implement it.
+ *
+ * The semantics are close to that of an array:
+ * g_list_model_get_length() returns the number of items in the list and
+ * g_list_model_get_item() returns an item at a (0-based) position. In
+ * order to allow implementations to calculate the list length lazily,
+ * you can also iterate over items: starting from 0, repeatedly call
+ * g_list_model_get_item() until it returns %NULL.
+ *
+ * An implementation may create objects lazily, but must take care to
+ * return the same object for a given position until all references to
+ * it are gone.
+ *
+ * On the other side, a consumer is expected only to hold references on
+ * objects that are currently "user visible", in order to faciliate the
+ * maximum level of laziness in the implementation of the list and to
+ * reduce the required number of signal connections at a given time.
+ *
+ * This interface is intended only to be used from a single thread.  The
+ * thread in which it is appropriate to use it depends on the particular
+ * implementation, but typically it will be from the thread that owns
+ * the [thread-default main context][g-main-context-push-thread-default]
+ * in effect at the time that the model was created.
+ */
+
+
+/**
+ * SECTION:gliststore
+ * @title: GListStore
+ * @short_description: A simple implementation of #GListModel
+ * @include: gio/gio.h
+ *
+ * #GListStore is a simple implementation of #GListModel that stores all
+ * items in memory.
+ *
+ * It provides insertions, deletions, and lookups in logarithmic time
+ * with a fast path for the common case of iterating the list linearly.
+ */
+
+
+/**
  * SECTION:gloadableicon
  * @short_description: Loadable Icons
  * @include: gio/gio.h
 
 
 /**
+ * SECTION:gsimpleiostream
+ * @short_description: A wrapper around an input and an output stream.
+ * @include: gio/gio.h
+ * @see_also: #GIOStream
+ *
+ * GSimpleIOStream creates a #GIOStream from an arbitrary #GInputStream and
+ * #GOutputStream. This allows any pair of input and output streams to be used
+ * with #GIOStream methods.
+ *
+ * This is useful when you obtained a #GInputStream and a #GOutputStream
+ * by other means, for instance creating them with platform specific methods as
+ * g_unix_input_stream_new() or g_win32_input_stream_new(), and you want
+ * to take advantage of the methods provided by #GIOStream.
+ *
+ * Since: 2.44
+ */
+
+
+/**
  * SECTION:gsimplepermission
  * @title: GSimplePermission
  * @short_description: A GPermission that doesn't change value
  * @title: GTlsBackend
  * @short_description: TLS backend implementation
  * @include: gio/gio.h
+ *
+ * TLS (Transport Layer Security, aka SSL) backend
+ *
+ * Since: 2.28
  */
 
 
 
 
 /**
- * _g_win32_mount_new:
- * @volume_monitor: a #GVolumeMonitor.
- * @path: a win32 path.
- * @volume: usually NULL
- *
- * Returns: a #GWin32Mount for the given win32 path.
- */
-
-
-/**
  * g_action_activate:
  * @action: a #GAction
  * @parameter: (allow-none): the parameter to the activation
 
 
 /**
+ * g_application_bind_busy_property:
+ * @application: a #GApplication
+ * @object: (type GObject.Object): a #GObject
+ * @property: the name of a boolean property of @object
+ *
+ * Marks @application as busy (see g_application_mark_busy()) while
+ * @property on @object is %TRUE.
+ *
+ * The binding holds a reference to @application while it is active, but
+ * not to @object. Instead, the binding is destroyed when @object is
+ * finalized.
+ *
+ * Since: 2.44
+ */
+
+
+/**
  * g_application_command_line_create_file_for_arg:
  * @cmdline: a #GApplicationCommandLine
  * @arg: an argument from @cmdline
 
 
 /**
+ * g_application_get_is_busy:
+ * @application: a #GApplication
+ *
+ * Gets the application's current busy state, as set through
+ * g_application_mark_busy() or g_application_bind_busy_property().
+ *
+ * Returns: %TRUE if @application is currenty marked as busy
+ * Since: 2.44
+ */
+
+
+/**
  * g_application_get_is_registered:
  * @application: a #GApplication
  *
  * use.
  *
  * This function sets the prgname (g_set_prgname()), if not already set,
- * to the basename of argv[0].  Since 2.38, if %G_APPLICATION_IS_SERVICE
- * is specified, the prgname is set to the application ID.  The main
- * impact of this is is that the wmclass of windows created by Gtk+ will
- * be set accordingly, which helps the window manager determine which
- * application is showing the window.
+ * to the basename of argv[0].
  *
  * Since 2.40, applications that are not explicitly flagged as services
  * or launchers (ie: neither %G_APPLICATION_IS_SERVICE or
 
 
 /**
+ * g_application_unbind_busy_property:
+ * @application: a #GApplication
+ * @object: (type GObject.Object): a #GObject
+ * @property: the name of a boolean property of @object
+ *
+ * Destroys a binding between @property and the busy state of
+ * @application that was previously created with
+ * g_application_bind_busy_property().
+ *
+ * Since: 2.44
+ */
+
+
+/**
  * g_application_unmark_busy:
  * @application: a #GApplication
  *
 
 /**
  * g_cancellable_cancel:
- * @cancellable: a #GCancellable object.
+ * @cancellable: (nullable): a #GCancellable object.
  *
  * Will set @cancellable to cancelled, and will emit the
  * #GCancellable::cancelled signal. (However, see the warning about
  * it from a thread other than the one running the operation that was
  * passed the @cancellable.
  *
- * The convention within gio is that cancelling an asynchronous
+ * If @cancellable is %NULL, this function returns immediately for convenience.
+ *
+ * The convention within GIO is that cancelling an asynchronous
  * operation causes it to complete asynchronously. That is, if you
  * cancel the operation from the same thread in which it is running,
  * then the operation's #GAsyncReadyCallback will not be invoked until
 
 
 /**
+ * g_file_enumerator_iterate:
+ * @direnum: an open #GFileEnumerator
+ * @out_info: (out) (transfer none) (allow-none): Output location for the next #GFileInfo, or %NULL
+ * @out_child: (out) (transfer none) (allow-none): Output location for the next #GFile, or %NULL
+ * @cancellable: a #GCancellable
+ * @error: a #GError
+ *
+ * This is a version of g_file_enumerator_next_file() that's easier to
+ * use correctly from C programs.  With g_file_enumerator_next_file(),
+ * the gboolean return value signifies "end of iteration or error", which
+ * requires allocation of a temporary #GError.
+ *
+ * In contrast, with this function, a %FALSE return from
+ * gs_file_enumerator_iterate() *always* means
+ * "error".  End of iteration is signaled by @out_info or @out_child being %NULL.
+ *
+ * Another crucial difference is that the references for @out_info and
+ * @out_child are owned by @direnum (they are cached as hidden
+ * properties).  You must not unref them in your own code.  This makes
+ * memory management significantly easier for C code in combination
+ * with loops.
+ *
+ * Finally, this function optionally allows retrieving a #GFile as
+ * well.
+ *
+ * You must specify at least one of @out_info or @out_child.
+ *
+ * The code pattern for correctly using g_file_enumerator_iterate() from C
+ * is:
+ *
+ * |[
+ * direnum = g_file_enumerate_children (file, ...);
+ * while (TRUE)
+ *   {
+ *     GFileInfo *info;
+ *     if (!g_file_enumerator_iterate (direnum, &info, NULL, cancellable, error))
+ *       goto out;
+ *     if (!info)
+ *       break;
+ *     ... do stuff with "info"; do not unref it! ...
+ *   }
+ *
+ * out:
+ *   g_object_unref (direnum); // Note: frees the last @info
+ * ]|
+ *
+ * Since: 2.44
+ */
+
+
+/**
  * g_file_enumerator_next_file:
  * @enumerator: a #GFileEnumerator.
  * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
 
 
 /**
- * g_input_stream_async_read_is_via_threads:
- * @stream: input stream
- *
- * Checks if an input stream's read_async function uses threads.
- *
- * Returns: %TRUE if @stream's read_async function uses threads.
- */
-
-
-/**
  * g_input_stream_clear_pending:
  * @stream: input stream
  *
 
 
 /**
+ * g_list_model_get_item: (skip)
+ * @list: a #GListModel
+ * @position: the position of the item to fetch
+ *
+ * Get the item at @position. If @position is greater than the number of
+ * items in @list, %NULL is returned.
+ *
+ * %NULL is never returned for an index that is smaller than the length
+ * of the list.  See g_list_model_get_n_items().
+ *
+ * Returns: (transfer full) (nullable) (type GObject): the item at @position.
+ * Since: 2.44
+ */
+
+
+/**
+ * g_list_model_get_item_type:
+ * @list: a #GListModel
+ *
+ * Gets the type of the items in @list. All items returned from
+ * g_list_model_get_type() are of that type or a subtype, or are an
+ * implementation of that interface.
+ *
+ * The item type of a #GListModel can not change during the life of the
+ * model.
+ *
+ * Returns: the #GType of the items contained in @list.
+ * Since: 2.44
+ */
+
+
+/**
+ * g_list_model_get_n_items:
+ * @list: a #GListModel
+ *
+ * Gets the number of items in @list.
+ *
+ * Depending on the model implementation, calling this function may be
+ * less efficient than iterating the list with increasing values for
+ * @position until g_list_model_get_item() returns %NULL.
+ *
+ * Returns: the number of items in @list.
+ * Since: 2.44
+ */
+
+
+/**
+ * g_list_model_get_object: (rename-to g_list_model_get_item)
+ * @list: a #GListModel
+ * @position: the position of the item to fetch
+ *
+ * Get the item at @position. If @position is greater than the number of
+ * items in @list, %NULL is returned.
+ *
+ * %NULL is never returned for an index that is smaller than the length
+ * of the list.  See g_list_model_get_n_items().
+ *
+ * Returns: (transfer full) (nullable): the object at @position.
+ * Since: 2.44
+ */
+
+
+/**
+ * g_list_model_items_changed:
+ * @list: a #GListModel
+ * @position: the position at which @list changed
+ * @removed: the number of items removed
+ * @added: the number of items added
+ *
+ * Emits the #GListModel::items-changed signal on @list.
+ *
+ * This function should only be called by classes implementing
+ * #GListModel. It has to be called after the internal representation
+ * of @list has been updated, because handlers connected to this signal
+ * might query the new state of the list.
+ *
+ * Implementations must only make changes to the model (as visible to
+ * its consumer) in places that will not cause problems for that
+ * consumer.  For models that are driven directly by a write API (such
+ * as #GListStore), changes can be reported in response to uses of that
+ * API.  For models that represent remote data, changes should only be
+ * made from a fresh mainloop dispatch.  It is particularly not
+ * permitted to make changes in response to a call to the #GListModel
+ * consumer API.
+ *
+ * Stated another way: in general, it is assumed that code making a
+ * series of accesses to the model via the API, without returning to the
+ * mainloop, and without calling other code, will continue to view the
+ * same contents of the model.
+ *
+ * Since: 2.44
+ */
+
+
+/**
+ * g_list_store_append:
+ * @store: a #GListStore
+ * @item: the new item
+ *
+ * Appends @item to @store. @item must be of type #GListStore:item-type.
+ *
+ * This function takes a ref on @item.
+ *
+ * Use g_list_store_splice() to append multiple items at the same time
+ * efficiently.
+ *
+ * Since: 2.44
+ */
+
+
+/**
+ * g_list_store_insert:
+ * @store: a #GListStore
+ * @position: the position at which to insert the new item
+ * @item: the new item
+ *
+ * Inserts @item into @store at @position. @item must be of type
+ * #GListStore:item-type or derived from it. @position must be smaller
+ * than the length of the list, or equal to it to append.
+ *
+ * This function takes a ref on @item.
+ *
+ * Use g_list_store_splice() to insert multiple items at the same time
+ * efficiently.
+ *
+ * Since: 2.44
+ */
+
+
+/**
+ * g_list_store_insert_sorted:
+ * @store: a #GListStore
+ * @item: the new item
+ * @compare_func: pairwise comparison function for sorting
+ * @user_data: (closure): user data for @compare_func
+ *
+ * Inserts @item into @store at a position to be determined by the
+ * @compare_func.
+ *
+ * The list must already be sorted before calling this function or the
+ * result is undefined.  Usually you would approach this by only ever
+ * inserting items by way of this function.
+ *
+ * This function takes a ref on @item.
+ *
+ * Returns: the position at which @item was inserted
+ * Since: 2.44
+ */
+
+
+/**
+ * g_list_store_new:
+ * @item_type: the #GType of items in the list
+ *
+ * Creates a new #GListStore with items of type @item_type. @item_type
+ * must be a subclass of #GObject.
+ *
+ * Returns: a new #GListStore
+ * Since: 2.44
+ */
+
+
+/**
+ * g_list_store_remove:
+ * @store: a #GListStore
+ * @position: the position of the item that is to be removed
+ *
+ * Removes the item from @store that is at @position. @position must be
+ * smaller than the current length of the list.
+ *
+ * Use g_list_store_splice() to remove multiple items at the same time
+ * efficiently.
+ *
+ * Since: 2.44
+ */
+
+
+/**
+ * g_list_store_remove_all:
+ * @store: a #GListStore
+ *
+ * Removes all items from @store.
+ *
+ * Since: 2.44
+ */
+
+
+/**
+ * g_list_store_splice:
+ * @store: a #GListStore
+ * @position: the position at which to make the change
+ * @n_removals: the number of items to remove
+ * @additions: (array length=n_additions): the items to add
+ * @n_additions: the number of items to add
+ *
+ * Changes @store by removing @n_removals items and adding @n_additions
+ * items to it. @additions must contain @n_additions items of type
+ * #GListStore:item-type.  %NULL is not permitted.
+ *
+ * This function is more efficient than g_list_store_insert() and
+ * g_list_store_remove(), because it only emits
+ * #GListModel::items-changed once for the change.
+ *
+ * This function takes a ref on each item in @additions.
+ *
+ * The parameters @position and @n_removals must be correct (ie:
+ * @position + @n_removals must be less than or equal to the length of
+ * the list at the time this function is called).
+ *
+ * Since: 2.44
+ */
+
+
+/**
  * g_loadable_icon_load:
  * @icon: a #GLoadableIcon.
  * @size: an integer.
 
 
 /**
- * g_output_stream_async_write_is_via_threads:
- * @stream: a #GOutputStream.
- *
- * Checks if an ouput stream's write_async function uses threads.
- *
- * Returns: %TRUE if @stream's write_async function uses threads.
- */
-
-
-/**
  * g_output_stream_clear_pending:
  * @stream: output stream
  *
 /**
  * g_property_action_new:
  * @name: the name of the action to create
- * @object: the object that has the property to wrap
+ * @object: (type GObject.Object): the object that has the property
+ *   to wrap
  * @property_name: the name of the property
  *
  * Creates a #GAction corresponding to the value of property
 
 
 /**
- * g_resource_new_from_table:
- * @table: (transfer full): a GvdbTable
- *
- * Returns: (transfer full): a new #GResource for @table
- */
-
-
-/**
  * g_resource_open_stream:
  * @resource: A #GResource
  * @path: A pathname inside the resource
 /**
  * g_settings_list_relocatable_schemas:
  *
+ * <!-- -->
+ *
  * Returns: (element-type utf8) (transfer none): a list of relocatable
  *   #GSettings schemas that are available.  The list must not be
  *   modified or freed.
 /**
  * g_settings_list_schemas:
  *
+ * <!-- -->
+ *
  * Returns: (element-type utf8) (transfer none): a list of #GSettings
  *   schemas that are available.  The list must not be modified or
  *   freed.
  * backend, and a #GMainContext to which signals are dispatched.
  *
  * This constructor therefore gives you full control over constructing
- * #GSettings instances.  The first 4 parameters are given directly as
+ * #GSettings instances.  The first 3 parameters are given directly as
  * @schema, @backend and @path, and the main context is taken from the
  * thread-default (as per g_settings_new()).
  *
 
 
 /**
+ * g_settings_schema_key_get_name:
+ * @key: a #GSettingsSchemaKey
+ *
+ * Gets the name of @key.
+ *
+ * Returns: the name of @key.
+ * Since: 2.44
+ */
+
+
+/**
  * g_settings_schema_key_get_range:
  * @key: a #GSettingsSchemaKey
  *
 
 
 /**
+ * g_settings_schema_list_children:
+ * @schema: a #GSettingsSchema
+ *
+ * Gets the list of children in @schema.
+ *
+ * You should free the return value with g_strfreev() when you are done
+ * with it.
+ *
+ * Returns: (transfer full) (element-type utf8): a list of the children on @settings
+ * Since: 2.44
+ */
+
+
+/**
  * g_settings_schema_ref:
  * @schema: a #GSettingsSchema
  *
 
 /**
  * g_settings_unbind:
- * @object: the object
+ * @object: (type GObject.Object): the object
  * @property: the property whose binding is removed
  *
  * Removes an existing binding for @property on @object.
 
 
 /**
+ * g_simple_action_set_state_hint:
+ * @simple: a #GSimpleAction
+ * @state_hint: (allow-none): a #GVariant representing the state hint
+ *
+ * Sets the state hint for the action.
+ *
+ * See g_action_get_state_hint() for more information about
+ * action state hints.
+ *
+ * Since: 2.44
+ */
+
+
+/**
  * g_simple_async_report_error_in_idle: (skip)
  * @object: (allow-none): a #GObject, or %NULL.
  * @callback: a #GAsyncReadyCallback.
 
 
 /**
+ * g_simple_io_stream_new:
+ * @input_stream: a #GInputStream.
+ * @output_stream: a #GOutputStream.
+ *
+ * Creates a new #GSimpleIOStream wrapping @input_stream and @output_stream.
+ * See also #GIOStream.
+ *
+ * Returns: a new #GSimpleIOStream instance.
+ * Since: 2.44
+ */
+
+
+/**
  * g_simple_permission_new:
  * @allowed: %TRUE if the action is allowed
  *
 
 
 /**
+ * g_task_get_completed:
+ * @task: a #GTask.
+ *
+ * Gets the value of #GTask:completed. This changes from %FALSE to %TRUE after
+ * the task’s callback is invoked, and will return %FALSE if called from inside
+ * the callback.
+ *
+ * Returns: %TRUE if the task has completed, %FALSE otherwise.
+ * Since: 2.44
+ */
+
+
+/**
  * g_task_get_context:
  * @task: a #GTask
  *
  * Normally this is used with tasks created with a %NULL
  * `callback`, but note that even if the task does
  * have a callback, it will not be invoked when @task_func returns.
+ * #GTask:completed will be set to %TRUE just before this function returns.
  *
  * Since: 2.36
  */
 
 
 /**
+ * g_unix_mount_monitor_get:
+ *
+ * Gets the #GUnixMountMonitor for the current thread-default main
+ * context.
+ *
+ * The mount monitor can be used to monitor for changes to the list of
+ * mounted filesystems as well as the list of mount points (ie: fstab
+ * entries).
+ *
+ * You must only call g_object_unref() on the return value from under
+ * the same main context as you called this function.
+ *
+ * Returns: (transfer full): the #GUnixMountMonitor.
+ * Since: 2.44
+ */
+
+
+/**
  * g_unix_mount_monitor_new:
  *
- * Gets a new #GUnixMountMonitor. The default rate limit for which the
- * monitor will report consecutive changes for the mount and mount
- * point entry files is the default for a #GFileMonitor. Use
- * g_unix_mount_monitor_set_rate_limit() to change this.
+ * Deprecated alias for g_unix_mount_monitor_get().
+ *
+ * This function was never a true constructor, which is why it was
+ * renamed.
  *
  * Returns: a #GUnixMountMonitor.
+ * Deprecated: 2.44: Use g_unix_mount_monitor_get() instead.
  */
 
 
  * @limit_msec: a integer with the limit in milliseconds to
  *     poll for changes.
  *
- * Sets the rate limit to which the @mount_monitor will report
- * consecutive change events to the mount and mount point entry files.
+ * This function does nothing.
+ *
+ * Before 2.44, this was a partially-effective way of controlling the
+ * rate at which events would be reported under some uncommon
+ * circumstances.  Since @mount_monitor is a singleton, it also meant
+ * that calling this function would have side effects for other users of
+ * the monitor.
  *
  * Since: 2.18
+ * Deprecated: 2.44: This function does nothing.  Don't call it.
  */
 
 
index d2d0e45..ef98e45 100644 (file)
 
 
 /**
+ * G_DEFINE_AUTOPTR_CLEANUP_FUNC:
+ * @TypeName: a type name to define a g_autoptr() cleanup function for
+ * @func: the cleanup function
+ *
+ * Defines the appropriate cleanup function for a pointer type.
+ *
+ * The function will not be called if the variable to be cleaned up
+ * contains %NULL.
+ *
+ * This will typically be the _free() or _unref() function for the given
+ * type.
+ *
+ * With this definition, it will be possible to use g_autoptr() with
+ * @TypeName.
+ *
+ * |[
+ * G_DEFINE_AUTOPTR_CLEANUP_FUNC(GObject, g_object_unref)
+ * ]|
+ *
+ * This macro should be used unconditionally; it is a no-op on compilers
+ * where cleanup is not supported.
+ *
+ * Since: 2.44
+ */
+
+
+/**
+ * G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC:
+ * @TypeName: a type name to define a g_auto() cleanup function for
+ * @func: the clear function
+ *
+ * Defines the appropriate cleanup function for a type.
+ *
+ * This will typically be the _clear() function for the given type.
+ *
+ * With this definition, it will be possible to use g_auto() with
+ * @TypeName.
+ *
+ * |[
+ * G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC(GQueue, g_queue_clear)
+ * ]|
+ *
+ * This macro should be used unconditionally; it is a no-op on compilers
+ * where cleanup is not supported.
+ *
+ * Since: 2.44
+ */
+
+
+/**
+ * G_DEFINE_AUTO_CLEANUP_FREE_FUNC:
+ * @TypeName: a type name to define a g_auto() cleanup function for
+ * @func: the free function
+ * @none: the "none" value for the type
+ *
+ * Defines the appropriate cleanup function for a type.
+ *
+ * With this definition, it will be possible to use g_auto() with
+ * @TypeName.
+ *
+ * This function will be rarely used.  It is used with pointer-based
+ * typedefs and non-pointer types where the value of the variable
+ * represents a resource that must be freed.  Two examples are #GStrv
+ * and file descriptors.
+ *
+ * @none specifies the "none" value for the type in question.  It is
+ * probably something like %NULL or -1.  If the variable is found to
+ * contain this value then the free function will not be called.
+ *
+ * |[
+ * G_DEFINE_AUTO_CLEANUP_FREE_FUNC(GStrv, g_strfreev, NULL)
+ * ]|
+ *
+ * This macro should be used unconditionally; it is a no-op on compilers
+ * where cleanup is not supported.
+ *
+ * Since: 2.44
+ */
+
+
+/**
  * G_DEFINE_QUARK:
  * @QN: the name to return a #GQuark for
  * @q_n: prefix for the function name
  * functions in GLib and GTK+ do not use the #GError facility.
  *
  * Functions that can fail take a return location for a #GError as their
- * last argument. For example:
+ * last argument. On error, a new #GError instance will be allocated and
+ * returned to the caller via this argument. For example:
  * |[<!-- language="C" -->
  * gboolean g_file_get_contents (const gchar  *filename,
  *                               gchar       **contents,
  * ]|
  *
  * If the sub-function does not indicate errors other than by
- * reporting a #GError, you need to create a temporary #GError
+ * reporting a #GError (or if its return value does not reliably indicate
+ * errors) you need to create a temporary #GError
  * since the passed-in one may be %NULL. g_propagate_error() is
  * intended for use in this case.
  * |[<!-- language="C" -->
  * the string back using g_ascii_strtod() gives the same machine-number
  * (on machines with IEEE compatible 64bit doubles). It is
  * guaranteed that the size of the resulting string will never
- * be larger than @G_ASCII_DTOSTR_BUF_SIZE bytes.
+ * be larger than @G_ASCII_DTOSTR_BUF_SIZE bytes, including the terminating
+ * nul character, which is always added.
  *
  * Returns: The pointer to the buffer with the converted string.
  */
  * a printf()-style format string. Allowed conversion
  * specifiers are 'e', 'E', 'f', 'F', 'g' and 'G'.
  *
+ * The returned buffer is guaranteed to be nul-terminated.
+ *
  * If you just want to want to serialize the value into a
  * string, use g_ascii_dtostr().
  *
 
 
 /**
+ * g_auto:
+ * @TypeName: a supported variable type
+ *
+ * Helper to declare a variable with automatic cleanup.
+ *
+ * The variable is cleaned up in a way appropriate to its type when the
+ * variable goes out of scope.  The type must support this.
+ *
+ * This feature is only supported on GCC and clang.  This macro is not
+ * defined on other compilers and should not be used in programs that
+ * are intended to be portable to those compilers.
+ *
+ * This is meant to be used with stack-allocated structures and
+ * non-pointer types.  For the (more commonly used) pointer version, see
+ * g_autoptr().
+ *
+ * This macro can be used to avoid having to do explicit cleanups of
+ * local variables when exiting functions.  It often vastly simplifies
+ * handling of error conditions, removing the need for various tricks
+ * such as 'goto out' or repeating of cleanup code.  It is also helpful
+ * for non-error cases.
+ *
+ * Consider the following example:
+ *
+ * |[
+ * GVariant *
+ * my_func(void)
+ * {
+ *   g_auto(GQueue) queue = G_QUEUE_INIT;
+ *   g_auto(GVariantBuilder) builder;
+ *
+ *   g_variant_builder_init (&builder, G_VARIANT_TYPE_VARDICT);
+ *
+ *   ...
+ *
+ *   if (error_condition)
+ *     return NULL;
+ *
+ *   ...
+ *
+ *   return g_variant_builder_end (&builder);
+ * }
+ * ]|
+ *
+ * You must initialise the variable in some way -- either by use of an
+ * initialiser or by ensuring that an _init function will be called on
+ * it unconditionally before it goes out of scope.
+ *
+ * Since: 2.44
+ */
+
+
+/**
+ * g_autofree:
+ *
+ * Macro to add an attribute to pointer variable to ensure automatic
+ * cleanup using g_free().
+ *
+ * This macro differs from g_autoptr() in that it is an attribute supplied
+ * before the type name, rather than wrapping the type definition.  Instead
+ * of using a type-specific lookup, this macro always calls g_free() directly.
+ *
+ * This means it's useful for any type that is returned from
+ * g_malloc().
+ *
+ * Otherwise, this macro has similar constraints as g_autoptr() - only
+ * supported on GCC and clang, the variable must be initialized, etc.
+ *
+ * |[
+ * gboolean
+ * operate_on_malloc_buf (void)
+ * {
+ *   g_autofree guint8* membuf = NULL;
+ *
+ *   membuf = g_malloc (8192);
+ *
+ *   /* Some computation on membuf
+ */
+
+
+/**
+ * g_autoptr:
+ * @TypeName: a supported variable type
+ *
+ * Helper to declare a pointer variable with automatic cleanup.
+ *
+ * The variable is cleaned up in a way appropriate to its type when the
+ * variable goes out of scope.  The type must support this.
+ *
+ * This feature is only supported on GCC and clang.  This macro is not
+ * defined on other compilers and should not be used in programs that
+ * are intended to be portable to those compilers.
+ *
+ * This is meant to be used to declare pointers to types with cleanup
+ * functions.  The type of the variable is a pointer to @TypeName.  You
+ * must not add your own '*'.
+ *
+ * This macro can be used to avoid having to do explicit cleanups of
+ * local variables when exiting functions.  It often vastly simplifies
+ * handling of error conditions, removing the need for various tricks
+ * such as 'goto out' or repeating of cleanup code.  It is also helpful
+ * for non-error cases.
+ *
+ * Consider the following example:
+ *
+ * |[
+ * gboolean
+ * check_exists(GVariant *dict)
+ * {
+ *   g_autoptr(GVariant) dirname;
+ *   g_autoptr(GVariant) basename = NULL;
+ *   g_autoptr(gchar) path = NULL;
+ *
+ *   dirname = g_variant_lookup_value (dict, "dirname", G_VARIANT_TYPE_STRING);
+ *
+ *   if (dirname == NULL)
+ *     return FALSE;
+ *
+ *   basename = g_variant_lookup_value (dict, "basename", G_VARIANT_TYPE_STRING);
+ *
+ *   if (basename == NULL)
+ *     return FALSE;
+ *
+ *   path = g_build_filename (g_variant_get_string (dirname, NULL),
+ *                            g_variant_get_string (basename, NULL),
+ *                            NULL);
+ *
+ *   return g_access (path, R_OK) == 0;
+ * }
+ * ]|
+ *
+ * You must initialise the variable in some way -- either by use of an
+ * initialiser or by ensuring that it is assigned to unconditionally
+ * before it goes out of scope.
+ *
+ * Since: 2.44
+ */
+
+
+/**
  * g_base64_decode:
  * @text: zero-terminated string with base64 text to decode
  * @out_len: (out): The length of the decoded data is written here
  * @mem: (allow-none): the memory to free
  *
  * Frees the memory pointed to by @mem.
- * If @mem is %NULL it simply returns.
+ *
+ * If @mem is %NULL it simply returns, so there is no need to check @mem
+ * against %NULL before calling this function.
  */
 
 
 
 /**
  * g_get_charset:
- * @charset: return location for character set name
+ * @charset: (out) (optional) (transfer none): return location for character set
+ *   name, or %NULL.
  *
  * Obtains the character set for the [current locale][setlocale]; you
  * might use this character set as an argument to g_convert(), to convert
  * Retrieves every key inside @hash_table. The returned data is valid
  * until changes to the hash release those keys.
  *
+ * This iterates over every entry in the hash table to build its return value.
+ * To iterate over the entries in a #GHashTable more efficiently, use a
+ * #GHashTableIter.
+ *
  * Returns: a #GList containing all the keys inside the hash
  *     table. The content of the list is owned by the hash table and
  *     should not be modified or freed. Use g_list_free() when done
  * Note: in the common case of a string-keyed #GHashTable, the return
  * value of this function can be conveniently cast to (const gchar **).
  *
+ * This iterates over every entry in the hash table to build its return value.
+ * To iterate over the entries in a #GHashTable more efficiently, use a
+ * #GHashTableIter.
+ *
  * You should always free the return result with g_free().  In the
  * above-mentioned case of a string-keyed hash table, it may be
  * appropriate to use g_strfreev() if you call g_hash_table_steal_all()
  * Retrieves every value inside @hash_table. The returned data
  * is valid until @hash_table is modified.
  *
+ * This iterates over every entry in the hash table to build its return value.
+ * To iterate over the entries in a #GHashTable more efficiently, use a
+ * #GHashTableIter.
+ *
  * Returns: a #GList containing all the values inside the hash
  *     table. The content of the list is owned by the hash table and
  *     should not be modified or freed. Use g_list_free() when done
  * sources and will not be called again.
  *
  * This internally creates a main loop source using g_idle_source_new()
- * and attaches it to the main loop context using g_source_attach().
- * You can do these steps manually if you need greater control.
+ * and attaches it to the global #GMainContext using g_source_attach(), so
+ * the callback will be invoked in whichever thread is running that main
+ * context. You can do these steps manually if you need greater control or to
+ * use a custom main context.
  *
  * Returns: the ID (greater than 0) of the event source.
  */
  * removed from the list of event sources and will not be called again.
  *
  * This internally creates a main loop source using g_idle_source_new()
- * and attaches it to the main loop context using g_source_attach().
- * You can do these steps manually if you need greater control.
+ * and attaches it to the global #GMainContext using g_source_attach(), so
+ * the callback will be invoked in whichever thread is running that main
+ * context. You can do these steps manually if you need greater control or to
+ * use a custom main context.
  *
  * Returns: the ID (greater than 0) of the event source.
  */
  * g_list_free_1:
  * @list: a #GList element
  *
- * Frees one #GList element.
+ * Frees one #GList element, but does not update links from the next and
+ * previous elements in the list, so you should not call this function on an
+ * element that is currently part of a list.
+ *
  * It is usually used after g_list_remove_link().
  */
 
  *
  * This function iterates over the whole list to count its elements.
  * Use a #GQueue instead of a GList if you regularly need the number
- * of items.
+ * of items. To check whether the list is non-empty, it is faster to check
+ * @list against %NULL.
  *
  * Returns: the number of elements in the #GList
  */
  *
  * Gets the element at the given position in a #GList.
  *
+ * This iterates over the list until it reaches the @n-th position. If you
+ * intend to iterate over every element, it is better to use a for-loop as
+ * described in the #GList introduction.
+ *
  * Returns: the element, or %NULL if the position is off
  *     the end of the #GList
  */
  *
  * Gets the data of the element at the given position.
  *
+ * This iterates over the list until it reaches the @n-th position. If you
+ * intend to iterate over every element, it is better to use a for-loop as
+ * described in the #GList introduction.
+ *
  * Returns: the element's data, or %NULL if the position
  *     is off the end of the #GList
  */
 /**
  * g_option_context_add_group:
  * @context: a #GOptionContext
- * @group: the group to add
+ * @group: (transfer full): the group to add
  *
  * Adds a #GOptionGroup to the @context, so that parsing with @context
- * will recognize the options in the group. Note that the group will
- * be freed together with the context when g_option_context_free() is
- * called, so you must not free the group yourself after adding it
- * to a context.
+ * will recognize the options in the group. Note that this will take
+ * ownership of the @group and thus the @group should not be freed.
  *
  * Since: 2.6
  */
  *
  * Returns a pointer to the main group of @context.
  *
- * Returns: the main group of @context, or %NULL if @context doesn't
- *  have a main group. Note that group belongs to @context and should
- *  not be modified or freed.
+ * Returns: (transfer none): the main group of @context, or %NULL if
+ *  @context doesn't have a main group. Note that group belongs to
+ *  @context and should not be modified or freed.
  * Since: 2.6
  */
 
 /**
  * g_option_context_set_main_group:
  * @context: a #GOptionContext
- * @group: the group to set as main group
+ * @group: (transfer full): the group to set as main group
  *
  * Sets a #GOptionGroup as main group of the @context.
  * This has the same effect as calling g_option_context_add_group(),
  * which have been added to a #GOptionContext.
  *
  * Since: 2.6
+ * Deprecated: 2.44: Use g_option_group_unref() instead.
  */
 
 
  * Creates a new #GOptionGroup.
  *
  * Returns: a newly created option group. It should be added
- *   to a #GOptionContext or freed with g_option_group_free().
+ *   to a #GOptionContext or freed with g_option_group_unref().
  * Since: 2.6
  */
 
 
 /**
+ * g_option_group_ref:
+ * @group: a #GOptionGroup
+ *
+ * Increments the reference count of @group by one.
+ *
+ * Returns: a #GoptionGroup
+ * Since: 2.44
+ */
+
+
+/**
  * g_option_group_set_error_hook:
  * @group: a #GOptionGroup
  * @error_func: a function to call when an error occurs
 
 
 /**
+ * g_option_group_unref:
+ * @group: a #GOptionGroup
+ *
+ * Decrements the reference count of @group by one.
+ * If the reference count drops to 0, the @group will be freed.
+ * and all memory allocated by the @group is released.
+ *
+ * Since: 2.44
+ */
+
+
+/**
  * g_parse_debug_string:
  * @string: (allow-none): a list of debug options separated by colons, spaces, or
  * commas, or %NULL.
  * i.e. after the "/" in UNIX or "C:\" under Windows. If @file_name
  * is not an absolute path it returns %NULL.
  *
- * Returns: a pointer into @file_name after the root component
+ * Returns: (nullable): a pointer into @file_name after the root component
  */
 
 
  * Gets the number of elements in a #GSList.
  *
  * This function iterates over the whole list to
- * count its elements.
+ * count its elements. To check whether the list is non-empty, it is faster to
+ * check @list against %NULL.
  *
  * Returns: the number of elements in the #GSList
  */
  * it's %FALSE, the caller gains ownership of the buffer and must
  * free it after use with g_free().
  *
- * Returns: the character data of @string
+ * Returns: (nullable): the character data of @string
  *          (i.e. %NULL if @free_segment is %TRUE)
  */
 
  * g_test_add_data_func:
  * @testpath: /-separated test case path name for the test.
  * @test_data: Test data argument for the test function.
- * @test_func: The test function to invoke for this test.
+ * @test_func: (scope async): The test function to invoke for this test.
  *
  * Create a new test case, similar to g_test_create_case(). However
  * the test is assumed to use no fixture, and test suites are automatically
 /**
  * g_test_add_func:
  * @testpath: /-separated test case path name for the test.
- * @test_func: The test function to invoke for this test.
+ * @test_func: (scope async): The test function to invoke for this test.
  *
  * Create a new test case, similar to g_test_create_case(). However
  * the test is assumed to use no fixture, and test suites are automatically
  * @test_name: the name for the test case
  * @data_size: the size of the fixture data structure
  * @test_data: test data argument for the test functions
- * @data_setup: the function to set up the fixture data
- * @data_test: the actual test function
- * @data_teardown: the function to teardown the fixture data
+ * @data_setup: (scope async): the function to set up the fixture data
+ * @data_test: (scope async): the actual test function
+ * @data_teardown: (scope async): the function to teardown the fixture data
  *
  * Create a new #GTestCase, named @test_name, this API is fairly
  * low level, calling g_test_add() or g_test_add_func() is preferable.
 /**
  * g_thread_self:
  *
- * This functions returns the #GThread corresponding to the
+ * This function returns the #GThread corresponding to the
  * current thread. Note that this function does not increase
  * the reference count of the returned struct.
  *
  * optimizations and more efficient system power usage.
  *
  * This internally creates a main loop source using g_timeout_source_new()
- * and attaches it to the main loop context using g_source_attach(). You can
- * do these steps manually if you need greater control.
+ * and attaches it to the global #GMainContext using g_source_attach(), so
+ * the callback will be invoked in whichever thread is running that main
+ * context. You can do these steps manually if you need greater control or to
+ * use a custom main context.
  *
  * The interval given is in terms of monotonic time, not wall clock
  * time.  See g_get_monotonic_time().
  * (it does not try to 'catch up' time lost in delays).
  *
  * This internally creates a main loop source using g_timeout_source_new()
- * and attaches it to the main loop context using g_source_attach(). You can
- * do these steps manually if you need greater control.
+ * and attaches it to the global #GMainContext using g_source_attach(), so
+ * the callback will be invoked in whichever thread is running that main
+ * context. You can do these steps manually if you need greater control or to
+ * use a custom main context.
  *
  * The interval given in terms of monotonic time, not wall clock time.
  * See g_get_monotonic_time().
  *
  * Attempts to realloc @mem to a new size, @n_bytes, and returns %NULL
  * on failure. Contrast with g_realloc(), which aborts the program
- * on failure. If @mem is %NULL, behaves the same as g_try_malloc().
+ * on failure.
+ *
+ * If @mem is %NULL, behaves the same as g_try_malloc().
  *
  * Returns: the allocated memory, or %NULL.
  */
  * Similar to g_variant_get_string() except that instead of returning
  * a constant string, the string is duplicated.
  *
- * The string will always be utf8 encoded.
+ * The string will always be UTF-8 encoded.
  *
  * The return value must be freed using g_free().
  *
- * Returns: (transfer full): a newly allocated string, utf8 encoded
+ * Returns: (transfer full): a newly allocated string, UTF-8 encoded
  * Since: 2.24
  */
 
  * type.  This includes the types %G_VARIANT_TYPE_STRING,
  * %G_VARIANT_TYPE_OBJECT_PATH and %G_VARIANT_TYPE_SIGNATURE.
  *
- * The string will always be utf8 encoded.
+ * The string will always be UTF-8 encoded.
  *
  * If @length is non-%NULL then the length of the string (in bytes) is
  * returned there.  For trusted values, this information is already
  *
  * The return value remains valid as long as @value exists.
  *
- * Returns: (transfer none): the constant string, utf8 encoded
+ * Returns: (transfer none): the constant string, UTF-8 encoded
  * Since: 2.24
  */
 
  *
  * Creates an array-of-bytes #GVariant with the contents of @string.
  * This function is just like g_variant_new_string() except that the
- * string need not be valid utf8.
+ * string need not be valid UTF-8.
  *
  * The nul terminator character at the end of the string is stored in
  * the array.
 
 /**
  * g_variant_new_string:
- * @string: a normal utf8 nul-terminated string
+ * @string: a normal UTF-8 nul-terminated string
  *
  * Creates a string #GVariant with the contents of @string.
  *
- * @string must be valid utf8.
+ * @string must be valid UTF-8.
  *
  * Returns: (transfer none): a floating reference to a new string #GVariant instance
  * Since: 2.24
 
 /**
  * g_variant_new_take_string: (skip)
- * @string: a normal utf8 nul-terminated string
+ * @string: a normal UTF-8 nul-terminated string
  *
  * Creates a string #GVariant with the contents of @string.
  *
- * @string must be valid utf8.
+ * @string must be valid UTF-8.
  *
  * This function consumes @string.  g_free() will be called on @string
  * when it is no longer required.
 
 
 /**
+ * g_win32_check_windows_version:
+ * @major: major version of Windows
+ * @minor: minor version of Windows
+ * @spver: Windows Service Pack Level, 0 if none
+ * @os_type: Type of Windows OS
+ *
+ * Returns whether the version of the Windows operating system the
+ * code is running on is at least the specified major, minor and
+ * service pack versions.  See MSDN documentation for the Operating
+ * System Version.  Software that needs even more detailed version and
+ * feature information should use the Win32 API VerifyVersionInfo()
+ * directly.
+ *
+ * Successive calls of this function can be used for enabling or
+ * disabling features at run-time for a range of Windows versions,
+ * as per the VerifyVersionInfo() API documentation.
+ *
+ * Returns: %TRUE if the Windows Version is the same or greater than
+ *          the specified major, minor and service pack versions, and
+ *          whether the running Windows is a workstation or server edition
+ *          of Windows, if specifically specified.
+ * Since: 2.44
+ */
+
+
+/**
  * g_win32_error_message:
  * @error: error code.
  *
 /**
  * g_win32_get_windows_version:
  *
+ * This function is deprecated. Use
+ * g_win32_check_windows_version() instead.
+ *
  * Returns version information for the Windows operating system the
  * code is running on. See MSDN documentation for the GetVersion()
  * function. To summarize, the most significant bit is one on Win9x,
  * GetVersionEx() and VerifyVersionInfo().
  *
  * Returns: The version information.
- * Since: 2.6
+ * Deprecated: 2.44: Be aware that for Windows 8.1 and Windows Server
+ * 2012 R2 and later, this will return 62 unless the application is
+ * manifested for Windows 8.1/Windows Server 2012 R2, for example.
+ * MSDN stated that GetVersion(), which is used here, is subject to
+ * further change or removal after Windows 8.1.
  */
 
 
index c07d98a..440d0c2 100644 (file)
  * GObject ships with a utility called [glib-mkenums][glib-mkenums],
  * that can construct suitable type registration functions from C enumeration
  * definitions.
+ *
+ * Example of how to get a string representation of an enum value:
+ * |[<!-- language="C" -->
+ * GEnumClass *enum_class;
+ * GEnumValue *enum_value;
+ *
+ * enum_class = g_type_class_ref (MAMAN_TYPE_MY_ENUM);
+ * enum_value = g_enum_get_value (enum_class, MAMAN_MY_ENUM_FOO);
+ *
+ * g_print ("Name: %s\n", enum_value->value_name);
+ *
+ * g_type_class_unref (enum_class);
+ * ]|
  */
 
 
 
 
 /**
+ * g_cclosure_marshal_BOOLEAN__BOXED_BOXED:
+ * @closure: A #GClosure.
+ * @return_value: A #GValue to store the return value. May be %NULL
+ *   if the callback of closure doesn't return a value.
+ * @n_param_values: The length of the @param_values array.
+ * @param_values: An array of #GValues holding the arguments
+ *   on which to invoke the callback of closure.
+ * @invocation_hint: The invocation hint given as the last argument to
+ *   g_closure_invoke().
+ * @marshal_data: Additional data specified when registering the
+ *   marshaller, see g_closure_set_marshal() and
+ *   g_closure_set_meta_marshal()
+ *
+ * A #GClosureMarshal function for use with signals with handlers that
+ * take two boxed pointers as arguments and return a boolean.  If you
+ * have such a signal, you will probably also need to use an
+ * accumulator, such as g_signal_accumulator_true_handled().
+ */
+
+
+/**
+ * g_cclosure_marshal_BOOLEAN__BOXED_BOXEDv:
+ * @closure: the #GClosure to which the marshaller belongs
+ * @return_value: (allow-none): a #GValue to store the return
+ *  value. May be %NULL if the callback of @closure doesn't return a
+ *  value.
+ * @instance: the instance on which the closure is invoked.
+ * @args: va_list of arguments to be passed to the closure.
+ * @marshal_data: (allow-none): additional data specified when
+ *  registering the marshaller, see g_closure_set_marshal() and
+ *  g_closure_set_meta_marshal()
+ * @n_params: the length of the @param_types array
+ * @param_types: (array length=n_params): the #GType of each argument from
+ *  @args.
+ *
+ * The #GVaClosureMarshal equivalent to g_cclosure_marshal_BOOLEAN__BOXED_BOXED().
+ */
+
+
+/**
  * g_cclosure_marshal_BOOLEAN__FLAGS:
+ * @closure: A #GClosure.
+ * @return_value: A #GValue to store the return value. May be %NULL
+ *   if the callback of closure doesn't return a value.
+ * @n_param_values: The length of the @param_values array.
+ * @param_values: An array of #GValues holding the arguments
+ *   on which to invoke the callback of closure.
+ * @invocation_hint: The invocation hint given as the last argument to
+ *   g_closure_invoke().
+ * @marshal_data: Additional data specified when registering the
+ *   marshaller, see g_closure_set_marshal() and
+ *   g_closure_set_meta_marshal()
+ *
+ * A #GClosureMarshal function for use with signals with handlers that
+ * take a flags type as an argument and return a boolean.  If you have
+ * such a signal, you will probably also need to use an accumulator,
+ * such as g_signal_accumulator_true_handled().
+ */
+
+
+/**
+ * g_cclosure_marshal_BOOLEAN__FLAGSv:
  * @closure: the #GClosure to which the marshaller belongs
- * @return_value: a #GValue which can store the returned #gboolean
- * @n_param_values: 2
- * @param_values: a #GValue array holding instance and arg1
- * @invocation_hint: the invocation hint given as the last argument
- *  to g_closure_invoke()
- * @marshal_data: additional data specified when registering the marshaller
+ * @return_value: (allow-none): a #GValue to store the return
+ *  value. May be %NULL if the callback of @closure doesn't return a
+ *  value.
+ * @instance: the instance on which the closure is invoked.
+ * @args: va_list of arguments to be passed to the closure.
+ * @marshal_data: (allow-none): additional data specified when
+ *  registering the marshaller, see g_closure_set_marshal() and
+ *  g_closure_set_meta_marshal()
+ * @n_params: the length of the @param_types array
+ * @param_types: (array length=n_params): the #GType of each argument from
+ *  @args.
  *
- * A marshaller for a #GCClosure with a callback of type
- * `gboolean (*callback) (gpointer instance, gint arg1, gpointer user_data)` where the #gint parameter
- * denotes a flags type.
+ * The #GVaClosureMarshal equivalent to g_cclosure_marshal_BOOLEAN__FLAGS().
  */
 
 
 
 
 /**
+ * g_cclosure_marshal_BOOL__BOXED_BOXED:
+ * @closure: A #GClosure.
+ * @return_value: A #GValue to store the return value. May be %NULL
+ *   if the callback of closure doesn't return a value.
+ * @n_param_values: The length of the @param_values array.
+ * @param_values: An array of #GValues holding the arguments
+ *   on which to invoke the callback of closure.
+ * @invocation_hint: The invocation hint given as the last argument to
+ *   g_closure_invoke().
+ * @marshal_data: Additional data specified when registering the
+ *   marshaller, see g_closure_set_marshal() and
+ *   g_closure_set_meta_marshal()
+ *
+ * An old alias for g_cclosure_marshal_BOOLEAN__BOXED_BOXED().
+ */
+
+
+/**
  * g_cclosure_marshal_BOOL__FLAGS:
+ * @closure: A #GClosure.
+ * @return_value: A #GValue to store the return value. May be %NULL
+ *   if the callback of closure doesn't return a value.
+ * @n_param_values: The length of the @param_values array.
+ * @param_values: An array of #GValues holding the arguments
+ *   on which to invoke the callback of closure.
+ * @invocation_hint: The invocation hint given as the last argument to
+ *   g_closure_invoke().
+ * @marshal_data: Additional data specified when registering the
+ *   marshaller, see g_closure_set_marshal() and
+ *   g_closure_set_meta_marshal()
  *
- * Another name for g_cclosure_marshal_BOOLEAN__FLAGS().
+ * An old alias for g_cclosure_marshal_BOOLEAN__FLAGS().
  */
 
 
 /**
  * g_cclosure_marshal_STRING__OBJECT_POINTER:
+ * @closure: A #GClosure.
+ * @return_value: A #GValue to store the return value. May be %NULL
+ *   if the callback of closure doesn't return a value.
+ * @n_param_values: The length of the @param_values array.
+ * @param_values: An array of #GValues holding the arguments
+ *   on which to invoke the callback of closure.
+ * @invocation_hint: The invocation hint given as the last argument to
+ *   g_closure_invoke().
+ * @marshal_data: Additional data specified when registering the
+ *   marshaller, see g_closure_set_marshal() and
+ *   g_closure_set_meta_marshal()
+ *
+ * A #GClosureMarshal function for use with signals with handlers that
+ * take a #GObject and a pointer and produce a string.  It is highly
+ * unlikely that your signal handler fits this description.
+ */
+
+
+/**
+ * g_cclosure_marshal_STRING__OBJECT_POINTERv:
  * @closure: the #GClosure to which the marshaller belongs
- * @return_value: a #GValue, which can store the returned string
- * @n_param_values: 3
- * @param_values: a #GValue array holding instance, arg1 and arg2
- * @invocation_hint: the invocation hint given as the last argument
- *  to g_closure_invoke()
- * @marshal_data: additional data specified when registering the marshaller
+ * @return_value: (allow-none): a #GValue to store the return
+ *  value. May be %NULL if the callback of @closure doesn't return a
+ *  value.
+ * @instance: the instance on which the closure is invoked.
+ * @args: va_list of arguments to be passed to the closure.
+ * @marshal_data: (allow-none): additional data specified when
+ *  registering the marshaller, see g_closure_set_marshal() and
+ *  g_closure_set_meta_marshal()
+ * @n_params: the length of the @param_types array
+ * @param_types: (array length=n_params): the #GType of each argument from
+ *  @args.
  *
- * A marshaller for a #GCClosure with a callback of type
- * `gchar* (*callback) (gpointer instance, GObject *arg1, gpointer arg2, gpointer user_data)`.
+ * The #GVaClosureMarshal equivalent to g_cclosure_marshal_STRING__OBJECT_POINTER().
  */
 
 
 /**
  * g_cclosure_marshal_VOID__BOOLEAN:
+ * @closure: A #GClosure.
+ * @return_value: A #GValue to store the return value. May be %NULL
+ *   if the callback of closure doesn't return a value.
+ * @n_param_values: The length of the @param_values array.
+ * @param_values: An array of #GValues holding the arguments
+ *   on which to invoke the callback of closure.
+ * @invocation_hint: The invocation hint given as the last argument to
+ *   g_closure_invoke().
+ * @marshal_data: Additional data specified when registering the
+ *   marshaller, see g_closure_set_marshal() and
+ *   g_closure_set_meta_marshal()
+ *
+ * A #GClosureMarshal function for use with signals with a single
+ * boolean argument.
+ */
+
+
+/**
+ * g_cclosure_marshal_VOID__BOOLEANv:
  * @closure: the #GClosure to which the marshaller belongs
- * @return_value: ignored
- * @n_param_values: 2
- * @param_values: a #GValue array holding the instance and the #gboolean parameter
- * @invocation_hint: the invocation hint given as the last argument
- *  to g_closure_invoke()
- * @marshal_data: additional data specified when registering the marshaller
+ * @return_value: (allow-none): a #GValue to store the return
+ *  value. May be %NULL if the callback of @closure doesn't return a
+ *  value.
+ * @instance: the instance on which the closure is invoked.
+ * @args: va_list of arguments to be passed to the closure.
+ * @marshal_data: (allow-none): additional data specified when
+ *  registering the marshaller, see g_closure_set_marshal() and
+ *  g_closure_set_meta_marshal()
+ * @n_params: the length of the @param_types array
+ * @param_types: (array length=n_params): the #GType of each argument from
+ *  @args.
+ *
+ * The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__BOOLEAN().
+ */
+
+
+/**
+ * g_cclosure_marshal_VOID__BOXED:
+ * @closure: A #GClosure.
+ * @return_value: A #GValue to store the return value. May be %NULL
+ *   if the callback of closure doesn't return a value.
+ * @n_param_values: The length of the @param_values array.
+ * @param_values: An array of #GValues holding the arguments
+ *   on which to invoke the callback of closure.
+ * @invocation_hint: The invocation hint given as the last argument to
+ *   g_closure_invoke().
+ * @marshal_data: Additional data specified when registering the
+ *   marshaller, see g_closure_set_marshal() and
+ *   g_closure_set_meta_marshal()
+ *
+ * A #GClosureMarshal function for use with signals with a single
+ * argument which is any boxed pointer type.
+ */
+
+
+/**
+ * g_cclosure_marshal_VOID__BOXEDv:
+ * @closure: the #GClosure to which the marshaller belongs
+ * @return_value: (allow-none): a #GValue to store the return
+ *  value. May be %NULL if the callback of @closure doesn't return a
+ *  value.
+ * @instance: the instance on which the closure is invoked.
+ * @args: va_list of arguments to be passed to the closure.
+ * @marshal_data: (allow-none): additional data specified when
+ *  registering the marshaller, see g_closure_set_marshal() and
+ *  g_closure_set_meta_marshal()
+ * @n_params: the length of the @param_types array
+ * @param_types: (array length=n_params): the #GType of each argument from
+ *  @args.
+ *
+ * The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__BOXED().
+ */
+
+
+/**
+ * g_cclosure_marshal_VOID__CHAR:
+ * @closure: A #GClosure.
+ * @return_value: A #GValue to store the return value. May be %NULL
+ *   if the callback of closure doesn't return a value.
+ * @n_param_values: The length of the @param_values array.
+ * @param_values: An array of #GValues holding the arguments
+ *   on which to invoke the callback of closure.
+ * @invocation_hint: The invocation hint given as the last argument to
+ *   g_closure_invoke().
+ * @marshal_data: Additional data specified when registering the
+ *   marshaller, see g_closure_set_marshal() and
+ *   g_closure_set_meta_marshal()
+ *
+ * A #GClosureMarshal function for use with signals with a single
+ * character argument.
+ */
+
+
+/**
+ * g_cclosure_marshal_VOID__CHARv:
+ * @closure: the #GClosure to which the marshaller belongs
+ * @return_value: (allow-none): a #GValue to store the return
+ *  value. May be %NULL if the callback of @closure doesn't return a
+ *  value.
+ * @instance: the instance on which the closure is invoked.
+ * @args: va_list of arguments to be passed to the closure.
+ * @marshal_data: (allow-none): additional data specified when
+ *  registering the marshaller, see g_closure_set_marshal() and
+ *  g_closure_set_meta_marshal()
+ * @n_params: the length of the @param_types array
+ * @param_types: (array length=n_params): the #GType of each argument from
+ *  @args.
+ *
+ * The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__CHAR().
+ */
+
+
+/**
+ * g_cclosure_marshal_VOID__DOUBLE:
+ * @closure: A #GClosure.
+ * @return_value: A #GValue to store the return value. May be %NULL
+ *   if the callback of closure doesn't return a value.
+ * @n_param_values: The length of the @param_values array.
+ * @param_values: An array of #GValues holding the arguments
+ *   on which to invoke the callback of closure.
+ * @invocation_hint: The invocation hint given as the last argument to
+ *   g_closure_invoke().
+ * @marshal_data: Additional data specified when registering the
+ *   marshaller, see g_closure_set_marshal() and
+ *   g_closure_set_meta_marshal()
+ *
+ * A #GClosureMarshal function for use with signals with one
+ * double-precision floating point argument.
+ */
+
+
+/**
+ * g_cclosure_marshal_VOID__DOUBLEv:
+ * @closure: the #GClosure to which the marshaller belongs
+ * @return_value: (allow-none): a #GValue to store the return
+ *  value. May be %NULL if the callback of @closure doesn't return a
+ *  value.
+ * @instance: the instance on which the closure is invoked.
+ * @args: va_list of arguments to be passed to the closure.
+ * @marshal_data: (allow-none): additional data specified when
+ *  registering the marshaller, see g_closure_set_marshal() and
+ *  g_closure_set_meta_marshal()
+ * @n_params: the length of the @param_types array
+ * @param_types: (array length=n_params): the #GType of each argument from
+ *  @args.
+ *
+ * The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__DOUBLE().
+ */
+
+
+/**
+ * g_cclosure_marshal_VOID__ENUM:
+ * @closure: A #GClosure.
+ * @return_value: A #GValue to store the return value. May be %NULL
+ *   if the callback of closure doesn't return a value.
+ * @n_param_values: The length of the @param_values array.
+ * @param_values: An array of #GValues holding the arguments
+ *   on which to invoke the callback of closure.
+ * @invocation_hint: The invocation hint given as the last argument to
+ *   g_closure_invoke().
+ * @marshal_data: Additional data specified when registering the
+ *   marshaller, see g_closure_set_marshal() and
+ *   g_closure_set_meta_marshal()
+ *
+ * A #GClosureMarshal function for use with signals with a single
+ * argument with an enumerated type.
+ */
+
+
+/**
+ * g_cclosure_marshal_VOID__ENUMv:
+ * @closure: the #GClosure to which the marshaller belongs
+ * @return_value: (allow-none): a #GValue to store the return
+ *  value. May be %NULL if the callback of @closure doesn't return a
+ *  value.
+ * @instance: the instance on which the closure is invoked.
+ * @args: va_list of arguments to be passed to the closure.
+ * @marshal_data: (allow-none): additional data specified when
+ *  registering the marshaller, see g_closure_set_marshal() and
+ *  g_closure_set_meta_marshal()
+ * @n_params: the length of the @param_types array
+ * @param_types: (array length=n_params): the #GType of each argument from
+ *  @args.
+ *
+ * The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__ENUM().
+ */
+
+
+/**
+ * g_cclosure_marshal_VOID__FLAGS:
+ * @closure: A #GClosure.
+ * @return_value: A #GValue to store the return value. May be %NULL
+ *   if the callback of closure doesn't return a value.
+ * @n_param_values: The length of the @param_values array.
+ * @param_values: An array of #GValues holding the arguments
+ *   on which to invoke the callback of closure.
+ * @invocation_hint: The invocation hint given as the last argument to
+ *   g_closure_invoke().
+ * @marshal_data: Additional data specified when registering the
+ *   marshaller, see g_closure_set_marshal() and
+ *   g_closure_set_meta_marshal()
+ *
+ * A #GClosureMarshal function for use with signals with a single
+ * argument with a flags types.
+ */
+
+
+/**
+ * g_cclosure_marshal_VOID__FLAGSv:
+ * @closure: the #GClosure to which the marshaller belongs
+ * @return_value: (allow-none): a #GValue to store the return
+ *  value. May be %NULL if the callback of @closure doesn't return a
+ *  value.
+ * @instance: the instance on which the closure is invoked.
+ * @args: va_list of arguments to be passed to the closure.
+ * @marshal_data: (allow-none): additional data specified when
+ *  registering the marshaller, see g_closure_set_marshal() and
+ *  g_closure_set_meta_marshal()
+ * @n_params: the length of the @param_types array
+ * @param_types: (array length=n_params): the #GType of each argument from
+ *  @args.
+ *
+ * The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__FLAGS().
+ */
+
+
+/**
+ * g_cclosure_marshal_VOID__FLOAT:
+ * @closure: A #GClosure.
+ * @return_value: A #GValue to store the return value. May be %NULL
+ *   if the callback of closure doesn't return a value.
+ * @n_param_values: The length of the @param_values array.
+ * @param_values: An array of #GValues holding the arguments
+ *   on which to invoke the callback of closure.
+ * @invocation_hint: The invocation hint given as the last argument to
+ *   g_closure_invoke().
+ * @marshal_data: Additional data specified when registering the
+ *   marshaller, see g_closure_set_marshal() and
+ *   g_closure_set_meta_marshal()
+ *
+ * A #GClosureMarshal function for use with signals with one
+ * single-precision floating point argument.
+ */
+
+
+/**
+ * g_cclosure_marshal_VOID__FLOATv:
+ * @closure: the #GClosure to which the marshaller belongs
+ * @return_value: (allow-none): a #GValue to store the return
+ *  value. May be %NULL if the callback of @closure doesn't return a
+ *  value.
+ * @instance: the instance on which the closure is invoked.
+ * @args: va_list of arguments to be passed to the closure.
+ * @marshal_data: (allow-none): additional data specified when
+ *  registering the marshaller, see g_closure_set_marshal() and
+ *  g_closure_set_meta_marshal()
+ * @n_params: the length of the @param_types array
+ * @param_types: (array length=n_params): the #GType of each argument from
+ *  @args.
+ *
+ * The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__FLOAT().
+ */
+
+
+/**
+ * g_cclosure_marshal_VOID__INT:
+ * @closure: A #GClosure.
+ * @return_value: A #GValue to store the return value. May be %NULL
+ *   if the callback of closure doesn't return a value.
+ * @n_param_values: The length of the @param_values array.
+ * @param_values: An array of #GValues holding the arguments
+ *   on which to invoke the callback of closure.
+ * @invocation_hint: The invocation hint given as the last argument to
+ *   g_closure_invoke().
+ * @marshal_data: Additional data specified when registering the
+ *   marshaller, see g_closure_set_marshal() and
+ *   g_closure_set_meta_marshal()
+ *
+ * A #GClosureMarshal function for use with signals with a single
+ * integer argument.
+ */
+
+
+/**
+ * g_cclosure_marshal_VOID__INTv:
+ * @closure: the #GClosure to which the marshaller belongs
+ * @return_value: (allow-none): a #GValue to store the return
+ *  value. May be %NULL if the callback of @closure doesn't return a
+ *  value.
+ * @instance: the instance on which the closure is invoked.
+ * @args: va_list of arguments to be passed to the closure.
+ * @marshal_data: (allow-none): additional data specified when
+ *  registering the marshaller, see g_closure_set_marshal() and
+ *  g_closure_set_meta_marshal()
+ * @n_params: the length of the @param_types array
+ * @param_types: (array length=n_params): the #GType of each argument from
+ *  @args.
+ *
+ * The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__INT().
+ */
+
+
+/**
+ * g_cclosure_marshal_VOID__LONG:
+ * @closure: A #GClosure.
+ * @return_value: A #GValue to store the return value. May be %NULL
+ *   if the callback of closure doesn't return a value.
+ * @n_param_values: The length of the @param_values array.
+ * @param_values: An array of #GValues holding the arguments
+ *   on which to invoke the callback of closure.
+ * @invocation_hint: The invocation hint given as the last argument to
+ *   g_closure_invoke().
+ * @marshal_data: Additional data specified when registering the
+ *   marshaller, see g_closure_set_marshal() and
+ *   g_closure_set_meta_marshal()
+ *
+ * A #GClosureMarshal function for use with signals with with a single
+ * long integer argument.
+ */
+
+
+/**
+ * g_cclosure_marshal_VOID__LONGv:
+ * @closure: the #GClosure to which the marshaller belongs
+ * @return_value: (allow-none): a #GValue to store the return
+ *  value. May be %NULL if the callback of @closure doesn't return a
+ *  value.
+ * @instance: the instance on which the closure is invoked.
+ * @args: va_list of arguments to be passed to the closure.
+ * @marshal_data: (allow-none): additional data specified when
+ *  registering the marshaller, see g_closure_set_marshal() and
+ *  g_closure_set_meta_marshal()
+ * @n_params: the length of the @param_types array
+ * @param_types: (array length=n_params): the #GType of each argument from
+ *  @args.
+ *
+ * The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__LONG().
+ */
+
+
+/**
+ * g_cclosure_marshal_VOID__OBJECT:
+ * @closure: A #GClosure.
+ * @return_value: A #GValue to store the return value. May be %NULL
+ *   if the callback of closure doesn't return a value.
+ * @n_param_values: The length of the @param_values array.
+ * @param_values: An array of #GValues holding the arguments
+ *   on which to invoke the callback of closure.
+ * @invocation_hint: The invocation hint given as the last argument to
+ *   g_closure_invoke().
+ * @marshal_data: Additional data specified when registering the
+ *   marshaller, see g_closure_set_marshal() and
+ *   g_closure_set_meta_marshal()
+ *
+ * A #GClosureMarshal function for use with signals with a single
+ * #GObject argument.
+ */
+
+
+/**
+ * g_cclosure_marshal_VOID__OBJECTv:
+ * @closure: the #GClosure to which the marshaller belongs
+ * @return_value: (allow-none): a #GValue to store the return
+ *  value. May be %NULL if the callback of @closure doesn't return a
+ *  value.
+ * @instance: the instance on which the closure is invoked.
+ * @args: va_list of arguments to be passed to the closure.
+ * @marshal_data: (allow-none): additional data specified when
+ *  registering the marshaller, see g_closure_set_marshal() and
+ *  g_closure_set_meta_marshal()
+ * @n_params: the length of the @param_types array
+ * @param_types: (array length=n_params): the #GType of each argument from
+ *  @args.
+ *
+ * The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__OBJECT().
+ */
+
+
+/**
+ * g_cclosure_marshal_VOID__PARAM:
+ * @closure: A #GClosure.
+ * @return_value: A #GValue to store the return value. May be %NULL
+ *   if the callback of closure doesn't return a value.
+ * @n_param_values: The length of the @param_values array.
+ * @param_values: An array of #GValues holding the arguments
+ *   on which to invoke the callback of closure.
+ * @invocation_hint: The invocation hint given as the last argument to
+ *   g_closure_invoke().
+ * @marshal_data: Additional data specified when registering the
+ *   marshaller, see g_closure_set_marshal() and
+ *   g_closure_set_meta_marshal()
  *
- * A marshaller for a #GCClosure with a callback of type
- * `void (*callback) (gpointer instance, gboolean arg1, gpointer user_data)`.
+ * A #GClosureMarshal function for use with signals with a single
+ * argument of type #GParamSpec.
  */
 
 
 /**
- * g_cclosure_marshal_VOID__BOXED:
+ * g_cclosure_marshal_VOID__PARAMv:
  * @closure: the #GClosure to which the marshaller belongs
- * @return_value: ignored
- * @n_param_values: 2
- * @param_values: a #GValue array holding the instance and the #GBoxed* parameter
- * @invocation_hint: the invocation hint given as the last argument
- *  to g_closure_invoke()
- * @marshal_data: additional data specified when registering the marshaller
+ * @return_value: (allow-none): a #GValue to store the return
+ *  value. May be %NULL if the callback of @closure doesn't return a
+ *  value.
+ * @instance: the instance on which the closure is invoked.
+ * @args: va_list of arguments to be passed to the closure.
+ * @marshal_data: (allow-none): additional data specified when
+ *  registering the marshaller, see g_closure_set_marshal() and
+ *  g_closure_set_meta_marshal()
+ * @n_params: the length of the @param_types array
+ * @param_types: (array length=n_params): the #GType of each argument from
+ *  @args.
  *
- * A marshaller for a #GCClosure with a callback of type
- * `void (*callback) (gpointer instance, GBoxed *arg1, gpointer user_data)`.
+ * The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__PARAM().
  */
 
 
 /**
- * g_cclosure_marshal_VOID__CHAR:
- * @closure: the #GClosure to which the marshaller belongs
- * @return_value: ignored
- * @n_param_values: 2
- * @param_values: a #GValue array holding the instance and the #gchar parameter
- * @invocation_hint: the invocation hint given as the last argument
- *  to g_closure_invoke()
- * @marshal_data: additional data specified when registering the marshaller
+ * g_cclosure_marshal_VOID__POINTER:
+ * @closure: A #GClosure.
+ * @return_value: A #GValue to store the return value. May be %NULL
+ *   if the callback of closure doesn't return a value.
+ * @n_param_values: The length of the @param_values array.
+ * @param_values: An array of #GValues holding the arguments
+ *   on which to invoke the callback of closure.
+ * @invocation_hint: The invocation hint given as the last argument to
+ *   g_closure_invoke().
+ * @marshal_data: Additional data specified when registering the
+ *   marshaller, see g_closure_set_marshal() and
+ *   g_closure_set_meta_marshal()
  *
- * A marshaller for a #GCClosure with a callback of type
- * `void (*callback) (gpointer instance, gchar arg1, gpointer user_data)`.
- */
-
-
-/**
- * g_cclosure_marshal_VOID__DOUBLE:
- * @closure: the #GClosure to which the marshaller belongs
- * @return_value: ignored
- * @n_param_values: 2
- * @param_values: a #GValue array holding the instance and the #gdouble parameter
- * @invocation_hint: the invocation hint given as the last argument
- *  to g_closure_invoke()
- * @marshal_data: additional data specified when registering the marshaller
+ * A #GClosureMarshal function for use with signals with a single raw
+ * pointer argument type.
  *
- * A marshaller for a #GCClosure with a callback of type
- * `void (*callback) (gpointer instance, gdouble arg1, gpointer user_data)`.
+ * If it is possible, it is better to use one of the more specific
+ * functions such as g_cclosure_marshal_VOID__OBJECT() or
+ * g_cclosure_marshal_VOID__OBJECT().
  */
 
 
 /**
- * g_cclosure_marshal_VOID__ENUM:
+ * g_cclosure_marshal_VOID__POINTERv:
  * @closure: the #GClosure to which the marshaller belongs
- * @return_value: ignored
- * @n_param_values: 2
- * @param_values: a #GValue array holding the instance and the enumeration parameter
- * @invocation_hint: the invocation hint given as the last argument
- *  to g_closure_invoke()
- * @marshal_data: additional data specified when registering the marshaller
+ * @return_value: (allow-none): a #GValue to store the return
+ *  value. May be %NULL if the callback of @closure doesn't return a
+ *  value.
+ * @instance: the instance on which the closure is invoked.
+ * @args: va_list of arguments to be passed to the closure.
+ * @marshal_data: (allow-none): additional data specified when
+ *  registering the marshaller, see g_closure_set_marshal() and
+ *  g_closure_set_meta_marshal()
+ * @n_params: the length of the @param_types array
+ * @param_types: (array length=n_params): the #GType of each argument from
+ *  @args.
  *
- * A marshaller for a #GCClosure with a callback of type
- * `void (*callback) (gpointer instance, gint arg1, gpointer user_data)` where the #gint parameter denotes an enumeration type..
+ * The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__POINTER().
  */
 
 
 /**
- * g_cclosure_marshal_VOID__FLAGS:
- * @closure: the #GClosure to which the marshaller belongs
- * @return_value: ignored
- * @n_param_values: 2
- * @param_values: a #GValue array holding the instance and the flags parameter
- * @invocation_hint: the invocation hint given as the last argument
- *  to g_closure_invoke()
- * @marshal_data: additional data specified when registering the marshaller
+ * g_cclosure_marshal_VOID__STRING:
+ * @closure: A #GClosure.
+ * @return_value: A #GValue to store the return value. May be %NULL
+ *   if the callback of closure doesn't return a value.
+ * @n_param_values: The length of the @param_values array.
+ * @param_values: An array of #GValues holding the arguments
+ *   on which to invoke the callback of closure.
+ * @invocation_hint: The invocation hint given as the last argument to
+ *   g_closure_invoke().
+ * @marshal_data: Additional data specified when registering the
+ *   marshaller, see g_closure_set_marshal() and
+ *   g_closure_set_meta_marshal()
  *
- * A marshaller for a #GCClosure with a callback of type
- * `void (*callback) (gpointer instance, gint arg1, gpointer user_data)` where the #gint parameter denotes a flags type.
+ * A #GClosureMarshal function for use with signals with a single string
+ * argument.
  */
 
 
 /**
- * g_cclosure_marshal_VOID__FLOAT:
+ * g_cclosure_marshal_VOID__STRINGv:
  * @closure: the #GClosure to which the marshaller belongs
- * @return_value: ignored
- * @n_param_values: 2
- * @param_values: a #GValue array holding the instance and the #gfloat parameter
- * @invocation_hint: the invocation hint given as the last argument
- *  to g_closure_invoke()
- * @marshal_data: additional data specified when registering the marshaller
+ * @return_value: (allow-none): a #GValue to store the return
+ *  value. May be %NULL if the callback of @closure doesn't return a
+ *  value.
+ * @instance: the instance on which the closure is invoked.
+ * @args: va_list of arguments to be passed to the closure.
+ * @marshal_data: (allow-none): additional data specified when
+ *  registering the marshaller, see g_closure_set_marshal() and
+ *  g_closure_set_meta_marshal()
+ * @n_params: the length of the @param_types array
+ * @param_types: (array length=n_params): the #GType of each argument from
+ *  @args.
  *
- * A marshaller for a #GCClosure with a callback of type
- * `void (*callback) (gpointer instance, gfloat arg1, gpointer user_data)`.
+ * The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__STRING().
  */
 
 
 /**
- * g_cclosure_marshal_VOID__INT:
- * @closure: the #GClosure to which the marshaller belongs
- * @return_value: ignored
- * @n_param_values: 2
- * @param_values: a #GValue array holding the instance and the #gint parameter
- * @invocation_hint: the invocation hint given as the last argument
- *  to g_closure_invoke()
- * @marshal_data: additional data specified when registering the marshaller
+ * g_cclosure_marshal_VOID__UCHAR:
+ * @closure: A #GClosure.
+ * @return_value: A #GValue to store the return value. May be %NULL
+ *   if the callback of closure doesn't return a value.
+ * @n_param_values: The length of the @param_values array.
+ * @param_values: An array of #GValues holding the arguments
+ *   on which to invoke the callback of closure.
+ * @invocation_hint: The invocation hint given as the last argument to
+ *   g_closure_invoke().
+ * @marshal_data: Additional data specified when registering the
+ *   marshaller, see g_closure_set_marshal() and
+ *   g_closure_set_meta_marshal()
  *
- * A marshaller for a #GCClosure with a callback of type
- * `void (*callback) (gpointer instance, gint arg1, gpointer user_data)`.
+ * A #GClosureMarshal function for use with signals with a single
+ * unsigned character argument.
  */
 
 
 /**
- * g_cclosure_marshal_VOID__LONG:
+ * g_cclosure_marshal_VOID__UCHARv:
  * @closure: the #GClosure to which the marshaller belongs
- * @return_value: ignored
- * @n_param_values: 2
- * @param_values: a #GValue array holding the instance and the #glong parameter
- * @invocation_hint: the invocation hint given as the last argument
- *  to g_closure_invoke()
- * @marshal_data: additional data specified when registering the marshaller
+ * @return_value: (allow-none): a #GValue to store the return
+ *  value. May be %NULL if the callback of @closure doesn't return a
+ *  value.
+ * @instance: the instance on which the closure is invoked.
+ * @args: va_list of arguments to be passed to the closure.
+ * @marshal_data: (allow-none): additional data specified when
+ *  registering the marshaller, see g_closure_set_marshal() and
+ *  g_closure_set_meta_marshal()
+ * @n_params: the length of the @param_types array
+ * @param_types: (array length=n_params): the #GType of each argument from
+ *  @args.
  *
- * A marshaller for a #GCClosure with a callback of type
- * `void (*callback) (gpointer instance, glong arg1, gpointer user_data)`.
+ * The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__UCHAR().
  */
 
 
 /**
- * g_cclosure_marshal_VOID__OBJECT:
- * @closure: the #GClosure to which the marshaller belongs
- * @return_value: ignored
- * @n_param_values: 2
- * @param_values: a #GValue array holding the instance and the #GObject* parameter
- * @invocation_hint: the invocation hint given as the last argument
- *  to g_closure_invoke()
- * @marshal_data: additional data specified when registering the marshaller
+ * g_cclosure_marshal_VOID__UINT:
+ * @closure: A #GClosure.
+ * @return_value: A #GValue to store the return value. May be %NULL
+ *   if the callback of closure doesn't return a value.
+ * @n_param_values: The length of the @param_values array.
+ * @param_values: An array of #GValues holding the arguments
+ *   on which to invoke the callback of closure.
+ * @invocation_hint: The invocation hint given as the last argument to
+ *   g_closure_invoke().
+ * @marshal_data: Additional data specified when registering the
+ *   marshaller, see g_closure_set_marshal() and
+ *   g_closure_set_meta_marshal()
  *
- * A marshaller for a #GCClosure with a callback of type
- * `void (*callback) (gpointer instance, GObject *arg1, gpointer user_data)`.
+ * A #GClosureMarshal function for use with signals with with a single
+ * unsigned integer argument.
  */
 
 
 /**
- * g_cclosure_marshal_VOID__PARAM:
- * @closure: the #GClosure to which the marshaller belongs
- * @return_value: ignored
- * @n_param_values: 2
- * @param_values: a #GValue array holding the instance and the #GParamSpec* parameter
- * @invocation_hint: the invocation hint given as the last argument
- *  to g_closure_invoke()
- * @marshal_data: additional data specified when registering the marshaller
+ * g_cclosure_marshal_VOID__UINT_POINTER:
+ * @closure: A #GClosure.
+ * @return_value: A #GValue to store the return value. May be %NULL
+ *   if the callback of closure doesn't return a value.
+ * @n_param_values: The length of the @param_values array.
+ * @param_values: An array of #GValues holding the arguments
+ *   on which to invoke the callback of closure.
+ * @invocation_hint: The invocation hint given as the last argument to
+ *   g_closure_invoke().
+ * @marshal_data: Additional data specified when registering the
+ *   marshaller, see g_closure_set_marshal() and
+ *   g_closure_set_meta_marshal()
  *
- * A marshaller for a #GCClosure with a callback of type
- * `void (*callback) (gpointer instance, GParamSpec *arg1, gpointer user_data)`.
+ * A #GClosureMarshal function for use with signals with a unsigned int
+ * and a pointer as arguments.
  */
 
 
 /**
- * g_cclosure_marshal_VOID__POINTER:
+ * g_cclosure_marshal_VOID__UINT_POINTERv:
  * @closure: the #GClosure to which the marshaller belongs
- * @return_value: ignored
- * @n_param_values: 2
- * @param_values: a #GValue array holding the instance and the #gpointer parameter
- * @invocation_hint: the invocation hint given as the last argument
- *  to g_closure_invoke()
- * @marshal_data: additional data specified when registering the marshaller
+ * @return_value: (allow-none): a #GValue to store the return
+ *  value. May be %NULL if the callback of @closure doesn't return a
+ *  value.
+ * @instance: the instance on which the closure is invoked.
+ * @args: va_list of arguments to be passed to the closure.
+ * @marshal_data: (allow-none): additional data specified when
+ *  registering the marshaller, see g_closure_set_marshal() and
+ *  g_closure_set_meta_marshal()
+ * @n_params: the length of the @param_types array
+ * @param_types: (array length=n_params): the #GType of each argument from
+ *  @args.
  *
- * A marshaller for a #GCClosure with a callback of type
- * `void (*callback) (gpointer instance, gpointer arg1, gpointer user_data)`.
+ * The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__UINT_POINTER().
  */
 
 
 /**
- * g_cclosure_marshal_VOID__STRING:
+ * g_cclosure_marshal_VOID__UINTv:
  * @closure: the #GClosure to which the marshaller belongs
- * @return_value: ignored
- * @n_param_values: 2
- * @param_values: a #GValue array holding the instance and the #gchar* parameter
- * @invocation_hint: the invocation hint given as the last argument
- *  to g_closure_invoke()
- * @marshal_data: additional data specified when registering the marshaller
+ * @return_value: (allow-none): a #GValue to store the return
+ *  value. May be %NULL if the callback of @closure doesn't return a
+ *  value.
+ * @instance: the instance on which the closure is invoked.
+ * @args: va_list of arguments to be passed to the closure.
+ * @marshal_data: (allow-none): additional data specified when
+ *  registering the marshaller, see g_closure_set_marshal() and
+ *  g_closure_set_meta_marshal()
+ * @n_params: the length of the @param_types array
+ * @param_types: (array length=n_params): the #GType of each argument from
+ *  @args.
  *
- * A marshaller for a #GCClosure with a callback of type
- * `void (*callback) (gpointer instance, const gchar *arg1, gpointer user_data)`.
+ * The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__UINT().
  */
 
 
 /**
- * g_cclosure_marshal_VOID__UCHAR:
- * @closure: the #GClosure to which the marshaller belongs
- * @return_value: ignored
- * @n_param_values: 2
- * @param_values: a #GValue array holding the instance and the #guchar parameter
- * @invocation_hint: the invocation hint given as the last argument
- *  to g_closure_invoke()
- * @marshal_data: additional data specified when registering the marshaller
+ * g_cclosure_marshal_VOID__ULONG:
+ * @closure: A #GClosure.
+ * @return_value: A #GValue to store the return value. May be %NULL
+ *   if the callback of closure doesn't return a value.
+ * @n_param_values: The length of the @param_values array.
+ * @param_values: An array of #GValues holding the arguments
+ *   on which to invoke the callback of closure.
+ * @invocation_hint: The invocation hint given as the last argument to
+ *   g_closure_invoke().
+ * @marshal_data: Additional data specified when registering the
+ *   marshaller, see g_closure_set_marshal() and
+ *   g_closure_set_meta_marshal()
  *
- * A marshaller for a #GCClosure with a callback of type
- * `void (*callback) (gpointer instance, guchar arg1, gpointer user_data)`.
+ * A #GClosureMarshal function for use with signals with a single
+ * unsigned long integer argument.
  */
 
 
 /**
- * g_cclosure_marshal_VOID__UINT:
+ * g_cclosure_marshal_VOID__ULONGv:
  * @closure: the #GClosure to which the marshaller belongs
- * @return_value: ignored
- * @n_param_values: 2
- * @param_values: a #GValue array holding the instance and the #guint parameter
- * @invocation_hint: the invocation hint given as the last argument
- *  to g_closure_invoke()
- * @marshal_data: additional data specified when registering the marshaller
+ * @return_value: (allow-none): a #GValue to store the return
+ *  value. May be %NULL if the callback of @closure doesn't return a
+ *  value.
+ * @instance: the instance on which the closure is invoked.
+ * @args: va_list of arguments to be passed to the closure.
+ * @marshal_data: (allow-none): additional data specified when
+ *  registering the marshaller, see g_closure_set_marshal() and
+ *  g_closure_set_meta_marshal()
+ * @n_params: the length of the @param_types array
+ * @param_types: (array length=n_params): the #GType of each argument from
+ *  @args.
  *
- * A marshaller for a #GCClosure with a callback of type
- * `void (*callback) (gpointer instance, guint arg1, gpointer user_data)`.
+ * The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__ULONG().
  */
 
 
 /**
- * g_cclosure_marshal_VOID__UINT_POINTER:
- * @closure: the #GClosure to which the marshaller belongs
- * @return_value: ignored
- * @n_param_values: 3
- * @param_values: a #GValue array holding instance, arg1 and arg2
- * @invocation_hint: the invocation hint given as the last argument
- *  to g_closure_invoke()
- * @marshal_data: additional data specified when registering the marshaller
+ * g_cclosure_marshal_VOID__VARIANT:
+ * @closure: A #GClosure.
+ * @return_value: A #GValue to store the return value. May be %NULL
+ *   if the callback of closure doesn't return a value.
+ * @n_param_values: The length of the @param_values array.
+ * @param_values: An array of #GValues holding the arguments
+ *   on which to invoke the callback of closure.
+ * @invocation_hint: The invocation hint given as the last argument to
+ *   g_closure_invoke().
+ * @marshal_data: Additional data specified when registering the
+ *   marshaller, see g_closure_set_marshal() and
+ *   g_closure_set_meta_marshal()
  *
- * A marshaller for a #GCClosure with a callback of type
- * `void (*callback) (gpointer instance, guint arg1, gpointer arg2, gpointer user_data)`.
+ * A #GClosureMarshal function for use with signals with a single
+ * #GVariant argument.
  */
 
 
 /**
- * g_cclosure_marshal_VOID__ULONG:
+ * g_cclosure_marshal_VOID__VARIANTv:
  * @closure: the #GClosure to which the marshaller belongs
- * @return_value: ignored
- * @n_param_values: 2
- * @param_values: a #GValue array holding the instance and the #gulong parameter
- * @invocation_hint: the invocation hint given as the last argument
- *  to g_closure_invoke()
- * @marshal_data: additional data specified when registering the marshaller
+ * @return_value: (allow-none): a #GValue to store the return
+ *  value. May be %NULL if the callback of @closure doesn't return a
+ *  value.
+ * @instance: the instance on which the closure is invoked.
+ * @args: va_list of arguments to be passed to the closure.
+ * @marshal_data: (allow-none): additional data specified when
+ *  registering the marshaller, see g_closure_set_marshal() and
+ *  g_closure_set_meta_marshal()
+ * @n_params: the length of the @param_types array
+ * @param_types: (array length=n_params): the #GType of each argument from
+ *  @args.
  *
- * A marshaller for a #GCClosure with a callback of type
- * `void (*callback) (gpointer instance, gulong arg1, gpointer user_data)`.
+ * The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__VARIANT().
  */
 
 
 /**
- * g_cclosure_marshal_VOID__VARIANT:
- * @closure: the #GClosure to which the marshaller belongs
- * @return_value: ignored
- * @n_param_values: 2
- * @param_values: a #GValue array holding the instance and the #GVariant* parameter
- * @invocation_hint: the invocation hint given as the last argument
- *  to g_closure_invoke()
- * @marshal_data: additional data specified when registering the marshaller
- *
- * A marshaller for a #GCClosure with a callback of type
- * `void (*callback) (gpointer instance, GVariant *arg1, gpointer user_data)`.
+ * g_cclosure_marshal_VOID__VOID:
+ * @closure: A #GClosure.
+ * @return_value: A #GValue to store the return value. May be %NULL
+ *   if the callback of closure doesn't return a value.
+ * @n_param_values: The length of the @param_values array.
+ * @param_values: An array of #GValues holding the arguments
+ *   on which to invoke the callback of closure.
+ * @invocation_hint: The invocation hint given as the last argument to
+ *   g_closure_invoke().
+ * @marshal_data: Additional data specified when registering the
+ *   marshaller, see g_closure_set_marshal() and
+ *   g_closure_set_meta_marshal()
  *
- * Since: 2.26
+ * A #GClosureMarshal function for use with signals with no arguments.
  */
 
 
 /**
- * g_cclosure_marshal_VOID__VOID:
+ * g_cclosure_marshal_VOID__VOIDv:
  * @closure: the #GClosure to which the marshaller belongs
- * @return_value: ignored
- * @n_param_values: 1
- * @param_values: a #GValue array holding only the instance
- * @invocation_hint: the invocation hint given as the last argument
- *  to g_closure_invoke()
- * @marshal_data: additional data specified when registering the marshaller
+ * @return_value: (allow-none): a #GValue to store the return
+ *  value. May be %NULL if the callback of @closure doesn't return a
+ *  value.
+ * @instance: the instance on which the closure is invoked.
+ * @args: va_list of arguments to be passed to the closure.
+ * @marshal_data: (allow-none): additional data specified when
+ *  registering the marshaller, see g_closure_set_marshal() and
+ *  g_closure_set_meta_marshal()
+ * @n_params: the length of the @param_types array
+ * @param_types: (array length=n_params): the #GType of each argument from
+ *  @args.
  *
- * A marshaller for a #GCClosure with a callback of type
- * `void (*callback) (gpointer instance, gpointer user_data)`.
+ * The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__VOID().
  */
 
 
 
 
 /**
+ * g_cclosure_marshal_generic_va:
+ * @closure: the #GClosure to which the marshaller belongs
+ * @return_value: (allow-none): a #GValue to store the return
+ *  value. May be %NULL if the callback of @closure doesn't return a
+ *  value.
+ * @instance: the instance on which the closure is invoked.
+ * @args_list: va_list of arguments to be passed to the closure.
+ * @marshal_data: (allow-none): additional data specified when
+ *  registering the marshaller, see g_closure_set_marshal() and
+ *  g_closure_set_meta_marshal()
+ * @n_params: the length of the @param_types array
+ * @param_types: (array length=n_params): the #GType of each argument from
+ *  @args_list.
+ *
+ * A generic #GVaClosureMarshal function implemented via
+ * [libffi](http://sourceware.org/libffi/).
+ *
+ * Since: 2.30
+ */
+
+
+/**
  * g_cclosure_new: (skip)
  * @callback_func: the function to invoke
  * @user_data: user data to pass to @callback_func
  * Releases all references to other objects. This can be used to break
  * reference cycles.
  *
- * This functions should only be called from object system implementations.
+ * This function should only be called from object system implementations.
  */
 
 
  *
  * Decreases the reference count of @object. When its reference count
  * drops to 0, the object is finalized (i.e. its memory is freed).
+ *
+ * If the pointer to the #GObject may be reused in future (for example, if it is
+ * an instance variable of another object), it is recommended to clear the
+ * pointer to %NULL rather than retain a dangling pointer to a potentially
+ * invalid #GObject instance. Use g_clear_object() for this.
  */
 
 
 
 
 /**
- * g_param_get_default_value:
- * @param: a #GParamSpec
- *
- * Gets the default value of @param as a pointer to a #GValue.
- *
- * The #GValue will remain value for the life of @param.
- *
- * Returns: a pointer to a #GValue which must not be modified
- * Since: 2.38
- */
-
-
-/**
  * g_param_spec_boolean:
  * @name: canonical name of the property specified
  * @nick: nick name for the property specified
  * @flags: flags for the property specified
  *
  * Creates a new #GParamSpecBoolean instance specifying a %G_TYPE_BOOLEAN
- * property.
+ * property. In many cases, it may be more appropriate to use an enum with
+ * g_param_spec_enum(), both to improve code clarity by using explicitly named
+ * values, and to allow for more values to be added in future without breaking
+ * API.
  *
  * See g_param_spec_internal() for details on property names.
  *
 
 
 /**
+ * g_param_spec_get_default_value:
+ * @param: a #GParamSpec
+ *
+ * Gets the default value of @param as a pointer to a #GValue.
+ *
+ * The #GValue will remain value for the life of @param.
+ *
+ * Returns: a pointer to a #GValue which must not be modified
+ * Since: 2.38
+ */
+
+
+/**
  * g_param_spec_get_name:
  * @pspec: a valid #GParamSpec
  *
  * @flags: flags for the property specified
  *
  * Creates a new #GParamSpecPointer instance specifying a pointer property.
+ * Where possible, it is better to use g_param_spec_object() or
+ * g_param_spec_boxed() to expose memory management information.
  *
  * See g_param_spec_internal() for details on property names.
  *
 
 
 /**
+ * g_signal_set_va_marshaller:
+ * @signal_id: the signal id
+ * @instance_type: the instance type on which to set the marshaller.
+ * @va_marshaller: the marshaller to set.
+ *
+ * Change the #GSignalCVaMarshaller used for a given signal.  This is a
+ * specialised form of the marshaller that can often be used for the
+ * common case of a single connected signal handler and avoids the
+ * overhead of #GValue.  Its use is optional.
+ *
+ * Since: 2.32
+ */
+
+
+/**
  * g_signal_stop_emission:
  * @instance: (type GObject.Object): the object whose signal handlers you wish to stop.
  * @signal_id: the signal identifier, as returned by g_signal_lookup().
 
 
 /**
- * g_variant_get_gtype:
- *
- * Since: 2.24
- * Deprecated: 2.26
- */
-
-
-/**
  * g_weak_ref_clear: (skip)
  * @weak_ref: (inout): location of a weak reference, which
  *  may be empty
index 931385f..93382fd 100644 (file)
@@ -253,6 +253,8 @@ build_typelib_key (const char *name, const char *source)
   return g_string_free (str, FALSE);
 }
 
+/* Note: Returns %NULL (not an empty %NULL-terminated array) if there are no
+ * dependencies. */
 static char **
 get_typelib_dependencies (GITypelib *typelib)
 {
@@ -430,6 +432,89 @@ register_internal (GIRepository *repository,
 }
 
 /**
+ * g_irepository_get_immediate_dependencies:
+ * @repository: (nullable): A #GIRepository or %NULL for the singleton
+ *   process-global default #GIRepository
+ * @namespace_: Namespace of interest
+ *
+ * Return an array of the immediate versioned dependencies for @namespace_.
+ * Returned strings are of the form <code>namespace-version</code>.
+ *
+ * Note: @namespace_ must have already been loaded using a function
+ * such as g_irepository_require() before calling this function.
+ *
+ * To get the transitive closure of dependencies for @namespace_, use
+ * g_irepository_get_dependencies().
+ *
+ * Returns: (transfer full): Zero-terminated string array of immediate versioned
+ *   dependencies
+ *
+ * Since: 1.44
+ */
+char **
+g_irepository_get_immediate_dependencies (GIRepository *repository,
+                                          const char   *namespace)
+{
+  GITypelib *typelib;
+  gchar **deps;
+
+  g_return_val_if_fail (namespace != NULL, NULL);
+
+  repository = get_repository (repository);
+
+  typelib = get_registered (repository, namespace, NULL);
+  g_return_val_if_fail (typelib != NULL, NULL);
+
+  /* Ensure we always return a non-%NULL vector. */
+  deps = get_typelib_dependencies (typelib);
+  if (deps == NULL)
+      deps = g_strsplit ("", "|", 0);
+
+  return deps;
+}
+
+/* Load the transitive closure of dependency namespace-version strings for the
+ * given @typelib. @repository must be non-%NULL. @transitive_dependencies must
+ * be a pre-existing GHashTable<owned utf8, owned utf8> set for storing the
+ * dependencies. */
+static void
+get_typelib_dependencies_transitive (GIRepository *repository,
+                                     GITypelib    *typelib,
+                                     GHashTable   *transitive_dependencies)
+{
+  gchar **immediate_dependencies;
+  guint i;
+
+  immediate_dependencies = get_typelib_dependencies (typelib);
+
+  for (i = 0; immediate_dependencies != NULL && immediate_dependencies[i]; i++)
+    {
+      gchar *dependency;
+      const gchar *last_dash;
+      gchar *dependency_namespace;
+
+      dependency = immediate_dependencies[i];
+
+      /* Steal from the strv. */
+      g_hash_table_add (transitive_dependencies, dependency);
+      immediate_dependencies[i] = NULL;
+
+      /* Recurse for this namespace. */
+      last_dash = strrchr (dependency, '-');
+      dependency_namespace = g_strndup (dependency, last_dash - dependency);
+
+      typelib = get_registered (repository, dependency_namespace, NULL);
+      g_return_if_fail (typelib != NULL);
+      get_typelib_dependencies_transitive (repository, typelib,
+                                           transitive_dependencies);
+
+      g_free (dependency_namespace);
+    }
+
+  g_free (immediate_dependencies);
+}
+
+/**
  * g_irepository_get_dependencies:
  * @repository: (allow-none): A #GIRepository or %NULL for the singleton
  *   process-global default #GIRepository
@@ -442,7 +527,10 @@ register_internal (GIRepository *repository,
  * Note: @namespace_ must have already been loaded using a function
  * such as g_irepository_require() before calling this function.
  *
- * Returns: (transfer full): Zero-terminated string array of versioned
+ * To get only the immediate dependencies for @namespace_, use
+ * g_irepository_get_immediate_dependencies().
+ *
+ * Returns: (transfer full): Zero-terminated string array of all versioned
  *   dependencies
  */
 char **
@@ -450,15 +538,38 @@ g_irepository_get_dependencies (GIRepository *repository,
                                const char *namespace)
 {
   GITypelib *typelib;
+  GHashTable *transitive_dependencies;  /* set of owned utf8 */
+  GHashTableIter iter;
+  gchar *dependency;
+  GPtrArray *out;  /* owned utf8 elements */
 
   g_return_val_if_fail (namespace != NULL, NULL);
 
   repository = get_repository (repository);
+  transitive_dependencies = g_hash_table_new_full (g_str_hash, g_str_equal,
+                                                   g_free, NULL);
 
+  /* Load the dependencies. */
   typelib = get_registered (repository, namespace, NULL);
   g_return_val_if_fail (typelib != NULL, NULL);
+  get_typelib_dependencies_transitive (repository, typelib,
+                                       transitive_dependencies);
+
+  /* Convert to a string array. */
+  out = g_ptr_array_new_full (g_hash_table_size (transitive_dependencies),
+                              g_free);
+  g_hash_table_iter_init (&iter, transitive_dependencies);
+
+  while (g_hash_table_iter_next (&iter, (gpointer) &dependency, NULL))
+    {
+      g_ptr_array_add (out, dependency);
+      g_hash_table_iter_steal (&iter);
+    }
+
+  /* Add a NULL terminator. */
+  g_ptr_array_add (out, NULL);
 
-  return get_typelib_dependencies (typelib);
+  return (gchar **) g_ptr_array_free (out, FALSE);
 }
 
 /**
@@ -942,15 +1053,16 @@ g_irepository_get_version (GIRepository *repository,
  *   process-global default #GIRepository
  * @namespace_: Namespace to inspect
  *
- * This function returns the full path to the shared C library
- * associated with the given namespace @namespace_. There may be no
- * shared library path associated, in which case this function will
- * return %NULL.
+ * This function returns a comma-separated list of paths to the
+ * shared C libraries associated with the given namespace @namespace_.
+ * There may be no shared library path associated, in which case this
+ * function will return %NULL.
  *
  * Note: The namespace must have already been loaded using a function
  * such as g_irepository_require() before calling this function.
  *
- * Returns: Full path to shared library, or %NULL if none associated
+ * Returns: Comma-separated list of paths to shared libraries,
+ *   or %NULL if none are associated
  */
 const gchar *
 g_irepository_get_shared_library (GIRepository *repository,
index dcc34ce..e3ed837 100644 (file)
@@ -143,6 +143,10 @@ GITypelib *    g_irepository_require_private (GIRepository  *repository,
                                             GIRepositoryLoadFlags flags,
                                             GError       **error);
 
+GI_AVAILABLE_IN_1_44
+gchar      ** g_irepository_get_immediate_dependencies (GIRepository *repository,
+                                                        const gchar  *namespace_);
+
 GI_AVAILABLE_IN_ALL
 gchar      ** g_irepository_get_dependencies (GIRepository *repository,
                                              const gchar  *namespace_);
index 5b39e2d..01f5f50 100644 (file)
@@ -1307,8 +1307,8 @@ gir_writer_write (const char *filename,
              "            xmlns:c=\"http://www.gtk.org/introspection/c/1.0\"\n"
              "            xmlns:glib=\"http://www.gtk.org/introspection/glib/1.0\"");
 
-  dependencies = g_irepository_get_dependencies (repository,
-                                                namespace);
+  dependencies = g_irepository_get_immediate_dependencies (repository,
+                                                           namespace);
   if (dependencies != NULL)
     {
       for (i = 0; dependencies[i]; i++)
index e367cfa..e50ccac 100644 (file)
@@ -201,10 +201,10 @@ typedef enum {
  * @directory: Offset of the directory in the typelib.
  * @n_attributes: Number of attribute blocks
  * @attributes: Offset of the list of attributes in the typelib.
- * @dependencies: Offset of a single string, which is the list of dependencies,
- *   separated by the '|' character.  The dependencies are required in order
- *   to avoid having programs consuming a typelib check for an "Unresolved"
- *   type return from every API call.
+ * @dependencies: Offset of a single string, which is the list of immediate
+ *   dependencies, separated by the '|' character.  The dependencies are
+ *   required in order to avoid having programs consuming a typelib check for
+ *   an "Unresolved" type return from every API call.
  * @size: The size in bytes of the typelib.
  * @namespace: Offset of the namespace string in the typelib.
  * @nsversion: Offset of the namespace version string in the typelib.
index 15c8847..3c2faf4 100644 (file)
 # define GI_AVAILABLE_IN_1_42                 _GI_EXTERN
 #endif
 
-#endif /* __GIVERSIONMACROS_H__ */
\ No newline at end of file
+#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_44
+# define GI_DEPRECATED_IN_1_44                GLIB_DEPRECATED
+# define GI_DEPRECATED_IN_1_44_FOR(f)         GLIB_DEPRECATED_FOR(f)
+#else
+# define GI_DEPRECATED_IN_1_44                _GI_EXTERN
+# define GI_DEPRECATED_IN_1_44_FOR(f)         _GI_EXTERN
+#endif
+
+#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_44
+# define GI_AVAILABLE_IN_1_44                 GLIB_UNAVAILABLE(2, 44)
+#else
+# define GI_AVAILABLE_IN_1_44                 _GI_EXTERN
+#endif
+
+#endif /* __GIVERSIONMACROS_H__ */
index afeca9c..907039c 100644 (file)
@@ -652,7 +652,7 @@ class GtkDocAnnotatable(object):
             return
 
         for option, value in options.items():
-            if option in [OPT_ARRAY_ZERO_TERMINATED, OPT_ARRAY_FIXED_SIZE]:
+            if option == OPT_ARRAY_FIXED_SIZE:
                 try:
                     int(value)
                 except (TypeError, ValueError):
@@ -663,6 +663,11 @@ class GtkDocAnnotatable(object):
                         warn('invalid "%s" annotation option "%s" value "%s", must be an integer' %
                              (ann_name, option, value),
                              position)
+            elif option == OPT_ARRAY_ZERO_TERMINATED:
+                if value is not None and value not in ['0', '1']:
+                    warn('invalid "%s" annotation option "%s" value "%s", must be 0 or 1' %
+                         (ann_name, option, value),
+                         position)
             elif option == OPT_ARRAY_LENGTH:
                 if value is None:
                     warn('"%s" annotation option "length" needs a value' % (ann_name, ),
index a9537e8..12f273e 100644 (file)
@@ -284,6 +284,8 @@ type_names['int32_t'] = TYPE_INT32
 type_names['uint32_t'] = TYPE_UINT32
 type_names['int64_t'] = TYPE_INT64
 type_names['uint64_t'] = TYPE_UINT64
+# C99 stdbool
+type_names['bool'] = TYPE_BOOLEAN
 
 # A few additional GLib type aliases
 type_names['guchar'] = TYPE_UINT8
@@ -374,6 +376,7 @@ class Namespace(object):
         self.type_names = {}         # Maps from GTName -> node
         self.ctypes = {}             # Maps from CType -> node
         self.symbols = {}            # Maps from function symbols -> Function
+        # Immediate includes only, not their transitive closure:
         self.includes = set()        # Include
         self.shared_libraries = []   # str
         self.c_includes = []         # str
index 40bc49e..d258069 100644 (file)
@@ -24,6 +24,7 @@ from xml.etree.cElementTree import parse
 
 from . import ast
 from .girwriter import COMPATIBLE_GIR_VERSION
+from .collections import OrderedDict
 
 CORE_NS = "http://www.gtk.org/introspection/core/1.0"
 C_NS = "http://www.gtk.org/introspection/c/1.0"
@@ -165,9 +166,18 @@ class GIRParser(object):
 
     def _parse_generic_attribs(self, node, obj):
         assert isinstance(obj, ast.Annotated)
+        skip = node.attrib.get('skip')
+        if skip:
+            try:
+                obj.skip = int(skip) > 0
+            except ValueError:
+                obj.skip = False
         introspectable = node.attrib.get('introspectable')
         if introspectable:
-            obj.introspectable = int(introspectable) > 0
+            try:
+                obj.introspectable = int(introspectable) > 0
+            except ValueError:
+                obj.introspectable = False
         if self._types_only:
             return
         doc = node.find(_corens('doc'))
@@ -195,6 +205,14 @@ class GIRParser(object):
         if stability_doc is not None:
             if stability_doc.text:
                 obj.stability_doc = stability_doc.text
+        attributes = node.findall(_corens('attribute'))
+        if attributes:
+            attributes_ = OrderedDict()
+            for attribute in attributes:
+                name = attribute.attrib.get('name')
+                value = attribute.attrib.get('value')
+                attributes_[name] = value
+            obj.attributes = attributes_
 
     def _parse_object_interface(self, node):
         parent = node.attrib.get('parent')
index 4326374..df598ad 100644 (file)
@@ -386,10 +386,14 @@ class MainTransformer(object):
         array_options = annotations.get(ANN_ARRAY)
         container_type = ast.Array(array_type, element_type_node, ctype=node.type.ctype,
                                    is_const=node.type.is_const)
-        if OPT_ARRAY_ZERO_TERMINATED in array_options:
-            container_type.zeroterminated = array_options.get(OPT_ARRAY_ZERO_TERMINATED) == '1'
-        else:
+        if array_options.get(OPT_ARRAY_ZERO_TERMINATED, '0') == '0':
             container_type.zeroterminated = False
+        else:
+            if (OPT_ARRAY_ZERO_TERMINATED in array_options
+            or array_options.get(OPT_ARRAY_ZERO_TERMINATED) == '1'):
+                container_type.zeroterminated = True
+            else:
+                container_type.zeroterminated = False
 
         length = array_options.get(OPT_ARRAY_LENGTH)
         if length:
index e35e9d5..835b92c 100644 (file)
@@ -193,6 +193,7 @@ stringtext                          ([^\\\"])|(\\.)
 
 "asm"                                  { if (!parse_ignored_macro()) REJECT; }
 "auto"                                 { return AUTO; }
+"bool"                                  { return BOOL; }
 "break"                                        { return BREAK; }
 "case"                                 { return CASE; }
 "char"                                 { return CHAR; }
index dab1602..9a81421 100644 (file)
@@ -294,6 +294,14 @@ class SourceScanner(object):
         cpp_args += ['-E', '-C', '-I.', '-']
         cpp_args += self._cpp_options
 
+        # We expect the preprocessor to remove macros. If debugging is turned
+        # up high enough that won't happen, so strip these out. Bug #720504
+        for flag in ['-g3', '-ggdb3', '-gstabs3', '-gcoff3', '-gxcoff3', '-gvms3']:
+            try:
+                cpp_args.remove(flag)
+            except ValueError:
+                pass
+
         proc = subprocess.Popen(cpp_args,
                                 stdin=subprocess.PIPE,
                                 stdout=subprocess.PIPE)
index 6c453d0..502fa80 100644 (file)
@@ -21,4 +21,4 @@ Libs.private:
 
 Name: gobject-introspection
 Description: GObject Introspection
-Version: 1.43.3
+Version: 1.43.92
index f879a6e..aa7d77f 100644 (file)
@@ -20,4 +20,4 @@ Libs.private:
 
 Name: gobject-introspection
 Description: GObject Introspection
-Version: 1.43.3
+Version: 1.43.92
index 29791fc..7805058 100644 (file)
@@ -369,8 +369,8 @@ static void yy_fatal_error (yyconst char msg[]  );
        *yy_cp = '\0'; \
        (yy_c_buf_p) = yy_cp;
 
-#define YY_NUM_RULES 155
-#define YY_END_OF_BUFFER 156
+#define YY_NUM_RULES 156
+#define YY_END_OF_BUFFER 157
 /* This struct is not used in this scanner,
    but its presence is necessary. */
 struct yy_trans_info
@@ -378,117 +378,118 @@ struct yy_trans_info
        flex_int32_t yy_verify;
        flex_int32_t yy_nxt;
        };
-static yyconst flex_int16_t yy_acclist[971] =
+static yyconst flex_int16_t yy_acclist[978] =
     {   0,
-      156,  154,  155,    3,  154,  155,    1,  155,   45,  154,
-      155,  154,  155,   20,  154,  155,   40,  154,  155,   42,
-      154,  155,  154,  155,   29,  154,  155,   30,  154,  155,
-       38,  154,  155,   36,  154,  155,   69,  154,  155,   37,
-      154,  155,   35,  154,  155,   39,  154,  155,  147,  154,
-      155,  147,  154,  155,   32,  154,  155,   31,  154,  155,
-       47,  154,  155,   46,  154,  155,   48,  154,  155,   34,
-      154,  155,  104,  144,  154,  155,  104,  144,  154,  155,
-      104,  144,  154,  155,  104,  144,  154,  155,  104,  144,
-      154,  155,   25,  154,  155,  154,  155,   27,  154,  155,
-
-       41,  154,  155,  104,  144,  154,  155,  104,  144,  154,
-      155,  104,  144,  154,  155,  104,  144,  154,  155,  104,
-      144,  154,  155,  104,  144,  154,  155,  104,  144,  154,
-      155,  104,  144,  154,  155,  104,  144,  154,  155,  104,
-      144,  154,  155,  104,  144,  154,  155,  104,  144,  154,
-      155,  104,  144,  154,  155,  104,  144,  154,  155,  104,
-      144,  154,  155,  104,  144,  154,  155,   21,  154,  155,
-       43,  154,  155,   23,  154,  155,   44,  154,  155,    3,
-        1,   62,  152,   53,   24,   65,   55,  150,   51,   67,
-       49,   68,   50,   70,  148,    4,    6,   52,  148,  146,
-
-      147,  147,  147,  147,   28,   22,   26,   57,   63,   61,
-       64,   58,  104,  144,  104,  144,  104,  144,  104,  144,
-        2,   54,  104,  144,  104,  144,  104,  144,  104,  144,
-      104,  144,  104,  144,  104,  144,  104,  144,  104,  144,
-      104,  144,  104,  113,  144,  104,  144,  104,  144,  104,
-      144,  104,  144,  104,  144,  104,  144,  104,  144,  104,
-      121,  144,  104,  144,  104,  144,  104,  144,  104,  144,
-      104,  144,  104,  144,  104,  144,  104,  144,  104,  144,
-      104,  144,  104,  144,  104,  144,   56,   66,   33,  148,
-        6,  146,  147,  146,  147,  149,  147,  147,  147,  145,
-
-       59,   60,  104,  144,  104,  144,  153,  151,  104,  144,
-      104,  144,  104,  144,  104,  144,  104,  144,  104,  144,
-      104,  144,  104,  144,  104,  144,  104,  144,  104,  144,
-      104,  144,  104,  144,  104,  144,  104,  144,  104,  105,
-      144,  104,  144,  104,  144,  104,  144,  104,  144,  104,
-      144,  104,  144,  104,  144,  104,  144,  104,  144,  104,
-      144,  104,  144,  104,  144,  104,  119,  144,  104,  144,
-      104,  144,  104,  123,  144,  104,  144,  104,  144,  104,
-      144,  104,  144,  104,  144,  104,  144,  104,  144,  104,
-      144,  104,  144,  104,  144,  104,  144,  104,  144,  104,
-
-      144,  104,  144,  104,  144,  104,  144,  104,  144,  148,
-      146,  147,  146,  147,  146,  147,  149,  147,  145,  145,
-      104,  144,  104,  144,  104,  144,  100,  104,  144,  104,
-      144,  104,  144,  104,  144,  104,  144,  104,  144,  104,
-      144,  104,  144,  104,  144,  104,  144,  104,  144,  104,
-      144,  104,  144,  104,  144,  104,  144,  104,  144,  104,
-      144,  104,  144,  104,  106,  144,  104,  144,  104,  108,
-      144,  104,  109,  144,  104,  144,  104,  144,  104,  144,
-      104,  144,  104,  115,  144,  104,  116,  144,  104,  144,
-      104,  144,  104,  144,  104,  120,  144,  104,  144,  104,
-
-      128,  144,  104,  144,  104,  144,  104,  144,  104,  144,
-      104,  144,  104,  144,  104,  144,  104,  144,  104,  144,
-      102,  104,  144,  104,  144,  104,  144,  104,  144,  104,
-      141,  144,  104,  144,  104,  144,   18,   13,  146,  147,
-      145,  145,  145,  101,  104,  144,  104,  144,  104,  144,
-       90,  104,  144,  104,  144,   74,  104,  144,  104,  144,
-      104,  144,  104,  144,  104,  144,  104,  144,  104,  144,
-      104,  144,  104,  144,  104,  144,  104,  144,  104,  144,
-      104,  144,  104,  144,  104,  144,   96,  104,  144,  104,
-      107,  144,  104,  110,  144,  104,  144,  104,  144,  104,
-
-      144,  104,  144,  103,  104,  144,  104,  118,  144,  104,
-      144,  104,  144,  104,  144,  104,  144,  104,  132,  144,
-      104,  144,  104,  144,  104,  144,  104,  144,  104,  144,
-      104,  144,  104,  139,  144,  104,  144,  104,  144,  104,
-      143,  144,   15,  145,  104,  144,  104,  144,  104,  144,
-      104,  144,  104,  144,  104,  144,  104,  144,  104,  144,
-      104,  144,  104,  144,  104,  144,  104,  144,  104,  144,
-      104,  144,  104,  144,  104,  144,  104,  144,  104,  144,
-      104,  144,  104,  144,  104,  144,  104,  114,  144,  104,
-      117,  144,  104,  122,  144,  104,  144,  104,  144,  104,
-
-      131,  144,  104,  133,  144,  104,  134,  144,  104,  135,
-      144,  104,  136,  144,  104,  137,  144,  104,  144,  104,
-      144,  104,  144,   14,   16,    5,  104,  144,  104,  144,
-      104,  144,   75,  104,  144,  104,  144,   92,  104,  144,
-       78,  104,  144,  104,  144,  104,  144,  104,  144,  104,
-      144,   97,  104,  144,  104,  144,  104,  144,  104,  144,
-      104,  144,  104,  144,  104,  144,  104,  144,  104,  144,
-      104,  112,  144,  104,  144,  104,  144,  104,  138,  144,
-      104,  144,  104,  144,   12,  104,  144,  104,  144,  104,
-      144,  104,  144,  104,  144,  104,  144,   81,  104,  144,
-
-      104,  127,  144,  104,  144,  104,  144,  104,  144,  104,
-      144,   87,  104,  144,  104,  144,  104,  144,  104,  111,
-      144,  104,  129,  144,  104,  130,  144,  104,  140,  144,
-      104,  142,  144,    8,   11,   19,   17,  104,  144,  104,
-      144,   83,  104,  144,  104,  144,  104,  144,  104,  144,
-      104,  144,  104,  144,   82,  104,  144,  104,  144,  104,
-      144,   95,  104,  144,  104,  126,  144,  104,  144,    7,
-        8,  104,  144,  104,  144,  104,  144,  104,  144,  104,
-      144,   80,  104,  144,  104,  125,  144,   85,  104,  144,
-       84,  104,  144,  104,  144,   88,  104,  144,  104,  144,
-
-      104,  144,   77,  104,  144,  104,  144,  104,  144,  104,
-      124,  144,  104,  144,  104,  144,  104,  144,  104,  144,
-      104,  144,   86,  104,  144,   89,  104,  144,  104,  144,
-      104,  144,   76,  104,  144,   94,   79,  104,  144,  104,
-      144,  104,  144,   71,  104,  144,  104,  144,  104,  144,
-      104,  144,   72,   98,  104,  144,  104,  144,   99,  104,
-      144,   73,    9,    9,   12,   10,   10,   11,   93,   91
+      157,  155,  156,    3,  155,  156,    1,  156,   45,  155,
+      156,  155,  156,   20,  155,  156,   40,  155,  156,   42,
+      155,  156,  155,  156,   29,  155,  156,   30,  155,  156,
+       38,  155,  156,   36,  155,  156,   69,  155,  156,   37,
+      155,  156,   35,  155,  156,   39,  155,  156,  148,  155,
+      156,  148,  155,  156,   32,  155,  156,   31,  155,  156,
+       47,  155,  156,   46,  155,  156,   48,  155,  156,   34,
+      155,  156,  104,  145,  155,  156,  104,  145,  155,  156,
+      104,  145,  155,  156,  104,  145,  155,  156,  104,  145,
+      155,  156,   25,  155,  156,  155,  156,   27,  155,  156,
+
+       41,  155,  156,  104,  145,  155,  156,  104,  145,  155,
+      156,  104,  145,  155,  156,  104,  145,  155,  156,  104,
+      145,  155,  156,  104,  145,  155,  156,  104,  145,  155,
+      156,  104,  145,  155,  156,  104,  145,  155,  156,  104,
+      145,  155,  156,  104,  145,  155,  156,  104,  145,  155,
+      156,  104,  145,  155,  156,  104,  145,  155,  156,  104,
+      145,  155,  156,  104,  145,  155,  156,   21,  155,  156,
+       43,  155,  156,   23,  155,  156,   44,  155,  156,    3,
+        1,   62,  153,   53,   24,   65,   55,  151,   51,   67,
+       49,   68,   50,   70,  149,    4,    6,   52,  149,  147,
+
+      148,  148,  148,  148,   28,   22,   26,   57,   63,   61,
+       64,   58,  104,  145,  104,  145,  104,  145,  104,  145,
+        2,   54,  104,  145,  104,  145,  104,  145,  104,  145,
+      104,  145,  104,  145,  104,  145,  104,  145,  104,  145,
+      104,  145,  104,  145,  104,  114,  145,  104,  145,  104,
+      145,  104,  145,  104,  145,  104,  145,  104,  145,  104,
+      145,  104,  122,  145,  104,  145,  104,  145,  104,  145,
+      104,  145,  104,  145,  104,  145,  104,  145,  104,  145,
+      104,  145,  104,  145,  104,  145,  104,  145,   56,   66,
+       33,  149,    6,  147,  148,  147,  148,  150,  148,  148,
+
+      148,  146,   59,   60,  104,  145,  104,  145,  154,  152,
+      104,  145,  104,  145,  104,  145,  104,  145,  104,  145,
+      104,  145,  104,  145,  104,  145,  104,  145,  104,  145,
+      104,  145,  104,  145,  104,  145,  104,  145,  104,  145,
+      104,  105,  145,  104,  145,  104,  145,  104,  145,  104,
+      145,  104,  145,  104,  145,  104,  145,  104,  145,  104,
+      145,  104,  145,  104,  145,  104,  145,  104,  145,  104,
+      120,  145,  104,  145,  104,  145,  104,  124,  145,  104,
+      145,  104,  145,  104,  145,  104,  145,  104,  145,  104,
+      145,  104,  145,  104,  145,  104,  145,  104,  145,  104,
+
+      145,  104,  145,  104,  145,  104,  145,  104,  145,  104,
+      145,  104,  145,  149,  147,  148,  147,  148,  147,  148,
+      150,  148,  146,  146,  104,  145,  104,  145,  104,  145,
+      100,  104,  145,  104,  145,  104,  145,  104,  145,  104,
+      145,  104,  145,  104,  145,  104,  145,  104,  145,  104,
+      145,  104,  145,  104,  145,  104,  145,  104,  145,  104,
+      145,  104,  145,  104,  145,  104,  145,  104,  106,  145,
+      104,  107,  145,  104,  145,  104,  109,  145,  104,  110,
+      145,  104,  145,  104,  145,  104,  145,  104,  145,  104,
+      116,  145,  104,  117,  145,  104,  145,  104,  145,  104,
+
+      145,  104,  121,  145,  104,  145,  104,  129,  145,  104,
+      145,  104,  145,  104,  145,  104,  145,  104,  145,  104,
+      145,  104,  145,  104,  145,  104,  145,  102,  104,  145,
+      104,  145,  104,  145,  104,  145,  104,  142,  145,  104,
+      145,  104,  145,   18,   13,  147,  148,  146,  146,  146,
+      101,  104,  145,  104,  145,  104,  145,   90,  104,  145,
+      104,  145,   74,  104,  145,  104,  145,  104,  145,  104,
+      145,  104,  145,  104,  145,  104,  145,  104,  145,  104,
+      145,  104,  145,  104,  145,  104,  145,  104,  145,  104,
+      145,  104,  145,   96,  104,  145,  104,  108,  145,  104,
+
+      111,  145,  104,  145,  104,  145,  104,  145,  104,  145,
+      103,  104,  145,  104,  119,  145,  104,  145,  104,  145,
+      104,  145,  104,  145,  104,  133,  145,  104,  145,  104,
+      145,  104,  145,  104,  145,  104,  145,  104,  145,  104,
+      140,  145,  104,  145,  104,  145,  104,  144,  145,   15,
+      146,  104,  145,  104,  145,  104,  145,  104,  145,  104,
+      145,  104,  145,  104,  145,  104,  145,  104,  145,  104,
+      145,  104,  145,  104,  145,  104,  145,  104,  145,  104,
+      145,  104,  145,  104,  145,  104,  145,  104,  145,  104,
+      145,  104,  145,  104,  115,  145,  104,  118,  145,  104,
+
+      123,  145,  104,  145,  104,  145,  104,  132,  145,  104,
+      134,  145,  104,  135,  145,  104,  136,  145,  104,  137,
+      145,  104,  138,  145,  104,  145,  104,  145,  104,  145,
+       14,   16,    5,  104,  145,  104,  145,  104,  145,   75,
+      104,  145,  104,  145,   92,  104,  145,   78,  104,  145,
+      104,  145,  104,  145,  104,  145,  104,  145,   97,  104,
+      145,  104,  145,  104,  145,  104,  145,  104,  145,  104,
+      145,  104,  145,  104,  145,  104,  145,  104,  113,  145,
+      104,  145,  104,  145,  104,  139,  145,  104,  145,  104,
+      145,   12,  104,  145,  104,  145,  104,  145,  104,  145,
+
+      104,  145,  104,  145,   81,  104,  145,  104,  128,  145,
+      104,  145,  104,  145,  104,  145,  104,  145,   87,  104,
+      145,  104,  145,  104,  145,  104,  112,  145,  104,  130,
+      145,  104,  131,  145,  104,  141,  145,  104,  143,  145,
+        8,   11,   19,   17,  104,  145,  104,  145,   83,  104,
+      145,  104,  145,  104,  145,  104,  145,  104,  145,  104,
+      145,   82,  104,  145,  104,  145,  104,  145,   95,  104,
+      145,  104,  127,  145,  104,  145,    7,    8,  104,  145,
+      104,  145,  104,  145,  104,  145,  104,  145,   80,  104,
+      145,  104,  126,  145,   85,  104,  145,   84,  104,  145,
+
+      104,  145,   88,  104,  145,  104,  145,  104,  145,   77,
+      104,  145,  104,  145,  104,  145,  104,  125,  145,  104,
+      145,  104,  145,  104,  145,  104,  145,  104,  145,   86,
+      104,  145,   89,  104,  145,  104,  145,  104,  145,   76,
+      104,  145,   94,   79,  104,  145,  104,  145,  104,  145,
+       71,  104,  145,  104,  145,  104,  145,  104,  145,   72,
+       98,  104,  145,  104,  145,   99,  104,  145,   73,    9,
+        9,   12,   10,   10,   11,   93,   91
     } ;
 
-static yyconst flex_int16_t yy_accept[675] =
+static yyconst flex_int16_t yy_accept[678] =
     {   0,
         1,    1,    1,    2,    4,    7,    9,   12,   14,   17,
        20,   23,   25,   28,   31,   34,   37,   40,   43,   46,
@@ -503,67 +504,67 @@ static yyconst flex_int16_t yy_accept[675] =
 
       211,  212,  213,  215,  217,  219,  219,  219,  221,  222,
       223,  225,  227,  229,  231,  233,  235,  237,  239,  241,
-      243,  246,  248,  250,  252,  254,  256,  258,  260,  263,
+      243,  245,  248,  250,  252,  254,  256,  258,  260,  262,
       265,  267,  269,  271,  273,  275,  277,  279,  281,  283,
-      285,  287,  288,  289,  289,  289,  289,  289,  289,  289,
-      289,  290,  290,  291,  291,  291,  292,  294,  296,  296,
-      297,  298,  299,  300,  301,  302,  303,  305,  307,  307,
-      308,  308,  308,  309,  309,  311,  313,  315,  317,  319,
+      285,  287,  289,  290,  291,  291,  291,  291,  291,  291,
+      291,  291,  292,  292,  293,  293,  293,  294,  296,  298,
+      298,  299,  300,  301,  302,  303,  304,  305,  307,  309,
+      309,  310,  310,  310,  311,  311,  313,  315,  317,  319,
       321,  323,  325,  327,  329,  331,  333,  335,  337,  339,
-      342,  344,  346,  348,  350,  352,  354,  356,  358,  360,
+      341,  344,  346,  348,  350,  352,  354,  356,  358,  360,
 
-      362,  364,  366,  369,  371,  373,  376,  378,  380,  382,
+      362,  364,  366,  368,  370,  373,  375,  377,  380,  382,
       384,  386,  388,  390,  392,  394,  396,  398,  400,  402,
-      404,  406,  408,  410,  410,  410,  410,  410,  410,  410,
-      410,  410,  410,  410,  410,  411,  411,  413,  415,  417,
-      418,  419,  420,  421,  423,  425,  427,  430,  432,  434,
+      404,  406,  408,  410,  412,  414,  414,  414,  414,  414,
+      414,  414,  414,  414,  414,  414,  414,  415,  415,  417,
+      419,  421,  422,  423,  424,  425,  427,  429,  431,  434,
       436,  438,  440,  442,  444,  446,  448,  450,  452,  454,
-      456,  458,  460,  462,  464,  467,  469,  472,  475,  477,
-      479,  481,  483,  486,  489,  491,  493,  495,  498,  500,
-      503,  505,  507,  509,  511,  513,  515,  517,  519,  521,
-      524,  526,  528,  530,  533,  535,  537,  537,  538,  538,
-
-      538,  538,  538,  538,  539,  539,  539,  539,  539,  539,
-      541,  542,  543,  544,  547,  549,  551,  554,  556,  559,
-      561,  563,  565,  567,  569,  571,  573,  575,  577,  579,
-      581,  583,  585,  587,  590,  593,  596,  598,  600,  602,
-      604,  607,  610,  612,  614,  616,  618,  621,  623,  625,
-      627,  629,  631,  633,  636,  638,  640,  643,  643,  643,
-      643,  644,  644,  644,  644,  644,  644,  644,  644,  645,
-      647,  649,  651,  651,  653,  655,  657,  659,  661,  663,
-      665,  667,  669,  671,  673,  675,  677,  679,  681,  683,
-      685,  687,  690,  693,  696,  698,  700,  703,  706,  709,
-
-      712,  715,  718,  720,  722,  724,  724,  724,  725,  725,
-      726,  726,  726,  726,  726,  726,  727,  729,  731,  733,
-      733,  736,  738,  741,  744,  746,  748,  750,  752,  755,
-      757,  759,  761,  763,  765,  767,  769,  771,  774,  776,
-      778,  781,  783,  785,  785,  785,  785,  785,  786,  786,
-      786,  786,  786,  786,  788,  790,  792,  792,  792,  794,
-      796,  798,  801,  804,  806,  808,  810,  812,  815,  817,
-      819,  822,  825,  828,  828,  831,  834,  835,  835,  835,
-      835,  835,  835,  836,  836,  836,  837,  837,  838,  840,
-      842,  845,  845,  845,  845,  847,  849,  851,  853,  855,
-
-      858,  860,  862,  865,  868,  870,  870,  871,  872,  872,
-      872,  872,  872,  874,  876,  876,  876,  876,  878,  880,
-      882,  885,  888,  891,  894,  896,  899,  899,  899,  899,
-      899,  899,  901,  903,  903,  903,  903,  906,  906,  906,
-      908,  910,  913,  915,  915,  915,  915,  915,  915,  917,
-      919,  919,  919,  919,  921,  921,  921,  921,  923,  926,
-      929,  929,  929,  929,  929,  929,  931,  933,  933,  933,
-      933,  936,  937,  937,  940,  940,  940,  940,  940,  940,
-      942,  944,  945,  945,  945,  945,  945,  945,  945,  945,
-      945,  947,  949,  949,  949,  949,  949,  949,  949,  949,
-
-      949,  951,  953,  953,  954,  954,  954,  954,  954,  954,
-      954,  957,  959,  959,  959,  959,  959,  959,  959,  959,
-      962,  962,  962,  962,  962,  962,  962,  962,  962,  962,
-      962,  962,  962,  962,  962,  963,  963,  963,  963,  963,
-      963,  963,  963,  963,  963,  963,  964,  964,  964,  966,
-      966,  966,  966,  966,  966,  966,  967,  967,  967,  969,
-      969,  969,  969,  970,  970,  970,  970,  970,  970,  970,
-      970,  970,  971,  971
+      456,  458,  460,  462,  464,  466,  468,  471,  474,  476,
+      479,  482,  484,  486,  488,  490,  493,  496,  498,  500,
+      502,  505,  507,  510,  512,  514,  516,  518,  520,  522,
+      524,  526,  528,  531,  533,  535,  537,  540,  542,  544,
+
+      544,  545,  545,  545,  545,  545,  545,  546,  546,  546,
+      546,  546,  546,  548,  549,  550,  551,  554,  556,  558,
+      561,  563,  566,  568,  570,  572,  574,  576,  578,  580,
+      582,  584,  586,  588,  590,  592,  594,  597,  600,  603,
+      605,  607,  609,  611,  614,  617,  619,  621,  623,  625,
+      628,  630,  632,  634,  636,  638,  640,  643,  645,  647,
+      650,  650,  650,  650,  651,  651,  651,  651,  651,  651,
+      651,  651,  652,  654,  656,  658,  658,  660,  662,  664,
+      666,  668,  670,  672,  674,  676,  678,  680,  682,  684,
+      686,  688,  690,  692,  694,  697,  700,  703,  705,  707,
+
+      710,  713,  716,  719,  722,  725,  727,  729,  731,  731,
+      731,  732,  732,  733,  733,  733,  733,  733,  733,  734,
+      736,  738,  740,  740,  743,  745,  748,  751,  753,  755,
+      757,  759,  762,  764,  766,  768,  770,  772,  774,  776,
+      778,  781,  783,  785,  788,  790,  792,  792,  792,  792,
+      792,  793,  793,  793,  793,  793,  793,  795,  797,  799,
+      799,  799,  801,  803,  805,  808,  811,  813,  815,  817,
+      819,  822,  824,  826,  829,  832,  835,  835,  838,  841,
+      842,  842,  842,  842,  842,  842,  843,  843,  843,  844,
+      844,  845,  847,  849,  852,  852,  852,  852,  854,  856,
+
+      858,  860,  862,  865,  867,  869,  872,  875,  877,  877,
+      878,  879,  879,  879,  879,  879,  881,  883,  883,  883,
+      883,  885,  887,  889,  892,  895,  898,  901,  903,  906,
+      906,  906,  906,  906,  906,  908,  910,  910,  910,  910,
+      913,  913,  913,  915,  917,  920,  922,  922,  922,  922,
+      922,  922,  924,  926,  926,  926,  926,  928,  928,  928,
+      928,  930,  933,  936,  936,  936,  936,  936,  936,  938,
+      940,  940,  940,  940,  943,  944,  944,  947,  947,  947,
+      947,  947,  947,  949,  951,  952,  952,  952,  952,  952,
+      952,  952,  952,  952,  954,  956,  956,  956,  956,  956,
+
+      956,  956,  956,  956,  958,  960,  960,  961,  961,  961,
+      961,  961,  961,  961,  964,  966,  966,  966,  966,  966,
+      966,  966,  966,  969,  969,  969,  969,  969,  969,  969,
+      969,  969,  969,  969,  969,  969,  969,  969,  970,  970,
+      970,  970,  970,  970,  970,  970,  970,  970,  970,  971,
+      971,  971,  973,  973,  973,  973,  973,  973,  973,  974,
+      974,  974,  976,  976,  976,  976,  977,  977,  977,  977,
+      977,  977,  977,  977,  977,  978,  978
     } ;
 
 static yyconst flex_int32_t yy_ec[256] =
@@ -611,169 +612,171 @@ static yyconst flex_int32_t yy_meta[85] =
         1,    1,    1,    1
     } ;
 
-static yyconst flex_int16_t yy_base[701] =
+static yyconst flex_int16_t yy_base[704] =
     {   0,
-        0,    0, 1170, 1171,   83,    0, 1138,   79,   84,   59,
-       82,   82, 1171, 1171, 1137,   79, 1171,   80,   78,   95,
-      138,  199, 1135, 1171,   97, 1135,   76, 1171,    0, 1131,
-     1109,  108, 1117, 1171, 1159, 1171, 1130,   85,   43, 1088,
-       67,   62,   69,   79, 1089,   72, 1088, 1097,  103,   45,
-     1087, 1085, 1091, 1171,   90, 1171, 1171,  148,    0, 1171,
-      132, 1171, 1150,  169, 1092,  101, 1090, 1086, 1077, 1171,
-     1171, 1171, 1171,  131, 1171, 1145, 1171, 1171, 1171, 1171,
-     1171, 1171, 1129,  255,  152,    0, 1171,    0,  136,    0,
-      229,  161,  102,    0, 1171, 1171, 1171, 1115, 1171, 1171,
-
-     1171, 1114,    0, 1101, 1103,  166,  160, 1093, 1171, 1171,
-     1071, 1070,  227, 1071, 1064, 1077, 1063, 1079, 1065, 1072,
-     1057, 1058, 1055, 1055, 1061, 1057, 1054, 1051,    0,  132,
-     1055,  135, 1053,  153,  171, 1058, 1046, 1049,  165,  111,
-     1055, 1171, 1171,  285, 1057,  166, 1058,  202, 1047, 1059,
-     1171,  303, 1171, 1084,    0,    0,  198,  191,  311,  319,
-      125, 1171,  197,  246, 1171, 1171, 1066,  218,  262, 1171,
-     1109,  220, 1171, 1108, 1072, 1039, 1036,  128,  198, 1047,
-     1028, 1036, 1034, 1043,  171, 1023, 1037, 1030, 1074,    0,
-     1028, 1041, 1036, 1023,  189, 1038, 1036, 1032, 1023, 1030,
-
-     1016, 1032,    0, 1017, 1022,    0, 1023, 1020, 1009, 1007,
-     1009, 1011, 1019, 1004, 1002, 1002, 1015, 1014, 1003, 1008,
-     1012, 1014, 1002, 1065, 1003, 1005, 1005, 1000, 1060, 1002,
-     1002, 1000,  997,  327,  344, 1026,  306, 1171,  317, 1171,
-     1171,  329,  318, 1019, 1012, 1013,    0,  987,  993,  984,
-      977,  990,  980,  990,  973,  289,  977,  972,  982,  984,
-      971,  972,  973, 1015,    0,  972,    0,    0,  963,  972,
-      960,  967,    0,    0,  961,  972,  957,    0,  961,    0,
-      956,  956,  955,  952,  965,  954,  959,  964,  963,    0,
-      961,  950,  956,    0,  943,  956, 1012, 1171,  945, 1008,
-
-     1009,  950, 1007, 1171,  948,  948, 1002,  938,  374, 1171,
-      324, 1171,  331,    0,  957,  960,    0,  929,  387,  930,
-      943,  927,  932,  938,  933,  263,  927,  921,  925,  935,
-      932,  917,  934,    0,    0,    0,  920,  921,  927,  917,
-        0,    0,  925,  910,  919,  913,    0,  922,  919,  921,
-      904,  914,  916,    0,  906,  910,    0,  913,  969,  968,
-     1171,  967,  388,  908,  392,  912,  953,  947, 1171,  940,
-      916,  888,  398,  907,  897,  893,  885,  885,  888,  887,
-      933,  930,  878,  880,  891,  894,  879,  927,  873,  871,
-      871,    0,    0,    0,  884,  885,    0,    0,    0,    0,
-
-        0,    0,  881,  881,  873,  934,  935, 1171,  934, 1171,
-      392,  404,  418,  405,  931, 1171,  911,  909,  861,  862,
-      431,  874,    0,    0,  859,  856,  868,  901,    0,  859,
-      861,  865,  856,  861,  899,  856,  859,    0,  846,  843,
-      911,  856,  854,    0,  858,  909,  435, 1171,  379,  439,
-      443,  908,  907,  854,  884,  838,  839,  447,  830,  844,
-      839,  847,  846,  833,  841,  843,  830,    0,  870,  828,
-        0,    0,    0,  836,    0,    0,  881,  852,  418,  836,
-      887,  451, 1171,  405,  886, 1171,  885, 1171,  851,  831,
-        0,  829,  829,  813,  808,  823,  810,  824,  804,    0,
-
-      803,  821,    0,  820,  814,  810, 1171,  860,  829,  419,
-      830,  436,  824,  832,  793,  790,  798,  804,  460,  794,
-        0,    0,  807,    0,  787,  805,  803,  803,  440,  815,
-      421,  812,  810,  790,  783,  796,  796,  465,  791,  794,
-      793,    0,  792,  774,  798,  354,  789,  452,  796,  798,
-      774,  773,  765,  783,    0,  824,  257,  781,    0,    0,
-      830,  798,  447,  786,  454,  784,  784,  770,  773,  764,
-        0, 1171,  306,    0,  772,  792,  463,  789,  468,  790,
-      775, 1171,  748,  754,  455,  765,  775,  461,  784,  466,
-      773,  782,  751,  754,  460,  740,  768,  472,  767,  475,
-
-      762,  765,  741, 1171,  466,  733,  768,  477,  761,  478,
-        0,  756,  743,  469,  746,  755,  482,  762,  483,    0,
-      727,  471,  663,  681,  484,  689,  485,  679,  476,  669,
-      677,  488,  670,  489, 1171,  483,  565,  506,  527,  567,
-      496,  500,  544,  586,  551, 1171,  547,  545, 1171,  532,
-      544,  528,  484,  535,  530, 1171,  523,  515, 1171,  504,
-      501,  437,  490,  420,  335,  303,  285,  242,  218,  229,
-       92, 1171, 1171,  551,  561,  571,  576,  586,  591,  600,
-      610,  619,  629,  639,  649,  659,  669,  679,  683,  693,
-      703,  713,  720,  729,  739,  749,  759,  769,  779,  789
-
+        0,    0, 1173, 1174,   83,    0, 1141,   79,   84,   59,
+       82,   82, 1174, 1174, 1140,   79, 1174,   80,   78,   95,
+      138,  199, 1138, 1174,   97, 1138,   76, 1174,    0, 1134,
+     1112,  108, 1120, 1174, 1162, 1174, 1133,   85,   43,   51,
+       76,   75,   55,   80, 1093,   69, 1092, 1101,  103,   70,
+     1091, 1089, 1095, 1174,   86, 1174, 1174,  167,    0, 1174,
+      130, 1174, 1154,  169, 1096,   85, 1094, 1090, 1081, 1174,
+     1174, 1174, 1174,  159, 1174, 1149, 1174, 1174, 1174, 1174,
+     1174, 1174, 1133,  255,  173,    0, 1174,    0,  165,    0,
+      229,  161,  130,    0, 1174, 1174, 1174, 1119, 1174, 1174,
+
+     1174, 1118,    0, 1105, 1107,  134,  189, 1097, 1174, 1174,
+     1075, 1074,  227, 1075, 1068, 1071, 1080, 1066, 1082, 1068,
+     1075, 1060, 1061, 1058, 1058, 1064, 1060, 1057, 1054,    0,
+      132, 1058,  156, 1056,  121,  175, 1061, 1049, 1052,  194,
+      145, 1058, 1174, 1174,  285, 1060,  196, 1061,  202, 1050,
+     1062, 1174,  303, 1174, 1087,    0,    0,  190,  195,  311,
+      319,  104, 1174,  221,  246, 1174, 1174, 1069,  185,  150,
+     1174, 1112,  262, 1174, 1111, 1075, 1042, 1039,  111,  289,
+     1050, 1031, 1039, 1037, 1046,  171, 1026, 1040, 1033, 1077,
+        0, 1031, 1033, 1043, 1038, 1025,  276, 1040, 1038, 1034,
+
+     1025, 1032, 1018, 1034,    0, 1019, 1024,    0, 1025, 1022,
+     1011, 1009, 1011, 1013, 1021, 1006, 1004, 1004, 1017, 1016,
+     1005, 1010, 1014, 1016, 1004, 1067, 1005, 1007, 1007, 1002,
+     1062, 1004, 1004, 1002,  999,  343,  351, 1028,  304, 1174,
+      225, 1174, 1174,  338,  317, 1021, 1014, 1015,    0,  989,
+      995,  986,  979,  992,  982,  992,  975,  196,  979,  974,
+      984,  986,  973,  974,  975, 1017,    0,    0,  974,    0,
+        0,  965,  974,  962,  969,    0,    0,  963,  974,  959,
+        0,  963,    0,  958,  958,  957,  954,  967,  956,  961,
+      966,  965,    0,  963,  952,  958,    0,  945,  958, 1014,
+
+     1174,  947, 1010, 1011,  952, 1009, 1174,  950,  950, 1004,
+      940,  383, 1174,  307, 1174,  340,    0,  959,  962,    0,
+      931,  387,  932,  945,  929,  934,  940,  935,  326,  929,
+      923,  927,  937,  934,  919,  936,    0,    0,    0,  922,
+      923,  929,  919,    0,    0,  927,  912,  921,  915,    0,
+      924,  921,  923,  906,  916,  918,    0,  908,  912,    0,
+      915,  971,  970, 1174,  969,  350,  910,  399,  914,  955,
+      949, 1174,  942,  918,  890,  391,  909,  899,  895,  887,
+      887,  890,  889,  935,  932,  880,  882,  893,  896,  881,
+      929,  875,  873,  873,    0,    0,    0,  886,  887,    0,
+
+        0,    0,    0,    0,    0,  883,  883,  875,  936,  937,
+     1174,  936, 1174,  396,  397,  352,  409,  933, 1174,  913,
+      911,  863,  864,  404,  876,    0,    0,  861,  858,  870,
+      903,    0,  861,  863,  867,  858,  863,  901,  858,  861,
+        0,  848,  845,  913,  858,  856,    0,  860,  911,  435,
+     1174,  400,  439,  443,  910,  909,  856,  886,  840,  841,
+      445,  832,  846,  841,  849,  848,  835,  843,  845,  832,
+        0,  872,  830,    0,    0,    0,  838,    0,    0,  883,
+      854,  413,  838,  889,  454, 1174,  407,  888, 1174,  887,
+     1174,  853,  833,    0,  831,  831,  815,  810,  825,  812,
+
+      826,  806,    0,  805,  823,    0,  822,  816,  812, 1174,
+      862,  831,  401,  832,  414,  826,  834,  795,  792,  800,
+      806,  456,  796,    0,    0,  809,    0,  789,  807,  805,
+      805,  408,  817,  424,  814,  812,  792,  785,  798,  798,
+      467,  793,  796,  795,    0,  794,  776,  800,  314,  791,
+      425,  798,  800,  776,  775,  767,  785,    0,  826,  259,
+      783,    0,    0,  832,  800,  457,  788,  436,  786,  786,
+      772,  775,  766,    0, 1174,  402,    0,  774,  794,  461,
+      791,  467,  792,  777, 1174,  750,  756,  452,  767,  777,
+      468,  786,  471,  775,  784,  753,  756,  462,  742,  770,
+
+      473,  769,  474,  764,  767,  743, 1174,  465,  735,  770,
+      478,  763,  481,    0,  758,  745,  472,  748,  757,  483,
+      764,  488,    0,  746,  469,  726,  744,  484,  752,  485,
+      725,  476,  671,  679,  489,  678,  493, 1174,  486,  674,
+      499,  505,  676,  494,  501,  675,  720,  618, 1174,  617,
+      594, 1174,  530,  535,  574,  496,  544,  543, 1174,  539,
+      538, 1174,  521,  517,  454,  507,  446,  455,  439,  432,
+      242,  210,  171,   92, 1174, 1174,  549,  559,  569,  574,
+      584,  589,  598,  608,  617,  627,  637,  647,  657,  667,
+      677,  681,  691,  701,  711,  718,  727,  737,  747,  757,
+
+      767,  777,  787
     } ;
 
-static yyconst flex_int16_t yy_def[701] =
+static yyconst flex_int16_t yy_def[704] =
     {   0,
-      673,    1,  673,  673,  673,  674,  673,  675,  673,  673,
-      673,  676,  673,  673,  673,  673,  673,  673,  673,  673,
-      673,  673,  673,  673,  673,  673,  673,  673,  677,  677,
-      677,  677,  677,  673,  673,  673,  673,  677,  677,  677,
-      677,  677,  677,  677,  677,  677,  677,  677,  677,  677,
-      677,  677,  677,  673,  673,  673,  673,  673,  674,  673,
-      675,  673,  675,  673,  673,  673,  673,  673,  673,  673,
-      673,  673,  673,  676,  673,  676,  673,  673,  673,  673,
-      673,  673,  673,  673,  673,  678,  673,   84,   21,   22,
-      673,  673,  673,  679,  673,  673,  673,  673,  673,  673,
-
-      673,  673,  677,  677,  677,  680,  681,  677,  673,  673,
-      677,  677,  677,  677,  677,  677,  677,  677,  677,  677,
-      677,  677,  677,  677,  677,  677,  677,  677,  677,  677,
-      677,  677,  677,  677,  677,  677,  677,  677,  677,  677,
-      677,  673,  673,  673,  673,  673,  673,  673,  673,  673,
-      673,  673,  673,  673,  682,  678,  673,  673,  673,  673,
-      673,  673,  673,  679,  673,  673,  677,  677,  680,  673,
-      680,  681,  673,  681,  677,  677,  677,  677,  677,  677,
-      677,  677,  677,  677,  677,  677,  677,  677,  677,  677,
-      677,  677,  677,  677,  677,  677,  677,  677,  677,  677,
-
-      677,  677,  677,  677,  677,  677,  677,  677,  677,  677,
-      677,  677,  677,  677,  677,  677,  677,  677,  677,  677,
-      677,  677,  677,  683,  673,  673,  673,  673,  684,  673,
-      673,  673,  673,  673,  673,  682,  673,  673,  673,  673,
-      673,  673,  673,  677,  677,  677,  677,  677,  677,  677,
-      677,  677,  677,  677,  677,  677,  677,  677,  677,  677,
-      677,  677,  677,  677,  677,  677,  677,  677,  677,  677,
-      677,  677,  677,  677,  677,  677,  677,  677,  677,  677,
-      677,  677,  677,  677,  677,  677,  677,  677,  677,  677,
-      677,  677,  677,  677,  677,  677,  683,  673,  673,  673,
-
-      685,  673,  684,  673,  673,  673,  673,  673,  673,  673,
-      673,  673,  673,  677,  677,  677,  677,  677,  677,  677,
-      677,  677,  677,  677,  677,  677,  677,  677,  677,  677,
-      677,  677,  677,  677,  677,  677,  677,  677,  677,  677,
-      677,  677,  677,  677,  677,  677,  677,  677,  677,  677,
-      677,  677,  677,  677,  677,  677,  677,  673,  686,  685,
-      673,  687,  673,  673,  673,  673,  673,  673,  673,  677,
-      677,  677,  673,  677,  677,  677,  677,  677,  677,  677,
-      677,  677,  677,  677,  677,  677,  677,  677,  677,  677,
-      677,  677,  677,  677,  677,  677,  677,  677,  677,  677,
-
-      677,  677,  677,  677,  677,  673,  686,  673,  687,  673,
-      673,  688,  673,  673,  673,  673,  677,  677,  677,  673,
-      677,  677,  677,  677,  677,  677,  677,  677,  677,  677,
-      677,  677,  677,  677,  677,  677,  677,  677,  677,  677,
-      677,  677,  677,  689,  673,  688,  688,  673,  688,  673,
-      690,  691,  692,  677,  677,  677,  673,  673,  677,  677,
-      677,  677,  677,  677,  677,  677,  677,  677,  677,  677,
-      677,  677,  677,  673,  677,  677,  693,  673,  688,  673,
-      690,  690,  673,  690,  691,  673,  692,  673,  677,  677,
-      677,  673,  673,  673,  677,  677,  677,  677,  677,  677,
-
-      677,  677,  677,  677,  677,  673,  673,  693,  673,  688,
-      673,  690,  677,  677,  673,  673,  673,  677,  677,  677,
-      677,  677,  677,  677,  677,  677,  673,  673,  688,  673,
-      690,  677,  677,  673,  673,  673,  677,  673,  694,  677,
-      677,  677,  677,  673,  673,  688,  673,  690,  677,  677,
-      673,  673,  673,  677,  694,  694,  694,  677,  677,  677,
-      673,  673,  688,  673,  690,  677,  677,  673,  673,  673,
-      677,  673,  694,  677,  673,  673,  688,  673,  690,  677,
-      677,  673,  673,  673,  694,  673,  673,  688,  673,  690,
-      677,  677,  673,  673,  694,  673,  673,  688,  673,  690,
-
-      677,  677,  673,  673,  694,  673,  673,  688,  673,  690,
-      677,  677,  673,  694,  673,  673,  688,  673,  690,  677,
-      673,  694,  673,  673,  688,  673,  690,  673,  694,  673,
-      673,  688,  673,  690,  673,  694,  673,  695,  696,  673,
-      690,  694,  673,  695,  695,  673,  696,  696,  673,  697,
-      698,  699,  673,  697,  697,  673,  698,  698,  673,  699,
-      699,  673,  699,  673,  673,  673,  673,  673,  673,  700,
-      700,  673,    0,  673,  673,  673,  673,  673,  673,  673,
-      673,  673,  673,  673,  673,  673,  673,  673,  673,  673,
-      673,  673,  673,  673,  673,  673,  673,  673,  673,  673
+      676,    1,  676,  676,  676,  677,  676,  678,  676,  676,
+      676,  679,  676,  676,  676,  676,  676,  676,  676,  676,
+      676,  676,  676,  676,  676,  676,  676,  676,  680,  680,
+      680,  680,  680,  676,  676,  676,  676,  680,  680,  680,
+      680,  680,  680,  680,  680,  680,  680,  680,  680,  680,
+      680,  680,  680,  676,  676,  676,  676,  676,  677,  676,
+      678,  676,  678,  676,  676,  676,  676,  676,  676,  676,
+      676,  676,  676,  679,  676,  679,  676,  676,  676,  676,
+      676,  676,  676,  676,  676,  681,  676,   84,   21,   22,
+      676,  676,  676,  682,  676,  676,  676,  676,  676,  676,
+
+      676,  676,  680,  680,  680,  683,  684,  680,  676,  676,
+      680,  680,  680,  680,  680,  680,  680,  680,  680,  680,
+      680,  680,  680,  680,  680,  680,  680,  680,  680,  680,
+      680,  680,  680,  680,  680,  680,  680,  680,  680,  680,
+      680,  680,  676,  676,  676,  676,  676,  676,  676,  676,
+      676,  676,  676,  676,  676,  685,  681,  676,  676,  676,
+      676,  676,  676,  676,  682,  676,  676,  680,  680,  683,
+      676,  683,  684,  676,  684,  680,  680,  680,  680,  680,
+      680,  680,  680,  680,  680,  680,  680,  680,  680,  680,
+      680,  680,  680,  680,  680,  680,  680,  680,  680,  680,
+
+      680,  680,  680,  680,  680,  680,  680,  680,  680,  680,
+      680,  680,  680,  680,  680,  680,  680,  680,  680,  680,
+      680,  680,  680,  680,  680,  686,  676,  676,  676,  676,
+      687,  676,  676,  676,  676,  676,  676,  685,  676,  676,
+      676,  676,  676,  676,  676,  680,  680,  680,  680,  680,
+      680,  680,  680,  680,  680,  680,  680,  680,  680,  680,
+      680,  680,  680,  680,  680,  680,  680,  680,  680,  680,
+      680,  680,  680,  680,  680,  680,  680,  680,  680,  680,
+      680,  680,  680,  680,  680,  680,  680,  680,  680,  680,
+      680,  680,  680,  680,  680,  680,  680,  680,  680,  686,
+
+      676,  676,  676,  688,  676,  687,  676,  676,  676,  676,
+      676,  676,  676,  676,  676,  676,  680,  680,  680,  680,
+      680,  680,  680,  680,  680,  680,  680,  680,  680,  680,
+      680,  680,  680,  680,  680,  680,  680,  680,  680,  680,
+      680,  680,  680,  680,  680,  680,  680,  680,  680,  680,
+      680,  680,  680,  680,  680,  680,  680,  680,  680,  680,
+      676,  689,  688,  676,  690,  676,  676,  676,  676,  676,
+      676,  676,  680,  680,  680,  676,  680,  680,  680,  680,
+      680,  680,  680,  680,  680,  680,  680,  680,  680,  680,
+      680,  680,  680,  680,  680,  680,  680,  680,  680,  680,
 
+      680,  680,  680,  680,  680,  680,  680,  680,  676,  689,
+      676,  690,  676,  676,  691,  676,  676,  676,  676,  680,
+      680,  680,  676,  680,  680,  680,  680,  680,  680,  680,
+      680,  680,  680,  680,  680,  680,  680,  680,  680,  680,
+      680,  680,  680,  680,  680,  680,  692,  676,  691,  691,
+      676,  691,  676,  693,  694,  695,  680,  680,  680,  676,
+      676,  680,  680,  680,  680,  680,  680,  680,  680,  680,
+      680,  680,  680,  680,  680,  680,  676,  680,  680,  696,
+      676,  691,  676,  693,  693,  676,  693,  694,  676,  695,
+      676,  680,  680,  680,  676,  676,  676,  680,  680,  680,
+
+      680,  680,  680,  680,  680,  680,  680,  680,  676,  676,
+      696,  676,  691,  676,  693,  680,  680,  676,  676,  676,
+      680,  680,  680,  680,  680,  680,  680,  680,  680,  676,
+      676,  691,  676,  693,  680,  680,  676,  676,  676,  680,
+      676,  697,  680,  680,  680,  680,  676,  676,  691,  676,
+      693,  680,  680,  676,  676,  676,  680,  697,  697,  697,
+      680,  680,  680,  676,  676,  691,  676,  693,  680,  680,
+      676,  676,  676,  680,  676,  697,  680,  676,  676,  691,
+      676,  693,  680,  680,  676,  676,  676,  697,  676,  676,
+      691,  676,  693,  680,  680,  676,  676,  697,  676,  676,
+
+      691,  676,  693,  680,  680,  676,  676,  697,  676,  676,
+      691,  676,  693,  680,  680,  676,  697,  676,  676,  691,
+      676,  693,  680,  676,  697,  676,  676,  691,  676,  693,
+      676,  697,  676,  676,  691,  676,  693,  676,  697,  676,
+      698,  699,  676,  693,  697,  676,  698,  698,  676,  699,
+      699,  676,  700,  701,  702,  676,  700,  700,  676,  701,
+      701,  676,  702,  702,  676,  702,  676,  676,  676,  676,
+      676,  676,  703,  703,  676,    0,  676,  676,  676,  676,
+      676,  676,  676,  676,  676,  676,  676,  676,  676,  676,
+      676,  676,  676,  676,  676,  676,  676,  676,  676,  676,
+
+      676,  676,  676
     } ;
 
-static yyconst flex_int16_t yy_nxt[1256] =
+static yyconst flex_int16_t yy_nxt[1259] =
     {   0,
         4,    5,    6,    5,    5,    7,    8,    9,   10,   11,
        12,   13,   14,   15,   16,   17,   18,   19,   20,   21,
@@ -784,138 +787,138 @@ static yyconst flex_int16_t yy_nxt[1256] =
        44,   45,   29,   46,   29,   29,   47,   29,   29,   29,
        29,   48,   49,   50,   51,   52,   53,   29,   29,   29,
        54,   55,   56,   57,   58,   62,   58,   58,   64,   70,
-       71,   72,   75,   78,  672,   83,   80,   84,   84,   84,
+       71,   72,   75,   78,  675,   83,   80,   84,   84,   84,
 
        84,   84,   84,   84,   84,   96,  101,  102,   85,   79,
-       81,   82,   73,   86,  106,  114,  137,  115,  107,  111,
-      142,  120,  117,  138,   97,   87,   98,   99,  112,  118,
-       63,  121,  129,   76,  125,  122,  119,  123,   62,  113,
-      130,   75,   65,   66,  163,  126,  124,   67,  127,   58,
-       68,   58,   58,  154,   69,   88,  154,   89,   89,   89,
-       89,   89,   89,   90,   90,  133,  134,  146,  163,  147,
-      173,  143,  170,  162,  221,   91,  135,  222,  157,  136,
-       92,  155,   76,   63,  158,  673,   93,   94,  144,  144,
-      144,  144,  144,  144,  144,  144,  208,   91,  205,  162,
-
-      250,  251,  157,  161,   92,  206,  229,  209,  210,  162,
-      158,  174,   93,  673,  212,   94,   88,  171,   90,   90,
-       90,   90,   90,   90,   90,   90,  214,  161,  219,  226,
-      173,  672,  213,  239,  259,  162,   91,  220,  227,  241,
-      237,   92,  215,  159,  260,  159,  238,   93,  160,  160,
-      160,  160,  160,  160,  160,  160,  252,  239,   91,  245,
-      230,  269,  270,  241,  237,   92,  246,  253,  170,  572,
-      231,  174,  238,   93,   84,   84,   84,   84,   84,   84,
-       84,   84,  178,  381,  179,  180,  181,  382,  242,  224,
-      182,  670,  152,  153,  243,  183,  669,  153,  184,  185,
-
-      186,  187,  188,  189,  144,  144,  144,  144,  144,  144,
-      144,  144,  242,  171,  152,  153,  573,  234,  572,  234,
-      243,  153,  235,  235,  235,  235,  235,  235,  235,  235,
-      160,  160,  160,  160,  160,  160,  160,  160,  160,  160,
-      160,  160,  160,  160,  160,  160,  235,  235,  235,  235,
-      235,  235,  235,  235,  238,  325,  448,  240,  668,  310,
-      313,  240,  326,  235,  235,  235,  235,  235,  235,  235,
-      235,  311,  312,  369,  667,  367,  585,  312,  367,  240,
-      238,  448,  153,  310,  313,  240,  153,  368,  373,  411,
-      373,  373,  412,  411,  666,  311,  411,  369,  312,  373,
-
-      563,  373,  373,  312,  153,  447,  448,  483,  447,  452,
-      153,  414,  414,  414,  414,  414,  414,  414,  414,  450,
-      448,  448,  451,  483,  414,  414,  414,  414,  414,  414,
-      414,  414,  458,  479,  458,  458,  447,  448,  483,  447,
-      450,  374,  448,  450,  482,  483,  445,  482,  458,  448,
-      458,  458,  482,  483,  483,  482,  483,  510,  449,  512,
-      529,  538,  548,  448,  538,  448,  538,  572,  483,  538,
-      483,  539,  572,  420,  448,  531,  555,  483,  572,  448,
-      483,  572,  577,  572,  448,  483,  448,  483,  572,  449,
-      448,  483,  665,  480,  546,  572,  588,  484,  483,  600,
-
-      579,  493,  663,  590,  598,  484,  565,  645,  646,  664,
-      645,  652,  572,  663,  617,  608,  661,  659,  610,  605,
-      627,  619,  494,  614,  622,  659,  595,  625,  648,  649,
-      634,  648,  656,  655,  656,  636,  655,  656,  632,  662,
-      661,  642,  639,  641,  629,  658,  659,  649,  658,  649,
-      651,   59,   59,  646,   59,   59,   59,   59,   59,   59,
-       59,   61,   61,   61,   61,   61,   61,   61,   61,   61,
-       61,   74,   74,   74,   74,   74,   74,   74,   74,   74,
-       74,  103,  103,  103,  103,  103,  156,  156,  646,  156,
-      156,  156,  156,  156,  156,  156,  164,  164,  653,  164,
-
-      169,  169,  169,  169,  169,  169,  169,  169,  169,  169,
-      172,  172,  172,  172,  172,  172,  172,  172,  172,  172,
-      236,  650,  643,  236,  236,  236,  236,  236,  236,  297,
-      297,  297,  297,  297,  297,  297,  297,  297,  297,  303,
-      303,  303,  303,  303,  303,  303,  303,  303,  303,  360,
-      360,  360,  360,  360,  360,  360,  360,  360,  360,  407,
-      407,  407,  407,  407,  407,  407,  407,  407,  407,  409,
-      409,  409,  409,  409,  409,  409,  409,  409,  409,  446,
-      446,  446,  446,  446,  446,  446,  446,  446,  446,  477,
-      477,  477,  477,  481,  481,  481,  481,  481,  481,  481,
-
-      481,  481,  481,  485,  485,  485,  485,  485,  485,  485,
-      485,  485,  485,  487,  487,  487,  487,  487,  487,  487,
-      487,  487,  487,  508,  640,  508,  508,  508,  508,  508,
-      556,  638,  637,  635,  633,  631,  630,  556,  556,  644,
-      644,  644,  644,  644,  644,  644,  644,  644,  644,  647,
-      647,  647,  647,  647,  647,  647,  647,  647,  647,  654,
-      654,  654,  654,  654,  654,  654,  654,  654,  654,  657,
-      657,  657,  657,  657,  657,  657,  657,  657,  657,  660,
-      660,  628,  660,  660,  660,  660,  660,  660,  660,  671,
-      671,  671,  671,  671,  671,  671,  671,  671,  671,  626,
-
-      624,  623,  621,  620,  618,  616,  615,  613,  612,  611,
-      609,  607,  606,  604,  603,  602,  601,  599,  597,  596,
-      594,  593,  592,  591,  589,  587,  586,  584,  583,  582,
-      581,  580,  578,  576,  575,  574,  572,  571,  570,  569,
-      568,  567,  566,  564,  562,  561,  560,  559,  558,  557,
-      554,  553,  552,  551,  550,  549,  547,  545,  544,  543,
-      542,  541,  540,  537,  536,  535,  534,  533,  532,  530,
-      528,  507,  527,  526,  525,  524,  523,  522,  521,  520,
-      519,  518,  517,  516,  515,  514,  513,  488,  486,  483,
-      511,  509,  507,  506,  505,  504,  503,  502,  501,  500,
-
-      499,  498,  497,  496,  495,  492,  491,  490,  489,  488,
-      486,  448,  478,  476,  475,  474,  473,  472,  471,  470,
-      469,  468,  467,  466,  465,  464,  463,  462,  461,  460,
-      459,  457,  456,  455,  454,  453,  410,  408,  444,  443,
-      442,  441,  440,  439,  438,  437,  436,  435,  434,  433,
-      432,  431,  430,  429,  428,  427,  426,  425,  424,  423,
-      422,  421,  419,  418,  417,  416,  368,  415,  413,  410,
-      361,  408,  406,  405,  404,  403,  402,  401,  400,  399,
-      398,  397,  396,  395,  394,  393,  392,  391,  390,  389,
-      388,  387,  386,  385,  384,  383,  380,  379,  378,  377,
-
-      376,  375,  372,  371,  370,  366,  365,  364,  363,  304,
-      362,  361,  359,  358,  298,  357,  356,  355,  354,  353,
-      352,  351,  350,  349,  348,  347,  346,  345,  344,  343,
-      342,  341,  340,  339,  338,  337,  336,  335,  334,  333,
-      332,  331,  330,  329,  328,  327,  324,  323,  322,  321,
-      320,  319,  318,  317,  316,  315,  314,  309,  308,  307,
-      306,  305,  304,  302,  301,  300,  299,  298,  296,  295,
-      294,  293,  292,  291,  290,  289,  288,  287,  286,  285,
-      284,  283,  282,  281,  280,  279,  278,  277,  276,  275,
-      274,  273,  272,  271,  268,  267,  266,  265,  264,  263,
-
-      262,  261,  258,  257,  256,  255,  254,  249,  248,  247,
-      673,  673,  244,  155,  233,  232,  228,  225,  223,  218,
-      217,  216,  211,  207,  204,  203,  202,  201,  200,  199,
-      198,  197,  196,  195,  194,  193,  192,  191,  190,  177,
-      176,  175,  168,  167,  166,  165,  151,  673,  150,  149,
-      148,  145,  673,  141,  140,  139,  132,  131,  128,  116,
-      110,  109,  108,  105,  104,  100,   95,   77,   60,  673,
-        3,  673,  673,  673,  673,  673,  673,  673,  673,  673,
-      673,  673,  673,  673,  673,  673,  673,  673,  673,  673,
-      673,  673,  673,  673,  673,  673,  673,  673,  673,  673,
-
-      673,  673,  673,  673,  673,  673,  673,  673,  673,  673,
-      673,  673,  673,  673,  673,  673,  673,  673,  673,  673,
-      673,  673,  673,  673,  673,  673,  673,  673,  673,  673,
-      673,  673,  673,  673,  673,  673,  673,  673,  673,  673,
-      673,  673,  673,  673,  673,  673,  673,  673,  673,  673,
-      673,  673,  673,  673,  673
+       81,   82,   73,   86,  106,  114,  143,  115,  107,  111,
+      116,  123,  117,  124,   97,   87,   98,   99,  112,  130,
+       63,  118,  125,   76,  121,  126,   62,  131,  119,  113,
+      171,  138,   65,   66,  122,  120,  127,   67,  139,  128,
+       68,  147,  163,  148,   69,   88,  171,   89,   89,   89,
+       89,   89,   89,   90,   90,  134,  135,  144,   58,   75,
+       58,   58,  164,  675,  155,   91,  136,  155,  163,  137,
+       92,   63,  214,  252,  253,  172,   93,   94,  145,  145,
+      145,  145,  145,  145,  145,  145,  164,   91,  207,  174,
+
+      215,  172,  156,  162,   92,  208,  231,  158,  223,  163,
+       76,  224,   93,  159,  676,   94,   88,  210,   90,   90,
+       90,   90,   90,   90,   90,   90,  247,  162,  211,  212,
+      216,  158,  239,  248,  261,  163,   91,  241,  240,  159,
+      175,   92,  676,  160,  262,  160,  217,   93,  161,  161,
+      161,  161,  161,  161,  161,  161,  239,  221,   91,  228,
+      232,  241,  328,  243,  240,   92,  222,  313,  229,  329,
+      233,  575,  174,   93,   84,   84,   84,   84,   84,   84,
+       84,   84,  179,  673,  180,  181,  182,  243,  244,  226,
+      183,  313,  153,  154,  245,  184,  672,  154,  185,  186,
+
+      187,  188,  189,  190,  145,  145,  145,  145,  145,  145,
+      145,  145,  244,  175,  153,  154,  451,  236,  576,  236,
+      245,  154,  237,  237,  237,  237,  237,  237,  237,  237,
+      161,  161,  161,  161,  161,  161,  161,  161,  161,  161,
+      161,  161,  161,  161,  161,  161,  384,  254,  272,  273,
+      385,  414,  240,  453,  415,  315,  454,  242,  255,  316,
+      566,  242,  237,  237,  237,  237,  237,  237,  237,  237,
+      237,  237,  237,  237,  237,  237,  237,  237,  240,  242,
+      314,  315,  372,  316,  370,  242,  315,  370,  376,  154,
+      376,  376,  376,  154,  376,  376,  371,  414,  450,  451,
+
+      414,  450,  451,  451,  314,  461,  372,  461,  461,  486,
+      451,  154,  315,  455,  575,  451,  486,  154,  417,  417,
+      417,  417,  417,  417,  417,  417,  486,  486,  417,  417,
+      417,  417,  417,  417,  417,  417,  450,  451,  486,  450,
+      453,  377,  532,  453,  485,  486,  461,  485,  461,  461,
+      448,  452,  513,  534,  482,  485,  486,  541,  485,  451,
+      541,  515,  549,  451,  575,  551,  423,  542,  541,  486,
+      451,  541,  588,  486,  575,  451,  486,  575,  558,  568,
+      451,  575,  582,  486,  575,  451,  451,  486,  575,  452,
+      486,  451,  580,  483,  591,  486,  486,  487,  575,  496,
+
+      648,  649,  593,  648,  603,  671,  651,  652,  487,  651,
+      670,  601,  655,  575,  669,  620,  611,  613,  668,  666,
+      497,  608,  617,  598,  622,  630,  667,  625,  628,  666,
+      637,  658,  659,  664,  658,  639,  661,  662,  635,  661,
+      662,  662,  632,  642,  645,  659,  659,  644,  654,   59,
+       59,  665,   59,   59,   59,   59,   59,   59,   59,   61,
+       61,   61,   61,   61,   61,   61,   61,   61,   61,   74,
+       74,   74,   74,   74,   74,   74,   74,   74,   74,  103,
+      103,  103,  103,  103,  157,  157,  664,  157,  157,  157,
+      157,  157,  157,  157,  165,  165,  652,  165,  170,  170,
+
+      170,  170,  170,  170,  170,  170,  170,  170,  173,  173,
+      173,  173,  173,  173,  173,  173,  173,  173,  238,  652,
+      649,  238,  238,  238,  238,  238,  238,  300,  300,  300,
+      300,  300,  300,  300,  300,  300,  300,  306,  306,  306,
+      306,  306,  306,  306,  306,  306,  306,  363,  363,  363,
+      363,  363,  363,  363,  363,  363,  363,  410,  410,  410,
+      410,  410,  410,  410,  410,  410,  410,  412,  412,  412,
+      412,  412,  412,  412,  412,  412,  412,  449,  449,  449,
+      449,  449,  449,  449,  449,  449,  449,  480,  480,  480,
+      480,  484,  484,  484,  484,  484,  484,  484,  484,  484,
+
+      484,  488,  488,  488,  488,  488,  488,  488,  488,  488,
+      488,  490,  490,  490,  490,  490,  490,  490,  490,  490,
+      490,  511,  649,  511,  511,  511,  511,  511,  559,  656,
+      653,  646,  643,  641,  640,  559,  559,  647,  647,  647,
+      647,  647,  647,  647,  647,  647,  647,  650,  650,  650,
+      650,  650,  650,  650,  650,  650,  650,  657,  657,  657,
+      657,  657,  657,  657,  657,  657,  657,  660,  660,  660,
+      660,  660,  660,  660,  660,  660,  660,  663,  663,  638,
+      663,  663,  663,  663,  663,  663,  663,  674,  674,  674,
+      674,  674,  674,  674,  674,  674,  674,  636,  634,  633,
+
+      631,  629,  627,  626,  624,  623,  621,  619,  618,  616,
+      615,  614,  612,  610,  609,  607,  606,  605,  604,  602,
+      600,  599,  597,  596,  595,  594,  592,  590,  589,  587,
+      586,  585,  584,  583,  581,  579,  578,  577,  575,  574,
+      573,  572,  571,  570,  569,  567,  565,  564,  563,  562,
+      561,  560,  557,  556,  555,  554,  553,  552,  550,  548,
+      547,  546,  545,  544,  543,  540,  539,  538,  537,  536,
+      535,  533,  531,  510,  530,  529,  528,  527,  526,  525,
+      524,  523,  522,  521,  520,  519,  518,  517,  516,  491,
+      489,  486,  514,  512,  510,  509,  508,  507,  506,  505,
+
+      504,  503,  502,  501,  500,  499,  498,  495,  494,  493,
+      492,  491,  489,  451,  481,  479,  478,  477,  476,  475,
+      474,  473,  472,  471,  470,  469,  468,  467,  466,  465,
+      464,  463,  462,  460,  459,  458,  457,  456,  413,  411,
+      447,  446,  445,  444,  443,  442,  441,  440,  439,  438,
+      437,  436,  435,  434,  433,  432,  431,  430,  429,  428,
+      427,  426,  425,  424,  422,  421,  420,  419,  371,  418,
+      416,  413,  364,  411,  409,  408,  407,  406,  405,  404,
+      403,  402,  401,  400,  399,  398,  397,  396,  395,  394,
+      393,  392,  391,  390,  389,  388,  387,  386,  383,  382,
+
+      381,  380,  379,  378,  375,  374,  373,  369,  368,  367,
+      366,  307,  365,  364,  362,  361,  301,  360,  359,  358,
+      357,  356,  355,  354,  353,  352,  351,  350,  349,  348,
+      347,  346,  345,  344,  343,  342,  341,  340,  339,  338,
+      337,  336,  335,  334,  333,  332,  331,  330,  327,  326,
+      325,  324,  323,  322,  321,  320,  319,  318,  317,  312,
+      311,  310,  309,  308,  307,  305,  304,  303,  302,  301,
+      299,  298,  297,  296,  295,  294,  293,  292,  291,  290,
+      289,  288,  287,  286,  285,  284,  283,  282,  281,  280,
+      279,  278,  277,  276,  275,  274,  271,  270,  269,  268,
+
+      267,  266,  265,  264,  263,  260,  259,  258,  257,  256,
+      251,  250,  249,  676,  676,  246,  156,  235,  234,  230,
+      227,  225,  220,  219,  218,  213,  209,  206,  205,  204,
+      203,  202,  201,  200,  199,  198,  197,  196,  195,  194,
+      193,  192,  191,  178,  177,  176,  169,  168,  167,  166,
+      152,  676,  151,  150,  149,  146,  676,  142,  141,  140,
+      133,  132,  129,  110,  109,  108,  105,  104,  100,   95,
+       77,   60,  676,    3,  676,  676,  676,  676,  676,  676,
+      676,  676,  676,  676,  676,  676,  676,  676,  676,  676,
+      676,  676,  676,  676,  676,  676,  676,  676,  676,  676,
+
+      676,  676,  676,  676,  676,  676,  676,  676,  676,  676,
+      676,  676,  676,  676,  676,  676,  676,  676,  676,  676,
+      676,  676,  676,  676,  676,  676,  676,  676,  676,  676,
+      676,  676,  676,  676,  676,  676,  676,  676,  676,  676,
+      676,  676,  676,  676,  676,  676,  676,  676,  676,  676,
+      676,  676,  676,  676,  676,  676,  676,  676
     } ;
 
-static yyconst flex_int16_t yy_chk[1256] =
+static yyconst flex_int16_t yy_chk[1259] =
     {   0,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
@@ -926,135 +929,135 @@ static yyconst flex_int16_t yy_chk[1256] =
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    5,    8,    5,    5,    9,   10,
-       10,   11,   12,   16,  671,   19,   18,   19,   19,   19,
+       10,   11,   12,   16,  674,   19,   18,   19,   19,   19,
 
        19,   19,   19,   19,   19,   25,   27,   27,   20,   16,
-       18,   18,   11,   20,   32,   39,   50,   39,   32,   38,
-       55,   42,   41,   50,   25,   20,   25,   25,   38,   41,
-        8,   42,   46,   12,   44,   43,   41,   43,   61,   38,
-       46,   74,    9,    9,   93,   44,   43,    9,   44,   58,
-        9,   58,   58,   85,    9,   21,   85,   21,   21,   21,
-       21,   21,   21,   21,   21,   49,   49,   66,   93,   66,
-      107,   55,  106,  161,  140,   21,   49,  140,   89,   49,
-       21,   85,   74,   61,   89,   89,   21,   21,   64,   64,
-       64,   64,   64,   64,   64,   64,  132,   21,  130,  161,
-
-      178,  178,   89,   92,   21,  130,  148,  132,  132,   92,
-       89,  107,   21,   89,  134,   21,   22,  106,   22,   22,
-       22,   22,   22,   22,   22,   22,  135,   92,  139,  146,
-      172,  670,  134,  158,  185,   92,   22,  139,  146,  163,
-      157,   22,  135,   91,  185,   91,  157,   22,   91,   91,
-       91,   91,   91,   91,   91,   91,  179,  158,   22,  168,
-      148,  195,  195,  163,  157,   22,  168,  179,  169,  557,
-      148,  172,  157,   22,   84,   84,   84,   84,   84,   84,
-       84,   84,  113,  326,  113,  113,  113,  326,  164,  144,
-      113,  669,   84,   84,  164,  113,  668,   84,  113,  113,
-
-      113,  113,  113,  113,  144,  144,  144,  144,  144,  144,
-      144,  144,  164,  169,   84,   84,  557,  152,  573,  152,
-      164,   84,  152,  152,  152,  152,  152,  152,  152,  152,
-      159,  159,  159,  159,  159,  159,  159,  159,  160,  160,
-      160,  160,  160,  160,  160,  160,  234,  234,  234,  234,
-      234,  234,  234,  234,  237,  256,  546,  160,  667,  239,
-      243,  160,  256,  235,  235,  235,  235,  235,  235,  235,
-      235,  242,  311,  313,  666,  309,  573,  242,  309,  160,
-      237,  449,  235,  239,  243,  160,  235,  309,  319,  363,
-      319,  319,  363,  411,  665,  242,  411,  313,  311,  373,
-
-      546,  373,  373,  242,  235,  412,  412,  484,  412,  414,
-      235,  365,  365,  365,  365,  365,  365,  365,  365,  413,
-      479,  510,  413,  531,  414,  414,  414,  414,  414,  414,
-      414,  414,  421,  449,  421,  421,  447,  447,  512,  447,
-      450,  319,  529,  450,  451,  451,  411,  451,  458,  563,
-      458,  458,  482,  482,  548,  482,  565,  479,  412,  484,
-      510,  519,  531,  588,  519,  577,  538,  585,  590,  538,
-      579,  519,  595,  373,  598,  512,  538,  600,  605,  608,
-      610,  614,  563,  622,  617,  619,  625,  627,  629,  447,
-      632,  634,  664,  450,  529,  636,  577,  451,  641,  590,
-
-      565,  458,  663,  579,  588,  482,  548,  638,  638,  662,
-      638,  642,  642,  661,  608,  598,  660,  658,  600,  595,
-      619,  610,  458,  605,  614,  657,  585,  617,  639,  639,
-      627,  639,  655,  650,  650,  629,  650,  654,  625,  653,
-      652,  636,  632,  634,  622,  651,  651,  648,  651,  647,
-      641,  674,  674,  645,  674,  674,  674,  674,  674,  674,
-      674,  675,  675,  675,  675,  675,  675,  675,  675,  675,
-      675,  676,  676,  676,  676,  676,  676,  676,  676,  676,
-      676,  677,  677,  677,  677,  677,  678,  678,  644,  678,
-      678,  678,  678,  678,  678,  678,  679,  679,  643,  679,
-
-      680,  680,  680,  680,  680,  680,  680,  680,  680,  680,
-      681,  681,  681,  681,  681,  681,  681,  681,  681,  681,
-      682,  640,  637,  682,  682,  682,  682,  682,  682,  683,
-      683,  683,  683,  683,  683,  683,  683,  683,  683,  684,
-      684,  684,  684,  684,  684,  684,  684,  684,  684,  685,
-      685,  685,  685,  685,  685,  685,  685,  685,  685,  686,
-      686,  686,  686,  686,  686,  686,  686,  686,  686,  687,
-      687,  687,  687,  687,  687,  687,  687,  687,  687,  688,
-      688,  688,  688,  688,  688,  688,  688,  688,  688,  689,
-      689,  689,  689,  690,  690,  690,  690,  690,  690,  690,
-
-      690,  690,  690,  691,  691,  691,  691,  691,  691,  691,
-      691,  691,  691,  692,  692,  692,  692,  692,  692,  692,
-      692,  692,  692,  693,  633,  693,  693,  693,  693,  693,
-      694,  631,  630,  628,  626,  624,  623,  694,  694,  695,
-      695,  695,  695,  695,  695,  695,  695,  695,  695,  696,
-      696,  696,  696,  696,  696,  696,  696,  696,  696,  697,
-      697,  697,  697,  697,  697,  697,  697,  697,  697,  698,
-      698,  698,  698,  698,  698,  698,  698,  698,  698,  699,
-      699,  621,  699,  699,  699,  699,  699,  699,  699,  700,
-      700,  700,  700,  700,  700,  700,  700,  700,  700,  618,
-
-      616,  615,  613,  612,  609,  607,  606,  603,  602,  601,
-      599,  597,  596,  594,  593,  592,  591,  589,  587,  586,
-      584,  583,  581,  580,  578,  576,  575,  570,  569,  568,
-      567,  566,  564,  562,  561,  558,  556,  554,  553,  552,
-      551,  550,  549,  547,  545,  544,  543,  541,  540,  539,
-      537,  536,  535,  534,  533,  532,  530,  528,  527,  526,
-      525,  523,  520,  518,  517,  516,  515,  514,  513,  511,
-      509,  508,  506,  505,  504,  502,  501,  499,  498,  497,
-      496,  495,  494,  493,  492,  490,  489,  487,  485,  481,
-      480,  478,  477,  474,  470,  469,  467,  466,  465,  464,
-
-      463,  462,  461,  460,  459,  457,  456,  455,  454,  453,
-      452,  446,  445,  443,  442,  441,  440,  439,  437,  436,
-      435,  434,  433,  432,  431,  430,  428,  427,  426,  425,
-      422,  420,  419,  418,  417,  415,  409,  407,  406,  405,
-      404,  403,  396,  395,  391,  390,  389,  388,  387,  386,
-      385,  384,  383,  382,  381,  380,  379,  378,  377,  376,
-      375,  374,  372,  371,  370,  368,  367,  366,  364,  362,
-      360,  359,  358,  356,  355,  353,  352,  351,  350,  349,
-      348,  346,  345,  344,  343,  340,  339,  338,  337,  333,
-      332,  331,  330,  329,  328,  327,  325,  324,  323,  322,
-
-      321,  320,  318,  316,  315,  308,  307,  306,  305,  303,
-      302,  301,  300,  299,  297,  296,  295,  293,  292,  291,
-      289,  288,  287,  286,  285,  284,  283,  282,  281,  279,
-      277,  276,  275,  272,  271,  270,  269,  266,  264,  263,
-      262,  261,  260,  259,  258,  257,  255,  254,  253,  252,
-      251,  250,  249,  248,  246,  245,  244,  236,  233,  232,
-      231,  230,  229,  228,  227,  226,  225,  224,  223,  222,
-      221,  220,  219,  218,  217,  216,  215,  214,  213,  212,
-      211,  210,  209,  208,  207,  205,  204,  202,  201,  200,
-      199,  198,  197,  196,  194,  193,  192,  191,  189,  188,
-
-      187,  186,  184,  183,  182,  181,  180,  177,  176,  175,
-      174,  171,  167,  154,  150,  149,  147,  145,  141,  138,
-      137,  136,  133,  131,  128,  127,  126,  125,  124,  123,
-      122,  121,  120,  119,  118,  117,  116,  115,  114,  112,
-      111,  108,  105,  104,  102,   98,   83,   76,   69,   68,
-       67,   65,   63,   53,   52,   51,   48,   47,   45,   40,
-       37,   35,   33,   31,   30,   26,   23,   15,    7,    3,
-      673,  673,  673,  673,  673,  673,  673,  673,  673,  673,
-      673,  673,  673,  673,  673,  673,  673,  673,  673,  673,
-      673,  673,  673,  673,  673,  673,  673,  673,  673,  673,
-
-      673,  673,  673,  673,  673,  673,  673,  673,  673,  673,
-      673,  673,  673,  673,  673,  673,  673,  673,  673,  673,
-      673,  673,  673,  673,  673,  673,  673,  673,  673,  673,
-      673,  673,  673,  673,  673,  673,  673,  673,  673,  673,
-      673,  673,  673,  673,  673,  673,  673,  673,  673,  673,
-      673,  673,  673,  673,  673
+       18,   18,   11,   20,   32,   39,   55,   39,   32,   38,
+       40,   43,   40,   43,   25,   20,   25,   25,   38,   46,
+        8,   41,   43,   12,   42,   44,   61,   46,   41,   38,
+      106,   50,    9,    9,   42,   41,   44,    9,   50,   44,
+        9,   66,  162,   66,    9,   21,  170,   21,   21,   21,
+       21,   21,   21,   21,   21,   49,   49,   55,   58,   74,
+       58,   58,   93,  673,   85,   21,   49,   85,  162,   49,
+       21,   61,  135,  179,  179,  106,   21,   21,   64,   64,
+       64,   64,   64,   64,   64,   64,   93,   21,  131,  107,
+
+      135,  170,   85,   92,   21,  131,  149,   89,  141,   92,
+       74,  141,   21,   89,   89,   21,   22,  133,   22,   22,
+       22,   22,   22,   22,   22,   22,  169,   92,  133,  133,
+      136,   89,  158,  169,  186,   92,   22,  159,  158,   89,
+      107,   22,   89,   91,  186,   91,  136,   22,   91,   91,
+       91,   91,   91,   91,   91,   91,  158,  140,   22,  147,
+      149,  159,  258,  164,  158,   22,  140,  241,  147,  258,
+      149,  560,  173,   22,   84,   84,   84,   84,   84,   84,
+       84,   84,  113,  672,  113,  113,  113,  164,  165,  145,
+      113,  241,   84,   84,  165,  113,  671,   84,  113,  113,
+
+      113,  113,  113,  113,  145,  145,  145,  145,  145,  145,
+      145,  145,  165,  173,   84,   84,  549,  153,  560,  153,
+      165,   84,  153,  153,  153,  153,  153,  153,  153,  153,
+      160,  160,  160,  160,  160,  160,  160,  160,  161,  161,
+      161,  161,  161,  161,  161,  161,  329,  180,  197,  197,
+      329,  366,  239,  416,  366,  314,  416,  161,  180,  245,
+      549,  161,  236,  236,  236,  236,  236,  236,  236,  236,
+      237,  237,  237,  237,  237,  237,  237,  237,  239,  161,
+      244,  314,  316,  245,  312,  161,  244,  312,  322,  237,
+      322,  322,  376,  237,  376,  376,  312,  414,  415,  415,
+
+      414,  415,  452,  513,  244,  424,  316,  424,  424,  487,
+      532,  237,  244,  417,  576,  482,  515,  237,  368,  368,
+      368,  368,  368,  368,  368,  368,  534,  551,  417,  417,
+      417,  417,  417,  417,  417,  417,  450,  450,  568,  450,
+      453,  322,  513,  453,  454,  454,  461,  454,  461,  461,
+      414,  415,  482,  515,  452,  485,  485,  522,  485,  566,
+      522,  487,  532,  580,  588,  534,  376,  522,  541,  582,
+      591,  541,  576,  593,  598,  601,  603,  608,  541,  551,
+      611,  625,  568,  613,  617,  620,  628,  630,  632,  450,
+      622,  635,  566,  453,  580,  637,  644,  454,  639,  461,
+
+      641,  641,  582,  641,  593,  670,  642,  642,  485,  642,
+      669,  591,  645,  645,  668,  611,  601,  603,  667,  666,
+      461,  598,  608,  588,  613,  622,  665,  617,  620,  664,
+      630,  653,  653,  663,  653,  632,  654,  654,  628,  654,
+      661,  660,  625,  635,  639,  658,  657,  637,  644,  677,
+      677,  656,  677,  677,  677,  677,  677,  677,  677,  678,
+      678,  678,  678,  678,  678,  678,  678,  678,  678,  679,
+      679,  679,  679,  679,  679,  679,  679,  679,  679,  680,
+      680,  680,  680,  680,  681,  681,  655,  681,  681,  681,
+      681,  681,  681,  681,  682,  682,  651,  682,  683,  683,
+
+      683,  683,  683,  683,  683,  683,  683,  683,  684,  684,
+      684,  684,  684,  684,  684,  684,  684,  684,  685,  650,
+      648,  685,  685,  685,  685,  685,  685,  686,  686,  686,
+      686,  686,  686,  686,  686,  686,  686,  687,  687,  687,
+      687,  687,  687,  687,  687,  687,  687,  688,  688,  688,
+      688,  688,  688,  688,  688,  688,  688,  689,  689,  689,
+      689,  689,  689,  689,  689,  689,  689,  690,  690,  690,
+      690,  690,  690,  690,  690,  690,  690,  691,  691,  691,
+      691,  691,  691,  691,  691,  691,  691,  692,  692,  692,
+      692,  693,  693,  693,  693,  693,  693,  693,  693,  693,
+
+      693,  694,  694,  694,  694,  694,  694,  694,  694,  694,
+      694,  695,  695,  695,  695,  695,  695,  695,  695,  695,
+      695,  696,  647,  696,  696,  696,  696,  696,  697,  646,
+      643,  640,  636,  634,  633,  697,  697,  698,  698,  698,
+      698,  698,  698,  698,  698,  698,  698,  699,  699,  699,
+      699,  699,  699,  699,  699,  699,  699,  700,  700,  700,
+      700,  700,  700,  700,  700,  700,  700,  701,  701,  701,
+      701,  701,  701,  701,  701,  701,  701,  702,  702,  631,
+      702,  702,  702,  702,  702,  702,  702,  703,  703,  703,
+      703,  703,  703,  703,  703,  703,  703,  629,  627,  626,
+
+      624,  621,  619,  618,  616,  615,  612,  610,  609,  606,
+      605,  604,  602,  600,  599,  597,  596,  595,  594,  592,
+      590,  589,  587,  586,  584,  583,  581,  579,  578,  573,
+      572,  571,  570,  569,  567,  565,  564,  561,  559,  557,
+      556,  555,  554,  553,  552,  550,  548,  547,  546,  544,
+      543,  542,  540,  539,  538,  537,  536,  535,  533,  531,
+      530,  529,  528,  526,  523,  521,  520,  519,  518,  517,
+      516,  514,  512,  511,  509,  508,  507,  505,  504,  502,
+      501,  500,  499,  498,  497,  496,  495,  493,  492,  490,
+      488,  484,  483,  481,  480,  477,  473,  472,  470,  469,
+
+      468,  467,  466,  465,  464,  463,  462,  460,  459,  458,
+      457,  456,  455,  449,  448,  446,  445,  444,  443,  442,
+      440,  439,  438,  437,  436,  435,  434,  433,  431,  430,
+      429,  428,  425,  423,  422,  421,  420,  418,  412,  410,
+      409,  408,  407,  406,  399,  398,  394,  393,  392,  391,
+      390,  389,  388,  387,  386,  385,  384,  383,  382,  381,
+      380,  379,  378,  377,  375,  374,  373,  371,  370,  369,
+      367,  365,  363,  362,  361,  359,  358,  356,  355,  354,
+      353,  352,  351,  349,  348,  347,  346,  343,  342,  341,
+      340,  336,  335,  334,  333,  332,  331,  330,  328,  327,
+
+      326,  325,  324,  323,  321,  319,  318,  311,  310,  309,
+      308,  306,  305,  304,  303,  302,  300,  299,  298,  296,
+      295,  294,  292,  291,  290,  289,  288,  287,  286,  285,
+      284,  282,  280,  279,  278,  275,  274,  273,  272,  269,
+      266,  265,  264,  263,  262,  261,  260,  259,  257,  256,
+      255,  254,  253,  252,  251,  250,  248,  247,  246,  238,
+      235,  234,  233,  232,  231,  230,  229,  228,  227,  226,
+      225,  224,  223,  222,  221,  220,  219,  218,  217,  216,
+      215,  214,  213,  212,  211,  210,  209,  207,  206,  204,
+      203,  202,  201,  200,  199,  198,  196,  195,  194,  193,
+
+      192,  190,  189,  188,  187,  185,  184,  183,  182,  181,
+      178,  177,  176,  175,  172,  168,  155,  151,  150,  148,
+      146,  142,  139,  138,  137,  134,  132,  129,  128,  127,
+      126,  125,  124,  123,  122,  121,  120,  119,  118,  117,
+      116,  115,  114,  112,  111,  108,  105,  104,  102,   98,
+       83,   76,   69,   68,   67,   65,   63,   53,   52,   51,
+       48,   47,   45,   37,   35,   33,   31,   30,   26,   23,
+       15,    7,    3,  676,  676,  676,  676,  676,  676,  676,
+      676,  676,  676,  676,  676,  676,  676,  676,  676,  676,
+      676,  676,  676,  676,  676,  676,  676,  676,  676,  676,
+
+      676,  676,  676,  676,  676,  676,  676,  676,  676,  676,
+      676,  676,  676,  676,  676,  676,  676,  676,  676,  676,
+      676,  676,  676,  676,  676,  676,  676,  676,  676,  676,
+      676,  676,  676,  676,  676,  676,  676,  676,  676,  676,
+      676,  676,  676,  676,  676,  676,  676,  676,  676,  676,
+      676,  676,  676,  676,  676,  676,  676,  676
     } ;
 
 extern int yy_flex_debug;
@@ -1136,7 +1139,7 @@ static void process_linemarks (GISourceScanner *scanner, gboolean has_line);
 static int check_identifier (GISourceScanner *scanner, const char *);
 static int parse_ignored_macro (void);
 static void print_error (GISourceScanner *scanner);
-#line 1140 "scannerlexer.c"
+#line 1143 "scannerlexer.c"
 
 #define INITIAL 0
 
@@ -1357,7 +1360,7 @@ YY_DECL
 #line 73 "giscanner/scannerlexer.l"
 
 
-#line 1361 "scannerlexer.c"
+#line 1364 "scannerlexer.c"
 
        while ( 1 )             /* loops until end-of-file is reached */
                {
@@ -1383,14 +1386,14 @@ yy_match:
                        while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
                                {
                                yy_current_state = (int) yy_def[yy_current_state];
-                               if ( yy_current_state >= 674 )
+                               if ( yy_current_state >= 677 )
                                        yy_c = yy_meta[(unsigned int) yy_c];
                                }
                        yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
                        *(yy_state_ptr)++ = yy_current_state;
                        ++yy_cp;
                        }
-               while ( yy_base[yy_current_state] != 1171 );
+               while ( yy_base[yy_current_state] != 1174 );
 
 yy_find_action:
                yy_current_state = *--(yy_state_ptr);
@@ -1969,87 +1972,87 @@ YY_RULE_SETUP
 case 107:
 YY_RULE_SETUP
 #line 196 "giscanner/scannerlexer.l"
-{ return BREAK; }
+{ return BOOL; }
        YY_BREAK
 case 108:
 YY_RULE_SETUP
 #line 197 "giscanner/scannerlexer.l"
-{ return CASE; }
+{ return BREAK; }
        YY_BREAK
 case 109:
 YY_RULE_SETUP
 #line 198 "giscanner/scannerlexer.l"
-{ return CHAR; }
+{ return CASE; }
        YY_BREAK
 case 110:
 YY_RULE_SETUP
 #line 199 "giscanner/scannerlexer.l"
-{ return CONST; }
+{ return CHAR; }
        YY_BREAK
 case 111:
 YY_RULE_SETUP
 #line 200 "giscanner/scannerlexer.l"
-{ return CONTINUE; }
+{ return CONST; }
        YY_BREAK
 case 112:
 YY_RULE_SETUP
 #line 201 "giscanner/scannerlexer.l"
-{ return DEFAULT; }
+{ return CONTINUE; }
        YY_BREAK
 case 113:
 YY_RULE_SETUP
 #line 202 "giscanner/scannerlexer.l"
-{ return DO; }
+{ return DEFAULT; }
        YY_BREAK
 case 114:
 YY_RULE_SETUP
 #line 203 "giscanner/scannerlexer.l"
-{ return DOUBLE; }
+{ return DO; }
        YY_BREAK
 case 115:
 YY_RULE_SETUP
 #line 204 "giscanner/scannerlexer.l"
-{ return ELSE; }
+{ return DOUBLE; }
        YY_BREAK
 case 116:
 YY_RULE_SETUP
 #line 205 "giscanner/scannerlexer.l"
-{ return ENUM; }
+{ return ELSE; }
        YY_BREAK
 case 117:
 YY_RULE_SETUP
 #line 206 "giscanner/scannerlexer.l"
-{ return EXTERN; }
+{ return ENUM; }
        YY_BREAK
 case 118:
 YY_RULE_SETUP
 #line 207 "giscanner/scannerlexer.l"
-{ return FLOAT; }
+{ return EXTERN; }
        YY_BREAK
 case 119:
 YY_RULE_SETUP
 #line 208 "giscanner/scannerlexer.l"
-{ return FOR; }
+{ return FLOAT; }
        YY_BREAK
 case 120:
 YY_RULE_SETUP
 #line 209 "giscanner/scannerlexer.l"
-{ return GOTO; }
+{ return FOR; }
        YY_BREAK
 case 121:
 YY_RULE_SETUP
 #line 210 "giscanner/scannerlexer.l"
-{ return IF; }
+{ return GOTO; }
        YY_BREAK
 case 122:
 YY_RULE_SETUP
 #line 211 "giscanner/scannerlexer.l"
-{ return INLINE; }
+{ return IF; }
        YY_BREAK
 case 123:
 YY_RULE_SETUP
 #line 212 "giscanner/scannerlexer.l"
-{ return INT; }
+{ return INLINE; }
        YY_BREAK
 case 124:
 YY_RULE_SETUP
@@ -2074,92 +2077,92 @@ YY_RULE_SETUP
 case 128:
 YY_RULE_SETUP
 #line 217 "giscanner/scannerlexer.l"
-{ return LONG; }
+{ return INT; }
        YY_BREAK
 case 129:
 YY_RULE_SETUP
 #line 218 "giscanner/scannerlexer.l"
-{ return REGISTER; }
+{ return LONG; }
        YY_BREAK
 case 130:
 YY_RULE_SETUP
 #line 219 "giscanner/scannerlexer.l"
-{ return RESTRICT; }
+{ return REGISTER; }
        YY_BREAK
 case 131:
 YY_RULE_SETUP
 #line 220 "giscanner/scannerlexer.l"
-{ return RETURN; }
+{ return RESTRICT; }
        YY_BREAK
 case 132:
 YY_RULE_SETUP
 #line 221 "giscanner/scannerlexer.l"
-{ return SHORT; }
+{ return RETURN; }
        YY_BREAK
 case 133:
 YY_RULE_SETUP
 #line 222 "giscanner/scannerlexer.l"
-{ return SIGNED; }
+{ return SHORT; }
        YY_BREAK
 case 134:
 YY_RULE_SETUP
 #line 223 "giscanner/scannerlexer.l"
-{ return SIZEOF; }
+{ return SIGNED; }
        YY_BREAK
 case 135:
 YY_RULE_SETUP
 #line 224 "giscanner/scannerlexer.l"
-{ return STATIC; }
+{ return SIZEOF; }
        YY_BREAK
 case 136:
 YY_RULE_SETUP
 #line 225 "giscanner/scannerlexer.l"
-{ return STRUCT; }
+{ return STATIC; }
        YY_BREAK
 case 137:
 YY_RULE_SETUP
 #line 226 "giscanner/scannerlexer.l"
-{ return SWITCH; }
+{ return STRUCT; }
        YY_BREAK
 case 138:
 YY_RULE_SETUP
 #line 227 "giscanner/scannerlexer.l"
-{ return TYPEDEF; }
+{ return SWITCH; }
        YY_BREAK
 case 139:
 YY_RULE_SETUP
 #line 228 "giscanner/scannerlexer.l"
-{ return UNION; }
+{ return TYPEDEF; }
        YY_BREAK
 case 140:
 YY_RULE_SETUP
 #line 229 "giscanner/scannerlexer.l"
-{ return UNSIGNED; }
+{ return UNION; }
        YY_BREAK
 case 141:
 YY_RULE_SETUP
 #line 230 "giscanner/scannerlexer.l"
-{ return VOID; }
+{ return UNSIGNED; }
        YY_BREAK
 case 142:
 YY_RULE_SETUP
 #line 231 "giscanner/scannerlexer.l"
-{ return VOLATILE; }
+{ return VOID; }
        YY_BREAK
 case 143:
 YY_RULE_SETUP
 #line 232 "giscanner/scannerlexer.l"
-{ return WHILE; }
+{ return VOLATILE; }
        YY_BREAK
 case 144:
 YY_RULE_SETUP
-#line 234 "giscanner/scannerlexer.l"
-{ return check_identifier(scanner, yytext); }
+#line 233 "giscanner/scannerlexer.l"
+{ return WHILE; }
        YY_BREAK
 case 145:
 YY_RULE_SETUP
-#line 236 "giscanner/scannerlexer.l"
-{ return INTEGER; }
+#line 235 "giscanner/scannerlexer.l"
+{ return check_identifier(scanner, yytext); }
        YY_BREAK
 case 146:
 YY_RULE_SETUP
@@ -2173,8 +2176,8 @@ YY_RULE_SETUP
        YY_BREAK
 case 148:
 YY_RULE_SETUP
-#line 240 "giscanner/scannerlexer.l"
-{ return FLOATING; }
+#line 239 "giscanner/scannerlexer.l"
+{ return INTEGER; }
        YY_BREAK
 case 149:
 YY_RULE_SETUP
@@ -2182,10 +2185,9 @@ YY_RULE_SETUP
 { return FLOATING; }
        YY_BREAK
 case 150:
-/* rule 150 can match eol */
 YY_RULE_SETUP
-#line 243 "giscanner/scannerlexer.l"
-{ return CHARACTER; }
+#line 242 "giscanner/scannerlexer.l"
+{ return FLOATING; }
        YY_BREAK
 case 151:
 /* rule 151 can match eol */
@@ -2196,8 +2198,8 @@ YY_RULE_SETUP
 case 152:
 /* rule 152 can match eol */
 YY_RULE_SETUP
-#line 246 "giscanner/scannerlexer.l"
-{ return STRING; }
+#line 245 "giscanner/scannerlexer.l"
+{ return CHARACTER; }
        YY_BREAK
 case 153:
 /* rule 153 can match eol */
@@ -2206,16 +2208,22 @@ YY_RULE_SETUP
 { return STRING; }
        YY_BREAK
 case 154:
+/* rule 154 can match eol */
 YY_RULE_SETUP
-#line 249 "giscanner/scannerlexer.l"
-{ print_error(scanner); }
+#line 248 "giscanner/scannerlexer.l"
+{ return STRING; }
        YY_BREAK
 case 155:
 YY_RULE_SETUP
-#line 251 "giscanner/scannerlexer.l"
+#line 250 "giscanner/scannerlexer.l"
+{ print_error(scanner); }
+       YY_BREAK
+case 156:
+YY_RULE_SETUP
+#line 252 "giscanner/scannerlexer.l"
 ECHO;
        YY_BREAK
-#line 2219 "scannerlexer.c"
+#line 2227 "scannerlexer.c"
                        case YY_STATE_EOF(INITIAL):
                                yyterminate();
 
@@ -2477,7 +2485,7 @@ static int yy_get_next_buffer (void)
                while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
                        {
                        yy_current_state = (int) yy_def[yy_current_state];
-                       if ( yy_current_state >= 674 )
+                       if ( yy_current_state >= 677 )
                                yy_c = yy_meta[(unsigned int) yy_c];
                        }
                yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
@@ -2500,11 +2508,11 @@ static int yy_get_next_buffer (void)
        while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
                {
                yy_current_state = (int) yy_def[yy_current_state];
-               if ( yy_current_state >= 674 )
+               if ( yy_current_state >= 677 )
                        yy_c = yy_meta[(unsigned int) yy_c];
                }
        yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
-       yy_is_jam = (yy_current_state == 673);
+       yy_is_jam = (yy_current_state == 676);
        if ( ! yy_is_jam )
                *(yy_state_ptr)++ = yy_current_state;
 
@@ -3147,7 +3155,7 @@ void yyfree (void * ptr )
 
 #define YYTABLES_NAME "yytables"
 
-#line 250 "giscanner/scannerlexer.l"
+#line 251 "giscanner/scannerlexer.l"
 
 
 
index 59b5ba9..76beb92 100644 (file)
@@ -2,7 +2,10 @@
  *vim: tabstop=4 shiftwidth=4 expandtab
  */
 
+/* This file gets installed, so we can't assume config.h is available */
+#ifdef HAVE_CONFIG_H
 #include "config.h"
+#endif
 
 #include "gimarshallingtests.h"
 
@@ -1329,7 +1332,7 @@ gi_marshalling_tests_array_in_len_before (gint length, const gint *ints)
 
 /**
  * gi_marshalling_tests_array_in_len_zero_terminated:
- * @ints: (array length=length zero-terminated=1):
+ * @ints: (array length=length zero-terminated):
  * @length:
  */
 void
@@ -1581,7 +1584,7 @@ gi_marshalling_tests_array_in_nonzero_nonlen (gint first, const guint8 *chars)
 /**
  * gi_marshalling_tests_array_zero_terminated_return:
  *
- * Returns: (array zero-terminated=1) (transfer none):
+ * Returns: (array zero-terminated) (transfer none):
  */
 gchar **
 gi_marshalling_tests_array_zero_terminated_return (void)
@@ -1593,7 +1596,7 @@ gi_marshalling_tests_array_zero_terminated_return (void)
 /**
  * gi_marshalling_tests_array_zero_terminated_return_null:
  *
- * Returns: (array zero-terminated=1) (transfer none):
+ * Returns: (array zero-terminated) (transfer none):
  */
 gchar **
 gi_marshalling_tests_array_zero_terminated_return_null (void)
@@ -1604,7 +1607,7 @@ gi_marshalling_tests_array_zero_terminated_return_null (void)
 /**
  * gi_marshalling_tests_array_zero_terminated_return_struct:
  *
- * Returns: (array zero-terminated=1) (transfer full):
+ * Returns: (array zero-terminated) (transfer full):
  */
 GIMarshallingTestsBoxedStruct **
 gi_marshalling_tests_array_zero_terminated_return_struct (void)
@@ -1627,7 +1630,7 @@ gi_marshalling_tests_array_zero_terminated_return_struct (void)
 
 /**
  * gi_marshalling_tests_array_zero_terminated_in:
- * @utf8s: (array zero-terminated=1) (transfer none):
+ * @utf8s: (array zero-terminated) (transfer none):
  */
 void
 gi_marshalling_tests_array_zero_terminated_in (gchar **utf8s)
@@ -1640,7 +1643,7 @@ gi_marshalling_tests_array_zero_terminated_in (gchar **utf8s)
 
 /**
  * gi_marshalling_tests_array_zero_terminated_out:
- * @utf8s: (out) (array zero-terminated=1) (transfer none):
+ * @utf8s: (out) (array zero-terminated) (transfer none):
  */
 void
 gi_marshalling_tests_array_zero_terminated_out (gchar *** utf8s)
@@ -1651,7 +1654,7 @@ gi_marshalling_tests_array_zero_terminated_out (gchar *** utf8s)
 
 /**
  * gi_marshalling_tests_array_zero_terminated_inout:
- * @utf8s: (inout) (array zero-terminated=1) (transfer none):
+ * @utf8s: (inout) (array zero-terminated) (transfer none):
  */
 void
 gi_marshalling_tests_array_zero_terminated_inout (gchar *** utf8s)
@@ -1668,9 +1671,9 @@ gi_marshalling_tests_array_zero_terminated_inout (gchar *** utf8s)
 
 /**
  * gi_marshalling_tests_array_gvariant_none_in:
- * @variants: (array zero-terminated=1) (transfer none):
+ * @variants: (array zero-terminated) (transfer none):
  *
- * Returns: (array zero-terminated=1) (transfer none):
+ * Returns: (array zero-terminated) (transfer none):
  */
 GVariant **
 gi_marshalling_tests_array_gvariant_none_in (GVariant **variants)
@@ -1694,9 +1697,9 @@ gi_marshalling_tests_array_gvariant_none_in (GVariant **variants)
 
 /**
  * gi_marshalling_tests_array_gvariant_container_in:
- * @variants: (array zero-terminated=1) (transfer container):
+ * @variants: (array zero-terminated) (transfer container):
  *
- * Returns: (array zero-terminated=1) (transfer container):
+ * Returns: (array zero-terminated) (transfer container):
  */
 GVariant **
 gi_marshalling_tests_array_gvariant_container_in (GVariant **variants)
@@ -1718,9 +1721,9 @@ gi_marshalling_tests_array_gvariant_container_in (GVariant **variants)
 
 /**
  * gi_marshalling_tests_array_gvariant_full_in:
- * @variants: (array zero-terminated=1) (transfer full):
+ * @variants: (array zero-terminated) (transfer full):
  *
- * Returns: (array zero-terminated=1) (transfer full):
+ * Returns: (array zero-terminated) (transfer full):
  */
 GVariant **
 gi_marshalling_tests_array_gvariant_full_in (GVariant **variants)
@@ -3330,7 +3333,7 @@ _marshal_INT__VOID (GClosure *closure,
 
 /**
  * gi_marshalling_tests_gclosure_return:
- * 
+ *
  * Return: a #GClosure
  */
 GClosure *
@@ -4337,7 +4340,7 @@ void gi_marshalling_tests_object_vfunc_caller_allocated_out_parameter (GIMarshal
 
 /**
  * gi_marshalling_tests_object_vfunc_array_out_parameter:
- * @a: (out) (array zero-terminated=1):
+ * @a: (out) (array zero-terminated):
  */
 void gi_marshalling_tests_object_vfunc_array_out_parameter (GIMarshallingTestsObject *self, gfloat **a)
 {
@@ -4906,7 +4909,7 @@ gi_marshalling_tests_gerror (GError **error)
 
 /**
  * gi_marshalling_tests_gerror_array_in:
- * @in_ints: (array zero-terminated=1):
+ * @in_ints: (array zero-terminated):
  */
 void
 gi_marshalling_tests_gerror_array_in (gint *in_ints, GError **error)
index 3fb9c94..fc20fd7 100644 (file)
@@ -1378,7 +1378,7 @@ struct _GIMarshallingTestsObjectClass
 
     /**
      * GIMarshallingTestsObjectClass::vfunc_array_out_parameter:
-     * @a: (out) (array zero-terminated=1):
+     * @a: (out) (array zero-terminated):
      */
     void  (* vfunc_array_out_parameter) (GIMarshallingTestsObject *self, gfloat **a);
 
index 92ab12a..c7a1b32 100644 (file)
@@ -5,7 +5,7 @@ include $(top_srcdir)/Makefile.introspection
 
 SUBDIRS = . annotationparser
 
-INTROSPECTION_SCANNER_ARGS += --warn-all
+INTROSPECTION_SCANNER_ARGS += --warn-all --reparse-validate
 
 CLEANFILES =
 
index 6366373..97bab99 100644 (file)
@@ -715,7 +715,8 @@ INTROSPECTION_SCANNER_ARGS = --verbose -I$(top_srcdir) \
        --add-include-path=$(srcdir) \
        --add-include-path=$(top_srcdir)/gir \
        --add-include-path=$(builddir) \
-       --add-include-path=$(top_builddir) --warn-all
+       --add-include-path=$(top_builddir) --warn-all \
+       --reparse-validate
 INTROSPECTION_COMPILER = \
     env PATH=".libs:$(PATH)" \
         $(top_builddir)/g-ir-compiler$(EXEEXT)
index 173db97..da364e1 100644 (file)
@@ -449,7 +449,7 @@ regress_annotation_object_compute_sum_n(RegressAnnotationObject *object,
 /**
  * regress_annotation_object_compute_sum_nz:
  * @object: a #RegressAnnotationObject
- * @nums: (array length=n_nums zero-terminated=1): Sequence of numbers that
+ * @nums: (array length=n_nums zero-terminated): Sequence of numbers that
  * are zero-terminated
  * @n_nums: Length of number array
  *
index 3a7cbc0..8b7a62d 100644 (file)
@@ -159,7 +159,7 @@ are zero-terminated</description>
  * annotation_object_parse_args:
  * @object: a #AnnotationObject
  * @argc: (inout): Length of the argument vector
- * @argv: (inout) (array length=argc zero-terminated=1): Argument vector
+ * @argv: (inout) (array length=argc zero-terminated): Argument vector
  *
  * Test taking a zero-terminated array with length parameter
  **/</input>
@@ -197,7 +197,6 @@ are zero-terminated</description>
                 </option>
                 <option>
                   <name>zero-terminated</name>
-                  <value>1</value>
                 </option>
               </options>
             </annotation>
@@ -212,7 +211,7 @@ are zero-terminated</description>
  * annotation_object_parse_args:
  * @object: a #AnnotationObject
  * @argc: (inout): Length of the argument vector
- * @argv: (inout) (array length=argc zero-terminated=1): Argument vector
+ * @argv: (inout) (array length=argc zero-terminated): Argument vector
  *
  * Test taking a zero-terminated array with length parameter
  */</output>
@@ -466,9 +465,8 @@ are zero-terminated</description>
       </tags>
     </docblock>
     <messages>
-      <message>3: Warning: Test: "array" annotation option "zero-terminated" needs a value</message>
       <message>4: Warning: Test: "array" annotation option "length" needs a value</message>
-      <message>6: Warning: Test: invalid "array" annotation option "zero-terminated" value "yes", must be an integer</message>
+      <message>6: Warning: Test: invalid "array" annotation option "zero-terminated" value "yes", must be 0 or 1</message>
     </messages>
   </parser>
   <output>/**
index b9b828c..97ad3e9 100644 (file)
@@ -18,8 +18,7 @@ void
 test_invalid_array_zero_terminated (char ***out1,
                                     char ***out2);
 
-// EXPECT:14: Warning: Test: "array" annotation option "zero-terminated" needs a value
-// EXPECT:15: Warning: Test: invalid "array" annotation option "zero-terminated" value "foobar", must be an integer
+// EXPECT:15: Warning: Test: invalid "array" annotation option "zero-terminated" value "foobar", must be 0 or 1
 
 /**
  * test_invalid_array_fixed_size:
@@ -30,8 +29,8 @@ void
 test_invalid_array_fixed_size (char ***out1,
                                char ***out2);
 
-// EXPECT:26: Warning: Test: "array" annotation option "fixed-size" needs a value
-// EXPECT:27: Warning: Test: invalid "array" annotation option "fixed-size" value "foobar", must be an integer
+// EXPECT:25: Warning: Test: "array" annotation option "fixed-size" needs a value
+// EXPECT:26: Warning: Test: invalid "array" annotation option "fixed-size" value "foobar", must be an integer
 
 /**
  * test_invalid_array_length:
@@ -41,4 +40,4 @@ void
 test_invalid_array_length (char ***out1,
                            char ***out2);
 
-// EXPECT:38: Warning: Test: "array" annotation option "length" needs a value
+// EXPECT:37: Warning: Test: "array" annotation option "length" needs a value