summaryrefslogtreecommitdiff
path: root/Admin/README.update
diff options
context:
space:
mode:
Diffstat (limited to 'Admin/README.update')
-rw-r--r--Admin/README.update31
1 files changed, 20 insertions, 11 deletions
diff --git a/Admin/README.update b/Admin/README.update
index 8d50baf..fe028ce 100644
--- a/Admin/README.update
+++ b/Admin/README.update
@@ -13,14 +13,22 @@ environment variables
- UCD, which points to the directory containing the Unicode UCD
Before updating, read the Unicode release note carefully and
-understand any changes that might affect Gnulib. In particular,
-changes in the text segmentation algorithms (provided by unilbrk.h,
-uniwbrk.h, unigbrk.h) often require manual adjustment of source files.
-
-The release notes are typically available at:
+understand any changes that might affect Gnulib. The release notes are
+typically available at:
https://unicode.org/versions/Unicode<VERSION>/
+In particular, changes in the text segmentation algorithms often
+require manual adjustment of source files:
+
+ - For unigbrk/ updates, look at the revision history of UAX #29
+ <https://www.unicode.org/reports/tr29/>, section 3.
+ - For uniwbrk/ updates, look at the revision history of UAX #29
+ <https://www.unicode.org/reports/tr29/>, section 4.
+ - For unilbrk/ updates, look at the revision history of UAX #14
+ <https://www.unicode.org/reports/tr14/>.
+
+
* Regenerating the Gnulib source code
The source files in Gnulib are updated using a couple of tools:
@@ -38,9 +46,8 @@ Note that 'gen-uni-tables' sometimes fails when a large portion of
Unicode data changes. In that case, errors are reported as assertion
failures and you will need to adjust 'lib/gen-uni-tables.c'.
-Also note that the files under 'lib/uniwidth' and 'tests/uniwidth' are
-currently _not_ updated automatically. You need to merge the
-generated *.part file by hand.
+Also note that the files under 'tests/uniwidth' are currently _not_
+updated automatically. You need to check the test failures by hand.
* Updating the version numbers of modules
@@ -64,11 +71,13 @@ to bump the version of affected modules.
To identify affected modules, you can use the following command:
$ (cd $GNULIB_SRCDIR && git show --oneline --name-only $COMMIT | tail -n+2) \
- | ./containing | LC_ALL=C sort | uniq \
- | ./dependent | LC_ALL=C sort | uniq
+ | ./containing | LC_ALL=C sort -u \
+ | ./dependent | LC_ALL=C sort -u
where $COMMIT is a git commit ID, which points to the regeneration,
and 'containing' and 'dependent' are scripts included here. Note that
-this command takes some time to complete.
+this command takes some time to complete. Also, it is useful to
+temporarily remove the dependency to 'wcwidth' from modules/mbchar
+before this command.
Daiki Ueno <ueno@gnu.org>