]> code.delx.au - gnu-emacs/blob - src/ChangeLog
* termhooks.h (term_gpm): Delete. Use gpm_tty's NULLness instead.
[gnu-emacs] / src / ChangeLog
1 2007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
2
3 * termhooks.h (term_gpm): Delete. Use gpm_tty's NULLness instead.
4 (gpm_tty): Change its type.
5 * term.c (term_gpm): Delete. Use gpm_tty's NULLness instead.
6 (gpm_tty): Change its type and initialize it.
7 (Fterm_open_connection): Check the frame is indeed a tty.
8 Use the new gpm_tty.
9 (Fterm_close_connection): Use the new gpm_tty.
10 * keyboard.c (tty_read_avail_input): Use the new gpm_tty.
11 * sysdep.c (init_sys_modes): term_gpm -> gpm_tty.
12
13 2007-09-21 Juanma Barranquero <lekktu@gmail.com>
14
15 * w32term.c (x_draw_glyph_string): Use strike_through_color, not
16 underline_color, to draw strike-through.
17
18 2007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
19
20 * lisp.h (allocate_terminal): Declare.
21
22 * window.c (candidate_window_p): Consider frames that are being placed
23 by the user as somewhere between visible and iconified.
24 (window_loop): Prefer windows on the current frame.
25 (Fselect_window): Move the use of select-frame to the beginning so we
26 can just delegate all the work (it'll call us back anyway).
27
28 * frame.c (Qdisplay_environment_variable):
29 * frame.h (Qdisplay_environment_variable): Delete.
30
31 * .gdbinit (xbacktrace): Print the arg's address rather than the value
32 of the first arg, since that value may be a union.
33
34 * callproc.c (child_setup, getenv_internal): Use the frame's `display'
35 parameter rather than Qdisplay_environment_variable. If all else
36 fails, look for DISPLAY in initial-environment.
37
38 2007-09-21 Glenn Morris <rgm@gnu.org>
39
40 * Makefile.in (emacstool): Remove target.
41 (lisp, shortlisp): Remove termdev.elc.
42
43 2007-09-21 Markus Triska <markus.triska@gmx.at>
44
45 * xterm.c (x_delete_display): Compile session management conditionally.
46
47 2007-09-20 Stefan Monnier <monnier@iro.umontreal.ca>
48
49 * callproc.c (getenv_internal_1): New function.
50 (getenv_internal): Use it.
51 (Fgetenv_internal): Use it. Accept an env-list as optional arg.
52
53 * terminal.c (get_terminal): Don't accept ints to represent terminals.
54 (Fterminal_name, Fterminal_parameters, Fterminal_parameter)
55 (Fset_terminal_parameter): Work with dead terminals as well.
56 (Fmodify_terminal_parameters): Remove.
57
58 * terminal.c (get_terminal): Handle terminals.
59 Make sure the terminal returned is live.
60 (create_terminal): Use allocate_terminal.
61 (mark_terminals): Move to alloc.c.
62 (delete_terminal): Use terminal->name as liveness status.
63 NULL out fields after freeing their contents.
64 Don't deallocate the object.
65 (Fframe_terminal): Use FRAME_TERMINAL. Return the terminal object
66 rather than an int.
67 (Fterminal_live_p): Accept non-integer arguments.
68 (Fterminal_list): Return terminal objects rather than an ints.
69
70 * alloc.c (enum mem_type): New member for `terminal' objects.
71 (allocate_terminal): New function.
72 (mark_maybe_pointer, valid_lisp_object_p, mark_object):
73 Handle terminals.
74 (mark_terminal): New fun.
75 (mark_terminals): Move from terminal.c.
76
77 * term.c (get_tty_terminal): Don't treat output_initial specially.
78 (Fsuspend_tty, Fresume_tty): Use terminal objects rather than ints.
79 (delete_tty): Use terminal->name as liveness status.
80
81 * termhooks.h (struct terminal): Make it into a pseudovector.
82 Remove `deleted' replaced by checking `name's nullness.
83
84 * print.c (print_object): Handle terminals.
85
86 * lisp.h (enum pvec_type): New `terminal' pseudovector.
87 (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros.
88
89 * frame.c (make_terminal_frame):
90 * keyboard.c (tty_read_avail_input):
91 * w32term.c (x_delete_terminal):
92 * xfns.c (Fx_create_frame, x_create_tip_frame):
93 * xterm.c (x_delete_terminal): Use terminal->name as liveness status.
94
95 2007-09-20 Glenn Morris <rgm@gnu.org>
96
97 * process.c (Fmake_network_process): Doc fix.
98
99 2007-09-19 Jason Rumney <jasonr@gnu.org>
100
101 * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument.
102
103 2007-09-19 Micha\e,Ak\e(Bl Cadilhac <michael@cadilhac.name>
104
105 * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form):
106 Fix a C warning regarding variable constness.
107
108 * xterm.c (handle_one_xevent): Fix a C warning.
109
110 2007-09-18 Jason Rumney <jasonr@gnu.org>
111
112 * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame.
113
114 2007-09-17 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
115
116 * gtkutil.c (gdpy_def): New variable.
117 (xg_initialize): Initialize gdpy_def.
118 (xg_display_close): If no other display exists, set gdpy_def to a
119 new connection.
120
121 2007-09-16 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
122
123 * gtkutil.c (xg_get_image_for_pixmap): Always create a GdkPixbuf
124 when we have no file name for the icon.
125 (xg_tool_bar_expose_callback): Remove.
126 (xg_create_tool_bar): Don't connect expose signal to
127 xg_tool_bar_expose_callback.
128 (xg_get_file_with_chooser): Move GCPRO1 after declarations.
129
130 2007-09-16 Andreas Schwab <schwab@suse.de>
131
132 * alloc.c (reset_malloc_hooks): Set the hooks to the previous
133 values instead of zapping them.
134
135 2007-09-14 Glenn Morris <rgm@gnu.org>
136
137 * fringe.c (init_fringe_bitmap) <swap_nibble>: Move to file scope.
138 * gtkutil.c (xg_separator_p) <separator_names>: Move to file scope.
139 * image.c (our_memory_fill_input_buffer) <buffer>: Move to file
140 scope and rename to omfib_buffer for clarity.
141 (gif_load) <interlace_start, interlace_increment>: Move to file scope.
142
143 2007-09-14 Kenichi Handa <handa@m17n.org>
144
145 * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero.
146
147 2007-09-13 Jason Rumney <jasonr@gnu.org>
148
149 * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument.
150
151 * w32term.c (w32_term_init): Pass rif to w32_init_fringe.
152
153 * macterm.c (mac_initialize): Don't call mac_init_fringe here.
154 (mac_term_init): Call here instead, passing rif.
155
156 2007-09-13 Glenn Morris <rgm@gnu.org>
157
158 * s/hpux.h: No longer define `static' as nothing.
159
160 2007-09-13 Johan Bockg\e,Ae\e(Brd <bojohan@gnu.org>
161
162 * callint.c (Fcall_interactively): Remove unused var `fun'.
163
164 2007-09-12 Romain Francoise <romain@orebokech.com>
165
166 * window.c (prefer_window_split_horizontally, display_buffer):
167 Revert 2007-09-08 change.
168
169 2007-09-12 Glenn Morris <rgm@gnu.org>
170
171 * alloca.c: Remove file.
172 * Makefile.in (alloca): Do not undef.
173 (allocaobj, alloca.o): Remove.
174 (otherobj): Remove allocaobj.
175 * keyboard.c (command_loop_1): Remove #ifdef C_ALLOCA block.
176 * regex.c (C_ALLOCA): Remove all references and code that was only
177 used when this was defined.
178 * search.c (boyer_moore): Remove #ifdef C_ALLOCA block.
179 * xmenu.c (xmenu_show): Remove #ifdef C_ALLOCA block.
180 * m/ibms390x.h, m/sh3el.h (C_ALLOCA): Remove references to this.
181
182 * Makefile.in (SOURCES, unlock, relock): Delete.
183
184 * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity.
185 (menu_grab_callback): All uses changed.
186
187 * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity.
188 (x_reply_selection_request): All uses changed.
189
190 2007-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
191
192 * lread.c (load_warn_old_style_backquotes): Change message to look
193 better when it appears in the middle of byte-compiler messages.
194
195 2007-09-10 Dan Nicolaescu <dann@ics.uci.edu>
196
197 * s/darwin.h (MULTI_KBOARD): Only define for Carbon.
198
199 * xterm.c (x_create_terminal): Add comment.
200
201 * term.c (clear_tty_hooks, set_tty_hooks): Add comments.
202
203 2007-09-10 Richard Stallman <rms@gnu.org>
204
205 * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME.
206
207 2007-09-10 Micha\e,Ak\e(Bl Cadilhac <michael@cadilhac.name>
208
209 * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'.
210 (DEFUN): Document `intspec', use it instead of `prompt'.
211
212 * eval.c (Fcommandp): Change `->prompt' to `->intspec'.
213
214 * data.c (Finteractive_form): If the interactive specification starts
215 with a `(', use it as a Lisp form.
216
217 * fileio.c (Fset_file_modes): Add an interactive spec that reads a file
218 name and file modes.
219
220 * callint.c (Fcall_interactively): Comment fixes.
221
222 2007-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
223
224 * callint.c (Fcall_interactively): Use Finteractive_form also for subrs
225 and compiled functions.
226
227 2007-09-08 Fredrik Axelsson <f.axelsson@gmail.com>
228
229 * window.c (prefer_window_split_horizontally): New variable.
230 (display_buffer): Consider splitting window horizontally depending
231 on prefer_window_split_horizontally.
232
233 2007-09-08 Eli Zaretskii <eliz@gnu.org>
234
235 * sysdep.c [WINDOWSNT]: Don't include sysselect.h.
236
237 2007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
238
239 * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking.
240
241 * frame.c (x_set_frame_parameters): Check number is positive before
242 using XFASTINT.
243
244 * window.c (freeze_window_start): Don't presume selected_window holds
245 a window object.
246 (Fdisplay_buffer): Remove `register' since `buffer' needs to be gcpro'd.
247
248 2007-09-07 Angelo Graziosi <Angelo.Graziosi@roma1.infn.it> (tiny change)
249
250 * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN.
251
252 2007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
253
254 * window.c (Vsplit_window_preferred_function): New var.
255 (Fdisplay_buffer): Use it.
256 (syms_of_window): Export, and initialize it.
257
258 2007-09-06 Pixel <pixel@mandriva.com> (tiny change)
259
260 * image.c (gif_load): Fix bug: Handle nonexistent colormap.
261
262 2007-09-06 Glenn Morris <rgm@gnu.org>
263
264 * gtkutil.c (menu_grab_callback) <cnt>:
265 * xselect.c (x_reply_selection_request) <cnt>: Move static
266 variable to file scope.
267
268 2007-09-06 Stefan Monnier <monnier@iro.umontreal.ca>
269
270 * xdisp.c (redisplay_internal): Make sure Elisp code always sees
271 consistent values of selected_frame and selected_window.
272
273 2007-09-04 Jason Rumney <jasonr@gnu.org>
274
275 * w32console.c (initialize_w32_display): Zero unused hooks.
276
277 2007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
278
279 * term.c (Vsuspend_tty_functions, Vresume_tty_functions)
280 (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change.
281
282 2007-09-04 Jason Rumney <jasonr@gnu.org>
283
284 * term.c (init_tty) [WINDOWSNT]: Add hooks that are not accessible
285 in w32console.c. Set up input. Remove XXX comments that have been
286 confirmed as correct.
287
288 * s/ms-w32.h (MULTI_KBOARD): Define.
289
290 * w32console.c (one_and_only_w32cons): Remove.
291 (initialize_w32_display): Take terminal argument.
292
293 * term.c (init_tty) [WINDOWSNT]: Pass terminal to
294 initialize_w32_display.
295 (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too.
296
297 * termhooks.h (enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
298
299 * keyboard.c (discard_mouse_events): Discard it.
300 (make_lispy_event): Translate it to a lisp event.
301 (lispy_wheel_names): Add wheel-left and right events.
302 (syms_of_keyboard): Enlarge wheel_syms.
303
304 * w32fns.c (w32_wnd_proc) <WM_DROPFILES>: Merge with WM_MOUSEWHEEL.
305 <WM_MOUSEHWHEEL>: Pass new system message to lisp.
306
307 * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't.
308
309 * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT
310 from WM_MOUSEHWHEEL.
311 (w32_read_socket) <WM_MOUSEHWHEEL>: Treat as WM_MOUSEWHEEL.
312
313 * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from
314 terminal.
315
316 * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new
317 keyboard for the terminal.
318
319 2007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
320
321 * term.c (Vsuspend_tty_hook): Rename from Vsuspend_tty_functions.
322 (Vresume_tty_hook): Rename from Vresume_tty_functions.
323 (syms_of_term): Rename suspend-tty-functions to suspend-tty-hook
324 and resume-tty-function to resume-tty-hook.
325 (Fsuspend_tty, Fresume_tty): Use new names.
326
327 2007-09-02 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
328
329 * gtkutil.c (update_frame_tool_bar): Handle stock name as a named icon
330 if it starts with "n:".
331
332 2007-08-31 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
333
334 * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL.
335
336 2007-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
337
338 * frame.h:
339 * frame.c (Qterm_environment_variable): Remove.
340 (syms_of_frame): Don't init and staticpro it.
341
342 * callproc.c (getenv_internal): Remove special case for $TERM.
343
344 * callproc.c (Vinitial_environment): New variable.
345 (set_initial_environment): Initialize it.
346 (syms_of_callproc): Declare it.
347 (child_setup): Don't mess with TERM via Qterm_environment_variable; the
348 TERM under which a process runs is never related to the TERM in which
349 Emacs is running.
350
351 2007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
352
353 * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here...
354 * s/darwin.h: ... do it here.
355
356 2007-08-29 Stefan Monnier <monnier@iro.umontreal.ca>
357
358 * lisp.h (set_initial_environment): Rename from set_global_environment.
359
360 * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been
361 removed by mistake on the multi-tty branch.
362
363 * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup.
364 (Fmodify_frame_parameters): Return a value.
365
366 * image.c (png_load): Comment-out var only used in commented-out code.
367
368 * term.c (mark_ttys): Don't bother checking top_frame (incorrectly)
369 before passing it to mark_object.
370
371 * xfaces.c (internal_resolve_face_name): Return a value.
372 (internal_resolve_face_name, resolve_face_name_error): Comment out.
373
374 * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup.
375 (x_icon): Comment-out var only used in commented-out code.
376
377 2007-08-29 Romain Francoise <romain@orebokech.com>
378
379 * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if
380 QUIT hasn't been provided.
381
382 2007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
383
384 * callproc.c (child_setup, getenv_internal): Use the
385 display-environment-variable and term-environment-variable frame
386 params.
387 (set_initial_environment): Initialise Vprocess_environment.
388
389 * config.in: Disable multi-keyboard support on a mac.
390
391 * frame.c (Qterm_environment_variable)
392 (Qdisplay_environment_variable): New variables.
393 (syms_of_frame): Intern and staticpro them.
394 (Fmake_terminal_frame): Disable output method test.
395
396 * frame.h: Declare them here.
397
398 * macfns.c (x_set_mouse_color): Get rif from the frame.
399 (x_set_tool_bar_lines): Don't use updating_frame.
400 (mac_window): Add 2 new parameters for consistency with other systems.
401 (Fx_create_frame): Fix doc string. Rename the parameter. Set the
402 frame parameters following what is done in X11 and w32. Don't use
403 FRAME_MAC_DISPLAY_INFO.
404 (Fx_open_connection, start_hourglass): Remove window-system check.
405 (x_create_tip_frame): Get the keyboard from the terminal.
406
407 * macmenu.c: Reorder includes.
408 (Fx_popup_menu): Use terminal specific mouse_position_hook.
409
410 * macterm.c (XTset_terminal_modes, XTreset_terminal_modes): Add a
411 terminal parameter.
412 (x_clear_frame): Add a frame parameter.
413 (note_mouse_movement): Get rif from the frame.
414 (mac_term_init): Initialize the terminal.
415 (mac_initialize): Make static and move terminal initialization ...
416 (mac_create_terminal): ... to this new function.
417
418 * macterm.h (struct mac_display_info): Add terminal.
419 (mac_initialize): Delete declaration.
420
421 * puresize.h (BASE_PURESIZE): Increase base value to 1164000.
422
423 * sysdep.c: Comment out text after #endif.
424
425 * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD
426 is defined. Better initialize ttys in windows. Use terminal
427 specific mouse_position_hook.
428
429 * termhooks.h (union display_info): Add mac_display_info.
430
431 * w32fns.c (Fx_create_frame): Use kboard from the terminal.
432 Set the default minibuffer frame, window_system and the rest of the
433 frame parameters following what is done in X11.
434
435 * w32term.c (w32_initialize): Make static.
436
437 * xselect.c (x_handle_selection_clear): Only access
438 terminal->kboard when MULTI_KBOARD is defined.
439
440 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
441 (SYSTEM_PURESIZE_EXTRA): Only define on Carbon.
442
443 2007-08-29 Jason Rumney <jasonr@gnu.org>
444
445 * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined.
446 (make_terminal_frame) [WINDOWSNT]: Initialize terminal.
447
448 * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]:
449 (mac_init_fringe) [MAC_OS]: Get rif from selected_frame.
450
451 * keyboard.c (restore_kboard_configuration): Only define when
452 MULTI_KBOARD defined.
453
454 * makefile.w32-in: Update dependancies from Makefile.in
455 (OBJ1): Add terminal.$(O)
456
457 * term.c (dissociate_if_controlling_tty) [WINDOWSNT]:
458 Don't define function body.
459 (init_tty) [WINDOWSNT]: Use selected_frame for initializing.
460
461 * termhooks.h (display_info) [WINDOWSNT]: Add w32.
462
463 * w32.c (request_sigio, unrequest_sigio): Remove.
464
465 * w32console.c (w32con_move_cursor, w32con_clear_to_end)
466 (w32con_clear_frame, w32con_clear_end_of_line)
467 (w32con_ins_del_lines, w32con_insert_glyphs, w32con_write_glyphs)
468 (w32con_delete_glyphs, w32con_set_terminal_window)
469 (scroll_line, w32_sys_ring_bell): Add frame arg.
470 (w32con_set_terminal_modes, w32con_reset_terminal_modes):
471 Add terminal arg.
472 (PICK_FRAME): Remove.
473 (w32con_write_glyphs): Use frame specific terminal coding.
474 (one_and_only_w32cons): New global variable.
475 (initialize_w32_display): Use it for storing hooks.
476 (create_w32cons_output): New function.
477
478 * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first
479 arg a frame.
480
481 * w32fns.c (x_create_tip_frame): Set terminal and ref count.
482 Set window_system.
483 (x_set_tool_bar_lines): Don't use updating_frame.
484 (Fx_create_frame): Set terminal and ref count.
485 (Fx_open_connection): Remove window-system check.
486
487 * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook.
488
489 * w32term.c (w32_term_init): Call add_keyboard_wait_descriptor.
490 (w32_set_terminal_modes, w32_reset_terminal_modes): Add terminal arg.
491 (x_clear_frame, x_delete_glyphs, w32_ring_bell, x_ins_del_lines):
492 Add frame arg.
493 (x_delete_terminal, w32_create_terminal): New functions.
494 (w32_term_init): Create a terminal.
495 (w32_initialize): Move terminal specific initialization to
496 w32_create_terminal.
497
498 * w32term.h (x_output): Remove foreground_pixel and background_pixel.
499 (w32_clear_rect, w32_clear_area): Use background from frame.
500 (w32_display_info): Add terminal.
501 (w32_sys_ring_bell, x_delete_display): Declare here.
502
503 * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type.
504
505 * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k.
506
507 2007-08-29 Kalle Olavi Niemitalo <kon@iki.fi> (tiny change)
508
509 * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char):
510 Fix get_named_tty calls for the controlling tty.
511
512 2007-08-29 ARISAWA Akihiro <ari@mbf.ocn.ne.jp> (tiny change)
513
514 * term.c (dissociate_if_controlling_tty)[USG]: Fix parse error.
515
516 2007-08-29 Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp> (tiny change)
517
518 * term.c (tty_insert_glyphs): Add missing first parameter.
519
520 2007-08-29 Karoly Lorentey <karoly@lorentey.hu>
521
522 * buffer.c (Fbuffer_list, Fbury_buffer):
523 Take frame->buried_buffer_list into account.
524
525 * cm.c (current_tty): New variable, for cmputc().
526 (cmputc): Use it.
527 (cmcheckmagic): Add tty parameter, look up terminal streams there.
528 (calccost): Add tty parameter. Use emacs_tputs() instead of tputs().
529 (cmgoto): Add tty parameter. Pass it on to calccost().
530 Use emacs_tputs() instead of tputs().
531
532 * cm.h (emacs_tputs): New macro to set current_tty, and then call
533 tputs().
534 (current_tty): New variable, for cmputc().
535 (cmcheckmagic, cmputc, cmgoto): Add prototypes.
536
537 * eval.c (unwind_to_catch): Don't call x_fully_uncatch_errors.
538 (internal_condition_case, internal_condition_case_1)
539 (internal_condition_case_2): Don't abort when x_catching_errors.
540
541 * fns.c (Fyes_or_no_p): Don't try to open an X dialog on tty terminals.
542 (Fy_or_n_p): Likewise. Use temporarily_switch_to_single_kboard to
543 prevent crashes caused by bogus longjmps in read_char.
544
545 * keymap.h (Fset_keymap_parent): Add EXFUN.
546
547 * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
548 * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
549 Remove redundant definition.
550
551 * macfns.c (x_set_mouse_color, x_make_gc):
552 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
553
554 * w32term.c (x_free_frame_resources):
555 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
556 (w32_initialize): Use the accessor macros for terminal characteristics.
557
558 * macterm.c (mac_initialize): Use Fset_input_interrupt_mode.
559 Use the accessor macros for terminal characteristics.
560 * msdos.c (internal_terminal_init): Use the accessor macros for
561 terminal characteristics.
562 (ScreenVisualBell, internal_terminal_init):
563 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
564
565 * termopts.h (no_redraw_on_reenter): Declare.
566
567 * alloc.c (emacs_blocked_malloc): Disable mallopt call.
568 (mark_terminals, mark_ttys): Declare.
569 (Fgarbage_collect): Call them.
570 (mark_object): Mark buried_buffer_list.
571
572 * prefix-args.c: Include stdlib.h for exit.
573
574 * syssignal.h: Add comment.
575
576 * indent.c: Include stdio.h.
577
578 * window.h (Vinitial_window_system): Declare.
579 (Vwindow_system): Delete declaration.
580
581 * fontset.c (Finternal_char_font): Use FRAME_RIF.
582
583 * image.c (lookup_image): Don't initialize `c' until the xasserts
584 have been run.
585
586 * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and
587 FRAME_FOREGROUND_PIXEL.
588
589 * print.c (print_preprocess): Don't lose print_depth levels while
590 iterating.
591
592 * widget.c (update_from_various_frame_slots):
593 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
594
595 * window.c (set_window_buffer): Don't call clear_mouse_face on tty
596 frames.
597 (window_internal_height): Remove bogus make_number call.
598 (init_window_once): Call make_terminal_frame with two zero parameters.
599
600 * fileio.c (Fread_file_name): Update comment.
601
602 * callint.c (Fcall_interactively):
603 Use temporarily_switch_to_single_kboard instead of single_kboard_state.
604 Make sure it is correctly unwound.
605
606 * xsmfns.c (x_session_close): New function.
607
608 * coding.h (terminal_coding, safe_terminal_coding, keyboard_coding):
609 Delete declarations.
610
611 * xterm.h: Remove declaration for x_fully_uncatch_errors.
612 (x_output): Remove background_pixel and foreground_pixel fields.
613 (x_display_info): Add new field TERMINAL. Remove KBOARD field.
614 (x_delete_device):
615 (x_session_close): Declare.
616
617 * lread.c: Include setjmp.h. Update declaration of `read_char'.
618 (read_filtered_event): Call `read_char' with a local
619 `wrong_kboard_jmpbuf'.
620
621 * minibuf.c (read_minibuf): Call temporarily_switch_to_single_kboard.
622 Don't call single_kboard_state. Use FRAME_RIF.
623
624 * process.c (Fmake_network_process): Don't unrequest_sigio on modern
625 systems.
626
627 * lisp.h (set_process_environment): Rename to `set_global_environment'.
628 (Fframe_with_environment, Fset_input_meta_mode)
629 (Fset_quit_char): EXFUN.
630 (x_create_device, tty_output, terminal, tty_display_info): Declare.
631 (init_sys_modes, reset_sys_modes): Update prototypes.
632 (init_all_sys_modes, reset_all_sys_modes): New prototypes.
633
634 * keyboard.h (struct kboard): Add new fields Vlocal_function_key_map,
635 Vlocal_key_translation_map, and Vkeyboard_translate_table.
636 (Vfunction_key_map, Vkeyboard_translate_table, single_kboard_state):
637 Delete declarations.
638 (Vfunction_key_map, Vkey_translation_map, push_kboard, pop_kboard)
639 (temporarily_switch_to_single_kboard, tty_read_avail_input):
640 New declarations.
641
642 * emacs.c (main): Don't call init_sys_modes(), the new term_init()
643 already does that during init_display(). Call syms_of_keymap
644 before syms_of_keyboard. Call `syms_of_terminal'.
645 Call set_initial_environment, not set_process_environment.
646 (shut_down_emacs): Call reset_all_sys_modes() instead of
647 reset_sys_modes().
648
649 * xfaces.c (x_free_gc): Protect xassert with GLYPH_DEBUG.
650 (internal_resolve_face_name, resolve_face_name_error): New functions.
651 (resolve_face_name): Protect against loops and errors thrown by Fget.
652 (realize_default_face): Don't use FRAME_FONT unless frame is an X frame.
653 (Ftty_supports_face_attributes_p): Update tty_capable_p call.
654
655 * scroll.c: Replace CURTTY() with local variables throughout the
656 file (where applicable).
657 (calculate_scrolling, calculate_direct_scrolling)
658 (scrolling_1, scroll_cost): Use the accessor macros for terminal
659 characteristics.
660
661 * keymap.c (Vfunction_key_map): Remove.
662 (Fdescribe_buffer_bindings): Update references to Vfunction_key_map.
663 (syms_of_keymap): Remove DEFVAR for Vfunction_key_map.
664 (Vkey_translation_map): Remove.
665 (syms_of_keymap): Remove DEFVAR for key-translation-map.
666 (Fdescribe_buffer_bindings):
667 (read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards):
668 Update for terminal-local key-translation-map.
669
670 * Makefile.in (callproc.o): Update dependencies.
671 (lisp, shortlisp): Add termdev.elc.
672 (obj): Add terminal.o.
673 (terminal.o): Add dependencies.
674 [HAVE_CARBON]: Make terminal.o depend on macgui.h.
675 (data.o, fns.o): Add termhooks.h dependency.
676 (SOME_MACHINE_LISP): Add dnd.elc.
677 (minibuf.o): Fix typo.
678 Update dependencies.
679
680 * data.c (do_symval_forwarding, store_symval_forwarding)
681 (find_symbol_value): Use the selected frame's keyboard, not
682 current_kboard.
683
684 * .gdbinit (init_sys_modes): Use Vinitial_window_system instead of
685 Vwindow_system.
686
687 * xmenu.c (Fx_menu_bar_open) [USE_X_TOOLKIT, USE_GTK]: Rename from
688 Fmenu_bar_open.
689 (syms_of_xmenu): Update defsubr.
690 (mouse_position_for_popup, Fx_popup_menu)
691 (Fx_popup_dialog, x_activate_menubar, update_frame_menubar)
692 (set_frame_menubar, free_frame_menubar)
693 (create_and_show_popup_menu, xmenu_show, )
694 (create_and_show_dialog, xdialog_show, xmenu_show): Abort if not
695 an X frame.
696
697 * xselect.c (x_own_selection): Abort if not an X frame.
698 (some_frame_on_display): Check if it is an X frame.
699 (x_handle_selection_clear): Deal with MULTI_KBOARD.
700
701 * coding.c: Include frame.h and termhooks.h.
702 (terminal_coding, keyboard_coding): Delete.
703 (Fset_terminal_coding_system_internal):
704 (Fset_keyboard_coding_system_internal):
705 (Fkeyboard_coding_system):
706 (Fterminal_coding_system): Add a terminal parameter.
707 Get terminal_coding from the terminal.
708 (init_coding_once): Don't call setup_coding_system here.
709
710 * dispextern.h (set_scroll_region, turn_off_insert)
711 (turn_off_highlight, background_highlight, clear_end_of_line_raw)
712 (tty_clear_end_of_line, tty_setup_colors)
713 (delete_tty, updating_frame)
714 (produce_special_glyphs, produce_glyphs, write_glyphs)
715 (insert_glyphs): Remove.
716 (raw_cursor_to, clear_to_end, tty_turn_off_insert)
717 (tty_turn_off_highlight, get_tty_size): Add declaration.
718 (tabs_safe_p, init_baud_rate, get_tty_terminal): Update prototypes.
719
720 * frame.h (enum output_method): Add output_initial.
721 (struct x_output): Delete.
722 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
723 Access foreground_pixel and background_pixel directly from the frame.
724 (tty_display): Delete.
725 (struct frame): Add buried_buffer_list, foreground_pixel,
726 background_pixel and terminal. Delete kboard
727 (union output_data): Add tty.
728 (FRAME_KBOARD): Get the kboard from the terminal.
729 (FRAME_INITIAL_P): New macro.
730 (Qtty, Qtty_type, Qterminal, Qterminal_live_p, Qenvironment)
731 (Qterm_environment_variable, Qdisplay_environment_variable)
732 (make_terminal_frame, Qburied_buffer_list, Qwindow_system):
733 New declarations.
734
735 * termchar.h (tty_output, tty_display_info): New structures.
736 (tty_list): Declare.
737 (FRAME_TTY, CURTTY): New macros.
738 (must_write_spaces, min_padding_speed, fast_clear_end_of_line)
739 (line_ins_del_ok, char_ins_del_ok, scroll_region_ok)
740 (scroll_region_cost, memory_below_frame, fast_clear_end_of_line)
741 (dont_calculate_costs, no_redraw_on_reenter): Remove declarations.
742
743 * callproc.c: Include frame.h and termhooks.h, for terminal
744 parameters.
745 (add_env): New function.
746 (child_setup): Use it.
747 (child_setup, getenv_internal): Handle the new Vprocess_environment.
748 (getenv_internal): Fix get_terminal_param call.
749 (Fgetenv_internal, egetenv): Update doc.
750 (syms_of_callproc): Initialize Vprocess_environment to nil.
751 Register and initialize them. Remove obsolete defvars. Update doc
752 strings.
753 (child_setup): Handle Vlocal_environment_variables.
754 (getenv_internal): Add terminal parameter.
755 Handle Vlocal_environment_variables.
756 (Fgetenv_internal): Add terminal parameter.
757 (child_setup, getenv_internal, Fgetenv_internal): Store the local
758 environment in a frame (not terminal) parameter. Update doc strings.
759 (set_initial_environment): Rename from set_global_environment.
760 Store Emacs environment in initial frame parameter.
761
762 * xdisp.c (redisplay_internal): Update references to
763 `previous_terminal_frame'.
764 (display_mode_line, Fformat_mode_line): Replace calls to
765 `push_frame_kboard' with `push_kboard'.
766 (get_glyph_string_clip_rects): Add extra parentheses and
767 braces to prevent compiler warnings.
768 (calc_pixel_width_or_height): Add xassert to check that the
769 frame is alive. Don't call `lookup_image' on a termcap frame.
770 (message2_nolog, message3_nolog, redisplay_internal)
771 (set_vertical_scroll_bar, redisplay_window, check_x_display_info)
772 (x_set_scroll_bar_foreground, x_set_scroll_bar_background)
773 (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p)
774 (Fx_display_pixel_width, Fx_display_pixel_height)
775 (Fx_display_planes, Fx_display_color_cells)
776 (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
777 (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width)
778 (Fx_display_backing_store, Fx_display_visual_class)
779 (Fx_display_save_under, Fx_close_connection, x_create_tip_frame):
780 Use FRAME_TERMINAL_P, FRAME_WINDOW_P, FRAME_TTY and FRAME_RIF.
781
782 * xfns.c (x_set_foreground_color x_set_background_color)
783 (x_set_mouse_color, x_set_cursor_color, x_make_gc):
784 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
785 (Fx_create_frame, x_create_tip_frame, build_string, x_window)
786 (Fx_create_frame, x_create_tip_frame): Don't create frames on a
787 terminal that is being deleted.
788 (Fx_create_frame): Use `store_frame_param' to set `window-system'
789 frame parameter, and make sure it overrides any user-supplied setting.
790 (Fx_close_connection, Fx_synchronize): Unify argument names with
791 the rest of the DEFUNs.
792
793 * dispnew.c (Fsend_string_to_terminal): Update call to
794 `get_tty_terminal'.
795 (Fredraw_frame, Fsend_string_to_terminal)
796 (Fsend_string_to_terminal, init_display): Use FRAME_RIF,
797 FRAME_TERMCAP_P and FRAME_TTY.
798 (window_change_signal): Don't believe width/height values that are
799 impossibly small.
800 (Vinitial_window_system): Rename from Vwindow_system.
801 (termscript, Wcm, rif): Delete.
802
803 * termhooks.h (struct terminal): New struct containing the
804 previously global text display hooks and new members NAME,
805 DELETED and PARAM_ALIST.
806 (FRAME_TERMINAL, TERMINAL_TERMINAL_CODING)
807 (TERMINAL_KEYBOARD_CODING, TERMINAL_ACTIVE_P, FRAME_WINDOW_P)
808 (FRAME_RIF): New macros.
809 (get_terminal_param, get_device): New declarations.
810 (termscript): Delete declaration.
811
812 * xterm.c (x_initialize): Use Fset_input_interrupt_mode.
813 (XTflash, x_free_frame_resources, x_scroll_bar_create)
814 (x_scroll_bar_set_handle): Use FRAME_BACKGROUND_PIXEL and
815 FRAME_FOREGROUND_PIXEL.
816 (x_fully_uncatch_errors): Disable definition.
817 (x_scroll_bar_expose): Fix reference to foreground pixel.
818 (XTread_socket): Disable loop on all X displays.
819 (x_delete_terminal): Don't set terminal->deleted and let
820 delete_terminal delete the frames on the terminal.
821 (x_delete_display): Doc update to reflect changes in
822 delete_terminal.
823 (x_display_info) <terminal>: Move member earlier in the struct.
824 (deleting_tty): Remove old variable.
825 (Fsuspend_tty): Call clear_tty_hooks.
826 (Fresume_tty, init_tty): Call set_tty_hooks.
827 (Ftty_display_color_p, Ftty_display_color_cells): Don't throw
828 errors on X frames.
829 (x_catch_errors_unwind): Abort if x_error_message is NULL.
830 (handle_one_xevent): Initialize `f' to NULL.
831 (x_delete_terminal, x_create_terminal): New functions.
832 (XTset_terminal_modes, XTreset_terminal_modes)
833 (XTread_socket, x_connection_closed, x_term_init)
834 (x_term_init, x_delete_display): Add terminal parameter.
835 (x_term_init) [!HAVE_GTK_MULTIDISPLAY]: Refuse to create secondary
836 X connections.
837
838 * frame.c (Fframep): Deal with output_initial.
839 (Qbuffer_predicate, Qbuffer_list, Qburied_buffer_list, Qtty)
840 (Qtty_type, Qwindow_system, Qenvironment)
841 (Qterm_environment_variable, Qdisplay_environment_variable): New vars.
842 (x_set_screen_gamma, store_frame_param): Fix compilation errors.
843 (make_terminal_frame): Don't create frames on a terminal that is
844 being deleted.
845 (make_terminal_frame): Use FRAME_BACKGROUND_PIXEL and
846 FRAME_FOREGROUND_PIXEL.
847 (store_frame_param): Check for found_for_frame before calling XFRAME.
848 (Fmake_terminal_frame): Handle NULL tty names correctly.
849 (syms_of_frame): Enhance doc string of `default-frame-alist'.
850 (Fdelete_frame): Remove unused variable `count'.
851 (Qenvironment): New variable.
852 (Fdelete_frame): Don't allow other frames to refer to a deleted
853 frame in their 'environment parameter.
854 (Fframe_with_environment): New function.
855 (syms_of_frame): Defsubr it. Initialize and staticpro Qenvironment.
856 (get_future_frame_param): New function.
857 (Fmake_terminal_frame): Use it.
858 (x_set_frame_parameters, x_set_screen_gamma): Use FRAME_RIF.
859
860 * sysdep.c (init_sys_modes, reset_sys_modes): Update for renames.
861 * sysdep.c (reset_sys_modes): Update for renames.
862
863 * keyboard.c (tty_read_avail_input): New function.
864 (Fset_input_interrupt_mode, Fset_output_flow_control): New functions.
865 (syms_of_keyboard): Defsubr them.
866 (Fset_input_meta_mode, Fset_quit_char): New functions.
867 (Fset_input_mode): Split to above functions.
868
869 (read_char_minibuf_menu_prompt): Add wrong_kboard_jmpbuf
870 parameter. Use it in call to `read_char'.
871 (read_char): Declare. Update call to `read_char_minibuf_menu_prompt'.
872 Set wrong_kboard_jmpbuf correctly in recursive calls.
873 Use current_kboard to access Vkeyboard_translate_table.
874 Enhance comment before extra longjmp to wrong_kboard_jmpbuf.
875 Add wrong_kboard_jmpbuf parameter to allow for recursive calls.
876 Update longjmp invocations. Remember the original current_kboard,
877 and longjmp to `wrong_kboard_jmpbuf' when a filter, timer or sentinel
878 changes it. Comment out unnecessary calls to
879 `record_single_kboard_state' and `any_kboard_state'.
880 Update recursive calls.
881 (wrong_kboard_jmpbuf): Remove global variable.
882 (read_key_sequence): Remove unused variable wrong_kboard_jmpbuf.
883 Handle deleted interrupted_kboards correctly; that is a legal
884 case. Add `wrong_kboard_jmpbuf' local variable. Update setjmp
885 and read_char calls. Abort if interrupted_kboard died in read_char.
886 (any_kboard_state, single_kboard_state)
887 (push_frame_kboard): Remove function.
888 (pop_kboard): Switch out of single_kboard mode if the kboard has
889 been deleted. Remove unused variable. Help debugging by not
890 changing current_kboard unnecessarily. Set current_kboard to the
891 kboard of the selected frame when the stored kboard object has
892 been deleted before pop_kboard.
893 (temporarily_switch_to_single_kboard): Change first parameter to a
894 frame pointer. Throw an error when caller wants to change kboards
895 while in single_kboard mode. Don't push_kboard if we weren't in
896 single kboard state. Don't pop_kboard if we popped into any
897 kboard state.
898 (restore_kboard_configuration): Abort if pop_kboard changed the
899 kboard in single_kboard mode. Call pop_kboard only after setting
900 up single_kboard mode.
901 (Frecursive_edit): Switch to single_kboard mode only in nested
902 command loops.
903 (cmd_error, command_loop, command_loop_1, timer_check):
904 Comment out unnecessary call to `any_kboard_state' and
905 `record_single_kboard_state'.
906 (delete_kboard): Exit single_kboard mode if we have just deleted
907 that kboard. Use FRAME_KBOARD.
908 (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not
909 `fatal_error_signal'.
910 (record_single_kboard_state): Don't push_kboard if we weren't in
911 single kboard state. Don't pop_kboard if we popped into any
912 kboard state.
913 (push_frame_kboard): Rename to push_kboard.
914 (kbd_buffer_get_event): Use FRAME_TERMINAL.
915 (read_avail_input): Read input from all terminals.
916 (mark_kboards): Also mark Vkeyboard_translate_table.
917 (kbd_buffer_store_event_hold): Simplify condition.
918 (read_key_sequence): Reinitialize fkey and keytran at each replay.
919 (Vkeyboard_translate_table): Move to struct kboard.
920 (init_kboard): Initialize Vkeyboard_translate_table.
921 (syms_of_keyboard): Use DEFVAR_KBOARD to define
922 Vkeyboard_translate_table. Update doc strings. Update docs of
923 local-function-key-map and function-key-map.
924
925 * terminal.c: New file.
926
927 * term.c: Include errno.h.
928 (Vring_bell_function, device_list, initial_device)
929 (next_device_id, ring_bell, update_begin, update_end)
930 (set_terminal_window, cursor_to, raw_cursor_to)
931 (clear_to_end, clear_frame, clear_end_of_line)
932 (write_glyphs, insert_glyphs, delete_glyphs, ins_del_lines)
933 (Fdisplay_name, create_device, delete_device): Move to terminal.c.
934 (syms_of_term): Move their initialization to terminal.c.
935 (get_tty_terminal, Fdisplay_tty_type, Ftty_display_color_p)
936 (Ftty_display_color_cells)
937 (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output)
938 (clear_tty_hooks, set_tty_hooks)
939 (init_tty, maybe_fatal): New functions.
940 (Ftty_type): Return nil if terminal is not on a tty instead of
941 throwing an error. Doc update.
942 (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>:
943 Doc update. Initialize new subrs and variables.
944 (delete_tty): Use terminal->deleted.
945 (tty_set_terminal_modes): Rename from set_terminal_modes.
946 (tty_reset_terminal_modes): Rename from reset_terminal_modes.
947 (set_scroll_region): Rename to `tty_set_scroll_region'.
948 (turn_on_insert): Rename to `tty_turn_on_insert'.
949 (turn_off_insert): Rename to `tty_turn_off_insert'.
950 (turn_off_highlight): Rename to `tty_turn_off_highlight'.
951 (turn_on_highlight): Rename to `tty_turn_on_highlight'.
952 (toggle_highligh): Rename to `tty_toggle_highlight'.
953 (background_highlight): Rename to `tty_background_highlight'.
954 (highlight_if_desired): Rename to `tty_highlight_if_desired'.
955 (tty_ring_bell, tty_update_end, tty_set_terminal_window)
956 (tty_set_scroll_region, tty_background_highlight)
957 (tty_cursor_to, tty_raw_cursor_to, tty_clear_to_end)
958 (tty_clear_frame, tty_clear_end_of_line, tty_write_glyphs)
959 (tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines)
960 (term_get_fkeys, tty_setup_colors, dissociate_if_controlling_tty):
961 Add static modifier.
962 (tty_reset_terminal_modes, tty_set_terminal_window)
963 (tty_set_scroll_region, tty_background_highlight)
964 (tty_highlight_if_desired, tty_cursor_to)
965 (tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame)
966 (tty_clear_end_of_line, tty_write_glyphs, tty_insert_glyphs)
967 (tty_delete_glyphs, tty_ins_del_lines, turn_on_face): Update for
968 renames.
969
970 2007-08-28 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
971
972 * keyboard.c: Qrtl is new.
973 (parse_tool_bar_item): Handle :rtl keyword.
974 (syms_of_keyboard): Intern :rtl keyword.
975
976 * dispextern.h (enum tool_bar_item_idx): Add TOOL_BAR_ITEM_RTL_IMAGE.
977
978 * gtkutil.c (xg_tool_bar_expose_callback): Just do SET_FRAME_GARBAGED
979 so no Lisp code is executed.
980 (file_for_image, find_rtl_image): New functions.
981 (xg_get_image_for_pixmap): Use file_for_image
982 (update_frame_tool_bar): If direction is RTL, use RTL image if
983 defined. Use Gtk stock images if defined.
984
985 2007-08-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
986
987 * macterm.c (x_draw_composite_glyph_string_foreground): Draw rectangle
988 for nonexistent or zero-width glyph in composition glyph.
989
990 2007-08-25 Stefan Monnier <monnier@iro.umontreal.ca>
991
992 * m/amdx86-64.h: Redirect to intel386.h if compiling for i386.
993
994 * xdisp.c (Finvisible_p): New function.
995 (syms_of_xdisp): defsubr it.
996
997 2007-08-24 Juanma Barranquero <lekktu@gmail.com>
998
999 * image.c (syms_of_image) <image-library-alist, cross-disabled-images>:
1000 Doc fixes.
1001
1002 2007-08-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1003
1004 * mac.c [MAC_OSX] (select_and_poll_event, sys_select): Fix last changes.
1005
1006 2007-08-24 Martin Rudalics <rudalics@gmx.at>
1007
1008 * fileio.c (Finsert_file_contents): Consult CHARS_MODIFF to tell
1009 whether decoding has modified buffer contents.
1010
1011 2007-08-24 Jason Rumney <jasonr@gnu.org>
1012
1013 * image.c [HAVE_NTGUI]: Define dynamic loaded functions for SVG.
1014 (Qgdk_pixbuf, Qglib) [HAVE_NTGUI]: New symbols.
1015 (syms_of_image) [HAVE_NTGUI]: Intern and staticpro them.
1016 (init_svg_functions) [HAVE_NTGUI]: New function.
1017 (fn_g_type_init, fn_g_object_unref, fn_g_error_free): New #defines.
1018 (svg_load_image): Use them.
1019 (svg_load_image) [HAVE_NTGUI]: Implement background.
1020
1021 2007-08-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1022
1023 * Makefile.in (RSVG_LIBS, RSVG_CFLAGS): New variables.
1024 (ALL_CFLAGS): Use ${RSVG_CFLAGS} instead of @RSVG_CFLAGS@.
1025 (LIBX): Remove @RSVG_LIBS@.
1026 (LIBES): Add $(RSVG_LIBS).
1027
1028 * image.c (svg_load_image): Blend with specified background if exists.
1029 Use IMAGE_BACKGROUND. Add Mac OS Support.
1030
1031 * mac.c (wakeup_from_rne_enabled_p) [MAC_OSX]: Remove variable.
1032 (ENABLE_WAKEUP_FROM_RNE, DISABLE_WAKEUP_FROM_RNE) [MAC_OSX]:
1033 Remove macros.
1034 [MAC_OSX] (socket_callback): Do nothing.
1035 [MAC_OSX] (select_and_poll_event): Use CFRunLoopRunInMode instead of
1036 ReceiveNextEvent.
1037 [MAC_OSX] (sys_select): Likewise. Don't set context as argument to
1038 socket_callback.
1039 (mac_wakeup_from_rne) [MAC_OSX]: Do nothing.
1040
1041 2007-08-22 Glenn Morris <rgm@gnu.org>
1042
1043 * image.c (x_find_image_file): Search in etc/images/ rather than etc/.
1044
1045 2007-08-22 Paul Pogonyshev <pogonyshev@gmx.net>
1046
1047 * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS.
1048
1049 * image.c: Add support for SVG images. Some additional comments
1050 by Joakim Verona <joakim@verona.se>. When HAVE_RSVG is defined:
1051 (svg_image_p): New function to test for SVG image.
1052 (svg_load): New function to load SVG image.
1053 (svg_load_image): New function, helper for svg_load.
1054 (Qsvg): New Lisp_object.
1055 (svg_keyword_index): New enum.
1056 (svg_format): New static `image_keyword' struct.
1057 (svg_type): New static `image_type' struct.
1058 (librsvg/rsvg.h): Include it.
1059
1060 2007-08-23 Stefan Monnier <monnier@iro.umontreal.ca>
1061
1062 * lread.c (load_warn_old_style_backquotes): Fix up array size typo.
1063
1064 2007-08-22 Stefan Monnier <monnier@iro.umontreal.ca>
1065
1066 * lread.c (Qold_style_backquotes): New var.
1067 (syms_of_lread): Init and staticpro it.
1068 (load_warn_old_style_backquotes): New fun.
1069 (Fload): Use them to warn about old style backquotes.
1070 (end_of_file_error, Fload): Remove unused vars.
1071
1072 * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare.
1073
1074 * lread.c (Vold_style_backquotes): New var.
1075 (syms_of_lread): Init and export it to Elisp.
1076 (read1): Set it when we find an old-style (back)quote.
1077
1078 2007-08-22 Jason Rumney <jasonr@gnu.org>
1079
1080 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator.
1081
1082 2007-08-22 Katsumi Yamaoka <yamaoka@jpl.org>
1083
1084 * puresize.h (BASE_PURESIZE): Increase to 1140000.
1085
1086 2007-08-19 Richard Stallman <rms@gnu.org>
1087
1088 * eval.c (Ffunction, Fquote): Signal error if not 1 argument.
1089
1090 2007-08-19 Andreas Schwab <schwab@suse.de>
1091
1092 * alloc.c (pure): Round PURESIZE up.
1093
1094 2007-08-17 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1095
1096 * xterm.c (handle_one_xevent): Remove check that mouse click is in
1097 active frame.
1098
1099 2007-08-16 Richard Stallman <rms@gnu.org>
1100
1101 * eval.c (Fcommandp): Add parens to clarify.
1102
1103 * minibuf.c (Fall_completions): Use enum for type of table.
1104
1105 * emacs.c (USAGE2): Improve text.
1106
1107 2007-08-15 Philippe Waroquiers <philippe.waroquiers@eurocontrol.int>
1108
1109 * term.c (tty_default_color_capabilities): Declare static
1110 variables in file scope, to avoid HPUX compiler problem.
1111
1112 2007-08-13 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1113
1114 * gtkutil.c (update_frame_tool_bar): Use -1 as index
1115 to gtk_toolbar_insert.
1116
1117 2007-08-13 Stefan Monnier <monnier@iro.umontreal.ca>
1118
1119 * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup.
1120
1121 * insdel.c (reset_var_on_error): New fun.
1122 (signal_before_change, signal_after_change):
1123 Use it to reset (after|before)-change-functions to nil in case of error.
1124 Bind inhibit-modification-hooks to t.
1125 Don't bind (after|before)-change-functions to nil while they run.
1126
1127 2007-08-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1128
1129 * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when
1130 filling pixmap with stippled background.
1131
1132 2007-08-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1133
1134 * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event):
1135 Don't use invisible frame as parent window for repositioning.
1136
1137 2007-08-10 Stefan Monnier <monnier@iro.umontreal.ca>
1138
1139 * print.c (new_backquote_output): Rename from old_backquote_output.
1140 (print): Inverse its logic (according to its name) so as to match the
1141 behavior of new_backquote_flag in lread.c.
1142
1143 2007-08-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1144
1145 * gmalloc.c (posix_memalign): New function.
1146
1147 * macterm.c (frame_highlight, frame_unhighlight): Don't call
1148 ActivateControl/DeactivateControl here.
1149 [USE_MAC_TOOLBAR] (free_frame_tool_bar): Suppress animation when
1150 frame-notice-user-settings is non-nil.
1151 [USE_MAC_FONT_PANEL] (mac_handle_font_event): Also record parameter
1152 for kEventParamFMFontStyle.
1153 [TARGET_API_MAC_CARBON] (mac_handle_keyboard_event): Don't check
1154 mac_pass_command_to_system and mac_pass_control_to_system here.
1155 (XTread_socket): Call ActivateControl/DeactivateControl here.
1156 (XTread_socket) [TARGET_API_MAC_CARBON]:
1157 Check mac_pass_command_to_system and mac_pass_control_to_system here.
1158 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Add further workaround
1159 for window repositioning.
1160
1161 2007-08-08 Glenn Morris <rgm@gnu.org>
1162
1163 * Replace `iff' in doc-strings and comments.
1164
1165 2007-08-07 Chong Yidong <cyd@stupidchicken.com>
1166
1167 * xdisp.c (move_it_by_lines): Remove incorrect optimization.
1168
1169 2007-08-07 Martin Rudalics <rudalics@gmx.at>
1170
1171 * fileio.c (Finsert_file_contents): Run format-decode and
1172 after_insert_file_functions on entire buffer when REPLACE is
1173 non-nil and inhibit modification_hooks and point_motion_hooks.
1174 For consistency, run after_insert_file_functions iff something
1175 got inserted. Move signal_after_change and update_compositions
1176 after code running after_insert_file_functions. Make sure that
1177 undo_list doesn't record intermediate steps of the decoding process.
1178
1179 2007-08-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1180
1181 * emacs.c (main)
1182 [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
1183 Call malloc_enable_thread on interactive startup.
1184
1185 * gmalloc.c (_malloc_thread_enabled_p) [USE_PTHREAD]: New variable.
1186 (LOCK, UNLOCK, LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS)
1187 [USE_PTHREAD]: Conditionalize with it.
1188 (malloc_atfork_handler_prepare, malloc_atfork_handler_parent)
1189 (malloc_atfork_handler_child, malloc_enable_thread) [USE_PTHREAD]:
1190 New functions.
1191
1192 2007-08-06 Chong Yidong <cyd@stupidchicken.com>
1193
1194 * xdisp.c (redisplay_window): When restoring original buffer
1195 position, make sure it is still valid.
1196
1197 * image.c (png_load): Ignore png-supplied background color.
1198
1199 2007-08-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1200
1201 * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value.
1202 Use kCFAbsoluteTimeIntervalSince1970.
1203
1204 * macmenu.c (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]:
1205 New variable.
1206 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Set it if dialog
1207 event loop should be quit.
1208 [TARGET_API_MAC_CARBON] (create_and_show_dialog) [!MAC_OSX]:
1209 Quit dialog event loop if quit_dialog_event_loop is set.
1210
1211 * macselect.c [!TARGET_API_MAC_CARBON]: Include Scrap.h.
1212 (Selection): New typedef. Use instead of ScrapRef.
1213 (mac_get_selection_from_symbol): Rename from get_scrap_from_symbol.
1214 (mac_valid_selection_target_p): Rename from valid_scrap_target_type_p.
1215 (mac_clear_selection): Rename from clear_scrap.
1216 (get_flavor_type_from_symbol): New argument SEL and subsume function of
1217 scrap_has_target_type. All uses changed.
1218 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
1219 (mac_selection_has_target_p): New functions.
1220 (mac_put_selection_value): Rename from put_scrap_string.
1221 (mac_get_selection_value): Rename from get_scrap_string.
1222 (mac_get_selection_target_list): Rename from get_scrap_target_type_list.
1223 (put_scrap_private_timestamp, scrap_has_target_type)
1224 (get_scrap_private_timestamp): Remove functions.
1225 (SCRAP_FLAVOR_TYPE_EMACS_TIMESTAMP): Remove define.
1226 (x_own_selection, x_get_local_selection):
1227 Use mac_valid_selection_value_p.
1228 (x_own_selection): Don't use put_scrap_private_timestamp.
1229 Record OWNERSHIP-INFO into Vselection_alist instead.
1230 (x_get_local_selection): Don't check type if request is local.
1231 (Fx_selection_owner_p): Don't use get_scrap_private_timestamp.
1232 Detect ownership change with OWNERSHIP-INFO in Vselection_alist instead.
1233
1234 2007-08-04 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1235
1236 * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s,
1237 add comment explaining why.
1238
1239 2007-08-03 Richard Stallman <rms@gnu.org>
1240
1241 * fileio.c (Fvisited_file_modtime): Use make_time.
1242
1243 2007-08-01 Ryo Yoshitake <ryo@shiftmode.net> (tiny change)
1244
1245 * mac.c (init_mac_osx_environment): Adjust load-path on self-contained
1246 build.
1247
1248 2007-07-31 Stefan Monnier <monnier@iro.umontreal.ca>
1249
1250 * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT.
1251
1252 2007-07-30 Katsumi Yamaoka <yamaoka@jpl.org>
1253
1254 * puresize.h (BASE_PURESIZE): Increase to 1130000.
1255
1256 2007-07-30 Richard Stallman <rms@gnu.org>
1257
1258 * lread.c (readevalloop, read1): Treat NBSP as whitespace.
1259
1260 2007-07-29 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1261
1262 * gmalloc.c (__malloc_initialize): Remove pthread_once. Not needed.
1263
1264 2007-07-28 Nick Roberts <nickrob@snap.net.nz>
1265
1266 * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for
1267 remote default-directory.
1268
1269 * buffer.c (mode-line-format): Update doc string.
1270
1271 2007-07-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1272
1273 * w32term.c (w32_draw_fringe_bitmap): Extend fringe background to
1274 scroll bar gap.
1275 (x_scroll_bar_create): Set bar->fringe_extended_p.
1276 (w32_set_vertical_scroll_bar): Put leftmost/rightmost scroll bars
1277 on frame edge. Check fringe background extension. Don't clear
1278 extended fringe background area.
1279
1280 * w32term.h (struct scroll_bar): New member fringe_extended_p.
1281 (w32_fill_area): Enclose multiple statements with do ... while (0).
1282
1283 * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]:
1284 Extend fringe background to scroll bar gap.
1285 (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]:
1286 Set bar->fringe_extended_p.
1287 (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
1288 Put leftmost/rightmost scroll bars on frame edge. Check fringe
1289 background extension. Don't clear extended fringe background area.
1290
1291 * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
1292 New member fringe_extended_p.
1293
1294 2007-07-25 Glenn Morris <rgm@gnu.org>
1295
1296 * Relicense all FSF files to GPLv3 or later.
1297
1298 * COPYING: Switch to GPLv3.
1299
1300 2007-07-25 Stefan Monnier <monnier@iro.umontreal.ca>
1301
1302 * eval.c (Fcommandp): Pay attention to the `interactive-form' property.
1303
1304 * data.c (Finteractive_form): Check for the presence of an
1305 `interactive-form' symbol property more thoroughly.
1306
1307 * data.c (Finteractive_form): Use an `interactive-form' property if
1308 present, analogous to the function-documentation property.
1309
1310 2007-07-24 Jason Rumney <jasonr@gnu.org>
1311
1312 * w32fns.c (x_real_positions): Get real position from OS instead of
1313 calculating it.
1314
1315 2007-07-23 Jason Rumney <jasonr@gnu.org>
1316
1317 * filelock.c (current_lock_owner): Allow for @ sign in username.
1318
1319 2007-07-22 Nick Roberts <nickrob@snap.net.nz>
1320
1321 * xdisp.c (decode_mode_spec): Add case 'R' for to test for
1322 remote default-directory.
1323
1324 * buffer.c (mode-line-format): Describe above case in doc string.
1325
1326 2007-07-20 Eli Zaretskii <eliz@gnu.org>
1327
1328 * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):
1329 Define if not defined.
1330
1331 2007-07-18 Jason Rumney <jasonr@gnu.org>
1332
1333 * w32proc.c (w32_executable_type): Handle 64 bit executables.
1334
1335 2007-07-18 Richard Stallman <rms@gnu.org>
1336
1337 * data.c (Fsetq_default): Doc fix.
1338
1339 * eval.c (Fsetq): Doc fix.
1340
1341 2007-07-18 Juanma Barranquero <lekktu@gmail.com>
1342
1343 * coding.c (Ffind_operation_coding_system):
1344 * eval.c (For, Fand): Doc fixes.
1345 Reported by Johan Bockg\e,Ae\e(Brd.
1346
1347 2007-07-18 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1348
1349 * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame.
1350
1351 * xterm.h: Declare x_ewmh_activate_frame.
1352
1353 * xterm.c (x_ewmh_activate_frame): New function.
1354 (XTframe_raise_lower): Move code to x_ewmh_activate_frame.
1355
1356 2007-07-17 Martin Rudalics <rudalics@gmx.at>
1357
1358 * window.c (Fdisplay_buffer): If largest or LRU window is the
1359 only window, split it even if it is not eligible for splitting.
1360 This restores the original behavior broken by the 2007-07-15
1361 change.
1362
1363 2007-07-17 Glenn Morris <rgm@gnu.org>
1364
1365 * abbrev.c (abbrev_check_chars): New function.
1366 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
1367 Call abbrev_check_chars to check abbrev characters are word
1368 constituents. Doc fix.
1369
1370 2007-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
1371
1372 * process.c (Fstart_process, Fmake_network_process)
1373 (read_process_output): Fix up last changes.
1374
1375 2007-07-16 Eli Zaretskii <eliz@gnu.org>
1376
1377 * makefile.w32-in (clean): Don't delete *~.
1378
1379 2007-07-16 Andreas Schwab <schwab@suse.de>
1380
1381 * window.c (Fdisplay_buffer): Use NILP.
1382 (Fset_window_scroll_bars): Likewise.
1383
1384 2007-07-15 Martin Rudalics <rudalics@gmx.at>
1385
1386 * window.c (window_min_size_2): New function.
1387 (window_min_size_1, size_window, Fdisplay_buffer)
1388 (Fsplit_window, adjust_window_trailing_edge): Use it to avoid
1389 windows without mode- or header-lines when window-min-height is
1390 too small.
1391 (size_window): Reset nodelete_p after testing it, following an
1392 earlier note by Kim F. Storm.
1393 (display_buffer): Do not set split_height_threshold to twice the
1394 value of window_min_height to avoid changing the value of a
1395 customizable variable. Rather explicitly check whether the
1396 height of the window that shall be splitted is at least as large
1397 as split_height_threshold.
1398
1399 2007-07-14 Jason Rumney <jasonr@gnu.org>
1400
1401 * process.c [WINDOWSNT]: Don't undefine AF_INET6.
1402
1403 2007-07-14 Richard Stallman <rms@gnu.org>
1404
1405 * eval.c (maybe_call_debugger): New function.
1406 (find_handler_clause): Use maybe_call_debugger.
1407 Call it when the handler says `debug'.
1408 Eliminate DEBUGGER_VALUE_PTR.
1409 (Fsignal): Eliminate debugger_value.
1410 (Qdebug): New variable.
1411 (syms_of_eval): Initialize it.
1412
1413 2007-07-14 Juanma Barranquero <lekktu@gmail.com>
1414
1415 * eval.c (Fprogn):
1416 * keyboard.c (Ftrack_mouse):
1417 * print.c (Fwith_output_to_temp_buffer):
1418 * window.c (Fsave_window_excursion): Doc fix.
1419
1420 2007-07-13 Stefan Monnier <monnier@iro.umontreal.ca>
1421
1422 * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400.
1423
1424 2007-07-12 Stefan Monnier <monnier@iro.umontreal.ca>
1425
1426 * process.h (struct Lisp_Process): Turn slots infd, outfd,
1427 kill_without_query, pty_flag, tick, update_tick, decoding_carryover,
1428 inherit_coding_system_flag, filter_multibyte, adaptive_read_buffering,
1429 read_output_delay, and read_output_skip from Lisp_Objects to ints.
1430 Remove unused encoding_carryover.
1431 * process.c: Adjust all functions accordingly.
1432
1433 2007-07-12 Richard Stallman <rms@gnu.org>
1434
1435 * term.c: Include unistd.h only if HAVE_UNISTD_H.
1436
1437 2007-07-11 Jason Rumney <jasonr@gnu.org>
1438
1439 * makefile.w32-in (LIBS): Include OLE32.
1440
1441 * w32fns.c (w32_msg_pump) <WM_EMACS_CREATEWINDOW>: Initialize COM.
1442 (w32_msg_pump) <WM_DESTROY>: Uninitialize COM.
1443
1444 2007-07-11 Stefan Monnier <monnier@iro.umontreal.ca>
1445
1446 * lisp.h (struct Lisp_Hash_Table): Turn next_weak into a bare pointer.
1447 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and turned
1448 from a Lisp_Object into a bare pointer.
1449 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
1450 Adjust the code correspondingly.
1451
1452 * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'.
1453
1454 * term.c: Include unistd.h for ttyname, used in handle_one_term_event.
1455 (term_show_mouse_face): Remove unused var `j'.
1456 (handle_one_term_event): Remove unused vars `i' and `j'.
1457 Don't cast return value of ttyname since it's not necessary.
1458
1459 2007-07-10 Stefan Monnier <monnier@iro.umontreal.ca>
1460
1461 * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using
1462 USE_LSB_TAG. Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
1463
1464 * fns.c (map_char_table): Use an array of int for `indices' rather than
1465 an array of Lisp_Objects (which are only ever integers anyway).
1466 (Fmap_char_table): Update caller.
1467 * lisp.h: Update prototype.
1468 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap):
1469 * fontset.c (Ffontset_info):
1470 * casetab.c (set_case_table): Update callers.
1471
1472 * editfns.c (Ftranspose_regions): Use EMACS_INT for positions.
1473
1474 * keymap.c (struct accessible_keymaps_data)
1475 (struct where_is_internal_data): New structures.
1476 (accessible_keymaps_1, where_is_internal_1): Use them to change
1477 interface to adhere to the one used by map_keymap.
1478 (Faccessible_keymaps, where_is_internal): Use map_keymap.
1479 (accessible_keymaps_char_table, where_is_internal_2): Remove.
1480
1481 * keymap.h (map_keymap_function_t): More informative prototype.
1482
1483 2007-07-10 Guanpeng Xu <herberteuler@hotmail.com>
1484
1485 * search.c (Vinhibit_changing_match_data, search_regs_1): New vars.
1486 (looking_at_1): Don't change search_regs and last_thing_searched
1487 if `inhibit-changing-match-data' is non-nil.
1488 (string_match_1, search_buffer, set_search_regs): Likewise.
1489 (syms_of_search): Add Lisp level definition for
1490 `inhibit-changing-match-data' and set it to nil.
1491 (boyer_moore): If `inhibit-changing-match-data' is non-nil, compute
1492 start and end of the match, instead of using values in search_regs.
1493
1494 2007-07-01 Stefan Monnier <monnier@iro.umontreal.ca>
1495
1496 * minibuf.c (Fcompleting_read): New value `confirm-only'
1497 for `require-match'.
1498
1499 2007-06-28 Stefan Monnier <monnier@iro.umontreal.ca>
1500
1501 * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as
1502 part of the 2007-06-27 change to syms_of_fileio.
1503
1504 2007-06-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1505
1506 * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event):
1507 Check WINDOWP before using XWINDOW. Consolidate return statements.
1508
1509 2007-06-27 Richard Stallman <rms@gnu.org>
1510
1511 * fileio.c (syms_of_fileio) <after-insert-file-functions>: Doc fix.
1512
1513 2007-06-27 Juanma Barranquero <lekktu@gmail.com>
1514
1515 * buffer.c (syms_of_buffer) <selective-display>: Fix typo in docstring.
1516
1517 2007-06-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1518
1519 * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Check this after including config.h.
1520 (_aligned_blocks_mutex) [USE_PTHREAD]: New variable.
1521 (LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS): New macros.
1522 (_free_internal, memalign): Use them.
1523 (_malloc_mutex, _aligned_blocks_mutex) [USE_PTHREAD]:
1524 Initialize to PTHREAD_MUTEX_INITIALIZER.
1525 (malloc_initialize_1) [USE_PTHREAD]: Don't use recursive mutex.
1526 (morecore_nolock): Rename from morecore. All uses changed.
1527 Use only nolock versions of internal allocation functions.
1528 (_malloc_internal_nolock, _realloc_internal_nolock)
1529 (_free_internal_nolock): New functions created from
1530 _malloc_internal, _realloc_internal, and _free_internal.
1531 (_malloc_internal, _realloc_internal, _free_internal): Use them.
1532 Copy hook value to automatic variable before its use.
1533 (memalign): Copy hook value to automatic variable before its use.
1534
1535 2007-06-26 Kenichi Handa <handa@m17n.org>
1536
1537 * coding.c (Ffind_operation_coding_system): Docstring improved.
1538 (syms_of_coding): Docstring of `file-coding-system-alist' improved.
1539
1540 2007-06-25 David Kastrup <dak@gnu.org>
1541
1542 * keymap.c (Fcurrent_active_maps): Add `position' argument.
1543 (Fwhere_is_internal): Adjust call to `current-active-maps' to
1544 cater for additional parameter.
1545
1546 * keymap.h: Adjust number of parameters to `current-active-maps'.
1547
1548 * doc.c (Fsubstitute_command_keys): Adjust call of
1549 `current-active-maps'.
1550
1551 2007-06-25 David Kastrup <dak@gnu.org>
1552
1553 * callint.c (Fcall_interactively): Make the parsing of interactive
1554 specs somewhat more readable.
1555
1556 2007-06-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1557
1558 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe background
1559 to scroll bar gap also when bitmap fills fringe. Draw only foreground
1560 if extended background has already been filled.
1561
1562 2007-06-22 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1563
1564 * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI.
1565 (USE_MAC_TOOLBAR): Require USE_CG_DRAWING.
1566
1567 * macmenu.c (mac_dialog_modal_filter, Fx_popup_dialog) [MAC_OSX]:
1568 Put special treatment for Fmessage_box, Fyes_or_no_p, and Fy_or_n_p
1569 in #if 0 as it is not compatible with y-or-n-p-with-timeout.
1570 (timer_check) [TARGET_API_MAC_CARBON]: Add extern.
1571 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Use QuitEventLoop
1572 instead of QuitAppModalLoopForWindow. Consolidate QuitEventLoop calls.
1573 (pop_down_dialog) [TARGET_API_MAC_CARBON]: New function.
1574 [TARGET_API_MAC_CARBON] (create_and_show_dialog): Use it for unwind.
1575 Run timers during dialog popup.
1576 (Fmenu_or_popup_active_p) [TARGET_API_MAC_CARBON]: Use popup_activated.
1577
1578 2007-06-21 Jason Rumney <jasonr@gnu.org>
1579
1580 * image.c (convert_mono_to_color_image): Swap fore and background.
1581
1582 2007-06-20 Jason Rumney <jasonr@gnu.org>
1583
1584 * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished.
1585 (w32_free_bdf_font): Unmap memory not handle.
1586
1587 2007-06-20 Sam Steingold <sds@gnu.org>
1588
1589 * gmalloc.c (__morecore): Fix the declaration to comply with the
1590 definition.
1591
1592 2007-06-20 Juanma Barranquero <lekktu@gmail.com>
1593
1594 * w32term.c (w32_delete_display): Remove leftover declaration.
1595 (w32_define_cursor, w32_initialize): Make static.
1596
1597 * w32.c (_wsa_errlist): Fix typo in error message.
1598 (init_environment): Ignore any environment variable from the
1599 registry having a null value.
1600
1601 2007-06-20 Glenn Morris <rgm@gnu.org>
1602
1603 * Makefile.in (LIBGIF): Default to -lgif.
1604
1605 2007-06-17 Jason Rumney <jasonr@gnu.org>
1606
1607 * w32menu.c (add_menu_item): Don't use multibyte string functions on
1608 unicode strings.
1609
1610 2007-06-16 Juanma Barranquero <lekktu@gmail.com>
1611
1612 * xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>:
1613 Fix typo in docstring.
1614
1615 2007-06-16 Eli Zaretskii <eliz@gnu.org>
1616
1617 * w32menu.c (add_menu_item): Escape `&' characters in menu items
1618 and their keybindings.
1619
1620 2007-06-15 Chong Yidong <cyd@stupidchicken.com>
1621
1622 * composite.c (update_compositions): Fix last fix.
1623
1624 2007-06-14 Jason Rumney <jasonr@gnu.org>
1625
1626 * w32.c (get_process_times_fn): New function pointer.
1627 (globals_of_w32): Intialize it if present in kernel32.dll.
1628 (w32_get_internal_run_time): New function.
1629
1630 * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it.
1631
1632 2007-06-14 Kenichi Handa <handa@etlken.m17n.org>
1633
1634 * composite.c (update_compositions): Check the validness of
1635 compositions.
1636
1637 2007-06-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1638
1639 * frame.h (struct frame) [MAC_OS]: New member external_tool_bar.
1640 (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it.
1641
1642 * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity.
1643 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR.
1644
1645 * macgui.h (USE_MAC_TOOLBAR): New define.
1646
1647 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
1648 Return immediately unless popup is activated.
1649
1650 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe
1651 background to scroll bar gap.
1652 (x_scroll_bar_create) [MAC_OSX]: Set bar->fringe_extended_p.
1653 (XTset_vertical_scroll_bar) [MAC_OSX]: Put leftmost/rightmost
1654 scroll bars on frame edge. Check fringe background extension.
1655 Don't clear extended fringe background area.
1656 (TOOLBAR_IDENTIFIER, TOOLBAR_ICON_ITEM_IDENTIFIER)
1657 (TOOLBAR_ITEM_COMMAND_ID_OFFSET, TOOLBAR_ITEM_COMMAND_ID_P)
1658 (TOOLBAR_ITEM_COMMAND_ID_VALUE, TOOLBAR_ITEM_MAKE_COMMAND_ID):
1659 [USE_MAC_TOOLBAR]: New macros.
1660 (mac_move_window_with_gravity, mac_get_window_origin_with_gravity)
1661 (mac_handle_toolbar_event, mac_image_spec_to_cg_image)
1662 (mac_create_frame_tool_bar, update_frame_tool_bar, free_frame_tool_bar)
1663 (mac_tool_bar_note_mouse_movement, mac_handle_toolbar_command_event)
1664 [USE_MAC_TOOLBAR]: New functions.
1665 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Reposition window
1666 manually if previous repositioning has failed.
1667 (mac_handle_keyboard_event): Use precomputed event kind.
1668 (XTread_socket) [USE_MAC_TOOLBAR]: Handle click in structure region
1669 as tool bar item click. Handle mouse movement over tool bar items.
1670
1671 * macterm.h (struct mac_output) [USE_MAC_TOOLBAR]: New member
1672 toolbar_win_gravity.
1673 (struct scroll_bar) [MAC_OSX]: New member fringe_extended_p.
1674 (update_frame_tool_bar, free_frame_tool_bar) [USE_MAC_TOOLBAR]:
1675 Add externs.
1676
1677 * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window)
1678 [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display.
1679
1680 2007-06-14 Chong Yidong <cyd@stupidchicken.com>
1681
1682 * image.c (search_image_cache): Remove unused variable.
1683
1684 2007-06-13 Chong Yidong <cyd@stupidchicken.com>
1685
1686 * xfns.c, xmenu.c: Link to xaw3d if available.
1687
1688 2007-06-13 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1689
1690 * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members
1691 frame_foreground and frame_background.
1692
1693 * image.c (lookup_image): Save frame foreground and background colors.
1694 (search_image_cache): Check if saved and current frame colors match.
1695
1696 2007-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
1697
1698 * regex.c (regex_compile): Remove the `regnum' counter.
1699 Use bufp->re_nsub instead. Add support for \(?N:RE\).
1700
1701 2007-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
1702
1703 * term.c: Include intervals.h to declare Fget_text_property.
1704
1705 2007-06-10 Jason Rumney <jasonr@gnu.org>
1706
1707 * w32fns.c (Fx_file_dialog): Take size from struct not pointer.
1708
1709 2007-06-08 Juanma Barranquero <lekktu@gmail.com>
1710
1711 * callint.c (Fcall_interactively):
1712 * editfns.c (Fdelete_and_extract_region):
1713 * fileio.c (Fread_file_name):
1714 * fns.c (Fmapconcat):
1715 * keyboard.c (cmd_error_internal):
1716 * keymap.c (Fkey_description):
1717 * lread.c (openp):
1718 * minibuf.c (read_minibuf):
1719 * search.c (wordify):
1720 * sunfns.c (sel_read):
1721 * xdisp.c (Fformat_mode_line, syms_of_xdisp):
1722 * xfns.c (x_default_scroll_bar_color_parameter):
1723 * xmenu.c (menu_help_callback):
1724 * xselect.c (Fx_get_atom_name):
1725 * xterm.c (x_term_init): Use empty_unibyte_string.
1726
1727 2007-06-08 Dmitry Antipov <dmantipov@yandex.ru> (tiny change)
1728
1729 * alloc.c (init_strings): Initialize canonical empty strings.
1730 (make_uninit_string, make_uninit_multibyte_string): Return appropriate
1731 canonical empty string when the requested size is 0.
1732
1733 * emacs.c (empty_unibyte_string): Rename from empty_string.
1734 (empty_multibyte_string): New canonical empty string.
1735 (syms_of_emacs): Don't initialize empty_string.
1736
1737 * lisp.h (STRING_SET_UNIBYTE): Return the canonical empty unibyte
1738 string, if appropriate.
1739 (empty_unibyte_string, empty_multibyte_string): New externs.
1740 (empty_string): Remove extern.
1741
1742 * lread.c (syms_of_lread): Use empty_unibyte_string.
1743
1744 2007-06-07 Jason Rumney <jasonr@gnu.org>
1745
1746 * s/ms-w32.h: Don't define HAVE_TZNAME.
1747
1748 * editfns.c (Fcurrent_time_zone): Remove hack for Japanese Windows.
1749
1750 2007-06-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1751
1752 * mac.c (xrm_get_preference_database): Remove BLOCK_INPUT.
1753
1754 * macfns.c (mac_get_window_bounds): Move extern to macterm.h.
1755 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use GetGlobalMouse.
1756
1757 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
1758 Don't call next handler.
1759 [TARGET_API_MAC_CARBON] (install_menu_target_item_handler):
1760 Remove argument. Install handler to application.
1761 (set_frame_menubar): Don't change deep_p.
1762 (mac_menu_show): Use FRAME_OUTER_TO_INNER_DIFF_X and
1763 FRAME_OUTER_TO_INNER_DIFF_Y.
1764 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
1765 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
1766 [HAVE_DIALOGS]: New macros.
1767 [HAVE_DIALOGS] (mac_handle_dialog_event, create_and_show_dialog):
1768 Use them.
1769 (fill_menubar) [TARGET_API_MAC_CARBON]: Use CFString.
1770
1771 * macselect.c [MAC_OSX] (install_service_handler): Rename from
1772 init_service_handler. All callers changed. Return OSStatus value.
1773
1774 * macterm.c (mac_begin_cg_clip): New arg F. Call SetPortWindowPort.
1775 All callers changed so as not to call SetPortWindowPort.
1776 (mac_begin_cg_clip) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw.
1777 (mac_draw_image_string_atsui) [USE_ATSUI]: New function created from
1778 mac_draw_string_common.
1779 (mac_draw_image_string_qd): Likewise.
1780 (mac_draw_string_common): Use them. Add INLINE.
1781 (XTmouse_position, x_scroll_bar_report_motion) [TARGET_API_MAC_CARBON]:
1782 Use FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y, and
1783 GetGlobalMouse.
1784 (x_set_mouse_pixel_position) [MAC_OSX]: Use FRAME_OUTER_TO_INNER_DIFF_X
1785 and FRAME_OUTER_TO_INNER_DIFF_Y.
1786 [TARGET_API_MAC_CARBON] (mac_handle_mouse_event): Likewise.
1787 [USE_MAC_TSM] (mac_handle_text_input_event): Likewise.
1788 (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Move code for
1789 repositioning window to mac_handle_window_event.
1790 (x_make_frame_invisible) [TARGET_API_MAC_CARBON]: Move code for
1791 saving window location to mac_handle_window_event
1792 [USE_MAC_FONT_PANEL] (mac_show_hide_font_panel): Install handler here.
1793 (install_menu_target_item_handler): Remove argument in extern.
1794 [TARGET_API_MAC_CARBON] (mac_event_to_emacs_modifiers):
1795 Also accept command events.
1796 (do_keystroke): New function created from XTread_socket.
1797 (init_command_handler): Remove functions.
1798 [TARGET_API_MAC_CARBON] (mac_handle_window_event): Reposition window
1799 and save window location by kEventWindowShowing and kEventWindowHiding
1800 handlers here. Don't call next handler for window state change and
1801 focus events.
1802 (mac_handle_application_event, mac_handle_keyboard_event)
1803 [TARGET_API_MAC_CARBON]: New functions.
1804 (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for
1805 kEventWindowShowing and kEventWindowHiding events. Move installation
1806 of mouse, font, text input and menu target item handlers to
1807 install_application_handler.
1808 (install_application_handler) [TARGET_API_MAC_CARBON]: New function.
1809 (mac_handle_cg_display_reconfig) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
1810 New function.
1811 (init_dm_notification_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
1812 Register it.
1813 (XTread_socket) [TARGET_API_MAC_CARBON]:
1814 Consolidate SendEventToEventTarget calls.
1815 Use FRAME_OUTER_TO_INNER_DIFF_X and FRAME_OUTER_TO_INNER_DIFF_Y.
1816 Move application activation handler to mac_handle_application_event.
1817 Move keyboard handler to mac_handle_keyboard_event.
1818 (XTread_socket) [!TARGET_API_MAC_CARBON]: Use do_keystroke.
1819 (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call
1820 init_command_handler. Call install_application_handler.
1821
1822 * macterm.h (mac_get_window_bounds): Move extern from macfns.c.
1823 (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): New macros.
1824
1825 2007-06-07 Glenn Morris <rgm@gnu.org>
1826
1827 * emacs.c (main): Use `emacs-copyright' in --version output.
1828
1829 2007-06-06 Chong Yidong <cyd@stupidchicken.com>
1830
1831 * image.c (xpm_load): Remove spurious call to xpm_init_color_cache.
1832
1833 2007-06-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1834
1835 * macfns.c (mac_window): Replace WindowPtr with WindowRef.
1836
1837 * macgui.h: Replace WindowPtr with WindowRef.
1838
1839 * macmenu.c: Replace MenuHandle and GetMenuHandle with MenuRef and
1840 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
1841 Replace ControlHandle with ControlRef.
1842 (install_menu_quit_handler): Rename arg MENU_HANDLE to ROOT_MENU.
1843
1844 * macterm.c: Replace MenuHandle and GetMenuHandle with MenuRef and
1845 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
1846 Replace ControlHandle with ControlRef.
1847 (USE_CARBON_EVENTS): Remove. Use TARGET_API_MAC_CARBON instead.
1848 [MAC_OS8] (do_get_menus): Rename variable `menu_handle' to `menu'.
1849
1850 * macterm.h (struct scroll_bar): Rename member control_handle_low
1851 and control_handle_high to control_ref_low and control_ref_high.
1852 All uses changed.
1853 (SCROLL_BAR_CONTROL_REF, SET_SCROLL_BAR_CONTROL_REF): Rename from
1854 SCROLL_BAR_CONTROL_HANDLE and SET_SCROLL_BAR_CONTROL_HANDLE,
1855 respectively. All uses changed.
1856 (XCreatePixmap, XCreatePixmapFromBitmapData, XSetWindowBackground)
1857 (install_window_handler, remove_window_handler): Replace WindowPtr
1858 with WindowRef in externs.
1859
1860 2007-06-05 Juanma Barranquero <lekktu@gmail.com>
1861
1862 * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops.
1863
1864 2007-06-03 Nick Roberts <nickrob@snap.net.nz>
1865
1866 * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case.
1867
1868 * frame.c (Fmouse_position, Fmouse_pixel_position):
1869 Condition on HAVE_GPM too.
1870
1871 * term.c (term_mouse_highlight): Remove unused variables.
1872 (Fterm_open_connection): Set gpm_zerobased to 1.
1873 (term_mouse_movement, term_mouse_click, handle_one_term_event):
1874 Use zero based co-ordinates.
1875 (handle_one_term_event): Report a drag as mouse movement too.
1876
1877 * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM.
1878
1879 2007-06-03 Chong Yidong <cyd@stupidchicken.com>
1880
1881 * image.c (search_image_cache): New function. Require background
1882 color match if background color is unspecified in the image spec.
1883 (uncache_image, lookup_image): Use it.
1884
1885 2007-06-01 Juanma Barranquero <lekktu@gmail.com>
1886
1887 * window.c (Fshrink_window): Reflow docstring.
1888
1889 See ChangeLog.10 for earlier changes.
1890
1891 ;; Local Variables:
1892 ;; coding: iso-2022-7bit
1893 ;; add-log-time-zone-rule: t
1894 ;; End:
1895
1896 Copyright (C) 2007 Free Software Foundation, Inc.
1897
1898 This file is part of GNU Emacs.
1899
1900 GNU Emacs is free software; you can redistribute it and/or modify
1901 it under the terms of the GNU General Public License as published by
1902 the Free Software Foundation; either version 3, or (at your option)
1903 any later version.
1904
1905 GNU Emacs is distributed in the hope that it will be useful,
1906 but WITHOUT ANY WARRANTY; without even the implied warranty of
1907 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1908 GNU General Public License for more details.
1909
1910 You should have received a copy of the GNU General Public License
1911 along with GNU Emacs; see the file COPYING. If not, write to the
1912 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
1913 Boston, MA 02110-1301, USA.
1914
1915 ;; arch-tag: dfb6ad96-1550-4905-9e53-d2059ee84c40