Mercurial > hg > xemacs-beta
comparison 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 |
comparison
equal
deleted
inserted
replaced
125:8b0638b347ec | 126:1370575f1259 |
---|---|
315 Lisp_Object Vwnn_uniq_level; | 315 Lisp_Object Vwnn_uniq_level; |
316 int lb_sisheng; | 316 int lb_sisheng; |
317 | 317 |
318 /* Lisp functions definition */ | 318 /* Lisp functions definition */ |
319 | 319 |
320 | |
321 | |
322 DEFUN ("wnn-server-open", Fwnn_open, 2, 2, 0, /* | 320 DEFUN ("wnn-server-open", Fwnn_open, 2, 2, 0, /* |
323 Connect to jserver of host HNAME, make an environment with | 321 Connect to jserver of host HNAME, make an environment with |
324 login name LNAME in the server. | 322 login name LNAME in the server. |
325 Return nil if error occurs | 323 Return nil if error occurs |
326 */ | 324 */ |
356 { | 354 { |
357 CHECK_STRING (hname); | 355 CHECK_STRING (hname); |
358 strncpy (hostname, XSTRING (hname)->_data, 32); | 356 strncpy (hostname, XSTRING (hname)->_data, 32); |
359 } | 357 } |
360 CHECK_STRING (lname); | 358 CHECK_STRING (lname); |
359 /* 97/4/16 jhod@po.iijnet.or.jp | |
360 * libwnn uses SIGALRM, so we need to stop and start interrupts. | |
361 */ | |
362 stop_interrupts(); | |
361 if (!(wnnfns_buf[snum] = jl_open_lang (envname, hostname, langname, | 363 if (!(wnnfns_buf[snum] = jl_open_lang (envname, hostname, langname, |
362 0, 0, 0, EGG_TIMEOUT))) | 364 0, 0, 0, EGG_TIMEOUT))) |
363 { | 365 { |
366 start_interrupts(); | |
364 return Qnil; | 367 return Qnil; |
365 } | 368 } |
366 if (!jl_isconnect (wnnfns_buf[snum])) return Qnil; | 369 if (!jl_isconnect (wnnfns_buf[snum])) |
370 { | |
371 start_interrupts(); | |
372 return Qnil; | |
373 } | |
367 wnnfns_env_norm[snum] = jl_env_get (wnnfns_buf[snum]); | 374 wnnfns_env_norm[snum] = jl_env_get (wnnfns_buf[snum]); |
368 /* if (Vwnnenv_sticky == Qt) jl_env_sticky_e (wnnfns_env_norm[snum]); | 375 /* if (Vwnnenv_sticky == Qt) jl_env_sticky_e (wnnfns_env_norm[snum]); |
369 else jl_env_un_sticky_e (wnnfns_env_norm[snum]);*/ | 376 else jl_env_un_sticky_e (wnnfns_env_norm[snum]);*/ |
370 strcat (envname, "R"); | 377 strcat (envname, "R"); |
371 if (!(wnnfns_env_rev[snum] = jl_connect_lang (envname, hostname, langname, | 378 if (!(wnnfns_env_rev[snum] = jl_connect_lang (envname, hostname, langname, |
372 0, 0, 0, EGG_TIMEOUT))) | 379 0, 0, 0, EGG_TIMEOUT))) |
373 { | 380 { |
381 start_interrupts(); | |
374 return Qnil; | 382 return Qnil; |
375 } | 383 } |
376 /* if (Vwnnenv_sticky == Qt) jl_env_sticky_e (wnnfns_env_rev[snum]); | 384 /* if (Vwnnenv_sticky == Qt) jl_env_sticky_e (wnnfns_env_rev[snum]); |
377 else jl_env_un_sticky_e (wnnfns_env_rev[snum]);*/ | 385 else jl_env_un_sticky_e (wnnfns_env_rev[snum]);*/ |
386 start_interrupts(); | |
378 return Qt; | 387 return Qt; |
379 } | 388 } |
380 | 389 |
381 | 390 |
382 DEFUN ("wnn-server-close", Fwnn_close, 0, 0, 0, /* | 391 DEFUN ("wnn-server-close", Fwnn_close, 0, 0, 0, /* |