Bug 143759
Summary: | iiimf-emacs never talks to unix domain socket | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Takanori MATSUURA <t.matsuu> | ||||||||||
Component: | iiimf | Assignee: | Jens Petersen <petersen> | ||||||||||
Status: | CLOSED RAWHIDE | QA Contact: | |||||||||||
Severity: | medium | Docs Contact: | |||||||||||
Priority: | medium | ||||||||||||
Version: | 3 | CC: | eng-i18n-bugs, fedora-ja-list, miura, wtogami | ||||||||||
Target Milestone: | --- | Keywords: | i18n | ||||||||||
Target Release: | --- | ||||||||||||
Hardware: | All | ||||||||||||
OS: | Linux | ||||||||||||
Whiteboard: | |||||||||||||
Fixed In Version: | iiimf-12.2-3 | Doc Type: | Bug Fix | ||||||||||
Doc Text: | Story Points: | --- | |||||||||||
Clone Of: | Environment: | ||||||||||||
Last Closed: | 2005-05-23 06:45:15 UTC | Type: | --- | ||||||||||
Regression: | --- | Mount Type: | --- | ||||||||||
Documentation: | --- | CRM: | |||||||||||
Verified Versions: | Category: | --- | |||||||||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||||||
Cloudforms Team: | --- | Target Upstream Version: | |||||||||||
Embargoed: | |||||||||||||
Bug Depends On: | |||||||||||||
Bug Blocks: | 125997 | ||||||||||||
Attachments: |
|
Description
Takanori MATSUURA
2004-12-27 02:21:27 UTC
AFAIK iiimp-open-network-channel doesn't currently support connections to unix domain sockets: so fixing this may have to wait for the next release of Emacs. You can hack iiimp-open-network-channel to use simple helper program which connect to unix domain socket and relay it to stdin/out. What you need is not just to wait for next relase of Emacs, but send request to upstream author of iiimecf, I think. A modification of iiimp.el is like as follows(not tested yet): --- iiimp.el~ 2002-07-15 20:18:13.000000000 +0900 +++ iiimp.el 2005-01-10 12:53:03.000000000 +0900 @@ -68,6 +68,8 @@ (defvar iiimp-text-warning-char ?!) +(defvar iiimp-helper-path "iiimp") + (defconst iiimp-basic-opcode-spec-list '((iiimp-im-no-protocol 0 (nil . nil) @@ -391,7 +393,10 @@ (set-buffer-multibyte nil)) (buffer-disable-undo buf) (setq proc - (open-network-stream iiimp-process-name buf host port)) + (cond ((string= host "unix") + (let ((process-connection-type nil)) + (start-process "iiimp" nil iiimp-helper-path))) + (t (open-network-stream iiimp-process-name buf host port)))) (process-kill-without-query proc) (set-process-coding-system proc 'binary 'binary) (set-process-sentinel Created attachment 109559 [details]
iiimp helper program
This is a trial version of helper program to support unix domain socket.
This is based on yc-el's icanna.c program.
For original bug report, we may enable tcp connection on iiimf when installing iiimecf. To do so, uncomment below lines on /etc/iiim/htt.xml.conf <listen type="tcp"> <hostname>localhost</hostname> <port>9010</port> </listen> For security reason, it may not be recommended. Created attachment 109812 [details]
Patch to support unix domain socket
This is a patch to support unix domain socket. It works fine.
I modified iiimp.el and create new helper program 'udclient'.
udclient is a general purpose program to communicate with unix domain socket
data stream. It should install the path described in PATH.
user can use it with set (setq iiimcf-server-control-hostlist '("unix"))
Now it coflict with the server named "unix" so I need more work.
I test it with IIIMF trunk 2059 and ATOK X2 (Ver 17.0:most newest)
I want it to send upstreams directly.
Created attachment 112505 [details]
build udclient with CFLAGS
Created attachment 112506 [details] diff of iiimf.spec from iiimf-12.1.1-10.svn2390 and mine attachment 112505 [details] and this modification of spec file solves this bug without waiting next release of Emacs. A command to communicate with server through unix domain socket that Miura put here is now inclueded in upstream source. Thank you for nice job, Miura and iiimf developpers. Jens, please review this one. For testers: Please set your ~/.emacs as following ;; use iiimf (setq default-input-method 'iiim) (setq iiimcf-server-control-hostlist '("unix/:9010")) I think iiimcf-server-control-hostlist valiable should be added to /usr/share/emacs/site-lisp/site-start.d/iiimecf-init.el The fix to contains udclient in the package was already in Fedora CVS repository. it will be available next release. thank you for notifying us anyway. (In reply to comment #6) Thanks - I committed this upstream in svn2428. (In reply to comment #9) > The fix to contains udclient in the package was already in Fedora CVS > repository. Right - though I had problems getting it working under rawhide so far... should be fixed in 12.1.1-11.svn2435. confirmed it working on emacs. Confirmed fixed. Tested with iiimf-12.2-3. Was able to load IIIMF and use Canna LE via default unix socket. |