glib2 3.0.7-x86-mingw32 → 3.0.8-x86-mingw32
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Rakefile +24 -12
- data/ext/glib2/extconf.rb +1 -0
- data/ext/glib2/glib2.def +4 -0
- data/ext/glib2/rbglib-variant.c +163 -12
- data/ext/glib2/rbglib.c +31 -8
- data/ext/glib2/rbglib.h +15 -1
- data/ext/glib2/rbglib2conversions.h +3 -0
- data/ext/glib2/rbglib_iochannel.c +0 -3
- data/ext/glib2/rbglib_iochannel_win32_socket.c +0 -1
- data/ext/glib2/rbglib_matchinfo.c +179 -0
- data/ext/glib2/rbglib_regex.c +484 -0
- data/ext/glib2/rbgobj_value.c +7 -1
- data/ext/glib2/rbgprivate.h +2 -0
- data/ext/glib2/rbgutil.c +7 -0
- data/ext/glib2/rbgutil.h +2 -0
- data/lib/2.2/glib2.so +0 -0
- data/lib/2.3/glib2.so +0 -0
- data/lib/glib2/regex.rb +29 -0
- data/lib/glib2.rb +2 -1
- data/lib/gnome2/rake/external-package.rb +6 -1
- data/lib/gnome2/rake/package-task.rb +1 -1
- data/lib/gnome2/rake/package.rb +9 -0
- data/lib/gnome2/rake/windows-binary-build-task.rb +35 -11
- data/lib/mkmf-gnome2.rb +3 -1
- data/test/test-match-info.rb +113 -0
- data/test/test-regex.rb +320 -0
- data/vendor/local/bin/asn1Coding.exe +0 -0
- data/vendor/local/bin/asn1Decoding.exe +0 -0
- data/vendor/local/bin/asn1Parser.exe +0 -0
- data/vendor/local/bin/envsubst.exe +0 -0
- data/vendor/local/bin/gdbus.exe +0 -0
- data/vendor/local/bin/gettext.exe +0 -0
- data/vendor/local/bin/gettext.sh +1 -1
- data/vendor/local/bin/gio-querymodules.exe +0 -0
- data/vendor/local/bin/glib-compile-resources.exe +0 -0
- data/vendor/local/bin/glib-compile-schemas.exe +0 -0
- data/vendor/local/bin/glib-genmarshal.exe +0 -0
- data/vendor/local/bin/glib-gettextize +1 -1
- data/vendor/local/bin/glib-mkenums +2 -2
- data/vendor/local/bin/gobject-query.exe +0 -0
- data/vendor/local/bin/gresource.exe +0 -0
- data/vendor/local/bin/gsettings.exe +0 -0
- data/vendor/local/bin/gspawn-win32-helper-console.exe +0 -0
- data/vendor/local/bin/gspawn-win32-helper.exe +0 -0
- data/vendor/local/bin/iconv.exe +0 -0
- data/vendor/local/bin/idn.exe +0 -0
- data/vendor/local/bin/libasprintf-0.dll +0 -0
- data/vendor/local/bin/libcharset-1.dll +0 -0
- data/vendor/local/bin/libffi-6.dll +0 -0
- data/vendor/local/bin/libgio-2.0-0.dll +0 -0
- data/vendor/local/bin/libglib-2.0-0.dll +0 -0
- data/vendor/local/bin/libgmodule-2.0-0.dll +0 -0
- data/vendor/local/bin/libgmp-10.dll +0 -0
- data/vendor/local/bin/libgnutls-30.def +993 -984
- data/vendor/local/bin/libgnutls-30.dll +0 -0
- data/vendor/local/bin/libgobject-2.0-0.dll +0 -0
- data/vendor/local/bin/libgthread-2.0-0.dll +0 -0
- data/vendor/local/bin/libhogweed-4-2.dll +0 -0
- data/vendor/local/bin/libiconv-2.dll +0 -0
- data/vendor/local/bin/libidn-11.dll +0 -0
- data/vendor/local/bin/libintl-8.dll +0 -0
- data/vendor/local/bin/{libnettle-6-1.dll → libnettle-6-2.dll} +0 -0
- data/vendor/local/bin/libp11-kit-0.dll +0 -0
- data/vendor/local/bin/libpcre-1.dll +0 -0
- data/vendor/local/bin/libpcrecpp-0.dll +0 -0
- data/vendor/local/bin/libpcreposix-0.dll +0 -0
- data/vendor/local/bin/libtasn1-6.dll +0 -0
- data/vendor/local/bin/nettle-hash.exe +0 -0
- data/vendor/local/bin/nettle-lfib-stream.exe +0 -0
- data/vendor/local/bin/nettle-pbkdf2.exe +0 -0
- data/vendor/local/bin/ngettext.exe +0 -0
- data/vendor/local/bin/p11-kit.exe +0 -0
- data/vendor/local/bin/pcre-config +133 -0
- data/vendor/local/bin/pcregrep.exe +0 -0
- data/vendor/local/bin/pcretest.exe +0 -0
- data/vendor/local/bin/pkcs1-conv.exe +0 -0
- data/vendor/local/bin/sexp-conv.exe +0 -0
- data/vendor/local/bin/trust.exe +0 -0
- data/vendor/local/include/glib-2.0/gio/gdatagrambased.h +144 -0
- data/vendor/local/include/glib-2.0/gio/gdbusconnection.h +9 -1
- data/vendor/local/include/glib-2.0/gio/gdtlsclientconnection.h +75 -0
- data/vendor/local/include/glib-2.0/gio/gdtlsconnection.h +191 -0
- data/vendor/local/include/glib-2.0/gio/gdtlsserverconnection.h +69 -0
- data/vendor/local/include/glib-2.0/gio/gfileinfo.h +14 -0
- data/vendor/local/include/glib-2.0/gio/gio-autocleanups.h +1 -0
- data/vendor/local/include/glib-2.0/gio/gio.h +4 -0
- data/vendor/local/include/glib-2.0/gio/gioenums.h +69 -13
- data/vendor/local/include/glib-2.0/gio/gioenumtypes.h +2 -0
- data/vendor/local/include/glib-2.0/gio/giotypes.h +77 -0
- data/vendor/local/include/glib-2.0/gio/gliststore.h +5 -0
- data/vendor/local/include/glib-2.0/gio/gnetworkmonitor.h +3 -0
- data/vendor/local/include/glib-2.0/gio/gsettings.h +1 -1
- data/vendor/local/include/glib-2.0/gio/gsettingsschema.h +3 -0
- data/vendor/local/include/glib-2.0/gio/gsimpleasyncresult.h +25 -25
- data/vendor/local/include/glib-2.0/gio/gsocket.h +7 -0
- data/vendor/local/include/glib-2.0/gio/gsocketconnectable.h +6 -0
- data/vendor/local/include/glib-2.0/gio/gsocketlistener.h +4 -1
- data/vendor/local/include/glib-2.0/gio/gtlsbackend.h +14 -0
- data/vendor/local/include/glib-2.0/gio/gtlsclientconnection.h +7 -0
- data/vendor/local/include/glib-2.0/glib/gasyncqueue.h +13 -0
- data/vendor/local/include/glib-2.0/glib/gbacktrace.h +2 -0
- data/vendor/local/include/glib-2.0/glib/glib-autocleanups.h +12 -4
- data/vendor/local/include/glib-2.0/glib/gmacros.h +46 -10
- data/vendor/local/include/glib-2.0/glib/gmain.h +3 -1
- data/vendor/local/include/glib-2.0/glib/gmem.h +7 -5
- data/vendor/local/include/glib-2.0/glib/gmessages.h +8 -8
- data/vendor/local/include/glib-2.0/glib/gnode.h +2 -2
- data/vendor/local/include/glib-2.0/glib/gpoll.h +2 -9
- data/vendor/local/include/glib-2.0/glib/gsequence.h +2 -0
- data/vendor/local/include/glib-2.0/glib/gstdio.h +1 -1
- data/vendor/local/include/glib-2.0/glib/gstrfuncs.h +1 -0
- data/vendor/local/include/glib-2.0/glib/gtestutils.h +15 -2
- data/vendor/local/include/glib-2.0/glib/gthreadpool.h +4 -0
- data/vendor/local/include/glib-2.0/glib/gtrashstack.h +10 -57
- data/vendor/local/include/glib-2.0/glib/gtypes.h +61 -6
- data/vendor/local/include/glib-2.0/glib/gunicode.h +15 -1
- data/vendor/local/include/glib-2.0/glib/gutils.h +36 -57
- data/vendor/local/include/glib-2.0/glib/gversionmacros.h +59 -10
- data/vendor/local/include/glib-2.0/gobject/gboxed.h +3 -3
- data/vendor/local/include/glib-2.0/gobject/gclosure.h +2 -1
- data/vendor/local/include/glib-2.0/gobject/glib-types.h +0 -7
- data/vendor/local/include/glib-2.0/gobject/gobject-autocleanups.h +0 -1
- data/vendor/local/include/glib-2.0/gobject/gobject.h +8 -4
- data/vendor/local/include/glib-2.0/gobject/gparam.h +5 -2
- data/vendor/local/include/glib-2.0/gobject/gsignal.h +3 -0
- data/vendor/local/include/glib-2.0/gobject/gtype.h +47 -26
- data/vendor/local/include/glib-2.0/gobject/gtypemodule.h +1 -0
- data/vendor/local/include/gmp.h +56 -24
- data/vendor/local/include/gnutls/gnutls.h +79 -39
- data/vendor/local/include/gnutls/pkcs11.h +6 -0
- data/vendor/local/include/gnutls/pkcs7.h +17 -4
- data/vendor/local/include/gnutls/x509.h +8 -0
- data/vendor/local/include/libintl.h +1 -1
- data/vendor/local/include/libtasn1.h +1 -1
- data/vendor/local/include/nettle/rsa.h +72 -0
- data/vendor/local/include/nettle/sha3.h +4 -0
- data/vendor/local/include/nettle/version.h +8 -1
- data/vendor/local/include/p11-kit-1/p11-kit/p11-kit.h +1 -0
- data/vendor/local/include/pcre.h +677 -0
- data/vendor/local/include/pcre_scanner.h +172 -0
- data/vendor/local/include/pcre_stringpiece.h +180 -0
- data/vendor/local/include/pcrecpp.h +710 -0
- data/vendor/local/include/pcrecpparg.h +174 -0
- data/vendor/local/include/pcreposix.h +146 -0
- data/vendor/local/lib/gio/modules/libgiognutls.a +0 -0
- data/vendor/local/lib/gio/modules/libgiognutls.dll +0 -0
- data/vendor/local/lib/gio/modules/libgiognutls.dll.a +0 -0
- data/vendor/local/lib/gio/modules/libgiognutls.la +3 -3
- data/vendor/local/lib/glib-2.0/include/glibconfig.h +4 -16
- data/vendor/local/lib/libasprintf.a +0 -0
- data/vendor/local/lib/libasprintf.dll.a +0 -0
- data/vendor/local/lib/libcharset.a +0 -0
- data/vendor/local/lib/libcharset.dll.a +0 -0
- data/vendor/local/lib/libffi.a +0 -0
- data/vendor/local/lib/libffi.dll.a +0 -0
- data/vendor/local/lib/libgio-2.0.dll.a +0 -0
- data/vendor/local/lib/libgio-2.0.la +5 -5
- data/vendor/local/lib/libglib-2.0.dll.a +0 -0
- data/vendor/local/lib/libglib-2.0.la +5 -5
- data/vendor/local/lib/libgmodule-2.0.dll.a +0 -0
- data/vendor/local/lib/libgmodule-2.0.la +5 -5
- data/vendor/local/lib/libgmp.dll.a +0 -0
- data/vendor/local/lib/libgmp.la +4 -4
- data/vendor/local/lib/libgnutls.dll.a +0 -0
- data/vendor/local/lib/libgnutls.la +3 -3
- data/vendor/local/lib/libgobject-2.0.dll.a +0 -0
- data/vendor/local/lib/libgobject-2.0.la +5 -5
- data/vendor/local/lib/libgthread-2.0.dll.a +0 -0
- data/vendor/local/lib/libgthread-2.0.la +5 -5
- data/vendor/local/lib/libhogweed.a +0 -0
- data/vendor/local/lib/libhogweed.dll.a +0 -0
- data/vendor/local/lib/libiconv.dll.a +0 -0
- data/vendor/local/lib/libidn.a +0 -0
- data/vendor/local/lib/libidn.dll.a +0 -0
- data/vendor/local/lib/libintl.a +0 -0
- data/vendor/local/lib/libintl.dll.a +0 -0
- data/vendor/local/lib/libintl.la +1 -1
- data/vendor/local/lib/libnettle.a +0 -0
- data/vendor/local/lib/libnettle.dll.a +0 -0
- data/vendor/local/lib/libp11-kit.dll.a +0 -0
- data/vendor/local/lib/libpcre.a +0 -0
- data/vendor/local/lib/libpcre.dll.a +0 -0
- data/vendor/local/lib/libpcre.la +41 -0
- data/vendor/local/lib/libpcrecpp.a +0 -0
- data/vendor/local/lib/libpcrecpp.dll.a +0 -0
- data/vendor/local/lib/libpcrecpp.la +41 -0
- data/vendor/local/lib/libpcreposix.a +0 -0
- data/vendor/local/lib/libpcreposix.dll.a +0 -0
- data/vendor/local/lib/libpcreposix.la +41 -0
- data/vendor/local/lib/libtasn1.a +0 -0
- data/vendor/local/lib/libtasn1.dll.a +0 -0
- data/vendor/local/lib/libtasn1.la +1 -1
- data/vendor/local/lib/p11-kit/p11-kit-remote.exe +0 -0
- data/vendor/local/lib/pkcs11/p11-kit-trust.dll +0 -0
- data/vendor/local/lib/pkcs11/p11-kit-trust.dll.a +0 -0
- data/vendor/local/lib/pkgconfig/gio-2.0.pc +1 -1
- data/vendor/local/lib/pkgconfig/gio-windows-2.0.pc +1 -1
- data/vendor/local/lib/pkgconfig/glib-2.0.pc +3 -3
- data/vendor/local/lib/pkgconfig/gmodule-2.0.pc +1 -1
- data/vendor/local/lib/pkgconfig/gmodule-export-2.0.pc +1 -1
- data/vendor/local/lib/pkgconfig/gmodule-no-export-2.0.pc +1 -1
- data/vendor/local/lib/pkgconfig/gnutls.pc +2 -2
- data/vendor/local/lib/pkgconfig/gobject-2.0.pc +1 -1
- data/vendor/local/lib/pkgconfig/gthread-2.0.pc +1 -1
- data/vendor/local/lib/pkgconfig/hogweed.pc +1 -1
- data/vendor/local/lib/pkgconfig/libpcre.pc +13 -0
- data/vendor/local/lib/pkgconfig/libpcrecpp.pc +12 -0
- data/vendor/local/lib/pkgconfig/libpcreposix.pc +13 -0
- data/vendor/local/lib/pkgconfig/libtasn1.pc +1 -1
- data/vendor/local/lib/pkgconfig/nettle.pc +1 -1
- data/vendor/local/lib/pkgconfig/p11-kit-1.pc +1 -1
- data/vendor/local/share/aclocal/glib-gettext.m4 +3 -2
- data/vendor/local/share/doc/pcre/AUTHORS +45 -0
- data/vendor/local/share/doc/pcre/COPYING +5 -0
- data/vendor/local/share/doc/pcre/ChangeLog +5918 -0
- data/vendor/local/share/doc/pcre/LICENCE +93 -0
- data/vendor/local/share/doc/pcre/NEWS +716 -0
- data/vendor/local/share/doc/pcre/README +1002 -0
- data/vendor/local/share/doc/pcre/html/NON-AUTOTOOLS-BUILD.txt +772 -0
- data/vendor/local/share/doc/pcre/html/README.txt +1002 -0
- data/vendor/local/share/doc/pcre/html/index.html +185 -0
- data/vendor/local/share/doc/pcre/html/pcre-config.html +109 -0
- data/vendor/local/share/doc/pcre/html/pcre.html +224 -0
- data/vendor/local/share/doc/pcre/html/pcre16.html +384 -0
- data/vendor/local/share/doc/pcre/html/pcre32.html +382 -0
- data/vendor/local/share/doc/pcre/html/pcre_assign_jit_stack.html +76 -0
- data/vendor/local/share/doc/pcre/html/pcre_compile.html +111 -0
- data/vendor/local/share/doc/pcre/html/pcre_compile2.html +115 -0
- data/vendor/local/share/doc/pcre/html/pcre_config.html +94 -0
- data/vendor/local/share/doc/pcre/html/pcre_copy_named_substring.html +65 -0
- data/vendor/local/share/doc/pcre/html/pcre_copy_substring.html +61 -0
- data/vendor/local/share/doc/pcre/html/pcre_dfa_exec.html +129 -0
- data/vendor/local/share/doc/pcre/html/pcre_exec.html +111 -0
- data/vendor/local/share/doc/pcre/html/pcre_free_study.html +46 -0
- data/vendor/local/share/doc/pcre/html/pcre_free_substring.html +46 -0
- data/vendor/local/share/doc/pcre/html/pcre_free_substring_list.html +46 -0
- data/vendor/local/share/doc/pcre/html/pcre_fullinfo.html +118 -0
- data/vendor/local/share/doc/pcre/html/pcre_get_named_substring.html +68 -0
- data/vendor/local/share/doc/pcre/html/pcre_get_stringnumber.html +57 -0
- data/vendor/local/share/doc/pcre/html/pcre_get_stringtable_entries.html +60 -0
- data/vendor/local/share/doc/pcre/html/pcre_get_substring.html +64 -0
- data/vendor/local/share/doc/pcre/html/pcre_get_substring_list.html +61 -0
- data/vendor/local/share/doc/pcre/html/pcre_jit_exec.html +108 -0
- data/vendor/local/share/doc/pcre/html/pcre_jit_stack_alloc.html +55 -0
- data/vendor/local/share/doc/pcre/html/pcre_jit_stack_free.html +48 -0
- data/vendor/local/share/doc/pcre/html/pcre_maketables.html +48 -0
- data/vendor/local/share/doc/pcre/html/pcre_pattern_to_host_byte_order.html +58 -0
- data/vendor/local/share/doc/pcre/html/pcre_refcount.html +51 -0
- data/vendor/local/share/doc/pcre/html/pcre_study.html +68 -0
- data/vendor/local/share/doc/pcre/html/pcre_utf16_to_host_byte_order.html +57 -0
- data/vendor/local/share/doc/pcre/html/pcre_utf32_to_host_byte_order.html +57 -0
- data/vendor/local/share/doc/pcre/html/pcre_version.html +46 -0
- data/vendor/local/share/doc/pcre/html/pcreapi.html +2922 -0
- data/vendor/local/share/doc/pcre/html/pcrebuild.html +534 -0
- data/vendor/local/share/doc/pcre/html/pcrecallout.html +286 -0
- data/vendor/local/share/doc/pcre/html/pcrecompat.html +235 -0
- data/vendor/local/share/doc/pcre/html/pcrecpp.html +368 -0
- data/vendor/local/share/doc/pcre/html/pcredemo.html +426 -0
- data/vendor/local/share/doc/pcre/html/pcregrep.html +759 -0
- data/vendor/local/share/doc/pcre/html/pcrejit.html +452 -0
- data/vendor/local/share/doc/pcre/html/pcrelimits.html +90 -0
- data/vendor/local/share/doc/pcre/html/pcrematching.html +242 -0
- data/vendor/local/share/doc/pcre/html/pcrepartial.html +509 -0
- data/vendor/local/share/doc/pcre/html/pcrepattern.html +3273 -0
- data/vendor/local/share/doc/pcre/html/pcreperform.html +195 -0
- data/vendor/local/share/doc/pcre/html/pcreposix.html +290 -0
- data/vendor/local/share/doc/pcre/html/pcreprecompile.html +163 -0
- data/vendor/local/share/doc/pcre/html/pcresample.html +110 -0
- data/vendor/local/share/doc/pcre/html/pcrestack.html +225 -0
- data/vendor/local/share/doc/pcre/html/pcresyntax.html +561 -0
- data/vendor/local/share/doc/pcre/html/pcretest.html +1158 -0
- data/vendor/local/share/doc/pcre/html/pcreunicode.html +262 -0
- data/vendor/local/share/doc/pcre/pcre-config.txt +86 -0
- data/vendor/local/share/doc/pcre/pcre.txt +10455 -0
- data/vendor/local/share/doc/pcre/pcregrep.txt +741 -0
- data/vendor/local/share/doc/pcre/pcretest.txt +1087 -0
- data/vendor/local/share/gdb/auto-load/{libglib-2.0.so.0.4400.1-gdb.py → home/vagrant/ruby-gnome2.win32/glib2/vendor/local/lib/libglib-2.0.so.0.4800.0-gdb.py} +0 -0
- data/vendor/local/share/gdb/auto-load/{libgobject-2.0.so.0.4400.1-gdb.py → home/vagrant/ruby-gnome2.win32/glib2/vendor/local/lib/libgobject-2.0.so.0.4800.0-gdb.py} +0 -0
- data/vendor/local/share/gettext/ABOUT-NLS +382 -413
- data/vendor/local/share/gettext/its/gschema.its +25 -0
- data/vendor/local/share/gettext/its/gschema.loc +10 -0
- data/vendor/local/share/glib-2.0/codegen/__init__.pyc +0 -0
- data/vendor/local/share/glib-2.0/codegen/__init__.pyo +0 -0
- data/vendor/local/share/glib-2.0/codegen/codegen.py +22 -0
- data/vendor/local/share/glib-2.0/codegen/codegen.pyc +0 -0
- data/vendor/local/share/glib-2.0/codegen/codegen.pyo +0 -0
- data/vendor/local/share/glib-2.0/codegen/codegen_docbook.pyc +0 -0
- data/vendor/local/share/glib-2.0/codegen/codegen_docbook.pyo +0 -0
- data/vendor/local/share/glib-2.0/codegen/codegen_main.pyc +0 -0
- data/vendor/local/share/glib-2.0/codegen/codegen_main.pyo +0 -0
- data/vendor/local/share/glib-2.0/codegen/config.py +1 -1
- data/vendor/local/share/glib-2.0/codegen/config.pyc +0 -0
- data/vendor/local/share/glib-2.0/codegen/config.pyo +0 -0
- data/vendor/local/share/glib-2.0/codegen/dbustypes.pyc +0 -0
- data/vendor/local/share/glib-2.0/codegen/dbustypes.pyo +0 -0
- data/vendor/local/share/glib-2.0/codegen/parser.pyc +0 -0
- data/vendor/local/share/glib-2.0/codegen/parser.pyo +0 -0
- data/vendor/local/share/glib-2.0/codegen/utils.pyc +0 -0
- data/vendor/local/share/glib-2.0/codegen/utils.pyo +0 -0
- data/vendor/local/share/glib-2.0/gdb/glib.py +4 -0
- data/vendor/local/share/glib-2.0/schemas/gschemas.compiled +0 -0
- data/vendor/local/share/gtk-doc/html/gio/GAction.html +58 -64
- data/vendor/local/share/gtk-doc/html/gio/GActionGroup.html +75 -80
- data/vendor/local/share/gtk-doc/html/gio/GActionMap.html +50 -51
- data/vendor/local/share/gtk-doc/html/gio/GAppInfo.html +72 -97
- data/vendor/local/share/gtk-doc/html/gio/GAppInfoMonitor.html +7 -8
- data/vendor/local/share/gtk-doc/html/gio/GApplication.html +174 -160
- data/vendor/local/share/gtk-doc/html/gio/GApplicationCommandLine.html +127 -132
- data/vendor/local/share/gtk-doc/html/gio/GAsyncInitable.html +90 -92
- data/vendor/local/share/gtk-doc/html/gio/GAsyncResult.html +43 -46
- data/vendor/local/share/gtk-doc/html/gio/GBufferedInputStream.html +17 -26
- data/vendor/local/share/gtk-doc/html/gio/GBufferedOutputStream.html +12 -17
- data/vendor/local/share/gtk-doc/html/gio/GBytesIcon.html +10 -11
- data/vendor/local/share/gtk-doc/html/gio/GCancellable.html +45 -52
- data/vendor/local/share/gtk-doc/html/gio/GCharsetConverter.html +14 -18
- data/vendor/local/share/gtk-doc/html/gio/GConverter.html +20 -21
- data/vendor/local/share/gtk-doc/html/gio/GCredentials.html +41 -48
- data/vendor/local/share/gtk-doc/html/gio/GDBusActionGroup.html +9 -10
- data/vendor/local/share/gtk-doc/html/gio/GDBusAuthObserver.html +34 -40
- data/vendor/local/share/gtk-doc/html/gio/GDBusConnection.html +337 -258
- data/vendor/local/share/gtk-doc/html/gio/GDBusInterface.html +23 -22
- data/vendor/local/share/gtk-doc/html/gio/GDBusInterfaceSkeleton.html +44 -50
- data/vendor/local/share/gtk-doc/html/gio/GDBusMenuModel.html +9 -10
- data/vendor/local/share/gtk-doc/html/gio/GDBusMessage.html +143 -158
- data/vendor/local/share/gtk-doc/html/gio/GDBusMethodInvocation.html +59 -54
- data/vendor/local/share/gtk-doc/html/gio/GDBusObject.html +19 -22
- data/vendor/local/share/gtk-doc/html/gio/GDBusObjectManager.html +25 -27
- data/vendor/local/share/gtk-doc/html/gio/GDBusObjectManagerClient.html +48 -52
- data/vendor/local/share/gtk-doc/html/gio/GDBusObjectManagerServer.html +34 -31
- data/vendor/local/share/gtk-doc/html/gio/GDBusObjectProxy.html +15 -17
- data/vendor/local/share/gtk-doc/html/gio/GDBusObjectSkeleton.html +25 -28
- data/vendor/local/share/gtk-doc/html/gio/GDBusProxy.html +105 -122
- data/vendor/local/share/gtk-doc/html/gio/GDBusServer.html +32 -39
- data/vendor/local/share/gtk-doc/html/gio/GDataInputStream.html +40 -51
- data/vendor/local/share/gtk-doc/html/gio/GDataOutputStream.html +17 -28
- data/vendor/local/share/gtk-doc/html/gio/GDatagramBased.html +766 -0
- data/vendor/local/share/gtk-doc/html/gio/GDrive.html +56 -75
- data/vendor/local/share/gtk-doc/html/gio/GDtlsClientConnection.html +468 -0
- data/vendor/local/share/gtk-doc/html/gio/GDtlsConnection.html +1521 -0
- data/vendor/local/share/gtk-doc/html/gio/GDtlsServerConnection.html +208 -0
- data/vendor/local/share/gtk-doc/html/gio/GEmblem.html +16 -19
- data/vendor/local/share/gtk-doc/html/gio/GEmblemedIcon.html +16 -17
- data/vendor/local/share/gtk-doc/html/gio/GFile.html +204 -240
- data/vendor/local/share/gtk-doc/html/gio/GFileDescriptorBased.html +9 -11
- data/vendor/local/share/gtk-doc/html/gio/GFileEnumerator.html +36 -41
- data/vendor/local/share/gtk-doc/html/gio/GFileIOStream.html +13 -15
- data/vendor/local/share/gtk-doc/html/gio/GFileIcon.html +8 -9
- data/vendor/local/share/gtk-doc/html/gio/GFileInfo.html +128 -145
- data/vendor/local/share/gtk-doc/html/gio/GFileInputStream.html +8 -9
- data/vendor/local/share/gtk-doc/html/gio/GFileMonitor.html +75 -36
- data/vendor/local/share/gtk-doc/html/gio/GFileOutputStream.html +9 -11
- data/vendor/local/share/gtk-doc/html/gio/GFilenameCompleter.html +10 -13
- data/vendor/local/share/gtk-doc/html/gio/GFilterInputStream.html +9 -11
- data/vendor/local/share/gtk-doc/html/gio/GFilterOutputStream.html +9 -11
- data/vendor/local/share/gtk-doc/html/gio/GIOModule.html +41 -43
- data/vendor/local/share/gtk-doc/html/gio/GIOStream.html +56 -44
- data/vendor/local/share/gtk-doc/html/gio/GIcon.html +20 -23
- data/vendor/local/share/gtk-doc/html/gio/GInetAddress.html +103 -118
- data/vendor/local/share/gtk-doc/html/gio/GInetAddressMask.html +39 -47
- data/vendor/local/share/gtk-doc/html/gio/GInetSocketAddress.html +31 -37
- data/vendor/local/share/gtk-doc/html/gio/GInitable.html +17 -19
- data/vendor/local/share/gtk-doc/html/gio/GInputStream.html +32 -44
- data/vendor/local/share/gtk-doc/html/gio/GListModel.html +28 -29
- data/vendor/local/share/gtk-doc/html/gio/GListStore.html +80 -35
- data/vendor/local/share/gtk-doc/html/gio/GLoadableIcon.html +10 -11
- data/vendor/local/share/gtk-doc/html/gio/GMemoryInputStream.html +11 -15
- data/vendor/local/share/gtk-doc/html/gio/GMemoryOutputStream.html +38 -38
- data/vendor/local/share/gtk-doc/html/gio/GMenu.html +138 -145
- data/vendor/local/share/gtk-doc/html/gio/GMenuModel.html +84 -94
- data/vendor/local/share/gtk-doc/html/gio/GMount.html +54 -66
- data/vendor/local/share/gtk-doc/html/gio/GMountOperation.html +34 -42
- data/vendor/local/share/gtk-doc/html/gio/GNetworkAddress.html +26 -28
- data/vendor/local/share/gtk-doc/html/gio/GNetworkMonitor.html +97 -39
- data/vendor/local/share/gtk-doc/html/gio/GNetworkService.html +18 -23
- data/vendor/local/share/gtk-doc/html/gio/GNotification.html +49 -47
- data/vendor/local/share/gtk-doc/html/gio/GOutputStream.html +39 -56
- data/vendor/local/share/gtk-doc/html/gio/GPermission.html +26 -34
- data/vendor/local/share/gtk-doc/html/gio/GPollableInputStream.html +16 -20
- data/vendor/local/share/gtk-doc/html/gio/GPollableOutputStream.html +16 -20
- data/vendor/local/share/gtk-doc/html/gio/GPropertyAction.html +33 -20
- data/vendor/local/share/gtk-doc/html/gio/GProxy.html +30 -32
- data/vendor/local/share/gtk-doc/html/gio/GProxyAddress.html +42 -51
- data/vendor/local/share/gtk-doc/html/gio/GProxyResolver.html +17 -19
- data/vendor/local/share/gtk-doc/html/gio/GRemoteActionGroup.html +15 -16
- data/vendor/local/share/gtk-doc/html/gio/GResolver.html +46 -47
- data/vendor/local/share/gtk-doc/html/gio/GResource.html +79 -74
- data/vendor/local/share/gtk-doc/html/gio/GSeekable.html +12 -18
- data/vendor/local/share/gtk-doc/html/gio/GSettings.html +325 -200
- data/vendor/local/share/gtk-doc/html/gio/GSettingsBackend.html +28 -29
- data/vendor/local/share/gtk-doc/html/gio/GSimpleAction.html +46 -49
- data/vendor/local/share/gtk-doc/html/gio/GSimpleActionGroup.html +21 -23
- data/vendor/local/share/gtk-doc/html/gio/GSimpleAsyncResult.html +258 -162
- data/vendor/local/share/gtk-doc/html/gio/GSimpleIOStream.html +11 -13
- data/vendor/local/share/gtk-doc/html/gio/GSimplePermission.html +7 -9
- data/vendor/local/share/gtk-doc/html/gio/GSimpleProxyResolver.html +16 -18
- data/vendor/local/share/gtk-doc/html/gio/GSocket.html +470 -281
- data/vendor/local/share/gtk-doc/html/gio/GSocketAddress.html +27 -32
- data/vendor/local/share/gtk-doc/html/gio/GSocketClient.html +76 -85
- data/vendor/local/share/gtk-doc/html/gio/GSocketConnectable.html +118 -72
- data/vendor/local/share/gtk-doc/html/gio/GSocketConnection.html +28 -33
- data/vendor/local/share/gtk-doc/html/gio/GSocketControlMessage.html +26 -30
- data/vendor/local/share/gtk-doc/html/gio/GSocketListener.html +180 -62
- data/vendor/local/share/gtk-doc/html/gio/GSocketService.html +51 -28
- data/vendor/local/share/gtk-doc/html/gio/GSrvTarget.html +25 -31
- data/vendor/local/share/gtk-doc/html/gio/GSubprocess.html +63 -75
- data/vendor/local/share/gtk-doc/html/gio/GSubprocessLauncher.html +49 -54
- data/vendor/local/share/gtk-doc/html/gio/GTask.html +406 -404
- data/vendor/local/share/gtk-doc/html/gio/GTcpConnection.html +11 -13
- data/vendor/local/share/gtk-doc/html/gio/GTcpWrapperConnection.html +9 -11
- data/vendor/local/share/gtk-doc/html/gio/GTestDBus.html +36 -38
- data/vendor/local/share/gtk-doc/html/gio/GThemedIcon.html +30 -31
- data/vendor/local/share/gtk-doc/html/gio/GThreadedSocketService.html +11 -14
- data/vendor/local/share/gtk-doc/html/gio/GTlsBackend.html +172 -46
- data/vendor/local/share/gtk-doc/html/gio/GTlsCertificate.html +26 -32
- data/vendor/local/share/gtk-doc/html/gio/GTlsClientConnection.html +96 -37
- data/vendor/local/share/gtk-doc/html/gio/GTlsConnection.html +64 -66
- data/vendor/local/share/gtk-doc/html/gio/GTlsDatabase.html +256 -63
- data/vendor/local/share/gtk-doc/html/gio/GTlsFileDatabase.html +15 -16
- data/vendor/local/share/gtk-doc/html/gio/GTlsInteraction.html +150 -49
- data/vendor/local/share/gtk-doc/html/gio/GTlsPassword.html +46 -51
- data/vendor/local/share/gtk-doc/html/gio/GTlsServerConnection.html +21 -18
- data/vendor/local/share/gtk-doc/html/gio/GUnixConnection.html +21 -26
- data/vendor/local/share/gtk-doc/html/gio/GUnixCredentialsMessage.html +21 -25
- data/vendor/local/share/gtk-doc/html/gio/GUnixFDList.html +31 -37
- data/vendor/local/share/gtk-doc/html/gio/GUnixFDMessage.html +24 -28
- data/vendor/local/share/gtk-doc/html/gio/GUnixInputStream.html +15 -19
- data/vendor/local/share/gtk-doc/html/gio/GUnixOutputStream.html +15 -19
- data/vendor/local/share/gtk-doc/html/gio/GUnixSocketAddress.html +43 -47
- data/vendor/local/share/gtk-doc/html/gio/GVfs.html +22 -24
- data/vendor/local/share/gtk-doc/html/gio/GVolume.html +43 -54
- data/vendor/local/share/gtk-doc/html/gio/GVolumeMonitor.html +26 -27
- data/vendor/local/share/gtk-doc/html/gio/GZlibCompressor.html +15 -17
- data/vendor/local/share/gtk-doc/html/gio/GZlibDecompressor.html +11 -13
- data/vendor/local/share/gtk-doc/html/gio/annotation-glossary.html +21 -6
- data/vendor/local/share/gtk-doc/html/gio/api-index-2-18.html +3 -4
- data/vendor/local/share/gtk-doc/html/gio/api-index-2-20.html +3 -4
- data/vendor/local/share/gtk-doc/html/gio/api-index-2-22.html +3 -4
- data/vendor/local/share/gtk-doc/html/gio/api-index-2-24.html +3 -4
- data/vendor/local/share/gtk-doc/html/gio/api-index-2-26.html +3 -4
- data/vendor/local/share/gtk-doc/html/gio/api-index-2-28.html +3 -4
- data/vendor/local/share/gtk-doc/html/gio/api-index-2-30.html +11 -4
- data/vendor/local/share/gtk-doc/html/gio/api-index-2-32.html +3 -4
- data/vendor/local/share/gtk-doc/html/gio/api-index-2-34.html +3 -4
- data/vendor/local/share/gtk-doc/html/gio/api-index-2-36.html +3 -4
- data/vendor/local/share/gtk-doc/html/gio/api-index-2-38.html +3 -4
- data/vendor/local/share/gtk-doc/html/gio/api-index-2-40.html +3 -4
- data/vendor/local/share/gtk-doc/html/gio/api-index-2-42.html +11 -5
- data/vendor/local/share/gtk-doc/html/gio/api-index-2-44.html +5 -6
- data/vendor/local/share/gtk-doc/html/gio/api-index-2-46.html +211 -0
- data/vendor/local/share/gtk-doc/html/gio/api-index-2-48.html +283 -0
- data/vendor/local/share/gtk-doc/html/gio/api-index-deprecated.html +107 -4
- data/vendor/local/share/gtk-doc/html/gio/api-index-full.html +459 -8
- data/vendor/local/share/gtk-doc/html/gio/application.html +5 -6
- data/vendor/local/share/gtk-doc/html/gio/async.html +3 -4
- data/vendor/local/share/gtk-doc/html/gio/ch01.html +3 -4
- data/vendor/local/share/gtk-doc/html/gio/ch02.html +3 -4
- data/vendor/local/share/gtk-doc/html/gio/ch03.html +3 -4
- data/vendor/local/share/gtk-doc/html/gio/ch32.html +29 -172
- data/vendor/local/share/gtk-doc/html/gio/ch33.html +187 -27
- data/vendor/local/share/gtk-doc/html/gio/ch33s02.html +15 -34
- data/vendor/local/share/gtk-doc/html/gio/ch33s03.html +16 -137
- data/vendor/local/share/gtk-doc/html/gio/ch34.html +26 -87
- data/vendor/local/share/gtk-doc/html/gio/ch34s02.html +37 -121
- data/vendor/local/share/gtk-doc/html/gio/ch34s03.html +132 -176
- data/vendor/local/share/gtk-doc/html/gio/ch34s04.html +19 -71
- data/vendor/local/share/gtk-doc/html/gio/ch34s05.html +24 -908
- data/vendor/local/share/gtk-doc/html/gio/{ch33s06.html → ch34s06.html} +9 -10
- data/vendor/local/share/gtk-doc/html/gio/{ch33s07.html → ch34s07.html} +9 -10
- data/vendor/local/share/gtk-doc/html/gio/ch35.html +94 -0
- data/vendor/local/share/gtk-doc/html/gio/ch35s02.html +141 -0
- data/vendor/local/share/gtk-doc/html/gio/ch35s03.html +201 -0
- data/vendor/local/share/gtk-doc/html/gio/ch35s04.html +96 -0
- data/vendor/local/share/gtk-doc/html/gio/conversion.html +3 -4
- data/vendor/local/share/gtk-doc/html/gio/data-models.html +4 -5
- data/vendor/local/share/gtk-doc/html/gio/extending-gio.html +3 -4
- data/vendor/local/share/gtk-doc/html/gio/extending.html +3 -4
- data/vendor/local/share/gtk-doc/html/gio/failable_initialization.html +3 -4
- data/vendor/local/share/gtk-doc/html/gio/file_mon.html +3 -4
- data/vendor/local/share/gtk-doc/html/gio/file_ops.html +3 -4
- data/vendor/local/share/gtk-doc/html/gio/gapplication-tool.html +11 -12
- data/vendor/local/share/gtk-doc/html/gio/gdbus-codegen.html +199 -200
- data/vendor/local/share/gtk-doc/html/gio/gdbus-convenience.html +3 -4
- data/vendor/local/share/gtk-doc/html/gio/gdbus-example-gdbus-codegen.html +89 -0
- data/vendor/local/share/gtk-doc/html/gio/gdbus-lowlevel.html +3 -4
- data/vendor/local/share/gtk-doc/html/gio/gdbus.html +9 -10
- data/vendor/local/share/gtk-doc/html/gio/gio-D-Bus-Addresses.html +24 -28
- data/vendor/local/share/gtk-doc/html/gio/gio-D-Bus-Introspection-Data.html +77 -87
- data/vendor/local/share/gtk-doc/html/gio/gio-D-Bus-Utilities.html +19 -27
- data/vendor/local/share/gtk-doc/html/gio/gio-Desktop-file-based-GAppInfo.html +43 -57
- data/vendor/local/share/gtk-doc/html/gio/gio-Extension-Points.html +47 -52
- data/vendor/local/share/gtk-doc/html/gio/gio-GActionGroup-exporter.html +11 -13
- data/vendor/local/share/gtk-doc/html/gio/gio-GContentType.html +20 -27
- data/vendor/local/share/gtk-doc/html/gio/gio-GConverterInputstream.html +9 -11
- data/vendor/local/share/gtk-doc/html/gio/gio-GConverterOutputstream.html +9 -11
- data/vendor/local/share/gtk-doc/html/gio/gio-GDBusError.html +59 -67
- data/vendor/local/share/gtk-doc/html/gio/gio-GFileAttribute.html +16 -21
- data/vendor/local/share/gtk-doc/html/gio/gio-GIOError.html +21 -17
- data/vendor/local/share/gtk-doc/html/gio/gio-GIOScheduler.html +9 -12
- data/vendor/local/share/gtk-doc/html/gio/gio-GMenuModel-exporter.html +11 -13
- data/vendor/local/share/gtk-doc/html/gio/gio-GSettingsSchema-GSettingsSchemaSource.html +147 -114
- data/vendor/local/share/gtk-doc/html/gio/gio-GWin32InputStream.html +12 -16
- data/vendor/local/share/gtk-doc/html/gio/gio-GWin32OutputStream.html +13 -17
- data/vendor/local/share/gtk-doc/html/gio/gio-GWin32RegistryKey.html +2066 -0
- data/vendor/local/share/gtk-doc/html/gio/gio-Owning-Bus-Names.html +29 -32
- data/vendor/local/share/gtk-doc/html/gio/gio-TLS-Overview.html +16 -13
- data/vendor/local/share/gtk-doc/html/gio/gio-Unix-Mounts.html +54 -75
- data/vendor/local/share/gtk-doc/html/gio/gio-Watching-Bus-Names.html +27 -30
- data/vendor/local/share/gtk-doc/html/gio/gio-gnetworking.h.html +5 -6
- data/vendor/local/share/gtk-doc/html/gio/gio-gpollableutils.html +16 -21
- data/vendor/local/share/gtk-doc/html/gio/gio-hierarchy.html +11 -8
- data/vendor/local/share/gtk-doc/html/gio/gio-querymodules.html +4 -5
- data/vendor/local/share/gtk-doc/html/gio/gio.devhelp2 +194 -140
- data/vendor/local/share/gtk-doc/html/gio/glib-compile-resources.html +6 -7
- data/vendor/local/share/gtk-doc/html/gio/glib-compile-schemas.html +12 -6
- data/vendor/local/share/gtk-doc/html/gio/gresource-tool.html +5 -6
- data/vendor/local/share/gtk-doc/html/gio/gsettings-tool.html +5 -6
- data/vendor/local/share/gtk-doc/html/gio/highlevel-socket.html +3 -4
- data/vendor/local/share/gtk-doc/html/gio/icons.html +3 -4
- data/vendor/local/share/gtk-doc/html/gio/index.html +41 -45
- data/vendor/local/share/gtk-doc/html/gio/index.sgml +204 -137
- data/vendor/local/share/gtk-doc/html/gio/migrating.html +22 -44
- data/vendor/local/share/gtk-doc/html/gio/networking.html +6 -4
- data/vendor/local/share/gtk-doc/html/gio/permissions.html +3 -4
- data/vendor/local/share/gtk-doc/html/gio/pt01.html +3 -4
- data/vendor/local/share/gtk-doc/html/gio/pt02.html +20 -5
- data/vendor/local/share/gtk-doc/html/gio/registry.html +32 -0
- data/vendor/local/share/gtk-doc/html/gio/resolver.html +3 -4
- data/vendor/local/share/gtk-doc/html/gio/resources.html +3 -4
- data/vendor/local/share/gtk-doc/html/gio/running-gio-apps.html +3 -4
- data/vendor/local/share/gtk-doc/html/gio/settings.html +3 -4
- data/vendor/local/share/gtk-doc/html/gio/streaming.html +3 -4
- data/vendor/local/share/gtk-doc/html/gio/style.css +9 -6
- data/vendor/local/share/gtk-doc/html/gio/subprocesses.html +3 -4
- data/vendor/local/share/gtk-doc/html/gio/testing.html +3 -4
- data/vendor/local/share/gtk-doc/html/gio/tls.html +12 -4
- data/vendor/local/share/gtk-doc/html/gio/tools.html +3 -4
- data/vendor/local/share/gtk-doc/html/gio/types.html +3 -4
- data/vendor/local/share/gtk-doc/html/gio/utils.html +3 -4
- data/vendor/local/share/gtk-doc/html/gio/volume_mon.html +3 -4
- data/vendor/local/share/gtk-doc/html/glib/annotation-glossary.html +16 -6
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-10.html +3 -4
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-12.html +3 -4
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-14.html +3 -4
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-16.html +3 -4
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-18.html +3 -4
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-2.html +3 -4
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-20.html +3 -4
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-22.html +3 -4
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-24.html +3 -4
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-26.html +3 -4
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-28.html +3 -4
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-30.html +3 -4
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-32.html +3 -4
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-34.html +3 -4
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-36.html +3 -4
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-38.html +3 -4
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-4.html +3 -4
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-40.html +7 -4
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-42.html +12 -6
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-44.html +5 -6
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-46.html +68 -0
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-48.html +68 -0
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-6.html +3 -4
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-8.html +3 -4
- data/vendor/local/share/gtk-doc/html/glib/api-index-deprecated.html +46 -8
- data/vendor/local/share/gtk-doc/html/glib/api-index-full.html +80 -9
- data/vendor/local/share/gtk-doc/html/glib/deprecated.html +3 -4
- data/vendor/local/share/gtk-doc/html/glib/glib-Arrays.html +68 -85
- data/vendor/local/share/gtk-doc/html/glib/glib-Asynchronous-Queues.html +254 -84
- data/vendor/local/share/gtk-doc/html/glib/glib-Atomic-Operations.html +130 -144
- data/vendor/local/share/gtk-doc/html/glib/glib-Automatic-String-Completion.html +19 -23
- data/vendor/local/share/gtk-doc/html/glib/glib-Balanced-Binary-Trees.html +33 -46
- data/vendor/local/share/gtk-doc/html/glib/glib-Base64-Encoding.html +22 -26
- data/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html +89 -82
- data/vendor/local/share/gtk-doc/html/glib/glib-Bookmark-file-parser.html +87 -112
- data/vendor/local/share/gtk-doc/html/glib/glib-Bounds-checked-integer-arithmetic.html +384 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Byte-Arrays.html +100 -114
- data/vendor/local/share/gtk-doc/html/glib/glib-Byte-Order-Macros.html +83 -143
- data/vendor/local/share/gtk-doc/html/glib/glib-Caches.html +14 -19
- data/vendor/local/share/gtk-doc/html/glib/glib-Character-Set-Conversion.html +49 -64
- data/vendor/local/share/gtk-doc/html/glib/glib-Commandline-option-parser.html +141 -156
- data/vendor/local/share/gtk-doc/html/glib/glib-Data-Checksums.html +32 -38
- data/vendor/local/share/gtk-doc/html/glib/glib-Data-HMACs.html +24 -31
- data/vendor/local/share/gtk-doc/html/glib/glib-Datasets.html +28 -32
- data/vendor/local/share/gtk-doc/html/glib/glib-Date-and-Time-Functions.html +108 -141
- data/vendor/local/share/gtk-doc/html/glib/glib-Deprecated-Thread-APIs.html +98 -113
- data/vendor/local/share/gtk-doc/html/glib/glib-Double-ended-Queues.html +89 -112
- data/vendor/local/share/gtk-doc/html/glib/glib-Doubly-Linked-Lists.html +93 -125
- data/vendor/local/share/gtk-doc/html/glib/glib-Dynamic-Loading-of-Modules.html +50 -58
- data/vendor/local/share/gtk-doc/html/glib/glib-Error-Reporting.html +189 -171
- data/vendor/local/share/gtk-doc/html/glib/glib-File-Utilities.html +99 -134
- data/vendor/local/share/gtk-doc/html/glib/glib-GDateTime.html +172 -217
- data/vendor/local/share/gtk-doc/html/glib/glib-GTimeZone.html +32 -42
- data/vendor/local/share/gtk-doc/html/glib/glib-GVariant.html +430 -451
- data/vendor/local/share/gtk-doc/html/glib/glib-GVariantType.html +53 -66
- data/vendor/local/share/gtk-doc/html/glib/glib-Glob-style-pattern-matching.html +12 -18
- data/vendor/local/share/gtk-doc/html/glib/glib-Hash-Tables.html +167 -192
- data/vendor/local/share/gtk-doc/html/glib/glib-Hook-Functions.html +58 -78
- data/vendor/local/share/gtk-doc/html/glib/glib-Hostname-Utilities.html +14 -20
- data/vendor/local/share/gtk-doc/html/glib/glib-I18N.html +70 -79
- data/vendor/local/share/gtk-doc/html/glib/glib-IO-Channels.html +68 -102
- data/vendor/local/share/gtk-doc/html/glib/glib-Key-value-file-parser.html +166 -183
- data/vendor/local/share/gtk-doc/html/glib/glib-Keyed-Data-Lists.html +33 -41
- data/vendor/local/share/gtk-doc/html/glib/glib-Lexical-Scanner.html +80 -92
- data/vendor/local/share/gtk-doc/html/glib/glib-Memory-Allocation.html +101 -119
- data/vendor/local/share/gtk-doc/html/glib/glib-Memory-Slices.html +102 -75
- data/vendor/local/share/gtk-doc/html/glib/glib-Message-Logging.html +133 -60
- data/vendor/local/share/gtk-doc/html/glib/glib-Miscellaneous-Macros.html +192 -162
- data/vendor/local/share/gtk-doc/html/glib/glib-Miscellaneous-Utility-Functions.html +107 -155
- data/vendor/local/share/gtk-doc/html/glib/glib-N-ary-Trees.html +69 -103
- data/vendor/local/share/gtk-doc/html/glib/glib-Numerical-Definitions.html +12 -16
- data/vendor/local/share/gtk-doc/html/glib/glib-Perl-compatible-regular-expressions.html +199 -230
- data/vendor/local/share/gtk-doc/html/glib/glib-Pointer-Arrays.html +54 -67
- data/vendor/local/share/gtk-doc/html/glib/glib-Quarks.html +15 -22
- data/vendor/local/share/gtk-doc/html/glib/glib-Random-Numbers.html +24 -39
- data/vendor/local/share/gtk-doc/html/glib/glib-Relations-and-Tuples.html +29 -36
- data/vendor/local/share/gtk-doc/html/glib/glib-Sequences.html +187 -173
- data/vendor/local/share/gtk-doc/html/glib/glib-Shell-related-Utilities.html +13 -17
- data/vendor/local/share/gtk-doc/html/glib/glib-Simple-XML-Subset-Parser.html +104 -117
- data/vendor/local/share/gtk-doc/html/glib/glib-Singly-Linked-Lists.html +62 -89
- data/vendor/local/share/gtk-doc/html/glib/glib-Spawning-Processes.html +26 -38
- data/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html +15 -23
- data/vendor/local/share/gtk-doc/html/glib/glib-String-Chunks.html +13 -18
- data/vendor/local/share/gtk-doc/html/glib/glib-String-Utility-Functions.html +210 -261
- data/vendor/local/share/gtk-doc/html/glib/glib-Strings.html +95 -101
- data/vendor/local/share/gtk-doc/html/glib/glib-Testing.html +306 -268
- data/vendor/local/share/gtk-doc/html/glib/glib-The-Main-Event-Loop.html +373 -369
- data/vendor/local/share/gtk-doc/html/glib/glib-Thread-Pools.html +79 -45
- data/vendor/local/share/gtk-doc/html/glib/glib-Threads.html +316 -319
- data/vendor/local/share/gtk-doc/html/glib/glib-Timers.html +12 -15
- data/vendor/local/share/gtk-doc/html/glib/glib-Trash-Stacks.html +44 -26
- data/vendor/local/share/gtk-doc/html/glib/glib-Type-Conversion-Macros.html +20 -21
- data/vendor/local/share/gtk-doc/html/glib/glib-UNIX-specific-utilities-and-integration.html +44 -53
- data/vendor/local/share/gtk-doc/html/glib/glib-URI-Functions.html +21 -26
- data/vendor/local/share/gtk-doc/html/glib/glib-Unicode-Manipulation.html +200 -220
- data/vendor/local/share/gtk-doc/html/glib/glib-Version-Information.html +51 -28
- data/vendor/local/share/gtk-doc/html/glib/glib-Warnings-and-Assertions.html +38 -41
- data/vendor/local/share/gtk-doc/html/glib/glib-Windows-Compatibility-Functions.html +25 -34
- data/vendor/local/share/gtk-doc/html/glib/glib-building.html +3 -4
- data/vendor/local/share/gtk-doc/html/glib/glib-changes.html +3 -4
- data/vendor/local/share/gtk-doc/html/glib/glib-compiling.html +3 -4
- data/vendor/local/share/gtk-doc/html/glib/glib-core.html +3 -4
- data/vendor/local/share/gtk-doc/html/glib/glib-cross-compiling.html +3 -4
- data/vendor/local/share/gtk-doc/html/glib/glib-data-types.html +3 -4
- data/vendor/local/share/gtk-doc/html/glib/glib-fundamentals.html +6 -4
- data/vendor/local/share/gtk-doc/html/glib/glib-gettextize.html +3 -4
- data/vendor/local/share/gtk-doc/html/glib/glib-programming.html +4 -5
- data/vendor/local/share/gtk-doc/html/glib/glib-regex-syntax.html +14 -15
- data/vendor/local/share/gtk-doc/html/glib/glib-resources.html +3 -4
- data/vendor/local/share/gtk-doc/html/glib/glib-running.html +3 -4
- data/vendor/local/share/gtk-doc/html/glib/glib-utilities.html +3 -4
- data/vendor/local/share/gtk-doc/html/glib/glib.devhelp2 +44 -59
- data/vendor/local/share/gtk-doc/html/glib/glib.html +3 -4
- data/vendor/local/share/gtk-doc/html/glib/gtester-report.html +3 -4
- data/vendor/local/share/gtk-doc/html/glib/gtester.html +3 -4
- data/vendor/local/share/gtk-doc/html/glib/gvariant-format-strings.html +149 -149
- data/vendor/local/share/gtk-doc/html/glib/gvariant-text.html +11 -12
- data/vendor/local/share/gtk-doc/html/glib/index.html +9 -5
- data/vendor/local/share/gtk-doc/html/glib/index.sgml +36 -2
- data/vendor/local/share/gtk-doc/html/glib/style.css +9 -6
- data/vendor/local/share/gtk-doc/html/glib/tools.html +3 -4
- data/vendor/local/share/gtk-doc/html/gobject/GBinding.html +53 -57
- data/vendor/local/share/gtk-doc/html/gobject/GTypeModule.html +72 -77
- data/vendor/local/share/gtk-doc/html/gobject/GTypePlugin.html +19 -20
- data/vendor/local/share/gtk-doc/html/gobject/annotation-glossary.html +14 -6
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-10.html +3 -4
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-12.html +3 -4
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-14.html +3 -4
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-18.html +3 -4
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-2.html +3 -4
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-22.html +3 -4
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-24.html +3 -4
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-26.html +3 -4
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-28.html +3 -4
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-30.html +3 -4
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-32.html +3 -4
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-34.html +3 -4
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-36.html +3 -4
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-38.html +3 -4
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-4.html +3 -4
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-40.html +3 -4
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-42.html +3 -4
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-44.html +5 -6
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-46.html +34 -0
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-6.html +3 -4
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-8.html +3 -4
- data/vendor/local/share/gtk-doc/html/gobject/api-index-deprecated.html +3 -4
- data/vendor/local/share/gtk-doc/html/gobject/api-index-full.html +7 -8
- data/vendor/local/share/gtk-doc/html/gobject/ch01s02.html +22 -17
- data/vendor/local/share/gtk-doc/html/gobject/chapter-gobject.html +85 -135
- data/vendor/local/share/gtk-doc/html/gobject/chapter-gtype.html +80 -144
- data/vendor/local/share/gtk-doc/html/gobject/chapter-intro.html +7 -8
- data/vendor/local/share/gtk-doc/html/gobject/chapter-signal.html +59 -75
- data/vendor/local/share/gtk-doc/html/gobject/glib-genmarshal.html +20 -21
- data/vendor/local/share/gtk-doc/html/gobject/glib-mkenums.html +19 -20
- data/vendor/local/share/gtk-doc/html/gobject/gobject-Boxed-Types.html +68 -89
- data/vendor/local/share/gtk-doc/html/gobject/gobject-Closures.html +227 -218
- data/vendor/local/share/gtk-doc/html/gobject/gobject-Enumeration-and-Flag-Types.html +48 -57
- data/vendor/local/share/gtk-doc/html/gobject/gobject-GParamSpec.html +125 -96
- data/vendor/local/share/gtk-doc/html/gobject/gobject-Generic-values.html +78 -90
- data/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html +143 -138
- data/vendor/local/share/gtk-doc/html/gobject/gobject-Standard-Parameter-and-Value-Types.html +226 -285
- data/vendor/local/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html +306 -289
- data/vendor/local/share/gtk-doc/html/gobject/gobject-Type-Information.html +450 -448
- data/vendor/local/share/gtk-doc/html/gobject/gobject-Value-arrays.html +22 -23
- data/vendor/local/share/gtk-doc/html/gobject/gobject-Varargs-Value-Collection.html +11 -12
- data/vendor/local/share/gtk-doc/html/gobject/gobject-memory.html +32 -91
- data/vendor/local/share/gtk-doc/html/gobject/gobject-properties.html +134 -133
- data/vendor/local/share/gtk-doc/html/gobject/gobject-query.html +3 -4
- data/vendor/local/share/gtk-doc/html/gobject/gobject.devhelp2 +4 -8
- data/vendor/local/share/gtk-doc/html/gobject/gtype-conventions.html +89 -98
- data/vendor/local/share/gtk-doc/html/gobject/gtype-instantiable-classed.html +119 -112
- data/vendor/local/share/gtk-doc/html/gobject/gtype-non-instantiable-classed.html +199 -183
- data/vendor/local/share/gtk-doc/html/gobject/gtype-non-instantiable.html +30 -30
- data/vendor/local/share/gtk-doc/html/gobject/howto-gobject-chainup.html +32 -33
- data/vendor/local/share/gtk-doc/html/gobject/howto-gobject-code.html +80 -32
- data/vendor/local/share/gtk-doc/html/gobject/howto-gobject-construction.html +73 -53
- data/vendor/local/share/gtk-doc/html/gobject/howto-gobject-destruction.html +52 -50
- data/vendor/local/share/gtk-doc/html/gobject/howto-gobject-methods.html +255 -133
- data/vendor/local/share/gtk-doc/html/gobject/howto-gobject.html +147 -111
- data/vendor/local/share/gtk-doc/html/gobject/howto-interface-implement.html +65 -122
- data/vendor/local/share/gtk-doc/html/gobject/howto-interface-override.html +93 -79
- data/vendor/local/share/gtk-doc/html/gobject/howto-interface-prerequisite.html +80 -54
- data/vendor/local/share/gtk-doc/html/gobject/howto-interface-properties.html +82 -87
- data/vendor/local/share/gtk-doc/html/gobject/howto-interface.html +126 -62
- data/vendor/local/share/gtk-doc/html/gobject/howto-signals.html +61 -54
- data/vendor/local/share/gtk-doc/html/gobject/index.html +10 -10
- data/vendor/local/share/gtk-doc/html/gobject/index.sgml +4 -2
- data/vendor/local/share/gtk-doc/html/gobject/pr01.html +3 -4
- data/vendor/local/share/gtk-doc/html/gobject/pt01.html +3 -4
- data/vendor/local/share/gtk-doc/html/gobject/pt02.html +10 -11
- data/vendor/local/share/gtk-doc/html/gobject/pt03.html +3 -4
- data/vendor/local/share/gtk-doc/html/gobject/rn01.html +3 -4
- data/vendor/local/share/gtk-doc/html/gobject/rn02.html +3 -4
- data/vendor/local/share/gtk-doc/html/gobject/signal.html +98 -198
- data/vendor/local/share/gtk-doc/html/gobject/style.css +9 -6
- data/vendor/local/share/gtk-doc/html/gobject/tools-ginspector.html +3 -4
- data/vendor/local/share/gtk-doc/html/gobject/tools-gob.html +3 -4
- data/vendor/local/share/gtk-doc/html/gobject/tools-gtkdoc.html +10 -11
- data/vendor/local/share/gtk-doc/html/gobject/tools-refdb.html +3 -4
- data/vendor/local/share/gtk-doc/html/gobject/tools-vala.html +3 -4
- data/vendor/local/share/gtk-doc/html/p11-kit/config-example.html +3 -4
- data/vendor/local/share/gtk-doc/html/p11-kit/config-files.html +3 -4
- data/vendor/local/share/gtk-doc/html/p11-kit/config.html +3 -4
- data/vendor/local/share/gtk-doc/html/p11-kit/devel-building-style.html +3 -4
- data/vendor/local/share/gtk-doc/html/p11-kit/devel-building.html +3 -4
- data/vendor/local/share/gtk-doc/html/p11-kit/devel-commands.html +3 -4
- data/vendor/local/share/gtk-doc/html/p11-kit/devel-debugging.html +3 -4
- data/vendor/local/share/gtk-doc/html/p11-kit/devel-paths.html +3 -4
- data/vendor/local/share/gtk-doc/html/p11-kit/devel-testing.html +3 -4
- data/vendor/local/share/gtk-doc/html/p11-kit/devel.html +3 -4
- data/vendor/local/share/gtk-doc/html/p11-kit/gtk-doc.css +9 -6
- data/vendor/local/share/gtk-doc/html/p11-kit/index.html +2 -3
- data/vendor/local/share/gtk-doc/html/p11-kit/index.sgml +22 -0
- data/vendor/local/share/gtk-doc/html/p11-kit/p11-kit-Deprecated.html +3 -13
- data/vendor/local/share/gtk-doc/html/p11-kit/p11-kit-Future.html +3 -14
- data/vendor/local/share/gtk-doc/html/p11-kit/p11-kit-Modules.html +3 -15
- data/vendor/local/share/gtk-doc/html/p11-kit/p11-kit-PIN-Callbacks.html +3 -14
- data/vendor/local/share/gtk-doc/html/p11-kit/p11-kit-URIs.html +3 -18
- data/vendor/local/share/gtk-doc/html/p11-kit/p11-kit-Utilities.html +3 -8
- data/vendor/local/share/gtk-doc/html/p11-kit/p11-kit.devhelp2 +22 -1
- data/vendor/local/share/gtk-doc/html/p11-kit/p11-kit.html +2 -3
- data/vendor/local/share/gtk-doc/html/p11-kit/pkcs11-conf.html +7 -8
- data/vendor/local/share/gtk-doc/html/p11-kit/reference.html +3 -4
- data/vendor/local/share/gtk-doc/html/p11-kit/sharing-managed.html +3 -4
- data/vendor/local/share/gtk-doc/html/p11-kit/sharing.html +3 -4
- data/vendor/local/share/gtk-doc/html/p11-kit/tools.html +3 -4
- data/vendor/local/share/gtk-doc/html/p11-kit/trust-disable.html +3 -4
- data/vendor/local/share/gtk-doc/html/p11-kit/trust-glib-networking.html +3 -4
- data/vendor/local/share/gtk-doc/html/p11-kit/trust-module.html +3 -4
- data/vendor/local/share/gtk-doc/html/p11-kit/trust-nss.html +3 -4
- data/vendor/local/share/gtk-doc/html/p11-kit/trust.html +3 -4
- data/vendor/local/share/info/gmp.info +153 -158
- data/vendor/local/share/info/gmp.info-1 +131 -178
- data/vendor/local/share/info/gmp.info-2 +250 -193
- data/vendor/local/share/info/libtasn1.info +2 -2
- data/vendor/local/share/license/gmp/AUTHORS +1 -1
- data/vendor/local/share/license/pcre/AUTHORS +45 -0
- data/vendor/local/share/license/pcre/COPYING +5 -0
- data/vendor/local/share/locale/be/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/bg/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/bg/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/ca/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/ca/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/cs/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/cs/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/cs/LC_MESSAGES/gnutls.mo +0 -0
- data/vendor/local/share/locale/da/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/da/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/de/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/de/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/de/LC_MESSAGES/gnutls.mo +0 -0
- data/vendor/local/share/locale/el/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/el/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/en@boldquot/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/en@boldquot/LC_MESSAGES/gnutls.mo +0 -0
- data/vendor/local/share/locale/en@quot/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/en@quot/LC_MESSAGES/gnutls.mo +0 -0
- data/vendor/local/share/locale/eo/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/eo/LC_MESSAGES/gnutls.mo +0 -0
- data/vendor/local/share/locale/es/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/es/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/et/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/eu/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/fi/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/fi/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/fi/LC_MESSAGES/gnutls.mo +0 -0
- data/vendor/local/share/locale/fr/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/fr/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/fr/LC_MESSAGES/gnutls.mo +0 -0
- data/vendor/local/share/locale/ga/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/gd/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/gl/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/gl/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/he/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/hr/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/hu/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/hu/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/id/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/id/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/is/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/it/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/it/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/it/LC_MESSAGES/gnutls.mo +0 -0
- data/vendor/local/share/locale/ja/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/ja/LC_MESSAGES/glib-networking.mo +0 -0
- data/vendor/local/share/locale/kk/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/ko/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/ko/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/lt/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/lv/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/ms/LC_MESSAGES/gnutls.mo +0 -0
- data/vendor/local/share/locale/nb/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/nb/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/nl/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/nl/LC_MESSAGES/gnutls.mo +0 -0
- data/vendor/local/share/locale/nn/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/oc/LC_MESSAGES/glib-networking.mo +0 -0
- data/vendor/local/share/locale/oc/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/pl/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/pl/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/pl/LC_MESSAGES/gnutls.mo +0 -0
- data/vendor/local/share/locale/pt/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/pt/LC_MESSAGES/glib-networking.mo +0 -0
- data/vendor/local/share/locale/pt/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/pt_BR/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/pt_BR/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/ro/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/ru/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/ru/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/sk/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/sk/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/sl/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/sl/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/sr/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/sr/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/sr@latin/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/sv/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/sv/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/sv/LC_MESSAGES/gnutls.mo +0 -0
- data/vendor/local/share/locale/th/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/tr/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/tr/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/uk/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/uk/LC_MESSAGES/gnutls.mo +0 -0
- data/vendor/local/share/locale/vi/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/vi/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/vi/LC_MESSAGES/gnutls.mo +0 -0
- data/vendor/local/share/locale/zh_CN/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/zh_CN/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/zh_CN/LC_MESSAGES/gnutls.mo +0 -0
- data/vendor/local/share/locale/zh_HK/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/zh_TW/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/zh_TW/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/man/man1/asn1Coding.1 +1 -1
- data/vendor/local/share/man/man1/asn1Decoding.1 +1 -1
- data/vendor/local/share/man/man1/asn1Parser.1 +1 -1
- data/vendor/local/share/man/man1/envsubst.1 +1 -1
- data/vendor/local/share/man/man1/gapplication.1 +2 -2
- data/vendor/local/share/man/man1/gdbus-codegen.1 +23 -22
- data/vendor/local/share/man/man1/gdbus.1 +2 -2
- data/vendor/local/share/man/man1/gettext.1 +1 -1
- data/vendor/local/share/man/man1/gio-querymodules.1 +2 -2
- data/vendor/local/share/man/man1/glib-compile-resources.1 +2 -2
- data/vendor/local/share/man/man1/glib-compile-schemas.1 +7 -2
- data/vendor/local/share/man/man1/glib-genmarshal.1 +2 -2
- data/vendor/local/share/man/man1/glib-gettextize.1 +2 -2
- data/vendor/local/share/man/man1/glib-mkenums.1 +2 -2
- data/vendor/local/share/man/man1/gobject-query.1 +2 -2
- data/vendor/local/share/man/man1/gresource.1 +2 -2
- data/vendor/local/share/man/man1/gsettings.1 +2 -2
- data/vendor/local/share/man/man1/gtester-report.1 +2 -2
- data/vendor/local/share/man/man1/gtester.1 +2 -2
- data/vendor/local/share/man/man1/ngettext.1 +1 -1
- data/vendor/local/share/man/man1/pcre-config.1 +92 -0
- data/vendor/local/share/man/man1/pcregrep.1 +683 -0
- data/vendor/local/share/man/man1/pcretest.1 +1156 -0
- data/vendor/local/share/man/man3/asn1_array2tree.3 +1 -1
- data/vendor/local/share/man/man3/asn1_bit_der.3 +1 -1
- data/vendor/local/share/man/man3/asn1_check_version.3 +1 -1
- data/vendor/local/share/man/man3/asn1_copy_node.3 +1 -1
- data/vendor/local/share/man/man3/asn1_create_element.3 +1 -1
- data/vendor/local/share/man/man3/asn1_decode_simple_ber.3 +1 -1
- data/vendor/local/share/man/man3/asn1_decode_simple_der.3 +1 -1
- data/vendor/local/share/man/man3/asn1_delete_element.3 +1 -1
- data/vendor/local/share/man/man3/asn1_delete_structure.3 +1 -1
- data/vendor/local/share/man/man3/asn1_delete_structure2.3 +1 -1
- data/vendor/local/share/man/man3/asn1_der_coding.3 +1 -1
- data/vendor/local/share/man/man3/asn1_der_decoding.3 +1 -1
- data/vendor/local/share/man/man3/asn1_der_decoding2.3 +1 -1
- data/vendor/local/share/man/man3/asn1_der_decoding_element.3 +1 -1
- data/vendor/local/share/man/man3/asn1_der_decoding_startEnd.3 +1 -1
- data/vendor/local/share/man/man3/asn1_dup_node.3 +1 -1
- data/vendor/local/share/man/man3/asn1_encode_simple_der.3 +1 -1
- data/vendor/local/share/man/man3/asn1_expand_any_defined_by.3 +1 -1
- data/vendor/local/share/man/man3/asn1_expand_octet_string.3 +1 -1
- data/vendor/local/share/man/man3/asn1_find_node.3 +1 -1
- data/vendor/local/share/man/man3/asn1_find_structure_from_oid.3 +1 -1
- data/vendor/local/share/man/man3/asn1_get_bit_der.3 +1 -1
- data/vendor/local/share/man/man3/asn1_get_length_ber.3 +1 -1
- data/vendor/local/share/man/man3/asn1_get_length_der.3 +1 -1
- data/vendor/local/share/man/man3/asn1_get_object_id_der.3 +1 -1
- data/vendor/local/share/man/man3/asn1_get_octet_der.3 +1 -1
- data/vendor/local/share/man/man3/asn1_get_tag_der.3 +1 -1
- data/vendor/local/share/man/man3/asn1_length_der.3 +1 -1
- data/vendor/local/share/man/man3/asn1_number_of_elements.3 +1 -1
- data/vendor/local/share/man/man3/asn1_octet_der.3 +1 -1
- data/vendor/local/share/man/man3/asn1_parser2array.3 +1 -1
- data/vendor/local/share/man/man3/asn1_parser2tree.3 +1 -1
- data/vendor/local/share/man/man3/asn1_perror.3 +1 -1
- data/vendor/local/share/man/man3/asn1_print_structure.3 +1 -1
- data/vendor/local/share/man/man3/asn1_read_node_value.3 +1 -1
- data/vendor/local/share/man/man3/asn1_read_tag.3 +1 -1
- data/vendor/local/share/man/man3/asn1_read_value.3 +1 -1
- data/vendor/local/share/man/man3/asn1_read_value_type.3 +1 -1
- data/vendor/local/share/man/man3/asn1_strerror.3 +1 -1
- data/vendor/local/share/man/man3/asn1_write_value.3 +1 -1
- data/vendor/local/share/man/man3/bind_textdomain_codeset.3 +1 -1
- data/vendor/local/share/man/man3/bindtextdomain.3 +1 -1
- data/vendor/local/share/man/man3/gettext.3 +1 -1
- data/vendor/local/share/man/man3/ngettext.3 +1 -1
- data/vendor/local/share/man/man3/pcre.3 +230 -0
- data/vendor/local/share/man/man3/pcre16.3 +371 -0
- data/vendor/local/share/man/man3/pcre16_assign_jit_stack.3 +59 -0
- data/vendor/local/share/man/man3/pcre16_compile.3 +96 -0
- data/vendor/local/share/man/man3/pcre16_compile2.3 +101 -0
- data/vendor/local/share/man/man3/pcre16_config.3 +79 -0
- data/vendor/local/share/man/man3/pcre16_copy_named_substring.3 +51 -0
- data/vendor/local/share/man/man3/pcre16_copy_substring.3 +47 -0
- data/vendor/local/share/man/man3/pcre16_dfa_exec.3 +118 -0
- data/vendor/local/share/man/man3/pcre16_exec.3 +99 -0
- data/vendor/local/share/man/man3/pcre16_free_study.3 +31 -0
- data/vendor/local/share/man/man3/pcre16_free_substring.3 +31 -0
- data/vendor/local/share/man/man3/pcre16_free_substring_list.3 +31 -0
- data/vendor/local/share/man/man3/pcre16_fullinfo.3 +103 -0
- data/vendor/local/share/man/man3/pcre16_get_named_substring.3 +54 -0
- data/vendor/local/share/man/man3/pcre16_get_stringnumber.3 +43 -0
- data/vendor/local/share/man/man3/pcre16_get_stringtable_entries.3 +46 -0
- data/vendor/local/share/man/man3/pcre16_get_substring.3 +50 -0
- data/vendor/local/share/man/man3/pcre16_get_substring_list.3 +47 -0
- data/vendor/local/share/man/man3/pcre16_jit_exec.3 +96 -0
- data/vendor/local/share/man/man3/pcre16_jit_stack_alloc.3 +43 -0
- data/vendor/local/share/man/man3/pcre16_jit_stack_free.3 +35 -0
- data/vendor/local/share/man/man3/pcre16_maketables.3 +33 -0
- data/vendor/local/share/man/man3/pcre16_pattern_to_host_byte_order.3 +44 -0
- data/vendor/local/share/man/man3/pcre16_refcount.3 +36 -0
- data/vendor/local/share/man/man3/pcre16_study.3 +54 -0
- data/vendor/local/share/man/man3/pcre16_utf16_to_host_byte_order.3 +45 -0
- data/vendor/local/share/man/man3/pcre16_version.3 +31 -0
- data/vendor/local/share/man/man3/pcre32.3 +369 -0
- data/vendor/local/share/man/man3/pcre32_assign_jit_stack.3 +59 -0
- data/vendor/local/share/man/man3/pcre32_compile.3 +96 -0
- data/vendor/local/share/man/man3/pcre32_compile2.3 +101 -0
- data/vendor/local/share/man/man3/pcre32_config.3 +79 -0
- data/vendor/local/share/man/man3/pcre32_copy_named_substring.3 +51 -0
- data/vendor/local/share/man/man3/pcre32_copy_substring.3 +47 -0
- data/vendor/local/share/man/man3/pcre32_dfa_exec.3 +118 -0
- data/vendor/local/share/man/man3/pcre32_exec.3 +99 -0
- data/vendor/local/share/man/man3/pcre32_free_study.3 +31 -0
- data/vendor/local/share/man/man3/pcre32_free_substring.3 +31 -0
- data/vendor/local/share/man/man3/pcre32_free_substring_list.3 +31 -0
- data/vendor/local/share/man/man3/pcre32_fullinfo.3 +103 -0
- data/vendor/local/share/man/man3/pcre32_get_named_substring.3 +54 -0
- data/vendor/local/share/man/man3/pcre32_get_stringnumber.3 +43 -0
- data/vendor/local/share/man/man3/pcre32_get_stringtable_entries.3 +46 -0
- data/vendor/local/share/man/man3/pcre32_get_substring.3 +50 -0
- data/vendor/local/share/man/man3/pcre32_get_substring_list.3 +47 -0
- data/vendor/local/share/man/man3/pcre32_jit_exec.3 +96 -0
- data/vendor/local/share/man/man3/pcre32_jit_stack_alloc.3 +43 -0
- data/vendor/local/share/man/man3/pcre32_jit_stack_free.3 +35 -0
- data/vendor/local/share/man/man3/pcre32_maketables.3 +33 -0
- data/vendor/local/share/man/man3/pcre32_pattern_to_host_byte_order.3 +44 -0
- data/vendor/local/share/man/man3/pcre32_refcount.3 +36 -0
- data/vendor/local/share/man/man3/pcre32_study.3 +54 -0
- data/vendor/local/share/man/man3/pcre32_utf32_to_host_byte_order.3 +45 -0
- data/vendor/local/share/man/man3/pcre32_version.3 +31 -0
- data/vendor/local/share/man/man3/pcre_assign_jit_stack.3 +59 -0
- data/vendor/local/share/man/man3/pcre_compile.3 +96 -0
- data/vendor/local/share/man/man3/pcre_compile2.3 +101 -0
- data/vendor/local/share/man/man3/pcre_config.3 +79 -0
- data/vendor/local/share/man/man3/pcre_copy_named_substring.3 +51 -0
- data/vendor/local/share/man/man3/pcre_copy_substring.3 +47 -0
- data/vendor/local/share/man/man3/pcre_dfa_exec.3 +118 -0
- data/vendor/local/share/man/man3/pcre_exec.3 +99 -0
- data/vendor/local/share/man/man3/pcre_free_study.3 +31 -0
- data/vendor/local/share/man/man3/pcre_free_substring.3 +31 -0
- data/vendor/local/share/man/man3/pcre_free_substring_list.3 +31 -0
- data/vendor/local/share/man/man3/pcre_fullinfo.3 +103 -0
- data/vendor/local/share/man/man3/pcre_get_named_substring.3 +54 -0
- data/vendor/local/share/man/man3/pcre_get_stringnumber.3 +43 -0
- data/vendor/local/share/man/man3/pcre_get_stringtable_entries.3 +46 -0
- data/vendor/local/share/man/man3/pcre_get_substring.3 +50 -0
- data/vendor/local/share/man/man3/pcre_get_substring_list.3 +47 -0
- data/vendor/local/share/man/man3/pcre_jit_exec.3 +96 -0
- data/vendor/local/share/man/man3/pcre_jit_stack_alloc.3 +43 -0
- data/vendor/local/share/man/man3/pcre_jit_stack_free.3 +35 -0
- data/vendor/local/share/man/man3/pcre_maketables.3 +33 -0
- data/vendor/local/share/man/man3/pcre_pattern_to_host_byte_order.3 +44 -0
- data/vendor/local/share/man/man3/pcre_refcount.3 +36 -0
- data/vendor/local/share/man/man3/pcre_study.3 +54 -0
- data/vendor/local/share/man/man3/pcre_utf16_to_host_byte_order.3 +45 -0
- data/vendor/local/share/man/man3/pcre_utf32_to_host_byte_order.3 +45 -0
- data/vendor/local/share/man/man3/pcre_version.3 +31 -0
- data/vendor/local/share/man/man3/pcreapi.3 +2919 -0
- data/vendor/local/share/man/man3/pcrebuild.3 +550 -0
- data/vendor/local/share/man/man3/pcrecallout.3 +255 -0
- data/vendor/local/share/man/man3/pcrecompat.3 +200 -0
- data/vendor/local/share/man/man3/pcrecpp.3 +348 -0
- data/vendor/local/share/man/man3/pcredemo.3 +424 -0
- data/vendor/local/share/man/man3/pcrejit.3 +431 -0
- data/vendor/local/share/man/man3/pcrelimits.3 +71 -0
- data/vendor/local/share/man/man3/pcrematching.3 +214 -0
- data/vendor/local/share/man/man3/pcrepartial.3 +476 -0
- data/vendor/local/share/man/man3/pcrepattern.3 +3301 -0
- data/vendor/local/share/man/man3/pcreperform.3 +177 -0
- data/vendor/local/share/man/man3/pcreposix.3 +267 -0
- data/vendor/local/share/man/man3/pcreprecompile.3 +155 -0
- data/vendor/local/share/man/man3/pcresample.3 +99 -0
- data/vendor/local/share/man/man3/pcrestack.3 +215 -0
- data/vendor/local/share/man/man3/pcresyntax.3 +540 -0
- data/vendor/local/share/man/man3/pcreunicode.3 +249 -0
- data/vendor/local/share/man/man3/textdomain.3 +1 -1
- metadata +233 -22
- data/lib/2.0/glib2.so +0 -0
- data/lib/2.1/glib2.so +0 -0
- data/vendor/local/bin/libhogweed-4-1.dll +0 -0
- data/vendor/local/share/gtk-doc/html/gio/ExampleAnimal.html +0 -1537
- data/vendor/local/share/gtk-doc/html/gio/ExampleCat.html +0 -679
- data/vendor/local/share/gtk-doc/html/gio/ExampleObject.html +0 -572
- data/vendor/local/share/gtk-doc/html/gio/ExampleObjectManagerClient.html +0 -561
- data/vendor/local/share/gtk-doc/html/gio/ch31.html +0 -75
- data/vendor/local/share/gtk-doc/html/gio/ch32s02.html +0 -41
- data/vendor/local/share/gtk-doc/html/gio/ch32s03.html +0 -39
- data/vendor/local/share/gtk-doc/html/gio/ch33s04.html +0 -46
- data/vendor/local/share/gtk-doc/html/gio/ch33s05.html +0 -48
- data/vendor/local/share/gtk-doc/html/gio/gdbus-org.gtk.GDBus.Example.ObjectManager.Animal.html +0 -161
- data/vendor/local/share/gtk-doc/html/gio/gdbus-org.gtk.GDBus.Example.ObjectManager.Cat.html +0 -51
@@ -0,0 +1,214 @@
|
|
1
|
+
.TH PCREMATCHING 3 "12 November 2013" "PCRE 8.34"
|
2
|
+
.SH NAME
|
3
|
+
PCRE - Perl-compatible regular expressions
|
4
|
+
.SH "PCRE MATCHING ALGORITHMS"
|
5
|
+
.rs
|
6
|
+
.sp
|
7
|
+
This document describes the two different algorithms that are available in PCRE
|
8
|
+
for matching a compiled regular expression against a given subject string. The
|
9
|
+
"standard" algorithm is the one provided by the \fBpcre_exec()\fP,
|
10
|
+
\fBpcre16_exec()\fP and \fBpcre32_exec()\fP functions. These work in the same
|
11
|
+
as as Perl's matching function, and provide a Perl-compatible matching operation.
|
12
|
+
The just-in-time (JIT) optimization that is described in the
|
13
|
+
.\" HREF
|
14
|
+
\fBpcrejit\fP
|
15
|
+
.\"
|
16
|
+
documentation is compatible with these functions.
|
17
|
+
.P
|
18
|
+
An alternative algorithm is provided by the \fBpcre_dfa_exec()\fP,
|
19
|
+
\fBpcre16_dfa_exec()\fP and \fBpcre32_dfa_exec()\fP functions; they operate in
|
20
|
+
a different way, and are not Perl-compatible. This alternative has advantages
|
21
|
+
and disadvantages compared with the standard algorithm, and these are described
|
22
|
+
below.
|
23
|
+
.P
|
24
|
+
When there is only one possible way in which a given subject string can match a
|
25
|
+
pattern, the two algorithms give the same answer. A difference arises, however,
|
26
|
+
when there are multiple possibilities. For example, if the pattern
|
27
|
+
.sp
|
28
|
+
^<.*>
|
29
|
+
.sp
|
30
|
+
is matched against the string
|
31
|
+
.sp
|
32
|
+
<something> <something else> <something further>
|
33
|
+
.sp
|
34
|
+
there are three possible answers. The standard algorithm finds only one of
|
35
|
+
them, whereas the alternative algorithm finds all three.
|
36
|
+
.
|
37
|
+
.
|
38
|
+
.SH "REGULAR EXPRESSIONS AS TREES"
|
39
|
+
.rs
|
40
|
+
.sp
|
41
|
+
The set of strings that are matched by a regular expression can be represented
|
42
|
+
as a tree structure. An unlimited repetition in the pattern makes the tree of
|
43
|
+
infinite size, but it is still a tree. Matching the pattern to a given subject
|
44
|
+
string (from a given starting point) can be thought of as a search of the tree.
|
45
|
+
There are two ways to search a tree: depth-first and breadth-first, and these
|
46
|
+
correspond to the two matching algorithms provided by PCRE.
|
47
|
+
.
|
48
|
+
.
|
49
|
+
.SH "THE STANDARD MATCHING ALGORITHM"
|
50
|
+
.rs
|
51
|
+
.sp
|
52
|
+
In the terminology of Jeffrey Friedl's book "Mastering Regular
|
53
|
+
Expressions", the standard algorithm is an "NFA algorithm". It conducts a
|
54
|
+
depth-first search of the pattern tree. That is, it proceeds along a single
|
55
|
+
path through the tree, checking that the subject matches what is required. When
|
56
|
+
there is a mismatch, the algorithm tries any alternatives at the current point,
|
57
|
+
and if they all fail, it backs up to the previous branch point in the tree, and
|
58
|
+
tries the next alternative branch at that level. This often involves backing up
|
59
|
+
(moving to the left) in the subject string as well. The order in which
|
60
|
+
repetition branches are tried is controlled by the greedy or ungreedy nature of
|
61
|
+
the quantifier.
|
62
|
+
.P
|
63
|
+
If a leaf node is reached, a matching string has been found, and at that point
|
64
|
+
the algorithm stops. Thus, if there is more than one possible match, this
|
65
|
+
algorithm returns the first one that it finds. Whether this is the shortest,
|
66
|
+
the longest, or some intermediate length depends on the way the greedy and
|
67
|
+
ungreedy repetition quantifiers are specified in the pattern.
|
68
|
+
.P
|
69
|
+
Because it ends up with a single path through the tree, it is relatively
|
70
|
+
straightforward for this algorithm to keep track of the substrings that are
|
71
|
+
matched by portions of the pattern in parentheses. This provides support for
|
72
|
+
capturing parentheses and back references.
|
73
|
+
.
|
74
|
+
.
|
75
|
+
.SH "THE ALTERNATIVE MATCHING ALGORITHM"
|
76
|
+
.rs
|
77
|
+
.sp
|
78
|
+
This algorithm conducts a breadth-first search of the tree. Starting from the
|
79
|
+
first matching point in the subject, it scans the subject string from left to
|
80
|
+
right, once, character by character, and as it does this, it remembers all the
|
81
|
+
paths through the tree that represent valid matches. In Friedl's terminology,
|
82
|
+
this is a kind of "DFA algorithm", though it is not implemented as a
|
83
|
+
traditional finite state machine (it keeps multiple states active
|
84
|
+
simultaneously).
|
85
|
+
.P
|
86
|
+
Although the general principle of this matching algorithm is that it scans the
|
87
|
+
subject string only once, without backtracking, there is one exception: when a
|
88
|
+
lookaround assertion is encountered, the characters following or preceding the
|
89
|
+
current point have to be independently inspected.
|
90
|
+
.P
|
91
|
+
The scan continues until either the end of the subject is reached, or there are
|
92
|
+
no more unterminated paths. At this point, terminated paths represent the
|
93
|
+
different matching possibilities (if there are none, the match has failed).
|
94
|
+
Thus, if there is more than one possible match, this algorithm finds all of
|
95
|
+
them, and in particular, it finds the longest. The matches are returned in
|
96
|
+
decreasing order of length. There is an option to stop the algorithm after the
|
97
|
+
first match (which is necessarily the shortest) is found.
|
98
|
+
.P
|
99
|
+
Note that all the matches that are found start at the same point in the
|
100
|
+
subject. If the pattern
|
101
|
+
.sp
|
102
|
+
cat(er(pillar)?)?
|
103
|
+
.sp
|
104
|
+
is matched against the string "the caterpillar catchment", the result will be
|
105
|
+
the three strings "caterpillar", "cater", and "cat" that start at the fifth
|
106
|
+
character of the subject. The algorithm does not automatically move on to find
|
107
|
+
matches that start at later positions.
|
108
|
+
.P
|
109
|
+
PCRE's "auto-possessification" optimization usually applies to character
|
110
|
+
repeats at the end of a pattern (as well as internally). For example, the
|
111
|
+
pattern "a\ed+" is compiled as if it were "a\ed++" because there is no point
|
112
|
+
even considering the possibility of backtracking into the repeated digits. For
|
113
|
+
DFA matching, this means that only one possible match is found. If you really
|
114
|
+
do want multiple matches in such cases, either use an ungreedy repeat
|
115
|
+
("a\ed+?") or set the PCRE_NO_AUTO_POSSESS option when compiling.
|
116
|
+
.P
|
117
|
+
There are a number of features of PCRE regular expressions that are not
|
118
|
+
supported by the alternative matching algorithm. They are as follows:
|
119
|
+
.P
|
120
|
+
1. Because the algorithm finds all possible matches, the greedy or ungreedy
|
121
|
+
nature of repetition quantifiers is not relevant. Greedy and ungreedy
|
122
|
+
quantifiers are treated in exactly the same way. However, possessive
|
123
|
+
quantifiers can make a difference when what follows could also match what is
|
124
|
+
quantified, for example in a pattern like this:
|
125
|
+
.sp
|
126
|
+
^a++\ew!
|
127
|
+
.sp
|
128
|
+
This pattern matches "aaab!" but not "aaa!", which would be matched by a
|
129
|
+
non-possessive quantifier. Similarly, if an atomic group is present, it is
|
130
|
+
matched as if it were a standalone pattern at the current point, and the
|
131
|
+
longest match is then "locked in" for the rest of the overall pattern.
|
132
|
+
.P
|
133
|
+
2. When dealing with multiple paths through the tree simultaneously, it is not
|
134
|
+
straightforward to keep track of captured substrings for the different matching
|
135
|
+
possibilities, and PCRE's implementation of this algorithm does not attempt to
|
136
|
+
do this. This means that no captured substrings are available.
|
137
|
+
.P
|
138
|
+
3. Because no substrings are captured, back references within the pattern are
|
139
|
+
not supported, and cause errors if encountered.
|
140
|
+
.P
|
141
|
+
4. For the same reason, conditional expressions that use a backreference as the
|
142
|
+
condition or test for a specific group recursion are not supported.
|
143
|
+
.P
|
144
|
+
5. Because many paths through the tree may be active, the \eK escape sequence,
|
145
|
+
which resets the start of the match when encountered (but may be on some paths
|
146
|
+
and not on others), is not supported. It causes an error if encountered.
|
147
|
+
.P
|
148
|
+
6. Callouts are supported, but the value of the \fIcapture_top\fP field is
|
149
|
+
always 1, and the value of the \fIcapture_last\fP field is always -1.
|
150
|
+
.P
|
151
|
+
7. The \eC escape sequence, which (in the standard algorithm) always matches a
|
152
|
+
single data unit, even in UTF-8, UTF-16 or UTF-32 modes, is not supported in
|
153
|
+
these modes, because the alternative algorithm moves through the subject string
|
154
|
+
one character (not data unit) at a time, for all active paths through the tree.
|
155
|
+
.P
|
156
|
+
8. Except for (*FAIL), the backtracking control verbs such as (*PRUNE) are not
|
157
|
+
supported. (*FAIL) is supported, and behaves like a failing negative assertion.
|
158
|
+
.
|
159
|
+
.
|
160
|
+
.SH "ADVANTAGES OF THE ALTERNATIVE ALGORITHM"
|
161
|
+
.rs
|
162
|
+
.sp
|
163
|
+
Using the alternative matching algorithm provides the following advantages:
|
164
|
+
.P
|
165
|
+
1. All possible matches (at a single point in the subject) are automatically
|
166
|
+
found, and in particular, the longest match is found. To find more than one
|
167
|
+
match using the standard algorithm, you have to do kludgy things with
|
168
|
+
callouts.
|
169
|
+
.P
|
170
|
+
2. Because the alternative algorithm scans the subject string just once, and
|
171
|
+
never needs to backtrack (except for lookbehinds), it is possible to pass very
|
172
|
+
long subject strings to the matching function in several pieces, checking for
|
173
|
+
partial matching each time. Although it is possible to do multi-segment
|
174
|
+
matching using the standard algorithm by retaining partially matched
|
175
|
+
substrings, it is more complicated. The
|
176
|
+
.\" HREF
|
177
|
+
\fBpcrepartial\fP
|
178
|
+
.\"
|
179
|
+
documentation gives details of partial matching and discusses multi-segment
|
180
|
+
matching.
|
181
|
+
.
|
182
|
+
.
|
183
|
+
.SH "DISADVANTAGES OF THE ALTERNATIVE ALGORITHM"
|
184
|
+
.rs
|
185
|
+
.sp
|
186
|
+
The alternative algorithm suffers from a number of disadvantages:
|
187
|
+
.P
|
188
|
+
1. It is substantially slower than the standard algorithm. This is partly
|
189
|
+
because it has to search for all possible matches, but is also because it is
|
190
|
+
less susceptible to optimization.
|
191
|
+
.P
|
192
|
+
2. Capturing parentheses and back references are not supported.
|
193
|
+
.P
|
194
|
+
3. Although atomic groups are supported, their use does not provide the
|
195
|
+
performance advantage that it does for the standard algorithm.
|
196
|
+
.
|
197
|
+
.
|
198
|
+
.SH AUTHOR
|
199
|
+
.rs
|
200
|
+
.sp
|
201
|
+
.nf
|
202
|
+
Philip Hazel
|
203
|
+
University Computing Service
|
204
|
+
Cambridge CB2 3QH, England.
|
205
|
+
.fi
|
206
|
+
.
|
207
|
+
.
|
208
|
+
.SH REVISION
|
209
|
+
.rs
|
210
|
+
.sp
|
211
|
+
.nf
|
212
|
+
Last updated: 12 November 2013
|
213
|
+
Copyright (c) 1997-2012 University of Cambridge.
|
214
|
+
.fi
|
@@ -0,0 +1,476 @@
|
|
1
|
+
.TH PCREPARTIAL 3 "02 July 2013" "PCRE 8.34"
|
2
|
+
.SH NAME
|
3
|
+
PCRE - Perl-compatible regular expressions
|
4
|
+
.SH "PARTIAL MATCHING IN PCRE"
|
5
|
+
.rs
|
6
|
+
.sp
|
7
|
+
In normal use of PCRE, if the subject string that is passed to a matching
|
8
|
+
function matches as far as it goes, but is too short to match the entire
|
9
|
+
pattern, PCRE_ERROR_NOMATCH is returned. There are circumstances where it might
|
10
|
+
be helpful to distinguish this case from other cases in which there is no
|
11
|
+
match.
|
12
|
+
.P
|
13
|
+
Consider, for example, an application where a human is required to type in data
|
14
|
+
for a field with specific formatting requirements. An example might be a date
|
15
|
+
in the form \fIddmmmyy\fP, defined by this pattern:
|
16
|
+
.sp
|
17
|
+
^\ed?\ed(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)\ed\ed$
|
18
|
+
.sp
|
19
|
+
If the application sees the user's keystrokes one by one, and can check that
|
20
|
+
what has been typed so far is potentially valid, it is able to raise an error
|
21
|
+
as soon as a mistake is made, by beeping and not reflecting the character that
|
22
|
+
has been typed, for example. This immediate feedback is likely to be a better
|
23
|
+
user interface than a check that is delayed until the entire string has been
|
24
|
+
entered. Partial matching can also be useful when the subject string is very
|
25
|
+
long and is not all available at once.
|
26
|
+
.P
|
27
|
+
PCRE supports partial matching by means of the PCRE_PARTIAL_SOFT and
|
28
|
+
PCRE_PARTIAL_HARD options, which can be set when calling any of the matching
|
29
|
+
functions. For backwards compatibility, PCRE_PARTIAL is a synonym for
|
30
|
+
PCRE_PARTIAL_SOFT. The essential difference between the two options is whether
|
31
|
+
or not a partial match is preferred to an alternative complete match, though
|
32
|
+
the details differ between the two types of matching function. If both options
|
33
|
+
are set, PCRE_PARTIAL_HARD takes precedence.
|
34
|
+
.P
|
35
|
+
If you want to use partial matching with just-in-time optimized code, you must
|
36
|
+
call \fBpcre_study()\fP, \fBpcre16_study()\fP or \fBpcre32_study()\fP with one
|
37
|
+
or both of these options:
|
38
|
+
.sp
|
39
|
+
PCRE_STUDY_JIT_PARTIAL_SOFT_COMPILE
|
40
|
+
PCRE_STUDY_JIT_PARTIAL_HARD_COMPILE
|
41
|
+
.sp
|
42
|
+
PCRE_STUDY_JIT_COMPILE should also be set if you are going to run non-partial
|
43
|
+
matches on the same pattern. If the appropriate JIT study mode has not been set
|
44
|
+
for a match, the interpretive matching code is used.
|
45
|
+
.P
|
46
|
+
Setting a partial matching option disables two of PCRE's standard
|
47
|
+
optimizations. PCRE remembers the last literal data unit in a pattern, and
|
48
|
+
abandons matching immediately if it is not present in the subject string. This
|
49
|
+
optimization cannot be used for a subject string that might match only
|
50
|
+
partially. If the pattern was studied, PCRE knows the minimum length of a
|
51
|
+
matching string, and does not bother to run the matching function on shorter
|
52
|
+
strings. This optimization is also disabled for partial matching.
|
53
|
+
.
|
54
|
+
.
|
55
|
+
.SH "PARTIAL MATCHING USING pcre_exec() OR pcre[16|32]_exec()"
|
56
|
+
.rs
|
57
|
+
.sp
|
58
|
+
A partial match occurs during a call to \fBpcre_exec()\fP or
|
59
|
+
\fBpcre[16|32]_exec()\fP when the end of the subject string is reached
|
60
|
+
successfully, but matching cannot continue because more characters are needed.
|
61
|
+
However, at least one character in the subject must have been inspected. This
|
62
|
+
character need not form part of the final matched string; lookbehind assertions
|
63
|
+
and the \eK escape sequence provide ways of inspecting characters before the
|
64
|
+
start of a matched substring. The requirement for inspecting at least one
|
65
|
+
character exists because an empty string can always be matched; without such a
|
66
|
+
restriction there would always be a partial match of an empty string at the end
|
67
|
+
of the subject.
|
68
|
+
.P
|
69
|
+
If there are at least two slots in the offsets vector when a partial match is
|
70
|
+
returned, the first slot is set to the offset of the earliest character that
|
71
|
+
was inspected. For convenience, the second offset points to the end of the
|
72
|
+
subject so that a substring can easily be identified. If there are at least
|
73
|
+
three slots in the offsets vector, the third slot is set to the offset of the
|
74
|
+
character where matching started.
|
75
|
+
.P
|
76
|
+
For the majority of patterns, the contents of the first and third slots will be
|
77
|
+
the same. However, for patterns that contain lookbehind assertions, or begin
|
78
|
+
with \eb or \eB, characters before the one where matching started may have been
|
79
|
+
inspected while carrying out the match. For example, consider this pattern:
|
80
|
+
.sp
|
81
|
+
/(?<=abc)123/
|
82
|
+
.sp
|
83
|
+
This pattern matches "123", but only if it is preceded by "abc". If the subject
|
84
|
+
string is "xyzabc12", the first two offsets after a partial match are for the
|
85
|
+
substring "abc12", because all these characters were inspected. However, the
|
86
|
+
third offset is set to 6, because that is the offset where matching began.
|
87
|
+
.P
|
88
|
+
What happens when a partial match is identified depends on which of the two
|
89
|
+
partial matching options are set.
|
90
|
+
.
|
91
|
+
.
|
92
|
+
.SS "PCRE_PARTIAL_SOFT WITH pcre_exec() OR pcre[16|32]_exec()"
|
93
|
+
.rs
|
94
|
+
.sp
|
95
|
+
If PCRE_PARTIAL_SOFT is set when \fBpcre_exec()\fP or \fBpcre[16|32]_exec()\fP
|
96
|
+
identifies a partial match, the partial match is remembered, but matching
|
97
|
+
continues as normal, and other alternatives in the pattern are tried. If no
|
98
|
+
complete match can be found, PCRE_ERROR_PARTIAL is returned instead of
|
99
|
+
PCRE_ERROR_NOMATCH.
|
100
|
+
.P
|
101
|
+
This option is "soft" because it prefers a complete match over a partial match.
|
102
|
+
All the various matching items in a pattern behave as if the subject string is
|
103
|
+
potentially complete. For example, \ez, \eZ, and $ match at the end of the
|
104
|
+
subject, as normal, and for \eb and \eB the end of the subject is treated as a
|
105
|
+
non-alphanumeric.
|
106
|
+
.P
|
107
|
+
If there is more than one partial match, the first one that was found provides
|
108
|
+
the data that is returned. Consider this pattern:
|
109
|
+
.sp
|
110
|
+
/123\ew+X|dogY/
|
111
|
+
.sp
|
112
|
+
If this is matched against the subject string "abc123dog", both
|
113
|
+
alternatives fail to match, but the end of the subject is reached during
|
114
|
+
matching, so PCRE_ERROR_PARTIAL is returned. The offsets are set to 3 and 9,
|
115
|
+
identifying "123dog" as the first partial match that was found. (In this
|
116
|
+
example, there are two partial matches, because "dog" on its own partially
|
117
|
+
matches the second alternative.)
|
118
|
+
.
|
119
|
+
.
|
120
|
+
.SS "PCRE_PARTIAL_HARD WITH pcre_exec() OR pcre[16|32]_exec()"
|
121
|
+
.rs
|
122
|
+
.sp
|
123
|
+
If PCRE_PARTIAL_HARD is set for \fBpcre_exec()\fP or \fBpcre[16|32]_exec()\fP,
|
124
|
+
PCRE_ERROR_PARTIAL is returned as soon as a partial match is found, without
|
125
|
+
continuing to search for possible complete matches. This option is "hard"
|
126
|
+
because it prefers an earlier partial match over a later complete match. For
|
127
|
+
this reason, the assumption is made that the end of the supplied subject string
|
128
|
+
may not be the true end of the available data, and so, if \ez, \eZ, \eb, \eB,
|
129
|
+
or $ are encountered at the end of the subject, the result is
|
130
|
+
PCRE_ERROR_PARTIAL, provided that at least one character in the subject has
|
131
|
+
been inspected.
|
132
|
+
.P
|
133
|
+
Setting PCRE_PARTIAL_HARD also affects the way UTF-8 and UTF-16
|
134
|
+
subject strings are checked for validity. Normally, an invalid sequence
|
135
|
+
causes the error PCRE_ERROR_BADUTF8 or PCRE_ERROR_BADUTF16. However, in the
|
136
|
+
special case of a truncated character at the end of the subject,
|
137
|
+
PCRE_ERROR_SHORTUTF8 or PCRE_ERROR_SHORTUTF16 is returned when
|
138
|
+
PCRE_PARTIAL_HARD is set.
|
139
|
+
.
|
140
|
+
.
|
141
|
+
.SS "Comparing hard and soft partial matching"
|
142
|
+
.rs
|
143
|
+
.sp
|
144
|
+
The difference between the two partial matching options can be illustrated by a
|
145
|
+
pattern such as:
|
146
|
+
.sp
|
147
|
+
/dog(sbody)?/
|
148
|
+
.sp
|
149
|
+
This matches either "dog" or "dogsbody", greedily (that is, it prefers the
|
150
|
+
longer string if possible). If it is matched against the string "dog" with
|
151
|
+
PCRE_PARTIAL_SOFT, it yields a complete match for "dog". However, if
|
152
|
+
PCRE_PARTIAL_HARD is set, the result is PCRE_ERROR_PARTIAL. On the other hand,
|
153
|
+
if the pattern is made ungreedy the result is different:
|
154
|
+
.sp
|
155
|
+
/dog(sbody)??/
|
156
|
+
.sp
|
157
|
+
In this case the result is always a complete match because that is found first,
|
158
|
+
and matching never continues after finding a complete match. It might be easier
|
159
|
+
to follow this explanation by thinking of the two patterns like this:
|
160
|
+
.sp
|
161
|
+
/dog(sbody)?/ is the same as /dogsbody|dog/
|
162
|
+
/dog(sbody)??/ is the same as /dog|dogsbody/
|
163
|
+
.sp
|
164
|
+
The second pattern will never match "dogsbody", because it will always find the
|
165
|
+
shorter match first.
|
166
|
+
.
|
167
|
+
.
|
168
|
+
.SH "PARTIAL MATCHING USING pcre_dfa_exec() OR pcre[16|32]_dfa_exec()"
|
169
|
+
.rs
|
170
|
+
.sp
|
171
|
+
The DFA functions move along the subject string character by character, without
|
172
|
+
backtracking, searching for all possible matches simultaneously. If the end of
|
173
|
+
the subject is reached before the end of the pattern, there is the possibility
|
174
|
+
of a partial match, again provided that at least one character has been
|
175
|
+
inspected.
|
176
|
+
.P
|
177
|
+
When PCRE_PARTIAL_SOFT is set, PCRE_ERROR_PARTIAL is returned only if there
|
178
|
+
have been no complete matches. Otherwise, the complete matches are returned.
|
179
|
+
However, if PCRE_PARTIAL_HARD is set, a partial match takes precedence over any
|
180
|
+
complete matches. The portion of the string that was inspected when the longest
|
181
|
+
partial match was found is set as the first matching string, provided there are
|
182
|
+
at least two slots in the offsets vector.
|
183
|
+
.P
|
184
|
+
Because the DFA functions always search for all possible matches, and there is
|
185
|
+
no difference between greedy and ungreedy repetition, their behaviour is
|
186
|
+
different from the standard functions when PCRE_PARTIAL_HARD is set. Consider
|
187
|
+
the string "dog" matched against the ungreedy pattern shown above:
|
188
|
+
.sp
|
189
|
+
/dog(sbody)??/
|
190
|
+
.sp
|
191
|
+
Whereas the standard functions stop as soon as they find the complete match for
|
192
|
+
"dog", the DFA functions also find the partial match for "dogsbody", and so
|
193
|
+
return that when PCRE_PARTIAL_HARD is set.
|
194
|
+
.
|
195
|
+
.
|
196
|
+
.SH "PARTIAL MATCHING AND WORD BOUNDARIES"
|
197
|
+
.rs
|
198
|
+
.sp
|
199
|
+
If a pattern ends with one of sequences \eb or \eB, which test for word
|
200
|
+
boundaries, partial matching with PCRE_PARTIAL_SOFT can give counter-intuitive
|
201
|
+
results. Consider this pattern:
|
202
|
+
.sp
|
203
|
+
/\ebcat\eb/
|
204
|
+
.sp
|
205
|
+
This matches "cat", provided there is a word boundary at either end. If the
|
206
|
+
subject string is "the cat", the comparison of the final "t" with a following
|
207
|
+
character cannot take place, so a partial match is found. However, normal
|
208
|
+
matching carries on, and \eb matches at the end of the subject when the last
|
209
|
+
character is a letter, so a complete match is found. The result, therefore, is
|
210
|
+
\fInot\fP PCRE_ERROR_PARTIAL. Using PCRE_PARTIAL_HARD in this case does yield
|
211
|
+
PCRE_ERROR_PARTIAL, because then the partial match takes precedence.
|
212
|
+
.
|
213
|
+
.
|
214
|
+
.SH "FORMERLY RESTRICTED PATTERNS"
|
215
|
+
.rs
|
216
|
+
.sp
|
217
|
+
For releases of PCRE prior to 8.00, because of the way certain internal
|
218
|
+
optimizations were implemented in the \fBpcre_exec()\fP function, the
|
219
|
+
PCRE_PARTIAL option (predecessor of PCRE_PARTIAL_SOFT) could not be used with
|
220
|
+
all patterns. From release 8.00 onwards, the restrictions no longer apply, and
|
221
|
+
partial matching with can be requested for any pattern.
|
222
|
+
.P
|
223
|
+
Items that were formerly restricted were repeated single characters and
|
224
|
+
repeated metasequences. If PCRE_PARTIAL was set for a pattern that did not
|
225
|
+
conform to the restrictions, \fBpcre_exec()\fP returned the error code
|
226
|
+
PCRE_ERROR_BADPARTIAL (-13). This error code is no longer in use. The
|
227
|
+
PCRE_INFO_OKPARTIAL call to \fBpcre_fullinfo()\fP to find out if a compiled
|
228
|
+
pattern can be used for partial matching now always returns 1.
|
229
|
+
.
|
230
|
+
.
|
231
|
+
.SH "EXAMPLE OF PARTIAL MATCHING USING PCRETEST"
|
232
|
+
.rs
|
233
|
+
.sp
|
234
|
+
If the escape sequence \eP is present in a \fBpcretest\fP data line, the
|
235
|
+
PCRE_PARTIAL_SOFT option is used for the match. Here is a run of \fBpcretest\fP
|
236
|
+
that uses the date example quoted above:
|
237
|
+
.sp
|
238
|
+
re> /^\ed?\ed(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)\ed\ed$/
|
239
|
+
data> 25jun04\eP
|
240
|
+
0: 25jun04
|
241
|
+
1: jun
|
242
|
+
data> 25dec3\eP
|
243
|
+
Partial match: 23dec3
|
244
|
+
data> 3ju\eP
|
245
|
+
Partial match: 3ju
|
246
|
+
data> 3juj\eP
|
247
|
+
No match
|
248
|
+
data> j\eP
|
249
|
+
No match
|
250
|
+
.sp
|
251
|
+
The first data string is matched completely, so \fBpcretest\fP shows the
|
252
|
+
matched substrings. The remaining four strings do not match the complete
|
253
|
+
pattern, but the first two are partial matches. Similar output is obtained
|
254
|
+
if DFA matching is used.
|
255
|
+
.P
|
256
|
+
If the escape sequence \eP is present more than once in a \fBpcretest\fP data
|
257
|
+
line, the PCRE_PARTIAL_HARD option is set for the match.
|
258
|
+
.
|
259
|
+
.
|
260
|
+
.SH "MULTI-SEGMENT MATCHING WITH pcre_dfa_exec() OR pcre[16|32]_dfa_exec()"
|
261
|
+
.rs
|
262
|
+
.sp
|
263
|
+
When a partial match has been found using a DFA matching function, it is
|
264
|
+
possible to continue the match by providing additional subject data and calling
|
265
|
+
the function again with the same compiled regular expression, this time setting
|
266
|
+
the PCRE_DFA_RESTART option. You must pass the same working space as before,
|
267
|
+
because this is where details of the previous partial match are stored. Here is
|
268
|
+
an example using \fBpcretest\fP, using the \eR escape sequence to set the
|
269
|
+
PCRE_DFA_RESTART option (\eD specifies the use of the DFA matching function):
|
270
|
+
.sp
|
271
|
+
re> /^\ed?\ed(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)\ed\ed$/
|
272
|
+
data> 23ja\eP\eD
|
273
|
+
Partial match: 23ja
|
274
|
+
data> n05\eR\eD
|
275
|
+
0: n05
|
276
|
+
.sp
|
277
|
+
The first call has "23ja" as the subject, and requests partial matching; the
|
278
|
+
second call has "n05" as the subject for the continued (restarted) match.
|
279
|
+
Notice that when the match is complete, only the last part is shown; PCRE does
|
280
|
+
not retain the previously partially-matched string. It is up to the calling
|
281
|
+
program to do that if it needs to.
|
282
|
+
.P
|
283
|
+
That means that, for an unanchored pattern, if a continued match fails, it is
|
284
|
+
not possible to try again at a new starting point. All this facility is capable
|
285
|
+
of doing is continuing with the previous match attempt. In the previous
|
286
|
+
example, if the second set of data is "ug23" the result is no match, even
|
287
|
+
though there would be a match for "aug23" if the entire string were given at
|
288
|
+
once. Depending on the application, this may or may not be what you want.
|
289
|
+
The only way to allow for starting again at the next character is to retain the
|
290
|
+
matched part of the subject and try a new complete match.
|
291
|
+
.P
|
292
|
+
You can set the PCRE_PARTIAL_SOFT or PCRE_PARTIAL_HARD options with
|
293
|
+
PCRE_DFA_RESTART to continue partial matching over multiple segments. This
|
294
|
+
facility can be used to pass very long subject strings to the DFA matching
|
295
|
+
functions.
|
296
|
+
.
|
297
|
+
.
|
298
|
+
.SH "MULTI-SEGMENT MATCHING WITH pcre_exec() OR pcre[16|32]_exec()"
|
299
|
+
.rs
|
300
|
+
.sp
|
301
|
+
From release 8.00, the standard matching functions can also be used to do
|
302
|
+
multi-segment matching. Unlike the DFA functions, it is not possible to
|
303
|
+
restart the previous match with a new segment of data. Instead, new data must
|
304
|
+
be added to the previous subject string, and the entire match re-run, starting
|
305
|
+
from the point where the partial match occurred. Earlier data can be discarded.
|
306
|
+
.P
|
307
|
+
It is best to use PCRE_PARTIAL_HARD in this situation, because it does not
|
308
|
+
treat the end of a segment as the end of the subject when matching \ez, \eZ,
|
309
|
+
\eb, \eB, and $. Consider an unanchored pattern that matches dates:
|
310
|
+
.sp
|
311
|
+
re> /\ed?\ed(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)\ed\ed/
|
312
|
+
data> The date is 23ja\eP\eP
|
313
|
+
Partial match: 23ja
|
314
|
+
.sp
|
315
|
+
At this stage, an application could discard the text preceding "23ja", add on
|
316
|
+
text from the next segment, and call the matching function again. Unlike the
|
317
|
+
DFA matching functions, the entire matching string must always be available,
|
318
|
+
and the complete matching process occurs for each call, so more memory and more
|
319
|
+
processing time is needed.
|
320
|
+
.P
|
321
|
+
\fBNote:\fP If the pattern contains lookbehind assertions, or \eK, or starts
|
322
|
+
with \eb or \eB, the string that is returned for a partial match includes
|
323
|
+
characters that precede the start of what would be returned for a complete
|
324
|
+
match, because it contains all the characters that were inspected during the
|
325
|
+
partial match.
|
326
|
+
.
|
327
|
+
.
|
328
|
+
.SH "ISSUES WITH MULTI-SEGMENT MATCHING"
|
329
|
+
.rs
|
330
|
+
.sp
|
331
|
+
Certain types of pattern may give problems with multi-segment matching,
|
332
|
+
whichever matching function is used.
|
333
|
+
.P
|
334
|
+
1. If the pattern contains a test for the beginning of a line, you need to pass
|
335
|
+
the PCRE_NOTBOL option when the subject string for any call does start at the
|
336
|
+
beginning of a line. There is also a PCRE_NOTEOL option, but in practice when
|
337
|
+
doing multi-segment matching you should be using PCRE_PARTIAL_HARD, which
|
338
|
+
includes the effect of PCRE_NOTEOL.
|
339
|
+
.P
|
340
|
+
2. Lookbehind assertions that have already been obeyed are catered for in the
|
341
|
+
offsets that are returned for a partial match. However a lookbehind assertion
|
342
|
+
later in the pattern could require even earlier characters to be inspected. You
|
343
|
+
can handle this case by using the PCRE_INFO_MAXLOOKBEHIND option of the
|
344
|
+
\fBpcre_fullinfo()\fP or \fBpcre[16|32]_fullinfo()\fP functions to obtain the
|
345
|
+
length of the longest lookbehind in the pattern. This length is given in
|
346
|
+
characters, not bytes. If you always retain at least that many characters
|
347
|
+
before the partially matched string, all should be well. (Of course, near the
|
348
|
+
start of the subject, fewer characters may be present; in that case all
|
349
|
+
characters should be retained.)
|
350
|
+
.P
|
351
|
+
From release 8.33, there is a more accurate way of deciding which characters to
|
352
|
+
retain. Instead of subtracting the length of the longest lookbehind from the
|
353
|
+
earliest inspected character (\fIoffsets[0]\fP), the match start position
|
354
|
+
(\fIoffsets[2]\fP) should be used, and the next match attempt started at the
|
355
|
+
\fIoffsets[2]\fP character by setting the \fIstartoffset\fP argument of
|
356
|
+
\fBpcre_exec()\fP or \fBpcre_dfa_exec()\fP.
|
357
|
+
.P
|
358
|
+
For example, if the pattern "(?<=123)abc" is partially
|
359
|
+
matched against the string "xx123a", the three offset values returned are 2, 6,
|
360
|
+
and 5. This indicates that the matching process that gave a partial match
|
361
|
+
started at offset 5, but the characters "123a" were all inspected. The maximum
|
362
|
+
lookbehind for that pattern is 3, so taking that away from 5 shows that we need
|
363
|
+
only keep "123a", and the next match attempt can be started at offset 3 (that
|
364
|
+
is, at "a") when further characters have been added. When the match start is
|
365
|
+
not the earliest inspected character, \fBpcretest\fP shows it explicitly:
|
366
|
+
.sp
|
367
|
+
re> "(?<=123)abc"
|
368
|
+
data> xx123a\eP\eP
|
369
|
+
Partial match at offset 5: 123a
|
370
|
+
.P
|
371
|
+
3. Because a partial match must always contain at least one character, what
|
372
|
+
might be considered a partial match of an empty string actually gives a "no
|
373
|
+
match" result. For example:
|
374
|
+
.sp
|
375
|
+
re> /c(?<=abc)x/
|
376
|
+
data> ab\eP
|
377
|
+
No match
|
378
|
+
.sp
|
379
|
+
If the next segment begins "cx", a match should be found, but this will only
|
380
|
+
happen if characters from the previous segment are retained. For this reason, a
|
381
|
+
"no match" result should be interpreted as "partial match of an empty string"
|
382
|
+
when the pattern contains lookbehinds.
|
383
|
+
.P
|
384
|
+
4. Matching a subject string that is split into multiple segments may not
|
385
|
+
always produce exactly the same result as matching over one single long string,
|
386
|
+
especially when PCRE_PARTIAL_SOFT is used. The section "Partial Matching and
|
387
|
+
Word Boundaries" above describes an issue that arises if the pattern ends with
|
388
|
+
\eb or \eB. Another kind of difference may occur when there are multiple
|
389
|
+
matching possibilities, because (for PCRE_PARTIAL_SOFT) a partial match result
|
390
|
+
is given only when there are no completed matches. This means that as soon as
|
391
|
+
the shortest match has been found, continuation to a new subject segment is no
|
392
|
+
longer possible. Consider again this \fBpcretest\fP example:
|
393
|
+
.sp
|
394
|
+
re> /dog(sbody)?/
|
395
|
+
data> dogsb\eP
|
396
|
+
0: dog
|
397
|
+
data> do\eP\eD
|
398
|
+
Partial match: do
|
399
|
+
data> gsb\eR\eP\eD
|
400
|
+
0: g
|
401
|
+
data> dogsbody\eD
|
402
|
+
0: dogsbody
|
403
|
+
1: dog
|
404
|
+
.sp
|
405
|
+
The first data line passes the string "dogsb" to a standard matching function,
|
406
|
+
setting the PCRE_PARTIAL_SOFT option. Although the string is a partial match
|
407
|
+
for "dogsbody", the result is not PCRE_ERROR_PARTIAL, because the shorter
|
408
|
+
string "dog" is a complete match. Similarly, when the subject is presented to
|
409
|
+
a DFA matching function in several parts ("do" and "gsb" being the first two)
|
410
|
+
the match stops when "dog" has been found, and it is not possible to continue.
|
411
|
+
On the other hand, if "dogsbody" is presented as a single string, a DFA
|
412
|
+
matching function finds both matches.
|
413
|
+
.P
|
414
|
+
Because of these problems, it is best to use PCRE_PARTIAL_HARD when matching
|
415
|
+
multi-segment data. The example above then behaves differently:
|
416
|
+
.sp
|
417
|
+
re> /dog(sbody)?/
|
418
|
+
data> dogsb\eP\eP
|
419
|
+
Partial match: dogsb
|
420
|
+
data> do\eP\eD
|
421
|
+
Partial match: do
|
422
|
+
data> gsb\eR\eP\eP\eD
|
423
|
+
Partial match: gsb
|
424
|
+
.sp
|
425
|
+
5. Patterns that contain alternatives at the top level which do not all start
|
426
|
+
with the same pattern item may not work as expected when PCRE_DFA_RESTART is
|
427
|
+
used. For example, consider this pattern:
|
428
|
+
.sp
|
429
|
+
1234|3789
|
430
|
+
.sp
|
431
|
+
If the first part of the subject is "ABC123", a partial match of the first
|
432
|
+
alternative is found at offset 3. There is no partial match for the second
|
433
|
+
alternative, because such a match does not start at the same point in the
|
434
|
+
subject string. Attempting to continue with the string "7890" does not yield a
|
435
|
+
match because only those alternatives that match at one point in the subject
|
436
|
+
are remembered. The problem arises because the start of the second alternative
|
437
|
+
matches within the first alternative. There is no problem with anchored
|
438
|
+
patterns or patterns such as:
|
439
|
+
.sp
|
440
|
+
1234|ABCD
|
441
|
+
.sp
|
442
|
+
where no string can be a partial match for both alternatives. This is not a
|
443
|
+
problem if a standard matching function is used, because the entire match has
|
444
|
+
to be rerun each time:
|
445
|
+
.sp
|
446
|
+
re> /1234|3789/
|
447
|
+
data> ABC123\eP\eP
|
448
|
+
Partial match: 123
|
449
|
+
data> 1237890
|
450
|
+
0: 3789
|
451
|
+
.sp
|
452
|
+
Of course, instead of using PCRE_DFA_RESTART, the same technique of re-running
|
453
|
+
the entire match can also be used with the DFA matching functions. Another
|
454
|
+
possibility is to work with two buffers. If a partial match at offset \fIn\fP
|
455
|
+
in the first buffer is followed by "no match" when PCRE_DFA_RESTART is used on
|
456
|
+
the second buffer, you can then try a new match starting at offset \fIn+1\fP in
|
457
|
+
the first buffer.
|
458
|
+
.
|
459
|
+
.
|
460
|
+
.SH AUTHOR
|
461
|
+
.rs
|
462
|
+
.sp
|
463
|
+
.nf
|
464
|
+
Philip Hazel
|
465
|
+
University Computing Service
|
466
|
+
Cambridge CB2 3QH, England.
|
467
|
+
.fi
|
468
|
+
.
|
469
|
+
.
|
470
|
+
.SH REVISION
|
471
|
+
.rs
|
472
|
+
.sp
|
473
|
+
.nf
|
474
|
+
Last updated: 02 July 2013
|
475
|
+
Copyright (c) 1997-2013 University of Cambridge.
|
476
|
+
.fi
|