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, /*