summaryrefslogtreecommitdiff
path: root/Build
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2020-02-29 23:49:32 +0000
committerKarl Berry <karl@freefriends.org>2020-02-29 23:49:32 +0000
commit90f117d71ab8eddc0295dde98ecaefb49a6e7e80 (patch)
tree99649c2d5a1d6933e9079cddfb90773ffdde9024 /Build
parent810eb77b962e31dc585406153dbd26b1730fca99 (diff)
doc fixes
git-svn-id: svn://tug.org/texlive/trunk@53980 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build')
-rw-r--r--Build/source/texk/kpathsea/ChangeLog6
-rw-r--r--Build/source/texk/kpathsea/doc/kpathsea.info219
-rw-r--r--Build/source/texk/kpathsea/doc/kpathsea.texi6
-rw-r--r--Build/source/texk/kpathsea/doc/unixtex.texi15
-rw-r--r--Build/source/texk/kpathsea/pathsearch.c2
5 files changed, 130 insertions, 118 deletions
diff --git a/Build/source/texk/kpathsea/ChangeLog b/Build/source/texk/kpathsea/ChangeLog
index 7349fb8633b..ca62a6250fa 100644
--- a/Build/source/texk/kpathsea/ChangeLog
+++ b/Build/source/texk/kpathsea/ChangeLog
@@ -1,3 +1,9 @@
+2020-02-29 Karl Berry <karl@freefriends.org>
+
+ * pathsearch.c: doc fix.
+
+ * doc/unixtex.texi: update urls, typos, etc.
+
2020-01-19 Karl Berry <karl@freefriends.org>
* kpsewhich.c (ENSURE_NONEMPTY_STRING): new macro.
diff --git a/Build/source/texk/kpathsea/doc/kpathsea.info b/Build/source/texk/kpathsea/doc/kpathsea.info
index db52773a1da..2744e1176d4 100644
--- a/Build/source/texk/kpathsea/doc/kpathsea.info
+++ b/Build/source/texk/kpathsea/doc/kpathsea.info
@@ -1,4 +1,4 @@
-This is kpathsea.info, produced by makeinfo version 5.1 from
+This is kpathsea.info, produced by makeinfo version 6.7 from
kpathsea.texi.
This file documents the Kpathsea library for path searching.
@@ -37,7 +37,7 @@ Kpathsea library
****************
This manual documents the Kpathsea library for path searching. It
-corresponds to version 6.3.2, released in January 2020.
+corresponds to version 6.3.2, released in March 2020.
* Menu:
@@ -62,7 +62,7 @@ File: kpathsea.info, Node: Introduction, Next: unixtex.ftp, Prev: Top, Up: T
**************
This manual corresponds to version 6.3.2 of the Kpathsea library,
-released in January 2020.
+released in March 2020.
The library's fundamental purpose is to return a filename from a list
of directories specified by the user, similar to what shells do when
@@ -201,24 +201,25 @@ File: kpathsea.info, Node: unixtex.ftp, Next: Security, Prev: Introduction,
2 'unixtex.ftp': Obtaining TeX
******************************
-This is <https://tug.org/tex/unixtex.ftp>, last updated 28 November
-2017. Email <tex-k@tug.org> with comments or questions.
+This is <ftp://tug.org/tex/unixtex.ftp>, a.k.a.
+<https://tug.org/unixtex.ftp>, last updated 29 February 2020. Email
+<tex-k@tug.org> with comments or questions.
The principal free TeX distribution for Unix-like systems is TeX
Live, on the web at <http://tug.org/texlive>. The pages there describe
-many ways to acquire and.or build TeX, over the Internet or on physical
+many ways to acquire and/or build TeX, over the Internet or on physical
media, both the sources and precompiled binaries for many systems,
either standalone or as part of various operating system distributions.
- Web2c, Kpathsea, Dvips, and Dviljk are no longer released as a
-separate packages. Their sources are now maintained as part of TeX
-Live.
+ Web2c, Kpathsea, Dvips, and Dviljk, among others, are no longer
+released as a separate packages. Their sources are now maintained as
+part of TeX Live.
The host ftp.cs.stanford.edu is the original source for the files for
which Donald Knuth is directly responsible: 'tex.web', 'plain.tex', etc.
However, unless you want to undertake the project of building your TeX
-installation from scratch, it is more reliable and less work to retrieve
-these files as part of a larger package.
+system from scratch, it is more reliable and less work to retrieve these
+files as part of a larger package.
In any case, the Stanford ftp site is not the canonical source for
anything except what was created as part of Knuth's original TeX, so do
@@ -879,8 +880,8 @@ only to differences in case.
This same problematic scenario has always existed on Windows, but for
whatever reason, it has become much more common since Apple also went to
-a case-insensitive filesystem. Hence the move to change the Kpathsea
-behavior now.
+a case-insensitive filesystem. Hence the relatively late change to the
+Kpathsea behavior.
The fallback case-insensitive search is omitted at compile-time on
Windows, where (for practical purposes) all file names are
@@ -3037,7 +3038,7 @@ Index
* !! and casefolding: Casefolding examples.
(line 57)
* !! in path specifications: ls-R. (line 57)
-* !! in 'TEXMFDBS': ls-R. (line 11)
+* !! in TEXMFDBS: ls-R. (line 11)
* $ expansion: Variable expansion. (line 6)
* --all: Path searching options.
(line 12)
@@ -3045,7 +3046,7 @@ Index
(line 19)
* --cnf-line: Path searching options.
(line 28)
-* '--cnf-line', source for path: Path sources. (line 9)
+* --cnf-line, source for path: Path sources. (line 9)
* --color=tty: ls-R. (line 25)
* --debug=NUM: Auxiliary tasks. (line 9)
* --dpi=NUM: Path searching options.
@@ -3091,12 +3092,12 @@ Index
* --without-mktexpk-default: mktex configuration. (line 12)
* --without-mktextfm-default: mktex configuration. (line 12)
* -1 debugging value: Debugging. (line 23)
-* -A option to 'ls': ls-R. (line 39)
+* -A option to ls: ls-R. (line 39)
* -D NUM: Path searching options.
(line 49)
* -iname, find predicate: Casefolding examples.
(line 78)
-* -L option to 'ls': ls-R. (line 44)
+* -L option to ls: ls-R. (line 44)
* . directories, ignored: ls-R. (line 39)
* . files: ls-R. (line 39)
* .2602gf: Unable to generate fonts.
@@ -3173,7 +3174,7 @@ Index
(line 195)
* .pro: Supported file formats.
(line 169)
-* .PROGNAME qualifier in 'texmf.cnf': Config files. (line 50)
+* .PROGNAME qualifier in texmf.cnf: Config files. (line 50)
* .rhosts, writable by TeX: Security. (line 10)
* .ris: Supported file formats.
(line 173)
@@ -3183,7 +3184,7 @@ Index
(line 42)
* .tex: Supported file formats.
(line 180)
-* .tex file, included in 'ls-R': ls-R. (line 39)
+* .tex file, included in ls-R: ls-R. (line 39)
* .tfm: Supported file formats.
(line 199)
* .ttc: Supported file formats.
@@ -3211,9 +3212,9 @@ Index
* 8.3 filenames, using: mktex configuration. (line 68)
* : may not be :: Searching overview. (line 13)
* :: expansion: Default expansion. (line 6)
-* ; translated to ':' in 'texmf.cnf': Config files. (line 66)
-* = omitted in 'texmf.cnf' and misparsing: Config files. (line 93)
-* \, line continuation in 'texmf.cnf': Config files. (line 37)
+* ; translated to : in texmf.cnf: Config files. (line 66)
+* = omitted in texmf.cnf and misparsing: Config files. (line 93)
+* \, line continuation in texmf.cnf: Config files. (line 37)
* \openin: Searching overview. (line 31)
* \special, suppressing warnings about: Suppressing warnings.
(line 31)
@@ -3236,15 +3237,15 @@ Index
* announcement mailing list: Mailing lists. (line 6)
* API, re-entrant: Programming overview.
(line 16)
-* append-only directories and 'mktexpk': Security. (line 36)
+* append-only directories and mktexpk: Security. (line 36)
* appendonlydir: mktex configuration. (line 60)
* Apple filesystem, case-insensitive: Casefolding rationale.
(line 6)
-* arguments to 'mktex': mktex script arguments.
+* arguments to mktex: mktex script arguments.
(line 6)
* argv[0]: Calling sequence. (line 14)
* autoconf, recommended: Calling sequence. (line 117)
-* automounter, and 'ls-R': ls-R. (line 46)
+* automounter, and ls-R: ls-R. (line 46)
* auxiliary tasks: Auxiliary tasks. (line 6)
* Bach, Johann Sebastian: Default expansion. (line 41)
* backslash-newline: Config files. (line 37)
@@ -3254,7 +3255,7 @@ Index
(line 30)
* BIBINPUTS <1>: Supported file formats.
(line 121)
-* blank lines, in 'texmf.cnf': Config files. (line 35)
+* blank lines, in texmf.cnf: Config files. (line 35)
* BLTXMLINPUTS: Supported file formats.
(line 34)
* brace expansion: Brace expansion. (line 6)
@@ -3282,7 +3283,7 @@ Index
* checksum: Suppressing warnings.
(line 16)
* circle fonts: Fontmap. (line 19)
-* client_path in 'kpse->format_info': Calling sequence. (line 47)
+* client_path in kpse->format_info: Calling sequence. (line 47)
* CLUAINPUTS: Supported file formats.
(line 42)
* CMAPFONTS: Supported file formats.
@@ -3293,7 +3294,7 @@ Index
* cnf.h: Programming with config files.
(line 27)
* comments, in fontmap files: Fontmap. (line 27)
-* comments, in 'texmf.cnf': Config files. (line 27)
+* comments, in texmf.cnf: Config files. (line 27)
* comments, making: Introduction. (line 29)
* common features in glyph lookup: Basic glyph lookup. (line 6)
* common problems: Common problems. (line 6)
@@ -3319,9 +3320,8 @@ Index
* configuration bugs: Bug checklist. (line 27)
* configuration file, source for path: Path sources. (line 20)
* configuration files as shell scripts.: Config files. (line 86)
-* configuration of 'mktex' scripts: mktex configuration. (line 6)
-* 'configure' options for 'mktex' scripts: mktex configuration.
- (line 12)
+* configuration of mktex scripts: mktex configuration. (line 6)
+* configure options for mktex scripts: mktex configuration. (line 12)
* context diff: Bug checklist. (line 52)
* continuation character: Config files. (line 37)
* core dumps, reporting: Bug checklist. (line 58)
@@ -3345,7 +3345,7 @@ Index
* directory permissions: Security. (line 51)
* directory structure, for TeX files: TeX directory structure.
(line 6)
-* disabling 'mktex' scripts: mktex configuration. (line 6)
+* disabling mktex scripts: mktex configuration. (line 6)
* disk search: Searching overview. (line 22)
* disk searching, avoiding: ls-R. (line 57)
* disk usage, reducing: Logging. (line 6)
@@ -3372,7 +3372,7 @@ Index
(line 41)
* elt-dirs.c <1>: Subdirectory expansion.
(line 48)
-* enabling 'mktex' scripts: mktex configuration. (line 6)
+* enabling mktex scripts: mktex configuration. (line 6)
* ENCFONTS: Supported file formats.
(line 61)
* engine name: Path searching options.
@@ -3401,7 +3401,7 @@ Index
* extensions, filename: File lookup. (line 24)
* externally-built filename database: Filename database. (line 6)
* extra colons: Default expansion. (line 6)
-* failed 'mktex...' script invocation: mktex script names. (line 35)
+* failed mktex... script invocation: mktex script names. (line 35)
* fallback font: Fallback font. (line 6)
* fallback resolutions: Fallback font. (line 6)
* FAQ, Kpathsea: Common problems. (line 6)
@@ -3449,7 +3449,7 @@ Index
(line 239)
* fopen, redefined: Debugging. (line 54)
* format of external database: Database format. (line 6)
-* ftp.cs.stanford.edu: unixtex.ftp. (line 19)
+* ftp.cs.stanford.edu: unixtex.ftp. (line 20)
* ftp.tug.org: unixtex.ftp. (line 6)
* fundamental purpose of Kpathsea: Introduction. (line 6)
* gdb, recommended: Bug checklist. (line 58)
@@ -3487,10 +3487,10 @@ Index
(line 151)
* interface, not frozen: Introduction. (line 29)
* introduction: Introduction. (line 6)
-* 'kdebug:': Debugging. (line 105)
+* kdebug:: Debugging. (line 105)
* kdefault.c: Default expansion. (line 48)
* Knuth, Donald E.: History. (line 6)
-* Knuth, Donald E., archive of programs by: unixtex.ftp. (line 19)
+* Knuth, Donald E., archive of programs by: unixtex.ftp. (line 20)
* Kpathsea config file, source for path: Path sources. (line 20)
* kpathsea.h: Programming overview.
(line 26)
@@ -3590,9 +3590,9 @@ Index
(line 20)
* mkocp: mktex script names. (line 18)
* mkofm: mktex script names. (line 21)
-* 'mktex' script configuration: mktex configuration. (line 6)
-* 'mktex' script names: mktex script names. (line 6)
-* 'mktex' scripts: mktex scripts. (line 6)
+* mktex script configuration: mktex configuration. (line 6)
+* mktex script names: mktex script names. (line 6)
+* mktex scripts: mktex scripts. (line 6)
* mktex.cnf: Specially-recognized files.
(line 28)
* mktex.cnf <1>: mktex configuration. (line 29)
@@ -3602,7 +3602,7 @@ Index
* mktexfmt: mktex script names. (line 10)
* mktexmf: mktex script names. (line 15)
* mktexpk: mktex script names. (line 24)
-* 'mktexpk' can't guess mode: Unable to generate fonts.
+* mktexpk can't guess mode: Unable to generate fonts.
(line 12)
* mktextex: mktex script names. (line 27)
* mktextfm: mktex script names. (line 30)
@@ -3623,9 +3623,9 @@ Index
* MT_FEATURES: mktex configuration. (line 39)
* multiple TeX hierarchies: Brace expansion. (line 20)
* must exist: Searching overview. (line 31)
-* names for 'mktex' scripts: mktex script names. (line 6)
+* names for mktex scripts: mktex script names. (line 6)
* Neumann, Gustaf: History. (line 56)
-* NFS and 'ls-R': ls-R. (line 46)
+* NFS and ls-R: ls-R. (line 46)
* nomfdrivers: mktex configuration. (line 92)
* nomode: mktex configuration. (line 97)
* none: Suppressing warnings.
@@ -3738,7 +3738,7 @@ Index
* shell variables: Variable expansion. (line 17)
* shell_escape, example for code: Programming with config files.
(line 10)
-* site overrides for 'mktex...': mktex configuration. (line 29)
+* site overrides for mktex...: mktex configuration. (line 29)
* skeleton TeX directory: TeX directory structure.
(line 6)
* slow startup time: Slow path searching. (line 6)
@@ -3773,7 +3773,7 @@ Index
(line 6)
* symbolic links not found: Unable to find files.
(line 21)
-* symbolic links, and 'ls-R': ls-R. (line 44)
+* symbolic links, and ls-R: ls-R. (line 44)
* symlinks, resolving: Calling sequence. (line 31)
* system C compiler bugs: TeX or Metafont failing.
(line 16)
@@ -3807,7 +3807,7 @@ Index
(line 26)
* tex-k@tug.org: Mailing lists. (line 6)
* tex-k@tug.org (bug address): Reporting bugs. (line 6)
-* tex.web: unixtex.ftp. (line 19)
+* tex.web: unixtex.ftp. (line 20)
* TEXBIB: Supported file formats.
(line 30)
* TEXBIB <1>: Supported file formats.
@@ -3839,7 +3839,7 @@ Index
(line 6)
* texmf.cnf: Specially-recognized files.
(line 38)
-* 'texmf.cnf' missing, warning about: Config files. (line 18)
+* texmf.cnf missing, warning about: Config files. (line 18)
* texmf.cnf, and variable expansion: Variable expansion. (line 6)
* texmf.cnf, definition for: Config files. (line 6)
* texmf.cnf, source for path: Path sources. (line 20)
@@ -3884,7 +3884,7 @@ Index
* tilde.c: Tilde expansion. (line 25)
* time system call: Logging. (line 15)
* tolerance for glyph lookup: Basic glyph lookup. (line 15)
-* trailing '/' in home directory: Tilde expansion. (line 19)
+* trailing / in home directory: Tilde expansion. (line 19)
* trailing colons: Default expansion. (line 6)
* translations, of path searching description: Path searching.
(line 10)
@@ -3910,7 +3910,7 @@ Index
* unreadable file warnings: Suppressing warnings.
(line 27)
* unreadable files: Searching overview. (line 63)
-* unusable 'ls-R' warning: ls-R. (line 51)
+* unusable ls-R warning: ls-R. (line 51)
* usage patterns, finding: Logging. (line 6)
* USERPROFILE, as ~ expansion: Tilde expansion. (line 6)
* USE_TEXMFVAR: mktex configuration. (line 128)
@@ -3928,8 +3928,8 @@ Index
(line 219)
* Vojta, Paul: History. (line 30)
* Walsh, Norman: History. (line 56)
-* warning about unusable 'ls-R': ls-R. (line 51)
-* warning, about missing 'texmf.cnf': Config files. (line 18)
+* warning about unusable ls-R: ls-R. (line 51)
+* warning, about missing texmf.cnf: Config files. (line 18)
* warnings, file access: Searching overview. (line 63)
* warnings, suppressing: Suppressing warnings.
(line 6)
@@ -3956,61 +3956,66 @@ Index

