Mercurial > hg > xemacs-beta
diff src/mule-wnnfns.c @ 126:1370575f1259 xemacs-20-1p1
Import from CVS: tag xemacs-20-1p1
author | cvs |
---|---|
date | Mon, 13 Aug 2007 09:27:39 +0200 |
parents | a145efe76779 |
children | e292c9648bb9 |
line wrap: on
line diff
--- a/src/mule-wnnfns.c Mon Aug 13 09:26:41 2007 +0200 +++ b/src/mule-wnnfns.c Mon Aug 13 09:27:39 2007 +0200 @@ -317,8 +317,6 @@ /* Lisp functions definition */ - - DEFUN ("wnn-server-open", Fwnn_open, 2, 2, 0, /* Connect to jserver of host HNAME, make an environment with login name LNAME in the server. @@ -358,12 +356,21 @@ strncpy (hostname, XSTRING (hname)->_data, 32); } CHECK_STRING (lname); + /* 97/4/16 jhod@po.iijnet.or.jp + * libwnn uses SIGALRM, so we need to stop and start interrupts. + */ + stop_interrupts(); if (!(wnnfns_buf[snum] = jl_open_lang (envname, hostname, langname, 0, 0, 0, EGG_TIMEOUT))) { + start_interrupts(); return Qnil; } - if (!jl_isconnect (wnnfns_buf[snum])) return Qnil; + if (!jl_isconnect (wnnfns_buf[snum])) + { + start_interrupts(); + return Qnil; + } wnnfns_env_norm[snum] = jl_env_get (wnnfns_buf[snum]); /* if (Vwnnenv_sticky == Qt) jl_env_sticky_e (wnnfns_env_norm[snum]); else jl_env_un_sticky_e (wnnfns_env_norm[snum]);*/ @@ -371,10 +378,12 @@ if (!(wnnfns_env_rev[snum] = jl_connect_lang (envname, hostname, langname, 0, 0, 0, EGG_TIMEOUT))) { + start_interrupts(); return Qnil; } /* if (Vwnnenv_sticky == Qt) jl_env_sticky_e (wnnfns_env_rev[snum]); else jl_env_un_sticky_e (wnnfns_env_rev[snum]);*/ + start_interrupts(); return Qt; }