Bug 1450 - context object integration
Summary: context object integration
Status: RESOLVED FIXED
Alias: None
Product: UIM
Classification: Unclassified
Component: libuim (show other bugs)
Version: unspecified
Hardware: All All
: high enhancement
Assignee: uim-bugs
QA Contact:
URL: http://freedesktop.org/pipermail/uim/...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-09-23 08:54 UTC by YamaKen
Modified: 2004-09-26 05:09 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments

Description YamaKen 2004-09-23 08:54:39 UTC
Currently IM programmers are required to deal with the 3 context
objects.

- id
- context
- per-im-context

'id' is used to communicate with C-side APIs such as im-commit
or im-update-preedit.

'context' is used as base object of Scheme-side context. It is
retrieved by (find-context id).

'per-im-context' contains IM-specific data. It is stored in a
'context' and retrieved by (context-data context).

The distinguishment requires IM-implementors tedious context
handling. You might have seen following code.

  (lambda (id mode)
    (let* ((c (find-context id))
           (ac (context-data c)))

Although some reasons to distinguish the objects exist for API
implementor, all 3 context objects semantically mean same 'this
input context' for IM-implementors. So we should show the
context object as unified one for IM-implementors to eliminate
complexity and confusion.

See the URL for further information.
Comment 1 YamaKen 2004-09-26 22:09:56 UTC
The modification for all available IMs have been performed by r1304.
The difference between new API and old one will be described in doc/COMPATIBILITY.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.