Tag Table:
Node: Top1480
-Node: Introduction2262
-Node: History4331
-Node: unixtex.ftp8927
-Node: Security10352
-Node: TeX directory structure12856
-Node: Path searching16897
-Node: Searching overview17855
-Node: Path sources21674
-Node: Config files22900
-Node: Path expansion28163
-Node: Default expansion29116
-Node: Variable expansion31186
-Node: Tilde expansion32587
-Node: Brace expansion33567
-Node: KPSE_DOT expansion34506
-Node: Subdirectory expansion35019
-Node: Casefolding search37367
-Node: Casefolding rationale38136
-Node: Casefolding examples39475
-Node: Filename database44521
-Node: ls-R45503
-Node: Filename aliases49179
-Node: Database format50357
-Node: Invoking kpsewhich51370
-Node: Path searching options52325
-Node: Specially-recognized files61923
-Node: Auxiliary tasks63278
-Node: Standard options67003
-Node: TeX support67359
-Node: Supported file formats68713
-Node: File lookup76381
-Node: Glyph lookup78130
-Node: Basic glyph lookup79254
-Node: Fontmap80134
-Node: Fallback font82663
-Node: Suppressing warnings83575
-Node: mktex scripts84702
-Node: mktex configuration85917
-Node: mktex script names91720
-Node: mktex script arguments93106
-Node: Programming93985
-Node: Programming overview94558
-Node: Calling sequence97419
-Node: Program-specific files103948
-Node: Programming with config files104971
-Node: Reporting bugs106558
-Node: Bug checklist107236
-Node: Mailing lists110705
-Node: Debugging111382
-Node: Logging116459
-Node: Common problems118326
-Node: Unable to find files118803
-Node: Slow path searching121213
-Node: Unable to generate fonts122588
-Node: TeX or Metafont failing125060
-Node: Index126262
+Node: Introduction2260
+Node: History4327
+Node: unixtex.ftp8923
+Node: Security10393
+Node: TeX directory structure12897
+Node: Path searching16938
+Node: Searching overview17896
+Node: Path sources21715
+Node: Config files22941
+Node: Path expansion28204
+Node: Default expansion29157
+Node: Variable expansion31227
+Node: Tilde expansion32628
+Node: Brace expansion33608
+Node: KPSE_DOT expansion34547
+Node: Subdirectory expansion35060
+Node: Casefolding search37408
+Node: Casefolding rationale38177
+Node: Casefolding examples39523
+Node: Filename database44569
+Node: ls-R45551
+Node: Filename aliases49227
+Node: Database format50405
+Node: Invoking kpsewhich51418
+Node: Path searching options52373
+Node: Specially-recognized files61971
+Node: Auxiliary tasks63326
+Node: Standard options67051
+Node: TeX support67407
+Node: Supported file formats68761
+Node: File lookup76429
+Node: Glyph lookup78178
+Node: Basic glyph lookup79302
+Node: Fontmap80182
+Node: Fallback font82711
+Node: Suppressing warnings83623
+Node: mktex scripts84750
+Node: mktex configuration85965
+Node: mktex script names91768
+Node: mktex script arguments93154
+Node: Programming94033
+Node: Programming overview94606
+Node: Calling sequence97467
+Node: Program-specific files103996
+Node: Programming with config files105019
+Node: Reporting bugs106606
+Node: Bug checklist107284
+Node: Mailing lists110753
+Node: Debugging111430
+Node: Logging116507
+Node: Common problems118374
+Node: Unable to find files118851
+Node: Slow path searching121261
+Node: Unable to generate fonts122636
+Node: TeX or Metafont failing125108
+Node: Index126310

