X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=TODO;h=c3cd0b122f7e30af451555aa4e9b4f6fd39343fa;hb=bf765ed3ff2c3d2546f0687131812b307f9bd041;hp=c7de26483e478ecfc9f6ef5132e9fa2ef0e05a11;hpb=56f02fb82d8b7defef2225327cb02db55bce134e;p=elisp%2Fsemi.git diff --git a/TODO b/TODO index c7de264..c3cd0b1 100644 --- a/TODO +++ b/TODO @@ -3,13 +3,50 @@ * MIME-View -** Mother entity should modify preview-situation of children - ** Better implementation for multipart/alternative ** dynamic configuration for 'mime-preview-condition -** Fix problem of dynamic configuration for 'mime-acting-condition +** Don't use filter-model + + tomo (major developer of SEMI) and akr (major developer of +FLIM-FLAM) discussed about Emacs 20.3 problem related with SEMI and +FLIM. They found essential problem with Emacs 20.3 are: + + - Emacs 20.3 separates string-type to unibyte-string and + multibyte-string. Emacs 20.3 has enough APIs to treat them. + + - Buffer has mode about interpretation of contents. Each mode is + designed to save semantics as characters. Namely buffer contains + unibyte-characters or multibyte-characters. One buffer can not + contain both representations. + + - {decode|encode}-coding-{region|string} run in byte world. So it + is not harmonized with other API. + + - It seems easy to write code in one mode or one world + (unibyte-string or multibyte-string). However it seems not easy + to write inter-mode program, such as SEMI. + + - Byte <-> byte conversion, such as base64, quoted-printable, must + be run only with unibyte-mode. + + - Byte <-> character conversion, such as + {decode|encode}-coding-region, should not be defined in single + buffer. Instead of them, decoder should read from unibyte buffer + and output to multibyte buffer. Similarly, encoder should read + from multibyte buffer and output to unibyte buffer. + `insert-buffer-substring' like API may be suitable. Anyway Emacs + introduces multiple representations, so it should be redesigned + based on multiple representation world model. + + Anyway FLIM should introduce new APIs based on inter-representation +world model. Conventional APIs should be implemented based on new +APIs. + + SEMI should abolish filter model and introduce new methods to +display inline data. These methods should use new FLIM APIs based on +inter-representation world model. * MIME-Edit