]> code.delx.au - gnu-emacs/blob - src/ChangeLog
* xfaces.c (Finternal_set_alternative_font_family_alist)
[gnu-emacs] / src / ChangeLog
1 2008-09-01 Chong Yidong <cyd@stupidchicken.com>
2
3 * xfaces.c (Finternal_set_alternative_font_family_alist)
4 (Finternal_set_alternative_font_registry_alist): Properly copy
5 entire alist structure.
6
7 2008-09-01 Kenichi Handa <handa@m17n.org>
8
9 * ftfont.c (ftfont_spec_pattern): Don't create a charset of the
10 representative chars of the script is a vector.
11 (ftfont_list): Handle the case the representative chars of the
12 script is a vector.
13
14 * character.c (syms_of_character): Docstring of
15 script-representative-chars fixed.
16
17 2008-08-31 Eli Zaretskii <eliz@gnu.org>
18
19 * msdos.c (BUILD_CHAR_GLYPH): New macro.
20 (IT_menu_display): Use it instead of SET_CHAR_GLYPH to construct
21 the menu. Allocate larger buffer for `text', to account for
22 possible ^C characters.
23
24 2008-08-31 Martin Rudalics <rudalics@gmx.at>
25
26 * xdisp.c (prepare_menu_bars): Don't call
27 Vwindow_size_change_functions with arg Qt.
28
29 2008-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
30
31 * font.h (font_range):
32 * fileio.c (report_file_error):
33 * composite.c (composition_update_it): Yet another int/Lisp_Oject mixup.
34
35 2008-08-30 Glenn Morris <rgm@gnu.org>
36
37 * data.c (Fmake_variable_frame_local): Doc fix.
38
39 * frame.c (Fmodify_frame_parameters): Doc fix.
40
41 2008-08-30 Eli Zaretskii <eliz@gnu.org>
42
43 * w32.c (init_user_info): Allocate buf[] with xmalloc using the size
44 needed by GetTokenInformation.
45 (w32_system_process_attributes): Check return values of all system
46 APIs.
47
48 * msdos.c (IT_display_cursor): Write "CURSOR ON/OFF" to termscript
49 only when the state changes.
50 (IT_update_begin, IT_update_end): Add termscript trace.
51
52 * w16select.c (Fw16_set_clipboard_data): Don't encode text if
53 clipboard is unavailable. Set dst to NULL if it doesn't point to
54 malloc'ed data.
55 (Fw16_get_clipboard_data): Initialize htext to NULL, to avoid
56 passing random values to xfree.
57
58 * dispnew.c (init_display): Set `tty's association in frame's
59 parameters alist to the name of the terminal device, if that is
60 known.
61
62 2008-08-29 Jason Rumney <jasonr@gnu.org>
63
64 * w32uniscribe.c (uniscribe_check_otf): Don't fallback on DFLT script.
65
66 2008-08-29 Eli Zaretskii <eliz@gnu.org>
67
68 * composite.c (fill_gstring_body): Avoid compiler warnings.
69
70 * font.c (font_fill_lglyph_metrics): Use EMACS_INT in
71 LGLYPH_SET_CODE to avoid compiler warnings.
72
73 * makefile.w32-in ($(BLD)/w32uniscribe.$(O)): Depend on composite.h
74
75 * composite.h (LGLYPH_SET_CODE): Cast `val' to EMACS_INT.
76
77 * w32uniscribe.c (uniscribe_shape): Shut up compiler warning in
78 LGLYPH_SET_CODE.
79
80 2008-08-29 Kenichi Handa <handa@m17n.org>
81
82 * fileio.c (report_file_error): Don't downcase the first character
83 of errstring if it is still unibyte.
84
85 2008-08-29 Kenichi Handa <handa@m17n.org>
86
87 These changes are to re-implement the automatic composition so
88 that it doesn't use text properties.
89
90 * Makefile.in (ftfont.o): Depend on composite.h.
91 (composite.o): Depend dispextern.h, font.h, frame, and window.h.
92
93 * character.h (Vunicode_category_table): Extern it.
94
95 * character.c (Vunicode_category_table): New variable.
96 (syms_of_character): DEFVAR_LISP Vunicode_category_table.
97
98 * chartab.c (optimize_sub_char_table): Perform more greedy
99 optimization.
100
101 * composite.h (enum composition_method): Delete
102 COMPOSITION_WITH_GLYPH_STRING.
103 (COMPOSITION_METHOD): Dont' check COMPOSITION_WITH_GLYPH_STRING.
104 (Vcomposition_function_table): Extern it.
105 (LGSTRING_XXX, LGLYPH_XXX): Macros moved from font.h.
106 (composition_gstring_put_cache, composition_gstring_from_id)
107 (composition_gstring_p, composition_gstring_width)
108 (composition_compute_stop_pos, composition_reseat_it)
109 (composition_update_it, composition_adjust_point): Extern them.
110 (Fcomposition_get_gstring): EXFUN it.
111
112 * composite.c: Include window.h, frame.h, dispextern.h font.h.
113 (Vcomposition_function_table)
114 (get_composition_id): Don't handle COMPOSITION_WITH_GLYPH_STRING.
115 (gstring_hash_table, gstring_work, gstring_work_headers): New
116 variables.
117 (gstring_lookup_cache, composition_gstring_put_cache)
118 (composition_gstring_from_id, composition_gstring_p)
119 (composition_gstring_width, fill_gstring_header)
120 (fill_gstring_body, autocmp_chars, composition_compute_stop_pos)
121 (composition_reseat_it, composition_update_it)
122 (composition_adjust_point, Fcomposition_get_gstring): New
123 functions.
124 (syms_of_composite): Initialize gstring_hash_table, gstrint_work,
125 and gstring_work_headers. DEFVAR_LISP composition-function-table.
126 Defsubr compostion_get_gstring.
127
128 * dispextern.h (struct glyph): New union u.cmp. Delete the member
129 cmp_id.
130 (struct glyph_string): Delete the member gidx. New members
131 cmp_id, cmp_from, and cmp_to.
132 (enum it_method): Delete GET_FROM_COMPOSITION.
133 (struct composition_it): New struct.
134 (struct it): New member cmp_it, and iterator_stack_entry.cmp_it.
135 Delete c, len, cmp_id, cmp_len in u.comp.
136
137 * font.h (enum lgstring_indices): Delete it.
138 (LGSTRING_XXX, LGLYPH_XXX): These macros moved to composite.h.
139 (enum lglyph_indices): Likewise.
140 (font_range): Extern adjusted.
141 (font_fill_lglyph_metrics): Extern it.
142
143 * font.c (QCf): New variable.
144 (check_gstring): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
145 (font_prepare_composition): Delete this function.
146 (font_range): Type and arguments changed.
147 (Ffont_make_gstring, Ffont_fill_gstring): Delete them.
148 (font_fill_lglyph_metrics): New function.
149 (Ffont_shape_text): Renamed to Ffont_shape_gstring and arguments
150 changed.
151 (syms_of_font): DEFSYM QCf. Delete defsubr for
152 Sfont_make_gstring, Sfont_fill_gstring, Sfont_shape_text. Defsubr
153 Sfont_shape_gstring.
154
155 * fontset.h (font_for_char): Extern it.
156
157 * fontset.c (font_for_char): New function.
158
159 * ftfont.c: Include composite.h.
160 (ftfont_resolve_generic_family): Add langset "en" to pattern.
161 (ftfont_shape_by_flt): Use LGSTRING_GLYPH_LEN, not
162 LGSTRING_LENGTH.
163
164 * indent.c: Include composite.h and dispextern.h.
165 (check_composition): Delete this function.
166 (scan_for_column): Handle composition by
167 composition_compute_stop_pos, composition_reseat_it, and
168 composition_update_it.
169 (compute_motion): Likewise.
170 (Fvertical_motion): Fix checking of composition.
171
172 * keyboard.c (adjust_point_for_property): Check composition by
173 composition_adjust_point.
174
175 * nsterm.m (ns_draw_glyph_string): Adjusted for the change of
176 struct glyph_string.
177
178 * term.c (encode_terminal_code): Adjusted for the change of struct
179 glyph.
180 (append_composite_glyph): Adjusted for the change of struct it and
181 struct glyph.
182 (produce_composite_glyph): Likewise.
183
184 * w32term.c (x_draw_composite_glyph_string_foreground): Adjusted
185 for the change of struct glyph_string.
186 (x_draw_glyph_string): Likewise.
187
188 * w32uniscribe.c (struct uniscribe_font_info): Include composite.h.
189 (uniscribe_shape): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
190
191 * xdisp.c: Include font.h.
192 (it_props): Delete the entry for Qauto_composed.
193 (init_iterator): Initialize it->cmp_it.id to -1.
194 (compute_stop_pos): Call composition_compute_stop_pos.
195 (face_before_or_after_it_pos): Adjusted for the change of struct
196 it.
197 (handle_auto_composed_prop): Delete it.
198 (handle_composition_prop): Handle only static composition.
199 (next_overlay_string): Remove it->method == GET_FROM_COMPOSITION
200 from xassert. Initialize it->cmp_it.stop_pos.
201 (push_it): Adjusted for the change of struct it.
202 (pop_it): Likewise.
203 (get_next_element): Delete next_element_from_composition.
204 (CHAR_COMPOSED_P): New macro.
205 (get_next_display_element): For automatic composition, get a face
206 from the font in the glyph-string.
207 (set_iterator_to_next): For GET_FROM_BUFFER and GET_FROM_STRING,
208 check composition by it->cmp_it.id. Delete GET_FROM_COMPOSITION
209 case.
210 (next_element_from_string): Check if the character at the current
211 position is composed by CHAR_COMPOSED_P.
212 (next_element_from_buffer): Likewise.
213 (next_element_from_composition): Adjusted for the change of struct
214 it. Update it->cmp_it.
215 (dump_glyph): Adjusted for the change of struct glyph.
216 (fill_composite_glyph_string): Adjusted for the change of struct
217 it and struct glyph. Don't handle automatic composition here.
218 (fill_gstring_glyph_string): New function.
219 (x_get_glyph_overhangs): Handle automatic composition.
220 (BUILD_COMPOSITE_GLYPH_STRING): Adjusted for the change of struct
221 glyph.
222 (BUILD_GSTRING_GLYPH_STRING): New macro.
223 (BUILD_GLYPH_STRINGS): Call BUILD_GSTRING_GLYPH_STRING for
224 automatic composition.
225 (append_composite_glyph): Adjusted for the change of struct it and
226 struct glyph.
227 (x_produce_glyphs): Adjusted for the change of struct it.
228
229 * xterm.c (x_draw_composite_glyph_string_foreground): Adjusted for
230 the change of struct glyph_string.
231 (x_draw_glyph_string): Likewise.
232
233 2008-08-29 Glenn Morris <rgm@gnu.org>
234
235 * buffer.c (word-wrap): Doc fix.
236 * xdisp.c (truncate-partial-width-windows): Doc fix.
237 Increase default to 50.
238
239 2008-08-29 Chong Yidong <cyd@stupidchicken.com>
240
241 * xdisp.c (update_tool_bar_unwind): New function.
242 (update_tool_bar): Temporarily set selected frame before building
243 tool-bar items.
244
245 2008-08-28 Michael Albinus <michael.albinus@gmx.de>
246
247 * dbusbind.c (XD_ERROR, XD_DEBUG_MESSAGE): Use strncpy and
248 snprintf, respectively.
249 (xd_append_arg): Convert strings with Fstring_make_unibyte.
250
251 2008-08-28 Chong Yidong <cyd@stupidchicken.com>
252
253 * Makefile.in: Revert (undocumented) 2008-08-20 change adding
254 LDFLAGS to GNUstep CC invocation.
255
256 2008-08-27 Chong Yidong <cyd@stupidchicken.com>
257
258 * indent.c (Fvertical_motion): Revert last change. Handle the
259 general case where we are moving forward, and PT spans multiple
260 screen lines.
261
262 * eval.c (find_handler_clause): Temporarily increase
263 max-lisp-eval-depth while printing the backtrace buffer, to
264 guarantee that help-mode code can run.
265
266 2008-08-27 Eli Zaretskii <eliz@gnu.org>
267
268 * msdos.c (Fmsdos_remember_default_colors): Don't reverse frame
269 colors under -rv.
270 (IT_set_frame_parameters): Don't swap foreground and background
271 colors if `(reverse . t)' is present in the frame properties.
272 (internal_terminal_init): Call init_frame_faces only for the
273 initial frame.
274
275 2008-08-27 Andreas Schwab <schwab@suse.de>
276
277 * dired.c (Ffile_attributes): Avoid compiler warning in bitshift.
278
279 2008-08-27 Andreas Schwab <schwab@suse.de>
280
281 * search.c (search_buffer): Set char_base to zero only at the end.
282
283 2008-08-27 Kenichi Handa <handa@m17n.org>
284
285 * fileio.c (report_file_error): Fix handling of multibyte error
286 string.
287
288 2008-08-27 Andreas Seltenreich <seltenreich@gmx.de>
289
290 * xterm.c (x_term_init): Temporarily hide the partially
291 initialized terminal while calling vendor-specific-keysyms.
292
293 2008-08-26 Eli Zaretskii <eliz@gnu.org>
294
295 * msdos.c (internal_terminal_init): Most initializations done only
296 once, especially initial_screen_colors[] and termscript open.
297
298 2008-08-26 Chong Yidong <cyd@stupidchicken.com>
299
300 * eval.c (Fcondition_case): Doc fix.
301
302 * widgetprv.h (EmacsFramePart): Change font member to the new font
303 struct.
304
305 * widget.c: Include character.h and font.h for XSETFONT.
306 (setup_frame_gcs): Compute X font id from font struct, just once.
307
308 2008-08-26 Eli Zaretskii <eliz@gnu.org>
309
310 * term.c (get_named_tty): Fix last change.
311
312 2008-08-26 Chong Yidong <cyd@stupidchicken.com>
313
314 * indent.c (Fvertical_motion): If moving forward starting from a
315 multi-line string, move the iterator to the last line of that
316 string.
317
318 2008-08-25 Eli Zaretskii <eliz@gnu.org>
319
320 * frame.c (do_switch_frame): Mark previously displayed frame as
321 obscured for FRAME_MSDOS_P frames as well.
322
323 2008-08-24 Eli Zaretskii <eliz@gnu.org>
324
325 * frame.c (make_terminal_frame): Initialize f->terminal,
326 f->terminal->reference_count, and scroll bars on MS-DOS as well.
327 Set the top frame to newly created frame.
328 (Fmake_terminal_frame): Reuse the_only_display_info.
329
330 * vm-limit.c (get_lim_data) [MSDOS]: Use alternative methods of
331 estimating available memory.
332
333 2008-08-23 David Reitter <david.reitter@gmail.com>
334
335 * nsterm.m (ns_draw_window_cursor): Don't call
336 NSDisableScreenUpdates and NSEnableScreenUpdates on
337 non-NS_IMPL_COCOA systems.
338
339 2008-08-23 Andreas Schwab <schwab@suse.de>
340
341 * process.c (procfs_system_process_attributes): Fix use of
342 uninitialized variables.
343
344 2008-08-23 Eli Zaretskii <eliz@gnu.org>
345
346 * emacs.c (main) [MSDOS]: Call syms_of_xmenu.
347
348 * dispnew.c (init_display): Remove MS-DOS specific conditions for
349 calling tty-set-up-initial-frame-faces.
350
351 * xmenu.c (Fx_popup_dialog, Fx_popup_menu, xmenu_show): Allow
352 MSDOS frames along with X frames.
353
354 * termhooks.h (TERMINAL_ACTIVE_P): Handle output_msdos_raw in
355 addition to output_termcap.
356
357 * xdisp.c (redisplay_internal) [MSDOS]: Don't call set_tty_color_mode.
358
359 * termchar.h (FRAME_TTY): Support output_msdos_raw.
360 (struct tty_display_info) [MSDOS]: Add fields related to mouse
361 highlight.
362
363 * process.c [!subprocesses]: Define QCname.
364 (syms_of_process): Intern and staticpro it.
365
366 * w16select.c (Fw16_set_clipboard_data, Fw16_get_clipboard_data):
367 Adjust for changes in encoding/decoding routines. Use
368 encode_coding_object and decode_coding_object instead of
369 encode_coding and decode_coding.
370
371 * sysdep.c (init_sys_modes): Call dos_ttraw with tty_out as
372 argument.
373
374 * dosfns.c: Include frame.h before termhooks.h.
375 (dos_cleanup): Use CURTTY ()->termscript instead of a global
376 variable termscript.
377
378 * s/msdos.h (USER_FULL_NAME): Define.
379 (SYSTEM_PURESIZE_EXTRA): Bump up to 100K.
380
381 * editfns.c (USER_FULL_NAME): Define to pw->pw_gecos if undefined.
382 (Fuser_full_name): Use USER_FULL_NAME instead of a literal
383 pw->pw_gecos.
384
385 * keyboard.c (handle_interrupt) [MSDOS]: Call cursor_to with
386 SELECTED_FRAME as additional (1st) argument.
387 (tty_read_avail_input): Handle output_msdos_raw in
388 addition to output_termcap.
389
390 * msdos.c: Include frame.h before termhooks.h.
391 (mouse_on, mouse_off, mouse_moveto, mouse_init)
392 (msdos_set_cursor_shape, IT_set_face, IT_write_glyphs)
393 (show_mouse_face, IT_clear_end_of_line, IT_clear_screen)
394 (IT_clear_to_end, IT_cursor_to, IT_display_cursor, IT_cmgoto)
395 (IT_set_terminal_modes, IT_reset_terminal_modes)
396 (IT_set_frame_parameters): Use tty->termscript instead of a global
397 variable termscript.
398 (IT_write_glyphs): Use tty->terminal->terminal_coding instead of a
399 global variable terminal_coding. Don't refer to
400 Vnonascii_translation_table.
401 (internal_terminal_init): Set Vwindow_system in current_kboard.
402 Don't use TTY_CHAR_INS_DEL_OK. Set Vinitial_window_system.
403 Announce date and time of session start, if termscript is open.
404 Don't zero out the_only_display_info (it is done in
405 term.c:init_tty). Open termscript only of not already open. Log
406 "SCREEN SAVED" here, instead of IT_set_terminal_modes. Init mouse
407 here instead of dos_ttraw. Don't initialize display if this is an
408 initial tty. Don't set FRAME_FONT.
409 (Vwindow_system_version): Bump to 23.
410 (dos_ttraw): Accept a TTY argument; all callers fixed. If mouse
411 is available, set up mouse_position_hook.
412 (dos_ttraw, IT_set_terminal_modes): If called with initial
413 terminal, do nothing.
414 (IT_set_frame_parameters): Handle the Qtty_type frame
415 parameter by calling internal_terminal_init.
416 (dos_set_window_size, show_mouse_face)
417 (clear_mouse_face, IT_note_mode_line_highlight)
418 (IT_note_mouse_highlight, IT_update_begin, IT_frame_up_to_date)
419 (dos_rawgetc): Use tty_display_info instead of x_display_info.
420 (initialize_msdos_display): New function.
421 (IT_cursor_to, IT_clear_to_end, IT_clear_screen)
422 (IT_clear_end_of_line, IT_insert_glyphs, IT_write_glyphs)
423 (IT_delete_glyphs, IT_ring_bell, IT_reset_terminal_modes)
424 (IT_set_terminal_modes, IT_set_terminal_window, IT_update_begin):
425 Accept additional argument: a pointer to a frame. All callers
426 changed.
427 (request_sigio, unrequest_sigio): Don't define, now defined on
428 sysdep.c.
429 (IT_write_glyphs): Rewrite to use encode_terminal_code.
430
431 * term.c [MSDOS]: Include msdos.h.
432 (init_tty) [MSDOS]: Reuse most of WINDOWSNT branch. Change cpp
433 conditional to DOS_NT. Allow only one call to this function in a
434 session. Don't allocate a new struct tty_display_info; instead,
435 reuse the_only_display_info. Call get_tty_size to get screen
436 dimensions. Call init_baud_rate to set bad_rate.
437 (dissociate_if_controlling_tty) [MSDOS]: Ifdef away function body.
438 (Fsuspend_tty) [MSDOS]: Don't close input and output.
439 (Fresume_tty) [MSDOS]: Don't reopen the TTY; instead, use
440 stdin/stdout.
441 (get_tty_terminal, get_named_tty, Ftty_type)
442 (Fcontrolling_tty_p): Handle output_msdos_raw in addition to
443 output_termcap.
444 (Fresume_tty, Fsuspend_tty, init_tty, delete_tty): Call
445 add_keyboard_wait_descriptor and delete_keyboard_wait_descriptor
446 only when subprocesses are supported
447
448 * frame.c (make_terminal_frame) [MSDOS]: Adjust initialization of
449 f->output_data.x.
450 (Fmake_terminal_frame) [MSDOS]: Don't allow creation of new
451 terminal devices.
452
453 * msdos.h Remove definition of struct x_display_info and struct
454 x_output.
455 (FRAME_FONT): Use output_data.tty.
456 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL): Don't define.
457 (struct x_display_info): Renamed from display_info. All users in
458 msdos.c changed.
459 (struct x_output): Remove background_pixel and foreground_pixel.
460 (the_only_display_info): Renamed from the_only_x_display.
461 (dos_ttraw): Update prototype.
462
463 * Makefile.in (MSDOS_OBJ): Add xmenu.o.
464 (SOME_MACHINE_LISP): Add ../lisp/term/pc-win.elc.
465
466 2008-08-23 Jason Rumney <jasonr@gnu.org>
467
468 * image.c (enum tiff_keyword_index, tiff_format): Add :index keyword.
469 (fn_TIFFSetDirectory): New library function used.
470 (init_tiff_functions) [HAVE_NTGUI]: Initialize it.
471 (tiff_load): Use :index to select among multiple images. Set count
472 property when multiple images exist.
473 (gif_format): Use :index, not :image.
474
475 2008-08-23 Chong Yidong <cyd@stupidchicken.com>
476
477 * xdisp.c (try_scrolling): Check INT_MAX instead of
478 MOST_POSITIVE_FIXNUM for maximum integer value. Include limits.h
479 to obtain INT_MAX.
480
481 2008-08-21 İsmail Dönmez <ismail@namtrac.org> (tiny change)
482
483 * xterm.c (x_delete_display): Don't call XrmDestroyDatabase on GTK+.
484
485 2008-08-21 Christian Faulhammer <opfer@gentoo.org> (tiny change)
486
487 * Makefile.in (temacs${EXEEXT}): On GNUstep, link to appropriate
488 GNUstep library location.
489
490 2008-08-21 Chong Yidong <cyd@stupidchicken.com>
491
492 * xfaces.c (x_update_menu_appearance): Check validity of menu font
493 before using it.
494
495 * puresize.h (BASE_PURESIZE): Increase to 1250000.
496
497 2008-08-20 Adrian Robert <Adrian.B.Robert@gmail.com>
498
499 * nsfns.m (ns-read-file-name): Add casts to avoid warning.
500 (ns-convert-utf8-nfd-to-nfc): Warn if cannot execute correctly.
501 * nsfont.m (nsfont_draw): Compare indexed colors to 0, not nil.
502 * nsterm.h (EmacsView-unlockFocusNeedsFlush:): Add declaration.
503 (EmacsApp-cursor_blink_handler): Remove declaration.
504 * nsterm.m (ns_draw_glyph_string): Update first conditional body to
505 match 01 Feb 2008 changes in xterm.c.
506 (ns_read_socket): Add cast to avoid warning.
507 (EmacsApp-application:openFiles:): Don't call replyToOpenOrPrint: on
508 GNUstep.
509
510 2008-08-20 Chong Yidong <cyd@stupidchicken.com>
511
512 * xselect.c (x_get_foreign_selection): Return nil if desired
513 selection could not be obtained, instead of signalling an error.
514
515 2008-08-20 David Reitter <david.reitter@gmail.com>
516
517 * nsfns.m (ns_lisp_to_cursor_type): Replace with generic xfns.c.
518 * nsterm.m: Remove ns-specific code for cursor blinking.
519 (ns_draw_window_cursor): Clear cursor properly rather than
520 redrawing the area. Respect width of bar cursors.
521 These changes enable the use of generic blink-cursor-mode and
522 generic cursor types in NS and support smooth cursor movements (do
523 not blink off after command).
524 * xdisp.c (get_phys_cursor_geometry): Redraw wider rectangle on
525 Nextstep, too.
526
527 2008-08-19 Kenichi Handa <handa@m17n.org>
528
529 * font.c (Vfont_log_deferred): New variable.
530 (font_add_log): Check Vfont_log_deferred.
531 (font_deferred_log): New funciton.
532
533 * font.h (font_deferred_log): Extern it.
534
535 * fontset.c (reorder_font_vector): Use encoding charset of fonts
536 for sorting.
537 (face_for_char): Use deferred log.
538
539 2008-08-18 Kenichi Handa <handa@m17n.org>
540
541 * fontset.c (face_for_char): Add font log.
542
543 * font.c (font_add_log): Add the font properties :script, :lang,
544 and :otf in the log.
545
546 2008-08-17 Chong Yidong <cyd@stupidchicken.com>
547
548 * xdisp.c: Remove dead code.
549 (handle_invisible_prop, next_overlay_string): Defer call to
550 setup_for_ellipsis.
551 (handle_stop, set_iterator_to_next): Call setup_for_ellipsis.
552
553 2008-08-15 Chong Yidong <cyd@stupidchicken.com>
554
555 * xfaces.c (lookup_derived_face): Properly handle possible zero
556 return value of get_lface_attributes.
557 (merge_faces): Don't tell lookup_derived_face to signal an error
558 if face is not found.
559
560 * dired.c (Fdirectory_files): Doc fix.
561
562 * process.c (make_process): Initialize kill_without_query struct
563 member.
564
565 2008-08-15 Eli Zaretskii <eliz@gnu.org>
566
567 * w32.c (w32_system_process_attributes) [_MSC_VER < 1300]:
568 Alternative calculation of totphys for Visual Studio 6.
569
570 * w32fns.c [_MSC_VER && _MSC_VER < 1300]: Declare HMONITOR.
571
572 * w32.c (_MEMORY_STATUS_EX, MEMORY_STATUS_EX, LPMEMORY_STATUS_EX):
573 Rename from _MEMORYSTATUSEX, MEMORYSTATUSEX, LPMEMORYSTATUSEX.
574 All users changed.
575 (stat): Only root directory passed to GetDriveType. Allow RAM
576 disk as well as local fixed disk when w32-get-true-file-attributes
577 is set to `local'.
578 (CopySid_Proc, EqualSid_Proc, GetLengthSid_Proc): New typedefs.
579 (equal_sid, get_length_sid, copy_sid): New wrapper functions.
580 (w32_cached_id, w32_add_to_cache): New functions.
581 (get_name_and_id): Look account names in the cache before calling
582 lookup_account_sid.
583 (g_b_init_get_length_sid, g_b_init_equal_sid, g_b_init_copy_sid):
584 New initialization flags.
585 (globals_of_w32): Initialize them to zero.
586 (w32_system_process_attributes): Use w32_cached_id and
587 w32_add_to_cache.
588
589 2008-08-14 Lawrence Mitchell <wence@gmx.li>
590
591 * lread.c (Fread_char, Fread_char_exclusive): If no character
592 event is read before timeout is reached, return nil, rather than
593 converting to a number.
594
595 2008-08-14 Chong Yidong <cyd@stupidchicken.com>
596
597 * fns.c (use_dialog_box): Doc fix.
598
599 * s/darwin.h: Undefine HAVE_RES_INIT, which appears to be harmful
600 on OS X.
601
602 2008-08-13 Chong Yidong <cyd@stupidchicken.com>
603
604 * frame.c (Qns_parse_geometry): New var.
605 (Fx_parse_geometry): For HAVE_NS, call ns-parse-geometry.
606
607 2008-08-11 Chong Yidong <cyd@stupidchicken.com>
608
609 * xdisp.c (x_produce_glyphs): Handle the case when font has no
610 space character in calculating tabs.
611
612 2008-08-11 Dan Nicolaescu <dann@ics.uci.edu>
613
614 * Makefile.in (bootstrap-emacs): Use ln -f in the CANNOT_DUMP case.
615
616 2008-08-10 Glenn Morris <rgm@gnu.org>
617
618 * process.c (procfs_system_process_attributes): Use EMACS_INTs to
619 silence gcc "limited range of data type" warnings in some
620 make_fixnum_or_float calls.
621
622 2008-08-09 Eli Zaretskii <eliz@gnu.org>
623
624 * w32.c (w32_system_process_attributes): If the process does not
625 exist, return nil.
626
627 * w32.c: Include thelp32.h, psapi.h and coding.h.
628 (_MEMORYSTATUSEX, _PROCESS_MEMORY_COUNTERS_EX): New struct
629 declarations.
630 (CreateToolhelp32Snapshot_Proc, Process32First_Proc)
631 (Process32Next_Proc): New typedefs.
632 (g_b_init_create_toolhelp32_snapshot, g_b_init_process32_first)
633 (g_b_init_process32_next, g_b_init_open_thread_token)
634 (g_b_init_impersonate_self, g_b_init_revert_to_self)
635 (g_b_init_get_process_memory_info, g_b_init_global_memory_status)
636 (g_b_init_get_process_working_set_size)
637 (g_b_init_global_memory_status_ex): New static variables.
638 (globals_of_w32): Initialize them.
639 (create_toolhelp32_snapshot, process32_first, process32_next)
640 (open_thread_token, impersonate_self, revert_to_self)
641 (get_process_memory_info, get_process_working_set_size)
642 (global_memory_status, global_memory_status_ex): New wrapper
643 functions.
644 (w32_list_system_processes, w32_system_process_attributes)
645 (enable_privilege, restore_privilege, ltime, process_times):
646 New functions.
647 (convert_time_raw): New function.
648 (convert_time): Remove conversion of FILETIME into time in 100
649 nsec units, call convert_time_raw instead.
650
651 * process.h (w32_list_system_processes, w32_system_process_attributes):
652 Add prototypes.
653 (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess, Qttname)
654 (Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime, Qcutime)
655 (Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs, Quser, Qgroup)
656 (Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime): Add extern declarations.
657
658 * process.c (Fsystem_process_attributes): Doc fix.
659
660 2008-08-08 Chong Yidong <cyd@stupidchicken.com>
661
662 * xdisp.c (move_it_to): When stopping at a charpos, check if that's
663 a continued multi-char glyph; if so, advance to the actual glyph.
664
665 2008-08-07 Dan Nicolaescu <dann@ics.uci.edu>
666
667 * s/darwin.h (OTHER_FILES): Do not define here, defined in config.in.
668
669 * Makefile.in (ALL_OBJC_CFLAGS): New variable.
670 (.m.o): Use it.
671 * config.in: Regenerate.
672
673 2008-08-07 Chong Yidong <cyd@stupidchicken.com>
674
675 * xdisp.c (redisplay_window): Revert last change.
676 (try_window): Check bottom scroll margin too.
677
678 2008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
679
680 * config.in: Regenerate.
681
682 * Makefile.in (emacs): Remove ndef NS conditional for 'emacs
683 -list-load-path-shadows'.
684 (nsgui.h): Reduce number of things depending on it.
685
686 2008-08-06 Chong Yidong <cyd@stupidchicken.com>
687
688 * xdisp.c (try_scrolling): Use iterator to find the scroll margin,
689 instead of window-end which does the wrong thing at eob.
690 (try_cursor_movement): Minor optimization.
691 (redisplay_window): If scroll margin is defined, don't assume
692 window doesn't need scrolling.
693
694 2008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
695
696 * config.in: Regenerate.
697
698 * Makefile.in: Move nsXXX.m dependencies into big alphabetical list.
699 (mostlyclean): Don't delete *.d under NS.
700
701 * nsterm.h (NS_HAVE_INTEGER): Change to NS_HAVE_NSINTEGER.
702
703 2008-08-06 Kenichi Handa <handa@m17n.org>
704
705 * xfont.c (xfont_list_family): Return a list of symbols, not strings.
706
707 2008-08-06 Andreas Schwab <schwab@suse.de>
708
709 * config.in: Regenerate.
710
711 2008-08-05 Chong Yidong <cyd@stupidchicken.com>
712
713 * xdisp.c (redisplay_window): Don't enforce scroll-margin when
714 forcing a window start.
715
716 * fileio.c (Vauto_save_list_file_name): Move here from file.el.
717 (auto_save_1): Update modtime when auto-save-list-file-name is on.
718
719 2008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
720
721 * emacs.c (main): Under NS, set working dir to HOME when get a "psn"
722 argument.
723
724 2008-08-05 Juanma Barranquero <lekktu@gmail.com>
725
726 * buffer.c (syms_of_buffer) <scroll-up-aggressively>:
727 <scroll-down-aggressively, before-change-functions>:
728 <after-change-functions>: Reflow docstrings.
729
730 2008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
731 Ken Raeburn <raeburn@gnu.org>
732
733 Dock menu customization, based on a patch by Ken Raeburn, plus some
734 other fixes.
735 * nsmenu.m (dockMenu): New variable.
736 (EmacsDialog -clicked:): Fix mistake in change of 2008-07-17.
737
738 * nsterm.h (dockMenu): Declare.
739
740 * nsterm.m (KEY_NS_NEW_FRAME): New definition.
741 (ns_term_init): Initialize dockMenu.
742 (EmacsApp -newFrame:, -applicationDockMenu:): New methods.
743 (EmacsView -windowShouldClose:): Don't behave specially if <= 1 frame
744 left.
745
746 * lisp.h (LSB_TAG): Use on DARWIN_OS, not NS_IMPL_COCOA.
747
748 2008-08-04 Chong Yidong <cyd@stupidchicken.com>
749
750 * nsterm.h: Test directly for NS_HAVE_INTEGER before defining it.
751
752 * config.in: Regenerate.
753
754 2008-08-04 Seiji Zenitani <zenitani@mac.com>
755
756 * nsfns.m (x-create-frame): Set the frame parameter alpha to nil.
757
758 2008-08-04 Chong Yidong <cyd@stupidchicken.com>
759
760 * nsterm.h (find_and_call_menu_selection): Fix prototype.
761
762 2008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
763
764 * emacs.c (main: unexec_init_emacs_zone): Call if on DARWIN_OS.
765
766 * keyboard.h: Comment an #endif.
767
768 * lisp.h (have_menus_p): Adjust comment.
769
770 * menu.c (find_and_return_menu_selection): Fix comparison with
771 client_data.
772
773 * nsmenu.m (popup_activated_flag): New variable.
774 (popup_activated): New function.
775 (menu-or-popup-active-p): New exported lisp definition.
776 (ns_popup_menu): Set popup_activated_flag. Call discard_menu_items()
777 when popup done.
778 (ns_popup_dialog): Set popup_activated_flag.
779
780 * nsterm.m (EmacsView -conversationIdentifier): Use NSInteger
781 version for GNUstep (handled by conditional typedef in nsterm.m).
782 (ns_get_color): Remove special-casing for "darkblue", "dark blue" (now
783 in rgb.txt).
784
785 * process.c (init_process): Use DARWIN_OS, not DARWIN.
786
787 * sysselect.h: Conditionalize init_process undef on DARWIN_OS.
788
789 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): Do it also under NS.
790
791 * xdisp.c (redisplay_internal, note_mouse_highlight): Under NS,
792 shortcircuit if popup_activated like GTK and X toolkit.
793
794 * m/inter386.h: Change DARWIN to DARWIN_OS.
795
796 * s/darwin.h: Add #define DARWIN_OS. Get rid of C_SWITCH_SYSTEM def.
797 Change LIBS_MACGUI to LIBS_NSGUI. Move temacs-conditionalized defs
798 closer to C_SWITCH_SYSTEM_TEMACS so usage is understood. Expand
799 comment on NO_SOCK_SIGIO.
800
801 2008-08-03 Chong Yidong <cyd@stupidchicken.com>
802
803 * nsterm.m (windowDidResize): Remove stopModal call.
804
805 2008-08-03 Andreas Schwab <schwab@suse.de>
806
807 * vm-limit.c (get_lim_data) [HAVE_GETRLIMIT && RLIMIT_AS]: Define.
808 (check_memory_limits): Don't handle HAVE_GETRLIMIT here.
809
810 2008-08-02 Chong Yidong <cyd@stupidchicken.com>
811
812 * vm-limit.c (check_memory_limits): Don't use getrlimit on cygwin.
813 Don't use uninitialized pointer variable when using getrlimit.
814
815 2008-08-02 Jason Rumney <jasonr@gnu.org>
816
817 * w32font.c (compute_metrics): Don't mess with glyph_idx setting here.
818
819 2008-08-02 Eli Zaretskii <eliz@gnu.org>
820
821 * alloc.c (NSTATICS): Bump to 0x640.
822
823 * s/gnu-linux.h (HAVE_PROCFS, LISTPROC, PROCATTR): New defines.
824
825 * lisp.h: Add prototype for directory_files_internal.
826
827 * process.c (Fsystem_processes_list, Fsystem_process_attributes):
828 New functions.
829 (syms_of_process): Defsubr them. Add initializations for various
830 Q* symbols used in procfs_system_process_attributes.
831 (procfs_list_system_processes, procfs_system_process_attributes)
832 [HAVE_PROCFS]: New functions.
833 (time_from_jiffies, ltime_from_jiffies, get_up_time, procfs_ttyname)
834 (procfs_get_total_memory): New functions.
835
836 2008-08-01 Juanma Barranquero <lekktu@gmail.com>
837
838 * xfaces.c (Fx_load_color_file): Fix previous change;
839 it is #ifdef WINDOWSNT, not WINDOWS_NT.
840
841 2008-08-01 Michael Albinus <michael.albinus@gmx.de>
842
843 * dbusbind.c (xd_read_message): Handle D-Bus error messages.
844
845 2008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
846
847 * nsterm.h (NSInteger, NSUInteger): Add defines for non-Leopard.
848
849 2008-08-01 Chong Yidong <cyd@stupidchicken.com>
850
851 * nsfns.m (ns_frame_parm_handlers): Add empty entry for x_set_alpha.
852
853 * nsterm.m (EmacsApp -application:openFiles:): GNUStep does not
854 define NSApplicationDelegateReplySuccess.
855 (EmacsView -converstationIdentifier): Use long instead of
856 NSInteger for GNUStep, since it doesn't have NSInteger.
857
858 * xmenu.c: Revert last change.
859
860 * keyboard.h: Fix last change.
861
862 2008-08-01 Juanma Barranquero <lekktu@gmail.com>
863
864 * xfaces.c (x-load-color-file): Use RGB() instead of manually shifting
865 on Windows.
866
867 2008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
868
869 Warning clearing and clean-up in NS port.
870 * keyboard.h (xmalloc_widget_value, digest_single_submenu):
871 Add prototypes.
872 * nsgui.h (FACE_DEFAULT): Remove, unused.
873 (XGCValues): Change colors to unsigned long.
874 * nsterm.h (EmacsApp): Add declaration of all methods implemented in
875 nsterm.m.
876 (EmacsMenu -addItemWithWidgetValue:): Change to use NSMenuItem class.
877 (ns_list_fonts): Remove, unused.
878 (ns_font_to_xlfd, ns_fontname_to_xlfd): Drop prototypes.
879 * nsfns.m (interpret_services_menu): Use NSMenuItem class.
880 * nsfont.m (nsfont_open): Fix cast error in glyphs,metrics alloc.
881 (nsfont_draw): Compare face colors to 0, not nil.
882 * nsmenu.m (struct widget_value): Drop unneeded declaration.
883 (EmacsMenu -addItemWithWidgetValue:, -fillWithWidgetValue:)
884 (-addSubmenuWithTitle:): Use NSMenuItem class.
885 (ns_popup_menu): Use NO, not NULL, for enabled setting.
886 * nsterm.m (ns_draw_glyph_string): Don't compare font to ~0.
887 (ns_clip_to_row): Make gc arg a BOOL.
888 (ns_draw_fringe_bitmap, ns_draw_window_cursor): Use YES, NO in
889 ns_clip_to_row() call.
890 (ns_draw_glyph_string): Drop face comparison to ~0 (no longer
891 used). Cast FRAME_FONT assignments.
892 (ns_read_socket): Cast call to EmacsApp-fulfillService:withArg:.
893 (ns_string_to_lispmod): Change arg to const char.
894 (ns_term_init): Use NSMenuItem class.
895 (EmacsApp -openFile:): Move to different section of file.
896 (EmacsApp -application:openFiles:): Don't return a value, call
897 -replyToOpenOrPrint:.
898 (EmacsView -keyDown:): Fix up cast.
899 (EmacsView -converstationIdentifier): Use NSInteger instead of long.
900 (EmacsView -menuDown:): Cast tag in call to
901 find_and_call_menu_selection().
902 (ns_list_fonts): Remove, unused.
903 (ns_font_to_xlfd): Make static. Cast result of UTF8String.
904 (ns_fontname_to_xlfd): Make static.
905 * w32menu.c (xmalloc_widget_value, digest_single_submenu):
906 Remove prototypes (now in keyboard.h).
907 (next_menubar_widget_id): Remove, unused.
908 * xmenu.c (xmalloc_widget_value, digest_single_submenu):
909 Remove prototypes (now in keyboard.h).
910 * xfaces.c (ns_list_fonts, w32_list_fonts): Remove, unused.
911
912 2008-08-01 Dan Nicolaescu <dann@ics.uci.edu>
913
914 * Makefile.in (dispnew.o, gtkutil.o, sound.o, atimer.o)
915 (floatfns.o): Depend on syssignal.h.
916 (term.o): Depend on syssignal.h, systty.h, and $(INTERVAL_SRC).
917
918 * systty.h: Fix previous change that removed BSD_TERMIOS.
919 Add comments to #ifdefs.
920
921 2008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
922
923 * w32fns.c (w32-load-color-file): Remove.
924 (x-open-connection): Use renamed Fx_load_color_file.
925 * xfaces.c (x-load-color-file): Add.
926 * nsterm.m (ns_initialize): Load colors from etc/rgb.txt instead of
927 Emacs.clr.
928 (hide_hourglass): BLOCK_INPUT before UNBLOCK.
929
930 2008-07-31 Michael Albinus <michael.albinus@gmx.de>
931
932 * dbusbind.c (Fdbus_call_method_asynchronously)
933 (Fdbus_method_error_internal): New defuns.
934 (xd_read_message): Handle also reply messages.
935 (Vdbus_registered_functions_table): Extend docstring.
936
937 2008-07-31 Juanma Barranquero <lekktu@gmail.com>
938
939 * keyboard.c (gobble_input): Fix previous change.
940
941 2008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
942
943 * bitmaps/README:
944 * xfns.c:
945 * termcap.c:
946 * term.c:
947 * syswait.h:
948 * systty.h:
949 * systime.h:
950 * syssignal.h:
951 * sysdep.c:
952 * process.h:
953 * process.c:
954 * print.c:
955 * ndir.h:
956 * lread.c:
957 * keyboard.c:
958 * getpagesize.h:
959 * floatfns.c:
960 * fileio.c:
961 * emacs.c:
962 * doc.c:
963 * dispnew.c:
964 * dired.c:
965 * data.c:
966 * callproc.c:
967 * buffer.c:
968 * README:
969 * Makefile.in:
970 * s/template.h:
971 * s/msdos.h:
972 * m/vax.h: Remove VMS support.
973 * s/vms.h:
974 * vlimit.h:
975 * uaf.h:
976 * temacs.opt:
977 * param.h:
978 * ioctl.h: Remove file.
979
980 2008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
981
982 * s/ms-w32.h (MULTI_KBOARD): Remove.
983 * xterm.c:
984 * xselect.c:
985 * xfns.c:
986 * window.c:
987 * w32term.c:
988 * w32fns.c:
989 * terminal.c:
990 * termhooks.h:
991 * term.c:
992 * sysdep.c:
993 * keyboard.h:
994 * keyboard.c:
995 * frame.h:
996 * frame.c:
997 * frame.c: Remove references to MULTI_KBOARD, it is now the default.
998 * config.in: Regenerate.
999
1000 2008-07-30 Jason Rumney <jasonr@gnu.org>
1001
1002 * w32font.h (struct w32font_info): Use unicode version of textmetrics.
1003
1004 * w32font.c (w32font_encode_char): Leave as unicode if in range.
1005 (w32font_open_internal): Get unicode version of textmetrics.
1006 Don't enable or disable glyph indices here.
1007 (w32font_open): Disable use of glyph indices.
1008
1009 * w32uniscribe.c (uniscribe_open): Enable use of glyph indices.
1010
1011 2008-07-30 Chong Yidong <cyd@stupidchicken.com>
1012
1013 * minibuf.c (Vread_buffer_function): Doc fix.
1014
1015 2008-07-30 John Paul Wallington <jpw@pobox.com>
1016
1017 * minibuf.c (read_buffer_completion_ignore_case): New var.
1018 (Fread_buffer): Use it.
1019
1020 2008-07-30 Dan Nicolaescu <dann@ics.uci.edu>
1021
1022 * systty.h (sensemode): Remove empty #if. Remove reference to
1023 BSD_TERMIOS, unused.
1024
1025 * sysdep.c: Remove reference to DGUX.
1026 (closedir): Remove reference to BROKEN_CLOSEDIR, unused.
1027
1028 * config.in: Regenerate.
1029
1030 2008-07-30 Jason Rumney <jasonr@gnu.org>
1031
1032 * w32uniscribe.c (uniscribe_encode_char): Fix glyph buffer size.
1033
1034 2008-07-29 Jason Rumney <jasonr@gnu.org>
1035
1036 * w32uniscribe.c (uniscribe_shape): Avoid using context if cache
1037 is populated.
1038 (uniscribe_encode_char): Always use uniscribe.
1039 Avoid using context if cache is populated.
1040
1041 2008-07-29 Jan Djärv <jan.h.d@swipnet.se>
1042
1043 * xmenu.c (Fx_menu_bar_open_internal): Use activate_item signal to
1044 open menu.
1045
1046 * gtkutil.c (menu_nav_ended): Remove.
1047 (create_menus): Remove signal connect for menu_nav_ended.
1048
1049 2008-07-28 Chong Yidong <cyd@stupidchicken.com>
1050
1051 * xdisp.c (redisplay_window): Check return value of
1052 compute_window_start_on_continuation_line before forcing a window
1053 start.
1054
1055 2008-07-28 Jason Rumney <jasonr@gnu.org>
1056
1057 * w32font.c (w32font_text_extents): Use w32_metric_cache consistently.
1058
1059 * w32term.c (w32_enable_unicode_output, cleartype_active):
1060 Remove obsolete display options.
1061 (x_draw_glyph_string_background): Don't use old cleartype_active
1062 workaround.
1063 (w32_initialize): Remove cleartype_active initialization.
1064 (syms_of_w32term): Remove w32_enable_unicode_output initialization.
1065
1066 2008-07-28 Andreas Schwab <schwab@suse.de>
1067
1068 * lisp.h (init_weak_hash_tables, syms_of_font)
1069 (xd_read_queued_messages, syms_of_dbusbind): Declare.
1070 (remove_hash_entry): Don't declare.
1071 * eval.c (maybe_call_debugger): Make static and move before use.
1072 * gtkutil.c: Include <X11/Xft/Xft.h> if HAVE_XFT.
1073 * xdisp.c: Include "gtkutil.h" if USE_GTK.
1074 * xterm.h (x_set_frame_alpha): Declare.
1075
1076 2008-07-28 Jan Djärv <jan.h.d@swipnet.se>
1077
1078 * gtkutil.c (menu_nav_ended): Revert change from 2008-07-24.
1079 (create_menus): Connect selection-done to menu_nav_ended.
1080
1081 2008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
1082
1083 * nsfns.m (x-create-frame): Add copy of parms argument to beginning.
1084 Set Vx_resource_name to a fallback. Replace read of 'buffered'
1085 parameter with read of 'alpha' one.
1086 (Qns_frame_parameter): Remove.
1087 * nsselection.m (selection-coding-system)
1088 (next-selection-coding-system, Vselection_coding_system)
1089 (Vnext_selection_coding_system): Drop.
1090
1091 2008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
1092
1093 * nsfns.m (do-applescript, do_applescript): Rename to
1094 ns-do-applescript, ns_do_applescript, and move within file.
1095
1096 2008-07-27 Dan Nicolaescu <dann@ics.uci.edu>
1097
1098 Remove support for Mac Carbon.
1099 * mactoolbox.c:
1100 * macterm.h:
1101 * macterm.c:
1102 * macselect.c:
1103 * macmenu.c:
1104 * macgui.h:
1105 * macfns.c:
1106 * mac.c: Remove file.
1107 * s/darwin.h:
1108 * m/intel386.h:
1109 * xfaces.c:
1110 * xdisp.c:
1111 * window.c:
1112 * tparam.c:
1113 * termhooks.h:
1114 * termcap.c:
1115 * term.c:
1116 * syssignal.h:
1117 * sysselect.h:
1118 * sysdep.c:
1119 * process.c:
1120 * lread.c:
1121 * lisp.h:
1122 * keyboard.c:
1123 * image.c:
1124 * fringe.c:
1125 * frame.h:
1126 * frame.c:
1127 * fontset.c:
1128 * font.h:
1129 * font.c:
1130 * fns.c:
1131 * fileio.c:
1132 * emacs.c:
1133 * dispnew.c:
1134 * dispextern.h:
1135 * config.in:
1136 * atimer.c:
1137 * Makefile.in: Remove code for Carbon
1138
1139 2008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1140
1141 * macterm.c (XDrawLine) [USE_MAC_IMAGE_IO]: Remove spurious return.
1142
1143 2008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1144
1145 * macterm.h (kCGBitmapByteOrder32Host): New define for
1146 non-universal SDKs.
1147
1148 * image.c (mac_create_cg_image_from_image, image_load_image_io)
1149 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
1150
1151 * macterm.c (XDrawLine, XCreatePixmapFromBitmapData)
1152 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
1153
1154 2008-07-26 David Robinow <drobinow@gmail.com> (tiny change)
1155
1156 * w32inevt.c: Include dispextern.h.
1157
1158 2008-07-26 Andreas Schwab <schwab@suse.de>
1159
1160 * print.c (print_object): Fix off-by-one in last change.
1161
1162 2008-07-25 Juanma Barranquero <lekktu@gmail.com>
1163
1164 * term.c (syms_of_term): Don't initialize default_orig_pair,
1165 default_set_foreground and default_set_background on Windows.
1166
1167 2008-07-25 Jason Rumney <jasonr@gnu.org>
1168
1169 * w32uniscribe.c (uniscribe_shape): Pass NULL for control arg to
1170 ScriptItemize. Clean up return value checking. Remove unused
1171 variables.
1172 (uniscribe_encode_char): Encode non-BMP characters with uniscribe
1173 shaping engine.
1174
1175 * w32font.c (w32font_has_char): Handle the case where we can't
1176 determine the script for a character.
1177
1178 2008-07-25 Chong Yidong <cyd@stupidchicken.com>
1179
1180 * term.c (syms_of_term): Initialize default_orig_pair,
1181 default_set_foreground, and default_set_background.
1182
1183 * getloadavg.c (nl): Rename to name_list to avoid ncurses.h
1184 clash (bug#86).
1185 (getloadavg): Callers changed.
1186
1187 * image.c (svg_load_image): Fix last change.
1188 (svg_load_image): Use rsvg_handle_get_dimensions to check that
1189 image size is valid. Use g_object_unref instead of deprecated
1190 rsvg_handle_free to free rsvg handle.
1191 (x_from_xcolors): Don't initialize pixmap (silence compiler).
1192
1193 2008-07-25 Jason Rumney <jasonr@gnu.org>
1194
1195 * w32font.c (w32font_encode_char): Encode characters outside BMP as
1196 surrogates before looking up glyph index.
1197 (w32font_text_extents): Encode as surrogates if falling back to
1198 functions that need UTF-16 wide chars.
1199
1200 * w32uniscribe.c (uniscribe_encode_char): Encode characters outside
1201 BMP as surrogates before looking up glyph index.
1202
1203 2008-07-25 Chong Yidong <cyd@stupidchicken.com>
1204
1205 * image.c (svg_load_image): Check for failure in return value of
1206 rsvg_handle_get_pixbuf. Free rsvg handle when done.
1207
1208 2008-07-25 Jason Rumney <jasonr@gnu.org>
1209
1210 * w32font.c (Fx_select_font): Reverse sense of second arg.
1211
1212 2008-07-24 Stefan Monnier <monnier@iro.umontreal.ca>
1213
1214 * syntax.c (struct lisp_parse_state, char_quoted, inc_bytepos)
1215 (dec_bytepos, find_defun_start): Use EMACS_INT for buffer positions.
1216
1217 * puresize.h (PURESIZE_CHECKING_RATIO): New macro.
1218 (PURESIZE): Use it.
1219
1220 2008-07-24 Dan Nicolaescu <dann@ics.uci.edu>
1221
1222 * m/amdx86-64.h (HAVE_LIB64_DIR): Consolidate ifdefs.
1223 * m/alpha.h (TEXT_END):
1224 * m/ibmrs6000.h (TEXT_END):
1225 * m/macppc.h (TEXT_END):
1226 * s/darwin.h (TEXT_END):
1227 * s/msdos.h (TEXT_END): Remove, unused.
1228 * s/gnu-linux.h (BSD_PGRPS): Add a comment.
1229 * s/cygwin.h: Remove comment.
1230
1231 * ecrt0.c (NODOT_GLOBAL_START): Remove code, unused.
1232 (DOT_GLOBAL_START): Remove conditional, redundant for CRT0_DUMMIES.
1233 * m/intel386.h (DOT_GLOBAL_START):
1234 * m/vax.h (DOT_GLOBAL_START): Remove, redundant with CRT0_DUMMIES.
1235 (USG): Remove, file not used on USG platforms.
1236
1237 * Makefile.in (HAVE_X11): Remove empty #else.
1238
1239 2008-07-24 Andreas Schwab <schwab@suse.de>
1240
1241 * fileio.c (Finsert_file_contents): Properly adjust undo list
1242 after format conversion.
1243
1244 2008-07-24 Jan Djärv <jan.h.d@swipnet.se>
1245
1246 * gtkutil.c (xg_get_font_name): Cast w to GTK_FONT_SELECTION_DIALOG.
1247 (menu_nav_ended): Remove.
1248 (create_menus): Remove signal connect for menu_nav_ended.
1249 (xg_update_menubar): Also take deactivate_cb as parameter, pass it to
1250 create_menus.
1251 (xg_modify_menubar_widgets): Pass deactivate_cb to xg_update_menubar.
1252
1253 2008-07-23 Jason Rumney <jasonr@gnu.org>
1254
1255 * w32font.c (w32_enumfont_pattern_entity): Return height consistent
1256 with opened font.
1257 (w32font_open): Set font type to gdi.
1258
1259 * w32uniscribe.c (uniscribe_open): Set font type to uniscribe.
1260
1261 2008-07-23 Dan Nicolaescu <dann@ics.uci.edu>
1262
1263 * s/usg5-4.h (ADDR_CORRECT): Remove, unused.
1264 * unexaix.c (ADDR_CORRECT): Remove conditional, the only user
1265 defines it.
1266 * unexec.c (ADDR_CORRECT): Define unconditionally.
1267
1268 * m/ibmrs6000.h (C_SWITCH_MACHINE): Remove.
1269
1270 * unexec.c: Remove code depending on !COFF and USG, the file is
1271 not used for such systems.
1272
1273 * s/netbsd.h (A_TEXT_OFFSET, A_TEXT_SEEK):
1274 * s/freebsd.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, unused.
1275 (LD_SWITCH_SYSTEM_1): Remove, update users.
1276
1277 * s/darwin.h (DATA_END):
1278 * m/intel386.h (DATA_END):
1279 * m/ibmrs6000.h (DATA_END):
1280 * m/alpha.h (DATA_END): Remove, unused.
1281
1282 * config.in: Regenerate.
1283 * s/ms-w32.h (subprocesses): Define unconditionally.
1284 * s/template.h (subprocesses): Update comment.
1285 * s/vms.h (subprocesses):
1286 * s/usg5-4.h (subprocesses):
1287 * s/hpux10-20.h (subprocesses):
1288 * s/gnu-linux.h (subprocesses):
1289 * s/cygwin.h (subprocesses):
1290 * s/bsd-common.h (subprocesses):
1291 * s/aix4-2.h (subprocesses):
1292 * s/darwin.h (subprocesses): Do not define, defined by default now.
1293
1294 * Makefile.in (C_SWITCH_SITE, LD_SWITCH_SITE): Remove, unused.
1295 Remove all references.
1296 (temacs): Add GNUStep specific ld flags.
1297
1298 * nsterm.m (syms_of_nsterm): Provide ns, not ns-windowing,
1299 similarly to what X does.
1300
1301 2008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
1302
1303 * nsfns.m (x-list-fonts): Remove.
1304 (syms_of_nsfns): Drop the x-list-fonts declaration.
1305 * nsterm.m: Get rid of remaining "//" comments.
1306
1307 2008-07-22 Chong Yidong <cyd@stupidchicken.com>
1308
1309 * xselect.c (Fx_rotate_cut_buffers_internal): Doc fix.
1310
1311 * nsselect.m (Fns_selection_exists_p, Fns_selection_owner_p)
1312 (Fx_get_selection_internal, Fns_rotate_cut_buffers_internal)
1313 (Fns_own_selection_internal, Fx_disown_selection_internal)
1314 (Fns_get_cut_buffer_internal, Fns_store_cut_buffer_internal):
1315
1316 * nsmenu.m (Fns_reset_menu, Fx_popup_menu): Change to use 'doc: /*
1317 ... */' style of docstrings. Doc fixes.
1318
1319 2008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
1320
1321 * terminfo.c (UP, BC, PC): Undo previous change.
1322
1323 * nsfns.m: Rename ns prefixed functions/variables to the
1324 corresponding x versions. Update references.
1325
1326 2008-07-22 Stefan Monnier <monnier@iro.umontreal.ca>
1327
1328 * syntax.c (char_quoted): Check "charpos > beg" before decrementing.
1329
1330 2008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
1331
1332 * nsfns.m (x_set_menu_bar_lines, x_set_tool_bar_lines):
1333 Remove forwarding functions.
1334 (ns_set_menu_bar_lines): Rename to x_set_menu_bar_lines, make
1335 non-static.
1336 (ns_set_tool_bar_lines): Rename to x_set_tool_bar_lines, make
1337 non-static.
1338 (ns_frame_parm_handlers): Use the new names.
1339 (syms_of_nsfns): Move to the end of file.
1340
1341 * nsterm.m (syms_of_nsterm): Move to the end of file.
1342
1343 * dispnew.c (init_display): Remove code for X10.
1344
1345 2008-07-22 Jason Rumney <jasonr@gnu.org>
1346
1347 * w32proc.c (Fw32_long_file_name): Don't append dir separator to
1348 bare drive.
1349
1350 2008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
1351
1352 * nsterm.m (syms_of_nsterm): Remove debugging println.
1353
1354 2008-07-22 David Reitter <david.reitter@gmail.com>
1355
1356 * nsfns.m (do_applescript, F_do_applescript): NS version of the
1357 Carbon implementation of the same functionality: execute arbitrary
1358 AppleScript code.
1359
1360 2008-07-21 Adrian Robert <Adrian.B.Robert@gmail.com>
1361
1362 * nsfns.m (Fx_create_frame, Fx_read_file_name, Fx_get_resource)
1363 (Fx_set_resource, Fx_set_alpha, Fx_server_max_request_size)
1364 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
1365 (Fx_display_mm_height, Fx_display_mm_width)
1366 (Fx_display_backing_store, Fx_display_visual_class)
1367 (Fx_display_save_under, Fx_open_connection)
1368 (Fx_close_connection, Fx_hide_emacs, Fx_font_name)
1369 (Fx_list_colors, Fx_perform_service, Fx_color_defined_p)
1370 (Fx_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
1371 (Fx_display_pixel_width, Fx_display_pixel_height)
1372 (Fx_display_usable_bounds, Fx_display_planes)
1373 (Fx_display_color_cells, Vns_icon_type_alist): Change to use 'doc: /*
1374 ... */' style of docstrings.
1375
1376 2008-07-21 Dan Nicolaescu <dann@ics.uci.edu>
1377
1378 * m/mips.h (LOAD_AVE_TYPE, LOAD_AVE_CVT): Do not define, not used
1379 on this platform.
1380 (mips):
1381 * m/iris4d.h (mips): Do not define.
1382 * sysdep.c (init_sys_modes): Use __mips__ instead of mips.
1383
1384 * m/ibmrs6000.h (LD_SWITCH_SITE): Remove.
1385
1386 * image.c:
1387 * nsfns.m:
1388 * nsselect.m:
1389 * nsterm.h:
1390 * nsterm.m: Rename ns prefixed functions/variables to the
1391 corresponding x versions. Update references.
1392
1393 * m/ibms390x.h (NO_REMAP): Do not undefine.
1394
1395 * m/amdx86-64.h: Use SOLARIS2 instead of sun.
1396
1397 2008-07-21 Chong Yidong <cyd@stupidchicken.com>
1398
1399 * nsfns.m: Change NS to Nextstep in docstrings and error messages.
1400 (Fns_create_frame, Fns_read_file_name, Fns_get_resource)
1401 (Fns_set_resource, Fns_set_alpha, Fns_server_max_request_size)
1402 (Fns_server_vendor, Fns_server_version, Fns_display_screens)
1403 (Fns_display_mm_height, Fns_display_mm_width)
1404 (Fns_display_backing_store, Fns_display_visual_class)
1405 (Fns_display_save_under, Fns_open_connection)
1406 (Fns_close_connection, Fns_hide_emacs, Fns_font_name)
1407 (Fns_list_colors, Fns_perform_service, Fns_color_defined_p)
1408 (Fns_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
1409 (Fns_display_pixel_width, Fns_display_pixel_height)
1410 (Fns_display_usable_bounds, Fx_display_planes)
1411 (Fns_display_color_cells, Vns_icon_type_alist): Doc fixes.
1412
1413 2008-07-21 Ami Fischman <ami@fischman.org> (tiny change)
1414
1415 * print.c (print_object): Check print_depth before searching for
1416 circularities.
1417
1418 2008-07-21 Michael Albinus <michael.albinus@gmx.de>
1419
1420 * dbusbind.c (Fdbus_register_signal): Use sprintf + strcat instead
1421 only sprintf.
1422
1423 2008-07-21 Kenichi Handa <handa@m17n.org>
1424
1425 * ftfont.c (adjust_anchor): Check if DetalValue is not NULL.
1426
1427 2008-07-20 Andreas Schwab <schwab@suse.de>
1428
1429 * syntax.c (find_start_pos, find_start_value)
1430 (find_start_value_byte, find_start_begv, find_defun_start)
1431 (back_comment, scan_sexps_forward): Use EMACS_INT for buffer positions.
1432
1433 2008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
1434
1435 * s/sol2-3.h: Insert contents of s/sol2.h.
1436 (LD_SWITCH_SYSTEM): Remove redundant definition.
1437 * s/sol2.h: Remove, unused.
1438
1439 2008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
1440
1441 * nsterm.m (ns_get_color): Recognize HSB,AHSB be synonyms for HSV,AHSV.
1442
1443 2008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
1444
1445 * Makefile.in (ns_appdir): Fix typo in find command.
1446
1447 2008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
1448
1449 * m/intel386.h (NO_REMAP): Do no define for USG, not used.
1450
1451 * s/usg5-4.h (LIBS_SYSTEM): Remove, system for which this was
1452 added not supported anymore.
1453
1454 * s/usg5-4-2.h (LIBS_SYSTEM):
1455 * s/sol2.h (LIBS_SYSTEM): Do not undefine.
1456
1457 * s/netbsd.h (GETPGRP_NO_ARG, N_TRELOFF):
1458 * s/lynxos.h (GETPGRP_NO_ARG):
1459 * s/hpux10-20.h (NO_SIOCTL_H):
1460 * s/gnu.h (GETPGRP_NO_ARG):
1461 * s/gnu-linux.h (NO_SIOCTL_H):
1462 * s/freebsd.h (GETPGRP_NO_ARG, N_TRELOFF):
1463 * s/cygwin.h (GETPGRP_NO_ARG):
1464 * s/irix6-5.h (LIBS_SYSTEM, GETPGRP_NO_ARG): Remove, unused.
1465 (C_DEBUG_SWITCH): Remove duplicate definition.
1466
1467 * m/ibms390.h: Remove boilerplate comments.
1468
1469 * sysdep.c (closedir): Use SOLARIS2 instead of sun && USG5_4.
1470
1471 * process.c (HAVE_SERIAL): Consolidate ifdefs.
1472 (wait_reading_process_output): Remove code for SunOS, platform not
1473 supported anymore. Use SOLARIS2 instead of sun.
1474
1475 2008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
1476
1477 * font.c (font_open_by_name): Under NS, default lface height to zero.
1478 (font_open_for_lface): Under NS, set size based on frame fontsize.
1479 * nsterm.m (EmacsView-changeFont:): Remove some commented code.
1480 * frame.c (x_set_frame_parameters): Remove HAVE_NS ifdef.
1481
1482 2008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
1483
1484 * nsterm.m (ns_antialias_text, ns_use_qd_smoothing)
1485 (ns_use_system_highlight_color): Switch these from DEFVAR_BOOL to
1486 DEFVAR_LISP and change all code accordingly to use Qt/Qnil instead of
1487 YES/NO.
1488 * nsterm.h (prevUseHighlightColor): Make a Lisp_Object.
1489 * nsfont.m (nsfont_draw): Treat ns_use_qd_smoothing as Lisp_Object.
1490 * Makefile.in (clean): Clear out build destination dir.
1491
1492 2008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
1493
1494 * Makefile.in (nsgui.h-related dependencies): Remove abbrev, xfns,
1495 xterm, xselect.
1496 * lisp.h: Remove declaration of hash_remove.
1497 * nsgui.h: Remove redefinitions of hash_remove.
1498 * fns.c (hash_remove): Rename to hash_remove_from_table.
1499
1500 2008-07-19 Seiji Zenitani <zenitani@mac.com>
1501
1502 * nsfont.m (nsfont_fmember_to_entity, nsfont_make_fontset_for_font):
1503 strdup() the family UTF8String before modifying it.
1504
1505 2008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
1506
1507 * nsterm.m (ns_maybe_dumpglyphs_background): Compare result from
1508 NS_FACE_BACKGROUND with 0 instead of nil.
1509 * nsfont.m (nsfont_draw): Same.
1510
1511 2008-07-19 Chong Yidong <cyd@stupidchicken.com>
1512
1513 * nsfns.m (ns_set_background_color): Fix crash.
1514
1515 2008-07-18 Chong Yidong <cyd@stupidchicken.com>
1516
1517 * Makefile.in (SOME_MACHINE_LISP): Remove ns-carbon-compat.elc.
1518
1519 2008-07-18 Dan Nicolaescu <dann@ics.uci.edu>
1520
1521 * puresize.h (BASE_PURESIZE): Increase to 1240000.
1522
1523 2008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1524
1525 * gtkutil.c: Include <config.h> instead of "config.h".
1526
1527 * lisp.h (Foverlay_buffer): Add EXFUN.
1528
1529 * process.c (create_process) [!WINDOWSNT && FD_CLOEXEC]: Wait for
1530 child process to complete child_setup. Undo 2005-09-21 change.
1531
1532 * s/darwin.h: Mention setsid after vfork.
1533
1534 2008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1535
1536 * Makefile.in (frame.o, keyboard.o, xdisp.o, xfaces.o):
1537 Depend on macgui.h.
1538
1539 * macfns.c (Fx_server_version): Don't use gestaltSystemVersionMajor,
1540 gestaltSystemVersionMinor, or gestaltSystemVersionBugFix.
1541
1542 * macterm.c (keycode_to_xkeysym_table): Add entries for f17, f18,
1543 and f19.
1544 [MAC_OSX] (fn_keycode_to_keycode_table): Likewise.
1545
1546 * macterm.h (gestaltSystemVersionMajor, gestaltSystemVersionMinor)
1547 (gestaltSystemVersionBugFix) [MAC_OS_X_VERSION_MAX_ALLOWED < 1040]:
1548 Remove enumerators.
1549
1550 * mactoolbox.c [USE_MAC_TSM] (mac_handle_text_input_event):
1551 Check if FACE_FROM_ID returns NULL.
1552
1553 2008-07-17 David Robinow <drobinow@gmail.com> (tiny change)
1554
1555 * w32inevt.c (change_frame_size): Remove extern declaration.
1556 (resize_event, maybe_generate_resize_event): Pass SAFE arg to
1557 change_frame_size.
1558
1559 2008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
1560
1561 * getloadavg.c: Revert last change (2008-07-15).
1562
1563 2008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
1564
1565 * Makefile.in: Replace emacsapp, emacsbindir, emacsappsrc variables
1566 set here with ns_appdir, ns_appresdir, ns_appbindir, ns_appsrc) set
1567 from configure.
1568
1569 2008-07-17 Dan Nicolaescu <dann@ics.uci.edu>
1570
1571 * s/sol2.h:
1572 * s/sol2-4.h: Reorganize conditionals.
1573
1574 * ecrt0.c: Remove code depending on m68000, not used anymore.
1575
1576 * fns.c (hash_remove): Make static.
1577 * lisp.h (hash_remove): Don't prototype.
1578
1579 * m/ibmrs6000.h:
1580 * m/ibms390x.h:
1581 * m/macppc.h: Remove boilerplate comments.
1582
1583 * m/sparc.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, only used on
1584 Solaris, which does not need them.
1585
1586 * m/vax.h: Remove comments about unsupported systems.
1587
1588 * s/darwin.h: Reorganize ifdefs.
1589
1590 2008-07-17 Andreas Schwab <schwab@suse.de>
1591
1592 * s/cygwin.h (LIB_STANDARD_LIBSRC): Don't define.
1593
1594 2008-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
1595
1596 Use SDATA. Follow coding convention of placing operators at
1597 beginning of next line rather than end of previous line, and placing
1598 spaces around infix operators.
1599
1600 * Makefile.in: Undef LIB_STANDARD before defining it to silence warning
1601 in case it was defined already.
1602 USE @GNUSTEP_MAKEFILES@ rather than envvars.
1603 * nsterm.m (ns_term_init): Pass Qt and Qnil rather than YES/NO to
1604 ns_default.
1605 (applicationShouldTerminate, setValuesFromPanel): Use EQ to compare
1606 Lisp_Objects.
1607 * nsterm.h (Fx_display_grayscale_p, Fx_display_planes)
1608 (ns_defined_color, ns_color_to_lisp): Declare.
1609 * nsselect.m (ns_handle_selection_request, ns_handle_selection_clear)
1610 (Fns_own_selection_internal): Make the big ugly hack more explicit, so
1611 it's accepted even with USE_LISP_UNION_TYPE.
1612 * nsmenu.m (ns_update_menubar): Use EQ to compare Lisp_Objects.
1613 (update_frame_tool_bar): Remove apparently obsolete tests for
1614 non-integerness of f->tool_bar_lines.
1615 (windowShouldClose, addButton, clicked, runDialogAt): Make the big ugly
1616 hack more explicit, so it's accepted even with USE_LISP_UNION_TYPE.
1617 * nsfont.m (nsfont_driver): Use just 0 rather than an invalid cast.
1618 (nsfont_open): Don't confuse NULL for Qnil.
1619 * nsfns.m (ns_implicitly_set_icon_type): Use EQ to compare Lisp_Objects.
1620 * menu.h (find_and_call_menu_selection):
1621 * menu.c (find_and_call_menu_selection): Use just int for vector size.
1622 (find_and_return_menu_selection): Always return something.
1623 * frame.h: Include dispextern.h for Display_Info.
1624 (display_x_get_resource): Declare.
1625
1626 2008-07-16 Adrian Robert <Adrian.B.Robert@gmail.com>
1627
1628 * syntax.c: Remove stdio.h include accidentally introduced in
1629 Emacs.app commit.
1630 * Makefile.in: Change GNUSTEP to NS_IMPL_GNUSTEP, COCOA to
1631 NS_IMPL_COCOA.
1632 * keyboard.c (handle_async_input, input_available_signal): Remove
1633 BSD4_1 conditional code, introduced accidentally in Emacs.app commit.
1634
1635 2008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
1636
1637 * nsterm.m (lisp_to_mod): Use parse_solitary_modifier instead.
1638 (ns_lisp_to_color): Don't mess with internal Lisp data fields.
1639 (ns_term_init, ns_term_shutdown, initFrameFromEmacs, ns_list_fonts):
1640 Use SDATA.
1641
1642 * keymap.c: Remove all NS-specific code.
1643 (where_is_preferred_modifier, Vwhere_is_preferred_modifier): New vars.
1644 (preferred_sequence_p): Rename from ascii_sequence_p; pay attention to
1645 where_is_preferred_modifier, return a different value depending on how
1646 preferred is the binding.
1647 (where_is_internal): Adjust accordingly.
1648 (Fwhere_is_internal): Refresh where_is_preferred_modifier.
1649 Adjust to new preferred_sequence_p.
1650 (syms_of_keymap): Declare `where-is-preferred-modifier'.
1651 * keyboard.c (parse_solitary_modifier): Not static any more.
1652 * keyboard.h (parse_solitary_modifier): Declare.
1653
1654 2008-07-16 Andreas Schwab <schwab@suse.de>
1655
1656 * Makefile.in (SOME_MACHINE_LISP): Remove easy-mmode, fix spelling
1657 of easymenu.
1658
1659 2008-07-16 Chong Yidong <cyd@stupidchicken.com>
1660
1661 * xdisp.c (move_it_in_display_line): Account for word wrap, so
1662 that we don't move off the line.
1663
1664 2008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
1665
1666 * keyboard.c (Qsuper): Remove.
1667 (parse_menu_item): Don't call where_is_internal specially for NS.
1668
1669 2008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
1670
1671 * s/gnu-linux.h: Remove boilerplate comments.
1672
1673 * m/alpha.h (__ELF__): Consolidate conditions.
1674
1675 * m/m68k.h (linux): Use GNU_LINUX instead.
1676 Remove boilerplate comments.
1677
1678 * m/intel386.h: Undo reactoring from previous change.
1679 (LIB_STANDARD): All systems that define USG define LIB_STANDARD
1680 too, remove dead code.
1681 (linux): Use GNU_LINUX instead.
1682
1683 2008-07-16 Jason Rumney <jasonr@gnu.org>
1684
1685 * w32gui.h: Repeat 26 June changes lost by last change.
1686
1687 2008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
1688
1689 * systty.h: Remove code for Aix on 386, unsupported platform.
1690
1691 * s/ms-w32.h: Remove boilerplate comments.
1692 (fcloseall, fgetchar, flushall, fputchar, getw, putw): Remove, unused.
1693
1694 * s/gnu-linux.h (TERM): Remove support.
1695 (HAVE_SYSVIPC): Remove, unused.
1696 (A_TEXT_OFFSET, A_TEXT_SEEK, ADJUST_EXEC_HEADER): Remove, not used
1697 for this system.
1698
1699 * process.c: Remove support for IRIS, unused.
1700 Remove support for TERM, not relevant anymore.
1701
1702 * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Remove, replace the only
1703 used with the definition.
1704
1705 * s/aix4-2.h (static): Do not undef.
1706
1707 * m/ibmrs6000.h: Remove code depending on USG5_4, this file is
1708 only used on Aix.
1709 (HAVE_SYSVIPC): Remove, unused.
1710
1711 * m/hp800.h (CANNOT_DUMP): Do not undef.
1712
1713 * m/alpha.h: Fix comment.
1714
1715 * s/usg5-4.h (HAVE_SYSVIPC): Remove, unused.
1716 (USG_SHARED_LIBRARIES): Remove, only used in unexec.c which is not
1717 used by this configuration.
1718 * emacs.c: Remove code depending on USG_SHARED_LIBRARIES.
1719 * unexec.c: Remove code depending on HPUX and
1720 USG_SHARED_LIBRARIES, not used with this file. Remove code
1721 depending on IRIS, unused. Remove if 0-ed code.
1722
1723 * s/template.h: Remove comments about static.
1724
1725 * sysdep.c: Remove code depending on NEED_PTEM_H, unused.
1726 Remove if 0-ed code.
1727 (baud_convert): Don't depend on BAUD_CONVERT, all definitions the
1728 were the same as the default.
1729 * s/vms.h (BAUD_CONVERT): Remove, same as the default.
1730 Remove boilerplate comments.
1731 * s/hpux10-20.h (BAUD_CONVERT): Remove, same as the default.
1732 (HAVE_SYSVIPC): Remove, unused.
1733 (LD_SWITCH_SYSTEM_TEMACS): Simplify, hp9000s700 not supported anymore.
1734
1735 * m/ia64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
1736 Remove boilerplate comments.
1737 * m/amdx86-64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
1738 Remove boilerplate comments.
1739 * m/ibms390x.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
1740 Remove boilerplate comments.
1741 * lisp.h (PNTR_COMPARISON_TYPE): Define it unconditionally.
1742
1743 * m/intel386.h (DATA_SEG_BITS): Remove definitions, only used on
1744 USG systems which do not use DATA_SEG_BITS.
1745 Refactor code. Remove boilerplate comments.
1746
1747 * m/ibms390.h:
1748 * m/m68k.h:
1749 * s/bsd-common.h:
1750 * s/cygwin.h:
1751 * s/darwin.h:
1752 * s/freebsd.h:
1753 * s/gnu.h:
1754 * s/msdos.h: Remove boilerplate comments.
1755
1756 * m/iris4d.h: Remove boilerplate comments and code for systems that
1757 do not use this file.
1758 (IRIS_4D): Remove, unused.
1759
1760 * m/mips.h: Remove boilerplate comments and code for systems that
1761 do not use this file.
1762 (SIGN_EXTEND_CHAR):
1763 * m/arm.h (SIGN_EXTEND_CHAR): Remove, unused.
1764 * unexmips.c: Remove file, unused.
1765
1766 * editfns.c (Fuser_full_name): Replace the only use of
1767 USER_FULL_NAME with its value.
1768 * config.in: Regenerate.
1769
1770 2008-07-16 David Reitter <david.reitter@gmail.com>
1771
1772 * Makefile.in: Add ns-win, ns-carbon-compat, easy-mmode and
1773 easy-menu to SOME_MACHINE_LISP for the new NeXTstep port.
1774
1775 2008-07-16 Glenn Morris <rgm@gnu.org>
1776
1777 * emacs.c (system-type): Doc fix.
1778
1779 2008-07-15 Stefan Monnier <monnier@iro.umontreal.ca>
1780
1781 * keyboard.c (parse_menu_item): Don't use cachelist, even under NS.
1782 If the cache doesn't work, let's fix it, rather than work around it.
1783
1784 2008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
1785
1786 * Makefile.in: Correct additions for nsfont.o in last commit.
1787 * nsfont.m: New file (forgot last commit).
1788
1789 2008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
1790
1791 * callproc.c (set_initial_environment): Initialize
1792 Vprocess_environment under CANNOT_DUMP (fixes crash when
1793 batch-compiling for bootstrap).
1794
1795 2008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
1796 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1797
1798 (make_initial_frame): Call init_frame_faces(f) in CANNOT_DUMP case --
1799 fix crash due to different init order.
1800
1801 2008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
1802
1803 Changes and additions for NeXTstep windowing system (Cocoa and
1804 GNUstep) support.
1805
1806 * Makefile.in:
1807 * config.in: Support defines and build commands for NS port.
1808 * blockinput.h (BLOCK_INPUT, UNBLOCK_INPUT, TOTALLY_UNBLOCK_INPUT)
1809 (UNBLOCK_INPUT_TO): Don't use under NS unless EXPERIMENTAL_CONTROL_G.
1810 * dispextern.h: Include nsgui.h and add needed typedefs under NS
1811 windowing.
1812 (struct face): Add synth_ital field.
1813 * dispnew.c: Include nsterm.h when compiling under NS windowing.
1814 (init_display): Initialize Vinitial_window_system to "ns" when so
1815 compiled.
1816 * emacs.c: Include GSConfig.h when compiling under GNUstep.
1817 (display_arg): Use under NS.
1818 (main): Under NS, allocate autorelease pool and handle command line
1819 args. Move syms_of_xmenu() call under #ifdef HAVE_X_WINDOWS.
1820 (standard_args): Add NS-specific args.
1821 (shut_down_emacs): Shut down NS terminal if compiled under NS.
1822 * font.c (DEFAULT_ENCODING): New variable.
1823 (font_find_for_lface): Use it.
1824 (syms_of_font): Load syms_of_nsfont under NS.
1825 * font.h: Declare nsfont_driver when compiled under NS.
1826 * fontset.c: When compiling under NS, include nsterm.h.
1827 (fontset_from_font): Autoconstruct fontset under NS.
1828 * frame.c (various): Under NS, include nsterm.h, add Qns window system
1829 symbol, document and use it.
1830 (do_switch_frame): When for_deletion under Cocoa, add
1831 Fraise_frame(Qnil).
1832 (x_set_frame_parameters): Ensure font attribute changes are picked up.
1833 (x_get_arg): Allow "yes" and "no" as boolean values.
1834 (syms_of_frame): Declare Qns. Init Vdefault_frame_scroll_bars to
1835 Qright under Cocoa.
1836 (focus-follows-mouse): Default to 0 under NS.
1837 * frame.h (enum output_method): Add output_ns.
1838 (external_tool_bar, external_menu_bar, FRAME_EXTERNAL_TOOLBAR)
1839 (FRAME_EXTERNAL_MENU_BAR): Use under NS.
1840 (FRAME_WINDOW_P): NS-specific definition.
1841 * fringe.c (max_used_fringe_bitmap): Make public.
1842 * getloadavg.c (mach/mach.h): Include it under NeXT descendant OS's.
1843 (getloadavg): Use NeXT code under descendant OS's.
1844 * image.c (includes and header section, x_create_bitmap_from_data)
1845 (x_create_bitmap_from_file, free_bitmap_record, image_background)
1846 (image_background_transparent, x_clear_image_1)
1847 (x_create_x_image_and_pixmap, x_destroy_x_image, x_put_x_image)
1848 (Create_Pixmap_From_Bitmap_Data, xpm_load_image, lookup_rgb_color)
1849 (x_to_xcolors, x_from_xcolors, x_disable_image)
1850 (x_build_heuristic_mask, syms_of_image): Add NS support parallel to
1851 other GUIs, including XPM support using code originally written for
1852 Carbon GUI.
1853 (png_load, jpeg_load, tiff_load, gif_load): Add implementations
1854 using NS API.
1855 (image_ascent): Use font metrics macros instead of direct struct field
1856 access.
1857 * keyboard.c (includes): Add nsterm.h when compiling under NS.
1858 (kbd_buffer_get_event): Handle NS as other GUI windowing systems.
1859 Also, handle NS as GTK for menu bar purposes.
1860 (make_lispy_event): Handle NS as other GUI windowing systems, and as X
1861 toolkit where they differ.
1862 (parse_menu_item): Prefer keybindings using 'super' modifier. Also,
1863 use cachelist, still needed under NS.
1864 * keyboard.h (ENCODE_MENU_STRING, XtPointer, Boolean): Handle as NTGUI.
1865 (struct widget_value): Define it here for menu.c.
1866 * keymap.c (includes): Include modifier internals.
1867 (lisp_to_mod, modifier_sequence_p): New functions, compiled only under
1868 NS.
1869 (where_is_internal, Fwhere_is_internal): When compiled under NS, add
1870 support for preferring sequences using certain modifiers, specified by
1871 the FIRSTONLY argument.
1872 * lisp.h (hash_remove): Rename to avoid name clash when compiling
1873 under NS GNUstep implementation.
1874 (USE_LSB_TAG): Use it under Cocoa when compiling under NS.
1875 * lread.c (init_lread): Treat NS as HAVE_CARBON for turn_off_warning.
1876 * menu.c: Include nsterm.h under NS.
1877 (single_menu_item, parse_single_submenu, xmalloc_widget_value)
1878 (free_menubar_widget_tree_value, update_submenu_strings)
1879 (find_and_call_menu_selection): Treat NS as X and NT.
1880 (find_and_return_menu_selection): New function, used for popup menus.
1881 * nsgui.h:
1882 * nsterm.h:
1883 * nsfns.m:
1884 * nsimage.m:
1885 * nsmenu.m:
1886 * nsselect.m:
1887 * nsterm.m: New files.
1888 * process.c (wait_reading_process_output): Under NS, call ns_select()
1889 instead of plain select().
1890 * syntax.c (char_quoted): Under NS, avoid a crash when called near
1891 beginning of buffer.
1892 * sysselect.h (init_process): Rename when compiling under Cocoa to
1893 avoid name conflict.
1894 * termhooks.h (display_info): Add ns_display_info to union.
1895 * terminal.c (Fterminal_live_p): Add ns to terminal types.
1896 * terminfo.c (UP, BC, PC): Don't declare when compiling under NS in
1897 COCOA environment.
1898 * unexnext.c: Update to work with mach API on Mac OS X, and to use new
1899 unexec() signature. (Note, this will dump, but the resulting file
1900 crashes; unexosx is used instead; keeping around for reference and
1901 possible aid in getting dump working under GNUstep.)
1902 * w32gui.h (button_type, widget_value): Remove definitions (now in
1903 keyboard.h).
1904 * window.c: Include nsterm.h when compiling under NS.
1905 * xdisp.c (includes): Include nsterm.h when compiling under NS.
1906 (set_frame_menubar, update_menu_bar, display_menu_bar): Handle NS as
1907 other GUI windowing systems.
1908 (update_tool_bar, redisplay_tool_bar, redisplay_window): Handle NS as
1909 GTK.
1910 (x_consider_frame_title): Under NS, set icon type and frame
1911 modified-state indicator; use ns_set_name_as_filename() when using
1912 formatted title.
1913 (update_window_cursor): Make public when compiling under NS.
1914 (display_hourglass_p, syms_of_xdisp, hourglass_shown_p)
1915 (hourglass_atimer, Vhourglass_delay
1916 * xfaces.c (header section, init_frame_faces, clear_font_table)
1917 (defined_color, unload_color, x_face_list_fonts)
1918 (prepare_face_for_display): Add NS support parallel to other GUIs.
1919 Emulate GCs like other non-X GUIs.
1920 (split_font_name): Don't lowercase font name under NS.
1921 (merge_face_ref, Finternal_set_lisp_face_attribute): Support stippling
1922 under NS.
1923 * s/darwin.h: Add support for compilation under NS.
1924
1925 2008-07-15 Jason Rumney <jasonr@gnu.org>
1926
1927 * w32fns.c (Fx_create_frame): Remove duplicate unwind_protect.
1928 (w32_show_hourglass): Rename from show_hourglass.
1929 (w32_hide_hourglass): Rename from hide_hourglass.
1930 (DEFAULT_HOURGLASS_DELAY): Revert from last change.
1931 (Vhourglass_delay): Declare extern.
1932 (hourglass_started): Remove.
1933
1934 * xdisp.c (Vhourglass_delay): Remove static.
1935 (hourglass_started, start_hourglass, cancel_hourglass):
1936 Don't include these versions on WINDOWSNT.
1937
1938 2008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
1939
1940 * dispextern.h (hourglass_shown_p, hourglass_atimer): New extern
1941 variables (formerly in xfns.c).
1942 (show_hourglass, hide_hourglass): New prototypes (same).
1943 * xdisp.c (display_hourglass_p, hourglass_shown_p, hourglass_atimer)
1944 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY): New variables (formerly
1945 in xfns.c).
1946 (syms_of_xdisp): Declare/initialize display-hourglass,
1947 hourglass-delay. Initialize hourglass_atimer, hourglass_shown_p.
1948 (hourglass_started, start_hourglass, cancel_hourglass): New functions,
1949 formerly in xfns.c.
1950 * xfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
1951 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
1952 (start_hourglass, cancel_hourglass): Remove.
1953 (show_hourglass, hide_hourglass): Remove prototypes and static
1954 modifiers.
1955 (syms_of_xfns): Remove display-hourglass, hourglass-delay,
1956 hourglass_atimer, hourglass_shown_p declaration/initialization.
1957 * macfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
1958 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
1959 (start_hourglass, cancel_hourglass): Remove.
1960 (show_hourglass, hide_hourglass): Remove prototypes and static
1961 modifiers.
1962 (syms_of_macfns): Remove display-hourglass, hourglass-delay,
1963 hourglass_atimer, hourglass_shown_p declaration/initialization.
1964 * w32fns.c (display_hourglass_p, Vhourglass_delay)
1965 (DEFAULT_HOURGLASS_DELAY): Remove.
1966 (syms_of_w32fns): Remove display-hourglass, hourglass-delay,
1967 hourglass_shown_p declaration/initialization.
1968
1969 2008-07-14 Jason Rumney <jasonr@gnu.org>
1970
1971 * w32fns.c (w32_get_arg): Remove wrapper function.
1972 (w32_createwindow, x_icon, x_create_tip_frame): Use x_get_arg
1973 directly.
1974 (Fx_create_frame): Sync with xfns.c. Use x_get_arg directly.
1975
1976 2008-07-14 Kenichi Handa <handa@m17n.org>
1977
1978 * xfont.c (xfont_open): Add workaround for X's bug.
1979
1980 2008-07-14 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
1981
1982 * fontset.c: Include <stdio.h> unconditionally.
1983
1984 2008-07-13 Michael Albinus <michael.albinus@gmx.de>
1985
1986 * dbusbind.c (Fdbus_register_signal): Allow also signal arguments
1987 for filtering.
1988
1989 2008-07-13 Dan Nicolaescu <dann@ics.uci.edu>
1990
1991 * s/vms.h: Use __GNUC__ instead of _GNUC_.
1992
1993 * m/macppc.h:
1994 * m/alpha.h: Use GNU_LINUX instead of LINUX. Reorganize conditionals.
1995
1996 * m/ibms390x.h (XINT, XUINT): Don't define, same as the default
1997 (SPECIAL_EMACS_INT):
1998 * m/ia64.h (SPECIAL_EMACS_INT):
1999 * m/amdx86-64.h (SPECIAL_EMACS_INT):
2000 * s/gnu.h (NLIST_STRUCT):
2001 * s/aix4-2.h (X11R5_INHIBIT_I18N):
2002 * s/gnu-linux.h (LINUX):
2003 * s/msdos.h (HAVE_FACES):
2004 * s/ms-w32.h (HAVE_FACES): Don't define, unused.
2005
2006 * systty.h:
2007 * sysdep.c (setup_pty): Don't depend on SYSV_PTYS, it is not used
2008 anymore.
2009
2010 2008-07-12 Dan Nicolaescu <dann@ics.uci.edu>
2011
2012 * syswait.h: Remove old if 0 code. Do not define WAITTYPE, it was
2013 always defined as int.
2014
2015 * s/netbsd.h (HAVE_UNION_WAIT, HAVE_WAIT_HEADER, WAIT_USE_INT):
2016 * s/gnu.h (HAVE_WAIT_HEADER, WAIT_USE_INT, HAVE_UNION_WAIT):
2017 * s/gnu-linux.h (HAVE_WAIT_HEADER):
2018 * s/freebsd.h (HAVE_WAIT_HEADER):
2019 * s/bsd-common.h (HAVE_UNION_WAIT):
2020 * s/aix4-2.h (HAVE_WAIT_HEADER):
2021 * m/mips.h (HAVE_UNION_WAIT):
2022 * s/usg5-4.h (HAVE_WAIT_HEADER, WAITTYPE): Do not define, not used.
2023 (COFF, static): Do not define, they are undefined later in the file.
2024
2025 * process.c (update_status): Don't use a union.
2026 (status_convert):
2027 (sigchld_handler): Use int instead of WAITTYPE.
2028
2029 2008-07-12 Chong Yidong <cyd@stupidchicken.com>
2030
2031 * indent.c (Fvertical_motion): Restore hscroll before moving to
2032 goal column.
2033
2034 2008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
2035
2036 * lisp.h: Remove left over code.
2037
2038 2008-07-11 Andreas Schwab <schwab@suse.de>
2039
2040 * lisp.h: Fix logic in last change.
2041
2042 * menu.h: New file.
2043 * menu.c: Include it.
2044 * xmenu.c: Likewise.
2045 * Makefile.in: Update dependencies.
2046
2047 2008-07-11 Kenichi Handa <handa@m17n.org>
2048
2049 * fontset.c (fontset_from_font): Cancel the previous change.
2050
2051 2008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
2052
2053 * lisp.h:
2054 * w32heap.c:
2055 * emacs.c:
2056 * alloc.c: Replace all references of NO_UNION_TYPE with
2057 USE_LISP_UNION_TYPE.
2058
2059 * m/xtensa.h (NO_UNION_TYPE):
2060 * m/vax.h (NO_UNION_TYPE):
2061 * m/template.h (NO_UNION_TYPE):
2062 * m/sparc.h (NO_UNION_TYPE):
2063 * m/mips.h (NO_UNION_TYPE):
2064 * m/macppc.h (NO_UNION_TYPE):
2065 * m/m68k.h (NO_UNION_TYPE):
2066 * m/iris4d.h (NO_UNION_TYPE):
2067 * m/intel386.h (NO_UNION_TYPE):
2068 * m/ibms390x.h (NO_UNION_TYPE):
2069 * m/ibms390.h (NO_UNION_TYPE):
2070 * m/ibmrs6000.h (NO_UNION_TYPE):
2071 * m/ia64.h (NO_UNION_TYPE):
2072 * m/hp800.h (NO_UNION_TYPE):
2073 * m/arm.h (NO_UNION_TYPE):
2074 * m/amdx86-64.h (NO_UNION_TYPE):
2075 * m/alpha.h (NO_UNION_TYPE): Remove definition, all platform were
2076 defining it the same.
2077
2078 2008-07-10 Chong Yidong <cyd@stupidchicken.com>
2079
2080 * xdisp.c (move_it_to): Backtrack if past the edge of a wrapped line.
2081
2082 2008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
2083
2084 * fileio.c:
2085 * sysdep.c
2086 * systty.h:
2087 * m/ibmrs6000.h:
2088 * m/iris4d.h:
2089 * s/aix4-2.h:
2090 * s/freebsd.h:
2091 * s/gnu-linux.h:
2092 * s/hpux10-20.h:
2093 * s/hpux11.h:
2094 * s/netbsd.h:
2095 * s/sol2-3.h:
2096 * s/sol2-4.h:
2097 * s/sol2.h:
2098 * s/usg5-4.h:
2099 * s/vms.h: Remove references to unused variables.
2100
2101 2008-07-10 Andreas Schwab <schwab@suse.de>
2102
2103 * ftfont.c (ftfont_resolve_generic_family): Remove foundry from
2104 pattern before matching the generic family.
2105
2106 2008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
2107
2108 * unexec.c:
2109 * s/vms.h:
2110 * s/usg5-4-2.h:
2111 * s/sol2-5.h:
2112 * s/freebsd.h:
2113 * s/darwin.h: Remove dead code.
2114
2115 * m/template.h:
2116 * m/sparc.h:
2117 * m/mips.h:
2118 * m/m68k.h:
2119 * m/iris4d.h:
2120 * m/intel386.h:
2121 * m/ibms390x.h:
2122 * m/ibms390.h:
2123 * m/ia64.h:
2124 * m/hp800.h:
2125 * m/arm.h:
2126 * m/amdx86-64.h: Remove dead code and references to unused
2127 and compiler defined symbols.
2128
2129 * unexmips.c:
2130 * unexelf.c: Remove references to desupported systems.
2131
2132 * m/powermac.h: Remove file, it is now identical to m/macppc.h.
2133
2134 * m/powermac.h: Remove boilerplate comments.
2135 (NO_REMAP): Remove unused definition.
2136
2137 * m/macppc.h (UNEXEC, NO_TERMIO): Don't define, the s/ files
2138 define them.
2139
2140 2008-07-10 Kenichi Handa <handa@m17n.org>
2141
2142 * xfont.c (xfont_open): Log the reason of failure.
2143
2144 2008-07-09 Stefan Monnier <monnier@iro.umontreal.ca>
2145
2146 * fontset.c (fontset_get_font_group):
2147 * font.c (font_check_otf): Specify argument types.
2148
2149 2008-07-09 Kenichi Handa <handa@m17n.org>
2150
2151 * coding.c (detect_coding_utf_8): Set detect_info->found only when
2152 non-ASCII char is found.
2153
2154 * fontset.c (fontset_compare_rfontdef): Fix plus/minus.
2155 (reorder_font_vector): Change the arg preferred_family to font.
2156 Prefer the spec matching with font.
2157 (fontset_get_font_group): New function.
2158 (fontset_find_font): Change the format of an element of a realized
2159 fontset. Use fontset_get_font_group.
2160 (fontset_font): Try the current fontset, the default fontset, the
2161 fallbacks of the current fonset, and the fallbacks of the default
2162 fontset in this order.
2163 (face_for_char): Delete the shortcut to use the current font.
2164 (fontset_from_font): Don't set fonts for Latin in the fontset.
2165
2166 * font.h (font_make_object, font_match_p): Adjust prototypes.
2167
2168 * ftfont.h [FT_BDF_H]: Include FT_BDF_H.
2169
2170 * font.c (font_make_object): New arg entity and pixelsize.
2171 (font_check_otf_features, font_check_otf): New functions.
2172 (font_match_p): Check :lang, :script, and :otf properties.
2173
2174 * xfont.c (xfont_open): Adjust it for the change of
2175 font_make_object.
2176 (xfont_text_extents): Fix initial setting of metrics.
2177
2178 * ftfont.c (struct ftfont_info): New member index, delete member
2179 fc_charset_idx. Make the member order compatible with struct
2180 xftfont_info.
2181 (fc_charset_table): Change charset names to registry names.
2182 (ftfont_pattern_entity): Delete the args registry and
2183 fc_charset_idx. Change the value of :font-entity property
2184 to (FONTNAME . INDEX). Always set :registry property to
2185 `iso10646-1'.
2186 (struct ftfont_cache_data): New struct.
2187 (ftfont_lookup_cache): New arg for_face.
2188 (ftfont_get_fc_charset, ftfont_get_otf): New functions.
2189 (ftfont_driver): Set the member otf_capability.
2190 (ftfont_get_charset): Adjust it for the change of
2191 fc_charset_table.
2192 (OTF_TAG_SYM): New macro.
2193 (ftfont_spec_pattern): Delete the arg fc_charset_idx. Adjust it
2194 for the change of fc_charset_table.
2195 (ftfont_list): Adjust it for the change of ftfont_spec_pattern and
2196 ftfont_pattern_entity. Add FC_INDEX to objset.
2197 (ftfont_match): Adjust it for the change of ftfont_spec_pattern
2198 and ftfont_pattern_entity.
2199 (ftfont_open): Adjust it for the change of ftfont_lookup_cache,
2200 font_make_object, struct ftfont_info.
2201 (ftfont_has_char): Use ftfont_get_fc_charset.
2202 (ftfont_otf_features, ftfont_otf_capability): New functions.
2203 (ftfont_shape): Use ftfont_get_otf.
2204 (ftfont_text_extents): Fix initial setting of metrics.
2205
2206 * xftfont.c (struct xftfont_info): New member ft_size. Make the
2207 member order compatible with struct ftfont_info.
2208 (xftfont_open): Add FC_CHARSET to the pattern. Set
2209 xftfont_info->ft_size. Don't unlock the face. Check BDF
2210 properties if appropriate.
2211 (xftfont_close): Unlock the face.
2212 (xftfont_anchor_point, xftfont_shape): Deleted.
2213 (syms_of_xftfont): Don't set members anchor_point and shape of
2214 xftfont_driver.
2215
2216 * w32uniscribe.c (uniscribe_open): Adjust it for the change of
2217 font_make_object.
2218
2219 * w32font.c (w32font_open): Adjust it for the change of
2220 font_make_object.
2221 (w32font_open_internal): Don't set properties of font_object here.
2222
2223 2008-07-08 Chong Yidong <cyd@stupidchicken.com>
2224
2225 * macfns.c (x_create_tip_frame):
2226 * w32fns.c (x_create_tip_frame):
2227 * xfns.c (x_create_tip_frame): Pass parameter argument to
2228 face-set-after-frame-default.
2229
2230 * xfaces.c (Finternal_merge_in_global_face): Save merged
2231 attributes for the default face back into the face vector.
2232
2233 2008-07-08 Andreas Schwab <schwab@suse.de>
2234
2235 * fontset.h: Declare fontset_from_font. Don't declare
2236 new_fontset_from_font and fontset_from_font_name.
2237 * xterm.c: Include "fontset.h".
2238 * Makefile.in (xterm.o): Update dependencies.
2239
2240 2008-07-08 Glenn Morris <rgm@gnu.org>
2241
2242 * m/sparc.h: Define __sparc__ rather than sparc. (Bug#507.)
2243 * alloc.c, ecrt0.c: Use __sparc__ rather than sparc.
2244
2245 2008-07-07 Chong Yidong <cyd@stupidchicken.com>
2246
2247 * frame.c (Qinhibit_face_set_after_frame_default): Var deleted.
2248 (x_set_frame_parameters): Don't bind it.
2249
2250 2008-07-07 Juanma Barranquero <lekktu@gmail.com>
2251
2252 * w32fns.c (map_w32_filename): Declare extern.
2253
2254 2008-07-07 Jason Rumney <jasonr@gnu.org>
2255
2256 * w32term.c (WS_EX_LAYERED): Define if not already.
2257
2258 2008-07-06 Chong Yidong <cyd@stupidchicken.com>
2259
2260 * xfaces.c (set_font_frame_param): Don't try to set the font
2261 parameter if it is still unspecified in the lface.
2262
2263 2008-07-05 Chong Yidong <cyd@stupidchicken.com>
2264
2265 * xfaces.c (Finternal_merge_in_global_face): Don't realize default
2266 face if it didn't already exist.
2267
2268 * xdisp.c (try_window_id): Give up if word-wrapping is on.
2269
2270 2008-07-05 Andreas Schwab <schwab@suse.de>
2271
2272 * xdisp.c (get_it_property): Move out of HAVE_WINDOW_SYSTEM section.
2273
2274 2008-07-05 Chong Yidong <cyd@stupidchicken.com>
2275
2276 * xdisp.c (IT_OVERFLOW_NEWLINE_INTO_FRINGE): Turn it off if
2277 word-wrapping.
2278 (IT_DISPLAYING_WHITESPACE): New macro.
2279 (move_it_in_display_line_to): Handle MOVE_TO_X requests properly
2280 when word-wrapping. Simplify word-wrapping logic. Use correct
2281 pixel positions when saving copies of the iterator.
2282 (display_line): Use proper wrap point if the last character on a
2283 line was preceded by whitespace.
2284
2285 2008-07-04 Stefan Monnier <monnier@iro.umontreal.ca>
2286
2287 * Makefile.in (${etc}DOC): Depend on ${lisp} rather than ${shortlisp}.
2288
2289 2008-07-04 Kenichi Handa <handa@m17n.org>
2290
2291 * fns.c (Fstring_to_unibyte): Delete the arg ACCEPT-LATIN-1.
2292
2293 * lisp.h: EXFUN adjusted for the change of Fstring_to_unibyte.
2294
2295 2008-07-02 Jason Rumney <jasonr@gnu.org>
2296
2297 * xfns.c (syms_of_xfns): Only define x-select-font when both
2298 HAVE_FREETYPE and USE_GTK
2299
2300 * xdisp.c (next_element_from_display_vector): Move assignment out
2301 of if statement.
2302
2303 2008-07-02 Toru Tsuneyoshi <t_tuneyosi@hotmail.com>
2304
2305 * lisp.h (Qdelete_file, Qdelete_directory): Declare extern.
2306
2307 * fileio.c (delete_by_moving_to_trash, Qmove_file_to_trash): New vars.
2308 (syms_of_fileio): Initialize and export them.
2309 (Fdelete_directory, Fdelete_file): Optionally delete via trash.
2310
2311 * w32fns.c (FOF_NO_CONNECTED_ELEMENTS): Define if not already.
2312 (Fsystem_move_file_to_trash): New function.
2313 (syms_of_w32fns): Export it to lisp.
2314
2315 2008-07-01 Jason Rumney <jasonr@gnu.org>
2316
2317 * w32font.c (w32font_text_extents): Don't count overhang as part
2318 of width.
2319
2320 2008-06-30 Miles Bader <miles@gnu.org>
2321
2322 * dispextern.h (struct glyph, struct it, struct iterator_stack_entry):
2323 Add `avoid_cursor_p' field.
2324
2325 * xdisp.c (push_it, pop_it): Save/restore avoid_cursor_p field.
2326 (set_cursor_from_row): Skip glyphs with avoid_cursor_p set.
2327 (append_glyph, append_composite_glyph, produce_image_glyph)
2328 (append_stretch_glyph): Initialize avoid_cursor_p.
2329 (get_it_property): Rename from `get_line_height_property'.
2330 (x_produce_glyphs): Use get_it_property.
2331 (handle_line_prefix, push_display_prop): New functions.
2332 (display_line, move_it_in_display_line_to): Handle line/wrap prefixes.
2333 (Vwrap_prefix, Qwrap_prefix, Vline_prefix, Qline_prefix):
2334 New variables.
2335 (syms_of_xdisp): Initialize them.
2336
2337 2008-06-30 Kenichi Handa <handa@m17n.org>
2338
2339 * xftfont.c (xftfont_open): Don't call FcConfigSubstitute and
2340 XftDefaultSubstitute (they are called in XftFontMatch).
2341 (xftfont_open): Fix args to ftfont_font_format.
2342
2343 * ftfont.c (fc_charset_table): New member lang.
2344 (ftfont_resolve_generic_family): New arg pattern.
2345 (ftfont_spec_pattern): Check fc_cahrset_table[]->lang.
2346 (ftfont_list): Call ftfont_resolve_generic_family with `pattern'.
2347 (ftfont_open): Fix args to ftfont_font_format.
2348 (ftfont_font_format): New arg filename.
2349
2350 2008-06-30 Chong Yidong <cyd@stupidchicken.com>
2351
2352 * xfaces.c (Finternal_merge_in_global_face): If default face was
2353 modified, realize it again. Update the font face attribute.
2354
2355 2008-06-29 Jason Rumney <jasonr@gnu.org>
2356
2357 * w32term.c (x_set_frame_alpha): Fix logic.
2358
2359 2008-06-29 Kenichi Handa <handa@m17n.org>
2360
2361 * fontset.c (Finternal_char_font): Return font-object instead of
2362 font-name.
2363
2364 * composite.c (get_composition_id): Fix the width calculation for TAB.
2365
2366 2008-06-29 Stefan Monnier <monnier@iro.umontreal.ca>
2367
2368 * indent.c (Fvertical_motion): Properly handle float column arg.
2369
2370 2008-06-28 Jason Rumney <jasonr@gnu.org>
2371
2372 * w32term.c (pfnGetFontUnicodeRanges): Remove unused function pointer.
2373 (pfnSetLayeredWindowAttributes): New function pointer.
2374 (w32_initialize): Initialize it when supported.
2375 (x_set_frame_alpha): New function.
2376
2377 * w32fns.c (Fx_create_frame): Initialize frame parameter `alpha'.
2378 (w32_frame_parm_handlers): Set alpha handler.
2379
2380 * frame.c (x_set_alpha) [HAVE_NTGUI]: Call x_set_frame_alpha.
2381
2382 2008-06-27 Jason Rumney <jasonr@gnu.org>
2383
2384 * w32fns.c (x_to_w32_font, w32_to_x_font, x_to_w32_weight)
2385 (w32_to_x_weight, w32_to_all_x_charsets): Remove obsolete functions.
2386 (w32_to_x_charset, x_to_w32_charset)
2387 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
2388 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
2389 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
2390 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
2391 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
2392 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
2393 (Qw32_charset_mac, Vw32_charset_info_alist): Move to w32font.c.
2394 (Qw32_charset_unicode): Remove.
2395 (syms_of_w32fns): Update for above changes.
2396
2397 * w32font.c (w32_to_x_charset, x_to_w32_charset)
2398 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
2399 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
2400 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
2401 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
2402 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
2403 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
2404 (Qw32_charset_mac, Vw32_charset_info_alist): Move from w32fns.c.
2405 (syms_of_w32font): Update for above changes.
2406
2407 2008-06-27 Dan Nicolaescu <dann@ics.uci.edu>
2408
2409 * s/usg5-4.h: Fix previous change: keep the correct branch of a
2410 removed #if.
2411 (USG_SHARED_LIBRARIES): Remove duplicate definition.
2412
2413 2008-06-26 Juanma Barranquero <lekktu@gmail.com>
2414 Eli Zaretskii <eliz@gnu.org>
2415
2416 * makefile.w32-in (LOCAL_FLAGS):
2417 Don't include WINDOWSNT, DOS_NT and _UCHAR_T.
2418
2419 * sysdep.c (_spawnlp, _getpid):
2420 Declare with explicit _cdecl instead of _CRTAPI1.
2421
2422 * editfns.c (Fget_internal_run_time):
2423 Check for WINDOWSNT with #ifdef, not #if.
2424
2425 2008-06-26 Jason Rumney <jasonr@gnu.org>
2426
2427 * w32font.h (FONT_HANDLE, FONT_TEXTMETRIC): New macros.
2428
2429 * w32term.c (x_draw_glyph_string_foreground)
2430 (x_draw_composite_glyph_string_foreground): Sync with xterm.c.
2431 Use FONT_HANDLE macro.
2432 (x_draw_glyph_string): Use FONT_TEXTMETRIC macro.
2433
2434 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
2435 (uniscribe_encode_char): Use FONT_HANDLE macro.
2436
2437 * w32font.c (Fx_select_font): Use FONT_HANDLE macro.
2438 (w32font_text_extents): Use precast w32_font.
2439 (w32font_close): Free cached metrics.
2440 (w32font_open_internal): Allocate space for name on stack.
2441
2442 2008-06-26 Chong Yidong <cyd@stupidchicken.com>
2443
2444 * xdisp.c (extend_face_to_end_of_line): Fix last change.
2445
2446 2008-06-26 Jason Rumney <jasonr@gnu.org>
2447
2448 * w32term.h (FONT_AVG_WIDTH): Remove obsolete macro.
2449 (CP_8BIT, CP_UNICODE, CP_UNKNOWN): Remove obsolete constants.
2450
2451 2008-06-26 Juanma Barranquero <lekktu@gmail.com>
2452
2453 * Makefile.in (SOME_MACHINE_OBJECTS): Remove w32bdf.o.
2454
2455 2008-06-26 Jason Rumney <jasonr@gnu.org>
2456
2457 * w32bdf.c, w32bdf.h: Remove obsolete files.
2458
2459 * makefile.w32-in: Remove refs to w32bdf.h and w32bdf.c.
2460
2461 * w32gui.h: Don't include w32bdf.h.
2462 (XCharStruct, enum w32_char_font_type, W32FontStruct):
2463 Remove obsolete font support.
2464
2465 * w32font.h (struct w32font_info): Remove compat_w32_font.
2466 Add hfont member.
2467 (FONT_COMPAT): Remove obsolete macro.
2468
2469 * w32font.c (w32font_close): Remove compat code. Delete hfont member.
2470 (w32font_encode_char, w32font_text_extents): Use new hfont member.
2471 (w32font_open_internal): Remove compat code. Set new hfont member.
2472 (Fx_select_font): Use new hfont member.
2473
2474 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
2475 (uniscribe_encode_char): Use new hfont member.
2476
2477 * w32term.c (x_draw_glyph_string_foreground)
2478 (x_draw_composite_glyph_string_foreground): Use new hfont member.
2479 (x_draw_glyph_string): Use metrics in w32font_info.
2480
2481 2008-06-26 Kenichi Handa <handa@m17n.org>
2482
2483 * xdisp.c (handle_auto_composed_prop): Fix for the terminal case.
2484
2485 2008-06-26 Dan Nicolaescu <dann@ics.uci.edu>
2486
2487 * unexnext.c:
2488 * m/ews4800.h:
2489 * m/hp9000s300.h:
2490 * m/ibm370aix.h:
2491 * m/mips-siemens.h:
2492 * m/ncr386.h:
2493 * m/next.h:
2494 * m/pmax.h:
2495 * m/powerpcle.h:
2496 * m/tandem-s2.h:
2497 * s/386bsd.h:
2498 * s/bsd386.h:
2499 * s/bsd4-1.h:
2500 * s/bsd4-2.h:
2501 * s/bsdos2-1.h:
2502 * s/bsdos2.h:
2503 * s/bsdos3.h:
2504 * s/bsdos4.h:
2505 * s/nextstep.h:
2506 * s/ultrix4-3.h:
2507 * s/usg5-0.h:
2508 * s/usg5-2-2.h:
2509 * s/usg5-2.h:
2510 * s/usg5-4-3.h:
2511 * s/ux4800.h:
2512 * s/uxpds.h:
2513 * s/uxpv.h: Remove support for obsolete systems.
2514 * s/hpux.h, s/hpux10.h, s/hpux8.h, s/hpux9.h, s/hpux9shr.h:
2515 Remove, insert contents in s/hpux-10.20.h.
2516 * s/aix3-1.h, s/aix3-2-5.h, s/aix3-2.h, s/aix4-1.h, s/aix4.h:
2517 Remove, insert contents in s/aix4-2.h.
2518 * s/usg5-3.h: Remove, insert contents in s/usg5-4.h.
2519 * s/bsd4-3.h: Rename to ...
2520 * s/bsd-common.h: ... this.
2521 * data.c:
2522 * doc.c:
2523 * ecrt0.c:
2524 * emacs.c:
2525 * fileio.c:
2526 * floatfns.c:
2527 * keyboard.c:
2528 * mem-limits.h:
2529 * print.c:
2530 * process.c:
2531 * sysdep.c:
2532 * syssignal.h:
2533 * systty.h:
2534 * syswait.h:
2535 * term.c:
2536 * unexec.c:
2537 * unexelf.c:
2538 * unexhp9k800.c:
2539 * m/hp800.h:
2540 * m/ibmrs6000.h:
2541 * m/mips.h:
2542 * m/vax.h:
2543 * s/darwin.h:
2544 * s/freebsd.h:
2545 * s/gnu.h:
2546 * s/ms-w32.h:
2547 * s/msdos.h:
2548 * s/netbsd.h:
2549 * s/template.h: Remove references to obsolete variables.
2550
2551 * Makefile.in: Add dependencies for all unexec files.
2552 (admindir): Remove unused variable.
2553 (UNEXEC_SRC): Remove references.
2554
2555 2008-06-25 Chong Yidong <cyd@stupidchicken.com>
2556
2557 * xfns.c (x_default_font_parameter): If Xft is available, first
2558 try Monospace-12 for the default font.
2559
2560 2008-06-25 Jason Rumney <jasonr@gnu.org>
2561
2562 * xdisp.c (get_glyph_face_and_encoding): Encode invalid glyphs as 0.
2563
2564 2008-06-25 Stefan Monnier <monnier@iro.umontreal.ca>
2565
2566 * bytecode.c (Fbyte_code): Disable debugging code that doesn't compile.
2567
2568 * buffer.c (syms_of_buffer): Remove default-word-wrap.
2569
2570 2008-06-25 Juanma Barranquero <lekktu@gmail.com>
2571
2572 * xdisp.c (syms_of_xdisp) <truncate-partial-width-windows>: Doc fix.
2573 <scroll-conservatively>: Fix typo in docstring.
2574
2575 * xselect.c (Fx_send_client_event): Doc fix.
2576
2577 2008-06-25 Kenichi Handa <handa@m17n.org>
2578
2579 * xfaces.c (Fx_list_fonts): Call Flist_fonts with the arg PREFER.
2580
2581 * font.c (font_parse_fcname): Remove unused variables.
2582 (font_sort_entites): Delete the arg SPEC. Caller changed.
2583 Fix for the case of ! best_only.
2584 (font_delete_unmatched): Check DPI and AVGWIDTH too.
2585
2586 * lisp.h (Fstring_to_unibyte): EXFUN it.
2587
2588 * character.h (str_to_unibyte): Extern it.
2589
2590 * character.c (str_to_unibyte): New function.
2591
2592 * fns.c (Fstring_to_unibyte): New function.
2593 (syms_of_fns): Defsubr it.
2594
2595 2008-06-24 Kenichi Handa <handa@m17n.org>
2596
2597 * font.c (font_score): Even if the PIXEL_SIZE is the same, check
2598 DPI too.
2599 (font_sort_entites): Setup prefer_prop[FONT_DPI_INDEX] too.
2600
2601 2008-06-24 Andreas Schwab <schwab@suse.de>
2602
2603 * Makefile.in (${lispsource}loaddefs.el): Rename from
2604 ../lisp/loaddefs.el.
2605 (bootstrap-clean): Do what distclean does but don't remove
2606 Makefile.
2607 (distclean): Depend on bootstrap-clean and remove Makefile.
2608
2609 2008-06-24 Chong Yidong <cyd@stupidchicken.com>
2610
2611 * buffer.h (struct buffer): New member word_wrap.
2612
2613 * buffer.c (syms_of_buffer): New variables default-word-wrap and
2614 word-wrap.
2615 (init_buffer_once): Initialize them.
2616
2617 * dispextern.h (struct it): Replace bool truncate_lines_p with a
2618 line_wrap enum possessing three possible values.
2619
2620 * termopts.h: Replace truncate_partial_width_windows with
2621 Vtruncate_partial_width_windows.
2622
2623 * dispnew.c (direct_output_for_insert): Avoid direct output when
2624 inserting a space with word wrap on.
2625
2626 * indent.c (compute_motion): Obey integer values of
2627 truncate-partial-width-windows.
2628
2629 * xdisp.c (Vtruncate_partial_width_windows): New Lisp_Object,
2630 replacing truncate_partial_width_windows.
2631 (init_iterator): If Vtruncate_partial_width_windows is an integer,
2632 truncate only if the window width is below that integer.
2633 (start_display, resize_mini_window, produce_stretch_glyph)
2634 (display_string, move_it_in_display_line_to): Use line_wrap.
2635 (back_to_previous_visible_line_start, reseat_1): Reset
2636 string_from_display_prop_p.
2637 (display_line): Extend default face to end of line when wrapping.
2638
2639 2008-06-24 Kim F. Storm <storm@cua.dk>
2640
2641 * xdisp.c (display_line, move_it_in_display_line_to): Add ability
2642 to wrap continued lines at word boundaries.
2643
2644 2008-06-24 Jason Rumney <jasonr@gnu.org>
2645
2646 * font.c (Ffont_face_attributes): Multiply pixel size before point
2647 conversion to avoid multiplying rounding error.
2648
2649 2008-06-23 Jason Rumney <jasonr@gnu.org>
2650
2651 * w32term.c (x_draw_glyph_string_background)
2652 (x_draw_glyph_string): Remove old bdf font code.
2653
2654 * w32term.h (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): Remove.
2655
2656 2008-06-22 Kenichi Handa <handa@m17n.org>
2657
2658 * font.c (font_find_for_lface): Try the adstyle specified in
2659 the property of LFACE_FONT of LFACE (if any).
2660
2661 2008-06-21 Seiji Zenitani <zenitani@mac.com>
2662 Ryo Yoshitake <ryo@shiftmode.net>
2663
2664 * xterm.c (x_set_frame_alpha): Add x_catch_errors for bug#437.
2665
2666 2008-06-22 Stefan Monnier <monnier@iro.umontreal.ca>
2667
2668 * Makefile.in (${lisp} ${SOME_MACHINE_LISP}, ../lisp/loaddefs.el):
2669 Use $(BOOTSTRAPEMACS) rather than witness-emacs.
2670 (bootstrap-emacs${EXEEXT}): Merge witness-emacs into it.
2671 (witness-emacs): Remove.
2672 (lisp, shortlisp): Move loaddefs.el earlier.
2673 (mostlyclean): Forget about witness-emacs.
2674
2675 2008-06-22 Glenn Morris <rgm@gnu.org>
2676
2677 * Makefile.in (witness-emacs): Depend on temacs${EXEEXT}.
2678 (.SUFFIXES): Declare .el.elc as a suffix rule, for non-GNU makes.
2679
2680 2008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
2681
2682 * Makefile.in (PRECOMP): Remove.
2683 (${lisp} ${SOME_MACHINE_LISP}): Remove pseudo dependency on PRECOMP.
2684 (witness-emacs): Run `compile-first'.
2685 (.el.elc): Use the new compile-onefile target.
2686
2687 2008-06-21 Kenichi Handa <handa@m17n.org>
2688
2689 * xftfont.c (xftfont_open): Handle QCembolden only when
2690 FC_EMBOLDEN is defined.
2691
2692 2008-06-21 Andreas Schwab <schwab@suse.de>
2693
2694 * Makefile.in (witness-emacs): Use ../lisp, not $(lispsource).
2695 (.el.elc): Likewise.
2696
2697 2008-06-21 Miles Bader <miles@gnu.org>
2698
2699 * Makefile.in (../lisp/loaddefs.el): Build autoloads in the lisp
2700 build dir, not the lisp source dir.
2701
2702 2008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
2703
2704 * Makefile.in (emacs${EXEEXT}): Link the new emacs to bootstrap-emacs.
2705 (bootstrapclean): Remove.
2706 (.el.elc): New rule.
2707 (PRECOMP): New var.
2708 (../lisp/subdirs.el): Remove.
2709 (bootstrap-emacs${EXEEXT}): Remove subdirs.el and charpro.el dependency.
2710 (witness-emacs): New target.
2711 (mostlyclean): Remove witness-emacs as well.
2712 (../lisp/loaddefs.el, ${lisp} ${SOME_MACHINE_LISP}):
2713 Add witness-emacs dependency.
2714
2715 2008-06-20 Chong Yidong <cyd@stupidchicken.com>
2716
2717 * font.c (Ffont_face_attributes): Omit key-attribute pairs not
2718 defined by the font.
2719
2720 2008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
2721
2722 * Makefile.in (emacs${EXEEXT}): Depend on the machine-specific files.
2723 (bootstrap-clean): New target that keeps TAGS around.
2724 (../lisp/subdirs.el, ../lisp/loaddefs.el): New targets.
2725 (bootstrap-emacs${EXEEXT}): Depend on subdirs.el.
2726
2727 2008-06-20 Jason Rumney <jasonr@gnu.org>
2728
2729 * w32fns.c, w32term.c, w32term.h, w32gui.h [OLD_FONT]:
2730 Remove obsolete font code.
2731
2732 * w32font.c (font_matches_spec): Use csb bitfield from font signature
2733 to determine language support.
2734
2735 2008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
2736
2737 * sysdep.c (cfsetspeed): New fun extracted from the code.
2738 (cfmakeraw): Move before first use.
2739
2740 2008-06-20 Angelo Graziosi <angelo.graziosi@alice.it> (tiny change)
2741
2742 * sysdep.c (cfmakeraw): Provide fallback implementation.
2743 (serial_configure): Provide fallback implementation of cfsetspeed.
2744
2745 2008-06-20 Kenichi Handa <handa@m17n.org>
2746
2747 * xftfont.c (xftfont_open): Add FOUNDRY, SPACING, DPI, SCALABLE to
2748 the pattern.
2749
2750 * fontset.c (fontset_from_font): Copy font_spec before changing
2751 the elements.
2752
2753 * xfns.c (x_default_font_parameter): Try "monospace-12" too.
2754
2755 2008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
2756
2757 * w32fns.c, xfnc.c (x_default_font_parameter): Only set `font-param'
2758 for explicit `font' parameters.
2759
2760 * frame.c (x_set_font): Remove unexplained call to fix inf-recursion.
2761
2762 2008-06-19 Kenichi Handa <handa@m17n.org>
2763
2764 * frame.c: Include <ctype.h>.
2765 (x_set_font_backend): Allow spacing characters in the X resource
2766 for FontBackend.
2767
2768 2008-06-19 Stefan Monnier <monnier@iro.umontreal.ca>
2769
2770 * w32fns.c, xfns.c (Qfont_param): New var.
2771 (syms_of_w32fns): Initialize it.
2772 (x_default_font_parameter): Record explicit `font' into
2773 `font-parameter'.
2774
2775 2008-06-18 Kenichi Handa <handa@m17n.org>
2776
2777 * font.c (font_parse_xlfd): Fix previous change.
2778 (font_parse_fcname): Don't use :fc-unknown-spec.
2779 (FRAME_X_DISPLAY_INFO): Besure to have at least 1 pixel height.
2780 (Fcopy_font_spec): Preserve the order of elements in FONT_EXTRA.
2781 (font_add_log): Prepend the driver name to the resulting fonts.
2782
2783 * ftfont.c (ftfont_pattern_entity): New arg extra. Caller changed.
2784 (ftfont_spec_pattern): Don't check QCfc_unknown_spec and QCname.
2785 (ftfont_list) [FC_FONTFORMAT]: Include FC_FONTFORMAT in objset.
2786
2787 * xftfont.c (QChinting , QCautohint, QChintstyle, QCrgba)
2788 (QCembolden): New variables.
2789 (syms_of_xftfont): DEFSYM them.
2790 (xftfont_open): Call XftFontMatch. Don't trust the result of
2791 XftTextExtents8 if the pixel_size is less than 5.
2792
2793 2008-06-18 Andreas Schwab <schwab@suse.de>
2794
2795 * font.c (Ffont_face_attributes): Only define if HAVE_WINDOW_SYSTEM.
2796 (syms_of_font): Only defsubr if HAVE_WINDOW_SYSTEM.
2797
2798 2008-06-18 Jason Rumney <jasonr@gnu.org>
2799
2800 * w32font.c (w32font_list, w32font_match): Add logging.
2801
2802 * w32uniscribe.c (uniscribe_list, uniscribe_match): Add logging.
2803
2804 2008-06-17 Chong Yidong <cyd@stupidchicken.com>
2805
2806 * font.c (font_parse_fcname): Store divider characters for
2807 unknown-spec list. For known key symbols, intern using correct
2808 symbol name.
2809
2810 2008-06-17 Kenichi Handa <handa@m17n.org>
2811
2812 * xfaces.c (realize_default_face): If the frame is not on window
2813 system, set the fontset of face to nil.
2814
2815 2008-06-17 Naohiro Aota <nao.aota@gmail.com> (tiny change)
2816
2817 * fontset.c (fontset_pattern_regexp): Escape some reg-expr characters.
2818
2819 2008-06-16 Juanma Barranquero <lekktu@gmail.com>
2820
2821 * dispextern.h (lookup_non_ascii_face, split_font_name_into_vector)
2822 (build_font_name_from_vector): Delete externs.
2823
2824 * xfaces.c (struct font_name): Don't declare.
2825
2826 2008-06-16 Stefan Monnier <monnier@iro.umontreal.ca>
2827
2828 * font.c (font_unparse_gtkname): Use EQ to compare Lisp_Objects.
2829
2830 2008-06-16 Chong Yidong <cyd@stupidchicken.com>
2831
2832 * font.c (font_parse_fcname): Fix handling of unknown-spec string.
2833
2834 2008-06-16 Juanma Barranquero <lekktu@gmail.com>
2835
2836 * font.c (Ffont_spec): Fix usage in docstring.
2837 (Ffont_face_attributes): Doc fix.
2838
2839 2008-06-16 Andreas Schwab <schwab@suse.de>
2840
2841 * font.c (Ffont_face_attributes): Fix definition.
2842
2843 2008-06-16 Jason Rumney <jasonr@gnu.org>
2844
2845 * font.h (font_style_symbolic_from_value): Remove.
2846
2847 * font.c (font_style_symbolic_from_value): Remove.
2848 (font_style_symbolic): Revert to pre 2008-06-13 version.
2849
2850 * w32font.c (w32_to_fc_weight): New function.
2851 (w32font_full_name, logfont_to_fcname): Use it.
2852
2853 2008-06-16 Kenichi Handa <handa@m17n.org>
2854
2855 * font.c (font_check_object): Delete it.
2856 (font_clear_cache): Check if a font-object is alive.
2857 (font_open_entity): Likewise. Set FONT_OBJLST_INDEX of a
2858 font-object to nil.
2859 (font_close_object): Don't check FONT_CLOSE_OBJECT.
2860 (font_at): Don't call font_check_object.
2861 (Ffont_get): Return a symbol for :weight, :slant, and :width.
2862
2863 2008-06-16 Katsumi Yamaoka <yamaoka@jpl.org>
2864
2865 * puresize.h (BASE_PURESIZE): Increase to 1230000.
2866
2867 2008-06-16 Chong Yidong <cyd@stupidchicken.com>
2868
2869 * font.c (font_parse_fcname): Correctly parse KEY=VAL values.
2870
2871 2008-06-15 Chong Yidong <cyd@stupidchicken.com>
2872
2873 * font.c (font_parse_fcname): Only one decimal point.
2874 (font_unparse_fcname): Handle data in family and foundry indices
2875 as symbols, not strings.
2876 (font_unparse_gtkname, Ffont_face_attributes): New functions.
2877
2878 * xfns.c (Fx_select_font): Give GTK font dialog the default font name.
2879
2880 * font.h (font_unparse_gtkname): Add prototype.
2881
2882 2008-06-15 Naohiro Aota <nao.aota@gmail.com> (tiny change)
2883
2884 * fontset.c (fontset_pattern_regexp): Escape `+' characters in pattern.
2885
2886 2008-06-15 Andreas Schwab <schwab@suse.de>
2887
2888 * font.c (font_update_drivers): Fix crash when no drivers match.
2889
2890 2008-06-15 Stefan Monnier <monnier@iro.umontreal.ca>
2891
2892 * xfns.c (Fx_create_frame): internal-border-width default to 0 for Gtk.
2893 * gtkutil.c (xg_create_frame_widgets): Don't set internal_border_width.
2894
2895 2008-06-14 Stefan Monnier <monnier@iro.umontreal.ca>
2896
2897 * xdisp.c (syms_of_xdisp): Default underline-minimum-offset to 1.
2898
2899 2008-06-13 Stefan Monnier <monnier@iro.umontreal.ca>
2900
2901 * process.c (Fserial_process_configure, Fprocess_send_eof):
2902 Use EQ to compare Lisp_Objects.
2903
2904 2008-06-13 Jason Rumney <jasonr@gnu.org>
2905
2906 * w32fns.c (Fw32_select_font): Remove old font API function.
2907
2908 * w32font.c (logfont_to_fcname): New function.
2909 (Fx_select_font): New font dialog function compatible with
2910 GTK/fontconfig version.
2911
2912 * font.c (font_style_symbolic_from_value): New function.
2913 (font_style_symbolic): Use it.
2914
2915 * font.h (font_style_symbolic_from_value): Declare new function.
2916
2917 2008-06-13 Juanma Barranquero <lekktu@gmail.com>
2918
2919 * font.c (syms_of_font) <font-weight-table, font-slant-table>:
2920 <font-width-table>: Fix typos in docstrings.
2921
2922 2008-06-13 Daniel Engeler <engeler@gmail.com>
2923
2924 These changes add serial port access.
2925 * process.c: Add HAVE_SERIAL.
2926 (Fdelete_process, Fprocess_status, Fset_process_buffer)
2927 (Fset_process_filter, Fset_process_sentinel, Fprocess_contact)
2928 (list_processes_1, select_wrapper, Fstop_process)
2929 (Fcontinue_process, Fprocess_send_eof, kill_buffer_processes)
2930 (status_notify): Modify to handle serial processes.
2931 [HAVE_SERIAL] (Fserial_process_configure)
2932 [HAVE_SERIAL] (make_serial_process_unwind, Fmake_serial_process):
2933 New functions.
2934 * process.h (struct Lisp_Process): Add `type'.
2935 * sysdep.c [HAVE_TERMIOS] (serial_open, serial_configure):
2936 New functions.
2937 * w32.c (_sys_read_ahead, sys_read, sys_write): Modify to handle
2938 serial ports.
2939 (serial_open, serial_configure) New functions.
2940 * w32.h: Add FILE_SERIAL.
2941 (struct _child_process): Add ovl_read, ovl_write.
2942
2943 2008-06-13 Kenichi Handa <handa@m17n.org>
2944
2945 * dispextern.h (enum lface_attribute_index): New member
2946 LFACE_FOUNDRY_INDEX.
2947
2948 * font.c (font_score): Delete arg alternate_families. Check only
2949 weight, slant, width, and size. Ignore the difference of alias
2950 style symbols.
2951 (font_sort_entites): Adjust for the above change. Reflect the
2952 order of font-driver to scores.
2953 (font_list_entities): Don't check alternate_familes here.
2954 (font_clear_prop): Handle foundry.
2955 (font_update_lface): Don't parse "foundry-family" form here.
2956 Handle FONT_FOUNDRY_INDEX.
2957 (font_find_for_lface): Likewise. Handle alternate families here.
2958 If registry is nil, try iso8859-1 and ascii-0.
2959 (font_open_for_lface): Pay attention to size in ENTITY.
2960 (font_open_by_name): Simplify by calling font_load_for_lface.
2961 (free_font_driver_list): Delete it.
2962 (font_update_drivers): Preserve the order of backends.
2963 (syms_of_font): Setting of sort_shift_bits adjusted for the change
2964 of font_score and font_sort_entites.
2965 (font_update_sort_order): Likewise.
2966
2967 * xfaces.c (LFACE_FOUNDRY): New macro.
2968 (check_lface_attrs): Check foundry.
2969 (set_lface_from_font): Don't parse "FOUNDRY-FAMILY" form.
2970 (merge_face_vectors): Check foundry.
2971 (merge_face_ref): Likewise.
2972 (Finternal_set_lisp_face_attribute): Likewise.
2973 (x_update_menu_appearance): Likewise.
2974 (Finternal_get_lisp_face_attribute): Likewise.
2975 (lface_hash): Likewise.
2976 (lface_same_font_attributes_p): Likewise.
2977 (x_supports_face_attributes_p): Likewise.
2978 (tty_supports_face_attributes_p): Likewise.
2979 (Finternal_set_alternative_font_family_alist): Intern strings.
2980 (Finternal_set_alternative_font_registry_alist): Downcase strings.
2981 (realize_default_face): Set LFACE_FOUNDRY (lface).
2982
2983 * xfns.c (Fx_create_frame, x_create_tip_frame): Register X
2984 font-driver at first.
2985
2986 * ftfont.c (ftfont_font_format) [! FC_FONTFORMAT]: Declare "int len;".
2987
2988 2008-06-12 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
2989
2990 * lread.c (Fload): Use xfree, not free on saved_doc_string.
2991
2992 2008-06-12 Jim Meyering <meyering@redhat.com>
2993
2994 Make unexec_free handle NULL the same way free does.
2995 * unexmacosx.c (unexec_free): Ignore a NULL argument.
2996
2997 2008-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
2998
2999 * character.h (CHAR_TO_BYTE_SAFE): New macro.
3000 * character.c (Fmultibyte_char_to_unibyte): Obey the docstring.
3001 * regex.c (RE_CHAR_TO_UNIBYTE): Use the new macro.
3002 (WEAK_ALIAS): Simplify.
3003 * syntax.c (skip_chars): Don't mark non-byte chars in the fastmap
3004 when searching a unibyte buffer.
3005
3006 2008-06-12 Chong Yidong <cyd@stupidchicken.com>
3007
3008 * xfns.c (Fx_select_font): Rename from x-font-dialog.
3009
3010 2008-06-12 Juanma Barranquero <lekktu@gmail.com>
3011
3012 * w32font.c: Include ctype.h.
3013
3014 2008-06-11 Jason Rumney <jasonr@gnu.org>
3015
3016 * w32font.c (w32font_encode_char): Detect missing glyphs that are
3017 misreported as space.
3018 (add_font_entity_to_list): Support unicode-bmp and unicode-sip
3019 as aliases for registry iso10646-1.
3020
3021 2008-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
3022
3023 * buffer.c (clone_per_buffer_values): Skip `name'.
3024
3025 2008-06-11 Chong Yidong <cyd@stupidchicken.com>
3026
3027 * font.c (font_parse_fcname): Fix last change; accept decimal
3028 points in font size.
3029
3030 2008-06-10 Jason Rumney <jasonr@gnu.org>
3031
3032 * w32uniscribe.c (add_opentype_font_name_to_list):
3033 Skip non unicode fonts.
3034
3035 2008-06-10 Chong Yidong <cyd@stupidchicken.com>
3036
3037 * xfns.c (Fx_font_dialog): New function.
3038
3039 * gtkutil.c (xg_dialog_response_cb): Rename from
3040 xg_file_response_callback.
3041 (pop_down_dialog): Rename from pop_down_file_dialog.
3042 (xg_get_file_name): Callers changed.
3043 (xg_get_font_name): New function.
3044
3045 * gtkutil.h (xg_get_font_name): Insert prototype.
3046
3047 2008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
3048
3049 * xdisp.c (underline_minimum_offset): Rename from xterm.c's
3050 x_underline_minimum_display_offset.
3051 (syms_of_xdisp): Declare it here rather than in xterm.c.
3052 * dispextern.h (underline_minimum_offset): Declare it.
3053 * w32term.c (x_draw_glyph_string): Use it.
3054 * xterm.c (x_underline_minimum_display_offset): Move to xdisp.c.
3055 (syms_of_xterm): Don't declare it any more.
3056 (x_draw_glyph_string): Adjust to the new name.
3057
3058 2008-06-10 David De La Harpe Golden <david@harpegolden.net> (tiny change)
3059
3060 * xterm.c (x_underline_minimum_display_offset): New var.
3061 (x_draw_glyph_string): Use it.
3062 (syms_of_xterm): Declare it.
3063
3064 2008-06-10 Chong Yidong <cyd@stupidchicken.com>
3065
3066 * font.c (font_parse_fcname): Accept GTK-style font names too.
3067
3068 2008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
3069
3070 * dired.c (file_name_completion): Don't return t if the match is exact
3071 but with different capitalization.
3072 * minibuf.c (Ftry_completion): Simplify.
3073
3074 * window.c (Vwindow_point_insertion_type): New var.
3075 (set_window_buffer): Use it.
3076 (syms_of_window): Init and export it to Lisp.
3077
3078 2008-06-10 Kenichi Handa <handa@m17n.org>
3079
3080 * font.h (font_intern_prop): Prototype adjusted.
3081
3082 * font.c (font_intern_prop): New arg force_symbol.
3083 (font_parse_xlfd, font_parse_fcname, font_parse_family_registry):
3084 Adjust for the change of font_intern_prop.
3085
3086 * ftfont.c (ftfont_pattern_entity):
3087 * w32font.c (add_font_name_to_list, w32_enumfont_pattern_entity)
3088 (w32_registry):
3089 * w32uniscribe.c (add_opentype_font_name_to_list): Adjust for
3090 the change of font_intern_prop.
3091
3092 2008-06-09 Juanma Barranquero <lekktu@gmail.com>
3093
3094 * w32menu.c (digest_single_submenu): Declare extern.
3095
3096 2008-06-09 Jason Rumney <jasonr@gnu.org>
3097
3098 * w32term.c (x_make_frame_visible): Use alternate restore flags.
3099
3100 * w32menu.c (Fx_popup_menu): Unwind protect while building menu.
3101 (parse_single_submenu): Remove.
3102 (digest_single_submenu): Remove.
3103 (syms_of_w32menu): Don't initialise variables that have moved
3104 to menu.c.
3105 (set_frame_menubar): Sync with version in xmenu.c.
3106 (w32_menu_show): Sync with xmenu_show in xmenu.c.
3107
3108 * menu.c (single_keymap_panes, push_menu_pane, push_menu_item):
3109 Make static again.
3110
3111 2008-06-09 Jason Rumney <jasonr@gnu.org>
3112
3113 Changes to w32 files related to the move of common menu code
3114 to menu.c on 2008-06-08 by Chong Yidong.
3115
3116 * menu.c [HAVE_NTGUI]: Include w32term.h, move widget related
3117 defs to w32gui.h.
3118 (single_keymap_panes, push_menu_item, push_menu_pane):
3119 Make globally visible.
3120
3121 * w32menu.c (enum button_type, widget_value, local_heap, local_alloc)
3122 (local_free, malloc_widget_value, free_widget_value)
3123 (MENU_ITEMS_ITEM_NAME, MENU_ITEMS_ITEM_ENABLE, MENU_ITEMS_ITEM_VALUE)
3124 (MENU_ITEMS_ITEM_EQUIV_KEY, MENU_ITEMS_ITEM_DEFINITION)
3125 (MENU_ITEMS_ITEM_TYPE, MENU_ITEMS_ITEM_SELECTED, MENU_ITEMS_ITEM_HELP)
3126 (MENU_ITEMS_ITEM_LENGTH, enum menu_item_idx): Remove defs.
3127 (menu_items, menu_items_allocated, menu_items_used)
3128 (menu_items_n_panes, menu_items_submenu_depth): Remove global vars.
3129 (init_menu_items, finish_menu_items, discard_menu_items)
3130 (grow_menu_items, push_submenu_start, push_submenu_end)
3131 (push_left_right_boundary, push_menu_pane, push_menu_item)
3132 (keymap_panes, single_keymap_panes, list_of_panes, list_of_items)
3133 (free_menubar_widget_tree_value, parse_single_submenu)
3134 (update_submenu_strings): Remove functions.
3135 (xmalloc_widget_value): Remove and declare extern.
3136
3137 * makefile.w32-in ($(SRC)/menu.$(O)): New target.
3138 (OBJ1): Build it.
3139
3140 * w32gui.h (widget_value, XtPointer, Boolean, enum button_type)
3141 (local_heap, local_alloc, local_free, malloc_widget_value)
3142 (free_widget_value): Define here.
3143
3144 2008-06-09 Kenichi Handa <handa@m17n.org>
3145
3146 * font.h (Qascii_0): Extern it.
3147
3148 * font.c (Qascii_0): New variable.
3149 (syms_of_font): DEFSYM it.
3150 (font_open_by_name): If the registry "iso8859-1" fails, try also
3151 "ascii-0".
3152
3153 * ftfont.c (ftfont_spec_pattern): Accept the registry `ascii-0'.
3154
3155 2008-06-08 Kenichi Handa <handa@m17n.org>
3156
3157 * .gdbinit (xfont): New command.
3158
3159 2008-06-08 Andreas Schwab <schwab@suse.de>
3160
3161 * menu.c [HAVE_X_WINDOWS]: Include "xterm.h".
3162 * Makefile.in (menu.o): Update dependencies.
3163
3164 * Makefile.in (obj): Always add menu.o.
3165 * emacs.c (main): Always call syms_of_menu.
3166 * keyboard.h: Remove extra #ifdef HAVE_X_WINDOW.
3167
3168 2008-06-08 Chong Yidong <cyd@stupidchicken.com>
3169
3170 * Makefile.in: Compile menu.c.
3171
3172 * lisp.h: Declare syms_of_menu.
3173
3174 * emacs.c (main): Call syms_of_menu.
3175
3176 * keyboard.h: Relocate platform-independent menu definitions from
3177 xmenu.c.
3178
3179 * menu.c: New file. Relocate platform-independent menu
3180 definitions from xmenu.c. Suggested by Adrian Robert.
3181
3182 * xmenu.c: Remove platform-independent menu definitions.
3183 (menu_items menu_items_inuse, menu_items_allocated)
3184 (menu_items_used, menu_items_n_panes)
3185 (menu_items_submenu_depth): Move to keyboard.h.
3186 (init_menu_items, finish_menu_items, unuse_menu_items)
3187 (discard_menu_items, restore_menu_items, save_menu_items)
3188 (grow_menu_items, push_submenu_start, push_submenu_end)
3189 (push_left_right_boundary, push_menu_pane, push_menu_item)
3190 (keymap_panes, single_keymap_panes, single_menu_item)
3191 (list_of_panes, list_of_items, find_and_call_menu_selection)
3192 (xmalloc_widget_value, free_menubar_widget_value_tree)
3193 (parse_single_submenu, digest_single_submenu)
3194 (update_submenu_strings): Move to menu.c.
3195
3196 2008-06-07 Stefan Monnier <monnier@iro.umontreal.ca>
3197
3198 * dispnew.c (Flast_nonminibuf_frame): Handle the NULL case.
3199
3200 2008-06-06 Miles Bader <miles@gnu.org>
3201
3202 * xdisp.c (x_produce_glyphs): Calculate tab width based on current
3203 face, not frame default.
3204
3205 2008-06-05 Martin Rudalics <rudalics@gmx.at>
3206
3207 * window.c (pop_up_windows, pop_up_frames)
3208 (display_buffer_reuse_frames, Vpop_up_frame_function)
3209 (Vdisplay_buffer_function, Veven_window_heights)
3210 (Vspecial_display_buffer_names, Vspecial_display_regexps)
3211 (Vspecial_display_function, Vsame_window_buffer_names)
3212 (Vsame_window_regexps, split_height_threshold)
3213 (Vsplit_window_preferred_function): Move those vars to window.el.
3214 (display_buffer_1, Fspecial_display_p, Fsame_window_p)
3215 (Fdisplay_buffer): Move those functions to window.el.
3216 (syms_of_window): Remove corresponding declarations.
3217 (display_buffer): New function.
3218 (temp_output_buffer_show, Fother_window_for_scrolling): Use it.
3219 * dispnew.c (Flast_nonminibuf_frame): New function.
3220 * buffer.c (Fpop_to_buffer): Move to window.el.
3221
3222 2008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
3223
3224 * data.c (set_internal): Fix up call to let_shadows_buffer_binding_p.
3225
3226 2008-06-05 Kenichi Handa <handa@m17n.org>
3227
3228 * coding.c (detect_coding): Fix previous change.
3229 (detect_coding_system): Likewise.
3230
3231 2008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
3232
3233 * character.h (MAKE_CHAR_MULTIBYTE): Check the arg is a (uni)byte.
3234
3235 * keymap.c (Vminibuffer_local_filename_must_match_map):
3236 Rename from Vminibuffer_local_must_match_filename_map.
3237 (syms_of_keymap):
3238 * minibuf.c (Fcompleting_read): Adjust accordingly.
3239 * commands.h: Rename declaration as well.
3240
3241 2008-06-05 Kenichi Handa <handa@m17n.org>
3242
3243 * font.c (Ffont_spec): Don't use font_parse_family_registry for
3244 family name.
3245 (Ffont_put): Likewise.
3246
3247 * fontset.c (fontset_find_font): Call font_open_for_lface with the
3248 current font-spec.
3249
3250 * xfont.c (xfont_list): Don't set registry to iso8859-1 even if it
3251 is unspecified.
3252
3253 * xfaces.c (realize_x_face): If the font-related face attributes
3254 are the same as those of default face, realize a new fontset from
3255 default->fontset.
3256 (Fx_family_fonts): Use font_parse_family_registry instead of Ffont_put.
3257
3258 2008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
3259
3260 * xdisp.c (move_it_in_display_line_to): Improve the type of its args.
3261 (move_it_in_display_line): New wrapper.
3262
3263 * window.c (window_scroll_pixel_based_preserve_x)
3264 (window_scroll_preserve_hpos, window_scroll_preserve_vpos): New vars.
3265 (window_scroll_pixel_based, window_scroll_line_based):
3266 Use them to preserve column positions.
3267 (syms_of_window): Initialize them.
3268
3269 * indent.c (Fvertical_motion): Extend first arg to allow passing an
3270 (HPOS . VPOS) pair.
3271
3272 * dispextern.h (move_it_in_display_line): Declare.
3273
3274 2008-06-05 Juanma Barranquero <lekktu@gmail.com>
3275
3276 * window.c (Fwindow_parameter): Return VALUE, not (PARAMETER . VALUE).
3277 (Fwindow_parameters): Return copy of parameter alist. Doc fix.
3278 (Fset_window_parameter): Return VALUE, not parameter alist. Doc fix.
3279
3280 2008-06-04 Juanma Barranquero <lekktu@gmail.com>
3281
3282 * window.c (Fset_window_parameter): Doc fix.
3283 (Fwindow_parameters, Fwindow_parameter): Remove redundant check.
3284
3285 2008-06-04 Joakim Verona <joakim@verona.se>
3286
3287 * window.h (struct window): Add new member window_parameters.
3288
3289 * window.c (Fwindow_parameters, Fwindow_parameter)
3290 (Fset_window_parameter): New defuns.
3291 (syms_of_window): Defsubr the new defuns.
3292 (make_window): Initialize window_parameters to nil.
3293
3294 2008-06-04 John Paul Wallington <jpw@pobox.com>
3295
3296 * eval.c (Fdefmacro): Doc fix.
3297
3298 2008-06-04 Kenichi Handa <handa@m17n.org>
3299
3300 * coding.c (detect_coding): Fix handling of coding->head_ascii.
3301 Be sure to call setup_coding_system when we find a proper coding system.
3302 (detect_coding_system): Fix handling of coding->head_ascii.
3303
3304 2008-06-03 Andreas Schwab <schwab@suse.de>
3305
3306 * font.c (font_prop_validate_spacing): Fix last change.
3307
3308 2008-06-03 Kenichi Handa <handa@m17n.org>
3309
3310 * font.c (font_prop_validate_spacing): Handle uppercase symbols.
3311 (font_parse_fcname): Fix handling of unknown key.
3312
3313 * xfont.c (xfont_list): Try an alias.
3314
3315 * charset.c (char_charset): Return NULL if the arg charset_list is
3316 specified and C doesn't belong to any of them.
3317
3318 2008-06-02 Chip Coldwell <coldwell@redhat.com>
3319
3320 * font.c (font_pixel_size): Don't take cdr of an integer.
3321
3322 2008-06-02 Jim Meyering <meyering@redhat.com>
3323
3324 Make "xfree (NULL)" a no-op; remove useless if-before-xfree.
3325 * alloc.c (xfree): Return right away for a NULL arg.
3326 * lread.c (nosuffix): Remove now-useless if-before-xfree tests.
3327 * gtkutil.c (xg_gtk_scroll_destroy): Likewise.
3328 * mac.c (create_apple_event_from_event_ref): Likewise.
3329 (create_apple_event_from_drag_ref, cfstring_create_normalized):
3330 Likewise.
3331 * doprnt.c (doprnt1): Likewise.
3332 * frame.c (frame): Likewise.
3333 * keyboard.c (wipe_kboard): Likewise.
3334 * macterm.c (x_free_frame_resources, xlfdpat_destroy, XFreePixmap)
3335 (init_font_name_table, mac_unload_font, x_delete_display): Likewise.
3336 * term.c (tty_default_color_capabilities, maybe_fatal)
3337 (delete_tty): Likewise.
3338 * w16select.c (string): Likewise.
3339 * w32.c (w32_get_resource, SET_ENV_BUF_SIZE): Likewise.
3340 * w32bdf.c (w32_free_bdf_font): Likewise.
3341 * w32fns.c (w32_unload_font): Likewise.
3342 * w32font.c (w32font_close): Likewise.
3343 * window.c (size_window): Likewise.
3344 * xselect.c (receive_incremental_selection): Likewise.
3345 * xterm.c (x_free_frame_resources, x_delete_display): Likewise.
3346 * mactoolbox.c (create_apple_event_from_drag_ref): Likewise.
3347 * w32.c (stat): Likewise.
3348
3349 Remove useless if-before-free tests.
3350 * editfns.c (Fset_time_zone_rule): Likewise.
3351 * lread.c (nosuffix): Likewise.
3352 * ralloc.c (get_bloc): Likewise.
3353 * regex.c (reg_free): Likewise.
3354 * xftfont.c (xftfont_open, xftfont_close): Likewise.
3355 * xrdb.c (get_user_app, get_environ_db, x_load_resources): Likewise.
3356 * xsmfns.c (smc_save_yourself_CB): Likewise.
3357
3358 2008-06-02 Kenichi Handa <handa@m17n.org>
3359
3360 * font.c (font_find_for_lface): Handle float font size.
3361 (font_open_for_lface): Likewise.
3362
3363 * xfaces.c (x_supports_face_attributes_p): Check face->font before
3364 comparing the properties.
3365
3366 2008-06-01 Jason Rumney <jasonr@gnu.org>
3367
3368 * w32font.c (w32_enumfont_pattern_entity): Use requested registry.
3369 Treat iso10646-1 and Windows DEFAULT_CHARSET specially.
3370 Duplicate iso8859-1 fonts as iso10646-1 if no registry specified.
3371 Don't add empty script list.
3372 (w32_registry): Only map DEFAULT_CHARSET to iso10646-1 here.
3373
3374 2008-06-01 Dan Nicolaescu <dann@ics.uci.edu>
3375
3376 * Makefile.in (dot, dotdot): Remove, update users.
3377 ".." has been used elsewhere in the file for a long time.
3378 (LIBXT_STATIC): Remove conditional based on unused variable.
3379
3380 2008-06-01 Miles Bader <miles@gnu.org>
3381
3382 * xfaces.c (Vface_remapping_alist): New variable.
3383 (syms_of_xfaces): Initialize it.
3384 (enum named_merge_point_kind): New type.
3385 (struct named_merge_point): Add `named_merge_point_kind' field.
3386 (push_named_merge_point): Make cycle detection respect different
3387 named-merge-point kinds.
3388 (lface_from_face_name_no_resolve): Rename from `lface_from_face_name'.
3389 Remove face-name alias resolution.
3390 (lface_from_face_name): New definition using
3391 `lface_from_face_name_no_resolve'.
3392 (get_lface_attributes_no_remap): Rename from `get_lface_attributes'.
3393 Call lface_from_face_name_no_resolve instead of lface_from_face_name.
3394 (get_lface_attributes): New definition that layers face-remapping on
3395 top of get_lface_attributes_no_remap. New arg `named_merge_points'.
3396 (lookup_basic_face): New function.
3397 (lookup_derived_face): Pass new last arg to `get_lface_attributes'.
3398 (realize_named_face): Call `get_lface_attributes_no_remap' instead of
3399 `get_lface_attributes'.
3400 (face_at_buffer_position): Use `lookup_basic_face' to lookup
3401 DEFAULT_FACE_ID if necessary. When optimizing the default-face case,
3402 return default_face's face-id instead of the constant DEFAULT_FACE_ID.
3403
3404 * xdisp.c (init_iterator): Pass base_face_id through
3405 `lookup_basic_face' when we actually use it as a face-id.
3406 (handle_single_display_prop): Use `lookup_basic_face' to lookup
3407 DEFAULT_FACE_ID.
3408
3409 * fontset.c (Finternal_char_font): Use `lookup_basic_face' to
3410 lookup the initial face-id.
3411
3412 * dispextern.h (lookup_basic_face, Vface_remapping_alist): New decls.
3413
3414 2008-06-01 Juanma Barranquero <lekktu@gmail.com>
3415
3416 * textprop.c (syms_of_textprop) <text-property-default-nonsticky>:
3417 (Fremove_text_properties): Fix typos in docstrings.
3418
3419 2008-05-31 Kenichi Handa <handa@m17n.org>
3420
3421 * font.c (font_list_entities): Fix the car part of data to be
3422 stored in the cache.
3423
3424 * ftfont.c (ftfont_font_format): Don't use strcasestr.
3425
3426 2008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
3427
3428 * chartab.c (Foptimize_char_table, optimize_sub_char_table):
3429 Add a `test' argument so another predicate than `equal' can be used.
3430 (map_sub_char_table): Use `eq' rather than `equal' to merge ranges.
3431 (map_char_table): Remove unused vars `c' and `i'.
3432 * lisp.h (Foptimize_char_table): Adjust declaration.
3433 * charset.c (Fclear_charset_maps): Adjust call to Foptimize_char_table.
3434
3435 2008-05-30 Kenichi Handa <handa@m17n.org>
3436
3437 * font.c (Ffont_info): Define only if HAVE_WINDOW_SYSTEM is defined.
3438 (syms_of_font): Defsubr Sfont_info only if HAVE_WINDOW_SYSTEM is
3439 defined.
3440
3441 2008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
3442
3443 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
3444 (Fmake_variable_frame_local): Disallow mixing buffer-local and
3445 frame-local settings for the same variable.
3446
3447 2008-05-30 Kenichi Handa <handa@m17n.org>
3448
3449 * fontset.c (Ffont_info): Move to font.c.
3450 (syms_of_fontset): Delete defsubr of Sfont_info.
3451
3452 * font.c (font_style_to_value, font_score): Delete casting of the
3453 args to xstcasecmp.
3454 (register_font_driver): Increment num_font_drivers only when
3455 registering the driver globally.
3456 (Ffont_info): Move from fontset.c. Handle a font object too.
3457 (syms_of_font): Defsubr Sfont_info.
3458
3459 2008-05-29 Kenichi Handa <handa@m17n.org>
3460
3461 * coding.h (enum define_coding_utf8_arg_index): New enum.
3462 (enum coding_attr_index): Change coding_attr_utf_16_bom to
3463 coding_attr_utf_bom.
3464 (enum utf_bom_type): Rename from utf_16_bom_type.
3465 (struct utf_16_spec): Adjust for the above change.
3466 (struct coding_system): Add utf_8_bom in `spec' union.
3467
3468 * coding.c (CODING_UTF_8_BOM): New macro.
3469 (enum coding_category): Delete coding_category_utf_8, add
3470 coding_category_utf_8_auto, coding_category_utf_8_nosig, and
3471 coding_category_utf_8_sig.
3472 (CATEGORY_MASK_UTF_8): Delete it.
3473 (CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG)
3474 (CATEGORY_MASK_UTF_8_SIG): New macros.
3475 (CATEGORY_MASK_ANY): Delete CATEGORY_MASK_UTF_8, add
3476 CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG, and
3477 CATEGORY_MASK_UTF_8_SIG.
3478 (CATEGORY_MASK_UTF_8): New macro.
3479 (UTF_BOM, UTF_8_BOM_1, UTF_8_BOM_2, UTF_8_BOM_3): New macros.
3480 (detect_coding_utf_8): Check BOM.
3481 (decode_coding_utf_8, encode_coding_utf_8): Handle BOM.
3482 (decode_coding_utf_16): Adjust for the change of enum utf_bom_type.
3483 (encode_coding_utf_16): Likewise.
3484 (setup_coding_system): Likewise. Set CODING_UTF_8_BOM (coding).
3485 (detect_coding, detect_coding_system): Handle utf-8-auto.
3486 (Fdefine_coding_system_internal): Handle `bom' property for utf-8.
3487 (syms_of_coding): Fix setting up of Vcoding_category_table.
3488
3489 2008-05-29 Stefan Monnier <monnier@iro.umontreal.ca>
3490
3491 * process.c (Faccept_process_output): If `millisec' is non-nil,
3492 `seconds' default to 0.
3493 (wait_reading_process_output): Also return non-nil if we read output
3494 from a non-running process.
3495
3496 2008-05-29 Jason Rumney <jasonr@gnu.org>
3497
3498 * w32font.c (w32font_open_internal): Prefer truetype fonts unless
3499 `raster' specified.
3500 (add_font_entity_to_list): Allow non-opentype truetype fonts back
3501 in the uniscribe backend, but disallow any font that has no
3502 unicode subrange support.
3503
3504 2008-05-29 Juanma Barranquero <lekktu@gmail.com>
3505
3506 * xfaces.c (Fx_list_fonts, Finternal_copy_lisp_face):
3507 Fix typos in docstrings.
3508
3509 2008-05-29 Kenichi Handa <handa@m17n.org>
3510
3511 * xfaces.c (Fx_list_fonts): Make it return a list of font names.
3512 (Fx_family_fonts): Set frame correctly.
3513
3514 2008-05-28 Jason Rumney <jasonr@gnu.org>
3515
3516 * w32term.c (x_draw_glyph_string): Use clipmask if specified.
3517
3518 2008-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
3519
3520 * fileio.c (Fwrite_region): Delay the defaulting to beg&z to after
3521 calling build_annotations.
3522
3523 2008-05-28 Juanma Barranquero <lekktu@gmail.com>
3524
3525 * coding.c (Fdecode_coding_region, Fencode_coding_region)
3526 (Fencode_coding_string):
3527 (syms_of_coding) <coding-system-for-read, coding-system-for-write>:
3528 <latin-extra-code-table>: Fix typos in docstrings.
3529 (syms_of_coding) <coding-system-alist>: Doc fix.
3530 (syms_of_coding) <translation-table-for-input>: Reflow docstring.
3531
3532 2008-05-28 Kenichi Handa <handa@m17n.org>
3533
3534 * fontset.c (Ffont_info): Don't call font_close_object.
3535
3536 * font.c (font_parse_family_registry): Use Ffont_put to validate
3537 foundry and family.
3538 (font_delete_unmatched): Don't check spacing.
3539 (font_list_entities): Add spacing to the spec to list fonts.
3540
3541 * ftfont.c (ftfont_spec_pattern): Don't set FC_SPACING to pattern.
3542 (ftfont_list): Check spacing here. Don't include FC_CHARSET in objset.
3543
3544 * coding.c (encode_coding_raw_text): Fix previous change.
3545 (encode_coding_object): When the dst_object is a buffer and is
3546 different from src_object, move gap to PT.
3547
3548 2008-05-27 Chong Yidong <cyd@stupidchicken.com>
3549
3550 * xterm.c (x_draw_glyph_string): If a clipmask is specified, use it.
3551
3552 2008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
3553
3554 * coding.c (encode_coding_raw_text): Set coding->produced_char for
3555 all branches. Compute it differently.
3556
3557 * xdisp.c [!HAVE_WINDOW_SYSTEM]: Include font.h for --without-x.
3558
3559 2008-05-27 Juanma Barranquero <lekktu@gmail.com>
3560
3561 * w32font.c (compute_metrics): Rewrite an "else { if () ... else ... }"
3562 into "else if () ... else ...".
3563
3564 2008-05-27 Jason Rumney <jasonr@gnu.org>
3565
3566 * w32font.c (w32font_open_internal): Determine if glyph indices
3567 are likely to work here.
3568
3569 2008-05-27 Chong Yidong <cyd@stupidchicken.com>
3570
3571 * xdisp.c (draw_glyphs): If mouse-highlighting is on, attempt to
3572 draw overlap glyphs with appropriate highlighting.
3573
3574 2008-05-27 Kenichi Handa <handa@m17n.org>
3575
3576 * xfont.c (xfont_open): Fix calculation of font->average_width.
3577
3578 2008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
3579
3580 * casefiddle.c (casify_object): Try to guess better whether the
3581 argument is a byte or a char.
3582
3583 2008-05-26 Andreas Schwab <schwab@suse.de>
3584
3585 * xselect.c (x_reply_selection_request): Properly handle format == 32.
3586 Always send multiples of format size.
3587
3588 * xterm.c (x_set_frame_alpha): Fix type mismatch.
3589
3590 2008-05-26 Jason Rumney <jasonr@gnu.org>
3591
3592 * w32font.c (w32font_text_extents): Zero whole metrics struct first.
3593 (compute_metrics): Don't set failure if we just cleared the cache.
3594 (w32_weight_table): Remove unused variable.
3595 (w32_enumfont_pattern_entity): Use FONT_SPACING_CHARCELL for
3596 backwards compatibility.
3597
3598 2008-05-25 Kenichi Handa <handa@m17n.org>
3599
3600 * w32term.c (x_draw_glyph_string):
3601 * xterm.c (x_draw_glyph_string): Fix calculation of underline position.
3602
3603 * xfaces.c: Delete unused function prototypes.
3604 (xstrlwr, font_frame): Delete them.
3605 (clear_face_cache): Delete unused variable.
3606
3607 * xftfont.c (xftfont_open): Delete unused variable.
3608 If underline_thickness is not 1, adjust underline_position.
3609
3610 * ftxfont.c (ftxfont_open): Delete unused variable.
3611
3612 * fontset.c (face_for_char): Optimize for the case of no charset
3613 property.
3614
3615 * font.c (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE)
3616 (check_gstring, check_otf_features, otf_list, otf_tag_symbol)
3617 (otf_open, font_otf_capability, generate_otf_features)
3618 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
3619 Comment out by surrounding "#if 0" and "#endif" for the moment.
3620 (Ffont_drive_otf, Ffont_otf_alternates): Likewise.
3621 (syms_of_font): Codes for accessing above commented out.
3622
3623 2008-05-24 Eli Zaretskii <eliz@gnu.org>
3624
3625 * w32proc.c: Include dispextern.h.
3626
3627 * w32.c: Include dispextern.h.
3628
3629 2008-05-23 Juanma Barranquero <lekktu@gmail.com>
3630
3631 * charset.c (Fencode_char, Fsplit_char): Doc fixes.
3632 (Fget_unused_iso_final_char, Fdecode_char, Fiso_charset):
3633 Fix typos in docstrings.
3634
3635 2008-05-23 Jason Rumney <jasonr@gnu.org>
3636
3637 * xsmfns.c: Remove includes that are already included by config.h.
3638
3639 2008-05-23 Kenichi Handa <handa@m17n.org>
3640
3641 * charset.c (Qemacs, charset_emacs): New variables.
3642 (char_charset): Fix for non-Unicode characters.
3643 (syms_of_charset): Define charset_emacs.
3644
3645 * w32term.c (x_draw_glyph_string): Be sure to update
3646 s->underline_thickness and s->underline_position. Be sure to draw
3647 underline within the current line area.
3648
3649 * xterm.c (x_draw_glyph_string): Be sure to update
3650 s->underline_thickness and s->underline_position. Be sure to draw
3651 underline within the current line area.
3652
3653 * fontset.c: Delete unused variables and add casting for char *
3654 throughout the file.
3655 (fontset_font): Try the fallback fonts of the current fontset
3656 before consulting the default fontset.
3657
3658 * ftfont.c (ftfont_spec_pattern): Free charset if necessary.
3659
3660 * xfont.c (xfont_list_pattern): Free names returned from XListFonts.
3661
3662 2008-05-22 Jason Rumney <jasonr@gnu.org>
3663
3664 * font.c: Don't include strings.h.
3665
3666 * dispextern.h, xfaces.c (xstrcasecmp): Rename from xstricmp.
3667
3668 * dosfns.c, fileio.c, font.c, fontset.c, image.c, macfns.c:
3669 * macterm.c, process.c, w32.c, w32fns.c, w32proc.c, xfaces.c:
3670 * xfns.c, xfont.c: All callers of stricmp and strcasecmp changed
3671 to call xstrcasecmp.
3672
3673 * xfont.c (xfont_list_pattern, compare_font_names): Use xstrcasecmp.
3674
3675 * fontset.c (fs_query_fontset): Use xstrcasecmp.
3676
3677 * font.c (font_style_to_value, font_score): Use xstrcasecmp.
3678
3679 * dosfns.c (msdos_stdcolor_idx): Use xstrcasecmp.
3680
3681 2008-05-22 Kenichi Handa <handa@m17n.org>
3682
3683 * puresize.h (BASE_PURESIZE): Increase to 1220000.
3684
3685 * font.c (font_prop_validate_style): Adjust for the format
3686 change of font_style_table.
3687
3688 * w32font.c (w32font_open_internal): Call Ffont_xlfd_name with
3689 two args.
3690
3691 * xfaces.c (x_update_menu_appearance): Call Ffont_xlfd_name with
3692 two args.
3693
3694 2008-05-22 Stefan Monnier <monnier@iro.umontreal.ca>
3695
3696 * minibuf.c (keys_of_minibuf): Delete.
3697 * lisp.h (keys_of_minibuf): Delete.
3698 * emacs.c (main): Don't call keys_of_minibuf.
3699
3700 2008-05-22 Kenichi Handa <handa@m17n.org>
3701
3702 * ftfont.c (ftfont_resolve_generic_family): Rename from
3703 ftfont_list_generic_family. Return a single family for each
3704 generic family.
3705 (ftfont_spec_pattern): Add FC_FAMILY to pattern.
3706 (ftfont_list): Adjust for the change of ftfont_resolve_generic_family.
3707 Call font_add_log.
3708 (ftfont_match): Call font_add_log.
3709
3710 * font.h (Ffont_xlfd_name): EXFUN adjusted.
3711 (FONT_DEBUG): Define it.
3712 (font_add_log): Extern it.
3713 (font_assert): Rename from xassert.
3714
3715 * xfont.c (xfont_get_pcm): Change xassert to font_assert.
3716 (xfont_list_family): Call font_add_log.
3717 (xfont_match): Likewise.
3718 (memq_no_quit): Delete.
3719
3720 * fontset.c (fontset_from_font, Ffontset_info): Add the 2nd arg in
3721 call of Ffont_xlfd_name.
3722
3723 * xfaces.c (struct table_entry, slant_table, weight_table)
3724 (swidth_table): Move to font.c.
3725
3726 * font.c: Checking of FONT_DEBUG is moved to font.h. All calls of
3727 xassert are changed to font_assert. Delete many unused variables.
3728 (Vfont_weight_table, Vfont_slant_table, Vfont_width_table):
3729 New variables.
3730 (struct table_entry): Move from xfaces.c and modified.
3731 (weight_table, slant_table, width_table): Move from xfaces.c and
3732 contents adjusted for the change of struct table_entry.
3733 (font_style_to_value, font_style_symbolic): Adjust for the
3734 format change of font_style_table.
3735 (font_parse_family_registry): Don't overwrite existing foundry and
3736 family of font_spec.
3737 (font_score): Fix calculation of diff for sizes.
3738 (font_sort_entites): Call font_add_log.
3739 (font_delete_unmatched): Return a newly created list.
3740 (font_list_entities): Fix previous change. Call font_add_log.
3741 (font_matching_entity, font_open_entity, font_close_entity):
3742 Call font_add_log.
3743 (Ffont_xlfd_name): New arg FOLD-WILDCARDS.
3744 (Finternal_set_font_style_table): Delete.
3745 (BUILD_STYLE_TABLE): New macro.
3746 (build_style_table): New function.
3747 (Vfont_log, font_log_env_checked): New variables.
3748 (font_add_log): New function.
3749 (syms_of_font): Delete defsubr Sinternal_set_font_style_table.
3750 Declare Lisp variables "font-weight-table", "font-slant-table",
3751 "font-width-table", and "font-log". Initialize font_style_table.
3752
3753 2008-05-21 Dan Nicolaescu <dann@ics.uci.edu>
3754
3755 * xterm.c (x_set_frame_alpha): Move declarations before statements.
3756
3757 2008-05-21 Seiji Zenitani <zenitani@mac.com>
3758 Ryo Yoshitake <ryo@shiftmode.net>
3759
3760 * frame.c (Qalpha): Add a new frame parameter `alpha'.
3761 (Vframe_alpha_lower_limit): New variable.
3762 (x_set_alpha): New function.
3763
3764 * frame.h (Qalpha, Vframe_parameter_lower_limit): Export them.
3765
3766 * xfns.c (x-create-frame, Qalpha):
3767 Initialize the frame parameter `alpha'.
3768 * xterm.c (OPAQUE, OPACITY): New.
3769 (x_set_frame_alpha): New function.
3770 (frame_highlight, frame_unhighlight): Call x_set_frame_alpha.
3771
3772 * macfns.c (mac_frame_parm_handlers): A null handler for x_set_alpha.
3773 * w32fns.c (w32_frame_parm_handlers): Likewise.
3774
3775 2008-05-20 Jason Rumney <jasonr@gnu.org>
3776
3777 * w32font.c (add_font_entity_to_list): Don't add non-opentype
3778 truetype fonts to opentype list.
3779
3780 2008-05-20 Juanma Barranquero <lekktu@gmail.com>
3781
3782 * fontset.c (Ffontset_info): Doc fix.
3783 (syms_of_fontset) <font-encoding-charset-alist, use-default-ascent>:
3784 <ignore-relative-composition>: Fix typos in docstrings.
3785
3786 * font.c (syms-of-font) <font-encoding-alist>:
3787 (Ffontp, Ffont_make_gstring): Fix typos in docstrings.
3788 (Flist_fonts, Ffont_family_list, Ffont_fill_gstring, Fquery_font)
3789 (Ffont_otf_alternates): Doc fixes.
3790
3791 2008-05-20 Kenichi Handa <handa@m17n.org>
3792
3793 * Makefile.in (FONTSRC): Delete it. Change all $(FONTSRC) to
3794 font.h through out the file.
3795 (FONT_DRIVERS): Rename from FONTOBJ.
3796 (obj): Change $(FONTOBJ) to $(FONT_DRIVERS). Add font.o.
3797 (SOME_MACHINE_OBJECTS): Change $(FONTOBJ) to $(FONT_DRIVERS).
3798
3799 * emacs.c (main): Call syms_of_font unconditionally.
3800
3801 * font.h (find_font_encoding): Extern it.
3802
3803 * font.c (Vfont_encoding_alist, find_font_encoding): Move from
3804 fontset.c.
3805 (font_pixel_size)[! HAVE_WINDOW_SYSTEM]: Return 1.
3806 (font_open_entity): Update FRAME_X_DISPLAY_INFO (f)->n_fonts,
3807 FRAME_SMALLEST_CHAR_WIDTH (f), and FRAME_SMALLEST_FONT_HEIGHT (f)
3808 only when HAVE_WINDOW_SYSTEM is defined.
3809 (font_close_object): Update FRAME_X_DISPLAY_INFO (f)->n_fonts only
3810 when HAVE_WINDOW_SYSTEM is defined.
3811
3812 * fontset.c (Vfont_encoding_alist, find_font_encoding): Move to font.c.
3813 (syms_of_fontset): Move declaration of font-encoding-alist to font.c.
3814
3815 * xfaces.c: Include font.h unconditionally.
3816 (merge_face_ref, merge_face_vectors)
3817 (Finternal_set_lisp_face_attribute): Cancel the previous change.
3818
3819 2008-05-20 Stefan Monnier <monnier@iro.umontreal.ca>
3820
3821 * xdisp.c (select_frame_for_redisplay): Adjust for last change to
3822 indirect_variable.
3823 * eval.c (lisp_indirect_variable): New fun.
3824 (Fuser_variable_p): Use it.
3825
3826 2008-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
3827
3828 * lisp.h (indirect_variable):
3829 * data.c (indirect_variable, let_shadows_buffer_binding_p):
3830 Use Lisp_Symbol pointers rather than Lisp_Object.
3831 Adjust callers.
3832 * buffer.c (buffer_slot_type_mismatch): Use wrong-type-argument.
3833 To this end, change calling-convention.
3834
3835 * minibuf.c (Finternal_complete_buffer): Only strip out hidden buffers
3836 if some non-hidden buffers are selected by string&pred.
3837
3838 2008-05-19 Chong Yidong <cyd@stupidchicken.com>
3839
3840 * process.c (wait_reading_process_output): Always check status
3841 when in batch mode.
3842
3843 2008-05-19 Kenichi Handa <handa@m17n.org>
3844
3845 * font.c (font_list_entities): Fix handling of cache.
3846 (font_matching_entity): Likewise.
3847
3848 * ftfont.c (cs_iso8859_1): Delete.
3849 (ft_face_cache): New variable.
3850 (struct ftfont_info): New member fc_charset_idx.
3851 (ftfont_build_basic_charsets): Delete.
3852 (fc_charset_table): New variable.
3853 (ftfont_pattern_entity): New arg fc_charset_idx. Store (FILENAME
3854 . FC_CHARSET_IDX) as :font-entity property in the font entity.
3855 Callers changed.
3856 (ftfont_lookup_cache, ftfont_get_charset): New functions.
3857 (ftfont_spec_pattern): New argument fc_charset_idx.
3858 Check registry more rigidly. Change callers.
3859 (ftfont_open, ftfont_close, ftfont_has_char): Adjust for the
3860 change of :font-entity property of the font.
3861
3862 * xftfont.c (xftfont_open): Adjust for the change of :font-entity
3863 property of the font.
3864
3865 2008-05-18 Juanma Barranquero <lekktu@gmail.com>
3866
3867 * coding.c (Fcoding_system_p): Rename argument to match docstring.
3868 (Funencodable_char_position, Fcheck_coding_systems_region)
3869 (Fdecode_coding_string, Fencode_coding_string): Fix typos in docstrings.
3870 (Fdetect_coding_region, Fdetect_coding_string, Fencode_coding_region)
3871 (Ffind_operation_coding_system, Fset_coding_system_priority)
3872 (Fcoding_system_eol_type): Doc fixes.
3873
3874 2008-05-17 Glenn Morris <rgm@gnu.org>
3875
3876 * sysdep.c (child_setup_tty): Handle systems with NLDLY, without FFDLY.
3877
3878 2008-05-16 Eli Zaretskii <eliz@gnu.org>
3879
3880 * dired.c (Ffile_attributes): Shut up GCC warnings about st_uid
3881 and st_gid.
3882
3883 * frame.c (Fdelete_frame): Don't call font_update_drivers if
3884 HAVE_WINDOW_SYSTEM is not defined.
3885
3886 * xfaces.c (merge_face_ref, merge_face_vectors)
3887 (Finternal_set_lisp_face_attribute): Use FONT_*_INDEX only when
3888 HAVE_WINDOW_SYSTEM is defined.
3889 (Fface_font): Fix non-HAVE_WINDOW_SYSTEM case.
3890
3891 2008-05-16 Stefan Monnier <monnier@iro.umontreal.ca>
3892
3893 * keyboard.c (parse_menu_item): Do not cache key shortcut any more.
3894
3895 2008-05-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3896
3897 * macterm.c (x_draw_relief_rect): Remove unused variable `dpy'.
3898
3899 2008-05-15 Kenichi Handa <handa@m17n.org>
3900
3901 * font.c (font_find_for_lface): Reflect LFACE_FONT in the font
3902 preference.
3903
3904 2008-05-15 Glenn Morris <rgm@gnu.org>
3905
3906 * emacs.c (USAGE1, standard_args): Remove -disable-font-backend.
3907
3908 2008-05-15 Chong Yidong <cyd@stupidchicken.com>
3909
3910 * fns.c (init_fns): Don't initialize weak_hash_tables here.
3911 (init_weak_hash_tables): New fun. Initialize weak_hash_tables.
3912
3913 * alloc.c (init_alloc_once): Call init_weak_hash_tables.
3914
3915 2008-05-15 Kenichi Handa <handa@m17n.org>
3916
3917 * ftfont.c (ftfont_list): Downcase family name to check generic
3918 families.
3919
3920 * xfaces.c (Finternal_set_lisp_face_attribute): Be sure to make a
3921 font-spec for QCfont value.
3922
3923 * fontset.c (Fnew_fontset): Call font_unparse_xlfd with 256-byte
3924 buffer. Check the return value of it.
3925
3926 2008-05-14 Jason Rumney <jasonr@gnu.org>
3927
3928 * w32term.c (w32_get_glyph_overhangs): Remove.
3929 (w32_redisplay_interface): Use x_get_glyph_overhangs instead.
3930
3931 2008-05-14 Kenichi Handa <handa@m17n.org>
3932
3933 * font.c (font_prop_validate): Make nil a valid value.
3934 (font_clear_cache): Check if the cached vector of entities is nil
3935 or not.
3936
3937 2008-05-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3938
3939 * emacs.c (main_thread): Conditionalize on
3940 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
3941 (main) [FORWARD_SIGNAL_TO_MAIN_THREAD]: Initialize it.
3942
3943 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): New define.
3944 (main_thread, SIGNAL_THREAD_CHECK): Conditionalize on
3945 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
3946
3947 2008-05-14 Kenichi Handa <handa@m17n.org>
3948
3949 * coding.c (detect_coding_iso_2022): Ignore a coding category that
3950 has no corresponding coding system.
3951
3952 2008-05-14 Jason Rumney <jasonr@gnu.org>
3953
3954 * font.h (struct font) [WINDOWSNT]: Remove codepage member.
3955
3956 * w32font.h (w32font_open_internal): Update declaration.
3957
3958 * w32font.c (w32font_open_internal): Change last argument from
3959 w32font_info struct to font object. Fill in font object from
3960 font_entity. Get Outline metrics if possible. Use them to
3961 calculate underline position and thickness. Use xlfd name as name
3962 property. Don't set codepage.
3963 (w32font_open): Pass font_object to w32font_open_internal. Don't
3964 update dpyinfo->smallest_font_height and dpyinfo->smallest_char_width.
3965 (w32font_draw): Use s->font.
3966 (clear_cached_metrics): Don't clear non-existent blocks.
3967
3968 * w32term.c (w32_compute_glyph_string_overhangs): Don't compute if
3969 font was not found.
3970 (x_draw_glyph_string): Use underline position and thickness from font.
3971
3972 * w32uniscribe.c (uniscribe_open): Pass font_object to
3973 w32font_open_internal.
3974
3975 2008-05-14 Kenichi Handa <handa@m17n.org>
3976
3977 These changes are to delete all legacy font-handling codes, and
3978 make Emacs use only font-backends.
3979
3980 * Makefile.in: Delete USE_FONT_BACKEND conditionals.
3981 (frame.o, image.o, print.o): Depend on $(FONTSRC).
3982
3983 * makefile.w32-in (WIN32OBJ): Add w32reg.$(O), remove w32bdf.$(O).
3984
3985 * charset.h (Vcharset_non_preferred_head)
3986 (Vcurrent_iso639_language): Extern them.
3987
3988 * charset.c (Vcharset_non_preferred_head): New variable.
3989 (Vcurrent_iso639_language): New variable.
3990 (syms_of_charset): Declare it as a Lisp variable.
3991 (char_charset): Don't check non preferred charsets. As a last
3992 resort, return charset_unicode.
3993 (Fset_charset_priority): Update Vcharset_non_preferred_head.
3994
3995 * composite.c: Throughout the file, delete all USE_FONT_BACKEND
3996 conditionals. Don't check enable_font_backend. Delete all codes
3997 used only when USE_FONT_BACKEND is not defined.
3998
3999 * dispextern.h (struct glyph_string): Change type of `font' to
4000 `struct font *'.
4001 (struct glyph_string): New member underline_position and
4002 underline_thickness.
4003 (enum lface_attribute_index): Remove LFACE_AVGWIDTH_INDEX.
4004 (struct face): Change type of `font' to `struct font *'. Remove
4005 members `font_name', `font_info_id'.
4006 (per_char_metric, encode_char): Delete externs.
4007 (calc_pixel_width_or_height): Adjust the prototype.
4008
4009 * emacs.c (enable_font_backend): Delete extern.
4010 (main): Don't set enable_font_backend. Don't check the command
4011 line argument "-disable-font-backend".
4012
4013 * font.h (Qfont_spec, Qfont_entity, Qfont_object): Extern them.
4014 (enum font_property_index): New members FONT_DPI_INDEX,
4015 FONT_SPACING_INDEX, FONT_AVGWIDTH_INDEX, FONT_NAME_INDEX,
4016 FONT_FULLNAME_INDEX, FONT_FILE_INDEX, FONT_FORMAT_INDEX,
4017 FONT_OBJECT_MAX. Delete FONT_FRAME_INDEX.
4018 (FONT_WEIGHT_NUMERIC, FONT_SLANT_NUMERIC, FONT_WIDTH_NUMERIC)
4019 (FONT_WEIGHT_SYMBOLIC, FONT_SLANT_SYMBOLIC, FONT_WIDTH_SYMBOLIC)
4020 (FONT_WEIGHT_FOR_FACE, FONT_SLANT_FOR_FACE, FONT_WIDTH_FOR_FACE)
4021 (FONT_WEIGHT_NAME_NUMERIC, FONT_SLANT_NAME_NUMERIC)
4022 (FONT_WIDTH_NAME_NUMERIC, FONT_SET_STYLE): New macros.
4023 (struct font_spec, struct font_entity): New structs.
4024 (FONT_ENCODING_NOT_DECIDED): Moved from fontset.h.
4025 (struct font): Many members from old "struct font_info" moved to
4026 here. Members font and entity deleted.
4027 (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P, FONTP): Modified for
4028 the new font-related objects.
4029 (CHECK_FONT_SPEC, CHECK_FONT_ENTITY, CHECK_FONT_OBJECT)
4030 (CHECK_FONT_GET_OBJECT): Likewise.
4031 (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT, XSETFONT): New macros.
4032 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved from font.h.
4033 (struct font_driver): New members case_sensitive anc check. Type
4034 of the member list and open changed.
4035 (enable_font_backend, font_symbolic_weight, font_symbolic_slant)
4036 (font_symbolic_width, font_find_object, font_get_spec)
4037 (font_set_lface_from_name): Delete extern.
4038 (Fcopy_font_spec, Fmerge_font_spec, Ffont_family_list): New EXFUNs.
4039
4040 * font.c: Include <strings.h>.
4041 (enable_font_backend): Delete it.
4042 (Qfont_spec, Qfont_entity, Qfont_object): New variables.
4043 (CHECK_VALIDATE_FONT_SPEC): Delete it.
4044 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved to font.h.
4045 (null_string): Delete it.
4046 (null_vector): Make it static.
4047 (font_family_alist): Delete it.
4048 (Qnormal): Extern it.
4049 (QCextra, QClanguage): Delete it.
4050 (QClang, QCavgwidth, QCfont_entity, QCfc_unknown_spec): New variables.
4051 (font_make_spec, font_make_entity, font_make_object)
4052 (font_intern_prop): Renamed from intern_downcase. Don't downcase
4053 the string. Callers changed.
4054 (font_pixel_size): Adjusted for the format change of font-related
4055 objects.
4056 (prop_name_to_numeric, prop_numeric_to_name): Delete them.
4057 (font_style_to_value, font_style_symbolic): New function.
4058 (build_font_family_alist): Delete it.
4059 (font_registry_charsets): Use Fassoc_string instead of
4060 assq_no_quit.
4061 (font_prop_validate_symbol): Don't return null_string.
4062 (font_prop_validate_style): Adjusted for the change of
4063 style-related values in a font vector.
4064 (font_property_table): Delete entries for QClanguage and
4065 QCantialias, add entries for QCavgwidth.
4066 (get_font_prop_index): Delete the 2nd argument FROM.
4067 (font_prop_validate): Arguments changed.
4068 (font_put_extra): Adjusted for the change of font-related objects.
4069 (font_expand_wildcards, font_parse_xlfd, font_unparse_xlfd)
4070 (font_parse_fcname, font_unparse_fcname)
4071 (font_prepare_composition): Likewise.
4072 (font_parse_family_registry): Renamed from font_merge_old_spec.
4073 (otf_open): Delete the 1st arg entity.
4074 (font_otf_capability): Adjusted for the above change.
4075 (font_score): New arg alternate_families. Adjusted for the change
4076 of font-related objects.
4077 (font_sort_entites): New arg best_only.
4078 (font_symbolic_weight, font_symbolic_slant, font_symbolic_width):
4079 Delete them.
4080 (font_match_p): Check alternate families.
4081 (font_find_object): Delete it.
4082 (font_check_object): New function.
4083 (font_clear_cache): Adjusted for the change of font-related objects.
4084 (font_delete_unmatched): New arg.
4085 (font_list_entities): Call font_driver->list with a spec that
4086 doesn't specify style-related properties.
4087 (font_matching_entity): Arguments changed. Caller changed.
4088 (font_open_entity): Adjusted for the change of font-related objects.
4089 (font_close_object, font_has_char, font_encode_char)
4090 (font_get_name, font_get_spec): Likewise.
4091 (font_spec_from_name, font_clear_prop, font_update_lface):
4092 New functions.
4093 (font_find_for_lface, font_open_for_lface, font_load_for_lface)
4094 (font_prepare_for_face, font_done_for_face, font_open_by_name)
4095 (font_at): Adjusted for the change of font-related objects.
4096 (font_range): New function.
4097 (Ffontp, Ffont_spec, Ffont_get, Ffont_put, Flist_fonts)
4098 (Ffont_xlfd_name): Adjusted for the change of font-related objects.
4099 (Fcopy_font_spec, Fmerge_font_spec): New function.
4100 (Ffont_family_list): Renamed from list-families.
4101 (Finternal_set_font_style_table): Arguments changed.
4102 (Ffont_fill_gstring, Ffont_shape_text, Fopen_font)
4103 (Ffont_drive_otf, Fquery_font, Ffont_match_p): Adjusted for the
4104 change of font-related objects.
4105 (syms_of_font): Delete "ifdef USE_FONT_BACKEND". DEFSYM new symbols.
4106
4107 * fontset.h (struct font_info): Delete it. Most members go to
4108 struct font.
4109 (FONT_ENCODING_NOT_DECIDED): Moved to font.h.
4110 (enum FONT_SPEC_INDEX): Delete it.
4111 (font_info, list_fonts_func, load_font_func, query_font_func)
4112 (set_frame_fontset_func, find_ccl_program_func)
4113 (get_font_repertory_func, new_fontset_from_font_name): Delete
4114 externs.
4115 (fontset_from_font_name): Extern it.
4116 (FS_LOAD_FONT, FONT_INFO_ID, FONT_INFO_FROM_ID)
4117 (FONT_INFO_FROM_FACE): Deleted.
4118 (face_for_font): Adjust prototype.
4119
4120 * fontset.c: Throughout the file, delete all USE_FONT_BACKEND
4121 conditionals. Don't check enable_font_backend. Delete all codes
4122 used only when USE_FONT_BACKEND is not defined.
4123 (get_font_info_func, list_font_func, load_font_func)
4124 (query_font_func, set_frame_fontset_func, find_ccl_program_func)
4125 (get_font_repertory_func): Delete them.
4126 (FONTSET_SPEC, FONT_DEF_NEW, FONT_DEF_SPEC, FONT_DEF_ENCODING)
4127 (FONT_DEF_REPERTORY, RFONT_DEF_FACE, RFONT_DEF_SET_FACE)
4128 (RFONT_DEF_FONT_DEF, RFONT_DEF_SPEC, RFONT_DEF_REPERTORY)
4129 (RFONT_DEF_OBJECT, RFONT_DEF_SET_OBJECT, RFONT_DEF_SCORE)
4130 (RFONT_DEF_SET_SCORE, RFONT_DEF_NEW): New macros.
4131 (fontset_compare_rfontdef): New function.
4132 (reorder_font_vector): Remove the argument CHARSET-ID. Sort
4133 ront-defs by qsort. Adjusted for the change of font-group vector.
4134 (load_font_get_repertory): Deleted.
4135 (fontset_find_font): Use new macros to ref/set elements of
4136 font-def and rfont-def.
4137 (fontset_font): Fix the timing of remembering that no font for C.
4138 (free_face_fontset): Do nothing if the face has no fontset.
4139 (face_suitable_for_char_p): Use new macros to ref/set elements of
4140 rfont-def.
4141 (face_for_char): Likewise. Call face_for_char with font_object.
4142 (fs_load_font): Delete. Delete #pragma surrounding it.
4143 (fs_query_fontset): Use strcasecmp instead of strcmp.
4144 (generate_ascii_font_name): Adjusted for the format change of
4145 font-spec.
4146 (Fset_fontset_font): Likewise. Use new macros to set elements of
4147 font-def.
4148 (Fnew_fontset): Use font_unparse_xlfd to generate
4149 FONTSET_ASCII (fontset).
4150 (new_fontset_from_font_name): Deleted.
4151 (fontset_from_font): Renamed from new_fontset_from_font. Check if
4152 a fontset is already created for the font. FIx updating of
4153 Vfontset_alias_alist.
4154 (fontset_ascii_font): Deleted.
4155 (Ffont_info): Adjusted for the format change of font-spec.
4156 (Finternal_char_font): Likewise.
4157 (Ffontset_info): Likewise.
4158 (syms_of_fontset): Don't check load_font_func.
4159
4160 * fns.c (internal_equal): Handle PREV_FONT.
4161
4162 * frame.h: Delete USE_FONT_BACKEND conditional.
4163
4164 * frame.c: Throughout the file, delete all USE_FONT_BACKEND
4165 conditionals. Don't check enable_font_backend. Delete all codes
4166 used only when USE_FONT_BACKEND is not defined.
4167 (x_set_font): Call x_new_font, not x_new_fontset2.
4168 (x_set_font_backend): Use FRAME_FONT macro to check if a font is
4169 already set for the frame.
4170
4171 * ftfont.c (ftfont_pattern_entity): Argument FRAME removed. Make
4172 a font-entity by font_make_entity. Use font_intern_prop instead
4173 of intern_downcase. Use FONT_SET_STYLE to set a style-related
4174 font property. If a font is scalable, set avgwidth property to 0.
4175 Set font-entity property by font_put_extra.
4176 (ftfont_list_generic_family): Argument SPEC and REGISTRY removed.
4177 (ffont_driver): Adjusted for the change of struct font_driver.
4178 (ftfont_spec_pattern): New function.
4179 (ftfont_list): Return a list, not vector.
4180 (ftfont_match): Use ftfont_spec_pattern to get a pattern.
4181 (ftfont_list_family): Don't downcase names.
4182 (ftfont_free_entity): Deleted.
4183 (ftfont_open): Return a font-ojbect. Adjusted for the change of
4184 struct font. Get underline_thickness and underline_position from
4185 font property. Don't update dpyinfo->smallest_font_height and
4186 dpyinfo->smallest_char_width.
4187 (ftfont_close): Don't free `struct font'.
4188 (ftfont_has_char): Adjusted for the format change of font-entity.
4189 (ftfont_encode_char, ftfont_text_extents): Likewise.
4190
4191 * ftxfont.c (ftxfont_list): Return a list, not vector.
4192 (ftxfont_open): Return a font-ojbect. Adjusted for the change of
4193 struct font. Get underline_thickness and underline_position from
4194 font property. Don't update dpyinfo->smallest_font_height and
4195 dpyinfo->smallest_char_width.
4196 (ftxfont_close): Don't decrese FRAME_X_DISPLAY_INFO (f)->n_fonts.
4197 (ftxfont_draw): Adjusted for the change of struct font.
4198
4199 * image.c (image_ascent): Don't include "charset.h". Include
4200 "character.h" and "font.h".
4201
4202 * lisp.h (enum pvec_type): New member PREV_FONT.
4203 (Fassoc_string): EXFUN it.
4204
4205 * print.c: Include font.h.
4206 (print_object): Handle font-related objects.
4207
4208 * xdisp.c: Throughout the file, delete all USE_FONT_BACKEND
4209 conditionals. Don't check enable_font_backend. Delete all codes
4210 used only when USE_FONT_BACKEND is not defined.
4211 (handle_auto_composed_prop): Do nothing if it->f is not on a
4212 window system. Check how many following characters can be
4213 displayed by the same font.
4214 (calc_pixel_width_or_height): Type of the 4th arg is changed to
4215 'struct font *'.
4216 (get_char_face_and_encoding): Assign the whole encoding task to
4217 the `encode-char' method of a font driver.
4218 (fill_composite_glyph_string): Adjusted for the change of `struct
4219 face' and `struct glyph_string'.
4220 (fill_glyph_string): Likewise.
4221 (get_per_char_metric): Arguments changed.
4222 (x_get_glyph_overhangs): Adjusted for the change of `struct face'
4223 and `struct glyph_string'.
4224 (produce_stretch_glyph, calc_line_height_property)
4225 (x_produce_glyphs): Likewise.
4226
4227 * xfaces.c: Throughout the file, delete all USE_FONT_BACKEND
4228 conditionals. Don't check enable_font_backend. Delete all codes
4229 used only when USE_FONT_BACKEND is not defined. Use
4230 FONT_XXX_NAME_NUMERIC instead of face_numeric_xxx.
4231 (QCfoundry, QCadstyle, QCregistry, QCspacing, QCsize, QCavgwidth)
4232 (Qp): Extern them.
4233 (clear_font_table, load_face_font, xlfd_lookup_field_contents):
4234 Deleted.
4235 (struct font_name): Deleted.
4236 (xlfd_numeric_value, xlfd_symbolic_value): Deleted.
4237 (compare_fonts_by_sort_order): New function.
4238 (xlfd_numeric_slant, xlfd_symbolic_slant, xlfd_numeric_weight)
4239 (xlfd_symbolic_weight, xlfd_numeric_swidth, xlfd_symbolic_swidth):
4240 Deleted.
4241 (Fx_family_fonts): Use font_list_entities, and sort fonts by
4242 compare_fonts_by_sort_order.
4243 (Fx_font_family_list): Call Ffont_family_list.
4244 (face_numeric_value, face_numeric_weight, face_numeric_slant)
4245 (face_numeric_swidth, face_symbolic_value, face_symbolic_weight)
4246 (face_symbolic_slant, face_symbolic_swidth)
4247 (split_font_name_into_vector, build_font_name_from_vector)
4248 (xlfd_fixed_p, xlfd_point_size, pixel_point_size)
4249 (font_rescale_ratio, split_font_name, build_font_name)
4250 (free_font_names, sort_fonts, x_face_list_fonts)
4251 (face_font_available_p, sorted_font_list, cmp_font_names)
4252 (font_list_1, concat_font_list, font_list, remove_duplicates):
4253 Deleted.
4254 (Fx_list_fonts): Use Ffont_list.
4255 (LFACE_AVGWIDTH): Deleted.
4256 (check_lface_attrs): Don't check LFACE_AVGWIDTH. Check LFACE_FONT
4257 by FONTP.
4258 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
4259 (set_lface_from_font_name): Delete it.
4260 (set_lface_from_font): Renamed from
4261 set_lface_from_font_and_fontset. Caller changed. Don't set
4262 LFACE_AVGWIDTH. Use FONT_XXX_FOR_FACE to get a symbol suitable
4263 for face.
4264 (merge_face_vectors): Copy font-spec if necessary.
4265 Clear properties of the font-spec if necessary.
4266 (merge_face_ref): Clear properties of the font-spec if necessary.
4267 (Finternal_set_lisp_face_attribute): Likewise.
4268 (set_font_frame_param): Use font_load_for_lface to load a
4269 font-object, and call Fmodify_frame_parameters with it.
4270 (x_update_menu_appearance): Don't check LFACE_AVGWIDTH. Get XLFD
4271 font name by Ffont_xlfd_name.
4272 (Finternal_lisp_face_attribute_values): Don't check QCweight,
4273 QCslant, and QCwidth.
4274 (Fface_font): Get a font name from font->props[FONT_NAME_INDEX].
4275 (lface_same_font_attributes_p): Don't check LFACE_AVGWIDTH.
4276 Compare fonts by EQ.
4277 (lookup_non_ascii_face): Deleted.
4278 (face_for_font): The 2nd argument changed.
4279 (x_supports_face_attributes_p): Don't check LFACE_AVGWIDTH.
4280 Check atomic font properties by case insensitive.
4281 (realize_non_ascii_face): Set face->overstrike correctly.
4282 (realize_x_face): Likewise. Check if LFACE_FONT is a font_object.
4283 (dump_realized_face): Get font name from
4284 font->props[FONT_NAME_INDEX]. Don't print font_info_id.
4285
4286 * xfns.c: Throughout the file, delete all USE_FONT_BACKEND
4287 conditionals. Don't check enable_font_backend. Delete all codes
4288 used only when USE_FONT_BACKEND is not defined.
4289 (xic_create_xfontset): Original code deleted and renamed from
4290 xic_create_xfontset2. Use FRAME_FONT, not FRAME_FONT_OBJECT.
4291 (x_make_gc): Don't set GCFont in GCs.
4292 (Fx_create_frame) [USE_LUCID]: Set xlwmenu_default_font to a font
4293 opened by "fixed".
4294 (syms_of_xfns): Don't set get_font_info_func, load_font_func,
4295 find_ccl_program_func, query_font_func, set_frame_fontset_func,
4296 get_font_repertory_func.
4297
4298 * xfont.c: Include <stdlib.h> and "ccl.h".
4299 (struct xfont_info): New structure.
4300 (xfont_query_font): Deleted.
4301 (xfont_find_ccl_program): Renamed from x_find_ccl_program and
4302 moved from xterm.c.
4303 (xfont_driver): Adjusted for the change of struct font_driver.
4304 (compare_font_names): New function.
4305 (xfont_list_pattern): Sort font names case insensitively. Make
4306 font_entity by calling font_make_entity. Avoid auto-scaled fonts.
4307 (xfont_list): Return a list, not vector.
4308 (xfont_match): If the font doesn't have QCname property, generate
4309 a name from the other font properties.
4310 (xfont_open): Return a font-ojbect. Adjusted for the change of
4311 struct font. Get underline_thickness and underline_position from
4312 font property. Don't update dpyinfo->smallest_font_height and
4313 dpyinfo->smallest_char_width.
4314 (xfont_close): Don't free struct font.
4315 (xfont_prepare_face): Adjusted for the change of struct font.
4316 (xfont_done_face): Deleted.
4317 (xfont_has_char): Adjusted for the change of struct font.
4318 (xfont_encode_char, xfont_draw): Likewise.
4319 (xfont_check): New function.
4320
4321 * xftfont.c (xftfont_list): Adjusted for the change of `list'
4322 callback function.
4323 (xftfont_match): Adjusted for the fontmat change of font-entity.
4324 (xftfont_open): Adjusted for the format change of font-entity and
4325 font-object. Adjusted for the change of struct font. Return a
4326 font-object. Don't update dpyinfo->smallest_font_height and
4327 dpyinfo->smallest_char_width.
4328 (xftfont_close): Block input while calling XftFontClose.
4329 (xftfont_prepare_face): Don't block input while calling
4330 xftfont_get_colors. Adjusted for the change of struct font.
4331 (xftfont_shape): Return value of error case fixed.
4332
4333 * xrdb.c (x_load_resources): Don't setup a fontset resource.
4334
4335 * xterm.h: Throughout the file, delete all USE_FONT_BACKEND
4336 conditionals.
4337 (FONT_WIDTH): Return (f)->max_width.
4338 (struct x_display_info): Delete member `font'.
4339 (x_list_fonts, x_get_font_info, x_load_font, x_query_font)
4340 (x_find_ccl_program, x_get_font_repertory): Delete externs.
4341 (struct x_output): Change type of `font' to `struct font *'.
4342
4343 * xterm.c: Throughout the file, delete all USE_FONT_BACKEND
4344 conditionals. Don't check enable_font_backend. Delete all codes
4345 used only when USE_FONT_BACKEND is not defined. Don't include ccl.h.
4346 (x_per_char_metric, x_encode_char): Deleted.
4347 (x_set_cursor_gc, x_set_mouse_face_gc): Don't set GCFont.
4348 (x_compute_glyph_string_overhangs): Adjusted for the change of
4349 `struct face'.
4350 (x_draw_glyph_string_foreground)
4351 (x_draw_composite_glyph_string_foreground): Likewise.
4352 (x_draw_glyph_string): Likewise. Use font->underline_position and
4353 font->underline_thickness.
4354 (x_new_font): Renamed from x_new_fontset2.
4355 (x_new_fontset, x_get_font_info, x_list_fonts): Deleted.
4356 (x_check_font): Call `check' method of a font driver.
4357 (x_font_min_bounds, x_compute_min_glyph_bounds, x_load_font)
4358 (x_query_font, x_get_font_repertory): Deleted.
4359 (x_find_ccl_program): Renamed and moved to xfont.c.
4360 (x_redisplay_interface): Adjusted for the change of `struct
4361 redisplay_interface'.
4362
4363 * w32fns.c: Throughout the file, delete all USE_FONT_BACKEND
4364 conditionals. Don't check enable_font_backend. Delete all codes
4365 used only when USE_FONT_BACKEND is not defined. Surround non-used
4366 code by "#ifdef OLD_FONT" and "endif".
4367 (Fw32_select_font): Use FONT_COMPAT to get old font structure.
4368
4369 * w32font.h (struct w32font_info): New member.
4370 (FONT_COMPAT): New macro.
4371 (w32font_open_internal): Prototype adjusted.
4372
4373 * w32gui.h (XGCValues): Surround `XFontStruct *font' by "if
4374 OLD_FONT" and "endif".
4375
4376 * w32font.c: Throughout the file, delete all USE_FONT_BACKEND
4377 conditionals. Don't check enable_font_backend. Delete all codes
4378 used only when USE_FONT_BACKEND is not defined.
4379 (w32font_open): Return a font-object. Make a font-object by
4380 font_make_object. Adjusted for the change of struct w32font_info.
4381 (w32font_close): Don't free struct font. Adjusted for the change
4382 of struct w32font_info.
4383 (w32font_encode_char, w32font_text_extents, w32font_draw):
4384 Adjusted for the change of struct w32font_info.
4385 (w32font_draw): Likewise.
4386 (w32font_list_internal): Return a list, not vector.
4387 (w32font_open_internal): Change the 4th arg to font-object.
4388 Adjusted for the change of struct w32font_info and font-object format.
4389 (add_font_name_to_list): Don't downcase names.
4390 (w32_enumfont_pattern_entity): Make a font-entity by
4391 font_make_entity. Adjusted for the format change of font-entity.
4392 Use FONT_SET_STYLE to set a style-related font property. If a
4393 font is scalable, set avgwidth property to 0. Set font-entity
4394 property by font_put_extra.
4395 (font_matches_spec): Adjusted for the format change of font-entity.
4396 (w32_weight_table, w32_decode_weight): New variables.
4397 (w32_encode_weight): New function.
4398 (fill_in_logfont): Adjusted for the format change of font-spec.
4399 (w32font_full_name): Use FONT_WEIGHT_SYMBOLIC to get a symbol
4400 weight value.
4401 (w32font_driver): Adjusted for the change of struct font_driver.
4402
4403 * w32term.h: Throughout the file, delete all USE_FONT_BACKEND
4404 conditionals. Don't check enable_font_backend. Surround non-used
4405 code by "#ifdef OLD_FONT" and "endif".
4406 (FONT_WIDTH, FONT_HEIGHT, FONT_BASE, FONT_DESCENT)
4407 (FONT_AVG_WIDTH): Adjusted for the change of struct font.
4408
4409 * w32term.c: Throughout the file, delete all USE_FONT_BACKEND
4410 conditionals. Don't check enable_font_backend. Delete all codes
4411 used only when USE_FONT_BACKEND is not defined. Surround non-used
4412 code by "#ifdef OLD_FONT" and "endif".
4413
4414 * w32uniscribe.c: Delete USE_FONT_BACKEND conditional.
4415 (uniscribe_open): Return value changed to font-object.
4416 Adjusted for the format change of font-object.
4417 (uniscribe_otf_capability): Adjusted for the change of struct font.
4418 (add_opentype_font_name_to_list): Don't downcase names.
4419 (uniscribe_font_driver): Adjusted for the change of struct
4420 font_driver.
4421
4422 2008-05-13 Chong Yidong <cyd@stupidchicken.com>
4423
4424 * dispnew.c (update_frame_1): Check if tty output is still valid
4425 before flushing it.
4426
4427 2008-05-13 Jan Djärv <jan.h.d@swipnet.se>
4428
4429 * xterm.c (handle_one_xevent): Don't pass buttons higher than 3
4430 to Gtk+ menus.
4431
4432 2008-05-13 Stefan Monnier <monnier@iro.umontreal.ca>
4433
4434 * dired.c (file_name_completion): Tweak the code so as to always do it
4435 in a single pass. Tighten the scope of some variables.
4436
4437 * dired.c (Qdefault_directory): New var.
4438 (file_name_completion): Use it instead of Fexpand_file_name.
4439 (syms_of_dired): Initialize it.
4440
4441 2008-05-12 Stefan Monnier <monnier@iro.umontreal.ca>
4442
4443 * fileio.c (double_dollars): Remove dead code.
4444
4445 2008-05-10 Eli Zaretskii <eliz@gnu.org>
4446
4447 * dired.c (Ffile_attributes, Fdirectory_files_and_attributes):
4448 Mention w32-get-true-file-attributes in doc string.
4449
4450 * w32proc.c (syms_of_ntproc) <w32-get-true-file-attributes>: Doc fix.
4451
4452 2008-05-09 Glenn Morris <rgm@gnu.org>
4453
4454 * fileio.c (Fread_file_name): Remove reference to insdef, deleted
4455 2008-04-23.
4456
4457 2008-05-09 Eli Zaretskii <eliz@gnu.org>
4458
4459 Support for reporting owner and group of each file on MS-Windows:
4460 * dired.c (stat_uname, stat_gname): New functions, with special
4461 implementation for w32.
4462 (Ffile_attributes): Use them instead of getpwuid and getgrgid.
4463
4464 * w32.c: Rename the_passwd_* to dflt_passwd_*.
4465 (dflt_group_name): New static variable.
4466 (dflt_group): Rename from the_group.
4467 (init_user_info): Init dflt_group fields. Get user's group name
4468 from LookupAccountSid.
4469 (g_b_init_get_file_security, g_b_init_get_security_descriptor_owner)
4470 (g_b_init_get_security_descriptor_group, g_b_init_is_valid_sid):
4471 New initialization states.
4472 (globals_of_w32): Initialize them to zero. Initialize the default
4473 group name to "None".
4474 (GetFileSecurity_Name): New global var, the name of the function
4475 to call for GetFileSecurity.
4476 (GetFileSecurity_Proc, GetSecurityDescriptorOwner_Proc)
4477 (GetSecurityDescriptorGroup_Proc, IsValidSid_Proc): New typedefs.
4478 (get_file_security, get_security_descriptor_owner)
4479 (get_security_descriptor_group, is_valid_sid)
4480 (get_file_security_desc, get_rid, get_name_and_id)
4481 (get_file_owner_and_group): New functions.
4482 (stat): Use get_file_security_desc and get_file_owner_and_group to
4483 report the owner and primary group of each file. Don't ignore the
4484 high 32 bits of file's size, now that st_size is 64-bit wide.
4485 Fix test when to get true file attributes.
4486 (init_user_info): Use get_rid instead of equivalent inline code.
4487 (fstat): Don't ignore the high 32 bits of file's size.
4488
4489 2008-05-09 Chong Yidong <cyd@stupidchicken.com>
4490
4491 * image.c (png_load): Use correct bit-depth for setting background
4492 color.
4493
4494 2008-05-08 Eli Zaretskii <eliz@gnu.org>
4495
4496 * Makefile.in (lisp, shortlisp): Rename epa-file-hook.elc to
4497 epa-hook.elc.
4498
4499 2008-05-08 Juanma Barranquero <lekktu@gmail.com>
4500
4501 * font.c (Ffont_match_p): Don't use `iff' in docstring.
4502
4503 2008-05-07 Dan Nicolaescu <dann@ics.uci.edu>
4504
4505 * macfns.c (Fx_create_frame): Make a copy of frame parameters
4506 because the original parameters are in pure storage now.
4507 (mac_window): Remove unused params. Update callers.
4508
4509 2008-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
4510
4511 * lread.c (substitute_object_recurse): Use lower-level primitives.
4512 Don't signal errors when traversing sub-char-tables.
4513 Don't loop over all the possible characters when traversing char-tables.
4514
4515 * print.c (print_preprocess): Add sub-char-tables to the print-table,
4516 just like we do in print.c.
4517
4518 2008-05-05 Stefan Monnier <monnier@iro.umontreal.ca>
4519
4520 * minibuf.c (Ftry_completion): Remove code left over from when we used
4521 scmp instead of Fcompare_strings.
4522
4523 2008-05-04 Juanma Barranquero <lekktu@gmail.com>
4524
4525 * w32fns.c (Fw32_battery_status): Fix computation of %t (h:min) format.
4526
4527 2008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4528
4529 * image.c [USE_MAC_IMAGE_IO] (image_load_image_io):
4530 Create bitmap context in native byte order.
4531
4532 * macterm.c (XDrawLine)
4533 (XCreatePixmapFromBitmapData) [USE_MAC_IMAGE_IO]: Create bitmap
4534 context in native byte order.
4535
4536 2008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4537
4538 * config.in: Regenerate.
4539
4540 * image.c (PIX_MASK_DRAW, PIX_MASK_RETAIN) [USE_MAC_IMAGE_IO]:
4541 New definitions for Image I/O support.
4542 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
4543 (mac_create_cg_image_from_image, x_create_x_image_and_pixmap)
4544 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
4545 (mac_data_provider_release_data, image_load_image_io)
4546 [USE_MAC_IMAGE_IO]: New functions.
4547 (CGImageCreateWithPNGDataProviderProcType) [MAC_OSX]: Remove typedef.
4548 (MyCGImageCreateWithPNGDataProvider) [MAC_OSX]: Remove variable.
4549 (init_image_func_pointer) [MAC_OSX]: Remove function.
4550 (image_load_quartz2d) [MAC_OSX]: Check availability of
4551 CGImageCreateWithPNGDataProvider at compile time.
4552 Use lowercase `false' for boolean constant.
4553 (png_load, jpeg_load, tiff_load, gif_load) [USE_MAC_IMAGE_IO]:
4554 Use image_load_image_io.
4555 (png_load) [!USE_MAC_IMAGE_IO && MAC_OSX]:
4556 Don't check MyCGImageCreateWithPNGDataProvider.
4557 (init_image) [MAC_OSX && TARGET_API_MAC_CARBON]:
4558 Don't call init_image_func_pointer.
4559
4560 * macgui.h (Pixmap) [USE_MAC_IMAGE_IO]: New definition for Image I/O.
4561
4562 * macterm.c (mac_cg_color_space_rgb) [USE_CG_DRAWING]:
4563 Make variable non-static.
4564 (XDrawLine, XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
4565 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
4566
4567 * macterm.h (ARGB_TO_ULONG, ALPHA_FROM_ULONG): New macros.
4568 (RED_FROM_ULONG): Mask off higher bits.
4569 (mac_cg_color_space_rgb) [USE_MAC_IMAGE_IO]: New extern.
4570
4571 * s/darwin.h [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
4572 Include AvailabilityMacros.h.
4573 (USE_MAC_IMAGE_IO, LIBS_IMAGE) [HAVE_CARBON]: New defines.
4574 (LIBS_CARBON) [HAVE_CARBON]: Use LIBS_IMAGE.
4575
4576 2008-05-03 Stefan Monnier <monnier@iro.umontreal.ca>
4577
4578 * chartab.c (Fset_char_table_range): If range is t, really set all
4579 chars to that value.
4580
4581 2008-05-03 Eli Zaretskii <eliz@gnu.org>
4582
4583 * dired.c (Ffile_attributes): Don't allow the device number become
4584 negative.
4585
4586 2008-05-02 Daiki Ueno <ueno@unixuser.org>
4587
4588 * Makefile.in (lisp, shortlisp): Add epa-file-hook.elc.
4589
4590 2008-05-02 Juri Linkov <juri@jurta.org>
4591
4592 * minibuf.c (Fread_from_minibuffer, Fread_string, Fread_command)
4593 (Fread_variable, Fread_buffer, Fcompleting_read): Document the
4594 DEFAULT argument as a list of default values in docstrings.
4595
4596 2008-05-01 Chong Yidong <cyd@stupidchicken.com>
4597
4598 * puresize.h (BASE_PURESIZE): Increase to 1210000.
4599
4600 2008-05-01 Martin Rudalics <rudalics@gmx.at>
4601
4602 * dispnew.c (change_frame_size_1): Preserve small windows when
4603 shrinking frames by calling set_window_height|width with third
4604 arg 2.
4605
4606 * window.h (struct window): Replace field too_small_ok by field
4607 resize_proportionally.
4608
4609 * window.c (make_window): Initialize resize_proportionally.
4610 (enlarge_window): Temporarily set resize_proportionally to make
4611 sure that shrink_windows does scale the window proportionally.
4612 (shrink_windows): When window has resize_proportionally set try
4613 to shrink it proportionally by stealing from other windows.
4614 (struct saved_window, Fset_window_configuration)
4615 (compare_window_configurations): Handle resize_proportionally.
4616 (WINDOW_TOTAL_SIZE): New macro.
4617 (window_min_size, shrink_windows, size_window): Use it.
4618 (check_min_window_sizes): Remove. Invalid values of
4619 window-min-height|width are handled by window_min_size_2 now.
4620 (size_window, Fsplit_window, enlarge_window)
4621 (adjust_window_trailing_edge, grow_mini_window): Don't call
4622 check_min_window_sizes.
4623 (window_min_size_2, window_min_size_1, window_min_size):
4624 New argument safe_p for retrieving "safe" minimum sizes.
4625 (Fdisplay_buffer, Fsplit_window, enlarge_window)
4626 (adjust_window_trailing_edge, grow_mini_window):
4627 Adjust arguments of window_min_size... functions.
4628 (shrink_windows): Argument min_size removed. New argument
4629 safe_p allows shrinking windows to their safe minimum sizes.
4630 Calculate minimum size and decide whether a window shall be
4631 deleted for each window individually.
4632 (size_window): When nodelete_p equals 2, tell shrink_windows to
4633 delete windows only if their new minimum size is no more safe.
4634 (shrink_window_lowest_first): Call window_min_size_1 to make
4635 sure to preserve modeline of bottom-most window when resizing
4636 the minibuffer.
4637 (Fset_window_configuration, Fcurrent_window_configuration)
4638 (compare_window_configurations): Do not handle
4639 window-min-height|width any more.
4640 (syms_of_window): Clarify window-min-height|width doc-strings.
4641
4642 2008-04-30 Stefan Monnier <monnier@iro.umontreal.ca>
4643
4644 * dired.c (file_name_completion): Fix up the encoding/decoding issue
4645 some more. Copy some of the code from Ftry_completions.
4646 Remove special case code that dates back to initial revision when the
4647 slash was only added when necessary and that can't trigger nowadays.
4648
4649 2008-04-27 Kenichi Handa <handa@m17n.org>
4650
4651 * font.c (font_prop_validate): Signal `error' instead of `font'.
4652
4653 2008-04-29 Jason Rumney <jasonr@gnu.org>
4654
4655 * w32fns.c (Fw32_battery_status): New defun.
4656 (syms_of_w32fns): Defsubr it.
4657
4658 2008-04-28 Andreas Schwab <schwab@suse.de>
4659
4660 * dired.c (file_name_completion): Fix another mixing of encoded
4661 and decoded names.
4662
4663 2008-04-28 Juanma Barranquero <lekktu@gmail.com>
4664
4665 * w32fns.c (Fw32_define_rgb_color): Fix typo in docstring.
4666
4667 2008-04-27 Juanma Barranquero <lekktu@gmail.com>
4668
4669 * fringe.c (Fdefine_fringe_bitmap): Doc fix.
4670
4671 2008-04-27 Andreas Schwab <schwab@suse.de>
4672
4673 * dired.c (file_name_completion): Fix inappropriate mixing of
4674 encoded and decoded names.
4675
4676 * xterm.c (XTread_socket): Fix use of uninitialized variable.
4677
4678 * puresize.h (BASE_PURESIZE): Increase to 1200000.
4679
4680 2008-04-26 Eli Zaretskii <eliz@gnu.org>
4681
4682 * dired.c (Ffile_attributes) [WINDOWSNT]: Undo change from
4683 2008-03-31, it's not needed anymore with `struct stat' definition
4684 on nt/inc/sys/stat.h. Undo changes from 2007-01-12 and 2007-01-13
4685 for the same reasons.
4686
4687 2008-04-25 Dennis Gilmore <ausil@fedoraproject.org> (tiny change)
4688
4689 * m/sparc.h: Additional redefinitions for GNU/Linux.
4690
4691 2008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4692
4693 * macterm.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
4694 (syms_of_macterm) [USE_MAC_TSM]: Defvar it.
4695 (Qmouse_drag_overlay) [MAC_OSX]: New variable.
4696 (syms_of_macterm) [MAC_OSX]: Intern and staticpro it.
4697 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
4698 (mac_ax_selected_text_range) [MAC_OSX]: New functions.
4699 (mac_ax_number_of_characters) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
4700 Likewise.
4701
4702 * mactoolbox.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: Add extern.
4703 (fast_find_position, x_y_to_hpos_vpos, mac_ax_selected_text_range)
4704 (mac_ax_number_of_characters): Add externs.
4705 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
4706 [USE_MAC_TSM]: Likewise.
4707 (mac_handle_text_input_event) [MAC_OSX]:
4708 Handle kEventTextInputOffsetToPos for no active input area case.
4709 Handle kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
4710 (mac_handle_document_access_event)
4711 [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: New function.
4712 (install_application_handler) [MAC_OSX]: Register handlers for
4713 kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
4714 (install_application_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
4715 Register mac_handle_document_access_event.
4716
4717 * xdisp.c (x_y_to_hpos_vpos, fast_find_position) [HAVE_CARBON]:
4718 Make functions non-static.
4719
4720 2008-04-23 Stefan Monnier <monnier@iro.umontreal.ca>
4721
4722 * fileio.c (Vread_file_name_function, Vread_file_name_predicate)
4723 (read_file_name_completion_ignore_case, insert_default_directory)
4724 (Qdefault_directory): Move to minibuffer.el.
4725 (Fread_file_name): Call the new `read-file-name' instead.
4726
4727 2008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4728
4729 * mac.c (create_apple_event) [TARGET_API_MAC_CARBON]:
4730 Make function non-static.
4731 (create_apple_event_from_event_ref) [TARGET_API_MAC_CARBON]:
4732 Remove function.
4733 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
4734 Move to mactoolbox.c.
4735 (mac_event_parameters_to_lisp) [TARGET_API_MAC_CARBON]: New function.
4736
4737 * macgui.h (CGFloat) [!CGFLOAT_DEFINED]: New typedef.
4738 (mac_rect_make): New macro.
4739
4740 * macterm.c (mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
4741 instead of float.
4742 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
4743 (init_cg_color, mac_draw_line, mac_draw_cg_image, XSetForeground)
4744 (XSetBackground) [USE_CG_DRAWING]: Likewise.
4745 (mac_draw_image_string_atsui) [MAC_OSX]: Use mac_rect_make instead of
4746 CGRectMake.
4747 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
4748 (mac_erase_rectangle, mac_draw_cg_image, mac_fill_rectangle)
4749 (mac_set_clip_rectangles) [USE_CG_DRAWING]: Likewise.
4750 (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
4751 instead of WindowRef in argument type.
4752 (XCreatePixmap) [!MAC_OS8]: Don't call SetPortWindowPort.
4753 (mac_invert_rectangle): Use CGContextSetBlendMode if available.
4754 (mac_set_clip_rectangles, mac_reset_clip_rectangles): Take argument F
4755 instead of DISPLAY. All uses changed.
4756 (mac_handle_size_change): Don't call SET_FRAME_GARBAGED.
4757 (x_calc_absolute_position): Simplify so as not to use
4758 FRAME_PIXEL_WIDTH/FRAME_PIXEL_HEIGHT.
4759
4760 * macterm.h (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
4761 instead of WindowRef in argument type.
4762 (create_apple_event_from_event_ref, create_apple_event_from_drag_ref)
4763 [TARGET_API_MAC_CARBON]: Remove externs.
4764 (create_apple_event, mac_event_parameters_to_lisp)
4765 [TARGET_API_MAC_CARBON]: Add externs.
4766
4767 * mactoolbox.c (Vmac_ts_script_language_on_focus)
4768 (saved_ts_script_language_on_focus) [USE_MAC_TSM]: Remove externs.
4769 (XTread_socket) [USE_MAC_TOOLBAR]: Select window if its structure part
4770 is clicked.
4771 (x_activate_menubar): Remove extern for saved_menu_event_location.
4772 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
4773 Move from mac.c.
4774
4775 2008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4776
4777 * alloc.c [!SYSTEM_MALLOC && !SYNC_INPUT] (uninterrupt_malloc)
4778 [HAVE_GTK_AND_PTHREAD && !DOUG_LEA_MALLOC]: Don't use recursive mutex.
4779
4780 2008-04-23 Jason Rumney <jasonr@gnu.org>
4781
4782 * w32.c (stat): When Vw32_get_true_file_attributes is Qlocal, get
4783 attributes only for local files.
4784
4785 * w32proc.c (syms_of_ntproc): Change Vw32_get_true_file attributes
4786 default to Qlocal.
4787
4788 2008-04-22 Juri Linkov <juri@jurta.org>
4789
4790 * buffer.c (Fswitch_to_buffer): Change interactive spec to call
4791 read-buffer-to-switch instead of using the letter "B".
4792
4793 2008-04-21 Stefan Monnier <monnier@iro.umontreal.ca>
4794
4795 * fileio.c (Qdefault_directory): New variable.
4796 (Fread_file_name): Use it to pass `dir' to the completion functions.
4797
4798 2008-04-20 Chong Yidong <cyd@stupidchicken.com>
4799
4800 * xdisp.c (pos_visible_p): Check if iterator stops on a display string.
4801
4802 2008-04-19 Stefan Monnier <monnier@iro.umontreal.ca>
4803
4804 * keyboard.c (Vpre_help_message): Remove.
4805 (show_help_echo): Remove default C code.
4806
4807 * dired.c (directory_files_internal, file_name_completion):
4808 Only call ENCODE_FILE if the string is indeed decoded.
4809
4810 2008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
4811
4812 * Makefile.in (TOOLKIT_DEFINES): Remove.
4813 (LIBW): Use a bit less #if, remove left over OPEN_LOOK stuff.
4814
4815 2008-04-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4816
4817 * Makefile.in (MAC_OBJ): Add mactoolbox.o.
4818 (mactoolbox.o): New target.
4819
4820 * mac.c [MAC_OSX] (select_and_poll_event, sys_select):
4821 Use mac_run_loop_run_once instead of CFRunLoopRunInMode.
4822
4823 * macfns.c (x_set_background_color, mac_window, x_create_tip_frame):
4824 Use mac_set_frame_window_background instead of XSetWindowBackground.
4825 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]:
4826 Use mac_is_window_toolbar_visible instead of IsWindowToolbarVisible.
4827 (x_set_name_internal) [TARGET_API_MAC_CARBON]: Use mac_set_window_title
4828 instead of SetWindowTitleWithCFString.
4829 (mac_update_proxy_icon) [TARGET_API_MAC_CARBON]: Remove BLOCK_INPUT.
4830 Move function to mactoolbox.c.
4831 (mac_update_title_bar) [TARGET_API_MAC_CARBON]:
4832 Use mac_set_window_modified instead of SetWindowModified.
4833 Add BLOCK_INPUT around mac_set_window_modified/mac_update_proxy_icon.
4834 (mac_window, x_create_tip_frame): Use mac_create_frame_window.
4835 (Fx_focus_frame): Use mac_front_non_floating_window instead of
4836 FrontNonFloatingWindow. Use mac_activate_window instead of
4837 ActivateWindow. Use mac_active_non_floating_window instead of
4838 ActiveNonFloatingWindow.
4839 (show_hourglass, hide_hourglass) [TARGET_API_MAC_CARBON]:
4840 Use mac_show_hourglass and mac_hide_hourglass.
4841 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use mac_get_global_mouse
4842 instead of GetGlobalMouse.
4843 (Fx_show_tip): Use mac_move_window/mac_size_window/mac_show_window
4844 instead of MoveWindow/SizeWindow/ShowWindow, respectively.
4845 Use mac_bring_window_to_front instead of BringToFront.
4846 (Qfile_name_history) [TARGET_API_MAC_CARBON]: Move extern to
4847 mactoolbox.c.
4848 (Fx_file_dialog) [TARGET_API_MAC_CARBON]: Move function body to
4849 mac_file_dialog in mactoolbox.c. Use mac_file_dialog.
4850 (mac_nav_event_callback) [TARGET_API_MAC_CARBON]: Move function to
4851 mactoolbox.c.
4852
4853 * macgui.h [!HAVE_CARBON]: Include Quickdraw.h instead of QuickDraw.h.
4854 (XtPointer): Move typedef from macmenu.c.
4855 (enum button_type): Move enum from macmenu.c.
4856 (widget_value): Move typedef from macmenu.c.
4857 (M_APPLE, I_ABOUT, EXTRA_STACK_ALLOC, ARGV_STRING_LIST_ID)
4858 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
4859 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
4860 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
4861 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
4862 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
4863 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
4864 (DIALOG_ICON_TOP_MARGIN): Move defines from macmenu.c.
4865 (Selection): Move typedef from macselect.c.
4866 (RAM_TOO_LARGE_ALERT_ID, ABOUT_ALERT_ID) [MAC_OS8]: Move defines from
4867 macterm.c.
4868 (mac_set_window_title, mac_set_window_modified, mac_is_window_visible)
4869 (mac_is_window_collapsed, mac_bring_window_to_front)
4870 (mac_send_window_behind, mac_hide_window, mac_show_window)
4871 (mac_collapse_window, mac_front_non_floating_window)
4872 (mac_active_non_floating_window, mac_activate_window)
4873 (mac_move_window_structure, mac_move_window, mac_size_window)
4874 (mac_get_global_mouse, mac_is_window_toolbar_visible): New defines.
4875
4876 * macmenu.c [!TARGET_API_MAC_CARBON]: Move includes to mactoolbox.c.
4877 (enum mac_menu_kind): Move enum to mactoolbox.c.
4878 (min_menu_id): Move variable to mactoolbox.c.
4879 (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]: Likewise.
4880 (DIALOG_WINDOW_RESOURCE): Move define to mactoolbox.c.
4881 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
4882 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
4883 [TARGET_API_MAC_CARBON]: Likewise.
4884 (XtPointer): Move typedef to macgui.h.
4885 (enum button_type): Move enum to macgui.h.
4886 (widget_value): Move typedef to macgui.h.
4887 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
4888 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
4889 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
4890 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
4891 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
4892 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
4893 (DIALOG_ICON_TOP_MARGIN): Move defines to macgui.h.
4894 (popup_activated_flag): Make variable non-static.
4895 (x_activate_menubar, install_menu_quit_handler, pop_down_menu)
4896 (add_menu_item, fill_menu, dispose_menus):
4897 Move functions to mactoolbox.c.
4898 (restore_show_help_function, menu_target_item_handler)
4899 (install_menu_target_item_handler, mac_handle_dialog_event)
4900 (install_dialog_event_handler, pop_down_dialog, create_and_show_dialog)
4901 [TARGET_API_MAC_CARBON]: Likewise.
4902 (menu_quit_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: Likewise.
4903 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
4904 (find_and_call_menu_selection, name_is_separator): Make function
4905 non-static.
4906 (Vshow_help_function, timer_check) [TARGET_API_MAC_CARBON]: Move extern
4907 to mactoolbox.c.
4908 (set_frame_menubar): Don't call install_menu_quit_handler.
4909 (menu_item_selection): New variable.
4910 (mac_menu_show): Use create_and_show_popup_menu.
4911 (create_and_show_dialog) [TARGET_API_MAC_CARBON]: Don't return
4912 selection but set variable menu_item_selection. All uses changed.
4913 (mac_fill_menubar): Rename from fill_menubar. All uses changed.
4914 Call install_menu_quit_handler. Move to mactoolbox.c.
4915
4916 * macselect.c [!TARGET_API_MAC_CARBON]: Don't include Scrap.h.
4917 (Selection): Move typedef to macgui.h.
4918 (Vselection_converter_alist, Qmac_scrap_name, Qmac_ostype)
4919 (Vmac_apple_event_map, Qmac_apple_event_class, Qmac_apple_event_id):
4920 Make variables non-static.
4921 (Vmac_dnd_known_types) [TARGET_API_MAC_CARBON]: Likewise.
4922 (mac_handle_apple_event, cleanup_all_suspended_apple_events):
4923 Make functions non-static.
4924 (Vmac_service_selection) [MAC_OSX]: Likewise.
4925 (mac_get_selection_from_symbol, get_flavor_type_from_symbol)
4926 (mac_valid_selection_target_p, mac_clear_selection)
4927 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
4928 (mac_put_selection_value, mac_selection_has_target_p)
4929 (mac_get_selection_value, mac_get_selection_target_list)
4930 (init_apple_event_handler, install_drag_handler, remove_drag_handler):
4931 Move functions to mactoolbox.c.
4932 (mac_do_track_drag, mac_do_receive_drag) [TARGET_API_MAC_CARBON]:
4933 Likewise.
4934 (copy_scrap_flavor_data, mac_handle_service_event)
4935 (install_service_handler) [MAC_OSX]: Likewise.
4936 (syms_of_macselect) <Vmac_dnd_known_types>:
4937 Use mac_dnd_default_known_types.
4938
4939 * macterm.h (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y):
4940 Move to mactoolbox.c.
4941 (HOURGLASS_WIDTH, HOURGLASS_HEIGHT): Change to 15.
4942 (Fx_selection_owner_p): Add EXFUN.
4943 (install_window_handler, remove_window_handler, XSetWindowBackground):
4944 Remove externs.
4945 (do_apple_menu) [!TARGET_API_MAC_CARBON]: Likewise.
4946 (mac_prepare_for_quickdraw) [USE_CG_DRAWING]: Likewise.
4947 (x_raise_frame, x_lower_frame, mac_alert_sound_play)
4948 (install_application_handler, mac_get_frame_bounds, mac_get_frame_mouse)
4949 (mac_convert_frame_point_to_global, mac_set_frame_window_background)
4950 (mac_update_begin mac_update_end, mac_frame_up_to_date, x_flush)
4951 (mac_create_frame_window, mac_dispose_frame_window, mac_begin_clip)
4952 (mac_end_clip, mac_create_scroll_bar, mac_dispose_scroll_bar)
4953 (mac_set_scroll_bar_bounds, mac_redraw_scroll_bar, mac_fill_menubar)
4954 (create_and_show_popup_menu, mac_get_selection_from_symbol)
4955 (mac_valid_selection_target_p, mac_clear_selection)
4956 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
4957 (mac_put_selection_value, mac_selection_has_target_p)
4958 (mac_get_selection_value, mac_get_selection_target_list): Add externs.
4959 (mac_update_proxy_icon, mac_show_hourglass, mac_hide_hourglass)
4960 (mac_reposition_hourglass, mac_file_dialog, create_and_show_dialog)
4961 (mac_dnd_default_known_types) [TARGET_API_MAC_CARBON]: Likewise.
4962 (mac_run_loop_run_once) [MAC_OSX]: Likewise.
4963 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
4964 (mac_begin_cg_clip, mac_end_cg_clip) [USE_CG_DRAWING]: Likewise.
4965 (x_set_toolkit_scroll_bar_thumb) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
4966 (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
4967
4968 * mactoolbox.c: New file.
4969
4970 2008-04-18 Jason Rumney <jasonr@gnu.org>
4971
4972 * dired.c (Ffile_attributes) [WINDOWSNT]: Cast uid and gid to unsigned.
4973
4974 2008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
4975
4976 * character.c (Fmultibyte_char_to_unibyte):
4977 Return latin1 chars unchanged.
4978
4979 * fileio.c (Fexpand_file_name): Refine last fix so `nm' is only
4980 relocated if it points to `name'.
4981
4982 2008-04-17 Kenichi Handa <handa@m17n.org>
4983
4984 * data.c (Faset): Allow setting a multibyte character in an
4985 ASCII-only unibyte string.
4986
4987 * lisp.h (STRING_SET_MULTIBYTE): New macro.
4988
4989 2008-04-16 Stefan Monnier <monnier@iro.umontreal.ca>
4990
4991 * Makefile.in: Don't use HAVE_GTK and don't -DUSE_GTK since it's now
4992 done in config.h.
4993
4994 2008-04-16 Juanma Barranquero <lekktu@gmail.com>
4995
4996 * character.c (Fchar_bytes, Fchar_width, Fstring_width)
4997 (Fchar_direction): Add usage in the docstring.
4998
4999 2008-04-15 Chong Yidong <cyd@stupidchicken.com>
5000
5001 * keyboard.c (read_key_sequence): Remove always-true checks.
5002
5003 2008-04-14 Jason Rumney <jasonr@gnu.org>
5004
5005 * w32font.c (w32font_open_internal): Set max_bounds.descent in
5006 compatibility struct, for better underline positioning.
5007
5008 2008-04-13 David Hansen <david.hansen@gmx.net>
5009
5010 * dbusbind.c (dbus-get-unique-name): Remove extra copying of name
5011 string.
5012
5013 2008-04-12 Dan Nicolaescu <dann@ics.uci.edu>
5014
5015 * m/hp800.h (XUINT, XSET): Remove.
5016
5017 2008-04-12 Juanma Barranquero <lekktu@gmail.com>
5018
5019 * fileio.c (Fexpand_file_name): Add declaration for `p' missing in
5020 previous change.
5021
5022 2008-04-12 Stefan Monnier <monnier@iro.umontreal.ca>
5023
5024 * fileio.c (Fexpand_file_name): Tighten the scope of `p' and `o' vars.
5025 Relocate `nm' after calling DECODE_FILE, in case the GC was run.
5026
5027 2008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
5028
5029 * keymap.h (map_keymap_canonical): Declare.
5030 * xmenu.c (single_keymap_panes): Use it.
5031
5032 2008-04-11 Glenn Morris <rgm@gnu.org>
5033
5034 * eval.c (Fdefvaralias): If the alias is bound and the target is not,
5035 set the target's value to that of the alias.
5036
5037 2008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
5038
5039 * term.c (set_tty_color_mode): Left over typo.
5040
5041 2008-04-10 Michael Albinus <michael.albinus@gmx.de>
5042
5043 * fileio.c (Fmake_symbolic_link): Surround code by #ifdef S_IFLNK
5044 only after check for file name handler functions. Signal, when
5045 native functionality is not supported.
5046 (syms_of_fileio): Declare it unconditionally.
5047
5048 2008-04-10 Jason Rumney <jasonr@gnu.org>
5049
5050 * w32menu.c (is_simple_dialog, simple_dialog_show): New functions.
5051 (Fx_popup_dialog): Handle simple yes/no questions as dialogs.
5052
5053 * w32.c (logon_network_drive): Also logon to remote drives that
5054 are mapped to drive letters.
5055
5056 2008-04-10 Glenn Morris <rgm@gnu.org>
5057
5058 * xdisp.c (truncate-partial-width-windows): Doc fix.
5059
5060 2008-04-10 Stefan Monnier <monnier@iro.umontreal.ca>
5061
5062 * fileio.c (read_file_name_cleanup, Fread_file_name_internal):
5063 Move functions to minibuffer.el.
5064 (syms_of_fileio): Don't declare them.
5065
5066 2008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
5067
5068 * minibuf.c (Vcompletion_auto_help): Move to minibuffer.el.
5069 (syms_of_minibuf): Remove its initialization.
5070
5071 * minibuf.c (temp_echo_area_glyphs): Remove unused function.
5072
5073 2008-04-09 Juanma Barranquero <lekktu@gmail.com>
5074
5075 * editfns.c (Ffield_string_no_properties): Fix typo in docstring.
5076
5077 2008-04-09 Jason Rumney <jasonr@gnu.org>
5078
5079 * makefile.w32-in (distclean): Delete makefile too.
5080 (maintainer-clean): New target.
5081
5082 * xdisp.c (redisplay_internal) [!WINDOWSNT]: Conditionalize last change.
5083
5084 * w32term.c (w32_compute_glyph_string_overhangs): Compute overhangs
5085 for new font backend and composite cases.
5086
5087 2008-04-09 Jan Djärv <jan.h.d@swipnet.se>
5088
5089 * atimer.c (alarm_signal_handler): Call run_timers if not SYNC_INPUT.
5090 Most of the code moved to run_timers.
5091 (do_pending_atimers): Call run_timers.
5092 (run_timers): New function.
5093
5094 * sysdep.c (emacs_write): If SYNC_INPUT and pending_atimers,
5095 run atimers.
5096
5097 * process.c (wait_reading_process_output): The same as above.
5098
5099 2008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
5100
5101 * minibuf.c (last_exact_completion): Remove variable.
5102 (Fdelete_minibuffer_contents, do_completion, Fminibuffer_complete)
5103 (complete_and_exit_1, complete_and_exit_2)
5104 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
5105 (Fdisplay_completion_list, display_completion_list_1)
5106 (Fminibuffer_completion_help, Fself_insert_and_exit)
5107 (Fexit_minibuffer, Fminibuffer_message): Move functions to
5108 minibuffer.el.
5109 (syms_of_minibuf): Remove corresponding initializations.
5110
5111 * keyboard.c (Qdeactivate_mark): New var.
5112 (command_loop_1): Use it to call `deactivate-mark'.
5113 (syms_of_keyboard): Initialize it.
5114
5115 * xdisp.c (redisplay_internal): Reset tty's color_mode when switching
5116 to another frame.
5117 * frame.c (do_switch_frame): Refine the top_frame/async_visible code.
5118 Don't call set_tty_color_mode.
5119 (store_frame_param): Reset previous_frame rather than call
5120 set_tty_color_mode.
5121 * term.c (set_tty_color_mode): Rewrite.
5122 * dispextern.h (set_tty_color_mode): New type.
5123 * termchar.h (struct tty_display_info): Add `previous_color_mode'.
5124
5125 2008-04-08 Stefan Monnier <monnier@iro.umontreal.ca>
5126
5127 * keymap.c (access_keymap): Remove the value 2 for t_ok which was used
5128 for generic chars, which do not exist any more in emacs-unicode.
5129
5130 2008-04-08 Michael Albinus <michael.albinus@gmx.de>
5131
5132 * coding.c (detect_coding_emacs_mule)
5133 (Ffind_operation_coding_system): Fix typo.
5134
5135 2008-04-08 Jason Rumney <jasonr@gnu.org>
5136
5137 * w32uniscribe.c (SNAME): Extract only symbol name.
5138
5139 * w32font.h (struct w32_metric_cache): New struct.
5140 (w32font_info): Use it.
5141 (W32METRIC_NO_ATTEMPT, W32METRIC_SUCCESS, W32METRIC_FAIL)
5142 (CACHE_BLOCKSIZE): New constants.
5143
5144 * w32font.c (Qja, Qko, Qzh): New symbols.
5145 (syms_of_w32font): Initialise them.
5146 (font_matches_spec): Use them to filter by language.
5147 (recompute_cached_metrics): Remove function.
5148 (compute_metrics, clear_cached_metrics): New functions.
5149 (w32font_encode_char): Use them to manage metric cache.
5150 (w32font_text_extents): Cache metrics for all glyphs on demand.
5151 Delay converting glyph indices to WORD until needed.
5152 (w32font_open_internal): Initialize metric cache to empty.
5153 (registry_to_w32_charset): Charset should always be a symbol.
5154 (fill_in_logfont, list_all_matching_fonts): Family should
5155 always be a symbol.
5156
5157 2008-04-06 Jason Rumney <jasonr@gnu.org>
5158
5159 * w32uniscribe.c (uniscribe_shape): Increase items buffer size.
5160 Give up if glyph indices not supported. Use uniscribe obtained
5161 ABC widths for individual metrics. Map glyph clusters back to
5162 characters using fClusterStart flag. Return number of glyphs
5163 produced, not chars processed.
5164 (uniscribe_shape): Map char at FROM to current glyph.
5165
5166 2008-04-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5167
5168 * macmenu.c (fill_menu) [TARGET_API_MAC_CARBON]:
5169 Use SetMenuItemHierarchicalMenu.
5170
5171 2008-04-05 Jason Rumney <jasonr@gnu.org>
5172
5173 * image.c (pbm_load): Allow color values up to 65535.
5174 Throw an error if max_color_idx is outside the supported range.
5175 Report an error when image size is invalid.
5176 Read two bytes at a time when raw images have max_color_idx above 255.
5177
5178 2008-04-05 Eli Zaretskii <eliz@gnu.org>
5179
5180 * w32.c (readdir): If FindFirstFile/FindNextFile return in
5181 cFileName a file name that includes `?' characters, use the 8+3
5182 alias in cAlternateFileName instead.
5183
5184 2008-04-05 Kenichi Handa <handa@ni.aist.go.jp>
5185
5186 * ccl.c (ccl_driver): If ccl->quit_silently is nonzero, don't
5187 append "CCL: Quitted" when the CCL program is quitted.
5188 (setup_ccl_program): Initialize ccl->quit_silently to zero.
5189
5190 * ccl.h (struct ccl_program): New member quit_silently.
5191
5192 2008-04-05 Chong Yidong <cyd@stupidchicken.com>
5193
5194 * search.c (compile_pattern_1): Treat non-nil and non-string of
5195 search-spaces-regexp as nil.
5196
5197 * minibuf.c (Fassoc_string): Tweak docstring.
5198
5199 2008-04-05 Eli Zaretskii <eliz@gnu.org>
5200
5201 * dired.c (Ffile_attributes): Support inode numbers wider than 32
5202 bits. Remove ugly WINDOWSNT-specific kludge introduced on
5203 2008-03-14 to force inode be positive.
5204
5205 * w32.c (sys_chown, stat, fstat): Use S_* constants instead of
5206 _S_* ones, since we now use our own sys/stat.h.
5207 (stat, fstat): Don't mangle the inode number.
5208 (init_user_info): Don't restrict UID and GID to 0-60000 range.
5209
5210 2008-04-04 Stefan Monnier <monnier@iro.umontreal.ca>
5211
5212 * frame.h (struct frame): Give one more bit to `visible' since we use
5213 values larger than 1 to indicate obscured frames on ttys.
5214
5215 * keymap.c (Qkeymap_canonicalize): New var.
5216 (Fmap_keymap_internal): New fun.
5217 (describe_map): Use keymap-canonicalize.
5218
5219 * undo.c (last_boundary_buffer, last_boundary_position): New vars.
5220 (Fundo_boundary): Set them.
5221 (syms_of_undo): Initialize them.
5222 (record_point): Use them instead of last_point_position*.
5223 (last_undo_buffer): Change type.
5224
5225 2008-04-04 Jason Rumney <jasonr@gnu.org>
5226
5227 * w32font.c (w32font_text_extents): Use font's ascent and descent.
5228 (recompute_cached_metrics): Don't set ascent and descent per char.
5229
5230 * w32uniscribe.c (uniscribe_check_otf): Fix last change.
5231 (uniscribe_check_otf): Add GC protection before consing.
5232 Rearrange loop for counting features.
5233
5234 2008-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
5235
5236 * insdel.c (insert_from_buffer_1): Don't compare bytes in destination
5237 buffer with byte-size of source buffer.
5238
5239 2008-04-03 Chong Yidong <cyd@stupidchicken.com>
5240
5241 * callint.c (Fcall_interactively): Handle temporary region even
5242 when shift-select-mode is off.
5243
5244 2008-04-03 Jason Rumney <jasonr@gnu.org>
5245
5246 * w32uniscribe.c (uniscribe_check_otf): Sanity check otf_spec.
5247
5248 2008-04-03 Kenichi Handa <handa@m17n.org>
5249
5250 * coding.c (CATEGORY_MASK_ANY): Add CATEGORY_MASK_UTF_16_AUTO.
5251 (CATEGORY_MASK_UTF_16): Likewise.
5252 (detect_coding_utf_16): Add heuristics to reject utf-16 for a
5253 binary file.
5254 (detect_coding): Add null-byte detection for a binary file.
5255 (detect_coding_system): Likewise.
5256
5257 2008-04-03 Jason Rumney <jasonr@gnu.org>
5258
5259 * w32uniscribe.c: New file.
5260
5261 * font.h (uniscribe_font_driver) [WINDOWSNT]: Declare for w32fns.c.
5262
5263 * w32font.h (uniscribe_check_otf): Declare for w32font.c.
5264
5265 * w32font.c (Qbalinese, Qbuginese, Qbuhid, Qcuneiform, Qcypriot)
5266 (Qdeseret, Qglagolitic, Qgothic, Qhanunoo, Qkharoshthi)
5267 (Qlimbu, Qlinear_b, Qold_italic, Qold_persian, Qosmanya)
5268 (Qphags_pa, Qphoenician, Qshavian, Qsyloti_nagri)
5269 (Qtagalog, Qtagbanwa, Qtai_le, Qtifinagh, Qugaritic)
5270 (Qphonetic): New symbols.
5271 (syms_of_w32font): Initialize them.
5272 (font_supported_scripts): Use them.
5273 (w32font_list_family): List all charsets.
5274 (w32font_text_extents, recompute_cached_metrics): Fix metric
5275 calculations.
5276 (w32_enumfont_pattern_entity): Make full_type a DWORD.
5277 Give opentype fonts their own format.
5278 (font_matches_spec): New arguments backend and logfont.
5279 Handle :otf spec for uniscribe backend.
5280 (add_font_entity_to_list): Match truetype fonts in uniscribe backend.
5281 (fill_in_logfont): Use DEFAULT_CHARSET when charset not supplied.
5282
5283 * w32fns.c (Fx_create_frame): Conditionally register uniscribe
5284 font backend.
5285 (globals_of_w32fns): Initialize uniscribe font backend.
5286
5287 * makefile.w32-in (CONFIG_H): New variable. Use it to clean up
5288 dependencies.
5289 (w32uniscribe.$(O)): New file to build.
5290 (FONT_OBJ): Include w32uniscribe.$(O).
5291 (LIBS): Add uniscribe libraries.
5292
5293 * ftfont.c (ftfont_get_open_type_spec): Check spec->script, not val.
5294
5295 2008-04-02 Chong Yidong <cyd@stupidchicken.com>
5296
5297 * callint.c (Vshift_select_mode): New var.
5298 (Finteractive): Document new ^ spec.
5299 (Fcall_interactively): Call handle-shift-selection if the ^ spec
5300 is present.
5301
5302 * keyboard.c (Vthis_command_keys_shift_translated): New var.
5303 (command_loop_1): Avoid running the direct display versions of
5304 forward-char and backward-char if shift-selection may occur.
5305 (read_key_sequence): Set Vthis_command_keys_shift_translated if
5306 shift-translation takes place.
5307
5308 * buffer.c (Vtransient_mark_mode): Move docstring to simple.el to
5309 avoid clobbering by define-minor-mode.
5310
5311 * cmds.c (Fforward_char, Fbackward_char, Fforward_line)
5312 (Fbeginning_of_line, Fend_of_line): Add ^ interactive spec.
5313
5314 * syntax.c (Fforward_word): Add ^ interactive spec.
5315
5316 * window.c (Fscroll_up, Fscroll_down, Fscroll_left)
5317 (Fscroll_right): Add ^ interactive spec.
5318
5319 2008-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
5320
5321 * xdisp.c (try_window_id): Don't forget to reset delta_bytes.
5322
5323 * casefiddle.c (casify_object): Fix up int/EMACS_INT mixup.
5324
5325 * charset.c (Funibyte_charset, Fset_unibyte_charset): Remove.
5326
5327 2008-03-31 Juri Linkov <juri@jurta.org>
5328
5329 * window.c (Fdisplay_buffer): Reinitialize `tem' to nil.
5330
5331 2008-03-30 Jan Djärv <jan.h.d@swipnet.se>
5332
5333 * gtkutil.c (xg_set_geometry): Fix indentation.
5334 (xg_resize_outer_widget): Remove.
5335 (x_wm_size_hint_off): Fix indentation.
5336 (xg_frame_set_char_size): Call flush_and_sync after
5337 gtk_window_resize.
5338 (x_wm_set_size_hint): Pass NULL as geometry window to
5339 gtk_window_set_geometry_hints due to Gtk+ bug nr 68668.
5340 Add menu bar and tool bar height to base height.
5341 (xg_update_frame_menubar, free_frame_menubar)
5342 (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback)
5343 (update_frame_tool_bar, free_frame_tool_bar):
5344 Change xg_resize_outer_widget to xg_frame_set_char_size.
5345
5346 2008-03-30 Michael Albinus <michael.albinus@gmx.de>
5347
5348 * dbusbind.c (QCdbus_timeout): New D-Bus internal symbol.
5349 (Fdbus_call_method): New parameter TIMEOUT.
5350 (dbus-send-signal): Optimize UNGCPRO call.
5351
5352 2008-03-29 Juri Linkov <juri@jurta.org>
5353
5354 * window.c (Fdisplay_buffer): Move call to
5355 Vsplit_window_preferred_function out of conditions that check
5356 if window is eligible for vertical splitting.
5357 When Vsplit_window_preferred_function is non-nil, call it and use
5358 its non-nil return value as window. Otherwise, continue doing
5359 vertical splitting using Fsplit_window with arg horflag=nil.
5360 (syms_of_window) <Vsplit_window_preferred_function>: Change the
5361 default value from `split-window' to nil.
5362
5363 2008-03-29 Juri Linkov <juri@jurta.org>
5364
5365 * callint.c (Fcall_interactively): Revert 2008-03-16 change
5366 for interactive code letters 'b' and 'B'.
5367
5368 2008-03-29 Eli Zaretskii <eliz@gnu.org>
5369
5370 * fileio.c (Fexpand_file_name): Convert the value of $HOME to a
5371 multibyte string.
5372
5373 2008-03-29 Stefan Monnier <monnier@iro.umontreal.ca>
5374
5375 * keyboard.c (pending_funcalls): New var.
5376 (timer_check): Run it.
5377 (syms_of_keyboard): Initialize it.
5378 * terminal.c (Qrun_hook_with_args, Qdelete_terminal_functions)
5379 (Vdelete_terminal_functions): New vars.
5380 (syms_of_terminal): Initialize them.
5381 (Fdelete_terminal): Run delete-terminal-functions.
5382 * xdisp.c (safe_eval): Rewrite.
5383 (safe_call2): New fun.
5384 * frame.c (Qdelete_frame_functions): New var.
5385 (syms_of_frame): Initialize it.
5386 (Fdelete_frame): Use it and use safe_call2 and pending_funcalls.
5387 * lisp.h (safe_call2, pending_funcalls): Declare.
5388
5389 2008-03-28 Andreas Schwab <schwab@suse.de>
5390
5391 * indent.c (Fmove_to_column): Move declaration before statements.
5392
5393 2008-03-27 Stefan Monnier <monnier@iro.umontreal.ca>
5394
5395 * frame.h (enum fullscreen_type): Give it a name. Move it before use.
5396 (struct frame): Use bit fields for boolean vars.
5397
5398 * process.c (server_accept_connection): Simplify naming.
5399 (emacs_get_tty_pgrp): Use SDATA.
5400
5401 * coding.c (decode_coding_object): Fix last change.
5402
5403 2008-03-27 Jason Rumney <jasonr@gnu.org>
5404
5405 * w32fns.c (start_hourglass): Suppress hourglass on tty frames.
5406
5407 2008-03-27 Kenichi Handa <handa@ni.aist.go.jp>
5408
5409 * charset.c (Fdefine_charset_internal): Change the way of
5410 registering charsets in Vcharset_order_list.
5411 (syms_of_charset): Make the charset `eight-bit' supplementary.
5412
5413 2008-03-26 Alexandre Oliva <aoliva@redhat.com> (tiny change)
5414
5415 * regex.c (EXTEND_BUFFER): Change order of pointer addition
5416 operations, to avoid having the difference between pointers
5417 overflow.
5418
5419 2008-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
5420
5421 * indent.c (check_display_width): New fun.
5422 (scan_for_column): Use it.
5423
5424 * data.c (syms_of_data): Mark most-positive-fixnum and
5425 most-negative-fixnum as constants.
5426
5427 * xdisp.c (redisplay_internal): Reset selected_frame earlier.
5428
5429 * indent.c (scan_for_column): Extract from current_column_1.
5430 Merge with the same code from Fmove_to_column.
5431 (current_column_1, Fmove_to_column): Use it.
5432
5433 2008-03-25 Stefan Monnier <monnier@iro.umontreal.ca>
5434
5435 * keymap.c (map_keymap_internal): New fun.
5436 (map_keymap): Use it.
5437 (Fmap_keymap_internal): New fun.
5438 (Fmap_keymap): Remove left-out test from before make_save_value.
5439
5440 * keymap.c (Fmap_keymap): Use `map-keymap-sorted.
5441
5442 * frame.c (Fmodify_frame_parameters, x_set_frame_parameters):
5443 Use XCAR/XCDR.
5444
5445 * process.h (struct Lisp_Process): Remove filter_multibyte.
5446 * process.c (QCfilter_multibyte): Remove.
5447 (setup_process_coding_systems): Don't use filter_multibyte.
5448 (Fstart_process, Fmake_network_process): Don't set filter_multibyte.
5449 (read_process_output): Don't adjust multibyteness to filter_multibyte.
5450 (Fset_process_filter_multibyte): Change the coding-system to
5451 approximate the previous behavior.
5452 (Fprocess_filter_multibyte_p): Get the multibyteness straight from the
5453 coding-system.
5454
5455 * coding.c (decode_coding_object): When not decoding into a buffer,
5456 obey the coding system's preference of (uni|multi)byte.
5457
5458 2008-03-24 Stefan Monnier <monnier@iro.umontreal.ca>
5459
5460 * casefiddle.c (casify_object): Avoid pathological N^2 worst case if
5461 every char is changed and has a different byte-length.
5462 (Fupcase_word, Fdowncase_word, Fcapitalize_word, operate_on_word):
5463 Fix int -> EMACS_INT.
5464
5465 2008-03-23 David Hansen <david.hansen@gmx.net>
5466
5467 * dbusbind.c (xd_read_message): Remove extra copying of message
5468 strings. Check for NULL `interface' or `member'.
5469
5470 2008-03-22 Eli Zaretskii <eliz@gnu.org>
5471
5472 * w32.c (readdir): If FindFirstFile/FindNextFile return in
5473 cFileName a file name that includes `?' characters, use the 8+3
5474 alias in cAlternateFileName instead.
5475
5476 2008-03-21 Stefan Monnier <monnier@iro.umontreal.ca>
5477
5478 * buffer.c (enlarge_buffer_text): Fix int -> EMACS_INT.
5479
5480 2008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
5481
5482 * intervals.c (temp_set_point, temp_set_point_both): Use EMACS_INT.
5483 (set_point, set_point_both): Use EMACS_INT. Remove `buffer' arg,
5484 work on current_buffer only instead (that was already the case
5485 for some of the code anyway).
5486 * buffer.h (set_point, set_point_both): Remove buffer arg, use long int.
5487 (temp_set_point, temp_set_point_both): Use EMACS_INT.
5488 (SET_PT, SET_PT_BOTH): Adjust.
5489 * intervals.h (set_point, temp_set_point, set_point_both)
5490 (temp_set_point_both): Remove redundant declarations.
5491
5492 2008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
5493
5494 * fileio.c (Finsert_file_contents):
5495 * lread.c (Feval_buffer): Use BUF_TEMP_SET_PT.
5496 * buffer.h (BUF_SET_PT): Remove. set_point_both doesn't work right
5497 when buffer != current_buffer anyway.
5498
5499 2008-03-20 Andreas Schwab <schwab@suse.de>
5500
5501 * callint.c (Fcall_interactively) [case 'B']: Use other-buffer
5502 as default.
5503
5504 2008-03-19 Jason Rumney <jasonr@gnu.org>
5505
5506 * w32fns.c (hourglass_timer, hourglass_hwnd): New variables.
5507 (syms_of_w32fns): Initialize them.
5508 (HOURGLASS_ID): New constant.
5509 (x_window_to_frame): Don't check hourglass_window.
5510 (w32_wnd_proc) <WM_TIMER>: Handle hourglass_timer.
5511 (w32_wnd_proc) <WM_EXITMENULOOP>: Set pending hourglass cursor.
5512 (w32_wnd_proc) <WM_SETCURSOR>: Set the hourglass or current cursor.
5513 (w32_wnd_proc) <WM_EMACS_SETCURSOR>: Set frame's current_cursor.
5514 Only change the cursor if hourglass is not active.
5515 (Fx_create_frame): Initialize frame's current_cursor.
5516 (hourglass_atimer): Remove.
5517 (hourglass_started): New function.
5518 (start_hourglass, cancel_hourglass, hide_hourglass): Adapt to w32.
5519 (show_hourglass): Adapt to w32, changing argument to frame.
5520
5521 * w32term.h (struct w32_output): Remove hourglass_window.
5522 Add current_cursor.
5523
5524 * eval.c (call_debugger, Fsignal):
5525 * keyboard.c (recursive_edit_1, cmd_error, Ftop_level)
5526 (command_loop_1, Fread_key_sequence, Fread_key_sequence_vector)
5527 (Fexecute_extended_command, cancel_hourglass_unwind):
5528 * minibuf.c (read_minibuf):
5529 * fns.c (Fy_or_n_p): Enable hourglass when HAVE_WINDOW_SYSTEM.
5530
5531 2008-03-19 Stefan Monnier <monnier@iro.umontreal.ca>
5532
5533 * window.c (run_funs): New fun.
5534 (run_window_configuration_change_hook): Use it to run the buffer-local
5535 and the global part of the hook.
5536
5537 * xdisp.c (format_mode_line_unwind_data): Add window argument.
5538 (unwind_format_mode_line): Restore selected window.
5539 (x_consider_frame_title, Fformat_mode_line): Set selected window.
5540
5541 2008-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
5542
5543 * editfns.c (Fchar_equal): Check they are valid characters.
5544
5545 * buffer.h (Fbuffer_list): Declare (for use in callint.c).
5546
5547 2008-03-17 Andreas Schwab <schwab@suse.de>
5548
5549 * regex.c (re_match_2_internal): Properly match raw 8-bit bytes
5550 against a charset.
5551
5552 * lisp.h (Fbuffer_list): Declare.
5553
5554 2008-03-17 Jan Djärv <jan.h.d@swipnet.se>
5555
5556 * gtkutil.c (free_frame_tool_bar): Only call gtk_container_remove if
5557 handlebox_widget is != 0.
5558
5559 2008-03-16 Juri Linkov <juri@jurta.org>
5560
5561 * callint.c (Fcall_interactively): For interactive code letters
5562 'b' and 'B' put the buffer list into the list of default "future"
5563 values of the minibuffer.
5564
5565 2008-03-16 Andreas Schwab <schwab@suse.de>
5566
5567 * keyboard.c (read_key_sequence): Fix downcasing of letters with
5568 modifiers.
5569
5570 * regex.c (re_match_2_internal): Correct matching of a charset
5571 against latin-1 characters.
5572
5573 2008-03-16 Kenichi Handa <handa@m17n.org>
5574
5575 * coding.c (CHAR_STRING_ADVANCE_NO_UNIFY)
5576 (STRING_CHAR_ADVANCE_NO_UNIFY): New macros.
5577 (coding_alloc_by_making_gap): Fix the way to preserve data in the gap.
5578 (alloc_destination): Fix the 2nd arg to coding_alloc_by_making_gap.
5579 (encode_coding_utf_8): Use CHAR_STRING_ADVANCE_NO_UNIFY instead of
5580 CHAR_STRING_ADVANCE.
5581 (produce_chars): Fix for the case that the source and the
5582 destination are the same buffer. Use CHAR_STRING_ADVANCE_NO_UNIFY
5583 instead of CHAR_STRING_ADVANCE.
5584 (consume_chars): Use STRING_CHAR_ADVANCE_NO_UNIFY instead of
5585 STRING_CHAR_ADVANCE.
5586
5587 2008-03-15 Andreas Schwab <schwab@suse.de>
5588
5589 * regex.c (re_match_2_internal): Correct matching of eight bit
5590 characters in unibyte strings.
5591
5592 2008-03-15 Martin Rudalics <rudalics@gmx.at>
5593
5594 * buffer.c (overlays_in, Foverlays_in): Include empty overlays
5595 at end of range when it coincides with the end of the buffer.
5596
5597 2008-03-14 Eli Zaretskii <eliz@gnu.org>
5598
5599 * dired.c (Ffile_attributes) [WINDOWSNT]: Force inode be positive.
5600
5601 * w32fns.c (globals_of_w32fns, Fx_create_frame): Fix last change.
5602
5603 2008-03-14 Jason Rumney <jasonr@gnu.org>
5604
5605 * editfns.c (initial_tz): New variable.
5606 (syms_of_editfns): Initialize it.
5607 (Fset_time_zone_rule): Set it when first called.
5608 Use it when TZSTRING is nil.
5609
5610 * w32fns.c (MONITOR_DEFAULT_TO_NEAREST, struct MONITOR_INFO)
5611 (MonitorFromPoint_Proc, GetMonitorInfo_Proc): New definitions.
5612 (monitor_from_point_fn, get_monitor_info_fn): New globals.
5613 (globals_of_w32fns): Initialize them.
5614 (compute_tip_xy): Use them to position tooltips.
5615
5616 2008-03-14 Glenn Morris <rgm@gnu.org>
5617
5618 * emacs.c (main): Revert previous change.
5619 (standard_args): Revert -internal-script back to -scriptload,
5620 and remove the long-option form.
5621
5622 2008-03-13 Glenn Morris <rgm@gnu.org>
5623
5624 * emacs.c (main, standard_args): Rename -scriptload to -internal-script.
5625 Remove option -enable-font-backend.
5626
5627 2008-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
5628
5629 * buffer.c (Fswitch_to_buffer): Fall back on pop-to-buffer.
5630
5631 2008-03-11 Jan Djärv <jan.h.d@swipnet.se>
5632
5633 * xterm.c (x_connection_closed): For GTK: If this is the last
5634 terminal just exit without closing the display.
5635
5636 2008-03-11 Jason Rumney <jasonr@gnu.org>
5637
5638 * w32font.c (w32font_full_name): Use floor to round.
5639
5640 2008-03-10 dhruva <dhruvakm@gmail.com> (tiny change)
5641
5642 * sound.c (alsa_configure): Declare vol at beginning of block.
5643
5644 * fontset.c (Ffontset_info): Remove extra semicolon.
5645
5646 2008-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
5647
5648 * fileio.c (Fsubstitute_in_file_name): Fix up computation of maximum
5649 size of resulting string.
5650
5651 2008-03-10 Jason Rumney <jasonr@gnu.org>
5652
5653 * dispnew.c (adjust_glyph_matrix): Initialize window_height.
5654
5655 2008-03-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5656
5657 * xdisp.c (handle_single_display_spec): Undo 2007-10-16 changes.
5658 Don't pretend as if characters with display property haven't been
5659 consumed for string-replacing-string case.
5660
5661 2008-03-08 Kim F. Storm <storm@cua.dk>
5662
5663 * xdisp.c (GET_NEXT_DISPLAY_ELEMENT): New macro.
5664 (get_next_display_element, next_element_from_string)
5665 (next_element_from_ellipsis, next_element_from_buffer): Use it.
5666
5667 2008-03-08 Andreas Schwab <schwab@suse.de>
5668
5669 * process.h (struct Lisp_Process): Declare bit fields as unsigned.
5670
5671 2008-03-06 Jason Rumney <jasonr@gnu.org>
5672
5673 * w32font.c (w32_registry): Take font_type argument. Use ANSI
5674 when charset not specified. Only translate ANSI to unicode when
5675 font_type is truetype.
5676 (w32font_coverage_ok): New function.
5677 (add_font_entity_to_list): Use it to filter unsuitable fonts.
5678
5679 2008-03-05 Kenichi Handa <handa@ni.aist.go.jp>
5680
5681 * lread.c (Fread_char): Resolve modifiers.
5682 (Fread_char_exclusive): Likewise.
5683
5684 * character.c (char_resolve_modifier_mask): New function.
5685 (char_string): Use char_resolve_modifier_mask.
5686 (Fchar_resolve_modifiers): New function.
5687 (syms_of_character): Declare Fchar_resolve_modifiers as Lisp
5688 function.
5689
5690 2008-03-04 Jason Rumney <jasonr@gnu.org>
5691
5692 * makefile.w32-in: Always include w32font.c in the build.
5693 * w32font.c: Wrap in USE_FONT_BACKEND conditional.
5694
5695 2008-03-04 Andreas Schwab <schwab@suse.de>
5696
5697 * Makefile.in (clean): Remove emacs-*.*.* instead of emacs-*.
5698 (versionclean): Likewise.
5699
5700 2008-03-04 Juanma Barranquero <lekktu@gmail.com>
5701
5702 * .cvsignore: Add oo.
5703
5704 2008-03-03 Andreas Schwab <schwab@suse.de>
5705
5706 * coding.c (decode_coding_object): Inhibit gap shrinking while
5707 decoding in place.
5708
5709 2008-03-03 Dan Nicolaescu <dann@ics.uci.edu>
5710
5711 * w32term.c: Remove unused include "gnu.h".
5712 * makefile.w32-in (w32term.o): Don't depend on gnu.h.
5713
5714 * gnu.h: Rename to ...
5715 * emacs-icon.h: ... this.
5716 * xterm.c: Use emacs-icon.h instead of gnu.h.
5717 * Makefile (xterm.o): Depend on emacs-icon.h, not gnu.h.
5718
5719 2008-03-03 Juanma Barranquero <lekktu@gmail.com>
5720
5721 * w32font.c: Include math.h.
5722
5723 2008-03-03 Jason Rumney <jasonr@gnu.org>
5724
5725 * w32font.c (recompute_cached_metrics): Change font arg to w32font_info.
5726 Compute options separately.
5727 (w32font_open_internal): Set glyph_idx before caching metrics.
5728
5729 * w32font.h (NTM_PS_OPENTYPE, NTM_TT_OPENTYPE, NTM_TYPE1):
5730 Define if system headers don't.
5731 (struct w32font_info): Enlarge ascii_metrics. Add glyph_idx.
5732 (w32font_encode_char): Don't declare here.
5733
5734 * w32font.c (Quniscribe, QCformat): New symbols.
5735 (syms_of_w32font): Define them.
5736 (w32font_has_char): Indicate uncertainty.
5737 (w32font_encode_char): Encode as glyph point. Make static.
5738 (recompute_cached_metrics): New function.
5739 (w32font_open_internal): Use it. Set font to use glyph points
5740 initially. Set format based on type of font.
5741 (w32font_text_extents, w32font_draw): Optionally use glyph points.
5742 (w32_enumfont_pattern_entity): Accept backend arg. Set type based
5743 on it. Set format based on information available here.
5744 (add_font_entity_to_list): Identify backend based on opentype_only.
5745
5746 2008-03-02 Andreas Schwab <schwab@suse.de>
5747
5748 * ftfont.c (ftfont_pattern_entity): Fix aliasing violations.
5749
5750 * coding.c (decode_coding_big5, produce_chars):
5751 Fix typos in last change.
5752
5753 2008-03-02 Kentaro Ohkouchi <nanasess@fsm.ne.jp>
5754
5755 * gnu.h: New icon.
5756
5757 2008-03-02 Kenichi Handa <handa@m17n.org>
5758
5759 * coding.c (decode_coding_utf_8): When eol-type of CODING is
5760 `dos', don't decode '\r' if that is the last in the source.
5761 (decode_coding_utf_16, decode_coding_emacs_mule)
5762 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
5763 (decode_coding_raw_text, decode_coding_charset): Likewise.
5764 (produce_chars): Don't decode EOL here. Use EMACS_INT.
5765
5766 2008-03-01 Jason Rumney <jasonr@gnu.org>
5767
5768 * w32font.c (w32font_full_name): Report point size for scalable fonts.
5769
5770 2008-03-01 Kim F. Storm <storm@cua.dk>
5771
5772 * dispextern.h (CHAR_GLYPH_SPACE_P): Check for default face.
5773
5774 2008-03-01 Jason Rumney <jasonr@gnu.org>
5775
5776 * w32font.c (w32font_full_name): New function.
5777 (w32font_open_internal): Use it.
5778
5779 2008-03-01 Kim F. Storm <storm@cua.dk>
5780
5781 * dispnew.c (line_draw_cost): Fix invalid glyph check.
5782
5783 2008-03-01 Jason Rumney <jasonr@gnu.org>
5784
5785 * font.c (font_unparse_fcname): Increase len when style is a symbol.
5786
5787 2008-03-01 Jan Djärv <jan.h.d@swipnet.se>
5788
5789 * xterm.c (handle_one_xevent): For Gtk+ and ConfigureNotify, call
5790 xg_frame_resized when the event is for the edit widget.
5791
5792 * gtkutil.h (xg_frame_resized): Renamed from xg_resize_widgets.
5793
5794 * gtkutil.c (xg_resize_outer_widget): Only do one of set_geometry or
5795 set_char_size.
5796 (xg_frame_resized): Renamed from xg_resize_widgets. Remove all
5797 operations on widgets here. Just set frame size if needed.
5798 (flush_and_sync, x_wm_size_hint_off, xg_pack_tool_bar): New functions.
5799 (xg_frame_set_char_size): Call x_wm_size_hint_off before resizing.
5800 (x_wm_set_size_hint): Set size hints on the edit widget only, not
5801 the whole frame.
5802 (xg_create_tool_bar): Move attachement of the tool bar to
5803 xg_pack_tool_bar. Do not attach the tool bar if there are no items.
5804 (free_frame_tool_bar): Remove call to SET_FRAME_GARBAGED.
5805
5806 2008-03-01 Jason Rumney <jasonr@gnu.org>
5807
5808 * w32fns.c (w32_msg_pump): Disable debug code.
5809
5810 2008-03-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5811
5812 * m/intel386.h [MAC_OSX || DARWIN]: Define NO_ARG_ARRAY if _LP64.
5813
5814 2008-02-29 Chong Yidong <cyd@stupidchicken.com>
5815
5816 * xdisp.c (next_overlay_string): Don't set
5817 overlay_strings_at_end_processed_p if we're currently reading from
5818 a display string.
5819
5820 2008-02-29 Stefan Monnier <monnier@iro.umontreal.ca>
5821
5822 * xdisp.c (get_overlay_strings_1): Fix typo.
5823
5824 2008-02-29 Chong Yidong <cyd@stupidchicken.com>
5825
5826 * xdisp.c (get_overlay_strings_1): Add missing argument type.
5827
5828 2008-02-28 Kenichi Handa <handa@ni.aist.go.jp>
5829
5830 * ftfont.c (ftfont_match): Explicitly set pixelsize in pattern.
5831
5832 * xdisp.c (display_mode_element): Cancel the previous change.
5833 (decode_mode_spec): Likewise.
5834 (handle_auto_composed_prop): Don't make composition if it->string
5835 is a string.
5836
5837 2008-02-27 Kim F. Storm <storm@cua.dk>
5838
5839 * lisp.h (GLYPH): Change type from int to struct with separate char
5840 and face_id members.
5841 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Delete macros.
5842 (GLYPH_CHAR, GLYPH_FACE): Remove slow versions with frame arg.
5843 (FAST_GLYPH_CHAR, FAST_GLYPH_FACE): Rename macros to ...
5844 (GLYPH_CHAR, GLYPH_FACE): ... these. Change users.
5845 (FAST_MAKE_GLYPH, MAKE_GLYPH): Remove. Rewrite users to use ...
5846 (SET_GLYPH, SET_GLYPH_CHAR, SET_GLYPH_FACE): ... these macros instead.
5847 (GLYPH_CODE_CHAR, GLYPH_CODE_FACE, GLYPH_CODE_P)
5848 (GLYPH_CODE_CHAR_VALID_P, SET_GLYPH_FROM_GLYPH_CODE): New macros to
5849 handle new Lisp glyph code encoding, either an integer or a cons.
5850
5851 * disptab.h (GLYPH_SIMPLE_P): Rewrite.
5852 (GLYPH_ALIAS): Delete.
5853 (GLYPH_ALIAS_P, GLYPH_FOLLOW_ALIASES): Rewrite.
5854 (GLYPH_LENGTH, GLYPH_STRING): Use GLYPH_CHAR.
5855 (GLYPH_FROM_CHAR): Replace macro by ...
5856 (SET_GLYPH_FROM_CHAR): ... this macro. Change users.
5857
5858 * dispextern.h (CHAR_GLYPH_SPACE_P): Simplify.
5859 (GLYPH_FROM_CHAR_GLYPH): Replace macro by ...
5860 (SET_GLYPH_FROM_CHAR_GLYPH): ... this macro. Change users.
5861 (GLYPH_INVALID_P): New macro.
5862 (spec_glyph_lookup_face): Update prototype.
5863
5864 * dispnew.c (line_draw_cost): Adapt to new glyph type.
5865 (build_frame_matrix_from_leaf_window): Adapt to new glyph type and
5866 new glyph code encoding.
5867 (spec_glyph_lookup_face): No return value; update passed glyph instead.
5868 (init_display): Use SET_CHAR_GLYPH to initialize space_glyph.
5869
5870 * xdisp.c (get_next_display_element, next_element_from_display_vector):
5871 Adapt to new glyph type and new glyph code encoding.
5872
5873 * term.c (encode_terminal_code, produce_special_glyphs): Likewise.
5874
5875 * indent.c (current_column, current_column_1, Fmove_to_column)
5876 (compute_motion): Adapt to new glyph code encoding.
5877
5878 * msdos.c (IT_write_glyphs): Adapt to new glyph type.
5879
5880 2008-02-27 Chong Yidong <cyd@stupidchicken.com>
5881
5882 * process.c (wait_reading_process_output): Check for window
5883 changes caused by timers.
5884 Suggested by Johan Bockgård.
5885
5886 2008-02-27 Glenn Morris <rgm@gnu.org>
5887
5888 * emacs.c (USAGE1): Add `--disable-font-backend'.
5889
5890 2008-02-27 Stefan Monnier <monnier@iro.umontreal.ca>
5891
5892 * fileio.c (Finsert_file_contents): Don't reset undo_list if no change
5893 is made to the buffer.
5894
5895 2008-02-26 Stefan Monnier <monnier@iro.umontreal.ca>
5896
5897 * dispextern.h (face_at_buffer_position, face_for_overlay_string)
5898 (face_at_string_position):
5899 * xfaces.c (face_at_buffer_position, face_for_overlay_string)
5900 (face_at_string_position):
5901 * xdisp.c (display_string, next_overlay_change):
5902 * buffer.h (overlays_at):
5903 * buffer.c (overlays_at): Use EMACS_INT for buffer positions.
5904 Update callers.
5905
5906 2008-02-26 Chong Yidong <cyd@stupidchicken.com>
5907
5908 * editfns.c (Fformat): Doc fix.
5909
5910 2008-02-26 Juanma Barranquero <lekktu@gmail.com>
5911
5912 * font.c (Ffont_spec, Ffont_at): Fix typos in docstrings.
5913 (Ffont_put, Flist_families, Ffont_fill_gstring, Ffont_drive_otf)
5914 (Ffont_otf_alternates, Fquery_font): Doc fixes.
5915
5916 2008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
5917
5918 * buffer.c (Fbuffer_swap_text): New function.
5919 (syms_of_buffer): Defsubr it.
5920
5921 2008-02-25 Chong Yidong <cyd@stupidchicken.com>
5922
5923 * keyboard.c (command_loop_1): Revert 2006-10-09 change.
5924
5925 2008-02-25 Jason Rumney <jasonr@gnu.org>
5926
5927 * w32font.c (w32font_draw): Draw one character at a time when padding.
5928
5929 2008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
5930
5931 * window.c (Fdelete_window, Fadjust_window_trailing_edge):
5932 Handle a nil arg. Use run_window_configuration_change_hook.
5933 (delete_window, adjust_window_trailing_edge): Don't handle nil any more.
5934 (Fenlarge_window, Fshrink_window, Fset_window_configuration):
5935 Use run_window_configuration_change_hook.
5936
5937 2008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
5938
5939 * xdisp.c (x_produce_glyphs): For a visible glyph, assure at least
5940 1-pixel width.
5941
5942 2008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
5943
5944 * xdisp.c (fill_glyph_string): Pay attention to glyph->padding_p.
5945 (append_glyph): Set glyph->pixel_width and glyph->padding_p to 1
5946 if the glyph in the font is zero pixel with.
5947
5948 * dispextern.h (struct glyph_string): New member padding_p.
5949
5950 * w32font.c (w32font_draw): Pay attention to s->padding_p.
5951
5952 * ftxfont.c (ftxfont_draw): Pay attention to s->padding_p.
5953
5954 * xfont.c (xfont_draw): Pay attention to s->padding_p.
5955
5956 * xftfont.c (xftfont_draw): Pay attention to s->padding_p.
5957
5958 * font.c: If the font driver doesn't have `shape' function, return Qnil.
5959
5960 2008-02-25 Jason Rumney <jasonr@gnu.org>
5961
5962 * w32fns.c (enum_font_cb2): Don't use raster fonts for Unicode.
5963
5964 2008-02-24 Stefan Monnier <monnier@iro.umontreal.ca>
5965
5966 Allow fine-grained image-cache flushing.
5967 * dispextern.h (struct image): Add `dependencies' field.
5968 (clear_image_caches): Change arg to Lisp_Object.
5969 * image.c (make_image): Initialize `dependencies' field.
5970 (clear_image_cache): Change arg to allow fine-grained flushing.
5971 Perform the flush even if image-cache-eviction-delay is nil.
5972 (clear_image_caches): Change arg to Lisp_Object.
5973 (Fclear_image_cache): Expand meaning of the argument.
5974 (mark_image): Mark `dependencies' field.
5975 * xfaces.c (clear_face_cache): Adapt arg to call to clear_image_caches.
5976 (lface_hash): Use XHASH rather than XFASTINT.
5977 (face_at_buffer_position): Fix int -> EMACS_INT position.
5978 * xdisp.c (next_overlay_change): Fix int -> EMACS_INT position.
5979 (select_frame_for_redisplay): Remove code duplication.
5980 (redisplay_internal): Adapt arg to call to clear_image_caches.
5981
5982 2008-02-24 Dan Nicolaescu <dann@ics.uci.edu>
5983
5984 * s/vms4-0.h:
5985 * s/vms4-2.h:
5986 * s/vms4-4.h:
5987 * s/vms5-5.h: Remove, unused.
5988
5989 * s/irix5-2.h:
5990 * s/irix6-0.h:
5991 * s/riscos5.h:
5992 * s/mach-bsd4-3.h:
5993 * m/mips4.h: Remove files for obsolete systems.
5994
5995 * Makefile.in:
5996 * filelock.c:
5997 * unexmips.c:
5998 * m/hp9000s300.h:
5999 * m/iris4d.h:
6000 * s/aix3-1.h:
6001 * s/hpux.h:
6002 * s/msdos.h:
6003 * s/usg5-0.h:
6004 * s/usg5-2-2.h:
6005 * s/usg5-2.h:
6006 * s/usg5-3.h: Remove references to obsolete variables.
6007
6008 * s/irix5-0.h: Remove, move all the contents ...
6009 * s/irix6-5.h: ... here. Simplify.
6010 * config.in: Regenerate.
6011
6012 2008-02-24 Jason Rumney <jasonr@gnu.org>
6013
6014 * w32term.c (x_draw_glyph_string_background): Clear the background
6015 manually when cleartype is in use.
6016 (x_draw_glyph_string_foreground): Draw text transparently when
6017 cleartype is in use.
6018
6019 * w32font.c (w32font_text_extents): Avoid getting HDC and selecting
6020 a font into it unless we have to.
6021
6022 2008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
6023
6024 * intervals.h (INT_LISPLIKE): Remove. It may misfire.
6025 (NULL_INTERVAL_P, SET_INTERVAL_PARENT): Don't use it.
6026
6027 2008-02-18 Jason Rumney <jasonr@gnu.org>
6028
6029 * w32fns.c (Fw32_shell_execute): Encode parameters.
6030
6031 2008-02-09 Eli Zaretskii <eliz@gnu.org>
6032
6033 * fileio.c (syms_of_fileio) <insert-default-directory>: Doc fix.
6034
6035 2008-02-05 Juanma Barranquero <lekktu@gmail.com>
6036
6037 * unexhp9k800.c (read_header): Replace `legal' with `valid'.
6038
6039 2008-02-24 Ulrich Neumerkel <ulrich@complang.tuwien.ac.at> (tiny change)
6040
6041 * xterm.c (x_set_offset): Don't change the gravity if
6042 CHANGE_GRAVITY is -1.
6043
6044 2008-02-23 Chong Yidong <cyd@stupidchicken.com>
6045
6046 * fileio.c (auto_save_error_occurred): New var.
6047 (auto_save_error): Set it.
6048 (Fdo_auto_save): Don't overwrite the error message if an auto-save
6049 error occurred.
6050
6051 2008-02-23 Eli Zaretskii <eliz@gnu.org>
6052
6053 * w32.c (globals_of_w32): Add initializations for
6054 g_b_init_get_sid_sub_authority and
6055 g_b_init_get_sid_sub_authority_count.
6056
6057 2008-02-22 Stefan Monnier <monnier@iro.umontreal.ca>
6058
6059 * font.c (font_match_xlfd, font_check_xlfd_parse): New funs.
6060 (font_parse_xlfd): Use them for sanity check.
6061 (Finternal_set_font_style_table): Make sure the table is bijective.
6062
6063 Consolidate the image_cache to the terminal struct.
6064 * termhooks.h (P_): Remove redundant def.
6065 (struct terminal): New field `image_cache'.
6066 * frame.h (FRAME_IMAGE_CACHE): New macro. Use it everywhere in place
6067 of FRAME_X_IMAGE_CACHE.
6068 * xterm.h (struct x_display_info): Remove image_cache field.
6069 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
6070 * w32term.h (struct w32_display_info): Remove image_cache field.
6071 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
6072 * macterm.h (struct mac_display_info): Remove image_cache field.
6073 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
6074 * xterm.c (x_term_init):
6075 * w32term.c (w32_term_init):
6076 * macterm.c (mac_term_init): Set the image_cache in the terminal.
6077 * dispextern.h (clear_image_cache, forall_images_in_image_cache):
6078 Remove declarations.
6079 (clear_image_caches, mark_image_cache): New declarations.
6080 * xfaces.c (clear_face_cache):
6081 * xdisp.c (redisplay_internal): Use clear_image_caches.
6082 * image.c (clear_image_cache): Don't check that a frame is on
6083 a window-system before checking if it shares the same cache.
6084 (clear_image_caches): New function.
6085 (Fclear_image_cache): Use it.
6086 (mark_image): Move from allo.c.
6087 (mark_image_cache): Move from alloc.c and forall_images_in_image_cache.
6088 * alloc.c (mark_image, mark_image_cache): Move to image.c.
6089 (mark_object): Don't call mark_image_cache for frames.
6090 (mark_terminals): Call mark_image_cache.
6091
6092 * lisp.h (Fdelete_terminal): Declare.
6093
6094 * charset.h (CHECK_CHARSET, CHECK_CHARSET_GET_ID)
6095 (CHECK_CHARSET_GET_ATTR): Don't use the inexistent return value of
6096 wrong_type_argument.
6097
6098 2008-02-22 Kenichi Handa <handa@ni.aist.go.jp>
6099
6100 * Makefile.in (lisp): Remove devanagari.el, kannada.el,
6101 malayalam.el, and tamil.el. Add sinhala.el.
6102
6103 2008-02-21 Stefan Monnier <monnier@iro.umontreal.ca>
6104
6105 * xterm.c (x_connection_closed): Consolidate identical tests.
6106 (x_delete_terminal): Don't crash if called via x_connection_closed.
6107
6108 2008-02-21 Kenichi Handa <handa@ni.aist.go.jp>
6109
6110 * xdisp.c (decode_mode_spec): New arg string.
6111 (display_mode_element): Adjust for the above change.
6112
6113 2008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
6114
6115 * callint.c (Fcall_interactively): Use AREF.
6116
6117 2008-02-18 Stefan Monnier <monnier@iro.umontreal.ca>
6118
6119 * font.c (font_unparse_xlfd): Don't ignore integer pixel size specs.
6120
6121 2008-02-18 Jan Djärv <jan.h.d@swipnet.se>
6122
6123 * xfns.c (Fx_show_tip): Set string to " " if empty.
6124
6125 2008-02-17 Dan Nicolaescu <dann@ics.uci.edu>
6126
6127 * callint.c (syms_of_callint): Initialize Vmark_even_if_inactive
6128 with Qt.
6129
6130 2008-02-17 Kenichi Handa <handa@m17n.org>
6131
6132 * ftfont.c (ftfont_shape): Return Lispy number.
6133
6134 * xfaces.c (prepare_face_for_display): Use display_info->font->fid
6135 for GCs.
6136 (Finternal_set_font_selection_order): Call font_update_sort_order
6137 only when enable_font_backend is set.
6138 (realize_x_face): Set face->font_info to that of default face only
6139 when enable_font_backend is set.
6140
6141 * xdisp.c (handle_composition_prop): Set it->c to the fist
6142 characte of the composed region.
6143 (fill_composite_glyph_string): Set base_face->font_info to
6144 s->font_info. Get a face for ascii from base_face->ascii_face.
6145 (BUILD_COMPOSITE_GLYPH_STRING): Call fill_composite_glyph_string
6146 with a face already decided.
6147 (x_produce_glyphs): Be sure to set it->ascent and it->descent to
6148 non-negative.
6149 (x_produce_glyphs): If the composition method is ..._WITH_GLYPH_STRING,
6150 call font_prepare_composition unconditionally.
6151
6152 * xfns.c (x_make_gc): Use the default font id of the frame for GCs.
6153
6154 * xterm.h (struct x_display_info): New member font.
6155
6156 * xterm.c (x_set_cursor_gc): Use display_info->font->fid for GCs.
6157 (x_set_mouse_face_gc, x_new_font): Likewise.
6158 (x_term_init): Setup display_info->font.
6159 (x_delete_terminal): Free display_info->font.
6160
6161 * xfont.c (xfont_draw): Use BLOCK_INPUT and UNBLOCK_INPUT.
6162
6163 * ftxfont.c (ftxfont_default_fid): Delete it.
6164 (ftxfont_open): Set xfont->fid to 0.
6165 (ftxfont_end_for_frame): Clear data specific to the frame and the
6166 font-driver.
6167
6168 * xftfont.c (xftfont_default_fid): Delete it.
6169 (xftfont_open): Set xfont->fid to 0.
6170
6171 * fontset.c (FONTSET_OBJLIST): New macro.
6172 (fontset_find_font): Update font-object list of the fontset.
6173 (free_realized_fontset): New function.
6174 (free_face_fontset): Call free_realized_fontset.
6175 (Ffont_info): Call font_close_object only when enable_font_backend
6176 is set.
6177
6178 * font.c [HAVE_X_WINDOWS]: Include xterm.h.
6179 [HAVE_NTGUI]: Include w32term.h.
6180 [MAC_OS]: Include macterm.ch.
6181 (font_otf_ValueRecord): Use make_number.
6182 (font_finish_cache): Fix handling of reference count.
6183 (font_clear_cache): Update num_fonts.
6184 (font_open_entity): Update smallest_char_width and
6185 smallest_font_height of the frame.
6186 (font_close_object): Update num_fonts.
6187 (Fclear_font_cache): Fix finding the target cache data.
6188
6189 2008-02-16 Glenn Morris <rgm@gnu.org>
6190
6191 * fontset.c (Finternal_char_font): Fix compilation warning.
6192
6193 2008-02-16 Eli Zaretskii <eliz@gnu.org>
6194
6195 * w32.c (init_user_info): Use TOKEN_USER and TOKEN_PRIMARY_GROUP
6196 instead of char arrays. Enlarge the size of array passed to
6197 get_token_information.
6198
6199 * font.c (Ffont_fill_gstring, Fget_font_glyphs): Fix compilation
6200 warnings.
6201
6202 2008-02-15 Dan Nicolaescu <dann@ics.uci.edu>
6203
6204 * .gdbinit: Don't set `args', it breaks gdb --args.
6205
6206 2008-02-14 Stefan Monnier <monnier@iro.umontreal.ca>
6207
6208 * fileio.c (Finsert_file_contents): Adjust offsets when replacing
6209 within a narrowed buffer.
6210
6211 2008-02-14 Kenichi Handa <handa@ni.aist.go.jp>
6212
6213 * coding.c (decode_coding_object, encode_coding_object):
6214 Preserve Vdeactivate_mark. Delete unnecessary call of Fcurrent_buffer.
6215
6216 2008-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
6217
6218 * coding.c (coding_set_destination): Use BEG_BYTE rather than
6219 hardcoding 1.
6220 (detect_coding_system):
6221 * lisp.h (detect_coding_system, chars_in_text, multibyte_chars_in_text)
6222 (string_char_to_byte, string_byte_to_char, insert_from_gap):
6223 * insdel.c (insert_from_gap):
6224 * fns.c (string_char_byte_cache_charpos, string_char_byte_cache_bytepos)
6225 (string_char_to_byte, string_byte_to_char, string_make_multibyte)
6226 (string_to_multibyte):
6227 * character.c (chars_in_text, multibyte_chars_in_text):
6228 * fileio.c (Finsert_file_contents): Use EMACS_INT for buffer positions.
6229
6230 * character.h (FETCH_STRING_CHAR_ADVANCE)
6231 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE)
6232 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA and SREF.
6233 (DEC_POS, BUF_DEC_POS): Use BEG_BYTE rather than hardcoding 1.
6234
6235 * casefiddle.c (casify_region): Only call after-change and composition
6236 functions on the part of the region that was changed.
6237
6238 * keyboard.c (read_avail_input):
6239 * frame.c (Fdelete_frame): Call Fdelete_terminal.
6240
6241 2008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
6242
6243 * buffer.c (clone_per_buffer_values, reset_buffer_local_variables)
6244 (Fbuffer_local_value, Fbuffer_local_variables): Don't forget undo_list.
6245
6246 2008-02-11 Juanma Barranquero <lekktu@gmail.com>
6247
6248 * w32menu.c (push_submenu_start, push_submenu_end)
6249 (push_left_right_boundary, push_menu_pane, push_menu_item):
6250 * keyboard.c (read_key_sequence): Don't pass args with side effects
6251 to AREF, it fails when compiling with -DENABLE_CHECKING.
6252
6253 2008-02-11 Kenichi Handa <handa@ni.aist.go.jp>
6254
6255 * Makefile.in (${lispsource}international/charprop.el):
6256 Delete this target.
6257
6258 * search.c (boyer_moore): Fix incorrect synching of the trunk and
6259 emacs-unicode-2.
6260
6261 2008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
6262
6263 * terminal.c (Fdelete_terminal): Clean up the `force' path.
6264
6265 2008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
6266
6267 * frame.c (Qnoelisp): New symbol.
6268 (syms_of_frame): Initialize it.
6269 (Fdelete_frame): Use it to distinguish a mere `force' passed from
6270 someharmles Elisp code, from a strong `force' from x_connection_closed.
6271 * frame.h (Qnoelisp): Declare.
6272 * xterm.c (x_connection_closed): Pass `noelisp'.
6273
6274 * lisp.h (struct Lisp_Misc_Any, struct Lisp_Marker)
6275 (struct Lisp_Overlay, struct Lisp_Kboard_Objfwd)
6276 (struct Lisp_Save_Value, struct Lisp_Free): Use enum Lisp_Misc_Type
6277 rather than `int' for the type of `type'.
6278
6279 2008-02-10 Dan Nicolaescu <dann@ics.uci.edu>
6280
6281 * s/gnu-linux.h: Remove support for non-ELF and linux-1.x.
6282
6283 * Makefile.in (GNUC): Remove support for gcc-1.x.
6284
6285 2008-02-10 Richard Stallman <rms@gnu.org>
6286
6287 * lisp.h (ASET): Use AREF, not ASLOT.
6288
6289 2008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
6290
6291 * lisp.h (ASET): Check bounds.
6292
6293 2008-02-10 Glenn Morris <rgm@gnu.org>
6294
6295 * buffer.c (mode-name): Doc fix.
6296
6297 2008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
6298
6299 * Makefile.in:
6300 * emacs.c:
6301 * gmalloc.c:
6302 * keyboard.c:
6303 * lisp.h:
6304 * m/ibm370aix.h:
6305 * process.c:
6306 * regex.c:
6307 * s/hpux.h:
6308 * sysdep.c:
6309 * sysselect.h:
6310 * systty.h:
6311 * unexec.c:
6312 * w32term.c:
6313 * xsmfns.c:
6314 * xterm.c: Remove code that deals with obsolete variables.
6315
6316 * s/msdos.h (DONT_NEED_ENVIRON): Don't define.
6317
6318 * ecrt0.c: Replace the DONT_NEED_ENVIRON test with MSDOS test,
6319 nothing else needs it anymore.
6320
6321 2008-02-09 Eli Zaretskii <eliz@gnu.org>
6322
6323 * buffer.h (FETCH_CHAR_AS_MULTIBYTE): Use unibyte_to_multibyte_table
6324 instead of unibyte_char_to_multibyte.
6325
6326 2008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
6327
6328 * s/gnu-linux.h: Remove commented out code.
6329
6330 * unexec.c: Remove references to obsolete variable COFF_ENCAPSULATE.
6331
6332 * Makefile.in: Update what RMS says about using autoconf.
6333 (C_COMPILER, COFF_ENCAPSULATE, MAKE_PARALLEL): Remove obsolete variable.
6334 (C_SWITCH_MACHINE_1, C_SWITCH_SYSTEM_1, C_SWITCH_SITE_1)
6335 (C_SWITCH_X_SITE_1, C_SWITCH_X_MACHINE_1)
6336 (C_SWITCH_X_SYSTEM_1): Move invariant code outside conditional.
6337
6338 2008-02-08 Stefan Monnier <monnier@iro.umontreal.ca>
6339
6340 * keymap.c (Fkey_description): Move side effect outside of macro call.
6341
6342 * xfaces.c (Finternal_make_lisp_face):
6343 * keyboard.c (add_command_key, parse_menu_item): Use ASET.
6344
6345 * fontset.c (free_face_fontset): Use FONTSET_FROM_ID.
6346 (syms_of_fontset): Use ASET.
6347
6348 * fns.c (concat): Move side effect outside of macro call.
6349 (hash_clear): Use ASET.
6350
6351 2008-02-08 Richard Stallman <rms@gnu.org>
6352
6353 * frame.c (Fdelete_frame): If FORCE, don't call hooks.
6354 If FORCE, and frame has a surrogate minibuffer for another frame,
6355 delete the other frame first.
6356
6357 2008-02-07 Timo Savola <timo.savola@iki.fi>
6358
6359 * xterm.c (x_detect_focus_change): Handle embed client message.
6360 (handle_one_xevent): Ditto.
6361 (handle_one_xevent): If embedded and we get a button press/release,
6362 request focus.
6363 (xembed_set_info, xembed_send_message): New functions.
6364 (x_make_frame_visible): Call xembed_set_info if embedded.
6365 (x_make_frame_invisible): Call xembed_set_info if embedded.
6366 (x_term_init): Initialize Xatom_XEMBED.
6367 (x_make_frame_visible): Check for FRAME_X_EMBEDDED_P also.
6368 (x_iconify_frame): Ditto.
6369
6370 * xterm.h (struct x_display_info): Add AtomXatom_XEMBED.
6371 (enum xembed_info, enum xerm srmbed_message, enum xembed_focus)
6372 (enum xembed_modifier, enum xembed_accelerator): New.
6373 (xembed_set_info, xembed_send_message): Declare.
6374 (FRAME_X_EMBEDDED_P): New.
6375
6376 * gtkutil.c (xg_create_frame_widgets): If frame is embedded, call
6377 gtk_plug_new.
6378
6379 * xfns.c (Fx_create_frame): Do not override the explicitly set parent
6380 window ID of a frame.
6381 (x_window): Reparent frame if embedded.
6382 (Fx_create_frame): Don't set border width if embedded.
6383
6384 * emacs.c (USAGE3): Add --parent-id.
6385 (standard_args): Ditto.
6386
6387 2008-02-07 Jan Djärv <jan.h.d@swipnet.se>
6388
6389 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): Use "do...while (0)".
6390
6391 2008-02-07 Jim Meyering <meyering@redhat.com>
6392
6393 Use "do...while (0)", not "if (1)...else" in macro definitions.
6394 The latter provokes a warning from gcc about the empty else, when
6395 followed by ";". Also, without that trailing semicolon, it would
6396 silently swallow up any following statement.
6397 * syntax.h (SETUP_SYNTAX_TABLE)
6398 (SETUP_SYNTAX_TABLE_FOR_OBJECT): Likewise.
6399 * buffer.h (DECODE_POSITION): Likewise.
6400 * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise.
6401 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): Likewise.
6402 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Likewise.
6403 (FETCH_CHAR_ADVANCE): Likewise.
6404 (FETCH_CHAR_ADVANCE_NO_CHECK): Likewise.
6405
6406 2008-02-07 Jim Meyering <meyering@redhat.com>
6407
6408 * lread.c [lint]: Don't include <sys/inode.h>.
6409
6410 2008-02-07 Stefan Monnier <monnier@iro.umontreal.ca>
6411
6412 * xselect.c (x_handle_dnd_message):
6413 * xmenu.c (digest_single_submenu, xmenu_show):
6414 * xdisp.c (with_echo_area_buffer_unwind_data)
6415 (format_mode_line_unwind_data, unwind_format_mode_line)
6416 (display_menu_bar):
6417 * eval.c (Ffetch_bytecode):
6418 * doc.c (store_function_docstring):
6419 * ccl.c (resolve_symbol_ccl_program, ccl_get_compiled_code)
6420 (Fccl_execute, Fccl_execute_on_string, Fregister_code_conversion_map):
6421 * buffer.c (add_overlay_mod_hooklist): Use ASET.
6422
6423 2008-02-07 Kenichi Handa <handa@m17n.org>
6424
6425 * ftxfont.c (ftxfont_open): Don't set
6426 dpyinfo->smallest_font_height and dpyinfo->smallest_char_width to 0.
6427
6428 * ftfont.c (ftfont_open): Fix previous change.
6429
6430 2008-02-06 Jason Rumney <jasonr@gnu.org>
6431
6432 * w32font.c (w32font_text_extents): Fill in lbearing metric.
6433 Use cached metrics for ASCII characters.
6434 (w32font_open_internal): Don't set font's owning_frame.
6435 Cache metrics for ASCII characters.
6436
6437 * w32font.h (struct w32font_info): Add ascii_metrics.
6438 Remove owning_frame.
6439
6440 2008-02-06 Kenichi Handa <handa@ni.aist.go.jp>
6441
6442 * xdisp.c (x_produce_glyphs): Don't set it->ascent and it->descent
6443 to negative value.
6444
6445 * ftxfont.c (ftxfont_draw): Use s->font_info, not face->font_info.
6446
6447 * ftfont.c (ftfont_open): Fix calculation of font->font.average_width.
6448
6449 * charset.c (syms_of_charset): Set QCtest and Qeq.
6450
6451 2008-02-06 Stefan Monnier <monnier@iro.umontreal.ca>
6452
6453 * process.c (Fstart_process):
6454 * callproc.c (Fcall_process): Handle the case where
6455 Funhandled_file_name_directory returns nil.
6456
6457 * font.h (enum lgstring_indices, enum lglyph_indices): New enums.
6458 (LGSTRING_SLOT, LGSTRING_SET_SLOT): New macros.
6459 * font.c (check_gstring): Use them and AREF to access the vector before
6460 we know it's really a gstring.
6461 (Ffont_shape_text): Fix typo.
6462 (Ffont_shape_text, Ffont_otf_alternates): Fix up int/Lisp_Oject mixups.
6463
6464 * composite.h (Fcompose_region_internal, Fcompose_string_internal):
6465 Declare.
6466
6467 * chartab.c (make_sub_char_table): Remove noop-yet-incorrect statement.
6468
6469 2008-02-05 Jason Rumney <jasonr@gnu.org>
6470
6471 * w32font.c (w32font_open_internal): Fill min_width with tmAveCharWidth.
6472 Set smallest_font_height and smallest_char_width in display info.
6473
6474 2008-02-05 Kenichi Handa <handa@ni.aist.go.jp>
6475
6476 * coding.c (decode_eol): Pay attention to coding->dst_multibyte.
6477
6478 2008-02-05 Miles Bader <miles@gnu.org>
6479
6480 * xfaces.c (get_lface_attributes, merge_named_face)
6481 (lookup_named_face, lookup_derived_face, realize_named_face):
6482 Revert 2008-02-01 change by cyd@stupidchicken.com.
6483
6484 2008-02-04 Kenichi Handa <handa@ni.aist.go.jp>
6485
6486 * fontset.c (Ffontset_info): Handle the case of inhibitting the
6487 fallback fonts.
6488 (Ffontset_info) [USE_FONT_BACKEND]: Fix getting of opened font names.
6489
6490 2008-02-04 Jason Rumney <jasonr@gnu.org>
6491
6492 * w32font.c (w32font_open_internal): Use font_unparse_fcname to
6493 set full_name.
6494 (w32font_open_internal): Use xmalloc, xrealloc, xfree.
6495
6496 2008-02-03 Jason Rumney <jasonr@gnu.org>
6497
6498 * makefile.w32-in (OBJ1): Include font.o here.
6499 (FONTOBJ) [USE_FONTBACKEND]: Instead of here.
6500
6501 2008-02-02 Jason Rumney <jasonr@gnu.org>
6502
6503 * makefile.w32-in (temacs): Bump EMHEAP to 21.
6504
6505 2008-02-01 Jason Rumney <jasonr@gnu.org>
6506
6507 * s/cygwin.h: Define VIRT_ADDR_VARIES.
6508
6509 * puresize.h [VIRT_ADDR_VARIES]: Don't include CYGWIN in condition.
6510
6511 2008-02-01 Andreas Schwab <schwab@suse.de>
6512
6513 * Makefile.in (shortlisp, lisp): Update for rename of
6514 ../lisp/language/myanmar.el.
6515
6516 2008-02-01 Chong Yidong <cyd@stupidchicken.com>
6517
6518 * xfaces.c (get_lface_attributes): Delete function.
6519 (merge_named_face, lookup_named_face, lookup_derived_face)
6520 (realize_named_face): Call lface_from_face_name directly, and use
6521 the fact that merge_face_vectors does not alter its FROM argument.
6522
6523 2008-02-01 Jason Rumney <jasonr@gnu.org>
6524
6525 * w32term.c (w32_read_socket) <WM_CHAR>: Decode non-Unicode
6526 input in the default locale. Handle non-Unicode multibyte input.
6527
6528 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
6529
6530 * fontset.c (reorder_font_vector): Exclude nil elements from the
6531 font group. Don't try multiple fonts.
6532 (fontset_font): Adjust for the above change.
6533 (Finternal_char_font): Return nil if the found font doesn't
6534 contain the character ch.
6535
6536 * Makefile.in (lisp, shortlisp): Add cham.el.
6537
6538 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
6539
6540 * font.h (FONTP): Make it return 1 also for a font-object.
6541
6542 * .gdbinit (xfontset): New function.
6543
6544 * font.c (font_find_for_lface): Check if the character C is
6545 supported or not only for the first font.
6546
6547 * fontset.c (reorder_font_vector): Fix typo.
6548 (fontset_find_font): Don't add a font-spec specifying a script.
6549 Use 0 (not Qt) for the indication of empty font-group. Change the
6550 format of RFONT-DEF. Return Qt if no font in the font-group
6551 support the character.
6552 (fontset_font): Adjust for the above change. If no font was
6553 found the character, remember that.
6554 (face_for_char): Adjust for the change of RFONT-DEF.
6555 (Fset_fontset_font): Allow nil for FONT-SPEC to explicitly specify
6556 no font for the target.
6557 (Finternal_char_font): Adjust for the change of RFONT-DEF.
6558
6559 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
6560
6561 * font.c (font_load_for_face): Handle the case that the font in
6562 face->lface is a string.
6563
6564 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
6565
6566 * xfaces.c (set_lface_from_font_and_fontset): Set the fontname in lface.
6567
6568 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
6569
6570 * xfaces.c (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]:
6571 Fix previous change. If the frame is not on a window system,
6572 signal an error.
6573
6574 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
6575
6576 * coding.c (decode_coding_object, encode_coding_object): Adjust
6577 marker positions after conversion.
6578
6579 * lisp.h (struct Lisp_Marker): New member need_adjustment.
6580
6581 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
6582
6583 * font.c (font_find_for_lface): Fix the handling of the return
6584 value of font_has_char.
6585 (Ffont_shape_text): Fix previous change.
6586
6587 * fontset.c (FONTSET_REF_AND_RANGE): Delete it.
6588 (fontset_ref_and_range): Delete it.
6589 (fontset_find_font): Call char_table_ref_and_range instead of
6590 FONTSET_REF_AND_RANGE.
6591 (make_fontset): Don't setup font groups of Latin here.
6592 (Fset_fontset_font): Don't overwrite the setting of FONTSET_ASCII.
6593 (new_fontset_from_font): Make the specified font the default for
6594 all Latin characters.
6595
6596 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
6597
6598 * xfaces.c (Finternal_set_lisp_face_attribute): Check if the frame
6599 is on a window system before accessing the fontset of the frame.
6600
6601 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
6602
6603 * Makefile.in (lisp, shortlisp): Add kherm.el and myanmar.el.
6604
6605 * ftfont.c (ftfont_driver): Set ftfont_shape in ftfont_driver only
6606 when both HAVE_M17N_FLT and HAVE_LIBOTF are defined.
6607
6608 * font.c (Ffont_shape_text): If the font driver doesn't have a
6609 shaper function, make zero-width glyphs to have at least one-pixel
6610 width. Fix setting of `to' field of glyphs.
6611
6612 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
6613
6614 * ftfont.c (ftfont_drive_otf): Fix setting of FROM and TO slots of
6615 glyphs.
6616
6617 * font.h (struct font_driver): Improve docstring of member `shape'.
6618
6619 2008-02-01 Kenichi Handa <handa@m17n.org>
6620
6621 * composite.c (syms_of_composite): Fix docstring of
6622 auto-composition-function.
6623
6624 * font.h (LGLYPH_SIZE): New macro.
6625
6626 * font.c (Ffont_fill_gstring): Stop filling when a character not
6627 supported by the font is found.
6628 (Ffont_shape_text): When a shape callback function returns nil,
6629 try at most two more times with larger gstring.
6630 (Ffont_at): Fix getting of w. Call font_at with correct 5th argument.
6631
6632 * xdisp.c (handle_auto_composed_prop): Change the argument to
6633 auto-composition-function.
6634
6635 * ftfont.c (ftfont_encode_char): Use the macro FONT_INVALID_CODE.
6636 (ftfont_shape_by_flt): If an element of lgstring is nil, make a
6637 Lispy glyph and store it in the lgstring.
6638
6639 * xfont.c (xfont_encode_char): Use the macro FONT_INVALID_CODE.
6640
6641 * xftfont.c (xftfont_encode_char): Use the macro FONT_INVALID_CODE.
6642
6643 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
6644
6645 * font.c (Ffont_shape_text): Avoid unnecessary composition.
6646
6647 * fontset.c (Vfont_encoding_charset_alist): New variable.
6648 (syms_of_fontset): DEFVAR it.
6649 (reorder_font_vector, fontset_find_font): Optimize for the case of
6650 no need of reordering.
6651 (face_for_char): Map the charset property by
6652 Vfont_encoding_charset_alist.
6653
6654 2008-02-01 Jason Rumney <jasonr@gnu.org>
6655
6656 * w32font.c (logfonts_match): Don't check adstyle here.
6657 (font_matches_spec): Check here against physical font instead.
6658 (add_font_entity_to_list): Avoid some substitutions.
6659
6660 * font.c (font_parse_fcname): Default weight and slant to normal.
6661 (font_score): Prefer normal fonts if weight or slant unspecified.
6662 (font_score) [WINDOWSNT]: Scale weight difference down to closer
6663 match freetype scores.
6664
6665 2008-02-01 Jason Rumney <jasonr@gnu.org>
6666
6667 * w32font.c (w32font_text_extents): Don't use the frame stored in the
6668 font, as it may have been deleted.
6669 (w32_enumfont_pattern_entity): Map generic family to adstyle using
6670 most common hyphenless variation.
6671 (logfonts_match): Check generic family.
6672 (font_matches_spec): Don't check generic family here.
6673 (fill_in_logfont): Set generic family based on adstyle.
6674
6675 * w32font.h (w32font_get_cache): Update declaration.
6676
6677 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
6678
6679 * ftfont.c (ftfont_get_cache): Adjust the argument type.
6680
6681 * frame.c (x_set_font_backend): Don't call Fclear_font_cache.
6682 If none of the new drivers are available, call font_update_drivers
6683 with the old drivers.
6684
6685 * w32font.c (w32font_get_cache): Adjust the argument type.
6686
6687 * xfont.c (xfont_get_cache): Adjust the argument type.
6688
6689 * font.h (struct font_driver): Change argument type of get_cache.
6690
6691 * xftfont.c (xftfont_start_for_frame): Delete prototype.
6692
6693 * font.c (Ffont_get): Fix arguments to Fassoc.
6694 (font_prepare_cache, font_finish_cache, font_get_cache): New functions.
6695 (font_clear_cache): New function.
6696 (font_list_entities, font_matching_entity): Use font_get_cache.
6697 (font_update_drivers): Call font_clear_cache when finishing a driver.
6698
6699 * fontset.c (fontset_find_font): Fix previous change.
6700
6701 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
6702
6703 * xterm.c (x_check_font) [USE_FONT_BACKEND]: Don't access
6704 dpyinfo->font_table.
6705 (x_delete_display) [USE_FONT_BACKEND]: Likewise.
6706 (x_delete_terminal) [USE_FONT_BACKEND]: Likewise.
6707
6708 * font.c (font_at): Handle the case that the arg C is negative.
6709 Handle the unibyte case.
6710 (Ffont_at): Call font_at with the arg C -1.
6711
6712 * xdisp.c (handle_auto_composed_prop): Don't get a character at
6713 the position here, and call font_at with the arg C -1.
6714 Don't check the range of the existing composition at the point.
6715
6716 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
6717
6718 * fontset.c (fontset_add): New args charset_id and family.
6719 Change caller.
6720 (load_font_get_repertory, fontset_find_font): Assume that
6721 font_spec is always a font-spec object.
6722 (Fset_fontset_font): Always store a font-spec object in a fontset.
6723
6724 * xdisp.c (handle_auto_composed_prop): Use Fget_text_property
6725 instead of get_property_and_range.
6726
6727 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
6728
6729 * xftfont.c (struct xftfont_info): Delete the member ft_face.
6730 (xftfont_open): Don't keep locking face.
6731 (xftfont_close): Don't unlock face.
6732 (xftfont_anchor_point, xftfont_shape): Lock and unlock face.
6733
6734 * fontset.c (fontset_find_font): Don't prefer a font of
6735 supplementary charset.
6736
6737 2008-02-01 Kenichi Handa <handa@m17n.org>
6738
6739 * ftfont.c (struct OpenTypeSpec): Rename members script_tag to
6740 script, langsys_tag to langsys, new member script.
6741 (OTF_TAG_STR): Terminate by '\0'.
6742 (ftfont_get_open_type_spec): If :otf prop is is spec, Limit the
6743 listing to the script specified in that property. Fix arg to
6744 OTF_check_features.
6745
6746 2008-02-01 Jason Rumney <jasonr@gnu.org>
6747
6748 * w32font.h: New file.
6749
6750 * w32font.c: Include it.
6751 (struct w32font_info): Add owning_frame field. Move to w32font.h.
6752 (w32font_open): Set owning_frame.
6753 (w32font_text_extents): Use owning_frame.
6754 (struct font_callback_data): Add opentype_only field.
6755 (add_font_entity_to_list): Use it to filter fonts.
6756 Don't check against full name.
6757 (w32font_list_internal): New function.
6758 (w32font_list): Use it.
6759 (w32font_match_internal): New function.
6760 (w32font_match): Use it.
6761 (w32font_open_internal): New function.
6762 (w32font_open): Use it.
6763 (w32font_get_cache, w32font_close, w32font_has_char)
6764 (w32font_encode_char, w32font_text_extents, w32font_draw):
6765 Make non-static.
6766
6767 * makefile.w32-in (w32font.o): Depend on w32font.h.
6768
6769 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
6770
6771 * charset.c (Fdefine_charset_internal): Record a supplementary
6772 charset at the tail of Vcharset_order_list.
6773
6774 * font.c (Ffont_shape_text): Fix the return value.
6775
6776 * ftfont.c (OTF_SYM_TAG, OTF_TAG_STR): Fix argument names.
6777
6778 * xdisp.c (handle_auto_composed_prop): Fix previous change.
6779
6780 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
6781
6782 * ftfont.c (struct OpenTypeSpec): New struct.
6783 (OTF_SYM_TAG, OTF_TAG_STR): New macros.
6784 (ftfont_get_open_type_spec): New function.
6785 (ftfont_list) [HAVE_LIBOTF]: Check otf-spec property.
6786
6787 * lread.c (read1): Redo the previous change with checking Vpurify_flag.
6788
6789 2008-02-01 Jason Rumney <jasonr@gnu.org>
6790
6791 * w32font.c (add_font_entity_to_list): Compare only the beginning
6792 of full name.
6793
6794 2008-02-01 Kenichi Handa <handa@m17n.org>
6795
6796 * xdisp.c (handle_auto_composed_prop): Simplify the code.
6797 Never return HANDLED_RECOMPUTE_PROPS.
6798
6799 2008-02-01 Kenichi Handa <handa@m17n.org>
6800
6801 * font.c (font_gstring_produce): Delete it.
6802
6803 * composite.h (COMPOSITION_METHOD):
6804 Handle COMPOSITION_WITH_GLYPH_STRING.
6805
6806 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
6807
6808 * xfont.c (Qx): Delete.
6809 (syms_of_xfont): Don't initialize Qx.
6810
6811 * composite.h (enum composition_method):
6812 Define COMPOSITION_WITH_GLYPH_STRING unconditionally.
6813
6814 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
6815
6816 * xfaces.c [HAVE_WINDOW_SYSTEM]: Include "font.h" unconditionally.
6817 (choose_face_font): Accept new form of font-spec.
6818
6819 * frame.h (font_driver_list): Declare it unconditionally.
6820 (struct frame): Define members font_driver_list and font_data_list
6821 unconditionally.
6822
6823 * fontset.c: Include "font.h" unconditionally.
6824 (generate_ascii_font_name): Use font_parse_xlfd and font_unparse_xlfd.
6825 (Fset_fontset_font): Accept a font-spec object.
6826
6827 * font.c (font_unparse_xlfd): If pixel_size is zero, make the
6828 PIXEL_SIZE part a wild card.
6829
6830 * dispextern.h (struct glyph_string): Define members clip and
6831 num_clips unconditionally.
6832 (struct face): Define members font_info and extra unconditionally.
6833
6834 * ftfont.c (ftfont_open): Set members maybe_otf and otf of
6835 ftfont_info only when HAVE_LIBOTF is defined.
6836
6837 2008-02-01 Andreas Schwab <schwab@suse.de>
6838
6839 * xdisp.c (back_to_previous_visible_line_start): Fix type of beg
6840 and end.
6841
6842 2008-02-01 Jason Rumney <jasonr@gnu.org>
6843
6844 * w32font.c (w32font_driver): Add new fields.
6845
6846 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
6847
6848 * Makefile.in (ALL_CFLAGS): Add @M17N_FLT_CFLAGS@.
6849 (FONTSRC, FONTOBJ) [HAVE_WINDOW_SYSTEM]: Set them unconditionally.
6850 (LIBES): Add @M17N_FLT_CFLAGS@.
6851
6852 * composite.c (compose_text): Don't treat the new style
6853 composition specially.
6854
6855 * emacs.c (main): Call syms_of_font unconditionally.
6856
6857 * font.h (FONT_ENTITY_NOT_LOADABLE)
6858 (FONT_ENTITY_SET_NOT_LOADABLE): New macros.
6859 (LGSTRING_XXXX, LGLYPH_XXX): Adjust for the change of lispy gstring.
6860 (struct font_driver): New member shape.
6861 (font_registry_charsets): Extern it.
6862 (font_find_for_lface, font_prepare_composition): Adjust prototype.
6863 (font_otf_capability, font_drive_otf): Delete their externs.
6864
6865 * font.c [HAVE_M17N_FLT]: Include <m17n-flt.h>.
6866 (font_charset_alist, font_registry_charsets): Move from xfont.c
6867 and rename.
6868 (font_prop_validate_otf): New function.
6869 (font_property_table): Register it for QCotf.
6870 (DEVICE_DELTA, adjust_anchor, REPLACEMENT_CHARACTER)
6871 (font_drive_otf): Delete.
6872 (font_prepare_composition): New arg F. Adjust for the change of
6873 lispy gstring.
6874 (font_find_for_lface): New arg C.
6875 (font_load_for_face): Adjust for the change of font_find_for_lface.
6876 (Ffont_make_gstring, Ffont_fill_gstring): Adjust for the change of
6877 lispy gstring.
6878 (Ffont_shape_text): New function.
6879 (Fopen_font): If the font size is not given, use 12-pixel.
6880 (Ffont_at): New arg STRING.
6881 (syms_of_font): Initalize font_charset_alist.
6882 Declare Ffont_shape_text as a Lisp function. Call syms_of_XXfont
6883 conditionally.
6884
6885 * fontset.c (fontset_find_font) [USE_FONT_BACKEND]: Try multiple
6886 fonts of the same font-spec. Change the format of RFONT-DEF.
6887 (face_for_char, make_fontset_for_ascii_face, Finternal_char_font):
6888 Adjust for the change of RFONT-DEF.
6889 (Fset_fontset_font) [USE_FONT_BACKEND]: Handle new format of font-spec.
6890
6891 * ftfont.h: New file.
6892
6893 * ftfont.c: Don't include Freetype headers. Include "ftfont.h".
6894 (struct ftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
6895 (ftfont_open) [HAVE_LIBOTF]: Initialize the above members.
6896 (ftfont_driver) [HAVE_LIBOTF, HAVE_M17N_FLT]: Don't set
6897 font_otf_capability and font_drive_otf, set ftfont_shape.
6898 (ftfont_list): Adjust for the change of :otf property value.
6899 (struct MFLTFontFT) [HAVE_LIBOTF, HAVE_M17N_FLT]: New struct.
6900 (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_check_otf)
6901 (adjust_anchor, ftfont_drive_otf, ftfont_shape_by_flt)
6902 (ftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
6903 (DEVICE_DELTA) [HAVE_LIBOTF, HAVE_M17N_FLT]: New macro.
6904 (otf_gstring, gstring, m17n_flt_initialized): New variables.
6905
6906 * w32term.c (x_draw_composite_glyph_string_foreground):
6907 Adjust for the change of lispy gstring.
6908
6909 * xdisp.c (handle_composition_prop): Adjust for the change of
6910 lispy gstring. Call a function for auto-composition with the
6911 third arg it->window.
6912 (fill_composite_glyph_string): Adjust for the change of lispy string.
6913 (x_produce_glyphs): Adjust for the change of font_prepare_compositionl.
6914
6915 * xfaces.c (set_font_frame_param): Adjust for the change of
6916 font_find_for_lface.
6917
6918 * xfont.c (x_font_charset_alist): Move to font.c and rename.
6919 (xfont_registry_charsets): Likewise. Change caller.
6920 (syms_of_xfont): Don't handle x_font_charset_alist.
6921
6922 * xftfont.c: Include "ftfont.h".
6923 (struct xftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
6924 (xftfont_open) [HAVE_LIBOTF]: Initialize the above members.
6925 (xftfont_close) [HAVE_LIBOTF]: Close otf.
6926 (xftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
6927 (syms_of_xftfont) [HAVE_LIBOTF, HAVE_M17N_FLT]:
6928 Set xftfont_driver.shape to xftfont_shape.
6929
6930 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
6931 the change of lispy gstring.
6932
6933 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
6934
6935 * ftxfont.c (ftxfont_end_for_frame): Fix array indexing error.
6936
6937 2008-02-01 Jason Rumney <jasonr@gnu.org>
6938
6939 * w32font.c (w32font_draw): Fill background manually.
6940
6941 2008-02-01 Jason Rumney <jasonr@gnu.org>
6942
6943 * font.c (Qfontp): Remove unused symbol.
6944 (QCantialias): New symbol.
6945 (syms_of_font): Define it.
6946 (font_property_table): Set a validator for QCantialias.
6947
6948 * w32font.c (CLEARTYPE_QUALITY, CLEARTYPE_NATURAL_QUALITY):
6949 Define if not already.
6950 (QCfamily): Share with xfaces.c.
6951 (Qstandard, Qsubpixel, Qnatural): New symbols.
6952 (syms_of_w32font): Define them. Don't define QCfamily here.
6953 (w32_antialias_type, lispy_antialias_type): New functions.
6954 (w32_enumfont_pattern_entity): New arg requested_font.
6955 Set antialias parameter if non-default was requested.
6956 (fill_in_logfont): Fill in lfQuality if :antialias specified.
6957
6958 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
6959
6960 * lread.c (read1): Undo the previous change.
6961
6962 2008-02-01 CHENG Gao <chenggao@gmail.com> (tiny change)
6963
6964 * frame.c (Fdelete_frame): Call font_update_drivers only when
6965 USE_FONT_BACKEND is defined.
6966
6967 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
6968
6969 * font.h (struct font_bitmap): New member bits_per_pixel.
6970 (struct font_driver): New members start_for_frame and end_for_frame.
6971 (struct font_data_list): New struct.
6972 (font_put_frame_data, font_get_frame_data): Extern them.
6973
6974 * frame.h (struct frame): New member font_data_list.
6975
6976 * font.c (font_update_drivers): Call driver->start_for_frame and
6977 driver->end_for_frame at proper timings.
6978 (font_put_frame_data, font_get_frame_data): New functions.
6979 (Ffont_spec): Add usage in the docstring.
6980
6981 * frame.c (make_frame): Initialize f->font_data_list to NULL.
6982 (Fdelete_frame): Call font_update_drivers.
6983
6984 * xftfont.c (struct xftface_info): Delete the member xft_draw.
6985 (xftfont_prepare_face, xftfont_done_face): Adjust for the above change.
6986 (xftfont_get_xft_draw): New function.
6987 (xftfont_draw): Get XftDraw by xftfont_get_xft_draw.
6988 (xftfont_end_for_frame): New function.
6989 (syms_of_xftfont): Set xftfont_driver.end_for_frame.
6990
6991 * ftxfont.c (ftxfont_get_gcs): Rename from ftxfont_create_gcs.
6992 Change argument. Cache GCs in the per-frame data.
6993 (struct ftxfont_frame_data): New struct.
6994 (ftxfont_draw_bitmap): New arg gc_fore and flush.
6995 (ftxfont_prepare_face, ftxfont_done_face): Delete them.
6996 (ftxfont_draw): Get GCs by ftxfont_get_gcs. Reflect s->clip in GCs.
6997 (ftxfont_end_for_frame): New function.
6998 (syms_of_ftxfont): Set ftxfont_driver.end_for_frame.
6999
7000 * ftfont.c (ftfont_get_bitmap): Set bitmap->bits_per_pixel.
7001
7002 2008-02-01 Kenichi Handa <handa@m17n.org>
7003
7004 * xselect.c (Vselection_coding_system)
7005 (Vnext_selection_coding_system): Delete them.
7006 (syms_of_xselect): Don't declare selection-coding-system and
7007 next-selection-coding-system. They are declared in select.el.
7008
7009 2008-02-01 Jason Rumney <jasonr@gnu.org>
7010
7011 * w32term.h (WM_UNICHAR, UNICODE_NOCHAR): Define if not already.
7012
7013 * w32fns.c: Include imm.h.
7014 (get_composition_string_fn, get_ime_context_fn): New optional
7015 system functions.
7016 (globals_of_w32fns): Load them from imm32.dll.
7017 (ignore_ime_char): New flag.
7018 (w32_wnd_proc): Handle WM_UNICHAR, WM_IME_CHAR and
7019 WM_IME_ENDCOMPOSITION messages.
7020
7021 * w32term.c (w32_read_socket) [WM_UNICHAR]: Handle as
7022 MULTIBYTE_CHAR_KEYSTROKE_EVENT.
7023
7024 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7025
7026 * lread.c (READCHAR): Call readchar with the 2nd arg NULL.
7027 (READCHAR_REPORT_MULTIBYTE): New macro.
7028 (readchar): New 2nd arg MULTIBYTE.
7029 (read1): Use READCHAR_REPORT_MULTIBYTE for the first read.
7030 Make symbol's name multibyte according to the multibyteness of the
7031 source.
7032
7033 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7034
7035 * xfaces.c (face_for_overlay_string): Call lookup_face with
7036 correct arguments (fix of synching with the trunk).
7037
7038 2008-02-01 Kenichi Handa <handa@m17n.org>
7039
7040 * font.c (font_prop_validate_symbol, font_prop_validate_style)
7041 (font_prop_validate_non_neg, font_prop_validate_spacing):
7042 Delete argument prop_index.
7043 (font_property_table): Change arguments to validater. Change Callers.
7044 (font_lispy_object): Delete.
7045 (font_at): Use font_find_object instead fo font_lispy_object.
7046
7047 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7048
7049 * fileio.c (Fexpand_file_name): Adjust multibyteness of directory
7050 and file names.
7051
7052 2008-02-01 Jason Rumney <jasonr@gnu.org>
7053
7054 * w32font.c (add_font_name_to_list): Avoid vertical fonts.
7055 (font_matches_spec): Remove debug output.
7056 (add_font_entity_to_list): Avoid using substituted fonts.
7057
7058 2008-02-01 Jason Rumney <jasonr@gnu.org>
7059
7060 * doc.c (Fsnarf_documentation):
7061 * Makefile.in (temacs${EXEEXT}, mostlyclean): Undo last change.
7062
7063 2008-02-01 Miles Bader <miles@gnu.org>
7064
7065 * dispextern.h (struct glyph_row): Only define "clip" field if
7066 HAVE_WINDOW_SYSTEM is defined.
7067
7068 2008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
7069
7070 Fix up multi-tty merge.
7071
7072 * xterm.c (handle_one_xevent): Remove duplicate code and fix up nesting
7073 and indentation.
7074
7075 * xfaces.c (free_realized_face, clear_face_gcs):
7076 Include font_done_for_face in the input_blocked section, just in case.
7077
7078 * xdisp.c (decode_mode_spec): Use terminal-local coding systems.
7079 (get_char_face_and_encoding): Undo last change and remove the *other*
7080 duplicate definition (i.e. keep the one that's better scoped and that
7081 includes code for the font-backend).
7082
7083 * terminal.c (create_terminal): Default keyboard_coding to
7084 `no-conversion' and terminal_coding to `undecided'.
7085
7086 * lread.c (read1): Use XSETPVECTYPE to set a pseudovector's tag.
7087
7088 * fontset.c (free_realized_fontsets): Check that the table entry does
7089 contain a fontset before trying to compare it to `base'.
7090
7091 * emacs.c (main): Move syms_of_data, syms_of_fileio, syms_of_alloc,
7092 syms_of_charset, and syms_of_coding earlier because init_window_once
7093 now needs Vcoding_system_hash_table to be setup.
7094
7095 * coding.h (default_buffer_file_coding): Remove.
7096
7097 * coding.c (default_buffer_file_coding): Remove.
7098 (Fterminal_coding_system, Fkeyboard_coding_system): Use ->id rather
7099 than ->symbol, and use the terminal-local coding system.
7100 (syms_of_coding): Don't setup the coding-systems that are not
7101 terminal-local.
7102 (Fdefine_coding_system_internal): Use XCAR/XCDR.
7103
7104 * chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table):
7105 Use XSETPVECTYPE now that XSETCHAR_TABLE doesn't set the tag anymore.
7106
7107 * alloc.c (Fmake_char_table, make_sub_char_table): Remove. They're now
7108 in chartab.c and were re-added here by mistake.
7109 (Fpurecopy): Use XSETPVECTYPE after copying a COMPILED pseudovector.
7110
7111 * doc.c (Fsnarf_documentation):
7112 * Makefile.in (temacs${EXEEXT}, mostlyclean): Move buildobj.lst from
7113 src to etc.
7114
7115 * ChangeLog.10: Add mistakenly removed entry.
7116
7117 2008-02-01 Dan Nicolaescu <dann@ics.uci.edu>
7118
7119 * Makefile.in (fringe.o, minibuf.o): Fix dependencies.
7120
7121 2008-02-01 Miles Bader <miles@gnu.org>
7122
7123 * xdisp.c (get_char_face_and_encoding): Remove extraneous definition.
7124 Add extra args to FACE_FOR_CHAR.
7125
7126 2008-02-01 Kenichi Handa <handa@m17n.org>
7127
7128 * keymap.c (where_is_internal_1): If key is a cons, store the copy
7129 in sequence.
7130
7131 * chartab.c (map_sub_char_table, map_char_table): If the range
7132 contains just one character, call the function with that character
7133 even if the depth is not 3.
7134
7135 2008-02-01 Jason Rumney <jasonr@gnu.org>
7136
7137 * w32font.c (w32font_text_extents): Calculate metrics for the
7138 whole string.
7139
7140 2008-02-01 Jason Rumney <jasonr@gnu.org>
7141
7142 * w32xfns.c (get_next_msg): Consolidate WM_PAINT messages.
7143
7144 2008-02-01 Jason Rumney <jasonr@gnu.org>
7145
7146 * w32term.c (x_set_glyph_string_clipping): Use
7147 get_glyph_string_clip_rects.
7148 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
7149 Adjust for the change of struct glyph_string.
7150
7151 * w32font.c (w32font_draw): Do clipping here.
7152
7153 2008-02-01 Kenichi Handa <handa@m17n.org>
7154
7155 * xftfont.c (xftfont_draw): Adjust for the change of struct
7156 glyph_string.
7157
7158 * xterm.c (x_set_glyph_string_clipping): Use
7159 get_glyph_string_clip_rects.
7160 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
7161 Adjust for the change of struct glyph_string.
7162
7163 * xdisp.c (get_glyph_string_clip_rects): Reflect s->row->clip to
7164 the resulting clip(s}.
7165 (expose_overlaps): Add arg r. Change callers. Set it to
7166 row->clip temporarily.
7167 (expose_window): Redraw rows overlapping the exposed area.
7168
7169 * dispextern.h (struct glyph_row): New member clip.
7170 (struct glyph_string): Delete members clip_x, clip_y, clip_width,
7171 clip_height, new member clip, and num_clips.
7172
7173 2008-02-01 Kenichi Handa <handa@m17n.org>
7174
7175 * data.c (Fchar_or_string_p): Fix docstring.
7176
7177 2008-02-01 Kenichi Handa <handa@m17n.org>
7178
7179 * xftfont.c (xftfont_draw): If s->font_info != s->face->font_info,
7180 create a temporal XftDraw object.
7181
7182 2008-02-01 Kenichi Handa <handa@m17n.org>
7183
7184 * font.c (Ffontp): Fix docstring.
7185
7186 * coding.c (detect_coding_iso_2022): Don't treat SI/SO codes as a
7187 strong evidence of ISO-2022.
7188
7189 2008-02-01 Kenichi Handa <handa@m17n.org>
7190
7191 * abbrev.c (abbrev_check_chars): Use CHAR_TABLE_REF, not
7192 SYNTAX_ENTRY_FOLLOW_PARENT.
7193
7194 2008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
7195
7196 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and change
7197 its type.
7198 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
7199 Update to the new type of weak_hash_tables and next_weak.
7200
7201 * lisp.h (struct Lisp_Hash_Table): Change next_weak from Lisp_Object to
7202 a plain C pointer to Lisp_Hash_Table.
7203
7204 * lisp.h (XGCTYPE, GC_HASH_TABLE_P, GC_NILP, GC_NUMBERP, GC_NATNUMP)
7205 (GC_INTEGERP, GC_SYMBOLP, GC_MISCP, GC_VECTORLIKEP, GC_STRINGP)
7206 (GC_CONSP, GC_FLOATP, GC_VECTORP, GC_OVERLAYP, GC_MARKERP)
7207 (GC_INTFWDP, GC_BOOLFWDP, GC_OBJFWDP, GC_BUFFER_OBJFWDP)
7208 (GC_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP)
7209 (GC_KBOARD_OBJFWDP, GC_PSEUDOVECTORP, GC_WINDOW_CONFIGURATIONP)
7210 (GC_PROCESSP, GC_WINDOWP, GC_SUBRP, GC_COMPILEDP, GC_BUFFERP)
7211 (GC_SUB_CHAR_TABLE_P, GC_CHAR_TABLE_P, GC_BOOL_VECTOR_P, GC_FRAMEP)
7212 (GC_EQ): Remove since they've been identical to their non-GC_
7213 alter-egos ever since the markbit was eradicated.
7214
7215 * alloc.c:
7216 * buffer.c:
7217 * buffer.h:
7218 * data.c:
7219 * fileio.c:
7220 * filelock.c:
7221 * fns.c:
7222 * frame.h:
7223 * lisp.h:
7224 * macterm.c:
7225 * print.c:
7226 * process.c:
7227 * w32fns.c:
7228 * w32menu.c:
7229 * w32term.c:
7230 * xfns.c:
7231 * xmenu.c:
7232 * xterm.c: Replace uses of GC_* macros with the non-GC_ versions.
7233
7234 2008-02-01 Kenichi Handa <handa@m17n.org>
7235
7236 * chartab.c (map_sub_char_table): Make it work for the top-level
7237 char-table. Fix handling of parent char-table.
7238 (map_char_table): Adjust for the above change.
7239
7240 2008-02-01 Jason Rumney <jasonr@gnu.org>
7241
7242 * w32font.c (Qgdi): Rename from Qw32.
7243
7244 2008-02-01 Jason Rumney <jasonr@gnu.org>
7245
7246 * w32bdf.c (get_quoted_string): Make function static.
7247
7248 2008-02-01 Kenichi Handa <handa@m17n.org>
7249
7250 * xftfont.c (xftfont_open): If one of font's ASCII glyph has
7251 bigger ascent and descent than those of the font, use them as
7252 font's ascent and descent.
7253
7254 2008-02-01 Kenichi Handa <handa@m17n.org>
7255
7256 * Makefile.in (${lispsource}international/charprop.el): Move this
7257 target within "#ifdef HAVE_UNIDATA" and "#endif".
7258
7259 2008-02-01 Kenichi Handa <handa@m17n.org>
7260
7261 * Makefile.in (lisp): Add ${lispsource}language/tai-viet.el.
7262 (shortlisp): Add ../lisp/language/tai-viet.el.
7263
7264 2008-02-01 Ulrich Mueller <ulm@gentoo.org>
7265
7266 * Makefile.in (${lispsource}international/charprop.el): Depend on
7267 temacs${EXEEXT}.
7268
7269 2008-02-01 Jason Rumney <jasonr@gnu.org>
7270
7271 * w32font.c (w32font_close): Delete the GDI font object.
7272
7273 * w32menu.c: Include character.h.
7274
7275 * w32proc.c: Likewise.
7276
7277 * w32select.c: Likewise.
7278
7279 * makefile.w32-in (w32proc.o): Depend on character.h.
7280
7281 2008-02-01 Jason Rumney <jasonr@gnu.org>
7282
7283 * w32fns.c (syms_of_w32fns): Use DEFSYM macro.
7284
7285 * w32menu.c (syms_of_w32menu): Likewise.
7286
7287 * w32proc.c (syms_of_ntproc): Likewise.
7288
7289 * w32select.c (syms_of_w32select): Likewise.
7290
7291 * w32term.c (syms_of_w32term): Likewise.
7292
7293 2008-02-01 Jason Rumney <jasonr@gnu.org>
7294
7295 * w32font.c (w32font_draw): Delete brush after using it.
7296
7297 2008-02-01 Jason Rumney <jasonr@gnu.org>
7298
7299 * w32font.c (w32font_open): Don't set font_idx.
7300 (w32font_text_extents): Try GetTextExtentPoint32W before defaulting
7301 to font settings.
7302 (w32font_draw): Fill background explicitly.
7303
7304 2008-02-01 Jason Rumney <jasonr@gnu.org>
7305
7306 * w32term.c (w32_initialize): Don't call w32font_initialize.
7307
7308 * w32font.c (w32font_info): Remove subranges.
7309 (QCsubranges, Qmodern, Qswiss, Qroman): Remove.
7310 (QCfamily, Qmonospace, Qsans_serif, Qmono, Qsans, Qsans__serif)
7311 (Qraster, Qoutline, Qlatin, Qgreek, Qcoptic, Qcyrillic, Qarmenian)
7312 (Qhebrew, Qarabic, Qsyriac, Qnko, Qthaana, Qdevanagari, Qbengali)
7313 (Qgurmukhi, Qgujarati, Qoriya, Qtamil, Qtelugu, Qkannada)
7314 (Qmalayalam, Qsinhala, Qthai, Qlao, Qtibetan, Qmyanmar, Qgeorgian)
7315 (Qhangul, Qethiopic, Qcherokee, Qcanadian_aboriginal, Qogham)
7316 (Qrunic, Qkhmer, Qmongolian, Qsymbol, Qbraille, Qhan)
7317 (Qideographic_description, Qcjk_misc, Qkana, Qbopomofo, Qkanbun)
7318 (Qyi, Qbyzantine_musical_symbol, Qmusical_symbol, Qmathematical):
7319 New symbols.
7320 (font_callback_data): New struct.
7321 (w32font_list, w32font_match): Use it.
7322 (w32font_open): Don't populate subranges.
7323 (w32font_has_char): Use script Lisp symbols, not subrange bitmask.
7324 (w32font_encode_char): Always return unicode code-point as-is.
7325 (w32font_text_extents): Supply a tranformation matrix to
7326 GetGlyphOutline. Never look up by glyph index. Avoid looping
7327 twice. Use unicode version of GetTexExtentPoint32 instead of
7328 glyph index version.
7329 (set_fonts_frame): Remove.
7330 (w32_enumfont_pattern_entity): Add frame parameter, use it to
7331 set frame parameter. Use backward compatible fake foundries.
7332 Save generic family in extra slot under QCfamily. Make width slot
7333 constant. Save QCspacing value. Save list of scripts instead of
7334 binary subranges.
7335 (w32_generic_family, logfonts_match, font_matches_spec): New functions.
7336 (add_font_entity_to_list): Use font_callback_data struct. Filter
7337 unwanted fonts.
7338 (add_one_font_entity_to_list): Use font_callback_data struct.
7339 (w32_registry): Default to iso10646_1.
7340 (fill_in_logfont): Use dpi from extra slot. Don't bother with
7341 string font registries. Don't fill in font name if it is a generic
7342 family name, fill family instead. Use spacing, family and script
7343 extra info to fill pitch, family and charset fields.
7344 (list_all_matching_fonts): Use font_callback_data struct.
7345 (unicode_range_for_char): Remove.
7346 (font_supported_scripts): New function.
7347 (w32font_initialize): Remove.
7348 (syms_of_w32font): Update which symbols are defined.
7349
7350 2008-02-01 Jason Rumney <jasonr@gnu.org>
7351
7352 * font.c (font_pixel_size): Reverse assq_no_quit args.
7353
7354 * w32term.h (FONT_WIDTH): Report max width, not average.
7355 (FONT_MAX_WIDTH): Remove.
7356 (FONT_AVG_WIDTH): New macro.
7357
7358 * xfaces.c (Fx_list_fonts) [WINDOWSNT]: Remove Windows only
7359 redefinition of FONT_WIDTH.
7360
7361 * w32term.c (x_font_min_bounds): Use FONT_AVG_WIDTH.
7362 (w32_cache_char_metrics): Use FONT_WIDTH.
7363
7364 * w32fns.c (w32_load_system_font, w32_list_fonts): Use FONT_AVG_WIDTH.
7365
7366 2008-02-01 Jason Rumney <jasonr@gnu.org>
7367
7368 * w32font.c (w32font_open): Make lfHeight negative.
7369
7370 * w32fns.c (x_default_font_parameter): Use new style font name.
7371 (Fx_create_frame, x_create_tip_frame): Initialize resx and resy.
7372
7373 2008-02-01 Jason Rumney <jasonr@gnu.org>
7374
7375 * w32font.c (QCsubranges): New symbol.
7376 (w32font_open, w32font_has_char): Get subranges from subproperty
7377 of extra.
7378 (w32_enumfont_pattern_entity): Set subranges as subproperty of extra.
7379 (syms_of_w32font): Define :subranges symbol.
7380
7381 * font.c (font_put_extra): Expose externally.
7382
7383 * font.h (font_put_extra): Move declaration from font.c.
7384
7385 * font.c (Ffont_get): Use font driver to determine otf capability.
7386 (adjust_anchor): Check if driver defines anchor_point before using.
7387
7388 * w32font.c (w32font_open): Handle size, height and pixel_size better.
7389 (w32font_draw): Use options.
7390 (w32_enumfont_pattern_entity): Set size to 0 for scalable fonts.
7391 Fix detection of truetype fonts.
7392 (registry_to_w32_charset): Handle charsets other than iso8859-1
7393 expressed as lisp symbols.
7394 (w32_registry): Express charset as lisp symbol.
7395 (fill_in_logfont): Reverse pixel and point height logic.
7396 Don't set width here. Set quality to default.
7397
7398 * w32fns.c (w32_load_system_font): Fix detecting FIXED_PITCH fonts.
7399 (x_to_w32_font): Fill in lfPitchAndFamily correctly.
7400
7401 * xterm.c (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
7402 Remove redundant loop and allocation.
7403
7404 * makefile.w32-in (font.o, w32font.o): New objects.
7405 (fontset.o, xdisp.o, xfaces.o, w32fns.o, w32term.o): Depend on font.h.
7406 (FONTOBJ): New group of objects conditioned on USE_FONT_BACKEND.
7407
7408 * xdisp.c (fill_composite_glyph_string): Make the first arg to
7409 STORE_XCHARB a valid l-value.
7410
7411 * w32term.c (w32_native_per_char_metric): Swap width and rbearing
7412 calculations for non-Truetype fonts.
7413 (x_draw_glyph_string): Sync with xterm.c.
7414 (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
7415 Remove redundant code.
7416 (w32_initialize) [USE_FONT_BACKEND]: Call w32font_initialize.
7417
7418 * w32term.h (w32_output_data) [USE_FONT_BACKEND]: Add fontp member.
7419 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro from xterm.h.
7420
7421 * w32fns.c [USE_FONT_BACKEND]: Port font backend changes from xfns.c.
7422 (x_to_w32_charset, w32_to_x_charset): Expose externally.
7423
7424 * w32font.c: New file for w32 font backend.
7425
7426 2008-02-01 Kenichi Handa <handa@m17n.org>
7427
7428 * term.c: Don't include "buffer.h" twice.
7429
7430 2008-02-01 Kenichi Handa <handa@m17n.org>
7431
7432 * character.c (Funibyte_string): New function.
7433 (syms_of_character): Defsubr it.
7434
7435 2008-02-01 Jason Rumney <jasonr@gnu.org>
7436
7437 * w32term.c [USE_FONT_BACKEND]:
7438 (x_get_font_repertory, note_mouse_movement, x_set_mouse_face_gc)
7439 (x_set_glyph_string_clipping, x_set_glyph_string_clipping_exactly)
7440 (x_draw_glyph_string, x_draw_glyph_string_foreground)
7441 (x_draw_composite_glyph_string_foreground, x_new_fontset2)
7442 (x_free_frame_resources): Sync with xterm.c.
7443
7444 2008-02-01 Andreas Schwab <schwab@suse.de>
7445
7446 * lread.c (read1): Use CHAR_TABLE_STANDARD_SLOTS to validate
7447 char-table size.
7448
7449 2008-02-01 Kenichi Handa <handa@m17n.org>
7450
7451 * font.c (check_otf_features): Define it regardless of HAVE_LIBOTF.
7452
7453 2008-02-01 Kenichi Handa <handa@m17n.org>
7454
7455 * ftfont.c (ftfont_driver): Delete font_otf_gsub and
7456 font_otf_gpos, add font_drive_otf.
7457
7458 * fontset.c (fontset_find_font): Pay attention to font size
7459 specified for a font.
7460 (reorder_font_vector): Check contents of font_def.
7461
7462 * font.c (struct otf_list): Delete it.
7463 (otf_list): Make it a lisp variable.
7464 (otf_open): Use lispy otf_list.
7465 (generate_otf_features): Rename from parse_gsub_gpos_spec.
7466 (check_otf_features): New function.
7467 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
7468 New functions.
7469 (font_drive_otf): New function merging font_otf_gsub and
7470 font_otf_gpos.
7471 (font_open_for_lface): New arg spec. Change argument order.
7472 (font_load_for_face): Adjust for the change of font_open_for_lface.
7473 (Ffont_drive_otf): New function merging Ffont_otf_gsub and
7474 Ffont_otf_gpos.
7475 (syms_of_font): Staticpro otf_list. Delete defsubr of
7476 Sfont_otf_gsub and Sfont_otf_gpos. Defsubr Sfont_drive_otf.
7477
7478 * xfaces.c (set_font_frame_param): Adjust for the change of
7479 font_open_for_lface.
7480
7481 * font.h (font_open_for_lface): Adjust prototype.
7482 (struct font_driver): Delete members otf_gsub and otf_gpos, add
7483 member otf_drive.
7484 (font_otf_gsub, font_otf_gpos): Delete externs.
7485 (font_drive_otf): Extern it.
7486
7487 2008-02-01 Kenichi Handa <handa@m17n.org>
7488
7489 * font.c (font_at): If the window W is not on a window system,
7490 return Qnil.
7491
7492 * coding.c (produce_chars, encode_coding): Don't call
7493 insert_from_gap if no characters to produce.
7494
7495 2008-02-01 Kenichi Handa <handa@m17n.org>
7496
7497 * fontset.c (free_realized_fontsets): Avoid unnecessary call of
7498 Fclear_face_cache.
7499
7500 * xfaces.c (face_for_font): Check also face->font==font->font.font.
7501
7502 2008-02-01 Miles Bader <miles@gnu.org>
7503
7504 * emacs.c (main): Change default value of `enable_font_backend' to 1.
7505 Parse "--disable-font-backend" option.
7506 (standard_args): Add "--disable-font-backend" option.
7507
7508 2008-02-01 Kenichi Handa <handa@m17n.org>
7509
7510 * fontset.c (fontset_find_font): New function.
7511 (fontset_font): Use fontset_find_font.
7512 (make_fontset_for_ascii_face): Don't set face ID in rfont_def.
7513 Register the specified font for all Latin characters.
7514 (new_fontset_from_font): Register the specified font for all Latin
7515 characters.
7516 (dump_fontset): For a realized fontset, include the base fontset
7517 name in the returned vector.
7518
7519 2008-02-01 Kenichi Handa <handa@m17n.org>
7520
7521 * character.h (CHAR_STRING): Cast C to unsigned on calling
7522 char_string.
7523
7524 * character.c (char_string): Type of arg C changed to unsigned.
7525 Signal an error if C is an invalid character code.
7526
7527 * editfns.c (general_insert_function, Fchar_to_string):
7528 Use CHARACTERP, not INTEGERP.
7529
7530 2008-02-01 Kenichi Handa <handa@m17n.org>
7531
7532 * character.h (MIN_MULTIBYTE_LEADING_CODE)
7533 (MAX_MULTIBYTE_LEADING_CODE): New macros.
7534
7535 * regex.c (analyse_first): Fix for multibyte characters in "case
7536 charset:" and "case categoryspec:".
7537
7538 2008-02-01 Andreas Schwab <schwab@suse.de>
7539
7540 * Makefile.in (LIBES): Move standard libraries to the end.
7541
7542 2008-02-01 Kenichi Handa <handa@m17n.org>
7543
7544 * alloc.c (Fgarbage_collect): If nextb->text->inhibit_shrinking is
7545 nonzero, don't shrink the buffer nextb.
7546
7547 * buffer.h (struct buffer_text): New member inhibit_shrinking.
7548
7549 * coding.c (coding_alloc_by_making_gap): New arg offset.
7550 (alloc_destination): Call coding_alloc_by_making_gap with the arg
7551 offset.
7552 (decode_coding_iso_2022): Update coding->safe_charsets.
7553 (decode_coding_gap): Temporarily set
7554 current_buffer->text->inhibit_shrinking to 1.
7555
7556 2008-02-01 Kenichi Handa <handa@m17n.org>
7557
7558 * xterm.c (x_draw_composite_glyph_string_foreground): Fix
7559 indexing into elements of s->cmp and s->char2b.
7560
7561 2008-02-01 Juanma Barranquero <lekktu@gmail.com>
7562
7563 * regex.c (RE_STRING_CHAR_AND_LENGTH) [! emacs]: Add missing arg `len'.
7564
7565 2008-02-01 Kenichi Handa <handa@m17n.org>
7566
7567 * regex.c (GET_CHAR_BEFORE_2, GET_CHAR_AFTER): Check the variable
7568 target_multibyte instead of multibyte.
7569 (re_match_2_internal): Call bcmp_translate with target_multibyte.
7570 (bcmp_translate): Change the argument name from multibyte to
7571 target_multibyte.
7572
7573 2008-02-01 Kenichi Handa <handa@m17n.org>
7574
7575 These changes are to compile a regexp into a pattern that can be
7576 used both for multibyte and unibyte targets.
7577
7578 * Makefile.in (search.o): Depend on charset.h.
7579
7580 * character.c (multibyte_char_to_unibyte_safe): New function.
7581
7582 * search.c: Include "charset.h".
7583 (compile_pattern_1): Delete argument multibyte. Don't set
7584 cp->buf.target_multibyte here. Set cp->buf.charset_unibyte.
7585 (compile_pattern): Don't compare cp->buf.target_multibyte.
7586 Compare cp->buf.charset_unibyte.
7587 (compile_pattern): Set cp->buf.target_multibyte.
7588
7589 * lisp.h (multibyte_char_to_unibyte_safe): Extern it.
7590
7591 * regex.h (struct re_pattern_buffer): New member charset_unibyte.
7592
7593 * regex.c (RE_STRING_CHAR, RE_STRING_CHAR_AND_LENGTH): New arg
7594 multibyte. Change callers.
7595 (RE_CHAR_TO_MULTIBYTE, RE_CHAR_TO_UNIBYTE): New macros.
7596 (MAKE_CHAR_MULTIBYTE, MAKE_CHAR_UNIBYTE): Delete. Change callers
7597 to use RE_CHAR_TO_MULTIBYTE and RE_CHAR_TO_UNIBYTE, respectively.
7598 (SETUP_ASCII_RANGE, SETUP_UNIBYTE_RANGE): New macros.
7599 (SETUP_MULTIBYTE_RANGE): Generate a more compact range_table.
7600 (regex_compile): Make the compiled pattern usable both for
7601 multibyte and unibyte targets.
7602 (analyse_first): Make the fastmap usable both for multibyte and
7603 unibyte targets.
7604 (TRANSLATE_VIA_MULTIBYTE): Delete.
7605 (re_match_2_internal): Pay attention to the case that the
7606 multibyteness of bufp and target may be different.
7607
7608 2008-02-01 Kenichi Handa <handa@m17n.org>
7609
7610 * xdisp.c (x_produce_glyphs): When a font is not found, make the
7611 empty box occupy at least one column width.
7612
7613 2008-02-01 Miles Bader <miles@gnu.org>
7614
7615 * Makefile.in: Remove redundant HAVE_XFT clause.
7616
7617 2008-02-01 Kenichi Handa <handa@m17n.org>
7618
7619 * xrdb.c (x_load_resources): Setup the default fontSet X reource.
7620
7621 2008-02-01 Kenichi Handa <handa@m17n.org>
7622
7623 * fontset.c (Finternal_char_font): Fix for the case of POSITION
7624 being nil.
7625
7626 2008-02-01 Kenichi Handa <handa@m17n.org>
7627
7628 * xftfont.c (xftfont_open): Call FcConfigSubstitute.
7629
7630 2008-02-01 Kenichi Handa <handa@m17n.org>
7631
7632 * xftfont.c (xftfont_open): Don't enable antialias explicitly.
7633
7634 2008-02-01 Kenichi Handa <handa@m17n.org>
7635
7636 * search.c (simple_search): Fix previous change.
7637
7638 2008-02-01 Kenichi Handa <handa@m17n.org>
7639
7640 * xftfont.c (ftfont_font_format): Extern declaration.
7641
7642 * frame.c (x_set_font): Fix the second arg to fs_query_fontset.
7643
7644 * xfont.c (xfont_driver): Initialize ftfont_driver.type by 0.
7645 (xfont_list): Don't directly use Lisp_Object as an operand of &&.
7646
7647 * ftfont.c (ftfont_driver): Initialize ftfont_driver.type by 0.
7648 (ftfont_font_format): Fix previous change.
7649
7650 * font.h (Ffont_xlfd_name): EXFUN it.
7651
7652 * font.c (font_parse_xlfd): Fix the array size of `f'.
7653 (register_font_driver): Use EQ to compare driver->type.
7654
7655 * xfns.c (xic_create_xfontset2) [USE_FONT_BACKEND]: New function.
7656 (create_frame_xic) [USE_FONT_BACKEND]: Call xic_create_xfontset2.
7657 (xic_set_xfontset) [USE_FONT_BACKEND]: Likewise.
7658
7659 2008-02-01 Kenichi Handa <handa@m17n.org>
7660
7661 * ftfont.c (ftfont_pattern_entity, ftfont_list_generic_family)
7662 (ftfont_list, ftfont_font_format): Check if FC_FONTFORMAT is defined.
7663
7664 2008-02-01 Kenichi Handa <handa@m17n.org>
7665
7666 * xfont.c (xfont_open): Set font->format.
7667
7668 * xftfont.c (xftfont_open): Set font->format.
7669
7670 * ftfont.c (ftfont_pattern_entity): Add fontformat in a pattern.
7671 (ftfont_list): Include FC_FONTFORMAT in FcObject.
7672 (ftfont_open): Set font->format.
7673 (ftfont_font_format): New function.
7674
7675 * font.h (struct font): New memeber format.
7676
7677 * font.c (Qopentype): New variable.
7678 (syms_of_font): Defsym it.
7679 (Fquery_font): Change the format of the last element of the return
7680 value.
7681
7682 2008-02-01 Kenichi Handa <handa@m17n.org>
7683
7684 * xfns.c (xic_create_xfontset): Try the default fontset name as a
7685 last resort.
7686
7687 2008-02-01 Kenichi Handa <handa@m17n.org>
7688
7689 * coding.c (detect_coding_charset): Fix detection of multi-byte
7690 charset.
7691
7692 2008-02-01 Bob Halley <halley@play-bow.org> (tiny change)
7693
7694 * ccl.c (ccl_driver): If DST is NULL, set ccl->produced to 0.
7695
7696 2008-02-01 Kenichi Handa <handa@m17n.org>
7697
7698 * xdisp.c (get_next_display_element): Set it->face_id for the
7699 first component of a composition.
7700 (x_produce_glyphs): Check if the font is changed or not for composition.
7701
7702 2008-02-01 Kenichi Handa <handa@m17n.org>
7703
7704 * fontset.c (Qlatin): New variable.
7705 (syms_of_fontset): Define it as a lisp symbol.
7706 (Fset_fontset_font): If TARGET is `latin', use FONT_SPEC for ASCII.
7707
7708 2008-02-01 Kenichi Handa <handa@m17n.org>
7709
7710 * font.c (font_unparse_fcname): Pay attention to the case that
7711 some of font property is a null string.
7712
7713 2008-02-01 Kenichi Handa <handa@m17n.org>
7714
7715 * term.c: Include "composite.h".
7716 (encode_terminal_code): Output all components of composition.
7717 Check the size of encode_terminal_src.
7718 (produce_glyphs): For composition, call produce_composite_glyph.
7719 (append_composite_glyph, produce_composite_glyph): New functions.
7720
7721 * xdisp.c (x_produce_glyphs): In handling composition, if a font
7722 is not found, get font_info from the current ascii face.
7723
7724 2008-02-01 Kenichi Handa <handa@m17n.org>
7725
7726 * fileio.c (Finsert_file_contents): On replacing, temporarily bind
7727 buffer-file-name to Qnil before calling insert_from_buffer.
7728
7729 * font.c (font_unparse_fcname): Pay attention to the case that
7730 foundry is a null string.
7731
7732 2008-02-01 Kenichi Handa <handa@m17n.org>
7733
7734 * ftfont.c (ftfont_list): Allow registry "unicode-sip".
7735
7736 * font.c (Qunicode_sip): New variable.
7737 (syms_of_font): Declare it as a Lisp symbol.
7738
7739 * font.h (Qunicode_sip): Extern it.
7740
7741 2008-02-01 Kenichi Handa <handa@m17n.org>
7742
7743 * composite.c (get_composition_id): Pay attention to TAB component.
7744
7745 * xterm.c (x_draw_composite_glyph_string_foreground): Don't draw
7746 TAB. Adjust for the change of s->char2b which always points to
7747 the first elememnt of allocated memory.
7748
7749 * xftfont.c (xftfont_text_extents): Fix calculation of descent value.
7750
7751 * xdisp.c (handle_composition_prop): Set it->c to the first
7752 non-TAB component.
7753 (fill_composite_glyph_string): Change argument.
7754 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the above change.
7755 (x_produce_glyphs): Fix handling of left/right padding.
7756
7757 2008-02-01 Kenichi Handa <handa@m17n.org>
7758
7759 * coding.c (detect_coding_system): Fix for handling off
7760 inhibit_iso_escape_detection. Fix for the case that no coding
7761 system is defined for a specific coding category.
7762
7763 2008-02-01 Kenichi Handa <handa@m17n.org>
7764
7765 * font.c (font_matching_entity): Delete unused local var.
7766
7767 * xftfont.c (xftfont_open): Call XftDefaultSubstitute before
7768 opening a font.
7769
7770 * fileio.c (Finsert_file_contents): On recovering a file, assume
7771 Unix-like eol.
7772 (choose_write_coding_system): On auto-saving a file, force
7773 Unix-like eol.
7774
7775 * coding.c (setup_coding_system): Fix setting of
7776 coding->common_flags based on eol_type.
7777 (coding_inherit_eol_type): If PARENT is not nil, be sure to
7778 inherit from it.
7779
7780 2008-02-01 Kenichi Handa <handa@m17n.org>
7781
7782 * alloc.c (NSTATICS): Increas to 0x600.
7783
7784 2008-02-01 Kenichi Handa <handa@m17n.org>
7785
7786 * ftfont.c (ftfont_driver): Set ftfont_driver.match to ftfont_match.
7787 (ftfont_list): Don't check :name property.
7788 (ftfont_match): New function.
7789 (ftfont_pattern_entity): If the pattern doesn't contain
7790 FC_SPACING, don't assuce FC_MONO.
7791
7792 * font.h (struct font_driver): New member `match'.
7793 (font_update_drivers): Adjust prototype.
7794
7795 * font.c (font_parse_fcname, font_parse_name): Don't change :name
7796 property of FONT.
7797 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE, check_gstring): Define
7798 them unconditionally.
7799 (font_matching_entity): New function.
7800 (font_open_by_name): Try font_matching_entity if exact match is
7801 not found.
7802 (font_update_drivers): Delete the arg FONT. Return a list of
7803 actually used backends. Don't free faces, font caches here.
7804 Don't store data in frame parameters. Don't call x_set_font.
7805 (Ffont_spec): Store :name property as is.
7806 (Ffont_get): Check HAVE_LIBOTF before calling font_otf_capability.
7807 (Ffont_otf_gsub): Call font->driver->otf_gsub instead of font_otf_gsub.
7808 (Ffont_otf_gpos): Call font->driver->otf_gpos instead of font_otf_gpos.
7809 (Ffont_otf_alternates): Check if the driver has otf_gsub function.
7810 Call font->driver->otf_gsub instead of font_otf_gsub.
7811
7812 * frame.c (x_set_font_backend): Do more works that were done in
7813 font_update_drivers before.
7814
7815 * xfont.c (xfont_match): New function.
7816 (xfont_driver): Set xfont_driver.match to xfont_match.
7817 (xfont_draw): Set font in GC if necessary.
7818
7819 * ftxfont.c (ftxfont_match): New function.
7820 (syms_of_ftxfont): Set ftxfont_driver.match to ftxfont_match.
7821
7822 * xftfont.c (xftfont_match): New function.
7823 (syms_of_xftfont): Set xftfont_driver.match to xftfont_match.
7824
7825 2008-02-01 Kenichi Handa <handa@m17n.org>
7826
7827 * font.h (struct font): New member scalable.
7828 (struct font_driver): New arg ALTERANTE_SUBST to otf_gsub.
7829 (font_otf_gsub): Adjust prototype.
7830
7831 * font.c (font_otf_capability): Fix handling of the default langsys.
7832 (parse_gsub_gpos_spec): Change type to void. New arg nbytes.
7833 Check the contents of SPEC.
7834 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE): New macros.
7835 (check_gstring): New function.
7836 (REPLACEMENT_CHARACTER): New macro.
7837 (font_otf_gsub): New arg alternate_subst. Be sure to set all
7838 glyph codes of GSTRING.
7839 (font_otf_gpos): Be sure to set all glyph codes of GSTRING.
7840 (font_prepare_composition): Set cmp->glyph_len.
7841 (font_open_entity): Set font->scalable.
7842 (Ffont_get): Handle :otf property.
7843 (Ffont_otf_gsub, Ffont_otf_gpos, Ffont_otf_alternates): New
7844 functions.
7845 (Fquery_font): Use font->font.full_name.
7846 (syms_of_font): Defsubr Sfont_otf_gsub, Sfont_otf_gpos, and
7847 Sfont_otf_alternates.
7848
7849 * ftfont.c (ftfont_open): Set font->font.full_name and
7850 font->font.name properly. Fix calculation of font->font.height
7851 and font->min_width.
7852
7853 * ftxfont.c (ftxfont_create_gcs): New function.
7854 (ftxfont_draw_bitmap): Fix arg to ftfont_driver.get_bitmap.
7855 (ftxfont_draw_backgrond): Fix filling region.
7856 (ftxfont_default_fid): New function.
7857 (ftxfont_open): Set xfotn->fid to the return value of
7858 ftxfont_default_fid.
7859 (ftxfont_prepare_face): Use ftxfont_create_gcs to create GCs.
7860 (ftxfont_done_face): Free only GCs that are created by
7861 ftxfont_create_gcs.
7862 (ftxfont_draw): If face->gc != s->gc, create proper GCs.
7863
7864 * xterm.c (x_set_glyph_string_clipping_exactly) [USE_FONT_BACKEND]:
7865 Clip to src->width, etc (not src->clip_XXX).
7866
7867 * xfns.c (x_create_tip_frame) [USE_FONT_BACKEND]: Handle
7868 FontBackend frame parameter.
7869
7870 2008-02-01 Kenichi Handa <handa@m17n.org>
7871
7872 * font.h (struct font_driver_list): New member `on'.
7873 (Fclear_font_cache): EXFUN it.
7874 (font_update_drivers): Extern it.
7875
7876 * font.c (font_unparse_fcname): Fix typo (swidth->width).
7877 (font_list_entities): Check driver_list->on.
7878 (register_font_driver): Initalize `on' member to 0.
7879 (font_update_drivers): New function.
7880 (Fclear_font_cache): Check driver_list->on.
7881
7882 * frame.h (Qfont_backend): Extern it.
7883 (x_set_font_backend): Extern it.
7884
7885 * frame.c (Qfont_backend): New variable.
7886 (frame_parms): New element for font-backend.
7887 (x_set_font_backend): New function.
7888
7889 * xfns.c (Fx_create_frame) [USE_FONT_BACKEND]: Handle
7890 FontBackend frame parameter.
7891 (x_frame_parm_handlers) [USE_FONT_BACKEND]: New element
7892 x_set_font_backend.
7893
7894 * xfont.c (xfont_list): Don't try listing by :name property if the
7895 name is not for XLFD.
7896
7897 2008-02-01 Kenichi Handa <handa@m17n.org>
7898
7899 * font.h (LGLYPH_FROM, LGLYPH_TO, LGLYPH_SET_FROM)
7900 (LGLYPH_SET_TO): New macros.
7901 (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WADJUST): Check if adjustment
7902 element of G is vector or not.
7903 (font_at): Extern it.
7904
7905 * font.c: Include window.h.
7906 (font_lispy_object): New function.
7907 (font_prepare_composition): Check LGLYPH_FORM (g) to detect the
7908 end of valid glyph.
7909 (font_close_object): Fix getting (struct font *).
7910 (font_at): New function.
7911 (Ffont_get): If FONT is a font-object, get entity from it.
7912 (Ffont_make_gstring): Initialize elements of glyphs with nil.
7913 (Ffont_fill_gstring): Use macro LGSTRING_XXX and LGLYPH_XXX. Fix
7914 range check.
7915 (Ffont_at): New function.
7916 (syms_of_font): Defsubr Sfont_at.
7917
7918 * xdisp.c (it_props): Move the entry for Qauto_composed to just
7919 before the entry for Qcomposition.
7920 (handle_auto_composed_prop): Call auto-composition-function with 4 args.
7921 (handle_composition_prop) [USE_FONT_BACKEND]: Set it->face_id from
7922 the font in gstring.
7923 (fill_composite_glyph_string) [USE_FONT_BACKEND]: Check
7924 LGLYPH_FORM (g) to detect the end of valid glyph.
7925 (x_produce_glyphs) [USE_FONT_BACKEND]: Don't update it->face_id if
7926 we are composing with gstring.
7927
7928 * xterm.c (x_draw_composite_glyph_string_foreground) [USE_FONT_BACKEND]:
7929 Check if adjustment is vector or not.
7930
7931 * Makefile.in (font.o): Make it depends on window.h.
7932
7933 2008-02-01 Kenichi Handa <handa@m17n.org>
7934
7935 * xterm.c (x_draw_composite_glyph_string_foreground): Check if
7936 adjustment is vector or not.
7937
7938 2008-02-01 Miles Bader <miles@gnu.org>
7939
7940 * character.h (CHECK_CHARACTER): Redefine in terms of CHECK_TYPE.
7941
7942 2008-02-01 Kenichi Handa <handa@m17n.org>
7943
7944 * font.h (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WIDTH, LGLYPH_WADJUST)
7945 (LGLYPH_SET_WIDTH): Adjusted for the change of LGLYPH format.
7946 (LGLYPH_ADJUSTMENT, LGLYPH_SET_ADJUSTMENT): New macros.
7947
7948 * font.c (font_merge_old_spec): Treat '*' in foundry as a wild card.
7949 (DEVICE_DELTA): Fix typo.
7950 (font_otf_gpos, font_prepare_compositio): Adjust for the change of
7951 LGLYPH format.
7952
7953 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
7954 the change of LGLYPH format.
7955
7956 2008-02-01 Kenichi Handa <handa@m17n.org>
7957
7958 * ftfont.c (ftfont_list): Fix typo.
7959 (ftfont_build_basic_charsets): Don't include letters with diacritics.
7960
7961 2008-02-01 Jan Djärv <jan.h.d@swipnet.se>
7962
7963 * xfaces.c (realize_non_ascii_face): Set face->extra to NULL.
7964
7965 * xftfont.c (xftfont_done_face): Call XftDrawDestroy only if
7966 xftface_info is non-NULL.
7967
7968 2008-02-01 Jan Djärv <jan.h.d@swipnet.se>
7969
7970 * ftfont.c (ftfont_list): Move misplaced #endif.
7971
7972 2008-02-01 Kenichi Handa <handa@m17n.org>
7973
7974 * ftfont.c (ftfont_list): Pay attention to the case that
7975 FC_CAPABILITY is not defined.
7976
7977 2008-02-01 Kenichi Handa <handa@m17n.org>
7978
7979 * xftfont.c (xftfont_open): Set charset related members to -1.
7980
7981 * ftfont.c (ftfont_list): Handle QCotf property. Fix handling of
7982 QCname.
7983 (ftfont_open): Set charset related members to -1.
7984
7985 * fontset.c (Votf_script_alist): New variable.
7986 (syms_of_fontset): Initialize it.
7987 (fontset_font): Delete unused variable.
7988
7989 * fontset.h (Votf_script_alist): Extern it.
7990
7991 * font.c (font_find_for_lface): Optimize code.
7992
7993 * font.h (font_close_object, font_merge_old_spec): Extern them.
7994
7995 2008-02-01 Kenichi Handa <handa@m17n.org>
7996
7997 * font.c (QCscalable, Qc, Qm, Qp, Qd): New variables.
7998 (syms_of_font): Initialize them.
7999 (font_pixel_size): Allow float value in dpi.
8000 (font_prop_validate_type): Delete.
8001 (font_prop_validate_symbol, font_prop_validate_style): Change argument.
8002 Change caller.
8003 (font_prop_validate_non_neg): Rename from font_prop_validate_size.
8004 (font_prop_validate_extra): Delete.
8005 (font_prop_validate_spacing): New function.
8006 (font_property_table): Add elements for all known properties.
8007 (get_font_prop_index): Rename from check_font_prop_name. New
8008 argument FROM. Change caller.
8009 (font_prop_validate): Validate all known properties.
8010 (font_put_extra): Delete argument force. Change caller.
8011 (font_expand_wildcards): Make it static. Fix the way of shrinking
8012 the possible range.
8013 (font_parse_xlfd): Delete argument merge. Fix handling of RESX,
8014 RESY, SPACING, and AVGWIDTH. Don't validate property values here.
8015 Change caller.
8016 (font_unparse_xlfd): Handle dpi, spacing, and scalable properties.
8017 (font_parse_fcname): Delete argument merge. Fix parsing of point
8018 size. Don't validate properties values here. Change caller.
8019 (font_unparse_fcname): Handle dpi, spacing, and scalable properties.
8020 (font_open_by_name): Delete unused variable.
8021 (Ffont_spec): Likewise. Validate property values.
8022 (Ffont_match_p): New function.
8023
8024 * font.h (QCscalable): Extern it.
8025 (font_parse_xlfd, font_parse_fcname): Adjust prototype.
8026
8027 * ftfont.c (ftfont_list): Handle properties dpi, spacing, and scalable.
8028
8029 * xfont.c (xfont_query_font): Adjust for the change of font_parse_xlfd.
8030 (xfont_list_pattern): New function.
8031 (xfont_list): Use xfont_list_pattern.
8032
8033 2008-02-01 Kenichi Handa <handa@m17n.org>
8034
8035 * font.h (Flist_fonts): EXFUN it.
8036
8037 2008-02-01 Jason Rumney <jasonr@gnu.org>
8038
8039 * w32term.c (w32_initialize): Add back smoothing_type and
8040 smoothing_enabled definitions.
8041
8042 2008-02-01 Kenichi Handa <handa@m17n.org>
8043
8044 * xterm.c (x_draw_glyph_string) [USE_FONT_BACKEND]: Check
8045 s->face->font on determining underline position.
8046
8047 2008-02-01 Kenichi Handa <handa@m17n.org>
8048
8049 * font.c (font_parse_xlfd): Fix generating of CHARSET_REGISTRY field.
8050 (font_has_char): Accept font-object too.
8051 (font_find_for_lface): Try at first with a size specified in face.
8052
8053 2008-02-01 Kenichi Handa <handa@m17n.org>
8054
8055 * frame.c (x_set_font) [USE_FONT_BACKEND]: Fix argument to
8056 font_open_by_name.
8057
8058 2008-02-01 Kenichi Handa <handa@m17n.org>
8059
8060 * font.h (QCspacing, QCdpi): Extern them.
8061 (enum font_spacing): New enum.
8062 (FONT_PIXEL_SIZE_QUANTUM): New macro.
8063
8064 * font.c (POINT_TO_PIXEL): Don't divice POINT by 10.
8065 (QCspacing, QCdpi): New variables.
8066 (syms_of_font): Initialize them.
8067 (font_pixel_size): New function.
8068 (font_put_extra): New function.
8069 (font_parse_xlfd): Fix handling of font size. Add QCdpi property
8070 in FONT_EXTRA.
8071 (font_parse_fcname): Handle enumenrated values (e.g. bold).
8072 Fix handling font size. Add QCname property that contains only
8073 unknown properties.
8074 (font_score): Change argument. Change caller. Pay attention to
8075 FONT_PIXEL_SIZE_QUANTUM.
8076 (font_sort_entites, font_list_entities, font_find_for_lface)
8077 (font_open_for_lface, font_open_by_name): Fix handling of font size.
8078 (Ffont_spec): Add QCname property that contains only unknown properties.
8079
8080 * ftfont.c (ftfont_list): Use assq_no_quit, not Fassq. Don't
8081 include weight in listing pattern, instead check weight of each
8082 listed font. Don't include scalable in pattern. Pay attention to
8083 FONT_PIXEL_SIZE_QUANTUM.
8084
8085 2008-02-01 Kenichi Handa <handa@m17n.org>
8086
8087 * font.c (font_parse_fcname): Fix parsing of point-size.
8088 (font_unparse_fcname): Produce symbolic names for style properties.
8089 (font_list_entities): Handle float size correctly.
8090 (font_open_by_name): Prefer `normal' property values if the name
8091 doesn't specify them.
8092
8093 * fontset.c (Finternal_char_font): Use font_get_name, not
8094 Ffont_xlfd_name.
8095
8096 * ftfont.c (ftfont_pattern_entity): Use the numeric value 100 for
8097 FC_WEIGHT_REGULAR. Exclude FC_SIZE and FC_PIXEL_SIZE from listing
8098 pattern. Don't force scalable.
8099
8100 * xftfont.c (xftfont_open): For generating a name, start from
8101 96-byte buffer.
8102
8103 2008-02-01 Jan Djärv <jan.h.d@swipnet.se>
8104
8105 * frame.h (x_new_fontset2): Fix prototype.
8106
8107 2008-02-01 Kenichi Handa <handa@m17n.org>
8108
8109 * font.h (struct font_driver): Delete member parse_name.
8110 (font_match_p, font_get_spec, font_parse_fcname)
8111 (font_unparse_fcname): Extern them.
8112 (font_get_name): Adjust prototype.
8113
8114 * font.c (XLFD_SMALLNUM_MASK): Delete this macro.
8115 (XLFD_LARGENUM_MASK): Delete XLFD_ENCODING_MASK from it.
8116 (font_expand_wildcards): Fix handling ENCODING field. Avoid
8117 unnecessary checks for weight, slant, and swidth.
8118 (font_parse_fcname): New function.
8119 (font_unparse_fcname): New function.
8120 (font_parse_name): New function.
8121 (font_match_p): New function.
8122 (font_get_name): Change return value to Lisp string.
8123 (font_get_spec): New function.
8124 (Qunspecified, Qignore_defface): Don't extern them.
8125 (font_find_for_lface): Assume that LFACE is fully specified.
8126 (font_load_for_face): If lface[LFACE_FONT_INDEX] is an font
8127 object, use it for FACE.
8128 (font_open_by_name): Call Ffont_spec with QCname prop. Don't call
8129 driver->parse_name.
8130 (Ffont_spec): Call font_parse_name, not font_parse_xlfd.
8131
8132 * fontset.h (new_fontset_from_font) [USE_FONT_BACKEND]: Adjust
8133 prototype.
8134
8135 * fontset.c (new_fontset_from_font) [USE_FONT_BACKEND]: Delete
8136 argument F. Don't call Fnew_fontset. Instead, directly call
8137 make_fontset.
8138
8139 * frame.h (x_new_fontset2) [USE_FONT_BACKEND]: Adjust prototype.
8140
8141 * frame.c (x_set_font) [USE_FONT_BACKEND]: Adjust for the change
8142 of x_new_fontset2.
8143
8144 * ftfont.c (Qmonospace, Qsans_serif, Qserif, Qmono, Qsans)
8145 (Qsans__serif): New variables.
8146 (ftfont_generic_family_list): New variable.
8147 (syms_of_ftfont): Initialize the above variables.
8148 (ftfont_pattern_entity): Delete argument NAME.
8149 (ftfont_list_generic_family): New function.
8150 (ftfont_parse_name): Delete this function.
8151 (ftfont_list): Try generic family only when FcFontList found no font.
8152 (ftfont_list_family): Fix args to FcObjectSetBuild.
8153
8154 * xfaces.c (check_lface_attrs) [USE_FONT_BACKEND]: Accept font
8155 object in attrs[LFACE_FONT_INDEX].
8156 (set_lface_from_font_name): Cancel all changes for font-backend.
8157 (set_lface_from_font_and_fontset) [USE_FONT_BACKEND]: New
8158 function.
8159 (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]: Accept a
8160 font object in QCfont attribute.
8161 (set_font_frame_param) [USE_FONT_BACKEND]: Likewise.
8162 (realize_default_face) [USE_FONT_BACKEND]: Call
8163 set_lface_from_font_and_fontset.
8164
8165 * xfns.c (x_default_font_parameter) [USE_FONT_BACKEND]: Try also
8166 "fixed", and signal error here if no suitable font was found.
8167
8168 * xfont.c (xfont_parse_name): Delete this function.
8169
8170 * xftfont.c (xftfont_open): Change coding style of error
8171 handling. Generate fontconfig's fontname pattern.
8172
8173 * xterm.h (struct x_output) [USE_FONT_BACKEND]: New member fontp.
8174 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro.
8175
8176 * xterm.c (x_new_fontset2) [USE_FONT_BACKEND]: Change arguments.
8177 Both args FONTSET and FONT_OBJECT must be existing ones.
8178
8179 2008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8180
8181 * macterm.c (mac_set_unicode_keystroke_event): Don't use MAKE_CHAR.
8182
8183 2008-02-01 Kenichi Handa <handa@m17n.org>
8184
8185 * xfont.c (xfont_open, xfont_encode_char): Fix typo.
8186
8187 * font.h (struct font): Fix typo.
8188
8189 * font.c (enum xlfd_field_index): Rename XLFD_XXX_SIZE_INDEX to
8190 XLFD_XXX_INDEX.
8191 (enum xlfd_field_mask): New enum.
8192 (intern_font_field): Changed argument. Change caller. If digits
8193 are followed by non-digits, return a symbol.
8194 (font_expand_wildcards): New function.
8195 (font_parse_xlfd): Fix wildcard handling.
8196 (Ffont_spec): If :name is specified, reflect the info in the other
8197 properties.
8198
8199 * ftfont.c (ftfont_pattern_entity): Fix typo.
8200 (ftfont_list): Enforce FC_LANG in PATTERN to cancel the effect of
8201 locale.
8202
8203 2008-02-01 Kenichi Handa <handa@m17n.org>
8204
8205 * font.h (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Extern them.
8206
8207 * font.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move from ftfont.c.
8208 (font_unparse_xlfd): Fix argument type declaration. Append "*" if
8209 registry doesn't specify encoding part.
8210 (font_find_for_lface): Pay attention to LFACE_FONT_INDEX.
8211 (font_open_by_name): At first try parsing the name.
8212 (syms_of_font): Declare Qiso8859_1, Qiso10646_1, and Qunicode_bmp
8213 as Lisp symbols.
8214
8215 * fontset.c (reorder_font_vector): Pay attention to the case that
8216 the 3rd element of font_def is nil.
8217 (fontset_font): For the default fontset, append one more fontset
8218 elements for a script-based font specification. Don't add script
8219 attribute on finding a font.
8220 (new_fontset_from_font): Unconditionally set FONTSET_ASCII to the
8221 font name.
8222 (fontset_ascii_font): If a font can't be opened, return nil.
8223
8224 * ftfont.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move to font.c.
8225 (ftfont_pattern_entity): New function.
8226 (ftfont_get_cache): Assume that freetype_font_cache is already
8227 initialized.
8228 (ftfont_list): Handle the case that a file is specified in font
8229 name. Use ftfont_pattern_entity to generate entities.
8230 (ftfont_has_char): Check if the pattern contains FC_CHARSET.
8231 (syms_of_ftfont): Initialize freetype_font_cache.
8232
8233 * xftfont.c (xftfont_open): Make the font name fontconfig's
8234 style. Add BLOCK_INPUT and UNBLOCK_INPUT.
8235 (xftfont_close): Free font->font.name if not NULL.
8236
8237 * xfont.c (xfont_list): If script is specified for a font, return
8238 null_vector.
8239 (xfont_list_family): Declare argument type.
8240
8241 * xfaces.c (set_lface_from_font_name): If a font doesn't have a
8242 name, set LFACE_FONT (lface) to nil.
8243
8244 * xterm.c (x_new_fontset2): If an ASCII font couldn't be loaded,
8245 return Qnil.
8246
8247 2008-02-01 Kenichi Handa <handa@m17n.org>
8248
8249 * emacs.c (main): Check -enable-font-backend arg after the check of -nl.
8250 (standard_args): Add "-enable-font-backend".
8251
8252 2008-02-01 Kenichi Handa <handa@m17n.org>
8253
8254 * xftfont.c (xftfont_default_fid): Set fid_known to 1.
8255 (struct xftdraw_list, xftdraw_list): Delete them.
8256 (register_xftdraw, check_xftdraw): Delete them.
8257 (xftfont_prepare_face): Don't call register_xftdraw.
8258 (xftfont_done_face): Don't call check_xftdraw.
8259 (xftfont_draw): Get backroudn color only when with_background is
8260 nonzero.
8261
8262 * xfont.c (xfont_encode_char): Fix calculation of char2b.
8263
8264 2008-02-01 Kenichi Handa <handa@m17n.org>
8265
8266 These changes are for the new font handling codes.
8267
8268 * Makefile.in (ALL_CFLAGS): Add @FREETYPE_CFLAGS@,
8269 @FONTCONFIG_CFLAGS@, and @LIBOTF_CFLAGS@.
8270 (LIB_X11_LIB): If HAVE_XFT is defined, set to @XFT_LIBS@.
8271 (FONTSRC, FONTOBJ): New variables.
8272 (obj): Add $(FONTOBJ).
8273 (SOME_MACHINE_OBJECTS): Lib_X11_Lib.
8274 (LIBES): Add @FREETYPE_LIBS@, @FONTCONFIG_LIBS@, and
8275 @LIBOTF_LIBS@.
8276 (font.o, ftfont.o, xfont.o, xftfont.o, ftxfont.o): New targets.
8277 (fontset.o, xdisp.o, xfaces.o, xfns.o, xterm.o): Depend on $(FONTSRC).
8278
8279 * font.h, font.c, xfont.c, ftfont.c, xftfont.c, ftxfont.c: New files.
8280
8281 * character.h (Vscript_representative_chars): Extern it.
8282
8283 * character.c (Vscript_representative_chars): New variable.
8284 (syms_of_character): Declare it as a Lisp variable.
8285
8286 * composite.c (get_composition_id) [USE_FONT_BACKEND]: If
8287 enable_font_backend is nonzero, accept the composition method
8288 COMPOSITION_WITH_GLYPH_STRING.
8289
8290 * composite.h (enum composition_method) [USE_FONT_BACKEND]: New
8291 enumeration COMPOSITION_WITH_GLYPH_STRING.
8292
8293 * dispextern.h (struct glyph_string) [USE_FONT_BACKEND]: New
8294 members clip_x, clip_y, clip_width, and clip_height.
8295 (struct face) [USE_FONT_BACKEND]: New members font_info and extra.
8296
8297 * emacs.c (main) [USE_FONT_BACKEND]: Handle arg
8298 --enable-font-backend. Call syms_of_font.
8299
8300 * fns.c (assoc_no_quit): New function.
8301
8302 * fontset.h (FONT_INFO_FROM_FACE): New macro.
8303 (face_for_font, new_fontset_from_font)
8304 (fontset_ascii_font) [USE_FONT_BACKEND]: Extern them.
8305
8306 * fontset.c [USE_FONT_BACKEND]: Include "font.h".
8307 (fontset_font, fontset_ascii, face_for_char)
8308 (make_fontset_for_ascii_face, Ffont_info)
8309 (Finternal_char_font) [USE_FONT_BACKEND]: If enable_font_backend
8310 is nonzero, use font-backend mechanism.
8311 (find_font_encoding): Make it non-static.
8312 (new_fontset_from_font, fontset_ascii_font) [USE_FONT_BACKEND]:
8313 New functions.
8314
8315 * frame.h (struct frame): New members resx and resy.
8316 (struct frame) [USE_FONT_BACKEND]: New member font_driver_list.
8317 (x_new_fontset2) [USE_FONT_BACKEND]: Extern it.
8318
8319 * frame.c [USE_FONT_BACKEND]: Include "font.h".
8320 (make_frame, x_set_font) [USE_FONT_BACKEND]: Use font-backend mechanism.
8321
8322 * lisp.h (assoc_no_quit): Extern it.
8323
8324 * xdisp.c: If USE_FONT_BACKEND is defined, include "font.h".
8325 Through out the file, use FONT_INFO_FROM_FACE instead of
8326 FONT_INFO_FROM_ID, use get_per_char_metric instead of
8327 rif->per_char_metric.
8328 (handle_composition_prop) [USE_FONT_BACKEND]: If the composition
8329 method is COMPOSITION_WITH_GLYPH_STRING, just set it->c to ' '.
8330 (get_glyph_face_and_encoding, fill_composite_glyph_string)
8331 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
8332 (x_produce_glyphs) [USE_FONT_BACKEND]: If enable_font_backend is
8333 nonzero, use font-backend mechanism.
8334 (get_per_char_metric): New function.
8335
8336 * xfaces.c [USE_FONT_BACKEND]: Include "font.h".
8337 (set_lface_from_font_name)
8338 (set_font_frame_param, free_realized_face)
8339 (prepare_face_for_display, clear_face_gcs)
8340 (Finternal_set_font_selection_order, realize_x_face)
8341 [USE_FONT_BACKEND]: If enable_font_backend is nonzero, use
8342 font-backend mechanism.
8343 (clear_face_cache) [USE_FONT_BACKEND]: Don't call clear_font_table.
8344 (load_face_font) [USE_FONT_BACKEND]: Abort.
8345 (face_symbolic_value, face_symbolic_weight, face_symbolic_slant)
8346 (face_symbolic_swidth, face_for_font) [USE_FONT_BACKEND]: New functions.
8347
8348 * xfns.c [USE_FONT_BACKEND]: Include "font.h".
8349 (x_default_font_parameter) [USE_FONT_BACKEND]: New function.
8350 (Fx_create_frame) [USE_FONT_BACKEND]: If enable_font_backend is
8351 nonzero, register all available font drivers. Call
8352 x_default_font_parameter for deciding a font.
8353 (x_create_tip_frame) [USE_FONT_BACKEND]: Likewise.
8354
8355 * xterm.c [USE_FONT_BACKEND]: Include "font.h".
8356 (x_set_mouse_face_gc, x_set_glyph_string_clipping)
8357 (x_set_glyph_string_clipping_exactly)
8358 (x_compute_glyph_string_overhangs)
8359 (x_draw_glyph_string_foreground)
8360 (x_draw_composite_glyph_string_foreground, x_draw_glyph_string)
8361 (x_free_frame_resources) [USE_FONT_BACKEND]: If
8362 enable_font_backend is nonzero, use font-backend mechanism.
8363 (x_new_fontset2) [USE_FONT_BACKEND]: New function.
8364
8365 2008-02-01 Kenichi Handa <handa@m17n.org>
8366
8367 * coding.c (coding_inherit_eol_type): If PARENT is nil, inherit from
8368 system_eol_type.
8369 (syms_of_coding): Initialize system_eol_type.
8370
8371 * process.c (Fset_process_coding_system): Inherit system's eol
8372 format if necessary.
8373
8374 2008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8375
8376 * macgui.h (USE_ATSUI): Don't enable on emacs-unicode-2 branch.
8377
8378 2008-02-01 Kenichi Handa <handa@m17n.org>
8379
8380 * coding.c (decode_eol): Pay attention to buffer relocation in
8381 del_range_2.
8382 (decode_coding): Call decode_eol before restoring undo_list.
8383
8384 2008-02-01 Kenichi Handa <handa@m17n.org>
8385
8386 * charset.c (Fdefine_charset_internal): Fix setting of
8387 emacs_mule_bytes.
8388
8389 2008-02-01 Kenichi Handa <handa@m17n.org>
8390
8391 * keyboard.c (read_char): Check if C is a character or not before
8392 looking up Vkeyboard_translate_table.
8393
8394 2008-02-01 Kenichi Handa <handa@m17n.org>
8395
8396 * coding.c (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Fix
8397 condition to terminate the loop.
8398
8399 2008-02-01 Kenichi Handa <handa@m17n.org>
8400
8401 * coding.c (produce_composition): Compare charbuf[i] instead of
8402 args[i] against 0.
8403 (Fterminal_coding_system): Use EQ to compare Lisp objects.
8404
8405 2008-02-01 Kenichi Handa <handa@m17n.org>
8406
8407 * coding.c (DECODE_COMPOSITION_START): If the source is short, set
8408 coding->result to CODING_RESULT_INSUFFICIENT_SRC.
8409 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK after the call of
8410 detect_coding.
8411 (emacs_mule_char): Handle old style (Emacs 20) component character
8412 of a composition.
8413 (DECODE_EMACS_MULE_COMPOSITION_RULE_20)
8414 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Fix parsing a
8415 composition rule.
8416 (decode_coding_emacs_mule): Handle invalid bytes correctly.
8417
8418 2008-02-01 Kenichi Handa <handa@m17n.org>
8419
8420 * coding.c (encode_coding_ccl): Allocate destination dynamically
8421 when necessary.
8422
8423 2008-02-01 Kenichi Handa <handa@m17n.org>
8424
8425 * ccl.c (Fccl_execute_on_string): Fix the condition of terminating
8426 the loop. When quitted, show a proper error message.
8427
8428 2008-02-01 Kenichi Handa <handa@m17n.org>
8429
8430 * xterm.c (x_set_glyph_string_clipping_exactly): Set
8431 src->clip_head and src->clip_tail temporarily instead of src->hl.
8432
8433 * ccl.c (CCL_WRITE_STRING): Handle a flag bit for multibyte
8434 character sequence.
8435 (Fccl_execute_on_string): Use ASET, not XSET.
8436
8437 2008-02-01 Kenichi Handa <handa@m17n.org>
8438
8439 * search.c (search_buffer): Fix handling of "\\" in a trivial regexp.
8440
8441 2008-02-01 Kenichi Handa <handa@m17n.org>
8442
8443 * coding.c (decode_coding): Fix the condition of terminating the
8444 decoding loop.
8445
8446 2008-02-01 Kenichi Handa <handa@m17n.org>
8447
8448 * data.c (Faset): On setting a character bigger than 255 in a
8449 unibyte string, signal an error instead of make the string multibyte.
8450
8451 2008-02-01 Kenichi Handa <handa@m17n.org>
8452
8453 * charset.c (map_charset_chars): Fix for ascii-compatible charset
8454 made by a mapping table.
8455
8456 2008-02-01 Kenichi Handa <handa@m17n.org>
8457
8458 * xdisp.c (fill_composite_glyph_string): Check s->face is NULL or
8459 not.
8460 (BUILD_COMPOSITE_GLYPH_STRING): If C is TAB, set s->face to NULL.
8461 (x_produce_glyphs): If CH is TAB, set cmp->offsets properly.
8462
8463 * xterm.c (x_draw_composite_glyph_string_foreground): Check
8464 s->face is NULL or not.
8465
8466 2008-02-01 Kenichi Handa <handa@m17n.org>
8467
8468 * xterm.c (x_set_glyph_string_clipping_exactly): New function.
8469 (x_draw_glyph_string): Fix drawing of right_overhang and
8470 left_overhang around/on cursor.
8471
8472 * xdisp.c (draw_glyphs): Fix inclusion of right_overwriting glyphs.
8473
8474 2008-02-01 Kenichi Handa <handa@m17n.org>
8475
8476 * xdisp.c (x_produce_glyphs): Handle composition with TAB.
8477
8478 2008-02-01 Kenichi Handa <handa@m17n.org>
8479
8480 * coding.c (Fdefine_coding_system_internal)
8481 (Fdefine_coding_system_alias): Avoid a duplicated element in
8482 Vcoding_system_alist.
8483
8484 2008-02-01 Kenichi Handa <handa@m17n.org>
8485
8486 * xterm.c (handle_one_xevent): Handle keysyms 0x1000000..0x10000FF.
8487
8488 * coding.c (Qcoding_system_define_form): New variable.
8489 (syms_of_coding): Intern and staticpro it.
8490 (Fcoding_system_p): Check Qcoding_system_define_form.
8491 (Fcheck_coding_system): Try to autoload the definition of CODING-SYSTEM.
8492
8493 * coding.h (CODING_SYSTEM_P): If ID is not available, call
8494 Fcoding_system_p.
8495 (CHECK_CODING_SYSTEM): If ID is not available, call
8496 Fcheck_coding_system.
8497 (CHECK_CODING_SYSTEM_GET_SPEC, CHECK_CODING_SYSTEM_GET_ID):
8498 Try also Fcheck_coding_system.
8499
8500 2008-02-01 Kenichi Handa <handa@m17n.org>
8501
8502 * coding.c (code_conversion_restore): GCPRO arg.
8503
8504 2008-02-01 Kenichi Handa <handa@m17n.org>
8505
8506 * character.c (lisp_string_width): Check multibyteness of STRING.
8507
8508 2008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8509
8510 * macterm.c (mac_encode_char): Call ccl_driver with the last arg
8511 Qnil. Use JIS_TO_SJIS instead of ENCODE_SJIS.
8512 (decode_mac_font_name): Use decode_coding_c_string instead of
8513 decode_coding.
8514 (x_load_font): Initialize fontp->fontset to -1. Set
8515 fontp->encoding_type.
8516
8517 2008-02-01 Kenichi Handa <handa@m17n.org>
8518
8519 * search.c (search_buffer): Give up BM search on case-fold-search
8520 if one of a target character has a case-equivalence of different
8521 byte length even if that target charcter is an ASCII.
8522 (simple_search): Fix calculation of byte length of matched text.
8523 (boyer_moore): Fix handling of case-equivalent multibyte characters.
8524
8525 2008-02-01 Kenichi Handa <handa@m17n.org>
8526
8527 * coding.c (decode_coding): Fix handling of invalid bytes.
8528
8529 2008-02-01 Kenichi Handa <handa@m17n.org>
8530
8531 * xterm.c (handle_one_xevent): Handle keysyms directly mapped to
8532 Unicode characters.
8533
8534 2008-02-01 Kenichi Handa <handa@m17n.org>
8535
8536 * coding.c (encode_coding_object): If a pre-write-conversion
8537 function makes a new buffer, kill it.
8538
8539 2008-02-01 Kenichi Handa <handa@m17n.org>
8540
8541 * coding.c (QCascii_compatible_p): New variable.
8542 (syms_of_coding): Initialize it.
8543 (ONE_MORE_BYTE, ONE_MORE_BYTE_NO_CHECK): Decrement `src' before
8544 calling string_char.
8545 (record_conversion_result): Add `default:' case.
8546 (coding_charset_list): Delete unused variable `coding_type'.
8547 (Fdefine_coding_system_internal): Add `ascii-compatible-p'
8548 property in the plist of the coding system.
8549 (Fcoding_system_put): Check QCascii_compatible_p.
8550
8551 2008-02-01 Miles Bader <miles@gnu.org>
8552
8553 * xfaces.c (Finternal_lisp_face_equal_p): Restore previously
8554 removed calculation of frame `f', as it's now used.
8555
8556 2008-02-01 Kenichi Handa <handa@m17n.org>
8557
8558 * Makefile.in (RUN_TEMACS): Include "-nl" if HAVE_SHM is defined.
8559 (emacs${EXEEXT}): Run $(RUN_TEMACS) unconditionally.
8560 (UNIDATA): New variable.
8561 (${lispsource}international/charprop.el): Depends on ${UNIDATA}.
8562 (bootstrap-emacs${EXEEXT}): Depends on charprop.el. Run
8563 $(RUN_TEMACS) unconditionally.
8564
8565 2008-02-01 Kenichi Handa <handa@m17n.org>
8566
8567 * Makefile.in (temacs${EXEEXT}): Build charprop.el if necessary.
8568 (admindir): New variable.
8569 ($(lispsource)international/charprop.el): New target.
8570
8571 2008-02-01 Miles Bader <miles@gnu.org>
8572
8573 * character.c (chars-in-region): Remove obsolete function.
8574 (syms_of_character): Remove its initialization.
8575
8576 2008-02-01 Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net>
8577
8578 * w32select.c (validate_coding_system)
8579 (setup_windows_coding_system): New functions.
8580 (convert_to_handle_as_coded, Fw32_get_clipboard_data): Use
8581 setup_windows_coding_system.
8582 (setup_config, Fw32_get_clipboard_data): Use
8583 validate_coding_system.
8584 (Fx_selection_exists): Move call to setup_config to a place
8585 where signals are allowed.
8586
8587 * lisp.h (Fcoding_system_base, Fcoding_system_eol_type)
8588 (Fcheck_coding_system): Add declarations.
8589
8590 2008-02-01 Kenichi Handa <handa@m17n.org>
8591
8592 * charset.c (load_charset_map_from_vector): Fix for the first iteration.
8593
8594 2008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8595
8596 * macfns.c (Fx_create_frame, x_create_tip_frame): Pass Lisp
8597 string as the second argument for x_new_fontset.
8598
8599 2008-02-01 Kenichi Handa <handa@m17n.org>
8600
8601 * coding.c (decode_coding_object): Use safe_call1 instead of call1.
8602 (encode_coding_object): Use safe_call instead of call2.
8603
8604 2008-02-01 Kenichi Handa <handa@m17n.org>
8605
8606 * fontset.c (Fset_fontset_font): Check family element of a given vector.
8607
8608 * Makefile.in (lisp): Include charprop.el.
8609
8610 2008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8611
8612 * macfns.c (Fx_create_frame, x_create_tip_frame): Fix crash.
8613 Not sure if it's unnecessary.
8614
8615 2008-02-01 Steven Tamm <steventamm@mac.com>
8616
8617 * macfns.c (Fx_create_frame, x_create_tip_frame): ifdef'd out
8618 some possibly unnecessary fontset checking code that crashed
8619 when creating a new frame.
8620
8621 2008-02-01 Kenichi Handa <handa@m17n.org>
8622
8623 * xfaces.c (merge_faces): Fix argument to lookup_derived_face and
8624 lookup_face.
8625
8626 * xdisp.c (Fformat_mode_line): Fix argument to lookup_named_face.
8627
8628 * fringe.c (draw_fringe_bitmap_1): Fix argument to lookup_named_face.
8629
8630 2008-02-01 Kenichi Handa <handa@m17n.org>
8631
8632 * coding.c: Cancel the change done in HEAD on 2008-02-01.
8633 (coding_charset_list): New function.
8634
8635 * coding.h (coding_charset_list): Extern it.
8636
8637 2008-02-01 Kenichi Handa <handa@m17n.org>
8638
8639 * fontset.c (Fset_fontset_font): Call find_font_encoding with
8640 concatenation of family and registry.
8641
8642 2008-02-01 Kenichi Handa <handa@m17n.org>
8643
8644 * character.h (BYTE8_STRING): Fix typo.
8645
8646 * editfns.c (Ftranslate_region_internal): Don't convert unibyte
8647 string to multibyte (sync to HEAD).
8648
8649 * casefiddle.c (casify_region): Handle changes in byte-length
8650 using replace_range_2 (sync to HEAD).
8651
8652 2008-02-01 Andreas Schwab <schwab@suse.de>
8653
8654 * chartab.c (map_char_table): GCPRO table and arg.
8655
8656 2008-02-01 Kenichi Handa <handa@m17n.org>
8657
8658 * syntax.c (skip_syntaxes): Return lispy 0 (not nil) if point is
8659 already at limit.
8660
8661 2008-02-01 Kenichi Handa <handa@m17n.org>
8662
8663 * fontset.c (fs_load_font): Use fast_string_match_ignore_case
8664 instead of fast_c_string_match_ignore_case.
8665 (find_font_encoding): Change argument to Lisp_Object. Use
8666 fast_string_match_ignore_case instead of
8667 fast_c_string_match_ignore_case. Change caller.
8668
8669 2008-02-01 Kenichi Handa <handa@m17n.org>
8670
8671 * xdisp.c (get_next_display_element): In unibyte case, decide to
8672 display in octal form by checking a chacter by
8673 UNIBYTE_CHAR_HAS_MULTIBYTE_P.
8674
8675 * charset.c (Fset_unibyte_charset): Setup unibyte_has_multibyte_table.
8676
8677 * character.c (unibyte_has_multibyte_table): New variable.
8678
8679 * character.h (unibyte_has_multibyte_table): Extern it.
8680 (UNIBYTE_CHAR_HAS_MULTIBYTE_P): New macro.
8681
8682 2008-02-01 Kenichi Handa <handa@m17n.org>
8683
8684 * coding.c (encode_coding_iso_2022): Fix handling of charset
8685 annotation.
8686
8687 2008-02-01 Kenichi Handa <handa@m17n.org>
8688
8689 * coding.c (setup_coding_system): If coding_system is nil, use
8690 Qundecided.
8691 (Fterminal_coding_system): Return nil if terminal coding system is
8692 `undecided'.
8693 (syms_of_coding): Define coding-system `undecided' here. Setup
8694 terminal_coding as `undecided'.
8695
8696 2008-02-01 Kenichi Handa <handa@m17n.org>
8697
8698 * xdisp.c (message_dolog, set_message_1): Call
8699 unibyte_char_to_multibyte with arg type int.
8700
8701 * lread.c (read1): Fix reading of a char-table.
8702
8703 * print.c (print_object): Include sub char-table in cicularities
8704 detection.
8705
8706 2008-02-01 Kenichi Handa <handa@m17n.org>
8707
8708 * keymap.c (where_is_internal_2): Fix for the case that KEY is a
8709 cons. Append the found sequences in car of ARGS instead of prepending.
8710
8711 2008-02-01 Kenichi Handa <handa@m17n.org>
8712
8713 * fileio.c (report_file_error): Make a unibyte string from
8714 strerror (errorno).
8715 (Fsubstitute_in_file_name): Fix the arg to
8716 unibyte_char_to_multibyte. It is evaluated twice.
8717
8718 2008-02-01 Kenichi Handa <handa@m17n.org>
8719
8720 * charset.h (CHAR_CHARSET): Shortcut for ASCII case.
8721
8722 2008-02-01 Kenichi Handa <handa@m17n.org>
8723
8724 * coding.c (detect_coding_utf_16): Don't set detect_info->found if
8725 BOM is not found.
8726 (detect_coding, detect_coding_system): Optimization for ISO-2022
8727 when no 8-bit data is found.
8728
8729 2008-02-01 Jason Rumney <jasonr@gnu.org>
8730
8731 * w32fns.c (x_to_w32_font): Update to use new coding struct.
8732
8733 2008-02-01 Kenichi Handa <handa@m17n.org>
8734
8735 * charset.c (Fdeclare_equiv_charset, Fiso_charset): Fix handing of
8736 CHARS.
8737
8738 2008-02-01 Steven Tamm <steventamm@mac.com>
8739
8740 * macterm.c (mac_encode_char): Add charset argument and update
8741 to use encoding_type.
8742 (x_new_font, x_new_fontset): Merge in changes from xterm.c;
8743 switch to pure fontset.
8744 (decode_mac_font_name): Temporarily remove decoding.
8745 (x_font_name_to_mac_font_name): Temporarily remove encoding.
8746 (x_load_font): Temporarily remove encoding.
8747
8748 2008-02-01 Kenichi Handa <handa@m17n.org>
8749
8750 * xfaces.c (Fface_font): If frame is not on a window system,
8751 ignore CHARACTER arg. If HAVE_WINDOW_SYSTEM is not defined, don't
8752 refer to face->font.
8753 (split_font_name_into_vector, build_font_name_from_vector)
8754 (lookup_non_ascii_face, realize_non_ascii_face): Define them only
8755 whne HAVE_WINDOW_SYSTEM is defined.
8756
8757 2008-02-01 Kenichi Handa <handa@m17n.org>
8758
8759 * xdisp.c (BUILD_GLYPH_STRINGS): Check if s is NULL.
8760 (x_produce_glyphs): Fix setting of members of cmp in case
8761 cmp->glyph_len is zero.
8762
8763 * fontset.c (Fset_fontset_font): Fix docstring.
8764 (Ffontset_info): Make it backward compatible. New arg ALL.
8765
8766 2008-02-01 Kim F. Storm <storm@cua.dk>
8767
8768 * process.c (read_process_output): Grow decoding_buf when needed;
8769 this could cause a crash in allocate_string and compact_small_strings.
8770
8771 2008-02-01 Kenichi Handa <handa@m17n.org>
8772
8773 * fileio.c (WRITE_BUF_SIZE): Delete this macro.
8774
8775 2008-02-01 Kenichi Handa <handa@m17n.org>
8776
8777 * coding.c (setup_coding_system): Set coding->common_flags
8778 correctly for raw-text.
8779 (consume_chars): On encoding unibyte text by raw-text, don't check
8780 multibyte form.
8781 (encode_coding): On encoding by raw-text, never use translation tables.
8782
8783 * fileio.c (e_write): Short cut for the case of no encoding.
8784
8785 2008-02-01 Kenichi Handa <handa@m17n.org>
8786
8787 * coding.c (detect_coding, detect_coding_system): Delete unused
8788 variables.
8789
8790 2008-02-01 Kenichi Handa <handa@m17n.org>
8791
8792 * coding.c (encode_coding_utf_8): Fix handling of raw-byte char.
8793 (consume_chars): Fix handling of 8-bit bytes in unibyte source.
8794
8795 2008-02-01 Kenichi Handa <handa@m17n.org>
8796
8797 * coding.c (Ffind_coding_systems_region_internal): Include
8798 raw-text and no-conversion in the result.
8799
8800 2008-02-01 Kenichi Handa <handa@m17n.org>
8801
8802 * fontset.c (find_font_encoding): Return `ascii' for unknown encoding.
8803 (load_font_get_repertory): Delete unnecessary check of ENCODING of
8804 FONT_DEF.
8805 (font_def_arg, add_arg, from_arg, to_arg): New args.
8806 (set_fontset_font): Change argument.
8807 (Fset_fontset_font): Fix for the case that TARGET is a script
8808 name and charset name.
8809 (new_fontset_from_font_name): Fix argument to Fnew_fontset.
8810
8811 2008-02-01 Kenichi Handa <handa@m17n.org>
8812
8813 * fontset.c (fontset_font): Rename from fontset_face. Change return
8814 value.
8815 (face_suitable_for_char_p, face_for_char): Adjust for the change
8816 of fontset_font.
8817 (make_fontset_for_ascii_face): Fix setting of the fontset element
8818 for ASCII.
8819 (Finternal_char_font): Use fontset_font instead of FACE_FOR_CHAR
8820 to get a font name.
8821 (Ffontset_info): Adjust for the change of fontset_font.
8822
8823 * coding.c (emacs_mule_char): Check invalid code more regidly.
8824
8825 * character.h (LEADING_CODE_LATIN_1_MIN)
8826 (LEADING_CODE_LATIN_1_MAX): Delete these macros.
8827
8828 2008-02-01 Kenichi Handa <handa@m17n.org>
8829
8830 * editfns.c (check_translation): New function.
8831 (Ftranslate_region_internal): Handle M:N mapping.
8832
8833 2008-02-01 Kenichi Handa <handa@m17n.org>
8834
8835 * xfaces.c (xlfd_point_size): Set font->numeric[XLFD_PIXEL_SIZE].
8836
8837 2008-02-01 Kenichi Handa <handa@m17n.org>
8838
8839 * coding.c (DECODE_DESIGNATION): Set chars_96 to -1 instead of
8840 goto invalid_code.
8841 (decode_coding_iso_2022): Fix handling of invalid designation.
8842
8843 * fileio.c (Finsert_file_contents): Be sure to call unbind_to
8844 after calling code_conversion_save.
8845
8846 2008-02-01 Kenichi Handa <handa@m17n.org>
8847
8848 * xdisp.c (handle_auto_composed_prop): Fix Lisp_Object/int mixup.
8849
8850 * print.c (print_prune_string_charset): Fix Lisp_Object/int mixup.
8851
8852 * fontset.c: Include "intervals.h".
8853 (fontset_face): Fix comparing of Lisp_Objects.
8854 (free_face_fontset, new_fontset_from_font_name): Fix
8855 Lisp_Object/int mixup.
8856
8857 * editfns.c (Ftranslate_region_internal): Fix Lisp_Object/int mixup.
8858
8859 * coding.c: Add many prototypes for static functions.
8860 (get_translation_table): Allow max_lookup to be NULL.
8861 (decode_coding, Ffind_coding_systems_region_internal)
8862 (Funencodable_char_position, Fcheck_coding_systems_region): Call
8863 get_translation_table with max_lookup NULL.
8864
8865 2008-02-01 Kenichi Handa <handa@m17n.org>
8866
8867 * coding.c (get_translation_table): Declare it as Lisp_Object.
8868 (LOOKUP_TRANSLATION_TABLE): New macro.
8869 (produce_chars, consume_chars): Use LOOKUP_TRANSLATION_TABLE
8870 instead of CHAR_TABLE_REF.
8871
8872 2008-02-01 Kenichi Handa <handa@m17n.org>
8873
8874 * coding.c (MAX_ANNOTATION_LENGTH): Adjust for the change of
8875 annotation data format.
8876 (ADD_ANNOTATION_DATA, ADD_COMPOSITION_DATA, ADD_CHARSET_DATA):
8877 Change arguments FROM and TO to single argument NCHARS. Change caller.
8878 (decode_coding_utf_8, decode_coding_utf_16, decode_coding_emacs_mule)
8879 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
8880 (decode_coding_ccl, decode_coding_charset): Pay attention to
8881 coding->charbuf_used.
8882 (get_translation): New function.
8883 (produce_chars): New arguments translation_table and last_block.
8884 Translate characters here. Return number of carryover chars.
8885 Change caller.
8886 (produce_composition): New argument pos. Change caller.
8887 Adjust for the change of annotation data format.
8888 (produce_charset, produce_annotation): Likewise.
8889 (decode_coding, encode_coding): Don't call translate_chars.
8890 (consume_chars): New arg translation_table. Change caller.
8891 (translate_chars): Delete.
8892 (syms_of_coding): Make translation-table's number of extra slots 2.
8893
8894 2008-02-01 Kenichi Handa <handa@m17n.org>
8895
8896 * search.c (simple_search): Fix setting this_pos_byte in backward
8897 search.
8898
8899 * coding.c (detect_coding_emacs_mule): Fix counting of encoded
8900 byte sequence.
8901 (detect_coding_ccl): Fix setting of the variable valids.
8902
8903 2008-02-01 Kenichi Handa <handa@m17n.org>
8904
8905 * xterm.c (x_list_fonts): Fix the detection of an auto-scaled font.
8906
8907 * coding.c (decode_coding_utf_16): Fix handling of surrogate pair.
8908
8909 * editfns.c (Ftranslate_region_internal): Rename from
8910 Ftranslate_region. Accept a char-table in TABLE.
8911 (syms_of_editfns): Defsubr Stranslate_region_internal.
8912
8913 * xfaces.c (set_lface_from_font_name): If a font is specified for
8914 a frame, generate a fontset from the font.
8915 (build_scalable_font_name): If the scalable font is requested for
8916 a specific size, don't change that size.
8917 (try_font_list): Try a scalable font also in the case that a
8918 pattern string is specified.
8919
8920 2008-02-01 Kenichi Handa <handa@m17n.org>
8921
8922 * xfaces.c (Fface_font): New optional arg CHARACTER.
8923
8924 2008-02-01 Kenichi Handa <handa@m17n.org>
8925
8926 * charset.h (CHARSET_OFFSET): New macro.
8927
8928 2008-02-01 Kenichi Handa <handa@m17n.org>
8929
8930 * xterm.c (x_get_font_repertory): Fix for non-Unicode-bmp charset.
8931
8932 * fontset.c (fontset_face): Handle the case that repertory is a
8933 char-table.
8934 (find_font_encoding): Return nil for unknown encoding.
8935 (Fset_fontset_font): Ignore a font of unknown encoding.
8936
8937 2008-02-01 Kenichi Handa <handa@m17n.org>
8938
8939 * keymap.c (describe_vector): Handle default value of a char table.
8940
8941 * fontset.c (fontset_face): Handle fallback fonts correctly.
8942 (Ffontset_info): Return infomation about fallback fonts.
8943
8944 2008-02-01 Kenichi Handa <handa@m17n.org>
8945
8946 * fontset.c (FONTSET_DEFAULT): New macro.
8947 (FONTSET_ADD, fontset_add): Handle the case that range is nil.
8948 (Fset_fontset_font): Change the 2nd arg name to TARGET, and handle
8949 the case that it is nil.
8950 (dump_fontset): Call FONTSET_DEFAULT, not FONTSET_FALLBACK.
8951 (syms_of_fontset): Set char-table-extra-slots property of fontset to 9.
8952
8953 * charset.h (CHAR_CHARSET_P): Fix for the case that the method is
8954 subset or superset.
8955
8956 2008-02-01 Kenichi Handa <handa@m17n.org>
8957
8958 * emacs.c (main): Call init_charset after syms_of_XXX.
8959
8960 * charset.c (Vcharset_map_directory): Delete.
8961 (Vcharset_map_path): New variable.
8962 (load_charset_map_from_file): Use Vcharset_map_path instead.
8963 (init_charset): Initialize Vcharset_map_path.
8964 (syms_of_charset): Delete declaration of "charset-map-directory",
8965 add declaration of "charset-map-path".
8966
8967 2008-02-01 Kenichi Handa <handa@m17n.org>
8968
8969 * fns.c (string_char_to_byte, string_byte_to_char): Optimize for
8970 ASCII only string.
8971
8972 * fileio.c (Finsert_file_contents): Avoid detecting a code twice.
8973
8974 * coding.c (detect_coding_iso_2022): Fix handling of SS2 and SS3.
8975 (detect_coding, detect_coding_system): Treat '\0' as normal ASCII byte.
8976
8977 2008-02-01 Kenichi Handa <handa@m17n.org>
8978
8979 * coding.h (SJIS_TO_JIS2, JIS_TO_SJIS2): New macros.
8980
8981 * coding.c (QCmnemonic, QCdefalut_char)
8982 (QCdecode_translation_table, QCencode_translation_table)
8983 (QCpost_read_conversion, QCpre_write_conversion): New variables.
8984 (get_translation_table): Return a list of translation tables if
8985 necessary.
8986 (decode_coding): Call get_translation_table with ENCODEP 0.
8987 (char_encodable_p): If translation_table is non-nil, always call
8988 translate_char.
8989 (Fdefine_coding_system_internal): Accept list of translation
8990 tables as :encode-translation-table and :decode-translation-table.
8991 (Fcoding_system_put): New function.
8992 (syms_of_coding): Declare new symbols. Defsubr
8993 Scoding_system_put.
8994 (decode_coding_sjis, encode_coding_sjis): Handle 4th charset,
8995 typically JISX0212.
8996
8997 * charset.c (map_charset_chars): Fix arg to map_charset_chars in
8998 when the charset is superset type.
8999
9000 * character.c (translate_char): Accept list of translation tables.
9001
9002 2008-02-01 Kenichi Handa <handa@m17n.org>
9003
9004 * coding.h (enum coding_attr_index): New member coding_attr_trans_tbl.
9005 (CODING_ATTR_TRANS_TBL): New macro.
9006
9007 * coding.c (get_translation_table): New function.
9008 (translate_chars): Fix the bug of skipping annotation data.
9009 (decode_coding, encode_coding): Utilize get_translation_table.
9010 (char_encodable_p, Funencodable_char_position): Translate char if
9011 necessary.
9012 (Ffind_coding_systems_region_internal)
9013 (Fcheck_coding_systems_region): Setup translation table for encode
9014 in a coding system attribute vector in advance.
9015 (Fdefine_coding_system_internal): Allow a symbol as translation
9016 table. For shift-jis type coding system, allow 4th charset.
9017
9018 2008-02-01 Kenichi Handa <handa@m17n.org>
9019
9020 * coding.c (decode_coding_sjis): Check the first byte rigidly.
9021
9022 * xdisp.c (get_next_display_element): Pass -1 as POS to
9023 FACE_FOR_CHAR if displaying a C-string.
9024
9025 2008-02-01 Kenichi Handa <handa@m17n.org>
9026
9027 * composite.c (get_composition_id): Handle xoff and yoff in a
9028 composition rule.
9029
9030 * composite.h (COMPOSITION_DECODE_RULE): New arg xoff and yoff.
9031 (struct composition): New member lbearing and rbearing.
9032
9033 * xdisp.c (move_it_to): Optimize for the case (op & MOVE_TO_Y).
9034 (x_get_glyph_overhangs): Handle a composition glyph.
9035 (x_produce_glyphs): Setup lbearing and rbreaing for a composition glyph.
9036
9037 * xterm.c (x_compute_glyph_string_overhangs): Handle also a
9038 composition glyph.
9039
9040 2008-02-01 Kenichi Handa <handa@m17n.org>
9041
9042 * print.c: Include charset.h.
9043 (Vprint_charset_text_property): New variable.
9044 (Qdefault): Extern it.
9045 (PRINT_STRING_NON_CHARSET_FOUND)
9046 (PRINT_STRING_UNSAFE_CHARSET_FOUND): New macros.
9047 (print_check_string_result): New variable.
9048 (print_check_string_charset_prop): New function.
9049 (print_prune_charset_plist): New variable.
9050 (print_prune_string_charset): New function.
9051 (print_object): Call print_prune_string_charset if
9052 Vprint_charset_text_property is not t.
9053 (print_interval): Print nothing if itnerval->plist is nil.
9054 (syms_of_print): Declare Vprint_charset_text_property as a lisp
9055 variable. Init and staticpro print_prune_charset_plist.
9056
9057 2008-02-01 Kenichi Handa <handa@m17n.org>
9058
9059 * fontset.c (new_fontset_from_font_name): Use the specified font
9060 for all characters in the new fontset.
9061
9062 * macterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
9063 OBJECT args.
9064
9065 * xdisp.c (x_produce_glyphs): Call FACE_FOR_CHAR with POS and
9066 OBJECT args for composition too.
9067
9068 * w32term.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
9069 OBJECT args.
9070
9071 2008-02-01 Kenichi Handa <handa@m17n.org>
9072
9073 * dispextern.h (FACE_FOR_CHAR): New args POS and OBJECT.
9074
9075 * fontset.c (reorder_font_vector): Adjust for the change of
9076 FONT_DEF format.
9077 (fontset_face): New arg id. Change caller.
9078 (face_for_char): New args pos and object.
9079 (make_fontset_for_ascii_face): Adjust for the change of FONT_DEF format.
9080 (fs_query_fontset): Check NAME by Fassoc too.
9081 (Fset_fontset_font): Allow non-XLFD font name.
9082 (Ffontset_info): Adjust for the change of FONT_DEF format.
9083
9084 * fontset.h (face_for_char): Adjust prototype.
9085
9086 * xdisp.c (face_before_or_after_it_pos, get_next_display_element)
9087 (append_space, extend_face_to_end_of_line)
9088 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
9089 (x_produce_glyphs): Call FACE_FOR_CHAR with POS and OBJECT args.
9090
9091 * xfaces.c (compute_char_face): Call FACE_FOR_CHAR with
9092 POS and OBJECT args.
9093
9094 * xterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with
9095 POS and OBJECT args.
9096
9097 2008-02-01 Jason Rumney <jasonr@gnu.org>
9098
9099 * w32select.c (Fw32_set_clipboard_data): Avoid potential realloc
9100 of GlobalAlloc'ed memory.
9101
9102 2008-02-01 Kenichi Handa <handa@m17n.org>
9103
9104 * ccl.c (Fccl_execute_on_string): Fix the condition of loop.
9105
9106 * charset.h (charset_table_used): Delete extern.
9107
9108 * charset.c (charset_table_used): Make it static.
9109 (map_charset_chars): Fix args to c_function with.
9110
9111 * chartab.c (map_sub_char_table_for_charset): Fix args to
9112 c_function with.
9113
9114 * coding.h (enum coding_result_code): Delete
9115 CODING_RESULT_INSUFFICIENT_CMP, add CODING_RESULT_INVALID_SRC.
9116
9117 * coding.c (Qinsufficient_source, Qinconsistent_eol)
9118 (Qinvalid_source, Qinterrupted, Qinsufficient_memory): New variables.
9119 (Vlast_code_conversion_error): New variables.
9120 (syms_of_coding): DEFSYM or DEFVAR_LISP them.
9121 (ONE_MORE_BYTE): Record error if any instead of signaling an
9122 error. If non-ASCII multibyte char is found, return the negative
9123 value of the code. All callers changed to check it.
9124 (ONE_MORE_BYTE_NO_CHECK): Likewise.
9125 (record_conversion_result): New function. Change all codes setting
9126 coding->result to call this function.
9127 (detect_coding_utf_8, decode_coding_utf_8)
9128 (detect_coding_emacs_mule, detect_coding_sji, detect_coding_big5):
9129 Don't use the local variable incomplete.
9130 (emacs_mule_char): Change the second arg to `const'.
9131 (decode_coding): Fix of flushing out unprocessed data.
9132 (make_conversion_work_buffer): Fix making of a work buffer.
9133 (decode_coding_object): Return coding->dst_object.
9134
9135 * fontset.c (set_fontset_font): Fix args.
9136
9137 * lisp.h (CHARACTERBITS): Define as 22.
9138
9139 * process.c (send_process): Be sure to set coding->src_multibyte.
9140
9141 * xdisp.c (handle_auto_composed_prop): Fix setting of limit.
9142
9143 2008-02-01 Kenichi Handa <handa@m17n.org>
9144
9145 * xdisp.c (handle_auto_composed_prop): Give limit to
9146 Fnext_single_char_property_change.
9147
9148 2008-02-01 Kenichi Handa <handa@m17n.org>
9149
9150 * composite.c (syms_of_composite): Don't make the composition hash
9151 table weak.
9152
9153 * fontset.c (Fset_fontset_font): Fix docstring.
9154
9155 * lisp.h (detect_coding_system): Adjust prototype.
9156
9157 * fileio.c (kill_workbuf_unwind): Delete this function.
9158 (Finsert_file_contents): Adjust the call of detect_coding_system.
9159 Get conversion_buffer by code_conversion_save. Use the macor
9160 CODING_MAY_REQUIRE_DECODING. After decoding, update
9161 coding_system.
9162
9163 * coding.h (make_conversion_work_buffer): Delete extern.
9164 (code_conversion_save): Extern it.
9165
9166 * coding.c (enum iso_code_class_type): Delete ISO_carriage_return.
9167 (CODING_GET_INFO): Delete argument eol_type. Change callers.
9168 (decode_coding_utf_8): Don't do eol converion.
9169 (detect_coding_utf_16): Check coding->src_chars, not
9170 coding->src_bytes. Add heuristics for those that have no signature.
9171 (decode_coding_emacs_mule, decode_coding_iso_2022)
9172 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
9173 Don't do eol converion.
9174 (adjust_coding_eol_type): Return a new coding system.
9175 (detect_coding): Don't detect eol. Fix for utf-16 detection.
9176 (decode_eol): In case of CRLF->LF conversion, use del_range_2 on
9177 each change.
9178 (decode_coding): Pay attention to undo_list. Do eol convesion for
9179 all types of coding-systems (if necessary).
9180 (Vcode_conversion_work_buf_list): Delete it.
9181 (Vcode_conversion_reused_workbuf): Rename from
9182 Vcode_conversion_reused_work_buf.
9183 (Vcode_conversion_workbuf_name): New variable.
9184 (reused_workbuf_in_use): New variable.
9185 (make_conversion_work_buffer): Delete the arg DEPTH.
9186 (code_conversion_restore): Change argument to cons.
9187 (code_conversion_save): Delete the argument BUFFER. Change callers.
9188 (detect_coding_system): New argument src_chars. Change callers.
9189 Fix for utf-16 detection.
9190 (init_coding_once): Don't use ISO_carriage_return.
9191 (syms_of_coding): Initialize Vcode_conversion_workbuf_name and
9192 reused_workbuf_in_use.
9193
9194 2008-02-01 Kenichi Handa <handa@m17n.org>
9195
9196 * keymap.c (store_in_keymap): Pay attention to the case that idx
9197 is a cons specifying a character range.
9198
9199 2008-02-01 Kenichi Handa <handa@m17n.org>
9200
9201 * xdisp.c (handle_auto_composed_prop): Fix the case of returning
9202 HANDLED_RECOMPUTE_PROPS.
9203
9204 * coding.c (Fdefine_coding_system_internal): Fix checking of
9205 ascii compatibility.
9206
9207 2008-02-01 Kenichi Handa <handa@m17n.org>
9208
9209 * charset.c (find_charsets_in_text): Delete unused locale variable.
9210 (Fset_charset_priority): Update Vemacs_mule_charset_list too.
9211
9212 * coding.c (encode_coding_emacs_mule): Emit bytes with MSB.
9213 Resync charset_list to Vemacs_mule_charset_list.
9214
9215 * keymap.c (store_in_keymap): Pay attention to the case that idx
9216 is a cons specifying a character range.
9217
9218 2008-02-01 Kenichi Handa <handa@m17n.org>
9219
9220 * composite.c (update_compositions): Bind inhibit-read-only, etc
9221 to t before calling remove-list-of-text-properties.
9222
9223 * print.c (print_object): Always print ASCII chars as is.
9224
9225 2008-02-01 Kenichi Handa <handa@m17n.org>
9226
9227 * keymap.c (Fdefine_key): Fix handling of Lucid style event type list.
9228
9229 * fns.c (Fmapconcat, Fmapcar, Fmapc): Signal an error if SEQUENCE
9230 is a char table.
9231
9232 2008-02-01 Kenichi Handa <handa@m17n.org>
9233
9234 * syntax.c (skip_chars): Be sure to alloca char_ranges when necessary.
9235
9236 2008-02-01 Kenichi Handa <handa@m17n.org>
9237
9238 * xfaces.c (set_lface_from_font_name): Fix for the case that
9239 FONTNAME is not fontset name.
9240
9241 2008-02-01 Kenichi Handa <handa@m17n.org>
9242
9243 * fns.c (base64_encode_1): Fix previous change.
9244
9245 2008-02-01 Kenichi Handa <handa@m17n.org>
9246
9247 * fontset.c (set_fontset_font): New function.
9248 (Fset_fontset_font): If a font is specified for a charset, use
9249 map_charset_chars to store the font spec in a fontset.
9250
9251 2008-02-01 Kenichi Handa <handa@m17n.org>
9252
9253 * fontset.c (fontset_face): Create a fallback fontset on demand.
9254 (make_fontset): Don't create a fallback fontset here.
9255 (free_face_fontset): Free a fallback fontset (if any) too.
9256 (n_auto_fontsets): Delete this variable.
9257 (auto_fontset_alist): New variable.
9258 (new_fontset_from_font_name): Check auto_fontset_alist.
9259 (dump_fontset) [FONTSET_DEBUG]: Fully re-written.
9260 (Ffontset_list_all) [FONTSET_DEBUG]: New function.
9261 (syms_of_fontset): Initialize and staticpro auto_fontset_alist.
9262 Defsubr Sfontset_list_all.
9263
9264 2008-02-01 Kenichi Handa <handa@m17n.org>
9265
9266 * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
9267
9268 2008-02-01 Kenichi Handa <handa@m17n.org>
9269
9270 * fontset.c (Fnew_fontset): Check NAME more rigidly.
9271
9272 2008-02-01 Kenichi Handa <handa@m17n.org>
9273
9274 * editfns.c (Fgoto_char): Fix docstring.
9275
9276 2008-02-01 Kenichi Handa <handa@m17n.org>
9277
9278 * insdel.c (insert_from_gap): Adjust intervals correctly.
9279
9280 2008-02-01 Jason Rumney <jasonr@gnu.org>
9281
9282 * w32term.c (GLYPHSET, WCRANGE): Define if system headers don't.
9283 (pfnGetFontUnicodeRanges): New dynamically loaded function.
9284 (w32_initialize): Try to load it.
9285 (x_get_font_repertory): Use it if available.
9286 (w32_encode_char): Add shortcut for unicode output.
9287
9288 * w32fns.c (w32_load_system_font): Default charset to -1.
9289 (x_to_w32_charset): Match all fonts for unicode.
9290 (w32_to_x_charset): New parameter matching. Don't return partial
9291 or wildcard charsets.
9292 (w32_to_all_x_charsets): Don't return partial or wildcard charsets.
9293 (w32_codepage_for_font): Return CP_UNICODE for unicode.
9294 (w32_to_x_font): Match charset to real charset.
9295 (enum_font_cb2): Always list unicode versions.
9296
9297 * makefile.w32-in (temacs): Increase EMHEAP.
9298
9299 2008-02-01 Jason Rumney <jasonr@gnu.org>
9300
9301 * w32term.c (w32_encode_char): New charset parameter.
9302 font_info.encoding becomes encoding_type.
9303 (x_get_font_repertory): New function. Warning: stub only!
9304 (x_new_font): Return quickly if font already set.
9305 (x_new_fontset): fontsetname parameter is Lisp_Object.
9306 Use new fs_query_fontset. Try new_fontset_from_font_name.
9307 Use fontset_name for return value.
9308
9309 * w32term.h: Declare x_get_font_repertory.
9310
9311 * w32select.c (Fw32_set_clipboard_data): Use string_x_string_p in
9312 place of find_charset_in_text. Use encode_coding_object in place
9313 of encode_coding.
9314 (Fw32_get_clipboard_data): Use decode_coding_c_string in place of
9315 decode_coding.
9316
9317 * w32fns.c (Fx_create_frame, x_create_tip_frame): Use new version
9318 of x_new_fontset.
9319 (w32_load_system_font): Initialize charset as unicode.
9320 font_info.encoding becomes encoding_type.
9321 (w32_to_x_font): Use decode_coding_c_string in place of decode_coding.
9322 (x_to_w32_font): Use encode_coding_object in place of encode_coding.
9323 (syms_of_w32fns): Set get_font_repertory_func.
9324
9325 * w32console.c: Include character.h. Use terminal_encode_buffer
9326 from term.c.
9327 (write_glyphs): Use new version of encode_terminal_code. Use
9328 encode_coding_object in place of encode_coding.
9329
9330 * w32bdf.c (w32_load_bdf_font): Clear font_info before filling.
9331 encoding becomes encoding_type.
9332
9333 * term.c (terminal_encode_buffer): Make externally visible.
9334
9335 * makefile.w32-in: Add character.h dependancies.
9336 (character.o, chartab.o): New targets.
9337
9338 2008-02-01 Kenichi Handa <handa@m17n.org>
9339
9340 * fileio.c (Finsert_file_contents) [DOS_NT]: Use the macro
9341 CODING_ID_EOL_TYPE.
9342
9343 2008-02-01 Andreas Schwab <schwab@suse.de>
9344
9345 * coding.c (produce_chars): Revert last change.
9346
9347 2008-02-01 Kenichi Handa <handa@m17n.org>
9348
9349 * charset.h (charset_unicode): Extern it.
9350
9351 * charset.c (string_xstring_p): Check by (C >= 0x100).
9352 (find_charsets_in_text): Change format of the arc CHARSETS. New
9353 arg MULTIBYTE.
9354 (Ffind_charset_region, Ffind_charset_string): Adjust for the
9355 change of find_charsets_in_text.
9356 (Fsplit_char): Fix doc. Never return unknown.
9357
9358 * chartab.c (char_table_translate): Use CHARACTERP, not INETEGERP.
9359
9360 * coding.c (Fdefine_coding_system_alias): Update
9361 Vcoding_system_list.
9362
9363 * fontset.c (load_font_get_repertory): Pay attention to the case
9364 that ENCODING of a font is specified by a char-table.
9365
9366 * xterm.c (x_get_font_repertory): Handle the case that the
9367 encoding of font is other than Unicode.
9368
9369 2008-02-01 Kenichi Handa <handa@m17n.org>
9370
9371 * term.c (encode_terminal_code): Don't handle glyph-table. Check
9372 if a character is encodable by the terminal coding system. If
9373 not, produces proper number of `?'s. Update
9374 terminal_encode_buffer and terminal_encode_buf_size if necessary.
9375 (produce_glyphs): Check by CHAR_BYTE8_P, not SINGLE_BYTE_CHAR_P.
9376
9377 2008-02-01 Kenichi Handa <handa@m17n.org>
9378
9379 * term.c (terminal_encode_buffer, terminal_encode_buf_size): New
9380 variables.
9381 (encode_terminal_code): Change argument. Encode multiple
9382 characters at once. Store the result of encoding in
9383 terminal_encode_buffer.
9384 (write_glyphs, insert_glyphs): Adjust for the change of
9385 encode_terminal_code.
9386 (term_init): Initialize terminal_encode_buffer and
9387 terminal_encode_buf_size.
9388
9389 * coding.c (consume_chars): If coding->src_object is nil, don't
9390 check annotation.
9391
9392 2008-02-01 Kenichi Handa <handa@m17n.org>
9393
9394 * character.c (char_string): Use ASCII_CHAR_P instead of
9395 SINGLE_BYTE_CHAR_P.
9396
9397 2008-02-01 Kenichi Handa <handa@m17n.org>
9398
9399 * xdisp.c (handle_auto_composed_prop): Check if the last
9400 characters of auto-composed region is newly composed with the
9401 following characters.
9402 (handle_composition_prop): Fix checking of point being inside
9403 composition.
9404
9405 2008-02-01 Kenichi Handa <handa@m17n.org>
9406
9407 * fns.c (concat): Don't change multibyteness of the result by
9408 concatenating an 8-bit character.
9409
9410 * data.c (Faset): Check newelt by CHECK_CHARACTER. Don't change
9411 multibyteness of the result when newelt is an 8-bit character.
9412
9413 2008-02-01 Dave Love <fx@gnu.org>
9414
9415 * xmenu.c (find_and_call_menu_selection): Make menu_bar_items_used
9416 EMACS_INT.
9417
9418 * xfns.c (DefaultDepthOfScreen, x_encode_text): Remove unused vars.
9419
9420 * xfaces.c (face_numeric_value): Declare dim size_t.
9421 (Finternal_lisp_face_equal_p): Remove unused f.
9422
9423 * xdisp.c (BUILD_CHAR_GLYPH_STRINGS, display_and_set_cursor)
9424 (MATRIX_ROW): Remove unused vars.
9425 (draw_glyphs, x_insert_glyphs, fast_find_position)
9426 (fast_find_position, fast_find_string_pos): Use EMACS_INT for
9427 byte/char counts.
9428
9429 * regex.c (regex_compile): Remove unused var.
9430
9431 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
9432
9433 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
9434 (Faccessible_keymaps, where_is_internal): Remove unused vars.
9435
9436 * keyboard.c (cancel_hourglass_unwind): Return Qnil.
9437
9438 * frame.c (frame_name_fnn_p): Make len EMACS_INT.
9439
9440 * fileio.c (Fwrite_region): Remove unused var.
9441
9442 * dispnew.c (adjust_frame_glyphs_for_frame_redisplay)
9443 (adjust_frame_glyphs_for_window_redisplay): Remove unused ch_dim.
9444
9445 * composite.c (Fremove_list_of_text_properties): Declare.
9446
9447 * coding.c (inhibit_pre_post_conversion): Remove (unused).
9448 (alloc_destination, produce_chars): Use EMACS_INT for byte/char counts.
9449 (coding_inherit_eol_type): Remove unused attrs.
9450 (detect_coding): Cast arg of detect_eol.
9451
9452 * charset.c (syms_of_charset): Remove unused var p.
9453 (find_charsets_in_text, Ffind_charset_region): Use EMACS_INT for
9454 byte/char counts.
9455
9456 * casetab.c (set_case_table): Remove unused var.
9457
9458 * window.c (Fdisplay_buffer, Fframe_selected_window): Remove
9459 unused vars.
9460
9461 2008-02-01 Dave Love <fx@gnu.org>
9462
9463 * xterm.c (x_bitmap_mask): Declare.
9464
9465 2008-02-01 Dave Love <fx@gnu.org>
9466
9467 * xterm.c (x_term_init): Fix type error.
9468
9469 * lisp.h: Add Funibyte_char_to_multibyte.
9470
9471 * coding.c (Fread_coding_system): Fix arg of XSETSTRING.
9472 (Fset_coding_system_priority): Doc fix.
9473
9474 * ccl.c (ccl_driver): Fix arg of CHARACTERP.
9475
9476 * indent.c (check_composition): Make start and end EMACS_INT.
9477
9478 * character.c (lisp_string_width): Make ignore and end EMACS_INT.
9479
9480 * xdisp.c (handle_composition_prop, check_point_in_composition):
9481 Make buffer positions EMACS_INT.
9482
9483 * composite.c (find_composition, run_composition_function)
9484 (update_compositions, Ffind_composition_internal): Make buffer
9485 positions EMACS_INT.
9486
9487 * composite.h (find_composition, update_compositions): Make
9488 position args EMACS_INT.
9489
9490 * keyboard.c (adjust_point_for_property): Make beg and end EMACS_INT.
9491
9492 * intervals.c (get_property_and_range):
9493 * intervals.h (get_property_and_range): Make start and end EMACS_INT.
9494
9495 * unexalpha.c: Don't include varargs.h.
9496
9497 2008-02-01 Dave Love <fx@gnu.org>
9498
9499 * coding.h (ENCODE_UTF_8): New.
9500
9501 * Makefile.in (gtkutil.o): Depend on coding.h.
9502
9503 * coding.c (Fset_coding_system_priority): Doc fix.
9504
9505 2008-02-01 Kenichi Handa <handa@m17n.org>
9506
9507 * fileio.c (Finsert_file_contents): Call setup_coding_system in
9508 the case of auto saving.
9509
9510 2008-02-01 Andreas Schwab <schwab@suse.de>
9511
9512 * chartab.c (map_char_table, map_char_table_for_charset): Protect
9513 `range' from GC.
9514
9515 2008-02-01 Kenichi Handa <handa@m17n.org>
9516
9517 * coding.c (decode_coding_sjis): Check bytes more rigidly.
9518
9519 2008-02-01 Kenichi Handa <handa@m17n.org>
9520
9521 * fileio.c (choose_write_coding_system): Return a decided coding system.
9522 (Fwrite_region): Set Vlast_coding_system_used to the return value
9523 of choose_write_coding_system.
9524
9525 2008-02-01 Kenichi Handa <handa@m17n.org>
9526
9527 * charset.c (Fset_charset_priority): Pay attention to duplicated
9528 arguments.
9529
9530 * coding.c (QCcategory): New variable.
9531 (syms_of_coding): Defsym it. Set all elements of
9532 Vcoding_category_table and their symbol values.
9533 (Fset_coding_system_priority): Doc fix. Update symbol qvalues of
9534 coding-category-XXX, and coding-category-list.
9535 (Fdefine_coding_system_internal): Add category in the plist.
9536
9537 2008-02-01 Kenichi Handa <handa@m17n.org>
9538
9539 * callproc.c (Fcall_process): Handle carryover correctly.
9540
9541 * coding.c (decode_coding_iso_2022): Fix handling of invalid bytes.
9542 (raw_text_coding_system): Check NILP (coding_system).
9543 (coding_inherit_eol_type): Check NILP (coding_system) and
9544 NILP (parent).
9545 (consume_chars): Fix for the case of raw-text.
9546
9547 * process.c (read_process_output): Handle carryover correctly.
9548
9549 2008-02-01 Dave Love <fx@gnu.org>
9550
9551 * regex.c (re_search_2): Fix last change.
9552
9553 2008-02-01 Kenichi Handa <handa@m17n.org>
9554
9555 * regex.c (GET_CHAR_BEFORE_2): Check multibyte, not
9556 target_multibyte. Even in a unibyte case, return a converted
9557 multibyte char.
9558 (GET_CHAR_AFTER): New macro.
9559 (PATFETCH): Translate via multibyte char.
9560 (HANDLE_UNIBYTE_RANGE): Delete this macro.
9561 (SETUP_MULTIBYTE_RANGE): New macro.
9562 (regex_compile): Setup compiled code so that its multibyteness
9563 matches that of a target. Fix the handling of "[X-YZ]" using
9564 SETUP_MULTIBYTE_RANGE.
9565 (analyse_first) <charset>: For filling fastmap for all multibyte
9566 characters, don't check by BASE_LEADING_CODE_P.
9567 (re_search_2): Don't check RE_TARGET_MULTIBYTE_P (bufp). It is
9568 the same as RE_MULTIBYTE_P (bufp) now.
9569 (mutually_exclusive_p): Check by (! multibyte || IS_REAL_ASCII (c)).
9570 (TARGET_CHAR_AND_LENGTH): Delete this macro.
9571 (TRANSLATE_VIA_MULTIBYTE): New macro.
9572 (re_match_2_internal): Don't check RE_TARGET_MULTIBYTE_P (bufp).
9573 It is the same as RE_MULTIBYTE_P (bufp) now.
9574 <exactn>: Translate via multibyte.
9575 <anychar>: Fetch a character by RE_STRING_CHAR_AND_LENGTH. Don't
9576 translate it.
9577 <charset, charset_not>: Fetch a character by
9578 RE_STRING_CHAR_AND_LENGTH. Translate via multibyte.
9579 <duplicate>: Call bcmp_translate with the last arg `multibyte'.
9580 <wordbound, notwordbound, wordbeg, wordend, syntaxspec,
9581 notsyntaxspec, categoryspec, notcategoryspec> Fetch a character
9582 by GET_CHAR_AFTER.
9583 (bcmp_translate): Likewise.
9584
9585 * search.c (compile_pattern): Check the member target_multibyte,
9586 not the member multibyte of buf.
9587
9588 * lread.c (read1): While reading a string, set force_singlebyte
9589 and force_multibyte correctly.
9590
9591 * charset.c (Fset_unibyte_charset, init_charset_once): Fix setting
9592 up of unibyte_to_multibyte_table.
9593
9594 2008-02-01 Kenichi Handa <handa@m17n.org>
9595
9596 * coding.c (setup_coding_system): If coding has
9597 post-read-conversion or pre-write-conversion, set
9598 CODING_REQUIRE_DECODING_MASK and CODING_REQUIRE_ENCODING_MASK
9599 respectively.
9600 (decode_coding_gap): Run post-read-conversion if any.
9601
9602 * fileio.c (Finsert_file_contents): Even if we read into a
9603 unibyte buffer, check if we must decode the result or not.
9604
9605 2008-02-01 Kenichi Handa <handa@m17n.org>
9606
9607 * coding.c (make_conversion_work_buffer): Change the work buffer
9608 name to the same one as that of Emacs 21.
9609
9610 2008-02-01 Kenichi Handa <handa@m17n.org>
9611
9612 * coding.h (make_conversion_work_buffer): Adjust prototype.
9613 (code_conversion_restore): Don't extern it.
9614
9615 * coding.c (detected_mask): Delete unused variable.
9616 (decode_coding_iso_2022): Pay attention to the byte sequence of
9617 CTEXT extended segment, and retain those bytes as is.
9618 (decode_coding_ccl): Delete unused variable `valids'.
9619 (setup_coding_system): Delete unused variable `category'.
9620 (consume_chars): Delete unused variable `category'. Make it work
9621 for non-multibyte case.
9622 (make_conversion_work_buffer): Change argument.
9623 (saved_coding): Delete unused variable.
9624 (code_conversion_restore): Don't check saved_coding->destination.
9625 (code_conversion_save): New function.
9626 (decode_coding_gap, encode_coding_gap): Call code_conversion_save
9627 instead of record_unwind_protect.
9628 (decode_coding_object, encode_coding_object): Likewise. Recover PT.
9629 (detect_coding_system): Delete unused variable `mask'.
9630 (Fdefine_coding_system_internal): Delete unused vaiable id.
9631
9632 * fileio.c (kill_workbuf_unwind): New function.
9633 (Finsert_file_contents): On replacing, call
9634 make_conversion_work_buffer with correct args, and call
9635 record_unwind_protect with the first arg kill_workbuf_unwind.
9636
9637 * lisp.h (Fgenerate_new_buffer_name): EXFUN it.
9638
9639 2008-02-01 Kenichi Handa <handa@m17n.org>
9640
9641 * fontset.c (BASE_FONTSET_P): Check FONTSET_BASE, not FONTSET_NAME.
9642 (fontset_add): Fix for the case that TO is less than TO1.
9643 (Ffontset_info): Don't use fallback fontset on checking the
9644 default fontset.
9645 (dump_fontset): New function for debugging.
9646
9647 * coding.c (Fdefine_coding_system_internal): Fix for the case that
9648 coding_type is Qcharset.
9649
9650 2008-02-01 Kenichi Handa <handa@m17n.org>
9651
9652 * chartab.c (map_sub_char_table): New argument DEFAULT_VAL.
9653 (map_char_table): Don't inherit the value from the parent on
9654 initializing VAL. Adjust for the above change.
9655
9656 2008-02-01 Kenichi Handa <handa@m17n.org>
9657
9658 * coding.c (Qsignature, Qendian): Delete these variables.
9659 (syms_of_coding): Don't initialize them.
9660 (CATEGORY_MASK_UTF_16_AUTO): New macro.
9661 (detect_coding_utf_16): Add CATEGORY_MASK_UTF_16_AUTO in
9662 detect_info->found.
9663 (decode_coding_utf_16): Don't detect BOM here.
9664 (encode_coding_utf_16): Produce BOM if CODING_UTF_16_BOM (coding)
9665 is NOT utf_16_without_bom.
9666 (setup_coding_system): For a coding system of type utf-16, check
9667 if the attribute :endian is Qbig or not (not nil or not), and set
9668 CODING_REQUIRE_DETECTION_MASK if BOM detection is required.
9669 (detect_coding): If coding type is utf-16 and BOM detection is
9670 required, detect it.
9671 (Fdefine_coding_system_internal): For a coding system of type
9672 utf-16, check if the attribute :endian is Qbig or not (not nil or not).
9673
9674 2008-02-01 Kenichi Handa <handa@m17n.org>
9675
9676 * coding.c (coding_set_source): Fix for the case that the current
9677 buffer is different from coding->src_object.
9678 (decode_coding_object): Don't use the conversion work buffer if
9679 DST_OBJECT is a buffer.
9680
9681 2008-02-01 Dave Love <fx@gnu.org>
9682
9683 * lread.c (read_emacs_mule_char) [len==2]: Index
9684 emacs_mule_charset correctly.
9685
9686 2008-02-01 Dave Love <fx@gnu.org>
9687
9688 * coding.c (Qbig5, Vbig5_coding_system, CATEGORY_MASK_BIG5)
9689 (detect_coding_big5, decode_coding_big5, encode_coding_big5)
9690 (Fdecode_big5_char, Fencode_big5_char): Delete. (Big5 no longer
9691 treated specially.)
9692 (setup_coding_system, coding_category, CATEGORY_MASK_ANY)
9693 (detected_mask): Remove Big5 bits.
9694
9695 2008-02-01 Kenichi Handa <handa@m17n.org>
9696
9697 The following changes are to make the font rescaling facility
9698 compatible with Emacs 21.
9699
9700 * xfaces.c (Vface_font_rescale_alist): Rename from
9701 Vface_resizing_fonts.
9702 (struct font_name): Rename member resizing_ratio to rescale_ratio.
9703 (font_rescale_ratio): Rename from font_resizing_ratio.
9704 (split_font_name): Set font->rescale_ratio.
9705 (better_font_p): Pay attention to font->rescale_ratio.
9706 (build_scalable_font_name): Likewise. Change RESX, and RESY
9707 fields.
9708 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
9709
9710 2008-02-01 Kenichi Handa <handa@m17n.org>
9711
9712 * coding.c (Qutf_16_be_nosig, Qutf_16_be, Qutf_16_le_nosig)
9713 (Qutf_16_le): Remove these variables.
9714 (syms_of_coding): Don't DEFSYM them.
9715 (decode_coding_utf_16): Fix handling of BOM.
9716 (encode_coding_utf_16): Fix handling of BOM.
9717
9718 2008-02-01 Kenichi Handa <handa@m17n.org>
9719
9720 * fileio.c (Finsert_file_contents): On replacing, before decoding
9721 the file into the work buffer, set point of the work buffer to the end.
9722
9723 2008-02-01 Dave Love <fx@gnu.org>
9724
9725 * coding.c (Fcheck_coding_systems_region): Fix type errors.
9726
9727 2008-02-01 Dave Love <fx@gnu.org>
9728
9729 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
9730 and fix C types.
9731
9732 2008-02-01 Kenichi Handa <handa@m17n.org>
9733
9734 * xdisp.c (SKIP_GLYPHS): New macro.
9735 (set_cursor_from_row): Pay attention to string display properties.
9736
9737 * category.c (copy_category_entry): Fix for the case that RANGE
9738 is an integer.
9739
9740 * xterm.c (x_encode_char): Call ccl_driver with the last arg Qnil.
9741
9742 * w32term.c (w32_encode_char): Call ccl_driver with the last arg Qnil.
9743
9744 2008-02-01 Kenichi Handa <handa@m17n.org>
9745
9746 * charset.c (Fcharset_id_internal): New function.
9747 (syms_of_charset): Defsubr it.
9748
9749 * coding.c (decode_coding_ccl, encode_coding_ccl): Call ccl_driver
9750 with the last arg charset_list acquired from coding.
9751 (Fdefine_coding_system_internal): For ccl-based coding system, fix
9752 the attribute coding_attr_ccl_valids.
9753
9754 * coding.h (enum define_coding_ccl_arg_index): Set the first
9755 member coding_arg_ccl_decoder to coding_arg_max.
9756
9757 * ccl.h (ccl_driver): Adjust prototype.
9758
9759 * ccl.c (CCL_DECODE_CHAR, CCL_ENCODE_CHAR): New macros.
9760 (ccl_driver): New arg CHARSET_LIST. Use the above macros instead
9761 of DECODE_CAHR, ENCODE_CHAR, CHAR_CHARSET.
9762 (Fccl_execute, Fccl_execute_on_string): Call ccl_driver with the
9763 last arg Qnil.
9764
9765 2008-02-01 Kenichi Handa <handa@m17n.org>
9766
9767 * charset.h (ENCODE_CHAR): If the method is SUBSET or SUPERSET,
9768 call encode_char.
9769
9770 * charset.c (encode_char): Fix handling of methods SUBSET and SUPERSET.
9771
9772 2008-02-01 Dave Love <fx@gnu.org>
9773
9774 * composite.c (syms_of_composite): Make composition_hash_table weak.
9775
9776 2008-02-01 Kenichi Handa <handa@m17n.org>
9777
9778 * dispextern.h (check_face_attributes, generate_ascii_font_name)
9779 (font_name_registry): Don't extern them.
9780 (split_font_name_into_vector, build_font_name_from_vector): Extern them.
9781
9782 * fontset.h (Qfontset): Don't extern it.
9783 (new_fontset_from_font_name): Extern it.
9784
9785 * fontset.c: Give 8 extra slots to fontset objects.
9786 (Qfontset_info): New variable.
9787 (syms_of_fontset): Defsym it.
9788 (FONTSET_FALLBACK): New macro.
9789 (fontset_face): Try also the default fontset.
9790 (make_fontset): Realize a fallback fontset from the default fontset.
9791 (generate_ascii_font_name): Move from xfaces.c. Rewritten by
9792 using split_font_name_into_vector and build_font_name_from_vector.
9793 (Fset_fontset_font): Access the elements of font_spec by enum
9794 FONT_SPEC_INDEX. If font_spec is a string, extract the registry
9795 name by using split_font_name_into_vector.
9796 (Fnew_fontset): If no ASCII font is specified in FONTLIST,
9797 generate a proper font name from the fontset name. Update
9798 Vfontset_alias_alist.
9799 (n_auto_fontsets): New variable.
9800 (new_fontset_from_font_name): New function.
9801 (Ffont_info): Store the information about fonts generated from the
9802 default fontset in the first extra slot of the returned char-table.
9803
9804 * xfaces.c (generate_ascii_font_name): Move to fontset.c.
9805 (font_name_registry): Delete function.
9806 (split_font_name_into_vector): New function.
9807 (build_font_name_from_vector): New function.
9808 (font_list): The argument REGISTRY is now a list of registry names.
9809 (choose_face_font): If we are choosing an ASCII font, and ATTRS
9810 specifies an explicit font name, return the name as is. Make a
9811 list of registy names.
9812
9813 * xfns.c (x_set_font, x_create_tip_frame): Adjust for the change
9814 of x_new_fontset.
9815 (Fx_create_frame): Don't call x_new_fontset here. Just use
9816 x_list_fonts to check the existence of fonts.
9817
9818 * xterm.h (x_new_fontset): Adjust prototype.
9819
9820 * xterm.c (x_new_fontset): Change the arg FONTSETNAME to Lisp
9821 string. Use new_fontset_from_font_name to create a fontset from a
9822 font name.
9823
9824 2008-02-01 Kenichi Handa <handa@m17n.org>
9825
9826 * syntax.c (Vfind_word_boundary_function_table): New name for
9827 Vnext_word_boundary_function_table.
9828 (find-word-boundary-function-table): New name for
9829 next-word-boundary-function-table.
9830
9831 2008-02-01 Dave Love <fx@gnu.org>
9832
9833 * Makefile.in: Fix some dependencies.
9834
9835 * keymap.c (Fapropos_internal): Don't gcpro apropos_predicate but
9836 set it to nil before returning.
9837
9838 * composite.c (update_compositions): Fix type error.
9839
9840 * syntax.c (skip_chars, skip_syntaxes): Fix type errors.
9841
9842 2008-02-01 Kenichi Handa <handa@m17n.org>
9843
9844 * xterm.c (x_new_font): Optimize for the case that the font is
9845 already set for the frame.
9846
9847 2008-02-01 Kenichi Handa <handa@m17n.org>
9848
9849 * chartab.c (char_table_ascii): Check if the char table contents
9850 is sub-char-table or not.
9851 (char_table_set, char_table_set_range): Fix argument to
9852 char_table_ascii.
9853
9854 * coding.c (CATEGORY_MASK_RAW_TEXT): New macro.
9855 (detect_coding_utf_8, detect_coding_utf_16)
9856 (detect_coding_emacs_mule, detect_coding_iso_2022)
9857 (detect_coding_sjis, detect_coding_big5)
9858 (detect_coding_ccl, detect_coding_charset): Change argument MASK
9859 to DETECT_INFO. Update DETECT_INFO and return 1 if the byte
9860 sequence is valid in this coding system. Change callers.
9861 (MAX_ANNOTATION_LENGTH): New macro.
9862 (ADD_ANNOTATION_DATA): New macro.
9863 (ADD_COMPOSITION_DATA): Change argument. Change callers. Call
9864 ADD_ANNOTATION_DATA. Change the format of annotation data.
9865 (ADD_CHARSET_DATA): New macro.
9866 (emacs_mule_char): New argument ID. Change callers.
9867 (decode_coding_emacs_mule, decode_coding_iso_2022)
9868 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
9869 Produce charset annotation data in coding->charbuf.
9870 (encode_coding_emacs_mule, encode_coding_iso_2022): Pay attention
9871 to charset annotation data in coding->charbuf.
9872 (setup_coding_system): Add CODING_ANNOTATE_CHARSET_MASK
9873 coding->common_flags if the coding system is iso-2022 based and
9874 uses designation.
9875 (produce_composition): Adjust for the new annotation data format.
9876 (produce_charset): New function.
9877 (produce_annotation): Handle charset annotation.
9878 (handle_composition_annotation, handle_charset_annotation): New
9879 functions.
9880 (consume_chars): Handle charset annotation. Utilize the above two
9881 functions.
9882 (encode_coding_object): If SRC_OBJECT and DST_OBJECT are the same
9883 buffer, get the deleted text as a string and set
9884 coding->src_object to that string.
9885 (detect_coding, detect_coding_system): Use the new struct
9886 coding_detection_info.
9887
9888 * coding.h (struct coding_detection_info): New structure.
9889 (struct coding_system): Adjust prototype of the member `detector'.
9890 (CODING_ANNOTATE_CHARSET_MASK): New macro.
9891
9892 2008-02-01 Kenichi Handa <handa@m17n.org>
9893
9894 * insdel.c (insert_from_gap): Fix argument to offset_intervals.
9895
9896 2008-02-01 Dave Love <fx@gnu.org>
9897
9898 * keymap.c (apropos_predicate, apropos_accumulate): Declare static.
9899 (Fapropos_internal): Don't gcpro apropos_accumulate. Set result
9900 to new local and nullify apropos_accumulate before returning.
9901 (syms_of_keymap): Staticpro and initialize apropos_accumulate.
9902
9903 2008-02-01 Kenichi Handa <handa@m17n.org>
9904
9905 * charset.c (Fdefine_charset_internal): Setup charset.fast_map
9906 correctly.
9907
9908 2008-02-01 Dave Love <fx@gnu.org>
9909
9910 * fns.c (Flanginfo): Call synchronize_system_time_locale.
9911
9912 2008-02-01 Kenichi Handa <handa@m17n.org>
9913
9914 The following changes are to make character composition happen
9915 automatically on displaying.
9916
9917 * Makefile.in (lisp, shortlisp): Add composite.elc.
9918
9919 * composite.h (Qauto_composed, Vauto_composition_function)
9920 (Qauto_composition_function): Extern them.
9921
9922 * composite.c (Vcomposition_function_table)
9923 (Qcomposition_function_table): Delete variables.
9924 (Qauto_composed, Vauto_composition_function)
9925 (Qauto_composition_function): New variables.
9926 (run_composition_function): Don't call
9927 compose-chars-after-function.
9928 (update_compositions): Clear `auto-composed' text property.
9929 (compose_chars_in_text): Delete this function.
9930 (syms_of_composite): Staticpro Qauto_composed and
9931 Qauto_composition_function. Declare Vauto_composition_function as
9932 a Lisp variable.
9933
9934 * dispextern.h (enum prop_idx): Add member AUTO_COMPOSED_PROP_IDX.
9935
9936 * xdisp.c (it_props): Add an entry for Qauto_composed.
9937 (handle_auto_composed_prop): New function.
9938
9939 * xselect.c (selection_data_to_lisp_data): Don't call
9940 compose_chars_in_text.
9941
9942 2008-02-01 Dave Love <fx@gnu.org>
9943
9944 * keyboard.c (read_char): Modify checking around use of
9945 Vkeyboard_translate_table.
9946
9947 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
9948 and fix C types.
9949
9950 2008-02-01 Kenichi Handa <handa@m17n.org>
9951
9952 * coding.c (decode_coding_utf_8, decode_coding_emacs_mule)
9953 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
9954 (decode_coding_charset, produce_chars): When eol_type is Qdos, handle
9955 the case that the last byte is '\r' correctly.
9956 (decode_coding): Flush out the unprocessed data correctly.
9957 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK bit of coding->mode.
9958
9959 2008-02-01 Dave Love <fx@gnu.org>
9960
9961 * xterm.c (XTread_socket): Fix changes for defined keysyms.
9962 Add XK_ISO... case.
9963 (xaw_scroll_callback): Revert last change.
9964
9965 2008-02-01 Kenichi Handa <handa@m17n.org>
9966
9967 * charset.c (Fset_charset_priority): Update Viso_2022_charset_list.
9968
9969 2008-02-01 Kenichi Handa <handa@m17n.org>
9970
9971 * xfaces.c (Vface_resizing_fonts): New variable.
9972 (struct font_name): New member `resizing_ratio'.
9973 (font_resizing_ratio): New function.
9974 (split_font_name): Set font->resizing_ratio.
9975 (better_font_p): Pay attention to font->resizing_ratio.
9976 (build_scalable_font_name): Likewise. Don't change POINT_SIZE,
9977 RESX, and RESY fields.
9978 (try_alternative_families): Try scalable fonts if
9979 Vscalable_fonts_allowed is not Qt.
9980 (syms_of_xfaces): Declare Vface_resizing_fonts as a Lisp variable.
9981
9982 2008-02-01 Dave Love <fx@gnu.org>
9983
9984 * xterm.c (xaw_scroll_callback): Cast correctly.
9985
9986 2008-02-01 Dave Love <fx@gnu.org>
9987
9988 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extend.
9989 (lispy_kana_keys): Comment out.
9990 (make_lispy_event) [XK_kana_A]: Comment out.
9991
9992 * xterm.c (xaw_scroll_callback): Cast call_data.
9993 (XTread_socket): Deal with ASCII keysyms.
9994 (syms_of_xterm) <Vx_keysym_table>: Fix args of make_hash_table.
9995
9996 2008-02-01 Dave Love <fx@gnu.org>
9997
9998 * xterm.c (Vx_keysym_table): New.
9999 (syms_of_xterm): Initialize it.
10000 (XTread_socket): Use it.
10001 From head: Eliminate incorrect optimization that tried to avoid
10002 decoding the output of X*LookupString.
10003 (x_get_font_repertory): Delete charset declaration.
10004
10005 2008-02-01 Kenichi Handa <handa@m17n.org>
10006
10007 * coding.c (detect_coding_charset): If only ASCII bytes are found,
10008 return 0.
10009 (Fdefine_coding_system_internal): Setup
10010 CODING_ATTR_ASCII_COMPAT (attrs) correctly.
10011
10012 2008-02-01 Dave Love <fx@gnu.org>
10013
10014 * coding.c (Fcheck_coding_system): Doc fix.
10015
10016 * editfns.c (Finsert_byte): Return a proper value.
10017
10018 2008-02-01 Kenichi Handa <handa@m17n.org>
10019
10020 * coding.c (decode_coding): Fix args to translate_chars. Pay
10021 attention to Vstandard_translation_table_for_decode.
10022 (encode_coding): Fix args to translate_chars. Pay attention to
10023 Vstandard_translation_table_for_encode.
10024
10025 * data.c (Faset): Check NEWELT by ASCII_CHAR_P, not by
10026 SINGLE_BYTE_CHAR_P.
10027
10028 * editfns.c (general_insert_function): Check VAL by ASCII_CHAR_P,
10029 not by SINGLE_BYTE_CHAR_P.
10030
10031 * fns.c (concat): Check CH by ASCII_CHAR_P, not by
10032 SINGLE_BYTE_CHAR_P.
10033
10034 * insdel.c (copy_text): Check C by ASCII_CHAR_P, not by
10035 SINGLE_BYTE_CHAR_P.
10036
10037 * keymap.c (Ftext_char_description): Check C by ASCII_CHAR_P, not
10038 by SINGLE_BYTE_CHAR_P.
10039
10040 * search.c (Freplace_match): Check C by ASCII_CHAR_P, not by
10041 SINGLE_BYTE_CHAR_P.
10042
10043 2008-02-01 Dave Love <fx@gnu.org>
10044
10045 * fns.c (Fstring_as_multibyte, Fstring_to_multibyte): Doc fix.
10046
10047 2008-02-01 Dave Love <fx@gnu.org>
10048
10049 * fns.c (Flanginfo): Fix typo.
10050
10051 * unexelf.c (unexec): Make last change conditional on Irix 6.5.
10052
10053 2008-02-01 Kenichi Handa <handa@m17n.org>
10054
10055 * coding.c (detect_coding_utf_8, detect_coding_utf_16)
10056 (detect_coding_emacs_mule, detect_coding_iso_2022)
10057 (detect_coding_sjis, detect_coding_big5, detect_coding_ccl): Check
10058 incomplete byte sequence. Don't update *mask when correctly detected.
10059 (decode_coding_sjis): Fix decoding of katakana-jisx0201.
10060 (detect_eol): Delete the argument CODING, and add the argument CATEGORY.
10061 (detect_coding, detect_coding_system): Adjust for the changes above.
10062
10063 2008-02-01 Kenichi Handa <handa@m17n.org>
10064
10065 * character.c (char_string): Rename from
10066 char_string_with_unification. Pay attention to CHAR_MODIFIER_MASK.
10067 (string_char): Rename from string_char.
10068
10069 * character.h (CHAR_STRING, CHAR_STRING_ADVANCE): Call char_string
10070 if C is greater than MAX_3_BYTE_CHAR.
10071 (STRING_CHAR, STRING_CHAR_AND_LENGTH, STRING_CHAR_ADVANCE): Call
10072 string_char instead of string_char_with_unification.
10073
10074 2008-02-01 Dave Love <fx@gnu.org>
10075
10076 * coding.c (decode_coding_utf_8): Treat surrogates as invalid.
10077
10078 2008-02-01 Kenichi Handa <handa@m17n.org>
10079
10080 * keymap.c (push_key_description): Pay attention to force_multibyte.
10081
10082 * regex.c (re_search_2): Fix for the case of unibyte buffer.
10083
10084 2008-02-01 Dave Love <fx@gnu.org>
10085
10086 * charset.c (define_charset_internal): Rename `supprementary'.
10087
10088 * Makefile.in (lisp, shortlisp): Remove latin-N.
10089
10090 2008-02-01 Dave Love <fx@gnu.org>
10091
10092 * xfns.c (x_window, x_window): Use use_xim.
10093
10094 * xterm.c (use_xim): Initialize.
10095 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
10096 (x_term_init): Maybe set use_xim.
10097
10098 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
10099
10100 2008-02-01 Kenichi Handa <handa@m17n.org>
10101
10102 * search.c (search_buffer): Fix case-fold-search of multibyte
10103 characters.
10104 (boyer_moore): Rename the last argument to char_high_bits.
10105
10106 2008-02-01 Kenichi Handa <handa@m17n.org>
10107
10108 * xdisp.c (display_string): Fix for the case of zero width glyph.
10109
10110 * xfns.c (x_set_font): Change the error message of the case that
10111 x_new_fontset returns Qt.
10112
10113 * xfaces.c (set_lface_from_font_name): Reject the default fontset.
10114 (Finternal_set_lisp_face_attribute): Use signal_error for the
10115 error of invalid fontset.
10116
10117 * xterm.c (x_new_fontset): If FONTSETNAME specifies the default
10118 fontset, return Qt.
10119
10120 2008-02-01 Dave Love <fx@gnu.org>
10121
10122 * unexelf.c (unexec): Make .got handling not SGI-specific.
10123
10124 * syntax.c (syms_of_syntax) <multibyte-syntax-as-symbol>: Doc fix.
10125
10126 * regex.c: Use `ifdef HAVE_ALLOCA_H', not `if HAVE_ALLOCA_H'.
10127
10128 * keyboard.c (read_key_sequence): Fix type error.
10129
10130 * buffer.c (Fset_buffer_multibyte, Fset_buffer_multibyte): Fix
10131 type error.
10132
10133 * fontset.c (fontset_add): Return Lisp_Object.
10134
10135 2008-02-01 Dave Love <fx@gnu.org>
10136
10137 * charset.h (charset_ordered_list_tick): Declare extern.
10138
10139 2008-02-01 Kenichi Handa <handa@m17n.org>
10140
10141 The following changes (and some of 2008-02-01 changes of mine) are
10142 for handling syntax, category, and case conversion for unibyte
10143 characters by converting them to multibyte on the fly. With these
10144 changes, we don't have to setup syntax and case tables for unibyte
10145 characters in each language environment.
10146
10147 * abbrev.c (Fexpand_abbrev): Convert a unibyte character to
10148 multibyte if necessary.
10149
10150 * bytecode.c (Fbyte_code): Likewise.
10151
10152 * character.h (LEADING_CODE_LATIN_1_MIN)
10153 (LEADING_CODE_LATIN_1_MAX): New macros.
10154 (unibyte_to_multibyte_table): Extern it.
10155 (unibyte_char_to_multibyte): New macro.
10156 (MAKE_CHAR_MULTIBYTE): Use unibyte_to_multibyte_table.
10157 (CHAR_LEADING_CODE): New macro.
10158 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): New macro.
10159
10160 * character.c (unibyte_to_multibyte_table): New variable.
10161 (unibyte_char_to_multibyte): Move to character.h and define as macro.
10162 (multibyte_char_to_unibyte): If C is an eight-bit character,
10163 convert it to the corresponding byte value.
10164
10165 * charset.c (Fset_unibyte_charset): If the dimension of CHARSET is
10166 not 1, singals an error. Update the elements of
10167 unibyte_to_multibyte_table.
10168 (init_charset_once): Initialize unibyte_to_multibyte_table.
10169 (syms_of_charset): Define the charset `iso-8859-1'.
10170
10171 * cmds.c (internal_self_insert): In a multibyte buffer, insert C
10172 as is without converting it to unibyte. In a unibyte buffer,
10173 convert C to multibyte before checking the syntax.
10174
10175 * lisp.h (unibyte_char_to_multibyte): Delete extern.
10176
10177 * minibuf.c (Fminibuffer_complete_word): Use the macro
10178 FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE.
10179
10180 * regex.h (struct re_pattern_buffer): New member target_multibyte.
10181
10182 * regex.c (RE_TARGET_MULTIBYTE_P): New macro.
10183 (GET_CHAR_BEFORE_2): Check target_multibyte, not multibyte. If
10184 that is zero, convert an eight-bit char to multibyte.
10185 (MAKE_CHAR_MULTIBYTE, CHAR_LEADING_CODE): New dummy new macros for
10186 non-emacs case.
10187 (PATFETCH): Convert an eight-bit char to multibyte.
10188 (HANDLE_UNIBYTE_RANGE): New macro.
10189 (regex_compile): Setup the compiled pattern for multibyte chars
10190 even if the given regex string is unibyte. Use PATFETCH_RAW
10191 instead of PATFETCH in many places. To handle `charset'
10192 specification of unibyte, call HANDLE_UNIBYTE_RANGE. Use bitmap
10193 only for ASCII chars.
10194 (analyse_first) <exactn>: Simplify because the compiled pattern
10195 is multibyte.
10196 <charset_not>: Setup fastmap from bitmap only for ASCII chars.
10197 <charset>: Use CHAR_LEADING_CODE to get leading codes.
10198 <categoryspec>: If multibyte, setup fastmap only for ASCII chars here.
10199 (re_compile_fastmap) [emacs]: Call analyse_first with the arg
10200 multibyte always 1.
10201 (re_search_2): In emacs, set the locale variable multibyte to 1,
10202 otherwise to 0. New local variable target_multibyte. Check it
10203 to decide the multibyteness of STR1 and STR2. If
10204 target_multibyte is zero, convert unibyte chars to multibyte
10205 before translating and checking fastmap.
10206 (TARGET_CHAR_AND_LENGTH): New macro.
10207 (re_match_2_internal): In emacs, set the locale variable multibyte
10208 to 1, otherwise to 0. New local variable target_multibyte. Check
10209 it to decide the multibyteness of STR1 and STR2. Use
10210 TARGET_CHAR_AND_LENGTH to fetch a character from D.
10211 <charset, charset_not>: If multibyte is nonzero, check fastmap
10212 only for ASCII chars. Call bcmp_translate with
10213 target_multibyte, not with multibyte.
10214 <begline>: Declare the local variable C as `unsigned'.
10215 (bcmp_translate): Change the last arg name to target_multibyte.
10216
10217 * search.c (compile_pattern_1): Don't adjust the multibyteness of
10218 the regexp pattern and the matching target. Set cp->buf.multibyte
10219 to the multibyteness of the regexp pattern. Set
10220 cp->but.target_multibyte to the multibyteness of the matching target.
10221 (wordify): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE instead of
10222 FETCH_STRING_CHAR_ADVANCE.
10223 (Freplace_match): Convert unibyte chars to multibyte.
10224
10225 * syntax.c (char_quoted, back_comment, scan_words)
10226 (Fforward_comment, scan_lists, Fbackward_prefix_chars)
10227 (scan_sexps_forward): Use FETCH_CHAR_AS_MULTIBYTE to convert
10228 unibyte chars to multibyte.
10229 (skip_chars): Delete the arg syntaxp, and move the code for
10230 handling syntaxes to skip_syntaxes. Change callers.
10231 Fix the case that the multibyteness of STRING and the current
10232 buffer doesn't match.
10233 (skip_syntaxes): New function.
10234 (SYNTAX_WITH_MULTIBYTE_CHECK): Check C by ASCII_CHAR_P, not by
10235 SINGLE_BYTE_CHAR_P.
10236
10237 2008-02-01 Kenichi Handa <handa@m17n.org>
10238
10239 * xfaces.c (QCfontset): New variable.
10240 (LFACE_FONTSET): New macro.
10241 (check_lface_attrs): Check also LFACE_FONTSET_INDEX.
10242 (set_lface_from_font_name): Setup LFACE_FONTSET (lface).
10243 (Finternal_set_lisp_face_attribute)
10244 (Finternal_get_lisp_face_attribute): Handle QCfontset.
10245 (lface_same_font_attributes_p): Fix checking of LFACE_FONT_INDEX,
10246 check also LFACE_FONTSET_INDEX.
10247 (face_fontset): Check attrs[LFACE_FONTSET_INDEX], not
10248 attrs[LFACE_FONT_INDEX].
10249 (syms_of_xfaces): Intern and staticpro QCfontset.
10250
10251 * dispextern.h (enum lface_attribute_index): New member
10252 LFACE_FONTSET_INDEX.
10253
10254 * fns.c (base64_encode_1): Handle eight-bit chars correctly.
10255
10256 2008-02-01 Kenichi Handa <handa@m17n.org>
10257
10258 * coding.c (coding_set_destination): Fix coding->destination for
10259 the case converting a region.
10260 (encode_coding_utf_8): Encode eight-bit chars as single byte.
10261 (encode_coding_object): Fix coding->dst_pos and
10262 coding->dst_pos_byte for the case converting a region.
10263
10264 * insdel.c (insert_from_gap): Make it work even if PT != GTP.
10265
10266 * character.h (BYTE8_STRING): New macro.
10267
10268 * fns.c (base64_decode_1): Insert eight-bit chars correctly.
10269
10270 2008-02-01 Kenichi Handa <handa@m17n.org>
10271
10272 * xdisp.c (get_next_display_element): Don't display unibyte 8-bit
10273 characters by octal form.
10274
10275 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
10276
10277 * buffer.h (_fetch_multibyte_char_len): Delete extern.
10278 (FETCH_MULTIBYTE_CHAR, BUF_FETCH_MULTIBYTE_CHAR): Don't use
10279 _fetch_multibyte_char_len.
10280 (FETCH_CHAR_AS_MULTIBYTE): New macro.
10281
10282 * casetab.c (set_canon, set_identity, shuffle): Simplify.
10283
10284 * casefiddle.c (casify_object): Simplify. Handle the case that
10285 the case conversion change the byte length.
10286 (casify_region): Likewise.
10287
10288 * character.h (MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE): New macros.
10289
10290 * character.c (_fetch_multibyte_char_len): Delet this variable.
10291 (syms_of_character): Setup Vprintable_chars.
10292
10293 * editfns.c (Fchar_equal): Fix for the unibyte case.
10294 (Finsert_byte): New function.
10295 (syms_of_editfns): Defsubr it.
10296
10297 * keyboard.c (read_key_sequence): Use ~CHAR_MODIFIER_MASK instead
10298 of direct code 0x3ffff.
10299
10300 * search.c (Freplace_match): Fix for the unibyte case.
10301
10302 2008-02-01 Kenichi Handa <handa@m17n.org>
10303
10304 * lread.c (safe_to_load_p): Fix the logic.
10305
10306 * syntax.c (scan_words): Don't treat characters belonging to
10307 different scripts as constituting a word.
10308
10309 * editfns.c (Fformat): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
10310
10311 * fontset.c (Fset_fontset_font): Treat `ascii' as charset, not script.
10312
10313 * emacs.c (main): In the case of --unibyte, instead of aborting on
10314 finding non-empty buffer, make it unibyte.
10315
10316 2008-02-01 Kenichi Handa <handa@m17n.org>
10317
10318 * xterm.c (x_new_fontset): Call `create-fontset-from-ascii-font'
10319 to create a fontset.
10320
10321 2008-02-01 Dave Love <fx@gnu.org>
10322
10323 * character.c (Funibyte_char_to_multibyte): Doc fix.
10324
10325 * xfns.c [HAVE_STDLIB_H]: Fix last change.
10326
10327 2008-02-01 Kenichi Handa <handa@m17n.org>
10328
10329 * fontset.c (fontset_add): Make the type `int'.
10330 (fontset_id_valid_p): Define it if FONTSET_DEBUG is defined.
10331
10332 * character.c (unibyte_char_to_multibyte)
10333 (multibyte_char_to_unibyte, Funibyte_char_to_multibyte): Refer to
10334 charset_unibyte, not charset_primary.
10335
10336 * charset.h (charset_unibyte): Extern it instead of charset_primary.
10337
10338 * charset.c (charset_unibyte): Rename from charset_primary.
10339 (Funibyte_charset): Rename from Fprimary_charset.
10340 (Fset_unibyte_charset): Rename from Fset_primary_charset.
10341 (syms_of_charset): Adjust for the above changes.
10342
10343 * w32term.c (x_produce_glyphs): Use ASCII_CHAR_P, not
10344 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
10345 it->multibyte_p is zero.
10346
10347 * lisp.h (nonascii_insert_offset, Vnonascii_translation_table):
10348 Delete extern.
10349
10350 2008-02-01 Kenichi Handa <handa@m17n.org>
10351
10352 * coding.c (Fdefine_coding_system_internal): Fix category setting
10353 for a coding system of type iso-2022.
10354
10355 2008-02-01 Kenichi Handa <handa@m17n.org>
10356
10357 * fontset.h (FS_LOAD_FONT): Call fs_load_font with the arg CHARSET -1.
10358
10359 2008-02-01 Kenichi Handa <handa@m17n.org>
10360
10361 * syntax.c (Vnext_word_boundary_function_table): New variable.
10362 (next-word-boundary-function-table): Declare it as a Lisp variable
10363 in syms_of_syntax.
10364 (scan_words): Call functions in Vnext_word_boundary_function_table
10365 if any.
10366
10367 * xterm.c (x_load_font): Initialize fontp->fontset to -1.
10368
10369 * fontset.c (fs_load_font): If fontp->charset is not negative,
10370 return fontp without setting its members.
10371
10372 2008-02-01 Dave Love <fx@gnu.org>
10373
10374 * xfns.c [HAVE_STDLIB_H]: Change logic (instead of fixing typo).
10375
10376 * m/sparc.h (HAVE_ALLOCA): Delete.
10377
10378 * s/irix6-5.h: Don't include strings.h.
10379 (bcopy, bzero, bcmp): Don't undef.
10380
10381 * s/irix6-0.h (bcopy, bzero, bcmp): Don't undef.
10382
10383 * s/usg5-4.h (NO_SIOCTL_H): Don't define.
10384 (TIOCSIGSEND): Don't test IRIX6.
10385 (bcopy, bzero, bcmp): Define conditionally.
10386
10387 2008-02-01 Kenichi Handa <handa@m17n.org>
10388
10389 * buffer.c (Qas, Qmake, Qto): New variables.
10390 (Fset_buffer_multibyte): New optional arg METHOD. Change caller.
10391 (syms_of_buffer): Intern and staticpro Qas, Qmake, and Qto.
10392
10393 * callproc.c (Fcall_process): Don't call insert_1_both directly if
10394 we are inserting a process output into a multibyte buffer.
10395
10396 * character.h (CHAR_TO_BYTE8): If C is not eight-bit char, call
10397 multibyte_char_to_unibyte.
10398
10399 * character.c (Funibyte_char_to_multibyte): If C can't be decoded
10400 by the primary charset, make it eight-bit char.
10401 (Fmultibyte_char_to_unibyte): Call CHAR_TO_BYTE8.
10402
10403 * charset.c (charset_eight_bit, Qeight_bit_control): New variables.
10404 (charset_8_bit__control, charset_8_bit_graphic)
10405 (Qeight_bit_control, Qeight_bit_graphic): Delete these variables.
10406 (define_charset_internal): New function.
10407 (syms_of_charset): Call define_charset_internal for pre-defined
10408 charsets.
10409
10410 * charset.h (charset_8_bit): Extern it.
10411
10412 * coding.c (make_conversion_work_buffer): Adjust for the change
10413 of Fset_buffer_multibyte.
10414 (encode_coding_raw_text): Increment p0 in the loop.
10415
10416 * lisp.h (Fset_buffer_multibyte): Adjust prototype.
10417
10418 * xdisp.c (setup_echo_area_for_printing, set_message_1): Adjust
10419 for the change of Fset_buffer_multibyte.
10420
10421 * fns.c (Fstring_to_multibyte): New function.
10422 (syms_of_fns): Declare Fstring_to_multibyte as Lisp subroutine.
10423
10424 2008-02-01 Dave Love <fx@gnu.org>
10425
10426 * xfns.c (x_put_x_image): Declare args.
10427
10428 * xfaces.c (font_name_registry, choose_face_font): Delete unused vars.
10429 (try_font_list): Declare an arg.
10430
10431 * xdisp.c (message2_nolog, set_message): Declare an arg.
10432
10433 * terminfo.c (tparam): Declare an arg. Use P_ to declare tparm.
10434
10435 * syntax.c (scan_sexps_forward): Declare an arg.
10436
10437 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
10438 Declare an arg.
10439
10440 * lisp.h (Fnew_fontset): Declare.
10441
10442 * keymap.c (push_key_description): Call CHARACTERP correctly.
10443
10444 * fontset.c (fontset_add): Declare args. Call make_number correctly.
10445 (face_for_char): Delete unused vars.
10446 (Fset_fontset_font): Doc fix. Delete unused vars.
10447
10448 * doc.c (Fsubstitute_command_keys): Delete unused vars.
10449
10450 * composite.c (update_compositions): Declare arg.
10451
10452 * cm.c (calccost, cmgoto): Declare args.
10453
10454 * charset.c: Remove `emacs' conditional. Doc fixes.
10455 (map_char_table_for_charset): Declare.
10456
10457 * character.c (syms_of_character) <translation-table-vector>: Doc fix.
10458
10459 * ccl.c: Remove `emacs' conditional.
10460
10461 2008-02-01 Kenichi Handa <handa@m17n.org>
10462
10463 The following changes are to allow specifying multiple font
10464 patterns for a character range (specified by script or charset).
10465
10466 * Makefile.in (abbrev.o): Depend on syntax.h.
10467 (xfaces.o): Depend on charset.h.
10468
10469 * alloc.c (Fmake_string): Use ASCII_CHAR_P, not
10470 SINGLE_BYTE_CHAR_P.
10471
10472 * ccl.c (Fccl_execute_on_string): Add `const' to local variables.
10473
10474 * character.h (Vchar_script_table): Extern it.
10475
10476 * character.c (Vscript_alist): Delete.
10477 (Vchar_script_table, Qchar_script_table): New variable.
10478 (syms_of_character): Declare Vchar_script_table as a lisp variable
10479 and initialize it.
10480
10481 * chartab.c (Fmake_char_table): Doc fix. If PURPOSE doesn't
10482 have property char-table-extra-slots, make no extra slot.
10483
10484 * dispextern.h (struct face): Delete member `charset'.
10485 (FACE_SUITABLE_FOR_CHAR_P, FACE_FOR): Use ASCII_CHAR_P, not
10486 SINGLE_BYTE_CHAR_P.
10487 (choose_face_font, lookup_non_ascii_face, font_name_registry):
10488 Add prototypes.
10489 (lookup_face, lookup_named_face, lookup_derived_face): Fix prototype.
10490 (generate_ascii_font_name): Rename from generate_ascii_font.
10491
10492 * fontset.h (get_font_repertory_func): New prototype.
10493 (make_fontset_for_ascii_face, fs_load_font): Fix prototypes.
10494 (FS_LOAD_FONT): Call fs_load_font with the 3rd arg charset_ascii.
10495
10496 * fontset.c (Qprepend, Qappend): New variables.
10497 (FONTSET_CHARSET_ALIST, FONTSET_FACE_ALIST): Delete.
10498 (FONTSET_NOFONT_FACE, FONTSET_REPERTORY): New macros.
10499 (FONTSET_REF): Optimize if FONTSET is Vdefault_fontset.
10500 (FONTSET_REF_AND_RANGE, FONTSET_ADD): New macros.
10501 (fontset_ref_and_range, fontset_add, reorder_font_vector)
10502 (load_font_get_repertory): New functions.
10503 (fontset_set): Delete.
10504 (fontset_face): New arg FACE. Return face ID, not face.
10505 Complete re-write to handle new fontset structure. Change caller.
10506 (free_face_fontset): Use ASET istead of AREF (X) = Y.
10507 (face_for_char): Don't call lookup_face.
10508 (make_fontset_for_ascii_face): New arg FACE.
10509 (fs_load_font): New arg CHARSET_ID. Don't check
10510 Vfont_encoding_alist here.
10511 (find_font_encoding): New function.
10512 (list_fontsets): Use STRINGP, not ! NILP.
10513 (accumulate_script_ranges): New function.
10514 (Fset_fontset_font, Fnew_fontset, Ffontset_info): Completely
10515 re-written to handle new fontset structure.
10516 (Ffontset_font): Return a copy of element.
10517 (syms_of_fontset): Define symbols Qprepend and Qappend. Fix
10518 docstring of font-encoding-alist.
10519
10520 * lisp.h (CHAR_TABLE_REF): Remove unnecessary check (IDX >= 0).
10521 (Fset_fotset_font): Fix arguments to 5.
10522
10523 * msdos.c (XMenuActivate): Adjust for the change of lookup_derived_face.
10524
10525 * xdisp.c (message_dolog, set_message_1, extend_face_to_end_of_line):
10526 Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
10527 (highlight_trailing_whitespace): Adjust for the change of
10528 lookup_named_face.
10529
10530 * xfaces.c: Include charset.h.
10531 (load_face_font): Delete argument C. Change caller.
10532 (generate_ascii_font_name): Rename from generate_ascii_font.
10533 (font_name_registry): New function.
10534 (cache_face): Store ascii faces before non-ascii faces in buckets.
10535 (lookup_face): Delete arguments C and BASE_FACE. Change caller.
10536 Lookup only ascii faces.
10537 (lookup_non_ascii_face): New function.
10538 (lookup_named_face): Delete argument C. Change caller.
10539 (lookup_derived_face): Delete argument C. Change caller.
10540 (try_font_list): New arg PATTERN. Change caller. If PATTERN is
10541 a string, just call font_list with it.
10542 (choose_face_font): Delete arguments FACE and C. New arg
10543 FONT_SPEC. Change caller.
10544 (realize_face, realize_x_face): Delete arguments C and BASE_FACE.
10545 Change caller.
10546 (realize_non_ascii_face): New function.
10547 (realize_x_face): Call load_face_font here.
10548 (realize_tty_face): Delete argument C. Change caller.
10549 (compute_char_face): If CH is not ascii, call FACE_FOR_CHAR to
10550 get a face ID.
10551 (dump_realized_face): Don't print charset of FACE.
10552
10553 * xfns.c (x_set_font): Always call x_new_fontset and
10554 store_frame_parameter.
10555 (Fx_create_frame): Call x_new_fontset, not x_new_font.
10556 (syms_of_xfns): Set get_font_repertory_func to x_get_font_repertory.
10557
10558 * xterm.h (x_get_font_repertory): Extern it.
10559
10560 * xterm.c (x_produce_glyphs): Use ASCII_CHAR_P, not
10561 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
10562 it->multibyte_p is zero.
10563 (XTread_socket): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
10564 (x_new_fontset): If FONTSETNAME doesn't match any existing
10565 fontsets, create a new one.
10566 (x_get_font_repertory): New function.
10567
10568 2008-02-01 Kenichi Handa <handa@m17n.org>
10569
10570 * coding.c (Ffind_coding_systems_region_internal): Detect an
10571 ASCII only string correctly.
10572
10573 * lread.c (Fload): Don't load with Qload_force_doc_strings t if
10574 version is 0.
10575
10576 2008-02-01 Kenichi Handa <handa@m17n.org>
10577
10578 * lread.c: Include "coding.h".
10579 (Qget_emacs_mule_file_char, Qload_force_doc_strings)
10580 (load_each_byte, unread_char): New variables.
10581 (readchar_backlog): Delete.
10582 (readchar): Return a character unless load_each_byte is nonzero.
10583 Handle the case that readcharfun is Qget_emacs_mule_file_char or a
10584 cons. If unread_char is not -1, simply return it.
10585 (unreadchar): Handle the case that readcharfun is
10586 Qget_emacs_mule_file_char or a cons. Set unread_char if necessary.
10587 (read_multibyte): Delete.
10588 (readbyte_for_lambda, readbyte_from_file, readbyte_from_string)
10589 (read_emacs_mule_char): New functions.
10590 (Fload): Even if the file doesn't have the extention ".elc", if
10591 safe_to_load_p returns a positive version number, assume that the
10592 file contains bytecompiled code. If the version is less than 22,
10593 load the file while decoding multibyte sequences by emacs-mule.
10594 (readevalloop): Don't use readchar_backlog.
10595 (Fread): Likewise. Pay attention to the case that STREAM is a cons.
10596 (Fread_from_string): Pay attention to the case that STREAM is a cons.
10597 (read_escape): Delete the arg BYTEREP.
10598 (read1): Set load_each_byte to 1 temporarily while handling
10599 #@NUMBER. Don't call read_multibyte.
10600 (read_vector): Call Fread with a cons. If readcharfun is
10601 Qget_emacs_mule_file_char, decode the read string by emacs-mule.
10602 (read_list): If doc_reference is 2, make the cdr part string as unibyte.
10603 (syms_of_lread): Intern and staticpro Qget_emacs_mule_file_char
10604 and Qload_force_doc_strings.
10605
10606 2008-02-01 Kenichi Handa <handa@m17n.org>
10607
10608 * xdisp.c (face_before_or_after_it_pos): Call
10609 FETCH_MULTIBYTE_CHAR with byte postion, not char position.
10610
10611 2008-02-01 Kenichi Handa <handa@m17n.org>
10612
10613 * character.h (TRAILING_CODE_P): New macro.
10614 (MAYBE_UNIFY_CHAR): Adjust for the change of Funify_charset.
10615 (string_char_with_unification): Fix prototype.
10616 (Vscript_alist): Extern it.
10617
10618 * character.c (Vscript_alist): New variable.
10619 (string_char_with_unification, str_as_unibyte)
10620 (string_escape_byte8): Add `const' to local variables.
10621 (syms_of_character): Declare script-alist as a Lisp variable.
10622
10623 * charset.h (Vcharset_ordered_list): Extern it.
10624 (charset_ordered_list_tick): Extern it.
10625 (EMACS_MULE_LEADING_CODE_PRIVATE_11)
10626 (EMACS_MULE_LEADING_CODE_PRIVATE_12)
10627 (EMACS_MULE_LEADING_CODE_PRIVATE_21)
10628 (EMACS_MULE_LEADING_CODE_PRIVATE_22): New macros.
10629 (Funify_charset): Adjust for the change of Funify_charset.
10630
10631 * charset.c (charset_ordered_list_tick): New variable.
10632 (Fdefine_charset_internal): Increment charset_ordered_list_tick.
10633 (Funify_charset): New optional arg DEUNIFY. If it is non-nil,
10634 deunify intead of unify a charset.
10635 (string_xstring_p): Add `const' to local variables.
10636 (find_charsets_in_text): Add `const' to arguemnts and local variables.
10637 (encode_char): Adjust for the change of Funify_charset. Fix
10638 detecting of invalid code.
10639 (Fset_charset_priority): Increment charset_ordered_list_tick.
10640 (Fmap_charset_chars): Fix handling of default value for FROM_CODE
10641 and TO_CODE.
10642
10643 * coding.c (LEADING_CODE_PRIVATE_11, LEADING_CODE_PRIVATE_12)
10644 (LEADING_CODE_PRIVATE_21, LEADING_CODE_PRIVATE_22): Delete macros.
10645 Changed callers to use EMACS_MULE_LEADING_CODE_PRIVATE_11, etc.
10646 (decode_coding_ccl, consume_chars)
10647 (Ffind_coding_systems_region_internal)
10648 (Fcheck_coding_systems_region): Add `const' to local variables.
10649
10650 * print.c (print_object): Use octal form for printing the
10651 contents of a bool vector.
10652
10653 2008-02-01 Dave Love <fx@gnu.org>
10654
10655 * lread.c (Fload) <!load_dangerous_libraries>: Don't leak fd.
10656 <version == 20>: Refuse to load.
10657
10658 2008-02-01 Dave Love <fx@gnu.org>
10659
10660 * fns.c: Move coding.h.
10661 (Qcodeset, Qdays, Qmonths): New.
10662 (concat): Use CHARACTERP instead of INTERGERP.
10663 (Flocale_codeset): Delete.
10664 (Flanginfo): New function.
10665 (syms_of_fns): Change accordingly.
10666
10667 * coding.c (adjust_coding_eol_type): Fix eol_type/eol_seen mixup.
10668
10669 2008-02-01 Dave Love <fx@gnu.org>
10670
10671 * casetab.c (init_casetab_once, init_casetab_once): Fix
10672 CHAR_TABLE_SET call.
10673
10674 * category.c (Fmodify_category_entry): Fix CATEGORY_MEMBER call.
10675
10676 * character.c (syms_of_character): Fix CHAR_TABLE_SET call.
10677
10678 * charset.c (Fmap_charset_chars): Check args. Convert Lisp types.
10679 (load_charset_map, Fdeclare_equiv_charset, Fencode_char)
10680 (Fset_charset_priority, syms_of_charset): Convert Lisp types.
10681
10682 * charset.h (CHECK_CHARSET_GET_ID): Use XINT on AREF result.
10683
10684 * coding.c (ENCODE_DESIGNATION, decode_eol)
10685 (make_conversion_work_buffer, code_conversion_restore)
10686 (Fdefine_coding_system_internal): Convert Lisp types.
10687 (code_conversion_restore): Use EQ, not ==.
10688 (Fencode_coding_string): Fix code_convert_string call.
10689
10690 * coding.h (code_convert_region): Fix prototype.
10691
10692 * dispextern.h (redraw_frame, redraw_garbaged_frames): Remove.
10693
10694 * fontset.c (fontset_ref, fontset_set, fs_load_font)
10695 (Ffontset_info): Convert Lisp types.
10696
10697 * syntax.h (SYNTAX_ENTRY_INT): Don't use make_number.
10698
10699 * xterm.c (note_mouse_movement): Fix call of window_from_coordinates.
10700
10701 * xdisp.c (display_mode_element): Fix call of Fset_text_properties.
10702
10703 * chartab.c: Include "...h", not <...h> in some cases.
10704
10705 * callproc.c (Fcall_process): Remove unused variables.
10706
10707 2008-02-01 Dave Love <fx@gnu.org>
10708
10709 * coding.c (Fset_coding_system_priority): Allow null arg list.
10710
10711 2008-02-01 Dave Love <fx@gnu.org>
10712
10713 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
10714 (Fself_insert_and_exit): Use CHARACTERP.
10715
10716 * callproc.c (Fcall_process): Remove unused vars.
10717
10718 * xterm.c (XTread_socket): Add extra dead keysyms.
10719
10720 * xdisp.c (decode_mode_spec_coding): Use CHARACTERP.
10721
10722 * dispextern.h: Remove prototypes for redraw_frame,
10723 redraw_garbaged_frames.
10724
10725 * cmds.c (Fself_insert_command): Use CHARACTERP.
10726
10727 * chartab.c (make_sub_char_table): Remove unused var.
10728 (Fset_char_table_default, Fmap_char_table): Doc fix.
10729
10730 * keymap.c (access_keymap): Remove generic char code.
10731 (push_key_description): Use CHARACTERP.
10732
10733 2008-02-01 Dave Love <fx@gnu.org>
10734
10735 * charset.c: Doc fixes.
10736 (Funify_charset): Extra checking.
10737
10738 2008-02-01 Dave Love <fx@gnu.org>
10739
10740 * lread.c: Remove some unused variables.
10741 (safe_to_load_p): If safe, return the magic number version byte.
10742 (Fload): Maybe use load-with-code-conversion.
10743
10744 2008-02-01 Kenichi Handa <handa@m17n.org>
10745
10746 * category.c (Fmodify_category_entry): Don't modify the contents
10747 of category_set for characters out of the range. Avoid
10748 unnecessary modification.
10749
10750 * character.h (MAYBE_UNIFY_CHAR): Adjust for the change of
10751 Vchar_unify_table. The default value of the table is now nil.
10752
10753 * character.c (syms_of_character): Setup Vchar_width_table for
10754 eight-bit-control and raw-byte chars.
10755
10756 * charset.h (enum define_charset_arg_index): Delete
10757 charset_arg_parents and add charset_arg_subset and
10758 charset_arg_superset.
10759 (enum charset_attr_index): Delete charset_parents and add
10760 charset_subset and charset_superset.
10761 (enum charset_method): Delete CHARSET_METHOD_INHERIT and add
10762 CHARSET_METHOD_SUBSET and CHARSET_METHOD_SUPERSET.
10763 (CHARSET_ATTR_PARENTS, CHARSET_PARENTS): Delete.
10764 (CHARSET_ATTR_SUBSET, CHARSET_ATTR_SUPERSET, CHARSET_SUBSET)
10765 (CHARSET_SUPERSET): New macros.
10766 (charset_work): Extern it.
10767 (ENCODE_CHAR): Use charset_work.
10768 (CHAR_CHARSET_P): Adjust for the change of encoder format.
10769 (map_charset_chars): Extern it.
10770
10771 * charset.c (load_charset_map): Set the default value of encoder
10772 and deunifier char-tables to nil.
10773 (map_charset_chars): Change argument. Change callers. Use
10774 map_char_table_for_charset instead of map_char_table.
10775 (Fmap_charset_chars): New optional args from_code and to_code.
10776 (Fdefine_charset_internal): Adjust for the change of
10777 `define-charset' (:parents -> :subset or :superset).
10778 (charset_work): New variable.
10779 (encode_char, syms_of_charset): Adjust for the change of
10780 Fdefine_charset_internal.
10781 (Ffind_charset_string): Setup the vector `charsets' correctly.
10782
10783 * chartab.c (sub_char_table_ref_and_range): New arg default. Fix
10784 the previous change.
10785 (char_table_ref_and_range): Adjust for the above change.
10786 (map_sub_char_table_for_charset): New function.
10787 (map_char_table_for_charset): New function.
10788
10789 * keymap.c (describe_vector): Handle a char-table directly here.
10790 (describe_char_table): Delete.
10791
10792 * lisp.h (map_charset_chars): Delete.
10793
10794 2008-02-01 Dave Love <fx@gnu.org>
10795
10796 * fns.c (count_combining): Comment out (unused).
10797 (Flocale_codeset): New.
10798 (syms_of_fns): Defsubr it.
10799
10800 * config.in (HAVE_PTY_H, HAVE_SIZE_T, HAVE_LANGINFO_CODESET): New.
10801 (size_t): Remove.
10802
10803 2008-02-01 Dave Love <fx@gnu.org>
10804
10805 * Makefile.in (chartab.o): Depend on charset.h.
10806
10807 2008-02-01 Kenichi Handa <handa@m17n.org>
10808
10809 * character.c (syms_of_character): Set the default value of
10810 Vprintable_chars to Qnil.
10811
10812 2008-02-01 Dave Love <fx@gnu.org>
10813
10814 * Makefile.in (lisp, shortlisp): Change indian.elc to indian.el.
10815
10816 2008-02-01 Kenichi Handa <handa@m17n.org>
10817
10818 * charset.c (load_charset_map): Handle the case that from < to
10819 correctly.
10820
10821 * coding.c (encode_coding_emacs_mule, encode_coding_iso_2022)
10822 (encode_coding_sjis, encode_coding_big5, encode_coding_charset):
10823 Pay attention to raw-8-bit chars.
10824
10825 2008-02-01 Kenichi Handa <handa@m17n.org>
10826
10827 * Makefile.in (lisp, shortlisp): Change chinese.elc to chinese.el.
10828 It is not bytecompiled now.
10829
10830 * charset.c (charset_jisx0201_roman, charset_jisx0208_1978)
10831 (charset_jisx0208): New variables.
10832 (Fdefine_charset_internal): Setup them if appropriate.
10833 (init_charset_once): Initialize them to -1.
10834
10835 * charset.h (charset_jisx0201_roman, charset_jisx0208_1978)
10836 (charset_jisx0208): Extern them.
10837
10838 * coding.c (CODING_ISO_FLAG_USE_ROMAN): New macro.
10839 (CODING_ISO_FLAG_USE_OLDJIS): New macro.
10840 (CODING_ISO_FLAG_FULL_SUPPORT): Change macro definition.
10841 (setup_iso_safe_charsets): Fix arguments to Fassq.
10842 (DECODE_DESIGNATION, ENCODE_ISO_CHARACTER_DIMENSION1)
10843 (ENCODE_ISO_CHARACTER_DIMENSION2): Pay attention to
10844 CODING_ISO_FLAG_USE_ROMAN and CODING_ISO_FLAG_USE_OLDJIS.
10845 (encode_coding_iso_2022): Change the 1st arg to
10846 ENCODE_ISO_CHARACTER to a variable.
10847
10848 2008-02-01 Kenichi Handa <handa@m17n.org>
10849
10850 * charset.h (enum define_charset_arg_index): New enums
10851 charset_arg_min_code and charset_arg_max_code.
10852 (struct charset): New member char_index_offset.
10853
10854 * charset.c (CODE_POINT_TO_INDEX, INDEX_TO_CODE_POINT):
10855 Take charset->char_index_offset into account.
10856 (Fdefine_charset_internal): Handle args[charset_arg_min_code] and
10857 args[charset_arg_max_code]. Setup charset.char_index_offset.
10858 (syms_of_charset): Fix args to Fdefine_charset_internal.
10859
10860 2008-02-01 Dave Love <fx@gnu.org>
10861
10862 * coding.c (decode_coding_utf_8): Reject overlong sequences.
10863
10864 2008-02-01 Dave Love <fx@gnu.org>
10865
10866 * coding.c: Doc fixes.
10867 (Fcoding_system_aliases): Fix return value.
10868 (Qmac): Remove (duplicated) definition.
10869
10870 2008-02-01 Dave Love <fx@gnu.org>
10871
10872 * charset.c (Fcharset_priority_list, Fset_charset_priority): New
10873 functions.
10874
10875 * character.c (Fstring): Doc fix.
10876
10877 * charset.c (Fdefine_charset_alias): Update Vcharset_list.
10878
10879 * fontset.c (Ffontset_info): Doc fix. Return charset names, not
10880 ids.
10881 (font-encoding-alist): Doc fix.
10882
10883 2008-02-01 Dave Love <fx@gnu.org>
10884
10885 * term.c (costs_set): Declare static, non-initialized for pcc.
10886 (encode_terminal_code): Remove unused var.
10887
10888 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
10889 for K&R.
10890
10891 * xterm.c (xlwmenu_window_p): Fix prototype for K&R.
10892
10893 * coding.c (setup_iso_safe_charsets): Fix arg decl for K&R.
10894 (suffixes): Move out of make_subsidiaries for K&R.
10895
10896 * charset.c (map_charset_chars): Fix c_function declaration for K&R.
10897
10898 * lisp.h (DEFUN) [!PROTOTYPES]: Remove spurious `args'.
10899
10900 2008-02-01 Dave Love <fx@gnu.org>
10901
10902 * data.c (Fchar_or_string_p): Doc fix. Use CHARACTERP.
10903
10904 * category.c (Fmodify_category_entry): Doc fix. Remove unused vars.
10905
10906 2008-02-01 Yong Lu <lyongu@asia-infonet.com>
10907
10908 * charset.c (Fdefine_charset_internal): Fix argument to bzero.
10909
10910 * coding.c (decode_coding_charset): Workaround for the bug of GCC 2.96.
10911
10912 2008-02-01 Kenichi Handa <handa@m17n.org>
10913
10914 * Makefile.in (lisp, shortlisp): Change cyrillic.elc to cyrillic.el,
10915 vietnamese.elc to vietnamese.el. They are not bytecompiled now.
10916
10917 2008-02-01 Kenichi Handa <handa@m17n.org>
10918
10919 * coding.c (decode_coding_charset): Adjust for the change of
10920 Fdefine_coding_system_internal.
10921 (Fdefine_coding_system_internal): For a coding system of
10922 `charset' type, store a list of charset IDs in
10923 `charset_attr_charset_valids' element of coding attributes.
10924
10925 2008-02-01 Kenichi Handa <handa@m17n.org>
10926
10927 * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars.
10928 (emacs_mule_char): New arg src. Delete arg `composition'. Change
10929 caller. Handle 2-byte and 3-byte charsets correctly.
10930 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Rename from
10931 DECODE_EMACS_MULE_COMPOSITION_RULE. Change caller.
10932 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New macro.
10933 (DECODE_EMACS_MULE_21_COMPOSITION): Call
10934 DECODE_EMACS_MULE_COMPOSITION_RULE_21. Produce correct annotation
10935 sequence.
10936 (decode_coding_emacs_mule): Handle composition correctly. Rewind
10937 `src' and `consumed_chars' correctly before calling emacs_mule_char.
10938 (DECODE_COMPOSITION_START): Correctly handle the case of altchar
10939 and alt&rule composition.
10940 (decode_coding_iso_2022): Handle composition correctly.
10941 (init_coding_once): Setup emacs_mule_bytes for private charsets.
10942
10943 * charset.c (Fdefine_charset_internal): Fix bug for the case of
10944 re-defining a charset. If the charset has :emacs-mule-id, setup
10945 emacs_mule_bytes.
10946 (Fmake_char): If CODE1 is nil, use the minimum code of the charset.
10947
10948 2008-02-01 Kenichi Handa <handa@m17n.org>
10949
10950 * coding.c (encode_coding_iso_2022, encode_coding_sjis)
10951 (encode_coding_big5, encode_coding_charset): If coding requires safe
10952 encoding, produce a character specified by
10953 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
10954
10955 2008-02-01 Dave Love <fx@gnu.org>
10956
10957 * xterm.c (XSetIMValues): Declare.
10958
10959 * process.c: Conditionally include sys/wait.h, pty.h.
10960
10961 * print.c (print_object): Fix print format for 64-bit systems.
10962
10963 * keyboard.c (modify_event_symbol): Fix print format for 64-bit systems.
10964
10965 * buffer.c (emacs_strerror): Declare.
10966
10967 * fontset.c (Fclear_face_cache): Declare.
10968 (accumulate_font_info): Comment-out (unused).
10969 (face_for_char, Fset_fontset_font, Ffontset_info): Remove unused
10970 variables.
10971
10972 * character.h (string_escape_byte8): Declare.
10973
10974 * charset.c (load_charset_map, load_charset_map_from_file): Remove
10975 unused vars.
10976 (Fdefine_charset_internal, Fsplit_char, syms_of_charset)
10977 (Fmap_charset_chars): Doc fix.
10978
10979 * coding.c (Vchar_coding_system_table, Qchar_coding_system): Remove.
10980 (Fset_coding_system_priority, Fset_coding_system_priority)
10981 (Fdefine_coding_system_internal): Doc fix.
10982
10983 2008-02-01 Dave Love <fx@gnu.org>
10984
10985 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Remove -nointrinsics.
10986
10987 2008-02-01 Kenichi Handa <handa@m17n.org>
10988
10989 * character.c (string_escape_byte8): Make multibyte string with
10990 correct size.
10991
10992 * charset.c (Fmake_char): Delete unnecessary code.
10993
10994 2008-02-01 Kenichi Handa <handa@m17n.org>
10995
10996 * xfns.c (x_encode_text): Allocate coding.destination here, and
10997 call encode_coding_object with dst_object Qnil.
10998
10999 * buffer.c (Fset_buffer_multibyte): Convert 8-bit bytes to
11000 multibyte form correctly.
11001
11002 * fontset.c (fs_load_font): Check fontp->full_name (not fontname)
11003 against Vfont_encoding_alist.
11004
11005 * coding.c (Fdecode_sjis_char): Fix typo (0x7F->0xFF). Fix the
11006 handling of charset list.
11007 (encode_coding_iso_2022): Setup coding->safe_charsets in advance.
11008 (decode_coding_object): Move point to coding->dst_pos before
11009 calling post-read-conversion function.
11010 (encode_coding_object): Give correct arguments to
11011 pre-write-conversion. Ignore the return value of
11012 pre-write-conversion function. Pay attention to the case that
11013 pre-write-conversion changes the current buffer. If dst_object is
11014 Qt, even if coding->src_bytes is zero, allocate at least one byte
11015 to coding->destination.
11016
11017 * coding.h (JIS_TO_SJIS): Fix typo (j1->s1, j2->s2).
11018
11019 * charset.c (Fmake_char): Make it more backward compatible.
11020 (Fmap_charset_chars): Fix docstring.
11021
11022 2008-02-01 Dave Love <fx@gnu.org>
11023
11024 * coding.c: Doc fixes.
11025 (Fdefine_coding_system_alias): Use names, not symbols, in
11026 coding-system-alist.
11027
11028 2008-02-01 Kenichi Handa <handa@m17n.org>
11029
11030 * fontset.c (free_realized_fontsets): Call Fclear_face_cache instead
11031 of calling free_realized_face.
11032
11033 2008-02-01 Yong Lu <lyongu@asia-infonet.com>
11034
11035 * charset.c (read_hex): Don't treat SPC as a comment starter.
11036 (decode_char): If CODE_POINT_TO_INDEX retruns -1, always return -1.
11037 (Fdecode_char): Fix typo.
11038
11039 2008-02-01 Kenichi Handa <handa@m17n.org>
11040
11041 * charset.h (struct charset): New member `code_space_mask'.
11042
11043 * coding.c (coding_set_source): Delete the local variable beg_byte.
11044 (encode_coding_charset, Fdefine_coding_system_internal):
11045 Delete the local variable charset.
11046 (Fdefine_coding_system_internal): Setup
11047 attrs[coding_attr_charset_valids] correctly.
11048
11049 * charset.c (CODE_POINT_TO_INDEX): Utilize `code_space_mask'
11050 member to check if CODE is valid or not.
11051 (Fdefine_charset_internal): Initialize `code_space_mask' member.
11052 (encode_char): Before calling CODE_POINT_TO_INDEX, check if CODE
11053 is within the range of charset->min_code and carset->max_code.
11054
11055 2008-02-01 Dave Love <fx@gnu.org>
11056
11057 * syntax.h (syntax_temp) [!__GNUC__]: Declare.
11058
11059 * dispextern.h (generate_ascii_font): Fix return type.
11060
11061 * xfaces.c (generate_ascii_font): Fix arg declaration.
11062
11063 * coding.c (coding_inherit_eol_type)
11064 (Fset_terminal_coding_system_internal)
11065 (Fset_safe_terminal_coding_system_internal): Fix arg declarations.
11066
11067 2008-02-01 Kenichi Handa <handa@m17n.org>
11068
11069 * coding.c (decode_coding_charset, encode_coding_charset): Handle
11070 multiple charsets correctly.
11071
11072 2008-02-01 Kenichi Handa <handa@m17n.org>
11073
11074 * search.c (boyer_moore): Fix handling of mulitbyte character
11075 translation.
11076
11077 * xdisp.c (display_mode_element): When the variable `elt' is
11078 changed, update `this' and `lisp_string'.
11079
11080 2008-02-01 Kenichi Handa <handa@m17n.org>
11081
11082 * buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling.
11083
11084 * callproc.c (Fcall_process): Be sure to give the current buffer
11085 to decode_coding_c_string. Update PT and PT_BYTE after the insertion.
11086
11087 * charset.c (struct charset_map_entries): New struct.
11088 (load_charset_map): Rename from parse_charset_map. New args
11089 entries and n_entries. Change caller.
11090 (load_charset_map_from_file): Rename from load_charset_map.
11091 Change caller. New arg control_flag. Call load_charset_map at
11092 the tail.
11093 (load_charset_map_from_vector): New function.
11094 (Fdefine_charset_internal): Setup charset.compact_codes_p.
11095 (encode_char): If the charset is compact, change a character index
11096 to a code point.
11097
11098 * coding.c (coding_alloc_by_making_gap): Check the case that the
11099 source and destination are the same correctly.
11100 (decode_coding_raw_text): Set coding->consumed_char and
11101 coding->consumed to 0.
11102 (produce_chars): If coding->chars_at_source is nonzero, update
11103 coding->consumed_char and coding->consumed before calling
11104 alloc_destination.
11105 (Fdefine_coding_system_alias): Register ALIAS in
11106 Vcoding_system_alist.
11107 (syms_of_coding): Define `no-convesion' coding system at the tail.
11108
11109 * fileio.c (Finsert_file_contents): Set coding_system instead of
11110 val. If the current buffer is multibyte, always call
11111 decode_coding_gap.
11112
11113 * xfaces.c (try_font_list): Give higher priority to fontset's
11114 family than face's family.
11115
11116 2008-02-01 Kenichi Handa <handa@m17n.org>
11117
11118 * callproc.c (Fcall_process): Be sure to give the current buffer
11119 to decode_coding_c_string.
11120
11121 * xfaces.c (try_font_list): Give a family specified in a fontset
11122 higher priority than a family specified in a face.
11123
11124 2008-02-01 Kenichi Handa <handa@m17n.org>
11125
11126 * fileio.c (Finsert_file_contents): Fix calculation of `inserted'.
11127 Fix arguments to insert_from_buffer.
11128
11129 * xdisp.c (display_mode_element): Fix calculation of `bytepos'.
11130
11131 2008-02-01 Kenichi Handa <handa@m17n.org>
11132
11133 * coding.c (produce_chars): Set the variable `multibytep' correctly.
11134 (decode_coding_gap): Set coding->dst_multibyte correctly.
11135
11136 2008-02-01 Kenichi Handa <handa@m17n.org>
11137
11138 * coding.c (encode_coding_utf_8): Initialize produced_chars to 0.
11139 (decode_coding_utf_16): Fix converting high and low bytes to code-point.
11140 (encode_coding_utf_16): Substitute coding->default_char for
11141 non-Unicode characters.
11142 (decode_coding): Don't call record_insert here.
11143 (setup_coding_system): Initialize `surrogate' of
11144 coding->spec.utf_16 to 0.
11145 (EMIT_ONE_BYTE): Fix for multibyte case.
11146
11147 * insdel.c (insert_from_gap): Call record_insert.
11148
11149 2008-02-01 Kenichi Handa <handa@m17n.org>
11150
11151 * casefiddle.c (casify_region): Fix multibyte case.
11152
11153 * character.c (c_string_width): Add return type `int'.
11154 (char_string_with_unification): Delete arg ADVANCED.
11155
11156 * character.h (CHAR_VALID_P): Don't call CHARACTERP.
11157 (CHAR_STRING): Adjust for the change of char_string_with_unification.
11158 (CHAR_STRING_ADVANCE): Make it do-while statement.
11159
11160 * chartab.c (sub_char_table_set_range): Optimize for the case
11161 DEPTH == 3. Add workaround code for a GCC optimization bug.
11162
11163 * charset.c (parse_charset_map): Remove an unused variable.
11164
11165 * coding.c: Delete unused variables.
11166
11167 * fileio.c (Finsert_file_contents): Set coding_system to Qnil
11168 earlier. If inserted is zero and the coding system doesn't
11169 require flushing, don't call decode_coding_gap.
11170
11171 * syntax.h (SET_RAW_SYNTAX_ENTRY): Don't call make_number.
11172
11173 2008-02-01 Kenichi Handa <handa@m17n.org>
11174
11175 The following changes are for using Unicode as an internal
11176 character model, and use UTF-8 format for buffer/string
11177 representation.
11178
11179 * .gdbinit (xchartable): Adjust for the change of char table structure.
11180 (xsubchartable, xcoding, xcharset, xcurbuf): New commands.
11181
11182 * Makefile.in (obj): Add character.o and chartab.o.
11183 (lisp, shortlisp): Remove utf-8.elc.
11184 (*.o): For many files, change dependency on charset.h to
11185 character.h, and add dependency on character.h.
11186 (character.o, chartab.o): New targets.
11187
11188 * abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c:
11189 * doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c:
11190 * w16select.c, w32bdf.c, w32console.c: Include "character.h" instead
11191 of "charset.h".
11192
11193 * dired.c, filelock.c: Include "character.h".
11194
11195 * alloc.c: Include "character.h" instead of "charset.h".
11196 (Fmake_char_table, make_sub_char_table): Move to chartab.c.
11197 (syms_of_alloc): Remove defsubr for Smake_char_table.
11198
11199 * buffer.c: Include "character.h" instead of "charset.h", don't
11200 include "coding.h".
11201 (Fset_buffer_multibyte): Adjust for UTF-8.
11202
11203 * buffer.h: EXFUN Fbuffer_live_p.
11204
11205 * callproc.c: Include "character.h" instead of "charset.h".
11206 (Fcall_process): Big change for the new code-conversion APIs.
11207
11208 * casetab.c: Include "character.h" instead of "charset.h".
11209 (set_canon, set_identity, shuffle): Adjust for the new
11210 map_char_table spec.
11211 (init_casetab_once): Call CHAR_TABLE_SET instead of directly
11212 accessing the char table structure.
11213
11214 * chartab.c: New file that implements char table.
11215
11216 * category.c: Include "character.h".
11217 (copy_category_entry): New function.
11218 (copy_category_table): Call map_char_table and copy_category_entry.
11219 (Fmake_category_table): Initialize all top-vel slots.
11220 (char_category_set): New function.
11221 (modify_lower_category_set): Delete.
11222 (Fmodify_category_entry): Call char_table_ref_and_range.
11223
11224 * category.h (CATEGORY_SET): Just call char_category_set.
11225
11226 * ccl.c: Include "character.h".
11227 (Qccl, Qcclp): New variables.
11228 (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if
11229 it's less than 256.
11230 (CCL_WRITE_MULTIBYTE_CHAR): Delete.
11231 (CCL_WRITE_STRING, CCL_READ_CHAR): Adjust for the change of SRC
11232 and DST type.
11233 (ccl_driver): Change types of argument, adjust code accordingly.
11234 (Fccl_execute, Fccl_execute_on_string): Adjust for the change of
11235 ccl_driver.
11236 (syms_of_ccl): Intern and staticpro Qccl and Qcclp.
11237
11238 * ccl.h (struct ccl_program): Delete members eol_type and multibyte.
11239 New members src_multibyte, dst_multibyte, consumed, and produced.
11240 (struct ccl_spec): Delete members decoder and encoder. New member ccl.
11241 (CODING_SPEC_CCL_PROGRAM): New macro.
11242 (ccl_driver): Update prototype.
11243 (Qccl, Qcclp, Fccl_program_p): Extern them.
11244 (CHECK_CCL_PROGRAM): New macro.
11245
11246 * character.c, character.h, chartab.c: New files.
11247
11248 * charset.c: Mostly re-written. Move character and multibyte sequence
11249 handling codes to character.c.
11250
11251 * charset.h: Mostly re-written. Move character and multibyte sequence
11252 handling codes to character.h.
11253
11254 * coding.c, coding.h: Mostly re-written.
11255
11256 * composite.c: Include "character.h" instead of "charset.h".
11257 (CHAR_WIDTH): Move to character.h.
11258 (HASH_KEY, HASH_VALUE): Delete.
11259
11260 * composite.h (enum composition_method): Change order of enumeration
11261 symbols.
11262
11263 * data.c: Include "character.h" instead of "charset.h".
11264 (Faref): Call CHAR_TABLE_REF for a char table.
11265 (Faset): Call CHAR_TABLE_SET for a char table.
11266
11267 * dispextern.h (free_realized_face, check_face_attribytes)
11268 (generate_ascii_font): Extern them.
11269 (free_realized_multibyte_face): Delete extern.
11270
11271 * disptab.h (DISP_CHAR_VECTOR): Adjust for the change of char
11272 table structure.
11273
11274 * editfns.c: Include "character.h" instead of "charset.h".
11275 (Fchar_to_string): Always call CHAR_STRING.
11276
11277 * emacs.c (main): Call init_charset_once, init_charset,
11278 syms_of_chartab, and syms_of_character.
11279
11280 * fileio.c: Include "character.h" instead of "charset.h".
11281 (Finsert_file_contents): Big change for the new code-conversion API.
11282 (choose_write_coding_system, Fwrite_region): Likewise.
11283 (build_annotations_2): Delete.
11284 (e_write): Big change for the new code-conversion API.
11285
11286 * fns.c: Include "character.h" instead of "charset.h".
11287 (copy_sub_char_table): Move to chartab.c.
11288 (Fcopy_sequence): Call copy_char_table for a char table.
11289 (concat): Delete codes calling count_multibyte.
11290 (string_char_to_byte, string_byte_to_char): Adjust for the new
11291 multibyte form.
11292 (internal_equal): Adjust for the change of char table structure.
11293 (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent)
11294 (Fchar_table_extra_slot, Fset_char_table_extra_slot)
11295 (Fchar_table_range, Fset_char_table_range, Fset_char_table_default)
11296 (char_table_translate, optimize_sub_char_table)
11297 (Foptimize_char_table, map_char_table, Fmap_char_table): Move to
11298 chartab.c.
11299 (char_table_ref_and_index): Delete.
11300 (HASH_KEY, HASH_VALUE): Move to lisp.h.
11301 (Fmd5): Call preferred_coding_system instead of accessing
11302 Vcoding_category_list. Adjust for the new code-conversion API.
11303 (syms_of_fns): Move defsubr for char table related functions to
11304 chartab.c.
11305
11306 * fontset.c: Mostly re-written.
11307
11308 * fontset.h (struct font_info): Change type of the member encoding_type.
11309 (enum FONT_SPEC_INDEX): New enum.
11310 (fontset_font_pattern, fs_load_font): Update prototype.
11311 (FS_LOAD_FONT): Adjust for the change of fs_load_font.
11312
11313 * indent.c: Include "character.h" instead of "charset.h".
11314 (MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of WIDTH_BY_CHAR_HEAD.
11315
11316 * insdel.c: Include "character.h" instead of "charset.h".
11317 (copy_text): Don't refer to Vnonascii_translation_table.
11318 (insert_from_gap): New function.
11319
11320 * keyboard.c: Include "character.h" instead of "charset.h".
11321 (command_loop_1): Never call direct_output_forward_char before
11322 a non-ASCII character.
11323 (read_char): If Vkeyboard_translate_table is a char table, always
11324 translate a character.
11325
11326 * keymap.c: Include "character.h".
11327 (store_in_keymap): Handle the case that IDX is a cons.
11328 (Fdefine_key): Handle the case that KEY is a cons and the car part
11329 is also a cons (range).
11330 (push_key_description): Adjust for the new character code.
11331 (describe_vector): Call describe_char_table for a char table.
11332 (describe_char_table): New function.
11333
11334 * keymap.h (describe_char_table): Extern it.
11335
11336 * lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE.
11337 (XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros.
11338 (CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS)
11339 (SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):
11340 Delete.
11341 (CHAR_TABLE_REF, CHAR_TABLE_SET): Adjust for the new char table
11342 structure.
11343 (CHAR_TABLE_TRANSLATE): Just call char_table_translate.
11344 (CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2)
11345 (CHARTAB_SIZE_BITS_3): New macros.
11346 (chartab_size): Extern it.
11347 (struct Lisp_Char_Table): Re-design.
11348 (struct Lisp_Sub_Char_Table): New structure.
11349 (HASH_KEY, HASH_VALUE): Move from fns.c.
11350 (CHARACTERBITS): Define as 22.
11351 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjust for the above change.
11352 (SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE.
11353 (GC_SUB_CHAR_TABLE_P): New macro.
11354 (Fencode_coding_string, Fdecode_coding_string): Update EXFUN.
11355 (code_convert_string_norecord): Deleted extern.
11356 (init_character_once, syms_of_character, init_charset)
11357 (syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them.
11358
11359 * lread.c: Include "character.h".
11360 (read_multibyte): New arg NBYTES.
11361 (read_escape): Change the meaning of returned *BYTEREP.
11362 (to_multibyte): Delete.
11363 (read1): Adjust the handling of char table and string.
11364
11365 * print.c: Include "character.h" instead of "charset.h".
11366 (print_string): Convert 8-bit raw bytes to octal form by
11367 string_escape_byte8.
11368 (print_object): Adjust for the new multibyte form. Print 8-bit
11369 raw bytes always in octal form. Handle sub char table correctly.
11370
11371 * process.c: Include "character.h" instead of "charset.h".
11372 (read_process_output, send_process): Adjust for the new
11373 code-conversion API.
11374
11375 * puresize.h (BASE_PURESIZE): Increase.
11376
11377 * regex.c: Include "character.h" instead of "charset.h".
11378 (BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros.
11379 (regex_compile): Accept a range whose starting and ending
11380 character have different leading bytes.
11381 (analyse_first): Adjust for the above change.
11382
11383 * search.c: Include "character.h" instead of "charset.h".
11384 (search_buffer, boyer_moore): Adjust for the new multibyte form.
11385 (Freplace_match): Adjust for the change of multibyte_char_to_unibyte.
11386
11387 * syntax.c: Include "character.h" instead of "charset.h".
11388 (syntax_parent_lookup): Delete.
11389 (Fmodify_syntax_entry): Accept a cons as CHAR.
11390 (skip_chars): Adjust for the new multibyte form.
11391 (init_syntax_once): Call char_table_set_range instead of directly
11392 accessing the structure of a char table.
11393
11394 * syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET.
11395 (SYNTAX_ENTRY_FOLLOW_PARENT): Delete macro.
11396 (SET_RAW_SYNTAX_ENTRY_RANGE): New macro.
11397 (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF.
11398
11399 * term.c: Include "buffer.h" and "character.h".
11400 (encode_terminal_code, write_glyphs): Adjust for the new
11401 code-conversion API.
11402 (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH.
11403
11404 * w32term.c (x_new_font): Adjust for the change of FS_LOAD_FONT.
11405
11406 * xdisp.c: Include "character.h".
11407 (get_next_display_element): Adjust for the new multibyte form.
11408 (disp_char_vector): Adjust for the new char table structure.
11409 (decode_mode_spec_coding): Adjust for the new structure of
11410 coding system.
11411 (decode_mode_spec): Adjust for the new code-conversion API.
11412
11413 * xfaces.c: Include "character.h" instead of "charset.h".
11414 (load_face_font): Adjust for the change of choose_face_font and
11415 FS_LOAD_FONT.
11416 (generate_ascii_font): New function.
11417 (set_lface_from_font_name): Adjust for the change of FS_LOAD_FONT.
11418 (set_font_frame_param): Adjust for the change of choose_face_font.
11419 (free_realized_face): Make it public.
11420 (free_realized_faces_for_fontset): Rename from
11421 free_realized_multibyte_face. Free also faces realized for ASCII.
11422 (choose_face_font): Change arguments. Adjust for the change of
11423 fontset_font_pattern and FS_LOAD_FONT.
11424
11425 * xfns.c: Include "character.h".
11426 (x_encode_text): Adjust for the new code-conversion API.
11427
11428 * xselect.c: Don't include "charset.h".
11429 (selection_data_to_lisp_data): Adjust for the new code conversion API.
11430
11431 * xterm.c: Include "character.h".
11432 (x_encode_char): New argument CHARSET. Change caller.
11433 (x_get_char_face_and_encoding, x_get_glyph_face_and_encoding):
11434 Call ENCODE_CHAR instead of SPLIT_CHAR.
11435 (x_produce_glyphs): Don't check Vnonascii_translation_table Call
11436 CHAR_WIDTH instead of CHARSET_WIDTH.
11437 (XTread_socket): Adjust for the new code-conversion API.
11438 (x_new_font): Adjust for the change of FS_LOAD_FONT.
11439 (x_load_font): Adjust for the change of struct font.
11440
11441 2008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
11442
11443 * xfaces.c (face_at_buffer_position): Remove unused vars.
11444
11445 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
11446
11447 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR):
11448 Fix overflow checking.
11449
11450 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
11451
11452 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR, ccl_driver):
11453 Cancel previous change.
11454
11455 2008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
11456
11457 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when
11458 ccl->eight_bit_control. Fix check for buffer overflow.
11459 (CCL_WRITE_MULTIBYTE_CHAR): Fix check for buffer overflow.
11460 (ccl_driver): Initialize extra_bytes to 0.
11461
11462 2008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
11463
11464 * keyboard.c (make_ctrl_char): If C is a multibyte character, just
11465 return it ORed with ctrl_modifier.
11466
11467 2008-01-29 Miles Bader <miles@gnu.org>
11468
11469 * macterm.c (XTset_vertical_scroll_bar): Fix merge mistake.
11470
11471 2008-01-28 Jason Rumney <jasonr@gnu.org>
11472
11473 * w32.c (stat): Don't double check for networked drive.
11474
11475 2008-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
11476
11477 * window.c (run_window_configuration_change_hook): New function.
11478 Code extracted from set_window_buffer. Set the selected frame.
11479 (set_window_buffer): Use it.
11480 * window.h (run_window_configuration_change_hook): Declare.
11481 * dispnew.c (change_frame_size_1): Use it instead of set-window-buffer.
11482
11483 * keyboard.c (read_char): Yet another int/Lisp_Object mixup (YAILOM).
11484
11485 2008-01-27 Dan Nicolaescu <dann@ics.uci.edu>
11486
11487 * Makefile.in: Remove references to unused macros.
11488
11489 2008-01-26 Eli Zaretskii <eliz@gnu.org>
11490
11491 * w32.c (g_b_init_get_sid_sub_authority)
11492 (g_b_init_get_sid_sub_authority_count): New static variables.
11493 (GetSidSubAuthority_Proc, GetSidSubAuthorityCount_Proc): New typedefs.
11494 (get_sid_sub_authority, get_sid_sub_authority_count): New functions.
11495 (init_user_info): Use them to retrieve uid and gid.
11496 Use 500/513, the Windows defaults, as Administrator's uid/gid.
11497 (fstat): Use pw_uid and pw_gid from the_passwd structure for
11498 st_uid and st_gid of the file.
11499
11500 2008-01-26 Jason Rumney <jasonr@gnu.org>
11501
11502 * w32.c (logon_network_drive): New function.
11503 (stat): Use it.
11504
11505 2008-01-26 Chong Yidong <cyd@stupidchicken.com>
11506
11507 * xdisp.c (pos_visible_p): Handle the case where charpos falls on
11508 invisible text covered with an ellipsis.
11509
11510 2008-01-25 Richard Stallman <rms@gnu.org>
11511
11512 * xdisp.c (redisplay_window): Run Qwindow_text_change_functions and
11513 jump back to beginning. Move some other initializations after that.
11514 (Qwindow_text_change_functions, Vwindow_text_change_functions):
11515 New variables.
11516 (syms_of_xdisp): Init them.
11517
11518 * keyboard.c (read_char): Restore echo_message_buffer after redisplay.
11519
11520 * buffer.c (reset_buffer_local_variables):
11521 Implement `permanent-local-hook'.
11522 (Qpermanent_local_hook): New variable.
11523 (syms_of_buffer): Init and staticpro it.
11524
11525 2008-01-25 Michael Albinus <michael.albinus@gmx.de>
11526
11527 * dbusbind.c (xd_retrieve_arg): Pacify GCC on x86_64 GNU/Linux.
11528
11529 2008-01-25 Thien-Thi Nguyen <ttn@gnuvola.org>
11530
11531 * fns.c (Fclrhash): Return TABLE.
11532
11533 2008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11534
11535 * macterm.c (x_scroll_bar_create): Initialize bar->redraw_needed_p.
11536 (XTset_vertical_scroll_bar): Redraw scroll bar if bar->redraw_needed_p
11537 is set even without positional changes.
11538 (x_scroll_bar_clear): Set bar->redraw_needed_p.
11539
11540 * macterm.h (struct scroll_bar): New member `redraw_needed_p'.
11541
11542 2008-01-23 Jason Rumney <jasonr@gnu.org>
11543
11544 * xterm.c (handle_one_xevent): Revert to counting chars not bytes.
11545
11546 * w32term.c (w32_read_socket) <WM_CHAR>: Decode characters outside
11547 the unicode range available in MULE by locale-coding-system.
11548 Improve dbcs lead byte detection. Set event timestamp and modifiers
11549 earlier.
11550
11551 2008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11552
11553 * mac.c (mac_emacs_pid) [MAC_OSX]: New variable.
11554 [MAC_OSX] (init_mac_osx_environment): Initialize it.
11555 [MAC_OSX] (mac_try_close_socket) [SELECT_USE_CFSOCKET]: Return 0
11556 when used on child processes.
11557
11558 2008-01-21 Michael Albinus <michael.albinus@gmx.de>
11559
11560 * dbusbind.c (Fdbus_method_return_internal): Rename from
11561 Fdbus_method_return.
11562 (Fdbus_unregister_object): Move to dbus.el.
11563 (Fdbus_call_method, Fdbus_method_return_internal)
11564 (Fdbus_send_signal): Improve debug messages.
11565
11566 2008-01-20 Martin Rudalics <rudalics@gmx.at>
11567
11568 * undo.c (undo_inhibit_record_point): New variable.
11569 (syms_of_undo): Initialize it.
11570 (record_point): Don't record point when undo_inhibit_record_point
11571 is set.
11572
11573 2008-01-19 Stefan Monnier <monnier@iro.umontreal.ca>
11574
11575 * process.c (list_processes_1): Don't use SCHARS on a nil buffer name.
11576
11577 * xdisp.c (Qauto_hscroll_mode): New var.
11578 (syms_of_xdisp): Initialize it.
11579 (hscroll_window_tree): Use it to lookup `auto-hscroll-mode' in each
11580 window's buffer.
11581 (hscroll_windows): Don't check automatic_hscrolling_p here.
11582
11583 * window.c (set_window_buffer): Don't unnecessarily reset hscroll and
11584 vscroll if we're setting window-buffer to the value it already has.
11585
11586 2008-01-18 Dan Nicolaescu <dann@ics.uci.edu>
11587
11588 * m/intel386.h: Remove references to XENIX.
11589
11590 2008-01-17 Andreas Schwab <schwab@suse.de>
11591
11592 * m/amdx86-64.h (START_FILES, LIB_STANDARD): Use HAVE_LIB64_DIR
11593 instead of HAVE_X86_64_LIB64_DIR.
11594 * m/ibms390x.h (START_FILES, LIB_STANDARD): Likewise.
11595
11596 2008-01-17 Glenn Morris <rgm@gnu.org>
11597
11598 * m/ibms390x.h (START_FILES, LIB_STANDARD): Adjust value according
11599 to HAVE_X86_64_LIB64_DIR.
11600
11601 2008-01-16 Dan Nicolaescu <dann@ics.uci.edu>
11602
11603 * s/irix3-3.h:
11604 * s/irix4-0.h:
11605 * s/386-ix.h:
11606 * s/domain.h:
11607 * s/hpux9-x11r4.h:
11608 * s/hpux9shxr4.h: Remove files for systems no longer supported.
11609
11610 * sysdep.c: Remove code containing references to symbols defined
11611 by unsupported systems.
11612
11613 2008-01-16 Glenn Morris <rgm@gnu.org>
11614
11615 * coding.c (select-safe-coding-system-function): Doc fix.
11616
11617 2008-01-15 Glenn Morris <rgm@gnu.org>
11618
11619 * config.in: Revert 2008-01-13 change: this is a generated file.
11620
11621 2008-01-13 Tom Tromey <tromey@redhat.com>
11622
11623 * lisp.h: Fix typo.
11624
11625 2008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
11626
11627 * m/sequent-ptx.h:
11628 * m/sequent.h:
11629 * s/ptx.h:
11630 * s/ptx4-2.h:
11631 * s/ptx4.h: Remove files for systems no longer supported.
11632
11633 * callproc.c (Fcall_process): Fix previous change.
11634
11635 2008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
11636
11637 * unexsunos4.c: Remove file, system not supported anymore.
11638
11639 * m/mips.h:
11640 * m/intel386.h:
11641 * callproc.c:
11642 * config.in:
11643 * ecrt0.c:
11644 * emacs.c:
11645 * fileio.c:
11646 * frame.c:
11647 * getpagesize.h:
11648 * keyboard.c:
11649 * lread.c:
11650 * process.c:
11651 * puresize.h:
11652 * sysdep.c:
11653 * systty.h:
11654 * syswait.h:
11655 * unexec.c:
11656 * xdisp.c:
11657 * alloc.c: Remove code containing references to symbols defined by
11658 unsupported systems.
11659
11660 2008-01-11 Kenichi Handa <handa@ni.aist.go.jp>
11661
11662 * coding.c (detect_coding_mask): Fix previous change.
11663
11664 2008-01-09 Kenichi Handa <handa@ni.aist.go.jp>
11665
11666 * coding.c (detect_coding_iso2022): New arg
11667 latin_extra_code_state. Allow Latin extra codes only
11668 when *latin_extra_code_state is nonzero.
11669 (detect_coding_mask): If there is a NULL byte, detect the encoding
11670 as UTF-16 or binary. If Latin extra codes exist, detect the
11671 encoding as ISO-2022 only when there's no other proper encoding is
11672 found.
11673
11674 2008-01-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11675
11676 * frame.c (Fmake_terminal_frame): Use #ifdef MAC_OS8 instead of
11677 #ifdef MAC_OS.
11678
11679 2008-01-08 Richard Stallman <rms@gnu.org>
11680
11681 * fileio.c (Ffile_name_directory, Fexpand_file_name): Doc fixes.
11682
11683 2008-01-06 Nick Roberts <nickrob@snap.net.nz>
11684
11685 * keyboard.c (parse_menu_item): Don't enclose key bindings on
11686 menu bar in parentheses.
11687
11688 2008-01-06 Dan Nicolaescu <dann@ics.uci.edu>
11689
11690 * m/7300.h:
11691 * m/acorn.h:
11692 * m/alliant-2800.h:
11693 * m/alliant.h:
11694 * m/alliant1.h:
11695 * m/alliant4.h:
11696 * m/altos.h:
11697 * m/amdahl.h:
11698 * m/apollo.h:
11699 * m/att3b.h:
11700 * m/aviion-intel.h:
11701 * m/aviion.h:
11702 * m/celerity.h:
11703 * m/clipper.h:
11704 * m/cnvrgnt.h:
11705 * m/convex.h:
11706 * m/cydra5.h:
11707 * m/delta88k.h:
11708 * m/dpx2.h:
11709 * m/dual.h:
11710 * m/elxsi.h:
11711 * m/f301.h:
11712 * m/gould-np1.h:
11713 * m/gould.h:
11714 * m/i860.h:
11715 * m/ibmps2-aix.h:
11716 * m/ibmrt-aix.h:
11717 * m/ibmrt.h:
11718 * m/irist.h:
11719 * m/is386.h:
11720 * m/isi-ov.h:
11721 * m/mega68.h:
11722 * m/mg1.h:
11723 * m/news-r6.h:
11724 * m/news-risc.h:
11725 * m/news.h:
11726 * m/nh3000.h:
11727 * m/nh4000.h:
11728 * m/ns16000.h:
11729 * m/ns32000.h:
11730 * m/nu.h:
11731 * m/orion.h:
11732 * m/orion105.h:
11733 * m/paragon.h:
11734 * m/pfa50.h:
11735 * m/plexus.h:
11736 * m/pyramid.h:
11737 * m/pyrmips.h:
11738 * m/sh3el.h:
11739 * m/sps7.h:
11740 * m/sr2k.h:
11741 * m/stride.h:
11742 * m/sun1.h:
11743 * m/sun2.h:
11744 * m/sun3-68881.h:
11745 * m/sun3-fpa.h:
11746 * m/sun3-soft.h:
11747 * m/sun3.h:
11748 * m/sun386.h:
11749 * m/symmetry.h:
11750 * m/tad68k.h:
11751 * m/tahoe.h:
11752 * m/targon31.h:
11753 * m/tek4300.h:
11754 * m/tekxd88.h:
11755 * m/tower32.h:
11756 * m/tower32v3.h:
11757 * m/ustation.h:
11758 * m/wicat.h:
11759 * m/xps100.h:
11760 * s/cxux.h:
11761 * s/cxux7.h:
11762 * s/dgux.h:
11763 * s/dgux4.h:
11764 * s/dgux5-4-3.h:
11765 * s/dgux5-4r2.h:
11766 * s/esix.h:
11767 * s/esix5r4.h:
11768 * s/hiuxmpp.h:
11769 * s/hiuxwe2.h:
11770 * s/iris3-5.h:
11771 * s/iris3-6.h:
11772 * s/isc2-2.h:
11773 * s/isc3-0.h:
11774 * s/isc4-0.h:
11775 * s/isc4-1.h:
11776 * s/newsos5.h:
11777 * s/newsos6.h:
11778 * s/osf1.h:
11779 * s/osf5-0.h:
11780 * s/riscix1-1.h:
11781 * s/riscix12.h:
11782 * s/sco4.h:
11783 * s/sco5.h:
11784 * s/sunos4-0.h:
11785 * s/sunos4-1.h:
11786 * s/sunos413.h:
11787 * s/sunos4shr.h:
11788 * s/umax.h:
11789 * s/unipl5-2.h:
11790 * s/xenix.h:
11791 * cxux-crt0.s:
11792 * unexapollo.c:
11793 * unexconvex.c:
11794 * unexenix.c:
11795 * unexsni.c: Remove files for systems no longer supported.
11796
11797 * m/intel386.h: Remove references to unsupported systems.
11798
11799 * w32.c (get_emacs_configuration): Remove reference to i860.
11800
11801 * sysdep.c: Remove dead code.
11802
11803 2008-01-05 Dan Nicolaescu <dann@ics.uci.edu>
11804
11805 * s/rtu.h:
11806 * m/masscomp.h: Remove files. Platform is obsolete.
11807
11808 2008-01-04 Michael Albinus <michael.albinus@gmx.de>
11809
11810 * dbusbind.c (Fdbus_method_return): New function.
11811 (xd_read_message): Add the serial number to the event.
11812 (Fdbus_register_method): Activate the function.
11813
11814 2008-01-03 Stefan Monnier <monnier@iro.umontreal.ca>
11815
11816 * keyboard.c (read_key_sequence): Fix typo.
11817
11818 2008-01-03 Michael Albinus <michael.albinus@gmx.de>
11819
11820 * dbusbind.c (all): Replace XCAR by CAR_SAFE and XCDR by CDR_SAFE.
11821 (xd_signature, xd_append_arg): Handle element type detection for
11822 empty arrays.
11823 (Fdbus_call_method, Fdbus_send_signal): Undo type casting for
11824 SDATA () calls; this must be solved more general.
11825 (Fdbus_register_signal): Use SBYTES instead of strlen.
11826
11827 2008-01-03 Magnus Henoch <magnus@zemdatav>
11828
11829 * dbusbind.c (xd_append_arg): Use unsigned char instead of
11830 unsigned int for byte values (necessary for big-endian platform).
11831 (Fdbus_call_method): Handle the case of no returned arguments.
11832
11833 2007-12-31 Tom Tromey <tromey@redhat.com> (tiny change)
11834
11835 * dbusbind.c (xd_read_message): Use non-static input_event struct.
11836
11837 2007-12-31 Magnus Henoch <mange@freemail.hu>
11838
11839 * dbusbind.c (xd_signature): Signature of variant is just "v".
11840
11841 2007-12-30 Michael Albinus <michael.albinus@gmx.de>
11842
11843 * dbusbind.c: Fix several errors and compiler warnings.
11844 Reported by Tom Tromey <tromey@redhat.com>.
11845 (XD_ERROR, XD_DEBUG_MESSAGE)
11846 (XD_DEBUG_VALID_LISP_OBJECT_P): Wrap code with "do ... while (0)".
11847 (xd_append_arg): Part for basic D-Bus types rewitten.
11848 (xd_retrieve_arg): Split implementation of DBUS_TYPE_BYTE and
11849 DBUS_TYPE_(U)INT16. Don't call XD_DEBUG_MESSAGE with "%f" if not
11850 appropriate.
11851 (xd_read_message): Return Qnil. Don't signal an error; it is not
11852 useful during event reading.
11853 (Fdbus_register_signal): Signal an error if the check for
11854 FUNCTIONP fails.
11855 (Fdbus_register_method): New function. The implementation is not
11856 complete, the call of the function signals an error therefore.
11857 (Fdbus_unregister_object): New function, renamed from
11858 Fdbus_unregister_signal. The initial check signals an error, if
11859 the object is not well formed.
11860
11861 2007-12-30 Richard Stallman <rms@gnu.org>
11862
11863 * textprop.c (get_char_property_and_overlay):
11864 Signal error if POSITION is out of range in a buffer.
11865
11866 2007-12-29 Martin Rudalics <rudalics@gmx.at>
11867
11868 * w32fns.c (Fx_create_frame): Make copy of frame parameters
11869 because the original parameters are in pure storage now.
11870
11871 2007-12-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11872
11873 * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area.
11874
11875 2007-12-22 Eli Zaretskii <eliz@gnu.org>
11876
11877 * callint.c (syms_of_callint) <command-history>: Add reference to
11878 history-length in the doc string.
11879
11880 2007-12-17 Jason Rumney <jasonr@gnu.org>
11881
11882 * w32fns.c (w32_wnd_proc) <WM_KEYDOWN>: Cast char to unsigned
11883 before passing as wParam.
11884
11885 2007-12-22 Michael Albinus <michael.albinus@gmx.de>
11886
11887 * dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_BYTE,
11888 DBUS_TYPE_INT16, DBUS_TYPE_UINT16, DBUS_TYPE_INT64,
11889 DBUS_TYPE_UINT64, DBUS_TYPE_DOUBLE and DBUS_TYPE_SIGNATURE.
11890 Return float when DBUS_TYPE_INT32 or DBUS_TYPE_UINT32 do not fit
11891 as number.
11892 (Fdbus_call_method): Fix docstring.
11893
11894 2007-12-21 Michael Albinus <michael.albinus@gmx.de>
11895
11896 * dbusbind.c (XD_BASIC_DBUS_TYPE, XD_DBUS_TYPE_P, XD_NEXT_VALUE):
11897 New macros.
11898 (XD_SYMBOL_TO_DBUS_TYPE): Rename from XD_LISP_SYMBOL_TO_DBUS_TYPE.
11899 (XD_OBJECT_TO_DBUS_TYPE): Rename from XD_LISP_OBJECT_TO_DBUS_TYPE.
11900 Simplify.
11901 (xd_signature): New function.
11902 (xd_append_arg): Compute also signatures. Major rewrite.
11903 (xd_retrieve_arg): Make debug messages friendly.
11904 (Fdbus_call_method, Fdbus_send_signal): Extend docstring.
11905 Check for signatures of arguments.
11906
11907 2007-12-19 Michael Albinus <michael.albinus@gmx.de>
11908
11909 * dbusbind.c (QCdbus_type_byte, QCdbus_type_boolean)
11910 (QCdbus_type_int16, QCdbus_type_uint16, QCdbus_type_int32)
11911 (QCdbus_type_uint32, QCdbus_type_int64, QCdbus_type_uint64)
11912 (QCdbus_type_double, QCdbus_type_string, QCdbus_type_object_path)
11913 (QCdbus_type_signature, QCdbus_type_array, QCdbus_type_variant)
11914 (QCdbus_type_struct, QCdbus_type_dict_entry): New D-Bus type symbols.
11915 (XD_LISP_SYMBOL_TO_DBUS_TYPE): New macro.
11916 (XD_LISP_OBJECT_TO_DBUS_TYPE): Add compound types.
11917 (xd_retrieve_value): Remove. Functionality included in ...
11918 (xd_append_arg): New function.
11919 (Fdbus_call_method, Fdbus_send_signal): Apply it.
11920
11921 2007-12-16 Michael Albinus <michael.albinus@gmx.de>
11922
11923 * dbusbind.c (top): Include <stdio.h>.
11924 (Fdbus_call_method, Fdbus_send_signal): Apply type cast in
11925 dbus_message_new_method_call and dbus_message_new_signal.
11926 (Fdbus_register_signal): Rename unique_name to uname.
11927 Check handler for FUNCTIONP instead of CHECK_SYMBOL. Handle case of
11928 non-existing unique name. Fix typos in matching rule. Return an
11929 object which is useful in Fdbus_unregister_signal.
11930 (Fdbus_unregister_signal): Reimplementation, in order to remove
11931 only the corresponding entry.
11932 (Vdbus_registered_functions_table): Change the order of entries.
11933 Apply these changes in xd_read_message and Fdbus_register_signal.
11934
11935 2007-12-16 Andreas Schwab <schwab@suse.de>
11936
11937 * fileio.c (Finsert_file_contents): Fix overflow check to not
11938 depend on undefined integer overflow.
11939
11940 2007-12-14 Jason Rumney <jasonr@gnu.org>
11941
11942 * w32term.c (w32_read_socket): Use MULTIBYTE_CHAR_KEYSTROKE_EVENT
11943 for characters above 127.
11944
11945 2007-12-13 Jason Rumney <jasonr@gnu.org>
11946
11947 * w32fns.c (w32_wnd_proc, Fw32_reconstruct_hot_key): Range check
11948 before dereferencing array.
11949 (lookup_vk_code): Remove zero comparison.
11950
11951 2007-12-14 Michael Albinus <michael.albinus@gmx.de>
11952
11953 * dbusbind.c (xd_retrieve_value, xd_retrieve_arg)
11954 (Fdbus_call_method, Fdbus_send_signal, xd_read_message):
11955 Use `unsigned int' instead of `uint'.
11956 (xd_read_message, Fdbus_register_signal): Split expressions into
11957 multiple lines before operators "&&" and "||", according to the
11958 GNU Coding Standards.
11959
11960 2007-12-14 Eli Zaretskii <eliz@gnu.org>
11961
11962 * dispextern.h (WINDOWS_NT): Fix incorrect spelling of WINDOWSNT.
11963
11964 2007-12-12 Juri Linkov <juri@jurta.org>
11965
11966 * buffer.c (Frename_buffer): In interactive spec replace
11967 `read-buffer' with `read-string' that uses `buffer-name-history'
11968 as history, and the current buffer's name as default.
11969
11970 2007-12-10 Stefan Monnier <monnier@iro.umontreal.ca>
11971
11972 * keyboard.c (Fcommand_execute): Call Qcall_interactively instead of
11973 manipulating the backtrace manually.
11974 (make_lispy_event): Merge the ASCII and MULTIBYTE cases.
11975 (struct backtrace, backtrace_list): Remove.
11976 (command_loop_1): Remove dead var `no_direct'.
11977
11978 * buffer.c (reset_buffer_local_variables): If permanent_too is 0, also
11979 preserve non-built-in buffer-local variables.
11980 (Fkill_all_local_variables): Don't re-create&re-set permanent
11981 buffer-local variables.
11982
11983 2007-12-09 Juri Linkov <juri@jurta.org>
11984
11985 * buffer.c (Frename_buffer): Change interactive spec from "s" to
11986 Lisp code that uses `read-buffer' with current buffer as default.
11987
11988 2007-12-08 Michael Albinus <michael.albinus@gmx.de>
11989
11990 * dbusbind.c (xd_read_message): Generate an event for every
11991 registered handler. There might be several handlers registered
11992 for the same signal.
11993 (Fdbus_register_signal): Don't overwrite a registration for the
11994 same signal. Add a new registration if handlers are different.
11995 (Vdbus_registered_functions_table): Rework doc string.
11996
11997 2007-12-07 Michael Albinus <michael.albinus@gmx.de>
11998
11999 * dbusbind.c (Fdbus_get_unique_name, xd_read_message)
12000 (Fdbus_register_signal): Use DBUS_MAXIMUM_NAME_LENGTH and
12001 DBUS_MAXIMUM_MATCH_RULE_LENGTH for string lengths.
12002 (Fdbus_call_method, Fdbus_send_signal, Fdbus_register_signal):
12003 Unify argument lists.
12004 (xd_read_message, Fdbus_register_signal): Reorder and extend event
12005 arguments and hash table keys. Use unique name for service.
12006 (Fdbus_unregister_signal): Remove checks.
12007 (Vdbus_registered_functions_table): Fix doc string.
12008
12009 2007-12-05 Magnus Henoch <mange@freemail.hu>
12010
12011 * process.c (make_process): Initialize pty_flag to 0.
12012
12013 2007-12-05 Jason Rumney <jasonr@gnu.org>
12014
12015 * image.c (xbm_load) [WINDOWSNT]: Shuffle the bits of directly
12016 specified XBMs.
12017
12018 2007-12-05 Richard Stallman <rms@gnu.org>
12019
12020 * xdisp.c (syms_of_xdisp) <scroll-conservatively>: Doc fix.
12021
12022 2007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12023
12024 * mac.c (cfsockets_for_select) [MAC_OSX && SELECT_USE_CFSOCKET]:
12025 New variable.
12026 (mac_try_close_socket) [MAC_OSX]: New function.
12027 [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]:
12028 Update cfsockets_for_select. Replace invalid CFRunLoop source.
12029
12030 * sysdep.c (emacs_close) [MAC_OSX && HAVE_CARBON]:
12031 Use mac_try_close_socket.
12032
12033 2007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12034
12035 * unexmacosx.c (unrelocate): New argument BASE. Use it instead of
12036 reloc_base.
12037 (copy_dysymtab): Compute relocation base here.
12038 (rebase_reloc_address) [__ppc64__]: New function.
12039 (copy_dysymtab) [__ppc64__]: Use it if relocation base needs to be
12040 changed.
12041
12042 2007-12-05 Jason Rumney <jasonr@gnu.org>
12043
12044 * w32proc.c (sys_spawnve): Quote args with wildcards.
12045
12046 2007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12047
12048 * unexmacosx.c (copy_data_segment): Also copy __gcc_except_tab and
12049 __objc_* sections.
12050 (unrelocate) [_LP64]: Set relocation base to address of data segment.
12051
12052 2007-12-05 Michael Albinus <michael.albinus@gmx.de>
12053
12054 * dbusbind.c (xd_read_message): Return value is a Lisp_Object.
12055 Move check for Vdbus_registered_functions_table to
12056 xd_read_queued_messages.
12057 (xd_read_queued_messages): Protect xd_read_message calls by
12058 internal_condition_case_1.
12059
12060 2007-12-04 Michael Albinus <michael.albinus@gmx.de>
12061
12062 * dbusbind.c (QCdbus_system_bus, QCdbus_session_bus): Rename from
12063 Qdbus_system_bus and Qdbus_session_bus, respectively.
12064 (Vdbus_intern_symbols): Remove.
12065 (Vdbus_registered_functions_table): New hash table.
12066 (XD_SYMBOL_INTERN_SYMBOL): Remove.
12067 (xd_read_message, Fdbus_register_signal, Fdbus_unregister_signal):
12068 Rewrite in order to manage registered functions by hash table
12069 Vdbus_registered_functions_table.
12070
12071 2007-12-03 Jan Djärv <jan.h.d@swipnet.se>
12072
12073 * xterm.c: Update URL to Window Manager Specification in comment.
12074
12075 2007-12-02 Michael Albinus <michael.albinus@gmx.de>
12076
12077 * config.in (HAVE_DBUS): Add.
12078
12079 * Makefile.in (HAVE_DBUS): Add D-Bus definitions if defined.
12080 (ALL_CFLAGS): Add ${DBUS_CFLAGS}.
12081 (obj): Add $(DBUS_OBJ).
12082 (LIBES): Add $(DBUS_LIBS).
12083 (dbusbind.o): New target.
12084
12085 * dbusbind.c: New file.
12086
12087 * emacs.c (main): Call syms_of_dbusbind when HAVE_DBUS is defined.
12088
12089 * keyboard.c: All D-Bus related code is wrapped by "#ifdef HAVE_DBUS".
12090 (Qdbus_event): New Lisp symbol.
12091 (kbd_buffer_get_event, make_lispy_event): Handle DBUS_EVENT.
12092 (gobble_input): Call xd_read_queued_messages, reading D-Bus messages.
12093 (keys_of_keyboard ): Define dbus-event.
12094
12095 * termhooks.h (event_kind): Add DBUS_EVENT when HAVE_DBUS is defined.
12096
12097 2007-12-01 Richard Stallman <rms@gnu.org>
12098
12099 * search.c (syms_of_search) <inhibit-changing-match-data>: Doc fix.
12100
12101 2007-11-30 Jason Rumney <jasonr@gnu.org>
12102
12103 * w32console.c (w32con_ins_del_lines, scroll_line): Clip to window.
12104 (w32con_reset_terminal_modes): Clear screen buffer.
12105 (w32_face_attributes): Don't use color indexes that are out of range.
12106 Only reverse the default colors.
12107
12108 * xfaces.c (map_tty_color, tty_color_name): Remove special case for
12109 WINDOWSNT.
12110
12111 * w32console.c, w32term.h (vga_stdcolor_name): Remove.
12112
12113 2007-11-29 Jason Rumney <jasonr@gnu.org>
12114
12115 * w32console.c: Leave HAVE_WINDOW_SYSTEM defined.
12116 (w32_face_attributes): Use Vtty_defined_color_alist to determine
12117 if the terminal colors are initialized.
12118 (unspecified_fg, unspecified_bg): Remove unused declarations.
12119
12120 2007-11-29 Andreas Schwab <schwab@suse.de>
12121
12122 * keyboard.c (apply_modifiers): Fix typo.
12123
12124 2007-11-29 Richard Stallman <rms@gnu.org>
12125
12126 * keymap.c (Fcurrent_local_map): Doc fix.
12127
12128 2007-11-28 Petr Salinger <Petr.Salinger@seznam.cz> (tiny change)
12129
12130 * s/gnu-kfreebsd.h: New file.
12131
12132 2007-11-28 Stefan Monnier <monnier@iro.umontreal.ca>
12133
12134 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
12135 Don't cast redundantly.
12136
12137 * keyboard.c (KEY_TO_CHAR): New macro.
12138 (parse_modifiers, apply_modifiers): Accept integer arguments.
12139 (read_key_sequence): Use them to unify the "shift->unshift" mapping
12140 for chars and symbol keys.
12141 After doing such remapping, apply function-key-map again.
12142
12143 2007-11-27 Dan Nicolaescu <dann@ics.uci.edu>
12144
12145 * Makefile.in (SOME_MACHINE_LISP): Remove VMS files, they are not
12146 compiled anymore.
12147
12148 2007-11-26 Andreas Schwab <schwab@suse.de>
12149
12150 * process.c (list_processes_1): Fix indentation level of the
12151 command column.
12152
12153 2007-11-23 Andreas Schwab <schwab@suse.de>
12154
12155 * editfns.c (Fformat): Handle %c specially since it requires the
12156 argument to be of type int.
12157
12158 2007-11-23 Markus Triska <markus.triska@gmx.at>
12159
12160 * emacs.c (main): Call init_editfns before init_process, since
12161 init_process sets Vprocess_connection_type depending on OS release.
12162
12163 2007-11-22 Stefan Monnier <monnier@iro.umontreal.ca>
12164
12165 * data.c (do_symval_forwarding): Use same code as in find_symbol_value.
12166 (find_symbol_value): Use do_symval_forwarding.
12167
12168 * data.c (set_internal): Set the value in the `cons-cell' (for
12169 Buffer_Local_values) not only for frame-local variables.
12170
12171 2007-11-22 Andreas Schwab <schwab@suse.de>
12172
12173 * data.c (Fnumber_to_string): Add cast when passing EMACS_INT
12174 values to sprintf.
12175 * keymap.c (Fsingle_key_description): Likewise.
12176 * print.c (print_object): Likewise.
12177
12178 2007-11-22 Jan Djärv <jan.h.d@swipnet.se>
12179
12180 * gtkutil.c (update_frame_tool_bar): Don't call x-gtk-map-stock if
12181 file for image is nil.
12182
12183 2007-11-22 Dan Nicolaescu <dann@ics.uci.edu>
12184
12185 * term.c: Include stdarg.h.
12186 (fatal): Implement using varargs.
12187 * lisp.h (fatal): Add argument types. (Restore 2005-09-30 change).
12188
12189 2007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
12190
12191 * lisp.h (struct Lisp_Buffer_Objfwd): Add a `slottype' field.
12192 * data.c (store_symval_forwarding): Get type from buffer_objfwd.
12193 Update call to buffer_slot_type_mismatch.
12194 * buffer.h (buffer_local_types, PER_BUFFER_TYPE): Remove.
12195 (buffer_slot_type_mismatch): Update.
12196 * buffer.c (buffer_local_types): Remove.
12197 (buffer_slot_type_mismatch): Get the symbol and type as arguments.
12198 (defvar_per_buffer): Set the type in the buffer_objfwd.
12199
12200 2007-11-21 Jason Rumney <jasonr@gnu.org>
12201
12202 * w32bdf.c (w32_init_bdf_font, w32_BDF_to_x_font):
12203 CreateFileMapping returns NULL on failure.
12204
12205 2007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
12206
12207 * search.c (Fset_match_data): Remove the `evaporate' feature.
12208 (unwind_set_match_data): Don't use the `evaporate' feature.
12209
12210 2007-11-21 Jason Rumney <jasonr@gnu.org>
12211
12212 * dispnew.c (init_display) [WINDOWSNT]: Hardcode terminal_type.
12213
12214 * w32console.c (w32con_write_glyphs): Remove unused variables.
12215
12216 2007-11-20 Dan Nicolaescu <dann@ics.uci.edu>
12217
12218 * macterm.c (mac_term_init): Call add_keyboard_wait_descriptor.
12219
12220 * s/darwin.h (MULTI_KBOARD): Remove.
12221
12222 * macfns.c (x_create_tip_frame, Fx_create_frame)
12223 (x_create_tip_frame): Don't deal with MULTI_KBOARD.
12224
12225 2007-11-19 Stefan Monnier <monnier@iro.umontreal.ca>
12226
12227 * buffer.c (Fbuffer_local_value): Remove redundant test.
12228 (swap_out_buffer_local_variables): Swap out binding in `buffer' rather
12229 than in `current-buffer' to match the comment.
12230 Do the swap using swap_in_global_binding.
12231
12232 * data.c (store_symval_forwarding, set_internal):
12233 * eval.c (specbind): Remove dead code.
12234
12235 * coding.c (detect_coding, Fupdate_coding_systems_internal):
12236 * fns.c (Fmd5): Use find_symbol_value rather than SYMBOL_VALUE
12237 Since we do not want to see internal Lisp_*fwd objects here.
12238
12239 2007-11-18 Jan Djärv <jan.h.d@swipnet.se>
12240
12241 * sysdep.c (init_system_name): Use getaddrinfo if available.
12242
12243 * xterm.c (x_scroll_bar_set_handle, x_scroll_bar_handle_click)
12244 (x_scroll_bar_note_movement): start, end, with, height in struct
12245 scroll_bar are integers and not Lisp_Object, so remove XINT for them.
12246
12247 2007-11-17 Dan Nicolaescu <dann@ics.uci.edu>
12248
12249 * puresize.h (BASE_PURESIZE): Increase to 1190000.
12250
12251 2007-11-16 Stefan Monnier <monnier@iro.umontreal.ca>
12252
12253 * buffer.h (struct buffer): Move `undo_list' back to before `name'.
12254 This undoes Richard's change of 14-Oct-2002.
12255
12256 * alloc.c (allocate_other_vector):
12257 * lisp.h (allocate_other_vector): Remove.
12258
12259 * window.c (struct save_window_data): Move non-lisp data to the end
12260 and make it `int' rather than Lisp_Object.
12261 (Fcurrent_window_configuration): Use ALLOCATE_PSEUDOVECTOR.
12262 Done wrap/unwrap integer values.
12263 (Fset_window_configuration, compare_window_configurations):
12264 Update use of fields to their new types.
12265
12266 * xterm.h (struct scroll_bar): Only use Lisp_Object for lisp data.
12267 Turn integer fields into `int'. Merge x_window_low and x_window_high.
12268 (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK, SCROLL_BAR_X_WINDOW)
12269 (SET_SCROLL_BAR_X_WINDOW): Remove.
12270 (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET):
12271 Access the new x_window field directly.
12272 * xterm.c (x_scroll_bar_create): Use a pseudovector.
12273 Don't wrap/unwrap integers into Lisp_Objects.
12274 (XTset_vertical_scroll_bar, x_scroll_bar_handle_click)
12275 (x_scroll_bar_report_motion):
12276 Don't wrap/unwrap integers into Lisp_Objects.
12277 (x_term_init): Use SDATA.
12278 (x_window_to_scroll_bar, x_create_toolkit_scroll_bar)
12279 (x_scroll_bar_set_handle, x_scroll_bar_remove)
12280 (XTset_vertical_scroll_bar, x_scroll_bar_expose)
12281 (x_scroll_bar_report_motion, x_scroll_bar_clear):
12282 * xfns.c (x_set_background_color):
12283 * gtkutil.c (xg_create_scroll_bar, xg_set_toolkit_scroll_bar_thumb):
12284 Access the new x_window field directly.
12285
12286 * alloc.c (ALLOCATE_PSEUDOVECTOR): Move to lisp.h.
12287 (allocate_pseudovector): Make non-static.
12288
12289 * lisp.h (enum pvec_type): New tag PVEC_OTHER.
12290 (allocate_pseudovector): Declare.
12291 (ALLOCATE_PSEUDOVECTOR): Move from alloc.c.
12292
12293 2007-11-15 Andreas Schwab <schwab@suse.de>
12294
12295 * editfns.c (Fformat): Correctly format EMACS_INT values.
12296 Also take precision into account when formatting an integer.
12297
12298 * keyboard.c (Fevent_symbol_parse_modifiers): Fix declaration.
12299
12300 2007-11-15 Stefan Monnier <monnier@iro.umontreal.ca>
12301
12302 * keyboard.c (Fevent_symbol_parse_modifiers): New function.
12303 (syms_of_keyboard): Defsubr it.
12304
12305 * data.c (swap_in_global_binding): Fix longstanding bug where
12306 store_symval_forwarding was not called with the right second argument,
12307 thus causing objfwd-ing from being dropped.
12308
12309 2007-11-14 Juanma Barranquero <lekktu@gmail.com>
12310
12311 * macfns.c (Fx_create_frame, Fx_display_pixel_width)
12312 (Fx_display_pixel_height, Fx_display_planes)
12313 (Fx_display_color_cells, Fx_server_max_request_size)
12314 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
12315 (Fx_display_visual_class, Fx_display_save_under):
12316 * w32fns.c (Fx_create_frame, Fx_display_pixel_width)
12317 (Fx_display_pixel_height, Fx_display_planes)
12318 (Fx_display_color_cells, Fx_server_max_request_size)
12319 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
12320 (Fx_display_mm_height, Fx_display_mm_width)
12321 (Fx_display_backing_store, Fx_display_visual_class)
12322 (Fw32_select_font, Fx_display_save_under):
12323 * xfns.c (Fx_create_frame, Fx_display_pixel_width)
12324 (Fx_display_pixel_height, Fx_display_planes)
12325 (Fx_display_color_cells, Fx_server_max_request_size)
12326 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
12327 (Fx_display_save_under): Fix typos in docstrings.
12328
12329 2007-11-14 Juanma Barranquero <lekktu@gmail.com>
12330
12331 * w32fns.c (Fw32_registered_hot_keys): Don't return the nil values
12332 corresponding to deleted entries; they are an implementation detail.
12333 (gray_bitmap_width, gray_bitmap_height, gray_bitmap_bits):
12334 Remove variables.
12335 (w32_pass_extra_mouse_buttons_to_system, w32_strict_fontnames)
12336 (w32_pass_multimedia_buttons_to_system, w32_strict_painting)
12337 (Vw32_charset_info_alist, w32_to_x_color, w32_init_class)
12338 (w32_createscrollbar, w32_createwindow, my_post_msg, w32_get_modifiers)
12339 (w32_grabbed_keys, cancel_all_deferred_msgs): Make static.
12340 (Fw32_define_rgb_color, Fw32_load_color_file)
12341 (syms_of_w32fns) <w32-pass-multimedia-buttons-to-system>:
12342 Fix typos in docstrings.
12343 (Fx_server_version): Reflow docstring.
12344 (Fw32_shell_execute): Doc fixes.
12345
12346 2007-11-13 Juanma Barranquero <lekktu@gmail.com>
12347
12348 * w32fns.c (Fw32_register_hot_key): Don't try to register hot key
12349 if w32_parse_hot_key returned nil.
12350
12351 2007-11-10 Stefan Monnier <monnier@iro.umontreal.ca>
12352
12353 * xdisp.c (load_overlay_strings): Fix copy&paste typo.
12354
12355 2007-11-09 Jason Rumney <jasonr@gnu.org>
12356
12357 * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define.
12358
12359 * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT.
12360
12361 * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]:
12362 Remove W32_SCROLL_BAR_CLICK_EVENT.
12363
12364 * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise.
12365 Add MULTIMEDIA_KEY_EVENT.
12366
12367 * keyboard.c (lispy_function_keys) [WINDOWSNT]: Add more keys.
12368 (lispy_multimedia_keys) [WINDOWSNT]: New array.
12369 (make_lispy_event) [WINDOWSNT]: Use it to translate
12370 MULTIMEDIA_KEY_EVENT.
12371
12372 * w32term.h (WM_APPCOMMAND): Define if not already.
12373 (GET_APPCOMMAND_LPARAM): Likewise.
12374
12375 * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from
12376 WM_APPCOMMAND.
12377
12378 * w32fns.c (w32_pass_multimedia_buttons_to_system): New user option.
12379 (syms_of_w32fns): Export and initialize it.
12380 (w32_wnd_proc): Pass WM_APPCOMMAND on to w32_read_socket.
12381
12382 2007-11-09 Chong Yidong <cyd@stupidchicken.com>
12383
12384 * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE
12385 twice.
12386
12387 * xdisp.c (handle_face_prop): Fix last change.
12388
12389 2007-11-09 Richard Stallman <rms@gnu.org>
12390
12391 * xdisp.c (handle_face_prop): Test for strings that came from overlays,
12392 not just for after-strings and before-strings.
12393 Call face_for_overlay_string and pass the overlay to it.
12394 (handle_display_prop): Determine whether property came from an overlay.
12395 Pass OVERLAY arg to handle_single_display_spec.
12396 (handle_single_display_spec): New arg OVERLAY sets it->from_overlay.
12397 (load_overlay_strings): Fill in it->string_overlays.
12398 (get_overlay_strings_1, push_it, pop_it): Handle it->from_overlays.
12399
12400 * xfaces.c (face_for_overlay_string): Function renamed from
12401 face_at_buffer_position_no_overlays, and add arg OVERLAY.
12402
12403 * dispextern.h (struct it): New elt string_overlays.
12404 New elt from_overlay, also in stack.
12405 Rearrange a few elements.
12406 (face_for_overlay_string): Decl renamed from
12407 face_at_buffer_position_no_overlays, and add argument.
12408
12409 2007-11-09 Richard Stallman <rms@gnu.org>
12410
12411 * xdisp.c (handle_face_prop): Use face_at_buffer_position_no_overlays
12412 to get the base face for an overlay string.
12413
12414 * dispextern.h (face_at_buffer_position_no_overlays): Add decl.
12415
12416 * xfaces.c (face_at_buffer_position_no_overlays): New function.
12417
12418 * xdisp.c (handle_stop): Move some code out of loop.
12419
12420 2007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12421
12422 * macfns.c [USE_ATSUI] (Fmac_atsu_font_face_attributes):
12423 Fix conversion from Lisp object to ATSUFontID.
12424
12425 2007-11-09 Jason Rumney <jasonr@gnu.org>
12426
12427 * xdisp.c (Fformat_mode_line): Do nothing when noninteractive.
12428
12429 2007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12430
12431 * unexmacosx.c (unexec_regions_recorder, unexec_regions_merge):
12432 Don't assume regions are aligned to page boundary.
12433 (print_load_command_name): Add LC_UUID if defined.
12434
12435 2007-11-09 Richard Stallman <rms@gnu.org>
12436
12437 * emacs.c (syms_of_emacs) <installation-directory>: Reflow docstring.
12438
12439 2007-11-07 Jason Rumney <jasonr@gnu.org>
12440
12441 * s/windows95.h: Remove.
12442
12443 2007-11-06 Jan Djärv <jan.h.d@swipnet.se>
12444
12445 * gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and
12446 abort with a message on unhandled store_type values.
12447
12448 2007-11-01 Jan Djärv <jan.h.d@swipnet.se>
12449
12450 * xterm.c, xfns.c, xselect.c, xterm.h, s/msdos.h, s/sco4.h, s/sco5.h:
12451 Remove HAVE_X11R5 and HAVE_X11R4.
12452
12453 2007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
12454
12455 * Makefile.in: Remove references to sunfns.c and sunfns.o.
12456
12457 2007-11-01 Johan Bockgård <bojohan@gnu.org>
12458
12459 * macterm.c, w32term.c, xterm.c (x_draw_stretch_glyph_string):
12460 Don't set s->stippled_p here, since it has already been set by
12461 x_set_glyph_string_gc from x_draw_glyph_string.
12462
12463 2007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
12464
12465 * sunfns.c: Remove file.
12466
12467 * m/sun386.h:
12468 * m/sun2.h:
12469 * m/sparc.h: Remove Sun windows code.
12470
12471 2007-10-31 Stefan Monnier <monnier@iro.umontreal.ca>
12472
12473 * keyboard.c (syms_of_keyboard): Initialize the initial_kboard.
12474 (init_keyboard): Set current_kboard's window-system to nil.
12475 (tty_read_avail_input): Typo.
12476 * frame.c (make_initial_frame): Don't initialize the initial_kboard.
12477
12478 2007-10-31 Dan Nicolaescu <dann@ics.uci.edu>
12479
12480 * s/usg5-4.h:
12481 * s/usg5-3.h:
12482 * s/ptx.h:
12483 * m/is386.h:
12484 * m/ibmps2-aix.h:
12485 * Makefile.in: Remove all mentions of X10.
12486
12487 * dispnew.c (syms_of_display): Don't mention version 10.
12488
12489 2007-10-28 Juanma Barranquero <lekktu@gmail.com>
12490
12491 * makefile.w32-in (OBJ1): Remove abbrev.$(O).
12492 ($(BLD)/abbrev.$(O)): Remove.
12493
12494 2007-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
12495
12496 Rewrite abbrev.c in Elisp.
12497 * image.c (Qcount): Don't declare as extern.
12498 (syms_of_image): Initialize and staticpro `Qcount'.
12499 * puresize.h (BASE_PURESIZE): Increase for the new abbrev.el functions.
12500 * emacs.c (main): Don't call syms_of_abbrev.
12501 * Makefile.in (obj): Remove abbrev.o.
12502 (abbrev.o): Remove.
12503 * abbrev.c: Remove.
12504
12505 2007-10-26 Martin Rudalics <rudalics@gmx.at>
12506
12507 * window.c (window_min_size_2): Don't count header-line.
12508
12509 2007-10-26 Dan Nicolaescu <dann@ics.uci.edu>
12510
12511 * frame.h (struct frame): Move all bit fields after the first bit
12512 field to take advantage of the available space. Group all the
12513 chars together to reduce wasted space due to padding.
12514
12515 2007-10-26 Juanma Barranquero <lekktu@gmail.com>
12516
12517 * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings.
12518
12519 * alloc.c (spare_memory, stack_copy, stack_copy_size, ignore_warnings)
12520 (Vdead, dont_register_blocks, staticvec, staticidx, interval_block)
12521 (n_interval_blocks, init_strings, check_string_bytes, check_sblock)
12522 (init_float, free_float, n_cons_blocks, init_cons, all_vectors)
12523 (n_vectors, symbol_block, symbol_block_index, symbol_free_list)
12524 (n_symbol_blocks, init_symbol, marker_block, marker_free_list)
12525 (n_marker_blocks, init_marker, valid_pointer_p, make_pure_float)
12526 (last_marked, mark_object_loop_halt): Make static.
12527
12528 * frame.c (syms_of_frame) <delete-frame-functions>:
12529 Fix typo in docstring.
12530
12531 2007-10-25 Juanma Barranquero <lekktu@gmail.com>
12532
12533 * w32.c (init_environment): Fix tiny memory leak.
12534 (w32_get_resource): Remove unused variable `ok'.
12535
12536 2007-10-25 Stefan Monnier <monnier@iro.umontreal.ca>
12537
12538 Make `window-system' into a keyboard-local variable (rather than
12539 frame-local as done originally by multi-tty).
12540
12541 * keyboard.h (struct kboard): Add Vwindow_system.
12542 * keyboard.c (init_kboard): Set a default for Vwindow_system.
12543 (mark_kboards): Mark Vwindow_system.
12544
12545 * dispnew.c (syms_of_display) <window-system>: Declare terminal-local.
12546 (init_display): Don't set the obsolete `window-system' frame-param.
12547
12548 * xterm.c (x_term_init):
12549 * w32term.c (w32_create_terminal):
12550 * term.c (init_tty): Set Vwindow_system.
12551 * macterm.c (mac_create_terminal): Set a keyboard (missing piece of the
12552 multi-tty merge maybe?), copied from w32term.c. Set Vwindow_system.
12553
12554 * xfns.c (Fx_create_frame, x_create_tip_frame):
12555 * w32fns.c (Fx_create_frame, x_create_tip_frame):
12556 * macfns.c (Fx_create_frame):
12557 Don't set the obsolete `window-system' frame-param.
12558
12559 * frame.h (Qwindow_system): Remove.
12560 * frame.c (Qwindow_system): Remove. In `syms_of_frame' as well.
12561 (Fmake_terminal_frame): Don't set obsolete `window-system' frame-param.
12562
12563 2007-10-24 Richard Stallman <rms@gnu.org>
12564
12565 * frame.c (x_figure_window_size): For fullscreen case,
12566 set USPosition | PPosition without clobbering rest of window_prompting.
12567
12568 * keyboard.c (Fcurrent_idle_time): Doc fix.
12569
12570 * print.c (Fwith_output_to_temp_buffer): Doc fix.
12571
12572 2007-10-23 Stefan Monnier <monnier@iro.umontreal.ca>
12573
12574 * process.c (unwind_request_sigio): Only define if __ultrix__.
12575
12576 * callproc.c (child_setup): Remove spurious *.
12577
12578 * lisp.h (Fget_text_property): Declare.
12579 (have_menus_p): Declare it here rather than in sys-dep header files.
12580 * macterm.h (have_menus_p):
12581 * msdos.h (have_menus_p):
12582 * xterm.h (have_menus_p): Remove.
12583
12584 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
12585 (Fmake_variable_frame_local): Just check the variable's const-ness
12586 rather than checking nil or t.
12587
12588 2007-10-22 Jason Rumney <jasonr@gnu.org>
12589
12590 * w32fns.c: Include math.h.
12591 (w32_abort): Declaration moved to nt/config.nt.
12592
12593 * s/ms-w32.h (HAVE_STDLIB_H): Define.
12594 (abort): Redefinition moved to nt/config.nt.
12595
12596 * m/windowsnt.h: Remove.
12597
12598 2007-10-22 Juanma Barranquero <lekktu@gmail.com>
12599
12600 * emacs.c (Fdump_emacs): Fix typo in message.
12601 (syms_of_emacs) <kill-emacs-hook>: Fix typo in docstring.
12602 <installation-directory>: Reflow docstring.
12603
12604 2007-10-22 Juri Linkov <juri@jurta.org>
12605
12606 * minibuf.c: Allow minibuffer default to be a list of default values.
12607 With empty input use the first element of this list as returned default.
12608 (string_to_object)
12609 (read_minibuf_noninteractive): If defalt is cons, set val to its car.
12610 (read_minibuf): If defalt is cons, set histstring to its car.
12611 (Fread_string): If default_value is cons, set val to its car.
12612 (Fread_buffer): If def is cons, use its car.
12613 (Fcompleting_read): If defalt is cons, set val to its car.
12614
12615 2007-10-21 Michael Albinus <michael.albinus@gmx.de>
12616
12617 * fileio.c (Fcopy_file): Call file name handler with preserve_uid_gid.
12618
12619 2007-10-20 Juanma Barranquero <lekktu@gmail.com>
12620
12621 * doc.c (Fdocumentation): Check for advice in all cases.
12622
12623 2007-10-19 Chong Yidong <cyd@stupidchicken.com>
12624
12625 * Makefile.in [HAVE_LIBRESOLV]: Add -lresolv to linker flags.
12626
12627 2007-10-19 Richard Stallman <rms@gnu.org>
12628
12629 * doc.c (Fdocumentation): Check for and handle an advised function.
12630
12631 2007-10-19 Juanma Barranquero <lekktu@gmail.com>
12632
12633 * process.c (Fset_process_filter): Doc fix.
12634
12635 2007-10-18 Stefan Monnier <monnier@iro.umontreal.ca>
12636
12637 * keyboard.c (read_key_sequence): Undo a change introduced by multi-tty
12638 which caused key-translation-map to applied repeatedly (thus breaking
12639 double-mode).
12640
12641 2007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
12642
12643 * xselect.c (x_own_selection, x_handle_selection_clear)
12644 (x_clear_frame_selections):
12645 * w32menu.c (list_of_panes, list_of_items):
12646 * w32fns.c (w32_color_map_lookup, Fx_create_frame, Fx_display_list):
12647 * textprop.c (validate_plist, interval_has_all_properties)
12648 (interval_has_some_properties, interval_has_some_properties_list)
12649 (add_properties, text_property_list):
12650 * process.c (Fget_buffer_process, list_processes_1, status_notify):
12651 * minibuf.c (Fassoc_string):
12652 * macselect.c (x_own_selection, x_clear_frame_selections)
12653 (Fx_disown_selection_internal):
12654 * keymap.c (Fcommand_remapping, where_is_internal, describe_map_tree):
12655 Use CONSP rather than !NILP and XC[AD]R rather than Fc[ad]r.
12656
12657 2007-10-17 Chong Yidong <cyd@stupidchicken.com>
12658
12659 * process.c: Link to libs for calling res_init() if available.
12660 (Fmake_network_process): Call res_init() before getaddrinfo or
12661 gethostbyname, if possible.
12662
12663 2007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
12664
12665 * lread.c (read1): Set pvectype for char_tables.
12666
12667 * lisp.h (XMISCANY, XMARKER, XINTFWD, XBOOLFWD, XOBJFWD, XOVERLAY)
12668 (XBUFFER_OBJFWD, XBUFFER_LOCAL_VALUE, XKBOARD_OBJFWD, XSAVE_VALUE):
12669 Add type checks.
12670 (SOME_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP): Remove.
12671
12672 * alloc.c (free_misc): Use XMISCTYPE.
12673 (live_misc_p, gc_sweep): Use Lisp_Misc_Any.
12674
12675 2007-10-17 Glenn Morris <rgm@gnu.org>
12676
12677 * minibuf.c (Qcompletion_ignore_case): New Lisp_Object.
12678 (syms_of_minibuf): Add Qcompletion_ignore_case.
12679 * dired.c (Qcompletion_ignore_case): Change to external.
12680 (syms_of_dired) [VMS]: Remove Qcompletion_ignore_case.
12681 * fileio.c (Qcompletion_ignore_case): New external Lisp_Object.
12682 (Fread_file_name): Use it rather than intern'ing.
12683
12684 * coding.c (Qcompletion_ignore_case): New external Lisp_Object.
12685 (Fread_coding_system): Ignore case of user input.
12686
12687 2007-10-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12688
12689 * xdisp.c (handle_display_prop): Ignore display specs after
12690 replacing one when string text is being replaced.
12691 (handle_single_display_spec): Pretend as if characters with display
12692 property haven't been consumed only when buffer text is being replaced.
12693
12694 2007-10-16 Stefan Monnier <monnier@iro.umontreal.ca>
12695
12696 * xfns.c (Fx_create_frame, Fx_display_list):
12697 * window.c (window_fixed_size_p, enlarge_window)
12698 (shrink_window_lowest_first):
12699 * macterm.c (init_font_name_table):
12700 * macfns.c (Fx_create_frame, Fx_display_list):
12701 * lread.c (close_load_descs):
12702 * keyboard.c (read_char_x_menu_prompt):
12703 * fns.c (Fmember, Fmemql, Fdelete, Fset_char_table_parent):
12704 * coding.c (code_convert_region_unwind): Test the type of an object
12705 rather than just !NILP before extracting data from it.
12706
12707 * alloc.c (Fpurecopy): Set the pvec tag on pseudo vectors.
12708
12709 * lisp.h (enum Lisp_Misc_Type): Del Lisp_Misc_Some_Buffer_Local_Value.
12710 (XMISCANY): New macro.
12711 (XMISCTYPE): Use it.
12712 (struct Lisp_Misc_Any): New type.
12713 (union Lisp_Misc): Use it.
12714 (struct Lisp_Buffer_Local_Value): Add `local_if_set' bit.
12715 * data.c (Fboundp, store_symval_forwarding, swap_in_global_binding)
12716 (find_symbol_value, set_internal, default_value, Fset_default)
12717 (Fmake_variable_buffer_local, Fmake_local_variable)
12718 (Fkill_local_variable, Fmake_variable_frame_local, Flocal_variable_p)
12719 (Flocal_variable_if_set_p, Fvariable_binding_locus):
12720 The SOME_BUFFER_LOCAL_VALUEP distinction is replaced by local_if_set.
12721 * alloc.c (allocate_buffer): Set the size and tag.
12722 (allocate_misc, mark_maybe_object, mark_object, survives_gc_p):
12723 Use XMISCANY.
12724 (die): Follow the GNU convention for error messages.
12725 * print.c (print_object): SOME_BUFFER_LOCAL_VALUEP -> local_if_set.
12726 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Don't set the
12727 tag any more.
12728 (set_buffer_internal_1):
12729 * frame.c (store_frame_param):
12730 * eval.c (specbind):
12731 * xdisp.c (select_frame_for_redisplay): Drop SOME_BUFFER_LOCAL_VALUEP.
12732
12733 * doc.c (Fsnarf_documentation): Simplify.
12734
12735 2007-10-14 Juanma Barranquero <lekktu@gmail.com>
12736
12737 * w32term.c (w32_font_is_double_byte, my_create_scrollbar): Make static.
12738 (syms_of_w32term) <w32-enable-unicode-output>: Fix typo in docstring.
12739
12740 2007-10-14 Stefan Monnier <monnier@iro.umontreal.ca>
12741
12742 * buffer.c (Fmake_indirect_buffer): Set the buffer's tag.
12743
12744 2007-10-14 Juanma Barranquero <lekktu@gmail.com>
12745
12746 * eval.c (do_autoload): Don't save autoloads.
12747
12748 * data.c (Ffset): Save autoload of the function being set.
12749
12750 2007-10-07 John Paul Wallington <jpw@pobox.com>
12751
12752 * xfns.c (x_create_tip_frame): Set the `display-type' frame
12753 parameter before setting up faces.
12754
12755 2007-10-13 Eli Zaretskii <eliz@gnu.org>
12756
12757 * ccl.c (Fregister_code_conversion_map):
12758 * keyboard.c (append_tool_bar_item): Reformat last change.
12759
12760 * lisp.h (eabs): Rename from `abs'. All callers changed.
12761
12762 2007-10-05 Dmitry Antipov <dmantipov@yandex.ru>
12763
12764 * buffer.c (add_overlay_mod_hooklist):
12765 * ccl.c (Fregister_ccl_program, Fregister_code_conversion_map):
12766 * fontset.c (make_fontset):
12767 * keyboard.c (GROW_RAW_KEYBUF, menu_bar_items, menu_bar_item)
12768 (append_tool_bar_item):
12769 * macmenu.c (grow_menu_items):
12770 * w32menu.c (grow_menu_items):
12771 * xmenu.c (grow_menu_items): Use larger_vector.
12772
12773 2007-10-13 Eli Zaretskii <eliz@gnu.org>
12774
12775 * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving
12776 selected frame'' on MSDOS).
12777
12778 2007-10-12 Martin Rudalics <rudalics@gmx.at>
12779
12780 * frame.c (Qexplicit_name): New variable.
12781 (x_report_frame_params): Report it in parameter alist.
12782 (syms_of_frame): Intern and staticpro it.
12783
12784 2007-10-10 Patrick Mahan <mahan@mahan.org> (tiny change)
12785
12786 * macfns.c (x_create_tip_frame): Set terminal for frame.
12787
12788 2007-10-10 Stefan Monnier <monnier@iro.umontreal.ca>
12789
12790 * frame.c (Qenvironment): Remove.
12791 (syms_of_frame) <Qenvironment>: Don't initialize.
12792 (Fdelete_frame): Don't treat the `environment' param specially.
12793 * frame.h (Qenvironment): Don't declare.
12794 * callproc.c (set_initial_environment): Don't set unused frame param.
12795
12796 * frame.c (Fframe_with_environment): Remove.
12797 (syms_of_frame) <Sframe_with_environment>: Don't declare.
12798
12799 * lisp.h (Fframe_with_environment): Don't declare.
12800
12801 2007-10-10 Juanma Barranquero <lekktu@gmail.com>
12802
12803 * indent.c (indent_tabs_mode, last_known_column)
12804 (last_known_column_modified): Make static.
12805 (syms_of_indent) <indent-tabs-mode>: Remove redundant info in docstring.
12806
12807 2007-10-10 Katsumi Yamaoka <yamaoka@jpl.org>
12808
12809 * puresize.h (BASE_PURESIZE): Increase to 1170000.
12810
12811 2007-10-09 Jason Rumney <jasonr@gnu.org>
12812
12813 * w32term.c (x_set_window_size): Disable code that attempts to tell
12814 Lisp code about a size change before it actually happens.
12815
12816 2007-10-09 Richard Stallman <rms@gnu.org>
12817
12818 * xdisp.c (handle_invisible_prop): After setting up an ellipsis,
12819 return HANDLED_RETURN.
12820
12821 2007-10-08 Martin Rudalics <rudalics@gmx.at>
12822
12823 * keyboard.c (kbd_buffer_get_event): Break loop waiting for input
12824 when there's an unread command event.
12825
12826 * frame.c (focus_follows_mouse): Move here from frame.el to allow
12827 window autoselection act appropriately when leaving selected frame.
12828 (syms_of_frame): Initialize focus_follows_mouse.
12829 * frame.h (focus_follows_mouse): Extern it.
12830 * macterm.c (XTread_socket): When focus_follows_mouse is nil
12831 make SELECT_WINDOW_EVENT only if we don't leave the selected frame.
12832 * msdos.c (dos_rawgetc): Likewise.
12833 * w32term.c (w32_read_socket): Likewise.
12834 * xterm.c (handle_one_xevent): Likewise.
12835 * xdisp.c (syms_of_xdisp): In doc-string of
12836 mouse-autoselect-window mention focus-follows-mouse.
12837
12838 2007-10-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12839
12840 * macterm.c (mac_load_query_font): Fix missing return value.
12841 [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap):
12842 Add BLOCK_INPUT.
12843
12844 2007-10-08 Richard Stallman <rms@gnu.org>
12845
12846 * xdisp.c (get_window_cursor_type): Implement documented behavior
12847 for cursor-in-non-selected-windows = t.
12848
12849 2007-10-08 Jason Rumney <jasonr@gnu.org>
12850
12851 * w32.c (w32_get_resource): Always close registry keys.
12852
12853 2007-10-08 Jason Rumney <jasonr@gnu.org>
12854
12855 * makefile.w32-in (LIBS): Add COMCTL32.
12856
12857 * w32fns.c (globals_of_w32fns): Init common controls.
12858
12859 2007-10-08 Richard Stallman <rms@gnu.org>
12860
12861 * image.c (our_memory_buffer): Rename from omfib_buffer.
12862
12863 2007-10-08 Richard Stallman <rms@gnu.org>
12864
12865 * buffer.c (Foverlays_at): Doc fix.
12866
12867 2007-10-08 Stefan Monnier <monnier@iro.umontreal.ca>
12868
12869 * fns.c (Fplist_put): Preserve uneven tail data.
12870
12871 2007-10-08 Peter O'Gorman <bug-gnu-emacs@mlists.thewrittenword.com> (tiny change)
12872
12873 * termhooks.h (enum event_kind): Remove trailing comma.
12874
12875 * frame.h (enum): Remove trailing comma.
12876
12877 2007-10-08 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
12878
12879 * w32proc.c (delete_child): Don't terminate threads of zombies.
12880
12881 2007-10-08 Martin Rudalics <rudalics@gmx.at>
12882
12883 * keyboard.h (struct kboard): New elt Vlast_repeatable_command.
12884
12885 * keyboard.c (syms_of_keyboard): Set up new Lisp variable
12886 last-repeatable-command.
12887 (init_kboard): Initialize Vlast_repeatable_command.
12888 (command_loop_1): Set it to real_this_command unless that was
12889 bound to an input event.
12890 (mark_kboards): Mark it.
12891
12892 2007-10-08 Richard Stallman <rms@gnu.org>
12893
12894 * eval.c (condition-case): Doc fix.
12895
12896 2007-10-08 Masatake YAMATO <jet@gyve.org>
12897
12898 * xfaces.c (tty_supports_face_attributes_p): Fix code
12899 for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code
12900 was copied and not edited.
12901
12902 2007-10-09 Stefan Monnier <monnier@iro.umontreal.ca>
12903
12904 Add new `input-decode-map' keymap and use it for terminal
12905 escape sequences.
12906 * keyboard.h (struct kboard): Add Vinput_decode_map.
12907 Remove Vlocal_key_translation_map.
12908 * keyboard.c (read_key_sequence): Add support for input-decode-map.
12909 (init_kboard): Init input-decode-map.
12910 Replace local-key-translation-map back with key-translation-map.
12911 (syms_of_keyboard): Declare input-decode-map.
12912 Remove local-key-translation-map. Update docstrings.
12913 (mark_kboards): Mark Vinput_decode_map.
12914 Don't mark Vlocal_key_translation_map.
12915 * keymap.c (Fdescribe_buffer_bindings): Describe input-decode-map.
12916 Replace local-key-translation-map back with key-translation-map.
12917 * term.c (term_get_fkeys_1, CONDITIONAL_REASSIGN):
12918 Bind in input-decode-map rather than function-key-map.
12919
12920 * lisp.h (XSETPSEUDOVECTOR): Don't set the tag anymore.
12921 This was made redundant by the previous introduction of XSETPVECTYPE.
12922
12923 2007-10-09 Richard Stallman <rms@gnu.org>
12924
12925 * image.c (free_bitmap_record): Rename from Free_Bitmap_Record.
12926
12927 2007-09-29 Richard Stallman <rms@gnu.org>
12928
12929 * eval.c (internal_condition_case_2, internal_condition_case_1)
12930 (internal_condition_case): Reenable abort if x_catching_errors ()
12931 to see if that really happens and why.
12932
12933 2007-10-06 Andreas Schwab <schwab@suse.de>
12934
12935 * fileio.c (Fwrite_region): Ignore EINVAL error from fsync.
12936
12937 2007-10-04 Juanma Barranquero <lekktu@gmail.com>
12938
12939 * image.c (syms_of_image) <image-types>: Fix typo in docstring.
12940
12941 2007-10-03 Stefan Monnier <monnier@iro.umontreal.ca>
12942
12943 * frame.h (struct frame): Don't try to GC-mark menu_bar_items_used.
12944
12945 2007-10-02 Stefan Monnier <monnier@iro.umontreal.ca>
12946
12947 * window.h (struct window):
12948 * window.c (struct save_window_data, struct saved_window):
12949 * termhooks.h (struct terminal):
12950 * process.h (struct Lisp_Process):
12951 * frame.h (struct frame):
12952 * buffer.h (struct buffer):
12953 * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table)
12954 (struct Lisp_Bool_Vector, struct Lisp_Subr, struct Lisp_Hash_Table):
12955 The size field of (pseudo)vectors is now unsigned.
12956 (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Simplify accordingly.
12957
12958 * lisp.h (struct Lisp_Hash_Table): Move non-traced elements at the end.
12959 Turn `count' into an integer.
12960
12961 * fns.c (make_hash_table, hash_put, hash_remove, hash_clear)
12962 (sweep_weak_table, sweep_weak_hash_tables, Fhash_table_count):
12963 * print.c (print_object) <HASH_TABLE_P>: `count' is an int.
12964 * alloc.c (allocate_hash_table): Use ALLOCATE_PSEUDOVECTOR.
12965 (mark_object) <HASH_TABLE_P>: Use mark_vectorlike.
12966
12967 * alloc.c (allocate_pseudovector): New fun.
12968 (ALLOCATE_PSEUDOVECTOR): New macro.
12969 (allocate_window, allocate_terminal, allocate_frame)
12970 (allocate_process): Use it.
12971 (mark_vectorlike): New function.
12972 (mark_object) <FRAMEP, WINDOWP, BOOL_VECTOR_P, VECTORP>: Use it.
12973 (mark_terminals): Use it.
12974 (Fmake_bool_vector, Fmake_char_table, make_sub_char_table)
12975 (Fmake_byte_code): Use XSETPVECTYPE.
12976
12977 * frame.c (Fframe_parameters): Minor simplification.
12978
12979 * insdel.c (adjust_markers_for_insert): Generalize assertion checks.
12980
12981 * marker.c (Fmarker_buffer): Make test for odd case into a failure.
12982
12983 * buffer.c (Fget_buffer_create, init_buffer_once):
12984 * lread.c (defsubr):
12985 * window.c (Fcurrent_window_configuration): Use XSETPVECTYPE.
12986
12987 * lisp.h (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Don't let them be
12988 defined differently in the m/*.h files.
12989 (XCHAR_TABLE, XBOOL_VECTOR): Add assertion checking.
12990 (XSETPVECTYPE): New macro.
12991 (XSETPSEUDOVECTOR): Use it.
12992
12993 * buffer.c (syms_of_buffer) <local-abbrev-table>: Move from abbrev.c.
12994 (DEFVAR_PER_BUFFER, defvar_per_buffer): Move from lisp.h and lread.c.
12995
12996 * lisp.h (defvar_per_buffer, DEFVAR_PER_BUFFER):
12997 * lread.c (defvar_per_buffer):
12998 * abbrev.c (syms_of_abbrev) <local-abbrev-tabl>: Move to buffer.c.
12999
13000 * window.c (candidate_window_p): Only consider as visible frames that
13001 are on the same terminal.
13002
13003 * m/ibms390x.h (MARKBIT): Remove unused macro.
13004
13005 2007-10-01 Juanma Barranquero <lekktu@gmail.com>
13006
13007 * lread.c (Fload): Fix typo in docstring.
13008
13009 2007-10-01 Michaël Cadilhac <michael@cadilhac.name>
13010
13011 * floatfns.c (Fexpt): Manually check for overflows, so that a power
13012 of a non-zero value can't yield zero.
13013
13014 2007-09-29 Stefan Monnier <monnier@iro.umontreal.ca>
13015
13016 * term.c (term_clear_mouse_face, term_mouse_highlight)
13017 (tty_write_glyphs_with_face): Only define is HAVE_GPM.
13018
13019 * print.c (safe_debug_print): Use XHASH.
13020
13021 * lisp.h (DECL_ALIGN, USE_LSB_TAG): Move logic to before definition of
13022 Lisp elements such as tags.
13023 (XHASH): New macro.
13024 (EQ): Use it.
13025 (SREF, SSET, STRING_COPYIN): Use SDATA.
13026 (VOID_TO_LISP, CVOID_TO_LISP, LISP_TO_VOID, LISP_TO_CVOID): Remove.
13027
13028 * alloc.c (mark_terminal): Remove left-over declaration.
13029 (enum mem_type): Replace all vector subtypes -> MEM_TYPE_VECTORLIKE.
13030 (allocate_vectorlike): Remove type argument. Adjust callers.
13031 (live_vector_p, mark_maybe_pointer, valid_lisp_object_p):
13032 Only handle the one remaining MEM_TYPE_VECTORLIKE.
13033
13034 * alloc.c (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): New macros
13035 to avoid unnecessary BLOCK_INPUTs when SYNC_INPUT is used.
13036 (xmalloc, xrealloc, xfree, lisp_malloc, lisp_free, lisp_align_malloc)
13037 (lisp_align_free, make_interval, allocate_string, allocate_string_data)
13038 (make_float, Fcons, allocate_vectorlike, Fmake_symbol, allocate_misc):
13039 Use them.
13040
13041 * xfaces.c (load_face_font, free_realized_face, clear_face_gcs):
13042 Don't let signal handlers run when a GC is freed but not yet NULL'ed.
13043 (x_free_gc): Remove BLOCK_INPUT since it's now redundant.
13044
13045 2007-09-28 Dan Nicolaescu <dann@ics.uci.edu>
13046
13047 * Makefile.in (lisp, shortlisp): Delete server.elc, it is not
13048 loaded by default.
13049
13050 2007-09-28 Stefan Monnier <monnier@iro.umontreal.ca>
13051
13052 * term.c (Fgpm_mouse_start): Don't signal an error if already activated
13053 on this tty.
13054 (Fgpm_mouse_stop): Only deactivate if it was activated on this tty.
13055
13056 * term.c (mouse_face_window): Rename from Qmouse_face_window.
13057 Update all users.
13058 (handle_one_term_event): Use Gpm_DrawPointer.
13059 (Fgpm_mouse_start): Rename from Fterm_open_connection.
13060 Signal errors instead of returning nil. Always return nil.
13061 (Fgpm_mouse_stop): Rename from Fterm_close_connection.
13062 Make it a noop if gpm-mouse was not activated.
13063 (syms_of_term): Update names.
13064
13065 2007-09-27 Stefan Monnier <monnier@iro.umontreal.ca>
13066
13067 * sysdep.c (narrow_foreground_group, widen_foreground_group): Static.
13068 (init_sys_modes): Check that gpm_tty is the current tty.
13069
13070 * alloc.c (allocate_terminal): Set the vector size to only count the
13071 lisp fields. Initialize those to nil.
13072 (mark_object): Don't treat terminals specially.
13073 (mark_terminal): Remove.
13074 (mark_terminals): Use mark_object instead.
13075
13076 * termhooks.h (struct terminal): Move all Lisp_Object fields traced by
13077 the GC to the beginning.
13078
13079 * indent.h:
13080 * indent.c: Use EMACS_INT for ints coming from Elisp data.
13081
13082 * indent.c (Fmove_to_column): Use EMACS_INT for buffer positions.
13083
13084 2007-09-25 Jason Rumney <jasonr@gnu.org>
13085
13086 * frame.c (make_terminal_frame): Remove special case for WINDOWSNT.
13087
13088 * w32console.c (create_w32cons_output): Remove.
13089
13090 * term.c (init_tty): Call init_sys_modes on WINDOWSNT also.
13091
13092 * sysdep.c (init_sys_modes): Use set_terminal_modes_hook.
13093 (reset_sys_modes): Use reset_terminal_modes_hook.
13094
13095 2007-09-24 Stefan Monnier <monnier@iro.umontreal.ca>
13096
13097 * eval.c (do_autoload): Don't output any message.
13098
13099 2007-09-24 Juri Linkov <juri@jurta.org>
13100
13101 * emacs.c (standard_args): Change priority of "--no-splash"
13102 from 40 to 3. Add "--no-desktop" with the same priority.
13103
13104 2007-09-23 Dmitry Antipov <dmantipov@yandex.ru>
13105
13106 * alloc.c (gc_sweep): Check cons cell mark bits word by word
13107 and optimize the case where they are all 1.
13108
13109 2007-09-23 Johannes Weiner <hannes@saeurebad.de>
13110
13111 * lisp.h (abs): Define if not defined.
13112 * keyboard.c, sound.c, w32term.c, xfaces.c, xterm.c:
13113 Don't define `abs', since it's defined in lisp.h.
13114
13115 2007-09-22 Eli Zaretskii <eliz@gnu.org>
13116
13117 * term.c (DEV_TTY): New macro. Provide a definition for MS-Windows.
13118 (FRAME_TERMCAP_P) [WINDOWSNT]: Don't define to zero.
13119 (Fcontrolling_tty_p, Fresume_tty, dissociate_if_controlling_tty)
13120 (init_tty): Use DEV_TTY instead of "/dev/tty".
13121 [WINDOWSNT]: No need to protect from NAME arg being null.
13122
13123 2007-09-21 Dan Nicolaescu <dann@ics.uci.edu>
13124
13125 * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning
13126 up the tty state.
13127
13128 2007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
13129
13130 * termhooks.h (term_gpm): Delete. Use gpm_tty's NULLness instead.
13131 (gpm_tty): Change its type.
13132 * term.c (term_gpm): Delete. Use gpm_tty's NULLness instead.
13133 (gpm_tty): Change its type and initialize it.
13134 (Fterm_open_connection): Check the frame is indeed a tty.
13135 Use the new gpm_tty.
13136 (Fterm_close_connection): Use the new gpm_tty.
13137 * keyboard.c (tty_read_avail_input): Use the new gpm_tty.
13138 * sysdep.c (init_sys_modes): term_gpm -> gpm_tty.
13139
13140 2007-09-21 Juanma Barranquero <lekktu@gmail.com>
13141
13142 * w32term.c (x_draw_glyph_string): Use strike_through_color, not
13143 underline_color, to draw strike-through.
13144
13145 2007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
13146
13147 * lisp.h (allocate_terminal): Declare.
13148
13149 * window.c (candidate_window_p): Consider frames that are being placed
13150 by the user as somewhere between visible and iconified.
13151 (window_loop): Prefer windows on the current frame.
13152 (Fselect_window): Move the use of select-frame to the beginning so we
13153 can just delegate all the work (it'll call us back anyway).
13154
13155 * frame.c (Qdisplay_environment_variable):
13156 * frame.h (Qdisplay_environment_variable): Delete.
13157
13158 * .gdbinit (xbacktrace): Print the arg's address rather than the value
13159 of the first arg, since that value may be a union.
13160
13161 * callproc.c (child_setup, getenv_internal): Use the frame's `display'
13162 parameter rather than Qdisplay_environment_variable. If all else
13163 fails, look for DISPLAY in initial-environment.
13164
13165 2007-09-21 Glenn Morris <rgm@gnu.org>
13166
13167 * Makefile.in (emacstool): Remove target.
13168 (lisp, shortlisp): Remove termdev.elc.
13169
13170 2007-09-21 Markus Triska <markus.triska@gmx.at>
13171
13172 * xterm.c (x_delete_display): Compile session management conditionally.
13173
13174 2007-09-20 Stefan Monnier <monnier@iro.umontreal.ca>
13175
13176 * callproc.c (getenv_internal_1): New function.
13177 (getenv_internal): Use it.
13178 (Fgetenv_internal): Use it. Accept an env-list as optional arg.
13179
13180 * terminal.c (get_terminal): Don't accept ints to represent terminals.
13181 (Fterminal_name, Fterminal_parameters, Fterminal_parameter)
13182 (Fset_terminal_parameter): Work with dead terminals as well.
13183 (Fmodify_terminal_parameters): Remove.
13184
13185 * terminal.c (get_terminal): Handle terminals.
13186 Make sure the terminal returned is live.
13187 (create_terminal): Use allocate_terminal.
13188 (mark_terminals): Move to alloc.c.
13189 (delete_terminal): Use terminal->name as liveness status.
13190 NULL out fields after freeing their contents.
13191 Don't deallocate the object.
13192 (Fframe_terminal): Use FRAME_TERMINAL. Return the terminal object
13193 rather than an int.
13194 (Fterminal_live_p): Accept non-integer arguments.
13195 (Fterminal_list): Return terminal objects rather than an ints.
13196
13197 * alloc.c (enum mem_type): New member for `terminal' objects.
13198 (allocate_terminal): New function.
13199 (mark_maybe_pointer, valid_lisp_object_p, mark_object):
13200 Handle terminals.
13201 (mark_terminal): New fun.
13202 (mark_terminals): Move from terminal.c.
13203
13204 * term.c (get_tty_terminal): Don't treat output_initial specially.
13205 (Fsuspend_tty, Fresume_tty): Use terminal objects rather than ints.
13206 (delete_tty): Use terminal->name as liveness status.
13207
13208 * termhooks.h (struct terminal): Make it into a pseudovector.
13209 Remove `deleted' replaced by checking `name's nullness.
13210
13211 * print.c (print_object): Handle terminals.
13212
13213 * lisp.h (enum pvec_type): New `terminal' pseudovector.
13214 (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros.
13215
13216 * frame.c (make_terminal_frame):
13217 * keyboard.c (tty_read_avail_input):
13218 * w32term.c (x_delete_terminal):
13219 * xfns.c (Fx_create_frame, x_create_tip_frame):
13220 * xterm.c (x_delete_terminal): Use terminal->name as liveness status.
13221
13222 2007-09-20 Glenn Morris <rgm@gnu.org>
13223
13224 * process.c (Fmake_network_process): Doc fix.
13225
13226 2007-09-19 Jason Rumney <jasonr@gnu.org>
13227
13228 * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument.
13229
13230 2007-09-19 Michaël Cadilhac <michael@cadilhac.name>
13231
13232 * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form):
13233 Fix a C warning regarding variable constness.
13234
13235 * xterm.c (handle_one_xevent): Fix a C warning.
13236
13237 2007-09-18 Jason Rumney <jasonr@gnu.org>
13238
13239 * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame.
13240
13241 2007-09-17 Jan Djärv <jan.h.d@swipnet.se>
13242
13243 * gtkutil.c (gdpy_def): New variable.
13244 (xg_initialize): Initialize gdpy_def.
13245 (xg_display_close): If no other display exists, set gdpy_def to a
13246 new connection.
13247
13248 2007-09-16 Jan Djärv <jan.h.d@swipnet.se>
13249
13250 * gtkutil.c (xg_get_image_for_pixmap): Always create a GdkPixbuf
13251 when we have no file name for the icon.
13252 (xg_tool_bar_expose_callback): Remove.
13253 (xg_create_tool_bar): Don't connect expose signal to
13254 xg_tool_bar_expose_callback.
13255 (xg_get_file_with_chooser): Move GCPRO1 after declarations.
13256
13257 2007-09-16 Andreas Schwab <schwab@suse.de>
13258
13259 * alloc.c (reset_malloc_hooks): Set the hooks to the previous
13260 values instead of zapping them.
13261
13262 2007-09-14 Glenn Morris <rgm@gnu.org>
13263
13264 * fringe.c (init_fringe_bitmap) <swap_nibble>: Move to file scope.
13265 * gtkutil.c (xg_separator_p) <separator_names>: Move to file scope.
13266 * image.c (our_memory_fill_input_buffer) <buffer>: Move to file
13267 scope and rename to omfib_buffer for clarity.
13268 (gif_load) <interlace_start, interlace_increment>: Move to file scope.
13269
13270 2007-09-14 Kenichi Handa <handa@m17n.org>
13271
13272 * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero.
13273
13274 2007-09-13 Jason Rumney <jasonr@gnu.org>
13275
13276 * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument.
13277
13278 * w32term.c (w32_term_init): Pass rif to w32_init_fringe.
13279
13280 * macterm.c (mac_initialize): Don't call mac_init_fringe here.
13281 (mac_term_init): Call here instead, passing rif.
13282
13283 2007-09-13 Glenn Morris <rgm@gnu.org>
13284
13285 * s/hpux.h: No longer define `static' as nothing.
13286
13287 2007-09-13 Johan Bockgård <bojohan@gnu.org>
13288
13289 * callint.c (Fcall_interactively): Remove unused var `fun'.
13290
13291 2007-09-12 Romain Francoise <romain@orebokech.com>
13292
13293 * window.c (prefer_window_split_horizontally, display_buffer):
13294 Revert 2007-09-08 change.
13295
13296 2007-09-12 Glenn Morris <rgm@gnu.org>
13297
13298 * alloca.c: Remove file.
13299 * Makefile.in (alloca): Do not undef.
13300 (allocaobj, alloca.o): Remove.
13301 (otherobj): Remove allocaobj.
13302 * keyboard.c (command_loop_1): Remove #ifdef C_ALLOCA block.
13303 * regex.c (C_ALLOCA): Remove all references and code that was only
13304 used when this was defined.
13305 * search.c (boyer_moore): Remove #ifdef C_ALLOCA block.
13306 * xmenu.c (xmenu_show): Remove #ifdef C_ALLOCA block.
13307 * m/ibms390x.h, m/sh3el.h (C_ALLOCA): Remove references to this.
13308
13309 * Makefile.in (SOURCES, unlock, relock): Delete.
13310
13311 * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity.
13312 (menu_grab_callback): All uses changed.
13313
13314 * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity.
13315 (x_reply_selection_request): All uses changed.
13316
13317 2007-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
13318
13319 * lread.c (load_warn_old_style_backquotes): Change message to look
13320 better when it appears in the middle of byte-compiler messages.
13321
13322 2007-09-10 Dan Nicolaescu <dann@ics.uci.edu>
13323
13324 * s/darwin.h (MULTI_KBOARD): Only define for Carbon.
13325
13326 * xterm.c (x_create_terminal): Add comment.
13327
13328 * term.c (clear_tty_hooks, set_tty_hooks): Add comments.
13329
13330 2007-09-10 Richard Stallman <rms@gnu.org>
13331
13332 * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME.
13333
13334 2007-09-10 Michaël Cadilhac <michael@cadilhac.name>
13335
13336 * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'.
13337 (DEFUN): Document `intspec', use it instead of `prompt'.
13338
13339 * eval.c (Fcommandp): Change `->prompt' to `->intspec'.
13340
13341 * data.c (Finteractive_form): If the interactive specification starts
13342 with a `(', use it as a Lisp form.
13343
13344 * fileio.c (Fset_file_modes): Add an interactive spec that reads a file
13345 name and file modes.
13346
13347 * callint.c (Fcall_interactively): Comment fixes.
13348
13349 2007-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
13350
13351 * callint.c (Fcall_interactively): Use Finteractive_form also for subrs
13352 and compiled functions.
13353
13354 2007-09-08 Fredrik Axelsson <f.axelsson@gmail.com>
13355
13356 * window.c (prefer_window_split_horizontally): New variable.
13357 (display_buffer): Consider splitting window horizontally depending
13358 on prefer_window_split_horizontally.
13359
13360 2007-09-08 Eli Zaretskii <eliz@gnu.org>
13361
13362 * sysdep.c [WINDOWSNT]: Don't include sysselect.h.
13363
13364 2007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
13365
13366 * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking.
13367
13368 * frame.c (x_set_frame_parameters): Check number is positive before
13369 using XFASTINT.
13370
13371 * window.c (freeze_window_start): Don't presume selected_window holds
13372 a window object.
13373 (Fdisplay_buffer): Remove `register' since `buffer' needs to be gcpro'd.
13374
13375 2007-09-07 Angelo Graziosi <Angelo.Graziosi@roma1.infn.it> (tiny change)
13376
13377 * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN.
13378
13379 2007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
13380
13381 * window.c (Vsplit_window_preferred_function): New var.
13382 (Fdisplay_buffer): Use it.
13383 (syms_of_window): Export, and initialize it.
13384
13385 2007-09-06 Pixel <pixel@mandriva.com> (tiny change)
13386
13387 * image.c (gif_load): Fix bug: Handle nonexistent colormap.
13388
13389 2007-09-06 Glenn Morris <rgm@gnu.org>
13390
13391 * gtkutil.c (menu_grab_callback) <cnt>:
13392 * xselect.c (x_reply_selection_request) <cnt>: Move static
13393 variable to file scope.
13394
13395 2007-09-06 Stefan Monnier <monnier@iro.umontreal.ca>
13396
13397 * xdisp.c (redisplay_internal): Make sure Elisp code always sees
13398 consistent values of selected_frame and selected_window.
13399
13400 2007-09-04 Jason Rumney <jasonr@gnu.org>
13401
13402 * w32console.c (initialize_w32_display): Zero unused hooks.
13403
13404 2007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
13405
13406 * term.c (Vsuspend_tty_functions, Vresume_tty_functions)
13407 (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change.
13408
13409 2007-09-04 Jason Rumney <jasonr@gnu.org>
13410
13411 * term.c (init_tty) [WINDOWSNT]: Add hooks that are not accessible
13412 in w32console.c. Set up input. Remove XXX comments that have been
13413 confirmed as correct.
13414
13415 * s/ms-w32.h (MULTI_KBOARD): Define.
13416
13417 * w32console.c (one_and_only_w32cons): Remove.
13418 (initialize_w32_display): Take terminal argument.
13419
13420 * term.c (init_tty) [WINDOWSNT]: Pass terminal to
13421 initialize_w32_display.
13422 (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too.
13423
13424 * termhooks.h (enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
13425
13426 * keyboard.c (discard_mouse_events): Discard it.
13427 (make_lispy_event): Translate it to a lisp event.
13428 (lispy_wheel_names): Add wheel-left and right events.
13429 (syms_of_keyboard): Enlarge wheel_syms.
13430
13431 * w32fns.c (w32_wnd_proc) <WM_DROPFILES>: Merge with WM_MOUSEWHEEL.
13432 <WM_MOUSEHWHEEL>: Pass new system message to lisp.
13433
13434 * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't.
13435
13436 * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT
13437 from WM_MOUSEHWHEEL.
13438 (w32_read_socket) <WM_MOUSEHWHEEL>: Treat as WM_MOUSEWHEEL.
13439
13440 * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from
13441 terminal.
13442
13443 * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new
13444 keyboard for the terminal.
13445
13446 2007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
13447
13448 * term.c (Vsuspend_tty_hook): Rename from Vsuspend_tty_functions.
13449 (Vresume_tty_hook): Rename from Vresume_tty_functions.
13450 (syms_of_term): Rename suspend-tty-functions to suspend-tty-hook
13451 and resume-tty-function to resume-tty-hook.
13452 (Fsuspend_tty, Fresume_tty): Use new names.
13453
13454 2007-09-02 Jan Djärv <jan.h.d@swipnet.se>
13455
13456 * gtkutil.c (update_frame_tool_bar): Handle stock name as a named icon
13457 if it starts with "n:".
13458
13459 2007-08-31 Jan Djärv <jan.h.d@swipnet.se>
13460
13461 * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL.
13462
13463 2007-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
13464
13465 * frame.h:
13466 * frame.c (Qterm_environment_variable): Remove.
13467 (syms_of_frame): Don't init and staticpro it.
13468
13469 * callproc.c (getenv_internal): Remove special case for $TERM.
13470
13471 * callproc.c (Vinitial_environment): New variable.
13472 (set_initial_environment): Initialize it.
13473 (syms_of_callproc): Declare it.
13474 (child_setup): Don't mess with TERM via Qterm_environment_variable; the
13475 TERM under which a process runs is never related to the TERM in which
13476 Emacs is running.
13477
13478 2007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
13479
13480 * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here...
13481 * s/darwin.h: ... do it here.
13482
13483 2007-08-29 Stefan Monnier <monnier@iro.umontreal.ca>
13484
13485 * lisp.h (set_initial_environment): Rename from set_global_environment.
13486
13487 * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been
13488 removed by mistake on the multi-tty branch.
13489
13490 * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup.
13491 (Fmodify_frame_parameters): Return a value.
13492
13493 * image.c (png_load): Comment-out var only used in commented-out code.
13494
13495 * term.c (mark_ttys): Don't bother checking top_frame (incorrectly)
13496 before passing it to mark_object.
13497
13498 * xfaces.c (internal_resolve_face_name): Return a value.
13499 (internal_resolve_face_name, resolve_face_name_error): Comment out.
13500
13501 * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup.
13502 (x_icon): Comment-out var only used in commented-out code.
13503
13504 2007-08-29 Romain Francoise <romain@orebokech.com>
13505
13506 * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if
13507 QUIT hasn't been provided.
13508
13509 2007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
13510
13511 * callproc.c (child_setup, getenv_internal): Use the
13512 display-environment-variable and term-environment-variable frame params.
13513 (set_initial_environment): Initialise Vprocess_environment.
13514
13515 * config.in: Disable multi-keyboard support on a mac.
13516
13517 * frame.c (Qterm_environment_variable)
13518 (Qdisplay_environment_variable): New variables.
13519 (syms_of_frame): Intern and staticpro them.
13520 (Fmake_terminal_frame): Disable output method test.
13521
13522 * frame.h: Declare them here.
13523
13524 * macfns.c (x_set_mouse_color): Get rif from the frame.
13525 (x_set_tool_bar_lines): Don't use updating_frame.
13526 (mac_window): Add 2 new parameters for consistency with other systems.
13527 (Fx_create_frame): Fix doc string. Rename the parameter. Set the
13528 frame parameters following what is done in X11 and w32. Don't use
13529 FRAME_MAC_DISPLAY_INFO.
13530 (Fx_open_connection, start_hourglass): Remove window-system check.
13531 (x_create_tip_frame): Get the keyboard from the terminal.
13532
13533 * macmenu.c: Reorder includes.
13534 (Fx_popup_menu): Use terminal specific mouse_position_hook.
13535
13536 * macterm.c (XTset_terminal_modes, XTreset_terminal_modes): Add a
13537 terminal parameter.
13538 (x_clear_frame): Add a frame parameter.
13539 (note_mouse_movement): Get rif from the frame.
13540 (mac_term_init): Initialize the terminal.
13541 (mac_initialize): Make static and move terminal initialization ...
13542 (mac_create_terminal): ... to this new function.
13543
13544 * macterm.h (struct mac_display_info): Add terminal.
13545 (mac_initialize): Delete declaration.
13546
13547 * puresize.h (BASE_PURESIZE): Increase base value to 1164000.
13548
13549 * sysdep.c: Comment out text after #endif.
13550
13551 * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD
13552 is defined. Better initialize ttys in windows. Use terminal
13553 specific mouse_position_hook.
13554
13555 * termhooks.h (union display_info): Add mac_display_info.
13556
13557 * w32fns.c (Fx_create_frame): Use kboard from the terminal.
13558 Set the default minibuffer frame, window_system and the rest of the
13559 frame parameters following what is done in X11.
13560
13561 * w32term.c (w32_initialize): Make static.
13562
13563 * xselect.c (x_handle_selection_clear): Only access
13564 terminal->kboard when MULTI_KBOARD is defined.
13565
13566 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
13567 (SYSTEM_PURESIZE_EXTRA): Only define on Carbon.
13568
13569 2007-08-29 Jason Rumney <jasonr@gnu.org>
13570
13571 * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined.
13572 (make_terminal_frame) [WINDOWSNT]: Initialize terminal.
13573
13574 * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]:
13575 (mac_init_fringe) [MAC_OS]: Get rif from selected_frame.
13576
13577 * keyboard.c (restore_kboard_configuration): Only define when
13578 MULTI_KBOARD defined.
13579
13580 * makefile.w32-in: Update dependancies from Makefile.in.
13581 (OBJ1): Add terminal.$(O)
13582
13583 * term.c (dissociate_if_controlling_tty) [WINDOWSNT]:
13584 Don't define function body.
13585 (init_tty) [WINDOWSNT]: Use selected_frame for initializing.
13586
13587 * termhooks.h (display_info) [WINDOWSNT]: Add w32.
13588
13589 * w32.c (request_sigio, unrequest_sigio): Remove.
13590
13591 * w32console.c (w32con_move_cursor, w32con_clear_to_end)
13592 (w32con_clear_frame, w32con_clear_end_of_line)
13593 (w32con_ins_del_lines, w32con_insert_glyphs, w32con_write_glyphs)
13594 (w32con_delete_glyphs, w32con_set_terminal_window)
13595 (scroll_line, w32_sys_ring_bell): Add frame arg.
13596 (w32con_set_terminal_modes, w32con_reset_terminal_modes):
13597 Add terminal arg.
13598 (PICK_FRAME): Remove.
13599 (w32con_write_glyphs): Use frame specific terminal coding.
13600 (one_and_only_w32cons): New global variable.
13601 (initialize_w32_display): Use it for storing hooks.
13602 (create_w32cons_output): New function.
13603
13604 * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first
13605 arg a frame.
13606
13607 * w32fns.c (x_create_tip_frame): Set terminal and ref count.
13608 Set window_system.
13609 (x_set_tool_bar_lines): Don't use updating_frame.
13610 (Fx_create_frame): Set terminal and ref count.
13611 (Fx_open_connection): Remove window-system check.
13612
13613 * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook.
13614
13615 * w32term.c (w32_term_init): Call add_keyboard_wait_descriptor.
13616 (w32_set_terminal_modes, w32_reset_terminal_modes): Add terminal arg.
13617 (x_clear_frame, x_delete_glyphs, w32_ring_bell, x_ins_del_lines):
13618 Add frame arg.
13619 (x_delete_terminal, w32_create_terminal): New functions.
13620 (w32_term_init): Create a terminal.
13621 (w32_initialize): Move terminal specific initialization to
13622 w32_create_terminal.
13623
13624 * w32term.h (x_output): Remove foreground_pixel and background_pixel.
13625 (w32_clear_rect, w32_clear_area): Use background from frame.
13626 (w32_display_info): Add terminal.
13627 (w32_sys_ring_bell, x_delete_display): Declare here.
13628
13629 * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type.
13630
13631 * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k.
13632
13633 2007-08-29 Kalle Olavi Niemitalo <kon@iki.fi> (tiny change)
13634
13635 * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char):
13636 Fix get_named_tty calls for the controlling tty.
13637
13638 2007-08-29 ARISAWA Akihiro <ari@mbf.ocn.ne.jp> (tiny change)
13639
13640 * term.c (dissociate_if_controlling_tty)[USG]: Fix parse error.
13641
13642 2007-08-29 Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp> (tiny change)
13643
13644 * term.c (tty_insert_glyphs): Add missing first parameter.
13645
13646 2007-08-29 Károly Lőrentey <karoly@lorentey.hu>
13647
13648 * buffer.c (Fbuffer_list, Fbury_buffer):
13649 Take frame->buried_buffer_list into account.
13650
13651 * cm.c (current_tty): New variable, for cmputc().
13652 (cmputc): Use it.
13653 (cmcheckmagic): Add tty parameter, look up terminal streams there.
13654 (calccost): Add tty parameter. Use emacs_tputs() instead of tputs().
13655 (cmgoto): Add tty parameter. Pass it on to calccost().
13656 Use emacs_tputs() instead of tputs().
13657
13658 * cm.h (emacs_tputs): New macro to set current_tty, and then call
13659 tputs().
13660 (current_tty): New variable, for cmputc().
13661 (cmcheckmagic, cmputc, cmgoto): Add prototypes.
13662
13663 * eval.c (unwind_to_catch): Don't call x_fully_uncatch_errors.
13664 (internal_condition_case, internal_condition_case_1)
13665 (internal_condition_case_2): Don't abort when x_catching_errors.
13666
13667 * fns.c (Fyes_or_no_p): Don't try to open an X dialog on tty terminals.
13668 (Fy_or_n_p): Likewise. Use temporarily_switch_to_single_kboard to
13669 prevent crashes caused by bogus longjmps in read_char.
13670
13671 * keymap.h (Fset_keymap_parent): Add EXFUN.
13672
13673 * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
13674 * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
13675 Remove redundant definition.
13676
13677 * macfns.c (x_set_mouse_color, x_make_gc):
13678 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
13679
13680 * w32term.c (x_free_frame_resources):
13681 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
13682 (w32_initialize): Use the accessor macros for terminal characteristics.
13683
13684 * macterm.c (mac_initialize): Use Fset_input_interrupt_mode.
13685 Use the accessor macros for terminal characteristics.
13686 * msdos.c (internal_terminal_init): Use the accessor macros for
13687 terminal characteristics.
13688 (ScreenVisualBell, internal_terminal_init):
13689 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
13690
13691 * termopts.h (no_redraw_on_reenter): Declare.
13692
13693 * alloc.c (emacs_blocked_malloc): Disable mallopt call.
13694 (mark_terminals, mark_ttys): Declare.
13695 (Fgarbage_collect): Call them.
13696 (mark_object): Mark buried_buffer_list.
13697
13698 * prefix-args.c: Include stdlib.h for exit.
13699
13700 * syssignal.h: Add comment.
13701
13702 * indent.c: Include stdio.h.
13703
13704 * window.h (Vinitial_window_system): Declare.
13705 (Vwindow_system): Delete declaration.
13706
13707 * fontset.c (Finternal_char_font): Use FRAME_RIF.
13708
13709 * image.c (lookup_image): Don't initialize `c' until the xasserts
13710 have been run.
13711
13712 * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and
13713 FRAME_FOREGROUND_PIXEL.
13714
13715 * print.c (print_preprocess): Don't lose print_depth levels while
13716 iterating.
13717
13718 * widget.c (update_from_various_frame_slots):
13719 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
13720
13721 * window.c (set_window_buffer): Don't call clear_mouse_face on tty
13722 frames.
13723 (window_internal_height): Remove bogus make_number call.
13724 (init_window_once): Call make_terminal_frame with two zero parameters.
13725
13726 * fileio.c (Fread_file_name): Update comment.
13727
13728 * callint.c (Fcall_interactively):
13729 Use temporarily_switch_to_single_kboard instead of single_kboard_state.
13730 Make sure it is correctly unwound.
13731
13732 * xsmfns.c (x_session_close): New function.
13733
13734 * coding.h (terminal_coding, safe_terminal_coding, keyboard_coding):
13735 Delete declarations.
13736
13737 * xterm.h: Remove declaration for x_fully_uncatch_errors.
13738 (x_output): Remove background_pixel and foreground_pixel fields.
13739 (x_display_info): Add new field TERMINAL. Remove KBOARD field.
13740 (x_delete_device, x_session_close): Declare.
13741
13742 * lread.c: Include setjmp.h. Update declaration of `read_char'.
13743 (read_filtered_event): Call `read_char' with a local
13744 `wrong_kboard_jmpbuf'.
13745
13746 * minibuf.c (read_minibuf): Call temporarily_switch_to_single_kboard.
13747 Don't call single_kboard_state. Use FRAME_RIF.
13748
13749 * process.c (Fmake_network_process): Don't unrequest_sigio on modern
13750 systems.
13751
13752 * lisp.h (set_process_environment): Rename to `set_global_environment'.
13753 (Fframe_with_environment, Fset_input_meta_mode)
13754 (Fset_quit_char): EXFUN.
13755 (x_create_device, tty_output, terminal, tty_display_info): Declare.
13756 (init_sys_modes, reset_sys_modes): Update prototypes.
13757 (init_all_sys_modes, reset_all_sys_modes): New prototypes.
13758
13759 * keyboard.h (struct kboard): Add new fields Vlocal_function_key_map,
13760 Vlocal_key_translation_map, and Vkeyboard_translate_table.
13761 (Vfunction_key_map, Vkeyboard_translate_table, single_kboard_state):
13762 Delete declarations.
13763 (Vfunction_key_map, Vkey_translation_map, push_kboard, pop_kboard)
13764 (temporarily_switch_to_single_kboard, tty_read_avail_input):
13765 New declarations.
13766
13767 * emacs.c (main): Don't call init_sys_modes(), the new term_init()
13768 already does that during init_display(). Call syms_of_keymap
13769 before syms_of_keyboard. Call `syms_of_terminal'.
13770 Call set_initial_environment, not set_process_environment.
13771 (shut_down_emacs): Call reset_all_sys_modes() instead of
13772 reset_sys_modes().
13773
13774 * xfaces.c (x_free_gc): Protect xassert with GLYPH_DEBUG.
13775 (internal_resolve_face_name, resolve_face_name_error): New functions.
13776 (resolve_face_name): Protect against loops and errors thrown by Fget.
13777 (realize_default_face): Don't use FRAME_FONT unless frame is an X frame.
13778 (Ftty_supports_face_attributes_p): Update tty_capable_p call.
13779
13780 * scroll.c: Replace CURTTY() with local variables throughout the
13781 file (where applicable).
13782 (calculate_scrolling, calculate_direct_scrolling)
13783 (scrolling_1, scroll_cost): Use the accessor macros for terminal
13784 characteristics.
13785
13786 * keymap.c (Vfunction_key_map): Remove.
13787 (Fdescribe_buffer_bindings): Update references to Vfunction_key_map.
13788 (syms_of_keymap): Remove DEFVAR for Vfunction_key_map.
13789 (Vkey_translation_map): Remove.
13790 (syms_of_keymap): Remove DEFVAR for key-translation-map.
13791 (Fdescribe_buffer_bindings)
13792 (read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards):
13793 Update for terminal-local key-translation-map.
13794
13795 * Makefile.in (callproc.o): Update dependencies.
13796 (lisp, shortlisp): Add termdev.elc.
13797 (obj): Add terminal.o.
13798 (terminal.o): Add dependencies.
13799 [HAVE_CARBON]: Make terminal.o depend on macgui.h.
13800 (data.o, fns.o): Add termhooks.h dependency.
13801 (SOME_MACHINE_LISP): Add dnd.elc.
13802 (minibuf.o): Fix typo.
13803 Update dependencies.
13804
13805 * data.c (do_symval_forwarding, store_symval_forwarding)
13806 (find_symbol_value): Use the selected frame's keyboard, not
13807 current_kboard.
13808
13809 * .gdbinit (init_sys_modes): Use Vinitial_window_system instead of
13810 Vwindow_system.
13811
13812 * xmenu.c (Fx_menu_bar_open) [USE_X_TOOLKIT, USE_GTK]: Rename from
13813 Fmenu_bar_open.
13814 (syms_of_xmenu): Update defsubr.
13815 (mouse_position_for_popup, Fx_popup_menu)
13816 (Fx_popup_dialog, x_activate_menubar, update_frame_menubar)
13817 (set_frame_menubar, free_frame_menubar)
13818 (create_and_show_popup_menu, xmenu_show, )
13819 (create_and_show_dialog, xdialog_show, xmenu_show): Abort if not
13820 an X frame.
13821
13822 * xselect.c (x_own_selection): Abort if not an X frame.
13823 (some_frame_on_display): Check if it is an X frame.
13824 (x_handle_selection_clear): Deal with MULTI_KBOARD.
13825
13826 * coding.c: Include frame.h and termhooks.h.
13827 (terminal_coding, keyboard_coding): Delete.
13828 (Fset_terminal_coding_system_internal)
13829 (Fset_keyboard_coding_system_internal)
13830 (Fkeyboard_coding_system)
13831 (Fterminal_coding_system): Add a terminal parameter.
13832 Get terminal_coding from the terminal.
13833 (init_coding_once): Don't call setup_coding_system here.
13834
13835 * dispextern.h (set_scroll_region, turn_off_insert)
13836 (turn_off_highlight, background_highlight, clear_end_of_line_raw)
13837 (tty_clear_end_of_line, tty_setup_colors)
13838 (delete_tty, updating_frame)
13839 (produce_special_glyphs, produce_glyphs, write_glyphs)
13840 (insert_glyphs): Remove.
13841 (raw_cursor_to, clear_to_end, tty_turn_off_insert)
13842 (tty_turn_off_highlight, get_tty_size): Add declaration.
13843 (tabs_safe_p, init_baud_rate, get_tty_terminal): Update prototypes.
13844
13845 * frame.h (enum output_method): Add output_initial.
13846 (struct x_output): Delete.
13847 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
13848 Access foreground_pixel and background_pixel directly from the frame.
13849 (tty_display): Delete.
13850 (struct frame): Add buried_buffer_list, foreground_pixel,
13851 background_pixel and terminal. Delete kboard.
13852 (union output_data): Add tty.
13853 (FRAME_KBOARD): Get the kboard from the terminal.
13854 (FRAME_INITIAL_P): New macro.
13855 (Qtty, Qtty_type, Qterminal, Qterminal_live_p, Qenvironment)
13856 (Qterm_environment_variable, Qdisplay_environment_variable)
13857 (make_terminal_frame, Qburied_buffer_list, Qwindow_system):
13858 New declarations.
13859
13860 * termchar.h (tty_output, tty_display_info): New structures.
13861 (tty_list): Declare.
13862 (FRAME_TTY, CURTTY): New macros.
13863 (must_write_spaces, min_padding_speed, fast_clear_end_of_line)
13864 (line_ins_del_ok, char_ins_del_ok, scroll_region_ok)
13865 (scroll_region_cost, memory_below_frame, fast_clear_end_of_line)
13866 (dont_calculate_costs, no_redraw_on_reenter): Remove declarations.
13867
13868 * callproc.c: Include frame.h and termhooks.h, for terminal
13869 parameters.
13870 (add_env): New function.
13871 (child_setup): Use it.
13872 (child_setup, getenv_internal): Handle the new Vprocess_environment.
13873 (getenv_internal): Fix get_terminal_param call.
13874 (Fgetenv_internal, egetenv): Update doc.
13875 (syms_of_callproc): Initialize Vprocess_environment to nil.
13876 Register and initialize them. Remove obsolete defvars. Update doc
13877 strings.
13878 (child_setup): Handle Vlocal_environment_variables.
13879 (getenv_internal): Add terminal parameter.
13880 Handle Vlocal_environment_variables.
13881 (Fgetenv_internal): Add terminal parameter.
13882 (child_setup, getenv_internal, Fgetenv_internal): Store the local
13883 environment in a frame (not terminal) parameter. Update doc strings.
13884 (set_initial_environment): Rename from set_global_environment.
13885 Store Emacs environment in initial frame parameter.
13886
13887 * xdisp.c (redisplay_internal): Update references to
13888 `previous_terminal_frame'.
13889 (display_mode_line, Fformat_mode_line): Replace calls to
13890 `push_frame_kboard' with `push_kboard'.
13891 (get_glyph_string_clip_rects): Add extra parentheses and
13892 braces to prevent compiler warnings.
13893 (calc_pixel_width_or_height): Add xassert to check that the
13894 frame is alive. Don't call `lookup_image' on a termcap frame.
13895 (message2_nolog, message3_nolog, redisplay_internal)
13896 (set_vertical_scroll_bar, redisplay_window, check_x_display_info)
13897 (x_set_scroll_bar_foreground, x_set_scroll_bar_background)
13898 (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p)
13899 (Fx_display_pixel_width, Fx_display_pixel_height)
13900 (Fx_display_planes, Fx_display_color_cells)
13901 (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
13902 (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width)
13903 (Fx_display_backing_store, Fx_display_visual_class)
13904 (Fx_display_save_under, Fx_close_connection, x_create_tip_frame):
13905 Use FRAME_TERMINAL_P, FRAME_WINDOW_P, FRAME_TTY and FRAME_RIF.
13906
13907 * xfns.c (x_set_foreground_color x_set_background_color)
13908 (x_set_mouse_color, x_set_cursor_color, x_make_gc):
13909 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
13910 (Fx_create_frame, x_create_tip_frame, build_string, x_window)
13911 (Fx_create_frame, x_create_tip_frame): Don't create frames on a
13912 terminal that is being deleted.
13913 (Fx_create_frame): Use `store_frame_param' to set `window-system'
13914 frame parameter, and make sure it overrides any user-supplied setting.
13915 (Fx_close_connection, Fx_synchronize): Unify argument names with
13916 the rest of the DEFUNs.
13917
13918 * dispnew.c (Fsend_string_to_terminal): Update call to
13919 `get_tty_terminal'.
13920 (Fredraw_frame, Fsend_string_to_terminal)
13921 (Fsend_string_to_terminal, init_display): Use FRAME_RIF,
13922 FRAME_TERMCAP_P and FRAME_TTY.
13923 (window_change_signal): Don't believe width/height values that are
13924 impossibly small.
13925 (Vinitial_window_system): Rename from Vwindow_system.
13926 (termscript, Wcm, rif): Delete.
13927
13928 * termhooks.h (struct terminal): New struct containing the
13929 previously global text display hooks and new members NAME,
13930 DELETED and PARAM_ALIST.
13931 (FRAME_TERMINAL, TERMINAL_TERMINAL_CODING)
13932 (TERMINAL_KEYBOARD_CODING, TERMINAL_ACTIVE_P, FRAME_WINDOW_P)
13933 (FRAME_RIF): New macros.
13934 (get_terminal_param, get_device): New declarations.
13935 (termscript): Delete declaration.
13936
13937 * xterm.c (x_initialize): Use Fset_input_interrupt_mode.
13938 (XTflash, x_free_frame_resources, x_scroll_bar_create)
13939 (x_scroll_bar_set_handle): Use FRAME_BACKGROUND_PIXEL and
13940 FRAME_FOREGROUND_PIXEL.
13941 (x_fully_uncatch_errors): Disable definition.
13942 (x_scroll_bar_expose): Fix reference to foreground pixel.
13943 (XTread_socket): Disable loop on all X displays.
13944 (x_delete_terminal): Don't set terminal->deleted and let
13945 delete_terminal delete the frames on the terminal.
13946 (x_delete_display): Doc update to reflect changes in
13947 delete_terminal.
13948 (x_display_info) <terminal>: Move member earlier in the struct.
13949 (deleting_tty): Remove old variable.
13950 (Fsuspend_tty): Call clear_tty_hooks.
13951 (Fresume_tty, init_tty): Call set_tty_hooks.
13952 (Ftty_display_color_p, Ftty_display_color_cells): Don't throw
13953 errors on X frames.
13954 (x_catch_errors_unwind): Abort if x_error_message is NULL.
13955 (handle_one_xevent): Initialize `f' to NULL.
13956 (x_delete_terminal, x_create_terminal): New functions.
13957 (XTset_terminal_modes, XTreset_terminal_modes)
13958 (XTread_socket, x_connection_closed, x_term_init)
13959 (x_term_init, x_delete_display): Add terminal parameter.
13960 (x_term_init) [!HAVE_GTK_MULTIDISPLAY]: Refuse to create secondary
13961 X connections.
13962
13963 * frame.c: Include termchar.h.
13964 (Qterminal, Qterminal_live_p, Qburied_buffer_list, Qtty, Qtty_type)
13965 (Qwindow_system, Qenvironment, Qterm_environment_variable)
13966 (Qdisplay_environment_variable): New vars.
13967 (Fframep): Deal with output_initial.
13968 (Fframe-live-p): Doc fix.
13969 (Fwindow-system): New function.
13970 (x_set_screen_gamma, store_frame_param): Fix compilation errors.
13971 (make_terminal_frame): Don't create frames on a terminal that is
13972 being deleted. Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
13973 (store_frame_param): Check for found_for_frame before calling XFRAME.
13974 (Fmake_terminal_frame): Handle NULL tty names correctly.
13975 (syms_of_frame): Enhance doc string of `default-frame-alist'.
13976 (Fdelete_frame): Remove unused variable `count'. Don't allow other
13977 frames to refer to a deleted frame in their 'environment parameter.
13978 (Fframe_with_environment): New function.
13979 (syms_of_frame): Defsubr it. Initialize and staticpro Qenvironment.
13980 (get_future_frame_param): New function.
13981 (Fmake_terminal_frame): Use it.
13982 (x_set_frame_parameters, x_set_screen_gamma): Use FRAME_RIF.
13983
13984 * sysdep.c (init_sys_modes, reset_sys_modes): Update for renames.
13985 * sysdep.c (reset_sys_modes): Update for renames.
13986
13987 * keyboard.c (tty_read_avail_input): New function.
13988 (Fset_input_interrupt_mode, Fset_output_flow_control): New functions.
13989 (syms_of_keyboard): Defsubr them.
13990 (Fset_input_meta_mode, Fset_quit_char): New functions.
13991 (Fset_input_mode): Split to above functions.
13992 (read_char_minibuf_menu_prompt): Add wrong_kboard_jmpbuf
13993 parameter. Use it in call to `read_char'.
13994 (read_char): Declare. Update call to `read_char_minibuf_menu_prompt'.
13995 Set wrong_kboard_jmpbuf correctly in recursive calls.
13996 Use current_kboard to access Vkeyboard_translate_table.
13997 Enhance comment before extra longjmp to wrong_kboard_jmpbuf.
13998 Add wrong_kboard_jmpbuf parameter to allow for recursive calls.
13999 Update longjmp invocations. Remember the original current_kboard,
14000 and longjmp to `wrong_kboard_jmpbuf' when a filter, timer or sentinel
14001 changes it. Comment out unnecessary calls to
14002 `record_single_kboard_state' and `any_kboard_state'.
14003 Update recursive calls.
14004 (wrong_kboard_jmpbuf): Remove global variable.
14005 (read_key_sequence): Remove unused variable wrong_kboard_jmpbuf.
14006 Handle deleted interrupted_kboards correctly; that is a legal
14007 case. Add `wrong_kboard_jmpbuf' local variable. Update setjmp
14008 and read_char calls. Abort if interrupted_kboard died in read_char.
14009 (any_kboard_state, single_kboard_state)
14010 (push_frame_kboard): Remove function.
14011 (pop_kboard): Switch out of single_kboard mode if the kboard has
14012 been deleted. Remove unused variable. Help debugging by not
14013 changing current_kboard unnecessarily. Set current_kboard to the
14014 kboard of the selected frame when the stored kboard object has
14015 been deleted before pop_kboard.
14016 (temporarily_switch_to_single_kboard): Change first parameter to a
14017 frame pointer. Throw an error when caller wants to change kboards
14018 while in single_kboard mode. Don't push_kboard if we weren't in
14019 single kboard state. Don't pop_kboard if we popped into any
14020 kboard state.
14021 (restore_kboard_configuration): Abort if pop_kboard changed the
14022 kboard in single_kboard mode. Call pop_kboard only after setting
14023 up single_kboard mode.
14024 (Frecursive_edit): Switch to single_kboard mode only in nested
14025 command loops.
14026 (cmd_error, command_loop, command_loop_1, timer_check):
14027 Comment out unnecessary call to `any_kboard_state' and
14028 `record_single_kboard_state'.
14029 (delete_kboard): Exit single_kboard mode if we have just deleted
14030 that kboard. Use FRAME_KBOARD.
14031 (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not
14032 `fatal_error_signal'.
14033 (record_single_kboard_state): Don't push_kboard if we weren't in
14034 single kboard state. Don't pop_kboard if we popped into any
14035 kboard state.
14036 (push_frame_kboard): Rename to push_kboard.
14037 (kbd_buffer_get_event): Use FRAME_TERMINAL.
14038 (read_avail_input): Read input from all terminals.
14039 (mark_kboards): Also mark Vkeyboard_translate_table.
14040 (kbd_buffer_store_event_hold): Simplify condition.
14041 (read_key_sequence): Reinitialize fkey and keytran at each replay.
14042 (Vkeyboard_translate_table): Move to struct kboard.
14043 (init_kboard): Initialize Vkeyboard_translate_table.
14044 (syms_of_keyboard): Use DEFVAR_KBOARD to define
14045 Vkeyboard_translate_table. Update doc strings. Update docs of
14046 local-function-key-map and function-key-map.
14047
14048 * terminal.c: New file.
14049
14050 * term.c: Include errno.h.
14051 (Vring_bell_function, device_list, initial_device)
14052 (next_device_id, ring_bell, update_begin, update_end)
14053 (set_terminal_window, cursor_to, raw_cursor_to)
14054 (clear_to_end, clear_frame, clear_end_of_line)
14055 (write_glyphs, insert_glyphs, delete_glyphs, ins_del_lines)
14056 (Fdisplay_name, create_device, delete_device): Move to terminal.c.
14057 (syms_of_term): Move their initialization to terminal.c.
14058 (get_tty_terminal, Fdisplay_tty_type, Ftty_display_color_p)
14059 (Ftty_display_color_cells)
14060 (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output)
14061 (clear_tty_hooks, set_tty_hooks)
14062 (init_tty, maybe_fatal): New functions.
14063 (Ftty_type): Return nil if terminal is not on a tty instead of
14064 throwing an error. Doc update.
14065 (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>:
14066 Doc update. Initialize new subrs and variables.
14067 (delete_tty): Use terminal->deleted.
14068 (tty_set_terminal_modes): Rename from set_terminal_modes.
14069 (tty_reset_terminal_modes): Rename from reset_terminal_modes.
14070 (set_scroll_region): Rename to `tty_set_scroll_region'.
14071 (turn_on_insert): Rename to `tty_turn_on_insert'.
14072 (turn_off_insert): Rename to `tty_turn_off_insert'.
14073 (turn_off_highlight): Rename to `tty_turn_off_highlight'.
14074 (turn_on_highlight): Rename to `tty_turn_on_highlight'.
14075 (toggle_highligh): Rename to `tty_toggle_highlight'.
14076 (background_highlight): Rename to `tty_background_highlight'.
14077 (highlight_if_desired): Rename to `tty_highlight_if_desired'.
14078 (tty_ring_bell, tty_update_end, tty_set_terminal_window)
14079 (tty_set_scroll_region, tty_background_highlight)
14080 (tty_cursor_to, tty_raw_cursor_to, tty_clear_to_end)
14081 (tty_clear_frame, tty_clear_end_of_line, tty_write_glyphs)
14082 (tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines)
14083 (term_get_fkeys, tty_setup_colors, dissociate_if_controlling_tty):
14084 Add static modifier.
14085 (tty_reset_terminal_modes, tty_set_terminal_window)
14086 (tty_set_scroll_region, tty_background_highlight)
14087 (tty_highlight_if_desired, tty_cursor_to)
14088 (tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame)
14089 (tty_clear_end_of_line, tty_write_glyphs, tty_insert_glyphs)
14090 (tty_delete_glyphs, tty_ins_del_lines, turn_on_face): Update for
14091 renames.
14092
14093 2007-08-28 Jan Djärv <jan.h.d@swipnet.se>
14094
14095 * keyboard.c: Qrtl is new.
14096 (parse_tool_bar_item): Handle :rtl keyword.
14097 (syms_of_keyboard): Intern :rtl keyword.
14098
14099 * dispextern.h (enum tool_bar_item_idx): Add TOOL_BAR_ITEM_RTL_IMAGE.
14100
14101 * gtkutil.c (xg_tool_bar_expose_callback): Just do SET_FRAME_GARBAGED
14102 so no Lisp code is executed.
14103 (file_for_image, find_rtl_image): New functions.
14104 (xg_get_image_for_pixmap): Use file_for_image.
14105 (update_frame_tool_bar): If direction is RTL, use RTL image if
14106 defined. Use Gtk stock images if defined.
14107
14108 2007-08-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14109
14110 * macterm.c (x_draw_composite_glyph_string_foreground): Draw rectangle
14111 for nonexistent or zero-width glyph in composition glyph.
14112
14113 2007-08-25 Stefan Monnier <monnier@iro.umontreal.ca>
14114
14115 * m/amdx86-64.h: Redirect to intel386.h if compiling for i386.
14116
14117 * xdisp.c (Finvisible_p): New function.
14118 (syms_of_xdisp): defsubr it.
14119
14120 2007-08-24 Juanma Barranquero <lekktu@gmail.com>
14121
14122 * image.c (syms_of_image) <image-library-alist, cross-disabled-images>:
14123 Doc fixes.
14124
14125 2007-08-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14126
14127 * mac.c [MAC_OSX] (select_and_poll_event, sys_select): Fix last changes.
14128
14129 2007-08-24 Martin Rudalics <rudalics@gmx.at>
14130
14131 * fileio.c (Finsert_file_contents): Consult CHARS_MODIFF to tell
14132 whether decoding has modified buffer contents.
14133
14134 2007-08-24 Jason Rumney <jasonr@gnu.org>
14135
14136 * image.c [HAVE_NTGUI]: Define dynamic loaded functions for SVG.
14137 (Qgdk_pixbuf, Qglib) [HAVE_NTGUI]: New symbols.
14138 (syms_of_image) [HAVE_NTGUI]: Intern and staticpro them.
14139 (init_svg_functions) [HAVE_NTGUI]: New function.
14140 (fn_g_type_init, fn_g_object_unref, fn_g_error_free): New #defines.
14141 (svg_load_image): Use them.
14142 (svg_load_image) [HAVE_NTGUI]: Implement background.
14143
14144 2007-08-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14145
14146 * Makefile.in (RSVG_LIBS, RSVG_CFLAGS): New variables.
14147 (ALL_CFLAGS): Use ${RSVG_CFLAGS} instead of @RSVG_CFLAGS@.
14148 (LIBX): Remove @RSVG_LIBS@.
14149 (LIBES): Add $(RSVG_LIBS).
14150
14151 * image.c (svg_load_image): Blend with specified background if exists.
14152 Use IMAGE_BACKGROUND. Add Mac OS Support.
14153
14154 * mac.c (wakeup_from_rne_enabled_p) [MAC_OSX]: Remove variable.
14155 (ENABLE_WAKEUP_FROM_RNE, DISABLE_WAKEUP_FROM_RNE) [MAC_OSX]:
14156 Remove macros.
14157 [MAC_OSX] (socket_callback): Do nothing.
14158 [MAC_OSX] (select_and_poll_event): Use CFRunLoopRunInMode instead of
14159 ReceiveNextEvent.
14160 [MAC_OSX] (sys_select): Likewise. Don't set context as argument to
14161 socket_callback.
14162 (mac_wakeup_from_rne) [MAC_OSX]: Do nothing.
14163
14164 2007-08-22 Glenn Morris <rgm@gnu.org>
14165
14166 * image.c (x_find_image_file): Search in etc/images/ rather than etc/.
14167
14168 2007-08-22 Paul Pogonyshev <pogonyshev@gmx.net>
14169
14170 * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS.
14171
14172 * image.c: Add support for SVG images. Some additional comments
14173 by Joakim Verona <joakim@verona.se>. When HAVE_RSVG is defined:
14174 (svg_image_p): New function to test for SVG image.
14175 (svg_load): New function to load SVG image.
14176 (svg_load_image): New function, helper for svg_load.
14177 (Qsvg): New Lisp_object.
14178 (svg_keyword_index): New enum.
14179 (svg_format): New static `image_keyword' struct.
14180 (svg_type): New static `image_type' struct.
14181 (librsvg/rsvg.h): Include it.
14182
14183 2007-08-23 Stefan Monnier <monnier@iro.umontreal.ca>
14184
14185 * lread.c (load_warn_old_style_backquotes): Fix up array size typo.
14186
14187 2007-08-22 Stefan Monnier <monnier@iro.umontreal.ca>
14188
14189 * lread.c (Qold_style_backquotes): New var.
14190 (syms_of_lread): Init and staticpro it.
14191 (load_warn_old_style_backquotes): New fun.
14192 (Fload): Use them to warn about old style backquotes.
14193 (end_of_file_error, Fload): Remove unused vars.
14194
14195 * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare.
14196
14197 * lread.c (Vold_style_backquotes): New var.
14198 (syms_of_lread): Init and export it to Elisp.
14199 (read1): Set it when we find an old-style (back)quote.
14200
14201 2007-08-22 Jason Rumney <jasonr@gnu.org>
14202
14203 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator.
14204
14205 2007-08-22 Katsumi Yamaoka <yamaoka@jpl.org>
14206
14207 * puresize.h (BASE_PURESIZE): Increase to 1140000.
14208
14209 2007-08-19 Richard Stallman <rms@gnu.org>
14210
14211 * eval.c (Ffunction, Fquote): Signal error if not 1 argument.
14212
14213 2007-08-19 Andreas Schwab <schwab@suse.de>
14214
14215 * alloc.c (pure): Round PURESIZE up.
14216
14217 2007-08-17 Jan Djärv <jan.h.d@swipnet.se>
14218
14219 * xterm.c (handle_one_xevent): Remove check that mouse click is in
14220 active frame.
14221
14222 2007-08-16 Richard Stallman <rms@gnu.org>
14223
14224 * eval.c (Fcommandp): Add parens to clarify.
14225
14226 * minibuf.c (Fall_completions): Use enum for type of table.
14227
14228 * emacs.c (USAGE2): Improve text.
14229
14230 2007-08-15 Philippe Waroquiers <philippe.waroquiers@eurocontrol.int>
14231
14232 * term.c (tty_default_color_capabilities): Declare static
14233 variables in file scope, to avoid HPUX compiler problem.
14234
14235 2007-08-13 Jan Djärv <jan.h.d@swipnet.se>
14236
14237 * gtkutil.c (update_frame_tool_bar): Use -1 as index
14238 to gtk_toolbar_insert.
14239
14240 2007-08-13 Stefan Monnier <monnier@iro.umontreal.ca>
14241
14242 * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup.
14243
14244 * insdel.c (reset_var_on_error): New fun.
14245 (signal_before_change, signal_after_change):
14246 Use it to reset (after|before)-change-functions to nil in case of error.
14247 Bind inhibit-modification-hooks to t.
14248 Don't bind (after|before)-change-functions to nil while they run.
14249
14250 2007-08-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14251
14252 * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when
14253 filling pixmap with stippled background.
14254
14255 2007-08-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14256
14257 * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event):
14258 Don't use invisible frame as parent window for repositioning.
14259
14260 2007-08-10 Stefan Monnier <monnier@iro.umontreal.ca>
14261
14262 * print.c (new_backquote_output): Rename from old_backquote_output.
14263 (print): Inverse its logic (according to its name) so as to match the
14264 behavior of new_backquote_flag in lread.c.
14265
14266 2007-08-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14267
14268 * gmalloc.c (posix_memalign): New function.
14269
14270 * macterm.c (frame_highlight, frame_unhighlight): Don't call
14271 ActivateControl/DeactivateControl here.
14272 [USE_MAC_TOOLBAR] (free_frame_tool_bar): Suppress animation when
14273 frame-notice-user-settings is non-nil.
14274 [USE_MAC_FONT_PANEL] (mac_handle_font_event): Also record parameter
14275 for kEventParamFMFontStyle.
14276 [TARGET_API_MAC_CARBON] (mac_handle_keyboard_event): Don't check
14277 mac_pass_command_to_system and mac_pass_control_to_system here.
14278 (XTread_socket): Call ActivateControl/DeactivateControl here.
14279 (XTread_socket) [TARGET_API_MAC_CARBON]:
14280 Check mac_pass_command_to_system and mac_pass_control_to_system here.
14281 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Add further workaround
14282 for window repositioning.
14283
14284 2007-08-08 Glenn Morris <rgm@gnu.org>
14285
14286 * Replace `iff' in doc-strings and comments.
14287
14288 2007-08-07 Chong Yidong <cyd@stupidchicken.com>
14289
14290 * xdisp.c (move_it_by_lines): Remove incorrect optimization.
14291
14292 2007-08-07 Martin Rudalics <rudalics@gmx.at>
14293
14294 * fileio.c (Finsert_file_contents): Run format-decode and
14295 after_insert_file_functions on entire buffer when REPLACE is
14296 non-nil and inhibit modification_hooks and point_motion_hooks.
14297 For consistency, run after_insert_file_functions iff something
14298 got inserted. Move signal_after_change and update_compositions
14299 after code running after_insert_file_functions. Make sure that
14300 undo_list doesn't record intermediate steps of the decoding process.
14301
14302 2007-08-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14303
14304 * emacs.c (main)
14305 [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
14306 Call malloc_enable_thread on interactive startup.
14307
14308 * gmalloc.c (_malloc_thread_enabled_p) [USE_PTHREAD]: New variable.
14309 (LOCK, UNLOCK, LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS)
14310 [USE_PTHREAD]: Conditionalize with it.
14311 (malloc_atfork_handler_prepare, malloc_atfork_handler_parent)
14312 (malloc_atfork_handler_child, malloc_enable_thread) [USE_PTHREAD]:
14313 New functions.
14314
14315 2007-08-06 Chong Yidong <cyd@stupidchicken.com>
14316
14317 * xdisp.c (redisplay_window): When restoring original buffer
14318 position, make sure it is still valid.
14319
14320 * image.c (png_load): Ignore png-supplied background color.
14321
14322 2007-08-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14323
14324 * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value.
14325 Use kCFAbsoluteTimeIntervalSince1970.
14326
14327 * macmenu.c (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]:
14328 New variable.
14329 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Set it if dialog
14330 event loop should be quit.
14331 [TARGET_API_MAC_CARBON] (create_and_show_dialog) [!MAC_OSX]:
14332 Quit dialog event loop if quit_dialog_event_loop is set.
14333
14334 * macselect.c [!TARGET_API_MAC_CARBON]: Include Scrap.h.
14335 (Selection): New typedef. Use instead of ScrapRef.
14336 (mac_get_selection_from_symbol): Rename from get_scrap_from_symbol.
14337 (mac_valid_selection_target_p): Rename from valid_scrap_target_type_p.
14338 (mac_clear_selection): Rename from clear_scrap.
14339 (get_flavor_type_from_symbol): New argument SEL and subsume function of
14340 scrap_has_target_type. All uses changed.
14341 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
14342 (mac_selection_has_target_p): New functions.
14343 (mac_put_selection_value): Rename from put_scrap_string.
14344 (mac_get_selection_value): Rename from get_scrap_string.
14345 (mac_get_selection_target_list): Rename from get_scrap_target_type_list.
14346 (put_scrap_private_timestamp, scrap_has_target_type)
14347 (get_scrap_private_timestamp): Remove functions.
14348 (SCRAP_FLAVOR_TYPE_EMACS_TIMESTAMP): Remove define.
14349 (x_own_selection, x_get_local_selection):
14350 Use mac_valid_selection_value_p.
14351 (x_own_selection): Don't use put_scrap_private_timestamp.
14352 Record OWNERSHIP-INFO into Vselection_alist instead.
14353 (x_get_local_selection): Don't check type if request is local.
14354 (Fx_selection_owner_p): Don't use get_scrap_private_timestamp.
14355 Detect ownership change with OWNERSHIP-INFO in Vselection_alist instead.
14356
14357 2007-08-04 Jan Djärv <jan.h.d@swipnet.se>
14358
14359 * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s,
14360 add comment explaining why.
14361
14362 2007-08-03 Richard Stallman <rms@gnu.org>
14363
14364 * fileio.c (Fvisited_file_modtime): Use make_time.
14365
14366 2007-08-01 Ryo Yoshitake <ryo@shiftmode.net> (tiny change)
14367
14368 * mac.c (init_mac_osx_environment): Adjust load-path on self-contained
14369 build.
14370
14371 2007-07-31 Stefan Monnier <monnier@iro.umontreal.ca>
14372
14373 * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT.
14374
14375 2007-07-30 Katsumi Yamaoka <yamaoka@jpl.org>
14376
14377 * puresize.h (BASE_PURESIZE): Increase to 1130000.
14378
14379 2007-07-30 Richard Stallman <rms@gnu.org>
14380
14381 * lread.c (readevalloop, read1): Treat NBSP as whitespace.
14382
14383 2007-07-29 Jan Djärv <jan.h.d@swipnet.se>
14384
14385 * gmalloc.c (__malloc_initialize): Remove pthread_once. Not needed.
14386
14387 2007-07-28 Nick Roberts <nickrob@snap.net.nz>
14388
14389 * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for
14390 remote default-directory.
14391
14392 * buffer.c (mode-line-format): Update doc string.
14393
14394 2007-07-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14395
14396 * w32term.c (w32_draw_fringe_bitmap): Extend fringe background to
14397 scroll bar gap.
14398 (x_scroll_bar_create): Set bar->fringe_extended_p.
14399 (w32_set_vertical_scroll_bar): Put leftmost/rightmost scroll bars
14400 on frame edge. Check fringe background extension. Don't clear
14401 extended fringe background area.
14402
14403 * w32term.h (struct scroll_bar): New member fringe_extended_p.
14404 (w32_fill_area): Enclose multiple statements with do ... while (0).
14405
14406 * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]:
14407 Extend fringe background to scroll bar gap.
14408 (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]:
14409 Set bar->fringe_extended_p.
14410 (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
14411 Put leftmost/rightmost scroll bars on frame edge. Check fringe
14412 background extension. Don't clear extended fringe background area.
14413
14414 * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
14415 New member fringe_extended_p.
14416
14417 2007-07-25 Glenn Morris <rgm@gnu.org>
14418
14419 * Relicense all FSF files to GPLv3 or later.
14420
14421 * COPYING: Switch to GPLv3.
14422
14423 2007-07-25 Stefan Monnier <monnier@iro.umontreal.ca>
14424
14425 * eval.c (Fcommandp): Pay attention to the `interactive-form' property.
14426
14427 * data.c (Finteractive_form): Check for the presence of an
14428 `interactive-form' symbol property more thoroughly.
14429
14430 * data.c (Finteractive_form): Use an `interactive-form' property if
14431 present, analogous to the function-documentation property.
14432
14433 2007-07-24 Jason Rumney <jasonr@gnu.org>
14434
14435 * w32fns.c (x_real_positions): Get real position from OS instead of
14436 calculating it.
14437
14438 2007-07-23 Jason Rumney <jasonr@gnu.org>
14439
14440 * filelock.c (current_lock_owner): Allow for @ sign in username.
14441
14442 2007-07-22 Nick Roberts <nickrob@snap.net.nz>
14443
14444 * xdisp.c (decode_mode_spec): Add case 'R' for to test for
14445 remote default-directory.
14446
14447 * buffer.c (mode-line-format): Describe above case in doc string.
14448
14449 2007-07-20 Eli Zaretskii <eliz@gnu.org>
14450
14451 * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):
14452 Define if not defined.
14453
14454 2007-07-18 Jason Rumney <jasonr@gnu.org>
14455
14456 * w32proc.c (w32_executable_type): Handle 64 bit executables.
14457
14458 2007-07-18 Richard Stallman <rms@gnu.org>
14459
14460 * data.c (Fsetq_default): Doc fix.
14461
14462 * eval.c (Fsetq): Doc fix.
14463
14464 2007-07-18 Juanma Barranquero <lekktu@gmail.com>
14465
14466 * coding.c (Ffind_operation_coding_system):
14467 * eval.c (For, Fand): Doc fixes.
14468 Reported by Johan Bockgård.
14469
14470 2007-07-18 Jan Djärv <jan.h.d@swipnet.se>
14471
14472 * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame.
14473
14474 * xterm.h: Declare x_ewmh_activate_frame.
14475
14476 * xterm.c (x_ewmh_activate_frame): New function.
14477 (XTframe_raise_lower): Move code to x_ewmh_activate_frame.
14478
14479 2007-07-17 Martin Rudalics <rudalics@gmx.at>
14480
14481 * window.c (Fdisplay_buffer): If largest or LRU window is the
14482 only window, split it even if it is not eligible for splitting.
14483 This restores the original behavior broken by the 2007-07-15
14484 change.
14485
14486 2007-07-17 Glenn Morris <rgm@gnu.org>
14487
14488 * abbrev.c (abbrev_check_chars): New function.
14489 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
14490 Call abbrev_check_chars to check abbrev characters are word
14491 constituents. Doc fix.
14492
14493 2007-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
14494
14495 * process.c (Fstart_process, Fmake_network_process)
14496 (read_process_output): Fix up last changes.
14497
14498 2007-07-16 Eli Zaretskii <eliz@gnu.org>
14499
14500 * makefile.w32-in (clean): Don't delete *~.
14501
14502 2007-07-16 Andreas Schwab <schwab@suse.de>
14503
14504 * window.c (Fdisplay_buffer): Use NILP.
14505 (Fset_window_scroll_bars): Likewise.
14506
14507 2007-07-15 Martin Rudalics <rudalics@gmx.at>
14508
14509 * window.c (window_min_size_2): New function.
14510 (window_min_size_1, size_window, Fdisplay_buffer)
14511 (Fsplit_window, adjust_window_trailing_edge): Use it to avoid
14512 windows without mode- or header-lines when window-min-height is
14513 too small.
14514 (size_window): Reset nodelete_p after testing it, following an
14515 earlier note by Kim F. Storm.
14516 (display_buffer): Do not set split_height_threshold to twice the
14517 value of window_min_height to avoid changing the value of a
14518 customizable variable. Rather explicitly check whether the
14519 height of the window that shall be splitted is at least as large
14520 as split_height_threshold.
14521 (Fwindow_full_width_p): New defun.
14522 (syms_of_window): Defsubr it.
14523
14524 * window.h: Add EXFUN for Fwindow_full_width_p.
14525
14526 2007-07-14 Jason Rumney <jasonr@gnu.org>
14527
14528 * process.c [WINDOWSNT]: Don't undefine AF_INET6.
14529
14530 2007-07-14 Richard Stallman <rms@gnu.org>
14531
14532 * eval.c (maybe_call_debugger): New function.
14533 (find_handler_clause): Use maybe_call_debugger.
14534 Call it when the handler says `debug'.
14535 Eliminate DEBUGGER_VALUE_PTR.
14536 (Fsignal): Eliminate debugger_value.
14537 (Qdebug): New variable.
14538 (syms_of_eval): Initialize it.
14539
14540 2007-07-14 Juanma Barranquero <lekktu@gmail.com>
14541
14542 * eval.c (Fprogn):
14543 * keyboard.c (Ftrack_mouse):
14544 * print.c (Fwith_output_to_temp_buffer):
14545 * window.c (Fsave_window_excursion): Doc fix.
14546
14547 2007-07-13 Stefan Monnier <monnier@iro.umontreal.ca>
14548
14549 * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400.
14550
14551 2007-07-12 Stefan Monnier <monnier@iro.umontreal.ca>
14552
14553 * process.h (struct Lisp_Process): Turn slots infd, outfd,
14554 kill_without_query, pty_flag, tick, update_tick, decoding_carryover,
14555 inherit_coding_system_flag, filter_multibyte, adaptive_read_buffering,
14556 read_output_delay, and read_output_skip from Lisp_Objects to ints.
14557 Remove unused encoding_carryover.
14558 * process.c: Adjust all functions accordingly.
14559
14560 2007-07-12 Richard Stallman <rms@gnu.org>
14561
14562 * term.c: Include unistd.h only if HAVE_UNISTD_H.
14563
14564 2007-07-11 Jason Rumney <jasonr@gnu.org>
14565
14566 * makefile.w32-in (LIBS): Include OLE32.
14567
14568 * w32fns.c (w32_msg_pump) <WM_EMACS_CREATEWINDOW>: Initialize COM.
14569 (w32_msg_pump) <WM_DESTROY>: Uninitialize COM.
14570
14571 2007-07-11 Stefan Monnier <monnier@iro.umontreal.ca>
14572
14573 * lisp.h (struct Lisp_Hash_Table): Turn next_weak into a bare pointer.
14574 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and turned
14575 from a Lisp_Object into a bare pointer.
14576 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
14577 Adjust the code correspondingly.
14578
14579 * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'.
14580
14581 * term.c: Include unistd.h for ttyname, used in handle_one_term_event.
14582 (term_show_mouse_face): Remove unused var `j'.
14583 (handle_one_term_event): Remove unused vars `i' and `j'.
14584 Don't cast return value of ttyname since it's not necessary.
14585
14586 2007-07-10 Stefan Monnier <monnier@iro.umontreal.ca>
14587
14588 * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using
14589 USE_LSB_TAG. Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
14590
14591 * fns.c (map_char_table): Use an array of int for `indices' rather than
14592 an array of Lisp_Objects (which are only ever integers anyway).
14593 (Fmap_char_table): Update caller.
14594 * lisp.h: Update prototype.
14595 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap):
14596 * fontset.c (Ffontset_info):
14597 * casetab.c (set_case_table): Update callers.
14598
14599 * editfns.c (Ftranspose_regions): Use EMACS_INT for positions.
14600
14601 * keymap.c (struct accessible_keymaps_data)
14602 (struct where_is_internal_data): New structures.
14603 (accessible_keymaps_1, where_is_internal_1): Use them to change
14604 interface to adhere to the one used by map_keymap.
14605 (Faccessible_keymaps, where_is_internal): Use map_keymap.
14606 (accessible_keymaps_char_table, where_is_internal_2): Remove.
14607
14608 * keymap.h (map_keymap_function_t): More informative prototype.
14609
14610 2007-07-10 Guanpeng Xu <herberteuler@hotmail.com>
14611
14612 * search.c (Vinhibit_changing_match_data, search_regs_1): New vars.
14613 (looking_at_1): Don't change search_regs and last_thing_searched
14614 if `inhibit-changing-match-data' is non-nil.
14615 (string_match_1, search_buffer, set_search_regs): Likewise.
14616 (syms_of_search): Add Lisp level definition for
14617 `inhibit-changing-match-data' and set it to nil.
14618 (boyer_moore): If `inhibit-changing-match-data' is non-nil, compute
14619 start and end of the match, instead of using values in search_regs.
14620
14621 2007-07-01 Stefan Monnier <monnier@iro.umontreal.ca>
14622
14623 * minibuf.c (Fcompleting_read): New value `confirm-only'
14624 for `require-match'.
14625
14626 2007-06-28 Stefan Monnier <monnier@iro.umontreal.ca>
14627
14628 * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as
14629 part of the 2007-06-27 change to syms_of_fileio.
14630
14631 2007-06-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14632
14633 * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event):
14634 Check WINDOWP before using XWINDOW. Consolidate return statements.
14635
14636 2007-06-27 Richard Stallman <rms@gnu.org>
14637
14638 * fileio.c (syms_of_fileio) <after-insert-file-functions>: Doc fix.
14639
14640 2007-06-27 Juanma Barranquero <lekktu@gmail.com>
14641
14642 * buffer.c (syms_of_buffer) <selective-display>: Fix typo in docstring.
14643
14644 2007-06-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14645
14646 * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Check this after including config.h.
14647 (_aligned_blocks_mutex) [USE_PTHREAD]: New variable.
14648 (LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS): New macros.
14649 (_free_internal, memalign): Use them.
14650 (_malloc_mutex, _aligned_blocks_mutex) [USE_PTHREAD]:
14651 Initialize to PTHREAD_MUTEX_INITIALIZER.
14652 (malloc_initialize_1) [USE_PTHREAD]: Don't use recursive mutex.
14653 (morecore_nolock): Rename from morecore. All uses changed.
14654 Use only nolock versions of internal allocation functions.
14655 (_malloc_internal_nolock, _realloc_internal_nolock)
14656 (_free_internal_nolock): New functions created from
14657 _malloc_internal, _realloc_internal, and _free_internal.
14658 (_malloc_internal, _realloc_internal, _free_internal): Use them.
14659 Copy hook value to automatic variable before its use.
14660 (memalign): Copy hook value to automatic variable before its use.
14661
14662 2007-06-26 Kenichi Handa <handa@m17n.org>
14663
14664 * coding.c (Ffind_operation_coding_system): Docstring improved.
14665 (syms_of_coding): Docstring of `file-coding-system-alist' improved.
14666
14667 2007-06-25 David Kastrup <dak@gnu.org>
14668
14669 * keymap.c (Fcurrent_active_maps): Add `position' argument.
14670 (Fwhere_is_internal): Adjust call to `current-active-maps' to
14671 cater for additional parameter.
14672
14673 * keymap.h: Adjust number of parameters to `current-active-maps'.
14674
14675 * doc.c (Fsubstitute_command_keys): Adjust call of
14676 `current-active-maps'.
14677
14678 2007-06-25 David Kastrup <dak@gnu.org>
14679
14680 * callint.c (Fcall_interactively): Make the parsing of interactive
14681 specs somewhat more readable.
14682
14683 2007-06-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14684
14685 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe background
14686 to scroll bar gap also when bitmap fills fringe. Draw only foreground
14687 if extended background has already been filled.
14688
14689 2007-06-22 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14690
14691 * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI.
14692 (USE_MAC_TOOLBAR): Require USE_CG_DRAWING.
14693
14694 * macmenu.c (mac_dialog_modal_filter, Fx_popup_dialog) [MAC_OSX]:
14695 Put special treatment for Fmessage_box, Fyes_or_no_p, and Fy_or_n_p
14696 in #if 0 as it is not compatible with y-or-n-p-with-timeout.
14697 (timer_check) [TARGET_API_MAC_CARBON]: Add extern.
14698 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Use QuitEventLoop
14699 instead of QuitAppModalLoopForWindow. Consolidate QuitEventLoop calls.
14700 (pop_down_dialog) [TARGET_API_MAC_CARBON]: New function.
14701 [TARGET_API_MAC_CARBON] (create_and_show_dialog): Use it for unwind.
14702 Run timers during dialog popup.
14703 (Fmenu_or_popup_active_p) [TARGET_API_MAC_CARBON]: Use popup_activated.
14704
14705 2007-06-21 Jason Rumney <jasonr@gnu.org>
14706
14707 * image.c (convert_mono_to_color_image): Swap fore and background.
14708
14709 2007-06-20 Jason Rumney <jasonr@gnu.org>
14710
14711 * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished.
14712 (w32_free_bdf_font): Unmap memory not handle.
14713
14714 2007-06-20 Sam Steingold <sds@gnu.org>
14715
14716 * gmalloc.c (__morecore): Fix the declaration to comply with the
14717 definition.
14718
14719 2007-06-20 Juanma Barranquero <lekktu@gmail.com>
14720
14721 * w32term.c (w32_delete_display): Remove leftover declaration.
14722 (w32_define_cursor, w32_initialize): Make static.
14723
14724 * w32.c (_wsa_errlist): Fix typo in error message.
14725 (init_environment): Ignore any environment variable from the
14726 registry having a null value.
14727
14728 2007-06-20 Glenn Morris <rgm@gnu.org>
14729
14730 * Makefile.in (LIBGIF): Default to -lgif.
14731
14732 2007-06-17 Jason Rumney <jasonr@gnu.org>
14733
14734 * w32menu.c (add_menu_item): Don't use multibyte string functions on
14735 unicode strings.
14736
14737 2007-06-16 Juanma Barranquero <lekktu@gmail.com>
14738
14739 * xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>:
14740 Fix typo in docstring.
14741
14742 2007-06-16 Eli Zaretskii <eliz@gnu.org>
14743
14744 * w32menu.c (add_menu_item): Escape `&' characters in menu items
14745 and their keybindings.
14746
14747 2007-06-15 Chong Yidong <cyd@stupidchicken.com>
14748
14749 * composite.c (update_compositions): Fix last fix.
14750
14751 2007-06-14 Jason Rumney <jasonr@gnu.org>
14752
14753 * w32.c (get_process_times_fn): New function pointer.
14754 (globals_of_w32): Intialize it if present in kernel32.dll.
14755 (w32_get_internal_run_time): New function.
14756
14757 * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it.
14758
14759 2007-06-14 Kenichi Handa <handa@etlken.m17n.org>
14760
14761 * composite.c (update_compositions): Check the validness of
14762 compositions.
14763
14764 2007-06-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14765
14766 * frame.h (struct frame) [MAC_OS]: New member external_tool_bar.
14767 (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it.
14768
14769 * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity.
14770 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR.
14771
14772 * macgui.h (USE_MAC_TOOLBAR): New define.
14773
14774 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
14775 Return immediately unless popup is activated.
14776
14777 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe
14778 background to scroll bar gap.
14779 (x_scroll_bar_create) [MAC_OSX]: Set bar->fringe_extended_p.
14780 (XTset_vertical_scroll_bar) [MAC_OSX]: Put leftmost/rightmost
14781 scroll bars on frame edge. Check fringe background extension.
14782 Don't clear extended fringe background area.
14783 (TOOLBAR_IDENTIFIER, TOOLBAR_ICON_ITEM_IDENTIFIER)
14784 (TOOLBAR_ITEM_COMMAND_ID_OFFSET, TOOLBAR_ITEM_COMMAND_ID_P)
14785 (TOOLBAR_ITEM_COMMAND_ID_VALUE, TOOLBAR_ITEM_MAKE_COMMAND_ID):
14786 [USE_MAC_TOOLBAR]: New macros.
14787 (mac_move_window_with_gravity, mac_get_window_origin_with_gravity)
14788 (mac_handle_toolbar_event, mac_image_spec_to_cg_image)
14789 (mac_create_frame_tool_bar, update_frame_tool_bar, free_frame_tool_bar)
14790 (mac_tool_bar_note_mouse_movement, mac_handle_toolbar_command_event)
14791 [USE_MAC_TOOLBAR]: New functions.
14792 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Reposition window
14793 manually if previous repositioning has failed.
14794 (mac_handle_keyboard_event): Use precomputed event kind.
14795 (XTread_socket) [USE_MAC_TOOLBAR]: Handle click in structure region
14796 as tool bar item click. Handle mouse movement over tool bar items.
14797
14798 * macterm.h (struct mac_output) [USE_MAC_TOOLBAR]: New member
14799 toolbar_win_gravity.
14800 (struct scroll_bar) [MAC_OSX]: New member fringe_extended_p.
14801 (update_frame_tool_bar, free_frame_tool_bar) [USE_MAC_TOOLBAR]:
14802 Add externs.
14803
14804 * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window)
14805 [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display.
14806
14807 2007-06-14 Chong Yidong <cyd@stupidchicken.com>
14808
14809 * image.c (search_image_cache): Remove unused variable.
14810
14811 2007-06-13 Chong Yidong <cyd@stupidchicken.com>
14812
14813 * xfns.c, xmenu.c: Link to xaw3d if available.
14814
14815 2007-06-13 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14816
14817 * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members
14818 frame_foreground and frame_background.
14819
14820 * image.c (lookup_image): Save frame foreground and background colors.
14821 (search_image_cache): Check if saved and current frame colors match.
14822
14823 2007-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
14824
14825 * regex.c (regex_compile): Remove the `regnum' counter.
14826 Use bufp->re_nsub instead. Add support for \(?N:RE\).
14827
14828 2007-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
14829
14830 * term.c: Include intervals.h to declare Fget_text_property.
14831
14832 2007-06-10 Jason Rumney <jasonr@gnu.org>
14833
14834 * w32fns.c (Fx_file_dialog): Take size from struct not pointer.
14835
14836 2007-06-08 Juanma Barranquero <lekktu@gmail.com>
14837
14838 * callint.c (Fcall_interactively):
14839 * editfns.c (Fdelete_and_extract_region):
14840 * fileio.c (Fread_file_name):
14841 * fns.c (Fmapconcat):
14842 * keyboard.c (cmd_error_internal):
14843 * keymap.c (Fkey_description):
14844 * lread.c (openp):
14845 * minibuf.c (read_minibuf):
14846 * search.c (wordify):
14847 * sunfns.c (sel_read):
14848 * xdisp.c (Fformat_mode_line, syms_of_xdisp):
14849 * xfns.c (x_default_scroll_bar_color_parameter):
14850 * xmenu.c (menu_help_callback):
14851 * xselect.c (Fx_get_atom_name):
14852 * xterm.c (x_term_init): Use empty_unibyte_string.
14853
14854 2007-06-08 Dmitry Antipov <dmantipov@yandex.ru> (tiny change)
14855
14856 * alloc.c (init_strings): Initialize canonical empty strings.
14857 (make_uninit_string, make_uninit_multibyte_string): Return appropriate
14858 canonical empty string when the requested size is 0.
14859
14860 * emacs.c (empty_unibyte_string): Rename from empty_string.
14861 (empty_multibyte_string): New canonical empty string.
14862 (syms_of_emacs): Don't initialize empty_string.
14863
14864 * lisp.h (STRING_SET_UNIBYTE): Return the canonical empty unibyte
14865 string, if appropriate.
14866 (empty_unibyte_string, empty_multibyte_string): New externs.
14867 (empty_string): Remove extern.
14868
14869 * lread.c (syms_of_lread): Use empty_unibyte_string.
14870
14871 2007-06-07 Jason Rumney <jasonr@gnu.org>
14872
14873 * s/ms-w32.h: Don't define HAVE_TZNAME.
14874
14875 * editfns.c (Fcurrent_time_zone): Remove hack for Japanese Windows.
14876
14877 2007-06-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14878
14879 * mac.c (xrm_get_preference_database): Remove BLOCK_INPUT.
14880
14881 * macfns.c (mac_get_window_bounds): Move extern to macterm.h.
14882 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use GetGlobalMouse.
14883
14884 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
14885 Don't call next handler.
14886 [TARGET_API_MAC_CARBON] (install_menu_target_item_handler):
14887 Remove argument. Install handler to application.
14888 (set_frame_menubar): Don't change deep_p.
14889 (mac_menu_show): Use FRAME_OUTER_TO_INNER_DIFF_X and
14890 FRAME_OUTER_TO_INNER_DIFF_Y.
14891 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
14892 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
14893 [HAVE_DIALOGS]: New macros.
14894 [HAVE_DIALOGS] (mac_handle_dialog_event, create_and_show_dialog):
14895 Use them.
14896 (fill_menubar) [TARGET_API_MAC_CARBON]: Use CFString.
14897
14898 * macselect.c [MAC_OSX] (install_service_handler): Rename from
14899 init_service_handler. All callers changed. Return OSStatus value.
14900
14901 * macterm.c (mac_begin_cg_clip): New arg F. Call SetPortWindowPort.
14902 All callers changed so as not to call SetPortWindowPort.
14903 (mac_begin_cg_clip) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw.
14904 (mac_draw_image_string_atsui) [USE_ATSUI]: New function created from
14905 mac_draw_string_common.
14906 (mac_draw_image_string_qd): Likewise.
14907 (mac_draw_string_common): Use them. Add INLINE.
14908 (XTmouse_position, x_scroll_bar_report_motion) [TARGET_API_MAC_CARBON]:
14909 Use FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y, and
14910 GetGlobalMouse.
14911 (x_set_mouse_pixel_position) [MAC_OSX]: Use FRAME_OUTER_TO_INNER_DIFF_X
14912 and FRAME_OUTER_TO_INNER_DIFF_Y.
14913 [TARGET_API_MAC_CARBON] (mac_handle_mouse_event): Likewise.
14914 [USE_MAC_TSM] (mac_handle_text_input_event): Likewise.
14915 (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Move code for
14916 repositioning window to mac_handle_window_event.
14917 (x_make_frame_invisible) [TARGET_API_MAC_CARBON]: Move code for
14918 saving window location to mac_handle_window_event
14919 [USE_MAC_FONT_PANEL] (mac_show_hide_font_panel): Install handler here.
14920 (install_menu_target_item_handler): Remove argument in extern.
14921 [TARGET_API_MAC_CARBON] (mac_event_to_emacs_modifiers):
14922 Also accept command events.
14923 (do_keystroke): New function created from XTread_socket.
14924 (init_command_handler): Remove functions.
14925 [TARGET_API_MAC_CARBON] (mac_handle_window_event): Reposition window
14926 and save window location by kEventWindowShowing and kEventWindowHiding
14927 handlers here. Don't call next handler for window state change and
14928 focus events.
14929 (mac_handle_application_event, mac_handle_keyboard_event)
14930 [TARGET_API_MAC_CARBON]: New functions.
14931 (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for
14932 kEventWindowShowing and kEventWindowHiding events. Move installation
14933 of mouse, font, text input and menu target item handlers to
14934 install_application_handler.
14935 (install_application_handler) [TARGET_API_MAC_CARBON]: New function.
14936 (mac_handle_cg_display_reconfig) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
14937 New function.
14938 (init_dm_notification_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
14939 Register it.
14940 (XTread_socket) [TARGET_API_MAC_CARBON]:
14941 Consolidate SendEventToEventTarget calls.
14942 Use FRAME_OUTER_TO_INNER_DIFF_X and FRAME_OUTER_TO_INNER_DIFF_Y.
14943 Move application activation handler to mac_handle_application_event.
14944 Move keyboard handler to mac_handle_keyboard_event.
14945 (XTread_socket) [!TARGET_API_MAC_CARBON]: Use do_keystroke.
14946 (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call
14947 init_command_handler. Call install_application_handler.
14948
14949 * macterm.h (mac_get_window_bounds): Move extern from macfns.c.
14950 (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): New macros.
14951
14952 2007-06-07 Glenn Morris <rgm@gnu.org>
14953
14954 * emacs.c (main): Use `emacs-copyright' in --version output.
14955
14956 2007-06-06 Chong Yidong <cyd@stupidchicken.com>
14957
14958 * image.c (xpm_load): Remove spurious call to xpm_init_color_cache.
14959
14960 2007-06-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14961
14962 * macfns.c (mac_window): Replace WindowPtr with WindowRef.
14963
14964 * macgui.h: Replace WindowPtr with WindowRef.
14965
14966 * macmenu.c: Replace MenuHandle and GetMenuHandle with MenuRef and
14967 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
14968 Replace ControlHandle with ControlRef.
14969 (install_menu_quit_handler): Rename arg MENU_HANDLE to ROOT_MENU.
14970
14971 * macterm.c: Replace MenuHandle and GetMenuHandle with MenuRef and
14972 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
14973 Replace ControlHandle with ControlRef.
14974 (USE_CARBON_EVENTS): Remove. Use TARGET_API_MAC_CARBON instead.
14975 [MAC_OS8] (do_get_menus): Rename variable `menu_handle' to `menu'.
14976
14977 * macterm.h (struct scroll_bar): Rename member control_handle_low
14978 and control_handle_high to control_ref_low and control_ref_high.
14979 All uses changed.
14980 (SCROLL_BAR_CONTROL_REF, SET_SCROLL_BAR_CONTROL_REF): Rename from
14981 SCROLL_BAR_CONTROL_HANDLE and SET_SCROLL_BAR_CONTROL_HANDLE,
14982 respectively. All uses changed.
14983 (XCreatePixmap, XCreatePixmapFromBitmapData, XSetWindowBackground)
14984 (install_window_handler, remove_window_handler): Replace WindowPtr
14985 with WindowRef in externs.
14986
14987 2007-06-05 Juanma Barranquero <lekktu@gmail.com>
14988
14989 * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops.
14990
14991 2007-06-03 Nick Roberts <nickrob@snap.net.nz>
14992
14993 * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case.
14994
14995 * frame.c (Fmouse_position, Fmouse_pixel_position):
14996 Condition on HAVE_GPM too.
14997
14998 * term.c (term_mouse_highlight): Remove unused variables.
14999 (Fterm_open_connection): Set gpm_zerobased to 1.
15000 (term_mouse_movement, term_mouse_click, handle_one_term_event):
15001 Use zero based co-ordinates.
15002 (handle_one_term_event): Report a drag as mouse movement too.
15003
15004 * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM.
15005
15006 2007-06-03 Chong Yidong <cyd@stupidchicken.com>
15007
15008 * image.c (search_image_cache): New function. Require background
15009 color match if background color is unspecified in the image spec.
15010 (uncache_image, lookup_image): Use it.
15011
15012 2007-06-01 Juanma Barranquero <lekktu@gmail.com>
15013
15014 * window.c (Fshrink_window): Reflow docstring.
15015
15016 2007-06-02 Chong Yidong <cyd@stupidchicken.com>
15017
15018 * Version 22.1 released.
15019
15020 2007-06-01 Richard Stallman <rms@gnu.org>
15021
15022 * xfns.c (x_encode_text): Add GCPRO.
15023
15024 2007-06-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15025
15026 * xfns.c (x_set_name_internal): Save encoded name before
15027 x_encode_text in case string data is relocated.
15028
15029 2007-05-31 Richard Stallman <rms@gnu.org>
15030
15031 * buffer.c (syms_of_buffer): Doc fix.
15032
15033 2007-05-30 Nick Roberts <nickrob@snap.net.nz>
15034
15035 * sysdep.c (init_sys_modes): Add rather than replace with
15036 O_NONBLOCK.
15037
15038 * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to
15039 term_mouse_moveto.
15040
15041 * termhooks.h (term_mouse_moveto): New extern.
15042
15043 * term.c (mouse_face_window): Rename...
15044 (Qmouse_face_window): ...to this.
15045 (term_show_mouse_face, term_clear_mouse_face)
15046 (term_mouse_highlight): Use Qmouse_face_window.
15047 (term_mouse_moveto): New function.
15048 (term_mouse_position): Make it work.
15049 (syms_of_term): Uncomment assignment to mouse_position_hook.
15050 Staticpro Qmouse_face_window.
15051
15052 2007-05-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15053
15054 * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t
15055 around current_column call.
15056
15057 2007-05-26 Dan Nicolaescu <dann@ics.uci.edu>
15058
15059 * xfaces.c (syms_of_xfaces): Delete stray semicolon.
15060 * xdisp.c (next_element_from_buffer):
15061 * window.c (delete_window):
15062 * term.c (term_mouse_highlight):
15063 * msdos.c (getdefdir):
15064 * macterm.c (mac_create_bitmap_from_bitmap_data)
15065 (init_font_name_table):
15066 * fns.c (Fsxhash):
15067 * data.c (Fmake_local_variable):
15068 * ccl.c (ccl_driver): Likewise.
15069
15070 2007-05-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15071
15072 * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event):
15073 Call mac_wakeup_from_rne on window size change.
15074
15075 2007-05-25 Chong Yidong <cyd@stupidchicken.com>
15076
15077 * image.c (uncache_image): Fix typo.
15078
15079 2007-05-23 Johannes Weiner <hannes@saeurebad.de> (tiny change)
15080
15081 * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too.
15082
15083 2007-05-22 Richard Stallman <rms@gnu.org>
15084
15085 * xterm.c (x_connection_closed): Remove NO_RETURN.
15086
15087 2007-05-22 Martin Rudalics <rudalics@gmx.at>
15088
15089 * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD.
15090
15091 2007-05-21 Chong Yidong <cyd@stupidchicken.com>
15092
15093 * image.c (uncache_image): New function.
15094 (Fimage_refresh): New function.
15095
15096 2007-05-20 Jan Djärv <jan.h.d@swipnet.se>
15097
15098 * Makefile.in: Move GPM check outside HAVE_X_WINDOWS.
15099
15100 2007-05-20 Nick Roberts <nickrob@snap.net.nz>
15101
15102 * config.in, keyboard.c, Makefile.in, sysdep.c, term.c,
15103 * termhooks.h: Use HAVE_GPM instead of HAVE_GPM_H.
15104
15105 2007-05-20 Nick Roberts <nickrob@snap.net.nz>
15106
15107 * keyboard.c (make_lispy_event): Make case GPM_CLICK_EVENT
15108 conditional on [HAVE_GPM_H].
15109
15110 2007-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
15111
15112 * syntax.c (skip_chars): Update syntax-table only after we checked that
15113 the new location is valid.
15114
15115 2007-05-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15116
15117 * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around
15118 mac_get_window_bounds.
15119
15120 2007-05-20 Nick Roberts <nickrob@snap.net.nz>
15121
15122 * Makefile.in (LIBGPM): Allow it to be set from configure.
15123 If set then link Emacs with it.
15124
15125 * config.in: Regenerate.
15126
15127 * lisp.h (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):
15128 New externs.
15129
15130 * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT.
15131 Include gpm.h.
15132 (handle_one_term_event, term_gpm): New externs.
15133
15134 * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking
15135 and allow it to be interrupted by SIGIO.
15136
15137 * process.c (gpm_wait_mask, max_gpm_desc): New variables.
15138 (wait_reading_process_output): Wait on gpm_fd too.
15139 (add_gpm_wait_descriptor, delete_gpm_wait_descriptor)): New functions.
15140 (add_gpm_wait_descriptor_called_flag): New variable.
15141 (delete_keyboard_wait_descriptor): Check gpm_wait_mask.
15142
15143 * keyboard.c [HAVE_GPM_H] (Qmouse_fixup_help_message)
15144 (make_lispy_movement, tracking_off, Ftrack_mouse, some_mouse_moved)
15145 (show_help_echo, readable_events, kbd_buffer_get_event, init_keyboard):
15146 Extend HAVE_MOUSE ifdefs to HAVE_GPM_H.
15147 (make_lispy_event): Add case GPM_CLICK_EVENT.
15148 (read_avail_input): Handle mouse input.
15149
15150 * term.c (write_glyphs_with_face): New function.
15151 [HAVE_GPM_H]: Include buffer.h, sys/fcntl.h.
15152 (mouse_face_beg_row, mouse_face_beg_col, mouse_face_end_row)
15153 (mouse_face_end_col, mouse_face_past_end, mouse_face_window)
15154 (mouse_face_face_id, term_gpm, pos_x, pos_y)
15155 (last_mouse_x, last_mouse_y): New variables.
15156 (term_show_mouse_face, term_clear_mouse_face, fast_find_position)
15157 (term_mouse_highlight, term_mouse_movement, term_mouse_position)
15158 (term_mouse_click, handle_one_term_event, Fterm_open_connection)
15159 (Fterm_close_connection): New functions.
15160 (term_init): Initialise mouse_face_window.
15161
15162 2007-05-19 Chong Yidong <cyd@stupidchicken.com>
15163
15164 * xdisp.c (redisplay_window): If first window line is a
15165 continuation line, recompute the new window start instead of
15166 recentering.
15167
15168 2007-05-18 Glenn Morris <rgm@gnu.org>
15169
15170 * m/alpha.h (ORDINARY_LINK): No longer define on OpenBSD.
15171 Suggested by Alfred M. Szmidt <ams@gnu.org>.
15172
15173 2007-05-17 Glenn Morris <rgm@gnu.org>
15174
15175 * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD.
15176
15177 2007-05-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15178
15179 * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert
15180 dead key repeat and up events.
15181
15182 2007-05-14 Chong Yidong <cyd@stupidchicken.com>
15183
15184 * image.c (pbm_load): Check image size for monochrome pbm.
15185
15186 2007-05-13 Chong Yidong <cyd@stupidchicken.com>
15187
15188 * xterm.c (XTread_socket): Revert last change.
15189
15190 2007-05-12 Chong Yidong <cyd@stupidchicken.com>
15191
15192 * image.c (pbm_load): Correctly check image size for greyscale pbm.
15193
15194 * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC).
15195
15196 2007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
15197
15198 * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object
15199 mixup (YAILOM).
15200
15201 2007-05-07 Andreas Schwab <schwab@suse.de>
15202
15203 * keymap.c (Flookup_key): Fix typo in last change.
15204
15205 2007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
15206
15207 * keymap.c (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier
15208 mapping for unibyte strings.
15209
15210 2007-05-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15211
15212 * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c.
15213 (Fx_popup_dialog) [MAC_OSX]: Likewise.
15214
15215 2007-04-29 Richard Stallman <rms@gnu.org>
15216
15217 * insdel.c (replace_range): For undo, record insertion first.
15218
15219 2007-04-29 Andreas Schwab <schwab@suse.de>
15220
15221 * lisp.h (VECSIZE): Use OFFSETOF.
15222
15223 2007-04-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15224
15225 * xdisp.c (try_window_reusing_current_matrix): Fix number of
15226 disabled lines.
15227
15228 2007-04-28 Richard Stallman <rms@gnu.org>
15229
15230 * lread.c (read_escape): In a string, \s is always space.
15231
15232 2007-04-27 Jan Djärv <jan.h.d@swipnet.se>
15233
15234 * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog.
15235
15236 * gtkutil.c (xg_update_menubar, create_menus): Create empty
15237 submenu for menu bar items.
15238
15239 See ChangeLog.10 for earlier changes.
15240
15241 ;; Local Variables:
15242 ;; coding: utf-8
15243 ;; add-log-time-zone-rule: t
15244 ;; bug-reference-url-format: "http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=%s"
15245 ;; End:
15246
15247 Copyright (C) 2007, 2008 Free Software Foundation, Inc.
15248
15249 This file is part of GNU Emacs.
15250
15251 GNU Emacs is free software: you can redistribute it and/or modify
15252 it under the terms of the GNU General Public License as published by
15253 the Free Software Foundation, either version 3 of the License, or
15254 (at your option) any later version.
15255
15256 GNU Emacs is distributed in the hope that it will be useful,
15257 but WITHOUT ANY WARRANTY; without even the implied warranty of
15258 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15259 GNU General Public License for more details.
15260
15261 You should have received a copy of the GNU General Public License
15262 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
15263
15264 ;; arch-tag: dfb6ad96-1550-4905-9e53-d2059ee84c40