End Tag Table
+
+
+Local Variables:
+coding: utf-8
+End:
diff --git a/Build/source/texk/kpathsea/doc/kpathsea.texi b/Build/source/texk/kpathsea/doc/kpathsea.texi
index 2d35128a472..5888fac7936 100644
--- a/Build/source/texk/kpathsea/doc/kpathsea.texi
+++ b/Build/source/texk/kpathsea/doc/kpathsea.texi
@@ -3,7 +3,7 @@
@settitle Kpathsea: A library for path searching
@set version 6.3.2
-@set month-year January 2020
+@set month-year March 2020
@copying
This file documents the Kpathsea library for path searching.
@@ -1104,8 +1104,8 @@ case.
This same problematic scenario has always existed on Windows, but for
whatever reason, it has become much more common since Apple also went
-to a case-insensitive filesystem. Hence the move to change the
-Kpathsea behavior now.
+to a case-insensitive filesystem. Hence the relatively late change
+to the Kpathsea behavior.
@cindex Windows and casefolding
The fallback case-insensitive search is omitted at compile-time on
diff --git a/Build/source/texk/kpathsea/doc/unixtex.texi b/Build/source/texk/kpathsea/doc/unixtex.texi
index e9c1ea1fe45..f91f453ce8c 100644
--- a/Build/source/texk/kpathsea/doc/unixtex.texi
+++ b/Build/source/texk/kpathsea/doc/unixtex.texi
@@ -17,19 +17,20 @@ This
@iftex
chapter
@end iftex
-is @uref{https://tug.org/tex/unixtex.ftp}, last updated 28 November
-2017. Email @email{tex-k@@tug.org} with comments or questions.
+is @uref{ftp://tug.org/tex/unixtex.ftp}, a.k.a.@:
+@uref{https://tug.org/unixtex.ftp}, last updated 29 February 2020.
+Email @email{tex-k@@tug.org} with comments or questions.
The principal free @TeX{} distribution for Unix-like systems is @TeX{}
Live, on the web at @url{http://tug.org/texlive}. The pages there
-describe many ways to acquire and.or build @TeX{}, over the Internet
+describe many ways to acquire and/or build @TeX{}, over the Internet
or on physical media, both the sources and precompiled binaries for
many systems, either standalone or as part of various operating system
distributions.
-Web2c, Kpathsea, Dvips, and Dviljk are no longer released as a
-separate packages. Their sources are now maintained as part of @TeX{}
-Live.
+Web2c, Kpathsea, Dvips, and Dviljk, among others, are no longer
+released as a separate packages. Their sources are now maintained as
+part of @TeX{} Live.
@flindex ftp.cs.stanford.edu
@flindex tex.web
@@ -37,7 +38,7 @@ Live.
The host @t{ftp.cs.stanford.edu} is the original source for the files
for which Donald Knuth is directly responsible: @file{tex.web},
@file{plain.tex}, etc. However, unless you want to undertake the
-project of building your @TeX{} installation from scratch, it is more
+project of building your @TeX{} system from scratch, it is more
reliable and less work to retrieve these files as part of a larger
package.
diff --git a/Build/source/texk/kpathsea/pathsearch.c b/Build/source/texk/kpathsea/pathsearch.c
index ad6f0cd0199..6b15e013d24 100644
--- a/Build/source/texk/kpathsea/pathsearch.c
+++ b/Build/source/texk/kpathsea/pathsearch.c
@@ -173,7 +173,7 @@ casefold_readable_file (kpathsea kpse, string name)
if (kpathsea_readable_file (kpse, ret)) {
break; /* success */
} else {
- /* This only happens the name matches, but the potential file is
+ /* This only happens when the name matches, but the potential file is
not actually readable, e.g., a broken symlink. It seems
sufficiently unusual to be worth logging. */
#ifdef KPSE_DEBUG