Bug 5177: Scroll bar thumb did not move when scrolling with mouse wheel.
[bpt/emacs.git] / src / ChangeLog
1 2009-12-13 Jan Djärv <jan.h.d@swipnet.se>
2
3 * xterm.c (xg_scroll_callback): Parameter list changed,
4 use parameter GtkScrollType to determine scroll/line/page.
5 Only allow dragging if a button < 4 is grabbed (bug #5177).
6 (xg_end_scroll_callback): New function.
7 (x_create_toolkit_scroll_bar): Pass xg_end_scroll_callback to
8 xg_create_scroll_bar.
9
10 * gtkutil.c (xg_gtk_scroll_destroy): Remove XG_LAST_SB_DATA handling.
11 (scroll_end_callback): Remove.
12 (xg_create_scroll_bar): Add parameter end_callback, bind it to
13 button-release-event. Replace value-changed event with change-value,
14 bug #5177,
15 (xg_event_is_for_scrollbar): Only return true if button is less than 4,
16 bug #5177.
17
18 * gtkutil.h (XG_LAST_SB_DATA): Remove.
19 (xg_create_scroll_bar): Add GCallback end_callback.
20
21 * xftfont.c (QClcdfilter): New variable.
22 (xftfont_open): Parse constant names for RGBA, HINT_STYLE and LCDFILTER.
23 (syms_of_xftfont): Initialize QClcdfilter.
24
25 2009-12-12 Jan Djärv <jan.h.d@swipnet.se>
26
27 * xsettings.c (struct xsettings): Add member seen.
28 (parse_xft_settings): Update member seen with what we have read.
29 Return non-zero if Xft-settings have been parsed, 0 otherwise.
30 (apply_xft_settings): Only update Xft settings with what member seen
31 indicates as new.
32
33 2009-12-12 Eli Zaretskii <eliz@gnu.org>
34
35 * dispextern.h (struct text_pos): Use EMACS_INT;
36 (struct glyph): Use EMACS_INT for charpos.
37 (struct it): Use EMACS_INT for stop_charpos, end_charpos,
38 region_beg_charpos, region_end_charpos,
39 redisplay_end_trigger_charpos, and also for
40 iterator_stack_entry.end_charpos and
41 iterator_stack_entry.stop_charpos.
42
43 2009-12-12 Jan Djärv <jan.h.d@swipnet.se>
44
45 * gtkutil.c (scroll_end_callback): New function (bug #5177)
46 (xg_create_scroll_bar): Call scroll_end_callback on button release
47 event (bug #5177).
48 (xg_event_is_for_scrollbar): != replaced with ==.
49
50 2009-12-12 Kenichi Handa <handa@m17n.org>
51
52 * ftfont.c (struct ftfont_info): New member matrix.
53 (ftfont_open): Setup xftfont_info->matrix.
54 (MFLTFontFT): New member matrix.
55 (FLOOR, CEIL, ROUND): New macros.
56 (ftfont_get_metrics): Handle matrix transformation.
57 (ftfont_shape_by_flt): New arg matrix. Callers changed.
58
59 * xftfont.c (struct xftfont_info): New member matrix.
60 (xftfont_open): Setup xftfont_info->matrix.
61
62 2009-12-10 Kenichi Handa <handa@m17n.org>
63
64 * xdisp.c (append_space_for_newline): Consider face-remapping.
65
66 2009-12-09 Andreas Schwab <schwab@linux-m68k.org>
67
68 * xsettings.c: Include "keyboard.h".
69
70 * gtkutil.c (xg_tool_bar_proxy_help_callback): Fix missing return.
71
72 Fix implicit function declarations.
73 * cmds.c: Include "frame.h".
74 * frame.c: Include "font.h" also if !HAVE_WINDOW_SYSTEM.
75 * frame.h: Move declaration of delete_frame outside of
76 HAVE_WINDOW_SYSTEM.
77
78 2009-12-09 Ken Brown <kbrown@cornell.edu> (tiny change)
79
80 * s/cygwin.h (G_SLICE_ALWAYS_MALLOC): New variable.
81
82 * emacs.c (main): Set the G_SLICE environment variable for Cygwin
83 GTK builds.
84
85 2009-12-07 Andreas Schwab <schwab@linux-m68k.org>
86
87 * unexelf.c (unexec): Don't search for .data twice.
88
89 2009-12-05 Chong Yidong <cyd@stupidchicken.com>
90
91 * xdisp.c (push_display_prop): Don't set avoid_cursor_p. Return 0
92 if push failed.
93 (handle_line_prefix): Set avoid_cursor_p here. Check return value
94 of push_display_prop (Bug#5000).
95
96 * xfaces.c (Fx_family_fonts): Handle 2009-07-14 change to return
97 value of font_list_entities (Bug#5085).
98
99 2009-12-04 Juanma Barranquero <lekktu@gmail.com>
100
101 Fix `string-to-number' to deal consistently with integers and floats.
102 * lread.c (isfloat_string): New argument ignore_trailing to accept all
103 trailing characters, not just whitespace.
104 (read1): Pass new arg 0 to keep old behavior.
105 * data.c (Fstring_to_number): Pass 1 to isfloat_string to ignore
106 trailing chars, as it is already done for integers. Doc fixes.
107 * lisp.h (isfloat_string): Add new arg to declaration of isfloat_string.
108
109 2009-12-04 Eli Zaretskii <eliz@gnu.org>
110
111 * dispextern.h (enum prop_idx) <AUTO_COMPOSED_PROP_IDX>: Delete
112 unused enumeration value.
113
114 2009-12-03 Eli Zaretskii <eliz@gnu.org>
115
116 * Makefile.in (lisp, shortlisp): Replace indian.el with indian.elc.
117
118 2009-12-03 Daniel Hackney <dan@haxney.org> (tiny change)
119
120 * process.c (Fmake_network_process): Fix up the tests for
121 "connectionless socket", so they DTRT for seqpacket sockets as well.
122
123 2009-12-03 Stefan Monnier <monnier@iro.umontreal.ca>
124
125 * process.c (Qseqpacket): New symbol.
126 (HAVE_SEQPACKET): New macro.
127 (Fmake_network_process): Accept new :type `seqpacket'.
128 (init_process): Add `seqpacket' feature when applicable.
129 (syms_of_process): Initialize Qseqpacket.
130
131 2009-12-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
132
133 * font.c (font_load_for_lface, font_open_by_name): Don't store name
134 if entity is Qnil.
135
136 2009-11-30 Stefan Monnier <monnier@iro.umontreal.ca>
137
138 * print.c (print_preprocess): Preprocess the key_and_value table of
139 hashtables, even tho they're "hidden" (bug#5082).
140
141 2009-11-29 Jan Djärv <jan.h.d@swipnet.se>
142
143 * frame.c (frame_make_pointer_invisible)
144 (frame_make_pointer_visible): Declare f before statements.
145
146 2009-11-28 Eli Zaretskii <eliz@gnu.org>
147
148 * Makefile.in [!AUTO_DEPEND]: Remove outdated comment about
149 omitted dependencies on lisp.h.
150
151 2009-11-27 Jan Djärv <jan.h.d@swipnet.se>
152
153 * xftfont.c (xftfont_end_for_frame): Just return if dpyinfo->display
154 is NULL.
155
156 * xterm.c (x_delete_terminal): Set dpyinfo->display to NULL.
157
158 * frame.c (frame_make_pointer_invisible)
159 (frame_make_pointer_visible): Just return if there isn't any selected
160 frame.
161
162 * search.c (simple_search): Remove warning by making *p const.
163
164 2009-11-26 Dan Nicolaescu <dann@ics.uci.edu>
165
166 * xdisp.c (power_letter): Remove duplicate const.
167
168 2009-11-25 Jan Djärv <jan.h.d@swipnet.se>
169
170 * term.c (delete_tty): Remove check for last terminal (bug#4970).
171
172 * xsettings.c: Revert changes from 2009-11-23. Just use Xft
173 defaults (bug #5025).
174
175 2009-11-24 Stefan Monnier <monnier@iro.umontreal.ca>
176
177 * insdel.c (adjust_markers_for_delete): Move it in the
178 right direction! (bug#4803)
179
180 2009-11-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
181
182 * font.c (font_open_entity): Don't use ASET if font_object is Qnil.
183
184 * xterm.c (x_new_font): Update f->scroll_bar_actual_width.
185
186 2009-11-24 Glenn Morris <rgm@gnu.org>
187
188 * frame.c (focus-follows-mouse): Mention mouse-autoselect-window.
189
190 2009-11-23 Jan Djärv <jan.h.d@swipnet.se>
191
192 * Makefile.in: Must create deps for ecrt0.o in its rule.
193
194 * xfns.c (Fx_select_font): Try to convert Fontconfig name to Gtk name
195 because that is what Gtk+ font dialog understands.
196
197 * font.c (font_make_object, Fcopy_font_spec): Use Fcopy_alist instead
198 of Fcopy_sequence.
199 (font_open_by_name): Put name given into QCname for font-object returned.
200
201 * frame.c (x_set_font): Save original font name as frame parameter
202 font-parameter.
203
204 * xsettings.c (set_default_xft_settings): New function.
205 (init_xfd_settings): Call set_default_xft_settings if no XSETTINGS window
206 is found.
207
208 2009-11-22 Andreas Schwab <schwab@linux-m68k.org>
209
210 * search.c (simple_search): Avoid CHAR_TO_BYTE in inner loop when
211 searching backwards through multibyte buffer.
212
213 2009-11-21 Jan Djärv <jan.h.d@swipnet.se>
214
215 * xterm.c: #include xgselect.h.
216 (x_initialize): Call xgselect_initialize.
217
218 * xsettings.c (something_changedCB): C++ comments => C comments.
219 (init_gconf): Do not deal with any GLib file descriptors, xg_select
220 does that now.
221
222 * gtkutil.c (xg_timer, xg_process_timeouts, xg_start_timer)
223 (xg_stop_timer, menu_grab_callback_cnt, menu_grab_callback)
224 (scroll_bar_button_cb): Remove.
225 (create_menus): C++ comments => C comments. Don't bind grab-notify
226 event.
227 (xg_create_scroll_bar): Don't bind button-press-event and
228 button-release-event.
229
230 * process.c: Include xgselect.h if defined (USE_GTK) ||
231 defined (HAVE_GCONF).
232 (wait_reading_process_output): Call xg_select for the same condition.
233
234 * xgselect.c (xg_select): New function to better integrate with
235 GLib/Gtk event handling. Needed if GConf daemon dies/restarts.
236
237 * xgselect.h: New file, declare xg_select, xgselect_initialize.
238
239 * Makefile.in (XOBJ): Add xgselect.o.
240
241 2009-11-21 Andreas Schwab <schwab@linux-m68k.org>
242
243 * character.h (STRING_CHAR, STRING_CHAR_AND_LENGTH): Remove
244 ignored second argument. All callers changed.
245 * regex.c (STRING_CHAR, STRING_CHAR_AND_LENGTH, RE_STRING_CHAR)
246 (RE_STRING_CHAR_AND_LENGTH): Likewise.
247 * xdisp.c (string_char_and_length): Likewise.
248
249 2009-11-21 Dan Nicolaescu <dann@ics.uci.edu>
250
251 * xterm.c (x_new_font):
252 * print.c (print_object):
253 * cmds.c (Fself_insert_command): Move declarations before statements.
254
255 2009-11-20 Ken Brown <kbrown@cornell.edu> (tiny change)
256
257 * s/cygwin.h: Remove unneeded linker flags.
258
259 2009-11-20 Jan Djärv <jan.h.d@swipnet.se>
260
261 * xfns.c (x_default_font_parameter): Call xsettings_get_system_font.
262
263 * xsettings.h: Declare xsettings_get_system_font.
264
265 * xsettings.c (xsettings_get_system_font): New function.
266 (init_gconf): No use initiating gconf unless we have Xft also.
267 (syms_of_xsettings): Only provide system-font-setting if HAVE_XFT and
268 HAVE_GCONF.
269
270 * gtkutil.c (xg_modify_menubar_widgets): If menubar is totally empty
271 add a blank entry so it doesn't collapse into nothing.
272
273 2009-11-19 Stefan Monnier <monnier@iro.umontreal.ca>
274
275 * lread.c (Funintern): Comment out last change.
276
277 2009-11-19 Richard Stallman <rms@gnu.org>
278
279 * lread.c (Funintern): Error if symbol is t or nil.
280
281 2009-11-19 Stefan Monnier <monnier@iro.umontreal.ca>
282
283 * insdel.c (make_gap_larger): Don't make as many assumptions about the
284 representation of Lisp integers.
285 Reported by MJ Chan <mjchan.inbox@gmail.com>.
286
287 2009-11-17 Andreas Schwab <schwab@linux-m68k.org>
288
289 * lisp.h: Remove declaration of Ffont_get_system_font.
290 * xfns.c: Move include of "xsettings.h".
291 * xsettings.h: Use EXFUN to declare Ffont_get_system_font.
292
293 2009-11-17 Jan Djärv <jan.h.d@swipnet.se>
294
295 * xsettings.c (something_changedCB, Ffont_get_system_font):
296 Check use_system_font.
297 (syms_of_xsettings): DEFVAR font-use-system-font.
298
299 2009-11-17 Andreas Schwab <schwab@linux-m68k.org>
300
301 * xfns.c (x_default_font_parameter): Remove dead assignment.
302
303 * lisp.h (Fbyteorder, init_font, Ffont_get_system_font): Declare.
304
305 2009-11-17 Jan Djärv <jan.h.d@swipnet.se>
306
307 * xftfont.c (xftfont_fix_match): Older versions of fontconfig do
308 not have FC_LCD_*. #define them if not there.
309
310 * xsettings.c (parse_xft_settings, apply_xft_settings): Ditto.
311
312 * xterm.h (struct x_display_info): Add atoms and Window for xsettings.
313
314 * xterm.c (handle_one_xevent): Call xft_settings_event for
315 ClientMessage, PropertyNotify and DestroyNotify.
316 (x_term_init): If we have XFT, get DPI from Xft.dpi.
317 Call xsettings_initialize.
318
319 * xftfont.c (xftfont_fix_match): New function.
320 (xftfont_open): Call XftDefaultSubstitute before XftFontMatch.
321 Call xftfont_fix_match after XftFontMatch.
322
323 * xfont.c (xfont_driver): Initialize all members.
324
325 * xfns.c (x_default_font_parameter):
326 Try font from Ffont_get_system_font.
327 Do not get font from x_default_parameter if we got one from
328 Ffont_get_system_font.
329 (Fx_select_font): Get the defaut font name from :name of FRAME_FONT(f).
330
331 * w32font.c (w32font_driver): Initialize all members.
332
333 * termhooks.h (enum event_kind): CONFIG_CHANGED_EVENT is new.
334
335 * lisp.h: Declare syms_of_xsettings.
336
337 * keyboard.c (kbd_buffer_get_event, make_lispy_event):
338 Handle CONFIG_CHANGED_EVENT.
339
340 * ftfont.c (ftfont_filter_properties): New function.
341
342 * frame.c (x_set_font): Remove unused variable lval.
343
344 * font.h (struct font_driver): Add filter_properties.
345
346 * font.c (font_put_extra): Don't return if val is nil, it means
347 boolean option is off.
348 (font_parse_fcname): Collect all extra properties in extra_props
349 and call filter_properties for all drivers with extra_props and
350 font as parameter.
351 (font_open_entity): Do not use cache, it does not pick up new
352 fontconfig settings like hinting.
353 (font_load_for_lface): If spec had a name in it, store it in entity.
354
355 * emacs.c (main): Call syms_of_xsettings
356
357 * config.in: HAVE_GCONF is new.
358
359 * Makefile.in (GCONF_CFLAGS, GCONF_LIBS): New variables for HAVE_GCONF.
360 xsettings.o is new.
361
362 2009-11-17 Kenichi Handa <handa@m17n.org>
363
364 * xdisp.c (x_produce_glyphs): Consider face-remapping when falling
365 back to the default font in case that no suitable font is found.
366
367 2009-11-17 Stefan Monnier <monnier@iro.umontreal.ca>
368
369 * menu.c (Fx_popup_menu) [HAVE_NS]: Use generic code for window edge.
370 Suggested by Chad Brown <yandros@mit.edu>.
371 (push_menu_item): Use MENU_ITEMS_ITEM_* names.
372
373 2009-11-16 Jan Djärv <jan.h.d@swipnet.se>
374
375 * xmenu.c (x_menu_wait_for_event): Call XFlush before select.
376
377 2009-11-14 Andreas Schwab <schwab@linux-m68k.org>
378
379 * Makefile.in: Ignore errors from mkdir when creating deps directory.
380
381 2009-11-14 Jan Djärv <jan.h.d@swipnet.se>
382
383 * gtkutil.c (xg_update_frame_menubar): Do nothing if menubar already
384 has a parent.
385
386 * Makefile.in: If AUTO_DEPEND is defined, make gcc generate
387 dependency files in deps/. Include those files into Makefile.
388
389 * config.in: Generated (AUTO_DEPEND).
390
391 2009-11-13 Michael Albinus <michael.albinus@gmx.de>
392
393 * dbusbind.c (Vdbus_registered_objects_table): Rename from
394 Vdbus_registered_functions_table, because it contains also
395 properties. Fix docstring.
396 (Fdbus_call_method, Fdbus_call_method_asynchronously): Fix docstring.
397
398 2009-11-13 Stefan Monnier <monnier@iro.umontreal.ca>
399
400 * alloc.c (mark_object): Don't reprocess marked strings.
401 Check vector's markbit earlier. Adjust calls to mark_vectorlike.
402 (mark_vectorlike, mark_char_table): Assume the object is unmarked.
403
404 2009-11-13 Kenichi Handa <handa@m17n.org>
405
406 * category.c (word_boundary_p): Adjust for the change of the
407 semantics of Vword_combining_categories.
408 (Vword_combining_categories): Describe the slight change of the
409 semantics.
410
411 2009-11-13 Eli Zaretskii <eliz@gnu.org>
412
413 * menu.c (Fx_popup_menu): Call Fx_hide_tip only if HAVE_WINDOW_SYSTEM.
414
415 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Revert last change.
416
417 2009-11-12 Stefan Monnier <monnier@iro.umontreal.ca>
418
419 * xdisp.c (syms_of_xdisp): Fix typo in last change.
420
421 2009-11-12 Juanma Barranquero <lekktu@gmail.com>
422
423 * makefile.w32-in: Update dependencies; add dependencies to lisp.h.
424
425 2009-11-11 David Reitter <david.reitter@gmail.com>
426
427 * menu.c (Fx_popup_menu): Remove left-over debugging code and rename
428 variables to fix 2009-11-09 change.
429
430 2009-11-11 Dan Nicolaescu <dann@ics.uci.edu>
431
432 * process.c (ifflag_def): Make flag_sym constant.
433 (Fnetwork_interface_info): Use a constant pointer.
434 (ifflag_table):
435 * xfns.c (cursor_bits):
436 * xdisp.c (power_letter):
437 * termcap.c (speeds, esctab):
438 * sysdep.c (baud_convert):
439 * keyboard.c (lispy_accent_codes, modifier_names):
440 * image.c (xbm_format, xpm_format, pbm_format, png_format)
441 (jpeg_format, tiff_format, gif_format, svg_format)
442 (interlace_start, interlace_increment, gs_format):
443 * gtkutil.c (separator_names):
444 * fringe.c (swap_nibble):
445 * fns.c (base64_value_to_char, base64_char_to_value):
446 * fileio.c (make_temp_name_tbl):
447 * coding.c (suffixes): Make constant.
448
449 * frame.c (make_initial_frame):
450 * buffer.c (init_buffer_once): Use make_pure_c_string instead of
451 build_string.
452 * alloc.c (syms_of_alloc): Build Vmemory_signal_data in pure memory.
453
454 * s/freebsd.h:
455 * s/netbsd.h: Remove code referring to non-existent file: unexsunos4.o.
456
457 * Makefile.in: Add dependencies to lisp.h. Remove dependencies
458 for non-existent files: unexmips.c, unexnext.c, abbrev.c, malloc.c.
459
460 * xfns.c (syms_of_xfns): Use make_pure_string instead of build_string.
461 * xterm.c (syms_of_xterm):
462 * xfaces.c (syms_of_xfaces):
463 * xdisp.c (syms_of_xdisp):
464 * lread.c (syms_of_lread):
465 * keyboard.c (syms_of_keyboard): Use make_pure_c_string instead of
466 build_string.
467
468 * doc.c (Fsnarf_documentation): Purecopy Vbuild_files.
469
470 2009-11-10 Stefan Monnier <monnier@iro.umontreal.ca>
471
472 * fns.c (Fplist_get): Merge the active and the commented out code.
473
474 2009-11-10 Jan Djärv <jan.h.d@swipnet.se>
475
476 * keyboard.h: Declare timer_check.
477
478 * keyboard.c (timer_check_2): New function that does what the old
479 timer_check did.
480 (timer_check): Call timer_check_2 until -1 or a non-zero time is
481 returned, i.e. don't return -1 with timers pending.
482
483 * process.c: Remove extern declaration of timer_check.
484
485 * xmenu.c (x_menu_wait_for_event): Remove code that did a timeout
486 even if timer_check returned -1.
487
488 * gtkutil.c (xg_dialog_response_cb): Data is now a struct
489 xg_dialog_data.
490 (pop_down_dialog): Destroy widget (if any), cancel timer and unref
491 the event loop.
492 (xg_maybe_add_timer, xg_dialog_run): New functions (bug #4574).
493 (xg_get_file_name, xg_get_font_name): Call xg_dialog_run (bug #4574).
494 Destroy the dialog after xg_dialog_run.
495
496 2009-11-10 Stefan Monnier <monnier@iro.umontreal.ca>
497
498 * menu.c (Fx_popup_menu) [HAVE_NS]: Remove unused vars.
499
500 2009-11-10 Jan Djärv <jan.h.d@swipnet.se>
501
502 * xmenu.c (xmenu_show): Must not be static after 2009-11-09 changes.
503
504 2009-11-09 Juanma Barranquero <lekktu@gmail.com>
505
506 * menu.c [HAVE_NTGUI]: Declare current_popup_menu.
507
508 2009-11-09 Stefan Monnier <monnier@iro.umontreal.ca>
509
510 * menu.c (Fx_popup_menu): Consolidate versions from xmenu.c,
511 w32menu.c, and nsmenu.m.
512 Simplify the obsolete case where position is nil.
513 (cleanup_popup_menu): New function, moved from nsmenu.m.
514 (struct skp): Remove slot `notreal'.
515 (single_keymap_panes, keymap_panes): Remove arg `notreal' and
516 adjust callers.
517 (single_menu_item): Adjust call to parse_menu_item.
518 (syms_of_menu): Defsubr x-popup-menu.
519 * menu.h (Vmenu_updating_frame): Consolidate declarations from *menu.c.
520 (keymap_panes): Don't export any more.
521 (mouse_position_for_popup, w32_menu_show, ns_menu_show)
522 (xmenu_show): Declare.
523 * keyboard.c (parse_menu_item): Remove arg `notreal'.
524 (menu_bar_item, read_char_minibuf_menu_prompt): Adjust callers.
525 * keyboard.h (parse_menu_item): Update declaration.
526 * xmenu.c (Fx_popup_menu): Remove.
527 (syms_of_xmenu): Don't defsubr x-popup-menu.
528 * w32menu.c (Fx_popup_menu): Remove.
529 (syms_of_w32menu): Don't defsubr x-popup-menu.
530 * nsmenu.m (cleanup_popup_menu): Remove.
531 (ns_menu_show): Rename from ns_popup_menu and remove all the code
532 moved to menu.c's Fx_popup_menu.
533 (Fx_popup_menu): Remove.
534 (syms_of_nsmenu): Don't defsubr x-popup-menu, and don't initialize
535 menu_items (it's done in menu.c already).
536
537 2009-11-08 Stefan Monnier <monnier@iro.umontreal.ca>
538
539 * keyboard.c (parse_menu_item): Handle `notreal' a bit earlier.
540 Use `tem' less. Make sure KEYEQ holds a string or nil (bug#4879).
541
542 2009-11-08 Chong Yidong <cyd@stupidchicken.com>
543
544 * xmenu.c (Fx_popup_menu): Extract event timestamp. Pass it to
545 xmenu_show. Hide any tooltip before opening a menu.
546 (xmenu_show): New arg. Pass it to create_and_show_popup_menu.
547 (create_and_show_popup_menu): New arg. Pass it to gtk_menu_popup.
548
549 2009-11-06 Stefan Monnier <monnier@iro.umontreal.ca>
550
551 Let integers use up 2 tags to give them one extra bit and thus double
552 their range.
553 * lisp.h (USE_2_TAGS_FOR_INTS): New macro.
554 (LISP_INT_TAG, case_Lisp_Int, LISP_STRING_TAG, LISP_INT_TAG_P):
555 New macros.
556 (enum Lisp_Type): Use them. Give explicit values.
557 (Lisp_Type_Limit): Remove.
558 (XINT, XUINT, make_number) [!USE_LISP_UNION_TYPE]:
559 (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM, INTMASK):
560 Pay attention to USE_2_TAGS_FOR_INTS.
561 (INTEGERP): Use LISP_INT_TAG_P.
562 * fns.c (internal_equal): Simplify the default case.
563 (sxhash): Use case_Lisp_Int.
564 * data.c (wrong_type_argument): Don't check against Lisp_Type_Limit
565 any more.
566 (Ftype_of): Use case_Lisp_Int.
567 (store_symval_forwarding): Take into account the fact that Ints can
568 now have more than one tag.
569 * buffer.c (syms_of_buffer): Use LISP_INT_TAG.
570 buffer_slot_type_mismatch):
571 * xfaces.c (face_attr_equal_p):
572 * print.c (print_object):
573 * alloc.c (mark_maybe_object, mark_object, survives_gc_p):
574 Use case_Lisp_Int.
575
576 2009-11-06 Eli Zaretskii <eliz@gnu.org>
577
578 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Reduce by further 30K.
579
580 * alloc.c (make_pure_c_string): Fix last change to avoid compiler
581 warning.
582
583 2009-11-06 Jan Djärv <jan.h.d@swipnet.se>
584
585 * gtkutil.c (xg_event_is_for_scrollbar): New function (bug#4870).
586
587 * gtkutil.h: Declare xg_event_is_for_scrollbar (bug#4870).
588
589 * xterm.c (handle_one_xevent): Call xg_event_is_for_scrollbar for
590 ButtonPressRelease and MotionNotify (bug#4870).
591
592 2009-11-06 Dan Nicolaescu <dann@ics.uci.edu>
593
594 * keymap.c (syms_of_keymap): Construct exclude_keys in pure memory.
595
596 * xterm.c (syms_of_xterm):
597 * xselect.c (syms_of_xselect):
598 * xmenu.c (syms_of_xmenu):
599 * xfns.c (syms_of_xfns):
600 * xfaces.c (syms_of_xfaces):
601 * xdisp.c (syms_of_xdisp):
602 * window.c (syms_of_window):
603 * w32fns.c (syms_of_w32fns):
604 * undo.c (syms_of_undo):
605 * textprop.c (syms_of_textprop):
606 * terminal.c (syms_of_terminal):
607 * syntax.c (syms_of_syntax):
608 * sound.c (syms_of_sound):
609 * search.c (syms_of_search):
610 * print.c (syms_of_print):
611 * minibuf.c (syms_of_minibuf):
612 * macros.c (syms_of_macros):
613 * keymap.c (syms_of_keymap, initial_define_key)
614 (initial_define_lispy_key):
615 * keyboard.c (syms_of_keyboard):
616 * insdel.c (syms_of_insdel):
617 * image.c (syms_of_image):
618 * fringe.c (syms_of_fringe):
619 * frame.c (syms_of_frame):
620 * fontset.c (syms_of_fontset):
621 * fns.c (syms_of_fns):
622 * fns.c (syms_of_fns):
623 * fileio.c (syms_of_fileio):
624 * fileio.c (syms_of_fileio):
625 * eval.c (syms_of_eval):
626 * doc.c (syms_of_doc):
627 * dispnew.c (syms_of_display):
628 * dired.c (syms_of_dired):
629 * dbusbind.c (syms_of_dbusbind):
630 * data.c (syms_of_data):
631 * composite.c (syms_of_composite):
632 * coding.c (syms_of_coding):
633 * cmds.c (syms_of_cmds):
634 * charset.c (define_charset_internal, syms_of_character):
635 * ccl.c (syms_of_ccl):
636 * category.c (syms_of_category, init_category_once):
637 * casetab.c (syms_of_casetab):
638 * casefiddle.c (syms_of_casefiddle):
639 * callint.c (syms_of_callint):
640 * bytecode.c (syms_of_bytecode):
641 * buffer.c (keys_of_buffer, syms_of_buffer):
642 * alloc.c (syms_of_alloc):
643 * process.c (syms_of_process, init_process):
644 * lread.c (syms_of_lread, init_obarray):
645 * font.c (build_style_table):
646 * emacs.c (syms_of_emacs, main): Replace calls to intern with
647 intern_c_string, calls to make_pure_string with
648 make_pure_c_string. Use pure_cons instead of Fcons.
649
650 * process.c (socket_options): Make it const.
651 (set_socket_option, init_process): Use a const pointer.
652
653 * lread.c (intern_c_string): New function.
654 (defvar_kboard, defvar_lisp, defvar_lisp_nopro, defvar_bool)
655 (defvar_int): Uset it. Make the name const char*.
656
657 * lisp.h (defvar_kboard, defvar_lisp, defvar_lisp_nopro, defvar_bool)
658 (defvar_int): Update prototypes.
659 (DEFUN, EXFUN): Support for prototypes is now required.
660 (intern_c_string): New prototype.
661 (struct Lisp_Subr): Make symbol_name constant.
662
663 * font.c (struct table_entry): Remove unused member. Make NAMES
664 constant.
665 (weight_table, slant_table, width_table): Make constant.
666
667 * emacs.c (struct standard_args): Make name and longname constant.
668
669 * character.h (DEFSYM): Use intern_c_string.
670
671 2009-11-06 Stefan Monnier <monnier@iro.umontreal.ca>
672
673 * alloc.c (make_pure_c_string): New function.
674
675 * eval.c (Fautoload): Purecopy all arguments.
676
677 2009-11-05 Kenichi Handa <handa@m17n.org>
678
679 * fileio.c (Finsert_file_contents): Be sure set coding-system of
680 the buffer in case of replace.
681
682 2009-11-04 Dan Nicolaescu <dann@ics.uci.edu>
683
684 * puresize.h (BASE_PURESIZE): Increase to 1620000.
685
686 2009-11-03 Stefan Monnier <monnier@iro.umontreal.ca>
687
688 * editfns.c (save_restriction_restore): Update the (pt/begv/vz)_markers
689 when applicable (bug#4851).
690
691 * lisp.h: Make USE_LSB_TAG work with USE_LISP_UNION_TYPE.
692 (P_): Support for prototypes is now required.
693
694 2009-10-31 Chong Yidong <cyd@stupidchicken.com>
695
696 * frame.c (Fmake_frame_invisible, Fframe_visible_p): Doc fix
697 (Bug#4827).
698
699 2009-10-30 Eli Zaretskii <eliz@gnu.org>
700
701 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Redefine to waste less pure space.
702
703 2009-10-30 Dan Nicolaescu <dann@ics.uci.edu>
704
705 * puresize.h (BASE_PURESIZE): Increase to 1470000.
706
707 * lread.c (Fload): Purecopy the file name when building
708 Vpreloaded_file_list.
709
710 2009-10-29 Jason Rumney <jasonr@wanchan.jasonrumney.net>
711
712 * w32fns.c (syms_of_w32fns): Change default value of
713 w32-scroll-lock-modifier to nil. (Bug#2827)
714
715 2009-10-26 Juanma Barranquero <lekktu@gmail.com>
716
717 * minibuf.c (Fall_completions): Fix typos in docstring.
718
719 2009-10-26 Andreas Schwab <schwab@redhat.com>
720
721 * puresize.h (PURESIZE_RATIO): Increase back to 10/6.
722
723 2009-10-26 Juanma Barranquero <lekktu@gmail.com>
724
725 * window.c (grow_mini_window): Comment out "delta >= 0" assertion.
726 For delta < 0, skip check that only makes sense when the mini-window
727 is going to be enlarged. (Bug#4534)
728
729 2009-10-25 Chong Yidong <cyd@stupidchicken.com>
730
731 * keyboard.c (read_char_x_menu_prompt): Don't demand a prompt
732 string in menu maps (Bug#4471).
733
734 2009-10-24 Chong Yidong <cyd@stupidchicken.com>
735
736 * nsfns.m (ns_set_name, ns_set_name_as_filename): Don't call
737 FRAME_NS_VIEW on terminal frames (Bug#4765).
738
739 2009-10-24 Andreas Schwab <schwab@linux-m68k.org>
740
741 * dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_INTnn and
742 DBUS_TYPE_UINTnn separately to get proper sign extension.
743
744 * dired.c (Ffile_attributes): Simplify now that FIXNUM_OVERFLOW_P
745 can properly handle unsigned types.
746 (make_uid, make_gid): Remove.
747
748 * lisp.h (FIXNUM_OVERFLOW_P): Fix last change to handle unsigned
749 types again.
750
751 * sysdep.c (procfs_ttyname): Fix sprintf format to match argument type.
752 (system_process_attributes): Likewise.
753
754 2009-10-24 Dan Nicolaescu <dann@ics.uci.edu>
755
756 * keymap.c (Fmake_sparse_keymap): Purecopy the name.
757
758 * eval.c (Fautoload): Purecopy the filename. Simplify.
759
760 * category.c (Fdefine_category): Purecopy docstring.
761
762 2009-10-23 Andreas Schwab <schwab@linux-m68k.org>
763
764 * lisp.h (FIXNUM_OVERFLOW_P): Remove cast to avoid overflow.
765
766 * puresize.h (PURESIZE_RATIO): Decrease to 11/7.
767
768 2009-10-23 Chong Yidong <cyd@stupidchicken.com>
769
770 * window.c (Fwindow_edges, Fwindow_pixel_edges)
771 (Fwindow_inside_edges, Fwindow_inside_pixel_edges): Doc fix
772 (Bug#4775).
773
774 2009-10-23 Stefan Monnier <monnier@iro.umontreal.ca>
775
776 * fileio.c (syms_of_fileio): Initialize Vdirectory_sep_char.
777 (init_fileio_once):
778 * lisp.h (init_fileio_once): Remove.
779 * emacs.c (main): Don't call init_fileio_once.
780
781 2009-10-23 Dan Nicolaescu <dann@ics.uci.edu>
782
783 * puresize.h (BASE_PURESIZE): Increase to 1430000.
784
785 2009-10-21 Andreas Schwab <schwab@linux-m68k.org>
786
787 * doprnt.c (doprnt): Fix overflow check.
788
789 2009-10-21 Jan Djärv <jan.h.d@swipnet.se>
790
791 * xterm.c (x_term_init): Remove XSynchronize call done for debugging.
792
793 * xterm.h (x_wait_for_event): Declare it.
794
795 * xterm.c (pending_event_wait): New variable.
796 (handle_one_xevent): Set pending_event_wait.eventtype to 0 if we
797 see pending_event_wait.eventtype.
798 (handle_one_xevent): Don't change gravity when parent changes.
799 (x_new_font): Call change_frame_size with new rows/columns before we
800 try to resize the frame.
801 (x_wait_for_event): New function.
802 (x_set_window_size_1): Don't change gravity unless change_gravity
803 is set.
804 Call XResizeWindow with FRAME_OUTER_WINDOW. If we are visible,
805 don't change frame size, instead wait for the ConfigureNotify.
806 (x_set_window_size): Call x_set_window_size_1 for USE_X_TOOLKIT also.
807 (x_wm_set_size_hint): Remove ifdefs for USE_X_TOOLKIT.
808 (x_initialize): Initialize pending_event_wait.
809
810 * xmenu.c (set_frame_menubar): Add internal border width to menu bar
811 size.
812
813 * widget.c (EmacsFrameSetValues): Add comment.
814 (EmacsFrameSetCharSize): Just call x_set_window_size.
815
816 * gtkutil.c (xg_frame_set_char_size): Flush events and call
817 x_wait_for_event.
818 (flush_and_sync): Remove again.
819 (xg_get_font_name): Suggest monospace if no previous font is known.
820
821 2009-10-20 Stefan Monnier <monnier@iro.umontreal.ca>
822
823 * character.c (char_resolve_modifier_mask): Don't resolve meta to the
824 8th bit, since that only made sense in the ASCII world (bug#4751).
825
826 2009-10-20 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
827
828 * xterm.c (XTread_socket) [!USE_GTK && HAVE_X_I18N]: Don't quit
829 processing pending events when event is filtered for input method.
830 (Bug#3681)
831
832 2009-10-20 Juanma Barranquero <lekktu@gmail.com>
833
834 * fns.c: Add #endif accidentally removed in previous change.
835
836 2009-10-19 Dan Nicolaescu <dann@ics.uci.edu>
837
838 * fns.c: Remove code for unsupported system: MAC_OS.
839 * image.c: Likewise. Include setjmp.h.
840
841 2009-10-19 Jan Djärv <jan.h.d@swipnet.se>
842
843 * xterm.c (x_create_toolkit_scroll_bar): Don't allocate color for
844 pixel -1 (bug #4742).
845
846 2009-10-19 Dan Nicolaescu <dann@ics.uci.edu>
847
848 * process.c (create_pty): Remove conditionals for no longer
849 supported systems: UNIPLUS and RTU.
850
851 * xterm.c:
852 * xfns.c: Remove always true condition: XtSpecificationRelease >= 5.
853
854 * alloc.c: Do not define struct catchtag.
855 * eval.c: Move struct catchtag definition ...
856 * lisp.h: ... here.
857
858 * image.c: Move png.h #include earlier to avoid warnings.
859
860 * xterm.c:
861 * xsmfns.c:
862 * xselect.c:
863 * xrdb.c:
864 * xmenu.c:
865 * xftfont.c:
866 * xfont.c:
867 * xfns.c:
868 * xfaces.c:
869 * xdisp.c:
870 * window.c:
871 * widget.c:
872 * w32xfns.c:
873 * w32uniscribe.c:
874 * w32term.c:
875 * w32select.c:
876 * w32reg.c:
877 * w32proc.c:
878 * w32menu.c:
879 * w32inevt.c:
880 * w32heap.c:
881 * w32font.c:
882 * w32fns.c:
883 * w32console.c:
884 * w32.c:
885 * w16select.c:
886 * vm-limit.c:
887 * unexsol.c:
888 * unexec.c:
889 * unexcw.c:
890 * unexaix.c:
891 * undo.c:
892 * tparam.c:
893 * textprop.c:
894 * terminfo.c:
895 * terminal.c:
896 * termcap.c:
897 * term.c:
898 * syntax.c:
899 * sound.c:
900 * sheap.c:
901 * search.c:
902 * scroll.c:
903 * region-cache.c:
904 * regex.c:
905 * ralloc.c:
906 * process.c:
907 * print.c:
908 * nsterm.m:
909 * nsselect.m:
910 * nsmenu.m:
911 * nsimage.m:
912 * nsfont.m:
913 * nsfns.m:
914 * msdos.c:
915 * minibuf.c:
916 * menu.c:
917 * marker.c:
918 * macros.c:
919 * keymap.c:
920 * keyboard.c:
921 * intervals.c:
922 * insdel.c:
923 * indent.c:
924 * gtkutil.c:
925 * ftxfont.c:
926 * ftfont.c:
927 * fringe.c:
928 * frame.c:
929 * fontset.c:
930 * font.c:
931 * fns.c:
932 * floatfns.c:
933 * filelock.c:
934 * fileio.c:
935 * emacs.c:
936 * editfns.c:
937 * dosfns.c:
938 * doprnt.c:
939 * doc.c:
940 * dispnew.c:
941 * dired.c:
942 * dbusbind.c:
943 * data.c:
944 * composite.c:
945 * coding.c:
946 * cmds.c:
947 * cm.c:
948 * chartab.c:
949 * charset.c:
950 * character.c:
951 * ccl.c:
952 * category.c:
953 * casetab.c:
954 * casefiddle.c:
955 * callproc.c:
956 * callint.c:
957 * bytecode.c:
958 * buffer.c:
959 * atimer.c: Include setjmp.h. (Bug#4643)
960
961 2009-10-18 Stefan Monnier <monnier@iro.umontreal.ca>
962
963 Remove leftover table unibyte_to_multibyte_table.
964 * character.c (unibyte_to_multibyte_table): Remove.
965 (Funibyte_char_to_multibyte): Use MAKE_CHAR_MULTIBYTE.
966 * charset.c (init_charset_once): Don't init unibyte_to_multibyte_table.
967 * character.h (UNIBYTE_TO_CHAR): New macro.
968 (MAKE_CHAR_MULTIBYTE): Use it.
969 (unibyte_to_multibyte_table, unibyte_char_to_multibyte): Remove.
970 * xdisp.c (get_next_display_element): USE ASCII_CHAR_P.
971 (message_dolog, set_message_1):
972 * search.c (Freplace_match):
973 * editfns.c (Fcompare_buffer_substrings):
974 * fns.c (Fcompare_strings): Use MAKE_CHAR_MULTIBYTE.
975 (concat):
976 * insdel.c (copy_text, count_size_as_multibyte):
977 Use ASCII_CHAR_P and BYTE8_TO_CHAR.
978 * term.c (produce_glyphs):
979 * syntax.c (skip_chars): Use BYTE8_TO_CHAR.
980 * regex.c (RE_CHAR_TO_MULTIBYTE):
981 * cmds.c (internal_self_insert):
982 * buffer.h (FETCH_CHAR_AS_MULTIBYTE): Use UNIBYTE_TO_CHAR.
983
984 * cmds.c (internal_self_insert): `c' is already in "multibyte" form.
985
986 2009-10-17 Dan Nicolaescu <dann@ics.uci.edu>
987
988 * puresize.h (BASE_PURESIZE): Increase to 1310000.
989
990 2009-10-16 Juanma Barranquero <lekktu@gmail.com>
991
992 * buffer.c (Fbuffer_name): Doc fix. (Bug#4728)
993
994 2009-10-15 Adrian Robert <Adrian.B.Robert@gmail.com>
995
996 * nsterm.h (NS_HAVE_NSINTEGER): Back out and augment with CGFloat,
997 still needed under Tiger.
998
999 * nsterm.m (EmacsView-conversationIdentifier): Arg is long.
1000
1001 * m/amdx86-64.h: Don't set LIB_STANDARD and START_FILES under
1002 __Apple__.
1003
1004 * m/intel386.h: Remove DARWIN_OS/_LP64 special case.
1005
1006 2009-10-15 Kenichi Handa <handa@m17n.org>
1007
1008 * print.c (print_object): Escape a symbol like "2E10" too.
1009
1010 2009-10-11 Adrian Robert <Adrian.B.Robert@gmail.com>
1011
1012 Cleanups and changes for 64-bit compile under Snow Leopard.
1013 Based on suggestions by Erik Charlebois.
1014
1015 * nsfns.m (xw-color-values): Use CGFloat where appropriate.
1016
1017 * nsfont.m (ns_char_width): Replace deprecated call.
1018 (ns_findfonts, nsfont_list_family): Use long format in printf, and
1019 cast argument.
1020 (nsfont_open): Use ns_char_width() everywhere.
1021 (ns_uni_to_glyphs, NSGlyphStorage): Use NS[U]Integer where appropriate.
1022
1023 * nsgui.h (NSPoint, NSSize) [!__OBJC__]: Define and use CGFloat.
1024
1025 * nsimage.m (EmacsImage-setXBMColor:,-getPixelAtX:Y:): Use CGFloat
1026 where appropriate.
1027
1028 * nsmenu.m (EmacsMenu-addItemWithWidgetValue:): Use NSInteger
1029 where appropriate.
1030 (EmacsToolbar-addDisplayItemWithImage:idx:helpText:enabled:):
1031 Use stringWithUTF8String.
1032 (EmacsDialogPanel-initWithContentRect:styleMask:): Fix signature.
1033
1034 * nsterm.h (EmacsView, EmacsMenu, EmacsToolbar, EmacsTooltip):
1035 Add formal protocol mention to inheritance.
1036 [NS_HAVE_NSINTEGER]: Drop conditional and contents.
1037
1038 * nsterm.m (ns_color_to_lisp): Use CGFloat where appropriate.
1039 Fix printf format.
1040 (ns_query_color): Use CGFloat where appropriate.
1041 (EmacsView<NSTextInput>, EmacsScroller): Fix method signatures.
1042 (EmacsScroller-mouseDown:) Use long format in printf, and cast
1043 argument.
1044
1045 * config.in (NS_HAVE_NSINTEGER): Drop.
1046
1047 * dbusbind.c (dbus-method-return-internal)
1048 (dbus-method-error-internal): Use long format in printf, and cast
1049 argument.
1050
1051 * font.c (font_unparse_xlfd, font_unparse_fcname): Use long format
1052 in printf, and cast argument.
1053
1054 * process.c (list_processes_1): Use long format in printf, and
1055 cast argument.
1056
1057 2009-10-11 Glenn Morris <rgm@gnu.org>
1058
1059 * frame.c (Fframe_pixel_height): Doc fix. (Bug#4535)
1060
1061 2009-10-08 Jan Djärv <jan.h.d@swipnet.se>
1062
1063 * gtkutil.c (create_menus): Call gtk_widget_set_size_request for
1064 menu bar with a small width so it doesn't enlarge the frame.
1065
1066 2009-10-08 Juanma Barranquero <lekktu@gmail.com>
1067
1068 * fontset.c (Fset_fontset_font): Fix typos in error messages.
1069
1070 2009-10-06 Glenn Morris <rgm@gnu.org>
1071
1072 * Makefile.in (emacs${EXEEXT}): Remove direct dependence on
1073 SOME_MACHINE_LISP (this enters indirectly via DOC).
1074
1075 2009-10-05 Eli Zaretskii <eliz@gnu.org>
1076
1077 * dired.c (Ffile_attributes): Doc fix. (Bug#4638)
1078
1079 2009-10-04 Eli Zaretskii <eliz@gnu.org>
1080
1081 * xdisp.c (syms_of_xdisp) <unibyte-display-via-language-environment>:
1082 Doc fix.
1083
1084 2009-10-03 Martin Rudalics <rudalics@gmx.at>
1085
1086 * window.c (Fdelete_window): Check WINDOW argument. (Bug#4618)
1087
1088 2009-10-02 Michael Albinus <michael.albinus@gmx.de>
1089
1090 * lisp.h (Qdelete_directory_internal): Remove, because it is not
1091 used anymore outside fileio.c.
1092
1093 * w32fns.c (Fsystem_move_file_to_trash): Use delete-directory.
1094
1095 2009-10-01 Juanma Barranquero <lekktu@gmail.com>
1096
1097 * lisp.h (Qdelete_directory_internal):
1098 Declare, instead of Qdelete_directory.
1099
1100 * w32fns.c (Fsystem_move_file_to_trash): Use it.
1101
1102 2009-10-01 Stefan Monnier <monnier@iro.umontreal.ca>
1103
1104 * eval.c (Fcalled_interactively_p): Add `kind' argument.
1105
1106 2009-10-01 Michael Albinus <michael.albinus@gmx.de>
1107
1108 * fileio.c (Fdelete_directory_internal): Rename from
1109 Fdelete_directory. It is not a command anymore. It has no file
1110 name handler.
1111
1112 2009-09-28 Stefan Monnier <monnier@iro.umontreal.ca>
1113
1114 * xdisp.c (get_next_display_element): Use an enum in last change.
1115
1116 2009-09-28 Kenichi Handa <handa@m17n.org>
1117
1118 * xdisp.c (get_next_display_element): Pay attention to
1119 unibyte_display_via_language_environment in handling
1120 Vnobreak_char_display.
1121
1122 2009-09-27 Adrian Robert <Adrian.B.Robert@gmail.com>
1123
1124 * nsterm.h (ns_app_name): New extern variable.
1125
1126 * nsterm.m (ns_app_name): New variable.
1127 (ns_term_init): Set and use it.
1128 (ns_term_shutdown): Use it.
1129
1130 * nsmenu.m (ns_update_menubar): Use ns_app_name. Sync with xmenu.c.
1131 (EmacsMenu-clear:, ns_popup_dialog): Use ns_app_name.
1132
1133 * nsfns.m (ns_set_name_iconic, ns_set_name)
1134 (ns_set_name_as_filename, x-create-frame, ns-get-resource)
1135 (ns-set-resource): Use ns_app_name instead of NSProcessInfo call.
1136
1137 * menu.c (find_and_return_menu_selection) [HAVE_NS]:
1138 Remove double-casting in client_data comparison.
1139
1140 2009-09-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1141
1142 * keyboard.c (make_lispy_event): Remember last wheel direction.
1143 (syms_of_keyboard) <wheel_syms>: Compute array size at compile time.
1144
1145 2009-09-26 Glenn Morris <rgm@gnu.org>
1146
1147 * Makefile.in (MSDOS_SUPPORT) [MSDOS]: Remove unneeded '/' in
1148 internal.elc. Add term/pc-win.elc.
1149 (WINDOW_SUPPORT) [HAVE_X_WINDOWS]: Add term/common-win.elc and
1150 term/x-win.elc.
1151 (WINNT_SUPPORT) [WINDOWSNT]: Add term/common-win.elc and
1152 term/w32-win.elc.
1153 (NS_SUPPORT): New.
1154 (lisp): Add NS_SUPPORT.
1155 (SOME_MACHINE_LISP): Add term/w32-win.elc and emacs-lisp/easymenu.elc.
1156
1157 2009-09-25 David Reitter <david.reitter@gmail.com>
1158
1159 * nsmenu.m (EmacsMenu-clear): Recognize application menu
1160 on Mac OS X 10.6+ (bug#4513).
1161
1162 2009-09-24 Juanma Barranquero <lekktu@gmail.com>
1163
1164 * frame.c (xrdb_get_resource): Return nil for empty string resources;
1165 some parts of Emacs code (like font selection) don't grok them.
1166 See http://lists.gnu.org/archive/html/emacs-devel/2009-09/msg00528.html
1167
1168 2009-09-24 Andreas Schwab <schwab@redhat.com>
1169
1170 * coding.c (decode_coding_iso_2022): Fix operator precedence.
1171
1172 2009-09-24 Juanma Barranquero <lekktu@gmail.com>
1173
1174 * dired.c (Fdirectory_files): Fix typo in docstring.
1175
1176 2009-09-23 Adrian Robert <Adrian.B.Robert@gmail.com>
1177
1178 * nsterm.m (EV_TIMESTAMP, x_set_window_size)
1179 (EmacsApp-application:openFiles:): Remove GNUstep conditionals.
1180 (EmacsScroller-setPosition:portion:whole:): Remove -display call
1181 under GNUstep.
1182 (EmacsView-initFrameFromEmacs:): Set autoresizing mask.
1183
1184 * nsfont.m (ns_glyph_metrics): Remove GNUstep conditional for
1185 glyph advancement.
1186
1187 2009-09-22 Adrian Robert <Adrian.B.Robert@gmail.com>
1188
1189 * nsterm.m (CGContextSetFontRenderingMode): Drop declaration.
1190 (EmacsScroller-mouseDown:): Use SCROLL_BAR_FIRST_DELAY.
1191
1192 * nsmenu.m (EmacsMenu-menuNeedsUpdate): Ignore if frame has been
1193 deleted (bug #4492).
1194
1195 * nsfont.m (Vns_reg_to_script): New lisp variable.
1196 (syms_of_nsfont): Declare it.
1197 (ns_registry_to_script): New function.
1198 (ns_get_req_script): Call it.
1199 (ns_findfonts): Don't give up on non-unicode registry.
1200
1201 * font.c (DEFAULT_ENCODING) [HAVE_NS]: Remove special case.
1202
1203 2009-09-20 Tom Tromey <tromey@redhat.com>
1204
1205 * eval.c (find_handler_clause): Make stack-trace-on-error work in
1206 batch mode (bug#4228).
1207
1208 2009-09-18 Rob Christie <robchristie@gmail.com> (tiny change)
1209
1210 * nsmenu.m (EmacsMenu-parseKeyEquiv:): Parse key equivalent more
1211 carefully. (Bug #4339)
1212
1213 2009-09-18 Chong Yidong <cyd@stupidchicken.com>
1214
1215 * syntax.c (Fchar_syntax): Minor doc fix (Bug#4400).
1216
1217 2009-09-18 Adrian Robert <Adrian.B.Robert@gmail.com>
1218
1219 * emacs.c (inhibit_x_resources): Update doc string for NS.
1220 (main) [HAVE_NS]: Don't process --no-init-file option. Remove
1221 legacy code for -NXHost. Fix error printf in daemon case.
1222
1223 * nsterm.h (ns_no_defaults): Remove.
1224
1225 * nsterm.m (ns_no_defaults): Remove.
1226 (ns_term_init): Switch ns_no_defaults -> inhibit_x_resources.
1227 (ns_use_qd_smoothing): Remove legacy variable.
1228 (EmacsView-windowShouldZoom:): Set frame left_pos, top_pos and
1229 don't update the NSWindow itself.
1230 (EmacsView-windowWillUseStandardFrame:defaultFrame:): Improve
1231 state detection and store user rect ourselves. (Bug #3581)
1232
1233 * nsfont.m (nsfont_draw) [NS_IMPL_COCOA]: Don't use
1234 ns_use_qd_smoothing.
1235
1236 * nsfns.m (x_get_string_resource): Ape just-previous changes to other
1237 platform versions. Drop support for emacs-20-style face specs.
1238 (x-close-connection): Drop PSFlush() under OS X.
1239 (x-focus-frame): Activate the app first. (Bug #4180)
1240
1241 2009-09-17 Juanma Barranquero <lekktu@gmail.com>
1242
1243 * emacs.c (inhibit_x_resources): New variable.
1244 (main) [HAVE_NS]: Don't process --quick command line option.
1245 (syms_of_emacs) <inhibit-x-resources>: DEFVAR_BOOL it.
1246
1247 * lisp.h (inhibit_x_resources): Declare it extern.
1248
1249 * w32reg.c (x_get_string_resource):
1250 * xrdb.c (x_get_string_resource): Obey inhibit_x_resources.
1251
1252 2009-09-17 Eli Zaretskii <eliz@gnu.org>
1253
1254 * Makefile.in (MSDOS_SUPPORT, SOME_MACHINE_LISP):
1255 Add lisp/term/internal.elc.
1256
1257 2009-09-17 Stefan Monnier <monnier@iro.umontreal.ca>
1258
1259 * frame.c (x_get_resource_string): Re-add for non-toolkit builds
1260 (bug#4461).
1261
1262 2009-09-17 Dan Nicolaescu <dann@ics.uci.edu>
1263
1264 * puresize.h (BASE_PURESIZE): Increase to 1290000.
1265
1266 * Makefile.in (OTHER_FILES): Define using autoconf, not cpp.
1267 (OBJECTS_MACHINE): Remove, unused.
1268
1269 2009-09-16 Stefan Monnier <monnier@iro.umontreal.ca>
1270
1271 * frame.c (x_get_resource_string): Remove unused.
1272
1273 2009-09-15 Jan Djärv <jan.h.d@swipnet.se>
1274
1275 * xterm.c (x_new_font): Call change_frame_size before calling
1276 x_set_window_size, in case frame size won't change.
1277
1278 * frame.c (x_set_font): Remove dead code.
1279
1280 2009-09-15 Stefan Monnier <monnier@iro.umontreal.ca>
1281
1282 * lread.c (Fload): Also run do-after-load-evaluation while dumping.
1283
1284 2009-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
1285
1286 * lread.c (Fload): Don't output a message after loading an obsolete
1287 package any more (done in Lisp now).
1288
1289 2009-09-12 Chong Yidong <cyd@stupidchicken.com>
1290
1291 * fns.c (syms_of_fns): Doc fix (Bug#4227).
1292
1293 2009-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
1294
1295 * keymap.c (Fwhere_is_internal): Use nconc2.
1296
1297 2009-09-11 Alan Mackenzie <acm@muc.de>
1298
1299 * dispnew.c (Fsend_string_to_terminal): Amend doc string to cover
1300 batch mode.
1301
1302 2009-09-11 Andreas Schwab <schwab@linux-m68k.org>
1303
1304 * xdisp.c (display_mode_element): Detect cycles.
1305
1306 2009-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
1307
1308 * keymap.c (where_is_internal): Don't erroneously return nil right after
1309 filling the cache.
1310 (where_is_internal_1): Fix up typo.
1311
1312 2009-09-11 Glenn Morris <rgm@gnu.org>
1313
1314 * frame.c (Fx_parse_geometry): Unify the X and NS versions so that they
1315 share a common doc-string.
1316
1317 2009-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
1318
1319 * keymap.c (get_keymap): Return the actual keymap symbol rather than
1320 t for autoloaded keymaps when autoloading is not allowed (bug#4393).
1321
1322 * keymap.c (QCadvertised_binding): New constant.
1323 (syms_of_keymap): Initialize it.
1324 (Fwhere_is_internal): Try and use bindings from :advertised-binding
1325 if applicable.
1326
1327 2009-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
1328
1329 * keyboard.c (Qmenu_alias, Vdefine_key_rebound_commands): Remove.
1330 (parse_menu_item): Streamline since bindings are recomputed all the
1331 time anyway. Don't bother checking Vdefine_key_rebound_commands any
1332 more and don't support lmenu's menu-alias any more either.
1333
1334 * keymap.c (where_is_internal_data): Make noindirect a boolean.
1335 (where_is_internal): Strip it down to only traverse the keymaps.
1336 Move the cache handling from Fwhere_is_internal to here.
1337 (Fwhere_is_internal): Move the handling of remapping and the choice of
1338 the best binding from where_is_internal to here.
1339 Unify the cached/noncached paths, so remapping is also handled
1340 correctly when the cache is used, and so the cache can be used to
1341 speed up remap-handling when applicable.
1342 Give preference to non-remapped bindings.
1343 * doc.c (Fsubstitute_command_keys): Let Fwhere_is_internal's prefer
1344 non-remapped bindings.
1345 * keyboard.c (parse_menu_item): Let Fwhere_is_internal handle
1346 command remapping.
1347
1348 * xdisp.c (display_mode_element): Move list length limit from 50 to
1349 5000 (see thread starting with <xbaik5174uqu.fsf@cam.ac.uk>).
1350
1351 2009-09-09 Adrian Robert <Adrian.B.Robert@gmail.com>
1352
1353 * nsfont.m (ns_get_family): Don't force first letter to uppercase.
1354
1355 2009-09-09 Stefan Monnier <monnier@iro.umontreal.ca>
1356
1357 * xdisp.c (Vtruncate_partial_width_windows): Improve docstring.
1358 (Bug#4334)
1359
1360 * keymap.c (where_is_internal): Filter out shadowed remappings.
1361 Assume that where_is_internal returns unshadowed bindings to simplify
1362 the code and get rid of the gotos. Use ASIZE.
1363
1364 2009-09-04 Jan Djärv <jan.h.d@swipnet.se>
1365
1366 * xterm.c (x_focus_changed): If we get a focusout and pointer
1367 is invisible, make it visible.
1368
1369 * xterm.h: Remove condition for declaration of
1370 x_*_window_to_frame.
1371
1372 2009-09-03 Stefan Monnier <monnier@iro.umontreal.ca>
1373
1374 * dispnew.c (Fsend_string_to_terminal): Make it work again on the
1375 initial terminal as well.
1376
1377 2009-09-02 Jan Djärv <jan.h.d@swipnet.se>
1378
1379 * xterm.h: Rename x_non_menubar_window_to_frame to
1380 x_menubar_window_to_frame.
1381
1382 * xterm.c: Remove declarations also in xterm.h
1383 (XTmouse_position): Do not return valid positions
1384 for clicks in the menubar and the toolbar for Gtk+.
1385
1386 * xfns.c (x_any_window_to_frame): Assume less about Gtk+ internals,
1387 if the widget for the event has the same top level as a frame,
1388 return the frame.
1389 (x_menubar_window_to_frame): Detect menu bar even with Gtk+
1390 internal windows, bug #4122.
1391 (x_non_menubar_window_to_frame): Remove.
1392
1393 2009-09-02 Glenn Morris <rgm@gnu.org>
1394
1395 * buffer.c (default-major-mode): Move most of the doc from here...
1396 (major-mode): ... to here.
1397
1398 2009-08-30 Nick Roberts <nickrob@snap.net.nz>
1399
1400 * process.c (wait_reading_process_output): Keep the descriptor
1401 when pty is used by a non-child process, e.g., in I/O buffer of
1402 GDB this allows inferior to be restarted.
1403
1404 2009-08-29 Eli Zaretskii <eliz@gnu.org>
1405
1406 * xdisp.c (redisplay_internal): Remove redundant test and collapse
1407 both branches into one.
1408
1409 2009-08-29 Stefan Monnier <monnier@iro.umontreal.ca>
1410
1411 * emacs.c (USAGE1): Remove --(no-)multibyte, --(no-)unibyte.
1412 (main): Use enable-multibyte-characters rather than
1413 default-enable-multibyte-characters. Output a warning message when
1414 running a unibyte session.
1415
1416 2009-08-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1417
1418 * unexmacosx.c (print_load_command_name) [LC_DYLD_INFO]: Add cases
1419 LC_DYLD_INFO and LC_DYLD_INFO_ONLY.
1420 (copy_data_segment): Also copy __program_vars section.
1421 (copy_dyld_info) [LC_DYLD_INFO]: New function.
1422 (dump_it) [LC_DYLD_INFO]: Use it.
1423
1424 * s/darwin.h [temacs]: Undef HAVE_POSIX_MEMALIGN.
1425
1426 2009-08-28 Eli Zaretskii <eliz@gnu.org>
1427
1428 * makefile.w32-in ($(BLD)/doc.$(O)): Depend on buildobj.h, not on
1429 $(SRC)/buildobj.h.
1430 (buildobj.h): Renamed from $(SRC)/buildobj.h.
1431 (make-buildobj-CMD, make-buildobj-SH): Create buildobj.h, not
1432 $(SRC)/buildobj.h.
1433 (clean): Add buildobj.h.
1434
1435 2009-08-28 Teodor Zlatanov <tzz@lifelogs.com>
1436
1437 * print.c (print_object): Set escapeflag to 1 when printing
1438 hashtable keys and values.
1439
1440 2009-08-27 Stefan Monnier <monnier@iro.umontreal.ca>
1441
1442 * lread.c (read_integer): Use doubles (and potentially return a float
1443 number) as we do in string-to-number.
1444 (read1): Use strtol to read integers, signal errors on strtol's
1445 overflow and use floats if strtol's output is too large for
1446 Elisp integers.
1447
1448 2009-08-27 Eli Zaretskii <eliz@gnu.org>
1449
1450 * makefile.w32-in ($(SRC)/buildobj.h, make-buildobj-CMD)
1451 (make-buildobj-SH): Fix last change.
1452 (SRC): Move to before where it's first used.
1453
1454 2009-08-27 Kenichi Handa <handa@m17n.org>
1455
1456 * process.c (send_process): Use encode_coding_object instead of
1457 encode_coding_string to perform eol-conversion even if the string
1458 is unibyte.
1459
1460 * coding.c (encode_coding_utf_16): Fix checking of a Unicode
1461 character.
1462
1463 * cmds.c (Fself_insert_command): Avoid unnecessay
1464 unibyte->multibyte conversion. (Bug#4240) (Bug#4037)
1465
1466 2009-08-26 Dan Nicolaescu <dann@ics.uci.edu>
1467
1468 * callproc.c (Fcall_process): Remove always true #if.
1469
1470 * lisp.h: Replace #if 0 code for checking with text pointing to
1471 the --enable-checking configure flag.
1472
1473 * emacs.c (main): Mention the --enable-profiling configure flag
1474 instead of using CFLAGS.
1475
1476 2009-08-26 Ken Raeburn <raeburn@raeburn.org>
1477
1478 * Makefile.in (buildobj.h): New target.
1479 (doc.o): Depend on it.
1480 (temacs${EXEEXT}): Don't generate buildobj.lst.
1481 (mostlyclean): Delete buildobj.h, not buildobj.lst.
1482 * makefile.w32-in ($(SRC)/buildobj.h): New target.
1483 ($(BLD)/doc.$(O)): Depend on it.
1484 (make-buildobj-CMD, make-buildobj-SH): New targets. (Syntax help
1485 provided by Eli Zaretskii.)
1486 ($(TEMACS)): Don't generate buildobj.lst.
1487 * doc.c: Include buildobj.h.
1488 (buildobj): New static variable.
1489 (Fsnarf_documentation): Use it, instead of opening and reading
1490 buildobj.lst.
1491
1492 2009-08-25 Michael Albinus <michael.albinus@gmx.de>
1493
1494 * dbusbind.c (Fdbus_call_method)
1495 (Fdbus_call_method_asynchronously): Use English numeric format for
1496 timeout values in doc string.
1497
1498 2009-08-25 Kenichi Handa <handa@m17n.org>
1499
1500 * alloc.c (mark_char_table): New function.
1501 (mark_object): Use mark_char_table for a char-table.
1502
1503 * lisp.h (CHAR_TABLE_REF_ASCII): New macro.
1504 (CHAR_TABLE_REF): Use it.
1505
1506 2009-08-23 Ken Raeburn <raeburn@raeburn.org>
1507
1508 * Makefile.in (emacs${EXEEXT}) [CANNOT_DUMP]: Set EMACSLOADPATH
1509 before invoking the newly build emacs to check for load-path
1510 shadowing.
1511
1512 2009-08-22 Glenn Morris <rgm@gnu.org>
1513
1514 * Makefile.in (bootstrap_exe): New variable.
1515 (.el.elc, ${lispsource}loaddefs.el, bootstrap-emacs${EXEEXT}):
1516 Use ${bootstrap_exe}.
1517
1518 2009-08-22 Eli Zaretskii <eliz@gnu.org>
1519
1520 * coding.h (encode_coding_string): Don't encode unibyte strings.
1521 (Bug#4047)
1522
1523 2009-08-22 Michael Albinus <michael.albinus@gmx.de>
1524
1525 * config.in (HAVE_DBUS_WATCH_GET_UNIX_FD): Add.
1526
1527 * dbusbind.c (XD_WITH_DBUS_WATCH_GET_UNIX_FD): Remove. It was
1528 intended as hotfix only.
1529 (xd_add_watch, xd_remove_watch): Use HAVE_DBUS_WATCH_GET_UNIX_FD.
1530
1531 2009-08-21 Adrian Robert <Adrian.B.Robert@gmail.com>
1532
1533 * nsterm.m (ns_get_color): Update documentation properly for last
1534 change, and clean up loose ends in the code left by it. Fix
1535 longstanding bug with 16-bit hex parsing, and add support for
1536 yet another X11 format (rgb:r/g/b) for compatibility.
1537 * nsfns.m (EmacsDialogPanel-runDialogAt): Add declaration of
1538 timer_check() to avoid crash on Leopard/PPC. Bug #2154.
1539
1540 2009-08-21 Stefan Monnier <monnier@iro.umontreal.ca>
1541
1542 * eval.c (init_eval_once): Bump max_lisp_eval_depth to 500 for js.el.
1543
1544 2009-08-20 Michael Albinus <michael.albinus@gmx.de>
1545
1546 * dbusbind.c (XD_WITH_DBUS_WATCH_GET_UNIX_FD): New macro.
1547 (xd_add_watch, xd_remove_watch): Use it. Print debug messages.
1548 (xd_initialize, xd_pending_messages): Check, whether
1549 $DBUS_SESSION_BUS_ADDRESS is set.
1550
1551 2009-08-20 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1552
1553 * nsfns.m (Fxw_color_values): Return 3-element list. Doc fix.
1554
1555 * nsterm.m (ns_get_color): Remove incompatible color formats again.
1556
1557 2009-08-20 Glenn Morris <rgm@gnu.org>
1558
1559 * emacs.c (system-type): Doc fix.
1560
1561 2009-08-19 Stefan Monnier <monnier@iro.umontreal.ca>
1562
1563 * keyboard.c (syms_of_keyboard): Default to 5 buttons, which should be
1564 enough for the most common situations. Avoid SET_SYMBOL_VALUE.
1565
1566 2009-08-18 Michael Albinus <michael.albinus@gmx.de>
1567
1568 * dbusbind.c (xd_add_watch, xd_remove_watch, Fdbus_init_bus):
1569 New functions.
1570 (xd_initialize): Revert change from 2009-08-16.
1571
1572 2009-08-18 Kenichi Handa <handa@m17n.org>
1573
1574 * fontset.c (Ffontset_font): If a nil element is found in a
1575 font-group vector, return nil.
1576
1577 2009-08-17 Chong Yidong <cyd@stupidchicken.com>
1578
1579 * process.c (status_notify): Don't perform redisplay.
1580 (Fdelete_process, list_processes_1, process_send_signal):
1581 Expliticly perform redisplay.
1582 (wait_reading_process_output): Always check process status, but
1583 don't perform redisplay unless DO_DISPLAY is non-zero (Bug#2930).
1584
1585 2009-08-17 Ken Raeburn <raeburn@raeburn.org>
1586
1587 * lisp.h (XFLOAT_DATA): Produce an rvalue by adding 0 to the value.
1588 (XFLOAT_INIT): New macro for storing a float value.
1589 * alloc.c (make_float, make_pure_float): Use XFLOAT_INIT.
1590 * fns.c (sxhash): Copy out the value of a float in order to
1591 examine its bytes.
1592 * dbusbind.c (xd_append_arg): Likewise.
1593
1594 * emacs.c (main): Don't call syms_of_data twice.
1595
1596 2009-08-16 Michael Albinus <michael.albinus@gmx.de>
1597
1598 * dbusbind.c (xd_initialize): Add connection file descriptor to
1599 input_wait_mask, in order to let select() detect, whether a new
1600 message has been arrived.
1601 (Fdbus_call_method_asynchronously): Allow nil HANDLER.
1602
1603 2009-08-15 Michael Albinus <michael.albinus@gmx.de>
1604
1605 * dbusbind.c (xd_get_dispatch_status, xd_pending_messages):
1606 New functions.
1607
1608 * lisp.h (xd_pending_messages): Declare.
1609
1610 * keyboard.c (readable_events): Call xd_pending_messages.
1611
1612 2009-08-15 Chong Yidong <cyd@stupidchicken.com>
1613
1614 * eval.c (Fcalled_interactively_p, Finteractive_p): Doc fix (Bug#3936).
1615
1616 * xdisp.c (pop_it): Don't pop into a display vector (Bug#4131).
1617
1618 * buffer.c (set_buffer_internal_1)
1619 (swap_out_buffer_local_variables): Check for unbound local
1620 variables (Bug#4138).
1621
1622 2009-08-14 Eli Zaretskii <eliz@gnu.org>
1623
1624 * process.c (create_pty): Fix last change.
1625
1626 2009-08-13 Chong Yidong <cyd@stupidchicken.com>
1627
1628 * image.c (xbm_read_bitmap_data): New arg inhibit_image_error.
1629 (xbm_load_image): Caller changed.
1630 (xbm_file_p): Avoid signalling an image_error (Bug#4107).
1631
1632 2009-08-13 Nick Roberts <nickrob@snap.net.nz>
1633
1634 * process.c (create_pty): New function.
1635 (Fstart_process): Use it to allow Emacs to just associate a pty
1636 with the buffer. See associated change in gdb-mi.el.
1637 (list_processes_1): Deal with no program name.
1638 (start_process_unwind): Use pid == -2 to mean no process.
1639
1640 2009-08-12 Stefan Monnier <monnier@iro.umontreal.ca>
1641
1642 * cmds.c (nonundocount): New global variable.
1643 (keys_of_cmds): Initialize it.
1644 (Fself_insert_command): Use it to combine upto 20 sequential chars
1645 into a single undo entry, just like the Qself_insert_command code in
1646 keyboard.c does.
1647 Call frame_make_pointer_invisible, also like the Qself_insert_command
1648 code in keyboard.c does.
1649 * keyboard.c (command_loop_1): Use the new global nonundocount rather
1650 than its own local replacement for it.
1651
1652 2009-08-10 Ken Raeburn <raeburn@raeburn.org>
1653
1654 * fns.c (concat): Don't re-set string length to its current value.
1655
1656 * coding.h (decode_coding_string, encode_coding_string):
1657 Use SBYTES macro.
1658
1659 * doprnt.c (doprnt_lisp): Delete unused function.
1660 (doprnt): Merge with doprnt1, discarding lispstrings code.
1661 * lisp.h (doprnt_lisp): Don't declare.
1662
1663 2009-08-07 Juri Linkov <juri@jurta.org>
1664
1665 * puresize.h (BASE_PURESIZE): Increase to 1270000.
1666
1667 2009-08-07 Dan Nicolaescu <dann@ics.uci.edu>
1668
1669 * print.c (syms_of_print): Undo previous change.
1670
1671 2009-08-05 Teodor Zlatanov <tzz@lifelogs.com>
1672
1673 * lread.c (read1, syms_of_lread): Read hashtables back from the
1674 readable format.
1675
1676 * print.c (print_preprocess, print_object): Print hashtables fully
1677 and readably.
1678 (syms_of_print): Provide 'hashtable-print-readable.
1679
1680 2009-08-02 Adrian Robert <Adrian.B.Robert@gmail.com>
1681
1682 * nsfont.m (ns_descriptor_to_entity): Handle case when descriptor has
1683 no family set.
1684 (nsfont_open): Handle case when entity has no family.
1685
1686 2009-07-29 Adrian Robert <Adrian.B.Robert@gmail.com>
1687
1688 * nsfont.m (ns_findfonts): Fix 2009-07-24 change to return only one
1689 element, not a list, for match case.
1690
1691 2009-07-28 Kenichi Handa <handa@m17n.org>
1692
1693 * font.c (font_parse_xlfd): Check DPI and AVGWIDTH properties more
1694 rigidly.
1695
1696 * xfont.c (xfont_list_pattern): Don't ignore the return value of
1697 font_parse_xlfd. Check font properties more rigidly.
1698
1699 2009-07-27 Dan Nicolaescu <dann@ics.uci.edu>
1700
1701 * s/netbsd.h (SIGNALS_VIA_CHARACTERS): Remove, already defined in
1702 bsd-common.h.
1703
1704 2009-07-27 Kenichi Handa <handa@m17n.org>
1705
1706 * xfaces.c (face_with_height): Call font_clear_prop.
1707
1708 2009-07-26 Chong Yidong <cyd@stupidchicken.com>
1709
1710 * dispnew.c (init_display): Use Qx, Qw32, and Qns.
1711
1712 * xterm.c (x_term_init): Use Qx.
1713
1714 * nsfont.m (nsfont_draw): Revert 2009-07-15 change.
1715
1716 * nsterm.m (ns_maybe_dumpglyphs_background): Revert 2009-07-15 change.
1717 (ns_get_color): Revert 2009-07-16 change.
1718
1719 2009-07-25 Eli Zaretskii <eliz@gnu.org>
1720
1721 * lread.c (syms_of_lread) <force_load_messages>: New variable.
1722 (Fload): Use it to force load messages, even if NOMESSAGES is non-nil.
1723
1724 2009-07-25 Ken Raeburn <raeburn@raeburn.org>
1725
1726 * coding.h (decode_coding_string, encode_coding_string):
1727 Use SCHARS macro.
1728
1729 * lread.c: Rewrite 2009-07-21 changes.
1730 (load_depth): Delete.
1731 (Qload_in_progress): New variable.
1732 (load_unwind): Don't reference load_depth or load_in_progress.
1733 (Fload): Likewise; specbind Qload_in_progress instead.
1734 (init_lread): Don't initialize load_depth.
1735 (syms_of_lread): Initialize and protect Qload_in_progress.
1736
1737 2009-07-24 Adrian Robert <Adrian.B.Robert@gmail.com>
1738
1739 * nsfont.m (ns_findfonts): Correctly return fallback in match case.
1740
1741 2009-07-23 Yavor Doganov <yavor@gnu.org>
1742
1743 * nsfont.m (NSFontDescriptor.h): Explicitly include under GNUstep.
1744
1745 2009-07-23 Adrian Robert <Adrian.B.Robert@gmail.com>
1746
1747 * nsterm.m (EmacsView-keyUp:): Only act when running under Tiger.
1748 Bugs 3792, 3720, 2402.
1749 (ns_lookup_indexed_color): Check for bad index.
1750 (ns_index_color): Init unused slot to 0.
1751 (ns_dumpglyphs_box_or_relief): Replace useless xassert with an if().
1752 Bug 3714, possibly 3082.
1753
1754 2009-07-22 Jason Rumney <jasonr@gnu.org>
1755
1756 * w32fns.c (w32_wnd_proc) [WM_IME_STARTCOMPOSITION]:
1757 Position IME window at cursor (Bug#2570).
1758 (w32_wnd_proc) [WM_IME_CHAR]: Release context when finished.
1759 (globals_of_w32fns): Dynamically load functions required above.
1760
1761 * w32term.c (w32_draw_window_cursor): Send message to reposition
1762 any IME window.
1763
1764 2009-07-21 Chong Yidong <cyd@stupidchicken.com>
1765
1766 * fileio.c: Revert 2009-07-16 changes.
1767 (Vauto_save_include_big_deletions): New variable.
1768 (Fdo_auto_save): Disable auto-save only if
1769 auto-save-include-big-deletions is nil.
1770
1771 2009-07-21 Chong Yidong <cyd@stupidchicken.com>
1772
1773 * xdisp.c (move_it_to): For continued lines ending in a tab, take
1774 the overflowed pixels into account (Bug#3879).
1775
1776 2009-07-21 Ken Raeburn <raeburn@raeburn.org>
1777
1778 * lread.c (load_depth): New variable.
1779 (Fload, load_unwind, init_lread): Set it to the load recursion
1780 depth; set load_in_progress as a simple boolean based on the
1781 current load_depth. (Bug#3892)
1782
1783 2009-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
1784
1785 * nsfont.m (ns_has_attribute): Remove.
1786 (ns_findfonts, nsfont_open): Use ns_attribute_fvalue() instead.
1787
1788 2009-07-18 Juri Linkov <juri@jurta.org>
1789
1790 * process.c (Fset_process_query_on_exit_flag): Mention killing
1791 a buffer in docstring.
1792
1793 2009-07-17 Kenichi Handa <handa@m17n.org>
1794
1795 * casetab.c (shuffle): Fix the logic of setting up the cycle.
1796
1797 2009-07-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1798
1799 * nsfns.m (Fns_set_alpha): Remove function.
1800 (syms_of_nsfns): Don't defsubr it.
1801
1802 * nsterm.m (ns_get_color): Remove incompatible color formats.
1803 (ns_color_to_lisp): Generate #rrggbb color format string.
1804
1805 2009-07-16 Richard Stallman <rms@gnu.org>
1806
1807 * fileio.c (Fwrite_region, Fdo_auto_save): Handle save_length = -2.
1808 (Fset_buffer_auto_saved): Handle save_length = -2.
1809
1810 2009-07-16 Chong Yidong <cyd@stupidchicken.com>
1811
1812 * xterm.c (Qx_gtk_map_stock): New var.
1813
1814 * gtkutil.c (update_frame_tool_bar): Use Qx_gtk_map_stock instead
1815 of calling intern each time.
1816
1817 2009-07-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1818
1819 * nsfont.m (nsfont_draw): Remove code for stippling, which actually
1820 does tiling.
1821
1822 * nsterm.m (ns_maybe_dumpglyphs_background): Likewise.
1823
1824 2009-07-14 Kenichi Handa <handa@m17n.org>
1825
1826 * font.c (font_vconcat_entity_vectors): New function.
1827 (struct font_sort_data): New member font_driver_preference.
1828 (font_compare): Check font_driver_preference.
1829 (font_sort_entities): The format of the first argument changed.
1830 (font_delete_unmatched): Likewise.
1831 (font_list_entities): The return type changed.
1832 (font_select_entity): The format of the second argument changed.
1833 (font_find_for_lface): Adjuste for the above changes.
1834 Don't suppress the checking of C even if the repertory supports it.
1835 (Flist_fonts): Adjust for the above changes.
1836
1837 * ftfont.c (ftfont_spec_pattern): New arg langname. Change caller.
1838 (ftfont_list): Adjust for the change of ftfont_spec_pattern.
1839 Reject a font who has adstyle property that is different from a
1840 langname derived from registry property.
1841 (ftfont_match): Adjust for the change of ftfont_spec_pattern.
1842
1843 2009-07-13 Eli Zaretskii <eliz@gnu.org>
1844
1845 * dired.c (directory_files_internal) [WINDOWSNT]: Don't make a
1846 local copy of dirfilename.
1847
1848 2009-07-13 Kenichi Handa <handa@m17n.org>
1849
1850 * chartab.c (sub_char_table_ref_and_range): Fix the range check
1851 against max_char.
1852
1853 * cmds.c (internal_self_insert): Check sym by SYMBOLP before
1854 calling XSYMBOL (sym).
1855
1856 2009-07-11 Eli Zaretskii <eliz@gnu.org>
1857
1858 * dired.c (directory_files_internal_w32_unwind) [WINDOWSNT]:
1859 New function.
1860 (directory_files_internal) [WINDOWSNT]:
1861 Bind w32-get-true-file-attributes to either t or nil, depending whether
1862 the filesystem of the directory is fast or slow.
1863
1864 * w32.c (logon_network_drive): Don't assume PATH is an absolute
1865 file name.
1866 (is_slow_fs): New function.
1867 (stat): Use it to determine whether to issue more system calls to
1868 get accurate file attributes, when w32-get-true-file-attributes is
1869 `local'.
1870
1871 2009-07-10 Jan Djärv <jan.h.d@swipnet.se>
1872
1873 * xfns.c (Fx_select_font): Remember last font selected in
1874 x_last_font_name and use that the next time. Also try the frame
1875 parameter font-parameter as default to the font dialog.
1876
1877 2009-07-10 Kenichi Handa <handa@m17n.org>
1878
1879 * xftfont.c (xftfont_open): Fix typo: FC_RGBA->FC_HINT_STYLE.
1880
1881 2009-07-09 Eli Zaretskii <eliz@gnu.org>
1882
1883 * w32proc.c (syms_of_ntproc) <w32-get-true-file-attributes>: Doc fix.
1884
1885 * w32.c (stat): Treat UNC file names as residing on remote
1886 drives. (Bug#3542)
1887
1888 2009-07-09 Kenichi Handa <handa@m17n.org>
1889
1890 * fontset.c (fontset_find_font): Fix previous change.
1891
1892 2009-07-08 Michael Albinus <michael.albinus@gmx.de>
1893
1894 * dbusbind.c (xd_initialize, Fdbus_call_method, xd_read_message)
1895 (Fdbus_register_signal, Fdbus_register_method): Cleanup memory of
1896 error flag.
1897
1898 2009-07-08 Kenichi Handa <handa@m17n.org>
1899
1900 * fontset.c (fontset_find_font): Fix the logic of handling
1901 charset_matched.
1902 (font_for_char): Delete unused var.
1903 (generate_ascii_font_name): Delete it.
1904
1905 * coding.h (JIS_TO_SJIS2): Fix the code range check.
1906
1907 * coding.c (detect_coding_sjis): Handle shift_jis-2004 correctly.
1908 (encode_coding_sjis): Fix the code range check.
1909
1910 2009-07-07 Chong Yidong <cyd@stupidchicken.com>
1911
1912 * fileio.c (Fsubstitute_in_file_name, Ffile_name_directory)
1913 (Fexpand_file_name): Copy string data properly (Bug#3772).
1914
1915 2009-07-07 Jan Djärv <jan.h.d@swipnet.se>
1916
1917 * xterm.c (handle_one_xevent): Only call x_check_fullscreen on the
1918 first MapNotify.
1919
1920 2009-07-07 Kenichi Handa <handa@m17n.org>
1921
1922 * character.h (unibyte_has_multibyte_table): Delete extern.
1923 (UNIBYTE_CHAR_HAS_MULTIBYTE_P): Delete it.
1924
1925 * charset.c (Fset_charset_priority): Update charset_unibyte.
1926 (syms_of_charset): Initialize charset_unibyte.
1927
1928 * character.c (unibyte_has_multibyte_table): Delete it.
1929 (multibyte_char_to_unibyte): Use CHAR_TO_BYTE8 instead of checking
1930 charset_unibyte.
1931 (multibyte_char_to_unibyte_safe): Likewise.
1932 (Funibyte_char_to_multibyte): Don't check charset_unibyte.
1933
1934 * xdisp.c (get_next_display_element): Decode it->c by charset_unibyte.
1935 (x_produce_glyphs): Likewise.
1936
1937 * .gdbinit (xcharset): Fix the treating $arg0.
1938
1939 2009-07-04 Eli Zaretskii <eliz@gnu.org>
1940
1941 Emulation of `getloadavg' on MS-Windows.
1942 * w32.c: Include float.h
1943 (g_b_init_get_native_system_info, g_b_init_get_system_times)
1944 (GetNativeSystemInfo_Proc, GetSystemTimes_Proc): Declare.
1945 (get_native_system_info, get_system_times): New functions.
1946 (buf_next, buf_prev, sample_system_load, getavg): New subroutines.
1947 (getloadavg): Rewrite using GetSystemTimes and GetNativeSystemInfo.
1948 (globals_of_w32): Initialize g_b_init_get_native_system_info,
1949 g_b_init_get_system_times, and num_of_processors.
1950
1951 2009-07-03 Jason Rumney <jasonr@gnu.org>
1952
1953 * w32term.c (w32_initialize): Use standard types.
1954
1955 2009-07-03 Eli Zaretskii <eliz@gnu.org>
1956
1957 * dired.c (Ffile_attributes): Decode user and group names by the
1958 locale's encoding. (Bug#3443)
1959
1960 2009-07-03 Dan Nicolaescu <dann@ics.uci.edu>
1961
1962 * sysdep.c (sys_suspend): Remove USG_JOBCTRL #ifdef, unused.
1963 (mkdir): Remove MKDIR_PROTOTYPE #ifdef, unused.
1964
1965 * callproc.c (child_setup): Use #else instead of a separate #ifdef.
1966
1967 * term.c (init_tty): Remove spurious #ifdef.
1968
1969 * m/mips.h: Mention this file is also used for netbsd.
1970 * m/pmax.h: Remove file.
1971
1972 2009-07-03 Jan Djärv <jan.h.d@swipnet.se>
1973
1974 * xterm.h (struct x_display_info): Add invisible_cursor.
1975 (struct x_output): Add current_cursor.
1976
1977 * xterm.c (XTtoggle_invisible_pointer): New function.
1978 (x_define_frame_cursor): Don't define cursor if invisible or the
1979 same as before. Set current_cursor.
1980 (x_create_terminal): Set toggle_invisible_pointer_hook.
1981
1982 * xfns.c (make_invisible_cursor): New function.
1983 (x_set_mouse_color): Call make_invisible_cursor.
1984 Set current_cursor.
1985 (x_window): Set current_cursor.
1986
1987 * termhooks.h (struct terminal): Add toggle_invisible_pointer_hook.
1988
1989 * keyboard.c (command_loop_1): Call frame_make_pointer_invisible after
1990 inserting a character.
1991 (read_avail_input): Call frame_make_pointer_visible.
1992
1993 * frame.c (Vmake_pointer_invisible): New variable.
1994 (frame_make_pointer_invisible, frame_make_pointer_visible):
1995 New functions.
1996 (syms_of_frame): DEFVAR make-pointer-invisible, initialize to Qt.
1997
1998 * frame.h: Declare frame_make_pointer_invisible and
1999 frame_make_pointer_visible.
2000 (struct frame): Add pointer_invisible.
2001
2002 2009-07-02 Jan Djärv <jan.h.d@swipnet.se>
2003
2004 * gtkutil.c (xg_frame_set_char_size): Do set width/height if the
2005 frame isn't visible.
2006 (xg_frame_resized): If width/height is -1, get size of window
2007 from X server.
2008
2009 * xterm.c (handle_one_xevent): Call xg_frame_resized for USE_GTK
2010 for MapNotify.
2011
2012 * gtkutil.c (xg_frame_set_char_size): Do not set pixel width/height
2013 here or call change_frame_size. Just call flush_and_sync.
2014 (flush_and_sync): Reintroduce.
2015
2016 2009-07-01 Jan Djärv <jan.h.d@swipnet.se>
2017
2018 * xterm.h (struct x_display_info): Add Xatom_net_wm_state_sticky.
2019
2020 * xterm.c (x_handle_net_wm_state): Also look for sticky.
2021 (x_term_init): Initialize Xatom_net_wm_state_sticky.
2022
2023 * frame.h: Declare Qsticky.
2024
2025 * w32fns.c (w32_frame_parm_handlers): Set 0 for sticky.
2026
2027 * nsfns.m (ns_frame_parm_handlers): Ditto.
2028
2029 * frame.c: Declare Qsticky.
2030 (frame_parms): Add sticky.
2031
2032 * xfns.c (x_frame_parm_handlers): Let x_set_sticky handle sticky.
2033
2034 * xterm.h: Declare x_set_sticky.
2035
2036 * xterm.c (x_set_sticky): New function.
2037
2038 * gtkutil.c (xg_tool_bar_proxy_help_callback): New function.
2039 (xg_tool_bar_menu_proxy): Attach enter/leave events to
2040 xg_tool_bar_proxy_help_callback.
2041
2042 * emacs.c (USAGE3, standard_args): Add -mm and --maximized.
2043
2044 * frame.c: Qmaximized is new.
2045 (x_set_frame_parameters): Do not handle fullscreen specially.
2046 Only set width and height if explicitly set.
2047 (x_set_fullscreen): Handle Qmaximized.
2048 (x_set_font, x_figure_window_size): Do not handle fullscreen specially.
2049 (syms_of_frame): Initialize Qmaximized.
2050
2051 * frame.h (fullscreen_type): Add FULLSCREEN_MAXIMIZED.
2052 Declare Qfullwidth, Qfullheight, Qfullboth, Qmaximized.
2053
2054 * xterm.c (handle_one_xevent): Remove call to x_check_fullscreen
2055 for Expose event. Add call to x_check_fullscreen for MapNotify event.
2056 Remove all code w.r.t. fullscreen from ConfigureNotify event. Do not
2057 set gravity to NorthWestGravity when USE_GTK.
2058 (set_wm_state): New function.
2059 (do_ewmh_fullscreen): Use set_wm_state. Also handle FULLSCREEN_MAXIMIZED.
2060 (x_handle_net_wm_state): Handle FULLSCREEN_MAXIMIZED.
2061 (x_check_fullscreen): Simplify so we only handle EMWH type of fullscreen
2062 or the case when no window manager is running. That means remove calls
2063 to x_real_positions and x_fullscreen_adjust.
2064
2065 * gtkutil.c (flush_and_sync, x_wm_size_hint_off): Remove.
2066 (xg_frame_set_char_size): Remove calls to x_wm_size_hint_off and
2067 flush_and_sync.
2068 (xg_height_changed): New function.
2069 (xg_create_frame_widgets): Remove call to gtk_widget_set_size_request
2070 and gtk_window_set_policy. Set frame gravity after parsing the
2071 geometry string.
2072 (xg_update_frame_menubar, free_frame_menubar)
2073 (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback)
2074 (update_frame_tool_bar, free_frame_tool_bar): Call xg_height_changed.
2075 Remove calls to xg_frame_set_char_size.
2076
2077 2009-07-01 Kenichi Handa <handa@m17n.org>
2078
2079 * keyboard.c (decode_keyboard_code): New function.
2080 (tty_read_avail_input): Decode the input bytes if necessary.
2081
2082 * coding.c (setup_coding_system):
2083 Initialize coding->carryover_bytes to 0.
2084 (Fset_keyboard_coding_system_internal): If CODING-SYSTEM is nil,
2085 use Qno_conversion.
2086
2087 2009-07-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2088
2089 * Makefile.in (SOME_MACHINE_LISP): Add ../lisp/term/common-win.elc.
2090
2091 2009-06-30 Chong Yidong <cyd@stupidchicken.com>
2092
2093 * xftfont.c (xftfont_open): Avoid passing NULL argument to XftLockFace.
2094
2095 2009-06-30 Jason Rumney <jasonr@gnu.org>
2096
2097 * w32term.c (w32_initialize): Use GetModuleHandle for library that
2098 is already loaded.
2099 Set user model ID if supported (bug#1849).
2100
2101 2009-06-29 Jim Meyering <meyering@redhat.com>
2102
2103 Remove useless if-before-xfree test.
2104 * nsfont.m (nsfont_close): Remove useless test.
2105 * term.c (delete_tty): Likewise.
2106 * w32.c (system_process_attributes): Likewise.
2107 * w32font.c (w32font_close): Likewise.
2108 * xfaces.c (x_free_gc): Likewise.
2109 * xselect.c (buffer): Likewise.
2110
2111 2009-06-28 Andreas Schwab <schwab@linux-m68k.org>
2112
2113 * process.c (send_process): Keep decoded string in a local
2114 variable and protect it from GC. (Bug#3521)
2115
2116 2009-06-28 Eli Zaretskii <eliz@gnu.org>
2117
2118 * term.c (create_tty_output) [MSDOS]: #ifdef away.
2119 (tty_free_frame_resources) [MSDOS]: Add a DOS-specific version.
2120
2121 2009-06-28 Chong Yidong <cyd@stupidchicken.com>
2122
2123 * xdisp.c (start_display, handle_face_prop)
2124 (move_it_vertically_backward, cursor_row_fully_visible_p)
2125 (redisplay_window, try_window_id, produce_image_glyph):
2126 Delete some #ifdef-ed out code chunks that are now obsolete.
2127
2128 * xterm.c (x_update_window_begin, x_new_focus_frame)
2129 (x_scroll_bar_handle_click, handle_one_xevent)
2130 (handle_one_xevent, XTread_socket, x_focus_on_frame)
2131 (x_make_frame_visible, x_make_frame_invisible)
2132 (x_wm_set_icon_pixmap, x_initialize): Delete some #ifdef-ed out
2133 code chunks that are now obsolete.
2134
2135 2009-06-28 Michael Albinus <michael.albinus@gmx.de>
2136
2137 * dbusbind.c (XD_SYMBOL_TO_DBUS_TYPE): Convert macro into function
2138 xd_symbol_to_dbus_type. With Solaris 2.11, it was said to compile
2139 for hours, when optimzation is enabled.
2140 (xd_signature, xd_append_arg, xd_retrieve_arg, xd_initialize)
2141 (xd_read_message): Make them static.
2142
2143 2009-06-27 Chuck Blake <cblake@pdos.csail.mit.edu> (tiny change)
2144
2145 * term.c (turn_on_face): Allow simultaneously bold and dim
2146 terminal faces (Bug#3530).
2147
2148 2009-06-27 Chong Yidong <cyd@stupidchicken.com>
2149
2150 * frame.c (x_get_arg): Check if dpyinfo is non-NULL.
2151
2152 * xdisp.c (mouse_face_from_buffer_pos): Fix detection of
2153 truncation glyphs (Bug#3686).
2154
2155 2009-06-27 Glenn Morris <rgm@gnu.org>
2156
2157 * m/pmax.h: Restore file, with only netbsd portions.
2158
2159 2009-06-26 David Reitter <david.reitter@gmail.com>
2160
2161 * nsterm.m (keydown): Avoid infinite loop.
2162
2163 2009-06-26 Peter Jolly <peter@jollys.org> (tiny change)
2164
2165 * ftfont.c (get_adstyle_property): Call font_intern_prop with 1 as
2166 the arg FORCE_SYMBOL.
2167
2168 2009-06-25 Kenichi Handa <handa@m17n.org>
2169
2170 * fontset.c (fontset_find_font): When a usable rfont_def is found
2171 in a fallback font-group, make it the first element of the group.
2172
2173 2009-06-24 Chong Yidong <cyd@stupidchicken.com>
2174
2175 * emacs-icon.h: Always define gnu_xpm_bits on GTK (bug#3671).
2176
2177 2009-06-24 Kenichi Handa <handa@m17n.org>
2178
2179 * fontset.c (fontset_get_font_group): Return 0 if no font-group is
2180 set for C.
2181 (fontset_font): Record the availability of a font for C both in
2182 the realized fontsets of the current one and the default one.
2183
2184 2009-06-23 Dan Nicolaescu <dann@ics.uci.edu>
2185
2186 * sysdep.c (child_setup_tty): Remove SIGNALS_VIA_CHARACTERS
2187 conditional, it is always defined on AIX.
2188
2189 2009-06-23 Miles Bader <miles@gnu.org>
2190
2191 * window.c (Vrecenter_redisplay): New variable.
2192 (syms_of_window): Initialize it.
2193 (Qtty): New extern declaration.
2194 (Frecenter): Only do redisplay if Vrecenter_redisplay requests it.
2195
2196 2009-06-23 Jim Meyering <meyering@redhat.com>
2197
2198 * src/ftfont.c (setup_otf_gstring, ftfont_shape_by_flt):
2199 Use xmalloc and xrealloc (not malloc and realloc), so subsequent heap
2200 pointer dereferences are guaranteed to be valid.
2201
2202 2009-06-23 Kenichi Handa <handa@m17n.org>
2203
2204 * emacs.c (main): Call init_font ().
2205
2206 * font.h (Vfont_log): Extern it.
2207 (FONT_ADD_LOG, FONT_DEFERRED_LOG): New macros.
2208
2209 * font.c (font_sort_entities, font_list_entities)
2210 (font_matching_entity, font_open_entity)
2211 (font_close_object): Change font_add_log to FONT_ADD_LOG.
2212 (Vfont_log): Delete static.
2213 (font_log_env_checked): Delete this variable.
2214 (font_add_log): Don't check font_log_env_checked.
2215 (font_deferred_log): Check Vfont_log.
2216 (init_font): New function.
2217
2218 * ftfont.c: Change font_add_log to FONT_ADD_LOG.
2219
2220 * w32font.c: Change font_add_log to FONT_ADD_LOG.
2221
2222 * w32uniscribe.c: Change font_add_log to FONT_ADD_LOG.
2223
2224 * xfont.c: Change font_add_log to FONT_ADD_LOG.
2225
2226 * fontset.c (fontset_font): Call FONT_DEFERRED_LOG.
2227 (face_for_char): Don't call font_deferred_log here.
2228 (font_for_char): Likewise.
2229
2230 2009-06-22 Chong Yidong <cyd@stupidchicken.com>
2231
2232 * w32term.c (x_draw_glyph_string): Use the glyph string's width
2233 rather than its background_width for drawing the overline and
2234 underline (Bug#489).
2235
2236 * xterm.c (x_draw_glyph_string): Use the glyph string's width
2237 rather than its background_width for drawing the overline and
2238 underline (Bug#489).
2239 (xg_default_icon_file): New variable.
2240 (syms_of_xterm): Initialize it to the Emacs SVG icon file.
2241 (x_bitmap_icon): Under GTK, use xg_default_icon_file.
2242
2243 * xdisp.c (Qbefore_string, Qafter_string): Add externs.
2244 (load_overlay_strings): Remove externs.
2245 (fast_find_position): Function deleted.
2246 (mouse_face_from_buffer_pos): New function, based on
2247 fast_find_position. Correctly handle before-strings,
2248 display-strings, and after-strings (Bug#1220).
2249 (note_mouse_highlight): Use mouse_face_from_buffer_pos.
2250
2251 2009-06-21 Chong Yidong <cyd@stupidchicken.com>
2252
2253 * xdisp.c (IT_DISPLAYING_WHITESPACE): Define for !HAVE_WINDOW_SYSTEM.
2254 (move_it_in_display_line_to, move_it_in_display_line_to)
2255 (display_line): Remove #ifdef HAVE_WINDOW_SYSTEM.
2256
2257 2009-06-21 Chong Yidong <cyd@stupidchicken.com>
2258
2259 * Branch for 23.1.
2260
2261 2009-06-21 Jason Rumney <jasonr@gnu.org>
2262
2263 * w32term.c (keyboard_codepage): New static variable.
2264 (w32_read_socket) [WM_INPUTLANGCHANGE]: Update it.
2265 (w32_read_socket) [WM_CHAR]: Use it to decode character
2266 input (bug#3237).
2267 (w32_initialize): Initialize it.
2268 (codepage_for_locale): New function.
2269
2270 2009-06-20 Ken Raeburn <raeburn@raeburn.org>
2271
2272 * process.c (status_message): Pass Faset index argument as a lisp
2273 object, so as to work with USE_LISP_UNION_TYPE.
2274
2275 2009-06-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2276
2277 * coding.c (Ffind_coding_systems_region_internal):
2278 Cache checked characters.
2279
2280 2009-06-18 Kenichi Handa <handa@m17n.org>
2281
2282 * coding.c (decode_coding_iso_2022): Check MSB of bytes more rigidly.
2283
2284 2009-06-18 Andreas Schwab <aschwab@redhat.com>
2285
2286 * xdisp.c (redisplay_internal): Check that the frame is still
2287 live after redisplay of its windows.
2288 (redisplay_windows): Check that the window is still live.
2289
2290 2009-06-17 Andreas Schwab <schwab@linux-m68k.org>
2291
2292 * coding.c (detect_coding_utf_16): Fix previous change.
2293
2294 2009-06-16 Kenichi Handa <handa@m17n.org>
2295
2296 * coding.c (detect_coding_utf_16): Fix the logic of rejecting
2297 UTF-16 by checking the dispersion of Eth and Oth bytes.
2298
2299 2009-06-15 Andreas Schwab <schwab@linux-m68k.org>
2300
2301 * coding.c (detect_coding_utf_16): Fix typo counting odd bytes.
2302
2303 2009-06-15 Kenichi Handa <handa@m17n.org>
2304
2305 * process.c (status_message): Fix previous change. Be sure to
2306 decode a localized string.
2307
2308 2009-06-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2309
2310 * xterm.c (x_delete_terminal): Put previous change in #if 0 and
2311 add comment explaining why.
2312
2313 2009-06-14 Sidney Markowitz <sidney@sidney.com>
2314
2315 * nsmenu.m (EmacsTooltip: setText): Set height of tooltip.
2316
2317 2009-06-14 Adrian Robert <Adrian.B.Robert@gmail.com>
2318
2319 * nsfont.m (ns_attribute_value): Remove.
2320 (ns_attribute_fvalue): Incorporate code from ns_attribute_value.
2321 (ns_has_attribute): Shrink the normal range.
2322 (ns_findfonts): Don't worry about requested spec in determining
2323 need for synthItal.
2324 (ns_get_covering_families): Retain scriptToFamilies.
2325
2326 2009-06-14 Seiji Zenitani <zenitani@mac.com>
2327
2328 * xdisp.c [USE_MAC_TOOLBAR]: Remove obsolete definition for Mac Carbon.
2329
2330 2009-06-11 Kenichi Handa <handa@m17n.org>
2331
2332 * xdisp.c (x_get_glyph_overhangs): Fix calculation of right
2333 overhang for the static composition case.
2334
2335 2009-06-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2336
2337 * xdisp.c (x_get_glyph_overhangs): Fix calculation of right
2338 overhang for the automatic composition case.
2339
2340 * xterm.c (x_compute_glyph_string_overhangs): Handle the automatic
2341 composition case.
2342
2343 2009-06-10 Chong Yidong <cyd@stupidchicken.com>
2344
2345 * xdisp.c (get_next_display_element): When handling wrap-prefix
2346 and line-prefix, treat \n as a control character (bug#3502).
2347
2348 2009-06-10 Kenichi Handa <handa@m17n.org>
2349
2350 * font.c (font_parse_family_registry): Fix for one-char foundry.
2351 (font_sort_entities): Initialize prefer_prop[FONT_AVGWIDTH_INDEX].
2352
2353 2009-06-09 Dmitry Dzhus <dima@sphinx.net.ru> (tiny change)
2354
2355 * process.c (status_message): Fix handling of multibyte signal
2356 string (Bug#3499).
2357
2358 2009-06-09 Jim Meyering <meyering@redhat.com>
2359
2360 * xfaces.c (Fx_load_color_file): Avoid array bounds error if the
2361 color name is missing.
2362
2363 2009-06-09 Kenichi Handa <handa@m17n.org>
2364
2365 * charset.c (Fmap_charset_chars): In docstring, state clearly that
2366 FROM-CODE and TO-CODE are codepoints of CHARSET.
2367
2368 2009-06-08 Adrian Robert <Adrian.B.Robert@gmail.com>
2369
2370 * nsterm.m (ns_use_system_highlight_color): Drop, unused.
2371
2372 2009-06-08 Adrian Robert <Adrian.B.Robert@gmail.com>
2373
2374 Changes to support :script/:lang/:otf in NS font driver.
2375 * nsfont.m (nsfont_escape_name, nsfont_unescape_name)
2376 (nsfont_get_family, nsfont_char_width): Rename to ns_ prefix to
2377 indicate not part of font driver interface, and change callers.
2378 (ns_get_family): Remove pointless null check.
2379 (nsfont_spec_to_traits, nsfont_fmember_to_entity): Replace with
2380 ns_spec_to_descriptor, ns_descriptor_to_entity.
2381 (nsfont_trait_distance, nsfont_make_fontset_for_font): Remove.
2382 (ns_attribute_value, ns_attribute_fvalue, ns_has_attribute)
2383 (ns_spec_to_descriptor, ns_descriptor_to_entity)
2384 (ns_charset_covers, ns_lang_to_script, ns_otf_to_script)
2385 (ns_get_req_script, ns_accumulate_script_ranges)
2386 (ns_script_to_charset, ns_get_covering_families, ns_findfonts):
2387 New functions.
2388 (nsfont_list, nsfont_match): Use ns_findfonts.
2389 (nsfont_open): Use font descriptor instead of traits.
2390 (nsfont_draw): Handle "automatic" (lookup-table) compositions.
2391 (dump_glyphstring): Rename to ns_dump_glyphstring.
2392
2393 * nsterm.h (dump_glyphstring): Rename to ns_dump_glyphstring.
2394
2395 * nsfns.m (Fns_popup_font_panel): Use shared font manager.
2396
2397 * fontset.c (fontset_from_font): Remove NS-specific code.
2398
2399 2009-06-08 Peter Jones <pjones@pmade.com> (tiny change)
2400
2401 * nsterm.m (ns_draw_window_cursor): Respect cursor_type for
2402 nonactive windows.
2403
2404 2009-06-08 Felix Mueller <felix@enqueue.eu> (tiny change)
2405
2406 * nsterm.m (ns_init_paths): Append path separator to INFOPATH variable.
2407
2408 2009-06-08 Wolfgang Lux <wolfgang.lux@gmail.com> (tiny change)
2409
2410 * keyboard.c (kbd_buffer_get_event): Null-check used_mouse_menu.
2411
2412 2009-06-07 Chong Yidong <cyd@stupidchicken.com>
2413
2414 * xdisp.c (move_it_in_display_line_to): On text-only terminals,
2415 account for the overflowing of newlines into the last glyph on the
2416 display line (Bug#3482).
2417
2418 2009-06-05 David Reitter <david.reitter@gmail.com>
2419
2420 * nsselect.m (Fx_own_selection_internal, Fx_selection_exists_p)
2421 (Fx_selection_owner_p): Rename from Fns_own_selection_internal,
2422 Fns_selection_exists_p, Fns_selection_owner_p.
2423
2424 2009-06-03 Jason Rumney <jasonr@gnu.org>
2425
2426 * w32fns.c (x_create_tip_frame): Use the uniscribe font backend if
2427 available. (Bug#3379)
2428
2429 2009-05-29 Kenichi Handa <handa@m17n.org>
2430
2431 * coding.c (get_translation_table):
2432 Check Venable_character_translation.
2433
2434 2009-05-26 David Reitter <david.reitter@gmail.com>
2435
2436 * nsterm.m (ns_raise_frame): Only raise frame if visible.
2437 (x_make_frame_visible): Move frame to front rather than calling
2438 ns_raise_frame().
2439 (keyDown:): Do not swallow events that aren't re-sent if frame
2440 isn't key window.
2441 (drawRect:): Do not set visibility/iconified flags because
2442 drawRect may be called by NSView even if the frame is hidden.
2443
2444 * nsfns.m (Fx_create_frame): Follow other ports in
2445 determining visibility; default to t. Ensure async_visible is set.
2446
2447 2009-05-23 Eli Zaretskii <eliz@gnu.org>
2448
2449 * dired.c (Ffile_attributes): Doc fix.
2450
2451 2009-05-22 Chong Yidong <cyd@stupidchicken.com>
2452
2453 * m/mips.h [GNU_LINUX]: Don't define DATA_START (Bug#2685).
2454
2455 2009-05-21 Stefan Monnier <monnier@iro.umontreal.ca>
2456
2457 * xfont.c (xfont_list_pattern): Don't initialize xfont_scripts_cache
2458 and xfont_scratch_props.
2459 (syms_of_xfont): Do it here instead.
2460 (xfont_find_ccl_program): Delete, unused.
2461 (xfont_open): Delete unused var `i'.
2462
2463 2009-05-21 Kenichi Handa <handa@m17n.org>
2464
2465 * fontset.c (Qlatin): Don't make it static.
2466
2467 * xfont.c (xfont_chars_supported, xfont_supported_scripts):
2468 New functions.
2469 (xfont_scripts_cache, xfont_scratch_props): New variables.
2470 (Qlatin, Vscalable_fonts_allowed): Extern it.
2471 (xfont_list_pattern): Argument changed. Callers changed.
2472 Check Vscalable_fonts_allowed. Check the support of a script.
2473 (xfont_list): Don't reject a font spec with :script property.
2474 (xfont_has_char): Fix setting of encoding.
2475 (syms_of_xfont): Staticpro and initialize xfont_scripts_cache and
2476 xfont_scratch_props.
2477
2478 2009-05-19 Kenichi Handa <handa@m17n.org>
2479
2480 * font.c (font_sort_entities): Rename from font_sort_entites.
2481 Callers changed.
2482
2483 2009-05-18 Kenichi Handa <handa@m17n.org>
2484
2485 * font.c (font_find_for_lface): Copy SPEC's FONT_TYPE too.
2486
2487 2009-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
2488
2489 * frame.c (do_switch_frame) [NS_IMPL_COCOA]: Don't raise any window.
2490 (delete_frame) [NS_IMPL_COCOA]: Instead, do it here.
2491
2492 2009-05-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2493
2494 * xterm.c (x_delete_display): Don't call XrmDestroyDatabase here.
2495 (x_delete_terminal): Dissociate resource database from display and
2496 then call XrmDestroyDatabase before closing display.
2497
2498 2009-05-18 Adrian Robert <Adrian.B.Robert@gmail.com>
2499
2500 * nsterm.m (ns_read_socket): Remove unused variable.
2501 * frame.c (do_switch_frame): Under NS_IMPL_COCOA section, check
2502 whether selected frame is viable before raising it (based on patch
2503 by David Reitter), and improve commentary.
2504 * nsfont.m (nsfont_make_fontset_for_font): Avoid a compiler warning.
2505
2506 2009-05-15 Kenichi Handa <handa@m17n.org>
2507
2508 * font.c (Ffont_spec): Check arguments.
2509
2510 2009-05-14 Chong Yidong <cyd@stupidchicken.com>
2511
2512 * xfaces.c (tty_supports_face_attributes_p): Recognize unspecified
2513 weight when testing attributes (Bug#3282).
2514
2515 2009-05-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2516
2517 * gtkutil.c (xg_frame_set_char_size): Set frame pixel width/height to
2518 what we expect to get in the next ConfigureNotify event.
2519
2520 * xftfont.c (xftfont_open): Make sure that Xrender extension is added
2521 before Xft one (Bug#1696).
2522
2523 2009-05-07 David Reitter <david.reitter@gmail.com>
2524
2525 * nsfns.m (Fx_display_planes): Compute bitplanes using
2526 NSBitsPerPixelFromDepth (Bug#3207).
2527
2528 2009-05-10 Chong Yidong <cyd@stupidchicken.com>
2529
2530 * editfns.c (Ftranspose_regions): Doc fix (Bug#3248).
2531
2532 2009-05-10 Ulrich Mueller <ulm@gentoo.org>
2533
2534 * s/gnu-linux.h: Make GCPROs and UNGCPRO no-ops also on SuperH.
2535
2536 2009-05-07 David Reitter <david.reitter@gmail.com>
2537
2538 * nsterm.m (ns_dumpglyphs_stretch, ns_dumpglyphs_image):
2539 Respect mouse face background.
2540
2541 2009-05-07 David Reitter <david.reitter@gmail.com>
2542
2543 * nsterm.m (note_mouse_movement, ns_frame_up_to_date):
2544 Mouse movement/highlight: bracket drawing operations
2545 in ns_update_begin and ns_update_end.
2546
2547 2009-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
2548
2549 * nsfns.m (ns_get_screen): Rewrite.
2550 Don't presume selected-frame is of type `ns'.
2551
2552 * font.c (font_update_drivers): Sanity fallback to avoid disabling
2553 all drivers.
2554
2555 * nsterm.m (-windowDidResize:): Avoid inf-loop under GNUStep.
2556
2557 2009-05-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2558
2559 * keyboard.h (add_user_signal): Fix typo in extern.
2560
2561 * lisp.h (add_user_signal): Remove extern.
2562
2563 * unexelf.c (unexec): Consider a section to precede the .bss section
2564 if its addresses overlap that of .bss.
2565 (unexec) [NS_IMPL_GNUSTEP]: Copy ObjC-related data from old file
2566 instead of dumping process.
2567
2568 2009-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
2569
2570 * keyboard.c (syms_of_keyboard): Staticpro pending_funcalls.
2571
2572 2009-05-04 Stefan Monnier <monnier@iro.umontreal.ca>
2573
2574 * Makefile.in (ctagsfiles1, ctagsfiles2): Include ObjC files in TAGS.
2575
2576 2009-05-02 Dan Nicolaescu <dann@ics.uci.edu>
2577
2578 * xterm.c (x_handle_net_wm_state): Move declaration of lval before
2579 any statements.
2580
2581 2009-05-02 Andreas Schwab <schwab@linux-m68k.org>
2582
2583 * process.c (read_process_output): Make sure the current buffer is
2584 always restored.
2585
2586 * coding.c (record_conversion_result): Don't modify
2587 Vlast_code_conversion_error for successful result.
2588 (alloc_destination): Don't clobber conversion result. (Bug#1650)
2589
2590 2009-05-01 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
2591
2592 * charset.c (load_charset): Reformat X==Y==Z to (X==Y)==Z.
2593 (load_charset_map): Remove unnecessary code.
2594
2595 2009-04-30 David Reitter <david.reitter@gmail.com>
2596
2597 * nsterm.m (convert_ns_to_X_keysym): Define function keys f16
2598 through f24.
2599
2600 2009-04-30 Chong Yidong <cyd@stupidchicken.com>
2601
2602 * xfaces.c (face_at_buffer_position): New arg base_face_id.
2603
2604 * xdisp.c (handle_face_prop): Pass base_face_id of iterator to
2605 face_at_buffer_position.
2606 (face_before_or_after_it_pos, get_next_display_element)
2607 (note_mouse_highlight): Update face_at_buffer_position call.
2608
2609 * term.c (term_mouse_highlight):
2610 * msdos.c (IT_note_mouse_highlight):
2611 * fontset.c (Finternal_char_font):
2612 * font.c (font_at, font_range): Update face_at_buffer_position call.
2613
2614 * dispextern.h (face_at_buffer_position): Update prototype.
2615
2616 2009-04-30 Kenichi Handa <handa@m17n.org>
2617
2618 * fontset.c (fontset_find_font): Check if rfont_def is Qnil or not.
2619
2620 2009-04-29 Andreas Schwab <schwab@linux-m68k.org>
2621
2622 * callproc.c (Fcall_process): Fix GC protection. Make sure
2623 current buffer is always restored.
2624
2625 2009-04-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2626
2627 * atimer.c (init_atimer): Also clear stopped_atimers.
2628
2629 * keyboard.c (init_keyboard) [POLL_FOR_INPUT]: Reset poll_timer.
2630
2631 * process.c (create_process): Clean up merger residues of
2632 2008-07-17 change.
2633
2634 2009-04-29 Ulrich Mueller <ulm@gentoo.org>
2635
2636 * lread.c (Vread_circle): New variable.
2637 (read1): Disable recursive read if Vread_circle is nil.
2638
2639 2009-04-29 Kenichi Handa <handa@m17n.org>
2640
2641 * fontset.h (set_default_ascii_font): Delete extern.
2642
2643 * fontset.c (set_default_ascii_font): Delete this unused function.
2644
2645 * frame.c (x_set_font): When ARG is a font-object, check if the
2646 font-object matches with the ASCII font-spec of the frame's
2647 fontset. If not, create a new fontset for the frame. (Bug #3075)
2648
2649 2009-04-28 Andreas Schwab <schwab@linux-m68k.org>
2650
2651 * fns.c (Flocale_info): Protect vector from GC during decoding.
2652
2653 * process.c (Fstart_process): Protect argv strings from GC during
2654 encoding.
2655
2656 2009-04-27 Andreas Schwab <schwab@linux-m68k.org>
2657
2658 * sysdep.c: Include <ctype.h>.
2659
2660 2009-04-27 David Reitter <david.reitter@gmail.com>
2661
2662 * nsfont.m (nsfont_open): Remove unused variable shrink.
2663 Remove commented-out code.
2664
2665 2009-04-26 Johan Bockgård <bojohan@gnu.org>
2666
2667 * keyboard.c (syms_of_keyboard) <input-decode-map>: Doc fix.
2668
2669 2009-04-25 Jason Rumney <jasonr@gnu.org>
2670
2671 * w32font.c (clear_cached_metrics): Remove, unused since 2008-08-02.
2672
2673 2009-04-25 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2674
2675 * fringe.c (init_fringe_bitmap) [HAVE_X_WINDOWS && WORDS_BIG_ENDIAN]:
2676 Swap bytes in short integer if fringe bitmap width > 8.
2677
2678 2009-04-23 Kenichi Handa <handa@m17n.org>
2679
2680 * xfaces.c (Fx_list_fonts): If a font size is specified in
2681 PATTERN, set it in returned scalable fonts.
2682
2683 2009-04-22 Chong Yidong <cyd@stupidchicken.com>
2684
2685 * keyboard.c (Fset_input_meta_mode): Doc fix.
2686
2687 * dispnew.c (Fsend_string_to_terminal): Doc fix.
2688
2689 * data.c (Fterminal_local_value, Fset_terminal_local_value): Doc fixes.
2690
2691 * coding.c (Fterminal_coding_system): Doc fix.
2692
2693 * xfns.c (Fx_display_grayscale_p, Fx_display_pixel_width)
2694 (Fx_display_pixel_height, Fx_display_planes)
2695 (Fx_display_color_cells, Fx_server_max_request_size)
2696 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
2697 (Fx_display_mm_height, Fx_display_mm_width)
2698 (Fx_display_backing_store, Fx_display_visual_class)
2699 (Fx_display_save_under, Fx_close_connection, Fx_synchronize):
2700 Doc fixes, replacing "terminal id" with "terminal object".
2701 (check_x_display_info): Handle terminal objects instead of
2702 terminal ids.
2703
2704 * term.c (Ftty_display_color_p, Ftty_display_color_cells)
2705 (Ftty_type, Fcontrolling_tty_p, Ftty_no_underline, Fsuspend_tty)
2706 (Fresume_tty, Vsuspend_tty_functions, Vresume_tty_functions):
2707 Doc fixes, replacing "terminal id" with "terminal object".
2708
2709 2009-04-21 Kenichi Handa <handa@m17n.org>
2710
2711 * font.c (font_load_for_lface): Cancel previous change (bug#2994).
2712 (font_score): Check AVGWIDTH too.
2713
2714 * coding.c (decode_coding_utf_16): Reduce charbuf_end for the
2715 worst case.
2716 (decode_coding_sjis, decode_coding_big5, decode_coding_charset)
2717 (decode_coding_emacs_mule, decode_coding_iso_2022): Likewise.
2718
2719 2009-04-19 Jason Rumney <jasonr@gnu.org>
2720
2721 The following changes fix Bug#3005 for wide glyphs on each platform,
2722 without reintroducing Bug#1258 for stretch glyphs.
2723
2724 * xterm.c (x_draw_bar_cursor): Limit cursor width differently for
2725 BAR_CURSOR and HBAR_CURSOR. Calculate width of HBAR_CURSOR using
2726 get_phys_cursor_geometry.
2727
2728 * w32term.c (x_draw_bar_cursor): Limit cursor width differently
2729 for BAR_CURSOR and HBAR_CURSOR. Calculate width of HBAR_CURSOR
2730 using get_phys_cursor_geometry.
2731
2732 * nsterm.m (ns_draw_window_cursor): HBAR_CURSOR width already
2733 correctly calculated.
2734
2735 2009-04-19 Jan Djärv <jan.h.d@swipnet.se>
2736
2737 * gtkutil.c (xg_tool_bar_menu_proxy, update_frame_tool_bar):
2738 Use G_CALLBACK instead of GTK_SIGNAL_FUNC which is deprecated.
2739 (xg_initialize): Use g_type_class_ref instead of gtk_type_class which
2740 is deprecated.
2741
2742 2009-04-18 Andreas Schwab <schwab@linux-m68k.org>
2743
2744 * font.c (font_put_frame_data): Use xfree instead of free.
2745
2746 2009-04-17 Juanma Barranquero <lekktu@gmail.com>
2747
2748 * w32font.c (Qja, Qko): Remove declarations.
2749 (syms_of_w32font): Don't DEFSYM them.
2750
2751 2009-04-17 Chong Yidong <cyd@stupidchicken.com>
2752
2753 * font.c (Qja, Qko): Move definitions here from ftfont.c.
2754
2755 * font.h (Qja, Qko): Extern them.
2756
2757 * ftfont.c (Qja, Qko): Remove declarations.
2758
2759 * xfont.c (Qja, Qko): Remove declarations.
2760
2761 2009-04-17 Kenichi Handa <handa@m17n.org>
2762
2763 * editfns.c (Ftranslate_region_internal): Use Fconcat to make a
2764 string from a vector to handle Latin-1 characters correctly.
2765
2766 * ftfont.c (ftfont_pattern_entity): Return a newly allocated
2767 entity even if the cache hits.
2768
2769 2009-04-16 Andreas Schwab <schwab@linux-m68k.org>
2770
2771 * search.c (boyer_moore): Use zero as marker value for a possible
2772 match instead of depending on overflow behavior. (Bug#2844)
2773
2774 * search.c: Use EMACS_INT for buffer positions. Add prototypes.
2775 * lisp.h: Adjust prototypes.
2776
2777 2009-04-16 Chong Yidong <cyd@stupidchicken.com>
2778
2779 * keyboard.c (adjust_point_for_property): Disable 2009-02-12
2780 change (Bug#3003).
2781
2782 2009-04-16 Kenichi Handa <handa@m17n.org>
2783
2784 * xfont.c (xfont_has_char): Special handling of `ja' and `ko' adstyle.
2785
2786 * xftfont.c (xftfont_has_char): Special handling of `ja' and `ko'
2787 adstyle.
2788
2789 * ftfont.c (Qja, Qko): Don't make them static.
2790 (enum ftfont_cache_for): New enum.
2791 (fc_charset_table): Undo the previous change.
2792 (ftfont_get_latin1_charset): Delete it.
2793 (ftfont_pattern_entity): Check cache by ftfont_lookup_cache.
2794 Set FONT_SIZE_INDEX of the entity to 0 for a scalable font. For a
2795 non-scarable font, try to get AVERAGE_WIDTH.
2796 (ftfont_lookup_cache): Argument FOR-FACE is changed to CACHE_FOR.
2797 Change ft_face_cache from a list of a hash-table. Don't check
2798 `ja' and `ko' adstyle here.
2799 (ftfont_get_fc_charset): Call ftfont_lookup_cache with
2800 FTFONT_CACHE_FOR_CHARET.
2801 (ftfont_get_charset): Undo the previous change.
2802 (ftfont_open): Call ftfont_lookup_cache with FTFONT_CACHE_FOR_FACE.
2803 (ftfont_close): Likewise.
2804 (ftfont_has_char): Special handling of `ja' and `ko' adstyle.
2805
2806 * font.c (font_sort_entites): Change the meaning of the arg
2807 BEST-ONLY. Don't optimize for VEC of lenght 1.
2808 (font_select_entity): Just return the value of font_sort_entites.
2809
2810 * xfaces.c (merge_face_vectors): Reflect font properties in
2811 to[LFACE_FONT_INDEX] to the other face attributes. Don't call
2812 font_clear_prop if a face attribute doesn't change.
2813
2814 * charset.h (charset_ksc5601): Extern it.
2815
2816 * charset.c (charset_ksc5601): New variable.
2817 (Fdefine_charset_internal): Set charset_ksc5601.
2818 (init_charset_once): Initialize charset_ksc5601 to -1.
2819
2820 2009-04-15 Dan Nicolaescu <dann@ics.uci.edu>
2821
2822 * fileio.c (history_delete_duplicates): Remove unused declaration.
2823
2824 * callint.c (history_delete_duplicates): New declaration.
2825 (Fcall_interactively): Remove command history duplicates when
2826 history_delete_duplicates is true.
2827
2828 2009-04-14 Eli Zaretskii <eliz@gnu.org>
2829
2830 * buffer.c (syms_of_buffer) <line-spacing>: Doc fix.
2831
2832 2009-04-14 Kenichi Handa <handa@m17n.org>
2833
2834 * font.c (Ffont_info): Fix docstring. Fix the second element of
2835 the returned value (bug#2949).
2836
2837 2009-04-14 Chong Yidong <cyd@stupidchicken.com>
2838
2839 * xdisp.c (Vwrap_prefix, Vline_prefix): Reflow docstrings.
2840
2841 2009-04-14 Kenichi Handa <handa@m17n.org>
2842
2843 * xfont.c (xfont_has_char): The font has C if C is ASCII and the
2844 encoding charset is ascii_compatible.
2845
2846 * charset.c (Fdefine_charset_internal): Make charset
2847 ascii-compatible if the method is CHARSET_METHOD_OFFSET, the
2848 code_offset is 0, and covers all ASCII characters.
2849
2850 2009-04-13 Stefan Monnier <monnier@iro.umontreal.ca>
2851
2852 * nsselect.m (symbol_to_nsstring, clean_local_selection_data)
2853 (ns_string_to_pasteboard_internal):
2854 * nsmenu.m (process_dialog):
2855 * nsimage.m (ns_load_image): Use SDATA and ASET where appropriate.
2856 * nsfont.m (nsfont_open): Use XHASH to make it compile with LISP_UNION.
2857 * lisp.h (Fx_load_color_file): Declare.
2858
2859 2009-04-13 Kenichi Handa <handa@m17n.org>
2860
2861 * font.c (font_delete_unmatched): Preserve the order of list elements.
2862 (font_select_entity): Suppress the code to optimize for the same
2863 kind of fonts.
2864 (font_load_for_lface): Get a font that supports at least ASCII
2865 characters.
2866
2867 * ftfont.c (Qja, Qko): New variables.
2868 (fc_charset_table): Delete uniquifier data for iso8859-1.
2869 (ftfont_get_latin1_charset): New function.
2870 (get_adstyle_property): New function.
2871 (ftfont_pattern_entity): Set FONT_ADSTYLE_INDEX of entity for
2872 bitmap fonts.
2873 (ftfont_lookup_cache): Handle the case that KEY is a font-entity.
2874 Delete iso-8859-1 range from the charset of fonts whose adstyle is
2875 `ko' or `ja'.
2876 (ftfont_get_fc_charset): Call ftfont_lookup_cache with ENTITY.
2877 (ftfont_get_charset): For iso8859-1, call ftfont_get_latin1_charset.
2878 (ftfont_list): Don't refuse a font spec with non-nil `adstyle'
2879 property.
2880 (ftfont_open): Call ftfont_lookup_cache with ENTITY.
2881 (syms_of_ftfont): DEFSYM Qja and Qko.
2882
2883 2009-04-09 Kenichi Handa <handa@m17n.org>
2884
2885 * charset.c (map_charset_chars): For a charset of `superset'
2886 method, fix calculation of code range.
2887
2888 * font.c (font_put_extra): If VAL is nil, delete the slot for PROP
2889 from the list of extra properties.
2890 (font_clear_prop): Be sure to delete `:name' font property.
2891
2892 2009-04-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2893
2894 * dispnew.c (redraw_overlapping_rows): Fix detection of
2895 overlapping for topmost and bottommost rows.
2896
2897 * ftfont.c (ftfont_text_extents): Fix calculation of metrics->descent.
2898
2899 2009-04-06 Jason Rumney <jasonr@gnu.org>
2900
2901 * frame.c (x_set_font): Avoid C99 mid-block variable declaration.
2902
2903 2009-04-06 Kenichi Handa <handa@m17n.org>
2904
2905 * ftxfont.c (ftxfont_draw_backgrond): Fix args to XFillRectangle.
2906
2907 * xftfont.c (xftfont_open): Fix setting font->underline_thickness.
2908
2909 2009-04-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2910
2911 * ftfont.c (ftfont_open): Fix checking of the return value of
2912 FT_Load_Char. Fix setting font->underline_thickness.
2913
2914 2009-04-04 Chong Yidong <cyd@stupidchicken.com>
2915
2916 * terminal.c (Fterminal_name, Fdelete_terminal, Fterminal_name)
2917 (Fterminal_parameters, Fterminal_parameter)
2918 (Fset_terminal_parameter): In doc string, refer to terminal
2919 objects rather than terminal ids.
2920
2921 2009-04-04 Eli Zaretskii <eliz@gnu.org>
2922
2923 * dosfns.c (system_process_attributes) [SYSTEM_MALLOC]: Don't call
2924 ret_lim_data. (Bug#2867)
2925
2926 2009-04-03 Chong Yidong <cyd@stupidchicken.com>
2927
2928 * term.c (produce_stretch_glyph): Reduce width of stretch glyphs
2929 so they don't get wider than the window, matching 2006-01-23
2930 change to the partner function in xdisp.c (Bug#2800).
2931
2932 2009-04-03 Kenichi Handa <handa@m17n.org>
2933
2934 * print.c (print_object): Make each lowest sub_char_table start a
2935 new line (Bug#2866).
2936
2937 2009-04-02 Kenichi Handa <handa@m17n.org>
2938
2939 * fontset.c (fontset_font): Record no-font when a fontset
2940 explicitly tells not to try another font-specs.
2941
2942 2009-03-30 Pierre Poissinger <pierre.poissinger@gmail.com> (tiny change)
2943
2944 * charset.c (map_charset_for_dump): Add missing UNGCPRO.
2945
2946 2009-03-30 Kenichi Handa <handa@m17n.org>
2947
2948 * fontset.c (fontset_from_font): Specify only registry in a
2949 font-spec for all characters supported by that registry.
2950
2951 * ftfont.c: Fix previous change. Define ftfont_variation_glyphs
2952 even if HAVE_M17N_FLT is not defined.
2953
2954 2009-03-29 Sebastian Rose <sebastian_rose@gmx.de> (tiny change)
2955
2956 * ftfont.c: Conditionalize prototyping and use of
2957 ftfont_variation_glyphs.
2958
2959 2009-03-28 Stefan Monnier <monnier@iro.umontreal.ca>
2960
2961 * frame.c (delete_frame): Work around compiler bug.
2962
2963 * editfns.c (general_insert_function): Adjust to insdel.c changes.
2964 * insdel.c (prepare_to_modify_buffer, signal_before_change):
2965 Some more EMACS_INT.
2966 * lisp.h (copy_text, count_size_as_multibyte): Fix last change.
2967
2968 * xdisp.c (dump_glyph): Fix typo.
2969
2970 * insdel.c (move_gap, move_gap_both, gap_left, gap_right)
2971 (adjust_markers_gap_motion, adjust_markers_for_delete)
2972 (adjust_markers_for_insert, adjust_point)
2973 (adjust_markers_for_replace, make_gap_larger, make_gap_smaller)
2974 (make_gap, copy_text, count_size_as_multibyte, insert)
2975 (insert_and_inherit, insert_before_markers)
2976 (insert_before_markers_and_inherit, insert_1)
2977 (count_combining_before, count_combining_after, insert_1_both)
2978 (insert_from_string, insert_from_string_before_markers)
2979 (insert_from_string_1, insert_from_gap, insert_from_buffer)
2980 (insert_from_buffer_1, adjust_after_replace)
2981 (adjust_after_replace_noundo, adjust_after_insert, replace_range)
2982 (replace_range_2, del_range, del_range_1, del_range_byte)
2983 (del_range_both, del_range_2, modify_region)
2984 (prepare_to_modify_buffer, signal_before_change)
2985 (signal_after_change, Fcombine_after_change_execute): Use EMACS_INT
2986 for buffer positions and sizes.
2987 * lisp.h: Adjust prototypes accordingly.
2988
2989 * fileio.c (adjust_markers_for_delete): Move declaration to lisp.h.
2990 (non_regular_inserted, non_regular_nbytes, read_non_regular)
2991 (Finsert_file_contents): Use EMACS_INT for buffer positions.
2992
2993 * fileio.c (Finsert_file_contents): Don't limit size to INT_MAX/4.
2994
2995 2009-03-27 Jan Djärv <jan.h.d@swipnet.se>
2996
2997 * frame.c (x_set_font): If the fullscreen property is non-nil, adjust
2998 lines and columns so we keep the same pixel height and width.
2999
3000 * xterm.c (handle_one_xevent): Call x_handle_net_wm_state if
3001 the property _NET_WM_STATE has changed.
3002 (x_handle_net_wm_state): New function to update frame parameter
3003 fullscreen.
3004 (x_term_init): Initialize atoms for _NET_WM_STATE.
3005
3006 * xterm.h (struct x_display_info): Add atoms for _NET_WM_STATE.
3007
3008 2009-03-27 Kevin Ryde <user42@zip.com.au>
3009
3010 * keyboard.c (tty_read_avail_input): Don't treat a -1 return from
3011 Gpm_GetEvent as an error that justifies closing the filedescriptor.
3012 * term.c (close_gpm): Get the filedescriptor as a (new) parameter.
3013 (Fgpm_mouse_stop): Pass that new parameter.
3014 * termhooks.h (close_gpm): Adjust prototype.
3015
3016 2009-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
3017
3018 * lisp.h (Fx_focus_frame): Declare.
3019
3020 * callint.c (Fcall_interactively): For '^' just delegate the work to
3021 handle-shift-selection.
3022 (syms_of_callint): Move declaration of shift-select-mode to simple.el.
3023
3024 2009-03-24 Chong Yidong <cyd@stupidchicken.com>
3025
3026 * editfns.c (Ffloat_time): Doc fix (Bug#2768).
3027
3028 * data.c (Qinteractive_form): New variable.
3029 (Finteractive_form): Use it.
3030
3031 * eval.c (Fcommandp): Use Qinteractive_form.
3032
3033 2009-03-24 Jason Rumney <jasonr@gnu.org>
3034
3035 * fileio.c (Fsubstitute_in_file_name): Always work on a copy.
3036 Calculate total size precisely. Decode environment variables
3037 before substituting. (Bug#38)
3038
3039 2009-03-24 Kenichi Handa <handa@m17n.org>
3040
3041 * font.c (find_font_encoding): Return Qnil for unsupported
3042 encoding (Bug#2722).
3043
3044 2009-03-23 Jan Djärv <jan.h.d@swipnet.se>
3045
3046 * gtkutil.c (xg_display_open): Assign a value to gdpy_def, check
3047 that gdpy is set.
3048
3049 2009-03-22 Alan Mackenzie <acm@muc.de>
3050
3051 * callint.c (Finteractive): Clarify the doc string - even
3052 promptless elements need \n separators.
3053
3054 2009-03-22 Jason Rumney <jasonr@gnu.org>
3055
3056 * w32term.c (syms_of_w32term): Doc fix for
3057 x-use-underline-position-properties.
3058
3059 2009-03-21 Eli Zaretskii <eliz@gnu.org>
3060
3061 * w32.c (getpwuid): Change argument type to unsigned.
3062 (struct w32_id): Change type of `rid' member to unsigned.
3063 (w32_cached_id, w32_add_to_cache, get_name_and_id): Change type of
3064 argument ID to unsigned. All callers changed.
3065 (getuid, geteuid, getgid, getegid): Change return type to unsigned.
3066
3067 2009-03-20 Eli Zaretskii <eliz@gnu.org>
3068
3069 * editfns.c (Fuser_uid, Fuser_real_uid): If UID as EMACS_INT is
3070 negative, produce a float value.
3071
3072 * dired.c (make_uid, make_gid): New functions.
3073 (Ffile_attributes): Use them to avoid negative UID and GID.
3074
3075 2009-03-20 Juanma Barranquero <lekktu@gmail.com>
3076
3077 * keyboard.c (Fcurrent_idle_time): Reflow docstring.
3078 (syms_of_keyboard) <command-hook-internal, input-method-function>:
3079 Fix typos in docstrings.
3080
3081 2009-03-19 Kenichi Handa <handa@m17n.org>
3082
3083 * fontset.c (Fset_fontset_font): When a spec of ASCII font is
3084 changed, use font_load_for_lface to get a new font object.
3085 Call free_realized_fontset after handling ASCII font change.
3086
3087 * frame.c (x_set_font): Handle the case that ARG is a cons.
3088
3089 2009-03-19 Glenn Morris <rgm@gnu.org>
3090
3091 * fileio.c (Fsubstitute_in_file_name): Doc fix.
3092
3093 2009-03-19 Chong Yidong <cyd@stupidchicken.com>
3094
3095 * indent.c (Fvertical_motion): Undo 2005-01-19 change (Bug#2694).
3096
3097 2009-03-19 Kenichi Handa <handa@m17n.org>
3098
3099 * charset.c (load_charset_map_from_file): When a mapfile can't be
3100 loaded, signal an error.
3101
3102 2009-03-18 Eli Zaretskii <eliz@gnu.org>
3103
3104 * dired.c (Ffile_attributes): Make sure UID and GID are always
3105 positive, even if the value is too large for a positive EMACS_INT.
3106 Doc fix.
3107
3108 * editfns.c (Fuser_login_name): Support float arguments. Doc fix.
3109
3110 2009-03-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3111
3112 * xmenu.c (xdialog_show): Move Fredisplay call ...
3113 (Fx_popup_dialog): ... here.
3114
3115 2009-03-18 Stefan Monnier <monnier@iro.umontreal.ca>
3116
3117 * dired.c (file_name_completion): Disable the first optimization just
3118 installed, since it is not implemented correctly.
3119
3120 2009-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
3121
3122 * dired.c (file_name_completion): Check completion-ignored-extensions
3123 only if the entry can affect bestmatch.
3124 Stop the search early, as Ftry_completion already does.
3125
3126 2009-03-17 Chong Yidong <cyd@stupidchicken.com>
3127
3128 * minibuf.c (Vminibuffer_completion_confirm): Doc fix.
3129
3130 2009-03-15 Chong Yidong <cyd@stupidchicken.com>
3131
3132 * keyboard.c (parse_menu_item): Don't display remappings as menu
3133 equivalent bindings (Bug#788).
3134
3135 2009-03-15 Jason Rumney <jasonr@gnu.org>
3136
3137 * w32term.h (WM_EMACS_PAINT): New message.
3138 * w32term.c (w32_read_socket): Use it instead of WM_PAINT.
3139 * w32fns.c (w32_wnd_proc): Change WM_PAINT to WM_EMACS_PAINT
3140 before passing to lisp thread. (Bug#950)
3141
3142 2009-03-14 David Reitter <david.reitter@gmail.com>
3143
3144 * nsterm.m (ns_shutdown_properly, -terminate): Remove global state
3145 variable as it was never reset.
3146 (ns_term_init): Remove initialization of Lisp-settable defaults
3147 and ns_expand_space.
3148 (-setPanelFromDefaultValues): Remove ns_expand_space.
3149 (-showPreferencesWindow): Send new KEY_NS_SHOW_PREFS key.
3150 * nsfont.m (nsfont_open): Remove ns_expand_space, assume -0.5
3151 i.e. no additional spacing, similar to Carbon port.
3152
3153 * nsterm.h: Define KEY_NS_SHOW_PREFS key.
3154 * nsfns.m (ns-popup-prefs-panel): Remove.
3155
3156 2009-03-14 Jan Djärv <jan.h.d@swipnet.se>
3157
3158 * sound.c (alsa_configure): Remove call to deprecated
3159 snd_pcm_sw_params_set_xfer_align.
3160
3161 2009-03-14 Stephen Berman <stephen.berman@gmx.net>
3162
3163 * gtkutil.c (xg_tool_bar_callback): Set focus back to the frame
3164 after clicking in a detached tool bar.
3165 (xg_tool_bar_proxy_callback): Remove call to Fx_focus_frame.
3166
3167 2009-03-13 Stefan Monnier <monnier@iro.umontreal.ca>
3168
3169 * fontset.c (fontset_from_font, Ffontset_info): YAILOM (Yet another
3170 int/Lisp_Object mixup).
3171
3172 2009-03-13 Kenichi Handa <handa@m17n.org>
3173
3174 * fontset.c (Ffontset_info, check_fontset_name): New arg frame.
3175 Handle NAME nil and t correctly. Callers changed.
3176 (font_def_arg, add_arg, from_arg, to_arg): Delete them.
3177 (set_fontset_font): Change ARG to a vector. Handle range_list in
3178 ARG correctly.
3179 (Fset_fontset_font): Fix the case that TARGET is both a script
3180 name and charset name. Adjust the arg to set_fontset_font for
3181 the above change.
3182 (fontset_from_font): Fix previous change.
3183 (Ffontset_info): Adjust for the 2008-07-09 change of fontset
3184 entry. If FONTSET is the default fontset, don't set the extra
3185 slot of the returning char-table.
3186
3187 2009-03-12 Juanma Barranquero <lekktu@gmail.com>
3188
3189 * nsfns.m (Fx_close_connection): Doc fix.
3190 (Fns_do_applescript): Reflow docstring.
3191 (Fns_hide_others, Fns_hide_emacs, Fns_convert_utf8_nfd_to_nfc)
3192 (Fx_display_pixel_width, Fx_display_pixel_height)
3193 (Fns_display_usable_bounds, Fx_display_planes, Fx_show_tip):
3194 Fix typos in docstrings.
3195 (Fns_set_alpha): Fix typos in error messages.
3196
3197 2009-03-12 David Reitter <david.reitter@gmail.com>
3198
3199 * termhooks.h [HAVE_NS]: Define NS_NONKEY_EVENT to be used for
3200 non-key system events on NS. Formerly, NON_ASCII_KEYSTROKE_EVENT
3201 were used for such events.
3202
3203 * nsterm.m (newFrame, openFile, fulfillService, changeFont)
3204 (toggleToolbar, performDragOperation, runHelp): Use it.
3205
3206 * keyboard.c (parse_menu_item) [HAVE_NS]: Treat new event like
3207 NON_ASCII_KEYSTROKE_EVENT, but set used_mouse_menu.
3208
3209 2009-03-11 Kenichi Handa <handa@m17n.org>
3210
3211 * font.h (font_open_by_spec): Extern it.
3212
3213 * font.c (font_open_by_spec): New function.
3214 (font_open_by_name): Use font_open_by_spec.
3215
3216 * frame.c (x_set_font): When ARG is a font-object, don't alter the
3217 fontset of the frame.
3218
3219 * fontset.c (Fset_fontset_font): When a font for ASCII is changed,
3220 modify the default font of frames that use this fontset.
3221 (num_auto_fontsets): New variable.
3222 (fontset_from_font): Use num_auto_fontsets to decide a fontset
3223 name. Be sure to set FONTSET_ASCII to the correct font name.
3224 (update_auto_fontset_alist): New function.
3225
3226 2009-03-11 Juanma Barranquero <lekktu@gmail.com>
3227
3228 * makefile.w32-in: Update dependencies.
3229
3230 2009-03-06 Adrian Robert <Adrian.B.Robert@gmail.com>
3231
3232 * nsfns.m (syms_of_nsfns): Remove Qbuffered.
3233
3234 2009-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
3235
3236 * buffer.c (Fswitch_to_buffer): Revert part of 2008-10-21's change.
3237
3238 2009-03-10 Chong Yidong <cyd@stupidchicken.com>
3239
3240 * lread.c (Feval_buffer): Doc fix.
3241
3242 2009-03-09 Kenichi Handa <handa@m17n.org>
3243
3244 * charset.c (Qfile_name_handler_alist): Extern it.
3245 (load_charset_map_from_file): Temporarily bind
3246 `file-name-handler-alist' to nil while calling openp. (Bug#2435)
3247
3248 2009-03-06 Aaron Ecay <aaronecay@gmail.com> (tiny change)
3249
3250 * nsterm.m (ns_draw_vertical_window_border): Draw 1 pixel wide,
3251 not two, and use NSRectFill instead of NSDrawGroove. (Bug#2352)
3252
3253 2009-03-06 Adrian Robert <Adrian.B.Robert@gmail.com>
3254
3255 * nsterm.m: Include <signal.h> for SIGTERM used in ns_term_shutdown.
3256 (x_set_window_size): Change back to calculated method of setting
3257 toolbar height under Cocoa. (Bug#2546)
3258 (EmacsView-windowWillUseStandardFrame:defaultFrame:): New method.
3259 (EmacsView-drawRect:): Completely shortcircuit if ns_in_resize.
3260
3261 * nsfns.m (ns_appkit_version_int): Fix typo in the version macro.
3262
3263 * nsmenu.m (EmacsMenu-addItemWithWidgetValue:): Don't add
3264 accelerator in parens under GNUstep.
3265
3266 2009-03-06 Kenichi Handa <handa@m17n.org>
3267
3268 These changes are to detect incorrect composition sequence without
3269 looking ahead the source. (Bug#2370)
3270
3271 * coding.h: Include "composite.h".
3272 (enum compisition_state): New enum.
3273 (struct compisition_status): New struct.
3274 (struct iso_2022_spec): New member cmp_status.
3275 (struct emacs_mule_spec): New struct.
3276 (struct coding_system): New members ctext_extended_segment_len and
3277 embedded_utf_8. Change the union member
3278 spec.emacs_mule_full_support to spec.emacs_mule.
3279
3280 * coding.c (CODING_ISO_CMP_STATUS): New macro.
3281 (CODING_ISO_EXTSEGMENT_LEN, CODING_ISO_EMBEDDED_UTF_8): New macros.
3282 (MAX_ANNOTATION_LENGTH): Define to 5.
3283 (ADD_COMPOSITION_DATA): New arg nbytes.
3284 (emacs_mule_char): New arg cmp_status.
3285 (DECODE_EMACS_MULE_COMPOSITION_CHAR): Delete it.
3286 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): New arg c.
3287 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New arg c.
3288 (DECODE_EMACS_MULE_21_COMPOSITION): Delete the arg c.
3289 (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Likewise.
3290 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Likewise.
3291 (DECODE_EMACS_MULE_COMPOSITION_START): New macro.
3292 (EMACS_MULE_COMPOSITION_END): New macro.
3293 (emacs_mule_finish_composition): New function.
3294 (EMACS_MULE_MAYBE_FINISH_COMPOSITION): New macro.
3295 (decode_coding_emacs_mule): Avoid long looking ahead while
3296 handling composition.
3297 (DECODE_COMPOSITION_RULE): Argument changed to rule and nbytes.
3298 (ENCODE_COMPOSITION_RULE): New macro.
3299 (finish_composition): New function.
3300 (MAYBE_FINISH_COMPOSITION): Call finish_composition.
3301 (DECODE_COMPOSITION_START): New implementation.
3302 (DECODE_COMPOSITION_END): Likewise.
3303 (STORE_COMPOSITION_RULE): New macro.
3304 (decode_coding_iso_2022): Avoid long looking ahead while handling
3305 composition, CTEXT extended segment, and embedded UTF-8.
3306 (setup_coding_system): For a coding of type iso-2022, reset
3307 CODING_ISO_EXTSEGMENT_LEN (coding) and
3308 CODING_ISO_EMBEDDED_UTF_8 (coding).
3309 (get_translation): Delete arguments last_block, from_nchars,
3310 to_nchars. Callers changed.
3311 (produce_chars): Don't modify charbuf. Adjusted for the change of
3312 get_translation.
3313 (produce_composition): Adjust for the new annotation sequence.
3314 (handle_composition_annotation): Likewise.
3315 (consume_chars): Adjust for the change of get_translation.
3316
3317 2009-03-05 Adrian Robert <Adrian.B.Robert@gmail.com>
3318
3319 * nsterm.m (ns_select): Shortcircuit if reentrant call. (Bug#2564)
3320
3321 2009-03-05 Kenichi Handa <handa@m17n.org>
3322
3323 * font.c (font_select_entity): New function.
3324 (font_find_for_lface): Use font_select_entity to select a font.
3325
3326 * fontset.c (fontset_find_font): If a font found without
3327 restricting to the characters C doesn't support C, try to find a
3328 font with C restriction.
3329
3330 2009-03-04 Nikolaj Schumacher <me@nschum.de>
3331
3332 * nsfont.m (nsfont_draw): Compare ns_antialias_text against lisp value.
3333
3334 2009-03-04 Jason Rumney <jasonr@gnu.org>
3335
3336 * w32fns.c (w32_wnd_proc): Only ignore IME messages for the
3337 characters that have already been read. (Bug#2569)
3338
3339 * image.c (xbm_read_bitmap_data, png_load, svg_load_image):
3340 Log an error message if check_image_size failed.
3341 (xpm_load_image, pbm_load, jpeg_load, tiff_load, gif_load)
3342 (gs_load): Mention max-image-size in size error message. (Bug#2560)
3343
3344 2009-03-02 Eli Zaretskii <eliz@gnu.org>
3345
3346 * callproc.c (Fcall_process): Bind inhibit-modification-hooks to t
3347 when decoding process output.
3348
3349 2009-03-01 Richard M Stallman <rms@gnu.org>
3350
3351 * m/mips.h (DATA_SEG_BITS, XUINT, XSET): Definitions disabled.
3352
3353 * emacs.c (gdb_data_seg_bits) [USE_LSB_TAG]: Make it 0.
3354
3355 2009-02-28 Eli Zaretskii <eliz@gnu.org>
3356
3357 * coding.c (decode_coding_utf_8, decode_coding_utf_16)
3358 (decode_coding_emacs_mule, decode_coding_iso_2022)
3359 (encode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
3360 (decode_coding_raw_text, decode_coding_charset)
3361 (setup_coding_system, decode_eol, decode_coding, consume_chars):
3362 Honor inhibit-eol-conversion. (Bug #2186)
3363
3364 2009-02-28 Jason Rumney <jasonr@gnu.org>
3365
3366 * coding.c (detect_coding_charset): If not checking latin extra,
3367 fail on characters between 0x80 and 0xA0. (Bug#2354)
3368
3369 2009-02-28 Eli Zaretskii <eliz@gnu.org>
3370
3371 * coding.c (detect_coding_charset): Fix change from 2008-10-21.
3372 Also, check iso-latin-*, not only iso-8859-*. (Bug#2497)
3373
3374 2009-02-27 Glenn Morris <rgm@gnu.org>
3375
3376 * callint.c (Finteractive): Doc fix.
3377
3378 2009-02-27 Kenichi Handa <handa@m17n.org>
3379
3380 * lread.c (read_escape): Signal an error for invalid \UXXXXXXXX.
3381
3382 2009-02-27 Chong Yidong <cyd@stupidchicken.com>
3383
3384 * font.c (font_style_to_value): Set value for unknown symbols to
3385 100 instead of 255.
3386 (weight_table, slant_table, width_table): Treat "unspecified" as
3387 the default value.
3388
3389 2009-02-26 Juanma Barranquero <lekktu@gmail.com>
3390
3391 * fileio.c (Fnext_read_file_uses_dialog_p): Fix typo in docstring.
3392
3393 2009-02-25 Juanma Barranquero <lekktu@gmail.com>
3394
3395 * lread.c (Fload): Stop checking Vloads_in_progress and signal
3396 error as soon as a recursive load is detected.
3397
3398 2009-02-24 Adrian Robert <Adrian.B.Robert@gmail.com>
3399
3400 * nsterm.m (ns_ring_bell): Convert rect to window coordinates
3401 before caching.
3402
3403 2009-02-24 Kenichi Handa <handa@m17n.org>
3404
3405 * fontset.c (fontset_find_font): Fix the condition for checking
3406 unavailable font.
3407
3408 2009-02-24 Glenn Morris <rgm@gnu.org>
3409
3410 * xfaces.c (Finternal_set_font_selection_order): Remove leading
3411 whitespace that confuses documentation.
3412
3413 2009-02-23 Miles Bader <miles@gnu.org>
3414
3415 * process.c (Flist_system_processes, Fprocess_attributes)
3416 (syms_of_process): Rename `system-process-attributes' to
3417 `process-attributes'.
3418
3419 2009-02-22 Andreas Schwab <schwab@linux-m68k.org>
3420
3421 * coding.h (struct coding_system): Make safe_charsets a pointer to
3422 unsigned char.
3423 * coding.c (CODING_ISO_REQUEST): Check for safe_charsets content
3424 being 255.
3425 (SAFE_CHARSET_P): Likewise.
3426 (setup_iso_safe_charsets): Properly setup safe_charsets.
3427 (Fdefine_coding_system_internal): Likewise.
3428 (setup_coding_system): Likewise. Remove unneeded casts.
3429 (detect_coding_iso_2022): Compare Viso_2022_charset_list with
3430 CODING_ATTR_CHARSET_LIST, not CODING_ATTR_SAFE_CHARSETS. Remove
3431 unneeded casts.
3432
3433 * insdel.c (del_range_2): Don't modify gap contents when called
3434 from decode_coding_object. (Bug#1809)
3435
3436 2009-02-21 Chong Yidong <cyd@stupidchicken.com>
3437
3438 * data.c (syms_of_data): Define Qfont_spec, Qfont_entity, and
3439 Qfont_object.
3440 (Ftype_of): Recognize font objects.
3441
3442 * lisp.h: Define Qfont_spec, Qfont_entity, Qfont_object extern.
3443
3444 * font.c (Qfont_spec, Qfont_entity, Qfont_object): Definitions
3445 moved to data.c.
3446
3447 2009-02-20 Adrian Robert <Adrian.B.Robert@gmail.com>
3448
3449 * nsterm.m (x_make_frame_invisible): Unset async_visible,
3450 async_iconified. Based on a patch by Christian Lynbech
3451 <christian.lynbech@tieto.com>.
3452 (EmacsView-windowDidMiniaturize:): Unset async_visible.
3453
3454 2009-02-20 Glenn Morris <rgm@gnu.org>
3455
3456 * syntax.c (Fskip_chars_forward): Fix doc typo.
3457
3458 2009-02-20 Chong Yidong <cyd@stupidchicken.com>
3459
3460 * keymap.c (Fkeymap_parent): Doc fix (Bug#2391).
3461
3462 2009-02-19 Chong Yidong <cyd@stupidchicken.com>
3463
3464 * xfns.c (Fx_create_frame): Give Xft driver a higher priority.
3465
3466 2009-02-19 Kenichi Handa <handa@m17n.org>
3467
3468 * coding.c (detect_coding): Preserve coding->mode.
3469 Don't overflow coding->carryover. (Bug#2370)
3470
3471 2009-02-18 Dan Nicolaescu <dann@ics.uci.edu>
3472
3473 * m/ibmrs6000.h (ADDR_CORRECT): Restore, removed by mistake on 2008-07-23.
3474
3475 2009-02-18 Kenichi Handa <handa@m17n.org>
3476
3477 * font.c (font_check_otf_features): Fix handling of `nil' element.
3478 (Ffont_spec): Describe :lang and :otf in the docstring.
3479
3480 2009-02-16 Andreas Schwab <schwab@suse.de>
3481
3482 * coding.c (Fcheck_coding_systems_region): Fix test for unibyte
3483 string.
3484
3485 2009-02-16 Kenichi Handa <handa@m17n.org>
3486
3487 * coding.c (Fcheck_coding_systems_region): Fix typo; Qt -> Qnil.
3488 (Bug#1723)
3489
3490 2009-02-14 Chong Yidong <cyd@stupidchicken.com>
3491
3492 * dispextern.h (struct iterator_stack_entry): New line_wrap member.
3493
3494 * xdisp.c (push_it, pop_it): Save and restore line_wrap.
3495 (handle_line_prefix): Suppress wrapping of wrap prefixes.
3496
3497 2009-02-14 Eli Zaretskii <eliz@gnu.org>
3498
3499 * msdos.c (MAX_SCREEN_BUF): New macro.
3500 (IT_write_glyphs): Make screen_buf[] always be MAX_SCREEN_BUF-long.
3501 Encode the entire run of glyphs sharing the same face, instead of
3502 doing that one glyph at a time (fixes a bug with displaying
3503 double-size characters).
3504
3505 2009-02-13 Adrian Robert <Adrian.B.Robert@gmail.com>
3506
3507 * nsfns.m (ns-read-file-name): BLOCK_INPUT while showing dialog.
3508
3509 * nsmenu.m (pop_down_menu): Check popup_activated_flag.
3510 (ns_popup_dialog, EmacsDialogPanel-runDialogAt:): Let
3511 pop_down_menu do the cleanup work as it is always called. (Bug#2154)
3512
3513 * nsfont.m (nsfont_make_fontset_for_font): For now, don't try to
3514 set fontset font for "mathematical-" sub-scripts. (Bug #2218)
3515
3516 2009-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
3517
3518 * keyboard.c (adjust_point_for_property): Allow stopping betwen two
3519 invisible areas.
3520
3521 2009-02-12 Jason Rumney <jasonr@gnu.org>
3522
3523 * w32font.c (check_face_name): Check for fake helv. (Bug#2275)
3524 (add_font_entity_to_list): Call check_face_name even when family
3525 is unspecified.
3526
3527 * w32term.c (x_display_pixel_height, x_display_pixel_width):
3528 Release DC when finished. Use NULL window to refer to desktop.
3529 (w32_term_init): Use NULL window to refer to desktop. (Bug#460)
3530
3531 * w32font.c (add_font_entity_to_list): Fix check for substituted
3532 raster fonts. (Bug#2219)
3533
3534 2009-02-12 Kenichi Handa <handa@m17n.org>
3535
3536 * composite.c (MAX_AUTO_COMPOSITION_LOOKBACK): New macro.
3537 (composition_gstring_width): Fix handling of LGLYPH_YOFF.
3538 (autocmp_chars): Use fast_looking_at. Don't compose more
3539 characters than MAX_COMPOSITION_COMPONENTS.
3540 (find_automatic_composition): While looking forward and backward,
3541 check static composition. Fix where to stop looking forward.
3542 (composition_adjust_point): Fix checking of static composition.
3543 (Fcomposition_get_gstring): Pay attention to
3544 MAX_COMPOSITION_COMPONENTS.
3545
3546 * lisp.h (fast_looking_at): Extern it.
3547
3548 * search.c (fast_looking_at): New function.
3549
3550 * term.c (encode_terminal_code): Adjust for the change of
3551 <struct glyph>.u.cmp.to.
3552 (append_composite_glyph): Likewise.
3553
3554 * xdisp.c (fill_gstring_glyph_string): Adjust for the change of
3555 <struct glyph>.u.cmp.to. Check if the glyph belongs to the same
3556 composition.
3557 (append_composite_glyph): Adjust for the change of
3558 <strcut glyph>.u.cmp.to.
3559
3560 2009-02-11 Juanma Barranquero <lekktu@gmail.com>
3561
3562 * casetab.c (init_casetab_once):
3563 * coding.c (ALLOC_CONVERSION_WORK_AREA):
3564 * font.c (font_update_lface):
3565 * fontset.c (Fnew_fontset):
3566 * ftfont.c (ftfont_drive_otf):
3567 * xfont.c (xfont_open):
3568 * xftfont.c (xftfont_get_xft_draw): Remove spurious semicolons.
3569
3570 2009-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
3571
3572 * fileio.c (Fwrite_region): !NILP -> CONSP.
3573
3574 2009-02-10 Andreas Schwab <schwab@suse.de>
3575
3576 * process.c (send_process): Properly relocate pointer into data
3577 when using encoded data. (Bug#2272)
3578
3579 2009-02-08 ARISAWA Akihiro <ari@mbf.sphere.ne.jp>
3580
3581 * coding.c (detect_coding_charset): Fix previous change.
3582
3583 2009-02-08 Jason Rumney <jasonr@gnu.org>
3584
3585 * w32fns.c (w32_hide_hourglass): Handle case where frame
3586 disappeared while hourglass was displayed. (Bug #2193)
3587
3588 2009-02-07 Andreas Schwab <schwab@suse.de>
3589
3590 * unexelf.c (unexec): Fix error message.
3591
3592 2009-02-07 Adrian Robert <Adrian.B.Robert@gmail.com>
3593
3594 * nsterm.m (EmacsApp-sendEvent:): Defer NSApplicationDefined event
3595 when modal window is active. (Bug #2152)
3596 (applicationShouldTerminate:): Remove now-unneeded while loop
3597 around NSRunAlertPanel.
3598
3599 * nsmenu.m (popupSession): New file-global variable.
3600 (pop_down_menu): End the popupSession before closing dialog.
3601 (ns_popup_dialog): BLOCK_INPUT around dialog presentation.
3602 (EmacsDialogPanel-runDialogAt:): Don't place window (superfluous),
3603 don't query NSApp for events (just sleep instead).
3604
3605 2009-02-07 Eli Zaretskii <eliz@gnu.org>
3606
3607 * coding.c (syms_of_coding) <translation-table-for-input>:
3608 Modify doc string to discourage use for character code unification.
3609
3610 2009-02-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3611
3612 * atimer.c (run_timers): Update pending_atimers.
3613
3614 2009-02-06 Chong Yidong <cyd@stupidchicken.com>
3615
3616 * image.c (svg_load_image): Fix last change.
3617
3618 * xfns.c (Fx_create_frame): Signal an error if no font is
3619 found (Bug#2147).
3620
3621 2009-02-05 Juanma Barranquero <lekktu@gmail.com>
3622
3623 * character.c (syms_of_character) <script-representative-chars>:
3624 Fix typo in docstring.
3625
3626 2009-02-04 Adrian Robert <Adrian.B.Robert@gmail.com>
3627
3628 * nsmenu.m (pop_down_menu): New function.
3629 (ns_popup_dialog): Call it on unwind.
3630 (EmacsDialogPanel-runDialogAt:): Check popup_activated_flag and
3631 call timer_check() (Bug#2154).
3632 (EmacsMenu-menuNeedsUpdate:): Don't call ns_update_menu if
3633 handling_signal is set.
3634 (EmacsMenu-fillWithWidgetValue:): Set submenu title.
3635
3636 * config.in: Get rid of COCOA_EXPERIMENTAL_CTRL_G.
3637
3638 * s/darwin.h: Same and NO_SOCK_SIGIO as well.
3639
3640 * nsterm.m (ns_read_socket): Same and don't set handling_signal.
3641
3642 * keyboard.c (poll_for_input_1, handle_async_input):
3643 Set handling_signal under HAVE_NS.
3644
3645 2009-02-04 Glenn Morris <rgm@gnu.org>
3646
3647 * fileio.c (Fwrite_region): Doc fix (mention annotate-functions).
3648
3649 2009-02-04 Kenichi Handa <handa@m17n.org>
3650
3651 * Makefile.in (composite.o): Depends on frame.h and termhooks.h.
3652
3653 * charset.c (Fchar_charset): New optional arg restriction.
3654
3655 * coding.h (coding_system_charset_list): Extern it.
3656
3657 * coding.c (coding_system_charset_list): New function.
3658
3659 * composite.c: Include coding.h and termhooks.h.
3660 (composition_gstring_p): Fix for the terminal case.
3661 (composition_gstring_width): Likewise.
3662 (fill_gstring_body): Likewise.
3663 (autocmp_chars): For terminal, call Fcomposition_get_gstring with
3664 the frame.
3665 (composition_compute_stop_pos): Adjust cmp_it->stop_pos if point
3666 is within a composition.
3667 (Fcomposition_get_gstring): Fix the terminal case.
3668
3669 * term.c (encode_terminal_code): Fix handling of composition.
3670 (produce_composite_glyph): For static composition, get pixel_width
3671 from struct composition.
3672
3673 2009-02-02 Andreas Schwab <schwab@suse.de>
3674
3675 * unexelf.c (unexec): Handle unaligned bss offset.
3676
3677 2009-02-01 Adrian Robert <Adrian.B.Robert@gmail.com>
3678
3679 * nsterm.m (ns_read_socket): Copy 2009-01-29 and 2009-01-30
3680 XT,w32read_socket changes to ns_read_socket.
3681
3682 * keyboard.c (handle_interrupt): Don't call
3683 quit_throw_to_read_char() under NS.
3684
3685 * blockinput.h: Remove NS-specific code.
3686
3687 2009-01-30 Dan Nicolaescu <dann@ics.uci.edu>
3688
3689 * dispnew.c (window_change_signal): Don't try to get the size of a
3690 suspended tty frame.
3691 * term.c (Fresume_tty): Resize if the size has changed while the
3692 tty was suspended.
3693
3694 * alloc.c (mark_stack): Properly conditionalize previous change.
3695
3696 2009-01-30 Juanma Barranquero <lekktu@gmail.com>
3697
3698 * w32inevt.c (w32_console_read_socket) [SYNC_INPUT]:
3699 * w32term.c (w32_read_socket) [SYNC_INPUT]:
3700 Remove; this code is not used on Windows.
3701
3702 2009-01-30 Eli Zaretskii <eliz@gnu.org>
3703
3704 * coding.c (detect_eol, decode_eol): Handle text with DOS-style
3705 EOLs that also has stray ^M characters.
3706
3707 2009-01-30 Juanma Barranquero <lekktu@gmail.com>
3708
3709 * atimer.c (run_timers, alarm_signal_handler):
3710 * keyboard.c (pending_signals, handle_async_input, init_keyboard):
3711 * w32inevt.c (w32_console_read_socket):
3712 * w32term.c (w32_read_socket):
3713 * xterm.c (XTread_socket): Use "#ifdef SYNC_INPUT" where appropriate.
3714
3715 2009-01-30 Chong Yidong <cyd@stupidchicken.com>
3716
3717 * callproc.c (Vtemp_file_name_pattern): Remove DEFVAR_LISP.
3718 Initialize it as a relative filename pattern.
3719 (init_callproc): Don't initialize Vtemp_file_name_pattern here.
3720 (Fcall_process_region): Simplify temp file creation using
3721 temporary-file-directory.
3722
3723 2009-01-29 Eli Zaretskii <eliz@gnu.org>
3724
3725 * msdos.c: Rename pending_signals to msdos_pending_signals.
3726 (sig_suspender, sigprocmask): Adjust.
3727
3728 2009-01-29 Chong Yidong <cyd@stupidchicken.com>
3729
3730 * keyboard.c (pending_signals): New var.
3731 (poll_for_input, input_available_signal, init_keyboard): Set it.
3732 (process_pending_signals): New function.
3733
3734 * lisp.h (QUIT): Check pending_signals instead of
3735 interrupt_input_pending. Use process_pending_signals.
3736
3737 * atimer.c (run_timers, alarm_signal_handler): Update pending_signals.
3738
3739 * process.c (wait_reading_process_output): Use process_pending_signals.
3740
3741 * sysdep.c (emacs_write): Use process_pending_signals.
3742
3743 * xterm.c (XTread_socket): Update pending_signals.
3744
3745 * w32term.c (w32_read_socket): Update pending_signals.
3746
3747 * w32inevt.c (w32_console_read_socket): Update pending_signals.
3748
3749 2009-01-29 Kenichi Handa <handa@m17n.org>
3750
3751 * xftfont.c (xftfont_has_char): New function.
3752 (syms_of_xftfont): Register xftfont_has_char in xftfont_driver.
3753
3754 2009-01-29 Adrian Robert <Adrian.B.Robert@gmail.com>
3755
3756 * nsterm.h (EmacsPrefsController.cursorBlinkSlider): Only define
3757 under GNUstep.
3758 (ns_query_color): New declaration.
3759
3760 * nsterm.m (ns_confirm_quit): New variable.
3761 (ns_set_default_prefs, syms_of_nsterm, ns_term_init): Initialize it.
3762 (EmacsApp-applicationShouldTerminate:): Use it.
3763 (EmacsPrefsController): Let user set it.
3764 (ns_query_color): New function.
3765 (ns_defined_color): Use it.
3766 (ns_initialize): Drop.
3767 (ns_term_init): Add two lines from ns_initialize(), and set
3768 input_interrupt_mode to nil.
3769
3770 * image.c (svg_load_image): Don't right-shift background RGB when
3771 obtained from FRAME_BACKGROUND_PIXEL. Under HAVE_NS use ns_query_color.
3772
3773 2009-01-28 Kenichi Handa <handa@m17n.org>
3774
3775 * fontset.c (font_for_char): Use assq_no_quit, not assoc_no_quit.
3776 (fontset_get_font_group): Remember that no font-group is specified
3777 for C.
3778
3779 2009-01-27 Chong Yidong <cyd@stupidchicken.com>
3780
3781 * fns.c (concat): Check for string overflow (bug#1787).
3782
3783 * undo.c (undo_limit, undo_strong_limit, Vundo_outer_limit):
3784 Quadruple undo limits (bug#1501).
3785
3786 2009-01-27 Kenichi Handa <handa@m17n.org>
3787
3788 * ftfont.c (ftfont_has_char): If the arg FONT is a font-object,
3789 directly use GT_Get_Char_index.
3790
3791 * xftfont.c (struct xftfont_info): New member `index'.
3792
3793 * fontset.c (font_for_char): Use assq_no_quit, not assoc_no_quit.
3794 (Ffontset_font): Adjust for the change of fontset entry.
3795
3796 2009-01-26 Kenichi Handa <handa@m17n.org>
3797
3798 * fontset.c (fontset_find_font): Fix handling of non-cons return
3799 value of fontset_get_font_group.
3800 (fontset_font): Revert last change.
3801
3802 2009-01-26 Jason Rumney <jasonr@gnu.org>
3803
3804 * w32font.c (w32font_list_internal): Return quickly if registry is
3805 unknown. Simplify final return.
3806 (add_font_entity_to_list): Break complex logic down into more
3807 manageable chunks. Move unknown registry check to
3808 w32font_list_internal.
3809
3810 2009-01-25 Adrian Robert <Adrian.B.Robert@gmail.com>
3811
3812 Changes to remove Feval calls from GUI under NS.
3813
3814 * nsterm.h: Move KEY_NS_... definitions here from nsterm.m.
3815 Add NS_TOGGLE_TOOLBAR, NS_PUT_WORKING_TEXT, NS_UNPUT_WORKING_TEXT.
3816 Remove NS_INSERT_WORKING_TEXT, NS_DELETE_WORKING_TEXT.
3817
3818 * nsterm.m: Move KEY_NS_... definitions to nsterm.h.
3819 (EmacsView-toggleToolbar:): Use KEY_NS_TOGGLE_TOOLBAR.
3820 (EmacsView-setMarkedText:,-deleteWorkingText:): Use NS_TEXT_EVENT
3821 instead of NON_ASCII_KEYSTROKE_EVENT.
3822 (EmacsApp-terminate:): Use KEY_NS_POWER_OFF instead of Feval.
3823 (EmacsApp-applicationShouldTerminate:): Query user.
3824 (EmacsPreferencesController-runHelp:): Use KEY_NS_INFO_PREFS
3825 instead of Feval.
3826
3827 * termhooks.h (NS_TEXT_EVENT): New event type under HAVE_NS.
3828
3829 * keyboard.c (kbd_buffer_get_event): Check for it.
3830 (keys_of_keyboard): Define lispy keys for
3831 ns-put/unput-working-text.
3832
3833 * nsmenu.m (ns_popup_dialog): Resync window setting with X and W32
3834 versions.
3835 (EmacsDialog-runDialogAt:): Use NSModalPanelRunLoopMode.
3836
3837 2009-01-25 Chong Yidong <cyd@stupidchicken.com>
3838
3839 * dispnew.c (buffer_posn_from_coords): Use Fset_buffer instead of
3840 setting current_buffer directly. (Bug#2044)
3841
3842 2009-01-24 Chong Yidong <cyd@stupidchicken.com>
3843
3844 * fontset.c (fontset_font): If we know there is no font, don't do
3845 any work. (Bug#1952, bug#1990).
3846
3847 * font.c (font_parse_xlfd): Handle patterns of length < 2. (Bug#1802)
3848
3849 2009-01-23 Adrian Robert <Adrian.B.Robert@gmail.com>
3850
3851 * emacs.c (main): Do fork+exec under --daemon in Cocoa.
3852 (ns_no_defaults): New declaration.
3853 (main): Use it.
3854
3855 * nsterm.h (ns_no_defaults): New declaration.
3856
3857 * nsfns.m (x_get_string_resource): Don't read when ns_no_defaults.
3858
3859 * nsterm.m (ns_no_defaults): New variable.
3860 (ns_initialize): Don't read defaults when ns_no_defaults.
3861 (EmacsView-readSelectionFromPasteboard:)
3862 (writeSelectionToPasteboard:types:): New stubbed-out methods for
3863 NSServicesRequests protocol. (Bug#1435)
3864 (ns_dumpglyphs_stretch): New function.
3865 (ns_draw_glyph_string): Use it, parallel Yamamoto Mitsuharu change
3866 of 2008-11-15 to other terms. (Bug#615)
3867
3868 * nsimage.m (setPixmapData:): Set to ignore image DPI.
3869
3870 2009-01-23 Giorgos Keramidas <keramida@freebsd.org> (tiny change)
3871
3872 * alloc.c (mark_stack): Use "flushw" instead of "ta 3" assembly
3873 call for Sparc64.
3874
3875 2009-01-22 Adrian Robert <Adrian.B.Robert@gmail.com>
3876
3877 * nsfns.m:
3878 * nsgui.h:
3879 * nsmenu.m:
3880 * nsselect.m:
3881 * nsterm.h:
3882 * nsterm.m: Remove '23' comments that indicated code added during
3883 update from emacs-20 -> emacs-23.
3884
3885 2009-01-22 Adrian Robert <Adrian.B.Robert@gmail.com>
3886
3887 * nsterm.m (EmavsView-keyDown:): Treat nil as Qnone for
3888 ns_alternate_modifier. (Bug#1217)
3889
3890 * nsmenu.m (EmacsMenu-parseKeyEquiv:, addItemWithWidgetValue:):
3891 Display all shortcuts, including those w/o super modifier.
3892
3893 * nsfns.m (ns-read-file-name): Fix typo in assignment statement.
3894
3895 2009-01-22 Chong Yidong <cyd@stupidchicken.com>
3896
3897 * fileio.c (Vwrite_region_post_annotation_function)
3898 (Vwrite_region_annotation_buffers): New vars.
3899 (build_annotations_unwind): Just reset
3900 Vwrite_region_annotation_buffers.
3901 (Fwrite_region): Initialize Vwrite_region_annotation_buffers.
3902 Call write-region-post-annotation-function.
3903 (build_annotations): Add to Vwrite_region_annotation_buffers if
3904 buffer changes.
3905
3906 2009-01-21 Adrian Robert <Adrian.B.Robert@gmail.com>
3907
3908 * nsterm.h (EmacsApp-setAppleMenu:): Conditionalize more correctly on
3909 Tiger.
3910 * nsfns.m (ns_do_applescript):
3911 Conditionalize typeUTF16ExternalRepresentation on Tiger.
3912
3913 2009-01-21 Wolfgang Lux <wolfgang.lux@gmail.com> (tiny change)
3914
3915 * nsterm.m (EV_TRAILER): Always use emacsframe for frame_or_window.
3916
3917 2009-01-21 Adrian Robert <Adrian.B.Robert@gmail.com>
3918
3919 * nsmenu.m (NSMENUPROFILE): Change #if style.
3920
3921 * nsterm.h (EmacsPrefsController): Add -setPanelFromDefaultValues.
3922
3923 * nsterm.m (x_set_frame_alpha): Add prototype.
3924 (ns_fake_keydown, EmacsView-keyUp:): New variable and function to
3925 handle Ctrl-tab. (Bug#1841)
3926 (ns_get_color): Use unsigned long long for scanned hex string value.
3927 (ns_term_shutdown): Abort on non SIGTERM signals.
3928 (EmacsPrefsController-setDefaultFont:,-setColors:): Raise the frame.
3929 (EmacsPrefsController-setPanelFromDefaultValues): New function.
3930 (EmacsPrefsController-resetToDefaults:): Use it. (Bug#1801)
3931 (ns_font_to_xlfd, ns_fontname_to_xlfd): Remove, unused.
3932 (ns_defined_color): Fix settings of the XColor variable fields:
3933 red,green,blue scale to 2-byte, pixel's parts to 1-byte. (Bug#1663)
3934
3935 * nsimage.m (EmacsImage+allocInitFromFile:): Set to ignore image
3936 DPI. (Bug#1316)
3937 (EmacsImage-setPixelAtX:Y:toRed:green:blue:alpha:): Fix color
3938 values in onTiger section.
3939
3940 2009-01-19 Chong Yidong <cyd@stupidchicken.com>
3941
3942 * xfaces.c (Finternal_set_lisp_face_attribute, Fx_list_fonts):
3943 Check return value of font_spec_from_name.
3944 (Fx_list_fonts): Doc fix. (Bug#1951)
3945
3946 * font.c (font_spec_from_name): Return Qnil if font name could not
3947 be parsed.
3948 (font_parse_name): Treat a `?' character as part of an XLFD.
3949
3950 * fns.c (Fsubstring): Doc fix.
3951
3952 2009-01-19 Kenichi Handa <handa@m17n.org>
3953
3954 * ftfont.c (ftfont_lookup_cache): Check the return value of FcFontList.
3955 (ftfont_list): Likewise.
3956
3957 2009-01-18 Juanma Barranquero <lekktu@gmail.com>
3958
3959 * dbusbind.c (Fdbus_register_signal):
3960 * process.c (conv_sockaddr_to_lisp):
3961 * w32fns.c (Fw32_battery_status): Use empty_unibyte_string.
3962
3963 * callproc.c (Fgetenv_internal): Doc fix.
3964
3965 2009-01-16 Chong Yidong <cyd@stupidchicken.com>
3966
3967 * xfns.c (x_make_gc): Don't allocate stipple member for gc_values;
3968 it is not even used.
3969
3970 2009-01-16 Glenn Morris <rgm@gnu.org>
3971
3972 * font.c (Ffont_variation_glyphs): Silence compiler.
3973
3974 2009-01-15 Juanma Barranquero <lekktu@gmail.com>
3975
3976 * sound.c (SOUND_WARNING): Use _snprintf, for MSVC compatibility.
3977 Reported by David Robinow <drobinow@gmail.com>.
3978
3979 2009-01-15 Kenichi Handa <handa@m17n.org>
3980
3981 * coding.c (detect_coding_system): Fix handling of null_byte_found.
3982
3983 2009-01-14 Jason Rumney <jasonr@gnu.org>
3984
3985 * frame.c (x_set_font): Always store a font to the font parameter,
3986 never a fontset. (Bug#1562)
3987
3988 2009-01-14 Kenichi Handa <handa@m17n.org>
3989
3990 * coding.c (TWO_MORE_BYTES): New macro.
3991 (detect_coding_utf_16): Use TWO_MORE_BYTES instead of ONE_MORE_BYTE.
3992
3993 2009-01-13 Chong Yidong <cyd@stupidchicken.com>
3994
3995 * font.c (font_clear_prop): If clearing the family, clear the font
3996 width index too.
3997
3998 * xfaces.c (Finternal_set_lisp_face_attribute): Revert last change.
3999
4000 2009-01-12 Juanma Barranquero <lekktu@gmail.com>
4001
4002 * sound.c [WINDOWSNT] (SOUND_WARNING): New macro.
4003 (do_play_sound): Use it. Don't pass a hardcoded buffer size to mci
4004 functions, use sizeof.
4005
4006 2009-01-12 Martin Rudalics <rudalics@gmx.at>
4007
4008 * keyboard.c (read_char): Fix case where last_nonmenu_event
4009 returned a bad value with submenus. (Bug#447)
4010
4011 2009-01-12 Chong Yidong <cyd@stupidchicken.com>
4012
4013 * xfaces.c (Finternal_set_lisp_face_attribute): If setting the
4014 family, clear the font width index too.
4015
4016 2009-01-11 Jason Rumney <jasonr@gnu.org>
4017
4018 * keyboard.c (cmd_error_internal): Exit when errors occur before
4019 frame creation and not in daemon mode. (Bug#1836)
4020
4021 2009-01-10 Chong Yidong <cyd@stupidchicken.com>
4022
4023 * xdisp.c (pos_visible_p): When iterator stops on the last glyph
4024 of a display vector, backtrack.
4025 (try_window_reusing_current_matrix): Check glyph type before
4026 referencing charpos member.
4027
4028 2009-01-10 Eli Zaretskii <eliz@gnu.org>
4029
4030 Fix Bug #876:
4031
4032 * coding.c (inhibit_null_byte_detection): New variable.
4033 (detect_coding, detect_coding_system): Don't pay attention to null
4034 bytes if inhibit_null_byte_detection is non-zero.
4035 (syms_of_coding) <inhibit-null-byte-detection>: Declare and document.
4036 <inhibit-iso-escape-detection>: Doc fix.
4037
4038 2009-01-09 Jason Rumney <jasonr@gnu.org>
4039
4040 * w32font.c (add_font_entity_to_list): Don't report unknown
4041 Windows charset as any unrecognized registry. (Bug#1548)
4042 Only report Unicode Plane 2 fonts as unicode-sip.
4043
4044 2009-01-09 Chong Yidong <cyd@stupidchicken.com>
4045
4046 * xfaces.c (Fx_font_family_list): Delete function.
4047 Move compatibility version to faces.el.
4048
4049 * font.c (Ffont_family_list): Return a list of strings, not symbols.
4050
4051 2009-01-09 Martin Rudalics <rudalics@gmx.at>
4052
4053 * frame.c (x_set_frame_parameters): Remember requested value for
4054 fullscreen before it's reset by the parameter handler.
4055
4056 2009-01-09 Glenn Morris <rgm@gnu.org>
4057
4058 * keyboard.c (last_command_char): For clarity, rename to...
4059 (last_command_event): ... and update all users.
4060 (last_input_char): For clarity, rename to...
4061 (last_input_event): ... and update all users.
4062 (last-command-char, last-input-char): Move to subr.el as aliases.
4063 * cmds.c, commands.h: Update for last_command_char rename.
4064
4065 2009-01-08 Chong Yidong <cyd@stupidchicken.com>
4066
4067 * font.c (font_open_for_lface): Handle unspecified height attribute.
4068
4069 2009-01-08 Jason Rumney <jasonr@gnu.org>
4070
4071 * w32fns.c (Vx_pointer_shape, Vx_nontext_pointer_shape)
4072 (Vx_mode_pointer_shape, Vx_window_horizontal_drag_shape)
4073 (Vx_hourglass_pointer_shape, Vx_sensitive_text_pointer_shape):
4074 Don't declare.
4075 (syms_of_w32fns): Don't define x-pointer-shape variable. (Bug#1485)
4076 (x_create_tip_frame) [GLYPH_DEBUG]: Enable image debugging code.
4077
4078 2009-01-07 Kenichi Handa <handa@m17n.org>
4079
4080 * fileio.c (Finsert_file_contents): In the case of replace,
4081 remember the coding system used for decoding in
4082 coding_system (Bug#1039).
4083
4084 * coding.c (decode_coding_utf_8): Check byte_after_cr before
4085 breaking the loop. (Bug#870)
4086 (decode_coding_utf_16, decode_coding_emacs_mule)
4087 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
4088 (decode_coding_charset): Likewise.
4089
4090 2009-01-05 Martin Rudalics <rudalics@gmx.at>
4091
4092 * frame.c (x_set_frame_parameters): Make sure height (width) get
4093 applied when fullwidth (fullheight) is set. (Bug#1522)
4094
4095 2009-01-04 Juanma Barranquero <lekktu@gmail.com>
4096
4097 * w32.c: Use 64-bit arithmetic to do FILETIME conversions. (Bug#1766)
4098 (utc_base): Declare as ULONGLONG, not long double.
4099 (convert_time_raw): Delete.
4100 (FILETIME_TO_U64, U64_TO_LISP_TIME): New macros.
4101 (initialize_utc_base): New function.
4102 (convert_time): Use FILETIME_TO_U64, initialize_utc_base.
4103 (convert_from_time_t): Use initialize_utc_base; compute result with
4104 64-bit arithmetic.
4105 (process_times): Use FILETIME_TO_U64, U64_TO_LISP_TIME.
4106
4107 2009-01-03 Eli Zaretskii <eliz@gnu.org>
4108
4109 * process.c (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess)
4110 (Qttname, Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime)
4111 (Qcutime, Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs)
4112 (Quser, Qgroup, Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime)
4113 [!subprocesses]: Define.
4114 (syms_of_process) [!subprocesses]: Intern and staticpro them.
4115 (Flist_system_processes, Fsystem_process_attributes)
4116 [!subprocesses]: Call list_system_processes and
4117 system_process_attributes instead of returning Qnil.
4118
4119 * dosfns.c (system_process_attributes, list_system_processes):
4120 New functions.
4121
4122 * vm-limit.c (ret_lim_data) [MSDOS]: New function.
4123
4124 * sysdep.c (list_system_processes, system_process_attributes) [MSDOS]:
4125 Don't use the default (no-op) implementation.
4126
4127 2009-01-03 Jason Rumney <jasonr@gnu.org>
4128
4129 * keyboard.c (parse_modifiers_uncached): Wheel events are
4130 clicks (bug#687).
4131
4132 * w32term.c (x_query_colors, x_query_color): New functions.
4133
4134 * image.c (x_to_xcolors, png_load): Eliminate W32 specific code.
4135 (svg_load_image): Cast returned pointers from dynamically loaded
4136 functions. Eliminate W32 specific code.
4137
4138 2009-01-02 Dan Nicolaescu <dann@ics.uci.edu>
4139
4140 * nsfns.m (x_set_foreground_color, x_set_background_color)
4141 (x_set_cursor_color, x_set_icon_name, x_explicitly_set_name)
4142 (x_set_title, x_set_icon_type, x_set_cursor_type): Rename to use
4143 x_ prefix instead of ns_. Update references.
4144 (syms_of_nsfns): Add a FIXME comment.
4145
4146 * nsterm.m (x_set_cursor_type): New prototype.
4147 (setValuesFromPanel): Use it instead of the old ns_ prefixed name.
4148
4149 * sysdep.c (system_process_attributes): Provide Qtime and Qctime
4150 for Solaris instead of incorrectly providing Qutime and Qcutime.
4151
4152 2009-01-02 Eli Zaretskii <eliz@gnu.org>
4153
4154 * w32.c (process_times): Compute sum of utime and stime.
4155 (system_process_attributes): Add Qtime to the alist.
4156
4157 * sysdep.c (system_process_attributes): Compute Qtime and Qctime
4158 and add them to the alist.
4159
4160 * process.c (top level) <Qtime, Qctime>: New variables.
4161 (syms_of_process): staticpro them.
4162 (Fsystem_process_attributes): Add their documentation to the doc
4163 string.
4164
4165 * process.h: Declare Qtime and Qctime.
4166
4167 2009-01-02 Jason Rumney <jasonr@gnu.org>
4168
4169 * image.c (Qgobject): New symbol.
4170 (syms_of_image): Initialize it.
4171 (init_svg_functions): Load some functions from gobject library.
4172
4173 2009-01-01 Dan Nicolaescu <dann@ics.uci.edu>
4174
4175 * frame.c (make_terminal_frame): Remove redundant code and useless
4176 block.
4177
4178 2009-01-01 Andreas Schwab <schwab@suse.de>
4179
4180 * process.c (conv_sockaddr_to_lisp): Add workaround for
4181 getsockname bug on BSD.
4182
4183 2009-01-01 Chong Yidong <cyd@stupidchicken.com>
4184
4185 * xfns.c (x_create_tip_frame): Set border width of the X window.
4186
4187 * xfaces.c (Finternal_set_lisp_face_attribute): Improve error message.
4188
4189 2009-01-01 Jason Rumney <jasonr@gnu.org>
4190
4191 * w32term.c (x_new_font): Return font object, not fontset. (Bug#119)
4192 Don't block input, as per earlier xterm.c changes.
4193
4194 2008-12-31 Adrian Robert <Adrian.B.Robert@gmail.com>
4195
4196 * nsfns.m (ns_appkit_version_str): Rename from ns_appkit_version.
4197 (ns_appkit_version_int): New function.
4198 (x-server-version): Use ns_appkit_version_int and follow 21+
4199 convention of returning 3 integers.
4200
4201 2008-12-30 Kenichi Handa <handa@m17n.org>
4202
4203 * character.h (CHAR_VARIATION_SELECTOR_P): New macro.
4204 (CHAR_SURROGATE_PAIR_P): New macro.
4205
4206 * font.h (struct font_driver): New member get_variation_glyphs.
4207
4208 * font.c (font_range): Don't require a font for a variation selector.
4209 (Ffont_variation_glyphs): New function.
4210 (syms_of_font): Defsubr it.
4211
4212 * ftfont.c (ftfont_driver): Set the member get_variation_glyphs to
4213 ftfont_variation_glyphs.
4214 (setup_otf_gstring): New function.
4215 (ftfont_drive_otf): Use it.
4216 (ftfont_shape_by_flt): Handle variation selector.
4217 (ftfont_variation_glyphs): New function.
4218
4219 2008-12-30 Martin Rudalics <rudalics@gmx.at>
4220
4221 * frame.c (Vemacs_iconified): Remove.
4222
4223 2008-12-30 Jason Rumney <jasonr@gnu.org>
4224
4225 * frame.c (store_frame_param, x_get_arg): Enable newer code on
4226 WINDOWSNT too, as related changes have already been synced. (Bug#117)
4227
4228 2008-12-30 Chong Yidong <cyd@stupidchicken.com>
4229
4230 * indent.c (Fvertical_motion): Don't advance iterator if we have
4231 reseated to the desired position.
4232
4233 * xdisp.c (move_it_to): Handle GET_FROM_STRETCH method when
4234 checking for pos match.
4235
4236 2008-12-30 Kenichi Handa <handa@m17n.org>
4237
4238 * insdel.c (copy_text): To convert a non-ASCII char to unibyte,
4239 just get the low 8-bit of the code.
4240
4241 * font.c (font_intern_prop): Validate str as multibyte.
4242
4243 2008-12-29 Dan Nicolaescu <dann@ics.uci.edu>
4244
4245 * dispextern.h (struct face): Move lface and hash from the middle
4246 of bitfields.
4247
4248 * Makefile.in (INTERVALS_H): Rename from INTERVAL_SRC, update all users.
4249
4250 2008-12-29 Dan Nicolaescu <dann@ics.uci.edu>
4251
4252 * Makefile.in (INTERVAL_SRC): Also depend on dispextern.h.
4253 (coding.o, dispnew.o, keymap.o, msdos.o): Depend on INTERVAL_SRC
4254 instead of intervals.h.
4255
4256 2008-12-26 Andreas Schwab <schwab@suse.de>
4257
4258 * keymap.c (map_keymap_char_table_item): Make a copy of KEY if it is a
4259 cons.
4260
4261 2008-12-26 Martin Rudalics <rudalics@gmx.at>
4262
4263 * textprop.c (Qminibuffer_prompt): New variable.
4264 (syms_of_textprop): Initialize it.
4265 * callint.c (Fcall_interactively): For `c', `k', and `K' prompt
4266 in minibuffer-prompt face. (Bug#1662)
4267
4268 2008-12-25 Jason Rumney <jasonr@gnu.org>
4269
4270 * buffer.c (Fbuffer_swap_text): Use POINTER_TYPE.
4271
4272 2008-12-24 Jason Rumney <jasonr@gnu.org>
4273
4274 * ralloc.c (r_alloc_reset_variable): New function.
4275
4276 * buffer.c (Fbuffer_swap_text) [REL_ALLOC]: Reset ralloc's internal
4277 record of what points where. (Bug#716)
4278
4279 2008-12-22 Dan Nicolaescu <dann@ics.uci.edu>
4280
4281 * minibuf.c (read_minibuf): Follow the non-interactive case when
4282 running as a daemon, before detaching.
4283
4284 2008-12-22 Andreas Schwab <schwab@suse.de>
4285
4286 * buffer.c (init_buffer): Use realloc instead of xrealloc.
4287 * gtkutil.c (free_widget_value): Use xfree instead of free.
4288
4289 2008-12-22 Martin Rudalics <rudalics@gmx.at>
4290
4291 * frame.c (delete_frame): New function derived from
4292 Fdelete_frame to handle Qnoelisp value for FORCE argument.
4293 Delete last frame iff FORCE equals Qnoelisp. (Bug#1450)
4294 (Fdelete_frame): Call delete_frame. Remove line from doc-string
4295 saying that FORCE non-nil doesn't run `delete-frame-functions'.
4296 * frame.h: Extern delete_frame.
4297 * window.c (window_loop):
4298 * terminal.c (delete_terminal):
4299 * xterm.c (x_connection_closed):
4300 * xfns.c (Fx_hide_tip):
4301 * w32fns.c (Fx_hide_tip): Call delete_frame instead of Fdelete_frame.
4302
4303 2008-12-21 Jason Rumney <jasonr@gnu.org>
4304
4305 * w32uniscribe.c (uniscribe_encode_char): Return FONT_INVALID_CHAR
4306 when character maps to .notdef character.
4307
4308 2008-12-21 Stefan Monnier <monnier@iro.umontreal.ca>
4309
4310 * keyboard.c (cmd_error_internal): Don't exit in daemon mode, bug#1310.
4311
4312 2008-12-20 Jason Rumney <jasonr@gnu.org>
4313
4314 * frame.c (Fmake_terminal_frame): Raise an error when called from
4315 a graphical frame on Windows. (Bug#1325)
4316
4317 2008-12-20 Jan Djärv <jan.h.d@swipnet.se>
4318
4319 * frame.c (Fdelete_frame): Set f->menu_bar_vector to Qnil.
4320
4321 2008-12-20 Chong Yidong <cyd@stupidchicken.com>
4322
4323 * minibuf.c (Fread_buffer): Doc fix.
4324
4325 2008-12-20 Jason Rumney <jasonr@gnu.org>
4326
4327 * fileio.c (Fexpand_file_name): Do not allow ../ to go beyond the
4328 server name in UNC paths. (Bug#719)
4329
4330 * coding.c (decode_coding): Clear chars_at_source flag when using
4331 charbuf. (Bug#1035)
4332
4333 2008-12-19 Daniel Engeler <engeler@gmail.com>
4334
4335 * sysdep.c (serial_configure): Fix typo.
4336
4337 2008-12-19 Dan Nicolaescu <dann@ics.uci.edu>
4338
4339 * sysdep.c: Include alloca.h.
4340 (system_process_attributes): Add implementation for Solaris.
4341
4342 * s/sol2-10.h (HAVE_PROCFS, _STRUCTURED_PROC): New defines.
4343
4344 2008-12-19 Dan Nicolaescu <dann@ics.uci.edu>
4345
4346 Reorganize implementation of Flist_system_processes and
4347 Fsystem_process_attributes. No functional changes.
4348 * process.c: Don't #include pwd.h, grp.h and limits.h.
4349 (Flist_system_processes): Just call list_system_processes.
4350 (Fsystem_process_attributes): Just call system_process_attributes.
4351 (procfs_list_system_processes, time_from_jiffies)
4352 (ltime_from_jiffies, get_up_time, procfs_ttyname, MAJOR, MINOR)
4353 (procfs_get_total_memory, procfs_system_process_attributes): Move ...
4354
4355 * sysdep.c: ... here. Include pwd.h, grp.h and limits.h.
4356 (list_system_processes): Rename from
4357 procfs_list_system_processes. Enclose in #ifdef HAVE_PROCFS.
4358 Provide a do nothing implementation.
4359 (system_process_attributes): Rename from
4360 procfs_list_system_processes.
4361 (ltime_from_jiffies, get_up_time, procfs_ttyname, MAJOR, MINOR)
4362 (procfs_get_total_memory): Enclose in #ifdef GNU_LINUX.
4363
4364 * w32.c (list_system_processes): Rename from
4365 w32_list_system_processes.
4366 (system_process_attributes): Rename from
4367 w32_system_process_attributes.
4368
4369 * s/gnu-linux.h (LISTPROC, PROCATTR): Remove.
4370
4371 * process.h (w32_list_system_processes)
4372 (w32_system_process_attributes): Remove.
4373 (list_system_processes, system_process_attributes):
4374 New prototypes.
4375
4376 2008-12-19 Kenichi Handa <handa@m17n.org>
4377
4378 * xfont.c (xfont_decode_coding_xlfd): New function.
4379 (xfont_encode_coding_xlfd): New function.
4380 (xfont_list_pattern): Decode XLFD by iso-8859-1.
4381 (xfont_list): Decode and encode XLFD by iso-8859-1.
4382 (xfont_match): Likewise.
4383 (xfont_list_family): Likewise.
4384 (xfont_open): Likewise.
4385
4386 * ftfont.c (ftfont_open): Generate a multibyte string if given
4387 names are utf-8.
4388
4389 * xftfont.c (xftfont_open): Generate a multibyte string if given
4390 names are utf-8.
4391
4392 2008-12-18 Jan Djärv <jan.h.d@swipnet.se>
4393
4394 * gtkutil.c (xg_frame_resized): Remove check if rows/columns have
4395 changed.
4396 (xg_tool_bar_proxy_callback): Put focus on the frame after we have
4397 clicked on a detached tool bar button.
4398
4399 2008-12-18 Dan Nicolaescu <dann@ics.uci.edu>
4400
4401 * emacs.c (main): Print and error and exit when no data is read
4402 from the pipe.
4403
4404 2008-12-17 Jason Rumney <jasonr@gnu.org>
4405
4406 * w32font.c (w32font_has_char): Always return -1.
4407
4408 2008-12-16 Kenichi Handa <handa@m17n.org>
4409
4410 * font.c (font_open_entity): Fix previous change.
4411
4412 2008-12-16 Dan Nicolaescu <dann@ics.uci.edu>
4413
4414 * process.c: Include <limits.h>.
4415
4416 2008-12-16 Chetan Pandya <pandyacus@sbcglobal.net> (tiny change)
4417
4418 * font.c (font_update_drivers): Fix mistake in reconstructing the
4419 driver list.
4420
4421 2008-12-16 Chong Yidong <cyd@stupidchicken.com>
4422
4423 * font.c (font_clear_cache): Fix format of font cache data.
4424
4425 2008-12-15 Chong Yidong <cyd@stupidchicken.com>
4426
4427 * xftfont.c (xftfont_open): Free Xft font pattern if
4428 XftFontOpenPattern fails.
4429
4430 * xterm.c (x_free_frame_resources): Remove extraneous call to
4431 free_frame_faces.
4432
4433 2008-12-13 Chong Yidong <cyd@stupidchicken.com>
4434
4435 * xterm.c (x_delete_display): Move xim_close_dpy call to
4436 x_delete_terminal.
4437 (x_delete_terminal): Call xim_close_dpy.
4438
4439 2008-12-13 Jason Rumney <jasonr@gnu.org>
4440
4441 * w32font.c (intern_font_name): New function.
4442 (add_font_name_to_list, w32_enumfont_pattern_entity): Use it.
4443 (w32font_open_internal, Fx_select_font): Decode font name.
4444 (fill_in_logfont, list_all_matching_fonts): Encode font name.
4445
4446 * w32font.h (intern_font_name): Declare new function.
4447
4448 * w32uniscribe.c (add_opentype_font_name_to_list):
4449 Use intern_font_name.
4450
4451 2008-12-13 Chong Yidong <cyd@stupidchicken.com>
4452
4453 * frame.c (Fdelete_frame): Call free_font_driver_list.
4454
4455 * font.c (free_font_driver_list): Implement missing function.
4456
4457 * w32term.c (w32_term_init): Don't initialize the image cache
4458 here; it will be done in init_frame_faces.
4459
4460 * xterm.h (struct xim_inst_t): Definition moved from xterm.c.
4461 (struct x_display_info): Remove unused member null_pixel. New
4462 member xim_callback_data.
4463
4464 * xterm.c (struct xim_inst_t): Definition moved to xterm.h.
4465 (xim_initialize): Save pointer to callback function data.
4466 (xim_close_dpy): Free callback function data. Call XCloseIM,
4467 reverting 2008-11-04 change by David Smith.
4468 (x_term_init): Don't initialize the image cache here; it will be
4469 done in init_frame_faces. Remove ancient "null_pixel" cruft.
4470 (x_delete_display): Free x_dnd_atoms member.
4471
4472 2008-12-13 Kenichi Handa <handa@m17n.org>
4473
4474 * font.c (font_rescale_ratio): Moved from xfaces.c.
4475 Argument type changed. Handle a font-spec too.
4476 (font_score): Check Vface_font_rescale_alist.
4477 (font_open_entity): Likewise. (Bug#1547)
4478
4479 * xfaces.c (font_rescale_ratio): Moved to font.c.
4480
4481 2008-12-13 Chong Yidong <cyd@stupidchicken.com>
4482
4483 * xfns.c (Fx_wm_set_size_hint): Check if the frame is an X frame.
4484
4485 2008-12-12 Jason Rumney <jasonr@gnu.org>
4486
4487 * w32fns.c (x_display_info_for_name, Fx_open_connection): Set
4488 Vwindow_system_version to the real w32 major version.
4489
4490 2008-12-12 Dan Nicolaescu <dann@ics.uci.edu>
4491
4492 * term.c (init_tty): Move setting the terminal name before the
4493 potential user: maybe_fatal.
4494
4495 2008-12-11 Chong Yidong <cyd@stupidchicken.com>
4496
4497 * term.c (tty_free_frame_resources): Renamed from delete_tty_output;
4498 all callers changed. Call free_frame_faces to free the face cache.
4499
4500 2008-12-11 Jason Rumney <jasonr@gnu.org>
4501
4502 * w32font.c (fill_in_logfont): Don't assume symbol script means
4503 SYMBOL_CHARSET. (Bug#547)
4504
4505 * w32uniscribe.c (uniscribe_encode_char): Increase glyph buffer
4506 size for surrogates. (Bug#1096, bug#872)
4507
4508 2008-12-11 Juanma Barranquero <lekktu@gmail.com>
4509
4510 * w32proc.c (Fw32_get_locale_info): Decode long form of locale name.
4511
4512 2008-12-11 Juanma Barranquero <lekktu@gmail.com>
4513
4514 * process.c (Fsystem_process_attributes, syms_of_process):
4515 Fix typo in name of Ssystem_process_attributes.
4516 Reported by Ulrich Mueller <ulm@kph.uni-mainz.de>.
4517
4518 2008-12-11 Juanma Barranquero <lekktu@gmail.com>
4519
4520 * syntax.c (Fmodify_syntax_entry): Doc fix.
4521
4522 2008-12-10 Juanma Barranquero <lekktu@gmail.com>
4523
4524 * font.c (Ffont_spec): Move usage to end of docstring.
4525
4526 2008-12-10 Jason Rumney <jasonr@gnu.org>
4527
4528 * w32font.c (Qcham): New symbol.
4529 (font_supported_scripts): Add cham, and comments for other new
4530 scripts in bitfield from OpenType spec.
4531 (add_font_entity_to_list): Limit unicode-sip fonts to those that
4532 contain characters beyond the bmp.
4533
4534 2008-12-10 Kenichi Handa <handa@m17n.org>
4535
4536 * ftfont.c (fc_charset_table): Add "unicode-sip".
4537 (ftfont_spec_pattern): Lookup fc_charset_table for the registry
4538 Qunicode_sip.
4539
4540 2008-12-10 Juanma Barranquero <lekktu@gmail.com>
4541
4542 * coding.c (QCdefault_char): Rename from QCdefalut_char.
4543 (Fcoding_system_put): Use QCdefault_char.
4544 (syms_of_coding): Set QCdefault_char, not QCdefalut_char.
4545
4546 2008-12-09 Chong Yidong <cyd@stupidchicken.com>
4547
4548 * xftfont.c (syms_of_xftfont): Fix typo.
4549
4550 * buffer.c (Fbuffer_swap_text): Signal error if swapping a dead buffer.
4551
4552 2008-12-08 Dan Nicolaescu <dann@ics.uci.edu>
4553
4554 * emacs.c (main): Close daemon_pipe on exec.
4555
4556 2008-12-08 Chong Yidong <cyd@stupidchicken.com>
4557
4558 * termchar.h (struct tty): New members termcap_term_buffer and
4559 termcap_strings_buffer.
4560
4561 * term.c (encode_terminal_code): Free any previous memory blocks
4562 before calling xmalloc for encode_terminal_src or encode_terminal_dst.
4563 (maybe_fatal): Buffer argument deleted. Don't free buffer here.
4564 All callers changed.
4565 (init_tty): Store termcap data and string buffers in new struct
4566 tty members termcap_term_buffer and termcap_strings_buffer.
4567 (delete_tty): Free them.
4568 (syms_of_term): Initialize encode_terminal_src and encode_terminal_dst.
4569
4570 2008-12-07 Seiji Zenitani <zenitani@mac.com>
4571
4572 * nsfns.m (ns_set_background_color): Remove code duplication.
4573 It was a substitute for face-transparency on OS X 10.3.
4574
4575 2008-12-06 Chong Yidong <cyd@stupidchicken.com>
4576
4577 * coding.c (make_conversion_work_buffer): Disable buffer
4578 modification hooks in the work buffer.
4579
4580 2008-12-05 Eli Zaretskii <eliz@gnu.org>
4581
4582 * process.c (procfs_system_process_attributes): If `nread' has a
4583 negative value, assign zero to it.
4584
4585 2008-12-05 Chong Yidong <cyd@stupidchicken.com>
4586
4587 * eval.c (Vdebug_on_error): Doc fix.
4588
4589 2008-12-05 Kenichi Handa <handa@m17n.org>
4590
4591 * ftfont.c (ftfont_shape_by_flt): Use "combining" flt if the
4592 second character is a combining character.
4593
4594 2008-12-05 Eli Zaretskii <eliz@gnu.org>
4595
4596 * process.c (procfs_system_process_attributes): Don't use cmd,
4597 cmdsize, and q without initializing them first.
4598
4599 2008-12-04 Jason Rumney <jasonr@gnu.org>
4600
4601 * w32font.c (w32font_draw): Initialize orig_clip before getting
4602 it, and delete it when finished.
4603
4604 2008-12-04 Dan Nicolaescu <dann@ics.uci.edu>
4605
4606 * keyboard.c (kbd_buffer_get_event): Follow the non-interactive
4607 case when running as a daemon before detaching.
4608
4609 2008-12-03 Juanma Barranquero <lekktu@gmail.com>
4610
4611 * w32.c (init_environment): Don't unload library shell32.dll.
4612
4613 2008-12-03 Kenichi Handa <handa@m17n.org>
4614
4615 * font.c (font_at): Set `multibyte' at first.
4616
4617 * coding.c (decode_coding_charset): Check type of an element of
4618 vector VALIDS.
4619 (encode_coding_emacs_mule): Be sure to set `code'.
4620
4621 * fontset.c (face_for_char): Handle invalid charset property correctly.
4622 (font_for_char): Likewise.
4623
4624 2008-12-03 Chong Yidong <cyd@stupidchicken.com>
4625
4626 * font.c (Fopen_font): Compute pixel size correctly.
4627 (font_update_lface): Handle fonts with corrupted size specs,
4628 i.e. non-int and non-float.
4629
4630 * ftfont.c (ftfont_match): Initialize entity variable.
4631 (ftfont_resolve_generic_family): Avoid using uninitialized var.
4632 (ftfont_list_family): Initialize list var earlier.
4633
4634 * xselect.c (Fx_get_cut_buffer_internal): Fix memory leak.
4635
4636 * xterm.c (x_draw_glyph_string): Fall back on
4637 underline_minimum_offset for underline position.
4638
4639 2008-12-03 Dan Nicolaescu <dann@ics.uci.edu>
4640
4641 * keyboard.c (read_char_help_form_unwind): Specify the type for ARG.
4642
4643 * character.c (c_string_width): Specify the type for LEN.
4644
4645 2008-12-03 Kenichi Handa <handa@m17n.org>
4646
4647 * coding.c (decode_coding_utf_16): Initialize consumed_chars_base to 0.
4648 (decode_coding_utf_8): Likewise.
4649 (detect_coding_system): Initialize utf_16_le_eol to -1, val to Qnil.
4650 (produce_chars): Initialize consumed_chars to 0.
4651
4652 2008-12-02 Chong Yidong <cyd@stupidchicken.com>
4653
4654 * keyboard.c (make_lispy_position): Only use PT if the selected
4655 window is current.
4656
4657 2008-12-02 Andreas Schwab <schwab@suse.de>
4658
4659 * font.c (font_unparse_fcname): Fix use of uninitialized variable.
4660
4661 * doprnt.c (doprnt1): Fix size of charbuf.
4662
4663 2008-12-02 Chong Yidong <cyd@stupidchicken.com>
4664
4665 * keyboard.c (timer_check): Revert last change.
4666
4667 2008-12-02 Juanma Barranquero <lekktu@gmail.com>
4668
4669 * makefile.w32-in ($(BLD)/w32console.$(O)): Fix silly, silly typo.
4670
4671 2008-12-01 Juanma Barranquero <lekktu@gmail.com>
4672
4673 * makefile.w32-in: Update dependencies.
4674 (CONFIG_H): Add $(EMACS_ROOT)/nt/inc/sys/time.h.
4675
4676 2008-12-01 Andreas Schwab <schwab@suse.de>
4677
4678 * font.c (register_font_driver): Use xmalloc.
4679 (font_put_frame_data): Likewise.
4680
4681 2008-12-01 Chong Yidong <cyd@stupidchicken.com>
4682
4683 * xfaces.c (realize_x_face): Make abort condition clearer.
4684
4685 * gtkutil.c (update_frame_tool_bar): Initialize variable.
4686
4687 2008-11-30 Chong Yidong <cyd@stupidchicken.com>
4688
4689 * keyboard.c (timer_check): After a timer runs, ensure that the
4690 selected window's buffer is current.
4691
4692 2008-11-30 Juanma Barranquero <lekktu@gmail.com>
4693
4694 * makefile.w32-in ($(BLD)/abbrev.$(O)): Remove.
4695 It was accidentally restored by the Unicode merge.
4696
4697 * w32proc.c (Fw32_get_locale_info): Fix typo in docstring.
4698
4699 2008-11-29 Juanma Barranquero <lekktu@gmail.com>
4700
4701 * w32proc.c: Include "coding.h".
4702 (Fw32_short_file_name): Encode filename passed to Windows API.
4703 (Fw32_long_file_name): Encode filename passed to Windows API and
4704 decode back the result. (Bug#1433)
4705
4706 2008-11-29 Kenichi Handa <handa@m17n.org>
4707
4708 * charset.h (CHAR_CHARSET_P): Check if the encoder is loaded or
4709 not before accessing it.
4710
4711 * charset.c (Fdefine_charset_internal): After calculating
4712 min_char, max_char, and fastmap, copy the charset structure again.
4713 (encode_char): Fix the previous change.
4714
4715 2008-11-28 Seiji Zenitani <zenitani@mac.com>
4716
4717 * frame.c (x_set_alpha) [NS_IMPL_COCOA]: Call x_set_frame_alpha.
4718
4719 * nsfns.m (ns_frame_parm_handlers): Set alpha handler.
4720
4721 * nsterm.m (x_set_frame_alpha): New function.
4722
4723 2008-11-27 Eli Zaretskii <eliz@gnu.org>
4724
4725 * xfaces.c (Fx_font_family_list, syms_of_xfaces): Fix last change.
4726
4727 2008-11-27 Juanma Barranquero <lekktu@gmail.com>
4728
4729 * w32font.c (add_font_entity_to_list): Pass the right LOGFONT
4730 pointer to check_face_name.
4731
4732 2008-11-27 Kenichi Handa <handa@m17n.org>
4733
4734 * category.h (SET_CATEGORY_SET): Call set_category_set.
4735 (set_category_set): Extern it.
4736
4737 * category.c (hash_get_category_set): New function.
4738 (Fmodify_category_entry): Adjusted for the change of
4739 char_table_ref_and_range. Call hash_get_category_set to get a
4740 category set to store in the table.
4741
4742 * character.h (MAYBE_UNIFY_CHAR): Call maybe_unify_char instead of
4743 Funify_charset.
4744
4745 * charset.h (enum charset_method): Delete CHARSET_METHOD_MAP_DEFERRED.
4746 (DECODE_CHAR): Check if the decoder vector is ready.
4747 (ENCODE_CHAR): Check if the encoder char-table is ready.
4748 (maybe_unify_char): Extern it.
4749
4750 * charset.c (Vchar_unified_charset_table): Delete it.
4751 (inhibit_load_charset_map): New variable.
4752 (temp_charset_work): New variable.
4753 (SET_TEMP_CHARSET_WORK_ENCODER, GET_TEMP_CHARSET_WORK_ENCODER)
4754 (SET_TEMP_CHARSET_WORK_DECODER, GET_TEMP_CHARSET_WORK_DECODER):
4755 New macros.
4756 (load_charset_map): Meaning of control_flag changed. If
4757 inhibit_load_charset_map is nonzero, setup a table in
4758 temp_charset_work.
4759 (load_charset): New argument control_flag.
4760 (map_charset_for_dump): New function.
4761 (map_charset_chars): If inhibit_load_charset_map is nonzero, use
4762 map_charset_for_dump.
4763 (Fdefine_charset_internal): If the charset method is MAP, load
4764 mapping tables by calling load_charset.
4765 (Funify_charset): Don't load a mapping table but directly set
4766 Vchar_unify_table.
4767 (maybe_unify_char): New function.
4768 (decode_char): Don't handle the deleted method MAP_DEFERRED.
4769 Handle the case of inhibit_load_charset_map being nonzero.
4770 (encode_char): Don't handle the deleted method MAP_DEFERRED.
4771 Handle the case of inhibit_load_charset_map being nonzero.
4772 (Fclear_charset_maps): Just free temp_charset_work.
4773 (syms_of_charset): Make `inhibit-load-charset-map' a Lisp
4774 variable.
4775
4776 * chartab.c (sub_char_table_ref_and_range): Adjusted for the
4777 change of char_table_ref_and_range.
4778 (char_table_ref_and_range): Change the meaning of argument FROM
4779 and TO. Now the caller must provide initial values for *FROM
4780 and *TO.
4781
4782 * fontset.c (fontset_add): Adjusted for the change of
4783 char_table_ref_and_range.
4784 (fontset_get_font_group): Likewise.
4785 (Ffontset_info): Likewise.
4786
4787 * keymap.c (describe_vector): Adjusted for the change of
4788 char_table_ref_and_range. For char-table, put boundary between
4789 non-ASCII and 8-bit characters.
4790
4791 * print.c (print_object): For bool-vector, delete unnecessary
4792 check of ASCII_BYTE_P.
4793
4794 2008-11-26 Jason Rumney <jasonr@gnu.org>
4795
4796 * w32font.c (w32font_open_internal): Don't include external
4797 leading in font height. (Bug#879)
4798
4799 2008-11-26 Glenn Morris <rgm@gnu.org>
4800
4801 * xfaces.c (Fx_font_family_list): Replace lisp/term/pc-win.el
4802 redefinition with ifdef. (Bug#1383)
4803
4804 2008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
4805
4806 * nsterm.m (ns_get_color): Handle long hex strings (fixes bug #1044).
4807
4808 2008-11-24 Wolfgang Lux <wolfgang.lux@gmail.com> (tiny change)
4809
4810 * nsterm.m (-otherMouseDown:, -otherMouseUp:, -otherMouseDragged):
4811 New EmacsView methods.
4812 (EV_UDMODIFIERS, EV_BUTTON): Add OtherMouse constants.
4813 Fixes bug #1048,1357,1414.
4814
4815 2008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
4816
4817 Fix bug #1362.
4818 * image.c (x_clear_image_1): Do not free background under HAVE_NS, it
4819 is not an indexed color.
4820 * nsterm.m (free_indexed_color): Add argument checking.
4821 * nsfns.m: Move config.h to before system includes (advised by Dan N.).
4822
4823 2008-11-24 Chong Yidong <cyd@stupidchicken.com>
4824
4825 * minibuf.c (Fcompleting_read, Vminibuffer_completion_confirm):
4826 Document confirm-after-completion value for
4827 minibuffer-completion-confirm.
4828
4829 2008-11-24 Jason Rumney <jasonr@gnu.org>
4830
4831 * w32font.c (check_face_name): Use xstrcasecmp. Avoid compiler
4832 warning.
4833
4834 2008-11-23 Jason Rumney <jasonr@gnu.org>
4835
4836 * w32uniscribe.c (uniscribe_encode_char): Ensure context is
4837 restored before returning.
4838
4839 * w32font.c (check_face_name): New function.
4840 (add_font_entity_to_list): Use it to filter out common substituted
4841 fonts. (Bug#642)
4842
4843 2008-11-22 Martin Rudalics <rudalics@gmx.at>
4844
4845 * buffer.c (Fswitch_to_buffer): Reword and mention new option
4846 confirm-nonexistent-file-or-buffer in doc-string.
4847
4848 2008-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
4849
4850 * buffer.c (Fbuffer_swap_text): Remove redundant marker manipulation.
4851 Fix copy/paste typo. Add checks.
4852
4853 2008-11-21 Kenichi Handa <handa@m17n.org>
4854
4855 * coding.c (detect_coding_iso_2022): Reject invalid composition
4856 sequence.
4857 (DECODE_COMPOSITION_START): If the current source is the last
4858 block, and the current composition doesn't end, regard this
4859 sequence as invalid.
4860 (decode_coding_iso_2022): Handle invalid composition sequence.
4861
4862 2008-11-20 Martin Rudalics <rudalics@gmx.at>
4863
4864 * window.c (coordinates_in_window): Don't return
4865 ON_VERTICAL_BORDER for the rightmost position of a mode/header
4866 line when the window is not the rightmost one. (Bug#1372)
4867
4868 2008-11-16 Ben North <ben@redfrontdoor.org> (tiny change)
4869
4870 * buffer.c (syms_of_buffer): Fix doc-string of cursor-type.
4871
4872 2008-11-15 Eli Zaretskii <eliz@gnu.org>
4873
4874 * msdos.c (run_msdos_command): Don't call dos_ttcooked, dos_ttraw,
4875 and bright_bg if noninteractive is non-zero.
4876
4877 2008-11-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4878
4879 * xterm.c (x_draw_glyph_string): For stretch glyphs, don't call
4880 x_draw_glyph_string_background.
4881
4882 * w32term.c (x_draw_glyph_string): Likewise.
4883
4884 2008-11-15 Chong Yidong <cyd@stupidchicken.com>
4885
4886 * xterm.c (x_draw_glyph_string): Stop drawing the background of
4887 the next glyph string once past the overhang width.
4888
4889 * nsterm.m (ns_draw_glyph_string): Likewise.
4890
4891 * w32term.c (x_draw_glyph_string): Likewise.
4892
4893 2008-11-14 Fabrice Popineau <fabrice.popineau@supelec.fr> (tiny change)
4894
4895 * fileio.c (Finsert_file_contents): Decrement specpdl_ptr to avoid
4896 double file close.
4897
4898 2008-11-14 Martin Rudalics <rudalics@gmx.at>
4899
4900 * window.c (window_loop): In DELETE_BUFFER_WINDOWS case, reset
4901 dedicated status of window before attempting to display another
4902 buffer in it.
4903
4904 2008-11-14 Juanma Barranquero <lekktu@gmail.com>
4905
4906 * msdos.c (Fmsdos_long_file_names):
4907 (syms_of_msdos) <dos-unsupported-char-glyph>:
4908 * dosfns.c (Fint86): Fix typos in docstrings.
4909
4910 2008-11-14 Eli Zaretskii <eliz@gnu.org>
4911
4912 * makefile.w32-in (OBJ1, WIN32OBJ): Fix whitespace.
4913
4914 2008-11-14 Katsumi Yamaoka <yamaoka@jpl.org>
4915
4916 * puresize.h (BASE_PURESIZE): Increase to 1260000.
4917
4918 2008-11-12 Michal Nazarewicz <mina86@tlen.pl> (tiny change)
4919
4920 * frame.c (x_set_alpha): Set alpha to -1 if nil given.
4921
4922 * frame.h: Negative alpha means "don't touch".
4923
4924 * w32term.c (x_set_frame_alpha): Do nothing if alpha is negative.
4925
4926 * xterm.c (x_set_frame_alpha): Do nothing if alpha is negative.
4927
4928 2008-11-12 Dan Nicolaescu <dann@ics.uci.edu>
4929
4930 * hftctl.c:
4931 * chpdef.h:
4932 * acldef.h: Remove files used only for systems no longer supported.
4933
4934 * Makefile.in: Fix .o alphabetical ordering.
4935 (hftctl.o): Remove dependency, file removed.
4936 (keymap.o, print.o): Depend on charset.h.
4937
4938 2008-11-10 Kenichi Handa <handa@m17n.org>
4939
4940 * character.c (Fget_byte): Fix and make it faster for unibyte target.
4941
4942 2008-11-08 Chong Yidong <cyd@stupidchicken.com>
4943
4944 * dired.c (file_name_completion): If completion_ignore_case is
4945 enabled, ignore case when checking completion-regexp-list.
4946
4947 2008-11-08 Eli Zaretskii <eliz@gnu.org>
4948
4949 * vm-limit.c (get_lim_data): Fix last change.
4950
4951 2008-11-08 Kenichi Handa <handa@m17n.org>
4952
4953 * character.c (Fget_byte): New function.
4954 (syms_of_character): Defsubr Fget_byte.
4955
4956 2008-11-07 Chong Yidong <cyd@stupidchicken.com>
4957
4958 * xdisp.c (try_window_reusing_current_matrix): Ensure that window
4959 cursor position is valid after scrolling.
4960
4961 2008-11-06 Juanma Barranquero <lekktu@gmail.com>
4962
4963 * fns.c (Frandom): Rename arg N to LIMIT to match the docs; doc fix.
4964
4965 2008-11-06 Glenn Morris <rgm@gnu.org>
4966
4967 * xterm.c (handle_one_xevent): Don't let popup menus cause
4968 mouse-autoselect-window related window switching. (Bug#1261)
4969
4970 2008-11-04 David Smith <davidsmith@acm.org> (tiny change)
4971
4972 * xterm.c (xim_close_dpy): Avoid double-free on X11R6 XIM.
4973
4974 2008-11-04 Andreas Schwab <schwab@suse.de>
4975
4976 * xfns.c (Fx_wm_set_size_hint): Add missing return value.
4977
4978 2008-11-03 Chong Yidong <cyd@stupidchicken.com>
4979
4980 * xfns.c (Fx_wm_set_size_hint): New function.
4981
4982 2008-11-03 Martin Rudalics <rudalics@gmx.at>
4983
4984 * textprop.c (Fprevious_single_char_property_change): Return 0
4985 when there's no change in a string. (Bug#1301)
4986
4987 2008-11-02 Martin Rudalics <rudalics@gmx.at>
4988
4989 * frame.c (do_switch_frame): New argument NORECORD passed to
4990 Fselect_window.
4991 (Fselect_frame): New argument NORECORD passed to
4992 do_switch_frame.
4993 (Fset_frame_selected_window): New argument NORECORD passed to
4994 Fselect_frame.
4995 (Fhandle_switch_frame, Fdelete_frame): Handle NORECORD argument
4996 in call of do_switch_frame.
4997 (Fset_mouse_position, Fset_mouse_pixel_position, Fraise_frame):
4998 Handle NORECORD argument in call of Fselect_frame.
4999 * lisp.h (do_switch_frame, Fselect_frame)
5000 (Fset_frame_selected_window): Adjust declarations.
5001 * window.c (select_frame_norecord): New function.
5002 (run_window_configuration_change_hook): Use it and call
5003 Fselect_frame with NORECORD set.
5004 (Fselect_window): Pass NORECORD to Fselect_frame.
5005 (Fset_window_configuration): Handle NORECORD argument in call of
5006 do_switch_frame.
5007 * minibuf.c (choose_minibuf_frame): Handle NORECORD in call of
5008 Fset_frame_selected_window.
5009 * keyboard.c (command_loop_1): Handle NORECORD in call of
5010 Fselect_frame (currently ifdefd).
5011
5012 2008-11-02 Ulrich Mueller <ulm@kph.uni-mainz.de>
5013
5014 * emacs.c (USAGE2): Untabify.
5015
5016 2008-11-01 Stefan Monnier <monnier@iro.umontreal.ca>
5017
5018 * composite.c (fill_gstring_header): Fix copy/paste typo.
5019
5020 2008-10-31 Martin Rudalics <rudalics@gmx.at>
5021
5022 * window.c (Fnext_window, Fprevious_window): Rewrite doc-string.
5023 (Fother_window): Rename argument and rewrite doc-string.
5024 (select_window_norecord): Fix return value. (Bug#1276)
5025
5026 2008-10-30 Juanma Barranquero <lekktu@gmail.com>
5027
5028 * w32fns.c (x_create_tip_frame): Prevent default foreground color for
5029 new frames overriding foreground for tooltips. Based on similar patch
5030 from Martin Rudalics <rudalics@gmx.at>. (Bug#1032)
5031
5032 2008-10-29 Chong Yidong <cyd@stupidchicken.com>
5033
5034 * emacs.c (Fdaemon_initialized): Initialize nfd.
5035
5036 2008-10-29 Martin Rudalics <rudalics@gmx.at>
5037
5038 * window.c (Fwindow_height, Fdelete_window, set_window_buffer)
5039 (Fwindow_text_height): Clarify doc-strings.
5040 * xdisp.c (syms_of_xdisp): Mention set-window-buffer in
5041 doc-string of window-scroll-functions.
5042
5043 2008-10-28 Reiner Steib <Reiner.Steib@gmx.de>
5044
5045 * category.c (syms_of_category): Fix typo in docstring.
5046
5047 2008-10-28 Juanma Barranquero <lekktu@gmail.com>
5048
5049 * window.c (Fwindowp, Fwindow_live_p, Fwindow_minibuffer_p)
5050 (Fcoordinates_in_window_p, Fscroll_left, Fscroll_right):
5051 Fix typos in docstrings.
5052
5053 2008-10-28 Dan Nicolaescu <dann@ics.uci.edu>
5054
5055 * emacs.c (daemon_pipe): Make non-static.
5056 (IS_DAEMON): Move definition ...
5057 * lisp.h (IS_DAEMON): ... here.
5058 (daemon_pipe): Declare.
5059 (is_daemon): Remove.
5060 * dispnew.c (init_display): Use IS_DAEMON.
5061
5062 2008-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
5063
5064 * xdisp.c (pos_visible_p, redisplay_internal, message3_nolog)
5065 (message2_nolog): Check FRAME_INITIAL_P instead of noninteractively.
5066
5067 * emacs.c (is_daemon): Remove.
5068 (main): Don't set is_daemon.
5069 (IS_DAEMON): New macro.
5070 (Fdaemonp, Fdaemon_initialized): Use it.
5071 (Fdaemon_initialized): Write a char into the pipe to make sure the
5072 parent exits.
5073 (syms_of_emacs): Explicitly initialize daemon_pipe[1].
5074
5075 2008-10-27 Chong Yidong <cyd@stupidchicken.com>
5076
5077 * nsterm.m (ns_draw_window_cursor): When hbar cursor is on
5078 over-sized glyph, draw it with the default glyph width.
5079
5080 * w32term.c (x_draw_bar_cursor): When hbar cursor is on over-sized
5081 glyph, draw it with the default glyph width.
5082
5083 * xterm.c (x_draw_bar_cursor): When hbar cursor is on over-sized
5084 glyph, draw it with the default glyph width.
5085
5086 * xdisp.c (try_scrolling): When computing the distance from the
5087 scroll margin to PT, try moving some distance past the window
5088 bottom before giving up.
5089
5090 2008-10-27 Martin Rudalics <rudalics@gmx.at>
5091
5092 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p)
5093 (Fset_window_buffer): Explain in doc-string that a window can be
5094 "strongly" dedicated to its buffer.
5095
5096 2008-10-27 Dan Nicolaescu <dann@ics.uci.edu>
5097
5098 * emacs.c (daemon_name): New variable.
5099 (main): Deal with --daemon=SERVER_NAME.
5100 (Fdaemonp): Return a name if one was passed to --daemon.
5101
5102 2008-10-26 Romain Francoise <romain@orebokech.com>
5103
5104 * emacs.c (daemon_pipe): New variable.
5105 (main): Create a pipe before forking, make the parent exit only after
5106 the child has closed its end of the pipe. Move closing the
5107 descriptors ...
5108 (Fdaemon_initialized): ... here. New function.
5109
5110 2008-10-26 Stefan Monnier <monnier@iro.umontreal.ca>
5111
5112 * chartab.c (Foptimize_char_table): Make sure `ascii' doesn't point to
5113 the previous unoptimized table.
5114
5115 * window.c (Fset_window_buffer): Undo 2008-10-18 change to re-instate
5116 the distinction between non-nil and non-t value of `dedicated'.
5117
5118 2008-10-25 Chong Yidong <cyd@stupidchicken.com>
5119
5120 * keyboard.c (read_char_minibuf_menu_prompt): Ensure that
5121 read_char_minibuf_menu_text is large enough to hold the menu string.
5122
5123 2008-10-25 Martin Rudalics <rudalics@gmx.at>
5124
5125 * window.c (Fget_buffer_window, Fdelete_windows_on)
5126 (Freplace_buffer_in_windows): Make buffer argument optional and
5127 rename to buffer_or_name.
5128
5129 2008-10-24 Chong Yidong <cyd@stupidchicken.com>
5130
5131 * xdisp.c (handle_single_display_spec, handle_display_prop):
5132 Undo 2005-05-16 change.
5133 (handle_stop): Pop iterator if it's loaded with an empty string.
5134 (get_overlay_strings_1): Don't save iterator if it's loaded with
5135 an empty string (bug#1201).
5136
5137 2008-10-24 Kenichi Handa <handa@m17n.org>
5138
5139 * ftfont.c (ftfont_otf_features): Fix previous change.
5140 (ftfont_otf_capability): Check FeatureList.FeatureCount before
5141 calling ftfont_otf_features.
5142
5143 2008-10-24 Kenichi Handa <handa@m17n.org>
5144
5145 * font.c (font_match_p): Fix for the case that a vector of
5146 characters is in script-representative-chars.
5147
5148 2008-10-24 Michael Albinus <michael.albinus@gmx.de>
5149
5150 * dbusbind.c (xd_in_read_queued_messages): New variable.
5151 (XD_SIGNAL1, XD_SIGNAL2, XD_SIGNAL3): New macros. Throw Qdbus_error.
5152 (xd_read_queued_messages): Catch Qdbus_error from the macros.
5153 (all): Replace xsignal1, xsignal2, xsignal3 by the respective
5154 macro. (Bug#1186).
5155
5156 2008-10-23 Ali Bahrami <ali_gnu@emvision.com> (tiny change)
5157
5158 * s/sol2-10.h: New file.
5159
5160 2008-10-23 Juanma Barranquero <lekktu@gmail.com>
5161
5162 * xdisp.c (fill_glyph_string): Fix typo in source (though the
5163 poor beast has survived 9+ years and the jump from xterm.c!).
5164
5165 2008-10-23 Martin Rudalics <rudalics@gmx.at>
5166
5167 * buffer.c (Fget_buffer_create): Rename arg to buffer_or_name.
5168 Reword doc-string.
5169 (Fbury_buffer): In doc-string say what happens to the buffer's window.
5170
5171 2008-10-23 Juanma Barranquero <lekktu@gmail.com>
5172
5173 * character.c (syms_of_character) <script-representative-chars>:
5174 <unicode-category-table>: Doc fixes.
5175
5176 2008-10-23 Noah Friedman <friedman@splode.com>
5177
5178 * coding.c (make_conversion_work_buffer): Check that
5179 Vcode_conversion_reused_workbuf is a live buffer, otherwise call
5180 Fget_buffer_create.
5181
5182 2008-10-23 Kenichi Handa <handa@m17n.org>
5183
5184 * font.c (font_add_log): Check the values of extra properties.
5185
5186 2008-10-22 Martin Rudalics <rudalics@gmx.at>
5187
5188 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
5189 Reword doc-string.
5190 (Fset_window_parameter): Use NILP.
5191 (Fscroll_up, Fscroll_down, Fminibuffer_selected_window)
5192 (Frecenter): Use "selected" instead of "current" window in doc-strings.
5193
5194 2008-10-22 Juanma Barranquero <lekktu@gmail.com>
5195
5196 * xdisp.c (next_element_from_buffer): Remove bogus xassert condition.
5197
5198 2008-10-22 Adrian Robert <Adrian.B.Robert@gmail.com>
5199
5200 * nsfns.m (ns_appkit_version): New function.
5201 (x-server-version): Use it.
5202 (syms_of_nsfns): Define ns-version-string here, not nsterm.m.
5203 (x-server-vendor): Don't check_ns().
5204
5205 * nsterm.m (syms_of_nsterm): Drop ns-version-string.
5206
5207 2008-10-22 Juanma Barranquero <lekktu@gmail.com>
5208
5209 * w32fns.c (unwind_create_frame) [!GLYPH_DEBUG]: Fix xassert.
5210 Copied from 2005-02-03 change to xfns.c by Kim F. Storm.
5211
5212 2008-10-22 Kenichi Handa <handa@m17n.org>
5213
5214 * syntax.c (scan_words): Call word_boundary_p instead of comparing
5215 scripts.
5216
5217 * category.c (word_boundary_p): Check scripts instead of charset.
5218 Handle nil value in word-separating-categories and
5219 word-combining-categories.
5220 (syms_of_category): Fix docstrings of word-separating-categories
5221 and word-combining-categories.
5222
5223 2008-10-21 Eli Zaretskii <eliz@gnu.org>
5224
5225 * coding.c (Fencode_coding_region, Fdecode_coding_region)
5226 (Fdecode_coding_string, Fencode_coding_string): Doc fix.
5227
5228 2008-10-21 Martin Rudalics <rudalics@gmx.at>
5229
5230 * buffer.c (Fget_buffer, Fbury_buffer, switch_to_buffer_1):
5231 Rename arg "buffer" to "buffer_or_name".
5232 (Fkill_buffer): Rename arg "buffer" to "buffer_or_name" and make
5233 it optional.
5234 (no_switch_window): Remove since the return value is not used.
5235 (Fswitch_to_buffer): Rename arg "buffer" to "buffer_or_name".
5236 Consider window as dedicated when Fwindow_dedicated_p returns a
5237 non-nil value.
5238 * lisp.h: Remove prototype for no_switch_window.
5239
5240 2008-10-21 Jan Djärv <jan.h.d@swipnet.se>
5241
5242 * emacs.c (main): Unconditionally set PER_LINUX32 and exec
5243 temacs when dumping if HAVE_PERSONALITY_LINUX32 is defined.
5244
5245 2008-10-21 Kenichi Handa <handa@m17n.org>
5246
5247 * coding.c (detect_coding_charset): For iso-8859-* coding systems,
5248 check Vlatin_extra_code_table.
5249
5250 2008-10-20 Eli Zaretskii <eliz@gnu.org>
5251
5252 * fileio.c (Fset_file_modes): Doc fix.
5253
5254 2008-10-19 Michael Albinus <michael.albinus@gmx.de>
5255
5256 * dbusbind.c (XD_OBJECT_TO_DBUS_TYPE): Handle simple type symbols
5257 in arrays.
5258
5259 2008-10-19 Martin Rudalics <rudalics@gmx.at>
5260
5261 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
5262 Mention kill-buffer in doc-string.
5263 (Fset_window_buffer): Reinsert tem check removed in last commit.
5264 (Fenlarge_window, Fshrink_window): Have argument names and
5265 doc-string follow Elisp manual more closely.
5266
5267 2008-10-18 Eli Zaretskii <eliz@gnu.org>
5268
5269 * fileio.c (Fset_file_modes): Doc fix.
5270
5271 2008-10-18 Martin Rudalics <rudalics@gmx.at>
5272
5273 * window.c (Fwindow_width, Fset_window_start)
5274 (Fwindow_parameters, Fwindow_parameter, Fset_window_parameter)
5275 (Fdelete_windows_on, Freplace_buffer_in_windows):
5276 Make doc-strings follow code and Elisp manual more closely.
5277 (Fwindow_dedicated_p): Make window argument optional.
5278 (Fset_window_dedicated_p): Rename argument "arg" to "flag".
5279 (Fset_window_buffer): Respect any non-nil dedicated value for
5280 window. Rename "buffer" argument to "buffer_or_name".
5281
5282 2008-10-18 Ulrich Mueller <ulm@gentoo.org>
5283
5284 * m/sh3.h: New file, machine description for SuperH.
5285
5286 2008-10-17 Martin Rudalics <rudalics@gmx.at>
5287
5288 * window.c (Fsplit_window): Rename arg horflag to horizontal.
5289
5290 2008-10-17 Kenichi Handa <handa@m17n.org>
5291
5292 * ftfont.c (ftfont_otf_features): Fix indexing
5293 gsub_gpos->FeatureList.Feature. Check the validity of indices.
5294
5295 2008-10-16 Magnus Henoch <mange@freemail.hu>
5296
5297 * dbusbind.c (Fdbus_call_method): Unbreak usage line.
5298 (Fdbus_call_method_asynchronously): Ditto.
5299 This change makes C-h f display the argument list.
5300
5301 2008-10-16 Chong Yidong <cyd@stupidchicken.com>
5302
5303 * fileio.c (Fexpand_file_name): Doc fix.
5304
5305 * xfaces.c (Finternal_set_lisp_face_attribute): Make null values
5306 of :foreground and :background equivalent to unspecified (20.x
5307 compatibility).
5308
5309 2008-10-15 Eli Zaretskii <eliz@gnu.org>
5310
5311 * buffer.c (syms_of_buffer): Doc fix.
5312
5313 2008-10-14 Kenichi Handa <handa@m17n.org>
5314
5315 * font.c (font_clear_prop): When clearing font width, clear the
5316 average width field too.
5317
5318 2008-10-12 Andreas Schwab <schwab@suse.de>
5319
5320 * ftfont.c (ftfont_shape_by_flt): Make static.
5321 * ftfont.h (ftfont_shape_by_flt): Don't declare.
5322
5323 * font.c: Don't include <m17n-flt.h>.
5324
5325 2008-10-10 Eli Zaretskii <eliz@gnu.org>
5326
5327 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Decrease to 10000.
5328
5329 2008-10-09 Eli Zaretskii <eliz@gnu.org>
5330
5331 * frame.c (make_terminal_frame) [MSDOS]: Remove unused #ifdef'ed
5332 away code.
5333
5334 2008-10-09 Chong Yidong <cyd@stupidchicken.com>
5335
5336 * dispnew.c (update_text_area): Avoid looping due to large glyph
5337 overhangs (bug#1070).
5338
5339 2008-10-09 Kenichi Handa <handa@m17n.org>
5340
5341 * fontset.c (face_for_char): If face->fontset is negative, just
5342 return ascii_face.
5343
5344 * font.c (font_delete_unmatched): Fix previous change.
5345 Don't reject an entity if DPI and AVGWIDTH of an entity are 0.
5346
5347 2008-10-09 Martin Rudalics <rudalics@gmx.at>
5348
5349 * frame.c (Fraise_frame): On text-only terminals select frame in
5350 order to make it visible. (Bug#1061)
5351
5352 2008-10-08 Chong Yidong <cyd@stupidchicken.com>
5353
5354 * fontset.c (fontset_find_font): Check frame validity.
5355
5356 2008-10-07 Chong Yidong <cyd@stupidchicken.com>
5357
5358 * gtkutil.c (xg_display_open): Reset default display if none exists.
5359 (xg_display_close): Allow Emacs to close all displays (bug#985).
5360
5361 2008-10-06 Andreas Schwab <schwab@suse.de>
5362
5363 * sysdep.c (sys_signal): Always set SA_RESTART when noninteractively.
5364
5365 2008-10-06 Chong Yidong <cyd@stupidchicken.com>
5366
5367 * emacs.c (Vbefore_init_time, Vafter_init_time): Move from startup.el.
5368
5369 * lisp.h (Vbefore_init_time, Vafter_init_time): Declare.
5370
5371 * gtkutil.c (x_wm_set_size_hint): Return immediately if called
5372 during initialization.
5373
5374 2008-10-04 Eli Zaretskii <eliz@gnu.org>
5375
5376 * xdisp.c (redisplay_internal): If frame switched, redisplay the
5377 whole thing on MSDOS frames as well as on a TTY.
5378
5379 * dispnew.c (update_frame): Flush termscript for MSDOS frames as
5380 well as for TTY.
5381 (Fopen_termscript): Allow opening a termscript on MSDOS frames as
5382 well as on a TTY.
5383
5384 * sysdep.c (init_sys_modes): Set FRAME_GARBAGED_P for MSDOS frames
5385 as well as for TTY.
5386
5387 * systime.h (EMACS_TIME_CMP): Cast EMACS_SECS values to `long'.
5388
5389 * dispnew.c (change_frame_size_1): Set FrameRows and FrameCols for
5390 MSDOS frames as well.
5391
5392 2008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
5393
5394 * image.c (x_clear_image_1): Under NS, call ns_free_indexed_color with
5395 correct arguments.
5396 * menu.c (find_and_return_menu_selection): Add cast.
5397
5398 2008-10-03 Glenn Morris <rgm@gnu.org>
5399
5400 * emacs.c (USAGE1): Add --daemon.
5401
5402 2008-10-02 Eli Zaretskii <eliz@gnu.org>
5403
5404 * process.c (procfs_system_process_attributes): Multiply `pcpu' by
5405 100, so it's in percents as advertised.
5406
5407 2008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
5408
5409 * nsterm.h (ns_cursor_types, ns_output.desired_cursor_color)
5410 (ns_output.current_cursor, ns_output.desired_cursor)
5411 (ns_output.last_inactive, FRAME_CURSOR, FRAME_NEW_CURSOR)
5412 (FRAME_NEW_CURSOR_COLOR): Remove.
5413
5414 * nsfns.m (ns_set_cursor_color): Use FRAME_CURSOR_COLOR.
5415 (ns_lisp_to_cursor_type, ns_cursor_type_to_lisp): Use core Emacs
5416 enumeration (HOLLOW_BOX_CURSOR, etc.).
5417
5418 * nsterm.m (ns_frame_rehighlight): Remove commented code.
5419 (draw_window_cursor): Simplify code.
5420 (EmacsView-windowDidBecomeKey:,-windowDidResignKey:):
5421 Don't change cursor type. In latter, call rehighlight instead of doing
5422 updates manually.
5423 (EmacsPrefsController-setPanelFromValues,-setValuesFromPanel):
5424 Use core Emacs cursor types.
5425
5426 * xdisp.c (draw_glyphs): Don't call notice_overwritten_cursor under NS.
5427
5428 2008-10-02 Martin Rudalics <rudalics@gmx.at>
5429
5430 * process.c (Faccept_process_output): Fix doc-string.
5431
5432 2008-10-02 Dan Nicolaescu <dann@ics.uci.edu>
5433
5434 * gmalloc.c (__sbrk): Also define for uClibc.
5435
5436 * s/gnu-linux.h (GNU_LIBRARY_PENDING_OUTPUT_COUNT): Add definition
5437 for uClibc.
5438
5439 2008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
5440
5441 * nsfont.m (nsfont_spec_to_traits): Use UnXX masks only for non-normal
5442 styles.
5443 (nsfont_open): Reenable the cache.
5444
5445 2008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
5446
5447 * font.c (font_matching_entity): Reflect ATTRS in font selection.
5448 (font_find_for_lface) [HAVE_NS]: Don't ignore case.
5449
5450 2008-09-30 Stefan Monnier <monnier@iro.umontreal.ca>
5451
5452 * dispnew.c (Fsend_string_to_terminal): Don't try to send a string to
5453 a suspended terminal.
5454
5455 2008-09-30 Michael Albinus <michael.albinus@gmx.de>
5456
5457 * dbusbind.c (xd_signature): Use strcat instead of sprintf.
5458
5459 2008-09-30 Eli Zaretskii <eliz@gnu.org>
5460
5461 * Makefile.in (MSDOS_SUPPORT): Remove ccl.elc and codepage.elc.
5462
5463 2008-09-30 Chong Yidong <cyd@stupidchicken.com>
5464
5465 * xdisp.c (move_it_to): Don't advance the iterator if the last tab
5466 in a continued line coincides with a line beginning.
5467
5468 2008-09-29 Adrian Robert <Adrian.B.Robert@gmail.com>
5469
5470 * nsfont.m (nsfont_trait_distance): Fix bug.
5471 (nsfont_list): Return a list rather than a vector (syncs with Handa
5472 changes of 2008-05-14).
5473 (nsfont_open): Improve logging.
5474
5475 2008-09-29 Andreas Schwab <schwab@suse.de>
5476
5477 * keyboard.c (syms_of_keyboard) <input-decode-map>: Doc fix.
5478
5479 2008-09-28 Martin Rudalics <rudalics@gmx.at>
5480
5481 * character.c (Fchar_resolve_modifiers): Rewrite Elisp function
5482 name as char-resolve-modifiers.
5483 Reported by: Markus Triska <markus.triska@gmx.at>
5484
5485 2008-09-28 Dan Nicolaescu <dann@ics.uci.edu>
5486
5487 * dispnew.c (init_display): Return earlier when running as a daemon.
5488
5489 2008-09-27 Adrian Robert <Adrian.B.Robert@gmail.com>
5490
5491 * nsfont.m (nsfont_draw): Fix up composition rendering (cmp_from, ...).
5492
5493 2008-09-27 Eli Zaretskii <eliz@gnu.org>
5494
5495 * composite.c (Fcomposition_get_gstring)
5496 (Fcompose_region_internal, Fcompose_string_internal)
5497 (Ffind_composition_internal): Doc fix.
5498 (syms_of_composite) <compose-chars-after-function>: Doc fix.
5499 (syms_of_composite) <auto-composition-function>: Doc fix.
5500 (syms_of_composite) <composition-function-table>: Doc fix.
5501
5502 2008-09-25 Chong Yidong <cyd@stupidchicken.com>
5503
5504 * search.c (wordify): New argument for lax word-ends.
5505 (Fword_search_forward_lax, Fword_search_backward_lax): New funs.
5506
5507 2008-09-24 Dan Nicolaescu <dann@ics.uci.edu>
5508
5509 * lisp.h (is_daemon): Declare.
5510 * dispnew.c (init_display): Do not try to initialize the terminal
5511 when running as a daemon.
5512
5513 2008-09-22 Chong Yidong <cyd@stupidchicken.com>
5514
5515 * nsfns.m (compute_tip_xy): Use x_display_pixel_width and
5516 x_display_pixel_height.
5517
5518 2008-09-22 Martin Rudalics <rudalics@gmx.at>
5519
5520 * undo.c (record_point): Don't call Fundo_boundary for first
5521 change. (Bug#731)
5522
5523 2008-09-22 Juanma Barranquero <lekktu@gmail.com>
5524
5525 * emacs.c (Fdaemonp): Doc fix.
5526
5527 2008-09-22 Dan Nicolaescu <dann@ics.uci.edu>
5528
5529 * emacs.c (main): Place #ifdef in the proper place.
5530
5531 2008-09-21 Dan Nicolaescu <dann@ics.uci.edu>
5532
5533 * emacs.c (standard_args): Add --daemon.
5534 (main): Disconnect from the terminal when --daemon is passed.
5535 (is_daemon): New variable.
5536 (Fdaemonp): New function.
5537 (syms_of_emacs): Defsubr it.
5538
5539 2008-09-20 Chong Yidong <cyd@stupidchicken.com>
5540
5541 * xdisp.c (get_next_display_element): Handle string display
5542 correctly when checking for the end of a box run.
5543
5544 2008-09-20 Glenn Morris <rgm@gnu.org>
5545
5546 * fileio.c (Qdelete_by_moving_to_trash): New Lisp_Object.
5547 (syms_of_fileio): Add Qdelete_by_moving_to_trash.
5548 (Frename_file): Avoid copying to trash if a rename involves
5549 a delete. (Bug#964).
5550
5551 2008-09-20 Eli Zaretskii <eliz@gnu.org>
5552
5553 * keyboard.c (Fset_quit_char, Fset_input_meta_mode)
5554 (Fset_output_flow_control, Fcurrent_input_mode): Support MSDOS
5555 frames as well as termcap frames.
5556 (handle_interrupt): Remove "#ifndef MSDOS" around the call to
5557 get_named_tty.
5558
5559 2008-09-19 Eli Zaretskii <eliz@gnu.org>
5560
5561 * process.c (procfs_system_process_attributes): Fix cmdline in
5562 case /proc/PID/cmdline is empty.
5563
5564 * xterm.c (x_wm_set_size_hint): Use x_display_pixel_width and
5565 x_display_pixel_height.
5566
5567 2008-09-19 Juanma Barranquero <lekktu@gmail.com>
5568
5569 * frame.c (x_fullscreen_adjust): Declare var as Display_Info.
5570
5571 * w32fns.c (Fx_display_pixel_width, Fx_display_pixel_height)
5572 (compute_tip_xy): Use x_display_pixel_width, x_display_pixel_height.
5573
5574 2008-09-19 Dan Nicolaescu <dann@ics.uci.edu>
5575
5576 * dispextern.h (struct it): Move line_wrap away from the middle of
5577 bitfields. Move voffset in struct iterator_stack_entry after the
5578 bitfields. Move tab_width near after another short.
5579
5580 2008-09-18 Dan Nicolaescu <dann@ics.uci.edu>
5581
5582 * frame.h (struct frame): Move alpha from the middle of bitfields.
5583
5584 * window.h (struct window): Move frozen_window_start_p after the
5585 rest of the bitfields to reduce padding.
5586
5587 2008-09-18 Chong Yidong <cyd@stupidchicken.com>
5588
5589 * xterm.h (x_display_info): Remove `height' and `width' members.
5590
5591 * nsterm.h (ns_display_info): Remove `height' and `width' members.
5592
5593 * w32term.h (w32_display_info): Remove `height', `width',
5594 `height_in', and `width_in' members.
5595
5596 * xterm.c (x_display_pixel_height, x_display_pixel_width):
5597 New functions.
5598 (x_calc_absolute_position): Use them.
5599 (x_term_init): Omit removed `height' and `width' members.
5600
5601 * w32term.c (x_display_pixel_height, x_display_pixel_width):
5602 New functions.
5603 (w32_read_socket, x_calc_absolute_position): Use them.
5604 (w32_initialize_display_info, w32_term_init): Omit removed members
5605 of w32_display_info.
5606
5607 * nsterm.m (x_display_pixel_height, x_display_pixel_width):
5608 New functions.
5609 (ns_initialize_display_info): Omit removed members of ns_display_info.
5610
5611 * xterm.c (x_display_pixel_height, x_display_pixel_width):
5612 New functions.
5613 (x_calc_absolute_position): Use them.
5614 (x_term_init): Omit removed `height' and `width' members.
5615
5616 * xfns.c (Fx_display_pixel_width, Fx_display_pixel_height)
5617 (compute_tip_xy):
5618 * frame.c (x_fullscreen_adjust):
5619 * xmenu.c (menu_position_func): Use x_display_pixel_height and
5620 x_display_pixel_width.
5621
5622 2008-09-18 Kenichi Handa <handa@m17n.org>
5623
5624 * composite.c (fill_gstring_header): Don't check FROM and TO here.
5625 (composition_compute_stop_pos): Fix handling of static composition.
5626 (Fcomposition_get_gstring): Check FROM and TO at first.
5627
5628 2008-09-17 Stefan Monnier <monnier@iro.umontreal.ca>
5629
5630 * composite.c (Fcomposition_get_gstring): Yet another int/Lisp_Object
5631 mixup (YAILOM).
5632
5633 2008-09-17 Chong Yidong <cyd@stupidchicken.com>
5634
5635 * indent.c (Fvertical_motion): Use position reported by iterator
5636 instead of PT for determining screen motion (bug#943).
5637
5638 2008-09-17 Romain Francoise <romain@orebokech.com>
5639
5640 * composite.c (composition_adjust_point): Fix int/EMACS_INT mixup.
5641
5642 2008-09-17 Kenichi Handa <handa@m17n.org>
5643
5644 * ftfont.c (ftfont_shape_by_flt): Downcase family name.
5645
5646 * composite.c (Fcomposition_get_gstring): Make bigger gstring_work
5647 if necessary.
5648
5649 2008-09-16 Kenichi Handa <handa@m17n.org>
5650
5651 * coding.c (make_conversion_work_buffer): Avoid calling
5652 Fget_buffer_create if it is not necessary.
5653
5654 2008-09-15 Martin Rudalics <rudalics@gmx.at>
5655
5656 * window.c (Fselect_window): Don't update window_select_count and
5657 use_time when norecord is not nil.
5658
5659 2008-09-14 Kenichi Handa <handa@m17n.org>
5660
5661 * fileio.c (Finsert_file_contents): Delete incorrect decrement of
5662 specpdl_ptr.
5663
5664 2008-09-12 Kenichi Handa <handa@m17n.org>
5665
5666 * indent.c (scan_for_column): Don't handle automatic composition
5667 if the current buffer is not associated with a window.
5668
5669 * composite.c (composition_reseat_it): If the current buffer is
5670 not associated with a window, ignore the automatic composition.
5671 (find_automatic_composition): Likewise.
5672
5673 2008-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
5674
5675 * term.c (close_gpm): New fun extracted from Fgpm_mouse_stop.
5676 (Fgpm_mouse_stop): Use it.
5677 * termhooks.h (close_gpm): Declare.
5678 * keyboard.c (tty_read_avail_input): Forcefully close the gpm
5679 connection if Gpm_GetEvent fails.
5680
5681 * window.c (set_window_buffer): Always preserve current-buffer.
5682
5683 2008-09-12 Glenn Morris <rgm@gnu.org>
5684
5685 * charset.c (init_charset): Warn if etc/charsets not found. (Bug#909)
5686
5687 2008-09-11 Glenn Morris <rgm@gnu.org>
5688
5689 * charset.c (charset-map-path): Doc fix.
5690
5691 2008-09-10 Kenichi Handa <handa@m17n.org>
5692
5693 * xdisp.c (handle_composition_prop): Set it->cmp_it.ch to -1.
5694
5695 * font.c (Ffont_shape_gstring): Make glyphs of non-nil adjustment
5696 compose a grapheme cluster with the preceding base glyph.
5697
5698 * composite.c (composition_compute_stop_pos): Fix previous change.
5699 Reset cmp_it->id to -1 at first.
5700
5701 2008-09-10 Glenn Morris <rgm@gnu.org>
5702
5703 * Makefile.in (character.o, chartab.o): Fix config.h typo.
5704
5705 2008-09-09 Chong Yidong <cyd@stupidchicken.com>
5706
5707 * keyboard.c (read_key_sequence): Reapply translation maps when
5708 switching keyboards.
5709
5710 2008-09-09 Kenichi Handa <handa@m17n.org>
5711
5712 * ftfont.c (ftfont_shape_by_flt): Use "combining" FLT for ASCII
5713 characters.
5714
5715 * composite.c (FORWARD_CHAR): Fix calculation
5716 of (POSITION).pos_byte.
5717 (composition_compute_stop_pos): Limit the search of composition to
5718 at most 500 characters ahead. If we reach the limit or find a
5719 newline, set cmp_it->ch to -2 and return 0.
5720 (composition_reseat_it): Handle the case that cmp_it->ch is -2.
5721
5722 2008-09-08 Kenichi Handa <handa@m17n.org>
5723
5724 * indent.c (Fvertical_motion): Be sure to set
5725 it_overshoot_expected if it.cmp_it.id is non-negative.
5726
5727 2008-09-07 Andreas Schwab <schwab@suse.de>
5728
5729 * callproc.c (Fcall_process): Don't hold references to string data
5730 across garbage collection. Move initialisation of new_argv down
5731 to avoid compiler bug.
5732
5733 2008-09-07 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
5734
5735 * process.c (Fsystem_process_attributes): Doc fix.
5736
5737 2008-09-07 Chong Yidong <cyd@stupidchicken.com>
5738
5739 * callproc.c (Fcall_process): Canonicalize current directory name.
5740
5741 * xdisp.c (move_it_to): When moving by vpos, ensure that the
5742 iterator advances to the next line if the current line ends in a
5743 continued tab.
5744
5745 2008-09-07 Teodor Zlatanov <tzz@lifelogs.com>
5746
5747 * nsfont.m (nsfont_draw): Fix the references to missing gidx data
5748 member to point to cmp_from.
5749
5750 * xdisp.c: Doc fix for references to gidx data member.
5751
5752 2008-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
5753
5754 * buffer.c (Fbuffer_swap_text): Reset window->point markers.
5755
5756 2008-09-07 Kenichi Handa <handa@m17n.org>
5757
5758 * composite.c (FORWARD_CHAR): Check STOP after
5759 incrementing (POSITION).pos.
5760
5761 2008-09-06 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
5762
5763 * process.c (Fsystem_process_attributes): Doc fix.
5764
5765 2008-09-06 Chong Yidong <cyd@stupidchicken.com>
5766
5767 * keyboard.c (Ftop_level): Doc fix.
5768
5769 2008-09-06 Eli Zaretskii <eliz@gnu.org>
5770
5771 * xmenu.c (xmenu_show) [!HAVE_X_WINDOWS]: If frame has a
5772 minibuffer, don't let lower part of menu invade the echo area.
5773
5774 * msdos.c (IT_menu_display): Use STRING_CHAR_ADVANCE instead of a
5775 "char *q" to access menu text and advance through it. Revert the
5776 change that displayed ">" instead of ASCII character 0x10.
5777
5778 2008-09-05 Eli Zaretskii <eliz@gnu.org>
5779
5780 * menu.c (single_menu_item) [!HAVE_BOXES]: Enable emulation of
5781 toggle boxes and radio buttons on MS-DOS as well.
5782
5783 2008-09-05 Kenichi Handa <handa@m17n.org>
5784
5785 * composite.c (autocmp_chars): Check lookback count.
5786 (composition_compute_stop_pos): Set cmp_it->lookback.
5787 (composition_reseat_it): Check lookback count.
5788 (struct position_record): New struct.
5789 (FORWARD_CHAR, BACKWARD_CHAR, CHAR_COMPOSABLE_P): New macros.
5790 (find_automatic_composition): New function.
5791 (composition_adjust_point): Use find_automatic_composition.
5792
5793 * dispextern.h (struct composition_it): New member lookback.
5794
5795 2008-09-02 Chong Yidong <cyd@stupidchicken.com>
5796
5797 * indent.c (Fvertical_motion): Don't call move_it_by_lines again
5798 if moving by a single line.
5799
5800 2008-09-02 Andreas Schwab <schwab@suse.de>
5801
5802 * xterm.c (x_delete_display): Fix merge error.
5803
5804 * fileio.c (Fexpand_file_name): Remove unused variables.
5805
5806 2008-09-02 Eli Zaretskii <eliz@gnu.org>
5807
5808 * fileio.c (Fexpand_file_name): Copy argument `name' into local
5809 storage on all platforms, not just on DOS_NT.
5810
5811 2008-09-02 Jason Rumney <jasonr@gnu.org>
5812
5813 * w32menu.c (Fx_popup_menu, Fx_popup_dialog, w32_menu_show):
5814 Ensure mouse is not grabbed after menu is finished.
5815
5816 2008-09-01 Chong Yidong <cyd@stupidchicken.com>
5817
5818 * xfaces.c (Finternal_set_alternative_font_family_alist)
5819 (Finternal_set_alternative_font_registry_alist): Properly copy
5820 entire alist structure.
5821
5822 2008-09-01 Kenichi Handa <handa@m17n.org>
5823
5824 * ftfont.c (ftfont_spec_pattern): Don't create a charset if the
5825 representative chars of the script is a vector.
5826 (ftfont_list): Handle the case where the representative chars of
5827 the script is a vector.
5828
5829 * character.c (syms_of_character): Docstring of
5830 script-representative-chars fixed.
5831
5832 2008-08-31 Eli Zaretskii <eliz@gnu.org>
5833
5834 * msdos.c (BUILD_CHAR_GLYPH): New macro.
5835 (IT_menu_display): Use it instead of SET_CHAR_GLYPH to construct
5836 the menu. Allocate larger buffer for `text', to account for
5837 possible ^C characters.
5838
5839 2008-08-31 Martin Rudalics <rudalics@gmx.at>
5840
5841 * xdisp.c (prepare_menu_bars): Don't call
5842 Vwindow_size_change_functions with arg Qt.
5843
5844 2008-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
5845
5846 * font.h (font_range):
5847 * fileio.c (report_file_error):
5848 * composite.c (composition_update_it): Yet another int/Lisp_Object
5849 mixup (YAILOM).
5850
5851 2008-08-30 Glenn Morris <rgm@gnu.org>
5852
5853 * data.c (Fmake_variable_frame_local): Doc fix.
5854
5855 * frame.c (Fmodify_frame_parameters): Doc fix.
5856
5857 2008-08-30 Eli Zaretskii <eliz@gnu.org>
5858
5859 * w32.c (init_user_info): Allocate buf[] with xmalloc using the size
5860 needed by GetTokenInformation.
5861 (w32_system_process_attributes): Check return values of all system
5862 APIs.
5863
5864 * msdos.c (IT_display_cursor): Write "CURSOR ON/OFF" to termscript
5865 only when the state changes.
5866 (IT_update_begin, IT_update_end): Add termscript trace.
5867
5868 * w16select.c (Fw16_set_clipboard_data): Don't encode text if
5869 clipboard is unavailable. Set dst to NULL if it doesn't point to
5870 malloc'ed data.
5871 (Fw16_get_clipboard_data): Initialize htext to NULL, to avoid
5872 passing random values to xfree.
5873
5874 * dispnew.c (init_display): Set `tty's association in frame's
5875 parameters alist to the name of the terminal device, if that is known.
5876
5877 2008-08-29 Jason Rumney <jasonr@gnu.org>
5878
5879 * w32uniscribe.c (uniscribe_check_otf): Don't fallback on DFLT script.
5880
5881 2008-08-29 Eli Zaretskii <eliz@gnu.org>
5882
5883 * composite.c (fill_gstring_body): Avoid compiler warnings.
5884
5885 * font.c (font_fill_lglyph_metrics): Use EMACS_INT in
5886 LGLYPH_SET_CODE to avoid compiler warnings.
5887
5888 * makefile.w32-in ($(BLD)/w32uniscribe.$(O)): Depend on composite.h.
5889
5890 * composite.h (LGLYPH_SET_CODE): Cast `val' to EMACS_INT.
5891
5892 * w32uniscribe.c (uniscribe_shape): Shut up compiler warning in
5893 LGLYPH_SET_CODE.
5894
5895 2008-08-29 Kenichi Handa <handa@m17n.org>
5896
5897 * fileio.c (report_file_error): Don't downcase the first character
5898 of errstring if it is still unibyte.
5899
5900 2008-08-29 Kenichi Handa <handa@m17n.org>
5901
5902 These changes are to re-implement the automatic composition so
5903 that it doesn't use text properties.
5904
5905 * Makefile.in (ftfont.o): Depend on composite.h.
5906 (composite.o): Depend dispextern.h, font.h, frame, and window.h.
5907
5908 * character.h (Vunicode_category_table): Extern it.
5909
5910 * character.c (Vunicode_category_table): New variable.
5911 (syms_of_character): DEFVAR_LISP Vunicode_category_table.
5912
5913 * chartab.c (optimize_sub_char_table): Perform more greedy
5914 optimization.
5915
5916 * composite.h (enum composition_method):
5917 Delete COMPOSITION_WITH_GLYPH_STRING.
5918 (COMPOSITION_METHOD): Don't check COMPOSITION_WITH_GLYPH_STRING.
5919 (Vcomposition_function_table): Extern it.
5920 (LGSTRING_XXX, LGLYPH_XXX): Macros moved from font.h.
5921 (composition_gstring_put_cache, composition_gstring_from_id)
5922 (composition_gstring_p, composition_gstring_width)
5923 (composition_compute_stop_pos, composition_reseat_it)
5924 (composition_update_it, composition_adjust_point): Extern them.
5925 (Fcomposition_get_gstring): EXFUN it.
5926
5927 * composite.c: Include window.h, frame.h, dispextern.h, font.h.
5928 (Vcomposition_function_table)
5929 (get_composition_id): Don't handle COMPOSITION_WITH_GLYPH_STRING.
5930 (gstring_hash_table, gstring_work, gstring_work_headers):
5931 New variables.
5932 (gstring_lookup_cache, composition_gstring_put_cache)
5933 (composition_gstring_from_id, composition_gstring_p)
5934 (composition_gstring_width, fill_gstring_header)
5935 (fill_gstring_body, autocmp_chars, composition_compute_stop_pos)
5936 (composition_reseat_it, composition_update_it)
5937 (composition_adjust_point, Fcomposition_get_gstring): New functions.
5938 (syms_of_composite): Initialize gstring_hash_table, gstrint_work,
5939 and gstring_work_headers. DEFVAR_LISP composition-function-table.
5940 Defsubr compostion_get_gstring.
5941
5942 * dispextern.h (struct glyph): New union u.cmp. Delete the member
5943 cmp_id.
5944 (struct glyph_string): Delete the member gidx. New members
5945 cmp_id, cmp_from, and cmp_to.
5946 (enum it_method): Delete GET_FROM_COMPOSITION.
5947 (struct composition_it): New struct.
5948 (struct it): New member cmp_it, and iterator_stack_entry.cmp_it.
5949 Delete c, len, cmp_id, cmp_len in u.comp.
5950
5951 * font.h (enum lgstring_indices): Delete it.
5952 (LGSTRING_XXX, LGLYPH_XXX): Move these macros to composite.h.
5953 (enum lglyph_indices): Likewise.
5954 (font_range): Adjust extern.
5955 (font_fill_lglyph_metrics): Extern it.
5956
5957 * font.c (QCf): New variable.
5958 (check_gstring): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
5959 (font_prepare_composition): Delete this function.
5960 (font_range): Type and arguments changed.
5961 (Ffont_make_gstring, Ffont_fill_gstring): Delete them.
5962 (font_fill_lglyph_metrics): New function.
5963 (Ffont_shape_text): Rename to Ffont_shape_gstring and change arguments.
5964 (syms_of_font): DEFSYM QCf. Delete defsubr for
5965 Sfont_make_gstring, Sfont_fill_gstring, Sfont_shape_text.
5966 Defsubr Sfont_shape_gstring.
5967
5968 * fontset.h (font_for_char): Extern it.
5969
5970 * fontset.c (font_for_char): New function.
5971
5972 * ftfont.c: Include composite.h.
5973 (ftfont_resolve_generic_family): Add langset "en" to pattern.
5974 (ftfont_shape_by_flt): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
5975
5976 * indent.c: Include composite.h and dispextern.h.
5977 (check_composition): Delete this function.
5978 (scan_for_column): Handle composition by
5979 composition_compute_stop_pos, composition_reseat_it, and
5980 composition_update_it.
5981 (compute_motion): Likewise.
5982 (Fvertical_motion): Fix checking of composition.
5983
5984 * keyboard.c (adjust_point_for_property): Check composition by
5985 composition_adjust_point.
5986
5987 * nsterm.m (ns_draw_glyph_string): Adjust for the change of
5988 struct glyph_string.
5989
5990 * term.c (encode_terminal_code): Adjust for the change of struct glyph.
5991 (append_composite_glyph): Adjust for the change of struct it and
5992 struct glyph.
5993 (produce_composite_glyph): Likewise.
5994
5995 * w32term.c (x_draw_composite_glyph_string_foreground):
5996 Adjust for the change of struct glyph_string.
5997 (x_draw_glyph_string): Likewise.
5998
5999 * w32uniscribe.c (struct uniscribe_font_info): Include composite.h.
6000 (uniscribe_shape): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
6001
6002 * xdisp.c: Include font.h.
6003 (it_props): Delete the entry for Qauto_composed.
6004 (init_iterator): Initialize it->cmp_it.id to -1.
6005 (compute_stop_pos): Call composition_compute_stop_pos.
6006 (face_before_or_after_it_pos): Adjust for the change of struct it.
6007 (handle_auto_composed_prop): Delete it.
6008 (handle_composition_prop): Handle only static composition.
6009 (next_overlay_string): Remove it->method == GET_FROM_COMPOSITION
6010 from xassert. Initialize it->cmp_it.stop_pos.
6011 (push_it): Adjust for the change of struct it.
6012 (pop_it): Likewise.
6013 (get_next_element): Delete next_element_from_composition.
6014 (CHAR_COMPOSED_P): New macro.
6015 (get_next_display_element): For automatic composition, get a face
6016 from the font in the glyph-string.
6017 (set_iterator_to_next): For GET_FROM_BUFFER and GET_FROM_STRING,
6018 check composition by it->cmp_it.id. Delete GET_FROM_COMPOSITION case.
6019 (next_element_from_string): Check if the character at the current
6020 position is composed by CHAR_COMPOSED_P.
6021 (next_element_from_buffer): Likewise.
6022 (next_element_from_composition): Adjust for the change of struct it.
6023 Update it->cmp_it.
6024 (dump_glyph): Adjust for the change of struct glyph.
6025 (fill_composite_glyph_string): Adjust for the change of struct
6026 it and struct glyph. Don't handle automatic composition here.
6027 (fill_gstring_glyph_string): New function.
6028 (x_get_glyph_overhangs): Handle automatic composition.
6029 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the change of struct glyph.
6030 (BUILD_GSTRING_GLYPH_STRING): New macro.
6031 (BUILD_GLYPH_STRINGS): Call BUILD_GSTRING_GLYPH_STRING for
6032 automatic composition.
6033 (append_composite_glyph): Adjust for the change of struct it and
6034 struct glyph.
6035 (x_produce_glyphs): Adjust for the change of struct it.
6036
6037 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
6038 the change of struct glyph_string.
6039 (x_draw_glyph_string): Likewise.
6040
6041 2008-08-29 Glenn Morris <rgm@gnu.org>
6042
6043 * buffer.c (word-wrap): Doc fix.
6044 * xdisp.c (truncate-partial-width-windows): Doc fix.
6045 Increase default to 50.
6046
6047 2008-08-29 Chong Yidong <cyd@stupidchicken.com>
6048
6049 * xdisp.c (update_tool_bar_unwind): New function.
6050 (update_tool_bar): Temporarily set selected frame before building
6051 tool-bar items.
6052
6053 2008-08-28 Michael Albinus <michael.albinus@gmx.de>
6054
6055 * dbusbind.c (XD_ERROR, XD_DEBUG_MESSAGE): Use strncpy and
6056 snprintf, respectively.
6057 (xd_append_arg): Convert strings with Fstring_make_unibyte.
6058
6059 2008-08-28 Chong Yidong <cyd@stupidchicken.com>
6060
6061 * Makefile.in: Revert (undocumented) 2008-08-20 change adding
6062 LDFLAGS to GNUstep CC invocation.
6063
6064 2008-08-27 Chong Yidong <cyd@stupidchicken.com>
6065
6066 * indent.c (Fvertical_motion): Revert last change. Handle the
6067 general case where we are moving forward, and PT spans multiple
6068 screen lines.
6069
6070 * eval.c (find_handler_clause): Temporarily increase
6071 max-lisp-eval-depth while printing the backtrace buffer, to
6072 guarantee that help-mode code can run.
6073
6074 2008-08-27 Eli Zaretskii <eliz@gnu.org>
6075
6076 * msdos.c (Fmsdos_remember_default_colors): Don't reverse frame
6077 colors under -rv.
6078 (IT_set_frame_parameters): Don't swap foreground and background
6079 colors if `(reverse . t)' is present in the frame properties.
6080 (internal_terminal_init): Call init_frame_faces only for the
6081 initial frame.
6082
6083 2008-08-27 Andreas Schwab <schwab@suse.de>
6084
6085 * dired.c (Ffile_attributes): Avoid compiler warning in bitshift.
6086
6087 2008-08-27 Andreas Schwab <schwab@suse.de>
6088
6089 * search.c (search_buffer): Set char_base to zero only at the end.
6090
6091 2008-08-27 Kenichi Handa <handa@m17n.org>
6092
6093 * fileio.c (report_file_error): Fix handling of multibyte error string.
6094
6095 2008-08-27 Andreas Seltenreich <seltenreich@gmx.de>
6096
6097 * xterm.c (x_term_init): Temporarily hide the partially
6098 initialized terminal while calling vendor-specific-keysyms.
6099
6100 2008-08-26 Eli Zaretskii <eliz@gnu.org>
6101
6102 * msdos.c (internal_terminal_init): Most initializations done only
6103 once, especially initial_screen_colors[] and termscript open.
6104
6105 2008-08-26 Chong Yidong <cyd@stupidchicken.com>
6106
6107 * eval.c (Fcondition_case): Doc fix.
6108
6109 * widgetprv.h (EmacsFramePart): Change font member to the new font
6110 struct.
6111
6112 * widget.c: Include character.h and font.h for XSETFONT.
6113 (setup_frame_gcs): Compute X font id from font struct, just once.
6114
6115 2008-08-26 Eli Zaretskii <eliz@gnu.org>
6116
6117 * term.c (get_named_tty): Fix last change.
6118
6119 2008-08-26 Chong Yidong <cyd@stupidchicken.com>
6120
6121 * indent.c (Fvertical_motion): If moving forward starting from a
6122 multi-line string, move the iterator to the last line of that string.
6123
6124 2008-08-25 Eli Zaretskii <eliz@gnu.org>
6125
6126 * frame.c (do_switch_frame): Mark previously displayed frame as
6127 obscured for FRAME_MSDOS_P frames as well.
6128
6129 2008-08-24 Eli Zaretskii <eliz@gnu.org>
6130
6131 * frame.c (make_terminal_frame): Initialize f->terminal,
6132 f->terminal->reference_count, and scroll bars on MS-DOS as well.
6133 Set the top frame to newly created frame.
6134 (Fmake_terminal_frame): Reuse the_only_display_info.
6135
6136 * vm-limit.c (get_lim_data) [MSDOS]: Use alternative methods of
6137 estimating available memory.
6138
6139 2008-08-23 David Reitter <david.reitter@gmail.com>
6140
6141 * nsterm.m (ns_draw_window_cursor): Don't call
6142 NSDisableScreenUpdates and NSEnableScreenUpdates on
6143 non-NS_IMPL_COCOA systems.
6144
6145 2008-08-23 Andreas Schwab <schwab@suse.de>
6146
6147 * process.c (procfs_system_process_attributes): Fix use of
6148 uninitialized variables.
6149
6150 2008-08-23 Eli Zaretskii <eliz@gnu.org>
6151
6152 * emacs.c (main) [MSDOS]: Call syms_of_xmenu.
6153
6154 * dispnew.c (init_display): Remove MS-DOS specific conditions for
6155 calling tty-set-up-initial-frame-faces.
6156
6157 * xmenu.c (Fx_popup_dialog, Fx_popup_menu, xmenu_show):
6158 Allow MSDOS frames along with X frames.
6159
6160 * termhooks.h (TERMINAL_ACTIVE_P): Handle output_msdos_raw in
6161 addition to output_termcap.
6162
6163 * xdisp.c (redisplay_internal) [MSDOS]: Don't call set_tty_color_mode.
6164
6165 * termchar.h (FRAME_TTY): Support output_msdos_raw.
6166 (struct tty_display_info) [MSDOS]: Add fields related to mouse
6167 highlight.
6168
6169 * process.c [!subprocesses]: Define QCname.
6170 (syms_of_process): Intern and staticpro it.
6171
6172 * w16select.c (Fw16_set_clipboard_data, Fw16_get_clipboard_data):
6173 Adjust for changes in encoding/decoding routines.
6174 Use encode_coding_object and decode_coding_object instead of
6175 encode_coding and decode_coding.
6176
6177 * sysdep.c (init_sys_modes): Call dos_ttraw with tty_out as argument.
6178
6179 * dosfns.c: Include frame.h before termhooks.h.
6180 (dos_cleanup): Use CURTTY ()->termscript instead of a global
6181 variable termscript.
6182
6183 * s/msdos.h (USER_FULL_NAME): Define.
6184 (SYSTEM_PURESIZE_EXTRA): Bump up to 100K.
6185
6186 * editfns.c (USER_FULL_NAME): Define to pw->pw_gecos if undefined.
6187 (Fuser_full_name): Use USER_FULL_NAME instead of a literal
6188 pw->pw_gecos.
6189
6190 * keyboard.c (handle_interrupt) [MSDOS]: Call cursor_to with
6191 SELECTED_FRAME as additional (1st) argument.
6192 (tty_read_avail_input): Handle output_msdos_raw in
6193 addition to output_termcap.
6194
6195 * msdos.c: Include frame.h before termhooks.h.
6196 (mouse_on, mouse_off, mouse_moveto, mouse_init)
6197 (msdos_set_cursor_shape, IT_set_face, IT_write_glyphs)
6198 (show_mouse_face, IT_clear_end_of_line, IT_clear_screen)
6199 (IT_clear_to_end, IT_cursor_to, IT_display_cursor, IT_cmgoto)
6200 (IT_set_terminal_modes, IT_reset_terminal_modes)
6201 (IT_set_frame_parameters): Use tty->termscript instead of a global
6202 variable termscript.
6203 (IT_write_glyphs): Use tty->terminal->terminal_coding instead of a
6204 global variable terminal_coding. Don't refer to
6205 Vnonascii_translation_table.
6206 (internal_terminal_init): Set Vwindow_system in current_kboard.
6207 Don't use TTY_CHAR_INS_DEL_OK. Set Vinitial_window_system.
6208 Announce date and time of session start, if termscript is open.
6209 Don't zero out the_only_display_info (it is done in
6210 term.c:init_tty). Open termscript only of not already open.
6211 Log "SCREEN SAVED" here, instead of IT_set_terminal_modes. Init mouse
6212 here instead of dos_ttraw. Don't initialize display if this is an
6213 initial tty. Don't set FRAME_FONT.
6214 (Vwindow_system_version): Bump to 23.
6215 (dos_ttraw): Accept a TTY argument; all callers fixed. If mouse
6216 is available, set up mouse_position_hook.
6217 (dos_ttraw, IT_set_terminal_modes): If called with initial
6218 terminal, do nothing.
6219 (IT_set_frame_parameters): Handle the Qtty_type frame
6220 parameter by calling internal_terminal_init.
6221 (dos_set_window_size, show_mouse_face)
6222 (clear_mouse_face, IT_note_mode_line_highlight)
6223 (IT_note_mouse_highlight, IT_update_begin, IT_frame_up_to_date)
6224 (dos_rawgetc): Use tty_display_info instead of x_display_info.
6225 (initialize_msdos_display): New function.
6226 (IT_cursor_to, IT_clear_to_end, IT_clear_screen)
6227 (IT_clear_end_of_line, IT_insert_glyphs, IT_write_glyphs)
6228 (IT_delete_glyphs, IT_ring_bell, IT_reset_terminal_modes)
6229 (IT_set_terminal_modes, IT_set_terminal_window, IT_update_begin):
6230 Accept additional argument: a pointer to a frame. Update all callers.
6231 (request_sigio, unrequest_sigio): Don't define, now defined on
6232 sysdep.c.
6233 (IT_write_glyphs): Rewrite to use encode_terminal_code.
6234
6235 * term.c [MSDOS]: Include msdos.h.
6236 (init_tty) [MSDOS]: Reuse most of WINDOWSNT branch. Change cpp
6237 conditional to DOS_NT. Allow only one call to this function in a
6238 session. Don't allocate a new struct tty_display_info; instead,
6239 reuse the_only_display_info. Call get_tty_size to get screen
6240 dimensions. Call init_baud_rate to set bad_rate.
6241 (dissociate_if_controlling_tty) [MSDOS]: Ifdef away function body.
6242 (Fsuspend_tty) [MSDOS]: Don't close input and output.
6243 (Fresume_tty) [MSDOS]: Don't reopen the TTY; instead, use stdin/stdout.
6244 (get_tty_terminal, get_named_tty, Ftty_type)
6245 (Fcontrolling_tty_p): Handle output_msdos_raw in addition to
6246 output_termcap.
6247 (Fresume_tty, Fsuspend_tty, init_tty, delete_tty):
6248 Call add_keyboard_wait_descriptor and delete_keyboard_wait_descriptor
6249 only when subprocesses are supported.
6250
6251 * frame.c (make_terminal_frame) [MSDOS]: Adjust initialization of
6252 f->output_data.x.
6253 (Fmake_terminal_frame) [MSDOS]: Don't allow creation of new
6254 terminal devices.
6255
6256 * msdos.h: Remove definition of struct x_display_info and struct
6257 x_output.
6258 (FRAME_FONT): Use output_data.tty.
6259 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL): Don't define.
6260 (struct x_display_info): Rename from display_info. Update all users in
6261 msdos.c.
6262 (struct x_output): Remove background_pixel and foreground_pixel.
6263 (the_only_display_info): Rename from the_only_x_display.
6264 (dos_ttraw): Update prototype.
6265
6266 * Makefile.in (MSDOS_OBJ): Add xmenu.o.
6267 (SOME_MACHINE_LISP): Add ../lisp/term/pc-win.elc.
6268
6269 2008-08-23 Jason Rumney <jasonr@gnu.org>
6270
6271 * image.c (enum tiff_keyword_index, tiff_format): Add :index keyword.
6272 (fn_TIFFSetDirectory): New library function used.
6273 (init_tiff_functions) [HAVE_NTGUI]: Initialize it.
6274 (tiff_load): Use :index to select among multiple images. Set count
6275 property when multiple images exist.
6276 (gif_format): Use :index, not :image.
6277
6278 2008-08-23 Chong Yidong <cyd@stupidchicken.com>
6279
6280 * xdisp.c (try_scrolling): Check INT_MAX instead of
6281 MOST_POSITIVE_FIXNUM for maximum integer value. Include limits.h
6282 to obtain INT_MAX.
6283
6284 2008-08-21 İsmail Dönmez <ismail@namtrac.org> (tiny change)
6285
6286 * xterm.c (x_delete_display): Don't call XrmDestroyDatabase on GTK+.
6287
6288 2008-08-21 Christian Faulhammer <opfer@gentoo.org> (tiny change)
6289
6290 * Makefile.in (temacs${EXEEXT}): On GNUstep, link to appropriate
6291 GNUstep library location.
6292
6293 2008-08-21 Chong Yidong <cyd@stupidchicken.com>
6294
6295 * xfaces.c (x_update_menu_appearance): Check validity of menu font
6296 before using it.
6297
6298 * puresize.h (BASE_PURESIZE): Increase to 1250000.
6299
6300 2008-08-20 Adrian Robert <Adrian.B.Robert@gmail.com>
6301
6302 * nsfns.m (ns-read-file-name): Add casts to avoid warning.
6303 (ns-convert-utf8-nfd-to-nfc): Warn if cannot execute correctly.
6304 * nsfont.m (nsfont_draw): Compare indexed colors to 0, not nil.
6305 * nsterm.h (EmacsView-unlockFocusNeedsFlush:): Add declaration.
6306 (EmacsApp-cursor_blink_handler): Remove declaration.
6307 * nsterm.m (ns_draw_glyph_string): Update first conditional body to
6308 match 01 Feb 2008 changes in xterm.c.
6309 (ns_read_socket): Add cast to avoid warning.
6310 (EmacsApp-application:openFiles:): Don't call replyToOpenOrPrint: on
6311 GNUstep.
6312
6313 2008-08-20 Chong Yidong <cyd@stupidchicken.com>
6314
6315 * xselect.c (x_get_foreign_selection): Return nil if desired
6316 selection could not be obtained, instead of signalling an error.
6317
6318 2008-08-20 David Reitter <david.reitter@gmail.com>
6319
6320 * nsfns.m (ns_lisp_to_cursor_type): Replace with generic xfns.c.
6321 * nsterm.m: Remove ns-specific code for cursor blinking.
6322 (ns_draw_window_cursor): Clear cursor properly rather than
6323 redrawing the area. Respect width of bar cursors.
6324 These changes enable the use of generic blink-cursor-mode and
6325 generic cursor types in NS and support smooth cursor movements (do
6326 not blink off after command).
6327 * xdisp.c (get_phys_cursor_geometry): Redraw wider rectangle on
6328 Nextstep, too.
6329
6330 2008-08-19 Kenichi Handa <handa@m17n.org>
6331
6332 * font.c (Vfont_log_deferred): New variable.
6333 (font_add_log): Check Vfont_log_deferred.
6334 (font_deferred_log): New function.
6335
6336 * font.h (font_deferred_log): Extern it.
6337
6338 * fontset.c (reorder_font_vector): Use encoding charset of fonts
6339 for sorting.
6340 (face_for_char): Use deferred log.
6341
6342 2008-08-18 Kenichi Handa <handa@m17n.org>
6343
6344 * fontset.c (face_for_char): Add font log.
6345
6346 * font.c (font_add_log): Add the font properties :script, :lang,
6347 and :otf in the log.
6348
6349 2008-08-17 Chong Yidong <cyd@stupidchicken.com>
6350
6351 * xdisp.c: Remove dead code.
6352 (handle_invisible_prop, next_overlay_string): Defer call to
6353 setup_for_ellipsis.
6354 (handle_stop, set_iterator_to_next): Call setup_for_ellipsis.
6355
6356 2008-08-15 Chong Yidong <cyd@stupidchicken.com>
6357
6358 * xfaces.c (lookup_derived_face): Properly handle possible zero
6359 return value of get_lface_attributes.
6360 (merge_faces): Don't tell lookup_derived_face to signal an error
6361 if face is not found.
6362
6363 * dired.c (Fdirectory_files): Doc fix.
6364
6365 * process.c (make_process): Initialize kill_without_query struct
6366 member.
6367
6368 2008-08-15 Eli Zaretskii <eliz@gnu.org>
6369
6370 * w32.c (w32_system_process_attributes) [_MSC_VER < 1300]:
6371 Alternative calculation of totphys for Visual Studio 6.
6372
6373 * w32fns.c [_MSC_VER && _MSC_VER < 1300]: Declare HMONITOR.
6374
6375 * w32.c (_MEMORY_STATUS_EX, MEMORY_STATUS_EX, LPMEMORY_STATUS_EX):
6376 Rename from _MEMORYSTATUSEX, MEMORYSTATUSEX, LPMEMORYSTATUSEX.
6377 All users changed.
6378 (stat): Only root directory passed to GetDriveType. Allow RAM
6379 disk as well as local fixed disk when w32-get-true-file-attributes
6380 is set to `local'.
6381 (CopySid_Proc, EqualSid_Proc, GetLengthSid_Proc): New typedefs.
6382 (equal_sid, get_length_sid, copy_sid): New wrapper functions.
6383 (w32_cached_id, w32_add_to_cache): New functions.
6384 (get_name_and_id): Look account names in the cache before calling
6385 lookup_account_sid.
6386 (g_b_init_get_length_sid, g_b_init_equal_sid, g_b_init_copy_sid):
6387 New initialization flags.
6388 (globals_of_w32): Initialize them to zero.
6389 (w32_system_process_attributes): Use w32_cached_id and
6390 w32_add_to_cache.
6391
6392 2008-08-14 Lawrence Mitchell <wence@gmx.li>
6393
6394 * lread.c (Fread_char, Fread_char_exclusive): If no character
6395 event is read before timeout is reached, return nil, rather than
6396 converting to a number.
6397
6398 2008-08-14 Chong Yidong <cyd@stupidchicken.com>
6399
6400 * fns.c (use_dialog_box): Doc fix.
6401
6402 * s/darwin.h: Undefine HAVE_RES_INIT, which appears to be harmful
6403 on OS X.
6404
6405 2008-08-13 Chong Yidong <cyd@stupidchicken.com>
6406
6407 * frame.c (Qns_parse_geometry): New var.
6408 (Fx_parse_geometry): For HAVE_NS, call ns-parse-geometry.
6409
6410 2008-08-11 Chong Yidong <cyd@stupidchicken.com>
6411
6412 * xdisp.c (x_produce_glyphs): Handle the case when font has no
6413 space character in calculating tabs.
6414
6415 2008-08-11 Dan Nicolaescu <dann@ics.uci.edu>
6416
6417 * Makefile.in (bootstrap-emacs): Use ln -f in the CANNOT_DUMP case.
6418
6419 2008-08-10 Glenn Morris <rgm@gnu.org>
6420
6421 * process.c (procfs_system_process_attributes): Use EMACS_INTs to
6422 silence gcc "limited range of data type" warnings in some
6423 make_fixnum_or_float calls.
6424
6425 2008-08-09 Eli Zaretskii <eliz@gnu.org>
6426
6427 * w32.c (w32_system_process_attributes): If the process does not
6428 exist, return nil.
6429
6430 * w32.c: Include thelp32.h, psapi.h and coding.h.
6431 (_MEMORYSTATUSEX, _PROCESS_MEMORY_COUNTERS_EX): New struct
6432 declarations.
6433 (CreateToolhelp32Snapshot_Proc, Process32First_Proc)
6434 (Process32Next_Proc): New typedefs.
6435 (g_b_init_create_toolhelp32_snapshot, g_b_init_process32_first)
6436 (g_b_init_process32_next, g_b_init_open_thread_token)
6437 (g_b_init_impersonate_self, g_b_init_revert_to_self)
6438 (g_b_init_get_process_memory_info, g_b_init_global_memory_status)
6439 (g_b_init_get_process_working_set_size)
6440 (g_b_init_global_memory_status_ex): New static variables.
6441 (globals_of_w32): Initialize them.
6442 (create_toolhelp32_snapshot, process32_first, process32_next)
6443 (open_thread_token, impersonate_self, revert_to_self)
6444 (get_process_memory_info, get_process_working_set_size)
6445 (global_memory_status, global_memory_status_ex): New wrapper
6446 functions.
6447 (w32_list_system_processes, w32_system_process_attributes)
6448 (enable_privilege, restore_privilege, ltime, process_times):
6449 New functions.
6450 (convert_time_raw): New function.
6451 (convert_time): Remove conversion of FILETIME into time in 100
6452 nsec units, call convert_time_raw instead.
6453
6454 * process.h (w32_list_system_processes, w32_system_process_attributes):
6455 Add prototypes.
6456 (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess, Qttname)
6457 (Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime, Qcutime)
6458 (Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs, Quser, Qgroup)
6459 (Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime): Add extern declarations.
6460
6461 * process.c (Fsystem_process_attributes): Doc fix.
6462
6463 2008-08-08 Chong Yidong <cyd@stupidchicken.com>
6464
6465 * xdisp.c (move_it_to): When stopping at a charpos, check if that's
6466 a continued multi-char glyph; if so, advance to the actual glyph.
6467
6468 2008-08-07 Dan Nicolaescu <dann@ics.uci.edu>
6469
6470 * s/darwin.h (OTHER_FILES): Do not define here, defined in config.in.
6471
6472 * Makefile.in (ALL_OBJC_CFLAGS): New variable.
6473 (.m.o): Use it.
6474 * config.in: Regenerate.
6475
6476 2008-08-07 Chong Yidong <cyd@stupidchicken.com>
6477
6478 * xdisp.c (redisplay_window): Revert last change.
6479 (try_window): Check bottom scroll margin too.
6480
6481 2008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
6482
6483 * config.in: Regenerate.
6484
6485 * Makefile.in (emacs): Remove ifndef NS conditional for 'emacs
6486 -list-load-path-shadows'.
6487 (nsgui.h): Reduce number of things depending on it.
6488
6489 2008-08-06 Chong Yidong <cyd@stupidchicken.com>
6490
6491 * xdisp.c (try_scrolling): Use iterator to find the scroll margin,
6492 instead of window-end which does the wrong thing at eob.
6493 (try_cursor_movement): Minor optimization.
6494 (redisplay_window): If scroll margin is defined, don't assume
6495 window doesn't need scrolling.
6496
6497 2008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
6498
6499 * config.in: Regenerate.
6500
6501 * Makefile.in: Move nsXXX.m dependencies into big alphabetical list.
6502 (mostlyclean): Don't delete *.d under NS.
6503
6504 * nsterm.h (NS_HAVE_INTEGER): Change to NS_HAVE_NSINTEGER.
6505
6506 2008-08-06 Kenichi Handa <handa@m17n.org>
6507
6508 * xfont.c (xfont_list_family): Return a list of symbols, not strings.
6509
6510 2008-08-06 Andreas Schwab <schwab@suse.de>
6511
6512 * config.in: Regenerate.
6513
6514 2008-08-05 Chong Yidong <cyd@stupidchicken.com>
6515
6516 * xdisp.c (redisplay_window): Don't enforce scroll-margin when
6517 forcing a window start.
6518
6519 * fileio.c (Vauto_save_list_file_name): Move here from file.el.
6520 (auto_save_1): Update modtime when auto-save-list-file-name is on.
6521
6522 2008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
6523
6524 * emacs.c (main): Under NS, set working dir to HOME when get a "psn"
6525 argument.
6526
6527 2008-08-05 Juanma Barranquero <lekktu@gmail.com>
6528
6529 * buffer.c (syms_of_buffer) <scroll-up-aggressively>:
6530 <scroll-down-aggressively, before-change-functions>:
6531 <after-change-functions>: Reflow docstrings.
6532
6533 2008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
6534 Ken Raeburn <raeburn@gnu.org>
6535
6536 Dock menu customization, based on a patch by Ken Raeburn, plus some
6537 other fixes.
6538 * nsmenu.m (dockMenu): New variable.
6539 (EmacsDialog -clicked:): Fix mistake in change of 2008-07-17.
6540
6541 * nsterm.h (dockMenu): Declare.
6542
6543 * nsterm.m (KEY_NS_NEW_FRAME): New definition.
6544 (ns_term_init): Initialize dockMenu.
6545 (EmacsApp -newFrame:, -applicationDockMenu:): New methods.
6546 (EmacsView -windowShouldClose:): Don't behave specially if <= 1 frame
6547 left.
6548
6549 * lisp.h (LSB_TAG): Use on DARWIN_OS, not NS_IMPL_COCOA.
6550
6551 2008-08-04 Chong Yidong <cyd@stupidchicken.com>
6552
6553 * nsterm.h: Test directly for NS_HAVE_INTEGER before defining it.
6554
6555 * config.in: Regenerate.
6556
6557 2008-08-04 Seiji Zenitani <zenitani@mac.com>
6558
6559 * nsfns.m (x-create-frame): Set the frame parameter alpha to nil.
6560
6561 2008-08-04 Chong Yidong <cyd@stupidchicken.com>
6562
6563 * nsterm.h (find_and_call_menu_selection): Fix prototype.
6564
6565 2008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
6566
6567 * emacs.c (main: unexec_init_emacs_zone): Call if on DARWIN_OS.
6568
6569 * keyboard.h: Comment an #endif.
6570
6571 * lisp.h (have_menus_p): Adjust comment.
6572
6573 * menu.c (find_and_return_menu_selection): Fix comparison with
6574 client_data.
6575
6576 * nsmenu.m (popup_activated_flag): New variable.
6577 (popup_activated): New function.
6578 (menu-or-popup-active-p): New exported lisp definition.
6579 (ns_popup_menu): Set popup_activated_flag. Call discard_menu_items()
6580 when popup done.
6581 (ns_popup_dialog): Set popup_activated_flag.
6582
6583 * nsterm.m (EmacsView -conversationIdentifier): Use NSInteger
6584 version for GNUstep (handled by conditional typedef in nsterm.m).
6585 (ns_get_color): Remove special-casing for "darkblue", "dark blue" (now
6586 in rgb.txt).
6587
6588 * process.c (init_process): Use DARWIN_OS, not DARWIN.
6589
6590 * sysselect.h: Conditionalize init_process undef on DARWIN_OS.
6591
6592 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): Do it also under NS.
6593
6594 * xdisp.c (redisplay_internal, note_mouse_highlight): Under NS,
6595 shortcircuit if popup_activated like GTK and X toolkit.
6596
6597 * m/inter386.h: Change DARWIN to DARWIN_OS.
6598
6599 * s/darwin.h: Add #define DARWIN_OS. Get rid of C_SWITCH_SYSTEM def.
6600 Change LIBS_MACGUI to LIBS_NSGUI. Move temacs-conditionalized defs
6601 closer to C_SWITCH_SYSTEM_TEMACS so usage is understood. Expand
6602 comment on NO_SOCK_SIGIO.
6603
6604 2008-08-03 Chong Yidong <cyd@stupidchicken.com>
6605
6606 * nsterm.m (windowDidResize): Remove stopModal call.
6607
6608 2008-08-03 Andreas Schwab <schwab@suse.de>
6609
6610 * vm-limit.c (get_lim_data) [HAVE_GETRLIMIT && RLIMIT_AS]: Define.
6611 (check_memory_limits): Don't handle HAVE_GETRLIMIT here.
6612
6613 2008-08-02 Chong Yidong <cyd@stupidchicken.com>
6614
6615 * vm-limit.c (check_memory_limits): Don't use getrlimit on cygwin.
6616 Don't use uninitialized pointer variable when using getrlimit.
6617
6618 2008-08-02 Jason Rumney <jasonr@gnu.org>
6619
6620 * w32font.c (compute_metrics): Don't mess with glyph_idx setting here.
6621
6622 2008-08-02 Eli Zaretskii <eliz@gnu.org>
6623
6624 * alloc.c (NSTATICS): Bump to 0x640.
6625
6626 * s/gnu-linux.h (HAVE_PROCFS, LISTPROC, PROCATTR): New defines.
6627
6628 * lisp.h: Add prototype for directory_files_internal.
6629
6630 * process.c (Fsystem_processes_list, Fsystem_process_attributes):
6631 New functions.
6632 (syms_of_process): Defsubr them. Add initializations for various
6633 Q* symbols used in procfs_system_process_attributes.
6634 (procfs_list_system_processes, procfs_system_process_attributes)
6635 [HAVE_PROCFS]: New functions.
6636 (time_from_jiffies, ltime_from_jiffies, get_up_time, procfs_ttyname)
6637 (procfs_get_total_memory): New functions.
6638
6639 2008-08-01 Juanma Barranquero <lekktu@gmail.com>
6640
6641 * xfaces.c (Fx_load_color_file): Fix previous change;
6642 it is #ifdef WINDOWSNT, not WINDOWS_NT.
6643
6644 2008-08-01 Michael Albinus <michael.albinus@gmx.de>
6645
6646 * dbusbind.c (xd_read_message): Handle D-Bus error messages.
6647
6648 2008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
6649
6650 * nsterm.h (NSInteger, NSUInteger): Add defines for non-Leopard.
6651
6652 2008-08-01 Chong Yidong <cyd@stupidchicken.com>
6653
6654 * nsfns.m (ns_frame_parm_handlers): Add empty entry for x_set_alpha.
6655
6656 * nsterm.m (EmacsApp -application:openFiles:): GNUstep does not
6657 define NSApplicationDelegateReplySuccess.
6658 (EmacsView -converstationIdentifier): Use long instead of
6659 NSInteger for GNUstep, since it doesn't have NSInteger.
6660
6661 * xmenu.c: Revert last change.
6662
6663 * keyboard.h: Fix last change.
6664
6665 2008-08-01 Juanma Barranquero <lekktu@gmail.com>
6666
6667 * xfaces.c (x-load-color-file): Use RGB() instead of manually shifting
6668 on Windows.
6669
6670 2008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
6671
6672 Warning clearing and clean-up in NS port.
6673 * keyboard.h (xmalloc_widget_value, digest_single_submenu):
6674 Add prototypes.
6675 * nsgui.h (FACE_DEFAULT): Remove, unused.
6676 (XGCValues): Change colors to unsigned long.
6677 * nsterm.h (EmacsApp): Add declaration of all methods implemented in
6678 nsterm.m.
6679 (EmacsMenu -addItemWithWidgetValue:): Change to use NSMenuItem class.
6680 (ns_list_fonts): Remove, unused.
6681 (ns_font_to_xlfd, ns_fontname_to_xlfd): Drop prototypes.
6682 * nsfns.m (interpret_services_menu): Use NSMenuItem class.
6683 * nsfont.m (nsfont_open): Fix cast error in glyphs,metrics alloc.
6684 (nsfont_draw): Compare face colors to 0, not nil.
6685 * nsmenu.m (struct widget_value): Drop unneeded declaration.
6686 (EmacsMenu -addItemWithWidgetValue:, -fillWithWidgetValue:)
6687 (-addSubmenuWithTitle:): Use NSMenuItem class.
6688 (ns_popup_menu): Use NO, not NULL, for enabled setting.
6689 * nsterm.m (ns_draw_glyph_string): Don't compare font to ~0.
6690 (ns_clip_to_row): Make gc arg a BOOL.
6691 (ns_draw_fringe_bitmap, ns_draw_window_cursor): Use YES, NO in
6692 ns_clip_to_row() call.
6693 (ns_draw_glyph_string): Drop face comparison to ~0 (no longer
6694 used). Cast FRAME_FONT assignments.
6695 (ns_read_socket): Cast call to EmacsApp-fulfillService:withArg:.
6696 (ns_string_to_lispmod): Change arg to const char.
6697 (ns_term_init): Use NSMenuItem class.
6698 (EmacsApp -openFile:): Move to different section of file.
6699 (EmacsApp -application:openFiles:): Don't return a value, call
6700 -replyToOpenOrPrint:.
6701 (EmacsView -keyDown:): Fix up cast.
6702 (EmacsView -converstationIdentifier): Use NSInteger instead of long.
6703 (EmacsView -menuDown:): Cast tag in call to
6704 find_and_call_menu_selection().
6705 (ns_list_fonts): Remove, unused.
6706 (ns_font_to_xlfd): Make static. Cast result of UTF8String.
6707 (ns_fontname_to_xlfd): Make static.
6708 * w32menu.c (xmalloc_widget_value, digest_single_submenu):
6709 Remove prototypes (now in keyboard.h).
6710 (next_menubar_widget_id): Remove, unused.
6711 * xmenu.c (xmalloc_widget_value, digest_single_submenu):
6712 Remove prototypes (now in keyboard.h).
6713 * xfaces.c (ns_list_fonts, w32_list_fonts): Remove, unused.
6714
6715 2008-08-01 Dan Nicolaescu <dann@ics.uci.edu>
6716
6717 * Makefile.in (dispnew.o, gtkutil.o, sound.o, atimer.o)
6718 (floatfns.o): Depend on syssignal.h.
6719 (term.o): Depend on syssignal.h, systty.h, and $(INTERVAL_SRC).
6720
6721 * systty.h: Fix previous change that removed BSD_TERMIOS.
6722 Add comments to #ifdefs.
6723
6724 2008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
6725
6726 * w32fns.c (w32-load-color-file): Remove.
6727 (x-open-connection): Use renamed Fx_load_color_file.
6728 * xfaces.c (x-load-color-file): Add.
6729 * nsterm.m (ns_initialize): Load colors from etc/rgb.txt instead of
6730 Emacs.clr.
6731 (hide_hourglass): BLOCK_INPUT before UNBLOCK.
6732
6733 2008-07-31 Michael Albinus <michael.albinus@gmx.de>
6734
6735 * dbusbind.c (Fdbus_call_method_asynchronously)
6736 (Fdbus_method_error_internal): New defuns.
6737 (xd_read_message): Handle also reply messages.
6738 (Vdbus_registered_functions_table): Extend docstring.
6739
6740 2008-07-31 Juanma Barranquero <lekktu@gmail.com>
6741
6742 * keyboard.c (gobble_input): Fix previous change.
6743
6744 2008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
6745
6746 * bitmaps/README:
6747 * xfns.c:
6748 * termcap.c:
6749 * term.c:
6750 * syswait.h:
6751 * systty.h:
6752 * systime.h:
6753 * syssignal.h:
6754 * sysdep.c:
6755 * process.h:
6756 * process.c:
6757 * print.c:
6758 * ndir.h:
6759 * lread.c:
6760 * keyboard.c:
6761 * getpagesize.h:
6762 * floatfns.c:
6763 * fileio.c:
6764 * emacs.c:
6765 * doc.c:
6766 * dispnew.c:
6767 * dired.c:
6768 * data.c:
6769 * callproc.c:
6770 * buffer.c:
6771 * README:
6772 * Makefile.in:
6773 * s/template.h:
6774 * s/msdos.h:
6775 * m/vax.h: Remove VMS support.
6776 * s/vms.h:
6777 * vlimit.h:
6778 * uaf.h:
6779 * temacs.opt:
6780 * param.h:
6781 * ioctl.h: Remove file.
6782
6783 2008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
6784
6785 * s/ms-w32.h (MULTI_KBOARD): Remove.
6786 * xterm.c:
6787 * xselect.c:
6788 * xfns.c:
6789 * window.c:
6790 * w32term.c:
6791 * w32fns.c:
6792 * terminal.c:
6793 * termhooks.h:
6794 * term.c:
6795 * sysdep.c:
6796 * keyboard.h:
6797 * keyboard.c:
6798 * frame.h:
6799 * frame.c:
6800 * frame.c: Remove references to MULTI_KBOARD, it is now the default.
6801 * config.in: Regenerate.
6802
6803 2008-07-30 Jason Rumney <jasonr@gnu.org>
6804
6805 * w32font.h (struct w32font_info): Use unicode version of textmetrics.
6806
6807 * w32font.c (w32font_encode_char): Leave as unicode if in range.
6808 (w32font_open_internal): Get unicode version of textmetrics.
6809 Don't enable or disable glyph indices here.
6810 (w32font_open): Disable use of glyph indices.
6811
6812 * w32uniscribe.c (uniscribe_open): Enable use of glyph indices.
6813
6814 2008-07-30 Chong Yidong <cyd@stupidchicken.com>
6815
6816 * minibuf.c (Vread_buffer_function): Doc fix.
6817
6818 2008-07-30 John Paul Wallington <jpw@pobox.com>
6819
6820 * minibuf.c (read_buffer_completion_ignore_case): New var.
6821 (Fread_buffer): Use it.
6822
6823 2008-07-30 Dan Nicolaescu <dann@ics.uci.edu>
6824
6825 * systty.h (sensemode): Remove empty #if. Remove reference to
6826 BSD_TERMIOS, unused.
6827
6828 * sysdep.c: Remove reference to DGUX.
6829 (closedir): Remove reference to BROKEN_CLOSEDIR, unused.
6830
6831 * config.in: Regenerate.
6832
6833 2008-07-30 Jason Rumney <jasonr@gnu.org>
6834
6835 * w32uniscribe.c (uniscribe_encode_char): Fix glyph buffer size.
6836
6837 2008-07-29 Jason Rumney <jasonr@gnu.org>
6838
6839 * w32uniscribe.c (uniscribe_shape): Avoid using context if cache
6840 is populated.
6841 (uniscribe_encode_char): Always use uniscribe.
6842 Avoid using context if cache is populated.
6843
6844 2008-07-29 Jan Djärv <jan.h.d@swipnet.se>
6845
6846 * xmenu.c (Fx_menu_bar_open_internal): Use activate_item signal to
6847 open menu.
6848
6849 * gtkutil.c (menu_nav_ended): Remove.
6850 (create_menus): Remove signal connect for menu_nav_ended.
6851
6852 2008-07-28 Chong Yidong <cyd@stupidchicken.com>
6853
6854 * xdisp.c (redisplay_window): Check return value of
6855 compute_window_start_on_continuation_line before forcing a window
6856 start.
6857
6858 2008-07-28 Jason Rumney <jasonr@gnu.org>
6859
6860 * w32font.c (w32font_text_extents): Use w32_metric_cache consistently.
6861
6862 * w32term.c (w32_enable_unicode_output, cleartype_active):
6863 Remove obsolete display options.
6864 (x_draw_glyph_string_background): Don't use old cleartype_active
6865 workaround.
6866 (w32_initialize): Remove cleartype_active initialization.
6867 (syms_of_w32term): Remove w32_enable_unicode_output initialization.
6868
6869 2008-07-28 Andreas Schwab <schwab@suse.de>
6870
6871 * lisp.h (init_weak_hash_tables, syms_of_font)
6872 (xd_read_queued_messages, syms_of_dbusbind): Declare.
6873 (remove_hash_entry): Don't declare.
6874 * eval.c (maybe_call_debugger): Make static and move before use.
6875 * gtkutil.c: Include <X11/Xft/Xft.h> if HAVE_XFT.
6876 * xdisp.c: Include "gtkutil.h" if USE_GTK.
6877 * xterm.h (x_set_frame_alpha): Declare.
6878
6879 2008-07-28 Jan Djärv <jan.h.d@swipnet.se>
6880
6881 * gtkutil.c (menu_nav_ended): Revert change from 2008-07-24.
6882 (create_menus): Connect selection-done to menu_nav_ended.
6883
6884 2008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
6885
6886 * nsfns.m (x-create-frame): Add copy of parms argument to beginning.
6887 Set Vx_resource_name to a fallback. Replace read of 'buffered'
6888 parameter with read of 'alpha' one.
6889 (Qns_frame_parameter): Remove.
6890 * nsselect.m (selection-coding-system)
6891 (next-selection-coding-system, Vselection_coding_system)
6892 (Vnext_selection_coding_system): Drop.
6893
6894 2008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
6895
6896 * nsfns.m (do-applescript, do_applescript): Rename to
6897 ns-do-applescript, ns_do_applescript, and move within file.
6898
6899 2008-07-27 Dan Nicolaescu <dann@ics.uci.edu>
6900
6901 Remove support for Mac Carbon.
6902 * mactoolbox.c:
6903 * macterm.h:
6904 * macterm.c:
6905 * macselect.c:
6906 * macmenu.c:
6907 * macgui.h:
6908 * macfns.c:
6909 * mac.c: Remove file.
6910 * s/darwin.h:
6911 * m/intel386.h:
6912 * xfaces.c:
6913 * xdisp.c:
6914 * window.c:
6915 * tparam.c:
6916 * termhooks.h:
6917 * termcap.c:
6918 * term.c:
6919 * syssignal.h:
6920 * sysselect.h:
6921 * sysdep.c:
6922 * process.c:
6923 * lread.c:
6924 * lisp.h:
6925 * keyboard.c:
6926 * image.c:
6927 * fringe.c:
6928 * frame.h:
6929 * frame.c:
6930 * fontset.c:
6931 * font.h:
6932 * font.c:
6933 * fns.c:
6934 * fileio.c:
6935 * emacs.c:
6936 * dispnew.c:
6937 * dispextern.h:
6938 * config.in:
6939 * atimer.c:
6940 * Makefile.in: Remove code for Carbon.
6941
6942 2008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6943
6944 * macterm.c (XDrawLine) [USE_MAC_IMAGE_IO]: Remove spurious return.
6945
6946 2008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6947
6948 * macterm.h (kCGBitmapByteOrder32Host): New define for
6949 non-universal SDKs.
6950
6951 * image.c (mac_create_cg_image_from_image, image_load_image_io)
6952 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
6953
6954 * macterm.c (XDrawLine, XCreatePixmapFromBitmapData)
6955 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
6956
6957 2008-07-26 David Robinow <drobinow@gmail.com> (tiny change)
6958
6959 * w32inevt.c: Include dispextern.h.
6960
6961 2008-07-26 Andreas Schwab <schwab@suse.de>
6962
6963 * print.c (print_object): Fix off-by-one in last change.
6964
6965 2008-07-25 Juanma Barranquero <lekktu@gmail.com>
6966
6967 * term.c (syms_of_term): Don't initialize default_orig_pair,
6968 default_set_foreground and default_set_background on Windows.
6969
6970 2008-07-25 Jason Rumney <jasonr@gnu.org>
6971
6972 * w32uniscribe.c (uniscribe_shape): Pass NULL for control arg to
6973 ScriptItemize. Clean up return value checking. Remove unused
6974 variables.
6975 (uniscribe_encode_char): Encode non-BMP characters with uniscribe
6976 shaping engine.
6977
6978 * w32font.c (w32font_has_char): Handle the case where we can't
6979 determine the script for a character.
6980
6981 2008-07-25 Chong Yidong <cyd@stupidchicken.com>
6982
6983 * term.c (syms_of_term): Initialize default_orig_pair,
6984 default_set_foreground, and default_set_background.
6985
6986 * getloadavg.c (nl): Rename to name_list to avoid ncurses.h
6987 clash (bug#86).
6988 (getloadavg): Callers changed.
6989
6990 * image.c (svg_load_image): Fix last change.
6991 (svg_load_image): Use rsvg_handle_get_dimensions to check that
6992 image size is valid. Use g_object_unref instead of deprecated
6993 rsvg_handle_free to free rsvg handle.
6994 (x_from_xcolors): Don't initialize pixmap (silence compiler).
6995
6996 2008-07-25 Jason Rumney <jasonr@gnu.org>
6997
6998 * w32font.c (w32font_encode_char): Encode characters outside BMP as
6999 surrogates before looking up glyph index.
7000 (w32font_text_extents): Encode as surrogates if falling back to
7001 functions that need UTF-16 wide chars.
7002
7003 * w32uniscribe.c (uniscribe_encode_char): Encode characters outside
7004 BMP as surrogates before looking up glyph index.
7005
7006 2008-07-25 Chong Yidong <cyd@stupidchicken.com>
7007
7008 * image.c (svg_load_image): Check for failure in return value of
7009 rsvg_handle_get_pixbuf. Free rsvg handle when done.
7010
7011 2008-07-25 Jason Rumney <jasonr@gnu.org>
7012
7013 * w32font.c (Fx_select_font): Reverse sense of second arg.
7014
7015 2008-07-24 Stefan Monnier <monnier@iro.umontreal.ca>
7016
7017 * syntax.c (struct lisp_parse_state, char_quoted, inc_bytepos)
7018 (dec_bytepos, find_defun_start): Use EMACS_INT for buffer positions.
7019
7020 * puresize.h (PURESIZE_CHECKING_RATIO): New macro.
7021 (PURESIZE): Use it.
7022
7023 2008-07-24 Dan Nicolaescu <dann@ics.uci.edu>
7024
7025 * m/amdx86-64.h (HAVE_LIB64_DIR): Consolidate ifdefs.
7026 * m/alpha.h (TEXT_END):
7027 * m/ibmrs6000.h (TEXT_END):
7028 * m/macppc.h (TEXT_END):
7029 * s/darwin.h (TEXT_END):
7030 * s/msdos.h (TEXT_END): Remove, unused.
7031 * s/gnu-linux.h (BSD_PGRPS): Add a comment.
7032 * s/cygwin.h: Remove comment.
7033
7034 * ecrt0.c (NODOT_GLOBAL_START): Remove code, unused.
7035 (DOT_GLOBAL_START): Remove conditional, redundant for CRT0_DUMMIES.
7036 * m/intel386.h (DOT_GLOBAL_START):
7037 * m/vax.h (DOT_GLOBAL_START): Remove, redundant with CRT0_DUMMIES.
7038 (USG): Remove, file not used on USG platforms.
7039
7040 * Makefile.in (HAVE_X11): Remove empty #else.
7041
7042 2008-07-24 Andreas Schwab <schwab@suse.de>
7043
7044 * fileio.c (Finsert_file_contents): Properly adjust undo list
7045 after format conversion.
7046
7047 2008-07-24 Jan Djärv <jan.h.d@swipnet.se>
7048
7049 * gtkutil.c (xg_get_font_name): Cast w to GTK_FONT_SELECTION_DIALOG.
7050 (menu_nav_ended): Remove.
7051 (create_menus): Remove signal connect for menu_nav_ended.
7052 (xg_update_menubar): Also take deactivate_cb as parameter, pass it to
7053 create_menus.
7054 (xg_modify_menubar_widgets): Pass deactivate_cb to xg_update_menubar.
7055
7056 2008-07-23 Jason Rumney <jasonr@gnu.org>
7057
7058 * w32font.c (w32_enumfont_pattern_entity): Return height consistent
7059 with opened font.
7060 (w32font_open): Set font type to gdi.
7061
7062 * w32uniscribe.c (uniscribe_open): Set font type to uniscribe.
7063
7064 2008-07-23 Dan Nicolaescu <dann@ics.uci.edu>
7065
7066 * s/usg5-4.h (ADDR_CORRECT): Remove, unused.
7067 * unexaix.c (ADDR_CORRECT): Remove conditional, the only user
7068 defines it.
7069 * unexec.c (ADDR_CORRECT): Define unconditionally.
7070
7071 * m/ibmrs6000.h (C_SWITCH_MACHINE): Remove.
7072
7073 * unexec.c: Remove code depending on !COFF and USG, the file is
7074 not used for such systems.
7075
7076 * s/netbsd.h (A_TEXT_OFFSET, A_TEXT_SEEK):
7077 * s/freebsd.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, unused.
7078 (LD_SWITCH_SYSTEM_1): Remove, update users.
7079
7080 * s/darwin.h (DATA_END):
7081 * m/intel386.h (DATA_END):
7082 * m/ibmrs6000.h (DATA_END):
7083 * m/alpha.h (DATA_END): Remove, unused.
7084
7085 * config.in: Regenerate.
7086 * s/ms-w32.h (subprocesses): Define unconditionally.
7087 * s/template.h (subprocesses): Update comment.
7088 * s/vms.h (subprocesses):
7089 * s/usg5-4.h (subprocesses):
7090 * s/hpux10-20.h (subprocesses):
7091 * s/gnu-linux.h (subprocesses):
7092 * s/cygwin.h (subprocesses):
7093 * s/bsd-common.h (subprocesses):
7094 * s/aix4-2.h (subprocesses):
7095 * s/darwin.h (subprocesses): Do not define, defined by default now.
7096
7097 * Makefile.in (C_SWITCH_SITE, LD_SWITCH_SITE): Remove, unused.
7098 Remove all references.
7099 (temacs): Add GNUstep specific ld flags.
7100
7101 * nsterm.m (syms_of_nsterm): Provide ns, not ns-windowing,
7102 similarly to what X does.
7103
7104 2008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
7105
7106 * nsfns.m (x-list-fonts): Remove.
7107 (syms_of_nsfns): Drop the x-list-fonts declaration.
7108 * nsterm.m: Get rid of remaining "//" comments.
7109
7110 2008-07-22 Chong Yidong <cyd@stupidchicken.com>
7111
7112 * xselect.c (Fx_rotate_cut_buffers_internal): Doc fix.
7113
7114 * nsselect.m (Fns_selection_exists_p, Fns_selection_owner_p)
7115 (Fx_get_selection_internal, Fns_rotate_cut_buffers_internal)
7116 (Fns_own_selection_internal, Fx_disown_selection_internal)
7117 (Fns_get_cut_buffer_internal, Fns_store_cut_buffer_internal):
7118
7119 * nsmenu.m (Fns_reset_menu, Fx_popup_menu): Change to use 'doc: /*
7120 ... */' style of docstrings. Doc fixes.
7121
7122 2008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
7123
7124 * terminfo.c (UP, BC, PC): Undo previous change.
7125
7126 * nsfns.m: Rename ns prefixed functions/variables to the
7127 corresponding x versions. Update references.
7128
7129 2008-07-22 Stefan Monnier <monnier@iro.umontreal.ca>
7130
7131 * syntax.c (char_quoted): Check "charpos > beg" before decrementing.
7132
7133 2008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
7134
7135 * nsfns.m (x_set_menu_bar_lines, x_set_tool_bar_lines):
7136 Remove forwarding functions.
7137 (ns_set_menu_bar_lines): Rename to x_set_menu_bar_lines, make
7138 non-static.
7139 (ns_set_tool_bar_lines): Rename to x_set_tool_bar_lines, make
7140 non-static.
7141 (ns_frame_parm_handlers): Use the new names.
7142 (syms_of_nsfns): Move to the end of file.
7143
7144 * nsterm.m (syms_of_nsterm): Move to the end of file.
7145
7146 * dispnew.c (init_display): Remove code for X10.
7147
7148 2008-07-22 Jason Rumney <jasonr@gnu.org>
7149
7150 * w32proc.c (Fw32_long_file_name): Don't append dir separator to
7151 bare drive.
7152
7153 2008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
7154
7155 * nsterm.m (syms_of_nsterm): Remove debugging println.
7156
7157 2008-07-22 David Reitter <david.reitter@gmail.com>
7158
7159 * nsfns.m (do_applescript, F_do_applescript): NS version of the
7160 Carbon implementation of the same functionality: execute arbitrary
7161 AppleScript code.
7162
7163 2008-07-21 Adrian Robert <Adrian.B.Robert@gmail.com>
7164
7165 * nsfns.m (Fx_create_frame, Fx_read_file_name, Fx_get_resource)
7166 (Fx_set_resource, Fx_set_alpha, Fx_server_max_request_size)
7167 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
7168 (Fx_display_mm_height, Fx_display_mm_width)
7169 (Fx_display_backing_store, Fx_display_visual_class)
7170 (Fx_display_save_under, Fx_open_connection)
7171 (Fx_close_connection, Fx_hide_emacs, Fx_font_name)
7172 (Fx_list_colors, Fx_perform_service, Fx_color_defined_p)
7173 (Fx_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
7174 (Fx_display_pixel_width, Fx_display_pixel_height)
7175 (Fx_display_usable_bounds, Fx_display_planes)
7176 (Fx_display_color_cells, Vns_icon_type_alist): Change to use 'doc: /*
7177 ... */' style of docstrings.
7178
7179 2008-07-21 Dan Nicolaescu <dann@ics.uci.edu>
7180
7181 * m/mips.h (LOAD_AVE_TYPE, LOAD_AVE_CVT): Do not define, not used
7182 on this platform.
7183 (mips):
7184 * m/iris4d.h (mips): Do not define.
7185 * sysdep.c (init_sys_modes): Use __mips__ instead of mips.
7186
7187 * m/ibmrs6000.h (LD_SWITCH_SITE): Remove.
7188
7189 * image.c:
7190 * nsfns.m:
7191 * nsselect.m:
7192 * nsterm.h:
7193 * nsterm.m: Rename ns prefixed functions/variables to the
7194 corresponding x versions. Update references.
7195
7196 * m/ibms390x.h (NO_REMAP): Do not undefine.
7197
7198 * m/amdx86-64.h: Use SOLARIS2 instead of sun.
7199
7200 2008-07-21 Chong Yidong <cyd@stupidchicken.com>
7201
7202 * nsfns.m: Change NS to Nextstep in docstrings and error messages.
7203 (Fns_create_frame, Fns_read_file_name, Fns_get_resource)
7204 (Fns_set_resource, Fns_set_alpha, Fns_server_max_request_size)
7205 (Fns_server_vendor, Fns_server_version, Fns_display_screens)
7206 (Fns_display_mm_height, Fns_display_mm_width)
7207 (Fns_display_backing_store, Fns_display_visual_class)
7208 (Fns_display_save_under, Fns_open_connection)
7209 (Fns_close_connection, Fns_hide_emacs, Fns_font_name)
7210 (Fns_list_colors, Fns_perform_service, Fns_color_defined_p)
7211 (Fns_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
7212 (Fns_display_pixel_width, Fns_display_pixel_height)
7213 (Fns_display_usable_bounds, Fx_display_planes)
7214 (Fns_display_color_cells, Vns_icon_type_alist): Doc fixes.
7215
7216 2008-07-21 Ami Fischman <ami@fischman.org> (tiny change)
7217
7218 * print.c (print_object): Check print_depth before searching for
7219 circularities.
7220
7221 2008-07-21 Michael Albinus <michael.albinus@gmx.de>
7222
7223 * dbusbind.c (Fdbus_register_signal): Use sprintf + strcat instead
7224 only sprintf.
7225
7226 2008-07-21 Kenichi Handa <handa@m17n.org>
7227
7228 * ftfont.c (adjust_anchor): Check if DeltaValue is not NULL.
7229
7230 2008-07-20 Andreas Schwab <schwab@suse.de>
7231
7232 * syntax.c (find_start_pos, find_start_value)
7233 (find_start_value_byte, find_start_begv, find_defun_start)
7234 (back_comment, scan_sexps_forward): Use EMACS_INT for buffer positions.
7235
7236 2008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
7237
7238 * s/sol2-3.h: Insert contents of s/sol2.h.
7239 (LD_SWITCH_SYSTEM): Remove redundant definition.
7240 * s/sol2.h: Remove, unused.
7241
7242 2008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
7243
7244 * nsterm.m (ns_get_color): Recognize HSB,AHSB be synonyms for HSV,AHSV.
7245
7246 2008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
7247
7248 * Makefile.in (ns_appdir): Fix typo in find command.
7249
7250 2008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
7251
7252 * m/intel386.h (NO_REMAP): Do no define for USG, not used.
7253
7254 * s/usg5-4.h (LIBS_SYSTEM): Remove, system for which this was
7255 added not supported anymore.
7256
7257 * s/usg5-4-2.h (LIBS_SYSTEM):
7258 * s/sol2.h (LIBS_SYSTEM): Do not undefine.
7259
7260 * s/netbsd.h (GETPGRP_NO_ARG, N_TRELOFF):
7261 * s/lynxos.h (GETPGRP_NO_ARG):
7262 * s/hpux10-20.h (NO_SIOCTL_H):
7263 * s/gnu.h (GETPGRP_NO_ARG):
7264 * s/gnu-linux.h (NO_SIOCTL_H):
7265 * s/freebsd.h (GETPGRP_NO_ARG, N_TRELOFF):
7266 * s/cygwin.h (GETPGRP_NO_ARG):
7267 * s/irix6-5.h (LIBS_SYSTEM, GETPGRP_NO_ARG): Remove, unused.
7268 (C_DEBUG_SWITCH): Remove duplicate definition.
7269
7270 * m/ibms390.h: Remove boilerplate comments.
7271
7272 * sysdep.c (closedir): Use SOLARIS2 instead of sun && USG5_4.
7273
7274 * process.c (HAVE_SERIAL): Consolidate ifdefs.
7275 (wait_reading_process_output): Remove code for SunOS, platform not
7276 supported anymore. Use SOLARIS2 instead of sun.
7277
7278 2008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
7279
7280 * font.c (font_open_by_name): Under NS, default lface height to zero.
7281 (font_open_for_lface): Under NS, set size based on frame fontsize.
7282 * nsterm.m (EmacsView-changeFont:): Remove some commented code.
7283 * frame.c (x_set_frame_parameters): Remove HAVE_NS ifdef.
7284
7285 2008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
7286
7287 * nsterm.m (ns_antialias_text, ns_use_qd_smoothing)
7288 (ns_use_system_highlight_color): Switch these from DEFVAR_BOOL to
7289 DEFVAR_LISP and change all code accordingly to use Qt/Qnil instead of
7290 YES/NO.
7291 * nsterm.h (prevUseHighlightColor): Make a Lisp_Object.
7292 * nsfont.m (nsfont_draw): Treat ns_use_qd_smoothing as Lisp_Object.
7293 * Makefile.in (clean): Clear out build destination dir.
7294
7295 2008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
7296
7297 * Makefile.in (nsgui.h-related dependencies): Remove abbrev, xfns,
7298 xterm, xselect.
7299 * lisp.h: Remove declaration of hash_remove.
7300 * nsgui.h: Remove redefinitions of hash_remove.
7301 * fns.c (hash_remove): Rename to hash_remove_from_table.
7302
7303 2008-07-19 Seiji Zenitani <zenitani@mac.com>
7304
7305 * nsfont.m (nsfont_fmember_to_entity, nsfont_make_fontset_for_font):
7306 strdup() the family UTF8String before modifying it.
7307
7308 2008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
7309
7310 * nsterm.m (ns_maybe_dumpglyphs_background): Compare result from
7311 NS_FACE_BACKGROUND with 0 instead of nil.
7312 * nsfont.m (nsfont_draw): Same.
7313
7314 2008-07-19 Chong Yidong <cyd@stupidchicken.com>
7315
7316 * nsfns.m (ns_set_background_color): Fix crash.
7317
7318 2008-07-18 Chong Yidong <cyd@stupidchicken.com>
7319
7320 * Makefile.in (SOME_MACHINE_LISP): Remove ns-carbon-compat.elc.
7321
7322 2008-07-18 Dan Nicolaescu <dann@ics.uci.edu>
7323
7324 * puresize.h (BASE_PURESIZE): Increase to 1240000.
7325
7326 2008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7327
7328 * gtkutil.c: Include <config.h> instead of "config.h".
7329
7330 * lisp.h (Foverlay_buffer): Add EXFUN.
7331
7332 * process.c (create_process) [!WINDOWSNT && FD_CLOEXEC]: Wait for
7333 child process to complete child_setup. Undo 2005-09-21 change.
7334
7335 * s/darwin.h: Mention setsid after vfork.
7336
7337 2008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7338
7339 * Makefile.in (frame.o, keyboard.o, xdisp.o, xfaces.o):
7340 Depend on macgui.h.
7341
7342 * macfns.c (Fx_server_version): Don't use gestaltSystemVersionMajor,
7343 gestaltSystemVersionMinor, or gestaltSystemVersionBugFix.
7344
7345 * macterm.c (keycode_to_xkeysym_table): Add entries for f17, f18,
7346 and f19.
7347 [MAC_OSX] (fn_keycode_to_keycode_table): Likewise.
7348
7349 * macterm.h (gestaltSystemVersionMajor, gestaltSystemVersionMinor)
7350 (gestaltSystemVersionBugFix) [MAC_OS_X_VERSION_MAX_ALLOWED < 1040]:
7351 Remove enumerators.
7352
7353 * mactoolbox.c [USE_MAC_TSM] (mac_handle_text_input_event):
7354 Check if FACE_FROM_ID returns NULL.
7355
7356 2008-07-17 David Robinow <drobinow@gmail.com> (tiny change)
7357
7358 * w32inevt.c (change_frame_size): Remove extern declaration.
7359 (resize_event, maybe_generate_resize_event): Pass SAFE arg to
7360 change_frame_size.
7361
7362 2008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
7363
7364 * getloadavg.c: Revert last change (2008-07-15).
7365
7366 2008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
7367
7368 * Makefile.in: Replace emacsapp, emacsbindir, emacsappsrc variables
7369 set here with ns_appdir, ns_appresdir, ns_appbindir, ns_appsrc set
7370 from configure.
7371
7372 2008-07-17 Dan Nicolaescu <dann@ics.uci.edu>
7373
7374 * s/sol2.h:
7375 * s/sol2-4.h: Reorganize conditionals.
7376
7377 * ecrt0.c: Remove code depending on m68000, not used anymore.
7378
7379 * fns.c (hash_remove): Make static.
7380 * lisp.h (hash_remove): Don't prototype.
7381
7382 * m/ibmrs6000.h:
7383 * m/ibms390x.h:
7384 * m/macppc.h: Remove boilerplate comments.
7385
7386 * m/sparc.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, only used on
7387 Solaris, which does not need them.
7388
7389 * m/vax.h: Remove comments about unsupported systems.
7390
7391 * s/darwin.h: Reorganize ifdefs.
7392
7393 2008-07-17 Andreas Schwab <schwab@suse.de>
7394
7395 * s/cygwin.h (LIB_STANDARD_LIBSRC): Don't define.
7396
7397 2008-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
7398
7399 Use SDATA. Follow coding convention of placing operators at
7400 beginning of next line rather than end of previous line, and placing
7401 spaces around infix operators.
7402
7403 * Makefile.in: Undef LIB_STANDARD before defining it to silence warning
7404 in case it was defined already.
7405 USE @GNUSTEP_MAKEFILES@ rather than envvars.
7406 * nsterm.m (ns_term_init): Pass Qt and Qnil rather than YES/NO to
7407 ns_default.
7408 (applicationShouldTerminate, setValuesFromPanel): Use EQ to compare
7409 Lisp_Objects.
7410 * nsterm.h (Fx_display_grayscale_p, Fx_display_planes)
7411 (ns_defined_color, ns_color_to_lisp): Declare.
7412 * nsselect.m (ns_handle_selection_request, ns_handle_selection_clear)
7413 (Fns_own_selection_internal): Make the big ugly hack more explicit, so
7414 it's accepted even with USE_LISP_UNION_TYPE.
7415 * nsmenu.m (ns_update_menubar): Use EQ to compare Lisp_Objects.
7416 (update_frame_tool_bar): Remove apparently obsolete tests for
7417 non-integerness of f->tool_bar_lines.
7418 (windowShouldClose, addButton, clicked, runDialogAt): Make the big ugly
7419 hack more explicit, so it's accepted even with USE_LISP_UNION_TYPE.
7420 * nsfont.m (nsfont_driver): Use just 0 rather than an invalid cast.
7421 (nsfont_open): Don't confuse NULL for Qnil.
7422 * nsfns.m (ns_implicitly_set_icon_type): Use EQ to compare Lisp_Objects.
7423 * menu.h (find_and_call_menu_selection):
7424 * menu.c (find_and_call_menu_selection): Use just int for vector size.
7425 (find_and_return_menu_selection): Always return something.
7426 * frame.h: Include dispextern.h for Display_Info.
7427 (display_x_get_resource): Declare.
7428
7429 2008-07-16 Adrian Robert <Adrian.B.Robert@gmail.com>
7430
7431 * syntax.c: Remove stdio.h include accidentally introduced in
7432 Emacs.app commit.
7433 * Makefile.in: Change GNUSTEP to NS_IMPL_GNUSTEP, COCOA to
7434 NS_IMPL_COCOA.
7435 * keyboard.c (handle_async_input, input_available_signal): Remove
7436 BSD4_1 conditional code, introduced accidentally in Emacs.app commit.
7437
7438 2008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
7439
7440 * nsterm.m (lisp_to_mod): Use parse_solitary_modifier instead.
7441 (ns_lisp_to_color): Don't mess with internal Lisp data fields.
7442 (ns_term_init, ns_term_shutdown, initFrameFromEmacs, ns_list_fonts):
7443 Use SDATA.
7444
7445 * keymap.c: Remove all NS-specific code.
7446 (where_is_preferred_modifier, Vwhere_is_preferred_modifier): New vars.
7447 (preferred_sequence_p): Rename from ascii_sequence_p; pay attention to
7448 where_is_preferred_modifier, return a different value depending on how
7449 preferred is the binding.
7450 (where_is_internal): Adjust accordingly.
7451 (Fwhere_is_internal): Refresh where_is_preferred_modifier.
7452 Adjust to new preferred_sequence_p.
7453 (syms_of_keymap): Declare `where-is-preferred-modifier'.
7454 * keyboard.c (parse_solitary_modifier): Not static any more.
7455 * keyboard.h (parse_solitary_modifier): Declare.
7456
7457 2008-07-16 Andreas Schwab <schwab@suse.de>
7458
7459 * Makefile.in (SOME_MACHINE_LISP): Remove easy-mmode, fix spelling
7460 of easymenu.
7461
7462 2008-07-16 Chong Yidong <cyd@stupidchicken.com>
7463
7464 * xdisp.c (move_it_in_display_line): Account for word wrap, so
7465 that we don't move off the line.
7466
7467 2008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
7468
7469 * keyboard.c (Qsuper): Remove.
7470 (parse_menu_item): Don't call where_is_internal specially for NS.
7471
7472 2008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
7473
7474 * s/gnu-linux.h: Remove boilerplate comments.
7475
7476 * m/alpha.h (__ELF__): Consolidate conditions.
7477
7478 * m/m68k.h (linux): Use GNU_LINUX instead.
7479 Remove boilerplate comments.
7480
7481 * m/intel386.h: Undo refactoring from previous change.
7482 (LIB_STANDARD): All systems that define USG define LIB_STANDARD
7483 too, remove dead code.
7484 (linux): Use GNU_LINUX instead.
7485
7486 2008-07-16 Jason Rumney <jasonr@gnu.org>
7487
7488 * w32gui.h: Repeat 26 June changes lost by last change.
7489
7490 2008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
7491
7492 * systty.h: Remove code for Aix on 386, unsupported platform.
7493
7494 * s/ms-w32.h: Remove boilerplate comments.
7495 (fcloseall, fgetchar, flushall, fputchar, getw, putw): Remove, unused.
7496
7497 * s/gnu-linux.h (TERM): Remove support.
7498 (HAVE_SYSVIPC): Remove, unused.
7499 (A_TEXT_OFFSET, A_TEXT_SEEK, ADJUST_EXEC_HEADER): Remove, not used
7500 for this system.
7501
7502 * process.c: Remove support for IRIS, unused.
7503 Remove support for TERM, not relevant anymore.
7504
7505 * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Remove, replace the only
7506 used with the definition.
7507
7508 * s/aix4-2.h (static): Do not undef.
7509
7510 * m/ibmrs6000.h: Remove code depending on USG5_4, this file is
7511 only used on Aix.
7512 (HAVE_SYSVIPC): Remove, unused.
7513
7514 * m/hp800.h (CANNOT_DUMP): Do not undef.
7515
7516 * m/alpha.h: Fix comment.
7517
7518 * s/usg5-4.h (HAVE_SYSVIPC): Remove, unused.
7519 (USG_SHARED_LIBRARIES): Remove, only used in unexec.c which is not
7520 used by this configuration.
7521 * emacs.c: Remove code depending on USG_SHARED_LIBRARIES.
7522 * unexec.c: Remove code depending on HPUX and
7523 USG_SHARED_LIBRARIES, not used with this file. Remove code
7524 depending on IRIS, unused. Remove if 0-ed code.
7525
7526 * s/template.h: Remove comments about static.
7527
7528 * sysdep.c: Remove code depending on NEED_PTEM_H, unused.
7529 Remove if 0-ed code.
7530 (baud_convert): Don't depend on BAUD_CONVERT, all definitions the
7531 were the same as the default.
7532 * s/vms.h (BAUD_CONVERT): Remove, same as the default.
7533 Remove boilerplate comments.
7534 * s/hpux10-20.h (BAUD_CONVERT): Remove, same as the default.
7535 (HAVE_SYSVIPC): Remove, unused.
7536 (LD_SWITCH_SYSTEM_TEMACS): Simplify, hp9000s700 not supported anymore.
7537
7538 * m/ia64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
7539 Remove boilerplate comments.
7540 * m/amdx86-64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
7541 Remove boilerplate comments.
7542 * m/ibms390x.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
7543 Remove boilerplate comments.
7544 * lisp.h (PNTR_COMPARISON_TYPE): Define it unconditionally.
7545
7546 * m/intel386.h (DATA_SEG_BITS): Remove definitions, only used on
7547 USG systems which do not use DATA_SEG_BITS.
7548 Refactor code. Remove boilerplate comments.
7549
7550 * m/ibms390.h:
7551 * m/m68k.h:
7552 * s/bsd-common.h:
7553 * s/cygwin.h:
7554 * s/darwin.h:
7555 * s/freebsd.h:
7556 * s/gnu.h:
7557 * s/msdos.h: Remove boilerplate comments.
7558
7559 * m/iris4d.h: Remove boilerplate comments and code for systems that
7560 do not use this file.
7561 (IRIS_4D): Remove, unused.
7562
7563 * m/mips.h: Remove boilerplate comments and code for systems that
7564 do not use this file.
7565 (SIGN_EXTEND_CHAR):
7566 * m/arm.h (SIGN_EXTEND_CHAR): Remove, unused.
7567 * unexmips.c: Remove file, unused.
7568
7569 * editfns.c (Fuser_full_name): Replace the only use of
7570 USER_FULL_NAME with its value.
7571 * config.in: Regenerate.
7572
7573 2008-07-16 David Reitter <david.reitter@gmail.com>
7574
7575 * Makefile.in: Add ns-win, ns-carbon-compat, easy-mmode and
7576 easy-menu to SOME_MACHINE_LISP for the new NeXTstep port.
7577
7578 2008-07-16 Glenn Morris <rgm@gnu.org>
7579
7580 * emacs.c (system-type): Doc fix.
7581
7582 2008-07-15 Stefan Monnier <monnier@iro.umontreal.ca>
7583
7584 * keyboard.c (parse_menu_item): Don't use cachelist, even under NS.
7585 If the cache doesn't work, let's fix it, rather than work around it.
7586
7587 2008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
7588
7589 * Makefile.in: Correct additions for nsfont.o in last commit.
7590 * nsfont.m: New file (forgot last commit).
7591
7592 2008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
7593
7594 * callproc.c (set_initial_environment): Initialize
7595 Vprocess_environment under CANNOT_DUMP (fixes crash when
7596 batch-compiling for bootstrap).
7597
7598 2008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
7599 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7600
7601 (make_initial_frame): Call init_frame_faces(f) in CANNOT_DUMP case --
7602 fix crash due to different init order.
7603
7604 2008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
7605
7606 Changes and additions for NeXTstep windowing system (Cocoa and
7607 GNUstep) support.
7608
7609 * Makefile.in:
7610 * config.in: Support defines and build commands for NS port.
7611 * blockinput.h (BLOCK_INPUT, UNBLOCK_INPUT, TOTALLY_UNBLOCK_INPUT)
7612 (UNBLOCK_INPUT_TO): Don't use under NS unless EXPERIMENTAL_CONTROL_G.
7613 * dispextern.h: Include nsgui.h and add needed typedefs under NS
7614 windowing.
7615 (struct face): Add synth_ital field.
7616 * dispnew.c: Include nsterm.h when compiling under NS windowing.
7617 (init_display): Initialize Vinitial_window_system to "ns" when so
7618 compiled.
7619 * emacs.c: Include GSConfig.h when compiling under GNUstep.
7620 (display_arg): Use under NS.
7621 (main): Under NS, allocate autorelease pool and handle command line
7622 args. Move syms_of_xmenu() call under #ifdef HAVE_X_WINDOWS.
7623 (standard_args): Add NS-specific args.
7624 (shut_down_emacs): Shut down NS terminal if compiled under NS.
7625 * font.c (DEFAULT_ENCODING): New variable.
7626 (font_find_for_lface): Use it.
7627 (syms_of_font): Load syms_of_nsfont under NS.
7628 * font.h: Declare nsfont_driver when compiled under NS.
7629 * fontset.c: When compiling under NS, include nsterm.h.
7630 (fontset_from_font): Autoconstruct fontset under NS.
7631 * frame.c (various): Under NS, include nsterm.h, add Qns window system
7632 symbol, document and use it.
7633 (do_switch_frame): When for_deletion under Cocoa, add
7634 Fraise_frame(Qnil).
7635 (x_set_frame_parameters): Ensure font attribute changes are picked up.
7636 (x_get_arg): Allow "yes" and "no" as boolean values.
7637 (syms_of_frame): Declare Qns. Init Vdefault_frame_scroll_bars to
7638 Qright under Cocoa.
7639 (focus-follows-mouse): Default to 0 under NS.
7640 * frame.h (enum output_method): Add output_ns.
7641 (external_tool_bar, external_menu_bar, FRAME_EXTERNAL_TOOLBAR)
7642 (FRAME_EXTERNAL_MENU_BAR): Use under NS.
7643 (FRAME_WINDOW_P): NS-specific definition.
7644 * fringe.c (max_used_fringe_bitmap): Make public.
7645 * getloadavg.c (mach/mach.h): Include it under NeXT descendant OS's.
7646 (getloadavg): Use NeXT code under descendant OS's.
7647 * image.c (includes and header section, x_create_bitmap_from_data)
7648 (x_create_bitmap_from_file, free_bitmap_record, image_background)
7649 (image_background_transparent, x_clear_image_1)
7650 (x_create_x_image_and_pixmap, x_destroy_x_image, x_put_x_image)
7651 (Create_Pixmap_From_Bitmap_Data, xpm_load_image, lookup_rgb_color)
7652 (x_to_xcolors, x_from_xcolors, x_disable_image)
7653 (x_build_heuristic_mask, syms_of_image): Add NS support parallel to
7654 other GUIs, including XPM support using code originally written for
7655 Carbon GUI.
7656 (png_load, jpeg_load, tiff_load, gif_load): Add implementations
7657 using NS API.
7658 (image_ascent): Use font metrics macros instead of direct struct field
7659 access.
7660 * keyboard.c (includes): Add nsterm.h when compiling under NS.
7661 (kbd_buffer_get_event): Handle NS as other GUI windowing systems.
7662 Also, handle NS as GTK for menu bar purposes.
7663 (make_lispy_event): Handle NS as other GUI windowing systems, and as X
7664 toolkit where they differ.
7665 (parse_menu_item): Prefer keybindings using 'super' modifier. Also,
7666 use cachelist, still needed under NS.
7667 * keyboard.h (ENCODE_MENU_STRING, XtPointer, Boolean): Handle as NTGUI.
7668 (struct widget_value): Define it here for menu.c.
7669 * keymap.c (includes): Include modifier internals.
7670 (lisp_to_mod, modifier_sequence_p): New functions, compiled only under
7671 NS.
7672 (where_is_internal, Fwhere_is_internal): When compiled under NS, add
7673 support for preferring sequences using certain modifiers, specified by
7674 the FIRSTONLY argument.
7675 * lisp.h (hash_remove): Rename to avoid name clash when compiling
7676 under NS GNUstep implementation.
7677 (USE_LSB_TAG): Use it under Cocoa when compiling under NS.
7678 * lread.c (init_lread): Treat NS as HAVE_CARBON for turn_off_warning.
7679 * menu.c: Include nsterm.h under NS.
7680 (single_menu_item, parse_single_submenu, xmalloc_widget_value)
7681 (free_menubar_widget_tree_value, update_submenu_strings)
7682 (find_and_call_menu_selection): Treat NS as X and NT.
7683 (find_and_return_menu_selection): New function, used for popup menus.
7684 * nsgui.h:
7685 * nsterm.h:
7686 * nsfns.m:
7687 * nsimage.m:
7688 * nsmenu.m:
7689 * nsselect.m:
7690 * nsterm.m: New files.
7691 * process.c (wait_reading_process_output): Under NS, call ns_select()
7692 instead of plain select().
7693 * syntax.c (char_quoted): Under NS, avoid a crash when called near
7694 beginning of buffer.
7695 * sysselect.h (init_process): Rename when compiling under Cocoa to
7696 avoid name conflict.
7697 * termhooks.h (display_info): Add ns_display_info to union.
7698 * terminal.c (Fterminal_live_p): Add ns to terminal types.
7699 * terminfo.c (UP, BC, PC): Don't declare when compiling under NS in
7700 COCOA environment.
7701 * unexnext.c: Update to work with mach API on Mac OS X, and to use new
7702 unexec() signature. (Note, this will dump, but the resulting file
7703 crashes; unexosx is used instead; keeping around for reference and
7704 possible aid in getting dump working under GNUstep.)
7705 * w32gui.h (button_type, widget_value): Remove definitions (now in
7706 keyboard.h).
7707 * window.c: Include nsterm.h when compiling under NS.
7708 * xdisp.c (includes): Include nsterm.h when compiling under NS.
7709 (set_frame_menubar, update_menu_bar, display_menu_bar): Handle NS as
7710 other GUI windowing systems.
7711 (update_tool_bar, redisplay_tool_bar, redisplay_window): Handle NS as
7712 GTK.
7713 (x_consider_frame_title): Under NS, set icon type and frame
7714 modified-state indicator; use ns_set_name_as_filename() when using
7715 formatted title.
7716 (update_window_cursor): Make public when compiling under NS.
7717 (display_hourglass_p, syms_of_xdisp, hourglass_shown_p)
7718 (hourglass_atimer, Vhourglass_delay
7719 * xfaces.c (header section, init_frame_faces, clear_font_table)
7720 (defined_color, unload_color, x_face_list_fonts)
7721 (prepare_face_for_display): Add NS support parallel to other GUIs.
7722 Emulate GCs like other non-X GUIs.
7723 (split_font_name): Don't lowercase font name under NS.
7724 (merge_face_ref, Finternal_set_lisp_face_attribute): Support stippling
7725 under NS.
7726 * s/darwin.h: Add support for compilation under NS.
7727
7728 2008-07-15 Jason Rumney <jasonr@gnu.org>
7729
7730 * w32fns.c (Fx_create_frame): Remove duplicate unwind_protect.
7731 (w32_show_hourglass): Rename from show_hourglass.
7732 (w32_hide_hourglass): Rename from hide_hourglass.
7733 (DEFAULT_HOURGLASS_DELAY): Revert from last change.
7734 (Vhourglass_delay): Declare extern.
7735 (hourglass_started): Remove.
7736
7737 * xdisp.c (Vhourglass_delay): Remove static.
7738 (hourglass_started, start_hourglass, cancel_hourglass):
7739 Don't include these versions on WINDOWSNT.
7740
7741 2008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
7742
7743 * dispextern.h (hourglass_shown_p, hourglass_atimer): New extern
7744 variables (formerly in xfns.c).
7745 (show_hourglass, hide_hourglass): New prototypes (same).
7746 * xdisp.c (display_hourglass_p, hourglass_shown_p, hourglass_atimer)
7747 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY): New variables (formerly
7748 in xfns.c).
7749 (syms_of_xdisp): Declare/initialize display-hourglass,
7750 hourglass-delay. Initialize hourglass_atimer, hourglass_shown_p.
7751 (hourglass_started, start_hourglass, cancel_hourglass): New functions,
7752 formerly in xfns.c.
7753 * xfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
7754 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
7755 (start_hourglass, cancel_hourglass): Remove.
7756 (show_hourglass, hide_hourglass): Remove prototypes and static
7757 modifiers.
7758 (syms_of_xfns): Remove display-hourglass, hourglass-delay,
7759 hourglass_atimer, hourglass_shown_p declaration/initialization.
7760 * macfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
7761 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
7762 (start_hourglass, cancel_hourglass): Remove.
7763 (show_hourglass, hide_hourglass): Remove prototypes and static
7764 modifiers.
7765 (syms_of_macfns): Remove display-hourglass, hourglass-delay,
7766 hourglass_atimer, hourglass_shown_p declaration/initialization.
7767 * w32fns.c (display_hourglass_p, Vhourglass_delay)
7768 (DEFAULT_HOURGLASS_DELAY): Remove.
7769 (syms_of_w32fns): Remove display-hourglass, hourglass-delay,
7770 hourglass_shown_p declaration/initialization.
7771
7772 2008-07-14 Jason Rumney <jasonr@gnu.org>
7773
7774 * w32fns.c (w32_get_arg): Remove wrapper function.
7775 (w32_createwindow, x_icon, x_create_tip_frame): Use x_get_arg
7776 directly.
7777 (Fx_create_frame): Sync with xfns.c. Use x_get_arg directly.
7778
7779 2008-07-14 Kenichi Handa <handa@m17n.org>
7780
7781 * xfont.c (xfont_open): Add workaround for X's bug.
7782
7783 2008-07-14 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
7784
7785 * fontset.c: Include <stdio.h> unconditionally.
7786
7787 2008-07-13 Michael Albinus <michael.albinus@gmx.de>
7788
7789 * dbusbind.c (Fdbus_register_signal): Allow also signal arguments
7790 for filtering.
7791
7792 2008-07-13 Dan Nicolaescu <dann@ics.uci.edu>
7793
7794 * s/vms.h: Use __GNUC__ instead of _GNUC_.
7795
7796 * m/macppc.h:
7797 * m/alpha.h: Use GNU_LINUX instead of LINUX. Reorganize conditionals.
7798
7799 * m/ibms390x.h (XINT, XUINT): Don't define, same as the default
7800 (SPECIAL_EMACS_INT):
7801 * m/ia64.h (SPECIAL_EMACS_INT):
7802 * m/amdx86-64.h (SPECIAL_EMACS_INT):
7803 * s/gnu.h (NLIST_STRUCT):
7804 * s/aix4-2.h (X11R5_INHIBIT_I18N):
7805 * s/gnu-linux.h (LINUX):
7806 * s/msdos.h (HAVE_FACES):
7807 * s/ms-w32.h (HAVE_FACES): Don't define, unused.
7808
7809 * systty.h:
7810 * sysdep.c (setup_pty): Don't depend on SYSV_PTYS, it is not used
7811 anymore.
7812
7813 2008-07-12 Dan Nicolaescu <dann@ics.uci.edu>
7814
7815 * syswait.h: Remove old if 0 code. Do not define WAITTYPE, it was
7816 always defined as int.
7817
7818 * s/netbsd.h (HAVE_UNION_WAIT, HAVE_WAIT_HEADER, WAIT_USE_INT):
7819 * s/gnu.h (HAVE_WAIT_HEADER, WAIT_USE_INT, HAVE_UNION_WAIT):
7820 * s/gnu-linux.h (HAVE_WAIT_HEADER):
7821 * s/freebsd.h (HAVE_WAIT_HEADER):
7822 * s/bsd-common.h (HAVE_UNION_WAIT):
7823 * s/aix4-2.h (HAVE_WAIT_HEADER):
7824 * m/mips.h (HAVE_UNION_WAIT):
7825 * s/usg5-4.h (HAVE_WAIT_HEADER, WAITTYPE): Do not define, not used.
7826 (COFF, static): Do not define, they are undefined later in the file.
7827
7828 * process.c (update_status): Don't use a union.
7829 (status_convert):
7830 (sigchld_handler): Use int instead of WAITTYPE.
7831
7832 2008-07-12 Chong Yidong <cyd@stupidchicken.com>
7833
7834 * indent.c (Fvertical_motion): Restore hscroll before moving to
7835 goal column.
7836
7837 2008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
7838
7839 * lisp.h: Remove left over code.
7840
7841 2008-07-11 Andreas Schwab <schwab@suse.de>
7842
7843 * lisp.h: Fix logic in last change.
7844
7845 * menu.h: New file.
7846 * menu.c: Include it.
7847 * xmenu.c: Likewise.
7848 * Makefile.in: Update dependencies.
7849
7850 2008-07-11 Kenichi Handa <handa@m17n.org>
7851
7852 * fontset.c (fontset_from_font): Cancel the previous change.
7853
7854 2008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
7855
7856 * lisp.h:
7857 * w32heap.c:
7858 * emacs.c:
7859 * alloc.c: Replace all references of NO_UNION_TYPE with
7860 USE_LISP_UNION_TYPE.
7861
7862 * m/xtensa.h (NO_UNION_TYPE):
7863 * m/vax.h (NO_UNION_TYPE):
7864 * m/template.h (NO_UNION_TYPE):
7865 * m/sparc.h (NO_UNION_TYPE):
7866 * m/mips.h (NO_UNION_TYPE):
7867 * m/macppc.h (NO_UNION_TYPE):
7868 * m/m68k.h (NO_UNION_TYPE):
7869 * m/iris4d.h (NO_UNION_TYPE):
7870 * m/intel386.h (NO_UNION_TYPE):
7871 * m/ibms390x.h (NO_UNION_TYPE):
7872 * m/ibms390.h (NO_UNION_TYPE):
7873 * m/ibmrs6000.h (NO_UNION_TYPE):
7874 * m/ia64.h (NO_UNION_TYPE):
7875 * m/hp800.h (NO_UNION_TYPE):
7876 * m/arm.h (NO_UNION_TYPE):
7877 * m/amdx86-64.h (NO_UNION_TYPE):
7878 * m/alpha.h (NO_UNION_TYPE): Remove definition, all platform were
7879 defining it the same.
7880
7881 2008-07-10 Chong Yidong <cyd@stupidchicken.com>
7882
7883 * xdisp.c (move_it_to): Backtrack if past the edge of a wrapped line.
7884
7885 2008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
7886
7887 * fileio.c:
7888 * sysdep.c
7889 * systty.h:
7890 * m/ibmrs6000.h:
7891 * m/iris4d.h:
7892 * s/aix4-2.h:
7893 * s/freebsd.h:
7894 * s/gnu-linux.h:
7895 * s/hpux10-20.h:
7896 * s/hpux11.h:
7897 * s/netbsd.h:
7898 * s/sol2-3.h:
7899 * s/sol2-4.h:
7900 * s/sol2.h:
7901 * s/usg5-4.h:
7902 * s/vms.h: Remove references to unused variables.
7903
7904 2008-07-10 Andreas Schwab <schwab@suse.de>
7905
7906 * ftfont.c (ftfont_resolve_generic_family): Remove foundry from
7907 pattern before matching the generic family.
7908
7909 2008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
7910
7911 * unexec.c:
7912 * s/vms.h:
7913 * s/usg5-4-2.h:
7914 * s/sol2-5.h:
7915 * s/freebsd.h:
7916 * s/darwin.h: Remove dead code.
7917
7918 * m/template.h:
7919 * m/sparc.h:
7920 * m/mips.h:
7921 * m/m68k.h:
7922 * m/iris4d.h:
7923 * m/intel386.h:
7924 * m/ibms390x.h:
7925 * m/ibms390.h:
7926 * m/ia64.h:
7927 * m/hp800.h:
7928 * m/arm.h:
7929 * m/amdx86-64.h: Remove dead code and references to unused
7930 and compiler defined symbols.
7931
7932 * unexmips.c:
7933 * unexelf.c: Remove references to desupported systems.
7934
7935 * m/powermac.h: Remove file, it is now identical to m/macppc.h.
7936
7937 * m/powermac.h: Remove boilerplate comments.
7938 (NO_REMAP): Remove unused definition.
7939
7940 * m/macppc.h (UNEXEC, NO_TERMIO): Don't define, the s/ files
7941 define them.
7942
7943 2008-07-10 Kenichi Handa <handa@m17n.org>
7944
7945 * xfont.c (xfont_open): Log the reason of failure.
7946
7947 2008-07-09 Stefan Monnier <monnier@iro.umontreal.ca>
7948
7949 * fontset.c (fontset_get_font_group):
7950 * font.c (font_check_otf): Specify argument types.
7951
7952 2008-07-09 Kenichi Handa <handa@m17n.org>
7953
7954 * coding.c (detect_coding_utf_8): Set detect_info->found only when
7955 non-ASCII char is found.
7956
7957 * fontset.c (fontset_compare_rfontdef): Fix plus/minus.
7958 (reorder_font_vector): Change the arg preferred_family to font.
7959 Prefer the spec matching with font.
7960 (fontset_get_font_group): New function.
7961 (fontset_find_font): Change the format of an element of a realized
7962 fontset. Use fontset_get_font_group.
7963 (fontset_font): Try the current fontset, the default fontset, the
7964 fallbacks of the current fontset, and the fallbacks of the default
7965 fontset in this order.
7966 (face_for_char): Delete the shortcut to use the current font.
7967 (fontset_from_font): Don't set fonts for Latin in the fontset.
7968
7969 * font.h (font_make_object, font_match_p): Adjust prototypes.
7970
7971 * ftfont.h [FT_BDF_H]: Include FT_BDF_H.
7972
7973 * font.c (font_make_object): New arg entity and pixelsize.
7974 (font_check_otf_features, font_check_otf): New functions.
7975 (font_match_p): Check :lang, :script, and :otf properties.
7976
7977 * xfont.c (xfont_open): Adjust it for the change of
7978 font_make_object.
7979 (xfont_text_extents): Fix initial setting of metrics.
7980
7981 * ftfont.c (struct ftfont_info): New member index, delete member
7982 fc_charset_idx. Make the member order compatible with struct
7983 xftfont_info.
7984 (fc_charset_table): Change charset names to registry names.
7985 (ftfont_pattern_entity): Delete the args registry and
7986 fc_charset_idx. Change the value of :font-entity property
7987 to (FONTNAME . INDEX). Always set :registry property to
7988 `iso10646-1'.
7989 (struct ftfont_cache_data): New struct.
7990 (ftfont_lookup_cache): New arg for_face.
7991 (ftfont_get_fc_charset, ftfont_get_otf): New functions.
7992 (ftfont_driver): Set the member otf_capability.
7993 (ftfont_get_charset): Adjust it for the change of
7994 fc_charset_table.
7995 (OTF_TAG_SYM): New macro.
7996 (ftfont_spec_pattern): Delete the arg fc_charset_idx. Adjust it
7997 for the change of fc_charset_table.
7998 (ftfont_list): Adjust it for the change of ftfont_spec_pattern and
7999 ftfont_pattern_entity. Add FC_INDEX to objset.
8000 (ftfont_match): Adjust it for the change of ftfont_spec_pattern
8001 and ftfont_pattern_entity.
8002 (ftfont_open): Adjust it for the change of ftfont_lookup_cache,
8003 font_make_object, struct ftfont_info.
8004 (ftfont_has_char): Use ftfont_get_fc_charset.
8005 (ftfont_otf_features, ftfont_otf_capability): New functions.
8006 (ftfont_shape): Use ftfont_get_otf.
8007 (ftfont_text_extents): Fix initial setting of metrics.
8008
8009 * xftfont.c (struct xftfont_info): New member ft_size. Make the
8010 member order compatible with struct ftfont_info.
8011 (xftfont_open): Add FC_CHARSET to the pattern. Set
8012 xftfont_info->ft_size. Don't unlock the face. Check BDF
8013 properties if appropriate.
8014 (xftfont_close): Unlock the face.
8015 (xftfont_anchor_point, xftfont_shape): Deleted.
8016 (syms_of_xftfont): Don't set members anchor_point and shape of
8017 xftfont_driver.
8018
8019 * w32uniscribe.c (uniscribe_open): Adjust it for the change of
8020 font_make_object.
8021
8022 * w32font.c (w32font_open): Adjust it for the change of
8023 font_make_object.
8024 (w32font_open_internal): Don't set properties of font_object here.
8025
8026 2008-07-08 Chong Yidong <cyd@stupidchicken.com>
8027
8028 * macfns.c (x_create_tip_frame):
8029 * w32fns.c (x_create_tip_frame):
8030 * xfns.c (x_create_tip_frame): Pass parameter argument to
8031 face-set-after-frame-default.
8032
8033 * xfaces.c (Finternal_merge_in_global_face): Save merged
8034 attributes for the default face back into the face vector.
8035
8036 2008-07-08 Andreas Schwab <schwab@suse.de>
8037
8038 * fontset.h: Declare fontset_from_font. Don't declare
8039 new_fontset_from_font and fontset_from_font_name.
8040 * xterm.c: Include "fontset.h".
8041 * Makefile.in (xterm.o): Update dependencies.
8042
8043 2008-07-08 Glenn Morris <rgm@gnu.org>
8044
8045 * m/sparc.h: Define __sparc__ rather than sparc. (Bug#507.)
8046 * alloc.c, ecrt0.c: Use __sparc__ rather than sparc.
8047
8048 2008-07-07 Chong Yidong <cyd@stupidchicken.com>
8049
8050 * frame.c (Qinhibit_face_set_after_frame_default): Var deleted.
8051 (x_set_frame_parameters): Don't bind it.
8052
8053 2008-07-07 Juanma Barranquero <lekktu@gmail.com>
8054
8055 * w32fns.c (map_w32_filename): Declare extern.
8056
8057 2008-07-07 Jason Rumney <jasonr@gnu.org>
8058
8059 * w32term.c (WS_EX_LAYERED): Define if not already.
8060
8061 2008-07-06 Chong Yidong <cyd@stupidchicken.com>
8062
8063 * xfaces.c (set_font_frame_param): Don't try to set the font
8064 parameter if it is still unspecified in the lface.
8065
8066 2008-07-05 Chong Yidong <cyd@stupidchicken.com>
8067
8068 * xfaces.c (Finternal_merge_in_global_face): Don't realize default
8069 face if it didn't already exist.
8070
8071 * xdisp.c (try_window_id): Give up if word-wrapping is on.
8072
8073 2008-07-05 Andreas Schwab <schwab@suse.de>
8074
8075 * xdisp.c (get_it_property): Move out of HAVE_WINDOW_SYSTEM section.
8076
8077 2008-07-05 Chong Yidong <cyd@stupidchicken.com>
8078
8079 * xdisp.c (IT_OVERFLOW_NEWLINE_INTO_FRINGE): Turn it off if
8080 word-wrapping.
8081 (IT_DISPLAYING_WHITESPACE): New macro.
8082 (move_it_in_display_line_to): Handle MOVE_TO_X requests properly
8083 when word-wrapping. Simplify word-wrapping logic. Use correct
8084 pixel positions when saving copies of the iterator.
8085 (display_line): Use proper wrap point if the last character on a
8086 line was preceded by whitespace.
8087
8088 2008-07-04 Stefan Monnier <monnier@iro.umontreal.ca>
8089
8090 * Makefile.in (${etc}DOC): Depend on ${lisp} rather than ${shortlisp}.
8091
8092 2008-07-04 Kenichi Handa <handa@m17n.org>
8093
8094 * fns.c (Fstring_to_unibyte): Delete the arg ACCEPT-LATIN-1.
8095
8096 * lisp.h: EXFUN adjusted for the change of Fstring_to_unibyte.
8097
8098 2008-07-02 Jason Rumney <jasonr@gnu.org>
8099
8100 * xfns.c (syms_of_xfns): Only define x-select-font when both
8101 HAVE_FREETYPE and USE_GTK.
8102
8103 * xdisp.c (next_element_from_display_vector): Move assignment out
8104 of if statement.
8105
8106 2008-07-02 Toru Tsuneyoshi <t_tuneyosi@hotmail.com>
8107
8108 * lisp.h (Qdelete_file, Qdelete_directory): Declare extern.
8109
8110 * fileio.c (delete_by_moving_to_trash, Qmove_file_to_trash): New vars.
8111 (syms_of_fileio): Initialize and export them.
8112 (Fdelete_directory, Fdelete_file): Optionally delete via trash.
8113
8114 * w32fns.c (FOF_NO_CONNECTED_ELEMENTS): Define if not already.
8115 (Fsystem_move_file_to_trash): New function.
8116 (syms_of_w32fns): Export it to lisp.
8117
8118 2008-07-01 Jason Rumney <jasonr@gnu.org>
8119
8120 * w32font.c (w32font_text_extents): Don't count overhang as part
8121 of width.
8122
8123 2008-06-30 Miles Bader <miles@gnu.org>
8124
8125 * dispextern.h (struct glyph, struct it, struct iterator_stack_entry):
8126 Add `avoid_cursor_p' field.
8127
8128 * xdisp.c (push_it, pop_it): Save/restore avoid_cursor_p field.
8129 (set_cursor_from_row): Skip glyphs with avoid_cursor_p set.
8130 (append_glyph, append_composite_glyph, produce_image_glyph)
8131 (append_stretch_glyph): Initialize avoid_cursor_p.
8132 (get_it_property): Rename from `get_line_height_property'.
8133 (x_produce_glyphs): Use get_it_property.
8134 (handle_line_prefix, push_display_prop): New functions.
8135 (display_line, move_it_in_display_line_to): Handle line/wrap prefixes.
8136 (Vwrap_prefix, Qwrap_prefix, Vline_prefix, Qline_prefix):
8137 New variables.
8138 (syms_of_xdisp): Initialize them.
8139
8140 2008-06-30 Kenichi Handa <handa@m17n.org>
8141
8142 * xftfont.c (xftfont_open): Don't call FcConfigSubstitute and
8143 XftDefaultSubstitute (they are called in XftFontMatch).
8144 (xftfont_open): Fix args to ftfont_font_format.
8145
8146 * ftfont.c (fc_charset_table): New member lang.
8147 (ftfont_resolve_generic_family): New arg pattern.
8148 (ftfont_spec_pattern): Check fc_charset_table[]->lang.
8149 (ftfont_list): Call ftfont_resolve_generic_family with `pattern'.
8150 (ftfont_open): Fix args to ftfont_font_format.
8151 (ftfont_font_format): New arg filename.
8152
8153 2008-06-30 Chong Yidong <cyd@stupidchicken.com>
8154
8155 * xfaces.c (Finternal_merge_in_global_face): If default face was
8156 modified, realize it again. Update the font face attribute.
8157
8158 2008-06-29 Jason Rumney <jasonr@gnu.org>
8159
8160 * w32term.c (x_set_frame_alpha): Fix logic.
8161
8162 2008-06-29 Kenichi Handa <handa@m17n.org>
8163
8164 * fontset.c (Finternal_char_font): Return font-object instead of
8165 font-name.
8166
8167 * composite.c (get_composition_id): Fix the width calculation for TAB.
8168
8169 2008-06-29 Stefan Monnier <monnier@iro.umontreal.ca>
8170
8171 * indent.c (Fvertical_motion): Properly handle float column arg.
8172
8173 2008-06-28 Jason Rumney <jasonr@gnu.org>
8174
8175 * w32term.c (pfnGetFontUnicodeRanges): Remove unused function pointer.
8176 (pfnSetLayeredWindowAttributes): New function pointer.
8177 (w32_initialize): Initialize it when supported.
8178 (x_set_frame_alpha): New function.
8179
8180 * w32fns.c (Fx_create_frame): Initialize frame parameter `alpha'.
8181 (w32_frame_parm_handlers): Set alpha handler.
8182
8183 * frame.c (x_set_alpha) [HAVE_NTGUI]: Call x_set_frame_alpha.
8184
8185 2008-06-27 Jason Rumney <jasonr@gnu.org>
8186
8187 * w32fns.c (x_to_w32_font, w32_to_x_font, x_to_w32_weight)
8188 (w32_to_x_weight, w32_to_all_x_charsets): Remove obsolete functions.
8189 (w32_to_x_charset, x_to_w32_charset)
8190 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
8191 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
8192 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
8193 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
8194 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
8195 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
8196 (Qw32_charset_mac, Vw32_charset_info_alist): Move to w32font.c.
8197 (Qw32_charset_unicode): Remove.
8198 (syms_of_w32fns): Update for above changes.
8199
8200 * w32font.c (w32_to_x_charset, x_to_w32_charset)
8201 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
8202 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
8203 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
8204 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
8205 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
8206 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
8207 (Qw32_charset_mac, Vw32_charset_info_alist): Move from w32fns.c.
8208 (syms_of_w32font): Update for above changes.
8209
8210 2008-06-27 Dan Nicolaescu <dann@ics.uci.edu>
8211
8212 * s/usg5-4.h: Fix previous change: keep the correct branch of a
8213 removed #if.
8214 (USG_SHARED_LIBRARIES): Remove duplicate definition.
8215
8216 2008-06-26 Juanma Barranquero <lekktu@gmail.com>
8217 Eli Zaretskii <eliz@gnu.org>
8218
8219 * makefile.w32-in (LOCAL_FLAGS):
8220 Don't include WINDOWSNT, DOS_NT and _UCHAR_T.
8221
8222 * sysdep.c (_spawnlp, _getpid):
8223 Declare with explicit _cdecl instead of _CRTAPI1.
8224
8225 * editfns.c (Fget_internal_run_time):
8226 Check for WINDOWSNT with #ifdef, not #if.
8227
8228 2008-06-26 Jason Rumney <jasonr@gnu.org>
8229
8230 * w32font.h (FONT_HANDLE, FONT_TEXTMETRIC): New macros.
8231
8232 * w32term.c (x_draw_glyph_string_foreground)
8233 (x_draw_composite_glyph_string_foreground): Sync with xterm.c.
8234 Use FONT_HANDLE macro.
8235 (x_draw_glyph_string): Use FONT_TEXTMETRIC macro.
8236
8237 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
8238 (uniscribe_encode_char): Use FONT_HANDLE macro.
8239
8240 * w32font.c (Fx_select_font): Use FONT_HANDLE macro.
8241 (w32font_text_extents): Use precast w32_font.
8242 (w32font_close): Free cached metrics.
8243 (w32font_open_internal): Allocate space for name on stack.
8244
8245 2008-06-26 Chong Yidong <cyd@stupidchicken.com>
8246
8247 * xdisp.c (extend_face_to_end_of_line): Fix last change.
8248
8249 2008-06-26 Jason Rumney <jasonr@gnu.org>
8250
8251 * w32term.h (FONT_AVG_WIDTH): Remove obsolete macro.
8252 (CP_8BIT, CP_UNICODE, CP_UNKNOWN): Remove obsolete constants.
8253
8254 2008-06-26 Juanma Barranquero <lekktu@gmail.com>
8255
8256 * Makefile.in (SOME_MACHINE_OBJECTS): Remove w32bdf.o.
8257
8258 2008-06-26 Jason Rumney <jasonr@gnu.org>
8259
8260 * w32bdf.c, w32bdf.h: Remove obsolete files.
8261
8262 * makefile.w32-in: Remove refs to w32bdf.h and w32bdf.c.
8263
8264 * w32gui.h: Don't include w32bdf.h.
8265 (XCharStruct, enum w32_char_font_type, W32FontStruct):
8266 Remove obsolete font support.
8267
8268 * w32font.h (struct w32font_info): Remove compat_w32_font.
8269 Add hfont member.
8270 (FONT_COMPAT): Remove obsolete macro.
8271
8272 * w32font.c (w32font_close): Remove compat code. Delete hfont member.
8273 (w32font_encode_char, w32font_text_extents): Use new hfont member.
8274 (w32font_open_internal): Remove compat code. Set new hfont member.
8275 (Fx_select_font): Use new hfont member.
8276
8277 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
8278 (uniscribe_encode_char): Use new hfont member.
8279
8280 * w32term.c (x_draw_glyph_string_foreground)
8281 (x_draw_composite_glyph_string_foreground): Use new hfont member.
8282 (x_draw_glyph_string): Use metrics in w32font_info.
8283
8284 2008-06-26 Kenichi Handa <handa@m17n.org>
8285
8286 * xdisp.c (handle_auto_composed_prop): Fix for the terminal case.
8287
8288 2008-06-26 Dan Nicolaescu <dann@ics.uci.edu>
8289
8290 * unexnext.c:
8291 * m/ews4800.h:
8292 * m/hp9000s300.h:
8293 * m/ibm370aix.h:
8294 * m/mips-siemens.h:
8295 * m/ncr386.h:
8296 * m/next.h:
8297 * m/pmax.h:
8298 * m/powerpcle.h:
8299 * m/tandem-s2.h:
8300 * s/386bsd.h:
8301 * s/bsd386.h:
8302 * s/bsd4-1.h:
8303 * s/bsd4-2.h:
8304 * s/bsdos2-1.h:
8305 * s/bsdos2.h:
8306 * s/bsdos3.h:
8307 * s/bsdos4.h:
8308 * s/nextstep.h:
8309 * s/ultrix4-3.h:
8310 * s/usg5-0.h:
8311 * s/usg5-2-2.h:
8312 * s/usg5-2.h:
8313 * s/usg5-4-3.h:
8314 * s/ux4800.h:
8315 * s/uxpds.h:
8316 * s/uxpv.h: Remove support for obsolete systems.
8317 * s/hpux.h, s/hpux10.h, s/hpux8.h, s/hpux9.h, s/hpux9shr.h:
8318 Remove, insert contents in s/hpux10-20.h.
8319 * s/aix3-1.h, s/aix3-2-5.h, s/aix3-2.h, s/aix4-1.h, s/aix4.h:
8320 Remove, insert contents in s/aix4-2.h.
8321 * s/usg5-3.h: Remove, insert contents in s/usg5-4.h.
8322 * s/bsd4-3.h: Rename to ...
8323 * s/bsd-common.h: ... this.
8324 * data.c:
8325 * doc.c:
8326 * ecrt0.c:
8327 * emacs.c:
8328 * fileio.c:
8329 * floatfns.c:
8330 * keyboard.c:
8331 * mem-limits.h:
8332 * print.c:
8333 * process.c:
8334 * sysdep.c:
8335 * syssignal.h:
8336 * systty.h:
8337 * syswait.h:
8338 * term.c:
8339 * unexec.c:
8340 * unexelf.c:
8341 * unexhp9k800.c:
8342 * m/hp800.h:
8343 * m/ibmrs6000.h:
8344 * m/mips.h:
8345 * m/vax.h:
8346 * s/darwin.h:
8347 * s/freebsd.h:
8348 * s/gnu.h:
8349 * s/ms-w32.h:
8350 * s/msdos.h:
8351 * s/netbsd.h:
8352 * s/template.h: Remove references to obsolete variables.
8353
8354 * Makefile.in: Add dependencies for all unexec files.
8355 (admindir): Remove unused variable.
8356 (UNEXEC_SRC): Remove references.
8357
8358 2008-06-25 Chong Yidong <cyd@stupidchicken.com>
8359
8360 * xfns.c (x_default_font_parameter): If Xft is available, first
8361 try Monospace-12 for the default font.
8362
8363 2008-06-25 Jason Rumney <jasonr@gnu.org>
8364
8365 * xdisp.c (get_glyph_face_and_encoding): Encode invalid glyphs as 0.
8366
8367 2008-06-25 Stefan Monnier <monnier@iro.umontreal.ca>
8368
8369 * bytecode.c (Fbyte_code): Disable debugging code that doesn't compile.
8370
8371 * buffer.c (syms_of_buffer): Remove default-word-wrap.
8372
8373 2008-06-25 Juanma Barranquero <lekktu@gmail.com>
8374
8375 * xdisp.c (syms_of_xdisp) <truncate-partial-width-windows>: Doc fix.
8376 <scroll-conservatively>: Fix typo in docstring.
8377
8378 * xselect.c (Fx_send_client_event): Doc fix.
8379
8380 2008-06-25 Kenichi Handa <handa@m17n.org>
8381
8382 * xfaces.c (Fx_list_fonts): Call Flist_fonts with the arg PREFER.
8383
8384 * font.c (font_parse_fcname): Remove unused variables.
8385 (font_sort_entites): Delete the arg SPEC. Caller changed.
8386 Fix for the case of ! best_only.
8387 (font_delete_unmatched): Check DPI and AVGWIDTH too.
8388
8389 * lisp.h (Fstring_to_unibyte): EXFUN it.
8390
8391 * character.h (str_to_unibyte): Extern it.
8392
8393 * character.c (str_to_unibyte): New function.
8394
8395 * fns.c (Fstring_to_unibyte): New function.
8396 (syms_of_fns): Defsubr it.
8397
8398 2008-06-24 Kenichi Handa <handa@m17n.org>
8399
8400 * font.c (font_score): Even if the PIXEL_SIZE is the same, check
8401 DPI too.
8402 (font_sort_entites): Setup prefer_prop[FONT_DPI_INDEX] too.
8403
8404 2008-06-24 Andreas Schwab <schwab@suse.de>
8405
8406 * Makefile.in (${lispsource}loaddefs.el): Rename from
8407 ../lisp/loaddefs.el.
8408 (bootstrap-clean): Do what distclean does but don't remove
8409 Makefile.
8410 (distclean): Depend on bootstrap-clean and remove Makefile.
8411
8412 2008-06-24 Chong Yidong <cyd@stupidchicken.com>
8413
8414 * buffer.h (struct buffer): New member word_wrap.
8415
8416 * buffer.c (syms_of_buffer): New variables default-word-wrap and
8417 word-wrap.
8418 (init_buffer_once): Initialize them.
8419
8420 * dispextern.h (struct it): Replace bool truncate_lines_p with a
8421 line_wrap enum possessing three possible values.
8422
8423 * termopts.h: Replace truncate_partial_width_windows with
8424 Vtruncate_partial_width_windows.
8425
8426 * dispnew.c (direct_output_for_insert): Avoid direct output when
8427 inserting a space with word wrap on.
8428
8429 * indent.c (compute_motion): Obey integer values of
8430 truncate-partial-width-windows.
8431
8432 * xdisp.c (Vtruncate_partial_width_windows): New Lisp_Object,
8433 replacing truncate_partial_width_windows.
8434 (init_iterator): If Vtruncate_partial_width_windows is an integer,
8435 truncate only if the window width is below that integer.
8436 (start_display, resize_mini_window, produce_stretch_glyph)
8437 (display_string, move_it_in_display_line_to): Use line_wrap.
8438 (back_to_previous_visible_line_start, reseat_1): Reset
8439 string_from_display_prop_p.
8440 (display_line): Extend default face to end of line when wrapping.
8441
8442 2008-06-24 Kim F. Storm <storm@cua.dk>
8443
8444 * xdisp.c (display_line, move_it_in_display_line_to): Add ability
8445 to wrap continued lines at word boundaries.
8446
8447 2008-06-24 Jason Rumney <jasonr@gnu.org>
8448
8449 * font.c (Ffont_face_attributes): Multiply pixel size before point
8450 conversion to avoid multiplying rounding error.
8451
8452 2008-06-23 Jason Rumney <jasonr@gnu.org>
8453
8454 * w32term.c (x_draw_glyph_string_background)
8455 (x_draw_glyph_string): Remove old bdf font code.
8456
8457 * w32term.h (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): Remove.
8458
8459 2008-06-22 Kenichi Handa <handa@m17n.org>
8460
8461 * font.c (font_find_for_lface): Try the adstyle specified in
8462 the property of LFACE_FONT of LFACE (if any).
8463
8464 2008-06-21 Seiji Zenitani <zenitani@mac.com>
8465 Ryo Yoshitake <ryo@shiftmode.net>
8466
8467 * xterm.c (x_set_frame_alpha): Add x_catch_errors for bug#437.
8468
8469 2008-06-22 Stefan Monnier <monnier@iro.umontreal.ca>
8470
8471 * Makefile.in (${lisp} ${SOME_MACHINE_LISP}, ../lisp/loaddefs.el):
8472 Use $(BOOTSTRAPEMACS) rather than witness-emacs.
8473 (bootstrap-emacs${EXEEXT}): Merge witness-emacs into it.
8474 (witness-emacs): Remove.
8475 (lisp, shortlisp): Move loaddefs.el earlier.
8476 (mostlyclean): Forget about witness-emacs.
8477
8478 2008-06-22 Glenn Morris <rgm@gnu.org>
8479
8480 * Makefile.in (witness-emacs): Depend on temacs${EXEEXT}.
8481 (.SUFFIXES): Declare .el.elc as a suffix rule, for non-GNU makes.
8482
8483 2008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
8484
8485 * Makefile.in (PRECOMP): Remove.
8486 (${lisp} ${SOME_MACHINE_LISP}): Remove pseudo dependency on PRECOMP.
8487 (witness-emacs): Run `compile-first'.
8488 (.el.elc): Use the new compile-onefile target.
8489
8490 2008-06-21 Kenichi Handa <handa@m17n.org>
8491
8492 * xftfont.c (xftfont_open): Handle QCembolden only when
8493 FC_EMBOLDEN is defined.
8494
8495 2008-06-21 Andreas Schwab <schwab@suse.de>
8496
8497 * Makefile.in (witness-emacs): Use ../lisp, not $(lispsource).
8498 (.el.elc): Likewise.
8499
8500 2008-06-21 Miles Bader <miles@gnu.org>
8501
8502 * Makefile.in (../lisp/loaddefs.el): Build autoloads in the lisp
8503 build dir, not the lisp source dir.
8504
8505 2008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
8506
8507 * Makefile.in (emacs${EXEEXT}): Link the new emacs to bootstrap-emacs.
8508 (bootstrapclean): Remove.
8509 (.el.elc): New rule.
8510 (PRECOMP): New var.
8511 (../lisp/subdirs.el): Remove.
8512 (bootstrap-emacs${EXEEXT}): Remove subdirs.el and charpro.el dependency.
8513 (witness-emacs): New target.
8514 (mostlyclean): Remove witness-emacs as well.
8515 (../lisp/loaddefs.el, ${lisp} ${SOME_MACHINE_LISP}):
8516 Add witness-emacs dependency.
8517
8518 2008-06-20 Chong Yidong <cyd@stupidchicken.com>
8519
8520 * font.c (Ffont_face_attributes): Omit key-attribute pairs not
8521 defined by the font.
8522
8523 2008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
8524
8525 * Makefile.in (emacs${EXEEXT}): Depend on the machine-specific files.
8526 (bootstrap-clean): New target that keeps TAGS around.
8527 (../lisp/subdirs.el, ../lisp/loaddefs.el): New targets.
8528 (bootstrap-emacs${EXEEXT}): Depend on subdirs.el.
8529
8530 2008-06-20 Jason Rumney <jasonr@gnu.org>
8531
8532 * w32fns.c, w32term.c, w32term.h, w32gui.h [OLD_FONT]:
8533 Remove obsolete font code.
8534
8535 * w32font.c (font_matches_spec): Use csb bitfield from font signature
8536 to determine language support.
8537
8538 2008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
8539
8540 * sysdep.c (cfsetspeed): New fun extracted from the code.
8541 (cfmakeraw): Move before first use.
8542
8543 2008-06-20 Angelo Graziosi <angelo.graziosi@alice.it> (tiny change)
8544
8545 * sysdep.c (cfmakeraw): Provide fallback implementation.
8546 (serial_configure): Provide fallback implementation of cfsetspeed.
8547
8548 2008-06-20 Kenichi Handa <handa@m17n.org>
8549
8550 * xftfont.c (xftfont_open): Add FOUNDRY, SPACING, DPI, SCALABLE to
8551 the pattern.
8552
8553 * fontset.c (fontset_from_font): Copy font_spec before changing
8554 the elements.
8555
8556 * xfns.c (x_default_font_parameter): Try "monospace-12" too.
8557
8558 2008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
8559
8560 * w32fns.c, xfns.c (x_default_font_parameter): Only set `font-param'
8561 for explicit `font' parameters.
8562
8563 * frame.c (x_set_font): Remove unexplained call to fix inf-recursion.
8564
8565 2008-06-19 Kenichi Handa <handa@m17n.org>
8566
8567 * frame.c: Include <ctype.h>.
8568 (x_set_font_backend): Allow spacing characters in the X resource
8569 for FontBackend.
8570
8571 2008-06-19 Stefan Monnier <monnier@iro.umontreal.ca>
8572
8573 * w32fns.c, xfns.c (Qfont_param): New var.
8574 (syms_of_w32fns): Initialize it.
8575 (x_default_font_parameter): Record explicit `font' into
8576 `font-parameter'.
8577
8578 2008-06-18 Kenichi Handa <handa@m17n.org>
8579
8580 * font.c (font_parse_xlfd): Fix previous change.
8581 (font_parse_fcname): Don't use :fc-unknown-spec.
8582 (FRAME_X_DISPLAY_INFO): Be sure to have at least 1 pixel height.
8583 (Fcopy_font_spec): Preserve the order of elements in FONT_EXTRA.
8584 (font_add_log): Prepend the driver name to the resulting fonts.
8585
8586 * ftfont.c (ftfont_pattern_entity): New arg extra. Caller changed.
8587 (ftfont_spec_pattern): Don't check QCfc_unknown_spec and QCname.
8588 (ftfont_list) [FC_FONTFORMAT]: Include FC_FONTFORMAT in objset.
8589
8590 * xftfont.c (QChinting , QCautohint, QChintstyle, QCrgba)
8591 (QCembolden): New variables.
8592 (syms_of_xftfont): DEFSYM them.
8593 (xftfont_open): Call XftFontMatch. Don't trust the result of
8594 XftTextExtents8 if the pixel_size is less than 5.
8595
8596 2008-06-18 Andreas Schwab <schwab@suse.de>
8597
8598 * font.c (Ffont_face_attributes): Only define if HAVE_WINDOW_SYSTEM.
8599 (syms_of_font): Only defsubr if HAVE_WINDOW_SYSTEM.
8600
8601 2008-06-18 Jason Rumney <jasonr@gnu.org>
8602
8603 * w32font.c (w32font_list, w32font_match): Add logging.
8604
8605 * w32uniscribe.c (uniscribe_list, uniscribe_match): Add logging.
8606
8607 2008-06-17 Chong Yidong <cyd@stupidchicken.com>
8608
8609 * font.c (font_parse_fcname): Store divider characters for
8610 unknown-spec list. For known key symbols, intern using correct
8611 symbol name.
8612
8613 2008-06-17 Kenichi Handa <handa@m17n.org>
8614
8615 * xfaces.c (realize_default_face): If the frame is not on window
8616 system, set the fontset of face to nil.
8617
8618 2008-06-17 Naohiro Aota <nao.aota@gmail.com> (tiny change)
8619
8620 * fontset.c (fontset_pattern_regexp): Escape some reg-expr characters.
8621
8622 2008-06-16 Juanma Barranquero <lekktu@gmail.com>
8623
8624 * dispextern.h (lookup_non_ascii_face, split_font_name_into_vector)
8625 (build_font_name_from_vector): Delete externs.
8626
8627 * xfaces.c (struct font_name): Don't declare.
8628
8629 2008-06-16 Stefan Monnier <monnier@iro.umontreal.ca>
8630
8631 * font.c (font_unparse_gtkname): Use EQ to compare Lisp_Objects.
8632
8633 2008-06-16 Chong Yidong <cyd@stupidchicken.com>
8634
8635 * font.c (font_parse_fcname): Fix handling of unknown-spec string.
8636
8637 2008-06-16 Juanma Barranquero <lekktu@gmail.com>
8638
8639 * font.c (Ffont_spec): Fix usage in docstring.
8640 (Ffont_face_attributes): Doc fix.
8641
8642 2008-06-16 Andreas Schwab <schwab@suse.de>
8643
8644 * font.c (Ffont_face_attributes): Fix definition.
8645
8646 2008-06-16 Jason Rumney <jasonr@gnu.org>
8647
8648 * font.h (font_style_symbolic_from_value): Remove.
8649
8650 * font.c (font_style_symbolic_from_value): Remove.
8651 (font_style_symbolic): Revert to pre 2008-06-13 version.
8652
8653 * w32font.c (w32_to_fc_weight): New function.
8654 (w32font_full_name, logfont_to_fcname): Use it.
8655
8656 2008-06-16 Kenichi Handa <handa@m17n.org>
8657
8658 * font.c (font_check_object): Delete it.
8659 (font_clear_cache): Check if a font-object is alive.
8660 (font_open_entity): Likewise. Set FONT_OBJLST_INDEX of a
8661 font-object to nil.
8662 (font_close_object): Don't check FONT_CLOSE_OBJECT.
8663 (font_at): Don't call font_check_object.
8664 (Ffont_get): Return a symbol for :weight, :slant, and :width.
8665
8666 2008-06-16 Katsumi Yamaoka <yamaoka@jpl.org>
8667
8668 * puresize.h (BASE_PURESIZE): Increase to 1230000.
8669
8670 2008-06-16 Chong Yidong <cyd@stupidchicken.com>
8671
8672 * font.c (font_parse_fcname): Correctly parse KEY=VAL values.
8673
8674 2008-06-15 Chong Yidong <cyd@stupidchicken.com>
8675
8676 * font.c (font_parse_fcname): Only one decimal point.
8677 (font_unparse_fcname): Handle data in family and foundry indices
8678 as symbols, not strings.
8679 (font_unparse_gtkname, Ffont_face_attributes): New functions.
8680
8681 * xfns.c (Fx_select_font): Give GTK font dialog the default font name.
8682
8683 * font.h (font_unparse_gtkname): Add prototype.
8684
8685 2008-06-15 Naohiro Aota <nao.aota@gmail.com> (tiny change)
8686
8687 * fontset.c (fontset_pattern_regexp): Escape `+' characters in pattern.
8688
8689 2008-06-15 Andreas Schwab <schwab@suse.de>
8690
8691 * font.c (font_update_drivers): Fix crash when no drivers match.
8692
8693 2008-06-15 Stefan Monnier <monnier@iro.umontreal.ca>
8694
8695 * xfns.c (Fx_create_frame): internal-border-width default to 0 for Gtk.
8696 * gtkutil.c (xg_create_frame_widgets): Don't set internal_border_width.
8697
8698 2008-06-14 Stefan Monnier <monnier@iro.umontreal.ca>
8699
8700 * xdisp.c (syms_of_xdisp): Default underline-minimum-offset to 1.
8701
8702 2008-06-13 Stefan Monnier <monnier@iro.umontreal.ca>
8703
8704 * process.c (Fserial_process_configure, Fprocess_send_eof):
8705 Use EQ to compare Lisp_Objects.
8706
8707 2008-06-13 Jason Rumney <jasonr@gnu.org>
8708
8709 * w32fns.c (Fw32_select_font): Remove old font API function.
8710
8711 * w32font.c (logfont_to_fcname): New function.
8712 (Fx_select_font): New font dialog function compatible with
8713 GTK/fontconfig version.
8714
8715 * font.c (font_style_symbolic_from_value): New function.
8716 (font_style_symbolic): Use it.
8717
8718 * font.h (font_style_symbolic_from_value): Declare new function.
8719
8720 2008-06-13 Juanma Barranquero <lekktu@gmail.com>
8721
8722 * font.c (syms_of_font) <font-weight-table, font-slant-table>:
8723 <font-width-table>: Fix typos in docstrings.
8724
8725 2008-06-13 Daniel Engeler <engeler@gmail.com>
8726
8727 These changes add serial port access.
8728 * process.c: Add HAVE_SERIAL.
8729 (Fdelete_process, Fprocess_status, Fset_process_buffer)
8730 (Fset_process_filter, Fset_process_sentinel, Fprocess_contact)
8731 (list_processes_1, select_wrapper, Fstop_process)
8732 (Fcontinue_process, Fprocess_send_eof, kill_buffer_processes)
8733 (status_notify): Modify to handle serial processes.
8734 [HAVE_SERIAL] (Fserial_process_configure)
8735 [HAVE_SERIAL] (make_serial_process_unwind, Fmake_serial_process):
8736 New functions.
8737 * process.h (struct Lisp_Process): Add `type'.
8738 * sysdep.c [HAVE_TERMIOS] (serial_open, serial_configure):
8739 New functions.
8740 * w32.c (_sys_read_ahead, sys_read, sys_write): Modify to handle
8741 serial ports.
8742 (serial_open, serial_configure): New functions.
8743 * w32.h: Add FILE_SERIAL.
8744 (struct _child_process): Add ovl_read, ovl_write.
8745
8746 2008-06-13 Kenichi Handa <handa@m17n.org>
8747
8748 * dispextern.h (enum lface_attribute_index): New member
8749 LFACE_FOUNDRY_INDEX.
8750
8751 * font.c (font_score): Delete arg alternate_families. Check only
8752 weight, slant, width, and size. Ignore the difference of alias
8753 style symbols.
8754 (font_sort_entites): Adjust for the above change. Reflect the
8755 order of font-driver to scores.
8756 (font_list_entities): Don't check alternate_familes here.
8757 (font_clear_prop): Handle foundry.
8758 (font_update_lface): Don't parse "foundry-family" form here.
8759 Handle FONT_FOUNDRY_INDEX.
8760 (font_find_for_lface): Likewise. Handle alternate families here.
8761 If registry is nil, try iso8859-1 and ascii-0.
8762 (font_open_for_lface): Pay attention to size in ENTITY.
8763 (font_open_by_name): Simplify by calling font_load_for_lface.
8764 (free_font_driver_list): Delete it.
8765 (font_update_drivers): Preserve the order of backends.
8766 (syms_of_font): Setting of sort_shift_bits adjusted for the change
8767 of font_score and font_sort_entites.
8768 (font_update_sort_order): Likewise.
8769
8770 * xfaces.c (LFACE_FOUNDRY): New macro.
8771 (check_lface_attrs): Check foundry.
8772 (set_lface_from_font): Don't parse "FOUNDRY-FAMILY" form.
8773 (merge_face_vectors): Check foundry.
8774 (merge_face_ref): Likewise.
8775 (Finternal_set_lisp_face_attribute): Likewise.
8776 (x_update_menu_appearance): Likewise.
8777 (Finternal_get_lisp_face_attribute): Likewise.
8778 (lface_hash): Likewise.
8779 (lface_same_font_attributes_p): Likewise.
8780 (x_supports_face_attributes_p): Likewise.
8781 (tty_supports_face_attributes_p): Likewise.
8782 (Finternal_set_alternative_font_family_alist): Intern strings.
8783 (Finternal_set_alternative_font_registry_alist): Downcase strings.
8784 (realize_default_face): Set LFACE_FOUNDRY (lface).
8785
8786 * xfns.c (Fx_create_frame, x_create_tip_frame): Register X
8787 font-driver at first.
8788
8789 * ftfont.c (ftfont_font_format) [! FC_FONTFORMAT]: Declare "int len;".
8790
8791 2008-06-12 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
8792
8793 * lread.c (Fload): Use xfree, not free on saved_doc_string.
8794
8795 2008-06-12 Jim Meyering <meyering@redhat.com>
8796
8797 Make unexec_free handle NULL the same way free does.
8798 * unexmacosx.c (unexec_free): Ignore a NULL argument.
8799
8800 2008-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
8801
8802 * character.h (CHAR_TO_BYTE_SAFE): New macro.
8803 * character.c (Fmultibyte_char_to_unibyte): Obey the docstring.
8804 * regex.c (RE_CHAR_TO_UNIBYTE): Use the new macro.
8805 (WEAK_ALIAS): Simplify.
8806 * syntax.c (skip_chars): Don't mark non-byte chars in the fastmap
8807 when searching a unibyte buffer.
8808
8809 2008-06-12 Chong Yidong <cyd@stupidchicken.com>
8810
8811 * xfns.c (Fx_select_font): Rename from x-font-dialog.
8812
8813 2008-06-12 Juanma Barranquero <lekktu@gmail.com>
8814
8815 * w32font.c: Include ctype.h.
8816
8817 2008-06-11 Jason Rumney <jasonr@gnu.org>
8818
8819 * w32font.c (w32font_encode_char): Detect missing glyphs that are
8820 misreported as space.
8821 (add_font_entity_to_list): Support unicode-bmp and unicode-sip
8822 as aliases for registry iso10646-1.
8823
8824 2008-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
8825
8826 * buffer.c (clone_per_buffer_values): Skip `name'.
8827
8828 2008-06-11 Chong Yidong <cyd@stupidchicken.com>
8829
8830 * font.c (font_parse_fcname): Fix last change; accept decimal
8831 points in font size.
8832
8833 2008-06-10 Jason Rumney <jasonr@gnu.org>
8834
8835 * w32uniscribe.c (add_opentype_font_name_to_list):
8836 Skip non unicode fonts.
8837
8838 2008-06-10 Chong Yidong <cyd@stupidchicken.com>
8839
8840 * xfns.c (Fx_font_dialog): New function.
8841
8842 * gtkutil.c (xg_dialog_response_cb): Rename from
8843 xg_file_response_callback.
8844 (pop_down_dialog): Rename from pop_down_file_dialog.
8845 (xg_get_file_name): Callers changed.
8846 (xg_get_font_name): New function.
8847
8848 * gtkutil.h (xg_get_font_name): Insert prototype.
8849
8850 2008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
8851
8852 * xdisp.c (underline_minimum_offset): Rename from xterm.c's
8853 x_underline_minimum_display_offset.
8854 (syms_of_xdisp): Declare it here rather than in xterm.c.
8855 * dispextern.h (underline_minimum_offset): Declare it.
8856 * w32term.c (x_draw_glyph_string): Use it.
8857 * xterm.c (x_underline_minimum_display_offset): Move to xdisp.c.
8858 (syms_of_xterm): Don't declare it any more.
8859 (x_draw_glyph_string): Adjust to the new name.
8860
8861 2008-06-10 David De La Harpe Golden <david@harpegolden.net> (tiny change)
8862
8863 * xterm.c (x_underline_minimum_display_offset): New var.
8864 (x_draw_glyph_string): Use it.
8865 (syms_of_xterm): Declare it.
8866
8867 2008-06-10 Chong Yidong <cyd@stupidchicken.com>
8868
8869 * font.c (font_parse_fcname): Accept GTK-style font names too.
8870
8871 2008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
8872
8873 * dired.c (file_name_completion): Don't return t if the match is exact
8874 but with different capitalization.
8875 * minibuf.c (Ftry_completion): Simplify.
8876
8877 * window.c (Vwindow_point_insertion_type): New var.
8878 (set_window_buffer): Use it.
8879 (syms_of_window): Init and export it to Lisp.
8880
8881 2008-06-10 Kenichi Handa <handa@m17n.org>
8882
8883 * font.h (font_intern_prop): Prototype adjusted.
8884
8885 * font.c (font_intern_prop): New arg force_symbol.
8886 (font_parse_xlfd, font_parse_fcname, font_parse_family_registry):
8887 Adjust for the change of font_intern_prop.
8888
8889 * ftfont.c (ftfont_pattern_entity):
8890 * w32font.c (add_font_name_to_list, w32_enumfont_pattern_entity)
8891 (w32_registry):
8892 * w32uniscribe.c (add_opentype_font_name_to_list): Adjust for
8893 the change of font_intern_prop.
8894
8895 2008-06-09 Juanma Barranquero <lekktu@gmail.com>
8896
8897 * w32menu.c (digest_single_submenu): Declare extern.
8898
8899 2008-06-09 Jason Rumney <jasonr@gnu.org>
8900
8901 * w32term.c (x_make_frame_visible): Use alternate restore flags.
8902
8903 * w32menu.c (Fx_popup_menu): Unwind protect while building menu.
8904 (parse_single_submenu): Remove.
8905 (digest_single_submenu): Remove.
8906 (syms_of_w32menu): Don't initialise variables that have moved
8907 to menu.c.
8908 (set_frame_menubar): Sync with version in xmenu.c.
8909 (w32_menu_show): Sync with xmenu_show in xmenu.c.
8910
8911 * menu.c (single_keymap_panes, push_menu_pane, push_menu_item):
8912 Make static again.
8913
8914 2008-06-09 Jason Rumney <jasonr@gnu.org>
8915
8916 Changes to w32 files related to the move of common menu code
8917 to menu.c on 2008-06-08 by Chong Yidong.
8918
8919 * menu.c [HAVE_NTGUI]: Include w32term.h, move widget related
8920 defs to w32gui.h.
8921 (single_keymap_panes, push_menu_item, push_menu_pane):
8922 Make globally visible.
8923
8924 * w32menu.c (enum button_type, widget_value, local_heap, local_alloc)
8925 (local_free, malloc_widget_value, free_widget_value)
8926 (MENU_ITEMS_ITEM_NAME, MENU_ITEMS_ITEM_ENABLE, MENU_ITEMS_ITEM_VALUE)
8927 (MENU_ITEMS_ITEM_EQUIV_KEY, MENU_ITEMS_ITEM_DEFINITION)
8928 (MENU_ITEMS_ITEM_TYPE, MENU_ITEMS_ITEM_SELECTED, MENU_ITEMS_ITEM_HELP)
8929 (MENU_ITEMS_ITEM_LENGTH, enum menu_item_idx): Remove defs.
8930 (menu_items, menu_items_allocated, menu_items_used)
8931 (menu_items_n_panes, menu_items_submenu_depth): Remove global vars.
8932 (init_menu_items, finish_menu_items, discard_menu_items)
8933 (grow_menu_items, push_submenu_start, push_submenu_end)
8934 (push_left_right_boundary, push_menu_pane, push_menu_item)
8935 (keymap_panes, single_keymap_panes, list_of_panes, list_of_items)
8936 (free_menubar_widget_tree_value, parse_single_submenu)
8937 (update_submenu_strings): Remove functions.
8938 (xmalloc_widget_value): Remove and declare extern.
8939
8940 * makefile.w32-in ($(SRC)/menu.$(O)): New target.
8941 (OBJ1): Build it.
8942
8943 * w32gui.h (widget_value, XtPointer, Boolean, enum button_type)
8944 (local_heap, local_alloc, local_free, malloc_widget_value)
8945 (free_widget_value): Define here.
8946
8947 2008-06-09 Kenichi Handa <handa@m17n.org>
8948
8949 * font.h (Qascii_0): Extern it.
8950
8951 * font.c (Qascii_0): New variable.
8952 (syms_of_font): DEFSYM it.
8953 (font_open_by_name): If the registry "iso8859-1" fails, try also
8954 "ascii-0".
8955
8956 * ftfont.c (ftfont_spec_pattern): Accept the registry `ascii-0'.
8957
8958 2008-06-08 Kenichi Handa <handa@m17n.org>
8959
8960 * .gdbinit (xfont): New command.
8961
8962 2008-06-08 Andreas Schwab <schwab@suse.de>
8963
8964 * menu.c [HAVE_X_WINDOWS]: Include "xterm.h".
8965 * Makefile.in (menu.o): Update dependencies.
8966
8967 * Makefile.in (obj): Always add menu.o.
8968 * emacs.c (main): Always call syms_of_menu.
8969 * keyboard.h: Remove extra #ifdef HAVE_X_WINDOW.
8970
8971 2008-06-08 Chong Yidong <cyd@stupidchicken.com>
8972
8973 * Makefile.in: Compile menu.c.
8974
8975 * lisp.h: Declare syms_of_menu.
8976
8977 * emacs.c (main): Call syms_of_menu.
8978
8979 * keyboard.h: Relocate platform-independent menu definitions from
8980 xmenu.c.
8981
8982 * menu.c: New file. Relocate platform-independent menu
8983 definitions from xmenu.c. Suggested by Adrian Robert.
8984
8985 * xmenu.c: Remove platform-independent menu definitions.
8986 (menu_items menu_items_inuse, menu_items_allocated)
8987 (menu_items_used, menu_items_n_panes)
8988 (menu_items_submenu_depth): Move to keyboard.h.
8989 (init_menu_items, finish_menu_items, unuse_menu_items)
8990 (discard_menu_items, restore_menu_items, save_menu_items)
8991 (grow_menu_items, push_submenu_start, push_submenu_end)
8992 (push_left_right_boundary, push_menu_pane, push_menu_item)
8993 (keymap_panes, single_keymap_panes, single_menu_item)
8994 (list_of_panes, list_of_items, find_and_call_menu_selection)
8995 (xmalloc_widget_value, free_menubar_widget_value_tree)
8996 (parse_single_submenu, digest_single_submenu)
8997 (update_submenu_strings): Move to menu.c.
8998
8999 2008-06-07 Stefan Monnier <monnier@iro.umontreal.ca>
9000
9001 * dispnew.c (Flast_nonminibuf_frame): Handle the NULL case.
9002
9003 2008-06-06 Miles Bader <miles@gnu.org>
9004
9005 * xdisp.c (x_produce_glyphs): Calculate tab width based on current
9006 face, not frame default.
9007
9008 2008-06-05 Martin Rudalics <rudalics@gmx.at>
9009
9010 * window.c (pop_up_windows, pop_up_frames)
9011 (display_buffer_reuse_frames, Vpop_up_frame_function)
9012 (Vdisplay_buffer_function, Veven_window_heights)
9013 (Vspecial_display_buffer_names, Vspecial_display_regexps)
9014 (Vspecial_display_function, Vsame_window_buffer_names)
9015 (Vsame_window_regexps, split_height_threshold)
9016 (Vsplit_window_preferred_function): Move those vars to window.el.
9017 (display_buffer_1, Fspecial_display_p, Fsame_window_p)
9018 (Fdisplay_buffer): Move those functions to window.el.
9019 (syms_of_window): Remove corresponding declarations.
9020 (display_buffer): New function.
9021 (temp_output_buffer_show, Fother_window_for_scrolling): Use it.
9022 * dispnew.c (Flast_nonminibuf_frame): New function.
9023 * buffer.c (Fpop_to_buffer): Move to window.el.
9024
9025 2008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
9026
9027 * data.c (set_internal): Fix up call to let_shadows_buffer_binding_p.
9028
9029 2008-06-05 Kenichi Handa <handa@m17n.org>
9030
9031 * coding.c (detect_coding): Fix previous change.
9032 (detect_coding_system): Likewise.
9033
9034 2008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
9035
9036 * character.h (MAKE_CHAR_MULTIBYTE): Check the arg is a (uni)byte.
9037
9038 * keymap.c (Vminibuffer_local_filename_must_match_map):
9039 Rename from Vminibuffer_local_must_match_filename_map.
9040 (syms_of_keymap):
9041 * minibuf.c (Fcompleting_read): Adjust accordingly.
9042 * commands.h: Rename declaration as well.
9043
9044 2008-06-05 Kenichi Handa <handa@m17n.org>
9045
9046 * font.c (Ffont_spec): Don't use font_parse_family_registry for
9047 family name.
9048 (Ffont_put): Likewise.
9049
9050 * fontset.c (fontset_find_font): Call font_open_for_lface with the
9051 current font-spec.
9052
9053 * xfont.c (xfont_list): Don't set registry to iso8859-1 even if it
9054 is unspecified.
9055
9056 * xfaces.c (realize_x_face): If the font-related face attributes
9057 are the same as those of default face, realize a new fontset from
9058 default->fontset.
9059 (Fx_family_fonts): Use font_parse_family_registry instead of Ffont_put.
9060
9061 2008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
9062
9063 * xdisp.c (move_it_in_display_line_to): Improve the type of its args.
9064 (move_it_in_display_line): New wrapper.
9065
9066 * window.c (window_scroll_pixel_based_preserve_x)
9067 (window_scroll_preserve_hpos, window_scroll_preserve_vpos): New vars.
9068 (window_scroll_pixel_based, window_scroll_line_based):
9069 Use them to preserve column positions.
9070 (syms_of_window): Initialize them.
9071
9072 * indent.c (Fvertical_motion): Extend first arg to allow passing an
9073 (HPOS . VPOS) pair.
9074
9075 * dispextern.h (move_it_in_display_line): Declare.
9076
9077 2008-06-05 Juanma Barranquero <lekktu@gmail.com>
9078
9079 * window.c (Fwindow_parameter): Return VALUE, not (PARAMETER . VALUE).
9080 (Fwindow_parameters): Return copy of parameter alist. Doc fix.
9081 (Fset_window_parameter): Return VALUE, not parameter alist. Doc fix.
9082
9083 2008-06-04 Juanma Barranquero <lekktu@gmail.com>
9084
9085 * window.c (Fset_window_parameter): Doc fix.
9086 (Fwindow_parameters, Fwindow_parameter): Remove redundant check.
9087
9088 2008-06-04 Joakim Verona <joakim@verona.se>
9089
9090 * window.h (struct window): Add new member window_parameters.
9091
9092 * window.c (Fwindow_parameters, Fwindow_parameter)
9093 (Fset_window_parameter): New defuns.
9094 (syms_of_window): Defsubr the new defuns.
9095 (make_window): Initialize window_parameters to nil.
9096
9097 2008-06-04 John Paul Wallington <jpw@pobox.com>
9098
9099 * eval.c (Fdefmacro): Doc fix.
9100
9101 2008-06-04 Kenichi Handa <handa@m17n.org>
9102
9103 * coding.c (detect_coding): Fix handling of coding->head_ascii.
9104 Be sure to call setup_coding_system when we find a proper coding system.
9105 (detect_coding_system): Fix handling of coding->head_ascii.
9106
9107 2008-06-03 Andreas Schwab <schwab@suse.de>
9108
9109 * font.c (font_prop_validate_spacing): Fix last change.
9110
9111 2008-06-03 Kenichi Handa <handa@m17n.org>
9112
9113 * font.c (font_prop_validate_spacing): Handle uppercase symbols.
9114 (font_parse_fcname): Fix handling of unknown key.
9115
9116 * xfont.c (xfont_list): Try an alias.
9117
9118 * charset.c (char_charset): Return NULL if the arg charset_list is
9119 specified and C doesn't belong to any of them.
9120
9121 2008-06-02 Chip Coldwell <coldwell@redhat.com>
9122
9123 * font.c (font_pixel_size): Don't take cdr of an integer.
9124
9125 2008-06-02 Jim Meyering <meyering@redhat.com>
9126
9127 Make "xfree (NULL)" a no-op; remove useless if-before-xfree.
9128 * alloc.c (xfree): Return right away for a NULL arg.
9129 * lread.c (nosuffix): Remove now-useless if-before-xfree tests.
9130 * gtkutil.c (xg_gtk_scroll_destroy): Likewise.
9131 * mac.c (create_apple_event_from_event_ref): Likewise.
9132 (create_apple_event_from_drag_ref, cfstring_create_normalized):
9133 Likewise.
9134 * doprnt.c (doprnt1): Likewise.
9135 * frame.c (frame): Likewise.
9136 * keyboard.c (wipe_kboard): Likewise.
9137 * macterm.c (x_free_frame_resources, xlfdpat_destroy, XFreePixmap)
9138 (init_font_name_table, mac_unload_font, x_delete_display): Likewise.
9139 * term.c (tty_default_color_capabilities, maybe_fatal)
9140 (delete_tty): Likewise.
9141 * w16select.c (string): Likewise.
9142 * w32.c (w32_get_resource, SET_ENV_BUF_SIZE): Likewise.
9143 * w32bdf.c (w32_free_bdf_font): Likewise.
9144 * w32fns.c (w32_unload_font): Likewise.
9145 * w32font.c (w32font_close): Likewise.
9146 * window.c (size_window): Likewise.
9147 * xselect.c (receive_incremental_selection): Likewise.
9148 * xterm.c (x_free_frame_resources, x_delete_display): Likewise.
9149 * mactoolbox.c (create_apple_event_from_drag_ref): Likewise.
9150 * w32.c (stat): Likewise.
9151
9152 Remove useless if-before-free tests.
9153 * editfns.c (Fset_time_zone_rule): Likewise.
9154 * lread.c (nosuffix): Likewise.
9155 * ralloc.c (get_bloc): Likewise.
9156 * regex.c (reg_free): Likewise.
9157 * xftfont.c (xftfont_open, xftfont_close): Likewise.
9158 * xrdb.c (get_user_app, get_environ_db, x_load_resources): Likewise.
9159 * xsmfns.c (smc_save_yourself_CB): Likewise.
9160
9161 2008-06-02 Kenichi Handa <handa@m17n.org>
9162
9163 * font.c (font_find_for_lface): Handle float font size.
9164 (font_open_for_lface): Likewise.
9165
9166 * xfaces.c (x_supports_face_attributes_p): Check face->font before
9167 comparing the properties.
9168
9169 2008-06-01 Jason Rumney <jasonr@gnu.org>
9170
9171 * w32font.c (w32_enumfont_pattern_entity): Use requested registry.
9172 Treat iso10646-1 and Windows DEFAULT_CHARSET specially.
9173 Duplicate iso8859-1 fonts as iso10646-1 if no registry specified.
9174 Don't add empty script list.
9175 (w32_registry): Only map DEFAULT_CHARSET to iso10646-1 here.
9176
9177 2008-06-01 Dan Nicolaescu <dann@ics.uci.edu>
9178
9179 * Makefile.in (dot, dotdot): Remove, update users.
9180 ".." has been used elsewhere in the file for a long time.
9181 (LIBXT_STATIC): Remove conditional based on unused variable.
9182
9183 2008-06-01 Miles Bader <miles@gnu.org>
9184
9185 * xfaces.c (Vface_remapping_alist): New variable.
9186 (syms_of_xfaces): Initialize it.
9187 (enum named_merge_point_kind): New type.
9188 (struct named_merge_point): Add `named_merge_point_kind' field.
9189 (push_named_merge_point): Make cycle detection respect different
9190 named-merge-point kinds.
9191 (lface_from_face_name_no_resolve): Rename from `lface_from_face_name'.
9192 Remove face-name alias resolution.
9193 (lface_from_face_name): New definition using
9194 `lface_from_face_name_no_resolve'.
9195 (get_lface_attributes_no_remap): Rename from `get_lface_attributes'.
9196 Call lface_from_face_name_no_resolve instead of lface_from_face_name.
9197 (get_lface_attributes): New definition that layers face-remapping on
9198 top of get_lface_attributes_no_remap. New arg `named_merge_points'.
9199 (lookup_basic_face): New function.
9200 (lookup_derived_face): Pass new last arg to `get_lface_attributes'.
9201 (realize_named_face): Call `get_lface_attributes_no_remap' instead of
9202 `get_lface_attributes'.
9203 (face_at_buffer_position): Use `lookup_basic_face' to lookup
9204 DEFAULT_FACE_ID if necessary. When optimizing the default-face case,
9205 return default_face's face-id instead of the constant DEFAULT_FACE_ID.
9206
9207 * xdisp.c (init_iterator): Pass base_face_id through
9208 `lookup_basic_face' when we actually use it as a face-id.
9209 (handle_single_display_prop): Use `lookup_basic_face' to lookup
9210 DEFAULT_FACE_ID.
9211
9212 * fontset.c (Finternal_char_font): Use `lookup_basic_face' to
9213 lookup the initial face-id.
9214
9215 * dispextern.h (lookup_basic_face, Vface_remapping_alist): New decls.
9216
9217 2008-06-01 Juanma Barranquero <lekktu@gmail.com>
9218
9219 * textprop.c (syms_of_textprop) <text-property-default-nonsticky>:
9220 (Fremove_text_properties): Fix typos in docstrings.
9221
9222 2008-05-31 Kenichi Handa <handa@m17n.org>
9223
9224 * font.c (font_list_entities): Fix the car part of data to be
9225 stored in the cache.
9226
9227 * ftfont.c (ftfont_font_format): Don't use strcasestr.
9228
9229 2008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
9230
9231 * chartab.c (Foptimize_char_table, optimize_sub_char_table):
9232 Add a `test' argument so another predicate than `equal' can be used.
9233 (map_sub_char_table): Use `eq' rather than `equal' to merge ranges.
9234 (map_char_table): Remove unused vars `c' and `i'.
9235 * lisp.h (Foptimize_char_table): Adjust declaration.
9236 * charset.c (Fclear_charset_maps): Adjust call to Foptimize_char_table.
9237
9238 2008-05-30 Kenichi Handa <handa@m17n.org>
9239
9240 * font.c (Ffont_info): Define only if HAVE_WINDOW_SYSTEM is defined.
9241 (syms_of_font): Defsubr Sfont_info only if HAVE_WINDOW_SYSTEM is
9242 defined.
9243
9244 2008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
9245
9246 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
9247 (Fmake_variable_frame_local): Disallow mixing buffer-local and
9248 frame-local settings for the same variable.
9249
9250 2008-05-30 Kenichi Handa <handa@m17n.org>
9251
9252 * fontset.c (Ffont_info): Move to font.c.
9253 (syms_of_fontset): Delete defsubr of Sfont_info.
9254
9255 * font.c (font_style_to_value, font_score): Delete casting of the
9256 args to xstcasecmp.
9257 (register_font_driver): Increment num_font_drivers only when
9258 registering the driver globally.
9259 (Ffont_info): Move from fontset.c. Handle a font object too.
9260 (syms_of_font): Defsubr Sfont_info.
9261
9262 2008-05-29 Kenichi Handa <handa@m17n.org>
9263
9264 * coding.h (enum define_coding_utf8_arg_index): New enum.
9265 (enum coding_attr_index): Change coding_attr_utf_16_bom to
9266 coding_attr_utf_bom.
9267 (enum utf_bom_type): Rename from utf_16_bom_type.
9268 (struct utf_16_spec): Adjust for the above change.
9269 (struct coding_system): Add utf_8_bom in `spec' union.
9270
9271 * coding.c (CODING_UTF_8_BOM): New macro.
9272 (enum coding_category): Delete coding_category_utf_8, add
9273 coding_category_utf_8_auto, coding_category_utf_8_nosig, and
9274 coding_category_utf_8_sig.
9275 (CATEGORY_MASK_UTF_8): Delete it.
9276 (CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG)
9277 (CATEGORY_MASK_UTF_8_SIG): New macros.
9278 (CATEGORY_MASK_ANY): Delete CATEGORY_MASK_UTF_8, add
9279 CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG, and
9280 CATEGORY_MASK_UTF_8_SIG.
9281 (CATEGORY_MASK_UTF_8): New macro.
9282 (UTF_BOM, UTF_8_BOM_1, UTF_8_BOM_2, UTF_8_BOM_3): New macros.
9283 (detect_coding_utf_8): Check BOM.
9284 (decode_coding_utf_8, encode_coding_utf_8): Handle BOM.
9285 (decode_coding_utf_16): Adjust for the change of enum utf_bom_type.
9286 (encode_coding_utf_16): Likewise.
9287 (setup_coding_system): Likewise. Set CODING_UTF_8_BOM (coding).
9288 (detect_coding, detect_coding_system): Handle utf-8-auto.
9289 (Fdefine_coding_system_internal): Handle `bom' property for utf-8.
9290 (syms_of_coding): Fix setting up of Vcoding_category_table.
9291
9292 2008-05-29 Stefan Monnier <monnier@iro.umontreal.ca>
9293
9294 * process.c (Faccept_process_output): If `millisec' is non-nil,
9295 `seconds' default to 0.
9296 (wait_reading_process_output): Also return non-nil if we read output
9297 from a non-running process.
9298
9299 2008-05-29 Jason Rumney <jasonr@gnu.org>
9300
9301 * w32font.c (w32font_open_internal): Prefer truetype fonts unless
9302 `raster' specified.
9303 (add_font_entity_to_list): Allow non-opentype truetype fonts back
9304 in the uniscribe backend, but disallow any font that has no
9305 unicode subrange support.
9306
9307 2008-05-29 Juanma Barranquero <lekktu@gmail.com>
9308
9309 * xfaces.c (Fx_list_fonts, Finternal_copy_lisp_face):
9310 Fix typos in docstrings.
9311
9312 2008-05-29 Kenichi Handa <handa@m17n.org>
9313
9314 * xfaces.c (Fx_list_fonts): Make it return a list of font names.
9315 (Fx_family_fonts): Set frame correctly.
9316
9317 2008-05-28 Jason Rumney <jasonr@gnu.org>
9318
9319 * w32term.c (x_draw_glyph_string): Use clipmask if specified.
9320
9321 2008-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
9322
9323 * fileio.c (Fwrite_region): Delay the defaulting to beg&z to after
9324 calling build_annotations.
9325
9326 2008-05-28 Juanma Barranquero <lekktu@gmail.com>
9327
9328 * coding.c (Fdecode_coding_region, Fencode_coding_region)
9329 (Fencode_coding_string):
9330 (syms_of_coding) <coding-system-for-read, coding-system-for-write>:
9331 <latin-extra-code-table>: Fix typos in docstrings.
9332 (syms_of_coding) <coding-system-alist>: Doc fix.
9333 (syms_of_coding) <translation-table-for-input>: Reflow docstring.
9334
9335 2008-05-28 Kenichi Handa <handa@m17n.org>
9336
9337 * fontset.c (Ffont_info): Don't call font_close_object.
9338
9339 * font.c (font_parse_family_registry): Use Ffont_put to validate
9340 foundry and family.
9341 (font_delete_unmatched): Don't check spacing.
9342 (font_list_entities): Add spacing to the spec to list fonts.
9343
9344 * ftfont.c (ftfont_spec_pattern): Don't set FC_SPACING to pattern.
9345 (ftfont_list): Check spacing here. Don't include FC_CHARSET in objset.
9346
9347 * coding.c (encode_coding_raw_text): Fix previous change.
9348 (encode_coding_object): When the dst_object is a buffer and is
9349 different from src_object, move gap to PT.
9350
9351 2008-05-27 Chong Yidong <cyd@stupidchicken.com>
9352
9353 * xterm.c (x_draw_glyph_string): If a clipmask is specified, use it.
9354
9355 2008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
9356
9357 * coding.c (encode_coding_raw_text): Set coding->produced_char for
9358 all branches. Compute it differently.
9359
9360 * xdisp.c [!HAVE_WINDOW_SYSTEM]: Include font.h for --without-x.
9361
9362 2008-05-27 Juanma Barranquero <lekktu@gmail.com>
9363
9364 * w32font.c (compute_metrics): Rewrite an "else { if () ... else ... }"
9365 into "else if () ... else ...".
9366
9367 2008-05-27 Jason Rumney <jasonr@gnu.org>
9368
9369 * w32font.c (w32font_open_internal): Determine if glyph indices
9370 are likely to work here.
9371
9372 2008-05-27 Chong Yidong <cyd@stupidchicken.com>
9373
9374 * xdisp.c (draw_glyphs): If mouse-highlighting is on, attempt to
9375 draw overlap glyphs with appropriate highlighting.
9376
9377 2008-05-27 Kenichi Handa <handa@m17n.org>
9378
9379 * xfont.c (xfont_open): Fix calculation of font->average_width.
9380
9381 2008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
9382
9383 * casefiddle.c (casify_object): Try to guess better whether the
9384 argument is a byte or a char.
9385
9386 2008-05-26 Andreas Schwab <schwab@suse.de>
9387
9388 * xselect.c (x_reply_selection_request): Properly handle format == 32.
9389 Always send multiples of format size.
9390
9391 * xterm.c (x_set_frame_alpha): Fix type mismatch.
9392
9393 2008-05-26 Jason Rumney <jasonr@gnu.org>
9394
9395 * w32font.c (w32font_text_extents): Zero whole metrics struct first.
9396 (compute_metrics): Don't set failure if we just cleared the cache.
9397 (w32_weight_table): Remove unused variable.
9398 (w32_enumfont_pattern_entity): Use FONT_SPACING_CHARCELL for
9399 backwards compatibility.
9400
9401 2008-05-25 Kenichi Handa <handa@m17n.org>
9402
9403 * w32term.c (x_draw_glyph_string):
9404 * xterm.c (x_draw_glyph_string): Fix calculation of underline position.
9405
9406 * xfaces.c: Delete unused function prototypes.
9407 (xstrlwr, font_frame): Delete them.
9408 (clear_face_cache): Delete unused variable.
9409
9410 * xftfont.c (xftfont_open): Delete unused variable.
9411 If underline_thickness is not 1, adjust underline_position.
9412
9413 * ftxfont.c (ftxfont_open): Delete unused variable.
9414
9415 * fontset.c (face_for_char): Optimize for the case of no charset
9416 property.
9417
9418 * font.c (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE)
9419 (check_gstring, check_otf_features, otf_list, otf_tag_symbol)
9420 (otf_open, font_otf_capability, generate_otf_features)
9421 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
9422 Comment out by surrounding "#if 0" and "#endif" for the moment.
9423 (Ffont_drive_otf, Ffont_otf_alternates): Likewise.
9424 (syms_of_font): Codes for accessing above commented out.
9425
9426 2008-05-24 Eli Zaretskii <eliz@gnu.org>
9427
9428 * w32proc.c: Include dispextern.h.
9429
9430 * w32.c: Include dispextern.h.
9431
9432 2008-05-23 Juanma Barranquero <lekktu@gmail.com>
9433
9434 * charset.c (Fencode_char, Fsplit_char): Doc fixes.
9435 (Fget_unused_iso_final_char, Fdecode_char, Fiso_charset):
9436 Fix typos in docstrings.
9437
9438 2008-05-23 Jason Rumney <jasonr@gnu.org>
9439
9440 * xsmfns.c: Remove includes that are already included by config.h.
9441
9442 2008-05-23 Kenichi Handa <handa@m17n.org>
9443
9444 * charset.c (Qemacs, charset_emacs): New variables.
9445 (char_charset): Fix for non-Unicode characters.
9446 (syms_of_charset): Define charset_emacs.
9447
9448 * w32term.c (x_draw_glyph_string): Be sure to update
9449 s->underline_thickness and s->underline_position. Be sure to draw
9450 underline within the current line area.
9451
9452 * xterm.c (x_draw_glyph_string): Be sure to update
9453 s->underline_thickness and s->underline_position. Be sure to draw
9454 underline within the current line area.
9455
9456 * fontset.c: Delete unused variables and add casting for char *
9457 throughout the file.
9458 (fontset_font): Try the fallback fonts of the current fontset
9459 before consulting the default fontset.
9460
9461 * ftfont.c (ftfont_spec_pattern): Free charset if necessary.
9462
9463 * xfont.c (xfont_list_pattern): Free names returned from XListFonts.
9464
9465 2008-05-22 Jason Rumney <jasonr@gnu.org>
9466
9467 * font.c: Don't include strings.h.
9468
9469 * dispextern.h, xfaces.c (xstrcasecmp): Rename from xstricmp.
9470
9471 * dosfns.c, fileio.c, font.c, fontset.c, image.c, macfns.c:
9472 * macterm.c, process.c, w32.c, w32fns.c, w32proc.c, xfaces.c:
9473 * xfns.c, xfont.c: All callers of stricmp and strcasecmp changed
9474 to call xstrcasecmp.
9475
9476 * xfont.c (xfont_list_pattern, compare_font_names): Use xstrcasecmp.
9477
9478 * fontset.c (fs_query_fontset): Use xstrcasecmp.
9479
9480 * font.c (font_style_to_value, font_score): Use xstrcasecmp.
9481
9482 * dosfns.c (msdos_stdcolor_idx): Use xstrcasecmp.
9483
9484 2008-05-22 Kenichi Handa <handa@m17n.org>
9485
9486 * puresize.h (BASE_PURESIZE): Increase to 1220000.
9487
9488 * font.c (font_prop_validate_style): Adjust for the format
9489 change of font_style_table.
9490
9491 * w32font.c (w32font_open_internal): Call Ffont_xlfd_name with
9492 two args.
9493
9494 * xfaces.c (x_update_menu_appearance): Call Ffont_xlfd_name with
9495 two args.
9496
9497 2008-05-22 Stefan Monnier <monnier@iro.umontreal.ca>
9498
9499 * minibuf.c (keys_of_minibuf): Delete.
9500 * lisp.h (keys_of_minibuf): Delete.
9501 * emacs.c (main): Don't call keys_of_minibuf.
9502
9503 2008-05-22 Kenichi Handa <handa@m17n.org>
9504
9505 * ftfont.c (ftfont_resolve_generic_family): Rename from
9506 ftfont_list_generic_family. Return a single family for each
9507 generic family.
9508 (ftfont_spec_pattern): Add FC_FAMILY to pattern.
9509 (ftfont_list): Adjust for the change of ftfont_resolve_generic_family.
9510 Call font_add_log.
9511 (ftfont_match): Call font_add_log.
9512
9513 * font.h (Ffont_xlfd_name): EXFUN adjusted.
9514 (FONT_DEBUG): Define it.
9515 (font_add_log): Extern it.
9516 (font_assert): Rename from xassert.
9517
9518 * xfont.c (xfont_get_pcm): Change xassert to font_assert.
9519 (xfont_list_family): Call font_add_log.
9520 (xfont_match): Likewise.
9521 (memq_no_quit): Delete.
9522
9523 * fontset.c (fontset_from_font, Ffontset_info): Add the 2nd arg in
9524 call of Ffont_xlfd_name.
9525
9526 * xfaces.c (struct table_entry, slant_table, weight_table)
9527 (swidth_table): Move to font.c.
9528
9529 * font.c: Checking of FONT_DEBUG is moved to font.h. All calls of
9530 xassert are changed to font_assert. Delete many unused variables.
9531 (Vfont_weight_table, Vfont_slant_table, Vfont_width_table):
9532 New variables.
9533 (struct table_entry): Move from xfaces.c and modified.
9534 (weight_table, slant_table, width_table): Move from xfaces.c and
9535 contents adjusted for the change of struct table_entry.
9536 (font_style_to_value, font_style_symbolic): Adjust for the
9537 format change of font_style_table.
9538 (font_parse_family_registry): Don't overwrite existing foundry and
9539 family of font_spec.
9540 (font_score): Fix calculation of diff for sizes.
9541 (font_sort_entites): Call font_add_log.
9542 (font_delete_unmatched): Return a newly created list.
9543 (font_list_entities): Fix previous change. Call font_add_log.
9544 (font_matching_entity, font_open_entity, font_close_entity):
9545 Call font_add_log.
9546 (Ffont_xlfd_name): New arg FOLD-WILDCARDS.
9547 (Finternal_set_font_style_table): Delete.
9548 (BUILD_STYLE_TABLE): New macro.
9549 (build_style_table): New function.
9550 (Vfont_log, font_log_env_checked): New variables.
9551 (font_add_log): New function.
9552 (syms_of_font): Delete defsubr Sinternal_set_font_style_table.
9553 Declare Lisp variables "font-weight-table", "font-slant-table",
9554 "font-width-table", and "font-log". Initialize font_style_table.
9555
9556 2008-05-21 Dan Nicolaescu <dann@ics.uci.edu>
9557
9558 * xterm.c (x_set_frame_alpha): Move declarations before statements.
9559
9560 2008-05-21 Seiji Zenitani <zenitani@mac.com>
9561 Ryo Yoshitake <ryo@shiftmode.net>
9562
9563 * frame.c (Qalpha): Add a new frame parameter `alpha'.
9564 (Vframe_alpha_lower_limit): New variable.
9565 (x_set_alpha): New function.
9566
9567 * frame.h (Qalpha, Vframe_parameter_lower_limit): Export them.
9568
9569 * xfns.c (x-create-frame, Qalpha):
9570 Initialize the frame parameter `alpha'.
9571 * xterm.c (OPAQUE, OPACITY): New.
9572 (x_set_frame_alpha): New function.
9573 (frame_highlight, frame_unhighlight): Call x_set_frame_alpha.
9574
9575 * macfns.c (mac_frame_parm_handlers): A null handler for x_set_alpha.
9576 * w32fns.c (w32_frame_parm_handlers): Likewise.
9577
9578 2008-05-20 Jason Rumney <jasonr@gnu.org>
9579
9580 * w32font.c (add_font_entity_to_list): Don't add non-opentype
9581 truetype fonts to opentype list.
9582
9583 2008-05-20 Juanma Barranquero <lekktu@gmail.com>
9584
9585 * fontset.c (Ffontset_info): Doc fix.
9586 (syms_of_fontset) <font-encoding-charset-alist, use-default-ascent>:
9587 <ignore-relative-composition>: Fix typos in docstrings.
9588
9589 * font.c (syms-of-font) <font-encoding-alist>:
9590 (Ffontp, Ffont_make_gstring): Fix typos in docstrings.
9591 (Flist_fonts, Ffont_family_list, Ffont_fill_gstring, Fquery_font)
9592 (Ffont_otf_alternates): Doc fixes.
9593
9594 2008-05-20 Kenichi Handa <handa@m17n.org>
9595
9596 * Makefile.in (FONTSRC): Delete it. Change all $(FONTSRC) to
9597 font.h through out the file.
9598 (FONT_DRIVERS): Rename from FONTOBJ.
9599 (obj): Change $(FONTOBJ) to $(FONT_DRIVERS). Add font.o.
9600 (SOME_MACHINE_OBJECTS): Change $(FONTOBJ) to $(FONT_DRIVERS).
9601
9602 * emacs.c (main): Call syms_of_font unconditionally.
9603
9604 * font.h (find_font_encoding): Extern it.
9605
9606 * font.c (Vfont_encoding_alist, find_font_encoding): Move from
9607 fontset.c.
9608 (font_pixel_size)[! HAVE_WINDOW_SYSTEM]: Return 1.
9609 (font_open_entity): Update FRAME_X_DISPLAY_INFO (f)->n_fonts,
9610 FRAME_SMALLEST_CHAR_WIDTH (f), and FRAME_SMALLEST_FONT_HEIGHT (f)
9611 only when HAVE_WINDOW_SYSTEM is defined.
9612 (font_close_object): Update FRAME_X_DISPLAY_INFO (f)->n_fonts only
9613 when HAVE_WINDOW_SYSTEM is defined.
9614
9615 * fontset.c (Vfont_encoding_alist, find_font_encoding): Move to font.c.
9616 (syms_of_fontset): Move declaration of font-encoding-alist to font.c.
9617
9618 * xfaces.c: Include font.h unconditionally.
9619 (merge_face_ref, merge_face_vectors)
9620 (Finternal_set_lisp_face_attribute): Cancel the previous change.
9621
9622 2008-05-20 Stefan Monnier <monnier@iro.umontreal.ca>
9623
9624 * xdisp.c (select_frame_for_redisplay): Adjust for last change to
9625 indirect_variable.
9626 * eval.c (lisp_indirect_variable): New fun.
9627 (Fuser_variable_p): Use it.
9628
9629 2008-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
9630
9631 * lisp.h (indirect_variable):
9632 * data.c (indirect_variable, let_shadows_buffer_binding_p):
9633 Use Lisp_Symbol pointers rather than Lisp_Object.
9634 Adjust callers.
9635 * buffer.c (buffer_slot_type_mismatch): Use wrong-type-argument.
9636 To this end, change calling-convention.
9637
9638 * minibuf.c (Finternal_complete_buffer): Only strip out hidden buffers
9639 if some non-hidden buffers are selected by string&pred.
9640
9641 2008-05-19 Chong Yidong <cyd@stupidchicken.com>
9642
9643 * process.c (wait_reading_process_output): Always check status
9644 when in batch mode.
9645
9646 2008-05-19 Kenichi Handa <handa@m17n.org>
9647
9648 * font.c (font_list_entities): Fix handling of cache.
9649 (font_matching_entity): Likewise.
9650
9651 * ftfont.c (cs_iso8859_1): Delete.
9652 (ft_face_cache): New variable.
9653 (struct ftfont_info): New member fc_charset_idx.
9654 (ftfont_build_basic_charsets): Delete.
9655 (fc_charset_table): New variable.
9656 (ftfont_pattern_entity): New arg fc_charset_idx. Store (FILENAME
9657 . FC_CHARSET_IDX) as :font-entity property in the font entity.
9658 Callers changed.
9659 (ftfont_lookup_cache, ftfont_get_charset): New functions.
9660 (ftfont_spec_pattern): New argument fc_charset_idx.
9661 Check registry more rigidly. Change callers.
9662 (ftfont_open, ftfont_close, ftfont_has_char): Adjust for the
9663 change of :font-entity property of the font.
9664
9665 * xftfont.c (xftfont_open): Adjust for the change of :font-entity
9666 property of the font.
9667
9668 2008-05-18 Juanma Barranquero <lekktu@gmail.com>
9669
9670 * coding.c (Fcoding_system_p): Rename argument to match docstring.
9671 (Funencodable_char_position, Fcheck_coding_systems_region)
9672 (Fdecode_coding_string, Fencode_coding_string): Fix typos in docstrings.
9673 (Fdetect_coding_region, Fdetect_coding_string, Fencode_coding_region)
9674 (Ffind_operation_coding_system, Fset_coding_system_priority)
9675 (Fcoding_system_eol_type): Doc fixes.
9676
9677 2008-05-17 Glenn Morris <rgm@gnu.org>
9678
9679 * sysdep.c (child_setup_tty): Handle systems with NLDLY, without FFDLY.
9680
9681 2008-05-16 Eli Zaretskii <eliz@gnu.org>
9682
9683 * dired.c (Ffile_attributes): Shut up GCC warnings about st_uid
9684 and st_gid.
9685
9686 * frame.c (Fdelete_frame): Don't call font_update_drivers if
9687 HAVE_WINDOW_SYSTEM is not defined.
9688
9689 * xfaces.c (merge_face_ref, merge_face_vectors)
9690 (Finternal_set_lisp_face_attribute): Use FONT_*_INDEX only when
9691 HAVE_WINDOW_SYSTEM is defined.
9692 (Fface_font): Fix non-HAVE_WINDOW_SYSTEM case.
9693
9694 2008-05-16 Stefan Monnier <monnier@iro.umontreal.ca>
9695
9696 * keyboard.c (parse_menu_item): Do not cache key shortcut any more.
9697
9698 2008-05-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9699
9700 * macterm.c (x_draw_relief_rect): Remove unused variable `dpy'.
9701
9702 2008-05-15 Kenichi Handa <handa@m17n.org>
9703
9704 * font.c (font_find_for_lface): Reflect LFACE_FONT in the font
9705 preference.
9706
9707 2008-05-15 Glenn Morris <rgm@gnu.org>
9708
9709 * emacs.c (USAGE1, standard_args): Remove -disable-font-backend.
9710
9711 2008-05-15 Chong Yidong <cyd@stupidchicken.com>
9712
9713 * fns.c (init_fns): Don't initialize weak_hash_tables here.
9714 (init_weak_hash_tables): New fun. Initialize weak_hash_tables.
9715
9716 * alloc.c (init_alloc_once): Call init_weak_hash_tables.
9717
9718 2008-05-15 Kenichi Handa <handa@m17n.org>
9719
9720 * ftfont.c (ftfont_list): Downcase family name to check generic
9721 families.
9722
9723 * xfaces.c (Finternal_set_lisp_face_attribute): Be sure to make a
9724 font-spec for QCfont value.
9725
9726 * fontset.c (Fnew_fontset): Call font_unparse_xlfd with 256-byte
9727 buffer. Check the return value of it.
9728
9729 2008-05-14 Jason Rumney <jasonr@gnu.org>
9730
9731 * w32term.c (w32_get_glyph_overhangs): Remove.
9732 (w32_redisplay_interface): Use x_get_glyph_overhangs instead.
9733
9734 2008-05-14 Kenichi Handa <handa@m17n.org>
9735
9736 * font.c (font_prop_validate): Make nil a valid value.
9737 (font_clear_cache): Check if the cached vector of entities is nil
9738 or not.
9739
9740 2008-05-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9741
9742 * emacs.c (main_thread): Conditionalize on
9743 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
9744 (main) [FORWARD_SIGNAL_TO_MAIN_THREAD]: Initialize it.
9745
9746 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): New define.
9747 (main_thread, SIGNAL_THREAD_CHECK): Conditionalize on
9748 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
9749
9750 2008-05-14 Kenichi Handa <handa@m17n.org>
9751
9752 * coding.c (detect_coding_iso_2022): Ignore a coding category that
9753 has no corresponding coding system.
9754
9755 2008-05-14 Jason Rumney <jasonr@gnu.org>
9756
9757 * font.h (struct font) [WINDOWSNT]: Remove codepage member.
9758
9759 * w32font.h (w32font_open_internal): Update declaration.
9760
9761 * w32font.c (w32font_open_internal): Change last argument from
9762 w32font_info struct to font object. Fill in font object from
9763 font_entity. Get Outline metrics if possible. Use them to
9764 calculate underline position and thickness. Use xlfd name as name
9765 property. Don't set codepage.
9766 (w32font_open): Pass font_object to w32font_open_internal. Don't
9767 update dpyinfo->smallest_font_height and dpyinfo->smallest_char_width.
9768 (w32font_draw): Use s->font.
9769 (clear_cached_metrics): Don't clear non-existent blocks.
9770
9771 * w32term.c (w32_compute_glyph_string_overhangs): Don't compute if
9772 font was not found.
9773 (x_draw_glyph_string): Use underline position and thickness from font.
9774
9775 * w32uniscribe.c (uniscribe_open): Pass font_object to
9776 w32font_open_internal.
9777
9778 2008-05-14 Kenichi Handa <handa@m17n.org>
9779
9780 These changes are to delete all legacy font-handling codes, and
9781 make Emacs use only font-backends.
9782
9783 * Makefile.in: Delete USE_FONT_BACKEND conditionals.
9784 (frame.o, image.o, print.o): Depend on $(FONTSRC).
9785
9786 * makefile.w32-in (WIN32OBJ): Add w32reg.$(O), remove w32bdf.$(O).
9787
9788 * charset.h (Vcharset_non_preferred_head)
9789 (Vcurrent_iso639_language): Extern them.
9790
9791 * charset.c (Vcharset_non_preferred_head): New variable.
9792 (Vcurrent_iso639_language): New variable.
9793 (syms_of_charset): Declare it as a Lisp variable.
9794 (char_charset): Don't check non preferred charsets. As a last
9795 resort, return charset_unicode.
9796 (Fset_charset_priority): Update Vcharset_non_preferred_head.
9797
9798 * composite.c: Throughout the file, delete all USE_FONT_BACKEND
9799 conditionals. Don't check enable_font_backend. Delete all codes
9800 used only when USE_FONT_BACKEND is not defined.
9801
9802 * dispextern.h (struct glyph_string): Change type of `font' to
9803 `struct font *'.
9804 (struct glyph_string): New member underline_position and
9805 underline_thickness.
9806 (enum lface_attribute_index): Remove LFACE_AVGWIDTH_INDEX.
9807 (struct face): Change type of `font' to `struct font *'. Remove
9808 members `font_name', `font_info_id'.
9809 (per_char_metric, encode_char): Delete externs.
9810 (calc_pixel_width_or_height): Adjust the prototype.
9811
9812 * emacs.c (enable_font_backend): Delete extern.
9813 (main): Don't set enable_font_backend. Don't check the command
9814 line argument "-disable-font-backend".
9815
9816 * font.h (Qfont_spec, Qfont_entity, Qfont_object): Extern them.
9817 (enum font_property_index): New members FONT_DPI_INDEX,
9818 FONT_SPACING_INDEX, FONT_AVGWIDTH_INDEX, FONT_NAME_INDEX,
9819 FONT_FULLNAME_INDEX, FONT_FILE_INDEX, FONT_FORMAT_INDEX,
9820 FONT_OBJECT_MAX. Delete FONT_FRAME_INDEX.
9821 (FONT_WEIGHT_NUMERIC, FONT_SLANT_NUMERIC, FONT_WIDTH_NUMERIC)
9822 (FONT_WEIGHT_SYMBOLIC, FONT_SLANT_SYMBOLIC, FONT_WIDTH_SYMBOLIC)
9823 (FONT_WEIGHT_FOR_FACE, FONT_SLANT_FOR_FACE, FONT_WIDTH_FOR_FACE)
9824 (FONT_WEIGHT_NAME_NUMERIC, FONT_SLANT_NAME_NUMERIC)
9825 (FONT_WIDTH_NAME_NUMERIC, FONT_SET_STYLE): New macros.
9826 (struct font_spec, struct font_entity): New structs.
9827 (FONT_ENCODING_NOT_DECIDED): Moved from fontset.h.
9828 (struct font): Many members from old "struct font_info" moved to
9829 here. Members font and entity deleted.
9830 (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P, FONTP): Modified for
9831 the new font-related objects.
9832 (CHECK_FONT_SPEC, CHECK_FONT_ENTITY, CHECK_FONT_OBJECT)
9833 (CHECK_FONT_GET_OBJECT): Likewise.
9834 (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT, XSETFONT): New macros.
9835 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved from font.h.
9836 (struct font_driver): New members case_sensitive anc check. Type
9837 of the member list and open changed.
9838 (enable_font_backend, font_symbolic_weight, font_symbolic_slant)
9839 (font_symbolic_width, font_find_object, font_get_spec)
9840 (font_set_lface_from_name): Delete extern.
9841 (Fcopy_font_spec, Fmerge_font_spec, Ffont_family_list): New EXFUNs.
9842
9843 * font.c: Include <strings.h>.
9844 (enable_font_backend): Delete it.
9845 (Qfont_spec, Qfont_entity, Qfont_object): New variables.
9846 (CHECK_VALIDATE_FONT_SPEC): Delete it.
9847 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved to font.h.
9848 (null_string): Delete it.
9849 (null_vector): Make it static.
9850 (font_family_alist): Delete it.
9851 (Qnormal): Extern it.
9852 (QCextra, QClanguage): Delete it.
9853 (QClang, QCavgwidth, QCfont_entity, QCfc_unknown_spec): New variables.
9854 (font_make_spec, font_make_entity, font_make_object)
9855 (font_intern_prop): Renamed from intern_downcase. Don't downcase
9856 the string. Callers changed.
9857 (font_pixel_size): Adjusted for the format change of font-related
9858 objects.
9859 (prop_name_to_numeric, prop_numeric_to_name): Delete them.
9860 (font_style_to_value, font_style_symbolic): New function.
9861 (build_font_family_alist): Delete it.
9862 (font_registry_charsets): Use Fassoc_string instead of
9863 assq_no_quit.
9864 (font_prop_validate_symbol): Don't return null_string.
9865 (font_prop_validate_style): Adjusted for the change of
9866 style-related values in a font vector.
9867 (font_property_table): Delete entries for QClanguage and
9868 QCantialias, add entries for QCavgwidth.
9869 (get_font_prop_index): Delete the 2nd argument FROM.
9870 (font_prop_validate): Arguments changed.
9871 (font_put_extra): Adjusted for the change of font-related objects.
9872 (font_expand_wildcards, font_parse_xlfd, font_unparse_xlfd)
9873 (font_parse_fcname, font_unparse_fcname)
9874 (font_prepare_composition): Likewise.
9875 (font_parse_family_registry): Renamed from font_merge_old_spec.
9876 (otf_open): Delete the 1st arg entity.
9877 (font_otf_capability): Adjusted for the above change.
9878 (font_score): New arg alternate_families. Adjusted for the change
9879 of font-related objects.
9880 (font_sort_entites): New arg best_only.
9881 (font_symbolic_weight, font_symbolic_slant, font_symbolic_width):
9882 Delete them.
9883 (font_match_p): Check alternate families.
9884 (font_find_object): Delete it.
9885 (font_check_object): New function.
9886 (font_clear_cache): Adjusted for the change of font-related objects.
9887 (font_delete_unmatched): New arg.
9888 (font_list_entities): Call font_driver->list with a spec that
9889 doesn't specify style-related properties.
9890 (font_matching_entity): Arguments changed. Caller changed.
9891 (font_open_entity): Adjusted for the change of font-related objects.
9892 (font_close_object, font_has_char, font_encode_char)
9893 (font_get_name, font_get_spec): Likewise.
9894 (font_spec_from_name, font_clear_prop, font_update_lface):
9895 New functions.
9896 (font_find_for_lface, font_open_for_lface, font_load_for_lface)
9897 (font_prepare_for_face, font_done_for_face, font_open_by_name)
9898 (font_at): Adjusted for the change of font-related objects.
9899 (font_range): New function.
9900 (Ffontp, Ffont_spec, Ffont_get, Ffont_put, Flist_fonts)
9901 (Ffont_xlfd_name): Adjusted for the change of font-related objects.
9902 (Fcopy_font_spec, Fmerge_font_spec): New function.
9903 (Ffont_family_list): Renamed from list-families.
9904 (Finternal_set_font_style_table): Arguments changed.
9905 (Ffont_fill_gstring, Ffont_shape_text, Fopen_font)
9906 (Ffont_drive_otf, Fquery_font, Ffont_match_p): Adjusted for the
9907 change of font-related objects.
9908 (syms_of_font): Delete "ifdef USE_FONT_BACKEND". DEFSYM new symbols.
9909
9910 * fontset.h (struct font_info): Delete it. Most members go to
9911 struct font.
9912 (FONT_ENCODING_NOT_DECIDED): Moved to font.h.
9913 (enum FONT_SPEC_INDEX): Delete it.
9914 (font_info, list_fonts_func, load_font_func, query_font_func)
9915 (set_frame_fontset_func, find_ccl_program_func)
9916 (get_font_repertory_func, new_fontset_from_font_name): Delete
9917 externs.
9918 (fontset_from_font_name): Extern it.
9919 (FS_LOAD_FONT, FONT_INFO_ID, FONT_INFO_FROM_ID)
9920 (FONT_INFO_FROM_FACE): Deleted.
9921 (face_for_font): Adjust prototype.
9922
9923 * fontset.c: Throughout the file, delete all USE_FONT_BACKEND
9924 conditionals. Don't check enable_font_backend. Delete all codes
9925 used only when USE_FONT_BACKEND is not defined.
9926 (get_font_info_func, list_font_func, load_font_func)
9927 (query_font_func, set_frame_fontset_func, find_ccl_program_func)
9928 (get_font_repertory_func): Delete them.
9929 (FONTSET_SPEC, FONT_DEF_NEW, FONT_DEF_SPEC, FONT_DEF_ENCODING)
9930 (FONT_DEF_REPERTORY, RFONT_DEF_FACE, RFONT_DEF_SET_FACE)
9931 (RFONT_DEF_FONT_DEF, RFONT_DEF_SPEC, RFONT_DEF_REPERTORY)
9932 (RFONT_DEF_OBJECT, RFONT_DEF_SET_OBJECT, RFONT_DEF_SCORE)
9933 (RFONT_DEF_SET_SCORE, RFONT_DEF_NEW): New macros.
9934 (fontset_compare_rfontdef): New function.
9935 (reorder_font_vector): Remove the argument CHARSET-ID. Sort
9936 rfont-defs by qsort. Adjusted for the change of font-group vector.
9937 (load_font_get_repertory): Deleted.
9938 (fontset_find_font): Use new macros to ref/set elements of
9939 font-def and rfont-def.
9940 (fontset_font): Fix the timing of remembering that no font for C.
9941 (free_face_fontset): Do nothing if the face has no fontset.
9942 (face_suitable_for_char_p): Use new macros to ref/set elements of
9943 rfont-def.
9944 (face_for_char): Likewise. Call face_for_char with font_object.
9945 (fs_load_font): Delete. Delete #pragma surrounding it.
9946 (fs_query_fontset): Use strcasecmp instead of strcmp.
9947 (generate_ascii_font_name): Adjusted for the format change of
9948 font-spec.
9949 (Fset_fontset_font): Likewise. Use new macros to set elements of
9950 font-def.
9951 (Fnew_fontset): Use font_unparse_xlfd to generate
9952 FONTSET_ASCII (fontset).
9953 (new_fontset_from_font_name): Deleted.
9954 (fontset_from_font): Renamed from new_fontset_from_font. Check if
9955 a fontset is already created for the font. FIx updating of
9956 Vfontset_alias_alist.
9957 (fontset_ascii_font): Deleted.
9958 (Ffont_info): Adjusted for the format change of font-spec.
9959 (Finternal_char_font): Likewise.
9960 (Ffontset_info): Likewise.
9961 (syms_of_fontset): Don't check load_font_func.
9962
9963 * fns.c (internal_equal): Handle PREV_FONT.
9964
9965 * frame.h: Delete USE_FONT_BACKEND conditional.
9966
9967 * frame.c: Throughout the file, delete all USE_FONT_BACKEND
9968 conditionals. Don't check enable_font_backend. Delete all codes
9969 used only when USE_FONT_BACKEND is not defined.
9970 (x_set_font): Call x_new_font, not x_new_fontset2.
9971 (x_set_font_backend): Use FRAME_FONT macro to check if a font is
9972 already set for the frame.
9973
9974 * ftfont.c (ftfont_pattern_entity): Argument FRAME removed. Make
9975 a font-entity by font_make_entity. Use font_intern_prop instead
9976 of intern_downcase. Use FONT_SET_STYLE to set a style-related
9977 font property. If a font is scalable, set avgwidth property to 0.
9978 Set font-entity property by font_put_extra.
9979 (ftfont_list_generic_family): Argument SPEC and REGISTRY removed.
9980 (ffont_driver): Adjusted for the change of struct font_driver.
9981 (ftfont_spec_pattern): New function.
9982 (ftfont_list): Return a list, not vector.
9983 (ftfont_match): Use ftfont_spec_pattern to get a pattern.
9984 (ftfont_list_family): Don't downcase names.
9985 (ftfont_free_entity): Deleted.
9986 (ftfont_open): Return a font-object. Adjusted for the change of
9987 struct font. Get underline_thickness and underline_position from
9988 font property. Don't update dpyinfo->smallest_font_height and
9989 dpyinfo->smallest_char_width.
9990 (ftfont_close): Don't free `struct font'.
9991 (ftfont_has_char): Adjusted for the format change of font-entity.
9992 (ftfont_encode_char, ftfont_text_extents): Likewise.
9993
9994 * ftxfont.c (ftxfont_list): Return a list, not vector.
9995 (ftxfont_open): Return a font-object. Adjusted for the change of
9996 struct font. Get underline_thickness and underline_position from
9997 font property. Don't update dpyinfo->smallest_font_height and
9998 dpyinfo->smallest_char_width.
9999 (ftxfont_close): Don't decrease FRAME_X_DISPLAY_INFO (f)->n_fonts.
10000 (ftxfont_draw): Adjusted for the change of struct font.
10001
10002 * image.c (image_ascent): Don't include "charset.h". Include
10003 "character.h" and "font.h".
10004
10005 * lisp.h (enum pvec_type): New member PREV_FONT.
10006 (Fassoc_string): EXFUN it.
10007
10008 * print.c: Include font.h.
10009 (print_object): Handle font-related objects.
10010
10011 * xdisp.c: Throughout the file, delete all USE_FONT_BACKEND
10012 conditionals. Don't check enable_font_backend. Delete all codes
10013 used only when USE_FONT_BACKEND is not defined.
10014 (handle_auto_composed_prop): Do nothing if it->f is not on a
10015 window system. Check how many following characters can be
10016 displayed by the same font.
10017 (calc_pixel_width_or_height): Type of the 4th arg is changed to
10018 'struct font *'.
10019 (get_char_face_and_encoding): Assign the whole encoding task to
10020 the `encode-char' method of a font driver.
10021 (fill_composite_glyph_string): Adjusted for the change of `struct
10022 face' and `struct glyph_string'.
10023 (fill_glyph_string): Likewise.
10024 (get_per_char_metric): Arguments changed.
10025 (x_get_glyph_overhangs): Adjusted for the change of `struct face'
10026 and `struct glyph_string'.
10027 (produce_stretch_glyph, calc_line_height_property)
10028 (x_produce_glyphs): Likewise.
10029
10030 * xfaces.c: Throughout the file, delete all USE_FONT_BACKEND
10031 conditionals. Don't check enable_font_backend. Delete all codes
10032 used only when USE_FONT_BACKEND is not defined. Use
10033 FONT_XXX_NAME_NUMERIC instead of face_numeric_xxx.
10034 (QCfoundry, QCadstyle, QCregistry, QCspacing, QCsize, QCavgwidth)
10035 (Qp): Extern them.
10036 (clear_font_table, load_face_font, xlfd_lookup_field_contents):
10037 Deleted.
10038 (struct font_name): Deleted.
10039 (xlfd_numeric_value, xlfd_symbolic_value): Deleted.
10040 (compare_fonts_by_sort_order): New function.
10041 (xlfd_numeric_slant, xlfd_symbolic_slant, xlfd_numeric_weight)
10042 (xlfd_symbolic_weight, xlfd_numeric_swidth, xlfd_symbolic_swidth):
10043 Deleted.
10044 (Fx_family_fonts): Use font_list_entities, and sort fonts by
10045 compare_fonts_by_sort_order.
10046 (Fx_font_family_list): Call Ffont_family_list.
10047 (face_numeric_value, face_numeric_weight, face_numeric_slant)
10048 (face_numeric_swidth, face_symbolic_value, face_symbolic_weight)
10049 (face_symbolic_slant, face_symbolic_swidth)
10050 (split_font_name_into_vector, build_font_name_from_vector)
10051 (xlfd_fixed_p, xlfd_point_size, pixel_point_size)
10052 (font_rescale_ratio, split_font_name, build_font_name)
10053 (free_font_names, sort_fonts, x_face_list_fonts)
10054 (face_font_available_p, sorted_font_list, cmp_font_names)
10055 (font_list_1, concat_font_list, font_list, remove_duplicates):
10056 Deleted.
10057 (Fx_list_fonts): Use Ffont_list.
10058 (LFACE_AVGWIDTH): Deleted.
10059 (check_lface_attrs): Don't check LFACE_AVGWIDTH. Check LFACE_FONT
10060 by FONTP.
10061 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
10062 (set_lface_from_font_name): Delete it.
10063 (set_lface_from_font): Renamed from
10064 set_lface_from_font_and_fontset. Caller changed. Don't set
10065 LFACE_AVGWIDTH. Use FONT_XXX_FOR_FACE to get a symbol suitable
10066 for face.
10067 (merge_face_vectors): Copy font-spec if necessary.
10068 Clear properties of the font-spec if necessary.
10069 (merge_face_ref): Clear properties of the font-spec if necessary.
10070 (Finternal_set_lisp_face_attribute): Likewise.
10071 (set_font_frame_param): Use font_load_for_lface to load a
10072 font-object, and call Fmodify_frame_parameters with it.
10073 (x_update_menu_appearance): Don't check LFACE_AVGWIDTH. Get XLFD
10074 font name by Ffont_xlfd_name.
10075 (Finternal_lisp_face_attribute_values): Don't check QCweight,
10076 QCslant, and QCwidth.
10077 (Fface_font): Get a font name from font->props[FONT_NAME_INDEX].
10078 (lface_same_font_attributes_p): Don't check LFACE_AVGWIDTH.
10079 Compare fonts by EQ.
10080 (lookup_non_ascii_face): Deleted.
10081 (face_for_font): The 2nd argument changed.
10082 (x_supports_face_attributes_p): Don't check LFACE_AVGWIDTH.
10083 Check atomic font properties by case insensitive.
10084 (realize_non_ascii_face): Set face->overstrike correctly.
10085 (realize_x_face): Likewise. Check if LFACE_FONT is a font_object.
10086 (dump_realized_face): Get font name from
10087 font->props[FONT_NAME_INDEX]. Don't print font_info_id.
10088
10089 * xfns.c: Throughout the file, delete all USE_FONT_BACKEND
10090 conditionals. Don't check enable_font_backend. Delete all codes
10091 used only when USE_FONT_BACKEND is not defined.
10092 (xic_create_xfontset): Original code deleted and renamed from
10093 xic_create_xfontset2. Use FRAME_FONT, not FRAME_FONT_OBJECT.
10094 (x_make_gc): Don't set GCFont in GCs.
10095 (Fx_create_frame) [USE_LUCID]: Set xlwmenu_default_font to a font
10096 opened by "fixed".
10097 (syms_of_xfns): Don't set get_font_info_func, load_font_func,
10098 find_ccl_program_func, query_font_func, set_frame_fontset_func,
10099 get_font_repertory_func.
10100
10101 * xfont.c: Include <stdlib.h> and "ccl.h".
10102 (struct xfont_info): New structure.
10103 (xfont_query_font): Deleted.
10104 (xfont_find_ccl_program): Renamed from x_find_ccl_program and
10105 moved from xterm.c.
10106 (xfont_driver): Adjusted for the change of struct font_driver.
10107 (compare_font_names): New function.
10108 (xfont_list_pattern): Sort font names case insensitively. Make
10109 font_entity by calling font_make_entity. Avoid auto-scaled fonts.
10110 (xfont_list): Return a list, not vector.
10111 (xfont_match): If the font doesn't have QCname property, generate
10112 a name from the other font properties.
10113 (xfont_open): Return a font-object. Adjusted for the change of
10114 struct font. Get underline_thickness and underline_position from
10115 font property. Don't update dpyinfo->smallest_font_height and
10116 dpyinfo->smallest_char_width.
10117 (xfont_close): Don't free struct font.
10118 (xfont_prepare_face): Adjusted for the change of struct font.
10119 (xfont_done_face): Deleted.
10120 (xfont_has_char): Adjusted for the change of struct font.
10121 (xfont_encode_char, xfont_draw): Likewise.
10122 (xfont_check): New function.
10123
10124 * xftfont.c (xftfont_list): Adjusted for the change of `list'
10125 callback function.
10126 (xftfont_match): Adjusted for the format change of font-entity.
10127 (xftfont_open): Adjusted for the format change of font-entity and
10128 font-object. Adjusted for the change of struct font. Return a
10129 font-object. Don't update dpyinfo->smallest_font_height and
10130 dpyinfo->smallest_char_width.
10131 (xftfont_close): Block input while calling XftFontClose.
10132 (xftfont_prepare_face): Don't block input while calling
10133 xftfont_get_colors. Adjusted for the change of struct font.
10134 (xftfont_shape): Return value of error case fixed.
10135
10136 * xrdb.c (x_load_resources): Don't setup a fontset resource.
10137
10138 * xterm.h: Throughout the file, delete all USE_FONT_BACKEND
10139 conditionals.
10140 (FONT_WIDTH): Return (f)->max_width.
10141 (struct x_display_info): Delete member `font'.
10142 (x_list_fonts, x_get_font_info, x_load_font, x_query_font)
10143 (x_find_ccl_program, x_get_font_repertory): Delete externs.
10144 (struct x_output): Change type of `font' to `struct font *'.
10145
10146 * xterm.c: Throughout the file, delete all USE_FONT_BACKEND
10147 conditionals. Don't check enable_font_backend. Delete all codes
10148 used only when USE_FONT_BACKEND is not defined. Don't include ccl.h.
10149 (x_per_char_metric, x_encode_char): Deleted.
10150 (x_set_cursor_gc, x_set_mouse_face_gc): Don't set GCFont.
10151 (x_compute_glyph_string_overhangs): Adjusted for the change of
10152 `struct face'.
10153 (x_draw_glyph_string_foreground)
10154 (x_draw_composite_glyph_string_foreground): Likewise.
10155 (x_draw_glyph_string): Likewise. Use font->underline_position and
10156 font->underline_thickness.
10157 (x_new_font): Renamed from x_new_fontset2.
10158 (x_new_fontset, x_get_font_info, x_list_fonts): Deleted.
10159 (x_check_font): Call `check' method of a font driver.
10160 (x_font_min_bounds, x_compute_min_glyph_bounds, x_load_font)
10161 (x_query_font, x_get_font_repertory): Deleted.
10162 (x_find_ccl_program): Renamed and moved to xfont.c.
10163 (x_redisplay_interface): Adjusted for the change of `struct
10164 redisplay_interface'.
10165
10166 * w32fns.c: Throughout the file, delete all USE_FONT_BACKEND
10167 conditionals. Don't check enable_font_backend. Delete all codes
10168 used only when USE_FONT_BACKEND is not defined. Surround non-used
10169 code by "#ifdef OLD_FONT" and "endif".
10170 (Fw32_select_font): Use FONT_COMPAT to get old font structure.
10171
10172 * w32font.h (struct w32font_info): New member.
10173 (FONT_COMPAT): New macro.
10174 (w32font_open_internal): Prototype adjusted.
10175
10176 * w32gui.h (XGCValues): Surround `XFontStruct *font' by "if
10177 OLD_FONT" and "endif".
10178
10179 * w32font.c: Throughout the file, delete all USE_FONT_BACKEND
10180 conditionals. Don't check enable_font_backend. Delete all codes
10181 used only when USE_FONT_BACKEND is not defined.
10182 (w32font_open): Return a font-object. Make a font-object by
10183 font_make_object. Adjusted for the change of struct w32font_info.
10184 (w32font_close): Don't free struct font. Adjusted for the change
10185 of struct w32font_info.
10186 (w32font_encode_char, w32font_text_extents, w32font_draw):
10187 Adjusted for the change of struct w32font_info.
10188 (w32font_draw): Likewise.
10189 (w32font_list_internal): Return a list, not vector.
10190 (w32font_open_internal): Change the 4th arg to font-object.
10191 Adjusted for the change of struct w32font_info and font-object format.
10192 (add_font_name_to_list): Don't downcase names.
10193 (w32_enumfont_pattern_entity): Make a font-entity by
10194 font_make_entity. Adjusted for the format change of font-entity.
10195 Use FONT_SET_STYLE to set a style-related font property. If a
10196 font is scalable, set avgwidth property to 0. Set font-entity
10197 property by font_put_extra.
10198 (font_matches_spec): Adjusted for the format change of font-entity.
10199 (w32_weight_table, w32_decode_weight): New variables.
10200 (w32_encode_weight): New function.
10201 (fill_in_logfont): Adjusted for the format change of font-spec.
10202 (w32font_full_name): Use FONT_WEIGHT_SYMBOLIC to get a symbol
10203 weight value.
10204 (w32font_driver): Adjusted for the change of struct font_driver.
10205
10206 * w32term.h: Throughout the file, delete all USE_FONT_BACKEND
10207 conditionals. Don't check enable_font_backend. Surround non-used
10208 code by "#ifdef OLD_FONT" and "endif".
10209 (FONT_WIDTH, FONT_HEIGHT, FONT_BASE, FONT_DESCENT)
10210 (FONT_AVG_WIDTH): Adjusted for the change of struct font.
10211
10212 * w32term.c: Throughout the file, delete all USE_FONT_BACKEND
10213 conditionals. Don't check enable_font_backend. Delete all codes
10214 used only when USE_FONT_BACKEND is not defined. Surround non-used
10215 code by "#ifdef OLD_FONT" and "endif".
10216
10217 * w32uniscribe.c: Delete USE_FONT_BACKEND conditional.
10218 (uniscribe_open): Return value changed to font-object.
10219 Adjusted for the format change of font-object.
10220 (uniscribe_otf_capability): Adjusted for the change of struct font.
10221 (add_opentype_font_name_to_list): Don't downcase names.
10222 (uniscribe_font_driver): Adjusted for the change of struct
10223 font_driver.
10224
10225 2008-05-13 Chong Yidong <cyd@stupidchicken.com>
10226
10227 * dispnew.c (update_frame_1): Check if tty output is still valid
10228 before flushing it.
10229
10230 2008-05-13 Jan Djärv <jan.h.d@swipnet.se>
10231
10232 * xterm.c (handle_one_xevent): Don't pass buttons higher than 3
10233 to Gtk+ menus.
10234
10235 2008-05-13 Stefan Monnier <monnier@iro.umontreal.ca>
10236
10237 * dired.c (file_name_completion): Tweak the code so as to always do it
10238 in a single pass. Tighten the scope of some variables.
10239
10240 * dired.c (Qdefault_directory): New var.
10241 (file_name_completion): Use it instead of Fexpand_file_name.
10242 (syms_of_dired): Initialize it.
10243
10244 2008-05-12 Stefan Monnier <monnier@iro.umontreal.ca>
10245
10246 * fileio.c (double_dollars): Remove dead code.
10247
10248 2008-05-10 Eli Zaretskii <eliz@gnu.org>
10249
10250 * dired.c (Ffile_attributes, Fdirectory_files_and_attributes):
10251 Mention w32-get-true-file-attributes in doc string.
10252
10253 * w32proc.c (syms_of_ntproc) <w32-get-true-file-attributes>: Doc fix.
10254
10255 2008-05-09 Glenn Morris <rgm@gnu.org>
10256
10257 * fileio.c (Fread_file_name): Remove reference to insdef, deleted
10258 2008-04-23.
10259
10260 2008-05-09 Eli Zaretskii <eliz@gnu.org>
10261
10262 Support for reporting owner and group of each file on MS-Windows:
10263 * dired.c (stat_uname, stat_gname): New functions, with special
10264 implementation for w32.
10265 (Ffile_attributes): Use them instead of getpwuid and getgrgid.
10266
10267 * w32.c: Rename the_passwd_* to dflt_passwd_*.
10268 (dflt_group_name): New static variable.
10269 (dflt_group): Rename from the_group.
10270 (init_user_info): Init dflt_group fields. Get user's group name
10271 from LookupAccountSid.
10272 (g_b_init_get_file_security, g_b_init_get_security_descriptor_owner)
10273 (g_b_init_get_security_descriptor_group, g_b_init_is_valid_sid):
10274 New initialization states.
10275 (globals_of_w32): Initialize them to zero. Initialize the default
10276 group name to "None".
10277 (GetFileSecurity_Name): New global var, the name of the function
10278 to call for GetFileSecurity.
10279 (GetFileSecurity_Proc, GetSecurityDescriptorOwner_Proc)
10280 (GetSecurityDescriptorGroup_Proc, IsValidSid_Proc): New typedefs.
10281 (get_file_security, get_security_descriptor_owner)
10282 (get_security_descriptor_group, is_valid_sid)
10283 (get_file_security_desc, get_rid, get_name_and_id)
10284 (get_file_owner_and_group): New functions.
10285 (stat): Use get_file_security_desc and get_file_owner_and_group to
10286 report the owner and primary group of each file. Don't ignore the
10287 high 32 bits of file's size, now that st_size is 64-bit wide.
10288 Fix test when to get true file attributes.
10289 (init_user_info): Use get_rid instead of equivalent inline code.
10290 (fstat): Don't ignore the high 32 bits of file's size.
10291
10292 2008-05-09 Chong Yidong <cyd@stupidchicken.com>
10293
10294 * image.c (png_load): Use correct bit-depth for setting background
10295 color.
10296
10297 2008-05-08 Eli Zaretskii <eliz@gnu.org>
10298
10299 * Makefile.in (lisp, shortlisp): Rename epa-file-hook.elc to
10300 epa-hook.elc.
10301
10302 2008-05-08 Juanma Barranquero <lekktu@gmail.com>
10303
10304 * font.c (Ffont_match_p): Don't use `iff' in docstring.
10305
10306 2008-05-07 Dan Nicolaescu <dann@ics.uci.edu>
10307
10308 * macfns.c (Fx_create_frame): Make a copy of frame parameters
10309 because the original parameters are in pure storage now.
10310 (mac_window): Remove unused params. Update callers.
10311
10312 2008-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
10313
10314 * lread.c (substitute_object_recurse): Use lower-level primitives.
10315 Don't signal errors when traversing sub-char-tables.
10316 Don't loop over all the possible characters when traversing char-tables.
10317
10318 * print.c (print_preprocess): Add sub-char-tables to the print-table,
10319 just like we do in print.c.
10320
10321 2008-05-05 Stefan Monnier <monnier@iro.umontreal.ca>
10322
10323 * minibuf.c (Ftry_completion): Remove code left over from when we used
10324 scmp instead of Fcompare_strings.
10325
10326 2008-05-04 Juanma Barranquero <lekktu@gmail.com>
10327
10328 * w32fns.c (Fw32_battery_status): Fix computation of %t (h:min) format.
10329
10330 2008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10331
10332 * image.c [USE_MAC_IMAGE_IO] (image_load_image_io):
10333 Create bitmap context in native byte order.
10334
10335 * macterm.c (XDrawLine)
10336 (XCreatePixmapFromBitmapData) [USE_MAC_IMAGE_IO]: Create bitmap
10337 context in native byte order.
10338
10339 2008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10340
10341 * config.in: Regenerate.
10342
10343 * image.c (PIX_MASK_DRAW, PIX_MASK_RETAIN) [USE_MAC_IMAGE_IO]:
10344 New definitions for Image I/O support.
10345 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
10346 (mac_create_cg_image_from_image, x_create_x_image_and_pixmap)
10347 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
10348 (mac_data_provider_release_data, image_load_image_io)
10349 [USE_MAC_IMAGE_IO]: New functions.
10350 (CGImageCreateWithPNGDataProviderProcType) [MAC_OSX]: Remove typedef.
10351 (MyCGImageCreateWithPNGDataProvider) [MAC_OSX]: Remove variable.
10352 (init_image_func_pointer) [MAC_OSX]: Remove function.
10353 (image_load_quartz2d) [MAC_OSX]: Check availability of
10354 CGImageCreateWithPNGDataProvider at compile time.
10355 Use lowercase `false' for boolean constant.
10356 (png_load, jpeg_load, tiff_load, gif_load) [USE_MAC_IMAGE_IO]:
10357 Use image_load_image_io.
10358 (png_load) [!USE_MAC_IMAGE_IO && MAC_OSX]:
10359 Don't check MyCGImageCreateWithPNGDataProvider.
10360 (init_image) [MAC_OSX && TARGET_API_MAC_CARBON]:
10361 Don't call init_image_func_pointer.
10362
10363 * macgui.h (Pixmap) [USE_MAC_IMAGE_IO]: New definition for Image I/O.
10364
10365 * macterm.c (mac_cg_color_space_rgb) [USE_CG_DRAWING]:
10366 Make variable non-static.
10367 (XDrawLine, XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
10368 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
10369
10370 * macterm.h (ARGB_TO_ULONG, ALPHA_FROM_ULONG): New macros.
10371 (RED_FROM_ULONG): Mask off higher bits.
10372 (mac_cg_color_space_rgb) [USE_MAC_IMAGE_IO]: New extern.
10373
10374 * s/darwin.h [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
10375 Include AvailabilityMacros.h.
10376 (USE_MAC_IMAGE_IO, LIBS_IMAGE) [HAVE_CARBON]: New defines.
10377 (LIBS_CARBON) [HAVE_CARBON]: Use LIBS_IMAGE.
10378
10379 2008-05-03 Stefan Monnier <monnier@iro.umontreal.ca>
10380
10381 * chartab.c (Fset_char_table_range): If range is t, really set all
10382 chars to that value.
10383
10384 2008-05-03 Eli Zaretskii <eliz@gnu.org>
10385
10386 * dired.c (Ffile_attributes): Don't allow the device number become
10387 negative.
10388
10389 2008-05-02 Daiki Ueno <ueno@unixuser.org>
10390
10391 * Makefile.in (lisp, shortlisp): Add epa-file-hook.elc.
10392
10393 2008-05-02 Juri Linkov <juri@jurta.org>
10394
10395 * minibuf.c (Fread_from_minibuffer, Fread_string, Fread_command)
10396 (Fread_variable, Fread_buffer, Fcompleting_read): Document the
10397 DEFAULT argument as a list of default values in docstrings.
10398
10399 2008-05-01 Chong Yidong <cyd@stupidchicken.com>
10400
10401 * puresize.h (BASE_PURESIZE): Increase to 1210000.
10402
10403 2008-05-01 Martin Rudalics <rudalics@gmx.at>
10404
10405 * dispnew.c (change_frame_size_1): Preserve small windows when
10406 shrinking frames by calling set_window_height|width with third
10407 arg 2.
10408
10409 * window.h (struct window): Replace field too_small_ok by field
10410 resize_proportionally.
10411
10412 * window.c (make_window): Initialize resize_proportionally.
10413 (enlarge_window): Temporarily set resize_proportionally to make
10414 sure that shrink_windows does scale the window proportionally.
10415 (shrink_windows): When window has resize_proportionally set try
10416 to shrink it proportionally by stealing from other windows.
10417 (struct saved_window, Fset_window_configuration)
10418 (compare_window_configurations): Handle resize_proportionally.
10419 (WINDOW_TOTAL_SIZE): New macro.
10420 (window_min_size, shrink_windows, size_window): Use it.
10421 (check_min_window_sizes): Remove. Invalid values of
10422 window-min-height|width are handled by window_min_size_2 now.
10423 (size_window, Fsplit_window, enlarge_window)
10424 (adjust_window_trailing_edge, grow_mini_window): Don't call
10425 check_min_window_sizes.
10426 (window_min_size_2, window_min_size_1, window_min_size):
10427 New argument safe_p for retrieving "safe" minimum sizes.
10428 (Fdisplay_buffer, Fsplit_window, enlarge_window)
10429 (adjust_window_trailing_edge, grow_mini_window):
10430 Adjust arguments of window_min_size... functions.
10431 (shrink_windows): Argument min_size removed. New argument
10432 safe_p allows shrinking windows to their safe minimum sizes.
10433 Calculate minimum size and decide whether a window shall be
10434 deleted for each window individually.
10435 (size_window): When nodelete_p equals 2, tell shrink_windows to
10436 delete windows only if their new minimum size is no more safe.
10437 (shrink_window_lowest_first): Call window_min_size_1 to make
10438 sure to preserve modeline of bottom-most window when resizing
10439 the minibuffer.
10440 (Fset_window_configuration, Fcurrent_window_configuration)
10441 (compare_window_configurations): Do not handle
10442 window-min-height|width any more.
10443 (syms_of_window): Clarify window-min-height|width doc-strings.
10444
10445 2008-04-30 Stefan Monnier <monnier@iro.umontreal.ca>
10446
10447 * dired.c (file_name_completion): Fix up the encoding/decoding issue
10448 some more. Copy some of the code from Ftry_completions.
10449 Remove special case code that dates back to initial revision when the
10450 slash was only added when necessary and that can't trigger nowadays.
10451
10452 2008-04-27 Kenichi Handa <handa@m17n.org>
10453
10454 * font.c (font_prop_validate): Signal `error' instead of `font'.
10455
10456 2008-04-29 Jason Rumney <jasonr@gnu.org>
10457
10458 * w32fns.c (Fw32_battery_status): New defun.
10459 (syms_of_w32fns): Defsubr it.
10460
10461 2008-04-28 Andreas Schwab <schwab@suse.de>
10462
10463 * dired.c (file_name_completion): Fix another mixing of encoded
10464 and decoded names.
10465
10466 2008-04-28 Juanma Barranquero <lekktu@gmail.com>
10467
10468 * w32fns.c (Fw32_define_rgb_color): Fix typo in docstring.
10469
10470 2008-04-27 Juanma Barranquero <lekktu@gmail.com>
10471
10472 * fringe.c (Fdefine_fringe_bitmap): Doc fix.
10473
10474 2008-04-27 Andreas Schwab <schwab@suse.de>
10475
10476 * dired.c (file_name_completion): Fix inappropriate mixing of
10477 encoded and decoded names.
10478
10479 * xterm.c (XTread_socket): Fix use of uninitialized variable.
10480
10481 * puresize.h (BASE_PURESIZE): Increase to 1200000.
10482
10483 2008-04-26 Eli Zaretskii <eliz@gnu.org>
10484
10485 * dired.c (Ffile_attributes) [WINDOWSNT]: Undo change from
10486 2008-03-31, it's not needed anymore with `struct stat' definition
10487 on nt/inc/sys/stat.h. Undo changes from 2007-01-12 and 2007-01-13
10488 for the same reasons.
10489
10490 2008-04-25 Dennis Gilmore <ausil@fedoraproject.org> (tiny change)
10491
10492 * m/sparc.h: Additional redefinitions for GNU/Linux.
10493
10494 2008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10495
10496 * macterm.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
10497 (syms_of_macterm) [USE_MAC_TSM]: Defvar it.
10498 (Qmouse_drag_overlay) [MAC_OSX]: New variable.
10499 (syms_of_macterm) [MAC_OSX]: Intern and staticpro it.
10500 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
10501 (mac_ax_selected_text_range) [MAC_OSX]: New functions.
10502 (mac_ax_number_of_characters) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
10503 Likewise.
10504
10505 * mactoolbox.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: Add extern.
10506 (fast_find_position, x_y_to_hpos_vpos, mac_ax_selected_text_range)
10507 (mac_ax_number_of_characters): Add externs.
10508 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
10509 [USE_MAC_TSM]: Likewise.
10510 (mac_handle_text_input_event) [MAC_OSX]:
10511 Handle kEventTextInputOffsetToPos for no active input area case.
10512 Handle kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
10513 (mac_handle_document_access_event)
10514 [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: New function.
10515 (install_application_handler) [MAC_OSX]: Register handlers for
10516 kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
10517 (install_application_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
10518 Register mac_handle_document_access_event.
10519
10520 * xdisp.c (x_y_to_hpos_vpos, fast_find_position) [HAVE_CARBON]:
10521 Make functions non-static.
10522
10523 2008-04-23 Stefan Monnier <monnier@iro.umontreal.ca>
10524
10525 * fileio.c (Vread_file_name_function, Vread_file_name_predicate)
10526 (read_file_name_completion_ignore_case, insert_default_directory)
10527 (Qdefault_directory): Move to minibuffer.el.
10528 (Fread_file_name): Call the new `read-file-name' instead.
10529
10530 2008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10531
10532 * mac.c (create_apple_event) [TARGET_API_MAC_CARBON]:
10533 Make function non-static.
10534 (create_apple_event_from_event_ref) [TARGET_API_MAC_CARBON]:
10535 Remove function.
10536 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
10537 Move to mactoolbox.c.
10538 (mac_event_parameters_to_lisp) [TARGET_API_MAC_CARBON]: New function.
10539
10540 * macgui.h (CGFloat) [!CGFLOAT_DEFINED]: New typedef.
10541 (mac_rect_make): New macro.
10542
10543 * macterm.c (mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
10544 instead of float.
10545 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
10546 (init_cg_color, mac_draw_line, mac_draw_cg_image, XSetForeground)
10547 (XSetBackground) [USE_CG_DRAWING]: Likewise.
10548 (mac_draw_image_string_atsui) [MAC_OSX]: Use mac_rect_make instead of
10549 CGRectMake.
10550 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
10551 (mac_erase_rectangle, mac_draw_cg_image, mac_fill_rectangle)
10552 (mac_set_clip_rectangles) [USE_CG_DRAWING]: Likewise.
10553 (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
10554 instead of WindowRef in argument type.
10555 (XCreatePixmap) [!MAC_OS8]: Don't call SetPortWindowPort.
10556 (mac_invert_rectangle): Use CGContextSetBlendMode if available.
10557 (mac_set_clip_rectangles, mac_reset_clip_rectangles): Take argument F
10558 instead of DISPLAY. All uses changed.
10559 (mac_handle_size_change): Don't call SET_FRAME_GARBAGED.
10560 (x_calc_absolute_position): Simplify so as not to use
10561 FRAME_PIXEL_WIDTH/FRAME_PIXEL_HEIGHT.
10562
10563 * macterm.h (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
10564 instead of WindowRef in argument type.
10565 (create_apple_event_from_event_ref, create_apple_event_from_drag_ref)
10566 [TARGET_API_MAC_CARBON]: Remove externs.
10567 (create_apple_event, mac_event_parameters_to_lisp)
10568 [TARGET_API_MAC_CARBON]: Add externs.
10569
10570 * mactoolbox.c (Vmac_ts_script_language_on_focus)
10571 (saved_ts_script_language_on_focus) [USE_MAC_TSM]: Remove externs.
10572 (XTread_socket) [USE_MAC_TOOLBAR]: Select window if its structure part
10573 is clicked.
10574 (x_activate_menubar): Remove extern for saved_menu_event_location.
10575 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
10576 Move from mac.c.
10577
10578 2008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10579
10580 * alloc.c [!SYSTEM_MALLOC && !SYNC_INPUT] (uninterrupt_malloc)
10581 [HAVE_GTK_AND_PTHREAD && !DOUG_LEA_MALLOC]: Don't use recursive mutex.
10582
10583 2008-04-23 Jason Rumney <jasonr@gnu.org>
10584
10585 * w32.c (stat): When Vw32_get_true_file_attributes is Qlocal, get
10586 attributes only for local files.
10587
10588 * w32proc.c (syms_of_ntproc): Change Vw32_get_true_file attributes
10589 default to Qlocal.
10590
10591 2008-04-22 Juri Linkov <juri@jurta.org>
10592
10593 * buffer.c (Fswitch_to_buffer): Change interactive spec to call
10594 read-buffer-to-switch instead of using the letter "B".
10595
10596 2008-04-21 Stefan Monnier <monnier@iro.umontreal.ca>
10597
10598 * fileio.c (Qdefault_directory): New variable.
10599 (Fread_file_name): Use it to pass `dir' to the completion functions.
10600
10601 2008-04-20 Chong Yidong <cyd@stupidchicken.com>
10602
10603 * xdisp.c (pos_visible_p): Check if iterator stops on a display string.
10604
10605 2008-04-19 Stefan Monnier <monnier@iro.umontreal.ca>
10606
10607 * keyboard.c (Vpre_help_message): Remove.
10608 (show_help_echo): Remove default C code.
10609
10610 * dired.c (directory_files_internal, file_name_completion):
10611 Only call ENCODE_FILE if the string is indeed decoded.
10612
10613 2008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
10614
10615 * Makefile.in (TOOLKIT_DEFINES): Remove.
10616 (LIBW): Use a bit less #if, remove left over OPEN_LOOK stuff.
10617
10618 2008-04-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10619
10620 * Makefile.in (MAC_OBJ): Add mactoolbox.o.
10621 (mactoolbox.o): New target.
10622
10623 * mac.c [MAC_OSX] (select_and_poll_event, sys_select):
10624 Use mac_run_loop_run_once instead of CFRunLoopRunInMode.
10625
10626 * macfns.c (x_set_background_color, mac_window, x_create_tip_frame):
10627 Use mac_set_frame_window_background instead of XSetWindowBackground.
10628 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]:
10629 Use mac_is_window_toolbar_visible instead of IsWindowToolbarVisible.
10630 (x_set_name_internal) [TARGET_API_MAC_CARBON]: Use mac_set_window_title
10631 instead of SetWindowTitleWithCFString.
10632 (mac_update_proxy_icon) [TARGET_API_MAC_CARBON]: Remove BLOCK_INPUT.
10633 Move function to mactoolbox.c.
10634 (mac_update_title_bar) [TARGET_API_MAC_CARBON]:
10635 Use mac_set_window_modified instead of SetWindowModified.
10636 Add BLOCK_INPUT around mac_set_window_modified/mac_update_proxy_icon.
10637 (mac_window, x_create_tip_frame): Use mac_create_frame_window.
10638 (Fx_focus_frame): Use mac_front_non_floating_window instead of
10639 FrontNonFloatingWindow. Use mac_activate_window instead of
10640 ActivateWindow. Use mac_active_non_floating_window instead of
10641 ActiveNonFloatingWindow.
10642 (show_hourglass, hide_hourglass) [TARGET_API_MAC_CARBON]:
10643 Use mac_show_hourglass and mac_hide_hourglass.
10644 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use mac_get_global_mouse
10645 instead of GetGlobalMouse.
10646 (Fx_show_tip): Use mac_move_window/mac_size_window/mac_show_window
10647 instead of MoveWindow/SizeWindow/ShowWindow, respectively.
10648 Use mac_bring_window_to_front instead of BringToFront.
10649 (Qfile_name_history) [TARGET_API_MAC_CARBON]: Move extern to
10650 mactoolbox.c.
10651 (Fx_file_dialog) [TARGET_API_MAC_CARBON]: Move function body to
10652 mac_file_dialog in mactoolbox.c. Use mac_file_dialog.
10653 (mac_nav_event_callback) [TARGET_API_MAC_CARBON]: Move function to
10654 mactoolbox.c.
10655
10656 * macgui.h [!HAVE_CARBON]: Include Quickdraw.h instead of QuickDraw.h.
10657 (XtPointer): Move typedef from macmenu.c.
10658 (enum button_type): Move enum from macmenu.c.
10659 (widget_value): Move typedef from macmenu.c.
10660 (M_APPLE, I_ABOUT, EXTRA_STACK_ALLOC, ARGV_STRING_LIST_ID)
10661 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
10662 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
10663 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
10664 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
10665 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
10666 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
10667 (DIALOG_ICON_TOP_MARGIN): Move defines from macmenu.c.
10668 (Selection): Move typedef from macselect.c.
10669 (RAM_TOO_LARGE_ALERT_ID, ABOUT_ALERT_ID) [MAC_OS8]: Move defines from
10670 macterm.c.
10671 (mac_set_window_title, mac_set_window_modified, mac_is_window_visible)
10672 (mac_is_window_collapsed, mac_bring_window_to_front)
10673 (mac_send_window_behind, mac_hide_window, mac_show_window)
10674 (mac_collapse_window, mac_front_non_floating_window)
10675 (mac_active_non_floating_window, mac_activate_window)
10676 (mac_move_window_structure, mac_move_window, mac_size_window)
10677 (mac_get_global_mouse, mac_is_window_toolbar_visible): New defines.
10678
10679 * macmenu.c [!TARGET_API_MAC_CARBON]: Move includes to mactoolbox.c.
10680 (enum mac_menu_kind): Move enum to mactoolbox.c.
10681 (min_menu_id): Move variable to mactoolbox.c.
10682 (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]: Likewise.
10683 (DIALOG_WINDOW_RESOURCE): Move define to mactoolbox.c.
10684 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
10685 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
10686 [TARGET_API_MAC_CARBON]: Likewise.
10687 (XtPointer): Move typedef to macgui.h.
10688 (enum button_type): Move enum to macgui.h.
10689 (widget_value): Move typedef to macgui.h.
10690 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
10691 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
10692 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
10693 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
10694 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
10695 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
10696 (DIALOG_ICON_TOP_MARGIN): Move defines to macgui.h.
10697 (popup_activated_flag): Make variable non-static.
10698 (x_activate_menubar, install_menu_quit_handler, pop_down_menu)
10699 (add_menu_item, fill_menu, dispose_menus):
10700 Move functions to mactoolbox.c.
10701 (restore_show_help_function, menu_target_item_handler)
10702 (install_menu_target_item_handler, mac_handle_dialog_event)
10703 (install_dialog_event_handler, pop_down_dialog, create_and_show_dialog)
10704 [TARGET_API_MAC_CARBON]: Likewise.
10705 (menu_quit_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: Likewise.
10706 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
10707 (find_and_call_menu_selection, name_is_separator): Make function
10708 non-static.
10709 (Vshow_help_function, timer_check) [TARGET_API_MAC_CARBON]: Move extern
10710 to mactoolbox.c.
10711 (set_frame_menubar): Don't call install_menu_quit_handler.
10712 (menu_item_selection): New variable.
10713 (mac_menu_show): Use create_and_show_popup_menu.
10714 (create_and_show_dialog) [TARGET_API_MAC_CARBON]: Don't return
10715 selection but set variable menu_item_selection. All uses changed.
10716 (mac_fill_menubar): Rename from fill_menubar. All uses changed.
10717 Call install_menu_quit_handler. Move to mactoolbox.c.
10718
10719 * macselect.c [!TARGET_API_MAC_CARBON]: Don't include Scrap.h.
10720 (Selection): Move typedef to macgui.h.
10721 (Vselection_converter_alist, Qmac_scrap_name, Qmac_ostype)
10722 (Vmac_apple_event_map, Qmac_apple_event_class, Qmac_apple_event_id):
10723 Make variables non-static.
10724 (Vmac_dnd_known_types) [TARGET_API_MAC_CARBON]: Likewise.
10725 (mac_handle_apple_event, cleanup_all_suspended_apple_events):
10726 Make functions non-static.
10727 (Vmac_service_selection) [MAC_OSX]: Likewise.
10728 (mac_get_selection_from_symbol, get_flavor_type_from_symbol)
10729 (mac_valid_selection_target_p, mac_clear_selection)
10730 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
10731 (mac_put_selection_value, mac_selection_has_target_p)
10732 (mac_get_selection_value, mac_get_selection_target_list)
10733 (init_apple_event_handler, install_drag_handler, remove_drag_handler):
10734 Move functions to mactoolbox.c.
10735 (mac_do_track_drag, mac_do_receive_drag) [TARGET_API_MAC_CARBON]:
10736 Likewise.
10737 (copy_scrap_flavor_data, mac_handle_service_event)
10738 (install_service_handler) [MAC_OSX]: Likewise.
10739 (syms_of_macselect) <Vmac_dnd_known_types>:
10740 Use mac_dnd_default_known_types.
10741
10742 * macterm.h (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y):
10743 Move to mactoolbox.c.
10744 (HOURGLASS_WIDTH, HOURGLASS_HEIGHT): Change to 15.
10745 (Fx_selection_owner_p): Add EXFUN.
10746 (install_window_handler, remove_window_handler, XSetWindowBackground):
10747 Remove externs.
10748 (do_apple_menu) [!TARGET_API_MAC_CARBON]: Likewise.
10749 (mac_prepare_for_quickdraw) [USE_CG_DRAWING]: Likewise.
10750 (x_raise_frame, x_lower_frame, mac_alert_sound_play)
10751 (install_application_handler, mac_get_frame_bounds, mac_get_frame_mouse)
10752 (mac_convert_frame_point_to_global, mac_set_frame_window_background)
10753 (mac_update_begin mac_update_end, mac_frame_up_to_date, x_flush)
10754 (mac_create_frame_window, mac_dispose_frame_window, mac_begin_clip)
10755 (mac_end_clip, mac_create_scroll_bar, mac_dispose_scroll_bar)
10756 (mac_set_scroll_bar_bounds, mac_redraw_scroll_bar, mac_fill_menubar)
10757 (create_and_show_popup_menu, mac_get_selection_from_symbol)
10758 (mac_valid_selection_target_p, mac_clear_selection)
10759 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
10760 (mac_put_selection_value, mac_selection_has_target_p)
10761 (mac_get_selection_value, mac_get_selection_target_list): Add externs.
10762 (mac_update_proxy_icon, mac_show_hourglass, mac_hide_hourglass)
10763 (mac_reposition_hourglass, mac_file_dialog, create_and_show_dialog)
10764 (mac_dnd_default_known_types) [TARGET_API_MAC_CARBON]: Likewise.
10765 (mac_run_loop_run_once) [MAC_OSX]: Likewise.
10766 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
10767 (mac_begin_cg_clip, mac_end_cg_clip) [USE_CG_DRAWING]: Likewise.
10768 (x_set_toolkit_scroll_bar_thumb) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
10769 (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
10770
10771 * mactoolbox.c: New file.
10772
10773 2008-04-18 Jason Rumney <jasonr@gnu.org>
10774
10775 * dired.c (Ffile_attributes) [WINDOWSNT]: Cast uid and gid to unsigned.
10776
10777 2008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
10778
10779 * character.c (Fmultibyte_char_to_unibyte):
10780 Return latin1 chars unchanged.
10781
10782 * fileio.c (Fexpand_file_name): Refine last fix so `nm' is only
10783 relocated if it points to `name'.
10784
10785 2008-04-17 Kenichi Handa <handa@m17n.org>
10786
10787 * data.c (Faset): Allow setting a multibyte character in an
10788 ASCII-only unibyte string.
10789
10790 * lisp.h (STRING_SET_MULTIBYTE): New macro.
10791
10792 2008-04-16 Stefan Monnier <monnier@iro.umontreal.ca>
10793
10794 * Makefile.in: Don't use HAVE_GTK and don't -DUSE_GTK since it's now
10795 done in config.h.
10796
10797 2008-04-16 Juanma Barranquero <lekktu@gmail.com>
10798
10799 * character.c (Fchar_bytes, Fchar_width, Fstring_width)
10800 (Fchar_direction): Add usage in the docstring.
10801
10802 2008-04-15 Chong Yidong <cyd@stupidchicken.com>
10803
10804 * keyboard.c (read_key_sequence): Remove always-true checks.
10805
10806 2008-04-14 Jason Rumney <jasonr@gnu.org>
10807
10808 * w32font.c (w32font_open_internal): Set max_bounds.descent in
10809 compatibility struct, for better underline positioning.
10810
10811 2008-04-13 David Hansen <david.hansen@gmx.net>
10812
10813 * dbusbind.c (dbus-get-unique-name): Remove extra copying of name
10814 string.
10815
10816 2008-04-12 Dan Nicolaescu <dann@ics.uci.edu>
10817
10818 * m/hp800.h (XUINT, XSET): Remove.
10819
10820 2008-04-12 Juanma Barranquero <lekktu@gmail.com>
10821
10822 * fileio.c (Fexpand_file_name): Add declaration for `p' missing in
10823 previous change.
10824
10825 2008-04-12 Stefan Monnier <monnier@iro.umontreal.ca>
10826
10827 * fileio.c (Fexpand_file_name): Tighten the scope of `p' and `o' vars.
10828 Relocate `nm' after calling DECODE_FILE, in case the GC was run.
10829
10830 2008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
10831
10832 * keymap.h (map_keymap_canonical): Declare.
10833 * xmenu.c (single_keymap_panes): Use it.
10834
10835 2008-04-11 Glenn Morris <rgm@gnu.org>
10836
10837 * eval.c (Fdefvaralias): If the alias is bound and the target is not,
10838 set the target's value to that of the alias.
10839
10840 2008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
10841
10842 * term.c (set_tty_color_mode): Left over typo.
10843
10844 2008-04-10 Michael Albinus <michael.albinus@gmx.de>
10845
10846 * fileio.c (Fmake_symbolic_link): Surround code by #ifdef S_IFLNK
10847 only after check for file name handler functions. Signal, when
10848 native functionality is not supported.
10849 (syms_of_fileio): Declare it unconditionally.
10850
10851 2008-04-10 Jason Rumney <jasonr@gnu.org>
10852
10853 * w32menu.c (is_simple_dialog, simple_dialog_show): New functions.
10854 (Fx_popup_dialog): Handle simple yes/no questions as dialogs.
10855
10856 * w32.c (logon_network_drive): Also logon to remote drives that
10857 are mapped to drive letters.
10858
10859 2008-04-10 Glenn Morris <rgm@gnu.org>
10860
10861 * xdisp.c (truncate-partial-width-windows): Doc fix.
10862
10863 2008-04-10 Stefan Monnier <monnier@iro.umontreal.ca>
10864
10865 * fileio.c (read_file_name_cleanup, Fread_file_name_internal):
10866 Move functions to minibuffer.el.
10867 (syms_of_fileio): Don't declare them.
10868
10869 2008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
10870
10871 * minibuf.c (Vcompletion_auto_help): Move to minibuffer.el.
10872 (syms_of_minibuf): Remove its initialization.
10873
10874 * minibuf.c (temp_echo_area_glyphs): Remove unused function.
10875
10876 2008-04-09 Juanma Barranquero <lekktu@gmail.com>
10877
10878 * editfns.c (Ffield_string_no_properties): Fix typo in docstring.
10879
10880 2008-04-09 Jason Rumney <jasonr@gnu.org>
10881
10882 * makefile.w32-in (distclean): Delete makefile too.
10883 (maintainer-clean): New target.
10884
10885 * xdisp.c (redisplay_internal) [!WINDOWSNT]: Conditionalize last change.
10886
10887 * w32term.c (w32_compute_glyph_string_overhangs): Compute overhangs
10888 for new font backend and composite cases.
10889
10890 2008-04-09 Jan Djärv <jan.h.d@swipnet.se>
10891
10892 * atimer.c (alarm_signal_handler): Call run_timers if not SYNC_INPUT.
10893 Most of the code moved to run_timers.
10894 (do_pending_atimers): Call run_timers.
10895 (run_timers): New function.
10896
10897 * sysdep.c (emacs_write): If SYNC_INPUT and pending_atimers,
10898 run atimers.
10899
10900 * process.c (wait_reading_process_output): The same as above.
10901
10902 2008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
10903
10904 * minibuf.c (last_exact_completion): Remove variable.
10905 (Fdelete_minibuffer_contents, do_completion, Fminibuffer_complete)
10906 (complete_and_exit_1, complete_and_exit_2)
10907 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
10908 (Fdisplay_completion_list, display_completion_list_1)
10909 (Fminibuffer_completion_help, Fself_insert_and_exit)
10910 (Fexit_minibuffer, Fminibuffer_message): Move functions to
10911 minibuffer.el.
10912 (syms_of_minibuf): Remove corresponding initializations.
10913
10914 * keyboard.c (Qdeactivate_mark): New var.
10915 (command_loop_1): Use it to call `deactivate-mark'.
10916 (syms_of_keyboard): Initialize it.
10917
10918 * xdisp.c (redisplay_internal): Reset tty's color_mode when switching
10919 to another frame.
10920 * frame.c (do_switch_frame): Refine the top_frame/async_visible code.
10921 Don't call set_tty_color_mode.
10922 (store_frame_param): Reset previous_frame rather than call
10923 set_tty_color_mode.
10924 * term.c (set_tty_color_mode): Rewrite.
10925 * dispextern.h (set_tty_color_mode): New type.
10926 * termchar.h (struct tty_display_info): Add `previous_color_mode'.
10927
10928 2008-04-08 Stefan Monnier <monnier@iro.umontreal.ca>
10929
10930 * keymap.c (access_keymap): Remove the value 2 for t_ok which was used
10931 for generic chars, which do not exist any more in emacs-unicode.
10932
10933 2008-04-08 Michael Albinus <michael.albinus@gmx.de>
10934
10935 * coding.c (detect_coding_emacs_mule)
10936 (Ffind_operation_coding_system): Fix typo.
10937
10938 2008-04-08 Jason Rumney <jasonr@gnu.org>
10939
10940 * w32uniscribe.c (SNAME): Extract only symbol name.
10941
10942 * w32font.h (struct w32_metric_cache): New struct.
10943 (w32font_info): Use it.
10944 (W32METRIC_NO_ATTEMPT, W32METRIC_SUCCESS, W32METRIC_FAIL)
10945 (CACHE_BLOCKSIZE): New constants.
10946
10947 * w32font.c (Qja, Qko, Qzh): New symbols.
10948 (syms_of_w32font): Initialise them.
10949 (font_matches_spec): Use them to filter by language.
10950 (recompute_cached_metrics): Remove function.
10951 (compute_metrics, clear_cached_metrics): New functions.
10952 (w32font_encode_char): Use them to manage metric cache.
10953 (w32font_text_extents): Cache metrics for all glyphs on demand.
10954 Delay converting glyph indices to WORD until needed.
10955 (w32font_open_internal): Initialize metric cache to empty.
10956 (registry_to_w32_charset): Charset should always be a symbol.
10957 (fill_in_logfont, list_all_matching_fonts): Family should
10958 always be a symbol.
10959
10960 2008-04-06 Jason Rumney <jasonr@gnu.org>
10961
10962 * w32uniscribe.c (uniscribe_shape): Increase items buffer size.
10963 Give up if glyph indices not supported. Use uniscribe obtained
10964 ABC widths for individual metrics. Map glyph clusters back to
10965 characters using fClusterStart flag. Return number of glyphs
10966 produced, not chars processed.
10967 (uniscribe_shape): Map char at FROM to current glyph.
10968
10969 2008-04-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10970
10971 * macmenu.c (fill_menu) [TARGET_API_MAC_CARBON]:
10972 Use SetMenuItemHierarchicalMenu.
10973
10974 2008-04-05 Jason Rumney <jasonr@gnu.org>
10975
10976 * image.c (pbm_load): Allow color values up to 65535.
10977 Throw an error if max_color_idx is outside the supported range.
10978 Report an error when image size is invalid.
10979 Read two bytes at a time when raw images have max_color_idx above 255.
10980
10981 2008-04-05 Eli Zaretskii <eliz@gnu.org>
10982
10983 * w32.c (readdir): If FindFirstFile/FindNextFile return in
10984 cFileName a file name that includes `?' characters, use the 8+3
10985 alias in cAlternateFileName instead.
10986
10987 2008-04-05 Kenichi Handa <handa@ni.aist.go.jp>
10988
10989 * ccl.c (ccl_driver): If ccl->quit_silently is nonzero, don't
10990 append "CCL: Quitted" when the CCL program is quitted.
10991 (setup_ccl_program): Initialize ccl->quit_silently to zero.
10992
10993 * ccl.h (struct ccl_program): New member quit_silently.
10994
10995 2008-04-05 Chong Yidong <cyd@stupidchicken.com>
10996
10997 * search.c (compile_pattern_1): Treat non-nil and non-string of
10998 search-spaces-regexp as nil.
10999
11000 * minibuf.c (Fassoc_string): Tweak docstring.
11001
11002 2008-04-05 Eli Zaretskii <eliz@gnu.org>
11003
11004 * dired.c (Ffile_attributes): Support inode numbers wider than 32
11005 bits. Remove ugly WINDOWSNT-specific kludge introduced on
11006 2008-03-14 to force inode be positive.
11007
11008 * w32.c (sys_chown, stat, fstat): Use S_* constants instead of
11009 _S_* ones, since we now use our own sys/stat.h.
11010 (stat, fstat): Don't mangle the inode number.
11011 (init_user_info): Don't restrict UID and GID to 0-60000 range.
11012
11013 2008-04-04 Stefan Monnier <monnier@iro.umontreal.ca>
11014
11015 * frame.h (struct frame): Give one more bit to `visible' since we use
11016 values larger than 1 to indicate obscured frames on ttys.
11017
11018 * keymap.c (Qkeymap_canonicalize): New var.
11019 (Fmap_keymap_internal): New fun.
11020 (describe_map): Use keymap-canonicalize.
11021
11022 * undo.c (last_boundary_buffer, last_boundary_position): New vars.
11023 (Fundo_boundary): Set them.
11024 (syms_of_undo): Initialize them.
11025 (record_point): Use them instead of last_point_position*.
11026 (last_undo_buffer): Change type.
11027
11028 2008-04-04 Jason Rumney <jasonr@gnu.org>
11029
11030 * w32font.c (w32font_text_extents): Use font's ascent and descent.
11031 (recompute_cached_metrics): Don't set ascent and descent per char.
11032
11033 * w32uniscribe.c (uniscribe_check_otf): Fix last change.
11034 (uniscribe_check_otf): Add GC protection before consing.
11035 Rearrange loop for counting features.
11036
11037 2008-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
11038
11039 * insdel.c (insert_from_buffer_1): Don't compare bytes in destination
11040 buffer with byte-size of source buffer.
11041
11042 2008-04-03 Chong Yidong <cyd@stupidchicken.com>
11043
11044 * callint.c (Fcall_interactively): Handle temporary region even
11045 when shift-select-mode is off.
11046
11047 2008-04-03 Jason Rumney <jasonr@gnu.org>
11048
11049 * w32uniscribe.c (uniscribe_check_otf): Sanity check otf_spec.
11050
11051 2008-04-03 Kenichi Handa <handa@m17n.org>
11052
11053 * coding.c (CATEGORY_MASK_ANY): Add CATEGORY_MASK_UTF_16_AUTO.
11054 (CATEGORY_MASK_UTF_16): Likewise.
11055 (detect_coding_utf_16): Add heuristics to reject utf-16 for a
11056 binary file.
11057 (detect_coding): Add null-byte detection for a binary file.
11058 (detect_coding_system): Likewise.
11059
11060 2008-04-03 Jason Rumney <jasonr@gnu.org>
11061
11062 * w32uniscribe.c: New file.
11063
11064 * font.h (uniscribe_font_driver) [WINDOWSNT]: Declare for w32fns.c.
11065
11066 * w32font.h (uniscribe_check_otf): Declare for w32font.c.
11067
11068 * w32font.c (Qbalinese, Qbuginese, Qbuhid, Qcuneiform, Qcypriot)
11069 (Qdeseret, Qglagolitic, Qgothic, Qhanunoo, Qkharoshthi)
11070 (Qlimbu, Qlinear_b, Qold_italic, Qold_persian, Qosmanya)
11071 (Qphags_pa, Qphoenician, Qshavian, Qsyloti_nagri)
11072 (Qtagalog, Qtagbanwa, Qtai_le, Qtifinagh, Qugaritic)
11073 (Qphonetic): New symbols.
11074 (syms_of_w32font): Initialize them.
11075 (font_supported_scripts): Use them.
11076 (w32font_list_family): List all charsets.
11077 (w32font_text_extents, recompute_cached_metrics): Fix metric
11078 calculations.
11079 (w32_enumfont_pattern_entity): Make full_type a DWORD.
11080 Give opentype fonts their own format.
11081 (font_matches_spec): New arguments backend and logfont.
11082 Handle :otf spec for uniscribe backend.
11083 (add_font_entity_to_list): Match truetype fonts in uniscribe backend.
11084 (fill_in_logfont): Use DEFAULT_CHARSET when charset not supplied.
11085
11086 * w32fns.c (Fx_create_frame): Conditionally register uniscribe
11087 font backend.
11088 (globals_of_w32fns): Initialize uniscribe font backend.
11089
11090 * makefile.w32-in (CONFIG_H): New variable. Use it to clean up
11091 dependencies.
11092 (w32uniscribe.$(O)): New file to build.
11093 (FONT_OBJ): Include w32uniscribe.$(O).
11094 (LIBS): Add uniscribe libraries.
11095
11096 * ftfont.c (ftfont_get_open_type_spec): Check spec->script, not val.
11097
11098 2008-04-02 Chong Yidong <cyd@stupidchicken.com>
11099
11100 * callint.c (Vshift_select_mode): New var.
11101 (Finteractive): Document new ^ spec.
11102 (Fcall_interactively): Call handle-shift-selection if the ^ spec
11103 is present.
11104
11105 * keyboard.c (Vthis_command_keys_shift_translated): New var.
11106 (command_loop_1): Avoid running the direct display versions of
11107 forward-char and backward-char if shift-selection may occur.
11108 (read_key_sequence): Set Vthis_command_keys_shift_translated if
11109 shift-translation takes place.
11110
11111 * buffer.c (Vtransient_mark_mode): Move docstring to simple.el to
11112 avoid clobbering by define-minor-mode.
11113
11114 * cmds.c (Fforward_char, Fbackward_char, Fforward_line)
11115 (Fbeginning_of_line, Fend_of_line): Add ^ interactive spec.
11116
11117 * syntax.c (Fforward_word): Add ^ interactive spec.
11118
11119 * window.c (Fscroll_up, Fscroll_down, Fscroll_left)
11120 (Fscroll_right): Add ^ interactive spec.
11121
11122 2008-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
11123
11124 * xdisp.c (try_window_id): Don't forget to reset delta_bytes.
11125
11126 * casefiddle.c (casify_object): Fix up int/EMACS_INT mixup.
11127
11128 * charset.c (Funibyte_charset, Fset_unibyte_charset): Remove.
11129
11130 2008-03-31 Juri Linkov <juri@jurta.org>
11131
11132 * window.c (Fdisplay_buffer): Reinitialize `tem' to nil.
11133
11134 2008-03-30 Jan Djärv <jan.h.d@swipnet.se>
11135
11136 * gtkutil.c (xg_set_geometry): Fix indentation.
11137 (xg_resize_outer_widget): Remove.
11138 (x_wm_size_hint_off): Fix indentation.
11139 (xg_frame_set_char_size): Call flush_and_sync after
11140 gtk_window_resize.
11141 (x_wm_set_size_hint): Pass NULL as geometry window to
11142 gtk_window_set_geometry_hints due to Gtk+ bug nr 68668.
11143 Add menu bar and tool bar height to base height.
11144 (xg_update_frame_menubar, free_frame_menubar)
11145 (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback)
11146 (update_frame_tool_bar, free_frame_tool_bar):
11147 Change xg_resize_outer_widget to xg_frame_set_char_size.
11148
11149 2008-03-30 Michael Albinus <michael.albinus@gmx.de>
11150
11151 * dbusbind.c (QCdbus_timeout): New D-Bus internal symbol.
11152 (Fdbus_call_method): New parameter TIMEOUT.
11153 (dbus-send-signal): Optimize UNGCPRO call.
11154
11155 2008-03-29 Juri Linkov <juri@jurta.org>
11156
11157 * window.c (Fdisplay_buffer): Move call to
11158 Vsplit_window_preferred_function out of conditions that check
11159 if window is eligible for vertical splitting.
11160 When Vsplit_window_preferred_function is non-nil, call it and use
11161 its non-nil return value as window. Otherwise, continue doing
11162 vertical splitting using Fsplit_window with arg horflag=nil.
11163 (syms_of_window) <Vsplit_window_preferred_function>: Change the
11164 default value from `split-window' to nil.
11165
11166 2008-03-29 Juri Linkov <juri@jurta.org>
11167
11168 * callint.c (Fcall_interactively): Revert 2008-03-16 change
11169 for interactive code letters 'b' and 'B'.
11170
11171 2008-03-29 Eli Zaretskii <eliz@gnu.org>
11172
11173 * fileio.c (Fexpand_file_name): Convert the value of $HOME to a
11174 multibyte string.
11175
11176 2008-03-29 Stefan Monnier <monnier@iro.umontreal.ca>
11177
11178 * keyboard.c (pending_funcalls): New var.
11179 (timer_check): Run it.
11180 (syms_of_keyboard): Initialize it.
11181 * terminal.c (Qrun_hook_with_args, Qdelete_terminal_functions)
11182 (Vdelete_terminal_functions): New vars.
11183 (syms_of_terminal): Initialize them.
11184 (Fdelete_terminal): Run delete-terminal-functions.
11185 * xdisp.c (safe_eval): Rewrite.
11186 (safe_call2): New fun.
11187 * frame.c (Qdelete_frame_functions): New var.
11188 (syms_of_frame): Initialize it.
11189 (Fdelete_frame): Use it and use safe_call2 and pending_funcalls.
11190 * lisp.h (safe_call2, pending_funcalls): Declare.
11191
11192 2008-03-28 Andreas Schwab <schwab@suse.de>
11193
11194 * indent.c (Fmove_to_column): Move declaration before statements.
11195
11196 2008-03-27 Stefan Monnier <monnier@iro.umontreal.ca>
11197
11198 * frame.h (enum fullscreen_type): Give it a name. Move it before use.
11199 (struct frame): Use bit fields for boolean vars.
11200
11201 * process.c (server_accept_connection): Simplify naming.
11202 (emacs_get_tty_pgrp): Use SDATA.
11203
11204 * coding.c (decode_coding_object): Fix last change.
11205
11206 2008-03-27 Jason Rumney <jasonr@gnu.org>
11207
11208 * w32fns.c (start_hourglass): Suppress hourglass on tty frames.
11209
11210 2008-03-27 Kenichi Handa <handa@ni.aist.go.jp>
11211
11212 * charset.c (Fdefine_charset_internal): Change the way of
11213 registering charsets in Vcharset_order_list.
11214 (syms_of_charset): Make the charset `eight-bit' supplementary.
11215
11216 2008-03-26 Alexandre Oliva <aoliva@redhat.com> (tiny change)
11217
11218 * regex.c (EXTEND_BUFFER): Change order of pointer addition
11219 operations, to avoid having the difference between pointers
11220 overflow.
11221
11222 2008-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
11223
11224 * indent.c (check_display_width): New fun.
11225 (scan_for_column): Use it.
11226
11227 * data.c (syms_of_data): Mark most-positive-fixnum and
11228 most-negative-fixnum as constants.
11229
11230 * xdisp.c (redisplay_internal): Reset selected_frame earlier.
11231
11232 * indent.c (scan_for_column): Extract from current_column_1.
11233 Merge with the same code from Fmove_to_column.
11234 (current_column_1, Fmove_to_column): Use it.
11235
11236 2008-03-25 Stefan Monnier <monnier@iro.umontreal.ca>
11237
11238 * keymap.c (map_keymap_internal): New fun.
11239 (map_keymap): Use it.
11240 (Fmap_keymap_internal): New fun.
11241 (Fmap_keymap): Remove left-out test from before make_save_value.
11242
11243 * keymap.c (Fmap_keymap): Use `map-keymap-sorted.
11244
11245 * frame.c (Fmodify_frame_parameters, x_set_frame_parameters):
11246 Use XCAR/XCDR.
11247
11248 * process.h (struct Lisp_Process): Remove filter_multibyte.
11249 * process.c (QCfilter_multibyte): Remove.
11250 (setup_process_coding_systems): Don't use filter_multibyte.
11251 (Fstart_process, Fmake_network_process): Don't set filter_multibyte.
11252 (read_process_output): Don't adjust multibyteness to filter_multibyte.
11253 (Fset_process_filter_multibyte): Change the coding-system to
11254 approximate the previous behavior.
11255 (Fprocess_filter_multibyte_p): Get the multibyteness straight from the
11256 coding-system.
11257
11258 * coding.c (decode_coding_object): When not decoding into a buffer,
11259 obey the coding system's preference of (uni|multi)byte.
11260
11261 2008-03-24 Stefan Monnier <monnier@iro.umontreal.ca>
11262
11263 * casefiddle.c (casify_object): Avoid pathological N^2 worst case if
11264 every char is changed and has a different byte-length.
11265 (Fupcase_word, Fdowncase_word, Fcapitalize_word, operate_on_word):
11266 Fix int -> EMACS_INT.
11267
11268 2008-03-23 David Hansen <david.hansen@gmx.net>
11269
11270 * dbusbind.c (xd_read_message): Remove extra copying of message
11271 strings. Check for NULL `interface' or `member'.
11272
11273 2008-03-22 Eli Zaretskii <eliz@gnu.org>
11274
11275 * w32.c (readdir): If FindFirstFile/FindNextFile return in
11276 cFileName a file name that includes `?' characters, use the 8+3
11277 alias in cAlternateFileName instead.
11278
11279 2008-03-21 Stefan Monnier <monnier@iro.umontreal.ca>
11280
11281 * buffer.c (enlarge_buffer_text): Fix int -> EMACS_INT.
11282
11283 2008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
11284
11285 * intervals.c (temp_set_point, temp_set_point_both): Use EMACS_INT.
11286 (set_point, set_point_both): Use EMACS_INT. Remove `buffer' arg,
11287 work on current_buffer only instead (that was already the case
11288 for some of the code anyway).
11289 * buffer.h (set_point, set_point_both): Remove buffer arg, use long int.
11290 (temp_set_point, temp_set_point_both): Use EMACS_INT.
11291 (SET_PT, SET_PT_BOTH): Adjust.
11292 * intervals.h (set_point, temp_set_point, set_point_both)
11293 (temp_set_point_both): Remove redundant declarations.
11294
11295 2008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
11296
11297 * fileio.c (Finsert_file_contents):
11298 * lread.c (Feval_buffer): Use BUF_TEMP_SET_PT.
11299 * buffer.h (BUF_SET_PT): Remove. set_point_both doesn't work right
11300 when buffer != current_buffer anyway.
11301
11302 2008-03-20 Andreas Schwab <schwab@suse.de>
11303
11304 * callint.c (Fcall_interactively) [case 'B']: Use other-buffer
11305 as default.
11306
11307 2008-03-19 Jason Rumney <jasonr@gnu.org>
11308
11309 * w32fns.c (hourglass_timer, hourglass_hwnd): New variables.
11310 (syms_of_w32fns): Initialize them.
11311 (HOURGLASS_ID): New constant.
11312 (x_window_to_frame): Don't check hourglass_window.
11313 (w32_wnd_proc) <WM_TIMER>: Handle hourglass_timer.
11314 (w32_wnd_proc) <WM_EXITMENULOOP>: Set pending hourglass cursor.
11315 (w32_wnd_proc) <WM_SETCURSOR>: Set the hourglass or current cursor.
11316 (w32_wnd_proc) <WM_EMACS_SETCURSOR>: Set frame's current_cursor.
11317 Only change the cursor if hourglass is not active.
11318 (Fx_create_frame): Initialize frame's current_cursor.
11319 (hourglass_atimer): Remove.
11320 (hourglass_started): New function.
11321 (start_hourglass, cancel_hourglass, hide_hourglass): Adapt to w32.
11322 (show_hourglass): Adapt to w32, changing argument to frame.
11323
11324 * w32term.h (struct w32_output): Remove hourglass_window.
11325 Add current_cursor.
11326
11327 * eval.c (call_debugger, Fsignal):
11328 * keyboard.c (recursive_edit_1, cmd_error, Ftop_level)
11329 (command_loop_1, Fread_key_sequence, Fread_key_sequence_vector)
11330 (Fexecute_extended_command, cancel_hourglass_unwind):
11331 * minibuf.c (read_minibuf):
11332 * fns.c (Fy_or_n_p): Enable hourglass when HAVE_WINDOW_SYSTEM.
11333
11334 2008-03-19 Stefan Monnier <monnier@iro.umontreal.ca>
11335
11336 * window.c (run_funs): New fun.
11337 (run_window_configuration_change_hook): Use it to run the buffer-local
11338 and the global part of the hook.
11339
11340 * xdisp.c (format_mode_line_unwind_data): Add window argument.
11341 (unwind_format_mode_line): Restore selected window.
11342 (x_consider_frame_title, Fformat_mode_line): Set selected window.
11343
11344 2008-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
11345
11346 * editfns.c (Fchar_equal): Check they are valid characters.
11347
11348 * buffer.h (Fbuffer_list): Declare (for use in callint.c).
11349
11350 2008-03-17 Andreas Schwab <schwab@suse.de>
11351
11352 * regex.c (re_match_2_internal): Properly match raw 8-bit bytes
11353 against a charset.
11354
11355 * lisp.h (Fbuffer_list): Declare.
11356
11357 2008-03-17 Jan Djärv <jan.h.d@swipnet.se>
11358
11359 * gtkutil.c (free_frame_tool_bar): Only call gtk_container_remove if
11360 handlebox_widget is != 0.
11361
11362 2008-03-16 Juri Linkov <juri@jurta.org>
11363
11364 * callint.c (Fcall_interactively): For interactive code letters
11365 'b' and 'B' put the buffer list into the list of default "future"
11366 values of the minibuffer.
11367
11368 2008-03-16 Andreas Schwab <schwab@suse.de>
11369
11370 * keyboard.c (read_key_sequence): Fix downcasing of letters with
11371 modifiers.
11372
11373 * regex.c (re_match_2_internal): Correct matching of a charset
11374 against latin-1 characters.
11375
11376 2008-03-16 Kenichi Handa <handa@m17n.org>
11377
11378 * coding.c (CHAR_STRING_ADVANCE_NO_UNIFY)
11379 (STRING_CHAR_ADVANCE_NO_UNIFY): New macros.
11380 (coding_alloc_by_making_gap): Fix the way to preserve data in the gap.
11381 (alloc_destination): Fix the 2nd arg to coding_alloc_by_making_gap.
11382 (encode_coding_utf_8): Use CHAR_STRING_ADVANCE_NO_UNIFY instead of
11383 CHAR_STRING_ADVANCE.
11384 (produce_chars): Fix for the case that the source and the
11385 destination are the same buffer. Use CHAR_STRING_ADVANCE_NO_UNIFY
11386 instead of CHAR_STRING_ADVANCE.
11387 (consume_chars): Use STRING_CHAR_ADVANCE_NO_UNIFY instead of
11388 STRING_CHAR_ADVANCE.
11389
11390 2008-03-15 Andreas Schwab <schwab@suse.de>
11391
11392 * regex.c (re_match_2_internal): Correct matching of eight bit
11393 characters in unibyte strings.
11394
11395 2008-03-15 Martin Rudalics <rudalics@gmx.at>
11396
11397 * buffer.c (overlays_in, Foverlays_in): Include empty overlays
11398 at end of range when it coincides with the end of the buffer.
11399
11400 2008-03-14 Eli Zaretskii <eliz@gnu.org>
11401
11402 * dired.c (Ffile_attributes) [WINDOWSNT]: Force inode be positive.
11403
11404 * w32fns.c (globals_of_w32fns, Fx_create_frame): Fix last change.
11405
11406 2008-03-14 Jason Rumney <jasonr@gnu.org>
11407
11408 * editfns.c (initial_tz): New variable.
11409 (syms_of_editfns): Initialize it.
11410 (Fset_time_zone_rule): Set it when first called.
11411 Use it when TZSTRING is nil.
11412
11413 * w32fns.c (MONITOR_DEFAULT_TO_NEAREST, struct MONITOR_INFO)
11414 (MonitorFromPoint_Proc, GetMonitorInfo_Proc): New definitions.
11415 (monitor_from_point_fn, get_monitor_info_fn): New globals.
11416 (globals_of_w32fns): Initialize them.
11417 (compute_tip_xy): Use them to position tooltips.
11418
11419 2008-03-14 Glenn Morris <rgm@gnu.org>
11420
11421 * emacs.c (main): Revert previous change.
11422 (standard_args): Revert -internal-script back to -scriptload,
11423 and remove the long-option form.
11424
11425 2008-03-13 Glenn Morris <rgm@gnu.org>
11426
11427 * emacs.c (main, standard_args): Rename -scriptload to -internal-script.
11428 Remove option -enable-font-backend.
11429
11430 2008-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
11431
11432 * buffer.c (Fswitch_to_buffer): Fall back on pop-to-buffer.
11433
11434 2008-03-11 Jan Djärv <jan.h.d@swipnet.se>
11435
11436 * xterm.c (x_connection_closed): For GTK: If this is the last
11437 terminal just exit without closing the display.
11438
11439 2008-03-11 Jason Rumney <jasonr@gnu.org>
11440
11441 * w32font.c (w32font_full_name): Use floor to round.
11442
11443 2008-03-10 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
11444
11445 * sound.c (alsa_configure): Declare vol at beginning of block.
11446
11447 * fontset.c (Ffontset_info): Remove extra semicolon.
11448
11449 2008-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
11450
11451 * fileio.c (Fsubstitute_in_file_name): Fix up computation of maximum
11452 size of resulting string.
11453
11454 2008-03-10 Jason Rumney <jasonr@gnu.org>
11455
11456 * dispnew.c (adjust_glyph_matrix): Initialize window_height.
11457
11458 2008-03-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11459
11460 * xdisp.c (handle_single_display_spec): Undo 2007-10-16 changes.
11461 Don't pretend as if characters with display property haven't been
11462 consumed for string-replacing-string case.
11463
11464 2008-03-08 Kim F. Storm <storm@cua.dk>
11465
11466 * xdisp.c (GET_NEXT_DISPLAY_ELEMENT): New macro.
11467 (get_next_display_element, next_element_from_string)
11468 (next_element_from_ellipsis, next_element_from_buffer): Use it.
11469
11470 2008-03-08 Andreas Schwab <schwab@suse.de>
11471
11472 * process.h (struct Lisp_Process): Declare bit fields as unsigned.
11473
11474 2008-03-06 Jason Rumney <jasonr@gnu.org>
11475
11476 * w32font.c (w32_registry): Take font_type argument. Use ANSI
11477 when charset not specified. Only translate ANSI to unicode when
11478 font_type is truetype.
11479 (w32font_coverage_ok): New function.
11480 (add_font_entity_to_list): Use it to filter unsuitable fonts.
11481
11482 2008-03-05 Kenichi Handa <handa@ni.aist.go.jp>
11483
11484 * lread.c (Fread_char): Resolve modifiers.
11485 (Fread_char_exclusive): Likewise.
11486
11487 * character.c (char_resolve_modifier_mask): New function.
11488 (char_string): Use char_resolve_modifier_mask.
11489 (Fchar_resolve_modifiers): New function.
11490 (syms_of_character): Declare Fchar_resolve_modifiers as Lisp
11491 function.
11492
11493 2008-03-04 Jason Rumney <jasonr@gnu.org>
11494
11495 * makefile.w32-in: Always include w32font.c in the build.
11496 * w32font.c: Wrap in USE_FONT_BACKEND conditional.
11497
11498 2008-03-04 Andreas Schwab <schwab@suse.de>
11499
11500 * Makefile.in (clean): Remove emacs-*.*.* instead of emacs-*.
11501 (versionclean): Likewise.
11502
11503 2008-03-04 Juanma Barranquero <lekktu@gmail.com>
11504
11505 * .cvsignore: Add oo.
11506
11507 2008-03-03 Andreas Schwab <schwab@suse.de>
11508
11509 * coding.c (decode_coding_object): Inhibit gap shrinking while
11510 decoding in place.
11511
11512 2008-03-03 Dan Nicolaescu <dann@ics.uci.edu>
11513
11514 * w32term.c: Remove unused include "gnu.h".
11515 * makefile.w32-in (w32term.o): Don't depend on gnu.h.
11516
11517 * gnu.h: Rename to ...
11518 * emacs-icon.h: ... this.
11519 * xterm.c: Use emacs-icon.h instead of gnu.h.
11520 * Makefile (xterm.o): Depend on emacs-icon.h, not gnu.h.
11521
11522 2008-03-03 Juanma Barranquero <lekktu@gmail.com>
11523
11524 * w32font.c: Include math.h.
11525
11526 2008-03-03 Jason Rumney <jasonr@gnu.org>
11527
11528 * w32font.c (recompute_cached_metrics): Change font arg to w32font_info.
11529 Compute options separately.
11530 (w32font_open_internal): Set glyph_idx before caching metrics.
11531
11532 * w32font.h (NTM_PS_OPENTYPE, NTM_TT_OPENTYPE, NTM_TYPE1):
11533 Define if system headers don't.
11534 (struct w32font_info): Enlarge ascii_metrics. Add glyph_idx.
11535 (w32font_encode_char): Don't declare here.
11536
11537 * w32font.c (Quniscribe, QCformat): New symbols.
11538 (syms_of_w32font): Define them.
11539 (w32font_has_char): Indicate uncertainty.
11540 (w32font_encode_char): Encode as glyph point. Make static.
11541 (recompute_cached_metrics): New function.
11542 (w32font_open_internal): Use it. Set font to use glyph points
11543 initially. Set format based on type of font.
11544 (w32font_text_extents, w32font_draw): Optionally use glyph points.
11545 (w32_enumfont_pattern_entity): Accept backend arg. Set type based
11546 on it. Set format based on information available here.
11547 (add_font_entity_to_list): Identify backend based on opentype_only.
11548
11549 2008-03-02 Andreas Schwab <schwab@suse.de>
11550
11551 * ftfont.c (ftfont_pattern_entity): Fix aliasing violations.
11552
11553 * coding.c (decode_coding_big5, produce_chars):
11554 Fix typos in last change.
11555
11556 2008-03-02 Kentaro Ohkouchi <nanasess@fsm.ne.jp>
11557
11558 * gnu.h: New icon.
11559
11560 2008-03-02 Kenichi Handa <handa@m17n.org>
11561
11562 * coding.c (decode_coding_utf_8): When eol-type of CODING is
11563 `dos', don't decode '\r' if that is the last in the source.
11564 (decode_coding_utf_16, decode_coding_emacs_mule)
11565 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
11566 (decode_coding_raw_text, decode_coding_charset): Likewise.
11567 (produce_chars): Don't decode EOL here. Use EMACS_INT.
11568
11569 2008-03-01 Jason Rumney <jasonr@gnu.org>
11570
11571 * w32font.c (w32font_full_name): Report point size for scalable fonts.
11572
11573 2008-03-01 Kim F. Storm <storm@cua.dk>
11574
11575 * dispextern.h (CHAR_GLYPH_SPACE_P): Check for default face.
11576
11577 2008-03-01 Jason Rumney <jasonr@gnu.org>
11578
11579 * w32font.c (w32font_full_name): New function.
11580 (w32font_open_internal): Use it.
11581
11582 2008-03-01 Kim F. Storm <storm@cua.dk>
11583
11584 * dispnew.c (line_draw_cost): Fix invalid glyph check.
11585
11586 2008-03-01 Jason Rumney <jasonr@gnu.org>
11587
11588 * font.c (font_unparse_fcname): Increase len when style is a symbol.
11589
11590 2008-03-01 Jan Djärv <jan.h.d@swipnet.se>
11591
11592 * xterm.c (handle_one_xevent): For Gtk+ and ConfigureNotify, call
11593 xg_frame_resized when the event is for the edit widget.
11594
11595 * gtkutil.h (xg_frame_resized): Renamed from xg_resize_widgets.
11596
11597 * gtkutil.c (xg_resize_outer_widget): Only do one of set_geometry or
11598 set_char_size.
11599 (xg_frame_resized): Renamed from xg_resize_widgets. Remove all
11600 operations on widgets here. Just set frame size if needed.
11601 (flush_and_sync, x_wm_size_hint_off, xg_pack_tool_bar): New functions.
11602 (xg_frame_set_char_size): Call x_wm_size_hint_off before resizing.
11603 (x_wm_set_size_hint): Set size hints on the edit widget only, not
11604 the whole frame.
11605 (xg_create_tool_bar): Move attachment of the tool bar to
11606 xg_pack_tool_bar. Do not attach the tool bar if there are no items.
11607 (free_frame_tool_bar): Remove call to SET_FRAME_GARBAGED.
11608
11609 2008-03-01 Jason Rumney <jasonr@gnu.org>
11610
11611 * w32fns.c (w32_msg_pump): Disable debug code.
11612
11613 2008-03-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11614
11615 * m/intel386.h [MAC_OSX || DARWIN]: Define NO_ARG_ARRAY if _LP64.
11616
11617 2008-02-29 Chong Yidong <cyd@stupidchicken.com>
11618
11619 * xdisp.c (next_overlay_string): Don't set
11620 overlay_strings_at_end_processed_p if we're currently reading from
11621 a display string.
11622
11623 2008-02-29 Stefan Monnier <monnier@iro.umontreal.ca>
11624
11625 * xdisp.c (get_overlay_strings_1): Fix typo.
11626
11627 2008-02-29 Chong Yidong <cyd@stupidchicken.com>
11628
11629 * xdisp.c (get_overlay_strings_1): Add missing argument type.
11630
11631 2008-02-28 Kenichi Handa <handa@ni.aist.go.jp>
11632
11633 * ftfont.c (ftfont_match): Explicitly set pixelsize in pattern.
11634
11635 * xdisp.c (display_mode_element): Cancel the previous change.
11636 (decode_mode_spec): Likewise.
11637 (handle_auto_composed_prop): Don't make composition if it->string
11638 is a string.
11639
11640 2008-02-27 Kim F. Storm <storm@cua.dk>
11641
11642 * lisp.h (GLYPH): Change type from int to struct with separate char
11643 and face_id members.
11644 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Delete macros.
11645 (GLYPH_CHAR, GLYPH_FACE): Remove slow versions with frame arg.
11646 (FAST_GLYPH_CHAR, FAST_GLYPH_FACE): Rename macros to ...
11647 (GLYPH_CHAR, GLYPH_FACE): ... these. Change users.
11648 (FAST_MAKE_GLYPH, MAKE_GLYPH): Remove. Rewrite users to use ...
11649 (SET_GLYPH, SET_GLYPH_CHAR, SET_GLYPH_FACE): ... these macros instead.
11650 (GLYPH_CODE_CHAR, GLYPH_CODE_FACE, GLYPH_CODE_P)
11651 (GLYPH_CODE_CHAR_VALID_P, SET_GLYPH_FROM_GLYPH_CODE): New macros to
11652 handle new Lisp glyph code encoding, either an integer or a cons.
11653
11654 * disptab.h (GLYPH_SIMPLE_P): Rewrite.
11655 (GLYPH_ALIAS): Delete.
11656 (GLYPH_ALIAS_P, GLYPH_FOLLOW_ALIASES): Rewrite.
11657 (GLYPH_LENGTH, GLYPH_STRING): Use GLYPH_CHAR.
11658 (GLYPH_FROM_CHAR): Replace macro by ...
11659 (SET_GLYPH_FROM_CHAR): ... this macro. Change users.
11660
11661 * dispextern.h (CHAR_GLYPH_SPACE_P): Simplify.
11662 (GLYPH_FROM_CHAR_GLYPH): Replace macro by ...
11663 (SET_GLYPH_FROM_CHAR_GLYPH): ... this macro. Change users.
11664 (GLYPH_INVALID_P): New macro.
11665 (spec_glyph_lookup_face): Update prototype.
11666
11667 * dispnew.c (line_draw_cost): Adapt to new glyph type.
11668 (build_frame_matrix_from_leaf_window): Adapt to new glyph type and
11669 new glyph code encoding.
11670 (spec_glyph_lookup_face): No return value; update passed glyph instead.
11671 (init_display): Use SET_CHAR_GLYPH to initialize space_glyph.
11672
11673 * xdisp.c (get_next_display_element, next_element_from_display_vector):
11674 Adapt to new glyph type and new glyph code encoding.
11675
11676 * term.c (encode_terminal_code, produce_special_glyphs): Likewise.
11677
11678 * indent.c (current_column, current_column_1, Fmove_to_column)
11679 (compute_motion): Adapt to new glyph code encoding.
11680
11681 * msdos.c (IT_write_glyphs): Adapt to new glyph type.
11682
11683 2008-02-27 Chong Yidong <cyd@stupidchicken.com>
11684
11685 * process.c (wait_reading_process_output): Check for window
11686 changes caused by timers.
11687 Suggested by Johan Bockgård.
11688
11689 2008-02-27 Glenn Morris <rgm@gnu.org>
11690
11691 * emacs.c (USAGE1): Add `--disable-font-backend'.
11692
11693 2008-02-27 Stefan Monnier <monnier@iro.umontreal.ca>
11694
11695 * fileio.c (Finsert_file_contents): Don't reset undo_list if no change
11696 is made to the buffer.
11697
11698 2008-02-26 Stefan Monnier <monnier@iro.umontreal.ca>
11699
11700 * dispextern.h (face_at_buffer_position, face_for_overlay_string)
11701 (face_at_string_position):
11702 * xfaces.c (face_at_buffer_position, face_for_overlay_string)
11703 (face_at_string_position):
11704 * xdisp.c (display_string, next_overlay_change):
11705 * buffer.h (overlays_at):
11706 * buffer.c (overlays_at): Use EMACS_INT for buffer positions.
11707 Update callers.
11708
11709 2008-02-26 Chong Yidong <cyd@stupidchicken.com>
11710
11711 * editfns.c (Fformat): Doc fix.
11712
11713 2008-02-26 Juanma Barranquero <lekktu@gmail.com>
11714
11715 * font.c (Ffont_spec, Ffont_at): Fix typos in docstrings.
11716 (Ffont_put, Flist_families, Ffont_fill_gstring, Ffont_drive_otf)
11717 (Ffont_otf_alternates, Fquery_font): Doc fixes.
11718
11719 2008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
11720
11721 * buffer.c (Fbuffer_swap_text): New function.
11722 (syms_of_buffer): Defsubr it.
11723
11724 2008-02-25 Chong Yidong <cyd@stupidchicken.com>
11725
11726 * keyboard.c (command_loop_1): Revert 2006-10-09 change.
11727
11728 2008-02-25 Jason Rumney <jasonr@gnu.org>
11729
11730 * w32font.c (w32font_draw): Draw one character at a time when padding.
11731
11732 2008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
11733
11734 * window.c (Fdelete_window, Fadjust_window_trailing_edge):
11735 Handle a nil arg. Use run_window_configuration_change_hook.
11736 (delete_window, adjust_window_trailing_edge): Don't handle nil any more.
11737 (Fenlarge_window, Fshrink_window, Fset_window_configuration):
11738 Use run_window_configuration_change_hook.
11739
11740 2008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
11741
11742 * xdisp.c (x_produce_glyphs): For a visible glyph, assure at least
11743 1-pixel width.
11744
11745 2008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
11746
11747 * xdisp.c (fill_glyph_string): Pay attention to glyph->padding_p.
11748 (append_glyph): Set glyph->pixel_width and glyph->padding_p to 1
11749 if the glyph in the font is zero pixel with.
11750
11751 * dispextern.h (struct glyph_string): New member padding_p.
11752
11753 * w32font.c (w32font_draw): Pay attention to s->padding_p.
11754
11755 * ftxfont.c (ftxfont_draw): Pay attention to s->padding_p.
11756
11757 * xfont.c (xfont_draw): Pay attention to s->padding_p.
11758
11759 * xftfont.c (xftfont_draw): Pay attention to s->padding_p.
11760
11761 * font.c: If the font driver doesn't have `shape' function, return Qnil.
11762
11763 2008-02-25 Jason Rumney <jasonr@gnu.org>
11764
11765 * w32fns.c (enum_font_cb2): Don't use raster fonts for Unicode.
11766
11767 2008-02-24 Stefan Monnier <monnier@iro.umontreal.ca>
11768
11769 Allow fine-grained image-cache flushing.
11770 * dispextern.h (struct image): Add `dependencies' field.
11771 (clear_image_caches): Change arg to Lisp_Object.
11772 * image.c (make_image): Initialize `dependencies' field.
11773 (clear_image_cache): Change arg to allow fine-grained flushing.
11774 Perform the flush even if image-cache-eviction-delay is nil.
11775 (clear_image_caches): Change arg to Lisp_Object.
11776 (Fclear_image_cache): Expand meaning of the argument.
11777 (mark_image): Mark `dependencies' field.
11778 * xfaces.c (clear_face_cache): Adapt arg to call to clear_image_caches.
11779 (lface_hash): Use XHASH rather than XFASTINT.
11780 (face_at_buffer_position): Fix int -> EMACS_INT position.
11781 * xdisp.c (next_overlay_change): Fix int -> EMACS_INT position.
11782 (select_frame_for_redisplay): Remove code duplication.
11783 (redisplay_internal): Adapt arg to call to clear_image_caches.
11784
11785 2008-02-24 Dan Nicolaescu <dann@ics.uci.edu>
11786
11787 * s/vms4-0.h:
11788 * s/vms4-2.h:
11789 * s/vms4-4.h:
11790 * s/vms5-5.h: Remove, unused.
11791
11792 * s/irix5-2.h:
11793 * s/irix6-0.h:
11794 * s/riscos5.h:
11795 * s/mach-bsd4-3.h:
11796 * m/mips4.h: Remove files for obsolete systems.
11797
11798 * Makefile.in:
11799 * filelock.c:
11800 * unexmips.c:
11801 * m/hp9000s300.h:
11802 * m/iris4d.h:
11803 * s/aix3-1.h:
11804 * s/hpux.h:
11805 * s/msdos.h:
11806 * s/usg5-0.h:
11807 * s/usg5-2-2.h:
11808 * s/usg5-2.h:
11809 * s/usg5-3.h: Remove references to obsolete variables.
11810
11811 * s/irix5-0.h: Remove, move all the contents ...
11812 * s/irix6-5.h: ... here. Simplify.
11813 * config.in: Regenerate.
11814
11815 2008-02-24 Jason Rumney <jasonr@gnu.org>
11816
11817 * w32term.c (x_draw_glyph_string_background): Clear the background
11818 manually when cleartype is in use.
11819 (x_draw_glyph_string_foreground): Draw text transparently when
11820 cleartype is in use.
11821
11822 * w32font.c (w32font_text_extents): Avoid getting HDC and selecting
11823 a font into it unless we have to.
11824
11825 2008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
11826
11827 * intervals.h (INT_LISPLIKE): Remove. It may misfire.
11828 (NULL_INTERVAL_P, SET_INTERVAL_PARENT): Don't use it.
11829
11830 2008-02-18 Jason Rumney <jasonr@gnu.org>
11831
11832 * w32fns.c (Fw32_shell_execute): Encode parameters.
11833
11834 2008-02-09 Eli Zaretskii <eliz@gnu.org>
11835
11836 * fileio.c (syms_of_fileio) <insert-default-directory>: Doc fix.
11837
11838 2008-02-05 Juanma Barranquero <lekktu@gmail.com>
11839
11840 * unexhp9k800.c (read_header): Replace `legal' with `valid'.
11841
11842 2008-02-24 Ulrich Neumerkel <ulrich@complang.tuwien.ac.at> (tiny change)
11843
11844 * xterm.c (x_set_offset): Don't change the gravity if
11845 CHANGE_GRAVITY is -1.
11846
11847 2008-02-23 Chong Yidong <cyd@stupidchicken.com>
11848
11849 * fileio.c (auto_save_error_occurred): New var.
11850 (auto_save_error): Set it.
11851 (Fdo_auto_save): Don't overwrite the error message if an auto-save
11852 error occurred.
11853
11854 2008-02-23 Eli Zaretskii <eliz@gnu.org>
11855
11856 * w32.c (globals_of_w32): Add initializations for
11857 g_b_init_get_sid_sub_authority and
11858 g_b_init_get_sid_sub_authority_count.
11859
11860 2008-02-22 Stefan Monnier <monnier@iro.umontreal.ca>
11861
11862 * font.c (font_match_xlfd, font_check_xlfd_parse): New funs.
11863 (font_parse_xlfd): Use them for sanity check.
11864 (Finternal_set_font_style_table): Make sure the table is bijective.
11865
11866 Consolidate the image_cache to the terminal struct.
11867 * termhooks.h (P_): Remove redundant def.
11868 (struct terminal): New field `image_cache'.
11869 * frame.h (FRAME_IMAGE_CACHE): New macro. Use it everywhere in place
11870 of FRAME_X_IMAGE_CACHE.
11871 * xterm.h (struct x_display_info): Remove image_cache field.
11872 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
11873 * w32term.h (struct w32_display_info): Remove image_cache field.
11874 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
11875 * macterm.h (struct mac_display_info): Remove image_cache field.
11876 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
11877 * xterm.c (x_term_init):
11878 * w32term.c (w32_term_init):
11879 * macterm.c (mac_term_init): Set the image_cache in the terminal.
11880 * dispextern.h (clear_image_cache, forall_images_in_image_cache):
11881 Remove declarations.
11882 (clear_image_caches, mark_image_cache): New declarations.
11883 * xfaces.c (clear_face_cache):
11884 * xdisp.c (redisplay_internal): Use clear_image_caches.
11885 * image.c (clear_image_cache): Don't check that a frame is on
11886 a window-system before checking if it shares the same cache.
11887 (clear_image_caches): New function.
11888 (Fclear_image_cache): Use it.
11889 (mark_image): Move from allo.c.
11890 (mark_image_cache): Move from alloc.c and forall_images_in_image_cache.
11891 * alloc.c (mark_image, mark_image_cache): Move to image.c.
11892 (mark_object): Don't call mark_image_cache for frames.
11893 (mark_terminals): Call mark_image_cache.
11894
11895 * lisp.h (Fdelete_terminal): Declare.
11896
11897 * charset.h (CHECK_CHARSET, CHECK_CHARSET_GET_ID)
11898 (CHECK_CHARSET_GET_ATTR): Don't use the inexistent return value of
11899 wrong_type_argument.
11900
11901 2008-02-22 Kenichi Handa <handa@ni.aist.go.jp>
11902
11903 * Makefile.in (lisp): Remove devanagari.el, kannada.el,
11904 malayalam.el, and tamil.el. Add sinhala.el.
11905
11906 2008-02-21 Stefan Monnier <monnier@iro.umontreal.ca>
11907
11908 * xterm.c (x_connection_closed): Consolidate identical tests.
11909 (x_delete_terminal): Don't crash if called via x_connection_closed.
11910
11911 2008-02-21 Kenichi Handa <handa@ni.aist.go.jp>
11912
11913 * xdisp.c (decode_mode_spec): New arg string.
11914 (display_mode_element): Adjust for the above change.
11915
11916 2008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
11917
11918 * callint.c (Fcall_interactively): Use AREF.
11919
11920 2008-02-18 Stefan Monnier <monnier@iro.umontreal.ca>
11921
11922 * font.c (font_unparse_xlfd): Don't ignore integer pixel size specs.
11923
11924 2008-02-18 Jan Djärv <jan.h.d@swipnet.se>
11925
11926 * xfns.c (Fx_show_tip): Set string to " " if empty.
11927
11928 2008-02-17 Dan Nicolaescu <dann@ics.uci.edu>
11929
11930 * callint.c (syms_of_callint): Initialize Vmark_even_if_inactive
11931 with Qt.
11932
11933 2008-02-17 Kenichi Handa <handa@m17n.org>
11934
11935 * ftfont.c (ftfont_shape): Return Lispy number.
11936
11937 * xfaces.c (prepare_face_for_display): Use display_info->font->fid
11938 for GCs.
11939 (Finternal_set_font_selection_order): Call font_update_sort_order
11940 only when enable_font_backend is set.
11941 (realize_x_face): Set face->font_info to that of default face only
11942 when enable_font_backend is set.
11943
11944 * xdisp.c (handle_composition_prop): Set it->c to the fist
11945 character of the composed region.
11946 (fill_composite_glyph_string): Set base_face->font_info to
11947 s->font_info. Get a face for ascii from base_face->ascii_face.
11948 (BUILD_COMPOSITE_GLYPH_STRING): Call fill_composite_glyph_string
11949 with a face already decided.
11950 (x_produce_glyphs): Be sure to set it->ascent and it->descent to
11951 non-negative.
11952 (x_produce_glyphs): If the composition method is ..._WITH_GLYPH_STRING,
11953 call font_prepare_composition unconditionally.
11954
11955 * xfns.c (x_make_gc): Use the default font id of the frame for GCs.
11956
11957 * xterm.h (struct x_display_info): New member font.
11958
11959 * xterm.c (x_set_cursor_gc): Use display_info->font->fid for GCs.
11960 (x_set_mouse_face_gc, x_new_font): Likewise.
11961 (x_term_init): Setup display_info->font.
11962 (x_delete_terminal): Free display_info->font.
11963
11964 * xfont.c (xfont_draw): Use BLOCK_INPUT and UNBLOCK_INPUT.
11965
11966 * ftxfont.c (ftxfont_default_fid): Delete it.
11967 (ftxfont_open): Set xfont->fid to 0.
11968 (ftxfont_end_for_frame): Clear data specific to the frame and the
11969 font-driver.
11970
11971 * xftfont.c (xftfont_default_fid): Delete it.
11972 (xftfont_open): Set xfont->fid to 0.
11973
11974 * fontset.c (FONTSET_OBJLIST): New macro.
11975 (fontset_find_font): Update font-object list of the fontset.
11976 (free_realized_fontset): New function.
11977 (free_face_fontset): Call free_realized_fontset.
11978 (Ffont_info): Call font_close_object only when enable_font_backend
11979 is set.
11980
11981 * font.c [HAVE_X_WINDOWS]: Include xterm.h.
11982 [HAVE_NTGUI]: Include w32term.h.
11983 [MAC_OS]: Include macterm.ch.
11984 (font_otf_ValueRecord): Use make_number.
11985 (font_finish_cache): Fix handling of reference count.
11986 (font_clear_cache): Update num_fonts.
11987 (font_open_entity): Update smallest_char_width and
11988 smallest_font_height of the frame.
11989 (font_close_object): Update num_fonts.
11990 (Fclear_font_cache): Fix finding the target cache data.
11991
11992 2008-02-16 Glenn Morris <rgm@gnu.org>
11993
11994 * fontset.c (Finternal_char_font): Fix compilation warning.
11995
11996 2008-02-16 Eli Zaretskii <eliz@gnu.org>
11997
11998 * w32.c (init_user_info): Use TOKEN_USER and TOKEN_PRIMARY_GROUP
11999 instead of char arrays. Enlarge the size of array passed to
12000 get_token_information.
12001
12002 * font.c (Ffont_fill_gstring, Fget_font_glyphs): Fix compilation
12003 warnings.
12004
12005 2008-02-15 Dan Nicolaescu <dann@ics.uci.edu>
12006
12007 * .gdbinit: Don't set `args', it breaks gdb --args.
12008
12009 2008-02-14 Stefan Monnier <monnier@iro.umontreal.ca>
12010
12011 * fileio.c (Finsert_file_contents): Adjust offsets when replacing
12012 within a narrowed buffer.
12013
12014 2008-02-14 Kenichi Handa <handa@ni.aist.go.jp>
12015
12016 * coding.c (decode_coding_object, encode_coding_object):
12017 Preserve Vdeactivate_mark. Delete unnecessary call of Fcurrent_buffer.
12018
12019 2008-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
12020
12021 * coding.c (coding_set_destination): Use BEG_BYTE rather than
12022 hardcoding 1.
12023 (detect_coding_system):
12024 * lisp.h (detect_coding_system, chars_in_text, multibyte_chars_in_text)
12025 (string_char_to_byte, string_byte_to_char, insert_from_gap):
12026 * insdel.c (insert_from_gap):
12027 * fns.c (string_char_byte_cache_charpos, string_char_byte_cache_bytepos)
12028 (string_char_to_byte, string_byte_to_char, string_make_multibyte)
12029 (string_to_multibyte):
12030 * character.c (chars_in_text, multibyte_chars_in_text):
12031 * fileio.c (Finsert_file_contents): Use EMACS_INT for buffer positions.
12032
12033 * character.h (FETCH_STRING_CHAR_ADVANCE)
12034 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE)
12035 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA and SREF.
12036 (DEC_POS, BUF_DEC_POS): Use BEG_BYTE rather than hardcoding 1.
12037
12038 * casefiddle.c (casify_region): Only call after-change and composition
12039 functions on the part of the region that was changed.
12040
12041 * keyboard.c (read_avail_input):
12042 * frame.c (Fdelete_frame): Call Fdelete_terminal.
12043
12044 2008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
12045
12046 * buffer.c (clone_per_buffer_values, reset_buffer_local_variables)
12047 (Fbuffer_local_value, Fbuffer_local_variables): Don't forget undo_list.
12048
12049 2008-02-11 Juanma Barranquero <lekktu@gmail.com>
12050
12051 * w32menu.c (push_submenu_start, push_submenu_end)
12052 (push_left_right_boundary, push_menu_pane, push_menu_item):
12053 * keyboard.c (read_key_sequence): Don't pass args with side effects
12054 to AREF, it fails when compiling with -DENABLE_CHECKING.
12055
12056 2008-02-11 Kenichi Handa <handa@ni.aist.go.jp>
12057
12058 * Makefile.in (${lispsource}international/charprop.el):
12059 Delete this target.
12060
12061 * search.c (boyer_moore): Fix incorrect synching of the trunk and
12062 emacs-unicode-2.
12063
12064 2008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
12065
12066 * terminal.c (Fdelete_terminal): Clean up the `force' path.
12067
12068 2008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
12069
12070 * frame.c (Qnoelisp): New symbol.
12071 (syms_of_frame): Initialize it.
12072 (Fdelete_frame): Use it to distinguish a mere `force' passed from some
12073 harmless Elisp code, from a strong `force' from x_connection_closed.
12074 * frame.h (Qnoelisp): Declare.
12075 * xterm.c (x_connection_closed): Pass `noelisp'.
12076
12077 * lisp.h (struct Lisp_Misc_Any, struct Lisp_Marker)
12078 (struct Lisp_Overlay, struct Lisp_Kboard_Objfwd)
12079 (struct Lisp_Save_Value, struct Lisp_Free): Use enum Lisp_Misc_Type
12080 rather than `int' for the type of `type'.
12081
12082 2008-02-10 Dan Nicolaescu <dann@ics.uci.edu>
12083
12084 * s/gnu-linux.h: Remove support for non-ELF and linux-1.x.
12085
12086 * Makefile.in (GNUC): Remove support for gcc-1.x.
12087
12088 2008-02-10 Richard Stallman <rms@gnu.org>
12089
12090 * lisp.h (ASET): Use AREF, not ASLOT.
12091
12092 2008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
12093
12094 * lisp.h (ASET): Check bounds.
12095
12096 2008-02-10 Glenn Morris <rgm@gnu.org>
12097
12098 * buffer.c (mode-name): Doc fix.
12099
12100 2008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
12101
12102 * Makefile.in:
12103 * emacs.c:
12104 * gmalloc.c:
12105 * keyboard.c:
12106 * lisp.h:
12107 * m/ibm370aix.h:
12108 * process.c:
12109 * regex.c:
12110 * s/hpux.h:
12111 * sysdep.c:
12112 * sysselect.h:
12113 * systty.h:
12114 * unexec.c:
12115 * w32term.c:
12116 * xsmfns.c:
12117 * xterm.c: Remove code that deals with obsolete variables.
12118
12119 * s/msdos.h (DONT_NEED_ENVIRON): Don't define.
12120
12121 * ecrt0.c: Replace the DONT_NEED_ENVIRON test with MSDOS test,
12122 nothing else needs it anymore.
12123
12124 2008-02-09 Eli Zaretskii <eliz@gnu.org>
12125
12126 * buffer.h (FETCH_CHAR_AS_MULTIBYTE): Use unibyte_to_multibyte_table
12127 instead of unibyte_char_to_multibyte.
12128
12129 2008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
12130
12131 * s/gnu-linux.h: Remove commented out code.
12132
12133 * unexec.c: Remove references to obsolete variable COFF_ENCAPSULATE.
12134
12135 * Makefile.in: Update what RMS says about using autoconf.
12136 (C_COMPILER, COFF_ENCAPSULATE, MAKE_PARALLEL): Remove obsolete variable.
12137 (C_SWITCH_MACHINE_1, C_SWITCH_SYSTEM_1, C_SWITCH_SITE_1)
12138 (C_SWITCH_X_SITE_1, C_SWITCH_X_MACHINE_1)
12139 (C_SWITCH_X_SYSTEM_1): Move invariant code outside conditional.
12140
12141 2008-02-08 Stefan Monnier <monnier@iro.umontreal.ca>
12142
12143 * keymap.c (Fkey_description): Move side effect outside of macro call.
12144
12145 * xfaces.c (Finternal_make_lisp_face):
12146 * keyboard.c (add_command_key, parse_menu_item): Use ASET.
12147
12148 * fontset.c (free_face_fontset): Use FONTSET_FROM_ID.
12149 (syms_of_fontset): Use ASET.
12150
12151 * fns.c (concat): Move side effect outside of macro call.
12152 (hash_clear): Use ASET.
12153
12154 2008-02-08 Richard Stallman <rms@gnu.org>
12155
12156 * frame.c (Fdelete_frame): If FORCE, don't call hooks.
12157 If FORCE, and frame has a surrogate minibuffer for another frame,
12158 delete the other frame first.
12159
12160 2008-02-07 Timo Savola <timo.savola@iki.fi>
12161
12162 * xterm.c (x_detect_focus_change): Handle embed client message.
12163 (handle_one_xevent): Ditto.
12164 (handle_one_xevent): If embedded and we get a button press/release,
12165 request focus.
12166 (xembed_set_info, xembed_send_message): New functions.
12167 (x_make_frame_visible): Call xembed_set_info if embedded.
12168 (x_make_frame_invisible): Call xembed_set_info if embedded.
12169 (x_term_init): Initialize Xatom_XEMBED.
12170 (x_make_frame_visible): Check for FRAME_X_EMBEDDED_P also.
12171 (x_iconify_frame): Ditto.
12172
12173 * xterm.h (struct x_display_info): Add AtomXatom_XEMBED.
12174 (enum xembed_info, enum xembed_message, enum xembed_focus)
12175 (enum xembed_modifier, enum xembed_accelerator): New.
12176 (xembed_set_info, xembed_send_message): Declare.
12177 (FRAME_X_EMBEDDED_P): New.
12178
12179 * gtkutil.c (xg_create_frame_widgets): If frame is embedded, call
12180 gtk_plug_new.
12181
12182 * xfns.c (Fx_create_frame): Do not override the explicitly set parent
12183 window ID of a frame.
12184 (x_window): Reparent frame if embedded.
12185 (Fx_create_frame): Don't set border width if embedded.
12186
12187 * emacs.c (USAGE3): Add --parent-id.
12188 (standard_args): Ditto.
12189
12190 2008-02-07 Jan Djärv <jan.h.d@swipnet.se>
12191
12192 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): Use "do...while (0)".
12193
12194 2008-02-07 Jim Meyering <meyering@redhat.com>
12195
12196 Use "do...while (0)", not "if (1)...else" in macro definitions.
12197 The latter provokes a warning from gcc about the empty else, when
12198 followed by ";". Also, without that trailing semicolon, it would
12199 silently swallow up any following statement.
12200 * syntax.h (SETUP_SYNTAX_TABLE)
12201 (SETUP_SYNTAX_TABLE_FOR_OBJECT): Likewise.
12202 * buffer.h (DECODE_POSITION): Likewise.
12203 * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise.
12204 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): Likewise.
12205 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Likewise.
12206 (FETCH_CHAR_ADVANCE): Likewise.
12207 (FETCH_CHAR_ADVANCE_NO_CHECK): Likewise.
12208
12209 2008-02-07 Jim Meyering <meyering@redhat.com>
12210
12211 * lread.c [lint]: Don't include <sys/inode.h>.
12212
12213 2008-02-07 Stefan Monnier <monnier@iro.umontreal.ca>
12214
12215 * xselect.c (x_handle_dnd_message):
12216 * xmenu.c (digest_single_submenu, xmenu_show):
12217 * xdisp.c (with_echo_area_buffer_unwind_data)
12218 (format_mode_line_unwind_data, unwind_format_mode_line)
12219 (display_menu_bar):
12220 * eval.c (Ffetch_bytecode):
12221 * doc.c (store_function_docstring):
12222 * ccl.c (resolve_symbol_ccl_program, ccl_get_compiled_code)
12223 (Fccl_execute, Fccl_execute_on_string, Fregister_code_conversion_map):
12224 * buffer.c (add_overlay_mod_hooklist): Use ASET.
12225
12226 2008-02-07 Kenichi Handa <handa@m17n.org>
12227
12228 * ftxfont.c (ftxfont_open): Don't set
12229 dpyinfo->smallest_font_height and dpyinfo->smallest_char_width to 0.
12230
12231 * ftfont.c (ftfont_open): Fix previous change.
12232
12233 2008-02-06 Jason Rumney <jasonr@gnu.org>
12234
12235 * w32font.c (w32font_text_extents): Fill in lbearing metric.
12236 Use cached metrics for ASCII characters.
12237 (w32font_open_internal): Don't set font's owning_frame.
12238 Cache metrics for ASCII characters.
12239
12240 * w32font.h (struct w32font_info): Add ascii_metrics.
12241 Remove owning_frame.
12242
12243 2008-02-06 Kenichi Handa <handa@ni.aist.go.jp>
12244
12245 * xdisp.c (x_produce_glyphs): Don't set it->ascent and it->descent
12246 to negative value.
12247
12248 * ftxfont.c (ftxfont_draw): Use s->font_info, not face->font_info.
12249
12250 * ftfont.c (ftfont_open): Fix calculation of font->font.average_width.
12251
12252 * charset.c (syms_of_charset): Set QCtest and Qeq.
12253
12254 2008-02-06 Stefan Monnier <monnier@iro.umontreal.ca>
12255
12256 * process.c (Fstart_process):
12257 * callproc.c (Fcall_process): Handle the case where
12258 Funhandled_file_name_directory returns nil.
12259
12260 * font.h (enum lgstring_indices, enum lglyph_indices): New enums.
12261 (LGSTRING_SLOT, LGSTRING_SET_SLOT): New macros.
12262 * font.c (check_gstring): Use them and AREF to access the vector before
12263 we know it's really a gstring.
12264 (Ffont_shape_text): Fix typo.
12265 (Ffont_shape_text, Ffont_otf_alternates): Fix up int/Lisp_Object mixups.
12266
12267 * composite.h (Fcompose_region_internal, Fcompose_string_internal):
12268 Declare.
12269
12270 * chartab.c (make_sub_char_table): Remove noop-yet-incorrect statement.
12271
12272 2008-02-05 Jason Rumney <jasonr@gnu.org>
12273
12274 * w32font.c (w32font_open_internal): Fill min_width with tmAveCharWidth.
12275 Set smallest_font_height and smallest_char_width in display info.
12276
12277 2008-02-05 Kenichi Handa <handa@ni.aist.go.jp>
12278
12279 * coding.c (decode_eol): Pay attention to coding->dst_multibyte.
12280
12281 2008-02-05 Miles Bader <miles@gnu.org>
12282
12283 * xfaces.c (get_lface_attributes, merge_named_face)
12284 (lookup_named_face, lookup_derived_face, realize_named_face):
12285 Revert 2008-02-01 change by cyd@stupidchicken.com.
12286
12287 2008-02-04 Kenichi Handa <handa@ni.aist.go.jp>
12288
12289 * fontset.c (Ffontset_info): Handle the case of inhibitting the
12290 fallback fonts.
12291 (Ffontset_info) [USE_FONT_BACKEND]: Fix getting of opened font names.
12292
12293 2008-02-04 Jason Rumney <jasonr@gnu.org>
12294
12295 * w32font.c (w32font_open_internal): Use font_unparse_fcname to
12296 set full_name.
12297 (w32font_open_internal): Use xmalloc, xrealloc, xfree.
12298
12299 2008-02-03 Jason Rumney <jasonr@gnu.org>
12300
12301 * makefile.w32-in (OBJ1): Include font.o here.
12302 (FONTOBJ) [USE_FONTBACKEND]: Instead of here.
12303
12304 2008-02-02 Jason Rumney <jasonr@gnu.org>
12305
12306 * makefile.w32-in (temacs): Bump EMHEAP to 21.
12307
12308 2008-02-01 Jason Rumney <jasonr@gnu.org>
12309
12310 * s/cygwin.h: Define VIRT_ADDR_VARIES.
12311
12312 * puresize.h [VIRT_ADDR_VARIES]: Don't include CYGWIN in condition.
12313
12314 2008-02-01 Andreas Schwab <schwab@suse.de>
12315
12316 * Makefile.in (shortlisp, lisp): Update for rename of
12317 ../lisp/language/myanmar.el.
12318
12319 2008-02-01 Chong Yidong <cyd@stupidchicken.com>
12320
12321 * xfaces.c (get_lface_attributes): Delete function.
12322 (merge_named_face, lookup_named_face, lookup_derived_face)
12323 (realize_named_face): Call lface_from_face_name directly, and use
12324 the fact that merge_face_vectors does not alter its FROM argument.
12325
12326 2008-02-01 Jason Rumney <jasonr@gnu.org>
12327
12328 * w32term.c (w32_read_socket) <WM_CHAR>: Decode non-Unicode
12329 input in the default locale. Handle non-Unicode multibyte input.
12330
12331 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12332
12333 * fontset.c (reorder_font_vector): Exclude nil elements from the
12334 font group. Don't try multiple fonts.
12335 (fontset_font): Adjust for the above change.
12336 (Finternal_char_font): Return nil if the found font doesn't
12337 contain the character ch.
12338
12339 * Makefile.in (lisp, shortlisp): Add cham.el.
12340
12341 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12342
12343 * font.h (FONTP): Make it return 1 also for a font-object.
12344
12345 * .gdbinit (xfontset): New function.
12346
12347 * font.c (font_find_for_lface): Check if the character C is
12348 supported or not only for the first font.
12349
12350 * fontset.c (reorder_font_vector): Fix typo.
12351 (fontset_find_font): Don't add a font-spec specifying a script.
12352 Use 0 (not Qt) for the indication of empty font-group. Change the
12353 format of RFONT-DEF. Return Qt if no font in the font-group
12354 support the character.
12355 (fontset_font): Adjust for the above change. If no font was
12356 found the character, remember that.
12357 (face_for_char): Adjust for the change of RFONT-DEF.
12358 (Fset_fontset_font): Allow nil for FONT-SPEC to explicitly specify
12359 no font for the target.
12360 (Finternal_char_font): Adjust for the change of RFONT-DEF.
12361
12362 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12363
12364 * font.c (font_load_for_face): Handle the case that the font in
12365 face->lface is a string.
12366
12367 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12368
12369 * xfaces.c (set_lface_from_font_and_fontset): Set the fontname in lface.
12370
12371 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12372
12373 * xfaces.c (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]:
12374 Fix previous change. If the frame is not on a window system,
12375 signal an error.
12376
12377 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12378
12379 * coding.c (decode_coding_object, encode_coding_object): Adjust
12380 marker positions after conversion.
12381
12382 * lisp.h (struct Lisp_Marker): New member need_adjustment.
12383
12384 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12385
12386 * font.c (font_find_for_lface): Fix the handling of the return
12387 value of font_has_char.
12388 (Ffont_shape_text): Fix previous change.
12389
12390 * fontset.c (FONTSET_REF_AND_RANGE): Delete it.
12391 (fontset_ref_and_range): Delete it.
12392 (fontset_find_font): Call char_table_ref_and_range instead of
12393 FONTSET_REF_AND_RANGE.
12394 (make_fontset): Don't setup font groups of Latin here.
12395 (Fset_fontset_font): Don't overwrite the setting of FONTSET_ASCII.
12396 (new_fontset_from_font): Make the specified font the default for
12397 all Latin characters.
12398
12399 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12400
12401 * xfaces.c (Finternal_set_lisp_face_attribute): Check if the frame
12402 is on a window system before accessing the fontset of the frame.
12403
12404 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12405
12406 * Makefile.in (lisp, shortlisp): Add kherm.el and myanmar.el.
12407
12408 * ftfont.c (ftfont_driver): Set ftfont_shape in ftfont_driver only
12409 when both HAVE_M17N_FLT and HAVE_LIBOTF are defined.
12410
12411 * font.c (Ffont_shape_text): If the font driver doesn't have a
12412 shaper function, make zero-width glyphs to have at least one-pixel
12413 width. Fix setting of `to' field of glyphs.
12414
12415 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12416
12417 * ftfont.c (ftfont_drive_otf): Fix setting of FROM and TO slots of
12418 glyphs.
12419
12420 * font.h (struct font_driver): Improve docstring of member `shape'.
12421
12422 2008-02-01 Kenichi Handa <handa@m17n.org>
12423
12424 * composite.c (syms_of_composite): Fix docstring of
12425 auto-composition-function.
12426
12427 * font.h (LGLYPH_SIZE): New macro.
12428
12429 * font.c (Ffont_fill_gstring): Stop filling when a character not
12430 supported by the font is found.
12431 (Ffont_shape_text): When a shape callback function returns nil,
12432 try at most two more times with larger gstring.
12433 (Ffont_at): Fix getting of w. Call font_at with correct 5th argument.
12434
12435 * xdisp.c (handle_auto_composed_prop): Change the argument to
12436 auto-composition-function.
12437
12438 * ftfont.c (ftfont_encode_char): Use the macro FONT_INVALID_CODE.
12439 (ftfont_shape_by_flt): If an element of lgstring is nil, make a
12440 Lispy glyph and store it in the lgstring.
12441
12442 * xfont.c (xfont_encode_char): Use the macro FONT_INVALID_CODE.
12443
12444 * xftfont.c (xftfont_encode_char): Use the macro FONT_INVALID_CODE.
12445
12446 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12447
12448 * font.c (Ffont_shape_text): Avoid unnecessary composition.
12449
12450 * fontset.c (Vfont_encoding_charset_alist): New variable.
12451 (syms_of_fontset): DEFVAR it.
12452 (reorder_font_vector, fontset_find_font): Optimize for the case of
12453 no need of reordering.
12454 (face_for_char): Map the charset property by
12455 Vfont_encoding_charset_alist.
12456
12457 2008-02-01 Jason Rumney <jasonr@gnu.org>
12458
12459 * w32font.c (logfonts_match): Don't check adstyle here.
12460 (font_matches_spec): Check here against physical font instead.
12461 (add_font_entity_to_list): Avoid some substitutions.
12462
12463 * font.c (font_parse_fcname): Default weight and slant to normal.
12464 (font_score): Prefer normal fonts if weight or slant unspecified.
12465 (font_score) [WINDOWSNT]: Scale weight difference down to closer
12466 match freetype scores.
12467
12468 2008-02-01 Jason Rumney <jasonr@gnu.org>
12469
12470 * w32font.c (w32font_text_extents): Don't use the frame stored in the
12471 font, as it may have been deleted.
12472 (w32_enumfont_pattern_entity): Map generic family to adstyle using
12473 most common hyphenless variation.
12474 (logfonts_match): Check generic family.
12475 (font_matches_spec): Don't check generic family here.
12476 (fill_in_logfont): Set generic family based on adstyle.
12477
12478 * w32font.h (w32font_get_cache): Update declaration.
12479
12480 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12481
12482 * ftfont.c (ftfont_get_cache): Adjust the argument type.
12483
12484 * frame.c (x_set_font_backend): Don't call Fclear_font_cache.
12485 If none of the new drivers are available, call font_update_drivers
12486 with the old drivers.
12487
12488 * w32font.c (w32font_get_cache): Adjust the argument type.
12489
12490 * xfont.c (xfont_get_cache): Adjust the argument type.
12491
12492 * font.h (struct font_driver): Change argument type of get_cache.
12493
12494 * xftfont.c (xftfont_start_for_frame): Delete prototype.
12495
12496 * font.c (Ffont_get): Fix arguments to Fassoc.
12497 (font_prepare_cache, font_finish_cache, font_get_cache): New functions.
12498 (font_clear_cache): New function.
12499 (font_list_entities, font_matching_entity): Use font_get_cache.
12500 (font_update_drivers): Call font_clear_cache when finishing a driver.
12501
12502 * fontset.c (fontset_find_font): Fix previous change.
12503
12504 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12505
12506 * xterm.c (x_check_font) [USE_FONT_BACKEND]: Don't access
12507 dpyinfo->font_table.
12508 (x_delete_display) [USE_FONT_BACKEND]: Likewise.
12509 (x_delete_terminal) [USE_FONT_BACKEND]: Likewise.
12510
12511 * font.c (font_at): Handle the case that the arg C is negative.
12512 Handle the unibyte case.
12513 (Ffont_at): Call font_at with the arg C -1.
12514
12515 * xdisp.c (handle_auto_composed_prop): Don't get a character at
12516 the position here, and call font_at with the arg C -1.
12517 Don't check the range of the existing composition at the point.
12518
12519 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12520
12521 * fontset.c (fontset_add): New args charset_id and family.
12522 Change caller.
12523 (load_font_get_repertory, fontset_find_font): Assume that
12524 font_spec is always a font-spec object.
12525 (Fset_fontset_font): Always store a font-spec object in a fontset.
12526
12527 * xdisp.c (handle_auto_composed_prop): Use Fget_text_property
12528 instead of get_property_and_range.
12529
12530 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12531
12532 * xftfont.c (struct xftfont_info): Delete the member ft_face.
12533 (xftfont_open): Don't keep locking face.
12534 (xftfont_close): Don't unlock face.
12535 (xftfont_anchor_point, xftfont_shape): Lock and unlock face.
12536
12537 * fontset.c (fontset_find_font): Don't prefer a font of
12538 supplementary charset.
12539
12540 2008-02-01 Kenichi Handa <handa@m17n.org>
12541
12542 * ftfont.c (struct OpenTypeSpec): Rename members script_tag to
12543 script, langsys_tag to langsys, new member script.
12544 (OTF_TAG_STR): Terminate by '\0'.
12545 (ftfont_get_open_type_spec): If :otf prop is spec, limit the
12546 listing to the script specified in that property. Fix arg to
12547 OTF_check_features.
12548
12549 2008-02-01 Jason Rumney <jasonr@gnu.org>
12550
12551 * w32font.h: New file.
12552
12553 * w32font.c: Include it.
12554 (struct w32font_info): Add owning_frame field. Move to w32font.h.
12555 (w32font_open): Set owning_frame.
12556 (w32font_text_extents): Use owning_frame.
12557 (struct font_callback_data): Add opentype_only field.
12558 (add_font_entity_to_list): Use it to filter fonts.
12559 Don't check against full name.
12560 (w32font_list_internal): New function.
12561 (w32font_list): Use it.
12562 (w32font_match_internal): New function.
12563 (w32font_match): Use it.
12564 (w32font_open_internal): New function.
12565 (w32font_open): Use it.
12566 (w32font_get_cache, w32font_close, w32font_has_char)
12567 (w32font_encode_char, w32font_text_extents, w32font_draw):
12568 Make non-static.
12569
12570 * makefile.w32-in (w32font.o): Depend on w32font.h.
12571
12572 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12573
12574 * charset.c (Fdefine_charset_internal): Record a supplementary
12575 charset at the tail of Vcharset_order_list.
12576
12577 * font.c (Ffont_shape_text): Fix the return value.
12578
12579 * ftfont.c (OTF_SYM_TAG, OTF_TAG_STR): Fix argument names.
12580
12581 * xdisp.c (handle_auto_composed_prop): Fix previous change.
12582
12583 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12584
12585 * ftfont.c (struct OpenTypeSpec): New struct.
12586 (OTF_SYM_TAG, OTF_TAG_STR): New macros.
12587 (ftfont_get_open_type_spec): New function.
12588 (ftfont_list) [HAVE_LIBOTF]: Check otf-spec property.
12589
12590 * lread.c (read1): Redo the previous change with checking Vpurify_flag.
12591
12592 2008-02-01 Jason Rumney <jasonr@gnu.org>
12593
12594 * w32font.c (add_font_entity_to_list): Compare only the beginning
12595 of full name.
12596
12597 2008-02-01 Kenichi Handa <handa@m17n.org>
12598
12599 * xdisp.c (handle_auto_composed_prop): Simplify the code.
12600 Never return HANDLED_RECOMPUTE_PROPS.
12601
12602 2008-02-01 Kenichi Handa <handa@m17n.org>
12603
12604 * font.c (font_gstring_produce): Delete it.
12605
12606 * composite.h (COMPOSITION_METHOD):
12607 Handle COMPOSITION_WITH_GLYPH_STRING.
12608
12609 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12610
12611 * xfont.c (Qx): Delete.
12612 (syms_of_xfont): Don't initialize Qx.
12613
12614 * composite.h (enum composition_method):
12615 Define COMPOSITION_WITH_GLYPH_STRING unconditionally.
12616
12617 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12618
12619 * xfaces.c [HAVE_WINDOW_SYSTEM]: Include "font.h" unconditionally.
12620 (choose_face_font): Accept new form of font-spec.
12621
12622 * frame.h (font_driver_list): Declare it unconditionally.
12623 (struct frame): Define members font_driver_list and font_data_list
12624 unconditionally.
12625
12626 * fontset.c: Include "font.h" unconditionally.
12627 (generate_ascii_font_name): Use font_parse_xlfd and font_unparse_xlfd.
12628 (Fset_fontset_font): Accept a font-spec object.
12629
12630 * font.c (font_unparse_xlfd): If pixel_size is zero, make the
12631 PIXEL_SIZE part a wild card.
12632
12633 * dispextern.h (struct glyph_string): Define members clip and
12634 num_clips unconditionally.
12635 (struct face): Define members font_info and extra unconditionally.
12636
12637 * ftfont.c (ftfont_open): Set members maybe_otf and otf of
12638 ftfont_info only when HAVE_LIBOTF is defined.
12639
12640 2008-02-01 Andreas Schwab <schwab@suse.de>
12641
12642 * xdisp.c (back_to_previous_visible_line_start): Fix type of beg
12643 and end.
12644
12645 2008-02-01 Jason Rumney <jasonr@gnu.org>
12646
12647 * w32font.c (w32font_driver): Add new fields.
12648
12649 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12650
12651 * Makefile.in (ALL_CFLAGS): Add @M17N_FLT_CFLAGS@.
12652 (FONTSRC, FONTOBJ) [HAVE_WINDOW_SYSTEM]: Set them unconditionally.
12653 (LIBES): Add @M17N_FLT_CFLAGS@.
12654
12655 * composite.c (compose_text): Don't treat the new style
12656 composition specially.
12657
12658 * emacs.c (main): Call syms_of_font unconditionally.
12659
12660 * font.h (FONT_ENTITY_NOT_LOADABLE)
12661 (FONT_ENTITY_SET_NOT_LOADABLE): New macros.
12662 (LGSTRING_XXXX, LGLYPH_XXX): Adjust for the change of lispy gstring.
12663 (struct font_driver): New member shape.
12664 (font_registry_charsets): Extern it.
12665 (font_find_for_lface, font_prepare_composition): Adjust prototype.
12666 (font_otf_capability, font_drive_otf): Delete their externs.
12667
12668 * font.c [HAVE_M17N_FLT]: Include <m17n-flt.h>.
12669 (font_charset_alist, font_registry_charsets): Move from xfont.c
12670 and rename.
12671 (font_prop_validate_otf): New function.
12672 (font_property_table): Register it for QCotf.
12673 (DEVICE_DELTA, adjust_anchor, REPLACEMENT_CHARACTER)
12674 (font_drive_otf): Delete.
12675 (font_prepare_composition): New arg F. Adjust for the change of
12676 lispy gstring.
12677 (font_find_for_lface): New arg C.
12678 (font_load_for_face): Adjust for the change of font_find_for_lface.
12679 (Ffont_make_gstring, Ffont_fill_gstring): Adjust for the change of
12680 lispy gstring.
12681 (Ffont_shape_text): New function.
12682 (Fopen_font): If the font size is not given, use 12-pixel.
12683 (Ffont_at): New arg STRING.
12684 (syms_of_font): Initalize font_charset_alist.
12685 Declare Ffont_shape_text as a Lisp function. Call syms_of_XXfont
12686 conditionally.
12687
12688 * fontset.c (fontset_find_font) [USE_FONT_BACKEND]: Try multiple
12689 fonts of the same font-spec. Change the format of RFONT-DEF.
12690 (face_for_char, make_fontset_for_ascii_face, Finternal_char_font):
12691 Adjust for the change of RFONT-DEF.
12692 (Fset_fontset_font) [USE_FONT_BACKEND]: Handle new format of font-spec.
12693
12694 * ftfont.h: New file.
12695
12696 * ftfont.c: Don't include Freetype headers. Include "ftfont.h".
12697 (struct ftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
12698 (ftfont_open) [HAVE_LIBOTF]: Initialize the above members.
12699 (ftfont_driver) [HAVE_LIBOTF, HAVE_M17N_FLT]: Don't set
12700 font_otf_capability and font_drive_otf, set ftfont_shape.
12701 (ftfont_list): Adjust for the change of :otf property value.
12702 (struct MFLTFontFT) [HAVE_LIBOTF, HAVE_M17N_FLT]: New struct.
12703 (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_check_otf)
12704 (adjust_anchor, ftfont_drive_otf, ftfont_shape_by_flt)
12705 (ftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
12706 (DEVICE_DELTA) [HAVE_LIBOTF, HAVE_M17N_FLT]: New macro.
12707 (otf_gstring, gstring, m17n_flt_initialized): New variables.
12708
12709 * w32term.c (x_draw_composite_glyph_string_foreground):
12710 Adjust for the change of lispy gstring.
12711
12712 * xdisp.c (handle_composition_prop): Adjust for the change of
12713 lispy gstring. Call a function for auto-composition with the
12714 third arg it->window.
12715 (fill_composite_glyph_string): Adjust for the change of lispy string.
12716 (x_produce_glyphs): Adjust for the change of font_prepare_compositionl.
12717
12718 * xfaces.c (set_font_frame_param): Adjust for the change of
12719 font_find_for_lface.
12720
12721 * xfont.c (x_font_charset_alist): Move to font.c and rename.
12722 (xfont_registry_charsets): Likewise. Change caller.
12723 (syms_of_xfont): Don't handle x_font_charset_alist.
12724
12725 * xftfont.c: Include "ftfont.h".
12726 (struct xftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
12727 (xftfont_open) [HAVE_LIBOTF]: Initialize the above members.
12728 (xftfont_close) [HAVE_LIBOTF]: Close otf.
12729 (xftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
12730 (syms_of_xftfont) [HAVE_LIBOTF, HAVE_M17N_FLT]:
12731 Set xftfont_driver.shape to xftfont_shape.
12732
12733 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
12734 the change of lispy gstring.
12735
12736 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12737
12738 * ftxfont.c (ftxfont_end_for_frame): Fix array indexing error.
12739
12740 2008-02-01 Jason Rumney <jasonr@gnu.org>
12741
12742 * w32font.c (w32font_draw): Fill background manually.
12743
12744 2008-02-01 Jason Rumney <jasonr@gnu.org>
12745
12746 * font.c (Qfontp): Remove unused symbol.
12747 (QCantialias): New symbol.
12748 (syms_of_font): Define it.
12749 (font_property_table): Set a validator for QCantialias.
12750
12751 * w32font.c (CLEARTYPE_QUALITY, CLEARTYPE_NATURAL_QUALITY):
12752 Define if not already.
12753 (QCfamily): Share with xfaces.c.
12754 (Qstandard, Qsubpixel, Qnatural): New symbols.
12755 (syms_of_w32font): Define them. Don't define QCfamily here.
12756 (w32_antialias_type, lispy_antialias_type): New functions.
12757 (w32_enumfont_pattern_entity): New arg requested_font.
12758 Set antialias parameter if non-default was requested.
12759 (fill_in_logfont): Fill in lfQuality if :antialias specified.
12760
12761 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12762
12763 * lread.c (read1): Undo the previous change.
12764
12765 2008-02-01 CHENG Gao <chenggao@gmail.com> (tiny change)
12766
12767 * frame.c (Fdelete_frame): Call font_update_drivers only when
12768 USE_FONT_BACKEND is defined.
12769
12770 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12771
12772 * font.h (struct font_bitmap): New member bits_per_pixel.
12773 (struct font_driver): New members start_for_frame and end_for_frame.
12774 (struct font_data_list): New struct.
12775 (font_put_frame_data, font_get_frame_data): Extern them.
12776
12777 * frame.h (struct frame): New member font_data_list.
12778
12779 * font.c (font_update_drivers): Call driver->start_for_frame and
12780 driver->end_for_frame at proper timings.
12781 (font_put_frame_data, font_get_frame_data): New functions.
12782 (Ffont_spec): Add usage in the docstring.
12783
12784 * frame.c (make_frame): Initialize f->font_data_list to NULL.
12785 (Fdelete_frame): Call font_update_drivers.
12786
12787 * xftfont.c (struct xftface_info): Delete the member xft_draw.
12788 (xftfont_prepare_face, xftfont_done_face): Adjust for the above change.
12789 (xftfont_get_xft_draw): New function.
12790 (xftfont_draw): Get XftDraw by xftfont_get_xft_draw.
12791 (xftfont_end_for_frame): New function.
12792 (syms_of_xftfont): Set xftfont_driver.end_for_frame.
12793
12794 * ftxfont.c (ftxfont_get_gcs): Rename from ftxfont_create_gcs.
12795 Change argument. Cache GCs in the per-frame data.
12796 (struct ftxfont_frame_data): New struct.
12797 (ftxfont_draw_bitmap): New arg gc_fore and flush.
12798 (ftxfont_prepare_face, ftxfont_done_face): Delete them.
12799 (ftxfont_draw): Get GCs by ftxfont_get_gcs. Reflect s->clip in GCs.
12800 (ftxfont_end_for_frame): New function.
12801 (syms_of_ftxfont): Set ftxfont_driver.end_for_frame.
12802
12803 * ftfont.c (ftfont_get_bitmap): Set bitmap->bits_per_pixel.
12804
12805 2008-02-01 Kenichi Handa <handa@m17n.org>
12806
12807 * xselect.c (Vselection_coding_system)
12808 (Vnext_selection_coding_system): Delete them.
12809 (syms_of_xselect): Don't declare selection-coding-system and
12810 next-selection-coding-system. They are declared in select.el.
12811
12812 2008-02-01 Jason Rumney <jasonr@gnu.org>
12813
12814 * w32term.h (WM_UNICHAR, UNICODE_NOCHAR): Define if not already.
12815
12816 * w32fns.c: Include imm.h.
12817 (get_composition_string_fn, get_ime_context_fn): New optional
12818 system functions.
12819 (globals_of_w32fns): Load them from imm32.dll.
12820 (ignore_ime_char): New flag.
12821 (w32_wnd_proc): Handle WM_UNICHAR, WM_IME_CHAR and
12822 WM_IME_ENDCOMPOSITION messages.
12823
12824 * w32term.c (w32_read_socket) [WM_UNICHAR]: Handle as
12825 MULTIBYTE_CHAR_KEYSTROKE_EVENT.
12826
12827 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12828
12829 * lread.c (READCHAR): Call readchar with the 2nd arg NULL.
12830 (READCHAR_REPORT_MULTIBYTE): New macro.
12831 (readchar): New 2nd arg MULTIBYTE.
12832 (read1): Use READCHAR_REPORT_MULTIBYTE for the first read.
12833 Make symbol's name multibyte according to the multibyteness of the
12834 source.
12835
12836 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12837
12838 * xfaces.c (face_for_overlay_string): Call lookup_face with
12839 correct arguments (fix of synching with the trunk).
12840
12841 2008-02-01 Kenichi Handa <handa@m17n.org>
12842
12843 * font.c (font_prop_validate_symbol, font_prop_validate_style)
12844 (font_prop_validate_non_neg, font_prop_validate_spacing):
12845 Delete argument prop_index.
12846 (font_property_table): Change arguments to validater. Change Callers.
12847 (font_lispy_object): Delete.
12848 (font_at): Use font_find_object instead fo font_lispy_object.
12849
12850 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12851
12852 * fileio.c (Fexpand_file_name): Adjust multibyteness of directory
12853 and file names.
12854
12855 2008-02-01 Jason Rumney <jasonr@gnu.org>
12856
12857 * w32font.c (add_font_name_to_list): Avoid vertical fonts.
12858 (font_matches_spec): Remove debug output.
12859 (add_font_entity_to_list): Avoid using substituted fonts.
12860
12861 2008-02-01 Jason Rumney <jasonr@gnu.org>
12862
12863 * doc.c (Fsnarf_documentation):
12864 * Makefile.in (temacs${EXEEXT}, mostlyclean): Undo last change.
12865
12866 2008-02-01 Miles Bader <miles@gnu.org>
12867
12868 * dispextern.h (struct glyph_row): Only define "clip" field if
12869 HAVE_WINDOW_SYSTEM is defined.
12870
12871 2008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
12872
12873 Fix up multi-tty merge.
12874
12875 * xterm.c (handle_one_xevent): Remove duplicate code and fix up nesting
12876 and indentation.
12877
12878 * xfaces.c (free_realized_face, clear_face_gcs):
12879 Include font_done_for_face in the input_blocked section, just in case.
12880
12881 * xdisp.c (decode_mode_spec): Use terminal-local coding systems.
12882 (get_char_face_and_encoding): Undo last change and remove the *other*
12883 duplicate definition (i.e. keep the one that's better scoped and that
12884 includes code for the font-backend).
12885
12886 * terminal.c (create_terminal): Default keyboard_coding to
12887 `no-conversion' and terminal_coding to `undecided'.
12888
12889 * lread.c (read1): Use XSETPVECTYPE to set a pseudovector's tag.
12890
12891 * fontset.c (free_realized_fontsets): Check that the table entry does
12892 contain a fontset before trying to compare it to `base'.
12893
12894 * emacs.c (main): Move syms_of_data, syms_of_fileio, syms_of_alloc,
12895 syms_of_charset, and syms_of_coding earlier because init_window_once
12896 now needs Vcoding_system_hash_table to be setup.
12897
12898 * coding.h (default_buffer_file_coding): Remove.
12899
12900 * coding.c (default_buffer_file_coding): Remove.
12901 (Fterminal_coding_system, Fkeyboard_coding_system): Use ->id rather
12902 than ->symbol, and use the terminal-local coding system.
12903 (syms_of_coding): Don't setup the coding-systems that are not
12904 terminal-local.
12905 (Fdefine_coding_system_internal): Use XCAR/XCDR.
12906
12907 * chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table):
12908 Use XSETPVECTYPE now that XSETCHAR_TABLE doesn't set the tag anymore.
12909
12910 * alloc.c (Fmake_char_table, make_sub_char_table): Remove. They're now
12911 in chartab.c and were re-added here by mistake.
12912 (Fpurecopy): Use XSETPVECTYPE after copying a COMPILED pseudovector.
12913
12914 * doc.c (Fsnarf_documentation):
12915 * Makefile.in (temacs${EXEEXT}, mostlyclean): Move buildobj.lst from
12916 src to etc.
12917
12918 * ChangeLog.10: Add mistakenly removed entry.
12919
12920 2008-02-01 Dan Nicolaescu <dann@ics.uci.edu>
12921
12922 * Makefile.in (fringe.o, minibuf.o): Fix dependencies.
12923
12924 2008-02-01 Miles Bader <miles@gnu.org>
12925
12926 * xdisp.c (get_char_face_and_encoding): Remove extraneous definition.
12927 Add extra args to FACE_FOR_CHAR.
12928
12929 2008-02-01 Kenichi Handa <handa@m17n.org>
12930
12931 * keymap.c (where_is_internal_1): If key is a cons, store the copy
12932 in sequence.
12933
12934 * chartab.c (map_sub_char_table, map_char_table): If the range
12935 contains just one character, call the function with that character
12936 even if the depth is not 3.
12937
12938 2008-02-01 Jason Rumney <jasonr@gnu.org>
12939
12940 * w32font.c (w32font_text_extents): Calculate metrics for the
12941 whole string.
12942
12943 2008-02-01 Jason Rumney <jasonr@gnu.org>
12944
12945 * w32xfns.c (get_next_msg): Consolidate WM_PAINT messages.
12946
12947 2008-02-01 Jason Rumney <jasonr@gnu.org>
12948
12949 * w32term.c (x_set_glyph_string_clipping): Use
12950 get_glyph_string_clip_rects.
12951 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
12952 Adjust for the change of struct glyph_string.
12953
12954 * w32font.c (w32font_draw): Do clipping here.
12955
12956 2008-02-01 Kenichi Handa <handa@m17n.org>
12957
12958 * xftfont.c (xftfont_draw): Adjust for the change of struct
12959 glyph_string.
12960
12961 * xterm.c (x_set_glyph_string_clipping): Use
12962 get_glyph_string_clip_rects.
12963 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
12964 Adjust for the change of struct glyph_string.
12965
12966 * xdisp.c (get_glyph_string_clip_rects): Reflect s->row->clip to
12967 the resulting clip(s}.
12968 (expose_overlaps): Add arg r. Change callers. Set it to
12969 row->clip temporarily.
12970 (expose_window): Redraw rows overlapping the exposed area.
12971
12972 * dispextern.h (struct glyph_row): New member clip.
12973 (struct glyph_string): Delete members clip_x, clip_y, clip_width,
12974 clip_height, new member clip, and num_clips.
12975
12976 2008-02-01 Kenichi Handa <handa@m17n.org>
12977
12978 * data.c (Fchar_or_string_p): Fix docstring.
12979
12980 2008-02-01 Kenichi Handa <handa@m17n.org>
12981
12982 * xftfont.c (xftfont_draw): If s->font_info != s->face->font_info,
12983 create a temporary XftDraw object.
12984
12985 2008-02-01 Kenichi Handa <handa@m17n.org>
12986
12987 * font.c (Ffontp): Fix docstring.
12988
12989 * coding.c (detect_coding_iso_2022): Don't treat SI/SO codes as a
12990 strong evidence of ISO-2022.
12991
12992 2008-02-01 Kenichi Handa <handa@m17n.org>
12993
12994 * abbrev.c (abbrev_check_chars): Use CHAR_TABLE_REF, not
12995 SYNTAX_ENTRY_FOLLOW_PARENT.
12996
12997 2008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
12998
12999 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and change
13000 its type.
13001 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
13002 Update to the new type of weak_hash_tables and next_weak.
13003
13004 * lisp.h (struct Lisp_Hash_Table): Change next_weak from Lisp_Object to
13005 a plain C pointer to Lisp_Hash_Table.
13006
13007 * lisp.h (XGCTYPE, GC_HASH_TABLE_P, GC_NILP, GC_NUMBERP, GC_NATNUMP)
13008 (GC_INTEGERP, GC_SYMBOLP, GC_MISCP, GC_VECTORLIKEP, GC_STRINGP)
13009 (GC_CONSP, GC_FLOATP, GC_VECTORP, GC_OVERLAYP, GC_MARKERP)
13010 (GC_INTFWDP, GC_BOOLFWDP, GC_OBJFWDP, GC_BUFFER_OBJFWDP)
13011 (GC_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP)
13012 (GC_KBOARD_OBJFWDP, GC_PSEUDOVECTORP, GC_WINDOW_CONFIGURATIONP)
13013 (GC_PROCESSP, GC_WINDOWP, GC_SUBRP, GC_COMPILEDP, GC_BUFFERP)
13014 (GC_SUB_CHAR_TABLE_P, GC_CHAR_TABLE_P, GC_BOOL_VECTOR_P, GC_FRAMEP)
13015 (GC_EQ): Remove since they've been identical to their non-GC_
13016 alter-egos ever since the markbit was eradicated.
13017
13018 * alloc.c:
13019 * buffer.c:
13020 * buffer.h:
13021 * data.c:
13022 * fileio.c:
13023 * filelock.c:
13024 * fns.c:
13025 * frame.h:
13026 * lisp.h:
13027 * macterm.c:
13028 * print.c:
13029 * process.c:
13030 * w32fns.c:
13031 * w32menu.c:
13032 * w32term.c:
13033 * xfns.c:
13034 * xmenu.c:
13035 * xterm.c: Replace uses of GC_* macros with the non-GC_ versions.
13036
13037 2008-02-01 Kenichi Handa <handa@m17n.org>
13038
13039 * chartab.c (map_sub_char_table): Make it work for the top-level
13040 char-table. Fix handling of parent char-table.
13041 (map_char_table): Adjust for the above change.
13042
13043 2008-02-01 Jason Rumney <jasonr@gnu.org>
13044
13045 * w32font.c (Qgdi): Rename from Qw32.
13046
13047 2008-02-01 Jason Rumney <jasonr@gnu.org>
13048
13049 * w32bdf.c (get_quoted_string): Make function static.
13050
13051 2008-02-01 Kenichi Handa <handa@m17n.org>
13052
13053 * xftfont.c (xftfont_open): If one of font's ASCII glyph has
13054 bigger ascent and descent than those of the font, use them as
13055 font's ascent and descent.
13056
13057 2008-02-01 Kenichi Handa <handa@m17n.org>
13058
13059 * Makefile.in (${lispsource}international/charprop.el): Move this
13060 target within "#ifdef HAVE_UNIDATA" and "#endif".
13061
13062 2008-02-01 Kenichi Handa <handa@m17n.org>
13063
13064 * Makefile.in (lisp): Add ${lispsource}language/tai-viet.el.
13065 (shortlisp): Add ../lisp/language/tai-viet.el.
13066
13067 2008-02-01 Ulrich Mueller <ulm@gentoo.org>
13068
13069 * Makefile.in (${lispsource}international/charprop.el): Depend on
13070 temacs${EXEEXT}.
13071
13072 2008-02-01 Jason Rumney <jasonr@gnu.org>
13073
13074 * w32font.c (w32font_close): Delete the GDI font object.
13075
13076 * w32menu.c: Include character.h.
13077
13078 * w32proc.c: Likewise.
13079
13080 * w32select.c: Likewise.
13081
13082 * makefile.w32-in (w32proc.o): Depend on character.h.
13083
13084 2008-02-01 Jason Rumney <jasonr@gnu.org>
13085
13086 * w32fns.c (syms_of_w32fns): Use DEFSYM macro.
13087
13088 * w32menu.c (syms_of_w32menu): Likewise.
13089
13090 * w32proc.c (syms_of_ntproc): Likewise.
13091
13092 * w32select.c (syms_of_w32select): Likewise.
13093
13094 * w32term.c (syms_of_w32term): Likewise.
13095
13096 2008-02-01 Jason Rumney <jasonr@gnu.org>
13097
13098 * w32font.c (w32font_draw): Delete brush after using it.
13099
13100 2008-02-01 Jason Rumney <jasonr@gnu.org>
13101
13102 * w32font.c (w32font_open): Don't set font_idx.
13103 (w32font_text_extents): Try GetTextExtentPoint32W before defaulting
13104 to font settings.
13105 (w32font_draw): Fill background explicitly.
13106
13107 2008-02-01 Jason Rumney <jasonr@gnu.org>
13108
13109 * w32term.c (w32_initialize): Don't call w32font_initialize.
13110
13111 * w32font.c (w32font_info): Remove subranges.
13112 (QCsubranges, Qmodern, Qswiss, Qroman): Remove.
13113 (QCfamily, Qmonospace, Qsans_serif, Qmono, Qsans, Qsans__serif)
13114 (Qraster, Qoutline, Qlatin, Qgreek, Qcoptic, Qcyrillic, Qarmenian)
13115 (Qhebrew, Qarabic, Qsyriac, Qnko, Qthaana, Qdevanagari, Qbengali)
13116 (Qgurmukhi, Qgujarati, Qoriya, Qtamil, Qtelugu, Qkannada)
13117 (Qmalayalam, Qsinhala, Qthai, Qlao, Qtibetan, Qmyanmar, Qgeorgian)
13118 (Qhangul, Qethiopic, Qcherokee, Qcanadian_aboriginal, Qogham)
13119 (Qrunic, Qkhmer, Qmongolian, Qsymbol, Qbraille, Qhan)
13120 (Qideographic_description, Qcjk_misc, Qkana, Qbopomofo, Qkanbun)
13121 (Qyi, Qbyzantine_musical_symbol, Qmusical_symbol, Qmathematical):
13122 New symbols.
13123 (font_callback_data): New struct.
13124 (w32font_list, w32font_match): Use it.
13125 (w32font_open): Don't populate subranges.
13126 (w32font_has_char): Use script Lisp symbols, not subrange bitmask.
13127 (w32font_encode_char): Always return unicode code-point as-is.
13128 (w32font_text_extents): Supply a transformation matrix to
13129 GetGlyphOutline. Never look up by glyph index. Avoid looping
13130 twice. Use unicode version of GetTexExtentPoint32 instead of
13131 glyph index version.
13132 (set_fonts_frame): Remove.
13133 (w32_enumfont_pattern_entity): Add frame parameter, use it to
13134 set frame parameter. Use backward compatible fake foundries.
13135 Save generic family in extra slot under QCfamily. Make width slot
13136 constant. Save QCspacing value. Save list of scripts instead of
13137 binary subranges.
13138 (w32_generic_family, logfonts_match, font_matches_spec): New functions.
13139 (add_font_entity_to_list): Use font_callback_data struct. Filter
13140 unwanted fonts.
13141 (add_one_font_entity_to_list): Use font_callback_data struct.
13142 (w32_registry): Default to iso10646_1.
13143 (fill_in_logfont): Use dpi from extra slot. Don't bother with
13144 string font registries. Don't fill in font name if it is a generic
13145 family name, fill family instead. Use spacing, family and script
13146 extra info to fill pitch, family and charset fields.
13147 (list_all_matching_fonts): Use font_callback_data struct.
13148 (unicode_range_for_char): Remove.
13149 (font_supported_scripts): New function.
13150 (w32font_initialize): Remove.
13151 (syms_of_w32font): Update which symbols are defined.
13152
13153 2008-02-01 Jason Rumney <jasonr@gnu.org>
13154
13155 * font.c (font_pixel_size): Reverse assq_no_quit args.
13156
13157 * w32term.h (FONT_WIDTH): Report max width, not average.
13158 (FONT_MAX_WIDTH): Remove.
13159 (FONT_AVG_WIDTH): New macro.
13160
13161 * xfaces.c (Fx_list_fonts) [WINDOWSNT]: Remove Windows only
13162 redefinition of FONT_WIDTH.
13163
13164 * w32term.c (x_font_min_bounds): Use FONT_AVG_WIDTH.
13165 (w32_cache_char_metrics): Use FONT_WIDTH.
13166
13167 * w32fns.c (w32_load_system_font, w32_list_fonts): Use FONT_AVG_WIDTH.
13168
13169 2008-02-01 Jason Rumney <jasonr@gnu.org>
13170
13171 * w32font.c (w32font_open): Make lfHeight negative.
13172
13173 * w32fns.c (x_default_font_parameter): Use new style font name.
13174 (Fx_create_frame, x_create_tip_frame): Initialize resx and resy.
13175
13176 2008-02-01 Jason Rumney <jasonr@gnu.org>
13177
13178 * w32font.c (QCsubranges): New symbol.
13179 (w32font_open, w32font_has_char): Get subranges from subproperty
13180 of extra.
13181 (w32_enumfont_pattern_entity): Set subranges as subproperty of extra.
13182 (syms_of_w32font): Define :subranges symbol.
13183
13184 * font.c (font_put_extra): Expose externally.
13185
13186 * font.h (font_put_extra): Move declaration from font.c.
13187
13188 * font.c (Ffont_get): Use font driver to determine otf capability.
13189 (adjust_anchor): Check if driver defines anchor_point before using.
13190
13191 * w32font.c (w32font_open): Handle size, height and pixel_size better.
13192 (w32font_draw): Use options.
13193 (w32_enumfont_pattern_entity): Set size to 0 for scalable fonts.
13194 Fix detection of truetype fonts.
13195 (registry_to_w32_charset): Handle charsets other than iso8859-1
13196 expressed as lisp symbols.
13197 (w32_registry): Express charset as lisp symbol.
13198 (fill_in_logfont): Reverse pixel and point height logic.
13199 Don't set width here. Set quality to default.
13200
13201 * w32fns.c (w32_load_system_font): Fix detecting FIXED_PITCH fonts.
13202 (x_to_w32_font): Fill in lfPitchAndFamily correctly.
13203
13204 * xterm.c (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
13205 Remove redundant loop and allocation.
13206
13207 * makefile.w32-in (font.o, w32font.o): New objects.
13208 (fontset.o, xdisp.o, xfaces.o, w32fns.o, w32term.o): Depend on font.h.
13209 (FONTOBJ): New group of objects conditioned on USE_FONT_BACKEND.
13210
13211 * xdisp.c (fill_composite_glyph_string): Make the first arg to
13212 STORE_XCHARB a valid l-value.
13213
13214 * w32term.c (w32_native_per_char_metric): Swap width and rbearing
13215 calculations for non-Truetype fonts.
13216 (x_draw_glyph_string): Sync with xterm.c.
13217 (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
13218 Remove redundant code.
13219 (w32_initialize) [USE_FONT_BACKEND]: Call w32font_initialize.
13220
13221 * w32term.h (w32_output_data) [USE_FONT_BACKEND]: Add fontp member.
13222 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro from xterm.h.
13223
13224 * w32fns.c [USE_FONT_BACKEND]: Port font backend changes from xfns.c.
13225 (x_to_w32_charset, w32_to_x_charset): Expose externally.
13226
13227 * w32font.c: New file for w32 font backend.
13228
13229 2008-02-01 Kenichi Handa <handa@m17n.org>
13230
13231 * term.c: Don't include "buffer.h" twice.
13232
13233 2008-02-01 Kenichi Handa <handa@m17n.org>
13234
13235 * character.c (Funibyte_string): New function.
13236 (syms_of_character): Defsubr it.
13237
13238 2008-02-01 Jason Rumney <jasonr@gnu.org>
13239
13240 * w32term.c [USE_FONT_BACKEND]:
13241 (x_get_font_repertory, note_mouse_movement, x_set_mouse_face_gc)
13242 (x_set_glyph_string_clipping, x_set_glyph_string_clipping_exactly)
13243 (x_draw_glyph_string, x_draw_glyph_string_foreground)
13244 (x_draw_composite_glyph_string_foreground, x_new_fontset2)
13245 (x_free_frame_resources): Sync with xterm.c.
13246
13247 2008-02-01 Andreas Schwab <schwab@suse.de>
13248
13249 * lread.c (read1): Use CHAR_TABLE_STANDARD_SLOTS to validate
13250 char-table size.
13251
13252 2008-02-01 Kenichi Handa <handa@m17n.org>
13253
13254 * font.c (check_otf_features): Define it regardless of HAVE_LIBOTF.
13255
13256 2008-02-01 Kenichi Handa <handa@m17n.org>
13257
13258 * ftfont.c (ftfont_driver): Delete font_otf_gsub and
13259 font_otf_gpos, add font_drive_otf.
13260
13261 * fontset.c (fontset_find_font): Pay attention to font size
13262 specified for a font.
13263 (reorder_font_vector): Check contents of font_def.
13264
13265 * font.c (struct otf_list): Delete it.
13266 (otf_list): Make it a lisp variable.
13267 (otf_open): Use lispy otf_list.
13268 (generate_otf_features): Rename from parse_gsub_gpos_spec.
13269 (check_otf_features): New function.
13270 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
13271 New functions.
13272 (font_drive_otf): New function merging font_otf_gsub and
13273 font_otf_gpos.
13274 (font_open_for_lface): New arg spec. Change argument order.
13275 (font_load_for_face): Adjust for the change of font_open_for_lface.
13276 (Ffont_drive_otf): New function merging Ffont_otf_gsub and
13277 Ffont_otf_gpos.
13278 (syms_of_font): Staticpro otf_list. Delete defsubr of
13279 Sfont_otf_gsub and Sfont_otf_gpos. Defsubr Sfont_drive_otf.
13280
13281 * xfaces.c (set_font_frame_param): Adjust for the change of
13282 font_open_for_lface.
13283
13284 * font.h (font_open_for_lface): Adjust prototype.
13285 (struct font_driver): Delete members otf_gsub and otf_gpos, add
13286 member otf_drive.
13287 (font_otf_gsub, font_otf_gpos): Delete externs.
13288 (font_drive_otf): Extern it.
13289
13290 2008-02-01 Kenichi Handa <handa@m17n.org>
13291
13292 * font.c (font_at): If the window W is not on a window system,
13293 return Qnil.
13294
13295 * coding.c (produce_chars, encode_coding): Don't call
13296 insert_from_gap if no characters to produce.
13297
13298 2008-02-01 Kenichi Handa <handa@m17n.org>
13299
13300 * fontset.c (free_realized_fontsets): Avoid unnecessary call of
13301 Fclear_face_cache.
13302
13303 * xfaces.c (face_for_font): Check also face->font==font->font.font.
13304
13305 2008-02-01 Miles Bader <miles@gnu.org>
13306
13307 * emacs.c (main): Change default value of `enable_font_backend' to 1.
13308 Parse "--disable-font-backend" option.
13309 (standard_args): Add "--disable-font-backend" option.
13310
13311 2008-02-01 Kenichi Handa <handa@m17n.org>
13312
13313 * fontset.c (fontset_find_font): New function.
13314 (fontset_font): Use fontset_find_font.
13315 (make_fontset_for_ascii_face): Don't set face ID in rfont_def.
13316 Register the specified font for all Latin characters.
13317 (new_fontset_from_font): Register the specified font for all Latin
13318 characters.
13319 (dump_fontset): For a realized fontset, include the base fontset
13320 name in the returned vector.
13321
13322 2008-02-01 Kenichi Handa <handa@m17n.org>
13323
13324 * character.h (CHAR_STRING): Cast C to unsigned on calling
13325 char_string.
13326
13327 * character.c (char_string): Type of arg C changed to unsigned.
13328 Signal an error if C is an invalid character code.
13329
13330 * editfns.c (general_insert_function, Fchar_to_string):
13331 Use CHARACTERP, not INTEGERP.
13332
13333 2008-02-01 Kenichi Handa <handa@m17n.org>
13334
13335 * character.h (MIN_MULTIBYTE_LEADING_CODE)
13336 (MAX_MULTIBYTE_LEADING_CODE): New macros.
13337
13338 * regex.c (analyse_first): Fix for multibyte characters in "case
13339 charset:" and "case categoryspec:".
13340
13341 2008-02-01 Andreas Schwab <schwab@suse.de>
13342
13343 * Makefile.in (LIBES): Move standard libraries to the end.
13344
13345 2008-02-01 Kenichi Handa <handa@m17n.org>
13346
13347 * alloc.c (Fgarbage_collect): If nextb->text->inhibit_shrinking is
13348 nonzero, don't shrink the buffer nextb.
13349
13350 * buffer.h (struct buffer_text): New member inhibit_shrinking.
13351
13352 * coding.c (coding_alloc_by_making_gap): New arg offset.
13353 (alloc_destination): Call coding_alloc_by_making_gap with the arg
13354 offset.
13355 (decode_coding_iso_2022): Update coding->safe_charsets.
13356 (decode_coding_gap): Temporarily set
13357 current_buffer->text->inhibit_shrinking to 1.
13358
13359 2008-02-01 Kenichi Handa <handa@m17n.org>
13360
13361 * xterm.c (x_draw_composite_glyph_string_foreground): Fix
13362 indexing into elements of s->cmp and s->char2b.
13363
13364 2008-02-01 Juanma Barranquero <lekktu@gmail.com>
13365
13366 * regex.c (RE_STRING_CHAR_AND_LENGTH) [! emacs]: Add missing arg `len'.
13367
13368 2008-02-01 Kenichi Handa <handa@m17n.org>
13369
13370 * regex.c (GET_CHAR_BEFORE_2, GET_CHAR_AFTER): Check the variable
13371 target_multibyte instead of multibyte.
13372 (re_match_2_internal): Call bcmp_translate with target_multibyte.
13373 (bcmp_translate): Change the argument name from multibyte to
13374 target_multibyte.
13375
13376 2008-02-01 Kenichi Handa <handa@m17n.org>
13377
13378 These changes are to compile a regexp into a pattern that can be
13379 used both for multibyte and unibyte targets.
13380
13381 * Makefile.in (search.o): Depend on charset.h.
13382
13383 * character.c (multibyte_char_to_unibyte_safe): New function.
13384
13385 * search.c: Include "charset.h".
13386 (compile_pattern_1): Delete argument multibyte. Don't set
13387 cp->buf.target_multibyte here. Set cp->buf.charset_unibyte.
13388 (compile_pattern): Don't compare cp->buf.target_multibyte.
13389 Compare cp->buf.charset_unibyte.
13390 (compile_pattern): Set cp->buf.target_multibyte.
13391
13392 * lisp.h (multibyte_char_to_unibyte_safe): Extern it.
13393
13394 * regex.h (struct re_pattern_buffer): New member charset_unibyte.
13395
13396 * regex.c (RE_STRING_CHAR, RE_STRING_CHAR_AND_LENGTH): New arg
13397 multibyte. Change callers.
13398 (RE_CHAR_TO_MULTIBYTE, RE_CHAR_TO_UNIBYTE): New macros.
13399 (MAKE_CHAR_MULTIBYTE, MAKE_CHAR_UNIBYTE): Delete. Change callers
13400 to use RE_CHAR_TO_MULTIBYTE and RE_CHAR_TO_UNIBYTE, respectively.
13401 (SETUP_ASCII_RANGE, SETUP_UNIBYTE_RANGE): New macros.
13402 (SETUP_MULTIBYTE_RANGE): Generate a more compact range_table.
13403 (regex_compile): Make the compiled pattern usable both for
13404 multibyte and unibyte targets.
13405 (analyse_first): Make the fastmap usable both for multibyte and
13406 unibyte targets.
13407 (TRANSLATE_VIA_MULTIBYTE): Delete.
13408 (re_match_2_internal): Pay attention to the case that the
13409 multibyteness of bufp and target may be different.
13410
13411 2008-02-01 Kenichi Handa <handa@m17n.org>
13412
13413 * xdisp.c (x_produce_glyphs): When a font is not found, make the
13414 empty box occupy at least one column width.
13415
13416 2008-02-01 Miles Bader <miles@gnu.org>
13417
13418 * Makefile.in: Remove redundant HAVE_XFT clause.
13419
13420 2008-02-01 Kenichi Handa <handa@m17n.org>
13421
13422 * xrdb.c (x_load_resources): Setup the default fontSet X resource.
13423
13424 2008-02-01 Kenichi Handa <handa@m17n.org>
13425
13426 * fontset.c (Finternal_char_font): Fix for the case of POSITION
13427 being nil.
13428
13429 2008-02-01 Kenichi Handa <handa@m17n.org>
13430
13431 * xftfont.c (xftfont_open): Call FcConfigSubstitute.
13432
13433 2008-02-01 Kenichi Handa <handa@m17n.org>
13434
13435 * xftfont.c (xftfont_open): Don't enable antialias explicitly.
13436
13437 2008-02-01 Kenichi Handa <handa@m17n.org>
13438
13439 * search.c (simple_search): Fix previous change.
13440
13441 2008-02-01 Kenichi Handa <handa@m17n.org>
13442
13443 * xftfont.c (ftfont_font_format): Extern declaration.
13444
13445 * frame.c (x_set_font): Fix the second arg to fs_query_fontset.
13446
13447 * xfont.c (xfont_driver): Initialize ftfont_driver.type by 0.
13448 (xfont_list): Don't directly use Lisp_Object as an operand of &&.
13449
13450 * ftfont.c (ftfont_driver): Initialize ftfont_driver.type by 0.
13451 (ftfont_font_format): Fix previous change.
13452
13453 * font.h (Ffont_xlfd_name): EXFUN it.
13454
13455 * font.c (font_parse_xlfd): Fix the array size of `f'.
13456 (register_font_driver): Use EQ to compare driver->type.
13457
13458 * xfns.c (xic_create_xfontset2) [USE_FONT_BACKEND]: New function.
13459 (create_frame_xic) [USE_FONT_BACKEND]: Call xic_create_xfontset2.
13460 (xic_set_xfontset) [USE_FONT_BACKEND]: Likewise.
13461
13462 2008-02-01 Kenichi Handa <handa@m17n.org>
13463
13464 * ftfont.c (ftfont_pattern_entity, ftfont_list_generic_family)
13465 (ftfont_list, ftfont_font_format): Check if FC_FONTFORMAT is defined.
13466
13467 2008-02-01 Kenichi Handa <handa@m17n.org>
13468
13469 * xfont.c (xfont_open): Set font->format.
13470
13471 * xftfont.c (xftfont_open): Set font->format.
13472
13473 * ftfont.c (ftfont_pattern_entity): Add fontformat in a pattern.
13474 (ftfont_list): Include FC_FONTFORMAT in FcObject.
13475 (ftfont_open): Set font->format.
13476 (ftfont_font_format): New function.
13477
13478 * font.h (struct font): New member format.
13479
13480 * font.c (Qopentype): New variable.
13481 (syms_of_font): Defsym it.
13482 (Fquery_font): Change the format of the last element of the return
13483 value.
13484
13485 2008-02-01 Kenichi Handa <handa@m17n.org>
13486
13487 * xfns.c (xic_create_xfontset): Try the default fontset name as a
13488 last resort.
13489
13490 2008-02-01 Kenichi Handa <handa@m17n.org>
13491
13492 * coding.c (detect_coding_charset): Fix detection of multi-byte
13493 charset.
13494
13495 2008-02-01 Bob Halley <halley@play-bow.org> (tiny change)
13496
13497 * ccl.c (ccl_driver): If DST is NULL, set ccl->produced to 0.
13498
13499 2008-02-01 Kenichi Handa <handa@m17n.org>
13500
13501 * xdisp.c (get_next_display_element): Set it->face_id for the
13502 first component of a composition.
13503 (x_produce_glyphs): Check if the font is changed or not for composition.
13504
13505 2008-02-01 Kenichi Handa <handa@m17n.org>
13506
13507 * fontset.c (Qlatin): New variable.
13508 (syms_of_fontset): Define it as a lisp symbol.
13509 (Fset_fontset_font): If TARGET is `latin', use FONT_SPEC for ASCII.
13510
13511 2008-02-01 Kenichi Handa <handa@m17n.org>
13512
13513 * font.c (font_unparse_fcname): Pay attention to the case that
13514 some of font property is a null string.
13515
13516 2008-02-01 Kenichi Handa <handa@m17n.org>
13517
13518 * term.c: Include "composite.h".
13519 (encode_terminal_code): Output all components of composition.
13520 Check the size of encode_terminal_src.
13521 (produce_glyphs): For composition, call produce_composite_glyph.
13522 (append_composite_glyph, produce_composite_glyph): New functions.
13523
13524 * xdisp.c (x_produce_glyphs): In handling composition, if a font
13525 is not found, get font_info from the current ascii face.
13526
13527 2008-02-01 Kenichi Handa <handa@m17n.org>
13528
13529 * fileio.c (Finsert_file_contents): On replacing, temporarily bind
13530 buffer-file-name to Qnil before calling insert_from_buffer.
13531
13532 * font.c (font_unparse_fcname): Pay attention to the case that
13533 foundry is a null string.
13534
13535 2008-02-01 Kenichi Handa <handa@m17n.org>
13536
13537 * ftfont.c (ftfont_list): Allow registry "unicode-sip".
13538
13539 * font.c (Qunicode_sip): New variable.
13540 (syms_of_font): Declare it as a Lisp symbol.
13541
13542 * font.h (Qunicode_sip): Extern it.
13543
13544 2008-02-01 Kenichi Handa <handa@m17n.org>
13545
13546 * composite.c (get_composition_id): Pay attention to TAB component.
13547
13548 * xterm.c (x_draw_composite_glyph_string_foreground): Don't draw
13549 TAB. Adjust for the change of s->char2b which always points to
13550 the first element of allocated memory.
13551
13552 * xftfont.c (xftfont_text_extents): Fix calculation of descent value.
13553
13554 * xdisp.c (handle_composition_prop): Set it->c to the first
13555 non-TAB component.
13556 (fill_composite_glyph_string): Change argument.
13557 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the above change.
13558 (x_produce_glyphs): Fix handling of left/right padding.
13559
13560 2008-02-01 Kenichi Handa <handa@m17n.org>
13561
13562 * coding.c (detect_coding_system): Fix for handling off
13563 inhibit_iso_escape_detection. Fix for the case that no coding
13564 system is defined for a specific coding category.
13565
13566 2008-02-01 Kenichi Handa <handa@m17n.org>
13567
13568 * font.c (font_matching_entity): Delete unused local var.
13569
13570 * xftfont.c (xftfont_open): Call XftDefaultSubstitute before
13571 opening a font.
13572
13573 * fileio.c (Finsert_file_contents): On recovering a file, assume
13574 Unix-like eol.
13575 (choose_write_coding_system): On auto-saving a file, force
13576 Unix-like eol.
13577
13578 * coding.c (setup_coding_system): Fix setting of
13579 coding->common_flags based on eol_type.
13580 (coding_inherit_eol_type): If PARENT is not nil, be sure to
13581 inherit from it.
13582
13583 2008-02-01 Kenichi Handa <handa@m17n.org>
13584
13585 * alloc.c (NSTATICS): Increas to 0x600.
13586
13587 2008-02-01 Kenichi Handa <handa@m17n.org>
13588
13589 * ftfont.c (ftfont_driver): Set ftfont_driver.match to ftfont_match.
13590 (ftfont_list): Don't check :name property.
13591 (ftfont_match): New function.
13592 (ftfont_pattern_entity): If the pattern doesn't contain
13593 FC_SPACING, don't assume FC_MONO.
13594
13595 * font.h (struct font_driver): New member `match'.
13596 (font_update_drivers): Adjust prototype.
13597
13598 * font.c (font_parse_fcname, font_parse_name): Don't change :name
13599 property of FONT.
13600 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE, check_gstring): Define
13601 them unconditionally.
13602 (font_matching_entity): New function.
13603 (font_open_by_name): Try font_matching_entity if exact match is
13604 not found.
13605 (font_update_drivers): Delete the arg FONT. Return a list of
13606 actually used backends. Don't free faces, font caches here.
13607 Don't store data in frame parameters. Don't call x_set_font.
13608 (Ffont_spec): Store :name property as is.
13609 (Ffont_get): Check HAVE_LIBOTF before calling font_otf_capability.
13610 (Ffont_otf_gsub): Call font->driver->otf_gsub instead of font_otf_gsub.
13611 (Ffont_otf_gpos): Call font->driver->otf_gpos instead of font_otf_gpos.
13612 (Ffont_otf_alternates): Check if the driver has otf_gsub function.
13613 Call font->driver->otf_gsub instead of font_otf_gsub.
13614
13615 * frame.c (x_set_font_backend): Do more works that were done in
13616 font_update_drivers before.
13617
13618 * xfont.c (xfont_match): New function.
13619 (xfont_driver): Set xfont_driver.match to xfont_match.
13620 (xfont_draw): Set font in GC if necessary.
13621
13622 * ftxfont.c (ftxfont_match): New function.
13623 (syms_of_ftxfont): Set ftxfont_driver.match to ftxfont_match.
13624
13625 * xftfont.c (xftfont_match): New function.
13626 (syms_of_xftfont): Set xftfont_driver.match to xftfont_match.
13627
13628 2008-02-01 Kenichi Handa <handa@m17n.org>
13629
13630 * font.h (struct font): New member scalable.
13631 (struct font_driver): New arg ALTERANTE_SUBST to otf_gsub.
13632 (font_otf_gsub): Adjust prototype.
13633
13634 * font.c (font_otf_capability): Fix handling of the default langsys.
13635 (parse_gsub_gpos_spec): Change type to void. New arg nbytes.
13636 Check the contents of SPEC.
13637 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE): New macros.
13638 (check_gstring): New function.
13639 (REPLACEMENT_CHARACTER): New macro.
13640 (font_otf_gsub): New arg alternate_subst. Be sure to set all
13641 glyph codes of GSTRING.
13642 (font_otf_gpos): Be sure to set all glyph codes of GSTRING.
13643 (font_prepare_composition): Set cmp->glyph_len.
13644 (font_open_entity): Set font->scalable.
13645 (Ffont_get): Handle :otf property.
13646 (Ffont_otf_gsub, Ffont_otf_gpos, Ffont_otf_alternates): New
13647 functions.
13648 (Fquery_font): Use font->font.full_name.
13649 (syms_of_font): Defsubr Sfont_otf_gsub, Sfont_otf_gpos, and
13650 Sfont_otf_alternates.
13651
13652 * ftfont.c (ftfont_open): Set font->font.full_name and
13653 font->font.name properly. Fix calculation of font->font.height
13654 and font->min_width.
13655
13656 * ftxfont.c (ftxfont_create_gcs): New function.
13657 (ftxfont_draw_bitmap): Fix arg to ftfont_driver.get_bitmap.
13658 (ftxfont_draw_backgrond): Fix filling region.
13659 (ftxfont_default_fid): New function.
13660 (ftxfont_open): Set xfont->fid to the return value of
13661 ftxfont_default_fid.
13662 (ftxfont_prepare_face): Use ftxfont_create_gcs to create GCs.
13663 (ftxfont_done_face): Free only GCs that are created by
13664 ftxfont_create_gcs.
13665 (ftxfont_draw): If face->gc != s->gc, create proper GCs.
13666
13667 * xterm.c (x_set_glyph_string_clipping_exactly) [USE_FONT_BACKEND]:
13668 Clip to src->width, etc (not src->clip_XXX).
13669
13670 * xfns.c (x_create_tip_frame) [USE_FONT_BACKEND]: Handle
13671 FontBackend frame parameter.
13672
13673 2008-02-01 Kenichi Handa <handa@m17n.org>
13674
13675 * font.h (struct font_driver_list): New member `on'.
13676 (Fclear_font_cache): EXFUN it.
13677 (font_update_drivers): Extern it.
13678
13679 * font.c (font_unparse_fcname): Fix typo (swidth->width).
13680 (font_list_entities): Check driver_list->on.
13681 (register_font_driver): Initalize `on' member to 0.
13682 (font_update_drivers): New function.
13683 (Fclear_font_cache): Check driver_list->on.
13684
13685 * frame.h (Qfont_backend): Extern it.
13686 (x_set_font_backend): Extern it.
13687
13688 * frame.c (Qfont_backend): New variable.
13689 (frame_parms): New element for font-backend.
13690 (x_set_font_backend): New function.
13691
13692 * xfns.c (Fx_create_frame) [USE_FONT_BACKEND]: Handle
13693 FontBackend frame parameter.
13694 (x_frame_parm_handlers) [USE_FONT_BACKEND]: New element
13695 x_set_font_backend.
13696
13697 * xfont.c (xfont_list): Don't try listing by :name property if the
13698 name is not for XLFD.
13699
13700 2008-02-01 Kenichi Handa <handa@m17n.org>
13701
13702 * font.h (LGLYPH_FROM, LGLYPH_TO, LGLYPH_SET_FROM)
13703 (LGLYPH_SET_TO): New macros.
13704 (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WADJUST): Check if adjustment
13705 element of G is vector or not.
13706 (font_at): Extern it.
13707
13708 * font.c: Include window.h.
13709 (font_lispy_object): New function.
13710 (font_prepare_composition): Check LGLYPH_FORM (g) to detect the
13711 end of valid glyph.
13712 (font_close_object): Fix getting (struct font *).
13713 (font_at): New function.
13714 (Ffont_get): If FONT is a font-object, get entity from it.
13715 (Ffont_make_gstring): Initialize elements of glyphs with nil.
13716 (Ffont_fill_gstring): Use macro LGSTRING_XXX and LGLYPH_XXX. Fix
13717 range check.
13718 (Ffont_at): New function.
13719 (syms_of_font): Defsubr Sfont_at.
13720
13721 * xdisp.c (it_props): Move the entry for Qauto_composed to just
13722 before the entry for Qcomposition.
13723 (handle_auto_composed_prop): Call auto-composition-function with 4 args.
13724 (handle_composition_prop) [USE_FONT_BACKEND]: Set it->face_id from
13725 the font in gstring.
13726 (fill_composite_glyph_string) [USE_FONT_BACKEND]: Check
13727 LGLYPH_FORM (g) to detect the end of valid glyph.
13728 (x_produce_glyphs) [USE_FONT_BACKEND]: Don't update it->face_id if
13729 we are composing with gstring.
13730
13731 * xterm.c (x_draw_composite_glyph_string_foreground) [USE_FONT_BACKEND]:
13732 Check if adjustment is vector or not.
13733
13734 * Makefile.in (font.o): Make it depends on window.h.
13735
13736 2008-02-01 Kenichi Handa <handa@m17n.org>
13737
13738 * xterm.c (x_draw_composite_glyph_string_foreground): Check if
13739 adjustment is vector or not.
13740
13741 2008-02-01 Miles Bader <miles@gnu.org>
13742
13743 * character.h (CHECK_CHARACTER): Redefine in terms of CHECK_TYPE.
13744
13745 2008-02-01 Kenichi Handa <handa@m17n.org>
13746
13747 * font.h (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WIDTH, LGLYPH_WADJUST)
13748 (LGLYPH_SET_WIDTH): Adjusted for the change of LGLYPH format.
13749 (LGLYPH_ADJUSTMENT, LGLYPH_SET_ADJUSTMENT): New macros.
13750
13751 * font.c (font_merge_old_spec): Treat '*' in foundry as a wild card.
13752 (DEVICE_DELTA): Fix typo.
13753 (font_otf_gpos, font_prepare_compositio): Adjust for the change of
13754 LGLYPH format.
13755
13756 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
13757 the change of LGLYPH format.
13758
13759 2008-02-01 Kenichi Handa <handa@m17n.org>
13760
13761 * ftfont.c (ftfont_list): Fix typo.
13762 (ftfont_build_basic_charsets): Don't include letters with diacritics.
13763
13764 2008-02-01 Jan Djärv <jan.h.d@swipnet.se>
13765
13766 * xfaces.c (realize_non_ascii_face): Set face->extra to NULL.
13767
13768 * xftfont.c (xftfont_done_face): Call XftDrawDestroy only if
13769 xftface_info is non-NULL.
13770
13771 2008-02-01 Jan Djärv <jan.h.d@swipnet.se>
13772
13773 * ftfont.c (ftfont_list): Move misplaced #endif.
13774
13775 2008-02-01 Kenichi Handa <handa@m17n.org>
13776
13777 * ftfont.c (ftfont_list): Pay attention to the case that
13778 FC_CAPABILITY is not defined.
13779
13780 2008-02-01 Kenichi Handa <handa@m17n.org>
13781
13782 * xftfont.c (xftfont_open): Set charset related members to -1.
13783
13784 * ftfont.c (ftfont_list): Handle QCotf property. Fix handling of
13785 QCname.
13786 (ftfont_open): Set charset related members to -1.
13787
13788 * fontset.c (Votf_script_alist): New variable.
13789 (syms_of_fontset): Initialize it.
13790 (fontset_font): Delete unused variable.
13791
13792 * fontset.h (Votf_script_alist): Extern it.
13793
13794 * font.c (font_find_for_lface): Optimize code.
13795
13796 * font.h (font_close_object, font_merge_old_spec): Extern them.
13797
13798 2008-02-01 Kenichi Handa <handa@m17n.org>
13799
13800 * font.c (QCscalable, Qc, Qm, Qp, Qd): New variables.
13801 (syms_of_font): Initialize them.
13802 (font_pixel_size): Allow float value in dpi.
13803 (font_prop_validate_type): Delete.
13804 (font_prop_validate_symbol, font_prop_validate_style): Change argument.
13805 Change caller.
13806 (font_prop_validate_non_neg): Rename from font_prop_validate_size.
13807 (font_prop_validate_extra): Delete.
13808 (font_prop_validate_spacing): New function.
13809 (font_property_table): Add elements for all known properties.
13810 (get_font_prop_index): Rename from check_font_prop_name. New
13811 argument FROM. Change caller.
13812 (font_prop_validate): Validate all known properties.
13813 (font_put_extra): Delete argument force. Change caller.
13814 (font_expand_wildcards): Make it static. Fix the way of shrinking
13815 the possible range.
13816 (font_parse_xlfd): Delete argument merge. Fix handling of RESX,
13817 RESY, SPACING, and AVGWIDTH. Don't validate property values here.
13818 Change caller.
13819 (font_unparse_xlfd): Handle dpi, spacing, and scalable properties.
13820 (font_parse_fcname): Delete argument merge. Fix parsing of point
13821 size. Don't validate properties values here. Change caller.
13822 (font_unparse_fcname): Handle dpi, spacing, and scalable properties.
13823 (font_open_by_name): Delete unused variable.
13824 (Ffont_spec): Likewise. Validate property values.
13825 (Ffont_match_p): New function.
13826
13827 * font.h (QCscalable): Extern it.
13828 (font_parse_xlfd, font_parse_fcname): Adjust prototype.
13829
13830 * ftfont.c (ftfont_list): Handle properties dpi, spacing, and scalable.
13831
13832 * xfont.c (xfont_query_font): Adjust for the change of font_parse_xlfd.
13833 (xfont_list_pattern): New function.
13834 (xfont_list): Use xfont_list_pattern.
13835
13836 2008-02-01 Kenichi Handa <handa@m17n.org>
13837
13838 * font.h (Flist_fonts): EXFUN it.
13839
13840 2008-02-01 Jason Rumney <jasonr@gnu.org>
13841
13842 * w32term.c (w32_initialize): Add back smoothing_type and
13843 smoothing_enabled definitions.
13844
13845 2008-02-01 Kenichi Handa <handa@m17n.org>
13846
13847 * xterm.c (x_draw_glyph_string) [USE_FONT_BACKEND]: Check
13848 s->face->font on determining underline position.
13849
13850 2008-02-01 Kenichi Handa <handa@m17n.org>
13851
13852 * font.c (font_parse_xlfd): Fix generating of CHARSET_REGISTRY field.
13853 (font_has_char): Accept font-object too.
13854 (font_find_for_lface): Try at first with a size specified in face.
13855
13856 2008-02-01 Kenichi Handa <handa@m17n.org>
13857
13858 * frame.c (x_set_font) [USE_FONT_BACKEND]: Fix argument to
13859 font_open_by_name.
13860
13861 2008-02-01 Kenichi Handa <handa@m17n.org>
13862
13863 * font.h (QCspacing, QCdpi): Extern them.
13864 (enum font_spacing): New enum.
13865 (FONT_PIXEL_SIZE_QUANTUM): New macro.
13866
13867 * font.c (POINT_TO_PIXEL): Don't divide POINT by 10.
13868 (QCspacing, QCdpi): New variables.
13869 (syms_of_font): Initialize them.
13870 (font_pixel_size): New function.
13871 (font_put_extra): New function.
13872 (font_parse_xlfd): Fix handling of font size. Add QCdpi property
13873 in FONT_EXTRA.
13874 (font_parse_fcname): Handle enumerated values (e.g. bold).
13875 Fix handling font size. Add QCname property that contains only
13876 unknown properties.
13877 (font_score): Change argument. Change caller. Pay attention to
13878 FONT_PIXEL_SIZE_QUANTUM.
13879 (font_sort_entites, font_list_entities, font_find_for_lface)
13880 (font_open_for_lface, font_open_by_name): Fix handling of font size.
13881 (Ffont_spec): Add QCname property that contains only unknown properties.
13882
13883 * ftfont.c (ftfont_list): Use assq_no_quit, not Fassq. Don't
13884 include weight in listing pattern, instead check weight of each
13885 listed font. Don't include scalable in pattern. Pay attention to
13886 FONT_PIXEL_SIZE_QUANTUM.
13887
13888 2008-02-01 Kenichi Handa <handa@m17n.org>
13889
13890 * font.c (font_parse_fcname): Fix parsing of point-size.
13891 (font_unparse_fcname): Produce symbolic names for style properties.
13892 (font_list_entities): Handle float size correctly.
13893 (font_open_by_name): Prefer `normal' property values if the name
13894 doesn't specify them.
13895
13896 * fontset.c (Finternal_char_font): Use font_get_name, not
13897 Ffont_xlfd_name.
13898
13899 * ftfont.c (ftfont_pattern_entity): Use the numeric value 100 for
13900 FC_WEIGHT_REGULAR. Exclude FC_SIZE and FC_PIXEL_SIZE from listing
13901 pattern. Don't force scalable.
13902
13903 * xftfont.c (xftfont_open): For generating a name, start from
13904 96-byte buffer.
13905
13906 2008-02-01 Jan Djärv <jan.h.d@swipnet.se>
13907
13908 * frame.h (x_new_fontset2): Fix prototype.
13909
13910 2008-02-01 Kenichi Handa <handa@m17n.org>
13911
13912 * font.h (struct font_driver): Delete member parse_name.
13913 (font_match_p, font_get_spec, font_parse_fcname)
13914 (font_unparse_fcname): Extern them.
13915 (font_get_name): Adjust prototype.
13916
13917 * font.c (XLFD_SMALLNUM_MASK): Delete this macro.
13918 (XLFD_LARGENUM_MASK): Delete XLFD_ENCODING_MASK from it.
13919 (font_expand_wildcards): Fix handling ENCODING field. Avoid
13920 unnecessary checks for weight, slant, and swidth.
13921 (font_parse_fcname): New function.
13922 (font_unparse_fcname): New function.
13923 (font_parse_name): New function.
13924 (font_match_p): New function.
13925 (font_get_name): Change return value to Lisp string.
13926 (font_get_spec): New function.
13927 (Qunspecified, Qignore_defface): Don't extern them.
13928 (font_find_for_lface): Assume that LFACE is fully specified.
13929 (font_load_for_face): If lface[LFACE_FONT_INDEX] is an font
13930 object, use it for FACE.
13931 (font_open_by_name): Call Ffont_spec with QCname prop. Don't call
13932 driver->parse_name.
13933 (Ffont_spec): Call font_parse_name, not font_parse_xlfd.
13934
13935 * fontset.h (new_fontset_from_font) [USE_FONT_BACKEND]: Adjust
13936 prototype.
13937
13938 * fontset.c (new_fontset_from_font) [USE_FONT_BACKEND]: Delete
13939 argument F. Don't call Fnew_fontset. Instead, directly call
13940 make_fontset.
13941
13942 * frame.h (x_new_fontset2) [USE_FONT_BACKEND]: Adjust prototype.
13943
13944 * frame.c (x_set_font) [USE_FONT_BACKEND]: Adjust for the change
13945 of x_new_fontset2.
13946
13947 * ftfont.c (Qmonospace, Qsans_serif, Qserif, Qmono, Qsans)
13948 (Qsans__serif): New variables.
13949 (ftfont_generic_family_list): New variable.
13950 (syms_of_ftfont): Initialize the above variables.
13951 (ftfont_pattern_entity): Delete argument NAME.
13952 (ftfont_list_generic_family): New function.
13953 (ftfont_parse_name): Delete this function.
13954 (ftfont_list): Try generic family only when FcFontList found no font.
13955 (ftfont_list_family): Fix args to FcObjectSetBuild.
13956
13957 * xfaces.c (check_lface_attrs) [USE_FONT_BACKEND]: Accept font
13958 object in attrs[LFACE_FONT_INDEX].
13959 (set_lface_from_font_name): Cancel all changes for font-backend.
13960 (set_lface_from_font_and_fontset) [USE_FONT_BACKEND]: New
13961 function.
13962 (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]: Accept a
13963 font object in QCfont attribute.
13964 (set_font_frame_param) [USE_FONT_BACKEND]: Likewise.
13965 (realize_default_face) [USE_FONT_BACKEND]: Call
13966 set_lface_from_font_and_fontset.
13967
13968 * xfns.c (x_default_font_parameter) [USE_FONT_BACKEND]: Try also
13969 "fixed", and signal error here if no suitable font was found.
13970
13971 * xfont.c (xfont_parse_name): Delete this function.
13972
13973 * xftfont.c (xftfont_open): Change coding style of error
13974 handling. Generate fontconfig's fontname pattern.
13975
13976 * xterm.h (struct x_output) [USE_FONT_BACKEND]: New member fontp.
13977 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro.
13978
13979 * xterm.c (x_new_fontset2) [USE_FONT_BACKEND]: Change arguments.
13980 Both args FONTSET and FONT_OBJECT must be existing ones.
13981
13982 2008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13983
13984 * macterm.c (mac_set_unicode_keystroke_event): Don't use MAKE_CHAR.
13985
13986 2008-02-01 Kenichi Handa <handa@m17n.org>
13987
13988 * xfont.c (xfont_open, xfont_encode_char): Fix typo.
13989
13990 * font.h (struct font): Fix typo.
13991
13992 * font.c (enum xlfd_field_index): Rename XLFD_XXX_SIZE_INDEX to
13993 XLFD_XXX_INDEX.
13994 (enum xlfd_field_mask): New enum.
13995 (intern_font_field): Changed argument. Change caller. If digits
13996 are followed by non-digits, return a symbol.
13997 (font_expand_wildcards): New function.
13998 (font_parse_xlfd): Fix wildcard handling.
13999 (Ffont_spec): If :name is specified, reflect the info in the other
14000 properties.
14001
14002 * ftfont.c (ftfont_pattern_entity): Fix typo.
14003 (ftfont_list): Enforce FC_LANG in PATTERN to cancel the effect of
14004 locale.
14005
14006 2008-02-01 Kenichi Handa <handa@m17n.org>
14007
14008 * font.h (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Extern them.
14009
14010 * font.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move from ftfont.c.
14011 (font_unparse_xlfd): Fix argument type declaration. Append "*" if
14012 registry doesn't specify encoding part.
14013 (font_find_for_lface): Pay attention to LFACE_FONT_INDEX.
14014 (font_open_by_name): At first try parsing the name.
14015 (syms_of_font): Declare Qiso8859_1, Qiso10646_1, and Qunicode_bmp
14016 as Lisp symbols.
14017
14018 * fontset.c (reorder_font_vector): Pay attention to the case that
14019 the 3rd element of font_def is nil.
14020 (fontset_font): For the default fontset, append one more fontset
14021 elements for a script-based font specification. Don't add script
14022 attribute on finding a font.
14023 (new_fontset_from_font): Unconditionally set FONTSET_ASCII to the
14024 font name.
14025 (fontset_ascii_font): If a font can't be opened, return nil.
14026
14027 * ftfont.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move to font.c.
14028 (ftfont_pattern_entity): New function.
14029 (ftfont_get_cache): Assume that freetype_font_cache is already
14030 initialized.
14031 (ftfont_list): Handle the case that a file is specified in font
14032 name. Use ftfont_pattern_entity to generate entities.
14033 (ftfont_has_char): Check if the pattern contains FC_CHARSET.
14034 (syms_of_ftfont): Initialize freetype_font_cache.
14035
14036 * xftfont.c (xftfont_open): Make the font name fontconfig's
14037 style. Add BLOCK_INPUT and UNBLOCK_INPUT.
14038 (xftfont_close): Free font->font.name if not NULL.
14039
14040 * xfont.c (xfont_list): If script is specified for a font, return
14041 null_vector.
14042 (xfont_list_family): Declare argument type.
14043
14044 * xfaces.c (set_lface_from_font_name): If a font doesn't have a
14045 name, set LFACE_FONT (lface) to nil.
14046
14047 * xterm.c (x_new_fontset2): If an ASCII font couldn't be loaded,
14048 return Qnil.
14049
14050 2008-02-01 Kenichi Handa <handa@m17n.org>
14051
14052 * emacs.c (main): Check -enable-font-backend arg after the check of -nl.
14053 (standard_args): Add "-enable-font-backend".
14054
14055 2008-02-01 Kenichi Handa <handa@m17n.org>
14056
14057 * xftfont.c (xftfont_default_fid): Set fid_known to 1.
14058 (struct xftdraw_list, xftdraw_list): Delete them.
14059 (register_xftdraw, check_xftdraw): Delete them.
14060 (xftfont_prepare_face): Don't call register_xftdraw.
14061 (xftfont_done_face): Don't call check_xftdraw.
14062 (xftfont_draw): Get background color only when with_background is
14063 nonzero.
14064
14065 * xfont.c (xfont_encode_char): Fix calculation of char2b.
14066
14067 2008-02-01 Kenichi Handa <handa@m17n.org>
14068
14069 These changes are for the new font handling codes.
14070
14071 * Makefile.in (ALL_CFLAGS): Add @FREETYPE_CFLAGS@,
14072 @FONTCONFIG_CFLAGS@, and @LIBOTF_CFLAGS@.
14073 (LIB_X11_LIB): If HAVE_XFT is defined, set to @XFT_LIBS@.
14074 (FONTSRC, FONTOBJ): New variables.
14075 (obj): Add $(FONTOBJ).
14076 (SOME_MACHINE_OBJECTS): Lib_X11_Lib.
14077 (LIBES): Add @FREETYPE_LIBS@, @FONTCONFIG_LIBS@, and
14078 @LIBOTF_LIBS@.
14079 (font.o, ftfont.o, xfont.o, xftfont.o, ftxfont.o): New targets.
14080 (fontset.o, xdisp.o, xfaces.o, xfns.o, xterm.o): Depend on $(FONTSRC).
14081
14082 * font.h, font.c, xfont.c, ftfont.c, xftfont.c, ftxfont.c: New files.
14083
14084 * character.h (Vscript_representative_chars): Extern it.
14085
14086 * character.c (Vscript_representative_chars): New variable.
14087 (syms_of_character): Declare it as a Lisp variable.
14088
14089 * composite.c (get_composition_id) [USE_FONT_BACKEND]: If
14090 enable_font_backend is nonzero, accept the composition method
14091 COMPOSITION_WITH_GLYPH_STRING.
14092
14093 * composite.h (enum composition_method) [USE_FONT_BACKEND]: New
14094 enumeration COMPOSITION_WITH_GLYPH_STRING.
14095
14096 * dispextern.h (struct glyph_string) [USE_FONT_BACKEND]: New
14097 members clip_x, clip_y, clip_width, and clip_height.
14098 (struct face) [USE_FONT_BACKEND]: New members font_info and extra.
14099
14100 * emacs.c (main) [USE_FONT_BACKEND]: Handle arg
14101 --enable-font-backend. Call syms_of_font.
14102
14103 * fns.c (assoc_no_quit): New function.
14104
14105 * fontset.h (FONT_INFO_FROM_FACE): New macro.
14106 (face_for_font, new_fontset_from_font)
14107 (fontset_ascii_font) [USE_FONT_BACKEND]: Extern them.
14108
14109 * fontset.c [USE_FONT_BACKEND]: Include "font.h".
14110 (fontset_font, fontset_ascii, face_for_char)
14111 (make_fontset_for_ascii_face, Ffont_info)
14112 (Finternal_char_font) [USE_FONT_BACKEND]: If enable_font_backend
14113 is nonzero, use font-backend mechanism.
14114 (find_font_encoding): Make it non-static.
14115 (new_fontset_from_font, fontset_ascii_font) [USE_FONT_BACKEND]:
14116 New functions.
14117
14118 * frame.h (struct frame): New members resx and resy.
14119 (struct frame) [USE_FONT_BACKEND]: New member font_driver_list.
14120 (x_new_fontset2) [USE_FONT_BACKEND]: Extern it.
14121
14122 * frame.c [USE_FONT_BACKEND]: Include "font.h".
14123 (make_frame, x_set_font) [USE_FONT_BACKEND]: Use font-backend mechanism.
14124
14125 * lisp.h (assoc_no_quit): Extern it.
14126
14127 * xdisp.c: If USE_FONT_BACKEND is defined, include "font.h".
14128 Through out the file, use FONT_INFO_FROM_FACE instead of
14129 FONT_INFO_FROM_ID, use get_per_char_metric instead of
14130 rif->per_char_metric.
14131 (handle_composition_prop) [USE_FONT_BACKEND]: If the composition
14132 method is COMPOSITION_WITH_GLYPH_STRING, just set it->c to ' '.
14133 (get_glyph_face_and_encoding, fill_composite_glyph_string)
14134 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
14135 (x_produce_glyphs) [USE_FONT_BACKEND]: If enable_font_backend is
14136 nonzero, use font-backend mechanism.
14137 (get_per_char_metric): New function.
14138
14139 * xfaces.c [USE_FONT_BACKEND]: Include "font.h".
14140 (set_lface_from_font_name)
14141 (set_font_frame_param, free_realized_face)
14142 (prepare_face_for_display, clear_face_gcs)
14143 (Finternal_set_font_selection_order, realize_x_face)
14144 [USE_FONT_BACKEND]: If enable_font_backend is nonzero, use
14145 font-backend mechanism.
14146 (clear_face_cache) [USE_FONT_BACKEND]: Don't call clear_font_table.
14147 (load_face_font) [USE_FONT_BACKEND]: Abort.
14148 (face_symbolic_value, face_symbolic_weight, face_symbolic_slant)
14149 (face_symbolic_swidth, face_for_font) [USE_FONT_BACKEND]: New functions.
14150
14151 * xfns.c [USE_FONT_BACKEND]: Include "font.h".
14152 (x_default_font_parameter) [USE_FONT_BACKEND]: New function.
14153 (Fx_create_frame) [USE_FONT_BACKEND]: If enable_font_backend is
14154 nonzero, register all available font drivers. Call
14155 x_default_font_parameter for deciding a font.
14156 (x_create_tip_frame) [USE_FONT_BACKEND]: Likewise.
14157
14158 * xterm.c [USE_FONT_BACKEND]: Include "font.h".
14159 (x_set_mouse_face_gc, x_set_glyph_string_clipping)
14160 (x_set_glyph_string_clipping_exactly)
14161 (x_compute_glyph_string_overhangs)
14162 (x_draw_glyph_string_foreground)
14163 (x_draw_composite_glyph_string_foreground, x_draw_glyph_string)
14164 (x_free_frame_resources) [USE_FONT_BACKEND]: If
14165 enable_font_backend is nonzero, use font-backend mechanism.
14166 (x_new_fontset2) [USE_FONT_BACKEND]: New function.
14167
14168 2008-02-01 Kenichi Handa <handa@m17n.org>
14169
14170 * coding.c (coding_inherit_eol_type): If PARENT is nil, inherit from
14171 system_eol_type.
14172 (syms_of_coding): Initialize system_eol_type.
14173
14174 * process.c (Fset_process_coding_system): Inherit system's eol
14175 format if necessary.
14176
14177 2008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14178
14179 * macgui.h (USE_ATSUI): Don't enable on emacs-unicode-2 branch.
14180
14181 2008-02-01 Kenichi Handa <handa@m17n.org>
14182
14183 * coding.c (decode_eol): Pay attention to buffer relocation in
14184 del_range_2.
14185 (decode_coding): Call decode_eol before restoring undo_list.
14186
14187 2008-02-01 Kenichi Handa <handa@m17n.org>
14188
14189 * charset.c (Fdefine_charset_internal): Fix setting of
14190 emacs_mule_bytes.
14191
14192 2008-02-01 Kenichi Handa <handa@m17n.org>
14193
14194 * keyboard.c (read_char): Check if C is a character or not before
14195 looking up Vkeyboard_translate_table.
14196
14197 2008-02-01 Kenichi Handa <handa@m17n.org>
14198
14199 * coding.c (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Fix
14200 condition to terminate the loop.
14201
14202 2008-02-01 Kenichi Handa <handa@m17n.org>
14203
14204 * coding.c (produce_composition): Compare charbuf[i] instead of
14205 args[i] against 0.
14206 (Fterminal_coding_system): Use EQ to compare Lisp objects.
14207
14208 2008-02-01 Kenichi Handa <handa@m17n.org>
14209
14210 * coding.c (DECODE_COMPOSITION_START): If the source is short, set
14211 coding->result to CODING_RESULT_INSUFFICIENT_SRC.
14212 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK after the call of
14213 detect_coding.
14214 (emacs_mule_char): Handle old style (Emacs 20) component character
14215 of a composition.
14216 (DECODE_EMACS_MULE_COMPOSITION_RULE_20)
14217 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Fix parsing a
14218 composition rule.
14219 (decode_coding_emacs_mule): Handle invalid bytes correctly.
14220
14221 2008-02-01 Kenichi Handa <handa@m17n.org>
14222
14223 * coding.c (encode_coding_ccl): Allocate destination dynamically
14224 when necessary.
14225
14226 2008-02-01 Kenichi Handa <handa@m17n.org>
14227
14228 * ccl.c (Fccl_execute_on_string): Fix the condition of terminating
14229 the loop. When quitted, show a proper error message.
14230
14231 2008-02-01 Kenichi Handa <handa@m17n.org>
14232
14233 * xterm.c (x_set_glyph_string_clipping_exactly): Set
14234 src->clip_head and src->clip_tail temporarily instead of src->hl.
14235
14236 * ccl.c (CCL_WRITE_STRING): Handle a flag bit for multibyte
14237 character sequence.
14238 (Fccl_execute_on_string): Use ASET, not XSET.
14239
14240 2008-02-01 Kenichi Handa <handa@m17n.org>
14241
14242 * search.c (search_buffer): Fix handling of "\\" in a trivial regexp.
14243
14244 2008-02-01 Kenichi Handa <handa@m17n.org>
14245
14246 * coding.c (decode_coding): Fix the condition of terminating the
14247 decoding loop.
14248
14249 2008-02-01 Kenichi Handa <handa@m17n.org>
14250
14251 * data.c (Faset): On setting a character bigger than 255 in a
14252 unibyte string, signal an error instead of make the string multibyte.
14253
14254 2008-02-01 Kenichi Handa <handa@m17n.org>
14255
14256 * charset.c (map_charset_chars): Fix for ascii-compatible charset
14257 made by a mapping table.
14258
14259 2008-02-01 Kenichi Handa <handa@m17n.org>
14260
14261 * xdisp.c (fill_composite_glyph_string): Check s->face is NULL or
14262 not.
14263 (BUILD_COMPOSITE_GLYPH_STRING): If C is TAB, set s->face to NULL.
14264 (x_produce_glyphs): If CH is TAB, set cmp->offsets properly.
14265
14266 * xterm.c (x_draw_composite_glyph_string_foreground): Check
14267 s->face is NULL or not.
14268
14269 2008-02-01 Kenichi Handa <handa@m17n.org>
14270
14271 * xterm.c (x_set_glyph_string_clipping_exactly): New function.
14272 (x_draw_glyph_string): Fix drawing of right_overhang and
14273 left_overhang around/on cursor.
14274
14275 * xdisp.c (draw_glyphs): Fix inclusion of right_overwriting glyphs.
14276
14277 2008-02-01 Kenichi Handa <handa@m17n.org>
14278
14279 * xdisp.c (x_produce_glyphs): Handle composition with TAB.
14280
14281 2008-02-01 Kenichi Handa <handa@m17n.org>
14282
14283 * coding.c (Fdefine_coding_system_internal)
14284 (Fdefine_coding_system_alias): Avoid a duplicated element in
14285 Vcoding_system_alist.
14286
14287 2008-02-01 Kenichi Handa <handa@m17n.org>
14288
14289 * xterm.c (handle_one_xevent): Handle keysyms 0x1000000..0x10000FF.
14290
14291 * coding.c (Qcoding_system_define_form): New variable.
14292 (syms_of_coding): Intern and staticpro it.
14293 (Fcoding_system_p): Check Qcoding_system_define_form.
14294 (Fcheck_coding_system): Try to autoload the definition of CODING-SYSTEM.
14295
14296 * coding.h (CODING_SYSTEM_P): If ID is not available, call
14297 Fcoding_system_p.
14298 (CHECK_CODING_SYSTEM): If ID is not available, call
14299 Fcheck_coding_system.
14300 (CHECK_CODING_SYSTEM_GET_SPEC, CHECK_CODING_SYSTEM_GET_ID):
14301 Try also Fcheck_coding_system.
14302
14303 2008-02-01 Kenichi Handa <handa@m17n.org>
14304
14305 * coding.c (code_conversion_restore): GCPRO arg.
14306
14307 2008-02-01 Kenichi Handa <handa@m17n.org>
14308
14309 * character.c (lisp_string_width): Check multibyteness of STRING.
14310
14311 2008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14312
14313 * macterm.c (mac_encode_char): Call ccl_driver with the last arg
14314 Qnil. Use JIS_TO_SJIS instead of ENCODE_SJIS.
14315 (decode_mac_font_name): Use decode_coding_c_string instead of
14316 decode_coding.
14317 (x_load_font): Initialize fontp->fontset to -1. Set
14318 fontp->encoding_type.
14319
14320 2008-02-01 Kenichi Handa <handa@m17n.org>
14321
14322 * search.c (search_buffer): Give up BM search on case-fold-search
14323 if one of a target character has a case-equivalence of different
14324 byte length even if that target charcter is an ASCII.
14325 (simple_search): Fix calculation of byte length of matched text.
14326 (boyer_moore): Fix handling of case-equivalent multibyte characters.
14327
14328 2008-02-01 Kenichi Handa <handa@m17n.org>
14329
14330 * coding.c (decode_coding): Fix handling of invalid bytes.
14331
14332 2008-02-01 Kenichi Handa <handa@m17n.org>
14333
14334 * xterm.c (handle_one_xevent): Handle keysyms directly mapped to
14335 Unicode characters.
14336
14337 2008-02-01 Kenichi Handa <handa@m17n.org>
14338
14339 * coding.c (encode_coding_object): If a pre-write-conversion
14340 function makes a new buffer, kill it.
14341
14342 2008-02-01 Kenichi Handa <handa@m17n.org>
14343
14344 * coding.c (QCascii_compatible_p): New variable.
14345 (syms_of_coding): Initialize it.
14346 (ONE_MORE_BYTE, ONE_MORE_BYTE_NO_CHECK): Decrement `src' before
14347 calling string_char.
14348 (record_conversion_result): Add `default:' case.
14349 (coding_charset_list): Delete unused variable `coding_type'.
14350 (Fdefine_coding_system_internal): Add `ascii-compatible-p'
14351 property in the plist of the coding system.
14352 (Fcoding_system_put): Check QCascii_compatible_p.
14353
14354 2008-02-01 Miles Bader <miles@gnu.org>
14355
14356 * xfaces.c (Finternal_lisp_face_equal_p): Restore previously
14357 removed calculation of frame `f', as it's now used.
14358
14359 2008-02-01 Kenichi Handa <handa@m17n.org>
14360
14361 * Makefile.in (RUN_TEMACS): Include "-nl" if HAVE_SHM is defined.
14362 (emacs${EXEEXT}): Run $(RUN_TEMACS) unconditionally.
14363 (UNIDATA): New variable.
14364 (${lispsource}international/charprop.el): Depends on ${UNIDATA}.
14365 (bootstrap-emacs${EXEEXT}): Depends on charprop.el. Run
14366 $(RUN_TEMACS) unconditionally.
14367
14368 2008-02-01 Kenichi Handa <handa@m17n.org>
14369
14370 * Makefile.in (temacs${EXEEXT}): Build charprop.el if necessary.
14371 (admindir): New variable.
14372 ($(lispsource)international/charprop.el): New target.
14373
14374 2008-02-01 Miles Bader <miles@gnu.org>
14375
14376 * character.c (chars-in-region): Remove obsolete function.
14377 (syms_of_character): Remove its initialization.
14378
14379 2008-02-01 Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net>
14380
14381 * w32select.c (validate_coding_system)
14382 (setup_windows_coding_system): New functions.
14383 (convert_to_handle_as_coded, Fw32_get_clipboard_data): Use
14384 setup_windows_coding_system.
14385 (setup_config, Fw32_get_clipboard_data): Use
14386 validate_coding_system.
14387 (Fx_selection_exists): Move call to setup_config to a place
14388 where signals are allowed.
14389
14390 * lisp.h (Fcoding_system_base, Fcoding_system_eol_type)
14391 (Fcheck_coding_system): Add declarations.
14392
14393 2008-02-01 Kenichi Handa <handa@m17n.org>
14394
14395 * charset.c (load_charset_map_from_vector): Fix for the first iteration.
14396
14397 2008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14398
14399 * macfns.c (Fx_create_frame, x_create_tip_frame): Pass Lisp
14400 string as the second argument for x_new_fontset.
14401
14402 2008-02-01 Kenichi Handa <handa@m17n.org>
14403
14404 * coding.c (decode_coding_object): Use safe_call1 instead of call1.
14405 (encode_coding_object): Use safe_call instead of call2.
14406
14407 2008-02-01 Kenichi Handa <handa@m17n.org>
14408
14409 * fontset.c (Fset_fontset_font): Check family element of a given vector.
14410
14411 * Makefile.in (lisp): Include charprop.el.
14412
14413 2008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14414
14415 * macfns.c (Fx_create_frame, x_create_tip_frame): Fix crash.
14416 Not sure if it's unnecessary.
14417
14418 2008-02-01 Steven Tamm <steventamm@mac.com>
14419
14420 * macfns.c (Fx_create_frame, x_create_tip_frame): ifdef'd out
14421 some possibly unnecessary fontset checking code that crashed
14422 when creating a new frame.
14423
14424 2008-02-01 Kenichi Handa <handa@m17n.org>
14425
14426 * xfaces.c (merge_faces): Fix argument to lookup_derived_face and
14427 lookup_face.
14428
14429 * xdisp.c (Fformat_mode_line): Fix argument to lookup_named_face.
14430
14431 * fringe.c (draw_fringe_bitmap_1): Fix argument to lookup_named_face.
14432
14433 2008-02-01 Kenichi Handa <handa@m17n.org>
14434
14435 * coding.c: Cancel the change done in HEAD on 2008-02-01.
14436 (coding_charset_list): New function.
14437
14438 * coding.h (coding_charset_list): Extern it.
14439
14440 2008-02-01 Kenichi Handa <handa@m17n.org>
14441
14442 * fontset.c (Fset_fontset_font): Call find_font_encoding with
14443 concatenation of family and registry.
14444
14445 2008-02-01 Kenichi Handa <handa@m17n.org>
14446
14447 * character.h (BYTE8_STRING): Fix typo.
14448
14449 * editfns.c (Ftranslate_region_internal): Don't convert unibyte
14450 string to multibyte (sync to HEAD).
14451
14452 * casefiddle.c (casify_region): Handle changes in byte-length
14453 using replace_range_2 (sync to HEAD).
14454
14455 2008-02-01 Andreas Schwab <schwab@suse.de>
14456
14457 * chartab.c (map_char_table): GCPRO table and arg.
14458
14459 2008-02-01 Kenichi Handa <handa@m17n.org>
14460
14461 * syntax.c (skip_syntaxes): Return lispy 0 (not nil) if point is
14462 already at limit.
14463
14464 2008-02-01 Kenichi Handa <handa@m17n.org>
14465
14466 * fontset.c (fs_load_font): Use fast_string_match_ignore_case
14467 instead of fast_c_string_match_ignore_case.
14468 (find_font_encoding): Change argument to Lisp_Object. Use
14469 fast_string_match_ignore_case instead of
14470 fast_c_string_match_ignore_case. Change caller.
14471
14472 2008-02-01 Kenichi Handa <handa@m17n.org>
14473
14474 * xdisp.c (get_next_display_element): In unibyte case, decide to
14475 display in octal form by checking a character by
14476 UNIBYTE_CHAR_HAS_MULTIBYTE_P.
14477
14478 * charset.c (Fset_unibyte_charset): Setup unibyte_has_multibyte_table.
14479
14480 * character.c (unibyte_has_multibyte_table): New variable.
14481
14482 * character.h (unibyte_has_multibyte_table): Extern it.
14483 (UNIBYTE_CHAR_HAS_MULTIBYTE_P): New macro.
14484
14485 2008-02-01 Kenichi Handa <handa@m17n.org>
14486
14487 * coding.c (encode_coding_iso_2022): Fix handling of charset
14488 annotation.
14489
14490 2008-02-01 Kenichi Handa <handa@m17n.org>
14491
14492 * coding.c (setup_coding_system): If coding_system is nil, use
14493 Qundecided.
14494 (Fterminal_coding_system): Return nil if terminal coding system is
14495 `undecided'.
14496 (syms_of_coding): Define coding-system `undecided' here. Setup
14497 terminal_coding as `undecided'.
14498
14499 2008-02-01 Kenichi Handa <handa@m17n.org>
14500
14501 * xdisp.c (message_dolog, set_message_1): Call
14502 unibyte_char_to_multibyte with arg type int.
14503
14504 * lread.c (read1): Fix reading of a char-table.
14505
14506 * print.c (print_object): Include sub char-table in circularities
14507 detection.
14508
14509 2008-02-01 Kenichi Handa <handa@m17n.org>
14510
14511 * keymap.c (where_is_internal_2): Fix for the case that KEY is a cons.
14512 Append the found sequences in car of ARGS instead of prepending.
14513
14514 2008-02-01 Kenichi Handa <handa@m17n.org>
14515
14516 * fileio.c (report_file_error): Make a unibyte string from
14517 strerror (errorno).
14518 (Fsubstitute_in_file_name): Fix the arg to
14519 unibyte_char_to_multibyte. It is evaluated twice.
14520
14521 2008-02-01 Kenichi Handa <handa@m17n.org>
14522
14523 * charset.h (CHAR_CHARSET): Shortcut for ASCII case.
14524
14525 2008-02-01 Kenichi Handa <handa@m17n.org>
14526
14527 * coding.c (detect_coding_utf_16): Don't set detect_info->found if
14528 BOM is not found.
14529 (detect_coding, detect_coding_system): Optimization for ISO-2022
14530 when no 8-bit data is found.
14531
14532 2008-02-01 Jason Rumney <jasonr@gnu.org>
14533
14534 * w32fns.c (x_to_w32_font): Update to use new coding struct.
14535
14536 2008-02-01 Kenichi Handa <handa@m17n.org>
14537
14538 * charset.c (Fdeclare_equiv_charset, Fiso_charset): Fix handing of
14539 CHARS.
14540
14541 2008-02-01 Steven Tamm <steventamm@mac.com>
14542
14543 * macterm.c (mac_encode_char): Add charset argument and update
14544 to use encoding_type.
14545 (x_new_font, x_new_fontset): Merge in changes from xterm.c;
14546 switch to pure fontset.
14547 (decode_mac_font_name): Temporarily remove decoding.
14548 (x_font_name_to_mac_font_name): Temporarily remove encoding.
14549 (x_load_font): Temporarily remove encoding.
14550
14551 2008-02-01 Kenichi Handa <handa@m17n.org>
14552
14553 * xfaces.c (Fface_font): If frame is not on a window system,
14554 ignore CHARACTER arg. If HAVE_WINDOW_SYSTEM is not defined, don't
14555 refer to face->font.
14556 (split_font_name_into_vector, build_font_name_from_vector)
14557 (lookup_non_ascii_face, realize_non_ascii_face): Define them only
14558 when HAVE_WINDOW_SYSTEM is defined.
14559
14560 2008-02-01 Kenichi Handa <handa@m17n.org>
14561
14562 * xdisp.c (BUILD_GLYPH_STRINGS): Check if s is NULL.
14563 (x_produce_glyphs): Fix setting of members of cmp in case
14564 cmp->glyph_len is zero.
14565
14566 * fontset.c (Fset_fontset_font): Fix docstring.
14567 (Ffontset_info): Make it backward compatible. New arg ALL.
14568
14569 2008-02-01 Kim F. Storm <storm@cua.dk>
14570
14571 * process.c (read_process_output): Grow decoding_buf when needed;
14572 this could cause a crash in allocate_string and compact_small_strings.
14573
14574 2008-02-01 Kenichi Handa <handa@m17n.org>
14575
14576 * fileio.c (WRITE_BUF_SIZE): Delete this macro.
14577
14578 2008-02-01 Kenichi Handa <handa@m17n.org>
14579
14580 * coding.c (setup_coding_system): Set coding->common_flags
14581 correctly for raw-text.
14582 (consume_chars): On encoding unibyte text by raw-text, don't check
14583 multibyte form.
14584 (encode_coding): On encoding by raw-text, never use translation tables.
14585
14586 * fileio.c (e_write): Short cut for the case of no encoding.
14587
14588 2008-02-01 Kenichi Handa <handa@m17n.org>
14589
14590 * coding.c (detect_coding, detect_coding_system): Delete unused
14591 variables.
14592
14593 2008-02-01 Kenichi Handa <handa@m17n.org>
14594
14595 * coding.c (encode_coding_utf_8): Fix handling of raw-byte char.
14596 (consume_chars): Fix handling of 8-bit bytes in unibyte source.
14597
14598 2008-02-01 Kenichi Handa <handa@m17n.org>
14599
14600 * coding.c (Ffind_coding_systems_region_internal): Include
14601 raw-text and no-conversion in the result.
14602
14603 2008-02-01 Kenichi Handa <handa@m17n.org>
14604
14605 * fontset.c (find_font_encoding): Return `ascii' for unknown encoding.
14606 (load_font_get_repertory): Delete unnecessary check of ENCODING of
14607 FONT_DEF.
14608 (font_def_arg, add_arg, from_arg, to_arg): New args.
14609 (set_fontset_font): Change argument.
14610 (Fset_fontset_font): Fix for the case that TARGET is a script
14611 name and charset name.
14612 (new_fontset_from_font_name): Fix argument to Fnew_fontset.
14613
14614 2008-02-01 Kenichi Handa <handa@m17n.org>
14615
14616 * fontset.c (fontset_font): Rename from fontset_face. Change return
14617 value.
14618 (face_suitable_for_char_p, face_for_char): Adjust for the change
14619 of fontset_font.
14620 (make_fontset_for_ascii_face): Fix setting of the fontset element
14621 for ASCII.
14622 (Finternal_char_font): Use fontset_font instead of FACE_FOR_CHAR
14623 to get a font name.
14624 (Ffontset_info): Adjust for the change of fontset_font.
14625
14626 * coding.c (emacs_mule_char): Check invalid code more rigidly.
14627
14628 * character.h (LEADING_CODE_LATIN_1_MIN)
14629 (LEADING_CODE_LATIN_1_MAX): Delete these macros.
14630
14631 2008-02-01 Kenichi Handa <handa@m17n.org>
14632
14633 * editfns.c (check_translation): New function.
14634 (Ftranslate_region_internal): Handle M:N mapping.
14635
14636 2008-02-01 Kenichi Handa <handa@m17n.org>
14637
14638 * xfaces.c (xlfd_point_size): Set font->numeric[XLFD_PIXEL_SIZE].
14639
14640 2008-02-01 Kenichi Handa <handa@m17n.org>
14641
14642 * coding.c (DECODE_DESIGNATION): Set chars_96 to -1 instead of
14643 goto invalid_code.
14644 (decode_coding_iso_2022): Fix handling of invalid designation.
14645
14646 * fileio.c (Finsert_file_contents): Be sure to call unbind_to
14647 after calling code_conversion_save.
14648
14649 2008-02-01 Kenichi Handa <handa@m17n.org>
14650
14651 * xdisp.c (handle_auto_composed_prop): Fix Lisp_Object/int mixup.
14652
14653 * print.c (print_prune_string_charset): Fix Lisp_Object/int mixup.
14654
14655 * fontset.c: Include "intervals.h".
14656 (fontset_face): Fix comparing of Lisp_Objects.
14657 (free_face_fontset, new_fontset_from_font_name): Fix
14658 Lisp_Object/int mixup.
14659
14660 * editfns.c (Ftranslate_region_internal): Fix Lisp_Object/int mixup.
14661
14662 * coding.c: Add many prototypes for static functions.
14663 (get_translation_table): Allow max_lookup to be NULL.
14664 (decode_coding, Ffind_coding_systems_region_internal)
14665 (Funencodable_char_position, Fcheck_coding_systems_region): Call
14666 get_translation_table with max_lookup NULL.
14667
14668 2008-02-01 Kenichi Handa <handa@m17n.org>
14669
14670 * coding.c (get_translation_table): Declare it as Lisp_Object.
14671 (LOOKUP_TRANSLATION_TABLE): New macro.
14672 (produce_chars, consume_chars): Use LOOKUP_TRANSLATION_TABLE
14673 instead of CHAR_TABLE_REF.
14674
14675 2008-02-01 Kenichi Handa <handa@m17n.org>
14676
14677 * coding.c (MAX_ANNOTATION_LENGTH): Adjust for the change of
14678 annotation data format.
14679 (ADD_ANNOTATION_DATA, ADD_COMPOSITION_DATA, ADD_CHARSET_DATA):
14680 Change arguments FROM and TO to single argument NCHARS. Change caller.
14681 (decode_coding_utf_8, decode_coding_utf_16, decode_coding_emacs_mule)
14682 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
14683 (decode_coding_ccl, decode_coding_charset): Pay attention to
14684 coding->charbuf_used.
14685 (get_translation): New function.
14686 (produce_chars): New arguments translation_table and last_block.
14687 Translate characters here. Return number of carryover chars.
14688 Change caller.
14689 (produce_composition): New argument pos. Change caller.
14690 Adjust for the change of annotation data format.
14691 (produce_charset, produce_annotation): Likewise.
14692 (decode_coding, encode_coding): Don't call translate_chars.
14693 (consume_chars): New arg translation_table. Change caller.
14694 (translate_chars): Delete.
14695 (syms_of_coding): Make translation-table's number of extra slots 2.
14696
14697 2008-02-01 Kenichi Handa <handa@m17n.org>
14698
14699 * search.c (simple_search): Fix setting this_pos_byte in backward
14700 search.
14701
14702 * coding.c (detect_coding_emacs_mule): Fix counting of encoded
14703 byte sequence.
14704 (detect_coding_ccl): Fix setting of the variable valids.
14705
14706 2008-02-01 Kenichi Handa <handa@m17n.org>
14707
14708 * xterm.c (x_list_fonts): Fix the detection of an auto-scaled font.
14709
14710 * coding.c (decode_coding_utf_16): Fix handling of surrogate pair.
14711
14712 * editfns.c (Ftranslate_region_internal): Rename from
14713 Ftranslate_region. Accept a char-table in TABLE.
14714 (syms_of_editfns): Defsubr Stranslate_region_internal.
14715
14716 * xfaces.c (set_lface_from_font_name): If a font is specified for
14717 a frame, generate a fontset from the font.
14718 (build_scalable_font_name): If the scalable font is requested for
14719 a specific size, don't change that size.
14720 (try_font_list): Try a scalable font also in the case that a
14721 pattern string is specified.
14722
14723 2008-02-01 Kenichi Handa <handa@m17n.org>
14724
14725 * xfaces.c (Fface_font): New optional arg CHARACTER.
14726
14727 2008-02-01 Kenichi Handa <handa@m17n.org>
14728
14729 * charset.h (CHARSET_OFFSET): New macro.
14730
14731 2008-02-01 Kenichi Handa <handa@m17n.org>
14732
14733 * xterm.c (x_get_font_repertory): Fix for non-Unicode-bmp charset.
14734
14735 * fontset.c (fontset_face): Handle the case that repertory is a
14736 char-table.
14737 (find_font_encoding): Return nil for unknown encoding.
14738 (Fset_fontset_font): Ignore a font of unknown encoding.
14739
14740 2008-02-01 Kenichi Handa <handa@m17n.org>
14741
14742 * keymap.c (describe_vector): Handle default value of a char table.
14743
14744 * fontset.c (fontset_face): Handle fallback fonts correctly.
14745 (Ffontset_info): Return infomation about fallback fonts.
14746
14747 2008-02-01 Kenichi Handa <handa@m17n.org>
14748
14749 * fontset.c (FONTSET_DEFAULT): New macro.
14750 (FONTSET_ADD, fontset_add): Handle the case that range is nil.
14751 (Fset_fontset_font): Change the 2nd arg name to TARGET, and handle
14752 the case that it is nil.
14753 (dump_fontset): Call FONTSET_DEFAULT, not FONTSET_FALLBACK.
14754 (syms_of_fontset): Set char-table-extra-slots property of fontset to 9.
14755
14756 * charset.h (CHAR_CHARSET_P): Fix for the case that the method is
14757 subset or superset.
14758
14759 2008-02-01 Kenichi Handa <handa@m17n.org>
14760
14761 * emacs.c (main): Call init_charset after syms_of_XXX.
14762
14763 * charset.c (Vcharset_map_directory): Delete.
14764 (Vcharset_map_path): New variable.
14765 (load_charset_map_from_file): Use Vcharset_map_path instead.
14766 (init_charset): Initialize Vcharset_map_path.
14767 (syms_of_charset): Delete declaration of "charset-map-directory",
14768 add declaration of "charset-map-path".
14769
14770 2008-02-01 Kenichi Handa <handa@m17n.org>
14771
14772 * fns.c (string_char_to_byte, string_byte_to_char): Optimize for
14773 ASCII only string.
14774
14775 * fileio.c (Finsert_file_contents): Avoid detecting a code twice.
14776
14777 * coding.c (detect_coding_iso_2022): Fix handling of SS2 and SS3.
14778 (detect_coding, detect_coding_system): Treat '\0' as normal ASCII byte.
14779
14780 2008-02-01 Kenichi Handa <handa@m17n.org>
14781
14782 * coding.h (SJIS_TO_JIS2, JIS_TO_SJIS2): New macros.
14783
14784 * coding.c (QCmnemonic, QCdefalut_char)
14785 (QCdecode_translation_table, QCencode_translation_table)
14786 (QCpost_read_conversion, QCpre_write_conversion): New variables.
14787 (get_translation_table): Return a list of translation tables if
14788 necessary.
14789 (decode_coding): Call get_translation_table with ENCODEP 0.
14790 (char_encodable_p): If translation_table is non-nil, always call
14791 translate_char.
14792 (Fdefine_coding_system_internal): Accept list of translation
14793 tables as :encode-translation-table and :decode-translation-table.
14794 (Fcoding_system_put): New function.
14795 (syms_of_coding): Declare new symbols. Defsubr
14796 Scoding_system_put.
14797 (decode_coding_sjis, encode_coding_sjis): Handle 4th charset,
14798 typically JISX0212.
14799
14800 * charset.c (map_charset_chars): Fix arg to map_charset_chars in
14801 when the charset is superset type.
14802
14803 * character.c (translate_char): Accept list of translation tables.
14804
14805 2008-02-01 Kenichi Handa <handa@m17n.org>
14806
14807 * coding.h (enum coding_attr_index): New member coding_attr_trans_tbl.
14808 (CODING_ATTR_TRANS_TBL): New macro.
14809
14810 * coding.c (get_translation_table): New function.
14811 (translate_chars): Fix the bug of skipping annotation data.
14812 (decode_coding, encode_coding): Utilize get_translation_table.
14813 (char_encodable_p, Funencodable_char_position): Translate char if
14814 necessary.
14815 (Ffind_coding_systems_region_internal)
14816 (Fcheck_coding_systems_region): Setup translation table for encode
14817 in a coding system attribute vector in advance.
14818 (Fdefine_coding_system_internal): Allow a symbol as translation
14819 table. For shift-jis type coding system, allow 4th charset.
14820
14821 2008-02-01 Kenichi Handa <handa@m17n.org>
14822
14823 * coding.c (decode_coding_sjis): Check the first byte rigidly.
14824
14825 * xdisp.c (get_next_display_element): Pass -1 as POS to
14826 FACE_FOR_CHAR if displaying a C-string.
14827
14828 2008-02-01 Kenichi Handa <handa@m17n.org>
14829
14830 * composite.c (get_composition_id): Handle xoff and yoff in a
14831 composition rule.
14832
14833 * composite.h (COMPOSITION_DECODE_RULE): New arg xoff and yoff.
14834 (struct composition): New member lbearing and rbearing.
14835
14836 * xdisp.c (move_it_to): Optimize for the case (op & MOVE_TO_Y).
14837 (x_get_glyph_overhangs): Handle a composition glyph.
14838 (x_produce_glyphs): Setup lbearing and rbreaing for a composition glyph.
14839
14840 * xterm.c (x_compute_glyph_string_overhangs): Handle also a
14841 composition glyph.
14842
14843 2008-02-01 Kenichi Handa <handa@m17n.org>
14844
14845 * print.c: Include charset.h.
14846 (Vprint_charset_text_property): New variable.
14847 (Qdefault): Extern it.
14848 (PRINT_STRING_NON_CHARSET_FOUND)
14849 (PRINT_STRING_UNSAFE_CHARSET_FOUND): New macros.
14850 (print_check_string_result): New variable.
14851 (print_check_string_charset_prop): New function.
14852 (print_prune_charset_plist): New variable.
14853 (print_prune_string_charset): New function.
14854 (print_object): Call print_prune_string_charset if
14855 Vprint_charset_text_property is not t.
14856 (print_interval): Print nothing if interval->plist is nil.
14857 (syms_of_print): Declare Vprint_charset_text_property as a lisp
14858 variable. Init and staticpro print_prune_charset_plist.
14859
14860 2008-02-01 Kenichi Handa <handa@m17n.org>
14861
14862 * fontset.c (new_fontset_from_font_name): Use the specified font
14863 for all characters in the new fontset.
14864
14865 * macterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
14866 OBJECT args.
14867
14868 * xdisp.c (x_produce_glyphs): Call FACE_FOR_CHAR with POS and
14869 OBJECT args for composition too.
14870
14871 * w32term.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
14872 OBJECT args.
14873
14874 2008-02-01 Kenichi Handa <handa@m17n.org>
14875
14876 * dispextern.h (FACE_FOR_CHAR): New args POS and OBJECT.
14877
14878 * fontset.c (reorder_font_vector): Adjust for the change of
14879 FONT_DEF format.
14880 (fontset_face): New arg id. Change caller.
14881 (face_for_char): New args pos and object.
14882 (make_fontset_for_ascii_face): Adjust for the change of FONT_DEF format.
14883 (fs_query_fontset): Check NAME by Fassoc too.
14884 (Fset_fontset_font): Allow non-XLFD font name.
14885 (Ffontset_info): Adjust for the change of FONT_DEF format.
14886
14887 * fontset.h (face_for_char): Adjust prototype.
14888
14889 * xdisp.c (face_before_or_after_it_pos, get_next_display_element)
14890 (append_space, extend_face_to_end_of_line)
14891 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
14892 (x_produce_glyphs): Call FACE_FOR_CHAR with POS and OBJECT args.
14893
14894 * xfaces.c (compute_char_face): Call FACE_FOR_CHAR with
14895 POS and OBJECT args.
14896
14897 * xterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with
14898 POS and OBJECT args.
14899
14900 2008-02-01 Jason Rumney <jasonr@gnu.org>
14901
14902 * w32select.c (Fw32_set_clipboard_data): Avoid potential realloc
14903 of GlobalAlloc'ed memory.
14904
14905 2008-02-01 Kenichi Handa <handa@m17n.org>
14906
14907 * ccl.c (Fccl_execute_on_string): Fix the condition of loop.
14908
14909 * charset.h (charset_table_used): Delete extern.
14910
14911 * charset.c (charset_table_used): Make it static.
14912 (map_charset_chars): Fix args to c_function with.
14913
14914 * chartab.c (map_sub_char_table_for_charset): Fix args to
14915 c_function with.
14916
14917 * coding.h (enum coding_result_code): Delete
14918 CODING_RESULT_INSUFFICIENT_CMP, add CODING_RESULT_INVALID_SRC.
14919
14920 * coding.c (Qinsufficient_source, Qinconsistent_eol)
14921 (Qinvalid_source, Qinterrupted, Qinsufficient_memory): New variables.
14922 (Vlast_code_conversion_error): New variables.
14923 (syms_of_coding): DEFSYM or DEFVAR_LISP them.
14924 (ONE_MORE_BYTE): Record error if any instead of signaling an
14925 error. If non-ASCII multibyte char is found, return the negative
14926 value of the code. All callers changed to check it.
14927 (ONE_MORE_BYTE_NO_CHECK): Likewise.
14928 (record_conversion_result): New function. Change all codes setting
14929 coding->result to call this function.
14930 (detect_coding_utf_8, decode_coding_utf_8)
14931 (detect_coding_emacs_mule, detect_coding_sji, detect_coding_big5):
14932 Don't use the local variable incomplete.
14933 (emacs_mule_char): Change the second arg to `const'.
14934 (decode_coding): Fix of flushing out unprocessed data.
14935 (make_conversion_work_buffer): Fix making of a work buffer.
14936 (decode_coding_object): Return coding->dst_object.
14937
14938 * fontset.c (set_fontset_font): Fix args.
14939
14940 * lisp.h (CHARACTERBITS): Define as 22.
14941
14942 * process.c (send_process): Be sure to set coding->src_multibyte.
14943
14944 * xdisp.c (handle_auto_composed_prop): Fix setting of limit.
14945
14946 2008-02-01 Kenichi Handa <handa@m17n.org>
14947
14948 * xdisp.c (handle_auto_composed_prop): Give limit to
14949 Fnext_single_char_property_change.
14950
14951 2008-02-01 Kenichi Handa <handa@m17n.org>
14952
14953 * composite.c (syms_of_composite): Don't make the composition hash
14954 table weak.
14955
14956 * fontset.c (Fset_fontset_font): Fix docstring.
14957
14958 * lisp.h (detect_coding_system): Adjust prototype.
14959
14960 * fileio.c (kill_workbuf_unwind): Delete this function.
14961 (Finsert_file_contents): Adjust the call of detect_coding_system.
14962 Get conversion_buffer by code_conversion_save. Use the macro
14963 CODING_MAY_REQUIRE_DECODING. After decoding, update
14964 coding_system.
14965
14966 * coding.h (make_conversion_work_buffer): Delete extern.
14967 (code_conversion_save): Extern it.
14968
14969 * coding.c (enum iso_code_class_type): Delete ISO_carriage_return.
14970 (CODING_GET_INFO): Delete argument eol_type. Change callers.
14971 (decode_coding_utf_8): Don't do eol converion.
14972 (detect_coding_utf_16): Check coding->src_chars, not
14973 coding->src_bytes. Add heuristics for those that have no signature.
14974 (decode_coding_emacs_mule, decode_coding_iso_2022)
14975 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
14976 Don't do eol converion.
14977 (adjust_coding_eol_type): Return a new coding system.
14978 (detect_coding): Don't detect eol. Fix for utf-16 detection.
14979 (decode_eol): In case of CRLF->LF conversion, use del_range_2 on
14980 each change.
14981 (decode_coding): Pay attention to undo_list. Do eol conversion for
14982 all types of coding-systems (if necessary).
14983 (Vcode_conversion_work_buf_list): Delete it.
14984 (Vcode_conversion_reused_workbuf): Rename from
14985 Vcode_conversion_reused_work_buf.
14986 (Vcode_conversion_workbuf_name): New variable.
14987 (reused_workbuf_in_use): New variable.
14988 (make_conversion_work_buffer): Delete the arg DEPTH.
14989 (code_conversion_restore): Change argument to cons.
14990 (code_conversion_save): Delete the argument BUFFER. Change callers.
14991 (detect_coding_system): New argument src_chars. Change callers.
14992 Fix for utf-16 detection.
14993 (init_coding_once): Don't use ISO_carriage_return.
14994 (syms_of_coding): Initialize Vcode_conversion_workbuf_name and
14995 reused_workbuf_in_use.
14996
14997 2008-02-01 Kenichi Handa <handa@m17n.org>
14998
14999 * keymap.c (store_in_keymap): Pay attention to the case that idx
15000 is a cons specifying a character range.
15001
15002 2008-02-01 Kenichi Handa <handa@m17n.org>
15003
15004 * xdisp.c (handle_auto_composed_prop): Fix the case of returning
15005 HANDLED_RECOMPUTE_PROPS.
15006
15007 * coding.c (Fdefine_coding_system_internal): Fix checking of
15008 ascii compatibility.
15009
15010 2008-02-01 Kenichi Handa <handa@m17n.org>
15011
15012 * charset.c (find_charsets_in_text): Delete unused locale variable.
15013 (Fset_charset_priority): Update Vemacs_mule_charset_list too.
15014
15015 * coding.c (encode_coding_emacs_mule): Emit bytes with MSB.
15016 Resync charset_list to Vemacs_mule_charset_list.
15017
15018 * keymap.c (store_in_keymap): Pay attention to the case that idx
15019 is a cons specifying a character range.
15020
15021 2008-02-01 Kenichi Handa <handa@m17n.org>
15022
15023 * composite.c (update_compositions): Bind inhibit-read-only, etc
15024 to t before calling remove-list-of-text-properties.
15025
15026 * print.c (print_object): Always print ASCII chars as is.
15027
15028 2008-02-01 Kenichi Handa <handa@m17n.org>
15029
15030 * keymap.c (Fdefine_key): Fix handling of Lucid style event type list.
15031
15032 * fns.c (Fmapconcat, Fmapcar, Fmapc): Signal an error if SEQUENCE
15033 is a char table.
15034
15035 2008-02-01 Kenichi Handa <handa@m17n.org>
15036
15037 * syntax.c (skip_chars): Be sure to alloca char_ranges when necessary.
15038
15039 2008-02-01 Kenichi Handa <handa@m17n.org>
15040
15041 * xfaces.c (set_lface_from_font_name): Fix for the case that
15042 FONTNAME is not fontset name.
15043
15044 2008-02-01 Kenichi Handa <handa@m17n.org>
15045
15046 * fns.c (base64_encode_1): Fix previous change.
15047
15048 2008-02-01 Kenichi Handa <handa@m17n.org>
15049
15050 * fontset.c (set_fontset_font): New function.
15051 (Fset_fontset_font): If a font is specified for a charset, use
15052 map_charset_chars to store the font spec in a fontset.
15053
15054 2008-02-01 Kenichi Handa <handa@m17n.org>
15055
15056 * fontset.c (fontset_face): Create a fallback fontset on demand.
15057 (make_fontset): Don't create a fallback fontset here.
15058 (free_face_fontset): Free a fallback fontset (if any) too.
15059 (n_auto_fontsets): Delete this variable.
15060 (auto_fontset_alist): New variable.
15061 (new_fontset_from_font_name): Check auto_fontset_alist.
15062 (dump_fontset) [FONTSET_DEBUG]: Fully re-written.
15063 (Ffontset_list_all) [FONTSET_DEBUG]: New function.
15064 (syms_of_fontset): Initialize and staticpro auto_fontset_alist.
15065 Defsubr Sfontset_list_all.
15066
15067 2008-02-01 Kenichi Handa <handa@m17n.org>
15068
15069 * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
15070
15071 2008-02-01 Kenichi Handa <handa@m17n.org>
15072
15073 * fontset.c (Fnew_fontset): Check NAME more rigidly.
15074
15075 2008-02-01 Kenichi Handa <handa@m17n.org>
15076
15077 * editfns.c (Fgoto_char): Fix docstring.
15078
15079 2008-02-01 Kenichi Handa <handa@m17n.org>
15080
15081 * insdel.c (insert_from_gap): Adjust intervals correctly.
15082
15083 2008-02-01 Jason Rumney <jasonr@gnu.org>
15084
15085 * w32term.c (GLYPHSET, WCRANGE): Define if system headers don't.
15086 (pfnGetFontUnicodeRanges): New dynamically loaded function.
15087 (w32_initialize): Try to load it.
15088 (x_get_font_repertory): Use it if available.
15089 (w32_encode_char): Add shortcut for unicode output.
15090
15091 * w32fns.c (w32_load_system_font): Default charset to -1.
15092 (x_to_w32_charset): Match all fonts for unicode.
15093 (w32_to_x_charset): New parameter matching. Don't return partial
15094 or wildcard charsets.
15095 (w32_to_all_x_charsets): Don't return partial or wildcard charsets.
15096 (w32_codepage_for_font): Return CP_UNICODE for unicode.
15097 (w32_to_x_font): Match charset to real charset.
15098 (enum_font_cb2): Always list unicode versions.
15099
15100 * makefile.w32-in (temacs): Increase EMHEAP.
15101
15102 2008-02-01 Jason Rumney <jasonr@gnu.org>
15103
15104 * w32term.c (w32_encode_char): New charset parameter.
15105 font_info.encoding becomes encoding_type.
15106 (x_get_font_repertory): New function. Warning: stub only!
15107 (x_new_font): Return quickly if font already set.
15108 (x_new_fontset): fontsetname parameter is Lisp_Object.
15109 Use new fs_query_fontset. Try new_fontset_from_font_name.
15110 Use fontset_name for return value.
15111
15112 * w32term.h: Declare x_get_font_repertory.
15113
15114 * w32select.c (Fw32_set_clipboard_data): Use string_x_string_p in
15115 place of find_charset_in_text. Use encode_coding_object in place
15116 of encode_coding.
15117 (Fw32_get_clipboard_data): Use decode_coding_c_string in place of
15118 decode_coding.
15119
15120 * w32fns.c (Fx_create_frame, x_create_tip_frame): Use new version
15121 of x_new_fontset.
15122 (w32_load_system_font): Initialize charset as unicode.
15123 font_info.encoding becomes encoding_type.
15124 (w32_to_x_font): Use decode_coding_c_string in place of decode_coding.
15125 (x_to_w32_font): Use encode_coding_object in place of encode_coding.
15126 (syms_of_w32fns): Set get_font_repertory_func.
15127
15128 * w32console.c: Include character.h. Use terminal_encode_buffer
15129 from term.c.
15130 (write_glyphs): Use new version of encode_terminal_code. Use
15131 encode_coding_object in place of encode_coding.
15132
15133 * w32bdf.c (w32_load_bdf_font): Clear font_info before filling.
15134 encoding becomes encoding_type.
15135
15136 * term.c (terminal_encode_buffer): Make externally visible.
15137
15138 * makefile.w32-in: Add character.h dependancies.
15139 (character.o, chartab.o): New targets.
15140
15141 2008-02-01 Kenichi Handa <handa@m17n.org>
15142
15143 * fileio.c (Finsert_file_contents) [DOS_NT]: Use the macro
15144 CODING_ID_EOL_TYPE.
15145
15146 2008-02-01 Andreas Schwab <schwab@suse.de>
15147
15148 * coding.c (produce_chars): Revert last change.
15149
15150 2008-02-01 Kenichi Handa <handa@m17n.org>
15151
15152 * charset.h (charset_unicode): Extern it.
15153
15154 * charset.c (string_xstring_p): Check by (C >= 0x100).
15155 (find_charsets_in_text): Change format of the arc CHARSETS. New
15156 arg MULTIBYTE.
15157 (Ffind_charset_region, Ffind_charset_string): Adjust for the
15158 change of find_charsets_in_text.
15159 (Fsplit_char): Fix doc. Never return unknown.
15160
15161 * chartab.c (char_table_translate): Use CHARACTERP, not INTEGERP.
15162
15163 * coding.c (Fdefine_coding_system_alias): Update
15164 Vcoding_system_list.
15165
15166 * fontset.c (load_font_get_repertory): Pay attention to the case
15167 that ENCODING of a font is specified by a char-table.
15168
15169 * xterm.c (x_get_font_repertory): Handle the case that the
15170 encoding of font is other than Unicode.
15171
15172 2008-02-01 Kenichi Handa <handa@m17n.org>
15173
15174 * term.c (encode_terminal_code): Don't handle glyph-table. Check
15175 if a character is encodable by the terminal coding system. If
15176 not, produces proper number of `?'s. Update
15177 terminal_encode_buffer and terminal_encode_buf_size if necessary.
15178 (produce_glyphs): Check by CHAR_BYTE8_P, not SINGLE_BYTE_CHAR_P.
15179
15180 2008-02-01 Kenichi Handa <handa@m17n.org>
15181
15182 * term.c (terminal_encode_buffer, terminal_encode_buf_size): New
15183 variables.
15184 (encode_terminal_code): Change argument. Encode multiple
15185 characters at once. Store the result of encoding in
15186 terminal_encode_buffer.
15187 (write_glyphs, insert_glyphs): Adjust for the change of
15188 encode_terminal_code.
15189 (term_init): Initialize terminal_encode_buffer and
15190 terminal_encode_buf_size.
15191
15192 * coding.c (consume_chars): If coding->src_object is nil, don't
15193 check annotation.
15194
15195 2008-02-01 Kenichi Handa <handa@m17n.org>
15196
15197 * character.c (char_string): Use ASCII_CHAR_P instead of
15198 SINGLE_BYTE_CHAR_P.
15199
15200 2008-02-01 Kenichi Handa <handa@m17n.org>
15201
15202 * xdisp.c (handle_auto_composed_prop): Check if the last
15203 characters of auto-composed region is newly composed with the
15204 following characters.
15205 (handle_composition_prop): Fix checking of point being inside
15206 composition.
15207
15208 2008-02-01 Kenichi Handa <handa@m17n.org>
15209
15210 * fns.c (concat): Don't change multibyteness of the result by
15211 concatenating an 8-bit character.
15212
15213 * data.c (Faset): Check newelt by CHECK_CHARACTER. Don't change
15214 multibyteness of the result when newelt is an 8-bit character.
15215
15216 2008-02-01 Dave Love <fx@gnu.org>
15217
15218 * xmenu.c (find_and_call_menu_selection): Make menu_bar_items_used
15219 EMACS_INT.
15220
15221 * xfns.c (DefaultDepthOfScreen, x_encode_text): Remove unused vars.
15222
15223 * xfaces.c (face_numeric_value): Declare dim size_t.
15224 (Finternal_lisp_face_equal_p): Remove unused f.
15225
15226 * xdisp.c (BUILD_CHAR_GLYPH_STRINGS, display_and_set_cursor)
15227 (MATRIX_ROW): Remove unused vars.
15228 (draw_glyphs, x_insert_glyphs, fast_find_position)
15229 (fast_find_position, fast_find_string_pos): Use EMACS_INT for
15230 byte/char counts.
15231
15232 * regex.c (regex_compile): Remove unused var.
15233
15234 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
15235
15236 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
15237 (Faccessible_keymaps, where_is_internal): Remove unused vars.
15238
15239 * keyboard.c (cancel_hourglass_unwind): Return Qnil.
15240
15241 * frame.c (frame_name_fnn_p): Make len EMACS_INT.
15242
15243 * fileio.c (Fwrite_region): Remove unused var.
15244
15245 * dispnew.c (adjust_frame_glyphs_for_frame_redisplay)
15246 (adjust_frame_glyphs_for_window_redisplay): Remove unused ch_dim.
15247
15248 * composite.c (Fremove_list_of_text_properties): Declare.
15249
15250 * coding.c (inhibit_pre_post_conversion): Remove (unused).
15251 (alloc_destination, produce_chars): Use EMACS_INT for byte/char counts.
15252 (coding_inherit_eol_type): Remove unused attrs.
15253 (detect_coding): Cast arg of detect_eol.
15254
15255 * charset.c (syms_of_charset): Remove unused var p.
15256 (find_charsets_in_text, Ffind_charset_region): Use EMACS_INT for
15257 byte/char counts.
15258
15259 * casetab.c (set_case_table): Remove unused var.
15260
15261 * window.c (Fdisplay_buffer, Fframe_selected_window): Remove
15262 unused vars.
15263
15264 2008-02-01 Dave Love <fx@gnu.org>
15265
15266 * xterm.c (x_bitmap_mask): Declare.
15267
15268 2008-02-01 Dave Love <fx@gnu.org>
15269
15270 * xterm.c (x_term_init): Fix type error.
15271
15272 * lisp.h: Add Funibyte_char_to_multibyte.
15273
15274 * coding.c (Fread_coding_system): Fix arg of XSETSTRING.
15275 (Fset_coding_system_priority): Doc fix.
15276
15277 * ccl.c (ccl_driver): Fix arg of CHARACTERP.
15278
15279 * indent.c (check_composition): Make start and end EMACS_INT.
15280
15281 * character.c (lisp_string_width): Make ignore and end EMACS_INT.
15282
15283 * xdisp.c (handle_composition_prop, check_point_in_composition):
15284 Make buffer positions EMACS_INT.
15285
15286 * composite.c (find_composition, run_composition_function)
15287 (update_compositions, Ffind_composition_internal): Make buffer
15288 positions EMACS_INT.
15289
15290 * composite.h (find_composition, update_compositions): Make
15291 position args EMACS_INT.
15292
15293 * keyboard.c (adjust_point_for_property): Make beg and end EMACS_INT.
15294
15295 * intervals.c (get_property_and_range):
15296 * intervals.h (get_property_and_range): Make start and end EMACS_INT.
15297
15298 * unexalpha.c: Don't include varargs.h.
15299
15300 2008-02-01 Dave Love <fx@gnu.org>
15301
15302 * coding.h (ENCODE_UTF_8): New.
15303
15304 * Makefile.in (gtkutil.o): Depend on coding.h.
15305
15306 * coding.c (Fset_coding_system_priority): Doc fix.
15307
15308 2008-02-01 Kenichi Handa <handa@m17n.org>
15309
15310 * fileio.c (Finsert_file_contents): Call setup_coding_system in
15311 the case of auto saving.
15312
15313 2008-02-01 Andreas Schwab <schwab@suse.de>
15314
15315 * chartab.c (map_char_table, map_char_table_for_charset): Protect
15316 `range' from GC.
15317
15318 2008-02-01 Kenichi Handa <handa@m17n.org>
15319
15320 * coding.c (decode_coding_sjis): Check bytes more rigidly.
15321
15322 2008-02-01 Kenichi Handa <handa@m17n.org>
15323
15324 * fileio.c (choose_write_coding_system): Return a decided coding system.
15325 (Fwrite_region): Set Vlast_coding_system_used to the return value
15326 of choose_write_coding_system.
15327
15328 2008-02-01 Kenichi Handa <handa@m17n.org>
15329
15330 * charset.c (Fset_charset_priority): Pay attention to duplicated
15331 arguments.
15332
15333 * coding.c (QCcategory): New variable.
15334 (syms_of_coding): Defsym it. Set all elements of
15335 Vcoding_category_table and their symbol values.
15336 (Fset_coding_system_priority): Doc fix. Update symbol qvalues of
15337 coding-category-XXX, and coding-category-list.
15338 (Fdefine_coding_system_internal): Add category in the plist.
15339
15340 2008-02-01 Kenichi Handa <handa@m17n.org>
15341
15342 * callproc.c (Fcall_process): Handle carryover correctly.
15343
15344 * coding.c (decode_coding_iso_2022): Fix handling of invalid bytes.
15345 (raw_text_coding_system): Check NILP (coding_system).
15346 (coding_inherit_eol_type): Check NILP (coding_system) and
15347 NILP (parent).
15348 (consume_chars): Fix for the case of raw-text.
15349
15350 * process.c (read_process_output): Handle carryover correctly.
15351
15352 2008-02-01 Dave Love <fx@gnu.org>
15353
15354 * regex.c (re_search_2): Fix last change.
15355
15356 2008-02-01 Kenichi Handa <handa@m17n.org>
15357
15358 * regex.c (GET_CHAR_BEFORE_2): Check multibyte, not
15359 target_multibyte. Even in a unibyte case, return a converted
15360 multibyte char.
15361 (GET_CHAR_AFTER): New macro.
15362 (PATFETCH): Translate via multibyte char.
15363 (HANDLE_UNIBYTE_RANGE): Delete this macro.
15364 (SETUP_MULTIBYTE_RANGE): New macro.
15365 (regex_compile): Setup compiled code so that its multibyteness
15366 matches that of a target. Fix the handling of "[X-YZ]" using
15367 SETUP_MULTIBYTE_RANGE.
15368 (analyse_first) <charset>: For filling fastmap for all multibyte
15369 characters, don't check by BASE_LEADING_CODE_P.
15370 (re_search_2): Don't check RE_TARGET_MULTIBYTE_P (bufp). It is
15371 the same as RE_MULTIBYTE_P (bufp) now.
15372 (mutually_exclusive_p): Check by (! multibyte || IS_REAL_ASCII (c)).
15373 (TARGET_CHAR_AND_LENGTH): Delete this macro.
15374 (TRANSLATE_VIA_MULTIBYTE): New macro.
15375 (re_match_2_internal): Don't check RE_TARGET_MULTIBYTE_P (bufp).
15376 It is the same as RE_MULTIBYTE_P (bufp) now.
15377 <exactn>: Translate via multibyte.
15378 <anychar>: Fetch a character by RE_STRING_CHAR_AND_LENGTH. Don't
15379 translate it.
15380 <charset, charset_not>: Fetch a character by
15381 RE_STRING_CHAR_AND_LENGTH. Translate via multibyte.
15382 <duplicate>: Call bcmp_translate with the last arg `multibyte'.
15383 <wordbound, notwordbound, wordbeg, wordend, syntaxspec,
15384 notsyntaxspec, categoryspec, notcategoryspec> Fetch a character
15385 by GET_CHAR_AFTER.
15386 (bcmp_translate): Likewise.
15387
15388 * search.c (compile_pattern): Check the member target_multibyte,
15389 not the member multibyte of buf.
15390
15391 * lread.c (read1): While reading a string, set force_singlebyte
15392 and force_multibyte correctly.
15393
15394 * charset.c (Fset_unibyte_charset, init_charset_once): Fix setting
15395 up of unibyte_to_multibyte_table.
15396
15397 2008-02-01 Kenichi Handa <handa@m17n.org>
15398
15399 * coding.c (setup_coding_system): If coding has
15400 post-read-conversion or pre-write-conversion, set
15401 CODING_REQUIRE_DECODING_MASK and CODING_REQUIRE_ENCODING_MASK
15402 respectively.
15403 (decode_coding_gap): Run post-read-conversion if any.
15404
15405 * fileio.c (Finsert_file_contents): Even if we read into a
15406 unibyte buffer, check if we must decode the result or not.
15407
15408 2008-02-01 Kenichi Handa <handa@m17n.org>
15409
15410 * coding.c (make_conversion_work_buffer): Change the work buffer
15411 name to the same one as that of Emacs 21.
15412
15413 2008-02-01 Kenichi Handa <handa@m17n.org>
15414
15415 * coding.h (make_conversion_work_buffer): Adjust prototype.
15416 (code_conversion_restore): Don't extern it.
15417
15418 * coding.c (detected_mask): Delete unused variable.
15419 (decode_coding_iso_2022): Pay attention to the byte sequence of
15420 CTEXT extended segment, and retain those bytes as is.
15421 (decode_coding_ccl): Delete unused variable `valids'.
15422 (setup_coding_system): Delete unused variable `category'.
15423 (consume_chars): Delete unused variable `category'. Make it work
15424 for non-multibyte case.
15425 (make_conversion_work_buffer): Change argument.
15426 (saved_coding): Delete unused variable.
15427 (code_conversion_restore): Don't check saved_coding->destination.
15428 (code_conversion_save): New function.
15429 (decode_coding_gap, encode_coding_gap): Call code_conversion_save
15430 instead of record_unwind_protect.
15431 (decode_coding_object, encode_coding_object): Likewise. Recover PT.
15432 (detect_coding_system): Delete unused variable `mask'.
15433 (Fdefine_coding_system_internal): Delete unused variable id.
15434
15435 * fileio.c (kill_workbuf_unwind): New function.
15436 (Finsert_file_contents): On replacing, call
15437 make_conversion_work_buffer with correct args, and call
15438 record_unwind_protect with the first arg kill_workbuf_unwind.
15439
15440 * lisp.h (Fgenerate_new_buffer_name): EXFUN it.
15441
15442 2008-02-01 Kenichi Handa <handa@m17n.org>
15443
15444 * fontset.c (BASE_FONTSET_P): Check FONTSET_BASE, not FONTSET_NAME.
15445 (fontset_add): Fix for the case that TO is less than TO1.
15446 (Ffontset_info): Don't use fallback fontset on checking the
15447 default fontset.
15448 (dump_fontset): New function for debugging.
15449
15450 * coding.c (Fdefine_coding_system_internal): Fix for the case that
15451 coding_type is Qcharset.
15452
15453 2008-02-01 Kenichi Handa <handa@m17n.org>
15454
15455 * chartab.c (map_sub_char_table): New argument DEFAULT_VAL.
15456 (map_char_table): Don't inherit the value from the parent on
15457 initializing VAL. Adjust for the above change.
15458
15459 2008-02-01 Kenichi Handa <handa@m17n.org>
15460
15461 * coding.c (Qsignature, Qendian): Delete these variables.
15462 (syms_of_coding): Don't initialize them.
15463 (CATEGORY_MASK_UTF_16_AUTO): New macro.
15464 (detect_coding_utf_16): Add CATEGORY_MASK_UTF_16_AUTO in
15465 detect_info->found.
15466 (decode_coding_utf_16): Don't detect BOM here.
15467 (encode_coding_utf_16): Produce BOM if CODING_UTF_16_BOM (coding)
15468 is NOT utf_16_without_bom.
15469 (setup_coding_system): For a coding system of type utf-16, check
15470 if the attribute :endian is Qbig or not (not nil or not), and set
15471 CODING_REQUIRE_DETECTION_MASK if BOM detection is required.
15472 (detect_coding): If coding type is utf-16 and BOM detection is
15473 required, detect it.
15474 (Fdefine_coding_system_internal): For a coding system of type
15475 utf-16, check if the attribute :endian is Qbig or not (not nil or not).
15476
15477 2008-02-01 Kenichi Handa <handa@m17n.org>
15478
15479 * coding.c (coding_set_source): Fix for the case that the current
15480 buffer is different from coding->src_object.
15481 (decode_coding_object): Don't use the conversion work buffer if
15482 DST_OBJECT is a buffer.
15483
15484 2008-02-01 Dave Love <fx@gnu.org>
15485
15486 * lread.c (read_emacs_mule_char) [len==2]: Index
15487 emacs_mule_charset correctly.
15488
15489 2008-02-01 Dave Love <fx@gnu.org>
15490
15491 * coding.c (Qbig5, Vbig5_coding_system, CATEGORY_MASK_BIG5)
15492 (detect_coding_big5, decode_coding_big5, encode_coding_big5)
15493 (Fdecode_big5_char, Fencode_big5_char): Delete. (Big5 no longer
15494 treated specially.)
15495 (setup_coding_system, coding_category, CATEGORY_MASK_ANY)
15496 (detected_mask): Remove Big5 bits.
15497
15498 2008-02-01 Kenichi Handa <handa@m17n.org>
15499
15500 The following changes are to make the font rescaling facility
15501 compatible with Emacs 21.
15502
15503 * xfaces.c (Vface_font_rescale_alist): Rename from
15504 Vface_resizing_fonts.
15505 (struct font_name): Rename member resizing_ratio to rescale_ratio.
15506 (font_rescale_ratio): Rename from font_resizing_ratio.
15507 (split_font_name): Set font->rescale_ratio.
15508 (better_font_p): Pay attention to font->rescale_ratio.
15509 (build_scalable_font_name): Likewise. Change RESX, and RESY
15510 fields.
15511 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
15512
15513 2008-02-01 Kenichi Handa <handa@m17n.org>
15514
15515 * coding.c (Qutf_16_be_nosig, Qutf_16_be, Qutf_16_le_nosig)
15516 (Qutf_16_le): Remove these variables.
15517 (syms_of_coding): Don't DEFSYM them.
15518 (decode_coding_utf_16): Fix handling of BOM.
15519 (encode_coding_utf_16): Fix handling of BOM.
15520
15521 2008-02-01 Kenichi Handa <handa@m17n.org>
15522
15523 * fileio.c (Finsert_file_contents): On replacing, before decoding
15524 the file into the work buffer, set point of the work buffer to the end.
15525
15526 2008-02-01 Dave Love <fx@gnu.org>
15527
15528 * coding.c (Fcheck_coding_systems_region): Fix type errors.
15529
15530 2008-02-01 Dave Love <fx@gnu.org>
15531
15532 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
15533 and fix C types.
15534
15535 2008-02-01 Kenichi Handa <handa@m17n.org>
15536
15537 * xdisp.c (SKIP_GLYPHS): New macro.
15538 (set_cursor_from_row): Pay attention to string display properties.
15539
15540 * category.c (copy_category_entry): Fix for the case that RANGE
15541 is an integer.
15542
15543 * xterm.c (x_encode_char): Call ccl_driver with the last arg Qnil.
15544
15545 * w32term.c (w32_encode_char): Call ccl_driver with the last arg Qnil.
15546
15547 2008-02-01 Kenichi Handa <handa@m17n.org>
15548
15549 * charset.c (Fcharset_id_internal): New function.
15550 (syms_of_charset): Defsubr it.
15551
15552 * coding.c (decode_coding_ccl, encode_coding_ccl): Call ccl_driver
15553 with the last arg charset_list acquired from coding.
15554 (Fdefine_coding_system_internal): For ccl-based coding system, fix
15555 the attribute coding_attr_ccl_valids.
15556
15557 * coding.h (enum define_coding_ccl_arg_index): Set the first
15558 member coding_arg_ccl_decoder to coding_arg_max.
15559
15560 * ccl.h (ccl_driver): Adjust prototype.
15561
15562 * ccl.c (CCL_DECODE_CHAR, CCL_ENCODE_CHAR): New macros.
15563 (ccl_driver): New arg CHARSET_LIST. Use the above macros instead
15564 of DECODE_CHAR, ENCODE_CHAR, CHAR_CHARSET.
15565 (Fccl_execute, Fccl_execute_on_string): Call ccl_driver with the
15566 last arg Qnil.
15567
15568 2008-02-01 Kenichi Handa <handa@m17n.org>
15569
15570 * charset.h (ENCODE_CHAR): If the method is SUBSET or SUPERSET,
15571 call encode_char.
15572
15573 * charset.c (encode_char): Fix handling of methods SUBSET and SUPERSET.
15574
15575 2008-02-01 Dave Love <fx@gnu.org>
15576
15577 * composite.c (syms_of_composite): Make composition_hash_table weak.
15578
15579 2008-02-01 Kenichi Handa <handa@m17n.org>
15580
15581 * dispextern.h (check_face_attributes, generate_ascii_font_name)
15582 (font_name_registry): Don't extern them.
15583 (split_font_name_into_vector, build_font_name_from_vector): Extern them.
15584
15585 * fontset.h (Qfontset): Don't extern it.
15586 (new_fontset_from_font_name): Extern it.
15587
15588 * fontset.c: Give 8 extra slots to fontset objects.
15589 (Qfontset_info): New variable.
15590 (syms_of_fontset): Defsym it.
15591 (FONTSET_FALLBACK): New macro.
15592 (fontset_face): Try also the default fontset.
15593 (make_fontset): Realize a fallback fontset from the default fontset.
15594 (generate_ascii_font_name): Move from xfaces.c. Rewritten by
15595 using split_font_name_into_vector and build_font_name_from_vector.
15596 (Fset_fontset_font): Access the elements of font_spec by enum
15597 FONT_SPEC_INDEX. If font_spec is a string, extract the registry
15598 name by using split_font_name_into_vector.
15599 (Fnew_fontset): If no ASCII font is specified in FONTLIST,
15600 generate a proper font name from the fontset name. Update
15601 Vfontset_alias_alist.
15602 (n_auto_fontsets): New variable.
15603 (new_fontset_from_font_name): New function.
15604 (Ffont_info): Store the information about fonts generated from the
15605 default fontset in the first extra slot of the returned char-table.
15606
15607 * xfaces.c (generate_ascii_font_name): Move to fontset.c.
15608 (font_name_registry): Delete function.
15609 (split_font_name_into_vector): New function.
15610 (build_font_name_from_vector): New function.
15611 (font_list): The argument REGISTRY is now a list of registry names.
15612 (choose_face_font): If we are choosing an ASCII font, and ATTRS
15613 specifies an explicit font name, return the name as is. Make a
15614 list of registy names.
15615
15616 * xfns.c (x_set_font, x_create_tip_frame): Adjust for the change
15617 of x_new_fontset.
15618 (Fx_create_frame): Don't call x_new_fontset here. Just use
15619 x_list_fonts to check the existence of fonts.
15620
15621 * xterm.h (x_new_fontset): Adjust prototype.
15622
15623 * xterm.c (x_new_fontset): Change the arg FONTSETNAME to Lisp
15624 string. Use new_fontset_from_font_name to create a fontset from a
15625 font name.
15626
15627 2008-02-01 Kenichi Handa <handa@m17n.org>
15628
15629 * syntax.c (Vfind_word_boundary_function_table): New name for
15630 Vnext_word_boundary_function_table.
15631 (find-word-boundary-function-table): New name for
15632 next-word-boundary-function-table.
15633
15634 2008-02-01 Dave Love <fx@gnu.org>
15635
15636 * Makefile.in: Fix some dependencies.
15637
15638 * keymap.c (Fapropos_internal): Don't gcpro apropos_predicate but
15639 set it to nil before returning.
15640
15641 * composite.c (update_compositions): Fix type error.
15642
15643 * syntax.c (skip_chars, skip_syntaxes): Fix type errors.
15644
15645 2008-02-01 Kenichi Handa <handa@m17n.org>
15646
15647 * xterm.c (x_new_font): Optimize for the case that the font is
15648 already set for the frame.
15649
15650 2008-02-01 Kenichi Handa <handa@m17n.org>
15651
15652 * chartab.c (char_table_ascii): Check if the char table contents
15653 is sub-char-table or not.
15654 (char_table_set, char_table_set_range): Fix argument to
15655 char_table_ascii.
15656
15657 * coding.c (CATEGORY_MASK_RAW_TEXT): New macro.
15658 (detect_coding_utf_8, detect_coding_utf_16)
15659 (detect_coding_emacs_mule, detect_coding_iso_2022)
15660 (detect_coding_sjis, detect_coding_big5)
15661 (detect_coding_ccl, detect_coding_charset): Change argument MASK
15662 to DETECT_INFO. Update DETECT_INFO and return 1 if the byte
15663 sequence is valid in this coding system. Change callers.
15664 (MAX_ANNOTATION_LENGTH): New macro.
15665 (ADD_ANNOTATION_DATA): New macro.
15666 (ADD_COMPOSITION_DATA): Change argument. Change callers. Call
15667 ADD_ANNOTATION_DATA. Change the format of annotation data.
15668 (ADD_CHARSET_DATA): New macro.
15669 (emacs_mule_char): New argument ID. Change callers.
15670 (decode_coding_emacs_mule, decode_coding_iso_2022)
15671 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
15672 Produce charset annotation data in coding->charbuf.
15673 (encode_coding_emacs_mule, encode_coding_iso_2022): Pay attention
15674 to charset annotation data in coding->charbuf.
15675 (setup_coding_system): Add CODING_ANNOTATE_CHARSET_MASK
15676 coding->common_flags if the coding system is iso-2022 based and
15677 uses designation.
15678 (produce_composition): Adjust for the new annotation data format.
15679 (produce_charset): New function.
15680 (produce_annotation): Handle charset annotation.
15681 (handle_composition_annotation, handle_charset_annotation): New
15682 functions.
15683 (consume_chars): Handle charset annotation. Utilize the above two
15684 functions.
15685 (encode_coding_object): If SRC_OBJECT and DST_OBJECT are the same
15686 buffer, get the deleted text as a string and set
15687 coding->src_object to that string.
15688 (detect_coding, detect_coding_system): Use the new struct
15689 coding_detection_info.
15690
15691 * coding.h (struct coding_detection_info): New structure.
15692 (struct coding_system): Adjust prototype of the member `detector'.
15693 (CODING_ANNOTATE_CHARSET_MASK): New macro.
15694
15695 2008-02-01 Kenichi Handa <handa@m17n.org>
15696
15697 * insdel.c (insert_from_gap): Fix argument to offset_intervals.
15698
15699 2008-02-01 Dave Love <fx@gnu.org>
15700
15701 * keymap.c (apropos_predicate, apropos_accumulate): Declare static.
15702 (Fapropos_internal): Don't gcpro apropos_accumulate. Set result
15703 to new local and nullify apropos_accumulate before returning.
15704 (syms_of_keymap): Staticpro and initialize apropos_accumulate.
15705
15706 2008-02-01 Kenichi Handa <handa@m17n.org>
15707
15708 * charset.c (Fdefine_charset_internal): Setup charset.fast_map
15709 correctly.
15710
15711 2008-02-01 Dave Love <fx@gnu.org>
15712
15713 * fns.c (Flanginfo): Call synchronize_system_time_locale.
15714
15715 2008-02-01 Kenichi Handa <handa@m17n.org>
15716
15717 The following changes are to make character composition happen
15718 automatically on displaying.
15719
15720 * Makefile.in (lisp, shortlisp): Add composite.elc.
15721
15722 * composite.h (Qauto_composed, Vauto_composition_function)
15723 (Qauto_composition_function): Extern them.
15724
15725 * composite.c (Vcomposition_function_table)
15726 (Qcomposition_function_table): Delete variables.
15727 (Qauto_composed, Vauto_composition_function)
15728 (Qauto_composition_function): New variables.
15729 (run_composition_function): Don't call
15730 compose-chars-after-function.
15731 (update_compositions): Clear `auto-composed' text property.
15732 (compose_chars_in_text): Delete this function.
15733 (syms_of_composite): Staticpro Qauto_composed and
15734 Qauto_composition_function. Declare Vauto_composition_function as
15735 a Lisp variable.
15736
15737 * dispextern.h (enum prop_idx): Add member AUTO_COMPOSED_PROP_IDX.
15738
15739 * xdisp.c (it_props): Add an entry for Qauto_composed.
15740 (handle_auto_composed_prop): New function.
15741
15742 * xselect.c (selection_data_to_lisp_data): Don't call
15743 compose_chars_in_text.
15744
15745 2008-02-01 Dave Love <fx@gnu.org>
15746
15747 * keyboard.c (read_char): Modify checking around use of
15748 Vkeyboard_translate_table.
15749
15750 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
15751 and fix C types.
15752
15753 2008-02-01 Kenichi Handa <handa@m17n.org>
15754
15755 * coding.c (decode_coding_utf_8, decode_coding_emacs_mule)
15756 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
15757 (decode_coding_charset, produce_chars): When eol_type is Qdos, handle
15758 the case that the last byte is '\r' correctly.
15759 (decode_coding): Flush out the unprocessed data correctly.
15760 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK bit of coding->mode.
15761
15762 2008-02-01 Dave Love <fx@gnu.org>
15763
15764 * xterm.c (XTread_socket): Fix changes for defined keysyms.
15765 Add XK_ISO... case.
15766 (xaw_scroll_callback): Revert last change.
15767
15768 2008-02-01 Kenichi Handa <handa@m17n.org>
15769
15770 * charset.c (Fset_charset_priority): Update Viso_2022_charset_list.
15771
15772 2008-02-01 Kenichi Handa <handa@m17n.org>
15773
15774 * xfaces.c (Vface_resizing_fonts): New variable.
15775 (struct font_name): New member `resizing_ratio'.
15776 (font_resizing_ratio): New function.
15777 (split_font_name): Set font->resizing_ratio.
15778 (better_font_p): Pay attention to font->resizing_ratio.
15779 (build_scalable_font_name): Likewise. Don't change POINT_SIZE,
15780 RESX, and RESY fields.
15781 (try_alternative_families): Try scalable fonts if
15782 Vscalable_fonts_allowed is not Qt.
15783 (syms_of_xfaces): Declare Vface_resizing_fonts as a Lisp variable.
15784
15785 2008-02-01 Dave Love <fx@gnu.org>
15786
15787 * xterm.c (xaw_scroll_callback): Cast correctly.
15788
15789 2008-02-01 Dave Love <fx@gnu.org>
15790
15791 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extend.
15792 (lispy_kana_keys): Comment out.
15793 (make_lispy_event) [XK_kana_A]: Comment out.
15794
15795 * xterm.c (xaw_scroll_callback): Cast call_data.
15796 (XTread_socket): Deal with ASCII keysyms.
15797 (syms_of_xterm) <Vx_keysym_table>: Fix args of make_hash_table.
15798
15799 2008-02-01 Dave Love <fx@gnu.org>
15800
15801 * xterm.c (Vx_keysym_table): New.
15802 (syms_of_xterm): Initialize it.
15803 (XTread_socket): Use it.
15804 From head: Eliminate incorrect optimization that tried to avoid
15805 decoding the output of X*LookupString.
15806 (x_get_font_repertory): Delete charset declaration.
15807
15808 2008-02-01 Kenichi Handa <handa@m17n.org>
15809
15810 * coding.c (detect_coding_charset): If only ASCII bytes are found,
15811 return 0.
15812 (Fdefine_coding_system_internal): Setup
15813 CODING_ATTR_ASCII_COMPAT (attrs) correctly.
15814
15815 2008-02-01 Dave Love <fx@gnu.org>
15816
15817 * coding.c (Fcheck_coding_system): Doc fix.
15818
15819 * editfns.c (Finsert_byte): Return a proper value.
15820
15821 2008-02-01 Kenichi Handa <handa@m17n.org>
15822
15823 * coding.c (decode_coding): Fix args to translate_chars. Pay
15824 attention to Vstandard_translation_table_for_decode.
15825 (encode_coding): Fix args to translate_chars. Pay attention to
15826 Vstandard_translation_table_for_encode.
15827
15828 * data.c (Faset): Check NEWELT by ASCII_CHAR_P, not by
15829 SINGLE_BYTE_CHAR_P.
15830
15831 * editfns.c (general_insert_function): Check VAL by ASCII_CHAR_P,
15832 not by SINGLE_BYTE_CHAR_P.
15833
15834 * fns.c (concat): Check CH by ASCII_CHAR_P, not by
15835 SINGLE_BYTE_CHAR_P.
15836
15837 * insdel.c (copy_text): Check C by ASCII_CHAR_P, not by
15838 SINGLE_BYTE_CHAR_P.
15839
15840 * keymap.c (Ftext_char_description): Check C by ASCII_CHAR_P, not
15841 by SINGLE_BYTE_CHAR_P.
15842
15843 * search.c (Freplace_match): Check C by ASCII_CHAR_P, not by
15844 SINGLE_BYTE_CHAR_P.
15845
15846 2008-02-01 Dave Love <fx@gnu.org>
15847
15848 * fns.c (Fstring_as_multibyte, Fstring_to_multibyte): Doc fix.
15849
15850 2008-02-01 Dave Love <fx@gnu.org>
15851
15852 * fns.c (Flanginfo): Fix typo.
15853
15854 * unexelf.c (unexec): Make last change conditional on Irix 6.5.
15855
15856 2008-02-01 Kenichi Handa <handa@m17n.org>
15857
15858 * coding.c (detect_coding_utf_8, detect_coding_utf_16)
15859 (detect_coding_emacs_mule, detect_coding_iso_2022)
15860 (detect_coding_sjis, detect_coding_big5, detect_coding_ccl): Check
15861 incomplete byte sequence. Don't update *mask when correctly detected.
15862 (decode_coding_sjis): Fix decoding of katakana-jisx0201.
15863 (detect_eol): Delete the argument CODING, and add the argument CATEGORY.
15864 (detect_coding, detect_coding_system): Adjust for the changes above.
15865
15866 2008-02-01 Kenichi Handa <handa@m17n.org>
15867
15868 * character.c (char_string): Rename from
15869 char_string_with_unification. Pay attention to CHAR_MODIFIER_MASK.
15870 (string_char): Rename from string_char.
15871
15872 * character.h (CHAR_STRING, CHAR_STRING_ADVANCE): Call char_string
15873 if C is greater than MAX_3_BYTE_CHAR.
15874 (STRING_CHAR, STRING_CHAR_AND_LENGTH, STRING_CHAR_ADVANCE): Call
15875 string_char instead of string_char_with_unification.
15876
15877 2008-02-01 Dave Love <fx@gnu.org>
15878
15879 * coding.c (decode_coding_utf_8): Treat surrogates as invalid.
15880
15881 2008-02-01 Kenichi Handa <handa@m17n.org>
15882
15883 * keymap.c (push_key_description): Pay attention to force_multibyte.
15884
15885 * regex.c (re_search_2): Fix for the case of unibyte buffer.
15886
15887 2008-02-01 Dave Love <fx@gnu.org>
15888
15889 * charset.c (define_charset_internal): Rename `supprementary'.
15890
15891 * Makefile.in (lisp, shortlisp): Remove latin-N.
15892
15893 2008-02-01 Dave Love <fx@gnu.org>
15894
15895 * xfns.c (x_window, x_window): Use use_xim.
15896
15897 * xterm.c (use_xim): Initialize.
15898 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
15899 (x_term_init): Maybe set use_xim.
15900
15901 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
15902
15903 2008-02-01 Kenichi Handa <handa@m17n.org>
15904
15905 * search.c (search_buffer): Fix case-fold-search of multibyte
15906 characters.
15907 (boyer_moore): Rename the last argument to char_high_bits.
15908
15909 2008-02-01 Kenichi Handa <handa@m17n.org>
15910
15911 * xdisp.c (display_string): Fix for the case of zero width glyph.
15912
15913 * xfns.c (x_set_font): Change the error message of the case that
15914 x_new_fontset returns Qt.
15915
15916 * xfaces.c (set_lface_from_font_name): Reject the default fontset.
15917 (Finternal_set_lisp_face_attribute): Use signal_error for the
15918 error of invalid fontset.
15919
15920 * xterm.c (x_new_fontset): If FONTSETNAME specifies the default
15921 fontset, return Qt.
15922
15923 2008-02-01 Dave Love <fx@gnu.org>
15924
15925 * unexelf.c (unexec): Make .got handling not SGI-specific.
15926
15927 * syntax.c (syms_of_syntax) <multibyte-syntax-as-symbol>: Doc fix.
15928
15929 * regex.c: Use `ifdef HAVE_ALLOCA_H', not `if HAVE_ALLOCA_H'.
15930
15931 * keyboard.c (read_key_sequence): Fix type error.
15932
15933 * buffer.c (Fset_buffer_multibyte, Fset_buffer_multibyte): Fix
15934 type error.
15935
15936 * fontset.c (fontset_add): Return Lisp_Object.
15937
15938 2008-02-01 Dave Love <fx@gnu.org>
15939
15940 * charset.h (charset_ordered_list_tick): Declare extern.
15941
15942 2008-02-01 Kenichi Handa <handa@m17n.org>
15943
15944 The following changes (and some of 2008-02-01 changes of mine) are
15945 for handling syntax, category, and case conversion for unibyte
15946 characters by converting them to multibyte on the fly. With these
15947 changes, we don't have to setup syntax and case tables for unibyte
15948 characters in each language environment.
15949
15950 * abbrev.c (Fexpand_abbrev): Convert a unibyte character to
15951 multibyte if necessary.
15952
15953 * bytecode.c (Fbyte_code): Likewise.
15954
15955 * character.h (LEADING_CODE_LATIN_1_MIN)
15956 (LEADING_CODE_LATIN_1_MAX): New macros.
15957 (unibyte_to_multibyte_table): Extern it.
15958 (unibyte_char_to_multibyte): New macro.
15959 (MAKE_CHAR_MULTIBYTE): Use unibyte_to_multibyte_table.
15960 (CHAR_LEADING_CODE): New macro.
15961 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): New macro.
15962
15963 * character.c (unibyte_to_multibyte_table): New variable.
15964 (unibyte_char_to_multibyte): Move to character.h and define as macro.
15965 (multibyte_char_to_unibyte): If C is an eight-bit character,
15966 convert it to the corresponding byte value.
15967
15968 * charset.c (Fset_unibyte_charset): If the dimension of CHARSET is
15969 not 1, signals an error. Update the elements of
15970 unibyte_to_multibyte_table.
15971 (init_charset_once): Initialize unibyte_to_multibyte_table.
15972 (syms_of_charset): Define the charset `iso-8859-1'.
15973
15974 * cmds.c (internal_self_insert): In a multibyte buffer, insert C
15975 as is without converting it to unibyte. In a unibyte buffer,
15976 convert C to multibyte before checking the syntax.
15977
15978 * lisp.h (unibyte_char_to_multibyte): Delete extern.
15979
15980 * minibuf.c (Fminibuffer_complete_word): Use the macro
15981 FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE.
15982
15983 * regex.h (struct re_pattern_buffer): New member target_multibyte.
15984
15985 * regex.c (RE_TARGET_MULTIBYTE_P): New macro.
15986 (GET_CHAR_BEFORE_2): Check target_multibyte, not multibyte. If
15987 that is zero, convert an eight-bit char to multibyte.
15988 (MAKE_CHAR_MULTIBYTE, CHAR_LEADING_CODE): New dummy new macros for
15989 non-emacs case.
15990 (PATFETCH): Convert an eight-bit char to multibyte.
15991 (HANDLE_UNIBYTE_RANGE): New macro.
15992 (regex_compile): Setup the compiled pattern for multibyte chars
15993 even if the given regex string is unibyte. Use PATFETCH_RAW
15994 instead of PATFETCH in many places. To handle `charset'
15995 specification of unibyte, call HANDLE_UNIBYTE_RANGE. Use bitmap
15996 only for ASCII chars.
15997 (analyse_first) <exactn>: Simplify because the compiled pattern
15998 is multibyte.
15999 <charset_not>: Setup fastmap from bitmap only for ASCII chars.
16000 <charset>: Use CHAR_LEADING_CODE to get leading codes.
16001 <categoryspec>: If multibyte, setup fastmap only for ASCII chars here.
16002 (re_compile_fastmap) [emacs]: Call analyse_first with the arg
16003 multibyte always 1.
16004 (re_search_2): In emacs, set the locale variable multibyte to 1,
16005 otherwise to 0. New local variable target_multibyte. Check it
16006 to decide the multibyteness of STR1 and STR2. If
16007 target_multibyte is zero, convert unibyte chars to multibyte
16008 before translating and checking fastmap.
16009 (TARGET_CHAR_AND_LENGTH): New macro.
16010 (re_match_2_internal): In emacs, set the locale variable multibyte
16011 to 1, otherwise to 0. New local variable target_multibyte. Check
16012 it to decide the multibyteness of STR1 and STR2. Use
16013 TARGET_CHAR_AND_LENGTH to fetch a character from D.
16014 <charset, charset_not>: If multibyte is nonzero, check fastmap
16015 only for ASCII chars. Call bcmp_translate with
16016 target_multibyte, not with multibyte.
16017 <begline>: Declare the local variable C as `unsigned'.
16018 (bcmp_translate): Change the last arg name to target_multibyte.
16019
16020 * search.c (compile_pattern_1): Don't adjust the multibyteness of
16021 the regexp pattern and the matching target. Set cp->buf.multibyte
16022 to the multibyteness of the regexp pattern. Set
16023 cp->but.target_multibyte to the multibyteness of the matching target.
16024 (wordify): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE instead of
16025 FETCH_STRING_CHAR_ADVANCE.
16026 (Freplace_match): Convert unibyte chars to multibyte.
16027
16028 * syntax.c (char_quoted, back_comment, scan_words)
16029 (Fforward_comment, scan_lists, Fbackward_prefix_chars)
16030 (scan_sexps_forward): Use FETCH_CHAR_AS_MULTIBYTE to convert
16031 unibyte chars to multibyte.
16032 (skip_chars): Delete the arg syntaxp, and move the code for
16033 handling syntaxes to skip_syntaxes. Change callers.
16034 Fix the case that the multibyteness of STRING and the current
16035 buffer doesn't match.
16036 (skip_syntaxes): New function.
16037 (SYNTAX_WITH_MULTIBYTE_CHECK): Check C by ASCII_CHAR_P, not by
16038 SINGLE_BYTE_CHAR_P.
16039
16040 2008-02-01 Kenichi Handa <handa@m17n.org>
16041
16042 * xfaces.c (QCfontset): New variable.
16043 (LFACE_FONTSET): New macro.
16044 (check_lface_attrs): Check also LFACE_FONTSET_INDEX.
16045 (set_lface_from_font_name): Setup LFACE_FONTSET (lface).
16046 (Finternal_set_lisp_face_attribute)
16047 (Finternal_get_lisp_face_attribute): Handle QCfontset.
16048 (lface_same_font_attributes_p): Fix checking of LFACE_FONT_INDEX,
16049 check also LFACE_FONTSET_INDEX.
16050 (face_fontset): Check attrs[LFACE_FONTSET_INDEX], not
16051 attrs[LFACE_FONT_INDEX].
16052 (syms_of_xfaces): Intern and staticpro QCfontset.
16053
16054 * dispextern.h (enum lface_attribute_index): New member
16055 LFACE_FONTSET_INDEX.
16056
16057 * fns.c (base64_encode_1): Handle eight-bit chars correctly.
16058
16059 2008-02-01 Kenichi Handa <handa@m17n.org>
16060
16061 * coding.c (coding_set_destination): Fix coding->destination for
16062 the case converting a region.
16063 (encode_coding_utf_8): Encode eight-bit chars as single byte.
16064 (encode_coding_object): Fix coding->dst_pos and
16065 coding->dst_pos_byte for the case converting a region.
16066
16067 * insdel.c (insert_from_gap): Make it work even if PT != GTP.
16068
16069 * character.h (BYTE8_STRING): New macro.
16070
16071 * fns.c (base64_decode_1): Insert eight-bit chars correctly.
16072
16073 2008-02-01 Kenichi Handa <handa@m17n.org>
16074
16075 * xdisp.c (get_next_display_element): Don't display unibyte 8-bit
16076 characters by octal form.
16077
16078 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
16079
16080 * buffer.h (_fetch_multibyte_char_len): Delete extern.
16081 (FETCH_MULTIBYTE_CHAR, BUF_FETCH_MULTIBYTE_CHAR): Don't use
16082 _fetch_multibyte_char_len.
16083 (FETCH_CHAR_AS_MULTIBYTE): New macro.
16084
16085 * casetab.c (set_canon, set_identity, shuffle): Simplify.
16086
16087 * casefiddle.c (casify_object): Simplify. Handle the case that
16088 the case conversion change the byte length.
16089 (casify_region): Likewise.
16090
16091 * character.h (MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE): New macros.
16092
16093 * character.c (_fetch_multibyte_char_len): Delete this variable.
16094 (syms_of_character): Setup Vprintable_chars.
16095
16096 * editfns.c (Fchar_equal): Fix for the unibyte case.
16097 (Finsert_byte): New function.
16098 (syms_of_editfns): Defsubr it.
16099
16100 * keyboard.c (read_key_sequence): Use ~CHAR_MODIFIER_MASK instead
16101 of direct code 0x3ffff.
16102
16103 * search.c (Freplace_match): Fix for the unibyte case.
16104
16105 2008-02-01 Kenichi Handa <handa@m17n.org>
16106
16107 * lread.c (safe_to_load_p): Fix the logic.
16108
16109 * syntax.c (scan_words): Don't treat characters belonging to
16110 different scripts as constituting a word.
16111
16112 * editfns.c (Fformat): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
16113
16114 * fontset.c (Fset_fontset_font): Treat `ascii' as charset, not script.
16115
16116 * emacs.c (main): In the case of --unibyte, instead of aborting on
16117 finding non-empty buffer, make it unibyte.
16118
16119 2008-02-01 Kenichi Handa <handa@m17n.org>
16120
16121 * xterm.c (x_new_fontset): Call `create-fontset-from-ascii-font'
16122 to create a fontset.
16123
16124 2008-02-01 Dave Love <fx@gnu.org>
16125
16126 * character.c (Funibyte_char_to_multibyte): Doc fix.
16127
16128 * xfns.c [HAVE_STDLIB_H]: Fix last change.
16129
16130 2008-02-01 Kenichi Handa <handa@m17n.org>
16131
16132 * fontset.c (fontset_add): Make the type `int'.
16133 (fontset_id_valid_p): Define it if FONTSET_DEBUG is defined.
16134
16135 * character.c (unibyte_char_to_multibyte)
16136 (multibyte_char_to_unibyte, Funibyte_char_to_multibyte): Refer to
16137 charset_unibyte, not charset_primary.
16138
16139 * charset.h (charset_unibyte): Extern it instead of charset_primary.
16140
16141 * charset.c (charset_unibyte): Rename from charset_primary.
16142 (Funibyte_charset): Rename from Fprimary_charset.
16143 (Fset_unibyte_charset): Rename from Fset_primary_charset.
16144 (syms_of_charset): Adjust for the above changes.
16145
16146 * w32term.c (x_produce_glyphs): Use ASCII_CHAR_P, not
16147 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
16148 it->multibyte_p is zero.
16149
16150 * lisp.h (nonascii_insert_offset, Vnonascii_translation_table):
16151 Delete extern.
16152
16153 2008-02-01 Kenichi Handa <handa@m17n.org>
16154
16155 * coding.c (Fdefine_coding_system_internal): Fix category setting
16156 for a coding system of type iso-2022.
16157
16158 2008-02-01 Kenichi Handa <handa@m17n.org>
16159
16160 * fontset.h (FS_LOAD_FONT): Call fs_load_font with the arg CHARSET -1.
16161
16162 2008-02-01 Kenichi Handa <handa@m17n.org>
16163
16164 * syntax.c (Vnext_word_boundary_function_table): New variable.
16165 (next-word-boundary-function-table): Declare it as a Lisp variable
16166 in syms_of_syntax.
16167 (scan_words): Call functions in Vnext_word_boundary_function_table
16168 if any.
16169
16170 * xterm.c (x_load_font): Initialize fontp->fontset to -1.
16171
16172 * fontset.c (fs_load_font): If fontp->charset is not negative,
16173 return fontp without setting its members.
16174
16175 2008-02-01 Dave Love <fx@gnu.org>
16176
16177 * xfns.c [HAVE_STDLIB_H]: Change logic (instead of fixing typo).
16178
16179 * m/sparc.h (HAVE_ALLOCA): Delete.
16180
16181 * s/irix6-5.h: Don't include strings.h.
16182 (bcopy, bzero, bcmp): Don't undef.
16183
16184 * s/irix6-0.h (bcopy, bzero, bcmp): Don't undef.
16185
16186 * s/usg5-4.h (NO_SIOCTL_H): Don't define.
16187 (TIOCSIGSEND): Don't test IRIX6.
16188 (bcopy, bzero, bcmp): Define conditionally.
16189
16190 2008-02-01 Kenichi Handa <handa@m17n.org>
16191
16192 * buffer.c (Qas, Qmake, Qto): New variables.
16193 (Fset_buffer_multibyte): New optional arg METHOD. Change caller.
16194 (syms_of_buffer): Intern and staticpro Qas, Qmake, and Qto.
16195
16196 * callproc.c (Fcall_process): Don't call insert_1_both directly if
16197 we are inserting a process output into a multibyte buffer.
16198
16199 * character.h (CHAR_TO_BYTE8): If C is not eight-bit char, call
16200 multibyte_char_to_unibyte.
16201
16202 * character.c (Funibyte_char_to_multibyte): If C can't be decoded
16203 by the primary charset, make it eight-bit char.
16204 (Fmultibyte_char_to_unibyte): Call CHAR_TO_BYTE8.
16205
16206 * charset.c (charset_eight_bit, Qeight_bit_control): New variables.
16207 (charset_8_bit__control, charset_8_bit_graphic)
16208 (Qeight_bit_control, Qeight_bit_graphic): Delete these variables.
16209 (define_charset_internal): New function.
16210 (syms_of_charset): Call define_charset_internal for pre-defined
16211 charsets.
16212
16213 * charset.h (charset_8_bit): Extern it.
16214
16215 * coding.c (make_conversion_work_buffer): Adjust for the change
16216 of Fset_buffer_multibyte.
16217 (encode_coding_raw_text): Increment p0 in the loop.
16218
16219 * lisp.h (Fset_buffer_multibyte): Adjust prototype.
16220
16221 * xdisp.c (setup_echo_area_for_printing, set_message_1): Adjust
16222 for the change of Fset_buffer_multibyte.
16223
16224 * fns.c (Fstring_to_multibyte): New function.
16225 (syms_of_fns): Declare Fstring_to_multibyte as Lisp subroutine.
16226
16227 2008-02-01 Dave Love <fx@gnu.org>
16228
16229 * xfns.c (x_put_x_image): Declare args.
16230
16231 * xfaces.c (font_name_registry, choose_face_font): Delete unused vars.
16232 (try_font_list): Declare an arg.
16233
16234 * xdisp.c (message2_nolog, set_message): Declare an arg.
16235
16236 * terminfo.c (tparam): Declare an arg. Use P_ to declare tparm.
16237
16238 * syntax.c (scan_sexps_forward): Declare an arg.
16239
16240 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
16241 Declare an arg.
16242
16243 * lisp.h (Fnew_fontset): Declare.
16244
16245 * keymap.c (push_key_description): Call CHARACTERP correctly.
16246
16247 * fontset.c (fontset_add): Declare args. Call make_number correctly.
16248 (face_for_char): Delete unused vars.
16249 (Fset_fontset_font): Doc fix. Delete unused vars.
16250
16251 * doc.c (Fsubstitute_command_keys): Delete unused vars.
16252
16253 * composite.c (update_compositions): Declare arg.
16254
16255 * cm.c (calccost, cmgoto): Declare args.
16256
16257 * charset.c: Remove `emacs' conditional. Doc fixes.
16258 (map_char_table_for_charset): Declare.
16259
16260 * character.c (syms_of_character) <translation-table-vector>: Doc fix.
16261
16262 * ccl.c: Remove `emacs' conditional.
16263
16264 2008-02-01 Kenichi Handa <handa@m17n.org>
16265
16266 The following changes are to allow specifying multiple font
16267 patterns for a character range (specified by script or charset).
16268
16269 * Makefile.in (abbrev.o): Depend on syntax.h.
16270 (xfaces.o): Depend on charset.h.
16271
16272 * alloc.c (Fmake_string): Use ASCII_CHAR_P, not
16273 SINGLE_BYTE_CHAR_P.
16274
16275 * ccl.c (Fccl_execute_on_string): Add `const' to local variables.
16276
16277 * character.h (Vchar_script_table): Extern it.
16278
16279 * character.c (Vscript_alist): Delete.
16280 (Vchar_script_table, Qchar_script_table): New variable.
16281 (syms_of_character): Declare Vchar_script_table as a lisp variable
16282 and initialize it.
16283
16284 * chartab.c (Fmake_char_table): Doc fix. If PURPOSE doesn't
16285 have property char-table-extra-slots, make no extra slot.
16286
16287 * dispextern.h (struct face): Delete member `charset'.
16288 (FACE_SUITABLE_FOR_CHAR_P, FACE_FOR): Use ASCII_CHAR_P, not
16289 SINGLE_BYTE_CHAR_P.
16290 (choose_face_font, lookup_non_ascii_face, font_name_registry):
16291 Add prototypes.
16292 (lookup_face, lookup_named_face, lookup_derived_face): Fix prototype.
16293 (generate_ascii_font_name): Rename from generate_ascii_font.
16294
16295 * fontset.h (get_font_repertory_func): New prototype.
16296 (make_fontset_for_ascii_face, fs_load_font): Fix prototypes.
16297 (FS_LOAD_FONT): Call fs_load_font with the 3rd arg charset_ascii.
16298
16299 * fontset.c (Qprepend, Qappend): New variables.
16300 (FONTSET_CHARSET_ALIST, FONTSET_FACE_ALIST): Delete.
16301 (FONTSET_NOFONT_FACE, FONTSET_REPERTORY): New macros.
16302 (FONTSET_REF): Optimize if FONTSET is Vdefault_fontset.
16303 (FONTSET_REF_AND_RANGE, FONTSET_ADD): New macros.
16304 (fontset_ref_and_range, fontset_add, reorder_font_vector)
16305 (load_font_get_repertory): New functions.
16306 (fontset_set): Delete.
16307 (fontset_face): New arg FACE. Return face ID, not face.
16308 Complete re-write to handle new fontset structure. Change caller.
16309 (free_face_fontset): Use ASET istead of AREF (X) = Y.
16310 (face_for_char): Don't call lookup_face.
16311 (make_fontset_for_ascii_face): New arg FACE.
16312 (fs_load_font): New arg CHARSET_ID. Don't check
16313 Vfont_encoding_alist here.
16314 (find_font_encoding): New function.
16315 (list_fontsets): Use STRINGP, not ! NILP.
16316 (accumulate_script_ranges): New function.
16317 (Fset_fontset_font, Fnew_fontset, Ffontset_info): Completely
16318 re-written to handle new fontset structure.
16319 (Ffontset_font): Return a copy of element.
16320 (syms_of_fontset): Define symbols Qprepend and Qappend. Fix
16321 docstring of font-encoding-alist.
16322
16323 * lisp.h (CHAR_TABLE_REF): Remove unnecessary check (IDX >= 0).
16324 (Fset_fotset_font): Fix arguments to 5.
16325
16326 * msdos.c (XMenuActivate): Adjust for the change of lookup_derived_face.
16327
16328 * xdisp.c (message_dolog, set_message_1, extend_face_to_end_of_line):
16329 Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
16330 (highlight_trailing_whitespace): Adjust for the change of
16331 lookup_named_face.
16332
16333 * xfaces.c: Include charset.h.
16334 (load_face_font): Delete argument C. Change caller.
16335 (generate_ascii_font_name): Rename from generate_ascii_font.
16336 (font_name_registry): New function.
16337 (cache_face): Store ascii faces before non-ascii faces in buckets.
16338 (lookup_face): Delete arguments C and BASE_FACE. Change caller.
16339 Lookup only ascii faces.
16340 (lookup_non_ascii_face): New function.
16341 (lookup_named_face): Delete argument C. Change caller.
16342 (lookup_derived_face): Delete argument C. Change caller.
16343 (try_font_list): New arg PATTERN. Change caller. If PATTERN is
16344 a string, just call font_list with it.
16345 (choose_face_font): Delete arguments FACE and C. New arg
16346 FONT_SPEC. Change caller.
16347 (realize_face, realize_x_face): Delete arguments C and BASE_FACE.
16348 Change caller.
16349 (realize_non_ascii_face): New function.
16350 (realize_x_face): Call load_face_font here.
16351 (realize_tty_face): Delete argument C. Change caller.
16352 (compute_char_face): If CH is not ascii, call FACE_FOR_CHAR to
16353 get a face ID.
16354 (dump_realized_face): Don't print charset of FACE.
16355
16356 * xfns.c (x_set_font): Always call x_new_fontset and
16357 store_frame_parameter.
16358 (Fx_create_frame): Call x_new_fontset, not x_new_font.
16359 (syms_of_xfns): Set get_font_repertory_func to x_get_font_repertory.
16360
16361 * xterm.h (x_get_font_repertory): Extern it.
16362
16363 * xterm.c (x_produce_glyphs): Use ASCII_CHAR_P, not
16364 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
16365 it->multibyte_p is zero.
16366 (XTread_socket): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
16367 (x_new_fontset): If FONTSETNAME doesn't match any existing
16368 fontsets, create a new one.
16369 (x_get_font_repertory): New function.
16370
16371 2008-02-01 Kenichi Handa <handa@m17n.org>
16372
16373 * coding.c (Ffind_coding_systems_region_internal): Detect an
16374 ASCII only string correctly.
16375
16376 * lread.c (Fload): Don't load with Qload_force_doc_strings t if
16377 version is 0.
16378
16379 2008-02-01 Kenichi Handa <handa@m17n.org>
16380
16381 * lread.c: Include "coding.h".
16382 (Qget_emacs_mule_file_char, Qload_force_doc_strings)
16383 (load_each_byte, unread_char): New variables.
16384 (readchar_backlog): Delete.
16385 (readchar): Return a character unless load_each_byte is nonzero.
16386 Handle the case that readcharfun is Qget_emacs_mule_file_char or a
16387 cons. If unread_char is not -1, simply return it.
16388 (unreadchar): Handle the case that readcharfun is
16389 Qget_emacs_mule_file_char or a cons. Set unread_char if necessary.
16390 (read_multibyte): Delete.
16391 (readbyte_for_lambda, readbyte_from_file, readbyte_from_string)
16392 (read_emacs_mule_char): New functions.
16393 (Fload): Even if the file doesn't have the extension ".elc", if
16394 safe_to_load_p returns a positive version number, assume that the
16395 file contains bytecompiled code. If the version is less than 22,
16396 load the file while decoding multibyte sequences by emacs-mule.
16397 (readevalloop): Don't use readchar_backlog.
16398 (Fread): Likewise. Pay attention to the case that STREAM is a cons.
16399 (Fread_from_string): Pay attention to the case that STREAM is a cons.
16400 (read_escape): Delete the arg BYTEREP.
16401 (read1): Set load_each_byte to 1 temporarily while handling
16402 #@NUMBER. Don't call read_multibyte.
16403 (read_vector): Call Fread with a cons. If readcharfun is
16404 Qget_emacs_mule_file_char, decode the read string by emacs-mule.
16405 (read_list): If doc_reference is 2, make the cdr part string as unibyte.
16406 (syms_of_lread): Intern and staticpro Qget_emacs_mule_file_char
16407 and Qload_force_doc_strings.
16408
16409 2008-02-01 Kenichi Handa <handa@m17n.org>
16410
16411 * xdisp.c (face_before_or_after_it_pos): Call
16412 FETCH_MULTIBYTE_CHAR with byte postion, not char position.
16413
16414 2008-02-01 Kenichi Handa <handa@m17n.org>
16415
16416 * character.h (TRAILING_CODE_P): New macro.
16417 (MAYBE_UNIFY_CHAR): Adjust for the change of Funify_charset.
16418 (string_char_with_unification): Fix prototype.
16419 (Vscript_alist): Extern it.
16420
16421 * character.c (Vscript_alist): New variable.
16422 (string_char_with_unification, str_as_unibyte)
16423 (string_escape_byte8): Add `const' to local variables.
16424 (syms_of_character): Declare script-alist as a Lisp variable.
16425
16426 * charset.h (Vcharset_ordered_list): Extern it.
16427 (charset_ordered_list_tick): Extern it.
16428 (EMACS_MULE_LEADING_CODE_PRIVATE_11)
16429 (EMACS_MULE_LEADING_CODE_PRIVATE_12)
16430 (EMACS_MULE_LEADING_CODE_PRIVATE_21)
16431 (EMACS_MULE_LEADING_CODE_PRIVATE_22): New macros.
16432 (Funify_charset): Adjust for the change of Funify_charset.
16433
16434 * charset.c (charset_ordered_list_tick): New variable.
16435 (Fdefine_charset_internal): Increment charset_ordered_list_tick.
16436 (Funify_charset): New optional arg DEUNIFY. If it is non-nil,
16437 deunify intead of unify a charset.
16438 (string_xstring_p): Add `const' to local variables.
16439 (find_charsets_in_text): Add `const' to arguments and local variables.
16440 (encode_char): Adjust for the change of Funify_charset. Fix
16441 detecting of invalid code.
16442 (Fset_charset_priority): Increment charset_ordered_list_tick.
16443 (Fmap_charset_chars): Fix handling of default value for FROM_CODE
16444 and TO_CODE.
16445
16446 * coding.c (LEADING_CODE_PRIVATE_11, LEADING_CODE_PRIVATE_12)
16447 (LEADING_CODE_PRIVATE_21, LEADING_CODE_PRIVATE_22): Delete macros.
16448 Changed callers to use EMACS_MULE_LEADING_CODE_PRIVATE_11, etc.
16449 (decode_coding_ccl, consume_chars)
16450 (Ffind_coding_systems_region_internal)
16451 (Fcheck_coding_systems_region): Add `const' to local variables.
16452
16453 * print.c (print_object): Use octal form for printing the
16454 contents of a bool vector.
16455
16456 2008-02-01 Dave Love <fx@gnu.org>
16457
16458 * lread.c (Fload) <!load_dangerous_libraries>: Don't leak fd.
16459 <version == 20>: Refuse to load.
16460
16461 2008-02-01 Dave Love <fx@gnu.org>
16462
16463 * fns.c: Move coding.h.
16464 (Qcodeset, Qdays, Qmonths): New.
16465 (concat): Use CHARACTERP instead of INTEGERP.
16466 (Flocale_codeset): Delete.
16467 (Flanginfo): New function.
16468 (syms_of_fns): Change accordingly.
16469
16470 * coding.c (adjust_coding_eol_type): Fix eol_type/eol_seen mixup.
16471
16472 2008-02-01 Dave Love <fx@gnu.org>
16473
16474 * casetab.c (init_casetab_once, init_casetab_once): Fix
16475 CHAR_TABLE_SET call.
16476
16477 * category.c (Fmodify_category_entry): Fix CATEGORY_MEMBER call.
16478
16479 * character.c (syms_of_character): Fix CHAR_TABLE_SET call.
16480
16481 * charset.c (Fmap_charset_chars): Check args. Convert Lisp types.
16482 (load_charset_map, Fdeclare_equiv_charset, Fencode_char)
16483 (Fset_charset_priority, syms_of_charset): Convert Lisp types.
16484
16485 * charset.h (CHECK_CHARSET_GET_ID): Use XINT on AREF result.
16486
16487 * coding.c (ENCODE_DESIGNATION, decode_eol)
16488 (make_conversion_work_buffer, code_conversion_restore)
16489 (Fdefine_coding_system_internal): Convert Lisp types.
16490 (code_conversion_restore): Use EQ, not ==.
16491 (Fencode_coding_string): Fix code_convert_string call.
16492
16493 * coding.h (code_convert_region): Fix prototype.
16494
16495 * dispextern.h (redraw_frame, redraw_garbaged_frames): Remove.
16496
16497 * fontset.c (fontset_ref, fontset_set, fs_load_font)
16498 (Ffontset_info): Convert Lisp types.
16499
16500 * syntax.h (SYNTAX_ENTRY_INT): Don't use make_number.
16501
16502 * xterm.c (note_mouse_movement): Fix call of window_from_coordinates.
16503
16504 * xdisp.c (display_mode_element): Fix call of Fset_text_properties.
16505
16506 * chartab.c: Include "...h", not <...h> in some cases.
16507
16508 * callproc.c (Fcall_process): Remove unused variables.
16509
16510 2008-02-01 Dave Love <fx@gnu.org>
16511
16512 * coding.c (Fset_coding_system_priority): Allow null arg list.
16513
16514 2008-02-01 Dave Love <fx@gnu.org>
16515
16516 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
16517 (Fself_insert_and_exit): Use CHARACTERP.
16518
16519 * callproc.c (Fcall_process): Remove unused vars.
16520
16521 * xterm.c (XTread_socket): Add extra dead keysyms.
16522
16523 * xdisp.c (decode_mode_spec_coding): Use CHARACTERP.
16524
16525 * dispextern.h: Remove prototypes for redraw_frame,
16526 redraw_garbaged_frames.
16527
16528 * cmds.c (Fself_insert_command): Use CHARACTERP.
16529
16530 * chartab.c (make_sub_char_table): Remove unused var.
16531 (Fset_char_table_default, Fmap_char_table): Doc fix.
16532
16533 * keymap.c (access_keymap): Remove generic char code.
16534 (push_key_description): Use CHARACTERP.
16535
16536 2008-02-01 Dave Love <fx@gnu.org>
16537
16538 * charset.c: Doc fixes.
16539 (Funify_charset): Extra checking.
16540
16541 2008-02-01 Dave Love <fx@gnu.org>
16542
16543 * lread.c: Remove some unused variables.
16544 (safe_to_load_p): If safe, return the magic number version byte.
16545 (Fload): Maybe use load-with-code-conversion.
16546
16547 2008-02-01 Kenichi Handa <handa@m17n.org>
16548
16549 * category.c (Fmodify_category_entry): Don't modify the contents
16550 of category_set for characters out of the range. Avoid
16551 unnecessary modification.
16552
16553 * character.h (MAYBE_UNIFY_CHAR): Adjust for the change of
16554 Vchar_unify_table. The default value of the table is now nil.
16555
16556 * character.c (syms_of_character): Setup Vchar_width_table for
16557 eight-bit-control and raw-byte chars.
16558
16559 * charset.h (enum define_charset_arg_index): Delete
16560 charset_arg_parents and add charset_arg_subset and
16561 charset_arg_superset.
16562 (enum charset_attr_index): Delete charset_parents and add
16563 charset_subset and charset_superset.
16564 (enum charset_method): Delete CHARSET_METHOD_INHERIT and add
16565 CHARSET_METHOD_SUBSET and CHARSET_METHOD_SUPERSET.
16566 (CHARSET_ATTR_PARENTS, CHARSET_PARENTS): Delete.
16567 (CHARSET_ATTR_SUBSET, CHARSET_ATTR_SUPERSET, CHARSET_SUBSET)
16568 (CHARSET_SUPERSET): New macros.
16569 (charset_work): Extern it.
16570 (ENCODE_CHAR): Use charset_work.
16571 (CHAR_CHARSET_P): Adjust for the change of encoder format.
16572 (map_charset_chars): Extern it.
16573
16574 * charset.c (load_charset_map): Set the default value of encoder
16575 and deunifier char-tables to nil.
16576 (map_charset_chars): Change argument. Change callers. Use
16577 map_char_table_for_charset instead of map_char_table.
16578 (Fmap_charset_chars): New optional args from_code and to_code.
16579 (Fdefine_charset_internal): Adjust for the change of
16580 `define-charset' (:parents -> :subset or :superset).
16581 (charset_work): New variable.
16582 (encode_char, syms_of_charset): Adjust for the change of
16583 Fdefine_charset_internal.
16584 (Ffind_charset_string): Setup the vector `charsets' correctly.
16585
16586 * chartab.c (sub_char_table_ref_and_range): New arg default. Fix
16587 the previous change.
16588 (char_table_ref_and_range): Adjust for the above change.
16589 (map_sub_char_table_for_charset): New function.
16590 (map_char_table_for_charset): New function.
16591
16592 * keymap.c (describe_vector): Handle a char-table directly here.
16593 (describe_char_table): Delete.
16594
16595 * lisp.h (map_charset_chars): Delete.
16596
16597 2008-02-01 Dave Love <fx@gnu.org>
16598
16599 * fns.c (count_combining): Comment out (unused).
16600 (Flocale_codeset): New.
16601 (syms_of_fns): Defsubr it.
16602
16603 * config.in (HAVE_PTY_H, HAVE_SIZE_T, HAVE_LANGINFO_CODESET): New.
16604 (size_t): Remove.
16605
16606 2008-02-01 Dave Love <fx@gnu.org>
16607
16608 * Makefile.in (chartab.o): Depend on charset.h.
16609
16610 2008-02-01 Kenichi Handa <handa@m17n.org>
16611
16612 * character.c (syms_of_character): Set the default value of
16613 Vprintable_chars to Qnil.
16614
16615 2008-02-01 Dave Love <fx@gnu.org>
16616
16617 * Makefile.in (lisp, shortlisp): Change indian.elc to indian.el.
16618
16619 2008-02-01 Kenichi Handa <handa@m17n.org>
16620
16621 * charset.c (load_charset_map): Handle the case that from < to
16622 correctly.
16623
16624 * coding.c (encode_coding_emacs_mule, encode_coding_iso_2022)
16625 (encode_coding_sjis, encode_coding_big5, encode_coding_charset):
16626 Pay attention to raw-8-bit chars.
16627
16628 2008-02-01 Kenichi Handa <handa@m17n.org>
16629
16630 * Makefile.in (lisp, shortlisp): Change chinese.elc to chinese.el.
16631 It is not bytecompiled now.
16632
16633 * charset.c (charset_jisx0201_roman, charset_jisx0208_1978)
16634 (charset_jisx0208): New variables.
16635 (Fdefine_charset_internal): Setup them if appropriate.
16636 (init_charset_once): Initialize them to -1.
16637
16638 * charset.h (charset_jisx0201_roman, charset_jisx0208_1978)
16639 (charset_jisx0208): Extern them.
16640
16641 * coding.c (CODING_ISO_FLAG_USE_ROMAN): New macro.
16642 (CODING_ISO_FLAG_USE_OLDJIS): New macro.
16643 (CODING_ISO_FLAG_FULL_SUPPORT): Change macro definition.
16644 (setup_iso_safe_charsets): Fix arguments to Fassq.
16645 (DECODE_DESIGNATION, ENCODE_ISO_CHARACTER_DIMENSION1)
16646 (ENCODE_ISO_CHARACTER_DIMENSION2): Pay attention to
16647 CODING_ISO_FLAG_USE_ROMAN and CODING_ISO_FLAG_USE_OLDJIS.
16648 (encode_coding_iso_2022): Change the 1st arg to
16649 ENCODE_ISO_CHARACTER to a variable.
16650
16651 2008-02-01 Kenichi Handa <handa@m17n.org>
16652
16653 * charset.h (enum define_charset_arg_index): New enums
16654 charset_arg_min_code and charset_arg_max_code.
16655 (struct charset): New member char_index_offset.
16656
16657 * charset.c (CODE_POINT_TO_INDEX, INDEX_TO_CODE_POINT):
16658 Take charset->char_index_offset into account.
16659 (Fdefine_charset_internal): Handle args[charset_arg_min_code] and
16660 args[charset_arg_max_code]. Setup charset.char_index_offset.
16661 (syms_of_charset): Fix args to Fdefine_charset_internal.
16662
16663 2008-02-01 Dave Love <fx@gnu.org>
16664
16665 * coding.c (decode_coding_utf_8): Reject overlong sequences.
16666
16667 2008-02-01 Dave Love <fx@gnu.org>
16668
16669 * coding.c: Doc fixes.
16670 (Fcoding_system_aliases): Fix return value.
16671 (Qmac): Remove (duplicated) definition.
16672
16673 2008-02-01 Dave Love <fx@gnu.org>
16674
16675 * charset.c (Fcharset_priority_list, Fset_charset_priority):
16676 New functions.
16677
16678 * character.c (Fstring): Doc fix.
16679
16680 * charset.c (Fdefine_charset_alias): Update Vcharset_list.
16681
16682 * fontset.c (Ffontset_info): Doc fix. Return charset names, not ids.
16683 (font-encoding-alist): Doc fix.
16684
16685 2008-02-01 Dave Love <fx@gnu.org>
16686
16687 * term.c (costs_set): Declare static, non-initialized for pcc.
16688 (encode_terminal_code): Remove unused var.
16689
16690 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
16691 for K&R.
16692
16693 * xterm.c (xlwmenu_window_p): Fix prototype for K&R.
16694
16695 * coding.c (setup_iso_safe_charsets): Fix arg decl for K&R.
16696 (suffixes): Move out of make_subsidiaries for K&R.
16697
16698 * charset.c (map_charset_chars): Fix c_function declaration for K&R.
16699
16700 * lisp.h (DEFUN) [!PROTOTYPES]: Remove spurious `args'.
16701
16702 2008-02-01 Dave Love <fx@gnu.org>
16703
16704 * data.c (Fchar_or_string_p): Doc fix. Use CHARACTERP.
16705
16706 * category.c (Fmodify_category_entry): Doc fix. Remove unused vars.
16707
16708 2008-02-01 Yong Lu <lyongu@asia-infonet.com>
16709
16710 * charset.c (Fdefine_charset_internal): Fix argument to bzero.
16711
16712 * coding.c (decode_coding_charset): Workaround for the bug of GCC 2.96.
16713
16714 2008-02-01 Kenichi Handa <handa@m17n.org>
16715
16716 * Makefile.in (lisp, shortlisp): Change cyrillic.elc to cyrillic.el,
16717 vietnamese.elc to vietnamese.el. They are not bytecompiled now.
16718
16719 2008-02-01 Kenichi Handa <handa@m17n.org>
16720
16721 * coding.c (decode_coding_charset): Adjust for the change of
16722 Fdefine_coding_system_internal.
16723 (Fdefine_coding_system_internal): For a coding system of
16724 `charset' type, store a list of charset IDs in
16725 `charset_attr_charset_valids' element of coding attributes.
16726
16727 2008-02-01 Kenichi Handa <handa@m17n.org>
16728
16729 * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars.
16730 (emacs_mule_char): New arg src. Delete arg `composition'. Change
16731 caller. Handle 2-byte and 3-byte charsets correctly.
16732 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Rename from
16733 DECODE_EMACS_MULE_COMPOSITION_RULE. Change caller.
16734 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New macro.
16735 (DECODE_EMACS_MULE_21_COMPOSITION): Call
16736 DECODE_EMACS_MULE_COMPOSITION_RULE_21. Produce correct annotation
16737 sequence.
16738 (decode_coding_emacs_mule): Handle composition correctly. Rewind
16739 `src' and `consumed_chars' correctly before calling emacs_mule_char.
16740 (DECODE_COMPOSITION_START): Correctly handle the case of altchar
16741 and alt&rule composition.
16742 (decode_coding_iso_2022): Handle composition correctly.
16743 (init_coding_once): Setup emacs_mule_bytes for private charsets.
16744
16745 * charset.c (Fdefine_charset_internal): Fix bug for the case of
16746 re-defining a charset. If the charset has :emacs-mule-id, setup
16747 emacs_mule_bytes.
16748 (Fmake_char): If CODE1 is nil, use the minimum code of the charset.
16749
16750 2008-02-01 Kenichi Handa <handa@m17n.org>
16751
16752 * coding.c (encode_coding_iso_2022, encode_coding_sjis)
16753 (encode_coding_big5, encode_coding_charset): If coding requires safe
16754 encoding, produce a character specified by
16755 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
16756
16757 2008-02-01 Dave Love <fx@gnu.org>
16758
16759 * xterm.c (XSetIMValues): Declare.
16760
16761 * process.c: Conditionally include sys/wait.h, pty.h.
16762
16763 * print.c (print_object): Fix print format for 64-bit systems.
16764
16765 * keyboard.c (modify_event_symbol): Fix print format for 64-bit systems.
16766
16767 * buffer.c (emacs_strerror): Declare.
16768
16769 * fontset.c (Fclear_face_cache): Declare.
16770 (accumulate_font_info): Comment-out (unused).
16771 (face_for_char, Fset_fontset_font, Ffontset_info): Remove unused
16772 variables.
16773
16774 * character.h (string_escape_byte8): Declare.
16775
16776 * charset.c (load_charset_map, load_charset_map_from_file): Remove
16777 unused vars.
16778 (Fdefine_charset_internal, Fsplit_char, syms_of_charset)
16779 (Fmap_charset_chars): Doc fix.
16780
16781 * coding.c (Vchar_coding_system_table, Qchar_coding_system): Remove.
16782 (Fset_coding_system_priority, Fset_coding_system_priority)
16783 (Fdefine_coding_system_internal): Doc fix.
16784
16785 2008-02-01 Dave Love <fx@gnu.org>
16786
16787 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Remove -nointrinsics.
16788
16789 2008-02-01 Kenichi Handa <handa@m17n.org>
16790
16791 * character.c (string_escape_byte8): Make multibyte string with
16792 correct size.
16793
16794 * charset.c (Fmake_char): Delete unnecessary code.
16795
16796 2008-02-01 Kenichi Handa <handa@m17n.org>
16797
16798 * xfns.c (x_encode_text): Allocate coding.destination here, and
16799 call encode_coding_object with dst_object Qnil.
16800
16801 * buffer.c (Fset_buffer_multibyte): Convert 8-bit bytes to
16802 multibyte form correctly.
16803
16804 * fontset.c (fs_load_font): Check fontp->full_name (not fontname)
16805 against Vfont_encoding_alist.
16806
16807 * coding.c (Fdecode_sjis_char): Fix typo (0x7F->0xFF). Fix the
16808 handling of charset list.
16809 (encode_coding_iso_2022): Setup coding->safe_charsets in advance.
16810 (decode_coding_object): Move point to coding->dst_pos before
16811 calling post-read-conversion function.
16812 (encode_coding_object): Give correct arguments to
16813 pre-write-conversion. Ignore the return value of
16814 pre-write-conversion function. Pay attention to the case that
16815 pre-write-conversion changes the current buffer. If dst_object is
16816 Qt, even if coding->src_bytes is zero, allocate at least one byte
16817 to coding->destination.
16818
16819 * coding.h (JIS_TO_SJIS): Fix typo (j1->s1, j2->s2).
16820
16821 * charset.c (Fmake_char): Make it more backward compatible.
16822 (Fmap_charset_chars): Fix docstring.
16823
16824 2008-02-01 Dave Love <fx@gnu.org>
16825
16826 * coding.c: Doc fixes.
16827 (Fdefine_coding_system_alias): Use names, not symbols, in
16828 coding-system-alist.
16829
16830 2008-02-01 Kenichi Handa <handa@m17n.org>
16831
16832 * fontset.c (free_realized_fontsets): Call Fclear_face_cache instead
16833 of calling free_realized_face.
16834
16835 2008-02-01 Yong Lu <lyongu@asia-infonet.com>
16836
16837 * charset.c (read_hex): Don't treat SPC as a comment starter.
16838 (decode_char): If CODE_POINT_TO_INDEX returns -1, always return -1.
16839 (Fdecode_char): Fix typo.
16840
16841 2008-02-01 Kenichi Handa <handa@m17n.org>
16842
16843 * charset.h (struct charset): New member `code_space_mask'.
16844
16845 * coding.c (coding_set_source): Delete the local variable beg_byte.
16846 (encode_coding_charset, Fdefine_coding_system_internal):
16847 Delete the local variable charset.
16848 (Fdefine_coding_system_internal): Setup
16849 attrs[coding_attr_charset_valids] correctly.
16850
16851 * charset.c (CODE_POINT_TO_INDEX): Utilize `code_space_mask'
16852 member to check if CODE is valid or not.
16853 (Fdefine_charset_internal): Initialize `code_space_mask' member.
16854 (encode_char): Before calling CODE_POINT_TO_INDEX, check if CODE
16855 is within the range of charset->min_code and carset->max_code.
16856
16857 2008-02-01 Dave Love <fx@gnu.org>
16858
16859 * syntax.h (syntax_temp) [!__GNUC__]: Declare.
16860
16861 * dispextern.h (generate_ascii_font): Fix return type.
16862
16863 * xfaces.c (generate_ascii_font): Fix arg declaration.
16864
16865 * coding.c (coding_inherit_eol_type)
16866 (Fset_terminal_coding_system_internal)
16867 (Fset_safe_terminal_coding_system_internal): Fix arg declarations.
16868
16869 2008-02-01 Kenichi Handa <handa@m17n.org>
16870
16871 * coding.c (decode_coding_charset, encode_coding_charset): Handle
16872 multiple charsets correctly.
16873
16874 2008-02-01 Kenichi Handa <handa@m17n.org>
16875
16876 * search.c (boyer_moore): Fix handling of multibyte character
16877 translation.
16878
16879 * xdisp.c (display_mode_element): When the variable `elt' is
16880 changed, update `this' and `lisp_string'.
16881
16882 2008-02-01 Kenichi Handa <handa@m17n.org>
16883
16884 * buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling.
16885
16886 * callproc.c (Fcall_process): Be sure to give the current buffer
16887 to decode_coding_c_string. Update PT and PT_BYTE after the insertion.
16888
16889 * charset.c (struct charset_map_entries): New struct.
16890 (load_charset_map): Rename from parse_charset_map. New args
16891 entries and n_entries. Change caller.
16892 (load_charset_map_from_file): Rename from load_charset_map.
16893 Change caller. New arg control_flag. Call load_charset_map at
16894 the tail.
16895 (load_charset_map_from_vector): New function.
16896 (Fdefine_charset_internal): Setup charset.compact_codes_p.
16897 (encode_char): If the charset is compact, change a character index
16898 to a code point.
16899
16900 * coding.c (coding_alloc_by_making_gap): Check the case that the
16901 source and destination are the same correctly.
16902 (decode_coding_raw_text): Set coding->consumed_char and
16903 coding->consumed to 0.
16904 (produce_chars): If coding->chars_at_source is nonzero, update
16905 coding->consumed_char and coding->consumed before calling
16906 alloc_destination.
16907 (Fdefine_coding_system_alias): Register ALIAS in
16908 Vcoding_system_alist.
16909 (syms_of_coding): Define `no-conversion' coding system at the tail.
16910
16911 * fileio.c (Finsert_file_contents): Set coding_system instead of
16912 val. If the current buffer is multibyte, always call
16913 decode_coding_gap.
16914
16915 * xfaces.c (try_font_list): Give higher priority to fontset's
16916 family than face's family.
16917
16918 2008-02-01 Kenichi Handa <handa@m17n.org>
16919
16920 * callproc.c (Fcall_process): Be sure to give the current buffer
16921 to decode_coding_c_string.
16922
16923 * xfaces.c (try_font_list): Give a family specified in a fontset
16924 higher priority than a family specified in a face.
16925
16926 2008-02-01 Kenichi Handa <handa@m17n.org>
16927
16928 * fileio.c (Finsert_file_contents): Fix calculation of `inserted'.
16929 Fix arguments to insert_from_buffer.
16930
16931 * xdisp.c (display_mode_element): Fix calculation of `bytepos'.
16932
16933 2008-02-01 Kenichi Handa <handa@m17n.org>
16934
16935 * coding.c (produce_chars): Set the variable `multibytep' correctly.
16936 (decode_coding_gap): Set coding->dst_multibyte correctly.
16937
16938 2008-02-01 Kenichi Handa <handa@m17n.org>
16939
16940 * coding.c (encode_coding_utf_8): Initialize produced_chars to 0.
16941 (decode_coding_utf_16): Fix converting high and low bytes to code-point.
16942 (encode_coding_utf_16): Substitute coding->default_char for
16943 non-Unicode characters.
16944 (decode_coding): Don't call record_insert here.
16945 (setup_coding_system): Initialize `surrogate' of
16946 coding->spec.utf_16 to 0.
16947 (EMIT_ONE_BYTE): Fix for multibyte case.
16948
16949 * insdel.c (insert_from_gap): Call record_insert.
16950
16951 2008-02-01 Kenichi Handa <handa@m17n.org>
16952
16953 * casefiddle.c (casify_region): Fix multibyte case.
16954
16955 * character.c (c_string_width): Add return type `int'.
16956 (char_string_with_unification): Delete arg ADVANCED.
16957
16958 * character.h (CHAR_VALID_P): Don't call CHARACTERP.
16959 (CHAR_STRING): Adjust for the change of char_string_with_unification.
16960 (CHAR_STRING_ADVANCE): Make it do-while statement.
16961
16962 * chartab.c (sub_char_table_set_range): Optimize for the case
16963 DEPTH == 3. Add workaround code for a GCC optimization bug.
16964
16965 * charset.c (parse_charset_map): Remove an unused variable.
16966
16967 * coding.c: Delete unused variables.
16968
16969 * fileio.c (Finsert_file_contents): Set coding_system to Qnil
16970 earlier. If inserted is zero and the coding system doesn't
16971 require flushing, don't call decode_coding_gap.
16972
16973 * syntax.h (SET_RAW_SYNTAX_ENTRY): Don't call make_number.
16974
16975 2008-02-01 Kenichi Handa <handa@m17n.org>
16976
16977 The following changes are for using Unicode as an internal
16978 character model, and use UTF-8 format for buffer/string
16979 representation.
16980
16981 * .gdbinit (xchartable): Adjust for the change of char table structure.
16982 (xsubchartable, xcoding, xcharset, xcurbuf): New commands.
16983
16984 * Makefile.in (obj): Add character.o and chartab.o.
16985 (lisp, shortlisp): Remove utf-8.elc.
16986 (*.o): For many files, change dependency on charset.h to
16987 character.h, and add dependency on character.h.
16988 (character.o, chartab.o): New targets.
16989
16990 * abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c:
16991 * doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c:
16992 * w16select.c, w32bdf.c, w32console.c: Include "character.h" instead
16993 of "charset.h".
16994
16995 * dired.c, filelock.c: Include "character.h".
16996
16997 * alloc.c: Include "character.h" instead of "charset.h".
16998 (Fmake_char_table, make_sub_char_table): Move to chartab.c.
16999 (syms_of_alloc): Remove defsubr for Smake_char_table.
17000
17001 * buffer.c: Include "character.h" instead of "charset.h", don't
17002 include "coding.h".
17003 (Fset_buffer_multibyte): Adjust for UTF-8.
17004
17005 * buffer.h: EXFUN Fbuffer_live_p.
17006
17007 * callproc.c: Include "character.h" instead of "charset.h".
17008 (Fcall_process): Big change for the new code-conversion APIs.
17009
17010 * casetab.c: Include "character.h" instead of "charset.h".
17011 (set_canon, set_identity, shuffle): Adjust for the new
17012 map_char_table spec.
17013 (init_casetab_once): Call CHAR_TABLE_SET instead of directly
17014 accessing the char table structure.
17015
17016 * chartab.c: New file that implements char table.
17017
17018 * category.c: Include "character.h".
17019 (copy_category_entry): New function.
17020 (copy_category_table): Call map_char_table and copy_category_entry.
17021 (Fmake_category_table): Initialize all top-level slots.
17022 (char_category_set): New function.
17023 (modify_lower_category_set): Delete.
17024 (Fmodify_category_entry): Call char_table_ref_and_range.
17025
17026 * category.h (CATEGORY_SET): Just call char_category_set.
17027
17028 * ccl.c: Include "character.h".
17029 (Qccl, Qcclp): New variables.
17030 (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if
17031 it's less than 256.
17032 (CCL_WRITE_MULTIBYTE_CHAR): Delete.
17033 (CCL_WRITE_STRING, CCL_READ_CHAR): Adjust for the change of SRC
17034 and DST type.
17035 (ccl_driver): Change types of argument, adjust code accordingly.
17036 (Fccl_execute, Fccl_execute_on_string): Adjust for the change of
17037 ccl_driver.
17038 (syms_of_ccl): Intern and staticpro Qccl and Qcclp.
17039
17040 * ccl.h (struct ccl_program): Delete members eol_type and multibyte.
17041 New members src_multibyte, dst_multibyte, consumed, and produced.
17042 (struct ccl_spec): Delete members decoder and encoder. New member ccl.
17043 (CODING_SPEC_CCL_PROGRAM): New macro.
17044 (ccl_driver): Update prototype.
17045 (Qccl, Qcclp, Fccl_program_p): Extern them.
17046 (CHECK_CCL_PROGRAM): New macro.
17047
17048 * character.c, character.h, chartab.c: New files.
17049
17050 * charset.c: Mostly re-written. Move character and multibyte sequence
17051 handling codes to character.c.
17052
17053 * charset.h: Mostly re-written. Move character and multibyte sequence
17054 handling codes to character.h.
17055
17056 * coding.c, coding.h: Mostly re-written.
17057
17058 * composite.c: Include "character.h" instead of "charset.h".
17059 (CHAR_WIDTH): Move to character.h.
17060 (HASH_KEY, HASH_VALUE): Delete.
17061
17062 * composite.h (enum composition_method): Change order of enumeration
17063 symbols.
17064
17065 * data.c: Include "character.h" instead of "charset.h".
17066 (Faref): Call CHAR_TABLE_REF for a char table.
17067 (Faset): Call CHAR_TABLE_SET for a char table.
17068
17069 * dispextern.h (free_realized_face, check_face_attribytes)
17070 (generate_ascii_font): Extern them.
17071 (free_realized_multibyte_face): Delete extern.
17072
17073 * disptab.h (DISP_CHAR_VECTOR): Adjust for the change of char
17074 table structure.
17075
17076 * editfns.c: Include "character.h" instead of "charset.h".
17077 (Fchar_to_string): Always call CHAR_STRING.
17078
17079 * emacs.c (main): Call init_charset_once, init_charset,
17080 syms_of_chartab, and syms_of_character.
17081
17082 * fileio.c: Include "character.h" instead of "charset.h".
17083 (Finsert_file_contents): Big change for the new code-conversion API.
17084 (choose_write_coding_system, Fwrite_region): Likewise.
17085 (build_annotations_2): Delete.
17086 (e_write): Big change for the new code-conversion API.
17087
17088 * fns.c: Include "character.h" instead of "charset.h".
17089 (copy_sub_char_table): Move to chartab.c.
17090 (Fcopy_sequence): Call copy_char_table for a char table.
17091 (concat): Delete codes calling count_multibyte.
17092 (string_char_to_byte, string_byte_to_char): Adjust for the new
17093 multibyte form.
17094 (internal_equal): Adjust for the change of char table structure.
17095 (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent)
17096 (Fchar_table_extra_slot, Fset_char_table_extra_slot)
17097 (Fchar_table_range, Fset_char_table_range, Fset_char_table_default)
17098 (char_table_translate, optimize_sub_char_table)
17099 (Foptimize_char_table, map_char_table, Fmap_char_table): Move to
17100 chartab.c.
17101 (char_table_ref_and_index): Delete.
17102 (HASH_KEY, HASH_VALUE): Move to lisp.h.
17103 (Fmd5): Call preferred_coding_system instead of accessing
17104 Vcoding_category_list. Adjust for the new code-conversion API.
17105 (syms_of_fns): Move defsubr for char table related functions to
17106 chartab.c.
17107
17108 * fontset.c: Mostly re-written.
17109
17110 * fontset.h (struct font_info): Change type of the member encoding_type.
17111 (enum FONT_SPEC_INDEX): New enum.
17112 (fontset_font_pattern, fs_load_font): Update prototype.
17113 (FS_LOAD_FONT): Adjust for the change of fs_load_font.
17114
17115 * indent.c: Include "character.h" instead of "charset.h".
17116 (MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of WIDTH_BY_CHAR_HEAD.
17117
17118 * insdel.c: Include "character.h" instead of "charset.h".
17119 (copy_text): Don't refer to Vnonascii_translation_table.
17120 (insert_from_gap): New function.
17121
17122 * keyboard.c: Include "character.h" instead of "charset.h".
17123 (command_loop_1): Never call direct_output_forward_char before
17124 a non-ASCII character.
17125 (read_char): If Vkeyboard_translate_table is a char table, always
17126 translate a character.
17127
17128 * keymap.c: Include "character.h".
17129 (store_in_keymap): Handle the case that IDX is a cons.
17130 (Fdefine_key): Handle the case that KEY is a cons and the car part
17131 is also a cons (range).
17132 (push_key_description): Adjust for the new character code.
17133 (describe_vector): Call describe_char_table for a char table.
17134 (describe_char_table): New function.
17135
17136 * keymap.h (describe_char_table): Extern it.
17137
17138 * lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE.
17139 (XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros.
17140 (CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS)
17141 (SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):
17142 Delete.
17143 (CHAR_TABLE_REF, CHAR_TABLE_SET): Adjust for the new char table
17144 structure.
17145 (CHAR_TABLE_TRANSLATE): Just call char_table_translate.
17146 (CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2)
17147 (CHARTAB_SIZE_BITS_3): New macros.
17148 (chartab_size): Extern it.
17149 (struct Lisp_Char_Table): Re-design.
17150 (struct Lisp_Sub_Char_Table): New structure.
17151 (HASH_KEY, HASH_VALUE): Move from fns.c.
17152 (CHARACTERBITS): Define as 22.
17153 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjust for the above change.
17154 (SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE.
17155 (GC_SUB_CHAR_TABLE_P): New macro.
17156 (Fencode_coding_string, Fdecode_coding_string): Update EXFUN.
17157 (code_convert_string_norecord): Deleted extern.
17158 (init_character_once, syms_of_character, init_charset)
17159 (syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them.
17160
17161 * lread.c: Include "character.h".
17162 (read_multibyte): New arg NBYTES.
17163 (read_escape): Change the meaning of returned *BYTEREP.
17164 (to_multibyte): Delete.
17165 (read1): Adjust the handling of char table and string.
17166
17167 * print.c: Include "character.h" instead of "charset.h".
17168 (print_string): Convert 8-bit raw bytes to octal form by
17169 string_escape_byte8.
17170 (print_object): Adjust for the new multibyte form. Print 8-bit
17171 raw bytes always in octal form. Handle sub char table correctly.
17172
17173 * process.c: Include "character.h" instead of "charset.h".
17174 (read_process_output, send_process): Adjust for the new
17175 code-conversion API.
17176
17177 * puresize.h (BASE_PURESIZE): Increase.
17178
17179 * regex.c: Include "character.h" instead of "charset.h".
17180 (BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros.
17181 (regex_compile): Accept a range whose starting and ending
17182 character have different leading bytes.
17183 (analyse_first): Adjust for the above change.
17184
17185 * search.c: Include "character.h" instead of "charset.h".
17186 (search_buffer, boyer_moore): Adjust for the new multibyte form.
17187 (Freplace_match): Adjust for the change of multibyte_char_to_unibyte.
17188
17189 * syntax.c: Include "character.h" instead of "charset.h".
17190 (syntax_parent_lookup): Delete.
17191 (Fmodify_syntax_entry): Accept a cons as CHAR.
17192 (skip_chars): Adjust for the new multibyte form.
17193 (init_syntax_once): Call char_table_set_range instead of directly
17194 accessing the structure of a char table.
17195
17196 * syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET.
17197 (SYNTAX_ENTRY_FOLLOW_PARENT): Delete macro.
17198 (SET_RAW_SYNTAX_ENTRY_RANGE): New macro.
17199 (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF.
17200
17201 * term.c: Include "buffer.h" and "character.h".
17202 (encode_terminal_code, write_glyphs): Adjust for the new
17203 code-conversion API.
17204 (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH.
17205
17206 * w32term.c (x_new_font): Adjust for the change of FS_LOAD_FONT.
17207
17208 * xdisp.c: Include "character.h".
17209 (get_next_display_element): Adjust for the new multibyte form.
17210 (disp_char_vector): Adjust for the new char table structure.
17211 (decode_mode_spec_coding): Adjust for the new structure of
17212 coding system.
17213 (decode_mode_spec): Adjust for the new code-conversion API.
17214
17215 * xfaces.c: Include "character.h" instead of "charset.h".
17216 (load_face_font): Adjust for the change of choose_face_font and
17217 FS_LOAD_FONT.
17218 (generate_ascii_font): New function.
17219 (set_lface_from_font_name): Adjust for the change of FS_LOAD_FONT.
17220 (set_font_frame_param): Adjust for the change of choose_face_font.
17221 (free_realized_face): Make it public.
17222 (free_realized_faces_for_fontset): Rename from
17223 free_realized_multibyte_face. Free also faces realized for ASCII.
17224 (choose_face_font): Change arguments. Adjust for the change of
17225 fontset_font_pattern and FS_LOAD_FONT.
17226
17227 * xfns.c: Include "character.h".
17228 (x_encode_text): Adjust for the new code-conversion API.
17229
17230 * xselect.c: Don't include "charset.h".
17231 (selection_data_to_lisp_data): Adjust for the new code conversion API.
17232
17233 * xterm.c: Include "character.h".
17234 (x_encode_char): New argument CHARSET. Change caller.
17235 (x_get_char_face_and_encoding, x_get_glyph_face_and_encoding):
17236 Call ENCODE_CHAR instead of SPLIT_CHAR.
17237 (x_produce_glyphs): Don't check Vnonascii_translation_table Call
17238 CHAR_WIDTH instead of CHARSET_WIDTH.
17239 (XTread_socket): Adjust for the new code-conversion API.
17240 (x_new_font): Adjust for the change of FS_LOAD_FONT.
17241 (x_load_font): Adjust for the change of struct font.
17242
17243 2008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
17244
17245 * xfaces.c (face_at_buffer_position): Remove unused vars.
17246
17247 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
17248
17249 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR):
17250 Fix overflow checking.
17251
17252 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
17253
17254 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR, ccl_driver):
17255 Cancel previous change.
17256
17257 2008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
17258
17259 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when
17260 ccl->eight_bit_control. Fix check for buffer overflow.
17261 (CCL_WRITE_MULTIBYTE_CHAR): Fix check for buffer overflow.
17262 (ccl_driver): Initialize extra_bytes to 0.
17263
17264 2008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
17265
17266 * keyboard.c (make_ctrl_char): If C is a multibyte character, just
17267 return it ORed with ctrl_modifier.
17268
17269 2008-01-29 Miles Bader <miles@gnu.org>
17270
17271 * macterm.c (XTset_vertical_scroll_bar): Fix merge mistake.
17272
17273 2008-01-28 Jason Rumney <jasonr@gnu.org>
17274
17275 * w32.c (stat): Don't double check for networked drive.
17276
17277 2008-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
17278
17279 * window.c (run_window_configuration_change_hook): New function.
17280 Code extracted from set_window_buffer. Set the selected frame.
17281 (set_window_buffer): Use it.
17282 * window.h (run_window_configuration_change_hook): Declare.
17283 * dispnew.c (change_frame_size_1): Use it instead of set-window-buffer.
17284
17285 * keyboard.c (read_char): Yet another int/Lisp_Object mixup (YAILOM).
17286
17287 2008-01-27 Dan Nicolaescu <dann@ics.uci.edu>
17288
17289 * Makefile.in: Remove references to unused macros.
17290
17291 2008-01-26 Eli Zaretskii <eliz@gnu.org>
17292
17293 * w32.c (g_b_init_get_sid_sub_authority)
17294 (g_b_init_get_sid_sub_authority_count): New static variables.
17295 (GetSidSubAuthority_Proc, GetSidSubAuthorityCount_Proc): New typedefs.
17296 (get_sid_sub_authority, get_sid_sub_authority_count): New functions.
17297 (init_user_info): Use them to retrieve uid and gid.
17298 Use 500/513, the Windows defaults, as Administrator's uid/gid.
17299 (fstat): Use pw_uid and pw_gid from the_passwd structure for
17300 st_uid and st_gid of the file.
17301
17302 2008-01-26 Jason Rumney <jasonr@gnu.org>
17303
17304 * w32.c (logon_network_drive): New function.
17305 (stat): Use it.
17306
17307 2008-01-26 Chong Yidong <cyd@stupidchicken.com>
17308
17309 * xdisp.c (pos_visible_p): Handle the case where charpos falls on
17310 invisible text covered with an ellipsis.
17311
17312 2008-01-25 Richard Stallman <rms@gnu.org>
17313
17314 * xdisp.c (redisplay_window): Run Qwindow_text_change_functions and
17315 jump back to beginning. Move some other initializations after that.
17316 (Qwindow_text_change_functions, Vwindow_text_change_functions):
17317 New variables.
17318 (syms_of_xdisp): Init them.
17319
17320 * keyboard.c (read_char): Restore echo_message_buffer after redisplay.
17321
17322 * buffer.c (reset_buffer_local_variables):
17323 Implement `permanent-local-hook'.
17324 (Qpermanent_local_hook): New variable.
17325 (syms_of_buffer): Init and staticpro it.
17326
17327 2008-01-25 Michael Albinus <michael.albinus@gmx.de>
17328
17329 * dbusbind.c (xd_retrieve_arg): Pacify GCC on x86_64 GNU/Linux.
17330
17331 2008-01-25 Thien-Thi Nguyen <ttn@gnuvola.org>
17332
17333 * fns.c (Fclrhash): Return TABLE.
17334
17335 2008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17336
17337 * macterm.c (x_scroll_bar_create): Initialize bar->redraw_needed_p.
17338 (XTset_vertical_scroll_bar): Redraw scroll bar if bar->redraw_needed_p
17339 is set even without positional changes.
17340 (x_scroll_bar_clear): Set bar->redraw_needed_p.
17341
17342 * macterm.h (struct scroll_bar): New member `redraw_needed_p'.
17343
17344 2008-01-23 Jason Rumney <jasonr@gnu.org>
17345
17346 * xterm.c (handle_one_xevent): Revert to counting chars not bytes.
17347
17348 * w32term.c (w32_read_socket) <WM_CHAR>: Decode characters outside
17349 the unicode range available in MULE by locale-coding-system.
17350 Improve dbcs lead byte detection. Set event timestamp and modifiers
17351 earlier.
17352
17353 2008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17354
17355 * mac.c (mac_emacs_pid) [MAC_OSX]: New variable.
17356 [MAC_OSX] (init_mac_osx_environment): Initialize it.
17357 [MAC_OSX] (mac_try_close_socket) [SELECT_USE_CFSOCKET]: Return 0
17358 when used on child processes.
17359
17360 2008-01-21 Michael Albinus <michael.albinus@gmx.de>
17361
17362 * dbusbind.c (Fdbus_method_return_internal): Rename from
17363 Fdbus_method_return.
17364 (Fdbus_unregister_object): Move to dbus.el.
17365 (Fdbus_call_method, Fdbus_method_return_internal)
17366 (Fdbus_send_signal): Improve debug messages.
17367
17368 2008-01-20 Martin Rudalics <rudalics@gmx.at>
17369
17370 * undo.c (undo_inhibit_record_point): New variable.
17371 (syms_of_undo): Initialize it.
17372 (record_point): Don't record point when undo_inhibit_record_point
17373 is set.
17374
17375 2008-01-19 Stefan Monnier <monnier@iro.umontreal.ca>
17376
17377 * process.c (list_processes_1): Don't use SCHARS on a nil buffer name.
17378
17379 * xdisp.c (Qauto_hscroll_mode): New var.
17380 (syms_of_xdisp): Initialize it.
17381 (hscroll_window_tree): Use it to lookup `auto-hscroll-mode' in each
17382 window's buffer.
17383 (hscroll_windows): Don't check automatic_hscrolling_p here.
17384
17385 * window.c (set_window_buffer): Don't unnecessarily reset hscroll and
17386 vscroll if we're setting window-buffer to the value it already has.
17387
17388 2008-01-18 Dan Nicolaescu <dann@ics.uci.edu>
17389
17390 * m/intel386.h: Remove references to XENIX.
17391
17392 2008-01-17 Andreas Schwab <schwab@suse.de>
17393
17394 * m/amdx86-64.h (START_FILES, LIB_STANDARD): Use HAVE_LIB64_DIR
17395 instead of HAVE_X86_64_LIB64_DIR.
17396 * m/ibms390x.h (START_FILES, LIB_STANDARD): Likewise.
17397
17398 2008-01-17 Glenn Morris <rgm@gnu.org>
17399
17400 * m/ibms390x.h (START_FILES, LIB_STANDARD): Adjust value according
17401 to HAVE_X86_64_LIB64_DIR.
17402
17403 2008-01-16 Dan Nicolaescu <dann@ics.uci.edu>
17404
17405 * s/irix3-3.h:
17406 * s/irix4-0.h:
17407 * s/386-ix.h:
17408 * s/domain.h:
17409 * s/hpux9-x11r4.h:
17410 * s/hpux9shxr4.h: Remove files for systems no longer supported.
17411
17412 * sysdep.c: Remove code containing references to symbols defined
17413 by unsupported systems.
17414
17415 2008-01-16 Glenn Morris <rgm@gnu.org>
17416
17417 * coding.c (select-safe-coding-system-function): Doc fix.
17418
17419 2008-01-15 Glenn Morris <rgm@gnu.org>
17420
17421 * config.in: Revert 2008-01-13 change: this is a generated file.
17422
17423 2008-01-13 Tom Tromey <tromey@redhat.com>
17424
17425 * lisp.h: Fix typo.
17426
17427 2008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
17428
17429 * m/sequent-ptx.h:
17430 * m/sequent.h:
17431 * s/ptx.h:
17432 * s/ptx4-2.h:
17433 * s/ptx4.h: Remove files for systems no longer supported.
17434
17435 * callproc.c (Fcall_process): Fix previous change.
17436
17437 2008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
17438
17439 * unexsunos4.c: Remove file, system not supported anymore.
17440
17441 * m/mips.h:
17442 * m/intel386.h:
17443 * callproc.c:
17444 * config.in:
17445 * ecrt0.c:
17446 * emacs.c:
17447 * fileio.c:
17448 * frame.c:
17449 * getpagesize.h:
17450 * keyboard.c:
17451 * lread.c:
17452 * process.c:
17453 * puresize.h:
17454 * sysdep.c:
17455 * systty.h:
17456 * syswait.h:
17457 * unexec.c:
17458 * xdisp.c:
17459 * alloc.c: Remove code containing references to symbols defined by
17460 unsupported systems.
17461
17462 2008-01-11 Kenichi Handa <handa@ni.aist.go.jp>
17463
17464 * coding.c (detect_coding_mask): Fix previous change.
17465
17466 2008-01-09 Kenichi Handa <handa@ni.aist.go.jp>
17467
17468 * coding.c (detect_coding_iso2022): New arg
17469 latin_extra_code_state. Allow Latin extra codes only
17470 when *latin_extra_code_state is nonzero.
17471 (detect_coding_mask): If there is a NULL byte, detect the encoding
17472 as UTF-16 or binary. If Latin extra codes exist, detect the
17473 encoding as ISO-2022 only when there's no other proper encoding is
17474 found.
17475
17476 2008-01-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17477
17478 * frame.c (Fmake_terminal_frame): Use #ifdef MAC_OS8 instead of
17479 #ifdef MAC_OS.
17480
17481 2008-01-08 Richard Stallman <rms@gnu.org>
17482
17483 * fileio.c (Ffile_name_directory, Fexpand_file_name): Doc fixes.
17484
17485 2008-01-06 Nick Roberts <nickrob@snap.net.nz>
17486
17487 * keyboard.c (parse_menu_item): Don't enclose key bindings on
17488 menu bar in parentheses.
17489
17490 2008-01-06 Dan Nicolaescu <dann@ics.uci.edu>
17491
17492 * m/7300.h:
17493 * m/acorn.h:
17494 * m/alliant-2800.h:
17495 * m/alliant.h:
17496 * m/alliant1.h:
17497 * m/alliant4.h:
17498 * m/altos.h:
17499 * m/amdahl.h:
17500 * m/apollo.h:
17501 * m/att3b.h:
17502 * m/aviion-intel.h:
17503 * m/aviion.h:
17504 * m/celerity.h:
17505 * m/clipper.h:
17506 * m/cnvrgnt.h:
17507 * m/convex.h:
17508 * m/cydra5.h:
17509 * m/delta88k.h:
17510 * m/dpx2.h:
17511 * m/dual.h:
17512 * m/elxsi.h:
17513 * m/f301.h:
17514 * m/gould-np1.h:
17515 * m/gould.h:
17516 * m/i860.h:
17517 * m/ibmps2-aix.h:
17518 * m/ibmrt-aix.h:
17519 * m/ibmrt.h:
17520 * m/irist.h:
17521 * m/is386.h:
17522 * m/isi-ov.h:
17523 * m/mega68.h:
17524 * m/mg1.h:
17525 * m/news-r6.h:
17526 * m/news-risc.h:
17527 * m/news.h:
17528 * m/nh3000.h:
17529 * m/nh4000.h:
17530 * m/ns16000.h:
17531 * m/ns32000.h:
17532 * m/nu.h:
17533 * m/orion.h:
17534 * m/orion105.h:
17535 * m/paragon.h:
17536 * m/pfa50.h:
17537 * m/plexus.h:
17538 * m/pyramid.h:
17539 * m/pyrmips.h:
17540 * m/sh3el.h:
17541 * m/sps7.h:
17542 * m/sr2k.h:
17543 * m/stride.h:
17544 * m/sun1.h:
17545 * m/sun2.h:
17546 * m/sun3-68881.h:
17547 * m/sun3-fpa.h:
17548 * m/sun3-soft.h:
17549 * m/sun3.h:
17550 * m/sun386.h:
17551 * m/symmetry.h:
17552 * m/tad68k.h:
17553 * m/tahoe.h:
17554 * m/targon31.h:
17555 * m/tek4300.h:
17556 * m/tekxd88.h:
17557 * m/tower32.h:
17558 * m/tower32v3.h:
17559 * m/ustation.h:
17560 * m/wicat.h:
17561 * m/xps100.h:
17562 * s/cxux.h:
17563 * s/cxux7.h:
17564 * s/dgux.h:
17565 * s/dgux4.h:
17566 * s/dgux5-4-3.h:
17567 * s/dgux5-4r2.h:
17568 * s/esix.h:
17569 * s/esix5r4.h:
17570 * s/hiuxmpp.h:
17571 * s/hiuxwe2.h:
17572 * s/iris3-5.h:
17573 * s/iris3-6.h:
17574 * s/isc2-2.h:
17575 * s/isc3-0.h:
17576 * s/isc4-0.h:
17577 * s/isc4-1.h:
17578 * s/newsos5.h:
17579 * s/newsos6.h:
17580 * s/osf1.h:
17581 * s/osf5-0.h:
17582 * s/riscix1-1.h:
17583 * s/riscix12.h:
17584 * s/sco4.h:
17585 * s/sco5.h:
17586 * s/sunos4-0.h:
17587 * s/sunos4-1.h:
17588 * s/sunos413.h:
17589 * s/sunos4shr.h:
17590 * s/umax.h:
17591 * s/unipl5-2.h:
17592 * s/xenix.h:
17593 * cxux-crt0.s:
17594 * unexapollo.c:
17595 * unexconvex.c:
17596 * unexenix.c:
17597 * unexsni.c: Remove files for systems no longer supported.
17598
17599 * m/intel386.h: Remove references to unsupported systems.
17600
17601 * w32.c (get_emacs_configuration): Remove reference to i860.
17602
17603 * sysdep.c: Remove dead code.
17604
17605 2008-01-05 Dan Nicolaescu <dann@ics.uci.edu>
17606
17607 * s/rtu.h:
17608 * m/masscomp.h: Remove files. Platform is obsolete.
17609
17610 2008-01-04 Michael Albinus <michael.albinus@gmx.de>
17611
17612 * dbusbind.c (Fdbus_method_return): New function.
17613 (xd_read_message): Add the serial number to the event.
17614 (Fdbus_register_method): Activate the function.
17615
17616 2008-01-03 Stefan Monnier <monnier@iro.umontreal.ca>
17617
17618 * keyboard.c (read_key_sequence): Fix typo.
17619
17620 2008-01-03 Michael Albinus <michael.albinus@gmx.de>
17621
17622 * dbusbind.c (all): Replace XCAR by CAR_SAFE and XCDR by CDR_SAFE.
17623 (xd_signature, xd_append_arg): Handle element type detection for
17624 empty arrays.
17625 (Fdbus_call_method, Fdbus_send_signal): Undo type casting for
17626 SDATA () calls; this must be solved more general.
17627 (Fdbus_register_signal): Use SBYTES instead of strlen.
17628
17629 2008-01-03 Magnus Henoch <magnus@zemdatav>
17630
17631 * dbusbind.c (xd_append_arg): Use unsigned char instead of
17632 unsigned int for byte values (necessary for big-endian platform).
17633 (Fdbus_call_method): Handle the case of no returned arguments.
17634
17635 2007-12-31 Tom Tromey <tromey@redhat.com> (tiny change)
17636
17637 * dbusbind.c (xd_read_message): Use non-static input_event struct.
17638
17639 2007-12-31 Magnus Henoch <mange@freemail.hu>
17640
17641 * dbusbind.c (xd_signature): Signature of variant is just "v".
17642
17643 2007-12-30 Michael Albinus <michael.albinus@gmx.de>
17644
17645 * dbusbind.c: Fix several errors and compiler warnings.
17646 Reported by Tom Tromey <tromey@redhat.com>.
17647 (XD_ERROR, XD_DEBUG_MESSAGE)
17648 (XD_DEBUG_VALID_LISP_OBJECT_P): Wrap code with "do ... while (0)".
17649 (xd_append_arg): Part for basic D-Bus types rewritten.
17650 (xd_retrieve_arg): Split implementation of DBUS_TYPE_BYTE and
17651 DBUS_TYPE_(U)INT16. Don't call XD_DEBUG_MESSAGE with "%f" if not
17652 appropriate.
17653 (xd_read_message): Return Qnil. Don't signal an error; it is not
17654 useful during event reading.
17655 (Fdbus_register_signal): Signal an error if the check for
17656 FUNCTIONP fails.
17657 (Fdbus_register_method): New function. The implementation is not
17658 complete, the call of the function signals an error therefore.
17659 (Fdbus_unregister_object): New function, renamed from
17660 Fdbus_unregister_signal. The initial check signals an error, if
17661 the object is not well formed.
17662
17663 2007-12-30 Richard Stallman <rms@gnu.org>
17664
17665 * textprop.c (get_char_property_and_overlay):
17666 Signal error if POSITION is out of range in a buffer.
17667
17668 2007-12-29 Martin Rudalics <rudalics@gmx.at>
17669
17670 * w32fns.c (Fx_create_frame): Make copy of frame parameters
17671 because the original parameters are in pure storage now.
17672
17673 2007-12-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17674
17675 * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area.
17676
17677 2007-12-22 Eli Zaretskii <eliz@gnu.org>
17678
17679 * callint.c (syms_of_callint) <command-history>: Add reference to
17680 history-length in the doc string.
17681
17682 2007-12-17 Jason Rumney <jasonr@gnu.org>
17683
17684 * w32fns.c (w32_wnd_proc) <WM_KEYDOWN>: Cast char to unsigned
17685 before passing as wParam.
17686
17687 2007-12-22 Michael Albinus <michael.albinus@gmx.de>
17688
17689 * dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_BYTE,
17690 DBUS_TYPE_INT16, DBUS_TYPE_UINT16, DBUS_TYPE_INT64,
17691 DBUS_TYPE_UINT64, DBUS_TYPE_DOUBLE and DBUS_TYPE_SIGNATURE.
17692 Return float when DBUS_TYPE_INT32 or DBUS_TYPE_UINT32 do not fit
17693 as number.
17694 (Fdbus_call_method): Fix docstring.
17695
17696 2007-12-21 Michael Albinus <michael.albinus@gmx.de>
17697
17698 * dbusbind.c (XD_BASIC_DBUS_TYPE, XD_DBUS_TYPE_P, XD_NEXT_VALUE):
17699 New macros.
17700 (XD_SYMBOL_TO_DBUS_TYPE): Rename from XD_LISP_SYMBOL_TO_DBUS_TYPE.
17701 (XD_OBJECT_TO_DBUS_TYPE): Rename from XD_LISP_OBJECT_TO_DBUS_TYPE.
17702 Simplify.
17703 (xd_signature): New function.
17704 (xd_append_arg): Compute also signatures. Major rewrite.
17705 (xd_retrieve_arg): Make debug messages friendly.
17706 (Fdbus_call_method, Fdbus_send_signal): Extend docstring.
17707 Check for signatures of arguments.
17708
17709 2007-12-19 Michael Albinus <michael.albinus@gmx.de>
17710
17711 * dbusbind.c (QCdbus_type_byte, QCdbus_type_boolean)
17712 (QCdbus_type_int16, QCdbus_type_uint16, QCdbus_type_int32)
17713 (QCdbus_type_uint32, QCdbus_type_int64, QCdbus_type_uint64)
17714 (QCdbus_type_double, QCdbus_type_string, QCdbus_type_object_path)
17715 (QCdbus_type_signature, QCdbus_type_array, QCdbus_type_variant)
17716 (QCdbus_type_struct, QCdbus_type_dict_entry): New D-Bus type symbols.
17717 (XD_LISP_SYMBOL_TO_DBUS_TYPE): New macro.
17718 (XD_LISP_OBJECT_TO_DBUS_TYPE): Add compound types.
17719 (xd_retrieve_value): Remove. Functionality included in ...
17720 (xd_append_arg): New function.
17721 (Fdbus_call_method, Fdbus_send_signal): Apply it.
17722
17723 2007-12-16 Michael Albinus <michael.albinus@gmx.de>
17724
17725 * dbusbind.c (top): Include <stdio.h>.
17726 (Fdbus_call_method, Fdbus_send_signal): Apply type cast in
17727 dbus_message_new_method_call and dbus_message_new_signal.
17728 (Fdbus_register_signal): Rename unique_name to uname.
17729 Check handler for FUNCTIONP instead of CHECK_SYMBOL. Handle case of
17730 non-existing unique name. Fix typos in matching rule. Return an
17731 object which is useful in Fdbus_unregister_signal.
17732 (Fdbus_unregister_signal): Reimplementation, in order to remove
17733 only the corresponding entry.
17734 (Vdbus_registered_functions_table): Change the order of entries.
17735 Apply these changes in xd_read_message and Fdbus_register_signal.
17736
17737 2007-12-16 Andreas Schwab <schwab@suse.de>
17738
17739 * fileio.c (Finsert_file_contents): Fix overflow check to not
17740 depend on undefined integer overflow.
17741
17742 2007-12-14 Jason Rumney <jasonr@gnu.org>
17743
17744 * w32term.c (w32_read_socket): Use MULTIBYTE_CHAR_KEYSTROKE_EVENT
17745 for characters above 127.
17746
17747 2007-12-13 Jason Rumney <jasonr@gnu.org>
17748
17749 * w32fns.c (w32_wnd_proc, Fw32_reconstruct_hot_key): Range check
17750 before dereferencing array.
17751 (lookup_vk_code): Remove zero comparison.
17752
17753 2007-12-14 Michael Albinus <michael.albinus@gmx.de>
17754
17755 * dbusbind.c (xd_retrieve_value, xd_retrieve_arg)
17756 (Fdbus_call_method, Fdbus_send_signal, xd_read_message):
17757 Use `unsigned int' instead of `uint'.
17758 (xd_read_message, Fdbus_register_signal): Split expressions into
17759 multiple lines before operators "&&" and "||", according to the
17760 GNU Coding Standards.
17761
17762 2007-12-14 Eli Zaretskii <eliz@gnu.org>
17763
17764 * dispextern.h (WINDOWS_NT): Fix incorrect spelling of WINDOWSNT.
17765
17766 2007-12-12 Juri Linkov <juri@jurta.org>
17767
17768 * buffer.c (Frename_buffer): In interactive spec replace
17769 `read-buffer' with `read-string' that uses `buffer-name-history'
17770 as history, and the current buffer's name as default.
17771
17772 2007-12-10 Stefan Monnier <monnier@iro.umontreal.ca>
17773
17774 * keyboard.c (Fcommand_execute): Call Qcall_interactively instead of
17775 manipulating the backtrace manually.
17776 (make_lispy_event): Merge the ASCII and MULTIBYTE cases.
17777 (struct backtrace, backtrace_list): Remove.
17778 (command_loop_1): Remove dead var `no_direct'.
17779
17780 * buffer.c (reset_buffer_local_variables): If permanent_too is 0, also
17781 preserve non-built-in buffer-local variables.
17782 (Fkill_all_local_variables): Don't re-create&re-set permanent
17783 buffer-local variables.
17784
17785 2007-12-09 Juri Linkov <juri@jurta.org>
17786
17787 * buffer.c (Frename_buffer): Change interactive spec from "s" to
17788 Lisp code that uses `read-buffer' with current buffer as default.
17789
17790 2007-12-08 Michael Albinus <michael.albinus@gmx.de>
17791
17792 * dbusbind.c (xd_read_message): Generate an event for every
17793 registered handler. There might be several handlers registered
17794 for the same signal.
17795 (Fdbus_register_signal): Don't overwrite a registration for the
17796 same signal. Add a new registration if handlers are different.
17797 (Vdbus_registered_functions_table): Rework doc string.
17798
17799 2007-12-07 Michael Albinus <michael.albinus@gmx.de>
17800
17801 * dbusbind.c (Fdbus_get_unique_name, xd_read_message)
17802 (Fdbus_register_signal): Use DBUS_MAXIMUM_NAME_LENGTH and
17803 DBUS_MAXIMUM_MATCH_RULE_LENGTH for string lengths.
17804 (Fdbus_call_method, Fdbus_send_signal, Fdbus_register_signal):
17805 Unify argument lists.
17806 (xd_read_message, Fdbus_register_signal): Reorder and extend event
17807 arguments and hash table keys. Use unique name for service.
17808 (Fdbus_unregister_signal): Remove checks.
17809 (Vdbus_registered_functions_table): Fix doc string.
17810
17811 2007-12-05 Magnus Henoch <mange@freemail.hu>
17812
17813 * process.c (make_process): Initialize pty_flag to 0.
17814
17815 2007-12-05 Jason Rumney <jasonr@gnu.org>
17816
17817 * image.c (xbm_load) [WINDOWSNT]: Shuffle the bits of directly
17818 specified XBMs.
17819
17820 2007-12-05 Richard Stallman <rms@gnu.org>
17821
17822 * xdisp.c (syms_of_xdisp) <scroll-conservatively>: Doc fix.
17823
17824 2007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17825
17826 * mac.c (cfsockets_for_select) [MAC_OSX && SELECT_USE_CFSOCKET]:
17827 New variable.
17828 (mac_try_close_socket) [MAC_OSX]: New function.
17829 [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]:
17830 Update cfsockets_for_select. Replace invalid CFRunLoop source.
17831
17832 * sysdep.c (emacs_close) [MAC_OSX && HAVE_CARBON]:
17833 Use mac_try_close_socket.
17834
17835 2007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17836
17837 * unexmacosx.c (unrelocate): New argument BASE. Use it instead of
17838 reloc_base.
17839 (copy_dysymtab): Compute relocation base here.
17840 (rebase_reloc_address) [__ppc64__]: New function.
17841 (copy_dysymtab) [__ppc64__]: Use it if relocation base needs to be
17842 changed.
17843
17844 2007-12-05 Jason Rumney <jasonr@gnu.org>
17845
17846 * w32proc.c (sys_spawnve): Quote args with wildcards.
17847
17848 2007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17849
17850 * unexmacosx.c (copy_data_segment): Also copy __gcc_except_tab and
17851 __objc_* sections.
17852 (unrelocate) [_LP64]: Set relocation base to address of data segment.
17853
17854 2007-12-05 Michael Albinus <michael.albinus@gmx.de>
17855
17856 * dbusbind.c (xd_read_message): Return value is a Lisp_Object.
17857 Move check for Vdbus_registered_functions_table to
17858 xd_read_queued_messages.
17859 (xd_read_queued_messages): Protect xd_read_message calls by
17860 internal_condition_case_1.
17861
17862 2007-12-04 Michael Albinus <michael.albinus@gmx.de>
17863
17864 * dbusbind.c (QCdbus_system_bus, QCdbus_session_bus): Rename from
17865 Qdbus_system_bus and Qdbus_session_bus, respectively.
17866 (Vdbus_intern_symbols): Remove.
17867 (Vdbus_registered_functions_table): New hash table.
17868 (XD_SYMBOL_INTERN_SYMBOL): Remove.
17869 (xd_read_message, Fdbus_register_signal, Fdbus_unregister_signal):
17870 Rewrite in order to manage registered functions by hash table
17871 Vdbus_registered_functions_table.
17872
17873 2007-12-03 Jan Djärv <jan.h.d@swipnet.se>
17874
17875 * xterm.c: Update URL to Window Manager Specification in comment.
17876
17877 2007-12-02 Michael Albinus <michael.albinus@gmx.de>
17878
17879 * config.in (HAVE_DBUS): Add.
17880
17881 * Makefile.in (HAVE_DBUS): Add D-Bus definitions if defined.
17882 (ALL_CFLAGS): Add ${DBUS_CFLAGS}.
17883 (obj): Add $(DBUS_OBJ).
17884 (LIBES): Add $(DBUS_LIBS).
17885 (dbusbind.o): New target.
17886
17887 * dbusbind.c: New file.
17888
17889 * emacs.c (main): Call syms_of_dbusbind when HAVE_DBUS is defined.
17890
17891 * keyboard.c: All D-Bus related code is wrapped by "#ifdef HAVE_DBUS".
17892 (Qdbus_event): New Lisp symbol.
17893 (kbd_buffer_get_event, make_lispy_event): Handle DBUS_EVENT.
17894 (gobble_input): Call xd_read_queued_messages, reading D-Bus messages.
17895 (keys_of_keyboard): Define dbus-event.
17896
17897 * termhooks.h (event_kind): Add DBUS_EVENT when HAVE_DBUS is defined.
17898
17899 2007-12-01 Richard Stallman <rms@gnu.org>
17900
17901 * search.c (syms_of_search) <inhibit-changing-match-data>: Doc fix.
17902
17903 2007-11-30 Jason Rumney <jasonr@gnu.org>
17904
17905 * w32console.c (w32con_ins_del_lines, scroll_line): Clip to window.
17906 (w32con_reset_terminal_modes): Clear screen buffer.
17907 (w32_face_attributes): Don't use color indexes that are out of range.
17908 Only reverse the default colors.
17909
17910 * xfaces.c (map_tty_color, tty_color_name): Remove special case for
17911 WINDOWSNT.
17912
17913 * w32console.c, w32term.h (vga_stdcolor_name): Remove.
17914
17915 2007-11-29 Jason Rumney <jasonr@gnu.org>
17916
17917 * w32console.c: Leave HAVE_WINDOW_SYSTEM defined.
17918 (w32_face_attributes): Use Vtty_defined_color_alist to determine
17919 if the terminal colors are initialized.
17920 (unspecified_fg, unspecified_bg): Remove unused declarations.
17921
17922 2007-11-29 Andreas Schwab <schwab@suse.de>
17923
17924 * keyboard.c (apply_modifiers): Fix typo.
17925
17926 2007-11-29 Richard Stallman <rms@gnu.org>
17927
17928 * keymap.c (Fcurrent_local_map): Doc fix.
17929
17930 2007-11-28 Petr Salinger <Petr.Salinger@seznam.cz> (tiny change)
17931
17932 * s/gnu-kfreebsd.h: New file.
17933
17934 2007-11-28 Stefan Monnier <monnier@iro.umontreal.ca>
17935
17936 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
17937 Don't cast redundantly.
17938
17939 * keyboard.c (KEY_TO_CHAR): New macro.
17940 (parse_modifiers, apply_modifiers): Accept integer arguments.
17941 (read_key_sequence): Use them to unify the "shift->unshift" mapping
17942 for chars and symbol keys.
17943 After doing such remapping, apply function-key-map again.
17944
17945 2007-11-27 Dan Nicolaescu <dann@ics.uci.edu>
17946
17947 * Makefile.in (SOME_MACHINE_LISP): Remove VMS files, they are not
17948 compiled anymore.
17949
17950 2007-11-26 Andreas Schwab <schwab@suse.de>
17951
17952 * process.c (list_processes_1): Fix indentation level of the
17953 command column.
17954
17955 2007-11-23 Andreas Schwab <schwab@suse.de>
17956
17957 * editfns.c (Fformat): Handle %c specially since it requires the
17958 argument to be of type int.
17959
17960 2007-11-23 Markus Triska <markus.triska@gmx.at>
17961
17962 * emacs.c (main): Call init_editfns before init_process, since
17963 init_process sets Vprocess_connection_type depending on OS release.
17964
17965 2007-11-22 Stefan Monnier <monnier@iro.umontreal.ca>
17966
17967 * data.c (do_symval_forwarding): Use same code as in find_symbol_value.
17968 (find_symbol_value): Use do_symval_forwarding.
17969
17970 * data.c (set_internal): Set the value in the `cons-cell' (for
17971 Buffer_Local_values) not only for frame-local variables.
17972
17973 2007-11-22 Andreas Schwab <schwab@suse.de>
17974
17975 * data.c (Fnumber_to_string): Add cast when passing EMACS_INT
17976 values to sprintf.
17977 * keymap.c (Fsingle_key_description): Likewise.
17978 * print.c (print_object): Likewise.
17979
17980 2007-11-22 Jan Djärv <jan.h.d@swipnet.se>
17981
17982 * gtkutil.c (update_frame_tool_bar): Don't call x-gtk-map-stock if
17983 file for image is nil.
17984
17985 2007-11-22 Dan Nicolaescu <dann@ics.uci.edu>
17986
17987 * term.c: Include stdarg.h.
17988 (fatal): Implement using varargs.
17989 * lisp.h (fatal): Add argument types. (Restore 2005-09-30 change).
17990
17991 2007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
17992
17993 * lisp.h (struct Lisp_Buffer_Objfwd): Add a `slottype' field.
17994 * data.c (store_symval_forwarding): Get type from buffer_objfwd.
17995 Update call to buffer_slot_type_mismatch.
17996 * buffer.h (buffer_local_types, PER_BUFFER_TYPE): Remove.
17997 (buffer_slot_type_mismatch): Update.
17998 * buffer.c (buffer_local_types): Remove.
17999 (buffer_slot_type_mismatch): Get the symbol and type as arguments.
18000 (defvar_per_buffer): Set the type in the buffer_objfwd.
18001
18002 2007-11-21 Jason Rumney <jasonr@gnu.org>
18003
18004 * w32bdf.c (w32_init_bdf_font, w32_BDF_to_x_font):
18005 CreateFileMapping returns NULL on failure.
18006
18007 2007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
18008
18009 * search.c (Fset_match_data): Remove the `evaporate' feature.
18010 (unwind_set_match_data): Don't use the `evaporate' feature.
18011
18012 2007-11-21 Jason Rumney <jasonr@gnu.org>
18013
18014 * dispnew.c (init_display) [WINDOWSNT]: Hardcode terminal_type.
18015
18016 * w32console.c (w32con_write_glyphs): Remove unused variables.
18017
18018 2007-11-20 Dan Nicolaescu <dann@ics.uci.edu>
18019
18020 * macterm.c (mac_term_init): Call add_keyboard_wait_descriptor.
18021
18022 * s/darwin.h (MULTI_KBOARD): Remove.
18023
18024 * macfns.c (x_create_tip_frame, Fx_create_frame)
18025 (x_create_tip_frame): Don't deal with MULTI_KBOARD.
18026
18027 2007-11-19 Stefan Monnier <monnier@iro.umontreal.ca>
18028
18029 * buffer.c (Fbuffer_local_value): Remove redundant test.
18030 (swap_out_buffer_local_variables): Swap out binding in `buffer' rather
18031 than in `current-buffer' to match the comment.
18032 Do the swap using swap_in_global_binding.
18033
18034 * data.c (store_symval_forwarding, set_internal):
18035 * eval.c (specbind): Remove dead code.
18036
18037 * coding.c (detect_coding, Fupdate_coding_systems_internal):
18038 * fns.c (Fmd5): Use find_symbol_value rather than SYMBOL_VALUE
18039 Since we do not want to see internal Lisp_*fwd objects here.
18040
18041 2007-11-18 Jan Djärv <jan.h.d@swipnet.se>
18042
18043 * sysdep.c (init_system_name): Use getaddrinfo if available.
18044
18045 * xterm.c (x_scroll_bar_set_handle, x_scroll_bar_handle_click)
18046 (x_scroll_bar_note_movement): start, end, with, height in struct
18047 scroll_bar are integers and not Lisp_Object, so remove XINT for them.
18048
18049 2007-11-17 Dan Nicolaescu <dann@ics.uci.edu>
18050
18051 * puresize.h (BASE_PURESIZE): Increase to 1190000.
18052
18053 2007-11-16 Stefan Monnier <monnier@iro.umontreal.ca>
18054
18055 * buffer.h (struct buffer): Move `undo_list' back to before `name'.
18056 This undoes Richard's change of 14-Oct-2002.
18057
18058 * alloc.c (allocate_other_vector):
18059 * lisp.h (allocate_other_vector): Remove.
18060
18061 * window.c (struct save_window_data): Move non-lisp data to the end
18062 and make it `int' rather than Lisp_Object.
18063 (Fcurrent_window_configuration): Use ALLOCATE_PSEUDOVECTOR.
18064 Done wrap/unwrap integer values.
18065 (Fset_window_configuration, compare_window_configurations):
18066 Update use of fields to their new types.
18067
18068 * xterm.h (struct scroll_bar): Only use Lisp_Object for lisp data.
18069 Turn integer fields into `int'. Merge x_window_low and x_window_high.
18070 (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK, SCROLL_BAR_X_WINDOW)
18071 (SET_SCROLL_BAR_X_WINDOW): Remove.
18072 (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET):
18073 Access the new x_window field directly.
18074 * xterm.c (x_scroll_bar_create): Use a pseudovector.
18075 Don't wrap/unwrap integers into Lisp_Objects.
18076 (XTset_vertical_scroll_bar, x_scroll_bar_handle_click)
18077 (x_scroll_bar_report_motion):
18078 Don't wrap/unwrap integers into Lisp_Objects.
18079 (x_term_init): Use SDATA.
18080 (x_window_to_scroll_bar, x_create_toolkit_scroll_bar)
18081 (x_scroll_bar_set_handle, x_scroll_bar_remove)
18082 (XTset_vertical_scroll_bar, x_scroll_bar_expose)
18083 (x_scroll_bar_report_motion, x_scroll_bar_clear):
18084 * xfns.c (x_set_background_color):
18085 * gtkutil.c (xg_create_scroll_bar, xg_set_toolkit_scroll_bar_thumb):
18086 Access the new x_window field directly.
18087
18088 * alloc.c (ALLOCATE_PSEUDOVECTOR): Move to lisp.h.
18089 (allocate_pseudovector): Make non-static.
18090
18091 * lisp.h (enum pvec_type): New tag PVEC_OTHER.
18092 (allocate_pseudovector): Declare.
18093 (ALLOCATE_PSEUDOVECTOR): Move from alloc.c.
18094
18095 2007-11-15 Andreas Schwab <schwab@suse.de>
18096
18097 * editfns.c (Fformat): Correctly format EMACS_INT values.
18098 Also take precision into account when formatting an integer.
18099
18100 * keyboard.c (Fevent_symbol_parse_modifiers): Fix declaration.
18101
18102 2007-11-15 Stefan Monnier <monnier@iro.umontreal.ca>
18103
18104 * keyboard.c (Fevent_symbol_parse_modifiers): New function.
18105 (syms_of_keyboard): Defsubr it.
18106
18107 * data.c (swap_in_global_binding): Fix longstanding bug where
18108 store_symval_forwarding was not called with the right second argument,
18109 thus causing objfwd-ing from being dropped.
18110
18111 2007-11-14 Juanma Barranquero <lekktu@gmail.com>
18112
18113 * macfns.c (Fx_create_frame, Fx_display_pixel_width)
18114 (Fx_display_pixel_height, Fx_display_planes)
18115 (Fx_display_color_cells, Fx_server_max_request_size)
18116 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
18117 (Fx_display_visual_class, Fx_display_save_under):
18118 * w32fns.c (Fx_create_frame, Fx_display_pixel_width)
18119 (Fx_display_pixel_height, Fx_display_planes)
18120 (Fx_display_color_cells, Fx_server_max_request_size)
18121 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
18122 (Fx_display_mm_height, Fx_display_mm_width)
18123 (Fx_display_backing_store, Fx_display_visual_class)
18124 (Fw32_select_font, Fx_display_save_under):
18125 * xfns.c (Fx_create_frame, Fx_display_pixel_width)
18126 (Fx_display_pixel_height, Fx_display_planes)
18127 (Fx_display_color_cells, Fx_server_max_request_size)
18128 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
18129 (Fx_display_save_under): Fix typos in docstrings.
18130
18131 2007-11-14 Juanma Barranquero <lekktu@gmail.com>
18132
18133 * w32fns.c (Fw32_registered_hot_keys): Don't return the nil values
18134 corresponding to deleted entries; they are an implementation detail.
18135 (gray_bitmap_width, gray_bitmap_height, gray_bitmap_bits):
18136 Remove variables.
18137 (w32_pass_extra_mouse_buttons_to_system, w32_strict_fontnames)
18138 (w32_pass_multimedia_buttons_to_system, w32_strict_painting)
18139 (Vw32_charset_info_alist, w32_to_x_color, w32_init_class)
18140 (w32_createscrollbar, w32_createwindow, my_post_msg, w32_get_modifiers)
18141 (w32_grabbed_keys, cancel_all_deferred_msgs): Make static.
18142 (Fw32_define_rgb_color, Fw32_load_color_file)
18143 (syms_of_w32fns) <w32-pass-multimedia-buttons-to-system>:
18144 Fix typos in docstrings.
18145 (Fx_server_version): Reflow docstring.
18146 (Fw32_shell_execute): Doc fixes.
18147
18148 2007-11-13 Juanma Barranquero <lekktu@gmail.com>
18149
18150 * w32fns.c (Fw32_register_hot_key): Don't try to register hot key
18151 if w32_parse_hot_key returned nil.
18152
18153 2007-11-10 Stefan Monnier <monnier@iro.umontreal.ca>
18154
18155 * xdisp.c (load_overlay_strings): Fix copy&paste typo.
18156
18157 2007-11-09 Jason Rumney <jasonr@gnu.org>
18158
18159 * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define.
18160
18161 * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT.
18162
18163 * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]:
18164 Remove W32_SCROLL_BAR_CLICK_EVENT.
18165
18166 * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise.
18167 Add MULTIMEDIA_KEY_EVENT.
18168
18169 * keyboard.c (lispy_function_keys) [WINDOWSNT]: Add more keys.
18170 (lispy_multimedia_keys) [WINDOWSNT]: New array.
18171 (make_lispy_event) [WINDOWSNT]: Use it to translate
18172 MULTIMEDIA_KEY_EVENT.
18173
18174 * w32term.h (WM_APPCOMMAND): Define if not already.
18175 (GET_APPCOMMAND_LPARAM): Likewise.
18176
18177 * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from
18178 WM_APPCOMMAND.
18179
18180 * w32fns.c (w32_pass_multimedia_buttons_to_system): New user option.
18181 (syms_of_w32fns): Export and initialize it.
18182 (w32_wnd_proc): Pass WM_APPCOMMAND on to w32_read_socket.
18183
18184 2007-11-09 Chong Yidong <cyd@stupidchicken.com>
18185
18186 * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE
18187 twice.
18188
18189 * xdisp.c (handle_face_prop): Fix last change.
18190
18191 2007-11-09 Richard Stallman <rms@gnu.org>
18192
18193 * xdisp.c (handle_face_prop): Test for strings that came from overlays,
18194 not just for after-strings and before-strings.
18195 Call face_for_overlay_string and pass the overlay to it.
18196 (handle_display_prop): Determine whether property came from an overlay.
18197 Pass OVERLAY arg to handle_single_display_spec.
18198 (handle_single_display_spec): New arg OVERLAY sets it->from_overlay.
18199 (load_overlay_strings): Fill in it->string_overlays.
18200 (get_overlay_strings_1, push_it, pop_it): Handle it->from_overlays.
18201
18202 * xfaces.c (face_for_overlay_string): Function renamed from
18203 face_at_buffer_position_no_overlays, and add arg OVERLAY.
18204
18205 * dispextern.h (struct it): New elt string_overlays.
18206 New elt from_overlay, also in stack.
18207 Rearrange a few elements.
18208 (face_for_overlay_string): Decl renamed from
18209 face_at_buffer_position_no_overlays, and add argument.
18210
18211 2007-11-09 Richard Stallman <rms@gnu.org>
18212
18213 * xdisp.c (handle_face_prop): Use face_at_buffer_position_no_overlays
18214 to get the base face for an overlay string.
18215
18216 * dispextern.h (face_at_buffer_position_no_overlays): Add decl.
18217
18218 * xfaces.c (face_at_buffer_position_no_overlays): New function.
18219
18220 * xdisp.c (handle_stop): Move some code out of loop.
18221
18222 2007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18223
18224 * macfns.c [USE_ATSUI] (Fmac_atsu_font_face_attributes):
18225 Fix conversion from Lisp object to ATSUFontID.
18226
18227 2007-11-09 Jason Rumney <jasonr@gnu.org>
18228
18229 * xdisp.c (Fformat_mode_line): Do nothing when noninteractive.
18230
18231 2007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18232
18233 * unexmacosx.c (unexec_regions_recorder, unexec_regions_merge):
18234 Don't assume regions are aligned to page boundary.
18235 (print_load_command_name): Add LC_UUID if defined.
18236
18237 2007-11-09 Richard Stallman <rms@gnu.org>
18238
18239 * emacs.c (syms_of_emacs) <installation-directory>: Reflow docstring.
18240
18241 2007-11-07 Jason Rumney <jasonr@gnu.org>
18242
18243 * s/windows95.h: Remove.
18244
18245 2007-11-06 Jan Djärv <jan.h.d@swipnet.se>
18246
18247 * gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and
18248 abort with a message on unhandled store_type values.
18249
18250 2007-11-01 Jan Djärv <jan.h.d@swipnet.se>
18251
18252 * xterm.c, xfns.c, xselect.c, xterm.h, s/msdos.h, s/sco4.h, s/sco5.h:
18253 Remove HAVE_X11R5 and HAVE_X11R4.
18254
18255 2007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
18256
18257 * Makefile.in: Remove references to sunfns.c and sunfns.o.
18258
18259 2007-11-01 Johan Bockgård <bojohan@gnu.org>
18260
18261 * macterm.c, w32term.c, xterm.c (x_draw_stretch_glyph_string):
18262 Don't set s->stippled_p here, since it has already been set by
18263 x_set_glyph_string_gc from x_draw_glyph_string.
18264
18265 2007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
18266
18267 * sunfns.c: Remove file.
18268
18269 * m/sun386.h:
18270 * m/sun2.h:
18271 * m/sparc.h: Remove Sun windows code.
18272
18273 2007-10-31 Stefan Monnier <monnier@iro.umontreal.ca>
18274
18275 * keyboard.c (syms_of_keyboard): Initialize the initial_kboard.
18276 (init_keyboard): Set current_kboard's window-system to nil.
18277 (tty_read_avail_input): Typo.
18278 * frame.c (make_initial_frame): Don't initialize the initial_kboard.
18279
18280 2007-10-31 Dan Nicolaescu <dann@ics.uci.edu>
18281
18282 * s/usg5-4.h:
18283 * s/usg5-3.h:
18284 * s/ptx.h:
18285 * m/is386.h:
18286 * m/ibmps2-aix.h:
18287 * Makefile.in: Remove all mentions of X10.
18288
18289 * dispnew.c (syms_of_display): Don't mention version 10.
18290
18291 2007-10-28 Juanma Barranquero <lekktu@gmail.com>
18292
18293 * makefile.w32-in (OBJ1): Remove abbrev.$(O).
18294 ($(BLD)/abbrev.$(O)): Remove.
18295
18296 2007-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
18297
18298 Rewrite abbrev.c in Elisp.
18299 * image.c (Qcount): Don't declare as extern.
18300 (syms_of_image): Initialize and staticpro `Qcount'.
18301 * puresize.h (BASE_PURESIZE): Increase for the new abbrev.el functions.
18302 * emacs.c (main): Don't call syms_of_abbrev.
18303 * Makefile.in (obj): Remove abbrev.o.
18304 (abbrev.o): Remove.
18305 * abbrev.c: Remove.
18306
18307 2007-10-26 Martin Rudalics <rudalics@gmx.at>
18308
18309 * window.c (window_min_size_2): Don't count header-line.
18310
18311 2007-10-26 Dan Nicolaescu <dann@ics.uci.edu>
18312
18313 * frame.h (struct frame): Move all bit fields after the first bit
18314 field to take advantage of the available space. Group all the
18315 chars together to reduce wasted space due to padding.
18316
18317 2007-10-26 Juanma Barranquero <lekktu@gmail.com>
18318
18319 * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings.
18320
18321 * alloc.c (spare_memory, stack_copy, stack_copy_size, ignore_warnings)
18322 (Vdead, dont_register_blocks, staticvec, staticidx, interval_block)
18323 (n_interval_blocks, init_strings, check_string_bytes, check_sblock)
18324 (init_float, free_float, n_cons_blocks, init_cons, all_vectors)
18325 (n_vectors, symbol_block, symbol_block_index, symbol_free_list)
18326 (n_symbol_blocks, init_symbol, marker_block, marker_free_list)
18327 (n_marker_blocks, init_marker, valid_pointer_p, make_pure_float)
18328 (last_marked, mark_object_loop_halt): Make static.
18329
18330 * frame.c (syms_of_frame) <delete-frame-functions>:
18331 Fix typo in docstring.
18332
18333 2007-10-25 Juanma Barranquero <lekktu@gmail.com>
18334
18335 * w32.c (init_environment): Fix tiny memory leak.
18336 (w32_get_resource): Remove unused variable `ok'.
18337
18338 2007-10-25 Stefan Monnier <monnier@iro.umontreal.ca>
18339
18340 Make `window-system' into a keyboard-local variable (rather than
18341 frame-local as done originally by multi-tty).
18342
18343 * keyboard.h (struct kboard): Add Vwindow_system.
18344 * keyboard.c (init_kboard): Set a default for Vwindow_system.
18345 (mark_kboards): Mark Vwindow_system.
18346
18347 * dispnew.c (syms_of_display) <window-system>: Declare terminal-local.
18348 (init_display): Don't set the obsolete `window-system' frame-param.
18349
18350 * xterm.c (x_term_init):
18351 * w32term.c (w32_create_terminal):
18352 * term.c (init_tty): Set Vwindow_system.
18353 * macterm.c (mac_create_terminal): Set a keyboard (missing piece of the
18354 multi-tty merge maybe?), copied from w32term.c. Set Vwindow_system.
18355
18356 * xfns.c (Fx_create_frame, x_create_tip_frame):
18357 * w32fns.c (Fx_create_frame, x_create_tip_frame):
18358 * macfns.c (Fx_create_frame):
18359 Don't set the obsolete `window-system' frame-param.
18360
18361 * frame.h (Qwindow_system): Remove.
18362 * frame.c (Qwindow_system): Remove. In `syms_of_frame' as well.
18363 (Fmake_terminal_frame): Don't set obsolete `window-system' frame-param.
18364
18365 2007-10-24 Richard Stallman <rms@gnu.org>
18366
18367 * frame.c (x_figure_window_size): For fullscreen case,
18368 set USPosition | PPosition without clobbering rest of window_prompting.
18369
18370 * keyboard.c (Fcurrent_idle_time): Doc fix.
18371
18372 * print.c (Fwith_output_to_temp_buffer): Doc fix.
18373
18374 2007-10-23 Stefan Monnier <monnier@iro.umontreal.ca>
18375
18376 * process.c (unwind_request_sigio): Only define if __ultrix__.
18377
18378 * callproc.c (child_setup): Remove spurious *.
18379
18380 * lisp.h (Fget_text_property): Declare.
18381 (have_menus_p): Declare it here rather than in sys-dep header files.
18382 * macterm.h (have_menus_p):
18383 * msdos.h (have_menus_p):
18384 * xterm.h (have_menus_p): Remove.
18385
18386 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
18387 (Fmake_variable_frame_local): Just check the variable's const-ness
18388 rather than checking nil or t.
18389
18390 2007-10-22 Jason Rumney <jasonr@gnu.org>
18391
18392 * w32fns.c: Include math.h.
18393 (w32_abort): Declaration moved to nt/config.nt.
18394
18395 * s/ms-w32.h (HAVE_STDLIB_H): Define.
18396 (abort): Redefinition moved to nt/config.nt.
18397
18398 * m/windowsnt.h: Remove.
18399
18400 2007-10-22 Juanma Barranquero <lekktu@gmail.com>
18401
18402 * emacs.c (Fdump_emacs): Fix typo in message.
18403 (syms_of_emacs) <kill-emacs-hook>: Fix typo in docstring.
18404 <installation-directory>: Reflow docstring.
18405
18406 2007-10-22 Juri Linkov <juri@jurta.org>
18407
18408 * minibuf.c: Allow minibuffer default to be a list of default values.
18409 With empty input use the first element of this list as returned default.
18410 (string_to_object)
18411 (read_minibuf_noninteractive): If defalt is cons, set val to its car.
18412 (read_minibuf): If defalt is cons, set histstring to its car.
18413 (Fread_string): If default_value is cons, set val to its car.
18414 (Fread_buffer): If def is cons, use its car.
18415 (Fcompleting_read): If defalt is cons, set val to its car.
18416
18417 2007-10-21 Michael Albinus <michael.albinus@gmx.de>
18418
18419 * fileio.c (Fcopy_file): Call file name handler with preserve_uid_gid.
18420
18421 2007-10-20 Juanma Barranquero <lekktu@gmail.com>
18422
18423 * doc.c (Fdocumentation): Check for advice in all cases.
18424
18425 2007-10-19 Chong Yidong <cyd@stupidchicken.com>
18426
18427 * Makefile.in [HAVE_LIBRESOLV]: Add -lresolv to linker flags.
18428
18429 2007-10-19 Richard Stallman <rms@gnu.org>
18430
18431 * doc.c (Fdocumentation): Check for and handle an advised function.
18432
18433 2007-10-19 Juanma Barranquero <lekktu@gmail.com>
18434
18435 * process.c (Fset_process_filter): Doc fix.
18436
18437 2007-10-18 Stefan Monnier <monnier@iro.umontreal.ca>
18438
18439 * keyboard.c (read_key_sequence): Undo a change introduced by multi-tty
18440 which caused key-translation-map to applied repeatedly (thus breaking
18441 double-mode).
18442
18443 2007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
18444
18445 * xselect.c (x_own_selection, x_handle_selection_clear)
18446 (x_clear_frame_selections):
18447 * w32menu.c (list_of_panes, list_of_items):
18448 * w32fns.c (w32_color_map_lookup, Fx_create_frame, Fx_display_list):
18449 * textprop.c (validate_plist, interval_has_all_properties)
18450 (interval_has_some_properties, interval_has_some_properties_list)
18451 (add_properties, text_property_list):
18452 * process.c (Fget_buffer_process, list_processes_1, status_notify):
18453 * minibuf.c (Fassoc_string):
18454 * macselect.c (x_own_selection, x_clear_frame_selections)
18455 (Fx_disown_selection_internal):
18456 * keymap.c (Fcommand_remapping, where_is_internal, describe_map_tree):
18457 Use CONSP rather than !NILP and XC[AD]R rather than Fc[ad]r.
18458
18459 2007-10-17 Chong Yidong <cyd@stupidchicken.com>
18460
18461 * process.c: Link to libs for calling res_init() if available.
18462 (Fmake_network_process): Call res_init() before getaddrinfo or
18463 gethostbyname, if possible.
18464
18465 2007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
18466
18467 * lread.c (read1): Set pvectype for char_tables.
18468
18469 * lisp.h (XMISCANY, XMARKER, XINTFWD, XBOOLFWD, XOBJFWD, XOVERLAY)
18470 (XBUFFER_OBJFWD, XBUFFER_LOCAL_VALUE, XKBOARD_OBJFWD, XSAVE_VALUE):
18471 Add type checks.
18472 (SOME_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP): Remove.
18473
18474 * alloc.c (free_misc): Use XMISCTYPE.
18475 (live_misc_p, gc_sweep): Use Lisp_Misc_Any.
18476
18477 2007-10-17 Glenn Morris <rgm@gnu.org>
18478
18479 * minibuf.c (Qcompletion_ignore_case): New Lisp_Object.
18480 (syms_of_minibuf): Add Qcompletion_ignore_case.
18481 * dired.c (Qcompletion_ignore_case): Change to external.
18482 (syms_of_dired) [VMS]: Remove Qcompletion_ignore_case.
18483 * fileio.c (Qcompletion_ignore_case): New external Lisp_Object.
18484 (Fread_file_name): Use it rather than intern'ing.
18485
18486 * coding.c (Qcompletion_ignore_case): New external Lisp_Object.
18487 (Fread_coding_system): Ignore case of user input.
18488
18489 2007-10-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18490
18491 * xdisp.c (handle_display_prop): Ignore display specs after
18492 replacing one when string text is being replaced.
18493 (handle_single_display_spec): Pretend as if characters with display
18494 property haven't been consumed only when buffer text is being replaced.
18495
18496 2007-10-16 Stefan Monnier <monnier@iro.umontreal.ca>
18497
18498 * xfns.c (Fx_create_frame, Fx_display_list):
18499 * window.c (window_fixed_size_p, enlarge_window)
18500 (shrink_window_lowest_first):
18501 * macterm.c (init_font_name_table):
18502 * macfns.c (Fx_create_frame, Fx_display_list):
18503 * lread.c (close_load_descs):
18504 * keyboard.c (read_char_x_menu_prompt):
18505 * fns.c (Fmember, Fmemql, Fdelete, Fset_char_table_parent):
18506 * coding.c (code_convert_region_unwind): Test the type of an object
18507 rather than just !NILP before extracting data from it.
18508
18509 * alloc.c (Fpurecopy): Set the pvec tag on pseudo vectors.
18510
18511 * lisp.h (enum Lisp_Misc_Type): Del Lisp_Misc_Some_Buffer_Local_Value.
18512 (XMISCANY): New macro.
18513 (XMISCTYPE): Use it.
18514 (struct Lisp_Misc_Any): New type.
18515 (union Lisp_Misc): Use it.
18516 (struct Lisp_Buffer_Local_Value): Add `local_if_set' bit.
18517 * data.c (Fboundp, store_symval_forwarding, swap_in_global_binding)
18518 (find_symbol_value, set_internal, default_value, Fset_default)
18519 (Fmake_variable_buffer_local, Fmake_local_variable)
18520 (Fkill_local_variable, Fmake_variable_frame_local, Flocal_variable_p)
18521 (Flocal_variable_if_set_p, Fvariable_binding_locus):
18522 The SOME_BUFFER_LOCAL_VALUEP distinction is replaced by local_if_set.
18523 * alloc.c (allocate_buffer): Set the size and tag.
18524 (allocate_misc, mark_maybe_object, mark_object, survives_gc_p):
18525 Use XMISCANY.
18526 (die): Follow the GNU convention for error messages.
18527 * print.c (print_object): SOME_BUFFER_LOCAL_VALUEP -> local_if_set.
18528 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Don't set the
18529 tag any more.
18530 (set_buffer_internal_1):
18531 * frame.c (store_frame_param):
18532 * eval.c (specbind):
18533 * xdisp.c (select_frame_for_redisplay): Drop SOME_BUFFER_LOCAL_VALUEP.
18534
18535 * doc.c (Fsnarf_documentation): Simplify.
18536
18537 2007-10-14 Juanma Barranquero <lekktu@gmail.com>
18538
18539 * w32term.c (w32_font_is_double_byte, my_create_scrollbar): Make static.
18540 (syms_of_w32term) <w32-enable-unicode-output>: Fix typo in docstring.
18541
18542 2007-10-14 Stefan Monnier <monnier@iro.umontreal.ca>
18543
18544 * buffer.c (Fmake_indirect_buffer): Set the buffer's tag.
18545
18546 2007-10-14 Juanma Barranquero <lekktu@gmail.com>
18547
18548 * eval.c (do_autoload): Don't save autoloads.
18549
18550 * data.c (Ffset): Save autoload of the function being set.
18551
18552 2007-10-07 John Paul Wallington <jpw@pobox.com>
18553
18554 * xfns.c (x_create_tip_frame): Set the `display-type' frame
18555 parameter before setting up faces.
18556
18557 2007-10-13 Eli Zaretskii <eliz@gnu.org>
18558
18559 * ccl.c (Fregister_code_conversion_map):
18560 * keyboard.c (append_tool_bar_item): Reformat last change.
18561
18562 * lisp.h (eabs): Rename from `abs'. All callers changed.
18563
18564 2007-10-05 Dmitry Antipov <dmantipov@yandex.ru>
18565
18566 * buffer.c (add_overlay_mod_hooklist):
18567 * ccl.c (Fregister_ccl_program, Fregister_code_conversion_map):
18568 * fontset.c (make_fontset):
18569 * keyboard.c (GROW_RAW_KEYBUF, menu_bar_items, menu_bar_item)
18570 (append_tool_bar_item):
18571 * macmenu.c (grow_menu_items):
18572 * w32menu.c (grow_menu_items):
18573 * xmenu.c (grow_menu_items): Use larger_vector.
18574
18575 2007-10-13 Eli Zaretskii <eliz@gnu.org>
18576
18577 * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving
18578 selected frame'' on MSDOS).
18579
18580 2007-10-12 Martin Rudalics <rudalics@gmx.at>
18581
18582 * frame.c (Qexplicit_name): New variable.
18583 (x_report_frame_params): Report it in parameter alist.
18584 (syms_of_frame): Intern and staticpro it.
18585
18586 2007-10-10 Patrick Mahan <mahan@mahan.org> (tiny change)
18587
18588 * macfns.c (x_create_tip_frame): Set terminal for frame.
18589
18590 2007-10-10 Stefan Monnier <monnier@iro.umontreal.ca>
18591
18592 * frame.c (Qenvironment): Remove.
18593 (syms_of_frame) <Qenvironment>: Don't initialize.
18594 (Fdelete_frame): Don't treat the `environment' param specially.
18595 * frame.h (Qenvironment): Don't declare.
18596 * callproc.c (set_initial_environment): Don't set unused frame param.
18597
18598 * frame.c (Fframe_with_environment): Remove.
18599 (syms_of_frame) <Sframe_with_environment>: Don't declare.
18600
18601 * lisp.h (Fframe_with_environment): Don't declare.
18602
18603 2007-10-10 Juanma Barranquero <lekktu@gmail.com>
18604
18605 * indent.c (indent_tabs_mode, last_known_column)
18606 (last_known_column_modified): Make static.
18607 (syms_of_indent) <indent-tabs-mode>: Remove redundant info in docstring.
18608
18609 2007-10-10 Katsumi Yamaoka <yamaoka@jpl.org>
18610
18611 * puresize.h (BASE_PURESIZE): Increase to 1170000.
18612
18613 2007-10-09 Jason Rumney <jasonr@gnu.org>
18614
18615 * w32term.c (x_set_window_size): Disable code that attempts to tell
18616 Lisp code about a size change before it actually happens.
18617
18618 2007-10-09 Richard Stallman <rms@gnu.org>
18619
18620 * xdisp.c (handle_invisible_prop): After setting up an ellipsis,
18621 return HANDLED_RETURN.
18622
18623 2007-10-08 Martin Rudalics <rudalics@gmx.at>
18624
18625 * keyboard.c (kbd_buffer_get_event): Break loop waiting for input
18626 when there's an unread command event.
18627
18628 * frame.c (focus_follows_mouse): Move here from frame.el to allow
18629 window autoselection act appropriately when leaving selected frame.
18630 (syms_of_frame): Initialize focus_follows_mouse.
18631 * frame.h (focus_follows_mouse): Extern it.
18632 * macterm.c (XTread_socket): When focus_follows_mouse is nil
18633 make SELECT_WINDOW_EVENT only if we don't leave the selected frame.
18634 * msdos.c (dos_rawgetc): Likewise.
18635 * w32term.c (w32_read_socket): Likewise.
18636 * xterm.c (handle_one_xevent): Likewise.
18637 * xdisp.c (syms_of_xdisp): In doc-string of
18638 mouse-autoselect-window mention focus-follows-mouse.
18639
18640 2007-10-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18641
18642 * macterm.c (mac_load_query_font): Fix missing return value.
18643 [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap):
18644 Add BLOCK_INPUT.
18645
18646 2007-10-08 Richard Stallman <rms@gnu.org>
18647
18648 * xdisp.c (get_window_cursor_type): Implement documented behavior
18649 for cursor-in-non-selected-windows = t.
18650
18651 2007-10-08 Jason Rumney <jasonr@gnu.org>
18652
18653 * w32.c (w32_get_resource): Always close registry keys.
18654
18655 2007-10-08 Jason Rumney <jasonr@gnu.org>
18656
18657 * makefile.w32-in (LIBS): Add COMCTL32.
18658
18659 * w32fns.c (globals_of_w32fns): Init common controls.
18660
18661 2007-10-08 Richard Stallman <rms@gnu.org>
18662
18663 * image.c (our_memory_buffer): Rename from omfib_buffer.
18664
18665 2007-10-08 Richard Stallman <rms@gnu.org>
18666
18667 * buffer.c (Foverlays_at): Doc fix.
18668
18669 2007-10-08 Stefan Monnier <monnier@iro.umontreal.ca>
18670
18671 * fns.c (Fplist_put): Preserve uneven tail data.
18672
18673 2007-10-08 Peter O'Gorman <bug-gnu-emacs@mlists.thewrittenword.com> (tiny change)
18674
18675 * termhooks.h (enum event_kind): Remove trailing comma.
18676
18677 * frame.h (enum): Remove trailing comma.
18678
18679 2007-10-08 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
18680
18681 * w32proc.c (delete_child): Don't terminate threads of zombies.
18682
18683 2007-10-08 Martin Rudalics <rudalics@gmx.at>
18684
18685 * keyboard.h (struct kboard): New elt Vlast_repeatable_command.
18686
18687 * keyboard.c (syms_of_keyboard): Set up new Lisp variable
18688 last-repeatable-command.
18689 (init_kboard): Initialize Vlast_repeatable_command.
18690 (command_loop_1): Set it to real_this_command unless that was
18691 bound to an input event.
18692 (mark_kboards): Mark it.
18693
18694 2007-10-08 Richard Stallman <rms@gnu.org>
18695
18696 * eval.c (condition-case): Doc fix.
18697
18698 2007-10-08 Masatake YAMATO <jet@gyve.org>
18699
18700 * xfaces.c (tty_supports_face_attributes_p): Fix code
18701 for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code
18702 was copied and not edited.
18703
18704 2007-10-09 Stefan Monnier <monnier@iro.umontreal.ca>
18705
18706 Add new `input-decode-map' keymap and use it for terminal
18707 escape sequences.
18708 * keyboard.h (struct kboard): Add Vinput_decode_map.
18709 Remove Vlocal_key_translation_map.
18710 * keyboard.c (read_key_sequence): Add support for input-decode-map.
18711 (init_kboard): Init input-decode-map.
18712 Replace local-key-translation-map back with key-translation-map.
18713 (syms_of_keyboard): Declare input-decode-map.
18714 Remove local-key-translation-map. Update docstrings.
18715 (mark_kboards): Mark Vinput_decode_map.
18716 Don't mark Vlocal_key_translation_map.
18717 * keymap.c (Fdescribe_buffer_bindings): Describe input-decode-map.
18718 Replace local-key-translation-map back with key-translation-map.
18719 * term.c (term_get_fkeys_1, CONDITIONAL_REASSIGN):
18720 Bind in input-decode-map rather than function-key-map.
18721
18722 * lisp.h (XSETPSEUDOVECTOR): Don't set the tag anymore.
18723 This was made redundant by the previous introduction of XSETPVECTYPE.
18724
18725 2007-10-09 Richard Stallman <rms@gnu.org>
18726
18727 * image.c (free_bitmap_record): Rename from Free_Bitmap_Record.
18728
18729 2007-09-29 Richard Stallman <rms@gnu.org>
18730
18731 * eval.c (internal_condition_case_2, internal_condition_case_1)
18732 (internal_condition_case): Reenable abort if x_catching_errors ()
18733 to see if that really happens and why.
18734
18735 2007-10-06 Andreas Schwab <schwab@suse.de>
18736
18737 * fileio.c (Fwrite_region): Ignore EINVAL error from fsync.
18738
18739 2007-10-04 Juanma Barranquero <lekktu@gmail.com>
18740
18741 * image.c (syms_of_image) <image-types>: Fix typo in docstring.
18742
18743 2007-10-03 Stefan Monnier <monnier@iro.umontreal.ca>
18744
18745 * frame.h (struct frame): Don't try to GC-mark menu_bar_items_used.
18746
18747 2007-10-02 Stefan Monnier <monnier@iro.umontreal.ca>
18748
18749 * window.h (struct window):
18750 * window.c (struct save_window_data, struct saved_window):
18751 * termhooks.h (struct terminal):
18752 * process.h (struct Lisp_Process):
18753 * frame.h (struct frame):
18754 * buffer.h (struct buffer):
18755 * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table)
18756 (struct Lisp_Bool_Vector, struct Lisp_Subr, struct Lisp_Hash_Table):
18757 The size field of (pseudo)vectors is now unsigned.
18758 (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Simplify accordingly.
18759
18760 * lisp.h (struct Lisp_Hash_Table): Move non-traced elements at the end.
18761 Turn `count' into an integer.
18762
18763 * fns.c (make_hash_table, hash_put, hash_remove, hash_clear)
18764 (sweep_weak_table, sweep_weak_hash_tables, Fhash_table_count):
18765 * print.c (print_object) <HASH_TABLE_P>: `count' is an int.
18766 * alloc.c (allocate_hash_table): Use ALLOCATE_PSEUDOVECTOR.
18767 (mark_object) <HASH_TABLE_P>: Use mark_vectorlike.
18768
18769 * alloc.c (allocate_pseudovector): New fun.
18770 (ALLOCATE_PSEUDOVECTOR): New macro.
18771 (allocate_window, allocate_terminal, allocate_frame)
18772 (allocate_process): Use it.
18773 (mark_vectorlike): New function.
18774 (mark_object) <FRAMEP, WINDOWP, BOOL_VECTOR_P, VECTORP>: Use it.
18775 (mark_terminals): Use it.
18776 (Fmake_bool_vector, Fmake_char_table, make_sub_char_table)
18777 (Fmake_byte_code): Use XSETPVECTYPE.
18778
18779 * frame.c (Fframe_parameters): Minor simplification.
18780
18781 * insdel.c (adjust_markers_for_insert): Generalize assertion checks.
18782
18783 * marker.c (Fmarker_buffer): Make test for odd case into a failure.
18784
18785 * buffer.c (Fget_buffer_create, init_buffer_once):
18786 * lread.c (defsubr):
18787 * window.c (Fcurrent_window_configuration): Use XSETPVECTYPE.
18788
18789 * lisp.h (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Don't let them be
18790 defined differently in the m/*.h files.
18791 (XCHAR_TABLE, XBOOL_VECTOR): Add assertion checking.
18792 (XSETPVECTYPE): New macro.
18793 (XSETPSEUDOVECTOR): Use it.
18794
18795 * buffer.c (syms_of_buffer) <local-abbrev-table>: Move from abbrev.c.
18796 (DEFVAR_PER_BUFFER, defvar_per_buffer): Move from lisp.h and lread.c.
18797
18798 * lisp.h (defvar_per_buffer, DEFVAR_PER_BUFFER):
18799 * lread.c (defvar_per_buffer):
18800 * abbrev.c (syms_of_abbrev) <local-abbrev-tabl>: Move to buffer.c.
18801
18802 * window.c (candidate_window_p): Only consider as visible frames that
18803 are on the same terminal.
18804
18805 * m/ibms390x.h (MARKBIT): Remove unused macro.
18806
18807 2007-10-01 Juanma Barranquero <lekktu@gmail.com>
18808
18809 * lread.c (Fload): Fix typo in docstring.
18810
18811 2007-10-01 Michaël Cadilhac <michael@cadilhac.name>
18812
18813 * floatfns.c (Fexpt): Manually check for overflows, so that a power
18814 of a non-zero value can't yield zero.
18815
18816 2007-09-29 Stefan Monnier <monnier@iro.umontreal.ca>
18817
18818 * term.c (term_clear_mouse_face, term_mouse_highlight)
18819 (tty_write_glyphs_with_face): Only define is HAVE_GPM.
18820
18821 * print.c (safe_debug_print): Use XHASH.
18822
18823 * lisp.h (DECL_ALIGN, USE_LSB_TAG): Move logic to before definition of
18824 Lisp elements such as tags.
18825 (XHASH): New macro.
18826 (EQ): Use it.
18827 (SREF, SSET, STRING_COPYIN): Use SDATA.
18828 (VOID_TO_LISP, CVOID_TO_LISP, LISP_TO_VOID, LISP_TO_CVOID): Remove.
18829
18830 * alloc.c (mark_terminal): Remove left-over declaration.
18831 (enum mem_type): Replace all vector subtypes -> MEM_TYPE_VECTORLIKE.
18832 (allocate_vectorlike): Remove type argument. Adjust callers.
18833 (live_vector_p, mark_maybe_pointer, valid_lisp_object_p):
18834 Only handle the one remaining MEM_TYPE_VECTORLIKE.
18835
18836 * alloc.c (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): New macros
18837 to avoid unnecessary BLOCK_INPUTs when SYNC_INPUT is used.
18838 (xmalloc, xrealloc, xfree, lisp_malloc, lisp_free, lisp_align_malloc)
18839 (lisp_align_free, make_interval, allocate_string, allocate_string_data)
18840 (make_float, Fcons, allocate_vectorlike, Fmake_symbol, allocate_misc):
18841 Use them.
18842
18843 * xfaces.c (load_face_font, free_realized_face, clear_face_gcs):
18844 Don't let signal handlers run when a GC is freed but not yet NULL'ed.
18845 (x_free_gc): Remove BLOCK_INPUT since it's now redundant.
18846
18847 2007-09-28 Dan Nicolaescu <dann@ics.uci.edu>
18848
18849 * Makefile.in (lisp, shortlisp): Delete server.elc, it is not
18850 loaded by default.
18851
18852 2007-09-28 Stefan Monnier <monnier@iro.umontreal.ca>
18853
18854 * term.c (Fgpm_mouse_start): Don't signal an error if already activated
18855 on this tty.
18856 (Fgpm_mouse_stop): Only deactivate if it was activated on this tty.
18857
18858 * term.c (mouse_face_window): Rename from Qmouse_face_window.
18859 Update all users.
18860 (handle_one_term_event): Use Gpm_DrawPointer.
18861 (Fgpm_mouse_start): Rename from Fterm_open_connection.
18862 Signal errors instead of returning nil. Always return nil.
18863 (Fgpm_mouse_stop): Rename from Fterm_close_connection.
18864 Make it a noop if gpm-mouse was not activated.
18865 (syms_of_term): Update names.
18866
18867 2007-09-27 Stefan Monnier <monnier@iro.umontreal.ca>
18868
18869 * sysdep.c (narrow_foreground_group, widen_foreground_group): Static.
18870 (init_sys_modes): Check that gpm_tty is the current tty.
18871
18872 * alloc.c (allocate_terminal): Set the vector size to only count the
18873 lisp fields. Initialize those to nil.
18874 (mark_object): Don't treat terminals specially.
18875 (mark_terminal): Remove.
18876 (mark_terminals): Use mark_object instead.
18877
18878 * termhooks.h (struct terminal): Move all Lisp_Object fields traced by
18879 the GC to the beginning.
18880
18881 * indent.h:
18882 * indent.c: Use EMACS_INT for ints coming from Elisp data.
18883
18884 * indent.c (Fmove_to_column): Use EMACS_INT for buffer positions.
18885
18886 2007-09-25 Jason Rumney <jasonr@gnu.org>
18887
18888 * frame.c (make_terminal_frame): Remove special case for WINDOWSNT.
18889
18890 * w32console.c (create_w32cons_output): Remove.
18891
18892 * term.c (init_tty): Call init_sys_modes on WINDOWSNT also.
18893
18894 * sysdep.c (init_sys_modes): Use set_terminal_modes_hook.
18895 (reset_sys_modes): Use reset_terminal_modes_hook.
18896
18897 2007-09-24 Stefan Monnier <monnier@iro.umontreal.ca>
18898
18899 * eval.c (do_autoload): Don't output any message.
18900
18901 2007-09-24 Juri Linkov <juri@jurta.org>
18902
18903 * emacs.c (standard_args): Change priority of "--no-splash"
18904 from 40 to 3. Add "--no-desktop" with the same priority.
18905
18906 2007-09-23 Dmitry Antipov <dmantipov@yandex.ru>
18907
18908 * alloc.c (gc_sweep): Check cons cell mark bits word by word
18909 and optimize the case where they are all 1.
18910
18911 2007-09-23 Johannes Weiner <hannes@saeurebad.de>
18912
18913 * lisp.h (abs): Define if not defined.
18914 * keyboard.c, sound.c, w32term.c, xfaces.c, xterm.c:
18915 Don't define `abs', since it's defined in lisp.h.
18916
18917 2007-09-22 Eli Zaretskii <eliz@gnu.org>
18918
18919 * term.c (DEV_TTY): New macro. Provide a definition for MS-Windows.
18920 (FRAME_TERMCAP_P) [WINDOWSNT]: Don't define to zero.
18921 (Fcontrolling_tty_p, Fresume_tty, dissociate_if_controlling_tty)
18922 (init_tty): Use DEV_TTY instead of "/dev/tty".
18923 [WINDOWSNT]: No need to protect from NAME arg being null.
18924
18925 2007-09-21 Dan Nicolaescu <dann@ics.uci.edu>
18926
18927 * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning
18928 up the tty state.
18929
18930 2007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
18931
18932 * termhooks.h (term_gpm): Delete. Use gpm_tty's NULLness instead.
18933 (gpm_tty): Change its type.
18934 * term.c (term_gpm): Delete. Use gpm_tty's NULLness instead.
18935 (gpm_tty): Change its type and initialize it.
18936 (Fterm_open_connection): Check the frame is indeed a tty.
18937 Use the new gpm_tty.
18938 (Fterm_close_connection): Use the new gpm_tty.
18939 * keyboard.c (tty_read_avail_input): Use the new gpm_tty.
18940 * sysdep.c (init_sys_modes): term_gpm -> gpm_tty.
18941
18942 2007-09-21 Juanma Barranquero <lekktu@gmail.com>
18943
18944 * w32term.c (x_draw_glyph_string): Use strike_through_color, not
18945 underline_color, to draw strike-through.
18946
18947 2007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
18948
18949 * lisp.h (allocate_terminal): Declare.
18950
18951 * window.c (candidate_window_p): Consider frames that are being placed
18952 by the user as somewhere between visible and iconified.
18953 (window_loop): Prefer windows on the current frame.
18954 (Fselect_window): Move the use of select-frame to the beginning so we
18955 can just delegate all the work (it'll call us back anyway).
18956
18957 * frame.c (Qdisplay_environment_variable):
18958 * frame.h (Qdisplay_environment_variable): Delete.
18959
18960 * .gdbinit (xbacktrace): Print the arg's address rather than the value
18961 of the first arg, since that value may be a union.
18962
18963 * callproc.c (child_setup, getenv_internal): Use the frame's `display'
18964 parameter rather than Qdisplay_environment_variable. If all else
18965 fails, look for DISPLAY in initial-environment.
18966
18967 2007-09-21 Glenn Morris <rgm@gnu.org>
18968
18969 * Makefile.in (emacstool): Remove target.
18970 (lisp, shortlisp): Remove termdev.elc.
18971
18972 2007-09-21 Markus Triska <markus.triska@gmx.at>
18973
18974 * xterm.c (x_delete_display): Compile session management conditionally.
18975
18976 2007-09-20 Stefan Monnier <monnier@iro.umontreal.ca>
18977
18978 * callproc.c (getenv_internal_1): New function.
18979 (getenv_internal): Use it.
18980 (Fgetenv_internal): Use it. Accept an env-list as optional arg.
18981
18982 * terminal.c (get_terminal): Don't accept ints to represent terminals.
18983 (Fterminal_name, Fterminal_parameters, Fterminal_parameter)
18984 (Fset_terminal_parameter): Work with dead terminals as well.
18985 (Fmodify_terminal_parameters): Remove.
18986
18987 * terminal.c (get_terminal): Handle terminals.
18988 Make sure the terminal returned is live.
18989 (create_terminal): Use allocate_terminal.
18990 (mark_terminals): Move to alloc.c.
18991 (delete_terminal): Use terminal->name as liveness status.
18992 NULL out fields after freeing their contents.
18993 Don't deallocate the object.
18994 (Fframe_terminal): Use FRAME_TERMINAL. Return the terminal object
18995 rather than an int.
18996 (Fterminal_live_p): Accept non-integer arguments.
18997 (Fterminal_list): Return terminal objects rather than an ints.
18998
18999 * alloc.c (enum mem_type): New member for `terminal' objects.
19000 (allocate_terminal): New function.
19001 (mark_maybe_pointer, valid_lisp_object_p, mark_object):
19002 Handle terminals.
19003 (mark_terminal): New fun.
19004 (mark_terminals): Move from terminal.c.
19005
19006 * term.c (get_tty_terminal): Don't treat output_initial specially.
19007 (Fsuspend_tty, Fresume_tty): Use terminal objects rather than ints.
19008 (delete_tty): Use terminal->name as liveness status.
19009
19010 * termhooks.h (struct terminal): Make it into a pseudovector.
19011 Remove `deleted' replaced by checking `name's nullness.
19012
19013 * print.c (print_object): Handle terminals.
19014
19015 * lisp.h (enum pvec_type): New `terminal' pseudovector.
19016 (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros.
19017
19018 * frame.c (make_terminal_frame):
19019 * keyboard.c (tty_read_avail_input):
19020 * w32term.c (x_delete_terminal):
19021 * xfns.c (Fx_create_frame, x_create_tip_frame):
19022 * xterm.c (x_delete_terminal): Use terminal->name as liveness status.
19023
19024 2007-09-20 Glenn Morris <rgm@gnu.org>
19025
19026 * process.c (Fmake_network_process): Doc fix.
19027
19028 2007-09-19 Jason Rumney <jasonr@gnu.org>
19029
19030 * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument.
19031
19032 2007-09-19 Michaël Cadilhac <michael@cadilhac.name>
19033
19034 * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form):
19035 Fix a C warning regarding variable constness.
19036
19037 * xterm.c (handle_one_xevent): Fix a C warning.
19038
19039 2007-09-18 Jason Rumney <jasonr@gnu.org>
19040
19041 * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame.
19042
19043 2007-09-17 Jan Djärv <jan.h.d@swipnet.se>
19044
19045 * gtkutil.c (gdpy_def): New variable.
19046 (xg_initialize): Initialize gdpy_def.
19047 (xg_display_close): If no other display exists, set gdpy_def to a
19048 new connection.
19049
19050 2007-09-16 Jan Djärv <jan.h.d@swipnet.se>
19051
19052 * gtkutil.c (xg_get_image_for_pixmap): Always create a GdkPixbuf
19053 when we have no file name for the icon.
19054 (xg_tool_bar_expose_callback): Remove.
19055 (xg_create_tool_bar): Don't connect expose signal to
19056 xg_tool_bar_expose_callback.
19057 (xg_get_file_with_chooser): Move GCPRO1 after declarations.
19058
19059 2007-09-16 Andreas Schwab <schwab@suse.de>
19060
19061 * alloc.c (reset_malloc_hooks): Set the hooks to the previous
19062 values instead of zapping them.
19063
19064 2007-09-14 Glenn Morris <rgm@gnu.org>
19065
19066 * fringe.c (init_fringe_bitmap) <swap_nibble>: Move to file scope.
19067 * gtkutil.c (xg_separator_p) <separator_names>: Move to file scope.
19068 * image.c (our_memory_fill_input_buffer) <buffer>: Move to file
19069 scope and rename to omfib_buffer for clarity.
19070 (gif_load) <interlace_start, interlace_increment>: Move to file scope.
19071
19072 2007-09-14 Kenichi Handa <handa@m17n.org>
19073
19074 * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero.
19075
19076 2007-09-13 Jason Rumney <jasonr@gnu.org>
19077
19078 * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument.
19079
19080 * w32term.c (w32_term_init): Pass rif to w32_init_fringe.
19081
19082 * macterm.c (mac_initialize): Don't call mac_init_fringe here.
19083 (mac_term_init): Call here instead, passing rif.
19084
19085 2007-09-13 Glenn Morris <rgm@gnu.org>
19086
19087 * s/hpux.h: No longer define `static' as nothing.
19088
19089 2007-09-13 Johan Bockgård <bojohan@gnu.org>
19090
19091 * callint.c (Fcall_interactively): Remove unused var `fun'.
19092
19093 2007-09-12 Romain Francoise <romain@orebokech.com>
19094
19095 * window.c (prefer_window_split_horizontally, display_buffer):
19096 Revert 2007-09-08 change.
19097
19098 2007-09-12 Glenn Morris <rgm@gnu.org>
19099
19100 * alloca.c: Remove file.
19101 * Makefile.in (alloca): Do not undef.
19102 (allocaobj, alloca.o): Remove.
19103 (otherobj): Remove allocaobj.
19104 * keyboard.c (command_loop_1): Remove #ifdef C_ALLOCA block.
19105 * regex.c (C_ALLOCA): Remove all references and code that was only
19106 used when this was defined.
19107 * search.c (boyer_moore): Remove #ifdef C_ALLOCA block.
19108 * xmenu.c (xmenu_show): Remove #ifdef C_ALLOCA block.
19109 * m/ibms390x.h, m/sh3el.h (C_ALLOCA): Remove references to this.
19110
19111 * Makefile.in (SOURCES, unlock, relock): Delete.
19112
19113 * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity.
19114 (menu_grab_callback): All uses changed.
19115
19116 * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity.
19117 (x_reply_selection_request): All uses changed.
19118
19119 2007-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
19120
19121 * lread.c (load_warn_old_style_backquotes): Change message to look
19122 better when it appears in the middle of byte-compiler messages.
19123
19124 2007-09-10 Dan Nicolaescu <dann@ics.uci.edu>
19125
19126 * s/darwin.h (MULTI_KBOARD): Only define for Carbon.
19127
19128 * xterm.c (x_create_terminal): Add comment.
19129
19130 * term.c (clear_tty_hooks, set_tty_hooks): Add comments.
19131
19132 2007-09-10 Richard Stallman <rms@gnu.org>
19133
19134 * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME.
19135
19136 2007-09-10 Michaël Cadilhac <michael@cadilhac.name>
19137
19138 * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'.
19139 (DEFUN): Document `intspec', use it instead of `prompt'.
19140
19141 * eval.c (Fcommandp): Change `->prompt' to `->intspec'.
19142
19143 * data.c (Finteractive_form): If the interactive specification starts
19144 with a `(', use it as a Lisp form.
19145
19146 * fileio.c (Fset_file_modes): Add an interactive spec that reads a file
19147 name and file modes.
19148
19149 * callint.c (Fcall_interactively): Comment fixes.
19150
19151 2007-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
19152
19153 * callint.c (Fcall_interactively): Use Finteractive_form also for subrs
19154 and compiled functions.
19155
19156 2007-09-08 Fredrik Axelsson <f.axelsson@gmail.com>
19157
19158 * window.c (prefer_window_split_horizontally): New variable.
19159 (display_buffer): Consider splitting window horizontally depending
19160 on prefer_window_split_horizontally.
19161
19162 2007-09-08 Eli Zaretskii <eliz@gnu.org>
19163
19164 * sysdep.c [WINDOWSNT]: Don't include sysselect.h.
19165
19166 2007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
19167
19168 * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking.
19169
19170 * frame.c (x_set_frame_parameters): Check number is positive before
19171 using XFASTINT.
19172
19173 * window.c (freeze_window_start): Don't presume selected_window holds
19174 a window object.
19175 (Fdisplay_buffer): Remove `register' since `buffer' needs to be gcpro'd.
19176
19177 2007-09-07 Angelo Graziosi <Angelo.Graziosi@roma1.infn.it> (tiny change)
19178
19179 * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN.
19180
19181 2007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
19182
19183 * window.c (Vsplit_window_preferred_function): New var.
19184 (Fdisplay_buffer): Use it.
19185 (syms_of_window): Export, and initialize it.
19186
19187 2007-09-06 Pixel <pixel@mandriva.com> (tiny change)
19188
19189 * image.c (gif_load): Fix bug: Handle nonexistent colormap.
19190
19191 2007-09-06 Glenn Morris <rgm@gnu.org>
19192
19193 * gtkutil.c (menu_grab_callback) <cnt>:
19194 * xselect.c (x_reply_selection_request) <cnt>: Move static
19195 variable to file scope.
19196
19197 2007-09-06 Stefan Monnier <monnier@iro.umontreal.ca>
19198
19199 * xdisp.c (redisplay_internal): Make sure Elisp code always sees
19200 consistent values of selected_frame and selected_window.
19201
19202 2007-09-04 Jason Rumney <jasonr@gnu.org>
19203
19204 * w32console.c (initialize_w32_display): Zero unused hooks.
19205
19206 2007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
19207
19208 * term.c (Vsuspend_tty_functions, Vresume_tty_functions)
19209 (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change.
19210
19211 2007-09-04 Jason Rumney <jasonr@gnu.org>
19212
19213 * term.c (init_tty) [WINDOWSNT]: Add hooks that are not accessible
19214 in w32console.c. Set up input. Remove XXX comments that have been
19215 confirmed as correct.
19216
19217 * s/ms-w32.h (MULTI_KBOARD): Define.
19218
19219 * w32console.c (one_and_only_w32cons): Remove.
19220 (initialize_w32_display): Take terminal argument.
19221
19222 * term.c (init_tty) [WINDOWSNT]: Pass terminal to
19223 initialize_w32_display.
19224 (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too.
19225
19226 * termhooks.h (enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
19227
19228 * keyboard.c (discard_mouse_events): Discard it.
19229 (make_lispy_event): Translate it to a lisp event.
19230 (lispy_wheel_names): Add wheel-left and right events.
19231 (syms_of_keyboard): Enlarge wheel_syms.
19232
19233 * w32fns.c (w32_wnd_proc) <WM_DROPFILES>: Merge with WM_MOUSEWHEEL.
19234 <WM_MOUSEHWHEEL>: Pass new system message to lisp.
19235
19236 * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't.
19237
19238 * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT
19239 from WM_MOUSEHWHEEL.
19240 (w32_read_socket) <WM_MOUSEHWHEEL>: Treat as WM_MOUSEWHEEL.
19241
19242 * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from
19243 terminal.
19244
19245 * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new
19246 keyboard for the terminal.
19247
19248 2007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
19249
19250 * term.c (Vsuspend_tty_hook): Rename from Vsuspend_tty_functions.
19251 (Vresume_tty_hook): Rename from Vresume_tty_functions.
19252 (syms_of_term): Rename suspend-tty-functions to suspend-tty-hook
19253 and resume-tty-function to resume-tty-hook.
19254 (Fsuspend_tty, Fresume_tty): Use new names.
19255
19256 2007-09-02 Jan Djärv <jan.h.d@swipnet.se>
19257
19258 * gtkutil.c (update_frame_tool_bar): Handle stock name as a named icon
19259 if it starts with "n:".
19260
19261 2007-08-31 Jan Djärv <jan.h.d@swipnet.se>
19262
19263 * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL.
19264
19265 2007-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
19266
19267 * frame.h:
19268 * frame.c (Qterm_environment_variable): Remove.
19269 (syms_of_frame): Don't init and staticpro it.
19270
19271 * callproc.c (getenv_internal): Remove special case for $TERM.
19272
19273 * callproc.c (Vinitial_environment): New variable.
19274 (set_initial_environment): Initialize it.
19275 (syms_of_callproc): Declare it.
19276 (child_setup): Don't mess with TERM via Qterm_environment_variable; the
19277 TERM under which a process runs is never related to the TERM in which
19278 Emacs is running.
19279
19280 2007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
19281
19282 * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here...
19283 * s/darwin.h: ... do it here.
19284
19285 2007-08-29 Stefan Monnier <monnier@iro.umontreal.ca>
19286
19287 * lisp.h (set_initial_environment): Rename from set_global_environment.
19288
19289 * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been
19290 removed by mistake on the multi-tty branch.
19291
19292 * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup.
19293 (Fmodify_frame_parameters): Return a value.
19294
19295 * image.c (png_load): Comment-out var only used in commented-out code.
19296
19297 * term.c (mark_ttys): Don't bother checking top_frame (incorrectly)
19298 before passing it to mark_object.
19299
19300 * xfaces.c (internal_resolve_face_name): Return a value.
19301 (internal_resolve_face_name, resolve_face_name_error): Comment out.
19302
19303 * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup.
19304 (x_icon): Comment-out var only used in commented-out code.
19305
19306 2007-08-29 Romain Francoise <romain@orebokech.com>
19307
19308 * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if
19309 QUIT hasn't been provided.
19310
19311 2007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
19312
19313 * callproc.c (child_setup, getenv_internal): Use the
19314 display-environment-variable and term-environment-variable frame params.
19315 (set_initial_environment): Initialise Vprocess_environment.
19316
19317 * config.in: Disable multi-keyboard support on a mac.
19318
19319 * frame.c (Qterm_environment_variable)
19320 (Qdisplay_environment_variable): New variables.
19321 (syms_of_frame): Intern and staticpro them.
19322 (Fmake_terminal_frame): Disable output method test.
19323
19324 * frame.h: Declare them here.
19325
19326 * macfns.c (x_set_mouse_color): Get rif from the frame.
19327 (x_set_tool_bar_lines): Don't use updating_frame.
19328 (mac_window): Add 2 new parameters for consistency with other systems.
19329 (Fx_create_frame): Fix doc string. Rename the parameter. Set the
19330 frame parameters following what is done in X11 and w32. Don't use
19331 FRAME_MAC_DISPLAY_INFO.
19332 (Fx_open_connection, start_hourglass): Remove window-system check.
19333 (x_create_tip_frame): Get the keyboard from the terminal.
19334
19335 * macmenu.c: Reorder includes.
19336 (Fx_popup_menu): Use terminal specific mouse_position_hook.
19337
19338 * macterm.c (XTset_terminal_modes, XTreset_terminal_modes): Add a
19339 terminal parameter.
19340 (x_clear_frame): Add a frame parameter.
19341 (note_mouse_movement): Get rif from the frame.
19342 (mac_term_init): Initialize the terminal.
19343 (mac_initialize): Make static and move terminal initialization ...
19344 (mac_create_terminal): ... to this new function.
19345
19346 * macterm.h (struct mac_display_info): Add terminal.
19347 (mac_initialize): Delete declaration.
19348
19349 * puresize.h (BASE_PURESIZE): Increase base value to 1164000.
19350
19351 * sysdep.c: Comment out text after #endif.
19352
19353 * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD
19354 is defined. Better initialize ttys in windows. Use terminal
19355 specific mouse_position_hook.
19356
19357 * termhooks.h (union display_info): Add mac_display_info.
19358
19359 * w32fns.c (Fx_create_frame): Use kboard from the terminal.
19360 Set the default minibuffer frame, window_system and the rest of the
19361 frame parameters following what is done in X11.
19362
19363 * w32term.c (w32_initialize): Make static.
19364
19365 * xselect.c (x_handle_selection_clear): Only access
19366 terminal->kboard when MULTI_KBOARD is defined.
19367
19368 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
19369 (SYSTEM_PURESIZE_EXTRA): Only define on Carbon.
19370
19371 2007-08-29 Jason Rumney <jasonr@gnu.org>
19372
19373 * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined.
19374 (make_terminal_frame) [WINDOWSNT]: Initialize terminal.
19375
19376 * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]:
19377 (mac_init_fringe) [MAC_OS]: Get rif from selected_frame.
19378
19379 * keyboard.c (restore_kboard_configuration): Only define when
19380 MULTI_KBOARD defined.
19381
19382 * makefile.w32-in: Update dependancies from Makefile.in.
19383 (OBJ1): Add terminal.$(O)
19384
19385 * term.c (dissociate_if_controlling_tty) [WINDOWSNT]:
19386 Don't define function body.
19387 (init_tty) [WINDOWSNT]: Use selected_frame for initializing.
19388
19389 * termhooks.h (display_info) [WINDOWSNT]: Add w32.
19390
19391 * w32.c (request_sigio, unrequest_sigio): Remove.
19392
19393 * w32console.c (w32con_move_cursor, w32con_clear_to_end)
19394 (w32con_clear_frame, w32con_clear_end_of_line)
19395 (w32con_ins_del_lines, w32con_insert_glyphs, w32con_write_glyphs)
19396 (w32con_delete_glyphs, w32con_set_terminal_window)
19397 (scroll_line, w32_sys_ring_bell): Add frame arg.
19398 (w32con_set_terminal_modes, w32con_reset_terminal_modes):
19399 Add terminal arg.
19400 (PICK_FRAME): Remove.
19401 (w32con_write_glyphs): Use frame specific terminal coding.
19402 (one_and_only_w32cons): New global variable.
19403 (initialize_w32_display): Use it for storing hooks.
19404 (create_w32cons_output): New function.
19405
19406 * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first
19407 arg a frame.
19408
19409 * w32fns.c (x_create_tip_frame): Set terminal and ref count.
19410 Set window_system.
19411 (x_set_tool_bar_lines): Don't use updating_frame.
19412 (Fx_create_frame): Set terminal and ref count.
19413 (Fx_open_connection): Remove window-system check.
19414
19415 * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook.
19416
19417 * w32term.c (w32_term_init): Call add_keyboard_wait_descriptor.
19418 (w32_set_terminal_modes, w32_reset_terminal_modes): Add terminal arg.
19419 (x_clear_frame, x_delete_glyphs, w32_ring_bell, x_ins_del_lines):
19420 Add frame arg.
19421 (x_delete_terminal, w32_create_terminal): New functions.
19422 (w32_term_init): Create a terminal.
19423 (w32_initialize): Move terminal specific initialization to
19424 w32_create_terminal.
19425
19426 * w32term.h (x_output): Remove foreground_pixel and background_pixel.
19427 (w32_clear_rect, w32_clear_area): Use background from frame.
19428 (w32_display_info): Add terminal.
19429 (w32_sys_ring_bell, x_delete_display): Declare here.
19430
19431 * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type.
19432
19433 * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k.
19434
19435 2007-08-29 Kalle Olavi Niemitalo <kon@iki.fi> (tiny change)
19436
19437 * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char):
19438 Fix get_named_tty calls for the controlling tty.
19439
19440 2007-08-29 ARISAWA Akihiro <ari@mbf.ocn.ne.jp> (tiny change)
19441
19442 * term.c (dissociate_if_controlling_tty)[USG]: Fix parse error.
19443
19444 2007-08-29 Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp> (tiny change)
19445
19446 * term.c (tty_insert_glyphs): Add missing first parameter.
19447
19448 2007-08-29 Károly Lőrentey <karoly@lorentey.hu>
19449
19450 * buffer.c (Fbuffer_list, Fbury_buffer):
19451 Take frame->buried_buffer_list into account.
19452
19453 * cm.c (current_tty): New variable, for cmputc().
19454 (cmputc): Use it.
19455 (cmcheckmagic): Add tty parameter, look up terminal streams there.
19456 (calccost): Add tty parameter. Use emacs_tputs() instead of tputs().
19457 (cmgoto): Add tty parameter. Pass it on to calccost().
19458 Use emacs_tputs() instead of tputs().
19459
19460 * cm.h (emacs_tputs): New macro to set current_tty, and then call
19461 tputs().
19462 (current_tty): New variable, for cmputc().
19463 (cmcheckmagic, cmputc, cmgoto): Add prototypes.
19464
19465 * eval.c (unwind_to_catch): Don't call x_fully_uncatch_errors.
19466 (internal_condition_case, internal_condition_case_1)
19467 (internal_condition_case_2): Don't abort when x_catching_errors.
19468
19469 * fns.c (Fyes_or_no_p): Don't try to open an X dialog on tty terminals.
19470 (Fy_or_n_p): Likewise. Use temporarily_switch_to_single_kboard to
19471 prevent crashes caused by bogus longjmps in read_char.
19472
19473 * keymap.h (Fset_keymap_parent): Add EXFUN.
19474
19475 * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
19476 * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
19477 Remove redundant definition.
19478
19479 * macfns.c (x_set_mouse_color, x_make_gc):
19480 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
19481
19482 * w32term.c (x_free_frame_resources):
19483 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
19484 (w32_initialize): Use the accessor macros for terminal characteristics.
19485
19486 * macterm.c (mac_initialize): Use Fset_input_interrupt_mode.
19487 Use the accessor macros for terminal characteristics.
19488 * msdos.c (internal_terminal_init): Use the accessor macros for
19489 terminal characteristics.
19490 (ScreenVisualBell, internal_terminal_init):
19491 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
19492
19493 * termopts.h (no_redraw_on_reenter): Declare.
19494
19495 * alloc.c (emacs_blocked_malloc): Disable mallopt call.
19496 (mark_terminals, mark_ttys): Declare.
19497 (Fgarbage_collect): Call them.
19498 (mark_object): Mark buried_buffer_list.
19499
19500 * prefix-args.c: Include stdlib.h for exit.
19501
19502 * syssignal.h: Add comment.
19503
19504 * indent.c: Include stdio.h.
19505
19506 * window.h (Vinitial_window_system): Declare.
19507 (Vwindow_system): Delete declaration.
19508
19509 * fontset.c (Finternal_char_font): Use FRAME_RIF.
19510
19511 * image.c (lookup_image): Don't initialize `c' until the xasserts
19512 have been run.
19513
19514 * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and
19515 FRAME_FOREGROUND_PIXEL.
19516
19517 * print.c (print_preprocess): Don't lose print_depth levels while
19518 iterating.
19519
19520 * widget.c (update_from_various_frame_slots):
19521 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
19522
19523 * window.c (set_window_buffer): Don't call clear_mouse_face on tty
19524 frames.
19525 (window_internal_height): Remove bogus make_number call.
19526 (init_window_once): Call make_terminal_frame with two zero parameters.
19527
19528 * fileio.c (Fread_file_name): Update comment.
19529
19530 * callint.c (Fcall_interactively):
19531 Use temporarily_switch_to_single_kboard instead of single_kboard_state.
19532 Make sure it is correctly unwound.
19533
19534 * xsmfns.c (x_session_close): New function.
19535
19536 * coding.h (terminal_coding, safe_terminal_coding, keyboard_coding):
19537 Delete declarations.
19538
19539 * xterm.h: Remove declaration for x_fully_uncatch_errors.
19540 (x_output): Remove background_pixel and foreground_pixel fields.
19541 (x_display_info): Add new field TERMINAL. Remove KBOARD field.
19542 (x_delete_device, x_session_close): Declare.
19543
19544 * lread.c: Include setjmp.h. Update declaration of `read_char'.
19545 (read_filtered_event): Call `read_char' with a local
19546 `wrong_kboard_jmpbuf'.
19547
19548 * minibuf.c (read_minibuf): Call temporarily_switch_to_single_kboard.
19549 Don't call single_kboard_state. Use FRAME_RIF.
19550
19551 * process.c (Fmake_network_process): Don't unrequest_sigio on modern
19552 systems.
19553
19554 * lisp.h (set_process_environment): Rename to `set_global_environment'.
19555 (Fframe_with_environment, Fset_input_meta_mode)
19556 (Fset_quit_char): EXFUN.
19557 (x_create_device, tty_output, terminal, tty_display_info): Declare.
19558 (init_sys_modes, reset_sys_modes): Update prototypes.
19559 (init_all_sys_modes, reset_all_sys_modes): New prototypes.
19560
19561 * keyboard.h (struct kboard): Add new fields Vlocal_function_key_map,
19562 Vlocal_key_translation_map, and Vkeyboard_translate_table.
19563 (Vfunction_key_map, Vkeyboard_translate_table, single_kboard_state):
19564 Delete declarations.
19565 (Vfunction_key_map, Vkey_translation_map, push_kboard, pop_kboard)
19566 (temporarily_switch_to_single_kboard, tty_read_avail_input):
19567 New declarations.
19568
19569 * emacs.c (main): Don't call init_sys_modes(), the new term_init()
19570 already does that during init_display(). Call syms_of_keymap
19571 before syms_of_keyboard. Call `syms_of_terminal'.
19572 Call set_initial_environment, not set_process_environment.
19573 (shut_down_emacs): Call reset_all_sys_modes() instead of
19574 reset_sys_modes().
19575
19576 * xfaces.c (x_free_gc): Protect xassert with GLYPH_DEBUG.
19577 (internal_resolve_face_name, resolve_face_name_error): New functions.
19578 (resolve_face_name): Protect against loops and errors thrown by Fget.
19579 (realize_default_face): Don't use FRAME_FONT unless frame is an X frame.
19580 (Ftty_supports_face_attributes_p): Update tty_capable_p call.
19581
19582 * scroll.c: Replace CURTTY() with local variables throughout the
19583 file (where applicable).
19584 (calculate_scrolling, calculate_direct_scrolling)
19585 (scrolling_1, scroll_cost): Use the accessor macros for terminal
19586 characteristics.
19587
19588 * keymap.c (Vfunction_key_map): Remove.
19589 (Fdescribe_buffer_bindings): Update references to Vfunction_key_map.
19590 (syms_of_keymap): Remove DEFVAR for Vfunction_key_map.
19591 (Vkey_translation_map): Remove.
19592 (syms_of_keymap): Remove DEFVAR for key-translation-map.
19593 (Fdescribe_buffer_bindings)
19594 (read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards):
19595 Update for terminal-local key-translation-map.
19596
19597 * Makefile.in (callproc.o): Update dependencies.
19598 (lisp, shortlisp): Add termdev.elc.
19599 (obj): Add terminal.o.
19600 (terminal.o): Add dependencies.
19601 [HAVE_CARBON]: Make terminal.o depend on macgui.h.
19602 (data.o, fns.o): Add termhooks.h dependency.
19603 (SOME_MACHINE_LISP): Add dnd.elc.
19604 (minibuf.o): Fix typo.
19605 Update dependencies.
19606
19607 * data.c (do_symval_forwarding, store_symval_forwarding)
19608 (find_symbol_value): Use the selected frame's keyboard, not
19609 current_kboard.
19610
19611 * .gdbinit (init_sys_modes): Use Vinitial_window_system instead of
19612 Vwindow_system.
19613
19614 * xmenu.c (Fx_menu_bar_open) [USE_X_TOOLKIT, USE_GTK]: Rename from
19615 Fmenu_bar_open.
19616 (syms_of_xmenu): Update defsubr.
19617 (mouse_position_for_popup, Fx_popup_menu)
19618 (Fx_popup_dialog, x_activate_menubar, update_frame_menubar)
19619 (set_frame_menubar, free_frame_menubar)
19620 (create_and_show_popup_menu, xmenu_show)
19621 (create_and_show_dialog, xdialog_show, xmenu_show): Abort if not
19622 an X frame.
19623
19624 * xselect.c (x_own_selection): Abort if not an X frame.
19625 (some_frame_on_display): Check if it is an X frame.
19626 (x_handle_selection_clear): Deal with MULTI_KBOARD.
19627
19628 * coding.c: Include frame.h and termhooks.h.
19629 (terminal_coding, keyboard_coding): Delete.
19630 (Fset_terminal_coding_system_internal)
19631 (Fset_keyboard_coding_system_internal)
19632 (Fkeyboard_coding_system)
19633 (Fterminal_coding_system): Add a terminal parameter.
19634 Get terminal_coding from the terminal.
19635 (init_coding_once): Don't call setup_coding_system here.
19636
19637 * dispextern.h (set_scroll_region, turn_off_insert)
19638 (turn_off_highlight, background_highlight, clear_end_of_line_raw)
19639 (tty_clear_end_of_line, tty_setup_colors)
19640 (delete_tty, updating_frame)
19641 (produce_special_glyphs, produce_glyphs, write_glyphs)
19642 (insert_glyphs): Remove.
19643 (raw_cursor_to, clear_to_end, tty_turn_off_insert)
19644 (tty_turn_off_highlight, get_tty_size): Add declaration.
19645 (tabs_safe_p, init_baud_rate, get_tty_terminal): Update prototypes.
19646
19647 * frame.h (enum output_method): Add output_initial.
19648 (struct x_output): Delete.
19649 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
19650 Access foreground_pixel and background_pixel directly from the frame.
19651 (tty_display): Delete.
19652 (struct frame): Add buried_buffer_list, foreground_pixel,
19653 background_pixel and terminal. Delete kboard.
19654 (union output_data): Add tty.
19655 (FRAME_KBOARD): Get the kboard from the terminal.
19656 (FRAME_INITIAL_P): New macro.
19657 (Qtty, Qtty_type, Qterminal, Qterminal_live_p, Qenvironment)
19658 (Qterm_environment_variable, Qdisplay_environment_variable)
19659 (make_terminal_frame, Qburied_buffer_list, Qwindow_system):
19660 New declarations.
19661
19662 * termchar.h (tty_output, tty_display_info): New structures.
19663 (tty_list): Declare.
19664 (FRAME_TTY, CURTTY): New macros.
19665 (must_write_spaces, min_padding_speed, fast_clear_end_of_line)
19666 (line_ins_del_ok, char_ins_del_ok, scroll_region_ok)
19667 (scroll_region_cost, memory_below_frame, fast_clear_end_of_line)
19668 (dont_calculate_costs, no_redraw_on_reenter): Remove declarations.
19669
19670 * callproc.c: Include frame.h and termhooks.h, for terminal
19671 parameters.
19672 (add_env): New function.
19673 (child_setup): Use it.
19674 (child_setup, getenv_internal): Handle the new Vprocess_environment.
19675 (getenv_internal): Fix get_terminal_param call.
19676 (Fgetenv_internal, egetenv): Update doc.
19677 (syms_of_callproc): Initialize Vprocess_environment to nil.
19678 Register and initialize them. Remove obsolete defvars. Update doc
19679 strings.
19680 (child_setup): Handle Vlocal_environment_variables.
19681 (getenv_internal): Add terminal parameter.
19682 Handle Vlocal_environment_variables.
19683 (Fgetenv_internal): Add terminal parameter.
19684 (child_setup, getenv_internal, Fgetenv_internal): Store the local
19685 environment in a frame (not terminal) parameter. Update doc strings.
19686 (set_initial_environment): Rename from set_global_environment.
19687 Store Emacs environment in initial frame parameter.
19688
19689 * xdisp.c (redisplay_internal): Update references to
19690 `previous_terminal_frame'.
19691 (display_mode_line, Fformat_mode_line): Replace calls to
19692 `push_frame_kboard' with `push_kboard'.
19693 (get_glyph_string_clip_rects): Add extra parentheses and
19694 braces to prevent compiler warnings.
19695 (calc_pixel_width_or_height): Add xassert to check that the
19696 frame is alive. Don't call `lookup_image' on a termcap frame.
19697 (message2_nolog, message3_nolog, redisplay_internal)
19698 (set_vertical_scroll_bar, redisplay_window, check_x_display_info)
19699 (x_set_scroll_bar_foreground, x_set_scroll_bar_background)
19700 (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p)
19701 (Fx_display_pixel_width, Fx_display_pixel_height)
19702 (Fx_display_planes, Fx_display_color_cells)
19703 (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
19704 (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width)
19705 (Fx_display_backing_store, Fx_display_visual_class)
19706 (Fx_display_save_under, Fx_close_connection, x_create_tip_frame):
19707 Use FRAME_TERMINAL_P, FRAME_WINDOW_P, FRAME_TTY and FRAME_RIF.
19708
19709 * xfns.c (x_set_foreground_color x_set_background_color)
19710 (x_set_mouse_color, x_set_cursor_color, x_make_gc):
19711 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
19712 (Fx_create_frame, x_create_tip_frame, build_string, x_window)
19713 (Fx_create_frame, x_create_tip_frame): Don't create frames on a
19714 terminal that is being deleted.
19715 (Fx_create_frame): Use `store_frame_param' to set `window-system'
19716 frame parameter, and make sure it overrides any user-supplied setting.
19717 (Fx_close_connection, Fx_synchronize): Unify argument names with
19718 the rest of the DEFUNs.
19719
19720 * dispnew.c (Fsend_string_to_terminal): Update call to
19721 `get_tty_terminal'.
19722 (Fredraw_frame, Fsend_string_to_terminal)
19723 (Fsend_string_to_terminal, init_display): Use FRAME_RIF,
19724 FRAME_TERMCAP_P and FRAME_TTY.
19725 (window_change_signal): Don't believe width/height values that are
19726 impossibly small.
19727 (Vinitial_window_system): Rename from Vwindow_system.
19728 (termscript, Wcm, rif): Delete.
19729
19730 * termhooks.h (struct terminal): New struct containing the
19731 previously global text display hooks and new members NAME,
19732 DELETED and PARAM_ALIST.
19733 (FRAME_TERMINAL, TERMINAL_TERMINAL_CODING)
19734 (TERMINAL_KEYBOARD_CODING, TERMINAL_ACTIVE_P, FRAME_WINDOW_P)
19735 (FRAME_RIF): New macros.
19736 (get_terminal_param, get_device): New declarations.
19737 (termscript): Delete declaration.
19738
19739 * xterm.c (x_initialize): Use Fset_input_interrupt_mode.
19740 (XTflash, x_free_frame_resources, x_scroll_bar_create)
19741 (x_scroll_bar_set_handle): Use FRAME_BACKGROUND_PIXEL and
19742 FRAME_FOREGROUND_PIXEL.
19743 (x_fully_uncatch_errors): Disable definition.
19744 (x_scroll_bar_expose): Fix reference to foreground pixel.
19745 (XTread_socket): Disable loop on all X displays.
19746 (x_delete_terminal): Don't set terminal->deleted and let
19747 delete_terminal delete the frames on the terminal.
19748 (x_delete_display): Doc update to reflect changes in
19749 delete_terminal.
19750 (x_display_info) <terminal>: Move member earlier in the struct.
19751 (deleting_tty): Remove old variable.
19752 (Fsuspend_tty): Call clear_tty_hooks.
19753 (Fresume_tty, init_tty): Call set_tty_hooks.
19754 (Ftty_display_color_p, Ftty_display_color_cells): Don't throw
19755 errors on X frames.
19756 (x_catch_errors_unwind): Abort if x_error_message is NULL.
19757 (handle_one_xevent): Initialize `f' to NULL.
19758 (x_delete_terminal, x_create_terminal): New functions.
19759 (XTset_terminal_modes, XTreset_terminal_modes)
19760 (XTread_socket, x_connection_closed, x_term_init)
19761 (x_term_init, x_delete_display): Add terminal parameter.
19762 (x_term_init) [!HAVE_GTK_MULTIDISPLAY]: Refuse to create secondary
19763 X connections.
19764
19765 * frame.c: Include termchar.h.
19766 (Qterminal, Qterminal_live_p, Qburied_buffer_list, Qtty, Qtty_type)
19767 (Qwindow_system, Qenvironment, Qterm_environment_variable)
19768 (Qdisplay_environment_variable): New vars.
19769 (Fframep): Deal with output_initial.
19770 (Fframe-live-p): Doc fix.
19771 (Fwindow-system): New function.
19772 (x_set_screen_gamma, store_frame_param): Fix compilation errors.
19773 (make_terminal_frame): Don't create frames on a terminal that is
19774 being deleted. Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
19775 (store_frame_param): Check for found_for_frame before calling XFRAME.
19776 (Fmake_terminal_frame): Handle NULL tty names correctly.
19777 (syms_of_frame): Enhance doc string of `default-frame-alist'.
19778 (Fdelete_frame): Remove unused variable `count'. Don't allow other
19779 frames to refer to a deleted frame in their 'environment parameter.
19780 (Fframe_with_environment): New function.
19781 (syms_of_frame): Defsubr it. Initialize and staticpro Qenvironment.
19782 (get_future_frame_param): New function.
19783 (Fmake_terminal_frame): Use it.
19784 (x_set_frame_parameters, x_set_screen_gamma): Use FRAME_RIF.
19785
19786 * sysdep.c (init_sys_modes, reset_sys_modes): Update for renames.
19787 * sysdep.c (reset_sys_modes): Update for renames.
19788
19789 * keyboard.c (tty_read_avail_input): New function.
19790 (Fset_input_interrupt_mode, Fset_output_flow_control): New functions.
19791 (syms_of_keyboard): Defsubr them.
19792 (Fset_input_meta_mode, Fset_quit_char): New functions.
19793 (Fset_input_mode): Split to above functions.
19794 (read_char_minibuf_menu_prompt): Add wrong_kboard_jmpbuf
19795 parameter. Use it in call to `read_char'.
19796 (read_char): Declare. Update call to `read_char_minibuf_menu_prompt'.
19797 Set wrong_kboard_jmpbuf correctly in recursive calls.
19798 Use current_kboard to access Vkeyboard_translate_table.
19799 Enhance comment before extra longjmp to wrong_kboard_jmpbuf.
19800 Add wrong_kboard_jmpbuf parameter to allow for recursive calls.
19801 Update longjmp invocations. Remember the original current_kboard,
19802 and longjmp to `wrong_kboard_jmpbuf' when a filter, timer or sentinel
19803 changes it. Comment out unnecessary calls to
19804 `record_single_kboard_state' and `any_kboard_state'.
19805 Update recursive calls.
19806 (wrong_kboard_jmpbuf): Remove global variable.
19807 (read_key_sequence): Remove unused variable wrong_kboard_jmpbuf.
19808 Handle deleted interrupted_kboards correctly; that is a legal
19809 case. Add `wrong_kboard_jmpbuf' local variable. Update setjmp
19810 and read_char calls. Abort if interrupted_kboard died in read_char.
19811 (any_kboard_state, single_kboard_state)
19812 (push_frame_kboard): Remove function.
19813 (pop_kboard): Switch out of single_kboard mode if the kboard has
19814 been deleted. Remove unused variable. Help debugging by not
19815 changing current_kboard unnecessarily. Set current_kboard to the
19816 kboard of the selected frame when the stored kboard object has
19817 been deleted before pop_kboard.
19818 (temporarily_switch_to_single_kboard): Change first parameter to a
19819 frame pointer. Throw an error when caller wants to change kboards
19820 while in single_kboard mode. Don't push_kboard if we weren't in
19821 single kboard state. Don't pop_kboard if we popped into any
19822 kboard state.
19823 (restore_kboard_configuration): Abort if pop_kboard changed the
19824 kboard in single_kboard mode. Call pop_kboard only after setting
19825 up single_kboard mode.
19826 (Frecursive_edit): Switch to single_kboard mode only in nested
19827 command loops.
19828 (cmd_error, command_loop, command_loop_1, timer_check):
19829 Comment out unnecessary call to `any_kboard_state' and
19830 `record_single_kboard_state'.
19831 (delete_kboard): Exit single_kboard mode if we have just deleted
19832 that kboard. Use FRAME_KBOARD.
19833 (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not
19834 `fatal_error_signal'.
19835 (record_single_kboard_state): Don't push_kboard if we weren't in
19836 single kboard state. Don't pop_kboard if we popped into any
19837 kboard state.
19838 (push_frame_kboard): Rename to push_kboard.
19839 (kbd_buffer_get_event): Use FRAME_TERMINAL.
19840 (read_avail_input): Read input from all terminals.
19841 (mark_kboards): Also mark Vkeyboard_translate_table.
19842 (kbd_buffer_store_event_hold): Simplify condition.
19843 (read_key_sequence): Reinitialize fkey and keytran at each replay.
19844 (Vkeyboard_translate_table): Move to struct kboard.
19845 (init_kboard): Initialize Vkeyboard_translate_table.
19846 (syms_of_keyboard): Use DEFVAR_KBOARD to define
19847 Vkeyboard_translate_table. Update doc strings. Update docs of
19848 local-function-key-map and function-key-map.
19849
19850 * terminal.c: New file.
19851
19852 * term.c: Include errno.h.
19853 (Vring_bell_function, device_list, initial_device)
19854 (next_device_id, ring_bell, update_begin, update_end)
19855 (set_terminal_window, cursor_to, raw_cursor_to)
19856 (clear_to_end, clear_frame, clear_end_of_line)
19857 (write_glyphs, insert_glyphs, delete_glyphs, ins_del_lines)
19858 (Fdisplay_name, create_device, delete_device): Move to terminal.c.
19859 (syms_of_term): Move their initialization to terminal.c.
19860 (get_tty_terminal, Fdisplay_tty_type, Ftty_display_color_p)
19861 (Ftty_display_color_cells)
19862 (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output)
19863 (clear_tty_hooks, set_tty_hooks)
19864 (init_tty, maybe_fatal): New functions.
19865 (Ftty_type): Return nil if terminal is not on a tty instead of
19866 throwing an error. Doc update.
19867 (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>:
19868 Doc update. Initialize new subrs and variables.
19869 (delete_tty): Use terminal->deleted.
19870 (tty_set_terminal_modes): Rename from set_terminal_modes.
19871 (tty_reset_terminal_modes): Rename from reset_terminal_modes.
19872 (set_scroll_region): Rename to `tty_set_scroll_region'.
19873 (turn_on_insert): Rename to `tty_turn_on_insert'.
19874 (turn_off_insert): Rename to `tty_turn_off_insert'.
19875 (turn_off_highlight): Rename to `tty_turn_off_highlight'.
19876 (turn_on_highlight): Rename to `tty_turn_on_highlight'.
19877 (toggle_highligh): Rename to `tty_toggle_highlight'.
19878 (background_highlight): Rename to `tty_background_highlight'.
19879 (highlight_if_desired): Rename to `tty_highlight_if_desired'.
19880 (tty_ring_bell, tty_update_end, tty_set_terminal_window)
19881 (tty_set_scroll_region, tty_background_highlight)
19882 (tty_cursor_to, tty_raw_cursor_to, tty_clear_to_end)
19883 (tty_clear_frame, tty_clear_end_of_line, tty_write_glyphs)
19884 (tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines)
19885 (term_get_fkeys, tty_setup_colors, dissociate_if_controlling_tty):
19886 Add static modifier.
19887 (tty_reset_terminal_modes, tty_set_terminal_window)
19888 (tty_set_scroll_region, tty_background_highlight)
19889 (tty_highlight_if_desired, tty_cursor_to)
19890 (tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame)
19891 (tty_clear_end_of_line, tty_write_glyphs, tty_insert_glyphs)
19892 (tty_delete_glyphs, tty_ins_del_lines, turn_on_face): Update for
19893 renames.
19894
19895 2007-08-28 Jan Djärv <jan.h.d@swipnet.se>
19896
19897 * keyboard.c: Qrtl is new.
19898 (parse_tool_bar_item): Handle :rtl keyword.
19899 (syms_of_keyboard): Intern :rtl keyword.
19900
19901 * dispextern.h (enum tool_bar_item_idx): Add TOOL_BAR_ITEM_RTL_IMAGE.
19902
19903 * gtkutil.c (xg_tool_bar_expose_callback): Just do SET_FRAME_GARBAGED
19904 so no Lisp code is executed.
19905 (file_for_image, find_rtl_image): New functions.
19906 (xg_get_image_for_pixmap): Use file_for_image.
19907 (update_frame_tool_bar): If direction is RTL, use RTL image if
19908 defined. Use Gtk stock images if defined.
19909
19910 2007-08-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
19911
19912 * macterm.c (x_draw_composite_glyph_string_foreground): Draw rectangle
19913 for nonexistent or zero-width glyph in composition glyph.
19914
19915 2007-08-25 Stefan Monnier <monnier@iro.umontreal.ca>
19916
19917 * m/amdx86-64.h: Redirect to intel386.h if compiling for i386.
19918
19919 * xdisp.c (Finvisible_p): New function.
19920 (syms_of_xdisp): defsubr it.
19921
19922 2007-08-24 Juanma Barranquero <lekktu@gmail.com>
19923
19924 * image.c (syms_of_image) <image-library-alist, cross-disabled-images>:
19925 Doc fixes.
19926
19927 2007-08-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
19928
19929 * mac.c [MAC_OSX] (select_and_poll_event, sys_select): Fix last changes.
19930
19931 2007-08-24 Martin Rudalics <rudalics@gmx.at>
19932
19933 * fileio.c (Finsert_file_contents): Consult CHARS_MODIFF to tell
19934 whether decoding has modified buffer contents.
19935
19936 2007-08-24 Jason Rumney <jasonr@gnu.org>
19937
19938 * image.c [HAVE_NTGUI]: Define dynamic loaded functions for SVG.
19939 (Qgdk_pixbuf, Qglib) [HAVE_NTGUI]: New symbols.
19940 (syms_of_image) [HAVE_NTGUI]: Intern and staticpro them.
19941 (init_svg_functions) [HAVE_NTGUI]: New function.
19942 (fn_g_type_init, fn_g_object_unref, fn_g_error_free): New #defines.
19943 (svg_load_image): Use them.
19944 (svg_load_image) [HAVE_NTGUI]: Implement background.
19945
19946 2007-08-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
19947
19948 * Makefile.in (RSVG_LIBS, RSVG_CFLAGS): New variables.
19949 (ALL_CFLAGS): Use ${RSVG_CFLAGS} instead of @RSVG_CFLAGS@.
19950 (LIBX): Remove @RSVG_LIBS@.
19951 (LIBES): Add $(RSVG_LIBS).
19952
19953 * image.c (svg_load_image): Blend with specified background if exists.
19954 Use IMAGE_BACKGROUND. Add Mac OS Support.
19955
19956 * mac.c (wakeup_from_rne_enabled_p) [MAC_OSX]: Remove variable.
19957 (ENABLE_WAKEUP_FROM_RNE, DISABLE_WAKEUP_FROM_RNE) [MAC_OSX]:
19958 Remove macros.
19959 [MAC_OSX] (socket_callback): Do nothing.
19960 [MAC_OSX] (select_and_poll_event): Use CFRunLoopRunInMode instead of
19961 ReceiveNextEvent.
19962 [MAC_OSX] (sys_select): Likewise. Don't set context as argument to
19963 socket_callback.
19964 (mac_wakeup_from_rne) [MAC_OSX]: Do nothing.
19965
19966 2007-08-22 Glenn Morris <rgm@gnu.org>
19967
19968 * image.c (x_find_image_file): Search in etc/images/ rather than etc/.
19969
19970 2007-08-22 Paul Pogonyshev <pogonyshev@gmx.net>
19971
19972 * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS.
19973
19974 * image.c: Add support for SVG images. Some additional comments
19975 by Joakim Verona <joakim@verona.se>. When HAVE_RSVG is defined:
19976 (svg_image_p): New function to test for SVG image.
19977 (svg_load): New function to load SVG image.
19978 (svg_load_image): New function, helper for svg_load.
19979 (Qsvg): New Lisp_object.
19980 (svg_keyword_index): New enum.
19981 (svg_format): New static `image_keyword' struct.
19982 (svg_type): New static `image_type' struct.
19983 (librsvg/rsvg.h): Include it.
19984
19985 2007-08-23 Stefan Monnier <monnier@iro.umontreal.ca>
19986
19987 * lread.c (load_warn_old_style_backquotes): Fix up array size typo.
19988
19989 2007-08-22 Stefan Monnier <monnier@iro.umontreal.ca>
19990
19991 * lread.c (Qold_style_backquotes): New var.
19992 (syms_of_lread): Init and staticpro it.
19993 (load_warn_old_style_backquotes): New fun.
19994 (Fload): Use them to warn about old style backquotes.
19995 (end_of_file_error, Fload): Remove unused vars.
19996
19997 * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare.
19998
19999 * lread.c (Vold_style_backquotes): New var.
20000 (syms_of_lread): Init and export it to Elisp.
20001 (read1): Set it when we find an old-style (back)quote.
20002
20003 2007-08-22 Jason Rumney <jasonr@gnu.org>
20004
20005 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator.
20006
20007 2007-08-22 Katsumi Yamaoka <yamaoka@jpl.org>
20008
20009 * puresize.h (BASE_PURESIZE): Increase to 1140000.
20010
20011 2007-08-19 Richard Stallman <rms@gnu.org>
20012
20013 * eval.c (Ffunction, Fquote): Signal error if not 1 argument.
20014
20015 2007-08-19 Andreas Schwab <schwab@suse.de>
20016
20017 * alloc.c (pure): Round PURESIZE up.
20018
20019 2007-08-17 Jan Djärv <jan.h.d@swipnet.se>
20020
20021 * xterm.c (handle_one_xevent): Remove check that mouse click is in
20022 active frame.
20023
20024 2007-08-16 Richard Stallman <rms@gnu.org>
20025
20026 * eval.c (Fcommandp): Add parens to clarify.
20027
20028 * minibuf.c (Fall_completions): Use enum for type of table.
20029
20030 * emacs.c (USAGE2): Improve text.
20031
20032 2007-08-15 Philippe Waroquiers <philippe.waroquiers@eurocontrol.int>
20033
20034 * term.c (tty_default_color_capabilities): Declare static
20035 variables in file scope, to avoid HPUX compiler problem.
20036
20037 2007-08-13 Jan Djärv <jan.h.d@swipnet.se>
20038
20039 * gtkutil.c (update_frame_tool_bar): Use -1 as index
20040 to gtk_toolbar_insert.
20041
20042 2007-08-13 Stefan Monnier <monnier@iro.umontreal.ca>
20043
20044 * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup.
20045
20046 * insdel.c (reset_var_on_error): New fun.
20047 (signal_before_change, signal_after_change):
20048 Use it to reset (after|before)-change-functions to nil in case of error.
20049 Bind inhibit-modification-hooks to t.
20050 Don't bind (after|before)-change-functions to nil while they run.
20051
20052 2007-08-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
20053
20054 * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when
20055 filling pixmap with stippled background.
20056
20057 2007-08-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
20058
20059 * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event):
20060 Don't use invisible frame as parent window for repositioning.
20061
20062 2007-08-10 Stefan Monnier <monnier@iro.umontreal.ca>
20063
20064 * print.c (new_backquote_output): Rename from old_backquote_output.
20065 (print): Inverse its logic (according to its name) so as to match the
20066 behavior of new_backquote_flag in lread.c.
20067
20068 2007-08-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
20069
20070 * gmalloc.c (posix_memalign): New function.
20071
20072 * macterm.c (frame_highlight, frame_unhighlight): Don't call
20073 ActivateControl/DeactivateControl here.
20074 [USE_MAC_TOOLBAR] (free_frame_tool_bar): Suppress animation when
20075 frame-notice-user-settings is non-nil.
20076 [USE_MAC_FONT_PANEL] (mac_handle_font_event): Also record parameter
20077 for kEventParamFMFontStyle.
20078 [TARGET_API_MAC_CARBON] (mac_handle_keyboard_event): Don't check
20079 mac_pass_command_to_system and mac_pass_control_to_system here.
20080 (XTread_socket): Call ActivateControl/DeactivateControl here.
20081 (XTread_socket) [TARGET_API_MAC_CARBON]:
20082 Check mac_pass_command_to_system and mac_pass_control_to_system here.
20083 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Add further workaround
20084 for window repositioning.
20085
20086 2007-08-08 Glenn Morris <rgm@gnu.org>
20087
20088 * Replace `iff' in doc-strings and comments.
20089
20090 2007-08-07 Chong Yidong <cyd@stupidchicken.com>
20091
20092 * xdisp.c (move_it_by_lines): Remove incorrect optimization.
20093
20094 2007-08-07 Martin Rudalics <rudalics@gmx.at>
20095
20096 * fileio.c (Finsert_file_contents): Run format-decode and
20097 after_insert_file_functions on entire buffer when REPLACE is
20098 non-nil and inhibit modification_hooks and point_motion_hooks.
20099 For consistency, run after_insert_file_functions iff something
20100 got inserted. Move signal_after_change and update_compositions
20101 after code running after_insert_file_functions. Make sure that
20102 undo_list doesn't record intermediate steps of the decoding process.
20103
20104 2007-08-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
20105
20106 * emacs.c (main)
20107 [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
20108 Call malloc_enable_thread on interactive startup.
20109
20110 * gmalloc.c (_malloc_thread_enabled_p) [USE_PTHREAD]: New variable.
20111 (LOCK, UNLOCK, LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS)
20112 [USE_PTHREAD]: Conditionalize with it.
20113 (malloc_atfork_handler_prepare, malloc_atfork_handler_parent)
20114 (malloc_atfork_handler_child, malloc_enable_thread) [USE_PTHREAD]:
20115 New functions.
20116
20117 2007-08-06 Chong Yidong <cyd@stupidchicken.com>
20118
20119 * xdisp.c (redisplay_window): When restoring original buffer
20120 position, make sure it is still valid.
20121
20122 * image.c (png_load): Ignore png-supplied background color.
20123
20124 2007-08-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
20125
20126 * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value.
20127 Use kCFAbsoluteTimeIntervalSince1970.
20128
20129 * macmenu.c (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]:
20130 New variable.
20131 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Set it if dialog
20132 event loop should be quit.
20133 [TARGET_API_MAC_CARBON] (create_and_show_dialog) [!MAC_OSX]:
20134 Quit dialog event loop if quit_dialog_event_loop is set.
20135
20136 * macselect.c [!TARGET_API_MAC_CARBON]: Include Scrap.h.
20137 (Selection): New typedef. Use instead of ScrapRef.
20138 (mac_get_selection_from_symbol): Rename from get_scrap_from_symbol.
20139 (mac_valid_selection_target_p): Rename from valid_scrap_target_type_p.
20140 (mac_clear_selection): Rename from clear_scrap.
20141 (get_flavor_type_from_symbol): New argument SEL and subsume function of
20142 scrap_has_target_type. All uses changed.
20143 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
20144 (mac_selection_has_target_p): New functions.
20145 (mac_put_selection_value): Rename from put_scrap_string.
20146 (mac_get_selection_value): Rename from get_scrap_string.
20147 (mac_get_selection_target_list): Rename from get_scrap_target_type_list.
20148 (put_scrap_private_timestamp, scrap_has_target_type)
20149 (get_scrap_private_timestamp): Remove functions.
20150 (SCRAP_FLAVOR_TYPE_EMACS_TIMESTAMP): Remove define.
20151 (x_own_selection, x_get_local_selection):
20152 Use mac_valid_selection_value_p.
20153 (x_own_selection): Don't use put_scrap_private_timestamp.
20154 Record OWNERSHIP-INFO into Vselection_alist instead.
20155 (x_get_local_selection): Don't check type if request is local.
20156 (Fx_selection_owner_p): Don't use get_scrap_private_timestamp.
20157 Detect ownership change with OWNERSHIP-INFO in Vselection_alist instead.
20158
20159 2007-08-04 Jan Djärv <jan.h.d@swipnet.se>
20160
20161 * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s,
20162 add comment explaining why.
20163
20164 2007-08-03 Richard Stallman <rms@gnu.org>
20165
20166 * fileio.c (Fvisited_file_modtime): Use make_time.
20167
20168 2007-08-01 Ryo Yoshitake <ryo@shiftmode.net> (tiny change)
20169
20170 * mac.c (init_mac_osx_environment): Adjust load-path on self-contained
20171 build.
20172
20173 2007-07-31 Stefan Monnier <monnier@iro.umontreal.ca>
20174
20175 * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT.
20176
20177 2007-07-30 Katsumi Yamaoka <yamaoka@jpl.org>
20178
20179 * puresize.h (BASE_PURESIZE): Increase to 1130000.
20180
20181 2007-07-30 Richard Stallman <rms@gnu.org>
20182
20183 * lread.c (readevalloop, read1): Treat NBSP as whitespace.
20184
20185 2007-07-29 Jan Djärv <jan.h.d@swipnet.se>
20186
20187 * gmalloc.c (__malloc_initialize): Remove pthread_once. Not needed.
20188
20189 2007-07-28 Nick Roberts <nickrob@snap.net.nz>
20190
20191 * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for
20192 remote default-directory.
20193
20194 * buffer.c (mode-line-format): Update doc string.
20195
20196 2007-07-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
20197
20198 * w32term.c (w32_draw_fringe_bitmap): Extend fringe background to
20199 scroll bar gap.
20200 (x_scroll_bar_create): Set bar->fringe_extended_p.
20201 (w32_set_vertical_scroll_bar): Put leftmost/rightmost scroll bars
20202 on frame edge. Check fringe background extension. Don't clear
20203 extended fringe background area.
20204
20205 * w32term.h (struct scroll_bar): New member fringe_extended_p.
20206 (w32_fill_area): Enclose multiple statements with do ... while (0).
20207
20208 * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]:
20209 Extend fringe background to scroll bar gap.
20210 (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]:
20211 Set bar->fringe_extended_p.
20212 (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
20213 Put leftmost/rightmost scroll bars on frame edge. Check fringe
20214 background extension. Don't clear extended fringe background area.
20215
20216 * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
20217 New member fringe_extended_p.
20218
20219 2007-07-25 Glenn Morris <rgm@gnu.org>
20220
20221 * Relicense all FSF files to GPLv3 or later.
20222
20223 * COPYING: Switch to GPLv3.
20224
20225 2007-07-25 Stefan Monnier <monnier@iro.umontreal.ca>
20226
20227 * eval.c (Fcommandp): Pay attention to the `interactive-form' property.
20228
20229 * data.c (Finteractive_form): Check for the presence of an
20230 `interactive-form' symbol property more thoroughly.
20231
20232 * data.c (Finteractive_form): Use an `interactive-form' property if
20233 present, analogous to the function-documentation property.
20234
20235 2007-07-24 Jason Rumney <jasonr@gnu.org>
20236
20237 * w32fns.c (x_real_positions): Get real position from OS instead of
20238 calculating it.
20239
20240 2007-07-23 Jason Rumney <jasonr@gnu.org>
20241
20242 * filelock.c (current_lock_owner): Allow for @ sign in username.
20243
20244 2007-07-22 Nick Roberts <nickrob@snap.net.nz>
20245
20246 * xdisp.c (decode_mode_spec): Add case 'R' for to test for
20247 remote default-directory.
20248
20249 * buffer.c (mode-line-format): Describe above case in doc string.
20250
20251 2007-07-20 Eli Zaretskii <eliz@gnu.org>
20252
20253 * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):
20254 Define if not defined.
20255
20256 2007-07-18 Jason Rumney <jasonr@gnu.org>
20257
20258 * w32proc.c (w32_executable_type): Handle 64 bit executables.
20259
20260 2007-07-18 Richard Stallman <rms@gnu.org>
20261
20262 * data.c (Fsetq_default): Doc fix.
20263
20264 * eval.c (Fsetq): Doc fix.
20265
20266 2007-07-18 Juanma Barranquero <lekktu@gmail.com>
20267
20268 * coding.c (Ffind_operation_coding_system):
20269 * eval.c (For, Fand): Doc fixes.
20270 Reported by Johan Bockgård.
20271
20272 2007-07-18 Jan Djärv <jan.h.d@swipnet.se>
20273
20274 * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame.
20275
20276 * xterm.h: Declare x_ewmh_activate_frame.
20277
20278 * xterm.c (x_ewmh_activate_frame): New function.
20279 (XTframe_raise_lower): Move code to x_ewmh_activate_frame.
20280
20281 2007-07-17 Martin Rudalics <rudalics@gmx.at>
20282
20283 * window.c (Fdisplay_buffer): If largest or LRU window is the
20284 only window, split it even if it is not eligible for splitting.
20285 This restores the original behavior broken by the 2007-07-15
20286 change.
20287
20288 2007-07-17 Glenn Morris <rgm@gnu.org>
20289
20290 * abbrev.c (abbrev_check_chars): New function.
20291 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
20292 Call abbrev_check_chars to check abbrev characters are word
20293 constituents. Doc fix.
20294
20295 2007-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
20296
20297 * process.c (Fstart_process, Fmake_network_process)
20298 (read_process_output): Fix up last changes.
20299
20300 2007-07-16 Eli Zaretskii <eliz@gnu.org>
20301
20302 * makefile.w32-in (clean): Don't delete *~.
20303
20304 2007-07-16 Andreas Schwab <schwab@suse.de>
20305
20306 * window.c (Fdisplay_buffer): Use NILP.
20307 (Fset_window_scroll_bars): Likewise.
20308
20309 2007-07-15 Martin Rudalics <rudalics@gmx.at>
20310
20311 * window.c (window_min_size_2): New function.
20312 (window_min_size_1, size_window, Fdisplay_buffer)
20313 (Fsplit_window, adjust_window_trailing_edge): Use it to avoid
20314 windows without mode- or header-lines when window-min-height is
20315 too small.
20316 (size_window): Reset nodelete_p after testing it, following an
20317 earlier note by Kim F. Storm.
20318 (display_buffer): Do not set split_height_threshold to twice the
20319 value of window_min_height to avoid changing the value of a
20320 customizable variable. Rather explicitly check whether the
20321 height of the window that shall be splitted is at least as large
20322 as split_height_threshold.
20323 (Fwindow_full_width_p): New defun.
20324 (syms_of_window): Defsubr it.
20325
20326 * window.h: Add EXFUN for Fwindow_full_width_p.
20327
20328 2007-07-14 Jason Rumney <jasonr@gnu.org>
20329
20330 * process.c [WINDOWSNT]: Don't undefine AF_INET6.
20331
20332 2007-07-14 Richard Stallman <rms@gnu.org>
20333
20334 * eval.c (maybe_call_debugger): New function.
20335 (find_handler_clause): Use maybe_call_debugger.
20336 Call it when the handler says `debug'.
20337 Eliminate DEBUGGER_VALUE_PTR.
20338 (Fsignal): Eliminate debugger_value.
20339 (Qdebug): New variable.
20340 (syms_of_eval): Initialize it.
20341
20342 2007-07-14 Juanma Barranquero <lekktu@gmail.com>
20343
20344 * eval.c (Fprogn):
20345 * keyboard.c (Ftrack_mouse):
20346 * print.c (Fwith_output_to_temp_buffer):
20347 * window.c (Fsave_window_excursion): Doc fix.
20348
20349 2007-07-13 Stefan Monnier <monnier@iro.umontreal.ca>
20350
20351 * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400.
20352
20353 2007-07-12 Stefan Monnier <monnier@iro.umontreal.ca>
20354
20355 * process.h (struct Lisp_Process): Turn slots infd, outfd,
20356 kill_without_query, pty_flag, tick, update_tick, decoding_carryover,
20357 inherit_coding_system_flag, filter_multibyte, adaptive_read_buffering,
20358 read_output_delay, and read_output_skip from Lisp_Objects to ints.
20359 Remove unused encoding_carryover.
20360 * process.c: Adjust all functions accordingly.
20361
20362 2007-07-12 Richard Stallman <rms@gnu.org>
20363
20364 * term.c: Include unistd.h only if HAVE_UNISTD_H.
20365
20366 2007-07-11 Jason Rumney <jasonr@gnu.org>
20367
20368 * makefile.w32-in (LIBS): Include OLE32.
20369
20370 * w32fns.c (w32_msg_pump) <WM_EMACS_CREATEWINDOW>: Initialize COM.
20371 (w32_msg_pump) <WM_DESTROY>: Uninitialize COM.
20372
20373 2007-07-11 Stefan Monnier <monnier@iro.umontreal.ca>
20374
20375 * lisp.h (struct Lisp_Hash_Table): Turn next_weak into a bare pointer.
20376 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and turned
20377 from a Lisp_Object into a bare pointer.
20378 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
20379 Adjust the code correspondingly.
20380
20381 * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'.
20382
20383 * term.c: Include unistd.h for ttyname, used in handle_one_term_event.
20384 (term_show_mouse_face): Remove unused var `j'.
20385 (handle_one_term_event): Remove unused vars `i' and `j'.
20386 Don't cast return value of ttyname since it's not necessary.
20387
20388 2007-07-10 Stefan Monnier <monnier@iro.umontreal.ca>
20389
20390 * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using
20391 USE_LSB_TAG. Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
20392
20393 * fns.c (map_char_table): Use an array of int for `indices' rather than
20394 an array of Lisp_Objects (which are only ever integers anyway).
20395 (Fmap_char_table): Update caller.
20396 * lisp.h: Update prototype.
20397 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap):
20398 * fontset.c (Ffontset_info):
20399 * casetab.c (set_case_table): Update callers.
20400
20401 * editfns.c (Ftranspose_regions): Use EMACS_INT for positions.
20402
20403 * keymap.c (struct accessible_keymaps_data)
20404 (struct where_is_internal_data): New structures.
20405 (accessible_keymaps_1, where_is_internal_1): Use them to change
20406 interface to adhere to the one used by map_keymap.
20407 (Faccessible_keymaps, where_is_internal): Use map_keymap.
20408 (accessible_keymaps_char_table, where_is_internal_2): Remove.
20409
20410 * keymap.h (map_keymap_function_t): More informative prototype.
20411
20412 2007-07-10 Guanpeng Xu <herberteuler@hotmail.com>
20413
20414 * search.c (Vinhibit_changing_match_data, search_regs_1): New vars.
20415 (looking_at_1): Don't change search_regs and last_thing_searched
20416 if `inhibit-changing-match-data' is non-nil.
20417 (string_match_1, search_buffer, set_search_regs): Likewise.
20418 (syms_of_search): Add Lisp level definition for
20419 `inhibit-changing-match-data' and set it to nil.
20420 (boyer_moore): If `inhibit-changing-match-data' is non-nil, compute
20421 start and end of the match, instead of using values in search_regs.
20422
20423 2007-07-01 Stefan Monnier <monnier@iro.umontreal.ca>
20424
20425 * minibuf.c (Fcompleting_read): New value `confirm-only'
20426 for `require-match'.
20427
20428 2007-06-28 Stefan Monnier <monnier@iro.umontreal.ca>
20429
20430 * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as
20431 part of the 2007-06-27 change to syms_of_fileio.
20432
20433 2007-06-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
20434
20435 * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event):
20436 Check WINDOWP before using XWINDOW. Consolidate return statements.
20437
20438 2007-06-27 Richard Stallman <rms@gnu.org>
20439
20440 * fileio.c (syms_of_fileio) <after-insert-file-functions>: Doc fix.
20441
20442 2007-06-27 Juanma Barranquero <lekktu@gmail.com>
20443
20444 * buffer.c (syms_of_buffer) <selective-display>: Fix typo in docstring.
20445
20446 2007-06-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
20447
20448 * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Check this after including config.h.
20449 (_aligned_blocks_mutex) [USE_PTHREAD]: New variable.
20450 (LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS): New macros.
20451 (_free_internal, memalign): Use them.
20452 (_malloc_mutex, _aligned_blocks_mutex) [USE_PTHREAD]:
20453 Initialize to PTHREAD_MUTEX_INITIALIZER.
20454 (malloc_initialize_1) [USE_PTHREAD]: Don't use recursive mutex.
20455 (morecore_nolock): Rename from morecore. All uses changed.
20456 Use only nolock versions of internal allocation functions.
20457 (_malloc_internal_nolock, _realloc_internal_nolock)
20458 (_free_internal_nolock): New functions created from
20459 _malloc_internal, _realloc_internal, and _free_internal.
20460 (_malloc_internal, _realloc_internal, _free_internal): Use them.
20461 Copy hook value to automatic variable before its use.
20462 (memalign): Copy hook value to automatic variable before its use.
20463
20464 2007-06-26 Kenichi Handa <handa@m17n.org>
20465
20466 * coding.c (Ffind_operation_coding_system): Docstring improved.
20467 (syms_of_coding): Docstring of `file-coding-system-alist' improved.
20468
20469 2007-06-25 David Kastrup <dak@gnu.org>
20470
20471 * keymap.c (Fcurrent_active_maps): Add `position' argument.
20472 (Fwhere_is_internal): Adjust call to `current-active-maps' to
20473 cater for additional parameter.
20474
20475 * keymap.h: Adjust number of parameters to `current-active-maps'.
20476
20477 * doc.c (Fsubstitute_command_keys): Adjust call of
20478 `current-active-maps'.
20479
20480 2007-06-25 David Kastrup <dak@gnu.org>
20481
20482 * callint.c (Fcall_interactively): Make the parsing of interactive
20483 specs somewhat more readable.
20484
20485 2007-06-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
20486
20487 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe background
20488 to scroll bar gap also when bitmap fills fringe. Draw only foreground
20489 if extended background has already been filled.
20490
20491 2007-06-22 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
20492
20493 * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI.
20494 (USE_MAC_TOOLBAR): Require USE_CG_DRAWING.
20495
20496 * macmenu.c (mac_dialog_modal_filter, Fx_popup_dialog) [MAC_OSX]:
20497 Put special treatment for Fmessage_box, Fyes_or_no_p, and Fy_or_n_p
20498 in #if 0 as it is not compatible with y-or-n-p-with-timeout.
20499 (timer_check) [TARGET_API_MAC_CARBON]: Add extern.
20500 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Use QuitEventLoop
20501 instead of QuitAppModalLoopForWindow. Consolidate QuitEventLoop calls.
20502 (pop_down_dialog) [TARGET_API_MAC_CARBON]: New function.
20503 [TARGET_API_MAC_CARBON] (create_and_show_dialog): Use it for unwind.
20504 Run timers during dialog popup.
20505 (Fmenu_or_popup_active_p) [TARGET_API_MAC_CARBON]: Use popup_activated.
20506
20507 2007-06-21 Jason Rumney <jasonr@gnu.org>
20508
20509 * image.c (convert_mono_to_color_image): Swap fore and background.
20510
20511 2007-06-20 Jason Rumney <jasonr@gnu.org>
20512
20513 * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished.
20514 (w32_free_bdf_font): Unmap memory not handle.
20515
20516 2007-06-20 Sam Steingold <sds@gnu.org>
20517
20518 * gmalloc.c (__morecore): Fix the declaration to comply with the
20519 definition.
20520
20521 2007-06-20 Juanma Barranquero <lekktu@gmail.com>
20522
20523 * w32term.c (w32_delete_display): Remove leftover declaration.
20524 (w32_define_cursor, w32_initialize): Make static.
20525
20526 * w32.c (_wsa_errlist): Fix typo in error message.
20527 (init_environment): Ignore any environment variable from the
20528 registry having a null value.
20529
20530 2007-06-20 Glenn Morris <rgm@gnu.org>
20531
20532 * Makefile.in (LIBGIF): Default to -lgif.
20533
20534 2007-06-17 Jason Rumney <jasonr@gnu.org>
20535
20536 * w32menu.c (add_menu_item): Don't use multibyte string functions on
20537 unicode strings.
20538
20539 2007-06-16 Juanma Barranquero <lekktu@gmail.com>
20540
20541 * xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>:
20542 Fix typo in docstring.
20543
20544 2007-06-16 Eli Zaretskii <eliz@gnu.org>
20545
20546 * w32menu.c (add_menu_item): Escape `&' characters in menu items
20547 and their keybindings.
20548
20549 2007-06-15 Chong Yidong <cyd@stupidchicken.com>
20550
20551 * composite.c (update_compositions): Fix last fix.
20552
20553 2007-06-14 Jason Rumney <jasonr@gnu.org>
20554
20555 * w32.c (get_process_times_fn): New function pointer.
20556 (globals_of_w32): Intialize it if present in kernel32.dll.
20557 (w32_get_internal_run_time): New function.
20558
20559 * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it.
20560
20561 2007-06-14 Kenichi Handa <handa@etlken.m17n.org>
20562
20563 * composite.c (update_compositions): Check the validness of
20564 compositions.
20565
20566 2007-06-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
20567
20568 * frame.h (struct frame) [MAC_OS]: New member external_tool_bar.
20569 (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it.
20570
20571 * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity.
20572 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR.
20573
20574 * macgui.h (USE_MAC_TOOLBAR): New define.
20575
20576 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
20577 Return immediately unless popup is activated.
20578
20579 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe
20580 background to scroll bar gap.
20581 (x_scroll_bar_create) [MAC_OSX]: Set bar->fringe_extended_p.
20582 (XTset_vertical_scroll_bar) [MAC_OSX]: Put leftmost/rightmost
20583 scroll bars on frame edge. Check fringe background extension.
20584 Don't clear extended fringe background area.
20585 (TOOLBAR_IDENTIFIER, TOOLBAR_ICON_ITEM_IDENTIFIER)
20586 (TOOLBAR_ITEM_COMMAND_ID_OFFSET, TOOLBAR_ITEM_COMMAND_ID_P)
20587 (TOOLBAR_ITEM_COMMAND_ID_VALUE, TOOLBAR_ITEM_MAKE_COMMAND_ID):
20588 [USE_MAC_TOOLBAR]: New macros.
20589 (mac_move_window_with_gravity, mac_get_window_origin_with_gravity)
20590 (mac_handle_toolbar_event, mac_image_spec_to_cg_image)
20591 (mac_create_frame_tool_bar, update_frame_tool_bar, free_frame_tool_bar)
20592 (mac_tool_bar_note_mouse_movement, mac_handle_toolbar_command_event)
20593 [USE_MAC_TOOLBAR]: New functions.
20594 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Reposition window
20595 manually if previous repositioning has failed.
20596 (mac_handle_keyboard_event): Use precomputed event kind.
20597 (XTread_socket) [USE_MAC_TOOLBAR]: Handle click in structure region
20598 as tool bar item click. Handle mouse movement over tool bar items.
20599
20600 * macterm.h (struct mac_output) [USE_MAC_TOOLBAR]: New member
20601 toolbar_win_gravity.
20602 (struct scroll_bar) [MAC_OSX]: New member fringe_extended_p.
20603 (update_frame_tool_bar, free_frame_tool_bar) [USE_MAC_TOOLBAR]:
20604 Add externs.
20605
20606 * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window)
20607 [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display.
20608
20609 2007-06-14 Chong Yidong <cyd@stupidchicken.com>
20610
20611 * image.c (search_image_cache): Remove unused variable.
20612
20613 2007-06-13 Chong Yidong <cyd@stupidchicken.com>
20614
20615 * xfns.c, xmenu.c: Link to xaw3d if available.
20616
20617 2007-06-13 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
20618
20619 * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members
20620 frame_foreground and frame_background.
20621
20622 * image.c (lookup_image): Save frame foreground and background colors.
20623 (search_image_cache): Check if saved and current frame colors match.
20624
20625 2007-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
20626
20627 * regex.c (regex_compile): Remove the `regnum' counter.
20628 Use bufp->re_nsub instead. Add support for \(?N:RE\).
20629
20630 2007-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
20631
20632 * term.c: Include intervals.h to declare Fget_text_property.
20633
20634 2007-06-10 Jason Rumney <jasonr@gnu.org>
20635
20636 * w32fns.c (Fx_file_dialog): Take size from struct not pointer.
20637
20638 2007-06-08 Juanma Barranquero <lekktu@gmail.com>
20639
20640 * callint.c (Fcall_interactively):
20641 * editfns.c (Fdelete_and_extract_region):
20642 * fileio.c (Fread_file_name):
20643 * fns.c (Fmapconcat):
20644 * keyboard.c (cmd_error_internal):
20645 * keymap.c (Fkey_description):
20646 * lread.c (openp):
20647 * minibuf.c (read_minibuf):
20648 * search.c (wordify):
20649 * sunfns.c (sel_read):
20650 * xdisp.c (Fformat_mode_line, syms_of_xdisp):
20651 * xfns.c (x_default_scroll_bar_color_parameter):
20652 * xmenu.c (menu_help_callback):
20653 * xselect.c (Fx_get_atom_name):
20654 * xterm.c (x_term_init): Use empty_unibyte_string.
20655
20656 2007-06-08 Dmitry Antipov <dmantipov@yandex.ru> (tiny change)
20657
20658 * alloc.c (init_strings): Initialize canonical empty strings.
20659 (make_uninit_string, make_uninit_multibyte_string): Return appropriate
20660 canonical empty string when the requested size is 0.
20661
20662 * emacs.c (empty_unibyte_string): Rename from empty_string.
20663 (empty_multibyte_string): New canonical empty string.
20664 (syms_of_emacs): Don't initialize empty_string.
20665
20666 * lisp.h (STRING_SET_UNIBYTE): Return the canonical empty unibyte
20667 string, if appropriate.
20668 (empty_unibyte_string, empty_multibyte_string): New externs.
20669 (empty_string): Remove extern.
20670
20671 * lread.c (syms_of_lread): Use empty_unibyte_string.
20672
20673 2007-06-07 Jason Rumney <jasonr@gnu.org>
20674
20675 * s/ms-w32.h: Don't define HAVE_TZNAME.
20676
20677 * editfns.c (Fcurrent_time_zone): Remove hack for Japanese Windows.
20678
20679 2007-06-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
20680
20681 * mac.c (xrm_get_preference_database): Remove BLOCK_INPUT.
20682
20683 * macfns.c (mac_get_window_bounds): Move extern to macterm.h.
20684 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use GetGlobalMouse.
20685
20686 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
20687 Don't call next handler.
20688 [TARGET_API_MAC_CARBON] (install_menu_target_item_handler):
20689 Remove argument. Install handler to application.
20690 (set_frame_menubar): Don't change deep_p.
20691 (mac_menu_show): Use FRAME_OUTER_TO_INNER_DIFF_X and
20692 FRAME_OUTER_TO_INNER_DIFF_Y.
20693 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
20694 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
20695 [HAVE_DIALOGS]: New macros.
20696 [HAVE_DIALOGS] (mac_handle_dialog_event, create_and_show_dialog):
20697 Use them.
20698 (fill_menubar) [TARGET_API_MAC_CARBON]: Use CFString.
20699
20700 * macselect.c [MAC_OSX] (install_service_handler): Rename from
20701 init_service_handler. All callers changed. Return OSStatus value.
20702
20703 * macterm.c (mac_begin_cg_clip): New arg F. Call SetPortWindowPort.
20704 All callers changed so as not to call SetPortWindowPort.
20705 (mac_begin_cg_clip) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw.
20706 (mac_draw_image_string_atsui) [USE_ATSUI]: New function created from
20707 mac_draw_string_common.
20708 (mac_draw_image_string_qd): Likewise.
20709 (mac_draw_string_common): Use them. Add INLINE.
20710 (XTmouse_position, x_scroll_bar_report_motion) [TARGET_API_MAC_CARBON]:
20711 Use FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y, and
20712 GetGlobalMouse.
20713 (x_set_mouse_pixel_position) [MAC_OSX]: Use FRAME_OUTER_TO_INNER_DIFF_X
20714 and FRAME_OUTER_TO_INNER_DIFF_Y.
20715 [TARGET_API_MAC_CARBON] (mac_handle_mouse_event): Likewise.
20716 [USE_MAC_TSM] (mac_handle_text_input_event): Likewise.
20717 (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Move code for
20718 repositioning window to mac_handle_window_event.
20719 (x_make_frame_invisible) [TARGET_API_MAC_CARBON]: Move code for
20720 saving window location to mac_handle_window_event
20721 [USE_MAC_FONT_PANEL] (mac_show_hide_font_panel): Install handler here.
20722 (install_menu_target_item_handler): Remove argument in extern.
20723 [TARGET_API_MAC_CARBON] (mac_event_to_emacs_modifiers):
20724 Also accept command events.
20725 (do_keystroke): New function created from XTread_socket.
20726 (init_command_handler): Remove functions.
20727 [TARGET_API_MAC_CARBON] (mac_handle_window_event): Reposition window
20728 and save window location by kEventWindowShowing and kEventWindowHiding
20729 handlers here. Don't call next handler for window state change and
20730 focus events.
20731 (mac_handle_application_event, mac_handle_keyboard_event)
20732 [TARGET_API_MAC_CARBON]: New functions.
20733 (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for
20734 kEventWindowShowing and kEventWindowHiding events. Move installation
20735 of mouse, font, text input and menu target item handlers to
20736 install_application_handler.
20737 (install_application_handler) [TARGET_API_MAC_CARBON]: New function.
20738 (mac_handle_cg_display_reconfig) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
20739 New function.
20740 (init_dm_notification_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
20741 Register it.
20742 (XTread_socket) [TARGET_API_MAC_CARBON]:
20743 Consolidate SendEventToEventTarget calls.
20744 Use FRAME_OUTER_TO_INNER_DIFF_X and FRAME_OUTER_TO_INNER_DIFF_Y.
20745 Move application activation handler to mac_handle_application_event.
20746 Move keyboard handler to mac_handle_keyboard_event.
20747 (XTread_socket) [!TARGET_API_MAC_CARBON]: Use do_keystroke.
20748 (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call
20749 init_command_handler. Call install_application_handler.
20750
20751 * macterm.h (mac_get_window_bounds): Move extern from macfns.c.
20752 (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): New macros.
20753
20754 2007-06-07 Glenn Morris <rgm@gnu.org>
20755
20756 * emacs.c (main): Use `emacs-copyright' in --version output.
20757
20758 2007-06-06 Chong Yidong <cyd@stupidchicken.com>
20759
20760 * image.c (xpm_load): Remove spurious call to xpm_init_color_cache.
20761
20762 2007-06-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
20763
20764 * macfns.c (mac_window): Replace WindowPtr with WindowRef.
20765
20766 * macgui.h: Replace WindowPtr with WindowRef.
20767
20768 * macmenu.c: Replace MenuHandle and GetMenuHandle with MenuRef and
20769 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
20770 Replace ControlHandle with ControlRef.
20771 (install_menu_quit_handler): Rename arg MENU_HANDLE to ROOT_MENU.
20772
20773 * macterm.c: Replace MenuHandle and GetMenuHandle with MenuRef and
20774 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
20775 Replace ControlHandle with ControlRef.
20776 (USE_CARBON_EVENTS): Remove. Use TARGET_API_MAC_CARBON instead.
20777 [MAC_OS8] (do_get_menus): Rename variable `menu_handle' to `menu'.
20778
20779 * macterm.h (struct scroll_bar): Rename member control_handle_low
20780 and control_handle_high to control_ref_low and control_ref_high.
20781 All uses changed.
20782 (SCROLL_BAR_CONTROL_REF, SET_SCROLL_BAR_CONTROL_REF): Rename from
20783 SCROLL_BAR_CONTROL_HANDLE and SET_SCROLL_BAR_CONTROL_HANDLE,
20784 respectively. All uses changed.
20785 (XCreatePixmap, XCreatePixmapFromBitmapData, XSetWindowBackground)
20786 (install_window_handler, remove_window_handler): Replace WindowPtr
20787 with WindowRef in externs.
20788
20789 2007-06-05 Juanma Barranquero <lekktu@gmail.com>
20790
20791 * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops.
20792
20793 2007-06-03 Nick Roberts <nickrob@snap.net.nz>
20794
20795 * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case.
20796
20797 * frame.c (Fmouse_position, Fmouse_pixel_position):
20798 Condition on HAVE_GPM too.
20799
20800 * term.c (term_mouse_highlight): Remove unused variables.
20801 (Fterm_open_connection): Set gpm_zerobased to 1.
20802 (term_mouse_movement, term_mouse_click, handle_one_term_event):
20803 Use zero based co-ordinates.
20804 (handle_one_term_event): Report a drag as mouse movement too.
20805
20806 * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM.
20807
20808 2007-06-03 Chong Yidong <cyd@stupidchicken.com>
20809
20810 * image.c (search_image_cache): New function. Require background
20811 color match if background color is unspecified in the image spec.
20812 (uncache_image, lookup_image): Use it.
20813
20814 2007-06-01 Juanma Barranquero <lekktu@gmail.com>
20815
20816 * window.c (Fshrink_window): Reflow docstring.
20817
20818 2007-06-02 Chong Yidong <cyd@stupidchicken.com>
20819
20820 * Version 22.1 released.
20821
20822 2007-06-01 Richard Stallman <rms@gnu.org>
20823
20824 * xfns.c (x_encode_text): Add GCPRO.
20825
20826 2007-06-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
20827
20828 * xfns.c (x_set_name_internal): Save encoded name before
20829 x_encode_text in case string data is relocated.
20830
20831 2007-05-31 Richard Stallman <rms@gnu.org>
20832
20833 * buffer.c (syms_of_buffer): Doc fix.
20834
20835 2007-05-30 Nick Roberts <nickrob@snap.net.nz>
20836
20837 * sysdep.c (init_sys_modes): Add rather than replace with
20838 O_NONBLOCK.
20839
20840 * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to
20841 term_mouse_moveto.
20842
20843 * termhooks.h (term_mouse_moveto): New extern.
20844
20845 * term.c (mouse_face_window): Rename...
20846 (Qmouse_face_window): ...to this.
20847 (term_show_mouse_face, term_clear_mouse_face)
20848 (term_mouse_highlight): Use Qmouse_face_window.
20849 (term_mouse_moveto): New function.
20850 (term_mouse_position): Make it work.
20851 (syms_of_term): Uncomment assignment to mouse_position_hook.
20852 Staticpro Qmouse_face_window.
20853
20854 2007-05-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
20855
20856 * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t
20857 around current_column call.
20858
20859 2007-05-26 Dan Nicolaescu <dann@ics.uci.edu>
20860
20861 * xfaces.c (syms_of_xfaces): Delete stray semicolon.
20862 * xdisp.c (next_element_from_buffer):
20863 * window.c (delete_window):
20864 * term.c (term_mouse_highlight):
20865 * msdos.c (getdefdir):
20866 * macterm.c (mac_create_bitmap_from_bitmap_data)
20867 (init_font_name_table):
20868 * fns.c (Fsxhash):
20869 * data.c (Fmake_local_variable):
20870 * ccl.c (ccl_driver): Likewise.
20871
20872 2007-05-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
20873
20874 * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event):
20875 Call mac_wakeup_from_rne on window size change.
20876
20877 2007-05-25 Chong Yidong <cyd@stupidchicken.com>
20878
20879 * image.c (uncache_image): Fix typo.
20880
20881 2007-05-23 Johannes Weiner <hannes@saeurebad.de> (tiny change)
20882
20883 * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too.
20884
20885 2007-05-22 Richard Stallman <rms@gnu.org>
20886
20887 * xterm.c (x_connection_closed): Remove NO_RETURN.
20888
20889 2007-05-22 Martin Rudalics <rudalics@gmx.at>
20890
20891 * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD.
20892
20893 2007-05-21 Chong Yidong <cyd@stupidchicken.com>
20894
20895 * image.c (uncache_image): New function.
20896 (Fimage_refresh): New function.
20897
20898 2007-05-20 Jan Djärv <jan.h.d@swipnet.se>
20899
20900 * Makefile.in: Move GPM check outside HAVE_X_WINDOWS.
20901
20902 2007-05-20 Nick Roberts <nickrob@snap.net.nz>
20903
20904 * config.in, keyboard.c, Makefile.in, sysdep.c, term.c,
20905 * termhooks.h: Use HAVE_GPM instead of HAVE_GPM_H.
20906
20907 2007-05-20 Nick Roberts <nickrob@snap.net.nz>
20908
20909 * keyboard.c (make_lispy_event): Make case GPM_CLICK_EVENT
20910 conditional on [HAVE_GPM_H].
20911
20912 2007-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
20913
20914 * syntax.c (skip_chars): Update syntax-table only after we checked that
20915 the new location is valid.
20916
20917 2007-05-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
20918
20919 * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around
20920 mac_get_window_bounds.
20921
20922 2007-05-20 Nick Roberts <nickrob@snap.net.nz>
20923
20924 * Makefile.in (LIBGPM): Allow it to be set from configure.
20925 If set then link Emacs with it.
20926
20927 * config.in: Regenerate.
20928
20929 * lisp.h (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):
20930 New externs.
20931
20932 * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT.
20933 Include gpm.h.
20934 (handle_one_term_event, term_gpm): New externs.
20935
20936 * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking
20937 and allow it to be interrupted by SIGIO.
20938
20939 * process.c (gpm_wait_mask, max_gpm_desc): New variables.
20940 (wait_reading_process_output): Wait on gpm_fd too.
20941 (add_gpm_wait_descriptor, delete_gpm_wait_descriptor)): New functions.
20942 (add_gpm_wait_descriptor_called_flag): New variable.
20943 (delete_keyboard_wait_descriptor): Check gpm_wait_mask.
20944
20945 * keyboard.c [HAVE_GPM_H] (Qmouse_fixup_help_message)
20946 (make_lispy_movement, tracking_off, Ftrack_mouse, some_mouse_moved)
20947 (show_help_echo, readable_events, kbd_buffer_get_event, init_keyboard):
20948 Extend HAVE_MOUSE ifdefs to HAVE_GPM_H.
20949 (make_lispy_event): Add case GPM_CLICK_EVENT.
20950 (read_avail_input): Handle mouse input.
20951
20952 * term.c (write_glyphs_with_face): New function.
20953 [HAVE_GPM_H]: Include buffer.h, sys/fcntl.h.
20954 (mouse_face_beg_row, mouse_face_beg_col, mouse_face_end_row)
20955 (mouse_face_end_col, mouse_face_past_end, mouse_face_window)
20956 (mouse_face_face_id, term_gpm, pos_x, pos_y)
20957 (last_mouse_x, last_mouse_y): New variables.
20958 (term_show_mouse_face, term_clear_mouse_face, fast_find_position)
20959 (term_mouse_highlight, term_mouse_movement, term_mouse_position)
20960 (term_mouse_click, handle_one_term_event, Fterm_open_connection)
20961 (Fterm_close_connection): New functions.
20962 (term_init): Initialise mouse_face_window.
20963
20964 2007-05-19 Chong Yidong <cyd@stupidchicken.com>
20965
20966 * xdisp.c (redisplay_window): If first window line is a
20967 continuation line, recompute the new window start instead of
20968 recentering.
20969
20970 2007-05-18 Glenn Morris <rgm@gnu.org>
20971
20972 * m/alpha.h (ORDINARY_LINK): No longer define on OpenBSD.
20973 Suggested by Alfred M. Szmidt <ams@gnu.org>.
20974
20975 2007-05-17 Glenn Morris <rgm@gnu.org>
20976
20977 * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD.
20978
20979 2007-05-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
20980
20981 * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert
20982 dead key repeat and up events.
20983
20984 2007-05-14 Chong Yidong <cyd@stupidchicken.com>
20985
20986 * image.c (pbm_load): Check image size for monochrome pbm.
20987
20988 2007-05-13 Chong Yidong <cyd@stupidchicken.com>
20989
20990 * xterm.c (XTread_socket): Revert last change.
20991
20992 2007-05-12 Chong Yidong <cyd@stupidchicken.com>
20993
20994 * image.c (pbm_load): Correctly check image size for greyscale pbm.
20995
20996 * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC).
20997
20998 2007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
20999
21000 * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object
21001 mixup (YAILOM).
21002
21003 2007-05-07 Andreas Schwab <schwab@suse.de>
21004
21005 * keymap.c (Flookup_key): Fix typo in last change.
21006
21007 2007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
21008
21009 * keymap.c (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier
21010 mapping for unibyte strings.
21011
21012 2007-05-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
21013
21014 * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c.
21015 (Fx_popup_dialog) [MAC_OSX]: Likewise.
21016
21017 2007-04-29 Richard Stallman <rms@gnu.org>
21018
21019 * insdel.c (replace_range): For undo, record insertion first.
21020
21021 2007-04-29 Andreas Schwab <schwab@suse.de>
21022
21023 * lisp.h (VECSIZE): Use OFFSETOF.
21024
21025 2007-04-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
21026
21027 * xdisp.c (try_window_reusing_current_matrix): Fix number of
21028 disabled lines.
21029
21030 2007-04-28 Richard Stallman <rms@gnu.org>
21031
21032 * lread.c (read_escape): In a string, \s is always space.
21033
21034 2007-04-27 Jan Djärv <jan.h.d@swipnet.se>
21035
21036 * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog.
21037
21038 * gtkutil.c (xg_update_menubar, create_menus): Create empty
21039 submenu for menu bar items.
21040
21041 See ChangeLog.10 for earlier changes.
21042
21043 ;; Local Variables:
21044 ;; coding: utf-8
21045 ;; add-log-time-zone-rule: t
21046 ;; End:
21047
21048 Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
21049
21050 This file is part of GNU Emacs.
21051
21052 GNU Emacs is free software: you can redistribute it and/or modify
21053 it under the terms of the GNU General Public License as published by
21054 the Free Software Foundation, either version 3 of the License, or
21055 (at your option) any later version.
21056
21057 GNU Emacs is distributed in the hope that it will be useful,
21058 but WITHOUT ANY WARRANTY; without even the implied warranty of
21059 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21060 GNU General Public License for more details.
21061
21062 You should have received a copy of the GNU General Public License
21063 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
21064
21065 ;; arch-tag: dfb6ad96-1550-4905-9e53-d2059ee84c40