158 |
{ |
{ |
159 |
struct timeval Timeout; |
struct timeval Timeout; |
160 |
int waitmask = 1; |
int waitmask = 1; |
161 |
|
|
162 |
CHECK_NUMBER (n); |
CHECK_NUMBER (n); |
163 |
Timeout.tv_sec = XINT(n) / 1000; |
Timeout.tv_sec = XINT(n) / 1000; |
164 |
Timeout.tv_usec = (XINT(n) - (Timeout.tv_sec * 1000)) * 1000; |
Timeout.tv_usec = (XINT(n) - (Timeout.tv_sec * 1000)) * 1000; |
178 |
/* |
/* |
179 |
* Sun sleep-for (allows a shorter interval than the regular sleep-for) |
* Sun sleep-for (allows a shorter interval than the regular sleep-for) |
180 |
*/ |
*/ |
181 |
DEFUN ("sleep-for-millisecs", |
DEFUN ("sleep-for-millisecs", |
182 |
Fsleep_for_millisecs, |
Fsleep_for_millisecs, |
183 |
Ssleep_for_millisecs, 1, 1, 0, |
Ssleep_for_millisecs, 1, 1, 0, |
184 |
doc: /* Pause, without updating display, for ARG milliseconds. */) |
doc: /* Pause, without updating display, for ARG milliseconds. */) |
220 |
register short *p; |
register short *p; |
221 |
register int i; |
register int i; |
222 |
Lisp_Object X_Hot, Y_Hot, Data; |
Lisp_Object X_Hot, Y_Hot, Data; |
223 |
|
|
224 |
CHECK_GFX (Qnil); |
CHECK_GFX (Qnil); |
225 |
/* |
/* |
226 |
* If the icon is null, we just restore the DefaultCursor |
* If the icon is null, we just restore the DefaultCursor |
227 |
*/ |
*/ |
228 |
if (NILP(Icon)) |
if (NILP(Icon)) |
229 |
CurrentCursor = DefaultCursor; |
CurrentCursor = DefaultCursor; |
230 |
else { |
else { |
231 |
/* |
/* |
236 |
X_Hot = XVECTOR(Icon)->contents[0]; |
X_Hot = XVECTOR(Icon)->contents[0]; |
237 |
Y_Hot = XVECTOR(Icon)->contents[1]; |
Y_Hot = XVECTOR(Icon)->contents[1]; |
238 |
Data = XVECTOR(Icon)->contents[2]; |
Data = XVECTOR(Icon)->contents[2]; |
239 |
|
|
240 |
CHECK_NUMBER (X_Hot); |
CHECK_NUMBER (X_Hot); |
241 |
CHECK_NUMBER (Y_Hot); |
CHECK_NUMBER (Y_Hot); |
242 |
CHECK_STRING (Data); |
CHECK_STRING (Data); |
243 |
if (XSTRING(Data)->size != 32) return(Qnil); |
if (SCHARS (Data) != 32) return(Qnil); |
244 |
/* |
/* |
245 |
* Setup the new cursor |
* Setup the new cursor |
246 |
*/ |
*/ |
247 |
NewCursor.cur_xhot = X_Hot; |
NewCursor.cur_xhot = X_Hot; |
248 |
NewCursor.cur_yhot = Y_Hot; |
NewCursor.cur_yhot = Y_Hot; |
249 |
cp = XSTRING(Data)->data; |
cp = SDATA (Data); |
250 |
p = CursorData; |
p = CursorData; |
251 |
i = 16; |
i = 16; |
252 |
while(--i >= 0) |
while(--i >= 0) |
267 |
struct selection *sel; |
struct selection *sel; |
268 |
FILE *file; |
FILE *file; |
269 |
{ |
{ |
270 |
fwrite (XSTRING (Current_Selection)->data, sizeof (char), |
fwrite (SDATA (Current_Selection), sizeof (char), |
271 |
sel->sel_items, file); |
sel->sel_items, file); |
272 |
} |
} |
273 |
|
|
285 |
{ |
{ |
286 |
register int i, n; |
register int i, n; |
287 |
register char *cp; |
register char *cp; |
288 |
|
|
289 |
Current_Selection = make_string ("", 0); |
Current_Selection = make_string ("", 0); |
290 |
if (sel->sel_items <= 0) |
if (sel->sel_items <= 0) |
291 |
return (0); |
return (0); |
306 |
* The shelltool select saves newlines as carriage returns, |
* The shelltool select saves newlines as carriage returns, |
307 |
* but emacs wants newlines. |
* but emacs wants newlines. |
308 |
*/ |
*/ |
309 |
for (i = 0; i < n; i++) |
for (i = 0; i < n; i++) |
310 |
if (cp[i] == '\r') cp[i] = '\n'; |
if (cp[i] == '\r') cp[i] = '\n'; |
311 |
|
|
312 |
Current_Selection = make_string (cp, n); |
Current_Selection = make_string (cp, n); |
330 |
|
|
331 |
CHECK_GFX (Qnil); |
CHECK_GFX (Qnil); |
332 |
selection.sel_type = SELTYPE_CHAR; |
selection.sel_type = SELTYPE_CHAR; |
333 |
selection.sel_items = XSTRING (str)->size; |
selection.sel_items = SCHARS (str); |
334 |
selection.sel_itembytes = 1; |
selection.sel_itembytes = 1; |
335 |
selection.sel_pubflags = 1; |
selection.sel_pubflags = 1; |
336 |
selection_set(&selection, sel_write, sel_clear, win_fd); |
selection_set(&selection, sel_write, sel_clear, win_fd); |
371 |
if (VECTORP (Value)) { |
if (VECTORP (Value)) { |
372 |
submenu = sun_menu_create (Value); |
submenu = sun_menu_create (Value); |
373 |
menu_item = menu_create_item |
menu_item = menu_create_item |
374 |
(MENU_RELEASE, MENU_PULLRIGHT_ITEM, XSTRING(String)->data, submenu, 0); |
(MENU_RELEASE, MENU_PULLRIGHT_ITEM, SDATA (String), submenu, 0); |
375 |
} else { |
} else { |
376 |
menu_item = menu_create_item |
menu_item = menu_create_item |
377 |
(MENU_RELEASE, MENU_STRING_ITEM, XSTRING(String)->data, Value, 0); |
(MENU_RELEASE, MENU_STRING_ITEM, SDATA (String), Value, 0); |
378 |
} |
} |
379 |
return menu_item; |
return menu_item; |
380 |
} |
} |
381 |
|
|
382 |
Menu |
Menu |
383 |
sun_menu_create (Vector) |
sun_menu_create (Vector) |
384 |
Lisp_Object Vector; |
Lisp_Object Vector; |
385 |
{ |
{ |
386 |
Menu menu; |
Menu menu; |
387 |
int i; |
int i; |
388 |
CHECK_VECTOR(Vector); |
CHECK_VECTOR(Vector); |
389 |
menu=menu_create(0); |
menu=menu_create(0); |
390 |
for(i = 0; i < XVECTOR(Vector)->size; i++) { |
for(i = 0; i < XVECTOR(Vector)->size; i++) { |
391 |
menu_set (menu, MENU_APPEND_ITEM, |
menu_set (menu, MENU_APPEND_ITEM, |
392 |
sun_item_create(XVECTOR(Vector)->contents[i]), 0); |
sun_item_create(XVECTOR(Vector)->contents[i]), 0); |
393 |
} |
} |
394 |
return menu; |
return menu; |
445 |
Event event0; |
Event event0; |
446 |
Event *event = &event0; |
Event *event = &event0; |
447 |
Lisp_Object Value, Pair; |
Lisp_Object Value, Pair; |
448 |
|
|
449 |
CHECK_NUMBER(X_Position); |
CHECK_NUMBER(X_Position); |
450 |
CHECK_NUMBER(Y_Position); |
CHECK_NUMBER(Y_Position); |
451 |
CHECK_LIVE_WINDOW(window); |
CHECK_LIVE_WINDOW(window); |