(Ffont_shape_gstring): Make glyphs of non-nil adjustment
[bpt/emacs.git] / src / ChangeLog
1 2008-09-10 Kenichi Handa <handa@m17n.org>
2
3 * font.c (Ffont_shape_gstring): Make glyphs of non-nil adjustment
4 compose a grapheme cluster with the preceding base glyph.
5
6 * composite.c (composition_compute_stop_pos): Fix previous change.
7
8 2008-09-10 Glenn Morris <rgm@gnu.org>
9
10 * Makefile.in (character.o, chartab.o): Fix config.h typo.
11
12 2008-09-09 Chong Yidong <cyd@stupidchicken.com>
13
14 * keyboard.c (read_key_sequence): Reapply translation maps when
15 switching keyboards.
16
17 2008-09-09 Kenichi Handa <handa@m17n.org>
18
19 * ftfont.c (ftfont_shape_by_flt): Use "combining" FLT for ASCII
20 characters.
21
22 * composite.c (FORWARD_CHAR): Fix calculation
23 of (POSITION).pos_byte.
24 (composition_compute_stop_pos): Limit the search of composition to
25 at most 500 characters ahead. If we reach the limit or find a
26 newline, set cmp_it->ch to -2 and return 0.
27 (composition_reseat_it): Handle the case that cmp_it->ch is -2.
28
29 2008-09-08 Kenichi Handa <handa@m17n.org>
30
31 * indent.c (Fvertical_motion): Be sure to set
32 it_overshoot_expected if it.cmp_it.id is non-nengative.
33
34 2008-09-07 Andreas Schwab <schwab@suse.de>
35
36 * callproc.c (Fcall_process): Don't hold references to string data
37 across garbage collection. Move initialisation of new_argv down
38 to avoid compiler bug.
39
40 2008-09-07 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
41
42 * process.c (Fsystem_process_attributes): Doc fix.
43
44 2008-09-07 Chong Yidong <cyd@stupidchicken.com>
45
46 * callproc.c (Fcall_process): Canonicalize current directory name.
47
48 * xdisp.c (move_it_to): When moving by vpos, ensure that the
49 iterator advances to the next line if the current line ends in a
50 continued tab.
51
52 2008-09-07 Teodor Zlatanov <tzz@lifelogs.com>
53
54 * nsfont.m (nsfont_draw): Fix the references to missing gidx data
55 member to point to cmp_from.
56
57 * xdisp.c: Doc fix for references to gidx data member.
58
59 2008-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
60
61 * buffer.c (Fbuffer_swap_text): Reset window->point markers.
62
63 2008-09-06 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
64
65 * process.c (Fsystem_process_attributes): Doc fix.
66
67 2008-09-06 Chong Yidong <cyd@stupidchicken.com>
68
69 * keyboard.c (Ftop_level): Doc fix.
70
71 2008-09-06 Eli Zaretskii <eliz@gnu.org>
72
73 * xmenu.c (xmenu_show) [!HAVE_X_WINDOWS]: If frame has a
74 minibuffer, don't let lower part of menu invade the echo area.
75
76 * msdos.c (IT_menu_display): Use STRING_CHAR_ADVANCE instead of a
77 "char *q" to access menu text and advance through it. Revert the
78 change that displayed ">" instead of ASCII character 0x10.
79
80 2008-09-05 Eli Zaretskii <eliz@gnu.org>
81
82 * menu.c (single_menu_item) [!HAVE_BOXES]: Enable emulation of
83 toggle boxes and radio buttons on MS-DOS as well.
84
85 2008-09-05 Kenichi Handa <handa@m17n.org>
86
87 * composite.c (autocmp_chars): Check lookback count.
88 (composition_compute_stop_pos): Set cmp_it->lookback.
89 (composition_reseat_it): Check lookback count.
90 (struct position_record): New struct.
91 (FORWARD_CHAR, BACKWARD_CHAR, CHAR_COMPOSABLE_P): New macros.
92 (find_automatic_composition): New function.
93 (composition_adjust_point): Use find_automatic_composition.
94
95 * dispextern.h (struct composition_it): New member lookback.
96
97 2008-09-02 Chong Yidong <cyd@stupidchicken.com>
98
99 * indent.c (Fvertical_motion): Don't call move_it_by_lines again
100 if moving by a single line.
101
102 2008-09-02 Andreas Schwab <schwab@suse.de>
103
104 * xterm.c (x_delete_display): Fix merge error.
105
106 * fileio.c (Fexpand_file_name): Remove unused variables.
107
108 2008-09-02 Eli Zaretskii <eliz@gnu.org>
109
110 * fileio.c (Fexpand_file_name): Copy argument `name' into local
111 storage on all platforms, not just on DOS_NT.
112
113 2008-09-02 Jason Rumney <jasonr@gnu.org>
114
115 * w32menu.c (Fx_popup_menu, Fx_popup_dialog, w32_menu_show): Ensure
116 mouse is not grabbed after menu is finished.
117
118 2008-09-01 Chong Yidong <cyd@stupidchicken.com>
119
120 * xfaces.c (Finternal_set_alternative_font_family_alist)
121 (Finternal_set_alternative_font_registry_alist): Properly copy
122 entire alist structure.
123
124 2008-09-01 Kenichi Handa <handa@m17n.org>
125
126 * ftfont.c (ftfont_spec_pattern): Don't create a charset of the
127 representative chars of the script is a vector.
128 (ftfont_list): Handle the case the representative chars of the
129 script is a vector.
130
131 * character.c (syms_of_character): Docstring of
132 script-representative-chars fixed.
133
134 2008-08-31 Eli Zaretskii <eliz@gnu.org>
135
136 * msdos.c (BUILD_CHAR_GLYPH): New macro.
137 (IT_menu_display): Use it instead of SET_CHAR_GLYPH to construct
138 the menu. Allocate larger buffer for `text', to account for
139 possible ^C characters.
140
141 2008-08-31 Martin Rudalics <rudalics@gmx.at>
142
143 * xdisp.c (prepare_menu_bars): Don't call
144 Vwindow_size_change_functions with arg Qt.
145
146 2008-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
147
148 * font.h (font_range):
149 * fileio.c (report_file_error):
150 * composite.c (composition_update_it): Yet another int/Lisp_Oject mixup.
151
152 2008-08-30 Glenn Morris <rgm@gnu.org>
153
154 * data.c (Fmake_variable_frame_local): Doc fix.
155
156 * frame.c (Fmodify_frame_parameters): Doc fix.
157
158 2008-08-30 Eli Zaretskii <eliz@gnu.org>
159
160 * w32.c (init_user_info): Allocate buf[] with xmalloc using the size
161 needed by GetTokenInformation.
162 (w32_system_process_attributes): Check return values of all system
163 APIs.
164
165 * msdos.c (IT_display_cursor): Write "CURSOR ON/OFF" to termscript
166 only when the state changes.
167 (IT_update_begin, IT_update_end): Add termscript trace.
168
169 * w16select.c (Fw16_set_clipboard_data): Don't encode text if
170 clipboard is unavailable. Set dst to NULL if it doesn't point to
171 malloc'ed data.
172 (Fw16_get_clipboard_data): Initialize htext to NULL, to avoid
173 passing random values to xfree.
174
175 * dispnew.c (init_display): Set `tty's association in frame's
176 parameters alist to the name of the terminal device, if that is
177 known.
178
179 2008-08-29 Jason Rumney <jasonr@gnu.org>
180
181 * w32uniscribe.c (uniscribe_check_otf): Don't fallback on DFLT script.
182
183 2008-08-29 Eli Zaretskii <eliz@gnu.org>
184
185 * composite.c (fill_gstring_body): Avoid compiler warnings.
186
187 * font.c (font_fill_lglyph_metrics): Use EMACS_INT in
188 LGLYPH_SET_CODE to avoid compiler warnings.
189
190 * makefile.w32-in ($(BLD)/w32uniscribe.$(O)): Depend on composite.h
191
192 * composite.h (LGLYPH_SET_CODE): Cast `val' to EMACS_INT.
193
194 * w32uniscribe.c (uniscribe_shape): Shut up compiler warning in
195 LGLYPH_SET_CODE.
196
197 2008-08-29 Kenichi Handa <handa@m17n.org>
198
199 * fileio.c (report_file_error): Don't downcase the first character
200 of errstring if it is still unibyte.
201
202 2008-08-29 Kenichi Handa <handa@m17n.org>
203
204 These changes are to re-implement the automatic composition so
205 that it doesn't use text properties.
206
207 * Makefile.in (ftfont.o): Depend on composite.h.
208 (composite.o): Depend dispextern.h, font.h, frame, and window.h.
209
210 * character.h (Vunicode_category_table): Extern it.
211
212 * character.c (Vunicode_category_table): New variable.
213 (syms_of_character): DEFVAR_LISP Vunicode_category_table.
214
215 * chartab.c (optimize_sub_char_table): Perform more greedy
216 optimization.
217
218 * composite.h (enum composition_method): Delete
219 COMPOSITION_WITH_GLYPH_STRING.
220 (COMPOSITION_METHOD): Dont' check COMPOSITION_WITH_GLYPH_STRING.
221 (Vcomposition_function_table): Extern it.
222 (LGSTRING_XXX, LGLYPH_XXX): Macros moved from font.h.
223 (composition_gstring_put_cache, composition_gstring_from_id)
224 (composition_gstring_p, composition_gstring_width)
225 (composition_compute_stop_pos, composition_reseat_it)
226 (composition_update_it, composition_adjust_point): Extern them.
227 (Fcomposition_get_gstring): EXFUN it.
228
229 * composite.c: Include window.h, frame.h, dispextern.h font.h.
230 (Vcomposition_function_table)
231 (get_composition_id): Don't handle COMPOSITION_WITH_GLYPH_STRING.
232 (gstring_hash_table, gstring_work, gstring_work_headers): New
233 variables.
234 (gstring_lookup_cache, composition_gstring_put_cache)
235 (composition_gstring_from_id, composition_gstring_p)
236 (composition_gstring_width, fill_gstring_header)
237 (fill_gstring_body, autocmp_chars, composition_compute_stop_pos)
238 (composition_reseat_it, composition_update_it)
239 (composition_adjust_point, Fcomposition_get_gstring): New
240 functions.
241 (syms_of_composite): Initialize gstring_hash_table, gstrint_work,
242 and gstring_work_headers. DEFVAR_LISP composition-function-table.
243 Defsubr compostion_get_gstring.
244
245 * dispextern.h (struct glyph): New union u.cmp. Delete the member
246 cmp_id.
247 (struct glyph_string): Delete the member gidx. New members
248 cmp_id, cmp_from, and cmp_to.
249 (enum it_method): Delete GET_FROM_COMPOSITION.
250 (struct composition_it): New struct.
251 (struct it): New member cmp_it, and iterator_stack_entry.cmp_it.
252 Delete c, len, cmp_id, cmp_len in u.comp.
253
254 * font.h (enum lgstring_indices): Delete it.
255 (LGSTRING_XXX, LGLYPH_XXX): These macros moved to composite.h.
256 (enum lglyph_indices): Likewise.
257 (font_range): Extern adjusted.
258 (font_fill_lglyph_metrics): Extern it.
259
260 * font.c (QCf): New variable.
261 (check_gstring): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
262 (font_prepare_composition): Delete this function.
263 (font_range): Type and arguments changed.
264 (Ffont_make_gstring, Ffont_fill_gstring): Delete them.
265 (font_fill_lglyph_metrics): New function.
266 (Ffont_shape_text): Renamed to Ffont_shape_gstring and arguments
267 changed.
268 (syms_of_font): DEFSYM QCf. Delete defsubr for
269 Sfont_make_gstring, Sfont_fill_gstring, Sfont_shape_text. Defsubr
270 Sfont_shape_gstring.
271
272 * fontset.h (font_for_char): Extern it.
273
274 * fontset.c (font_for_char): New function.
275
276 * ftfont.c: Include composite.h.
277 (ftfont_resolve_generic_family): Add langset "en" to pattern.
278 (ftfont_shape_by_flt): Use LGSTRING_GLYPH_LEN, not
279 LGSTRING_LENGTH.
280
281 * indent.c: Include composite.h and dispextern.h.
282 (check_composition): Delete this function.
283 (scan_for_column): Handle composition by
284 composition_compute_stop_pos, composition_reseat_it, and
285 composition_update_it.
286 (compute_motion): Likewise.
287 (Fvertical_motion): Fix checking of composition.
288
289 * keyboard.c (adjust_point_for_property): Check composition by
290 composition_adjust_point.
291
292 * nsterm.m (ns_draw_glyph_string): Adjusted for the change of
293 struct glyph_string.
294
295 * term.c (encode_terminal_code): Adjusted for the change of struct
296 glyph.
297 (append_composite_glyph): Adjusted for the change of struct it and
298 struct glyph.
299 (produce_composite_glyph): Likewise.
300
301 * w32term.c (x_draw_composite_glyph_string_foreground): Adjusted
302 for the change of struct glyph_string.
303 (x_draw_glyph_string): Likewise.
304
305 * w32uniscribe.c (struct uniscribe_font_info): Include composite.h.
306 (uniscribe_shape): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
307
308 * xdisp.c: Include font.h.
309 (it_props): Delete the entry for Qauto_composed.
310 (init_iterator): Initialize it->cmp_it.id to -1.
311 (compute_stop_pos): Call composition_compute_stop_pos.
312 (face_before_or_after_it_pos): Adjusted for the change of struct
313 it.
314 (handle_auto_composed_prop): Delete it.
315 (handle_composition_prop): Handle only static composition.
316 (next_overlay_string): Remove it->method == GET_FROM_COMPOSITION
317 from xassert. Initialize it->cmp_it.stop_pos.
318 (push_it): Adjusted for the change of struct it.
319 (pop_it): Likewise.
320 (get_next_element): Delete next_element_from_composition.
321 (CHAR_COMPOSED_P): New macro.
322 (get_next_display_element): For automatic composition, get a face
323 from the font in the glyph-string.
324 (set_iterator_to_next): For GET_FROM_BUFFER and GET_FROM_STRING,
325 check composition by it->cmp_it.id. Delete GET_FROM_COMPOSITION
326 case.
327 (next_element_from_string): Check if the character at the current
328 position is composed by CHAR_COMPOSED_P.
329 (next_element_from_buffer): Likewise.
330 (next_element_from_composition): Adjusted for the change of struct
331 it. Update it->cmp_it.
332 (dump_glyph): Adjusted for the change of struct glyph.
333 (fill_composite_glyph_string): Adjusted for the change of struct
334 it and struct glyph. Don't handle automatic composition here.
335 (fill_gstring_glyph_string): New function.
336 (x_get_glyph_overhangs): Handle automatic composition.
337 (BUILD_COMPOSITE_GLYPH_STRING): Adjusted for the change of struct
338 glyph.
339 (BUILD_GSTRING_GLYPH_STRING): New macro.
340 (BUILD_GLYPH_STRINGS): Call BUILD_GSTRING_GLYPH_STRING for
341 automatic composition.
342 (append_composite_glyph): Adjusted for the change of struct it and
343 struct glyph.
344 (x_produce_glyphs): Adjusted for the change of struct it.
345
346 * xterm.c (x_draw_composite_glyph_string_foreground): Adjusted for
347 the change of struct glyph_string.
348 (x_draw_glyph_string): Likewise.
349
350 2008-08-29 Glenn Morris <rgm@gnu.org>
351
352 * buffer.c (word-wrap): Doc fix.
353 * xdisp.c (truncate-partial-width-windows): Doc fix.
354 Increase default to 50.
355
356 2008-08-29 Chong Yidong <cyd@stupidchicken.com>
357
358 * xdisp.c (update_tool_bar_unwind): New function.
359 (update_tool_bar): Temporarily set selected frame before building
360 tool-bar items.
361
362 2008-08-28 Michael Albinus <michael.albinus@gmx.de>
363
364 * dbusbind.c (XD_ERROR, XD_DEBUG_MESSAGE): Use strncpy and
365 snprintf, respectively.
366 (xd_append_arg): Convert strings with Fstring_make_unibyte.
367
368 2008-08-28 Chong Yidong <cyd@stupidchicken.com>
369
370 * Makefile.in: Revert (undocumented) 2008-08-20 change adding
371 LDFLAGS to GNUstep CC invocation.
372
373 2008-08-27 Chong Yidong <cyd@stupidchicken.com>
374
375 * indent.c (Fvertical_motion): Revert last change. Handle the
376 general case where we are moving forward, and PT spans multiple
377 screen lines.
378
379 * eval.c (find_handler_clause): Temporarily increase
380 max-lisp-eval-depth while printing the backtrace buffer, to
381 guarantee that help-mode code can run.
382
383 2008-08-27 Eli Zaretskii <eliz@gnu.org>
384
385 * msdos.c (Fmsdos_remember_default_colors): Don't reverse frame
386 colors under -rv.
387 (IT_set_frame_parameters): Don't swap foreground and background
388 colors if `(reverse . t)' is present in the frame properties.
389 (internal_terminal_init): Call init_frame_faces only for the
390 initial frame.
391
392 2008-08-27 Andreas Schwab <schwab@suse.de>
393
394 * dired.c (Ffile_attributes): Avoid compiler warning in bitshift.
395
396 2008-08-27 Andreas Schwab <schwab@suse.de>
397
398 * search.c (search_buffer): Set char_base to zero only at the end.
399
400 2008-08-27 Kenichi Handa <handa@m17n.org>
401
402 * fileio.c (report_file_error): Fix handling of multibyte error
403 string.
404
405 2008-08-27 Andreas Seltenreich <seltenreich@gmx.de>
406
407 * xterm.c (x_term_init): Temporarily hide the partially
408 initialized terminal while calling vendor-specific-keysyms.
409
410 2008-08-26 Eli Zaretskii <eliz@gnu.org>
411
412 * msdos.c (internal_terminal_init): Most initializations done only
413 once, especially initial_screen_colors[] and termscript open.
414
415 2008-08-26 Chong Yidong <cyd@stupidchicken.com>
416
417 * eval.c (Fcondition_case): Doc fix.
418
419 * widgetprv.h (EmacsFramePart): Change font member to the new font
420 struct.
421
422 * widget.c: Include character.h and font.h for XSETFONT.
423 (setup_frame_gcs): Compute X font id from font struct, just once.
424
425 2008-08-26 Eli Zaretskii <eliz@gnu.org>
426
427 * term.c (get_named_tty): Fix last change.
428
429 2008-08-26 Chong Yidong <cyd@stupidchicken.com>
430
431 * indent.c (Fvertical_motion): If moving forward starting from a
432 multi-line string, move the iterator to the last line of that
433 string.
434
435 2008-08-25 Eli Zaretskii <eliz@gnu.org>
436
437 * frame.c (do_switch_frame): Mark previously displayed frame as
438 obscured for FRAME_MSDOS_P frames as well.
439
440 2008-08-24 Eli Zaretskii <eliz@gnu.org>
441
442 * frame.c (make_terminal_frame): Initialize f->terminal,
443 f->terminal->reference_count, and scroll bars on MS-DOS as well.
444 Set the top frame to newly created frame.
445 (Fmake_terminal_frame): Reuse the_only_display_info.
446
447 * vm-limit.c (get_lim_data) [MSDOS]: Use alternative methods of
448 estimating available memory.
449
450 2008-08-23 David Reitter <david.reitter@gmail.com>
451
452 * nsterm.m (ns_draw_window_cursor): Don't call
453 NSDisableScreenUpdates and NSEnableScreenUpdates on
454 non-NS_IMPL_COCOA systems.
455
456 2008-08-23 Andreas Schwab <schwab@suse.de>
457
458 * process.c (procfs_system_process_attributes): Fix use of
459 uninitialized variables.
460
461 2008-08-23 Eli Zaretskii <eliz@gnu.org>
462
463 * emacs.c (main) [MSDOS]: Call syms_of_xmenu.
464
465 * dispnew.c (init_display): Remove MS-DOS specific conditions for
466 calling tty-set-up-initial-frame-faces.
467
468 * xmenu.c (Fx_popup_dialog, Fx_popup_menu, xmenu_show): Allow
469 MSDOS frames along with X frames.
470
471 * termhooks.h (TERMINAL_ACTIVE_P): Handle output_msdos_raw in
472 addition to output_termcap.
473
474 * xdisp.c (redisplay_internal) [MSDOS]: Don't call set_tty_color_mode.
475
476 * termchar.h (FRAME_TTY): Support output_msdos_raw.
477 (struct tty_display_info) [MSDOS]: Add fields related to mouse
478 highlight.
479
480 * process.c [!subprocesses]: Define QCname.
481 (syms_of_process): Intern and staticpro it.
482
483 * w16select.c (Fw16_set_clipboard_data, Fw16_get_clipboard_data):
484 Adjust for changes in encoding/decoding routines. Use
485 encode_coding_object and decode_coding_object instead of
486 encode_coding and decode_coding.
487
488 * sysdep.c (init_sys_modes): Call dos_ttraw with tty_out as
489 argument.
490
491 * dosfns.c: Include frame.h before termhooks.h.
492 (dos_cleanup): Use CURTTY ()->termscript instead of a global
493 variable termscript.
494
495 * s/msdos.h (USER_FULL_NAME): Define.
496 (SYSTEM_PURESIZE_EXTRA): Bump up to 100K.
497
498 * editfns.c (USER_FULL_NAME): Define to pw->pw_gecos if undefined.
499 (Fuser_full_name): Use USER_FULL_NAME instead of a literal
500 pw->pw_gecos.
501
502 * keyboard.c (handle_interrupt) [MSDOS]: Call cursor_to with
503 SELECTED_FRAME as additional (1st) argument.
504 (tty_read_avail_input): Handle output_msdos_raw in
505 addition to output_termcap.
506
507 * msdos.c: Include frame.h before termhooks.h.
508 (mouse_on, mouse_off, mouse_moveto, mouse_init)
509 (msdos_set_cursor_shape, IT_set_face, IT_write_glyphs)
510 (show_mouse_face, IT_clear_end_of_line, IT_clear_screen)
511 (IT_clear_to_end, IT_cursor_to, IT_display_cursor, IT_cmgoto)
512 (IT_set_terminal_modes, IT_reset_terminal_modes)
513 (IT_set_frame_parameters): Use tty->termscript instead of a global
514 variable termscript.
515 (IT_write_glyphs): Use tty->terminal->terminal_coding instead of a
516 global variable terminal_coding. Don't refer to
517 Vnonascii_translation_table.
518 (internal_terminal_init): Set Vwindow_system in current_kboard.
519 Don't use TTY_CHAR_INS_DEL_OK. Set Vinitial_window_system.
520 Announce date and time of session start, if termscript is open.
521 Don't zero out the_only_display_info (it is done in
522 term.c:init_tty). Open termscript only of not already open. Log
523 "SCREEN SAVED" here, instead of IT_set_terminal_modes. Init mouse
524 here instead of dos_ttraw. Don't initialize display if this is an
525 initial tty. Don't set FRAME_FONT.
526 (Vwindow_system_version): Bump to 23.
527 (dos_ttraw): Accept a TTY argument; all callers fixed. If mouse
528 is available, set up mouse_position_hook.
529 (dos_ttraw, IT_set_terminal_modes): If called with initial
530 terminal, do nothing.
531 (IT_set_frame_parameters): Handle the Qtty_type frame
532 parameter by calling internal_terminal_init.
533 (dos_set_window_size, show_mouse_face)
534 (clear_mouse_face, IT_note_mode_line_highlight)
535 (IT_note_mouse_highlight, IT_update_begin, IT_frame_up_to_date)
536 (dos_rawgetc): Use tty_display_info instead of x_display_info.
537 (initialize_msdos_display): New function.
538 (IT_cursor_to, IT_clear_to_end, IT_clear_screen)
539 (IT_clear_end_of_line, IT_insert_glyphs, IT_write_glyphs)
540 (IT_delete_glyphs, IT_ring_bell, IT_reset_terminal_modes)
541 (IT_set_terminal_modes, IT_set_terminal_window, IT_update_begin):
542 Accept additional argument: a pointer to a frame. All callers
543 changed.
544 (request_sigio, unrequest_sigio): Don't define, now defined on
545 sysdep.c.
546 (IT_write_glyphs): Rewrite to use encode_terminal_code.
547
548 * term.c [MSDOS]: Include msdos.h.
549 (init_tty) [MSDOS]: Reuse most of WINDOWSNT branch. Change cpp
550 conditional to DOS_NT. Allow only one call to this function in a
551 session. Don't allocate a new struct tty_display_info; instead,
552 reuse the_only_display_info. Call get_tty_size to get screen
553 dimensions. Call init_baud_rate to set bad_rate.
554 (dissociate_if_controlling_tty) [MSDOS]: Ifdef away function body.
555 (Fsuspend_tty) [MSDOS]: Don't close input and output.
556 (Fresume_tty) [MSDOS]: Don't reopen the TTY; instead, use
557 stdin/stdout.
558 (get_tty_terminal, get_named_tty, Ftty_type)
559 (Fcontrolling_tty_p): Handle output_msdos_raw in addition to
560 output_termcap.
561 (Fresume_tty, Fsuspend_tty, init_tty, delete_tty): Call
562 add_keyboard_wait_descriptor and delete_keyboard_wait_descriptor
563 only when subprocesses are supported
564
565 * frame.c (make_terminal_frame) [MSDOS]: Adjust initialization of
566 f->output_data.x.
567 (Fmake_terminal_frame) [MSDOS]: Don't allow creation of new
568 terminal devices.
569
570 * msdos.h Remove definition of struct x_display_info and struct
571 x_output.
572 (FRAME_FONT): Use output_data.tty.
573 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL): Don't define.
574 (struct x_display_info): Renamed from display_info. All users in
575 msdos.c changed.
576 (struct x_output): Remove background_pixel and foreground_pixel.
577 (the_only_display_info): Renamed from the_only_x_display.
578 (dos_ttraw): Update prototype.
579
580 * Makefile.in (MSDOS_OBJ): Add xmenu.o.
581 (SOME_MACHINE_LISP): Add ../lisp/term/pc-win.elc.
582
583 2008-08-23 Jason Rumney <jasonr@gnu.org>
584
585 * image.c (enum tiff_keyword_index, tiff_format): Add :index keyword.
586 (fn_TIFFSetDirectory): New library function used.
587 (init_tiff_functions) [HAVE_NTGUI]: Initialize it.
588 (tiff_load): Use :index to select among multiple images. Set count
589 property when multiple images exist.
590 (gif_format): Use :index, not :image.
591
592 2008-08-23 Chong Yidong <cyd@stupidchicken.com>
593
594 * xdisp.c (try_scrolling): Check INT_MAX instead of
595 MOST_POSITIVE_FIXNUM for maximum integer value. Include limits.h
596 to obtain INT_MAX.
597
598 2008-08-21 İsmail Dönmez <ismail@namtrac.org> (tiny change)
599
600 * xterm.c (x_delete_display): Don't call XrmDestroyDatabase on GTK+.
601
602 2008-08-21 Christian Faulhammer <opfer@gentoo.org> (tiny change)
603
604 * Makefile.in (temacs${EXEEXT}): On GNUstep, link to appropriate
605 GNUstep library location.
606
607 2008-08-21 Chong Yidong <cyd@stupidchicken.com>
608
609 * xfaces.c (x_update_menu_appearance): Check validity of menu font
610 before using it.
611
612 * puresize.h (BASE_PURESIZE): Increase to 1250000.
613
614 2008-08-20 Adrian Robert <Adrian.B.Robert@gmail.com>
615
616 * nsfns.m (ns-read-file-name): Add casts to avoid warning.
617 (ns-convert-utf8-nfd-to-nfc): Warn if cannot execute correctly.
618 * nsfont.m (nsfont_draw): Compare indexed colors to 0, not nil.
619 * nsterm.h (EmacsView-unlockFocusNeedsFlush:): Add declaration.
620 (EmacsApp-cursor_blink_handler): Remove declaration.
621 * nsterm.m (ns_draw_glyph_string): Update first conditional body to
622 match 01 Feb 2008 changes in xterm.c.
623 (ns_read_socket): Add cast to avoid warning.
624 (EmacsApp-application:openFiles:): Don't call replyToOpenOrPrint: on
625 GNUstep.
626
627 2008-08-20 Chong Yidong <cyd@stupidchicken.com>
628
629 * xselect.c (x_get_foreign_selection): Return nil if desired
630 selection could not be obtained, instead of signalling an error.
631
632 2008-08-20 David Reitter <david.reitter@gmail.com>
633
634 * nsfns.m (ns_lisp_to_cursor_type): Replace with generic xfns.c.
635 * nsterm.m: Remove ns-specific code for cursor blinking.
636 (ns_draw_window_cursor): Clear cursor properly rather than
637 redrawing the area. Respect width of bar cursors.
638 These changes enable the use of generic blink-cursor-mode and
639 generic cursor types in NS and support smooth cursor movements (do
640 not blink off after command).
641 * xdisp.c (get_phys_cursor_geometry): Redraw wider rectangle on
642 Nextstep, too.
643
644 2008-08-19 Kenichi Handa <handa@m17n.org>
645
646 * font.c (Vfont_log_deferred): New variable.
647 (font_add_log): Check Vfont_log_deferred.
648 (font_deferred_log): New funciton.
649
650 * font.h (font_deferred_log): Extern it.
651
652 * fontset.c (reorder_font_vector): Use encoding charset of fonts
653 for sorting.
654 (face_for_char): Use deferred log.
655
656 2008-08-18 Kenichi Handa <handa@m17n.org>
657
658 * fontset.c (face_for_char): Add font log.
659
660 * font.c (font_add_log): Add the font properties :script, :lang,
661 and :otf in the log.
662
663 2008-08-17 Chong Yidong <cyd@stupidchicken.com>
664
665 * xdisp.c: Remove dead code.
666 (handle_invisible_prop, next_overlay_string): Defer call to
667 setup_for_ellipsis.
668 (handle_stop, set_iterator_to_next): Call setup_for_ellipsis.
669
670 2008-08-15 Chong Yidong <cyd@stupidchicken.com>
671
672 * xfaces.c (lookup_derived_face): Properly handle possible zero
673 return value of get_lface_attributes.
674 (merge_faces): Don't tell lookup_derived_face to signal an error
675 if face is not found.
676
677 * dired.c (Fdirectory_files): Doc fix.
678
679 * process.c (make_process): Initialize kill_without_query struct
680 member.
681
682 2008-08-15 Eli Zaretskii <eliz@gnu.org>
683
684 * w32.c (w32_system_process_attributes) [_MSC_VER < 1300]:
685 Alternative calculation of totphys for Visual Studio 6.
686
687 * w32fns.c [_MSC_VER && _MSC_VER < 1300]: Declare HMONITOR.
688
689 * w32.c (_MEMORY_STATUS_EX, MEMORY_STATUS_EX, LPMEMORY_STATUS_EX):
690 Rename from _MEMORYSTATUSEX, MEMORYSTATUSEX, LPMEMORYSTATUSEX.
691 All users changed.
692 (stat): Only root directory passed to GetDriveType. Allow RAM
693 disk as well as local fixed disk when w32-get-true-file-attributes
694 is set to `local'.
695 (CopySid_Proc, EqualSid_Proc, GetLengthSid_Proc): New typedefs.
696 (equal_sid, get_length_sid, copy_sid): New wrapper functions.
697 (w32_cached_id, w32_add_to_cache): New functions.
698 (get_name_and_id): Look account names in the cache before calling
699 lookup_account_sid.
700 (g_b_init_get_length_sid, g_b_init_equal_sid, g_b_init_copy_sid):
701 New initialization flags.
702 (globals_of_w32): Initialize them to zero.
703 (w32_system_process_attributes): Use w32_cached_id and
704 w32_add_to_cache.
705
706 2008-08-14 Lawrence Mitchell <wence@gmx.li>
707
708 * lread.c (Fread_char, Fread_char_exclusive): If no character
709 event is read before timeout is reached, return nil, rather than
710 converting to a number.
711
712 2008-08-14 Chong Yidong <cyd@stupidchicken.com>
713
714 * fns.c (use_dialog_box): Doc fix.
715
716 * s/darwin.h: Undefine HAVE_RES_INIT, which appears to be harmful
717 on OS X.
718
719 2008-08-13 Chong Yidong <cyd@stupidchicken.com>
720
721 * frame.c (Qns_parse_geometry): New var.
722 (Fx_parse_geometry): For HAVE_NS, call ns-parse-geometry.
723
724 2008-08-11 Chong Yidong <cyd@stupidchicken.com>
725
726 * xdisp.c (x_produce_glyphs): Handle the case when font has no
727 space character in calculating tabs.
728
729 2008-08-11 Dan Nicolaescu <dann@ics.uci.edu>
730
731 * Makefile.in (bootstrap-emacs): Use ln -f in the CANNOT_DUMP case.
732
733 2008-08-10 Glenn Morris <rgm@gnu.org>
734
735 * process.c (procfs_system_process_attributes): Use EMACS_INTs to
736 silence gcc "limited range of data type" warnings in some
737 make_fixnum_or_float calls.
738
739 2008-08-09 Eli Zaretskii <eliz@gnu.org>
740
741 * w32.c (w32_system_process_attributes): If the process does not
742 exist, return nil.
743
744 * w32.c: Include thelp32.h, psapi.h and coding.h.
745 (_MEMORYSTATUSEX, _PROCESS_MEMORY_COUNTERS_EX): New struct
746 declarations.
747 (CreateToolhelp32Snapshot_Proc, Process32First_Proc)
748 (Process32Next_Proc): New typedefs.
749 (g_b_init_create_toolhelp32_snapshot, g_b_init_process32_first)
750 (g_b_init_process32_next, g_b_init_open_thread_token)
751 (g_b_init_impersonate_self, g_b_init_revert_to_self)
752 (g_b_init_get_process_memory_info, g_b_init_global_memory_status)
753 (g_b_init_get_process_working_set_size)
754 (g_b_init_global_memory_status_ex): New static variables.
755 (globals_of_w32): Initialize them.
756 (create_toolhelp32_snapshot, process32_first, process32_next)
757 (open_thread_token, impersonate_self, revert_to_self)
758 (get_process_memory_info, get_process_working_set_size)
759 (global_memory_status, global_memory_status_ex): New wrapper
760 functions.
761 (w32_list_system_processes, w32_system_process_attributes)
762 (enable_privilege, restore_privilege, ltime, process_times):
763 New functions.
764 (convert_time_raw): New function.
765 (convert_time): Remove conversion of FILETIME into time in 100
766 nsec units, call convert_time_raw instead.
767
768 * process.h (w32_list_system_processes, w32_system_process_attributes):
769 Add prototypes.
770 (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess, Qttname)
771 (Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime, Qcutime)
772 (Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs, Quser, Qgroup)
773 (Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime): Add extern declarations.
774
775 * process.c (Fsystem_process_attributes): Doc fix.
776
777 2008-08-08 Chong Yidong <cyd@stupidchicken.com>
778
779 * xdisp.c (move_it_to): When stopping at a charpos, check if that's
780 a continued multi-char glyph; if so, advance to the actual glyph.
781
782 2008-08-07 Dan Nicolaescu <dann@ics.uci.edu>
783
784 * s/darwin.h (OTHER_FILES): Do not define here, defined in config.in.
785
786 * Makefile.in (ALL_OBJC_CFLAGS): New variable.
787 (.m.o): Use it.
788 * config.in: Regenerate.
789
790 2008-08-07 Chong Yidong <cyd@stupidchicken.com>
791
792 * xdisp.c (redisplay_window): Revert last change.
793 (try_window): Check bottom scroll margin too.
794
795 2008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
796
797 * config.in: Regenerate.
798
799 * Makefile.in (emacs): Remove ndef NS conditional for 'emacs
800 -list-load-path-shadows'.
801 (nsgui.h): Reduce number of things depending on it.
802
803 2008-08-06 Chong Yidong <cyd@stupidchicken.com>
804
805 * xdisp.c (try_scrolling): Use iterator to find the scroll margin,
806 instead of window-end which does the wrong thing at eob.
807 (try_cursor_movement): Minor optimization.
808 (redisplay_window): If scroll margin is defined, don't assume
809 window doesn't need scrolling.
810
811 2008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
812
813 * config.in: Regenerate.
814
815 * Makefile.in: Move nsXXX.m dependencies into big alphabetical list.
816 (mostlyclean): Don't delete *.d under NS.
817
818 * nsterm.h (NS_HAVE_INTEGER): Change to NS_HAVE_NSINTEGER.
819
820 2008-08-06 Kenichi Handa <handa@m17n.org>
821
822 * xfont.c (xfont_list_family): Return a list of symbols, not strings.
823
824 2008-08-06 Andreas Schwab <schwab@suse.de>
825
826 * config.in: Regenerate.
827
828 2008-08-05 Chong Yidong <cyd@stupidchicken.com>
829
830 * xdisp.c (redisplay_window): Don't enforce scroll-margin when
831 forcing a window start.
832
833 * fileio.c (Vauto_save_list_file_name): Move here from file.el.
834 (auto_save_1): Update modtime when auto-save-list-file-name is on.
835
836 2008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
837
838 * emacs.c (main): Under NS, set working dir to HOME when get a "psn"
839 argument.
840
841 2008-08-05 Juanma Barranquero <lekktu@gmail.com>
842
843 * buffer.c (syms_of_buffer) <scroll-up-aggressively>:
844 <scroll-down-aggressively, before-change-functions>:
845 <after-change-functions>: Reflow docstrings.
846
847 2008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
848 Ken Raeburn <raeburn@gnu.org>
849
850 Dock menu customization, based on a patch by Ken Raeburn, plus some
851 other fixes.
852 * nsmenu.m (dockMenu): New variable.
853 (EmacsDialog -clicked:): Fix mistake in change of 2008-07-17.
854
855 * nsterm.h (dockMenu): Declare.
856
857 * nsterm.m (KEY_NS_NEW_FRAME): New definition.
858 (ns_term_init): Initialize dockMenu.
859 (EmacsApp -newFrame:, -applicationDockMenu:): New methods.
860 (EmacsView -windowShouldClose:): Don't behave specially if <= 1 frame
861 left.
862
863 * lisp.h (LSB_TAG): Use on DARWIN_OS, not NS_IMPL_COCOA.
864
865 2008-08-04 Chong Yidong <cyd@stupidchicken.com>
866
867 * nsterm.h: Test directly for NS_HAVE_INTEGER before defining it.
868
869 * config.in: Regenerate.
870
871 2008-08-04 Seiji Zenitani <zenitani@mac.com>
872
873 * nsfns.m (x-create-frame): Set the frame parameter alpha to nil.
874
875 2008-08-04 Chong Yidong <cyd@stupidchicken.com>
876
877 * nsterm.h (find_and_call_menu_selection): Fix prototype.
878
879 2008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
880
881 * emacs.c (main: unexec_init_emacs_zone): Call if on DARWIN_OS.
882
883 * keyboard.h: Comment an #endif.
884
885 * lisp.h (have_menus_p): Adjust comment.
886
887 * menu.c (find_and_return_menu_selection): Fix comparison with
888 client_data.
889
890 * nsmenu.m (popup_activated_flag): New variable.
891 (popup_activated): New function.
892 (menu-or-popup-active-p): New exported lisp definition.
893 (ns_popup_menu): Set popup_activated_flag. Call discard_menu_items()
894 when popup done.
895 (ns_popup_dialog): Set popup_activated_flag.
896
897 * nsterm.m (EmacsView -conversationIdentifier): Use NSInteger
898 version for GNUstep (handled by conditional typedef in nsterm.m).
899 (ns_get_color): Remove special-casing for "darkblue", "dark blue" (now
900 in rgb.txt).
901
902 * process.c (init_process): Use DARWIN_OS, not DARWIN.
903
904 * sysselect.h: Conditionalize init_process undef on DARWIN_OS.
905
906 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): Do it also under NS.
907
908 * xdisp.c (redisplay_internal, note_mouse_highlight): Under NS,
909 shortcircuit if popup_activated like GTK and X toolkit.
910
911 * m/inter386.h: Change DARWIN to DARWIN_OS.
912
913 * s/darwin.h: Add #define DARWIN_OS. Get rid of C_SWITCH_SYSTEM def.
914 Change LIBS_MACGUI to LIBS_NSGUI. Move temacs-conditionalized defs
915 closer to C_SWITCH_SYSTEM_TEMACS so usage is understood. Expand
916 comment on NO_SOCK_SIGIO.
917
918 2008-08-03 Chong Yidong <cyd@stupidchicken.com>
919
920 * nsterm.m (windowDidResize): Remove stopModal call.
921
922 2008-08-03 Andreas Schwab <schwab@suse.de>
923
924 * vm-limit.c (get_lim_data) [HAVE_GETRLIMIT && RLIMIT_AS]: Define.
925 (check_memory_limits): Don't handle HAVE_GETRLIMIT here.
926
927 2008-08-02 Chong Yidong <cyd@stupidchicken.com>
928
929 * vm-limit.c (check_memory_limits): Don't use getrlimit on cygwin.
930 Don't use uninitialized pointer variable when using getrlimit.
931
932 2008-08-02 Jason Rumney <jasonr@gnu.org>
933
934 * w32font.c (compute_metrics): Don't mess with glyph_idx setting here.
935
936 2008-08-02 Eli Zaretskii <eliz@gnu.org>
937
938 * alloc.c (NSTATICS): Bump to 0x640.
939
940 * s/gnu-linux.h (HAVE_PROCFS, LISTPROC, PROCATTR): New defines.
941
942 * lisp.h: Add prototype for directory_files_internal.
943
944 * process.c (Fsystem_processes_list, Fsystem_process_attributes):
945 New functions.
946 (syms_of_process): Defsubr them. Add initializations for various
947 Q* symbols used in procfs_system_process_attributes.
948 (procfs_list_system_processes, procfs_system_process_attributes)
949 [HAVE_PROCFS]: New functions.
950 (time_from_jiffies, ltime_from_jiffies, get_up_time, procfs_ttyname)
951 (procfs_get_total_memory): New functions.
952
953 2008-08-01 Juanma Barranquero <lekktu@gmail.com>
954
955 * xfaces.c (Fx_load_color_file): Fix previous change;
956 it is #ifdef WINDOWSNT, not WINDOWS_NT.
957
958 2008-08-01 Michael Albinus <michael.albinus@gmx.de>
959
960 * dbusbind.c (xd_read_message): Handle D-Bus error messages.
961
962 2008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
963
964 * nsterm.h (NSInteger, NSUInteger): Add defines for non-Leopard.
965
966 2008-08-01 Chong Yidong <cyd@stupidchicken.com>
967
968 * nsfns.m (ns_frame_parm_handlers): Add empty entry for x_set_alpha.
969
970 * nsterm.m (EmacsApp -application:openFiles:): GNUStep does not
971 define NSApplicationDelegateReplySuccess.
972 (EmacsView -converstationIdentifier): Use long instead of
973 NSInteger for GNUStep, since it doesn't have NSInteger.
974
975 * xmenu.c: Revert last change.
976
977 * keyboard.h: Fix last change.
978
979 2008-08-01 Juanma Barranquero <lekktu@gmail.com>
980
981 * xfaces.c (x-load-color-file): Use RGB() instead of manually shifting
982 on Windows.
983
984 2008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
985
986 Warning clearing and clean-up in NS port.
987 * keyboard.h (xmalloc_widget_value, digest_single_submenu):
988 Add prototypes.
989 * nsgui.h (FACE_DEFAULT): Remove, unused.
990 (XGCValues): Change colors to unsigned long.
991 * nsterm.h (EmacsApp): Add declaration of all methods implemented in
992 nsterm.m.
993 (EmacsMenu -addItemWithWidgetValue:): Change to use NSMenuItem class.
994 (ns_list_fonts): Remove, unused.
995 (ns_font_to_xlfd, ns_fontname_to_xlfd): Drop prototypes.
996 * nsfns.m (interpret_services_menu): Use NSMenuItem class.
997 * nsfont.m (nsfont_open): Fix cast error in glyphs,metrics alloc.
998 (nsfont_draw): Compare face colors to 0, not nil.
999 * nsmenu.m (struct widget_value): Drop unneeded declaration.
1000 (EmacsMenu -addItemWithWidgetValue:, -fillWithWidgetValue:)
1001 (-addSubmenuWithTitle:): Use NSMenuItem class.
1002 (ns_popup_menu): Use NO, not NULL, for enabled setting.
1003 * nsterm.m (ns_draw_glyph_string): Don't compare font to ~0.
1004 (ns_clip_to_row): Make gc arg a BOOL.
1005 (ns_draw_fringe_bitmap, ns_draw_window_cursor): Use YES, NO in
1006 ns_clip_to_row() call.
1007 (ns_draw_glyph_string): Drop face comparison to ~0 (no longer
1008 used). Cast FRAME_FONT assignments.
1009 (ns_read_socket): Cast call to EmacsApp-fulfillService:withArg:.
1010 (ns_string_to_lispmod): Change arg to const char.
1011 (ns_term_init): Use NSMenuItem class.
1012 (EmacsApp -openFile:): Move to different section of file.
1013 (EmacsApp -application:openFiles:): Don't return a value, call
1014 -replyToOpenOrPrint:.
1015 (EmacsView -keyDown:): Fix up cast.
1016 (EmacsView -converstationIdentifier): Use NSInteger instead of long.
1017 (EmacsView -menuDown:): Cast tag in call to
1018 find_and_call_menu_selection().
1019 (ns_list_fonts): Remove, unused.
1020 (ns_font_to_xlfd): Make static. Cast result of UTF8String.
1021 (ns_fontname_to_xlfd): Make static.
1022 * w32menu.c (xmalloc_widget_value, digest_single_submenu):
1023 Remove prototypes (now in keyboard.h).
1024 (next_menubar_widget_id): Remove, unused.
1025 * xmenu.c (xmalloc_widget_value, digest_single_submenu):
1026 Remove prototypes (now in keyboard.h).
1027 * xfaces.c (ns_list_fonts, w32_list_fonts): Remove, unused.
1028
1029 2008-08-01 Dan Nicolaescu <dann@ics.uci.edu>
1030
1031 * Makefile.in (dispnew.o, gtkutil.o, sound.o, atimer.o)
1032 (floatfns.o): Depend on syssignal.h.
1033 (term.o): Depend on syssignal.h, systty.h, and $(INTERVAL_SRC).
1034
1035 * systty.h: Fix previous change that removed BSD_TERMIOS.
1036 Add comments to #ifdefs.
1037
1038 2008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
1039
1040 * w32fns.c (w32-load-color-file): Remove.
1041 (x-open-connection): Use renamed Fx_load_color_file.
1042 * xfaces.c (x-load-color-file): Add.
1043 * nsterm.m (ns_initialize): Load colors from etc/rgb.txt instead of
1044 Emacs.clr.
1045 (hide_hourglass): BLOCK_INPUT before UNBLOCK.
1046
1047 2008-07-31 Michael Albinus <michael.albinus@gmx.de>
1048
1049 * dbusbind.c (Fdbus_call_method_asynchronously)
1050 (Fdbus_method_error_internal): New defuns.
1051 (xd_read_message): Handle also reply messages.
1052 (Vdbus_registered_functions_table): Extend docstring.
1053
1054 2008-07-31 Juanma Barranquero <lekktu@gmail.com>
1055
1056 * keyboard.c (gobble_input): Fix previous change.
1057
1058 2008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
1059
1060 * bitmaps/README:
1061 * xfns.c:
1062 * termcap.c:
1063 * term.c:
1064 * syswait.h:
1065 * systty.h:
1066 * systime.h:
1067 * syssignal.h:
1068 * sysdep.c:
1069 * process.h:
1070 * process.c:
1071 * print.c:
1072 * ndir.h:
1073 * lread.c:
1074 * keyboard.c:
1075 * getpagesize.h:
1076 * floatfns.c:
1077 * fileio.c:
1078 * emacs.c:
1079 * doc.c:
1080 * dispnew.c:
1081 * dired.c:
1082 * data.c:
1083 * callproc.c:
1084 * buffer.c:
1085 * README:
1086 * Makefile.in:
1087 * s/template.h:
1088 * s/msdos.h:
1089 * m/vax.h: Remove VMS support.
1090 * s/vms.h:
1091 * vlimit.h:
1092 * uaf.h:
1093 * temacs.opt:
1094 * param.h:
1095 * ioctl.h: Remove file.
1096
1097 2008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
1098
1099 * s/ms-w32.h (MULTI_KBOARD): Remove.
1100 * xterm.c:
1101 * xselect.c:
1102 * xfns.c:
1103 * window.c:
1104 * w32term.c:
1105 * w32fns.c:
1106 * terminal.c:
1107 * termhooks.h:
1108 * term.c:
1109 * sysdep.c:
1110 * keyboard.h:
1111 * keyboard.c:
1112 * frame.h:
1113 * frame.c:
1114 * frame.c: Remove references to MULTI_KBOARD, it is now the default.
1115 * config.in: Regenerate.
1116
1117 2008-07-30 Jason Rumney <jasonr@gnu.org>
1118
1119 * w32font.h (struct w32font_info): Use unicode version of textmetrics.
1120
1121 * w32font.c (w32font_encode_char): Leave as unicode if in range.
1122 (w32font_open_internal): Get unicode version of textmetrics.
1123 Don't enable or disable glyph indices here.
1124 (w32font_open): Disable use of glyph indices.
1125
1126 * w32uniscribe.c (uniscribe_open): Enable use of glyph indices.
1127
1128 2008-07-30 Chong Yidong <cyd@stupidchicken.com>
1129
1130 * minibuf.c (Vread_buffer_function): Doc fix.
1131
1132 2008-07-30 John Paul Wallington <jpw@pobox.com>
1133
1134 * minibuf.c (read_buffer_completion_ignore_case): New var.
1135 (Fread_buffer): Use it.
1136
1137 2008-07-30 Dan Nicolaescu <dann@ics.uci.edu>
1138
1139 * systty.h (sensemode): Remove empty #if. Remove reference to
1140 BSD_TERMIOS, unused.
1141
1142 * sysdep.c: Remove reference to DGUX.
1143 (closedir): Remove reference to BROKEN_CLOSEDIR, unused.
1144
1145 * config.in: Regenerate.
1146
1147 2008-07-30 Jason Rumney <jasonr@gnu.org>
1148
1149 * w32uniscribe.c (uniscribe_encode_char): Fix glyph buffer size.
1150
1151 2008-07-29 Jason Rumney <jasonr@gnu.org>
1152
1153 * w32uniscribe.c (uniscribe_shape): Avoid using context if cache
1154 is populated.
1155 (uniscribe_encode_char): Always use uniscribe.
1156 Avoid using context if cache is populated.
1157
1158 2008-07-29 Jan Djärv <jan.h.d@swipnet.se>
1159
1160 * xmenu.c (Fx_menu_bar_open_internal): Use activate_item signal to
1161 open menu.
1162
1163 * gtkutil.c (menu_nav_ended): Remove.
1164 (create_menus): Remove signal connect for menu_nav_ended.
1165
1166 2008-07-28 Chong Yidong <cyd@stupidchicken.com>
1167
1168 * xdisp.c (redisplay_window): Check return value of
1169 compute_window_start_on_continuation_line before forcing a window
1170 start.
1171
1172 2008-07-28 Jason Rumney <jasonr@gnu.org>
1173
1174 * w32font.c (w32font_text_extents): Use w32_metric_cache consistently.
1175
1176 * w32term.c (w32_enable_unicode_output, cleartype_active):
1177 Remove obsolete display options.
1178 (x_draw_glyph_string_background): Don't use old cleartype_active
1179 workaround.
1180 (w32_initialize): Remove cleartype_active initialization.
1181 (syms_of_w32term): Remove w32_enable_unicode_output initialization.
1182
1183 2008-07-28 Andreas Schwab <schwab@suse.de>
1184
1185 * lisp.h (init_weak_hash_tables, syms_of_font)
1186 (xd_read_queued_messages, syms_of_dbusbind): Declare.
1187 (remove_hash_entry): Don't declare.
1188 * eval.c (maybe_call_debugger): Make static and move before use.
1189 * gtkutil.c: Include <X11/Xft/Xft.h> if HAVE_XFT.
1190 * xdisp.c: Include "gtkutil.h" if USE_GTK.
1191 * xterm.h (x_set_frame_alpha): Declare.
1192
1193 2008-07-28 Jan Djärv <jan.h.d@swipnet.se>
1194
1195 * gtkutil.c (menu_nav_ended): Revert change from 2008-07-24.
1196 (create_menus): Connect selection-done to menu_nav_ended.
1197
1198 2008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
1199
1200 * nsfns.m (x-create-frame): Add copy of parms argument to beginning.
1201 Set Vx_resource_name to a fallback. Replace read of 'buffered'
1202 parameter with read of 'alpha' one.
1203 (Qns_frame_parameter): Remove.
1204 * nsselection.m (selection-coding-system)
1205 (next-selection-coding-system, Vselection_coding_system)
1206 (Vnext_selection_coding_system): Drop.
1207
1208 2008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
1209
1210 * nsfns.m (do-applescript, do_applescript): Rename to
1211 ns-do-applescript, ns_do_applescript, and move within file.
1212
1213 2008-07-27 Dan Nicolaescu <dann@ics.uci.edu>
1214
1215 Remove support for Mac Carbon.
1216 * mactoolbox.c:
1217 * macterm.h:
1218 * macterm.c:
1219 * macselect.c:
1220 * macmenu.c:
1221 * macgui.h:
1222 * macfns.c:
1223 * mac.c: Remove file.
1224 * s/darwin.h:
1225 * m/intel386.h:
1226 * xfaces.c:
1227 * xdisp.c:
1228 * window.c:
1229 * tparam.c:
1230 * termhooks.h:
1231 * termcap.c:
1232 * term.c:
1233 * syssignal.h:
1234 * sysselect.h:
1235 * sysdep.c:
1236 * process.c:
1237 * lread.c:
1238 * lisp.h:
1239 * keyboard.c:
1240 * image.c:
1241 * fringe.c:
1242 * frame.h:
1243 * frame.c:
1244 * fontset.c:
1245 * font.h:
1246 * font.c:
1247 * fns.c:
1248 * fileio.c:
1249 * emacs.c:
1250 * dispnew.c:
1251 * dispextern.h:
1252 * config.in:
1253 * atimer.c:
1254 * Makefile.in: Remove code for Carbon
1255
1256 2008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1257
1258 * macterm.c (XDrawLine) [USE_MAC_IMAGE_IO]: Remove spurious return.
1259
1260 2008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1261
1262 * macterm.h (kCGBitmapByteOrder32Host): New define for
1263 non-universal SDKs.
1264
1265 * image.c (mac_create_cg_image_from_image, image_load_image_io)
1266 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
1267
1268 * macterm.c (XDrawLine, XCreatePixmapFromBitmapData)
1269 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
1270
1271 2008-07-26 David Robinow <drobinow@gmail.com> (tiny change)
1272
1273 * w32inevt.c: Include dispextern.h.
1274
1275 2008-07-26 Andreas Schwab <schwab@suse.de>
1276
1277 * print.c (print_object): Fix off-by-one in last change.
1278
1279 2008-07-25 Juanma Barranquero <lekktu@gmail.com>
1280
1281 * term.c (syms_of_term): Don't initialize default_orig_pair,
1282 default_set_foreground and default_set_background on Windows.
1283
1284 2008-07-25 Jason Rumney <jasonr@gnu.org>
1285
1286 * w32uniscribe.c (uniscribe_shape): Pass NULL for control arg to
1287 ScriptItemize. Clean up return value checking. Remove unused
1288 variables.
1289 (uniscribe_encode_char): Encode non-BMP characters with uniscribe
1290 shaping engine.
1291
1292 * w32font.c (w32font_has_char): Handle the case where we can't
1293 determine the script for a character.
1294
1295 2008-07-25 Chong Yidong <cyd@stupidchicken.com>
1296
1297 * term.c (syms_of_term): Initialize default_orig_pair,
1298 default_set_foreground, and default_set_background.
1299
1300 * getloadavg.c (nl): Rename to name_list to avoid ncurses.h
1301 clash (bug#86).
1302 (getloadavg): Callers changed.
1303
1304 * image.c (svg_load_image): Fix last change.
1305 (svg_load_image): Use rsvg_handle_get_dimensions to check that
1306 image size is valid. Use g_object_unref instead of deprecated
1307 rsvg_handle_free to free rsvg handle.
1308 (x_from_xcolors): Don't initialize pixmap (silence compiler).
1309
1310 2008-07-25 Jason Rumney <jasonr@gnu.org>
1311
1312 * w32font.c (w32font_encode_char): Encode characters outside BMP as
1313 surrogates before looking up glyph index.
1314 (w32font_text_extents): Encode as surrogates if falling back to
1315 functions that need UTF-16 wide chars.
1316
1317 * w32uniscribe.c (uniscribe_encode_char): Encode characters outside
1318 BMP as surrogates before looking up glyph index.
1319
1320 2008-07-25 Chong Yidong <cyd@stupidchicken.com>
1321
1322 * image.c (svg_load_image): Check for failure in return value of
1323 rsvg_handle_get_pixbuf. Free rsvg handle when done.
1324
1325 2008-07-25 Jason Rumney <jasonr@gnu.org>
1326
1327 * w32font.c (Fx_select_font): Reverse sense of second arg.
1328
1329 2008-07-24 Stefan Monnier <monnier@iro.umontreal.ca>
1330
1331 * syntax.c (struct lisp_parse_state, char_quoted, inc_bytepos)
1332 (dec_bytepos, find_defun_start): Use EMACS_INT for buffer positions.
1333
1334 * puresize.h (PURESIZE_CHECKING_RATIO): New macro.
1335 (PURESIZE): Use it.
1336
1337 2008-07-24 Dan Nicolaescu <dann@ics.uci.edu>
1338
1339 * m/amdx86-64.h (HAVE_LIB64_DIR): Consolidate ifdefs.
1340 * m/alpha.h (TEXT_END):
1341 * m/ibmrs6000.h (TEXT_END):
1342 * m/macppc.h (TEXT_END):
1343 * s/darwin.h (TEXT_END):
1344 * s/msdos.h (TEXT_END): Remove, unused.
1345 * s/gnu-linux.h (BSD_PGRPS): Add a comment.
1346 * s/cygwin.h: Remove comment.
1347
1348 * ecrt0.c (NODOT_GLOBAL_START): Remove code, unused.
1349 (DOT_GLOBAL_START): Remove conditional, redundant for CRT0_DUMMIES.
1350 * m/intel386.h (DOT_GLOBAL_START):
1351 * m/vax.h (DOT_GLOBAL_START): Remove, redundant with CRT0_DUMMIES.
1352 (USG): Remove, file not used on USG platforms.
1353
1354 * Makefile.in (HAVE_X11): Remove empty #else.
1355
1356 2008-07-24 Andreas Schwab <schwab@suse.de>
1357
1358 * fileio.c (Finsert_file_contents): Properly adjust undo list
1359 after format conversion.
1360
1361 2008-07-24 Jan Djärv <jan.h.d@swipnet.se>
1362
1363 * gtkutil.c (xg_get_font_name): Cast w to GTK_FONT_SELECTION_DIALOG.
1364 (menu_nav_ended): Remove.
1365 (create_menus): Remove signal connect for menu_nav_ended.
1366 (xg_update_menubar): Also take deactivate_cb as parameter, pass it to
1367 create_menus.
1368 (xg_modify_menubar_widgets): Pass deactivate_cb to xg_update_menubar.
1369
1370 2008-07-23 Jason Rumney <jasonr@gnu.org>
1371
1372 * w32font.c (w32_enumfont_pattern_entity): Return height consistent
1373 with opened font.
1374 (w32font_open): Set font type to gdi.
1375
1376 * w32uniscribe.c (uniscribe_open): Set font type to uniscribe.
1377
1378 2008-07-23 Dan Nicolaescu <dann@ics.uci.edu>
1379
1380 * s/usg5-4.h (ADDR_CORRECT): Remove, unused.
1381 * unexaix.c (ADDR_CORRECT): Remove conditional, the only user
1382 defines it.
1383 * unexec.c (ADDR_CORRECT): Define unconditionally.
1384
1385 * m/ibmrs6000.h (C_SWITCH_MACHINE): Remove.
1386
1387 * unexec.c: Remove code depending on !COFF and USG, the file is
1388 not used for such systems.
1389
1390 * s/netbsd.h (A_TEXT_OFFSET, A_TEXT_SEEK):
1391 * s/freebsd.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, unused.
1392 (LD_SWITCH_SYSTEM_1): Remove, update users.
1393
1394 * s/darwin.h (DATA_END):
1395 * m/intel386.h (DATA_END):
1396 * m/ibmrs6000.h (DATA_END):
1397 * m/alpha.h (DATA_END): Remove, unused.
1398
1399 * config.in: Regenerate.
1400 * s/ms-w32.h (subprocesses): Define unconditionally.
1401 * s/template.h (subprocesses): Update comment.
1402 * s/vms.h (subprocesses):
1403 * s/usg5-4.h (subprocesses):
1404 * s/hpux10-20.h (subprocesses):
1405 * s/gnu-linux.h (subprocesses):
1406 * s/cygwin.h (subprocesses):
1407 * s/bsd-common.h (subprocesses):
1408 * s/aix4-2.h (subprocesses):
1409 * s/darwin.h (subprocesses): Do not define, defined by default now.
1410
1411 * Makefile.in (C_SWITCH_SITE, LD_SWITCH_SITE): Remove, unused.
1412 Remove all references.
1413 (temacs): Add GNUStep specific ld flags.
1414
1415 * nsterm.m (syms_of_nsterm): Provide ns, not ns-windowing,
1416 similarly to what X does.
1417
1418 2008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
1419
1420 * nsfns.m (x-list-fonts): Remove.
1421 (syms_of_nsfns): Drop the x-list-fonts declaration.
1422 * nsterm.m: Get rid of remaining "//" comments.
1423
1424 2008-07-22 Chong Yidong <cyd@stupidchicken.com>
1425
1426 * xselect.c (Fx_rotate_cut_buffers_internal): Doc fix.
1427
1428 * nsselect.m (Fns_selection_exists_p, Fns_selection_owner_p)
1429 (Fx_get_selection_internal, Fns_rotate_cut_buffers_internal)
1430 (Fns_own_selection_internal, Fx_disown_selection_internal)
1431 (Fns_get_cut_buffer_internal, Fns_store_cut_buffer_internal):
1432
1433 * nsmenu.m (Fns_reset_menu, Fx_popup_menu): Change to use 'doc: /*
1434 ... */' style of docstrings. Doc fixes.
1435
1436 2008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
1437
1438 * terminfo.c (UP, BC, PC): Undo previous change.
1439
1440 * nsfns.m: Rename ns prefixed functions/variables to the
1441 corresponding x versions. Update references.
1442
1443 2008-07-22 Stefan Monnier <monnier@iro.umontreal.ca>
1444
1445 * syntax.c (char_quoted): Check "charpos > beg" before decrementing.
1446
1447 2008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
1448
1449 * nsfns.m (x_set_menu_bar_lines, x_set_tool_bar_lines):
1450 Remove forwarding functions.
1451 (ns_set_menu_bar_lines): Rename to x_set_menu_bar_lines, make
1452 non-static.
1453 (ns_set_tool_bar_lines): Rename to x_set_tool_bar_lines, make
1454 non-static.
1455 (ns_frame_parm_handlers): Use the new names.
1456 (syms_of_nsfns): Move to the end of file.
1457
1458 * nsterm.m (syms_of_nsterm): Move to the end of file.
1459
1460 * dispnew.c (init_display): Remove code for X10.
1461
1462 2008-07-22 Jason Rumney <jasonr@gnu.org>
1463
1464 * w32proc.c (Fw32_long_file_name): Don't append dir separator to
1465 bare drive.
1466
1467 2008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
1468
1469 * nsterm.m (syms_of_nsterm): Remove debugging println.
1470
1471 2008-07-22 David Reitter <david.reitter@gmail.com>
1472
1473 * nsfns.m (do_applescript, F_do_applescript): NS version of the
1474 Carbon implementation of the same functionality: execute arbitrary
1475 AppleScript code.
1476
1477 2008-07-21 Adrian Robert <Adrian.B.Robert@gmail.com>
1478
1479 * nsfns.m (Fx_create_frame, Fx_read_file_name, Fx_get_resource)
1480 (Fx_set_resource, Fx_set_alpha, Fx_server_max_request_size)
1481 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
1482 (Fx_display_mm_height, Fx_display_mm_width)
1483 (Fx_display_backing_store, Fx_display_visual_class)
1484 (Fx_display_save_under, Fx_open_connection)
1485 (Fx_close_connection, Fx_hide_emacs, Fx_font_name)
1486 (Fx_list_colors, Fx_perform_service, Fx_color_defined_p)
1487 (Fx_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
1488 (Fx_display_pixel_width, Fx_display_pixel_height)
1489 (Fx_display_usable_bounds, Fx_display_planes)
1490 (Fx_display_color_cells, Vns_icon_type_alist): Change to use 'doc: /*
1491 ... */' style of docstrings.
1492
1493 2008-07-21 Dan Nicolaescu <dann@ics.uci.edu>
1494
1495 * m/mips.h (LOAD_AVE_TYPE, LOAD_AVE_CVT): Do not define, not used
1496 on this platform.
1497 (mips):
1498 * m/iris4d.h (mips): Do not define.
1499 * sysdep.c (init_sys_modes): Use __mips__ instead of mips.
1500
1501 * m/ibmrs6000.h (LD_SWITCH_SITE): Remove.
1502
1503 * image.c:
1504 * nsfns.m:
1505 * nsselect.m:
1506 * nsterm.h:
1507 * nsterm.m: Rename ns prefixed functions/variables to the
1508 corresponding x versions. Update references.
1509
1510 * m/ibms390x.h (NO_REMAP): Do not undefine.
1511
1512 * m/amdx86-64.h: Use SOLARIS2 instead of sun.
1513
1514 2008-07-21 Chong Yidong <cyd@stupidchicken.com>
1515
1516 * nsfns.m: Change NS to Nextstep in docstrings and error messages.
1517 (Fns_create_frame, Fns_read_file_name, Fns_get_resource)
1518 (Fns_set_resource, Fns_set_alpha, Fns_server_max_request_size)
1519 (Fns_server_vendor, Fns_server_version, Fns_display_screens)
1520 (Fns_display_mm_height, Fns_display_mm_width)
1521 (Fns_display_backing_store, Fns_display_visual_class)
1522 (Fns_display_save_under, Fns_open_connection)
1523 (Fns_close_connection, Fns_hide_emacs, Fns_font_name)
1524 (Fns_list_colors, Fns_perform_service, Fns_color_defined_p)
1525 (Fns_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
1526 (Fns_display_pixel_width, Fns_display_pixel_height)
1527 (Fns_display_usable_bounds, Fx_display_planes)
1528 (Fns_display_color_cells, Vns_icon_type_alist): Doc fixes.
1529
1530 2008-07-21 Ami Fischman <ami@fischman.org> (tiny change)
1531
1532 * print.c (print_object): Check print_depth before searching for
1533 circularities.
1534
1535 2008-07-21 Michael Albinus <michael.albinus@gmx.de>
1536
1537 * dbusbind.c (Fdbus_register_signal): Use sprintf + strcat instead
1538 only sprintf.
1539
1540 2008-07-21 Kenichi Handa <handa@m17n.org>
1541
1542 * ftfont.c (adjust_anchor): Check if DetalValue is not NULL.
1543
1544 2008-07-20 Andreas Schwab <schwab@suse.de>
1545
1546 * syntax.c (find_start_pos, find_start_value)
1547 (find_start_value_byte, find_start_begv, find_defun_start)
1548 (back_comment, scan_sexps_forward): Use EMACS_INT for buffer positions.
1549
1550 2008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
1551
1552 * s/sol2-3.h: Insert contents of s/sol2.h.
1553 (LD_SWITCH_SYSTEM): Remove redundant definition.
1554 * s/sol2.h: Remove, unused.
1555
1556 2008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
1557
1558 * nsterm.m (ns_get_color): Recognize HSB,AHSB be synonyms for HSV,AHSV.
1559
1560 2008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
1561
1562 * Makefile.in (ns_appdir): Fix typo in find command.
1563
1564 2008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
1565
1566 * m/intel386.h (NO_REMAP): Do no define for USG, not used.
1567
1568 * s/usg5-4.h (LIBS_SYSTEM): Remove, system for which this was
1569 added not supported anymore.
1570
1571 * s/usg5-4-2.h (LIBS_SYSTEM):
1572 * s/sol2.h (LIBS_SYSTEM): Do not undefine.
1573
1574 * s/netbsd.h (GETPGRP_NO_ARG, N_TRELOFF):
1575 * s/lynxos.h (GETPGRP_NO_ARG):
1576 * s/hpux10-20.h (NO_SIOCTL_H):
1577 * s/gnu.h (GETPGRP_NO_ARG):
1578 * s/gnu-linux.h (NO_SIOCTL_H):
1579 * s/freebsd.h (GETPGRP_NO_ARG, N_TRELOFF):
1580 * s/cygwin.h (GETPGRP_NO_ARG):
1581 * s/irix6-5.h (LIBS_SYSTEM, GETPGRP_NO_ARG): Remove, unused.
1582 (C_DEBUG_SWITCH): Remove duplicate definition.
1583
1584 * m/ibms390.h: Remove boilerplate comments.
1585
1586 * sysdep.c (closedir): Use SOLARIS2 instead of sun && USG5_4.
1587
1588 * process.c (HAVE_SERIAL): Consolidate ifdefs.
1589 (wait_reading_process_output): Remove code for SunOS, platform not
1590 supported anymore. Use SOLARIS2 instead of sun.
1591
1592 2008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
1593
1594 * font.c (font_open_by_name): Under NS, default lface height to zero.
1595 (font_open_for_lface): Under NS, set size based on frame fontsize.
1596 * nsterm.m (EmacsView-changeFont:): Remove some commented code.
1597 * frame.c (x_set_frame_parameters): Remove HAVE_NS ifdef.
1598
1599 2008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
1600
1601 * nsterm.m (ns_antialias_text, ns_use_qd_smoothing)
1602 (ns_use_system_highlight_color): Switch these from DEFVAR_BOOL to
1603 DEFVAR_LISP and change all code accordingly to use Qt/Qnil instead of
1604 YES/NO.
1605 * nsterm.h (prevUseHighlightColor): Make a Lisp_Object.
1606 * nsfont.m (nsfont_draw): Treat ns_use_qd_smoothing as Lisp_Object.
1607 * Makefile.in (clean): Clear out build destination dir.
1608
1609 2008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
1610
1611 * Makefile.in (nsgui.h-related dependencies): Remove abbrev, xfns,
1612 xterm, xselect.
1613 * lisp.h: Remove declaration of hash_remove.
1614 * nsgui.h: Remove redefinitions of hash_remove.
1615 * fns.c (hash_remove): Rename to hash_remove_from_table.
1616
1617 2008-07-19 Seiji Zenitani <zenitani@mac.com>
1618
1619 * nsfont.m (nsfont_fmember_to_entity, nsfont_make_fontset_for_font):
1620 strdup() the family UTF8String before modifying it.
1621
1622 2008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
1623
1624 * nsterm.m (ns_maybe_dumpglyphs_background): Compare result from
1625 NS_FACE_BACKGROUND with 0 instead of nil.
1626 * nsfont.m (nsfont_draw): Same.
1627
1628 2008-07-19 Chong Yidong <cyd@stupidchicken.com>
1629
1630 * nsfns.m (ns_set_background_color): Fix crash.
1631
1632 2008-07-18 Chong Yidong <cyd@stupidchicken.com>
1633
1634 * Makefile.in (SOME_MACHINE_LISP): Remove ns-carbon-compat.elc.
1635
1636 2008-07-18 Dan Nicolaescu <dann@ics.uci.edu>
1637
1638 * puresize.h (BASE_PURESIZE): Increase to 1240000.
1639
1640 2008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1641
1642 * gtkutil.c: Include <config.h> instead of "config.h".
1643
1644 * lisp.h (Foverlay_buffer): Add EXFUN.
1645
1646 * process.c (create_process) [!WINDOWSNT && FD_CLOEXEC]: Wait for
1647 child process to complete child_setup. Undo 2005-09-21 change.
1648
1649 * s/darwin.h: Mention setsid after vfork.
1650
1651 2008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1652
1653 * Makefile.in (frame.o, keyboard.o, xdisp.o, xfaces.o):
1654 Depend on macgui.h.
1655
1656 * macfns.c (Fx_server_version): Don't use gestaltSystemVersionMajor,
1657 gestaltSystemVersionMinor, or gestaltSystemVersionBugFix.
1658
1659 * macterm.c (keycode_to_xkeysym_table): Add entries for f17, f18,
1660 and f19.
1661 [MAC_OSX] (fn_keycode_to_keycode_table): Likewise.
1662
1663 * macterm.h (gestaltSystemVersionMajor, gestaltSystemVersionMinor)
1664 (gestaltSystemVersionBugFix) [MAC_OS_X_VERSION_MAX_ALLOWED < 1040]:
1665 Remove enumerators.
1666
1667 * mactoolbox.c [USE_MAC_TSM] (mac_handle_text_input_event):
1668 Check if FACE_FROM_ID returns NULL.
1669
1670 2008-07-17 David Robinow <drobinow@gmail.com> (tiny change)
1671
1672 * w32inevt.c (change_frame_size): Remove extern declaration.
1673 (resize_event, maybe_generate_resize_event): Pass SAFE arg to
1674 change_frame_size.
1675
1676 2008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
1677
1678 * getloadavg.c: Revert last change (2008-07-15).
1679
1680 2008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
1681
1682 * Makefile.in: Replace emacsapp, emacsbindir, emacsappsrc variables
1683 set here with ns_appdir, ns_appresdir, ns_appbindir, ns_appsrc) set
1684 from configure.
1685
1686 2008-07-17 Dan Nicolaescu <dann@ics.uci.edu>
1687
1688 * s/sol2.h:
1689 * s/sol2-4.h: Reorganize conditionals.
1690
1691 * ecrt0.c: Remove code depending on m68000, not used anymore.
1692
1693 * fns.c (hash_remove): Make static.
1694 * lisp.h (hash_remove): Don't prototype.
1695
1696 * m/ibmrs6000.h:
1697 * m/ibms390x.h:
1698 * m/macppc.h: Remove boilerplate comments.
1699
1700 * m/sparc.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, only used on
1701 Solaris, which does not need them.
1702
1703 * m/vax.h: Remove comments about unsupported systems.
1704
1705 * s/darwin.h: Reorganize ifdefs.
1706
1707 2008-07-17 Andreas Schwab <schwab@suse.de>
1708
1709 * s/cygwin.h (LIB_STANDARD_LIBSRC): Don't define.
1710
1711 2008-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
1712
1713 Use SDATA. Follow coding convention of placing operators at
1714 beginning of next line rather than end of previous line, and placing
1715 spaces around infix operators.
1716
1717 * Makefile.in: Undef LIB_STANDARD before defining it to silence warning
1718 in case it was defined already.
1719 USE @GNUSTEP_MAKEFILES@ rather than envvars.
1720 * nsterm.m (ns_term_init): Pass Qt and Qnil rather than YES/NO to
1721 ns_default.
1722 (applicationShouldTerminate, setValuesFromPanel): Use EQ to compare
1723 Lisp_Objects.
1724 * nsterm.h (Fx_display_grayscale_p, Fx_display_planes)
1725 (ns_defined_color, ns_color_to_lisp): Declare.
1726 * nsselect.m (ns_handle_selection_request, ns_handle_selection_clear)
1727 (Fns_own_selection_internal): Make the big ugly hack more explicit, so
1728 it's accepted even with USE_LISP_UNION_TYPE.
1729 * nsmenu.m (ns_update_menubar): Use EQ to compare Lisp_Objects.
1730 (update_frame_tool_bar): Remove apparently obsolete tests for
1731 non-integerness of f->tool_bar_lines.
1732 (windowShouldClose, addButton, clicked, runDialogAt): Make the big ugly
1733 hack more explicit, so it's accepted even with USE_LISP_UNION_TYPE.
1734 * nsfont.m (nsfont_driver): Use just 0 rather than an invalid cast.
1735 (nsfont_open): Don't confuse NULL for Qnil.
1736 * nsfns.m (ns_implicitly_set_icon_type): Use EQ to compare Lisp_Objects.
1737 * menu.h (find_and_call_menu_selection):
1738 * menu.c (find_and_call_menu_selection): Use just int for vector size.
1739 (find_and_return_menu_selection): Always return something.
1740 * frame.h: Include dispextern.h for Display_Info.
1741 (display_x_get_resource): Declare.
1742
1743 2008-07-16 Adrian Robert <Adrian.B.Robert@gmail.com>
1744
1745 * syntax.c: Remove stdio.h include accidentally introduced in
1746 Emacs.app commit.
1747 * Makefile.in: Change GNUSTEP to NS_IMPL_GNUSTEP, COCOA to
1748 NS_IMPL_COCOA.
1749 * keyboard.c (handle_async_input, input_available_signal): Remove
1750 BSD4_1 conditional code, introduced accidentally in Emacs.app commit.
1751
1752 2008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
1753
1754 * nsterm.m (lisp_to_mod): Use parse_solitary_modifier instead.
1755 (ns_lisp_to_color): Don't mess with internal Lisp data fields.
1756 (ns_term_init, ns_term_shutdown, initFrameFromEmacs, ns_list_fonts):
1757 Use SDATA.
1758
1759 * keymap.c: Remove all NS-specific code.
1760 (where_is_preferred_modifier, Vwhere_is_preferred_modifier): New vars.
1761 (preferred_sequence_p): Rename from ascii_sequence_p; pay attention to
1762 where_is_preferred_modifier, return a different value depending on how
1763 preferred is the binding.
1764 (where_is_internal): Adjust accordingly.
1765 (Fwhere_is_internal): Refresh where_is_preferred_modifier.
1766 Adjust to new preferred_sequence_p.
1767 (syms_of_keymap): Declare `where-is-preferred-modifier'.
1768 * keyboard.c (parse_solitary_modifier): Not static any more.
1769 * keyboard.h (parse_solitary_modifier): Declare.
1770
1771 2008-07-16 Andreas Schwab <schwab@suse.de>
1772
1773 * Makefile.in (SOME_MACHINE_LISP): Remove easy-mmode, fix spelling
1774 of easymenu.
1775
1776 2008-07-16 Chong Yidong <cyd@stupidchicken.com>
1777
1778 * xdisp.c (move_it_in_display_line): Account for word wrap, so
1779 that we don't move off the line.
1780
1781 2008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
1782
1783 * keyboard.c (Qsuper): Remove.
1784 (parse_menu_item): Don't call where_is_internal specially for NS.
1785
1786 2008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
1787
1788 * s/gnu-linux.h: Remove boilerplate comments.
1789
1790 * m/alpha.h (__ELF__): Consolidate conditions.
1791
1792 * m/m68k.h (linux): Use GNU_LINUX instead.
1793 Remove boilerplate comments.
1794
1795 * m/intel386.h: Undo reactoring from previous change.
1796 (LIB_STANDARD): All systems that define USG define LIB_STANDARD
1797 too, remove dead code.
1798 (linux): Use GNU_LINUX instead.
1799
1800 2008-07-16 Jason Rumney <jasonr@gnu.org>
1801
1802 * w32gui.h: Repeat 26 June changes lost by last change.
1803
1804 2008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
1805
1806 * systty.h: Remove code for Aix on 386, unsupported platform.
1807
1808 * s/ms-w32.h: Remove boilerplate comments.
1809 (fcloseall, fgetchar, flushall, fputchar, getw, putw): Remove, unused.
1810
1811 * s/gnu-linux.h (TERM): Remove support.
1812 (HAVE_SYSVIPC): Remove, unused.
1813 (A_TEXT_OFFSET, A_TEXT_SEEK, ADJUST_EXEC_HEADER): Remove, not used
1814 for this system.
1815
1816 * process.c: Remove support for IRIS, unused.
1817 Remove support for TERM, not relevant anymore.
1818
1819 * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Remove, replace the only
1820 used with the definition.
1821
1822 * s/aix4-2.h (static): Do not undef.
1823
1824 * m/ibmrs6000.h: Remove code depending on USG5_4, this file is
1825 only used on Aix.
1826 (HAVE_SYSVIPC): Remove, unused.
1827
1828 * m/hp800.h (CANNOT_DUMP): Do not undef.
1829
1830 * m/alpha.h: Fix comment.
1831
1832 * s/usg5-4.h (HAVE_SYSVIPC): Remove, unused.
1833 (USG_SHARED_LIBRARIES): Remove, only used in unexec.c which is not
1834 used by this configuration.
1835 * emacs.c: Remove code depending on USG_SHARED_LIBRARIES.
1836 * unexec.c: Remove code depending on HPUX and
1837 USG_SHARED_LIBRARIES, not used with this file. Remove code
1838 depending on IRIS, unused. Remove if 0-ed code.
1839
1840 * s/template.h: Remove comments about static.
1841
1842 * sysdep.c: Remove code depending on NEED_PTEM_H, unused.
1843 Remove if 0-ed code.
1844 (baud_convert): Don't depend on BAUD_CONVERT, all definitions the
1845 were the same as the default.
1846 * s/vms.h (BAUD_CONVERT): Remove, same as the default.
1847 Remove boilerplate comments.
1848 * s/hpux10-20.h (BAUD_CONVERT): Remove, same as the default.
1849 (HAVE_SYSVIPC): Remove, unused.
1850 (LD_SWITCH_SYSTEM_TEMACS): Simplify, hp9000s700 not supported anymore.
1851
1852 * m/ia64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
1853 Remove boilerplate comments.
1854 * m/amdx86-64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
1855 Remove boilerplate comments.
1856 * m/ibms390x.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
1857 Remove boilerplate comments.
1858 * lisp.h (PNTR_COMPARISON_TYPE): Define it unconditionally.
1859
1860 * m/intel386.h (DATA_SEG_BITS): Remove definitions, only used on
1861 USG systems which do not use DATA_SEG_BITS.
1862 Refactor code. Remove boilerplate comments.
1863
1864 * m/ibms390.h:
1865 * m/m68k.h:
1866 * s/bsd-common.h:
1867 * s/cygwin.h:
1868 * s/darwin.h:
1869 * s/freebsd.h:
1870 * s/gnu.h:
1871 * s/msdos.h: Remove boilerplate comments.
1872
1873 * m/iris4d.h: Remove boilerplate comments and code for systems that
1874 do not use this file.
1875 (IRIS_4D): Remove, unused.
1876
1877 * m/mips.h: Remove boilerplate comments and code for systems that
1878 do not use this file.
1879 (SIGN_EXTEND_CHAR):
1880 * m/arm.h (SIGN_EXTEND_CHAR): Remove, unused.
1881 * unexmips.c: Remove file, unused.
1882
1883 * editfns.c (Fuser_full_name): Replace the only use of
1884 USER_FULL_NAME with its value.
1885 * config.in: Regenerate.
1886
1887 2008-07-16 David Reitter <david.reitter@gmail.com>
1888
1889 * Makefile.in: Add ns-win, ns-carbon-compat, easy-mmode and
1890 easy-menu to SOME_MACHINE_LISP for the new NeXTstep port.
1891
1892 2008-07-16 Glenn Morris <rgm@gnu.org>
1893
1894 * emacs.c (system-type): Doc fix.
1895
1896 2008-07-15 Stefan Monnier <monnier@iro.umontreal.ca>
1897
1898 * keyboard.c (parse_menu_item): Don't use cachelist, even under NS.
1899 If the cache doesn't work, let's fix it, rather than work around it.
1900
1901 2008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
1902
1903 * Makefile.in: Correct additions for nsfont.o in last commit.
1904 * nsfont.m: New file (forgot last commit).
1905
1906 2008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
1907
1908 * callproc.c (set_initial_environment): Initialize
1909 Vprocess_environment under CANNOT_DUMP (fixes crash when
1910 batch-compiling for bootstrap).
1911
1912 2008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
1913 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1914
1915 (make_initial_frame): Call init_frame_faces(f) in CANNOT_DUMP case --
1916 fix crash due to different init order.
1917
1918 2008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
1919
1920 Changes and additions for NeXTstep windowing system (Cocoa and
1921 GNUstep) support.
1922
1923 * Makefile.in:
1924 * config.in: Support defines and build commands for NS port.
1925 * blockinput.h (BLOCK_INPUT, UNBLOCK_INPUT, TOTALLY_UNBLOCK_INPUT)
1926 (UNBLOCK_INPUT_TO): Don't use under NS unless EXPERIMENTAL_CONTROL_G.
1927 * dispextern.h: Include nsgui.h and add needed typedefs under NS
1928 windowing.
1929 (struct face): Add synth_ital field.
1930 * dispnew.c: Include nsterm.h when compiling under NS windowing.
1931 (init_display): Initialize Vinitial_window_system to "ns" when so
1932 compiled.
1933 * emacs.c: Include GSConfig.h when compiling under GNUstep.
1934 (display_arg): Use under NS.
1935 (main): Under NS, allocate autorelease pool and handle command line
1936 args. Move syms_of_xmenu() call under #ifdef HAVE_X_WINDOWS.
1937 (standard_args): Add NS-specific args.
1938 (shut_down_emacs): Shut down NS terminal if compiled under NS.
1939 * font.c (DEFAULT_ENCODING): New variable.
1940 (font_find_for_lface): Use it.
1941 (syms_of_font): Load syms_of_nsfont under NS.
1942 * font.h: Declare nsfont_driver when compiled under NS.
1943 * fontset.c: When compiling under NS, include nsterm.h.
1944 (fontset_from_font): Autoconstruct fontset under NS.
1945 * frame.c (various): Under NS, include nsterm.h, add Qns window system
1946 symbol, document and use it.
1947 (do_switch_frame): When for_deletion under Cocoa, add
1948 Fraise_frame(Qnil).
1949 (x_set_frame_parameters): Ensure font attribute changes are picked up.
1950 (x_get_arg): Allow "yes" and "no" as boolean values.
1951 (syms_of_frame): Declare Qns. Init Vdefault_frame_scroll_bars to
1952 Qright under Cocoa.
1953 (focus-follows-mouse): Default to 0 under NS.
1954 * frame.h (enum output_method): Add output_ns.
1955 (external_tool_bar, external_menu_bar, FRAME_EXTERNAL_TOOLBAR)
1956 (FRAME_EXTERNAL_MENU_BAR): Use under NS.
1957 (FRAME_WINDOW_P): NS-specific definition.
1958 * fringe.c (max_used_fringe_bitmap): Make public.
1959 * getloadavg.c (mach/mach.h): Include it under NeXT descendant OS's.
1960 (getloadavg): Use NeXT code under descendant OS's.
1961 * image.c (includes and header section, x_create_bitmap_from_data)
1962 (x_create_bitmap_from_file, free_bitmap_record, image_background)
1963 (image_background_transparent, x_clear_image_1)
1964 (x_create_x_image_and_pixmap, x_destroy_x_image, x_put_x_image)
1965 (Create_Pixmap_From_Bitmap_Data, xpm_load_image, lookup_rgb_color)
1966 (x_to_xcolors, x_from_xcolors, x_disable_image)
1967 (x_build_heuristic_mask, syms_of_image): Add NS support parallel to
1968 other GUIs, including XPM support using code originally written for
1969 Carbon GUI.
1970 (png_load, jpeg_load, tiff_load, gif_load): Add implementations
1971 using NS API.
1972 (image_ascent): Use font metrics macros instead of direct struct field
1973 access.
1974 * keyboard.c (includes): Add nsterm.h when compiling under NS.
1975 (kbd_buffer_get_event): Handle NS as other GUI windowing systems.
1976 Also, handle NS as GTK for menu bar purposes.
1977 (make_lispy_event): Handle NS as other GUI windowing systems, and as X
1978 toolkit where they differ.
1979 (parse_menu_item): Prefer keybindings using 'super' modifier. Also,
1980 use cachelist, still needed under NS.
1981 * keyboard.h (ENCODE_MENU_STRING, XtPointer, Boolean): Handle as NTGUI.
1982 (struct widget_value): Define it here for menu.c.
1983 * keymap.c (includes): Include modifier internals.
1984 (lisp_to_mod, modifier_sequence_p): New functions, compiled only under
1985 NS.
1986 (where_is_internal, Fwhere_is_internal): When compiled under NS, add
1987 support for preferring sequences using certain modifiers, specified by
1988 the FIRSTONLY argument.
1989 * lisp.h (hash_remove): Rename to avoid name clash when compiling
1990 under NS GNUstep implementation.
1991 (USE_LSB_TAG): Use it under Cocoa when compiling under NS.
1992 * lread.c (init_lread): Treat NS as HAVE_CARBON for turn_off_warning.
1993 * menu.c: Include nsterm.h under NS.
1994 (single_menu_item, parse_single_submenu, xmalloc_widget_value)
1995 (free_menubar_widget_tree_value, update_submenu_strings)
1996 (find_and_call_menu_selection): Treat NS as X and NT.
1997 (find_and_return_menu_selection): New function, used for popup menus.
1998 * nsgui.h:
1999 * nsterm.h:
2000 * nsfns.m:
2001 * nsimage.m:
2002 * nsmenu.m:
2003 * nsselect.m:
2004 * nsterm.m: New files.
2005 * process.c (wait_reading_process_output): Under NS, call ns_select()
2006 instead of plain select().
2007 * syntax.c (char_quoted): Under NS, avoid a crash when called near
2008 beginning of buffer.
2009 * sysselect.h (init_process): Rename when compiling under Cocoa to
2010 avoid name conflict.
2011 * termhooks.h (display_info): Add ns_display_info to union.
2012 * terminal.c (Fterminal_live_p): Add ns to terminal types.
2013 * terminfo.c (UP, BC, PC): Don't declare when compiling under NS in
2014 COCOA environment.
2015 * unexnext.c: Update to work with mach API on Mac OS X, and to use new
2016 unexec() signature. (Note, this will dump, but the resulting file
2017 crashes; unexosx is used instead; keeping around for reference and
2018 possible aid in getting dump working under GNUstep.)
2019 * w32gui.h (button_type, widget_value): Remove definitions (now in
2020 keyboard.h).
2021 * window.c: Include nsterm.h when compiling under NS.
2022 * xdisp.c (includes): Include nsterm.h when compiling under NS.
2023 (set_frame_menubar, update_menu_bar, display_menu_bar): Handle NS as
2024 other GUI windowing systems.
2025 (update_tool_bar, redisplay_tool_bar, redisplay_window): Handle NS as
2026 GTK.
2027 (x_consider_frame_title): Under NS, set icon type and frame
2028 modified-state indicator; use ns_set_name_as_filename() when using
2029 formatted title.
2030 (update_window_cursor): Make public when compiling under NS.
2031 (display_hourglass_p, syms_of_xdisp, hourglass_shown_p)
2032 (hourglass_atimer, Vhourglass_delay
2033 * xfaces.c (header section, init_frame_faces, clear_font_table)
2034 (defined_color, unload_color, x_face_list_fonts)
2035 (prepare_face_for_display): Add NS support parallel to other GUIs.
2036 Emulate GCs like other non-X GUIs.
2037 (split_font_name): Don't lowercase font name under NS.
2038 (merge_face_ref, Finternal_set_lisp_face_attribute): Support stippling
2039 under NS.
2040 * s/darwin.h: Add support for compilation under NS.
2041
2042 2008-07-15 Jason Rumney <jasonr@gnu.org>
2043
2044 * w32fns.c (Fx_create_frame): Remove duplicate unwind_protect.
2045 (w32_show_hourglass): Rename from show_hourglass.
2046 (w32_hide_hourglass): Rename from hide_hourglass.
2047 (DEFAULT_HOURGLASS_DELAY): Revert from last change.
2048 (Vhourglass_delay): Declare extern.
2049 (hourglass_started): Remove.
2050
2051 * xdisp.c (Vhourglass_delay): Remove static.
2052 (hourglass_started, start_hourglass, cancel_hourglass):
2053 Don't include these versions on WINDOWSNT.
2054
2055 2008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
2056
2057 * dispextern.h (hourglass_shown_p, hourglass_atimer): New extern
2058 variables (formerly in xfns.c).
2059 (show_hourglass, hide_hourglass): New prototypes (same).
2060 * xdisp.c (display_hourglass_p, hourglass_shown_p, hourglass_atimer)
2061 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY): New variables (formerly
2062 in xfns.c).
2063 (syms_of_xdisp): Declare/initialize display-hourglass,
2064 hourglass-delay. Initialize hourglass_atimer, hourglass_shown_p.
2065 (hourglass_started, start_hourglass, cancel_hourglass): New functions,
2066 formerly in xfns.c.
2067 * xfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
2068 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
2069 (start_hourglass, cancel_hourglass): Remove.
2070 (show_hourglass, hide_hourglass): Remove prototypes and static
2071 modifiers.
2072 (syms_of_xfns): Remove display-hourglass, hourglass-delay,
2073 hourglass_atimer, hourglass_shown_p declaration/initialization.
2074 * macfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
2075 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
2076 (start_hourglass, cancel_hourglass): Remove.
2077 (show_hourglass, hide_hourglass): Remove prototypes and static
2078 modifiers.
2079 (syms_of_macfns): Remove display-hourglass, hourglass-delay,
2080 hourglass_atimer, hourglass_shown_p declaration/initialization.
2081 * w32fns.c (display_hourglass_p, Vhourglass_delay)
2082 (DEFAULT_HOURGLASS_DELAY): Remove.
2083 (syms_of_w32fns): Remove display-hourglass, hourglass-delay,
2084 hourglass_shown_p declaration/initialization.
2085
2086 2008-07-14 Jason Rumney <jasonr@gnu.org>
2087
2088 * w32fns.c (w32_get_arg): Remove wrapper function.
2089 (w32_createwindow, x_icon, x_create_tip_frame): Use x_get_arg
2090 directly.
2091 (Fx_create_frame): Sync with xfns.c. Use x_get_arg directly.
2092
2093 2008-07-14 Kenichi Handa <handa@m17n.org>
2094
2095 * xfont.c (xfont_open): Add workaround for X's bug.
2096
2097 2008-07-14 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
2098
2099 * fontset.c: Include <stdio.h> unconditionally.
2100
2101 2008-07-13 Michael Albinus <michael.albinus@gmx.de>
2102
2103 * dbusbind.c (Fdbus_register_signal): Allow also signal arguments
2104 for filtering.
2105
2106 2008-07-13 Dan Nicolaescu <dann@ics.uci.edu>
2107
2108 * s/vms.h: Use __GNUC__ instead of _GNUC_.
2109
2110 * m/macppc.h:
2111 * m/alpha.h: Use GNU_LINUX instead of LINUX. Reorganize conditionals.
2112
2113 * m/ibms390x.h (XINT, XUINT): Don't define, same as the default
2114 (SPECIAL_EMACS_INT):
2115 * m/ia64.h (SPECIAL_EMACS_INT):
2116 * m/amdx86-64.h (SPECIAL_EMACS_INT):
2117 * s/gnu.h (NLIST_STRUCT):
2118 * s/aix4-2.h (X11R5_INHIBIT_I18N):
2119 * s/gnu-linux.h (LINUX):
2120 * s/msdos.h (HAVE_FACES):
2121 * s/ms-w32.h (HAVE_FACES): Don't define, unused.
2122
2123 * systty.h:
2124 * sysdep.c (setup_pty): Don't depend on SYSV_PTYS, it is not used
2125 anymore.
2126
2127 2008-07-12 Dan Nicolaescu <dann@ics.uci.edu>
2128
2129 * syswait.h: Remove old if 0 code. Do not define WAITTYPE, it was
2130 always defined as int.
2131
2132 * s/netbsd.h (HAVE_UNION_WAIT, HAVE_WAIT_HEADER, WAIT_USE_INT):
2133 * s/gnu.h (HAVE_WAIT_HEADER, WAIT_USE_INT, HAVE_UNION_WAIT):
2134 * s/gnu-linux.h (HAVE_WAIT_HEADER):
2135 * s/freebsd.h (HAVE_WAIT_HEADER):
2136 * s/bsd-common.h (HAVE_UNION_WAIT):
2137 * s/aix4-2.h (HAVE_WAIT_HEADER):
2138 * m/mips.h (HAVE_UNION_WAIT):
2139 * s/usg5-4.h (HAVE_WAIT_HEADER, WAITTYPE): Do not define, not used.
2140 (COFF, static): Do not define, they are undefined later in the file.
2141
2142 * process.c (update_status): Don't use a union.
2143 (status_convert):
2144 (sigchld_handler): Use int instead of WAITTYPE.
2145
2146 2008-07-12 Chong Yidong <cyd@stupidchicken.com>
2147
2148 * indent.c (Fvertical_motion): Restore hscroll before moving to
2149 goal column.
2150
2151 2008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
2152
2153 * lisp.h: Remove left over code.
2154
2155 2008-07-11 Andreas Schwab <schwab@suse.de>
2156
2157 * lisp.h: Fix logic in last change.
2158
2159 * menu.h: New file.
2160 * menu.c: Include it.
2161 * xmenu.c: Likewise.
2162 * Makefile.in: Update dependencies.
2163
2164 2008-07-11 Kenichi Handa <handa@m17n.org>
2165
2166 * fontset.c (fontset_from_font): Cancel the previous change.
2167
2168 2008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
2169
2170 * lisp.h:
2171 * w32heap.c:
2172 * emacs.c:
2173 * alloc.c: Replace all references of NO_UNION_TYPE with
2174 USE_LISP_UNION_TYPE.
2175
2176 * m/xtensa.h (NO_UNION_TYPE):
2177 * m/vax.h (NO_UNION_TYPE):
2178 * m/template.h (NO_UNION_TYPE):
2179 * m/sparc.h (NO_UNION_TYPE):
2180 * m/mips.h (NO_UNION_TYPE):
2181 * m/macppc.h (NO_UNION_TYPE):
2182 * m/m68k.h (NO_UNION_TYPE):
2183 * m/iris4d.h (NO_UNION_TYPE):
2184 * m/intel386.h (NO_UNION_TYPE):
2185 * m/ibms390x.h (NO_UNION_TYPE):
2186 * m/ibms390.h (NO_UNION_TYPE):
2187 * m/ibmrs6000.h (NO_UNION_TYPE):
2188 * m/ia64.h (NO_UNION_TYPE):
2189 * m/hp800.h (NO_UNION_TYPE):
2190 * m/arm.h (NO_UNION_TYPE):
2191 * m/amdx86-64.h (NO_UNION_TYPE):
2192 * m/alpha.h (NO_UNION_TYPE): Remove definition, all platform were
2193 defining it the same.
2194
2195 2008-07-10 Chong Yidong <cyd@stupidchicken.com>
2196
2197 * xdisp.c (move_it_to): Backtrack if past the edge of a wrapped line.
2198
2199 2008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
2200
2201 * fileio.c:
2202 * sysdep.c
2203 * systty.h:
2204 * m/ibmrs6000.h:
2205 * m/iris4d.h:
2206 * s/aix4-2.h:
2207 * s/freebsd.h:
2208 * s/gnu-linux.h:
2209 * s/hpux10-20.h:
2210 * s/hpux11.h:
2211 * s/netbsd.h:
2212 * s/sol2-3.h:
2213 * s/sol2-4.h:
2214 * s/sol2.h:
2215 * s/usg5-4.h:
2216 * s/vms.h: Remove references to unused variables.
2217
2218 2008-07-10 Andreas Schwab <schwab@suse.de>
2219
2220 * ftfont.c (ftfont_resolve_generic_family): Remove foundry from
2221 pattern before matching the generic family.
2222
2223 2008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
2224
2225 * unexec.c:
2226 * s/vms.h:
2227 * s/usg5-4-2.h:
2228 * s/sol2-5.h:
2229 * s/freebsd.h:
2230 * s/darwin.h: Remove dead code.
2231
2232 * m/template.h:
2233 * m/sparc.h:
2234 * m/mips.h:
2235 * m/m68k.h:
2236 * m/iris4d.h:
2237 * m/intel386.h:
2238 * m/ibms390x.h:
2239 * m/ibms390.h:
2240 * m/ia64.h:
2241 * m/hp800.h:
2242 * m/arm.h:
2243 * m/amdx86-64.h: Remove dead code and references to unused
2244 and compiler defined symbols.
2245
2246 * unexmips.c:
2247 * unexelf.c: Remove references to desupported systems.
2248
2249 * m/powermac.h: Remove file, it is now identical to m/macppc.h.
2250
2251 * m/powermac.h: Remove boilerplate comments.
2252 (NO_REMAP): Remove unused definition.
2253
2254 * m/macppc.h (UNEXEC, NO_TERMIO): Don't define, the s/ files
2255 define them.
2256
2257 2008-07-10 Kenichi Handa <handa@m17n.org>
2258
2259 * xfont.c (xfont_open): Log the reason of failure.
2260
2261 2008-07-09 Stefan Monnier <monnier@iro.umontreal.ca>
2262
2263 * fontset.c (fontset_get_font_group):
2264 * font.c (font_check_otf): Specify argument types.
2265
2266 2008-07-09 Kenichi Handa <handa@m17n.org>
2267
2268 * coding.c (detect_coding_utf_8): Set detect_info->found only when
2269 non-ASCII char is found.
2270
2271 * fontset.c (fontset_compare_rfontdef): Fix plus/minus.
2272 (reorder_font_vector): Change the arg preferred_family to font.
2273 Prefer the spec matching with font.
2274 (fontset_get_font_group): New function.
2275 (fontset_find_font): Change the format of an element of a realized
2276 fontset. Use fontset_get_font_group.
2277 (fontset_font): Try the current fontset, the default fontset, the
2278 fallbacks of the current fonset, and the fallbacks of the default
2279 fontset in this order.
2280 (face_for_char): Delete the shortcut to use the current font.
2281 (fontset_from_font): Don't set fonts for Latin in the fontset.
2282
2283 * font.h (font_make_object, font_match_p): Adjust prototypes.
2284
2285 * ftfont.h [FT_BDF_H]: Include FT_BDF_H.
2286
2287 * font.c (font_make_object): New arg entity and pixelsize.
2288 (font_check_otf_features, font_check_otf): New functions.
2289 (font_match_p): Check :lang, :script, and :otf properties.
2290
2291 * xfont.c (xfont_open): Adjust it for the change of
2292 font_make_object.
2293 (xfont_text_extents): Fix initial setting of metrics.
2294
2295 * ftfont.c (struct ftfont_info): New member index, delete member
2296 fc_charset_idx. Make the member order compatible with struct
2297 xftfont_info.
2298 (fc_charset_table): Change charset names to registry names.
2299 (ftfont_pattern_entity): Delete the args registry and
2300 fc_charset_idx. Change the value of :font-entity property
2301 to (FONTNAME . INDEX). Always set :registry property to
2302 `iso10646-1'.
2303 (struct ftfont_cache_data): New struct.
2304 (ftfont_lookup_cache): New arg for_face.
2305 (ftfont_get_fc_charset, ftfont_get_otf): New functions.
2306 (ftfont_driver): Set the member otf_capability.
2307 (ftfont_get_charset): Adjust it for the change of
2308 fc_charset_table.
2309 (OTF_TAG_SYM): New macro.
2310 (ftfont_spec_pattern): Delete the arg fc_charset_idx. Adjust it
2311 for the change of fc_charset_table.
2312 (ftfont_list): Adjust it for the change of ftfont_spec_pattern and
2313 ftfont_pattern_entity. Add FC_INDEX to objset.
2314 (ftfont_match): Adjust it for the change of ftfont_spec_pattern
2315 and ftfont_pattern_entity.
2316 (ftfont_open): Adjust it for the change of ftfont_lookup_cache,
2317 font_make_object, struct ftfont_info.
2318 (ftfont_has_char): Use ftfont_get_fc_charset.
2319 (ftfont_otf_features, ftfont_otf_capability): New functions.
2320 (ftfont_shape): Use ftfont_get_otf.
2321 (ftfont_text_extents): Fix initial setting of metrics.
2322
2323 * xftfont.c (struct xftfont_info): New member ft_size. Make the
2324 member order compatible with struct ftfont_info.
2325 (xftfont_open): Add FC_CHARSET to the pattern. Set
2326 xftfont_info->ft_size. Don't unlock the face. Check BDF
2327 properties if appropriate.
2328 (xftfont_close): Unlock the face.
2329 (xftfont_anchor_point, xftfont_shape): Deleted.
2330 (syms_of_xftfont): Don't set members anchor_point and shape of
2331 xftfont_driver.
2332
2333 * w32uniscribe.c (uniscribe_open): Adjust it for the change of
2334 font_make_object.
2335
2336 * w32font.c (w32font_open): Adjust it for the change of
2337 font_make_object.
2338 (w32font_open_internal): Don't set properties of font_object here.
2339
2340 2008-07-08 Chong Yidong <cyd@stupidchicken.com>
2341
2342 * macfns.c (x_create_tip_frame):
2343 * w32fns.c (x_create_tip_frame):
2344 * xfns.c (x_create_tip_frame): Pass parameter argument to
2345 face-set-after-frame-default.
2346
2347 * xfaces.c (Finternal_merge_in_global_face): Save merged
2348 attributes for the default face back into the face vector.
2349
2350 2008-07-08 Andreas Schwab <schwab@suse.de>
2351
2352 * fontset.h: Declare fontset_from_font. Don't declare
2353 new_fontset_from_font and fontset_from_font_name.
2354 * xterm.c: Include "fontset.h".
2355 * Makefile.in (xterm.o): Update dependencies.
2356
2357 2008-07-08 Glenn Morris <rgm@gnu.org>
2358
2359 * m/sparc.h: Define __sparc__ rather than sparc. (Bug#507.)
2360 * alloc.c, ecrt0.c: Use __sparc__ rather than sparc.
2361
2362 2008-07-07 Chong Yidong <cyd@stupidchicken.com>
2363
2364 * frame.c (Qinhibit_face_set_after_frame_default): Var deleted.
2365 (x_set_frame_parameters): Don't bind it.
2366
2367 2008-07-07 Juanma Barranquero <lekktu@gmail.com>
2368
2369 * w32fns.c (map_w32_filename): Declare extern.
2370
2371 2008-07-07 Jason Rumney <jasonr@gnu.org>
2372
2373 * w32term.c (WS_EX_LAYERED): Define if not already.
2374
2375 2008-07-06 Chong Yidong <cyd@stupidchicken.com>
2376
2377 * xfaces.c (set_font_frame_param): Don't try to set the font
2378 parameter if it is still unspecified in the lface.
2379
2380 2008-07-05 Chong Yidong <cyd@stupidchicken.com>
2381
2382 * xfaces.c (Finternal_merge_in_global_face): Don't realize default
2383 face if it didn't already exist.
2384
2385 * xdisp.c (try_window_id): Give up if word-wrapping is on.
2386
2387 2008-07-05 Andreas Schwab <schwab@suse.de>
2388
2389 * xdisp.c (get_it_property): Move out of HAVE_WINDOW_SYSTEM section.
2390
2391 2008-07-05 Chong Yidong <cyd@stupidchicken.com>
2392
2393 * xdisp.c (IT_OVERFLOW_NEWLINE_INTO_FRINGE): Turn it off if
2394 word-wrapping.
2395 (IT_DISPLAYING_WHITESPACE): New macro.
2396 (move_it_in_display_line_to): Handle MOVE_TO_X requests properly
2397 when word-wrapping. Simplify word-wrapping logic. Use correct
2398 pixel positions when saving copies of the iterator.
2399 (display_line): Use proper wrap point if the last character on a
2400 line was preceded by whitespace.
2401
2402 2008-07-04 Stefan Monnier <monnier@iro.umontreal.ca>
2403
2404 * Makefile.in (${etc}DOC): Depend on ${lisp} rather than ${shortlisp}.
2405
2406 2008-07-04 Kenichi Handa <handa@m17n.org>
2407
2408 * fns.c (Fstring_to_unibyte): Delete the arg ACCEPT-LATIN-1.
2409
2410 * lisp.h: EXFUN adjusted for the change of Fstring_to_unibyte.
2411
2412 2008-07-02 Jason Rumney <jasonr@gnu.org>
2413
2414 * xfns.c (syms_of_xfns): Only define x-select-font when both
2415 HAVE_FREETYPE and USE_GTK
2416
2417 * xdisp.c (next_element_from_display_vector): Move assignment out
2418 of if statement.
2419
2420 2008-07-02 Toru Tsuneyoshi <t_tuneyosi@hotmail.com>
2421
2422 * lisp.h (Qdelete_file, Qdelete_directory): Declare extern.
2423
2424 * fileio.c (delete_by_moving_to_trash, Qmove_file_to_trash): New vars.
2425 (syms_of_fileio): Initialize and export them.
2426 (Fdelete_directory, Fdelete_file): Optionally delete via trash.
2427
2428 * w32fns.c (FOF_NO_CONNECTED_ELEMENTS): Define if not already.
2429 (Fsystem_move_file_to_trash): New function.
2430 (syms_of_w32fns): Export it to lisp.
2431
2432 2008-07-01 Jason Rumney <jasonr@gnu.org>
2433
2434 * w32font.c (w32font_text_extents): Don't count overhang as part
2435 of width.
2436
2437 2008-06-30 Miles Bader <miles@gnu.org>
2438
2439 * dispextern.h (struct glyph, struct it, struct iterator_stack_entry):
2440 Add `avoid_cursor_p' field.
2441
2442 * xdisp.c (push_it, pop_it): Save/restore avoid_cursor_p field.
2443 (set_cursor_from_row): Skip glyphs with avoid_cursor_p set.
2444 (append_glyph, append_composite_glyph, produce_image_glyph)
2445 (append_stretch_glyph): Initialize avoid_cursor_p.
2446 (get_it_property): Rename from `get_line_height_property'.
2447 (x_produce_glyphs): Use get_it_property.
2448 (handle_line_prefix, push_display_prop): New functions.
2449 (display_line, move_it_in_display_line_to): Handle line/wrap prefixes.
2450 (Vwrap_prefix, Qwrap_prefix, Vline_prefix, Qline_prefix):
2451 New variables.
2452 (syms_of_xdisp): Initialize them.
2453
2454 2008-06-30 Kenichi Handa <handa@m17n.org>
2455
2456 * xftfont.c (xftfont_open): Don't call FcConfigSubstitute and
2457 XftDefaultSubstitute (they are called in XftFontMatch).
2458 (xftfont_open): Fix args to ftfont_font_format.
2459
2460 * ftfont.c (fc_charset_table): New member lang.
2461 (ftfont_resolve_generic_family): New arg pattern.
2462 (ftfont_spec_pattern): Check fc_cahrset_table[]->lang.
2463 (ftfont_list): Call ftfont_resolve_generic_family with `pattern'.
2464 (ftfont_open): Fix args to ftfont_font_format.
2465 (ftfont_font_format): New arg filename.
2466
2467 2008-06-30 Chong Yidong <cyd@stupidchicken.com>
2468
2469 * xfaces.c (Finternal_merge_in_global_face): If default face was
2470 modified, realize it again. Update the font face attribute.
2471
2472 2008-06-29 Jason Rumney <jasonr@gnu.org>
2473
2474 * w32term.c (x_set_frame_alpha): Fix logic.
2475
2476 2008-06-29 Kenichi Handa <handa@m17n.org>
2477
2478 * fontset.c (Finternal_char_font): Return font-object instead of
2479 font-name.
2480
2481 * composite.c (get_composition_id): Fix the width calculation for TAB.
2482
2483 2008-06-29 Stefan Monnier <monnier@iro.umontreal.ca>
2484
2485 * indent.c (Fvertical_motion): Properly handle float column arg.
2486
2487 2008-06-28 Jason Rumney <jasonr@gnu.org>
2488
2489 * w32term.c (pfnGetFontUnicodeRanges): Remove unused function pointer.
2490 (pfnSetLayeredWindowAttributes): New function pointer.
2491 (w32_initialize): Initialize it when supported.
2492 (x_set_frame_alpha): New function.
2493
2494 * w32fns.c (Fx_create_frame): Initialize frame parameter `alpha'.
2495 (w32_frame_parm_handlers): Set alpha handler.
2496
2497 * frame.c (x_set_alpha) [HAVE_NTGUI]: Call x_set_frame_alpha.
2498
2499 2008-06-27 Jason Rumney <jasonr@gnu.org>
2500
2501 * w32fns.c (x_to_w32_font, w32_to_x_font, x_to_w32_weight)
2502 (w32_to_x_weight, w32_to_all_x_charsets): Remove obsolete functions.
2503 (w32_to_x_charset, x_to_w32_charset)
2504 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
2505 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
2506 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
2507 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
2508 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
2509 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
2510 (Qw32_charset_mac, Vw32_charset_info_alist): Move to w32font.c.
2511 (Qw32_charset_unicode): Remove.
2512 (syms_of_w32fns): Update for above changes.
2513
2514 * w32font.c (w32_to_x_charset, x_to_w32_charset)
2515 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
2516 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
2517 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
2518 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
2519 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
2520 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
2521 (Qw32_charset_mac, Vw32_charset_info_alist): Move from w32fns.c.
2522 (syms_of_w32font): Update for above changes.
2523
2524 2008-06-27 Dan Nicolaescu <dann@ics.uci.edu>
2525
2526 * s/usg5-4.h: Fix previous change: keep the correct branch of a
2527 removed #if.
2528 (USG_SHARED_LIBRARIES): Remove duplicate definition.
2529
2530 2008-06-26 Juanma Barranquero <lekktu@gmail.com>
2531 Eli Zaretskii <eliz@gnu.org>
2532
2533 * makefile.w32-in (LOCAL_FLAGS):
2534 Don't include WINDOWSNT, DOS_NT and _UCHAR_T.
2535
2536 * sysdep.c (_spawnlp, _getpid):
2537 Declare with explicit _cdecl instead of _CRTAPI1.
2538
2539 * editfns.c (Fget_internal_run_time):
2540 Check for WINDOWSNT with #ifdef, not #if.
2541
2542 2008-06-26 Jason Rumney <jasonr@gnu.org>
2543
2544 * w32font.h (FONT_HANDLE, FONT_TEXTMETRIC): New macros.
2545
2546 * w32term.c (x_draw_glyph_string_foreground)
2547 (x_draw_composite_glyph_string_foreground): Sync with xterm.c.
2548 Use FONT_HANDLE macro.
2549 (x_draw_glyph_string): Use FONT_TEXTMETRIC macro.
2550
2551 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
2552 (uniscribe_encode_char): Use FONT_HANDLE macro.
2553
2554 * w32font.c (Fx_select_font): Use FONT_HANDLE macro.
2555 (w32font_text_extents): Use precast w32_font.
2556 (w32font_close): Free cached metrics.
2557 (w32font_open_internal): Allocate space for name on stack.
2558
2559 2008-06-26 Chong Yidong <cyd@stupidchicken.com>
2560
2561 * xdisp.c (extend_face_to_end_of_line): Fix last change.
2562
2563 2008-06-26 Jason Rumney <jasonr@gnu.org>
2564
2565 * w32term.h (FONT_AVG_WIDTH): Remove obsolete macro.
2566 (CP_8BIT, CP_UNICODE, CP_UNKNOWN): Remove obsolete constants.
2567
2568 2008-06-26 Juanma Barranquero <lekktu@gmail.com>
2569
2570 * Makefile.in (SOME_MACHINE_OBJECTS): Remove w32bdf.o.
2571
2572 2008-06-26 Jason Rumney <jasonr@gnu.org>
2573
2574 * w32bdf.c, w32bdf.h: Remove obsolete files.
2575
2576 * makefile.w32-in: Remove refs to w32bdf.h and w32bdf.c.
2577
2578 * w32gui.h: Don't include w32bdf.h.
2579 (XCharStruct, enum w32_char_font_type, W32FontStruct):
2580 Remove obsolete font support.
2581
2582 * w32font.h (struct w32font_info): Remove compat_w32_font.
2583 Add hfont member.
2584 (FONT_COMPAT): Remove obsolete macro.
2585
2586 * w32font.c (w32font_close): Remove compat code. Delete hfont member.
2587 (w32font_encode_char, w32font_text_extents): Use new hfont member.
2588 (w32font_open_internal): Remove compat code. Set new hfont member.
2589 (Fx_select_font): Use new hfont member.
2590
2591 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
2592 (uniscribe_encode_char): Use new hfont member.
2593
2594 * w32term.c (x_draw_glyph_string_foreground)
2595 (x_draw_composite_glyph_string_foreground): Use new hfont member.
2596 (x_draw_glyph_string): Use metrics in w32font_info.
2597
2598 2008-06-26 Kenichi Handa <handa@m17n.org>
2599
2600 * xdisp.c (handle_auto_composed_prop): Fix for the terminal case.
2601
2602 2008-06-26 Dan Nicolaescu <dann@ics.uci.edu>
2603
2604 * unexnext.c:
2605 * m/ews4800.h:
2606 * m/hp9000s300.h:
2607 * m/ibm370aix.h:
2608 * m/mips-siemens.h:
2609 * m/ncr386.h:
2610 * m/next.h:
2611 * m/pmax.h:
2612 * m/powerpcle.h:
2613 * m/tandem-s2.h:
2614 * s/386bsd.h:
2615 * s/bsd386.h:
2616 * s/bsd4-1.h:
2617 * s/bsd4-2.h:
2618 * s/bsdos2-1.h:
2619 * s/bsdos2.h:
2620 * s/bsdos3.h:
2621 * s/bsdos4.h:
2622 * s/nextstep.h:
2623 * s/ultrix4-3.h:
2624 * s/usg5-0.h:
2625 * s/usg5-2-2.h:
2626 * s/usg5-2.h:
2627 * s/usg5-4-3.h:
2628 * s/ux4800.h:
2629 * s/uxpds.h:
2630 * s/uxpv.h: Remove support for obsolete systems.
2631 * s/hpux.h, s/hpux10.h, s/hpux8.h, s/hpux9.h, s/hpux9shr.h:
2632 Remove, insert contents in s/hpux-10.20.h.
2633 * s/aix3-1.h, s/aix3-2-5.h, s/aix3-2.h, s/aix4-1.h, s/aix4.h:
2634 Remove, insert contents in s/aix4-2.h.
2635 * s/usg5-3.h: Remove, insert contents in s/usg5-4.h.
2636 * s/bsd4-3.h: Rename to ...
2637 * s/bsd-common.h: ... this.
2638 * data.c:
2639 * doc.c:
2640 * ecrt0.c:
2641 * emacs.c:
2642 * fileio.c:
2643 * floatfns.c:
2644 * keyboard.c:
2645 * mem-limits.h:
2646 * print.c:
2647 * process.c:
2648 * sysdep.c:
2649 * syssignal.h:
2650 * systty.h:
2651 * syswait.h:
2652 * term.c:
2653 * unexec.c:
2654 * unexelf.c:
2655 * unexhp9k800.c:
2656 * m/hp800.h:
2657 * m/ibmrs6000.h:
2658 * m/mips.h:
2659 * m/vax.h:
2660 * s/darwin.h:
2661 * s/freebsd.h:
2662 * s/gnu.h:
2663 * s/ms-w32.h:
2664 * s/msdos.h:
2665 * s/netbsd.h:
2666 * s/template.h: Remove references to obsolete variables.
2667
2668 * Makefile.in: Add dependencies for all unexec files.
2669 (admindir): Remove unused variable.
2670 (UNEXEC_SRC): Remove references.
2671
2672 2008-06-25 Chong Yidong <cyd@stupidchicken.com>
2673
2674 * xfns.c (x_default_font_parameter): If Xft is available, first
2675 try Monospace-12 for the default font.
2676
2677 2008-06-25 Jason Rumney <jasonr@gnu.org>
2678
2679 * xdisp.c (get_glyph_face_and_encoding): Encode invalid glyphs as 0.
2680
2681 2008-06-25 Stefan Monnier <monnier@iro.umontreal.ca>
2682
2683 * bytecode.c (Fbyte_code): Disable debugging code that doesn't compile.
2684
2685 * buffer.c (syms_of_buffer): Remove default-word-wrap.
2686
2687 2008-06-25 Juanma Barranquero <lekktu@gmail.com>
2688
2689 * xdisp.c (syms_of_xdisp) <truncate-partial-width-windows>: Doc fix.
2690 <scroll-conservatively>: Fix typo in docstring.
2691
2692 * xselect.c (Fx_send_client_event): Doc fix.
2693
2694 2008-06-25 Kenichi Handa <handa@m17n.org>
2695
2696 * xfaces.c (Fx_list_fonts): Call Flist_fonts with the arg PREFER.
2697
2698 * font.c (font_parse_fcname): Remove unused variables.
2699 (font_sort_entites): Delete the arg SPEC. Caller changed.
2700 Fix for the case of ! best_only.
2701 (font_delete_unmatched): Check DPI and AVGWIDTH too.
2702
2703 * lisp.h (Fstring_to_unibyte): EXFUN it.
2704
2705 * character.h (str_to_unibyte): Extern it.
2706
2707 * character.c (str_to_unibyte): New function.
2708
2709 * fns.c (Fstring_to_unibyte): New function.
2710 (syms_of_fns): Defsubr it.
2711
2712 2008-06-24 Kenichi Handa <handa@m17n.org>
2713
2714 * font.c (font_score): Even if the PIXEL_SIZE is the same, check
2715 DPI too.
2716 (font_sort_entites): Setup prefer_prop[FONT_DPI_INDEX] too.
2717
2718 2008-06-24 Andreas Schwab <schwab@suse.de>
2719
2720 * Makefile.in (${lispsource}loaddefs.el): Rename from
2721 ../lisp/loaddefs.el.
2722 (bootstrap-clean): Do what distclean does but don't remove
2723 Makefile.
2724 (distclean): Depend on bootstrap-clean and remove Makefile.
2725
2726 2008-06-24 Chong Yidong <cyd@stupidchicken.com>
2727
2728 * buffer.h (struct buffer): New member word_wrap.
2729
2730 * buffer.c (syms_of_buffer): New variables default-word-wrap and
2731 word-wrap.
2732 (init_buffer_once): Initialize them.
2733
2734 * dispextern.h (struct it): Replace bool truncate_lines_p with a
2735 line_wrap enum possessing three possible values.
2736
2737 * termopts.h: Replace truncate_partial_width_windows with
2738 Vtruncate_partial_width_windows.
2739
2740 * dispnew.c (direct_output_for_insert): Avoid direct output when
2741 inserting a space with word wrap on.
2742
2743 * indent.c (compute_motion): Obey integer values of
2744 truncate-partial-width-windows.
2745
2746 * xdisp.c (Vtruncate_partial_width_windows): New Lisp_Object,
2747 replacing truncate_partial_width_windows.
2748 (init_iterator): If Vtruncate_partial_width_windows is an integer,
2749 truncate only if the window width is below that integer.
2750 (start_display, resize_mini_window, produce_stretch_glyph)
2751 (display_string, move_it_in_display_line_to): Use line_wrap.
2752 (back_to_previous_visible_line_start, reseat_1): Reset
2753 string_from_display_prop_p.
2754 (display_line): Extend default face to end of line when wrapping.
2755
2756 2008-06-24 Kim F. Storm <storm@cua.dk>
2757
2758 * xdisp.c (display_line, move_it_in_display_line_to): Add ability
2759 to wrap continued lines at word boundaries.
2760
2761 2008-06-24 Jason Rumney <jasonr@gnu.org>
2762
2763 * font.c (Ffont_face_attributes): Multiply pixel size before point
2764 conversion to avoid multiplying rounding error.
2765
2766 2008-06-23 Jason Rumney <jasonr@gnu.org>
2767
2768 * w32term.c (x_draw_glyph_string_background)
2769 (x_draw_glyph_string): Remove old bdf font code.
2770
2771 * w32term.h (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): Remove.
2772
2773 2008-06-22 Kenichi Handa <handa@m17n.org>
2774
2775 * font.c (font_find_for_lface): Try the adstyle specified in
2776 the property of LFACE_FONT of LFACE (if any).
2777
2778 2008-06-21 Seiji Zenitani <zenitani@mac.com>
2779 Ryo Yoshitake <ryo@shiftmode.net>
2780
2781 * xterm.c (x_set_frame_alpha): Add x_catch_errors for bug#437.
2782
2783 2008-06-22 Stefan Monnier <monnier@iro.umontreal.ca>
2784
2785 * Makefile.in (${lisp} ${SOME_MACHINE_LISP}, ../lisp/loaddefs.el):
2786 Use $(BOOTSTRAPEMACS) rather than witness-emacs.
2787 (bootstrap-emacs${EXEEXT}): Merge witness-emacs into it.
2788 (witness-emacs): Remove.
2789 (lisp, shortlisp): Move loaddefs.el earlier.
2790 (mostlyclean): Forget about witness-emacs.
2791
2792 2008-06-22 Glenn Morris <rgm@gnu.org>
2793
2794 * Makefile.in (witness-emacs): Depend on temacs${EXEEXT}.
2795 (.SUFFIXES): Declare .el.elc as a suffix rule, for non-GNU makes.
2796
2797 2008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
2798
2799 * Makefile.in (PRECOMP): Remove.
2800 (${lisp} ${SOME_MACHINE_LISP}): Remove pseudo dependency on PRECOMP.
2801 (witness-emacs): Run `compile-first'.
2802 (.el.elc): Use the new compile-onefile target.
2803
2804 2008-06-21 Kenichi Handa <handa@m17n.org>
2805
2806 * xftfont.c (xftfont_open): Handle QCembolden only when
2807 FC_EMBOLDEN is defined.
2808
2809 2008-06-21 Andreas Schwab <schwab@suse.de>
2810
2811 * Makefile.in (witness-emacs): Use ../lisp, not $(lispsource).
2812 (.el.elc): Likewise.
2813
2814 2008-06-21 Miles Bader <miles@gnu.org>
2815
2816 * Makefile.in (../lisp/loaddefs.el): Build autoloads in the lisp
2817 build dir, not the lisp source dir.
2818
2819 2008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
2820
2821 * Makefile.in (emacs${EXEEXT}): Link the new emacs to bootstrap-emacs.
2822 (bootstrapclean): Remove.
2823 (.el.elc): New rule.
2824 (PRECOMP): New var.
2825 (../lisp/subdirs.el): Remove.
2826 (bootstrap-emacs${EXEEXT}): Remove subdirs.el and charpro.el dependency.
2827 (witness-emacs): New target.
2828 (mostlyclean): Remove witness-emacs as well.
2829 (../lisp/loaddefs.el, ${lisp} ${SOME_MACHINE_LISP}):
2830 Add witness-emacs dependency.
2831
2832 2008-06-20 Chong Yidong <cyd@stupidchicken.com>
2833
2834 * font.c (Ffont_face_attributes): Omit key-attribute pairs not
2835 defined by the font.
2836
2837 2008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
2838
2839 * Makefile.in (emacs${EXEEXT}): Depend on the machine-specific files.
2840 (bootstrap-clean): New target that keeps TAGS around.
2841 (../lisp/subdirs.el, ../lisp/loaddefs.el): New targets.
2842 (bootstrap-emacs${EXEEXT}): Depend on subdirs.el.
2843
2844 2008-06-20 Jason Rumney <jasonr@gnu.org>
2845
2846 * w32fns.c, w32term.c, w32term.h, w32gui.h [OLD_FONT]:
2847 Remove obsolete font code.
2848
2849 * w32font.c (font_matches_spec): Use csb bitfield from font signature
2850 to determine language support.
2851
2852 2008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
2853
2854 * sysdep.c (cfsetspeed): New fun extracted from the code.
2855 (cfmakeraw): Move before first use.
2856
2857 2008-06-20 Angelo Graziosi <angelo.graziosi@alice.it> (tiny change)
2858
2859 * sysdep.c (cfmakeraw): Provide fallback implementation.
2860 (serial_configure): Provide fallback implementation of cfsetspeed.
2861
2862 2008-06-20 Kenichi Handa <handa@m17n.org>
2863
2864 * xftfont.c (xftfont_open): Add FOUNDRY, SPACING, DPI, SCALABLE to
2865 the pattern.
2866
2867 * fontset.c (fontset_from_font): Copy font_spec before changing
2868 the elements.
2869
2870 * xfns.c (x_default_font_parameter): Try "monospace-12" too.
2871
2872 2008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
2873
2874 * w32fns.c, xfnc.c (x_default_font_parameter): Only set `font-param'
2875 for explicit `font' parameters.
2876
2877 * frame.c (x_set_font): Remove unexplained call to fix inf-recursion.
2878
2879 2008-06-19 Kenichi Handa <handa@m17n.org>
2880
2881 * frame.c: Include <ctype.h>.
2882 (x_set_font_backend): Allow spacing characters in the X resource
2883 for FontBackend.
2884
2885 2008-06-19 Stefan Monnier <monnier@iro.umontreal.ca>
2886
2887 * w32fns.c, xfns.c (Qfont_param): New var.
2888 (syms_of_w32fns): Initialize it.
2889 (x_default_font_parameter): Record explicit `font' into
2890 `font-parameter'.
2891
2892 2008-06-18 Kenichi Handa <handa@m17n.org>
2893
2894 * font.c (font_parse_xlfd): Fix previous change.
2895 (font_parse_fcname): Don't use :fc-unknown-spec.
2896 (FRAME_X_DISPLAY_INFO): Besure to have at least 1 pixel height.
2897 (Fcopy_font_spec): Preserve the order of elements in FONT_EXTRA.
2898 (font_add_log): Prepend the driver name to the resulting fonts.
2899
2900 * ftfont.c (ftfont_pattern_entity): New arg extra. Caller changed.
2901 (ftfont_spec_pattern): Don't check QCfc_unknown_spec and QCname.
2902 (ftfont_list) [FC_FONTFORMAT]: Include FC_FONTFORMAT in objset.
2903
2904 * xftfont.c (QChinting , QCautohint, QChintstyle, QCrgba)
2905 (QCembolden): New variables.
2906 (syms_of_xftfont): DEFSYM them.
2907 (xftfont_open): Call XftFontMatch. Don't trust the result of
2908 XftTextExtents8 if the pixel_size is less than 5.
2909
2910 2008-06-18 Andreas Schwab <schwab@suse.de>
2911
2912 * font.c (Ffont_face_attributes): Only define if HAVE_WINDOW_SYSTEM.
2913 (syms_of_font): Only defsubr if HAVE_WINDOW_SYSTEM.
2914
2915 2008-06-18 Jason Rumney <jasonr@gnu.org>
2916
2917 * w32font.c (w32font_list, w32font_match): Add logging.
2918
2919 * w32uniscribe.c (uniscribe_list, uniscribe_match): Add logging.
2920
2921 2008-06-17 Chong Yidong <cyd@stupidchicken.com>
2922
2923 * font.c (font_parse_fcname): Store divider characters for
2924 unknown-spec list. For known key symbols, intern using correct
2925 symbol name.
2926
2927 2008-06-17 Kenichi Handa <handa@m17n.org>
2928
2929 * xfaces.c (realize_default_face): If the frame is not on window
2930 system, set the fontset of face to nil.
2931
2932 2008-06-17 Naohiro Aota <nao.aota@gmail.com> (tiny change)
2933
2934 * fontset.c (fontset_pattern_regexp): Escape some reg-expr characters.
2935
2936 2008-06-16 Juanma Barranquero <lekktu@gmail.com>
2937
2938 * dispextern.h (lookup_non_ascii_face, split_font_name_into_vector)
2939 (build_font_name_from_vector): Delete externs.
2940
2941 * xfaces.c (struct font_name): Don't declare.
2942
2943 2008-06-16 Stefan Monnier <monnier@iro.umontreal.ca>
2944
2945 * font.c (font_unparse_gtkname): Use EQ to compare Lisp_Objects.
2946
2947 2008-06-16 Chong Yidong <cyd@stupidchicken.com>
2948
2949 * font.c (font_parse_fcname): Fix handling of unknown-spec string.
2950
2951 2008-06-16 Juanma Barranquero <lekktu@gmail.com>
2952
2953 * font.c (Ffont_spec): Fix usage in docstring.
2954 (Ffont_face_attributes): Doc fix.
2955
2956 2008-06-16 Andreas Schwab <schwab@suse.de>
2957
2958 * font.c (Ffont_face_attributes): Fix definition.
2959
2960 2008-06-16 Jason Rumney <jasonr@gnu.org>
2961
2962 * font.h (font_style_symbolic_from_value): Remove.
2963
2964 * font.c (font_style_symbolic_from_value): Remove.
2965 (font_style_symbolic): Revert to pre 2008-06-13 version.
2966
2967 * w32font.c (w32_to_fc_weight): New function.
2968 (w32font_full_name, logfont_to_fcname): Use it.
2969
2970 2008-06-16 Kenichi Handa <handa@m17n.org>
2971
2972 * font.c (font_check_object): Delete it.
2973 (font_clear_cache): Check if a font-object is alive.
2974 (font_open_entity): Likewise. Set FONT_OBJLST_INDEX of a
2975 font-object to nil.
2976 (font_close_object): Don't check FONT_CLOSE_OBJECT.
2977 (font_at): Don't call font_check_object.
2978 (Ffont_get): Return a symbol for :weight, :slant, and :width.
2979
2980 2008-06-16 Katsumi Yamaoka <yamaoka@jpl.org>
2981
2982 * puresize.h (BASE_PURESIZE): Increase to 1230000.
2983
2984 2008-06-16 Chong Yidong <cyd@stupidchicken.com>
2985
2986 * font.c (font_parse_fcname): Correctly parse KEY=VAL values.
2987
2988 2008-06-15 Chong Yidong <cyd@stupidchicken.com>
2989
2990 * font.c (font_parse_fcname): Only one decimal point.
2991 (font_unparse_fcname): Handle data in family and foundry indices
2992 as symbols, not strings.
2993 (font_unparse_gtkname, Ffont_face_attributes): New functions.
2994
2995 * xfns.c (Fx_select_font): Give GTK font dialog the default font name.
2996
2997 * font.h (font_unparse_gtkname): Add prototype.
2998
2999 2008-06-15 Naohiro Aota <nao.aota@gmail.com> (tiny change)
3000
3001 * fontset.c (fontset_pattern_regexp): Escape `+' characters in pattern.
3002
3003 2008-06-15 Andreas Schwab <schwab@suse.de>
3004
3005 * font.c (font_update_drivers): Fix crash when no drivers match.
3006
3007 2008-06-15 Stefan Monnier <monnier@iro.umontreal.ca>
3008
3009 * xfns.c (Fx_create_frame): internal-border-width default to 0 for Gtk.
3010 * gtkutil.c (xg_create_frame_widgets): Don't set internal_border_width.
3011
3012 2008-06-14 Stefan Monnier <monnier@iro.umontreal.ca>
3013
3014 * xdisp.c (syms_of_xdisp): Default underline-minimum-offset to 1.
3015
3016 2008-06-13 Stefan Monnier <monnier@iro.umontreal.ca>
3017
3018 * process.c (Fserial_process_configure, Fprocess_send_eof):
3019 Use EQ to compare Lisp_Objects.
3020
3021 2008-06-13 Jason Rumney <jasonr@gnu.org>
3022
3023 * w32fns.c (Fw32_select_font): Remove old font API function.
3024
3025 * w32font.c (logfont_to_fcname): New function.
3026 (Fx_select_font): New font dialog function compatible with
3027 GTK/fontconfig version.
3028
3029 * font.c (font_style_symbolic_from_value): New function.
3030 (font_style_symbolic): Use it.
3031
3032 * font.h (font_style_symbolic_from_value): Declare new function.
3033
3034 2008-06-13 Juanma Barranquero <lekktu@gmail.com>
3035
3036 * font.c (syms_of_font) <font-weight-table, font-slant-table>:
3037 <font-width-table>: Fix typos in docstrings.
3038
3039 2008-06-13 Daniel Engeler <engeler@gmail.com>
3040
3041 These changes add serial port access.
3042 * process.c: Add HAVE_SERIAL.
3043 (Fdelete_process, Fprocess_status, Fset_process_buffer)
3044 (Fset_process_filter, Fset_process_sentinel, Fprocess_contact)
3045 (list_processes_1, select_wrapper, Fstop_process)
3046 (Fcontinue_process, Fprocess_send_eof, kill_buffer_processes)
3047 (status_notify): Modify to handle serial processes.
3048 [HAVE_SERIAL] (Fserial_process_configure)
3049 [HAVE_SERIAL] (make_serial_process_unwind, Fmake_serial_process):
3050 New functions.
3051 * process.h (struct Lisp_Process): Add `type'.
3052 * sysdep.c [HAVE_TERMIOS] (serial_open, serial_configure):
3053 New functions.
3054 * w32.c (_sys_read_ahead, sys_read, sys_write): Modify to handle
3055 serial ports.
3056 (serial_open, serial_configure) New functions.
3057 * w32.h: Add FILE_SERIAL.
3058 (struct _child_process): Add ovl_read, ovl_write.
3059
3060 2008-06-13 Kenichi Handa <handa@m17n.org>
3061
3062 * dispextern.h (enum lface_attribute_index): New member
3063 LFACE_FOUNDRY_INDEX.
3064
3065 * font.c (font_score): Delete arg alternate_families. Check only
3066 weight, slant, width, and size. Ignore the difference of alias
3067 style symbols.
3068 (font_sort_entites): Adjust for the above change. Reflect the
3069 order of font-driver to scores.
3070 (font_list_entities): Don't check alternate_familes here.
3071 (font_clear_prop): Handle foundry.
3072 (font_update_lface): Don't parse "foundry-family" form here.
3073 Handle FONT_FOUNDRY_INDEX.
3074 (font_find_for_lface): Likewise. Handle alternate families here.
3075 If registry is nil, try iso8859-1 and ascii-0.
3076 (font_open_for_lface): Pay attention to size in ENTITY.
3077 (font_open_by_name): Simplify by calling font_load_for_lface.
3078 (free_font_driver_list): Delete it.
3079 (font_update_drivers): Preserve the order of backends.
3080 (syms_of_font): Setting of sort_shift_bits adjusted for the change
3081 of font_score and font_sort_entites.
3082 (font_update_sort_order): Likewise.
3083
3084 * xfaces.c (LFACE_FOUNDRY): New macro.
3085 (check_lface_attrs): Check foundry.
3086 (set_lface_from_font): Don't parse "FOUNDRY-FAMILY" form.
3087 (merge_face_vectors): Check foundry.
3088 (merge_face_ref): Likewise.
3089 (Finternal_set_lisp_face_attribute): Likewise.
3090 (x_update_menu_appearance): Likewise.
3091 (Finternal_get_lisp_face_attribute): Likewise.
3092 (lface_hash): Likewise.
3093 (lface_same_font_attributes_p): Likewise.
3094 (x_supports_face_attributes_p): Likewise.
3095 (tty_supports_face_attributes_p): Likewise.
3096 (Finternal_set_alternative_font_family_alist): Intern strings.
3097 (Finternal_set_alternative_font_registry_alist): Downcase strings.
3098 (realize_default_face): Set LFACE_FOUNDRY (lface).
3099
3100 * xfns.c (Fx_create_frame, x_create_tip_frame): Register X
3101 font-driver at first.
3102
3103 * ftfont.c (ftfont_font_format) [! FC_FONTFORMAT]: Declare "int len;".
3104
3105 2008-06-12 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
3106
3107 * lread.c (Fload): Use xfree, not free on saved_doc_string.
3108
3109 2008-06-12 Jim Meyering <meyering@redhat.com>
3110
3111 Make unexec_free handle NULL the same way free does.
3112 * unexmacosx.c (unexec_free): Ignore a NULL argument.
3113
3114 2008-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
3115
3116 * character.h (CHAR_TO_BYTE_SAFE): New macro.
3117 * character.c (Fmultibyte_char_to_unibyte): Obey the docstring.
3118 * regex.c (RE_CHAR_TO_UNIBYTE): Use the new macro.
3119 (WEAK_ALIAS): Simplify.
3120 * syntax.c (skip_chars): Don't mark non-byte chars in the fastmap
3121 when searching a unibyte buffer.
3122
3123 2008-06-12 Chong Yidong <cyd@stupidchicken.com>
3124
3125 * xfns.c (Fx_select_font): Rename from x-font-dialog.
3126
3127 2008-06-12 Juanma Barranquero <lekktu@gmail.com>
3128
3129 * w32font.c: Include ctype.h.
3130
3131 2008-06-11 Jason Rumney <jasonr@gnu.org>
3132
3133 * w32font.c (w32font_encode_char): Detect missing glyphs that are
3134 misreported as space.
3135 (add_font_entity_to_list): Support unicode-bmp and unicode-sip
3136 as aliases for registry iso10646-1.
3137
3138 2008-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
3139
3140 * buffer.c (clone_per_buffer_values): Skip `name'.
3141
3142 2008-06-11 Chong Yidong <cyd@stupidchicken.com>
3143
3144 * font.c (font_parse_fcname): Fix last change; accept decimal
3145 points in font size.
3146
3147 2008-06-10 Jason Rumney <jasonr@gnu.org>
3148
3149 * w32uniscribe.c (add_opentype_font_name_to_list):
3150 Skip non unicode fonts.
3151
3152 2008-06-10 Chong Yidong <cyd@stupidchicken.com>
3153
3154 * xfns.c (Fx_font_dialog): New function.
3155
3156 * gtkutil.c (xg_dialog_response_cb): Rename from
3157 xg_file_response_callback.
3158 (pop_down_dialog): Rename from pop_down_file_dialog.
3159 (xg_get_file_name): Callers changed.
3160 (xg_get_font_name): New function.
3161
3162 * gtkutil.h (xg_get_font_name): Insert prototype.
3163
3164 2008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
3165
3166 * xdisp.c (underline_minimum_offset): Rename from xterm.c's
3167 x_underline_minimum_display_offset.
3168 (syms_of_xdisp): Declare it here rather than in xterm.c.
3169 * dispextern.h (underline_minimum_offset): Declare it.
3170 * w32term.c (x_draw_glyph_string): Use it.
3171 * xterm.c (x_underline_minimum_display_offset): Move to xdisp.c.
3172 (syms_of_xterm): Don't declare it any more.
3173 (x_draw_glyph_string): Adjust to the new name.
3174
3175 2008-06-10 David De La Harpe Golden <david@harpegolden.net> (tiny change)
3176
3177 * xterm.c (x_underline_minimum_display_offset): New var.
3178 (x_draw_glyph_string): Use it.
3179 (syms_of_xterm): Declare it.
3180
3181 2008-06-10 Chong Yidong <cyd@stupidchicken.com>
3182
3183 * font.c (font_parse_fcname): Accept GTK-style font names too.
3184
3185 2008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
3186
3187 * dired.c (file_name_completion): Don't return t if the match is exact
3188 but with different capitalization.
3189 * minibuf.c (Ftry_completion): Simplify.
3190
3191 * window.c (Vwindow_point_insertion_type): New var.
3192 (set_window_buffer): Use it.
3193 (syms_of_window): Init and export it to Lisp.
3194
3195 2008-06-10 Kenichi Handa <handa@m17n.org>
3196
3197 * font.h (font_intern_prop): Prototype adjusted.
3198
3199 * font.c (font_intern_prop): New arg force_symbol.
3200 (font_parse_xlfd, font_parse_fcname, font_parse_family_registry):
3201 Adjust for the change of font_intern_prop.
3202
3203 * ftfont.c (ftfont_pattern_entity):
3204 * w32font.c (add_font_name_to_list, w32_enumfont_pattern_entity)
3205 (w32_registry):
3206 * w32uniscribe.c (add_opentype_font_name_to_list): Adjust for
3207 the change of font_intern_prop.
3208
3209 2008-06-09 Juanma Barranquero <lekktu@gmail.com>
3210
3211 * w32menu.c (digest_single_submenu): Declare extern.
3212
3213 2008-06-09 Jason Rumney <jasonr@gnu.org>
3214
3215 * w32term.c (x_make_frame_visible): Use alternate restore flags.
3216
3217 * w32menu.c (Fx_popup_menu): Unwind protect while building menu.
3218 (parse_single_submenu): Remove.
3219 (digest_single_submenu): Remove.
3220 (syms_of_w32menu): Don't initialise variables that have moved
3221 to menu.c.
3222 (set_frame_menubar): Sync with version in xmenu.c.
3223 (w32_menu_show): Sync with xmenu_show in xmenu.c.
3224
3225 * menu.c (single_keymap_panes, push_menu_pane, push_menu_item):
3226 Make static again.
3227
3228 2008-06-09 Jason Rumney <jasonr@gnu.org>
3229
3230 Changes to w32 files related to the move of common menu code
3231 to menu.c on 2008-06-08 by Chong Yidong.
3232
3233 * menu.c [HAVE_NTGUI]: Include w32term.h, move widget related
3234 defs to w32gui.h.
3235 (single_keymap_panes, push_menu_item, push_menu_pane):
3236 Make globally visible.
3237
3238 * w32menu.c (enum button_type, widget_value, local_heap, local_alloc)
3239 (local_free, malloc_widget_value, free_widget_value)
3240 (MENU_ITEMS_ITEM_NAME, MENU_ITEMS_ITEM_ENABLE, MENU_ITEMS_ITEM_VALUE)
3241 (MENU_ITEMS_ITEM_EQUIV_KEY, MENU_ITEMS_ITEM_DEFINITION)
3242 (MENU_ITEMS_ITEM_TYPE, MENU_ITEMS_ITEM_SELECTED, MENU_ITEMS_ITEM_HELP)
3243 (MENU_ITEMS_ITEM_LENGTH, enum menu_item_idx): Remove defs.
3244 (menu_items, menu_items_allocated, menu_items_used)
3245 (menu_items_n_panes, menu_items_submenu_depth): Remove global vars.
3246 (init_menu_items, finish_menu_items, discard_menu_items)
3247 (grow_menu_items, push_submenu_start, push_submenu_end)
3248 (push_left_right_boundary, push_menu_pane, push_menu_item)
3249 (keymap_panes, single_keymap_panes, list_of_panes, list_of_items)
3250 (free_menubar_widget_tree_value, parse_single_submenu)
3251 (update_submenu_strings): Remove functions.
3252 (xmalloc_widget_value): Remove and declare extern.
3253
3254 * makefile.w32-in ($(SRC)/menu.$(O)): New target.
3255 (OBJ1): Build it.
3256
3257 * w32gui.h (widget_value, XtPointer, Boolean, enum button_type)
3258 (local_heap, local_alloc, local_free, malloc_widget_value)
3259 (free_widget_value): Define here.
3260
3261 2008-06-09 Kenichi Handa <handa@m17n.org>
3262
3263 * font.h (Qascii_0): Extern it.
3264
3265 * font.c (Qascii_0): New variable.
3266 (syms_of_font): DEFSYM it.
3267 (font_open_by_name): If the registry "iso8859-1" fails, try also
3268 "ascii-0".
3269
3270 * ftfont.c (ftfont_spec_pattern): Accept the registry `ascii-0'.
3271
3272 2008-06-08 Kenichi Handa <handa@m17n.org>
3273
3274 * .gdbinit (xfont): New command.
3275
3276 2008-06-08 Andreas Schwab <schwab@suse.de>
3277
3278 * menu.c [HAVE_X_WINDOWS]: Include "xterm.h".
3279 * Makefile.in (menu.o): Update dependencies.
3280
3281 * Makefile.in (obj): Always add menu.o.
3282 * emacs.c (main): Always call syms_of_menu.
3283 * keyboard.h: Remove extra #ifdef HAVE_X_WINDOW.
3284
3285 2008-06-08 Chong Yidong <cyd@stupidchicken.com>
3286
3287 * Makefile.in: Compile menu.c.
3288
3289 * lisp.h: Declare syms_of_menu.
3290
3291 * emacs.c (main): Call syms_of_menu.
3292
3293 * keyboard.h: Relocate platform-independent menu definitions from
3294 xmenu.c.
3295
3296 * menu.c: New file. Relocate platform-independent menu
3297 definitions from xmenu.c. Suggested by Adrian Robert.
3298
3299 * xmenu.c: Remove platform-independent menu definitions.
3300 (menu_items menu_items_inuse, menu_items_allocated)
3301 (menu_items_used, menu_items_n_panes)
3302 (menu_items_submenu_depth): Move to keyboard.h.
3303 (init_menu_items, finish_menu_items, unuse_menu_items)
3304 (discard_menu_items, restore_menu_items, save_menu_items)
3305 (grow_menu_items, push_submenu_start, push_submenu_end)
3306 (push_left_right_boundary, push_menu_pane, push_menu_item)
3307 (keymap_panes, single_keymap_panes, single_menu_item)
3308 (list_of_panes, list_of_items, find_and_call_menu_selection)
3309 (xmalloc_widget_value, free_menubar_widget_value_tree)
3310 (parse_single_submenu, digest_single_submenu)
3311 (update_submenu_strings): Move to menu.c.
3312
3313 2008-06-07 Stefan Monnier <monnier@iro.umontreal.ca>
3314
3315 * dispnew.c (Flast_nonminibuf_frame): Handle the NULL case.
3316
3317 2008-06-06 Miles Bader <miles@gnu.org>
3318
3319 * xdisp.c (x_produce_glyphs): Calculate tab width based on current
3320 face, not frame default.
3321
3322 2008-06-05 Martin Rudalics <rudalics@gmx.at>
3323
3324 * window.c (pop_up_windows, pop_up_frames)
3325 (display_buffer_reuse_frames, Vpop_up_frame_function)
3326 (Vdisplay_buffer_function, Veven_window_heights)
3327 (Vspecial_display_buffer_names, Vspecial_display_regexps)
3328 (Vspecial_display_function, Vsame_window_buffer_names)
3329 (Vsame_window_regexps, split_height_threshold)
3330 (Vsplit_window_preferred_function): Move those vars to window.el.
3331 (display_buffer_1, Fspecial_display_p, Fsame_window_p)
3332 (Fdisplay_buffer): Move those functions to window.el.
3333 (syms_of_window): Remove corresponding declarations.
3334 (display_buffer): New function.
3335 (temp_output_buffer_show, Fother_window_for_scrolling): Use it.
3336 * dispnew.c (Flast_nonminibuf_frame): New function.
3337 * buffer.c (Fpop_to_buffer): Move to window.el.
3338
3339 2008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
3340
3341 * data.c (set_internal): Fix up call to let_shadows_buffer_binding_p.
3342
3343 2008-06-05 Kenichi Handa <handa@m17n.org>
3344
3345 * coding.c (detect_coding): Fix previous change.
3346 (detect_coding_system): Likewise.
3347
3348 2008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
3349
3350 * character.h (MAKE_CHAR_MULTIBYTE): Check the arg is a (uni)byte.
3351
3352 * keymap.c (Vminibuffer_local_filename_must_match_map):
3353 Rename from Vminibuffer_local_must_match_filename_map.
3354 (syms_of_keymap):
3355 * minibuf.c (Fcompleting_read): Adjust accordingly.
3356 * commands.h: Rename declaration as well.
3357
3358 2008-06-05 Kenichi Handa <handa@m17n.org>
3359
3360 * font.c (Ffont_spec): Don't use font_parse_family_registry for
3361 family name.
3362 (Ffont_put): Likewise.
3363
3364 * fontset.c (fontset_find_font): Call font_open_for_lface with the
3365 current font-spec.
3366
3367 * xfont.c (xfont_list): Don't set registry to iso8859-1 even if it
3368 is unspecified.
3369
3370 * xfaces.c (realize_x_face): If the font-related face attributes
3371 are the same as those of default face, realize a new fontset from
3372 default->fontset.
3373 (Fx_family_fonts): Use font_parse_family_registry instead of Ffont_put.
3374
3375 2008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
3376
3377 * xdisp.c (move_it_in_display_line_to): Improve the type of its args.
3378 (move_it_in_display_line): New wrapper.
3379
3380 * window.c (window_scroll_pixel_based_preserve_x)
3381 (window_scroll_preserve_hpos, window_scroll_preserve_vpos): New vars.
3382 (window_scroll_pixel_based, window_scroll_line_based):
3383 Use them to preserve column positions.
3384 (syms_of_window): Initialize them.
3385
3386 * indent.c (Fvertical_motion): Extend first arg to allow passing an
3387 (HPOS . VPOS) pair.
3388
3389 * dispextern.h (move_it_in_display_line): Declare.
3390
3391 2008-06-05 Juanma Barranquero <lekktu@gmail.com>
3392
3393 * window.c (Fwindow_parameter): Return VALUE, not (PARAMETER . VALUE).
3394 (Fwindow_parameters): Return copy of parameter alist. Doc fix.
3395 (Fset_window_parameter): Return VALUE, not parameter alist. Doc fix.
3396
3397 2008-06-04 Juanma Barranquero <lekktu@gmail.com>
3398
3399 * window.c (Fset_window_parameter): Doc fix.
3400 (Fwindow_parameters, Fwindow_parameter): Remove redundant check.
3401
3402 2008-06-04 Joakim Verona <joakim@verona.se>
3403
3404 * window.h (struct window): Add new member window_parameters.
3405
3406 * window.c (Fwindow_parameters, Fwindow_parameter)
3407 (Fset_window_parameter): New defuns.
3408 (syms_of_window): Defsubr the new defuns.
3409 (make_window): Initialize window_parameters to nil.
3410
3411 2008-06-04 John Paul Wallington <jpw@pobox.com>
3412
3413 * eval.c (Fdefmacro): Doc fix.
3414
3415 2008-06-04 Kenichi Handa <handa@m17n.org>
3416
3417 * coding.c (detect_coding): Fix handling of coding->head_ascii.
3418 Be sure to call setup_coding_system when we find a proper coding system.
3419 (detect_coding_system): Fix handling of coding->head_ascii.
3420
3421 2008-06-03 Andreas Schwab <schwab@suse.de>
3422
3423 * font.c (font_prop_validate_spacing): Fix last change.
3424
3425 2008-06-03 Kenichi Handa <handa@m17n.org>
3426
3427 * font.c (font_prop_validate_spacing): Handle uppercase symbols.
3428 (font_parse_fcname): Fix handling of unknown key.
3429
3430 * xfont.c (xfont_list): Try an alias.
3431
3432 * charset.c (char_charset): Return NULL if the arg charset_list is
3433 specified and C doesn't belong to any of them.
3434
3435 2008-06-02 Chip Coldwell <coldwell@redhat.com>
3436
3437 * font.c (font_pixel_size): Don't take cdr of an integer.
3438
3439 2008-06-02 Jim Meyering <meyering@redhat.com>
3440
3441 Make "xfree (NULL)" a no-op; remove useless if-before-xfree.
3442 * alloc.c (xfree): Return right away for a NULL arg.
3443 * lread.c (nosuffix): Remove now-useless if-before-xfree tests.
3444 * gtkutil.c (xg_gtk_scroll_destroy): Likewise.
3445 * mac.c (create_apple_event_from_event_ref): Likewise.
3446 (create_apple_event_from_drag_ref, cfstring_create_normalized):
3447 Likewise.
3448 * doprnt.c (doprnt1): Likewise.
3449 * frame.c (frame): Likewise.
3450 * keyboard.c (wipe_kboard): Likewise.
3451 * macterm.c (x_free_frame_resources, xlfdpat_destroy, XFreePixmap)
3452 (init_font_name_table, mac_unload_font, x_delete_display): Likewise.
3453 * term.c (tty_default_color_capabilities, maybe_fatal)
3454 (delete_tty): Likewise.
3455 * w16select.c (string): Likewise.
3456 * w32.c (w32_get_resource, SET_ENV_BUF_SIZE): Likewise.
3457 * w32bdf.c (w32_free_bdf_font): Likewise.
3458 * w32fns.c (w32_unload_font): Likewise.
3459 * w32font.c (w32font_close): Likewise.
3460 * window.c (size_window): Likewise.
3461 * xselect.c (receive_incremental_selection): Likewise.
3462 * xterm.c (x_free_frame_resources, x_delete_display): Likewise.
3463 * mactoolbox.c (create_apple_event_from_drag_ref): Likewise.
3464 * w32.c (stat): Likewise.
3465
3466 Remove useless if-before-free tests.
3467 * editfns.c (Fset_time_zone_rule): Likewise.
3468 * lread.c (nosuffix): Likewise.
3469 * ralloc.c (get_bloc): Likewise.
3470 * regex.c (reg_free): Likewise.
3471 * xftfont.c (xftfont_open, xftfont_close): Likewise.
3472 * xrdb.c (get_user_app, get_environ_db, x_load_resources): Likewise.
3473 * xsmfns.c (smc_save_yourself_CB): Likewise.
3474
3475 2008-06-02 Kenichi Handa <handa@m17n.org>
3476
3477 * font.c (font_find_for_lface): Handle float font size.
3478 (font_open_for_lface): Likewise.
3479
3480 * xfaces.c (x_supports_face_attributes_p): Check face->font before
3481 comparing the properties.
3482
3483 2008-06-01 Jason Rumney <jasonr@gnu.org>
3484
3485 * w32font.c (w32_enumfont_pattern_entity): Use requested registry.
3486 Treat iso10646-1 and Windows DEFAULT_CHARSET specially.
3487 Duplicate iso8859-1 fonts as iso10646-1 if no registry specified.
3488 Don't add empty script list.
3489 (w32_registry): Only map DEFAULT_CHARSET to iso10646-1 here.
3490
3491 2008-06-01 Dan Nicolaescu <dann@ics.uci.edu>
3492
3493 * Makefile.in (dot, dotdot): Remove, update users.
3494 ".." has been used elsewhere in the file for a long time.
3495 (LIBXT_STATIC): Remove conditional based on unused variable.
3496
3497 2008-06-01 Miles Bader <miles@gnu.org>
3498
3499 * xfaces.c (Vface_remapping_alist): New variable.
3500 (syms_of_xfaces): Initialize it.
3501 (enum named_merge_point_kind): New type.
3502 (struct named_merge_point): Add `named_merge_point_kind' field.
3503 (push_named_merge_point): Make cycle detection respect different
3504 named-merge-point kinds.
3505 (lface_from_face_name_no_resolve): Rename from `lface_from_face_name'.
3506 Remove face-name alias resolution.
3507 (lface_from_face_name): New definition using
3508 `lface_from_face_name_no_resolve'.
3509 (get_lface_attributes_no_remap): Rename from `get_lface_attributes'.
3510 Call lface_from_face_name_no_resolve instead of lface_from_face_name.
3511 (get_lface_attributes): New definition that layers face-remapping on
3512 top of get_lface_attributes_no_remap. New arg `named_merge_points'.
3513 (lookup_basic_face): New function.
3514 (lookup_derived_face): Pass new last arg to `get_lface_attributes'.
3515 (realize_named_face): Call `get_lface_attributes_no_remap' instead of
3516 `get_lface_attributes'.
3517 (face_at_buffer_position): Use `lookup_basic_face' to lookup
3518 DEFAULT_FACE_ID if necessary. When optimizing the default-face case,
3519 return default_face's face-id instead of the constant DEFAULT_FACE_ID.
3520
3521 * xdisp.c (init_iterator): Pass base_face_id through
3522 `lookup_basic_face' when we actually use it as a face-id.
3523 (handle_single_display_prop): Use `lookup_basic_face' to lookup
3524 DEFAULT_FACE_ID.
3525
3526 * fontset.c (Finternal_char_font): Use `lookup_basic_face' to
3527 lookup the initial face-id.
3528
3529 * dispextern.h (lookup_basic_face, Vface_remapping_alist): New decls.
3530
3531 2008-06-01 Juanma Barranquero <lekktu@gmail.com>
3532
3533 * textprop.c (syms_of_textprop) <text-property-default-nonsticky>:
3534 (Fremove_text_properties): Fix typos in docstrings.
3535
3536 2008-05-31 Kenichi Handa <handa@m17n.org>
3537
3538 * font.c (font_list_entities): Fix the car part of data to be
3539 stored in the cache.
3540
3541 * ftfont.c (ftfont_font_format): Don't use strcasestr.
3542
3543 2008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
3544
3545 * chartab.c (Foptimize_char_table, optimize_sub_char_table):
3546 Add a `test' argument so another predicate than `equal' can be used.
3547 (map_sub_char_table): Use `eq' rather than `equal' to merge ranges.
3548 (map_char_table): Remove unused vars `c' and `i'.
3549 * lisp.h (Foptimize_char_table): Adjust declaration.
3550 * charset.c (Fclear_charset_maps): Adjust call to Foptimize_char_table.
3551
3552 2008-05-30 Kenichi Handa <handa@m17n.org>
3553
3554 * font.c (Ffont_info): Define only if HAVE_WINDOW_SYSTEM is defined.
3555 (syms_of_font): Defsubr Sfont_info only if HAVE_WINDOW_SYSTEM is
3556 defined.
3557
3558 2008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
3559
3560 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
3561 (Fmake_variable_frame_local): Disallow mixing buffer-local and
3562 frame-local settings for the same variable.
3563
3564 2008-05-30 Kenichi Handa <handa@m17n.org>
3565
3566 * fontset.c (Ffont_info): Move to font.c.
3567 (syms_of_fontset): Delete defsubr of Sfont_info.
3568
3569 * font.c (font_style_to_value, font_score): Delete casting of the
3570 args to xstcasecmp.
3571 (register_font_driver): Increment num_font_drivers only when
3572 registering the driver globally.
3573 (Ffont_info): Move from fontset.c. Handle a font object too.
3574 (syms_of_font): Defsubr Sfont_info.
3575
3576 2008-05-29 Kenichi Handa <handa@m17n.org>
3577
3578 * coding.h (enum define_coding_utf8_arg_index): New enum.
3579 (enum coding_attr_index): Change coding_attr_utf_16_bom to
3580 coding_attr_utf_bom.
3581 (enum utf_bom_type): Rename from utf_16_bom_type.
3582 (struct utf_16_spec): Adjust for the above change.
3583 (struct coding_system): Add utf_8_bom in `spec' union.
3584
3585 * coding.c (CODING_UTF_8_BOM): New macro.
3586 (enum coding_category): Delete coding_category_utf_8, add
3587 coding_category_utf_8_auto, coding_category_utf_8_nosig, and
3588 coding_category_utf_8_sig.
3589 (CATEGORY_MASK_UTF_8): Delete it.
3590 (CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG)
3591 (CATEGORY_MASK_UTF_8_SIG): New macros.
3592 (CATEGORY_MASK_ANY): Delete CATEGORY_MASK_UTF_8, add
3593 CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG, and
3594 CATEGORY_MASK_UTF_8_SIG.
3595 (CATEGORY_MASK_UTF_8): New macro.
3596 (UTF_BOM, UTF_8_BOM_1, UTF_8_BOM_2, UTF_8_BOM_3): New macros.
3597 (detect_coding_utf_8): Check BOM.
3598 (decode_coding_utf_8, encode_coding_utf_8): Handle BOM.
3599 (decode_coding_utf_16): Adjust for the change of enum utf_bom_type.
3600 (encode_coding_utf_16): Likewise.
3601 (setup_coding_system): Likewise. Set CODING_UTF_8_BOM (coding).
3602 (detect_coding, detect_coding_system): Handle utf-8-auto.
3603 (Fdefine_coding_system_internal): Handle `bom' property for utf-8.
3604 (syms_of_coding): Fix setting up of Vcoding_category_table.
3605
3606 2008-05-29 Stefan Monnier <monnier@iro.umontreal.ca>
3607
3608 * process.c (Faccept_process_output): If `millisec' is non-nil,
3609 `seconds' default to 0.
3610 (wait_reading_process_output): Also return non-nil if we read output
3611 from a non-running process.
3612
3613 2008-05-29 Jason Rumney <jasonr@gnu.org>
3614
3615 * w32font.c (w32font_open_internal): Prefer truetype fonts unless
3616 `raster' specified.
3617 (add_font_entity_to_list): Allow non-opentype truetype fonts back
3618 in the uniscribe backend, but disallow any font that has no
3619 unicode subrange support.
3620
3621 2008-05-29 Juanma Barranquero <lekktu@gmail.com>
3622
3623 * xfaces.c (Fx_list_fonts, Finternal_copy_lisp_face):
3624 Fix typos in docstrings.
3625
3626 2008-05-29 Kenichi Handa <handa@m17n.org>
3627
3628 * xfaces.c (Fx_list_fonts): Make it return a list of font names.
3629 (Fx_family_fonts): Set frame correctly.
3630
3631 2008-05-28 Jason Rumney <jasonr@gnu.org>
3632
3633 * w32term.c (x_draw_glyph_string): Use clipmask if specified.
3634
3635 2008-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
3636
3637 * fileio.c (Fwrite_region): Delay the defaulting to beg&z to after
3638 calling build_annotations.
3639
3640 2008-05-28 Juanma Barranquero <lekktu@gmail.com>
3641
3642 * coding.c (Fdecode_coding_region, Fencode_coding_region)
3643 (Fencode_coding_string):
3644 (syms_of_coding) <coding-system-for-read, coding-system-for-write>:
3645 <latin-extra-code-table>: Fix typos in docstrings.
3646 (syms_of_coding) <coding-system-alist>: Doc fix.
3647 (syms_of_coding) <translation-table-for-input>: Reflow docstring.
3648
3649 2008-05-28 Kenichi Handa <handa@m17n.org>
3650
3651 * fontset.c (Ffont_info): Don't call font_close_object.
3652
3653 * font.c (font_parse_family_registry): Use Ffont_put to validate
3654 foundry and family.
3655 (font_delete_unmatched): Don't check spacing.
3656 (font_list_entities): Add spacing to the spec to list fonts.
3657
3658 * ftfont.c (ftfont_spec_pattern): Don't set FC_SPACING to pattern.
3659 (ftfont_list): Check spacing here. Don't include FC_CHARSET in objset.
3660
3661 * coding.c (encode_coding_raw_text): Fix previous change.
3662 (encode_coding_object): When the dst_object is a buffer and is
3663 different from src_object, move gap to PT.
3664
3665 2008-05-27 Chong Yidong <cyd@stupidchicken.com>
3666
3667 * xterm.c (x_draw_glyph_string): If a clipmask is specified, use it.
3668
3669 2008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
3670
3671 * coding.c (encode_coding_raw_text): Set coding->produced_char for
3672 all branches. Compute it differently.
3673
3674 * xdisp.c [!HAVE_WINDOW_SYSTEM]: Include font.h for --without-x.
3675
3676 2008-05-27 Juanma Barranquero <lekktu@gmail.com>
3677
3678 * w32font.c (compute_metrics): Rewrite an "else { if () ... else ... }"
3679 into "else if () ... else ...".
3680
3681 2008-05-27 Jason Rumney <jasonr@gnu.org>
3682
3683 * w32font.c (w32font_open_internal): Determine if glyph indices
3684 are likely to work here.
3685
3686 2008-05-27 Chong Yidong <cyd@stupidchicken.com>
3687
3688 * xdisp.c (draw_glyphs): If mouse-highlighting is on, attempt to
3689 draw overlap glyphs with appropriate highlighting.
3690
3691 2008-05-27 Kenichi Handa <handa@m17n.org>
3692
3693 * xfont.c (xfont_open): Fix calculation of font->average_width.
3694
3695 2008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
3696
3697 * casefiddle.c (casify_object): Try to guess better whether the
3698 argument is a byte or a char.
3699
3700 2008-05-26 Andreas Schwab <schwab@suse.de>
3701
3702 * xselect.c (x_reply_selection_request): Properly handle format == 32.
3703 Always send multiples of format size.
3704
3705 * xterm.c (x_set_frame_alpha): Fix type mismatch.
3706
3707 2008-05-26 Jason Rumney <jasonr@gnu.org>
3708
3709 * w32font.c (w32font_text_extents): Zero whole metrics struct first.
3710 (compute_metrics): Don't set failure if we just cleared the cache.
3711 (w32_weight_table): Remove unused variable.
3712 (w32_enumfont_pattern_entity): Use FONT_SPACING_CHARCELL for
3713 backwards compatibility.
3714
3715 2008-05-25 Kenichi Handa <handa@m17n.org>
3716
3717 * w32term.c (x_draw_glyph_string):
3718 * xterm.c (x_draw_glyph_string): Fix calculation of underline position.
3719
3720 * xfaces.c: Delete unused function prototypes.
3721 (xstrlwr, font_frame): Delete them.
3722 (clear_face_cache): Delete unused variable.
3723
3724 * xftfont.c (xftfont_open): Delete unused variable.
3725 If underline_thickness is not 1, adjust underline_position.
3726
3727 * ftxfont.c (ftxfont_open): Delete unused variable.
3728
3729 * fontset.c (face_for_char): Optimize for the case of no charset
3730 property.
3731
3732 * font.c (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE)
3733 (check_gstring, check_otf_features, otf_list, otf_tag_symbol)
3734 (otf_open, font_otf_capability, generate_otf_features)
3735 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
3736 Comment out by surrounding "#if 0" and "#endif" for the moment.
3737 (Ffont_drive_otf, Ffont_otf_alternates): Likewise.
3738 (syms_of_font): Codes for accessing above commented out.
3739
3740 2008-05-24 Eli Zaretskii <eliz@gnu.org>
3741
3742 * w32proc.c: Include dispextern.h.
3743
3744 * w32.c: Include dispextern.h.
3745
3746 2008-05-23 Juanma Barranquero <lekktu@gmail.com>
3747
3748 * charset.c (Fencode_char, Fsplit_char): Doc fixes.
3749 (Fget_unused_iso_final_char, Fdecode_char, Fiso_charset):
3750 Fix typos in docstrings.
3751
3752 2008-05-23 Jason Rumney <jasonr@gnu.org>
3753
3754 * xsmfns.c: Remove includes that are already included by config.h.
3755
3756 2008-05-23 Kenichi Handa <handa@m17n.org>
3757
3758 * charset.c (Qemacs, charset_emacs): New variables.
3759 (char_charset): Fix for non-Unicode characters.
3760 (syms_of_charset): Define charset_emacs.
3761
3762 * w32term.c (x_draw_glyph_string): Be sure to update
3763 s->underline_thickness and s->underline_position. Be sure to draw
3764 underline within the current line area.
3765
3766 * xterm.c (x_draw_glyph_string): Be sure to update
3767 s->underline_thickness and s->underline_position. Be sure to draw
3768 underline within the current line area.
3769
3770 * fontset.c: Delete unused variables and add casting for char *
3771 throughout the file.
3772 (fontset_font): Try the fallback fonts of the current fontset
3773 before consulting the default fontset.
3774
3775 * ftfont.c (ftfont_spec_pattern): Free charset if necessary.
3776
3777 * xfont.c (xfont_list_pattern): Free names returned from XListFonts.
3778
3779 2008-05-22 Jason Rumney <jasonr@gnu.org>
3780
3781 * font.c: Don't include strings.h.
3782
3783 * dispextern.h, xfaces.c (xstrcasecmp): Rename from xstricmp.
3784
3785 * dosfns.c, fileio.c, font.c, fontset.c, image.c, macfns.c:
3786 * macterm.c, process.c, w32.c, w32fns.c, w32proc.c, xfaces.c:
3787 * xfns.c, xfont.c: All callers of stricmp and strcasecmp changed
3788 to call xstrcasecmp.
3789
3790 * xfont.c (xfont_list_pattern, compare_font_names): Use xstrcasecmp.
3791
3792 * fontset.c (fs_query_fontset): Use xstrcasecmp.
3793
3794 * font.c (font_style_to_value, font_score): Use xstrcasecmp.
3795
3796 * dosfns.c (msdos_stdcolor_idx): Use xstrcasecmp.
3797
3798 2008-05-22 Kenichi Handa <handa@m17n.org>
3799
3800 * puresize.h (BASE_PURESIZE): Increase to 1220000.
3801
3802 * font.c (font_prop_validate_style): Adjust for the format
3803 change of font_style_table.
3804
3805 * w32font.c (w32font_open_internal): Call Ffont_xlfd_name with
3806 two args.
3807
3808 * xfaces.c (x_update_menu_appearance): Call Ffont_xlfd_name with
3809 two args.
3810
3811 2008-05-22 Stefan Monnier <monnier@iro.umontreal.ca>
3812
3813 * minibuf.c (keys_of_minibuf): Delete.
3814 * lisp.h (keys_of_minibuf): Delete.
3815 * emacs.c (main): Don't call keys_of_minibuf.
3816
3817 2008-05-22 Kenichi Handa <handa@m17n.org>
3818
3819 * ftfont.c (ftfont_resolve_generic_family): Rename from
3820 ftfont_list_generic_family. Return a single family for each
3821 generic family.
3822 (ftfont_spec_pattern): Add FC_FAMILY to pattern.
3823 (ftfont_list): Adjust for the change of ftfont_resolve_generic_family.
3824 Call font_add_log.
3825 (ftfont_match): Call font_add_log.
3826
3827 * font.h (Ffont_xlfd_name): EXFUN adjusted.
3828 (FONT_DEBUG): Define it.
3829 (font_add_log): Extern it.
3830 (font_assert): Rename from xassert.
3831
3832 * xfont.c (xfont_get_pcm): Change xassert to font_assert.
3833 (xfont_list_family): Call font_add_log.
3834 (xfont_match): Likewise.
3835 (memq_no_quit): Delete.
3836
3837 * fontset.c (fontset_from_font, Ffontset_info): Add the 2nd arg in
3838 call of Ffont_xlfd_name.
3839
3840 * xfaces.c (struct table_entry, slant_table, weight_table)
3841 (swidth_table): Move to font.c.
3842
3843 * font.c: Checking of FONT_DEBUG is moved to font.h. All calls of
3844 xassert are changed to font_assert. Delete many unused variables.
3845 (Vfont_weight_table, Vfont_slant_table, Vfont_width_table):
3846 New variables.
3847 (struct table_entry): Move from xfaces.c and modified.
3848 (weight_table, slant_table, width_table): Move from xfaces.c and
3849 contents adjusted for the change of struct table_entry.
3850 (font_style_to_value, font_style_symbolic): Adjust for the
3851 format change of font_style_table.
3852 (font_parse_family_registry): Don't overwrite existing foundry and
3853 family of font_spec.
3854 (font_score): Fix calculation of diff for sizes.
3855 (font_sort_entites): Call font_add_log.
3856 (font_delete_unmatched): Return a newly created list.
3857 (font_list_entities): Fix previous change. Call font_add_log.
3858 (font_matching_entity, font_open_entity, font_close_entity):
3859 Call font_add_log.
3860 (Ffont_xlfd_name): New arg FOLD-WILDCARDS.
3861 (Finternal_set_font_style_table): Delete.
3862 (BUILD_STYLE_TABLE): New macro.
3863 (build_style_table): New function.
3864 (Vfont_log, font_log_env_checked): New variables.
3865 (font_add_log): New function.
3866 (syms_of_font): Delete defsubr Sinternal_set_font_style_table.
3867 Declare Lisp variables "font-weight-table", "font-slant-table",
3868 "font-width-table", and "font-log". Initialize font_style_table.
3869
3870 2008-05-21 Dan Nicolaescu <dann@ics.uci.edu>
3871
3872 * xterm.c (x_set_frame_alpha): Move declarations before statements.
3873
3874 2008-05-21 Seiji Zenitani <zenitani@mac.com>
3875 Ryo Yoshitake <ryo@shiftmode.net>
3876
3877 * frame.c (Qalpha): Add a new frame parameter `alpha'.
3878 (Vframe_alpha_lower_limit): New variable.
3879 (x_set_alpha): New function.
3880
3881 * frame.h (Qalpha, Vframe_parameter_lower_limit): Export them.
3882
3883 * xfns.c (x-create-frame, Qalpha):
3884 Initialize the frame parameter `alpha'.
3885 * xterm.c (OPAQUE, OPACITY): New.
3886 (x_set_frame_alpha): New function.
3887 (frame_highlight, frame_unhighlight): Call x_set_frame_alpha.
3888
3889 * macfns.c (mac_frame_parm_handlers): A null handler for x_set_alpha.
3890 * w32fns.c (w32_frame_parm_handlers): Likewise.
3891
3892 2008-05-20 Jason Rumney <jasonr@gnu.org>
3893
3894 * w32font.c (add_font_entity_to_list): Don't add non-opentype
3895 truetype fonts to opentype list.
3896
3897 2008-05-20 Juanma Barranquero <lekktu@gmail.com>
3898
3899 * fontset.c (Ffontset_info): Doc fix.
3900 (syms_of_fontset) <font-encoding-charset-alist, use-default-ascent>:
3901 <ignore-relative-composition>: Fix typos in docstrings.
3902
3903 * font.c (syms-of-font) <font-encoding-alist>:
3904 (Ffontp, Ffont_make_gstring): Fix typos in docstrings.
3905 (Flist_fonts, Ffont_family_list, Ffont_fill_gstring, Fquery_font)
3906 (Ffont_otf_alternates): Doc fixes.
3907
3908 2008-05-20 Kenichi Handa <handa@m17n.org>
3909
3910 * Makefile.in (FONTSRC): Delete it. Change all $(FONTSRC) to
3911 font.h through out the file.
3912 (FONT_DRIVERS): Rename from FONTOBJ.
3913 (obj): Change $(FONTOBJ) to $(FONT_DRIVERS). Add font.o.
3914 (SOME_MACHINE_OBJECTS): Change $(FONTOBJ) to $(FONT_DRIVERS).
3915
3916 * emacs.c (main): Call syms_of_font unconditionally.
3917
3918 * font.h (find_font_encoding): Extern it.
3919
3920 * font.c (Vfont_encoding_alist, find_font_encoding): Move from
3921 fontset.c.
3922 (font_pixel_size)[! HAVE_WINDOW_SYSTEM]: Return 1.
3923 (font_open_entity): Update FRAME_X_DISPLAY_INFO (f)->n_fonts,
3924 FRAME_SMALLEST_CHAR_WIDTH (f), and FRAME_SMALLEST_FONT_HEIGHT (f)
3925 only when HAVE_WINDOW_SYSTEM is defined.
3926 (font_close_object): Update FRAME_X_DISPLAY_INFO (f)->n_fonts only
3927 when HAVE_WINDOW_SYSTEM is defined.
3928
3929 * fontset.c (Vfont_encoding_alist, find_font_encoding): Move to font.c.
3930 (syms_of_fontset): Move declaration of font-encoding-alist to font.c.
3931
3932 * xfaces.c: Include font.h unconditionally.
3933 (merge_face_ref, merge_face_vectors)
3934 (Finternal_set_lisp_face_attribute): Cancel the previous change.
3935
3936 2008-05-20 Stefan Monnier <monnier@iro.umontreal.ca>
3937
3938 * xdisp.c (select_frame_for_redisplay): Adjust for last change to
3939 indirect_variable.
3940 * eval.c (lisp_indirect_variable): New fun.
3941 (Fuser_variable_p): Use it.
3942
3943 2008-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
3944
3945 * lisp.h (indirect_variable):
3946 * data.c (indirect_variable, let_shadows_buffer_binding_p):
3947 Use Lisp_Symbol pointers rather than Lisp_Object.
3948 Adjust callers.
3949 * buffer.c (buffer_slot_type_mismatch): Use wrong-type-argument.
3950 To this end, change calling-convention.
3951
3952 * minibuf.c (Finternal_complete_buffer): Only strip out hidden buffers
3953 if some non-hidden buffers are selected by string&pred.
3954
3955 2008-05-19 Chong Yidong <cyd@stupidchicken.com>
3956
3957 * process.c (wait_reading_process_output): Always check status
3958 when in batch mode.
3959
3960 2008-05-19 Kenichi Handa <handa@m17n.org>
3961
3962 * font.c (font_list_entities): Fix handling of cache.
3963 (font_matching_entity): Likewise.
3964
3965 * ftfont.c (cs_iso8859_1): Delete.
3966 (ft_face_cache): New variable.
3967 (struct ftfont_info): New member fc_charset_idx.
3968 (ftfont_build_basic_charsets): Delete.
3969 (fc_charset_table): New variable.
3970 (ftfont_pattern_entity): New arg fc_charset_idx. Store (FILENAME
3971 . FC_CHARSET_IDX) as :font-entity property in the font entity.
3972 Callers changed.
3973 (ftfont_lookup_cache, ftfont_get_charset): New functions.
3974 (ftfont_spec_pattern): New argument fc_charset_idx.
3975 Check registry more rigidly. Change callers.
3976 (ftfont_open, ftfont_close, ftfont_has_char): Adjust for the
3977 change of :font-entity property of the font.
3978
3979 * xftfont.c (xftfont_open): Adjust for the change of :font-entity
3980 property of the font.
3981
3982 2008-05-18 Juanma Barranquero <lekktu@gmail.com>
3983
3984 * coding.c (Fcoding_system_p): Rename argument to match docstring.
3985 (Funencodable_char_position, Fcheck_coding_systems_region)
3986 (Fdecode_coding_string, Fencode_coding_string): Fix typos in docstrings.
3987 (Fdetect_coding_region, Fdetect_coding_string, Fencode_coding_region)
3988 (Ffind_operation_coding_system, Fset_coding_system_priority)
3989 (Fcoding_system_eol_type): Doc fixes.
3990
3991 2008-05-17 Glenn Morris <rgm@gnu.org>
3992
3993 * sysdep.c (child_setup_tty): Handle systems with NLDLY, without FFDLY.
3994
3995 2008-05-16 Eli Zaretskii <eliz@gnu.org>
3996
3997 * dired.c (Ffile_attributes): Shut up GCC warnings about st_uid
3998 and st_gid.
3999
4000 * frame.c (Fdelete_frame): Don't call font_update_drivers if
4001 HAVE_WINDOW_SYSTEM is not defined.
4002
4003 * xfaces.c (merge_face_ref, merge_face_vectors)
4004 (Finternal_set_lisp_face_attribute): Use FONT_*_INDEX only when
4005 HAVE_WINDOW_SYSTEM is defined.
4006 (Fface_font): Fix non-HAVE_WINDOW_SYSTEM case.
4007
4008 2008-05-16 Stefan Monnier <monnier@iro.umontreal.ca>
4009
4010 * keyboard.c (parse_menu_item): Do not cache key shortcut any more.
4011
4012 2008-05-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4013
4014 * macterm.c (x_draw_relief_rect): Remove unused variable `dpy'.
4015
4016 2008-05-15 Kenichi Handa <handa@m17n.org>
4017
4018 * font.c (font_find_for_lface): Reflect LFACE_FONT in the font
4019 preference.
4020
4021 2008-05-15 Glenn Morris <rgm@gnu.org>
4022
4023 * emacs.c (USAGE1, standard_args): Remove -disable-font-backend.
4024
4025 2008-05-15 Chong Yidong <cyd@stupidchicken.com>
4026
4027 * fns.c (init_fns): Don't initialize weak_hash_tables here.
4028 (init_weak_hash_tables): New fun. Initialize weak_hash_tables.
4029
4030 * alloc.c (init_alloc_once): Call init_weak_hash_tables.
4031
4032 2008-05-15 Kenichi Handa <handa@m17n.org>
4033
4034 * ftfont.c (ftfont_list): Downcase family name to check generic
4035 families.
4036
4037 * xfaces.c (Finternal_set_lisp_face_attribute): Be sure to make a
4038 font-spec for QCfont value.
4039
4040 * fontset.c (Fnew_fontset): Call font_unparse_xlfd with 256-byte
4041 buffer. Check the return value of it.
4042
4043 2008-05-14 Jason Rumney <jasonr@gnu.org>
4044
4045 * w32term.c (w32_get_glyph_overhangs): Remove.
4046 (w32_redisplay_interface): Use x_get_glyph_overhangs instead.
4047
4048 2008-05-14 Kenichi Handa <handa@m17n.org>
4049
4050 * font.c (font_prop_validate): Make nil a valid value.
4051 (font_clear_cache): Check if the cached vector of entities is nil
4052 or not.
4053
4054 2008-05-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4055
4056 * emacs.c (main_thread): Conditionalize on
4057 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
4058 (main) [FORWARD_SIGNAL_TO_MAIN_THREAD]: Initialize it.
4059
4060 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): New define.
4061 (main_thread, SIGNAL_THREAD_CHECK): Conditionalize on
4062 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
4063
4064 2008-05-14 Kenichi Handa <handa@m17n.org>
4065
4066 * coding.c (detect_coding_iso_2022): Ignore a coding category that
4067 has no corresponding coding system.
4068
4069 2008-05-14 Jason Rumney <jasonr@gnu.org>
4070
4071 * font.h (struct font) [WINDOWSNT]: Remove codepage member.
4072
4073 * w32font.h (w32font_open_internal): Update declaration.
4074
4075 * w32font.c (w32font_open_internal): Change last argument from
4076 w32font_info struct to font object. Fill in font object from
4077 font_entity. Get Outline metrics if possible. Use them to
4078 calculate underline position and thickness. Use xlfd name as name
4079 property. Don't set codepage.
4080 (w32font_open): Pass font_object to w32font_open_internal. Don't
4081 update dpyinfo->smallest_font_height and dpyinfo->smallest_char_width.
4082 (w32font_draw): Use s->font.
4083 (clear_cached_metrics): Don't clear non-existent blocks.
4084
4085 * w32term.c (w32_compute_glyph_string_overhangs): Don't compute if
4086 font was not found.
4087 (x_draw_glyph_string): Use underline position and thickness from font.
4088
4089 * w32uniscribe.c (uniscribe_open): Pass font_object to
4090 w32font_open_internal.
4091
4092 2008-05-14 Kenichi Handa <handa@m17n.org>
4093
4094 These changes are to delete all legacy font-handling codes, and
4095 make Emacs use only font-backends.
4096
4097 * Makefile.in: Delete USE_FONT_BACKEND conditionals.
4098 (frame.o, image.o, print.o): Depend on $(FONTSRC).
4099
4100 * makefile.w32-in (WIN32OBJ): Add w32reg.$(O), remove w32bdf.$(O).
4101
4102 * charset.h (Vcharset_non_preferred_head)
4103 (Vcurrent_iso639_language): Extern them.
4104
4105 * charset.c (Vcharset_non_preferred_head): New variable.
4106 (Vcurrent_iso639_language): New variable.
4107 (syms_of_charset): Declare it as a Lisp variable.
4108 (char_charset): Don't check non preferred charsets. As a last
4109 resort, return charset_unicode.
4110 (Fset_charset_priority): Update Vcharset_non_preferred_head.
4111
4112 * composite.c: Throughout the file, delete all USE_FONT_BACKEND
4113 conditionals. Don't check enable_font_backend. Delete all codes
4114 used only when USE_FONT_BACKEND is not defined.
4115
4116 * dispextern.h (struct glyph_string): Change type of `font' to
4117 `struct font *'.
4118 (struct glyph_string): New member underline_position and
4119 underline_thickness.
4120 (enum lface_attribute_index): Remove LFACE_AVGWIDTH_INDEX.
4121 (struct face): Change type of `font' to `struct font *'. Remove
4122 members `font_name', `font_info_id'.
4123 (per_char_metric, encode_char): Delete externs.
4124 (calc_pixel_width_or_height): Adjust the prototype.
4125
4126 * emacs.c (enable_font_backend): Delete extern.
4127 (main): Don't set enable_font_backend. Don't check the command
4128 line argument "-disable-font-backend".
4129
4130 * font.h (Qfont_spec, Qfont_entity, Qfont_object): Extern them.
4131 (enum font_property_index): New members FONT_DPI_INDEX,
4132 FONT_SPACING_INDEX, FONT_AVGWIDTH_INDEX, FONT_NAME_INDEX,
4133 FONT_FULLNAME_INDEX, FONT_FILE_INDEX, FONT_FORMAT_INDEX,
4134 FONT_OBJECT_MAX. Delete FONT_FRAME_INDEX.
4135 (FONT_WEIGHT_NUMERIC, FONT_SLANT_NUMERIC, FONT_WIDTH_NUMERIC)
4136 (FONT_WEIGHT_SYMBOLIC, FONT_SLANT_SYMBOLIC, FONT_WIDTH_SYMBOLIC)
4137 (FONT_WEIGHT_FOR_FACE, FONT_SLANT_FOR_FACE, FONT_WIDTH_FOR_FACE)
4138 (FONT_WEIGHT_NAME_NUMERIC, FONT_SLANT_NAME_NUMERIC)
4139 (FONT_WIDTH_NAME_NUMERIC, FONT_SET_STYLE): New macros.
4140 (struct font_spec, struct font_entity): New structs.
4141 (FONT_ENCODING_NOT_DECIDED): Moved from fontset.h.
4142 (struct font): Many members from old "struct font_info" moved to
4143 here. Members font and entity deleted.
4144 (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P, FONTP): Modified for
4145 the new font-related objects.
4146 (CHECK_FONT_SPEC, CHECK_FONT_ENTITY, CHECK_FONT_OBJECT)
4147 (CHECK_FONT_GET_OBJECT): Likewise.
4148 (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT, XSETFONT): New macros.
4149 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved from font.h.
4150 (struct font_driver): New members case_sensitive anc check. Type
4151 of the member list and open changed.
4152 (enable_font_backend, font_symbolic_weight, font_symbolic_slant)
4153 (font_symbolic_width, font_find_object, font_get_spec)
4154 (font_set_lface_from_name): Delete extern.
4155 (Fcopy_font_spec, Fmerge_font_spec, Ffont_family_list): New EXFUNs.
4156
4157 * font.c: Include <strings.h>.
4158 (enable_font_backend): Delete it.
4159 (Qfont_spec, Qfont_entity, Qfont_object): New variables.
4160 (CHECK_VALIDATE_FONT_SPEC): Delete it.
4161 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved to font.h.
4162 (null_string): Delete it.
4163 (null_vector): Make it static.
4164 (font_family_alist): Delete it.
4165 (Qnormal): Extern it.
4166 (QCextra, QClanguage): Delete it.
4167 (QClang, QCavgwidth, QCfont_entity, QCfc_unknown_spec): New variables.
4168 (font_make_spec, font_make_entity, font_make_object)
4169 (font_intern_prop): Renamed from intern_downcase. Don't downcase
4170 the string. Callers changed.
4171 (font_pixel_size): Adjusted for the format change of font-related
4172 objects.
4173 (prop_name_to_numeric, prop_numeric_to_name): Delete them.
4174 (font_style_to_value, font_style_symbolic): New function.
4175 (build_font_family_alist): Delete it.
4176 (font_registry_charsets): Use Fassoc_string instead of
4177 assq_no_quit.
4178 (font_prop_validate_symbol): Don't return null_string.
4179 (font_prop_validate_style): Adjusted for the change of
4180 style-related values in a font vector.
4181 (font_property_table): Delete entries for QClanguage and
4182 QCantialias, add entries for QCavgwidth.
4183 (get_font_prop_index): Delete the 2nd argument FROM.
4184 (font_prop_validate): Arguments changed.
4185 (font_put_extra): Adjusted for the change of font-related objects.
4186 (font_expand_wildcards, font_parse_xlfd, font_unparse_xlfd)
4187 (font_parse_fcname, font_unparse_fcname)
4188 (font_prepare_composition): Likewise.
4189 (font_parse_family_registry): Renamed from font_merge_old_spec.
4190 (otf_open): Delete the 1st arg entity.
4191 (font_otf_capability): Adjusted for the above change.
4192 (font_score): New arg alternate_families. Adjusted for the change
4193 of font-related objects.
4194 (font_sort_entites): New arg best_only.
4195 (font_symbolic_weight, font_symbolic_slant, font_symbolic_width):
4196 Delete them.
4197 (font_match_p): Check alternate families.
4198 (font_find_object): Delete it.
4199 (font_check_object): New function.
4200 (font_clear_cache): Adjusted for the change of font-related objects.
4201 (font_delete_unmatched): New arg.
4202 (font_list_entities): Call font_driver->list with a spec that
4203 doesn't specify style-related properties.
4204 (font_matching_entity): Arguments changed. Caller changed.
4205 (font_open_entity): Adjusted for the change of font-related objects.
4206 (font_close_object, font_has_char, font_encode_char)
4207 (font_get_name, font_get_spec): Likewise.
4208 (font_spec_from_name, font_clear_prop, font_update_lface):
4209 New functions.
4210 (font_find_for_lface, font_open_for_lface, font_load_for_lface)
4211 (font_prepare_for_face, font_done_for_face, font_open_by_name)
4212 (font_at): Adjusted for the change of font-related objects.
4213 (font_range): New function.
4214 (Ffontp, Ffont_spec, Ffont_get, Ffont_put, Flist_fonts)
4215 (Ffont_xlfd_name): Adjusted for the change of font-related objects.
4216 (Fcopy_font_spec, Fmerge_font_spec): New function.
4217 (Ffont_family_list): Renamed from list-families.
4218 (Finternal_set_font_style_table): Arguments changed.
4219 (Ffont_fill_gstring, Ffont_shape_text, Fopen_font)
4220 (Ffont_drive_otf, Fquery_font, Ffont_match_p): Adjusted for the
4221 change of font-related objects.
4222 (syms_of_font): Delete "ifdef USE_FONT_BACKEND". DEFSYM new symbols.
4223
4224 * fontset.h (struct font_info): Delete it. Most members go to
4225 struct font.
4226 (FONT_ENCODING_NOT_DECIDED): Moved to font.h.
4227 (enum FONT_SPEC_INDEX): Delete it.
4228 (font_info, list_fonts_func, load_font_func, query_font_func)
4229 (set_frame_fontset_func, find_ccl_program_func)
4230 (get_font_repertory_func, new_fontset_from_font_name): Delete
4231 externs.
4232 (fontset_from_font_name): Extern it.
4233 (FS_LOAD_FONT, FONT_INFO_ID, FONT_INFO_FROM_ID)
4234 (FONT_INFO_FROM_FACE): Deleted.
4235 (face_for_font): Adjust prototype.
4236
4237 * fontset.c: Throughout the file, delete all USE_FONT_BACKEND
4238 conditionals. Don't check enable_font_backend. Delete all codes
4239 used only when USE_FONT_BACKEND is not defined.
4240 (get_font_info_func, list_font_func, load_font_func)
4241 (query_font_func, set_frame_fontset_func, find_ccl_program_func)
4242 (get_font_repertory_func): Delete them.
4243 (FONTSET_SPEC, FONT_DEF_NEW, FONT_DEF_SPEC, FONT_DEF_ENCODING)
4244 (FONT_DEF_REPERTORY, RFONT_DEF_FACE, RFONT_DEF_SET_FACE)
4245 (RFONT_DEF_FONT_DEF, RFONT_DEF_SPEC, RFONT_DEF_REPERTORY)
4246 (RFONT_DEF_OBJECT, RFONT_DEF_SET_OBJECT, RFONT_DEF_SCORE)
4247 (RFONT_DEF_SET_SCORE, RFONT_DEF_NEW): New macros.
4248 (fontset_compare_rfontdef): New function.
4249 (reorder_font_vector): Remove the argument CHARSET-ID. Sort
4250 ront-defs by qsort. Adjusted for the change of font-group vector.
4251 (load_font_get_repertory): Deleted.
4252 (fontset_find_font): Use new macros to ref/set elements of
4253 font-def and rfont-def.
4254 (fontset_font): Fix the timing of remembering that no font for C.
4255 (free_face_fontset): Do nothing if the face has no fontset.
4256 (face_suitable_for_char_p): Use new macros to ref/set elements of
4257 rfont-def.
4258 (face_for_char): Likewise. Call face_for_char with font_object.
4259 (fs_load_font): Delete. Delete #pragma surrounding it.
4260 (fs_query_fontset): Use strcasecmp instead of strcmp.
4261 (generate_ascii_font_name): Adjusted for the format change of
4262 font-spec.
4263 (Fset_fontset_font): Likewise. Use new macros to set elements of
4264 font-def.
4265 (Fnew_fontset): Use font_unparse_xlfd to generate
4266 FONTSET_ASCII (fontset).
4267 (new_fontset_from_font_name): Deleted.
4268 (fontset_from_font): Renamed from new_fontset_from_font. Check if
4269 a fontset is already created for the font. FIx updating of
4270 Vfontset_alias_alist.
4271 (fontset_ascii_font): Deleted.
4272 (Ffont_info): Adjusted for the format change of font-spec.
4273 (Finternal_char_font): Likewise.
4274 (Ffontset_info): Likewise.
4275 (syms_of_fontset): Don't check load_font_func.
4276
4277 * fns.c (internal_equal): Handle PREV_FONT.
4278
4279 * frame.h: Delete USE_FONT_BACKEND conditional.
4280
4281 * frame.c: Throughout the file, delete all USE_FONT_BACKEND
4282 conditionals. Don't check enable_font_backend. Delete all codes
4283 used only when USE_FONT_BACKEND is not defined.
4284 (x_set_font): Call x_new_font, not x_new_fontset2.
4285 (x_set_font_backend): Use FRAME_FONT macro to check if a font is
4286 already set for the frame.
4287
4288 * ftfont.c (ftfont_pattern_entity): Argument FRAME removed. Make
4289 a font-entity by font_make_entity. Use font_intern_prop instead
4290 of intern_downcase. Use FONT_SET_STYLE to set a style-related
4291 font property. If a font is scalable, set avgwidth property to 0.
4292 Set font-entity property by font_put_extra.
4293 (ftfont_list_generic_family): Argument SPEC and REGISTRY removed.
4294 (ffont_driver): Adjusted for the change of struct font_driver.
4295 (ftfont_spec_pattern): New function.
4296 (ftfont_list): Return a list, not vector.
4297 (ftfont_match): Use ftfont_spec_pattern to get a pattern.
4298 (ftfont_list_family): Don't downcase names.
4299 (ftfont_free_entity): Deleted.
4300 (ftfont_open): Return a font-ojbect. Adjusted for the change of
4301 struct font. Get underline_thickness and underline_position from
4302 font property. Don't update dpyinfo->smallest_font_height and
4303 dpyinfo->smallest_char_width.
4304 (ftfont_close): Don't free `struct font'.
4305 (ftfont_has_char): Adjusted for the format change of font-entity.
4306 (ftfont_encode_char, ftfont_text_extents): Likewise.
4307
4308 * ftxfont.c (ftxfont_list): Return a list, not vector.
4309 (ftxfont_open): Return a font-ojbect. Adjusted for the change of
4310 struct font. Get underline_thickness and underline_position from
4311 font property. Don't update dpyinfo->smallest_font_height and
4312 dpyinfo->smallest_char_width.
4313 (ftxfont_close): Don't decrese FRAME_X_DISPLAY_INFO (f)->n_fonts.
4314 (ftxfont_draw): Adjusted for the change of struct font.
4315
4316 * image.c (image_ascent): Don't include "charset.h". Include
4317 "character.h" and "font.h".
4318
4319 * lisp.h (enum pvec_type): New member PREV_FONT.
4320 (Fassoc_string): EXFUN it.
4321
4322 * print.c: Include font.h.
4323 (print_object): Handle font-related objects.
4324
4325 * xdisp.c: Throughout the file, delete all USE_FONT_BACKEND
4326 conditionals. Don't check enable_font_backend. Delete all codes
4327 used only when USE_FONT_BACKEND is not defined.
4328 (handle_auto_composed_prop): Do nothing if it->f is not on a
4329 window system. Check how many following characters can be
4330 displayed by the same font.
4331 (calc_pixel_width_or_height): Type of the 4th arg is changed to
4332 'struct font *'.
4333 (get_char_face_and_encoding): Assign the whole encoding task to
4334 the `encode-char' method of a font driver.
4335 (fill_composite_glyph_string): Adjusted for the change of `struct
4336 face' and `struct glyph_string'.
4337 (fill_glyph_string): Likewise.
4338 (get_per_char_metric): Arguments changed.
4339 (x_get_glyph_overhangs): Adjusted for the change of `struct face'
4340 and `struct glyph_string'.
4341 (produce_stretch_glyph, calc_line_height_property)
4342 (x_produce_glyphs): Likewise.
4343
4344 * xfaces.c: Throughout the file, delete all USE_FONT_BACKEND
4345 conditionals. Don't check enable_font_backend. Delete all codes
4346 used only when USE_FONT_BACKEND is not defined. Use
4347 FONT_XXX_NAME_NUMERIC instead of face_numeric_xxx.
4348 (QCfoundry, QCadstyle, QCregistry, QCspacing, QCsize, QCavgwidth)
4349 (Qp): Extern them.
4350 (clear_font_table, load_face_font, xlfd_lookup_field_contents):
4351 Deleted.
4352 (struct font_name): Deleted.
4353 (xlfd_numeric_value, xlfd_symbolic_value): Deleted.
4354 (compare_fonts_by_sort_order): New function.
4355 (xlfd_numeric_slant, xlfd_symbolic_slant, xlfd_numeric_weight)
4356 (xlfd_symbolic_weight, xlfd_numeric_swidth, xlfd_symbolic_swidth):
4357 Deleted.
4358 (Fx_family_fonts): Use font_list_entities, and sort fonts by
4359 compare_fonts_by_sort_order.
4360 (Fx_font_family_list): Call Ffont_family_list.
4361 (face_numeric_value, face_numeric_weight, face_numeric_slant)
4362 (face_numeric_swidth, face_symbolic_value, face_symbolic_weight)
4363 (face_symbolic_slant, face_symbolic_swidth)
4364 (split_font_name_into_vector, build_font_name_from_vector)
4365 (xlfd_fixed_p, xlfd_point_size, pixel_point_size)
4366 (font_rescale_ratio, split_font_name, build_font_name)
4367 (free_font_names, sort_fonts, x_face_list_fonts)
4368 (face_font_available_p, sorted_font_list, cmp_font_names)
4369 (font_list_1, concat_font_list, font_list, remove_duplicates):
4370 Deleted.
4371 (Fx_list_fonts): Use Ffont_list.
4372 (LFACE_AVGWIDTH): Deleted.
4373 (check_lface_attrs): Don't check LFACE_AVGWIDTH. Check LFACE_FONT
4374 by FONTP.
4375 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
4376 (set_lface_from_font_name): Delete it.
4377 (set_lface_from_font): Renamed from
4378 set_lface_from_font_and_fontset. Caller changed. Don't set
4379 LFACE_AVGWIDTH. Use FONT_XXX_FOR_FACE to get a symbol suitable
4380 for face.
4381 (merge_face_vectors): Copy font-spec if necessary.
4382 Clear properties of the font-spec if necessary.
4383 (merge_face_ref): Clear properties of the font-spec if necessary.
4384 (Finternal_set_lisp_face_attribute): Likewise.
4385 (set_font_frame_param): Use font_load_for_lface to load a
4386 font-object, and call Fmodify_frame_parameters with it.
4387 (x_update_menu_appearance): Don't check LFACE_AVGWIDTH. Get XLFD
4388 font name by Ffont_xlfd_name.
4389 (Finternal_lisp_face_attribute_values): Don't check QCweight,
4390 QCslant, and QCwidth.
4391 (Fface_font): Get a font name from font->props[FONT_NAME_INDEX].
4392 (lface_same_font_attributes_p): Don't check LFACE_AVGWIDTH.
4393 Compare fonts by EQ.
4394 (lookup_non_ascii_face): Deleted.
4395 (face_for_font): The 2nd argument changed.
4396 (x_supports_face_attributes_p): Don't check LFACE_AVGWIDTH.
4397 Check atomic font properties by case insensitive.
4398 (realize_non_ascii_face): Set face->overstrike correctly.
4399 (realize_x_face): Likewise. Check if LFACE_FONT is a font_object.
4400 (dump_realized_face): Get font name from
4401 font->props[FONT_NAME_INDEX]. Don't print font_info_id.
4402
4403 * xfns.c: Throughout the file, delete all USE_FONT_BACKEND
4404 conditionals. Don't check enable_font_backend. Delete all codes
4405 used only when USE_FONT_BACKEND is not defined.
4406 (xic_create_xfontset): Original code deleted and renamed from
4407 xic_create_xfontset2. Use FRAME_FONT, not FRAME_FONT_OBJECT.
4408 (x_make_gc): Don't set GCFont in GCs.
4409 (Fx_create_frame) [USE_LUCID]: Set xlwmenu_default_font to a font
4410 opened by "fixed".
4411 (syms_of_xfns): Don't set get_font_info_func, load_font_func,
4412 find_ccl_program_func, query_font_func, set_frame_fontset_func,
4413 get_font_repertory_func.
4414
4415 * xfont.c: Include <stdlib.h> and "ccl.h".
4416 (struct xfont_info): New structure.
4417 (xfont_query_font): Deleted.
4418 (xfont_find_ccl_program): Renamed from x_find_ccl_program and
4419 moved from xterm.c.
4420 (xfont_driver): Adjusted for the change of struct font_driver.
4421 (compare_font_names): New function.
4422 (xfont_list_pattern): Sort font names case insensitively. Make
4423 font_entity by calling font_make_entity. Avoid auto-scaled fonts.
4424 (xfont_list): Return a list, not vector.
4425 (xfont_match): If the font doesn't have QCname property, generate
4426 a name from the other font properties.
4427 (xfont_open): Return a font-ojbect. Adjusted for the change of
4428 struct font. Get underline_thickness and underline_position from
4429 font property. Don't update dpyinfo->smallest_font_height and
4430 dpyinfo->smallest_char_width.
4431 (xfont_close): Don't free struct font.
4432 (xfont_prepare_face): Adjusted for the change of struct font.
4433 (xfont_done_face): Deleted.
4434 (xfont_has_char): Adjusted for the change of struct font.
4435 (xfont_encode_char, xfont_draw): Likewise.
4436 (xfont_check): New function.
4437
4438 * xftfont.c (xftfont_list): Adjusted for the change of `list'
4439 callback function.
4440 (xftfont_match): Adjusted for the fontmat change of font-entity.
4441 (xftfont_open): Adjusted for the format change of font-entity and
4442 font-object. Adjusted for the change of struct font. Return a
4443 font-object. Don't update dpyinfo->smallest_font_height and
4444 dpyinfo->smallest_char_width.
4445 (xftfont_close): Block input while calling XftFontClose.
4446 (xftfont_prepare_face): Don't block input while calling
4447 xftfont_get_colors. Adjusted for the change of struct font.
4448 (xftfont_shape): Return value of error case fixed.
4449
4450 * xrdb.c (x_load_resources): Don't setup a fontset resource.
4451
4452 * xterm.h: Throughout the file, delete all USE_FONT_BACKEND
4453 conditionals.
4454 (FONT_WIDTH): Return (f)->max_width.
4455 (struct x_display_info): Delete member `font'.
4456 (x_list_fonts, x_get_font_info, x_load_font, x_query_font)
4457 (x_find_ccl_program, x_get_font_repertory): Delete externs.
4458 (struct x_output): Change type of `font' to `struct font *'.
4459
4460 * xterm.c: Throughout the file, delete all USE_FONT_BACKEND
4461 conditionals. Don't check enable_font_backend. Delete all codes
4462 used only when USE_FONT_BACKEND is not defined. Don't include ccl.h.
4463 (x_per_char_metric, x_encode_char): Deleted.
4464 (x_set_cursor_gc, x_set_mouse_face_gc): Don't set GCFont.
4465 (x_compute_glyph_string_overhangs): Adjusted for the change of
4466 `struct face'.
4467 (x_draw_glyph_string_foreground)
4468 (x_draw_composite_glyph_string_foreground): Likewise.
4469 (x_draw_glyph_string): Likewise. Use font->underline_position and
4470 font->underline_thickness.
4471 (x_new_font): Renamed from x_new_fontset2.
4472 (x_new_fontset, x_get_font_info, x_list_fonts): Deleted.
4473 (x_check_font): Call `check' method of a font driver.
4474 (x_font_min_bounds, x_compute_min_glyph_bounds, x_load_font)
4475 (x_query_font, x_get_font_repertory): Deleted.
4476 (x_find_ccl_program): Renamed and moved to xfont.c.
4477 (x_redisplay_interface): Adjusted for the change of `struct
4478 redisplay_interface'.
4479
4480 * w32fns.c: Throughout the file, delete all USE_FONT_BACKEND
4481 conditionals. Don't check enable_font_backend. Delete all codes
4482 used only when USE_FONT_BACKEND is not defined. Surround non-used
4483 code by "#ifdef OLD_FONT" and "endif".
4484 (Fw32_select_font): Use FONT_COMPAT to get old font structure.
4485
4486 * w32font.h (struct w32font_info): New member.
4487 (FONT_COMPAT): New macro.
4488 (w32font_open_internal): Prototype adjusted.
4489
4490 * w32gui.h (XGCValues): Surround `XFontStruct *font' by "if
4491 OLD_FONT" and "endif".
4492
4493 * w32font.c: Throughout the file, delete all USE_FONT_BACKEND
4494 conditionals. Don't check enable_font_backend. Delete all codes
4495 used only when USE_FONT_BACKEND is not defined.
4496 (w32font_open): Return a font-object. Make a font-object by
4497 font_make_object. Adjusted for the change of struct w32font_info.
4498 (w32font_close): Don't free struct font. Adjusted for the change
4499 of struct w32font_info.
4500 (w32font_encode_char, w32font_text_extents, w32font_draw):
4501 Adjusted for the change of struct w32font_info.
4502 (w32font_draw): Likewise.
4503 (w32font_list_internal): Return a list, not vector.
4504 (w32font_open_internal): Change the 4th arg to font-object.
4505 Adjusted for the change of struct w32font_info and font-object format.
4506 (add_font_name_to_list): Don't downcase names.
4507 (w32_enumfont_pattern_entity): Make a font-entity by
4508 font_make_entity. Adjusted for the format change of font-entity.
4509 Use FONT_SET_STYLE to set a style-related font property. If a
4510 font is scalable, set avgwidth property to 0. Set font-entity
4511 property by font_put_extra.
4512 (font_matches_spec): Adjusted for the format change of font-entity.
4513 (w32_weight_table, w32_decode_weight): New variables.
4514 (w32_encode_weight): New function.
4515 (fill_in_logfont): Adjusted for the format change of font-spec.
4516 (w32font_full_name): Use FONT_WEIGHT_SYMBOLIC to get a symbol
4517 weight value.
4518 (w32font_driver): Adjusted for the change of struct font_driver.
4519
4520 * w32term.h: Throughout the file, delete all USE_FONT_BACKEND
4521 conditionals. Don't check enable_font_backend. Surround non-used
4522 code by "#ifdef OLD_FONT" and "endif".
4523 (FONT_WIDTH, FONT_HEIGHT, FONT_BASE, FONT_DESCENT)
4524 (FONT_AVG_WIDTH): Adjusted for the change of struct font.
4525
4526 * w32term.c: Throughout the file, delete all USE_FONT_BACKEND
4527 conditionals. Don't check enable_font_backend. Delete all codes
4528 used only when USE_FONT_BACKEND is not defined. Surround non-used
4529 code by "#ifdef OLD_FONT" and "endif".
4530
4531 * w32uniscribe.c: Delete USE_FONT_BACKEND conditional.
4532 (uniscribe_open): Return value changed to font-object.
4533 Adjusted for the format change of font-object.
4534 (uniscribe_otf_capability): Adjusted for the change of struct font.
4535 (add_opentype_font_name_to_list): Don't downcase names.
4536 (uniscribe_font_driver): Adjusted for the change of struct
4537 font_driver.
4538
4539 2008-05-13 Chong Yidong <cyd@stupidchicken.com>
4540
4541 * dispnew.c (update_frame_1): Check if tty output is still valid
4542 before flushing it.
4543
4544 2008-05-13 Jan Djärv <jan.h.d@swipnet.se>
4545
4546 * xterm.c (handle_one_xevent): Don't pass buttons higher than 3
4547 to Gtk+ menus.
4548
4549 2008-05-13 Stefan Monnier <monnier@iro.umontreal.ca>
4550
4551 * dired.c (file_name_completion): Tweak the code so as to always do it
4552 in a single pass. Tighten the scope of some variables.
4553
4554 * dired.c (Qdefault_directory): New var.
4555 (file_name_completion): Use it instead of Fexpand_file_name.
4556 (syms_of_dired): Initialize it.
4557
4558 2008-05-12 Stefan Monnier <monnier@iro.umontreal.ca>
4559
4560 * fileio.c (double_dollars): Remove dead code.
4561
4562 2008-05-10 Eli Zaretskii <eliz@gnu.org>
4563
4564 * dired.c (Ffile_attributes, Fdirectory_files_and_attributes):
4565 Mention w32-get-true-file-attributes in doc string.
4566
4567 * w32proc.c (syms_of_ntproc) <w32-get-true-file-attributes>: Doc fix.
4568
4569 2008-05-09 Glenn Morris <rgm@gnu.org>
4570
4571 * fileio.c (Fread_file_name): Remove reference to insdef, deleted
4572 2008-04-23.
4573
4574 2008-05-09 Eli Zaretskii <eliz@gnu.org>
4575
4576 Support for reporting owner and group of each file on MS-Windows:
4577 * dired.c (stat_uname, stat_gname): New functions, with special
4578 implementation for w32.
4579 (Ffile_attributes): Use them instead of getpwuid and getgrgid.
4580
4581 * w32.c: Rename the_passwd_* to dflt_passwd_*.
4582 (dflt_group_name): New static variable.
4583 (dflt_group): Rename from the_group.
4584 (init_user_info): Init dflt_group fields. Get user's group name
4585 from LookupAccountSid.
4586 (g_b_init_get_file_security, g_b_init_get_security_descriptor_owner)
4587 (g_b_init_get_security_descriptor_group, g_b_init_is_valid_sid):
4588 New initialization states.
4589 (globals_of_w32): Initialize them to zero. Initialize the default
4590 group name to "None".
4591 (GetFileSecurity_Name): New global var, the name of the function
4592 to call for GetFileSecurity.
4593 (GetFileSecurity_Proc, GetSecurityDescriptorOwner_Proc)
4594 (GetSecurityDescriptorGroup_Proc, IsValidSid_Proc): New typedefs.
4595 (get_file_security, get_security_descriptor_owner)
4596 (get_security_descriptor_group, is_valid_sid)
4597 (get_file_security_desc, get_rid, get_name_and_id)
4598 (get_file_owner_and_group): New functions.
4599 (stat): Use get_file_security_desc and get_file_owner_and_group to
4600 report the owner and primary group of each file. Don't ignore the
4601 high 32 bits of file's size, now that st_size is 64-bit wide.
4602 Fix test when to get true file attributes.
4603 (init_user_info): Use get_rid instead of equivalent inline code.
4604 (fstat): Don't ignore the high 32 bits of file's size.
4605
4606 2008-05-09 Chong Yidong <cyd@stupidchicken.com>
4607
4608 * image.c (png_load): Use correct bit-depth for setting background
4609 color.
4610
4611 2008-05-08 Eli Zaretskii <eliz@gnu.org>
4612
4613 * Makefile.in (lisp, shortlisp): Rename epa-file-hook.elc to
4614 epa-hook.elc.
4615
4616 2008-05-08 Juanma Barranquero <lekktu@gmail.com>
4617
4618 * font.c (Ffont_match_p): Don't use `iff' in docstring.
4619
4620 2008-05-07 Dan Nicolaescu <dann@ics.uci.edu>
4621
4622 * macfns.c (Fx_create_frame): Make a copy of frame parameters
4623 because the original parameters are in pure storage now.
4624 (mac_window): Remove unused params. Update callers.
4625
4626 2008-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
4627
4628 * lread.c (substitute_object_recurse): Use lower-level primitives.
4629 Don't signal errors when traversing sub-char-tables.
4630 Don't loop over all the possible characters when traversing char-tables.
4631
4632 * print.c (print_preprocess): Add sub-char-tables to the print-table,
4633 just like we do in print.c.
4634
4635 2008-05-05 Stefan Monnier <monnier@iro.umontreal.ca>
4636
4637 * minibuf.c (Ftry_completion): Remove code left over from when we used
4638 scmp instead of Fcompare_strings.
4639
4640 2008-05-04 Juanma Barranquero <lekktu@gmail.com>
4641
4642 * w32fns.c (Fw32_battery_status): Fix computation of %t (h:min) format.
4643
4644 2008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4645
4646 * image.c [USE_MAC_IMAGE_IO] (image_load_image_io):
4647 Create bitmap context in native byte order.
4648
4649 * macterm.c (XDrawLine)
4650 (XCreatePixmapFromBitmapData) [USE_MAC_IMAGE_IO]: Create bitmap
4651 context in native byte order.
4652
4653 2008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4654
4655 * config.in: Regenerate.
4656
4657 * image.c (PIX_MASK_DRAW, PIX_MASK_RETAIN) [USE_MAC_IMAGE_IO]:
4658 New definitions for Image I/O support.
4659 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
4660 (mac_create_cg_image_from_image, x_create_x_image_and_pixmap)
4661 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
4662 (mac_data_provider_release_data, image_load_image_io)
4663 [USE_MAC_IMAGE_IO]: New functions.
4664 (CGImageCreateWithPNGDataProviderProcType) [MAC_OSX]: Remove typedef.
4665 (MyCGImageCreateWithPNGDataProvider) [MAC_OSX]: Remove variable.
4666 (init_image_func_pointer) [MAC_OSX]: Remove function.
4667 (image_load_quartz2d) [MAC_OSX]: Check availability of
4668 CGImageCreateWithPNGDataProvider at compile time.
4669 Use lowercase `false' for boolean constant.
4670 (png_load, jpeg_load, tiff_load, gif_load) [USE_MAC_IMAGE_IO]:
4671 Use image_load_image_io.
4672 (png_load) [!USE_MAC_IMAGE_IO && MAC_OSX]:
4673 Don't check MyCGImageCreateWithPNGDataProvider.
4674 (init_image) [MAC_OSX && TARGET_API_MAC_CARBON]:
4675 Don't call init_image_func_pointer.
4676
4677 * macgui.h (Pixmap) [USE_MAC_IMAGE_IO]: New definition for Image I/O.
4678
4679 * macterm.c (mac_cg_color_space_rgb) [USE_CG_DRAWING]:
4680 Make variable non-static.
4681 (XDrawLine, XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
4682 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
4683
4684 * macterm.h (ARGB_TO_ULONG, ALPHA_FROM_ULONG): New macros.
4685 (RED_FROM_ULONG): Mask off higher bits.
4686 (mac_cg_color_space_rgb) [USE_MAC_IMAGE_IO]: New extern.
4687
4688 * s/darwin.h [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
4689 Include AvailabilityMacros.h.
4690 (USE_MAC_IMAGE_IO, LIBS_IMAGE) [HAVE_CARBON]: New defines.
4691 (LIBS_CARBON) [HAVE_CARBON]: Use LIBS_IMAGE.
4692
4693 2008-05-03 Stefan Monnier <monnier@iro.umontreal.ca>
4694
4695 * chartab.c (Fset_char_table_range): If range is t, really set all
4696 chars to that value.
4697
4698 2008-05-03 Eli Zaretskii <eliz@gnu.org>
4699
4700 * dired.c (Ffile_attributes): Don't allow the device number become
4701 negative.
4702
4703 2008-05-02 Daiki Ueno <ueno@unixuser.org>
4704
4705 * Makefile.in (lisp, shortlisp): Add epa-file-hook.elc.
4706
4707 2008-05-02 Juri Linkov <juri@jurta.org>
4708
4709 * minibuf.c (Fread_from_minibuffer, Fread_string, Fread_command)
4710 (Fread_variable, Fread_buffer, Fcompleting_read): Document the
4711 DEFAULT argument as a list of default values in docstrings.
4712
4713 2008-05-01 Chong Yidong <cyd@stupidchicken.com>
4714
4715 * puresize.h (BASE_PURESIZE): Increase to 1210000.
4716
4717 2008-05-01 Martin Rudalics <rudalics@gmx.at>
4718
4719 * dispnew.c (change_frame_size_1): Preserve small windows when
4720 shrinking frames by calling set_window_height|width with third
4721 arg 2.
4722
4723 * window.h (struct window): Replace field too_small_ok by field
4724 resize_proportionally.
4725
4726 * window.c (make_window): Initialize resize_proportionally.
4727 (enlarge_window): Temporarily set resize_proportionally to make
4728 sure that shrink_windows does scale the window proportionally.
4729 (shrink_windows): When window has resize_proportionally set try
4730 to shrink it proportionally by stealing from other windows.
4731 (struct saved_window, Fset_window_configuration)
4732 (compare_window_configurations): Handle resize_proportionally.
4733 (WINDOW_TOTAL_SIZE): New macro.
4734 (window_min_size, shrink_windows, size_window): Use it.
4735 (check_min_window_sizes): Remove. Invalid values of
4736 window-min-height|width are handled by window_min_size_2 now.
4737 (size_window, Fsplit_window, enlarge_window)
4738 (adjust_window_trailing_edge, grow_mini_window): Don't call
4739 check_min_window_sizes.
4740 (window_min_size_2, window_min_size_1, window_min_size):
4741 New argument safe_p for retrieving "safe" minimum sizes.
4742 (Fdisplay_buffer, Fsplit_window, enlarge_window)
4743 (adjust_window_trailing_edge, grow_mini_window):
4744 Adjust arguments of window_min_size... functions.
4745 (shrink_windows): Argument min_size removed. New argument
4746 safe_p allows shrinking windows to their safe minimum sizes.
4747 Calculate minimum size and decide whether a window shall be
4748 deleted for each window individually.
4749 (size_window): When nodelete_p equals 2, tell shrink_windows to
4750 delete windows only if their new minimum size is no more safe.
4751 (shrink_window_lowest_first): Call window_min_size_1 to make
4752 sure to preserve modeline of bottom-most window when resizing
4753 the minibuffer.
4754 (Fset_window_configuration, Fcurrent_window_configuration)
4755 (compare_window_configurations): Do not handle
4756 window-min-height|width any more.
4757 (syms_of_window): Clarify window-min-height|width doc-strings.
4758
4759 2008-04-30 Stefan Monnier <monnier@iro.umontreal.ca>
4760
4761 * dired.c (file_name_completion): Fix up the encoding/decoding issue
4762 some more. Copy some of the code from Ftry_completions.
4763 Remove special case code that dates back to initial revision when the
4764 slash was only added when necessary and that can't trigger nowadays.
4765
4766 2008-04-27 Kenichi Handa <handa@m17n.org>
4767
4768 * font.c (font_prop_validate): Signal `error' instead of `font'.
4769
4770 2008-04-29 Jason Rumney <jasonr@gnu.org>
4771
4772 * w32fns.c (Fw32_battery_status): New defun.
4773 (syms_of_w32fns): Defsubr it.
4774
4775 2008-04-28 Andreas Schwab <schwab@suse.de>
4776
4777 * dired.c (file_name_completion): Fix another mixing of encoded
4778 and decoded names.
4779
4780 2008-04-28 Juanma Barranquero <lekktu@gmail.com>
4781
4782 * w32fns.c (Fw32_define_rgb_color): Fix typo in docstring.
4783
4784 2008-04-27 Juanma Barranquero <lekktu@gmail.com>
4785
4786 * fringe.c (Fdefine_fringe_bitmap): Doc fix.
4787
4788 2008-04-27 Andreas Schwab <schwab@suse.de>
4789
4790 * dired.c (file_name_completion): Fix inappropriate mixing of
4791 encoded and decoded names.
4792
4793 * xterm.c (XTread_socket): Fix use of uninitialized variable.
4794
4795 * puresize.h (BASE_PURESIZE): Increase to 1200000.
4796
4797 2008-04-26 Eli Zaretskii <eliz@gnu.org>
4798
4799 * dired.c (Ffile_attributes) [WINDOWSNT]: Undo change from
4800 2008-03-31, it's not needed anymore with `struct stat' definition
4801 on nt/inc/sys/stat.h. Undo changes from 2007-01-12 and 2007-01-13
4802 for the same reasons.
4803
4804 2008-04-25 Dennis Gilmore <ausil@fedoraproject.org> (tiny change)
4805
4806 * m/sparc.h: Additional redefinitions for GNU/Linux.
4807
4808 2008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4809
4810 * macterm.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
4811 (syms_of_macterm) [USE_MAC_TSM]: Defvar it.
4812 (Qmouse_drag_overlay) [MAC_OSX]: New variable.
4813 (syms_of_macterm) [MAC_OSX]: Intern and staticpro it.
4814 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
4815 (mac_ax_selected_text_range) [MAC_OSX]: New functions.
4816 (mac_ax_number_of_characters) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
4817 Likewise.
4818
4819 * mactoolbox.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: Add extern.
4820 (fast_find_position, x_y_to_hpos_vpos, mac_ax_selected_text_range)
4821 (mac_ax_number_of_characters): Add externs.
4822 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
4823 [USE_MAC_TSM]: Likewise.
4824 (mac_handle_text_input_event) [MAC_OSX]:
4825 Handle kEventTextInputOffsetToPos for no active input area case.
4826 Handle kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
4827 (mac_handle_document_access_event)
4828 [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: New function.
4829 (install_application_handler) [MAC_OSX]: Register handlers for
4830 kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
4831 (install_application_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
4832 Register mac_handle_document_access_event.
4833
4834 * xdisp.c (x_y_to_hpos_vpos, fast_find_position) [HAVE_CARBON]:
4835 Make functions non-static.
4836
4837 2008-04-23 Stefan Monnier <monnier@iro.umontreal.ca>
4838
4839 * fileio.c (Vread_file_name_function, Vread_file_name_predicate)
4840 (read_file_name_completion_ignore_case, insert_default_directory)
4841 (Qdefault_directory): Move to minibuffer.el.
4842 (Fread_file_name): Call the new `read-file-name' instead.
4843
4844 2008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4845
4846 * mac.c (create_apple_event) [TARGET_API_MAC_CARBON]:
4847 Make function non-static.
4848 (create_apple_event_from_event_ref) [TARGET_API_MAC_CARBON]:
4849 Remove function.
4850 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
4851 Move to mactoolbox.c.
4852 (mac_event_parameters_to_lisp) [TARGET_API_MAC_CARBON]: New function.
4853
4854 * macgui.h (CGFloat) [!CGFLOAT_DEFINED]: New typedef.
4855 (mac_rect_make): New macro.
4856
4857 * macterm.c (mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
4858 instead of float.
4859 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
4860 (init_cg_color, mac_draw_line, mac_draw_cg_image, XSetForeground)
4861 (XSetBackground) [USE_CG_DRAWING]: Likewise.
4862 (mac_draw_image_string_atsui) [MAC_OSX]: Use mac_rect_make instead of
4863 CGRectMake.
4864 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
4865 (mac_erase_rectangle, mac_draw_cg_image, mac_fill_rectangle)
4866 (mac_set_clip_rectangles) [USE_CG_DRAWING]: Likewise.
4867 (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
4868 instead of WindowRef in argument type.
4869 (XCreatePixmap) [!MAC_OS8]: Don't call SetPortWindowPort.
4870 (mac_invert_rectangle): Use CGContextSetBlendMode if available.
4871 (mac_set_clip_rectangles, mac_reset_clip_rectangles): Take argument F
4872 instead of DISPLAY. All uses changed.
4873 (mac_handle_size_change): Don't call SET_FRAME_GARBAGED.
4874 (x_calc_absolute_position): Simplify so as not to use
4875 FRAME_PIXEL_WIDTH/FRAME_PIXEL_HEIGHT.
4876
4877 * macterm.h (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
4878 instead of WindowRef in argument type.
4879 (create_apple_event_from_event_ref, create_apple_event_from_drag_ref)
4880 [TARGET_API_MAC_CARBON]: Remove externs.
4881 (create_apple_event, mac_event_parameters_to_lisp)
4882 [TARGET_API_MAC_CARBON]: Add externs.
4883
4884 * mactoolbox.c (Vmac_ts_script_language_on_focus)
4885 (saved_ts_script_language_on_focus) [USE_MAC_TSM]: Remove externs.
4886 (XTread_socket) [USE_MAC_TOOLBAR]: Select window if its structure part
4887 is clicked.
4888 (x_activate_menubar): Remove extern for saved_menu_event_location.
4889 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
4890 Move from mac.c.
4891
4892 2008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4893
4894 * alloc.c [!SYSTEM_MALLOC && !SYNC_INPUT] (uninterrupt_malloc)
4895 [HAVE_GTK_AND_PTHREAD && !DOUG_LEA_MALLOC]: Don't use recursive mutex.
4896
4897 2008-04-23 Jason Rumney <jasonr@gnu.org>
4898
4899 * w32.c (stat): When Vw32_get_true_file_attributes is Qlocal, get
4900 attributes only for local files.
4901
4902 * w32proc.c (syms_of_ntproc): Change Vw32_get_true_file attributes
4903 default to Qlocal.
4904
4905 2008-04-22 Juri Linkov <juri@jurta.org>
4906
4907 * buffer.c (Fswitch_to_buffer): Change interactive spec to call
4908 read-buffer-to-switch instead of using the letter "B".
4909
4910 2008-04-21 Stefan Monnier <monnier@iro.umontreal.ca>
4911
4912 * fileio.c (Qdefault_directory): New variable.
4913 (Fread_file_name): Use it to pass `dir' to the completion functions.
4914
4915 2008-04-20 Chong Yidong <cyd@stupidchicken.com>
4916
4917 * xdisp.c (pos_visible_p): Check if iterator stops on a display string.
4918
4919 2008-04-19 Stefan Monnier <monnier@iro.umontreal.ca>
4920
4921 * keyboard.c (Vpre_help_message): Remove.
4922 (show_help_echo): Remove default C code.
4923
4924 * dired.c (directory_files_internal, file_name_completion):
4925 Only call ENCODE_FILE if the string is indeed decoded.
4926
4927 2008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
4928
4929 * Makefile.in (TOOLKIT_DEFINES): Remove.
4930 (LIBW): Use a bit less #if, remove left over OPEN_LOOK stuff.
4931
4932 2008-04-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4933
4934 * Makefile.in (MAC_OBJ): Add mactoolbox.o.
4935 (mactoolbox.o): New target.
4936
4937 * mac.c [MAC_OSX] (select_and_poll_event, sys_select):
4938 Use mac_run_loop_run_once instead of CFRunLoopRunInMode.
4939
4940 * macfns.c (x_set_background_color, mac_window, x_create_tip_frame):
4941 Use mac_set_frame_window_background instead of XSetWindowBackground.
4942 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]:
4943 Use mac_is_window_toolbar_visible instead of IsWindowToolbarVisible.
4944 (x_set_name_internal) [TARGET_API_MAC_CARBON]: Use mac_set_window_title
4945 instead of SetWindowTitleWithCFString.
4946 (mac_update_proxy_icon) [TARGET_API_MAC_CARBON]: Remove BLOCK_INPUT.
4947 Move function to mactoolbox.c.
4948 (mac_update_title_bar) [TARGET_API_MAC_CARBON]:
4949 Use mac_set_window_modified instead of SetWindowModified.
4950 Add BLOCK_INPUT around mac_set_window_modified/mac_update_proxy_icon.
4951 (mac_window, x_create_tip_frame): Use mac_create_frame_window.
4952 (Fx_focus_frame): Use mac_front_non_floating_window instead of
4953 FrontNonFloatingWindow. Use mac_activate_window instead of
4954 ActivateWindow. Use mac_active_non_floating_window instead of
4955 ActiveNonFloatingWindow.
4956 (show_hourglass, hide_hourglass) [TARGET_API_MAC_CARBON]:
4957 Use mac_show_hourglass and mac_hide_hourglass.
4958 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use mac_get_global_mouse
4959 instead of GetGlobalMouse.
4960 (Fx_show_tip): Use mac_move_window/mac_size_window/mac_show_window
4961 instead of MoveWindow/SizeWindow/ShowWindow, respectively.
4962 Use mac_bring_window_to_front instead of BringToFront.
4963 (Qfile_name_history) [TARGET_API_MAC_CARBON]: Move extern to
4964 mactoolbox.c.
4965 (Fx_file_dialog) [TARGET_API_MAC_CARBON]: Move function body to
4966 mac_file_dialog in mactoolbox.c. Use mac_file_dialog.
4967 (mac_nav_event_callback) [TARGET_API_MAC_CARBON]: Move function to
4968 mactoolbox.c.
4969
4970 * macgui.h [!HAVE_CARBON]: Include Quickdraw.h instead of QuickDraw.h.
4971 (XtPointer): Move typedef from macmenu.c.
4972 (enum button_type): Move enum from macmenu.c.
4973 (widget_value): Move typedef from macmenu.c.
4974 (M_APPLE, I_ABOUT, EXTRA_STACK_ALLOC, ARGV_STRING_LIST_ID)
4975 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
4976 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
4977 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
4978 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
4979 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
4980 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
4981 (DIALOG_ICON_TOP_MARGIN): Move defines from macmenu.c.
4982 (Selection): Move typedef from macselect.c.
4983 (RAM_TOO_LARGE_ALERT_ID, ABOUT_ALERT_ID) [MAC_OS8]: Move defines from
4984 macterm.c.
4985 (mac_set_window_title, mac_set_window_modified, mac_is_window_visible)
4986 (mac_is_window_collapsed, mac_bring_window_to_front)
4987 (mac_send_window_behind, mac_hide_window, mac_show_window)
4988 (mac_collapse_window, mac_front_non_floating_window)
4989 (mac_active_non_floating_window, mac_activate_window)
4990 (mac_move_window_structure, mac_move_window, mac_size_window)
4991 (mac_get_global_mouse, mac_is_window_toolbar_visible): New defines.
4992
4993 * macmenu.c [!TARGET_API_MAC_CARBON]: Move includes to mactoolbox.c.
4994 (enum mac_menu_kind): Move enum to mactoolbox.c.
4995 (min_menu_id): Move variable to mactoolbox.c.
4996 (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]: Likewise.
4997 (DIALOG_WINDOW_RESOURCE): Move define to mactoolbox.c.
4998 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
4999 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
5000 [TARGET_API_MAC_CARBON]: Likewise.
5001 (XtPointer): Move typedef to macgui.h.
5002 (enum button_type): Move enum to macgui.h.
5003 (widget_value): Move typedef to macgui.h.
5004 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
5005 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
5006 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
5007 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
5008 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
5009 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
5010 (DIALOG_ICON_TOP_MARGIN): Move defines to macgui.h.
5011 (popup_activated_flag): Make variable non-static.
5012 (x_activate_menubar, install_menu_quit_handler, pop_down_menu)
5013 (add_menu_item, fill_menu, dispose_menus):
5014 Move functions to mactoolbox.c.
5015 (restore_show_help_function, menu_target_item_handler)
5016 (install_menu_target_item_handler, mac_handle_dialog_event)
5017 (install_dialog_event_handler, pop_down_dialog, create_and_show_dialog)
5018 [TARGET_API_MAC_CARBON]: Likewise.
5019 (menu_quit_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: Likewise.
5020 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
5021 (find_and_call_menu_selection, name_is_separator): Make function
5022 non-static.
5023 (Vshow_help_function, timer_check) [TARGET_API_MAC_CARBON]: Move extern
5024 to mactoolbox.c.
5025 (set_frame_menubar): Don't call install_menu_quit_handler.
5026 (menu_item_selection): New variable.
5027 (mac_menu_show): Use create_and_show_popup_menu.
5028 (create_and_show_dialog) [TARGET_API_MAC_CARBON]: Don't return
5029 selection but set variable menu_item_selection. All uses changed.
5030 (mac_fill_menubar): Rename from fill_menubar. All uses changed.
5031 Call install_menu_quit_handler. Move to mactoolbox.c.
5032
5033 * macselect.c [!TARGET_API_MAC_CARBON]: Don't include Scrap.h.
5034 (Selection): Move typedef to macgui.h.
5035 (Vselection_converter_alist, Qmac_scrap_name, Qmac_ostype)
5036 (Vmac_apple_event_map, Qmac_apple_event_class, Qmac_apple_event_id):
5037 Make variables non-static.
5038 (Vmac_dnd_known_types) [TARGET_API_MAC_CARBON]: Likewise.
5039 (mac_handle_apple_event, cleanup_all_suspended_apple_events):
5040 Make functions non-static.
5041 (Vmac_service_selection) [MAC_OSX]: Likewise.
5042 (mac_get_selection_from_symbol, get_flavor_type_from_symbol)
5043 (mac_valid_selection_target_p, mac_clear_selection)
5044 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
5045 (mac_put_selection_value, mac_selection_has_target_p)
5046 (mac_get_selection_value, mac_get_selection_target_list)
5047 (init_apple_event_handler, install_drag_handler, remove_drag_handler):
5048 Move functions to mactoolbox.c.
5049 (mac_do_track_drag, mac_do_receive_drag) [TARGET_API_MAC_CARBON]:
5050 Likewise.
5051 (copy_scrap_flavor_data, mac_handle_service_event)
5052 (install_service_handler) [MAC_OSX]: Likewise.
5053 (syms_of_macselect) <Vmac_dnd_known_types>:
5054 Use mac_dnd_default_known_types.
5055
5056 * macterm.h (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y):
5057 Move to mactoolbox.c.
5058 (HOURGLASS_WIDTH, HOURGLASS_HEIGHT): Change to 15.
5059 (Fx_selection_owner_p): Add EXFUN.
5060 (install_window_handler, remove_window_handler, XSetWindowBackground):
5061 Remove externs.
5062 (do_apple_menu) [!TARGET_API_MAC_CARBON]: Likewise.
5063 (mac_prepare_for_quickdraw) [USE_CG_DRAWING]: Likewise.
5064 (x_raise_frame, x_lower_frame, mac_alert_sound_play)
5065 (install_application_handler, mac_get_frame_bounds, mac_get_frame_mouse)
5066 (mac_convert_frame_point_to_global, mac_set_frame_window_background)
5067 (mac_update_begin mac_update_end, mac_frame_up_to_date, x_flush)
5068 (mac_create_frame_window, mac_dispose_frame_window, mac_begin_clip)
5069 (mac_end_clip, mac_create_scroll_bar, mac_dispose_scroll_bar)
5070 (mac_set_scroll_bar_bounds, mac_redraw_scroll_bar, mac_fill_menubar)
5071 (create_and_show_popup_menu, mac_get_selection_from_symbol)
5072 (mac_valid_selection_target_p, mac_clear_selection)
5073 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
5074 (mac_put_selection_value, mac_selection_has_target_p)
5075 (mac_get_selection_value, mac_get_selection_target_list): Add externs.
5076 (mac_update_proxy_icon, mac_show_hourglass, mac_hide_hourglass)
5077 (mac_reposition_hourglass, mac_file_dialog, create_and_show_dialog)
5078 (mac_dnd_default_known_types) [TARGET_API_MAC_CARBON]: Likewise.
5079 (mac_run_loop_run_once) [MAC_OSX]: Likewise.
5080 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
5081 (mac_begin_cg_clip, mac_end_cg_clip) [USE_CG_DRAWING]: Likewise.
5082 (x_set_toolkit_scroll_bar_thumb) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
5083 (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
5084
5085 * mactoolbox.c: New file.
5086
5087 2008-04-18 Jason Rumney <jasonr@gnu.org>
5088
5089 * dired.c (Ffile_attributes) [WINDOWSNT]: Cast uid and gid to unsigned.
5090
5091 2008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
5092
5093 * character.c (Fmultibyte_char_to_unibyte):
5094 Return latin1 chars unchanged.
5095
5096 * fileio.c (Fexpand_file_name): Refine last fix so `nm' is only
5097 relocated if it points to `name'.
5098
5099 2008-04-17 Kenichi Handa <handa@m17n.org>
5100
5101 * data.c (Faset): Allow setting a multibyte character in an
5102 ASCII-only unibyte string.
5103
5104 * lisp.h (STRING_SET_MULTIBYTE): New macro.
5105
5106 2008-04-16 Stefan Monnier <monnier@iro.umontreal.ca>
5107
5108 * Makefile.in: Don't use HAVE_GTK and don't -DUSE_GTK since it's now
5109 done in config.h.
5110
5111 2008-04-16 Juanma Barranquero <lekktu@gmail.com>
5112
5113 * character.c (Fchar_bytes, Fchar_width, Fstring_width)
5114 (Fchar_direction): Add usage in the docstring.
5115
5116 2008-04-15 Chong Yidong <cyd@stupidchicken.com>
5117
5118 * keyboard.c (read_key_sequence): Remove always-true checks.
5119
5120 2008-04-14 Jason Rumney <jasonr@gnu.org>
5121
5122 * w32font.c (w32font_open_internal): Set max_bounds.descent in
5123 compatibility struct, for better underline positioning.
5124
5125 2008-04-13 David Hansen <david.hansen@gmx.net>
5126
5127 * dbusbind.c (dbus-get-unique-name): Remove extra copying of name
5128 string.
5129
5130 2008-04-12 Dan Nicolaescu <dann@ics.uci.edu>
5131
5132 * m/hp800.h (XUINT, XSET): Remove.
5133
5134 2008-04-12 Juanma Barranquero <lekktu@gmail.com>
5135
5136 * fileio.c (Fexpand_file_name): Add declaration for `p' missing in
5137 previous change.
5138
5139 2008-04-12 Stefan Monnier <monnier@iro.umontreal.ca>
5140
5141 * fileio.c (Fexpand_file_name): Tighten the scope of `p' and `o' vars.
5142 Relocate `nm' after calling DECODE_FILE, in case the GC was run.
5143
5144 2008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
5145
5146 * keymap.h (map_keymap_canonical): Declare.
5147 * xmenu.c (single_keymap_panes): Use it.
5148
5149 2008-04-11 Glenn Morris <rgm@gnu.org>
5150
5151 * eval.c (Fdefvaralias): If the alias is bound and the target is not,
5152 set the target's value to that of the alias.
5153
5154 2008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
5155
5156 * term.c (set_tty_color_mode): Left over typo.
5157
5158 2008-04-10 Michael Albinus <michael.albinus@gmx.de>
5159
5160 * fileio.c (Fmake_symbolic_link): Surround code by #ifdef S_IFLNK
5161 only after check for file name handler functions. Signal, when
5162 native functionality is not supported.
5163 (syms_of_fileio): Declare it unconditionally.
5164
5165 2008-04-10 Jason Rumney <jasonr@gnu.org>
5166
5167 * w32menu.c (is_simple_dialog, simple_dialog_show): New functions.
5168 (Fx_popup_dialog): Handle simple yes/no questions as dialogs.
5169
5170 * w32.c (logon_network_drive): Also logon to remote drives that
5171 are mapped to drive letters.
5172
5173 2008-04-10 Glenn Morris <rgm@gnu.org>
5174
5175 * xdisp.c (truncate-partial-width-windows): Doc fix.
5176
5177 2008-04-10 Stefan Monnier <monnier@iro.umontreal.ca>
5178
5179 * fileio.c (read_file_name_cleanup, Fread_file_name_internal):
5180 Move functions to minibuffer.el.
5181 (syms_of_fileio): Don't declare them.
5182
5183 2008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
5184
5185 * minibuf.c (Vcompletion_auto_help): Move to minibuffer.el.
5186 (syms_of_minibuf): Remove its initialization.
5187
5188 * minibuf.c (temp_echo_area_glyphs): Remove unused function.
5189
5190 2008-04-09 Juanma Barranquero <lekktu@gmail.com>
5191
5192 * editfns.c (Ffield_string_no_properties): Fix typo in docstring.
5193
5194 2008-04-09 Jason Rumney <jasonr@gnu.org>
5195
5196 * makefile.w32-in (distclean): Delete makefile too.
5197 (maintainer-clean): New target.
5198
5199 * xdisp.c (redisplay_internal) [!WINDOWSNT]: Conditionalize last change.
5200
5201 * w32term.c (w32_compute_glyph_string_overhangs): Compute overhangs
5202 for new font backend and composite cases.
5203
5204 2008-04-09 Jan Djärv <jan.h.d@swipnet.se>
5205
5206 * atimer.c (alarm_signal_handler): Call run_timers if not SYNC_INPUT.
5207 Most of the code moved to run_timers.
5208 (do_pending_atimers): Call run_timers.
5209 (run_timers): New function.
5210
5211 * sysdep.c (emacs_write): If SYNC_INPUT and pending_atimers,
5212 run atimers.
5213
5214 * process.c (wait_reading_process_output): The same as above.
5215
5216 2008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
5217
5218 * minibuf.c (last_exact_completion): Remove variable.
5219 (Fdelete_minibuffer_contents, do_completion, Fminibuffer_complete)
5220 (complete_and_exit_1, complete_and_exit_2)
5221 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
5222 (Fdisplay_completion_list, display_completion_list_1)
5223 (Fminibuffer_completion_help, Fself_insert_and_exit)
5224 (Fexit_minibuffer, Fminibuffer_message): Move functions to
5225 minibuffer.el.
5226 (syms_of_minibuf): Remove corresponding initializations.
5227
5228 * keyboard.c (Qdeactivate_mark): New var.
5229 (command_loop_1): Use it to call `deactivate-mark'.
5230 (syms_of_keyboard): Initialize it.
5231
5232 * xdisp.c (redisplay_internal): Reset tty's color_mode when switching
5233 to another frame.
5234 * frame.c (do_switch_frame): Refine the top_frame/async_visible code.
5235 Don't call set_tty_color_mode.
5236 (store_frame_param): Reset previous_frame rather than call
5237 set_tty_color_mode.
5238 * term.c (set_tty_color_mode): Rewrite.
5239 * dispextern.h (set_tty_color_mode): New type.
5240 * termchar.h (struct tty_display_info): Add `previous_color_mode'.
5241
5242 2008-04-08 Stefan Monnier <monnier@iro.umontreal.ca>
5243
5244 * keymap.c (access_keymap): Remove the value 2 for t_ok which was used
5245 for generic chars, which do not exist any more in emacs-unicode.
5246
5247 2008-04-08 Michael Albinus <michael.albinus@gmx.de>
5248
5249 * coding.c (detect_coding_emacs_mule)
5250 (Ffind_operation_coding_system): Fix typo.
5251
5252 2008-04-08 Jason Rumney <jasonr@gnu.org>
5253
5254 * w32uniscribe.c (SNAME): Extract only symbol name.
5255
5256 * w32font.h (struct w32_metric_cache): New struct.
5257 (w32font_info): Use it.
5258 (W32METRIC_NO_ATTEMPT, W32METRIC_SUCCESS, W32METRIC_FAIL)
5259 (CACHE_BLOCKSIZE): New constants.
5260
5261 * w32font.c (Qja, Qko, Qzh): New symbols.
5262 (syms_of_w32font): Initialise them.
5263 (font_matches_spec): Use them to filter by language.
5264 (recompute_cached_metrics): Remove function.
5265 (compute_metrics, clear_cached_metrics): New functions.
5266 (w32font_encode_char): Use them to manage metric cache.
5267 (w32font_text_extents): Cache metrics for all glyphs on demand.
5268 Delay converting glyph indices to WORD until needed.
5269 (w32font_open_internal): Initialize metric cache to empty.
5270 (registry_to_w32_charset): Charset should always be a symbol.
5271 (fill_in_logfont, list_all_matching_fonts): Family should
5272 always be a symbol.
5273
5274 2008-04-06 Jason Rumney <jasonr@gnu.org>
5275
5276 * w32uniscribe.c (uniscribe_shape): Increase items buffer size.
5277 Give up if glyph indices not supported. Use uniscribe obtained
5278 ABC widths for individual metrics. Map glyph clusters back to
5279 characters using fClusterStart flag. Return number of glyphs
5280 produced, not chars processed.
5281 (uniscribe_shape): Map char at FROM to current glyph.
5282
5283 2008-04-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5284
5285 * macmenu.c (fill_menu) [TARGET_API_MAC_CARBON]:
5286 Use SetMenuItemHierarchicalMenu.
5287
5288 2008-04-05 Jason Rumney <jasonr@gnu.org>
5289
5290 * image.c (pbm_load): Allow color values up to 65535.
5291 Throw an error if max_color_idx is outside the supported range.
5292 Report an error when image size is invalid.
5293 Read two bytes at a time when raw images have max_color_idx above 255.
5294
5295 2008-04-05 Eli Zaretskii <eliz@gnu.org>
5296
5297 * w32.c (readdir): If FindFirstFile/FindNextFile return in
5298 cFileName a file name that includes `?' characters, use the 8+3
5299 alias in cAlternateFileName instead.
5300
5301 2008-04-05 Kenichi Handa <handa@ni.aist.go.jp>
5302
5303 * ccl.c (ccl_driver): If ccl->quit_silently is nonzero, don't
5304 append "CCL: Quitted" when the CCL program is quitted.
5305 (setup_ccl_program): Initialize ccl->quit_silently to zero.
5306
5307 * ccl.h (struct ccl_program): New member quit_silently.
5308
5309 2008-04-05 Chong Yidong <cyd@stupidchicken.com>
5310
5311 * search.c (compile_pattern_1): Treat non-nil and non-string of
5312 search-spaces-regexp as nil.
5313
5314 * minibuf.c (Fassoc_string): Tweak docstring.
5315
5316 2008-04-05 Eli Zaretskii <eliz@gnu.org>
5317
5318 * dired.c (Ffile_attributes): Support inode numbers wider than 32
5319 bits. Remove ugly WINDOWSNT-specific kludge introduced on
5320 2008-03-14 to force inode be positive.
5321
5322 * w32.c (sys_chown, stat, fstat): Use S_* constants instead of
5323 _S_* ones, since we now use our own sys/stat.h.
5324 (stat, fstat): Don't mangle the inode number.
5325 (init_user_info): Don't restrict UID and GID to 0-60000 range.
5326
5327 2008-04-04 Stefan Monnier <monnier@iro.umontreal.ca>
5328
5329 * frame.h (struct frame): Give one more bit to `visible' since we use
5330 values larger than 1 to indicate obscured frames on ttys.
5331
5332 * keymap.c (Qkeymap_canonicalize): New var.
5333 (Fmap_keymap_internal): New fun.
5334 (describe_map): Use keymap-canonicalize.
5335
5336 * undo.c (last_boundary_buffer, last_boundary_position): New vars.
5337 (Fundo_boundary): Set them.
5338 (syms_of_undo): Initialize them.
5339 (record_point): Use them instead of last_point_position*.
5340 (last_undo_buffer): Change type.
5341
5342 2008-04-04 Jason Rumney <jasonr@gnu.org>
5343
5344 * w32font.c (w32font_text_extents): Use font's ascent and descent.
5345 (recompute_cached_metrics): Don't set ascent and descent per char.
5346
5347 * w32uniscribe.c (uniscribe_check_otf): Fix last change.
5348 (uniscribe_check_otf): Add GC protection before consing.
5349 Rearrange loop for counting features.
5350
5351 2008-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
5352
5353 * insdel.c (insert_from_buffer_1): Don't compare bytes in destination
5354 buffer with byte-size of source buffer.
5355
5356 2008-04-03 Chong Yidong <cyd@stupidchicken.com>
5357
5358 * callint.c (Fcall_interactively): Handle temporary region even
5359 when shift-select-mode is off.
5360
5361 2008-04-03 Jason Rumney <jasonr@gnu.org>
5362
5363 * w32uniscribe.c (uniscribe_check_otf): Sanity check otf_spec.
5364
5365 2008-04-03 Kenichi Handa <handa@m17n.org>
5366
5367 * coding.c (CATEGORY_MASK_ANY): Add CATEGORY_MASK_UTF_16_AUTO.
5368 (CATEGORY_MASK_UTF_16): Likewise.
5369 (detect_coding_utf_16): Add heuristics to reject utf-16 for a
5370 binary file.
5371 (detect_coding): Add null-byte detection for a binary file.
5372 (detect_coding_system): Likewise.
5373
5374 2008-04-03 Jason Rumney <jasonr@gnu.org>
5375
5376 * w32uniscribe.c: New file.
5377
5378 * font.h (uniscribe_font_driver) [WINDOWSNT]: Declare for w32fns.c.
5379
5380 * w32font.h (uniscribe_check_otf): Declare for w32font.c.
5381
5382 * w32font.c (Qbalinese, Qbuginese, Qbuhid, Qcuneiform, Qcypriot)
5383 (Qdeseret, Qglagolitic, Qgothic, Qhanunoo, Qkharoshthi)
5384 (Qlimbu, Qlinear_b, Qold_italic, Qold_persian, Qosmanya)
5385 (Qphags_pa, Qphoenician, Qshavian, Qsyloti_nagri)
5386 (Qtagalog, Qtagbanwa, Qtai_le, Qtifinagh, Qugaritic)
5387 (Qphonetic): New symbols.
5388 (syms_of_w32font): Initialize them.
5389 (font_supported_scripts): Use them.
5390 (w32font_list_family): List all charsets.
5391 (w32font_text_extents, recompute_cached_metrics): Fix metric
5392 calculations.
5393 (w32_enumfont_pattern_entity): Make full_type a DWORD.
5394 Give opentype fonts their own format.
5395 (font_matches_spec): New arguments backend and logfont.
5396 Handle :otf spec for uniscribe backend.
5397 (add_font_entity_to_list): Match truetype fonts in uniscribe backend.
5398 (fill_in_logfont): Use DEFAULT_CHARSET when charset not supplied.
5399
5400 * w32fns.c (Fx_create_frame): Conditionally register uniscribe
5401 font backend.
5402 (globals_of_w32fns): Initialize uniscribe font backend.
5403
5404 * makefile.w32-in (CONFIG_H): New variable. Use it to clean up
5405 dependencies.
5406 (w32uniscribe.$(O)): New file to build.
5407 (FONT_OBJ): Include w32uniscribe.$(O).
5408 (LIBS): Add uniscribe libraries.
5409
5410 * ftfont.c (ftfont_get_open_type_spec): Check spec->script, not val.
5411
5412 2008-04-02 Chong Yidong <cyd@stupidchicken.com>
5413
5414 * callint.c (Vshift_select_mode): New var.
5415 (Finteractive): Document new ^ spec.
5416 (Fcall_interactively): Call handle-shift-selection if the ^ spec
5417 is present.
5418
5419 * keyboard.c (Vthis_command_keys_shift_translated): New var.
5420 (command_loop_1): Avoid running the direct display versions of
5421 forward-char and backward-char if shift-selection may occur.
5422 (read_key_sequence): Set Vthis_command_keys_shift_translated if
5423 shift-translation takes place.
5424
5425 * buffer.c (Vtransient_mark_mode): Move docstring to simple.el to
5426 avoid clobbering by define-minor-mode.
5427
5428 * cmds.c (Fforward_char, Fbackward_char, Fforward_line)
5429 (Fbeginning_of_line, Fend_of_line): Add ^ interactive spec.
5430
5431 * syntax.c (Fforward_word): Add ^ interactive spec.
5432
5433 * window.c (Fscroll_up, Fscroll_down, Fscroll_left)
5434 (Fscroll_right): Add ^ interactive spec.
5435
5436 2008-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
5437
5438 * xdisp.c (try_window_id): Don't forget to reset delta_bytes.
5439
5440 * casefiddle.c (casify_object): Fix up int/EMACS_INT mixup.
5441
5442 * charset.c (Funibyte_charset, Fset_unibyte_charset): Remove.
5443
5444 2008-03-31 Juri Linkov <juri@jurta.org>
5445
5446 * window.c (Fdisplay_buffer): Reinitialize `tem' to nil.
5447
5448 2008-03-30 Jan Djärv <jan.h.d@swipnet.se>
5449
5450 * gtkutil.c (xg_set_geometry): Fix indentation.
5451 (xg_resize_outer_widget): Remove.
5452 (x_wm_size_hint_off): Fix indentation.
5453 (xg_frame_set_char_size): Call flush_and_sync after
5454 gtk_window_resize.
5455 (x_wm_set_size_hint): Pass NULL as geometry window to
5456 gtk_window_set_geometry_hints due to Gtk+ bug nr 68668.
5457 Add menu bar and tool bar height to base height.
5458 (xg_update_frame_menubar, free_frame_menubar)
5459 (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback)
5460 (update_frame_tool_bar, free_frame_tool_bar):
5461 Change xg_resize_outer_widget to xg_frame_set_char_size.
5462
5463 2008-03-30 Michael Albinus <michael.albinus@gmx.de>
5464
5465 * dbusbind.c (QCdbus_timeout): New D-Bus internal symbol.
5466 (Fdbus_call_method): New parameter TIMEOUT.
5467 (dbus-send-signal): Optimize UNGCPRO call.
5468
5469 2008-03-29 Juri Linkov <juri@jurta.org>
5470
5471 * window.c (Fdisplay_buffer): Move call to
5472 Vsplit_window_preferred_function out of conditions that check
5473 if window is eligible for vertical splitting.
5474 When Vsplit_window_preferred_function is non-nil, call it and use
5475 its non-nil return value as window. Otherwise, continue doing
5476 vertical splitting using Fsplit_window with arg horflag=nil.
5477 (syms_of_window) <Vsplit_window_preferred_function>: Change the
5478 default value from `split-window' to nil.
5479
5480 2008-03-29 Juri Linkov <juri@jurta.org>
5481
5482 * callint.c (Fcall_interactively): Revert 2008-03-16 change
5483 for interactive code letters 'b' and 'B'.
5484
5485 2008-03-29 Eli Zaretskii <eliz@gnu.org>
5486
5487 * fileio.c (Fexpand_file_name): Convert the value of $HOME to a
5488 multibyte string.
5489
5490 2008-03-29 Stefan Monnier <monnier@iro.umontreal.ca>
5491
5492 * keyboard.c (pending_funcalls): New var.
5493 (timer_check): Run it.
5494 (syms_of_keyboard): Initialize it.
5495 * terminal.c (Qrun_hook_with_args, Qdelete_terminal_functions)
5496 (Vdelete_terminal_functions): New vars.
5497 (syms_of_terminal): Initialize them.
5498 (Fdelete_terminal): Run delete-terminal-functions.
5499 * xdisp.c (safe_eval): Rewrite.
5500 (safe_call2): New fun.
5501 * frame.c (Qdelete_frame_functions): New var.
5502 (syms_of_frame): Initialize it.
5503 (Fdelete_frame): Use it and use safe_call2 and pending_funcalls.
5504 * lisp.h (safe_call2, pending_funcalls): Declare.
5505
5506 2008-03-28 Andreas Schwab <schwab@suse.de>
5507
5508 * indent.c (Fmove_to_column): Move declaration before statements.
5509
5510 2008-03-27 Stefan Monnier <monnier@iro.umontreal.ca>
5511
5512 * frame.h (enum fullscreen_type): Give it a name. Move it before use.
5513 (struct frame): Use bit fields for boolean vars.
5514
5515 * process.c (server_accept_connection): Simplify naming.
5516 (emacs_get_tty_pgrp): Use SDATA.
5517
5518 * coding.c (decode_coding_object): Fix last change.
5519
5520 2008-03-27 Jason Rumney <jasonr@gnu.org>
5521
5522 * w32fns.c (start_hourglass): Suppress hourglass on tty frames.
5523
5524 2008-03-27 Kenichi Handa <handa@ni.aist.go.jp>
5525
5526 * charset.c (Fdefine_charset_internal): Change the way of
5527 registering charsets in Vcharset_order_list.
5528 (syms_of_charset): Make the charset `eight-bit' supplementary.
5529
5530 2008-03-26 Alexandre Oliva <aoliva@redhat.com> (tiny change)
5531
5532 * regex.c (EXTEND_BUFFER): Change order of pointer addition
5533 operations, to avoid having the difference between pointers
5534 overflow.
5535
5536 2008-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
5537
5538 * indent.c (check_display_width): New fun.
5539 (scan_for_column): Use it.
5540
5541 * data.c (syms_of_data): Mark most-positive-fixnum and
5542 most-negative-fixnum as constants.
5543
5544 * xdisp.c (redisplay_internal): Reset selected_frame earlier.
5545
5546 * indent.c (scan_for_column): Extract from current_column_1.
5547 Merge with the same code from Fmove_to_column.
5548 (current_column_1, Fmove_to_column): Use it.
5549
5550 2008-03-25 Stefan Monnier <monnier@iro.umontreal.ca>
5551
5552 * keymap.c (map_keymap_internal): New fun.
5553 (map_keymap): Use it.
5554 (Fmap_keymap_internal): New fun.
5555 (Fmap_keymap): Remove left-out test from before make_save_value.
5556
5557 * keymap.c (Fmap_keymap): Use `map-keymap-sorted.
5558
5559 * frame.c (Fmodify_frame_parameters, x_set_frame_parameters):
5560 Use XCAR/XCDR.
5561
5562 * process.h (struct Lisp_Process): Remove filter_multibyte.
5563 * process.c (QCfilter_multibyte): Remove.
5564 (setup_process_coding_systems): Don't use filter_multibyte.
5565 (Fstart_process, Fmake_network_process): Don't set filter_multibyte.
5566 (read_process_output): Don't adjust multibyteness to filter_multibyte.
5567 (Fset_process_filter_multibyte): Change the coding-system to
5568 approximate the previous behavior.
5569 (Fprocess_filter_multibyte_p): Get the multibyteness straight from the
5570 coding-system.
5571
5572 * coding.c (decode_coding_object): When not decoding into a buffer,
5573 obey the coding system's preference of (uni|multi)byte.
5574
5575 2008-03-24 Stefan Monnier <monnier@iro.umontreal.ca>
5576
5577 * casefiddle.c (casify_object): Avoid pathological N^2 worst case if
5578 every char is changed and has a different byte-length.
5579 (Fupcase_word, Fdowncase_word, Fcapitalize_word, operate_on_word):
5580 Fix int -> EMACS_INT.
5581
5582 2008-03-23 David Hansen <david.hansen@gmx.net>
5583
5584 * dbusbind.c (xd_read_message): Remove extra copying of message
5585 strings. Check for NULL `interface' or `member'.
5586
5587 2008-03-22 Eli Zaretskii <eliz@gnu.org>
5588
5589 * w32.c (readdir): If FindFirstFile/FindNextFile return in
5590 cFileName a file name that includes `?' characters, use the 8+3
5591 alias in cAlternateFileName instead.
5592
5593 2008-03-21 Stefan Monnier <monnier@iro.umontreal.ca>
5594
5595 * buffer.c (enlarge_buffer_text): Fix int -> EMACS_INT.
5596
5597 2008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
5598
5599 * intervals.c (temp_set_point, temp_set_point_both): Use EMACS_INT.
5600 (set_point, set_point_both): Use EMACS_INT. Remove `buffer' arg,
5601 work on current_buffer only instead (that was already the case
5602 for some of the code anyway).
5603 * buffer.h (set_point, set_point_both): Remove buffer arg, use long int.
5604 (temp_set_point, temp_set_point_both): Use EMACS_INT.
5605 (SET_PT, SET_PT_BOTH): Adjust.
5606 * intervals.h (set_point, temp_set_point, set_point_both)
5607 (temp_set_point_both): Remove redundant declarations.
5608
5609 2008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
5610
5611 * fileio.c (Finsert_file_contents):
5612 * lread.c (Feval_buffer): Use BUF_TEMP_SET_PT.
5613 * buffer.h (BUF_SET_PT): Remove. set_point_both doesn't work right
5614 when buffer != current_buffer anyway.
5615
5616 2008-03-20 Andreas Schwab <schwab@suse.de>
5617
5618 * callint.c (Fcall_interactively) [case 'B']: Use other-buffer
5619 as default.
5620
5621 2008-03-19 Jason Rumney <jasonr@gnu.org>
5622
5623 * w32fns.c (hourglass_timer, hourglass_hwnd): New variables.
5624 (syms_of_w32fns): Initialize them.
5625 (HOURGLASS_ID): New constant.
5626 (x_window_to_frame): Don't check hourglass_window.
5627 (w32_wnd_proc) <WM_TIMER>: Handle hourglass_timer.
5628 (w32_wnd_proc) <WM_EXITMENULOOP>: Set pending hourglass cursor.
5629 (w32_wnd_proc) <WM_SETCURSOR>: Set the hourglass or current cursor.
5630 (w32_wnd_proc) <WM_EMACS_SETCURSOR>: Set frame's current_cursor.
5631 Only change the cursor if hourglass is not active.
5632 (Fx_create_frame): Initialize frame's current_cursor.
5633 (hourglass_atimer): Remove.
5634 (hourglass_started): New function.
5635 (start_hourglass, cancel_hourglass, hide_hourglass): Adapt to w32.
5636 (show_hourglass): Adapt to w32, changing argument to frame.
5637
5638 * w32term.h (struct w32_output): Remove hourglass_window.
5639 Add current_cursor.
5640
5641 * eval.c (call_debugger, Fsignal):
5642 * keyboard.c (recursive_edit_1, cmd_error, Ftop_level)
5643 (command_loop_1, Fread_key_sequence, Fread_key_sequence_vector)
5644 (Fexecute_extended_command, cancel_hourglass_unwind):
5645 * minibuf.c (read_minibuf):
5646 * fns.c (Fy_or_n_p): Enable hourglass when HAVE_WINDOW_SYSTEM.
5647
5648 2008-03-19 Stefan Monnier <monnier@iro.umontreal.ca>
5649
5650 * window.c (run_funs): New fun.
5651 (run_window_configuration_change_hook): Use it to run the buffer-local
5652 and the global part of the hook.
5653
5654 * xdisp.c (format_mode_line_unwind_data): Add window argument.
5655 (unwind_format_mode_line): Restore selected window.
5656 (x_consider_frame_title, Fformat_mode_line): Set selected window.
5657
5658 2008-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
5659
5660 * editfns.c (Fchar_equal): Check they are valid characters.
5661
5662 * buffer.h (Fbuffer_list): Declare (for use in callint.c).
5663
5664 2008-03-17 Andreas Schwab <schwab@suse.de>
5665
5666 * regex.c (re_match_2_internal): Properly match raw 8-bit bytes
5667 against a charset.
5668
5669 * lisp.h (Fbuffer_list): Declare.
5670
5671 2008-03-17 Jan Djärv <jan.h.d@swipnet.se>
5672
5673 * gtkutil.c (free_frame_tool_bar): Only call gtk_container_remove if
5674 handlebox_widget is != 0.
5675
5676 2008-03-16 Juri Linkov <juri@jurta.org>
5677
5678 * callint.c (Fcall_interactively): For interactive code letters
5679 'b' and 'B' put the buffer list into the list of default "future"
5680 values of the minibuffer.
5681
5682 2008-03-16 Andreas Schwab <schwab@suse.de>
5683
5684 * keyboard.c (read_key_sequence): Fix downcasing of letters with
5685 modifiers.
5686
5687 * regex.c (re_match_2_internal): Correct matching of a charset
5688 against latin-1 characters.
5689
5690 2008-03-16 Kenichi Handa <handa@m17n.org>
5691
5692 * coding.c (CHAR_STRING_ADVANCE_NO_UNIFY)
5693 (STRING_CHAR_ADVANCE_NO_UNIFY): New macros.
5694 (coding_alloc_by_making_gap): Fix the way to preserve data in the gap.
5695 (alloc_destination): Fix the 2nd arg to coding_alloc_by_making_gap.
5696 (encode_coding_utf_8): Use CHAR_STRING_ADVANCE_NO_UNIFY instead of
5697 CHAR_STRING_ADVANCE.
5698 (produce_chars): Fix for the case that the source and the
5699 destination are the same buffer. Use CHAR_STRING_ADVANCE_NO_UNIFY
5700 instead of CHAR_STRING_ADVANCE.
5701 (consume_chars): Use STRING_CHAR_ADVANCE_NO_UNIFY instead of
5702 STRING_CHAR_ADVANCE.
5703
5704 2008-03-15 Andreas Schwab <schwab@suse.de>
5705
5706 * regex.c (re_match_2_internal): Correct matching of eight bit
5707 characters in unibyte strings.
5708
5709 2008-03-15 Martin Rudalics <rudalics@gmx.at>
5710
5711 * buffer.c (overlays_in, Foverlays_in): Include empty overlays
5712 at end of range when it coincides with the end of the buffer.
5713
5714 2008-03-14 Eli Zaretskii <eliz@gnu.org>
5715
5716 * dired.c (Ffile_attributes) [WINDOWSNT]: Force inode be positive.
5717
5718 * w32fns.c (globals_of_w32fns, Fx_create_frame): Fix last change.
5719
5720 2008-03-14 Jason Rumney <jasonr@gnu.org>
5721
5722 * editfns.c (initial_tz): New variable.
5723 (syms_of_editfns): Initialize it.
5724 (Fset_time_zone_rule): Set it when first called.
5725 Use it when TZSTRING is nil.
5726
5727 * w32fns.c (MONITOR_DEFAULT_TO_NEAREST, struct MONITOR_INFO)
5728 (MonitorFromPoint_Proc, GetMonitorInfo_Proc): New definitions.
5729 (monitor_from_point_fn, get_monitor_info_fn): New globals.
5730 (globals_of_w32fns): Initialize them.
5731 (compute_tip_xy): Use them to position tooltips.
5732
5733 2008-03-14 Glenn Morris <rgm@gnu.org>
5734
5735 * emacs.c (main): Revert previous change.
5736 (standard_args): Revert -internal-script back to -scriptload,
5737 and remove the long-option form.
5738
5739 2008-03-13 Glenn Morris <rgm@gnu.org>
5740
5741 * emacs.c (main, standard_args): Rename -scriptload to -internal-script.
5742 Remove option -enable-font-backend.
5743
5744 2008-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
5745
5746 * buffer.c (Fswitch_to_buffer): Fall back on pop-to-buffer.
5747
5748 2008-03-11 Jan Djärv <jan.h.d@swipnet.se>
5749
5750 * xterm.c (x_connection_closed): For GTK: If this is the last
5751 terminal just exit without closing the display.
5752
5753 2008-03-11 Jason Rumney <jasonr@gnu.org>
5754
5755 * w32font.c (w32font_full_name): Use floor to round.
5756
5757 2008-03-10 dhruva <dhruvakm@gmail.com> (tiny change)
5758
5759 * sound.c (alsa_configure): Declare vol at beginning of block.
5760
5761 * fontset.c (Ffontset_info): Remove extra semicolon.
5762
5763 2008-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
5764
5765 * fileio.c (Fsubstitute_in_file_name): Fix up computation of maximum
5766 size of resulting string.
5767
5768 2008-03-10 Jason Rumney <jasonr@gnu.org>
5769
5770 * dispnew.c (adjust_glyph_matrix): Initialize window_height.
5771
5772 2008-03-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5773
5774 * xdisp.c (handle_single_display_spec): Undo 2007-10-16 changes.
5775 Don't pretend as if characters with display property haven't been
5776 consumed for string-replacing-string case.
5777
5778 2008-03-08 Kim F. Storm <storm@cua.dk>
5779
5780 * xdisp.c (GET_NEXT_DISPLAY_ELEMENT): New macro.
5781 (get_next_display_element, next_element_from_string)
5782 (next_element_from_ellipsis, next_element_from_buffer): Use it.
5783
5784 2008-03-08 Andreas Schwab <schwab@suse.de>
5785
5786 * process.h (struct Lisp_Process): Declare bit fields as unsigned.
5787
5788 2008-03-06 Jason Rumney <jasonr@gnu.org>
5789
5790 * w32font.c (w32_registry): Take font_type argument. Use ANSI
5791 when charset not specified. Only translate ANSI to unicode when
5792 font_type is truetype.
5793 (w32font_coverage_ok): New function.
5794 (add_font_entity_to_list): Use it to filter unsuitable fonts.
5795
5796 2008-03-05 Kenichi Handa <handa@ni.aist.go.jp>
5797
5798 * lread.c (Fread_char): Resolve modifiers.
5799 (Fread_char_exclusive): Likewise.
5800
5801 * character.c (char_resolve_modifier_mask): New function.
5802 (char_string): Use char_resolve_modifier_mask.
5803 (Fchar_resolve_modifiers): New function.
5804 (syms_of_character): Declare Fchar_resolve_modifiers as Lisp
5805 function.
5806
5807 2008-03-04 Jason Rumney <jasonr@gnu.org>
5808
5809 * makefile.w32-in: Always include w32font.c in the build.
5810 * w32font.c: Wrap in USE_FONT_BACKEND conditional.
5811
5812 2008-03-04 Andreas Schwab <schwab@suse.de>
5813
5814 * Makefile.in (clean): Remove emacs-*.*.* instead of emacs-*.
5815 (versionclean): Likewise.
5816
5817 2008-03-04 Juanma Barranquero <lekktu@gmail.com>
5818
5819 * .cvsignore: Add oo.
5820
5821 2008-03-03 Andreas Schwab <schwab@suse.de>
5822
5823 * coding.c (decode_coding_object): Inhibit gap shrinking while
5824 decoding in place.
5825
5826 2008-03-03 Dan Nicolaescu <dann@ics.uci.edu>
5827
5828 * w32term.c: Remove unused include "gnu.h".
5829 * makefile.w32-in (w32term.o): Don't depend on gnu.h.
5830
5831 * gnu.h: Rename to ...
5832 * emacs-icon.h: ... this.
5833 * xterm.c: Use emacs-icon.h instead of gnu.h.
5834 * Makefile (xterm.o): Depend on emacs-icon.h, not gnu.h.
5835
5836 2008-03-03 Juanma Barranquero <lekktu@gmail.com>
5837
5838 * w32font.c: Include math.h.
5839
5840 2008-03-03 Jason Rumney <jasonr@gnu.org>
5841
5842 * w32font.c (recompute_cached_metrics): Change font arg to w32font_info.
5843 Compute options separately.
5844 (w32font_open_internal): Set glyph_idx before caching metrics.
5845
5846 * w32font.h (NTM_PS_OPENTYPE, NTM_TT_OPENTYPE, NTM_TYPE1):
5847 Define if system headers don't.
5848 (struct w32font_info): Enlarge ascii_metrics. Add glyph_idx.
5849 (w32font_encode_char): Don't declare here.
5850
5851 * w32font.c (Quniscribe, QCformat): New symbols.
5852 (syms_of_w32font): Define them.
5853 (w32font_has_char): Indicate uncertainty.
5854 (w32font_encode_char): Encode as glyph point. Make static.
5855 (recompute_cached_metrics): New function.
5856 (w32font_open_internal): Use it. Set font to use glyph points
5857 initially. Set format based on type of font.
5858 (w32font_text_extents, w32font_draw): Optionally use glyph points.
5859 (w32_enumfont_pattern_entity): Accept backend arg. Set type based
5860 on it. Set format based on information available here.
5861 (add_font_entity_to_list): Identify backend based on opentype_only.
5862
5863 2008-03-02 Andreas Schwab <schwab@suse.de>
5864
5865 * ftfont.c (ftfont_pattern_entity): Fix aliasing violations.
5866
5867 * coding.c (decode_coding_big5, produce_chars):
5868 Fix typos in last change.
5869
5870 2008-03-02 Kentaro Ohkouchi <nanasess@fsm.ne.jp>
5871
5872 * gnu.h: New icon.
5873
5874 2008-03-02 Kenichi Handa <handa@m17n.org>
5875
5876 * coding.c (decode_coding_utf_8): When eol-type of CODING is
5877 `dos', don't decode '\r' if that is the last in the source.
5878 (decode_coding_utf_16, decode_coding_emacs_mule)
5879 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
5880 (decode_coding_raw_text, decode_coding_charset): Likewise.
5881 (produce_chars): Don't decode EOL here. Use EMACS_INT.
5882
5883 2008-03-01 Jason Rumney <jasonr@gnu.org>
5884
5885 * w32font.c (w32font_full_name): Report point size for scalable fonts.
5886
5887 2008-03-01 Kim F. Storm <storm@cua.dk>
5888
5889 * dispextern.h (CHAR_GLYPH_SPACE_P): Check for default face.
5890
5891 2008-03-01 Jason Rumney <jasonr@gnu.org>
5892
5893 * w32font.c (w32font_full_name): New function.
5894 (w32font_open_internal): Use it.
5895
5896 2008-03-01 Kim F. Storm <storm@cua.dk>
5897
5898 * dispnew.c (line_draw_cost): Fix invalid glyph check.
5899
5900 2008-03-01 Jason Rumney <jasonr@gnu.org>
5901
5902 * font.c (font_unparse_fcname): Increase len when style is a symbol.
5903
5904 2008-03-01 Jan Djärv <jan.h.d@swipnet.se>
5905
5906 * xterm.c (handle_one_xevent): For Gtk+ and ConfigureNotify, call
5907 xg_frame_resized when the event is for the edit widget.
5908
5909 * gtkutil.h (xg_frame_resized): Renamed from xg_resize_widgets.
5910
5911 * gtkutil.c (xg_resize_outer_widget): Only do one of set_geometry or
5912 set_char_size.
5913 (xg_frame_resized): Renamed from xg_resize_widgets. Remove all
5914 operations on widgets here. Just set frame size if needed.
5915 (flush_and_sync, x_wm_size_hint_off, xg_pack_tool_bar): New functions.
5916 (xg_frame_set_char_size): Call x_wm_size_hint_off before resizing.
5917 (x_wm_set_size_hint): Set size hints on the edit widget only, not
5918 the whole frame.
5919 (xg_create_tool_bar): Move attachement of the tool bar to
5920 xg_pack_tool_bar. Do not attach the tool bar if there are no items.
5921 (free_frame_tool_bar): Remove call to SET_FRAME_GARBAGED.
5922
5923 2008-03-01 Jason Rumney <jasonr@gnu.org>
5924
5925 * w32fns.c (w32_msg_pump): Disable debug code.
5926
5927 2008-03-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5928
5929 * m/intel386.h [MAC_OSX || DARWIN]: Define NO_ARG_ARRAY if _LP64.
5930
5931 2008-02-29 Chong Yidong <cyd@stupidchicken.com>
5932
5933 * xdisp.c (next_overlay_string): Don't set
5934 overlay_strings_at_end_processed_p if we're currently reading from
5935 a display string.
5936
5937 2008-02-29 Stefan Monnier <monnier@iro.umontreal.ca>
5938
5939 * xdisp.c (get_overlay_strings_1): Fix typo.
5940
5941 2008-02-29 Chong Yidong <cyd@stupidchicken.com>
5942
5943 * xdisp.c (get_overlay_strings_1): Add missing argument type.
5944
5945 2008-02-28 Kenichi Handa <handa@ni.aist.go.jp>
5946
5947 * ftfont.c (ftfont_match): Explicitly set pixelsize in pattern.
5948
5949 * xdisp.c (display_mode_element): Cancel the previous change.
5950 (decode_mode_spec): Likewise.
5951 (handle_auto_composed_prop): Don't make composition if it->string
5952 is a string.
5953
5954 2008-02-27 Kim F. Storm <storm@cua.dk>
5955
5956 * lisp.h (GLYPH): Change type from int to struct with separate char
5957 and face_id members.
5958 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Delete macros.
5959 (GLYPH_CHAR, GLYPH_FACE): Remove slow versions with frame arg.
5960 (FAST_GLYPH_CHAR, FAST_GLYPH_FACE): Rename macros to ...
5961 (GLYPH_CHAR, GLYPH_FACE): ... these. Change users.
5962 (FAST_MAKE_GLYPH, MAKE_GLYPH): Remove. Rewrite users to use ...
5963 (SET_GLYPH, SET_GLYPH_CHAR, SET_GLYPH_FACE): ... these macros instead.
5964 (GLYPH_CODE_CHAR, GLYPH_CODE_FACE, GLYPH_CODE_P)
5965 (GLYPH_CODE_CHAR_VALID_P, SET_GLYPH_FROM_GLYPH_CODE): New macros to
5966 handle new Lisp glyph code encoding, either an integer or a cons.
5967
5968 * disptab.h (GLYPH_SIMPLE_P): Rewrite.
5969 (GLYPH_ALIAS): Delete.
5970 (GLYPH_ALIAS_P, GLYPH_FOLLOW_ALIASES): Rewrite.
5971 (GLYPH_LENGTH, GLYPH_STRING): Use GLYPH_CHAR.
5972 (GLYPH_FROM_CHAR): Replace macro by ...
5973 (SET_GLYPH_FROM_CHAR): ... this macro. Change users.
5974
5975 * dispextern.h (CHAR_GLYPH_SPACE_P): Simplify.
5976 (GLYPH_FROM_CHAR_GLYPH): Replace macro by ...
5977 (SET_GLYPH_FROM_CHAR_GLYPH): ... this macro. Change users.
5978 (GLYPH_INVALID_P): New macro.
5979 (spec_glyph_lookup_face): Update prototype.
5980
5981 * dispnew.c (line_draw_cost): Adapt to new glyph type.
5982 (build_frame_matrix_from_leaf_window): Adapt to new glyph type and
5983 new glyph code encoding.
5984 (spec_glyph_lookup_face): No return value; update passed glyph instead.
5985 (init_display): Use SET_CHAR_GLYPH to initialize space_glyph.
5986
5987 * xdisp.c (get_next_display_element, next_element_from_display_vector):
5988 Adapt to new glyph type and new glyph code encoding.
5989
5990 * term.c (encode_terminal_code, produce_special_glyphs): Likewise.
5991
5992 * indent.c (current_column, current_column_1, Fmove_to_column)
5993 (compute_motion): Adapt to new glyph code encoding.
5994
5995 * msdos.c (IT_write_glyphs): Adapt to new glyph type.
5996
5997 2008-02-27 Chong Yidong <cyd@stupidchicken.com>
5998
5999 * process.c (wait_reading_process_output): Check for window
6000 changes caused by timers.
6001 Suggested by Johan Bockgård.
6002
6003 2008-02-27 Glenn Morris <rgm@gnu.org>
6004
6005 * emacs.c (USAGE1): Add `--disable-font-backend'.
6006
6007 2008-02-27 Stefan Monnier <monnier@iro.umontreal.ca>
6008
6009 * fileio.c (Finsert_file_contents): Don't reset undo_list if no change
6010 is made to the buffer.
6011
6012 2008-02-26 Stefan Monnier <monnier@iro.umontreal.ca>
6013
6014 * dispextern.h (face_at_buffer_position, face_for_overlay_string)
6015 (face_at_string_position):
6016 * xfaces.c (face_at_buffer_position, face_for_overlay_string)
6017 (face_at_string_position):
6018 * xdisp.c (display_string, next_overlay_change):
6019 * buffer.h (overlays_at):
6020 * buffer.c (overlays_at): Use EMACS_INT for buffer positions.
6021 Update callers.
6022
6023 2008-02-26 Chong Yidong <cyd@stupidchicken.com>
6024
6025 * editfns.c (Fformat): Doc fix.
6026
6027 2008-02-26 Juanma Barranquero <lekktu@gmail.com>
6028
6029 * font.c (Ffont_spec, Ffont_at): Fix typos in docstrings.
6030 (Ffont_put, Flist_families, Ffont_fill_gstring, Ffont_drive_otf)
6031 (Ffont_otf_alternates, Fquery_font): Doc fixes.
6032
6033 2008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
6034
6035 * buffer.c (Fbuffer_swap_text): New function.
6036 (syms_of_buffer): Defsubr it.
6037
6038 2008-02-25 Chong Yidong <cyd@stupidchicken.com>
6039
6040 * keyboard.c (command_loop_1): Revert 2006-10-09 change.
6041
6042 2008-02-25 Jason Rumney <jasonr@gnu.org>
6043
6044 * w32font.c (w32font_draw): Draw one character at a time when padding.
6045
6046 2008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
6047
6048 * window.c (Fdelete_window, Fadjust_window_trailing_edge):
6049 Handle a nil arg. Use run_window_configuration_change_hook.
6050 (delete_window, adjust_window_trailing_edge): Don't handle nil any more.
6051 (Fenlarge_window, Fshrink_window, Fset_window_configuration):
6052 Use run_window_configuration_change_hook.
6053
6054 2008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
6055
6056 * xdisp.c (x_produce_glyphs): For a visible glyph, assure at least
6057 1-pixel width.
6058
6059 2008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
6060
6061 * xdisp.c (fill_glyph_string): Pay attention to glyph->padding_p.
6062 (append_glyph): Set glyph->pixel_width and glyph->padding_p to 1
6063 if the glyph in the font is zero pixel with.
6064
6065 * dispextern.h (struct glyph_string): New member padding_p.
6066
6067 * w32font.c (w32font_draw): Pay attention to s->padding_p.
6068
6069 * ftxfont.c (ftxfont_draw): Pay attention to s->padding_p.
6070
6071 * xfont.c (xfont_draw): Pay attention to s->padding_p.
6072
6073 * xftfont.c (xftfont_draw): Pay attention to s->padding_p.
6074
6075 * font.c: If the font driver doesn't have `shape' function, return Qnil.
6076
6077 2008-02-25 Jason Rumney <jasonr@gnu.org>
6078
6079 * w32fns.c (enum_font_cb2): Don't use raster fonts for Unicode.
6080
6081 2008-02-24 Stefan Monnier <monnier@iro.umontreal.ca>
6082
6083 Allow fine-grained image-cache flushing.
6084 * dispextern.h (struct image): Add `dependencies' field.
6085 (clear_image_caches): Change arg to Lisp_Object.
6086 * image.c (make_image): Initialize `dependencies' field.
6087 (clear_image_cache): Change arg to allow fine-grained flushing.
6088 Perform the flush even if image-cache-eviction-delay is nil.
6089 (clear_image_caches): Change arg to Lisp_Object.
6090 (Fclear_image_cache): Expand meaning of the argument.
6091 (mark_image): Mark `dependencies' field.
6092 * xfaces.c (clear_face_cache): Adapt arg to call to clear_image_caches.
6093 (lface_hash): Use XHASH rather than XFASTINT.
6094 (face_at_buffer_position): Fix int -> EMACS_INT position.
6095 * xdisp.c (next_overlay_change): Fix int -> EMACS_INT position.
6096 (select_frame_for_redisplay): Remove code duplication.
6097 (redisplay_internal): Adapt arg to call to clear_image_caches.
6098
6099 2008-02-24 Dan Nicolaescu <dann@ics.uci.edu>
6100
6101 * s/vms4-0.h:
6102 * s/vms4-2.h:
6103 * s/vms4-4.h:
6104 * s/vms5-5.h: Remove, unused.
6105
6106 * s/irix5-2.h:
6107 * s/irix6-0.h:
6108 * s/riscos5.h:
6109 * s/mach-bsd4-3.h:
6110 * m/mips4.h: Remove files for obsolete systems.
6111
6112 * Makefile.in:
6113 * filelock.c:
6114 * unexmips.c:
6115 * m/hp9000s300.h:
6116 * m/iris4d.h:
6117 * s/aix3-1.h:
6118 * s/hpux.h:
6119 * s/msdos.h:
6120 * s/usg5-0.h:
6121 * s/usg5-2-2.h:
6122 * s/usg5-2.h:
6123 * s/usg5-3.h: Remove references to obsolete variables.
6124
6125 * s/irix5-0.h: Remove, move all the contents ...
6126 * s/irix6-5.h: ... here. Simplify.
6127 * config.in: Regenerate.
6128
6129 2008-02-24 Jason Rumney <jasonr@gnu.org>
6130
6131 * w32term.c (x_draw_glyph_string_background): Clear the background
6132 manually when cleartype is in use.
6133 (x_draw_glyph_string_foreground): Draw text transparently when
6134 cleartype is in use.
6135
6136 * w32font.c (w32font_text_extents): Avoid getting HDC and selecting
6137 a font into it unless we have to.
6138
6139 2008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
6140
6141 * intervals.h (INT_LISPLIKE): Remove. It may misfire.
6142 (NULL_INTERVAL_P, SET_INTERVAL_PARENT): Don't use it.
6143
6144 2008-02-18 Jason Rumney <jasonr@gnu.org>
6145
6146 * w32fns.c (Fw32_shell_execute): Encode parameters.
6147
6148 2008-02-09 Eli Zaretskii <eliz@gnu.org>
6149
6150 * fileio.c (syms_of_fileio) <insert-default-directory>: Doc fix.
6151
6152 2008-02-05 Juanma Barranquero <lekktu@gmail.com>
6153
6154 * unexhp9k800.c (read_header): Replace `legal' with `valid'.
6155
6156 2008-02-24 Ulrich Neumerkel <ulrich@complang.tuwien.ac.at> (tiny change)
6157
6158 * xterm.c (x_set_offset): Don't change the gravity if
6159 CHANGE_GRAVITY is -1.
6160
6161 2008-02-23 Chong Yidong <cyd@stupidchicken.com>
6162
6163 * fileio.c (auto_save_error_occurred): New var.
6164 (auto_save_error): Set it.
6165 (Fdo_auto_save): Don't overwrite the error message if an auto-save
6166 error occurred.
6167
6168 2008-02-23 Eli Zaretskii <eliz@gnu.org>
6169
6170 * w32.c (globals_of_w32): Add initializations for
6171 g_b_init_get_sid_sub_authority and
6172 g_b_init_get_sid_sub_authority_count.
6173
6174 2008-02-22 Stefan Monnier <monnier@iro.umontreal.ca>
6175
6176 * font.c (font_match_xlfd, font_check_xlfd_parse): New funs.
6177 (font_parse_xlfd): Use them for sanity check.
6178 (Finternal_set_font_style_table): Make sure the table is bijective.
6179
6180 Consolidate the image_cache to the terminal struct.
6181 * termhooks.h (P_): Remove redundant def.
6182 (struct terminal): New field `image_cache'.
6183 * frame.h (FRAME_IMAGE_CACHE): New macro. Use it everywhere in place
6184 of FRAME_X_IMAGE_CACHE.
6185 * xterm.h (struct x_display_info): Remove image_cache field.
6186 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
6187 * w32term.h (struct w32_display_info): Remove image_cache field.
6188 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
6189 * macterm.h (struct mac_display_info): Remove image_cache field.
6190 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
6191 * xterm.c (x_term_init):
6192 * w32term.c (w32_term_init):
6193 * macterm.c (mac_term_init): Set the image_cache in the terminal.
6194 * dispextern.h (clear_image_cache, forall_images_in_image_cache):
6195 Remove declarations.
6196 (clear_image_caches, mark_image_cache): New declarations.
6197 * xfaces.c (clear_face_cache):
6198 * xdisp.c (redisplay_internal): Use clear_image_caches.
6199 * image.c (clear_image_cache): Don't check that a frame is on
6200 a window-system before checking if it shares the same cache.
6201 (clear_image_caches): New function.
6202 (Fclear_image_cache): Use it.
6203 (mark_image): Move from allo.c.
6204 (mark_image_cache): Move from alloc.c and forall_images_in_image_cache.
6205 * alloc.c (mark_image, mark_image_cache): Move to image.c.
6206 (mark_object): Don't call mark_image_cache for frames.
6207 (mark_terminals): Call mark_image_cache.
6208
6209 * lisp.h (Fdelete_terminal): Declare.
6210
6211 * charset.h (CHECK_CHARSET, CHECK_CHARSET_GET_ID)
6212 (CHECK_CHARSET_GET_ATTR): Don't use the inexistent return value of
6213 wrong_type_argument.
6214
6215 2008-02-22 Kenichi Handa <handa@ni.aist.go.jp>
6216
6217 * Makefile.in (lisp): Remove devanagari.el, kannada.el,
6218 malayalam.el, and tamil.el. Add sinhala.el.
6219
6220 2008-02-21 Stefan Monnier <monnier@iro.umontreal.ca>
6221
6222 * xterm.c (x_connection_closed): Consolidate identical tests.
6223 (x_delete_terminal): Don't crash if called via x_connection_closed.
6224
6225 2008-02-21 Kenichi Handa <handa@ni.aist.go.jp>
6226
6227 * xdisp.c (decode_mode_spec): New arg string.
6228 (display_mode_element): Adjust for the above change.
6229
6230 2008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
6231
6232 * callint.c (Fcall_interactively): Use AREF.
6233
6234 2008-02-18 Stefan Monnier <monnier@iro.umontreal.ca>
6235
6236 * font.c (font_unparse_xlfd): Don't ignore integer pixel size specs.
6237
6238 2008-02-18 Jan Djärv <jan.h.d@swipnet.se>
6239
6240 * xfns.c (Fx_show_tip): Set string to " " if empty.
6241
6242 2008-02-17 Dan Nicolaescu <dann@ics.uci.edu>
6243
6244 * callint.c (syms_of_callint): Initialize Vmark_even_if_inactive
6245 with Qt.
6246
6247 2008-02-17 Kenichi Handa <handa@m17n.org>
6248
6249 * ftfont.c (ftfont_shape): Return Lispy number.
6250
6251 * xfaces.c (prepare_face_for_display): Use display_info->font->fid
6252 for GCs.
6253 (Finternal_set_font_selection_order): Call font_update_sort_order
6254 only when enable_font_backend is set.
6255 (realize_x_face): Set face->font_info to that of default face only
6256 when enable_font_backend is set.
6257
6258 * xdisp.c (handle_composition_prop): Set it->c to the fist
6259 characte of the composed region.
6260 (fill_composite_glyph_string): Set base_face->font_info to
6261 s->font_info. Get a face for ascii from base_face->ascii_face.
6262 (BUILD_COMPOSITE_GLYPH_STRING): Call fill_composite_glyph_string
6263 with a face already decided.
6264 (x_produce_glyphs): Be sure to set it->ascent and it->descent to
6265 non-negative.
6266 (x_produce_glyphs): If the composition method is ..._WITH_GLYPH_STRING,
6267 call font_prepare_composition unconditionally.
6268
6269 * xfns.c (x_make_gc): Use the default font id of the frame for GCs.
6270
6271 * xterm.h (struct x_display_info): New member font.
6272
6273 * xterm.c (x_set_cursor_gc): Use display_info->font->fid for GCs.
6274 (x_set_mouse_face_gc, x_new_font): Likewise.
6275 (x_term_init): Setup display_info->font.
6276 (x_delete_terminal): Free display_info->font.
6277
6278 * xfont.c (xfont_draw): Use BLOCK_INPUT and UNBLOCK_INPUT.
6279
6280 * ftxfont.c (ftxfont_default_fid): Delete it.
6281 (ftxfont_open): Set xfont->fid to 0.
6282 (ftxfont_end_for_frame): Clear data specific to the frame and the
6283 font-driver.
6284
6285 * xftfont.c (xftfont_default_fid): Delete it.
6286 (xftfont_open): Set xfont->fid to 0.
6287
6288 * fontset.c (FONTSET_OBJLIST): New macro.
6289 (fontset_find_font): Update font-object list of the fontset.
6290 (free_realized_fontset): New function.
6291 (free_face_fontset): Call free_realized_fontset.
6292 (Ffont_info): Call font_close_object only when enable_font_backend
6293 is set.
6294
6295 * font.c [HAVE_X_WINDOWS]: Include xterm.h.
6296 [HAVE_NTGUI]: Include w32term.h.
6297 [MAC_OS]: Include macterm.ch.
6298 (font_otf_ValueRecord): Use make_number.
6299 (font_finish_cache): Fix handling of reference count.
6300 (font_clear_cache): Update num_fonts.
6301 (font_open_entity): Update smallest_char_width and
6302 smallest_font_height of the frame.
6303 (font_close_object): Update num_fonts.
6304 (Fclear_font_cache): Fix finding the target cache data.
6305
6306 2008-02-16 Glenn Morris <rgm@gnu.org>
6307
6308 * fontset.c (Finternal_char_font): Fix compilation warning.
6309
6310 2008-02-16 Eli Zaretskii <eliz@gnu.org>
6311
6312 * w32.c (init_user_info): Use TOKEN_USER and TOKEN_PRIMARY_GROUP
6313 instead of char arrays. Enlarge the size of array passed to
6314 get_token_information.
6315
6316 * font.c (Ffont_fill_gstring, Fget_font_glyphs): Fix compilation
6317 warnings.
6318
6319 2008-02-15 Dan Nicolaescu <dann@ics.uci.edu>
6320
6321 * .gdbinit: Don't set `args', it breaks gdb --args.
6322
6323 2008-02-14 Stefan Monnier <monnier@iro.umontreal.ca>
6324
6325 * fileio.c (Finsert_file_contents): Adjust offsets when replacing
6326 within a narrowed buffer.
6327
6328 2008-02-14 Kenichi Handa <handa@ni.aist.go.jp>
6329
6330 * coding.c (decode_coding_object, encode_coding_object):
6331 Preserve Vdeactivate_mark. Delete unnecessary call of Fcurrent_buffer.
6332
6333 2008-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
6334
6335 * coding.c (coding_set_destination): Use BEG_BYTE rather than
6336 hardcoding 1.
6337 (detect_coding_system):
6338 * lisp.h (detect_coding_system, chars_in_text, multibyte_chars_in_text)
6339 (string_char_to_byte, string_byte_to_char, insert_from_gap):
6340 * insdel.c (insert_from_gap):
6341 * fns.c (string_char_byte_cache_charpos, string_char_byte_cache_bytepos)
6342 (string_char_to_byte, string_byte_to_char, string_make_multibyte)
6343 (string_to_multibyte):
6344 * character.c (chars_in_text, multibyte_chars_in_text):
6345 * fileio.c (Finsert_file_contents): Use EMACS_INT for buffer positions.
6346
6347 * character.h (FETCH_STRING_CHAR_ADVANCE)
6348 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE)
6349 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA and SREF.
6350 (DEC_POS, BUF_DEC_POS): Use BEG_BYTE rather than hardcoding 1.
6351
6352 * casefiddle.c (casify_region): Only call after-change and composition
6353 functions on the part of the region that was changed.
6354
6355 * keyboard.c (read_avail_input):
6356 * frame.c (Fdelete_frame): Call Fdelete_terminal.
6357
6358 2008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
6359
6360 * buffer.c (clone_per_buffer_values, reset_buffer_local_variables)
6361 (Fbuffer_local_value, Fbuffer_local_variables): Don't forget undo_list.
6362
6363 2008-02-11 Juanma Barranquero <lekktu@gmail.com>
6364
6365 * w32menu.c (push_submenu_start, push_submenu_end)
6366 (push_left_right_boundary, push_menu_pane, push_menu_item):
6367 * keyboard.c (read_key_sequence): Don't pass args with side effects
6368 to AREF, it fails when compiling with -DENABLE_CHECKING.
6369
6370 2008-02-11 Kenichi Handa <handa@ni.aist.go.jp>
6371
6372 * Makefile.in (${lispsource}international/charprop.el):
6373 Delete this target.
6374
6375 * search.c (boyer_moore): Fix incorrect synching of the trunk and
6376 emacs-unicode-2.
6377
6378 2008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
6379
6380 * terminal.c (Fdelete_terminal): Clean up the `force' path.
6381
6382 2008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
6383
6384 * frame.c (Qnoelisp): New symbol.
6385 (syms_of_frame): Initialize it.
6386 (Fdelete_frame): Use it to distinguish a mere `force' passed from
6387 someharmles Elisp code, from a strong `force' from x_connection_closed.
6388 * frame.h (Qnoelisp): Declare.
6389 * xterm.c (x_connection_closed): Pass `noelisp'.
6390
6391 * lisp.h (struct Lisp_Misc_Any, struct Lisp_Marker)
6392 (struct Lisp_Overlay, struct Lisp_Kboard_Objfwd)
6393 (struct Lisp_Save_Value, struct Lisp_Free): Use enum Lisp_Misc_Type
6394 rather than `int' for the type of `type'.
6395
6396 2008-02-10 Dan Nicolaescu <dann@ics.uci.edu>
6397
6398 * s/gnu-linux.h: Remove support for non-ELF and linux-1.x.
6399
6400 * Makefile.in (GNUC): Remove support for gcc-1.x.
6401
6402 2008-02-10 Richard Stallman <rms@gnu.org>
6403
6404 * lisp.h (ASET): Use AREF, not ASLOT.
6405
6406 2008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
6407
6408 * lisp.h (ASET): Check bounds.
6409
6410 2008-02-10 Glenn Morris <rgm@gnu.org>
6411
6412 * buffer.c (mode-name): Doc fix.
6413
6414 2008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
6415
6416 * Makefile.in:
6417 * emacs.c:
6418 * gmalloc.c:
6419 * keyboard.c:
6420 * lisp.h:
6421 * m/ibm370aix.h:
6422 * process.c:
6423 * regex.c:
6424 * s/hpux.h:
6425 * sysdep.c:
6426 * sysselect.h:
6427 * systty.h:
6428 * unexec.c:
6429 * w32term.c:
6430 * xsmfns.c:
6431 * xterm.c: Remove code that deals with obsolete variables.
6432
6433 * s/msdos.h (DONT_NEED_ENVIRON): Don't define.
6434
6435 * ecrt0.c: Replace the DONT_NEED_ENVIRON test with MSDOS test,
6436 nothing else needs it anymore.
6437
6438 2008-02-09 Eli Zaretskii <eliz@gnu.org>
6439
6440 * buffer.h (FETCH_CHAR_AS_MULTIBYTE): Use unibyte_to_multibyte_table
6441 instead of unibyte_char_to_multibyte.
6442
6443 2008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
6444
6445 * s/gnu-linux.h: Remove commented out code.
6446
6447 * unexec.c: Remove references to obsolete variable COFF_ENCAPSULATE.
6448
6449 * Makefile.in: Update what RMS says about using autoconf.
6450 (C_COMPILER, COFF_ENCAPSULATE, MAKE_PARALLEL): Remove obsolete variable.
6451 (C_SWITCH_MACHINE_1, C_SWITCH_SYSTEM_1, C_SWITCH_SITE_1)
6452 (C_SWITCH_X_SITE_1, C_SWITCH_X_MACHINE_1)
6453 (C_SWITCH_X_SYSTEM_1): Move invariant code outside conditional.
6454
6455 2008-02-08 Stefan Monnier <monnier@iro.umontreal.ca>
6456
6457 * keymap.c (Fkey_description): Move side effect outside of macro call.
6458
6459 * xfaces.c (Finternal_make_lisp_face):
6460 * keyboard.c (add_command_key, parse_menu_item): Use ASET.
6461
6462 * fontset.c (free_face_fontset): Use FONTSET_FROM_ID.
6463 (syms_of_fontset): Use ASET.
6464
6465 * fns.c (concat): Move side effect outside of macro call.
6466 (hash_clear): Use ASET.
6467
6468 2008-02-08 Richard Stallman <rms@gnu.org>
6469
6470 * frame.c (Fdelete_frame): If FORCE, don't call hooks.
6471 If FORCE, and frame has a surrogate minibuffer for another frame,
6472 delete the other frame first.
6473
6474 2008-02-07 Timo Savola <timo.savola@iki.fi>
6475
6476 * xterm.c (x_detect_focus_change): Handle embed client message.
6477 (handle_one_xevent): Ditto.
6478 (handle_one_xevent): If embedded and we get a button press/release,
6479 request focus.
6480 (xembed_set_info, xembed_send_message): New functions.
6481 (x_make_frame_visible): Call xembed_set_info if embedded.
6482 (x_make_frame_invisible): Call xembed_set_info if embedded.
6483 (x_term_init): Initialize Xatom_XEMBED.
6484 (x_make_frame_visible): Check for FRAME_X_EMBEDDED_P also.
6485 (x_iconify_frame): Ditto.
6486
6487 * xterm.h (struct x_display_info): Add AtomXatom_XEMBED.
6488 (enum xembed_info, enum xerm srmbed_message, enum xembed_focus)
6489 (enum xembed_modifier, enum xembed_accelerator): New.
6490 (xembed_set_info, xembed_send_message): Declare.
6491 (FRAME_X_EMBEDDED_P): New.
6492
6493 * gtkutil.c (xg_create_frame_widgets): If frame is embedded, call
6494 gtk_plug_new.
6495
6496 * xfns.c (Fx_create_frame): Do not override the explicitly set parent
6497 window ID of a frame.
6498 (x_window): Reparent frame if embedded.
6499 (Fx_create_frame): Don't set border width if embedded.
6500
6501 * emacs.c (USAGE3): Add --parent-id.
6502 (standard_args): Ditto.
6503
6504 2008-02-07 Jan Djärv <jan.h.d@swipnet.se>
6505
6506 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): Use "do...while (0)".
6507
6508 2008-02-07 Jim Meyering <meyering@redhat.com>
6509
6510 Use "do...while (0)", not "if (1)...else" in macro definitions.
6511 The latter provokes a warning from gcc about the empty else, when
6512 followed by ";". Also, without that trailing semicolon, it would
6513 silently swallow up any following statement.
6514 * syntax.h (SETUP_SYNTAX_TABLE)
6515 (SETUP_SYNTAX_TABLE_FOR_OBJECT): Likewise.
6516 * buffer.h (DECODE_POSITION): Likewise.
6517 * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise.
6518 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): Likewise.
6519 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Likewise.
6520 (FETCH_CHAR_ADVANCE): Likewise.
6521 (FETCH_CHAR_ADVANCE_NO_CHECK): Likewise.
6522
6523 2008-02-07 Jim Meyering <meyering@redhat.com>
6524
6525 * lread.c [lint]: Don't include <sys/inode.h>.
6526
6527 2008-02-07 Stefan Monnier <monnier@iro.umontreal.ca>
6528
6529 * xselect.c (x_handle_dnd_message):
6530 * xmenu.c (digest_single_submenu, xmenu_show):
6531 * xdisp.c (with_echo_area_buffer_unwind_data)
6532 (format_mode_line_unwind_data, unwind_format_mode_line)
6533 (display_menu_bar):
6534 * eval.c (Ffetch_bytecode):
6535 * doc.c (store_function_docstring):
6536 * ccl.c (resolve_symbol_ccl_program, ccl_get_compiled_code)
6537 (Fccl_execute, Fccl_execute_on_string, Fregister_code_conversion_map):
6538 * buffer.c (add_overlay_mod_hooklist): Use ASET.
6539
6540 2008-02-07 Kenichi Handa <handa@m17n.org>
6541
6542 * ftxfont.c (ftxfont_open): Don't set
6543 dpyinfo->smallest_font_height and dpyinfo->smallest_char_width to 0.
6544
6545 * ftfont.c (ftfont_open): Fix previous change.
6546
6547 2008-02-06 Jason Rumney <jasonr@gnu.org>
6548
6549 * w32font.c (w32font_text_extents): Fill in lbearing metric.
6550 Use cached metrics for ASCII characters.
6551 (w32font_open_internal): Don't set font's owning_frame.
6552 Cache metrics for ASCII characters.
6553
6554 * w32font.h (struct w32font_info): Add ascii_metrics.
6555 Remove owning_frame.
6556
6557 2008-02-06 Kenichi Handa <handa@ni.aist.go.jp>
6558
6559 * xdisp.c (x_produce_glyphs): Don't set it->ascent and it->descent
6560 to negative value.
6561
6562 * ftxfont.c (ftxfont_draw): Use s->font_info, not face->font_info.
6563
6564 * ftfont.c (ftfont_open): Fix calculation of font->font.average_width.
6565
6566 * charset.c (syms_of_charset): Set QCtest and Qeq.
6567
6568 2008-02-06 Stefan Monnier <monnier@iro.umontreal.ca>
6569
6570 * process.c (Fstart_process):
6571 * callproc.c (Fcall_process): Handle the case where
6572 Funhandled_file_name_directory returns nil.
6573
6574 * font.h (enum lgstring_indices, enum lglyph_indices): New enums.
6575 (LGSTRING_SLOT, LGSTRING_SET_SLOT): New macros.
6576 * font.c (check_gstring): Use them and AREF to access the vector before
6577 we know it's really a gstring.
6578 (Ffont_shape_text): Fix typo.
6579 (Ffont_shape_text, Ffont_otf_alternates): Fix up int/Lisp_Oject mixups.
6580
6581 * composite.h (Fcompose_region_internal, Fcompose_string_internal):
6582 Declare.
6583
6584 * chartab.c (make_sub_char_table): Remove noop-yet-incorrect statement.
6585
6586 2008-02-05 Jason Rumney <jasonr@gnu.org>
6587
6588 * w32font.c (w32font_open_internal): Fill min_width with tmAveCharWidth.
6589 Set smallest_font_height and smallest_char_width in display info.
6590
6591 2008-02-05 Kenichi Handa <handa@ni.aist.go.jp>
6592
6593 * coding.c (decode_eol): Pay attention to coding->dst_multibyte.
6594
6595 2008-02-05 Miles Bader <miles@gnu.org>
6596
6597 * xfaces.c (get_lface_attributes, merge_named_face)
6598 (lookup_named_face, lookup_derived_face, realize_named_face):
6599 Revert 2008-02-01 change by cyd@stupidchicken.com.
6600
6601 2008-02-04 Kenichi Handa <handa@ni.aist.go.jp>
6602
6603 * fontset.c (Ffontset_info): Handle the case of inhibitting the
6604 fallback fonts.
6605 (Ffontset_info) [USE_FONT_BACKEND]: Fix getting of opened font names.
6606
6607 2008-02-04 Jason Rumney <jasonr@gnu.org>
6608
6609 * w32font.c (w32font_open_internal): Use font_unparse_fcname to
6610 set full_name.
6611 (w32font_open_internal): Use xmalloc, xrealloc, xfree.
6612
6613 2008-02-03 Jason Rumney <jasonr@gnu.org>
6614
6615 * makefile.w32-in (OBJ1): Include font.o here.
6616 (FONTOBJ) [USE_FONTBACKEND]: Instead of here.
6617
6618 2008-02-02 Jason Rumney <jasonr@gnu.org>
6619
6620 * makefile.w32-in (temacs): Bump EMHEAP to 21.
6621
6622 2008-02-01 Jason Rumney <jasonr@gnu.org>
6623
6624 * s/cygwin.h: Define VIRT_ADDR_VARIES.
6625
6626 * puresize.h [VIRT_ADDR_VARIES]: Don't include CYGWIN in condition.
6627
6628 2008-02-01 Andreas Schwab <schwab@suse.de>
6629
6630 * Makefile.in (shortlisp, lisp): Update for rename of
6631 ../lisp/language/myanmar.el.
6632
6633 2008-02-01 Chong Yidong <cyd@stupidchicken.com>
6634
6635 * xfaces.c (get_lface_attributes): Delete function.
6636 (merge_named_face, lookup_named_face, lookup_derived_face)
6637 (realize_named_face): Call lface_from_face_name directly, and use
6638 the fact that merge_face_vectors does not alter its FROM argument.
6639
6640 2008-02-01 Jason Rumney <jasonr@gnu.org>
6641
6642 * w32term.c (w32_read_socket) <WM_CHAR>: Decode non-Unicode
6643 input in the default locale. Handle non-Unicode multibyte input.
6644
6645 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
6646
6647 * fontset.c (reorder_font_vector): Exclude nil elements from the
6648 font group. Don't try multiple fonts.
6649 (fontset_font): Adjust for the above change.
6650 (Finternal_char_font): Return nil if the found font doesn't
6651 contain the character ch.
6652
6653 * Makefile.in (lisp, shortlisp): Add cham.el.
6654
6655 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
6656
6657 * font.h (FONTP): Make it return 1 also for a font-object.
6658
6659 * .gdbinit (xfontset): New function.
6660
6661 * font.c (font_find_for_lface): Check if the character C is
6662 supported or not only for the first font.
6663
6664 * fontset.c (reorder_font_vector): Fix typo.
6665 (fontset_find_font): Don't add a font-spec specifying a script.
6666 Use 0 (not Qt) for the indication of empty font-group. Change the
6667 format of RFONT-DEF. Return Qt if no font in the font-group
6668 support the character.
6669 (fontset_font): Adjust for the above change. If no font was
6670 found the character, remember that.
6671 (face_for_char): Adjust for the change of RFONT-DEF.
6672 (Fset_fontset_font): Allow nil for FONT-SPEC to explicitly specify
6673 no font for the target.
6674 (Finternal_char_font): Adjust for the change of RFONT-DEF.
6675
6676 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
6677
6678 * font.c (font_load_for_face): Handle the case that the font in
6679 face->lface is a string.
6680
6681 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
6682
6683 * xfaces.c (set_lface_from_font_and_fontset): Set the fontname in lface.
6684
6685 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
6686
6687 * xfaces.c (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]:
6688 Fix previous change. If the frame is not on a window system,
6689 signal an error.
6690
6691 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
6692
6693 * coding.c (decode_coding_object, encode_coding_object): Adjust
6694 marker positions after conversion.
6695
6696 * lisp.h (struct Lisp_Marker): New member need_adjustment.
6697
6698 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
6699
6700 * font.c (font_find_for_lface): Fix the handling of the return
6701 value of font_has_char.
6702 (Ffont_shape_text): Fix previous change.
6703
6704 * fontset.c (FONTSET_REF_AND_RANGE): Delete it.
6705 (fontset_ref_and_range): Delete it.
6706 (fontset_find_font): Call char_table_ref_and_range instead of
6707 FONTSET_REF_AND_RANGE.
6708 (make_fontset): Don't setup font groups of Latin here.
6709 (Fset_fontset_font): Don't overwrite the setting of FONTSET_ASCII.
6710 (new_fontset_from_font): Make the specified font the default for
6711 all Latin characters.
6712
6713 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
6714
6715 * xfaces.c (Finternal_set_lisp_face_attribute): Check if the frame
6716 is on a window system before accessing the fontset of the frame.
6717
6718 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
6719
6720 * Makefile.in (lisp, shortlisp): Add kherm.el and myanmar.el.
6721
6722 * ftfont.c (ftfont_driver): Set ftfont_shape in ftfont_driver only
6723 when both HAVE_M17N_FLT and HAVE_LIBOTF are defined.
6724
6725 * font.c (Ffont_shape_text): If the font driver doesn't have a
6726 shaper function, make zero-width glyphs to have at least one-pixel
6727 width. Fix setting of `to' field of glyphs.
6728
6729 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
6730
6731 * ftfont.c (ftfont_drive_otf): Fix setting of FROM and TO slots of
6732 glyphs.
6733
6734 * font.h (struct font_driver): Improve docstring of member `shape'.
6735
6736 2008-02-01 Kenichi Handa <handa@m17n.org>
6737
6738 * composite.c (syms_of_composite): Fix docstring of
6739 auto-composition-function.
6740
6741 * font.h (LGLYPH_SIZE): New macro.
6742
6743 * font.c (Ffont_fill_gstring): Stop filling when a character not
6744 supported by the font is found.
6745 (Ffont_shape_text): When a shape callback function returns nil,
6746 try at most two more times with larger gstring.
6747 (Ffont_at): Fix getting of w. Call font_at with correct 5th argument.
6748
6749 * xdisp.c (handle_auto_composed_prop): Change the argument to
6750 auto-composition-function.
6751
6752 * ftfont.c (ftfont_encode_char): Use the macro FONT_INVALID_CODE.
6753 (ftfont_shape_by_flt): If an element of lgstring is nil, make a
6754 Lispy glyph and store it in the lgstring.
6755
6756 * xfont.c (xfont_encode_char): Use the macro FONT_INVALID_CODE.
6757
6758 * xftfont.c (xftfont_encode_char): Use the macro FONT_INVALID_CODE.
6759
6760 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
6761
6762 * font.c (Ffont_shape_text): Avoid unnecessary composition.
6763
6764 * fontset.c (Vfont_encoding_charset_alist): New variable.
6765 (syms_of_fontset): DEFVAR it.
6766 (reorder_font_vector, fontset_find_font): Optimize for the case of
6767 no need of reordering.
6768 (face_for_char): Map the charset property by
6769 Vfont_encoding_charset_alist.
6770
6771 2008-02-01 Jason Rumney <jasonr@gnu.org>
6772
6773 * w32font.c (logfonts_match): Don't check adstyle here.
6774 (font_matches_spec): Check here against physical font instead.
6775 (add_font_entity_to_list): Avoid some substitutions.
6776
6777 * font.c (font_parse_fcname): Default weight and slant to normal.
6778 (font_score): Prefer normal fonts if weight or slant unspecified.
6779 (font_score) [WINDOWSNT]: Scale weight difference down to closer
6780 match freetype scores.
6781
6782 2008-02-01 Jason Rumney <jasonr@gnu.org>
6783
6784 * w32font.c (w32font_text_extents): Don't use the frame stored in the
6785 font, as it may have been deleted.
6786 (w32_enumfont_pattern_entity): Map generic family to adstyle using
6787 most common hyphenless variation.
6788 (logfonts_match): Check generic family.
6789 (font_matches_spec): Don't check generic family here.
6790 (fill_in_logfont): Set generic family based on adstyle.
6791
6792 * w32font.h (w32font_get_cache): Update declaration.
6793
6794 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
6795
6796 * ftfont.c (ftfont_get_cache): Adjust the argument type.
6797
6798 * frame.c (x_set_font_backend): Don't call Fclear_font_cache.
6799 If none of the new drivers are available, call font_update_drivers
6800 with the old drivers.
6801
6802 * w32font.c (w32font_get_cache): Adjust the argument type.
6803
6804 * xfont.c (xfont_get_cache): Adjust the argument type.
6805
6806 * font.h (struct font_driver): Change argument type of get_cache.
6807
6808 * xftfont.c (xftfont_start_for_frame): Delete prototype.
6809
6810 * font.c (Ffont_get): Fix arguments to Fassoc.
6811 (font_prepare_cache, font_finish_cache, font_get_cache): New functions.
6812 (font_clear_cache): New function.
6813 (font_list_entities, font_matching_entity): Use font_get_cache.
6814 (font_update_drivers): Call font_clear_cache when finishing a driver.
6815
6816 * fontset.c (fontset_find_font): Fix previous change.
6817
6818 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
6819
6820 * xterm.c (x_check_font) [USE_FONT_BACKEND]: Don't access
6821 dpyinfo->font_table.
6822 (x_delete_display) [USE_FONT_BACKEND]: Likewise.
6823 (x_delete_terminal) [USE_FONT_BACKEND]: Likewise.
6824
6825 * font.c (font_at): Handle the case that the arg C is negative.
6826 Handle the unibyte case.
6827 (Ffont_at): Call font_at with the arg C -1.
6828
6829 * xdisp.c (handle_auto_composed_prop): Don't get a character at
6830 the position here, and call font_at with the arg C -1.
6831 Don't check the range of the existing composition at the point.
6832
6833 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
6834
6835 * fontset.c (fontset_add): New args charset_id and family.
6836 Change caller.
6837 (load_font_get_repertory, fontset_find_font): Assume that
6838 font_spec is always a font-spec object.
6839 (Fset_fontset_font): Always store a font-spec object in a fontset.
6840
6841 * xdisp.c (handle_auto_composed_prop): Use Fget_text_property
6842 instead of get_property_and_range.
6843
6844 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
6845
6846 * xftfont.c (struct xftfont_info): Delete the member ft_face.
6847 (xftfont_open): Don't keep locking face.
6848 (xftfont_close): Don't unlock face.
6849 (xftfont_anchor_point, xftfont_shape): Lock and unlock face.
6850
6851 * fontset.c (fontset_find_font): Don't prefer a font of
6852 supplementary charset.
6853
6854 2008-02-01 Kenichi Handa <handa@m17n.org>
6855
6856 * ftfont.c (struct OpenTypeSpec): Rename members script_tag to
6857 script, langsys_tag to langsys, new member script.
6858 (OTF_TAG_STR): Terminate by '\0'.
6859 (ftfont_get_open_type_spec): If :otf prop is is spec, Limit the
6860 listing to the script specified in that property. Fix arg to
6861 OTF_check_features.
6862
6863 2008-02-01 Jason Rumney <jasonr@gnu.org>
6864
6865 * w32font.h: New file.
6866
6867 * w32font.c: Include it.
6868 (struct w32font_info): Add owning_frame field. Move to w32font.h.
6869 (w32font_open): Set owning_frame.
6870 (w32font_text_extents): Use owning_frame.
6871 (struct font_callback_data): Add opentype_only field.
6872 (add_font_entity_to_list): Use it to filter fonts.
6873 Don't check against full name.
6874 (w32font_list_internal): New function.
6875 (w32font_list): Use it.
6876 (w32font_match_internal): New function.
6877 (w32font_match): Use it.
6878 (w32font_open_internal): New function.
6879 (w32font_open): Use it.
6880 (w32font_get_cache, w32font_close, w32font_has_char)
6881 (w32font_encode_char, w32font_text_extents, w32font_draw):
6882 Make non-static.
6883
6884 * makefile.w32-in (w32font.o): Depend on w32font.h.
6885
6886 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
6887
6888 * charset.c (Fdefine_charset_internal): Record a supplementary
6889 charset at the tail of Vcharset_order_list.
6890
6891 * font.c (Ffont_shape_text): Fix the return value.
6892
6893 * ftfont.c (OTF_SYM_TAG, OTF_TAG_STR): Fix argument names.
6894
6895 * xdisp.c (handle_auto_composed_prop): Fix previous change.
6896
6897 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
6898
6899 * ftfont.c (struct OpenTypeSpec): New struct.
6900 (OTF_SYM_TAG, OTF_TAG_STR): New macros.
6901 (ftfont_get_open_type_spec): New function.
6902 (ftfont_list) [HAVE_LIBOTF]: Check otf-spec property.
6903
6904 * lread.c (read1): Redo the previous change with checking Vpurify_flag.
6905
6906 2008-02-01 Jason Rumney <jasonr@gnu.org>
6907
6908 * w32font.c (add_font_entity_to_list): Compare only the beginning
6909 of full name.
6910
6911 2008-02-01 Kenichi Handa <handa@m17n.org>
6912
6913 * xdisp.c (handle_auto_composed_prop): Simplify the code.
6914 Never return HANDLED_RECOMPUTE_PROPS.
6915
6916 2008-02-01 Kenichi Handa <handa@m17n.org>
6917
6918 * font.c (font_gstring_produce): Delete it.
6919
6920 * composite.h (COMPOSITION_METHOD):
6921 Handle COMPOSITION_WITH_GLYPH_STRING.
6922
6923 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
6924
6925 * xfont.c (Qx): Delete.
6926 (syms_of_xfont): Don't initialize Qx.
6927
6928 * composite.h (enum composition_method):
6929 Define COMPOSITION_WITH_GLYPH_STRING unconditionally.
6930
6931 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
6932
6933 * xfaces.c [HAVE_WINDOW_SYSTEM]: Include "font.h" unconditionally.
6934 (choose_face_font): Accept new form of font-spec.
6935
6936 * frame.h (font_driver_list): Declare it unconditionally.
6937 (struct frame): Define members font_driver_list and font_data_list
6938 unconditionally.
6939
6940 * fontset.c: Include "font.h" unconditionally.
6941 (generate_ascii_font_name): Use font_parse_xlfd and font_unparse_xlfd.
6942 (Fset_fontset_font): Accept a font-spec object.
6943
6944 * font.c (font_unparse_xlfd): If pixel_size is zero, make the
6945 PIXEL_SIZE part a wild card.
6946
6947 * dispextern.h (struct glyph_string): Define members clip and
6948 num_clips unconditionally.
6949 (struct face): Define members font_info and extra unconditionally.
6950
6951 * ftfont.c (ftfont_open): Set members maybe_otf and otf of
6952 ftfont_info only when HAVE_LIBOTF is defined.
6953
6954 2008-02-01 Andreas Schwab <schwab@suse.de>
6955
6956 * xdisp.c (back_to_previous_visible_line_start): Fix type of beg
6957 and end.
6958
6959 2008-02-01 Jason Rumney <jasonr@gnu.org>
6960
6961 * w32font.c (w32font_driver): Add new fields.
6962
6963 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
6964
6965 * Makefile.in (ALL_CFLAGS): Add @M17N_FLT_CFLAGS@.
6966 (FONTSRC, FONTOBJ) [HAVE_WINDOW_SYSTEM]: Set them unconditionally.
6967 (LIBES): Add @M17N_FLT_CFLAGS@.
6968
6969 * composite.c (compose_text): Don't treat the new style
6970 composition specially.
6971
6972 * emacs.c (main): Call syms_of_font unconditionally.
6973
6974 * font.h (FONT_ENTITY_NOT_LOADABLE)
6975 (FONT_ENTITY_SET_NOT_LOADABLE): New macros.
6976 (LGSTRING_XXXX, LGLYPH_XXX): Adjust for the change of lispy gstring.
6977 (struct font_driver): New member shape.
6978 (font_registry_charsets): Extern it.
6979 (font_find_for_lface, font_prepare_composition): Adjust prototype.
6980 (font_otf_capability, font_drive_otf): Delete their externs.
6981
6982 * font.c [HAVE_M17N_FLT]: Include <m17n-flt.h>.
6983 (font_charset_alist, font_registry_charsets): Move from xfont.c
6984 and rename.
6985 (font_prop_validate_otf): New function.
6986 (font_property_table): Register it for QCotf.
6987 (DEVICE_DELTA, adjust_anchor, REPLACEMENT_CHARACTER)
6988 (font_drive_otf): Delete.
6989 (font_prepare_composition): New arg F. Adjust for the change of
6990 lispy gstring.
6991 (font_find_for_lface): New arg C.
6992 (font_load_for_face): Adjust for the change of font_find_for_lface.
6993 (Ffont_make_gstring, Ffont_fill_gstring): Adjust for the change of
6994 lispy gstring.
6995 (Ffont_shape_text): New function.
6996 (Fopen_font): If the font size is not given, use 12-pixel.
6997 (Ffont_at): New arg STRING.
6998 (syms_of_font): Initalize font_charset_alist.
6999 Declare Ffont_shape_text as a Lisp function. Call syms_of_XXfont
7000 conditionally.
7001
7002 * fontset.c (fontset_find_font) [USE_FONT_BACKEND]: Try multiple
7003 fonts of the same font-spec. Change the format of RFONT-DEF.
7004 (face_for_char, make_fontset_for_ascii_face, Finternal_char_font):
7005 Adjust for the change of RFONT-DEF.
7006 (Fset_fontset_font) [USE_FONT_BACKEND]: Handle new format of font-spec.
7007
7008 * ftfont.h: New file.
7009
7010 * ftfont.c: Don't include Freetype headers. Include "ftfont.h".
7011 (struct ftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
7012 (ftfont_open) [HAVE_LIBOTF]: Initialize the above members.
7013 (ftfont_driver) [HAVE_LIBOTF, HAVE_M17N_FLT]: Don't set
7014 font_otf_capability and font_drive_otf, set ftfont_shape.
7015 (ftfont_list): Adjust for the change of :otf property value.
7016 (struct MFLTFontFT) [HAVE_LIBOTF, HAVE_M17N_FLT]: New struct.
7017 (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_check_otf)
7018 (adjust_anchor, ftfont_drive_otf, ftfont_shape_by_flt)
7019 (ftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
7020 (DEVICE_DELTA) [HAVE_LIBOTF, HAVE_M17N_FLT]: New macro.
7021 (otf_gstring, gstring, m17n_flt_initialized): New variables.
7022
7023 * w32term.c (x_draw_composite_glyph_string_foreground):
7024 Adjust for the change of lispy gstring.
7025
7026 * xdisp.c (handle_composition_prop): Adjust for the change of
7027 lispy gstring. Call a function for auto-composition with the
7028 third arg it->window.
7029 (fill_composite_glyph_string): Adjust for the change of lispy string.
7030 (x_produce_glyphs): Adjust for the change of font_prepare_compositionl.
7031
7032 * xfaces.c (set_font_frame_param): Adjust for the change of
7033 font_find_for_lface.
7034
7035 * xfont.c (x_font_charset_alist): Move to font.c and rename.
7036 (xfont_registry_charsets): Likewise. Change caller.
7037 (syms_of_xfont): Don't handle x_font_charset_alist.
7038
7039 * xftfont.c: Include "ftfont.h".
7040 (struct xftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
7041 (xftfont_open) [HAVE_LIBOTF]: Initialize the above members.
7042 (xftfont_close) [HAVE_LIBOTF]: Close otf.
7043 (xftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
7044 (syms_of_xftfont) [HAVE_LIBOTF, HAVE_M17N_FLT]:
7045 Set xftfont_driver.shape to xftfont_shape.
7046
7047 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
7048 the change of lispy gstring.
7049
7050 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7051
7052 * ftxfont.c (ftxfont_end_for_frame): Fix array indexing error.
7053
7054 2008-02-01 Jason Rumney <jasonr@gnu.org>
7055
7056 * w32font.c (w32font_draw): Fill background manually.
7057
7058 2008-02-01 Jason Rumney <jasonr@gnu.org>
7059
7060 * font.c (Qfontp): Remove unused symbol.
7061 (QCantialias): New symbol.
7062 (syms_of_font): Define it.
7063 (font_property_table): Set a validator for QCantialias.
7064
7065 * w32font.c (CLEARTYPE_QUALITY, CLEARTYPE_NATURAL_QUALITY):
7066 Define if not already.
7067 (QCfamily): Share with xfaces.c.
7068 (Qstandard, Qsubpixel, Qnatural): New symbols.
7069 (syms_of_w32font): Define them. Don't define QCfamily here.
7070 (w32_antialias_type, lispy_antialias_type): New functions.
7071 (w32_enumfont_pattern_entity): New arg requested_font.
7072 Set antialias parameter if non-default was requested.
7073 (fill_in_logfont): Fill in lfQuality if :antialias specified.
7074
7075 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7076
7077 * lread.c (read1): Undo the previous change.
7078
7079 2008-02-01 CHENG Gao <chenggao@gmail.com> (tiny change)
7080
7081 * frame.c (Fdelete_frame): Call font_update_drivers only when
7082 USE_FONT_BACKEND is defined.
7083
7084 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7085
7086 * font.h (struct font_bitmap): New member bits_per_pixel.
7087 (struct font_driver): New members start_for_frame and end_for_frame.
7088 (struct font_data_list): New struct.
7089 (font_put_frame_data, font_get_frame_data): Extern them.
7090
7091 * frame.h (struct frame): New member font_data_list.
7092
7093 * font.c (font_update_drivers): Call driver->start_for_frame and
7094 driver->end_for_frame at proper timings.
7095 (font_put_frame_data, font_get_frame_data): New functions.
7096 (Ffont_spec): Add usage in the docstring.
7097
7098 * frame.c (make_frame): Initialize f->font_data_list to NULL.
7099 (Fdelete_frame): Call font_update_drivers.
7100
7101 * xftfont.c (struct xftface_info): Delete the member xft_draw.
7102 (xftfont_prepare_face, xftfont_done_face): Adjust for the above change.
7103 (xftfont_get_xft_draw): New function.
7104 (xftfont_draw): Get XftDraw by xftfont_get_xft_draw.
7105 (xftfont_end_for_frame): New function.
7106 (syms_of_xftfont): Set xftfont_driver.end_for_frame.
7107
7108 * ftxfont.c (ftxfont_get_gcs): Rename from ftxfont_create_gcs.
7109 Change argument. Cache GCs in the per-frame data.
7110 (struct ftxfont_frame_data): New struct.
7111 (ftxfont_draw_bitmap): New arg gc_fore and flush.
7112 (ftxfont_prepare_face, ftxfont_done_face): Delete them.
7113 (ftxfont_draw): Get GCs by ftxfont_get_gcs. Reflect s->clip in GCs.
7114 (ftxfont_end_for_frame): New function.
7115 (syms_of_ftxfont): Set ftxfont_driver.end_for_frame.
7116
7117 * ftfont.c (ftfont_get_bitmap): Set bitmap->bits_per_pixel.
7118
7119 2008-02-01 Kenichi Handa <handa@m17n.org>
7120
7121 * xselect.c (Vselection_coding_system)
7122 (Vnext_selection_coding_system): Delete them.
7123 (syms_of_xselect): Don't declare selection-coding-system and
7124 next-selection-coding-system. They are declared in select.el.
7125
7126 2008-02-01 Jason Rumney <jasonr@gnu.org>
7127
7128 * w32term.h (WM_UNICHAR, UNICODE_NOCHAR): Define if not already.
7129
7130 * w32fns.c: Include imm.h.
7131 (get_composition_string_fn, get_ime_context_fn): New optional
7132 system functions.
7133 (globals_of_w32fns): Load them from imm32.dll.
7134 (ignore_ime_char): New flag.
7135 (w32_wnd_proc): Handle WM_UNICHAR, WM_IME_CHAR and
7136 WM_IME_ENDCOMPOSITION messages.
7137
7138 * w32term.c (w32_read_socket) [WM_UNICHAR]: Handle as
7139 MULTIBYTE_CHAR_KEYSTROKE_EVENT.
7140
7141 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7142
7143 * lread.c (READCHAR): Call readchar with the 2nd arg NULL.
7144 (READCHAR_REPORT_MULTIBYTE): New macro.
7145 (readchar): New 2nd arg MULTIBYTE.
7146 (read1): Use READCHAR_REPORT_MULTIBYTE for the first read.
7147 Make symbol's name multibyte according to the multibyteness of the
7148 source.
7149
7150 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7151
7152 * xfaces.c (face_for_overlay_string): Call lookup_face with
7153 correct arguments (fix of synching with the trunk).
7154
7155 2008-02-01 Kenichi Handa <handa@m17n.org>
7156
7157 * font.c (font_prop_validate_symbol, font_prop_validate_style)
7158 (font_prop_validate_non_neg, font_prop_validate_spacing):
7159 Delete argument prop_index.
7160 (font_property_table): Change arguments to validater. Change Callers.
7161 (font_lispy_object): Delete.
7162 (font_at): Use font_find_object instead fo font_lispy_object.
7163
7164 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7165
7166 * fileio.c (Fexpand_file_name): Adjust multibyteness of directory
7167 and file names.
7168
7169 2008-02-01 Jason Rumney <jasonr@gnu.org>
7170
7171 * w32font.c (add_font_name_to_list): Avoid vertical fonts.
7172 (font_matches_spec): Remove debug output.
7173 (add_font_entity_to_list): Avoid using substituted fonts.
7174
7175 2008-02-01 Jason Rumney <jasonr@gnu.org>
7176
7177 * doc.c (Fsnarf_documentation):
7178 * Makefile.in (temacs${EXEEXT}, mostlyclean): Undo last change.
7179
7180 2008-02-01 Miles Bader <miles@gnu.org>
7181
7182 * dispextern.h (struct glyph_row): Only define "clip" field if
7183 HAVE_WINDOW_SYSTEM is defined.
7184
7185 2008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
7186
7187 Fix up multi-tty merge.
7188
7189 * xterm.c (handle_one_xevent): Remove duplicate code and fix up nesting
7190 and indentation.
7191
7192 * xfaces.c (free_realized_face, clear_face_gcs):
7193 Include font_done_for_face in the input_blocked section, just in case.
7194
7195 * xdisp.c (decode_mode_spec): Use terminal-local coding systems.
7196 (get_char_face_and_encoding): Undo last change and remove the *other*
7197 duplicate definition (i.e. keep the one that's better scoped and that
7198 includes code for the font-backend).
7199
7200 * terminal.c (create_terminal): Default keyboard_coding to
7201 `no-conversion' and terminal_coding to `undecided'.
7202
7203 * lread.c (read1): Use XSETPVECTYPE to set a pseudovector's tag.
7204
7205 * fontset.c (free_realized_fontsets): Check that the table entry does
7206 contain a fontset before trying to compare it to `base'.
7207
7208 * emacs.c (main): Move syms_of_data, syms_of_fileio, syms_of_alloc,
7209 syms_of_charset, and syms_of_coding earlier because init_window_once
7210 now needs Vcoding_system_hash_table to be setup.
7211
7212 * coding.h (default_buffer_file_coding): Remove.
7213
7214 * coding.c (default_buffer_file_coding): Remove.
7215 (Fterminal_coding_system, Fkeyboard_coding_system): Use ->id rather
7216 than ->symbol, and use the terminal-local coding system.
7217 (syms_of_coding): Don't setup the coding-systems that are not
7218 terminal-local.
7219 (Fdefine_coding_system_internal): Use XCAR/XCDR.
7220
7221 * chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table):
7222 Use XSETPVECTYPE now that XSETCHAR_TABLE doesn't set the tag anymore.
7223
7224 * alloc.c (Fmake_char_table, make_sub_char_table): Remove. They're now
7225 in chartab.c and were re-added here by mistake.
7226 (Fpurecopy): Use XSETPVECTYPE after copying a COMPILED pseudovector.
7227
7228 * doc.c (Fsnarf_documentation):
7229 * Makefile.in (temacs${EXEEXT}, mostlyclean): Move buildobj.lst from
7230 src to etc.
7231
7232 * ChangeLog.10: Add mistakenly removed entry.
7233
7234 2008-02-01 Dan Nicolaescu <dann@ics.uci.edu>
7235
7236 * Makefile.in (fringe.o, minibuf.o): Fix dependencies.
7237
7238 2008-02-01 Miles Bader <miles@gnu.org>
7239
7240 * xdisp.c (get_char_face_and_encoding): Remove extraneous definition.
7241 Add extra args to FACE_FOR_CHAR.
7242
7243 2008-02-01 Kenichi Handa <handa@m17n.org>
7244
7245 * keymap.c (where_is_internal_1): If key is a cons, store the copy
7246 in sequence.
7247
7248 * chartab.c (map_sub_char_table, map_char_table): If the range
7249 contains just one character, call the function with that character
7250 even if the depth is not 3.
7251
7252 2008-02-01 Jason Rumney <jasonr@gnu.org>
7253
7254 * w32font.c (w32font_text_extents): Calculate metrics for the
7255 whole string.
7256
7257 2008-02-01 Jason Rumney <jasonr@gnu.org>
7258
7259 * w32xfns.c (get_next_msg): Consolidate WM_PAINT messages.
7260
7261 2008-02-01 Jason Rumney <jasonr@gnu.org>
7262
7263 * w32term.c (x_set_glyph_string_clipping): Use
7264 get_glyph_string_clip_rects.
7265 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
7266 Adjust for the change of struct glyph_string.
7267
7268 * w32font.c (w32font_draw): Do clipping here.
7269
7270 2008-02-01 Kenichi Handa <handa@m17n.org>
7271
7272 * xftfont.c (xftfont_draw): Adjust for the change of struct
7273 glyph_string.
7274
7275 * xterm.c (x_set_glyph_string_clipping): Use
7276 get_glyph_string_clip_rects.
7277 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
7278 Adjust for the change of struct glyph_string.
7279
7280 * xdisp.c (get_glyph_string_clip_rects): Reflect s->row->clip to
7281 the resulting clip(s}.
7282 (expose_overlaps): Add arg r. Change callers. Set it to
7283 row->clip temporarily.
7284 (expose_window): Redraw rows overlapping the exposed area.
7285
7286 * dispextern.h (struct glyph_row): New member clip.
7287 (struct glyph_string): Delete members clip_x, clip_y, clip_width,
7288 clip_height, new member clip, and num_clips.
7289
7290 2008-02-01 Kenichi Handa <handa@m17n.org>
7291
7292 * data.c (Fchar_or_string_p): Fix docstring.
7293
7294 2008-02-01 Kenichi Handa <handa@m17n.org>
7295
7296 * xftfont.c (xftfont_draw): If s->font_info != s->face->font_info,
7297 create a temporal XftDraw object.
7298
7299 2008-02-01 Kenichi Handa <handa@m17n.org>
7300
7301 * font.c (Ffontp): Fix docstring.
7302
7303 * coding.c (detect_coding_iso_2022): Don't treat SI/SO codes as a
7304 strong evidence of ISO-2022.
7305
7306 2008-02-01 Kenichi Handa <handa@m17n.org>
7307
7308 * abbrev.c (abbrev_check_chars): Use CHAR_TABLE_REF, not
7309 SYNTAX_ENTRY_FOLLOW_PARENT.
7310
7311 2008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
7312
7313 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and change
7314 its type.
7315 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
7316 Update to the new type of weak_hash_tables and next_weak.
7317
7318 * lisp.h (struct Lisp_Hash_Table): Change next_weak from Lisp_Object to
7319 a plain C pointer to Lisp_Hash_Table.
7320
7321 * lisp.h (XGCTYPE, GC_HASH_TABLE_P, GC_NILP, GC_NUMBERP, GC_NATNUMP)
7322 (GC_INTEGERP, GC_SYMBOLP, GC_MISCP, GC_VECTORLIKEP, GC_STRINGP)
7323 (GC_CONSP, GC_FLOATP, GC_VECTORP, GC_OVERLAYP, GC_MARKERP)
7324 (GC_INTFWDP, GC_BOOLFWDP, GC_OBJFWDP, GC_BUFFER_OBJFWDP)
7325 (GC_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP)
7326 (GC_KBOARD_OBJFWDP, GC_PSEUDOVECTORP, GC_WINDOW_CONFIGURATIONP)
7327 (GC_PROCESSP, GC_WINDOWP, GC_SUBRP, GC_COMPILEDP, GC_BUFFERP)
7328 (GC_SUB_CHAR_TABLE_P, GC_CHAR_TABLE_P, GC_BOOL_VECTOR_P, GC_FRAMEP)
7329 (GC_EQ): Remove since they've been identical to their non-GC_
7330 alter-egos ever since the markbit was eradicated.
7331
7332 * alloc.c:
7333 * buffer.c:
7334 * buffer.h:
7335 * data.c:
7336 * fileio.c:
7337 * filelock.c:
7338 * fns.c:
7339 * frame.h:
7340 * lisp.h:
7341 * macterm.c:
7342 * print.c:
7343 * process.c:
7344 * w32fns.c:
7345 * w32menu.c:
7346 * w32term.c:
7347 * xfns.c:
7348 * xmenu.c:
7349 * xterm.c: Replace uses of GC_* macros with the non-GC_ versions.
7350
7351 2008-02-01 Kenichi Handa <handa@m17n.org>
7352
7353 * chartab.c (map_sub_char_table): Make it work for the top-level
7354 char-table. Fix handling of parent char-table.
7355 (map_char_table): Adjust for the above change.
7356
7357 2008-02-01 Jason Rumney <jasonr@gnu.org>
7358
7359 * w32font.c (Qgdi): Rename from Qw32.
7360
7361 2008-02-01 Jason Rumney <jasonr@gnu.org>
7362
7363 * w32bdf.c (get_quoted_string): Make function static.
7364
7365 2008-02-01 Kenichi Handa <handa@m17n.org>
7366
7367 * xftfont.c (xftfont_open): If one of font's ASCII glyph has
7368 bigger ascent and descent than those of the font, use them as
7369 font's ascent and descent.
7370
7371 2008-02-01 Kenichi Handa <handa@m17n.org>
7372
7373 * Makefile.in (${lispsource}international/charprop.el): Move this
7374 target within "#ifdef HAVE_UNIDATA" and "#endif".
7375
7376 2008-02-01 Kenichi Handa <handa@m17n.org>
7377
7378 * Makefile.in (lisp): Add ${lispsource}language/tai-viet.el.
7379 (shortlisp): Add ../lisp/language/tai-viet.el.
7380
7381 2008-02-01 Ulrich Mueller <ulm@gentoo.org>
7382
7383 * Makefile.in (${lispsource}international/charprop.el): Depend on
7384 temacs${EXEEXT}.
7385
7386 2008-02-01 Jason Rumney <jasonr@gnu.org>
7387
7388 * w32font.c (w32font_close): Delete the GDI font object.
7389
7390 * w32menu.c: Include character.h.
7391
7392 * w32proc.c: Likewise.
7393
7394 * w32select.c: Likewise.
7395
7396 * makefile.w32-in (w32proc.o): Depend on character.h.
7397
7398 2008-02-01 Jason Rumney <jasonr@gnu.org>
7399
7400 * w32fns.c (syms_of_w32fns): Use DEFSYM macro.
7401
7402 * w32menu.c (syms_of_w32menu): Likewise.
7403
7404 * w32proc.c (syms_of_ntproc): Likewise.
7405
7406 * w32select.c (syms_of_w32select): Likewise.
7407
7408 * w32term.c (syms_of_w32term): Likewise.
7409
7410 2008-02-01 Jason Rumney <jasonr@gnu.org>
7411
7412 * w32font.c (w32font_draw): Delete brush after using it.
7413
7414 2008-02-01 Jason Rumney <jasonr@gnu.org>
7415
7416 * w32font.c (w32font_open): Don't set font_idx.
7417 (w32font_text_extents): Try GetTextExtentPoint32W before defaulting
7418 to font settings.
7419 (w32font_draw): Fill background explicitly.
7420
7421 2008-02-01 Jason Rumney <jasonr@gnu.org>
7422
7423 * w32term.c (w32_initialize): Don't call w32font_initialize.
7424
7425 * w32font.c (w32font_info): Remove subranges.
7426 (QCsubranges, Qmodern, Qswiss, Qroman): Remove.
7427 (QCfamily, Qmonospace, Qsans_serif, Qmono, Qsans, Qsans__serif)
7428 (Qraster, Qoutline, Qlatin, Qgreek, Qcoptic, Qcyrillic, Qarmenian)
7429 (Qhebrew, Qarabic, Qsyriac, Qnko, Qthaana, Qdevanagari, Qbengali)
7430 (Qgurmukhi, Qgujarati, Qoriya, Qtamil, Qtelugu, Qkannada)
7431 (Qmalayalam, Qsinhala, Qthai, Qlao, Qtibetan, Qmyanmar, Qgeorgian)
7432 (Qhangul, Qethiopic, Qcherokee, Qcanadian_aboriginal, Qogham)
7433 (Qrunic, Qkhmer, Qmongolian, Qsymbol, Qbraille, Qhan)
7434 (Qideographic_description, Qcjk_misc, Qkana, Qbopomofo, Qkanbun)
7435 (Qyi, Qbyzantine_musical_symbol, Qmusical_symbol, Qmathematical):
7436 New symbols.
7437 (font_callback_data): New struct.
7438 (w32font_list, w32font_match): Use it.
7439 (w32font_open): Don't populate subranges.
7440 (w32font_has_char): Use script Lisp symbols, not subrange bitmask.
7441 (w32font_encode_char): Always return unicode code-point as-is.
7442 (w32font_text_extents): Supply a tranformation matrix to
7443 GetGlyphOutline. Never look up by glyph index. Avoid looping
7444 twice. Use unicode version of GetTexExtentPoint32 instead of
7445 glyph index version.
7446 (set_fonts_frame): Remove.
7447 (w32_enumfont_pattern_entity): Add frame parameter, use it to
7448 set frame parameter. Use backward compatible fake foundries.
7449 Save generic family in extra slot under QCfamily. Make width slot
7450 constant. Save QCspacing value. Save list of scripts instead of
7451 binary subranges.
7452 (w32_generic_family, logfonts_match, font_matches_spec): New functions.
7453 (add_font_entity_to_list): Use font_callback_data struct. Filter
7454 unwanted fonts.
7455 (add_one_font_entity_to_list): Use font_callback_data struct.
7456 (w32_registry): Default to iso10646_1.
7457 (fill_in_logfont): Use dpi from extra slot. Don't bother with
7458 string font registries. Don't fill in font name if it is a generic
7459 family name, fill family instead. Use spacing, family and script
7460 extra info to fill pitch, family and charset fields.
7461 (list_all_matching_fonts): Use font_callback_data struct.
7462 (unicode_range_for_char): Remove.
7463 (font_supported_scripts): New function.
7464 (w32font_initialize): Remove.
7465 (syms_of_w32font): Update which symbols are defined.
7466
7467 2008-02-01 Jason Rumney <jasonr@gnu.org>
7468
7469 * font.c (font_pixel_size): Reverse assq_no_quit args.
7470
7471 * w32term.h (FONT_WIDTH): Report max width, not average.
7472 (FONT_MAX_WIDTH): Remove.
7473 (FONT_AVG_WIDTH): New macro.
7474
7475 * xfaces.c (Fx_list_fonts) [WINDOWSNT]: Remove Windows only
7476 redefinition of FONT_WIDTH.
7477
7478 * w32term.c (x_font_min_bounds): Use FONT_AVG_WIDTH.
7479 (w32_cache_char_metrics): Use FONT_WIDTH.
7480
7481 * w32fns.c (w32_load_system_font, w32_list_fonts): Use FONT_AVG_WIDTH.
7482
7483 2008-02-01 Jason Rumney <jasonr@gnu.org>
7484
7485 * w32font.c (w32font_open): Make lfHeight negative.
7486
7487 * w32fns.c (x_default_font_parameter): Use new style font name.
7488 (Fx_create_frame, x_create_tip_frame): Initialize resx and resy.
7489
7490 2008-02-01 Jason Rumney <jasonr@gnu.org>
7491
7492 * w32font.c (QCsubranges): New symbol.
7493 (w32font_open, w32font_has_char): Get subranges from subproperty
7494 of extra.
7495 (w32_enumfont_pattern_entity): Set subranges as subproperty of extra.
7496 (syms_of_w32font): Define :subranges symbol.
7497
7498 * font.c (font_put_extra): Expose externally.
7499
7500 * font.h (font_put_extra): Move declaration from font.c.
7501
7502 * font.c (Ffont_get): Use font driver to determine otf capability.
7503 (adjust_anchor): Check if driver defines anchor_point before using.
7504
7505 * w32font.c (w32font_open): Handle size, height and pixel_size better.
7506 (w32font_draw): Use options.
7507 (w32_enumfont_pattern_entity): Set size to 0 for scalable fonts.
7508 Fix detection of truetype fonts.
7509 (registry_to_w32_charset): Handle charsets other than iso8859-1
7510 expressed as lisp symbols.
7511 (w32_registry): Express charset as lisp symbol.
7512 (fill_in_logfont): Reverse pixel and point height logic.
7513 Don't set width here. Set quality to default.
7514
7515 * w32fns.c (w32_load_system_font): Fix detecting FIXED_PITCH fonts.
7516 (x_to_w32_font): Fill in lfPitchAndFamily correctly.
7517
7518 * xterm.c (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
7519 Remove redundant loop and allocation.
7520
7521 * makefile.w32-in (font.o, w32font.o): New objects.
7522 (fontset.o, xdisp.o, xfaces.o, w32fns.o, w32term.o): Depend on font.h.
7523 (FONTOBJ): New group of objects conditioned on USE_FONT_BACKEND.
7524
7525 * xdisp.c (fill_composite_glyph_string): Make the first arg to
7526 STORE_XCHARB a valid l-value.
7527
7528 * w32term.c (w32_native_per_char_metric): Swap width and rbearing
7529 calculations for non-Truetype fonts.
7530 (x_draw_glyph_string): Sync with xterm.c.
7531 (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
7532 Remove redundant code.
7533 (w32_initialize) [USE_FONT_BACKEND]: Call w32font_initialize.
7534
7535 * w32term.h (w32_output_data) [USE_FONT_BACKEND]: Add fontp member.
7536 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro from xterm.h.
7537
7538 * w32fns.c [USE_FONT_BACKEND]: Port font backend changes from xfns.c.
7539 (x_to_w32_charset, w32_to_x_charset): Expose externally.
7540
7541 * w32font.c: New file for w32 font backend.
7542
7543 2008-02-01 Kenichi Handa <handa@m17n.org>
7544
7545 * term.c: Don't include "buffer.h" twice.
7546
7547 2008-02-01 Kenichi Handa <handa@m17n.org>
7548
7549 * character.c (Funibyte_string): New function.
7550 (syms_of_character): Defsubr it.
7551
7552 2008-02-01 Jason Rumney <jasonr@gnu.org>
7553
7554 * w32term.c [USE_FONT_BACKEND]:
7555 (x_get_font_repertory, note_mouse_movement, x_set_mouse_face_gc)
7556 (x_set_glyph_string_clipping, x_set_glyph_string_clipping_exactly)
7557 (x_draw_glyph_string, x_draw_glyph_string_foreground)
7558 (x_draw_composite_glyph_string_foreground, x_new_fontset2)
7559 (x_free_frame_resources): Sync with xterm.c.
7560
7561 2008-02-01 Andreas Schwab <schwab@suse.de>
7562
7563 * lread.c (read1): Use CHAR_TABLE_STANDARD_SLOTS to validate
7564 char-table size.
7565
7566 2008-02-01 Kenichi Handa <handa@m17n.org>
7567
7568 * font.c (check_otf_features): Define it regardless of HAVE_LIBOTF.
7569
7570 2008-02-01 Kenichi Handa <handa@m17n.org>
7571
7572 * ftfont.c (ftfont_driver): Delete font_otf_gsub and
7573 font_otf_gpos, add font_drive_otf.
7574
7575 * fontset.c (fontset_find_font): Pay attention to font size
7576 specified for a font.
7577 (reorder_font_vector): Check contents of font_def.
7578
7579 * font.c (struct otf_list): Delete it.
7580 (otf_list): Make it a lisp variable.
7581 (otf_open): Use lispy otf_list.
7582 (generate_otf_features): Rename from parse_gsub_gpos_spec.
7583 (check_otf_features): New function.
7584 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
7585 New functions.
7586 (font_drive_otf): New function merging font_otf_gsub and
7587 font_otf_gpos.
7588 (font_open_for_lface): New arg spec. Change argument order.
7589 (font_load_for_face): Adjust for the change of font_open_for_lface.
7590 (Ffont_drive_otf): New function merging Ffont_otf_gsub and
7591 Ffont_otf_gpos.
7592 (syms_of_font): Staticpro otf_list. Delete defsubr of
7593 Sfont_otf_gsub and Sfont_otf_gpos. Defsubr Sfont_drive_otf.
7594
7595 * xfaces.c (set_font_frame_param): Adjust for the change of
7596 font_open_for_lface.
7597
7598 * font.h (font_open_for_lface): Adjust prototype.
7599 (struct font_driver): Delete members otf_gsub and otf_gpos, add
7600 member otf_drive.
7601 (font_otf_gsub, font_otf_gpos): Delete externs.
7602 (font_drive_otf): Extern it.
7603
7604 2008-02-01 Kenichi Handa <handa@m17n.org>
7605
7606 * font.c (font_at): If the window W is not on a window system,
7607 return Qnil.
7608
7609 * coding.c (produce_chars, encode_coding): Don't call
7610 insert_from_gap if no characters to produce.
7611
7612 2008-02-01 Kenichi Handa <handa@m17n.org>
7613
7614 * fontset.c (free_realized_fontsets): Avoid unnecessary call of
7615 Fclear_face_cache.
7616
7617 * xfaces.c (face_for_font): Check also face->font==font->font.font.
7618
7619 2008-02-01 Miles Bader <miles@gnu.org>
7620
7621 * emacs.c (main): Change default value of `enable_font_backend' to 1.
7622 Parse "--disable-font-backend" option.
7623 (standard_args): Add "--disable-font-backend" option.
7624
7625 2008-02-01 Kenichi Handa <handa@m17n.org>
7626
7627 * fontset.c (fontset_find_font): New function.
7628 (fontset_font): Use fontset_find_font.
7629 (make_fontset_for_ascii_face): Don't set face ID in rfont_def.
7630 Register the specified font for all Latin characters.
7631 (new_fontset_from_font): Register the specified font for all Latin
7632 characters.
7633 (dump_fontset): For a realized fontset, include the base fontset
7634 name in the returned vector.
7635
7636 2008-02-01 Kenichi Handa <handa@m17n.org>
7637
7638 * character.h (CHAR_STRING): Cast C to unsigned on calling
7639 char_string.
7640
7641 * character.c (char_string): Type of arg C changed to unsigned.
7642 Signal an error if C is an invalid character code.
7643
7644 * editfns.c (general_insert_function, Fchar_to_string):
7645 Use CHARACTERP, not INTEGERP.
7646
7647 2008-02-01 Kenichi Handa <handa@m17n.org>
7648
7649 * character.h (MIN_MULTIBYTE_LEADING_CODE)
7650 (MAX_MULTIBYTE_LEADING_CODE): New macros.
7651
7652 * regex.c (analyse_first): Fix for multibyte characters in "case
7653 charset:" and "case categoryspec:".
7654
7655 2008-02-01 Andreas Schwab <schwab@suse.de>
7656
7657 * Makefile.in (LIBES): Move standard libraries to the end.
7658
7659 2008-02-01 Kenichi Handa <handa@m17n.org>
7660
7661 * alloc.c (Fgarbage_collect): If nextb->text->inhibit_shrinking is
7662 nonzero, don't shrink the buffer nextb.
7663
7664 * buffer.h (struct buffer_text): New member inhibit_shrinking.
7665
7666 * coding.c (coding_alloc_by_making_gap): New arg offset.
7667 (alloc_destination): Call coding_alloc_by_making_gap with the arg
7668 offset.
7669 (decode_coding_iso_2022): Update coding->safe_charsets.
7670 (decode_coding_gap): Temporarily set
7671 current_buffer->text->inhibit_shrinking to 1.
7672
7673 2008-02-01 Kenichi Handa <handa@m17n.org>
7674
7675 * xterm.c (x_draw_composite_glyph_string_foreground): Fix
7676 indexing into elements of s->cmp and s->char2b.
7677
7678 2008-02-01 Juanma Barranquero <lekktu@gmail.com>
7679
7680 * regex.c (RE_STRING_CHAR_AND_LENGTH) [! emacs]: Add missing arg `len'.
7681
7682 2008-02-01 Kenichi Handa <handa@m17n.org>
7683
7684 * regex.c (GET_CHAR_BEFORE_2, GET_CHAR_AFTER): Check the variable
7685 target_multibyte instead of multibyte.
7686 (re_match_2_internal): Call bcmp_translate with target_multibyte.
7687 (bcmp_translate): Change the argument name from multibyte to
7688 target_multibyte.
7689
7690 2008-02-01 Kenichi Handa <handa@m17n.org>
7691
7692 These changes are to compile a regexp into a pattern that can be
7693 used both for multibyte and unibyte targets.
7694
7695 * Makefile.in (search.o): Depend on charset.h.
7696
7697 * character.c (multibyte_char_to_unibyte_safe): New function.
7698
7699 * search.c: Include "charset.h".
7700 (compile_pattern_1): Delete argument multibyte. Don't set
7701 cp->buf.target_multibyte here. Set cp->buf.charset_unibyte.
7702 (compile_pattern): Don't compare cp->buf.target_multibyte.
7703 Compare cp->buf.charset_unibyte.
7704 (compile_pattern): Set cp->buf.target_multibyte.
7705
7706 * lisp.h (multibyte_char_to_unibyte_safe): Extern it.
7707
7708 * regex.h (struct re_pattern_buffer): New member charset_unibyte.
7709
7710 * regex.c (RE_STRING_CHAR, RE_STRING_CHAR_AND_LENGTH): New arg
7711 multibyte. Change callers.
7712 (RE_CHAR_TO_MULTIBYTE, RE_CHAR_TO_UNIBYTE): New macros.
7713 (MAKE_CHAR_MULTIBYTE, MAKE_CHAR_UNIBYTE): Delete. Change callers
7714 to use RE_CHAR_TO_MULTIBYTE and RE_CHAR_TO_UNIBYTE, respectively.
7715 (SETUP_ASCII_RANGE, SETUP_UNIBYTE_RANGE): New macros.
7716 (SETUP_MULTIBYTE_RANGE): Generate a more compact range_table.
7717 (regex_compile): Make the compiled pattern usable both for
7718 multibyte and unibyte targets.
7719 (analyse_first): Make the fastmap usable both for multibyte and
7720 unibyte targets.
7721 (TRANSLATE_VIA_MULTIBYTE): Delete.
7722 (re_match_2_internal): Pay attention to the case that the
7723 multibyteness of bufp and target may be different.
7724
7725 2008-02-01 Kenichi Handa <handa@m17n.org>
7726
7727 * xdisp.c (x_produce_glyphs): When a font is not found, make the
7728 empty box occupy at least one column width.
7729
7730 2008-02-01 Miles Bader <miles@gnu.org>
7731
7732 * Makefile.in: Remove redundant HAVE_XFT clause.
7733
7734 2008-02-01 Kenichi Handa <handa@m17n.org>
7735
7736 * xrdb.c (x_load_resources): Setup the default fontSet X reource.
7737
7738 2008-02-01 Kenichi Handa <handa@m17n.org>
7739
7740 * fontset.c (Finternal_char_font): Fix for the case of POSITION
7741 being nil.
7742
7743 2008-02-01 Kenichi Handa <handa@m17n.org>
7744
7745 * xftfont.c (xftfont_open): Call FcConfigSubstitute.
7746
7747 2008-02-01 Kenichi Handa <handa@m17n.org>
7748
7749 * xftfont.c (xftfont_open): Don't enable antialias explicitly.
7750
7751 2008-02-01 Kenichi Handa <handa@m17n.org>
7752
7753 * search.c (simple_search): Fix previous change.
7754
7755 2008-02-01 Kenichi Handa <handa@m17n.org>
7756
7757 * xftfont.c (ftfont_font_format): Extern declaration.
7758
7759 * frame.c (x_set_font): Fix the second arg to fs_query_fontset.
7760
7761 * xfont.c (xfont_driver): Initialize ftfont_driver.type by 0.
7762 (xfont_list): Don't directly use Lisp_Object as an operand of &&.
7763
7764 * ftfont.c (ftfont_driver): Initialize ftfont_driver.type by 0.
7765 (ftfont_font_format): Fix previous change.
7766
7767 * font.h (Ffont_xlfd_name): EXFUN it.
7768
7769 * font.c (font_parse_xlfd): Fix the array size of `f'.
7770 (register_font_driver): Use EQ to compare driver->type.
7771
7772 * xfns.c (xic_create_xfontset2) [USE_FONT_BACKEND]: New function.
7773 (create_frame_xic) [USE_FONT_BACKEND]: Call xic_create_xfontset2.
7774 (xic_set_xfontset) [USE_FONT_BACKEND]: Likewise.
7775
7776 2008-02-01 Kenichi Handa <handa@m17n.org>
7777
7778 * ftfont.c (ftfont_pattern_entity, ftfont_list_generic_family)
7779 (ftfont_list, ftfont_font_format): Check if FC_FONTFORMAT is defined.
7780
7781 2008-02-01 Kenichi Handa <handa@m17n.org>
7782
7783 * xfont.c (xfont_open): Set font->format.
7784
7785 * xftfont.c (xftfont_open): Set font->format.
7786
7787 * ftfont.c (ftfont_pattern_entity): Add fontformat in a pattern.
7788 (ftfont_list): Include FC_FONTFORMAT in FcObject.
7789 (ftfont_open): Set font->format.
7790 (ftfont_font_format): New function.
7791
7792 * font.h (struct font): New memeber format.
7793
7794 * font.c (Qopentype): New variable.
7795 (syms_of_font): Defsym it.
7796 (Fquery_font): Change the format of the last element of the return
7797 value.
7798
7799 2008-02-01 Kenichi Handa <handa@m17n.org>
7800
7801 * xfns.c (xic_create_xfontset): Try the default fontset name as a
7802 last resort.
7803
7804 2008-02-01 Kenichi Handa <handa@m17n.org>
7805
7806 * coding.c (detect_coding_charset): Fix detection of multi-byte
7807 charset.
7808
7809 2008-02-01 Bob Halley <halley@play-bow.org> (tiny change)
7810
7811 * ccl.c (ccl_driver): If DST is NULL, set ccl->produced to 0.
7812
7813 2008-02-01 Kenichi Handa <handa@m17n.org>
7814
7815 * xdisp.c (get_next_display_element): Set it->face_id for the
7816 first component of a composition.
7817 (x_produce_glyphs): Check if the font is changed or not for composition.
7818
7819 2008-02-01 Kenichi Handa <handa@m17n.org>
7820
7821 * fontset.c (Qlatin): New variable.
7822 (syms_of_fontset): Define it as a lisp symbol.
7823 (Fset_fontset_font): If TARGET is `latin', use FONT_SPEC for ASCII.
7824
7825 2008-02-01 Kenichi Handa <handa@m17n.org>
7826
7827 * font.c (font_unparse_fcname): Pay attention to the case that
7828 some of font property is a null string.
7829
7830 2008-02-01 Kenichi Handa <handa@m17n.org>
7831
7832 * term.c: Include "composite.h".
7833 (encode_terminal_code): Output all components of composition.
7834 Check the size of encode_terminal_src.
7835 (produce_glyphs): For composition, call produce_composite_glyph.
7836 (append_composite_glyph, produce_composite_glyph): New functions.
7837
7838 * xdisp.c (x_produce_glyphs): In handling composition, if a font
7839 is not found, get font_info from the current ascii face.
7840
7841 2008-02-01 Kenichi Handa <handa@m17n.org>
7842
7843 * fileio.c (Finsert_file_contents): On replacing, temporarily bind
7844 buffer-file-name to Qnil before calling insert_from_buffer.
7845
7846 * font.c (font_unparse_fcname): Pay attention to the case that
7847 foundry is a null string.
7848
7849 2008-02-01 Kenichi Handa <handa@m17n.org>
7850
7851 * ftfont.c (ftfont_list): Allow registry "unicode-sip".
7852
7853 * font.c (Qunicode_sip): New variable.
7854 (syms_of_font): Declare it as a Lisp symbol.
7855
7856 * font.h (Qunicode_sip): Extern it.
7857
7858 2008-02-01 Kenichi Handa <handa@m17n.org>
7859
7860 * composite.c (get_composition_id): Pay attention to TAB component.
7861
7862 * xterm.c (x_draw_composite_glyph_string_foreground): Don't draw
7863 TAB. Adjust for the change of s->char2b which always points to
7864 the first elememnt of allocated memory.
7865
7866 * xftfont.c (xftfont_text_extents): Fix calculation of descent value.
7867
7868 * xdisp.c (handle_composition_prop): Set it->c to the first
7869 non-TAB component.
7870 (fill_composite_glyph_string): Change argument.
7871 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the above change.
7872 (x_produce_glyphs): Fix handling of left/right padding.
7873
7874 2008-02-01 Kenichi Handa <handa@m17n.org>
7875
7876 * coding.c (detect_coding_system): Fix for handling off
7877 inhibit_iso_escape_detection. Fix for the case that no coding
7878 system is defined for a specific coding category.
7879
7880 2008-02-01 Kenichi Handa <handa@m17n.org>
7881
7882 * font.c (font_matching_entity): Delete unused local var.
7883
7884 * xftfont.c (xftfont_open): Call XftDefaultSubstitute before
7885 opening a font.
7886
7887 * fileio.c (Finsert_file_contents): On recovering a file, assume
7888 Unix-like eol.
7889 (choose_write_coding_system): On auto-saving a file, force
7890 Unix-like eol.
7891
7892 * coding.c (setup_coding_system): Fix setting of
7893 coding->common_flags based on eol_type.
7894 (coding_inherit_eol_type): If PARENT is not nil, be sure to
7895 inherit from it.
7896
7897 2008-02-01 Kenichi Handa <handa@m17n.org>
7898
7899 * alloc.c (NSTATICS): Increas to 0x600.
7900
7901 2008-02-01 Kenichi Handa <handa@m17n.org>
7902
7903 * ftfont.c (ftfont_driver): Set ftfont_driver.match to ftfont_match.
7904 (ftfont_list): Don't check :name property.
7905 (ftfont_match): New function.
7906 (ftfont_pattern_entity): If the pattern doesn't contain
7907 FC_SPACING, don't assuce FC_MONO.
7908
7909 * font.h (struct font_driver): New member `match'.
7910 (font_update_drivers): Adjust prototype.
7911
7912 * font.c (font_parse_fcname, font_parse_name): Don't change :name
7913 property of FONT.
7914 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE, check_gstring): Define
7915 them unconditionally.
7916 (font_matching_entity): New function.
7917 (font_open_by_name): Try font_matching_entity if exact match is
7918 not found.
7919 (font_update_drivers): Delete the arg FONT. Return a list of
7920 actually used backends. Don't free faces, font caches here.
7921 Don't store data in frame parameters. Don't call x_set_font.
7922 (Ffont_spec): Store :name property as is.
7923 (Ffont_get): Check HAVE_LIBOTF before calling font_otf_capability.
7924 (Ffont_otf_gsub): Call font->driver->otf_gsub instead of font_otf_gsub.
7925 (Ffont_otf_gpos): Call font->driver->otf_gpos instead of font_otf_gpos.
7926 (Ffont_otf_alternates): Check if the driver has otf_gsub function.
7927 Call font->driver->otf_gsub instead of font_otf_gsub.
7928
7929 * frame.c (x_set_font_backend): Do more works that were done in
7930 font_update_drivers before.
7931
7932 * xfont.c (xfont_match): New function.
7933 (xfont_driver): Set xfont_driver.match to xfont_match.
7934 (xfont_draw): Set font in GC if necessary.
7935
7936 * ftxfont.c (ftxfont_match): New function.
7937 (syms_of_ftxfont): Set ftxfont_driver.match to ftxfont_match.
7938
7939 * xftfont.c (xftfont_match): New function.
7940 (syms_of_xftfont): Set xftfont_driver.match to xftfont_match.
7941
7942 2008-02-01 Kenichi Handa <handa@m17n.org>
7943
7944 * font.h (struct font): New member scalable.
7945 (struct font_driver): New arg ALTERANTE_SUBST to otf_gsub.
7946 (font_otf_gsub): Adjust prototype.
7947
7948 * font.c (font_otf_capability): Fix handling of the default langsys.
7949 (parse_gsub_gpos_spec): Change type to void. New arg nbytes.
7950 Check the contents of SPEC.
7951 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE): New macros.
7952 (check_gstring): New function.
7953 (REPLACEMENT_CHARACTER): New macro.
7954 (font_otf_gsub): New arg alternate_subst. Be sure to set all
7955 glyph codes of GSTRING.
7956 (font_otf_gpos): Be sure to set all glyph codes of GSTRING.
7957 (font_prepare_composition): Set cmp->glyph_len.
7958 (font_open_entity): Set font->scalable.
7959 (Ffont_get): Handle :otf property.
7960 (Ffont_otf_gsub, Ffont_otf_gpos, Ffont_otf_alternates): New
7961 functions.
7962 (Fquery_font): Use font->font.full_name.
7963 (syms_of_font): Defsubr Sfont_otf_gsub, Sfont_otf_gpos, and
7964 Sfont_otf_alternates.
7965
7966 * ftfont.c (ftfont_open): Set font->font.full_name and
7967 font->font.name properly. Fix calculation of font->font.height
7968 and font->min_width.
7969
7970 * ftxfont.c (ftxfont_create_gcs): New function.
7971 (ftxfont_draw_bitmap): Fix arg to ftfont_driver.get_bitmap.
7972 (ftxfont_draw_backgrond): Fix filling region.
7973 (ftxfont_default_fid): New function.
7974 (ftxfont_open): Set xfotn->fid to the return value of
7975 ftxfont_default_fid.
7976 (ftxfont_prepare_face): Use ftxfont_create_gcs to create GCs.
7977 (ftxfont_done_face): Free only GCs that are created by
7978 ftxfont_create_gcs.
7979 (ftxfont_draw): If face->gc != s->gc, create proper GCs.
7980
7981 * xterm.c (x_set_glyph_string_clipping_exactly) [USE_FONT_BACKEND]:
7982 Clip to src->width, etc (not src->clip_XXX).
7983
7984 * xfns.c (x_create_tip_frame) [USE_FONT_BACKEND]: Handle
7985 FontBackend frame parameter.
7986
7987 2008-02-01 Kenichi Handa <handa@m17n.org>
7988
7989 * font.h (struct font_driver_list): New member `on'.
7990 (Fclear_font_cache): EXFUN it.
7991 (font_update_drivers): Extern it.
7992
7993 * font.c (font_unparse_fcname): Fix typo (swidth->width).
7994 (font_list_entities): Check driver_list->on.
7995 (register_font_driver): Initalize `on' member to 0.
7996 (font_update_drivers): New function.
7997 (Fclear_font_cache): Check driver_list->on.
7998
7999 * frame.h (Qfont_backend): Extern it.
8000 (x_set_font_backend): Extern it.
8001
8002 * frame.c (Qfont_backend): New variable.
8003 (frame_parms): New element for font-backend.
8004 (x_set_font_backend): New function.
8005
8006 * xfns.c (Fx_create_frame) [USE_FONT_BACKEND]: Handle
8007 FontBackend frame parameter.
8008 (x_frame_parm_handlers) [USE_FONT_BACKEND]: New element
8009 x_set_font_backend.
8010
8011 * xfont.c (xfont_list): Don't try listing by :name property if the
8012 name is not for XLFD.
8013
8014 2008-02-01 Kenichi Handa <handa@m17n.org>
8015
8016 * font.h (LGLYPH_FROM, LGLYPH_TO, LGLYPH_SET_FROM)
8017 (LGLYPH_SET_TO): New macros.
8018 (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WADJUST): Check if adjustment
8019 element of G is vector or not.
8020 (font_at): Extern it.
8021
8022 * font.c: Include window.h.
8023 (font_lispy_object): New function.
8024 (font_prepare_composition): Check LGLYPH_FORM (g) to detect the
8025 end of valid glyph.
8026 (font_close_object): Fix getting (struct font *).
8027 (font_at): New function.
8028 (Ffont_get): If FONT is a font-object, get entity from it.
8029 (Ffont_make_gstring): Initialize elements of glyphs with nil.
8030 (Ffont_fill_gstring): Use macro LGSTRING_XXX and LGLYPH_XXX. Fix
8031 range check.
8032 (Ffont_at): New function.
8033 (syms_of_font): Defsubr Sfont_at.
8034
8035 * xdisp.c (it_props): Move the entry for Qauto_composed to just
8036 before the entry for Qcomposition.
8037 (handle_auto_composed_prop): Call auto-composition-function with 4 args.
8038 (handle_composition_prop) [USE_FONT_BACKEND]: Set it->face_id from
8039 the font in gstring.
8040 (fill_composite_glyph_string) [USE_FONT_BACKEND]: Check
8041 LGLYPH_FORM (g) to detect the end of valid glyph.
8042 (x_produce_glyphs) [USE_FONT_BACKEND]: Don't update it->face_id if
8043 we are composing with gstring.
8044
8045 * xterm.c (x_draw_composite_glyph_string_foreground) [USE_FONT_BACKEND]:
8046 Check if adjustment is vector or not.
8047
8048 * Makefile.in (font.o): Make it depends on window.h.
8049
8050 2008-02-01 Kenichi Handa <handa@m17n.org>
8051
8052 * xterm.c (x_draw_composite_glyph_string_foreground): Check if
8053 adjustment is vector or not.
8054
8055 2008-02-01 Miles Bader <miles@gnu.org>
8056
8057 * character.h (CHECK_CHARACTER): Redefine in terms of CHECK_TYPE.
8058
8059 2008-02-01 Kenichi Handa <handa@m17n.org>
8060
8061 * font.h (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WIDTH, LGLYPH_WADJUST)
8062 (LGLYPH_SET_WIDTH): Adjusted for the change of LGLYPH format.
8063 (LGLYPH_ADJUSTMENT, LGLYPH_SET_ADJUSTMENT): New macros.
8064
8065 * font.c (font_merge_old_spec): Treat '*' in foundry as a wild card.
8066 (DEVICE_DELTA): Fix typo.
8067 (font_otf_gpos, font_prepare_compositio): Adjust for the change of
8068 LGLYPH format.
8069
8070 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
8071 the change of LGLYPH format.
8072
8073 2008-02-01 Kenichi Handa <handa@m17n.org>
8074
8075 * ftfont.c (ftfont_list): Fix typo.
8076 (ftfont_build_basic_charsets): Don't include letters with diacritics.
8077
8078 2008-02-01 Jan Djärv <jan.h.d@swipnet.se>
8079
8080 * xfaces.c (realize_non_ascii_face): Set face->extra to NULL.
8081
8082 * xftfont.c (xftfont_done_face): Call XftDrawDestroy only if
8083 xftface_info is non-NULL.
8084
8085 2008-02-01 Jan Djärv <jan.h.d@swipnet.se>
8086
8087 * ftfont.c (ftfont_list): Move misplaced #endif.
8088
8089 2008-02-01 Kenichi Handa <handa@m17n.org>
8090
8091 * ftfont.c (ftfont_list): Pay attention to the case that
8092 FC_CAPABILITY is not defined.
8093
8094 2008-02-01 Kenichi Handa <handa@m17n.org>
8095
8096 * xftfont.c (xftfont_open): Set charset related members to -1.
8097
8098 * ftfont.c (ftfont_list): Handle QCotf property. Fix handling of
8099 QCname.
8100 (ftfont_open): Set charset related members to -1.
8101
8102 * fontset.c (Votf_script_alist): New variable.
8103 (syms_of_fontset): Initialize it.
8104 (fontset_font): Delete unused variable.
8105
8106 * fontset.h (Votf_script_alist): Extern it.
8107
8108 * font.c (font_find_for_lface): Optimize code.
8109
8110 * font.h (font_close_object, font_merge_old_spec): Extern them.
8111
8112 2008-02-01 Kenichi Handa <handa@m17n.org>
8113
8114 * font.c (QCscalable, Qc, Qm, Qp, Qd): New variables.
8115 (syms_of_font): Initialize them.
8116 (font_pixel_size): Allow float value in dpi.
8117 (font_prop_validate_type): Delete.
8118 (font_prop_validate_symbol, font_prop_validate_style): Change argument.
8119 Change caller.
8120 (font_prop_validate_non_neg): Rename from font_prop_validate_size.
8121 (font_prop_validate_extra): Delete.
8122 (font_prop_validate_spacing): New function.
8123 (font_property_table): Add elements for all known properties.
8124 (get_font_prop_index): Rename from check_font_prop_name. New
8125 argument FROM. Change caller.
8126 (font_prop_validate): Validate all known properties.
8127 (font_put_extra): Delete argument force. Change caller.
8128 (font_expand_wildcards): Make it static. Fix the way of shrinking
8129 the possible range.
8130 (font_parse_xlfd): Delete argument merge. Fix handling of RESX,
8131 RESY, SPACING, and AVGWIDTH. Don't validate property values here.
8132 Change caller.
8133 (font_unparse_xlfd): Handle dpi, spacing, and scalable properties.
8134 (font_parse_fcname): Delete argument merge. Fix parsing of point
8135 size. Don't validate properties values here. Change caller.
8136 (font_unparse_fcname): Handle dpi, spacing, and scalable properties.
8137 (font_open_by_name): Delete unused variable.
8138 (Ffont_spec): Likewise. Validate property values.
8139 (Ffont_match_p): New function.
8140
8141 * font.h (QCscalable): Extern it.
8142 (font_parse_xlfd, font_parse_fcname): Adjust prototype.
8143
8144 * ftfont.c (ftfont_list): Handle properties dpi, spacing, and scalable.
8145
8146 * xfont.c (xfont_query_font): Adjust for the change of font_parse_xlfd.
8147 (xfont_list_pattern): New function.
8148 (xfont_list): Use xfont_list_pattern.
8149
8150 2008-02-01 Kenichi Handa <handa@m17n.org>
8151
8152 * font.h (Flist_fonts): EXFUN it.
8153
8154 2008-02-01 Jason Rumney <jasonr@gnu.org>
8155
8156 * w32term.c (w32_initialize): Add back smoothing_type and
8157 smoothing_enabled definitions.
8158
8159 2008-02-01 Kenichi Handa <handa@m17n.org>
8160
8161 * xterm.c (x_draw_glyph_string) [USE_FONT_BACKEND]: Check
8162 s->face->font on determining underline position.
8163
8164 2008-02-01 Kenichi Handa <handa@m17n.org>
8165
8166 * font.c (font_parse_xlfd): Fix generating of CHARSET_REGISTRY field.
8167 (font_has_char): Accept font-object too.
8168 (font_find_for_lface): Try at first with a size specified in face.
8169
8170 2008-02-01 Kenichi Handa <handa@m17n.org>
8171
8172 * frame.c (x_set_font) [USE_FONT_BACKEND]: Fix argument to
8173 font_open_by_name.
8174
8175 2008-02-01 Kenichi Handa <handa@m17n.org>
8176
8177 * font.h (QCspacing, QCdpi): Extern them.
8178 (enum font_spacing): New enum.
8179 (FONT_PIXEL_SIZE_QUANTUM): New macro.
8180
8181 * font.c (POINT_TO_PIXEL): Don't divice POINT by 10.
8182 (QCspacing, QCdpi): New variables.
8183 (syms_of_font): Initialize them.
8184 (font_pixel_size): New function.
8185 (font_put_extra): New function.
8186 (font_parse_xlfd): Fix handling of font size. Add QCdpi property
8187 in FONT_EXTRA.
8188 (font_parse_fcname): Handle enumenrated values (e.g. bold).
8189 Fix handling font size. Add QCname property that contains only
8190 unknown properties.
8191 (font_score): Change argument. Change caller. Pay attention to
8192 FONT_PIXEL_SIZE_QUANTUM.
8193 (font_sort_entites, font_list_entities, font_find_for_lface)
8194 (font_open_for_lface, font_open_by_name): Fix handling of font size.
8195 (Ffont_spec): Add QCname property that contains only unknown properties.
8196
8197 * ftfont.c (ftfont_list): Use assq_no_quit, not Fassq. Don't
8198 include weight in listing pattern, instead check weight of each
8199 listed font. Don't include scalable in pattern. Pay attention to
8200 FONT_PIXEL_SIZE_QUANTUM.
8201
8202 2008-02-01 Kenichi Handa <handa@m17n.org>
8203
8204 * font.c (font_parse_fcname): Fix parsing of point-size.
8205 (font_unparse_fcname): Produce symbolic names for style properties.
8206 (font_list_entities): Handle float size correctly.
8207 (font_open_by_name): Prefer `normal' property values if the name
8208 doesn't specify them.
8209
8210 * fontset.c (Finternal_char_font): Use font_get_name, not
8211 Ffont_xlfd_name.
8212
8213 * ftfont.c (ftfont_pattern_entity): Use the numeric value 100 for
8214 FC_WEIGHT_REGULAR. Exclude FC_SIZE and FC_PIXEL_SIZE from listing
8215 pattern. Don't force scalable.
8216
8217 * xftfont.c (xftfont_open): For generating a name, start from
8218 96-byte buffer.
8219
8220 2008-02-01 Jan Djärv <jan.h.d@swipnet.se>
8221
8222 * frame.h (x_new_fontset2): Fix prototype.
8223
8224 2008-02-01 Kenichi Handa <handa@m17n.org>
8225
8226 * font.h (struct font_driver): Delete member parse_name.
8227 (font_match_p, font_get_spec, font_parse_fcname)
8228 (font_unparse_fcname): Extern them.
8229 (font_get_name): Adjust prototype.
8230
8231 * font.c (XLFD_SMALLNUM_MASK): Delete this macro.
8232 (XLFD_LARGENUM_MASK): Delete XLFD_ENCODING_MASK from it.
8233 (font_expand_wildcards): Fix handling ENCODING field. Avoid
8234 unnecessary checks for weight, slant, and swidth.
8235 (font_parse_fcname): New function.
8236 (font_unparse_fcname): New function.
8237 (font_parse_name): New function.
8238 (font_match_p): New function.
8239 (font_get_name): Change return value to Lisp string.
8240 (font_get_spec): New function.
8241 (Qunspecified, Qignore_defface): Don't extern them.
8242 (font_find_for_lface): Assume that LFACE is fully specified.
8243 (font_load_for_face): If lface[LFACE_FONT_INDEX] is an font
8244 object, use it for FACE.
8245 (font_open_by_name): Call Ffont_spec with QCname prop. Don't call
8246 driver->parse_name.
8247 (Ffont_spec): Call font_parse_name, not font_parse_xlfd.
8248
8249 * fontset.h (new_fontset_from_font) [USE_FONT_BACKEND]: Adjust
8250 prototype.
8251
8252 * fontset.c (new_fontset_from_font) [USE_FONT_BACKEND]: Delete
8253 argument F. Don't call Fnew_fontset. Instead, directly call
8254 make_fontset.
8255
8256 * frame.h (x_new_fontset2) [USE_FONT_BACKEND]: Adjust prototype.
8257
8258 * frame.c (x_set_font) [USE_FONT_BACKEND]: Adjust for the change
8259 of x_new_fontset2.
8260
8261 * ftfont.c (Qmonospace, Qsans_serif, Qserif, Qmono, Qsans)
8262 (Qsans__serif): New variables.
8263 (ftfont_generic_family_list): New variable.
8264 (syms_of_ftfont): Initialize the above variables.
8265 (ftfont_pattern_entity): Delete argument NAME.
8266 (ftfont_list_generic_family): New function.
8267 (ftfont_parse_name): Delete this function.
8268 (ftfont_list): Try generic family only when FcFontList found no font.
8269 (ftfont_list_family): Fix args to FcObjectSetBuild.
8270
8271 * xfaces.c (check_lface_attrs) [USE_FONT_BACKEND]: Accept font
8272 object in attrs[LFACE_FONT_INDEX].
8273 (set_lface_from_font_name): Cancel all changes for font-backend.
8274 (set_lface_from_font_and_fontset) [USE_FONT_BACKEND]: New
8275 function.
8276 (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]: Accept a
8277 font object in QCfont attribute.
8278 (set_font_frame_param) [USE_FONT_BACKEND]: Likewise.
8279 (realize_default_face) [USE_FONT_BACKEND]: Call
8280 set_lface_from_font_and_fontset.
8281
8282 * xfns.c (x_default_font_parameter) [USE_FONT_BACKEND]: Try also
8283 "fixed", and signal error here if no suitable font was found.
8284
8285 * xfont.c (xfont_parse_name): Delete this function.
8286
8287 * xftfont.c (xftfont_open): Change coding style of error
8288 handling. Generate fontconfig's fontname pattern.
8289
8290 * xterm.h (struct x_output) [USE_FONT_BACKEND]: New member fontp.
8291 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro.
8292
8293 * xterm.c (x_new_fontset2) [USE_FONT_BACKEND]: Change arguments.
8294 Both args FONTSET and FONT_OBJECT must be existing ones.
8295
8296 2008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8297
8298 * macterm.c (mac_set_unicode_keystroke_event): Don't use MAKE_CHAR.
8299
8300 2008-02-01 Kenichi Handa <handa@m17n.org>
8301
8302 * xfont.c (xfont_open, xfont_encode_char): Fix typo.
8303
8304 * font.h (struct font): Fix typo.
8305
8306 * font.c (enum xlfd_field_index): Rename XLFD_XXX_SIZE_INDEX to
8307 XLFD_XXX_INDEX.
8308 (enum xlfd_field_mask): New enum.
8309 (intern_font_field): Changed argument. Change caller. If digits
8310 are followed by non-digits, return a symbol.
8311 (font_expand_wildcards): New function.
8312 (font_parse_xlfd): Fix wildcard handling.
8313 (Ffont_spec): If :name is specified, reflect the info in the other
8314 properties.
8315
8316 * ftfont.c (ftfont_pattern_entity): Fix typo.
8317 (ftfont_list): Enforce FC_LANG in PATTERN to cancel the effect of
8318 locale.
8319
8320 2008-02-01 Kenichi Handa <handa@m17n.org>
8321
8322 * font.h (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Extern them.
8323
8324 * font.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move from ftfont.c.
8325 (font_unparse_xlfd): Fix argument type declaration. Append "*" if
8326 registry doesn't specify encoding part.
8327 (font_find_for_lface): Pay attention to LFACE_FONT_INDEX.
8328 (font_open_by_name): At first try parsing the name.
8329 (syms_of_font): Declare Qiso8859_1, Qiso10646_1, and Qunicode_bmp
8330 as Lisp symbols.
8331
8332 * fontset.c (reorder_font_vector): Pay attention to the case that
8333 the 3rd element of font_def is nil.
8334 (fontset_font): For the default fontset, append one more fontset
8335 elements for a script-based font specification. Don't add script
8336 attribute on finding a font.
8337 (new_fontset_from_font): Unconditionally set FONTSET_ASCII to the
8338 font name.
8339 (fontset_ascii_font): If a font can't be opened, return nil.
8340
8341 * ftfont.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move to font.c.
8342 (ftfont_pattern_entity): New function.
8343 (ftfont_get_cache): Assume that freetype_font_cache is already
8344 initialized.
8345 (ftfont_list): Handle the case that a file is specified in font
8346 name. Use ftfont_pattern_entity to generate entities.
8347 (ftfont_has_char): Check if the pattern contains FC_CHARSET.
8348 (syms_of_ftfont): Initialize freetype_font_cache.
8349
8350 * xftfont.c (xftfont_open): Make the font name fontconfig's
8351 style. Add BLOCK_INPUT and UNBLOCK_INPUT.
8352 (xftfont_close): Free font->font.name if not NULL.
8353
8354 * xfont.c (xfont_list): If script is specified for a font, return
8355 null_vector.
8356 (xfont_list_family): Declare argument type.
8357
8358 * xfaces.c (set_lface_from_font_name): If a font doesn't have a
8359 name, set LFACE_FONT (lface) to nil.
8360
8361 * xterm.c (x_new_fontset2): If an ASCII font couldn't be loaded,
8362 return Qnil.
8363
8364 2008-02-01 Kenichi Handa <handa@m17n.org>
8365
8366 * emacs.c (main): Check -enable-font-backend arg after the check of -nl.
8367 (standard_args): Add "-enable-font-backend".
8368
8369 2008-02-01 Kenichi Handa <handa@m17n.org>
8370
8371 * xftfont.c (xftfont_default_fid): Set fid_known to 1.
8372 (struct xftdraw_list, xftdraw_list): Delete them.
8373 (register_xftdraw, check_xftdraw): Delete them.
8374 (xftfont_prepare_face): Don't call register_xftdraw.
8375 (xftfont_done_face): Don't call check_xftdraw.
8376 (xftfont_draw): Get backroudn color only when with_background is
8377 nonzero.
8378
8379 * xfont.c (xfont_encode_char): Fix calculation of char2b.
8380
8381 2008-02-01 Kenichi Handa <handa@m17n.org>
8382
8383 These changes are for the new font handling codes.
8384
8385 * Makefile.in (ALL_CFLAGS): Add @FREETYPE_CFLAGS@,
8386 @FONTCONFIG_CFLAGS@, and @LIBOTF_CFLAGS@.
8387 (LIB_X11_LIB): If HAVE_XFT is defined, set to @XFT_LIBS@.
8388 (FONTSRC, FONTOBJ): New variables.
8389 (obj): Add $(FONTOBJ).
8390 (SOME_MACHINE_OBJECTS): Lib_X11_Lib.
8391 (LIBES): Add @FREETYPE_LIBS@, @FONTCONFIG_LIBS@, and
8392 @LIBOTF_LIBS@.
8393 (font.o, ftfont.o, xfont.o, xftfont.o, ftxfont.o): New targets.
8394 (fontset.o, xdisp.o, xfaces.o, xfns.o, xterm.o): Depend on $(FONTSRC).
8395
8396 * font.h, font.c, xfont.c, ftfont.c, xftfont.c, ftxfont.c: New files.
8397
8398 * character.h (Vscript_representative_chars): Extern it.
8399
8400 * character.c (Vscript_representative_chars): New variable.
8401 (syms_of_character): Declare it as a Lisp variable.
8402
8403 * composite.c (get_composition_id) [USE_FONT_BACKEND]: If
8404 enable_font_backend is nonzero, accept the composition method
8405 COMPOSITION_WITH_GLYPH_STRING.
8406
8407 * composite.h (enum composition_method) [USE_FONT_BACKEND]: New
8408 enumeration COMPOSITION_WITH_GLYPH_STRING.
8409
8410 * dispextern.h (struct glyph_string) [USE_FONT_BACKEND]: New
8411 members clip_x, clip_y, clip_width, and clip_height.
8412 (struct face) [USE_FONT_BACKEND]: New members font_info and extra.
8413
8414 * emacs.c (main) [USE_FONT_BACKEND]: Handle arg
8415 --enable-font-backend. Call syms_of_font.
8416
8417 * fns.c (assoc_no_quit): New function.
8418
8419 * fontset.h (FONT_INFO_FROM_FACE): New macro.
8420 (face_for_font, new_fontset_from_font)
8421 (fontset_ascii_font) [USE_FONT_BACKEND]: Extern them.
8422
8423 * fontset.c [USE_FONT_BACKEND]: Include "font.h".
8424 (fontset_font, fontset_ascii, face_for_char)
8425 (make_fontset_for_ascii_face, Ffont_info)
8426 (Finternal_char_font) [USE_FONT_BACKEND]: If enable_font_backend
8427 is nonzero, use font-backend mechanism.
8428 (find_font_encoding): Make it non-static.
8429 (new_fontset_from_font, fontset_ascii_font) [USE_FONT_BACKEND]:
8430 New functions.
8431
8432 * frame.h (struct frame): New members resx and resy.
8433 (struct frame) [USE_FONT_BACKEND]: New member font_driver_list.
8434 (x_new_fontset2) [USE_FONT_BACKEND]: Extern it.
8435
8436 * frame.c [USE_FONT_BACKEND]: Include "font.h".
8437 (make_frame, x_set_font) [USE_FONT_BACKEND]: Use font-backend mechanism.
8438
8439 * lisp.h (assoc_no_quit): Extern it.
8440
8441 * xdisp.c: If USE_FONT_BACKEND is defined, include "font.h".
8442 Through out the file, use FONT_INFO_FROM_FACE instead of
8443 FONT_INFO_FROM_ID, use get_per_char_metric instead of
8444 rif->per_char_metric.
8445 (handle_composition_prop) [USE_FONT_BACKEND]: If the composition
8446 method is COMPOSITION_WITH_GLYPH_STRING, just set it->c to ' '.
8447 (get_glyph_face_and_encoding, fill_composite_glyph_string)
8448 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
8449 (x_produce_glyphs) [USE_FONT_BACKEND]: If enable_font_backend is
8450 nonzero, use font-backend mechanism.
8451 (get_per_char_metric): New function.
8452
8453 * xfaces.c [USE_FONT_BACKEND]: Include "font.h".
8454 (set_lface_from_font_name)
8455 (set_font_frame_param, free_realized_face)
8456 (prepare_face_for_display, clear_face_gcs)
8457 (Finternal_set_font_selection_order, realize_x_face)
8458 [USE_FONT_BACKEND]: If enable_font_backend is nonzero, use
8459 font-backend mechanism.
8460 (clear_face_cache) [USE_FONT_BACKEND]: Don't call clear_font_table.
8461 (load_face_font) [USE_FONT_BACKEND]: Abort.
8462 (face_symbolic_value, face_symbolic_weight, face_symbolic_slant)
8463 (face_symbolic_swidth, face_for_font) [USE_FONT_BACKEND]: New functions.
8464
8465 * xfns.c [USE_FONT_BACKEND]: Include "font.h".
8466 (x_default_font_parameter) [USE_FONT_BACKEND]: New function.
8467 (Fx_create_frame) [USE_FONT_BACKEND]: If enable_font_backend is
8468 nonzero, register all available font drivers. Call
8469 x_default_font_parameter for deciding a font.
8470 (x_create_tip_frame) [USE_FONT_BACKEND]: Likewise.
8471
8472 * xterm.c [USE_FONT_BACKEND]: Include "font.h".
8473 (x_set_mouse_face_gc, x_set_glyph_string_clipping)
8474 (x_set_glyph_string_clipping_exactly)
8475 (x_compute_glyph_string_overhangs)
8476 (x_draw_glyph_string_foreground)
8477 (x_draw_composite_glyph_string_foreground, x_draw_glyph_string)
8478 (x_free_frame_resources) [USE_FONT_BACKEND]: If
8479 enable_font_backend is nonzero, use font-backend mechanism.
8480 (x_new_fontset2) [USE_FONT_BACKEND]: New function.
8481
8482 2008-02-01 Kenichi Handa <handa@m17n.org>
8483
8484 * coding.c (coding_inherit_eol_type): If PARENT is nil, inherit from
8485 system_eol_type.
8486 (syms_of_coding): Initialize system_eol_type.
8487
8488 * process.c (Fset_process_coding_system): Inherit system's eol
8489 format if necessary.
8490
8491 2008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8492
8493 * macgui.h (USE_ATSUI): Don't enable on emacs-unicode-2 branch.
8494
8495 2008-02-01 Kenichi Handa <handa@m17n.org>
8496
8497 * coding.c (decode_eol): Pay attention to buffer relocation in
8498 del_range_2.
8499 (decode_coding): Call decode_eol before restoring undo_list.
8500
8501 2008-02-01 Kenichi Handa <handa@m17n.org>
8502
8503 * charset.c (Fdefine_charset_internal): Fix setting of
8504 emacs_mule_bytes.
8505
8506 2008-02-01 Kenichi Handa <handa@m17n.org>
8507
8508 * keyboard.c (read_char): Check if C is a character or not before
8509 looking up Vkeyboard_translate_table.
8510
8511 2008-02-01 Kenichi Handa <handa@m17n.org>
8512
8513 * coding.c (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Fix
8514 condition to terminate the loop.
8515
8516 2008-02-01 Kenichi Handa <handa@m17n.org>
8517
8518 * coding.c (produce_composition): Compare charbuf[i] instead of
8519 args[i] against 0.
8520 (Fterminal_coding_system): Use EQ to compare Lisp objects.
8521
8522 2008-02-01 Kenichi Handa <handa@m17n.org>
8523
8524 * coding.c (DECODE_COMPOSITION_START): If the source is short, set
8525 coding->result to CODING_RESULT_INSUFFICIENT_SRC.
8526 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK after the call of
8527 detect_coding.
8528 (emacs_mule_char): Handle old style (Emacs 20) component character
8529 of a composition.
8530 (DECODE_EMACS_MULE_COMPOSITION_RULE_20)
8531 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Fix parsing a
8532 composition rule.
8533 (decode_coding_emacs_mule): Handle invalid bytes correctly.
8534
8535 2008-02-01 Kenichi Handa <handa@m17n.org>
8536
8537 * coding.c (encode_coding_ccl): Allocate destination dynamically
8538 when necessary.
8539
8540 2008-02-01 Kenichi Handa <handa@m17n.org>
8541
8542 * ccl.c (Fccl_execute_on_string): Fix the condition of terminating
8543 the loop. When quitted, show a proper error message.
8544
8545 2008-02-01 Kenichi Handa <handa@m17n.org>
8546
8547 * xterm.c (x_set_glyph_string_clipping_exactly): Set
8548 src->clip_head and src->clip_tail temporarily instead of src->hl.
8549
8550 * ccl.c (CCL_WRITE_STRING): Handle a flag bit for multibyte
8551 character sequence.
8552 (Fccl_execute_on_string): Use ASET, not XSET.
8553
8554 2008-02-01 Kenichi Handa <handa@m17n.org>
8555
8556 * search.c (search_buffer): Fix handling of "\\" in a trivial regexp.
8557
8558 2008-02-01 Kenichi Handa <handa@m17n.org>
8559
8560 * coding.c (decode_coding): Fix the condition of terminating the
8561 decoding loop.
8562
8563 2008-02-01 Kenichi Handa <handa@m17n.org>
8564
8565 * data.c (Faset): On setting a character bigger than 255 in a
8566 unibyte string, signal an error instead of make the string multibyte.
8567
8568 2008-02-01 Kenichi Handa <handa@m17n.org>
8569
8570 * charset.c (map_charset_chars): Fix for ascii-compatible charset
8571 made by a mapping table.
8572
8573 2008-02-01 Kenichi Handa <handa@m17n.org>
8574
8575 * xdisp.c (fill_composite_glyph_string): Check s->face is NULL or
8576 not.
8577 (BUILD_COMPOSITE_GLYPH_STRING): If C is TAB, set s->face to NULL.
8578 (x_produce_glyphs): If CH is TAB, set cmp->offsets properly.
8579
8580 * xterm.c (x_draw_composite_glyph_string_foreground): Check
8581 s->face is NULL or not.
8582
8583 2008-02-01 Kenichi Handa <handa@m17n.org>
8584
8585 * xterm.c (x_set_glyph_string_clipping_exactly): New function.
8586 (x_draw_glyph_string): Fix drawing of right_overhang and
8587 left_overhang around/on cursor.
8588
8589 * xdisp.c (draw_glyphs): Fix inclusion of right_overwriting glyphs.
8590
8591 2008-02-01 Kenichi Handa <handa@m17n.org>
8592
8593 * xdisp.c (x_produce_glyphs): Handle composition with TAB.
8594
8595 2008-02-01 Kenichi Handa <handa@m17n.org>
8596
8597 * coding.c (Fdefine_coding_system_internal)
8598 (Fdefine_coding_system_alias): Avoid a duplicated element in
8599 Vcoding_system_alist.
8600
8601 2008-02-01 Kenichi Handa <handa@m17n.org>
8602
8603 * xterm.c (handle_one_xevent): Handle keysyms 0x1000000..0x10000FF.
8604
8605 * coding.c (Qcoding_system_define_form): New variable.
8606 (syms_of_coding): Intern and staticpro it.
8607 (Fcoding_system_p): Check Qcoding_system_define_form.
8608 (Fcheck_coding_system): Try to autoload the definition of CODING-SYSTEM.
8609
8610 * coding.h (CODING_SYSTEM_P): If ID is not available, call
8611 Fcoding_system_p.
8612 (CHECK_CODING_SYSTEM): If ID is not available, call
8613 Fcheck_coding_system.
8614 (CHECK_CODING_SYSTEM_GET_SPEC, CHECK_CODING_SYSTEM_GET_ID):
8615 Try also Fcheck_coding_system.
8616
8617 2008-02-01 Kenichi Handa <handa@m17n.org>
8618
8619 * coding.c (code_conversion_restore): GCPRO arg.
8620
8621 2008-02-01 Kenichi Handa <handa@m17n.org>
8622
8623 * character.c (lisp_string_width): Check multibyteness of STRING.
8624
8625 2008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8626
8627 * macterm.c (mac_encode_char): Call ccl_driver with the last arg
8628 Qnil. Use JIS_TO_SJIS instead of ENCODE_SJIS.
8629 (decode_mac_font_name): Use decode_coding_c_string instead of
8630 decode_coding.
8631 (x_load_font): Initialize fontp->fontset to -1. Set
8632 fontp->encoding_type.
8633
8634 2008-02-01 Kenichi Handa <handa@m17n.org>
8635
8636 * search.c (search_buffer): Give up BM search on case-fold-search
8637 if one of a target character has a case-equivalence of different
8638 byte length even if that target charcter is an ASCII.
8639 (simple_search): Fix calculation of byte length of matched text.
8640 (boyer_moore): Fix handling of case-equivalent multibyte characters.
8641
8642 2008-02-01 Kenichi Handa <handa@m17n.org>
8643
8644 * coding.c (decode_coding): Fix handling of invalid bytes.
8645
8646 2008-02-01 Kenichi Handa <handa@m17n.org>
8647
8648 * xterm.c (handle_one_xevent): Handle keysyms directly mapped to
8649 Unicode characters.
8650
8651 2008-02-01 Kenichi Handa <handa@m17n.org>
8652
8653 * coding.c (encode_coding_object): If a pre-write-conversion
8654 function makes a new buffer, kill it.
8655
8656 2008-02-01 Kenichi Handa <handa@m17n.org>
8657
8658 * coding.c (QCascii_compatible_p): New variable.
8659 (syms_of_coding): Initialize it.
8660 (ONE_MORE_BYTE, ONE_MORE_BYTE_NO_CHECK): Decrement `src' before
8661 calling string_char.
8662 (record_conversion_result): Add `default:' case.
8663 (coding_charset_list): Delete unused variable `coding_type'.
8664 (Fdefine_coding_system_internal): Add `ascii-compatible-p'
8665 property in the plist of the coding system.
8666 (Fcoding_system_put): Check QCascii_compatible_p.
8667
8668 2008-02-01 Miles Bader <miles@gnu.org>
8669
8670 * xfaces.c (Finternal_lisp_face_equal_p): Restore previously
8671 removed calculation of frame `f', as it's now used.
8672
8673 2008-02-01 Kenichi Handa <handa@m17n.org>
8674
8675 * Makefile.in (RUN_TEMACS): Include "-nl" if HAVE_SHM is defined.
8676 (emacs${EXEEXT}): Run $(RUN_TEMACS) unconditionally.
8677 (UNIDATA): New variable.
8678 (${lispsource}international/charprop.el): Depends on ${UNIDATA}.
8679 (bootstrap-emacs${EXEEXT}): Depends on charprop.el. Run
8680 $(RUN_TEMACS) unconditionally.
8681
8682 2008-02-01 Kenichi Handa <handa@m17n.org>
8683
8684 * Makefile.in (temacs${EXEEXT}): Build charprop.el if necessary.
8685 (admindir): New variable.
8686 ($(lispsource)international/charprop.el): New target.
8687
8688 2008-02-01 Miles Bader <miles@gnu.org>
8689
8690 * character.c (chars-in-region): Remove obsolete function.
8691 (syms_of_character): Remove its initialization.
8692
8693 2008-02-01 Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net>
8694
8695 * w32select.c (validate_coding_system)
8696 (setup_windows_coding_system): New functions.
8697 (convert_to_handle_as_coded, Fw32_get_clipboard_data): Use
8698 setup_windows_coding_system.
8699 (setup_config, Fw32_get_clipboard_data): Use
8700 validate_coding_system.
8701 (Fx_selection_exists): Move call to setup_config to a place
8702 where signals are allowed.
8703
8704 * lisp.h (Fcoding_system_base, Fcoding_system_eol_type)
8705 (Fcheck_coding_system): Add declarations.
8706
8707 2008-02-01 Kenichi Handa <handa@m17n.org>
8708
8709 * charset.c (load_charset_map_from_vector): Fix for the first iteration.
8710
8711 2008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8712
8713 * macfns.c (Fx_create_frame, x_create_tip_frame): Pass Lisp
8714 string as the second argument for x_new_fontset.
8715
8716 2008-02-01 Kenichi Handa <handa@m17n.org>
8717
8718 * coding.c (decode_coding_object): Use safe_call1 instead of call1.
8719 (encode_coding_object): Use safe_call instead of call2.
8720
8721 2008-02-01 Kenichi Handa <handa@m17n.org>
8722
8723 * fontset.c (Fset_fontset_font): Check family element of a given vector.
8724
8725 * Makefile.in (lisp): Include charprop.el.
8726
8727 2008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8728
8729 * macfns.c (Fx_create_frame, x_create_tip_frame): Fix crash.
8730 Not sure if it's unnecessary.
8731
8732 2008-02-01 Steven Tamm <steventamm@mac.com>
8733
8734 * macfns.c (Fx_create_frame, x_create_tip_frame): ifdef'd out
8735 some possibly unnecessary fontset checking code that crashed
8736 when creating a new frame.
8737
8738 2008-02-01 Kenichi Handa <handa@m17n.org>
8739
8740 * xfaces.c (merge_faces): Fix argument to lookup_derived_face and
8741 lookup_face.
8742
8743 * xdisp.c (Fformat_mode_line): Fix argument to lookup_named_face.
8744
8745 * fringe.c (draw_fringe_bitmap_1): Fix argument to lookup_named_face.
8746
8747 2008-02-01 Kenichi Handa <handa@m17n.org>
8748
8749 * coding.c: Cancel the change done in HEAD on 2008-02-01.
8750 (coding_charset_list): New function.
8751
8752 * coding.h (coding_charset_list): Extern it.
8753
8754 2008-02-01 Kenichi Handa <handa@m17n.org>
8755
8756 * fontset.c (Fset_fontset_font): Call find_font_encoding with
8757 concatenation of family and registry.
8758
8759 2008-02-01 Kenichi Handa <handa@m17n.org>
8760
8761 * character.h (BYTE8_STRING): Fix typo.
8762
8763 * editfns.c (Ftranslate_region_internal): Don't convert unibyte
8764 string to multibyte (sync to HEAD).
8765
8766 * casefiddle.c (casify_region): Handle changes in byte-length
8767 using replace_range_2 (sync to HEAD).
8768
8769 2008-02-01 Andreas Schwab <schwab@suse.de>
8770
8771 * chartab.c (map_char_table): GCPRO table and arg.
8772
8773 2008-02-01 Kenichi Handa <handa@m17n.org>
8774
8775 * syntax.c (skip_syntaxes): Return lispy 0 (not nil) if point is
8776 already at limit.
8777
8778 2008-02-01 Kenichi Handa <handa@m17n.org>
8779
8780 * fontset.c (fs_load_font): Use fast_string_match_ignore_case
8781 instead of fast_c_string_match_ignore_case.
8782 (find_font_encoding): Change argument to Lisp_Object. Use
8783 fast_string_match_ignore_case instead of
8784 fast_c_string_match_ignore_case. Change caller.
8785
8786 2008-02-01 Kenichi Handa <handa@m17n.org>
8787
8788 * xdisp.c (get_next_display_element): In unibyte case, decide to
8789 display in octal form by checking a chacter by
8790 UNIBYTE_CHAR_HAS_MULTIBYTE_P.
8791
8792 * charset.c (Fset_unibyte_charset): Setup unibyte_has_multibyte_table.
8793
8794 * character.c (unibyte_has_multibyte_table): New variable.
8795
8796 * character.h (unibyte_has_multibyte_table): Extern it.
8797 (UNIBYTE_CHAR_HAS_MULTIBYTE_P): New macro.
8798
8799 2008-02-01 Kenichi Handa <handa@m17n.org>
8800
8801 * coding.c (encode_coding_iso_2022): Fix handling of charset
8802 annotation.
8803
8804 2008-02-01 Kenichi Handa <handa@m17n.org>
8805
8806 * coding.c (setup_coding_system): If coding_system is nil, use
8807 Qundecided.
8808 (Fterminal_coding_system): Return nil if terminal coding system is
8809 `undecided'.
8810 (syms_of_coding): Define coding-system `undecided' here. Setup
8811 terminal_coding as `undecided'.
8812
8813 2008-02-01 Kenichi Handa <handa@m17n.org>
8814
8815 * xdisp.c (message_dolog, set_message_1): Call
8816 unibyte_char_to_multibyte with arg type int.
8817
8818 * lread.c (read1): Fix reading of a char-table.
8819
8820 * print.c (print_object): Include sub char-table in cicularities
8821 detection.
8822
8823 2008-02-01 Kenichi Handa <handa@m17n.org>
8824
8825 * keymap.c (where_is_internal_2): Fix for the case that KEY is a
8826 cons. Append the found sequences in car of ARGS instead of prepending.
8827
8828 2008-02-01 Kenichi Handa <handa@m17n.org>
8829
8830 * fileio.c (report_file_error): Make a unibyte string from
8831 strerror (errorno).
8832 (Fsubstitute_in_file_name): Fix the arg to
8833 unibyte_char_to_multibyte. It is evaluated twice.
8834
8835 2008-02-01 Kenichi Handa <handa@m17n.org>
8836
8837 * charset.h (CHAR_CHARSET): Shortcut for ASCII case.
8838
8839 2008-02-01 Kenichi Handa <handa@m17n.org>
8840
8841 * coding.c (detect_coding_utf_16): Don't set detect_info->found if
8842 BOM is not found.
8843 (detect_coding, detect_coding_system): Optimization for ISO-2022
8844 when no 8-bit data is found.
8845
8846 2008-02-01 Jason Rumney <jasonr@gnu.org>
8847
8848 * w32fns.c (x_to_w32_font): Update to use new coding struct.
8849
8850 2008-02-01 Kenichi Handa <handa@m17n.org>
8851
8852 * charset.c (Fdeclare_equiv_charset, Fiso_charset): Fix handing of
8853 CHARS.
8854
8855 2008-02-01 Steven Tamm <steventamm@mac.com>
8856
8857 * macterm.c (mac_encode_char): Add charset argument and update
8858 to use encoding_type.
8859 (x_new_font, x_new_fontset): Merge in changes from xterm.c;
8860 switch to pure fontset.
8861 (decode_mac_font_name): Temporarily remove decoding.
8862 (x_font_name_to_mac_font_name): Temporarily remove encoding.
8863 (x_load_font): Temporarily remove encoding.
8864
8865 2008-02-01 Kenichi Handa <handa@m17n.org>
8866
8867 * xfaces.c (Fface_font): If frame is not on a window system,
8868 ignore CHARACTER arg. If HAVE_WINDOW_SYSTEM is not defined, don't
8869 refer to face->font.
8870 (split_font_name_into_vector, build_font_name_from_vector)
8871 (lookup_non_ascii_face, realize_non_ascii_face): Define them only
8872 whne HAVE_WINDOW_SYSTEM is defined.
8873
8874 2008-02-01 Kenichi Handa <handa@m17n.org>
8875
8876 * xdisp.c (BUILD_GLYPH_STRINGS): Check if s is NULL.
8877 (x_produce_glyphs): Fix setting of members of cmp in case
8878 cmp->glyph_len is zero.
8879
8880 * fontset.c (Fset_fontset_font): Fix docstring.
8881 (Ffontset_info): Make it backward compatible. New arg ALL.
8882
8883 2008-02-01 Kim F. Storm <storm@cua.dk>
8884
8885 * process.c (read_process_output): Grow decoding_buf when needed;
8886 this could cause a crash in allocate_string and compact_small_strings.
8887
8888 2008-02-01 Kenichi Handa <handa@m17n.org>
8889
8890 * fileio.c (WRITE_BUF_SIZE): Delete this macro.
8891
8892 2008-02-01 Kenichi Handa <handa@m17n.org>
8893
8894 * coding.c (setup_coding_system): Set coding->common_flags
8895 correctly for raw-text.
8896 (consume_chars): On encoding unibyte text by raw-text, don't check
8897 multibyte form.
8898 (encode_coding): On encoding by raw-text, never use translation tables.
8899
8900 * fileio.c (e_write): Short cut for the case of no encoding.
8901
8902 2008-02-01 Kenichi Handa <handa@m17n.org>
8903
8904 * coding.c (detect_coding, detect_coding_system): Delete unused
8905 variables.
8906
8907 2008-02-01 Kenichi Handa <handa@m17n.org>
8908
8909 * coding.c (encode_coding_utf_8): Fix handling of raw-byte char.
8910 (consume_chars): Fix handling of 8-bit bytes in unibyte source.
8911
8912 2008-02-01 Kenichi Handa <handa@m17n.org>
8913
8914 * coding.c (Ffind_coding_systems_region_internal): Include
8915 raw-text and no-conversion in the result.
8916
8917 2008-02-01 Kenichi Handa <handa@m17n.org>
8918
8919 * fontset.c (find_font_encoding): Return `ascii' for unknown encoding.
8920 (load_font_get_repertory): Delete unnecessary check of ENCODING of
8921 FONT_DEF.
8922 (font_def_arg, add_arg, from_arg, to_arg): New args.
8923 (set_fontset_font): Change argument.
8924 (Fset_fontset_font): Fix for the case that TARGET is a script
8925 name and charset name.
8926 (new_fontset_from_font_name): Fix argument to Fnew_fontset.
8927
8928 2008-02-01 Kenichi Handa <handa@m17n.org>
8929
8930 * fontset.c (fontset_font): Rename from fontset_face. Change return
8931 value.
8932 (face_suitable_for_char_p, face_for_char): Adjust for the change
8933 of fontset_font.
8934 (make_fontset_for_ascii_face): Fix setting of the fontset element
8935 for ASCII.
8936 (Finternal_char_font): Use fontset_font instead of FACE_FOR_CHAR
8937 to get a font name.
8938 (Ffontset_info): Adjust for the change of fontset_font.
8939
8940 * coding.c (emacs_mule_char): Check invalid code more regidly.
8941
8942 * character.h (LEADING_CODE_LATIN_1_MIN)
8943 (LEADING_CODE_LATIN_1_MAX): Delete these macros.
8944
8945 2008-02-01 Kenichi Handa <handa@m17n.org>
8946
8947 * editfns.c (check_translation): New function.
8948 (Ftranslate_region_internal): Handle M:N mapping.
8949
8950 2008-02-01 Kenichi Handa <handa@m17n.org>
8951
8952 * xfaces.c (xlfd_point_size): Set font->numeric[XLFD_PIXEL_SIZE].
8953
8954 2008-02-01 Kenichi Handa <handa@m17n.org>
8955
8956 * coding.c (DECODE_DESIGNATION): Set chars_96 to -1 instead of
8957 goto invalid_code.
8958 (decode_coding_iso_2022): Fix handling of invalid designation.
8959
8960 * fileio.c (Finsert_file_contents): Be sure to call unbind_to
8961 after calling code_conversion_save.
8962
8963 2008-02-01 Kenichi Handa <handa@m17n.org>
8964
8965 * xdisp.c (handle_auto_composed_prop): Fix Lisp_Object/int mixup.
8966
8967 * print.c (print_prune_string_charset): Fix Lisp_Object/int mixup.
8968
8969 * fontset.c: Include "intervals.h".
8970 (fontset_face): Fix comparing of Lisp_Objects.
8971 (free_face_fontset, new_fontset_from_font_name): Fix
8972 Lisp_Object/int mixup.
8973
8974 * editfns.c (Ftranslate_region_internal): Fix Lisp_Object/int mixup.
8975
8976 * coding.c: Add many prototypes for static functions.
8977 (get_translation_table): Allow max_lookup to be NULL.
8978 (decode_coding, Ffind_coding_systems_region_internal)
8979 (Funencodable_char_position, Fcheck_coding_systems_region): Call
8980 get_translation_table with max_lookup NULL.
8981
8982 2008-02-01 Kenichi Handa <handa@m17n.org>
8983
8984 * coding.c (get_translation_table): Declare it as Lisp_Object.
8985 (LOOKUP_TRANSLATION_TABLE): New macro.
8986 (produce_chars, consume_chars): Use LOOKUP_TRANSLATION_TABLE
8987 instead of CHAR_TABLE_REF.
8988
8989 2008-02-01 Kenichi Handa <handa@m17n.org>
8990
8991 * coding.c (MAX_ANNOTATION_LENGTH): Adjust for the change of
8992 annotation data format.
8993 (ADD_ANNOTATION_DATA, ADD_COMPOSITION_DATA, ADD_CHARSET_DATA):
8994 Change arguments FROM and TO to single argument NCHARS. Change caller.
8995 (decode_coding_utf_8, decode_coding_utf_16, decode_coding_emacs_mule)
8996 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
8997 (decode_coding_ccl, decode_coding_charset): Pay attention to
8998 coding->charbuf_used.
8999 (get_translation): New function.
9000 (produce_chars): New arguments translation_table and last_block.
9001 Translate characters here. Return number of carryover chars.
9002 Change caller.
9003 (produce_composition): New argument pos. Change caller.
9004 Adjust for the change of annotation data format.
9005 (produce_charset, produce_annotation): Likewise.
9006 (decode_coding, encode_coding): Don't call translate_chars.
9007 (consume_chars): New arg translation_table. Change caller.
9008 (translate_chars): Delete.
9009 (syms_of_coding): Make translation-table's number of extra slots 2.
9010
9011 2008-02-01 Kenichi Handa <handa@m17n.org>
9012
9013 * search.c (simple_search): Fix setting this_pos_byte in backward
9014 search.
9015
9016 * coding.c (detect_coding_emacs_mule): Fix counting of encoded
9017 byte sequence.
9018 (detect_coding_ccl): Fix setting of the variable valids.
9019
9020 2008-02-01 Kenichi Handa <handa@m17n.org>
9021
9022 * xterm.c (x_list_fonts): Fix the detection of an auto-scaled font.
9023
9024 * coding.c (decode_coding_utf_16): Fix handling of surrogate pair.
9025
9026 * editfns.c (Ftranslate_region_internal): Rename from
9027 Ftranslate_region. Accept a char-table in TABLE.
9028 (syms_of_editfns): Defsubr Stranslate_region_internal.
9029
9030 * xfaces.c (set_lface_from_font_name): If a font is specified for
9031 a frame, generate a fontset from the font.
9032 (build_scalable_font_name): If the scalable font is requested for
9033 a specific size, don't change that size.
9034 (try_font_list): Try a scalable font also in the case that a
9035 pattern string is specified.
9036
9037 2008-02-01 Kenichi Handa <handa@m17n.org>
9038
9039 * xfaces.c (Fface_font): New optional arg CHARACTER.
9040
9041 2008-02-01 Kenichi Handa <handa@m17n.org>
9042
9043 * charset.h (CHARSET_OFFSET): New macro.
9044
9045 2008-02-01 Kenichi Handa <handa@m17n.org>
9046
9047 * xterm.c (x_get_font_repertory): Fix for non-Unicode-bmp charset.
9048
9049 * fontset.c (fontset_face): Handle the case that repertory is a
9050 char-table.
9051 (find_font_encoding): Return nil for unknown encoding.
9052 (Fset_fontset_font): Ignore a font of unknown encoding.
9053
9054 2008-02-01 Kenichi Handa <handa@m17n.org>
9055
9056 * keymap.c (describe_vector): Handle default value of a char table.
9057
9058 * fontset.c (fontset_face): Handle fallback fonts correctly.
9059 (Ffontset_info): Return infomation about fallback fonts.
9060
9061 2008-02-01 Kenichi Handa <handa@m17n.org>
9062
9063 * fontset.c (FONTSET_DEFAULT): New macro.
9064 (FONTSET_ADD, fontset_add): Handle the case that range is nil.
9065 (Fset_fontset_font): Change the 2nd arg name to TARGET, and handle
9066 the case that it is nil.
9067 (dump_fontset): Call FONTSET_DEFAULT, not FONTSET_FALLBACK.
9068 (syms_of_fontset): Set char-table-extra-slots property of fontset to 9.
9069
9070 * charset.h (CHAR_CHARSET_P): Fix for the case that the method is
9071 subset or superset.
9072
9073 2008-02-01 Kenichi Handa <handa@m17n.org>
9074
9075 * emacs.c (main): Call init_charset after syms_of_XXX.
9076
9077 * charset.c (Vcharset_map_directory): Delete.
9078 (Vcharset_map_path): New variable.
9079 (load_charset_map_from_file): Use Vcharset_map_path instead.
9080 (init_charset): Initialize Vcharset_map_path.
9081 (syms_of_charset): Delete declaration of "charset-map-directory",
9082 add declaration of "charset-map-path".
9083
9084 2008-02-01 Kenichi Handa <handa@m17n.org>
9085
9086 * fns.c (string_char_to_byte, string_byte_to_char): Optimize for
9087 ASCII only string.
9088
9089 * fileio.c (Finsert_file_contents): Avoid detecting a code twice.
9090
9091 * coding.c (detect_coding_iso_2022): Fix handling of SS2 and SS3.
9092 (detect_coding, detect_coding_system): Treat '\0' as normal ASCII byte.
9093
9094 2008-02-01 Kenichi Handa <handa@m17n.org>
9095
9096 * coding.h (SJIS_TO_JIS2, JIS_TO_SJIS2): New macros.
9097
9098 * coding.c (QCmnemonic, QCdefalut_char)
9099 (QCdecode_translation_table, QCencode_translation_table)
9100 (QCpost_read_conversion, QCpre_write_conversion): New variables.
9101 (get_translation_table): Return a list of translation tables if
9102 necessary.
9103 (decode_coding): Call get_translation_table with ENCODEP 0.
9104 (char_encodable_p): If translation_table is non-nil, always call
9105 translate_char.
9106 (Fdefine_coding_system_internal): Accept list of translation
9107 tables as :encode-translation-table and :decode-translation-table.
9108 (Fcoding_system_put): New function.
9109 (syms_of_coding): Declare new symbols. Defsubr
9110 Scoding_system_put.
9111 (decode_coding_sjis, encode_coding_sjis): Handle 4th charset,
9112 typically JISX0212.
9113
9114 * charset.c (map_charset_chars): Fix arg to map_charset_chars in
9115 when the charset is superset type.
9116
9117 * character.c (translate_char): Accept list of translation tables.
9118
9119 2008-02-01 Kenichi Handa <handa@m17n.org>
9120
9121 * coding.h (enum coding_attr_index): New member coding_attr_trans_tbl.
9122 (CODING_ATTR_TRANS_TBL): New macro.
9123
9124 * coding.c (get_translation_table): New function.
9125 (translate_chars): Fix the bug of skipping annotation data.
9126 (decode_coding, encode_coding): Utilize get_translation_table.
9127 (char_encodable_p, Funencodable_char_position): Translate char if
9128 necessary.
9129 (Ffind_coding_systems_region_internal)
9130 (Fcheck_coding_systems_region): Setup translation table for encode
9131 in a coding system attribute vector in advance.
9132 (Fdefine_coding_system_internal): Allow a symbol as translation
9133 table. For shift-jis type coding system, allow 4th charset.
9134
9135 2008-02-01 Kenichi Handa <handa@m17n.org>
9136
9137 * coding.c (decode_coding_sjis): Check the first byte rigidly.
9138
9139 * xdisp.c (get_next_display_element): Pass -1 as POS to
9140 FACE_FOR_CHAR if displaying a C-string.
9141
9142 2008-02-01 Kenichi Handa <handa@m17n.org>
9143
9144 * composite.c (get_composition_id): Handle xoff and yoff in a
9145 composition rule.
9146
9147 * composite.h (COMPOSITION_DECODE_RULE): New arg xoff and yoff.
9148 (struct composition): New member lbearing and rbearing.
9149
9150 * xdisp.c (move_it_to): Optimize for the case (op & MOVE_TO_Y).
9151 (x_get_glyph_overhangs): Handle a composition glyph.
9152 (x_produce_glyphs): Setup lbearing and rbreaing for a composition glyph.
9153
9154 * xterm.c (x_compute_glyph_string_overhangs): Handle also a
9155 composition glyph.
9156
9157 2008-02-01 Kenichi Handa <handa@m17n.org>
9158
9159 * print.c: Include charset.h.
9160 (Vprint_charset_text_property): New variable.
9161 (Qdefault): Extern it.
9162 (PRINT_STRING_NON_CHARSET_FOUND)
9163 (PRINT_STRING_UNSAFE_CHARSET_FOUND): New macros.
9164 (print_check_string_result): New variable.
9165 (print_check_string_charset_prop): New function.
9166 (print_prune_charset_plist): New variable.
9167 (print_prune_string_charset): New function.
9168 (print_object): Call print_prune_string_charset if
9169 Vprint_charset_text_property is not t.
9170 (print_interval): Print nothing if itnerval->plist is nil.
9171 (syms_of_print): Declare Vprint_charset_text_property as a lisp
9172 variable. Init and staticpro print_prune_charset_plist.
9173
9174 2008-02-01 Kenichi Handa <handa@m17n.org>
9175
9176 * fontset.c (new_fontset_from_font_name): Use the specified font
9177 for all characters in the new fontset.
9178
9179 * macterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
9180 OBJECT args.
9181
9182 * xdisp.c (x_produce_glyphs): Call FACE_FOR_CHAR with POS and
9183 OBJECT args for composition too.
9184
9185 * w32term.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
9186 OBJECT args.
9187
9188 2008-02-01 Kenichi Handa <handa@m17n.org>
9189
9190 * dispextern.h (FACE_FOR_CHAR): New args POS and OBJECT.
9191
9192 * fontset.c (reorder_font_vector): Adjust for the change of
9193 FONT_DEF format.
9194 (fontset_face): New arg id. Change caller.
9195 (face_for_char): New args pos and object.
9196 (make_fontset_for_ascii_face): Adjust for the change of FONT_DEF format.
9197 (fs_query_fontset): Check NAME by Fassoc too.
9198 (Fset_fontset_font): Allow non-XLFD font name.
9199 (Ffontset_info): Adjust for the change of FONT_DEF format.
9200
9201 * fontset.h (face_for_char): Adjust prototype.
9202
9203 * xdisp.c (face_before_or_after_it_pos, get_next_display_element)
9204 (append_space, extend_face_to_end_of_line)
9205 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
9206 (x_produce_glyphs): Call FACE_FOR_CHAR with POS and OBJECT args.
9207
9208 * xfaces.c (compute_char_face): Call FACE_FOR_CHAR with
9209 POS and OBJECT args.
9210
9211 * xterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with
9212 POS and OBJECT args.
9213
9214 2008-02-01 Jason Rumney <jasonr@gnu.org>
9215
9216 * w32select.c (Fw32_set_clipboard_data): Avoid potential realloc
9217 of GlobalAlloc'ed memory.
9218
9219 2008-02-01 Kenichi Handa <handa@m17n.org>
9220
9221 * ccl.c (Fccl_execute_on_string): Fix the condition of loop.
9222
9223 * charset.h (charset_table_used): Delete extern.
9224
9225 * charset.c (charset_table_used): Make it static.
9226 (map_charset_chars): Fix args to c_function with.
9227
9228 * chartab.c (map_sub_char_table_for_charset): Fix args to
9229 c_function with.
9230
9231 * coding.h (enum coding_result_code): Delete
9232 CODING_RESULT_INSUFFICIENT_CMP, add CODING_RESULT_INVALID_SRC.
9233
9234 * coding.c (Qinsufficient_source, Qinconsistent_eol)
9235 (Qinvalid_source, Qinterrupted, Qinsufficient_memory): New variables.
9236 (Vlast_code_conversion_error): New variables.
9237 (syms_of_coding): DEFSYM or DEFVAR_LISP them.
9238 (ONE_MORE_BYTE): Record error if any instead of signaling an
9239 error. If non-ASCII multibyte char is found, return the negative
9240 value of the code. All callers changed to check it.
9241 (ONE_MORE_BYTE_NO_CHECK): Likewise.
9242 (record_conversion_result): New function. Change all codes setting
9243 coding->result to call this function.
9244 (detect_coding_utf_8, decode_coding_utf_8)
9245 (detect_coding_emacs_mule, detect_coding_sji, detect_coding_big5):
9246 Don't use the local variable incomplete.
9247 (emacs_mule_char): Change the second arg to `const'.
9248 (decode_coding): Fix of flushing out unprocessed data.
9249 (make_conversion_work_buffer): Fix making of a work buffer.
9250 (decode_coding_object): Return coding->dst_object.
9251
9252 * fontset.c (set_fontset_font): Fix args.
9253
9254 * lisp.h (CHARACTERBITS): Define as 22.
9255
9256 * process.c (send_process): Be sure to set coding->src_multibyte.
9257
9258 * xdisp.c (handle_auto_composed_prop): Fix setting of limit.
9259
9260 2008-02-01 Kenichi Handa <handa@m17n.org>
9261
9262 * xdisp.c (handle_auto_composed_prop): Give limit to
9263 Fnext_single_char_property_change.
9264
9265 2008-02-01 Kenichi Handa <handa@m17n.org>
9266
9267 * composite.c (syms_of_composite): Don't make the composition hash
9268 table weak.
9269
9270 * fontset.c (Fset_fontset_font): Fix docstring.
9271
9272 * lisp.h (detect_coding_system): Adjust prototype.
9273
9274 * fileio.c (kill_workbuf_unwind): Delete this function.
9275 (Finsert_file_contents): Adjust the call of detect_coding_system.
9276 Get conversion_buffer by code_conversion_save. Use the macor
9277 CODING_MAY_REQUIRE_DECODING. After decoding, update
9278 coding_system.
9279
9280 * coding.h (make_conversion_work_buffer): Delete extern.
9281 (code_conversion_save): Extern it.
9282
9283 * coding.c (enum iso_code_class_type): Delete ISO_carriage_return.
9284 (CODING_GET_INFO): Delete argument eol_type. Change callers.
9285 (decode_coding_utf_8): Don't do eol converion.
9286 (detect_coding_utf_16): Check coding->src_chars, not
9287 coding->src_bytes. Add heuristics for those that have no signature.
9288 (decode_coding_emacs_mule, decode_coding_iso_2022)
9289 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
9290 Don't do eol converion.
9291 (adjust_coding_eol_type): Return a new coding system.
9292 (detect_coding): Don't detect eol. Fix for utf-16 detection.
9293 (decode_eol): In case of CRLF->LF conversion, use del_range_2 on
9294 each change.
9295 (decode_coding): Pay attention to undo_list. Do eol convesion for
9296 all types of coding-systems (if necessary).
9297 (Vcode_conversion_work_buf_list): Delete it.
9298 (Vcode_conversion_reused_workbuf): Rename from
9299 Vcode_conversion_reused_work_buf.
9300 (Vcode_conversion_workbuf_name): New variable.
9301 (reused_workbuf_in_use): New variable.
9302 (make_conversion_work_buffer): Delete the arg DEPTH.
9303 (code_conversion_restore): Change argument to cons.
9304 (code_conversion_save): Delete the argument BUFFER. Change callers.
9305 (detect_coding_system): New argument src_chars. Change callers.
9306 Fix for utf-16 detection.
9307 (init_coding_once): Don't use ISO_carriage_return.
9308 (syms_of_coding): Initialize Vcode_conversion_workbuf_name and
9309 reused_workbuf_in_use.
9310
9311 2008-02-01 Kenichi Handa <handa@m17n.org>
9312
9313 * keymap.c (store_in_keymap): Pay attention to the case that idx
9314 is a cons specifying a character range.
9315
9316 2008-02-01 Kenichi Handa <handa@m17n.org>
9317
9318 * xdisp.c (handle_auto_composed_prop): Fix the case of returning
9319 HANDLED_RECOMPUTE_PROPS.
9320
9321 * coding.c (Fdefine_coding_system_internal): Fix checking of
9322 ascii compatibility.
9323
9324 2008-02-01 Kenichi Handa <handa@m17n.org>
9325
9326 * charset.c (find_charsets_in_text): Delete unused locale variable.
9327 (Fset_charset_priority): Update Vemacs_mule_charset_list too.
9328
9329 * coding.c (encode_coding_emacs_mule): Emit bytes with MSB.
9330 Resync charset_list to Vemacs_mule_charset_list.
9331
9332 * keymap.c (store_in_keymap): Pay attention to the case that idx
9333 is a cons specifying a character range.
9334
9335 2008-02-01 Kenichi Handa <handa@m17n.org>
9336
9337 * composite.c (update_compositions): Bind inhibit-read-only, etc
9338 to t before calling remove-list-of-text-properties.
9339
9340 * print.c (print_object): Always print ASCII chars as is.
9341
9342 2008-02-01 Kenichi Handa <handa@m17n.org>
9343
9344 * keymap.c (Fdefine_key): Fix handling of Lucid style event type list.
9345
9346 * fns.c (Fmapconcat, Fmapcar, Fmapc): Signal an error if SEQUENCE
9347 is a char table.
9348
9349 2008-02-01 Kenichi Handa <handa@m17n.org>
9350
9351 * syntax.c (skip_chars): Be sure to alloca char_ranges when necessary.
9352
9353 2008-02-01 Kenichi Handa <handa@m17n.org>
9354
9355 * xfaces.c (set_lface_from_font_name): Fix for the case that
9356 FONTNAME is not fontset name.
9357
9358 2008-02-01 Kenichi Handa <handa@m17n.org>
9359
9360 * fns.c (base64_encode_1): Fix previous change.
9361
9362 2008-02-01 Kenichi Handa <handa@m17n.org>
9363
9364 * fontset.c (set_fontset_font): New function.
9365 (Fset_fontset_font): If a font is specified for a charset, use
9366 map_charset_chars to store the font spec in a fontset.
9367
9368 2008-02-01 Kenichi Handa <handa@m17n.org>
9369
9370 * fontset.c (fontset_face): Create a fallback fontset on demand.
9371 (make_fontset): Don't create a fallback fontset here.
9372 (free_face_fontset): Free a fallback fontset (if any) too.
9373 (n_auto_fontsets): Delete this variable.
9374 (auto_fontset_alist): New variable.
9375 (new_fontset_from_font_name): Check auto_fontset_alist.
9376 (dump_fontset) [FONTSET_DEBUG]: Fully re-written.
9377 (Ffontset_list_all) [FONTSET_DEBUG]: New function.
9378 (syms_of_fontset): Initialize and staticpro auto_fontset_alist.
9379 Defsubr Sfontset_list_all.
9380
9381 2008-02-01 Kenichi Handa <handa@m17n.org>
9382
9383 * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
9384
9385 2008-02-01 Kenichi Handa <handa@m17n.org>
9386
9387 * fontset.c (Fnew_fontset): Check NAME more rigidly.
9388
9389 2008-02-01 Kenichi Handa <handa@m17n.org>
9390
9391 * editfns.c (Fgoto_char): Fix docstring.
9392
9393 2008-02-01 Kenichi Handa <handa@m17n.org>
9394
9395 * insdel.c (insert_from_gap): Adjust intervals correctly.
9396
9397 2008-02-01 Jason Rumney <jasonr@gnu.org>
9398
9399 * w32term.c (GLYPHSET, WCRANGE): Define if system headers don't.
9400 (pfnGetFontUnicodeRanges): New dynamically loaded function.
9401 (w32_initialize): Try to load it.
9402 (x_get_font_repertory): Use it if available.
9403 (w32_encode_char): Add shortcut for unicode output.
9404
9405 * w32fns.c (w32_load_system_font): Default charset to -1.
9406 (x_to_w32_charset): Match all fonts for unicode.
9407 (w32_to_x_charset): New parameter matching. Don't return partial
9408 or wildcard charsets.
9409 (w32_to_all_x_charsets): Don't return partial or wildcard charsets.
9410 (w32_codepage_for_font): Return CP_UNICODE for unicode.
9411 (w32_to_x_font): Match charset to real charset.
9412 (enum_font_cb2): Always list unicode versions.
9413
9414 * makefile.w32-in (temacs): Increase EMHEAP.
9415
9416 2008-02-01 Jason Rumney <jasonr@gnu.org>
9417
9418 * w32term.c (w32_encode_char): New charset parameter.
9419 font_info.encoding becomes encoding_type.
9420 (x_get_font_repertory): New function. Warning: stub only!
9421 (x_new_font): Return quickly if font already set.
9422 (x_new_fontset): fontsetname parameter is Lisp_Object.
9423 Use new fs_query_fontset. Try new_fontset_from_font_name.
9424 Use fontset_name for return value.
9425
9426 * w32term.h: Declare x_get_font_repertory.
9427
9428 * w32select.c (Fw32_set_clipboard_data): Use string_x_string_p in
9429 place of find_charset_in_text. Use encode_coding_object in place
9430 of encode_coding.
9431 (Fw32_get_clipboard_data): Use decode_coding_c_string in place of
9432 decode_coding.
9433
9434 * w32fns.c (Fx_create_frame, x_create_tip_frame): Use new version
9435 of x_new_fontset.
9436 (w32_load_system_font): Initialize charset as unicode.
9437 font_info.encoding becomes encoding_type.
9438 (w32_to_x_font): Use decode_coding_c_string in place of decode_coding.
9439 (x_to_w32_font): Use encode_coding_object in place of encode_coding.
9440 (syms_of_w32fns): Set get_font_repertory_func.
9441
9442 * w32console.c: Include character.h. Use terminal_encode_buffer
9443 from term.c.
9444 (write_glyphs): Use new version of encode_terminal_code. Use
9445 encode_coding_object in place of encode_coding.
9446
9447 * w32bdf.c (w32_load_bdf_font): Clear font_info before filling.
9448 encoding becomes encoding_type.
9449
9450 * term.c (terminal_encode_buffer): Make externally visible.
9451
9452 * makefile.w32-in: Add character.h dependancies.
9453 (character.o, chartab.o): New targets.
9454
9455 2008-02-01 Kenichi Handa <handa@m17n.org>
9456
9457 * fileio.c (Finsert_file_contents) [DOS_NT]: Use the macro
9458 CODING_ID_EOL_TYPE.
9459
9460 2008-02-01 Andreas Schwab <schwab@suse.de>
9461
9462 * coding.c (produce_chars): Revert last change.
9463
9464 2008-02-01 Kenichi Handa <handa@m17n.org>
9465
9466 * charset.h (charset_unicode): Extern it.
9467
9468 * charset.c (string_xstring_p): Check by (C >= 0x100).
9469 (find_charsets_in_text): Change format of the arc CHARSETS. New
9470 arg MULTIBYTE.
9471 (Ffind_charset_region, Ffind_charset_string): Adjust for the
9472 change of find_charsets_in_text.
9473 (Fsplit_char): Fix doc. Never return unknown.
9474
9475 * chartab.c (char_table_translate): Use CHARACTERP, not INETEGERP.
9476
9477 * coding.c (Fdefine_coding_system_alias): Update
9478 Vcoding_system_list.
9479
9480 * fontset.c (load_font_get_repertory): Pay attention to the case
9481 that ENCODING of a font is specified by a char-table.
9482
9483 * xterm.c (x_get_font_repertory): Handle the case that the
9484 encoding of font is other than Unicode.
9485
9486 2008-02-01 Kenichi Handa <handa@m17n.org>
9487
9488 * term.c (encode_terminal_code): Don't handle glyph-table. Check
9489 if a character is encodable by the terminal coding system. If
9490 not, produces proper number of `?'s. Update
9491 terminal_encode_buffer and terminal_encode_buf_size if necessary.
9492 (produce_glyphs): Check by CHAR_BYTE8_P, not SINGLE_BYTE_CHAR_P.
9493
9494 2008-02-01 Kenichi Handa <handa@m17n.org>
9495
9496 * term.c (terminal_encode_buffer, terminal_encode_buf_size): New
9497 variables.
9498 (encode_terminal_code): Change argument. Encode multiple
9499 characters at once. Store the result of encoding in
9500 terminal_encode_buffer.
9501 (write_glyphs, insert_glyphs): Adjust for the change of
9502 encode_terminal_code.
9503 (term_init): Initialize terminal_encode_buffer and
9504 terminal_encode_buf_size.
9505
9506 * coding.c (consume_chars): If coding->src_object is nil, don't
9507 check annotation.
9508
9509 2008-02-01 Kenichi Handa <handa@m17n.org>
9510
9511 * character.c (char_string): Use ASCII_CHAR_P instead of
9512 SINGLE_BYTE_CHAR_P.
9513
9514 2008-02-01 Kenichi Handa <handa@m17n.org>
9515
9516 * xdisp.c (handle_auto_composed_prop): Check if the last
9517 characters of auto-composed region is newly composed with the
9518 following characters.
9519 (handle_composition_prop): Fix checking of point being inside
9520 composition.
9521
9522 2008-02-01 Kenichi Handa <handa@m17n.org>
9523
9524 * fns.c (concat): Don't change multibyteness of the result by
9525 concatenating an 8-bit character.
9526
9527 * data.c (Faset): Check newelt by CHECK_CHARACTER. Don't change
9528 multibyteness of the result when newelt is an 8-bit character.
9529
9530 2008-02-01 Dave Love <fx@gnu.org>
9531
9532 * xmenu.c (find_and_call_menu_selection): Make menu_bar_items_used
9533 EMACS_INT.
9534
9535 * xfns.c (DefaultDepthOfScreen, x_encode_text): Remove unused vars.
9536
9537 * xfaces.c (face_numeric_value): Declare dim size_t.
9538 (Finternal_lisp_face_equal_p): Remove unused f.
9539
9540 * xdisp.c (BUILD_CHAR_GLYPH_STRINGS, display_and_set_cursor)
9541 (MATRIX_ROW): Remove unused vars.
9542 (draw_glyphs, x_insert_glyphs, fast_find_position)
9543 (fast_find_position, fast_find_string_pos): Use EMACS_INT for
9544 byte/char counts.
9545
9546 * regex.c (regex_compile): Remove unused var.
9547
9548 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
9549
9550 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
9551 (Faccessible_keymaps, where_is_internal): Remove unused vars.
9552
9553 * keyboard.c (cancel_hourglass_unwind): Return Qnil.
9554
9555 * frame.c (frame_name_fnn_p): Make len EMACS_INT.
9556
9557 * fileio.c (Fwrite_region): Remove unused var.
9558
9559 * dispnew.c (adjust_frame_glyphs_for_frame_redisplay)
9560 (adjust_frame_glyphs_for_window_redisplay): Remove unused ch_dim.
9561
9562 * composite.c (Fremove_list_of_text_properties): Declare.
9563
9564 * coding.c (inhibit_pre_post_conversion): Remove (unused).
9565 (alloc_destination, produce_chars): Use EMACS_INT for byte/char counts.
9566 (coding_inherit_eol_type): Remove unused attrs.
9567 (detect_coding): Cast arg of detect_eol.
9568
9569 * charset.c (syms_of_charset): Remove unused var p.
9570 (find_charsets_in_text, Ffind_charset_region): Use EMACS_INT for
9571 byte/char counts.
9572
9573 * casetab.c (set_case_table): Remove unused var.
9574
9575 * window.c (Fdisplay_buffer, Fframe_selected_window): Remove
9576 unused vars.
9577
9578 2008-02-01 Dave Love <fx@gnu.org>
9579
9580 * xterm.c (x_bitmap_mask): Declare.
9581
9582 2008-02-01 Dave Love <fx@gnu.org>
9583
9584 * xterm.c (x_term_init): Fix type error.
9585
9586 * lisp.h: Add Funibyte_char_to_multibyte.
9587
9588 * coding.c (Fread_coding_system): Fix arg of XSETSTRING.
9589 (Fset_coding_system_priority): Doc fix.
9590
9591 * ccl.c (ccl_driver): Fix arg of CHARACTERP.
9592
9593 * indent.c (check_composition): Make start and end EMACS_INT.
9594
9595 * character.c (lisp_string_width): Make ignore and end EMACS_INT.
9596
9597 * xdisp.c (handle_composition_prop, check_point_in_composition):
9598 Make buffer positions EMACS_INT.
9599
9600 * composite.c (find_composition, run_composition_function)
9601 (update_compositions, Ffind_composition_internal): Make buffer
9602 positions EMACS_INT.
9603
9604 * composite.h (find_composition, update_compositions): Make
9605 position args EMACS_INT.
9606
9607 * keyboard.c (adjust_point_for_property): Make beg and end EMACS_INT.
9608
9609 * intervals.c (get_property_and_range):
9610 * intervals.h (get_property_and_range): Make start and end EMACS_INT.
9611
9612 * unexalpha.c: Don't include varargs.h.
9613
9614 2008-02-01 Dave Love <fx@gnu.org>
9615
9616 * coding.h (ENCODE_UTF_8): New.
9617
9618 * Makefile.in (gtkutil.o): Depend on coding.h.
9619
9620 * coding.c (Fset_coding_system_priority): Doc fix.
9621
9622 2008-02-01 Kenichi Handa <handa@m17n.org>
9623
9624 * fileio.c (Finsert_file_contents): Call setup_coding_system in
9625 the case of auto saving.
9626
9627 2008-02-01 Andreas Schwab <schwab@suse.de>
9628
9629 * chartab.c (map_char_table, map_char_table_for_charset): Protect
9630 `range' from GC.
9631
9632 2008-02-01 Kenichi Handa <handa@m17n.org>
9633
9634 * coding.c (decode_coding_sjis): Check bytes more rigidly.
9635
9636 2008-02-01 Kenichi Handa <handa@m17n.org>
9637
9638 * fileio.c (choose_write_coding_system): Return a decided coding system.
9639 (Fwrite_region): Set Vlast_coding_system_used to the return value
9640 of choose_write_coding_system.
9641
9642 2008-02-01 Kenichi Handa <handa@m17n.org>
9643
9644 * charset.c (Fset_charset_priority): Pay attention to duplicated
9645 arguments.
9646
9647 * coding.c (QCcategory): New variable.
9648 (syms_of_coding): Defsym it. Set all elements of
9649 Vcoding_category_table and their symbol values.
9650 (Fset_coding_system_priority): Doc fix. Update symbol qvalues of
9651 coding-category-XXX, and coding-category-list.
9652 (Fdefine_coding_system_internal): Add category in the plist.
9653
9654 2008-02-01 Kenichi Handa <handa@m17n.org>
9655
9656 * callproc.c (Fcall_process): Handle carryover correctly.
9657
9658 * coding.c (decode_coding_iso_2022): Fix handling of invalid bytes.
9659 (raw_text_coding_system): Check NILP (coding_system).
9660 (coding_inherit_eol_type): Check NILP (coding_system) and
9661 NILP (parent).
9662 (consume_chars): Fix for the case of raw-text.
9663
9664 * process.c (read_process_output): Handle carryover correctly.
9665
9666 2008-02-01 Dave Love <fx@gnu.org>
9667
9668 * regex.c (re_search_2): Fix last change.
9669
9670 2008-02-01 Kenichi Handa <handa@m17n.org>
9671
9672 * regex.c (GET_CHAR_BEFORE_2): Check multibyte, not
9673 target_multibyte. Even in a unibyte case, return a converted
9674 multibyte char.
9675 (GET_CHAR_AFTER): New macro.
9676 (PATFETCH): Translate via multibyte char.
9677 (HANDLE_UNIBYTE_RANGE): Delete this macro.
9678 (SETUP_MULTIBYTE_RANGE): New macro.
9679 (regex_compile): Setup compiled code so that its multibyteness
9680 matches that of a target. Fix the handling of "[X-YZ]" using
9681 SETUP_MULTIBYTE_RANGE.
9682 (analyse_first) <charset>: For filling fastmap for all multibyte
9683 characters, don't check by BASE_LEADING_CODE_P.
9684 (re_search_2): Don't check RE_TARGET_MULTIBYTE_P (bufp). It is
9685 the same as RE_MULTIBYTE_P (bufp) now.
9686 (mutually_exclusive_p): Check by (! multibyte || IS_REAL_ASCII (c)).
9687 (TARGET_CHAR_AND_LENGTH): Delete this macro.
9688 (TRANSLATE_VIA_MULTIBYTE): New macro.
9689 (re_match_2_internal): Don't check RE_TARGET_MULTIBYTE_P (bufp).
9690 It is the same as RE_MULTIBYTE_P (bufp) now.
9691 <exactn>: Translate via multibyte.
9692 <anychar>: Fetch a character by RE_STRING_CHAR_AND_LENGTH. Don't
9693 translate it.
9694 <charset, charset_not>: Fetch a character by
9695 RE_STRING_CHAR_AND_LENGTH. Translate via multibyte.
9696 <duplicate>: Call bcmp_translate with the last arg `multibyte'.
9697 <wordbound, notwordbound, wordbeg, wordend, syntaxspec,
9698 notsyntaxspec, categoryspec, notcategoryspec> Fetch a character
9699 by GET_CHAR_AFTER.
9700 (bcmp_translate): Likewise.
9701
9702 * search.c (compile_pattern): Check the member target_multibyte,
9703 not the member multibyte of buf.
9704
9705 * lread.c (read1): While reading a string, set force_singlebyte
9706 and force_multibyte correctly.
9707
9708 * charset.c (Fset_unibyte_charset, init_charset_once): Fix setting
9709 up of unibyte_to_multibyte_table.
9710
9711 2008-02-01 Kenichi Handa <handa@m17n.org>
9712
9713 * coding.c (setup_coding_system): If coding has
9714 post-read-conversion or pre-write-conversion, set
9715 CODING_REQUIRE_DECODING_MASK and CODING_REQUIRE_ENCODING_MASK
9716 respectively.
9717 (decode_coding_gap): Run post-read-conversion if any.
9718
9719 * fileio.c (Finsert_file_contents): Even if we read into a
9720 unibyte buffer, check if we must decode the result or not.
9721
9722 2008-02-01 Kenichi Handa <handa@m17n.org>
9723
9724 * coding.c (make_conversion_work_buffer): Change the work buffer
9725 name to the same one as that of Emacs 21.
9726
9727 2008-02-01 Kenichi Handa <handa@m17n.org>
9728
9729 * coding.h (make_conversion_work_buffer): Adjust prototype.
9730 (code_conversion_restore): Don't extern it.
9731
9732 * coding.c (detected_mask): Delete unused variable.
9733 (decode_coding_iso_2022): Pay attention to the byte sequence of
9734 CTEXT extended segment, and retain those bytes as is.
9735 (decode_coding_ccl): Delete unused variable `valids'.
9736 (setup_coding_system): Delete unused variable `category'.
9737 (consume_chars): Delete unused variable `category'. Make it work
9738 for non-multibyte case.
9739 (make_conversion_work_buffer): Change argument.
9740 (saved_coding): Delete unused variable.
9741 (code_conversion_restore): Don't check saved_coding->destination.
9742 (code_conversion_save): New function.
9743 (decode_coding_gap, encode_coding_gap): Call code_conversion_save
9744 instead of record_unwind_protect.
9745 (decode_coding_object, encode_coding_object): Likewise. Recover PT.
9746 (detect_coding_system): Delete unused variable `mask'.
9747 (Fdefine_coding_system_internal): Delete unused vaiable id.
9748
9749 * fileio.c (kill_workbuf_unwind): New function.
9750 (Finsert_file_contents): On replacing, call
9751 make_conversion_work_buffer with correct args, and call
9752 record_unwind_protect with the first arg kill_workbuf_unwind.
9753
9754 * lisp.h (Fgenerate_new_buffer_name): EXFUN it.
9755
9756 2008-02-01 Kenichi Handa <handa@m17n.org>
9757
9758 * fontset.c (BASE_FONTSET_P): Check FONTSET_BASE, not FONTSET_NAME.
9759 (fontset_add): Fix for the case that TO is less than TO1.
9760 (Ffontset_info): Don't use fallback fontset on checking the
9761 default fontset.
9762 (dump_fontset): New function for debugging.
9763
9764 * coding.c (Fdefine_coding_system_internal): Fix for the case that
9765 coding_type is Qcharset.
9766
9767 2008-02-01 Kenichi Handa <handa@m17n.org>
9768
9769 * chartab.c (map_sub_char_table): New argument DEFAULT_VAL.
9770 (map_char_table): Don't inherit the value from the parent on
9771 initializing VAL. Adjust for the above change.
9772
9773 2008-02-01 Kenichi Handa <handa@m17n.org>
9774
9775 * coding.c (Qsignature, Qendian): Delete these variables.
9776 (syms_of_coding): Don't initialize them.
9777 (CATEGORY_MASK_UTF_16_AUTO): New macro.
9778 (detect_coding_utf_16): Add CATEGORY_MASK_UTF_16_AUTO in
9779 detect_info->found.
9780 (decode_coding_utf_16): Don't detect BOM here.
9781 (encode_coding_utf_16): Produce BOM if CODING_UTF_16_BOM (coding)
9782 is NOT utf_16_without_bom.
9783 (setup_coding_system): For a coding system of type utf-16, check
9784 if the attribute :endian is Qbig or not (not nil or not), and set
9785 CODING_REQUIRE_DETECTION_MASK if BOM detection is required.
9786 (detect_coding): If coding type is utf-16 and BOM detection is
9787 required, detect it.
9788 (Fdefine_coding_system_internal): For a coding system of type
9789 utf-16, check if the attribute :endian is Qbig or not (not nil or not).
9790
9791 2008-02-01 Kenichi Handa <handa@m17n.org>
9792
9793 * coding.c (coding_set_source): Fix for the case that the current
9794 buffer is different from coding->src_object.
9795 (decode_coding_object): Don't use the conversion work buffer if
9796 DST_OBJECT is a buffer.
9797
9798 2008-02-01 Dave Love <fx@gnu.org>
9799
9800 * lread.c (read_emacs_mule_char) [len==2]: Index
9801 emacs_mule_charset correctly.
9802
9803 2008-02-01 Dave Love <fx@gnu.org>
9804
9805 * coding.c (Qbig5, Vbig5_coding_system, CATEGORY_MASK_BIG5)
9806 (detect_coding_big5, decode_coding_big5, encode_coding_big5)
9807 (Fdecode_big5_char, Fencode_big5_char): Delete. (Big5 no longer
9808 treated specially.)
9809 (setup_coding_system, coding_category, CATEGORY_MASK_ANY)
9810 (detected_mask): Remove Big5 bits.
9811
9812 2008-02-01 Kenichi Handa <handa@m17n.org>
9813
9814 The following changes are to make the font rescaling facility
9815 compatible with Emacs 21.
9816
9817 * xfaces.c (Vface_font_rescale_alist): Rename from
9818 Vface_resizing_fonts.
9819 (struct font_name): Rename member resizing_ratio to rescale_ratio.
9820 (font_rescale_ratio): Rename from font_resizing_ratio.
9821 (split_font_name): Set font->rescale_ratio.
9822 (better_font_p): Pay attention to font->rescale_ratio.
9823 (build_scalable_font_name): Likewise. Change RESX, and RESY
9824 fields.
9825 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
9826
9827 2008-02-01 Kenichi Handa <handa@m17n.org>
9828
9829 * coding.c (Qutf_16_be_nosig, Qutf_16_be, Qutf_16_le_nosig)
9830 (Qutf_16_le): Remove these variables.
9831 (syms_of_coding): Don't DEFSYM them.
9832 (decode_coding_utf_16): Fix handling of BOM.
9833 (encode_coding_utf_16): Fix handling of BOM.
9834
9835 2008-02-01 Kenichi Handa <handa@m17n.org>
9836
9837 * fileio.c (Finsert_file_contents): On replacing, before decoding
9838 the file into the work buffer, set point of the work buffer to the end.
9839
9840 2008-02-01 Dave Love <fx@gnu.org>
9841
9842 * coding.c (Fcheck_coding_systems_region): Fix type errors.
9843
9844 2008-02-01 Dave Love <fx@gnu.org>
9845
9846 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
9847 and fix C types.
9848
9849 2008-02-01 Kenichi Handa <handa@m17n.org>
9850
9851 * xdisp.c (SKIP_GLYPHS): New macro.
9852 (set_cursor_from_row): Pay attention to string display properties.
9853
9854 * category.c (copy_category_entry): Fix for the case that RANGE
9855 is an integer.
9856
9857 * xterm.c (x_encode_char): Call ccl_driver with the last arg Qnil.
9858
9859 * w32term.c (w32_encode_char): Call ccl_driver with the last arg Qnil.
9860
9861 2008-02-01 Kenichi Handa <handa@m17n.org>
9862
9863 * charset.c (Fcharset_id_internal): New function.
9864 (syms_of_charset): Defsubr it.
9865
9866 * coding.c (decode_coding_ccl, encode_coding_ccl): Call ccl_driver
9867 with the last arg charset_list acquired from coding.
9868 (Fdefine_coding_system_internal): For ccl-based coding system, fix
9869 the attribute coding_attr_ccl_valids.
9870
9871 * coding.h (enum define_coding_ccl_arg_index): Set the first
9872 member coding_arg_ccl_decoder to coding_arg_max.
9873
9874 * ccl.h (ccl_driver): Adjust prototype.
9875
9876 * ccl.c (CCL_DECODE_CHAR, CCL_ENCODE_CHAR): New macros.
9877 (ccl_driver): New arg CHARSET_LIST. Use the above macros instead
9878 of DECODE_CAHR, ENCODE_CHAR, CHAR_CHARSET.
9879 (Fccl_execute, Fccl_execute_on_string): Call ccl_driver with the
9880 last arg Qnil.
9881
9882 2008-02-01 Kenichi Handa <handa@m17n.org>
9883
9884 * charset.h (ENCODE_CHAR): If the method is SUBSET or SUPERSET,
9885 call encode_char.
9886
9887 * charset.c (encode_char): Fix handling of methods SUBSET and SUPERSET.
9888
9889 2008-02-01 Dave Love <fx@gnu.org>
9890
9891 * composite.c (syms_of_composite): Make composition_hash_table weak.
9892
9893 2008-02-01 Kenichi Handa <handa@m17n.org>
9894
9895 * dispextern.h (check_face_attributes, generate_ascii_font_name)
9896 (font_name_registry): Don't extern them.
9897 (split_font_name_into_vector, build_font_name_from_vector): Extern them.
9898
9899 * fontset.h (Qfontset): Don't extern it.
9900 (new_fontset_from_font_name): Extern it.
9901
9902 * fontset.c: Give 8 extra slots to fontset objects.
9903 (Qfontset_info): New variable.
9904 (syms_of_fontset): Defsym it.
9905 (FONTSET_FALLBACK): New macro.
9906 (fontset_face): Try also the default fontset.
9907 (make_fontset): Realize a fallback fontset from the default fontset.
9908 (generate_ascii_font_name): Move from xfaces.c. Rewritten by
9909 using split_font_name_into_vector and build_font_name_from_vector.
9910 (Fset_fontset_font): Access the elements of font_spec by enum
9911 FONT_SPEC_INDEX. If font_spec is a string, extract the registry
9912 name by using split_font_name_into_vector.
9913 (Fnew_fontset): If no ASCII font is specified in FONTLIST,
9914 generate a proper font name from the fontset name. Update
9915 Vfontset_alias_alist.
9916 (n_auto_fontsets): New variable.
9917 (new_fontset_from_font_name): New function.
9918 (Ffont_info): Store the information about fonts generated from the
9919 default fontset in the first extra slot of the returned char-table.
9920
9921 * xfaces.c (generate_ascii_font_name): Move to fontset.c.
9922 (font_name_registry): Delete function.
9923 (split_font_name_into_vector): New function.
9924 (build_font_name_from_vector): New function.
9925 (font_list): The argument REGISTRY is now a list of registry names.
9926 (choose_face_font): If we are choosing an ASCII font, and ATTRS
9927 specifies an explicit font name, return the name as is. Make a
9928 list of registy names.
9929
9930 * xfns.c (x_set_font, x_create_tip_frame): Adjust for the change
9931 of x_new_fontset.
9932 (Fx_create_frame): Don't call x_new_fontset here. Just use
9933 x_list_fonts to check the existence of fonts.
9934
9935 * xterm.h (x_new_fontset): Adjust prototype.
9936
9937 * xterm.c (x_new_fontset): Change the arg FONTSETNAME to Lisp
9938 string. Use new_fontset_from_font_name to create a fontset from a
9939 font name.
9940
9941 2008-02-01 Kenichi Handa <handa@m17n.org>
9942
9943 * syntax.c (Vfind_word_boundary_function_table): New name for
9944 Vnext_word_boundary_function_table.
9945 (find-word-boundary-function-table): New name for
9946 next-word-boundary-function-table.
9947
9948 2008-02-01 Dave Love <fx@gnu.org>
9949
9950 * Makefile.in: Fix some dependencies.
9951
9952 * keymap.c (Fapropos_internal): Don't gcpro apropos_predicate but
9953 set it to nil before returning.
9954
9955 * composite.c (update_compositions): Fix type error.
9956
9957 * syntax.c (skip_chars, skip_syntaxes): Fix type errors.
9958
9959 2008-02-01 Kenichi Handa <handa@m17n.org>
9960
9961 * xterm.c (x_new_font): Optimize for the case that the font is
9962 already set for the frame.
9963
9964 2008-02-01 Kenichi Handa <handa@m17n.org>
9965
9966 * chartab.c (char_table_ascii): Check if the char table contents
9967 is sub-char-table or not.
9968 (char_table_set, char_table_set_range): Fix argument to
9969 char_table_ascii.
9970
9971 * coding.c (CATEGORY_MASK_RAW_TEXT): New macro.
9972 (detect_coding_utf_8, detect_coding_utf_16)
9973 (detect_coding_emacs_mule, detect_coding_iso_2022)
9974 (detect_coding_sjis, detect_coding_big5)
9975 (detect_coding_ccl, detect_coding_charset): Change argument MASK
9976 to DETECT_INFO. Update DETECT_INFO and return 1 if the byte
9977 sequence is valid in this coding system. Change callers.
9978 (MAX_ANNOTATION_LENGTH): New macro.
9979 (ADD_ANNOTATION_DATA): New macro.
9980 (ADD_COMPOSITION_DATA): Change argument. Change callers. Call
9981 ADD_ANNOTATION_DATA. Change the format of annotation data.
9982 (ADD_CHARSET_DATA): New macro.
9983 (emacs_mule_char): New argument ID. Change callers.
9984 (decode_coding_emacs_mule, decode_coding_iso_2022)
9985 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
9986 Produce charset annotation data in coding->charbuf.
9987 (encode_coding_emacs_mule, encode_coding_iso_2022): Pay attention
9988 to charset annotation data in coding->charbuf.
9989 (setup_coding_system): Add CODING_ANNOTATE_CHARSET_MASK
9990 coding->common_flags if the coding system is iso-2022 based and
9991 uses designation.
9992 (produce_composition): Adjust for the new annotation data format.
9993 (produce_charset): New function.
9994 (produce_annotation): Handle charset annotation.
9995 (handle_composition_annotation, handle_charset_annotation): New
9996 functions.
9997 (consume_chars): Handle charset annotation. Utilize the above two
9998 functions.
9999 (encode_coding_object): If SRC_OBJECT and DST_OBJECT are the same
10000 buffer, get the deleted text as a string and set
10001 coding->src_object to that string.
10002 (detect_coding, detect_coding_system): Use the new struct
10003 coding_detection_info.
10004
10005 * coding.h (struct coding_detection_info): New structure.
10006 (struct coding_system): Adjust prototype of the member `detector'.
10007 (CODING_ANNOTATE_CHARSET_MASK): New macro.
10008
10009 2008-02-01 Kenichi Handa <handa@m17n.org>
10010
10011 * insdel.c (insert_from_gap): Fix argument to offset_intervals.
10012
10013 2008-02-01 Dave Love <fx@gnu.org>
10014
10015 * keymap.c (apropos_predicate, apropos_accumulate): Declare static.
10016 (Fapropos_internal): Don't gcpro apropos_accumulate. Set result
10017 to new local and nullify apropos_accumulate before returning.
10018 (syms_of_keymap): Staticpro and initialize apropos_accumulate.
10019
10020 2008-02-01 Kenichi Handa <handa@m17n.org>
10021
10022 * charset.c (Fdefine_charset_internal): Setup charset.fast_map
10023 correctly.
10024
10025 2008-02-01 Dave Love <fx@gnu.org>
10026
10027 * fns.c (Flanginfo): Call synchronize_system_time_locale.
10028
10029 2008-02-01 Kenichi Handa <handa@m17n.org>
10030
10031 The following changes are to make character composition happen
10032 automatically on displaying.
10033
10034 * Makefile.in (lisp, shortlisp): Add composite.elc.
10035
10036 * composite.h (Qauto_composed, Vauto_composition_function)
10037 (Qauto_composition_function): Extern them.
10038
10039 * composite.c (Vcomposition_function_table)
10040 (Qcomposition_function_table): Delete variables.
10041 (Qauto_composed, Vauto_composition_function)
10042 (Qauto_composition_function): New variables.
10043 (run_composition_function): Don't call
10044 compose-chars-after-function.
10045 (update_compositions): Clear `auto-composed' text property.
10046 (compose_chars_in_text): Delete this function.
10047 (syms_of_composite): Staticpro Qauto_composed and
10048 Qauto_composition_function. Declare Vauto_composition_function as
10049 a Lisp variable.
10050
10051 * dispextern.h (enum prop_idx): Add member AUTO_COMPOSED_PROP_IDX.
10052
10053 * xdisp.c (it_props): Add an entry for Qauto_composed.
10054 (handle_auto_composed_prop): New function.
10055
10056 * xselect.c (selection_data_to_lisp_data): Don't call
10057 compose_chars_in_text.
10058
10059 2008-02-01 Dave Love <fx@gnu.org>
10060
10061 * keyboard.c (read_char): Modify checking around use of
10062 Vkeyboard_translate_table.
10063
10064 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
10065 and fix C types.
10066
10067 2008-02-01 Kenichi Handa <handa@m17n.org>
10068
10069 * coding.c (decode_coding_utf_8, decode_coding_emacs_mule)
10070 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
10071 (decode_coding_charset, produce_chars): When eol_type is Qdos, handle
10072 the case that the last byte is '\r' correctly.
10073 (decode_coding): Flush out the unprocessed data correctly.
10074 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK bit of coding->mode.
10075
10076 2008-02-01 Dave Love <fx@gnu.org>
10077
10078 * xterm.c (XTread_socket): Fix changes for defined keysyms.
10079 Add XK_ISO... case.
10080 (xaw_scroll_callback): Revert last change.
10081
10082 2008-02-01 Kenichi Handa <handa@m17n.org>
10083
10084 * charset.c (Fset_charset_priority): Update Viso_2022_charset_list.
10085
10086 2008-02-01 Kenichi Handa <handa@m17n.org>
10087
10088 * xfaces.c (Vface_resizing_fonts): New variable.
10089 (struct font_name): New member `resizing_ratio'.
10090 (font_resizing_ratio): New function.
10091 (split_font_name): Set font->resizing_ratio.
10092 (better_font_p): Pay attention to font->resizing_ratio.
10093 (build_scalable_font_name): Likewise. Don't change POINT_SIZE,
10094 RESX, and RESY fields.
10095 (try_alternative_families): Try scalable fonts if
10096 Vscalable_fonts_allowed is not Qt.
10097 (syms_of_xfaces): Declare Vface_resizing_fonts as a Lisp variable.
10098
10099 2008-02-01 Dave Love <fx@gnu.org>
10100
10101 * xterm.c (xaw_scroll_callback): Cast correctly.
10102
10103 2008-02-01 Dave Love <fx@gnu.org>
10104
10105 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extend.
10106 (lispy_kana_keys): Comment out.
10107 (make_lispy_event) [XK_kana_A]: Comment out.
10108
10109 * xterm.c (xaw_scroll_callback): Cast call_data.
10110 (XTread_socket): Deal with ASCII keysyms.
10111 (syms_of_xterm) <Vx_keysym_table>: Fix args of make_hash_table.
10112
10113 2008-02-01 Dave Love <fx@gnu.org>
10114
10115 * xterm.c (Vx_keysym_table): New.
10116 (syms_of_xterm): Initialize it.
10117 (XTread_socket): Use it.
10118 From head: Eliminate incorrect optimization that tried to avoid
10119 decoding the output of X*LookupString.
10120 (x_get_font_repertory): Delete charset declaration.
10121
10122 2008-02-01 Kenichi Handa <handa@m17n.org>
10123
10124 * coding.c (detect_coding_charset): If only ASCII bytes are found,
10125 return 0.
10126 (Fdefine_coding_system_internal): Setup
10127 CODING_ATTR_ASCII_COMPAT (attrs) correctly.
10128
10129 2008-02-01 Dave Love <fx@gnu.org>
10130
10131 * coding.c (Fcheck_coding_system): Doc fix.
10132
10133 * editfns.c (Finsert_byte): Return a proper value.
10134
10135 2008-02-01 Kenichi Handa <handa@m17n.org>
10136
10137 * coding.c (decode_coding): Fix args to translate_chars. Pay
10138 attention to Vstandard_translation_table_for_decode.
10139 (encode_coding): Fix args to translate_chars. Pay attention to
10140 Vstandard_translation_table_for_encode.
10141
10142 * data.c (Faset): Check NEWELT by ASCII_CHAR_P, not by
10143 SINGLE_BYTE_CHAR_P.
10144
10145 * editfns.c (general_insert_function): Check VAL by ASCII_CHAR_P,
10146 not by SINGLE_BYTE_CHAR_P.
10147
10148 * fns.c (concat): Check CH by ASCII_CHAR_P, not by
10149 SINGLE_BYTE_CHAR_P.
10150
10151 * insdel.c (copy_text): Check C by ASCII_CHAR_P, not by
10152 SINGLE_BYTE_CHAR_P.
10153
10154 * keymap.c (Ftext_char_description): Check C by ASCII_CHAR_P, not
10155 by SINGLE_BYTE_CHAR_P.
10156
10157 * search.c (Freplace_match): Check C by ASCII_CHAR_P, not by
10158 SINGLE_BYTE_CHAR_P.
10159
10160 2008-02-01 Dave Love <fx@gnu.org>
10161
10162 * fns.c (Fstring_as_multibyte, Fstring_to_multibyte): Doc fix.
10163
10164 2008-02-01 Dave Love <fx@gnu.org>
10165
10166 * fns.c (Flanginfo): Fix typo.
10167
10168 * unexelf.c (unexec): Make last change conditional on Irix 6.5.
10169
10170 2008-02-01 Kenichi Handa <handa@m17n.org>
10171
10172 * coding.c (detect_coding_utf_8, detect_coding_utf_16)
10173 (detect_coding_emacs_mule, detect_coding_iso_2022)
10174 (detect_coding_sjis, detect_coding_big5, detect_coding_ccl): Check
10175 incomplete byte sequence. Don't update *mask when correctly detected.
10176 (decode_coding_sjis): Fix decoding of katakana-jisx0201.
10177 (detect_eol): Delete the argument CODING, and add the argument CATEGORY.
10178 (detect_coding, detect_coding_system): Adjust for the changes above.
10179
10180 2008-02-01 Kenichi Handa <handa@m17n.org>
10181
10182 * character.c (char_string): Rename from
10183 char_string_with_unification. Pay attention to CHAR_MODIFIER_MASK.
10184 (string_char): Rename from string_char.
10185
10186 * character.h (CHAR_STRING, CHAR_STRING_ADVANCE): Call char_string
10187 if C is greater than MAX_3_BYTE_CHAR.
10188 (STRING_CHAR, STRING_CHAR_AND_LENGTH, STRING_CHAR_ADVANCE): Call
10189 string_char instead of string_char_with_unification.
10190
10191 2008-02-01 Dave Love <fx@gnu.org>
10192
10193 * coding.c (decode_coding_utf_8): Treat surrogates as invalid.
10194
10195 2008-02-01 Kenichi Handa <handa@m17n.org>
10196
10197 * keymap.c (push_key_description): Pay attention to force_multibyte.
10198
10199 * regex.c (re_search_2): Fix for the case of unibyte buffer.
10200
10201 2008-02-01 Dave Love <fx@gnu.org>
10202
10203 * charset.c (define_charset_internal): Rename `supprementary'.
10204
10205 * Makefile.in (lisp, shortlisp): Remove latin-N.
10206
10207 2008-02-01 Dave Love <fx@gnu.org>
10208
10209 * xfns.c (x_window, x_window): Use use_xim.
10210
10211 * xterm.c (use_xim): Initialize.
10212 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
10213 (x_term_init): Maybe set use_xim.
10214
10215 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
10216
10217 2008-02-01 Kenichi Handa <handa@m17n.org>
10218
10219 * search.c (search_buffer): Fix case-fold-search of multibyte
10220 characters.
10221 (boyer_moore): Rename the last argument to char_high_bits.
10222
10223 2008-02-01 Kenichi Handa <handa@m17n.org>
10224
10225 * xdisp.c (display_string): Fix for the case of zero width glyph.
10226
10227 * xfns.c (x_set_font): Change the error message of the case that
10228 x_new_fontset returns Qt.
10229
10230 * xfaces.c (set_lface_from_font_name): Reject the default fontset.
10231 (Finternal_set_lisp_face_attribute): Use signal_error for the
10232 error of invalid fontset.
10233
10234 * xterm.c (x_new_fontset): If FONTSETNAME specifies the default
10235 fontset, return Qt.
10236
10237 2008-02-01 Dave Love <fx@gnu.org>
10238
10239 * unexelf.c (unexec): Make .got handling not SGI-specific.
10240
10241 * syntax.c (syms_of_syntax) <multibyte-syntax-as-symbol>: Doc fix.
10242
10243 * regex.c: Use `ifdef HAVE_ALLOCA_H', not `if HAVE_ALLOCA_H'.
10244
10245 * keyboard.c (read_key_sequence): Fix type error.
10246
10247 * buffer.c (Fset_buffer_multibyte, Fset_buffer_multibyte): Fix
10248 type error.
10249
10250 * fontset.c (fontset_add): Return Lisp_Object.
10251
10252 2008-02-01 Dave Love <fx@gnu.org>
10253
10254 * charset.h (charset_ordered_list_tick): Declare extern.
10255
10256 2008-02-01 Kenichi Handa <handa@m17n.org>
10257
10258 The following changes (and some of 2008-02-01 changes of mine) are
10259 for handling syntax, category, and case conversion for unibyte
10260 characters by converting them to multibyte on the fly. With these
10261 changes, we don't have to setup syntax and case tables for unibyte
10262 characters in each language environment.
10263
10264 * abbrev.c (Fexpand_abbrev): Convert a unibyte character to
10265 multibyte if necessary.
10266
10267 * bytecode.c (Fbyte_code): Likewise.
10268
10269 * character.h (LEADING_CODE_LATIN_1_MIN)
10270 (LEADING_CODE_LATIN_1_MAX): New macros.
10271 (unibyte_to_multibyte_table): Extern it.
10272 (unibyte_char_to_multibyte): New macro.
10273 (MAKE_CHAR_MULTIBYTE): Use unibyte_to_multibyte_table.
10274 (CHAR_LEADING_CODE): New macro.
10275 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): New macro.
10276
10277 * character.c (unibyte_to_multibyte_table): New variable.
10278 (unibyte_char_to_multibyte): Move to character.h and define as macro.
10279 (multibyte_char_to_unibyte): If C is an eight-bit character,
10280 convert it to the corresponding byte value.
10281
10282 * charset.c (Fset_unibyte_charset): If the dimension of CHARSET is
10283 not 1, singals an error. Update the elements of
10284 unibyte_to_multibyte_table.
10285 (init_charset_once): Initialize unibyte_to_multibyte_table.
10286 (syms_of_charset): Define the charset `iso-8859-1'.
10287
10288 * cmds.c (internal_self_insert): In a multibyte buffer, insert C
10289 as is without converting it to unibyte. In a unibyte buffer,
10290 convert C to multibyte before checking the syntax.
10291
10292 * lisp.h (unibyte_char_to_multibyte): Delete extern.
10293
10294 * minibuf.c (Fminibuffer_complete_word): Use the macro
10295 FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE.
10296
10297 * regex.h (struct re_pattern_buffer): New member target_multibyte.
10298
10299 * regex.c (RE_TARGET_MULTIBYTE_P): New macro.
10300 (GET_CHAR_BEFORE_2): Check target_multibyte, not multibyte. If
10301 that is zero, convert an eight-bit char to multibyte.
10302 (MAKE_CHAR_MULTIBYTE, CHAR_LEADING_CODE): New dummy new macros for
10303 non-emacs case.
10304 (PATFETCH): Convert an eight-bit char to multibyte.
10305 (HANDLE_UNIBYTE_RANGE): New macro.
10306 (regex_compile): Setup the compiled pattern for multibyte chars
10307 even if the given regex string is unibyte. Use PATFETCH_RAW
10308 instead of PATFETCH in many places. To handle `charset'
10309 specification of unibyte, call HANDLE_UNIBYTE_RANGE. Use bitmap
10310 only for ASCII chars.
10311 (analyse_first) <exactn>: Simplify because the compiled pattern
10312 is multibyte.
10313 <charset_not>: Setup fastmap from bitmap only for ASCII chars.
10314 <charset>: Use CHAR_LEADING_CODE to get leading codes.
10315 <categoryspec>: If multibyte, setup fastmap only for ASCII chars here.
10316 (re_compile_fastmap) [emacs]: Call analyse_first with the arg
10317 multibyte always 1.
10318 (re_search_2): In emacs, set the locale variable multibyte to 1,
10319 otherwise to 0. New local variable target_multibyte. Check it
10320 to decide the multibyteness of STR1 and STR2. If
10321 target_multibyte is zero, convert unibyte chars to multibyte
10322 before translating and checking fastmap.
10323 (TARGET_CHAR_AND_LENGTH): New macro.
10324 (re_match_2_internal): In emacs, set the locale variable multibyte
10325 to 1, otherwise to 0. New local variable target_multibyte. Check
10326 it to decide the multibyteness of STR1 and STR2. Use
10327 TARGET_CHAR_AND_LENGTH to fetch a character from D.
10328 <charset, charset_not>: If multibyte is nonzero, check fastmap
10329 only for ASCII chars. Call bcmp_translate with
10330 target_multibyte, not with multibyte.
10331 <begline>: Declare the local variable C as `unsigned'.
10332 (bcmp_translate): Change the last arg name to target_multibyte.
10333
10334 * search.c (compile_pattern_1): Don't adjust the multibyteness of
10335 the regexp pattern and the matching target. Set cp->buf.multibyte
10336 to the multibyteness of the regexp pattern. Set
10337 cp->but.target_multibyte to the multibyteness of the matching target.
10338 (wordify): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE instead of
10339 FETCH_STRING_CHAR_ADVANCE.
10340 (Freplace_match): Convert unibyte chars to multibyte.
10341
10342 * syntax.c (char_quoted, back_comment, scan_words)
10343 (Fforward_comment, scan_lists, Fbackward_prefix_chars)
10344 (scan_sexps_forward): Use FETCH_CHAR_AS_MULTIBYTE to convert
10345 unibyte chars to multibyte.
10346 (skip_chars): Delete the arg syntaxp, and move the code for
10347 handling syntaxes to skip_syntaxes. Change callers.
10348 Fix the case that the multibyteness of STRING and the current
10349 buffer doesn't match.
10350 (skip_syntaxes): New function.
10351 (SYNTAX_WITH_MULTIBYTE_CHECK): Check C by ASCII_CHAR_P, not by
10352 SINGLE_BYTE_CHAR_P.
10353
10354 2008-02-01 Kenichi Handa <handa@m17n.org>
10355
10356 * xfaces.c (QCfontset): New variable.
10357 (LFACE_FONTSET): New macro.
10358 (check_lface_attrs): Check also LFACE_FONTSET_INDEX.
10359 (set_lface_from_font_name): Setup LFACE_FONTSET (lface).
10360 (Finternal_set_lisp_face_attribute)
10361 (Finternal_get_lisp_face_attribute): Handle QCfontset.
10362 (lface_same_font_attributes_p): Fix checking of LFACE_FONT_INDEX,
10363 check also LFACE_FONTSET_INDEX.
10364 (face_fontset): Check attrs[LFACE_FONTSET_INDEX], not
10365 attrs[LFACE_FONT_INDEX].
10366 (syms_of_xfaces): Intern and staticpro QCfontset.
10367
10368 * dispextern.h (enum lface_attribute_index): New member
10369 LFACE_FONTSET_INDEX.
10370
10371 * fns.c (base64_encode_1): Handle eight-bit chars correctly.
10372
10373 2008-02-01 Kenichi Handa <handa@m17n.org>
10374
10375 * coding.c (coding_set_destination): Fix coding->destination for
10376 the case converting a region.
10377 (encode_coding_utf_8): Encode eight-bit chars as single byte.
10378 (encode_coding_object): Fix coding->dst_pos and
10379 coding->dst_pos_byte for the case converting a region.
10380
10381 * insdel.c (insert_from_gap): Make it work even if PT != GTP.
10382
10383 * character.h (BYTE8_STRING): New macro.
10384
10385 * fns.c (base64_decode_1): Insert eight-bit chars correctly.
10386
10387 2008-02-01 Kenichi Handa <handa@m17n.org>
10388
10389 * xdisp.c (get_next_display_element): Don't display unibyte 8-bit
10390 characters by octal form.
10391
10392 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
10393
10394 * buffer.h (_fetch_multibyte_char_len): Delete extern.
10395 (FETCH_MULTIBYTE_CHAR, BUF_FETCH_MULTIBYTE_CHAR): Don't use
10396 _fetch_multibyte_char_len.
10397 (FETCH_CHAR_AS_MULTIBYTE): New macro.
10398
10399 * casetab.c (set_canon, set_identity, shuffle): Simplify.
10400
10401 * casefiddle.c (casify_object): Simplify. Handle the case that
10402 the case conversion change the byte length.
10403 (casify_region): Likewise.
10404
10405 * character.h (MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE): New macros.
10406
10407 * character.c (_fetch_multibyte_char_len): Delet this variable.
10408 (syms_of_character): Setup Vprintable_chars.
10409
10410 * editfns.c (Fchar_equal): Fix for the unibyte case.
10411 (Finsert_byte): New function.
10412 (syms_of_editfns): Defsubr it.
10413
10414 * keyboard.c (read_key_sequence): Use ~CHAR_MODIFIER_MASK instead
10415 of direct code 0x3ffff.
10416
10417 * search.c (Freplace_match): Fix for the unibyte case.
10418
10419 2008-02-01 Kenichi Handa <handa@m17n.org>
10420
10421 * lread.c (safe_to_load_p): Fix the logic.
10422
10423 * syntax.c (scan_words): Don't treat characters belonging to
10424 different scripts as constituting a word.
10425
10426 * editfns.c (Fformat): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
10427
10428 * fontset.c (Fset_fontset_font): Treat `ascii' as charset, not script.
10429
10430 * emacs.c (main): In the case of --unibyte, instead of aborting on
10431 finding non-empty buffer, make it unibyte.
10432
10433 2008-02-01 Kenichi Handa <handa@m17n.org>
10434
10435 * xterm.c (x_new_fontset): Call `create-fontset-from-ascii-font'
10436 to create a fontset.
10437
10438 2008-02-01 Dave Love <fx@gnu.org>
10439
10440 * character.c (Funibyte_char_to_multibyte): Doc fix.
10441
10442 * xfns.c [HAVE_STDLIB_H]: Fix last change.
10443
10444 2008-02-01 Kenichi Handa <handa@m17n.org>
10445
10446 * fontset.c (fontset_add): Make the type `int'.
10447 (fontset_id_valid_p): Define it if FONTSET_DEBUG is defined.
10448
10449 * character.c (unibyte_char_to_multibyte)
10450 (multibyte_char_to_unibyte, Funibyte_char_to_multibyte): Refer to
10451 charset_unibyte, not charset_primary.
10452
10453 * charset.h (charset_unibyte): Extern it instead of charset_primary.
10454
10455 * charset.c (charset_unibyte): Rename from charset_primary.
10456 (Funibyte_charset): Rename from Fprimary_charset.
10457 (Fset_unibyte_charset): Rename from Fset_primary_charset.
10458 (syms_of_charset): Adjust for the above changes.
10459
10460 * w32term.c (x_produce_glyphs): Use ASCII_CHAR_P, not
10461 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
10462 it->multibyte_p is zero.
10463
10464 * lisp.h (nonascii_insert_offset, Vnonascii_translation_table):
10465 Delete extern.
10466
10467 2008-02-01 Kenichi Handa <handa@m17n.org>
10468
10469 * coding.c (Fdefine_coding_system_internal): Fix category setting
10470 for a coding system of type iso-2022.
10471
10472 2008-02-01 Kenichi Handa <handa@m17n.org>
10473
10474 * fontset.h (FS_LOAD_FONT): Call fs_load_font with the arg CHARSET -1.
10475
10476 2008-02-01 Kenichi Handa <handa@m17n.org>
10477
10478 * syntax.c (Vnext_word_boundary_function_table): New variable.
10479 (next-word-boundary-function-table): Declare it as a Lisp variable
10480 in syms_of_syntax.
10481 (scan_words): Call functions in Vnext_word_boundary_function_table
10482 if any.
10483
10484 * xterm.c (x_load_font): Initialize fontp->fontset to -1.
10485
10486 * fontset.c (fs_load_font): If fontp->charset is not negative,
10487 return fontp without setting its members.
10488
10489 2008-02-01 Dave Love <fx@gnu.org>
10490
10491 * xfns.c [HAVE_STDLIB_H]: Change logic (instead of fixing typo).
10492
10493 * m/sparc.h (HAVE_ALLOCA): Delete.
10494
10495 * s/irix6-5.h: Don't include strings.h.
10496 (bcopy, bzero, bcmp): Don't undef.
10497
10498 * s/irix6-0.h (bcopy, bzero, bcmp): Don't undef.
10499
10500 * s/usg5-4.h (NO_SIOCTL_H): Don't define.
10501 (TIOCSIGSEND): Don't test IRIX6.
10502 (bcopy, bzero, bcmp): Define conditionally.
10503
10504 2008-02-01 Kenichi Handa <handa@m17n.org>
10505
10506 * buffer.c (Qas, Qmake, Qto): New variables.
10507 (Fset_buffer_multibyte): New optional arg METHOD. Change caller.
10508 (syms_of_buffer): Intern and staticpro Qas, Qmake, and Qto.
10509
10510 * callproc.c (Fcall_process): Don't call insert_1_both directly if
10511 we are inserting a process output into a multibyte buffer.
10512
10513 * character.h (CHAR_TO_BYTE8): If C is not eight-bit char, call
10514 multibyte_char_to_unibyte.
10515
10516 * character.c (Funibyte_char_to_multibyte): If C can't be decoded
10517 by the primary charset, make it eight-bit char.
10518 (Fmultibyte_char_to_unibyte): Call CHAR_TO_BYTE8.
10519
10520 * charset.c (charset_eight_bit, Qeight_bit_control): New variables.
10521 (charset_8_bit__control, charset_8_bit_graphic)
10522 (Qeight_bit_control, Qeight_bit_graphic): Delete these variables.
10523 (define_charset_internal): New function.
10524 (syms_of_charset): Call define_charset_internal for pre-defined
10525 charsets.
10526
10527 * charset.h (charset_8_bit): Extern it.
10528
10529 * coding.c (make_conversion_work_buffer): Adjust for the change
10530 of Fset_buffer_multibyte.
10531 (encode_coding_raw_text): Increment p0 in the loop.
10532
10533 * lisp.h (Fset_buffer_multibyte): Adjust prototype.
10534
10535 * xdisp.c (setup_echo_area_for_printing, set_message_1): Adjust
10536 for the change of Fset_buffer_multibyte.
10537
10538 * fns.c (Fstring_to_multibyte): New function.
10539 (syms_of_fns): Declare Fstring_to_multibyte as Lisp subroutine.
10540
10541 2008-02-01 Dave Love <fx@gnu.org>
10542
10543 * xfns.c (x_put_x_image): Declare args.
10544
10545 * xfaces.c (font_name_registry, choose_face_font): Delete unused vars.
10546 (try_font_list): Declare an arg.
10547
10548 * xdisp.c (message2_nolog, set_message): Declare an arg.
10549
10550 * terminfo.c (tparam): Declare an arg. Use P_ to declare tparm.
10551
10552 * syntax.c (scan_sexps_forward): Declare an arg.
10553
10554 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
10555 Declare an arg.
10556
10557 * lisp.h (Fnew_fontset): Declare.
10558
10559 * keymap.c (push_key_description): Call CHARACTERP correctly.
10560
10561 * fontset.c (fontset_add): Declare args. Call make_number correctly.
10562 (face_for_char): Delete unused vars.
10563 (Fset_fontset_font): Doc fix. Delete unused vars.
10564
10565 * doc.c (Fsubstitute_command_keys): Delete unused vars.
10566
10567 * composite.c (update_compositions): Declare arg.
10568
10569 * cm.c (calccost, cmgoto): Declare args.
10570
10571 * charset.c: Remove `emacs' conditional. Doc fixes.
10572 (map_char_table_for_charset): Declare.
10573
10574 * character.c (syms_of_character) <translation-table-vector>: Doc fix.
10575
10576 * ccl.c: Remove `emacs' conditional.
10577
10578 2008-02-01 Kenichi Handa <handa@m17n.org>
10579
10580 The following changes are to allow specifying multiple font
10581 patterns for a character range (specified by script or charset).
10582
10583 * Makefile.in (abbrev.o): Depend on syntax.h.
10584 (xfaces.o): Depend on charset.h.
10585
10586 * alloc.c (Fmake_string): Use ASCII_CHAR_P, not
10587 SINGLE_BYTE_CHAR_P.
10588
10589 * ccl.c (Fccl_execute_on_string): Add `const' to local variables.
10590
10591 * character.h (Vchar_script_table): Extern it.
10592
10593 * character.c (Vscript_alist): Delete.
10594 (Vchar_script_table, Qchar_script_table): New variable.
10595 (syms_of_character): Declare Vchar_script_table as a lisp variable
10596 and initialize it.
10597
10598 * chartab.c (Fmake_char_table): Doc fix. If PURPOSE doesn't
10599 have property char-table-extra-slots, make no extra slot.
10600
10601 * dispextern.h (struct face): Delete member `charset'.
10602 (FACE_SUITABLE_FOR_CHAR_P, FACE_FOR): Use ASCII_CHAR_P, not
10603 SINGLE_BYTE_CHAR_P.
10604 (choose_face_font, lookup_non_ascii_face, font_name_registry):
10605 Add prototypes.
10606 (lookup_face, lookup_named_face, lookup_derived_face): Fix prototype.
10607 (generate_ascii_font_name): Rename from generate_ascii_font.
10608
10609 * fontset.h (get_font_repertory_func): New prototype.
10610 (make_fontset_for_ascii_face, fs_load_font): Fix prototypes.
10611 (FS_LOAD_FONT): Call fs_load_font with the 3rd arg charset_ascii.
10612
10613 * fontset.c (Qprepend, Qappend): New variables.
10614 (FONTSET_CHARSET_ALIST, FONTSET_FACE_ALIST): Delete.
10615 (FONTSET_NOFONT_FACE, FONTSET_REPERTORY): New macros.
10616 (FONTSET_REF): Optimize if FONTSET is Vdefault_fontset.
10617 (FONTSET_REF_AND_RANGE, FONTSET_ADD): New macros.
10618 (fontset_ref_and_range, fontset_add, reorder_font_vector)
10619 (load_font_get_repertory): New functions.
10620 (fontset_set): Delete.
10621 (fontset_face): New arg FACE. Return face ID, not face.
10622 Complete re-write to handle new fontset structure. Change caller.
10623 (free_face_fontset): Use ASET istead of AREF (X) = Y.
10624 (face_for_char): Don't call lookup_face.
10625 (make_fontset_for_ascii_face): New arg FACE.
10626 (fs_load_font): New arg CHARSET_ID. Don't check
10627 Vfont_encoding_alist here.
10628 (find_font_encoding): New function.
10629 (list_fontsets): Use STRINGP, not ! NILP.
10630 (accumulate_script_ranges): New function.
10631 (Fset_fontset_font, Fnew_fontset, Ffontset_info): Completely
10632 re-written to handle new fontset structure.
10633 (Ffontset_font): Return a copy of element.
10634 (syms_of_fontset): Define symbols Qprepend and Qappend. Fix
10635 docstring of font-encoding-alist.
10636
10637 * lisp.h (CHAR_TABLE_REF): Remove unnecessary check (IDX >= 0).
10638 (Fset_fotset_font): Fix arguments to 5.
10639
10640 * msdos.c (XMenuActivate): Adjust for the change of lookup_derived_face.
10641
10642 * xdisp.c (message_dolog, set_message_1, extend_face_to_end_of_line):
10643 Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
10644 (highlight_trailing_whitespace): Adjust for the change of
10645 lookup_named_face.
10646
10647 * xfaces.c: Include charset.h.
10648 (load_face_font): Delete argument C. Change caller.
10649 (generate_ascii_font_name): Rename from generate_ascii_font.
10650 (font_name_registry): New function.
10651 (cache_face): Store ascii faces before non-ascii faces in buckets.
10652 (lookup_face): Delete arguments C and BASE_FACE. Change caller.
10653 Lookup only ascii faces.
10654 (lookup_non_ascii_face): New function.
10655 (lookup_named_face): Delete argument C. Change caller.
10656 (lookup_derived_face): Delete argument C. Change caller.
10657 (try_font_list): New arg PATTERN. Change caller. If PATTERN is
10658 a string, just call font_list with it.
10659 (choose_face_font): Delete arguments FACE and C. New arg
10660 FONT_SPEC. Change caller.
10661 (realize_face, realize_x_face): Delete arguments C and BASE_FACE.
10662 Change caller.
10663 (realize_non_ascii_face): New function.
10664 (realize_x_face): Call load_face_font here.
10665 (realize_tty_face): Delete argument C. Change caller.
10666 (compute_char_face): If CH is not ascii, call FACE_FOR_CHAR to
10667 get a face ID.
10668 (dump_realized_face): Don't print charset of FACE.
10669
10670 * xfns.c (x_set_font): Always call x_new_fontset and
10671 store_frame_parameter.
10672 (Fx_create_frame): Call x_new_fontset, not x_new_font.
10673 (syms_of_xfns): Set get_font_repertory_func to x_get_font_repertory.
10674
10675 * xterm.h (x_get_font_repertory): Extern it.
10676
10677 * xterm.c (x_produce_glyphs): Use ASCII_CHAR_P, not
10678 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
10679 it->multibyte_p is zero.
10680 (XTread_socket): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
10681 (x_new_fontset): If FONTSETNAME doesn't match any existing
10682 fontsets, create a new one.
10683 (x_get_font_repertory): New function.
10684
10685 2008-02-01 Kenichi Handa <handa@m17n.org>
10686
10687 * coding.c (Ffind_coding_systems_region_internal): Detect an
10688 ASCII only string correctly.
10689
10690 * lread.c (Fload): Don't load with Qload_force_doc_strings t if
10691 version is 0.
10692
10693 2008-02-01 Kenichi Handa <handa@m17n.org>
10694
10695 * lread.c: Include "coding.h".
10696 (Qget_emacs_mule_file_char, Qload_force_doc_strings)
10697 (load_each_byte, unread_char): New variables.
10698 (readchar_backlog): Delete.
10699 (readchar): Return a character unless load_each_byte is nonzero.
10700 Handle the case that readcharfun is Qget_emacs_mule_file_char or a
10701 cons. If unread_char is not -1, simply return it.
10702 (unreadchar): Handle the case that readcharfun is
10703 Qget_emacs_mule_file_char or a cons. Set unread_char if necessary.
10704 (read_multibyte): Delete.
10705 (readbyte_for_lambda, readbyte_from_file, readbyte_from_string)
10706 (read_emacs_mule_char): New functions.
10707 (Fload): Even if the file doesn't have the extention ".elc", if
10708 safe_to_load_p returns a positive version number, assume that the
10709 file contains bytecompiled code. If the version is less than 22,
10710 load the file while decoding multibyte sequences by emacs-mule.
10711 (readevalloop): Don't use readchar_backlog.
10712 (Fread): Likewise. Pay attention to the case that STREAM is a cons.
10713 (Fread_from_string): Pay attention to the case that STREAM is a cons.
10714 (read_escape): Delete the arg BYTEREP.
10715 (read1): Set load_each_byte to 1 temporarily while handling
10716 #@NUMBER. Don't call read_multibyte.
10717 (read_vector): Call Fread with a cons. If readcharfun is
10718 Qget_emacs_mule_file_char, decode the read string by emacs-mule.
10719 (read_list): If doc_reference is 2, make the cdr part string as unibyte.
10720 (syms_of_lread): Intern and staticpro Qget_emacs_mule_file_char
10721 and Qload_force_doc_strings.
10722
10723 2008-02-01 Kenichi Handa <handa@m17n.org>
10724
10725 * xdisp.c (face_before_or_after_it_pos): Call
10726 FETCH_MULTIBYTE_CHAR with byte postion, not char position.
10727
10728 2008-02-01 Kenichi Handa <handa@m17n.org>
10729
10730 * character.h (TRAILING_CODE_P): New macro.
10731 (MAYBE_UNIFY_CHAR): Adjust for the change of Funify_charset.
10732 (string_char_with_unification): Fix prototype.
10733 (Vscript_alist): Extern it.
10734
10735 * character.c (Vscript_alist): New variable.
10736 (string_char_with_unification, str_as_unibyte)
10737 (string_escape_byte8): Add `const' to local variables.
10738 (syms_of_character): Declare script-alist as a Lisp variable.
10739
10740 * charset.h (Vcharset_ordered_list): Extern it.
10741 (charset_ordered_list_tick): Extern it.
10742 (EMACS_MULE_LEADING_CODE_PRIVATE_11)
10743 (EMACS_MULE_LEADING_CODE_PRIVATE_12)
10744 (EMACS_MULE_LEADING_CODE_PRIVATE_21)
10745 (EMACS_MULE_LEADING_CODE_PRIVATE_22): New macros.
10746 (Funify_charset): Adjust for the change of Funify_charset.
10747
10748 * charset.c (charset_ordered_list_tick): New variable.
10749 (Fdefine_charset_internal): Increment charset_ordered_list_tick.
10750 (Funify_charset): New optional arg DEUNIFY. If it is non-nil,
10751 deunify intead of unify a charset.
10752 (string_xstring_p): Add `const' to local variables.
10753 (find_charsets_in_text): Add `const' to arguemnts and local variables.
10754 (encode_char): Adjust for the change of Funify_charset. Fix
10755 detecting of invalid code.
10756 (Fset_charset_priority): Increment charset_ordered_list_tick.
10757 (Fmap_charset_chars): Fix handling of default value for FROM_CODE
10758 and TO_CODE.
10759
10760 * coding.c (LEADING_CODE_PRIVATE_11, LEADING_CODE_PRIVATE_12)
10761 (LEADING_CODE_PRIVATE_21, LEADING_CODE_PRIVATE_22): Delete macros.
10762 Changed callers to use EMACS_MULE_LEADING_CODE_PRIVATE_11, etc.
10763 (decode_coding_ccl, consume_chars)
10764 (Ffind_coding_systems_region_internal)
10765 (Fcheck_coding_systems_region): Add `const' to local variables.
10766
10767 * print.c (print_object): Use octal form for printing the
10768 contents of a bool vector.
10769
10770 2008-02-01 Dave Love <fx@gnu.org>
10771
10772 * lread.c (Fload) <!load_dangerous_libraries>: Don't leak fd.
10773 <version == 20>: Refuse to load.
10774
10775 2008-02-01 Dave Love <fx@gnu.org>
10776
10777 * fns.c: Move coding.h.
10778 (Qcodeset, Qdays, Qmonths): New.
10779 (concat): Use CHARACTERP instead of INTERGERP.
10780 (Flocale_codeset): Delete.
10781 (Flanginfo): New function.
10782 (syms_of_fns): Change accordingly.
10783
10784 * coding.c (adjust_coding_eol_type): Fix eol_type/eol_seen mixup.
10785
10786 2008-02-01 Dave Love <fx@gnu.org>
10787
10788 * casetab.c (init_casetab_once, init_casetab_once): Fix
10789 CHAR_TABLE_SET call.
10790
10791 * category.c (Fmodify_category_entry): Fix CATEGORY_MEMBER call.
10792
10793 * character.c (syms_of_character): Fix CHAR_TABLE_SET call.
10794
10795 * charset.c (Fmap_charset_chars): Check args. Convert Lisp types.
10796 (load_charset_map, Fdeclare_equiv_charset, Fencode_char)
10797 (Fset_charset_priority, syms_of_charset): Convert Lisp types.
10798
10799 * charset.h (CHECK_CHARSET_GET_ID): Use XINT on AREF result.
10800
10801 * coding.c (ENCODE_DESIGNATION, decode_eol)
10802 (make_conversion_work_buffer, code_conversion_restore)
10803 (Fdefine_coding_system_internal): Convert Lisp types.
10804 (code_conversion_restore): Use EQ, not ==.
10805 (Fencode_coding_string): Fix code_convert_string call.
10806
10807 * coding.h (code_convert_region): Fix prototype.
10808
10809 * dispextern.h (redraw_frame, redraw_garbaged_frames): Remove.
10810
10811 * fontset.c (fontset_ref, fontset_set, fs_load_font)
10812 (Ffontset_info): Convert Lisp types.
10813
10814 * syntax.h (SYNTAX_ENTRY_INT): Don't use make_number.
10815
10816 * xterm.c (note_mouse_movement): Fix call of window_from_coordinates.
10817
10818 * xdisp.c (display_mode_element): Fix call of Fset_text_properties.
10819
10820 * chartab.c: Include "...h", not <...h> in some cases.
10821
10822 * callproc.c (Fcall_process): Remove unused variables.
10823
10824 2008-02-01 Dave Love <fx@gnu.org>
10825
10826 * coding.c (Fset_coding_system_priority): Allow null arg list.
10827
10828 2008-02-01 Dave Love <fx@gnu.org>
10829
10830 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
10831 (Fself_insert_and_exit): Use CHARACTERP.
10832
10833 * callproc.c (Fcall_process): Remove unused vars.
10834
10835 * xterm.c (XTread_socket): Add extra dead keysyms.
10836
10837 * xdisp.c (decode_mode_spec_coding): Use CHARACTERP.
10838
10839 * dispextern.h: Remove prototypes for redraw_frame,
10840 redraw_garbaged_frames.
10841
10842 * cmds.c (Fself_insert_command): Use CHARACTERP.
10843
10844 * chartab.c (make_sub_char_table): Remove unused var.
10845 (Fset_char_table_default, Fmap_char_table): Doc fix.
10846
10847 * keymap.c (access_keymap): Remove generic char code.
10848 (push_key_description): Use CHARACTERP.
10849
10850 2008-02-01 Dave Love <fx@gnu.org>
10851
10852 * charset.c: Doc fixes.
10853 (Funify_charset): Extra checking.
10854
10855 2008-02-01 Dave Love <fx@gnu.org>
10856
10857 * lread.c: Remove some unused variables.
10858 (safe_to_load_p): If safe, return the magic number version byte.
10859 (Fload): Maybe use load-with-code-conversion.
10860
10861 2008-02-01 Kenichi Handa <handa@m17n.org>
10862
10863 * category.c (Fmodify_category_entry): Don't modify the contents
10864 of category_set for characters out of the range. Avoid
10865 unnecessary modification.
10866
10867 * character.h (MAYBE_UNIFY_CHAR): Adjust for the change of
10868 Vchar_unify_table. The default value of the table is now nil.
10869
10870 * character.c (syms_of_character): Setup Vchar_width_table for
10871 eight-bit-control and raw-byte chars.
10872
10873 * charset.h (enum define_charset_arg_index): Delete
10874 charset_arg_parents and add charset_arg_subset and
10875 charset_arg_superset.
10876 (enum charset_attr_index): Delete charset_parents and add
10877 charset_subset and charset_superset.
10878 (enum charset_method): Delete CHARSET_METHOD_INHERIT and add
10879 CHARSET_METHOD_SUBSET and CHARSET_METHOD_SUPERSET.
10880 (CHARSET_ATTR_PARENTS, CHARSET_PARENTS): Delete.
10881 (CHARSET_ATTR_SUBSET, CHARSET_ATTR_SUPERSET, CHARSET_SUBSET)
10882 (CHARSET_SUPERSET): New macros.
10883 (charset_work): Extern it.
10884 (ENCODE_CHAR): Use charset_work.
10885 (CHAR_CHARSET_P): Adjust for the change of encoder format.
10886 (map_charset_chars): Extern it.
10887
10888 * charset.c (load_charset_map): Set the default value of encoder
10889 and deunifier char-tables to nil.
10890 (map_charset_chars): Change argument. Change callers. Use
10891 map_char_table_for_charset instead of map_char_table.
10892 (Fmap_charset_chars): New optional args from_code and to_code.
10893 (Fdefine_charset_internal): Adjust for the change of
10894 `define-charset' (:parents -> :subset or :superset).
10895 (charset_work): New variable.
10896 (encode_char, syms_of_charset): Adjust for the change of
10897 Fdefine_charset_internal.
10898 (Ffind_charset_string): Setup the vector `charsets' correctly.
10899
10900 * chartab.c (sub_char_table_ref_and_range): New arg default. Fix
10901 the previous change.
10902 (char_table_ref_and_range): Adjust for the above change.
10903 (map_sub_char_table_for_charset): New function.
10904 (map_char_table_for_charset): New function.
10905
10906 * keymap.c (describe_vector): Handle a char-table directly here.
10907 (describe_char_table): Delete.
10908
10909 * lisp.h (map_charset_chars): Delete.
10910
10911 2008-02-01 Dave Love <fx@gnu.org>
10912
10913 * fns.c (count_combining): Comment out (unused).
10914 (Flocale_codeset): New.
10915 (syms_of_fns): Defsubr it.
10916
10917 * config.in (HAVE_PTY_H, HAVE_SIZE_T, HAVE_LANGINFO_CODESET): New.
10918 (size_t): Remove.
10919
10920 2008-02-01 Dave Love <fx@gnu.org>
10921
10922 * Makefile.in (chartab.o): Depend on charset.h.
10923
10924 2008-02-01 Kenichi Handa <handa@m17n.org>
10925
10926 * character.c (syms_of_character): Set the default value of
10927 Vprintable_chars to Qnil.
10928
10929 2008-02-01 Dave Love <fx@gnu.org>
10930
10931 * Makefile.in (lisp, shortlisp): Change indian.elc to indian.el.
10932
10933 2008-02-01 Kenichi Handa <handa@m17n.org>
10934
10935 * charset.c (load_charset_map): Handle the case that from < to
10936 correctly.
10937
10938 * coding.c (encode_coding_emacs_mule, encode_coding_iso_2022)
10939 (encode_coding_sjis, encode_coding_big5, encode_coding_charset):
10940 Pay attention to raw-8-bit chars.
10941
10942 2008-02-01 Kenichi Handa <handa@m17n.org>
10943
10944 * Makefile.in (lisp, shortlisp): Change chinese.elc to chinese.el.
10945 It is not bytecompiled now.
10946
10947 * charset.c (charset_jisx0201_roman, charset_jisx0208_1978)
10948 (charset_jisx0208): New variables.
10949 (Fdefine_charset_internal): Setup them if appropriate.
10950 (init_charset_once): Initialize them to -1.
10951
10952 * charset.h (charset_jisx0201_roman, charset_jisx0208_1978)
10953 (charset_jisx0208): Extern them.
10954
10955 * coding.c (CODING_ISO_FLAG_USE_ROMAN): New macro.
10956 (CODING_ISO_FLAG_USE_OLDJIS): New macro.
10957 (CODING_ISO_FLAG_FULL_SUPPORT): Change macro definition.
10958 (setup_iso_safe_charsets): Fix arguments to Fassq.
10959 (DECODE_DESIGNATION, ENCODE_ISO_CHARACTER_DIMENSION1)
10960 (ENCODE_ISO_CHARACTER_DIMENSION2): Pay attention to
10961 CODING_ISO_FLAG_USE_ROMAN and CODING_ISO_FLAG_USE_OLDJIS.
10962 (encode_coding_iso_2022): Change the 1st arg to
10963 ENCODE_ISO_CHARACTER to a variable.
10964
10965 2008-02-01 Kenichi Handa <handa@m17n.org>
10966
10967 * charset.h (enum define_charset_arg_index): New enums
10968 charset_arg_min_code and charset_arg_max_code.
10969 (struct charset): New member char_index_offset.
10970
10971 * charset.c (CODE_POINT_TO_INDEX, INDEX_TO_CODE_POINT):
10972 Take charset->char_index_offset into account.
10973 (Fdefine_charset_internal): Handle args[charset_arg_min_code] and
10974 args[charset_arg_max_code]. Setup charset.char_index_offset.
10975 (syms_of_charset): Fix args to Fdefine_charset_internal.
10976
10977 2008-02-01 Dave Love <fx@gnu.org>
10978
10979 * coding.c (decode_coding_utf_8): Reject overlong sequences.
10980
10981 2008-02-01 Dave Love <fx@gnu.org>
10982
10983 * coding.c: Doc fixes.
10984 (Fcoding_system_aliases): Fix return value.
10985 (Qmac): Remove (duplicated) definition.
10986
10987 2008-02-01 Dave Love <fx@gnu.org>
10988
10989 * charset.c (Fcharset_priority_list, Fset_charset_priority): New
10990 functions.
10991
10992 * character.c (Fstring): Doc fix.
10993
10994 * charset.c (Fdefine_charset_alias): Update Vcharset_list.
10995
10996 * fontset.c (Ffontset_info): Doc fix. Return charset names, not
10997 ids.
10998 (font-encoding-alist): Doc fix.
10999
11000 2008-02-01 Dave Love <fx@gnu.org>
11001
11002 * term.c (costs_set): Declare static, non-initialized for pcc.
11003 (encode_terminal_code): Remove unused var.
11004
11005 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
11006 for K&R.
11007
11008 * xterm.c (xlwmenu_window_p): Fix prototype for K&R.
11009
11010 * coding.c (setup_iso_safe_charsets): Fix arg decl for K&R.
11011 (suffixes): Move out of make_subsidiaries for K&R.
11012
11013 * charset.c (map_charset_chars): Fix c_function declaration for K&R.
11014
11015 * lisp.h (DEFUN) [!PROTOTYPES]: Remove spurious `args'.
11016
11017 2008-02-01 Dave Love <fx@gnu.org>
11018
11019 * data.c (Fchar_or_string_p): Doc fix. Use CHARACTERP.
11020
11021 * category.c (Fmodify_category_entry): Doc fix. Remove unused vars.
11022
11023 2008-02-01 Yong Lu <lyongu@asia-infonet.com>
11024
11025 * charset.c (Fdefine_charset_internal): Fix argument to bzero.
11026
11027 * coding.c (decode_coding_charset): Workaround for the bug of GCC 2.96.
11028
11029 2008-02-01 Kenichi Handa <handa@m17n.org>
11030
11031 * Makefile.in (lisp, shortlisp): Change cyrillic.elc to cyrillic.el,
11032 vietnamese.elc to vietnamese.el. They are not bytecompiled now.
11033
11034 2008-02-01 Kenichi Handa <handa@m17n.org>
11035
11036 * coding.c (decode_coding_charset): Adjust for the change of
11037 Fdefine_coding_system_internal.
11038 (Fdefine_coding_system_internal): For a coding system of
11039 `charset' type, store a list of charset IDs in
11040 `charset_attr_charset_valids' element of coding attributes.
11041
11042 2008-02-01 Kenichi Handa <handa@m17n.org>
11043
11044 * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars.
11045 (emacs_mule_char): New arg src. Delete arg `composition'. Change
11046 caller. Handle 2-byte and 3-byte charsets correctly.
11047 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Rename from
11048 DECODE_EMACS_MULE_COMPOSITION_RULE. Change caller.
11049 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New macro.
11050 (DECODE_EMACS_MULE_21_COMPOSITION): Call
11051 DECODE_EMACS_MULE_COMPOSITION_RULE_21. Produce correct annotation
11052 sequence.
11053 (decode_coding_emacs_mule): Handle composition correctly. Rewind
11054 `src' and `consumed_chars' correctly before calling emacs_mule_char.
11055 (DECODE_COMPOSITION_START): Correctly handle the case of altchar
11056 and alt&rule composition.
11057 (decode_coding_iso_2022): Handle composition correctly.
11058 (init_coding_once): Setup emacs_mule_bytes for private charsets.
11059
11060 * charset.c (Fdefine_charset_internal): Fix bug for the case of
11061 re-defining a charset. If the charset has :emacs-mule-id, setup
11062 emacs_mule_bytes.
11063 (Fmake_char): If CODE1 is nil, use the minimum code of the charset.
11064
11065 2008-02-01 Kenichi Handa <handa@m17n.org>
11066
11067 * coding.c (encode_coding_iso_2022, encode_coding_sjis)
11068 (encode_coding_big5, encode_coding_charset): If coding requires safe
11069 encoding, produce a character specified by
11070 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
11071
11072 2008-02-01 Dave Love <fx@gnu.org>
11073
11074 * xterm.c (XSetIMValues): Declare.
11075
11076 * process.c: Conditionally include sys/wait.h, pty.h.
11077
11078 * print.c (print_object): Fix print format for 64-bit systems.
11079
11080 * keyboard.c (modify_event_symbol): Fix print format for 64-bit systems.
11081
11082 * buffer.c (emacs_strerror): Declare.
11083
11084 * fontset.c (Fclear_face_cache): Declare.
11085 (accumulate_font_info): Comment-out (unused).
11086 (face_for_char, Fset_fontset_font, Ffontset_info): Remove unused
11087 variables.
11088
11089 * character.h (string_escape_byte8): Declare.
11090
11091 * charset.c (load_charset_map, load_charset_map_from_file): Remove
11092 unused vars.
11093 (Fdefine_charset_internal, Fsplit_char, syms_of_charset)
11094 (Fmap_charset_chars): Doc fix.
11095
11096 * coding.c (Vchar_coding_system_table, Qchar_coding_system): Remove.
11097 (Fset_coding_system_priority, Fset_coding_system_priority)
11098 (Fdefine_coding_system_internal): Doc fix.
11099
11100 2008-02-01 Dave Love <fx@gnu.org>
11101
11102 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Remove -nointrinsics.
11103
11104 2008-02-01 Kenichi Handa <handa@m17n.org>
11105
11106 * character.c (string_escape_byte8): Make multibyte string with
11107 correct size.
11108
11109 * charset.c (Fmake_char): Delete unnecessary code.
11110
11111 2008-02-01 Kenichi Handa <handa@m17n.org>
11112
11113 * xfns.c (x_encode_text): Allocate coding.destination here, and
11114 call encode_coding_object with dst_object Qnil.
11115
11116 * buffer.c (Fset_buffer_multibyte): Convert 8-bit bytes to
11117 multibyte form correctly.
11118
11119 * fontset.c (fs_load_font): Check fontp->full_name (not fontname)
11120 against Vfont_encoding_alist.
11121
11122 * coding.c (Fdecode_sjis_char): Fix typo (0x7F->0xFF). Fix the
11123 handling of charset list.
11124 (encode_coding_iso_2022): Setup coding->safe_charsets in advance.
11125 (decode_coding_object): Move point to coding->dst_pos before
11126 calling post-read-conversion function.
11127 (encode_coding_object): Give correct arguments to
11128 pre-write-conversion. Ignore the return value of
11129 pre-write-conversion function. Pay attention to the case that
11130 pre-write-conversion changes the current buffer. If dst_object is
11131 Qt, even if coding->src_bytes is zero, allocate at least one byte
11132 to coding->destination.
11133
11134 * coding.h (JIS_TO_SJIS): Fix typo (j1->s1, j2->s2).
11135
11136 * charset.c (Fmake_char): Make it more backward compatible.
11137 (Fmap_charset_chars): Fix docstring.
11138
11139 2008-02-01 Dave Love <fx@gnu.org>
11140
11141 * coding.c: Doc fixes.
11142 (Fdefine_coding_system_alias): Use names, not symbols, in
11143 coding-system-alist.
11144
11145 2008-02-01 Kenichi Handa <handa@m17n.org>
11146
11147 * fontset.c (free_realized_fontsets): Call Fclear_face_cache instead
11148 of calling free_realized_face.
11149
11150 2008-02-01 Yong Lu <lyongu@asia-infonet.com>
11151
11152 * charset.c (read_hex): Don't treat SPC as a comment starter.
11153 (decode_char): If CODE_POINT_TO_INDEX retruns -1, always return -1.
11154 (Fdecode_char): Fix typo.
11155
11156 2008-02-01 Kenichi Handa <handa@m17n.org>
11157
11158 * charset.h (struct charset): New member `code_space_mask'.
11159
11160 * coding.c (coding_set_source): Delete the local variable beg_byte.
11161 (encode_coding_charset, Fdefine_coding_system_internal):
11162 Delete the local variable charset.
11163 (Fdefine_coding_system_internal): Setup
11164 attrs[coding_attr_charset_valids] correctly.
11165
11166 * charset.c (CODE_POINT_TO_INDEX): Utilize `code_space_mask'
11167 member to check if CODE is valid or not.
11168 (Fdefine_charset_internal): Initialize `code_space_mask' member.
11169 (encode_char): Before calling CODE_POINT_TO_INDEX, check if CODE
11170 is within the range of charset->min_code and carset->max_code.
11171
11172 2008-02-01 Dave Love <fx@gnu.org>
11173
11174 * syntax.h (syntax_temp) [!__GNUC__]: Declare.
11175
11176 * dispextern.h (generate_ascii_font): Fix return type.
11177
11178 * xfaces.c (generate_ascii_font): Fix arg declaration.
11179
11180 * coding.c (coding_inherit_eol_type)
11181 (Fset_terminal_coding_system_internal)
11182 (Fset_safe_terminal_coding_system_internal): Fix arg declarations.
11183
11184 2008-02-01 Kenichi Handa <handa@m17n.org>
11185
11186 * coding.c (decode_coding_charset, encode_coding_charset): Handle
11187 multiple charsets correctly.
11188
11189 2008-02-01 Kenichi Handa <handa@m17n.org>
11190
11191 * search.c (boyer_moore): Fix handling of mulitbyte character
11192 translation.
11193
11194 * xdisp.c (display_mode_element): When the variable `elt' is
11195 changed, update `this' and `lisp_string'.
11196
11197 2008-02-01 Kenichi Handa <handa@m17n.org>
11198
11199 * buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling.
11200
11201 * callproc.c (Fcall_process): Be sure to give the current buffer
11202 to decode_coding_c_string. Update PT and PT_BYTE after the insertion.
11203
11204 * charset.c (struct charset_map_entries): New struct.
11205 (load_charset_map): Rename from parse_charset_map. New args
11206 entries and n_entries. Change caller.
11207 (load_charset_map_from_file): Rename from load_charset_map.
11208 Change caller. New arg control_flag. Call load_charset_map at
11209 the tail.
11210 (load_charset_map_from_vector): New function.
11211 (Fdefine_charset_internal): Setup charset.compact_codes_p.
11212 (encode_char): If the charset is compact, change a character index
11213 to a code point.
11214
11215 * coding.c (coding_alloc_by_making_gap): Check the case that the
11216 source and destination are the same correctly.
11217 (decode_coding_raw_text): Set coding->consumed_char and
11218 coding->consumed to 0.
11219 (produce_chars): If coding->chars_at_source is nonzero, update
11220 coding->consumed_char and coding->consumed before calling
11221 alloc_destination.
11222 (Fdefine_coding_system_alias): Register ALIAS in
11223 Vcoding_system_alist.
11224 (syms_of_coding): Define `no-convesion' coding system at the tail.
11225
11226 * fileio.c (Finsert_file_contents): Set coding_system instead of
11227 val. If the current buffer is multibyte, always call
11228 decode_coding_gap.
11229
11230 * xfaces.c (try_font_list): Give higher priority to fontset's
11231 family than face's family.
11232
11233 2008-02-01 Kenichi Handa <handa@m17n.org>
11234
11235 * callproc.c (Fcall_process): Be sure to give the current buffer
11236 to decode_coding_c_string.
11237
11238 * xfaces.c (try_font_list): Give a family specified in a fontset
11239 higher priority than a family specified in a face.
11240
11241 2008-02-01 Kenichi Handa <handa@m17n.org>
11242
11243 * fileio.c (Finsert_file_contents): Fix calculation of `inserted'.
11244 Fix arguments to insert_from_buffer.
11245
11246 * xdisp.c (display_mode_element): Fix calculation of `bytepos'.
11247
11248 2008-02-01 Kenichi Handa <handa@m17n.org>
11249
11250 * coding.c (produce_chars): Set the variable `multibytep' correctly.
11251 (decode_coding_gap): Set coding->dst_multibyte correctly.
11252
11253 2008-02-01 Kenichi Handa <handa@m17n.org>
11254
11255 * coding.c (encode_coding_utf_8): Initialize produced_chars to 0.
11256 (decode_coding_utf_16): Fix converting high and low bytes to code-point.
11257 (encode_coding_utf_16): Substitute coding->default_char for
11258 non-Unicode characters.
11259 (decode_coding): Don't call record_insert here.
11260 (setup_coding_system): Initialize `surrogate' of
11261 coding->spec.utf_16 to 0.
11262 (EMIT_ONE_BYTE): Fix for multibyte case.
11263
11264 * insdel.c (insert_from_gap): Call record_insert.
11265
11266 2008-02-01 Kenichi Handa <handa@m17n.org>
11267
11268 * casefiddle.c (casify_region): Fix multibyte case.
11269
11270 * character.c (c_string_width): Add return type `int'.
11271 (char_string_with_unification): Delete arg ADVANCED.
11272
11273 * character.h (CHAR_VALID_P): Don't call CHARACTERP.
11274 (CHAR_STRING): Adjust for the change of char_string_with_unification.
11275 (CHAR_STRING_ADVANCE): Make it do-while statement.
11276
11277 * chartab.c (sub_char_table_set_range): Optimize for the case
11278 DEPTH == 3. Add workaround code for a GCC optimization bug.
11279
11280 * charset.c (parse_charset_map): Remove an unused variable.
11281
11282 * coding.c: Delete unused variables.
11283
11284 * fileio.c (Finsert_file_contents): Set coding_system to Qnil
11285 earlier. If inserted is zero and the coding system doesn't
11286 require flushing, don't call decode_coding_gap.
11287
11288 * syntax.h (SET_RAW_SYNTAX_ENTRY): Don't call make_number.
11289
11290 2008-02-01 Kenichi Handa <handa@m17n.org>
11291
11292 The following changes are for using Unicode as an internal
11293 character model, and use UTF-8 format for buffer/string
11294 representation.
11295
11296 * .gdbinit (xchartable): Adjust for the change of char table structure.
11297 (xsubchartable, xcoding, xcharset, xcurbuf): New commands.
11298
11299 * Makefile.in (obj): Add character.o and chartab.o.
11300 (lisp, shortlisp): Remove utf-8.elc.
11301 (*.o): For many files, change dependency on charset.h to
11302 character.h, and add dependency on character.h.
11303 (character.o, chartab.o): New targets.
11304
11305 * abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c:
11306 * doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c:
11307 * w16select.c, w32bdf.c, w32console.c: Include "character.h" instead
11308 of "charset.h".
11309
11310 * dired.c, filelock.c: Include "character.h".
11311
11312 * alloc.c: Include "character.h" instead of "charset.h".
11313 (Fmake_char_table, make_sub_char_table): Move to chartab.c.
11314 (syms_of_alloc): Remove defsubr for Smake_char_table.
11315
11316 * buffer.c: Include "character.h" instead of "charset.h", don't
11317 include "coding.h".
11318 (Fset_buffer_multibyte): Adjust for UTF-8.
11319
11320 * buffer.h: EXFUN Fbuffer_live_p.
11321
11322 * callproc.c: Include "character.h" instead of "charset.h".
11323 (Fcall_process): Big change for the new code-conversion APIs.
11324
11325 * casetab.c: Include "character.h" instead of "charset.h".
11326 (set_canon, set_identity, shuffle): Adjust for the new
11327 map_char_table spec.
11328 (init_casetab_once): Call CHAR_TABLE_SET instead of directly
11329 accessing the char table structure.
11330
11331 * chartab.c: New file that implements char table.
11332
11333 * category.c: Include "character.h".
11334 (copy_category_entry): New function.
11335 (copy_category_table): Call map_char_table and copy_category_entry.
11336 (Fmake_category_table): Initialize all top-vel slots.
11337 (char_category_set): New function.
11338 (modify_lower_category_set): Delete.
11339 (Fmodify_category_entry): Call char_table_ref_and_range.
11340
11341 * category.h (CATEGORY_SET): Just call char_category_set.
11342
11343 * ccl.c: Include "character.h".
11344 (Qccl, Qcclp): New variables.
11345 (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if
11346 it's less than 256.
11347 (CCL_WRITE_MULTIBYTE_CHAR): Delete.
11348 (CCL_WRITE_STRING, CCL_READ_CHAR): Adjust for the change of SRC
11349 and DST type.
11350 (ccl_driver): Change types of argument, adjust code accordingly.
11351 (Fccl_execute, Fccl_execute_on_string): Adjust for the change of
11352 ccl_driver.
11353 (syms_of_ccl): Intern and staticpro Qccl and Qcclp.
11354
11355 * ccl.h (struct ccl_program): Delete members eol_type and multibyte.
11356 New members src_multibyte, dst_multibyte, consumed, and produced.
11357 (struct ccl_spec): Delete members decoder and encoder. New member ccl.
11358 (CODING_SPEC_CCL_PROGRAM): New macro.
11359 (ccl_driver): Update prototype.
11360 (Qccl, Qcclp, Fccl_program_p): Extern them.
11361 (CHECK_CCL_PROGRAM): New macro.
11362
11363 * character.c, character.h, chartab.c: New files.
11364
11365 * charset.c: Mostly re-written. Move character and multibyte sequence
11366 handling codes to character.c.
11367
11368 * charset.h: Mostly re-written. Move character and multibyte sequence
11369 handling codes to character.h.
11370
11371 * coding.c, coding.h: Mostly re-written.
11372
11373 * composite.c: Include "character.h" instead of "charset.h".
11374 (CHAR_WIDTH): Move to character.h.
11375 (HASH_KEY, HASH_VALUE): Delete.
11376
11377 * composite.h (enum composition_method): Change order of enumeration
11378 symbols.
11379
11380 * data.c: Include "character.h" instead of "charset.h".
11381 (Faref): Call CHAR_TABLE_REF for a char table.
11382 (Faset): Call CHAR_TABLE_SET for a char table.
11383
11384 * dispextern.h (free_realized_face, check_face_attribytes)
11385 (generate_ascii_font): Extern them.
11386 (free_realized_multibyte_face): Delete extern.
11387
11388 * disptab.h (DISP_CHAR_VECTOR): Adjust for the change of char
11389 table structure.
11390
11391 * editfns.c: Include "character.h" instead of "charset.h".
11392 (Fchar_to_string): Always call CHAR_STRING.
11393
11394 * emacs.c (main): Call init_charset_once, init_charset,
11395 syms_of_chartab, and syms_of_character.
11396
11397 * fileio.c: Include "character.h" instead of "charset.h".
11398 (Finsert_file_contents): Big change for the new code-conversion API.
11399 (choose_write_coding_system, Fwrite_region): Likewise.
11400 (build_annotations_2): Delete.
11401 (e_write): Big change for the new code-conversion API.
11402
11403 * fns.c: Include "character.h" instead of "charset.h".
11404 (copy_sub_char_table): Move to chartab.c.
11405 (Fcopy_sequence): Call copy_char_table for a char table.
11406 (concat): Delete codes calling count_multibyte.
11407 (string_char_to_byte, string_byte_to_char): Adjust for the new
11408 multibyte form.
11409 (internal_equal): Adjust for the change of char table structure.
11410 (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent)
11411 (Fchar_table_extra_slot, Fset_char_table_extra_slot)
11412 (Fchar_table_range, Fset_char_table_range, Fset_char_table_default)
11413 (char_table_translate, optimize_sub_char_table)
11414 (Foptimize_char_table, map_char_table, Fmap_char_table): Move to
11415 chartab.c.
11416 (char_table_ref_and_index): Delete.
11417 (HASH_KEY, HASH_VALUE): Move to lisp.h.
11418 (Fmd5): Call preferred_coding_system instead of accessing
11419 Vcoding_category_list. Adjust for the new code-conversion API.
11420 (syms_of_fns): Move defsubr for char table related functions to
11421 chartab.c.
11422
11423 * fontset.c: Mostly re-written.
11424
11425 * fontset.h (struct font_info): Change type of the member encoding_type.
11426 (enum FONT_SPEC_INDEX): New enum.
11427 (fontset_font_pattern, fs_load_font): Update prototype.
11428 (FS_LOAD_FONT): Adjust for the change of fs_load_font.
11429
11430 * indent.c: Include "character.h" instead of "charset.h".
11431 (MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of WIDTH_BY_CHAR_HEAD.
11432
11433 * insdel.c: Include "character.h" instead of "charset.h".
11434 (copy_text): Don't refer to Vnonascii_translation_table.
11435 (insert_from_gap): New function.
11436
11437 * keyboard.c: Include "character.h" instead of "charset.h".
11438 (command_loop_1): Never call direct_output_forward_char before
11439 a non-ASCII character.
11440 (read_char): If Vkeyboard_translate_table is a char table, always
11441 translate a character.
11442
11443 * keymap.c: Include "character.h".
11444 (store_in_keymap): Handle the case that IDX is a cons.
11445 (Fdefine_key): Handle the case that KEY is a cons and the car part
11446 is also a cons (range).
11447 (push_key_description): Adjust for the new character code.
11448 (describe_vector): Call describe_char_table for a char table.
11449 (describe_char_table): New function.
11450
11451 * keymap.h (describe_char_table): Extern it.
11452
11453 * lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE.
11454 (XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros.
11455 (CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS)
11456 (SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):
11457 Delete.
11458 (CHAR_TABLE_REF, CHAR_TABLE_SET): Adjust for the new char table
11459 structure.
11460 (CHAR_TABLE_TRANSLATE): Just call char_table_translate.
11461 (CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2)
11462 (CHARTAB_SIZE_BITS_3): New macros.
11463 (chartab_size): Extern it.
11464 (struct Lisp_Char_Table): Re-design.
11465 (struct Lisp_Sub_Char_Table): New structure.
11466 (HASH_KEY, HASH_VALUE): Move from fns.c.
11467 (CHARACTERBITS): Define as 22.
11468 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjust for the above change.
11469 (SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE.
11470 (GC_SUB_CHAR_TABLE_P): New macro.
11471 (Fencode_coding_string, Fdecode_coding_string): Update EXFUN.
11472 (code_convert_string_norecord): Deleted extern.
11473 (init_character_once, syms_of_character, init_charset)
11474 (syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them.
11475
11476 * lread.c: Include "character.h".
11477 (read_multibyte): New arg NBYTES.
11478 (read_escape): Change the meaning of returned *BYTEREP.
11479 (to_multibyte): Delete.
11480 (read1): Adjust the handling of char table and string.
11481
11482 * print.c: Include "character.h" instead of "charset.h".
11483 (print_string): Convert 8-bit raw bytes to octal form by
11484 string_escape_byte8.
11485 (print_object): Adjust for the new multibyte form. Print 8-bit
11486 raw bytes always in octal form. Handle sub char table correctly.
11487
11488 * process.c: Include "character.h" instead of "charset.h".
11489 (read_process_output, send_process): Adjust for the new
11490 code-conversion API.
11491
11492 * puresize.h (BASE_PURESIZE): Increase.
11493
11494 * regex.c: Include "character.h" instead of "charset.h".
11495 (BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros.
11496 (regex_compile): Accept a range whose starting and ending
11497 character have different leading bytes.
11498 (analyse_first): Adjust for the above change.
11499
11500 * search.c: Include "character.h" instead of "charset.h".
11501 (search_buffer, boyer_moore): Adjust for the new multibyte form.
11502 (Freplace_match): Adjust for the change of multibyte_char_to_unibyte.
11503
11504 * syntax.c: Include "character.h" instead of "charset.h".
11505 (syntax_parent_lookup): Delete.
11506 (Fmodify_syntax_entry): Accept a cons as CHAR.
11507 (skip_chars): Adjust for the new multibyte form.
11508 (init_syntax_once): Call char_table_set_range instead of directly
11509 accessing the structure of a char table.
11510
11511 * syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET.
11512 (SYNTAX_ENTRY_FOLLOW_PARENT): Delete macro.
11513 (SET_RAW_SYNTAX_ENTRY_RANGE): New macro.
11514 (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF.
11515
11516 * term.c: Include "buffer.h" and "character.h".
11517 (encode_terminal_code, write_glyphs): Adjust for the new
11518 code-conversion API.
11519 (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH.
11520
11521 * w32term.c (x_new_font): Adjust for the change of FS_LOAD_FONT.
11522
11523 * xdisp.c: Include "character.h".
11524 (get_next_display_element): Adjust for the new multibyte form.
11525 (disp_char_vector): Adjust for the new char table structure.
11526 (decode_mode_spec_coding): Adjust for the new structure of
11527 coding system.
11528 (decode_mode_spec): Adjust for the new code-conversion API.
11529
11530 * xfaces.c: Include "character.h" instead of "charset.h".
11531 (load_face_font): Adjust for the change of choose_face_font and
11532 FS_LOAD_FONT.
11533 (generate_ascii_font): New function.
11534 (set_lface_from_font_name): Adjust for the change of FS_LOAD_FONT.
11535 (set_font_frame_param): Adjust for the change of choose_face_font.
11536 (free_realized_face): Make it public.
11537 (free_realized_faces_for_fontset): Rename from
11538 free_realized_multibyte_face. Free also faces realized for ASCII.
11539 (choose_face_font): Change arguments. Adjust for the change of
11540 fontset_font_pattern and FS_LOAD_FONT.
11541
11542 * xfns.c: Include "character.h".
11543 (x_encode_text): Adjust for the new code-conversion API.
11544
11545 * xselect.c: Don't include "charset.h".
11546 (selection_data_to_lisp_data): Adjust for the new code conversion API.
11547
11548 * xterm.c: Include "character.h".
11549 (x_encode_char): New argument CHARSET. Change caller.
11550 (x_get_char_face_and_encoding, x_get_glyph_face_and_encoding):
11551 Call ENCODE_CHAR instead of SPLIT_CHAR.
11552 (x_produce_glyphs): Don't check Vnonascii_translation_table Call
11553 CHAR_WIDTH instead of CHARSET_WIDTH.
11554 (XTread_socket): Adjust for the new code-conversion API.
11555 (x_new_font): Adjust for the change of FS_LOAD_FONT.
11556 (x_load_font): Adjust for the change of struct font.
11557
11558 2008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
11559
11560 * xfaces.c (face_at_buffer_position): Remove unused vars.
11561
11562 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
11563
11564 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR):
11565 Fix overflow checking.
11566
11567 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
11568
11569 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR, ccl_driver):
11570 Cancel previous change.
11571
11572 2008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
11573
11574 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when
11575 ccl->eight_bit_control. Fix check for buffer overflow.
11576 (CCL_WRITE_MULTIBYTE_CHAR): Fix check for buffer overflow.
11577 (ccl_driver): Initialize extra_bytes to 0.
11578
11579 2008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
11580
11581 * keyboard.c (make_ctrl_char): If C is a multibyte character, just
11582 return it ORed with ctrl_modifier.
11583
11584 2008-01-29 Miles Bader <miles@gnu.org>
11585
11586 * macterm.c (XTset_vertical_scroll_bar): Fix merge mistake.
11587
11588 2008-01-28 Jason Rumney <jasonr@gnu.org>
11589
11590 * w32.c (stat): Don't double check for networked drive.
11591
11592 2008-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
11593
11594 * window.c (run_window_configuration_change_hook): New function.
11595 Code extracted from set_window_buffer. Set the selected frame.
11596 (set_window_buffer): Use it.
11597 * window.h (run_window_configuration_change_hook): Declare.
11598 * dispnew.c (change_frame_size_1): Use it instead of set-window-buffer.
11599
11600 * keyboard.c (read_char): Yet another int/Lisp_Object mixup (YAILOM).
11601
11602 2008-01-27 Dan Nicolaescu <dann@ics.uci.edu>
11603
11604 * Makefile.in: Remove references to unused macros.
11605
11606 2008-01-26 Eli Zaretskii <eliz@gnu.org>
11607
11608 * w32.c (g_b_init_get_sid_sub_authority)
11609 (g_b_init_get_sid_sub_authority_count): New static variables.
11610 (GetSidSubAuthority_Proc, GetSidSubAuthorityCount_Proc): New typedefs.
11611 (get_sid_sub_authority, get_sid_sub_authority_count): New functions.
11612 (init_user_info): Use them to retrieve uid and gid.
11613 Use 500/513, the Windows defaults, as Administrator's uid/gid.
11614 (fstat): Use pw_uid and pw_gid from the_passwd structure for
11615 st_uid and st_gid of the file.
11616
11617 2008-01-26 Jason Rumney <jasonr@gnu.org>
11618
11619 * w32.c (logon_network_drive): New function.
11620 (stat): Use it.
11621
11622 2008-01-26 Chong Yidong <cyd@stupidchicken.com>
11623
11624 * xdisp.c (pos_visible_p): Handle the case where charpos falls on
11625 invisible text covered with an ellipsis.
11626
11627 2008-01-25 Richard Stallman <rms@gnu.org>
11628
11629 * xdisp.c (redisplay_window): Run Qwindow_text_change_functions and
11630 jump back to beginning. Move some other initializations after that.
11631 (Qwindow_text_change_functions, Vwindow_text_change_functions):
11632 New variables.
11633 (syms_of_xdisp): Init them.
11634
11635 * keyboard.c (read_char): Restore echo_message_buffer after redisplay.
11636
11637 * buffer.c (reset_buffer_local_variables):
11638 Implement `permanent-local-hook'.
11639 (Qpermanent_local_hook): New variable.
11640 (syms_of_buffer): Init and staticpro it.
11641
11642 2008-01-25 Michael Albinus <michael.albinus@gmx.de>
11643
11644 * dbusbind.c (xd_retrieve_arg): Pacify GCC on x86_64 GNU/Linux.
11645
11646 2008-01-25 Thien-Thi Nguyen <ttn@gnuvola.org>
11647
11648 * fns.c (Fclrhash): Return TABLE.
11649
11650 2008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11651
11652 * macterm.c (x_scroll_bar_create): Initialize bar->redraw_needed_p.
11653 (XTset_vertical_scroll_bar): Redraw scroll bar if bar->redraw_needed_p
11654 is set even without positional changes.
11655 (x_scroll_bar_clear): Set bar->redraw_needed_p.
11656
11657 * macterm.h (struct scroll_bar): New member `redraw_needed_p'.
11658
11659 2008-01-23 Jason Rumney <jasonr@gnu.org>
11660
11661 * xterm.c (handle_one_xevent): Revert to counting chars not bytes.
11662
11663 * w32term.c (w32_read_socket) <WM_CHAR>: Decode characters outside
11664 the unicode range available in MULE by locale-coding-system.
11665 Improve dbcs lead byte detection. Set event timestamp and modifiers
11666 earlier.
11667
11668 2008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11669
11670 * mac.c (mac_emacs_pid) [MAC_OSX]: New variable.
11671 [MAC_OSX] (init_mac_osx_environment): Initialize it.
11672 [MAC_OSX] (mac_try_close_socket) [SELECT_USE_CFSOCKET]: Return 0
11673 when used on child processes.
11674
11675 2008-01-21 Michael Albinus <michael.albinus@gmx.de>
11676
11677 * dbusbind.c (Fdbus_method_return_internal): Rename from
11678 Fdbus_method_return.
11679 (Fdbus_unregister_object): Move to dbus.el.
11680 (Fdbus_call_method, Fdbus_method_return_internal)
11681 (Fdbus_send_signal): Improve debug messages.
11682
11683 2008-01-20 Martin Rudalics <rudalics@gmx.at>
11684
11685 * undo.c (undo_inhibit_record_point): New variable.
11686 (syms_of_undo): Initialize it.
11687 (record_point): Don't record point when undo_inhibit_record_point
11688 is set.
11689
11690 2008-01-19 Stefan Monnier <monnier@iro.umontreal.ca>
11691
11692 * process.c (list_processes_1): Don't use SCHARS on a nil buffer name.
11693
11694 * xdisp.c (Qauto_hscroll_mode): New var.
11695 (syms_of_xdisp): Initialize it.
11696 (hscroll_window_tree): Use it to lookup `auto-hscroll-mode' in each
11697 window's buffer.
11698 (hscroll_windows): Don't check automatic_hscrolling_p here.
11699
11700 * window.c (set_window_buffer): Don't unnecessarily reset hscroll and
11701 vscroll if we're setting window-buffer to the value it already has.
11702
11703 2008-01-18 Dan Nicolaescu <dann@ics.uci.edu>
11704
11705 * m/intel386.h: Remove references to XENIX.
11706
11707 2008-01-17 Andreas Schwab <schwab@suse.de>
11708
11709 * m/amdx86-64.h (START_FILES, LIB_STANDARD): Use HAVE_LIB64_DIR
11710 instead of HAVE_X86_64_LIB64_DIR.
11711 * m/ibms390x.h (START_FILES, LIB_STANDARD): Likewise.
11712
11713 2008-01-17 Glenn Morris <rgm@gnu.org>
11714
11715 * m/ibms390x.h (START_FILES, LIB_STANDARD): Adjust value according
11716 to HAVE_X86_64_LIB64_DIR.
11717
11718 2008-01-16 Dan Nicolaescu <dann@ics.uci.edu>
11719
11720 * s/irix3-3.h:
11721 * s/irix4-0.h:
11722 * s/386-ix.h:
11723 * s/domain.h:
11724 * s/hpux9-x11r4.h:
11725 * s/hpux9shxr4.h: Remove files for systems no longer supported.
11726
11727 * sysdep.c: Remove code containing references to symbols defined
11728 by unsupported systems.
11729
11730 2008-01-16 Glenn Morris <rgm@gnu.org>
11731
11732 * coding.c (select-safe-coding-system-function): Doc fix.
11733
11734 2008-01-15 Glenn Morris <rgm@gnu.org>
11735
11736 * config.in: Revert 2008-01-13 change: this is a generated file.
11737
11738 2008-01-13 Tom Tromey <tromey@redhat.com>
11739
11740 * lisp.h: Fix typo.
11741
11742 2008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
11743
11744 * m/sequent-ptx.h:
11745 * m/sequent.h:
11746 * s/ptx.h:
11747 * s/ptx4-2.h:
11748 * s/ptx4.h: Remove files for systems no longer supported.
11749
11750 * callproc.c (Fcall_process): Fix previous change.
11751
11752 2008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
11753
11754 * unexsunos4.c: Remove file, system not supported anymore.
11755
11756 * m/mips.h:
11757 * m/intel386.h:
11758 * callproc.c:
11759 * config.in:
11760 * ecrt0.c:
11761 * emacs.c:
11762 * fileio.c:
11763 * frame.c:
11764 * getpagesize.h:
11765 * keyboard.c:
11766 * lread.c:
11767 * process.c:
11768 * puresize.h:
11769 * sysdep.c:
11770 * systty.h:
11771 * syswait.h:
11772 * unexec.c:
11773 * xdisp.c:
11774 * alloc.c: Remove code containing references to symbols defined by
11775 unsupported systems.
11776
11777 2008-01-11 Kenichi Handa <handa@ni.aist.go.jp>
11778
11779 * coding.c (detect_coding_mask): Fix previous change.
11780
11781 2008-01-09 Kenichi Handa <handa@ni.aist.go.jp>
11782
11783 * coding.c (detect_coding_iso2022): New arg
11784 latin_extra_code_state. Allow Latin extra codes only
11785 when *latin_extra_code_state is nonzero.
11786 (detect_coding_mask): If there is a NULL byte, detect the encoding
11787 as UTF-16 or binary. If Latin extra codes exist, detect the
11788 encoding as ISO-2022 only when there's no other proper encoding is
11789 found.
11790
11791 2008-01-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11792
11793 * frame.c (Fmake_terminal_frame): Use #ifdef MAC_OS8 instead of
11794 #ifdef MAC_OS.
11795
11796 2008-01-08 Richard Stallman <rms@gnu.org>
11797
11798 * fileio.c (Ffile_name_directory, Fexpand_file_name): Doc fixes.
11799
11800 2008-01-06 Nick Roberts <nickrob@snap.net.nz>
11801
11802 * keyboard.c (parse_menu_item): Don't enclose key bindings on
11803 menu bar in parentheses.
11804
11805 2008-01-06 Dan Nicolaescu <dann@ics.uci.edu>
11806
11807 * m/7300.h:
11808 * m/acorn.h:
11809 * m/alliant-2800.h:
11810 * m/alliant.h:
11811 * m/alliant1.h:
11812 * m/alliant4.h:
11813 * m/altos.h:
11814 * m/amdahl.h:
11815 * m/apollo.h:
11816 * m/att3b.h:
11817 * m/aviion-intel.h:
11818 * m/aviion.h:
11819 * m/celerity.h:
11820 * m/clipper.h:
11821 * m/cnvrgnt.h:
11822 * m/convex.h:
11823 * m/cydra5.h:
11824 * m/delta88k.h:
11825 * m/dpx2.h:
11826 * m/dual.h:
11827 * m/elxsi.h:
11828 * m/f301.h:
11829 * m/gould-np1.h:
11830 * m/gould.h:
11831 * m/i860.h:
11832 * m/ibmps2-aix.h:
11833 * m/ibmrt-aix.h:
11834 * m/ibmrt.h:
11835 * m/irist.h:
11836 * m/is386.h:
11837 * m/isi-ov.h:
11838 * m/mega68.h:
11839 * m/mg1.h:
11840 * m/news-r6.h:
11841 * m/news-risc.h:
11842 * m/news.h:
11843 * m/nh3000.h:
11844 * m/nh4000.h:
11845 * m/ns16000.h:
11846 * m/ns32000.h:
11847 * m/nu.h:
11848 * m/orion.h:
11849 * m/orion105.h:
11850 * m/paragon.h:
11851 * m/pfa50.h:
11852 * m/plexus.h:
11853 * m/pyramid.h:
11854 * m/pyrmips.h:
11855 * m/sh3el.h:
11856 * m/sps7.h:
11857 * m/sr2k.h:
11858 * m/stride.h:
11859 * m/sun1.h:
11860 * m/sun2.h:
11861 * m/sun3-68881.h:
11862 * m/sun3-fpa.h:
11863 * m/sun3-soft.h:
11864 * m/sun3.h:
11865 * m/sun386.h:
11866 * m/symmetry.h:
11867 * m/tad68k.h:
11868 * m/tahoe.h:
11869 * m/targon31.h:
11870 * m/tek4300.h:
11871 * m/tekxd88.h:
11872 * m/tower32.h:
11873 * m/tower32v3.h:
11874 * m/ustation.h:
11875 * m/wicat.h:
11876 * m/xps100.h:
11877 * s/cxux.h:
11878 * s/cxux7.h:
11879 * s/dgux.h:
11880 * s/dgux4.h:
11881 * s/dgux5-4-3.h:
11882 * s/dgux5-4r2.h:
11883 * s/esix.h:
11884 * s/esix5r4.h:
11885 * s/hiuxmpp.h:
11886 * s/hiuxwe2.h:
11887 * s/iris3-5.h:
11888 * s/iris3-6.h:
11889 * s/isc2-2.h:
11890 * s/isc3-0.h:
11891 * s/isc4-0.h:
11892 * s/isc4-1.h:
11893 * s/newsos5.h:
11894 * s/newsos6.h:
11895 * s/osf1.h:
11896 * s/osf5-0.h:
11897 * s/riscix1-1.h:
11898 * s/riscix12.h:
11899 * s/sco4.h:
11900 * s/sco5.h:
11901 * s/sunos4-0.h:
11902 * s/sunos4-1.h:
11903 * s/sunos413.h:
11904 * s/sunos4shr.h:
11905 * s/umax.h:
11906 * s/unipl5-2.h:
11907 * s/xenix.h:
11908 * cxux-crt0.s:
11909 * unexapollo.c:
11910 * unexconvex.c:
11911 * unexenix.c:
11912 * unexsni.c: Remove files for systems no longer supported.
11913
11914 * m/intel386.h: Remove references to unsupported systems.
11915
11916 * w32.c (get_emacs_configuration): Remove reference to i860.
11917
11918 * sysdep.c: Remove dead code.
11919
11920 2008-01-05 Dan Nicolaescu <dann@ics.uci.edu>
11921
11922 * s/rtu.h:
11923 * m/masscomp.h: Remove files. Platform is obsolete.
11924
11925 2008-01-04 Michael Albinus <michael.albinus@gmx.de>
11926
11927 * dbusbind.c (Fdbus_method_return): New function.
11928 (xd_read_message): Add the serial number to the event.
11929 (Fdbus_register_method): Activate the function.
11930
11931 2008-01-03 Stefan Monnier <monnier@iro.umontreal.ca>
11932
11933 * keyboard.c (read_key_sequence): Fix typo.
11934
11935 2008-01-03 Michael Albinus <michael.albinus@gmx.de>
11936
11937 * dbusbind.c (all): Replace XCAR by CAR_SAFE and XCDR by CDR_SAFE.
11938 (xd_signature, xd_append_arg): Handle element type detection for
11939 empty arrays.
11940 (Fdbus_call_method, Fdbus_send_signal): Undo type casting for
11941 SDATA () calls; this must be solved more general.
11942 (Fdbus_register_signal): Use SBYTES instead of strlen.
11943
11944 2008-01-03 Magnus Henoch <magnus@zemdatav>
11945
11946 * dbusbind.c (xd_append_arg): Use unsigned char instead of
11947 unsigned int for byte values (necessary for big-endian platform).
11948 (Fdbus_call_method): Handle the case of no returned arguments.
11949
11950 2007-12-31 Tom Tromey <tromey@redhat.com> (tiny change)
11951
11952 * dbusbind.c (xd_read_message): Use non-static input_event struct.
11953
11954 2007-12-31 Magnus Henoch <mange@freemail.hu>
11955
11956 * dbusbind.c (xd_signature): Signature of variant is just "v".
11957
11958 2007-12-30 Michael Albinus <michael.albinus@gmx.de>
11959
11960 * dbusbind.c: Fix several errors and compiler warnings.
11961 Reported by Tom Tromey <tromey@redhat.com>.
11962 (XD_ERROR, XD_DEBUG_MESSAGE)
11963 (XD_DEBUG_VALID_LISP_OBJECT_P): Wrap code with "do ... while (0)".
11964 (xd_append_arg): Part for basic D-Bus types rewitten.
11965 (xd_retrieve_arg): Split implementation of DBUS_TYPE_BYTE and
11966 DBUS_TYPE_(U)INT16. Don't call XD_DEBUG_MESSAGE with "%f" if not
11967 appropriate.
11968 (xd_read_message): Return Qnil. Don't signal an error; it is not
11969 useful during event reading.
11970 (Fdbus_register_signal): Signal an error if the check for
11971 FUNCTIONP fails.
11972 (Fdbus_register_method): New function. The implementation is not
11973 complete, the call of the function signals an error therefore.
11974 (Fdbus_unregister_object): New function, renamed from
11975 Fdbus_unregister_signal. The initial check signals an error, if
11976 the object is not well formed.
11977
11978 2007-12-30 Richard Stallman <rms@gnu.org>
11979
11980 * textprop.c (get_char_property_and_overlay):
11981 Signal error if POSITION is out of range in a buffer.
11982
11983 2007-12-29 Martin Rudalics <rudalics@gmx.at>
11984
11985 * w32fns.c (Fx_create_frame): Make copy of frame parameters
11986 because the original parameters are in pure storage now.
11987
11988 2007-12-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11989
11990 * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area.
11991
11992 2007-12-22 Eli Zaretskii <eliz@gnu.org>
11993
11994 * callint.c (syms_of_callint) <command-history>: Add reference to
11995 history-length in the doc string.
11996
11997 2007-12-17 Jason Rumney <jasonr@gnu.org>
11998
11999 * w32fns.c (w32_wnd_proc) <WM_KEYDOWN>: Cast char to unsigned
12000 before passing as wParam.
12001
12002 2007-12-22 Michael Albinus <michael.albinus@gmx.de>
12003
12004 * dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_BYTE,
12005 DBUS_TYPE_INT16, DBUS_TYPE_UINT16, DBUS_TYPE_INT64,
12006 DBUS_TYPE_UINT64, DBUS_TYPE_DOUBLE and DBUS_TYPE_SIGNATURE.
12007 Return float when DBUS_TYPE_INT32 or DBUS_TYPE_UINT32 do not fit
12008 as number.
12009 (Fdbus_call_method): Fix docstring.
12010
12011 2007-12-21 Michael Albinus <michael.albinus@gmx.de>
12012
12013 * dbusbind.c (XD_BASIC_DBUS_TYPE, XD_DBUS_TYPE_P, XD_NEXT_VALUE):
12014 New macros.
12015 (XD_SYMBOL_TO_DBUS_TYPE): Rename from XD_LISP_SYMBOL_TO_DBUS_TYPE.
12016 (XD_OBJECT_TO_DBUS_TYPE): Rename from XD_LISP_OBJECT_TO_DBUS_TYPE.
12017 Simplify.
12018 (xd_signature): New function.
12019 (xd_append_arg): Compute also signatures. Major rewrite.
12020 (xd_retrieve_arg): Make debug messages friendly.
12021 (Fdbus_call_method, Fdbus_send_signal): Extend docstring.
12022 Check for signatures of arguments.
12023
12024 2007-12-19 Michael Albinus <michael.albinus@gmx.de>
12025
12026 * dbusbind.c (QCdbus_type_byte, QCdbus_type_boolean)
12027 (QCdbus_type_int16, QCdbus_type_uint16, QCdbus_type_int32)
12028 (QCdbus_type_uint32, QCdbus_type_int64, QCdbus_type_uint64)
12029 (QCdbus_type_double, QCdbus_type_string, QCdbus_type_object_path)
12030 (QCdbus_type_signature, QCdbus_type_array, QCdbus_type_variant)
12031 (QCdbus_type_struct, QCdbus_type_dict_entry): New D-Bus type symbols.
12032 (XD_LISP_SYMBOL_TO_DBUS_TYPE): New macro.
12033 (XD_LISP_OBJECT_TO_DBUS_TYPE): Add compound types.
12034 (xd_retrieve_value): Remove. Functionality included in ...
12035 (xd_append_arg): New function.
12036 (Fdbus_call_method, Fdbus_send_signal): Apply it.
12037
12038 2007-12-16 Michael Albinus <michael.albinus@gmx.de>
12039
12040 * dbusbind.c (top): Include <stdio.h>.
12041 (Fdbus_call_method, Fdbus_send_signal): Apply type cast in
12042 dbus_message_new_method_call and dbus_message_new_signal.
12043 (Fdbus_register_signal): Rename unique_name to uname.
12044 Check handler for FUNCTIONP instead of CHECK_SYMBOL. Handle case of
12045 non-existing unique name. Fix typos in matching rule. Return an
12046 object which is useful in Fdbus_unregister_signal.
12047 (Fdbus_unregister_signal): Reimplementation, in order to remove
12048 only the corresponding entry.
12049 (Vdbus_registered_functions_table): Change the order of entries.
12050 Apply these changes in xd_read_message and Fdbus_register_signal.
12051
12052 2007-12-16 Andreas Schwab <schwab@suse.de>
12053
12054 * fileio.c (Finsert_file_contents): Fix overflow check to not
12055 depend on undefined integer overflow.
12056
12057 2007-12-14 Jason Rumney <jasonr@gnu.org>
12058
12059 * w32term.c (w32_read_socket): Use MULTIBYTE_CHAR_KEYSTROKE_EVENT
12060 for characters above 127.
12061
12062 2007-12-13 Jason Rumney <jasonr@gnu.org>
12063
12064 * w32fns.c (w32_wnd_proc, Fw32_reconstruct_hot_key): Range check
12065 before dereferencing array.
12066 (lookup_vk_code): Remove zero comparison.
12067
12068 2007-12-14 Michael Albinus <michael.albinus@gmx.de>
12069
12070 * dbusbind.c (xd_retrieve_value, xd_retrieve_arg)
12071 (Fdbus_call_method, Fdbus_send_signal, xd_read_message):
12072 Use `unsigned int' instead of `uint'.
12073 (xd_read_message, Fdbus_register_signal): Split expressions into
12074 multiple lines before operators "&&" and "||", according to the
12075 GNU Coding Standards.
12076
12077 2007-12-14 Eli Zaretskii <eliz@gnu.org>
12078
12079 * dispextern.h (WINDOWS_NT): Fix incorrect spelling of WINDOWSNT.
12080
12081 2007-12-12 Juri Linkov <juri@jurta.org>
12082
12083 * buffer.c (Frename_buffer): In interactive spec replace
12084 `read-buffer' with `read-string' that uses `buffer-name-history'
12085 as history, and the current buffer's name as default.
12086
12087 2007-12-10 Stefan Monnier <monnier@iro.umontreal.ca>
12088
12089 * keyboard.c (Fcommand_execute): Call Qcall_interactively instead of
12090 manipulating the backtrace manually.
12091 (make_lispy_event): Merge the ASCII and MULTIBYTE cases.
12092 (struct backtrace, backtrace_list): Remove.
12093 (command_loop_1): Remove dead var `no_direct'.
12094
12095 * buffer.c (reset_buffer_local_variables): If permanent_too is 0, also
12096 preserve non-built-in buffer-local variables.
12097 (Fkill_all_local_variables): Don't re-create&re-set permanent
12098 buffer-local variables.
12099
12100 2007-12-09 Juri Linkov <juri@jurta.org>
12101
12102 * buffer.c (Frename_buffer): Change interactive spec from "s" to
12103 Lisp code that uses `read-buffer' with current buffer as default.
12104
12105 2007-12-08 Michael Albinus <michael.albinus@gmx.de>
12106
12107 * dbusbind.c (xd_read_message): Generate an event for every
12108 registered handler. There might be several handlers registered
12109 for the same signal.
12110 (Fdbus_register_signal): Don't overwrite a registration for the
12111 same signal. Add a new registration if handlers are different.
12112 (Vdbus_registered_functions_table): Rework doc string.
12113
12114 2007-12-07 Michael Albinus <michael.albinus@gmx.de>
12115
12116 * dbusbind.c (Fdbus_get_unique_name, xd_read_message)
12117 (Fdbus_register_signal): Use DBUS_MAXIMUM_NAME_LENGTH and
12118 DBUS_MAXIMUM_MATCH_RULE_LENGTH for string lengths.
12119 (Fdbus_call_method, Fdbus_send_signal, Fdbus_register_signal):
12120 Unify argument lists.
12121 (xd_read_message, Fdbus_register_signal): Reorder and extend event
12122 arguments and hash table keys. Use unique name for service.
12123 (Fdbus_unregister_signal): Remove checks.
12124 (Vdbus_registered_functions_table): Fix doc string.
12125
12126 2007-12-05 Magnus Henoch <mange@freemail.hu>
12127
12128 * process.c (make_process): Initialize pty_flag to 0.
12129
12130 2007-12-05 Jason Rumney <jasonr@gnu.org>
12131
12132 * image.c (xbm_load) [WINDOWSNT]: Shuffle the bits of directly
12133 specified XBMs.
12134
12135 2007-12-05 Richard Stallman <rms@gnu.org>
12136
12137 * xdisp.c (syms_of_xdisp) <scroll-conservatively>: Doc fix.
12138
12139 2007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12140
12141 * mac.c (cfsockets_for_select) [MAC_OSX && SELECT_USE_CFSOCKET]:
12142 New variable.
12143 (mac_try_close_socket) [MAC_OSX]: New function.
12144 [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]:
12145 Update cfsockets_for_select. Replace invalid CFRunLoop source.
12146
12147 * sysdep.c (emacs_close) [MAC_OSX && HAVE_CARBON]:
12148 Use mac_try_close_socket.
12149
12150 2007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12151
12152 * unexmacosx.c (unrelocate): New argument BASE. Use it instead of
12153 reloc_base.
12154 (copy_dysymtab): Compute relocation base here.
12155 (rebase_reloc_address) [__ppc64__]: New function.
12156 (copy_dysymtab) [__ppc64__]: Use it if relocation base needs to be
12157 changed.
12158
12159 2007-12-05 Jason Rumney <jasonr@gnu.org>
12160
12161 * w32proc.c (sys_spawnve): Quote args with wildcards.
12162
12163 2007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12164
12165 * unexmacosx.c (copy_data_segment): Also copy __gcc_except_tab and
12166 __objc_* sections.
12167 (unrelocate) [_LP64]: Set relocation base to address of data segment.
12168
12169 2007-12-05 Michael Albinus <michael.albinus@gmx.de>
12170
12171 * dbusbind.c (xd_read_message): Return value is a Lisp_Object.
12172 Move check for Vdbus_registered_functions_table to
12173 xd_read_queued_messages.
12174 (xd_read_queued_messages): Protect xd_read_message calls by
12175 internal_condition_case_1.
12176
12177 2007-12-04 Michael Albinus <michael.albinus@gmx.de>
12178
12179 * dbusbind.c (QCdbus_system_bus, QCdbus_session_bus): Rename from
12180 Qdbus_system_bus and Qdbus_session_bus, respectively.
12181 (Vdbus_intern_symbols): Remove.
12182 (Vdbus_registered_functions_table): New hash table.
12183 (XD_SYMBOL_INTERN_SYMBOL): Remove.
12184 (xd_read_message, Fdbus_register_signal, Fdbus_unregister_signal):
12185 Rewrite in order to manage registered functions by hash table
12186 Vdbus_registered_functions_table.
12187
12188 2007-12-03 Jan Djärv <jan.h.d@swipnet.se>
12189
12190 * xterm.c: Update URL to Window Manager Specification in comment.
12191
12192 2007-12-02 Michael Albinus <michael.albinus@gmx.de>
12193
12194 * config.in (HAVE_DBUS): Add.
12195
12196 * Makefile.in (HAVE_DBUS): Add D-Bus definitions if defined.
12197 (ALL_CFLAGS): Add ${DBUS_CFLAGS}.
12198 (obj): Add $(DBUS_OBJ).
12199 (LIBES): Add $(DBUS_LIBS).
12200 (dbusbind.o): New target.
12201
12202 * dbusbind.c: New file.
12203
12204 * emacs.c (main): Call syms_of_dbusbind when HAVE_DBUS is defined.
12205
12206 * keyboard.c: All D-Bus related code is wrapped by "#ifdef HAVE_DBUS".
12207 (Qdbus_event): New Lisp symbol.
12208 (kbd_buffer_get_event, make_lispy_event): Handle DBUS_EVENT.
12209 (gobble_input): Call xd_read_queued_messages, reading D-Bus messages.
12210 (keys_of_keyboard ): Define dbus-event.
12211
12212 * termhooks.h (event_kind): Add DBUS_EVENT when HAVE_DBUS is defined.
12213
12214 2007-12-01 Richard Stallman <rms@gnu.org>
12215
12216 * search.c (syms_of_search) <inhibit-changing-match-data>: Doc fix.
12217
12218 2007-11-30 Jason Rumney <jasonr@gnu.org>
12219
12220 * w32console.c (w32con_ins_del_lines, scroll_line): Clip to window.
12221 (w32con_reset_terminal_modes): Clear screen buffer.
12222 (w32_face_attributes): Don't use color indexes that are out of range.
12223 Only reverse the default colors.
12224
12225 * xfaces.c (map_tty_color, tty_color_name): Remove special case for
12226 WINDOWSNT.
12227
12228 * w32console.c, w32term.h (vga_stdcolor_name): Remove.
12229
12230 2007-11-29 Jason Rumney <jasonr@gnu.org>
12231
12232 * w32console.c: Leave HAVE_WINDOW_SYSTEM defined.
12233 (w32_face_attributes): Use Vtty_defined_color_alist to determine
12234 if the terminal colors are initialized.
12235 (unspecified_fg, unspecified_bg): Remove unused declarations.
12236
12237 2007-11-29 Andreas Schwab <schwab@suse.de>
12238
12239 * keyboard.c (apply_modifiers): Fix typo.
12240
12241 2007-11-29 Richard Stallman <rms@gnu.org>
12242
12243 * keymap.c (Fcurrent_local_map): Doc fix.
12244
12245 2007-11-28 Petr Salinger <Petr.Salinger@seznam.cz> (tiny change)
12246
12247 * s/gnu-kfreebsd.h: New file.
12248
12249 2007-11-28 Stefan Monnier <monnier@iro.umontreal.ca>
12250
12251 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
12252 Don't cast redundantly.
12253
12254 * keyboard.c (KEY_TO_CHAR): New macro.
12255 (parse_modifiers, apply_modifiers): Accept integer arguments.
12256 (read_key_sequence): Use them to unify the "shift->unshift" mapping
12257 for chars and symbol keys.
12258 After doing such remapping, apply function-key-map again.
12259
12260 2007-11-27 Dan Nicolaescu <dann@ics.uci.edu>
12261
12262 * Makefile.in (SOME_MACHINE_LISP): Remove VMS files, they are not
12263 compiled anymore.
12264
12265 2007-11-26 Andreas Schwab <schwab@suse.de>
12266
12267 * process.c (list_processes_1): Fix indentation level of the
12268 command column.
12269
12270 2007-11-23 Andreas Schwab <schwab@suse.de>
12271
12272 * editfns.c (Fformat): Handle %c specially since it requires the
12273 argument to be of type int.
12274
12275 2007-11-23 Markus Triska <markus.triska@gmx.at>
12276
12277 * emacs.c (main): Call init_editfns before init_process, since
12278 init_process sets Vprocess_connection_type depending on OS release.
12279
12280 2007-11-22 Stefan Monnier <monnier@iro.umontreal.ca>
12281
12282 * data.c (do_symval_forwarding): Use same code as in find_symbol_value.
12283 (find_symbol_value): Use do_symval_forwarding.
12284
12285 * data.c (set_internal): Set the value in the `cons-cell' (for
12286 Buffer_Local_values) not only for frame-local variables.
12287
12288 2007-11-22 Andreas Schwab <schwab@suse.de>
12289
12290 * data.c (Fnumber_to_string): Add cast when passing EMACS_INT
12291 values to sprintf.
12292 * keymap.c (Fsingle_key_description): Likewise.
12293 * print.c (print_object): Likewise.
12294
12295 2007-11-22 Jan Djärv <jan.h.d@swipnet.se>
12296
12297 * gtkutil.c (update_frame_tool_bar): Don't call x-gtk-map-stock if
12298 file for image is nil.
12299
12300 2007-11-22 Dan Nicolaescu <dann@ics.uci.edu>
12301
12302 * term.c: Include stdarg.h.
12303 (fatal): Implement using varargs.
12304 * lisp.h (fatal): Add argument types. (Restore 2005-09-30 change).
12305
12306 2007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
12307
12308 * lisp.h (struct Lisp_Buffer_Objfwd): Add a `slottype' field.
12309 * data.c (store_symval_forwarding): Get type from buffer_objfwd.
12310 Update call to buffer_slot_type_mismatch.
12311 * buffer.h (buffer_local_types, PER_BUFFER_TYPE): Remove.
12312 (buffer_slot_type_mismatch): Update.
12313 * buffer.c (buffer_local_types): Remove.
12314 (buffer_slot_type_mismatch): Get the symbol and type as arguments.
12315 (defvar_per_buffer): Set the type in the buffer_objfwd.
12316
12317 2007-11-21 Jason Rumney <jasonr@gnu.org>
12318
12319 * w32bdf.c (w32_init_bdf_font, w32_BDF_to_x_font):
12320 CreateFileMapping returns NULL on failure.
12321
12322 2007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
12323
12324 * search.c (Fset_match_data): Remove the `evaporate' feature.
12325 (unwind_set_match_data): Don't use the `evaporate' feature.
12326
12327 2007-11-21 Jason Rumney <jasonr@gnu.org>
12328
12329 * dispnew.c (init_display) [WINDOWSNT]: Hardcode terminal_type.
12330
12331 * w32console.c (w32con_write_glyphs): Remove unused variables.
12332
12333 2007-11-20 Dan Nicolaescu <dann@ics.uci.edu>
12334
12335 * macterm.c (mac_term_init): Call add_keyboard_wait_descriptor.
12336
12337 * s/darwin.h (MULTI_KBOARD): Remove.
12338
12339 * macfns.c (x_create_tip_frame, Fx_create_frame)
12340 (x_create_tip_frame): Don't deal with MULTI_KBOARD.
12341
12342 2007-11-19 Stefan Monnier <monnier@iro.umontreal.ca>
12343
12344 * buffer.c (Fbuffer_local_value): Remove redundant test.
12345 (swap_out_buffer_local_variables): Swap out binding in `buffer' rather
12346 than in `current-buffer' to match the comment.
12347 Do the swap using swap_in_global_binding.
12348
12349 * data.c (store_symval_forwarding, set_internal):
12350 * eval.c (specbind): Remove dead code.
12351
12352 * coding.c (detect_coding, Fupdate_coding_systems_internal):
12353 * fns.c (Fmd5): Use find_symbol_value rather than SYMBOL_VALUE
12354 Since we do not want to see internal Lisp_*fwd objects here.
12355
12356 2007-11-18 Jan Djärv <jan.h.d@swipnet.se>
12357
12358 * sysdep.c (init_system_name): Use getaddrinfo if available.
12359
12360 * xterm.c (x_scroll_bar_set_handle, x_scroll_bar_handle_click)
12361 (x_scroll_bar_note_movement): start, end, with, height in struct
12362 scroll_bar are integers and not Lisp_Object, so remove XINT for them.
12363
12364 2007-11-17 Dan Nicolaescu <dann@ics.uci.edu>
12365
12366 * puresize.h (BASE_PURESIZE): Increase to 1190000.
12367
12368 2007-11-16 Stefan Monnier <monnier@iro.umontreal.ca>
12369
12370 * buffer.h (struct buffer): Move `undo_list' back to before `name'.
12371 This undoes Richard's change of 14-Oct-2002.
12372
12373 * alloc.c (allocate_other_vector):
12374 * lisp.h (allocate_other_vector): Remove.
12375
12376 * window.c (struct save_window_data): Move non-lisp data to the end
12377 and make it `int' rather than Lisp_Object.
12378 (Fcurrent_window_configuration): Use ALLOCATE_PSEUDOVECTOR.
12379 Done wrap/unwrap integer values.
12380 (Fset_window_configuration, compare_window_configurations):
12381 Update use of fields to their new types.
12382
12383 * xterm.h (struct scroll_bar): Only use Lisp_Object for lisp data.
12384 Turn integer fields into `int'. Merge x_window_low and x_window_high.
12385 (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK, SCROLL_BAR_X_WINDOW)
12386 (SET_SCROLL_BAR_X_WINDOW): Remove.
12387 (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET):
12388 Access the new x_window field directly.
12389 * xterm.c (x_scroll_bar_create): Use a pseudovector.
12390 Don't wrap/unwrap integers into Lisp_Objects.
12391 (XTset_vertical_scroll_bar, x_scroll_bar_handle_click)
12392 (x_scroll_bar_report_motion):
12393 Don't wrap/unwrap integers into Lisp_Objects.
12394 (x_term_init): Use SDATA.
12395 (x_window_to_scroll_bar, x_create_toolkit_scroll_bar)
12396 (x_scroll_bar_set_handle, x_scroll_bar_remove)
12397 (XTset_vertical_scroll_bar, x_scroll_bar_expose)
12398 (x_scroll_bar_report_motion, x_scroll_bar_clear):
12399 * xfns.c (x_set_background_color):
12400 * gtkutil.c (xg_create_scroll_bar, xg_set_toolkit_scroll_bar_thumb):
12401 Access the new x_window field directly.
12402
12403 * alloc.c (ALLOCATE_PSEUDOVECTOR): Move to lisp.h.
12404 (allocate_pseudovector): Make non-static.
12405
12406 * lisp.h (enum pvec_type): New tag PVEC_OTHER.
12407 (allocate_pseudovector): Declare.
12408 (ALLOCATE_PSEUDOVECTOR): Move from alloc.c.
12409
12410 2007-11-15 Andreas Schwab <schwab@suse.de>
12411
12412 * editfns.c (Fformat): Correctly format EMACS_INT values.
12413 Also take precision into account when formatting an integer.
12414
12415 * keyboard.c (Fevent_symbol_parse_modifiers): Fix declaration.
12416
12417 2007-11-15 Stefan Monnier <monnier@iro.umontreal.ca>
12418
12419 * keyboard.c (Fevent_symbol_parse_modifiers): New function.
12420 (syms_of_keyboard): Defsubr it.
12421
12422 * data.c (swap_in_global_binding): Fix longstanding bug where
12423 store_symval_forwarding was not called with the right second argument,
12424 thus causing objfwd-ing from being dropped.
12425
12426 2007-11-14 Juanma Barranquero <lekktu@gmail.com>
12427
12428 * macfns.c (Fx_create_frame, Fx_display_pixel_width)
12429 (Fx_display_pixel_height, Fx_display_planes)
12430 (Fx_display_color_cells, Fx_server_max_request_size)
12431 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
12432 (Fx_display_visual_class, Fx_display_save_under):
12433 * w32fns.c (Fx_create_frame, Fx_display_pixel_width)
12434 (Fx_display_pixel_height, Fx_display_planes)
12435 (Fx_display_color_cells, Fx_server_max_request_size)
12436 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
12437 (Fx_display_mm_height, Fx_display_mm_width)
12438 (Fx_display_backing_store, Fx_display_visual_class)
12439 (Fw32_select_font, Fx_display_save_under):
12440 * xfns.c (Fx_create_frame, Fx_display_pixel_width)
12441 (Fx_display_pixel_height, Fx_display_planes)
12442 (Fx_display_color_cells, Fx_server_max_request_size)
12443 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
12444 (Fx_display_save_under): Fix typos in docstrings.
12445
12446 2007-11-14 Juanma Barranquero <lekktu@gmail.com>
12447
12448 * w32fns.c (Fw32_registered_hot_keys): Don't return the nil values
12449 corresponding to deleted entries; they are an implementation detail.
12450 (gray_bitmap_width, gray_bitmap_height, gray_bitmap_bits):
12451 Remove variables.
12452 (w32_pass_extra_mouse_buttons_to_system, w32_strict_fontnames)
12453 (w32_pass_multimedia_buttons_to_system, w32_strict_painting)
12454 (Vw32_charset_info_alist, w32_to_x_color, w32_init_class)
12455 (w32_createscrollbar, w32_createwindow, my_post_msg, w32_get_modifiers)
12456 (w32_grabbed_keys, cancel_all_deferred_msgs): Make static.
12457 (Fw32_define_rgb_color, Fw32_load_color_file)
12458 (syms_of_w32fns) <w32-pass-multimedia-buttons-to-system>:
12459 Fix typos in docstrings.
12460 (Fx_server_version): Reflow docstring.
12461 (Fw32_shell_execute): Doc fixes.
12462
12463 2007-11-13 Juanma Barranquero <lekktu@gmail.com>
12464
12465 * w32fns.c (Fw32_register_hot_key): Don't try to register hot key
12466 if w32_parse_hot_key returned nil.
12467
12468 2007-11-10 Stefan Monnier <monnier@iro.umontreal.ca>
12469
12470 * xdisp.c (load_overlay_strings): Fix copy&paste typo.
12471
12472 2007-11-09 Jason Rumney <jasonr@gnu.org>
12473
12474 * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define.
12475
12476 * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT.
12477
12478 * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]:
12479 Remove W32_SCROLL_BAR_CLICK_EVENT.
12480
12481 * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise.
12482 Add MULTIMEDIA_KEY_EVENT.
12483
12484 * keyboard.c (lispy_function_keys) [WINDOWSNT]: Add more keys.
12485 (lispy_multimedia_keys) [WINDOWSNT]: New array.
12486 (make_lispy_event) [WINDOWSNT]: Use it to translate
12487 MULTIMEDIA_KEY_EVENT.
12488
12489 * w32term.h (WM_APPCOMMAND): Define if not already.
12490 (GET_APPCOMMAND_LPARAM): Likewise.
12491
12492 * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from
12493 WM_APPCOMMAND.
12494
12495 * w32fns.c (w32_pass_multimedia_buttons_to_system): New user option.
12496 (syms_of_w32fns): Export and initialize it.
12497 (w32_wnd_proc): Pass WM_APPCOMMAND on to w32_read_socket.
12498
12499 2007-11-09 Chong Yidong <cyd@stupidchicken.com>
12500
12501 * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE
12502 twice.
12503
12504 * xdisp.c (handle_face_prop): Fix last change.
12505
12506 2007-11-09 Richard Stallman <rms@gnu.org>
12507
12508 * xdisp.c (handle_face_prop): Test for strings that came from overlays,
12509 not just for after-strings and before-strings.
12510 Call face_for_overlay_string and pass the overlay to it.
12511 (handle_display_prop): Determine whether property came from an overlay.
12512 Pass OVERLAY arg to handle_single_display_spec.
12513 (handle_single_display_spec): New arg OVERLAY sets it->from_overlay.
12514 (load_overlay_strings): Fill in it->string_overlays.
12515 (get_overlay_strings_1, push_it, pop_it): Handle it->from_overlays.
12516
12517 * xfaces.c (face_for_overlay_string): Function renamed from
12518 face_at_buffer_position_no_overlays, and add arg OVERLAY.
12519
12520 * dispextern.h (struct it): New elt string_overlays.
12521 New elt from_overlay, also in stack.
12522 Rearrange a few elements.
12523 (face_for_overlay_string): Decl renamed from
12524 face_at_buffer_position_no_overlays, and add argument.
12525
12526 2007-11-09 Richard Stallman <rms@gnu.org>
12527
12528 * xdisp.c (handle_face_prop): Use face_at_buffer_position_no_overlays
12529 to get the base face for an overlay string.
12530
12531 * dispextern.h (face_at_buffer_position_no_overlays): Add decl.
12532
12533 * xfaces.c (face_at_buffer_position_no_overlays): New function.
12534
12535 * xdisp.c (handle_stop): Move some code out of loop.
12536
12537 2007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12538
12539 * macfns.c [USE_ATSUI] (Fmac_atsu_font_face_attributes):
12540 Fix conversion from Lisp object to ATSUFontID.
12541
12542 2007-11-09 Jason Rumney <jasonr@gnu.org>
12543
12544 * xdisp.c (Fformat_mode_line): Do nothing when noninteractive.
12545
12546 2007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12547
12548 * unexmacosx.c (unexec_regions_recorder, unexec_regions_merge):
12549 Don't assume regions are aligned to page boundary.
12550 (print_load_command_name): Add LC_UUID if defined.
12551
12552 2007-11-09 Richard Stallman <rms@gnu.org>
12553
12554 * emacs.c (syms_of_emacs) <installation-directory>: Reflow docstring.
12555
12556 2007-11-07 Jason Rumney <jasonr@gnu.org>
12557
12558 * s/windows95.h: Remove.
12559
12560 2007-11-06 Jan Djärv <jan.h.d@swipnet.se>
12561
12562 * gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and
12563 abort with a message on unhandled store_type values.
12564
12565 2007-11-01 Jan Djärv <jan.h.d@swipnet.se>
12566
12567 * xterm.c, xfns.c, xselect.c, xterm.h, s/msdos.h, s/sco4.h, s/sco5.h:
12568 Remove HAVE_X11R5 and HAVE_X11R4.
12569
12570 2007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
12571
12572 * Makefile.in: Remove references to sunfns.c and sunfns.o.
12573
12574 2007-11-01 Johan Bockgård <bojohan@gnu.org>
12575
12576 * macterm.c, w32term.c, xterm.c (x_draw_stretch_glyph_string):
12577 Don't set s->stippled_p here, since it has already been set by
12578 x_set_glyph_string_gc from x_draw_glyph_string.
12579
12580 2007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
12581
12582 * sunfns.c: Remove file.
12583
12584 * m/sun386.h:
12585 * m/sun2.h:
12586 * m/sparc.h: Remove Sun windows code.
12587
12588 2007-10-31 Stefan Monnier <monnier@iro.umontreal.ca>
12589
12590 * keyboard.c (syms_of_keyboard): Initialize the initial_kboard.
12591 (init_keyboard): Set current_kboard's window-system to nil.
12592 (tty_read_avail_input): Typo.
12593 * frame.c (make_initial_frame): Don't initialize the initial_kboard.
12594
12595 2007-10-31 Dan Nicolaescu <dann@ics.uci.edu>
12596
12597 * s/usg5-4.h:
12598 * s/usg5-3.h:
12599 * s/ptx.h:
12600 * m/is386.h:
12601 * m/ibmps2-aix.h:
12602 * Makefile.in: Remove all mentions of X10.
12603
12604 * dispnew.c (syms_of_display): Don't mention version 10.
12605
12606 2007-10-28 Juanma Barranquero <lekktu@gmail.com>
12607
12608 * makefile.w32-in (OBJ1): Remove abbrev.$(O).
12609 ($(BLD)/abbrev.$(O)): Remove.
12610
12611 2007-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
12612
12613 Rewrite abbrev.c in Elisp.
12614 * image.c (Qcount): Don't declare as extern.
12615 (syms_of_image): Initialize and staticpro `Qcount'.
12616 * puresize.h (BASE_PURESIZE): Increase for the new abbrev.el functions.
12617 * emacs.c (main): Don't call syms_of_abbrev.
12618 * Makefile.in (obj): Remove abbrev.o.
12619 (abbrev.o): Remove.
12620 * abbrev.c: Remove.
12621
12622 2007-10-26 Martin Rudalics <rudalics@gmx.at>
12623
12624 * window.c (window_min_size_2): Don't count header-line.
12625
12626 2007-10-26 Dan Nicolaescu <dann@ics.uci.edu>
12627
12628 * frame.h (struct frame): Move all bit fields after the first bit
12629 field to take advantage of the available space. Group all the
12630 chars together to reduce wasted space due to padding.
12631
12632 2007-10-26 Juanma Barranquero <lekktu@gmail.com>
12633
12634 * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings.
12635
12636 * alloc.c (spare_memory, stack_copy, stack_copy_size, ignore_warnings)
12637 (Vdead, dont_register_blocks, staticvec, staticidx, interval_block)
12638 (n_interval_blocks, init_strings, check_string_bytes, check_sblock)
12639 (init_float, free_float, n_cons_blocks, init_cons, all_vectors)
12640 (n_vectors, symbol_block, symbol_block_index, symbol_free_list)
12641 (n_symbol_blocks, init_symbol, marker_block, marker_free_list)
12642 (n_marker_blocks, init_marker, valid_pointer_p, make_pure_float)
12643 (last_marked, mark_object_loop_halt): Make static.
12644
12645 * frame.c (syms_of_frame) <delete-frame-functions>:
12646 Fix typo in docstring.
12647
12648 2007-10-25 Juanma Barranquero <lekktu@gmail.com>
12649
12650 * w32.c (init_environment): Fix tiny memory leak.
12651 (w32_get_resource): Remove unused variable `ok'.
12652
12653 2007-10-25 Stefan Monnier <monnier@iro.umontreal.ca>
12654
12655 Make `window-system' into a keyboard-local variable (rather than
12656 frame-local as done originally by multi-tty).
12657
12658 * keyboard.h (struct kboard): Add Vwindow_system.
12659 * keyboard.c (init_kboard): Set a default for Vwindow_system.
12660 (mark_kboards): Mark Vwindow_system.
12661
12662 * dispnew.c (syms_of_display) <window-system>: Declare terminal-local.
12663 (init_display): Don't set the obsolete `window-system' frame-param.
12664
12665 * xterm.c (x_term_init):
12666 * w32term.c (w32_create_terminal):
12667 * term.c (init_tty): Set Vwindow_system.
12668 * macterm.c (mac_create_terminal): Set a keyboard (missing piece of the
12669 multi-tty merge maybe?), copied from w32term.c. Set Vwindow_system.
12670
12671 * xfns.c (Fx_create_frame, x_create_tip_frame):
12672 * w32fns.c (Fx_create_frame, x_create_tip_frame):
12673 * macfns.c (Fx_create_frame):
12674 Don't set the obsolete `window-system' frame-param.
12675
12676 * frame.h (Qwindow_system): Remove.
12677 * frame.c (Qwindow_system): Remove. In `syms_of_frame' as well.
12678 (Fmake_terminal_frame): Don't set obsolete `window-system' frame-param.
12679
12680 2007-10-24 Richard Stallman <rms@gnu.org>
12681
12682 * frame.c (x_figure_window_size): For fullscreen case,
12683 set USPosition | PPosition without clobbering rest of window_prompting.
12684
12685 * keyboard.c (Fcurrent_idle_time): Doc fix.
12686
12687 * print.c (Fwith_output_to_temp_buffer): Doc fix.
12688
12689 2007-10-23 Stefan Monnier <monnier@iro.umontreal.ca>
12690
12691 * process.c (unwind_request_sigio): Only define if __ultrix__.
12692
12693 * callproc.c (child_setup): Remove spurious *.
12694
12695 * lisp.h (Fget_text_property): Declare.
12696 (have_menus_p): Declare it here rather than in sys-dep header files.
12697 * macterm.h (have_menus_p):
12698 * msdos.h (have_menus_p):
12699 * xterm.h (have_menus_p): Remove.
12700
12701 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
12702 (Fmake_variable_frame_local): Just check the variable's const-ness
12703 rather than checking nil or t.
12704
12705 2007-10-22 Jason Rumney <jasonr@gnu.org>
12706
12707 * w32fns.c: Include math.h.
12708 (w32_abort): Declaration moved to nt/config.nt.
12709
12710 * s/ms-w32.h (HAVE_STDLIB_H): Define.
12711 (abort): Redefinition moved to nt/config.nt.
12712
12713 * m/windowsnt.h: Remove.
12714
12715 2007-10-22 Juanma Barranquero <lekktu@gmail.com>
12716
12717 * emacs.c (Fdump_emacs): Fix typo in message.
12718 (syms_of_emacs) <kill-emacs-hook>: Fix typo in docstring.
12719 <installation-directory>: Reflow docstring.
12720
12721 2007-10-22 Juri Linkov <juri@jurta.org>
12722
12723 * minibuf.c: Allow minibuffer default to be a list of default values.
12724 With empty input use the first element of this list as returned default.
12725 (string_to_object)
12726 (read_minibuf_noninteractive): If defalt is cons, set val to its car.
12727 (read_minibuf): If defalt is cons, set histstring to its car.
12728 (Fread_string): If default_value is cons, set val to its car.
12729 (Fread_buffer): If def is cons, use its car.
12730 (Fcompleting_read): If defalt is cons, set val to its car.
12731
12732 2007-10-21 Michael Albinus <michael.albinus@gmx.de>
12733
12734 * fileio.c (Fcopy_file): Call file name handler with preserve_uid_gid.
12735
12736 2007-10-20 Juanma Barranquero <lekktu@gmail.com>
12737
12738 * doc.c (Fdocumentation): Check for advice in all cases.
12739
12740 2007-10-19 Chong Yidong <cyd@stupidchicken.com>
12741
12742 * Makefile.in [HAVE_LIBRESOLV]: Add -lresolv to linker flags.
12743
12744 2007-10-19 Richard Stallman <rms@gnu.org>
12745
12746 * doc.c (Fdocumentation): Check for and handle an advised function.
12747
12748 2007-10-19 Juanma Barranquero <lekktu@gmail.com>
12749
12750 * process.c (Fset_process_filter): Doc fix.
12751
12752 2007-10-18 Stefan Monnier <monnier@iro.umontreal.ca>
12753
12754 * keyboard.c (read_key_sequence): Undo a change introduced by multi-tty
12755 which caused key-translation-map to applied repeatedly (thus breaking
12756 double-mode).
12757
12758 2007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
12759
12760 * xselect.c (x_own_selection, x_handle_selection_clear)
12761 (x_clear_frame_selections):
12762 * w32menu.c (list_of_panes, list_of_items):
12763 * w32fns.c (w32_color_map_lookup, Fx_create_frame, Fx_display_list):
12764 * textprop.c (validate_plist, interval_has_all_properties)
12765 (interval_has_some_properties, interval_has_some_properties_list)
12766 (add_properties, text_property_list):
12767 * process.c (Fget_buffer_process, list_processes_1, status_notify):
12768 * minibuf.c (Fassoc_string):
12769 * macselect.c (x_own_selection, x_clear_frame_selections)
12770 (Fx_disown_selection_internal):
12771 * keymap.c (Fcommand_remapping, where_is_internal, describe_map_tree):
12772 Use CONSP rather than !NILP and XC[AD]R rather than Fc[ad]r.
12773
12774 2007-10-17 Chong Yidong <cyd@stupidchicken.com>
12775
12776 * process.c: Link to libs for calling res_init() if available.
12777 (Fmake_network_process): Call res_init() before getaddrinfo or
12778 gethostbyname, if possible.
12779
12780 2007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
12781
12782 * lread.c (read1): Set pvectype for char_tables.
12783
12784 * lisp.h (XMISCANY, XMARKER, XINTFWD, XBOOLFWD, XOBJFWD, XOVERLAY)
12785 (XBUFFER_OBJFWD, XBUFFER_LOCAL_VALUE, XKBOARD_OBJFWD, XSAVE_VALUE):
12786 Add type checks.
12787 (SOME_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP): Remove.
12788
12789 * alloc.c (free_misc): Use XMISCTYPE.
12790 (live_misc_p, gc_sweep): Use Lisp_Misc_Any.
12791
12792 2007-10-17 Glenn Morris <rgm@gnu.org>
12793
12794 * minibuf.c (Qcompletion_ignore_case): New Lisp_Object.
12795 (syms_of_minibuf): Add Qcompletion_ignore_case.
12796 * dired.c (Qcompletion_ignore_case): Change to external.
12797 (syms_of_dired) [VMS]: Remove Qcompletion_ignore_case.
12798 * fileio.c (Qcompletion_ignore_case): New external Lisp_Object.
12799 (Fread_file_name): Use it rather than intern'ing.
12800
12801 * coding.c (Qcompletion_ignore_case): New external Lisp_Object.
12802 (Fread_coding_system): Ignore case of user input.
12803
12804 2007-10-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12805
12806 * xdisp.c (handle_display_prop): Ignore display specs after
12807 replacing one when string text is being replaced.
12808 (handle_single_display_spec): Pretend as if characters with display
12809 property haven't been consumed only when buffer text is being replaced.
12810
12811 2007-10-16 Stefan Monnier <monnier@iro.umontreal.ca>
12812
12813 * xfns.c (Fx_create_frame, Fx_display_list):
12814 * window.c (window_fixed_size_p, enlarge_window)
12815 (shrink_window_lowest_first):
12816 * macterm.c (init_font_name_table):
12817 * macfns.c (Fx_create_frame, Fx_display_list):
12818 * lread.c (close_load_descs):
12819 * keyboard.c (read_char_x_menu_prompt):
12820 * fns.c (Fmember, Fmemql, Fdelete, Fset_char_table_parent):
12821 * coding.c (code_convert_region_unwind): Test the type of an object
12822 rather than just !NILP before extracting data from it.
12823
12824 * alloc.c (Fpurecopy): Set the pvec tag on pseudo vectors.
12825
12826 * lisp.h (enum Lisp_Misc_Type): Del Lisp_Misc_Some_Buffer_Local_Value.
12827 (XMISCANY): New macro.
12828 (XMISCTYPE): Use it.
12829 (struct Lisp_Misc_Any): New type.
12830 (union Lisp_Misc): Use it.
12831 (struct Lisp_Buffer_Local_Value): Add `local_if_set' bit.
12832 * data.c (Fboundp, store_symval_forwarding, swap_in_global_binding)
12833 (find_symbol_value, set_internal, default_value, Fset_default)
12834 (Fmake_variable_buffer_local, Fmake_local_variable)
12835 (Fkill_local_variable, Fmake_variable_frame_local, Flocal_variable_p)
12836 (Flocal_variable_if_set_p, Fvariable_binding_locus):
12837 The SOME_BUFFER_LOCAL_VALUEP distinction is replaced by local_if_set.
12838 * alloc.c (allocate_buffer): Set the size and tag.
12839 (allocate_misc, mark_maybe_object, mark_object, survives_gc_p):
12840 Use XMISCANY.
12841 (die): Follow the GNU convention for error messages.
12842 * print.c (print_object): SOME_BUFFER_LOCAL_VALUEP -> local_if_set.
12843 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Don't set the
12844 tag any more.
12845 (set_buffer_internal_1):
12846 * frame.c (store_frame_param):
12847 * eval.c (specbind):
12848 * xdisp.c (select_frame_for_redisplay): Drop SOME_BUFFER_LOCAL_VALUEP.
12849
12850 * doc.c (Fsnarf_documentation): Simplify.
12851
12852 2007-10-14 Juanma Barranquero <lekktu@gmail.com>
12853
12854 * w32term.c (w32_font_is_double_byte, my_create_scrollbar): Make static.
12855 (syms_of_w32term) <w32-enable-unicode-output>: Fix typo in docstring.
12856
12857 2007-10-14 Stefan Monnier <monnier@iro.umontreal.ca>
12858
12859 * buffer.c (Fmake_indirect_buffer): Set the buffer's tag.
12860
12861 2007-10-14 Juanma Barranquero <lekktu@gmail.com>
12862
12863 * eval.c (do_autoload): Don't save autoloads.
12864
12865 * data.c (Ffset): Save autoload of the function being set.
12866
12867 2007-10-07 John Paul Wallington <jpw@pobox.com>
12868
12869 * xfns.c (x_create_tip_frame): Set the `display-type' frame
12870 parameter before setting up faces.
12871
12872 2007-10-13 Eli Zaretskii <eliz@gnu.org>
12873
12874 * ccl.c (Fregister_code_conversion_map):
12875 * keyboard.c (append_tool_bar_item): Reformat last change.
12876
12877 * lisp.h (eabs): Rename from `abs'. All callers changed.
12878
12879 2007-10-05 Dmitry Antipov <dmantipov@yandex.ru>
12880
12881 * buffer.c (add_overlay_mod_hooklist):
12882 * ccl.c (Fregister_ccl_program, Fregister_code_conversion_map):
12883 * fontset.c (make_fontset):
12884 * keyboard.c (GROW_RAW_KEYBUF, menu_bar_items, menu_bar_item)
12885 (append_tool_bar_item):
12886 * macmenu.c (grow_menu_items):
12887 * w32menu.c (grow_menu_items):
12888 * xmenu.c (grow_menu_items): Use larger_vector.
12889
12890 2007-10-13 Eli Zaretskii <eliz@gnu.org>
12891
12892 * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving
12893 selected frame'' on MSDOS).
12894
12895 2007-10-12 Martin Rudalics <rudalics@gmx.at>
12896
12897 * frame.c (Qexplicit_name): New variable.
12898 (x_report_frame_params): Report it in parameter alist.
12899 (syms_of_frame): Intern and staticpro it.
12900
12901 2007-10-10 Patrick Mahan <mahan@mahan.org> (tiny change)
12902
12903 * macfns.c (x_create_tip_frame): Set terminal for frame.
12904
12905 2007-10-10 Stefan Monnier <monnier@iro.umontreal.ca>
12906
12907 * frame.c (Qenvironment): Remove.
12908 (syms_of_frame) <Qenvironment>: Don't initialize.
12909 (Fdelete_frame): Don't treat the `environment' param specially.
12910 * frame.h (Qenvironment): Don't declare.
12911 * callproc.c (set_initial_environment): Don't set unused frame param.
12912
12913 * frame.c (Fframe_with_environment): Remove.
12914 (syms_of_frame) <Sframe_with_environment>: Don't declare.
12915
12916 * lisp.h (Fframe_with_environment): Don't declare.
12917
12918 2007-10-10 Juanma Barranquero <lekktu@gmail.com>
12919
12920 * indent.c (indent_tabs_mode, last_known_column)
12921 (last_known_column_modified): Make static.
12922 (syms_of_indent) <indent-tabs-mode>: Remove redundant info in docstring.
12923
12924 2007-10-10 Katsumi Yamaoka <yamaoka@jpl.org>
12925
12926 * puresize.h (BASE_PURESIZE): Increase to 1170000.
12927
12928 2007-10-09 Jason Rumney <jasonr@gnu.org>
12929
12930 * w32term.c (x_set_window_size): Disable code that attempts to tell
12931 Lisp code about a size change before it actually happens.
12932
12933 2007-10-09 Richard Stallman <rms@gnu.org>
12934
12935 * xdisp.c (handle_invisible_prop): After setting up an ellipsis,
12936 return HANDLED_RETURN.
12937
12938 2007-10-08 Martin Rudalics <rudalics@gmx.at>
12939
12940 * keyboard.c (kbd_buffer_get_event): Break loop waiting for input
12941 when there's an unread command event.
12942
12943 * frame.c (focus_follows_mouse): Move here from frame.el to allow
12944 window autoselection act appropriately when leaving selected frame.
12945 (syms_of_frame): Initialize focus_follows_mouse.
12946 * frame.h (focus_follows_mouse): Extern it.
12947 * macterm.c (XTread_socket): When focus_follows_mouse is nil
12948 make SELECT_WINDOW_EVENT only if we don't leave the selected frame.
12949 * msdos.c (dos_rawgetc): Likewise.
12950 * w32term.c (w32_read_socket): Likewise.
12951 * xterm.c (handle_one_xevent): Likewise.
12952 * xdisp.c (syms_of_xdisp): In doc-string of
12953 mouse-autoselect-window mention focus-follows-mouse.
12954
12955 2007-10-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12956
12957 * macterm.c (mac_load_query_font): Fix missing return value.
12958 [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap):
12959 Add BLOCK_INPUT.
12960
12961 2007-10-08 Richard Stallman <rms@gnu.org>
12962
12963 * xdisp.c (get_window_cursor_type): Implement documented behavior
12964 for cursor-in-non-selected-windows = t.
12965
12966 2007-10-08 Jason Rumney <jasonr@gnu.org>
12967
12968 * w32.c (w32_get_resource): Always close registry keys.
12969
12970 2007-10-08 Jason Rumney <jasonr@gnu.org>
12971
12972 * makefile.w32-in (LIBS): Add COMCTL32.
12973
12974 * w32fns.c (globals_of_w32fns): Init common controls.
12975
12976 2007-10-08 Richard Stallman <rms@gnu.org>
12977
12978 * image.c (our_memory_buffer): Rename from omfib_buffer.
12979
12980 2007-10-08 Richard Stallman <rms@gnu.org>
12981
12982 * buffer.c (Foverlays_at): Doc fix.
12983
12984 2007-10-08 Stefan Monnier <monnier@iro.umontreal.ca>
12985
12986 * fns.c (Fplist_put): Preserve uneven tail data.
12987
12988 2007-10-08 Peter O'Gorman <bug-gnu-emacs@mlists.thewrittenword.com> (tiny change)
12989
12990 * termhooks.h (enum event_kind): Remove trailing comma.
12991
12992 * frame.h (enum): Remove trailing comma.
12993
12994 2007-10-08 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
12995
12996 * w32proc.c (delete_child): Don't terminate threads of zombies.
12997
12998 2007-10-08 Martin Rudalics <rudalics@gmx.at>
12999
13000 * keyboard.h (struct kboard): New elt Vlast_repeatable_command.
13001
13002 * keyboard.c (syms_of_keyboard): Set up new Lisp variable
13003 last-repeatable-command.
13004 (init_kboard): Initialize Vlast_repeatable_command.
13005 (command_loop_1): Set it to real_this_command unless that was
13006 bound to an input event.
13007 (mark_kboards): Mark it.
13008
13009 2007-10-08 Richard Stallman <rms@gnu.org>
13010
13011 * eval.c (condition-case): Doc fix.
13012
13013 2007-10-08 Masatake YAMATO <jet@gyve.org>
13014
13015 * xfaces.c (tty_supports_face_attributes_p): Fix code
13016 for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code
13017 was copied and not edited.
13018
13019 2007-10-09 Stefan Monnier <monnier@iro.umontreal.ca>
13020
13021 Add new `input-decode-map' keymap and use it for terminal
13022 escape sequences.
13023 * keyboard.h (struct kboard): Add Vinput_decode_map.
13024 Remove Vlocal_key_translation_map.
13025 * keyboard.c (read_key_sequence): Add support for input-decode-map.
13026 (init_kboard): Init input-decode-map.
13027 Replace local-key-translation-map back with key-translation-map.
13028 (syms_of_keyboard): Declare input-decode-map.
13029 Remove local-key-translation-map. Update docstrings.
13030 (mark_kboards): Mark Vinput_decode_map.
13031 Don't mark Vlocal_key_translation_map.
13032 * keymap.c (Fdescribe_buffer_bindings): Describe input-decode-map.
13033 Replace local-key-translation-map back with key-translation-map.
13034 * term.c (term_get_fkeys_1, CONDITIONAL_REASSIGN):
13035 Bind in input-decode-map rather than function-key-map.
13036
13037 * lisp.h (XSETPSEUDOVECTOR): Don't set the tag anymore.
13038 This was made redundant by the previous introduction of XSETPVECTYPE.
13039
13040 2007-10-09 Richard Stallman <rms@gnu.org>
13041
13042 * image.c (free_bitmap_record): Rename from Free_Bitmap_Record.
13043
13044 2007-09-29 Richard Stallman <rms@gnu.org>
13045
13046 * eval.c (internal_condition_case_2, internal_condition_case_1)
13047 (internal_condition_case): Reenable abort if x_catching_errors ()
13048 to see if that really happens and why.
13049
13050 2007-10-06 Andreas Schwab <schwab@suse.de>
13051
13052 * fileio.c (Fwrite_region): Ignore EINVAL error from fsync.
13053
13054 2007-10-04 Juanma Barranquero <lekktu@gmail.com>
13055
13056 * image.c (syms_of_image) <image-types>: Fix typo in docstring.
13057
13058 2007-10-03 Stefan Monnier <monnier@iro.umontreal.ca>
13059
13060 * frame.h (struct frame): Don't try to GC-mark menu_bar_items_used.
13061
13062 2007-10-02 Stefan Monnier <monnier@iro.umontreal.ca>
13063
13064 * window.h (struct window):
13065 * window.c (struct save_window_data, struct saved_window):
13066 * termhooks.h (struct terminal):
13067 * process.h (struct Lisp_Process):
13068 * frame.h (struct frame):
13069 * buffer.h (struct buffer):
13070 * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table)
13071 (struct Lisp_Bool_Vector, struct Lisp_Subr, struct Lisp_Hash_Table):
13072 The size field of (pseudo)vectors is now unsigned.
13073 (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Simplify accordingly.
13074
13075 * lisp.h (struct Lisp_Hash_Table): Move non-traced elements at the end.
13076 Turn `count' into an integer.
13077
13078 * fns.c (make_hash_table, hash_put, hash_remove, hash_clear)
13079 (sweep_weak_table, sweep_weak_hash_tables, Fhash_table_count):
13080 * print.c (print_object) <HASH_TABLE_P>: `count' is an int.
13081 * alloc.c (allocate_hash_table): Use ALLOCATE_PSEUDOVECTOR.
13082 (mark_object) <HASH_TABLE_P>: Use mark_vectorlike.
13083
13084 * alloc.c (allocate_pseudovector): New fun.
13085 (ALLOCATE_PSEUDOVECTOR): New macro.
13086 (allocate_window, allocate_terminal, allocate_frame)
13087 (allocate_process): Use it.
13088 (mark_vectorlike): New function.
13089 (mark_object) <FRAMEP, WINDOWP, BOOL_VECTOR_P, VECTORP>: Use it.
13090 (mark_terminals): Use it.
13091 (Fmake_bool_vector, Fmake_char_table, make_sub_char_table)
13092 (Fmake_byte_code): Use XSETPVECTYPE.
13093
13094 * frame.c (Fframe_parameters): Minor simplification.
13095
13096 * insdel.c (adjust_markers_for_insert): Generalize assertion checks.
13097
13098 * marker.c (Fmarker_buffer): Make test for odd case into a failure.
13099
13100 * buffer.c (Fget_buffer_create, init_buffer_once):
13101 * lread.c (defsubr):
13102 * window.c (Fcurrent_window_configuration): Use XSETPVECTYPE.
13103
13104 * lisp.h (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Don't let them be
13105 defined differently in the m/*.h files.
13106 (XCHAR_TABLE, XBOOL_VECTOR): Add assertion checking.
13107 (XSETPVECTYPE): New macro.
13108 (XSETPSEUDOVECTOR): Use it.
13109
13110 * buffer.c (syms_of_buffer) <local-abbrev-table>: Move from abbrev.c.
13111 (DEFVAR_PER_BUFFER, defvar_per_buffer): Move from lisp.h and lread.c.
13112
13113 * lisp.h (defvar_per_buffer, DEFVAR_PER_BUFFER):
13114 * lread.c (defvar_per_buffer):
13115 * abbrev.c (syms_of_abbrev) <local-abbrev-tabl>: Move to buffer.c.
13116
13117 * window.c (candidate_window_p): Only consider as visible frames that
13118 are on the same terminal.
13119
13120 * m/ibms390x.h (MARKBIT): Remove unused macro.
13121
13122 2007-10-01 Juanma Barranquero <lekktu@gmail.com>
13123
13124 * lread.c (Fload): Fix typo in docstring.
13125
13126 2007-10-01 Michaël Cadilhac <michael@cadilhac.name>
13127
13128 * floatfns.c (Fexpt): Manually check for overflows, so that a power
13129 of a non-zero value can't yield zero.
13130
13131 2007-09-29 Stefan Monnier <monnier@iro.umontreal.ca>
13132
13133 * term.c (term_clear_mouse_face, term_mouse_highlight)
13134 (tty_write_glyphs_with_face): Only define is HAVE_GPM.
13135
13136 * print.c (safe_debug_print): Use XHASH.
13137
13138 * lisp.h (DECL_ALIGN, USE_LSB_TAG): Move logic to before definition of
13139 Lisp elements such as tags.
13140 (XHASH): New macro.
13141 (EQ): Use it.
13142 (SREF, SSET, STRING_COPYIN): Use SDATA.
13143 (VOID_TO_LISP, CVOID_TO_LISP, LISP_TO_VOID, LISP_TO_CVOID): Remove.
13144
13145 * alloc.c (mark_terminal): Remove left-over declaration.
13146 (enum mem_type): Replace all vector subtypes -> MEM_TYPE_VECTORLIKE.
13147 (allocate_vectorlike): Remove type argument. Adjust callers.
13148 (live_vector_p, mark_maybe_pointer, valid_lisp_object_p):
13149 Only handle the one remaining MEM_TYPE_VECTORLIKE.
13150
13151 * alloc.c (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): New macros
13152 to avoid unnecessary BLOCK_INPUTs when SYNC_INPUT is used.
13153 (xmalloc, xrealloc, xfree, lisp_malloc, lisp_free, lisp_align_malloc)
13154 (lisp_align_free, make_interval, allocate_string, allocate_string_data)
13155 (make_float, Fcons, allocate_vectorlike, Fmake_symbol, allocate_misc):
13156 Use them.
13157
13158 * xfaces.c (load_face_font, free_realized_face, clear_face_gcs):
13159 Don't let signal handlers run when a GC is freed but not yet NULL'ed.
13160 (x_free_gc): Remove BLOCK_INPUT since it's now redundant.
13161
13162 2007-09-28 Dan Nicolaescu <dann@ics.uci.edu>
13163
13164 * Makefile.in (lisp, shortlisp): Delete server.elc, it is not
13165 loaded by default.
13166
13167 2007-09-28 Stefan Monnier <monnier@iro.umontreal.ca>
13168
13169 * term.c (Fgpm_mouse_start): Don't signal an error if already activated
13170 on this tty.
13171 (Fgpm_mouse_stop): Only deactivate if it was activated on this tty.
13172
13173 * term.c (mouse_face_window): Rename from Qmouse_face_window.
13174 Update all users.
13175 (handle_one_term_event): Use Gpm_DrawPointer.
13176 (Fgpm_mouse_start): Rename from Fterm_open_connection.
13177 Signal errors instead of returning nil. Always return nil.
13178 (Fgpm_mouse_stop): Rename from Fterm_close_connection.
13179 Make it a noop if gpm-mouse was not activated.
13180 (syms_of_term): Update names.
13181
13182 2007-09-27 Stefan Monnier <monnier@iro.umontreal.ca>
13183
13184 * sysdep.c (narrow_foreground_group, widen_foreground_group): Static.
13185 (init_sys_modes): Check that gpm_tty is the current tty.
13186
13187 * alloc.c (allocate_terminal): Set the vector size to only count the
13188 lisp fields. Initialize those to nil.
13189 (mark_object): Don't treat terminals specially.
13190 (mark_terminal): Remove.
13191 (mark_terminals): Use mark_object instead.
13192
13193 * termhooks.h (struct terminal): Move all Lisp_Object fields traced by
13194 the GC to the beginning.
13195
13196 * indent.h:
13197 * indent.c: Use EMACS_INT for ints coming from Elisp data.
13198
13199 * indent.c (Fmove_to_column): Use EMACS_INT for buffer positions.
13200
13201 2007-09-25 Jason Rumney <jasonr@gnu.org>
13202
13203 * frame.c (make_terminal_frame): Remove special case for WINDOWSNT.
13204
13205 * w32console.c (create_w32cons_output): Remove.
13206
13207 * term.c (init_tty): Call init_sys_modes on WINDOWSNT also.
13208
13209 * sysdep.c (init_sys_modes): Use set_terminal_modes_hook.
13210 (reset_sys_modes): Use reset_terminal_modes_hook.
13211
13212 2007-09-24 Stefan Monnier <monnier@iro.umontreal.ca>
13213
13214 * eval.c (do_autoload): Don't output any message.
13215
13216 2007-09-24 Juri Linkov <juri@jurta.org>
13217
13218 * emacs.c (standard_args): Change priority of "--no-splash"
13219 from 40 to 3. Add "--no-desktop" with the same priority.
13220
13221 2007-09-23 Dmitry Antipov <dmantipov@yandex.ru>
13222
13223 * alloc.c (gc_sweep): Check cons cell mark bits word by word
13224 and optimize the case where they are all 1.
13225
13226 2007-09-23 Johannes Weiner <hannes@saeurebad.de>
13227
13228 * lisp.h (abs): Define if not defined.
13229 * keyboard.c, sound.c, w32term.c, xfaces.c, xterm.c:
13230 Don't define `abs', since it's defined in lisp.h.
13231
13232 2007-09-22 Eli Zaretskii <eliz@gnu.org>
13233
13234 * term.c (DEV_TTY): New macro. Provide a definition for MS-Windows.
13235 (FRAME_TERMCAP_P) [WINDOWSNT]: Don't define to zero.
13236 (Fcontrolling_tty_p, Fresume_tty, dissociate_if_controlling_tty)
13237 (init_tty): Use DEV_TTY instead of "/dev/tty".
13238 [WINDOWSNT]: No need to protect from NAME arg being null.
13239
13240 2007-09-21 Dan Nicolaescu <dann@ics.uci.edu>
13241
13242 * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning
13243 up the tty state.
13244
13245 2007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
13246
13247 * termhooks.h (term_gpm): Delete. Use gpm_tty's NULLness instead.
13248 (gpm_tty): Change its type.
13249 * term.c (term_gpm): Delete. Use gpm_tty's NULLness instead.
13250 (gpm_tty): Change its type and initialize it.
13251 (Fterm_open_connection): Check the frame is indeed a tty.
13252 Use the new gpm_tty.
13253 (Fterm_close_connection): Use the new gpm_tty.
13254 * keyboard.c (tty_read_avail_input): Use the new gpm_tty.
13255 * sysdep.c (init_sys_modes): term_gpm -> gpm_tty.
13256
13257 2007-09-21 Juanma Barranquero <lekktu@gmail.com>
13258
13259 * w32term.c (x_draw_glyph_string): Use strike_through_color, not
13260 underline_color, to draw strike-through.
13261
13262 2007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
13263
13264 * lisp.h (allocate_terminal): Declare.
13265
13266 * window.c (candidate_window_p): Consider frames that are being placed
13267 by the user as somewhere between visible and iconified.
13268 (window_loop): Prefer windows on the current frame.
13269 (Fselect_window): Move the use of select-frame to the beginning so we
13270 can just delegate all the work (it'll call us back anyway).
13271
13272 * frame.c (Qdisplay_environment_variable):
13273 * frame.h (Qdisplay_environment_variable): Delete.
13274
13275 * .gdbinit (xbacktrace): Print the arg's address rather than the value
13276 of the first arg, since that value may be a union.
13277
13278 * callproc.c (child_setup, getenv_internal): Use the frame's `display'
13279 parameter rather than Qdisplay_environment_variable. If all else
13280 fails, look for DISPLAY in initial-environment.
13281
13282 2007-09-21 Glenn Morris <rgm@gnu.org>
13283
13284 * Makefile.in (emacstool): Remove target.
13285 (lisp, shortlisp): Remove termdev.elc.
13286
13287 2007-09-21 Markus Triska <markus.triska@gmx.at>
13288
13289 * xterm.c (x_delete_display): Compile session management conditionally.
13290
13291 2007-09-20 Stefan Monnier <monnier@iro.umontreal.ca>
13292
13293 * callproc.c (getenv_internal_1): New function.
13294 (getenv_internal): Use it.
13295 (Fgetenv_internal): Use it. Accept an env-list as optional arg.
13296
13297 * terminal.c (get_terminal): Don't accept ints to represent terminals.
13298 (Fterminal_name, Fterminal_parameters, Fterminal_parameter)
13299 (Fset_terminal_parameter): Work with dead terminals as well.
13300 (Fmodify_terminal_parameters): Remove.
13301
13302 * terminal.c (get_terminal): Handle terminals.
13303 Make sure the terminal returned is live.
13304 (create_terminal): Use allocate_terminal.
13305 (mark_terminals): Move to alloc.c.
13306 (delete_terminal): Use terminal->name as liveness status.
13307 NULL out fields after freeing their contents.
13308 Don't deallocate the object.
13309 (Fframe_terminal): Use FRAME_TERMINAL. Return the terminal object
13310 rather than an int.
13311 (Fterminal_live_p): Accept non-integer arguments.
13312 (Fterminal_list): Return terminal objects rather than an ints.
13313
13314 * alloc.c (enum mem_type): New member for `terminal' objects.
13315 (allocate_terminal): New function.
13316 (mark_maybe_pointer, valid_lisp_object_p, mark_object):
13317 Handle terminals.
13318 (mark_terminal): New fun.
13319 (mark_terminals): Move from terminal.c.
13320
13321 * term.c (get_tty_terminal): Don't treat output_initial specially.
13322 (Fsuspend_tty, Fresume_tty): Use terminal objects rather than ints.
13323 (delete_tty): Use terminal->name as liveness status.
13324
13325 * termhooks.h (struct terminal): Make it into a pseudovector.
13326 Remove `deleted' replaced by checking `name's nullness.
13327
13328 * print.c (print_object): Handle terminals.
13329
13330 * lisp.h (enum pvec_type): New `terminal' pseudovector.
13331 (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros.
13332
13333 * frame.c (make_terminal_frame):
13334 * keyboard.c (tty_read_avail_input):
13335 * w32term.c (x_delete_terminal):
13336 * xfns.c (Fx_create_frame, x_create_tip_frame):
13337 * xterm.c (x_delete_terminal): Use terminal->name as liveness status.
13338
13339 2007-09-20 Glenn Morris <rgm@gnu.org>
13340
13341 * process.c (Fmake_network_process): Doc fix.
13342
13343 2007-09-19 Jason Rumney <jasonr@gnu.org>
13344
13345 * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument.
13346
13347 2007-09-19 Michaël Cadilhac <michael@cadilhac.name>
13348
13349 * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form):
13350 Fix a C warning regarding variable constness.
13351
13352 * xterm.c (handle_one_xevent): Fix a C warning.
13353
13354 2007-09-18 Jason Rumney <jasonr@gnu.org>
13355
13356 * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame.
13357
13358 2007-09-17 Jan Djärv <jan.h.d@swipnet.se>
13359
13360 * gtkutil.c (gdpy_def): New variable.
13361 (xg_initialize): Initialize gdpy_def.
13362 (xg_display_close): If no other display exists, set gdpy_def to a
13363 new connection.
13364
13365 2007-09-16 Jan Djärv <jan.h.d@swipnet.se>
13366
13367 * gtkutil.c (xg_get_image_for_pixmap): Always create a GdkPixbuf
13368 when we have no file name for the icon.
13369 (xg_tool_bar_expose_callback): Remove.
13370 (xg_create_tool_bar): Don't connect expose signal to
13371 xg_tool_bar_expose_callback.
13372 (xg_get_file_with_chooser): Move GCPRO1 after declarations.
13373
13374 2007-09-16 Andreas Schwab <schwab@suse.de>
13375
13376 * alloc.c (reset_malloc_hooks): Set the hooks to the previous
13377 values instead of zapping them.
13378
13379 2007-09-14 Glenn Morris <rgm@gnu.org>
13380
13381 * fringe.c (init_fringe_bitmap) <swap_nibble>: Move to file scope.
13382 * gtkutil.c (xg_separator_p) <separator_names>: Move to file scope.
13383 * image.c (our_memory_fill_input_buffer) <buffer>: Move to file
13384 scope and rename to omfib_buffer for clarity.
13385 (gif_load) <interlace_start, interlace_increment>: Move to file scope.
13386
13387 2007-09-14 Kenichi Handa <handa@m17n.org>
13388
13389 * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero.
13390
13391 2007-09-13 Jason Rumney <jasonr@gnu.org>
13392
13393 * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument.
13394
13395 * w32term.c (w32_term_init): Pass rif to w32_init_fringe.
13396
13397 * macterm.c (mac_initialize): Don't call mac_init_fringe here.
13398 (mac_term_init): Call here instead, passing rif.
13399
13400 2007-09-13 Glenn Morris <rgm@gnu.org>
13401
13402 * s/hpux.h: No longer define `static' as nothing.
13403
13404 2007-09-13 Johan Bockgård <bojohan@gnu.org>
13405
13406 * callint.c (Fcall_interactively): Remove unused var `fun'.
13407
13408 2007-09-12 Romain Francoise <romain@orebokech.com>
13409
13410 * window.c (prefer_window_split_horizontally, display_buffer):
13411 Revert 2007-09-08 change.
13412
13413 2007-09-12 Glenn Morris <rgm@gnu.org>
13414
13415 * alloca.c: Remove file.
13416 * Makefile.in (alloca): Do not undef.
13417 (allocaobj, alloca.o): Remove.
13418 (otherobj): Remove allocaobj.
13419 * keyboard.c (command_loop_1): Remove #ifdef C_ALLOCA block.
13420 * regex.c (C_ALLOCA): Remove all references and code that was only
13421 used when this was defined.
13422 * search.c (boyer_moore): Remove #ifdef C_ALLOCA block.
13423 * xmenu.c (xmenu_show): Remove #ifdef C_ALLOCA block.
13424 * m/ibms390x.h, m/sh3el.h (C_ALLOCA): Remove references to this.
13425
13426 * Makefile.in (SOURCES, unlock, relock): Delete.
13427
13428 * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity.
13429 (menu_grab_callback): All uses changed.
13430
13431 * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity.
13432 (x_reply_selection_request): All uses changed.
13433
13434 2007-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
13435
13436 * lread.c (load_warn_old_style_backquotes): Change message to look
13437 better when it appears in the middle of byte-compiler messages.
13438
13439 2007-09-10 Dan Nicolaescu <dann@ics.uci.edu>
13440
13441 * s/darwin.h (MULTI_KBOARD): Only define for Carbon.
13442
13443 * xterm.c (x_create_terminal): Add comment.
13444
13445 * term.c (clear_tty_hooks, set_tty_hooks): Add comments.
13446
13447 2007-09-10 Richard Stallman <rms@gnu.org>
13448
13449 * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME.
13450
13451 2007-09-10 Michaël Cadilhac <michael@cadilhac.name>
13452
13453 * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'.
13454 (DEFUN): Document `intspec', use it instead of `prompt'.
13455
13456 * eval.c (Fcommandp): Change `->prompt' to `->intspec'.
13457
13458 * data.c (Finteractive_form): If the interactive specification starts
13459 with a `(', use it as a Lisp form.
13460
13461 * fileio.c (Fset_file_modes): Add an interactive spec that reads a file
13462 name and file modes.
13463
13464 * callint.c (Fcall_interactively): Comment fixes.
13465
13466 2007-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
13467
13468 * callint.c (Fcall_interactively): Use Finteractive_form also for subrs
13469 and compiled functions.
13470
13471 2007-09-08 Fredrik Axelsson <f.axelsson@gmail.com>
13472
13473 * window.c (prefer_window_split_horizontally): New variable.
13474 (display_buffer): Consider splitting window horizontally depending
13475 on prefer_window_split_horizontally.
13476
13477 2007-09-08 Eli Zaretskii <eliz@gnu.org>
13478
13479 * sysdep.c [WINDOWSNT]: Don't include sysselect.h.
13480
13481 2007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
13482
13483 * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking.
13484
13485 * frame.c (x_set_frame_parameters): Check number is positive before
13486 using XFASTINT.
13487
13488 * window.c (freeze_window_start): Don't presume selected_window holds
13489 a window object.
13490 (Fdisplay_buffer): Remove `register' since `buffer' needs to be gcpro'd.
13491
13492 2007-09-07 Angelo Graziosi <Angelo.Graziosi@roma1.infn.it> (tiny change)
13493
13494 * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN.
13495
13496 2007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
13497
13498 * window.c (Vsplit_window_preferred_function): New var.
13499 (Fdisplay_buffer): Use it.
13500 (syms_of_window): Export, and initialize it.
13501
13502 2007-09-06 Pixel <pixel@mandriva.com> (tiny change)
13503
13504 * image.c (gif_load): Fix bug: Handle nonexistent colormap.
13505
13506 2007-09-06 Glenn Morris <rgm@gnu.org>
13507
13508 * gtkutil.c (menu_grab_callback) <cnt>:
13509 * xselect.c (x_reply_selection_request) <cnt>: Move static
13510 variable to file scope.
13511
13512 2007-09-06 Stefan Monnier <monnier@iro.umontreal.ca>
13513
13514 * xdisp.c (redisplay_internal): Make sure Elisp code always sees
13515 consistent values of selected_frame and selected_window.
13516
13517 2007-09-04 Jason Rumney <jasonr@gnu.org>
13518
13519 * w32console.c (initialize_w32_display): Zero unused hooks.
13520
13521 2007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
13522
13523 * term.c (Vsuspend_tty_functions, Vresume_tty_functions)
13524 (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change.
13525
13526 2007-09-04 Jason Rumney <jasonr@gnu.org>
13527
13528 * term.c (init_tty) [WINDOWSNT]: Add hooks that are not accessible
13529 in w32console.c. Set up input. Remove XXX comments that have been
13530 confirmed as correct.
13531
13532 * s/ms-w32.h (MULTI_KBOARD): Define.
13533
13534 * w32console.c (one_and_only_w32cons): Remove.
13535 (initialize_w32_display): Take terminal argument.
13536
13537 * term.c (init_tty) [WINDOWSNT]: Pass terminal to
13538 initialize_w32_display.
13539 (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too.
13540
13541 * termhooks.h (enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
13542
13543 * keyboard.c (discard_mouse_events): Discard it.
13544 (make_lispy_event): Translate it to a lisp event.
13545 (lispy_wheel_names): Add wheel-left and right events.
13546 (syms_of_keyboard): Enlarge wheel_syms.
13547
13548 * w32fns.c (w32_wnd_proc) <WM_DROPFILES>: Merge with WM_MOUSEWHEEL.
13549 <WM_MOUSEHWHEEL>: Pass new system message to lisp.
13550
13551 * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't.
13552
13553 * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT
13554 from WM_MOUSEHWHEEL.
13555 (w32_read_socket) <WM_MOUSEHWHEEL>: Treat as WM_MOUSEWHEEL.
13556
13557 * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from
13558 terminal.
13559
13560 * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new
13561 keyboard for the terminal.
13562
13563 2007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
13564
13565 * term.c (Vsuspend_tty_hook): Rename from Vsuspend_tty_functions.
13566 (Vresume_tty_hook): Rename from Vresume_tty_functions.
13567 (syms_of_term): Rename suspend-tty-functions to suspend-tty-hook
13568 and resume-tty-function to resume-tty-hook.
13569 (Fsuspend_tty, Fresume_tty): Use new names.
13570
13571 2007-09-02 Jan Djärv <jan.h.d@swipnet.se>
13572
13573 * gtkutil.c (update_frame_tool_bar): Handle stock name as a named icon
13574 if it starts with "n:".
13575
13576 2007-08-31 Jan Djärv <jan.h.d@swipnet.se>
13577
13578 * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL.
13579
13580 2007-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
13581
13582 * frame.h:
13583 * frame.c (Qterm_environment_variable): Remove.
13584 (syms_of_frame): Don't init and staticpro it.
13585
13586 * callproc.c (getenv_internal): Remove special case for $TERM.
13587
13588 * callproc.c (Vinitial_environment): New variable.
13589 (set_initial_environment): Initialize it.
13590 (syms_of_callproc): Declare it.
13591 (child_setup): Don't mess with TERM via Qterm_environment_variable; the
13592 TERM under which a process runs is never related to the TERM in which
13593 Emacs is running.
13594
13595 2007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
13596
13597 * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here...
13598 * s/darwin.h: ... do it here.
13599
13600 2007-08-29 Stefan Monnier <monnier@iro.umontreal.ca>
13601
13602 * lisp.h (set_initial_environment): Rename from set_global_environment.
13603
13604 * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been
13605 removed by mistake on the multi-tty branch.
13606
13607 * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup.
13608 (Fmodify_frame_parameters): Return a value.
13609
13610 * image.c (png_load): Comment-out var only used in commented-out code.
13611
13612 * term.c (mark_ttys): Don't bother checking top_frame (incorrectly)
13613 before passing it to mark_object.
13614
13615 * xfaces.c (internal_resolve_face_name): Return a value.
13616 (internal_resolve_face_name, resolve_face_name_error): Comment out.
13617
13618 * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup.
13619 (x_icon): Comment-out var only used in commented-out code.
13620
13621 2007-08-29 Romain Francoise <romain@orebokech.com>
13622
13623 * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if
13624 QUIT hasn't been provided.
13625
13626 2007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
13627
13628 * callproc.c (child_setup, getenv_internal): Use the
13629 display-environment-variable and term-environment-variable frame params.
13630 (set_initial_environment): Initialise Vprocess_environment.
13631
13632 * config.in: Disable multi-keyboard support on a mac.
13633
13634 * frame.c (Qterm_environment_variable)
13635 (Qdisplay_environment_variable): New variables.
13636 (syms_of_frame): Intern and staticpro them.
13637 (Fmake_terminal_frame): Disable output method test.
13638
13639 * frame.h: Declare them here.
13640
13641 * macfns.c (x_set_mouse_color): Get rif from the frame.
13642 (x_set_tool_bar_lines): Don't use updating_frame.
13643 (mac_window): Add 2 new parameters for consistency with other systems.
13644 (Fx_create_frame): Fix doc string. Rename the parameter. Set the
13645 frame parameters following what is done in X11 and w32. Don't use
13646 FRAME_MAC_DISPLAY_INFO.
13647 (Fx_open_connection, start_hourglass): Remove window-system check.
13648 (x_create_tip_frame): Get the keyboard from the terminal.
13649
13650 * macmenu.c: Reorder includes.
13651 (Fx_popup_menu): Use terminal specific mouse_position_hook.
13652
13653 * macterm.c (XTset_terminal_modes, XTreset_terminal_modes): Add a
13654 terminal parameter.
13655 (x_clear_frame): Add a frame parameter.
13656 (note_mouse_movement): Get rif from the frame.
13657 (mac_term_init): Initialize the terminal.
13658 (mac_initialize): Make static and move terminal initialization ...
13659 (mac_create_terminal): ... to this new function.
13660
13661 * macterm.h (struct mac_display_info): Add terminal.
13662 (mac_initialize): Delete declaration.
13663
13664 * puresize.h (BASE_PURESIZE): Increase base value to 1164000.
13665
13666 * sysdep.c: Comment out text after #endif.
13667
13668 * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD
13669 is defined. Better initialize ttys in windows. Use terminal
13670 specific mouse_position_hook.
13671
13672 * termhooks.h (union display_info): Add mac_display_info.
13673
13674 * w32fns.c (Fx_create_frame): Use kboard from the terminal.
13675 Set the default minibuffer frame, window_system and the rest of the
13676 frame parameters following what is done in X11.
13677
13678 * w32term.c (w32_initialize): Make static.
13679
13680 * xselect.c (x_handle_selection_clear): Only access
13681 terminal->kboard when MULTI_KBOARD is defined.
13682
13683 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
13684 (SYSTEM_PURESIZE_EXTRA): Only define on Carbon.
13685
13686 2007-08-29 Jason Rumney <jasonr@gnu.org>
13687
13688 * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined.
13689 (make_terminal_frame) [WINDOWSNT]: Initialize terminal.
13690
13691 * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]:
13692 (mac_init_fringe) [MAC_OS]: Get rif from selected_frame.
13693
13694 * keyboard.c (restore_kboard_configuration): Only define when
13695 MULTI_KBOARD defined.
13696
13697 * makefile.w32-in: Update dependancies from Makefile.in.
13698 (OBJ1): Add terminal.$(O)
13699
13700 * term.c (dissociate_if_controlling_tty) [WINDOWSNT]:
13701 Don't define function body.
13702 (init_tty) [WINDOWSNT]: Use selected_frame for initializing.
13703
13704 * termhooks.h (display_info) [WINDOWSNT]: Add w32.
13705
13706 * w32.c (request_sigio, unrequest_sigio): Remove.
13707
13708 * w32console.c (w32con_move_cursor, w32con_clear_to_end)
13709 (w32con_clear_frame, w32con_clear_end_of_line)
13710 (w32con_ins_del_lines, w32con_insert_glyphs, w32con_write_glyphs)
13711 (w32con_delete_glyphs, w32con_set_terminal_window)
13712 (scroll_line, w32_sys_ring_bell): Add frame arg.
13713 (w32con_set_terminal_modes, w32con_reset_terminal_modes):
13714 Add terminal arg.
13715 (PICK_FRAME): Remove.
13716 (w32con_write_glyphs): Use frame specific terminal coding.
13717 (one_and_only_w32cons): New global variable.
13718 (initialize_w32_display): Use it for storing hooks.
13719 (create_w32cons_output): New function.
13720
13721 * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first
13722 arg a frame.
13723
13724 * w32fns.c (x_create_tip_frame): Set terminal and ref count.
13725 Set window_system.
13726 (x_set_tool_bar_lines): Don't use updating_frame.
13727 (Fx_create_frame): Set terminal and ref count.
13728 (Fx_open_connection): Remove window-system check.
13729
13730 * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook.
13731
13732 * w32term.c (w32_term_init): Call add_keyboard_wait_descriptor.
13733 (w32_set_terminal_modes, w32_reset_terminal_modes): Add terminal arg.
13734 (x_clear_frame, x_delete_glyphs, w32_ring_bell, x_ins_del_lines):
13735 Add frame arg.
13736 (x_delete_terminal, w32_create_terminal): New functions.
13737 (w32_term_init): Create a terminal.
13738 (w32_initialize): Move terminal specific initialization to
13739 w32_create_terminal.
13740
13741 * w32term.h (x_output): Remove foreground_pixel and background_pixel.
13742 (w32_clear_rect, w32_clear_area): Use background from frame.
13743 (w32_display_info): Add terminal.
13744 (w32_sys_ring_bell, x_delete_display): Declare here.
13745
13746 * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type.
13747
13748 * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k.
13749
13750 2007-08-29 Kalle Olavi Niemitalo <kon@iki.fi> (tiny change)
13751
13752 * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char):
13753 Fix get_named_tty calls for the controlling tty.
13754
13755 2007-08-29 ARISAWA Akihiro <ari@mbf.ocn.ne.jp> (tiny change)
13756
13757 * term.c (dissociate_if_controlling_tty)[USG]: Fix parse error.
13758
13759 2007-08-29 Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp> (tiny change)
13760
13761 * term.c (tty_insert_glyphs): Add missing first parameter.
13762
13763 2007-08-29 Károly Lőrentey <karoly@lorentey.hu>
13764
13765 * buffer.c (Fbuffer_list, Fbury_buffer):
13766 Take frame->buried_buffer_list into account.
13767
13768 * cm.c (current_tty): New variable, for cmputc().
13769 (cmputc): Use it.
13770 (cmcheckmagic): Add tty parameter, look up terminal streams there.
13771 (calccost): Add tty parameter. Use emacs_tputs() instead of tputs().
13772 (cmgoto): Add tty parameter. Pass it on to calccost().
13773 Use emacs_tputs() instead of tputs().
13774
13775 * cm.h (emacs_tputs): New macro to set current_tty, and then call
13776 tputs().
13777 (current_tty): New variable, for cmputc().
13778 (cmcheckmagic, cmputc, cmgoto): Add prototypes.
13779
13780 * eval.c (unwind_to_catch): Don't call x_fully_uncatch_errors.
13781 (internal_condition_case, internal_condition_case_1)
13782 (internal_condition_case_2): Don't abort when x_catching_errors.
13783
13784 * fns.c (Fyes_or_no_p): Don't try to open an X dialog on tty terminals.
13785 (Fy_or_n_p): Likewise. Use temporarily_switch_to_single_kboard to
13786 prevent crashes caused by bogus longjmps in read_char.
13787
13788 * keymap.h (Fset_keymap_parent): Add EXFUN.
13789
13790 * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
13791 * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
13792 Remove redundant definition.
13793
13794 * macfns.c (x_set_mouse_color, x_make_gc):
13795 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
13796
13797 * w32term.c (x_free_frame_resources):
13798 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
13799 (w32_initialize): Use the accessor macros for terminal characteristics.
13800
13801 * macterm.c (mac_initialize): Use Fset_input_interrupt_mode.
13802 Use the accessor macros for terminal characteristics.
13803 * msdos.c (internal_terminal_init): Use the accessor macros for
13804 terminal characteristics.
13805 (ScreenVisualBell, internal_terminal_init):
13806 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
13807
13808 * termopts.h (no_redraw_on_reenter): Declare.
13809
13810 * alloc.c (emacs_blocked_malloc): Disable mallopt call.
13811 (mark_terminals, mark_ttys): Declare.
13812 (Fgarbage_collect): Call them.
13813 (mark_object): Mark buried_buffer_list.
13814
13815 * prefix-args.c: Include stdlib.h for exit.
13816
13817 * syssignal.h: Add comment.
13818
13819 * indent.c: Include stdio.h.
13820
13821 * window.h (Vinitial_window_system): Declare.
13822 (Vwindow_system): Delete declaration.
13823
13824 * fontset.c (Finternal_char_font): Use FRAME_RIF.
13825
13826 * image.c (lookup_image): Don't initialize `c' until the xasserts
13827 have been run.
13828
13829 * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and
13830 FRAME_FOREGROUND_PIXEL.
13831
13832 * print.c (print_preprocess): Don't lose print_depth levels while
13833 iterating.
13834
13835 * widget.c (update_from_various_frame_slots):
13836 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
13837
13838 * window.c (set_window_buffer): Don't call clear_mouse_face on tty
13839 frames.
13840 (window_internal_height): Remove bogus make_number call.
13841 (init_window_once): Call make_terminal_frame with two zero parameters.
13842
13843 * fileio.c (Fread_file_name): Update comment.
13844
13845 * callint.c (Fcall_interactively):
13846 Use temporarily_switch_to_single_kboard instead of single_kboard_state.
13847 Make sure it is correctly unwound.
13848
13849 * xsmfns.c (x_session_close): New function.
13850
13851 * coding.h (terminal_coding, safe_terminal_coding, keyboard_coding):
13852 Delete declarations.
13853
13854 * xterm.h: Remove declaration for x_fully_uncatch_errors.
13855 (x_output): Remove background_pixel and foreground_pixel fields.
13856 (x_display_info): Add new field TERMINAL. Remove KBOARD field.
13857 (x_delete_device, x_session_close): Declare.
13858
13859 * lread.c: Include setjmp.h. Update declaration of `read_char'.
13860 (read_filtered_event): Call `read_char' with a local
13861 `wrong_kboard_jmpbuf'.
13862
13863 * minibuf.c (read_minibuf): Call temporarily_switch_to_single_kboard.
13864 Don't call single_kboard_state. Use FRAME_RIF.
13865
13866 * process.c (Fmake_network_process): Don't unrequest_sigio on modern
13867 systems.
13868
13869 * lisp.h (set_process_environment): Rename to `set_global_environment'.
13870 (Fframe_with_environment, Fset_input_meta_mode)
13871 (Fset_quit_char): EXFUN.
13872 (x_create_device, tty_output, terminal, tty_display_info): Declare.
13873 (init_sys_modes, reset_sys_modes): Update prototypes.
13874 (init_all_sys_modes, reset_all_sys_modes): New prototypes.
13875
13876 * keyboard.h (struct kboard): Add new fields Vlocal_function_key_map,
13877 Vlocal_key_translation_map, and Vkeyboard_translate_table.
13878 (Vfunction_key_map, Vkeyboard_translate_table, single_kboard_state):
13879 Delete declarations.
13880 (Vfunction_key_map, Vkey_translation_map, push_kboard, pop_kboard)
13881 (temporarily_switch_to_single_kboard, tty_read_avail_input):
13882 New declarations.
13883
13884 * emacs.c (main): Don't call init_sys_modes(), the new term_init()
13885 already does that during init_display(). Call syms_of_keymap
13886 before syms_of_keyboard. Call `syms_of_terminal'.
13887 Call set_initial_environment, not set_process_environment.
13888 (shut_down_emacs): Call reset_all_sys_modes() instead of
13889 reset_sys_modes().
13890
13891 * xfaces.c (x_free_gc): Protect xassert with GLYPH_DEBUG.
13892 (internal_resolve_face_name, resolve_face_name_error): New functions.
13893 (resolve_face_name): Protect against loops and errors thrown by Fget.
13894 (realize_default_face): Don't use FRAME_FONT unless frame is an X frame.
13895 (Ftty_supports_face_attributes_p): Update tty_capable_p call.
13896
13897 * scroll.c: Replace CURTTY() with local variables throughout the
13898 file (where applicable).
13899 (calculate_scrolling, calculate_direct_scrolling)
13900 (scrolling_1, scroll_cost): Use the accessor macros for terminal
13901 characteristics.
13902
13903 * keymap.c (Vfunction_key_map): Remove.
13904 (Fdescribe_buffer_bindings): Update references to Vfunction_key_map.
13905 (syms_of_keymap): Remove DEFVAR for Vfunction_key_map.
13906 (Vkey_translation_map): Remove.
13907 (syms_of_keymap): Remove DEFVAR for key-translation-map.
13908 (Fdescribe_buffer_bindings)
13909 (read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards):
13910 Update for terminal-local key-translation-map.
13911
13912 * Makefile.in (callproc.o): Update dependencies.
13913 (lisp, shortlisp): Add termdev.elc.
13914 (obj): Add terminal.o.
13915 (terminal.o): Add dependencies.
13916 [HAVE_CARBON]: Make terminal.o depend on macgui.h.
13917 (data.o, fns.o): Add termhooks.h dependency.
13918 (SOME_MACHINE_LISP): Add dnd.elc.
13919 (minibuf.o): Fix typo.
13920 Update dependencies.
13921
13922 * data.c (do_symval_forwarding, store_symval_forwarding)
13923 (find_symbol_value): Use the selected frame's keyboard, not
13924 current_kboard.
13925
13926 * .gdbinit (init_sys_modes): Use Vinitial_window_system instead of
13927 Vwindow_system.
13928
13929 * xmenu.c (Fx_menu_bar_open) [USE_X_TOOLKIT, USE_GTK]: Rename from
13930 Fmenu_bar_open.
13931 (syms_of_xmenu): Update defsubr.
13932 (mouse_position_for_popup, Fx_popup_menu)
13933 (Fx_popup_dialog, x_activate_menubar, update_frame_menubar)
13934 (set_frame_menubar, free_frame_menubar)
13935 (create_and_show_popup_menu, xmenu_show, )
13936 (create_and_show_dialog, xdialog_show, xmenu_show): Abort if not
13937 an X frame.
13938
13939 * xselect.c (x_own_selection): Abort if not an X frame.
13940 (some_frame_on_display): Check if it is an X frame.
13941 (x_handle_selection_clear): Deal with MULTI_KBOARD.
13942
13943 * coding.c: Include frame.h and termhooks.h.
13944 (terminal_coding, keyboard_coding): Delete.
13945 (Fset_terminal_coding_system_internal)
13946 (Fset_keyboard_coding_system_internal)
13947 (Fkeyboard_coding_system)
13948 (Fterminal_coding_system): Add a terminal parameter.
13949 Get terminal_coding from the terminal.
13950 (init_coding_once): Don't call setup_coding_system here.
13951
13952 * dispextern.h (set_scroll_region, turn_off_insert)
13953 (turn_off_highlight, background_highlight, clear_end_of_line_raw)
13954 (tty_clear_end_of_line, tty_setup_colors)
13955 (delete_tty, updating_frame)
13956 (produce_special_glyphs, produce_glyphs, write_glyphs)
13957 (insert_glyphs): Remove.
13958 (raw_cursor_to, clear_to_end, tty_turn_off_insert)
13959 (tty_turn_off_highlight, get_tty_size): Add declaration.
13960 (tabs_safe_p, init_baud_rate, get_tty_terminal): Update prototypes.
13961
13962 * frame.h (enum output_method): Add output_initial.
13963 (struct x_output): Delete.
13964 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
13965 Access foreground_pixel and background_pixel directly from the frame.
13966 (tty_display): Delete.
13967 (struct frame): Add buried_buffer_list, foreground_pixel,
13968 background_pixel and terminal. Delete kboard.
13969 (union output_data): Add tty.
13970 (FRAME_KBOARD): Get the kboard from the terminal.
13971 (FRAME_INITIAL_P): New macro.
13972 (Qtty, Qtty_type, Qterminal, Qterminal_live_p, Qenvironment)
13973 (Qterm_environment_variable, Qdisplay_environment_variable)
13974 (make_terminal_frame, Qburied_buffer_list, Qwindow_system):
13975 New declarations.
13976
13977 * termchar.h (tty_output, tty_display_info): New structures.
13978 (tty_list): Declare.
13979 (FRAME_TTY, CURTTY): New macros.
13980 (must_write_spaces, min_padding_speed, fast_clear_end_of_line)
13981 (line_ins_del_ok, char_ins_del_ok, scroll_region_ok)
13982 (scroll_region_cost, memory_below_frame, fast_clear_end_of_line)
13983 (dont_calculate_costs, no_redraw_on_reenter): Remove declarations.
13984
13985 * callproc.c: Include frame.h and termhooks.h, for terminal
13986 parameters.
13987 (add_env): New function.
13988 (child_setup): Use it.
13989 (child_setup, getenv_internal): Handle the new Vprocess_environment.
13990 (getenv_internal): Fix get_terminal_param call.
13991 (Fgetenv_internal, egetenv): Update doc.
13992 (syms_of_callproc): Initialize Vprocess_environment to nil.
13993 Register and initialize them. Remove obsolete defvars. Update doc
13994 strings.
13995 (child_setup): Handle Vlocal_environment_variables.
13996 (getenv_internal): Add terminal parameter.
13997 Handle Vlocal_environment_variables.
13998 (Fgetenv_internal): Add terminal parameter.
13999 (child_setup, getenv_internal, Fgetenv_internal): Store the local
14000 environment in a frame (not terminal) parameter. Update doc strings.
14001 (set_initial_environment): Rename from set_global_environment.
14002 Store Emacs environment in initial frame parameter.
14003
14004 * xdisp.c (redisplay_internal): Update references to
14005 `previous_terminal_frame'.
14006 (display_mode_line, Fformat_mode_line): Replace calls to
14007 `push_frame_kboard' with `push_kboard'.
14008 (get_glyph_string_clip_rects): Add extra parentheses and
14009 braces to prevent compiler warnings.
14010 (calc_pixel_width_or_height): Add xassert to check that the
14011 frame is alive. Don't call `lookup_image' on a termcap frame.
14012 (message2_nolog, message3_nolog, redisplay_internal)
14013 (set_vertical_scroll_bar, redisplay_window, check_x_display_info)
14014 (x_set_scroll_bar_foreground, x_set_scroll_bar_background)
14015 (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p)
14016 (Fx_display_pixel_width, Fx_display_pixel_height)
14017 (Fx_display_planes, Fx_display_color_cells)
14018 (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
14019 (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width)
14020 (Fx_display_backing_store, Fx_display_visual_class)
14021 (Fx_display_save_under, Fx_close_connection, x_create_tip_frame):
14022 Use FRAME_TERMINAL_P, FRAME_WINDOW_P, FRAME_TTY and FRAME_RIF.
14023
14024 * xfns.c (x_set_foreground_color x_set_background_color)
14025 (x_set_mouse_color, x_set_cursor_color, x_make_gc):
14026 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
14027 (Fx_create_frame, x_create_tip_frame, build_string, x_window)
14028 (Fx_create_frame, x_create_tip_frame): Don't create frames on a
14029 terminal that is being deleted.
14030 (Fx_create_frame): Use `store_frame_param' to set `window-system'
14031 frame parameter, and make sure it overrides any user-supplied setting.
14032 (Fx_close_connection, Fx_synchronize): Unify argument names with
14033 the rest of the DEFUNs.
14034
14035 * dispnew.c (Fsend_string_to_terminal): Update call to
14036 `get_tty_terminal'.
14037 (Fredraw_frame, Fsend_string_to_terminal)
14038 (Fsend_string_to_terminal, init_display): Use FRAME_RIF,
14039 FRAME_TERMCAP_P and FRAME_TTY.
14040 (window_change_signal): Don't believe width/height values that are
14041 impossibly small.
14042 (Vinitial_window_system): Rename from Vwindow_system.
14043 (termscript, Wcm, rif): Delete.
14044
14045 * termhooks.h (struct terminal): New struct containing the
14046 previously global text display hooks and new members NAME,
14047 DELETED and PARAM_ALIST.
14048 (FRAME_TERMINAL, TERMINAL_TERMINAL_CODING)
14049 (TERMINAL_KEYBOARD_CODING, TERMINAL_ACTIVE_P, FRAME_WINDOW_P)
14050 (FRAME_RIF): New macros.
14051 (get_terminal_param, get_device): New declarations.
14052 (termscript): Delete declaration.
14053
14054 * xterm.c (x_initialize): Use Fset_input_interrupt_mode.
14055 (XTflash, x_free_frame_resources, x_scroll_bar_create)
14056 (x_scroll_bar_set_handle): Use FRAME_BACKGROUND_PIXEL and
14057 FRAME_FOREGROUND_PIXEL.
14058 (x_fully_uncatch_errors): Disable definition.
14059 (x_scroll_bar_expose): Fix reference to foreground pixel.
14060 (XTread_socket): Disable loop on all X displays.
14061 (x_delete_terminal): Don't set terminal->deleted and let
14062 delete_terminal delete the frames on the terminal.
14063 (x_delete_display): Doc update to reflect changes in
14064 delete_terminal.
14065 (x_display_info) <terminal>: Move member earlier in the struct.
14066 (deleting_tty): Remove old variable.
14067 (Fsuspend_tty): Call clear_tty_hooks.
14068 (Fresume_tty, init_tty): Call set_tty_hooks.
14069 (Ftty_display_color_p, Ftty_display_color_cells): Don't throw
14070 errors on X frames.
14071 (x_catch_errors_unwind): Abort if x_error_message is NULL.
14072 (handle_one_xevent): Initialize `f' to NULL.
14073 (x_delete_terminal, x_create_terminal): New functions.
14074 (XTset_terminal_modes, XTreset_terminal_modes)
14075 (XTread_socket, x_connection_closed, x_term_init)
14076 (x_term_init, x_delete_display): Add terminal parameter.
14077 (x_term_init) [!HAVE_GTK_MULTIDISPLAY]: Refuse to create secondary
14078 X connections.
14079
14080 * frame.c: Include termchar.h.
14081 (Qterminal, Qterminal_live_p, Qburied_buffer_list, Qtty, Qtty_type)
14082 (Qwindow_system, Qenvironment, Qterm_environment_variable)
14083 (Qdisplay_environment_variable): New vars.
14084 (Fframep): Deal with output_initial.
14085 (Fframe-live-p): Doc fix.
14086 (Fwindow-system): New function.
14087 (x_set_screen_gamma, store_frame_param): Fix compilation errors.
14088 (make_terminal_frame): Don't create frames on a terminal that is
14089 being deleted. Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
14090 (store_frame_param): Check for found_for_frame before calling XFRAME.
14091 (Fmake_terminal_frame): Handle NULL tty names correctly.
14092 (syms_of_frame): Enhance doc string of `default-frame-alist'.
14093 (Fdelete_frame): Remove unused variable `count'. Don't allow other
14094 frames to refer to a deleted frame in their 'environment parameter.
14095 (Fframe_with_environment): New function.
14096 (syms_of_frame): Defsubr it. Initialize and staticpro Qenvironment.
14097 (get_future_frame_param): New function.
14098 (Fmake_terminal_frame): Use it.
14099 (x_set_frame_parameters, x_set_screen_gamma): Use FRAME_RIF.
14100
14101 * sysdep.c (init_sys_modes, reset_sys_modes): Update for renames.
14102 * sysdep.c (reset_sys_modes): Update for renames.
14103
14104 * keyboard.c (tty_read_avail_input): New function.
14105 (Fset_input_interrupt_mode, Fset_output_flow_control): New functions.
14106 (syms_of_keyboard): Defsubr them.
14107 (Fset_input_meta_mode, Fset_quit_char): New functions.
14108 (Fset_input_mode): Split to above functions.
14109 (read_char_minibuf_menu_prompt): Add wrong_kboard_jmpbuf
14110 parameter. Use it in call to `read_char'.
14111 (read_char): Declare. Update call to `read_char_minibuf_menu_prompt'.
14112 Set wrong_kboard_jmpbuf correctly in recursive calls.
14113 Use current_kboard to access Vkeyboard_translate_table.
14114 Enhance comment before extra longjmp to wrong_kboard_jmpbuf.
14115 Add wrong_kboard_jmpbuf parameter to allow for recursive calls.
14116 Update longjmp invocations. Remember the original current_kboard,
14117 and longjmp to `wrong_kboard_jmpbuf' when a filter, timer or sentinel
14118 changes it. Comment out unnecessary calls to
14119 `record_single_kboard_state' and `any_kboard_state'.
14120 Update recursive calls.
14121 (wrong_kboard_jmpbuf): Remove global variable.
14122 (read_key_sequence): Remove unused variable wrong_kboard_jmpbuf.
14123 Handle deleted interrupted_kboards correctly; that is a legal
14124 case. Add `wrong_kboard_jmpbuf' local variable. Update setjmp
14125 and read_char calls. Abort if interrupted_kboard died in read_char.
14126 (any_kboard_state, single_kboard_state)
14127 (push_frame_kboard): Remove function.
14128 (pop_kboard): Switch out of single_kboard mode if the kboard has
14129 been deleted. Remove unused variable. Help debugging by not
14130 changing current_kboard unnecessarily. Set current_kboard to the
14131 kboard of the selected frame when the stored kboard object has
14132 been deleted before pop_kboard.
14133 (temporarily_switch_to_single_kboard): Change first parameter to a
14134 frame pointer. Throw an error when caller wants to change kboards
14135 while in single_kboard mode. Don't push_kboard if we weren't in
14136 single kboard state. Don't pop_kboard if we popped into any
14137 kboard state.
14138 (restore_kboard_configuration): Abort if pop_kboard changed the
14139 kboard in single_kboard mode. Call pop_kboard only after setting
14140 up single_kboard mode.
14141 (Frecursive_edit): Switch to single_kboard mode only in nested
14142 command loops.
14143 (cmd_error, command_loop, command_loop_1, timer_check):
14144 Comment out unnecessary call to `any_kboard_state' and
14145 `record_single_kboard_state'.
14146 (delete_kboard): Exit single_kboard mode if we have just deleted
14147 that kboard. Use FRAME_KBOARD.
14148 (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not
14149 `fatal_error_signal'.
14150 (record_single_kboard_state): Don't push_kboard if we weren't in
14151 single kboard state. Don't pop_kboard if we popped into any
14152 kboard state.
14153 (push_frame_kboard): Rename to push_kboard.
14154 (kbd_buffer_get_event): Use FRAME_TERMINAL.
14155 (read_avail_input): Read input from all terminals.
14156 (mark_kboards): Also mark Vkeyboard_translate_table.
14157 (kbd_buffer_store_event_hold): Simplify condition.
14158 (read_key_sequence): Reinitialize fkey and keytran at each replay.
14159 (Vkeyboard_translate_table): Move to struct kboard.
14160 (init_kboard): Initialize Vkeyboard_translate_table.
14161 (syms_of_keyboard): Use DEFVAR_KBOARD to define
14162 Vkeyboard_translate_table. Update doc strings. Update docs of
14163 local-function-key-map and function-key-map.
14164
14165 * terminal.c: New file.
14166
14167 * term.c: Include errno.h.
14168 (Vring_bell_function, device_list, initial_device)
14169 (next_device_id, ring_bell, update_begin, update_end)
14170 (set_terminal_window, cursor_to, raw_cursor_to)
14171 (clear_to_end, clear_frame, clear_end_of_line)
14172 (write_glyphs, insert_glyphs, delete_glyphs, ins_del_lines)
14173 (Fdisplay_name, create_device, delete_device): Move to terminal.c.
14174 (syms_of_term): Move their initialization to terminal.c.
14175 (get_tty_terminal, Fdisplay_tty_type, Ftty_display_color_p)
14176 (Ftty_display_color_cells)
14177 (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output)
14178 (clear_tty_hooks, set_tty_hooks)
14179 (init_tty, maybe_fatal): New functions.
14180 (Ftty_type): Return nil if terminal is not on a tty instead of
14181 throwing an error. Doc update.
14182 (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>:
14183 Doc update. Initialize new subrs and variables.
14184 (delete_tty): Use terminal->deleted.
14185 (tty_set_terminal_modes): Rename from set_terminal_modes.
14186 (tty_reset_terminal_modes): Rename from reset_terminal_modes.
14187 (set_scroll_region): Rename to `tty_set_scroll_region'.
14188 (turn_on_insert): Rename to `tty_turn_on_insert'.
14189 (turn_off_insert): Rename to `tty_turn_off_insert'.
14190 (turn_off_highlight): Rename to `tty_turn_off_highlight'.
14191 (turn_on_highlight): Rename to `tty_turn_on_highlight'.
14192 (toggle_highligh): Rename to `tty_toggle_highlight'.
14193 (background_highlight): Rename to `tty_background_highlight'.
14194 (highlight_if_desired): Rename to `tty_highlight_if_desired'.
14195 (tty_ring_bell, tty_update_end, tty_set_terminal_window)
14196 (tty_set_scroll_region, tty_background_highlight)
14197 (tty_cursor_to, tty_raw_cursor_to, tty_clear_to_end)
14198 (tty_clear_frame, tty_clear_end_of_line, tty_write_glyphs)
14199 (tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines)
14200 (term_get_fkeys, tty_setup_colors, dissociate_if_controlling_tty):
14201 Add static modifier.
14202 (tty_reset_terminal_modes, tty_set_terminal_window)
14203 (tty_set_scroll_region, tty_background_highlight)
14204 (tty_highlight_if_desired, tty_cursor_to)
14205 (tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame)
14206 (tty_clear_end_of_line, tty_write_glyphs, tty_insert_glyphs)
14207 (tty_delete_glyphs, tty_ins_del_lines, turn_on_face): Update for
14208 renames.
14209
14210 2007-08-28 Jan Djärv <jan.h.d@swipnet.se>
14211
14212 * keyboard.c: Qrtl is new.
14213 (parse_tool_bar_item): Handle :rtl keyword.
14214 (syms_of_keyboard): Intern :rtl keyword.
14215
14216 * dispextern.h (enum tool_bar_item_idx): Add TOOL_BAR_ITEM_RTL_IMAGE.
14217
14218 * gtkutil.c (xg_tool_bar_expose_callback): Just do SET_FRAME_GARBAGED
14219 so no Lisp code is executed.
14220 (file_for_image, find_rtl_image): New functions.
14221 (xg_get_image_for_pixmap): Use file_for_image.
14222 (update_frame_tool_bar): If direction is RTL, use RTL image if
14223 defined. Use Gtk stock images if defined.
14224
14225 2007-08-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14226
14227 * macterm.c (x_draw_composite_glyph_string_foreground): Draw rectangle
14228 for nonexistent or zero-width glyph in composition glyph.
14229
14230 2007-08-25 Stefan Monnier <monnier@iro.umontreal.ca>
14231
14232 * m/amdx86-64.h: Redirect to intel386.h if compiling for i386.
14233
14234 * xdisp.c (Finvisible_p): New function.
14235 (syms_of_xdisp): defsubr it.
14236
14237 2007-08-24 Juanma Barranquero <lekktu@gmail.com>
14238
14239 * image.c (syms_of_image) <image-library-alist, cross-disabled-images>:
14240 Doc fixes.
14241
14242 2007-08-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14243
14244 * mac.c [MAC_OSX] (select_and_poll_event, sys_select): Fix last changes.
14245
14246 2007-08-24 Martin Rudalics <rudalics@gmx.at>
14247
14248 * fileio.c (Finsert_file_contents): Consult CHARS_MODIFF to tell
14249 whether decoding has modified buffer contents.
14250
14251 2007-08-24 Jason Rumney <jasonr@gnu.org>
14252
14253 * image.c [HAVE_NTGUI]: Define dynamic loaded functions for SVG.
14254 (Qgdk_pixbuf, Qglib) [HAVE_NTGUI]: New symbols.
14255 (syms_of_image) [HAVE_NTGUI]: Intern and staticpro them.
14256 (init_svg_functions) [HAVE_NTGUI]: New function.
14257 (fn_g_type_init, fn_g_object_unref, fn_g_error_free): New #defines.
14258 (svg_load_image): Use them.
14259 (svg_load_image) [HAVE_NTGUI]: Implement background.
14260
14261 2007-08-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14262
14263 * Makefile.in (RSVG_LIBS, RSVG_CFLAGS): New variables.
14264 (ALL_CFLAGS): Use ${RSVG_CFLAGS} instead of @RSVG_CFLAGS@.
14265 (LIBX): Remove @RSVG_LIBS@.
14266 (LIBES): Add $(RSVG_LIBS).
14267
14268 * image.c (svg_load_image): Blend with specified background if exists.
14269 Use IMAGE_BACKGROUND. Add Mac OS Support.
14270
14271 * mac.c (wakeup_from_rne_enabled_p) [MAC_OSX]: Remove variable.
14272 (ENABLE_WAKEUP_FROM_RNE, DISABLE_WAKEUP_FROM_RNE) [MAC_OSX]:
14273 Remove macros.
14274 [MAC_OSX] (socket_callback): Do nothing.
14275 [MAC_OSX] (select_and_poll_event): Use CFRunLoopRunInMode instead of
14276 ReceiveNextEvent.
14277 [MAC_OSX] (sys_select): Likewise. Don't set context as argument to
14278 socket_callback.
14279 (mac_wakeup_from_rne) [MAC_OSX]: Do nothing.
14280
14281 2007-08-22 Glenn Morris <rgm@gnu.org>
14282
14283 * image.c (x_find_image_file): Search in etc/images/ rather than etc/.
14284
14285 2007-08-22 Paul Pogonyshev <pogonyshev@gmx.net>
14286
14287 * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS.
14288
14289 * image.c: Add support for SVG images. Some additional comments
14290 by Joakim Verona <joakim@verona.se>. When HAVE_RSVG is defined:
14291 (svg_image_p): New function to test for SVG image.
14292 (svg_load): New function to load SVG image.
14293 (svg_load_image): New function, helper for svg_load.
14294 (Qsvg): New Lisp_object.
14295 (svg_keyword_index): New enum.
14296 (svg_format): New static `image_keyword' struct.
14297 (svg_type): New static `image_type' struct.
14298 (librsvg/rsvg.h): Include it.
14299
14300 2007-08-23 Stefan Monnier <monnier@iro.umontreal.ca>
14301
14302 * lread.c (load_warn_old_style_backquotes): Fix up array size typo.
14303
14304 2007-08-22 Stefan Monnier <monnier@iro.umontreal.ca>
14305
14306 * lread.c (Qold_style_backquotes): New var.
14307 (syms_of_lread): Init and staticpro it.
14308 (load_warn_old_style_backquotes): New fun.
14309 (Fload): Use them to warn about old style backquotes.
14310 (end_of_file_error, Fload): Remove unused vars.
14311
14312 * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare.
14313
14314 * lread.c (Vold_style_backquotes): New var.
14315 (syms_of_lread): Init and export it to Elisp.
14316 (read1): Set it when we find an old-style (back)quote.
14317
14318 2007-08-22 Jason Rumney <jasonr@gnu.org>
14319
14320 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator.
14321
14322 2007-08-22 Katsumi Yamaoka <yamaoka@jpl.org>
14323
14324 * puresize.h (BASE_PURESIZE): Increase to 1140000.
14325
14326 2007-08-19 Richard Stallman <rms@gnu.org>
14327
14328 * eval.c (Ffunction, Fquote): Signal error if not 1 argument.
14329
14330 2007-08-19 Andreas Schwab <schwab@suse.de>
14331
14332 * alloc.c (pure): Round PURESIZE up.
14333
14334 2007-08-17 Jan Djärv <jan.h.d@swipnet.se>
14335
14336 * xterm.c (handle_one_xevent): Remove check that mouse click is in
14337 active frame.
14338
14339 2007-08-16 Richard Stallman <rms@gnu.org>
14340
14341 * eval.c (Fcommandp): Add parens to clarify.
14342
14343 * minibuf.c (Fall_completions): Use enum for type of table.
14344
14345 * emacs.c (USAGE2): Improve text.
14346
14347 2007-08-15 Philippe Waroquiers <philippe.waroquiers@eurocontrol.int>
14348
14349 * term.c (tty_default_color_capabilities): Declare static
14350 variables in file scope, to avoid HPUX compiler problem.
14351
14352 2007-08-13 Jan Djärv <jan.h.d@swipnet.se>
14353
14354 * gtkutil.c (update_frame_tool_bar): Use -1 as index
14355 to gtk_toolbar_insert.
14356
14357 2007-08-13 Stefan Monnier <monnier@iro.umontreal.ca>
14358
14359 * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup.
14360
14361 * insdel.c (reset_var_on_error): New fun.
14362 (signal_before_change, signal_after_change):
14363 Use it to reset (after|before)-change-functions to nil in case of error.
14364 Bind inhibit-modification-hooks to t.
14365 Don't bind (after|before)-change-functions to nil while they run.
14366
14367 2007-08-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14368
14369 * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when
14370 filling pixmap with stippled background.
14371
14372 2007-08-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14373
14374 * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event):
14375 Don't use invisible frame as parent window for repositioning.
14376
14377 2007-08-10 Stefan Monnier <monnier@iro.umontreal.ca>
14378
14379 * print.c (new_backquote_output): Rename from old_backquote_output.
14380 (print): Inverse its logic (according to its name) so as to match the
14381 behavior of new_backquote_flag in lread.c.
14382
14383 2007-08-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14384
14385 * gmalloc.c (posix_memalign): New function.
14386
14387 * macterm.c (frame_highlight, frame_unhighlight): Don't call
14388 ActivateControl/DeactivateControl here.
14389 [USE_MAC_TOOLBAR] (free_frame_tool_bar): Suppress animation when
14390 frame-notice-user-settings is non-nil.
14391 [USE_MAC_FONT_PANEL] (mac_handle_font_event): Also record parameter
14392 for kEventParamFMFontStyle.
14393 [TARGET_API_MAC_CARBON] (mac_handle_keyboard_event): Don't check
14394 mac_pass_command_to_system and mac_pass_control_to_system here.
14395 (XTread_socket): Call ActivateControl/DeactivateControl here.
14396 (XTread_socket) [TARGET_API_MAC_CARBON]:
14397 Check mac_pass_command_to_system and mac_pass_control_to_system here.
14398 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Add further workaround
14399 for window repositioning.
14400
14401 2007-08-08 Glenn Morris <rgm@gnu.org>
14402
14403 * Replace `iff' in doc-strings and comments.
14404
14405 2007-08-07 Chong Yidong <cyd@stupidchicken.com>
14406
14407 * xdisp.c (move_it_by_lines): Remove incorrect optimization.
14408
14409 2007-08-07 Martin Rudalics <rudalics@gmx.at>
14410
14411 * fileio.c (Finsert_file_contents): Run format-decode and
14412 after_insert_file_functions on entire buffer when REPLACE is
14413 non-nil and inhibit modification_hooks and point_motion_hooks.
14414 For consistency, run after_insert_file_functions iff something
14415 got inserted. Move signal_after_change and update_compositions
14416 after code running after_insert_file_functions. Make sure that
14417 undo_list doesn't record intermediate steps of the decoding process.
14418
14419 2007-08-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14420
14421 * emacs.c (main)
14422 [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
14423 Call malloc_enable_thread on interactive startup.
14424
14425 * gmalloc.c (_malloc_thread_enabled_p) [USE_PTHREAD]: New variable.
14426 (LOCK, UNLOCK, LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS)
14427 [USE_PTHREAD]: Conditionalize with it.
14428 (malloc_atfork_handler_prepare, malloc_atfork_handler_parent)
14429 (malloc_atfork_handler_child, malloc_enable_thread) [USE_PTHREAD]:
14430 New functions.
14431
14432 2007-08-06 Chong Yidong <cyd@stupidchicken.com>
14433
14434 * xdisp.c (redisplay_window): When restoring original buffer
14435 position, make sure it is still valid.
14436
14437 * image.c (png_load): Ignore png-supplied background color.
14438
14439 2007-08-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14440
14441 * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value.
14442 Use kCFAbsoluteTimeIntervalSince1970.
14443
14444 * macmenu.c (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]:
14445 New variable.
14446 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Set it if dialog
14447 event loop should be quit.
14448 [TARGET_API_MAC_CARBON] (create_and_show_dialog) [!MAC_OSX]:
14449 Quit dialog event loop if quit_dialog_event_loop is set.
14450
14451 * macselect.c [!TARGET_API_MAC_CARBON]: Include Scrap.h.
14452 (Selection): New typedef. Use instead of ScrapRef.
14453 (mac_get_selection_from_symbol): Rename from get_scrap_from_symbol.
14454 (mac_valid_selection_target_p): Rename from valid_scrap_target_type_p.
14455 (mac_clear_selection): Rename from clear_scrap.
14456 (get_flavor_type_from_symbol): New argument SEL and subsume function of
14457 scrap_has_target_type. All uses changed.
14458 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
14459 (mac_selection_has_target_p): New functions.
14460 (mac_put_selection_value): Rename from put_scrap_string.
14461 (mac_get_selection_value): Rename from get_scrap_string.
14462 (mac_get_selection_target_list): Rename from get_scrap_target_type_list.
14463 (put_scrap_private_timestamp, scrap_has_target_type)
14464 (get_scrap_private_timestamp): Remove functions.
14465 (SCRAP_FLAVOR_TYPE_EMACS_TIMESTAMP): Remove define.
14466 (x_own_selection, x_get_local_selection):
14467 Use mac_valid_selection_value_p.
14468 (x_own_selection): Don't use put_scrap_private_timestamp.
14469 Record OWNERSHIP-INFO into Vselection_alist instead.
14470 (x_get_local_selection): Don't check type if request is local.
14471 (Fx_selection_owner_p): Don't use get_scrap_private_timestamp.
14472 Detect ownership change with OWNERSHIP-INFO in Vselection_alist instead.
14473
14474 2007-08-04 Jan Djärv <jan.h.d@swipnet.se>
14475
14476 * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s,
14477 add comment explaining why.
14478
14479 2007-08-03 Richard Stallman <rms@gnu.org>
14480
14481 * fileio.c (Fvisited_file_modtime): Use make_time.
14482
14483 2007-08-01 Ryo Yoshitake <ryo@shiftmode.net> (tiny change)
14484
14485 * mac.c (init_mac_osx_environment): Adjust load-path on self-contained
14486 build.
14487
14488 2007-07-31 Stefan Monnier <monnier@iro.umontreal.ca>
14489
14490 * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT.
14491
14492 2007-07-30 Katsumi Yamaoka <yamaoka@jpl.org>
14493
14494 * puresize.h (BASE_PURESIZE): Increase to 1130000.
14495
14496 2007-07-30 Richard Stallman <rms@gnu.org>
14497
14498 * lread.c (readevalloop, read1): Treat NBSP as whitespace.
14499
14500 2007-07-29 Jan Djärv <jan.h.d@swipnet.se>
14501
14502 * gmalloc.c (__malloc_initialize): Remove pthread_once. Not needed.
14503
14504 2007-07-28 Nick Roberts <nickrob@snap.net.nz>
14505
14506 * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for
14507 remote default-directory.
14508
14509 * buffer.c (mode-line-format): Update doc string.
14510
14511 2007-07-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14512
14513 * w32term.c (w32_draw_fringe_bitmap): Extend fringe background to
14514 scroll bar gap.
14515 (x_scroll_bar_create): Set bar->fringe_extended_p.
14516 (w32_set_vertical_scroll_bar): Put leftmost/rightmost scroll bars
14517 on frame edge. Check fringe background extension. Don't clear
14518 extended fringe background area.
14519
14520 * w32term.h (struct scroll_bar): New member fringe_extended_p.
14521 (w32_fill_area): Enclose multiple statements with do ... while (0).
14522
14523 * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]:
14524 Extend fringe background to scroll bar gap.
14525 (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]:
14526 Set bar->fringe_extended_p.
14527 (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
14528 Put leftmost/rightmost scroll bars on frame edge. Check fringe
14529 background extension. Don't clear extended fringe background area.
14530
14531 * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
14532 New member fringe_extended_p.
14533
14534 2007-07-25 Glenn Morris <rgm@gnu.org>
14535
14536 * Relicense all FSF files to GPLv3 or later.
14537
14538 * COPYING: Switch to GPLv3.
14539
14540 2007-07-25 Stefan Monnier <monnier@iro.umontreal.ca>
14541
14542 * eval.c (Fcommandp): Pay attention to the `interactive-form' property.
14543
14544 * data.c (Finteractive_form): Check for the presence of an
14545 `interactive-form' symbol property more thoroughly.
14546
14547 * data.c (Finteractive_form): Use an `interactive-form' property if
14548 present, analogous to the function-documentation property.
14549
14550 2007-07-24 Jason Rumney <jasonr@gnu.org>
14551
14552 * w32fns.c (x_real_positions): Get real position from OS instead of
14553 calculating it.
14554
14555 2007-07-23 Jason Rumney <jasonr@gnu.org>
14556
14557 * filelock.c (current_lock_owner): Allow for @ sign in username.
14558
14559 2007-07-22 Nick Roberts <nickrob@snap.net.nz>
14560
14561 * xdisp.c (decode_mode_spec): Add case 'R' for to test for
14562 remote default-directory.
14563
14564 * buffer.c (mode-line-format): Describe above case in doc string.
14565
14566 2007-07-20 Eli Zaretskii <eliz@gnu.org>
14567
14568 * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):
14569 Define if not defined.
14570
14571 2007-07-18 Jason Rumney <jasonr@gnu.org>
14572
14573 * w32proc.c (w32_executable_type): Handle 64 bit executables.
14574
14575 2007-07-18 Richard Stallman <rms@gnu.org>
14576
14577 * data.c (Fsetq_default): Doc fix.
14578
14579 * eval.c (Fsetq): Doc fix.
14580
14581 2007-07-18 Juanma Barranquero <lekktu@gmail.com>
14582
14583 * coding.c (Ffind_operation_coding_system):
14584 * eval.c (For, Fand): Doc fixes.
14585 Reported by Johan Bockgård.
14586
14587 2007-07-18 Jan Djärv <jan.h.d@swipnet.se>
14588
14589 * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame.
14590
14591 * xterm.h: Declare x_ewmh_activate_frame.
14592
14593 * xterm.c (x_ewmh_activate_frame): New function.
14594 (XTframe_raise_lower): Move code to x_ewmh_activate_frame.
14595
14596 2007-07-17 Martin Rudalics <rudalics@gmx.at>
14597
14598 * window.c (Fdisplay_buffer): If largest or LRU window is the
14599 only window, split it even if it is not eligible for splitting.
14600 This restores the original behavior broken by the 2007-07-15
14601 change.
14602
14603 2007-07-17 Glenn Morris <rgm@gnu.org>
14604
14605 * abbrev.c (abbrev_check_chars): New function.
14606 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
14607 Call abbrev_check_chars to check abbrev characters are word
14608 constituents. Doc fix.
14609
14610 2007-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
14611
14612 * process.c (Fstart_process, Fmake_network_process)
14613 (read_process_output): Fix up last changes.
14614
14615 2007-07-16 Eli Zaretskii <eliz@gnu.org>
14616
14617 * makefile.w32-in (clean): Don't delete *~.
14618
14619 2007-07-16 Andreas Schwab <schwab@suse.de>
14620
14621 * window.c (Fdisplay_buffer): Use NILP.
14622 (Fset_window_scroll_bars): Likewise.
14623
14624 2007-07-15 Martin Rudalics <rudalics@gmx.at>
14625
14626 * window.c (window_min_size_2): New function.
14627 (window_min_size_1, size_window, Fdisplay_buffer)
14628 (Fsplit_window, adjust_window_trailing_edge): Use it to avoid
14629 windows without mode- or header-lines when window-min-height is
14630 too small.
14631 (size_window): Reset nodelete_p after testing it, following an
14632 earlier note by Kim F. Storm.
14633 (display_buffer): Do not set split_height_threshold to twice the
14634 value of window_min_height to avoid changing the value of a
14635 customizable variable. Rather explicitly check whether the
14636 height of the window that shall be splitted is at least as large
14637 as split_height_threshold.
14638 (Fwindow_full_width_p): New defun.
14639 (syms_of_window): Defsubr it.
14640
14641 * window.h: Add EXFUN for Fwindow_full_width_p.
14642
14643 2007-07-14 Jason Rumney <jasonr@gnu.org>
14644
14645 * process.c [WINDOWSNT]: Don't undefine AF_INET6.
14646
14647 2007-07-14 Richard Stallman <rms@gnu.org>
14648
14649 * eval.c (maybe_call_debugger): New function.
14650 (find_handler_clause): Use maybe_call_debugger.
14651 Call it when the handler says `debug'.
14652 Eliminate DEBUGGER_VALUE_PTR.
14653 (Fsignal): Eliminate debugger_value.
14654 (Qdebug): New variable.
14655 (syms_of_eval): Initialize it.
14656
14657 2007-07-14 Juanma Barranquero <lekktu@gmail.com>
14658
14659 * eval.c (Fprogn):
14660 * keyboard.c (Ftrack_mouse):
14661 * print.c (Fwith_output_to_temp_buffer):
14662 * window.c (Fsave_window_excursion): Doc fix.
14663
14664 2007-07-13 Stefan Monnier <monnier@iro.umontreal.ca>
14665
14666 * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400.
14667
14668 2007-07-12 Stefan Monnier <monnier@iro.umontreal.ca>
14669
14670 * process.h (struct Lisp_Process): Turn slots infd, outfd,
14671 kill_without_query, pty_flag, tick, update_tick, decoding_carryover,
14672 inherit_coding_system_flag, filter_multibyte, adaptive_read_buffering,
14673 read_output_delay, and read_output_skip from Lisp_Objects to ints.
14674 Remove unused encoding_carryover.
14675 * process.c: Adjust all functions accordingly.
14676
14677 2007-07-12 Richard Stallman <rms@gnu.org>
14678
14679 * term.c: Include unistd.h only if HAVE_UNISTD_H.
14680
14681 2007-07-11 Jason Rumney <jasonr@gnu.org>
14682
14683 * makefile.w32-in (LIBS): Include OLE32.
14684
14685 * w32fns.c (w32_msg_pump) <WM_EMACS_CREATEWINDOW>: Initialize COM.
14686 (w32_msg_pump) <WM_DESTROY>: Uninitialize COM.
14687
14688 2007-07-11 Stefan Monnier <monnier@iro.umontreal.ca>
14689
14690 * lisp.h (struct Lisp_Hash_Table): Turn next_weak into a bare pointer.
14691 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and turned
14692 from a Lisp_Object into a bare pointer.
14693 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
14694 Adjust the code correspondingly.
14695
14696 * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'.
14697
14698 * term.c: Include unistd.h for ttyname, used in handle_one_term_event.
14699 (term_show_mouse_face): Remove unused var `j'.
14700 (handle_one_term_event): Remove unused vars `i' and `j'.
14701 Don't cast return value of ttyname since it's not necessary.
14702
14703 2007-07-10 Stefan Monnier <monnier@iro.umontreal.ca>
14704
14705 * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using
14706 USE_LSB_TAG. Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
14707
14708 * fns.c (map_char_table): Use an array of int for `indices' rather than
14709 an array of Lisp_Objects (which are only ever integers anyway).
14710 (Fmap_char_table): Update caller.
14711 * lisp.h: Update prototype.
14712 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap):
14713 * fontset.c (Ffontset_info):
14714 * casetab.c (set_case_table): Update callers.
14715
14716 * editfns.c (Ftranspose_regions): Use EMACS_INT for positions.
14717
14718 * keymap.c (struct accessible_keymaps_data)
14719 (struct where_is_internal_data): New structures.
14720 (accessible_keymaps_1, where_is_internal_1): Use them to change
14721 interface to adhere to the one used by map_keymap.
14722 (Faccessible_keymaps, where_is_internal): Use map_keymap.
14723 (accessible_keymaps_char_table, where_is_internal_2): Remove.
14724
14725 * keymap.h (map_keymap_function_t): More informative prototype.
14726
14727 2007-07-10 Guanpeng Xu <herberteuler@hotmail.com>
14728
14729 * search.c (Vinhibit_changing_match_data, search_regs_1): New vars.
14730 (looking_at_1): Don't change search_regs and last_thing_searched
14731 if `inhibit-changing-match-data' is non-nil.
14732 (string_match_1, search_buffer, set_search_regs): Likewise.
14733 (syms_of_search): Add Lisp level definition for
14734 `inhibit-changing-match-data' and set it to nil.
14735 (boyer_moore): If `inhibit-changing-match-data' is non-nil, compute
14736 start and end of the match, instead of using values in search_regs.
14737
14738 2007-07-01 Stefan Monnier <monnier@iro.umontreal.ca>
14739
14740 * minibuf.c (Fcompleting_read): New value `confirm-only'
14741 for `require-match'.
14742
14743 2007-06-28 Stefan Monnier <monnier@iro.umontreal.ca>
14744
14745 * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as
14746 part of the 2007-06-27 change to syms_of_fileio.
14747
14748 2007-06-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14749
14750 * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event):
14751 Check WINDOWP before using XWINDOW. Consolidate return statements.
14752
14753 2007-06-27 Richard Stallman <rms@gnu.org>
14754
14755 * fileio.c (syms_of_fileio) <after-insert-file-functions>: Doc fix.
14756
14757 2007-06-27 Juanma Barranquero <lekktu@gmail.com>
14758
14759 * buffer.c (syms_of_buffer) <selective-display>: Fix typo in docstring.
14760
14761 2007-06-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14762
14763 * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Check this after including config.h.
14764 (_aligned_blocks_mutex) [USE_PTHREAD]: New variable.
14765 (LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS): New macros.
14766 (_free_internal, memalign): Use them.
14767 (_malloc_mutex, _aligned_blocks_mutex) [USE_PTHREAD]:
14768 Initialize to PTHREAD_MUTEX_INITIALIZER.
14769 (malloc_initialize_1) [USE_PTHREAD]: Don't use recursive mutex.
14770 (morecore_nolock): Rename from morecore. All uses changed.
14771 Use only nolock versions of internal allocation functions.
14772 (_malloc_internal_nolock, _realloc_internal_nolock)
14773 (_free_internal_nolock): New functions created from
14774 _malloc_internal, _realloc_internal, and _free_internal.
14775 (_malloc_internal, _realloc_internal, _free_internal): Use them.
14776 Copy hook value to automatic variable before its use.
14777 (memalign): Copy hook value to automatic variable before its use.
14778
14779 2007-06-26 Kenichi Handa <handa@m17n.org>
14780
14781 * coding.c (Ffind_operation_coding_system): Docstring improved.
14782 (syms_of_coding): Docstring of `file-coding-system-alist' improved.
14783
14784 2007-06-25 David Kastrup <dak@gnu.org>
14785
14786 * keymap.c (Fcurrent_active_maps): Add `position' argument.
14787 (Fwhere_is_internal): Adjust call to `current-active-maps' to
14788 cater for additional parameter.
14789
14790 * keymap.h: Adjust number of parameters to `current-active-maps'.
14791
14792 * doc.c (Fsubstitute_command_keys): Adjust call of
14793 `current-active-maps'.
14794
14795 2007-06-25 David Kastrup <dak@gnu.org>
14796
14797 * callint.c (Fcall_interactively): Make the parsing of interactive
14798 specs somewhat more readable.
14799
14800 2007-06-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14801
14802 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe background
14803 to scroll bar gap also when bitmap fills fringe. Draw only foreground
14804 if extended background has already been filled.
14805
14806 2007-06-22 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14807
14808 * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI.
14809 (USE_MAC_TOOLBAR): Require USE_CG_DRAWING.
14810
14811 * macmenu.c (mac_dialog_modal_filter, Fx_popup_dialog) [MAC_OSX]:
14812 Put special treatment for Fmessage_box, Fyes_or_no_p, and Fy_or_n_p
14813 in #if 0 as it is not compatible with y-or-n-p-with-timeout.
14814 (timer_check) [TARGET_API_MAC_CARBON]: Add extern.
14815 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Use QuitEventLoop
14816 instead of QuitAppModalLoopForWindow. Consolidate QuitEventLoop calls.
14817 (pop_down_dialog) [TARGET_API_MAC_CARBON]: New function.
14818 [TARGET_API_MAC_CARBON] (create_and_show_dialog): Use it for unwind.
14819 Run timers during dialog popup.
14820 (Fmenu_or_popup_active_p) [TARGET_API_MAC_CARBON]: Use popup_activated.
14821
14822 2007-06-21 Jason Rumney <jasonr@gnu.org>
14823
14824 * image.c (convert_mono_to_color_image): Swap fore and background.
14825
14826 2007-06-20 Jason Rumney <jasonr@gnu.org>
14827
14828 * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished.
14829 (w32_free_bdf_font): Unmap memory not handle.
14830
14831 2007-06-20 Sam Steingold <sds@gnu.org>
14832
14833 * gmalloc.c (__morecore): Fix the declaration to comply with the
14834 definition.
14835
14836 2007-06-20 Juanma Barranquero <lekktu@gmail.com>
14837
14838 * w32term.c (w32_delete_display): Remove leftover declaration.
14839 (w32_define_cursor, w32_initialize): Make static.
14840
14841 * w32.c (_wsa_errlist): Fix typo in error message.
14842 (init_environment): Ignore any environment variable from the
14843 registry having a null value.
14844
14845 2007-06-20 Glenn Morris <rgm@gnu.org>
14846
14847 * Makefile.in (LIBGIF): Default to -lgif.
14848
14849 2007-06-17 Jason Rumney <jasonr@gnu.org>
14850
14851 * w32menu.c (add_menu_item): Don't use multibyte string functions on
14852 unicode strings.
14853
14854 2007-06-16 Juanma Barranquero <lekktu@gmail.com>
14855
14856 * xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>:
14857 Fix typo in docstring.
14858
14859 2007-06-16 Eli Zaretskii <eliz@gnu.org>
14860
14861 * w32menu.c (add_menu_item): Escape `&' characters in menu items
14862 and their keybindings.
14863
14864 2007-06-15 Chong Yidong <cyd@stupidchicken.com>
14865
14866 * composite.c (update_compositions): Fix last fix.
14867
14868 2007-06-14 Jason Rumney <jasonr@gnu.org>
14869
14870 * w32.c (get_process_times_fn): New function pointer.
14871 (globals_of_w32): Intialize it if present in kernel32.dll.
14872 (w32_get_internal_run_time): New function.
14873
14874 * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it.
14875
14876 2007-06-14 Kenichi Handa <handa@etlken.m17n.org>
14877
14878 * composite.c (update_compositions): Check the validness of
14879 compositions.
14880
14881 2007-06-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14882
14883 * frame.h (struct frame) [MAC_OS]: New member external_tool_bar.
14884 (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it.
14885
14886 * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity.
14887 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR.
14888
14889 * macgui.h (USE_MAC_TOOLBAR): New define.
14890
14891 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
14892 Return immediately unless popup is activated.
14893
14894 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe
14895 background to scroll bar gap.
14896 (x_scroll_bar_create) [MAC_OSX]: Set bar->fringe_extended_p.
14897 (XTset_vertical_scroll_bar) [MAC_OSX]: Put leftmost/rightmost
14898 scroll bars on frame edge. Check fringe background extension.
14899 Don't clear extended fringe background area.
14900 (TOOLBAR_IDENTIFIER, TOOLBAR_ICON_ITEM_IDENTIFIER)
14901 (TOOLBAR_ITEM_COMMAND_ID_OFFSET, TOOLBAR_ITEM_COMMAND_ID_P)
14902 (TOOLBAR_ITEM_COMMAND_ID_VALUE, TOOLBAR_ITEM_MAKE_COMMAND_ID):
14903 [USE_MAC_TOOLBAR]: New macros.
14904 (mac_move_window_with_gravity, mac_get_window_origin_with_gravity)
14905 (mac_handle_toolbar_event, mac_image_spec_to_cg_image)
14906 (mac_create_frame_tool_bar, update_frame_tool_bar, free_frame_tool_bar)
14907 (mac_tool_bar_note_mouse_movement, mac_handle_toolbar_command_event)
14908 [USE_MAC_TOOLBAR]: New functions.
14909 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Reposition window
14910 manually if previous repositioning has failed.
14911 (mac_handle_keyboard_event): Use precomputed event kind.
14912 (XTread_socket) [USE_MAC_TOOLBAR]: Handle click in structure region
14913 as tool bar item click. Handle mouse movement over tool bar items.
14914
14915 * macterm.h (struct mac_output) [USE_MAC_TOOLBAR]: New member
14916 toolbar_win_gravity.
14917 (struct scroll_bar) [MAC_OSX]: New member fringe_extended_p.
14918 (update_frame_tool_bar, free_frame_tool_bar) [USE_MAC_TOOLBAR]:
14919 Add externs.
14920
14921 * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window)
14922 [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display.
14923
14924 2007-06-14 Chong Yidong <cyd@stupidchicken.com>
14925
14926 * image.c (search_image_cache): Remove unused variable.
14927
14928 2007-06-13 Chong Yidong <cyd@stupidchicken.com>
14929
14930 * xfns.c, xmenu.c: Link to xaw3d if available.
14931
14932 2007-06-13 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14933
14934 * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members
14935 frame_foreground and frame_background.
14936
14937 * image.c (lookup_image): Save frame foreground and background colors.
14938 (search_image_cache): Check if saved and current frame colors match.
14939
14940 2007-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
14941
14942 * regex.c (regex_compile): Remove the `regnum' counter.
14943 Use bufp->re_nsub instead. Add support for \(?N:RE\).
14944
14945 2007-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
14946
14947 * term.c: Include intervals.h to declare Fget_text_property.
14948
14949 2007-06-10 Jason Rumney <jasonr@gnu.org>
14950
14951 * w32fns.c (Fx_file_dialog): Take size from struct not pointer.
14952
14953 2007-06-08 Juanma Barranquero <lekktu@gmail.com>
14954
14955 * callint.c (Fcall_interactively):
14956 * editfns.c (Fdelete_and_extract_region):
14957 * fileio.c (Fread_file_name):
14958 * fns.c (Fmapconcat):
14959 * keyboard.c (cmd_error_internal):
14960 * keymap.c (Fkey_description):
14961 * lread.c (openp):
14962 * minibuf.c (read_minibuf):
14963 * search.c (wordify):
14964 * sunfns.c (sel_read):
14965 * xdisp.c (Fformat_mode_line, syms_of_xdisp):
14966 * xfns.c (x_default_scroll_bar_color_parameter):
14967 * xmenu.c (menu_help_callback):
14968 * xselect.c (Fx_get_atom_name):
14969 * xterm.c (x_term_init): Use empty_unibyte_string.
14970
14971 2007-06-08 Dmitry Antipov <dmantipov@yandex.ru> (tiny change)
14972
14973 * alloc.c (init_strings): Initialize canonical empty strings.
14974 (make_uninit_string, make_uninit_multibyte_string): Return appropriate
14975 canonical empty string when the requested size is 0.
14976
14977 * emacs.c (empty_unibyte_string): Rename from empty_string.
14978 (empty_multibyte_string): New canonical empty string.
14979 (syms_of_emacs): Don't initialize empty_string.
14980
14981 * lisp.h (STRING_SET_UNIBYTE): Return the canonical empty unibyte
14982 string, if appropriate.
14983 (empty_unibyte_string, empty_multibyte_string): New externs.
14984 (empty_string): Remove extern.
14985
14986 * lread.c (syms_of_lread): Use empty_unibyte_string.
14987
14988 2007-06-07 Jason Rumney <jasonr@gnu.org>
14989
14990 * s/ms-w32.h: Don't define HAVE_TZNAME.
14991
14992 * editfns.c (Fcurrent_time_zone): Remove hack for Japanese Windows.
14993
14994 2007-06-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14995
14996 * mac.c (xrm_get_preference_database): Remove BLOCK_INPUT.
14997
14998 * macfns.c (mac_get_window_bounds): Move extern to macterm.h.
14999 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use GetGlobalMouse.
15000
15001 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
15002 Don't call next handler.
15003 [TARGET_API_MAC_CARBON] (install_menu_target_item_handler):
15004 Remove argument. Install handler to application.
15005 (set_frame_menubar): Don't change deep_p.
15006 (mac_menu_show): Use FRAME_OUTER_TO_INNER_DIFF_X and
15007 FRAME_OUTER_TO_INNER_DIFF_Y.
15008 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
15009 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
15010 [HAVE_DIALOGS]: New macros.
15011 [HAVE_DIALOGS] (mac_handle_dialog_event, create_and_show_dialog):
15012 Use them.
15013 (fill_menubar) [TARGET_API_MAC_CARBON]: Use CFString.
15014
15015 * macselect.c [MAC_OSX] (install_service_handler): Rename from
15016 init_service_handler. All callers changed. Return OSStatus value.
15017
15018 * macterm.c (mac_begin_cg_clip): New arg F. Call SetPortWindowPort.
15019 All callers changed so as not to call SetPortWindowPort.
15020 (mac_begin_cg_clip) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw.
15021 (mac_draw_image_string_atsui) [USE_ATSUI]: New function created from
15022 mac_draw_string_common.
15023 (mac_draw_image_string_qd): Likewise.
15024 (mac_draw_string_common): Use them. Add INLINE.
15025 (XTmouse_position, x_scroll_bar_report_motion) [TARGET_API_MAC_CARBON]:
15026 Use FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y, and
15027 GetGlobalMouse.
15028 (x_set_mouse_pixel_position) [MAC_OSX]: Use FRAME_OUTER_TO_INNER_DIFF_X
15029 and FRAME_OUTER_TO_INNER_DIFF_Y.
15030 [TARGET_API_MAC_CARBON] (mac_handle_mouse_event): Likewise.
15031 [USE_MAC_TSM] (mac_handle_text_input_event): Likewise.
15032 (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Move code for
15033 repositioning window to mac_handle_window_event.
15034 (x_make_frame_invisible) [TARGET_API_MAC_CARBON]: Move code for
15035 saving window location to mac_handle_window_event
15036 [USE_MAC_FONT_PANEL] (mac_show_hide_font_panel): Install handler here.
15037 (install_menu_target_item_handler): Remove argument in extern.
15038 [TARGET_API_MAC_CARBON] (mac_event_to_emacs_modifiers):
15039 Also accept command events.
15040 (do_keystroke): New function created from XTread_socket.
15041 (init_command_handler): Remove functions.
15042 [TARGET_API_MAC_CARBON] (mac_handle_window_event): Reposition window
15043 and save window location by kEventWindowShowing and kEventWindowHiding
15044 handlers here. Don't call next handler for window state change and
15045 focus events.
15046 (mac_handle_application_event, mac_handle_keyboard_event)
15047 [TARGET_API_MAC_CARBON]: New functions.
15048 (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for
15049 kEventWindowShowing and kEventWindowHiding events. Move installation
15050 of mouse, font, text input and menu target item handlers to
15051 install_application_handler.
15052 (install_application_handler) [TARGET_API_MAC_CARBON]: New function.
15053 (mac_handle_cg_display_reconfig) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
15054 New function.
15055 (init_dm_notification_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
15056 Register it.
15057 (XTread_socket) [TARGET_API_MAC_CARBON]:
15058 Consolidate SendEventToEventTarget calls.
15059 Use FRAME_OUTER_TO_INNER_DIFF_X and FRAME_OUTER_TO_INNER_DIFF_Y.
15060 Move application activation handler to mac_handle_application_event.
15061 Move keyboard handler to mac_handle_keyboard_event.
15062 (XTread_socket) [!TARGET_API_MAC_CARBON]: Use do_keystroke.
15063 (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call
15064 init_command_handler. Call install_application_handler.
15065
15066 * macterm.h (mac_get_window_bounds): Move extern from macfns.c.
15067 (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): New macros.
15068
15069 2007-06-07 Glenn Morris <rgm@gnu.org>
15070
15071 * emacs.c (main): Use `emacs-copyright' in --version output.
15072
15073 2007-06-06 Chong Yidong <cyd@stupidchicken.com>
15074
15075 * image.c (xpm_load): Remove spurious call to xpm_init_color_cache.
15076
15077 2007-06-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15078
15079 * macfns.c (mac_window): Replace WindowPtr with WindowRef.
15080
15081 * macgui.h: Replace WindowPtr with WindowRef.
15082
15083 * macmenu.c: Replace MenuHandle and GetMenuHandle with MenuRef and
15084 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
15085 Replace ControlHandle with ControlRef.
15086 (install_menu_quit_handler): Rename arg MENU_HANDLE to ROOT_MENU.
15087
15088 * macterm.c: Replace MenuHandle and GetMenuHandle with MenuRef and
15089 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
15090 Replace ControlHandle with ControlRef.
15091 (USE_CARBON_EVENTS): Remove. Use TARGET_API_MAC_CARBON instead.
15092 [MAC_OS8] (do_get_menus): Rename variable `menu_handle' to `menu'.
15093
15094 * macterm.h (struct scroll_bar): Rename member control_handle_low
15095 and control_handle_high to control_ref_low and control_ref_high.
15096 All uses changed.
15097 (SCROLL_BAR_CONTROL_REF, SET_SCROLL_BAR_CONTROL_REF): Rename from
15098 SCROLL_BAR_CONTROL_HANDLE and SET_SCROLL_BAR_CONTROL_HANDLE,
15099 respectively. All uses changed.
15100 (XCreatePixmap, XCreatePixmapFromBitmapData, XSetWindowBackground)
15101 (install_window_handler, remove_window_handler): Replace WindowPtr
15102 with WindowRef in externs.
15103
15104 2007-06-05 Juanma Barranquero <lekktu@gmail.com>
15105
15106 * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops.
15107
15108 2007-06-03 Nick Roberts <nickrob@snap.net.nz>
15109
15110 * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case.
15111
15112 * frame.c (Fmouse_position, Fmouse_pixel_position):
15113 Condition on HAVE_GPM too.
15114
15115 * term.c (term_mouse_highlight): Remove unused variables.
15116 (Fterm_open_connection): Set gpm_zerobased to 1.
15117 (term_mouse_movement, term_mouse_click, handle_one_term_event):
15118 Use zero based co-ordinates.
15119 (handle_one_term_event): Report a drag as mouse movement too.
15120
15121 * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM.
15122
15123 2007-06-03 Chong Yidong <cyd@stupidchicken.com>
15124
15125 * image.c (search_image_cache): New function. Require background
15126 color match if background color is unspecified in the image spec.
15127 (uncache_image, lookup_image): Use it.
15128
15129 2007-06-01 Juanma Barranquero <lekktu@gmail.com>
15130
15131 * window.c (Fshrink_window): Reflow docstring.
15132
15133 2007-06-02 Chong Yidong <cyd@stupidchicken.com>
15134
15135 * Version 22.1 released.
15136
15137 2007-06-01 Richard Stallman <rms@gnu.org>
15138
15139 * xfns.c (x_encode_text): Add GCPRO.
15140
15141 2007-06-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15142
15143 * xfns.c (x_set_name_internal): Save encoded name before
15144 x_encode_text in case string data is relocated.
15145
15146 2007-05-31 Richard Stallman <rms@gnu.org>
15147
15148 * buffer.c (syms_of_buffer): Doc fix.
15149
15150 2007-05-30 Nick Roberts <nickrob@snap.net.nz>
15151
15152 * sysdep.c (init_sys_modes): Add rather than replace with
15153 O_NONBLOCK.
15154
15155 * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to
15156 term_mouse_moveto.
15157
15158 * termhooks.h (term_mouse_moveto): New extern.
15159
15160 * term.c (mouse_face_window): Rename...
15161 (Qmouse_face_window): ...to this.
15162 (term_show_mouse_face, term_clear_mouse_face)
15163 (term_mouse_highlight): Use Qmouse_face_window.
15164 (term_mouse_moveto): New function.
15165 (term_mouse_position): Make it work.
15166 (syms_of_term): Uncomment assignment to mouse_position_hook.
15167 Staticpro Qmouse_face_window.
15168
15169 2007-05-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15170
15171 * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t
15172 around current_column call.
15173
15174 2007-05-26 Dan Nicolaescu <dann@ics.uci.edu>
15175
15176 * xfaces.c (syms_of_xfaces): Delete stray semicolon.
15177 * xdisp.c (next_element_from_buffer):
15178 * window.c (delete_window):
15179 * term.c (term_mouse_highlight):
15180 * msdos.c (getdefdir):
15181 * macterm.c (mac_create_bitmap_from_bitmap_data)
15182 (init_font_name_table):
15183 * fns.c (Fsxhash):
15184 * data.c (Fmake_local_variable):
15185 * ccl.c (ccl_driver): Likewise.
15186
15187 2007-05-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15188
15189 * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event):
15190 Call mac_wakeup_from_rne on window size change.
15191
15192 2007-05-25 Chong Yidong <cyd@stupidchicken.com>
15193
15194 * image.c (uncache_image): Fix typo.
15195
15196 2007-05-23 Johannes Weiner <hannes@saeurebad.de> (tiny change)
15197
15198 * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too.
15199
15200 2007-05-22 Richard Stallman <rms@gnu.org>
15201
15202 * xterm.c (x_connection_closed): Remove NO_RETURN.
15203
15204 2007-05-22 Martin Rudalics <rudalics@gmx.at>
15205
15206 * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD.
15207
15208 2007-05-21 Chong Yidong <cyd@stupidchicken.com>
15209
15210 * image.c (uncache_image): New function.
15211 (Fimage_refresh): New function.
15212
15213 2007-05-20 Jan Djärv <jan.h.d@swipnet.se>
15214
15215 * Makefile.in: Move GPM check outside HAVE_X_WINDOWS.
15216
15217 2007-05-20 Nick Roberts <nickrob@snap.net.nz>
15218
15219 * config.in, keyboard.c, Makefile.in, sysdep.c, term.c,
15220 * termhooks.h: Use HAVE_GPM instead of HAVE_GPM_H.
15221
15222 2007-05-20 Nick Roberts <nickrob@snap.net.nz>
15223
15224 * keyboard.c (make_lispy_event): Make case GPM_CLICK_EVENT
15225 conditional on [HAVE_GPM_H].
15226
15227 2007-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
15228
15229 * syntax.c (skip_chars): Update syntax-table only after we checked that
15230 the new location is valid.
15231
15232 2007-05-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15233
15234 * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around
15235 mac_get_window_bounds.
15236
15237 2007-05-20 Nick Roberts <nickrob@snap.net.nz>
15238
15239 * Makefile.in (LIBGPM): Allow it to be set from configure.
15240 If set then link Emacs with it.
15241
15242 * config.in: Regenerate.
15243
15244 * lisp.h (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):
15245 New externs.
15246
15247 * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT.
15248 Include gpm.h.
15249 (handle_one_term_event, term_gpm): New externs.
15250
15251 * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking
15252 and allow it to be interrupted by SIGIO.
15253
15254 * process.c (gpm_wait_mask, max_gpm_desc): New variables.
15255 (wait_reading_process_output): Wait on gpm_fd too.
15256 (add_gpm_wait_descriptor, delete_gpm_wait_descriptor)): New functions.
15257 (add_gpm_wait_descriptor_called_flag): New variable.
15258 (delete_keyboard_wait_descriptor): Check gpm_wait_mask.
15259
15260 * keyboard.c [HAVE_GPM_H] (Qmouse_fixup_help_message)
15261 (make_lispy_movement, tracking_off, Ftrack_mouse, some_mouse_moved)
15262 (show_help_echo, readable_events, kbd_buffer_get_event, init_keyboard):
15263 Extend HAVE_MOUSE ifdefs to HAVE_GPM_H.
15264 (make_lispy_event): Add case GPM_CLICK_EVENT.
15265 (read_avail_input): Handle mouse input.
15266
15267 * term.c (write_glyphs_with_face): New function.
15268 [HAVE_GPM_H]: Include buffer.h, sys/fcntl.h.
15269 (mouse_face_beg_row, mouse_face_beg_col, mouse_face_end_row)
15270 (mouse_face_end_col, mouse_face_past_end, mouse_face_window)
15271 (mouse_face_face_id, term_gpm, pos_x, pos_y)
15272 (last_mouse_x, last_mouse_y): New variables.
15273 (term_show_mouse_face, term_clear_mouse_face, fast_find_position)
15274 (term_mouse_highlight, term_mouse_movement, term_mouse_position)
15275 (term_mouse_click, handle_one_term_event, Fterm_open_connection)
15276 (Fterm_close_connection): New functions.
15277 (term_init): Initialise mouse_face_window.
15278
15279 2007-05-19 Chong Yidong <cyd@stupidchicken.com>
15280
15281 * xdisp.c (redisplay_window): If first window line is a
15282 continuation line, recompute the new window start instead of
15283 recentering.
15284
15285 2007-05-18 Glenn Morris <rgm@gnu.org>
15286
15287 * m/alpha.h (ORDINARY_LINK): No longer define on OpenBSD.
15288 Suggested by Alfred M. Szmidt <ams@gnu.org>.
15289
15290 2007-05-17 Glenn Morris <rgm@gnu.org>
15291
15292 * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD.
15293
15294 2007-05-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15295
15296 * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert
15297 dead key repeat and up events.
15298
15299 2007-05-14 Chong Yidong <cyd@stupidchicken.com>
15300
15301 * image.c (pbm_load): Check image size for monochrome pbm.
15302
15303 2007-05-13 Chong Yidong <cyd@stupidchicken.com>
15304
15305 * xterm.c (XTread_socket): Revert last change.
15306
15307 2007-05-12 Chong Yidong <cyd@stupidchicken.com>
15308
15309 * image.c (pbm_load): Correctly check image size for greyscale pbm.
15310
15311 * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC).
15312
15313 2007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
15314
15315 * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object
15316 mixup (YAILOM).
15317
15318 2007-05-07 Andreas Schwab <schwab@suse.de>
15319
15320 * keymap.c (Flookup_key): Fix typo in last change.
15321
15322 2007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
15323
15324 * keymap.c (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier
15325 mapping for unibyte strings.
15326
15327 2007-05-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15328
15329 * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c.
15330 (Fx_popup_dialog) [MAC_OSX]: Likewise.
15331
15332 2007-04-29 Richard Stallman <rms@gnu.org>
15333
15334 * insdel.c (replace_range): For undo, record insertion first.
15335
15336 2007-04-29 Andreas Schwab <schwab@suse.de>
15337
15338 * lisp.h (VECSIZE): Use OFFSETOF.
15339
15340 2007-04-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15341
15342 * xdisp.c (try_window_reusing_current_matrix): Fix number of
15343 disabled lines.
15344
15345 2007-04-28 Richard Stallman <rms@gnu.org>
15346
15347 * lread.c (read_escape): In a string, \s is always space.
15348
15349 2007-04-27 Jan Djärv <jan.h.d@swipnet.se>
15350
15351 * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog.
15352
15353 * gtkutil.c (xg_update_menubar, create_menus): Create empty
15354 submenu for menu bar items.
15355
15356 See ChangeLog.10 for earlier changes.
15357
15358 ;; Local Variables:
15359 ;; coding: utf-8
15360 ;; add-log-time-zone-rule: t
15361 ;; bug-reference-url-format: "http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=%s"
15362 ;; End:
15363
15364 Copyright (C) 2007, 2008 Free Software Foundation, Inc.
15365
15366 This file is part of GNU Emacs.
15367
15368 GNU Emacs is free software: you can redistribute it and/or modify
15369 it under the terms of the GNU General Public License as published by
15370 the Free Software Foundation, either version 3 of the License, or
15371 (at your option) any later version.
15372
15373 GNU Emacs is distributed in the hope that it will be useful,
15374 but WITHOUT ANY WARRANTY; without even the implied warranty of
15375 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15376 GNU General Public License for more details.
15377
15378 You should have received a copy of the GNU General Public License
15379 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
15380
15381 ;; arch-tag: dfb6ad96-1550-4905-9e53-d2059ee84c40