bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#24603: [RFC 00/18] Improvement to casing


From: Michal Nazarewicz
Subject: bug#24603: [RFC 00/18] Improvement to casing
Date: Tue, 4 Oct 2016 03:05:10 +0200

This is work in progress with a known bug: if casing region changes
length (e.g. fish becomes FISH) neither point moves correctly nor undo
information is recorded correctly.  There could also be some minor
improvements to documentation here and there.

Overall, this is mature enough (and probably too-big already) to send
a request for comments.

Michal Nazarewicz (18):
  Add tests for casefiddle.c
  Generate upcase and downcase tables from Unicode data
  Don’t assume character can be either upper- or lower-case when casing
  Split casify_object into multiple functions
  Introduce case_character function
  Add support for title-casing letters
  Split up casify_region function.
  Support casing characters which map into multiple code points
  Implement special sigma casing rule
  Implement Turkic dotless and dotted i handling when casing strings
  Implement casing rules for Lithuanian
  Implement rules for title-casing Dutch ij ‘letter’
  Add some tricky Unicode characters to regex test
  Factor out character category lookup to separate function
  Base lower- and upper-case tests on Unicode properties
  Refactor character class checking; optimise ASCII case
  Optimise character class matching in regexes
  Fix case-fold-search character class matching

 .gitignore                       |   1 +
 admin/unidata/README             |   4 +
 admin/unidata/SpecialCasing.txt  | 281 +++++++++++++
 etc/NEWS                         |  25 +-
 lisp/international/characters.el | 338 +++------------
 src/Makefile.in                  |   3 +
 src/buffer.h                     |  17 +-
 src/casefiddle.c                 | 864 ++++++++++++++++++++++++++++++---------
 src/character.c                  | 151 +++----
 src/character.h                  |  76 +++-
 src/deps.mk                      |   2 +-
 src/keyboard.c                   |  25 +-
 src/make-special-casing.py       | 189 +++++++++
 src/regex.c                      | 119 +++---
 test/lisp/char-fold-tests.el     |  12 +-
 test/src/casefiddle-tests.el     | 262 ++++++++++++
 test/src/regex-tests.el          |  62 ++-
 17 files changed, 1786 insertions(+), 645 deletions(-)
 create mode 100644 admin/unidata/SpecialCasing.txt
 create mode 100644 src/make-special-casing.py
 create mode 100644 test/src/casefiddle-tests.el

-- 
2.8.0.rc3.226.g39d4020






reply via email to

[Prev in Thread] Current Thread [Next in Thread]