* configure.in: Allow compiling Emacs with GTK on Cygwin.
[bpt/emacs.git] / src / ChangeLog
1 2009-12-09 Ken Brown <kbrown@cornell.edu> (tiny change)
2
3 * s/cygwin.h (G_SLICE_ALWAYS_MALLOC): New variable.
4
5 * emacs.c (main): Set the G_SLICE environment variable for Cygwin
6 GTK builds.
7
8 2009-12-07 Andreas Schwab <schwab@linux-m68k.org>
9
10 * unexelf.c (unexec): Don't search for .data twice.
11
12 2009-12-05 Chong Yidong <cyd@stupidchicken.com>
13
14 * xdisp.c (push_display_prop): Don't set avoid_cursor_p. Return 0
15 if push failed.
16 (handle_line_prefix): Set avoid_cursor_p here. Check return value
17 of push_display_prop (Bug#5000).
18
19 * xfaces.c (Fx_family_fonts): Handle 2009-07-14 change to return
20 value of font_list_entities (Bug#5085).
21
22 2009-12-04 Juanma Barranquero <lekktu@gmail.com>
23
24 Fix `string-to-number' to deal consistently with integers and floats.
25 * lread.c (isfloat_string): New argument ignore_trailing to accept all
26 trailing characters, not just whitespace.
27 (read1): Pass new arg 0 to keep old behavior.
28 * data.c (Fstring_to_number): Pass 1 to isfloat_string to ignore
29 trailing chars, as it is already done for integers. Doc fixes.
30 * lisp.h (isfloat_string): Add new arg to declaration of isfloat_string.
31
32 2009-12-04 Eli Zaretskii <eliz@gnu.org>
33
34 * dispextern.h (enum prop_idx) <AUTO_COMPOSED_PROP_IDX>: Delete
35 unused enumeration value.
36
37 2009-12-03 Eli Zaretskii <eliz@gnu.org>
38
39 * Makefile.in (lisp, shortlisp): Replace indian.el with indian.elc.
40
41 2009-12-03 Daniel Hackney <dan@haxney.org> (tiny change)
42
43 * process.c (Fmake_network_process): Fix up the tests for
44 "connectionless socket", so they DTRT for seqpacket sockets as well.
45
46 2009-12-03 Stefan Monnier <monnier@iro.umontreal.ca>
47
48 * process.c (Qseqpacket): New symbol.
49 (HAVE_SEQPACKET): New macro.
50 (Fmake_network_process): Accept new :type `seqpacket'.
51 (init_process): Add `seqpacket' feature when applicable.
52 (syms_of_process): Initialize Qseqpacket.
53
54 2009-12-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
55
56 * font.c (font_load_for_lface, font_open_by_name): Don't store name
57 if entity is Qnil.
58
59 2009-11-30 Stefan Monnier <monnier@iro.umontreal.ca>
60
61 * print.c (print_preprocess): Preprocess the key_and_value table of
62 hashtables, even tho they're "hidden" (bug#5082).
63
64 2009-11-29 Jan Djärv <jan.h.d@swipnet.se>
65
66 * frame.c (frame_make_pointer_invisible)
67 (frame_make_pointer_visible): Declare f before statements.
68
69 2009-11-28 Eli Zaretskii <eliz@gnu.org>
70
71 * Makefile.in [!AUTO_DEPEND]: Remove outdated comment about
72 omitted dependencies on lisp.h.
73
74 2009-11-27 Jan Djärv <jan.h.d@swipnet.se>
75
76 * xftfont.c (xftfont_end_for_frame): Just return if dpyinfo->display
77 is NULL.
78
79 * xterm.c (x_delete_terminal): Set dpyinfo->display to NULL.
80
81 * frame.c (frame_make_pointer_invisible)
82 (frame_make_pointer_visible): Just return if there isn't any selected
83 frame.
84
85 * search.c (simple_search): Remove warning by making *p const.
86
87 2009-11-26 Dan Nicolaescu <dann@ics.uci.edu>
88
89 * xdisp.c (power_letter): Remove duplicate const.
90
91 2009-11-25 Jan Djärv <jan.h.d@swipnet.se>
92
93 * term.c (delete_tty): Remove check for last terminal (bug#4970).
94
95 * xsettings.c: Revert changes from 2009-11-23. Just use Xft
96 defaults (bug #5025).
97
98 2009-11-24 Stefan Monnier <monnier@iro.umontreal.ca>
99
100 * insdel.c (adjust_markers_for_delete): Move it in the
101 right direction! (bug#4803)
102
103 2009-11-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
104
105 * font.c (font_open_entity): Don't use ASET if font_object is Qnil.
106
107 * xterm.c (x_new_font): Update f->scroll_bar_actual_width.
108
109 2009-11-24 Glenn Morris <rgm@gnu.org>
110
111 * frame.c (focus-follows-mouse): Mention mouse-autoselect-window.
112
113 2009-11-23 Jan Djärv <jan.h.d@swipnet.se>
114
115 * Makefile.in: Must create deps for ecrt0.o in its rule.
116
117 * xfns.c (Fx_select_font): Try to convert Fontconfig name to Gtk name
118 because that is what Gtk+ font dialog understands.
119
120 * font.c (font_make_object, Fcopy_font_spec): Use Fcopy_alist instead
121 of Fcopy_sequence.
122 (font_open_by_name): Put name given into QCname for font-object returned.
123
124 * frame.c (x_set_font): Save original font name as frame parameter
125 font-parameter.
126
127 * xsettings.c (set_default_xft_settings): New function.
128 (init_xfd_settings): Call set_default_xft_settings if no XSETTINGS window
129 is found.
130
131 2009-11-22 Andreas Schwab <schwab@linux-m68k.org>
132
133 * search.c (simple_search): Avoid CHAR_TO_BYTE in inner loop when
134 searching backwards through multibyte buffer.
135
136 2009-11-21 Jan Djärv <jan.h.d@swipnet.se>
137
138 * xterm.c: #include xgselect.h.
139 (x_initialize): Call xgselect_initialize.
140
141 * xsettings.c (something_changedCB): C++ comments => C comments.
142 (init_gconf): Do not deal with any GLib file descriptors, xg_select
143 does that now.
144
145 * gtkutil.c (xg_timer, xg_process_timeouts, xg_start_timer)
146 (xg_stop_timer, menu_grab_callback_cnt, menu_grab_callback)
147 (scroll_bar_button_cb): Remove.
148 (create_menus): C++ comments => C comments. Don't bind grab-notify
149 event.
150 (xg_create_scroll_bar): Don't bind button-press-event and
151 button-release-event.
152
153 * process.c: Include xgselect.h if defined (USE_GTK) ||
154 defined (HAVE_GCONF).
155 (wait_reading_process_output): Call xg_select for the same condition.
156
157 * xgselect.c (xg_select): New function to better integrate with
158 GLib/Gtk event handling. Needed if GConf daemon dies/restarts.
159
160 * xgselect.h: New file, declare xg_select, xgselect_initialize.
161
162 * Makefile.in (XOBJ): Add xgselect.o.
163
164 2009-11-21 Andreas Schwab <schwab@linux-m68k.org>
165
166 * character.h (STRING_CHAR, STRING_CHAR_AND_LENGTH): Remove
167 ignored second argument. All callers changed.
168 * regex.c (STRING_CHAR, STRING_CHAR_AND_LENGTH, RE_STRING_CHAR)
169 (RE_STRING_CHAR_AND_LENGTH): Likewise.
170 * xdisp.c (string_char_and_length): Likewise.
171
172 2009-11-21 Dan Nicolaescu <dann@ics.uci.edu>
173
174 * xterm.c (x_new_font):
175 * print.c (print_object):
176 * cmds.c (Fself_insert_command): Move declarations before statements.
177
178 2009-11-20 Ken Brown <kbrown@cornell.edu> (tiny change)
179
180 * s/cygwin.h: Remove unneeded linker flags.
181
182 2009-11-20 Jan Djärv <jan.h.d@swipnet.se>
183
184 * xfns.c (x_default_font_parameter): Call xsettings_get_system_font.
185
186 * xsettings.h: Declare xsettings_get_system_font.
187
188 * xsettings.c (xsettings_get_system_font): New function.
189 (init_gconf): No use initiating gconf unless we have Xft also.
190 (syms_of_xsettings): Only provide system-font-setting if HAVE_XFT and
191 HAVE_GCONF.
192
193 * gtkutil.c (xg_modify_menubar_widgets): If menubar is totally empty
194 add a blank entry so it doesn't collapse into nothing.
195
196 2009-11-19 Stefan Monnier <monnier@iro.umontreal.ca>
197
198 * lread.c (Funintern): Comment out last change.
199
200 2009-11-19 Richard Stallman <rms@gnu.org>
201
202 * lread.c (Funintern): Error if symbol is t or nil.
203
204 2009-11-19 Stefan Monnier <monnier@iro.umontreal.ca>
205
206 * insdel.c (make_gap_larger): Don't make as many assumptions about the
207 representation of Lisp integers.
208 Reported by MJ Chan <mjchan.inbox@gmail.com>.
209
210 2009-11-17 Andreas Schwab <schwab@linux-m68k.org>
211
212 * lisp.h: Remove declaration of Ffont_get_system_font.
213 * xfns.c: Move include of "xsettings.h".
214 * xsettings.h: Use EXFUN to declare Ffont_get_system_font.
215
216 2009-11-17 Jan Djärv <jan.h.d@swipnet.se>
217
218 * xsettings.c (something_changedCB, Ffont_get_system_font):
219 Check use_system_font.
220 (syms_of_xsettings): DEFVAR font-use-system-font.
221
222 2009-11-17 Andreas Schwab <schwab@linux-m68k.org>
223
224 * xfns.c (x_default_font_parameter): Remove dead assignment.
225
226 * lisp.h (Fbyteorder, init_font, Ffont_get_system_font): Declare.
227
228 2009-11-17 Jan Djärv <jan.h.d@swipnet.se>
229
230 * xftfont.c (xftfont_fix_match): Older versions of fontconfig do
231 not have FC_LCD_*. #define them if not there.
232
233 * xsettings.c (parse_xft_settings, apply_xft_settings): Ditto.
234
235 * xterm.h (struct x_display_info): Add atoms and Window for xsettings.
236
237 * xterm.c (handle_one_xevent): Call xft_settings_event for
238 ClientMessage, PropertyNotify and DestroyNotify.
239 (x_term_init): If we have XFT, get DPI from Xft.dpi.
240 Call xsettings_initialize.
241
242 * xftfont.c (xftfont_fix_match): New function.
243 (xftfont_open): Call XftDefaultSubstitute before XftFontMatch.
244 Call xftfont_fix_match after XftFontMatch.
245
246 * xfont.c (xfont_driver): Initialize all members.
247
248 * xfns.c (x_default_font_parameter):
249 Try font from Ffont_get_system_font.
250 Do not get font from x_default_parameter if we got one from
251 Ffont_get_system_font.
252 (Fx_select_font): Get the defaut font name from :name of FRAME_FONT(f).
253
254 * w32font.c (w32font_driver): Initialize all members.
255
256 * termhooks.h (enum event_kind): CONFIG_CHANGED_EVENT is new.
257
258 * lisp.h: Declare syms_of_xsettings.
259
260 * keyboard.c (kbd_buffer_get_event, make_lispy_event):
261 Handle CONFIG_CHANGED_EVENT.
262
263 * ftfont.c (ftfont_filter_properties): New function.
264
265 * frame.c (x_set_font): Remove unused variable lval.
266
267 * font.h (struct font_driver): Add filter_properties.
268
269 * font.c (font_put_extra): Don't return if val is nil, it means
270 boolean option is off.
271 (font_parse_fcname): Collect all extra properties in extra_props
272 and call filter_properties for all drivers with extra_props and
273 font as parameter.
274 (font_open_entity): Do not use cache, it does not pick up new
275 fontconfig settings like hinting.
276 (font_load_for_lface): If spec had a name in it, store it in entity.
277
278 * emacs.c (main): Call syms_of_xsettings
279
280 * config.in: HAVE_GCONF is new.
281
282 * Makefile.in (GCONF_CFLAGS, GCONF_LIBS): New variables for HAVE_GCONF.
283 xsettings.o is new.
284
285 2009-11-17 Kenichi Handa <handa@m17n.org>
286
287 * xdisp.c (x_produce_glyphs): Consider face-remapping when falling
288 back to the default font in case that no suitable font is found.
289
290 2009-11-17 Stefan Monnier <monnier@iro.umontreal.ca>
291
292 * menu.c (Fx_popup_menu) [HAVE_NS]: Use generic code for window edge.
293 Suggested by Chad Brown <yandros@mit.edu>.
294 (push_menu_item): Use MENU_ITEMS_ITEM_* names.
295
296 2009-11-16 Jan Djärv <jan.h.d@swipnet.se>
297
298 * xmenu.c (x_menu_wait_for_event): Call XFlush before select.
299
300 2009-11-14 Andreas Schwab <schwab@linux-m68k.org>
301
302 * Makefile.in: Ignore errors from mkdir when creating deps directory.
303
304 2009-11-14 Jan Djärv <jan.h.d@swipnet.se>
305
306 * gtkutil.c (xg_update_frame_menubar): Do nothing if menubar already
307 has a parent.
308
309 * Makefile.in: If AUTO_DEPEND is defined, make gcc generate
310 dependency files in deps/. Include those files into Makefile.
311
312 * config.in: Generated (AUTO_DEPEND).
313
314 2009-11-13 Michael Albinus <michael.albinus@gmx.de>
315
316 * dbusbind.c (Vdbus_registered_objects_table): Rename from
317 Vdbus_registered_functions_table, because it contains also
318 properties. Fix docstring.
319 (Fdbus_call_method, Fdbus_call_method_asynchronously): Fix docstring.
320
321 2009-11-13 Stefan Monnier <monnier@iro.umontreal.ca>
322
323 * alloc.c (mark_object): Don't reprocess marked strings.
324 Check vector's markbit earlier. Adjust calls to mark_vectorlike.
325 (mark_vectorlike, mark_char_table): Assume the object is unmarked.
326
327 2009-11-13 Kenichi Handa <handa@m17n.org>
328
329 * category.c (word_boundary_p): Adjust for the change of the
330 semantics of Vword_combining_categories.
331 (Vword_combining_categories): Describe the slight change of the
332 semantics.
333
334 2009-11-13 Eli Zaretskii <eliz@gnu.org>
335
336 * menu.c (Fx_popup_menu): Call Fx_hide_tip only if HAVE_WINDOW_SYSTEM.
337
338 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Revert last change.
339
340 2009-11-12 Stefan Monnier <monnier@iro.umontreal.ca>
341
342 * xdisp.c (syms_of_xdisp): Fix typo in last change.
343
344 2009-11-12 Juanma Barranquero <lekktu@gmail.com>
345
346 * makefile.w32-in: Update dependencies; add dependencies to lisp.h.
347
348 2009-11-11 David Reitter <david.reitter@gmail.com>
349
350 * menu.c (Fx_popup_menu): Remove left-over debugging code and rename
351 variables to fix 2009-11-09 change.
352
353 2009-11-11 Dan Nicolaescu <dann@ics.uci.edu>
354
355 * process.c (ifflag_def): Make flag_sym constant.
356 (Fnetwork_interface_info): Use a constant pointer.
357 (ifflag_table):
358 * xfns.c (cursor_bits):
359 * xdisp.c (power_letter):
360 * termcap.c (speeds, esctab):
361 * sysdep.c (baud_convert):
362 * keyboard.c (lispy_accent_codes, modifier_names):
363 * image.c (xbm_format, xpm_format, pbm_format, png_format)
364 (jpeg_format, tiff_format, gif_format, svg_format)
365 (interlace_start, interlace_increment, gs_format):
366 * gtkutil.c (separator_names):
367 * fringe.c (swap_nibble):
368 * fns.c (base64_value_to_char, base64_char_to_value):
369 * fileio.c (make_temp_name_tbl):
370 * coding.c (suffixes): Make constant.
371
372 * frame.c (make_initial_frame):
373 * buffer.c (init_buffer_once): Use make_pure_c_string instead of
374 build_string.
375 * alloc.c (syms_of_alloc): Build Vmemory_signal_data in pure memory.
376
377 * s/freebsd.h:
378 * s/netbsd.h: Remove code referring to non-existent file: unexsunos4.o.
379
380 * Makefile.in: Add dependencies to lisp.h. Remove dependencies
381 for non-existent files: unexmips.c, unexnext.c, abbrev.c, malloc.c.
382
383 * xfns.c (syms_of_xfns): Use make_pure_string instead of build_string.
384 * xterm.c (syms_of_xterm):
385 * xfaces.c (syms_of_xfaces):
386 * xdisp.c (syms_of_xdisp):
387 * lread.c (syms_of_lread):
388 * keyboard.c (syms_of_keyboard): Use make_pure_c_string instead of
389 build_string.
390
391 * doc.c (Fsnarf_documentation): Purecopy Vbuild_files.
392
393 2009-11-10 Stefan Monnier <monnier@iro.umontreal.ca>
394
395 * fns.c (Fplist_get): Merge the active and the commented out code.
396
397 2009-11-10 Jan Djärv <jan.h.d@swipnet.se>
398
399 * keyboard.h: Declare timer_check.
400
401 * keyboard.c (timer_check_2): New function that does what the old
402 timer_check did.
403 (timer_check): Call timer_check_2 until -1 or a non-zero time is
404 returned, i.e. don't return -1 with timers pending.
405
406 * process.c: Remove extern declaration of timer_check.
407
408 * xmenu.c (x_menu_wait_for_event): Remove code that did a timeout
409 even if timer_check returned -1.
410
411 * gtkutil.c (xg_dialog_response_cb): Data is now a struct
412 xg_dialog_data.
413 (pop_down_dialog): Destroy widget (if any), cancel timer and unref
414 the event loop.
415 (xg_maybe_add_timer, xg_dialog_run): New functions (bug #4574).
416 (xg_get_file_name, xg_get_font_name): Call xg_dialog_run (bug #4574).
417 Destroy the dialog after xg_dialog_run.
418
419 2009-11-10 Stefan Monnier <monnier@iro.umontreal.ca>
420
421 * menu.c (Fx_popup_menu) [HAVE_NS]: Remove unused vars.
422
423 2009-11-10 Jan Djärv <jan.h.d@swipnet.se>
424
425 * xmenu.c (xmenu_show): Must not be static after 2009-11-09 changes.
426
427 2009-11-09 Juanma Barranquero <lekktu@gmail.com>
428
429 * menu.c [HAVE_NTGUI]: Declare current_popup_menu.
430
431 2009-11-09 Stefan Monnier <monnier@iro.umontreal.ca>
432
433 * menu.c (Fx_popup_menu): Consolidate versions from xmenu.c,
434 w32menu.c, and nsmenu.m.
435 Simplify the obsolete case where position is nil.
436 (cleanup_popup_menu): New function, moved from nsmenu.m.
437 (struct skp): Remove slot `notreal'.
438 (single_keymap_panes, keymap_panes): Remove arg `notreal' and
439 adjust callers.
440 (single_menu_item): Adjust call to parse_menu_item.
441 (syms_of_menu): Defsubr x-popup-menu.
442 * menu.h (Vmenu_updating_frame): Consolidate declarations from *menu.c.
443 (keymap_panes): Don't export any more.
444 (mouse_position_for_popup, w32_menu_show, ns_menu_show)
445 (xmenu_show): Declare.
446 * keyboard.c (parse_menu_item): Remove arg `notreal'.
447 (menu_bar_item, read_char_minibuf_menu_prompt): Adjust callers.
448 * keyboard.h (parse_menu_item): Update declaration.
449 * xmenu.c (Fx_popup_menu): Remove.
450 (syms_of_xmenu): Don't defsubr x-popup-menu.
451 * w32menu.c (Fx_popup_menu): Remove.
452 (syms_of_w32menu): Don't defsubr x-popup-menu.
453 * nsmenu.m (cleanup_popup_menu): Remove.
454 (ns_menu_show): Rename from ns_popup_menu and remove all the code
455 moved to menu.c's Fx_popup_menu.
456 (Fx_popup_menu): Remove.
457 (syms_of_nsmenu): Don't defsubr x-popup-menu, and don't initialize
458 menu_items (it's done in menu.c already).
459
460 2009-11-08 Stefan Monnier <monnier@iro.umontreal.ca>
461
462 * keyboard.c (parse_menu_item): Handle `notreal' a bit earlier.
463 Use `tem' less. Make sure KEYEQ holds a string or nil (bug#4879).
464
465 2009-11-08 Chong Yidong <cyd@stupidchicken.com>
466
467 * xmenu.c (Fx_popup_menu): Extract event timestamp. Pass it to
468 xmenu_show. Hide any tooltip before opening a menu.
469 (xmenu_show): New arg. Pass it to create_and_show_popup_menu.
470 (create_and_show_popup_menu): New arg. Pass it to gtk_menu_popup.
471
472 2009-11-06 Stefan Monnier <monnier@iro.umontreal.ca>
473
474 Let integers use up 2 tags to give them one extra bit and thus double
475 their range.
476 * lisp.h (USE_2_TAGS_FOR_INTS): New macro.
477 (LISP_INT_TAG, case_Lisp_Int, LISP_STRING_TAG, LISP_INT_TAG_P):
478 New macros.
479 (enum Lisp_Type): Use them. Give explicit values.
480 (Lisp_Type_Limit): Remove.
481 (XINT, XUINT, make_number) [!USE_LISP_UNION_TYPE]:
482 (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM, INTMASK):
483 Pay attention to USE_2_TAGS_FOR_INTS.
484 (INTEGERP): Use LISP_INT_TAG_P.
485 * fns.c (internal_equal): Simplify the default case.
486 (sxhash): Use case_Lisp_Int.
487 * data.c (wrong_type_argument): Don't check against Lisp_Type_Limit
488 any more.
489 (Ftype_of): Use case_Lisp_Int.
490 (store_symval_forwarding): Take into account the fact that Ints can
491 now have more than one tag.
492 * buffer.c (syms_of_buffer): Use LISP_INT_TAG.
493 buffer_slot_type_mismatch):
494 * xfaces.c (face_attr_equal_p):
495 * print.c (print_object):
496 * alloc.c (mark_maybe_object, mark_object, survives_gc_p):
497 Use case_Lisp_Int.
498
499 2009-11-06 Eli Zaretskii <eliz@gnu.org>
500
501 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Reduce by further 30K.
502
503 * alloc.c (make_pure_c_string): Fix last change to avoid compiler
504 warning.
505
506 2009-11-06 Jan Djärv <jan.h.d@swipnet.se>
507
508 * gtkutil.c (xg_event_is_for_scrollbar): New function (bug#4870).
509
510 * gtkutil.h: Declare xg_event_is_for_scrollbar (bug#4870).
511
512 * xterm.c (handle_one_xevent): Call xg_event_is_for_scrollbar for
513 ButtonPressRelease and MotionNotify (bug#4870).
514
515 2009-11-06 Dan Nicolaescu <dann@ics.uci.edu>
516
517 * keymap.c (syms_of_keymap): Construct exclude_keys in pure memory.
518
519 * xterm.c (syms_of_xterm):
520 * xselect.c (syms_of_xselect):
521 * xmenu.c (syms_of_xmenu):
522 * xfns.c (syms_of_xfns):
523 * xfaces.c (syms_of_xfaces):
524 * xdisp.c (syms_of_xdisp):
525 * window.c (syms_of_window):
526 * w32fns.c (syms_of_w32fns):
527 * undo.c (syms_of_undo):
528 * textprop.c (syms_of_textprop):
529 * terminal.c (syms_of_terminal):
530 * syntax.c (syms_of_syntax):
531 * sound.c (syms_of_sound):
532 * search.c (syms_of_search):
533 * print.c (syms_of_print):
534 * minibuf.c (syms_of_minibuf):
535 * macros.c (syms_of_macros):
536 * keymap.c (syms_of_keymap, initial_define_key)
537 (initial_define_lispy_key):
538 * keyboard.c (syms_of_keyboard):
539 * insdel.c (syms_of_insdel):
540 * image.c (syms_of_image):
541 * fringe.c (syms_of_fringe):
542 * frame.c (syms_of_frame):
543 * fontset.c (syms_of_fontset):
544 * fns.c (syms_of_fns):
545 * fns.c (syms_of_fns):
546 * fileio.c (syms_of_fileio):
547 * fileio.c (syms_of_fileio):
548 * eval.c (syms_of_eval):
549 * doc.c (syms_of_doc):
550 * dispnew.c (syms_of_display):
551 * dired.c (syms_of_dired):
552 * dbusbind.c (syms_of_dbusbind):
553 * data.c (syms_of_data):
554 * composite.c (syms_of_composite):
555 * coding.c (syms_of_coding):
556 * cmds.c (syms_of_cmds):
557 * charset.c (define_charset_internal, syms_of_character):
558 * ccl.c (syms_of_ccl):
559 * category.c (syms_of_category, init_category_once):
560 * casetab.c (syms_of_casetab):
561 * casefiddle.c (syms_of_casefiddle):
562 * callint.c (syms_of_callint):
563 * bytecode.c (syms_of_bytecode):
564 * buffer.c (keys_of_buffer, syms_of_buffer):
565 * alloc.c (syms_of_alloc):
566 * process.c (syms_of_process, init_process):
567 * lread.c (syms_of_lread, init_obarray):
568 * font.c (build_style_table):
569 * emacs.c (syms_of_emacs, main): Replace calls to intern with
570 intern_c_string, calls to make_pure_string with
571 make_pure_c_string. Use pure_cons instead of Fcons.
572
573 * process.c (socket_options): Make it const.
574 (set_socket_option, init_process): Use a const pointer.
575
576 * lread.c (intern_c_string): New function.
577 (defvar_kboard, defvar_lisp, defvar_lisp_nopro, defvar_bool)
578 (defvar_int): Uset it. Make the name const char*.
579
580 * lisp.h (defvar_kboard, defvar_lisp, defvar_lisp_nopro, defvar_bool)
581 (defvar_int): Update prototypes.
582 (DEFUN, EXFUN): Support for prototypes is now required.
583 (intern_c_string): New prototype.
584 (struct Lisp_Subr): Make symbol_name constant.
585
586 * font.c (struct table_entry): Remove unused member. Make NAMES
587 constant.
588 (weight_table, slant_table, width_table): Make constant.
589
590 * emacs.c (struct standard_args): Make name and longname constant.
591
592 * character.h (DEFSYM): Use intern_c_string.
593
594 2009-11-06 Stefan Monnier <monnier@iro.umontreal.ca>
595
596 * alloc.c (make_pure_c_string): New function.
597
598 * eval.c (Fautoload): Purecopy all arguments.
599
600 2009-11-05 Kenichi Handa <handa@m17n.org>
601
602 * fileio.c (Finsert_file_contents): Be sure set coding-system of
603 the buffer in case of replace.
604
605 2009-11-04 Dan Nicolaescu <dann@ics.uci.edu>
606
607 * puresize.h (BASE_PURESIZE): Increase to 1620000.
608
609 2009-11-03 Stefan Monnier <monnier@iro.umontreal.ca>
610
611 * editfns.c (save_restriction_restore): Update the (pt/begv/vz)_markers
612 when applicable (bug#4851).
613
614 * lisp.h: Make USE_LSB_TAG work with USE_LISP_UNION_TYPE.
615 (P_): Support for prototypes is now required.
616
617 2009-10-31 Chong Yidong <cyd@stupidchicken.com>
618
619 * frame.c (Fmake_frame_invisible, Fframe_visible_p): Doc fix
620 (Bug#4827).
621
622 2009-10-30 Eli Zaretskii <eliz@gnu.org>
623
624 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Redefine to waste less pure space.
625
626 2009-10-30 Dan Nicolaescu <dann@ics.uci.edu>
627
628 * puresize.h (BASE_PURESIZE): Increase to 1470000.
629
630 * lread.c (Fload): Purecopy the file name when building
631 Vpreloaded_file_list.
632
633 2009-10-29 Jason Rumney <jasonr@wanchan.jasonrumney.net>
634
635 * w32fns.c (syms_of_w32fns): Change default value of
636 w32-scroll-lock-modifier to nil. (Bug#2827)
637
638 2009-10-26 Juanma Barranquero <lekktu@gmail.com>
639
640 * minibuf.c (Fall_completions): Fix typos in docstring.
641
642 2009-10-26 Andreas Schwab <schwab@redhat.com>
643
644 * puresize.h (PURESIZE_RATIO): Increase back to 10/6.
645
646 2009-10-26 Juanma Barranquero <lekktu@gmail.com>
647
648 * window.c (grow_mini_window): Comment out "delta >= 0" assertion.
649 For delta < 0, skip check that only makes sense when the mini-window
650 is going to be enlarged. (Bug#4534)
651
652 2009-10-25 Chong Yidong <cyd@stupidchicken.com>
653
654 * keyboard.c (read_char_x_menu_prompt): Don't demand a prompt
655 string in menu maps (Bug#4471).
656
657 2009-10-24 Chong Yidong <cyd@stupidchicken.com>
658
659 * nsfns.m (ns_set_name, ns_set_name_as_filename): Don't call
660 FRAME_NS_VIEW on terminal frames (Bug#4765).
661
662 2009-10-24 Andreas Schwab <schwab@linux-m68k.org>
663
664 * dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_INTnn and
665 DBUS_TYPE_UINTnn separately to get proper sign extension.
666
667 * dired.c (Ffile_attributes): Simplify now that FIXNUM_OVERFLOW_P
668 can properly handle unsigned types.
669 (make_uid, make_gid): Remove.
670
671 * lisp.h (FIXNUM_OVERFLOW_P): Fix last change to handle unsigned
672 types again.
673
674 * sysdep.c (procfs_ttyname): Fix sprintf format to match argument type.
675 (system_process_attributes): Likewise.
676
677 2009-10-24 Dan Nicolaescu <dann@ics.uci.edu>
678
679 * keymap.c (Fmake_sparse_keymap): Purecopy the name.
680
681 * eval.c (Fautoload): Purecopy the filename. Simplify.
682
683 * category.c (Fdefine_category): Purecopy docstring.
684
685 2009-10-23 Andreas Schwab <schwab@linux-m68k.org>
686
687 * lisp.h (FIXNUM_OVERFLOW_P): Remove cast to avoid overflow.
688
689 * puresize.h (PURESIZE_RATIO): Decrease to 11/7.
690
691 2009-10-23 Chong Yidong <cyd@stupidchicken.com>
692
693 * window.c (Fwindow_edges, Fwindow_pixel_edges)
694 (Fwindow_inside_edges, Fwindow_inside_pixel_edges): Doc fix
695 (Bug#4775).
696
697 2009-10-23 Stefan Monnier <monnier@iro.umontreal.ca>
698
699 * fileio.c (syms_of_fileio): Initialize Vdirectory_sep_char.
700 (init_fileio_once):
701 * lisp.h (init_fileio_once): Remove.
702 * emacs.c (main): Don't call init_fileio_once.
703
704 2009-10-23 Dan Nicolaescu <dann@ics.uci.edu>
705
706 * puresize.h (BASE_PURESIZE): Increase to 1430000.
707
708 2009-10-21 Andreas Schwab <schwab@linux-m68k.org>
709
710 * doprnt.c (doprnt): Fix overflow check.
711
712 2009-10-21 Jan Djärv <jan.h.d@swipnet.se>
713
714 * xterm.c (x_term_init): Remove XSynchronize call done for debugging.
715
716 * xterm.h (x_wait_for_event): Declare it.
717
718 * xterm.c (pending_event_wait): New variable.
719 (handle_one_xevent): Set pending_event_wait.eventtype to 0 if we
720 see pending_event_wait.eventtype.
721 (handle_one_xevent): Don't change gravity when parent changes.
722 (x_new_font): Call change_frame_size with new rows/columns before we
723 try to resize the frame.
724 (x_wait_for_event): New function.
725 (x_set_window_size_1): Don't change gravity unless change_gravity
726 is set.
727 Call XResizeWindow with FRAME_OUTER_WINDOW. If we are visible,
728 don't change frame size, instead wait for the ConfigureNotify.
729 (x_set_window_size): Call x_set_window_size_1 for USE_X_TOOLKIT also.
730 (x_wm_set_size_hint): Remove ifdefs for USE_X_TOOLKIT.
731 (x_initialize): Initialize pending_event_wait.
732
733 * xmenu.c (set_frame_menubar): Add internal border width to menu bar
734 size.
735
736 * widget.c (EmacsFrameSetValues): Add comment.
737 (EmacsFrameSetCharSize): Just call x_set_window_size.
738
739 * gtkutil.c (xg_frame_set_char_size): Flush events and call
740 x_wait_for_event.
741 (flush_and_sync): Remove again.
742 (xg_get_font_name): Suggest monospace if no previous font is known.
743
744 2009-10-20 Stefan Monnier <monnier@iro.umontreal.ca>
745
746 * character.c (char_resolve_modifier_mask): Don't resolve meta to the
747 8th bit, since that only made sense in the ASCII world (bug#4751).
748
749 2009-10-20 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
750
751 * xterm.c (XTread_socket) [!USE_GTK && HAVE_X_I18N]: Don't quit
752 processing pending events when event is filtered for input method.
753 (Bug#3681)
754
755 2009-10-20 Juanma Barranquero <lekktu@gmail.com>
756
757 * fns.c: Add #endif accidentally removed in previous change.
758
759 2009-10-19 Dan Nicolaescu <dann@ics.uci.edu>
760
761 * fns.c: Remove code for unsupported system: MAC_OS.
762 * image.c: Likewise. Include setjmp.h.
763
764 2009-10-19 Jan Djärv <jan.h.d@swipnet.se>
765
766 * xterm.c (x_create_toolkit_scroll_bar): Don't allocate color for
767 pixel -1 (bug #4742).
768
769 2009-10-19 Dan Nicolaescu <dann@ics.uci.edu>
770
771 * process.c (create_pty): Remove conditionals for no longer
772 supported systems: UNIPLUS and RTU.
773
774 * xterm.c:
775 * xfns.c: Remove always true condition: XtSpecificationRelease >= 5.
776
777 * alloc.c: Do not define struct catchtag.
778 * eval.c: Move struct catchtag definition ...
779 * lisp.h: ... here.
780
781 * image.c: Move png.h #include earlier to avoid warnings.
782
783 * xterm.c:
784 * xsmfns.c:
785 * xselect.c:
786 * xrdb.c:
787 * xmenu.c:
788 * xftfont.c:
789 * xfont.c:
790 * xfns.c:
791 * xfaces.c:
792 * xdisp.c:
793 * window.c:
794 * widget.c:
795 * w32xfns.c:
796 * w32uniscribe.c:
797 * w32term.c:
798 * w32select.c:
799 * w32reg.c:
800 * w32proc.c:
801 * w32menu.c:
802 * w32inevt.c:
803 * w32heap.c:
804 * w32font.c:
805 * w32fns.c:
806 * w32console.c:
807 * w32.c:
808 * w16select.c:
809 * vm-limit.c:
810 * unexsol.c:
811 * unexec.c:
812 * unexcw.c:
813 * unexaix.c:
814 * undo.c:
815 * tparam.c:
816 * textprop.c:
817 * terminfo.c:
818 * terminal.c:
819 * termcap.c:
820 * term.c:
821 * syntax.c:
822 * sound.c:
823 * sheap.c:
824 * search.c:
825 * scroll.c:
826 * region-cache.c:
827 * regex.c:
828 * ralloc.c:
829 * process.c:
830 * print.c:
831 * nsterm.m:
832 * nsselect.m:
833 * nsmenu.m:
834 * nsimage.m:
835 * nsfont.m:
836 * nsfns.m:
837 * msdos.c:
838 * minibuf.c:
839 * menu.c:
840 * marker.c:
841 * macros.c:
842 * keymap.c:
843 * keyboard.c:
844 * intervals.c:
845 * insdel.c:
846 * indent.c:
847 * gtkutil.c:
848 * ftxfont.c:
849 * ftfont.c:
850 * fringe.c:
851 * frame.c:
852 * fontset.c:
853 * font.c:
854 * fns.c:
855 * floatfns.c:
856 * filelock.c:
857 * fileio.c:
858 * emacs.c:
859 * editfns.c:
860 * dosfns.c:
861 * doprnt.c:
862 * doc.c:
863 * dispnew.c:
864 * dired.c:
865 * dbusbind.c:
866 * data.c:
867 * composite.c:
868 * coding.c:
869 * cmds.c:
870 * cm.c:
871 * chartab.c:
872 * charset.c:
873 * character.c:
874 * ccl.c:
875 * category.c:
876 * casetab.c:
877 * casefiddle.c:
878 * callproc.c:
879 * callint.c:
880 * bytecode.c:
881 * buffer.c:
882 * atimer.c: Include setjmp.h. (Bug#4643)
883
884 2009-10-18 Stefan Monnier <monnier@iro.umontreal.ca>
885
886 Remove leftover table unibyte_to_multibyte_table.
887 * character.c (unibyte_to_multibyte_table): Remove.
888 (Funibyte_char_to_multibyte): Use MAKE_CHAR_MULTIBYTE.
889 * charset.c (init_charset_once): Don't init unibyte_to_multibyte_table.
890 * character.h (UNIBYTE_TO_CHAR): New macro.
891 (MAKE_CHAR_MULTIBYTE): Use it.
892 (unibyte_to_multibyte_table, unibyte_char_to_multibyte): Remove.
893 * xdisp.c (get_next_display_element): USE ASCII_CHAR_P.
894 (message_dolog, set_message_1):
895 * search.c (Freplace_match):
896 * editfns.c (Fcompare_buffer_substrings):
897 * fns.c (Fcompare_strings): Use MAKE_CHAR_MULTIBYTE.
898 (concat):
899 * insdel.c (copy_text, count_size_as_multibyte):
900 Use ASCII_CHAR_P and BYTE8_TO_CHAR.
901 * term.c (produce_glyphs):
902 * syntax.c (skip_chars): Use BYTE8_TO_CHAR.
903 * regex.c (RE_CHAR_TO_MULTIBYTE):
904 * cmds.c (internal_self_insert):
905 * buffer.h (FETCH_CHAR_AS_MULTIBYTE): Use UNIBYTE_TO_CHAR.
906
907 * cmds.c (internal_self_insert): `c' is already in "multibyte" form.
908
909 2009-10-17 Dan Nicolaescu <dann@ics.uci.edu>
910
911 * puresize.h (BASE_PURESIZE): Increase to 1310000.
912
913 2009-10-16 Juanma Barranquero <lekktu@gmail.com>
914
915 * buffer.c (Fbuffer_name): Doc fix. (Bug#4728)
916
917 2009-10-15 Adrian Robert <Adrian.B.Robert@gmail.com>
918
919 * nsterm.h (NS_HAVE_NSINTEGER): Back out and augment with CGFloat,
920 still needed under Tiger.
921
922 * nsterm.m (EmacsView-conversationIdentifier): Arg is long.
923
924 * m/amdx86-64.h: Don't set LIB_STANDARD and START_FILES under
925 __Apple__.
926
927 * m/intel386.h: Remove DARWIN_OS/_LP64 special case.
928
929 2009-10-15 Kenichi Handa <handa@m17n.org>
930
931 * print.c (print_object): Escape a symbol like "2E10" too.
932
933 2009-10-11 Adrian Robert <Adrian.B.Robert@gmail.com>
934
935 Cleanups and changes for 64-bit compile under Snow Leopard.
936 Based on suggestions by Erik Charlebois.
937
938 * nsfns.m (xw-color-values): Use CGFloat where appropriate.
939
940 * nsfont.m (ns_char_width): Replace deprecated call.
941 (ns_findfonts, nsfont_list_family): Use long format in printf, and
942 cast argument.
943 (nsfont_open): Use ns_char_width() everywhere.
944 (ns_uni_to_glyphs, NSGlyphStorage): Use NS[U]Integer where appropriate.
945
946 * nsgui.h (NSPoint, NSSize) [!__OBJC__]: Define and use CGFloat.
947
948 * nsimage.m (EmacsImage-setXBMColor:,-getPixelAtX:Y:): Use CGFloat
949 where appropriate.
950
951 * nsmenu.m (EmacsMenu-addItemWithWidgetValue:): Use NSInteger
952 where appropriate.
953 (EmacsToolbar-addDisplayItemWithImage:idx:helpText:enabled:):
954 Use stringWithUTF8String.
955 (EmacsDialogPanel-initWithContentRect:styleMask:): Fix signature.
956
957 * nsterm.h (EmacsView, EmacsMenu, EmacsToolbar, EmacsTooltip):
958 Add formal protocol mention to inheritance.
959 [NS_HAVE_NSINTEGER]: Drop conditional and contents.
960
961 * nsterm.m (ns_color_to_lisp): Use CGFloat where appropriate.
962 Fix printf format.
963 (ns_query_color): Use CGFloat where appropriate.
964 (EmacsView<NSTextInput>, EmacsScroller): Fix method signatures.
965 (EmacsScroller-mouseDown:) Use long format in printf, and cast
966 argument.
967
968 * config.in (NS_HAVE_NSINTEGER): Drop.
969
970 * dbusbind.c (dbus-method-return-internal)
971 (dbus-method-error-internal): Use long format in printf, and cast
972 argument.
973
974 * font.c (font_unparse_xlfd, font_unparse_fcname): Use long format
975 in printf, and cast argument.
976
977 * process.c (list_processes_1): Use long format in printf, and
978 cast argument.
979
980 2009-10-11 Glenn Morris <rgm@gnu.org>
981
982 * frame.c (Fframe_pixel_height): Doc fix. (Bug#4535)
983
984 2009-10-08 Jan Djärv <jan.h.d@swipnet.se>
985
986 * gtkutil.c (create_menus): Call gtk_widget_set_size_request for
987 menu bar with a small width so it doesn't enlarge the frame.
988
989 2009-10-08 Juanma Barranquero <lekktu@gmail.com>
990
991 * fontset.c (Fset_fontset_font): Fix typos in error messages.
992
993 2009-10-06 Glenn Morris <rgm@gnu.org>
994
995 * Makefile.in (emacs${EXEEXT}): Remove direct dependence on
996 SOME_MACHINE_LISP (this enters indirectly via DOC).
997
998 2009-10-05 Eli Zaretskii <eliz@gnu.org>
999
1000 * dired.c (Ffile_attributes): Doc fix. (Bug#4638)
1001
1002 2009-10-04 Eli Zaretskii <eliz@gnu.org>
1003
1004 * xdisp.c (syms_of_xdisp) <unibyte-display-via-language-environment>:
1005 Doc fix.
1006
1007 2009-10-03 Martin Rudalics <rudalics@gmx.at>
1008
1009 * window.c (Fdelete_window): Check WINDOW argument. (Bug#4618)
1010
1011 2009-10-02 Michael Albinus <michael.albinus@gmx.de>
1012
1013 * lisp.h (Qdelete_directory_internal): Remove, because it is not
1014 used anymore outside fileio.c.
1015
1016 * w32fns.c (Fsystem_move_file_to_trash): Use delete-directory.
1017
1018 2009-10-01 Juanma Barranquero <lekktu@gmail.com>
1019
1020 * lisp.h (Qdelete_directory_internal):
1021 Declare, instead of Qdelete_directory.
1022
1023 * w32fns.c (Fsystem_move_file_to_trash): Use it.
1024
1025 2009-10-01 Stefan Monnier <monnier@iro.umontreal.ca>
1026
1027 * eval.c (Fcalled_interactively_p): Add `kind' argument.
1028
1029 2009-10-01 Michael Albinus <michael.albinus@gmx.de>
1030
1031 * fileio.c (Fdelete_directory_internal): Rename from
1032 Fdelete_directory. It is not a command anymore. It has no file
1033 name handler.
1034
1035 2009-09-28 Stefan Monnier <monnier@iro.umontreal.ca>
1036
1037 * xdisp.c (get_next_display_element): Use an enum in last change.
1038
1039 2009-09-28 Kenichi Handa <handa@m17n.org>
1040
1041 * xdisp.c (get_next_display_element): Pay attention to
1042 unibyte_display_via_language_environment in handling
1043 Vnobreak_char_display.
1044
1045 2009-09-27 Adrian Robert <Adrian.B.Robert@gmail.com>
1046
1047 * nsterm.h (ns_app_name): New extern variable.
1048
1049 * nsterm.m (ns_app_name): New variable.
1050 (ns_term_init): Set and use it.
1051 (ns_term_shutdown): Use it.
1052
1053 * nsmenu.m (ns_update_menubar): Use ns_app_name. Sync with xmenu.c.
1054 (EmacsMenu-clear:, ns_popup_dialog): Use ns_app_name.
1055
1056 * nsfns.m (ns_set_name_iconic, ns_set_name)
1057 (ns_set_name_as_filename, x-create-frame, ns-get-resource)
1058 (ns-set-resource): Use ns_app_name instead of NSProcessInfo call.
1059
1060 * menu.c (find_and_return_menu_selection) [HAVE_NS]:
1061 Remove double-casting in client_data comparison.
1062
1063 2009-09-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1064
1065 * keyboard.c (make_lispy_event): Remember last wheel direction.
1066 (syms_of_keyboard) <wheel_syms>: Compute array size at compile time.
1067
1068 2009-09-26 Glenn Morris <rgm@gnu.org>
1069
1070 * Makefile.in (MSDOS_SUPPORT) [MSDOS]: Remove unneeded '/' in
1071 internal.elc. Add term/pc-win.elc.
1072 (WINDOW_SUPPORT) [HAVE_X_WINDOWS]: Add term/common-win.elc and
1073 term/x-win.elc.
1074 (WINNT_SUPPORT) [WINDOWSNT]: Add term/common-win.elc and
1075 term/w32-win.elc.
1076 (NS_SUPPORT): New.
1077 (lisp): Add NS_SUPPORT.
1078 (SOME_MACHINE_LISP): Add term/w32-win.elc and emacs-lisp/easymenu.elc.
1079
1080 2009-09-25 David Reitter <david.reitter@gmail.com>
1081
1082 * nsmenu.m (EmacsMenu-clear): Recognize application menu
1083 on Mac OS X 10.6+ (bug#4513).
1084
1085 2009-09-24 Juanma Barranquero <lekktu@gmail.com>
1086
1087 * frame.c (xrdb_get_resource): Return nil for empty string resources;
1088 some parts of Emacs code (like font selection) don't grok them.
1089 See http://lists.gnu.org/archive/html/emacs-devel/2009-09/msg00528.html
1090
1091 2009-09-24 Andreas Schwab <schwab@redhat.com>
1092
1093 * coding.c (decode_coding_iso_2022): Fix operator precedence.
1094
1095 2009-09-24 Juanma Barranquero <lekktu@gmail.com>
1096
1097 * dired.c (Fdirectory_files): Fix typo in docstring.
1098
1099 2009-09-23 Adrian Robert <Adrian.B.Robert@gmail.com>
1100
1101 * nsterm.m (EV_TIMESTAMP, x_set_window_size)
1102 (EmacsApp-application:openFiles:): Remove GNUstep conditionals.
1103 (EmacsScroller-setPosition:portion:whole:): Remove -display call
1104 under GNUstep.
1105 (EmacsView-initFrameFromEmacs:): Set autoresizing mask.
1106
1107 * nsfont.m (ns_glyph_metrics): Remove GNUstep conditional for
1108 glyph advancement.
1109
1110 2009-09-22 Adrian Robert <Adrian.B.Robert@gmail.com>
1111
1112 * nsterm.m (CGContextSetFontRenderingMode): Drop declaration.
1113 (EmacsScroller-mouseDown:): Use SCROLL_BAR_FIRST_DELAY.
1114
1115 * nsmenu.m (EmacsMenu-menuNeedsUpdate): Ignore if frame has been
1116 deleted (bug #4492).
1117
1118 * nsfont.m (Vns_reg_to_script): New lisp variable.
1119 (syms_of_nsfont): Declare it.
1120 (ns_registry_to_script): New function.
1121 (ns_get_req_script): Call it.
1122 (ns_findfonts): Don't give up on non-unicode registry.
1123
1124 * font.c (DEFAULT_ENCODING) [HAVE_NS]: Remove special case.
1125
1126 2009-09-20 Tom Tromey <tromey@redhat.com>
1127
1128 * eval.c (find_handler_clause): Make stack-trace-on-error work in
1129 batch mode (bug#4228).
1130
1131 2009-09-18 Rob Christie <robchristie@gmail.com> (tiny change)
1132
1133 * nsmenu.m (EmacsMenu-parseKeyEquiv:): Parse key equivalent more
1134 carefully. (Bug #4339)
1135
1136 2009-09-18 Chong Yidong <cyd@stupidchicken.com>
1137
1138 * syntax.c (Fchar_syntax): Minor doc fix (Bug#4400).
1139
1140 2009-09-18 Adrian Robert <Adrian.B.Robert@gmail.com>
1141
1142 * emacs.c (inhibit_x_resources): Update doc string for NS.
1143 (main) [HAVE_NS]: Don't process --no-init-file option. Remove
1144 legacy code for -NXHost. Fix error printf in daemon case.
1145
1146 * nsterm.h (ns_no_defaults): Remove.
1147
1148 * nsterm.m (ns_no_defaults): Remove.
1149 (ns_term_init): Switch ns_no_defaults -> inhibit_x_resources.
1150 (ns_use_qd_smoothing): Remove legacy variable.
1151 (EmacsView-windowShouldZoom:): Set frame left_pos, top_pos and
1152 don't update the NSWindow itself.
1153 (EmacsView-windowWillUseStandardFrame:defaultFrame:): Improve
1154 state detection and store user rect ourselves. (Bug #3581)
1155
1156 * nsfont.m (nsfont_draw) [NS_IMPL_COCOA]: Don't use
1157 ns_use_qd_smoothing.
1158
1159 * nsfns.m (x_get_string_resource): Ape just-previous changes to other
1160 platform versions. Drop support for emacs-20-style face specs.
1161 (x-close-connection): Drop PSFlush() under OS X.
1162 (x-focus-frame): Activate the app first. (Bug #4180)
1163
1164 2009-09-17 Juanma Barranquero <lekktu@gmail.com>
1165
1166 * emacs.c (inhibit_x_resources): New variable.
1167 (main) [HAVE_NS]: Don't process --quick command line option.
1168 (syms_of_emacs) <inhibit-x-resources>: DEFVAR_BOOL it.
1169
1170 * lisp.h (inhibit_x_resources): Declare it extern.
1171
1172 * w32reg.c (x_get_string_resource):
1173 * xrdb.c (x_get_string_resource): Obey inhibit_x_resources.
1174
1175 2009-09-17 Eli Zaretskii <eliz@gnu.org>
1176
1177 * Makefile.in (MSDOS_SUPPORT, SOME_MACHINE_LISP):
1178 Add lisp/term/internal.elc.
1179
1180 2009-09-17 Stefan Monnier <monnier@iro.umontreal.ca>
1181
1182 * frame.c (x_get_resource_string): Re-add for non-toolkit builds
1183 (bug#4461).
1184
1185 2009-09-17 Dan Nicolaescu <dann@ics.uci.edu>
1186
1187 * puresize.h (BASE_PURESIZE): Increase to 1290000.
1188
1189 * Makefile.in (OTHER_FILES): Define using autoconf, not cpp.
1190 (OBJECTS_MACHINE): Remove, unused.
1191
1192 2009-09-16 Stefan Monnier <monnier@iro.umontreal.ca>
1193
1194 * frame.c (x_get_resource_string): Remove unused.
1195
1196 2009-09-15 Jan Djärv <jan.h.d@swipnet.se>
1197
1198 * xterm.c (x_new_font): Call change_frame_size before calling
1199 x_set_window_size, in case frame size won't change.
1200
1201 * frame.c (x_set_font): Remove dead code.
1202
1203 2009-09-15 Stefan Monnier <monnier@iro.umontreal.ca>
1204
1205 * lread.c (Fload): Also run do-after-load-evaluation while dumping.
1206
1207 2009-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
1208
1209 * lread.c (Fload): Don't output a message after loading an obsolete
1210 package any more (done in Lisp now).
1211
1212 2009-09-12 Chong Yidong <cyd@stupidchicken.com>
1213
1214 * fns.c (syms_of_fns): Doc fix (Bug#4227).
1215
1216 2009-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
1217
1218 * keymap.c (Fwhere_is_internal): Use nconc2.
1219
1220 2009-09-11 Alan Mackenzie <acm@muc.de>
1221
1222 * dispnew.c (Fsend_string_to_terminal): Amend doc string to cover
1223 batch mode.
1224
1225 2009-09-11 Andreas Schwab <schwab@linux-m68k.org>
1226
1227 * xdisp.c (display_mode_element): Detect cycles.
1228
1229 2009-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
1230
1231 * keymap.c (where_is_internal): Don't erroneously return nil right after
1232 filling the cache.
1233 (where_is_internal_1): Fix up typo.
1234
1235 2009-09-11 Glenn Morris <rgm@gnu.org>
1236
1237 * frame.c (Fx_parse_geometry): Unify the X and NS versions so that they
1238 share a common doc-string.
1239
1240 2009-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
1241
1242 * keymap.c (get_keymap): Return the actual keymap symbol rather than
1243 t for autoloaded keymaps when autoloading is not allowed (bug#4393).
1244
1245 * keymap.c (QCadvertised_binding): New constant.
1246 (syms_of_keymap): Initialize it.
1247 (Fwhere_is_internal): Try and use bindings from :advertised-binding
1248 if applicable.
1249
1250 2009-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
1251
1252 * keyboard.c (Qmenu_alias, Vdefine_key_rebound_commands): Remove.
1253 (parse_menu_item): Streamline since bindings are recomputed all the
1254 time anyway. Don't bother checking Vdefine_key_rebound_commands any
1255 more and don't support lmenu's menu-alias any more either.
1256
1257 * keymap.c (where_is_internal_data): Make noindirect a boolean.
1258 (where_is_internal): Strip it down to only traverse the keymaps.
1259 Move the cache handling from Fwhere_is_internal to here.
1260 (Fwhere_is_internal): Move the handling of remapping and the choice of
1261 the best binding from where_is_internal to here.
1262 Unify the cached/noncached paths, so remapping is also handled
1263 correctly when the cache is used, and so the cache can be used to
1264 speed up remap-handling when applicable.
1265 Give preference to non-remapped bindings.
1266 * doc.c (Fsubstitute_command_keys): Let Fwhere_is_internal's prefer
1267 non-remapped bindings.
1268 * keyboard.c (parse_menu_item): Let Fwhere_is_internal handle
1269 command remapping.
1270
1271 * xdisp.c (display_mode_element): Move list length limit from 50 to
1272 5000 (see thread starting with <xbaik5174uqu.fsf@cam.ac.uk>).
1273
1274 2009-09-09 Adrian Robert <Adrian.B.Robert@gmail.com>
1275
1276 * nsfont.m (ns_get_family): Don't force first letter to uppercase.
1277
1278 2009-09-09 Stefan Monnier <monnier@iro.umontreal.ca>
1279
1280 * xdisp.c (Vtruncate_partial_width_windows): Improve docstring.
1281 (Bug#4334)
1282
1283 * keymap.c (where_is_internal): Filter out shadowed remappings.
1284 Assume that where_is_internal returns unshadowed bindings to simplify
1285 the code and get rid of the gotos. Use ASIZE.
1286
1287 2009-09-04 Jan Djärv <jan.h.d@swipnet.se>
1288
1289 * xterm.c (x_focus_changed): If we get a focusout and pointer
1290 is invisible, make it visible.
1291
1292 * xterm.h: Remove condition for declaration of
1293 x_*_window_to_frame.
1294
1295 2009-09-03 Stefan Monnier <monnier@iro.umontreal.ca>
1296
1297 * dispnew.c (Fsend_string_to_terminal): Make it work again on the
1298 initial terminal as well.
1299
1300 2009-09-02 Jan Djärv <jan.h.d@swipnet.se>
1301
1302 * xterm.h: Rename x_non_menubar_window_to_frame to
1303 x_menubar_window_to_frame.
1304
1305 * xterm.c: Remove declarations also in xterm.h
1306 (XTmouse_position): Do not return valid positions
1307 for clicks in the menubar and the toolbar for Gtk+.
1308
1309 * xfns.c (x_any_window_to_frame): Assume less about Gtk+ internals,
1310 if the widget for the event has the same top level as a frame,
1311 return the frame.
1312 (x_menubar_window_to_frame): Detect menu bar even with Gtk+
1313 internal windows, bug #4122.
1314 (x_non_menubar_window_to_frame): Remove.
1315
1316 2009-09-02 Glenn Morris <rgm@gnu.org>
1317
1318 * buffer.c (default-major-mode): Move most of the doc from here...
1319 (major-mode): ... to here.
1320
1321 2009-08-30 Nick Roberts <nickrob@snap.net.nz>
1322
1323 * process.c (wait_reading_process_output): Keep the descriptor
1324 when pty is used by a non-child process, e.g., in I/O buffer of
1325 GDB this allows inferior to be restarted.
1326
1327 2009-08-29 Eli Zaretskii <eliz@gnu.org>
1328
1329 * xdisp.c (redisplay_internal): Remove redundant test and collapse
1330 both branches into one.
1331
1332 2009-08-29 Stefan Monnier <monnier@iro.umontreal.ca>
1333
1334 * emacs.c (USAGE1): Remove --(no-)multibyte, --(no-)unibyte.
1335 (main): Use enable-multibyte-characters rather than
1336 default-enable-multibyte-characters. Output a warning message when
1337 running a unibyte session.
1338
1339 2009-08-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1340
1341 * unexmacosx.c (print_load_command_name) [LC_DYLD_INFO]: Add cases
1342 LC_DYLD_INFO and LC_DYLD_INFO_ONLY.
1343 (copy_data_segment): Also copy __program_vars section.
1344 (copy_dyld_info) [LC_DYLD_INFO]: New function.
1345 (dump_it) [LC_DYLD_INFO]: Use it.
1346
1347 * s/darwin.h [temacs]: Undef HAVE_POSIX_MEMALIGN.
1348
1349 2009-08-28 Eli Zaretskii <eliz@gnu.org>
1350
1351 * makefile.w32-in ($(BLD)/doc.$(O)): Depend on buildobj.h, not on
1352 $(SRC)/buildobj.h.
1353 (buildobj.h): Renamed from $(SRC)/buildobj.h.
1354 (make-buildobj-CMD, make-buildobj-SH): Create buildobj.h, not
1355 $(SRC)/buildobj.h.
1356 (clean): Add buildobj.h.
1357
1358 2009-08-28 Teodor Zlatanov <tzz@lifelogs.com>
1359
1360 * print.c (print_object): Set escapeflag to 1 when printing
1361 hashtable keys and values.
1362
1363 2009-08-27 Stefan Monnier <monnier@iro.umontreal.ca>
1364
1365 * lread.c (read_integer): Use doubles (and potentially return a float
1366 number) as we do in string-to-number.
1367 (read1): Use strtol to read integers, signal errors on strtol's
1368 overflow and use floats if strtol's output is too large for
1369 Elisp integers.
1370
1371 2009-08-27 Eli Zaretskii <eliz@gnu.org>
1372
1373 * makefile.w32-in ($(SRC)/buildobj.h, make-buildobj-CMD)
1374 (make-buildobj-SH): Fix last change.
1375 (SRC): Move to before where it's first used.
1376
1377 2009-08-27 Kenichi Handa <handa@m17n.org>
1378
1379 * process.c (send_process): Use encode_coding_object instead of
1380 encode_coding_string to perform eol-conversion even if the string
1381 is unibyte.
1382
1383 * coding.c (encode_coding_utf_16): Fix checking of a Unicode
1384 character.
1385
1386 * cmds.c (Fself_insert_command): Avoid unnecessay
1387 unibyte->multibyte conversion. (Bug#4240) (Bug#4037)
1388
1389 2009-08-26 Dan Nicolaescu <dann@ics.uci.edu>
1390
1391 * callproc.c (Fcall_process): Remove always true #if.
1392
1393 * lisp.h: Replace #if 0 code for checking with text pointing to
1394 the --enable-checking configure flag.
1395
1396 * emacs.c (main): Mention the --enable-profiling configure flag
1397 instead of using CFLAGS.
1398
1399 2009-08-26 Ken Raeburn <raeburn@raeburn.org>
1400
1401 * Makefile.in (buildobj.h): New target.
1402 (doc.o): Depend on it.
1403 (temacs${EXEEXT}): Don't generate buildobj.lst.
1404 (mostlyclean): Delete buildobj.h, not buildobj.lst.
1405 * makefile.w32-in ($(SRC)/buildobj.h): New target.
1406 ($(BLD)/doc.$(O)): Depend on it.
1407 (make-buildobj-CMD, make-buildobj-SH): New targets. (Syntax help
1408 provided by Eli Zaretskii.)
1409 ($(TEMACS)): Don't generate buildobj.lst.
1410 * doc.c: Include buildobj.h.
1411 (buildobj): New static variable.
1412 (Fsnarf_documentation): Use it, instead of opening and reading
1413 buildobj.lst.
1414
1415 2009-08-25 Michael Albinus <michael.albinus@gmx.de>
1416
1417 * dbusbind.c (Fdbus_call_method)
1418 (Fdbus_call_method_asynchronously): Use English numeric format for
1419 timeout values in doc string.
1420
1421 2009-08-25 Kenichi Handa <handa@m17n.org>
1422
1423 * alloc.c (mark_char_table): New function.
1424 (mark_object): Use mark_char_table for a char-table.
1425
1426 * lisp.h (CHAR_TABLE_REF_ASCII): New macro.
1427 (CHAR_TABLE_REF): Use it.
1428
1429 2009-08-23 Ken Raeburn <raeburn@raeburn.org>
1430
1431 * Makefile.in (emacs${EXEEXT}) [CANNOT_DUMP]: Set EMACSLOADPATH
1432 before invoking the newly build emacs to check for load-path
1433 shadowing.
1434
1435 2009-08-22 Glenn Morris <rgm@gnu.org>
1436
1437 * Makefile.in (bootstrap_exe): New variable.
1438 (.el.elc, ${lispsource}loaddefs.el, bootstrap-emacs${EXEEXT}):
1439 Use ${bootstrap_exe}.
1440
1441 2009-08-22 Eli Zaretskii <eliz@gnu.org>
1442
1443 * coding.h (encode_coding_string): Don't encode unibyte strings.
1444 (Bug#4047)
1445
1446 2009-08-22 Michael Albinus <michael.albinus@gmx.de>
1447
1448 * config.in (HAVE_DBUS_WATCH_GET_UNIX_FD): Add.
1449
1450 * dbusbind.c (XD_WITH_DBUS_WATCH_GET_UNIX_FD): Remove. It was
1451 intended as hotfix only.
1452 (xd_add_watch, xd_remove_watch): Use HAVE_DBUS_WATCH_GET_UNIX_FD.
1453
1454 2009-08-21 Adrian Robert <Adrian.B.Robert@gmail.com>
1455
1456 * nsterm.m (ns_get_color): Update documentation properly for last
1457 change, and clean up loose ends in the code left by it. Fix
1458 longstanding bug with 16-bit hex parsing, and add support for
1459 yet another X11 format (rgb:r/g/b) for compatibility.
1460 * nsfns.m (EmacsDialogPanel-runDialogAt): Add declaration of
1461 timer_check() to avoid crash on Leopard/PPC. Bug #2154.
1462
1463 2009-08-21 Stefan Monnier <monnier@iro.umontreal.ca>
1464
1465 * eval.c (init_eval_once): Bump max_lisp_eval_depth to 500 for js.el.
1466
1467 2009-08-20 Michael Albinus <michael.albinus@gmx.de>
1468
1469 * dbusbind.c (XD_WITH_DBUS_WATCH_GET_UNIX_FD): New macro.
1470 (xd_add_watch, xd_remove_watch): Use it. Print debug messages.
1471 (xd_initialize, xd_pending_messages): Check, whether
1472 $DBUS_SESSION_BUS_ADDRESS is set.
1473
1474 2009-08-20 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1475
1476 * nsfns.m (Fxw_color_values): Return 3-element list. Doc fix.
1477
1478 * nsterm.m (ns_get_color): Remove incompatible color formats again.
1479
1480 2009-08-20 Glenn Morris <rgm@gnu.org>
1481
1482 * emacs.c (system-type): Doc fix.
1483
1484 2009-08-19 Stefan Monnier <monnier@iro.umontreal.ca>
1485
1486 * keyboard.c (syms_of_keyboard): Default to 5 buttons, which should be
1487 enough for the most common situations. Avoid SET_SYMBOL_VALUE.
1488
1489 2009-08-18 Michael Albinus <michael.albinus@gmx.de>
1490
1491 * dbusbind.c (xd_add_watch, xd_remove_watch, Fdbus_init_bus):
1492 New functions.
1493 (xd_initialize): Revert change from 2009-08-16.
1494
1495 2009-08-18 Kenichi Handa <handa@m17n.org>
1496
1497 * fontset.c (Ffontset_font): If a nil element is found in a
1498 font-group vector, return nil.
1499
1500 2009-08-17 Chong Yidong <cyd@stupidchicken.com>
1501
1502 * process.c (status_notify): Don't perform redisplay.
1503 (Fdelete_process, list_processes_1, process_send_signal):
1504 Expliticly perform redisplay.
1505 (wait_reading_process_output): Always check process status, but
1506 don't perform redisplay unless DO_DISPLAY is non-zero (Bug#2930).
1507
1508 2009-08-17 Ken Raeburn <raeburn@raeburn.org>
1509
1510 * lisp.h (XFLOAT_DATA): Produce an rvalue by adding 0 to the value.
1511 (XFLOAT_INIT): New macro for storing a float value.
1512 * alloc.c (make_float, make_pure_float): Use XFLOAT_INIT.
1513 * fns.c (sxhash): Copy out the value of a float in order to
1514 examine its bytes.
1515 * dbusbind.c (xd_append_arg): Likewise.
1516
1517 * emacs.c (main): Don't call syms_of_data twice.
1518
1519 2009-08-16 Michael Albinus <michael.albinus@gmx.de>
1520
1521 * dbusbind.c (xd_initialize): Add connection file descriptor to
1522 input_wait_mask, in order to let select() detect, whether a new
1523 message has been arrived.
1524 (Fdbus_call_method_asynchronously): Allow nil HANDLER.
1525
1526 2009-08-15 Michael Albinus <michael.albinus@gmx.de>
1527
1528 * dbusbind.c (xd_get_dispatch_status, xd_pending_messages):
1529 New functions.
1530
1531 * lisp.h (xd_pending_messages): Declare.
1532
1533 * keyboard.c (readable_events): Call xd_pending_messages.
1534
1535 2009-08-15 Chong Yidong <cyd@stupidchicken.com>
1536
1537 * eval.c (Fcalled_interactively_p, Finteractive_p): Doc fix (Bug#3936).
1538
1539 * xdisp.c (pop_it): Don't pop into a display vector (Bug#4131).
1540
1541 * buffer.c (set_buffer_internal_1)
1542 (swap_out_buffer_local_variables): Check for unbound local
1543 variables (Bug#4138).
1544
1545 2009-08-14 Eli Zaretskii <eliz@gnu.org>
1546
1547 * process.c (create_pty): Fix last change.
1548
1549 2009-08-13 Chong Yidong <cyd@stupidchicken.com>
1550
1551 * image.c (xbm_read_bitmap_data): New arg inhibit_image_error.
1552 (xbm_load_image): Caller changed.
1553 (xbm_file_p): Avoid signalling an image_error (Bug#4107).
1554
1555 2009-08-13 Nick Roberts <nickrob@snap.net.nz>
1556
1557 * process.c (create_pty): New function.
1558 (Fstart_process): Use it to allow Emacs to just associate a pty
1559 with the buffer. See associated change in gdb-mi.el.
1560 (list_processes_1): Deal with no program name.
1561 (start_process_unwind): Use pid == -2 to mean no process.
1562
1563 2009-08-12 Stefan Monnier <monnier@iro.umontreal.ca>
1564
1565 * cmds.c (nonundocount): New global variable.
1566 (keys_of_cmds): Initialize it.
1567 (Fself_insert_command): Use it to combine upto 20 sequential chars
1568 into a single undo entry, just like the Qself_insert_command code in
1569 keyboard.c does.
1570 Call frame_make_pointer_invisible, also like the Qself_insert_command
1571 code in keyboard.c does.
1572 * keyboard.c (command_loop_1): Use the new global nonundocount rather
1573 than its own local replacement for it.
1574
1575 2009-08-10 Ken Raeburn <raeburn@raeburn.org>
1576
1577 * fns.c (concat): Don't re-set string length to its current value.
1578
1579 * coding.h (decode_coding_string, encode_coding_string):
1580 Use SBYTES macro.
1581
1582 * doprnt.c (doprnt_lisp): Delete unused function.
1583 (doprnt): Merge with doprnt1, discarding lispstrings code.
1584 * lisp.h (doprnt_lisp): Don't declare.
1585
1586 2009-08-07 Juri Linkov <juri@jurta.org>
1587
1588 * puresize.h (BASE_PURESIZE): Increase to 1270000.
1589
1590 2009-08-07 Dan Nicolaescu <dann@ics.uci.edu>
1591
1592 * print.c (syms_of_print): Undo previous change.
1593
1594 2009-08-05 Teodor Zlatanov <tzz@lifelogs.com>
1595
1596 * lread.c (read1, syms_of_lread): Read hashtables back from the
1597 readable format.
1598
1599 * print.c (print_preprocess, print_object): Print hashtables fully
1600 and readably.
1601 (syms_of_print): Provide 'hashtable-print-readable.
1602
1603 2009-08-02 Adrian Robert <Adrian.B.Robert@gmail.com>
1604
1605 * nsfont.m (ns_descriptor_to_entity): Handle case when descriptor has
1606 no family set.
1607 (nsfont_open): Handle case when entity has no family.
1608
1609 2009-07-29 Adrian Robert <Adrian.B.Robert@gmail.com>
1610
1611 * nsfont.m (ns_findfonts): Fix 2009-07-24 change to return only one
1612 element, not a list, for match case.
1613
1614 2009-07-28 Kenichi Handa <handa@m17n.org>
1615
1616 * font.c (font_parse_xlfd): Check DPI and AVGWIDTH properties more
1617 rigidly.
1618
1619 * xfont.c (xfont_list_pattern): Don't ignore the return value of
1620 font_parse_xlfd. Check font properties more rigidly.
1621
1622 2009-07-27 Dan Nicolaescu <dann@ics.uci.edu>
1623
1624 * s/netbsd.h (SIGNALS_VIA_CHARACTERS): Remove, already defined in
1625 bsd-common.h.
1626
1627 2009-07-27 Kenichi Handa <handa@m17n.org>
1628
1629 * xfaces.c (face_with_height): Call font_clear_prop.
1630
1631 2009-07-26 Chong Yidong <cyd@stupidchicken.com>
1632
1633 * dispnew.c (init_display): Use Qx, Qw32, and Qns.
1634
1635 * xterm.c (x_term_init): Use Qx.
1636
1637 * nsfont.m (nsfont_draw): Revert 2009-07-15 change.
1638
1639 * nsterm.m (ns_maybe_dumpglyphs_background): Revert 2009-07-15 change.
1640 (ns_get_color): Revert 2009-07-16 change.
1641
1642 2009-07-25 Eli Zaretskii <eliz@gnu.org>
1643
1644 * lread.c (syms_of_lread) <force_load_messages>: New variable.
1645 (Fload): Use it to force load messages, even if NOMESSAGES is non-nil.
1646
1647 2009-07-25 Ken Raeburn <raeburn@raeburn.org>
1648
1649 * coding.h (decode_coding_string, encode_coding_string):
1650 Use SCHARS macro.
1651
1652 * lread.c: Rewrite 2009-07-21 changes.
1653 (load_depth): Delete.
1654 (Qload_in_progress): New variable.
1655 (load_unwind): Don't reference load_depth or load_in_progress.
1656 (Fload): Likewise; specbind Qload_in_progress instead.
1657 (init_lread): Don't initialize load_depth.
1658 (syms_of_lread): Initialize and protect Qload_in_progress.
1659
1660 2009-07-24 Adrian Robert <Adrian.B.Robert@gmail.com>
1661
1662 * nsfont.m (ns_findfonts): Correctly return fallback in match case.
1663
1664 2009-07-23 Yavor Doganov <yavor@gnu.org>
1665
1666 * nsfont.m (NSFontDescriptor.h): Explicitly include under GNUstep.
1667
1668 2009-07-23 Adrian Robert <Adrian.B.Robert@gmail.com>
1669
1670 * nsterm.m (EmacsView-keyUp:): Only act when running under Tiger.
1671 Bugs 3792, 3720, 2402.
1672 (ns_lookup_indexed_color): Check for bad index.
1673 (ns_index_color): Init unused slot to 0.
1674 (ns_dumpglyphs_box_or_relief): Replace useless xassert with an if().
1675 Bug 3714, possibly 3082.
1676
1677 2009-07-22 Jason Rumney <jasonr@gnu.org>
1678
1679 * w32fns.c (w32_wnd_proc) [WM_IME_STARTCOMPOSITION]:
1680 Position IME window at cursor (Bug#2570).
1681 (w32_wnd_proc) [WM_IME_CHAR]: Release context when finished.
1682 (globals_of_w32fns): Dynamically load functions required above.
1683
1684 * w32term.c (w32_draw_window_cursor): Send message to reposition
1685 any IME window.
1686
1687 2009-07-21 Chong Yidong <cyd@stupidchicken.com>
1688
1689 * fileio.c: Revert 2009-07-16 changes.
1690 (Vauto_save_include_big_deletions): New variable.
1691 (Fdo_auto_save): Disable auto-save only if
1692 auto-save-include-big-deletions is nil.
1693
1694 2009-07-21 Chong Yidong <cyd@stupidchicken.com>
1695
1696 * xdisp.c (move_it_to): For continued lines ending in a tab, take
1697 the overflowed pixels into account (Bug#3879).
1698
1699 2009-07-21 Ken Raeburn <raeburn@raeburn.org>
1700
1701 * lread.c (load_depth): New variable.
1702 (Fload, load_unwind, init_lread): Set it to the load recursion
1703 depth; set load_in_progress as a simple boolean based on the
1704 current load_depth. (Bug#3892)
1705
1706 2009-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
1707
1708 * nsfont.m (ns_has_attribute): Remove.
1709 (ns_findfonts, nsfont_open): Use ns_attribute_fvalue() instead.
1710
1711 2009-07-18 Juri Linkov <juri@jurta.org>
1712
1713 * process.c (Fset_process_query_on_exit_flag): Mention killing
1714 a buffer in docstring.
1715
1716 2009-07-17 Kenichi Handa <handa@m17n.org>
1717
1718 * casetab.c (shuffle): Fix the logic of setting up the cycle.
1719
1720 2009-07-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1721
1722 * nsfns.m (Fns_set_alpha): Remove function.
1723 (syms_of_nsfns): Don't defsubr it.
1724
1725 * nsterm.m (ns_get_color): Remove incompatible color formats.
1726 (ns_color_to_lisp): Generate #rrggbb color format string.
1727
1728 2009-07-16 Richard Stallman <rms@gnu.org>
1729
1730 * fileio.c (Fwrite_region, Fdo_auto_save): Handle save_length = -2.
1731 (Fset_buffer_auto_saved): Handle save_length = -2.
1732
1733 2009-07-16 Chong Yidong <cyd@stupidchicken.com>
1734
1735 * xterm.c (Qx_gtk_map_stock): New var.
1736
1737 * gtkutil.c (update_frame_tool_bar): Use Qx_gtk_map_stock instead
1738 of calling intern each time.
1739
1740 2009-07-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1741
1742 * nsfont.m (nsfont_draw): Remove code for stippling, which actually
1743 does tiling.
1744
1745 * nsterm.m (ns_maybe_dumpglyphs_background): Likewise.
1746
1747 2009-07-14 Kenichi Handa <handa@m17n.org>
1748
1749 * font.c (font_vconcat_entity_vectors): New function.
1750 (struct font_sort_data): New member font_driver_preference.
1751 (font_compare): Check font_driver_preference.
1752 (font_sort_entities): The format of the first argument changed.
1753 (font_delete_unmatched): Likewise.
1754 (font_list_entities): The return type changed.
1755 (font_select_entity): The format of the second argument changed.
1756 (font_find_for_lface): Adjuste for the above changes.
1757 Don't suppress the checking of C even if the repertory supports it.
1758 (Flist_fonts): Adjust for the above changes.
1759
1760 * ftfont.c (ftfont_spec_pattern): New arg langname. Change caller.
1761 (ftfont_list): Adjust for the change of ftfont_spec_pattern.
1762 Reject a font who has adstyle property that is different from a
1763 langname derived from registry property.
1764 (ftfont_match): Adjust for the change of ftfont_spec_pattern.
1765
1766 2009-07-13 Eli Zaretskii <eliz@gnu.org>
1767
1768 * dired.c (directory_files_internal) [WINDOWSNT]: Don't make a
1769 local copy of dirfilename.
1770
1771 2009-07-13 Kenichi Handa <handa@m17n.org>
1772
1773 * chartab.c (sub_char_table_ref_and_range): Fix the range check
1774 against max_char.
1775
1776 * cmds.c (internal_self_insert): Check sym by SYMBOLP before
1777 calling XSYMBOL (sym).
1778
1779 2009-07-11 Eli Zaretskii <eliz@gnu.org>
1780
1781 * dired.c (directory_files_internal_w32_unwind) [WINDOWSNT]:
1782 New function.
1783 (directory_files_internal) [WINDOWSNT]:
1784 Bind w32-get-true-file-attributes to either t or nil, depending whether
1785 the filesystem of the directory is fast or slow.
1786
1787 * w32.c (logon_network_drive): Don't assume PATH is an absolute
1788 file name.
1789 (is_slow_fs): New function.
1790 (stat): Use it to determine whether to issue more system calls to
1791 get accurate file attributes, when w32-get-true-file-attributes is
1792 `local'.
1793
1794 2009-07-10 Jan Djärv <jan.h.d@swipnet.se>
1795
1796 * xfns.c (Fx_select_font): Remember last font selected in
1797 x_last_font_name and use that the next time. Also try the frame
1798 parameter font-parameter as default to the font dialog.
1799
1800 2009-07-10 Kenichi Handa <handa@m17n.org>
1801
1802 * xftfont.c (xftfont_open): Fix typo: FC_RGBA->FC_HINT_STYLE.
1803
1804 2009-07-09 Eli Zaretskii <eliz@gnu.org>
1805
1806 * w32proc.c (syms_of_ntproc) <w32-get-true-file-attributes>: Doc fix.
1807
1808 * w32.c (stat): Treat UNC file names as residing on remote
1809 drives. (Bug#3542)
1810
1811 2009-07-09 Kenichi Handa <handa@m17n.org>
1812
1813 * fontset.c (fontset_find_font): Fix previous change.
1814
1815 2009-07-08 Michael Albinus <michael.albinus@gmx.de>
1816
1817 * dbusbind.c (xd_initialize, Fdbus_call_method, xd_read_message)
1818 (Fdbus_register_signal, Fdbus_register_method): Cleanup memory of
1819 error flag.
1820
1821 2009-07-08 Kenichi Handa <handa@m17n.org>
1822
1823 * fontset.c (fontset_find_font): Fix the logic of handling
1824 charset_matched.
1825 (font_for_char): Delete unused var.
1826 (generate_ascii_font_name): Delete it.
1827
1828 * coding.h (JIS_TO_SJIS2): Fix the code range check.
1829
1830 * coding.c (detect_coding_sjis): Handle shift_jis-2004 correctly.
1831 (encode_coding_sjis): Fix the code range check.
1832
1833 2009-07-07 Chong Yidong <cyd@stupidchicken.com>
1834
1835 * fileio.c (Fsubstitute_in_file_name, Ffile_name_directory)
1836 (Fexpand_file_name): Copy string data properly (Bug#3772).
1837
1838 2009-07-07 Jan Djärv <jan.h.d@swipnet.se>
1839
1840 * xterm.c (handle_one_xevent): Only call x_check_fullscreen on the
1841 first MapNotify.
1842
1843 2009-07-07 Kenichi Handa <handa@m17n.org>
1844
1845 * character.h (unibyte_has_multibyte_table): Delete extern.
1846 (UNIBYTE_CHAR_HAS_MULTIBYTE_P): Delete it.
1847
1848 * charset.c (Fset_charset_priority): Update charset_unibyte.
1849 (syms_of_charset): Initialize charset_unibyte.
1850
1851 * character.c (unibyte_has_multibyte_table): Delete it.
1852 (multibyte_char_to_unibyte): Use CHAR_TO_BYTE8 instead of checking
1853 charset_unibyte.
1854 (multibyte_char_to_unibyte_safe): Likewise.
1855 (Funibyte_char_to_multibyte): Don't check charset_unibyte.
1856
1857 * xdisp.c (get_next_display_element): Decode it->c by charset_unibyte.
1858 (x_produce_glyphs): Likewise.
1859
1860 * .gdbinit (xcharset): Fix the treating $arg0.
1861
1862 2009-07-04 Eli Zaretskii <eliz@gnu.org>
1863
1864 Emulation of `getloadavg' on MS-Windows.
1865 * w32.c: Include float.h
1866 (g_b_init_get_native_system_info, g_b_init_get_system_times)
1867 (GetNativeSystemInfo_Proc, GetSystemTimes_Proc): Declare.
1868 (get_native_system_info, get_system_times): New functions.
1869 (buf_next, buf_prev, sample_system_load, getavg): New subroutines.
1870 (getloadavg): Rewrite using GetSystemTimes and GetNativeSystemInfo.
1871 (globals_of_w32): Initialize g_b_init_get_native_system_info,
1872 g_b_init_get_system_times, and num_of_processors.
1873
1874 2009-07-03 Jason Rumney <jasonr@gnu.org>
1875
1876 * w32term.c (w32_initialize): Use standard types.
1877
1878 2009-07-03 Eli Zaretskii <eliz@gnu.org>
1879
1880 * dired.c (Ffile_attributes): Decode user and group names by the
1881 locale's encoding. (Bug#3443)
1882
1883 2009-07-03 Dan Nicolaescu <dann@ics.uci.edu>
1884
1885 * sysdep.c (sys_suspend): Remove USG_JOBCTRL #ifdef, unused.
1886 (mkdir): Remove MKDIR_PROTOTYPE #ifdef, unused.
1887
1888 * callproc.c (child_setup): Use #else instead of a separate #ifdef.
1889
1890 * term.c (init_tty): Remove spurious #ifdef.
1891
1892 * m/mips.h: Mention this file is also used for netbsd.
1893 * m/pmax.h: Remove file.
1894
1895 2009-07-03 Jan Djärv <jan.h.d@swipnet.se>
1896
1897 * xterm.h (struct x_display_info): Add invisible_cursor.
1898 (struct x_output): Add current_cursor.
1899
1900 * xterm.c (XTtoggle_invisible_pointer): New function.
1901 (x_define_frame_cursor): Don't define cursor if invisible or the
1902 same as before. Set current_cursor.
1903 (x_create_terminal): Set toggle_invisible_pointer_hook.
1904
1905 * xfns.c (make_invisible_cursor): New function.
1906 (x_set_mouse_color): Call make_invisible_cursor.
1907 Set current_cursor.
1908 (x_window): Set current_cursor.
1909
1910 * termhooks.h (struct terminal): Add toggle_invisible_pointer_hook.
1911
1912 * keyboard.c (command_loop_1): Call frame_make_pointer_invisible after
1913 inserting a character.
1914 (read_avail_input): Call frame_make_pointer_visible.
1915
1916 * frame.c (Vmake_pointer_invisible): New variable.
1917 (frame_make_pointer_invisible, frame_make_pointer_visible):
1918 New functions.
1919 (syms_of_frame): DEFVAR make-pointer-invisible, initialize to Qt.
1920
1921 * frame.h: Declare frame_make_pointer_invisible and
1922 frame_make_pointer_visible.
1923 (struct frame): Add pointer_invisible.
1924
1925 2009-07-02 Jan Djärv <jan.h.d@swipnet.se>
1926
1927 * gtkutil.c (xg_frame_set_char_size): Do set width/height if the
1928 frame isn't visible.
1929 (xg_frame_resized): If width/height is -1, get size of window
1930 from X server.
1931
1932 * xterm.c (handle_one_xevent): Call xg_frame_resized for USE_GTK
1933 for MapNotify.
1934
1935 * gtkutil.c (xg_frame_set_char_size): Do not set pixel width/height
1936 here or call change_frame_size. Just call flush_and_sync.
1937 (flush_and_sync): Reintroduce.
1938
1939 2009-07-01 Jan Djärv <jan.h.d@swipnet.se>
1940
1941 * xterm.h (struct x_display_info): Add Xatom_net_wm_state_sticky.
1942
1943 * xterm.c (x_handle_net_wm_state): Also look for sticky.
1944 (x_term_init): Initialize Xatom_net_wm_state_sticky.
1945
1946 * frame.h: Declare Qsticky.
1947
1948 * w32fns.c (w32_frame_parm_handlers): Set 0 for sticky.
1949
1950 * nsfns.m (ns_frame_parm_handlers): Ditto.
1951
1952 * frame.c: Declare Qsticky.
1953 (frame_parms): Add sticky.
1954
1955 * xfns.c (x_frame_parm_handlers): Let x_set_sticky handle sticky.
1956
1957 * xterm.h: Declare x_set_sticky.
1958
1959 * xterm.c (x_set_sticky): New function.
1960
1961 * gtkutil.c (xg_tool_bar_proxy_help_callback): New function.
1962 (xg_tool_bar_menu_proxy): Attach enter/leave events to
1963 xg_tool_bar_proxy_help_callback.
1964
1965 * emacs.c (USAGE3, standard_args): Add -mm and --maximized.
1966
1967 * frame.c: Qmaximized is new.
1968 (x_set_frame_parameters): Do not handle fullscreen specially.
1969 Only set width and height if explicitly set.
1970 (x_set_fullscreen): Handle Qmaximized.
1971 (x_set_font, x_figure_window_size): Do not handle fullscreen specially.
1972 (syms_of_frame): Initialize Qmaximized.
1973
1974 * frame.h (fullscreen_type): Add FULLSCREEN_MAXIMIZED.
1975 Declare Qfullwidth, Qfullheight, Qfullboth, Qmaximized.
1976
1977 * xterm.c (handle_one_xevent): Remove call to x_check_fullscreen
1978 for Expose event. Add call to x_check_fullscreen for MapNotify event.
1979 Remove all code w.r.t. fullscreen from ConfigureNotify event. Do not
1980 set gravity to NorthWestGravity when USE_GTK.
1981 (set_wm_state): New function.
1982 (do_ewmh_fullscreen): Use set_wm_state. Also handle FULLSCREEN_MAXIMIZED.
1983 (x_handle_net_wm_state): Handle FULLSCREEN_MAXIMIZED.
1984 (x_check_fullscreen): Simplify so we only handle EMWH type of fullscreen
1985 or the case when no window manager is running. That means remove calls
1986 to x_real_positions and x_fullscreen_adjust.
1987
1988 * gtkutil.c (flush_and_sync, x_wm_size_hint_off): Remove.
1989 (xg_frame_set_char_size): Remove calls to x_wm_size_hint_off and
1990 flush_and_sync.
1991 (xg_height_changed): New function.
1992 (xg_create_frame_widgets): Remove call to gtk_widget_set_size_request
1993 and gtk_window_set_policy. Set frame gravity after parsing the
1994 geometry string.
1995 (xg_update_frame_menubar, free_frame_menubar)
1996 (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback)
1997 (update_frame_tool_bar, free_frame_tool_bar): Call xg_height_changed.
1998 Remove calls to xg_frame_set_char_size.
1999
2000 2009-07-01 Kenichi Handa <handa@m17n.org>
2001
2002 * keyboard.c (decode_keyboard_code): New function.
2003 (tty_read_avail_input): Decode the input bytes if necessary.
2004
2005 * coding.c (setup_coding_system):
2006 Initialize coding->carryover_bytes to 0.
2007 (Fset_keyboard_coding_system_internal): If CODING-SYSTEM is nil,
2008 use Qno_conversion.
2009
2010 2009-07-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2011
2012 * Makefile.in (SOME_MACHINE_LISP): Add ../lisp/term/common-win.elc.
2013
2014 2009-06-30 Chong Yidong <cyd@stupidchicken.com>
2015
2016 * xftfont.c (xftfont_open): Avoid passing NULL argument to XftLockFace.
2017
2018 2009-06-30 Jason Rumney <jasonr@gnu.org>
2019
2020 * w32term.c (w32_initialize): Use GetModuleHandle for library that
2021 is already loaded.
2022 Set user model ID if supported (bug#1849).
2023
2024 2009-06-29 Jim Meyering <meyering@redhat.com>
2025
2026 Remove useless if-before-xfree test.
2027 * nsfont.m (nsfont_close): Remove useless test.
2028 * term.c (delete_tty): Likewise.
2029 * w32.c (system_process_attributes): Likewise.
2030 * w32font.c (w32font_close): Likewise.
2031 * xfaces.c (x_free_gc): Likewise.
2032 * xselect.c (buffer): Likewise.
2033
2034 2009-06-28 Andreas Schwab <schwab@linux-m68k.org>
2035
2036 * process.c (send_process): Keep decoded string in a local
2037 variable and protect it from GC. (Bug#3521)
2038
2039 2009-06-28 Eli Zaretskii <eliz@gnu.org>
2040
2041 * term.c (create_tty_output) [MSDOS]: #ifdef away.
2042 (tty_free_frame_resources) [MSDOS]: Add a DOS-specific version.
2043
2044 2009-06-28 Chong Yidong <cyd@stupidchicken.com>
2045
2046 * xdisp.c (start_display, handle_face_prop)
2047 (move_it_vertically_backward, cursor_row_fully_visible_p)
2048 (redisplay_window, try_window_id, produce_image_glyph):
2049 Delete some #ifdef-ed out code chunks that are now obsolete.
2050
2051 * xterm.c (x_update_window_begin, x_new_focus_frame)
2052 (x_scroll_bar_handle_click, handle_one_xevent)
2053 (handle_one_xevent, XTread_socket, x_focus_on_frame)
2054 (x_make_frame_visible, x_make_frame_invisible)
2055 (x_wm_set_icon_pixmap, x_initialize): Delete some #ifdef-ed out
2056 code chunks that are now obsolete.
2057
2058 2009-06-28 Michael Albinus <michael.albinus@gmx.de>
2059
2060 * dbusbind.c (XD_SYMBOL_TO_DBUS_TYPE): Convert macro into function
2061 xd_symbol_to_dbus_type. With Solaris 2.11, it was said to compile
2062 for hours, when optimzation is enabled.
2063 (xd_signature, xd_append_arg, xd_retrieve_arg, xd_initialize)
2064 (xd_read_message): Make them static.
2065
2066 2009-06-27 Chuck Blake <cblake@pdos.csail.mit.edu> (tiny change)
2067
2068 * term.c (turn_on_face): Allow simultaneously bold and dim
2069 terminal faces (Bug#3530).
2070
2071 2009-06-27 Chong Yidong <cyd@stupidchicken.com>
2072
2073 * frame.c (x_get_arg): Check if dpyinfo is non-NULL.
2074
2075 * xdisp.c (mouse_face_from_buffer_pos): Fix detection of
2076 truncation glyphs (Bug#3686).
2077
2078 2009-06-27 Glenn Morris <rgm@gnu.org>
2079
2080 * m/pmax.h: Restore file, with only netbsd portions.
2081
2082 2009-06-26 David Reitter <david.reitter@gmail.com>
2083
2084 * nsterm.m (keydown): Avoid infinite loop.
2085
2086 2009-06-26 Peter Jolly <peter@jollys.org> (tiny change)
2087
2088 * ftfont.c (get_adstyle_property): Call font_intern_prop with 1 as
2089 the arg FORCE_SYMBOL.
2090
2091 2009-06-25 Kenichi Handa <handa@m17n.org>
2092
2093 * fontset.c (fontset_find_font): When a usable rfont_def is found
2094 in a fallback font-group, make it the first element of the group.
2095
2096 2009-06-24 Chong Yidong <cyd@stupidchicken.com>
2097
2098 * emacs-icon.h: Always define gnu_xpm_bits on GTK (bug#3671).
2099
2100 2009-06-24 Kenichi Handa <handa@m17n.org>
2101
2102 * fontset.c (fontset_get_font_group): Return 0 if no font-group is
2103 set for C.
2104 (fontset_font): Record the availability of a font for C both in
2105 the realized fontsets of the current one and the default one.
2106
2107 2009-06-23 Dan Nicolaescu <dann@ics.uci.edu>
2108
2109 * sysdep.c (child_setup_tty): Remove SIGNALS_VIA_CHARACTERS
2110 conditional, it is always defined on AIX.
2111
2112 2009-06-23 Miles Bader <miles@gnu.org>
2113
2114 * window.c (Vrecenter_redisplay): New variable.
2115 (syms_of_window): Initialize it.
2116 (Qtty): New extern declaration.
2117 (Frecenter): Only do redisplay if Vrecenter_redisplay requests it.
2118
2119 2009-06-23 Jim Meyering <meyering@redhat.com>
2120
2121 * src/ftfont.c (setup_otf_gstring, ftfont_shape_by_flt):
2122 Use xmalloc and xrealloc (not malloc and realloc), so subsequent heap
2123 pointer dereferences are guaranteed to be valid.
2124
2125 2009-06-23 Kenichi Handa <handa@m17n.org>
2126
2127 * emacs.c (main): Call init_font ().
2128
2129 * font.h (Vfont_log): Extern it.
2130 (FONT_ADD_LOG, FONT_DEFERRED_LOG): New macros.
2131
2132 * font.c (font_sort_entities, font_list_entities)
2133 (font_matching_entity, font_open_entity)
2134 (font_close_object): Change font_add_log to FONT_ADD_LOG.
2135 (Vfont_log): Delete static.
2136 (font_log_env_checked): Delete this variable.
2137 (font_add_log): Don't check font_log_env_checked.
2138 (font_deferred_log): Check Vfont_log.
2139 (init_font): New function.
2140
2141 * ftfont.c: Change font_add_log to FONT_ADD_LOG.
2142
2143 * w32font.c: Change font_add_log to FONT_ADD_LOG.
2144
2145 * w32uniscribe.c: Change font_add_log to FONT_ADD_LOG.
2146
2147 * xfont.c: Change font_add_log to FONT_ADD_LOG.
2148
2149 * fontset.c (fontset_font): Call FONT_DEFERRED_LOG.
2150 (face_for_char): Don't call font_deferred_log here.
2151 (font_for_char): Likewise.
2152
2153 2009-06-22 Chong Yidong <cyd@stupidchicken.com>
2154
2155 * w32term.c (x_draw_glyph_string): Use the glyph string's width
2156 rather than its background_width for drawing the overline and
2157 underline (Bug#489).
2158
2159 * xterm.c (x_draw_glyph_string): Use the glyph string's width
2160 rather than its background_width for drawing the overline and
2161 underline (Bug#489).
2162 (xg_default_icon_file): New variable.
2163 (syms_of_xterm): Initialize it to the Emacs SVG icon file.
2164 (x_bitmap_icon): Under GTK, use xg_default_icon_file.
2165
2166 * xdisp.c (Qbefore_string, Qafter_string): Add externs.
2167 (load_overlay_strings): Remove externs.
2168 (fast_find_position): Function deleted.
2169 (mouse_face_from_buffer_pos): New function, based on
2170 fast_find_position. Correctly handle before-strings,
2171 display-strings, and after-strings (Bug#1220).
2172 (note_mouse_highlight): Use mouse_face_from_buffer_pos.
2173
2174 2009-06-21 Chong Yidong <cyd@stupidchicken.com>
2175
2176 * xdisp.c (IT_DISPLAYING_WHITESPACE): Define for !HAVE_WINDOW_SYSTEM.
2177 (move_it_in_display_line_to, move_it_in_display_line_to)
2178 (display_line): Remove #ifdef HAVE_WINDOW_SYSTEM.
2179
2180 2009-06-21 Chong Yidong <cyd@stupidchicken.com>
2181
2182 * Branch for 23.1.
2183
2184 2009-06-21 Jason Rumney <jasonr@gnu.org>
2185
2186 * w32term.c (keyboard_codepage): New static variable.
2187 (w32_read_socket) [WM_INPUTLANGCHANGE]: Update it.
2188 (w32_read_socket) [WM_CHAR]: Use it to decode character
2189 input (bug#3237).
2190 (w32_initialize): Initialize it.
2191 (codepage_for_locale): New function.
2192
2193 2009-06-20 Ken Raeburn <raeburn@raeburn.org>
2194
2195 * process.c (status_message): Pass Faset index argument as a lisp
2196 object, so as to work with USE_LISP_UNION_TYPE.
2197
2198 2009-06-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2199
2200 * coding.c (Ffind_coding_systems_region_internal):
2201 Cache checked characters.
2202
2203 2009-06-18 Kenichi Handa <handa@m17n.org>
2204
2205 * coding.c (decode_coding_iso_2022): Check MSB of bytes more rigidly.
2206
2207 2009-06-18 Andreas Schwab <aschwab@redhat.com>
2208
2209 * xdisp.c (redisplay_internal): Check that the frame is still
2210 live after redisplay of its windows.
2211 (redisplay_windows): Check that the window is still live.
2212
2213 2009-06-17 Andreas Schwab <schwab@linux-m68k.org>
2214
2215 * coding.c (detect_coding_utf_16): Fix previous change.
2216
2217 2009-06-16 Kenichi Handa <handa@m17n.org>
2218
2219 * coding.c (detect_coding_utf_16): Fix the logic of rejecting
2220 UTF-16 by checking the dispersion of Eth and Oth bytes.
2221
2222 2009-06-15 Andreas Schwab <schwab@linux-m68k.org>
2223
2224 * coding.c (detect_coding_utf_16): Fix typo counting odd bytes.
2225
2226 2009-06-15 Kenichi Handa <handa@m17n.org>
2227
2228 * process.c (status_message): Fix previous change. Be sure to
2229 decode a localized string.
2230
2231 2009-06-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2232
2233 * xterm.c (x_delete_terminal): Put previous change in #if 0 and
2234 add comment explaining why.
2235
2236 2009-06-14 Sidney Markowitz <sidney@sidney.com>
2237
2238 * nsmenu.m (EmacsTooltip: setText): Set height of tooltip.
2239
2240 2009-06-14 Adrian Robert <Adrian.B.Robert@gmail.com>
2241
2242 * nsfont.m (ns_attribute_value): Remove.
2243 (ns_attribute_fvalue): Incorporate code from ns_attribute_value.
2244 (ns_has_attribute): Shrink the normal range.
2245 (ns_findfonts): Don't worry about requested spec in determining
2246 need for synthItal.
2247 (ns_get_covering_families): Retain scriptToFamilies.
2248
2249 2009-06-14 Seiji Zenitani <zenitani@mac.com>
2250
2251 * xdisp.c [USE_MAC_TOOLBAR]: Remove obsolete definition for Mac Carbon.
2252
2253 2009-06-11 Kenichi Handa <handa@m17n.org>
2254
2255 * xdisp.c (x_get_glyph_overhangs): Fix calculation of right
2256 overhang for the static composition case.
2257
2258 2009-06-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2259
2260 * xdisp.c (x_get_glyph_overhangs): Fix calculation of right
2261 overhang for the automatic composition case.
2262
2263 * xterm.c (x_compute_glyph_string_overhangs): Handle the automatic
2264 composition case.
2265
2266 2009-06-10 Chong Yidong <cyd@stupidchicken.com>
2267
2268 * xdisp.c (get_next_display_element): When handling wrap-prefix
2269 and line-prefix, treat \n as a control character (bug#3502).
2270
2271 2009-06-10 Kenichi Handa <handa@m17n.org>
2272
2273 * font.c (font_parse_family_registry): Fix for one-char foundry.
2274 (font_sort_entities): Initialize prefer_prop[FONT_AVGWIDTH_INDEX].
2275
2276 2009-06-09 Dmitry Dzhus <dima@sphinx.net.ru> (tiny change)
2277
2278 * process.c (status_message): Fix handling of multibyte signal
2279 string (Bug#3499).
2280
2281 2009-06-09 Jim Meyering <meyering@redhat.com>
2282
2283 * xfaces.c (Fx_load_color_file): Avoid array bounds error if the
2284 color name is missing.
2285
2286 2009-06-09 Kenichi Handa <handa@m17n.org>
2287
2288 * charset.c (Fmap_charset_chars): In docstring, state clearly that
2289 FROM-CODE and TO-CODE are codepoints of CHARSET.
2290
2291 2009-06-08 Adrian Robert <Adrian.B.Robert@gmail.com>
2292
2293 * nsterm.m (ns_use_system_highlight_color): Drop, unused.
2294
2295 2009-06-08 Adrian Robert <Adrian.B.Robert@gmail.com>
2296
2297 Changes to support :script/:lang/:otf in NS font driver.
2298 * nsfont.m (nsfont_escape_name, nsfont_unescape_name)
2299 (nsfont_get_family, nsfont_char_width): Rename to ns_ prefix to
2300 indicate not part of font driver interface, and change callers.
2301 (ns_get_family): Remove pointless null check.
2302 (nsfont_spec_to_traits, nsfont_fmember_to_entity): Replace with
2303 ns_spec_to_descriptor, ns_descriptor_to_entity.
2304 (nsfont_trait_distance, nsfont_make_fontset_for_font): Remove.
2305 (ns_attribute_value, ns_attribute_fvalue, ns_has_attribute)
2306 (ns_spec_to_descriptor, ns_descriptor_to_entity)
2307 (ns_charset_covers, ns_lang_to_script, ns_otf_to_script)
2308 (ns_get_req_script, ns_accumulate_script_ranges)
2309 (ns_script_to_charset, ns_get_covering_families, ns_findfonts):
2310 New functions.
2311 (nsfont_list, nsfont_match): Use ns_findfonts.
2312 (nsfont_open): Use font descriptor instead of traits.
2313 (nsfont_draw): Handle "automatic" (lookup-table) compositions.
2314 (dump_glyphstring): Rename to ns_dump_glyphstring.
2315
2316 * nsterm.h (dump_glyphstring): Rename to ns_dump_glyphstring.
2317
2318 * nsfns.m (Fns_popup_font_panel): Use shared font manager.
2319
2320 * fontset.c (fontset_from_font): Remove NS-specific code.
2321
2322 2009-06-08 Peter Jones <pjones@pmade.com> (tiny change)
2323
2324 * nsterm.m (ns_draw_window_cursor): Respect cursor_type for
2325 nonactive windows.
2326
2327 2009-06-08 Felix Mueller <felix@enqueue.eu> (tiny change)
2328
2329 * nsterm.m (ns_init_paths): Append path separator to INFOPATH variable.
2330
2331 2009-06-08 Wolfgang Lux <wolfgang.lux@gmail.com> (tiny change)
2332
2333 * keyboard.c (kbd_buffer_get_event): Null-check used_mouse_menu.
2334
2335 2009-06-07 Chong Yidong <cyd@stupidchicken.com>
2336
2337 * xdisp.c (move_it_in_display_line_to): On text-only terminals,
2338 account for the overflowing of newlines into the last glyph on the
2339 display line (Bug#3482).
2340
2341 2009-06-05 David Reitter <david.reitter@gmail.com>
2342
2343 * nsselect.m (Fx_own_selection_internal, Fx_selection_exists_p)
2344 (Fx_selection_owner_p): Rename from Fns_own_selection_internal,
2345 Fns_selection_exists_p, Fns_selection_owner_p.
2346
2347 2009-06-03 Jason Rumney <jasonr@gnu.org>
2348
2349 * w32fns.c (x_create_tip_frame): Use the uniscribe font backend if
2350 available. (Bug#3379)
2351
2352 2009-05-29 Kenichi Handa <handa@m17n.org>
2353
2354 * coding.c (get_translation_table):
2355 Check Venable_character_translation.
2356
2357 2009-05-26 David Reitter <david.reitter@gmail.com>
2358
2359 * nsterm.m (ns_raise_frame): Only raise frame if visible.
2360 (x_make_frame_visible): Move frame to front rather than calling
2361 ns_raise_frame().
2362 (keyDown:): Do not swallow events that aren't re-sent if frame
2363 isn't key window.
2364 (drawRect:): Do not set visibility/iconified flags because
2365 drawRect may be called by NSView even if the frame is hidden.
2366
2367 * nsfns.m (Fx_create_frame): Follow other ports in
2368 determining visibility; default to t. Ensure async_visible is set.
2369
2370 2009-05-23 Eli Zaretskii <eliz@gnu.org>
2371
2372 * dired.c (Ffile_attributes): Doc fix.
2373
2374 2009-05-22 Chong Yidong <cyd@stupidchicken.com>
2375
2376 * m/mips.h [GNU_LINUX]: Don't define DATA_START (Bug#2685).
2377
2378 2009-05-21 Stefan Monnier <monnier@iro.umontreal.ca>
2379
2380 * xfont.c (xfont_list_pattern): Don't initialize xfont_scripts_cache
2381 and xfont_scratch_props.
2382 (syms_of_xfont): Do it here instead.
2383 (xfont_find_ccl_program): Delete, unused.
2384 (xfont_open): Delete unused var `i'.
2385
2386 2009-05-21 Kenichi Handa <handa@m17n.org>
2387
2388 * fontset.c (Qlatin): Don't make it static.
2389
2390 * xfont.c (xfont_chars_supported, xfont_supported_scripts):
2391 New functions.
2392 (xfont_scripts_cache, xfont_scratch_props): New variables.
2393 (Qlatin, Vscalable_fonts_allowed): Extern it.
2394 (xfont_list_pattern): Argument changed. Callers changed.
2395 Check Vscalable_fonts_allowed. Check the support of a script.
2396 (xfont_list): Don't reject a font spec with :script property.
2397 (xfont_has_char): Fix setting of encoding.
2398 (syms_of_xfont): Staticpro and initialize xfont_scripts_cache and
2399 xfont_scratch_props.
2400
2401 2009-05-19 Kenichi Handa <handa@m17n.org>
2402
2403 * font.c (font_sort_entities): Rename from font_sort_entites.
2404 Callers changed.
2405
2406 2009-05-18 Kenichi Handa <handa@m17n.org>
2407
2408 * font.c (font_find_for_lface): Copy SPEC's FONT_TYPE too.
2409
2410 2009-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
2411
2412 * frame.c (do_switch_frame) [NS_IMPL_COCOA]: Don't raise any window.
2413 (delete_frame) [NS_IMPL_COCOA]: Instead, do it here.
2414
2415 2009-05-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2416
2417 * xterm.c (x_delete_display): Don't call XrmDestroyDatabase here.
2418 (x_delete_terminal): Dissociate resource database from display and
2419 then call XrmDestroyDatabase before closing display.
2420
2421 2009-05-18 Adrian Robert <Adrian.B.Robert@gmail.com>
2422
2423 * nsterm.m (ns_read_socket): Remove unused variable.
2424 * frame.c (do_switch_frame): Under NS_IMPL_COCOA section, check
2425 whether selected frame is viable before raising it (based on patch
2426 by David Reitter), and improve commentary.
2427 * nsfont.m (nsfont_make_fontset_for_font): Avoid a compiler warning.
2428
2429 2009-05-15 Kenichi Handa <handa@m17n.org>
2430
2431 * font.c (Ffont_spec): Check arguments.
2432
2433 2009-05-14 Chong Yidong <cyd@stupidchicken.com>
2434
2435 * xfaces.c (tty_supports_face_attributes_p): Recognize unspecified
2436 weight when testing attributes (Bug#3282).
2437
2438 2009-05-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2439
2440 * gtkutil.c (xg_frame_set_char_size): Set frame pixel width/height to
2441 what we expect to get in the next ConfigureNotify event.
2442
2443 * xftfont.c (xftfont_open): Make sure that Xrender extension is added
2444 before Xft one (Bug#1696).
2445
2446 2009-05-07 David Reitter <david.reitter@gmail.com>
2447
2448 * nsfns.m (Fx_display_planes): Compute bitplanes using
2449 NSBitsPerPixelFromDepth (Bug#3207).
2450
2451 2009-05-10 Chong Yidong <cyd@stupidchicken.com>
2452
2453 * editfns.c (Ftranspose_regions): Doc fix (Bug#3248).
2454
2455 2009-05-10 Ulrich Mueller <ulm@gentoo.org>
2456
2457 * s/gnu-linux.h: Make GCPROs and UNGCPRO no-ops also on SuperH.
2458
2459 2009-05-07 David Reitter <david.reitter@gmail.com>
2460
2461 * nsterm.m (ns_dumpglyphs_stretch, ns_dumpglyphs_image):
2462 Respect mouse face background.
2463
2464 2009-05-07 David Reitter <david.reitter@gmail.com>
2465
2466 * nsterm.m (note_mouse_movement, ns_frame_up_to_date):
2467 Mouse movement/highlight: bracket drawing operations
2468 in ns_update_begin and ns_update_end.
2469
2470 2009-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
2471
2472 * nsfns.m (ns_get_screen): Rewrite.
2473 Don't presume selected-frame is of type `ns'.
2474
2475 * font.c (font_update_drivers): Sanity fallback to avoid disabling
2476 all drivers.
2477
2478 * nsterm.m (-windowDidResize:): Avoid inf-loop under GNUStep.
2479
2480 2009-05-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2481
2482 * keyboard.h (add_user_signal): Fix typo in extern.
2483
2484 * lisp.h (add_user_signal): Remove extern.
2485
2486 * unexelf.c (unexec): Consider a section to precede the .bss section
2487 if its addresses overlap that of .bss.
2488 (unexec) [NS_IMPL_GNUSTEP]: Copy ObjC-related data from old file
2489 instead of dumping process.
2490
2491 2009-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
2492
2493 * keyboard.c (syms_of_keyboard): Staticpro pending_funcalls.
2494
2495 2009-05-04 Stefan Monnier <monnier@iro.umontreal.ca>
2496
2497 * Makefile.in (ctagsfiles1, ctagsfiles2): Include ObjC files in TAGS.
2498
2499 2009-05-02 Dan Nicolaescu <dann@ics.uci.edu>
2500
2501 * xterm.c (x_handle_net_wm_state): Move declaration of lval before
2502 any statements.
2503
2504 2009-05-02 Andreas Schwab <schwab@linux-m68k.org>
2505
2506 * process.c (read_process_output): Make sure the current buffer is
2507 always restored.
2508
2509 * coding.c (record_conversion_result): Don't modify
2510 Vlast_code_conversion_error for successful result.
2511 (alloc_destination): Don't clobber conversion result. (Bug#1650)
2512
2513 2009-05-01 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
2514
2515 * charset.c (load_charset): Reformat X==Y==Z to (X==Y)==Z.
2516 (load_charset_map): Remove unnecessary code.
2517
2518 2009-04-30 David Reitter <david.reitter@gmail.com>
2519
2520 * nsterm.m (convert_ns_to_X_keysym): Define function keys f16
2521 through f24.
2522
2523 2009-04-30 Chong Yidong <cyd@stupidchicken.com>
2524
2525 * xfaces.c (face_at_buffer_position): New arg base_face_id.
2526
2527 * xdisp.c (handle_face_prop): Pass base_face_id of iterator to
2528 face_at_buffer_position.
2529 (face_before_or_after_it_pos, get_next_display_element)
2530 (note_mouse_highlight): Update face_at_buffer_position call.
2531
2532 * term.c (term_mouse_highlight):
2533 * msdos.c (IT_note_mouse_highlight):
2534 * fontset.c (Finternal_char_font):
2535 * font.c (font_at, font_range): Update face_at_buffer_position call.
2536
2537 * dispextern.h (face_at_buffer_position): Update prototype.
2538
2539 2009-04-30 Kenichi Handa <handa@m17n.org>
2540
2541 * fontset.c (fontset_find_font): Check if rfont_def is Qnil or not.
2542
2543 2009-04-29 Andreas Schwab <schwab@linux-m68k.org>
2544
2545 * callproc.c (Fcall_process): Fix GC protection. Make sure
2546 current buffer is always restored.
2547
2548 2009-04-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2549
2550 * atimer.c (init_atimer): Also clear stopped_atimers.
2551
2552 * keyboard.c (init_keyboard) [POLL_FOR_INPUT]: Reset poll_timer.
2553
2554 * process.c (create_process): Clean up merger residues of
2555 2008-07-17 change.
2556
2557 2009-04-29 Ulrich Mueller <ulm@gentoo.org>
2558
2559 * lread.c (Vread_circle): New variable.
2560 (read1): Disable recursive read if Vread_circle is nil.
2561
2562 2009-04-29 Kenichi Handa <handa@m17n.org>
2563
2564 * fontset.h (set_default_ascii_font): Delete extern.
2565
2566 * fontset.c (set_default_ascii_font): Delete this unused function.
2567
2568 * frame.c (x_set_font): When ARG is a font-object, check if the
2569 font-object matches with the ASCII font-spec of the frame's
2570 fontset. If not, create a new fontset for the frame. (Bug #3075)
2571
2572 2009-04-28 Andreas Schwab <schwab@linux-m68k.org>
2573
2574 * fns.c (Flocale_info): Protect vector from GC during decoding.
2575
2576 * process.c (Fstart_process): Protect argv strings from GC during
2577 encoding.
2578
2579 2009-04-27 Andreas Schwab <schwab@linux-m68k.org>
2580
2581 * sysdep.c: Include <ctype.h>.
2582
2583 2009-04-27 David Reitter <david.reitter@gmail.com>
2584
2585 * nsfont.m (nsfont_open): Remove unused variable shrink.
2586 Remove commented-out code.
2587
2588 2009-04-26 Johan Bockgård <bojohan@gnu.org>
2589
2590 * keyboard.c (syms_of_keyboard) <input-decode-map>: Doc fix.
2591
2592 2009-04-25 Jason Rumney <jasonr@gnu.org>
2593
2594 * w32font.c (clear_cached_metrics): Remove, unused since 2008-08-02.
2595
2596 2009-04-25 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2597
2598 * fringe.c (init_fringe_bitmap) [HAVE_X_WINDOWS && WORDS_BIG_ENDIAN]:
2599 Swap bytes in short integer if fringe bitmap width > 8.
2600
2601 2009-04-23 Kenichi Handa <handa@m17n.org>
2602
2603 * xfaces.c (Fx_list_fonts): If a font size is specified in
2604 PATTERN, set it in returned scalable fonts.
2605
2606 2009-04-22 Chong Yidong <cyd@stupidchicken.com>
2607
2608 * keyboard.c (Fset_input_meta_mode): Doc fix.
2609
2610 * dispnew.c (Fsend_string_to_terminal): Doc fix.
2611
2612 * data.c (Fterminal_local_value, Fset_terminal_local_value): Doc fixes.
2613
2614 * coding.c (Fterminal_coding_system): Doc fix.
2615
2616 * xfns.c (Fx_display_grayscale_p, Fx_display_pixel_width)
2617 (Fx_display_pixel_height, Fx_display_planes)
2618 (Fx_display_color_cells, Fx_server_max_request_size)
2619 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
2620 (Fx_display_mm_height, Fx_display_mm_width)
2621 (Fx_display_backing_store, Fx_display_visual_class)
2622 (Fx_display_save_under, Fx_close_connection, Fx_synchronize):
2623 Doc fixes, replacing "terminal id" with "terminal object".
2624 (check_x_display_info): Handle terminal objects instead of
2625 terminal ids.
2626
2627 * term.c (Ftty_display_color_p, Ftty_display_color_cells)
2628 (Ftty_type, Fcontrolling_tty_p, Ftty_no_underline, Fsuspend_tty)
2629 (Fresume_tty, Vsuspend_tty_functions, Vresume_tty_functions):
2630 Doc fixes, replacing "terminal id" with "terminal object".
2631
2632 2009-04-21 Kenichi Handa <handa@m17n.org>
2633
2634 * font.c (font_load_for_lface): Cancel previous change (bug#2994).
2635 (font_score): Check AVGWIDTH too.
2636
2637 * coding.c (decode_coding_utf_16): Reduce charbuf_end for the
2638 worst case.
2639 (decode_coding_sjis, decode_coding_big5, decode_coding_charset)
2640 (decode_coding_emacs_mule, decode_coding_iso_2022): Likewise.
2641
2642 2009-04-19 Jason Rumney <jasonr@gnu.org>
2643
2644 The following changes fix Bug#3005 for wide glyphs on each platform,
2645 without reintroducing Bug#1258 for stretch glyphs.
2646
2647 * xterm.c (x_draw_bar_cursor): Limit cursor width differently for
2648 BAR_CURSOR and HBAR_CURSOR. Calculate width of HBAR_CURSOR using
2649 get_phys_cursor_geometry.
2650
2651 * w32term.c (x_draw_bar_cursor): Limit cursor width differently
2652 for BAR_CURSOR and HBAR_CURSOR. Calculate width of HBAR_CURSOR
2653 using get_phys_cursor_geometry.
2654
2655 * nsterm.m (ns_draw_window_cursor): HBAR_CURSOR width already
2656 correctly calculated.
2657
2658 2009-04-19 Jan Djärv <jan.h.d@swipnet.se>
2659
2660 * gtkutil.c (xg_tool_bar_menu_proxy, update_frame_tool_bar):
2661 Use G_CALLBACK instead of GTK_SIGNAL_FUNC which is deprecated.
2662 (xg_initialize): Use g_type_class_ref instead of gtk_type_class which
2663 is deprecated.
2664
2665 2009-04-18 Andreas Schwab <schwab@linux-m68k.org>
2666
2667 * font.c (font_put_frame_data): Use xfree instead of free.
2668
2669 2009-04-17 Juanma Barranquero <lekktu@gmail.com>
2670
2671 * w32font.c (Qja, Qko): Remove declarations.
2672 (syms_of_w32font): Don't DEFSYM them.
2673
2674 2009-04-17 Chong Yidong <cyd@stupidchicken.com>
2675
2676 * font.c (Qja, Qko): Move definitions here from ftfont.c.
2677
2678 * font.h (Qja, Qko): Extern them.
2679
2680 * ftfont.c (Qja, Qko): Remove declarations.
2681
2682 * xfont.c (Qja, Qko): Remove declarations.
2683
2684 2009-04-17 Kenichi Handa <handa@m17n.org>
2685
2686 * editfns.c (Ftranslate_region_internal): Use Fconcat to make a
2687 string from a vector to handle Latin-1 characters correctly.
2688
2689 * ftfont.c (ftfont_pattern_entity): Return a newly allocated
2690 entity even if the cache hits.
2691
2692 2009-04-16 Andreas Schwab <schwab@linux-m68k.org>
2693
2694 * search.c (boyer_moore): Use zero as marker value for a possible
2695 match instead of depending on overflow behavior. (Bug#2844)
2696
2697 * search.c: Use EMACS_INT for buffer positions. Add prototypes.
2698 * lisp.h: Adjust prototypes.
2699
2700 2009-04-16 Chong Yidong <cyd@stupidchicken.com>
2701
2702 * keyboard.c (adjust_point_for_property): Disable 2009-02-12
2703 change (Bug#3003).
2704
2705 2009-04-16 Kenichi Handa <handa@m17n.org>
2706
2707 * xfont.c (xfont_has_char): Special handling of `ja' and `ko' adstyle.
2708
2709 * xftfont.c (xftfont_has_char): Special handling of `ja' and `ko'
2710 adstyle.
2711
2712 * ftfont.c (Qja, Qko): Don't make them static.
2713 (enum ftfont_cache_for): New enum.
2714 (fc_charset_table): Undo the previous change.
2715 (ftfont_get_latin1_charset): Delete it.
2716 (ftfont_pattern_entity): Check cache by ftfont_lookup_cache.
2717 Set FONT_SIZE_INDEX of the entity to 0 for a scalable font. For a
2718 non-scarable font, try to get AVERAGE_WIDTH.
2719 (ftfont_lookup_cache): Argument FOR-FACE is changed to CACHE_FOR.
2720 Change ft_face_cache from a list of a hash-table. Don't check
2721 `ja' and `ko' adstyle here.
2722 (ftfont_get_fc_charset): Call ftfont_lookup_cache with
2723 FTFONT_CACHE_FOR_CHARET.
2724 (ftfont_get_charset): Undo the previous change.
2725 (ftfont_open): Call ftfont_lookup_cache with FTFONT_CACHE_FOR_FACE.
2726 (ftfont_close): Likewise.
2727 (ftfont_has_char): Special handling of `ja' and `ko' adstyle.
2728
2729 * font.c (font_sort_entites): Change the meaning of the arg
2730 BEST-ONLY. Don't optimize for VEC of lenght 1.
2731 (font_select_entity): Just return the value of font_sort_entites.
2732
2733 * xfaces.c (merge_face_vectors): Reflect font properties in
2734 to[LFACE_FONT_INDEX] to the other face attributes. Don't call
2735 font_clear_prop if a face attribute doesn't change.
2736
2737 * charset.h (charset_ksc5601): Extern it.
2738
2739 * charset.c (charset_ksc5601): New variable.
2740 (Fdefine_charset_internal): Set charset_ksc5601.
2741 (init_charset_once): Initialize charset_ksc5601 to -1.
2742
2743 2009-04-15 Dan Nicolaescu <dann@ics.uci.edu>
2744
2745 * fileio.c (history_delete_duplicates): Remove unused declaration.
2746
2747 * callint.c (history_delete_duplicates): New declaration.
2748 (Fcall_interactively): Remove command history duplicates when
2749 history_delete_duplicates is true.
2750
2751 2009-04-14 Eli Zaretskii <eliz@gnu.org>
2752
2753 * buffer.c (syms_of_buffer) <line-spacing>: Doc fix.
2754
2755 2009-04-14 Kenichi Handa <handa@m17n.org>
2756
2757 * font.c (Ffont_info): Fix docstring. Fix the second element of
2758 the returned value (bug#2949).
2759
2760 2009-04-14 Chong Yidong <cyd@stupidchicken.com>
2761
2762 * xdisp.c (Vwrap_prefix, Vline_prefix): Reflow docstrings.
2763
2764 2009-04-14 Kenichi Handa <handa@m17n.org>
2765
2766 * xfont.c (xfont_has_char): The font has C if C is ASCII and the
2767 encoding charset is ascii_compatible.
2768
2769 * charset.c (Fdefine_charset_internal): Make charset
2770 ascii-compatible if the method is CHARSET_METHOD_OFFSET, the
2771 code_offset is 0, and covers all ASCII characters.
2772
2773 2009-04-13 Stefan Monnier <monnier@iro.umontreal.ca>
2774
2775 * nsselect.m (symbol_to_nsstring, clean_local_selection_data)
2776 (ns_string_to_pasteboard_internal):
2777 * nsmenu.m (process_dialog):
2778 * nsimage.m (ns_load_image): Use SDATA and ASET where appropriate.
2779 * nsfont.m (nsfont_open): Use XHASH to make it compile with LISP_UNION.
2780 * lisp.h (Fx_load_color_file): Declare.
2781
2782 2009-04-13 Kenichi Handa <handa@m17n.org>
2783
2784 * font.c (font_delete_unmatched): Preserve the order of list elements.
2785 (font_select_entity): Suppress the code to optimize for the same
2786 kind of fonts.
2787 (font_load_for_lface): Get a font that supports at least ASCII
2788 characters.
2789
2790 * ftfont.c (Qja, Qko): New variables.
2791 (fc_charset_table): Delete uniquifier data for iso8859-1.
2792 (ftfont_get_latin1_charset): New function.
2793 (get_adstyle_property): New function.
2794 (ftfont_pattern_entity): Set FONT_ADSTYLE_INDEX of entity for
2795 bitmap fonts.
2796 (ftfont_lookup_cache): Handle the case that KEY is a font-entity.
2797 Delete iso-8859-1 range from the charset of fonts whose adstyle is
2798 `ko' or `ja'.
2799 (ftfont_get_fc_charset): Call ftfont_lookup_cache with ENTITY.
2800 (ftfont_get_charset): For iso8859-1, call ftfont_get_latin1_charset.
2801 (ftfont_list): Don't refuse a font spec with non-nil `adstyle'
2802 property.
2803 (ftfont_open): Call ftfont_lookup_cache with ENTITY.
2804 (syms_of_ftfont): DEFSYM Qja and Qko.
2805
2806 2009-04-09 Kenichi Handa <handa@m17n.org>
2807
2808 * charset.c (map_charset_chars): For a charset of `superset'
2809 method, fix calculation of code range.
2810
2811 * font.c (font_put_extra): If VAL is nil, delete the slot for PROP
2812 from the list of extra properties.
2813 (font_clear_prop): Be sure to delete `:name' font property.
2814
2815 2009-04-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2816
2817 * dispnew.c (redraw_overlapping_rows): Fix detection of
2818 overlapping for topmost and bottommost rows.
2819
2820 * ftfont.c (ftfont_text_extents): Fix calculation of metrics->descent.
2821
2822 2009-04-06 Jason Rumney <jasonr@gnu.org>
2823
2824 * frame.c (x_set_font): Avoid C99 mid-block variable declaration.
2825
2826 2009-04-06 Kenichi Handa <handa@m17n.org>
2827
2828 * ftxfont.c (ftxfont_draw_backgrond): Fix args to XFillRectangle.
2829
2830 * xftfont.c (xftfont_open): Fix setting font->underline_thickness.
2831
2832 2009-04-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2833
2834 * ftfont.c (ftfont_open): Fix checking of the return value of
2835 FT_Load_Char. Fix setting font->underline_thickness.
2836
2837 2009-04-04 Chong Yidong <cyd@stupidchicken.com>
2838
2839 * terminal.c (Fterminal_name, Fdelete_terminal, Fterminal_name)
2840 (Fterminal_parameters, Fterminal_parameter)
2841 (Fset_terminal_parameter): In doc string, refer to terminal
2842 objects rather than terminal ids.
2843
2844 2009-04-04 Eli Zaretskii <eliz@gnu.org>
2845
2846 * dosfns.c (system_process_attributes) [SYSTEM_MALLOC]: Don't call
2847 ret_lim_data. (Bug#2867)
2848
2849 2009-04-03 Chong Yidong <cyd@stupidchicken.com>
2850
2851 * term.c (produce_stretch_glyph): Reduce width of stretch glyphs
2852 so they don't get wider than the window, matching 2006-01-23
2853 change to the partner function in xdisp.c (Bug#2800).
2854
2855 2009-04-03 Kenichi Handa <handa@m17n.org>
2856
2857 * print.c (print_object): Make each lowest sub_char_table start a
2858 new line (Bug#2866).
2859
2860 2009-04-02 Kenichi Handa <handa@m17n.org>
2861
2862 * fontset.c (fontset_font): Record no-font when a fontset
2863 explicitly tells not to try another font-specs.
2864
2865 2009-03-30 Pierre Poissinger <pierre.poissinger@gmail.com> (tiny change)
2866
2867 * charset.c (map_charset_for_dump): Add missing UNGCPRO.
2868
2869 2009-03-30 Kenichi Handa <handa@m17n.org>
2870
2871 * fontset.c (fontset_from_font): Specify only registry in a
2872 font-spec for all characters supported by that registry.
2873
2874 * ftfont.c: Fix previous change. Define ftfont_variation_glyphs
2875 even if HAVE_M17N_FLT is not defined.
2876
2877 2009-03-29 Sebastian Rose <sebastian_rose@gmx.de> (tiny change)
2878
2879 * ftfont.c: Conditionalize prototyping and use of
2880 ftfont_variation_glyphs.
2881
2882 2009-03-28 Stefan Monnier <monnier@iro.umontreal.ca>
2883
2884 * frame.c (delete_frame): Work around compiler bug.
2885
2886 * editfns.c (general_insert_function): Adjust to insdel.c changes.
2887 * insdel.c (prepare_to_modify_buffer, signal_before_change):
2888 Some more EMACS_INT.
2889 * lisp.h (copy_text, count_size_as_multibyte): Fix last change.
2890
2891 * xdisp.c (dump_glyph): Fix typo.
2892
2893 * insdel.c (move_gap, move_gap_both, gap_left, gap_right)
2894 (adjust_markers_gap_motion, adjust_markers_for_delete)
2895 (adjust_markers_for_insert, adjust_point)
2896 (adjust_markers_for_replace, make_gap_larger, make_gap_smaller)
2897 (make_gap, copy_text, count_size_as_multibyte, insert)
2898 (insert_and_inherit, insert_before_markers)
2899 (insert_before_markers_and_inherit, insert_1)
2900 (count_combining_before, count_combining_after, insert_1_both)
2901 (insert_from_string, insert_from_string_before_markers)
2902 (insert_from_string_1, insert_from_gap, insert_from_buffer)
2903 (insert_from_buffer_1, adjust_after_replace)
2904 (adjust_after_replace_noundo, adjust_after_insert, replace_range)
2905 (replace_range_2, del_range, del_range_1, del_range_byte)
2906 (del_range_both, del_range_2, modify_region)
2907 (prepare_to_modify_buffer, signal_before_change)
2908 (signal_after_change, Fcombine_after_change_execute): Use EMACS_INT
2909 for buffer positions and sizes.
2910 * lisp.h: Adjust prototypes accordingly.
2911
2912 * fileio.c (adjust_markers_for_delete): Move declaration to lisp.h.
2913 (non_regular_inserted, non_regular_nbytes, read_non_regular)
2914 (Finsert_file_contents): Use EMACS_INT for buffer positions.
2915
2916 * fileio.c (Finsert_file_contents): Don't limit size to INT_MAX/4.
2917
2918 2009-03-27 Jan Djärv <jan.h.d@swipnet.se>
2919
2920 * frame.c (x_set_font): If the fullscreen property is non-nil, adjust
2921 lines and columns so we keep the same pixel height and width.
2922
2923 * xterm.c (handle_one_xevent): Call x_handle_net_wm_state if
2924 the property _NET_WM_STATE has changed.
2925 (x_handle_net_wm_state): New function to update frame parameter
2926 fullscreen.
2927 (x_term_init): Initialize atoms for _NET_WM_STATE.
2928
2929 * xterm.h (struct x_display_info): Add atoms for _NET_WM_STATE.
2930
2931 2009-03-27 Kevin Ryde <user42@zip.com.au>
2932
2933 * keyboard.c (tty_read_avail_input): Don't treat a -1 return from
2934 Gpm_GetEvent as an error that justifies closing the filedescriptor.
2935 * term.c (close_gpm): Get the filedescriptor as a (new) parameter.
2936 (Fgpm_mouse_stop): Pass that new parameter.
2937 * termhooks.h (close_gpm): Adjust prototype.
2938
2939 2009-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
2940
2941 * lisp.h (Fx_focus_frame): Declare.
2942
2943 * callint.c (Fcall_interactively): For '^' just delegate the work to
2944 handle-shift-selection.
2945 (syms_of_callint): Move declaration of shift-select-mode to simple.el.
2946
2947 2009-03-24 Chong Yidong <cyd@stupidchicken.com>
2948
2949 * editfns.c (Ffloat_time): Doc fix (Bug#2768).
2950
2951 * data.c (Qinteractive_form): New variable.
2952 (Finteractive_form): Use it.
2953
2954 * eval.c (Fcommandp): Use Qinteractive_form.
2955
2956 2009-03-24 Jason Rumney <jasonr@gnu.org>
2957
2958 * fileio.c (Fsubstitute_in_file_name): Always work on a copy.
2959 Calculate total size precisely. Decode environment variables
2960 before substituting. (Bug#38)
2961
2962 2009-03-24 Kenichi Handa <handa@m17n.org>
2963
2964 * font.c (find_font_encoding): Return Qnil for unsupported
2965 encoding (Bug#2722).
2966
2967 2009-03-23 Jan Djärv <jan.h.d@swipnet.se>
2968
2969 * gtkutil.c (xg_display_open): Assign a value to gdpy_def, check
2970 that gdpy is set.
2971
2972 2009-03-22 Alan Mackenzie <acm@muc.de>
2973
2974 * callint.c (Finteractive): Clarify the doc string - even
2975 promptless elements need \n separators.
2976
2977 2009-03-22 Jason Rumney <jasonr@gnu.org>
2978
2979 * w32term.c (syms_of_w32term): Doc fix for
2980 x-use-underline-position-properties.
2981
2982 2009-03-21 Eli Zaretskii <eliz@gnu.org>
2983
2984 * w32.c (getpwuid): Change argument type to unsigned.
2985 (struct w32_id): Change type of `rid' member to unsigned.
2986 (w32_cached_id, w32_add_to_cache, get_name_and_id): Change type of
2987 argument ID to unsigned. All callers changed.
2988 (getuid, geteuid, getgid, getegid): Change return type to unsigned.
2989
2990 2009-03-20 Eli Zaretskii <eliz@gnu.org>
2991
2992 * editfns.c (Fuser_uid, Fuser_real_uid): If UID as EMACS_INT is
2993 negative, produce a float value.
2994
2995 * dired.c (make_uid, make_gid): New functions.
2996 (Ffile_attributes): Use them to avoid negative UID and GID.
2997
2998 2009-03-20 Juanma Barranquero <lekktu@gmail.com>
2999
3000 * keyboard.c (Fcurrent_idle_time): Reflow docstring.
3001 (syms_of_keyboard) <command-hook-internal, input-method-function>:
3002 Fix typos in docstrings.
3003
3004 2009-03-19 Kenichi Handa <handa@m17n.org>
3005
3006 * fontset.c (Fset_fontset_font): When a spec of ASCII font is
3007 changed, use font_load_for_lface to get a new font object.
3008 Call free_realized_fontset after handling ASCII font change.
3009
3010 * frame.c (x_set_font): Handle the case that ARG is a cons.
3011
3012 2009-03-19 Glenn Morris <rgm@gnu.org>
3013
3014 * fileio.c (Fsubstitute_in_file_name): Doc fix.
3015
3016 2009-03-19 Chong Yidong <cyd@stupidchicken.com>
3017
3018 * indent.c (Fvertical_motion): Undo 2005-01-19 change (Bug#2694).
3019
3020 2009-03-19 Kenichi Handa <handa@m17n.org>
3021
3022 * charset.c (load_charset_map_from_file): When a mapfile can't be
3023 loaded, signal an error.
3024
3025 2009-03-18 Eli Zaretskii <eliz@gnu.org>
3026
3027 * dired.c (Ffile_attributes): Make sure UID and GID are always
3028 positive, even if the value is too large for a positive EMACS_INT.
3029 Doc fix.
3030
3031 * editfns.c (Fuser_login_name): Support float arguments. Doc fix.
3032
3033 2009-03-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3034
3035 * xmenu.c (xdialog_show): Move Fredisplay call ...
3036 (Fx_popup_dialog): ... here.
3037
3038 2009-03-18 Stefan Monnier <monnier@iro.umontreal.ca>
3039
3040 * dired.c (file_name_completion): Disable the first optimization just
3041 installed, since it is not implemented correctly.
3042
3043 2009-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
3044
3045 * dired.c (file_name_completion): Check completion-ignored-extensions
3046 only if the entry can affect bestmatch.
3047 Stop the search early, as Ftry_completion already does.
3048
3049 2009-03-17 Chong Yidong <cyd@stupidchicken.com>
3050
3051 * minibuf.c (Vminibuffer_completion_confirm): Doc fix.
3052
3053 2009-03-15 Chong Yidong <cyd@stupidchicken.com>
3054
3055 * keyboard.c (parse_menu_item): Don't display remappings as menu
3056 equivalent bindings (Bug#788).
3057
3058 2009-03-15 Jason Rumney <jasonr@gnu.org>
3059
3060 * w32term.h (WM_EMACS_PAINT): New message.
3061 * w32term.c (w32_read_socket): Use it instead of WM_PAINT.
3062 * w32fns.c (w32_wnd_proc): Change WM_PAINT to WM_EMACS_PAINT
3063 before passing to lisp thread. (Bug#950)
3064
3065 2009-03-14 David Reitter <david.reitter@gmail.com>
3066
3067 * nsterm.m (ns_shutdown_properly, -terminate): Remove global state
3068 variable as it was never reset.
3069 (ns_term_init): Remove initialization of Lisp-settable defaults
3070 and ns_expand_space.
3071 (-setPanelFromDefaultValues): Remove ns_expand_space.
3072 (-showPreferencesWindow): Send new KEY_NS_SHOW_PREFS key.
3073 * nsfont.m (nsfont_open): Remove ns_expand_space, assume -0.5
3074 i.e. no additional spacing, similar to Carbon port.
3075
3076 * nsterm.h: Define KEY_NS_SHOW_PREFS key.
3077 * nsfns.m (ns-popup-prefs-panel): Remove.
3078
3079 2009-03-14 Jan Djärv <jan.h.d@swipnet.se>
3080
3081 * sound.c (alsa_configure): Remove call to deprecated
3082 snd_pcm_sw_params_set_xfer_align.
3083
3084 2009-03-14 Stephen Berman <stephen.berman@gmx.net>
3085
3086 * gtkutil.c (xg_tool_bar_callback): Set focus back to the frame
3087 after clicking in a detached tool bar.
3088 (xg_tool_bar_proxy_callback): Remove call to Fx_focus_frame.
3089
3090 2009-03-13 Stefan Monnier <monnier@iro.umontreal.ca>
3091
3092 * fontset.c (fontset_from_font, Ffontset_info): YAILOM (Yet another
3093 int/Lisp_Object mixup).
3094
3095 2009-03-13 Kenichi Handa <handa@m17n.org>
3096
3097 * fontset.c (Ffontset_info, check_fontset_name): New arg frame.
3098 Handle NAME nil and t correctly. Callers changed.
3099 (font_def_arg, add_arg, from_arg, to_arg): Delete them.
3100 (set_fontset_font): Change ARG to a vector. Handle range_list in
3101 ARG correctly.
3102 (Fset_fontset_font): Fix the case that TARGET is both a script
3103 name and charset name. Adjust the arg to set_fontset_font for
3104 the above change.
3105 (fontset_from_font): Fix previous change.
3106 (Ffontset_info): Adjust for the 2008-07-09 change of fontset
3107 entry. If FONTSET is the default fontset, don't set the extra
3108 slot of the returning char-table.
3109
3110 2009-03-12 Juanma Barranquero <lekktu@gmail.com>
3111
3112 * nsfns.m (Fx_close_connection): Doc fix.
3113 (Fns_do_applescript): Reflow docstring.
3114 (Fns_hide_others, Fns_hide_emacs, Fns_convert_utf8_nfd_to_nfc)
3115 (Fx_display_pixel_width, Fx_display_pixel_height)
3116 (Fns_display_usable_bounds, Fx_display_planes, Fx_show_tip):
3117 Fix typos in docstrings.
3118 (Fns_set_alpha): Fix typos in error messages.
3119
3120 2009-03-12 David Reitter <david.reitter@gmail.com>
3121
3122 * termhooks.h [HAVE_NS]: Define NS_NONKEY_EVENT to be used for
3123 non-key system events on NS. Formerly, NON_ASCII_KEYSTROKE_EVENT
3124 were used for such events.
3125
3126 * nsterm.m (newFrame, openFile, fulfillService, changeFont)
3127 (toggleToolbar, performDragOperation, runHelp): Use it.
3128
3129 * keyboard.c (parse_menu_item) [HAVE_NS]: Treat new event like
3130 NON_ASCII_KEYSTROKE_EVENT, but set used_mouse_menu.
3131
3132 2009-03-11 Kenichi Handa <handa@m17n.org>
3133
3134 * font.h (font_open_by_spec): Extern it.
3135
3136 * font.c (font_open_by_spec): New function.
3137 (font_open_by_name): Use font_open_by_spec.
3138
3139 * frame.c (x_set_font): When ARG is a font-object, don't alter the
3140 fontset of the frame.
3141
3142 * fontset.c (Fset_fontset_font): When a font for ASCII is changed,
3143 modify the default font of frames that use this fontset.
3144 (num_auto_fontsets): New variable.
3145 (fontset_from_font): Use num_auto_fontsets to decide a fontset
3146 name. Be sure to set FONTSET_ASCII to the correct font name.
3147 (update_auto_fontset_alist): New function.
3148
3149 2009-03-11 Juanma Barranquero <lekktu@gmail.com>
3150
3151 * makefile.w32-in: Update dependencies.
3152
3153 2009-03-06 Adrian Robert <Adrian.B.Robert@gmail.com>
3154
3155 * nsfns.m (syms_of_nsfns): Remove Qbuffered.
3156
3157 2009-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
3158
3159 * buffer.c (Fswitch_to_buffer): Revert part of 2008-10-21's change.
3160
3161 2009-03-10 Chong Yidong <cyd@stupidchicken.com>
3162
3163 * lread.c (Feval_buffer): Doc fix.
3164
3165 2009-03-09 Kenichi Handa <handa@m17n.org>
3166
3167 * charset.c (Qfile_name_handler_alist): Extern it.
3168 (load_charset_map_from_file): Temporarily bind
3169 `file-name-handler-alist' to nil while calling openp. (Bug#2435)
3170
3171 2009-03-06 Aaron Ecay <aaronecay@gmail.com> (tiny change)
3172
3173 * nsterm.m (ns_draw_vertical_window_border): Draw 1 pixel wide,
3174 not two, and use NSRectFill instead of NSDrawGroove. (Bug#2352)
3175
3176 2009-03-06 Adrian Robert <Adrian.B.Robert@gmail.com>
3177
3178 * nsterm.m: Include <signal.h> for SIGTERM used in ns_term_shutdown.
3179 (x_set_window_size): Change back to calculated method of setting
3180 toolbar height under Cocoa. (Bug#2546)
3181 (EmacsView-windowWillUseStandardFrame:defaultFrame:): New method.
3182 (EmacsView-drawRect:): Completely shortcircuit if ns_in_resize.
3183
3184 * nsfns.m (ns_appkit_version_int): Fix typo in the version macro.
3185
3186 * nsmenu.m (EmacsMenu-addItemWithWidgetValue:): Don't add
3187 accelerator in parens under GNUstep.
3188
3189 2009-03-06 Kenichi Handa <handa@m17n.org>
3190
3191 These changes are to detect incorrect composition sequence without
3192 looking ahead the source. (Bug#2370)
3193
3194 * coding.h: Include "composite.h".
3195 (enum compisition_state): New enum.
3196 (struct compisition_status): New struct.
3197 (struct iso_2022_spec): New member cmp_status.
3198 (struct emacs_mule_spec): New struct.
3199 (struct coding_system): New members ctext_extended_segment_len and
3200 embedded_utf_8. Change the union member
3201 spec.emacs_mule_full_support to spec.emacs_mule.
3202
3203 * coding.c (CODING_ISO_CMP_STATUS): New macro.
3204 (CODING_ISO_EXTSEGMENT_LEN, CODING_ISO_EMBEDDED_UTF_8): New macros.
3205 (MAX_ANNOTATION_LENGTH): Define to 5.
3206 (ADD_COMPOSITION_DATA): New arg nbytes.
3207 (emacs_mule_char): New arg cmp_status.
3208 (DECODE_EMACS_MULE_COMPOSITION_CHAR): Delete it.
3209 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): New arg c.
3210 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New arg c.
3211 (DECODE_EMACS_MULE_21_COMPOSITION): Delete the arg c.
3212 (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Likewise.
3213 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Likewise.
3214 (DECODE_EMACS_MULE_COMPOSITION_START): New macro.
3215 (EMACS_MULE_COMPOSITION_END): New macro.
3216 (emacs_mule_finish_composition): New function.
3217 (EMACS_MULE_MAYBE_FINISH_COMPOSITION): New macro.
3218 (decode_coding_emacs_mule): Avoid long looking ahead while
3219 handling composition.
3220 (DECODE_COMPOSITION_RULE): Argument changed to rule and nbytes.
3221 (ENCODE_COMPOSITION_RULE): New macro.
3222 (finish_composition): New function.
3223 (MAYBE_FINISH_COMPOSITION): Call finish_composition.
3224 (DECODE_COMPOSITION_START): New implementation.
3225 (DECODE_COMPOSITION_END): Likewise.
3226 (STORE_COMPOSITION_RULE): New macro.
3227 (decode_coding_iso_2022): Avoid long looking ahead while handling
3228 composition, CTEXT extended segment, and embedded UTF-8.
3229 (setup_coding_system): For a coding of type iso-2022, reset
3230 CODING_ISO_EXTSEGMENT_LEN (coding) and
3231 CODING_ISO_EMBEDDED_UTF_8 (coding).
3232 (get_translation): Delete arguments last_block, from_nchars,
3233 to_nchars. Callers changed.
3234 (produce_chars): Don't modify charbuf. Adjusted for the change of
3235 get_translation.
3236 (produce_composition): Adjust for the new annotation sequence.
3237 (handle_composition_annotation): Likewise.
3238 (consume_chars): Adjust for the change of get_translation.
3239
3240 2009-03-05 Adrian Robert <Adrian.B.Robert@gmail.com>
3241
3242 * nsterm.m (ns_select): Shortcircuit if reentrant call. (Bug#2564)
3243
3244 2009-03-05 Kenichi Handa <handa@m17n.org>
3245
3246 * font.c (font_select_entity): New function.
3247 (font_find_for_lface): Use font_select_entity to select a font.
3248
3249 * fontset.c (fontset_find_font): If a font found without
3250 restricting to the characters C doesn't support C, try to find a
3251 font with C restriction.
3252
3253 2009-03-04 Nikolaj Schumacher <me@nschum.de>
3254
3255 * nsfont.m (nsfont_draw): Compare ns_antialias_text against lisp value.
3256
3257 2009-03-04 Jason Rumney <jasonr@gnu.org>
3258
3259 * w32fns.c (w32_wnd_proc): Only ignore IME messages for the
3260 characters that have already been read. (Bug#2569)
3261
3262 * image.c (xbm_read_bitmap_data, png_load, svg_load_image):
3263 Log an error message if check_image_size failed.
3264 (xpm_load_image, pbm_load, jpeg_load, tiff_load, gif_load)
3265 (gs_load): Mention max-image-size in size error message. (Bug#2560)
3266
3267 2009-03-02 Eli Zaretskii <eliz@gnu.org>
3268
3269 * callproc.c (Fcall_process): Bind inhibit-modification-hooks to t
3270 when decoding process output.
3271
3272 2009-03-01 Richard M Stallman <rms@gnu.org>
3273
3274 * m/mips.h (DATA_SEG_BITS, XUINT, XSET): Definitions disabled.
3275
3276 * emacs.c (gdb_data_seg_bits) [USE_LSB_TAG]: Make it 0.
3277
3278 2009-02-28 Eli Zaretskii <eliz@gnu.org>
3279
3280 * coding.c (decode_coding_utf_8, decode_coding_utf_16)
3281 (decode_coding_emacs_mule, decode_coding_iso_2022)
3282 (encode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
3283 (decode_coding_raw_text, decode_coding_charset)
3284 (setup_coding_system, decode_eol, decode_coding, consume_chars):
3285 Honor inhibit-eol-conversion. (Bug #2186)
3286
3287 2009-02-28 Jason Rumney <jasonr@gnu.org>
3288
3289 * coding.c (detect_coding_charset): If not checking latin extra,
3290 fail on characters between 0x80 and 0xA0. (Bug#2354)
3291
3292 2009-02-28 Eli Zaretskii <eliz@gnu.org>
3293
3294 * coding.c (detect_coding_charset): Fix change from 2008-10-21.
3295 Also, check iso-latin-*, not only iso-8859-*. (Bug#2497)
3296
3297 2009-02-27 Glenn Morris <rgm@gnu.org>
3298
3299 * callint.c (Finteractive): Doc fix.
3300
3301 2009-02-27 Kenichi Handa <handa@m17n.org>
3302
3303 * lread.c (read_escape): Signal an error for invalid \UXXXXXXXX.
3304
3305 2009-02-27 Chong Yidong <cyd@stupidchicken.com>
3306
3307 * font.c (font_style_to_value): Set value for unknown symbols to
3308 100 instead of 255.
3309 (weight_table, slant_table, width_table): Treat "unspecified" as
3310 the default value.
3311
3312 2009-02-26 Juanma Barranquero <lekktu@gmail.com>
3313
3314 * fileio.c (Fnext_read_file_uses_dialog_p): Fix typo in docstring.
3315
3316 2009-02-25 Juanma Barranquero <lekktu@gmail.com>
3317
3318 * lread.c (Fload): Stop checking Vloads_in_progress and signal
3319 error as soon as a recursive load is detected.
3320
3321 2009-02-24 Adrian Robert <Adrian.B.Robert@gmail.com>
3322
3323 * nsterm.m (ns_ring_bell): Convert rect to window coordinates
3324 before caching.
3325
3326 2009-02-24 Kenichi Handa <handa@m17n.org>
3327
3328 * fontset.c (fontset_find_font): Fix the condition for checking
3329 unavailable font.
3330
3331 2009-02-24 Glenn Morris <rgm@gnu.org>
3332
3333 * xfaces.c (Finternal_set_font_selection_order): Remove leading
3334 whitespace that confuses documentation.
3335
3336 2009-02-23 Miles Bader <miles@gnu.org>
3337
3338 * process.c (Flist_system_processes, Fprocess_attributes)
3339 (syms_of_process): Rename `system-process-attributes' to
3340 `process-attributes'.
3341
3342 2009-02-22 Andreas Schwab <schwab@linux-m68k.org>
3343
3344 * coding.h (struct coding_system): Make safe_charsets a pointer to
3345 unsigned char.
3346 * coding.c (CODING_ISO_REQUEST): Check for safe_charsets content
3347 being 255.
3348 (SAFE_CHARSET_P): Likewise.
3349 (setup_iso_safe_charsets): Properly setup safe_charsets.
3350 (Fdefine_coding_system_internal): Likewise.
3351 (setup_coding_system): Likewise. Remove unneeded casts.
3352 (detect_coding_iso_2022): Compare Viso_2022_charset_list with
3353 CODING_ATTR_CHARSET_LIST, not CODING_ATTR_SAFE_CHARSETS. Remove
3354 unneeded casts.
3355
3356 * insdel.c (del_range_2): Don't modify gap contents when called
3357 from decode_coding_object. (Bug#1809)
3358
3359 2009-02-21 Chong Yidong <cyd@stupidchicken.com>
3360
3361 * data.c (syms_of_data): Define Qfont_spec, Qfont_entity, and
3362 Qfont_object.
3363 (Ftype_of): Recognize font objects.
3364
3365 * lisp.h: Define Qfont_spec, Qfont_entity, Qfont_object extern.
3366
3367 * font.c (Qfont_spec, Qfont_entity, Qfont_object): Definitions
3368 moved to data.c.
3369
3370 2009-02-20 Adrian Robert <Adrian.B.Robert@gmail.com>
3371
3372 * nsterm.m (x_make_frame_invisible): Unset async_visible,
3373 async_iconified. Based on a patch by Christian Lynbech
3374 <christian.lynbech@tieto.com>.
3375 (EmacsView-windowDidMiniaturize:): Unset async_visible.
3376
3377 2009-02-20 Glenn Morris <rgm@gnu.org>
3378
3379 * syntax.c (Fskip_chars_forward): Fix doc typo.
3380
3381 2009-02-20 Chong Yidong <cyd@stupidchicken.com>
3382
3383 * keymap.c (Fkeymap_parent): Doc fix (Bug#2391).
3384
3385 2009-02-19 Chong Yidong <cyd@stupidchicken.com>
3386
3387 * xfns.c (Fx_create_frame): Give Xft driver a higher priority.
3388
3389 2009-02-19 Kenichi Handa <handa@m17n.org>
3390
3391 * coding.c (detect_coding): Preserve coding->mode.
3392 Don't overflow coding->carryover. (Bug#2370)
3393
3394 2009-02-18 Dan Nicolaescu <dann@ics.uci.edu>
3395
3396 * m/ibmrs6000.h (ADDR_CORRECT): Restore, removed by mistake on 2008-07-23.
3397
3398 2009-02-18 Kenichi Handa <handa@m17n.org>
3399
3400 * font.c (font_check_otf_features): Fix handling of `nil' element.
3401 (Ffont_spec): Describe :lang and :otf in the docstring.
3402
3403 2009-02-16 Andreas Schwab <schwab@suse.de>
3404
3405 * coding.c (Fcheck_coding_systems_region): Fix test for unibyte
3406 string.
3407
3408 2009-02-16 Kenichi Handa <handa@m17n.org>
3409
3410 * coding.c (Fcheck_coding_systems_region): Fix typo; Qt -> Qnil.
3411 (Bug#1723)
3412
3413 2009-02-14 Chong Yidong <cyd@stupidchicken.com>
3414
3415 * dispextern.h (struct iterator_stack_entry): New line_wrap member.
3416
3417 * xdisp.c (push_it, pop_it): Save and restore line_wrap.
3418 (handle_line_prefix): Suppress wrapping of wrap prefixes.
3419
3420 2009-02-14 Eli Zaretskii <eliz@gnu.org>
3421
3422 * msdos.c (MAX_SCREEN_BUF): New macro.
3423 (IT_write_glyphs): Make screen_buf[] always be MAX_SCREEN_BUF-long.
3424 Encode the entire run of glyphs sharing the same face, instead of
3425 doing that one glyph at a time (fixes a bug with displaying
3426 double-size characters).
3427
3428 2009-02-13 Adrian Robert <Adrian.B.Robert@gmail.com>
3429
3430 * nsfns.m (ns-read-file-name): BLOCK_INPUT while showing dialog.
3431
3432 * nsmenu.m (pop_down_menu): Check popup_activated_flag.
3433 (ns_popup_dialog, EmacsDialogPanel-runDialogAt:): Let
3434 pop_down_menu do the cleanup work as it is always called. (Bug#2154)
3435
3436 * nsfont.m (nsfont_make_fontset_for_font): For now, don't try to
3437 set fontset font for "mathematical-" sub-scripts. (Bug #2218)
3438
3439 2009-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
3440
3441 * keyboard.c (adjust_point_for_property): Allow stopping betwen two
3442 invisible areas.
3443
3444 2009-02-12 Jason Rumney <jasonr@gnu.org>
3445
3446 * w32font.c (check_face_name): Check for fake helv. (Bug#2275)
3447 (add_font_entity_to_list): Call check_face_name even when family
3448 is unspecified.
3449
3450 * w32term.c (x_display_pixel_height, x_display_pixel_width):
3451 Release DC when finished. Use NULL window to refer to desktop.
3452 (w32_term_init): Use NULL window to refer to desktop. (Bug#460)
3453
3454 * w32font.c (add_font_entity_to_list): Fix check for substituted
3455 raster fonts. (Bug#2219)
3456
3457 2009-02-12 Kenichi Handa <handa@m17n.org>
3458
3459 * composite.c (MAX_AUTO_COMPOSITION_LOOKBACK): New macro.
3460 (composition_gstring_width): Fix handling of LGLYPH_YOFF.
3461 (autocmp_chars): Use fast_looking_at. Don't compose more
3462 characters than MAX_COMPOSITION_COMPONENTS.
3463 (find_automatic_composition): While looking forward and backward,
3464 check static composition. Fix where to stop looking forward.
3465 (composition_adjust_point): Fix checking of static composition.
3466 (Fcomposition_get_gstring): Pay attention to
3467 MAX_COMPOSITION_COMPONENTS.
3468
3469 * lisp.h (fast_looking_at): Extern it.
3470
3471 * search.c (fast_looking_at): New function.
3472
3473 * term.c (encode_terminal_code): Adjust for the change of
3474 <struct glyph>.u.cmp.to.
3475 (append_composite_glyph): Likewise.
3476
3477 * xdisp.c (fill_gstring_glyph_string): Adjust for the change of
3478 <struct glyph>.u.cmp.to. Check if the glyph belongs to the same
3479 composition.
3480 (append_composite_glyph): Adjust for the change of
3481 <strcut glyph>.u.cmp.to.
3482
3483 2009-02-11 Juanma Barranquero <lekktu@gmail.com>
3484
3485 * casetab.c (init_casetab_once):
3486 * coding.c (ALLOC_CONVERSION_WORK_AREA):
3487 * font.c (font_update_lface):
3488 * fontset.c (Fnew_fontset):
3489 * ftfont.c (ftfont_drive_otf):
3490 * xfont.c (xfont_open):
3491 * xftfont.c (xftfont_get_xft_draw): Remove spurious semicolons.
3492
3493 2009-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
3494
3495 * fileio.c (Fwrite_region): !NILP -> CONSP.
3496
3497 2009-02-10 Andreas Schwab <schwab@suse.de>
3498
3499 * process.c (send_process): Properly relocate pointer into data
3500 when using encoded data. (Bug#2272)
3501
3502 2009-02-08 ARISAWA Akihiro <ari@mbf.sphere.ne.jp>
3503
3504 * coding.c (detect_coding_charset): Fix previous change.
3505
3506 2009-02-08 Jason Rumney <jasonr@gnu.org>
3507
3508 * w32fns.c (w32_hide_hourglass): Handle case where frame
3509 disappeared while hourglass was displayed. (Bug #2193)
3510
3511 2009-02-07 Andreas Schwab <schwab@suse.de>
3512
3513 * unexelf.c (unexec): Fix error message.
3514
3515 2009-02-07 Adrian Robert <Adrian.B.Robert@gmail.com>
3516
3517 * nsterm.m (EmacsApp-sendEvent:): Defer NSApplicationDefined event
3518 when modal window is active. (Bug #2152)
3519 (applicationShouldTerminate:): Remove now-unneeded while loop
3520 around NSRunAlertPanel.
3521
3522 * nsmenu.m (popupSession): New file-global variable.
3523 (pop_down_menu): End the popupSession before closing dialog.
3524 (ns_popup_dialog): BLOCK_INPUT around dialog presentation.
3525 (EmacsDialogPanel-runDialogAt:): Don't place window (superfluous),
3526 don't query NSApp for events (just sleep instead).
3527
3528 2009-02-07 Eli Zaretskii <eliz@gnu.org>
3529
3530 * coding.c (syms_of_coding) <translation-table-for-input>:
3531 Modify doc string to discourage use for character code unification.
3532
3533 2009-02-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3534
3535 * atimer.c (run_timers): Update pending_atimers.
3536
3537 2009-02-06 Chong Yidong <cyd@stupidchicken.com>
3538
3539 * image.c (svg_load_image): Fix last change.
3540
3541 * xfns.c (Fx_create_frame): Signal an error if no font is
3542 found (Bug#2147).
3543
3544 2009-02-05 Juanma Barranquero <lekktu@gmail.com>
3545
3546 * character.c (syms_of_character) <script-representative-chars>:
3547 Fix typo in docstring.
3548
3549 2009-02-04 Adrian Robert <Adrian.B.Robert@gmail.com>
3550
3551 * nsmenu.m (pop_down_menu): New function.
3552 (ns_popup_dialog): Call it on unwind.
3553 (EmacsDialogPanel-runDialogAt:): Check popup_activated_flag and
3554 call timer_check() (Bug#2154).
3555 (EmacsMenu-menuNeedsUpdate:): Don't call ns_update_menu if
3556 handling_signal is set.
3557 (EmacsMenu-fillWithWidgetValue:): Set submenu title.
3558
3559 * config.in: Get rid of COCOA_EXPERIMENTAL_CTRL_G.
3560
3561 * s/darwin.h: Same and NO_SOCK_SIGIO as well.
3562
3563 * nsterm.m (ns_read_socket): Same and don't set handling_signal.
3564
3565 * keyboard.c (poll_for_input_1, handle_async_input):
3566 Set handling_signal under HAVE_NS.
3567
3568 2009-02-04 Glenn Morris <rgm@gnu.org>
3569
3570 * fileio.c (Fwrite_region): Doc fix (mention annotate-functions).
3571
3572 2009-02-04 Kenichi Handa <handa@m17n.org>
3573
3574 * Makefile.in (composite.o): Depends on frame.h and termhooks.h.
3575
3576 * charset.c (Fchar_charset): New optional arg restriction.
3577
3578 * coding.h (coding_system_charset_list): Extern it.
3579
3580 * coding.c (coding_system_charset_list): New function.
3581
3582 * composite.c: Include coding.h and termhooks.h.
3583 (composition_gstring_p): Fix for the terminal case.
3584 (composition_gstring_width): Likewise.
3585 (fill_gstring_body): Likewise.
3586 (autocmp_chars): For terminal, call Fcomposition_get_gstring with
3587 the frame.
3588 (composition_compute_stop_pos): Adjust cmp_it->stop_pos if point
3589 is within a composition.
3590 (Fcomposition_get_gstring): Fix the terminal case.
3591
3592 * term.c (encode_terminal_code): Fix handling of composition.
3593 (produce_composite_glyph): For static composition, get pixel_width
3594 from struct composition.
3595
3596 2009-02-02 Andreas Schwab <schwab@suse.de>
3597
3598 * unexelf.c (unexec): Handle unaligned bss offset.
3599
3600 2009-02-01 Adrian Robert <Adrian.B.Robert@gmail.com>
3601
3602 * nsterm.m (ns_read_socket): Copy 2009-01-29 and 2009-01-30
3603 XT,w32read_socket changes to ns_read_socket.
3604
3605 * keyboard.c (handle_interrupt): Don't call
3606 quit_throw_to_read_char() under NS.
3607
3608 * blockinput.h: Remove NS-specific code.
3609
3610 2009-01-30 Dan Nicolaescu <dann@ics.uci.edu>
3611
3612 * dispnew.c (window_change_signal): Don't try to get the size of a
3613 suspended tty frame.
3614 * term.c (Fresume_tty): Resize if the size has changed while the
3615 tty was suspended.
3616
3617 * alloc.c (mark_stack): Properly conditionalize previous change.
3618
3619 2009-01-30 Juanma Barranquero <lekktu@gmail.com>
3620
3621 * w32inevt.c (w32_console_read_socket) [SYNC_INPUT]:
3622 * w32term.c (w32_read_socket) [SYNC_INPUT]:
3623 Remove; this code is not used on Windows.
3624
3625 2009-01-30 Eli Zaretskii <eliz@gnu.org>
3626
3627 * coding.c (detect_eol, decode_eol): Handle text with DOS-style
3628 EOLs that also has stray ^M characters.
3629
3630 2009-01-30 Juanma Barranquero <lekktu@gmail.com>
3631
3632 * atimer.c (run_timers, alarm_signal_handler):
3633 * keyboard.c (pending_signals, handle_async_input, init_keyboard):
3634 * w32inevt.c (w32_console_read_socket):
3635 * w32term.c (w32_read_socket):
3636 * xterm.c (XTread_socket): Use "#ifdef SYNC_INPUT" where appropriate.
3637
3638 2009-01-30 Chong Yidong <cyd@stupidchicken.com>
3639
3640 * callproc.c (Vtemp_file_name_pattern): Remove DEFVAR_LISP.
3641 Initialize it as a relative filename pattern.
3642 (init_callproc): Don't initialize Vtemp_file_name_pattern here.
3643 (Fcall_process_region): Simplify temp file creation using
3644 temporary-file-directory.
3645
3646 2009-01-29 Eli Zaretskii <eliz@gnu.org>
3647
3648 * msdos.c: Rename pending_signals to msdos_pending_signals.
3649 (sig_suspender, sigprocmask): Adjust.
3650
3651 2009-01-29 Chong Yidong <cyd@stupidchicken.com>
3652
3653 * keyboard.c (pending_signals): New var.
3654 (poll_for_input, input_available_signal, init_keyboard): Set it.
3655 (process_pending_signals): New function.
3656
3657 * lisp.h (QUIT): Check pending_signals instead of
3658 interrupt_input_pending. Use process_pending_signals.
3659
3660 * atimer.c (run_timers, alarm_signal_handler): Update pending_signals.
3661
3662 * process.c (wait_reading_process_output): Use process_pending_signals.
3663
3664 * sysdep.c (emacs_write): Use process_pending_signals.
3665
3666 * xterm.c (XTread_socket): Update pending_signals.
3667
3668 * w32term.c (w32_read_socket): Update pending_signals.
3669
3670 * w32inevt.c (w32_console_read_socket): Update pending_signals.
3671
3672 2009-01-29 Kenichi Handa <handa@m17n.org>
3673
3674 * xftfont.c (xftfont_has_char): New function.
3675 (syms_of_xftfont): Register xftfont_has_char in xftfont_driver.
3676
3677 2009-01-29 Adrian Robert <Adrian.B.Robert@gmail.com>
3678
3679 * nsterm.h (EmacsPrefsController.cursorBlinkSlider): Only define
3680 under GNUstep.
3681 (ns_query_color): New declaration.
3682
3683 * nsterm.m (ns_confirm_quit): New variable.
3684 (ns_set_default_prefs, syms_of_nsterm, ns_term_init): Initialize it.
3685 (EmacsApp-applicationShouldTerminate:): Use it.
3686 (EmacsPrefsController): Let user set it.
3687 (ns_query_color): New function.
3688 (ns_defined_color): Use it.
3689 (ns_initialize): Drop.
3690 (ns_term_init): Add two lines from ns_initialize(), and set
3691 input_interrupt_mode to nil.
3692
3693 * image.c (svg_load_image): Don't right-shift background RGB when
3694 obtained from FRAME_BACKGROUND_PIXEL. Under HAVE_NS use ns_query_color.
3695
3696 2009-01-28 Kenichi Handa <handa@m17n.org>
3697
3698 * fontset.c (font_for_char): Use assq_no_quit, not assoc_no_quit.
3699 (fontset_get_font_group): Remember that no font-group is specified
3700 for C.
3701
3702 2009-01-27 Chong Yidong <cyd@stupidchicken.com>
3703
3704 * fns.c (concat): Check for string overflow (bug#1787).
3705
3706 * undo.c (undo_limit, undo_strong_limit, Vundo_outer_limit):
3707 Quadruple undo limits (bug#1501).
3708
3709 2009-01-27 Kenichi Handa <handa@m17n.org>
3710
3711 * ftfont.c (ftfont_has_char): If the arg FONT is a font-object,
3712 directly use GT_Get_Char_index.
3713
3714 * xftfont.c (struct xftfont_info): New member `index'.
3715
3716 * fontset.c (font_for_char): Use assq_no_quit, not assoc_no_quit.
3717 (Ffontset_font): Adjust for the change of fontset entry.
3718
3719 2009-01-26 Kenichi Handa <handa@m17n.org>
3720
3721 * fontset.c (fontset_find_font): Fix handling of non-cons return
3722 value of fontset_get_font_group.
3723 (fontset_font): Revert last change.
3724
3725 2009-01-26 Jason Rumney <jasonr@gnu.org>
3726
3727 * w32font.c (w32font_list_internal): Return quickly if registry is
3728 unknown. Simplify final return.
3729 (add_font_entity_to_list): Break complex logic down into more
3730 manageable chunks. Move unknown registry check to
3731 w32font_list_internal.
3732
3733 2009-01-25 Adrian Robert <Adrian.B.Robert@gmail.com>
3734
3735 Changes to remove Feval calls from GUI under NS.
3736
3737 * nsterm.h: Move KEY_NS_... definitions here from nsterm.m.
3738 Add NS_TOGGLE_TOOLBAR, NS_PUT_WORKING_TEXT, NS_UNPUT_WORKING_TEXT.
3739 Remove NS_INSERT_WORKING_TEXT, NS_DELETE_WORKING_TEXT.
3740
3741 * nsterm.m: Move KEY_NS_... definitions to nsterm.h.
3742 (EmacsView-toggleToolbar:): Use KEY_NS_TOGGLE_TOOLBAR.
3743 (EmacsView-setMarkedText:,-deleteWorkingText:): Use NS_TEXT_EVENT
3744 instead of NON_ASCII_KEYSTROKE_EVENT.
3745 (EmacsApp-terminate:): Use KEY_NS_POWER_OFF instead of Feval.
3746 (EmacsApp-applicationShouldTerminate:): Query user.
3747 (EmacsPreferencesController-runHelp:): Use KEY_NS_INFO_PREFS
3748 instead of Feval.
3749
3750 * termhooks.h (NS_TEXT_EVENT): New event type under HAVE_NS.
3751
3752 * keyboard.c (kbd_buffer_get_event): Check for it.
3753 (keys_of_keyboard): Define lispy keys for
3754 ns-put/unput-working-text.
3755
3756 * nsmenu.m (ns_popup_dialog): Resync window setting with X and W32
3757 versions.
3758 (EmacsDialog-runDialogAt:): Use NSModalPanelRunLoopMode.
3759
3760 2009-01-25 Chong Yidong <cyd@stupidchicken.com>
3761
3762 * dispnew.c (buffer_posn_from_coords): Use Fset_buffer instead of
3763 setting current_buffer directly. (Bug#2044)
3764
3765 2009-01-24 Chong Yidong <cyd@stupidchicken.com>
3766
3767 * fontset.c (fontset_font): If we know there is no font, don't do
3768 any work. (Bug#1952, bug#1990).
3769
3770 * font.c (font_parse_xlfd): Handle patterns of length < 2. (Bug#1802)
3771
3772 2009-01-23 Adrian Robert <Adrian.B.Robert@gmail.com>
3773
3774 * emacs.c (main): Do fork+exec under --daemon in Cocoa.
3775 (ns_no_defaults): New declaration.
3776 (main): Use it.
3777
3778 * nsterm.h (ns_no_defaults): New declaration.
3779
3780 * nsfns.m (x_get_string_resource): Don't read when ns_no_defaults.
3781
3782 * nsterm.m (ns_no_defaults): New variable.
3783 (ns_initialize): Don't read defaults when ns_no_defaults.
3784 (EmacsView-readSelectionFromPasteboard:)
3785 (writeSelectionToPasteboard:types:): New stubbed-out methods for
3786 NSServicesRequests protocol. (Bug#1435)
3787 (ns_dumpglyphs_stretch): New function.
3788 (ns_draw_glyph_string): Use it, parallel Yamamoto Mitsuharu change
3789 of 2008-11-15 to other terms. (Bug#615)
3790
3791 * nsimage.m (setPixmapData:): Set to ignore image DPI.
3792
3793 2009-01-23 Giorgos Keramidas <keramida@freebsd.org> (tiny change)
3794
3795 * alloc.c (mark_stack): Use "flushw" instead of "ta 3" assembly
3796 call for Sparc64.
3797
3798 2009-01-22 Adrian Robert <Adrian.B.Robert@gmail.com>
3799
3800 * nsfns.m:
3801 * nsgui.h:
3802 * nsmenu.m:
3803 * nsselect.m:
3804 * nsterm.h:
3805 * nsterm.m: Remove '23' comments that indicated code added during
3806 update from emacs-20 -> emacs-23.
3807
3808 2009-01-22 Adrian Robert <Adrian.B.Robert@gmail.com>
3809
3810 * nsterm.m (EmavsView-keyDown:): Treat nil as Qnone for
3811 ns_alternate_modifier. (Bug#1217)
3812
3813 * nsmenu.m (EmacsMenu-parseKeyEquiv:, addItemWithWidgetValue:):
3814 Display all shortcuts, including those w/o super modifier.
3815
3816 * nsfns.m (ns-read-file-name): Fix typo in assignment statement.
3817
3818 2009-01-22 Chong Yidong <cyd@stupidchicken.com>
3819
3820 * fileio.c (Vwrite_region_post_annotation_function)
3821 (Vwrite_region_annotation_buffers): New vars.
3822 (build_annotations_unwind): Just reset
3823 Vwrite_region_annotation_buffers.
3824 (Fwrite_region): Initialize Vwrite_region_annotation_buffers.
3825 Call write-region-post-annotation-function.
3826 (build_annotations): Add to Vwrite_region_annotation_buffers if
3827 buffer changes.
3828
3829 2009-01-21 Adrian Robert <Adrian.B.Robert@gmail.com>
3830
3831 * nsterm.h (EmacsApp-setAppleMenu:): Conditionalize more correctly on
3832 Tiger.
3833 * nsfns.m (ns_do_applescript):
3834 Conditionalize typeUTF16ExternalRepresentation on Tiger.
3835
3836 2009-01-21 Wolfgang Lux <wolfgang.lux@gmail.com> (tiny change)
3837
3838 * nsterm.m (EV_TRAILER): Always use emacsframe for frame_or_window.
3839
3840 2009-01-21 Adrian Robert <Adrian.B.Robert@gmail.com>
3841
3842 * nsmenu.m (NSMENUPROFILE): Change #if style.
3843
3844 * nsterm.h (EmacsPrefsController): Add -setPanelFromDefaultValues.
3845
3846 * nsterm.m (x_set_frame_alpha): Add prototype.
3847 (ns_fake_keydown, EmacsView-keyUp:): New variable and function to
3848 handle Ctrl-tab. (Bug#1841)
3849 (ns_get_color): Use unsigned long long for scanned hex string value.
3850 (ns_term_shutdown): Abort on non SIGTERM signals.
3851 (EmacsPrefsController-setDefaultFont:,-setColors:): Raise the frame.
3852 (EmacsPrefsController-setPanelFromDefaultValues): New function.
3853 (EmacsPrefsController-resetToDefaults:): Use it. (Bug#1801)
3854 (ns_font_to_xlfd, ns_fontname_to_xlfd): Remove, unused.
3855 (ns_defined_color): Fix settings of the XColor variable fields:
3856 red,green,blue scale to 2-byte, pixel's parts to 1-byte. (Bug#1663)
3857
3858 * nsimage.m (EmacsImage+allocInitFromFile:): Set to ignore image
3859 DPI. (Bug#1316)
3860 (EmacsImage-setPixelAtX:Y:toRed:green:blue:alpha:): Fix color
3861 values in onTiger section.
3862
3863 2009-01-19 Chong Yidong <cyd@stupidchicken.com>
3864
3865 * xfaces.c (Finternal_set_lisp_face_attribute, Fx_list_fonts):
3866 Check return value of font_spec_from_name.
3867 (Fx_list_fonts): Doc fix. (Bug#1951)
3868
3869 * font.c (font_spec_from_name): Return Qnil if font name could not
3870 be parsed.
3871 (font_parse_name): Treat a `?' character as part of an XLFD.
3872
3873 * fns.c (Fsubstring): Doc fix.
3874
3875 2009-01-19 Kenichi Handa <handa@m17n.org>
3876
3877 * ftfont.c (ftfont_lookup_cache): Check the return value of FcFontList.
3878 (ftfont_list): Likewise.
3879
3880 2009-01-18 Juanma Barranquero <lekktu@gmail.com>
3881
3882 * dbusbind.c (Fdbus_register_signal):
3883 * process.c (conv_sockaddr_to_lisp):
3884 * w32fns.c (Fw32_battery_status): Use empty_unibyte_string.
3885
3886 * callproc.c (Fgetenv_internal): Doc fix.
3887
3888 2009-01-16 Chong Yidong <cyd@stupidchicken.com>
3889
3890 * xfns.c (x_make_gc): Don't allocate stipple member for gc_values;
3891 it is not even used.
3892
3893 2009-01-16 Glenn Morris <rgm@gnu.org>
3894
3895 * font.c (Ffont_variation_glyphs): Silence compiler.
3896
3897 2009-01-15 Juanma Barranquero <lekktu@gmail.com>
3898
3899 * sound.c (SOUND_WARNING): Use _snprintf, for MSVC compatibility.
3900 Reported by David Robinow <drobinow@gmail.com>.
3901
3902 2009-01-15 Kenichi Handa <handa@m17n.org>
3903
3904 * coding.c (detect_coding_system): Fix handling of null_byte_found.
3905
3906 2009-01-14 Jason Rumney <jasonr@gnu.org>
3907
3908 * frame.c (x_set_font): Always store a font to the font parameter,
3909 never a fontset. (Bug#1562)
3910
3911 2009-01-14 Kenichi Handa <handa@m17n.org>
3912
3913 * coding.c (TWO_MORE_BYTES): New macro.
3914 (detect_coding_utf_16): Use TWO_MORE_BYTES instead of ONE_MORE_BYTE.
3915
3916 2009-01-13 Chong Yidong <cyd@stupidchicken.com>
3917
3918 * font.c (font_clear_prop): If clearing the family, clear the font
3919 width index too.
3920
3921 * xfaces.c (Finternal_set_lisp_face_attribute): Revert last change.
3922
3923 2009-01-12 Juanma Barranquero <lekktu@gmail.com>
3924
3925 * sound.c [WINDOWSNT] (SOUND_WARNING): New macro.
3926 (do_play_sound): Use it. Don't pass a hardcoded buffer size to mci
3927 functions, use sizeof.
3928
3929 2009-01-12 Martin Rudalics <rudalics@gmx.at>
3930
3931 * keyboard.c (read_char): Fix case where last_nonmenu_event
3932 returned a bad value with submenus. (Bug#447)
3933
3934 2009-01-12 Chong Yidong <cyd@stupidchicken.com>
3935
3936 * xfaces.c (Finternal_set_lisp_face_attribute): If setting the
3937 family, clear the font width index too.
3938
3939 2009-01-11 Jason Rumney <jasonr@gnu.org>
3940
3941 * keyboard.c (cmd_error_internal): Exit when errors occur before
3942 frame creation and not in daemon mode. (Bug#1836)
3943
3944 2009-01-10 Chong Yidong <cyd@stupidchicken.com>
3945
3946 * xdisp.c (pos_visible_p): When iterator stops on the last glyph
3947 of a display vector, backtrack.
3948 (try_window_reusing_current_matrix): Check glyph type before
3949 referencing charpos member.
3950
3951 2009-01-10 Eli Zaretskii <eliz@gnu.org>
3952
3953 Fix Bug #876:
3954
3955 * coding.c (inhibit_null_byte_detection): New variable.
3956 (detect_coding, detect_coding_system): Don't pay attention to null
3957 bytes if inhibit_null_byte_detection is non-zero.
3958 (syms_of_coding) <inhibit-null-byte-detection>: Declare and document.
3959 <inhibit-iso-escape-detection>: Doc fix.
3960
3961 2009-01-09 Jason Rumney <jasonr@gnu.org>
3962
3963 * w32font.c (add_font_entity_to_list): Don't report unknown
3964 Windows charset as any unrecognized registry. (Bug#1548)
3965 Only report Unicode Plane 2 fonts as unicode-sip.
3966
3967 2009-01-09 Chong Yidong <cyd@stupidchicken.com>
3968
3969 * xfaces.c (Fx_font_family_list): Delete function.
3970 Move compatibility version to faces.el.
3971
3972 * font.c (Ffont_family_list): Return a list of strings, not symbols.
3973
3974 2009-01-09 Martin Rudalics <rudalics@gmx.at>
3975
3976 * frame.c (x_set_frame_parameters): Remember requested value for
3977 fullscreen before it's reset by the parameter handler.
3978
3979 2009-01-09 Glenn Morris <rgm@gnu.org>
3980
3981 * keyboard.c (last_command_char): For clarity, rename to...
3982 (last_command_event): ... and update all users.
3983 (last_input_char): For clarity, rename to...
3984 (last_input_event): ... and update all users.
3985 (last-command-char, last-input-char): Move to subr.el as aliases.
3986 * cmds.c, commands.h: Update for last_command_char rename.
3987
3988 2009-01-08 Chong Yidong <cyd@stupidchicken.com>
3989
3990 * font.c (font_open_for_lface): Handle unspecified height attribute.
3991
3992 2009-01-08 Jason Rumney <jasonr@gnu.org>
3993
3994 * w32fns.c (Vx_pointer_shape, Vx_nontext_pointer_shape)
3995 (Vx_mode_pointer_shape, Vx_window_horizontal_drag_shape)
3996 (Vx_hourglass_pointer_shape, Vx_sensitive_text_pointer_shape):
3997 Don't declare.
3998 (syms_of_w32fns): Don't define x-pointer-shape variable. (Bug#1485)
3999 (x_create_tip_frame) [GLYPH_DEBUG]: Enable image debugging code.
4000
4001 2009-01-07 Kenichi Handa <handa@m17n.org>
4002
4003 * fileio.c (Finsert_file_contents): In the case of replace,
4004 remember the coding system used for decoding in
4005 coding_system (Bug#1039).
4006
4007 * coding.c (decode_coding_utf_8): Check byte_after_cr before
4008 breaking the loop. (Bug#870)
4009 (decode_coding_utf_16, decode_coding_emacs_mule)
4010 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
4011 (decode_coding_charset): Likewise.
4012
4013 2009-01-05 Martin Rudalics <rudalics@gmx.at>
4014
4015 * frame.c (x_set_frame_parameters): Make sure height (width) get
4016 applied when fullwidth (fullheight) is set. (Bug#1522)
4017
4018 2009-01-04 Juanma Barranquero <lekktu@gmail.com>
4019
4020 * w32.c: Use 64-bit arithmetic to do FILETIME conversions. (Bug#1766)
4021 (utc_base): Declare as ULONGLONG, not long double.
4022 (convert_time_raw): Delete.
4023 (FILETIME_TO_U64, U64_TO_LISP_TIME): New macros.
4024 (initialize_utc_base): New function.
4025 (convert_time): Use FILETIME_TO_U64, initialize_utc_base.
4026 (convert_from_time_t): Use initialize_utc_base; compute result with
4027 64-bit arithmetic.
4028 (process_times): Use FILETIME_TO_U64, U64_TO_LISP_TIME.
4029
4030 2009-01-03 Eli Zaretskii <eliz@gnu.org>
4031
4032 * process.c (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess)
4033 (Qttname, Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime)
4034 (Qcutime, Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs)
4035 (Quser, Qgroup, Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime)
4036 [!subprocesses]: Define.
4037 (syms_of_process) [!subprocesses]: Intern and staticpro them.
4038 (Flist_system_processes, Fsystem_process_attributes)
4039 [!subprocesses]: Call list_system_processes and
4040 system_process_attributes instead of returning Qnil.
4041
4042 * dosfns.c (system_process_attributes, list_system_processes):
4043 New functions.
4044
4045 * vm-limit.c (ret_lim_data) [MSDOS]: New function.
4046
4047 * sysdep.c (list_system_processes, system_process_attributes) [MSDOS]:
4048 Don't use the default (no-op) implementation.
4049
4050 2009-01-03 Jason Rumney <jasonr@gnu.org>
4051
4052 * keyboard.c (parse_modifiers_uncached): Wheel events are
4053 clicks (bug#687).
4054
4055 * w32term.c (x_query_colors, x_query_color): New functions.
4056
4057 * image.c (x_to_xcolors, png_load): Eliminate W32 specific code.
4058 (svg_load_image): Cast returned pointers from dynamically loaded
4059 functions. Eliminate W32 specific code.
4060
4061 2009-01-02 Dan Nicolaescu <dann@ics.uci.edu>
4062
4063 * nsfns.m (x_set_foreground_color, x_set_background_color)
4064 (x_set_cursor_color, x_set_icon_name, x_explicitly_set_name)
4065 (x_set_title, x_set_icon_type, x_set_cursor_type): Rename to use
4066 x_ prefix instead of ns_. Update references.
4067 (syms_of_nsfns): Add a FIXME comment.
4068
4069 * nsterm.m (x_set_cursor_type): New prototype.
4070 (setValuesFromPanel): Use it instead of the old ns_ prefixed name.
4071
4072 * sysdep.c (system_process_attributes): Provide Qtime and Qctime
4073 for Solaris instead of incorrectly providing Qutime and Qcutime.
4074
4075 2009-01-02 Eli Zaretskii <eliz@gnu.org>
4076
4077 * w32.c (process_times): Compute sum of utime and stime.
4078 (system_process_attributes): Add Qtime to the alist.
4079
4080 * sysdep.c (system_process_attributes): Compute Qtime and Qctime
4081 and add them to the alist.
4082
4083 * process.c (top level) <Qtime, Qctime>: New variables.
4084 (syms_of_process): staticpro them.
4085 (Fsystem_process_attributes): Add their documentation to the doc
4086 string.
4087
4088 * process.h: Declare Qtime and Qctime.
4089
4090 2009-01-02 Jason Rumney <jasonr@gnu.org>
4091
4092 * image.c (Qgobject): New symbol.
4093 (syms_of_image): Initialize it.
4094 (init_svg_functions): Load some functions from gobject library.
4095
4096 2009-01-01 Dan Nicolaescu <dann@ics.uci.edu>
4097
4098 * frame.c (make_terminal_frame): Remove redundant code and useless
4099 block.
4100
4101 2009-01-01 Andreas Schwab <schwab@suse.de>
4102
4103 * process.c (conv_sockaddr_to_lisp): Add workaround for
4104 getsockname bug on BSD.
4105
4106 2009-01-01 Chong Yidong <cyd@stupidchicken.com>
4107
4108 * xfns.c (x_create_tip_frame): Set border width of the X window.
4109
4110 * xfaces.c (Finternal_set_lisp_face_attribute): Improve error message.
4111
4112 2009-01-01 Jason Rumney <jasonr@gnu.org>
4113
4114 * w32term.c (x_new_font): Return font object, not fontset. (Bug#119)
4115 Don't block input, as per earlier xterm.c changes.
4116
4117 2008-12-31 Adrian Robert <Adrian.B.Robert@gmail.com>
4118
4119 * nsfns.m (ns_appkit_version_str): Rename from ns_appkit_version.
4120 (ns_appkit_version_int): New function.
4121 (x-server-version): Use ns_appkit_version_int and follow 21+
4122 convention of returning 3 integers.
4123
4124 2008-12-30 Kenichi Handa <handa@m17n.org>
4125
4126 * character.h (CHAR_VARIATION_SELECTOR_P): New macro.
4127 (CHAR_SURROGATE_PAIR_P): New macro.
4128
4129 * font.h (struct font_driver): New member get_variation_glyphs.
4130
4131 * font.c (font_range): Don't require a font for a variation selector.
4132 (Ffont_variation_glyphs): New function.
4133 (syms_of_font): Defsubr it.
4134
4135 * ftfont.c (ftfont_driver): Set the member get_variation_glyphs to
4136 ftfont_variation_glyphs.
4137 (setup_otf_gstring): New function.
4138 (ftfont_drive_otf): Use it.
4139 (ftfont_shape_by_flt): Handle variation selector.
4140 (ftfont_variation_glyphs): New function.
4141
4142 2008-12-30 Martin Rudalics <rudalics@gmx.at>
4143
4144 * frame.c (Vemacs_iconified): Remove.
4145
4146 2008-12-30 Jason Rumney <jasonr@gnu.org>
4147
4148 * frame.c (store_frame_param, x_get_arg): Enable newer code on
4149 WINDOWSNT too, as related changes have already been synced. (Bug#117)
4150
4151 2008-12-30 Chong Yidong <cyd@stupidchicken.com>
4152
4153 * indent.c (Fvertical_motion): Don't advance iterator if we have
4154 reseated to the desired position.
4155
4156 * xdisp.c (move_it_to): Handle GET_FROM_STRETCH method when
4157 checking for pos match.
4158
4159 2008-12-30 Kenichi Handa <handa@m17n.org>
4160
4161 * insdel.c (copy_text): To convert a non-ASCII char to unibyte,
4162 just get the low 8-bit of the code.
4163
4164 * font.c (font_intern_prop): Validate str as multibyte.
4165
4166 2008-12-29 Dan Nicolaescu <dann@ics.uci.edu>
4167
4168 * dispextern.h (struct face): Move lface and hash from the middle
4169 of bitfields.
4170
4171 * Makefile.in (INTERVALS_H): Rename from INTERVAL_SRC, update all users.
4172
4173 2008-12-29 Dan Nicolaescu <dann@ics.uci.edu>
4174
4175 * Makefile.in (INTERVAL_SRC): Also depend on dispextern.h.
4176 (coding.o, dispnew.o, keymap.o, msdos.o): Depend on INTERVAL_SRC
4177 instead of intervals.h.
4178
4179 2008-12-26 Andreas Schwab <schwab@suse.de>
4180
4181 * keymap.c (map_keymap_char_table_item): Make a copy of KEY if it is a
4182 cons.
4183
4184 2008-12-26 Martin Rudalics <rudalics@gmx.at>
4185
4186 * textprop.c (Qminibuffer_prompt): New variable.
4187 (syms_of_textprop): Initialize it.
4188 * callint.c (Fcall_interactively): For `c', `k', and `K' prompt
4189 in minibuffer-prompt face. (Bug#1662)
4190
4191 2008-12-25 Jason Rumney <jasonr@gnu.org>
4192
4193 * buffer.c (Fbuffer_swap_text): Use POINTER_TYPE.
4194
4195 2008-12-24 Jason Rumney <jasonr@gnu.org>
4196
4197 * ralloc.c (r_alloc_reset_variable): New function.
4198
4199 * buffer.c (Fbuffer_swap_text) [REL_ALLOC]: Reset ralloc's internal
4200 record of what points where. (Bug#716)
4201
4202 2008-12-22 Dan Nicolaescu <dann@ics.uci.edu>
4203
4204 * minibuf.c (read_minibuf): Follow the non-interactive case when
4205 running as a daemon, before detaching.
4206
4207 2008-12-22 Andreas Schwab <schwab@suse.de>
4208
4209 * buffer.c (init_buffer): Use realloc instead of xrealloc.
4210 * gtkutil.c (free_widget_value): Use xfree instead of free.
4211
4212 2008-12-22 Martin Rudalics <rudalics@gmx.at>
4213
4214 * frame.c (delete_frame): New function derived from
4215 Fdelete_frame to handle Qnoelisp value for FORCE argument.
4216 Delete last frame iff FORCE equals Qnoelisp. (Bug#1450)
4217 (Fdelete_frame): Call delete_frame. Remove line from doc-string
4218 saying that FORCE non-nil doesn't run `delete-frame-functions'.
4219 * frame.h: Extern delete_frame.
4220 * window.c (window_loop):
4221 * terminal.c (delete_terminal):
4222 * xterm.c (x_connection_closed):
4223 * xfns.c (Fx_hide_tip):
4224 * w32fns.c (Fx_hide_tip): Call delete_frame instead of Fdelete_frame.
4225
4226 2008-12-21 Jason Rumney <jasonr@gnu.org>
4227
4228 * w32uniscribe.c (uniscribe_encode_char): Return FONT_INVALID_CHAR
4229 when character maps to .notdef character.
4230
4231 2008-12-21 Stefan Monnier <monnier@iro.umontreal.ca>
4232
4233 * keyboard.c (cmd_error_internal): Don't exit in daemon mode, bug#1310.
4234
4235 2008-12-20 Jason Rumney <jasonr@gnu.org>
4236
4237 * frame.c (Fmake_terminal_frame): Raise an error when called from
4238 a graphical frame on Windows. (Bug#1325)
4239
4240 2008-12-20 Jan Djärv <jan.h.d@swipnet.se>
4241
4242 * frame.c (Fdelete_frame): Set f->menu_bar_vector to Qnil.
4243
4244 2008-12-20 Chong Yidong <cyd@stupidchicken.com>
4245
4246 * minibuf.c (Fread_buffer): Doc fix.
4247
4248 2008-12-20 Jason Rumney <jasonr@gnu.org>
4249
4250 * fileio.c (Fexpand_file_name): Do not allow ../ to go beyond the
4251 server name in UNC paths. (Bug#719)
4252
4253 * coding.c (decode_coding): Clear chars_at_source flag when using
4254 charbuf. (Bug#1035)
4255
4256 2008-12-19 Daniel Engeler <engeler@gmail.com>
4257
4258 * sysdep.c (serial_configure): Fix typo.
4259
4260 2008-12-19 Dan Nicolaescu <dann@ics.uci.edu>
4261
4262 * sysdep.c: Include alloca.h.
4263 (system_process_attributes): Add implementation for Solaris.
4264
4265 * s/sol2-10.h (HAVE_PROCFS, _STRUCTURED_PROC): New defines.
4266
4267 2008-12-19 Dan Nicolaescu <dann@ics.uci.edu>
4268
4269 Reorganize implementation of Flist_system_processes and
4270 Fsystem_process_attributes. No functional changes.
4271 * process.c: Don't #include pwd.h, grp.h and limits.h.
4272 (Flist_system_processes): Just call list_system_processes.
4273 (Fsystem_process_attributes): Just call system_process_attributes.
4274 (procfs_list_system_processes, time_from_jiffies)
4275 (ltime_from_jiffies, get_up_time, procfs_ttyname, MAJOR, MINOR)
4276 (procfs_get_total_memory, procfs_system_process_attributes): Move ...
4277
4278 * sysdep.c: ... here. Include pwd.h, grp.h and limits.h.
4279 (list_system_processes): Rename from
4280 procfs_list_system_processes. Enclose in #ifdef HAVE_PROCFS.
4281 Provide a do nothing implementation.
4282 (system_process_attributes): Rename from
4283 procfs_list_system_processes.
4284 (ltime_from_jiffies, get_up_time, procfs_ttyname, MAJOR, MINOR)
4285 (procfs_get_total_memory): Enclose in #ifdef GNU_LINUX.
4286
4287 * w32.c (list_system_processes): Rename from
4288 w32_list_system_processes.
4289 (system_process_attributes): Rename from
4290 w32_system_process_attributes.
4291
4292 * s/gnu-linux.h (LISTPROC, PROCATTR): Remove.
4293
4294 * process.h (w32_list_system_processes)
4295 (w32_system_process_attributes): Remove.
4296 (list_system_processes, system_process_attributes):
4297 New prototypes.
4298
4299 2008-12-19 Kenichi Handa <handa@m17n.org>
4300
4301 * xfont.c (xfont_decode_coding_xlfd): New function.
4302 (xfont_encode_coding_xlfd): New function.
4303 (xfont_list_pattern): Decode XLFD by iso-8859-1.
4304 (xfont_list): Decode and encode XLFD by iso-8859-1.
4305 (xfont_match): Likewise.
4306 (xfont_list_family): Likewise.
4307 (xfont_open): Likewise.
4308
4309 * ftfont.c (ftfont_open): Generate a multibyte string if given
4310 names are utf-8.
4311
4312 * xftfont.c (xftfont_open): Generate a multibyte string if given
4313 names are utf-8.
4314
4315 2008-12-18 Jan Djärv <jan.h.d@swipnet.se>
4316
4317 * gtkutil.c (xg_frame_resized): Remove check if rows/columns have
4318 changed.
4319 (xg_tool_bar_proxy_callback): Put focus on the frame after we have
4320 clicked on a detached tool bar button.
4321
4322 2008-12-18 Dan Nicolaescu <dann@ics.uci.edu>
4323
4324 * emacs.c (main): Print and error and exit when no data is read
4325 from the pipe.
4326
4327 2008-12-17 Jason Rumney <jasonr@gnu.org>
4328
4329 * w32font.c (w32font_has_char): Always return -1.
4330
4331 2008-12-16 Kenichi Handa <handa@m17n.org>
4332
4333 * font.c (font_open_entity): Fix previous change.
4334
4335 2008-12-16 Dan Nicolaescu <dann@ics.uci.edu>
4336
4337 * process.c: Include <limits.h>.
4338
4339 2008-12-16 Chetan Pandya <pandyacus@sbcglobal.net> (tiny change)
4340
4341 * font.c (font_update_drivers): Fix mistake in reconstructing the
4342 driver list.
4343
4344 2008-12-16 Chong Yidong <cyd@stupidchicken.com>
4345
4346 * font.c (font_clear_cache): Fix format of font cache data.
4347
4348 2008-12-15 Chong Yidong <cyd@stupidchicken.com>
4349
4350 * xftfont.c (xftfont_open): Free Xft font pattern if
4351 XftFontOpenPattern fails.
4352
4353 * xterm.c (x_free_frame_resources): Remove extraneous call to
4354 free_frame_faces.
4355
4356 2008-12-13 Chong Yidong <cyd@stupidchicken.com>
4357
4358 * xterm.c (x_delete_display): Move xim_close_dpy call to
4359 x_delete_terminal.
4360 (x_delete_terminal): Call xim_close_dpy.
4361
4362 2008-12-13 Jason Rumney <jasonr@gnu.org>
4363
4364 * w32font.c (intern_font_name): New function.
4365 (add_font_name_to_list, w32_enumfont_pattern_entity): Use it.
4366 (w32font_open_internal, Fx_select_font): Decode font name.
4367 (fill_in_logfont, list_all_matching_fonts): Encode font name.
4368
4369 * w32font.h (intern_font_name): Declare new function.
4370
4371 * w32uniscribe.c (add_opentype_font_name_to_list):
4372 Use intern_font_name.
4373
4374 2008-12-13 Chong Yidong <cyd@stupidchicken.com>
4375
4376 * frame.c (Fdelete_frame): Call free_font_driver_list.
4377
4378 * font.c (free_font_driver_list): Implement missing function.
4379
4380 * w32term.c (w32_term_init): Don't initialize the image cache
4381 here; it will be done in init_frame_faces.
4382
4383 * xterm.h (struct xim_inst_t): Definition moved from xterm.c.
4384 (struct x_display_info): Remove unused member null_pixel. New
4385 member xim_callback_data.
4386
4387 * xterm.c (struct xim_inst_t): Definition moved to xterm.h.
4388 (xim_initialize): Save pointer to callback function data.
4389 (xim_close_dpy): Free callback function data. Call XCloseIM,
4390 reverting 2008-11-04 change by David Smith.
4391 (x_term_init): Don't initialize the image cache here; it will be
4392 done in init_frame_faces. Remove ancient "null_pixel" cruft.
4393 (x_delete_display): Free x_dnd_atoms member.
4394
4395 2008-12-13 Kenichi Handa <handa@m17n.org>
4396
4397 * font.c (font_rescale_ratio): Moved from xfaces.c.
4398 Argument type changed. Handle a font-spec too.
4399 (font_score): Check Vface_font_rescale_alist.
4400 (font_open_entity): Likewise. (Bug#1547)
4401
4402 * xfaces.c (font_rescale_ratio): Moved to font.c.
4403
4404 2008-12-13 Chong Yidong <cyd@stupidchicken.com>
4405
4406 * xfns.c (Fx_wm_set_size_hint): Check if the frame is an X frame.
4407
4408 2008-12-12 Jason Rumney <jasonr@gnu.org>
4409
4410 * w32fns.c (x_display_info_for_name, Fx_open_connection): Set
4411 Vwindow_system_version to the real w32 major version.
4412
4413 2008-12-12 Dan Nicolaescu <dann@ics.uci.edu>
4414
4415 * term.c (init_tty): Move setting the terminal name before the
4416 potential user: maybe_fatal.
4417
4418 2008-12-11 Chong Yidong <cyd@stupidchicken.com>
4419
4420 * term.c (tty_free_frame_resources): Renamed from delete_tty_output;
4421 all callers changed. Call free_frame_faces to free the face cache.
4422
4423 2008-12-11 Jason Rumney <jasonr@gnu.org>
4424
4425 * w32font.c (fill_in_logfont): Don't assume symbol script means
4426 SYMBOL_CHARSET. (Bug#547)
4427
4428 * w32uniscribe.c (uniscribe_encode_char): Increase glyph buffer
4429 size for surrogates. (Bug#1096, bug#872)
4430
4431 2008-12-11 Juanma Barranquero <lekktu@gmail.com>
4432
4433 * w32proc.c (Fw32_get_locale_info): Decode long form of locale name.
4434
4435 2008-12-11 Juanma Barranquero <lekktu@gmail.com>
4436
4437 * process.c (Fsystem_process_attributes, syms_of_process):
4438 Fix typo in name of Ssystem_process_attributes.
4439 Reported by Ulrich Mueller <ulm@kph.uni-mainz.de>.
4440
4441 2008-12-11 Juanma Barranquero <lekktu@gmail.com>
4442
4443 * syntax.c (Fmodify_syntax_entry): Doc fix.
4444
4445 2008-12-10 Juanma Barranquero <lekktu@gmail.com>
4446
4447 * font.c (Ffont_spec): Move usage to end of docstring.
4448
4449 2008-12-10 Jason Rumney <jasonr@gnu.org>
4450
4451 * w32font.c (Qcham): New symbol.
4452 (font_supported_scripts): Add cham, and comments for other new
4453 scripts in bitfield from OpenType spec.
4454 (add_font_entity_to_list): Limit unicode-sip fonts to those that
4455 contain characters beyond the bmp.
4456
4457 2008-12-10 Kenichi Handa <handa@m17n.org>
4458
4459 * ftfont.c (fc_charset_table): Add "unicode-sip".
4460 (ftfont_spec_pattern): Lookup fc_charset_table for the registry
4461 Qunicode_sip.
4462
4463 2008-12-10 Juanma Barranquero <lekktu@gmail.com>
4464
4465 * coding.c (QCdefault_char): Rename from QCdefalut_char.
4466 (Fcoding_system_put): Use QCdefault_char.
4467 (syms_of_coding): Set QCdefault_char, not QCdefalut_char.
4468
4469 2008-12-09 Chong Yidong <cyd@stupidchicken.com>
4470
4471 * xftfont.c (syms_of_xftfont): Fix typo.
4472
4473 * buffer.c (Fbuffer_swap_text): Signal error if swapping a dead buffer.
4474
4475 2008-12-08 Dan Nicolaescu <dann@ics.uci.edu>
4476
4477 * emacs.c (main): Close daemon_pipe on exec.
4478
4479 2008-12-08 Chong Yidong <cyd@stupidchicken.com>
4480
4481 * termchar.h (struct tty): New members termcap_term_buffer and
4482 termcap_strings_buffer.
4483
4484 * term.c (encode_terminal_code): Free any previous memory blocks
4485 before calling xmalloc for encode_terminal_src or encode_terminal_dst.
4486 (maybe_fatal): Buffer argument deleted. Don't free buffer here.
4487 All callers changed.
4488 (init_tty): Store termcap data and string buffers in new struct
4489 tty members termcap_term_buffer and termcap_strings_buffer.
4490 (delete_tty): Free them.
4491 (syms_of_term): Initialize encode_terminal_src and encode_terminal_dst.
4492
4493 2008-12-07 Seiji Zenitani <zenitani@mac.com>
4494
4495 * nsfns.m (ns_set_background_color): Remove code duplication.
4496 It was a substitute for face-transparency on OS X 10.3.
4497
4498 2008-12-06 Chong Yidong <cyd@stupidchicken.com>
4499
4500 * coding.c (make_conversion_work_buffer): Disable buffer
4501 modification hooks in the work buffer.
4502
4503 2008-12-05 Eli Zaretskii <eliz@gnu.org>
4504
4505 * process.c (procfs_system_process_attributes): If `nread' has a
4506 negative value, assign zero to it.
4507
4508 2008-12-05 Chong Yidong <cyd@stupidchicken.com>
4509
4510 * eval.c (Vdebug_on_error): Doc fix.
4511
4512 2008-12-05 Kenichi Handa <handa@m17n.org>
4513
4514 * ftfont.c (ftfont_shape_by_flt): Use "combining" flt if the
4515 second character is a combining character.
4516
4517 2008-12-05 Eli Zaretskii <eliz@gnu.org>
4518
4519 * process.c (procfs_system_process_attributes): Don't use cmd,
4520 cmdsize, and q without initializing them first.
4521
4522 2008-12-04 Jason Rumney <jasonr@gnu.org>
4523
4524 * w32font.c (w32font_draw): Initialize orig_clip before getting
4525 it, and delete it when finished.
4526
4527 2008-12-04 Dan Nicolaescu <dann@ics.uci.edu>
4528
4529 * keyboard.c (kbd_buffer_get_event): Follow the non-interactive
4530 case when running as a daemon before detaching.
4531
4532 2008-12-03 Juanma Barranquero <lekktu@gmail.com>
4533
4534 * w32.c (init_environment): Don't unload library shell32.dll.
4535
4536 2008-12-03 Kenichi Handa <handa@m17n.org>
4537
4538 * font.c (font_at): Set `multibyte' at first.
4539
4540 * coding.c (decode_coding_charset): Check type of an element of
4541 vector VALIDS.
4542 (encode_coding_emacs_mule): Be sure to set `code'.
4543
4544 * fontset.c (face_for_char): Handle invalid charset property correctly.
4545 (font_for_char): Likewise.
4546
4547 2008-12-03 Chong Yidong <cyd@stupidchicken.com>
4548
4549 * font.c (Fopen_font): Compute pixel size correctly.
4550 (font_update_lface): Handle fonts with corrupted size specs,
4551 i.e. non-int and non-float.
4552
4553 * ftfont.c (ftfont_match): Initialize entity variable.
4554 (ftfont_resolve_generic_family): Avoid using uninitialized var.
4555 (ftfont_list_family): Initialize list var earlier.
4556
4557 * xselect.c (Fx_get_cut_buffer_internal): Fix memory leak.
4558
4559 * xterm.c (x_draw_glyph_string): Fall back on
4560 underline_minimum_offset for underline position.
4561
4562 2008-12-03 Dan Nicolaescu <dann@ics.uci.edu>
4563
4564 * keyboard.c (read_char_help_form_unwind): Specify the type for ARG.
4565
4566 * character.c (c_string_width): Specify the type for LEN.
4567
4568 2008-12-03 Kenichi Handa <handa@m17n.org>
4569
4570 * coding.c (decode_coding_utf_16): Initialize consumed_chars_base to 0.
4571 (decode_coding_utf_8): Likewise.
4572 (detect_coding_system): Initialize utf_16_le_eol to -1, val to Qnil.
4573 (produce_chars): Initialize consumed_chars to 0.
4574
4575 2008-12-02 Chong Yidong <cyd@stupidchicken.com>
4576
4577 * keyboard.c (make_lispy_position): Only use PT if the selected
4578 window is current.
4579
4580 2008-12-02 Andreas Schwab <schwab@suse.de>
4581
4582 * font.c (font_unparse_fcname): Fix use of uninitialized variable.
4583
4584 * doprnt.c (doprnt1): Fix size of charbuf.
4585
4586 2008-12-02 Chong Yidong <cyd@stupidchicken.com>
4587
4588 * keyboard.c (timer_check): Revert last change.
4589
4590 2008-12-02 Juanma Barranquero <lekktu@gmail.com>
4591
4592 * makefile.w32-in ($(BLD)/w32console.$(O)): Fix silly, silly typo.
4593
4594 2008-12-01 Juanma Barranquero <lekktu@gmail.com>
4595
4596 * makefile.w32-in: Update dependencies.
4597 (CONFIG_H): Add $(EMACS_ROOT)/nt/inc/sys/time.h.
4598
4599 2008-12-01 Andreas Schwab <schwab@suse.de>
4600
4601 * font.c (register_font_driver): Use xmalloc.
4602 (font_put_frame_data): Likewise.
4603
4604 2008-12-01 Chong Yidong <cyd@stupidchicken.com>
4605
4606 * xfaces.c (realize_x_face): Make abort condition clearer.
4607
4608 * gtkutil.c (update_frame_tool_bar): Initialize variable.
4609
4610 2008-11-30 Chong Yidong <cyd@stupidchicken.com>
4611
4612 * keyboard.c (timer_check): After a timer runs, ensure that the
4613 selected window's buffer is current.
4614
4615 2008-11-30 Juanma Barranquero <lekktu@gmail.com>
4616
4617 * makefile.w32-in ($(BLD)/abbrev.$(O)): Remove.
4618 It was accidentally restored by the Unicode merge.
4619
4620 * w32proc.c (Fw32_get_locale_info): Fix typo in docstring.
4621
4622 2008-11-29 Juanma Barranquero <lekktu@gmail.com>
4623
4624 * w32proc.c: Include "coding.h".
4625 (Fw32_short_file_name): Encode filename passed to Windows API.
4626 (Fw32_long_file_name): Encode filename passed to Windows API and
4627 decode back the result. (Bug#1433)
4628
4629 2008-11-29 Kenichi Handa <handa@m17n.org>
4630
4631 * charset.h (CHAR_CHARSET_P): Check if the encoder is loaded or
4632 not before accessing it.
4633
4634 * charset.c (Fdefine_charset_internal): After calculating
4635 min_char, max_char, and fastmap, copy the charset structure again.
4636 (encode_char): Fix the previous change.
4637
4638 2008-11-28 Seiji Zenitani <zenitani@mac.com>
4639
4640 * frame.c (x_set_alpha) [NS_IMPL_COCOA]: Call x_set_frame_alpha.
4641
4642 * nsfns.m (ns_frame_parm_handlers): Set alpha handler.
4643
4644 * nsterm.m (x_set_frame_alpha): New function.
4645
4646 2008-11-27 Eli Zaretskii <eliz@gnu.org>
4647
4648 * xfaces.c (Fx_font_family_list, syms_of_xfaces): Fix last change.
4649
4650 2008-11-27 Juanma Barranquero <lekktu@gmail.com>
4651
4652 * w32font.c (add_font_entity_to_list): Pass the right LOGFONT
4653 pointer to check_face_name.
4654
4655 2008-11-27 Kenichi Handa <handa@m17n.org>
4656
4657 * category.h (SET_CATEGORY_SET): Call set_category_set.
4658 (set_category_set): Extern it.
4659
4660 * category.c (hash_get_category_set): New function.
4661 (Fmodify_category_entry): Adjusted for the change of
4662 char_table_ref_and_range. Call hash_get_category_set to get a
4663 category set to store in the table.
4664
4665 * character.h (MAYBE_UNIFY_CHAR): Call maybe_unify_char instead of
4666 Funify_charset.
4667
4668 * charset.h (enum charset_method): Delete CHARSET_METHOD_MAP_DEFERRED.
4669 (DECODE_CHAR): Check if the decoder vector is ready.
4670 (ENCODE_CHAR): Check if the encoder char-table is ready.
4671 (maybe_unify_char): Extern it.
4672
4673 * charset.c (Vchar_unified_charset_table): Delete it.
4674 (inhibit_load_charset_map): New variable.
4675 (temp_charset_work): New variable.
4676 (SET_TEMP_CHARSET_WORK_ENCODER, GET_TEMP_CHARSET_WORK_ENCODER)
4677 (SET_TEMP_CHARSET_WORK_DECODER, GET_TEMP_CHARSET_WORK_DECODER):
4678 New macros.
4679 (load_charset_map): Meaning of control_flag changed. If
4680 inhibit_load_charset_map is nonzero, setup a table in
4681 temp_charset_work.
4682 (load_charset): New argument control_flag.
4683 (map_charset_for_dump): New function.
4684 (map_charset_chars): If inhibit_load_charset_map is nonzero, use
4685 map_charset_for_dump.
4686 (Fdefine_charset_internal): If the charset method is MAP, load
4687 mapping tables by calling load_charset.
4688 (Funify_charset): Don't load a mapping table but directly set
4689 Vchar_unify_table.
4690 (maybe_unify_char): New function.
4691 (decode_char): Don't handle the deleted method MAP_DEFERRED.
4692 Handle the case of inhibit_load_charset_map being nonzero.
4693 (encode_char): Don't handle the deleted method MAP_DEFERRED.
4694 Handle the case of inhibit_load_charset_map being nonzero.
4695 (Fclear_charset_maps): Just free temp_charset_work.
4696 (syms_of_charset): Make `inhibit-load-charset-map' a Lisp
4697 variable.
4698
4699 * chartab.c (sub_char_table_ref_and_range): Adjusted for the
4700 change of char_table_ref_and_range.
4701 (char_table_ref_and_range): Change the meaning of argument FROM
4702 and TO. Now the caller must provide initial values for *FROM
4703 and *TO.
4704
4705 * fontset.c (fontset_add): Adjusted for the change of
4706 char_table_ref_and_range.
4707 (fontset_get_font_group): Likewise.
4708 (Ffontset_info): Likewise.
4709
4710 * keymap.c (describe_vector): Adjusted for the change of
4711 char_table_ref_and_range. For char-table, put boundary between
4712 non-ASCII and 8-bit characters.
4713
4714 * print.c (print_object): For bool-vector, delete unnecessary
4715 check of ASCII_BYTE_P.
4716
4717 2008-11-26 Jason Rumney <jasonr@gnu.org>
4718
4719 * w32font.c (w32font_open_internal): Don't include external
4720 leading in font height. (Bug#879)
4721
4722 2008-11-26 Glenn Morris <rgm@gnu.org>
4723
4724 * xfaces.c (Fx_font_family_list): Replace lisp/term/pc-win.el
4725 redefinition with ifdef. (Bug#1383)
4726
4727 2008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
4728
4729 * nsterm.m (ns_get_color): Handle long hex strings (fixes bug #1044).
4730
4731 2008-11-24 Wolfgang Lux <wolfgang.lux@gmail.com> (tiny change)
4732
4733 * nsterm.m (-otherMouseDown:, -otherMouseUp:, -otherMouseDragged):
4734 New EmacsView methods.
4735 (EV_UDMODIFIERS, EV_BUTTON): Add OtherMouse constants.
4736 Fixes bug #1048,1357,1414.
4737
4738 2008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
4739
4740 Fix bug #1362.
4741 * image.c (x_clear_image_1): Do not free background under HAVE_NS, it
4742 is not an indexed color.
4743 * nsterm.m (free_indexed_color): Add argument checking.
4744 * nsfns.m: Move config.h to before system includes (advised by Dan N.).
4745
4746 2008-11-24 Chong Yidong <cyd@stupidchicken.com>
4747
4748 * minibuf.c (Fcompleting_read, Vminibuffer_completion_confirm):
4749 Document confirm-after-completion value for
4750 minibuffer-completion-confirm.
4751
4752 2008-11-24 Jason Rumney <jasonr@gnu.org>
4753
4754 * w32font.c (check_face_name): Use xstrcasecmp. Avoid compiler
4755 warning.
4756
4757 2008-11-23 Jason Rumney <jasonr@gnu.org>
4758
4759 * w32uniscribe.c (uniscribe_encode_char): Ensure context is
4760 restored before returning.
4761
4762 * w32font.c (check_face_name): New function.
4763 (add_font_entity_to_list): Use it to filter out common substituted
4764 fonts. (Bug#642)
4765
4766 2008-11-22 Martin Rudalics <rudalics@gmx.at>
4767
4768 * buffer.c (Fswitch_to_buffer): Reword and mention new option
4769 confirm-nonexistent-file-or-buffer in doc-string.
4770
4771 2008-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
4772
4773 * buffer.c (Fbuffer_swap_text): Remove redundant marker manipulation.
4774 Fix copy/paste typo. Add checks.
4775
4776 2008-11-21 Kenichi Handa <handa@m17n.org>
4777
4778 * coding.c (detect_coding_iso_2022): Reject invalid composition
4779 sequence.
4780 (DECODE_COMPOSITION_START): If the current source is the last
4781 block, and the current composition doesn't end, regard this
4782 sequence as invalid.
4783 (decode_coding_iso_2022): Handle invalid composition sequence.
4784
4785 2008-11-20 Martin Rudalics <rudalics@gmx.at>
4786
4787 * window.c (coordinates_in_window): Don't return
4788 ON_VERTICAL_BORDER for the rightmost position of a mode/header
4789 line when the window is not the rightmost one. (Bug#1372)
4790
4791 2008-11-16 Ben North <ben@redfrontdoor.org> (tiny change)
4792
4793 * buffer.c (syms_of_buffer): Fix doc-string of cursor-type.
4794
4795 2008-11-15 Eli Zaretskii <eliz@gnu.org>
4796
4797 * msdos.c (run_msdos_command): Don't call dos_ttcooked, dos_ttraw,
4798 and bright_bg if noninteractive is non-zero.
4799
4800 2008-11-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4801
4802 * xterm.c (x_draw_glyph_string): For stretch glyphs, don't call
4803 x_draw_glyph_string_background.
4804
4805 * w32term.c (x_draw_glyph_string): Likewise.
4806
4807 2008-11-15 Chong Yidong <cyd@stupidchicken.com>
4808
4809 * xterm.c (x_draw_glyph_string): Stop drawing the background of
4810 the next glyph string once past the overhang width.
4811
4812 * nsterm.m (ns_draw_glyph_string): Likewise.
4813
4814 * w32term.c (x_draw_glyph_string): Likewise.
4815
4816 2008-11-14 Fabrice Popineau <fabrice.popineau@supelec.fr> (tiny change)
4817
4818 * fileio.c (Finsert_file_contents): Decrement specpdl_ptr to avoid
4819 double file close.
4820
4821 2008-11-14 Martin Rudalics <rudalics@gmx.at>
4822
4823 * window.c (window_loop): In DELETE_BUFFER_WINDOWS case, reset
4824 dedicated status of window before attempting to display another
4825 buffer in it.
4826
4827 2008-11-14 Juanma Barranquero <lekktu@gmail.com>
4828
4829 * msdos.c (Fmsdos_long_file_names):
4830 (syms_of_msdos) <dos-unsupported-char-glyph>:
4831 * dosfns.c (Fint86): Fix typos in docstrings.
4832
4833 2008-11-14 Eli Zaretskii <eliz@gnu.org>
4834
4835 * makefile.w32-in (OBJ1, WIN32OBJ): Fix whitespace.
4836
4837 2008-11-14 Katsumi Yamaoka <yamaoka@jpl.org>
4838
4839 * puresize.h (BASE_PURESIZE): Increase to 1260000.
4840
4841 2008-11-12 Michal Nazarewicz <mina86@tlen.pl> (tiny change)
4842
4843 * frame.c (x_set_alpha): Set alpha to -1 if nil given.
4844
4845 * frame.h: Negative alpha means "don't touch".
4846
4847 * w32term.c (x_set_frame_alpha): Do nothing if alpha is negative.
4848
4849 * xterm.c (x_set_frame_alpha): Do nothing if alpha is negative.
4850
4851 2008-11-12 Dan Nicolaescu <dann@ics.uci.edu>
4852
4853 * hftctl.c:
4854 * chpdef.h:
4855 * acldef.h: Remove files used only for systems no longer supported.
4856
4857 * Makefile.in: Fix .o alphabetical ordering.
4858 (hftctl.o): Remove dependency, file removed.
4859 (keymap.o, print.o): Depend on charset.h.
4860
4861 2008-11-10 Kenichi Handa <handa@m17n.org>
4862
4863 * character.c (Fget_byte): Fix and make it faster for unibyte target.
4864
4865 2008-11-08 Chong Yidong <cyd@stupidchicken.com>
4866
4867 * dired.c (file_name_completion): If completion_ignore_case is
4868 enabled, ignore case when checking completion-regexp-list.
4869
4870 2008-11-08 Eli Zaretskii <eliz@gnu.org>
4871
4872 * vm-limit.c (get_lim_data): Fix last change.
4873
4874 2008-11-08 Kenichi Handa <handa@m17n.org>
4875
4876 * character.c (Fget_byte): New function.
4877 (syms_of_character): Defsubr Fget_byte.
4878
4879 2008-11-07 Chong Yidong <cyd@stupidchicken.com>
4880
4881 * xdisp.c (try_window_reusing_current_matrix): Ensure that window
4882 cursor position is valid after scrolling.
4883
4884 2008-11-06 Juanma Barranquero <lekktu@gmail.com>
4885
4886 * fns.c (Frandom): Rename arg N to LIMIT to match the docs; doc fix.
4887
4888 2008-11-06 Glenn Morris <rgm@gnu.org>
4889
4890 * xterm.c (handle_one_xevent): Don't let popup menus cause
4891 mouse-autoselect-window related window switching. (Bug#1261)
4892
4893 2008-11-04 David Smith <davidsmith@acm.org> (tiny change)
4894
4895 * xterm.c (xim_close_dpy): Avoid double-free on X11R6 XIM.
4896
4897 2008-11-04 Andreas Schwab <schwab@suse.de>
4898
4899 * xfns.c (Fx_wm_set_size_hint): Add missing return value.
4900
4901 2008-11-03 Chong Yidong <cyd@stupidchicken.com>
4902
4903 * xfns.c (Fx_wm_set_size_hint): New function.
4904
4905 2008-11-03 Martin Rudalics <rudalics@gmx.at>
4906
4907 * textprop.c (Fprevious_single_char_property_change): Return 0
4908 when there's no change in a string. (Bug#1301)
4909
4910 2008-11-02 Martin Rudalics <rudalics@gmx.at>
4911
4912 * frame.c (do_switch_frame): New argument NORECORD passed to
4913 Fselect_window.
4914 (Fselect_frame): New argument NORECORD passed to
4915 do_switch_frame.
4916 (Fset_frame_selected_window): New argument NORECORD passed to
4917 Fselect_frame.
4918 (Fhandle_switch_frame, Fdelete_frame): Handle NORECORD argument
4919 in call of do_switch_frame.
4920 (Fset_mouse_position, Fset_mouse_pixel_position, Fraise_frame):
4921 Handle NORECORD argument in call of Fselect_frame.
4922 * lisp.h (do_switch_frame, Fselect_frame)
4923 (Fset_frame_selected_window): Adjust declarations.
4924 * window.c (select_frame_norecord): New function.
4925 (run_window_configuration_change_hook): Use it and call
4926 Fselect_frame with NORECORD set.
4927 (Fselect_window): Pass NORECORD to Fselect_frame.
4928 (Fset_window_configuration): Handle NORECORD argument in call of
4929 do_switch_frame.
4930 * minibuf.c (choose_minibuf_frame): Handle NORECORD in call of
4931 Fset_frame_selected_window.
4932 * keyboard.c (command_loop_1): Handle NORECORD in call of
4933 Fselect_frame (currently ifdefd).
4934
4935 2008-11-02 Ulrich Mueller <ulm@kph.uni-mainz.de>
4936
4937 * emacs.c (USAGE2): Untabify.
4938
4939 2008-11-01 Stefan Monnier <monnier@iro.umontreal.ca>
4940
4941 * composite.c (fill_gstring_header): Fix copy/paste typo.
4942
4943 2008-10-31 Martin Rudalics <rudalics@gmx.at>
4944
4945 * window.c (Fnext_window, Fprevious_window): Rewrite doc-string.
4946 (Fother_window): Rename argument and rewrite doc-string.
4947 (select_window_norecord): Fix return value. (Bug#1276)
4948
4949 2008-10-30 Juanma Barranquero <lekktu@gmail.com>
4950
4951 * w32fns.c (x_create_tip_frame): Prevent default foreground color for
4952 new frames overriding foreground for tooltips. Based on similar patch
4953 from Martin Rudalics <rudalics@gmx.at>. (Bug#1032)
4954
4955 2008-10-29 Chong Yidong <cyd@stupidchicken.com>
4956
4957 * emacs.c (Fdaemon_initialized): Initialize nfd.
4958
4959 2008-10-29 Martin Rudalics <rudalics@gmx.at>
4960
4961 * window.c (Fwindow_height, Fdelete_window, set_window_buffer)
4962 (Fwindow_text_height): Clarify doc-strings.
4963 * xdisp.c (syms_of_xdisp): Mention set-window-buffer in
4964 doc-string of window-scroll-functions.
4965
4966 2008-10-28 Reiner Steib <Reiner.Steib@gmx.de>
4967
4968 * category.c (syms_of_category): Fix typo in docstring.
4969
4970 2008-10-28 Juanma Barranquero <lekktu@gmail.com>
4971
4972 * window.c (Fwindowp, Fwindow_live_p, Fwindow_minibuffer_p)
4973 (Fcoordinates_in_window_p, Fscroll_left, Fscroll_right):
4974 Fix typos in docstrings.
4975
4976 2008-10-28 Dan Nicolaescu <dann@ics.uci.edu>
4977
4978 * emacs.c (daemon_pipe): Make non-static.
4979 (IS_DAEMON): Move definition ...
4980 * lisp.h (IS_DAEMON): ... here.
4981 (daemon_pipe): Declare.
4982 (is_daemon): Remove.
4983 * dispnew.c (init_display): Use IS_DAEMON.
4984
4985 2008-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
4986
4987 * xdisp.c (pos_visible_p, redisplay_internal, message3_nolog)
4988 (message2_nolog): Check FRAME_INITIAL_P instead of noninteractively.
4989
4990 * emacs.c (is_daemon): Remove.
4991 (main): Don't set is_daemon.
4992 (IS_DAEMON): New macro.
4993 (Fdaemonp, Fdaemon_initialized): Use it.
4994 (Fdaemon_initialized): Write a char into the pipe to make sure the
4995 parent exits.
4996 (syms_of_emacs): Explicitly initialize daemon_pipe[1].
4997
4998 2008-10-27 Chong Yidong <cyd@stupidchicken.com>
4999
5000 * nsterm.m (ns_draw_window_cursor): When hbar cursor is on
5001 over-sized glyph, draw it with the default glyph width.
5002
5003 * w32term.c (x_draw_bar_cursor): When hbar cursor is on over-sized
5004 glyph, draw it with the default glyph width.
5005
5006 * xterm.c (x_draw_bar_cursor): When hbar cursor is on over-sized
5007 glyph, draw it with the default glyph width.
5008
5009 * xdisp.c (try_scrolling): When computing the distance from the
5010 scroll margin to PT, try moving some distance past the window
5011 bottom before giving up.
5012
5013 2008-10-27 Martin Rudalics <rudalics@gmx.at>
5014
5015 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p)
5016 (Fset_window_buffer): Explain in doc-string that a window can be
5017 "strongly" dedicated to its buffer.
5018
5019 2008-10-27 Dan Nicolaescu <dann@ics.uci.edu>
5020
5021 * emacs.c (daemon_name): New variable.
5022 (main): Deal with --daemon=SERVER_NAME.
5023 (Fdaemonp): Return a name if one was passed to --daemon.
5024
5025 2008-10-26 Romain Francoise <romain@orebokech.com>
5026
5027 * emacs.c (daemon_pipe): New variable.
5028 (main): Create a pipe before forking, make the parent exit only after
5029 the child has closed its end of the pipe. Move closing the
5030 descriptors ...
5031 (Fdaemon_initialized): ... here. New function.
5032
5033 2008-10-26 Stefan Monnier <monnier@iro.umontreal.ca>
5034
5035 * chartab.c (Foptimize_char_table): Make sure `ascii' doesn't point to
5036 the previous unoptimized table.
5037
5038 * window.c (Fset_window_buffer): Undo 2008-10-18 change to re-instate
5039 the distinction between non-nil and non-t value of `dedicated'.
5040
5041 2008-10-25 Chong Yidong <cyd@stupidchicken.com>
5042
5043 * keyboard.c (read_char_minibuf_menu_prompt): Ensure that
5044 read_char_minibuf_menu_text is large enough to hold the menu string.
5045
5046 2008-10-25 Martin Rudalics <rudalics@gmx.at>
5047
5048 * window.c (Fget_buffer_window, Fdelete_windows_on)
5049 (Freplace_buffer_in_windows): Make buffer argument optional and
5050 rename to buffer_or_name.
5051
5052 2008-10-24 Chong Yidong <cyd@stupidchicken.com>
5053
5054 * xdisp.c (handle_single_display_spec, handle_display_prop):
5055 Undo 2005-05-16 change.
5056 (handle_stop): Pop iterator if it's loaded with an empty string.
5057 (get_overlay_strings_1): Don't save iterator if it's loaded with
5058 an empty string (bug#1201).
5059
5060 2008-10-24 Kenichi Handa <handa@m17n.org>
5061
5062 * ftfont.c (ftfont_otf_features): Fix previous change.
5063 (ftfont_otf_capability): Check FeatureList.FeatureCount before
5064 calling ftfont_otf_features.
5065
5066 2008-10-24 Kenichi Handa <handa@m17n.org>
5067
5068 * font.c (font_match_p): Fix for the case that a vector of
5069 characters is in script-representative-chars.
5070
5071 2008-10-24 Michael Albinus <michael.albinus@gmx.de>
5072
5073 * dbusbind.c (xd_in_read_queued_messages): New variable.
5074 (XD_SIGNAL1, XD_SIGNAL2, XD_SIGNAL3): New macros. Throw Qdbus_error.
5075 (xd_read_queued_messages): Catch Qdbus_error from the macros.
5076 (all): Replace xsignal1, xsignal2, xsignal3 by the respective
5077 macro. (Bug#1186).
5078
5079 2008-10-23 Ali Bahrami <ali_gnu@emvision.com> (tiny change)
5080
5081 * s/sol2-10.h: New file.
5082
5083 2008-10-23 Juanma Barranquero <lekktu@gmail.com>
5084
5085 * xdisp.c (fill_glyph_string): Fix typo in source (though the
5086 poor beast has survived 9+ years and the jump from xterm.c!).
5087
5088 2008-10-23 Martin Rudalics <rudalics@gmx.at>
5089
5090 * buffer.c (Fget_buffer_create): Rename arg to buffer_or_name.
5091 Reword doc-string.
5092 (Fbury_buffer): In doc-string say what happens to the buffer's window.
5093
5094 2008-10-23 Juanma Barranquero <lekktu@gmail.com>
5095
5096 * character.c (syms_of_character) <script-representative-chars>:
5097 <unicode-category-table>: Doc fixes.
5098
5099 2008-10-23 Noah Friedman <friedman@splode.com>
5100
5101 * coding.c (make_conversion_work_buffer): Check that
5102 Vcode_conversion_reused_workbuf is a live buffer, otherwise call
5103 Fget_buffer_create.
5104
5105 2008-10-23 Kenichi Handa <handa@m17n.org>
5106
5107 * font.c (font_add_log): Check the values of extra properties.
5108
5109 2008-10-22 Martin Rudalics <rudalics@gmx.at>
5110
5111 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
5112 Reword doc-string.
5113 (Fset_window_parameter): Use NILP.
5114 (Fscroll_up, Fscroll_down, Fminibuffer_selected_window)
5115 (Frecenter): Use "selected" instead of "current" window in doc-strings.
5116
5117 2008-10-22 Juanma Barranquero <lekktu@gmail.com>
5118
5119 * xdisp.c (next_element_from_buffer): Remove bogus xassert condition.
5120
5121 2008-10-22 Adrian Robert <Adrian.B.Robert@gmail.com>
5122
5123 * nsfns.m (ns_appkit_version): New function.
5124 (x-server-version): Use it.
5125 (syms_of_nsfns): Define ns-version-string here, not nsterm.m.
5126 (x-server-vendor): Don't check_ns().
5127
5128 * nsterm.m (syms_of_nsterm): Drop ns-version-string.
5129
5130 2008-10-22 Juanma Barranquero <lekktu@gmail.com>
5131
5132 * w32fns.c (unwind_create_frame) [!GLYPH_DEBUG]: Fix xassert.
5133 Copied from 2005-02-03 change to xfns.c by Kim F. Storm.
5134
5135 2008-10-22 Kenichi Handa <handa@m17n.org>
5136
5137 * syntax.c (scan_words): Call word_boundary_p instead of comparing
5138 scripts.
5139
5140 * category.c (word_boundary_p): Check scripts instead of charset.
5141 Handle nil value in word-separating-categories and
5142 word-combining-categories.
5143 (syms_of_category): Fix docstrings of word-separating-categories
5144 and word-combining-categories.
5145
5146 2008-10-21 Eli Zaretskii <eliz@gnu.org>
5147
5148 * coding.c (Fencode_coding_region, Fdecode_coding_region)
5149 (Fdecode_coding_string, Fencode_coding_string): Doc fix.
5150
5151 2008-10-21 Martin Rudalics <rudalics@gmx.at>
5152
5153 * buffer.c (Fget_buffer, Fbury_buffer, switch_to_buffer_1):
5154 Rename arg "buffer" to "buffer_or_name".
5155 (Fkill_buffer): Rename arg "buffer" to "buffer_or_name" and make
5156 it optional.
5157 (no_switch_window): Remove since the return value is not used.
5158 (Fswitch_to_buffer): Rename arg "buffer" to "buffer_or_name".
5159 Consider window as dedicated when Fwindow_dedicated_p returns a
5160 non-nil value.
5161 * lisp.h: Remove prototype for no_switch_window.
5162
5163 2008-10-21 Jan Djärv <jan.h.d@swipnet.se>
5164
5165 * emacs.c (main): Unconditionally set PER_LINUX32 and exec
5166 temacs when dumping if HAVE_PERSONALITY_LINUX32 is defined.
5167
5168 2008-10-21 Kenichi Handa <handa@m17n.org>
5169
5170 * coding.c (detect_coding_charset): For iso-8859-* coding systems,
5171 check Vlatin_extra_code_table.
5172
5173 2008-10-20 Eli Zaretskii <eliz@gnu.org>
5174
5175 * fileio.c (Fset_file_modes): Doc fix.
5176
5177 2008-10-19 Michael Albinus <michael.albinus@gmx.de>
5178
5179 * dbusbind.c (XD_OBJECT_TO_DBUS_TYPE): Handle simple type symbols
5180 in arrays.
5181
5182 2008-10-19 Martin Rudalics <rudalics@gmx.at>
5183
5184 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
5185 Mention kill-buffer in doc-string.
5186 (Fset_window_buffer): Reinsert tem check removed in last commit.
5187 (Fenlarge_window, Fshrink_window): Have argument names and
5188 doc-string follow Elisp manual more closely.
5189
5190 2008-10-18 Eli Zaretskii <eliz@gnu.org>
5191
5192 * fileio.c (Fset_file_modes): Doc fix.
5193
5194 2008-10-18 Martin Rudalics <rudalics@gmx.at>
5195
5196 * window.c (Fwindow_width, Fset_window_start)
5197 (Fwindow_parameters, Fwindow_parameter, Fset_window_parameter)
5198 (Fdelete_windows_on, Freplace_buffer_in_windows):
5199 Make doc-strings follow code and Elisp manual more closely.
5200 (Fwindow_dedicated_p): Make window argument optional.
5201 (Fset_window_dedicated_p): Rename argument "arg" to "flag".
5202 (Fset_window_buffer): Respect any non-nil dedicated value for
5203 window. Rename "buffer" argument to "buffer_or_name".
5204
5205 2008-10-18 Ulrich Mueller <ulm@gentoo.org>
5206
5207 * m/sh3.h: New file, machine description for SuperH.
5208
5209 2008-10-17 Martin Rudalics <rudalics@gmx.at>
5210
5211 * window.c (Fsplit_window): Rename arg horflag to horizontal.
5212
5213 2008-10-17 Kenichi Handa <handa@m17n.org>
5214
5215 * ftfont.c (ftfont_otf_features): Fix indexing
5216 gsub_gpos->FeatureList.Feature. Check the validity of indices.
5217
5218 2008-10-16 Magnus Henoch <mange@freemail.hu>
5219
5220 * dbusbind.c (Fdbus_call_method): Unbreak usage line.
5221 (Fdbus_call_method_asynchronously): Ditto.
5222 This change makes C-h f display the argument list.
5223
5224 2008-10-16 Chong Yidong <cyd@stupidchicken.com>
5225
5226 * fileio.c (Fexpand_file_name): Doc fix.
5227
5228 * xfaces.c (Finternal_set_lisp_face_attribute): Make null values
5229 of :foreground and :background equivalent to unspecified (20.x
5230 compatibility).
5231
5232 2008-10-15 Eli Zaretskii <eliz@gnu.org>
5233
5234 * buffer.c (syms_of_buffer): Doc fix.
5235
5236 2008-10-14 Kenichi Handa <handa@m17n.org>
5237
5238 * font.c (font_clear_prop): When clearing font width, clear the
5239 average width field too.
5240
5241 2008-10-12 Andreas Schwab <schwab@suse.de>
5242
5243 * ftfont.c (ftfont_shape_by_flt): Make static.
5244 * ftfont.h (ftfont_shape_by_flt): Don't declare.
5245
5246 * font.c: Don't include <m17n-flt.h>.
5247
5248 2008-10-10 Eli Zaretskii <eliz@gnu.org>
5249
5250 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Decrease to 10000.
5251
5252 2008-10-09 Eli Zaretskii <eliz@gnu.org>
5253
5254 * frame.c (make_terminal_frame) [MSDOS]: Remove unused #ifdef'ed
5255 away code.
5256
5257 2008-10-09 Chong Yidong <cyd@stupidchicken.com>
5258
5259 * dispnew.c (update_text_area): Avoid looping due to large glyph
5260 overhangs (bug#1070).
5261
5262 2008-10-09 Kenichi Handa <handa@m17n.org>
5263
5264 * fontset.c (face_for_char): If face->fontset is negative, just
5265 return ascii_face.
5266
5267 * font.c (font_delete_unmatched): Fix previous change.
5268 Don't reject an entity if DPI and AVGWIDTH of an entity are 0.
5269
5270 2008-10-09 Martin Rudalics <rudalics@gmx.at>
5271
5272 * frame.c (Fraise_frame): On text-only terminals select frame in
5273 order to make it visible. (Bug#1061)
5274
5275 2008-10-08 Chong Yidong <cyd@stupidchicken.com>
5276
5277 * fontset.c (fontset_find_font): Check frame validity.
5278
5279 2008-10-07 Chong Yidong <cyd@stupidchicken.com>
5280
5281 * gtkutil.c (xg_display_open): Reset default display if none exists.
5282 (xg_display_close): Allow Emacs to close all displays (bug#985).
5283
5284 2008-10-06 Andreas Schwab <schwab@suse.de>
5285
5286 * sysdep.c (sys_signal): Always set SA_RESTART when noninteractively.
5287
5288 2008-10-06 Chong Yidong <cyd@stupidchicken.com>
5289
5290 * emacs.c (Vbefore_init_time, Vafter_init_time): Move from startup.el.
5291
5292 * lisp.h (Vbefore_init_time, Vafter_init_time): Declare.
5293
5294 * gtkutil.c (x_wm_set_size_hint): Return immediately if called
5295 during initialization.
5296
5297 2008-10-04 Eli Zaretskii <eliz@gnu.org>
5298
5299 * xdisp.c (redisplay_internal): If frame switched, redisplay the
5300 whole thing on MSDOS frames as well as on a TTY.
5301
5302 * dispnew.c (update_frame): Flush termscript for MSDOS frames as
5303 well as for TTY.
5304 (Fopen_termscript): Allow opening a termscript on MSDOS frames as
5305 well as on a TTY.
5306
5307 * sysdep.c (init_sys_modes): Set FRAME_GARBAGED_P for MSDOS frames
5308 as well as for TTY.
5309
5310 * systime.h (EMACS_TIME_CMP): Cast EMACS_SECS values to `long'.
5311
5312 * dispnew.c (change_frame_size_1): Set FrameRows and FrameCols for
5313 MSDOS frames as well.
5314
5315 2008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
5316
5317 * image.c (x_clear_image_1): Under NS, call ns_free_indexed_color with
5318 correct arguments.
5319 * menu.c (find_and_return_menu_selection): Add cast.
5320
5321 2008-10-03 Glenn Morris <rgm@gnu.org>
5322
5323 * emacs.c (USAGE1): Add --daemon.
5324
5325 2008-10-02 Eli Zaretskii <eliz@gnu.org>
5326
5327 * process.c (procfs_system_process_attributes): Multiply `pcpu' by
5328 100, so it's in percents as advertised.
5329
5330 2008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
5331
5332 * nsterm.h (ns_cursor_types, ns_output.desired_cursor_color)
5333 (ns_output.current_cursor, ns_output.desired_cursor)
5334 (ns_output.last_inactive, FRAME_CURSOR, FRAME_NEW_CURSOR)
5335 (FRAME_NEW_CURSOR_COLOR): Remove.
5336
5337 * nsfns.m (ns_set_cursor_color): Use FRAME_CURSOR_COLOR.
5338 (ns_lisp_to_cursor_type, ns_cursor_type_to_lisp): Use core Emacs
5339 enumeration (HOLLOW_BOX_CURSOR, etc.).
5340
5341 * nsterm.m (ns_frame_rehighlight): Remove commented code.
5342 (draw_window_cursor): Simplify code.
5343 (EmacsView-windowDidBecomeKey:,-windowDidResignKey:):
5344 Don't change cursor type. In latter, call rehighlight instead of doing
5345 updates manually.
5346 (EmacsPrefsController-setPanelFromValues,-setValuesFromPanel):
5347 Use core Emacs cursor types.
5348
5349 * xdisp.c (draw_glyphs): Don't call notice_overwritten_cursor under NS.
5350
5351 2008-10-02 Martin Rudalics <rudalics@gmx.at>
5352
5353 * process.c (Faccept_process_output): Fix doc-string.
5354
5355 2008-10-02 Dan Nicolaescu <dann@ics.uci.edu>
5356
5357 * gmalloc.c (__sbrk): Also define for uClibc.
5358
5359 * s/gnu-linux.h (GNU_LIBRARY_PENDING_OUTPUT_COUNT): Add definition
5360 for uClibc.
5361
5362 2008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
5363
5364 * nsfont.m (nsfont_spec_to_traits): Use UnXX masks only for non-normal
5365 styles.
5366 (nsfont_open): Reenable the cache.
5367
5368 2008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
5369
5370 * font.c (font_matching_entity): Reflect ATTRS in font selection.
5371 (font_find_for_lface) [HAVE_NS]: Don't ignore case.
5372
5373 2008-09-30 Stefan Monnier <monnier@iro.umontreal.ca>
5374
5375 * dispnew.c (Fsend_string_to_terminal): Don't try to send a string to
5376 a suspended terminal.
5377
5378 2008-09-30 Michael Albinus <michael.albinus@gmx.de>
5379
5380 * dbusbind.c (xd_signature): Use strcat instead of sprintf.
5381
5382 2008-09-30 Eli Zaretskii <eliz@gnu.org>
5383
5384 * Makefile.in (MSDOS_SUPPORT): Remove ccl.elc and codepage.elc.
5385
5386 2008-09-30 Chong Yidong <cyd@stupidchicken.com>
5387
5388 * xdisp.c (move_it_to): Don't advance the iterator if the last tab
5389 in a continued line coincides with a line beginning.
5390
5391 2008-09-29 Adrian Robert <Adrian.B.Robert@gmail.com>
5392
5393 * nsfont.m (nsfont_trait_distance): Fix bug.
5394 (nsfont_list): Return a list rather than a vector (syncs with Handa
5395 changes of 2008-05-14).
5396 (nsfont_open): Improve logging.
5397
5398 2008-09-29 Andreas Schwab <schwab@suse.de>
5399
5400 * keyboard.c (syms_of_keyboard) <input-decode-map>: Doc fix.
5401
5402 2008-09-28 Martin Rudalics <rudalics@gmx.at>
5403
5404 * character.c (Fchar_resolve_modifiers): Rewrite Elisp function
5405 name as char-resolve-modifiers.
5406 Reported by: Markus Triska <markus.triska@gmx.at>
5407
5408 2008-09-28 Dan Nicolaescu <dann@ics.uci.edu>
5409
5410 * dispnew.c (init_display): Return earlier when running as a daemon.
5411
5412 2008-09-27 Adrian Robert <Adrian.B.Robert@gmail.com>
5413
5414 * nsfont.m (nsfont_draw): Fix up composition rendering (cmp_from, ...).
5415
5416 2008-09-27 Eli Zaretskii <eliz@gnu.org>
5417
5418 * composite.c (Fcomposition_get_gstring)
5419 (Fcompose_region_internal, Fcompose_string_internal)
5420 (Ffind_composition_internal): Doc fix.
5421 (syms_of_composite) <compose-chars-after-function>: Doc fix.
5422 (syms_of_composite) <auto-composition-function>: Doc fix.
5423 (syms_of_composite) <composition-function-table>: Doc fix.
5424
5425 2008-09-25 Chong Yidong <cyd@stupidchicken.com>
5426
5427 * search.c (wordify): New argument for lax word-ends.
5428 (Fword_search_forward_lax, Fword_search_backward_lax): New funs.
5429
5430 2008-09-24 Dan Nicolaescu <dann@ics.uci.edu>
5431
5432 * lisp.h (is_daemon): Declare.
5433 * dispnew.c (init_display): Do not try to initialize the terminal
5434 when running as a daemon.
5435
5436 2008-09-22 Chong Yidong <cyd@stupidchicken.com>
5437
5438 * nsfns.m (compute_tip_xy): Use x_display_pixel_width and
5439 x_display_pixel_height.
5440
5441 2008-09-22 Martin Rudalics <rudalics@gmx.at>
5442
5443 * undo.c (record_point): Don't call Fundo_boundary for first
5444 change. (Bug#731)
5445
5446 2008-09-22 Juanma Barranquero <lekktu@gmail.com>
5447
5448 * emacs.c (Fdaemonp): Doc fix.
5449
5450 2008-09-22 Dan Nicolaescu <dann@ics.uci.edu>
5451
5452 * emacs.c (main): Place #ifdef in the proper place.
5453
5454 2008-09-21 Dan Nicolaescu <dann@ics.uci.edu>
5455
5456 * emacs.c (standard_args): Add --daemon.
5457 (main): Disconnect from the terminal when --daemon is passed.
5458 (is_daemon): New variable.
5459 (Fdaemonp): New function.
5460 (syms_of_emacs): Defsubr it.
5461
5462 2008-09-20 Chong Yidong <cyd@stupidchicken.com>
5463
5464 * xdisp.c (get_next_display_element): Handle string display
5465 correctly when checking for the end of a box run.
5466
5467 2008-09-20 Glenn Morris <rgm@gnu.org>
5468
5469 * fileio.c (Qdelete_by_moving_to_trash): New Lisp_Object.
5470 (syms_of_fileio): Add Qdelete_by_moving_to_trash.
5471 (Frename_file): Avoid copying to trash if a rename involves
5472 a delete. (Bug#964).
5473
5474 2008-09-20 Eli Zaretskii <eliz@gnu.org>
5475
5476 * keyboard.c (Fset_quit_char, Fset_input_meta_mode)
5477 (Fset_output_flow_control, Fcurrent_input_mode): Support MSDOS
5478 frames as well as termcap frames.
5479 (handle_interrupt): Remove "#ifndef MSDOS" around the call to
5480 get_named_tty.
5481
5482 2008-09-19 Eli Zaretskii <eliz@gnu.org>
5483
5484 * process.c (procfs_system_process_attributes): Fix cmdline in
5485 case /proc/PID/cmdline is empty.
5486
5487 * xterm.c (x_wm_set_size_hint): Use x_display_pixel_width and
5488 x_display_pixel_height.
5489
5490 2008-09-19 Juanma Barranquero <lekktu@gmail.com>
5491
5492 * frame.c (x_fullscreen_adjust): Declare var as Display_Info.
5493
5494 * w32fns.c (Fx_display_pixel_width, Fx_display_pixel_height)
5495 (compute_tip_xy): Use x_display_pixel_width, x_display_pixel_height.
5496
5497 2008-09-19 Dan Nicolaescu <dann@ics.uci.edu>
5498
5499 * dispextern.h (struct it): Move line_wrap away from the middle of
5500 bitfields. Move voffset in struct iterator_stack_entry after the
5501 bitfields. Move tab_width near after another short.
5502
5503 2008-09-18 Dan Nicolaescu <dann@ics.uci.edu>
5504
5505 * frame.h (struct frame): Move alpha from the middle of bitfields.
5506
5507 * window.h (struct window): Move frozen_window_start_p after the
5508 rest of the bitfields to reduce padding.
5509
5510 2008-09-18 Chong Yidong <cyd@stupidchicken.com>
5511
5512 * xterm.h (x_display_info): Remove `height' and `width' members.
5513
5514 * nsterm.h (ns_display_info): Remove `height' and `width' members.
5515
5516 * w32term.h (w32_display_info): Remove `height', `width',
5517 `height_in', and `width_in' members.
5518
5519 * xterm.c (x_display_pixel_height, x_display_pixel_width):
5520 New functions.
5521 (x_calc_absolute_position): Use them.
5522 (x_term_init): Omit removed `height' and `width' members.
5523
5524 * w32term.c (x_display_pixel_height, x_display_pixel_width):
5525 New functions.
5526 (w32_read_socket, x_calc_absolute_position): Use them.
5527 (w32_initialize_display_info, w32_term_init): Omit removed members
5528 of w32_display_info.
5529
5530 * nsterm.m (x_display_pixel_height, x_display_pixel_width):
5531 New functions.
5532 (ns_initialize_display_info): Omit removed members of ns_display_info.
5533
5534 * xterm.c (x_display_pixel_height, x_display_pixel_width):
5535 New functions.
5536 (x_calc_absolute_position): Use them.
5537 (x_term_init): Omit removed `height' and `width' members.
5538
5539 * xfns.c (Fx_display_pixel_width, Fx_display_pixel_height)
5540 (compute_tip_xy):
5541 * frame.c (x_fullscreen_adjust):
5542 * xmenu.c (menu_position_func): Use x_display_pixel_height and
5543 x_display_pixel_width.
5544
5545 2008-09-18 Kenichi Handa <handa@m17n.org>
5546
5547 * composite.c (fill_gstring_header): Don't check FROM and TO here.
5548 (composition_compute_stop_pos): Fix handling of static composition.
5549 (Fcomposition_get_gstring): Check FROM and TO at first.
5550
5551 2008-09-17 Stefan Monnier <monnier@iro.umontreal.ca>
5552
5553 * composite.c (Fcomposition_get_gstring): Yet another int/Lisp_Object
5554 mixup (YAILOM).
5555
5556 2008-09-17 Chong Yidong <cyd@stupidchicken.com>
5557
5558 * indent.c (Fvertical_motion): Use position reported by iterator
5559 instead of PT for determining screen motion (bug#943).
5560
5561 2008-09-17 Romain Francoise <romain@orebokech.com>
5562
5563 * composite.c (composition_adjust_point): Fix int/EMACS_INT mixup.
5564
5565 2008-09-17 Kenichi Handa <handa@m17n.org>
5566
5567 * ftfont.c (ftfont_shape_by_flt): Downcase family name.
5568
5569 * composite.c (Fcomposition_get_gstring): Make bigger gstring_work
5570 if necessary.
5571
5572 2008-09-16 Kenichi Handa <handa@m17n.org>
5573
5574 * coding.c (make_conversion_work_buffer): Avoid calling
5575 Fget_buffer_create if it is not necessary.
5576
5577 2008-09-15 Martin Rudalics <rudalics@gmx.at>
5578
5579 * window.c (Fselect_window): Don't update window_select_count and
5580 use_time when norecord is not nil.
5581
5582 2008-09-14 Kenichi Handa <handa@m17n.org>
5583
5584 * fileio.c (Finsert_file_contents): Delete incorrect decrement of
5585 specpdl_ptr.
5586
5587 2008-09-12 Kenichi Handa <handa@m17n.org>
5588
5589 * indent.c (scan_for_column): Don't handle automatic composition
5590 if the current buffer is not associated with a window.
5591
5592 * composite.c (composition_reseat_it): If the current buffer is
5593 not associated with a window, ignore the automatic composition.
5594 (find_automatic_composition): Likewise.
5595
5596 2008-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
5597
5598 * term.c (close_gpm): New fun extracted from Fgpm_mouse_stop.
5599 (Fgpm_mouse_stop): Use it.
5600 * termhooks.h (close_gpm): Declare.
5601 * keyboard.c (tty_read_avail_input): Forcefully close the gpm
5602 connection if Gpm_GetEvent fails.
5603
5604 * window.c (set_window_buffer): Always preserve current-buffer.
5605
5606 2008-09-12 Glenn Morris <rgm@gnu.org>
5607
5608 * charset.c (init_charset): Warn if etc/charsets not found. (Bug#909)
5609
5610 2008-09-11 Glenn Morris <rgm@gnu.org>
5611
5612 * charset.c (charset-map-path): Doc fix.
5613
5614 2008-09-10 Kenichi Handa <handa@m17n.org>
5615
5616 * xdisp.c (handle_composition_prop): Set it->cmp_it.ch to -1.
5617
5618 * font.c (Ffont_shape_gstring): Make glyphs of non-nil adjustment
5619 compose a grapheme cluster with the preceding base glyph.
5620
5621 * composite.c (composition_compute_stop_pos): Fix previous change.
5622 Reset cmp_it->id to -1 at first.
5623
5624 2008-09-10 Glenn Morris <rgm@gnu.org>
5625
5626 * Makefile.in (character.o, chartab.o): Fix config.h typo.
5627
5628 2008-09-09 Chong Yidong <cyd@stupidchicken.com>
5629
5630 * keyboard.c (read_key_sequence): Reapply translation maps when
5631 switching keyboards.
5632
5633 2008-09-09 Kenichi Handa <handa@m17n.org>
5634
5635 * ftfont.c (ftfont_shape_by_flt): Use "combining" FLT for ASCII
5636 characters.
5637
5638 * composite.c (FORWARD_CHAR): Fix calculation
5639 of (POSITION).pos_byte.
5640 (composition_compute_stop_pos): Limit the search of composition to
5641 at most 500 characters ahead. If we reach the limit or find a
5642 newline, set cmp_it->ch to -2 and return 0.
5643 (composition_reseat_it): Handle the case that cmp_it->ch is -2.
5644
5645 2008-09-08 Kenichi Handa <handa@m17n.org>
5646
5647 * indent.c (Fvertical_motion): Be sure to set
5648 it_overshoot_expected if it.cmp_it.id is non-negative.
5649
5650 2008-09-07 Andreas Schwab <schwab@suse.de>
5651
5652 * callproc.c (Fcall_process): Don't hold references to string data
5653 across garbage collection. Move initialisation of new_argv down
5654 to avoid compiler bug.
5655
5656 2008-09-07 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
5657
5658 * process.c (Fsystem_process_attributes): Doc fix.
5659
5660 2008-09-07 Chong Yidong <cyd@stupidchicken.com>
5661
5662 * callproc.c (Fcall_process): Canonicalize current directory name.
5663
5664 * xdisp.c (move_it_to): When moving by vpos, ensure that the
5665 iterator advances to the next line if the current line ends in a
5666 continued tab.
5667
5668 2008-09-07 Teodor Zlatanov <tzz@lifelogs.com>
5669
5670 * nsfont.m (nsfont_draw): Fix the references to missing gidx data
5671 member to point to cmp_from.
5672
5673 * xdisp.c: Doc fix for references to gidx data member.
5674
5675 2008-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
5676
5677 * buffer.c (Fbuffer_swap_text): Reset window->point markers.
5678
5679 2008-09-07 Kenichi Handa <handa@m17n.org>
5680
5681 * composite.c (FORWARD_CHAR): Check STOP after
5682 incrementing (POSITION).pos.
5683
5684 2008-09-06 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
5685
5686 * process.c (Fsystem_process_attributes): Doc fix.
5687
5688 2008-09-06 Chong Yidong <cyd@stupidchicken.com>
5689
5690 * keyboard.c (Ftop_level): Doc fix.
5691
5692 2008-09-06 Eli Zaretskii <eliz@gnu.org>
5693
5694 * xmenu.c (xmenu_show) [!HAVE_X_WINDOWS]: If frame has a
5695 minibuffer, don't let lower part of menu invade the echo area.
5696
5697 * msdos.c (IT_menu_display): Use STRING_CHAR_ADVANCE instead of a
5698 "char *q" to access menu text and advance through it. Revert the
5699 change that displayed ">" instead of ASCII character 0x10.
5700
5701 2008-09-05 Eli Zaretskii <eliz@gnu.org>
5702
5703 * menu.c (single_menu_item) [!HAVE_BOXES]: Enable emulation of
5704 toggle boxes and radio buttons on MS-DOS as well.
5705
5706 2008-09-05 Kenichi Handa <handa@m17n.org>
5707
5708 * composite.c (autocmp_chars): Check lookback count.
5709 (composition_compute_stop_pos): Set cmp_it->lookback.
5710 (composition_reseat_it): Check lookback count.
5711 (struct position_record): New struct.
5712 (FORWARD_CHAR, BACKWARD_CHAR, CHAR_COMPOSABLE_P): New macros.
5713 (find_automatic_composition): New function.
5714 (composition_adjust_point): Use find_automatic_composition.
5715
5716 * dispextern.h (struct composition_it): New member lookback.
5717
5718 2008-09-02 Chong Yidong <cyd@stupidchicken.com>
5719
5720 * indent.c (Fvertical_motion): Don't call move_it_by_lines again
5721 if moving by a single line.
5722
5723 2008-09-02 Andreas Schwab <schwab@suse.de>
5724
5725 * xterm.c (x_delete_display): Fix merge error.
5726
5727 * fileio.c (Fexpand_file_name): Remove unused variables.
5728
5729 2008-09-02 Eli Zaretskii <eliz@gnu.org>
5730
5731 * fileio.c (Fexpand_file_name): Copy argument `name' into local
5732 storage on all platforms, not just on DOS_NT.
5733
5734 2008-09-02 Jason Rumney <jasonr@gnu.org>
5735
5736 * w32menu.c (Fx_popup_menu, Fx_popup_dialog, w32_menu_show):
5737 Ensure mouse is not grabbed after menu is finished.
5738
5739 2008-09-01 Chong Yidong <cyd@stupidchicken.com>
5740
5741 * xfaces.c (Finternal_set_alternative_font_family_alist)
5742 (Finternal_set_alternative_font_registry_alist): Properly copy
5743 entire alist structure.
5744
5745 2008-09-01 Kenichi Handa <handa@m17n.org>
5746
5747 * ftfont.c (ftfont_spec_pattern): Don't create a charset if the
5748 representative chars of the script is a vector.
5749 (ftfont_list): Handle the case where the representative chars of
5750 the script is a vector.
5751
5752 * character.c (syms_of_character): Docstring of
5753 script-representative-chars fixed.
5754
5755 2008-08-31 Eli Zaretskii <eliz@gnu.org>
5756
5757 * msdos.c (BUILD_CHAR_GLYPH): New macro.
5758 (IT_menu_display): Use it instead of SET_CHAR_GLYPH to construct
5759 the menu. Allocate larger buffer for `text', to account for
5760 possible ^C characters.
5761
5762 2008-08-31 Martin Rudalics <rudalics@gmx.at>
5763
5764 * xdisp.c (prepare_menu_bars): Don't call
5765 Vwindow_size_change_functions with arg Qt.
5766
5767 2008-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
5768
5769 * font.h (font_range):
5770 * fileio.c (report_file_error):
5771 * composite.c (composition_update_it): Yet another int/Lisp_Object
5772 mixup (YAILOM).
5773
5774 2008-08-30 Glenn Morris <rgm@gnu.org>
5775
5776 * data.c (Fmake_variable_frame_local): Doc fix.
5777
5778 * frame.c (Fmodify_frame_parameters): Doc fix.
5779
5780 2008-08-30 Eli Zaretskii <eliz@gnu.org>
5781
5782 * w32.c (init_user_info): Allocate buf[] with xmalloc using the size
5783 needed by GetTokenInformation.
5784 (w32_system_process_attributes): Check return values of all system
5785 APIs.
5786
5787 * msdos.c (IT_display_cursor): Write "CURSOR ON/OFF" to termscript
5788 only when the state changes.
5789 (IT_update_begin, IT_update_end): Add termscript trace.
5790
5791 * w16select.c (Fw16_set_clipboard_data): Don't encode text if
5792 clipboard is unavailable. Set dst to NULL if it doesn't point to
5793 malloc'ed data.
5794 (Fw16_get_clipboard_data): Initialize htext to NULL, to avoid
5795 passing random values to xfree.
5796
5797 * dispnew.c (init_display): Set `tty's association in frame's
5798 parameters alist to the name of the terminal device, if that is known.
5799
5800 2008-08-29 Jason Rumney <jasonr@gnu.org>
5801
5802 * w32uniscribe.c (uniscribe_check_otf): Don't fallback on DFLT script.
5803
5804 2008-08-29 Eli Zaretskii <eliz@gnu.org>
5805
5806 * composite.c (fill_gstring_body): Avoid compiler warnings.
5807
5808 * font.c (font_fill_lglyph_metrics): Use EMACS_INT in
5809 LGLYPH_SET_CODE to avoid compiler warnings.
5810
5811 * makefile.w32-in ($(BLD)/w32uniscribe.$(O)): Depend on composite.h.
5812
5813 * composite.h (LGLYPH_SET_CODE): Cast `val' to EMACS_INT.
5814
5815 * w32uniscribe.c (uniscribe_shape): Shut up compiler warning in
5816 LGLYPH_SET_CODE.
5817
5818 2008-08-29 Kenichi Handa <handa@m17n.org>
5819
5820 * fileio.c (report_file_error): Don't downcase the first character
5821 of errstring if it is still unibyte.
5822
5823 2008-08-29 Kenichi Handa <handa@m17n.org>
5824
5825 These changes are to re-implement the automatic composition so
5826 that it doesn't use text properties.
5827
5828 * Makefile.in (ftfont.o): Depend on composite.h.
5829 (composite.o): Depend dispextern.h, font.h, frame, and window.h.
5830
5831 * character.h (Vunicode_category_table): Extern it.
5832
5833 * character.c (Vunicode_category_table): New variable.
5834 (syms_of_character): DEFVAR_LISP Vunicode_category_table.
5835
5836 * chartab.c (optimize_sub_char_table): Perform more greedy
5837 optimization.
5838
5839 * composite.h (enum composition_method):
5840 Delete COMPOSITION_WITH_GLYPH_STRING.
5841 (COMPOSITION_METHOD): Don't check COMPOSITION_WITH_GLYPH_STRING.
5842 (Vcomposition_function_table): Extern it.
5843 (LGSTRING_XXX, LGLYPH_XXX): Macros moved from font.h.
5844 (composition_gstring_put_cache, composition_gstring_from_id)
5845 (composition_gstring_p, composition_gstring_width)
5846 (composition_compute_stop_pos, composition_reseat_it)
5847 (composition_update_it, composition_adjust_point): Extern them.
5848 (Fcomposition_get_gstring): EXFUN it.
5849
5850 * composite.c: Include window.h, frame.h, dispextern.h, font.h.
5851 (Vcomposition_function_table)
5852 (get_composition_id): Don't handle COMPOSITION_WITH_GLYPH_STRING.
5853 (gstring_hash_table, gstring_work, gstring_work_headers):
5854 New variables.
5855 (gstring_lookup_cache, composition_gstring_put_cache)
5856 (composition_gstring_from_id, composition_gstring_p)
5857 (composition_gstring_width, fill_gstring_header)
5858 (fill_gstring_body, autocmp_chars, composition_compute_stop_pos)
5859 (composition_reseat_it, composition_update_it)
5860 (composition_adjust_point, Fcomposition_get_gstring): New functions.
5861 (syms_of_composite): Initialize gstring_hash_table, gstrint_work,
5862 and gstring_work_headers. DEFVAR_LISP composition-function-table.
5863 Defsubr compostion_get_gstring.
5864
5865 * dispextern.h (struct glyph): New union u.cmp. Delete the member
5866 cmp_id.
5867 (struct glyph_string): Delete the member gidx. New members
5868 cmp_id, cmp_from, and cmp_to.
5869 (enum it_method): Delete GET_FROM_COMPOSITION.
5870 (struct composition_it): New struct.
5871 (struct it): New member cmp_it, and iterator_stack_entry.cmp_it.
5872 Delete c, len, cmp_id, cmp_len in u.comp.
5873
5874 * font.h (enum lgstring_indices): Delete it.
5875 (LGSTRING_XXX, LGLYPH_XXX): Move these macros to composite.h.
5876 (enum lglyph_indices): Likewise.
5877 (font_range): Adjust extern.
5878 (font_fill_lglyph_metrics): Extern it.
5879
5880 * font.c (QCf): New variable.
5881 (check_gstring): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
5882 (font_prepare_composition): Delete this function.
5883 (font_range): Type and arguments changed.
5884 (Ffont_make_gstring, Ffont_fill_gstring): Delete them.
5885 (font_fill_lglyph_metrics): New function.
5886 (Ffont_shape_text): Rename to Ffont_shape_gstring and change arguments.
5887 (syms_of_font): DEFSYM QCf. Delete defsubr for
5888 Sfont_make_gstring, Sfont_fill_gstring, Sfont_shape_text.
5889 Defsubr Sfont_shape_gstring.
5890
5891 * fontset.h (font_for_char): Extern it.
5892
5893 * fontset.c (font_for_char): New function.
5894
5895 * ftfont.c: Include composite.h.
5896 (ftfont_resolve_generic_family): Add langset "en" to pattern.
5897 (ftfont_shape_by_flt): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
5898
5899 * indent.c: Include composite.h and dispextern.h.
5900 (check_composition): Delete this function.
5901 (scan_for_column): Handle composition by
5902 composition_compute_stop_pos, composition_reseat_it, and
5903 composition_update_it.
5904 (compute_motion): Likewise.
5905 (Fvertical_motion): Fix checking of composition.
5906
5907 * keyboard.c (adjust_point_for_property): Check composition by
5908 composition_adjust_point.
5909
5910 * nsterm.m (ns_draw_glyph_string): Adjust for the change of
5911 struct glyph_string.
5912
5913 * term.c (encode_terminal_code): Adjust for the change of struct glyph.
5914 (append_composite_glyph): Adjust for the change of struct it and
5915 struct glyph.
5916 (produce_composite_glyph): Likewise.
5917
5918 * w32term.c (x_draw_composite_glyph_string_foreground):
5919 Adjust for the change of struct glyph_string.
5920 (x_draw_glyph_string): Likewise.
5921
5922 * w32uniscribe.c (struct uniscribe_font_info): Include composite.h.
5923 (uniscribe_shape): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
5924
5925 * xdisp.c: Include font.h.
5926 (it_props): Delete the entry for Qauto_composed.
5927 (init_iterator): Initialize it->cmp_it.id to -1.
5928 (compute_stop_pos): Call composition_compute_stop_pos.
5929 (face_before_or_after_it_pos): Adjust for the change of struct it.
5930 (handle_auto_composed_prop): Delete it.
5931 (handle_composition_prop): Handle only static composition.
5932 (next_overlay_string): Remove it->method == GET_FROM_COMPOSITION
5933 from xassert. Initialize it->cmp_it.stop_pos.
5934 (push_it): Adjust for the change of struct it.
5935 (pop_it): Likewise.
5936 (get_next_element): Delete next_element_from_composition.
5937 (CHAR_COMPOSED_P): New macro.
5938 (get_next_display_element): For automatic composition, get a face
5939 from the font in the glyph-string.
5940 (set_iterator_to_next): For GET_FROM_BUFFER and GET_FROM_STRING,
5941 check composition by it->cmp_it.id. Delete GET_FROM_COMPOSITION case.
5942 (next_element_from_string): Check if the character at the current
5943 position is composed by CHAR_COMPOSED_P.
5944 (next_element_from_buffer): Likewise.
5945 (next_element_from_composition): Adjust for the change of struct it.
5946 Update it->cmp_it.
5947 (dump_glyph): Adjust for the change of struct glyph.
5948 (fill_composite_glyph_string): Adjust for the change of struct
5949 it and struct glyph. Don't handle automatic composition here.
5950 (fill_gstring_glyph_string): New function.
5951 (x_get_glyph_overhangs): Handle automatic composition.
5952 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the change of struct glyph.
5953 (BUILD_GSTRING_GLYPH_STRING): New macro.
5954 (BUILD_GLYPH_STRINGS): Call BUILD_GSTRING_GLYPH_STRING for
5955 automatic composition.
5956 (append_composite_glyph): Adjust for the change of struct it and
5957 struct glyph.
5958 (x_produce_glyphs): Adjust for the change of struct it.
5959
5960 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
5961 the change of struct glyph_string.
5962 (x_draw_glyph_string): Likewise.
5963
5964 2008-08-29 Glenn Morris <rgm@gnu.org>
5965
5966 * buffer.c (word-wrap): Doc fix.
5967 * xdisp.c (truncate-partial-width-windows): Doc fix.
5968 Increase default to 50.
5969
5970 2008-08-29 Chong Yidong <cyd@stupidchicken.com>
5971
5972 * xdisp.c (update_tool_bar_unwind): New function.
5973 (update_tool_bar): Temporarily set selected frame before building
5974 tool-bar items.
5975
5976 2008-08-28 Michael Albinus <michael.albinus@gmx.de>
5977
5978 * dbusbind.c (XD_ERROR, XD_DEBUG_MESSAGE): Use strncpy and
5979 snprintf, respectively.
5980 (xd_append_arg): Convert strings with Fstring_make_unibyte.
5981
5982 2008-08-28 Chong Yidong <cyd@stupidchicken.com>
5983
5984 * Makefile.in: Revert (undocumented) 2008-08-20 change adding
5985 LDFLAGS to GNUstep CC invocation.
5986
5987 2008-08-27 Chong Yidong <cyd@stupidchicken.com>
5988
5989 * indent.c (Fvertical_motion): Revert last change. Handle the
5990 general case where we are moving forward, and PT spans multiple
5991 screen lines.
5992
5993 * eval.c (find_handler_clause): Temporarily increase
5994 max-lisp-eval-depth while printing the backtrace buffer, to
5995 guarantee that help-mode code can run.
5996
5997 2008-08-27 Eli Zaretskii <eliz@gnu.org>
5998
5999 * msdos.c (Fmsdos_remember_default_colors): Don't reverse frame
6000 colors under -rv.
6001 (IT_set_frame_parameters): Don't swap foreground and background
6002 colors if `(reverse . t)' is present in the frame properties.
6003 (internal_terminal_init): Call init_frame_faces only for the
6004 initial frame.
6005
6006 2008-08-27 Andreas Schwab <schwab@suse.de>
6007
6008 * dired.c (Ffile_attributes): Avoid compiler warning in bitshift.
6009
6010 2008-08-27 Andreas Schwab <schwab@suse.de>
6011
6012 * search.c (search_buffer): Set char_base to zero only at the end.
6013
6014 2008-08-27 Kenichi Handa <handa@m17n.org>
6015
6016 * fileio.c (report_file_error): Fix handling of multibyte error string.
6017
6018 2008-08-27 Andreas Seltenreich <seltenreich@gmx.de>
6019
6020 * xterm.c (x_term_init): Temporarily hide the partially
6021 initialized terminal while calling vendor-specific-keysyms.
6022
6023 2008-08-26 Eli Zaretskii <eliz@gnu.org>
6024
6025 * msdos.c (internal_terminal_init): Most initializations done only
6026 once, especially initial_screen_colors[] and termscript open.
6027
6028 2008-08-26 Chong Yidong <cyd@stupidchicken.com>
6029
6030 * eval.c (Fcondition_case): Doc fix.
6031
6032 * widgetprv.h (EmacsFramePart): Change font member to the new font
6033 struct.
6034
6035 * widget.c: Include character.h and font.h for XSETFONT.
6036 (setup_frame_gcs): Compute X font id from font struct, just once.
6037
6038 2008-08-26 Eli Zaretskii <eliz@gnu.org>
6039
6040 * term.c (get_named_tty): Fix last change.
6041
6042 2008-08-26 Chong Yidong <cyd@stupidchicken.com>
6043
6044 * indent.c (Fvertical_motion): If moving forward starting from a
6045 multi-line string, move the iterator to the last line of that string.
6046
6047 2008-08-25 Eli Zaretskii <eliz@gnu.org>
6048
6049 * frame.c (do_switch_frame): Mark previously displayed frame as
6050 obscured for FRAME_MSDOS_P frames as well.
6051
6052 2008-08-24 Eli Zaretskii <eliz@gnu.org>
6053
6054 * frame.c (make_terminal_frame): Initialize f->terminal,
6055 f->terminal->reference_count, and scroll bars on MS-DOS as well.
6056 Set the top frame to newly created frame.
6057 (Fmake_terminal_frame): Reuse the_only_display_info.
6058
6059 * vm-limit.c (get_lim_data) [MSDOS]: Use alternative methods of
6060 estimating available memory.
6061
6062 2008-08-23 David Reitter <david.reitter@gmail.com>
6063
6064 * nsterm.m (ns_draw_window_cursor): Don't call
6065 NSDisableScreenUpdates and NSEnableScreenUpdates on
6066 non-NS_IMPL_COCOA systems.
6067
6068 2008-08-23 Andreas Schwab <schwab@suse.de>
6069
6070 * process.c (procfs_system_process_attributes): Fix use of
6071 uninitialized variables.
6072
6073 2008-08-23 Eli Zaretskii <eliz@gnu.org>
6074
6075 * emacs.c (main) [MSDOS]: Call syms_of_xmenu.
6076
6077 * dispnew.c (init_display): Remove MS-DOS specific conditions for
6078 calling tty-set-up-initial-frame-faces.
6079
6080 * xmenu.c (Fx_popup_dialog, Fx_popup_menu, xmenu_show):
6081 Allow MSDOS frames along with X frames.
6082
6083 * termhooks.h (TERMINAL_ACTIVE_P): Handle output_msdos_raw in
6084 addition to output_termcap.
6085
6086 * xdisp.c (redisplay_internal) [MSDOS]: Don't call set_tty_color_mode.
6087
6088 * termchar.h (FRAME_TTY): Support output_msdos_raw.
6089 (struct tty_display_info) [MSDOS]: Add fields related to mouse
6090 highlight.
6091
6092 * process.c [!subprocesses]: Define QCname.
6093 (syms_of_process): Intern and staticpro it.
6094
6095 * w16select.c (Fw16_set_clipboard_data, Fw16_get_clipboard_data):
6096 Adjust for changes in encoding/decoding routines.
6097 Use encode_coding_object and decode_coding_object instead of
6098 encode_coding and decode_coding.
6099
6100 * sysdep.c (init_sys_modes): Call dos_ttraw with tty_out as argument.
6101
6102 * dosfns.c: Include frame.h before termhooks.h.
6103 (dos_cleanup): Use CURTTY ()->termscript instead of a global
6104 variable termscript.
6105
6106 * s/msdos.h (USER_FULL_NAME): Define.
6107 (SYSTEM_PURESIZE_EXTRA): Bump up to 100K.
6108
6109 * editfns.c (USER_FULL_NAME): Define to pw->pw_gecos if undefined.
6110 (Fuser_full_name): Use USER_FULL_NAME instead of a literal
6111 pw->pw_gecos.
6112
6113 * keyboard.c (handle_interrupt) [MSDOS]: Call cursor_to with
6114 SELECTED_FRAME as additional (1st) argument.
6115 (tty_read_avail_input): Handle output_msdos_raw in
6116 addition to output_termcap.
6117
6118 * msdos.c: Include frame.h before termhooks.h.
6119 (mouse_on, mouse_off, mouse_moveto, mouse_init)
6120 (msdos_set_cursor_shape, IT_set_face, IT_write_glyphs)
6121 (show_mouse_face, IT_clear_end_of_line, IT_clear_screen)
6122 (IT_clear_to_end, IT_cursor_to, IT_display_cursor, IT_cmgoto)
6123 (IT_set_terminal_modes, IT_reset_terminal_modes)
6124 (IT_set_frame_parameters): Use tty->termscript instead of a global
6125 variable termscript.
6126 (IT_write_glyphs): Use tty->terminal->terminal_coding instead of a
6127 global variable terminal_coding. Don't refer to
6128 Vnonascii_translation_table.
6129 (internal_terminal_init): Set Vwindow_system in current_kboard.
6130 Don't use TTY_CHAR_INS_DEL_OK. Set Vinitial_window_system.
6131 Announce date and time of session start, if termscript is open.
6132 Don't zero out the_only_display_info (it is done in
6133 term.c:init_tty). Open termscript only of not already open.
6134 Log "SCREEN SAVED" here, instead of IT_set_terminal_modes. Init mouse
6135 here instead of dos_ttraw. Don't initialize display if this is an
6136 initial tty. Don't set FRAME_FONT.
6137 (Vwindow_system_version): Bump to 23.
6138 (dos_ttraw): Accept a TTY argument; all callers fixed. If mouse
6139 is available, set up mouse_position_hook.
6140 (dos_ttraw, IT_set_terminal_modes): If called with initial
6141 terminal, do nothing.
6142 (IT_set_frame_parameters): Handle the Qtty_type frame
6143 parameter by calling internal_terminal_init.
6144 (dos_set_window_size, show_mouse_face)
6145 (clear_mouse_face, IT_note_mode_line_highlight)
6146 (IT_note_mouse_highlight, IT_update_begin, IT_frame_up_to_date)
6147 (dos_rawgetc): Use tty_display_info instead of x_display_info.
6148 (initialize_msdos_display): New function.
6149 (IT_cursor_to, IT_clear_to_end, IT_clear_screen)
6150 (IT_clear_end_of_line, IT_insert_glyphs, IT_write_glyphs)
6151 (IT_delete_glyphs, IT_ring_bell, IT_reset_terminal_modes)
6152 (IT_set_terminal_modes, IT_set_terminal_window, IT_update_begin):
6153 Accept additional argument: a pointer to a frame. Update all callers.
6154 (request_sigio, unrequest_sigio): Don't define, now defined on
6155 sysdep.c.
6156 (IT_write_glyphs): Rewrite to use encode_terminal_code.
6157
6158 * term.c [MSDOS]: Include msdos.h.
6159 (init_tty) [MSDOS]: Reuse most of WINDOWSNT branch. Change cpp
6160 conditional to DOS_NT. Allow only one call to this function in a
6161 session. Don't allocate a new struct tty_display_info; instead,
6162 reuse the_only_display_info. Call get_tty_size to get screen
6163 dimensions. Call init_baud_rate to set bad_rate.
6164 (dissociate_if_controlling_tty) [MSDOS]: Ifdef away function body.
6165 (Fsuspend_tty) [MSDOS]: Don't close input and output.
6166 (Fresume_tty) [MSDOS]: Don't reopen the TTY; instead, use stdin/stdout.
6167 (get_tty_terminal, get_named_tty, Ftty_type)
6168 (Fcontrolling_tty_p): Handle output_msdos_raw in addition to
6169 output_termcap.
6170 (Fresume_tty, Fsuspend_tty, init_tty, delete_tty):
6171 Call add_keyboard_wait_descriptor and delete_keyboard_wait_descriptor
6172 only when subprocesses are supported.
6173
6174 * frame.c (make_terminal_frame) [MSDOS]: Adjust initialization of
6175 f->output_data.x.
6176 (Fmake_terminal_frame) [MSDOS]: Don't allow creation of new
6177 terminal devices.
6178
6179 * msdos.h: Remove definition of struct x_display_info and struct
6180 x_output.
6181 (FRAME_FONT): Use output_data.tty.
6182 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL): Don't define.
6183 (struct x_display_info): Rename from display_info. Update all users in
6184 msdos.c.
6185 (struct x_output): Remove background_pixel and foreground_pixel.
6186 (the_only_display_info): Rename from the_only_x_display.
6187 (dos_ttraw): Update prototype.
6188
6189 * Makefile.in (MSDOS_OBJ): Add xmenu.o.
6190 (SOME_MACHINE_LISP): Add ../lisp/term/pc-win.elc.
6191
6192 2008-08-23 Jason Rumney <jasonr@gnu.org>
6193
6194 * image.c (enum tiff_keyword_index, tiff_format): Add :index keyword.
6195 (fn_TIFFSetDirectory): New library function used.
6196 (init_tiff_functions) [HAVE_NTGUI]: Initialize it.
6197 (tiff_load): Use :index to select among multiple images. Set count
6198 property when multiple images exist.
6199 (gif_format): Use :index, not :image.
6200
6201 2008-08-23 Chong Yidong <cyd@stupidchicken.com>
6202
6203 * xdisp.c (try_scrolling): Check INT_MAX instead of
6204 MOST_POSITIVE_FIXNUM for maximum integer value. Include limits.h
6205 to obtain INT_MAX.
6206
6207 2008-08-21 İsmail Dönmez <ismail@namtrac.org> (tiny change)
6208
6209 * xterm.c (x_delete_display): Don't call XrmDestroyDatabase on GTK+.
6210
6211 2008-08-21 Christian Faulhammer <opfer@gentoo.org> (tiny change)
6212
6213 * Makefile.in (temacs${EXEEXT}): On GNUstep, link to appropriate
6214 GNUstep library location.
6215
6216 2008-08-21 Chong Yidong <cyd@stupidchicken.com>
6217
6218 * xfaces.c (x_update_menu_appearance): Check validity of menu font
6219 before using it.
6220
6221 * puresize.h (BASE_PURESIZE): Increase to 1250000.
6222
6223 2008-08-20 Adrian Robert <Adrian.B.Robert@gmail.com>
6224
6225 * nsfns.m (ns-read-file-name): Add casts to avoid warning.
6226 (ns-convert-utf8-nfd-to-nfc): Warn if cannot execute correctly.
6227 * nsfont.m (nsfont_draw): Compare indexed colors to 0, not nil.
6228 * nsterm.h (EmacsView-unlockFocusNeedsFlush:): Add declaration.
6229 (EmacsApp-cursor_blink_handler): Remove declaration.
6230 * nsterm.m (ns_draw_glyph_string): Update first conditional body to
6231 match 01 Feb 2008 changes in xterm.c.
6232 (ns_read_socket): Add cast to avoid warning.
6233 (EmacsApp-application:openFiles:): Don't call replyToOpenOrPrint: on
6234 GNUstep.
6235
6236 2008-08-20 Chong Yidong <cyd@stupidchicken.com>
6237
6238 * xselect.c (x_get_foreign_selection): Return nil if desired
6239 selection could not be obtained, instead of signalling an error.
6240
6241 2008-08-20 David Reitter <david.reitter@gmail.com>
6242
6243 * nsfns.m (ns_lisp_to_cursor_type): Replace with generic xfns.c.
6244 * nsterm.m: Remove ns-specific code for cursor blinking.
6245 (ns_draw_window_cursor): Clear cursor properly rather than
6246 redrawing the area. Respect width of bar cursors.
6247 These changes enable the use of generic blink-cursor-mode and
6248 generic cursor types in NS and support smooth cursor movements (do
6249 not blink off after command).
6250 * xdisp.c (get_phys_cursor_geometry): Redraw wider rectangle on
6251 Nextstep, too.
6252
6253 2008-08-19 Kenichi Handa <handa@m17n.org>
6254
6255 * font.c (Vfont_log_deferred): New variable.
6256 (font_add_log): Check Vfont_log_deferred.
6257 (font_deferred_log): New function.
6258
6259 * font.h (font_deferred_log): Extern it.
6260
6261 * fontset.c (reorder_font_vector): Use encoding charset of fonts
6262 for sorting.
6263 (face_for_char): Use deferred log.
6264
6265 2008-08-18 Kenichi Handa <handa@m17n.org>
6266
6267 * fontset.c (face_for_char): Add font log.
6268
6269 * font.c (font_add_log): Add the font properties :script, :lang,
6270 and :otf in the log.
6271
6272 2008-08-17 Chong Yidong <cyd@stupidchicken.com>
6273
6274 * xdisp.c: Remove dead code.
6275 (handle_invisible_prop, next_overlay_string): Defer call to
6276 setup_for_ellipsis.
6277 (handle_stop, set_iterator_to_next): Call setup_for_ellipsis.
6278
6279 2008-08-15 Chong Yidong <cyd@stupidchicken.com>
6280
6281 * xfaces.c (lookup_derived_face): Properly handle possible zero
6282 return value of get_lface_attributes.
6283 (merge_faces): Don't tell lookup_derived_face to signal an error
6284 if face is not found.
6285
6286 * dired.c (Fdirectory_files): Doc fix.
6287
6288 * process.c (make_process): Initialize kill_without_query struct
6289 member.
6290
6291 2008-08-15 Eli Zaretskii <eliz@gnu.org>
6292
6293 * w32.c (w32_system_process_attributes) [_MSC_VER < 1300]:
6294 Alternative calculation of totphys for Visual Studio 6.
6295
6296 * w32fns.c [_MSC_VER && _MSC_VER < 1300]: Declare HMONITOR.
6297
6298 * w32.c (_MEMORY_STATUS_EX, MEMORY_STATUS_EX, LPMEMORY_STATUS_EX):
6299 Rename from _MEMORYSTATUSEX, MEMORYSTATUSEX, LPMEMORYSTATUSEX.
6300 All users changed.
6301 (stat): Only root directory passed to GetDriveType. Allow RAM
6302 disk as well as local fixed disk when w32-get-true-file-attributes
6303 is set to `local'.
6304 (CopySid_Proc, EqualSid_Proc, GetLengthSid_Proc): New typedefs.
6305 (equal_sid, get_length_sid, copy_sid): New wrapper functions.
6306 (w32_cached_id, w32_add_to_cache): New functions.
6307 (get_name_and_id): Look account names in the cache before calling
6308 lookup_account_sid.
6309 (g_b_init_get_length_sid, g_b_init_equal_sid, g_b_init_copy_sid):
6310 New initialization flags.
6311 (globals_of_w32): Initialize them to zero.
6312 (w32_system_process_attributes): Use w32_cached_id and
6313 w32_add_to_cache.
6314
6315 2008-08-14 Lawrence Mitchell <wence@gmx.li>
6316
6317 * lread.c (Fread_char, Fread_char_exclusive): If no character
6318 event is read before timeout is reached, return nil, rather than
6319 converting to a number.
6320
6321 2008-08-14 Chong Yidong <cyd@stupidchicken.com>
6322
6323 * fns.c (use_dialog_box): Doc fix.
6324
6325 * s/darwin.h: Undefine HAVE_RES_INIT, which appears to be harmful
6326 on OS X.
6327
6328 2008-08-13 Chong Yidong <cyd@stupidchicken.com>
6329
6330 * frame.c (Qns_parse_geometry): New var.
6331 (Fx_parse_geometry): For HAVE_NS, call ns-parse-geometry.
6332
6333 2008-08-11 Chong Yidong <cyd@stupidchicken.com>
6334
6335 * xdisp.c (x_produce_glyphs): Handle the case when font has no
6336 space character in calculating tabs.
6337
6338 2008-08-11 Dan Nicolaescu <dann@ics.uci.edu>
6339
6340 * Makefile.in (bootstrap-emacs): Use ln -f in the CANNOT_DUMP case.
6341
6342 2008-08-10 Glenn Morris <rgm@gnu.org>
6343
6344 * process.c (procfs_system_process_attributes): Use EMACS_INTs to
6345 silence gcc "limited range of data type" warnings in some
6346 make_fixnum_or_float calls.
6347
6348 2008-08-09 Eli Zaretskii <eliz@gnu.org>
6349
6350 * w32.c (w32_system_process_attributes): If the process does not
6351 exist, return nil.
6352
6353 * w32.c: Include thelp32.h, psapi.h and coding.h.
6354 (_MEMORYSTATUSEX, _PROCESS_MEMORY_COUNTERS_EX): New struct
6355 declarations.
6356 (CreateToolhelp32Snapshot_Proc, Process32First_Proc)
6357 (Process32Next_Proc): New typedefs.
6358 (g_b_init_create_toolhelp32_snapshot, g_b_init_process32_first)
6359 (g_b_init_process32_next, g_b_init_open_thread_token)
6360 (g_b_init_impersonate_self, g_b_init_revert_to_self)
6361 (g_b_init_get_process_memory_info, g_b_init_global_memory_status)
6362 (g_b_init_get_process_working_set_size)
6363 (g_b_init_global_memory_status_ex): New static variables.
6364 (globals_of_w32): Initialize them.
6365 (create_toolhelp32_snapshot, process32_first, process32_next)
6366 (open_thread_token, impersonate_self, revert_to_self)
6367 (get_process_memory_info, get_process_working_set_size)
6368 (global_memory_status, global_memory_status_ex): New wrapper
6369 functions.
6370 (w32_list_system_processes, w32_system_process_attributes)
6371 (enable_privilege, restore_privilege, ltime, process_times):
6372 New functions.
6373 (convert_time_raw): New function.
6374 (convert_time): Remove conversion of FILETIME into time in 100
6375 nsec units, call convert_time_raw instead.
6376
6377 * process.h (w32_list_system_processes, w32_system_process_attributes):
6378 Add prototypes.
6379 (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess, Qttname)
6380 (Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime, Qcutime)
6381 (Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs, Quser, Qgroup)
6382 (Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime): Add extern declarations.
6383
6384 * process.c (Fsystem_process_attributes): Doc fix.
6385
6386 2008-08-08 Chong Yidong <cyd@stupidchicken.com>
6387
6388 * xdisp.c (move_it_to): When stopping at a charpos, check if that's
6389 a continued multi-char glyph; if so, advance to the actual glyph.
6390
6391 2008-08-07 Dan Nicolaescu <dann@ics.uci.edu>
6392
6393 * s/darwin.h (OTHER_FILES): Do not define here, defined in config.in.
6394
6395 * Makefile.in (ALL_OBJC_CFLAGS): New variable.
6396 (.m.o): Use it.
6397 * config.in: Regenerate.
6398
6399 2008-08-07 Chong Yidong <cyd@stupidchicken.com>
6400
6401 * xdisp.c (redisplay_window): Revert last change.
6402 (try_window): Check bottom scroll margin too.
6403
6404 2008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
6405
6406 * config.in: Regenerate.
6407
6408 * Makefile.in (emacs): Remove ifndef NS conditional for 'emacs
6409 -list-load-path-shadows'.
6410 (nsgui.h): Reduce number of things depending on it.
6411
6412 2008-08-06 Chong Yidong <cyd@stupidchicken.com>
6413
6414 * xdisp.c (try_scrolling): Use iterator to find the scroll margin,
6415 instead of window-end which does the wrong thing at eob.
6416 (try_cursor_movement): Minor optimization.
6417 (redisplay_window): If scroll margin is defined, don't assume
6418 window doesn't need scrolling.
6419
6420 2008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
6421
6422 * config.in: Regenerate.
6423
6424 * Makefile.in: Move nsXXX.m dependencies into big alphabetical list.
6425 (mostlyclean): Don't delete *.d under NS.
6426
6427 * nsterm.h (NS_HAVE_INTEGER): Change to NS_HAVE_NSINTEGER.
6428
6429 2008-08-06 Kenichi Handa <handa@m17n.org>
6430
6431 * xfont.c (xfont_list_family): Return a list of symbols, not strings.
6432
6433 2008-08-06 Andreas Schwab <schwab@suse.de>
6434
6435 * config.in: Regenerate.
6436
6437 2008-08-05 Chong Yidong <cyd@stupidchicken.com>
6438
6439 * xdisp.c (redisplay_window): Don't enforce scroll-margin when
6440 forcing a window start.
6441
6442 * fileio.c (Vauto_save_list_file_name): Move here from file.el.
6443 (auto_save_1): Update modtime when auto-save-list-file-name is on.
6444
6445 2008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
6446
6447 * emacs.c (main): Under NS, set working dir to HOME when get a "psn"
6448 argument.
6449
6450 2008-08-05 Juanma Barranquero <lekktu@gmail.com>
6451
6452 * buffer.c (syms_of_buffer) <scroll-up-aggressively>:
6453 <scroll-down-aggressively, before-change-functions>:
6454 <after-change-functions>: Reflow docstrings.
6455
6456 2008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
6457 Ken Raeburn <raeburn@gnu.org>
6458
6459 Dock menu customization, based on a patch by Ken Raeburn, plus some
6460 other fixes.
6461 * nsmenu.m (dockMenu): New variable.
6462 (EmacsDialog -clicked:): Fix mistake in change of 2008-07-17.
6463
6464 * nsterm.h (dockMenu): Declare.
6465
6466 * nsterm.m (KEY_NS_NEW_FRAME): New definition.
6467 (ns_term_init): Initialize dockMenu.
6468 (EmacsApp -newFrame:, -applicationDockMenu:): New methods.
6469 (EmacsView -windowShouldClose:): Don't behave specially if <= 1 frame
6470 left.
6471
6472 * lisp.h (LSB_TAG): Use on DARWIN_OS, not NS_IMPL_COCOA.
6473
6474 2008-08-04 Chong Yidong <cyd@stupidchicken.com>
6475
6476 * nsterm.h: Test directly for NS_HAVE_INTEGER before defining it.
6477
6478 * config.in: Regenerate.
6479
6480 2008-08-04 Seiji Zenitani <zenitani@mac.com>
6481
6482 * nsfns.m (x-create-frame): Set the frame parameter alpha to nil.
6483
6484 2008-08-04 Chong Yidong <cyd@stupidchicken.com>
6485
6486 * nsterm.h (find_and_call_menu_selection): Fix prototype.
6487
6488 2008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
6489
6490 * emacs.c (main: unexec_init_emacs_zone): Call if on DARWIN_OS.
6491
6492 * keyboard.h: Comment an #endif.
6493
6494 * lisp.h (have_menus_p): Adjust comment.
6495
6496 * menu.c (find_and_return_menu_selection): Fix comparison with
6497 client_data.
6498
6499 * nsmenu.m (popup_activated_flag): New variable.
6500 (popup_activated): New function.
6501 (menu-or-popup-active-p): New exported lisp definition.
6502 (ns_popup_menu): Set popup_activated_flag. Call discard_menu_items()
6503 when popup done.
6504 (ns_popup_dialog): Set popup_activated_flag.
6505
6506 * nsterm.m (EmacsView -conversationIdentifier): Use NSInteger
6507 version for GNUstep (handled by conditional typedef in nsterm.m).
6508 (ns_get_color): Remove special-casing for "darkblue", "dark blue" (now
6509 in rgb.txt).
6510
6511 * process.c (init_process): Use DARWIN_OS, not DARWIN.
6512
6513 * sysselect.h: Conditionalize init_process undef on DARWIN_OS.
6514
6515 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): Do it also under NS.
6516
6517 * xdisp.c (redisplay_internal, note_mouse_highlight): Under NS,
6518 shortcircuit if popup_activated like GTK and X toolkit.
6519
6520 * m/inter386.h: Change DARWIN to DARWIN_OS.
6521
6522 * s/darwin.h: Add #define DARWIN_OS. Get rid of C_SWITCH_SYSTEM def.
6523 Change LIBS_MACGUI to LIBS_NSGUI. Move temacs-conditionalized defs
6524 closer to C_SWITCH_SYSTEM_TEMACS so usage is understood. Expand
6525 comment on NO_SOCK_SIGIO.
6526
6527 2008-08-03 Chong Yidong <cyd@stupidchicken.com>
6528
6529 * nsterm.m (windowDidResize): Remove stopModal call.
6530
6531 2008-08-03 Andreas Schwab <schwab@suse.de>
6532
6533 * vm-limit.c (get_lim_data) [HAVE_GETRLIMIT && RLIMIT_AS]: Define.
6534 (check_memory_limits): Don't handle HAVE_GETRLIMIT here.
6535
6536 2008-08-02 Chong Yidong <cyd@stupidchicken.com>
6537
6538 * vm-limit.c (check_memory_limits): Don't use getrlimit on cygwin.
6539 Don't use uninitialized pointer variable when using getrlimit.
6540
6541 2008-08-02 Jason Rumney <jasonr@gnu.org>
6542
6543 * w32font.c (compute_metrics): Don't mess with glyph_idx setting here.
6544
6545 2008-08-02 Eli Zaretskii <eliz@gnu.org>
6546
6547 * alloc.c (NSTATICS): Bump to 0x640.
6548
6549 * s/gnu-linux.h (HAVE_PROCFS, LISTPROC, PROCATTR): New defines.
6550
6551 * lisp.h: Add prototype for directory_files_internal.
6552
6553 * process.c (Fsystem_processes_list, Fsystem_process_attributes):
6554 New functions.
6555 (syms_of_process): Defsubr them. Add initializations for various
6556 Q* symbols used in procfs_system_process_attributes.
6557 (procfs_list_system_processes, procfs_system_process_attributes)
6558 [HAVE_PROCFS]: New functions.
6559 (time_from_jiffies, ltime_from_jiffies, get_up_time, procfs_ttyname)
6560 (procfs_get_total_memory): New functions.
6561
6562 2008-08-01 Juanma Barranquero <lekktu@gmail.com>
6563
6564 * xfaces.c (Fx_load_color_file): Fix previous change;
6565 it is #ifdef WINDOWSNT, not WINDOWS_NT.
6566
6567 2008-08-01 Michael Albinus <michael.albinus@gmx.de>
6568
6569 * dbusbind.c (xd_read_message): Handle D-Bus error messages.
6570
6571 2008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
6572
6573 * nsterm.h (NSInteger, NSUInteger): Add defines for non-Leopard.
6574
6575 2008-08-01 Chong Yidong <cyd@stupidchicken.com>
6576
6577 * nsfns.m (ns_frame_parm_handlers): Add empty entry for x_set_alpha.
6578
6579 * nsterm.m (EmacsApp -application:openFiles:): GNUstep does not
6580 define NSApplicationDelegateReplySuccess.
6581 (EmacsView -converstationIdentifier): Use long instead of
6582 NSInteger for GNUstep, since it doesn't have NSInteger.
6583
6584 * xmenu.c: Revert last change.
6585
6586 * keyboard.h: Fix last change.
6587
6588 2008-08-01 Juanma Barranquero <lekktu@gmail.com>
6589
6590 * xfaces.c (x-load-color-file): Use RGB() instead of manually shifting
6591 on Windows.
6592
6593 2008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
6594
6595 Warning clearing and clean-up in NS port.
6596 * keyboard.h (xmalloc_widget_value, digest_single_submenu):
6597 Add prototypes.
6598 * nsgui.h (FACE_DEFAULT): Remove, unused.
6599 (XGCValues): Change colors to unsigned long.
6600 * nsterm.h (EmacsApp): Add declaration of all methods implemented in
6601 nsterm.m.
6602 (EmacsMenu -addItemWithWidgetValue:): Change to use NSMenuItem class.
6603 (ns_list_fonts): Remove, unused.
6604 (ns_font_to_xlfd, ns_fontname_to_xlfd): Drop prototypes.
6605 * nsfns.m (interpret_services_menu): Use NSMenuItem class.
6606 * nsfont.m (nsfont_open): Fix cast error in glyphs,metrics alloc.
6607 (nsfont_draw): Compare face colors to 0, not nil.
6608 * nsmenu.m (struct widget_value): Drop unneeded declaration.
6609 (EmacsMenu -addItemWithWidgetValue:, -fillWithWidgetValue:)
6610 (-addSubmenuWithTitle:): Use NSMenuItem class.
6611 (ns_popup_menu): Use NO, not NULL, for enabled setting.
6612 * nsterm.m (ns_draw_glyph_string): Don't compare font to ~0.
6613 (ns_clip_to_row): Make gc arg a BOOL.
6614 (ns_draw_fringe_bitmap, ns_draw_window_cursor): Use YES, NO in
6615 ns_clip_to_row() call.
6616 (ns_draw_glyph_string): Drop face comparison to ~0 (no longer
6617 used). Cast FRAME_FONT assignments.
6618 (ns_read_socket): Cast call to EmacsApp-fulfillService:withArg:.
6619 (ns_string_to_lispmod): Change arg to const char.
6620 (ns_term_init): Use NSMenuItem class.
6621 (EmacsApp -openFile:): Move to different section of file.
6622 (EmacsApp -application:openFiles:): Don't return a value, call
6623 -replyToOpenOrPrint:.
6624 (EmacsView -keyDown:): Fix up cast.
6625 (EmacsView -converstationIdentifier): Use NSInteger instead of long.
6626 (EmacsView -menuDown:): Cast tag in call to
6627 find_and_call_menu_selection().
6628 (ns_list_fonts): Remove, unused.
6629 (ns_font_to_xlfd): Make static. Cast result of UTF8String.
6630 (ns_fontname_to_xlfd): Make static.
6631 * w32menu.c (xmalloc_widget_value, digest_single_submenu):
6632 Remove prototypes (now in keyboard.h).
6633 (next_menubar_widget_id): Remove, unused.
6634 * xmenu.c (xmalloc_widget_value, digest_single_submenu):
6635 Remove prototypes (now in keyboard.h).
6636 * xfaces.c (ns_list_fonts, w32_list_fonts): Remove, unused.
6637
6638 2008-08-01 Dan Nicolaescu <dann@ics.uci.edu>
6639
6640 * Makefile.in (dispnew.o, gtkutil.o, sound.o, atimer.o)
6641 (floatfns.o): Depend on syssignal.h.
6642 (term.o): Depend on syssignal.h, systty.h, and $(INTERVAL_SRC).
6643
6644 * systty.h: Fix previous change that removed BSD_TERMIOS.
6645 Add comments to #ifdefs.
6646
6647 2008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
6648
6649 * w32fns.c (w32-load-color-file): Remove.
6650 (x-open-connection): Use renamed Fx_load_color_file.
6651 * xfaces.c (x-load-color-file): Add.
6652 * nsterm.m (ns_initialize): Load colors from etc/rgb.txt instead of
6653 Emacs.clr.
6654 (hide_hourglass): BLOCK_INPUT before UNBLOCK.
6655
6656 2008-07-31 Michael Albinus <michael.albinus@gmx.de>
6657
6658 * dbusbind.c (Fdbus_call_method_asynchronously)
6659 (Fdbus_method_error_internal): New defuns.
6660 (xd_read_message): Handle also reply messages.
6661 (Vdbus_registered_functions_table): Extend docstring.
6662
6663 2008-07-31 Juanma Barranquero <lekktu@gmail.com>
6664
6665 * keyboard.c (gobble_input): Fix previous change.
6666
6667 2008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
6668
6669 * bitmaps/README:
6670 * xfns.c:
6671 * termcap.c:
6672 * term.c:
6673 * syswait.h:
6674 * systty.h:
6675 * systime.h:
6676 * syssignal.h:
6677 * sysdep.c:
6678 * process.h:
6679 * process.c:
6680 * print.c:
6681 * ndir.h:
6682 * lread.c:
6683 * keyboard.c:
6684 * getpagesize.h:
6685 * floatfns.c:
6686 * fileio.c:
6687 * emacs.c:
6688 * doc.c:
6689 * dispnew.c:
6690 * dired.c:
6691 * data.c:
6692 * callproc.c:
6693 * buffer.c:
6694 * README:
6695 * Makefile.in:
6696 * s/template.h:
6697 * s/msdos.h:
6698 * m/vax.h: Remove VMS support.
6699 * s/vms.h:
6700 * vlimit.h:
6701 * uaf.h:
6702 * temacs.opt:
6703 * param.h:
6704 * ioctl.h: Remove file.
6705
6706 2008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
6707
6708 * s/ms-w32.h (MULTI_KBOARD): Remove.
6709 * xterm.c:
6710 * xselect.c:
6711 * xfns.c:
6712 * window.c:
6713 * w32term.c:
6714 * w32fns.c:
6715 * terminal.c:
6716 * termhooks.h:
6717 * term.c:
6718 * sysdep.c:
6719 * keyboard.h:
6720 * keyboard.c:
6721 * frame.h:
6722 * frame.c:
6723 * frame.c: Remove references to MULTI_KBOARD, it is now the default.
6724 * config.in: Regenerate.
6725
6726 2008-07-30 Jason Rumney <jasonr@gnu.org>
6727
6728 * w32font.h (struct w32font_info): Use unicode version of textmetrics.
6729
6730 * w32font.c (w32font_encode_char): Leave as unicode if in range.
6731 (w32font_open_internal): Get unicode version of textmetrics.
6732 Don't enable or disable glyph indices here.
6733 (w32font_open): Disable use of glyph indices.
6734
6735 * w32uniscribe.c (uniscribe_open): Enable use of glyph indices.
6736
6737 2008-07-30 Chong Yidong <cyd@stupidchicken.com>
6738
6739 * minibuf.c (Vread_buffer_function): Doc fix.
6740
6741 2008-07-30 John Paul Wallington <jpw@pobox.com>
6742
6743 * minibuf.c (read_buffer_completion_ignore_case): New var.
6744 (Fread_buffer): Use it.
6745
6746 2008-07-30 Dan Nicolaescu <dann@ics.uci.edu>
6747
6748 * systty.h (sensemode): Remove empty #if. Remove reference to
6749 BSD_TERMIOS, unused.
6750
6751 * sysdep.c: Remove reference to DGUX.
6752 (closedir): Remove reference to BROKEN_CLOSEDIR, unused.
6753
6754 * config.in: Regenerate.
6755
6756 2008-07-30 Jason Rumney <jasonr@gnu.org>
6757
6758 * w32uniscribe.c (uniscribe_encode_char): Fix glyph buffer size.
6759
6760 2008-07-29 Jason Rumney <jasonr@gnu.org>
6761
6762 * w32uniscribe.c (uniscribe_shape): Avoid using context if cache
6763 is populated.
6764 (uniscribe_encode_char): Always use uniscribe.
6765 Avoid using context if cache is populated.
6766
6767 2008-07-29 Jan Djärv <jan.h.d@swipnet.se>
6768
6769 * xmenu.c (Fx_menu_bar_open_internal): Use activate_item signal to
6770 open menu.
6771
6772 * gtkutil.c (menu_nav_ended): Remove.
6773 (create_menus): Remove signal connect for menu_nav_ended.
6774
6775 2008-07-28 Chong Yidong <cyd@stupidchicken.com>
6776
6777 * xdisp.c (redisplay_window): Check return value of
6778 compute_window_start_on_continuation_line before forcing a window
6779 start.
6780
6781 2008-07-28 Jason Rumney <jasonr@gnu.org>
6782
6783 * w32font.c (w32font_text_extents): Use w32_metric_cache consistently.
6784
6785 * w32term.c (w32_enable_unicode_output, cleartype_active):
6786 Remove obsolete display options.
6787 (x_draw_glyph_string_background): Don't use old cleartype_active
6788 workaround.
6789 (w32_initialize): Remove cleartype_active initialization.
6790 (syms_of_w32term): Remove w32_enable_unicode_output initialization.
6791
6792 2008-07-28 Andreas Schwab <schwab@suse.de>
6793
6794 * lisp.h (init_weak_hash_tables, syms_of_font)
6795 (xd_read_queued_messages, syms_of_dbusbind): Declare.
6796 (remove_hash_entry): Don't declare.
6797 * eval.c (maybe_call_debugger): Make static and move before use.
6798 * gtkutil.c: Include <X11/Xft/Xft.h> if HAVE_XFT.
6799 * xdisp.c: Include "gtkutil.h" if USE_GTK.
6800 * xterm.h (x_set_frame_alpha): Declare.
6801
6802 2008-07-28 Jan Djärv <jan.h.d@swipnet.se>
6803
6804 * gtkutil.c (menu_nav_ended): Revert change from 2008-07-24.
6805 (create_menus): Connect selection-done to menu_nav_ended.
6806
6807 2008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
6808
6809 * nsfns.m (x-create-frame): Add copy of parms argument to beginning.
6810 Set Vx_resource_name to a fallback. Replace read of 'buffered'
6811 parameter with read of 'alpha' one.
6812 (Qns_frame_parameter): Remove.
6813 * nsselect.m (selection-coding-system)
6814 (next-selection-coding-system, Vselection_coding_system)
6815 (Vnext_selection_coding_system): Drop.
6816
6817 2008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
6818
6819 * nsfns.m (do-applescript, do_applescript): Rename to
6820 ns-do-applescript, ns_do_applescript, and move within file.
6821
6822 2008-07-27 Dan Nicolaescu <dann@ics.uci.edu>
6823
6824 Remove support for Mac Carbon.
6825 * mactoolbox.c:
6826 * macterm.h:
6827 * macterm.c:
6828 * macselect.c:
6829 * macmenu.c:
6830 * macgui.h:
6831 * macfns.c:
6832 * mac.c: Remove file.
6833 * s/darwin.h:
6834 * m/intel386.h:
6835 * xfaces.c:
6836 * xdisp.c:
6837 * window.c:
6838 * tparam.c:
6839 * termhooks.h:
6840 * termcap.c:
6841 * term.c:
6842 * syssignal.h:
6843 * sysselect.h:
6844 * sysdep.c:
6845 * process.c:
6846 * lread.c:
6847 * lisp.h:
6848 * keyboard.c:
6849 * image.c:
6850 * fringe.c:
6851 * frame.h:
6852 * frame.c:
6853 * fontset.c:
6854 * font.h:
6855 * font.c:
6856 * fns.c:
6857 * fileio.c:
6858 * emacs.c:
6859 * dispnew.c:
6860 * dispextern.h:
6861 * config.in:
6862 * atimer.c:
6863 * Makefile.in: Remove code for Carbon.
6864
6865 2008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6866
6867 * macterm.c (XDrawLine) [USE_MAC_IMAGE_IO]: Remove spurious return.
6868
6869 2008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6870
6871 * macterm.h (kCGBitmapByteOrder32Host): New define for
6872 non-universal SDKs.
6873
6874 * image.c (mac_create_cg_image_from_image, image_load_image_io)
6875 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
6876
6877 * macterm.c (XDrawLine, XCreatePixmapFromBitmapData)
6878 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
6879
6880 2008-07-26 David Robinow <drobinow@gmail.com> (tiny change)
6881
6882 * w32inevt.c: Include dispextern.h.
6883
6884 2008-07-26 Andreas Schwab <schwab@suse.de>
6885
6886 * print.c (print_object): Fix off-by-one in last change.
6887
6888 2008-07-25 Juanma Barranquero <lekktu@gmail.com>
6889
6890 * term.c (syms_of_term): Don't initialize default_orig_pair,
6891 default_set_foreground and default_set_background on Windows.
6892
6893 2008-07-25 Jason Rumney <jasonr@gnu.org>
6894
6895 * w32uniscribe.c (uniscribe_shape): Pass NULL for control arg to
6896 ScriptItemize. Clean up return value checking. Remove unused
6897 variables.
6898 (uniscribe_encode_char): Encode non-BMP characters with uniscribe
6899 shaping engine.
6900
6901 * w32font.c (w32font_has_char): Handle the case where we can't
6902 determine the script for a character.
6903
6904 2008-07-25 Chong Yidong <cyd@stupidchicken.com>
6905
6906 * term.c (syms_of_term): Initialize default_orig_pair,
6907 default_set_foreground, and default_set_background.
6908
6909 * getloadavg.c (nl): Rename to name_list to avoid ncurses.h
6910 clash (bug#86).
6911 (getloadavg): Callers changed.
6912
6913 * image.c (svg_load_image): Fix last change.
6914 (svg_load_image): Use rsvg_handle_get_dimensions to check that
6915 image size is valid. Use g_object_unref instead of deprecated
6916 rsvg_handle_free to free rsvg handle.
6917 (x_from_xcolors): Don't initialize pixmap (silence compiler).
6918
6919 2008-07-25 Jason Rumney <jasonr@gnu.org>
6920
6921 * w32font.c (w32font_encode_char): Encode characters outside BMP as
6922 surrogates before looking up glyph index.
6923 (w32font_text_extents): Encode as surrogates if falling back to
6924 functions that need UTF-16 wide chars.
6925
6926 * w32uniscribe.c (uniscribe_encode_char): Encode characters outside
6927 BMP as surrogates before looking up glyph index.
6928
6929 2008-07-25 Chong Yidong <cyd@stupidchicken.com>
6930
6931 * image.c (svg_load_image): Check for failure in return value of
6932 rsvg_handle_get_pixbuf. Free rsvg handle when done.
6933
6934 2008-07-25 Jason Rumney <jasonr@gnu.org>
6935
6936 * w32font.c (Fx_select_font): Reverse sense of second arg.
6937
6938 2008-07-24 Stefan Monnier <monnier@iro.umontreal.ca>
6939
6940 * syntax.c (struct lisp_parse_state, char_quoted, inc_bytepos)
6941 (dec_bytepos, find_defun_start): Use EMACS_INT for buffer positions.
6942
6943 * puresize.h (PURESIZE_CHECKING_RATIO): New macro.
6944 (PURESIZE): Use it.
6945
6946 2008-07-24 Dan Nicolaescu <dann@ics.uci.edu>
6947
6948 * m/amdx86-64.h (HAVE_LIB64_DIR): Consolidate ifdefs.
6949 * m/alpha.h (TEXT_END):
6950 * m/ibmrs6000.h (TEXT_END):
6951 * m/macppc.h (TEXT_END):
6952 * s/darwin.h (TEXT_END):
6953 * s/msdos.h (TEXT_END): Remove, unused.
6954 * s/gnu-linux.h (BSD_PGRPS): Add a comment.
6955 * s/cygwin.h: Remove comment.
6956
6957 * ecrt0.c (NODOT_GLOBAL_START): Remove code, unused.
6958 (DOT_GLOBAL_START): Remove conditional, redundant for CRT0_DUMMIES.
6959 * m/intel386.h (DOT_GLOBAL_START):
6960 * m/vax.h (DOT_GLOBAL_START): Remove, redundant with CRT0_DUMMIES.
6961 (USG): Remove, file not used on USG platforms.
6962
6963 * Makefile.in (HAVE_X11): Remove empty #else.
6964
6965 2008-07-24 Andreas Schwab <schwab@suse.de>
6966
6967 * fileio.c (Finsert_file_contents): Properly adjust undo list
6968 after format conversion.
6969
6970 2008-07-24 Jan Djärv <jan.h.d@swipnet.se>
6971
6972 * gtkutil.c (xg_get_font_name): Cast w to GTK_FONT_SELECTION_DIALOG.
6973 (menu_nav_ended): Remove.
6974 (create_menus): Remove signal connect for menu_nav_ended.
6975 (xg_update_menubar): Also take deactivate_cb as parameter, pass it to
6976 create_menus.
6977 (xg_modify_menubar_widgets): Pass deactivate_cb to xg_update_menubar.
6978
6979 2008-07-23 Jason Rumney <jasonr@gnu.org>
6980
6981 * w32font.c (w32_enumfont_pattern_entity): Return height consistent
6982 with opened font.
6983 (w32font_open): Set font type to gdi.
6984
6985 * w32uniscribe.c (uniscribe_open): Set font type to uniscribe.
6986
6987 2008-07-23 Dan Nicolaescu <dann@ics.uci.edu>
6988
6989 * s/usg5-4.h (ADDR_CORRECT): Remove, unused.
6990 * unexaix.c (ADDR_CORRECT): Remove conditional, the only user
6991 defines it.
6992 * unexec.c (ADDR_CORRECT): Define unconditionally.
6993
6994 * m/ibmrs6000.h (C_SWITCH_MACHINE): Remove.
6995
6996 * unexec.c: Remove code depending on !COFF and USG, the file is
6997 not used for such systems.
6998
6999 * s/netbsd.h (A_TEXT_OFFSET, A_TEXT_SEEK):
7000 * s/freebsd.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, unused.
7001 (LD_SWITCH_SYSTEM_1): Remove, update users.
7002
7003 * s/darwin.h (DATA_END):
7004 * m/intel386.h (DATA_END):
7005 * m/ibmrs6000.h (DATA_END):
7006 * m/alpha.h (DATA_END): Remove, unused.
7007
7008 * config.in: Regenerate.
7009 * s/ms-w32.h (subprocesses): Define unconditionally.
7010 * s/template.h (subprocesses): Update comment.
7011 * s/vms.h (subprocesses):
7012 * s/usg5-4.h (subprocesses):
7013 * s/hpux10-20.h (subprocesses):
7014 * s/gnu-linux.h (subprocesses):
7015 * s/cygwin.h (subprocesses):
7016 * s/bsd-common.h (subprocesses):
7017 * s/aix4-2.h (subprocesses):
7018 * s/darwin.h (subprocesses): Do not define, defined by default now.
7019
7020 * Makefile.in (C_SWITCH_SITE, LD_SWITCH_SITE): Remove, unused.
7021 Remove all references.
7022 (temacs): Add GNUstep specific ld flags.
7023
7024 * nsterm.m (syms_of_nsterm): Provide ns, not ns-windowing,
7025 similarly to what X does.
7026
7027 2008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
7028
7029 * nsfns.m (x-list-fonts): Remove.
7030 (syms_of_nsfns): Drop the x-list-fonts declaration.
7031 * nsterm.m: Get rid of remaining "//" comments.
7032
7033 2008-07-22 Chong Yidong <cyd@stupidchicken.com>
7034
7035 * xselect.c (Fx_rotate_cut_buffers_internal): Doc fix.
7036
7037 * nsselect.m (Fns_selection_exists_p, Fns_selection_owner_p)
7038 (Fx_get_selection_internal, Fns_rotate_cut_buffers_internal)
7039 (Fns_own_selection_internal, Fx_disown_selection_internal)
7040 (Fns_get_cut_buffer_internal, Fns_store_cut_buffer_internal):
7041
7042 * nsmenu.m (Fns_reset_menu, Fx_popup_menu): Change to use 'doc: /*
7043 ... */' style of docstrings. Doc fixes.
7044
7045 2008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
7046
7047 * terminfo.c (UP, BC, PC): Undo previous change.
7048
7049 * nsfns.m: Rename ns prefixed functions/variables to the
7050 corresponding x versions. Update references.
7051
7052 2008-07-22 Stefan Monnier <monnier@iro.umontreal.ca>
7053
7054 * syntax.c (char_quoted): Check "charpos > beg" before decrementing.
7055
7056 2008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
7057
7058 * nsfns.m (x_set_menu_bar_lines, x_set_tool_bar_lines):
7059 Remove forwarding functions.
7060 (ns_set_menu_bar_lines): Rename to x_set_menu_bar_lines, make
7061 non-static.
7062 (ns_set_tool_bar_lines): Rename to x_set_tool_bar_lines, make
7063 non-static.
7064 (ns_frame_parm_handlers): Use the new names.
7065 (syms_of_nsfns): Move to the end of file.
7066
7067 * nsterm.m (syms_of_nsterm): Move to the end of file.
7068
7069 * dispnew.c (init_display): Remove code for X10.
7070
7071 2008-07-22 Jason Rumney <jasonr@gnu.org>
7072
7073 * w32proc.c (Fw32_long_file_name): Don't append dir separator to
7074 bare drive.
7075
7076 2008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
7077
7078 * nsterm.m (syms_of_nsterm): Remove debugging println.
7079
7080 2008-07-22 David Reitter <david.reitter@gmail.com>
7081
7082 * nsfns.m (do_applescript, F_do_applescript): NS version of the
7083 Carbon implementation of the same functionality: execute arbitrary
7084 AppleScript code.
7085
7086 2008-07-21 Adrian Robert <Adrian.B.Robert@gmail.com>
7087
7088 * nsfns.m (Fx_create_frame, Fx_read_file_name, Fx_get_resource)
7089 (Fx_set_resource, Fx_set_alpha, Fx_server_max_request_size)
7090 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
7091 (Fx_display_mm_height, Fx_display_mm_width)
7092 (Fx_display_backing_store, Fx_display_visual_class)
7093 (Fx_display_save_under, Fx_open_connection)
7094 (Fx_close_connection, Fx_hide_emacs, Fx_font_name)
7095 (Fx_list_colors, Fx_perform_service, Fx_color_defined_p)
7096 (Fx_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
7097 (Fx_display_pixel_width, Fx_display_pixel_height)
7098 (Fx_display_usable_bounds, Fx_display_planes)
7099 (Fx_display_color_cells, Vns_icon_type_alist): Change to use 'doc: /*
7100 ... */' style of docstrings.
7101
7102 2008-07-21 Dan Nicolaescu <dann@ics.uci.edu>
7103
7104 * m/mips.h (LOAD_AVE_TYPE, LOAD_AVE_CVT): Do not define, not used
7105 on this platform.
7106 (mips):
7107 * m/iris4d.h (mips): Do not define.
7108 * sysdep.c (init_sys_modes): Use __mips__ instead of mips.
7109
7110 * m/ibmrs6000.h (LD_SWITCH_SITE): Remove.
7111
7112 * image.c:
7113 * nsfns.m:
7114 * nsselect.m:
7115 * nsterm.h:
7116 * nsterm.m: Rename ns prefixed functions/variables to the
7117 corresponding x versions. Update references.
7118
7119 * m/ibms390x.h (NO_REMAP): Do not undefine.
7120
7121 * m/amdx86-64.h: Use SOLARIS2 instead of sun.
7122
7123 2008-07-21 Chong Yidong <cyd@stupidchicken.com>
7124
7125 * nsfns.m: Change NS to Nextstep in docstrings and error messages.
7126 (Fns_create_frame, Fns_read_file_name, Fns_get_resource)
7127 (Fns_set_resource, Fns_set_alpha, Fns_server_max_request_size)
7128 (Fns_server_vendor, Fns_server_version, Fns_display_screens)
7129 (Fns_display_mm_height, Fns_display_mm_width)
7130 (Fns_display_backing_store, Fns_display_visual_class)
7131 (Fns_display_save_under, Fns_open_connection)
7132 (Fns_close_connection, Fns_hide_emacs, Fns_font_name)
7133 (Fns_list_colors, Fns_perform_service, Fns_color_defined_p)
7134 (Fns_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
7135 (Fns_display_pixel_width, Fns_display_pixel_height)
7136 (Fns_display_usable_bounds, Fx_display_planes)
7137 (Fns_display_color_cells, Vns_icon_type_alist): Doc fixes.
7138
7139 2008-07-21 Ami Fischman <ami@fischman.org> (tiny change)
7140
7141 * print.c (print_object): Check print_depth before searching for
7142 circularities.
7143
7144 2008-07-21 Michael Albinus <michael.albinus@gmx.de>
7145
7146 * dbusbind.c (Fdbus_register_signal): Use sprintf + strcat instead
7147 only sprintf.
7148
7149 2008-07-21 Kenichi Handa <handa@m17n.org>
7150
7151 * ftfont.c (adjust_anchor): Check if DeltaValue is not NULL.
7152
7153 2008-07-20 Andreas Schwab <schwab@suse.de>
7154
7155 * syntax.c (find_start_pos, find_start_value)
7156 (find_start_value_byte, find_start_begv, find_defun_start)
7157 (back_comment, scan_sexps_forward): Use EMACS_INT for buffer positions.
7158
7159 2008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
7160
7161 * s/sol2-3.h: Insert contents of s/sol2.h.
7162 (LD_SWITCH_SYSTEM): Remove redundant definition.
7163 * s/sol2.h: Remove, unused.
7164
7165 2008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
7166
7167 * nsterm.m (ns_get_color): Recognize HSB,AHSB be synonyms for HSV,AHSV.
7168
7169 2008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
7170
7171 * Makefile.in (ns_appdir): Fix typo in find command.
7172
7173 2008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
7174
7175 * m/intel386.h (NO_REMAP): Do no define for USG, not used.
7176
7177 * s/usg5-4.h (LIBS_SYSTEM): Remove, system for which this was
7178 added not supported anymore.
7179
7180 * s/usg5-4-2.h (LIBS_SYSTEM):
7181 * s/sol2.h (LIBS_SYSTEM): Do not undefine.
7182
7183 * s/netbsd.h (GETPGRP_NO_ARG, N_TRELOFF):
7184 * s/lynxos.h (GETPGRP_NO_ARG):
7185 * s/hpux10-20.h (NO_SIOCTL_H):
7186 * s/gnu.h (GETPGRP_NO_ARG):
7187 * s/gnu-linux.h (NO_SIOCTL_H):
7188 * s/freebsd.h (GETPGRP_NO_ARG, N_TRELOFF):
7189 * s/cygwin.h (GETPGRP_NO_ARG):
7190 * s/irix6-5.h (LIBS_SYSTEM, GETPGRP_NO_ARG): Remove, unused.
7191 (C_DEBUG_SWITCH): Remove duplicate definition.
7192
7193 * m/ibms390.h: Remove boilerplate comments.
7194
7195 * sysdep.c (closedir): Use SOLARIS2 instead of sun && USG5_4.
7196
7197 * process.c (HAVE_SERIAL): Consolidate ifdefs.
7198 (wait_reading_process_output): Remove code for SunOS, platform not
7199 supported anymore. Use SOLARIS2 instead of sun.
7200
7201 2008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
7202
7203 * font.c (font_open_by_name): Under NS, default lface height to zero.
7204 (font_open_for_lface): Under NS, set size based on frame fontsize.
7205 * nsterm.m (EmacsView-changeFont:): Remove some commented code.
7206 * frame.c (x_set_frame_parameters): Remove HAVE_NS ifdef.
7207
7208 2008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
7209
7210 * nsterm.m (ns_antialias_text, ns_use_qd_smoothing)
7211 (ns_use_system_highlight_color): Switch these from DEFVAR_BOOL to
7212 DEFVAR_LISP and change all code accordingly to use Qt/Qnil instead of
7213 YES/NO.
7214 * nsterm.h (prevUseHighlightColor): Make a Lisp_Object.
7215 * nsfont.m (nsfont_draw): Treat ns_use_qd_smoothing as Lisp_Object.
7216 * Makefile.in (clean): Clear out build destination dir.
7217
7218 2008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
7219
7220 * Makefile.in (nsgui.h-related dependencies): Remove abbrev, xfns,
7221 xterm, xselect.
7222 * lisp.h: Remove declaration of hash_remove.
7223 * nsgui.h: Remove redefinitions of hash_remove.
7224 * fns.c (hash_remove): Rename to hash_remove_from_table.
7225
7226 2008-07-19 Seiji Zenitani <zenitani@mac.com>
7227
7228 * nsfont.m (nsfont_fmember_to_entity, nsfont_make_fontset_for_font):
7229 strdup() the family UTF8String before modifying it.
7230
7231 2008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
7232
7233 * nsterm.m (ns_maybe_dumpglyphs_background): Compare result from
7234 NS_FACE_BACKGROUND with 0 instead of nil.
7235 * nsfont.m (nsfont_draw): Same.
7236
7237 2008-07-19 Chong Yidong <cyd@stupidchicken.com>
7238
7239 * nsfns.m (ns_set_background_color): Fix crash.
7240
7241 2008-07-18 Chong Yidong <cyd@stupidchicken.com>
7242
7243 * Makefile.in (SOME_MACHINE_LISP): Remove ns-carbon-compat.elc.
7244
7245 2008-07-18 Dan Nicolaescu <dann@ics.uci.edu>
7246
7247 * puresize.h (BASE_PURESIZE): Increase to 1240000.
7248
7249 2008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7250
7251 * gtkutil.c: Include <config.h> instead of "config.h".
7252
7253 * lisp.h (Foverlay_buffer): Add EXFUN.
7254
7255 * process.c (create_process) [!WINDOWSNT && FD_CLOEXEC]: Wait for
7256 child process to complete child_setup. Undo 2005-09-21 change.
7257
7258 * s/darwin.h: Mention setsid after vfork.
7259
7260 2008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7261
7262 * Makefile.in (frame.o, keyboard.o, xdisp.o, xfaces.o):
7263 Depend on macgui.h.
7264
7265 * macfns.c (Fx_server_version): Don't use gestaltSystemVersionMajor,
7266 gestaltSystemVersionMinor, or gestaltSystemVersionBugFix.
7267
7268 * macterm.c (keycode_to_xkeysym_table): Add entries for f17, f18,
7269 and f19.
7270 [MAC_OSX] (fn_keycode_to_keycode_table): Likewise.
7271
7272 * macterm.h (gestaltSystemVersionMajor, gestaltSystemVersionMinor)
7273 (gestaltSystemVersionBugFix) [MAC_OS_X_VERSION_MAX_ALLOWED < 1040]:
7274 Remove enumerators.
7275
7276 * mactoolbox.c [USE_MAC_TSM] (mac_handle_text_input_event):
7277 Check if FACE_FROM_ID returns NULL.
7278
7279 2008-07-17 David Robinow <drobinow@gmail.com> (tiny change)
7280
7281 * w32inevt.c (change_frame_size): Remove extern declaration.
7282 (resize_event, maybe_generate_resize_event): Pass SAFE arg to
7283 change_frame_size.
7284
7285 2008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
7286
7287 * getloadavg.c: Revert last change (2008-07-15).
7288
7289 2008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
7290
7291 * Makefile.in: Replace emacsapp, emacsbindir, emacsappsrc variables
7292 set here with ns_appdir, ns_appresdir, ns_appbindir, ns_appsrc set
7293 from configure.
7294
7295 2008-07-17 Dan Nicolaescu <dann@ics.uci.edu>
7296
7297 * s/sol2.h:
7298 * s/sol2-4.h: Reorganize conditionals.
7299
7300 * ecrt0.c: Remove code depending on m68000, not used anymore.
7301
7302 * fns.c (hash_remove): Make static.
7303 * lisp.h (hash_remove): Don't prototype.
7304
7305 * m/ibmrs6000.h:
7306 * m/ibms390x.h:
7307 * m/macppc.h: Remove boilerplate comments.
7308
7309 * m/sparc.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, only used on
7310 Solaris, which does not need them.
7311
7312 * m/vax.h: Remove comments about unsupported systems.
7313
7314 * s/darwin.h: Reorganize ifdefs.
7315
7316 2008-07-17 Andreas Schwab <schwab@suse.de>
7317
7318 * s/cygwin.h (LIB_STANDARD_LIBSRC): Don't define.
7319
7320 2008-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
7321
7322 Use SDATA. Follow coding convention of placing operators at
7323 beginning of next line rather than end of previous line, and placing
7324 spaces around infix operators.
7325
7326 * Makefile.in: Undef LIB_STANDARD before defining it to silence warning
7327 in case it was defined already.
7328 USE @GNUSTEP_MAKEFILES@ rather than envvars.
7329 * nsterm.m (ns_term_init): Pass Qt and Qnil rather than YES/NO to
7330 ns_default.
7331 (applicationShouldTerminate, setValuesFromPanel): Use EQ to compare
7332 Lisp_Objects.
7333 * nsterm.h (Fx_display_grayscale_p, Fx_display_planes)
7334 (ns_defined_color, ns_color_to_lisp): Declare.
7335 * nsselect.m (ns_handle_selection_request, ns_handle_selection_clear)
7336 (Fns_own_selection_internal): Make the big ugly hack more explicit, so
7337 it's accepted even with USE_LISP_UNION_TYPE.
7338 * nsmenu.m (ns_update_menubar): Use EQ to compare Lisp_Objects.
7339 (update_frame_tool_bar): Remove apparently obsolete tests for
7340 non-integerness of f->tool_bar_lines.
7341 (windowShouldClose, addButton, clicked, runDialogAt): Make the big ugly
7342 hack more explicit, so it's accepted even with USE_LISP_UNION_TYPE.
7343 * nsfont.m (nsfont_driver): Use just 0 rather than an invalid cast.
7344 (nsfont_open): Don't confuse NULL for Qnil.
7345 * nsfns.m (ns_implicitly_set_icon_type): Use EQ to compare Lisp_Objects.
7346 * menu.h (find_and_call_menu_selection):
7347 * menu.c (find_and_call_menu_selection): Use just int for vector size.
7348 (find_and_return_menu_selection): Always return something.
7349 * frame.h: Include dispextern.h for Display_Info.
7350 (display_x_get_resource): Declare.
7351
7352 2008-07-16 Adrian Robert <Adrian.B.Robert@gmail.com>
7353
7354 * syntax.c: Remove stdio.h include accidentally introduced in
7355 Emacs.app commit.
7356 * Makefile.in: Change GNUSTEP to NS_IMPL_GNUSTEP, COCOA to
7357 NS_IMPL_COCOA.
7358 * keyboard.c (handle_async_input, input_available_signal): Remove
7359 BSD4_1 conditional code, introduced accidentally in Emacs.app commit.
7360
7361 2008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
7362
7363 * nsterm.m (lisp_to_mod): Use parse_solitary_modifier instead.
7364 (ns_lisp_to_color): Don't mess with internal Lisp data fields.
7365 (ns_term_init, ns_term_shutdown, initFrameFromEmacs, ns_list_fonts):
7366 Use SDATA.
7367
7368 * keymap.c: Remove all NS-specific code.
7369 (where_is_preferred_modifier, Vwhere_is_preferred_modifier): New vars.
7370 (preferred_sequence_p): Rename from ascii_sequence_p; pay attention to
7371 where_is_preferred_modifier, return a different value depending on how
7372 preferred is the binding.
7373 (where_is_internal): Adjust accordingly.
7374 (Fwhere_is_internal): Refresh where_is_preferred_modifier.
7375 Adjust to new preferred_sequence_p.
7376 (syms_of_keymap): Declare `where-is-preferred-modifier'.
7377 * keyboard.c (parse_solitary_modifier): Not static any more.
7378 * keyboard.h (parse_solitary_modifier): Declare.
7379
7380 2008-07-16 Andreas Schwab <schwab@suse.de>
7381
7382 * Makefile.in (SOME_MACHINE_LISP): Remove easy-mmode, fix spelling
7383 of easymenu.
7384
7385 2008-07-16 Chong Yidong <cyd@stupidchicken.com>
7386
7387 * xdisp.c (move_it_in_display_line): Account for word wrap, so
7388 that we don't move off the line.
7389
7390 2008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
7391
7392 * keyboard.c (Qsuper): Remove.
7393 (parse_menu_item): Don't call where_is_internal specially for NS.
7394
7395 2008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
7396
7397 * s/gnu-linux.h: Remove boilerplate comments.
7398
7399 * m/alpha.h (__ELF__): Consolidate conditions.
7400
7401 * m/m68k.h (linux): Use GNU_LINUX instead.
7402 Remove boilerplate comments.
7403
7404 * m/intel386.h: Undo refactoring from previous change.
7405 (LIB_STANDARD): All systems that define USG define LIB_STANDARD
7406 too, remove dead code.
7407 (linux): Use GNU_LINUX instead.
7408
7409 2008-07-16 Jason Rumney <jasonr@gnu.org>
7410
7411 * w32gui.h: Repeat 26 June changes lost by last change.
7412
7413 2008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
7414
7415 * systty.h: Remove code for Aix on 386, unsupported platform.
7416
7417 * s/ms-w32.h: Remove boilerplate comments.
7418 (fcloseall, fgetchar, flushall, fputchar, getw, putw): Remove, unused.
7419
7420 * s/gnu-linux.h (TERM): Remove support.
7421 (HAVE_SYSVIPC): Remove, unused.
7422 (A_TEXT_OFFSET, A_TEXT_SEEK, ADJUST_EXEC_HEADER): Remove, not used
7423 for this system.
7424
7425 * process.c: Remove support for IRIS, unused.
7426 Remove support for TERM, not relevant anymore.
7427
7428 * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Remove, replace the only
7429 used with the definition.
7430
7431 * s/aix4-2.h (static): Do not undef.
7432
7433 * m/ibmrs6000.h: Remove code depending on USG5_4, this file is
7434 only used on Aix.
7435 (HAVE_SYSVIPC): Remove, unused.
7436
7437 * m/hp800.h (CANNOT_DUMP): Do not undef.
7438
7439 * m/alpha.h: Fix comment.
7440
7441 * s/usg5-4.h (HAVE_SYSVIPC): Remove, unused.
7442 (USG_SHARED_LIBRARIES): Remove, only used in unexec.c which is not
7443 used by this configuration.
7444 * emacs.c: Remove code depending on USG_SHARED_LIBRARIES.
7445 * unexec.c: Remove code depending on HPUX and
7446 USG_SHARED_LIBRARIES, not used with this file. Remove code
7447 depending on IRIS, unused. Remove if 0-ed code.
7448
7449 * s/template.h: Remove comments about static.
7450
7451 * sysdep.c: Remove code depending on NEED_PTEM_H, unused.
7452 Remove if 0-ed code.
7453 (baud_convert): Don't depend on BAUD_CONVERT, all definitions the
7454 were the same as the default.
7455 * s/vms.h (BAUD_CONVERT): Remove, same as the default.
7456 Remove boilerplate comments.
7457 * s/hpux10-20.h (BAUD_CONVERT): Remove, same as the default.
7458 (HAVE_SYSVIPC): Remove, unused.
7459 (LD_SWITCH_SYSTEM_TEMACS): Simplify, hp9000s700 not supported anymore.
7460
7461 * m/ia64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
7462 Remove boilerplate comments.
7463 * m/amdx86-64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
7464 Remove boilerplate comments.
7465 * m/ibms390x.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
7466 Remove boilerplate comments.
7467 * lisp.h (PNTR_COMPARISON_TYPE): Define it unconditionally.
7468
7469 * m/intel386.h (DATA_SEG_BITS): Remove definitions, only used on
7470 USG systems which do not use DATA_SEG_BITS.
7471 Refactor code. Remove boilerplate comments.
7472
7473 * m/ibms390.h:
7474 * m/m68k.h:
7475 * s/bsd-common.h:
7476 * s/cygwin.h:
7477 * s/darwin.h:
7478 * s/freebsd.h:
7479 * s/gnu.h:
7480 * s/msdos.h: Remove boilerplate comments.
7481
7482 * m/iris4d.h: Remove boilerplate comments and code for systems that
7483 do not use this file.
7484 (IRIS_4D): Remove, unused.
7485
7486 * m/mips.h: Remove boilerplate comments and code for systems that
7487 do not use this file.
7488 (SIGN_EXTEND_CHAR):
7489 * m/arm.h (SIGN_EXTEND_CHAR): Remove, unused.
7490 * unexmips.c: Remove file, unused.
7491
7492 * editfns.c (Fuser_full_name): Replace the only use of
7493 USER_FULL_NAME with its value.
7494 * config.in: Regenerate.
7495
7496 2008-07-16 David Reitter <david.reitter@gmail.com>
7497
7498 * Makefile.in: Add ns-win, ns-carbon-compat, easy-mmode and
7499 easy-menu to SOME_MACHINE_LISP for the new NeXTstep port.
7500
7501 2008-07-16 Glenn Morris <rgm@gnu.org>
7502
7503 * emacs.c (system-type): Doc fix.
7504
7505 2008-07-15 Stefan Monnier <monnier@iro.umontreal.ca>
7506
7507 * keyboard.c (parse_menu_item): Don't use cachelist, even under NS.
7508 If the cache doesn't work, let's fix it, rather than work around it.
7509
7510 2008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
7511
7512 * Makefile.in: Correct additions for nsfont.o in last commit.
7513 * nsfont.m: New file (forgot last commit).
7514
7515 2008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
7516
7517 * callproc.c (set_initial_environment): Initialize
7518 Vprocess_environment under CANNOT_DUMP (fixes crash when
7519 batch-compiling for bootstrap).
7520
7521 2008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
7522 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7523
7524 (make_initial_frame): Call init_frame_faces(f) in CANNOT_DUMP case --
7525 fix crash due to different init order.
7526
7527 2008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
7528
7529 Changes and additions for NeXTstep windowing system (Cocoa and
7530 GNUstep) support.
7531
7532 * Makefile.in:
7533 * config.in: Support defines and build commands for NS port.
7534 * blockinput.h (BLOCK_INPUT, UNBLOCK_INPUT, TOTALLY_UNBLOCK_INPUT)
7535 (UNBLOCK_INPUT_TO): Don't use under NS unless EXPERIMENTAL_CONTROL_G.
7536 * dispextern.h: Include nsgui.h and add needed typedefs under NS
7537 windowing.
7538 (struct face): Add synth_ital field.
7539 * dispnew.c: Include nsterm.h when compiling under NS windowing.
7540 (init_display): Initialize Vinitial_window_system to "ns" when so
7541 compiled.
7542 * emacs.c: Include GSConfig.h when compiling under GNUstep.
7543 (display_arg): Use under NS.
7544 (main): Under NS, allocate autorelease pool and handle command line
7545 args. Move syms_of_xmenu() call under #ifdef HAVE_X_WINDOWS.
7546 (standard_args): Add NS-specific args.
7547 (shut_down_emacs): Shut down NS terminal if compiled under NS.
7548 * font.c (DEFAULT_ENCODING): New variable.
7549 (font_find_for_lface): Use it.
7550 (syms_of_font): Load syms_of_nsfont under NS.
7551 * font.h: Declare nsfont_driver when compiled under NS.
7552 * fontset.c: When compiling under NS, include nsterm.h.
7553 (fontset_from_font): Autoconstruct fontset under NS.
7554 * frame.c (various): Under NS, include nsterm.h, add Qns window system
7555 symbol, document and use it.
7556 (do_switch_frame): When for_deletion under Cocoa, add
7557 Fraise_frame(Qnil).
7558 (x_set_frame_parameters): Ensure font attribute changes are picked up.
7559 (x_get_arg): Allow "yes" and "no" as boolean values.
7560 (syms_of_frame): Declare Qns. Init Vdefault_frame_scroll_bars to
7561 Qright under Cocoa.
7562 (focus-follows-mouse): Default to 0 under NS.
7563 * frame.h (enum output_method): Add output_ns.
7564 (external_tool_bar, external_menu_bar, FRAME_EXTERNAL_TOOLBAR)
7565 (FRAME_EXTERNAL_MENU_BAR): Use under NS.
7566 (FRAME_WINDOW_P): NS-specific definition.
7567 * fringe.c (max_used_fringe_bitmap): Make public.
7568 * getloadavg.c (mach/mach.h): Include it under NeXT descendant OS's.
7569 (getloadavg): Use NeXT code under descendant OS's.
7570 * image.c (includes and header section, x_create_bitmap_from_data)
7571 (x_create_bitmap_from_file, free_bitmap_record, image_background)
7572 (image_background_transparent, x_clear_image_1)
7573 (x_create_x_image_and_pixmap, x_destroy_x_image, x_put_x_image)
7574 (Create_Pixmap_From_Bitmap_Data, xpm_load_image, lookup_rgb_color)
7575 (x_to_xcolors, x_from_xcolors, x_disable_image)
7576 (x_build_heuristic_mask, syms_of_image): Add NS support parallel to
7577 other GUIs, including XPM support using code originally written for
7578 Carbon GUI.
7579 (png_load, jpeg_load, tiff_load, gif_load): Add implementations
7580 using NS API.
7581 (image_ascent): Use font metrics macros instead of direct struct field
7582 access.
7583 * keyboard.c (includes): Add nsterm.h when compiling under NS.
7584 (kbd_buffer_get_event): Handle NS as other GUI windowing systems.
7585 Also, handle NS as GTK for menu bar purposes.
7586 (make_lispy_event): Handle NS as other GUI windowing systems, and as X
7587 toolkit where they differ.
7588 (parse_menu_item): Prefer keybindings using 'super' modifier. Also,
7589 use cachelist, still needed under NS.
7590 * keyboard.h (ENCODE_MENU_STRING, XtPointer, Boolean): Handle as NTGUI.
7591 (struct widget_value): Define it here for menu.c.
7592 * keymap.c (includes): Include modifier internals.
7593 (lisp_to_mod, modifier_sequence_p): New functions, compiled only under
7594 NS.
7595 (where_is_internal, Fwhere_is_internal): When compiled under NS, add
7596 support for preferring sequences using certain modifiers, specified by
7597 the FIRSTONLY argument.
7598 * lisp.h (hash_remove): Rename to avoid name clash when compiling
7599 under NS GNUstep implementation.
7600 (USE_LSB_TAG): Use it under Cocoa when compiling under NS.
7601 * lread.c (init_lread): Treat NS as HAVE_CARBON for turn_off_warning.
7602 * menu.c: Include nsterm.h under NS.
7603 (single_menu_item, parse_single_submenu, xmalloc_widget_value)
7604 (free_menubar_widget_tree_value, update_submenu_strings)
7605 (find_and_call_menu_selection): Treat NS as X and NT.
7606 (find_and_return_menu_selection): New function, used for popup menus.
7607 * nsgui.h:
7608 * nsterm.h:
7609 * nsfns.m:
7610 * nsimage.m:
7611 * nsmenu.m:
7612 * nsselect.m:
7613 * nsterm.m: New files.
7614 * process.c (wait_reading_process_output): Under NS, call ns_select()
7615 instead of plain select().
7616 * syntax.c (char_quoted): Under NS, avoid a crash when called near
7617 beginning of buffer.
7618 * sysselect.h (init_process): Rename when compiling under Cocoa to
7619 avoid name conflict.
7620 * termhooks.h (display_info): Add ns_display_info to union.
7621 * terminal.c (Fterminal_live_p): Add ns to terminal types.
7622 * terminfo.c (UP, BC, PC): Don't declare when compiling under NS in
7623 COCOA environment.
7624 * unexnext.c: Update to work with mach API on Mac OS X, and to use new
7625 unexec() signature. (Note, this will dump, but the resulting file
7626 crashes; unexosx is used instead; keeping around for reference and
7627 possible aid in getting dump working under GNUstep.)
7628 * w32gui.h (button_type, widget_value): Remove definitions (now in
7629 keyboard.h).
7630 * window.c: Include nsterm.h when compiling under NS.
7631 * xdisp.c (includes): Include nsterm.h when compiling under NS.
7632 (set_frame_menubar, update_menu_bar, display_menu_bar): Handle NS as
7633 other GUI windowing systems.
7634 (update_tool_bar, redisplay_tool_bar, redisplay_window): Handle NS as
7635 GTK.
7636 (x_consider_frame_title): Under NS, set icon type and frame
7637 modified-state indicator; use ns_set_name_as_filename() when using
7638 formatted title.
7639 (update_window_cursor): Make public when compiling under NS.
7640 (display_hourglass_p, syms_of_xdisp, hourglass_shown_p)
7641 (hourglass_atimer, Vhourglass_delay
7642 * xfaces.c (header section, init_frame_faces, clear_font_table)
7643 (defined_color, unload_color, x_face_list_fonts)
7644 (prepare_face_for_display): Add NS support parallel to other GUIs.
7645 Emulate GCs like other non-X GUIs.
7646 (split_font_name): Don't lowercase font name under NS.
7647 (merge_face_ref, Finternal_set_lisp_face_attribute): Support stippling
7648 under NS.
7649 * s/darwin.h: Add support for compilation under NS.
7650
7651 2008-07-15 Jason Rumney <jasonr@gnu.org>
7652
7653 * w32fns.c (Fx_create_frame): Remove duplicate unwind_protect.
7654 (w32_show_hourglass): Rename from show_hourglass.
7655 (w32_hide_hourglass): Rename from hide_hourglass.
7656 (DEFAULT_HOURGLASS_DELAY): Revert from last change.
7657 (Vhourglass_delay): Declare extern.
7658 (hourglass_started): Remove.
7659
7660 * xdisp.c (Vhourglass_delay): Remove static.
7661 (hourglass_started, start_hourglass, cancel_hourglass):
7662 Don't include these versions on WINDOWSNT.
7663
7664 2008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
7665
7666 * dispextern.h (hourglass_shown_p, hourglass_atimer): New extern
7667 variables (formerly in xfns.c).
7668 (show_hourglass, hide_hourglass): New prototypes (same).
7669 * xdisp.c (display_hourglass_p, hourglass_shown_p, hourglass_atimer)
7670 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY): New variables (formerly
7671 in xfns.c).
7672 (syms_of_xdisp): Declare/initialize display-hourglass,
7673 hourglass-delay. Initialize hourglass_atimer, hourglass_shown_p.
7674 (hourglass_started, start_hourglass, cancel_hourglass): New functions,
7675 formerly in xfns.c.
7676 * xfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
7677 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
7678 (start_hourglass, cancel_hourglass): Remove.
7679 (show_hourglass, hide_hourglass): Remove prototypes and static
7680 modifiers.
7681 (syms_of_xfns): Remove display-hourglass, hourglass-delay,
7682 hourglass_atimer, hourglass_shown_p declaration/initialization.
7683 * macfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
7684 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
7685 (start_hourglass, cancel_hourglass): Remove.
7686 (show_hourglass, hide_hourglass): Remove prototypes and static
7687 modifiers.
7688 (syms_of_macfns): Remove display-hourglass, hourglass-delay,
7689 hourglass_atimer, hourglass_shown_p declaration/initialization.
7690 * w32fns.c (display_hourglass_p, Vhourglass_delay)
7691 (DEFAULT_HOURGLASS_DELAY): Remove.
7692 (syms_of_w32fns): Remove display-hourglass, hourglass-delay,
7693 hourglass_shown_p declaration/initialization.
7694
7695 2008-07-14 Jason Rumney <jasonr@gnu.org>
7696
7697 * w32fns.c (w32_get_arg): Remove wrapper function.
7698 (w32_createwindow, x_icon, x_create_tip_frame): Use x_get_arg
7699 directly.
7700 (Fx_create_frame): Sync with xfns.c. Use x_get_arg directly.
7701
7702 2008-07-14 Kenichi Handa <handa@m17n.org>
7703
7704 * xfont.c (xfont_open): Add workaround for X's bug.
7705
7706 2008-07-14 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
7707
7708 * fontset.c: Include <stdio.h> unconditionally.
7709
7710 2008-07-13 Michael Albinus <michael.albinus@gmx.de>
7711
7712 * dbusbind.c (Fdbus_register_signal): Allow also signal arguments
7713 for filtering.
7714
7715 2008-07-13 Dan Nicolaescu <dann@ics.uci.edu>
7716
7717 * s/vms.h: Use __GNUC__ instead of _GNUC_.
7718
7719 * m/macppc.h:
7720 * m/alpha.h: Use GNU_LINUX instead of LINUX. Reorganize conditionals.
7721
7722 * m/ibms390x.h (XINT, XUINT): Don't define, same as the default
7723 (SPECIAL_EMACS_INT):
7724 * m/ia64.h (SPECIAL_EMACS_INT):
7725 * m/amdx86-64.h (SPECIAL_EMACS_INT):
7726 * s/gnu.h (NLIST_STRUCT):
7727 * s/aix4-2.h (X11R5_INHIBIT_I18N):
7728 * s/gnu-linux.h (LINUX):
7729 * s/msdos.h (HAVE_FACES):
7730 * s/ms-w32.h (HAVE_FACES): Don't define, unused.
7731
7732 * systty.h:
7733 * sysdep.c (setup_pty): Don't depend on SYSV_PTYS, it is not used
7734 anymore.
7735
7736 2008-07-12 Dan Nicolaescu <dann@ics.uci.edu>
7737
7738 * syswait.h: Remove old if 0 code. Do not define WAITTYPE, it was
7739 always defined as int.
7740
7741 * s/netbsd.h (HAVE_UNION_WAIT, HAVE_WAIT_HEADER, WAIT_USE_INT):
7742 * s/gnu.h (HAVE_WAIT_HEADER, WAIT_USE_INT, HAVE_UNION_WAIT):
7743 * s/gnu-linux.h (HAVE_WAIT_HEADER):
7744 * s/freebsd.h (HAVE_WAIT_HEADER):
7745 * s/bsd-common.h (HAVE_UNION_WAIT):
7746 * s/aix4-2.h (HAVE_WAIT_HEADER):
7747 * m/mips.h (HAVE_UNION_WAIT):
7748 * s/usg5-4.h (HAVE_WAIT_HEADER, WAITTYPE): Do not define, not used.
7749 (COFF, static): Do not define, they are undefined later in the file.
7750
7751 * process.c (update_status): Don't use a union.
7752 (status_convert):
7753 (sigchld_handler): Use int instead of WAITTYPE.
7754
7755 2008-07-12 Chong Yidong <cyd@stupidchicken.com>
7756
7757 * indent.c (Fvertical_motion): Restore hscroll before moving to
7758 goal column.
7759
7760 2008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
7761
7762 * lisp.h: Remove left over code.
7763
7764 2008-07-11 Andreas Schwab <schwab@suse.de>
7765
7766 * lisp.h: Fix logic in last change.
7767
7768 * menu.h: New file.
7769 * menu.c: Include it.
7770 * xmenu.c: Likewise.
7771 * Makefile.in: Update dependencies.
7772
7773 2008-07-11 Kenichi Handa <handa@m17n.org>
7774
7775 * fontset.c (fontset_from_font): Cancel the previous change.
7776
7777 2008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
7778
7779 * lisp.h:
7780 * w32heap.c:
7781 * emacs.c:
7782 * alloc.c: Replace all references of NO_UNION_TYPE with
7783 USE_LISP_UNION_TYPE.
7784
7785 * m/xtensa.h (NO_UNION_TYPE):
7786 * m/vax.h (NO_UNION_TYPE):
7787 * m/template.h (NO_UNION_TYPE):
7788 * m/sparc.h (NO_UNION_TYPE):
7789 * m/mips.h (NO_UNION_TYPE):
7790 * m/macppc.h (NO_UNION_TYPE):
7791 * m/m68k.h (NO_UNION_TYPE):
7792 * m/iris4d.h (NO_UNION_TYPE):
7793 * m/intel386.h (NO_UNION_TYPE):
7794 * m/ibms390x.h (NO_UNION_TYPE):
7795 * m/ibms390.h (NO_UNION_TYPE):
7796 * m/ibmrs6000.h (NO_UNION_TYPE):
7797 * m/ia64.h (NO_UNION_TYPE):
7798 * m/hp800.h (NO_UNION_TYPE):
7799 * m/arm.h (NO_UNION_TYPE):
7800 * m/amdx86-64.h (NO_UNION_TYPE):
7801 * m/alpha.h (NO_UNION_TYPE): Remove definition, all platform were
7802 defining it the same.
7803
7804 2008-07-10 Chong Yidong <cyd@stupidchicken.com>
7805
7806 * xdisp.c (move_it_to): Backtrack if past the edge of a wrapped line.
7807
7808 2008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
7809
7810 * fileio.c:
7811 * sysdep.c
7812 * systty.h:
7813 * m/ibmrs6000.h:
7814 * m/iris4d.h:
7815 * s/aix4-2.h:
7816 * s/freebsd.h:
7817 * s/gnu-linux.h:
7818 * s/hpux10-20.h:
7819 * s/hpux11.h:
7820 * s/netbsd.h:
7821 * s/sol2-3.h:
7822 * s/sol2-4.h:
7823 * s/sol2.h:
7824 * s/usg5-4.h:
7825 * s/vms.h: Remove references to unused variables.
7826
7827 2008-07-10 Andreas Schwab <schwab@suse.de>
7828
7829 * ftfont.c (ftfont_resolve_generic_family): Remove foundry from
7830 pattern before matching the generic family.
7831
7832 2008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
7833
7834 * unexec.c:
7835 * s/vms.h:
7836 * s/usg5-4-2.h:
7837 * s/sol2-5.h:
7838 * s/freebsd.h:
7839 * s/darwin.h: Remove dead code.
7840
7841 * m/template.h:
7842 * m/sparc.h:
7843 * m/mips.h:
7844 * m/m68k.h:
7845 * m/iris4d.h:
7846 * m/intel386.h:
7847 * m/ibms390x.h:
7848 * m/ibms390.h:
7849 * m/ia64.h:
7850 * m/hp800.h:
7851 * m/arm.h:
7852 * m/amdx86-64.h: Remove dead code and references to unused
7853 and compiler defined symbols.
7854
7855 * unexmips.c:
7856 * unexelf.c: Remove references to desupported systems.
7857
7858 * m/powermac.h: Remove file, it is now identical to m/macppc.h.
7859
7860 * m/powermac.h: Remove boilerplate comments.
7861 (NO_REMAP): Remove unused definition.
7862
7863 * m/macppc.h (UNEXEC, NO_TERMIO): Don't define, the s/ files
7864 define them.
7865
7866 2008-07-10 Kenichi Handa <handa@m17n.org>
7867
7868 * xfont.c (xfont_open): Log the reason of failure.
7869
7870 2008-07-09 Stefan Monnier <monnier@iro.umontreal.ca>
7871
7872 * fontset.c (fontset_get_font_group):
7873 * font.c (font_check_otf): Specify argument types.
7874
7875 2008-07-09 Kenichi Handa <handa@m17n.org>
7876
7877 * coding.c (detect_coding_utf_8): Set detect_info->found only when
7878 non-ASCII char is found.
7879
7880 * fontset.c (fontset_compare_rfontdef): Fix plus/minus.
7881 (reorder_font_vector): Change the arg preferred_family to font.
7882 Prefer the spec matching with font.
7883 (fontset_get_font_group): New function.
7884 (fontset_find_font): Change the format of an element of a realized
7885 fontset. Use fontset_get_font_group.
7886 (fontset_font): Try the current fontset, the default fontset, the
7887 fallbacks of the current fontset, and the fallbacks of the default
7888 fontset in this order.
7889 (face_for_char): Delete the shortcut to use the current font.
7890 (fontset_from_font): Don't set fonts for Latin in the fontset.
7891
7892 * font.h (font_make_object, font_match_p): Adjust prototypes.
7893
7894 * ftfont.h [FT_BDF_H]: Include FT_BDF_H.
7895
7896 * font.c (font_make_object): New arg entity and pixelsize.
7897 (font_check_otf_features, font_check_otf): New functions.
7898 (font_match_p): Check :lang, :script, and :otf properties.
7899
7900 * xfont.c (xfont_open): Adjust it for the change of
7901 font_make_object.
7902 (xfont_text_extents): Fix initial setting of metrics.
7903
7904 * ftfont.c (struct ftfont_info): New member index, delete member
7905 fc_charset_idx. Make the member order compatible with struct
7906 xftfont_info.
7907 (fc_charset_table): Change charset names to registry names.
7908 (ftfont_pattern_entity): Delete the args registry and
7909 fc_charset_idx. Change the value of :font-entity property
7910 to (FONTNAME . INDEX). Always set :registry property to
7911 `iso10646-1'.
7912 (struct ftfont_cache_data): New struct.
7913 (ftfont_lookup_cache): New arg for_face.
7914 (ftfont_get_fc_charset, ftfont_get_otf): New functions.
7915 (ftfont_driver): Set the member otf_capability.
7916 (ftfont_get_charset): Adjust it for the change of
7917 fc_charset_table.
7918 (OTF_TAG_SYM): New macro.
7919 (ftfont_spec_pattern): Delete the arg fc_charset_idx. Adjust it
7920 for the change of fc_charset_table.
7921 (ftfont_list): Adjust it for the change of ftfont_spec_pattern and
7922 ftfont_pattern_entity. Add FC_INDEX to objset.
7923 (ftfont_match): Adjust it for the change of ftfont_spec_pattern
7924 and ftfont_pattern_entity.
7925 (ftfont_open): Adjust it for the change of ftfont_lookup_cache,
7926 font_make_object, struct ftfont_info.
7927 (ftfont_has_char): Use ftfont_get_fc_charset.
7928 (ftfont_otf_features, ftfont_otf_capability): New functions.
7929 (ftfont_shape): Use ftfont_get_otf.
7930 (ftfont_text_extents): Fix initial setting of metrics.
7931
7932 * xftfont.c (struct xftfont_info): New member ft_size. Make the
7933 member order compatible with struct ftfont_info.
7934 (xftfont_open): Add FC_CHARSET to the pattern. Set
7935 xftfont_info->ft_size. Don't unlock the face. Check BDF
7936 properties if appropriate.
7937 (xftfont_close): Unlock the face.
7938 (xftfont_anchor_point, xftfont_shape): Deleted.
7939 (syms_of_xftfont): Don't set members anchor_point and shape of
7940 xftfont_driver.
7941
7942 * w32uniscribe.c (uniscribe_open): Adjust it for the change of
7943 font_make_object.
7944
7945 * w32font.c (w32font_open): Adjust it for the change of
7946 font_make_object.
7947 (w32font_open_internal): Don't set properties of font_object here.
7948
7949 2008-07-08 Chong Yidong <cyd@stupidchicken.com>
7950
7951 * macfns.c (x_create_tip_frame):
7952 * w32fns.c (x_create_tip_frame):
7953 * xfns.c (x_create_tip_frame): Pass parameter argument to
7954 face-set-after-frame-default.
7955
7956 * xfaces.c (Finternal_merge_in_global_face): Save merged
7957 attributes for the default face back into the face vector.
7958
7959 2008-07-08 Andreas Schwab <schwab@suse.de>
7960
7961 * fontset.h: Declare fontset_from_font. Don't declare
7962 new_fontset_from_font and fontset_from_font_name.
7963 * xterm.c: Include "fontset.h".
7964 * Makefile.in (xterm.o): Update dependencies.
7965
7966 2008-07-08 Glenn Morris <rgm@gnu.org>
7967
7968 * m/sparc.h: Define __sparc__ rather than sparc. (Bug#507.)
7969 * alloc.c, ecrt0.c: Use __sparc__ rather than sparc.
7970
7971 2008-07-07 Chong Yidong <cyd@stupidchicken.com>
7972
7973 * frame.c (Qinhibit_face_set_after_frame_default): Var deleted.
7974 (x_set_frame_parameters): Don't bind it.
7975
7976 2008-07-07 Juanma Barranquero <lekktu@gmail.com>
7977
7978 * w32fns.c (map_w32_filename): Declare extern.
7979
7980 2008-07-07 Jason Rumney <jasonr@gnu.org>
7981
7982 * w32term.c (WS_EX_LAYERED): Define if not already.
7983
7984 2008-07-06 Chong Yidong <cyd@stupidchicken.com>
7985
7986 * xfaces.c (set_font_frame_param): Don't try to set the font
7987 parameter if it is still unspecified in the lface.
7988
7989 2008-07-05 Chong Yidong <cyd@stupidchicken.com>
7990
7991 * xfaces.c (Finternal_merge_in_global_face): Don't realize default
7992 face if it didn't already exist.
7993
7994 * xdisp.c (try_window_id): Give up if word-wrapping is on.
7995
7996 2008-07-05 Andreas Schwab <schwab@suse.de>
7997
7998 * xdisp.c (get_it_property): Move out of HAVE_WINDOW_SYSTEM section.
7999
8000 2008-07-05 Chong Yidong <cyd@stupidchicken.com>
8001
8002 * xdisp.c (IT_OVERFLOW_NEWLINE_INTO_FRINGE): Turn it off if
8003 word-wrapping.
8004 (IT_DISPLAYING_WHITESPACE): New macro.
8005 (move_it_in_display_line_to): Handle MOVE_TO_X requests properly
8006 when word-wrapping. Simplify word-wrapping logic. Use correct
8007 pixel positions when saving copies of the iterator.
8008 (display_line): Use proper wrap point if the last character on a
8009 line was preceded by whitespace.
8010
8011 2008-07-04 Stefan Monnier <monnier@iro.umontreal.ca>
8012
8013 * Makefile.in (${etc}DOC): Depend on ${lisp} rather than ${shortlisp}.
8014
8015 2008-07-04 Kenichi Handa <handa@m17n.org>
8016
8017 * fns.c (Fstring_to_unibyte): Delete the arg ACCEPT-LATIN-1.
8018
8019 * lisp.h: EXFUN adjusted for the change of Fstring_to_unibyte.
8020
8021 2008-07-02 Jason Rumney <jasonr@gnu.org>
8022
8023 * xfns.c (syms_of_xfns): Only define x-select-font when both
8024 HAVE_FREETYPE and USE_GTK.
8025
8026 * xdisp.c (next_element_from_display_vector): Move assignment out
8027 of if statement.
8028
8029 2008-07-02 Toru Tsuneyoshi <t_tuneyosi@hotmail.com>
8030
8031 * lisp.h (Qdelete_file, Qdelete_directory): Declare extern.
8032
8033 * fileio.c (delete_by_moving_to_trash, Qmove_file_to_trash): New vars.
8034 (syms_of_fileio): Initialize and export them.
8035 (Fdelete_directory, Fdelete_file): Optionally delete via trash.
8036
8037 * w32fns.c (FOF_NO_CONNECTED_ELEMENTS): Define if not already.
8038 (Fsystem_move_file_to_trash): New function.
8039 (syms_of_w32fns): Export it to lisp.
8040
8041 2008-07-01 Jason Rumney <jasonr@gnu.org>
8042
8043 * w32font.c (w32font_text_extents): Don't count overhang as part
8044 of width.
8045
8046 2008-06-30 Miles Bader <miles@gnu.org>
8047
8048 * dispextern.h (struct glyph, struct it, struct iterator_stack_entry):
8049 Add `avoid_cursor_p' field.
8050
8051 * xdisp.c (push_it, pop_it): Save/restore avoid_cursor_p field.
8052 (set_cursor_from_row): Skip glyphs with avoid_cursor_p set.
8053 (append_glyph, append_composite_glyph, produce_image_glyph)
8054 (append_stretch_glyph): Initialize avoid_cursor_p.
8055 (get_it_property): Rename from `get_line_height_property'.
8056 (x_produce_glyphs): Use get_it_property.
8057 (handle_line_prefix, push_display_prop): New functions.
8058 (display_line, move_it_in_display_line_to): Handle line/wrap prefixes.
8059 (Vwrap_prefix, Qwrap_prefix, Vline_prefix, Qline_prefix):
8060 New variables.
8061 (syms_of_xdisp): Initialize them.
8062
8063 2008-06-30 Kenichi Handa <handa@m17n.org>
8064
8065 * xftfont.c (xftfont_open): Don't call FcConfigSubstitute and
8066 XftDefaultSubstitute (they are called in XftFontMatch).
8067 (xftfont_open): Fix args to ftfont_font_format.
8068
8069 * ftfont.c (fc_charset_table): New member lang.
8070 (ftfont_resolve_generic_family): New arg pattern.
8071 (ftfont_spec_pattern): Check fc_charset_table[]->lang.
8072 (ftfont_list): Call ftfont_resolve_generic_family with `pattern'.
8073 (ftfont_open): Fix args to ftfont_font_format.
8074 (ftfont_font_format): New arg filename.
8075
8076 2008-06-30 Chong Yidong <cyd@stupidchicken.com>
8077
8078 * xfaces.c (Finternal_merge_in_global_face): If default face was
8079 modified, realize it again. Update the font face attribute.
8080
8081 2008-06-29 Jason Rumney <jasonr@gnu.org>
8082
8083 * w32term.c (x_set_frame_alpha): Fix logic.
8084
8085 2008-06-29 Kenichi Handa <handa@m17n.org>
8086
8087 * fontset.c (Finternal_char_font): Return font-object instead of
8088 font-name.
8089
8090 * composite.c (get_composition_id): Fix the width calculation for TAB.
8091
8092 2008-06-29 Stefan Monnier <monnier@iro.umontreal.ca>
8093
8094 * indent.c (Fvertical_motion): Properly handle float column arg.
8095
8096 2008-06-28 Jason Rumney <jasonr@gnu.org>
8097
8098 * w32term.c (pfnGetFontUnicodeRanges): Remove unused function pointer.
8099 (pfnSetLayeredWindowAttributes): New function pointer.
8100 (w32_initialize): Initialize it when supported.
8101 (x_set_frame_alpha): New function.
8102
8103 * w32fns.c (Fx_create_frame): Initialize frame parameter `alpha'.
8104 (w32_frame_parm_handlers): Set alpha handler.
8105
8106 * frame.c (x_set_alpha) [HAVE_NTGUI]: Call x_set_frame_alpha.
8107
8108 2008-06-27 Jason Rumney <jasonr@gnu.org>
8109
8110 * w32fns.c (x_to_w32_font, w32_to_x_font, x_to_w32_weight)
8111 (w32_to_x_weight, w32_to_all_x_charsets): Remove obsolete functions.
8112 (w32_to_x_charset, x_to_w32_charset)
8113 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
8114 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
8115 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
8116 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
8117 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
8118 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
8119 (Qw32_charset_mac, Vw32_charset_info_alist): Move to w32font.c.
8120 (Qw32_charset_unicode): Remove.
8121 (syms_of_w32fns): Update for above changes.
8122
8123 * w32font.c (w32_to_x_charset, x_to_w32_charset)
8124 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
8125 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
8126 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
8127 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
8128 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
8129 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
8130 (Qw32_charset_mac, Vw32_charset_info_alist): Move from w32fns.c.
8131 (syms_of_w32font): Update for above changes.
8132
8133 2008-06-27 Dan Nicolaescu <dann@ics.uci.edu>
8134
8135 * s/usg5-4.h: Fix previous change: keep the correct branch of a
8136 removed #if.
8137 (USG_SHARED_LIBRARIES): Remove duplicate definition.
8138
8139 2008-06-26 Juanma Barranquero <lekktu@gmail.com>
8140 Eli Zaretskii <eliz@gnu.org>
8141
8142 * makefile.w32-in (LOCAL_FLAGS):
8143 Don't include WINDOWSNT, DOS_NT and _UCHAR_T.
8144
8145 * sysdep.c (_spawnlp, _getpid):
8146 Declare with explicit _cdecl instead of _CRTAPI1.
8147
8148 * editfns.c (Fget_internal_run_time):
8149 Check for WINDOWSNT with #ifdef, not #if.
8150
8151 2008-06-26 Jason Rumney <jasonr@gnu.org>
8152
8153 * w32font.h (FONT_HANDLE, FONT_TEXTMETRIC): New macros.
8154
8155 * w32term.c (x_draw_glyph_string_foreground)
8156 (x_draw_composite_glyph_string_foreground): Sync with xterm.c.
8157 Use FONT_HANDLE macro.
8158 (x_draw_glyph_string): Use FONT_TEXTMETRIC macro.
8159
8160 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
8161 (uniscribe_encode_char): Use FONT_HANDLE macro.
8162
8163 * w32font.c (Fx_select_font): Use FONT_HANDLE macro.
8164 (w32font_text_extents): Use precast w32_font.
8165 (w32font_close): Free cached metrics.
8166 (w32font_open_internal): Allocate space for name on stack.
8167
8168 2008-06-26 Chong Yidong <cyd@stupidchicken.com>
8169
8170 * xdisp.c (extend_face_to_end_of_line): Fix last change.
8171
8172 2008-06-26 Jason Rumney <jasonr@gnu.org>
8173
8174 * w32term.h (FONT_AVG_WIDTH): Remove obsolete macro.
8175 (CP_8BIT, CP_UNICODE, CP_UNKNOWN): Remove obsolete constants.
8176
8177 2008-06-26 Juanma Barranquero <lekktu@gmail.com>
8178
8179 * Makefile.in (SOME_MACHINE_OBJECTS): Remove w32bdf.o.
8180
8181 2008-06-26 Jason Rumney <jasonr@gnu.org>
8182
8183 * w32bdf.c, w32bdf.h: Remove obsolete files.
8184
8185 * makefile.w32-in: Remove refs to w32bdf.h and w32bdf.c.
8186
8187 * w32gui.h: Don't include w32bdf.h.
8188 (XCharStruct, enum w32_char_font_type, W32FontStruct):
8189 Remove obsolete font support.
8190
8191 * w32font.h (struct w32font_info): Remove compat_w32_font.
8192 Add hfont member.
8193 (FONT_COMPAT): Remove obsolete macro.
8194
8195 * w32font.c (w32font_close): Remove compat code. Delete hfont member.
8196 (w32font_encode_char, w32font_text_extents): Use new hfont member.
8197 (w32font_open_internal): Remove compat code. Set new hfont member.
8198 (Fx_select_font): Use new hfont member.
8199
8200 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
8201 (uniscribe_encode_char): Use new hfont member.
8202
8203 * w32term.c (x_draw_glyph_string_foreground)
8204 (x_draw_composite_glyph_string_foreground): Use new hfont member.
8205 (x_draw_glyph_string): Use metrics in w32font_info.
8206
8207 2008-06-26 Kenichi Handa <handa@m17n.org>
8208
8209 * xdisp.c (handle_auto_composed_prop): Fix for the terminal case.
8210
8211 2008-06-26 Dan Nicolaescu <dann@ics.uci.edu>
8212
8213 * unexnext.c:
8214 * m/ews4800.h:
8215 * m/hp9000s300.h:
8216 * m/ibm370aix.h:
8217 * m/mips-siemens.h:
8218 * m/ncr386.h:
8219 * m/next.h:
8220 * m/pmax.h:
8221 * m/powerpcle.h:
8222 * m/tandem-s2.h:
8223 * s/386bsd.h:
8224 * s/bsd386.h:
8225 * s/bsd4-1.h:
8226 * s/bsd4-2.h:
8227 * s/bsdos2-1.h:
8228 * s/bsdos2.h:
8229 * s/bsdos3.h:
8230 * s/bsdos4.h:
8231 * s/nextstep.h:
8232 * s/ultrix4-3.h:
8233 * s/usg5-0.h:
8234 * s/usg5-2-2.h:
8235 * s/usg5-2.h:
8236 * s/usg5-4-3.h:
8237 * s/ux4800.h:
8238 * s/uxpds.h:
8239 * s/uxpv.h: Remove support for obsolete systems.
8240 * s/hpux.h, s/hpux10.h, s/hpux8.h, s/hpux9.h, s/hpux9shr.h:
8241 Remove, insert contents in s/hpux10-20.h.
8242 * s/aix3-1.h, s/aix3-2-5.h, s/aix3-2.h, s/aix4-1.h, s/aix4.h:
8243 Remove, insert contents in s/aix4-2.h.
8244 * s/usg5-3.h: Remove, insert contents in s/usg5-4.h.
8245 * s/bsd4-3.h: Rename to ...
8246 * s/bsd-common.h: ... this.
8247 * data.c:
8248 * doc.c:
8249 * ecrt0.c:
8250 * emacs.c:
8251 * fileio.c:
8252 * floatfns.c:
8253 * keyboard.c:
8254 * mem-limits.h:
8255 * print.c:
8256 * process.c:
8257 * sysdep.c:
8258 * syssignal.h:
8259 * systty.h:
8260 * syswait.h:
8261 * term.c:
8262 * unexec.c:
8263 * unexelf.c:
8264 * unexhp9k800.c:
8265 * m/hp800.h:
8266 * m/ibmrs6000.h:
8267 * m/mips.h:
8268 * m/vax.h:
8269 * s/darwin.h:
8270 * s/freebsd.h:
8271 * s/gnu.h:
8272 * s/ms-w32.h:
8273 * s/msdos.h:
8274 * s/netbsd.h:
8275 * s/template.h: Remove references to obsolete variables.
8276
8277 * Makefile.in: Add dependencies for all unexec files.
8278 (admindir): Remove unused variable.
8279 (UNEXEC_SRC): Remove references.
8280
8281 2008-06-25 Chong Yidong <cyd@stupidchicken.com>
8282
8283 * xfns.c (x_default_font_parameter): If Xft is available, first
8284 try Monospace-12 for the default font.
8285
8286 2008-06-25 Jason Rumney <jasonr@gnu.org>
8287
8288 * xdisp.c (get_glyph_face_and_encoding): Encode invalid glyphs as 0.
8289
8290 2008-06-25 Stefan Monnier <monnier@iro.umontreal.ca>
8291
8292 * bytecode.c (Fbyte_code): Disable debugging code that doesn't compile.
8293
8294 * buffer.c (syms_of_buffer): Remove default-word-wrap.
8295
8296 2008-06-25 Juanma Barranquero <lekktu@gmail.com>
8297
8298 * xdisp.c (syms_of_xdisp) <truncate-partial-width-windows>: Doc fix.
8299 <scroll-conservatively>: Fix typo in docstring.
8300
8301 * xselect.c (Fx_send_client_event): Doc fix.
8302
8303 2008-06-25 Kenichi Handa <handa@m17n.org>
8304
8305 * xfaces.c (Fx_list_fonts): Call Flist_fonts with the arg PREFER.
8306
8307 * font.c (font_parse_fcname): Remove unused variables.
8308 (font_sort_entites): Delete the arg SPEC. Caller changed.
8309 Fix for the case of ! best_only.
8310 (font_delete_unmatched): Check DPI and AVGWIDTH too.
8311
8312 * lisp.h (Fstring_to_unibyte): EXFUN it.
8313
8314 * character.h (str_to_unibyte): Extern it.
8315
8316 * character.c (str_to_unibyte): New function.
8317
8318 * fns.c (Fstring_to_unibyte): New function.
8319 (syms_of_fns): Defsubr it.
8320
8321 2008-06-24 Kenichi Handa <handa@m17n.org>
8322
8323 * font.c (font_score): Even if the PIXEL_SIZE is the same, check
8324 DPI too.
8325 (font_sort_entites): Setup prefer_prop[FONT_DPI_INDEX] too.
8326
8327 2008-06-24 Andreas Schwab <schwab@suse.de>
8328
8329 * Makefile.in (${lispsource}loaddefs.el): Rename from
8330 ../lisp/loaddefs.el.
8331 (bootstrap-clean): Do what distclean does but don't remove
8332 Makefile.
8333 (distclean): Depend on bootstrap-clean and remove Makefile.
8334
8335 2008-06-24 Chong Yidong <cyd@stupidchicken.com>
8336
8337 * buffer.h (struct buffer): New member word_wrap.
8338
8339 * buffer.c (syms_of_buffer): New variables default-word-wrap and
8340 word-wrap.
8341 (init_buffer_once): Initialize them.
8342
8343 * dispextern.h (struct it): Replace bool truncate_lines_p with a
8344 line_wrap enum possessing three possible values.
8345
8346 * termopts.h: Replace truncate_partial_width_windows with
8347 Vtruncate_partial_width_windows.
8348
8349 * dispnew.c (direct_output_for_insert): Avoid direct output when
8350 inserting a space with word wrap on.
8351
8352 * indent.c (compute_motion): Obey integer values of
8353 truncate-partial-width-windows.
8354
8355 * xdisp.c (Vtruncate_partial_width_windows): New Lisp_Object,
8356 replacing truncate_partial_width_windows.
8357 (init_iterator): If Vtruncate_partial_width_windows is an integer,
8358 truncate only if the window width is below that integer.
8359 (start_display, resize_mini_window, produce_stretch_glyph)
8360 (display_string, move_it_in_display_line_to): Use line_wrap.
8361 (back_to_previous_visible_line_start, reseat_1): Reset
8362 string_from_display_prop_p.
8363 (display_line): Extend default face to end of line when wrapping.
8364
8365 2008-06-24 Kim F. Storm <storm@cua.dk>
8366
8367 * xdisp.c (display_line, move_it_in_display_line_to): Add ability
8368 to wrap continued lines at word boundaries.
8369
8370 2008-06-24 Jason Rumney <jasonr@gnu.org>
8371
8372 * font.c (Ffont_face_attributes): Multiply pixel size before point
8373 conversion to avoid multiplying rounding error.
8374
8375 2008-06-23 Jason Rumney <jasonr@gnu.org>
8376
8377 * w32term.c (x_draw_glyph_string_background)
8378 (x_draw_glyph_string): Remove old bdf font code.
8379
8380 * w32term.h (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): Remove.
8381
8382 2008-06-22 Kenichi Handa <handa@m17n.org>
8383
8384 * font.c (font_find_for_lface): Try the adstyle specified in
8385 the property of LFACE_FONT of LFACE (if any).
8386
8387 2008-06-21 Seiji Zenitani <zenitani@mac.com>
8388 Ryo Yoshitake <ryo@shiftmode.net>
8389
8390 * xterm.c (x_set_frame_alpha): Add x_catch_errors for bug#437.
8391
8392 2008-06-22 Stefan Monnier <monnier@iro.umontreal.ca>
8393
8394 * Makefile.in (${lisp} ${SOME_MACHINE_LISP}, ../lisp/loaddefs.el):
8395 Use $(BOOTSTRAPEMACS) rather than witness-emacs.
8396 (bootstrap-emacs${EXEEXT}): Merge witness-emacs into it.
8397 (witness-emacs): Remove.
8398 (lisp, shortlisp): Move loaddefs.el earlier.
8399 (mostlyclean): Forget about witness-emacs.
8400
8401 2008-06-22 Glenn Morris <rgm@gnu.org>
8402
8403 * Makefile.in (witness-emacs): Depend on temacs${EXEEXT}.
8404 (.SUFFIXES): Declare .el.elc as a suffix rule, for non-GNU makes.
8405
8406 2008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
8407
8408 * Makefile.in (PRECOMP): Remove.
8409 (${lisp} ${SOME_MACHINE_LISP}): Remove pseudo dependency on PRECOMP.
8410 (witness-emacs): Run `compile-first'.
8411 (.el.elc): Use the new compile-onefile target.
8412
8413 2008-06-21 Kenichi Handa <handa@m17n.org>
8414
8415 * xftfont.c (xftfont_open): Handle QCembolden only when
8416 FC_EMBOLDEN is defined.
8417
8418 2008-06-21 Andreas Schwab <schwab@suse.de>
8419
8420 * Makefile.in (witness-emacs): Use ../lisp, not $(lispsource).
8421 (.el.elc): Likewise.
8422
8423 2008-06-21 Miles Bader <miles@gnu.org>
8424
8425 * Makefile.in (../lisp/loaddefs.el): Build autoloads in the lisp
8426 build dir, not the lisp source dir.
8427
8428 2008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
8429
8430 * Makefile.in (emacs${EXEEXT}): Link the new emacs to bootstrap-emacs.
8431 (bootstrapclean): Remove.
8432 (.el.elc): New rule.
8433 (PRECOMP): New var.
8434 (../lisp/subdirs.el): Remove.
8435 (bootstrap-emacs${EXEEXT}): Remove subdirs.el and charpro.el dependency.
8436 (witness-emacs): New target.
8437 (mostlyclean): Remove witness-emacs as well.
8438 (../lisp/loaddefs.el, ${lisp} ${SOME_MACHINE_LISP}):
8439 Add witness-emacs dependency.
8440
8441 2008-06-20 Chong Yidong <cyd@stupidchicken.com>
8442
8443 * font.c (Ffont_face_attributes): Omit key-attribute pairs not
8444 defined by the font.
8445
8446 2008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
8447
8448 * Makefile.in (emacs${EXEEXT}): Depend on the machine-specific files.
8449 (bootstrap-clean): New target that keeps TAGS around.
8450 (../lisp/subdirs.el, ../lisp/loaddefs.el): New targets.
8451 (bootstrap-emacs${EXEEXT}): Depend on subdirs.el.
8452
8453 2008-06-20 Jason Rumney <jasonr@gnu.org>
8454
8455 * w32fns.c, w32term.c, w32term.h, w32gui.h [OLD_FONT]:
8456 Remove obsolete font code.
8457
8458 * w32font.c (font_matches_spec): Use csb bitfield from font signature
8459 to determine language support.
8460
8461 2008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
8462
8463 * sysdep.c (cfsetspeed): New fun extracted from the code.
8464 (cfmakeraw): Move before first use.
8465
8466 2008-06-20 Angelo Graziosi <angelo.graziosi@alice.it> (tiny change)
8467
8468 * sysdep.c (cfmakeraw): Provide fallback implementation.
8469 (serial_configure): Provide fallback implementation of cfsetspeed.
8470
8471 2008-06-20 Kenichi Handa <handa@m17n.org>
8472
8473 * xftfont.c (xftfont_open): Add FOUNDRY, SPACING, DPI, SCALABLE to
8474 the pattern.
8475
8476 * fontset.c (fontset_from_font): Copy font_spec before changing
8477 the elements.
8478
8479 * xfns.c (x_default_font_parameter): Try "monospace-12" too.
8480
8481 2008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
8482
8483 * w32fns.c, xfns.c (x_default_font_parameter): Only set `font-param'
8484 for explicit `font' parameters.
8485
8486 * frame.c (x_set_font): Remove unexplained call to fix inf-recursion.
8487
8488 2008-06-19 Kenichi Handa <handa@m17n.org>
8489
8490 * frame.c: Include <ctype.h>.
8491 (x_set_font_backend): Allow spacing characters in the X resource
8492 for FontBackend.
8493
8494 2008-06-19 Stefan Monnier <monnier@iro.umontreal.ca>
8495
8496 * w32fns.c, xfns.c (Qfont_param): New var.
8497 (syms_of_w32fns): Initialize it.
8498 (x_default_font_parameter): Record explicit `font' into
8499 `font-parameter'.
8500
8501 2008-06-18 Kenichi Handa <handa@m17n.org>
8502
8503 * font.c (font_parse_xlfd): Fix previous change.
8504 (font_parse_fcname): Don't use :fc-unknown-spec.
8505 (FRAME_X_DISPLAY_INFO): Be sure to have at least 1 pixel height.
8506 (Fcopy_font_spec): Preserve the order of elements in FONT_EXTRA.
8507 (font_add_log): Prepend the driver name to the resulting fonts.
8508
8509 * ftfont.c (ftfont_pattern_entity): New arg extra. Caller changed.
8510 (ftfont_spec_pattern): Don't check QCfc_unknown_spec and QCname.
8511 (ftfont_list) [FC_FONTFORMAT]: Include FC_FONTFORMAT in objset.
8512
8513 * xftfont.c (QChinting , QCautohint, QChintstyle, QCrgba)
8514 (QCembolden): New variables.
8515 (syms_of_xftfont): DEFSYM them.
8516 (xftfont_open): Call XftFontMatch. Don't trust the result of
8517 XftTextExtents8 if the pixel_size is less than 5.
8518
8519 2008-06-18 Andreas Schwab <schwab@suse.de>
8520
8521 * font.c (Ffont_face_attributes): Only define if HAVE_WINDOW_SYSTEM.
8522 (syms_of_font): Only defsubr if HAVE_WINDOW_SYSTEM.
8523
8524 2008-06-18 Jason Rumney <jasonr@gnu.org>
8525
8526 * w32font.c (w32font_list, w32font_match): Add logging.
8527
8528 * w32uniscribe.c (uniscribe_list, uniscribe_match): Add logging.
8529
8530 2008-06-17 Chong Yidong <cyd@stupidchicken.com>
8531
8532 * font.c (font_parse_fcname): Store divider characters for
8533 unknown-spec list. For known key symbols, intern using correct
8534 symbol name.
8535
8536 2008-06-17 Kenichi Handa <handa@m17n.org>
8537
8538 * xfaces.c (realize_default_face): If the frame is not on window
8539 system, set the fontset of face to nil.
8540
8541 2008-06-17 Naohiro Aota <nao.aota@gmail.com> (tiny change)
8542
8543 * fontset.c (fontset_pattern_regexp): Escape some reg-expr characters.
8544
8545 2008-06-16 Juanma Barranquero <lekktu@gmail.com>
8546
8547 * dispextern.h (lookup_non_ascii_face, split_font_name_into_vector)
8548 (build_font_name_from_vector): Delete externs.
8549
8550 * xfaces.c (struct font_name): Don't declare.
8551
8552 2008-06-16 Stefan Monnier <monnier@iro.umontreal.ca>
8553
8554 * font.c (font_unparse_gtkname): Use EQ to compare Lisp_Objects.
8555
8556 2008-06-16 Chong Yidong <cyd@stupidchicken.com>
8557
8558 * font.c (font_parse_fcname): Fix handling of unknown-spec string.
8559
8560 2008-06-16 Juanma Barranquero <lekktu@gmail.com>
8561
8562 * font.c (Ffont_spec): Fix usage in docstring.
8563 (Ffont_face_attributes): Doc fix.
8564
8565 2008-06-16 Andreas Schwab <schwab@suse.de>
8566
8567 * font.c (Ffont_face_attributes): Fix definition.
8568
8569 2008-06-16 Jason Rumney <jasonr@gnu.org>
8570
8571 * font.h (font_style_symbolic_from_value): Remove.
8572
8573 * font.c (font_style_symbolic_from_value): Remove.
8574 (font_style_symbolic): Revert to pre 2008-06-13 version.
8575
8576 * w32font.c (w32_to_fc_weight): New function.
8577 (w32font_full_name, logfont_to_fcname): Use it.
8578
8579 2008-06-16 Kenichi Handa <handa@m17n.org>
8580
8581 * font.c (font_check_object): Delete it.
8582 (font_clear_cache): Check if a font-object is alive.
8583 (font_open_entity): Likewise. Set FONT_OBJLST_INDEX of a
8584 font-object to nil.
8585 (font_close_object): Don't check FONT_CLOSE_OBJECT.
8586 (font_at): Don't call font_check_object.
8587 (Ffont_get): Return a symbol for :weight, :slant, and :width.
8588
8589 2008-06-16 Katsumi Yamaoka <yamaoka@jpl.org>
8590
8591 * puresize.h (BASE_PURESIZE): Increase to 1230000.
8592
8593 2008-06-16 Chong Yidong <cyd@stupidchicken.com>
8594
8595 * font.c (font_parse_fcname): Correctly parse KEY=VAL values.
8596
8597 2008-06-15 Chong Yidong <cyd@stupidchicken.com>
8598
8599 * font.c (font_parse_fcname): Only one decimal point.
8600 (font_unparse_fcname): Handle data in family and foundry indices
8601 as symbols, not strings.
8602 (font_unparse_gtkname, Ffont_face_attributes): New functions.
8603
8604 * xfns.c (Fx_select_font): Give GTK font dialog the default font name.
8605
8606 * font.h (font_unparse_gtkname): Add prototype.
8607
8608 2008-06-15 Naohiro Aota <nao.aota@gmail.com> (tiny change)
8609
8610 * fontset.c (fontset_pattern_regexp): Escape `+' characters in pattern.
8611
8612 2008-06-15 Andreas Schwab <schwab@suse.de>
8613
8614 * font.c (font_update_drivers): Fix crash when no drivers match.
8615
8616 2008-06-15 Stefan Monnier <monnier@iro.umontreal.ca>
8617
8618 * xfns.c (Fx_create_frame): internal-border-width default to 0 for Gtk.
8619 * gtkutil.c (xg_create_frame_widgets): Don't set internal_border_width.
8620
8621 2008-06-14 Stefan Monnier <monnier@iro.umontreal.ca>
8622
8623 * xdisp.c (syms_of_xdisp): Default underline-minimum-offset to 1.
8624
8625 2008-06-13 Stefan Monnier <monnier@iro.umontreal.ca>
8626
8627 * process.c (Fserial_process_configure, Fprocess_send_eof):
8628 Use EQ to compare Lisp_Objects.
8629
8630 2008-06-13 Jason Rumney <jasonr@gnu.org>
8631
8632 * w32fns.c (Fw32_select_font): Remove old font API function.
8633
8634 * w32font.c (logfont_to_fcname): New function.
8635 (Fx_select_font): New font dialog function compatible with
8636 GTK/fontconfig version.
8637
8638 * font.c (font_style_symbolic_from_value): New function.
8639 (font_style_symbolic): Use it.
8640
8641 * font.h (font_style_symbolic_from_value): Declare new function.
8642
8643 2008-06-13 Juanma Barranquero <lekktu@gmail.com>
8644
8645 * font.c (syms_of_font) <font-weight-table, font-slant-table>:
8646 <font-width-table>: Fix typos in docstrings.
8647
8648 2008-06-13 Daniel Engeler <engeler@gmail.com>
8649
8650 These changes add serial port access.
8651 * process.c: Add HAVE_SERIAL.
8652 (Fdelete_process, Fprocess_status, Fset_process_buffer)
8653 (Fset_process_filter, Fset_process_sentinel, Fprocess_contact)
8654 (list_processes_1, select_wrapper, Fstop_process)
8655 (Fcontinue_process, Fprocess_send_eof, kill_buffer_processes)
8656 (status_notify): Modify to handle serial processes.
8657 [HAVE_SERIAL] (Fserial_process_configure)
8658 [HAVE_SERIAL] (make_serial_process_unwind, Fmake_serial_process):
8659 New functions.
8660 * process.h (struct Lisp_Process): Add `type'.
8661 * sysdep.c [HAVE_TERMIOS] (serial_open, serial_configure):
8662 New functions.
8663 * w32.c (_sys_read_ahead, sys_read, sys_write): Modify to handle
8664 serial ports.
8665 (serial_open, serial_configure): New functions.
8666 * w32.h: Add FILE_SERIAL.
8667 (struct _child_process): Add ovl_read, ovl_write.
8668
8669 2008-06-13 Kenichi Handa <handa@m17n.org>
8670
8671 * dispextern.h (enum lface_attribute_index): New member
8672 LFACE_FOUNDRY_INDEX.
8673
8674 * font.c (font_score): Delete arg alternate_families. Check only
8675 weight, slant, width, and size. Ignore the difference of alias
8676 style symbols.
8677 (font_sort_entites): Adjust for the above change. Reflect the
8678 order of font-driver to scores.
8679 (font_list_entities): Don't check alternate_familes here.
8680 (font_clear_prop): Handle foundry.
8681 (font_update_lface): Don't parse "foundry-family" form here.
8682 Handle FONT_FOUNDRY_INDEX.
8683 (font_find_for_lface): Likewise. Handle alternate families here.
8684 If registry is nil, try iso8859-1 and ascii-0.
8685 (font_open_for_lface): Pay attention to size in ENTITY.
8686 (font_open_by_name): Simplify by calling font_load_for_lface.
8687 (free_font_driver_list): Delete it.
8688 (font_update_drivers): Preserve the order of backends.
8689 (syms_of_font): Setting of sort_shift_bits adjusted for the change
8690 of font_score and font_sort_entites.
8691 (font_update_sort_order): Likewise.
8692
8693 * xfaces.c (LFACE_FOUNDRY): New macro.
8694 (check_lface_attrs): Check foundry.
8695 (set_lface_from_font): Don't parse "FOUNDRY-FAMILY" form.
8696 (merge_face_vectors): Check foundry.
8697 (merge_face_ref): Likewise.
8698 (Finternal_set_lisp_face_attribute): Likewise.
8699 (x_update_menu_appearance): Likewise.
8700 (Finternal_get_lisp_face_attribute): Likewise.
8701 (lface_hash): Likewise.
8702 (lface_same_font_attributes_p): Likewise.
8703 (x_supports_face_attributes_p): Likewise.
8704 (tty_supports_face_attributes_p): Likewise.
8705 (Finternal_set_alternative_font_family_alist): Intern strings.
8706 (Finternal_set_alternative_font_registry_alist): Downcase strings.
8707 (realize_default_face): Set LFACE_FOUNDRY (lface).
8708
8709 * xfns.c (Fx_create_frame, x_create_tip_frame): Register X
8710 font-driver at first.
8711
8712 * ftfont.c (ftfont_font_format) [! FC_FONTFORMAT]: Declare "int len;".
8713
8714 2008-06-12 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
8715
8716 * lread.c (Fload): Use xfree, not free on saved_doc_string.
8717
8718 2008-06-12 Jim Meyering <meyering@redhat.com>
8719
8720 Make unexec_free handle NULL the same way free does.
8721 * unexmacosx.c (unexec_free): Ignore a NULL argument.
8722
8723 2008-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
8724
8725 * character.h (CHAR_TO_BYTE_SAFE): New macro.
8726 * character.c (Fmultibyte_char_to_unibyte): Obey the docstring.
8727 * regex.c (RE_CHAR_TO_UNIBYTE): Use the new macro.
8728 (WEAK_ALIAS): Simplify.
8729 * syntax.c (skip_chars): Don't mark non-byte chars in the fastmap
8730 when searching a unibyte buffer.
8731
8732 2008-06-12 Chong Yidong <cyd@stupidchicken.com>
8733
8734 * xfns.c (Fx_select_font): Rename from x-font-dialog.
8735
8736 2008-06-12 Juanma Barranquero <lekktu@gmail.com>
8737
8738 * w32font.c: Include ctype.h.
8739
8740 2008-06-11 Jason Rumney <jasonr@gnu.org>
8741
8742 * w32font.c (w32font_encode_char): Detect missing glyphs that are
8743 misreported as space.
8744 (add_font_entity_to_list): Support unicode-bmp and unicode-sip
8745 as aliases for registry iso10646-1.
8746
8747 2008-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
8748
8749 * buffer.c (clone_per_buffer_values): Skip `name'.
8750
8751 2008-06-11 Chong Yidong <cyd@stupidchicken.com>
8752
8753 * font.c (font_parse_fcname): Fix last change; accept decimal
8754 points in font size.
8755
8756 2008-06-10 Jason Rumney <jasonr@gnu.org>
8757
8758 * w32uniscribe.c (add_opentype_font_name_to_list):
8759 Skip non unicode fonts.
8760
8761 2008-06-10 Chong Yidong <cyd@stupidchicken.com>
8762
8763 * xfns.c (Fx_font_dialog): New function.
8764
8765 * gtkutil.c (xg_dialog_response_cb): Rename from
8766 xg_file_response_callback.
8767 (pop_down_dialog): Rename from pop_down_file_dialog.
8768 (xg_get_file_name): Callers changed.
8769 (xg_get_font_name): New function.
8770
8771 * gtkutil.h (xg_get_font_name): Insert prototype.
8772
8773 2008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
8774
8775 * xdisp.c (underline_minimum_offset): Rename from xterm.c's
8776 x_underline_minimum_display_offset.
8777 (syms_of_xdisp): Declare it here rather than in xterm.c.
8778 * dispextern.h (underline_minimum_offset): Declare it.
8779 * w32term.c (x_draw_glyph_string): Use it.
8780 * xterm.c (x_underline_minimum_display_offset): Move to xdisp.c.
8781 (syms_of_xterm): Don't declare it any more.
8782 (x_draw_glyph_string): Adjust to the new name.
8783
8784 2008-06-10 David De La Harpe Golden <david@harpegolden.net> (tiny change)
8785
8786 * xterm.c (x_underline_minimum_display_offset): New var.
8787 (x_draw_glyph_string): Use it.
8788 (syms_of_xterm): Declare it.
8789
8790 2008-06-10 Chong Yidong <cyd@stupidchicken.com>
8791
8792 * font.c (font_parse_fcname): Accept GTK-style font names too.
8793
8794 2008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
8795
8796 * dired.c (file_name_completion): Don't return t if the match is exact
8797 but with different capitalization.
8798 * minibuf.c (Ftry_completion): Simplify.
8799
8800 * window.c (Vwindow_point_insertion_type): New var.
8801 (set_window_buffer): Use it.
8802 (syms_of_window): Init and export it to Lisp.
8803
8804 2008-06-10 Kenichi Handa <handa@m17n.org>
8805
8806 * font.h (font_intern_prop): Prototype adjusted.
8807
8808 * font.c (font_intern_prop): New arg force_symbol.
8809 (font_parse_xlfd, font_parse_fcname, font_parse_family_registry):
8810 Adjust for the change of font_intern_prop.
8811
8812 * ftfont.c (ftfont_pattern_entity):
8813 * w32font.c (add_font_name_to_list, w32_enumfont_pattern_entity)
8814 (w32_registry):
8815 * w32uniscribe.c (add_opentype_font_name_to_list): Adjust for
8816 the change of font_intern_prop.
8817
8818 2008-06-09 Juanma Barranquero <lekktu@gmail.com>
8819
8820 * w32menu.c (digest_single_submenu): Declare extern.
8821
8822 2008-06-09 Jason Rumney <jasonr@gnu.org>
8823
8824 * w32term.c (x_make_frame_visible): Use alternate restore flags.
8825
8826 * w32menu.c (Fx_popup_menu): Unwind protect while building menu.
8827 (parse_single_submenu): Remove.
8828 (digest_single_submenu): Remove.
8829 (syms_of_w32menu): Don't initialise variables that have moved
8830 to menu.c.
8831 (set_frame_menubar): Sync with version in xmenu.c.
8832 (w32_menu_show): Sync with xmenu_show in xmenu.c.
8833
8834 * menu.c (single_keymap_panes, push_menu_pane, push_menu_item):
8835 Make static again.
8836
8837 2008-06-09 Jason Rumney <jasonr@gnu.org>
8838
8839 Changes to w32 files related to the move of common menu code
8840 to menu.c on 2008-06-08 by Chong Yidong.
8841
8842 * menu.c [HAVE_NTGUI]: Include w32term.h, move widget related
8843 defs to w32gui.h.
8844 (single_keymap_panes, push_menu_item, push_menu_pane):
8845 Make globally visible.
8846
8847 * w32menu.c (enum button_type, widget_value, local_heap, local_alloc)
8848 (local_free, malloc_widget_value, free_widget_value)
8849 (MENU_ITEMS_ITEM_NAME, MENU_ITEMS_ITEM_ENABLE, MENU_ITEMS_ITEM_VALUE)
8850 (MENU_ITEMS_ITEM_EQUIV_KEY, MENU_ITEMS_ITEM_DEFINITION)
8851 (MENU_ITEMS_ITEM_TYPE, MENU_ITEMS_ITEM_SELECTED, MENU_ITEMS_ITEM_HELP)
8852 (MENU_ITEMS_ITEM_LENGTH, enum menu_item_idx): Remove defs.
8853 (menu_items, menu_items_allocated, menu_items_used)
8854 (menu_items_n_panes, menu_items_submenu_depth): Remove global vars.
8855 (init_menu_items, finish_menu_items, discard_menu_items)
8856 (grow_menu_items, push_submenu_start, push_submenu_end)
8857 (push_left_right_boundary, push_menu_pane, push_menu_item)
8858 (keymap_panes, single_keymap_panes, list_of_panes, list_of_items)
8859 (free_menubar_widget_tree_value, parse_single_submenu)
8860 (update_submenu_strings): Remove functions.
8861 (xmalloc_widget_value): Remove and declare extern.
8862
8863 * makefile.w32-in ($(SRC)/menu.$(O)): New target.
8864 (OBJ1): Build it.
8865
8866 * w32gui.h (widget_value, XtPointer, Boolean, enum button_type)
8867 (local_heap, local_alloc, local_free, malloc_widget_value)
8868 (free_widget_value): Define here.
8869
8870 2008-06-09 Kenichi Handa <handa@m17n.org>
8871
8872 * font.h (Qascii_0): Extern it.
8873
8874 * font.c (Qascii_0): New variable.
8875 (syms_of_font): DEFSYM it.
8876 (font_open_by_name): If the registry "iso8859-1" fails, try also
8877 "ascii-0".
8878
8879 * ftfont.c (ftfont_spec_pattern): Accept the registry `ascii-0'.
8880
8881 2008-06-08 Kenichi Handa <handa@m17n.org>
8882
8883 * .gdbinit (xfont): New command.
8884
8885 2008-06-08 Andreas Schwab <schwab@suse.de>
8886
8887 * menu.c [HAVE_X_WINDOWS]: Include "xterm.h".
8888 * Makefile.in (menu.o): Update dependencies.
8889
8890 * Makefile.in (obj): Always add menu.o.
8891 * emacs.c (main): Always call syms_of_menu.
8892 * keyboard.h: Remove extra #ifdef HAVE_X_WINDOW.
8893
8894 2008-06-08 Chong Yidong <cyd@stupidchicken.com>
8895
8896 * Makefile.in: Compile menu.c.
8897
8898 * lisp.h: Declare syms_of_menu.
8899
8900 * emacs.c (main): Call syms_of_menu.
8901
8902 * keyboard.h: Relocate platform-independent menu definitions from
8903 xmenu.c.
8904
8905 * menu.c: New file. Relocate platform-independent menu
8906 definitions from xmenu.c. Suggested by Adrian Robert.
8907
8908 * xmenu.c: Remove platform-independent menu definitions.
8909 (menu_items menu_items_inuse, menu_items_allocated)
8910 (menu_items_used, menu_items_n_panes)
8911 (menu_items_submenu_depth): Move to keyboard.h.
8912 (init_menu_items, finish_menu_items, unuse_menu_items)
8913 (discard_menu_items, restore_menu_items, save_menu_items)
8914 (grow_menu_items, push_submenu_start, push_submenu_end)
8915 (push_left_right_boundary, push_menu_pane, push_menu_item)
8916 (keymap_panes, single_keymap_panes, single_menu_item)
8917 (list_of_panes, list_of_items, find_and_call_menu_selection)
8918 (xmalloc_widget_value, free_menubar_widget_value_tree)
8919 (parse_single_submenu, digest_single_submenu)
8920 (update_submenu_strings): Move to menu.c.
8921
8922 2008-06-07 Stefan Monnier <monnier@iro.umontreal.ca>
8923
8924 * dispnew.c (Flast_nonminibuf_frame): Handle the NULL case.
8925
8926 2008-06-06 Miles Bader <miles@gnu.org>
8927
8928 * xdisp.c (x_produce_glyphs): Calculate tab width based on current
8929 face, not frame default.
8930
8931 2008-06-05 Martin Rudalics <rudalics@gmx.at>
8932
8933 * window.c (pop_up_windows, pop_up_frames)
8934 (display_buffer_reuse_frames, Vpop_up_frame_function)
8935 (Vdisplay_buffer_function, Veven_window_heights)
8936 (Vspecial_display_buffer_names, Vspecial_display_regexps)
8937 (Vspecial_display_function, Vsame_window_buffer_names)
8938 (Vsame_window_regexps, split_height_threshold)
8939 (Vsplit_window_preferred_function): Move those vars to window.el.
8940 (display_buffer_1, Fspecial_display_p, Fsame_window_p)
8941 (Fdisplay_buffer): Move those functions to window.el.
8942 (syms_of_window): Remove corresponding declarations.
8943 (display_buffer): New function.
8944 (temp_output_buffer_show, Fother_window_for_scrolling): Use it.
8945 * dispnew.c (Flast_nonminibuf_frame): New function.
8946 * buffer.c (Fpop_to_buffer): Move to window.el.
8947
8948 2008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
8949
8950 * data.c (set_internal): Fix up call to let_shadows_buffer_binding_p.
8951
8952 2008-06-05 Kenichi Handa <handa@m17n.org>
8953
8954 * coding.c (detect_coding): Fix previous change.
8955 (detect_coding_system): Likewise.
8956
8957 2008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
8958
8959 * character.h (MAKE_CHAR_MULTIBYTE): Check the arg is a (uni)byte.
8960
8961 * keymap.c (Vminibuffer_local_filename_must_match_map):
8962 Rename from Vminibuffer_local_must_match_filename_map.
8963 (syms_of_keymap):
8964 * minibuf.c (Fcompleting_read): Adjust accordingly.
8965 * commands.h: Rename declaration as well.
8966
8967 2008-06-05 Kenichi Handa <handa@m17n.org>
8968
8969 * font.c (Ffont_spec): Don't use font_parse_family_registry for
8970 family name.
8971 (Ffont_put): Likewise.
8972
8973 * fontset.c (fontset_find_font): Call font_open_for_lface with the
8974 current font-spec.
8975
8976 * xfont.c (xfont_list): Don't set registry to iso8859-1 even if it
8977 is unspecified.
8978
8979 * xfaces.c (realize_x_face): If the font-related face attributes
8980 are the same as those of default face, realize a new fontset from
8981 default->fontset.
8982 (Fx_family_fonts): Use font_parse_family_registry instead of Ffont_put.
8983
8984 2008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
8985
8986 * xdisp.c (move_it_in_display_line_to): Improve the type of its args.
8987 (move_it_in_display_line): New wrapper.
8988
8989 * window.c (window_scroll_pixel_based_preserve_x)
8990 (window_scroll_preserve_hpos, window_scroll_preserve_vpos): New vars.
8991 (window_scroll_pixel_based, window_scroll_line_based):
8992 Use them to preserve column positions.
8993 (syms_of_window): Initialize them.
8994
8995 * indent.c (Fvertical_motion): Extend first arg to allow passing an
8996 (HPOS . VPOS) pair.
8997
8998 * dispextern.h (move_it_in_display_line): Declare.
8999
9000 2008-06-05 Juanma Barranquero <lekktu@gmail.com>
9001
9002 * window.c (Fwindow_parameter): Return VALUE, not (PARAMETER . VALUE).
9003 (Fwindow_parameters): Return copy of parameter alist. Doc fix.
9004 (Fset_window_parameter): Return VALUE, not parameter alist. Doc fix.
9005
9006 2008-06-04 Juanma Barranquero <lekktu@gmail.com>
9007
9008 * window.c (Fset_window_parameter): Doc fix.
9009 (Fwindow_parameters, Fwindow_parameter): Remove redundant check.
9010
9011 2008-06-04 Joakim Verona <joakim@verona.se>
9012
9013 * window.h (struct window): Add new member window_parameters.
9014
9015 * window.c (Fwindow_parameters, Fwindow_parameter)
9016 (Fset_window_parameter): New defuns.
9017 (syms_of_window): Defsubr the new defuns.
9018 (make_window): Initialize window_parameters to nil.
9019
9020 2008-06-04 John Paul Wallington <jpw@pobox.com>
9021
9022 * eval.c (Fdefmacro): Doc fix.
9023
9024 2008-06-04 Kenichi Handa <handa@m17n.org>
9025
9026 * coding.c (detect_coding): Fix handling of coding->head_ascii.
9027 Be sure to call setup_coding_system when we find a proper coding system.
9028 (detect_coding_system): Fix handling of coding->head_ascii.
9029
9030 2008-06-03 Andreas Schwab <schwab@suse.de>
9031
9032 * font.c (font_prop_validate_spacing): Fix last change.
9033
9034 2008-06-03 Kenichi Handa <handa@m17n.org>
9035
9036 * font.c (font_prop_validate_spacing): Handle uppercase symbols.
9037 (font_parse_fcname): Fix handling of unknown key.
9038
9039 * xfont.c (xfont_list): Try an alias.
9040
9041 * charset.c (char_charset): Return NULL if the arg charset_list is
9042 specified and C doesn't belong to any of them.
9043
9044 2008-06-02 Chip Coldwell <coldwell@redhat.com>
9045
9046 * font.c (font_pixel_size): Don't take cdr of an integer.
9047
9048 2008-06-02 Jim Meyering <meyering@redhat.com>
9049
9050 Make "xfree (NULL)" a no-op; remove useless if-before-xfree.
9051 * alloc.c (xfree): Return right away for a NULL arg.
9052 * lread.c (nosuffix): Remove now-useless if-before-xfree tests.
9053 * gtkutil.c (xg_gtk_scroll_destroy): Likewise.
9054 * mac.c (create_apple_event_from_event_ref): Likewise.
9055 (create_apple_event_from_drag_ref, cfstring_create_normalized):
9056 Likewise.
9057 * doprnt.c (doprnt1): Likewise.
9058 * frame.c (frame): Likewise.
9059 * keyboard.c (wipe_kboard): Likewise.
9060 * macterm.c (x_free_frame_resources, xlfdpat_destroy, XFreePixmap)
9061 (init_font_name_table, mac_unload_font, x_delete_display): Likewise.
9062 * term.c (tty_default_color_capabilities, maybe_fatal)
9063 (delete_tty): Likewise.
9064 * w16select.c (string): Likewise.
9065 * w32.c (w32_get_resource, SET_ENV_BUF_SIZE): Likewise.
9066 * w32bdf.c (w32_free_bdf_font): Likewise.
9067 * w32fns.c (w32_unload_font): Likewise.
9068 * w32font.c (w32font_close): Likewise.
9069 * window.c (size_window): Likewise.
9070 * xselect.c (receive_incremental_selection): Likewise.
9071 * xterm.c (x_free_frame_resources, x_delete_display): Likewise.
9072 * mactoolbox.c (create_apple_event_from_drag_ref): Likewise.
9073 * w32.c (stat): Likewise.
9074
9075 Remove useless if-before-free tests.
9076 * editfns.c (Fset_time_zone_rule): Likewise.
9077 * lread.c (nosuffix): Likewise.
9078 * ralloc.c (get_bloc): Likewise.
9079 * regex.c (reg_free): Likewise.
9080 * xftfont.c (xftfont_open, xftfont_close): Likewise.
9081 * xrdb.c (get_user_app, get_environ_db, x_load_resources): Likewise.
9082 * xsmfns.c (smc_save_yourself_CB): Likewise.
9083
9084 2008-06-02 Kenichi Handa <handa@m17n.org>
9085
9086 * font.c (font_find_for_lface): Handle float font size.
9087 (font_open_for_lface): Likewise.
9088
9089 * xfaces.c (x_supports_face_attributes_p): Check face->font before
9090 comparing the properties.
9091
9092 2008-06-01 Jason Rumney <jasonr@gnu.org>
9093
9094 * w32font.c (w32_enumfont_pattern_entity): Use requested registry.
9095 Treat iso10646-1 and Windows DEFAULT_CHARSET specially.
9096 Duplicate iso8859-1 fonts as iso10646-1 if no registry specified.
9097 Don't add empty script list.
9098 (w32_registry): Only map DEFAULT_CHARSET to iso10646-1 here.
9099
9100 2008-06-01 Dan Nicolaescu <dann@ics.uci.edu>
9101
9102 * Makefile.in (dot, dotdot): Remove, update users.
9103 ".." has been used elsewhere in the file for a long time.
9104 (LIBXT_STATIC): Remove conditional based on unused variable.
9105
9106 2008-06-01 Miles Bader <miles@gnu.org>
9107
9108 * xfaces.c (Vface_remapping_alist): New variable.
9109 (syms_of_xfaces): Initialize it.
9110 (enum named_merge_point_kind): New type.
9111 (struct named_merge_point): Add `named_merge_point_kind' field.
9112 (push_named_merge_point): Make cycle detection respect different
9113 named-merge-point kinds.
9114 (lface_from_face_name_no_resolve): Rename from `lface_from_face_name'.
9115 Remove face-name alias resolution.
9116 (lface_from_face_name): New definition using
9117 `lface_from_face_name_no_resolve'.
9118 (get_lface_attributes_no_remap): Rename from `get_lface_attributes'.
9119 Call lface_from_face_name_no_resolve instead of lface_from_face_name.
9120 (get_lface_attributes): New definition that layers face-remapping on
9121 top of get_lface_attributes_no_remap. New arg `named_merge_points'.
9122 (lookup_basic_face): New function.
9123 (lookup_derived_face): Pass new last arg to `get_lface_attributes'.
9124 (realize_named_face): Call `get_lface_attributes_no_remap' instead of
9125 `get_lface_attributes'.
9126 (face_at_buffer_position): Use `lookup_basic_face' to lookup
9127 DEFAULT_FACE_ID if necessary. When optimizing the default-face case,
9128 return default_face's face-id instead of the constant DEFAULT_FACE_ID.
9129
9130 * xdisp.c (init_iterator): Pass base_face_id through
9131 `lookup_basic_face' when we actually use it as a face-id.
9132 (handle_single_display_prop): Use `lookup_basic_face' to lookup
9133 DEFAULT_FACE_ID.
9134
9135 * fontset.c (Finternal_char_font): Use `lookup_basic_face' to
9136 lookup the initial face-id.
9137
9138 * dispextern.h (lookup_basic_face, Vface_remapping_alist): New decls.
9139
9140 2008-06-01 Juanma Barranquero <lekktu@gmail.com>
9141
9142 * textprop.c (syms_of_textprop) <text-property-default-nonsticky>:
9143 (Fremove_text_properties): Fix typos in docstrings.
9144
9145 2008-05-31 Kenichi Handa <handa@m17n.org>
9146
9147 * font.c (font_list_entities): Fix the car part of data to be
9148 stored in the cache.
9149
9150 * ftfont.c (ftfont_font_format): Don't use strcasestr.
9151
9152 2008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
9153
9154 * chartab.c (Foptimize_char_table, optimize_sub_char_table):
9155 Add a `test' argument so another predicate than `equal' can be used.
9156 (map_sub_char_table): Use `eq' rather than `equal' to merge ranges.
9157 (map_char_table): Remove unused vars `c' and `i'.
9158 * lisp.h (Foptimize_char_table): Adjust declaration.
9159 * charset.c (Fclear_charset_maps): Adjust call to Foptimize_char_table.
9160
9161 2008-05-30 Kenichi Handa <handa@m17n.org>
9162
9163 * font.c (Ffont_info): Define only if HAVE_WINDOW_SYSTEM is defined.
9164 (syms_of_font): Defsubr Sfont_info only if HAVE_WINDOW_SYSTEM is
9165 defined.
9166
9167 2008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
9168
9169 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
9170 (Fmake_variable_frame_local): Disallow mixing buffer-local and
9171 frame-local settings for the same variable.
9172
9173 2008-05-30 Kenichi Handa <handa@m17n.org>
9174
9175 * fontset.c (Ffont_info): Move to font.c.
9176 (syms_of_fontset): Delete defsubr of Sfont_info.
9177
9178 * font.c (font_style_to_value, font_score): Delete casting of the
9179 args to xstcasecmp.
9180 (register_font_driver): Increment num_font_drivers only when
9181 registering the driver globally.
9182 (Ffont_info): Move from fontset.c. Handle a font object too.
9183 (syms_of_font): Defsubr Sfont_info.
9184
9185 2008-05-29 Kenichi Handa <handa@m17n.org>
9186
9187 * coding.h (enum define_coding_utf8_arg_index): New enum.
9188 (enum coding_attr_index): Change coding_attr_utf_16_bom to
9189 coding_attr_utf_bom.
9190 (enum utf_bom_type): Rename from utf_16_bom_type.
9191 (struct utf_16_spec): Adjust for the above change.
9192 (struct coding_system): Add utf_8_bom in `spec' union.
9193
9194 * coding.c (CODING_UTF_8_BOM): New macro.
9195 (enum coding_category): Delete coding_category_utf_8, add
9196 coding_category_utf_8_auto, coding_category_utf_8_nosig, and
9197 coding_category_utf_8_sig.
9198 (CATEGORY_MASK_UTF_8): Delete it.
9199 (CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG)
9200 (CATEGORY_MASK_UTF_8_SIG): New macros.
9201 (CATEGORY_MASK_ANY): Delete CATEGORY_MASK_UTF_8, add
9202 CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG, and
9203 CATEGORY_MASK_UTF_8_SIG.
9204 (CATEGORY_MASK_UTF_8): New macro.
9205 (UTF_BOM, UTF_8_BOM_1, UTF_8_BOM_2, UTF_8_BOM_3): New macros.
9206 (detect_coding_utf_8): Check BOM.
9207 (decode_coding_utf_8, encode_coding_utf_8): Handle BOM.
9208 (decode_coding_utf_16): Adjust for the change of enum utf_bom_type.
9209 (encode_coding_utf_16): Likewise.
9210 (setup_coding_system): Likewise. Set CODING_UTF_8_BOM (coding).
9211 (detect_coding, detect_coding_system): Handle utf-8-auto.
9212 (Fdefine_coding_system_internal): Handle `bom' property for utf-8.
9213 (syms_of_coding): Fix setting up of Vcoding_category_table.
9214
9215 2008-05-29 Stefan Monnier <monnier@iro.umontreal.ca>
9216
9217 * process.c (Faccept_process_output): If `millisec' is non-nil,
9218 `seconds' default to 0.
9219 (wait_reading_process_output): Also return non-nil if we read output
9220 from a non-running process.
9221
9222 2008-05-29 Jason Rumney <jasonr@gnu.org>
9223
9224 * w32font.c (w32font_open_internal): Prefer truetype fonts unless
9225 `raster' specified.
9226 (add_font_entity_to_list): Allow non-opentype truetype fonts back
9227 in the uniscribe backend, but disallow any font that has no
9228 unicode subrange support.
9229
9230 2008-05-29 Juanma Barranquero <lekktu@gmail.com>
9231
9232 * xfaces.c (Fx_list_fonts, Finternal_copy_lisp_face):
9233 Fix typos in docstrings.
9234
9235 2008-05-29 Kenichi Handa <handa@m17n.org>
9236
9237 * xfaces.c (Fx_list_fonts): Make it return a list of font names.
9238 (Fx_family_fonts): Set frame correctly.
9239
9240 2008-05-28 Jason Rumney <jasonr@gnu.org>
9241
9242 * w32term.c (x_draw_glyph_string): Use clipmask if specified.
9243
9244 2008-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
9245
9246 * fileio.c (Fwrite_region): Delay the defaulting to beg&z to after
9247 calling build_annotations.
9248
9249 2008-05-28 Juanma Barranquero <lekktu@gmail.com>
9250
9251 * coding.c (Fdecode_coding_region, Fencode_coding_region)
9252 (Fencode_coding_string):
9253 (syms_of_coding) <coding-system-for-read, coding-system-for-write>:
9254 <latin-extra-code-table>: Fix typos in docstrings.
9255 (syms_of_coding) <coding-system-alist>: Doc fix.
9256 (syms_of_coding) <translation-table-for-input>: Reflow docstring.
9257
9258 2008-05-28 Kenichi Handa <handa@m17n.org>
9259
9260 * fontset.c (Ffont_info): Don't call font_close_object.
9261
9262 * font.c (font_parse_family_registry): Use Ffont_put to validate
9263 foundry and family.
9264 (font_delete_unmatched): Don't check spacing.
9265 (font_list_entities): Add spacing to the spec to list fonts.
9266
9267 * ftfont.c (ftfont_spec_pattern): Don't set FC_SPACING to pattern.
9268 (ftfont_list): Check spacing here. Don't include FC_CHARSET in objset.
9269
9270 * coding.c (encode_coding_raw_text): Fix previous change.
9271 (encode_coding_object): When the dst_object is a buffer and is
9272 different from src_object, move gap to PT.
9273
9274 2008-05-27 Chong Yidong <cyd@stupidchicken.com>
9275
9276 * xterm.c (x_draw_glyph_string): If a clipmask is specified, use it.
9277
9278 2008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
9279
9280 * coding.c (encode_coding_raw_text): Set coding->produced_char for
9281 all branches. Compute it differently.
9282
9283 * xdisp.c [!HAVE_WINDOW_SYSTEM]: Include font.h for --without-x.
9284
9285 2008-05-27 Juanma Barranquero <lekktu@gmail.com>
9286
9287 * w32font.c (compute_metrics): Rewrite an "else { if () ... else ... }"
9288 into "else if () ... else ...".
9289
9290 2008-05-27 Jason Rumney <jasonr@gnu.org>
9291
9292 * w32font.c (w32font_open_internal): Determine if glyph indices
9293 are likely to work here.
9294
9295 2008-05-27 Chong Yidong <cyd@stupidchicken.com>
9296
9297 * xdisp.c (draw_glyphs): If mouse-highlighting is on, attempt to
9298 draw overlap glyphs with appropriate highlighting.
9299
9300 2008-05-27 Kenichi Handa <handa@m17n.org>
9301
9302 * xfont.c (xfont_open): Fix calculation of font->average_width.
9303
9304 2008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
9305
9306 * casefiddle.c (casify_object): Try to guess better whether the
9307 argument is a byte or a char.
9308
9309 2008-05-26 Andreas Schwab <schwab@suse.de>
9310
9311 * xselect.c (x_reply_selection_request): Properly handle format == 32.
9312 Always send multiples of format size.
9313
9314 * xterm.c (x_set_frame_alpha): Fix type mismatch.
9315
9316 2008-05-26 Jason Rumney <jasonr@gnu.org>
9317
9318 * w32font.c (w32font_text_extents): Zero whole metrics struct first.
9319 (compute_metrics): Don't set failure if we just cleared the cache.
9320 (w32_weight_table): Remove unused variable.
9321 (w32_enumfont_pattern_entity): Use FONT_SPACING_CHARCELL for
9322 backwards compatibility.
9323
9324 2008-05-25 Kenichi Handa <handa@m17n.org>
9325
9326 * w32term.c (x_draw_glyph_string):
9327 * xterm.c (x_draw_glyph_string): Fix calculation of underline position.
9328
9329 * xfaces.c: Delete unused function prototypes.
9330 (xstrlwr, font_frame): Delete them.
9331 (clear_face_cache): Delete unused variable.
9332
9333 * xftfont.c (xftfont_open): Delete unused variable.
9334 If underline_thickness is not 1, adjust underline_position.
9335
9336 * ftxfont.c (ftxfont_open): Delete unused variable.
9337
9338 * fontset.c (face_for_char): Optimize for the case of no charset
9339 property.
9340
9341 * font.c (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE)
9342 (check_gstring, check_otf_features, otf_list, otf_tag_symbol)
9343 (otf_open, font_otf_capability, generate_otf_features)
9344 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
9345 Comment out by surrounding "#if 0" and "#endif" for the moment.
9346 (Ffont_drive_otf, Ffont_otf_alternates): Likewise.
9347 (syms_of_font): Codes for accessing above commented out.
9348
9349 2008-05-24 Eli Zaretskii <eliz@gnu.org>
9350
9351 * w32proc.c: Include dispextern.h.
9352
9353 * w32.c: Include dispextern.h.
9354
9355 2008-05-23 Juanma Barranquero <lekktu@gmail.com>
9356
9357 * charset.c (Fencode_char, Fsplit_char): Doc fixes.
9358 (Fget_unused_iso_final_char, Fdecode_char, Fiso_charset):
9359 Fix typos in docstrings.
9360
9361 2008-05-23 Jason Rumney <jasonr@gnu.org>
9362
9363 * xsmfns.c: Remove includes that are already included by config.h.
9364
9365 2008-05-23 Kenichi Handa <handa@m17n.org>
9366
9367 * charset.c (Qemacs, charset_emacs): New variables.
9368 (char_charset): Fix for non-Unicode characters.
9369 (syms_of_charset): Define charset_emacs.
9370
9371 * w32term.c (x_draw_glyph_string): Be sure to update
9372 s->underline_thickness and s->underline_position. Be sure to draw
9373 underline within the current line area.
9374
9375 * xterm.c (x_draw_glyph_string): Be sure to update
9376 s->underline_thickness and s->underline_position. Be sure to draw
9377 underline within the current line area.
9378
9379 * fontset.c: Delete unused variables and add casting for char *
9380 throughout the file.
9381 (fontset_font): Try the fallback fonts of the current fontset
9382 before consulting the default fontset.
9383
9384 * ftfont.c (ftfont_spec_pattern): Free charset if necessary.
9385
9386 * xfont.c (xfont_list_pattern): Free names returned from XListFonts.
9387
9388 2008-05-22 Jason Rumney <jasonr@gnu.org>
9389
9390 * font.c: Don't include strings.h.
9391
9392 * dispextern.h, xfaces.c (xstrcasecmp): Rename from xstricmp.
9393
9394 * dosfns.c, fileio.c, font.c, fontset.c, image.c, macfns.c:
9395 * macterm.c, process.c, w32.c, w32fns.c, w32proc.c, xfaces.c:
9396 * xfns.c, xfont.c: All callers of stricmp and strcasecmp changed
9397 to call xstrcasecmp.
9398
9399 * xfont.c (xfont_list_pattern, compare_font_names): Use xstrcasecmp.
9400
9401 * fontset.c (fs_query_fontset): Use xstrcasecmp.
9402
9403 * font.c (font_style_to_value, font_score): Use xstrcasecmp.
9404
9405 * dosfns.c (msdos_stdcolor_idx): Use xstrcasecmp.
9406
9407 2008-05-22 Kenichi Handa <handa@m17n.org>
9408
9409 * puresize.h (BASE_PURESIZE): Increase to 1220000.
9410
9411 * font.c (font_prop_validate_style): Adjust for the format
9412 change of font_style_table.
9413
9414 * w32font.c (w32font_open_internal): Call Ffont_xlfd_name with
9415 two args.
9416
9417 * xfaces.c (x_update_menu_appearance): Call Ffont_xlfd_name with
9418 two args.
9419
9420 2008-05-22 Stefan Monnier <monnier@iro.umontreal.ca>
9421
9422 * minibuf.c (keys_of_minibuf): Delete.
9423 * lisp.h (keys_of_minibuf): Delete.
9424 * emacs.c (main): Don't call keys_of_minibuf.
9425
9426 2008-05-22 Kenichi Handa <handa@m17n.org>
9427
9428 * ftfont.c (ftfont_resolve_generic_family): Rename from
9429 ftfont_list_generic_family. Return a single family for each
9430 generic family.
9431 (ftfont_spec_pattern): Add FC_FAMILY to pattern.
9432 (ftfont_list): Adjust for the change of ftfont_resolve_generic_family.
9433 Call font_add_log.
9434 (ftfont_match): Call font_add_log.
9435
9436 * font.h (Ffont_xlfd_name): EXFUN adjusted.
9437 (FONT_DEBUG): Define it.
9438 (font_add_log): Extern it.
9439 (font_assert): Rename from xassert.
9440
9441 * xfont.c (xfont_get_pcm): Change xassert to font_assert.
9442 (xfont_list_family): Call font_add_log.
9443 (xfont_match): Likewise.
9444 (memq_no_quit): Delete.
9445
9446 * fontset.c (fontset_from_font, Ffontset_info): Add the 2nd arg in
9447 call of Ffont_xlfd_name.
9448
9449 * xfaces.c (struct table_entry, slant_table, weight_table)
9450 (swidth_table): Move to font.c.
9451
9452 * font.c: Checking of FONT_DEBUG is moved to font.h. All calls of
9453 xassert are changed to font_assert. Delete many unused variables.
9454 (Vfont_weight_table, Vfont_slant_table, Vfont_width_table):
9455 New variables.
9456 (struct table_entry): Move from xfaces.c and modified.
9457 (weight_table, slant_table, width_table): Move from xfaces.c and
9458 contents adjusted for the change of struct table_entry.
9459 (font_style_to_value, font_style_symbolic): Adjust for the
9460 format change of font_style_table.
9461 (font_parse_family_registry): Don't overwrite existing foundry and
9462 family of font_spec.
9463 (font_score): Fix calculation of diff for sizes.
9464 (font_sort_entites): Call font_add_log.
9465 (font_delete_unmatched): Return a newly created list.
9466 (font_list_entities): Fix previous change. Call font_add_log.
9467 (font_matching_entity, font_open_entity, font_close_entity):
9468 Call font_add_log.
9469 (Ffont_xlfd_name): New arg FOLD-WILDCARDS.
9470 (Finternal_set_font_style_table): Delete.
9471 (BUILD_STYLE_TABLE): New macro.
9472 (build_style_table): New function.
9473 (Vfont_log, font_log_env_checked): New variables.
9474 (font_add_log): New function.
9475 (syms_of_font): Delete defsubr Sinternal_set_font_style_table.
9476 Declare Lisp variables "font-weight-table", "font-slant-table",
9477 "font-width-table", and "font-log". Initialize font_style_table.
9478
9479 2008-05-21 Dan Nicolaescu <dann@ics.uci.edu>
9480
9481 * xterm.c (x_set_frame_alpha): Move declarations before statements.
9482
9483 2008-05-21 Seiji Zenitani <zenitani@mac.com>
9484 Ryo Yoshitake <ryo@shiftmode.net>
9485
9486 * frame.c (Qalpha): Add a new frame parameter `alpha'.
9487 (Vframe_alpha_lower_limit): New variable.
9488 (x_set_alpha): New function.
9489
9490 * frame.h (Qalpha, Vframe_parameter_lower_limit): Export them.
9491
9492 * xfns.c (x-create-frame, Qalpha):
9493 Initialize the frame parameter `alpha'.
9494 * xterm.c (OPAQUE, OPACITY): New.
9495 (x_set_frame_alpha): New function.
9496 (frame_highlight, frame_unhighlight): Call x_set_frame_alpha.
9497
9498 * macfns.c (mac_frame_parm_handlers): A null handler for x_set_alpha.
9499 * w32fns.c (w32_frame_parm_handlers): Likewise.
9500
9501 2008-05-20 Jason Rumney <jasonr@gnu.org>
9502
9503 * w32font.c (add_font_entity_to_list): Don't add non-opentype
9504 truetype fonts to opentype list.
9505
9506 2008-05-20 Juanma Barranquero <lekktu@gmail.com>
9507
9508 * fontset.c (Ffontset_info): Doc fix.
9509 (syms_of_fontset) <font-encoding-charset-alist, use-default-ascent>:
9510 <ignore-relative-composition>: Fix typos in docstrings.
9511
9512 * font.c (syms-of-font) <font-encoding-alist>:
9513 (Ffontp, Ffont_make_gstring): Fix typos in docstrings.
9514 (Flist_fonts, Ffont_family_list, Ffont_fill_gstring, Fquery_font)
9515 (Ffont_otf_alternates): Doc fixes.
9516
9517 2008-05-20 Kenichi Handa <handa@m17n.org>
9518
9519 * Makefile.in (FONTSRC): Delete it. Change all $(FONTSRC) to
9520 font.h through out the file.
9521 (FONT_DRIVERS): Rename from FONTOBJ.
9522 (obj): Change $(FONTOBJ) to $(FONT_DRIVERS). Add font.o.
9523 (SOME_MACHINE_OBJECTS): Change $(FONTOBJ) to $(FONT_DRIVERS).
9524
9525 * emacs.c (main): Call syms_of_font unconditionally.
9526
9527 * font.h (find_font_encoding): Extern it.
9528
9529 * font.c (Vfont_encoding_alist, find_font_encoding): Move from
9530 fontset.c.
9531 (font_pixel_size)[! HAVE_WINDOW_SYSTEM]: Return 1.
9532 (font_open_entity): Update FRAME_X_DISPLAY_INFO (f)->n_fonts,
9533 FRAME_SMALLEST_CHAR_WIDTH (f), and FRAME_SMALLEST_FONT_HEIGHT (f)
9534 only when HAVE_WINDOW_SYSTEM is defined.
9535 (font_close_object): Update FRAME_X_DISPLAY_INFO (f)->n_fonts only
9536 when HAVE_WINDOW_SYSTEM is defined.
9537
9538 * fontset.c (Vfont_encoding_alist, find_font_encoding): Move to font.c.
9539 (syms_of_fontset): Move declaration of font-encoding-alist to font.c.
9540
9541 * xfaces.c: Include font.h unconditionally.
9542 (merge_face_ref, merge_face_vectors)
9543 (Finternal_set_lisp_face_attribute): Cancel the previous change.
9544
9545 2008-05-20 Stefan Monnier <monnier@iro.umontreal.ca>
9546
9547 * xdisp.c (select_frame_for_redisplay): Adjust for last change to
9548 indirect_variable.
9549 * eval.c (lisp_indirect_variable): New fun.
9550 (Fuser_variable_p): Use it.
9551
9552 2008-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
9553
9554 * lisp.h (indirect_variable):
9555 * data.c (indirect_variable, let_shadows_buffer_binding_p):
9556 Use Lisp_Symbol pointers rather than Lisp_Object.
9557 Adjust callers.
9558 * buffer.c (buffer_slot_type_mismatch): Use wrong-type-argument.
9559 To this end, change calling-convention.
9560
9561 * minibuf.c (Finternal_complete_buffer): Only strip out hidden buffers
9562 if some non-hidden buffers are selected by string&pred.
9563
9564 2008-05-19 Chong Yidong <cyd@stupidchicken.com>
9565
9566 * process.c (wait_reading_process_output): Always check status
9567 when in batch mode.
9568
9569 2008-05-19 Kenichi Handa <handa@m17n.org>
9570
9571 * font.c (font_list_entities): Fix handling of cache.
9572 (font_matching_entity): Likewise.
9573
9574 * ftfont.c (cs_iso8859_1): Delete.
9575 (ft_face_cache): New variable.
9576 (struct ftfont_info): New member fc_charset_idx.
9577 (ftfont_build_basic_charsets): Delete.
9578 (fc_charset_table): New variable.
9579 (ftfont_pattern_entity): New arg fc_charset_idx. Store (FILENAME
9580 . FC_CHARSET_IDX) as :font-entity property in the font entity.
9581 Callers changed.
9582 (ftfont_lookup_cache, ftfont_get_charset): New functions.
9583 (ftfont_spec_pattern): New argument fc_charset_idx.
9584 Check registry more rigidly. Change callers.
9585 (ftfont_open, ftfont_close, ftfont_has_char): Adjust for the
9586 change of :font-entity property of the font.
9587
9588 * xftfont.c (xftfont_open): Adjust for the change of :font-entity
9589 property of the font.
9590
9591 2008-05-18 Juanma Barranquero <lekktu@gmail.com>
9592
9593 * coding.c (Fcoding_system_p): Rename argument to match docstring.
9594 (Funencodable_char_position, Fcheck_coding_systems_region)
9595 (Fdecode_coding_string, Fencode_coding_string): Fix typos in docstrings.
9596 (Fdetect_coding_region, Fdetect_coding_string, Fencode_coding_region)
9597 (Ffind_operation_coding_system, Fset_coding_system_priority)
9598 (Fcoding_system_eol_type): Doc fixes.
9599
9600 2008-05-17 Glenn Morris <rgm@gnu.org>
9601
9602 * sysdep.c (child_setup_tty): Handle systems with NLDLY, without FFDLY.
9603
9604 2008-05-16 Eli Zaretskii <eliz@gnu.org>
9605
9606 * dired.c (Ffile_attributes): Shut up GCC warnings about st_uid
9607 and st_gid.
9608
9609 * frame.c (Fdelete_frame): Don't call font_update_drivers if
9610 HAVE_WINDOW_SYSTEM is not defined.
9611
9612 * xfaces.c (merge_face_ref, merge_face_vectors)
9613 (Finternal_set_lisp_face_attribute): Use FONT_*_INDEX only when
9614 HAVE_WINDOW_SYSTEM is defined.
9615 (Fface_font): Fix non-HAVE_WINDOW_SYSTEM case.
9616
9617 2008-05-16 Stefan Monnier <monnier@iro.umontreal.ca>
9618
9619 * keyboard.c (parse_menu_item): Do not cache key shortcut any more.
9620
9621 2008-05-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9622
9623 * macterm.c (x_draw_relief_rect): Remove unused variable `dpy'.
9624
9625 2008-05-15 Kenichi Handa <handa@m17n.org>
9626
9627 * font.c (font_find_for_lface): Reflect LFACE_FONT in the font
9628 preference.
9629
9630 2008-05-15 Glenn Morris <rgm@gnu.org>
9631
9632 * emacs.c (USAGE1, standard_args): Remove -disable-font-backend.
9633
9634 2008-05-15 Chong Yidong <cyd@stupidchicken.com>
9635
9636 * fns.c (init_fns): Don't initialize weak_hash_tables here.
9637 (init_weak_hash_tables): New fun. Initialize weak_hash_tables.
9638
9639 * alloc.c (init_alloc_once): Call init_weak_hash_tables.
9640
9641 2008-05-15 Kenichi Handa <handa@m17n.org>
9642
9643 * ftfont.c (ftfont_list): Downcase family name to check generic
9644 families.
9645
9646 * xfaces.c (Finternal_set_lisp_face_attribute): Be sure to make a
9647 font-spec for QCfont value.
9648
9649 * fontset.c (Fnew_fontset): Call font_unparse_xlfd with 256-byte
9650 buffer. Check the return value of it.
9651
9652 2008-05-14 Jason Rumney <jasonr@gnu.org>
9653
9654 * w32term.c (w32_get_glyph_overhangs): Remove.
9655 (w32_redisplay_interface): Use x_get_glyph_overhangs instead.
9656
9657 2008-05-14 Kenichi Handa <handa@m17n.org>
9658
9659 * font.c (font_prop_validate): Make nil a valid value.
9660 (font_clear_cache): Check if the cached vector of entities is nil
9661 or not.
9662
9663 2008-05-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9664
9665 * emacs.c (main_thread): Conditionalize on
9666 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
9667 (main) [FORWARD_SIGNAL_TO_MAIN_THREAD]: Initialize it.
9668
9669 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): New define.
9670 (main_thread, SIGNAL_THREAD_CHECK): Conditionalize on
9671 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
9672
9673 2008-05-14 Kenichi Handa <handa@m17n.org>
9674
9675 * coding.c (detect_coding_iso_2022): Ignore a coding category that
9676 has no corresponding coding system.
9677
9678 2008-05-14 Jason Rumney <jasonr@gnu.org>
9679
9680 * font.h (struct font) [WINDOWSNT]: Remove codepage member.
9681
9682 * w32font.h (w32font_open_internal): Update declaration.
9683
9684 * w32font.c (w32font_open_internal): Change last argument from
9685 w32font_info struct to font object. Fill in font object from
9686 font_entity. Get Outline metrics if possible. Use them to
9687 calculate underline position and thickness. Use xlfd name as name
9688 property. Don't set codepage.
9689 (w32font_open): Pass font_object to w32font_open_internal. Don't
9690 update dpyinfo->smallest_font_height and dpyinfo->smallest_char_width.
9691 (w32font_draw): Use s->font.
9692 (clear_cached_metrics): Don't clear non-existent blocks.
9693
9694 * w32term.c (w32_compute_glyph_string_overhangs): Don't compute if
9695 font was not found.
9696 (x_draw_glyph_string): Use underline position and thickness from font.
9697
9698 * w32uniscribe.c (uniscribe_open): Pass font_object to
9699 w32font_open_internal.
9700
9701 2008-05-14 Kenichi Handa <handa@m17n.org>
9702
9703 These changes are to delete all legacy font-handling codes, and
9704 make Emacs use only font-backends.
9705
9706 * Makefile.in: Delete USE_FONT_BACKEND conditionals.
9707 (frame.o, image.o, print.o): Depend on $(FONTSRC).
9708
9709 * makefile.w32-in (WIN32OBJ): Add w32reg.$(O), remove w32bdf.$(O).
9710
9711 * charset.h (Vcharset_non_preferred_head)
9712 (Vcurrent_iso639_language): Extern them.
9713
9714 * charset.c (Vcharset_non_preferred_head): New variable.
9715 (Vcurrent_iso639_language): New variable.
9716 (syms_of_charset): Declare it as a Lisp variable.
9717 (char_charset): Don't check non preferred charsets. As a last
9718 resort, return charset_unicode.
9719 (Fset_charset_priority): Update Vcharset_non_preferred_head.
9720
9721 * composite.c: Throughout the file, delete all USE_FONT_BACKEND
9722 conditionals. Don't check enable_font_backend. Delete all codes
9723 used only when USE_FONT_BACKEND is not defined.
9724
9725 * dispextern.h (struct glyph_string): Change type of `font' to
9726 `struct font *'.
9727 (struct glyph_string): New member underline_position and
9728 underline_thickness.
9729 (enum lface_attribute_index): Remove LFACE_AVGWIDTH_INDEX.
9730 (struct face): Change type of `font' to `struct font *'. Remove
9731 members `font_name', `font_info_id'.
9732 (per_char_metric, encode_char): Delete externs.
9733 (calc_pixel_width_or_height): Adjust the prototype.
9734
9735 * emacs.c (enable_font_backend): Delete extern.
9736 (main): Don't set enable_font_backend. Don't check the command
9737 line argument "-disable-font-backend".
9738
9739 * font.h (Qfont_spec, Qfont_entity, Qfont_object): Extern them.
9740 (enum font_property_index): New members FONT_DPI_INDEX,
9741 FONT_SPACING_INDEX, FONT_AVGWIDTH_INDEX, FONT_NAME_INDEX,
9742 FONT_FULLNAME_INDEX, FONT_FILE_INDEX, FONT_FORMAT_INDEX,
9743 FONT_OBJECT_MAX. Delete FONT_FRAME_INDEX.
9744 (FONT_WEIGHT_NUMERIC, FONT_SLANT_NUMERIC, FONT_WIDTH_NUMERIC)
9745 (FONT_WEIGHT_SYMBOLIC, FONT_SLANT_SYMBOLIC, FONT_WIDTH_SYMBOLIC)
9746 (FONT_WEIGHT_FOR_FACE, FONT_SLANT_FOR_FACE, FONT_WIDTH_FOR_FACE)
9747 (FONT_WEIGHT_NAME_NUMERIC, FONT_SLANT_NAME_NUMERIC)
9748 (FONT_WIDTH_NAME_NUMERIC, FONT_SET_STYLE): New macros.
9749 (struct font_spec, struct font_entity): New structs.
9750 (FONT_ENCODING_NOT_DECIDED): Moved from fontset.h.
9751 (struct font): Many members from old "struct font_info" moved to
9752 here. Members font and entity deleted.
9753 (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P, FONTP): Modified for
9754 the new font-related objects.
9755 (CHECK_FONT_SPEC, CHECK_FONT_ENTITY, CHECK_FONT_OBJECT)
9756 (CHECK_FONT_GET_OBJECT): Likewise.
9757 (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT, XSETFONT): New macros.
9758 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved from font.h.
9759 (struct font_driver): New members case_sensitive anc check. Type
9760 of the member list and open changed.
9761 (enable_font_backend, font_symbolic_weight, font_symbolic_slant)
9762 (font_symbolic_width, font_find_object, font_get_spec)
9763 (font_set_lface_from_name): Delete extern.
9764 (Fcopy_font_spec, Fmerge_font_spec, Ffont_family_list): New EXFUNs.
9765
9766 * font.c: Include <strings.h>.
9767 (enable_font_backend): Delete it.
9768 (Qfont_spec, Qfont_entity, Qfont_object): New variables.
9769 (CHECK_VALIDATE_FONT_SPEC): Delete it.
9770 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved to font.h.
9771 (null_string): Delete it.
9772 (null_vector): Make it static.
9773 (font_family_alist): Delete it.
9774 (Qnormal): Extern it.
9775 (QCextra, QClanguage): Delete it.
9776 (QClang, QCavgwidth, QCfont_entity, QCfc_unknown_spec): New variables.
9777 (font_make_spec, font_make_entity, font_make_object)
9778 (font_intern_prop): Renamed from intern_downcase. Don't downcase
9779 the string. Callers changed.
9780 (font_pixel_size): Adjusted for the format change of font-related
9781 objects.
9782 (prop_name_to_numeric, prop_numeric_to_name): Delete them.
9783 (font_style_to_value, font_style_symbolic): New function.
9784 (build_font_family_alist): Delete it.
9785 (font_registry_charsets): Use Fassoc_string instead of
9786 assq_no_quit.
9787 (font_prop_validate_symbol): Don't return null_string.
9788 (font_prop_validate_style): Adjusted for the change of
9789 style-related values in a font vector.
9790 (font_property_table): Delete entries for QClanguage and
9791 QCantialias, add entries for QCavgwidth.
9792 (get_font_prop_index): Delete the 2nd argument FROM.
9793 (font_prop_validate): Arguments changed.
9794 (font_put_extra): Adjusted for the change of font-related objects.
9795 (font_expand_wildcards, font_parse_xlfd, font_unparse_xlfd)
9796 (font_parse_fcname, font_unparse_fcname)
9797 (font_prepare_composition): Likewise.
9798 (font_parse_family_registry): Renamed from font_merge_old_spec.
9799 (otf_open): Delete the 1st arg entity.
9800 (font_otf_capability): Adjusted for the above change.
9801 (font_score): New arg alternate_families. Adjusted for the change
9802 of font-related objects.
9803 (font_sort_entites): New arg best_only.
9804 (font_symbolic_weight, font_symbolic_slant, font_symbolic_width):
9805 Delete them.
9806 (font_match_p): Check alternate families.
9807 (font_find_object): Delete it.
9808 (font_check_object): New function.
9809 (font_clear_cache): Adjusted for the change of font-related objects.
9810 (font_delete_unmatched): New arg.
9811 (font_list_entities): Call font_driver->list with a spec that
9812 doesn't specify style-related properties.
9813 (font_matching_entity): Arguments changed. Caller changed.
9814 (font_open_entity): Adjusted for the change of font-related objects.
9815 (font_close_object, font_has_char, font_encode_char)
9816 (font_get_name, font_get_spec): Likewise.
9817 (font_spec_from_name, font_clear_prop, font_update_lface):
9818 New functions.
9819 (font_find_for_lface, font_open_for_lface, font_load_for_lface)
9820 (font_prepare_for_face, font_done_for_face, font_open_by_name)
9821 (font_at): Adjusted for the change of font-related objects.
9822 (font_range): New function.
9823 (Ffontp, Ffont_spec, Ffont_get, Ffont_put, Flist_fonts)
9824 (Ffont_xlfd_name): Adjusted for the change of font-related objects.
9825 (Fcopy_font_spec, Fmerge_font_spec): New function.
9826 (Ffont_family_list): Renamed from list-families.
9827 (Finternal_set_font_style_table): Arguments changed.
9828 (Ffont_fill_gstring, Ffont_shape_text, Fopen_font)
9829 (Ffont_drive_otf, Fquery_font, Ffont_match_p): Adjusted for the
9830 change of font-related objects.
9831 (syms_of_font): Delete "ifdef USE_FONT_BACKEND". DEFSYM new symbols.
9832
9833 * fontset.h (struct font_info): Delete it. Most members go to
9834 struct font.
9835 (FONT_ENCODING_NOT_DECIDED): Moved to font.h.
9836 (enum FONT_SPEC_INDEX): Delete it.
9837 (font_info, list_fonts_func, load_font_func, query_font_func)
9838 (set_frame_fontset_func, find_ccl_program_func)
9839 (get_font_repertory_func, new_fontset_from_font_name): Delete
9840 externs.
9841 (fontset_from_font_name): Extern it.
9842 (FS_LOAD_FONT, FONT_INFO_ID, FONT_INFO_FROM_ID)
9843 (FONT_INFO_FROM_FACE): Deleted.
9844 (face_for_font): Adjust prototype.
9845
9846 * fontset.c: Throughout the file, delete all USE_FONT_BACKEND
9847 conditionals. Don't check enable_font_backend. Delete all codes
9848 used only when USE_FONT_BACKEND is not defined.
9849 (get_font_info_func, list_font_func, load_font_func)
9850 (query_font_func, set_frame_fontset_func, find_ccl_program_func)
9851 (get_font_repertory_func): Delete them.
9852 (FONTSET_SPEC, FONT_DEF_NEW, FONT_DEF_SPEC, FONT_DEF_ENCODING)
9853 (FONT_DEF_REPERTORY, RFONT_DEF_FACE, RFONT_DEF_SET_FACE)
9854 (RFONT_DEF_FONT_DEF, RFONT_DEF_SPEC, RFONT_DEF_REPERTORY)
9855 (RFONT_DEF_OBJECT, RFONT_DEF_SET_OBJECT, RFONT_DEF_SCORE)
9856 (RFONT_DEF_SET_SCORE, RFONT_DEF_NEW): New macros.
9857 (fontset_compare_rfontdef): New function.
9858 (reorder_font_vector): Remove the argument CHARSET-ID. Sort
9859 rfont-defs by qsort. Adjusted for the change of font-group vector.
9860 (load_font_get_repertory): Deleted.
9861 (fontset_find_font): Use new macros to ref/set elements of
9862 font-def and rfont-def.
9863 (fontset_font): Fix the timing of remembering that no font for C.
9864 (free_face_fontset): Do nothing if the face has no fontset.
9865 (face_suitable_for_char_p): Use new macros to ref/set elements of
9866 rfont-def.
9867 (face_for_char): Likewise. Call face_for_char with font_object.
9868 (fs_load_font): Delete. Delete #pragma surrounding it.
9869 (fs_query_fontset): Use strcasecmp instead of strcmp.
9870 (generate_ascii_font_name): Adjusted for the format change of
9871 font-spec.
9872 (Fset_fontset_font): Likewise. Use new macros to set elements of
9873 font-def.
9874 (Fnew_fontset): Use font_unparse_xlfd to generate
9875 FONTSET_ASCII (fontset).
9876 (new_fontset_from_font_name): Deleted.
9877 (fontset_from_font): Renamed from new_fontset_from_font. Check if
9878 a fontset is already created for the font. FIx updating of
9879 Vfontset_alias_alist.
9880 (fontset_ascii_font): Deleted.
9881 (Ffont_info): Adjusted for the format change of font-spec.
9882 (Finternal_char_font): Likewise.
9883 (Ffontset_info): Likewise.
9884 (syms_of_fontset): Don't check load_font_func.
9885
9886 * fns.c (internal_equal): Handle PREV_FONT.
9887
9888 * frame.h: Delete USE_FONT_BACKEND conditional.
9889
9890 * frame.c: Throughout the file, delete all USE_FONT_BACKEND
9891 conditionals. Don't check enable_font_backend. Delete all codes
9892 used only when USE_FONT_BACKEND is not defined.
9893 (x_set_font): Call x_new_font, not x_new_fontset2.
9894 (x_set_font_backend): Use FRAME_FONT macro to check if a font is
9895 already set for the frame.
9896
9897 * ftfont.c (ftfont_pattern_entity): Argument FRAME removed. Make
9898 a font-entity by font_make_entity. Use font_intern_prop instead
9899 of intern_downcase. Use FONT_SET_STYLE to set a style-related
9900 font property. If a font is scalable, set avgwidth property to 0.
9901 Set font-entity property by font_put_extra.
9902 (ftfont_list_generic_family): Argument SPEC and REGISTRY removed.
9903 (ffont_driver): Adjusted for the change of struct font_driver.
9904 (ftfont_spec_pattern): New function.
9905 (ftfont_list): Return a list, not vector.
9906 (ftfont_match): Use ftfont_spec_pattern to get a pattern.
9907 (ftfont_list_family): Don't downcase names.
9908 (ftfont_free_entity): Deleted.
9909 (ftfont_open): Return a font-object. Adjusted for the change of
9910 struct font. Get underline_thickness and underline_position from
9911 font property. Don't update dpyinfo->smallest_font_height and
9912 dpyinfo->smallest_char_width.
9913 (ftfont_close): Don't free `struct font'.
9914 (ftfont_has_char): Adjusted for the format change of font-entity.
9915 (ftfont_encode_char, ftfont_text_extents): Likewise.
9916
9917 * ftxfont.c (ftxfont_list): Return a list, not vector.
9918 (ftxfont_open): Return a font-object. Adjusted for the change of
9919 struct font. Get underline_thickness and underline_position from
9920 font property. Don't update dpyinfo->smallest_font_height and
9921 dpyinfo->smallest_char_width.
9922 (ftxfont_close): Don't decrease FRAME_X_DISPLAY_INFO (f)->n_fonts.
9923 (ftxfont_draw): Adjusted for the change of struct font.
9924
9925 * image.c (image_ascent): Don't include "charset.h". Include
9926 "character.h" and "font.h".
9927
9928 * lisp.h (enum pvec_type): New member PREV_FONT.
9929 (Fassoc_string): EXFUN it.
9930
9931 * print.c: Include font.h.
9932 (print_object): Handle font-related objects.
9933
9934 * xdisp.c: Throughout the file, delete all USE_FONT_BACKEND
9935 conditionals. Don't check enable_font_backend. Delete all codes
9936 used only when USE_FONT_BACKEND is not defined.
9937 (handle_auto_composed_prop): Do nothing if it->f is not on a
9938 window system. Check how many following characters can be
9939 displayed by the same font.
9940 (calc_pixel_width_or_height): Type of the 4th arg is changed to
9941 'struct font *'.
9942 (get_char_face_and_encoding): Assign the whole encoding task to
9943 the `encode-char' method of a font driver.
9944 (fill_composite_glyph_string): Adjusted for the change of `struct
9945 face' and `struct glyph_string'.
9946 (fill_glyph_string): Likewise.
9947 (get_per_char_metric): Arguments changed.
9948 (x_get_glyph_overhangs): Adjusted for the change of `struct face'
9949 and `struct glyph_string'.
9950 (produce_stretch_glyph, calc_line_height_property)
9951 (x_produce_glyphs): Likewise.
9952
9953 * xfaces.c: Throughout the file, delete all USE_FONT_BACKEND
9954 conditionals. Don't check enable_font_backend. Delete all codes
9955 used only when USE_FONT_BACKEND is not defined. Use
9956 FONT_XXX_NAME_NUMERIC instead of face_numeric_xxx.
9957 (QCfoundry, QCadstyle, QCregistry, QCspacing, QCsize, QCavgwidth)
9958 (Qp): Extern them.
9959 (clear_font_table, load_face_font, xlfd_lookup_field_contents):
9960 Deleted.
9961 (struct font_name): Deleted.
9962 (xlfd_numeric_value, xlfd_symbolic_value): Deleted.
9963 (compare_fonts_by_sort_order): New function.
9964 (xlfd_numeric_slant, xlfd_symbolic_slant, xlfd_numeric_weight)
9965 (xlfd_symbolic_weight, xlfd_numeric_swidth, xlfd_symbolic_swidth):
9966 Deleted.
9967 (Fx_family_fonts): Use font_list_entities, and sort fonts by
9968 compare_fonts_by_sort_order.
9969 (Fx_font_family_list): Call Ffont_family_list.
9970 (face_numeric_value, face_numeric_weight, face_numeric_slant)
9971 (face_numeric_swidth, face_symbolic_value, face_symbolic_weight)
9972 (face_symbolic_slant, face_symbolic_swidth)
9973 (split_font_name_into_vector, build_font_name_from_vector)
9974 (xlfd_fixed_p, xlfd_point_size, pixel_point_size)
9975 (font_rescale_ratio, split_font_name, build_font_name)
9976 (free_font_names, sort_fonts, x_face_list_fonts)
9977 (face_font_available_p, sorted_font_list, cmp_font_names)
9978 (font_list_1, concat_font_list, font_list, remove_duplicates):
9979 Deleted.
9980 (Fx_list_fonts): Use Ffont_list.
9981 (LFACE_AVGWIDTH): Deleted.
9982 (check_lface_attrs): Don't check LFACE_AVGWIDTH. Check LFACE_FONT
9983 by FONTP.
9984 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
9985 (set_lface_from_font_name): Delete it.
9986 (set_lface_from_font): Renamed from
9987 set_lface_from_font_and_fontset. Caller changed. Don't set
9988 LFACE_AVGWIDTH. Use FONT_XXX_FOR_FACE to get a symbol suitable
9989 for face.
9990 (merge_face_vectors): Copy font-spec if necessary.
9991 Clear properties of the font-spec if necessary.
9992 (merge_face_ref): Clear properties of the font-spec if necessary.
9993 (Finternal_set_lisp_face_attribute): Likewise.
9994 (set_font_frame_param): Use font_load_for_lface to load a
9995 font-object, and call Fmodify_frame_parameters with it.
9996 (x_update_menu_appearance): Don't check LFACE_AVGWIDTH. Get XLFD
9997 font name by Ffont_xlfd_name.
9998 (Finternal_lisp_face_attribute_values): Don't check QCweight,
9999 QCslant, and QCwidth.
10000 (Fface_font): Get a font name from font->props[FONT_NAME_INDEX].
10001 (lface_same_font_attributes_p): Don't check LFACE_AVGWIDTH.
10002 Compare fonts by EQ.
10003 (lookup_non_ascii_face): Deleted.
10004 (face_for_font): The 2nd argument changed.
10005 (x_supports_face_attributes_p): Don't check LFACE_AVGWIDTH.
10006 Check atomic font properties by case insensitive.
10007 (realize_non_ascii_face): Set face->overstrike correctly.
10008 (realize_x_face): Likewise. Check if LFACE_FONT is a font_object.
10009 (dump_realized_face): Get font name from
10010 font->props[FONT_NAME_INDEX]. Don't print font_info_id.
10011
10012 * xfns.c: Throughout the file, delete all USE_FONT_BACKEND
10013 conditionals. Don't check enable_font_backend. Delete all codes
10014 used only when USE_FONT_BACKEND is not defined.
10015 (xic_create_xfontset): Original code deleted and renamed from
10016 xic_create_xfontset2. Use FRAME_FONT, not FRAME_FONT_OBJECT.
10017 (x_make_gc): Don't set GCFont in GCs.
10018 (Fx_create_frame) [USE_LUCID]: Set xlwmenu_default_font to a font
10019 opened by "fixed".
10020 (syms_of_xfns): Don't set get_font_info_func, load_font_func,
10021 find_ccl_program_func, query_font_func, set_frame_fontset_func,
10022 get_font_repertory_func.
10023
10024 * xfont.c: Include <stdlib.h> and "ccl.h".
10025 (struct xfont_info): New structure.
10026 (xfont_query_font): Deleted.
10027 (xfont_find_ccl_program): Renamed from x_find_ccl_program and
10028 moved from xterm.c.
10029 (xfont_driver): Adjusted for the change of struct font_driver.
10030 (compare_font_names): New function.
10031 (xfont_list_pattern): Sort font names case insensitively. Make
10032 font_entity by calling font_make_entity. Avoid auto-scaled fonts.
10033 (xfont_list): Return a list, not vector.
10034 (xfont_match): If the font doesn't have QCname property, generate
10035 a name from the other font properties.
10036 (xfont_open): Return a font-object. Adjusted for the change of
10037 struct font. Get underline_thickness and underline_position from
10038 font property. Don't update dpyinfo->smallest_font_height and
10039 dpyinfo->smallest_char_width.
10040 (xfont_close): Don't free struct font.
10041 (xfont_prepare_face): Adjusted for the change of struct font.
10042 (xfont_done_face): Deleted.
10043 (xfont_has_char): Adjusted for the change of struct font.
10044 (xfont_encode_char, xfont_draw): Likewise.
10045 (xfont_check): New function.
10046
10047 * xftfont.c (xftfont_list): Adjusted for the change of `list'
10048 callback function.
10049 (xftfont_match): Adjusted for the format change of font-entity.
10050 (xftfont_open): Adjusted for the format change of font-entity and
10051 font-object. Adjusted for the change of struct font. Return a
10052 font-object. Don't update dpyinfo->smallest_font_height and
10053 dpyinfo->smallest_char_width.
10054 (xftfont_close): Block input while calling XftFontClose.
10055 (xftfont_prepare_face): Don't block input while calling
10056 xftfont_get_colors. Adjusted for the change of struct font.
10057 (xftfont_shape): Return value of error case fixed.
10058
10059 * xrdb.c (x_load_resources): Don't setup a fontset resource.
10060
10061 * xterm.h: Throughout the file, delete all USE_FONT_BACKEND
10062 conditionals.
10063 (FONT_WIDTH): Return (f)->max_width.
10064 (struct x_display_info): Delete member `font'.
10065 (x_list_fonts, x_get_font_info, x_load_font, x_query_font)
10066 (x_find_ccl_program, x_get_font_repertory): Delete externs.
10067 (struct x_output): Change type of `font' to `struct font *'.
10068
10069 * xterm.c: Throughout the file, delete all USE_FONT_BACKEND
10070 conditionals. Don't check enable_font_backend. Delete all codes
10071 used only when USE_FONT_BACKEND is not defined. Don't include ccl.h.
10072 (x_per_char_metric, x_encode_char): Deleted.
10073 (x_set_cursor_gc, x_set_mouse_face_gc): Don't set GCFont.
10074 (x_compute_glyph_string_overhangs): Adjusted for the change of
10075 `struct face'.
10076 (x_draw_glyph_string_foreground)
10077 (x_draw_composite_glyph_string_foreground): Likewise.
10078 (x_draw_glyph_string): Likewise. Use font->underline_position and
10079 font->underline_thickness.
10080 (x_new_font): Renamed from x_new_fontset2.
10081 (x_new_fontset, x_get_font_info, x_list_fonts): Deleted.
10082 (x_check_font): Call `check' method of a font driver.
10083 (x_font_min_bounds, x_compute_min_glyph_bounds, x_load_font)
10084 (x_query_font, x_get_font_repertory): Deleted.
10085 (x_find_ccl_program): Renamed and moved to xfont.c.
10086 (x_redisplay_interface): Adjusted for the change of `struct
10087 redisplay_interface'.
10088
10089 * w32fns.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. Surround non-used
10092 code by "#ifdef OLD_FONT" and "endif".
10093 (Fw32_select_font): Use FONT_COMPAT to get old font structure.
10094
10095 * w32font.h (struct w32font_info): New member.
10096 (FONT_COMPAT): New macro.
10097 (w32font_open_internal): Prototype adjusted.
10098
10099 * w32gui.h (XGCValues): Surround `XFontStruct *font' by "if
10100 OLD_FONT" and "endif".
10101
10102 * w32font.c: Throughout the file, delete all USE_FONT_BACKEND
10103 conditionals. Don't check enable_font_backend. Delete all codes
10104 used only when USE_FONT_BACKEND is not defined.
10105 (w32font_open): Return a font-object. Make a font-object by
10106 font_make_object. Adjusted for the change of struct w32font_info.
10107 (w32font_close): Don't free struct font. Adjusted for the change
10108 of struct w32font_info.
10109 (w32font_encode_char, w32font_text_extents, w32font_draw):
10110 Adjusted for the change of struct w32font_info.
10111 (w32font_draw): Likewise.
10112 (w32font_list_internal): Return a list, not vector.
10113 (w32font_open_internal): Change the 4th arg to font-object.
10114 Adjusted for the change of struct w32font_info and font-object format.
10115 (add_font_name_to_list): Don't downcase names.
10116 (w32_enumfont_pattern_entity): Make a font-entity by
10117 font_make_entity. Adjusted for the format change of font-entity.
10118 Use FONT_SET_STYLE to set a style-related font property. If a
10119 font is scalable, set avgwidth property to 0. Set font-entity
10120 property by font_put_extra.
10121 (font_matches_spec): Adjusted for the format change of font-entity.
10122 (w32_weight_table, w32_decode_weight): New variables.
10123 (w32_encode_weight): New function.
10124 (fill_in_logfont): Adjusted for the format change of font-spec.
10125 (w32font_full_name): Use FONT_WEIGHT_SYMBOLIC to get a symbol
10126 weight value.
10127 (w32font_driver): Adjusted for the change of struct font_driver.
10128
10129 * w32term.h: Throughout the file, delete all USE_FONT_BACKEND
10130 conditionals. Don't check enable_font_backend. Surround non-used
10131 code by "#ifdef OLD_FONT" and "endif".
10132 (FONT_WIDTH, FONT_HEIGHT, FONT_BASE, FONT_DESCENT)
10133 (FONT_AVG_WIDTH): Adjusted for the change of struct font.
10134
10135 * w32term.c: Throughout the file, delete all USE_FONT_BACKEND
10136 conditionals. Don't check enable_font_backend. Delete all codes
10137 used only when USE_FONT_BACKEND is not defined. Surround non-used
10138 code by "#ifdef OLD_FONT" and "endif".
10139
10140 * w32uniscribe.c: Delete USE_FONT_BACKEND conditional.
10141 (uniscribe_open): Return value changed to font-object.
10142 Adjusted for the format change of font-object.
10143 (uniscribe_otf_capability): Adjusted for the change of struct font.
10144 (add_opentype_font_name_to_list): Don't downcase names.
10145 (uniscribe_font_driver): Adjusted for the change of struct
10146 font_driver.
10147
10148 2008-05-13 Chong Yidong <cyd@stupidchicken.com>
10149
10150 * dispnew.c (update_frame_1): Check if tty output is still valid
10151 before flushing it.
10152
10153 2008-05-13 Jan Djärv <jan.h.d@swipnet.se>
10154
10155 * xterm.c (handle_one_xevent): Don't pass buttons higher than 3
10156 to Gtk+ menus.
10157
10158 2008-05-13 Stefan Monnier <monnier@iro.umontreal.ca>
10159
10160 * dired.c (file_name_completion): Tweak the code so as to always do it
10161 in a single pass. Tighten the scope of some variables.
10162
10163 * dired.c (Qdefault_directory): New var.
10164 (file_name_completion): Use it instead of Fexpand_file_name.
10165 (syms_of_dired): Initialize it.
10166
10167 2008-05-12 Stefan Monnier <monnier@iro.umontreal.ca>
10168
10169 * fileio.c (double_dollars): Remove dead code.
10170
10171 2008-05-10 Eli Zaretskii <eliz@gnu.org>
10172
10173 * dired.c (Ffile_attributes, Fdirectory_files_and_attributes):
10174 Mention w32-get-true-file-attributes in doc string.
10175
10176 * w32proc.c (syms_of_ntproc) <w32-get-true-file-attributes>: Doc fix.
10177
10178 2008-05-09 Glenn Morris <rgm@gnu.org>
10179
10180 * fileio.c (Fread_file_name): Remove reference to insdef, deleted
10181 2008-04-23.
10182
10183 2008-05-09 Eli Zaretskii <eliz@gnu.org>
10184
10185 Support for reporting owner and group of each file on MS-Windows:
10186 * dired.c (stat_uname, stat_gname): New functions, with special
10187 implementation for w32.
10188 (Ffile_attributes): Use them instead of getpwuid and getgrgid.
10189
10190 * w32.c: Rename the_passwd_* to dflt_passwd_*.
10191 (dflt_group_name): New static variable.
10192 (dflt_group): Rename from the_group.
10193 (init_user_info): Init dflt_group fields. Get user's group name
10194 from LookupAccountSid.
10195 (g_b_init_get_file_security, g_b_init_get_security_descriptor_owner)
10196 (g_b_init_get_security_descriptor_group, g_b_init_is_valid_sid):
10197 New initialization states.
10198 (globals_of_w32): Initialize them to zero. Initialize the default
10199 group name to "None".
10200 (GetFileSecurity_Name): New global var, the name of the function
10201 to call for GetFileSecurity.
10202 (GetFileSecurity_Proc, GetSecurityDescriptorOwner_Proc)
10203 (GetSecurityDescriptorGroup_Proc, IsValidSid_Proc): New typedefs.
10204 (get_file_security, get_security_descriptor_owner)
10205 (get_security_descriptor_group, is_valid_sid)
10206 (get_file_security_desc, get_rid, get_name_and_id)
10207 (get_file_owner_and_group): New functions.
10208 (stat): Use get_file_security_desc and get_file_owner_and_group to
10209 report the owner and primary group of each file. Don't ignore the
10210 high 32 bits of file's size, now that st_size is 64-bit wide.
10211 Fix test when to get true file attributes.
10212 (init_user_info): Use get_rid instead of equivalent inline code.
10213 (fstat): Don't ignore the high 32 bits of file's size.
10214
10215 2008-05-09 Chong Yidong <cyd@stupidchicken.com>
10216
10217 * image.c (png_load): Use correct bit-depth for setting background
10218 color.
10219
10220 2008-05-08 Eli Zaretskii <eliz@gnu.org>
10221
10222 * Makefile.in (lisp, shortlisp): Rename epa-file-hook.elc to
10223 epa-hook.elc.
10224
10225 2008-05-08 Juanma Barranquero <lekktu@gmail.com>
10226
10227 * font.c (Ffont_match_p): Don't use `iff' in docstring.
10228
10229 2008-05-07 Dan Nicolaescu <dann@ics.uci.edu>
10230
10231 * macfns.c (Fx_create_frame): Make a copy of frame parameters
10232 because the original parameters are in pure storage now.
10233 (mac_window): Remove unused params. Update callers.
10234
10235 2008-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
10236
10237 * lread.c (substitute_object_recurse): Use lower-level primitives.
10238 Don't signal errors when traversing sub-char-tables.
10239 Don't loop over all the possible characters when traversing char-tables.
10240
10241 * print.c (print_preprocess): Add sub-char-tables to the print-table,
10242 just like we do in print.c.
10243
10244 2008-05-05 Stefan Monnier <monnier@iro.umontreal.ca>
10245
10246 * minibuf.c (Ftry_completion): Remove code left over from when we used
10247 scmp instead of Fcompare_strings.
10248
10249 2008-05-04 Juanma Barranquero <lekktu@gmail.com>
10250
10251 * w32fns.c (Fw32_battery_status): Fix computation of %t (h:min) format.
10252
10253 2008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10254
10255 * image.c [USE_MAC_IMAGE_IO] (image_load_image_io):
10256 Create bitmap context in native byte order.
10257
10258 * macterm.c (XDrawLine)
10259 (XCreatePixmapFromBitmapData) [USE_MAC_IMAGE_IO]: Create bitmap
10260 context in native byte order.
10261
10262 2008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10263
10264 * config.in: Regenerate.
10265
10266 * image.c (PIX_MASK_DRAW, PIX_MASK_RETAIN) [USE_MAC_IMAGE_IO]:
10267 New definitions for Image I/O support.
10268 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
10269 (mac_create_cg_image_from_image, x_create_x_image_and_pixmap)
10270 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
10271 (mac_data_provider_release_data, image_load_image_io)
10272 [USE_MAC_IMAGE_IO]: New functions.
10273 (CGImageCreateWithPNGDataProviderProcType) [MAC_OSX]: Remove typedef.
10274 (MyCGImageCreateWithPNGDataProvider) [MAC_OSX]: Remove variable.
10275 (init_image_func_pointer) [MAC_OSX]: Remove function.
10276 (image_load_quartz2d) [MAC_OSX]: Check availability of
10277 CGImageCreateWithPNGDataProvider at compile time.
10278 Use lowercase `false' for boolean constant.
10279 (png_load, jpeg_load, tiff_load, gif_load) [USE_MAC_IMAGE_IO]:
10280 Use image_load_image_io.
10281 (png_load) [!USE_MAC_IMAGE_IO && MAC_OSX]:
10282 Don't check MyCGImageCreateWithPNGDataProvider.
10283 (init_image) [MAC_OSX && TARGET_API_MAC_CARBON]:
10284 Don't call init_image_func_pointer.
10285
10286 * macgui.h (Pixmap) [USE_MAC_IMAGE_IO]: New definition for Image I/O.
10287
10288 * macterm.c (mac_cg_color_space_rgb) [USE_CG_DRAWING]:
10289 Make variable non-static.
10290 (XDrawLine, XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
10291 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
10292
10293 * macterm.h (ARGB_TO_ULONG, ALPHA_FROM_ULONG): New macros.
10294 (RED_FROM_ULONG): Mask off higher bits.
10295 (mac_cg_color_space_rgb) [USE_MAC_IMAGE_IO]: New extern.
10296
10297 * s/darwin.h [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
10298 Include AvailabilityMacros.h.
10299 (USE_MAC_IMAGE_IO, LIBS_IMAGE) [HAVE_CARBON]: New defines.
10300 (LIBS_CARBON) [HAVE_CARBON]: Use LIBS_IMAGE.
10301
10302 2008-05-03 Stefan Monnier <monnier@iro.umontreal.ca>
10303
10304 * chartab.c (Fset_char_table_range): If range is t, really set all
10305 chars to that value.
10306
10307 2008-05-03 Eli Zaretskii <eliz@gnu.org>
10308
10309 * dired.c (Ffile_attributes): Don't allow the device number become
10310 negative.
10311
10312 2008-05-02 Daiki Ueno <ueno@unixuser.org>
10313
10314 * Makefile.in (lisp, shortlisp): Add epa-file-hook.elc.
10315
10316 2008-05-02 Juri Linkov <juri@jurta.org>
10317
10318 * minibuf.c (Fread_from_minibuffer, Fread_string, Fread_command)
10319 (Fread_variable, Fread_buffer, Fcompleting_read): Document the
10320 DEFAULT argument as a list of default values in docstrings.
10321
10322 2008-05-01 Chong Yidong <cyd@stupidchicken.com>
10323
10324 * puresize.h (BASE_PURESIZE): Increase to 1210000.
10325
10326 2008-05-01 Martin Rudalics <rudalics@gmx.at>
10327
10328 * dispnew.c (change_frame_size_1): Preserve small windows when
10329 shrinking frames by calling set_window_height|width with third
10330 arg 2.
10331
10332 * window.h (struct window): Replace field too_small_ok by field
10333 resize_proportionally.
10334
10335 * window.c (make_window): Initialize resize_proportionally.
10336 (enlarge_window): Temporarily set resize_proportionally to make
10337 sure that shrink_windows does scale the window proportionally.
10338 (shrink_windows): When window has resize_proportionally set try
10339 to shrink it proportionally by stealing from other windows.
10340 (struct saved_window, Fset_window_configuration)
10341 (compare_window_configurations): Handle resize_proportionally.
10342 (WINDOW_TOTAL_SIZE): New macro.
10343 (window_min_size, shrink_windows, size_window): Use it.
10344 (check_min_window_sizes): Remove. Invalid values of
10345 window-min-height|width are handled by window_min_size_2 now.
10346 (size_window, Fsplit_window, enlarge_window)
10347 (adjust_window_trailing_edge, grow_mini_window): Don't call
10348 check_min_window_sizes.
10349 (window_min_size_2, window_min_size_1, window_min_size):
10350 New argument safe_p for retrieving "safe" minimum sizes.
10351 (Fdisplay_buffer, Fsplit_window, enlarge_window)
10352 (adjust_window_trailing_edge, grow_mini_window):
10353 Adjust arguments of window_min_size... functions.
10354 (shrink_windows): Argument min_size removed. New argument
10355 safe_p allows shrinking windows to their safe minimum sizes.
10356 Calculate minimum size and decide whether a window shall be
10357 deleted for each window individually.
10358 (size_window): When nodelete_p equals 2, tell shrink_windows to
10359 delete windows only if their new minimum size is no more safe.
10360 (shrink_window_lowest_first): Call window_min_size_1 to make
10361 sure to preserve modeline of bottom-most window when resizing
10362 the minibuffer.
10363 (Fset_window_configuration, Fcurrent_window_configuration)
10364 (compare_window_configurations): Do not handle
10365 window-min-height|width any more.
10366 (syms_of_window): Clarify window-min-height|width doc-strings.
10367
10368 2008-04-30 Stefan Monnier <monnier@iro.umontreal.ca>
10369
10370 * dired.c (file_name_completion): Fix up the encoding/decoding issue
10371 some more. Copy some of the code from Ftry_completions.
10372 Remove special case code that dates back to initial revision when the
10373 slash was only added when necessary and that can't trigger nowadays.
10374
10375 2008-04-27 Kenichi Handa <handa@m17n.org>
10376
10377 * font.c (font_prop_validate): Signal `error' instead of `font'.
10378
10379 2008-04-29 Jason Rumney <jasonr@gnu.org>
10380
10381 * w32fns.c (Fw32_battery_status): New defun.
10382 (syms_of_w32fns): Defsubr it.
10383
10384 2008-04-28 Andreas Schwab <schwab@suse.de>
10385
10386 * dired.c (file_name_completion): Fix another mixing of encoded
10387 and decoded names.
10388
10389 2008-04-28 Juanma Barranquero <lekktu@gmail.com>
10390
10391 * w32fns.c (Fw32_define_rgb_color): Fix typo in docstring.
10392
10393 2008-04-27 Juanma Barranquero <lekktu@gmail.com>
10394
10395 * fringe.c (Fdefine_fringe_bitmap): Doc fix.
10396
10397 2008-04-27 Andreas Schwab <schwab@suse.de>
10398
10399 * dired.c (file_name_completion): Fix inappropriate mixing of
10400 encoded and decoded names.
10401
10402 * xterm.c (XTread_socket): Fix use of uninitialized variable.
10403
10404 * puresize.h (BASE_PURESIZE): Increase to 1200000.
10405
10406 2008-04-26 Eli Zaretskii <eliz@gnu.org>
10407
10408 * dired.c (Ffile_attributes) [WINDOWSNT]: Undo change from
10409 2008-03-31, it's not needed anymore with `struct stat' definition
10410 on nt/inc/sys/stat.h. Undo changes from 2007-01-12 and 2007-01-13
10411 for the same reasons.
10412
10413 2008-04-25 Dennis Gilmore <ausil@fedoraproject.org> (tiny change)
10414
10415 * m/sparc.h: Additional redefinitions for GNU/Linux.
10416
10417 2008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10418
10419 * macterm.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
10420 (syms_of_macterm) [USE_MAC_TSM]: Defvar it.
10421 (Qmouse_drag_overlay) [MAC_OSX]: New variable.
10422 (syms_of_macterm) [MAC_OSX]: Intern and staticpro it.
10423 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
10424 (mac_ax_selected_text_range) [MAC_OSX]: New functions.
10425 (mac_ax_number_of_characters) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
10426 Likewise.
10427
10428 * mactoolbox.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: Add extern.
10429 (fast_find_position, x_y_to_hpos_vpos, mac_ax_selected_text_range)
10430 (mac_ax_number_of_characters): Add externs.
10431 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
10432 [USE_MAC_TSM]: Likewise.
10433 (mac_handle_text_input_event) [MAC_OSX]:
10434 Handle kEventTextInputOffsetToPos for no active input area case.
10435 Handle kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
10436 (mac_handle_document_access_event)
10437 [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: New function.
10438 (install_application_handler) [MAC_OSX]: Register handlers for
10439 kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
10440 (install_application_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
10441 Register mac_handle_document_access_event.
10442
10443 * xdisp.c (x_y_to_hpos_vpos, fast_find_position) [HAVE_CARBON]:
10444 Make functions non-static.
10445
10446 2008-04-23 Stefan Monnier <monnier@iro.umontreal.ca>
10447
10448 * fileio.c (Vread_file_name_function, Vread_file_name_predicate)
10449 (read_file_name_completion_ignore_case, insert_default_directory)
10450 (Qdefault_directory): Move to minibuffer.el.
10451 (Fread_file_name): Call the new `read-file-name' instead.
10452
10453 2008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10454
10455 * mac.c (create_apple_event) [TARGET_API_MAC_CARBON]:
10456 Make function non-static.
10457 (create_apple_event_from_event_ref) [TARGET_API_MAC_CARBON]:
10458 Remove function.
10459 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
10460 Move to mactoolbox.c.
10461 (mac_event_parameters_to_lisp) [TARGET_API_MAC_CARBON]: New function.
10462
10463 * macgui.h (CGFloat) [!CGFLOAT_DEFINED]: New typedef.
10464 (mac_rect_make): New macro.
10465
10466 * macterm.c (mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
10467 instead of float.
10468 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
10469 (init_cg_color, mac_draw_line, mac_draw_cg_image, XSetForeground)
10470 (XSetBackground) [USE_CG_DRAWING]: Likewise.
10471 (mac_draw_image_string_atsui) [MAC_OSX]: Use mac_rect_make instead of
10472 CGRectMake.
10473 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
10474 (mac_erase_rectangle, mac_draw_cg_image, mac_fill_rectangle)
10475 (mac_set_clip_rectangles) [USE_CG_DRAWING]: Likewise.
10476 (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
10477 instead of WindowRef in argument type.
10478 (XCreatePixmap) [!MAC_OS8]: Don't call SetPortWindowPort.
10479 (mac_invert_rectangle): Use CGContextSetBlendMode if available.
10480 (mac_set_clip_rectangles, mac_reset_clip_rectangles): Take argument F
10481 instead of DISPLAY. All uses changed.
10482 (mac_handle_size_change): Don't call SET_FRAME_GARBAGED.
10483 (x_calc_absolute_position): Simplify so as not to use
10484 FRAME_PIXEL_WIDTH/FRAME_PIXEL_HEIGHT.
10485
10486 * macterm.h (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
10487 instead of WindowRef in argument type.
10488 (create_apple_event_from_event_ref, create_apple_event_from_drag_ref)
10489 [TARGET_API_MAC_CARBON]: Remove externs.
10490 (create_apple_event, mac_event_parameters_to_lisp)
10491 [TARGET_API_MAC_CARBON]: Add externs.
10492
10493 * mactoolbox.c (Vmac_ts_script_language_on_focus)
10494 (saved_ts_script_language_on_focus) [USE_MAC_TSM]: Remove externs.
10495 (XTread_socket) [USE_MAC_TOOLBAR]: Select window if its structure part
10496 is clicked.
10497 (x_activate_menubar): Remove extern for saved_menu_event_location.
10498 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
10499 Move from mac.c.
10500
10501 2008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10502
10503 * alloc.c [!SYSTEM_MALLOC && !SYNC_INPUT] (uninterrupt_malloc)
10504 [HAVE_GTK_AND_PTHREAD && !DOUG_LEA_MALLOC]: Don't use recursive mutex.
10505
10506 2008-04-23 Jason Rumney <jasonr@gnu.org>
10507
10508 * w32.c (stat): When Vw32_get_true_file_attributes is Qlocal, get
10509 attributes only for local files.
10510
10511 * w32proc.c (syms_of_ntproc): Change Vw32_get_true_file attributes
10512 default to Qlocal.
10513
10514 2008-04-22 Juri Linkov <juri@jurta.org>
10515
10516 * buffer.c (Fswitch_to_buffer): Change interactive spec to call
10517 read-buffer-to-switch instead of using the letter "B".
10518
10519 2008-04-21 Stefan Monnier <monnier@iro.umontreal.ca>
10520
10521 * fileio.c (Qdefault_directory): New variable.
10522 (Fread_file_name): Use it to pass `dir' to the completion functions.
10523
10524 2008-04-20 Chong Yidong <cyd@stupidchicken.com>
10525
10526 * xdisp.c (pos_visible_p): Check if iterator stops on a display string.
10527
10528 2008-04-19 Stefan Monnier <monnier@iro.umontreal.ca>
10529
10530 * keyboard.c (Vpre_help_message): Remove.
10531 (show_help_echo): Remove default C code.
10532
10533 * dired.c (directory_files_internal, file_name_completion):
10534 Only call ENCODE_FILE if the string is indeed decoded.
10535
10536 2008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
10537
10538 * Makefile.in (TOOLKIT_DEFINES): Remove.
10539 (LIBW): Use a bit less #if, remove left over OPEN_LOOK stuff.
10540
10541 2008-04-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10542
10543 * Makefile.in (MAC_OBJ): Add mactoolbox.o.
10544 (mactoolbox.o): New target.
10545
10546 * mac.c [MAC_OSX] (select_and_poll_event, sys_select):
10547 Use mac_run_loop_run_once instead of CFRunLoopRunInMode.
10548
10549 * macfns.c (x_set_background_color, mac_window, x_create_tip_frame):
10550 Use mac_set_frame_window_background instead of XSetWindowBackground.
10551 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]:
10552 Use mac_is_window_toolbar_visible instead of IsWindowToolbarVisible.
10553 (x_set_name_internal) [TARGET_API_MAC_CARBON]: Use mac_set_window_title
10554 instead of SetWindowTitleWithCFString.
10555 (mac_update_proxy_icon) [TARGET_API_MAC_CARBON]: Remove BLOCK_INPUT.
10556 Move function to mactoolbox.c.
10557 (mac_update_title_bar) [TARGET_API_MAC_CARBON]:
10558 Use mac_set_window_modified instead of SetWindowModified.
10559 Add BLOCK_INPUT around mac_set_window_modified/mac_update_proxy_icon.
10560 (mac_window, x_create_tip_frame): Use mac_create_frame_window.
10561 (Fx_focus_frame): Use mac_front_non_floating_window instead of
10562 FrontNonFloatingWindow. Use mac_activate_window instead of
10563 ActivateWindow. Use mac_active_non_floating_window instead of
10564 ActiveNonFloatingWindow.
10565 (show_hourglass, hide_hourglass) [TARGET_API_MAC_CARBON]:
10566 Use mac_show_hourglass and mac_hide_hourglass.
10567 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use mac_get_global_mouse
10568 instead of GetGlobalMouse.
10569 (Fx_show_tip): Use mac_move_window/mac_size_window/mac_show_window
10570 instead of MoveWindow/SizeWindow/ShowWindow, respectively.
10571 Use mac_bring_window_to_front instead of BringToFront.
10572 (Qfile_name_history) [TARGET_API_MAC_CARBON]: Move extern to
10573 mactoolbox.c.
10574 (Fx_file_dialog) [TARGET_API_MAC_CARBON]: Move function body to
10575 mac_file_dialog in mactoolbox.c. Use mac_file_dialog.
10576 (mac_nav_event_callback) [TARGET_API_MAC_CARBON]: Move function to
10577 mactoolbox.c.
10578
10579 * macgui.h [!HAVE_CARBON]: Include Quickdraw.h instead of QuickDraw.h.
10580 (XtPointer): Move typedef from macmenu.c.
10581 (enum button_type): Move enum from macmenu.c.
10582 (widget_value): Move typedef from macmenu.c.
10583 (M_APPLE, I_ABOUT, EXTRA_STACK_ALLOC, ARGV_STRING_LIST_ID)
10584 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
10585 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
10586 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
10587 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
10588 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
10589 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
10590 (DIALOG_ICON_TOP_MARGIN): Move defines from macmenu.c.
10591 (Selection): Move typedef from macselect.c.
10592 (RAM_TOO_LARGE_ALERT_ID, ABOUT_ALERT_ID) [MAC_OS8]: Move defines from
10593 macterm.c.
10594 (mac_set_window_title, mac_set_window_modified, mac_is_window_visible)
10595 (mac_is_window_collapsed, mac_bring_window_to_front)
10596 (mac_send_window_behind, mac_hide_window, mac_show_window)
10597 (mac_collapse_window, mac_front_non_floating_window)
10598 (mac_active_non_floating_window, mac_activate_window)
10599 (mac_move_window_structure, mac_move_window, mac_size_window)
10600 (mac_get_global_mouse, mac_is_window_toolbar_visible): New defines.
10601
10602 * macmenu.c [!TARGET_API_MAC_CARBON]: Move includes to mactoolbox.c.
10603 (enum mac_menu_kind): Move enum to mactoolbox.c.
10604 (min_menu_id): Move variable to mactoolbox.c.
10605 (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]: Likewise.
10606 (DIALOG_WINDOW_RESOURCE): Move define to mactoolbox.c.
10607 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
10608 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
10609 [TARGET_API_MAC_CARBON]: Likewise.
10610 (XtPointer): Move typedef to macgui.h.
10611 (enum button_type): Move enum to macgui.h.
10612 (widget_value): Move typedef to macgui.h.
10613 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
10614 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
10615 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
10616 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
10617 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
10618 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
10619 (DIALOG_ICON_TOP_MARGIN): Move defines to macgui.h.
10620 (popup_activated_flag): Make variable non-static.
10621 (x_activate_menubar, install_menu_quit_handler, pop_down_menu)
10622 (add_menu_item, fill_menu, dispose_menus):
10623 Move functions to mactoolbox.c.
10624 (restore_show_help_function, menu_target_item_handler)
10625 (install_menu_target_item_handler, mac_handle_dialog_event)
10626 (install_dialog_event_handler, pop_down_dialog, create_and_show_dialog)
10627 [TARGET_API_MAC_CARBON]: Likewise.
10628 (menu_quit_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: Likewise.
10629 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
10630 (find_and_call_menu_selection, name_is_separator): Make function
10631 non-static.
10632 (Vshow_help_function, timer_check) [TARGET_API_MAC_CARBON]: Move extern
10633 to mactoolbox.c.
10634 (set_frame_menubar): Don't call install_menu_quit_handler.
10635 (menu_item_selection): New variable.
10636 (mac_menu_show): Use create_and_show_popup_menu.
10637 (create_and_show_dialog) [TARGET_API_MAC_CARBON]: Don't return
10638 selection but set variable menu_item_selection. All uses changed.
10639 (mac_fill_menubar): Rename from fill_menubar. All uses changed.
10640 Call install_menu_quit_handler. Move to mactoolbox.c.
10641
10642 * macselect.c [!TARGET_API_MAC_CARBON]: Don't include Scrap.h.
10643 (Selection): Move typedef to macgui.h.
10644 (Vselection_converter_alist, Qmac_scrap_name, Qmac_ostype)
10645 (Vmac_apple_event_map, Qmac_apple_event_class, Qmac_apple_event_id):
10646 Make variables non-static.
10647 (Vmac_dnd_known_types) [TARGET_API_MAC_CARBON]: Likewise.
10648 (mac_handle_apple_event, cleanup_all_suspended_apple_events):
10649 Make functions non-static.
10650 (Vmac_service_selection) [MAC_OSX]: Likewise.
10651 (mac_get_selection_from_symbol, get_flavor_type_from_symbol)
10652 (mac_valid_selection_target_p, mac_clear_selection)
10653 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
10654 (mac_put_selection_value, mac_selection_has_target_p)
10655 (mac_get_selection_value, mac_get_selection_target_list)
10656 (init_apple_event_handler, install_drag_handler, remove_drag_handler):
10657 Move functions to mactoolbox.c.
10658 (mac_do_track_drag, mac_do_receive_drag) [TARGET_API_MAC_CARBON]:
10659 Likewise.
10660 (copy_scrap_flavor_data, mac_handle_service_event)
10661 (install_service_handler) [MAC_OSX]: Likewise.
10662 (syms_of_macselect) <Vmac_dnd_known_types>:
10663 Use mac_dnd_default_known_types.
10664
10665 * macterm.h (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y):
10666 Move to mactoolbox.c.
10667 (HOURGLASS_WIDTH, HOURGLASS_HEIGHT): Change to 15.
10668 (Fx_selection_owner_p): Add EXFUN.
10669 (install_window_handler, remove_window_handler, XSetWindowBackground):
10670 Remove externs.
10671 (do_apple_menu) [!TARGET_API_MAC_CARBON]: Likewise.
10672 (mac_prepare_for_quickdraw) [USE_CG_DRAWING]: Likewise.
10673 (x_raise_frame, x_lower_frame, mac_alert_sound_play)
10674 (install_application_handler, mac_get_frame_bounds, mac_get_frame_mouse)
10675 (mac_convert_frame_point_to_global, mac_set_frame_window_background)
10676 (mac_update_begin mac_update_end, mac_frame_up_to_date, x_flush)
10677 (mac_create_frame_window, mac_dispose_frame_window, mac_begin_clip)
10678 (mac_end_clip, mac_create_scroll_bar, mac_dispose_scroll_bar)
10679 (mac_set_scroll_bar_bounds, mac_redraw_scroll_bar, mac_fill_menubar)
10680 (create_and_show_popup_menu, mac_get_selection_from_symbol)
10681 (mac_valid_selection_target_p, mac_clear_selection)
10682 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
10683 (mac_put_selection_value, mac_selection_has_target_p)
10684 (mac_get_selection_value, mac_get_selection_target_list): Add externs.
10685 (mac_update_proxy_icon, mac_show_hourglass, mac_hide_hourglass)
10686 (mac_reposition_hourglass, mac_file_dialog, create_and_show_dialog)
10687 (mac_dnd_default_known_types) [TARGET_API_MAC_CARBON]: Likewise.
10688 (mac_run_loop_run_once) [MAC_OSX]: Likewise.
10689 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
10690 (mac_begin_cg_clip, mac_end_cg_clip) [USE_CG_DRAWING]: Likewise.
10691 (x_set_toolkit_scroll_bar_thumb) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
10692 (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
10693
10694 * mactoolbox.c: New file.
10695
10696 2008-04-18 Jason Rumney <jasonr@gnu.org>
10697
10698 * dired.c (Ffile_attributes) [WINDOWSNT]: Cast uid and gid to unsigned.
10699
10700 2008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
10701
10702 * character.c (Fmultibyte_char_to_unibyte):
10703 Return latin1 chars unchanged.
10704
10705 * fileio.c (Fexpand_file_name): Refine last fix so `nm' is only
10706 relocated if it points to `name'.
10707
10708 2008-04-17 Kenichi Handa <handa@m17n.org>
10709
10710 * data.c (Faset): Allow setting a multibyte character in an
10711 ASCII-only unibyte string.
10712
10713 * lisp.h (STRING_SET_MULTIBYTE): New macro.
10714
10715 2008-04-16 Stefan Monnier <monnier@iro.umontreal.ca>
10716
10717 * Makefile.in: Don't use HAVE_GTK and don't -DUSE_GTK since it's now
10718 done in config.h.
10719
10720 2008-04-16 Juanma Barranquero <lekktu@gmail.com>
10721
10722 * character.c (Fchar_bytes, Fchar_width, Fstring_width)
10723 (Fchar_direction): Add usage in the docstring.
10724
10725 2008-04-15 Chong Yidong <cyd@stupidchicken.com>
10726
10727 * keyboard.c (read_key_sequence): Remove always-true checks.
10728
10729 2008-04-14 Jason Rumney <jasonr@gnu.org>
10730
10731 * w32font.c (w32font_open_internal): Set max_bounds.descent in
10732 compatibility struct, for better underline positioning.
10733
10734 2008-04-13 David Hansen <david.hansen@gmx.net>
10735
10736 * dbusbind.c (dbus-get-unique-name): Remove extra copying of name
10737 string.
10738
10739 2008-04-12 Dan Nicolaescu <dann@ics.uci.edu>
10740
10741 * m/hp800.h (XUINT, XSET): Remove.
10742
10743 2008-04-12 Juanma Barranquero <lekktu@gmail.com>
10744
10745 * fileio.c (Fexpand_file_name): Add declaration for `p' missing in
10746 previous change.
10747
10748 2008-04-12 Stefan Monnier <monnier@iro.umontreal.ca>
10749
10750 * fileio.c (Fexpand_file_name): Tighten the scope of `p' and `o' vars.
10751 Relocate `nm' after calling DECODE_FILE, in case the GC was run.
10752
10753 2008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
10754
10755 * keymap.h (map_keymap_canonical): Declare.
10756 * xmenu.c (single_keymap_panes): Use it.
10757
10758 2008-04-11 Glenn Morris <rgm@gnu.org>
10759
10760 * eval.c (Fdefvaralias): If the alias is bound and the target is not,
10761 set the target's value to that of the alias.
10762
10763 2008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
10764
10765 * term.c (set_tty_color_mode): Left over typo.
10766
10767 2008-04-10 Michael Albinus <michael.albinus@gmx.de>
10768
10769 * fileio.c (Fmake_symbolic_link): Surround code by #ifdef S_IFLNK
10770 only after check for file name handler functions. Signal, when
10771 native functionality is not supported.
10772 (syms_of_fileio): Declare it unconditionally.
10773
10774 2008-04-10 Jason Rumney <jasonr@gnu.org>
10775
10776 * w32menu.c (is_simple_dialog, simple_dialog_show): New functions.
10777 (Fx_popup_dialog): Handle simple yes/no questions as dialogs.
10778
10779 * w32.c (logon_network_drive): Also logon to remote drives that
10780 are mapped to drive letters.
10781
10782 2008-04-10 Glenn Morris <rgm@gnu.org>
10783
10784 * xdisp.c (truncate-partial-width-windows): Doc fix.
10785
10786 2008-04-10 Stefan Monnier <monnier@iro.umontreal.ca>
10787
10788 * fileio.c (read_file_name_cleanup, Fread_file_name_internal):
10789 Move functions to minibuffer.el.
10790 (syms_of_fileio): Don't declare them.
10791
10792 2008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
10793
10794 * minibuf.c (Vcompletion_auto_help): Move to minibuffer.el.
10795 (syms_of_minibuf): Remove its initialization.
10796
10797 * minibuf.c (temp_echo_area_glyphs): Remove unused function.
10798
10799 2008-04-09 Juanma Barranquero <lekktu@gmail.com>
10800
10801 * editfns.c (Ffield_string_no_properties): Fix typo in docstring.
10802
10803 2008-04-09 Jason Rumney <jasonr@gnu.org>
10804
10805 * makefile.w32-in (distclean): Delete makefile too.
10806 (maintainer-clean): New target.
10807
10808 * xdisp.c (redisplay_internal) [!WINDOWSNT]: Conditionalize last change.
10809
10810 * w32term.c (w32_compute_glyph_string_overhangs): Compute overhangs
10811 for new font backend and composite cases.
10812
10813 2008-04-09 Jan Djärv <jan.h.d@swipnet.se>
10814
10815 * atimer.c (alarm_signal_handler): Call run_timers if not SYNC_INPUT.
10816 Most of the code moved to run_timers.
10817 (do_pending_atimers): Call run_timers.
10818 (run_timers): New function.
10819
10820 * sysdep.c (emacs_write): If SYNC_INPUT and pending_atimers,
10821 run atimers.
10822
10823 * process.c (wait_reading_process_output): The same as above.
10824
10825 2008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
10826
10827 * minibuf.c (last_exact_completion): Remove variable.
10828 (Fdelete_minibuffer_contents, do_completion, Fminibuffer_complete)
10829 (complete_and_exit_1, complete_and_exit_2)
10830 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
10831 (Fdisplay_completion_list, display_completion_list_1)
10832 (Fminibuffer_completion_help, Fself_insert_and_exit)
10833 (Fexit_minibuffer, Fminibuffer_message): Move functions to
10834 minibuffer.el.
10835 (syms_of_minibuf): Remove corresponding initializations.
10836
10837 * keyboard.c (Qdeactivate_mark): New var.
10838 (command_loop_1): Use it to call `deactivate-mark'.
10839 (syms_of_keyboard): Initialize it.
10840
10841 * xdisp.c (redisplay_internal): Reset tty's color_mode when switching
10842 to another frame.
10843 * frame.c (do_switch_frame): Refine the top_frame/async_visible code.
10844 Don't call set_tty_color_mode.
10845 (store_frame_param): Reset previous_frame rather than call
10846 set_tty_color_mode.
10847 * term.c (set_tty_color_mode): Rewrite.
10848 * dispextern.h (set_tty_color_mode): New type.
10849 * termchar.h (struct tty_display_info): Add `previous_color_mode'.
10850
10851 2008-04-08 Stefan Monnier <monnier@iro.umontreal.ca>
10852
10853 * keymap.c (access_keymap): Remove the value 2 for t_ok which was used
10854 for generic chars, which do not exist any more in emacs-unicode.
10855
10856 2008-04-08 Michael Albinus <michael.albinus@gmx.de>
10857
10858 * coding.c (detect_coding_emacs_mule)
10859 (Ffind_operation_coding_system): Fix typo.
10860
10861 2008-04-08 Jason Rumney <jasonr@gnu.org>
10862
10863 * w32uniscribe.c (SNAME): Extract only symbol name.
10864
10865 * w32font.h (struct w32_metric_cache): New struct.
10866 (w32font_info): Use it.
10867 (W32METRIC_NO_ATTEMPT, W32METRIC_SUCCESS, W32METRIC_FAIL)
10868 (CACHE_BLOCKSIZE): New constants.
10869
10870 * w32font.c (Qja, Qko, Qzh): New symbols.
10871 (syms_of_w32font): Initialise them.
10872 (font_matches_spec): Use them to filter by language.
10873 (recompute_cached_metrics): Remove function.
10874 (compute_metrics, clear_cached_metrics): New functions.
10875 (w32font_encode_char): Use them to manage metric cache.
10876 (w32font_text_extents): Cache metrics for all glyphs on demand.
10877 Delay converting glyph indices to WORD until needed.
10878 (w32font_open_internal): Initialize metric cache to empty.
10879 (registry_to_w32_charset): Charset should always be a symbol.
10880 (fill_in_logfont, list_all_matching_fonts): Family should
10881 always be a symbol.
10882
10883 2008-04-06 Jason Rumney <jasonr@gnu.org>
10884
10885 * w32uniscribe.c (uniscribe_shape): Increase items buffer size.
10886 Give up if glyph indices not supported. Use uniscribe obtained
10887 ABC widths for individual metrics. Map glyph clusters back to
10888 characters using fClusterStart flag. Return number of glyphs
10889 produced, not chars processed.
10890 (uniscribe_shape): Map char at FROM to current glyph.
10891
10892 2008-04-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10893
10894 * macmenu.c (fill_menu) [TARGET_API_MAC_CARBON]:
10895 Use SetMenuItemHierarchicalMenu.
10896
10897 2008-04-05 Jason Rumney <jasonr@gnu.org>
10898
10899 * image.c (pbm_load): Allow color values up to 65535.
10900 Throw an error if max_color_idx is outside the supported range.
10901 Report an error when image size is invalid.
10902 Read two bytes at a time when raw images have max_color_idx above 255.
10903
10904 2008-04-05 Eli Zaretskii <eliz@gnu.org>
10905
10906 * w32.c (readdir): If FindFirstFile/FindNextFile return in
10907 cFileName a file name that includes `?' characters, use the 8+3
10908 alias in cAlternateFileName instead.
10909
10910 2008-04-05 Kenichi Handa <handa@ni.aist.go.jp>
10911
10912 * ccl.c (ccl_driver): If ccl->quit_silently is nonzero, don't
10913 append "CCL: Quitted" when the CCL program is quitted.
10914 (setup_ccl_program): Initialize ccl->quit_silently to zero.
10915
10916 * ccl.h (struct ccl_program): New member quit_silently.
10917
10918 2008-04-05 Chong Yidong <cyd@stupidchicken.com>
10919
10920 * search.c (compile_pattern_1): Treat non-nil and non-string of
10921 search-spaces-regexp as nil.
10922
10923 * minibuf.c (Fassoc_string): Tweak docstring.
10924
10925 2008-04-05 Eli Zaretskii <eliz@gnu.org>
10926
10927 * dired.c (Ffile_attributes): Support inode numbers wider than 32
10928 bits. Remove ugly WINDOWSNT-specific kludge introduced on
10929 2008-03-14 to force inode be positive.
10930
10931 * w32.c (sys_chown, stat, fstat): Use S_* constants instead of
10932 _S_* ones, since we now use our own sys/stat.h.
10933 (stat, fstat): Don't mangle the inode number.
10934 (init_user_info): Don't restrict UID and GID to 0-60000 range.
10935
10936 2008-04-04 Stefan Monnier <monnier@iro.umontreal.ca>
10937
10938 * frame.h (struct frame): Give one more bit to `visible' since we use
10939 values larger than 1 to indicate obscured frames on ttys.
10940
10941 * keymap.c (Qkeymap_canonicalize): New var.
10942 (Fmap_keymap_internal): New fun.
10943 (describe_map): Use keymap-canonicalize.
10944
10945 * undo.c (last_boundary_buffer, last_boundary_position): New vars.
10946 (Fundo_boundary): Set them.
10947 (syms_of_undo): Initialize them.
10948 (record_point): Use them instead of last_point_position*.
10949 (last_undo_buffer): Change type.
10950
10951 2008-04-04 Jason Rumney <jasonr@gnu.org>
10952
10953 * w32font.c (w32font_text_extents): Use font's ascent and descent.
10954 (recompute_cached_metrics): Don't set ascent and descent per char.
10955
10956 * w32uniscribe.c (uniscribe_check_otf): Fix last change.
10957 (uniscribe_check_otf): Add GC protection before consing.
10958 Rearrange loop for counting features.
10959
10960 2008-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
10961
10962 * insdel.c (insert_from_buffer_1): Don't compare bytes in destination
10963 buffer with byte-size of source buffer.
10964
10965 2008-04-03 Chong Yidong <cyd@stupidchicken.com>
10966
10967 * callint.c (Fcall_interactively): Handle temporary region even
10968 when shift-select-mode is off.
10969
10970 2008-04-03 Jason Rumney <jasonr@gnu.org>
10971
10972 * w32uniscribe.c (uniscribe_check_otf): Sanity check otf_spec.
10973
10974 2008-04-03 Kenichi Handa <handa@m17n.org>
10975
10976 * coding.c (CATEGORY_MASK_ANY): Add CATEGORY_MASK_UTF_16_AUTO.
10977 (CATEGORY_MASK_UTF_16): Likewise.
10978 (detect_coding_utf_16): Add heuristics to reject utf-16 for a
10979 binary file.
10980 (detect_coding): Add null-byte detection for a binary file.
10981 (detect_coding_system): Likewise.
10982
10983 2008-04-03 Jason Rumney <jasonr@gnu.org>
10984
10985 * w32uniscribe.c: New file.
10986
10987 * font.h (uniscribe_font_driver) [WINDOWSNT]: Declare for w32fns.c.
10988
10989 * w32font.h (uniscribe_check_otf): Declare for w32font.c.
10990
10991 * w32font.c (Qbalinese, Qbuginese, Qbuhid, Qcuneiform, Qcypriot)
10992 (Qdeseret, Qglagolitic, Qgothic, Qhanunoo, Qkharoshthi)
10993 (Qlimbu, Qlinear_b, Qold_italic, Qold_persian, Qosmanya)
10994 (Qphags_pa, Qphoenician, Qshavian, Qsyloti_nagri)
10995 (Qtagalog, Qtagbanwa, Qtai_le, Qtifinagh, Qugaritic)
10996 (Qphonetic): New symbols.
10997 (syms_of_w32font): Initialize them.
10998 (font_supported_scripts): Use them.
10999 (w32font_list_family): List all charsets.
11000 (w32font_text_extents, recompute_cached_metrics): Fix metric
11001 calculations.
11002 (w32_enumfont_pattern_entity): Make full_type a DWORD.
11003 Give opentype fonts their own format.
11004 (font_matches_spec): New arguments backend and logfont.
11005 Handle :otf spec for uniscribe backend.
11006 (add_font_entity_to_list): Match truetype fonts in uniscribe backend.
11007 (fill_in_logfont): Use DEFAULT_CHARSET when charset not supplied.
11008
11009 * w32fns.c (Fx_create_frame): Conditionally register uniscribe
11010 font backend.
11011 (globals_of_w32fns): Initialize uniscribe font backend.
11012
11013 * makefile.w32-in (CONFIG_H): New variable. Use it to clean up
11014 dependencies.
11015 (w32uniscribe.$(O)): New file to build.
11016 (FONT_OBJ): Include w32uniscribe.$(O).
11017 (LIBS): Add uniscribe libraries.
11018
11019 * ftfont.c (ftfont_get_open_type_spec): Check spec->script, not val.
11020
11021 2008-04-02 Chong Yidong <cyd@stupidchicken.com>
11022
11023 * callint.c (Vshift_select_mode): New var.
11024 (Finteractive): Document new ^ spec.
11025 (Fcall_interactively): Call handle-shift-selection if the ^ spec
11026 is present.
11027
11028 * keyboard.c (Vthis_command_keys_shift_translated): New var.
11029 (command_loop_1): Avoid running the direct display versions of
11030 forward-char and backward-char if shift-selection may occur.
11031 (read_key_sequence): Set Vthis_command_keys_shift_translated if
11032 shift-translation takes place.
11033
11034 * buffer.c (Vtransient_mark_mode): Move docstring to simple.el to
11035 avoid clobbering by define-minor-mode.
11036
11037 * cmds.c (Fforward_char, Fbackward_char, Fforward_line)
11038 (Fbeginning_of_line, Fend_of_line): Add ^ interactive spec.
11039
11040 * syntax.c (Fforward_word): Add ^ interactive spec.
11041
11042 * window.c (Fscroll_up, Fscroll_down, Fscroll_left)
11043 (Fscroll_right): Add ^ interactive spec.
11044
11045 2008-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
11046
11047 * xdisp.c (try_window_id): Don't forget to reset delta_bytes.
11048
11049 * casefiddle.c (casify_object): Fix up int/EMACS_INT mixup.
11050
11051 * charset.c (Funibyte_charset, Fset_unibyte_charset): Remove.
11052
11053 2008-03-31 Juri Linkov <juri@jurta.org>
11054
11055 * window.c (Fdisplay_buffer): Reinitialize `tem' to nil.
11056
11057 2008-03-30 Jan Djärv <jan.h.d@swipnet.se>
11058
11059 * gtkutil.c (xg_set_geometry): Fix indentation.
11060 (xg_resize_outer_widget): Remove.
11061 (x_wm_size_hint_off): Fix indentation.
11062 (xg_frame_set_char_size): Call flush_and_sync after
11063 gtk_window_resize.
11064 (x_wm_set_size_hint): Pass NULL as geometry window to
11065 gtk_window_set_geometry_hints due to Gtk+ bug nr 68668.
11066 Add menu bar and tool bar height to base height.
11067 (xg_update_frame_menubar, free_frame_menubar)
11068 (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback)
11069 (update_frame_tool_bar, free_frame_tool_bar):
11070 Change xg_resize_outer_widget to xg_frame_set_char_size.
11071
11072 2008-03-30 Michael Albinus <michael.albinus@gmx.de>
11073
11074 * dbusbind.c (QCdbus_timeout): New D-Bus internal symbol.
11075 (Fdbus_call_method): New parameter TIMEOUT.
11076 (dbus-send-signal): Optimize UNGCPRO call.
11077
11078 2008-03-29 Juri Linkov <juri@jurta.org>
11079
11080 * window.c (Fdisplay_buffer): Move call to
11081 Vsplit_window_preferred_function out of conditions that check
11082 if window is eligible for vertical splitting.
11083 When Vsplit_window_preferred_function is non-nil, call it and use
11084 its non-nil return value as window. Otherwise, continue doing
11085 vertical splitting using Fsplit_window with arg horflag=nil.
11086 (syms_of_window) <Vsplit_window_preferred_function>: Change the
11087 default value from `split-window' to nil.
11088
11089 2008-03-29 Juri Linkov <juri@jurta.org>
11090
11091 * callint.c (Fcall_interactively): Revert 2008-03-16 change
11092 for interactive code letters 'b' and 'B'.
11093
11094 2008-03-29 Eli Zaretskii <eliz@gnu.org>
11095
11096 * fileio.c (Fexpand_file_name): Convert the value of $HOME to a
11097 multibyte string.
11098
11099 2008-03-29 Stefan Monnier <monnier@iro.umontreal.ca>
11100
11101 * keyboard.c (pending_funcalls): New var.
11102 (timer_check): Run it.
11103 (syms_of_keyboard): Initialize it.
11104 * terminal.c (Qrun_hook_with_args, Qdelete_terminal_functions)
11105 (Vdelete_terminal_functions): New vars.
11106 (syms_of_terminal): Initialize them.
11107 (Fdelete_terminal): Run delete-terminal-functions.
11108 * xdisp.c (safe_eval): Rewrite.
11109 (safe_call2): New fun.
11110 * frame.c (Qdelete_frame_functions): New var.
11111 (syms_of_frame): Initialize it.
11112 (Fdelete_frame): Use it and use safe_call2 and pending_funcalls.
11113 * lisp.h (safe_call2, pending_funcalls): Declare.
11114
11115 2008-03-28 Andreas Schwab <schwab@suse.de>
11116
11117 * indent.c (Fmove_to_column): Move declaration before statements.
11118
11119 2008-03-27 Stefan Monnier <monnier@iro.umontreal.ca>
11120
11121 * frame.h (enum fullscreen_type): Give it a name. Move it before use.
11122 (struct frame): Use bit fields for boolean vars.
11123
11124 * process.c (server_accept_connection): Simplify naming.
11125 (emacs_get_tty_pgrp): Use SDATA.
11126
11127 * coding.c (decode_coding_object): Fix last change.
11128
11129 2008-03-27 Jason Rumney <jasonr@gnu.org>
11130
11131 * w32fns.c (start_hourglass): Suppress hourglass on tty frames.
11132
11133 2008-03-27 Kenichi Handa <handa@ni.aist.go.jp>
11134
11135 * charset.c (Fdefine_charset_internal): Change the way of
11136 registering charsets in Vcharset_order_list.
11137 (syms_of_charset): Make the charset `eight-bit' supplementary.
11138
11139 2008-03-26 Alexandre Oliva <aoliva@redhat.com> (tiny change)
11140
11141 * regex.c (EXTEND_BUFFER): Change order of pointer addition
11142 operations, to avoid having the difference between pointers
11143 overflow.
11144
11145 2008-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
11146
11147 * indent.c (check_display_width): New fun.
11148 (scan_for_column): Use it.
11149
11150 * data.c (syms_of_data): Mark most-positive-fixnum and
11151 most-negative-fixnum as constants.
11152
11153 * xdisp.c (redisplay_internal): Reset selected_frame earlier.
11154
11155 * indent.c (scan_for_column): Extract from current_column_1.
11156 Merge with the same code from Fmove_to_column.
11157 (current_column_1, Fmove_to_column): Use it.
11158
11159 2008-03-25 Stefan Monnier <monnier@iro.umontreal.ca>
11160
11161 * keymap.c (map_keymap_internal): New fun.
11162 (map_keymap): Use it.
11163 (Fmap_keymap_internal): New fun.
11164 (Fmap_keymap): Remove left-out test from before make_save_value.
11165
11166 * keymap.c (Fmap_keymap): Use `map-keymap-sorted.
11167
11168 * frame.c (Fmodify_frame_parameters, x_set_frame_parameters):
11169 Use XCAR/XCDR.
11170
11171 * process.h (struct Lisp_Process): Remove filter_multibyte.
11172 * process.c (QCfilter_multibyte): Remove.
11173 (setup_process_coding_systems): Don't use filter_multibyte.
11174 (Fstart_process, Fmake_network_process): Don't set filter_multibyte.
11175 (read_process_output): Don't adjust multibyteness to filter_multibyte.
11176 (Fset_process_filter_multibyte): Change the coding-system to
11177 approximate the previous behavior.
11178 (Fprocess_filter_multibyte_p): Get the multibyteness straight from the
11179 coding-system.
11180
11181 * coding.c (decode_coding_object): When not decoding into a buffer,
11182 obey the coding system's preference of (uni|multi)byte.
11183
11184 2008-03-24 Stefan Monnier <monnier@iro.umontreal.ca>
11185
11186 * casefiddle.c (casify_object): Avoid pathological N^2 worst case if
11187 every char is changed and has a different byte-length.
11188 (Fupcase_word, Fdowncase_word, Fcapitalize_word, operate_on_word):
11189 Fix int -> EMACS_INT.
11190
11191 2008-03-23 David Hansen <david.hansen@gmx.net>
11192
11193 * dbusbind.c (xd_read_message): Remove extra copying of message
11194 strings. Check for NULL `interface' or `member'.
11195
11196 2008-03-22 Eli Zaretskii <eliz@gnu.org>
11197
11198 * w32.c (readdir): If FindFirstFile/FindNextFile return in
11199 cFileName a file name that includes `?' characters, use the 8+3
11200 alias in cAlternateFileName instead.
11201
11202 2008-03-21 Stefan Monnier <monnier@iro.umontreal.ca>
11203
11204 * buffer.c (enlarge_buffer_text): Fix int -> EMACS_INT.
11205
11206 2008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
11207
11208 * intervals.c (temp_set_point, temp_set_point_both): Use EMACS_INT.
11209 (set_point, set_point_both): Use EMACS_INT. Remove `buffer' arg,
11210 work on current_buffer only instead (that was already the case
11211 for some of the code anyway).
11212 * buffer.h (set_point, set_point_both): Remove buffer arg, use long int.
11213 (temp_set_point, temp_set_point_both): Use EMACS_INT.
11214 (SET_PT, SET_PT_BOTH): Adjust.
11215 * intervals.h (set_point, temp_set_point, set_point_both)
11216 (temp_set_point_both): Remove redundant declarations.
11217
11218 2008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
11219
11220 * fileio.c (Finsert_file_contents):
11221 * lread.c (Feval_buffer): Use BUF_TEMP_SET_PT.
11222 * buffer.h (BUF_SET_PT): Remove. set_point_both doesn't work right
11223 when buffer != current_buffer anyway.
11224
11225 2008-03-20 Andreas Schwab <schwab@suse.de>
11226
11227 * callint.c (Fcall_interactively) [case 'B']: Use other-buffer
11228 as default.
11229
11230 2008-03-19 Jason Rumney <jasonr@gnu.org>
11231
11232 * w32fns.c (hourglass_timer, hourglass_hwnd): New variables.
11233 (syms_of_w32fns): Initialize them.
11234 (HOURGLASS_ID): New constant.
11235 (x_window_to_frame): Don't check hourglass_window.
11236 (w32_wnd_proc) <WM_TIMER>: Handle hourglass_timer.
11237 (w32_wnd_proc) <WM_EXITMENULOOP>: Set pending hourglass cursor.
11238 (w32_wnd_proc) <WM_SETCURSOR>: Set the hourglass or current cursor.
11239 (w32_wnd_proc) <WM_EMACS_SETCURSOR>: Set frame's current_cursor.
11240 Only change the cursor if hourglass is not active.
11241 (Fx_create_frame): Initialize frame's current_cursor.
11242 (hourglass_atimer): Remove.
11243 (hourglass_started): New function.
11244 (start_hourglass, cancel_hourglass, hide_hourglass): Adapt to w32.
11245 (show_hourglass): Adapt to w32, changing argument to frame.
11246
11247 * w32term.h (struct w32_output): Remove hourglass_window.
11248 Add current_cursor.
11249
11250 * eval.c (call_debugger, Fsignal):
11251 * keyboard.c (recursive_edit_1, cmd_error, Ftop_level)
11252 (command_loop_1, Fread_key_sequence, Fread_key_sequence_vector)
11253 (Fexecute_extended_command, cancel_hourglass_unwind):
11254 * minibuf.c (read_minibuf):
11255 * fns.c (Fy_or_n_p): Enable hourglass when HAVE_WINDOW_SYSTEM.
11256
11257 2008-03-19 Stefan Monnier <monnier@iro.umontreal.ca>
11258
11259 * window.c (run_funs): New fun.
11260 (run_window_configuration_change_hook): Use it to run the buffer-local
11261 and the global part of the hook.
11262
11263 * xdisp.c (format_mode_line_unwind_data): Add window argument.
11264 (unwind_format_mode_line): Restore selected window.
11265 (x_consider_frame_title, Fformat_mode_line): Set selected window.
11266
11267 2008-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
11268
11269 * editfns.c (Fchar_equal): Check they are valid characters.
11270
11271 * buffer.h (Fbuffer_list): Declare (for use in callint.c).
11272
11273 2008-03-17 Andreas Schwab <schwab@suse.de>
11274
11275 * regex.c (re_match_2_internal): Properly match raw 8-bit bytes
11276 against a charset.
11277
11278 * lisp.h (Fbuffer_list): Declare.
11279
11280 2008-03-17 Jan Djärv <jan.h.d@swipnet.se>
11281
11282 * gtkutil.c (free_frame_tool_bar): Only call gtk_container_remove if
11283 handlebox_widget is != 0.
11284
11285 2008-03-16 Juri Linkov <juri@jurta.org>
11286
11287 * callint.c (Fcall_interactively): For interactive code letters
11288 'b' and 'B' put the buffer list into the list of default "future"
11289 values of the minibuffer.
11290
11291 2008-03-16 Andreas Schwab <schwab@suse.de>
11292
11293 * keyboard.c (read_key_sequence): Fix downcasing of letters with
11294 modifiers.
11295
11296 * regex.c (re_match_2_internal): Correct matching of a charset
11297 against latin-1 characters.
11298
11299 2008-03-16 Kenichi Handa <handa@m17n.org>
11300
11301 * coding.c (CHAR_STRING_ADVANCE_NO_UNIFY)
11302 (STRING_CHAR_ADVANCE_NO_UNIFY): New macros.
11303 (coding_alloc_by_making_gap): Fix the way to preserve data in the gap.
11304 (alloc_destination): Fix the 2nd arg to coding_alloc_by_making_gap.
11305 (encode_coding_utf_8): Use CHAR_STRING_ADVANCE_NO_UNIFY instead of
11306 CHAR_STRING_ADVANCE.
11307 (produce_chars): Fix for the case that the source and the
11308 destination are the same buffer. Use CHAR_STRING_ADVANCE_NO_UNIFY
11309 instead of CHAR_STRING_ADVANCE.
11310 (consume_chars): Use STRING_CHAR_ADVANCE_NO_UNIFY instead of
11311 STRING_CHAR_ADVANCE.
11312
11313 2008-03-15 Andreas Schwab <schwab@suse.de>
11314
11315 * regex.c (re_match_2_internal): Correct matching of eight bit
11316 characters in unibyte strings.
11317
11318 2008-03-15 Martin Rudalics <rudalics@gmx.at>
11319
11320 * buffer.c (overlays_in, Foverlays_in): Include empty overlays
11321 at end of range when it coincides with the end of the buffer.
11322
11323 2008-03-14 Eli Zaretskii <eliz@gnu.org>
11324
11325 * dired.c (Ffile_attributes) [WINDOWSNT]: Force inode be positive.
11326
11327 * w32fns.c (globals_of_w32fns, Fx_create_frame): Fix last change.
11328
11329 2008-03-14 Jason Rumney <jasonr@gnu.org>
11330
11331 * editfns.c (initial_tz): New variable.
11332 (syms_of_editfns): Initialize it.
11333 (Fset_time_zone_rule): Set it when first called.
11334 Use it when TZSTRING is nil.
11335
11336 * w32fns.c (MONITOR_DEFAULT_TO_NEAREST, struct MONITOR_INFO)
11337 (MonitorFromPoint_Proc, GetMonitorInfo_Proc): New definitions.
11338 (monitor_from_point_fn, get_monitor_info_fn): New globals.
11339 (globals_of_w32fns): Initialize them.
11340 (compute_tip_xy): Use them to position tooltips.
11341
11342 2008-03-14 Glenn Morris <rgm@gnu.org>
11343
11344 * emacs.c (main): Revert previous change.
11345 (standard_args): Revert -internal-script back to -scriptload,
11346 and remove the long-option form.
11347
11348 2008-03-13 Glenn Morris <rgm@gnu.org>
11349
11350 * emacs.c (main, standard_args): Rename -scriptload to -internal-script.
11351 Remove option -enable-font-backend.
11352
11353 2008-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
11354
11355 * buffer.c (Fswitch_to_buffer): Fall back on pop-to-buffer.
11356
11357 2008-03-11 Jan Djärv <jan.h.d@swipnet.se>
11358
11359 * xterm.c (x_connection_closed): For GTK: If this is the last
11360 terminal just exit without closing the display.
11361
11362 2008-03-11 Jason Rumney <jasonr@gnu.org>
11363
11364 * w32font.c (w32font_full_name): Use floor to round.
11365
11366 2008-03-10 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
11367
11368 * sound.c (alsa_configure): Declare vol at beginning of block.
11369
11370 * fontset.c (Ffontset_info): Remove extra semicolon.
11371
11372 2008-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
11373
11374 * fileio.c (Fsubstitute_in_file_name): Fix up computation of maximum
11375 size of resulting string.
11376
11377 2008-03-10 Jason Rumney <jasonr@gnu.org>
11378
11379 * dispnew.c (adjust_glyph_matrix): Initialize window_height.
11380
11381 2008-03-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11382
11383 * xdisp.c (handle_single_display_spec): Undo 2007-10-16 changes.
11384 Don't pretend as if characters with display property haven't been
11385 consumed for string-replacing-string case.
11386
11387 2008-03-08 Kim F. Storm <storm@cua.dk>
11388
11389 * xdisp.c (GET_NEXT_DISPLAY_ELEMENT): New macro.
11390 (get_next_display_element, next_element_from_string)
11391 (next_element_from_ellipsis, next_element_from_buffer): Use it.
11392
11393 2008-03-08 Andreas Schwab <schwab@suse.de>
11394
11395 * process.h (struct Lisp_Process): Declare bit fields as unsigned.
11396
11397 2008-03-06 Jason Rumney <jasonr@gnu.org>
11398
11399 * w32font.c (w32_registry): Take font_type argument. Use ANSI
11400 when charset not specified. Only translate ANSI to unicode when
11401 font_type is truetype.
11402 (w32font_coverage_ok): New function.
11403 (add_font_entity_to_list): Use it to filter unsuitable fonts.
11404
11405 2008-03-05 Kenichi Handa <handa@ni.aist.go.jp>
11406
11407 * lread.c (Fread_char): Resolve modifiers.
11408 (Fread_char_exclusive): Likewise.
11409
11410 * character.c (char_resolve_modifier_mask): New function.
11411 (char_string): Use char_resolve_modifier_mask.
11412 (Fchar_resolve_modifiers): New function.
11413 (syms_of_character): Declare Fchar_resolve_modifiers as Lisp
11414 function.
11415
11416 2008-03-04 Jason Rumney <jasonr@gnu.org>
11417
11418 * makefile.w32-in: Always include w32font.c in the build.
11419 * w32font.c: Wrap in USE_FONT_BACKEND conditional.
11420
11421 2008-03-04 Andreas Schwab <schwab@suse.de>
11422
11423 * Makefile.in (clean): Remove emacs-*.*.* instead of emacs-*.
11424 (versionclean): Likewise.
11425
11426 2008-03-04 Juanma Barranquero <lekktu@gmail.com>
11427
11428 * .cvsignore: Add oo.
11429
11430 2008-03-03 Andreas Schwab <schwab@suse.de>
11431
11432 * coding.c (decode_coding_object): Inhibit gap shrinking while
11433 decoding in place.
11434
11435 2008-03-03 Dan Nicolaescu <dann@ics.uci.edu>
11436
11437 * w32term.c: Remove unused include "gnu.h".
11438 * makefile.w32-in (w32term.o): Don't depend on gnu.h.
11439
11440 * gnu.h: Rename to ...
11441 * emacs-icon.h: ... this.
11442 * xterm.c: Use emacs-icon.h instead of gnu.h.
11443 * Makefile (xterm.o): Depend on emacs-icon.h, not gnu.h.
11444
11445 2008-03-03 Juanma Barranquero <lekktu@gmail.com>
11446
11447 * w32font.c: Include math.h.
11448
11449 2008-03-03 Jason Rumney <jasonr@gnu.org>
11450
11451 * w32font.c (recompute_cached_metrics): Change font arg to w32font_info.
11452 Compute options separately.
11453 (w32font_open_internal): Set glyph_idx before caching metrics.
11454
11455 * w32font.h (NTM_PS_OPENTYPE, NTM_TT_OPENTYPE, NTM_TYPE1):
11456 Define if system headers don't.
11457 (struct w32font_info): Enlarge ascii_metrics. Add glyph_idx.
11458 (w32font_encode_char): Don't declare here.
11459
11460 * w32font.c (Quniscribe, QCformat): New symbols.
11461 (syms_of_w32font): Define them.
11462 (w32font_has_char): Indicate uncertainty.
11463 (w32font_encode_char): Encode as glyph point. Make static.
11464 (recompute_cached_metrics): New function.
11465 (w32font_open_internal): Use it. Set font to use glyph points
11466 initially. Set format based on type of font.
11467 (w32font_text_extents, w32font_draw): Optionally use glyph points.
11468 (w32_enumfont_pattern_entity): Accept backend arg. Set type based
11469 on it. Set format based on information available here.
11470 (add_font_entity_to_list): Identify backend based on opentype_only.
11471
11472 2008-03-02 Andreas Schwab <schwab@suse.de>
11473
11474 * ftfont.c (ftfont_pattern_entity): Fix aliasing violations.
11475
11476 * coding.c (decode_coding_big5, produce_chars):
11477 Fix typos in last change.
11478
11479 2008-03-02 Kentaro Ohkouchi <nanasess@fsm.ne.jp>
11480
11481 * gnu.h: New icon.
11482
11483 2008-03-02 Kenichi Handa <handa@m17n.org>
11484
11485 * coding.c (decode_coding_utf_8): When eol-type of CODING is
11486 `dos', don't decode '\r' if that is the last in the source.
11487 (decode_coding_utf_16, decode_coding_emacs_mule)
11488 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
11489 (decode_coding_raw_text, decode_coding_charset): Likewise.
11490 (produce_chars): Don't decode EOL here. Use EMACS_INT.
11491
11492 2008-03-01 Jason Rumney <jasonr@gnu.org>
11493
11494 * w32font.c (w32font_full_name): Report point size for scalable fonts.
11495
11496 2008-03-01 Kim F. Storm <storm@cua.dk>
11497
11498 * dispextern.h (CHAR_GLYPH_SPACE_P): Check for default face.
11499
11500 2008-03-01 Jason Rumney <jasonr@gnu.org>
11501
11502 * w32font.c (w32font_full_name): New function.
11503 (w32font_open_internal): Use it.
11504
11505 2008-03-01 Kim F. Storm <storm@cua.dk>
11506
11507 * dispnew.c (line_draw_cost): Fix invalid glyph check.
11508
11509 2008-03-01 Jason Rumney <jasonr@gnu.org>
11510
11511 * font.c (font_unparse_fcname): Increase len when style is a symbol.
11512
11513 2008-03-01 Jan Djärv <jan.h.d@swipnet.se>
11514
11515 * xterm.c (handle_one_xevent): For Gtk+ and ConfigureNotify, call
11516 xg_frame_resized when the event is for the edit widget.
11517
11518 * gtkutil.h (xg_frame_resized): Renamed from xg_resize_widgets.
11519
11520 * gtkutil.c (xg_resize_outer_widget): Only do one of set_geometry or
11521 set_char_size.
11522 (xg_frame_resized): Renamed from xg_resize_widgets. Remove all
11523 operations on widgets here. Just set frame size if needed.
11524 (flush_and_sync, x_wm_size_hint_off, xg_pack_tool_bar): New functions.
11525 (xg_frame_set_char_size): Call x_wm_size_hint_off before resizing.
11526 (x_wm_set_size_hint): Set size hints on the edit widget only, not
11527 the whole frame.
11528 (xg_create_tool_bar): Move attachment of the tool bar to
11529 xg_pack_tool_bar. Do not attach the tool bar if there are no items.
11530 (free_frame_tool_bar): Remove call to SET_FRAME_GARBAGED.
11531
11532 2008-03-01 Jason Rumney <jasonr@gnu.org>
11533
11534 * w32fns.c (w32_msg_pump): Disable debug code.
11535
11536 2008-03-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11537
11538 * m/intel386.h [MAC_OSX || DARWIN]: Define NO_ARG_ARRAY if _LP64.
11539
11540 2008-02-29 Chong Yidong <cyd@stupidchicken.com>
11541
11542 * xdisp.c (next_overlay_string): Don't set
11543 overlay_strings_at_end_processed_p if we're currently reading from
11544 a display string.
11545
11546 2008-02-29 Stefan Monnier <monnier@iro.umontreal.ca>
11547
11548 * xdisp.c (get_overlay_strings_1): Fix typo.
11549
11550 2008-02-29 Chong Yidong <cyd@stupidchicken.com>
11551
11552 * xdisp.c (get_overlay_strings_1): Add missing argument type.
11553
11554 2008-02-28 Kenichi Handa <handa@ni.aist.go.jp>
11555
11556 * ftfont.c (ftfont_match): Explicitly set pixelsize in pattern.
11557
11558 * xdisp.c (display_mode_element): Cancel the previous change.
11559 (decode_mode_spec): Likewise.
11560 (handle_auto_composed_prop): Don't make composition if it->string
11561 is a string.
11562
11563 2008-02-27 Kim F. Storm <storm@cua.dk>
11564
11565 * lisp.h (GLYPH): Change type from int to struct with separate char
11566 and face_id members.
11567 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Delete macros.
11568 (GLYPH_CHAR, GLYPH_FACE): Remove slow versions with frame arg.
11569 (FAST_GLYPH_CHAR, FAST_GLYPH_FACE): Rename macros to ...
11570 (GLYPH_CHAR, GLYPH_FACE): ... these. Change users.
11571 (FAST_MAKE_GLYPH, MAKE_GLYPH): Remove. Rewrite users to use ...
11572 (SET_GLYPH, SET_GLYPH_CHAR, SET_GLYPH_FACE): ... these macros instead.
11573 (GLYPH_CODE_CHAR, GLYPH_CODE_FACE, GLYPH_CODE_P)
11574 (GLYPH_CODE_CHAR_VALID_P, SET_GLYPH_FROM_GLYPH_CODE): New macros to
11575 handle new Lisp glyph code encoding, either an integer or a cons.
11576
11577 * disptab.h (GLYPH_SIMPLE_P): Rewrite.
11578 (GLYPH_ALIAS): Delete.
11579 (GLYPH_ALIAS_P, GLYPH_FOLLOW_ALIASES): Rewrite.
11580 (GLYPH_LENGTH, GLYPH_STRING): Use GLYPH_CHAR.
11581 (GLYPH_FROM_CHAR): Replace macro by ...
11582 (SET_GLYPH_FROM_CHAR): ... this macro. Change users.
11583
11584 * dispextern.h (CHAR_GLYPH_SPACE_P): Simplify.
11585 (GLYPH_FROM_CHAR_GLYPH): Replace macro by ...
11586 (SET_GLYPH_FROM_CHAR_GLYPH): ... this macro. Change users.
11587 (GLYPH_INVALID_P): New macro.
11588 (spec_glyph_lookup_face): Update prototype.
11589
11590 * dispnew.c (line_draw_cost): Adapt to new glyph type.
11591 (build_frame_matrix_from_leaf_window): Adapt to new glyph type and
11592 new glyph code encoding.
11593 (spec_glyph_lookup_face): No return value; update passed glyph instead.
11594 (init_display): Use SET_CHAR_GLYPH to initialize space_glyph.
11595
11596 * xdisp.c (get_next_display_element, next_element_from_display_vector):
11597 Adapt to new glyph type and new glyph code encoding.
11598
11599 * term.c (encode_terminal_code, produce_special_glyphs): Likewise.
11600
11601 * indent.c (current_column, current_column_1, Fmove_to_column)
11602 (compute_motion): Adapt to new glyph code encoding.
11603
11604 * msdos.c (IT_write_glyphs): Adapt to new glyph type.
11605
11606 2008-02-27 Chong Yidong <cyd@stupidchicken.com>
11607
11608 * process.c (wait_reading_process_output): Check for window
11609 changes caused by timers.
11610 Suggested by Johan Bockgård.
11611
11612 2008-02-27 Glenn Morris <rgm@gnu.org>
11613
11614 * emacs.c (USAGE1): Add `--disable-font-backend'.
11615
11616 2008-02-27 Stefan Monnier <monnier@iro.umontreal.ca>
11617
11618 * fileio.c (Finsert_file_contents): Don't reset undo_list if no change
11619 is made to the buffer.
11620
11621 2008-02-26 Stefan Monnier <monnier@iro.umontreal.ca>
11622
11623 * dispextern.h (face_at_buffer_position, face_for_overlay_string)
11624 (face_at_string_position):
11625 * xfaces.c (face_at_buffer_position, face_for_overlay_string)
11626 (face_at_string_position):
11627 * xdisp.c (display_string, next_overlay_change):
11628 * buffer.h (overlays_at):
11629 * buffer.c (overlays_at): Use EMACS_INT for buffer positions.
11630 Update callers.
11631
11632 2008-02-26 Chong Yidong <cyd@stupidchicken.com>
11633
11634 * editfns.c (Fformat): Doc fix.
11635
11636 2008-02-26 Juanma Barranquero <lekktu@gmail.com>
11637
11638 * font.c (Ffont_spec, Ffont_at): Fix typos in docstrings.
11639 (Ffont_put, Flist_families, Ffont_fill_gstring, Ffont_drive_otf)
11640 (Ffont_otf_alternates, Fquery_font): Doc fixes.
11641
11642 2008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
11643
11644 * buffer.c (Fbuffer_swap_text): New function.
11645 (syms_of_buffer): Defsubr it.
11646
11647 2008-02-25 Chong Yidong <cyd@stupidchicken.com>
11648
11649 * keyboard.c (command_loop_1): Revert 2006-10-09 change.
11650
11651 2008-02-25 Jason Rumney <jasonr@gnu.org>
11652
11653 * w32font.c (w32font_draw): Draw one character at a time when padding.
11654
11655 2008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
11656
11657 * window.c (Fdelete_window, Fadjust_window_trailing_edge):
11658 Handle a nil arg. Use run_window_configuration_change_hook.
11659 (delete_window, adjust_window_trailing_edge): Don't handle nil any more.
11660 (Fenlarge_window, Fshrink_window, Fset_window_configuration):
11661 Use run_window_configuration_change_hook.
11662
11663 2008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
11664
11665 * xdisp.c (x_produce_glyphs): For a visible glyph, assure at least
11666 1-pixel width.
11667
11668 2008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
11669
11670 * xdisp.c (fill_glyph_string): Pay attention to glyph->padding_p.
11671 (append_glyph): Set glyph->pixel_width and glyph->padding_p to 1
11672 if the glyph in the font is zero pixel with.
11673
11674 * dispextern.h (struct glyph_string): New member padding_p.
11675
11676 * w32font.c (w32font_draw): Pay attention to s->padding_p.
11677
11678 * ftxfont.c (ftxfont_draw): Pay attention to s->padding_p.
11679
11680 * xfont.c (xfont_draw): Pay attention to s->padding_p.
11681
11682 * xftfont.c (xftfont_draw): Pay attention to s->padding_p.
11683
11684 * font.c: If the font driver doesn't have `shape' function, return Qnil.
11685
11686 2008-02-25 Jason Rumney <jasonr@gnu.org>
11687
11688 * w32fns.c (enum_font_cb2): Don't use raster fonts for Unicode.
11689
11690 2008-02-24 Stefan Monnier <monnier@iro.umontreal.ca>
11691
11692 Allow fine-grained image-cache flushing.
11693 * dispextern.h (struct image): Add `dependencies' field.
11694 (clear_image_caches): Change arg to Lisp_Object.
11695 * image.c (make_image): Initialize `dependencies' field.
11696 (clear_image_cache): Change arg to allow fine-grained flushing.
11697 Perform the flush even if image-cache-eviction-delay is nil.
11698 (clear_image_caches): Change arg to Lisp_Object.
11699 (Fclear_image_cache): Expand meaning of the argument.
11700 (mark_image): Mark `dependencies' field.
11701 * xfaces.c (clear_face_cache): Adapt arg to call to clear_image_caches.
11702 (lface_hash): Use XHASH rather than XFASTINT.
11703 (face_at_buffer_position): Fix int -> EMACS_INT position.
11704 * xdisp.c (next_overlay_change): Fix int -> EMACS_INT position.
11705 (select_frame_for_redisplay): Remove code duplication.
11706 (redisplay_internal): Adapt arg to call to clear_image_caches.
11707
11708 2008-02-24 Dan Nicolaescu <dann@ics.uci.edu>
11709
11710 * s/vms4-0.h:
11711 * s/vms4-2.h:
11712 * s/vms4-4.h:
11713 * s/vms5-5.h: Remove, unused.
11714
11715 * s/irix5-2.h:
11716 * s/irix6-0.h:
11717 * s/riscos5.h:
11718 * s/mach-bsd4-3.h:
11719 * m/mips4.h: Remove files for obsolete systems.
11720
11721 * Makefile.in:
11722 * filelock.c:
11723 * unexmips.c:
11724 * m/hp9000s300.h:
11725 * m/iris4d.h:
11726 * s/aix3-1.h:
11727 * s/hpux.h:
11728 * s/msdos.h:
11729 * s/usg5-0.h:
11730 * s/usg5-2-2.h:
11731 * s/usg5-2.h:
11732 * s/usg5-3.h: Remove references to obsolete variables.
11733
11734 * s/irix5-0.h: Remove, move all the contents ...
11735 * s/irix6-5.h: ... here. Simplify.
11736 * config.in: Regenerate.
11737
11738 2008-02-24 Jason Rumney <jasonr@gnu.org>
11739
11740 * w32term.c (x_draw_glyph_string_background): Clear the background
11741 manually when cleartype is in use.
11742 (x_draw_glyph_string_foreground): Draw text transparently when
11743 cleartype is in use.
11744
11745 * w32font.c (w32font_text_extents): Avoid getting HDC and selecting
11746 a font into it unless we have to.
11747
11748 2008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
11749
11750 * intervals.h (INT_LISPLIKE): Remove. It may misfire.
11751 (NULL_INTERVAL_P, SET_INTERVAL_PARENT): Don't use it.
11752
11753 2008-02-18 Jason Rumney <jasonr@gnu.org>
11754
11755 * w32fns.c (Fw32_shell_execute): Encode parameters.
11756
11757 2008-02-09 Eli Zaretskii <eliz@gnu.org>
11758
11759 * fileio.c (syms_of_fileio) <insert-default-directory>: Doc fix.
11760
11761 2008-02-05 Juanma Barranquero <lekktu@gmail.com>
11762
11763 * unexhp9k800.c (read_header): Replace `legal' with `valid'.
11764
11765 2008-02-24 Ulrich Neumerkel <ulrich@complang.tuwien.ac.at> (tiny change)
11766
11767 * xterm.c (x_set_offset): Don't change the gravity if
11768 CHANGE_GRAVITY is -1.
11769
11770 2008-02-23 Chong Yidong <cyd@stupidchicken.com>
11771
11772 * fileio.c (auto_save_error_occurred): New var.
11773 (auto_save_error): Set it.
11774 (Fdo_auto_save): Don't overwrite the error message if an auto-save
11775 error occurred.
11776
11777 2008-02-23 Eli Zaretskii <eliz@gnu.org>
11778
11779 * w32.c (globals_of_w32): Add initializations for
11780 g_b_init_get_sid_sub_authority and
11781 g_b_init_get_sid_sub_authority_count.
11782
11783 2008-02-22 Stefan Monnier <monnier@iro.umontreal.ca>
11784
11785 * font.c (font_match_xlfd, font_check_xlfd_parse): New funs.
11786 (font_parse_xlfd): Use them for sanity check.
11787 (Finternal_set_font_style_table): Make sure the table is bijective.
11788
11789 Consolidate the image_cache to the terminal struct.
11790 * termhooks.h (P_): Remove redundant def.
11791 (struct terminal): New field `image_cache'.
11792 * frame.h (FRAME_IMAGE_CACHE): New macro. Use it everywhere in place
11793 of FRAME_X_IMAGE_CACHE.
11794 * xterm.h (struct x_display_info): Remove image_cache field.
11795 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
11796 * w32term.h (struct w32_display_info): Remove image_cache field.
11797 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
11798 * macterm.h (struct mac_display_info): Remove image_cache field.
11799 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
11800 * xterm.c (x_term_init):
11801 * w32term.c (w32_term_init):
11802 * macterm.c (mac_term_init): Set the image_cache in the terminal.
11803 * dispextern.h (clear_image_cache, forall_images_in_image_cache):
11804 Remove declarations.
11805 (clear_image_caches, mark_image_cache): New declarations.
11806 * xfaces.c (clear_face_cache):
11807 * xdisp.c (redisplay_internal): Use clear_image_caches.
11808 * image.c (clear_image_cache): Don't check that a frame is on
11809 a window-system before checking if it shares the same cache.
11810 (clear_image_caches): New function.
11811 (Fclear_image_cache): Use it.
11812 (mark_image): Move from allo.c.
11813 (mark_image_cache): Move from alloc.c and forall_images_in_image_cache.
11814 * alloc.c (mark_image, mark_image_cache): Move to image.c.
11815 (mark_object): Don't call mark_image_cache for frames.
11816 (mark_terminals): Call mark_image_cache.
11817
11818 * lisp.h (Fdelete_terminal): Declare.
11819
11820 * charset.h (CHECK_CHARSET, CHECK_CHARSET_GET_ID)
11821 (CHECK_CHARSET_GET_ATTR): Don't use the inexistent return value of
11822 wrong_type_argument.
11823
11824 2008-02-22 Kenichi Handa <handa@ni.aist.go.jp>
11825
11826 * Makefile.in (lisp): Remove devanagari.el, kannada.el,
11827 malayalam.el, and tamil.el. Add sinhala.el.
11828
11829 2008-02-21 Stefan Monnier <monnier@iro.umontreal.ca>
11830
11831 * xterm.c (x_connection_closed): Consolidate identical tests.
11832 (x_delete_terminal): Don't crash if called via x_connection_closed.
11833
11834 2008-02-21 Kenichi Handa <handa@ni.aist.go.jp>
11835
11836 * xdisp.c (decode_mode_spec): New arg string.
11837 (display_mode_element): Adjust for the above change.
11838
11839 2008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
11840
11841 * callint.c (Fcall_interactively): Use AREF.
11842
11843 2008-02-18 Stefan Monnier <monnier@iro.umontreal.ca>
11844
11845 * font.c (font_unparse_xlfd): Don't ignore integer pixel size specs.
11846
11847 2008-02-18 Jan Djärv <jan.h.d@swipnet.se>
11848
11849 * xfns.c (Fx_show_tip): Set string to " " if empty.
11850
11851 2008-02-17 Dan Nicolaescu <dann@ics.uci.edu>
11852
11853 * callint.c (syms_of_callint): Initialize Vmark_even_if_inactive
11854 with Qt.
11855
11856 2008-02-17 Kenichi Handa <handa@m17n.org>
11857
11858 * ftfont.c (ftfont_shape): Return Lispy number.
11859
11860 * xfaces.c (prepare_face_for_display): Use display_info->font->fid
11861 for GCs.
11862 (Finternal_set_font_selection_order): Call font_update_sort_order
11863 only when enable_font_backend is set.
11864 (realize_x_face): Set face->font_info to that of default face only
11865 when enable_font_backend is set.
11866
11867 * xdisp.c (handle_composition_prop): Set it->c to the fist
11868 character of the composed region.
11869 (fill_composite_glyph_string): Set base_face->font_info to
11870 s->font_info. Get a face for ascii from base_face->ascii_face.
11871 (BUILD_COMPOSITE_GLYPH_STRING): Call fill_composite_glyph_string
11872 with a face already decided.
11873 (x_produce_glyphs): Be sure to set it->ascent and it->descent to
11874 non-negative.
11875 (x_produce_glyphs): If the composition method is ..._WITH_GLYPH_STRING,
11876 call font_prepare_composition unconditionally.
11877
11878 * xfns.c (x_make_gc): Use the default font id of the frame for GCs.
11879
11880 * xterm.h (struct x_display_info): New member font.
11881
11882 * xterm.c (x_set_cursor_gc): Use display_info->font->fid for GCs.
11883 (x_set_mouse_face_gc, x_new_font): Likewise.
11884 (x_term_init): Setup display_info->font.
11885 (x_delete_terminal): Free display_info->font.
11886
11887 * xfont.c (xfont_draw): Use BLOCK_INPUT and UNBLOCK_INPUT.
11888
11889 * ftxfont.c (ftxfont_default_fid): Delete it.
11890 (ftxfont_open): Set xfont->fid to 0.
11891 (ftxfont_end_for_frame): Clear data specific to the frame and the
11892 font-driver.
11893
11894 * xftfont.c (xftfont_default_fid): Delete it.
11895 (xftfont_open): Set xfont->fid to 0.
11896
11897 * fontset.c (FONTSET_OBJLIST): New macro.
11898 (fontset_find_font): Update font-object list of the fontset.
11899 (free_realized_fontset): New function.
11900 (free_face_fontset): Call free_realized_fontset.
11901 (Ffont_info): Call font_close_object only when enable_font_backend
11902 is set.
11903
11904 * font.c [HAVE_X_WINDOWS]: Include xterm.h.
11905 [HAVE_NTGUI]: Include w32term.h.
11906 [MAC_OS]: Include macterm.ch.
11907 (font_otf_ValueRecord): Use make_number.
11908 (font_finish_cache): Fix handling of reference count.
11909 (font_clear_cache): Update num_fonts.
11910 (font_open_entity): Update smallest_char_width and
11911 smallest_font_height of the frame.
11912 (font_close_object): Update num_fonts.
11913 (Fclear_font_cache): Fix finding the target cache data.
11914
11915 2008-02-16 Glenn Morris <rgm@gnu.org>
11916
11917 * fontset.c (Finternal_char_font): Fix compilation warning.
11918
11919 2008-02-16 Eli Zaretskii <eliz@gnu.org>
11920
11921 * w32.c (init_user_info): Use TOKEN_USER and TOKEN_PRIMARY_GROUP
11922 instead of char arrays. Enlarge the size of array passed to
11923 get_token_information.
11924
11925 * font.c (Ffont_fill_gstring, Fget_font_glyphs): Fix compilation
11926 warnings.
11927
11928 2008-02-15 Dan Nicolaescu <dann@ics.uci.edu>
11929
11930 * .gdbinit: Don't set `args', it breaks gdb --args.
11931
11932 2008-02-14 Stefan Monnier <monnier@iro.umontreal.ca>
11933
11934 * fileio.c (Finsert_file_contents): Adjust offsets when replacing
11935 within a narrowed buffer.
11936
11937 2008-02-14 Kenichi Handa <handa@ni.aist.go.jp>
11938
11939 * coding.c (decode_coding_object, encode_coding_object):
11940 Preserve Vdeactivate_mark. Delete unnecessary call of Fcurrent_buffer.
11941
11942 2008-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
11943
11944 * coding.c (coding_set_destination): Use BEG_BYTE rather than
11945 hardcoding 1.
11946 (detect_coding_system):
11947 * lisp.h (detect_coding_system, chars_in_text, multibyte_chars_in_text)
11948 (string_char_to_byte, string_byte_to_char, insert_from_gap):
11949 * insdel.c (insert_from_gap):
11950 * fns.c (string_char_byte_cache_charpos, string_char_byte_cache_bytepos)
11951 (string_char_to_byte, string_byte_to_char, string_make_multibyte)
11952 (string_to_multibyte):
11953 * character.c (chars_in_text, multibyte_chars_in_text):
11954 * fileio.c (Finsert_file_contents): Use EMACS_INT for buffer positions.
11955
11956 * character.h (FETCH_STRING_CHAR_ADVANCE)
11957 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE)
11958 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA and SREF.
11959 (DEC_POS, BUF_DEC_POS): Use BEG_BYTE rather than hardcoding 1.
11960
11961 * casefiddle.c (casify_region): Only call after-change and composition
11962 functions on the part of the region that was changed.
11963
11964 * keyboard.c (read_avail_input):
11965 * frame.c (Fdelete_frame): Call Fdelete_terminal.
11966
11967 2008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
11968
11969 * buffer.c (clone_per_buffer_values, reset_buffer_local_variables)
11970 (Fbuffer_local_value, Fbuffer_local_variables): Don't forget undo_list.
11971
11972 2008-02-11 Juanma Barranquero <lekktu@gmail.com>
11973
11974 * w32menu.c (push_submenu_start, push_submenu_end)
11975 (push_left_right_boundary, push_menu_pane, push_menu_item):
11976 * keyboard.c (read_key_sequence): Don't pass args with side effects
11977 to AREF, it fails when compiling with -DENABLE_CHECKING.
11978
11979 2008-02-11 Kenichi Handa <handa@ni.aist.go.jp>
11980
11981 * Makefile.in (${lispsource}international/charprop.el):
11982 Delete this target.
11983
11984 * search.c (boyer_moore): Fix incorrect synching of the trunk and
11985 emacs-unicode-2.
11986
11987 2008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
11988
11989 * terminal.c (Fdelete_terminal): Clean up the `force' path.
11990
11991 2008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
11992
11993 * frame.c (Qnoelisp): New symbol.
11994 (syms_of_frame): Initialize it.
11995 (Fdelete_frame): Use it to distinguish a mere `force' passed from some
11996 harmless Elisp code, from a strong `force' from x_connection_closed.
11997 * frame.h (Qnoelisp): Declare.
11998 * xterm.c (x_connection_closed): Pass `noelisp'.
11999
12000 * lisp.h (struct Lisp_Misc_Any, struct Lisp_Marker)
12001 (struct Lisp_Overlay, struct Lisp_Kboard_Objfwd)
12002 (struct Lisp_Save_Value, struct Lisp_Free): Use enum Lisp_Misc_Type
12003 rather than `int' for the type of `type'.
12004
12005 2008-02-10 Dan Nicolaescu <dann@ics.uci.edu>
12006
12007 * s/gnu-linux.h: Remove support for non-ELF and linux-1.x.
12008
12009 * Makefile.in (GNUC): Remove support for gcc-1.x.
12010
12011 2008-02-10 Richard Stallman <rms@gnu.org>
12012
12013 * lisp.h (ASET): Use AREF, not ASLOT.
12014
12015 2008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
12016
12017 * lisp.h (ASET): Check bounds.
12018
12019 2008-02-10 Glenn Morris <rgm@gnu.org>
12020
12021 * buffer.c (mode-name): Doc fix.
12022
12023 2008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
12024
12025 * Makefile.in:
12026 * emacs.c:
12027 * gmalloc.c:
12028 * keyboard.c:
12029 * lisp.h:
12030 * m/ibm370aix.h:
12031 * process.c:
12032 * regex.c:
12033 * s/hpux.h:
12034 * sysdep.c:
12035 * sysselect.h:
12036 * systty.h:
12037 * unexec.c:
12038 * w32term.c:
12039 * xsmfns.c:
12040 * xterm.c: Remove code that deals with obsolete variables.
12041
12042 * s/msdos.h (DONT_NEED_ENVIRON): Don't define.
12043
12044 * ecrt0.c: Replace the DONT_NEED_ENVIRON test with MSDOS test,
12045 nothing else needs it anymore.
12046
12047 2008-02-09 Eli Zaretskii <eliz@gnu.org>
12048
12049 * buffer.h (FETCH_CHAR_AS_MULTIBYTE): Use unibyte_to_multibyte_table
12050 instead of unibyte_char_to_multibyte.
12051
12052 2008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
12053
12054 * s/gnu-linux.h: Remove commented out code.
12055
12056 * unexec.c: Remove references to obsolete variable COFF_ENCAPSULATE.
12057
12058 * Makefile.in: Update what RMS says about using autoconf.
12059 (C_COMPILER, COFF_ENCAPSULATE, MAKE_PARALLEL): Remove obsolete variable.
12060 (C_SWITCH_MACHINE_1, C_SWITCH_SYSTEM_1, C_SWITCH_SITE_1)
12061 (C_SWITCH_X_SITE_1, C_SWITCH_X_MACHINE_1)
12062 (C_SWITCH_X_SYSTEM_1): Move invariant code outside conditional.
12063
12064 2008-02-08 Stefan Monnier <monnier@iro.umontreal.ca>
12065
12066 * keymap.c (Fkey_description): Move side effect outside of macro call.
12067
12068 * xfaces.c (Finternal_make_lisp_face):
12069 * keyboard.c (add_command_key, parse_menu_item): Use ASET.
12070
12071 * fontset.c (free_face_fontset): Use FONTSET_FROM_ID.
12072 (syms_of_fontset): Use ASET.
12073
12074 * fns.c (concat): Move side effect outside of macro call.
12075 (hash_clear): Use ASET.
12076
12077 2008-02-08 Richard Stallman <rms@gnu.org>
12078
12079 * frame.c (Fdelete_frame): If FORCE, don't call hooks.
12080 If FORCE, and frame has a surrogate minibuffer for another frame,
12081 delete the other frame first.
12082
12083 2008-02-07 Timo Savola <timo.savola@iki.fi>
12084
12085 * xterm.c (x_detect_focus_change): Handle embed client message.
12086 (handle_one_xevent): Ditto.
12087 (handle_one_xevent): If embedded and we get a button press/release,
12088 request focus.
12089 (xembed_set_info, xembed_send_message): New functions.
12090 (x_make_frame_visible): Call xembed_set_info if embedded.
12091 (x_make_frame_invisible): Call xembed_set_info if embedded.
12092 (x_term_init): Initialize Xatom_XEMBED.
12093 (x_make_frame_visible): Check for FRAME_X_EMBEDDED_P also.
12094 (x_iconify_frame): Ditto.
12095
12096 * xterm.h (struct x_display_info): Add AtomXatom_XEMBED.
12097 (enum xembed_info, enum xembed_message, enum xembed_focus)
12098 (enum xembed_modifier, enum xembed_accelerator): New.
12099 (xembed_set_info, xembed_send_message): Declare.
12100 (FRAME_X_EMBEDDED_P): New.
12101
12102 * gtkutil.c (xg_create_frame_widgets): If frame is embedded, call
12103 gtk_plug_new.
12104
12105 * xfns.c (Fx_create_frame): Do not override the explicitly set parent
12106 window ID of a frame.
12107 (x_window): Reparent frame if embedded.
12108 (Fx_create_frame): Don't set border width if embedded.
12109
12110 * emacs.c (USAGE3): Add --parent-id.
12111 (standard_args): Ditto.
12112
12113 2008-02-07 Jan Djärv <jan.h.d@swipnet.se>
12114
12115 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): Use "do...while (0)".
12116
12117 2008-02-07 Jim Meyering <meyering@redhat.com>
12118
12119 Use "do...while (0)", not "if (1)...else" in macro definitions.
12120 The latter provokes a warning from gcc about the empty else, when
12121 followed by ";". Also, without that trailing semicolon, it would
12122 silently swallow up any following statement.
12123 * syntax.h (SETUP_SYNTAX_TABLE)
12124 (SETUP_SYNTAX_TABLE_FOR_OBJECT): Likewise.
12125 * buffer.h (DECODE_POSITION): Likewise.
12126 * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise.
12127 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): Likewise.
12128 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Likewise.
12129 (FETCH_CHAR_ADVANCE): Likewise.
12130 (FETCH_CHAR_ADVANCE_NO_CHECK): Likewise.
12131
12132 2008-02-07 Jim Meyering <meyering@redhat.com>
12133
12134 * lread.c [lint]: Don't include <sys/inode.h>.
12135
12136 2008-02-07 Stefan Monnier <monnier@iro.umontreal.ca>
12137
12138 * xselect.c (x_handle_dnd_message):
12139 * xmenu.c (digest_single_submenu, xmenu_show):
12140 * xdisp.c (with_echo_area_buffer_unwind_data)
12141 (format_mode_line_unwind_data, unwind_format_mode_line)
12142 (display_menu_bar):
12143 * eval.c (Ffetch_bytecode):
12144 * doc.c (store_function_docstring):
12145 * ccl.c (resolve_symbol_ccl_program, ccl_get_compiled_code)
12146 (Fccl_execute, Fccl_execute_on_string, Fregister_code_conversion_map):
12147 * buffer.c (add_overlay_mod_hooklist): Use ASET.
12148
12149 2008-02-07 Kenichi Handa <handa@m17n.org>
12150
12151 * ftxfont.c (ftxfont_open): Don't set
12152 dpyinfo->smallest_font_height and dpyinfo->smallest_char_width to 0.
12153
12154 * ftfont.c (ftfont_open): Fix previous change.
12155
12156 2008-02-06 Jason Rumney <jasonr@gnu.org>
12157
12158 * w32font.c (w32font_text_extents): Fill in lbearing metric.
12159 Use cached metrics for ASCII characters.
12160 (w32font_open_internal): Don't set font's owning_frame.
12161 Cache metrics for ASCII characters.
12162
12163 * w32font.h (struct w32font_info): Add ascii_metrics.
12164 Remove owning_frame.
12165
12166 2008-02-06 Kenichi Handa <handa@ni.aist.go.jp>
12167
12168 * xdisp.c (x_produce_glyphs): Don't set it->ascent and it->descent
12169 to negative value.
12170
12171 * ftxfont.c (ftxfont_draw): Use s->font_info, not face->font_info.
12172
12173 * ftfont.c (ftfont_open): Fix calculation of font->font.average_width.
12174
12175 * charset.c (syms_of_charset): Set QCtest and Qeq.
12176
12177 2008-02-06 Stefan Monnier <monnier@iro.umontreal.ca>
12178
12179 * process.c (Fstart_process):
12180 * callproc.c (Fcall_process): Handle the case where
12181 Funhandled_file_name_directory returns nil.
12182
12183 * font.h (enum lgstring_indices, enum lglyph_indices): New enums.
12184 (LGSTRING_SLOT, LGSTRING_SET_SLOT): New macros.
12185 * font.c (check_gstring): Use them and AREF to access the vector before
12186 we know it's really a gstring.
12187 (Ffont_shape_text): Fix typo.
12188 (Ffont_shape_text, Ffont_otf_alternates): Fix up int/Lisp_Object mixups.
12189
12190 * composite.h (Fcompose_region_internal, Fcompose_string_internal):
12191 Declare.
12192
12193 * chartab.c (make_sub_char_table): Remove noop-yet-incorrect statement.
12194
12195 2008-02-05 Jason Rumney <jasonr@gnu.org>
12196
12197 * w32font.c (w32font_open_internal): Fill min_width with tmAveCharWidth.
12198 Set smallest_font_height and smallest_char_width in display info.
12199
12200 2008-02-05 Kenichi Handa <handa@ni.aist.go.jp>
12201
12202 * coding.c (decode_eol): Pay attention to coding->dst_multibyte.
12203
12204 2008-02-05 Miles Bader <miles@gnu.org>
12205
12206 * xfaces.c (get_lface_attributes, merge_named_face)
12207 (lookup_named_face, lookup_derived_face, realize_named_face):
12208 Revert 2008-02-01 change by cyd@stupidchicken.com.
12209
12210 2008-02-04 Kenichi Handa <handa@ni.aist.go.jp>
12211
12212 * fontset.c (Ffontset_info): Handle the case of inhibitting the
12213 fallback fonts.
12214 (Ffontset_info) [USE_FONT_BACKEND]: Fix getting of opened font names.
12215
12216 2008-02-04 Jason Rumney <jasonr@gnu.org>
12217
12218 * w32font.c (w32font_open_internal): Use font_unparse_fcname to
12219 set full_name.
12220 (w32font_open_internal): Use xmalloc, xrealloc, xfree.
12221
12222 2008-02-03 Jason Rumney <jasonr@gnu.org>
12223
12224 * makefile.w32-in (OBJ1): Include font.o here.
12225 (FONTOBJ) [USE_FONTBACKEND]: Instead of here.
12226
12227 2008-02-02 Jason Rumney <jasonr@gnu.org>
12228
12229 * makefile.w32-in (temacs): Bump EMHEAP to 21.
12230
12231 2008-02-01 Jason Rumney <jasonr@gnu.org>
12232
12233 * s/cygwin.h: Define VIRT_ADDR_VARIES.
12234
12235 * puresize.h [VIRT_ADDR_VARIES]: Don't include CYGWIN in condition.
12236
12237 2008-02-01 Andreas Schwab <schwab@suse.de>
12238
12239 * Makefile.in (shortlisp, lisp): Update for rename of
12240 ../lisp/language/myanmar.el.
12241
12242 2008-02-01 Chong Yidong <cyd@stupidchicken.com>
12243
12244 * xfaces.c (get_lface_attributes): Delete function.
12245 (merge_named_face, lookup_named_face, lookup_derived_face)
12246 (realize_named_face): Call lface_from_face_name directly, and use
12247 the fact that merge_face_vectors does not alter its FROM argument.
12248
12249 2008-02-01 Jason Rumney <jasonr@gnu.org>
12250
12251 * w32term.c (w32_read_socket) <WM_CHAR>: Decode non-Unicode
12252 input in the default locale. Handle non-Unicode multibyte input.
12253
12254 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12255
12256 * fontset.c (reorder_font_vector): Exclude nil elements from the
12257 font group. Don't try multiple fonts.
12258 (fontset_font): Adjust for the above change.
12259 (Finternal_char_font): Return nil if the found font doesn't
12260 contain the character ch.
12261
12262 * Makefile.in (lisp, shortlisp): Add cham.el.
12263
12264 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12265
12266 * font.h (FONTP): Make it return 1 also for a font-object.
12267
12268 * .gdbinit (xfontset): New function.
12269
12270 * font.c (font_find_for_lface): Check if the character C is
12271 supported or not only for the first font.
12272
12273 * fontset.c (reorder_font_vector): Fix typo.
12274 (fontset_find_font): Don't add a font-spec specifying a script.
12275 Use 0 (not Qt) for the indication of empty font-group. Change the
12276 format of RFONT-DEF. Return Qt if no font in the font-group
12277 support the character.
12278 (fontset_font): Adjust for the above change. If no font was
12279 found the character, remember that.
12280 (face_for_char): Adjust for the change of RFONT-DEF.
12281 (Fset_fontset_font): Allow nil for FONT-SPEC to explicitly specify
12282 no font for the target.
12283 (Finternal_char_font): Adjust for the change of RFONT-DEF.
12284
12285 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12286
12287 * font.c (font_load_for_face): Handle the case that the font in
12288 face->lface is a string.
12289
12290 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12291
12292 * xfaces.c (set_lface_from_font_and_fontset): Set the fontname in lface.
12293
12294 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12295
12296 * xfaces.c (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]:
12297 Fix previous change. If the frame is not on a window system,
12298 signal an error.
12299
12300 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12301
12302 * coding.c (decode_coding_object, encode_coding_object): Adjust
12303 marker positions after conversion.
12304
12305 * lisp.h (struct Lisp_Marker): New member need_adjustment.
12306
12307 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12308
12309 * font.c (font_find_for_lface): Fix the handling of the return
12310 value of font_has_char.
12311 (Ffont_shape_text): Fix previous change.
12312
12313 * fontset.c (FONTSET_REF_AND_RANGE): Delete it.
12314 (fontset_ref_and_range): Delete it.
12315 (fontset_find_font): Call char_table_ref_and_range instead of
12316 FONTSET_REF_AND_RANGE.
12317 (make_fontset): Don't setup font groups of Latin here.
12318 (Fset_fontset_font): Don't overwrite the setting of FONTSET_ASCII.
12319 (new_fontset_from_font): Make the specified font the default for
12320 all Latin characters.
12321
12322 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12323
12324 * xfaces.c (Finternal_set_lisp_face_attribute): Check if the frame
12325 is on a window system before accessing the fontset of the frame.
12326
12327 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12328
12329 * Makefile.in (lisp, shortlisp): Add kherm.el and myanmar.el.
12330
12331 * ftfont.c (ftfont_driver): Set ftfont_shape in ftfont_driver only
12332 when both HAVE_M17N_FLT and HAVE_LIBOTF are defined.
12333
12334 * font.c (Ffont_shape_text): If the font driver doesn't have a
12335 shaper function, make zero-width glyphs to have at least one-pixel
12336 width. Fix setting of `to' field of glyphs.
12337
12338 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12339
12340 * ftfont.c (ftfont_drive_otf): Fix setting of FROM and TO slots of
12341 glyphs.
12342
12343 * font.h (struct font_driver): Improve docstring of member `shape'.
12344
12345 2008-02-01 Kenichi Handa <handa@m17n.org>
12346
12347 * composite.c (syms_of_composite): Fix docstring of
12348 auto-composition-function.
12349
12350 * font.h (LGLYPH_SIZE): New macro.
12351
12352 * font.c (Ffont_fill_gstring): Stop filling when a character not
12353 supported by the font is found.
12354 (Ffont_shape_text): When a shape callback function returns nil,
12355 try at most two more times with larger gstring.
12356 (Ffont_at): Fix getting of w. Call font_at with correct 5th argument.
12357
12358 * xdisp.c (handle_auto_composed_prop): Change the argument to
12359 auto-composition-function.
12360
12361 * ftfont.c (ftfont_encode_char): Use the macro FONT_INVALID_CODE.
12362 (ftfont_shape_by_flt): If an element of lgstring is nil, make a
12363 Lispy glyph and store it in the lgstring.
12364
12365 * xfont.c (xfont_encode_char): Use the macro FONT_INVALID_CODE.
12366
12367 * xftfont.c (xftfont_encode_char): Use the macro FONT_INVALID_CODE.
12368
12369 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12370
12371 * font.c (Ffont_shape_text): Avoid unnecessary composition.
12372
12373 * fontset.c (Vfont_encoding_charset_alist): New variable.
12374 (syms_of_fontset): DEFVAR it.
12375 (reorder_font_vector, fontset_find_font): Optimize for the case of
12376 no need of reordering.
12377 (face_for_char): Map the charset property by
12378 Vfont_encoding_charset_alist.
12379
12380 2008-02-01 Jason Rumney <jasonr@gnu.org>
12381
12382 * w32font.c (logfonts_match): Don't check adstyle here.
12383 (font_matches_spec): Check here against physical font instead.
12384 (add_font_entity_to_list): Avoid some substitutions.
12385
12386 * font.c (font_parse_fcname): Default weight and slant to normal.
12387 (font_score): Prefer normal fonts if weight or slant unspecified.
12388 (font_score) [WINDOWSNT]: Scale weight difference down to closer
12389 match freetype scores.
12390
12391 2008-02-01 Jason Rumney <jasonr@gnu.org>
12392
12393 * w32font.c (w32font_text_extents): Don't use the frame stored in the
12394 font, as it may have been deleted.
12395 (w32_enumfont_pattern_entity): Map generic family to adstyle using
12396 most common hyphenless variation.
12397 (logfonts_match): Check generic family.
12398 (font_matches_spec): Don't check generic family here.
12399 (fill_in_logfont): Set generic family based on adstyle.
12400
12401 * w32font.h (w32font_get_cache): Update declaration.
12402
12403 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12404
12405 * ftfont.c (ftfont_get_cache): Adjust the argument type.
12406
12407 * frame.c (x_set_font_backend): Don't call Fclear_font_cache.
12408 If none of the new drivers are available, call font_update_drivers
12409 with the old drivers.
12410
12411 * w32font.c (w32font_get_cache): Adjust the argument type.
12412
12413 * xfont.c (xfont_get_cache): Adjust the argument type.
12414
12415 * font.h (struct font_driver): Change argument type of get_cache.
12416
12417 * xftfont.c (xftfont_start_for_frame): Delete prototype.
12418
12419 * font.c (Ffont_get): Fix arguments to Fassoc.
12420 (font_prepare_cache, font_finish_cache, font_get_cache): New functions.
12421 (font_clear_cache): New function.
12422 (font_list_entities, font_matching_entity): Use font_get_cache.
12423 (font_update_drivers): Call font_clear_cache when finishing a driver.
12424
12425 * fontset.c (fontset_find_font): Fix previous change.
12426
12427 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12428
12429 * xterm.c (x_check_font) [USE_FONT_BACKEND]: Don't access
12430 dpyinfo->font_table.
12431 (x_delete_display) [USE_FONT_BACKEND]: Likewise.
12432 (x_delete_terminal) [USE_FONT_BACKEND]: Likewise.
12433
12434 * font.c (font_at): Handle the case that the arg C is negative.
12435 Handle the unibyte case.
12436 (Ffont_at): Call font_at with the arg C -1.
12437
12438 * xdisp.c (handle_auto_composed_prop): Don't get a character at
12439 the position here, and call font_at with the arg C -1.
12440 Don't check the range of the existing composition at the point.
12441
12442 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12443
12444 * fontset.c (fontset_add): New args charset_id and family.
12445 Change caller.
12446 (load_font_get_repertory, fontset_find_font): Assume that
12447 font_spec is always a font-spec object.
12448 (Fset_fontset_font): Always store a font-spec object in a fontset.
12449
12450 * xdisp.c (handle_auto_composed_prop): Use Fget_text_property
12451 instead of get_property_and_range.
12452
12453 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12454
12455 * xftfont.c (struct xftfont_info): Delete the member ft_face.
12456 (xftfont_open): Don't keep locking face.
12457 (xftfont_close): Don't unlock face.
12458 (xftfont_anchor_point, xftfont_shape): Lock and unlock face.
12459
12460 * fontset.c (fontset_find_font): Don't prefer a font of
12461 supplementary charset.
12462
12463 2008-02-01 Kenichi Handa <handa@m17n.org>
12464
12465 * ftfont.c (struct OpenTypeSpec): Rename members script_tag to
12466 script, langsys_tag to langsys, new member script.
12467 (OTF_TAG_STR): Terminate by '\0'.
12468 (ftfont_get_open_type_spec): If :otf prop is spec, limit the
12469 listing to the script specified in that property. Fix arg to
12470 OTF_check_features.
12471
12472 2008-02-01 Jason Rumney <jasonr@gnu.org>
12473
12474 * w32font.h: New file.
12475
12476 * w32font.c: Include it.
12477 (struct w32font_info): Add owning_frame field. Move to w32font.h.
12478 (w32font_open): Set owning_frame.
12479 (w32font_text_extents): Use owning_frame.
12480 (struct font_callback_data): Add opentype_only field.
12481 (add_font_entity_to_list): Use it to filter fonts.
12482 Don't check against full name.
12483 (w32font_list_internal): New function.
12484 (w32font_list): Use it.
12485 (w32font_match_internal): New function.
12486 (w32font_match): Use it.
12487 (w32font_open_internal): New function.
12488 (w32font_open): Use it.
12489 (w32font_get_cache, w32font_close, w32font_has_char)
12490 (w32font_encode_char, w32font_text_extents, w32font_draw):
12491 Make non-static.
12492
12493 * makefile.w32-in (w32font.o): Depend on w32font.h.
12494
12495 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12496
12497 * charset.c (Fdefine_charset_internal): Record a supplementary
12498 charset at the tail of Vcharset_order_list.
12499
12500 * font.c (Ffont_shape_text): Fix the return value.
12501
12502 * ftfont.c (OTF_SYM_TAG, OTF_TAG_STR): Fix argument names.
12503
12504 * xdisp.c (handle_auto_composed_prop): Fix previous change.
12505
12506 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12507
12508 * ftfont.c (struct OpenTypeSpec): New struct.
12509 (OTF_SYM_TAG, OTF_TAG_STR): New macros.
12510 (ftfont_get_open_type_spec): New function.
12511 (ftfont_list) [HAVE_LIBOTF]: Check otf-spec property.
12512
12513 * lread.c (read1): Redo the previous change with checking Vpurify_flag.
12514
12515 2008-02-01 Jason Rumney <jasonr@gnu.org>
12516
12517 * w32font.c (add_font_entity_to_list): Compare only the beginning
12518 of full name.
12519
12520 2008-02-01 Kenichi Handa <handa@m17n.org>
12521
12522 * xdisp.c (handle_auto_composed_prop): Simplify the code.
12523 Never return HANDLED_RECOMPUTE_PROPS.
12524
12525 2008-02-01 Kenichi Handa <handa@m17n.org>
12526
12527 * font.c (font_gstring_produce): Delete it.
12528
12529 * composite.h (COMPOSITION_METHOD):
12530 Handle COMPOSITION_WITH_GLYPH_STRING.
12531
12532 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12533
12534 * xfont.c (Qx): Delete.
12535 (syms_of_xfont): Don't initialize Qx.
12536
12537 * composite.h (enum composition_method):
12538 Define COMPOSITION_WITH_GLYPH_STRING unconditionally.
12539
12540 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12541
12542 * xfaces.c [HAVE_WINDOW_SYSTEM]: Include "font.h" unconditionally.
12543 (choose_face_font): Accept new form of font-spec.
12544
12545 * frame.h (font_driver_list): Declare it unconditionally.
12546 (struct frame): Define members font_driver_list and font_data_list
12547 unconditionally.
12548
12549 * fontset.c: Include "font.h" unconditionally.
12550 (generate_ascii_font_name): Use font_parse_xlfd and font_unparse_xlfd.
12551 (Fset_fontset_font): Accept a font-spec object.
12552
12553 * font.c (font_unparse_xlfd): If pixel_size is zero, make the
12554 PIXEL_SIZE part a wild card.
12555
12556 * dispextern.h (struct glyph_string): Define members clip and
12557 num_clips unconditionally.
12558 (struct face): Define members font_info and extra unconditionally.
12559
12560 * ftfont.c (ftfont_open): Set members maybe_otf and otf of
12561 ftfont_info only when HAVE_LIBOTF is defined.
12562
12563 2008-02-01 Andreas Schwab <schwab@suse.de>
12564
12565 * xdisp.c (back_to_previous_visible_line_start): Fix type of beg
12566 and end.
12567
12568 2008-02-01 Jason Rumney <jasonr@gnu.org>
12569
12570 * w32font.c (w32font_driver): Add new fields.
12571
12572 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12573
12574 * Makefile.in (ALL_CFLAGS): Add @M17N_FLT_CFLAGS@.
12575 (FONTSRC, FONTOBJ) [HAVE_WINDOW_SYSTEM]: Set them unconditionally.
12576 (LIBES): Add @M17N_FLT_CFLAGS@.
12577
12578 * composite.c (compose_text): Don't treat the new style
12579 composition specially.
12580
12581 * emacs.c (main): Call syms_of_font unconditionally.
12582
12583 * font.h (FONT_ENTITY_NOT_LOADABLE)
12584 (FONT_ENTITY_SET_NOT_LOADABLE): New macros.
12585 (LGSTRING_XXXX, LGLYPH_XXX): Adjust for the change of lispy gstring.
12586 (struct font_driver): New member shape.
12587 (font_registry_charsets): Extern it.
12588 (font_find_for_lface, font_prepare_composition): Adjust prototype.
12589 (font_otf_capability, font_drive_otf): Delete their externs.
12590
12591 * font.c [HAVE_M17N_FLT]: Include <m17n-flt.h>.
12592 (font_charset_alist, font_registry_charsets): Move from xfont.c
12593 and rename.
12594 (font_prop_validate_otf): New function.
12595 (font_property_table): Register it for QCotf.
12596 (DEVICE_DELTA, adjust_anchor, REPLACEMENT_CHARACTER)
12597 (font_drive_otf): Delete.
12598 (font_prepare_composition): New arg F. Adjust for the change of
12599 lispy gstring.
12600 (font_find_for_lface): New arg C.
12601 (font_load_for_face): Adjust for the change of font_find_for_lface.
12602 (Ffont_make_gstring, Ffont_fill_gstring): Adjust for the change of
12603 lispy gstring.
12604 (Ffont_shape_text): New function.
12605 (Fopen_font): If the font size is not given, use 12-pixel.
12606 (Ffont_at): New arg STRING.
12607 (syms_of_font): Initalize font_charset_alist.
12608 Declare Ffont_shape_text as a Lisp function. Call syms_of_XXfont
12609 conditionally.
12610
12611 * fontset.c (fontset_find_font) [USE_FONT_BACKEND]: Try multiple
12612 fonts of the same font-spec. Change the format of RFONT-DEF.
12613 (face_for_char, make_fontset_for_ascii_face, Finternal_char_font):
12614 Adjust for the change of RFONT-DEF.
12615 (Fset_fontset_font) [USE_FONT_BACKEND]: Handle new format of font-spec.
12616
12617 * ftfont.h: New file.
12618
12619 * ftfont.c: Don't include Freetype headers. Include "ftfont.h".
12620 (struct ftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
12621 (ftfont_open) [HAVE_LIBOTF]: Initialize the above members.
12622 (ftfont_driver) [HAVE_LIBOTF, HAVE_M17N_FLT]: Don't set
12623 font_otf_capability and font_drive_otf, set ftfont_shape.
12624 (ftfont_list): Adjust for the change of :otf property value.
12625 (struct MFLTFontFT) [HAVE_LIBOTF, HAVE_M17N_FLT]: New struct.
12626 (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_check_otf)
12627 (adjust_anchor, ftfont_drive_otf, ftfont_shape_by_flt)
12628 (ftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
12629 (DEVICE_DELTA) [HAVE_LIBOTF, HAVE_M17N_FLT]: New macro.
12630 (otf_gstring, gstring, m17n_flt_initialized): New variables.
12631
12632 * w32term.c (x_draw_composite_glyph_string_foreground):
12633 Adjust for the change of lispy gstring.
12634
12635 * xdisp.c (handle_composition_prop): Adjust for the change of
12636 lispy gstring. Call a function for auto-composition with the
12637 third arg it->window.
12638 (fill_composite_glyph_string): Adjust for the change of lispy string.
12639 (x_produce_glyphs): Adjust for the change of font_prepare_compositionl.
12640
12641 * xfaces.c (set_font_frame_param): Adjust for the change of
12642 font_find_for_lface.
12643
12644 * xfont.c (x_font_charset_alist): Move to font.c and rename.
12645 (xfont_registry_charsets): Likewise. Change caller.
12646 (syms_of_xfont): Don't handle x_font_charset_alist.
12647
12648 * xftfont.c: Include "ftfont.h".
12649 (struct xftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
12650 (xftfont_open) [HAVE_LIBOTF]: Initialize the above members.
12651 (xftfont_close) [HAVE_LIBOTF]: Close otf.
12652 (xftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
12653 (syms_of_xftfont) [HAVE_LIBOTF, HAVE_M17N_FLT]:
12654 Set xftfont_driver.shape to xftfont_shape.
12655
12656 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
12657 the change of lispy gstring.
12658
12659 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12660
12661 * ftxfont.c (ftxfont_end_for_frame): Fix array indexing error.
12662
12663 2008-02-01 Jason Rumney <jasonr@gnu.org>
12664
12665 * w32font.c (w32font_draw): Fill background manually.
12666
12667 2008-02-01 Jason Rumney <jasonr@gnu.org>
12668
12669 * font.c (Qfontp): Remove unused symbol.
12670 (QCantialias): New symbol.
12671 (syms_of_font): Define it.
12672 (font_property_table): Set a validator for QCantialias.
12673
12674 * w32font.c (CLEARTYPE_QUALITY, CLEARTYPE_NATURAL_QUALITY):
12675 Define if not already.
12676 (QCfamily): Share with xfaces.c.
12677 (Qstandard, Qsubpixel, Qnatural): New symbols.
12678 (syms_of_w32font): Define them. Don't define QCfamily here.
12679 (w32_antialias_type, lispy_antialias_type): New functions.
12680 (w32_enumfont_pattern_entity): New arg requested_font.
12681 Set antialias parameter if non-default was requested.
12682 (fill_in_logfont): Fill in lfQuality if :antialias specified.
12683
12684 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12685
12686 * lread.c (read1): Undo the previous change.
12687
12688 2008-02-01 CHENG Gao <chenggao@gmail.com> (tiny change)
12689
12690 * frame.c (Fdelete_frame): Call font_update_drivers only when
12691 USE_FONT_BACKEND is defined.
12692
12693 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12694
12695 * font.h (struct font_bitmap): New member bits_per_pixel.
12696 (struct font_driver): New members start_for_frame and end_for_frame.
12697 (struct font_data_list): New struct.
12698 (font_put_frame_data, font_get_frame_data): Extern them.
12699
12700 * frame.h (struct frame): New member font_data_list.
12701
12702 * font.c (font_update_drivers): Call driver->start_for_frame and
12703 driver->end_for_frame at proper timings.
12704 (font_put_frame_data, font_get_frame_data): New functions.
12705 (Ffont_spec): Add usage in the docstring.
12706
12707 * frame.c (make_frame): Initialize f->font_data_list to NULL.
12708 (Fdelete_frame): Call font_update_drivers.
12709
12710 * xftfont.c (struct xftface_info): Delete the member xft_draw.
12711 (xftfont_prepare_face, xftfont_done_face): Adjust for the above change.
12712 (xftfont_get_xft_draw): New function.
12713 (xftfont_draw): Get XftDraw by xftfont_get_xft_draw.
12714 (xftfont_end_for_frame): New function.
12715 (syms_of_xftfont): Set xftfont_driver.end_for_frame.
12716
12717 * ftxfont.c (ftxfont_get_gcs): Rename from ftxfont_create_gcs.
12718 Change argument. Cache GCs in the per-frame data.
12719 (struct ftxfont_frame_data): New struct.
12720 (ftxfont_draw_bitmap): New arg gc_fore and flush.
12721 (ftxfont_prepare_face, ftxfont_done_face): Delete them.
12722 (ftxfont_draw): Get GCs by ftxfont_get_gcs. Reflect s->clip in GCs.
12723 (ftxfont_end_for_frame): New function.
12724 (syms_of_ftxfont): Set ftxfont_driver.end_for_frame.
12725
12726 * ftfont.c (ftfont_get_bitmap): Set bitmap->bits_per_pixel.
12727
12728 2008-02-01 Kenichi Handa <handa@m17n.org>
12729
12730 * xselect.c (Vselection_coding_system)
12731 (Vnext_selection_coding_system): Delete them.
12732 (syms_of_xselect): Don't declare selection-coding-system and
12733 next-selection-coding-system. They are declared in select.el.
12734
12735 2008-02-01 Jason Rumney <jasonr@gnu.org>
12736
12737 * w32term.h (WM_UNICHAR, UNICODE_NOCHAR): Define if not already.
12738
12739 * w32fns.c: Include imm.h.
12740 (get_composition_string_fn, get_ime_context_fn): New optional
12741 system functions.
12742 (globals_of_w32fns): Load them from imm32.dll.
12743 (ignore_ime_char): New flag.
12744 (w32_wnd_proc): Handle WM_UNICHAR, WM_IME_CHAR and
12745 WM_IME_ENDCOMPOSITION messages.
12746
12747 * w32term.c (w32_read_socket) [WM_UNICHAR]: Handle as
12748 MULTIBYTE_CHAR_KEYSTROKE_EVENT.
12749
12750 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12751
12752 * lread.c (READCHAR): Call readchar with the 2nd arg NULL.
12753 (READCHAR_REPORT_MULTIBYTE): New macro.
12754 (readchar): New 2nd arg MULTIBYTE.
12755 (read1): Use READCHAR_REPORT_MULTIBYTE for the first read.
12756 Make symbol's name multibyte according to the multibyteness of the
12757 source.
12758
12759 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12760
12761 * xfaces.c (face_for_overlay_string): Call lookup_face with
12762 correct arguments (fix of synching with the trunk).
12763
12764 2008-02-01 Kenichi Handa <handa@m17n.org>
12765
12766 * font.c (font_prop_validate_symbol, font_prop_validate_style)
12767 (font_prop_validate_non_neg, font_prop_validate_spacing):
12768 Delete argument prop_index.
12769 (font_property_table): Change arguments to validater. Change Callers.
12770 (font_lispy_object): Delete.
12771 (font_at): Use font_find_object instead fo font_lispy_object.
12772
12773 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12774
12775 * fileio.c (Fexpand_file_name): Adjust multibyteness of directory
12776 and file names.
12777
12778 2008-02-01 Jason Rumney <jasonr@gnu.org>
12779
12780 * w32font.c (add_font_name_to_list): Avoid vertical fonts.
12781 (font_matches_spec): Remove debug output.
12782 (add_font_entity_to_list): Avoid using substituted fonts.
12783
12784 2008-02-01 Jason Rumney <jasonr@gnu.org>
12785
12786 * doc.c (Fsnarf_documentation):
12787 * Makefile.in (temacs${EXEEXT}, mostlyclean): Undo last change.
12788
12789 2008-02-01 Miles Bader <miles@gnu.org>
12790
12791 * dispextern.h (struct glyph_row): Only define "clip" field if
12792 HAVE_WINDOW_SYSTEM is defined.
12793
12794 2008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
12795
12796 Fix up multi-tty merge.
12797
12798 * xterm.c (handle_one_xevent): Remove duplicate code and fix up nesting
12799 and indentation.
12800
12801 * xfaces.c (free_realized_face, clear_face_gcs):
12802 Include font_done_for_face in the input_blocked section, just in case.
12803
12804 * xdisp.c (decode_mode_spec): Use terminal-local coding systems.
12805 (get_char_face_and_encoding): Undo last change and remove the *other*
12806 duplicate definition (i.e. keep the one that's better scoped and that
12807 includes code for the font-backend).
12808
12809 * terminal.c (create_terminal): Default keyboard_coding to
12810 `no-conversion' and terminal_coding to `undecided'.
12811
12812 * lread.c (read1): Use XSETPVECTYPE to set a pseudovector's tag.
12813
12814 * fontset.c (free_realized_fontsets): Check that the table entry does
12815 contain a fontset before trying to compare it to `base'.
12816
12817 * emacs.c (main): Move syms_of_data, syms_of_fileio, syms_of_alloc,
12818 syms_of_charset, and syms_of_coding earlier because init_window_once
12819 now needs Vcoding_system_hash_table to be setup.
12820
12821 * coding.h (default_buffer_file_coding): Remove.
12822
12823 * coding.c (default_buffer_file_coding): Remove.
12824 (Fterminal_coding_system, Fkeyboard_coding_system): Use ->id rather
12825 than ->symbol, and use the terminal-local coding system.
12826 (syms_of_coding): Don't setup the coding-systems that are not
12827 terminal-local.
12828 (Fdefine_coding_system_internal): Use XCAR/XCDR.
12829
12830 * chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table):
12831 Use XSETPVECTYPE now that XSETCHAR_TABLE doesn't set the tag anymore.
12832
12833 * alloc.c (Fmake_char_table, make_sub_char_table): Remove. They're now
12834 in chartab.c and were re-added here by mistake.
12835 (Fpurecopy): Use XSETPVECTYPE after copying a COMPILED pseudovector.
12836
12837 * doc.c (Fsnarf_documentation):
12838 * Makefile.in (temacs${EXEEXT}, mostlyclean): Move buildobj.lst from
12839 src to etc.
12840
12841 * ChangeLog.10: Add mistakenly removed entry.
12842
12843 2008-02-01 Dan Nicolaescu <dann@ics.uci.edu>
12844
12845 * Makefile.in (fringe.o, minibuf.o): Fix dependencies.
12846
12847 2008-02-01 Miles Bader <miles@gnu.org>
12848
12849 * xdisp.c (get_char_face_and_encoding): Remove extraneous definition.
12850 Add extra args to FACE_FOR_CHAR.
12851
12852 2008-02-01 Kenichi Handa <handa@m17n.org>
12853
12854 * keymap.c (where_is_internal_1): If key is a cons, store the copy
12855 in sequence.
12856
12857 * chartab.c (map_sub_char_table, map_char_table): If the range
12858 contains just one character, call the function with that character
12859 even if the depth is not 3.
12860
12861 2008-02-01 Jason Rumney <jasonr@gnu.org>
12862
12863 * w32font.c (w32font_text_extents): Calculate metrics for the
12864 whole string.
12865
12866 2008-02-01 Jason Rumney <jasonr@gnu.org>
12867
12868 * w32xfns.c (get_next_msg): Consolidate WM_PAINT messages.
12869
12870 2008-02-01 Jason Rumney <jasonr@gnu.org>
12871
12872 * w32term.c (x_set_glyph_string_clipping): Use
12873 get_glyph_string_clip_rects.
12874 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
12875 Adjust for the change of struct glyph_string.
12876
12877 * w32font.c (w32font_draw): Do clipping here.
12878
12879 2008-02-01 Kenichi Handa <handa@m17n.org>
12880
12881 * xftfont.c (xftfont_draw): Adjust for the change of struct
12882 glyph_string.
12883
12884 * xterm.c (x_set_glyph_string_clipping): Use
12885 get_glyph_string_clip_rects.
12886 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
12887 Adjust for the change of struct glyph_string.
12888
12889 * xdisp.c (get_glyph_string_clip_rects): Reflect s->row->clip to
12890 the resulting clip(s}.
12891 (expose_overlaps): Add arg r. Change callers. Set it to
12892 row->clip temporarily.
12893 (expose_window): Redraw rows overlapping the exposed area.
12894
12895 * dispextern.h (struct glyph_row): New member clip.
12896 (struct glyph_string): Delete members clip_x, clip_y, clip_width,
12897 clip_height, new member clip, and num_clips.
12898
12899 2008-02-01 Kenichi Handa <handa@m17n.org>
12900
12901 * data.c (Fchar_or_string_p): Fix docstring.
12902
12903 2008-02-01 Kenichi Handa <handa@m17n.org>
12904
12905 * xftfont.c (xftfont_draw): If s->font_info != s->face->font_info,
12906 create a temporary XftDraw object.
12907
12908 2008-02-01 Kenichi Handa <handa@m17n.org>
12909
12910 * font.c (Ffontp): Fix docstring.
12911
12912 * coding.c (detect_coding_iso_2022): Don't treat SI/SO codes as a
12913 strong evidence of ISO-2022.
12914
12915 2008-02-01 Kenichi Handa <handa@m17n.org>
12916
12917 * abbrev.c (abbrev_check_chars): Use CHAR_TABLE_REF, not
12918 SYNTAX_ENTRY_FOLLOW_PARENT.
12919
12920 2008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
12921
12922 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and change
12923 its type.
12924 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
12925 Update to the new type of weak_hash_tables and next_weak.
12926
12927 * lisp.h (struct Lisp_Hash_Table): Change next_weak from Lisp_Object to
12928 a plain C pointer to Lisp_Hash_Table.
12929
12930 * lisp.h (XGCTYPE, GC_HASH_TABLE_P, GC_NILP, GC_NUMBERP, GC_NATNUMP)
12931 (GC_INTEGERP, GC_SYMBOLP, GC_MISCP, GC_VECTORLIKEP, GC_STRINGP)
12932 (GC_CONSP, GC_FLOATP, GC_VECTORP, GC_OVERLAYP, GC_MARKERP)
12933 (GC_INTFWDP, GC_BOOLFWDP, GC_OBJFWDP, GC_BUFFER_OBJFWDP)
12934 (GC_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP)
12935 (GC_KBOARD_OBJFWDP, GC_PSEUDOVECTORP, GC_WINDOW_CONFIGURATIONP)
12936 (GC_PROCESSP, GC_WINDOWP, GC_SUBRP, GC_COMPILEDP, GC_BUFFERP)
12937 (GC_SUB_CHAR_TABLE_P, GC_CHAR_TABLE_P, GC_BOOL_VECTOR_P, GC_FRAMEP)
12938 (GC_EQ): Remove since they've been identical to their non-GC_
12939 alter-egos ever since the markbit was eradicated.
12940
12941 * alloc.c:
12942 * buffer.c:
12943 * buffer.h:
12944 * data.c:
12945 * fileio.c:
12946 * filelock.c:
12947 * fns.c:
12948 * frame.h:
12949 * lisp.h:
12950 * macterm.c:
12951 * print.c:
12952 * process.c:
12953 * w32fns.c:
12954 * w32menu.c:
12955 * w32term.c:
12956 * xfns.c:
12957 * xmenu.c:
12958 * xterm.c: Replace uses of GC_* macros with the non-GC_ versions.
12959
12960 2008-02-01 Kenichi Handa <handa@m17n.org>
12961
12962 * chartab.c (map_sub_char_table): Make it work for the top-level
12963 char-table. Fix handling of parent char-table.
12964 (map_char_table): Adjust for the above change.
12965
12966 2008-02-01 Jason Rumney <jasonr@gnu.org>
12967
12968 * w32font.c (Qgdi): Rename from Qw32.
12969
12970 2008-02-01 Jason Rumney <jasonr@gnu.org>
12971
12972 * w32bdf.c (get_quoted_string): Make function static.
12973
12974 2008-02-01 Kenichi Handa <handa@m17n.org>
12975
12976 * xftfont.c (xftfont_open): If one of font's ASCII glyph has
12977 bigger ascent and descent than those of the font, use them as
12978 font's ascent and descent.
12979
12980 2008-02-01 Kenichi Handa <handa@m17n.org>
12981
12982 * Makefile.in (${lispsource}international/charprop.el): Move this
12983 target within "#ifdef HAVE_UNIDATA" and "#endif".
12984
12985 2008-02-01 Kenichi Handa <handa@m17n.org>
12986
12987 * Makefile.in (lisp): Add ${lispsource}language/tai-viet.el.
12988 (shortlisp): Add ../lisp/language/tai-viet.el.
12989
12990 2008-02-01 Ulrich Mueller <ulm@gentoo.org>
12991
12992 * Makefile.in (${lispsource}international/charprop.el): Depend on
12993 temacs${EXEEXT}.
12994
12995 2008-02-01 Jason Rumney <jasonr@gnu.org>
12996
12997 * w32font.c (w32font_close): Delete the GDI font object.
12998
12999 * w32menu.c: Include character.h.
13000
13001 * w32proc.c: Likewise.
13002
13003 * w32select.c: Likewise.
13004
13005 * makefile.w32-in (w32proc.o): Depend on character.h.
13006
13007 2008-02-01 Jason Rumney <jasonr@gnu.org>
13008
13009 * w32fns.c (syms_of_w32fns): Use DEFSYM macro.
13010
13011 * w32menu.c (syms_of_w32menu): Likewise.
13012
13013 * w32proc.c (syms_of_ntproc): Likewise.
13014
13015 * w32select.c (syms_of_w32select): Likewise.
13016
13017 * w32term.c (syms_of_w32term): Likewise.
13018
13019 2008-02-01 Jason Rumney <jasonr@gnu.org>
13020
13021 * w32font.c (w32font_draw): Delete brush after using it.
13022
13023 2008-02-01 Jason Rumney <jasonr@gnu.org>
13024
13025 * w32font.c (w32font_open): Don't set font_idx.
13026 (w32font_text_extents): Try GetTextExtentPoint32W before defaulting
13027 to font settings.
13028 (w32font_draw): Fill background explicitly.
13029
13030 2008-02-01 Jason Rumney <jasonr@gnu.org>
13031
13032 * w32term.c (w32_initialize): Don't call w32font_initialize.
13033
13034 * w32font.c (w32font_info): Remove subranges.
13035 (QCsubranges, Qmodern, Qswiss, Qroman): Remove.
13036 (QCfamily, Qmonospace, Qsans_serif, Qmono, Qsans, Qsans__serif)
13037 (Qraster, Qoutline, Qlatin, Qgreek, Qcoptic, Qcyrillic, Qarmenian)
13038 (Qhebrew, Qarabic, Qsyriac, Qnko, Qthaana, Qdevanagari, Qbengali)
13039 (Qgurmukhi, Qgujarati, Qoriya, Qtamil, Qtelugu, Qkannada)
13040 (Qmalayalam, Qsinhala, Qthai, Qlao, Qtibetan, Qmyanmar, Qgeorgian)
13041 (Qhangul, Qethiopic, Qcherokee, Qcanadian_aboriginal, Qogham)
13042 (Qrunic, Qkhmer, Qmongolian, Qsymbol, Qbraille, Qhan)
13043 (Qideographic_description, Qcjk_misc, Qkana, Qbopomofo, Qkanbun)
13044 (Qyi, Qbyzantine_musical_symbol, Qmusical_symbol, Qmathematical):
13045 New symbols.
13046 (font_callback_data): New struct.
13047 (w32font_list, w32font_match): Use it.
13048 (w32font_open): Don't populate subranges.
13049 (w32font_has_char): Use script Lisp symbols, not subrange bitmask.
13050 (w32font_encode_char): Always return unicode code-point as-is.
13051 (w32font_text_extents): Supply a transformation matrix to
13052 GetGlyphOutline. Never look up by glyph index. Avoid looping
13053 twice. Use unicode version of GetTexExtentPoint32 instead of
13054 glyph index version.
13055 (set_fonts_frame): Remove.
13056 (w32_enumfont_pattern_entity): Add frame parameter, use it to
13057 set frame parameter. Use backward compatible fake foundries.
13058 Save generic family in extra slot under QCfamily. Make width slot
13059 constant. Save QCspacing value. Save list of scripts instead of
13060 binary subranges.
13061 (w32_generic_family, logfonts_match, font_matches_spec): New functions.
13062 (add_font_entity_to_list): Use font_callback_data struct. Filter
13063 unwanted fonts.
13064 (add_one_font_entity_to_list): Use font_callback_data struct.
13065 (w32_registry): Default to iso10646_1.
13066 (fill_in_logfont): Use dpi from extra slot. Don't bother with
13067 string font registries. Don't fill in font name if it is a generic
13068 family name, fill family instead. Use spacing, family and script
13069 extra info to fill pitch, family and charset fields.
13070 (list_all_matching_fonts): Use font_callback_data struct.
13071 (unicode_range_for_char): Remove.
13072 (font_supported_scripts): New function.
13073 (w32font_initialize): Remove.
13074 (syms_of_w32font): Update which symbols are defined.
13075
13076 2008-02-01 Jason Rumney <jasonr@gnu.org>
13077
13078 * font.c (font_pixel_size): Reverse assq_no_quit args.
13079
13080 * w32term.h (FONT_WIDTH): Report max width, not average.
13081 (FONT_MAX_WIDTH): Remove.
13082 (FONT_AVG_WIDTH): New macro.
13083
13084 * xfaces.c (Fx_list_fonts) [WINDOWSNT]: Remove Windows only
13085 redefinition of FONT_WIDTH.
13086
13087 * w32term.c (x_font_min_bounds): Use FONT_AVG_WIDTH.
13088 (w32_cache_char_metrics): Use FONT_WIDTH.
13089
13090 * w32fns.c (w32_load_system_font, w32_list_fonts): Use FONT_AVG_WIDTH.
13091
13092 2008-02-01 Jason Rumney <jasonr@gnu.org>
13093
13094 * w32font.c (w32font_open): Make lfHeight negative.
13095
13096 * w32fns.c (x_default_font_parameter): Use new style font name.
13097 (Fx_create_frame, x_create_tip_frame): Initialize resx and resy.
13098
13099 2008-02-01 Jason Rumney <jasonr@gnu.org>
13100
13101 * w32font.c (QCsubranges): New symbol.
13102 (w32font_open, w32font_has_char): Get subranges from subproperty
13103 of extra.
13104 (w32_enumfont_pattern_entity): Set subranges as subproperty of extra.
13105 (syms_of_w32font): Define :subranges symbol.
13106
13107 * font.c (font_put_extra): Expose externally.
13108
13109 * font.h (font_put_extra): Move declaration from font.c.
13110
13111 * font.c (Ffont_get): Use font driver to determine otf capability.
13112 (adjust_anchor): Check if driver defines anchor_point before using.
13113
13114 * w32font.c (w32font_open): Handle size, height and pixel_size better.
13115 (w32font_draw): Use options.
13116 (w32_enumfont_pattern_entity): Set size to 0 for scalable fonts.
13117 Fix detection of truetype fonts.
13118 (registry_to_w32_charset): Handle charsets other than iso8859-1
13119 expressed as lisp symbols.
13120 (w32_registry): Express charset as lisp symbol.
13121 (fill_in_logfont): Reverse pixel and point height logic.
13122 Don't set width here. Set quality to default.
13123
13124 * w32fns.c (w32_load_system_font): Fix detecting FIXED_PITCH fonts.
13125 (x_to_w32_font): Fill in lfPitchAndFamily correctly.
13126
13127 * xterm.c (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
13128 Remove redundant loop and allocation.
13129
13130 * makefile.w32-in (font.o, w32font.o): New objects.
13131 (fontset.o, xdisp.o, xfaces.o, w32fns.o, w32term.o): Depend on font.h.
13132 (FONTOBJ): New group of objects conditioned on USE_FONT_BACKEND.
13133
13134 * xdisp.c (fill_composite_glyph_string): Make the first arg to
13135 STORE_XCHARB a valid l-value.
13136
13137 * w32term.c (w32_native_per_char_metric): Swap width and rbearing
13138 calculations for non-Truetype fonts.
13139 (x_draw_glyph_string): Sync with xterm.c.
13140 (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
13141 Remove redundant code.
13142 (w32_initialize) [USE_FONT_BACKEND]: Call w32font_initialize.
13143
13144 * w32term.h (w32_output_data) [USE_FONT_BACKEND]: Add fontp member.
13145 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro from xterm.h.
13146
13147 * w32fns.c [USE_FONT_BACKEND]: Port font backend changes from xfns.c.
13148 (x_to_w32_charset, w32_to_x_charset): Expose externally.
13149
13150 * w32font.c: New file for w32 font backend.
13151
13152 2008-02-01 Kenichi Handa <handa@m17n.org>
13153
13154 * term.c: Don't include "buffer.h" twice.
13155
13156 2008-02-01 Kenichi Handa <handa@m17n.org>
13157
13158 * character.c (Funibyte_string): New function.
13159 (syms_of_character): Defsubr it.
13160
13161 2008-02-01 Jason Rumney <jasonr@gnu.org>
13162
13163 * w32term.c [USE_FONT_BACKEND]:
13164 (x_get_font_repertory, note_mouse_movement, x_set_mouse_face_gc)
13165 (x_set_glyph_string_clipping, x_set_glyph_string_clipping_exactly)
13166 (x_draw_glyph_string, x_draw_glyph_string_foreground)
13167 (x_draw_composite_glyph_string_foreground, x_new_fontset2)
13168 (x_free_frame_resources): Sync with xterm.c.
13169
13170 2008-02-01 Andreas Schwab <schwab@suse.de>
13171
13172 * lread.c (read1): Use CHAR_TABLE_STANDARD_SLOTS to validate
13173 char-table size.
13174
13175 2008-02-01 Kenichi Handa <handa@m17n.org>
13176
13177 * font.c (check_otf_features): Define it regardless of HAVE_LIBOTF.
13178
13179 2008-02-01 Kenichi Handa <handa@m17n.org>
13180
13181 * ftfont.c (ftfont_driver): Delete font_otf_gsub and
13182 font_otf_gpos, add font_drive_otf.
13183
13184 * fontset.c (fontset_find_font): Pay attention to font size
13185 specified for a font.
13186 (reorder_font_vector): Check contents of font_def.
13187
13188 * font.c (struct otf_list): Delete it.
13189 (otf_list): Make it a lisp variable.
13190 (otf_open): Use lispy otf_list.
13191 (generate_otf_features): Rename from parse_gsub_gpos_spec.
13192 (check_otf_features): New function.
13193 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
13194 New functions.
13195 (font_drive_otf): New function merging font_otf_gsub and
13196 font_otf_gpos.
13197 (font_open_for_lface): New arg spec. Change argument order.
13198 (font_load_for_face): Adjust for the change of font_open_for_lface.
13199 (Ffont_drive_otf): New function merging Ffont_otf_gsub and
13200 Ffont_otf_gpos.
13201 (syms_of_font): Staticpro otf_list. Delete defsubr of
13202 Sfont_otf_gsub and Sfont_otf_gpos. Defsubr Sfont_drive_otf.
13203
13204 * xfaces.c (set_font_frame_param): Adjust for the change of
13205 font_open_for_lface.
13206
13207 * font.h (font_open_for_lface): Adjust prototype.
13208 (struct font_driver): Delete members otf_gsub and otf_gpos, add
13209 member otf_drive.
13210 (font_otf_gsub, font_otf_gpos): Delete externs.
13211 (font_drive_otf): Extern it.
13212
13213 2008-02-01 Kenichi Handa <handa@m17n.org>
13214
13215 * font.c (font_at): If the window W is not on a window system,
13216 return Qnil.
13217
13218 * coding.c (produce_chars, encode_coding): Don't call
13219 insert_from_gap if no characters to produce.
13220
13221 2008-02-01 Kenichi Handa <handa@m17n.org>
13222
13223 * fontset.c (free_realized_fontsets): Avoid unnecessary call of
13224 Fclear_face_cache.
13225
13226 * xfaces.c (face_for_font): Check also face->font==font->font.font.
13227
13228 2008-02-01 Miles Bader <miles@gnu.org>
13229
13230 * emacs.c (main): Change default value of `enable_font_backend' to 1.
13231 Parse "--disable-font-backend" option.
13232 (standard_args): Add "--disable-font-backend" option.
13233
13234 2008-02-01 Kenichi Handa <handa@m17n.org>
13235
13236 * fontset.c (fontset_find_font): New function.
13237 (fontset_font): Use fontset_find_font.
13238 (make_fontset_for_ascii_face): Don't set face ID in rfont_def.
13239 Register the specified font for all Latin characters.
13240 (new_fontset_from_font): Register the specified font for all Latin
13241 characters.
13242 (dump_fontset): For a realized fontset, include the base fontset
13243 name in the returned vector.
13244
13245 2008-02-01 Kenichi Handa <handa@m17n.org>
13246
13247 * character.h (CHAR_STRING): Cast C to unsigned on calling
13248 char_string.
13249
13250 * character.c (char_string): Type of arg C changed to unsigned.
13251 Signal an error if C is an invalid character code.
13252
13253 * editfns.c (general_insert_function, Fchar_to_string):
13254 Use CHARACTERP, not INTEGERP.
13255
13256 2008-02-01 Kenichi Handa <handa@m17n.org>
13257
13258 * character.h (MIN_MULTIBYTE_LEADING_CODE)
13259 (MAX_MULTIBYTE_LEADING_CODE): New macros.
13260
13261 * regex.c (analyse_first): Fix for multibyte characters in "case
13262 charset:" and "case categoryspec:".
13263
13264 2008-02-01 Andreas Schwab <schwab@suse.de>
13265
13266 * Makefile.in (LIBES): Move standard libraries to the end.
13267
13268 2008-02-01 Kenichi Handa <handa@m17n.org>
13269
13270 * alloc.c (Fgarbage_collect): If nextb->text->inhibit_shrinking is
13271 nonzero, don't shrink the buffer nextb.
13272
13273 * buffer.h (struct buffer_text): New member inhibit_shrinking.
13274
13275 * coding.c (coding_alloc_by_making_gap): New arg offset.
13276 (alloc_destination): Call coding_alloc_by_making_gap with the arg
13277 offset.
13278 (decode_coding_iso_2022): Update coding->safe_charsets.
13279 (decode_coding_gap): Temporarily set
13280 current_buffer->text->inhibit_shrinking to 1.
13281
13282 2008-02-01 Kenichi Handa <handa@m17n.org>
13283
13284 * xterm.c (x_draw_composite_glyph_string_foreground): Fix
13285 indexing into elements of s->cmp and s->char2b.
13286
13287 2008-02-01 Juanma Barranquero <lekktu@gmail.com>
13288
13289 * regex.c (RE_STRING_CHAR_AND_LENGTH) [! emacs]: Add missing arg `len'.
13290
13291 2008-02-01 Kenichi Handa <handa@m17n.org>
13292
13293 * regex.c (GET_CHAR_BEFORE_2, GET_CHAR_AFTER): Check the variable
13294 target_multibyte instead of multibyte.
13295 (re_match_2_internal): Call bcmp_translate with target_multibyte.
13296 (bcmp_translate): Change the argument name from multibyte to
13297 target_multibyte.
13298
13299 2008-02-01 Kenichi Handa <handa@m17n.org>
13300
13301 These changes are to compile a regexp into a pattern that can be
13302 used both for multibyte and unibyte targets.
13303
13304 * Makefile.in (search.o): Depend on charset.h.
13305
13306 * character.c (multibyte_char_to_unibyte_safe): New function.
13307
13308 * search.c: Include "charset.h".
13309 (compile_pattern_1): Delete argument multibyte. Don't set
13310 cp->buf.target_multibyte here. Set cp->buf.charset_unibyte.
13311 (compile_pattern): Don't compare cp->buf.target_multibyte.
13312 Compare cp->buf.charset_unibyte.
13313 (compile_pattern): Set cp->buf.target_multibyte.
13314
13315 * lisp.h (multibyte_char_to_unibyte_safe): Extern it.
13316
13317 * regex.h (struct re_pattern_buffer): New member charset_unibyte.
13318
13319 * regex.c (RE_STRING_CHAR, RE_STRING_CHAR_AND_LENGTH): New arg
13320 multibyte. Change callers.
13321 (RE_CHAR_TO_MULTIBYTE, RE_CHAR_TO_UNIBYTE): New macros.
13322 (MAKE_CHAR_MULTIBYTE, MAKE_CHAR_UNIBYTE): Delete. Change callers
13323 to use RE_CHAR_TO_MULTIBYTE and RE_CHAR_TO_UNIBYTE, respectively.
13324 (SETUP_ASCII_RANGE, SETUP_UNIBYTE_RANGE): New macros.
13325 (SETUP_MULTIBYTE_RANGE): Generate a more compact range_table.
13326 (regex_compile): Make the compiled pattern usable both for
13327 multibyte and unibyte targets.
13328 (analyse_first): Make the fastmap usable both for multibyte and
13329 unibyte targets.
13330 (TRANSLATE_VIA_MULTIBYTE): Delete.
13331 (re_match_2_internal): Pay attention to the case that the
13332 multibyteness of bufp and target may be different.
13333
13334 2008-02-01 Kenichi Handa <handa@m17n.org>
13335
13336 * xdisp.c (x_produce_glyphs): When a font is not found, make the
13337 empty box occupy at least one column width.
13338
13339 2008-02-01 Miles Bader <miles@gnu.org>
13340
13341 * Makefile.in: Remove redundant HAVE_XFT clause.
13342
13343 2008-02-01 Kenichi Handa <handa@m17n.org>
13344
13345 * xrdb.c (x_load_resources): Setup the default fontSet X resource.
13346
13347 2008-02-01 Kenichi Handa <handa@m17n.org>
13348
13349 * fontset.c (Finternal_char_font): Fix for the case of POSITION
13350 being nil.
13351
13352 2008-02-01 Kenichi Handa <handa@m17n.org>
13353
13354 * xftfont.c (xftfont_open): Call FcConfigSubstitute.
13355
13356 2008-02-01 Kenichi Handa <handa@m17n.org>
13357
13358 * xftfont.c (xftfont_open): Don't enable antialias explicitly.
13359
13360 2008-02-01 Kenichi Handa <handa@m17n.org>
13361
13362 * search.c (simple_search): Fix previous change.
13363
13364 2008-02-01 Kenichi Handa <handa@m17n.org>
13365
13366 * xftfont.c (ftfont_font_format): Extern declaration.
13367
13368 * frame.c (x_set_font): Fix the second arg to fs_query_fontset.
13369
13370 * xfont.c (xfont_driver): Initialize ftfont_driver.type by 0.
13371 (xfont_list): Don't directly use Lisp_Object as an operand of &&.
13372
13373 * ftfont.c (ftfont_driver): Initialize ftfont_driver.type by 0.
13374 (ftfont_font_format): Fix previous change.
13375
13376 * font.h (Ffont_xlfd_name): EXFUN it.
13377
13378 * font.c (font_parse_xlfd): Fix the array size of `f'.
13379 (register_font_driver): Use EQ to compare driver->type.
13380
13381 * xfns.c (xic_create_xfontset2) [USE_FONT_BACKEND]: New function.
13382 (create_frame_xic) [USE_FONT_BACKEND]: Call xic_create_xfontset2.
13383 (xic_set_xfontset) [USE_FONT_BACKEND]: Likewise.
13384
13385 2008-02-01 Kenichi Handa <handa@m17n.org>
13386
13387 * ftfont.c (ftfont_pattern_entity, ftfont_list_generic_family)
13388 (ftfont_list, ftfont_font_format): Check if FC_FONTFORMAT is defined.
13389
13390 2008-02-01 Kenichi Handa <handa@m17n.org>
13391
13392 * xfont.c (xfont_open): Set font->format.
13393
13394 * xftfont.c (xftfont_open): Set font->format.
13395
13396 * ftfont.c (ftfont_pattern_entity): Add fontformat in a pattern.
13397 (ftfont_list): Include FC_FONTFORMAT in FcObject.
13398 (ftfont_open): Set font->format.
13399 (ftfont_font_format): New function.
13400
13401 * font.h (struct font): New member format.
13402
13403 * font.c (Qopentype): New variable.
13404 (syms_of_font): Defsym it.
13405 (Fquery_font): Change the format of the last element of the return
13406 value.
13407
13408 2008-02-01 Kenichi Handa <handa@m17n.org>
13409
13410 * xfns.c (xic_create_xfontset): Try the default fontset name as a
13411 last resort.
13412
13413 2008-02-01 Kenichi Handa <handa@m17n.org>
13414
13415 * coding.c (detect_coding_charset): Fix detection of multi-byte
13416 charset.
13417
13418 2008-02-01 Bob Halley <halley@play-bow.org> (tiny change)
13419
13420 * ccl.c (ccl_driver): If DST is NULL, set ccl->produced to 0.
13421
13422 2008-02-01 Kenichi Handa <handa@m17n.org>
13423
13424 * xdisp.c (get_next_display_element): Set it->face_id for the
13425 first component of a composition.
13426 (x_produce_glyphs): Check if the font is changed or not for composition.
13427
13428 2008-02-01 Kenichi Handa <handa@m17n.org>
13429
13430 * fontset.c (Qlatin): New variable.
13431 (syms_of_fontset): Define it as a lisp symbol.
13432 (Fset_fontset_font): If TARGET is `latin', use FONT_SPEC for ASCII.
13433
13434 2008-02-01 Kenichi Handa <handa@m17n.org>
13435
13436 * font.c (font_unparse_fcname): Pay attention to the case that
13437 some of font property is a null string.
13438
13439 2008-02-01 Kenichi Handa <handa@m17n.org>
13440
13441 * term.c: Include "composite.h".
13442 (encode_terminal_code): Output all components of composition.
13443 Check the size of encode_terminal_src.
13444 (produce_glyphs): For composition, call produce_composite_glyph.
13445 (append_composite_glyph, produce_composite_glyph): New functions.
13446
13447 * xdisp.c (x_produce_glyphs): In handling composition, if a font
13448 is not found, get font_info from the current ascii face.
13449
13450 2008-02-01 Kenichi Handa <handa@m17n.org>
13451
13452 * fileio.c (Finsert_file_contents): On replacing, temporarily bind
13453 buffer-file-name to Qnil before calling insert_from_buffer.
13454
13455 * font.c (font_unparse_fcname): Pay attention to the case that
13456 foundry is a null string.
13457
13458 2008-02-01 Kenichi Handa <handa@m17n.org>
13459
13460 * ftfont.c (ftfont_list): Allow registry "unicode-sip".
13461
13462 * font.c (Qunicode_sip): New variable.
13463 (syms_of_font): Declare it as a Lisp symbol.
13464
13465 * font.h (Qunicode_sip): Extern it.
13466
13467 2008-02-01 Kenichi Handa <handa@m17n.org>
13468
13469 * composite.c (get_composition_id): Pay attention to TAB component.
13470
13471 * xterm.c (x_draw_composite_glyph_string_foreground): Don't draw
13472 TAB. Adjust for the change of s->char2b which always points to
13473 the first element of allocated memory.
13474
13475 * xftfont.c (xftfont_text_extents): Fix calculation of descent value.
13476
13477 * xdisp.c (handle_composition_prop): Set it->c to the first
13478 non-TAB component.
13479 (fill_composite_glyph_string): Change argument.
13480 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the above change.
13481 (x_produce_glyphs): Fix handling of left/right padding.
13482
13483 2008-02-01 Kenichi Handa <handa@m17n.org>
13484
13485 * coding.c (detect_coding_system): Fix for handling off
13486 inhibit_iso_escape_detection. Fix for the case that no coding
13487 system is defined for a specific coding category.
13488
13489 2008-02-01 Kenichi Handa <handa@m17n.org>
13490
13491 * font.c (font_matching_entity): Delete unused local var.
13492
13493 * xftfont.c (xftfont_open): Call XftDefaultSubstitute before
13494 opening a font.
13495
13496 * fileio.c (Finsert_file_contents): On recovering a file, assume
13497 Unix-like eol.
13498 (choose_write_coding_system): On auto-saving a file, force
13499 Unix-like eol.
13500
13501 * coding.c (setup_coding_system): Fix setting of
13502 coding->common_flags based on eol_type.
13503 (coding_inherit_eol_type): If PARENT is not nil, be sure to
13504 inherit from it.
13505
13506 2008-02-01 Kenichi Handa <handa@m17n.org>
13507
13508 * alloc.c (NSTATICS): Increas to 0x600.
13509
13510 2008-02-01 Kenichi Handa <handa@m17n.org>
13511
13512 * ftfont.c (ftfont_driver): Set ftfont_driver.match to ftfont_match.
13513 (ftfont_list): Don't check :name property.
13514 (ftfont_match): New function.
13515 (ftfont_pattern_entity): If the pattern doesn't contain
13516 FC_SPACING, don't assume FC_MONO.
13517
13518 * font.h (struct font_driver): New member `match'.
13519 (font_update_drivers): Adjust prototype.
13520
13521 * font.c (font_parse_fcname, font_parse_name): Don't change :name
13522 property of FONT.
13523 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE, check_gstring): Define
13524 them unconditionally.
13525 (font_matching_entity): New function.
13526 (font_open_by_name): Try font_matching_entity if exact match is
13527 not found.
13528 (font_update_drivers): Delete the arg FONT. Return a list of
13529 actually used backends. Don't free faces, font caches here.
13530 Don't store data in frame parameters. Don't call x_set_font.
13531 (Ffont_spec): Store :name property as is.
13532 (Ffont_get): Check HAVE_LIBOTF before calling font_otf_capability.
13533 (Ffont_otf_gsub): Call font->driver->otf_gsub instead of font_otf_gsub.
13534 (Ffont_otf_gpos): Call font->driver->otf_gpos instead of font_otf_gpos.
13535 (Ffont_otf_alternates): Check if the driver has otf_gsub function.
13536 Call font->driver->otf_gsub instead of font_otf_gsub.
13537
13538 * frame.c (x_set_font_backend): Do more works that were done in
13539 font_update_drivers before.
13540
13541 * xfont.c (xfont_match): New function.
13542 (xfont_driver): Set xfont_driver.match to xfont_match.
13543 (xfont_draw): Set font in GC if necessary.
13544
13545 * ftxfont.c (ftxfont_match): New function.
13546 (syms_of_ftxfont): Set ftxfont_driver.match to ftxfont_match.
13547
13548 * xftfont.c (xftfont_match): New function.
13549 (syms_of_xftfont): Set xftfont_driver.match to xftfont_match.
13550
13551 2008-02-01 Kenichi Handa <handa@m17n.org>
13552
13553 * font.h (struct font): New member scalable.
13554 (struct font_driver): New arg ALTERANTE_SUBST to otf_gsub.
13555 (font_otf_gsub): Adjust prototype.
13556
13557 * font.c (font_otf_capability): Fix handling of the default langsys.
13558 (parse_gsub_gpos_spec): Change type to void. New arg nbytes.
13559 Check the contents of SPEC.
13560 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE): New macros.
13561 (check_gstring): New function.
13562 (REPLACEMENT_CHARACTER): New macro.
13563 (font_otf_gsub): New arg alternate_subst. Be sure to set all
13564 glyph codes of GSTRING.
13565 (font_otf_gpos): Be sure to set all glyph codes of GSTRING.
13566 (font_prepare_composition): Set cmp->glyph_len.
13567 (font_open_entity): Set font->scalable.
13568 (Ffont_get): Handle :otf property.
13569 (Ffont_otf_gsub, Ffont_otf_gpos, Ffont_otf_alternates): New
13570 functions.
13571 (Fquery_font): Use font->font.full_name.
13572 (syms_of_font): Defsubr Sfont_otf_gsub, Sfont_otf_gpos, and
13573 Sfont_otf_alternates.
13574
13575 * ftfont.c (ftfont_open): Set font->font.full_name and
13576 font->font.name properly. Fix calculation of font->font.height
13577 and font->min_width.
13578
13579 * ftxfont.c (ftxfont_create_gcs): New function.
13580 (ftxfont_draw_bitmap): Fix arg to ftfont_driver.get_bitmap.
13581 (ftxfont_draw_backgrond): Fix filling region.
13582 (ftxfont_default_fid): New function.
13583 (ftxfont_open): Set xfont->fid to the return value of
13584 ftxfont_default_fid.
13585 (ftxfont_prepare_face): Use ftxfont_create_gcs to create GCs.
13586 (ftxfont_done_face): Free only GCs that are created by
13587 ftxfont_create_gcs.
13588 (ftxfont_draw): If face->gc != s->gc, create proper GCs.
13589
13590 * xterm.c (x_set_glyph_string_clipping_exactly) [USE_FONT_BACKEND]:
13591 Clip to src->width, etc (not src->clip_XXX).
13592
13593 * xfns.c (x_create_tip_frame) [USE_FONT_BACKEND]: Handle
13594 FontBackend frame parameter.
13595
13596 2008-02-01 Kenichi Handa <handa@m17n.org>
13597
13598 * font.h (struct font_driver_list): New member `on'.
13599 (Fclear_font_cache): EXFUN it.
13600 (font_update_drivers): Extern it.
13601
13602 * font.c (font_unparse_fcname): Fix typo (swidth->width).
13603 (font_list_entities): Check driver_list->on.
13604 (register_font_driver): Initalize `on' member to 0.
13605 (font_update_drivers): New function.
13606 (Fclear_font_cache): Check driver_list->on.
13607
13608 * frame.h (Qfont_backend): Extern it.
13609 (x_set_font_backend): Extern it.
13610
13611 * frame.c (Qfont_backend): New variable.
13612 (frame_parms): New element for font-backend.
13613 (x_set_font_backend): New function.
13614
13615 * xfns.c (Fx_create_frame) [USE_FONT_BACKEND]: Handle
13616 FontBackend frame parameter.
13617 (x_frame_parm_handlers) [USE_FONT_BACKEND]: New element
13618 x_set_font_backend.
13619
13620 * xfont.c (xfont_list): Don't try listing by :name property if the
13621 name is not for XLFD.
13622
13623 2008-02-01 Kenichi Handa <handa@m17n.org>
13624
13625 * font.h (LGLYPH_FROM, LGLYPH_TO, LGLYPH_SET_FROM)
13626 (LGLYPH_SET_TO): New macros.
13627 (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WADJUST): Check if adjustment
13628 element of G is vector or not.
13629 (font_at): Extern it.
13630
13631 * font.c: Include window.h.
13632 (font_lispy_object): New function.
13633 (font_prepare_composition): Check LGLYPH_FORM (g) to detect the
13634 end of valid glyph.
13635 (font_close_object): Fix getting (struct font *).
13636 (font_at): New function.
13637 (Ffont_get): If FONT is a font-object, get entity from it.
13638 (Ffont_make_gstring): Initialize elements of glyphs with nil.
13639 (Ffont_fill_gstring): Use macro LGSTRING_XXX and LGLYPH_XXX. Fix
13640 range check.
13641 (Ffont_at): New function.
13642 (syms_of_font): Defsubr Sfont_at.
13643
13644 * xdisp.c (it_props): Move the entry for Qauto_composed to just
13645 before the entry for Qcomposition.
13646 (handle_auto_composed_prop): Call auto-composition-function with 4 args.
13647 (handle_composition_prop) [USE_FONT_BACKEND]: Set it->face_id from
13648 the font in gstring.
13649 (fill_composite_glyph_string) [USE_FONT_BACKEND]: Check
13650 LGLYPH_FORM (g) to detect the end of valid glyph.
13651 (x_produce_glyphs) [USE_FONT_BACKEND]: Don't update it->face_id if
13652 we are composing with gstring.
13653
13654 * xterm.c (x_draw_composite_glyph_string_foreground) [USE_FONT_BACKEND]:
13655 Check if adjustment is vector or not.
13656
13657 * Makefile.in (font.o): Make it depends on window.h.
13658
13659 2008-02-01 Kenichi Handa <handa@m17n.org>
13660
13661 * xterm.c (x_draw_composite_glyph_string_foreground): Check if
13662 adjustment is vector or not.
13663
13664 2008-02-01 Miles Bader <miles@gnu.org>
13665
13666 * character.h (CHECK_CHARACTER): Redefine in terms of CHECK_TYPE.
13667
13668 2008-02-01 Kenichi Handa <handa@m17n.org>
13669
13670 * font.h (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WIDTH, LGLYPH_WADJUST)
13671 (LGLYPH_SET_WIDTH): Adjusted for the change of LGLYPH format.
13672 (LGLYPH_ADJUSTMENT, LGLYPH_SET_ADJUSTMENT): New macros.
13673
13674 * font.c (font_merge_old_spec): Treat '*' in foundry as a wild card.
13675 (DEVICE_DELTA): Fix typo.
13676 (font_otf_gpos, font_prepare_compositio): Adjust for the change of
13677 LGLYPH format.
13678
13679 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
13680 the change of LGLYPH format.
13681
13682 2008-02-01 Kenichi Handa <handa@m17n.org>
13683
13684 * ftfont.c (ftfont_list): Fix typo.
13685 (ftfont_build_basic_charsets): Don't include letters with diacritics.
13686
13687 2008-02-01 Jan Djärv <jan.h.d@swipnet.se>
13688
13689 * xfaces.c (realize_non_ascii_face): Set face->extra to NULL.
13690
13691 * xftfont.c (xftfont_done_face): Call XftDrawDestroy only if
13692 xftface_info is non-NULL.
13693
13694 2008-02-01 Jan Djärv <jan.h.d@swipnet.se>
13695
13696 * ftfont.c (ftfont_list): Move misplaced #endif.
13697
13698 2008-02-01 Kenichi Handa <handa@m17n.org>
13699
13700 * ftfont.c (ftfont_list): Pay attention to the case that
13701 FC_CAPABILITY is not defined.
13702
13703 2008-02-01 Kenichi Handa <handa@m17n.org>
13704
13705 * xftfont.c (xftfont_open): Set charset related members to -1.
13706
13707 * ftfont.c (ftfont_list): Handle QCotf property. Fix handling of
13708 QCname.
13709 (ftfont_open): Set charset related members to -1.
13710
13711 * fontset.c (Votf_script_alist): New variable.
13712 (syms_of_fontset): Initialize it.
13713 (fontset_font): Delete unused variable.
13714
13715 * fontset.h (Votf_script_alist): Extern it.
13716
13717 * font.c (font_find_for_lface): Optimize code.
13718
13719 * font.h (font_close_object, font_merge_old_spec): Extern them.
13720
13721 2008-02-01 Kenichi Handa <handa@m17n.org>
13722
13723 * font.c (QCscalable, Qc, Qm, Qp, Qd): New variables.
13724 (syms_of_font): Initialize them.
13725 (font_pixel_size): Allow float value in dpi.
13726 (font_prop_validate_type): Delete.
13727 (font_prop_validate_symbol, font_prop_validate_style): Change argument.
13728 Change caller.
13729 (font_prop_validate_non_neg): Rename from font_prop_validate_size.
13730 (font_prop_validate_extra): Delete.
13731 (font_prop_validate_spacing): New function.
13732 (font_property_table): Add elements for all known properties.
13733 (get_font_prop_index): Rename from check_font_prop_name. New
13734 argument FROM. Change caller.
13735 (font_prop_validate): Validate all known properties.
13736 (font_put_extra): Delete argument force. Change caller.
13737 (font_expand_wildcards): Make it static. Fix the way of shrinking
13738 the possible range.
13739 (font_parse_xlfd): Delete argument merge. Fix handling of RESX,
13740 RESY, SPACING, and AVGWIDTH. Don't validate property values here.
13741 Change caller.
13742 (font_unparse_xlfd): Handle dpi, spacing, and scalable properties.
13743 (font_parse_fcname): Delete argument merge. Fix parsing of point
13744 size. Don't validate properties values here. Change caller.
13745 (font_unparse_fcname): Handle dpi, spacing, and scalable properties.
13746 (font_open_by_name): Delete unused variable.
13747 (Ffont_spec): Likewise. Validate property values.
13748 (Ffont_match_p): New function.
13749
13750 * font.h (QCscalable): Extern it.
13751 (font_parse_xlfd, font_parse_fcname): Adjust prototype.
13752
13753 * ftfont.c (ftfont_list): Handle properties dpi, spacing, and scalable.
13754
13755 * xfont.c (xfont_query_font): Adjust for the change of font_parse_xlfd.
13756 (xfont_list_pattern): New function.
13757 (xfont_list): Use xfont_list_pattern.
13758
13759 2008-02-01 Kenichi Handa <handa@m17n.org>
13760
13761 * font.h (Flist_fonts): EXFUN it.
13762
13763 2008-02-01 Jason Rumney <jasonr@gnu.org>
13764
13765 * w32term.c (w32_initialize): Add back smoothing_type and
13766 smoothing_enabled definitions.
13767
13768 2008-02-01 Kenichi Handa <handa@m17n.org>
13769
13770 * xterm.c (x_draw_glyph_string) [USE_FONT_BACKEND]: Check
13771 s->face->font on determining underline position.
13772
13773 2008-02-01 Kenichi Handa <handa@m17n.org>
13774
13775 * font.c (font_parse_xlfd): Fix generating of CHARSET_REGISTRY field.
13776 (font_has_char): Accept font-object too.
13777 (font_find_for_lface): Try at first with a size specified in face.
13778
13779 2008-02-01 Kenichi Handa <handa@m17n.org>
13780
13781 * frame.c (x_set_font) [USE_FONT_BACKEND]: Fix argument to
13782 font_open_by_name.
13783
13784 2008-02-01 Kenichi Handa <handa@m17n.org>
13785
13786 * font.h (QCspacing, QCdpi): Extern them.
13787 (enum font_spacing): New enum.
13788 (FONT_PIXEL_SIZE_QUANTUM): New macro.
13789
13790 * font.c (POINT_TO_PIXEL): Don't divide POINT by 10.
13791 (QCspacing, QCdpi): New variables.
13792 (syms_of_font): Initialize them.
13793 (font_pixel_size): New function.
13794 (font_put_extra): New function.
13795 (font_parse_xlfd): Fix handling of font size. Add QCdpi property
13796 in FONT_EXTRA.
13797 (font_parse_fcname): Handle enumerated values (e.g. bold).
13798 Fix handling font size. Add QCname property that contains only
13799 unknown properties.
13800 (font_score): Change argument. Change caller. Pay attention to
13801 FONT_PIXEL_SIZE_QUANTUM.
13802 (font_sort_entites, font_list_entities, font_find_for_lface)
13803 (font_open_for_lface, font_open_by_name): Fix handling of font size.
13804 (Ffont_spec): Add QCname property that contains only unknown properties.
13805
13806 * ftfont.c (ftfont_list): Use assq_no_quit, not Fassq. Don't
13807 include weight in listing pattern, instead check weight of each
13808 listed font. Don't include scalable in pattern. Pay attention to
13809 FONT_PIXEL_SIZE_QUANTUM.
13810
13811 2008-02-01 Kenichi Handa <handa@m17n.org>
13812
13813 * font.c (font_parse_fcname): Fix parsing of point-size.
13814 (font_unparse_fcname): Produce symbolic names for style properties.
13815 (font_list_entities): Handle float size correctly.
13816 (font_open_by_name): Prefer `normal' property values if the name
13817 doesn't specify them.
13818
13819 * fontset.c (Finternal_char_font): Use font_get_name, not
13820 Ffont_xlfd_name.
13821
13822 * ftfont.c (ftfont_pattern_entity): Use the numeric value 100 for
13823 FC_WEIGHT_REGULAR. Exclude FC_SIZE and FC_PIXEL_SIZE from listing
13824 pattern. Don't force scalable.
13825
13826 * xftfont.c (xftfont_open): For generating a name, start from
13827 96-byte buffer.
13828
13829 2008-02-01 Jan Djärv <jan.h.d@swipnet.se>
13830
13831 * frame.h (x_new_fontset2): Fix prototype.
13832
13833 2008-02-01 Kenichi Handa <handa@m17n.org>
13834
13835 * font.h (struct font_driver): Delete member parse_name.
13836 (font_match_p, font_get_spec, font_parse_fcname)
13837 (font_unparse_fcname): Extern them.
13838 (font_get_name): Adjust prototype.
13839
13840 * font.c (XLFD_SMALLNUM_MASK): Delete this macro.
13841 (XLFD_LARGENUM_MASK): Delete XLFD_ENCODING_MASK from it.
13842 (font_expand_wildcards): Fix handling ENCODING field. Avoid
13843 unnecessary checks for weight, slant, and swidth.
13844 (font_parse_fcname): New function.
13845 (font_unparse_fcname): New function.
13846 (font_parse_name): New function.
13847 (font_match_p): New function.
13848 (font_get_name): Change return value to Lisp string.
13849 (font_get_spec): New function.
13850 (Qunspecified, Qignore_defface): Don't extern them.
13851 (font_find_for_lface): Assume that LFACE is fully specified.
13852 (font_load_for_face): If lface[LFACE_FONT_INDEX] is an font
13853 object, use it for FACE.
13854 (font_open_by_name): Call Ffont_spec with QCname prop. Don't call
13855 driver->parse_name.
13856 (Ffont_spec): Call font_parse_name, not font_parse_xlfd.
13857
13858 * fontset.h (new_fontset_from_font) [USE_FONT_BACKEND]: Adjust
13859 prototype.
13860
13861 * fontset.c (new_fontset_from_font) [USE_FONT_BACKEND]: Delete
13862 argument F. Don't call Fnew_fontset. Instead, directly call
13863 make_fontset.
13864
13865 * frame.h (x_new_fontset2) [USE_FONT_BACKEND]: Adjust prototype.
13866
13867 * frame.c (x_set_font) [USE_FONT_BACKEND]: Adjust for the change
13868 of x_new_fontset2.
13869
13870 * ftfont.c (Qmonospace, Qsans_serif, Qserif, Qmono, Qsans)
13871 (Qsans__serif): New variables.
13872 (ftfont_generic_family_list): New variable.
13873 (syms_of_ftfont): Initialize the above variables.
13874 (ftfont_pattern_entity): Delete argument NAME.
13875 (ftfont_list_generic_family): New function.
13876 (ftfont_parse_name): Delete this function.
13877 (ftfont_list): Try generic family only when FcFontList found no font.
13878 (ftfont_list_family): Fix args to FcObjectSetBuild.
13879
13880 * xfaces.c (check_lface_attrs) [USE_FONT_BACKEND]: Accept font
13881 object in attrs[LFACE_FONT_INDEX].
13882 (set_lface_from_font_name): Cancel all changes for font-backend.
13883 (set_lface_from_font_and_fontset) [USE_FONT_BACKEND]: New
13884 function.
13885 (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]: Accept a
13886 font object in QCfont attribute.
13887 (set_font_frame_param) [USE_FONT_BACKEND]: Likewise.
13888 (realize_default_face) [USE_FONT_BACKEND]: Call
13889 set_lface_from_font_and_fontset.
13890
13891 * xfns.c (x_default_font_parameter) [USE_FONT_BACKEND]: Try also
13892 "fixed", and signal error here if no suitable font was found.
13893
13894 * xfont.c (xfont_parse_name): Delete this function.
13895
13896 * xftfont.c (xftfont_open): Change coding style of error
13897 handling. Generate fontconfig's fontname pattern.
13898
13899 * xterm.h (struct x_output) [USE_FONT_BACKEND]: New member fontp.
13900 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro.
13901
13902 * xterm.c (x_new_fontset2) [USE_FONT_BACKEND]: Change arguments.
13903 Both args FONTSET and FONT_OBJECT must be existing ones.
13904
13905 2008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13906
13907 * macterm.c (mac_set_unicode_keystroke_event): Don't use MAKE_CHAR.
13908
13909 2008-02-01 Kenichi Handa <handa@m17n.org>
13910
13911 * xfont.c (xfont_open, xfont_encode_char): Fix typo.
13912
13913 * font.h (struct font): Fix typo.
13914
13915 * font.c (enum xlfd_field_index): Rename XLFD_XXX_SIZE_INDEX to
13916 XLFD_XXX_INDEX.
13917 (enum xlfd_field_mask): New enum.
13918 (intern_font_field): Changed argument. Change caller. If digits
13919 are followed by non-digits, return a symbol.
13920 (font_expand_wildcards): New function.
13921 (font_parse_xlfd): Fix wildcard handling.
13922 (Ffont_spec): If :name is specified, reflect the info in the other
13923 properties.
13924
13925 * ftfont.c (ftfont_pattern_entity): Fix typo.
13926 (ftfont_list): Enforce FC_LANG in PATTERN to cancel the effect of
13927 locale.
13928
13929 2008-02-01 Kenichi Handa <handa@m17n.org>
13930
13931 * font.h (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Extern them.
13932
13933 * font.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move from ftfont.c.
13934 (font_unparse_xlfd): Fix argument type declaration. Append "*" if
13935 registry doesn't specify encoding part.
13936 (font_find_for_lface): Pay attention to LFACE_FONT_INDEX.
13937 (font_open_by_name): At first try parsing the name.
13938 (syms_of_font): Declare Qiso8859_1, Qiso10646_1, and Qunicode_bmp
13939 as Lisp symbols.
13940
13941 * fontset.c (reorder_font_vector): Pay attention to the case that
13942 the 3rd element of font_def is nil.
13943 (fontset_font): For the default fontset, append one more fontset
13944 elements for a script-based font specification. Don't add script
13945 attribute on finding a font.
13946 (new_fontset_from_font): Unconditionally set FONTSET_ASCII to the
13947 font name.
13948 (fontset_ascii_font): If a font can't be opened, return nil.
13949
13950 * ftfont.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move to font.c.
13951 (ftfont_pattern_entity): New function.
13952 (ftfont_get_cache): Assume that freetype_font_cache is already
13953 initialized.
13954 (ftfont_list): Handle the case that a file is specified in font
13955 name. Use ftfont_pattern_entity to generate entities.
13956 (ftfont_has_char): Check if the pattern contains FC_CHARSET.
13957 (syms_of_ftfont): Initialize freetype_font_cache.
13958
13959 * xftfont.c (xftfont_open): Make the font name fontconfig's
13960 style. Add BLOCK_INPUT and UNBLOCK_INPUT.
13961 (xftfont_close): Free font->font.name if not NULL.
13962
13963 * xfont.c (xfont_list): If script is specified for a font, return
13964 null_vector.
13965 (xfont_list_family): Declare argument type.
13966
13967 * xfaces.c (set_lface_from_font_name): If a font doesn't have a
13968 name, set LFACE_FONT (lface) to nil.
13969
13970 * xterm.c (x_new_fontset2): If an ASCII font couldn't be loaded,
13971 return Qnil.
13972
13973 2008-02-01 Kenichi Handa <handa@m17n.org>
13974
13975 * emacs.c (main): Check -enable-font-backend arg after the check of -nl.
13976 (standard_args): Add "-enable-font-backend".
13977
13978 2008-02-01 Kenichi Handa <handa@m17n.org>
13979
13980 * xftfont.c (xftfont_default_fid): Set fid_known to 1.
13981 (struct xftdraw_list, xftdraw_list): Delete them.
13982 (register_xftdraw, check_xftdraw): Delete them.
13983 (xftfont_prepare_face): Don't call register_xftdraw.
13984 (xftfont_done_face): Don't call check_xftdraw.
13985 (xftfont_draw): Get background color only when with_background is
13986 nonzero.
13987
13988 * xfont.c (xfont_encode_char): Fix calculation of char2b.
13989
13990 2008-02-01 Kenichi Handa <handa@m17n.org>
13991
13992 These changes are for the new font handling codes.
13993
13994 * Makefile.in (ALL_CFLAGS): Add @FREETYPE_CFLAGS@,
13995 @FONTCONFIG_CFLAGS@, and @LIBOTF_CFLAGS@.
13996 (LIB_X11_LIB): If HAVE_XFT is defined, set to @XFT_LIBS@.
13997 (FONTSRC, FONTOBJ): New variables.
13998 (obj): Add $(FONTOBJ).
13999 (SOME_MACHINE_OBJECTS): Lib_X11_Lib.
14000 (LIBES): Add @FREETYPE_LIBS@, @FONTCONFIG_LIBS@, and
14001 @LIBOTF_LIBS@.
14002 (font.o, ftfont.o, xfont.o, xftfont.o, ftxfont.o): New targets.
14003 (fontset.o, xdisp.o, xfaces.o, xfns.o, xterm.o): Depend on $(FONTSRC).
14004
14005 * font.h, font.c, xfont.c, ftfont.c, xftfont.c, ftxfont.c: New files.
14006
14007 * character.h (Vscript_representative_chars): Extern it.
14008
14009 * character.c (Vscript_representative_chars): New variable.
14010 (syms_of_character): Declare it as a Lisp variable.
14011
14012 * composite.c (get_composition_id) [USE_FONT_BACKEND]: If
14013 enable_font_backend is nonzero, accept the composition method
14014 COMPOSITION_WITH_GLYPH_STRING.
14015
14016 * composite.h (enum composition_method) [USE_FONT_BACKEND]: New
14017 enumeration COMPOSITION_WITH_GLYPH_STRING.
14018
14019 * dispextern.h (struct glyph_string) [USE_FONT_BACKEND]: New
14020 members clip_x, clip_y, clip_width, and clip_height.
14021 (struct face) [USE_FONT_BACKEND]: New members font_info and extra.
14022
14023 * emacs.c (main) [USE_FONT_BACKEND]: Handle arg
14024 --enable-font-backend. Call syms_of_font.
14025
14026 * fns.c (assoc_no_quit): New function.
14027
14028 * fontset.h (FONT_INFO_FROM_FACE): New macro.
14029 (face_for_font, new_fontset_from_font)
14030 (fontset_ascii_font) [USE_FONT_BACKEND]: Extern them.
14031
14032 * fontset.c [USE_FONT_BACKEND]: Include "font.h".
14033 (fontset_font, fontset_ascii, face_for_char)
14034 (make_fontset_for_ascii_face, Ffont_info)
14035 (Finternal_char_font) [USE_FONT_BACKEND]: If enable_font_backend
14036 is nonzero, use font-backend mechanism.
14037 (find_font_encoding): Make it non-static.
14038 (new_fontset_from_font, fontset_ascii_font) [USE_FONT_BACKEND]:
14039 New functions.
14040
14041 * frame.h (struct frame): New members resx and resy.
14042 (struct frame) [USE_FONT_BACKEND]: New member font_driver_list.
14043 (x_new_fontset2) [USE_FONT_BACKEND]: Extern it.
14044
14045 * frame.c [USE_FONT_BACKEND]: Include "font.h".
14046 (make_frame, x_set_font) [USE_FONT_BACKEND]: Use font-backend mechanism.
14047
14048 * lisp.h (assoc_no_quit): Extern it.
14049
14050 * xdisp.c: If USE_FONT_BACKEND is defined, include "font.h".
14051 Through out the file, use FONT_INFO_FROM_FACE instead of
14052 FONT_INFO_FROM_ID, use get_per_char_metric instead of
14053 rif->per_char_metric.
14054 (handle_composition_prop) [USE_FONT_BACKEND]: If the composition
14055 method is COMPOSITION_WITH_GLYPH_STRING, just set it->c to ' '.
14056 (get_glyph_face_and_encoding, fill_composite_glyph_string)
14057 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
14058 (x_produce_glyphs) [USE_FONT_BACKEND]: If enable_font_backend is
14059 nonzero, use font-backend mechanism.
14060 (get_per_char_metric): New function.
14061
14062 * xfaces.c [USE_FONT_BACKEND]: Include "font.h".
14063 (set_lface_from_font_name)
14064 (set_font_frame_param, free_realized_face)
14065 (prepare_face_for_display, clear_face_gcs)
14066 (Finternal_set_font_selection_order, realize_x_face)
14067 [USE_FONT_BACKEND]: If enable_font_backend is nonzero, use
14068 font-backend mechanism.
14069 (clear_face_cache) [USE_FONT_BACKEND]: Don't call clear_font_table.
14070 (load_face_font) [USE_FONT_BACKEND]: Abort.
14071 (face_symbolic_value, face_symbolic_weight, face_symbolic_slant)
14072 (face_symbolic_swidth, face_for_font) [USE_FONT_BACKEND]: New functions.
14073
14074 * xfns.c [USE_FONT_BACKEND]: Include "font.h".
14075 (x_default_font_parameter) [USE_FONT_BACKEND]: New function.
14076 (Fx_create_frame) [USE_FONT_BACKEND]: If enable_font_backend is
14077 nonzero, register all available font drivers. Call
14078 x_default_font_parameter for deciding a font.
14079 (x_create_tip_frame) [USE_FONT_BACKEND]: Likewise.
14080
14081 * xterm.c [USE_FONT_BACKEND]: Include "font.h".
14082 (x_set_mouse_face_gc, x_set_glyph_string_clipping)
14083 (x_set_glyph_string_clipping_exactly)
14084 (x_compute_glyph_string_overhangs)
14085 (x_draw_glyph_string_foreground)
14086 (x_draw_composite_glyph_string_foreground, x_draw_glyph_string)
14087 (x_free_frame_resources) [USE_FONT_BACKEND]: If
14088 enable_font_backend is nonzero, use font-backend mechanism.
14089 (x_new_fontset2) [USE_FONT_BACKEND]: New function.
14090
14091 2008-02-01 Kenichi Handa <handa@m17n.org>
14092
14093 * coding.c (coding_inherit_eol_type): If PARENT is nil, inherit from
14094 system_eol_type.
14095 (syms_of_coding): Initialize system_eol_type.
14096
14097 * process.c (Fset_process_coding_system): Inherit system's eol
14098 format if necessary.
14099
14100 2008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14101
14102 * macgui.h (USE_ATSUI): Don't enable on emacs-unicode-2 branch.
14103
14104 2008-02-01 Kenichi Handa <handa@m17n.org>
14105
14106 * coding.c (decode_eol): Pay attention to buffer relocation in
14107 del_range_2.
14108 (decode_coding): Call decode_eol before restoring undo_list.
14109
14110 2008-02-01 Kenichi Handa <handa@m17n.org>
14111
14112 * charset.c (Fdefine_charset_internal): Fix setting of
14113 emacs_mule_bytes.
14114
14115 2008-02-01 Kenichi Handa <handa@m17n.org>
14116
14117 * keyboard.c (read_char): Check if C is a character or not before
14118 looking up Vkeyboard_translate_table.
14119
14120 2008-02-01 Kenichi Handa <handa@m17n.org>
14121
14122 * coding.c (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Fix
14123 condition to terminate the loop.
14124
14125 2008-02-01 Kenichi Handa <handa@m17n.org>
14126
14127 * coding.c (produce_composition): Compare charbuf[i] instead of
14128 args[i] against 0.
14129 (Fterminal_coding_system): Use EQ to compare Lisp objects.
14130
14131 2008-02-01 Kenichi Handa <handa@m17n.org>
14132
14133 * coding.c (DECODE_COMPOSITION_START): If the source is short, set
14134 coding->result to CODING_RESULT_INSUFFICIENT_SRC.
14135 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK after the call of
14136 detect_coding.
14137 (emacs_mule_char): Handle old style (Emacs 20) component character
14138 of a composition.
14139 (DECODE_EMACS_MULE_COMPOSITION_RULE_20)
14140 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Fix parsing a
14141 composition rule.
14142 (decode_coding_emacs_mule): Handle invalid bytes correctly.
14143
14144 2008-02-01 Kenichi Handa <handa@m17n.org>
14145
14146 * coding.c (encode_coding_ccl): Allocate destination dynamically
14147 when necessary.
14148
14149 2008-02-01 Kenichi Handa <handa@m17n.org>
14150
14151 * ccl.c (Fccl_execute_on_string): Fix the condition of terminating
14152 the loop. When quitted, show a proper error message.
14153
14154 2008-02-01 Kenichi Handa <handa@m17n.org>
14155
14156 * xterm.c (x_set_glyph_string_clipping_exactly): Set
14157 src->clip_head and src->clip_tail temporarily instead of src->hl.
14158
14159 * ccl.c (CCL_WRITE_STRING): Handle a flag bit for multibyte
14160 character sequence.
14161 (Fccl_execute_on_string): Use ASET, not XSET.
14162
14163 2008-02-01 Kenichi Handa <handa@m17n.org>
14164
14165 * search.c (search_buffer): Fix handling of "\\" in a trivial regexp.
14166
14167 2008-02-01 Kenichi Handa <handa@m17n.org>
14168
14169 * coding.c (decode_coding): Fix the condition of terminating the
14170 decoding loop.
14171
14172 2008-02-01 Kenichi Handa <handa@m17n.org>
14173
14174 * data.c (Faset): On setting a character bigger than 255 in a
14175 unibyte string, signal an error instead of make the string multibyte.
14176
14177 2008-02-01 Kenichi Handa <handa@m17n.org>
14178
14179 * charset.c (map_charset_chars): Fix for ascii-compatible charset
14180 made by a mapping table.
14181
14182 2008-02-01 Kenichi Handa <handa@m17n.org>
14183
14184 * xdisp.c (fill_composite_glyph_string): Check s->face is NULL or
14185 not.
14186 (BUILD_COMPOSITE_GLYPH_STRING): If C is TAB, set s->face to NULL.
14187 (x_produce_glyphs): If CH is TAB, set cmp->offsets properly.
14188
14189 * xterm.c (x_draw_composite_glyph_string_foreground): Check
14190 s->face is NULL or not.
14191
14192 2008-02-01 Kenichi Handa <handa@m17n.org>
14193
14194 * xterm.c (x_set_glyph_string_clipping_exactly): New function.
14195 (x_draw_glyph_string): Fix drawing of right_overhang and
14196 left_overhang around/on cursor.
14197
14198 * xdisp.c (draw_glyphs): Fix inclusion of right_overwriting glyphs.
14199
14200 2008-02-01 Kenichi Handa <handa@m17n.org>
14201
14202 * xdisp.c (x_produce_glyphs): Handle composition with TAB.
14203
14204 2008-02-01 Kenichi Handa <handa@m17n.org>
14205
14206 * coding.c (Fdefine_coding_system_internal)
14207 (Fdefine_coding_system_alias): Avoid a duplicated element in
14208 Vcoding_system_alist.
14209
14210 2008-02-01 Kenichi Handa <handa@m17n.org>
14211
14212 * xterm.c (handle_one_xevent): Handle keysyms 0x1000000..0x10000FF.
14213
14214 * coding.c (Qcoding_system_define_form): New variable.
14215 (syms_of_coding): Intern and staticpro it.
14216 (Fcoding_system_p): Check Qcoding_system_define_form.
14217 (Fcheck_coding_system): Try to autoload the definition of CODING-SYSTEM.
14218
14219 * coding.h (CODING_SYSTEM_P): If ID is not available, call
14220 Fcoding_system_p.
14221 (CHECK_CODING_SYSTEM): If ID is not available, call
14222 Fcheck_coding_system.
14223 (CHECK_CODING_SYSTEM_GET_SPEC, CHECK_CODING_SYSTEM_GET_ID):
14224 Try also Fcheck_coding_system.
14225
14226 2008-02-01 Kenichi Handa <handa@m17n.org>
14227
14228 * coding.c (code_conversion_restore): GCPRO arg.
14229
14230 2008-02-01 Kenichi Handa <handa@m17n.org>
14231
14232 * character.c (lisp_string_width): Check multibyteness of STRING.
14233
14234 2008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14235
14236 * macterm.c (mac_encode_char): Call ccl_driver with the last arg
14237 Qnil. Use JIS_TO_SJIS instead of ENCODE_SJIS.
14238 (decode_mac_font_name): Use decode_coding_c_string instead of
14239 decode_coding.
14240 (x_load_font): Initialize fontp->fontset to -1. Set
14241 fontp->encoding_type.
14242
14243 2008-02-01 Kenichi Handa <handa@m17n.org>
14244
14245 * search.c (search_buffer): Give up BM search on case-fold-search
14246 if one of a target character has a case-equivalence of different
14247 byte length even if that target charcter is an ASCII.
14248 (simple_search): Fix calculation of byte length of matched text.
14249 (boyer_moore): Fix handling of case-equivalent multibyte characters.
14250
14251 2008-02-01 Kenichi Handa <handa@m17n.org>
14252
14253 * coding.c (decode_coding): Fix handling of invalid bytes.
14254
14255 2008-02-01 Kenichi Handa <handa@m17n.org>
14256
14257 * xterm.c (handle_one_xevent): Handle keysyms directly mapped to
14258 Unicode characters.
14259
14260 2008-02-01 Kenichi Handa <handa@m17n.org>
14261
14262 * coding.c (encode_coding_object): If a pre-write-conversion
14263 function makes a new buffer, kill it.
14264
14265 2008-02-01 Kenichi Handa <handa@m17n.org>
14266
14267 * coding.c (QCascii_compatible_p): New variable.
14268 (syms_of_coding): Initialize it.
14269 (ONE_MORE_BYTE, ONE_MORE_BYTE_NO_CHECK): Decrement `src' before
14270 calling string_char.
14271 (record_conversion_result): Add `default:' case.
14272 (coding_charset_list): Delete unused variable `coding_type'.
14273 (Fdefine_coding_system_internal): Add `ascii-compatible-p'
14274 property in the plist of the coding system.
14275 (Fcoding_system_put): Check QCascii_compatible_p.
14276
14277 2008-02-01 Miles Bader <miles@gnu.org>
14278
14279 * xfaces.c (Finternal_lisp_face_equal_p): Restore previously
14280 removed calculation of frame `f', as it's now used.
14281
14282 2008-02-01 Kenichi Handa <handa@m17n.org>
14283
14284 * Makefile.in (RUN_TEMACS): Include "-nl" if HAVE_SHM is defined.
14285 (emacs${EXEEXT}): Run $(RUN_TEMACS) unconditionally.
14286 (UNIDATA): New variable.
14287 (${lispsource}international/charprop.el): Depends on ${UNIDATA}.
14288 (bootstrap-emacs${EXEEXT}): Depends on charprop.el. Run
14289 $(RUN_TEMACS) unconditionally.
14290
14291 2008-02-01 Kenichi Handa <handa@m17n.org>
14292
14293 * Makefile.in (temacs${EXEEXT}): Build charprop.el if necessary.
14294 (admindir): New variable.
14295 ($(lispsource)international/charprop.el): New target.
14296
14297 2008-02-01 Miles Bader <miles@gnu.org>
14298
14299 * character.c (chars-in-region): Remove obsolete function.
14300 (syms_of_character): Remove its initialization.
14301
14302 2008-02-01 Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net>
14303
14304 * w32select.c (validate_coding_system)
14305 (setup_windows_coding_system): New functions.
14306 (convert_to_handle_as_coded, Fw32_get_clipboard_data): Use
14307 setup_windows_coding_system.
14308 (setup_config, Fw32_get_clipboard_data): Use
14309 validate_coding_system.
14310 (Fx_selection_exists): Move call to setup_config to a place
14311 where signals are allowed.
14312
14313 * lisp.h (Fcoding_system_base, Fcoding_system_eol_type)
14314 (Fcheck_coding_system): Add declarations.
14315
14316 2008-02-01 Kenichi Handa <handa@m17n.org>
14317
14318 * charset.c (load_charset_map_from_vector): Fix for the first iteration.
14319
14320 2008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14321
14322 * macfns.c (Fx_create_frame, x_create_tip_frame): Pass Lisp
14323 string as the second argument for x_new_fontset.
14324
14325 2008-02-01 Kenichi Handa <handa@m17n.org>
14326
14327 * coding.c (decode_coding_object): Use safe_call1 instead of call1.
14328 (encode_coding_object): Use safe_call instead of call2.
14329
14330 2008-02-01 Kenichi Handa <handa@m17n.org>
14331
14332 * fontset.c (Fset_fontset_font): Check family element of a given vector.
14333
14334 * Makefile.in (lisp): Include charprop.el.
14335
14336 2008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14337
14338 * macfns.c (Fx_create_frame, x_create_tip_frame): Fix crash.
14339 Not sure if it's unnecessary.
14340
14341 2008-02-01 Steven Tamm <steventamm@mac.com>
14342
14343 * macfns.c (Fx_create_frame, x_create_tip_frame): ifdef'd out
14344 some possibly unnecessary fontset checking code that crashed
14345 when creating a new frame.
14346
14347 2008-02-01 Kenichi Handa <handa@m17n.org>
14348
14349 * xfaces.c (merge_faces): Fix argument to lookup_derived_face and
14350 lookup_face.
14351
14352 * xdisp.c (Fformat_mode_line): Fix argument to lookup_named_face.
14353
14354 * fringe.c (draw_fringe_bitmap_1): Fix argument to lookup_named_face.
14355
14356 2008-02-01 Kenichi Handa <handa@m17n.org>
14357
14358 * coding.c: Cancel the change done in HEAD on 2008-02-01.
14359 (coding_charset_list): New function.
14360
14361 * coding.h (coding_charset_list): Extern it.
14362
14363 2008-02-01 Kenichi Handa <handa@m17n.org>
14364
14365 * fontset.c (Fset_fontset_font): Call find_font_encoding with
14366 concatenation of family and registry.
14367
14368 2008-02-01 Kenichi Handa <handa@m17n.org>
14369
14370 * character.h (BYTE8_STRING): Fix typo.
14371
14372 * editfns.c (Ftranslate_region_internal): Don't convert unibyte
14373 string to multibyte (sync to HEAD).
14374
14375 * casefiddle.c (casify_region): Handle changes in byte-length
14376 using replace_range_2 (sync to HEAD).
14377
14378 2008-02-01 Andreas Schwab <schwab@suse.de>
14379
14380 * chartab.c (map_char_table): GCPRO table and arg.
14381
14382 2008-02-01 Kenichi Handa <handa@m17n.org>
14383
14384 * syntax.c (skip_syntaxes): Return lispy 0 (not nil) if point is
14385 already at limit.
14386
14387 2008-02-01 Kenichi Handa <handa@m17n.org>
14388
14389 * fontset.c (fs_load_font): Use fast_string_match_ignore_case
14390 instead of fast_c_string_match_ignore_case.
14391 (find_font_encoding): Change argument to Lisp_Object. Use
14392 fast_string_match_ignore_case instead of
14393 fast_c_string_match_ignore_case. Change caller.
14394
14395 2008-02-01 Kenichi Handa <handa@m17n.org>
14396
14397 * xdisp.c (get_next_display_element): In unibyte case, decide to
14398 display in octal form by checking a character by
14399 UNIBYTE_CHAR_HAS_MULTIBYTE_P.
14400
14401 * charset.c (Fset_unibyte_charset): Setup unibyte_has_multibyte_table.
14402
14403 * character.c (unibyte_has_multibyte_table): New variable.
14404
14405 * character.h (unibyte_has_multibyte_table): Extern it.
14406 (UNIBYTE_CHAR_HAS_MULTIBYTE_P): New macro.
14407
14408 2008-02-01 Kenichi Handa <handa@m17n.org>
14409
14410 * coding.c (encode_coding_iso_2022): Fix handling of charset
14411 annotation.
14412
14413 2008-02-01 Kenichi Handa <handa@m17n.org>
14414
14415 * coding.c (setup_coding_system): If coding_system is nil, use
14416 Qundecided.
14417 (Fterminal_coding_system): Return nil if terminal coding system is
14418 `undecided'.
14419 (syms_of_coding): Define coding-system `undecided' here. Setup
14420 terminal_coding as `undecided'.
14421
14422 2008-02-01 Kenichi Handa <handa@m17n.org>
14423
14424 * xdisp.c (message_dolog, set_message_1): Call
14425 unibyte_char_to_multibyte with arg type int.
14426
14427 * lread.c (read1): Fix reading of a char-table.
14428
14429 * print.c (print_object): Include sub char-table in circularities
14430 detection.
14431
14432 2008-02-01 Kenichi Handa <handa@m17n.org>
14433
14434 * keymap.c (where_is_internal_2): Fix for the case that KEY is a cons.
14435 Append the found sequences in car of ARGS instead of prepending.
14436
14437 2008-02-01 Kenichi Handa <handa@m17n.org>
14438
14439 * fileio.c (report_file_error): Make a unibyte string from
14440 strerror (errorno).
14441 (Fsubstitute_in_file_name): Fix the arg to
14442 unibyte_char_to_multibyte. It is evaluated twice.
14443
14444 2008-02-01 Kenichi Handa <handa@m17n.org>
14445
14446 * charset.h (CHAR_CHARSET): Shortcut for ASCII case.
14447
14448 2008-02-01 Kenichi Handa <handa@m17n.org>
14449
14450 * coding.c (detect_coding_utf_16): Don't set detect_info->found if
14451 BOM is not found.
14452 (detect_coding, detect_coding_system): Optimization for ISO-2022
14453 when no 8-bit data is found.
14454
14455 2008-02-01 Jason Rumney <jasonr@gnu.org>
14456
14457 * w32fns.c (x_to_w32_font): Update to use new coding struct.
14458
14459 2008-02-01 Kenichi Handa <handa@m17n.org>
14460
14461 * charset.c (Fdeclare_equiv_charset, Fiso_charset): Fix handing of
14462 CHARS.
14463
14464 2008-02-01 Steven Tamm <steventamm@mac.com>
14465
14466 * macterm.c (mac_encode_char): Add charset argument and update
14467 to use encoding_type.
14468 (x_new_font, x_new_fontset): Merge in changes from xterm.c;
14469 switch to pure fontset.
14470 (decode_mac_font_name): Temporarily remove decoding.
14471 (x_font_name_to_mac_font_name): Temporarily remove encoding.
14472 (x_load_font): Temporarily remove encoding.
14473
14474 2008-02-01 Kenichi Handa <handa@m17n.org>
14475
14476 * xfaces.c (Fface_font): If frame is not on a window system,
14477 ignore CHARACTER arg. If HAVE_WINDOW_SYSTEM is not defined, don't
14478 refer to face->font.
14479 (split_font_name_into_vector, build_font_name_from_vector)
14480 (lookup_non_ascii_face, realize_non_ascii_face): Define them only
14481 when HAVE_WINDOW_SYSTEM is defined.
14482
14483 2008-02-01 Kenichi Handa <handa@m17n.org>
14484
14485 * xdisp.c (BUILD_GLYPH_STRINGS): Check if s is NULL.
14486 (x_produce_glyphs): Fix setting of members of cmp in case
14487 cmp->glyph_len is zero.
14488
14489 * fontset.c (Fset_fontset_font): Fix docstring.
14490 (Ffontset_info): Make it backward compatible. New arg ALL.
14491
14492 2008-02-01 Kim F. Storm <storm@cua.dk>
14493
14494 * process.c (read_process_output): Grow decoding_buf when needed;
14495 this could cause a crash in allocate_string and compact_small_strings.
14496
14497 2008-02-01 Kenichi Handa <handa@m17n.org>
14498
14499 * fileio.c (WRITE_BUF_SIZE): Delete this macro.
14500
14501 2008-02-01 Kenichi Handa <handa@m17n.org>
14502
14503 * coding.c (setup_coding_system): Set coding->common_flags
14504 correctly for raw-text.
14505 (consume_chars): On encoding unibyte text by raw-text, don't check
14506 multibyte form.
14507 (encode_coding): On encoding by raw-text, never use translation tables.
14508
14509 * fileio.c (e_write): Short cut for the case of no encoding.
14510
14511 2008-02-01 Kenichi Handa <handa@m17n.org>
14512
14513 * coding.c (detect_coding, detect_coding_system): Delete unused
14514 variables.
14515
14516 2008-02-01 Kenichi Handa <handa@m17n.org>
14517
14518 * coding.c (encode_coding_utf_8): Fix handling of raw-byte char.
14519 (consume_chars): Fix handling of 8-bit bytes in unibyte source.
14520
14521 2008-02-01 Kenichi Handa <handa@m17n.org>
14522
14523 * coding.c (Ffind_coding_systems_region_internal): Include
14524 raw-text and no-conversion in the result.
14525
14526 2008-02-01 Kenichi Handa <handa@m17n.org>
14527
14528 * fontset.c (find_font_encoding): Return `ascii' for unknown encoding.
14529 (load_font_get_repertory): Delete unnecessary check of ENCODING of
14530 FONT_DEF.
14531 (font_def_arg, add_arg, from_arg, to_arg): New args.
14532 (set_fontset_font): Change argument.
14533 (Fset_fontset_font): Fix for the case that TARGET is a script
14534 name and charset name.
14535 (new_fontset_from_font_name): Fix argument to Fnew_fontset.
14536
14537 2008-02-01 Kenichi Handa <handa@m17n.org>
14538
14539 * fontset.c (fontset_font): Rename from fontset_face. Change return
14540 value.
14541 (face_suitable_for_char_p, face_for_char): Adjust for the change
14542 of fontset_font.
14543 (make_fontset_for_ascii_face): Fix setting of the fontset element
14544 for ASCII.
14545 (Finternal_char_font): Use fontset_font instead of FACE_FOR_CHAR
14546 to get a font name.
14547 (Ffontset_info): Adjust for the change of fontset_font.
14548
14549 * coding.c (emacs_mule_char): Check invalid code more rigidly.
14550
14551 * character.h (LEADING_CODE_LATIN_1_MIN)
14552 (LEADING_CODE_LATIN_1_MAX): Delete these macros.
14553
14554 2008-02-01 Kenichi Handa <handa@m17n.org>
14555
14556 * editfns.c (check_translation): New function.
14557 (Ftranslate_region_internal): Handle M:N mapping.
14558
14559 2008-02-01 Kenichi Handa <handa@m17n.org>
14560
14561 * xfaces.c (xlfd_point_size): Set font->numeric[XLFD_PIXEL_SIZE].
14562
14563 2008-02-01 Kenichi Handa <handa@m17n.org>
14564
14565 * coding.c (DECODE_DESIGNATION): Set chars_96 to -1 instead of
14566 goto invalid_code.
14567 (decode_coding_iso_2022): Fix handling of invalid designation.
14568
14569 * fileio.c (Finsert_file_contents): Be sure to call unbind_to
14570 after calling code_conversion_save.
14571
14572 2008-02-01 Kenichi Handa <handa@m17n.org>
14573
14574 * xdisp.c (handle_auto_composed_prop): Fix Lisp_Object/int mixup.
14575
14576 * print.c (print_prune_string_charset): Fix Lisp_Object/int mixup.
14577
14578 * fontset.c: Include "intervals.h".
14579 (fontset_face): Fix comparing of Lisp_Objects.
14580 (free_face_fontset, new_fontset_from_font_name): Fix
14581 Lisp_Object/int mixup.
14582
14583 * editfns.c (Ftranslate_region_internal): Fix Lisp_Object/int mixup.
14584
14585 * coding.c: Add many prototypes for static functions.
14586 (get_translation_table): Allow max_lookup to be NULL.
14587 (decode_coding, Ffind_coding_systems_region_internal)
14588 (Funencodable_char_position, Fcheck_coding_systems_region): Call
14589 get_translation_table with max_lookup NULL.
14590
14591 2008-02-01 Kenichi Handa <handa@m17n.org>
14592
14593 * coding.c (get_translation_table): Declare it as Lisp_Object.
14594 (LOOKUP_TRANSLATION_TABLE): New macro.
14595 (produce_chars, consume_chars): Use LOOKUP_TRANSLATION_TABLE
14596 instead of CHAR_TABLE_REF.
14597
14598 2008-02-01 Kenichi Handa <handa@m17n.org>
14599
14600 * coding.c (MAX_ANNOTATION_LENGTH): Adjust for the change of
14601 annotation data format.
14602 (ADD_ANNOTATION_DATA, ADD_COMPOSITION_DATA, ADD_CHARSET_DATA):
14603 Change arguments FROM and TO to single argument NCHARS. Change caller.
14604 (decode_coding_utf_8, decode_coding_utf_16, decode_coding_emacs_mule)
14605 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
14606 (decode_coding_ccl, decode_coding_charset): Pay attention to
14607 coding->charbuf_used.
14608 (get_translation): New function.
14609 (produce_chars): New arguments translation_table and last_block.
14610 Translate characters here. Return number of carryover chars.
14611 Change caller.
14612 (produce_composition): New argument pos. Change caller.
14613 Adjust for the change of annotation data format.
14614 (produce_charset, produce_annotation): Likewise.
14615 (decode_coding, encode_coding): Don't call translate_chars.
14616 (consume_chars): New arg translation_table. Change caller.
14617 (translate_chars): Delete.
14618 (syms_of_coding): Make translation-table's number of extra slots 2.
14619
14620 2008-02-01 Kenichi Handa <handa@m17n.org>
14621
14622 * search.c (simple_search): Fix setting this_pos_byte in backward
14623 search.
14624
14625 * coding.c (detect_coding_emacs_mule): Fix counting of encoded
14626 byte sequence.
14627 (detect_coding_ccl): Fix setting of the variable valids.
14628
14629 2008-02-01 Kenichi Handa <handa@m17n.org>
14630
14631 * xterm.c (x_list_fonts): Fix the detection of an auto-scaled font.
14632
14633 * coding.c (decode_coding_utf_16): Fix handling of surrogate pair.
14634
14635 * editfns.c (Ftranslate_region_internal): Rename from
14636 Ftranslate_region. Accept a char-table in TABLE.
14637 (syms_of_editfns): Defsubr Stranslate_region_internal.
14638
14639 * xfaces.c (set_lface_from_font_name): If a font is specified for
14640 a frame, generate a fontset from the font.
14641 (build_scalable_font_name): If the scalable font is requested for
14642 a specific size, don't change that size.
14643 (try_font_list): Try a scalable font also in the case that a
14644 pattern string is specified.
14645
14646 2008-02-01 Kenichi Handa <handa@m17n.org>
14647
14648 * xfaces.c (Fface_font): New optional arg CHARACTER.
14649
14650 2008-02-01 Kenichi Handa <handa@m17n.org>
14651
14652 * charset.h (CHARSET_OFFSET): New macro.
14653
14654 2008-02-01 Kenichi Handa <handa@m17n.org>
14655
14656 * xterm.c (x_get_font_repertory): Fix for non-Unicode-bmp charset.
14657
14658 * fontset.c (fontset_face): Handle the case that repertory is a
14659 char-table.
14660 (find_font_encoding): Return nil for unknown encoding.
14661 (Fset_fontset_font): Ignore a font of unknown encoding.
14662
14663 2008-02-01 Kenichi Handa <handa@m17n.org>
14664
14665 * keymap.c (describe_vector): Handle default value of a char table.
14666
14667 * fontset.c (fontset_face): Handle fallback fonts correctly.
14668 (Ffontset_info): Return infomation about fallback fonts.
14669
14670 2008-02-01 Kenichi Handa <handa@m17n.org>
14671
14672 * fontset.c (FONTSET_DEFAULT): New macro.
14673 (FONTSET_ADD, fontset_add): Handle the case that range is nil.
14674 (Fset_fontset_font): Change the 2nd arg name to TARGET, and handle
14675 the case that it is nil.
14676 (dump_fontset): Call FONTSET_DEFAULT, not FONTSET_FALLBACK.
14677 (syms_of_fontset): Set char-table-extra-slots property of fontset to 9.
14678
14679 * charset.h (CHAR_CHARSET_P): Fix for the case that the method is
14680 subset or superset.
14681
14682 2008-02-01 Kenichi Handa <handa@m17n.org>
14683
14684 * emacs.c (main): Call init_charset after syms_of_XXX.
14685
14686 * charset.c (Vcharset_map_directory): Delete.
14687 (Vcharset_map_path): New variable.
14688 (load_charset_map_from_file): Use Vcharset_map_path instead.
14689 (init_charset): Initialize Vcharset_map_path.
14690 (syms_of_charset): Delete declaration of "charset-map-directory",
14691 add declaration of "charset-map-path".
14692
14693 2008-02-01 Kenichi Handa <handa@m17n.org>
14694
14695 * fns.c (string_char_to_byte, string_byte_to_char): Optimize for
14696 ASCII only string.
14697
14698 * fileio.c (Finsert_file_contents): Avoid detecting a code twice.
14699
14700 * coding.c (detect_coding_iso_2022): Fix handling of SS2 and SS3.
14701 (detect_coding, detect_coding_system): Treat '\0' as normal ASCII byte.
14702
14703 2008-02-01 Kenichi Handa <handa@m17n.org>
14704
14705 * coding.h (SJIS_TO_JIS2, JIS_TO_SJIS2): New macros.
14706
14707 * coding.c (QCmnemonic, QCdefalut_char)
14708 (QCdecode_translation_table, QCencode_translation_table)
14709 (QCpost_read_conversion, QCpre_write_conversion): New variables.
14710 (get_translation_table): Return a list of translation tables if
14711 necessary.
14712 (decode_coding): Call get_translation_table with ENCODEP 0.
14713 (char_encodable_p): If translation_table is non-nil, always call
14714 translate_char.
14715 (Fdefine_coding_system_internal): Accept list of translation
14716 tables as :encode-translation-table and :decode-translation-table.
14717 (Fcoding_system_put): New function.
14718 (syms_of_coding): Declare new symbols. Defsubr
14719 Scoding_system_put.
14720 (decode_coding_sjis, encode_coding_sjis): Handle 4th charset,
14721 typically JISX0212.
14722
14723 * charset.c (map_charset_chars): Fix arg to map_charset_chars in
14724 when the charset is superset type.
14725
14726 * character.c (translate_char): Accept list of translation tables.
14727
14728 2008-02-01 Kenichi Handa <handa@m17n.org>
14729
14730 * coding.h (enum coding_attr_index): New member coding_attr_trans_tbl.
14731 (CODING_ATTR_TRANS_TBL): New macro.
14732
14733 * coding.c (get_translation_table): New function.
14734 (translate_chars): Fix the bug of skipping annotation data.
14735 (decode_coding, encode_coding): Utilize get_translation_table.
14736 (char_encodable_p, Funencodable_char_position): Translate char if
14737 necessary.
14738 (Ffind_coding_systems_region_internal)
14739 (Fcheck_coding_systems_region): Setup translation table for encode
14740 in a coding system attribute vector in advance.
14741 (Fdefine_coding_system_internal): Allow a symbol as translation
14742 table. For shift-jis type coding system, allow 4th charset.
14743
14744 2008-02-01 Kenichi Handa <handa@m17n.org>
14745
14746 * coding.c (decode_coding_sjis): Check the first byte rigidly.
14747
14748 * xdisp.c (get_next_display_element): Pass -1 as POS to
14749 FACE_FOR_CHAR if displaying a C-string.
14750
14751 2008-02-01 Kenichi Handa <handa@m17n.org>
14752
14753 * composite.c (get_composition_id): Handle xoff and yoff in a
14754 composition rule.
14755
14756 * composite.h (COMPOSITION_DECODE_RULE): New arg xoff and yoff.
14757 (struct composition): New member lbearing and rbearing.
14758
14759 * xdisp.c (move_it_to): Optimize for the case (op & MOVE_TO_Y).
14760 (x_get_glyph_overhangs): Handle a composition glyph.
14761 (x_produce_glyphs): Setup lbearing and rbreaing for a composition glyph.
14762
14763 * xterm.c (x_compute_glyph_string_overhangs): Handle also a
14764 composition glyph.
14765
14766 2008-02-01 Kenichi Handa <handa@m17n.org>
14767
14768 * print.c: Include charset.h.
14769 (Vprint_charset_text_property): New variable.
14770 (Qdefault): Extern it.
14771 (PRINT_STRING_NON_CHARSET_FOUND)
14772 (PRINT_STRING_UNSAFE_CHARSET_FOUND): New macros.
14773 (print_check_string_result): New variable.
14774 (print_check_string_charset_prop): New function.
14775 (print_prune_charset_plist): New variable.
14776 (print_prune_string_charset): New function.
14777 (print_object): Call print_prune_string_charset if
14778 Vprint_charset_text_property is not t.
14779 (print_interval): Print nothing if interval->plist is nil.
14780 (syms_of_print): Declare Vprint_charset_text_property as a lisp
14781 variable. Init and staticpro print_prune_charset_plist.
14782
14783 2008-02-01 Kenichi Handa <handa@m17n.org>
14784
14785 * fontset.c (new_fontset_from_font_name): Use the specified font
14786 for all characters in the new fontset.
14787
14788 * macterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
14789 OBJECT args.
14790
14791 * xdisp.c (x_produce_glyphs): Call FACE_FOR_CHAR with POS and
14792 OBJECT args for composition too.
14793
14794 * w32term.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
14795 OBJECT args.
14796
14797 2008-02-01 Kenichi Handa <handa@m17n.org>
14798
14799 * dispextern.h (FACE_FOR_CHAR): New args POS and OBJECT.
14800
14801 * fontset.c (reorder_font_vector): Adjust for the change of
14802 FONT_DEF format.
14803 (fontset_face): New arg id. Change caller.
14804 (face_for_char): New args pos and object.
14805 (make_fontset_for_ascii_face): Adjust for the change of FONT_DEF format.
14806 (fs_query_fontset): Check NAME by Fassoc too.
14807 (Fset_fontset_font): Allow non-XLFD font name.
14808 (Ffontset_info): Adjust for the change of FONT_DEF format.
14809
14810 * fontset.h (face_for_char): Adjust prototype.
14811
14812 * xdisp.c (face_before_or_after_it_pos, get_next_display_element)
14813 (append_space, extend_face_to_end_of_line)
14814 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
14815 (x_produce_glyphs): Call FACE_FOR_CHAR with POS and OBJECT args.
14816
14817 * xfaces.c (compute_char_face): Call FACE_FOR_CHAR with
14818 POS and OBJECT args.
14819
14820 * xterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with
14821 POS and OBJECT args.
14822
14823 2008-02-01 Jason Rumney <jasonr@gnu.org>
14824
14825 * w32select.c (Fw32_set_clipboard_data): Avoid potential realloc
14826 of GlobalAlloc'ed memory.
14827
14828 2008-02-01 Kenichi Handa <handa@m17n.org>
14829
14830 * ccl.c (Fccl_execute_on_string): Fix the condition of loop.
14831
14832 * charset.h (charset_table_used): Delete extern.
14833
14834 * charset.c (charset_table_used): Make it static.
14835 (map_charset_chars): Fix args to c_function with.
14836
14837 * chartab.c (map_sub_char_table_for_charset): Fix args to
14838 c_function with.
14839
14840 * coding.h (enum coding_result_code): Delete
14841 CODING_RESULT_INSUFFICIENT_CMP, add CODING_RESULT_INVALID_SRC.
14842
14843 * coding.c (Qinsufficient_source, Qinconsistent_eol)
14844 (Qinvalid_source, Qinterrupted, Qinsufficient_memory): New variables.
14845 (Vlast_code_conversion_error): New variables.
14846 (syms_of_coding): DEFSYM or DEFVAR_LISP them.
14847 (ONE_MORE_BYTE): Record error if any instead of signaling an
14848 error. If non-ASCII multibyte char is found, return the negative
14849 value of the code. All callers changed to check it.
14850 (ONE_MORE_BYTE_NO_CHECK): Likewise.
14851 (record_conversion_result): New function. Change all codes setting
14852 coding->result to call this function.
14853 (detect_coding_utf_8, decode_coding_utf_8)
14854 (detect_coding_emacs_mule, detect_coding_sji, detect_coding_big5):
14855 Don't use the local variable incomplete.
14856 (emacs_mule_char): Change the second arg to `const'.
14857 (decode_coding): Fix of flushing out unprocessed data.
14858 (make_conversion_work_buffer): Fix making of a work buffer.
14859 (decode_coding_object): Return coding->dst_object.
14860
14861 * fontset.c (set_fontset_font): Fix args.
14862
14863 * lisp.h (CHARACTERBITS): Define as 22.
14864
14865 * process.c (send_process): Be sure to set coding->src_multibyte.
14866
14867 * xdisp.c (handle_auto_composed_prop): Fix setting of limit.
14868
14869 2008-02-01 Kenichi Handa <handa@m17n.org>
14870
14871 * xdisp.c (handle_auto_composed_prop): Give limit to
14872 Fnext_single_char_property_change.
14873
14874 2008-02-01 Kenichi Handa <handa@m17n.org>
14875
14876 * composite.c (syms_of_composite): Don't make the composition hash
14877 table weak.
14878
14879 * fontset.c (Fset_fontset_font): Fix docstring.
14880
14881 * lisp.h (detect_coding_system): Adjust prototype.
14882
14883 * fileio.c (kill_workbuf_unwind): Delete this function.
14884 (Finsert_file_contents): Adjust the call of detect_coding_system.
14885 Get conversion_buffer by code_conversion_save. Use the macro
14886 CODING_MAY_REQUIRE_DECODING. After decoding, update
14887 coding_system.
14888
14889 * coding.h (make_conversion_work_buffer): Delete extern.
14890 (code_conversion_save): Extern it.
14891
14892 * coding.c (enum iso_code_class_type): Delete ISO_carriage_return.
14893 (CODING_GET_INFO): Delete argument eol_type. Change callers.
14894 (decode_coding_utf_8): Don't do eol converion.
14895 (detect_coding_utf_16): Check coding->src_chars, not
14896 coding->src_bytes. Add heuristics for those that have no signature.
14897 (decode_coding_emacs_mule, decode_coding_iso_2022)
14898 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
14899 Don't do eol converion.
14900 (adjust_coding_eol_type): Return a new coding system.
14901 (detect_coding): Don't detect eol. Fix for utf-16 detection.
14902 (decode_eol): In case of CRLF->LF conversion, use del_range_2 on
14903 each change.
14904 (decode_coding): Pay attention to undo_list. Do eol conversion for
14905 all types of coding-systems (if necessary).
14906 (Vcode_conversion_work_buf_list): Delete it.
14907 (Vcode_conversion_reused_workbuf): Rename from
14908 Vcode_conversion_reused_work_buf.
14909 (Vcode_conversion_workbuf_name): New variable.
14910 (reused_workbuf_in_use): New variable.
14911 (make_conversion_work_buffer): Delete the arg DEPTH.
14912 (code_conversion_restore): Change argument to cons.
14913 (code_conversion_save): Delete the argument BUFFER. Change callers.
14914 (detect_coding_system): New argument src_chars. Change callers.
14915 Fix for utf-16 detection.
14916 (init_coding_once): Don't use ISO_carriage_return.
14917 (syms_of_coding): Initialize Vcode_conversion_workbuf_name and
14918 reused_workbuf_in_use.
14919
14920 2008-02-01 Kenichi Handa <handa@m17n.org>
14921
14922 * keymap.c (store_in_keymap): Pay attention to the case that idx
14923 is a cons specifying a character range.
14924
14925 2008-02-01 Kenichi Handa <handa@m17n.org>
14926
14927 * xdisp.c (handle_auto_composed_prop): Fix the case of returning
14928 HANDLED_RECOMPUTE_PROPS.
14929
14930 * coding.c (Fdefine_coding_system_internal): Fix checking of
14931 ascii compatibility.
14932
14933 2008-02-01 Kenichi Handa <handa@m17n.org>
14934
14935 * charset.c (find_charsets_in_text): Delete unused locale variable.
14936 (Fset_charset_priority): Update Vemacs_mule_charset_list too.
14937
14938 * coding.c (encode_coding_emacs_mule): Emit bytes with MSB.
14939 Resync charset_list to Vemacs_mule_charset_list.
14940
14941 * keymap.c (store_in_keymap): Pay attention to the case that idx
14942 is a cons specifying a character range.
14943
14944 2008-02-01 Kenichi Handa <handa@m17n.org>
14945
14946 * composite.c (update_compositions): Bind inhibit-read-only, etc
14947 to t before calling remove-list-of-text-properties.
14948
14949 * print.c (print_object): Always print ASCII chars as is.
14950
14951 2008-02-01 Kenichi Handa <handa@m17n.org>
14952
14953 * keymap.c (Fdefine_key): Fix handling of Lucid style event type list.
14954
14955 * fns.c (Fmapconcat, Fmapcar, Fmapc): Signal an error if SEQUENCE
14956 is a char table.
14957
14958 2008-02-01 Kenichi Handa <handa@m17n.org>
14959
14960 * syntax.c (skip_chars): Be sure to alloca char_ranges when necessary.
14961
14962 2008-02-01 Kenichi Handa <handa@m17n.org>
14963
14964 * xfaces.c (set_lface_from_font_name): Fix for the case that
14965 FONTNAME is not fontset name.
14966
14967 2008-02-01 Kenichi Handa <handa@m17n.org>
14968
14969 * fns.c (base64_encode_1): Fix previous change.
14970
14971 2008-02-01 Kenichi Handa <handa@m17n.org>
14972
14973 * fontset.c (set_fontset_font): New function.
14974 (Fset_fontset_font): If a font is specified for a charset, use
14975 map_charset_chars to store the font spec in a fontset.
14976
14977 2008-02-01 Kenichi Handa <handa@m17n.org>
14978
14979 * fontset.c (fontset_face): Create a fallback fontset on demand.
14980 (make_fontset): Don't create a fallback fontset here.
14981 (free_face_fontset): Free a fallback fontset (if any) too.
14982 (n_auto_fontsets): Delete this variable.
14983 (auto_fontset_alist): New variable.
14984 (new_fontset_from_font_name): Check auto_fontset_alist.
14985 (dump_fontset) [FONTSET_DEBUG]: Fully re-written.
14986 (Ffontset_list_all) [FONTSET_DEBUG]: New function.
14987 (syms_of_fontset): Initialize and staticpro auto_fontset_alist.
14988 Defsubr Sfontset_list_all.
14989
14990 2008-02-01 Kenichi Handa <handa@m17n.org>
14991
14992 * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
14993
14994 2008-02-01 Kenichi Handa <handa@m17n.org>
14995
14996 * fontset.c (Fnew_fontset): Check NAME more rigidly.
14997
14998 2008-02-01 Kenichi Handa <handa@m17n.org>
14999
15000 * editfns.c (Fgoto_char): Fix docstring.
15001
15002 2008-02-01 Kenichi Handa <handa@m17n.org>
15003
15004 * insdel.c (insert_from_gap): Adjust intervals correctly.
15005
15006 2008-02-01 Jason Rumney <jasonr@gnu.org>
15007
15008 * w32term.c (GLYPHSET, WCRANGE): Define if system headers don't.
15009 (pfnGetFontUnicodeRanges): New dynamically loaded function.
15010 (w32_initialize): Try to load it.
15011 (x_get_font_repertory): Use it if available.
15012 (w32_encode_char): Add shortcut for unicode output.
15013
15014 * w32fns.c (w32_load_system_font): Default charset to -1.
15015 (x_to_w32_charset): Match all fonts for unicode.
15016 (w32_to_x_charset): New parameter matching. Don't return partial
15017 or wildcard charsets.
15018 (w32_to_all_x_charsets): Don't return partial or wildcard charsets.
15019 (w32_codepage_for_font): Return CP_UNICODE for unicode.
15020 (w32_to_x_font): Match charset to real charset.
15021 (enum_font_cb2): Always list unicode versions.
15022
15023 * makefile.w32-in (temacs): Increase EMHEAP.
15024
15025 2008-02-01 Jason Rumney <jasonr@gnu.org>
15026
15027 * w32term.c (w32_encode_char): New charset parameter.
15028 font_info.encoding becomes encoding_type.
15029 (x_get_font_repertory): New function. Warning: stub only!
15030 (x_new_font): Return quickly if font already set.
15031 (x_new_fontset): fontsetname parameter is Lisp_Object.
15032 Use new fs_query_fontset. Try new_fontset_from_font_name.
15033 Use fontset_name for return value.
15034
15035 * w32term.h: Declare x_get_font_repertory.
15036
15037 * w32select.c (Fw32_set_clipboard_data): Use string_x_string_p in
15038 place of find_charset_in_text. Use encode_coding_object in place
15039 of encode_coding.
15040 (Fw32_get_clipboard_data): Use decode_coding_c_string in place of
15041 decode_coding.
15042
15043 * w32fns.c (Fx_create_frame, x_create_tip_frame): Use new version
15044 of x_new_fontset.
15045 (w32_load_system_font): Initialize charset as unicode.
15046 font_info.encoding becomes encoding_type.
15047 (w32_to_x_font): Use decode_coding_c_string in place of decode_coding.
15048 (x_to_w32_font): Use encode_coding_object in place of encode_coding.
15049 (syms_of_w32fns): Set get_font_repertory_func.
15050
15051 * w32console.c: Include character.h. Use terminal_encode_buffer
15052 from term.c.
15053 (write_glyphs): Use new version of encode_terminal_code. Use
15054 encode_coding_object in place of encode_coding.
15055
15056 * w32bdf.c (w32_load_bdf_font): Clear font_info before filling.
15057 encoding becomes encoding_type.
15058
15059 * term.c (terminal_encode_buffer): Make externally visible.
15060
15061 * makefile.w32-in: Add character.h dependancies.
15062 (character.o, chartab.o): New targets.
15063
15064 2008-02-01 Kenichi Handa <handa@m17n.org>
15065
15066 * fileio.c (Finsert_file_contents) [DOS_NT]: Use the macro
15067 CODING_ID_EOL_TYPE.
15068
15069 2008-02-01 Andreas Schwab <schwab@suse.de>
15070
15071 * coding.c (produce_chars): Revert last change.
15072
15073 2008-02-01 Kenichi Handa <handa@m17n.org>
15074
15075 * charset.h (charset_unicode): Extern it.
15076
15077 * charset.c (string_xstring_p): Check by (C >= 0x100).
15078 (find_charsets_in_text): Change format of the arc CHARSETS. New
15079 arg MULTIBYTE.
15080 (Ffind_charset_region, Ffind_charset_string): Adjust for the
15081 change of find_charsets_in_text.
15082 (Fsplit_char): Fix doc. Never return unknown.
15083
15084 * chartab.c (char_table_translate): Use CHARACTERP, not INTEGERP.
15085
15086 * coding.c (Fdefine_coding_system_alias): Update
15087 Vcoding_system_list.
15088
15089 * fontset.c (load_font_get_repertory): Pay attention to the case
15090 that ENCODING of a font is specified by a char-table.
15091
15092 * xterm.c (x_get_font_repertory): Handle the case that the
15093 encoding of font is other than Unicode.
15094
15095 2008-02-01 Kenichi Handa <handa@m17n.org>
15096
15097 * term.c (encode_terminal_code): Don't handle glyph-table. Check
15098 if a character is encodable by the terminal coding system. If
15099 not, produces proper number of `?'s. Update
15100 terminal_encode_buffer and terminal_encode_buf_size if necessary.
15101 (produce_glyphs): Check by CHAR_BYTE8_P, not SINGLE_BYTE_CHAR_P.
15102
15103 2008-02-01 Kenichi Handa <handa@m17n.org>
15104
15105 * term.c (terminal_encode_buffer, terminal_encode_buf_size): New
15106 variables.
15107 (encode_terminal_code): Change argument. Encode multiple
15108 characters at once. Store the result of encoding in
15109 terminal_encode_buffer.
15110 (write_glyphs, insert_glyphs): Adjust for the change of
15111 encode_terminal_code.
15112 (term_init): Initialize terminal_encode_buffer and
15113 terminal_encode_buf_size.
15114
15115 * coding.c (consume_chars): If coding->src_object is nil, don't
15116 check annotation.
15117
15118 2008-02-01 Kenichi Handa <handa@m17n.org>
15119
15120 * character.c (char_string): Use ASCII_CHAR_P instead of
15121 SINGLE_BYTE_CHAR_P.
15122
15123 2008-02-01 Kenichi Handa <handa@m17n.org>
15124
15125 * xdisp.c (handle_auto_composed_prop): Check if the last
15126 characters of auto-composed region is newly composed with the
15127 following characters.
15128 (handle_composition_prop): Fix checking of point being inside
15129 composition.
15130
15131 2008-02-01 Kenichi Handa <handa@m17n.org>
15132
15133 * fns.c (concat): Don't change multibyteness of the result by
15134 concatenating an 8-bit character.
15135
15136 * data.c (Faset): Check newelt by CHECK_CHARACTER. Don't change
15137 multibyteness of the result when newelt is an 8-bit character.
15138
15139 2008-02-01 Dave Love <fx@gnu.org>
15140
15141 * xmenu.c (find_and_call_menu_selection): Make menu_bar_items_used
15142 EMACS_INT.
15143
15144 * xfns.c (DefaultDepthOfScreen, x_encode_text): Remove unused vars.
15145
15146 * xfaces.c (face_numeric_value): Declare dim size_t.
15147 (Finternal_lisp_face_equal_p): Remove unused f.
15148
15149 * xdisp.c (BUILD_CHAR_GLYPH_STRINGS, display_and_set_cursor)
15150 (MATRIX_ROW): Remove unused vars.
15151 (draw_glyphs, x_insert_glyphs, fast_find_position)
15152 (fast_find_position, fast_find_string_pos): Use EMACS_INT for
15153 byte/char counts.
15154
15155 * regex.c (regex_compile): Remove unused var.
15156
15157 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
15158
15159 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
15160 (Faccessible_keymaps, where_is_internal): Remove unused vars.
15161
15162 * keyboard.c (cancel_hourglass_unwind): Return Qnil.
15163
15164 * frame.c (frame_name_fnn_p): Make len EMACS_INT.
15165
15166 * fileio.c (Fwrite_region): Remove unused var.
15167
15168 * dispnew.c (adjust_frame_glyphs_for_frame_redisplay)
15169 (adjust_frame_glyphs_for_window_redisplay): Remove unused ch_dim.
15170
15171 * composite.c (Fremove_list_of_text_properties): Declare.
15172
15173 * coding.c (inhibit_pre_post_conversion): Remove (unused).
15174 (alloc_destination, produce_chars): Use EMACS_INT for byte/char counts.
15175 (coding_inherit_eol_type): Remove unused attrs.
15176 (detect_coding): Cast arg of detect_eol.
15177
15178 * charset.c (syms_of_charset): Remove unused var p.
15179 (find_charsets_in_text, Ffind_charset_region): Use EMACS_INT for
15180 byte/char counts.
15181
15182 * casetab.c (set_case_table): Remove unused var.
15183
15184 * window.c (Fdisplay_buffer, Fframe_selected_window): Remove
15185 unused vars.
15186
15187 2008-02-01 Dave Love <fx@gnu.org>
15188
15189 * xterm.c (x_bitmap_mask): Declare.
15190
15191 2008-02-01 Dave Love <fx@gnu.org>
15192
15193 * xterm.c (x_term_init): Fix type error.
15194
15195 * lisp.h: Add Funibyte_char_to_multibyte.
15196
15197 * coding.c (Fread_coding_system): Fix arg of XSETSTRING.
15198 (Fset_coding_system_priority): Doc fix.
15199
15200 * ccl.c (ccl_driver): Fix arg of CHARACTERP.
15201
15202 * indent.c (check_composition): Make start and end EMACS_INT.
15203
15204 * character.c (lisp_string_width): Make ignore and end EMACS_INT.
15205
15206 * xdisp.c (handle_composition_prop, check_point_in_composition):
15207 Make buffer positions EMACS_INT.
15208
15209 * composite.c (find_composition, run_composition_function)
15210 (update_compositions, Ffind_composition_internal): Make buffer
15211 positions EMACS_INT.
15212
15213 * composite.h (find_composition, update_compositions): Make
15214 position args EMACS_INT.
15215
15216 * keyboard.c (adjust_point_for_property): Make beg and end EMACS_INT.
15217
15218 * intervals.c (get_property_and_range):
15219 * intervals.h (get_property_and_range): Make start and end EMACS_INT.
15220
15221 * unexalpha.c: Don't include varargs.h.
15222
15223 2008-02-01 Dave Love <fx@gnu.org>
15224
15225 * coding.h (ENCODE_UTF_8): New.
15226
15227 * Makefile.in (gtkutil.o): Depend on coding.h.
15228
15229 * coding.c (Fset_coding_system_priority): Doc fix.
15230
15231 2008-02-01 Kenichi Handa <handa@m17n.org>
15232
15233 * fileio.c (Finsert_file_contents): Call setup_coding_system in
15234 the case of auto saving.
15235
15236 2008-02-01 Andreas Schwab <schwab@suse.de>
15237
15238 * chartab.c (map_char_table, map_char_table_for_charset): Protect
15239 `range' from GC.
15240
15241 2008-02-01 Kenichi Handa <handa@m17n.org>
15242
15243 * coding.c (decode_coding_sjis): Check bytes more rigidly.
15244
15245 2008-02-01 Kenichi Handa <handa@m17n.org>
15246
15247 * fileio.c (choose_write_coding_system): Return a decided coding system.
15248 (Fwrite_region): Set Vlast_coding_system_used to the return value
15249 of choose_write_coding_system.
15250
15251 2008-02-01 Kenichi Handa <handa@m17n.org>
15252
15253 * charset.c (Fset_charset_priority): Pay attention to duplicated
15254 arguments.
15255
15256 * coding.c (QCcategory): New variable.
15257 (syms_of_coding): Defsym it. Set all elements of
15258 Vcoding_category_table and their symbol values.
15259 (Fset_coding_system_priority): Doc fix. Update symbol qvalues of
15260 coding-category-XXX, and coding-category-list.
15261 (Fdefine_coding_system_internal): Add category in the plist.
15262
15263 2008-02-01 Kenichi Handa <handa@m17n.org>
15264
15265 * callproc.c (Fcall_process): Handle carryover correctly.
15266
15267 * coding.c (decode_coding_iso_2022): Fix handling of invalid bytes.
15268 (raw_text_coding_system): Check NILP (coding_system).
15269 (coding_inherit_eol_type): Check NILP (coding_system) and
15270 NILP (parent).
15271 (consume_chars): Fix for the case of raw-text.
15272
15273 * process.c (read_process_output): Handle carryover correctly.
15274
15275 2008-02-01 Dave Love <fx@gnu.org>
15276
15277 * regex.c (re_search_2): Fix last change.
15278
15279 2008-02-01 Kenichi Handa <handa@m17n.org>
15280
15281 * regex.c (GET_CHAR_BEFORE_2): Check multibyte, not
15282 target_multibyte. Even in a unibyte case, return a converted
15283 multibyte char.
15284 (GET_CHAR_AFTER): New macro.
15285 (PATFETCH): Translate via multibyte char.
15286 (HANDLE_UNIBYTE_RANGE): Delete this macro.
15287 (SETUP_MULTIBYTE_RANGE): New macro.
15288 (regex_compile): Setup compiled code so that its multibyteness
15289 matches that of a target. Fix the handling of "[X-YZ]" using
15290 SETUP_MULTIBYTE_RANGE.
15291 (analyse_first) <charset>: For filling fastmap for all multibyte
15292 characters, don't check by BASE_LEADING_CODE_P.
15293 (re_search_2): Don't check RE_TARGET_MULTIBYTE_P (bufp). It is
15294 the same as RE_MULTIBYTE_P (bufp) now.
15295 (mutually_exclusive_p): Check by (! multibyte || IS_REAL_ASCII (c)).
15296 (TARGET_CHAR_AND_LENGTH): Delete this macro.
15297 (TRANSLATE_VIA_MULTIBYTE): New macro.
15298 (re_match_2_internal): Don't check RE_TARGET_MULTIBYTE_P (bufp).
15299 It is the same as RE_MULTIBYTE_P (bufp) now.
15300 <exactn>: Translate via multibyte.
15301 <anychar>: Fetch a character by RE_STRING_CHAR_AND_LENGTH. Don't
15302 translate it.
15303 <charset, charset_not>: Fetch a character by
15304 RE_STRING_CHAR_AND_LENGTH. Translate via multibyte.
15305 <duplicate>: Call bcmp_translate with the last arg `multibyte'.
15306 <wordbound, notwordbound, wordbeg, wordend, syntaxspec,
15307 notsyntaxspec, categoryspec, notcategoryspec> Fetch a character
15308 by GET_CHAR_AFTER.
15309 (bcmp_translate): Likewise.
15310
15311 * search.c (compile_pattern): Check the member target_multibyte,
15312 not the member multibyte of buf.
15313
15314 * lread.c (read1): While reading a string, set force_singlebyte
15315 and force_multibyte correctly.
15316
15317 * charset.c (Fset_unibyte_charset, init_charset_once): Fix setting
15318 up of unibyte_to_multibyte_table.
15319
15320 2008-02-01 Kenichi Handa <handa@m17n.org>
15321
15322 * coding.c (setup_coding_system): If coding has
15323 post-read-conversion or pre-write-conversion, set
15324 CODING_REQUIRE_DECODING_MASK and CODING_REQUIRE_ENCODING_MASK
15325 respectively.
15326 (decode_coding_gap): Run post-read-conversion if any.
15327
15328 * fileio.c (Finsert_file_contents): Even if we read into a
15329 unibyte buffer, check if we must decode the result or not.
15330
15331 2008-02-01 Kenichi Handa <handa@m17n.org>
15332
15333 * coding.c (make_conversion_work_buffer): Change the work buffer
15334 name to the same one as that of Emacs 21.
15335
15336 2008-02-01 Kenichi Handa <handa@m17n.org>
15337
15338 * coding.h (make_conversion_work_buffer): Adjust prototype.
15339 (code_conversion_restore): Don't extern it.
15340
15341 * coding.c (detected_mask): Delete unused variable.
15342 (decode_coding_iso_2022): Pay attention to the byte sequence of
15343 CTEXT extended segment, and retain those bytes as is.
15344 (decode_coding_ccl): Delete unused variable `valids'.
15345 (setup_coding_system): Delete unused variable `category'.
15346 (consume_chars): Delete unused variable `category'. Make it work
15347 for non-multibyte case.
15348 (make_conversion_work_buffer): Change argument.
15349 (saved_coding): Delete unused variable.
15350 (code_conversion_restore): Don't check saved_coding->destination.
15351 (code_conversion_save): New function.
15352 (decode_coding_gap, encode_coding_gap): Call code_conversion_save
15353 instead of record_unwind_protect.
15354 (decode_coding_object, encode_coding_object): Likewise. Recover PT.
15355 (detect_coding_system): Delete unused variable `mask'.
15356 (Fdefine_coding_system_internal): Delete unused variable id.
15357
15358 * fileio.c (kill_workbuf_unwind): New function.
15359 (Finsert_file_contents): On replacing, call
15360 make_conversion_work_buffer with correct args, and call
15361 record_unwind_protect with the first arg kill_workbuf_unwind.
15362
15363 * lisp.h (Fgenerate_new_buffer_name): EXFUN it.
15364
15365 2008-02-01 Kenichi Handa <handa@m17n.org>
15366
15367 * fontset.c (BASE_FONTSET_P): Check FONTSET_BASE, not FONTSET_NAME.
15368 (fontset_add): Fix for the case that TO is less than TO1.
15369 (Ffontset_info): Don't use fallback fontset on checking the
15370 default fontset.
15371 (dump_fontset): New function for debugging.
15372
15373 * coding.c (Fdefine_coding_system_internal): Fix for the case that
15374 coding_type is Qcharset.
15375
15376 2008-02-01 Kenichi Handa <handa@m17n.org>
15377
15378 * chartab.c (map_sub_char_table): New argument DEFAULT_VAL.
15379 (map_char_table): Don't inherit the value from the parent on
15380 initializing VAL. Adjust for the above change.
15381
15382 2008-02-01 Kenichi Handa <handa@m17n.org>
15383
15384 * coding.c (Qsignature, Qendian): Delete these variables.
15385 (syms_of_coding): Don't initialize them.
15386 (CATEGORY_MASK_UTF_16_AUTO): New macro.
15387 (detect_coding_utf_16): Add CATEGORY_MASK_UTF_16_AUTO in
15388 detect_info->found.
15389 (decode_coding_utf_16): Don't detect BOM here.
15390 (encode_coding_utf_16): Produce BOM if CODING_UTF_16_BOM (coding)
15391 is NOT utf_16_without_bom.
15392 (setup_coding_system): For a coding system of type utf-16, check
15393 if the attribute :endian is Qbig or not (not nil or not), and set
15394 CODING_REQUIRE_DETECTION_MASK if BOM detection is required.
15395 (detect_coding): If coding type is utf-16 and BOM detection is
15396 required, detect it.
15397 (Fdefine_coding_system_internal): For a coding system of type
15398 utf-16, check if the attribute :endian is Qbig or not (not nil or not).
15399
15400 2008-02-01 Kenichi Handa <handa@m17n.org>
15401
15402 * coding.c (coding_set_source): Fix for the case that the current
15403 buffer is different from coding->src_object.
15404 (decode_coding_object): Don't use the conversion work buffer if
15405 DST_OBJECT is a buffer.
15406
15407 2008-02-01 Dave Love <fx@gnu.org>
15408
15409 * lread.c (read_emacs_mule_char) [len==2]: Index
15410 emacs_mule_charset correctly.
15411
15412 2008-02-01 Dave Love <fx@gnu.org>
15413
15414 * coding.c (Qbig5, Vbig5_coding_system, CATEGORY_MASK_BIG5)
15415 (detect_coding_big5, decode_coding_big5, encode_coding_big5)
15416 (Fdecode_big5_char, Fencode_big5_char): Delete. (Big5 no longer
15417 treated specially.)
15418 (setup_coding_system, coding_category, CATEGORY_MASK_ANY)
15419 (detected_mask): Remove Big5 bits.
15420
15421 2008-02-01 Kenichi Handa <handa@m17n.org>
15422
15423 The following changes are to make the font rescaling facility
15424 compatible with Emacs 21.
15425
15426 * xfaces.c (Vface_font_rescale_alist): Rename from
15427 Vface_resizing_fonts.
15428 (struct font_name): Rename member resizing_ratio to rescale_ratio.
15429 (font_rescale_ratio): Rename from font_resizing_ratio.
15430 (split_font_name): Set font->rescale_ratio.
15431 (better_font_p): Pay attention to font->rescale_ratio.
15432 (build_scalable_font_name): Likewise. Change RESX, and RESY
15433 fields.
15434 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
15435
15436 2008-02-01 Kenichi Handa <handa@m17n.org>
15437
15438 * coding.c (Qutf_16_be_nosig, Qutf_16_be, Qutf_16_le_nosig)
15439 (Qutf_16_le): Remove these variables.
15440 (syms_of_coding): Don't DEFSYM them.
15441 (decode_coding_utf_16): Fix handling of BOM.
15442 (encode_coding_utf_16): Fix handling of BOM.
15443
15444 2008-02-01 Kenichi Handa <handa@m17n.org>
15445
15446 * fileio.c (Finsert_file_contents): On replacing, before decoding
15447 the file into the work buffer, set point of the work buffer to the end.
15448
15449 2008-02-01 Dave Love <fx@gnu.org>
15450
15451 * coding.c (Fcheck_coding_systems_region): Fix type errors.
15452
15453 2008-02-01 Dave Love <fx@gnu.org>
15454
15455 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
15456 and fix C types.
15457
15458 2008-02-01 Kenichi Handa <handa@m17n.org>
15459
15460 * xdisp.c (SKIP_GLYPHS): New macro.
15461 (set_cursor_from_row): Pay attention to string display properties.
15462
15463 * category.c (copy_category_entry): Fix for the case that RANGE
15464 is an integer.
15465
15466 * xterm.c (x_encode_char): Call ccl_driver with the last arg Qnil.
15467
15468 * w32term.c (w32_encode_char): Call ccl_driver with the last arg Qnil.
15469
15470 2008-02-01 Kenichi Handa <handa@m17n.org>
15471
15472 * charset.c (Fcharset_id_internal): New function.
15473 (syms_of_charset): Defsubr it.
15474
15475 * coding.c (decode_coding_ccl, encode_coding_ccl): Call ccl_driver
15476 with the last arg charset_list acquired from coding.
15477 (Fdefine_coding_system_internal): For ccl-based coding system, fix
15478 the attribute coding_attr_ccl_valids.
15479
15480 * coding.h (enum define_coding_ccl_arg_index): Set the first
15481 member coding_arg_ccl_decoder to coding_arg_max.
15482
15483 * ccl.h (ccl_driver): Adjust prototype.
15484
15485 * ccl.c (CCL_DECODE_CHAR, CCL_ENCODE_CHAR): New macros.
15486 (ccl_driver): New arg CHARSET_LIST. Use the above macros instead
15487 of DECODE_CHAR, ENCODE_CHAR, CHAR_CHARSET.
15488 (Fccl_execute, Fccl_execute_on_string): Call ccl_driver with the
15489 last arg Qnil.
15490
15491 2008-02-01 Kenichi Handa <handa@m17n.org>
15492
15493 * charset.h (ENCODE_CHAR): If the method is SUBSET or SUPERSET,
15494 call encode_char.
15495
15496 * charset.c (encode_char): Fix handling of methods SUBSET and SUPERSET.
15497
15498 2008-02-01 Dave Love <fx@gnu.org>
15499
15500 * composite.c (syms_of_composite): Make composition_hash_table weak.
15501
15502 2008-02-01 Kenichi Handa <handa@m17n.org>
15503
15504 * dispextern.h (check_face_attributes, generate_ascii_font_name)
15505 (font_name_registry): Don't extern them.
15506 (split_font_name_into_vector, build_font_name_from_vector): Extern them.
15507
15508 * fontset.h (Qfontset): Don't extern it.
15509 (new_fontset_from_font_name): Extern it.
15510
15511 * fontset.c: Give 8 extra slots to fontset objects.
15512 (Qfontset_info): New variable.
15513 (syms_of_fontset): Defsym it.
15514 (FONTSET_FALLBACK): New macro.
15515 (fontset_face): Try also the default fontset.
15516 (make_fontset): Realize a fallback fontset from the default fontset.
15517 (generate_ascii_font_name): Move from xfaces.c. Rewritten by
15518 using split_font_name_into_vector and build_font_name_from_vector.
15519 (Fset_fontset_font): Access the elements of font_spec by enum
15520 FONT_SPEC_INDEX. If font_spec is a string, extract the registry
15521 name by using split_font_name_into_vector.
15522 (Fnew_fontset): If no ASCII font is specified in FONTLIST,
15523 generate a proper font name from the fontset name. Update
15524 Vfontset_alias_alist.
15525 (n_auto_fontsets): New variable.
15526 (new_fontset_from_font_name): New function.
15527 (Ffont_info): Store the information about fonts generated from the
15528 default fontset in the first extra slot of the returned char-table.
15529
15530 * xfaces.c (generate_ascii_font_name): Move to fontset.c.
15531 (font_name_registry): Delete function.
15532 (split_font_name_into_vector): New function.
15533 (build_font_name_from_vector): New function.
15534 (font_list): The argument REGISTRY is now a list of registry names.
15535 (choose_face_font): If we are choosing an ASCII font, and ATTRS
15536 specifies an explicit font name, return the name as is. Make a
15537 list of registy names.
15538
15539 * xfns.c (x_set_font, x_create_tip_frame): Adjust for the change
15540 of x_new_fontset.
15541 (Fx_create_frame): Don't call x_new_fontset here. Just use
15542 x_list_fonts to check the existence of fonts.
15543
15544 * xterm.h (x_new_fontset): Adjust prototype.
15545
15546 * xterm.c (x_new_fontset): Change the arg FONTSETNAME to Lisp
15547 string. Use new_fontset_from_font_name to create a fontset from a
15548 font name.
15549
15550 2008-02-01 Kenichi Handa <handa@m17n.org>
15551
15552 * syntax.c (Vfind_word_boundary_function_table): New name for
15553 Vnext_word_boundary_function_table.
15554 (find-word-boundary-function-table): New name for
15555 next-word-boundary-function-table.
15556
15557 2008-02-01 Dave Love <fx@gnu.org>
15558
15559 * Makefile.in: Fix some dependencies.
15560
15561 * keymap.c (Fapropos_internal): Don't gcpro apropos_predicate but
15562 set it to nil before returning.
15563
15564 * composite.c (update_compositions): Fix type error.
15565
15566 * syntax.c (skip_chars, skip_syntaxes): Fix type errors.
15567
15568 2008-02-01 Kenichi Handa <handa@m17n.org>
15569
15570 * xterm.c (x_new_font): Optimize for the case that the font is
15571 already set for the frame.
15572
15573 2008-02-01 Kenichi Handa <handa@m17n.org>
15574
15575 * chartab.c (char_table_ascii): Check if the char table contents
15576 is sub-char-table or not.
15577 (char_table_set, char_table_set_range): Fix argument to
15578 char_table_ascii.
15579
15580 * coding.c (CATEGORY_MASK_RAW_TEXT): New macro.
15581 (detect_coding_utf_8, detect_coding_utf_16)
15582 (detect_coding_emacs_mule, detect_coding_iso_2022)
15583 (detect_coding_sjis, detect_coding_big5)
15584 (detect_coding_ccl, detect_coding_charset): Change argument MASK
15585 to DETECT_INFO. Update DETECT_INFO and return 1 if the byte
15586 sequence is valid in this coding system. Change callers.
15587 (MAX_ANNOTATION_LENGTH): New macro.
15588 (ADD_ANNOTATION_DATA): New macro.
15589 (ADD_COMPOSITION_DATA): Change argument. Change callers. Call
15590 ADD_ANNOTATION_DATA. Change the format of annotation data.
15591 (ADD_CHARSET_DATA): New macro.
15592 (emacs_mule_char): New argument ID. Change callers.
15593 (decode_coding_emacs_mule, decode_coding_iso_2022)
15594 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
15595 Produce charset annotation data in coding->charbuf.
15596 (encode_coding_emacs_mule, encode_coding_iso_2022): Pay attention
15597 to charset annotation data in coding->charbuf.
15598 (setup_coding_system): Add CODING_ANNOTATE_CHARSET_MASK
15599 coding->common_flags if the coding system is iso-2022 based and
15600 uses designation.
15601 (produce_composition): Adjust for the new annotation data format.
15602 (produce_charset): New function.
15603 (produce_annotation): Handle charset annotation.
15604 (handle_composition_annotation, handle_charset_annotation): New
15605 functions.
15606 (consume_chars): Handle charset annotation. Utilize the above two
15607 functions.
15608 (encode_coding_object): If SRC_OBJECT and DST_OBJECT are the same
15609 buffer, get the deleted text as a string and set
15610 coding->src_object to that string.
15611 (detect_coding, detect_coding_system): Use the new struct
15612 coding_detection_info.
15613
15614 * coding.h (struct coding_detection_info): New structure.
15615 (struct coding_system): Adjust prototype of the member `detector'.
15616 (CODING_ANNOTATE_CHARSET_MASK): New macro.
15617
15618 2008-02-01 Kenichi Handa <handa@m17n.org>
15619
15620 * insdel.c (insert_from_gap): Fix argument to offset_intervals.
15621
15622 2008-02-01 Dave Love <fx@gnu.org>
15623
15624 * keymap.c (apropos_predicate, apropos_accumulate): Declare static.
15625 (Fapropos_internal): Don't gcpro apropos_accumulate. Set result
15626 to new local and nullify apropos_accumulate before returning.
15627 (syms_of_keymap): Staticpro and initialize apropos_accumulate.
15628
15629 2008-02-01 Kenichi Handa <handa@m17n.org>
15630
15631 * charset.c (Fdefine_charset_internal): Setup charset.fast_map
15632 correctly.
15633
15634 2008-02-01 Dave Love <fx@gnu.org>
15635
15636 * fns.c (Flanginfo): Call synchronize_system_time_locale.
15637
15638 2008-02-01 Kenichi Handa <handa@m17n.org>
15639
15640 The following changes are to make character composition happen
15641 automatically on displaying.
15642
15643 * Makefile.in (lisp, shortlisp): Add composite.elc.
15644
15645 * composite.h (Qauto_composed, Vauto_composition_function)
15646 (Qauto_composition_function): Extern them.
15647
15648 * composite.c (Vcomposition_function_table)
15649 (Qcomposition_function_table): Delete variables.
15650 (Qauto_composed, Vauto_composition_function)
15651 (Qauto_composition_function): New variables.
15652 (run_composition_function): Don't call
15653 compose-chars-after-function.
15654 (update_compositions): Clear `auto-composed' text property.
15655 (compose_chars_in_text): Delete this function.
15656 (syms_of_composite): Staticpro Qauto_composed and
15657 Qauto_composition_function. Declare Vauto_composition_function as
15658 a Lisp variable.
15659
15660 * dispextern.h (enum prop_idx): Add member AUTO_COMPOSED_PROP_IDX.
15661
15662 * xdisp.c (it_props): Add an entry for Qauto_composed.
15663 (handle_auto_composed_prop): New function.
15664
15665 * xselect.c (selection_data_to_lisp_data): Don't call
15666 compose_chars_in_text.
15667
15668 2008-02-01 Dave Love <fx@gnu.org>
15669
15670 * keyboard.c (read_char): Modify checking around use of
15671 Vkeyboard_translate_table.
15672
15673 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
15674 and fix C types.
15675
15676 2008-02-01 Kenichi Handa <handa@m17n.org>
15677
15678 * coding.c (decode_coding_utf_8, decode_coding_emacs_mule)
15679 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
15680 (decode_coding_charset, produce_chars): When eol_type is Qdos, handle
15681 the case that the last byte is '\r' correctly.
15682 (decode_coding): Flush out the unprocessed data correctly.
15683 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK bit of coding->mode.
15684
15685 2008-02-01 Dave Love <fx@gnu.org>
15686
15687 * xterm.c (XTread_socket): Fix changes for defined keysyms.
15688 Add XK_ISO... case.
15689 (xaw_scroll_callback): Revert last change.
15690
15691 2008-02-01 Kenichi Handa <handa@m17n.org>
15692
15693 * charset.c (Fset_charset_priority): Update Viso_2022_charset_list.
15694
15695 2008-02-01 Kenichi Handa <handa@m17n.org>
15696
15697 * xfaces.c (Vface_resizing_fonts): New variable.
15698 (struct font_name): New member `resizing_ratio'.
15699 (font_resizing_ratio): New function.
15700 (split_font_name): Set font->resizing_ratio.
15701 (better_font_p): Pay attention to font->resizing_ratio.
15702 (build_scalable_font_name): Likewise. Don't change POINT_SIZE,
15703 RESX, and RESY fields.
15704 (try_alternative_families): Try scalable fonts if
15705 Vscalable_fonts_allowed is not Qt.
15706 (syms_of_xfaces): Declare Vface_resizing_fonts as a Lisp variable.
15707
15708 2008-02-01 Dave Love <fx@gnu.org>
15709
15710 * xterm.c (xaw_scroll_callback): Cast correctly.
15711
15712 2008-02-01 Dave Love <fx@gnu.org>
15713
15714 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extend.
15715 (lispy_kana_keys): Comment out.
15716 (make_lispy_event) [XK_kana_A]: Comment out.
15717
15718 * xterm.c (xaw_scroll_callback): Cast call_data.
15719 (XTread_socket): Deal with ASCII keysyms.
15720 (syms_of_xterm) <Vx_keysym_table>: Fix args of make_hash_table.
15721
15722 2008-02-01 Dave Love <fx@gnu.org>
15723
15724 * xterm.c (Vx_keysym_table): New.
15725 (syms_of_xterm): Initialize it.
15726 (XTread_socket): Use it.
15727 From head: Eliminate incorrect optimization that tried to avoid
15728 decoding the output of X*LookupString.
15729 (x_get_font_repertory): Delete charset declaration.
15730
15731 2008-02-01 Kenichi Handa <handa@m17n.org>
15732
15733 * coding.c (detect_coding_charset): If only ASCII bytes are found,
15734 return 0.
15735 (Fdefine_coding_system_internal): Setup
15736 CODING_ATTR_ASCII_COMPAT (attrs) correctly.
15737
15738 2008-02-01 Dave Love <fx@gnu.org>
15739
15740 * coding.c (Fcheck_coding_system): Doc fix.
15741
15742 * editfns.c (Finsert_byte): Return a proper value.
15743
15744 2008-02-01 Kenichi Handa <handa@m17n.org>
15745
15746 * coding.c (decode_coding): Fix args to translate_chars. Pay
15747 attention to Vstandard_translation_table_for_decode.
15748 (encode_coding): Fix args to translate_chars. Pay attention to
15749 Vstandard_translation_table_for_encode.
15750
15751 * data.c (Faset): Check NEWELT by ASCII_CHAR_P, not by
15752 SINGLE_BYTE_CHAR_P.
15753
15754 * editfns.c (general_insert_function): Check VAL by ASCII_CHAR_P,
15755 not by SINGLE_BYTE_CHAR_P.
15756
15757 * fns.c (concat): Check CH by ASCII_CHAR_P, not by
15758 SINGLE_BYTE_CHAR_P.
15759
15760 * insdel.c (copy_text): Check C by ASCII_CHAR_P, not by
15761 SINGLE_BYTE_CHAR_P.
15762
15763 * keymap.c (Ftext_char_description): Check C by ASCII_CHAR_P, not
15764 by SINGLE_BYTE_CHAR_P.
15765
15766 * search.c (Freplace_match): Check C by ASCII_CHAR_P, not by
15767 SINGLE_BYTE_CHAR_P.
15768
15769 2008-02-01 Dave Love <fx@gnu.org>
15770
15771 * fns.c (Fstring_as_multibyte, Fstring_to_multibyte): Doc fix.
15772
15773 2008-02-01 Dave Love <fx@gnu.org>
15774
15775 * fns.c (Flanginfo): Fix typo.
15776
15777 * unexelf.c (unexec): Make last change conditional on Irix 6.5.
15778
15779 2008-02-01 Kenichi Handa <handa@m17n.org>
15780
15781 * coding.c (detect_coding_utf_8, detect_coding_utf_16)
15782 (detect_coding_emacs_mule, detect_coding_iso_2022)
15783 (detect_coding_sjis, detect_coding_big5, detect_coding_ccl): Check
15784 incomplete byte sequence. Don't update *mask when correctly detected.
15785 (decode_coding_sjis): Fix decoding of katakana-jisx0201.
15786 (detect_eol): Delete the argument CODING, and add the argument CATEGORY.
15787 (detect_coding, detect_coding_system): Adjust for the changes above.
15788
15789 2008-02-01 Kenichi Handa <handa@m17n.org>
15790
15791 * character.c (char_string): Rename from
15792 char_string_with_unification. Pay attention to CHAR_MODIFIER_MASK.
15793 (string_char): Rename from string_char.
15794
15795 * character.h (CHAR_STRING, CHAR_STRING_ADVANCE): Call char_string
15796 if C is greater than MAX_3_BYTE_CHAR.
15797 (STRING_CHAR, STRING_CHAR_AND_LENGTH, STRING_CHAR_ADVANCE): Call
15798 string_char instead of string_char_with_unification.
15799
15800 2008-02-01 Dave Love <fx@gnu.org>
15801
15802 * coding.c (decode_coding_utf_8): Treat surrogates as invalid.
15803
15804 2008-02-01 Kenichi Handa <handa@m17n.org>
15805
15806 * keymap.c (push_key_description): Pay attention to force_multibyte.
15807
15808 * regex.c (re_search_2): Fix for the case of unibyte buffer.
15809
15810 2008-02-01 Dave Love <fx@gnu.org>
15811
15812 * charset.c (define_charset_internal): Rename `supprementary'.
15813
15814 * Makefile.in (lisp, shortlisp): Remove latin-N.
15815
15816 2008-02-01 Dave Love <fx@gnu.org>
15817
15818 * xfns.c (x_window, x_window): Use use_xim.
15819
15820 * xterm.c (use_xim): Initialize.
15821 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
15822 (x_term_init): Maybe set use_xim.
15823
15824 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
15825
15826 2008-02-01 Kenichi Handa <handa@m17n.org>
15827
15828 * search.c (search_buffer): Fix case-fold-search of multibyte
15829 characters.
15830 (boyer_moore): Rename the last argument to char_high_bits.
15831
15832 2008-02-01 Kenichi Handa <handa@m17n.org>
15833
15834 * xdisp.c (display_string): Fix for the case of zero width glyph.
15835
15836 * xfns.c (x_set_font): Change the error message of the case that
15837 x_new_fontset returns Qt.
15838
15839 * xfaces.c (set_lface_from_font_name): Reject the default fontset.
15840 (Finternal_set_lisp_face_attribute): Use signal_error for the
15841 error of invalid fontset.
15842
15843 * xterm.c (x_new_fontset): If FONTSETNAME specifies the default
15844 fontset, return Qt.
15845
15846 2008-02-01 Dave Love <fx@gnu.org>
15847
15848 * unexelf.c (unexec): Make .got handling not SGI-specific.
15849
15850 * syntax.c (syms_of_syntax) <multibyte-syntax-as-symbol>: Doc fix.
15851
15852 * regex.c: Use `ifdef HAVE_ALLOCA_H', not `if HAVE_ALLOCA_H'.
15853
15854 * keyboard.c (read_key_sequence): Fix type error.
15855
15856 * buffer.c (Fset_buffer_multibyte, Fset_buffer_multibyte): Fix
15857 type error.
15858
15859 * fontset.c (fontset_add): Return Lisp_Object.
15860
15861 2008-02-01 Dave Love <fx@gnu.org>
15862
15863 * charset.h (charset_ordered_list_tick): Declare extern.
15864
15865 2008-02-01 Kenichi Handa <handa@m17n.org>
15866
15867 The following changes (and some of 2008-02-01 changes of mine) are
15868 for handling syntax, category, and case conversion for unibyte
15869 characters by converting them to multibyte on the fly. With these
15870 changes, we don't have to setup syntax and case tables for unibyte
15871 characters in each language environment.
15872
15873 * abbrev.c (Fexpand_abbrev): Convert a unibyte character to
15874 multibyte if necessary.
15875
15876 * bytecode.c (Fbyte_code): Likewise.
15877
15878 * character.h (LEADING_CODE_LATIN_1_MIN)
15879 (LEADING_CODE_LATIN_1_MAX): New macros.
15880 (unibyte_to_multibyte_table): Extern it.
15881 (unibyte_char_to_multibyte): New macro.
15882 (MAKE_CHAR_MULTIBYTE): Use unibyte_to_multibyte_table.
15883 (CHAR_LEADING_CODE): New macro.
15884 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): New macro.
15885
15886 * character.c (unibyte_to_multibyte_table): New variable.
15887 (unibyte_char_to_multibyte): Move to character.h and define as macro.
15888 (multibyte_char_to_unibyte): If C is an eight-bit character,
15889 convert it to the corresponding byte value.
15890
15891 * charset.c (Fset_unibyte_charset): If the dimension of CHARSET is
15892 not 1, signals an error. Update the elements of
15893 unibyte_to_multibyte_table.
15894 (init_charset_once): Initialize unibyte_to_multibyte_table.
15895 (syms_of_charset): Define the charset `iso-8859-1'.
15896
15897 * cmds.c (internal_self_insert): In a multibyte buffer, insert C
15898 as is without converting it to unibyte. In a unibyte buffer,
15899 convert C to multibyte before checking the syntax.
15900
15901 * lisp.h (unibyte_char_to_multibyte): Delete extern.
15902
15903 * minibuf.c (Fminibuffer_complete_word): Use the macro
15904 FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE.
15905
15906 * regex.h (struct re_pattern_buffer): New member target_multibyte.
15907
15908 * regex.c (RE_TARGET_MULTIBYTE_P): New macro.
15909 (GET_CHAR_BEFORE_2): Check target_multibyte, not multibyte. If
15910 that is zero, convert an eight-bit char to multibyte.
15911 (MAKE_CHAR_MULTIBYTE, CHAR_LEADING_CODE): New dummy new macros for
15912 non-emacs case.
15913 (PATFETCH): Convert an eight-bit char to multibyte.
15914 (HANDLE_UNIBYTE_RANGE): New macro.
15915 (regex_compile): Setup the compiled pattern for multibyte chars
15916 even if the given regex string is unibyte. Use PATFETCH_RAW
15917 instead of PATFETCH in many places. To handle `charset'
15918 specification of unibyte, call HANDLE_UNIBYTE_RANGE. Use bitmap
15919 only for ASCII chars.
15920 (analyse_first) <exactn>: Simplify because the compiled pattern
15921 is multibyte.
15922 <charset_not>: Setup fastmap from bitmap only for ASCII chars.
15923 <charset>: Use CHAR_LEADING_CODE to get leading codes.
15924 <categoryspec>: If multibyte, setup fastmap only for ASCII chars here.
15925 (re_compile_fastmap) [emacs]: Call analyse_first with the arg
15926 multibyte always 1.
15927 (re_search_2): In emacs, set the locale variable multibyte to 1,
15928 otherwise to 0. New local variable target_multibyte. Check it
15929 to decide the multibyteness of STR1 and STR2. If
15930 target_multibyte is zero, convert unibyte chars to multibyte
15931 before translating and checking fastmap.
15932 (TARGET_CHAR_AND_LENGTH): New macro.
15933 (re_match_2_internal): In emacs, set the locale variable multibyte
15934 to 1, otherwise to 0. New local variable target_multibyte. Check
15935 it to decide the multibyteness of STR1 and STR2. Use
15936 TARGET_CHAR_AND_LENGTH to fetch a character from D.
15937 <charset, charset_not>: If multibyte is nonzero, check fastmap
15938 only for ASCII chars. Call bcmp_translate with
15939 target_multibyte, not with multibyte.
15940 <begline>: Declare the local variable C as `unsigned'.
15941 (bcmp_translate): Change the last arg name to target_multibyte.
15942
15943 * search.c (compile_pattern_1): Don't adjust the multibyteness of
15944 the regexp pattern and the matching target. Set cp->buf.multibyte
15945 to the multibyteness of the regexp pattern. Set
15946 cp->but.target_multibyte to the multibyteness of the matching target.
15947 (wordify): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE instead of
15948 FETCH_STRING_CHAR_ADVANCE.
15949 (Freplace_match): Convert unibyte chars to multibyte.
15950
15951 * syntax.c (char_quoted, back_comment, scan_words)
15952 (Fforward_comment, scan_lists, Fbackward_prefix_chars)
15953 (scan_sexps_forward): Use FETCH_CHAR_AS_MULTIBYTE to convert
15954 unibyte chars to multibyte.
15955 (skip_chars): Delete the arg syntaxp, and move the code for
15956 handling syntaxes to skip_syntaxes. Change callers.
15957 Fix the case that the multibyteness of STRING and the current
15958 buffer doesn't match.
15959 (skip_syntaxes): New function.
15960 (SYNTAX_WITH_MULTIBYTE_CHECK): Check C by ASCII_CHAR_P, not by
15961 SINGLE_BYTE_CHAR_P.
15962
15963 2008-02-01 Kenichi Handa <handa@m17n.org>
15964
15965 * xfaces.c (QCfontset): New variable.
15966 (LFACE_FONTSET): New macro.
15967 (check_lface_attrs): Check also LFACE_FONTSET_INDEX.
15968 (set_lface_from_font_name): Setup LFACE_FONTSET (lface).
15969 (Finternal_set_lisp_face_attribute)
15970 (Finternal_get_lisp_face_attribute): Handle QCfontset.
15971 (lface_same_font_attributes_p): Fix checking of LFACE_FONT_INDEX,
15972 check also LFACE_FONTSET_INDEX.
15973 (face_fontset): Check attrs[LFACE_FONTSET_INDEX], not
15974 attrs[LFACE_FONT_INDEX].
15975 (syms_of_xfaces): Intern and staticpro QCfontset.
15976
15977 * dispextern.h (enum lface_attribute_index): New member
15978 LFACE_FONTSET_INDEX.
15979
15980 * fns.c (base64_encode_1): Handle eight-bit chars correctly.
15981
15982 2008-02-01 Kenichi Handa <handa@m17n.org>
15983
15984 * coding.c (coding_set_destination): Fix coding->destination for
15985 the case converting a region.
15986 (encode_coding_utf_8): Encode eight-bit chars as single byte.
15987 (encode_coding_object): Fix coding->dst_pos and
15988 coding->dst_pos_byte for the case converting a region.
15989
15990 * insdel.c (insert_from_gap): Make it work even if PT != GTP.
15991
15992 * character.h (BYTE8_STRING): New macro.
15993
15994 * fns.c (base64_decode_1): Insert eight-bit chars correctly.
15995
15996 2008-02-01 Kenichi Handa <handa@m17n.org>
15997
15998 * xdisp.c (get_next_display_element): Don't display unibyte 8-bit
15999 characters by octal form.
16000
16001 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
16002
16003 * buffer.h (_fetch_multibyte_char_len): Delete extern.
16004 (FETCH_MULTIBYTE_CHAR, BUF_FETCH_MULTIBYTE_CHAR): Don't use
16005 _fetch_multibyte_char_len.
16006 (FETCH_CHAR_AS_MULTIBYTE): New macro.
16007
16008 * casetab.c (set_canon, set_identity, shuffle): Simplify.
16009
16010 * casefiddle.c (casify_object): Simplify. Handle the case that
16011 the case conversion change the byte length.
16012 (casify_region): Likewise.
16013
16014 * character.h (MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE): New macros.
16015
16016 * character.c (_fetch_multibyte_char_len): Delete this variable.
16017 (syms_of_character): Setup Vprintable_chars.
16018
16019 * editfns.c (Fchar_equal): Fix for the unibyte case.
16020 (Finsert_byte): New function.
16021 (syms_of_editfns): Defsubr it.
16022
16023 * keyboard.c (read_key_sequence): Use ~CHAR_MODIFIER_MASK instead
16024 of direct code 0x3ffff.
16025
16026 * search.c (Freplace_match): Fix for the unibyte case.
16027
16028 2008-02-01 Kenichi Handa <handa@m17n.org>
16029
16030 * lread.c (safe_to_load_p): Fix the logic.
16031
16032 * syntax.c (scan_words): Don't treat characters belonging to
16033 different scripts as constituting a word.
16034
16035 * editfns.c (Fformat): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
16036
16037 * fontset.c (Fset_fontset_font): Treat `ascii' as charset, not script.
16038
16039 * emacs.c (main): In the case of --unibyte, instead of aborting on
16040 finding non-empty buffer, make it unibyte.
16041
16042 2008-02-01 Kenichi Handa <handa@m17n.org>
16043
16044 * xterm.c (x_new_fontset): Call `create-fontset-from-ascii-font'
16045 to create a fontset.
16046
16047 2008-02-01 Dave Love <fx@gnu.org>
16048
16049 * character.c (Funibyte_char_to_multibyte): Doc fix.
16050
16051 * xfns.c [HAVE_STDLIB_H]: Fix last change.
16052
16053 2008-02-01 Kenichi Handa <handa@m17n.org>
16054
16055 * fontset.c (fontset_add): Make the type `int'.
16056 (fontset_id_valid_p): Define it if FONTSET_DEBUG is defined.
16057
16058 * character.c (unibyte_char_to_multibyte)
16059 (multibyte_char_to_unibyte, Funibyte_char_to_multibyte): Refer to
16060 charset_unibyte, not charset_primary.
16061
16062 * charset.h (charset_unibyte): Extern it instead of charset_primary.
16063
16064 * charset.c (charset_unibyte): Rename from charset_primary.
16065 (Funibyte_charset): Rename from Fprimary_charset.
16066 (Fset_unibyte_charset): Rename from Fset_primary_charset.
16067 (syms_of_charset): Adjust for the above changes.
16068
16069 * w32term.c (x_produce_glyphs): Use ASCII_CHAR_P, not
16070 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
16071 it->multibyte_p is zero.
16072
16073 * lisp.h (nonascii_insert_offset, Vnonascii_translation_table):
16074 Delete extern.
16075
16076 2008-02-01 Kenichi Handa <handa@m17n.org>
16077
16078 * coding.c (Fdefine_coding_system_internal): Fix category setting
16079 for a coding system of type iso-2022.
16080
16081 2008-02-01 Kenichi Handa <handa@m17n.org>
16082
16083 * fontset.h (FS_LOAD_FONT): Call fs_load_font with the arg CHARSET -1.
16084
16085 2008-02-01 Kenichi Handa <handa@m17n.org>
16086
16087 * syntax.c (Vnext_word_boundary_function_table): New variable.
16088 (next-word-boundary-function-table): Declare it as a Lisp variable
16089 in syms_of_syntax.
16090 (scan_words): Call functions in Vnext_word_boundary_function_table
16091 if any.
16092
16093 * xterm.c (x_load_font): Initialize fontp->fontset to -1.
16094
16095 * fontset.c (fs_load_font): If fontp->charset is not negative,
16096 return fontp without setting its members.
16097
16098 2008-02-01 Dave Love <fx@gnu.org>
16099
16100 * xfns.c [HAVE_STDLIB_H]: Change logic (instead of fixing typo).
16101
16102 * m/sparc.h (HAVE_ALLOCA): Delete.
16103
16104 * s/irix6-5.h: Don't include strings.h.
16105 (bcopy, bzero, bcmp): Don't undef.
16106
16107 * s/irix6-0.h (bcopy, bzero, bcmp): Don't undef.
16108
16109 * s/usg5-4.h (NO_SIOCTL_H): Don't define.
16110 (TIOCSIGSEND): Don't test IRIX6.
16111 (bcopy, bzero, bcmp): Define conditionally.
16112
16113 2008-02-01 Kenichi Handa <handa@m17n.org>
16114
16115 * buffer.c (Qas, Qmake, Qto): New variables.
16116 (Fset_buffer_multibyte): New optional arg METHOD. Change caller.
16117 (syms_of_buffer): Intern and staticpro Qas, Qmake, and Qto.
16118
16119 * callproc.c (Fcall_process): Don't call insert_1_both directly if
16120 we are inserting a process output into a multibyte buffer.
16121
16122 * character.h (CHAR_TO_BYTE8): If C is not eight-bit char, call
16123 multibyte_char_to_unibyte.
16124
16125 * character.c (Funibyte_char_to_multibyte): If C can't be decoded
16126 by the primary charset, make it eight-bit char.
16127 (Fmultibyte_char_to_unibyte): Call CHAR_TO_BYTE8.
16128
16129 * charset.c (charset_eight_bit, Qeight_bit_control): New variables.
16130 (charset_8_bit__control, charset_8_bit_graphic)
16131 (Qeight_bit_control, Qeight_bit_graphic): Delete these variables.
16132 (define_charset_internal): New function.
16133 (syms_of_charset): Call define_charset_internal for pre-defined
16134 charsets.
16135
16136 * charset.h (charset_8_bit): Extern it.
16137
16138 * coding.c (make_conversion_work_buffer): Adjust for the change
16139 of Fset_buffer_multibyte.
16140 (encode_coding_raw_text): Increment p0 in the loop.
16141
16142 * lisp.h (Fset_buffer_multibyte): Adjust prototype.
16143
16144 * xdisp.c (setup_echo_area_for_printing, set_message_1): Adjust
16145 for the change of Fset_buffer_multibyte.
16146
16147 * fns.c (Fstring_to_multibyte): New function.
16148 (syms_of_fns): Declare Fstring_to_multibyte as Lisp subroutine.
16149
16150 2008-02-01 Dave Love <fx@gnu.org>
16151
16152 * xfns.c (x_put_x_image): Declare args.
16153
16154 * xfaces.c (font_name_registry, choose_face_font): Delete unused vars.
16155 (try_font_list): Declare an arg.
16156
16157 * xdisp.c (message2_nolog, set_message): Declare an arg.
16158
16159 * terminfo.c (tparam): Declare an arg. Use P_ to declare tparm.
16160
16161 * syntax.c (scan_sexps_forward): Declare an arg.
16162
16163 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
16164 Declare an arg.
16165
16166 * lisp.h (Fnew_fontset): Declare.
16167
16168 * keymap.c (push_key_description): Call CHARACTERP correctly.
16169
16170 * fontset.c (fontset_add): Declare args. Call make_number correctly.
16171 (face_for_char): Delete unused vars.
16172 (Fset_fontset_font): Doc fix. Delete unused vars.
16173
16174 * doc.c (Fsubstitute_command_keys): Delete unused vars.
16175
16176 * composite.c (update_compositions): Declare arg.
16177
16178 * cm.c (calccost, cmgoto): Declare args.
16179
16180 * charset.c: Remove `emacs' conditional. Doc fixes.
16181 (map_char_table_for_charset): Declare.
16182
16183 * character.c (syms_of_character) <translation-table-vector>: Doc fix.
16184
16185 * ccl.c: Remove `emacs' conditional.
16186
16187 2008-02-01 Kenichi Handa <handa@m17n.org>
16188
16189 The following changes are to allow specifying multiple font
16190 patterns for a character range (specified by script or charset).
16191
16192 * Makefile.in (abbrev.o): Depend on syntax.h.
16193 (xfaces.o): Depend on charset.h.
16194
16195 * alloc.c (Fmake_string): Use ASCII_CHAR_P, not
16196 SINGLE_BYTE_CHAR_P.
16197
16198 * ccl.c (Fccl_execute_on_string): Add `const' to local variables.
16199
16200 * character.h (Vchar_script_table): Extern it.
16201
16202 * character.c (Vscript_alist): Delete.
16203 (Vchar_script_table, Qchar_script_table): New variable.
16204 (syms_of_character): Declare Vchar_script_table as a lisp variable
16205 and initialize it.
16206
16207 * chartab.c (Fmake_char_table): Doc fix. If PURPOSE doesn't
16208 have property char-table-extra-slots, make no extra slot.
16209
16210 * dispextern.h (struct face): Delete member `charset'.
16211 (FACE_SUITABLE_FOR_CHAR_P, FACE_FOR): Use ASCII_CHAR_P, not
16212 SINGLE_BYTE_CHAR_P.
16213 (choose_face_font, lookup_non_ascii_face, font_name_registry):
16214 Add prototypes.
16215 (lookup_face, lookup_named_face, lookup_derived_face): Fix prototype.
16216 (generate_ascii_font_name): Rename from generate_ascii_font.
16217
16218 * fontset.h (get_font_repertory_func): New prototype.
16219 (make_fontset_for_ascii_face, fs_load_font): Fix prototypes.
16220 (FS_LOAD_FONT): Call fs_load_font with the 3rd arg charset_ascii.
16221
16222 * fontset.c (Qprepend, Qappend): New variables.
16223 (FONTSET_CHARSET_ALIST, FONTSET_FACE_ALIST): Delete.
16224 (FONTSET_NOFONT_FACE, FONTSET_REPERTORY): New macros.
16225 (FONTSET_REF): Optimize if FONTSET is Vdefault_fontset.
16226 (FONTSET_REF_AND_RANGE, FONTSET_ADD): New macros.
16227 (fontset_ref_and_range, fontset_add, reorder_font_vector)
16228 (load_font_get_repertory): New functions.
16229 (fontset_set): Delete.
16230 (fontset_face): New arg FACE. Return face ID, not face.
16231 Complete re-write to handle new fontset structure. Change caller.
16232 (free_face_fontset): Use ASET istead of AREF (X) = Y.
16233 (face_for_char): Don't call lookup_face.
16234 (make_fontset_for_ascii_face): New arg FACE.
16235 (fs_load_font): New arg CHARSET_ID. Don't check
16236 Vfont_encoding_alist here.
16237 (find_font_encoding): New function.
16238 (list_fontsets): Use STRINGP, not ! NILP.
16239 (accumulate_script_ranges): New function.
16240 (Fset_fontset_font, Fnew_fontset, Ffontset_info): Completely
16241 re-written to handle new fontset structure.
16242 (Ffontset_font): Return a copy of element.
16243 (syms_of_fontset): Define symbols Qprepend and Qappend. Fix
16244 docstring of font-encoding-alist.
16245
16246 * lisp.h (CHAR_TABLE_REF): Remove unnecessary check (IDX >= 0).
16247 (Fset_fotset_font): Fix arguments to 5.
16248
16249 * msdos.c (XMenuActivate): Adjust for the change of lookup_derived_face.
16250
16251 * xdisp.c (message_dolog, set_message_1, extend_face_to_end_of_line):
16252 Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
16253 (highlight_trailing_whitespace): Adjust for the change of
16254 lookup_named_face.
16255
16256 * xfaces.c: Include charset.h.
16257 (load_face_font): Delete argument C. Change caller.
16258 (generate_ascii_font_name): Rename from generate_ascii_font.
16259 (font_name_registry): New function.
16260 (cache_face): Store ascii faces before non-ascii faces in buckets.
16261 (lookup_face): Delete arguments C and BASE_FACE. Change caller.
16262 Lookup only ascii faces.
16263 (lookup_non_ascii_face): New function.
16264 (lookup_named_face): Delete argument C. Change caller.
16265 (lookup_derived_face): Delete argument C. Change caller.
16266 (try_font_list): New arg PATTERN. Change caller. If PATTERN is
16267 a string, just call font_list with it.
16268 (choose_face_font): Delete arguments FACE and C. New arg
16269 FONT_SPEC. Change caller.
16270 (realize_face, realize_x_face): Delete arguments C and BASE_FACE.
16271 Change caller.
16272 (realize_non_ascii_face): New function.
16273 (realize_x_face): Call load_face_font here.
16274 (realize_tty_face): Delete argument C. Change caller.
16275 (compute_char_face): If CH is not ascii, call FACE_FOR_CHAR to
16276 get a face ID.
16277 (dump_realized_face): Don't print charset of FACE.
16278
16279 * xfns.c (x_set_font): Always call x_new_fontset and
16280 store_frame_parameter.
16281 (Fx_create_frame): Call x_new_fontset, not x_new_font.
16282 (syms_of_xfns): Set get_font_repertory_func to x_get_font_repertory.
16283
16284 * xterm.h (x_get_font_repertory): Extern it.
16285
16286 * xterm.c (x_produce_glyphs): Use ASCII_CHAR_P, not
16287 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
16288 it->multibyte_p is zero.
16289 (XTread_socket): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
16290 (x_new_fontset): If FONTSETNAME doesn't match any existing
16291 fontsets, create a new one.
16292 (x_get_font_repertory): New function.
16293
16294 2008-02-01 Kenichi Handa <handa@m17n.org>
16295
16296 * coding.c (Ffind_coding_systems_region_internal): Detect an
16297 ASCII only string correctly.
16298
16299 * lread.c (Fload): Don't load with Qload_force_doc_strings t if
16300 version is 0.
16301
16302 2008-02-01 Kenichi Handa <handa@m17n.org>
16303
16304 * lread.c: Include "coding.h".
16305 (Qget_emacs_mule_file_char, Qload_force_doc_strings)
16306 (load_each_byte, unread_char): New variables.
16307 (readchar_backlog): Delete.
16308 (readchar): Return a character unless load_each_byte is nonzero.
16309 Handle the case that readcharfun is Qget_emacs_mule_file_char or a
16310 cons. If unread_char is not -1, simply return it.
16311 (unreadchar): Handle the case that readcharfun is
16312 Qget_emacs_mule_file_char or a cons. Set unread_char if necessary.
16313 (read_multibyte): Delete.
16314 (readbyte_for_lambda, readbyte_from_file, readbyte_from_string)
16315 (read_emacs_mule_char): New functions.
16316 (Fload): Even if the file doesn't have the extension ".elc", if
16317 safe_to_load_p returns a positive version number, assume that the
16318 file contains bytecompiled code. If the version is less than 22,
16319 load the file while decoding multibyte sequences by emacs-mule.
16320 (readevalloop): Don't use readchar_backlog.
16321 (Fread): Likewise. Pay attention to the case that STREAM is a cons.
16322 (Fread_from_string): Pay attention to the case that STREAM is a cons.
16323 (read_escape): Delete the arg BYTEREP.
16324 (read1): Set load_each_byte to 1 temporarily while handling
16325 #@NUMBER. Don't call read_multibyte.
16326 (read_vector): Call Fread with a cons. If readcharfun is
16327 Qget_emacs_mule_file_char, decode the read string by emacs-mule.
16328 (read_list): If doc_reference is 2, make the cdr part string as unibyte.
16329 (syms_of_lread): Intern and staticpro Qget_emacs_mule_file_char
16330 and Qload_force_doc_strings.
16331
16332 2008-02-01 Kenichi Handa <handa@m17n.org>
16333
16334 * xdisp.c (face_before_or_after_it_pos): Call
16335 FETCH_MULTIBYTE_CHAR with byte postion, not char position.
16336
16337 2008-02-01 Kenichi Handa <handa@m17n.org>
16338
16339 * character.h (TRAILING_CODE_P): New macro.
16340 (MAYBE_UNIFY_CHAR): Adjust for the change of Funify_charset.
16341 (string_char_with_unification): Fix prototype.
16342 (Vscript_alist): Extern it.
16343
16344 * character.c (Vscript_alist): New variable.
16345 (string_char_with_unification, str_as_unibyte)
16346 (string_escape_byte8): Add `const' to local variables.
16347 (syms_of_character): Declare script-alist as a Lisp variable.
16348
16349 * charset.h (Vcharset_ordered_list): Extern it.
16350 (charset_ordered_list_tick): Extern it.
16351 (EMACS_MULE_LEADING_CODE_PRIVATE_11)
16352 (EMACS_MULE_LEADING_CODE_PRIVATE_12)
16353 (EMACS_MULE_LEADING_CODE_PRIVATE_21)
16354 (EMACS_MULE_LEADING_CODE_PRIVATE_22): New macros.
16355 (Funify_charset): Adjust for the change of Funify_charset.
16356
16357 * charset.c (charset_ordered_list_tick): New variable.
16358 (Fdefine_charset_internal): Increment charset_ordered_list_tick.
16359 (Funify_charset): New optional arg DEUNIFY. If it is non-nil,
16360 deunify intead of unify a charset.
16361 (string_xstring_p): Add `const' to local variables.
16362 (find_charsets_in_text): Add `const' to arguments and local variables.
16363 (encode_char): Adjust for the change of Funify_charset. Fix
16364 detecting of invalid code.
16365 (Fset_charset_priority): Increment charset_ordered_list_tick.
16366 (Fmap_charset_chars): Fix handling of default value for FROM_CODE
16367 and TO_CODE.
16368
16369 * coding.c (LEADING_CODE_PRIVATE_11, LEADING_CODE_PRIVATE_12)
16370 (LEADING_CODE_PRIVATE_21, LEADING_CODE_PRIVATE_22): Delete macros.
16371 Changed callers to use EMACS_MULE_LEADING_CODE_PRIVATE_11, etc.
16372 (decode_coding_ccl, consume_chars)
16373 (Ffind_coding_systems_region_internal)
16374 (Fcheck_coding_systems_region): Add `const' to local variables.
16375
16376 * print.c (print_object): Use octal form for printing the
16377 contents of a bool vector.
16378
16379 2008-02-01 Dave Love <fx@gnu.org>
16380
16381 * lread.c (Fload) <!load_dangerous_libraries>: Don't leak fd.
16382 <version == 20>: Refuse to load.
16383
16384 2008-02-01 Dave Love <fx@gnu.org>
16385
16386 * fns.c: Move coding.h.
16387 (Qcodeset, Qdays, Qmonths): New.
16388 (concat): Use CHARACTERP instead of INTEGERP.
16389 (Flocale_codeset): Delete.
16390 (Flanginfo): New function.
16391 (syms_of_fns): Change accordingly.
16392
16393 * coding.c (adjust_coding_eol_type): Fix eol_type/eol_seen mixup.
16394
16395 2008-02-01 Dave Love <fx@gnu.org>
16396
16397 * casetab.c (init_casetab_once, init_casetab_once): Fix
16398 CHAR_TABLE_SET call.
16399
16400 * category.c (Fmodify_category_entry): Fix CATEGORY_MEMBER call.
16401
16402 * character.c (syms_of_character): Fix CHAR_TABLE_SET call.
16403
16404 * charset.c (Fmap_charset_chars): Check args. Convert Lisp types.
16405 (load_charset_map, Fdeclare_equiv_charset, Fencode_char)
16406 (Fset_charset_priority, syms_of_charset): Convert Lisp types.
16407
16408 * charset.h (CHECK_CHARSET_GET_ID): Use XINT on AREF result.
16409
16410 * coding.c (ENCODE_DESIGNATION, decode_eol)
16411 (make_conversion_work_buffer, code_conversion_restore)
16412 (Fdefine_coding_system_internal): Convert Lisp types.
16413 (code_conversion_restore): Use EQ, not ==.
16414 (Fencode_coding_string): Fix code_convert_string call.
16415
16416 * coding.h (code_convert_region): Fix prototype.
16417
16418 * dispextern.h (redraw_frame, redraw_garbaged_frames): Remove.
16419
16420 * fontset.c (fontset_ref, fontset_set, fs_load_font)
16421 (Ffontset_info): Convert Lisp types.
16422
16423 * syntax.h (SYNTAX_ENTRY_INT): Don't use make_number.
16424
16425 * xterm.c (note_mouse_movement): Fix call of window_from_coordinates.
16426
16427 * xdisp.c (display_mode_element): Fix call of Fset_text_properties.
16428
16429 * chartab.c: Include "...h", not <...h> in some cases.
16430
16431 * callproc.c (Fcall_process): Remove unused variables.
16432
16433 2008-02-01 Dave Love <fx@gnu.org>
16434
16435 * coding.c (Fset_coding_system_priority): Allow null arg list.
16436
16437 2008-02-01 Dave Love <fx@gnu.org>
16438
16439 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
16440 (Fself_insert_and_exit): Use CHARACTERP.
16441
16442 * callproc.c (Fcall_process): Remove unused vars.
16443
16444 * xterm.c (XTread_socket): Add extra dead keysyms.
16445
16446 * xdisp.c (decode_mode_spec_coding): Use CHARACTERP.
16447
16448 * dispextern.h: Remove prototypes for redraw_frame,
16449 redraw_garbaged_frames.
16450
16451 * cmds.c (Fself_insert_command): Use CHARACTERP.
16452
16453 * chartab.c (make_sub_char_table): Remove unused var.
16454 (Fset_char_table_default, Fmap_char_table): Doc fix.
16455
16456 * keymap.c (access_keymap): Remove generic char code.
16457 (push_key_description): Use CHARACTERP.
16458
16459 2008-02-01 Dave Love <fx@gnu.org>
16460
16461 * charset.c: Doc fixes.
16462 (Funify_charset): Extra checking.
16463
16464 2008-02-01 Dave Love <fx@gnu.org>
16465
16466 * lread.c: Remove some unused variables.
16467 (safe_to_load_p): If safe, return the magic number version byte.
16468 (Fload): Maybe use load-with-code-conversion.
16469
16470 2008-02-01 Kenichi Handa <handa@m17n.org>
16471
16472 * category.c (Fmodify_category_entry): Don't modify the contents
16473 of category_set for characters out of the range. Avoid
16474 unnecessary modification.
16475
16476 * character.h (MAYBE_UNIFY_CHAR): Adjust for the change of
16477 Vchar_unify_table. The default value of the table is now nil.
16478
16479 * character.c (syms_of_character): Setup Vchar_width_table for
16480 eight-bit-control and raw-byte chars.
16481
16482 * charset.h (enum define_charset_arg_index): Delete
16483 charset_arg_parents and add charset_arg_subset and
16484 charset_arg_superset.
16485 (enum charset_attr_index): Delete charset_parents and add
16486 charset_subset and charset_superset.
16487 (enum charset_method): Delete CHARSET_METHOD_INHERIT and add
16488 CHARSET_METHOD_SUBSET and CHARSET_METHOD_SUPERSET.
16489 (CHARSET_ATTR_PARENTS, CHARSET_PARENTS): Delete.
16490 (CHARSET_ATTR_SUBSET, CHARSET_ATTR_SUPERSET, CHARSET_SUBSET)
16491 (CHARSET_SUPERSET): New macros.
16492 (charset_work): Extern it.
16493 (ENCODE_CHAR): Use charset_work.
16494 (CHAR_CHARSET_P): Adjust for the change of encoder format.
16495 (map_charset_chars): Extern it.
16496
16497 * charset.c (load_charset_map): Set the default value of encoder
16498 and deunifier char-tables to nil.
16499 (map_charset_chars): Change argument. Change callers. Use
16500 map_char_table_for_charset instead of map_char_table.
16501 (Fmap_charset_chars): New optional args from_code and to_code.
16502 (Fdefine_charset_internal): Adjust for the change of
16503 `define-charset' (:parents -> :subset or :superset).
16504 (charset_work): New variable.
16505 (encode_char, syms_of_charset): Adjust for the change of
16506 Fdefine_charset_internal.
16507 (Ffind_charset_string): Setup the vector `charsets' correctly.
16508
16509 * chartab.c (sub_char_table_ref_and_range): New arg default. Fix
16510 the previous change.
16511 (char_table_ref_and_range): Adjust for the above change.
16512 (map_sub_char_table_for_charset): New function.
16513 (map_char_table_for_charset): New function.
16514
16515 * keymap.c (describe_vector): Handle a char-table directly here.
16516 (describe_char_table): Delete.
16517
16518 * lisp.h (map_charset_chars): Delete.
16519
16520 2008-02-01 Dave Love <fx@gnu.org>
16521
16522 * fns.c (count_combining): Comment out (unused).
16523 (Flocale_codeset): New.
16524 (syms_of_fns): Defsubr it.
16525
16526 * config.in (HAVE_PTY_H, HAVE_SIZE_T, HAVE_LANGINFO_CODESET): New.
16527 (size_t): Remove.
16528
16529 2008-02-01 Dave Love <fx@gnu.org>
16530
16531 * Makefile.in (chartab.o): Depend on charset.h.
16532
16533 2008-02-01 Kenichi Handa <handa@m17n.org>
16534
16535 * character.c (syms_of_character): Set the default value of
16536 Vprintable_chars to Qnil.
16537
16538 2008-02-01 Dave Love <fx@gnu.org>
16539
16540 * Makefile.in (lisp, shortlisp): Change indian.elc to indian.el.
16541
16542 2008-02-01 Kenichi Handa <handa@m17n.org>
16543
16544 * charset.c (load_charset_map): Handle the case that from < to
16545 correctly.
16546
16547 * coding.c (encode_coding_emacs_mule, encode_coding_iso_2022)
16548 (encode_coding_sjis, encode_coding_big5, encode_coding_charset):
16549 Pay attention to raw-8-bit chars.
16550
16551 2008-02-01 Kenichi Handa <handa@m17n.org>
16552
16553 * Makefile.in (lisp, shortlisp): Change chinese.elc to chinese.el.
16554 It is not bytecompiled now.
16555
16556 * charset.c (charset_jisx0201_roman, charset_jisx0208_1978)
16557 (charset_jisx0208): New variables.
16558 (Fdefine_charset_internal): Setup them if appropriate.
16559 (init_charset_once): Initialize them to -1.
16560
16561 * charset.h (charset_jisx0201_roman, charset_jisx0208_1978)
16562 (charset_jisx0208): Extern them.
16563
16564 * coding.c (CODING_ISO_FLAG_USE_ROMAN): New macro.
16565 (CODING_ISO_FLAG_USE_OLDJIS): New macro.
16566 (CODING_ISO_FLAG_FULL_SUPPORT): Change macro definition.
16567 (setup_iso_safe_charsets): Fix arguments to Fassq.
16568 (DECODE_DESIGNATION, ENCODE_ISO_CHARACTER_DIMENSION1)
16569 (ENCODE_ISO_CHARACTER_DIMENSION2): Pay attention to
16570 CODING_ISO_FLAG_USE_ROMAN and CODING_ISO_FLAG_USE_OLDJIS.
16571 (encode_coding_iso_2022): Change the 1st arg to
16572 ENCODE_ISO_CHARACTER to a variable.
16573
16574 2008-02-01 Kenichi Handa <handa@m17n.org>
16575
16576 * charset.h (enum define_charset_arg_index): New enums
16577 charset_arg_min_code and charset_arg_max_code.
16578 (struct charset): New member char_index_offset.
16579
16580 * charset.c (CODE_POINT_TO_INDEX, INDEX_TO_CODE_POINT):
16581 Take charset->char_index_offset into account.
16582 (Fdefine_charset_internal): Handle args[charset_arg_min_code] and
16583 args[charset_arg_max_code]. Setup charset.char_index_offset.
16584 (syms_of_charset): Fix args to Fdefine_charset_internal.
16585
16586 2008-02-01 Dave Love <fx@gnu.org>
16587
16588 * coding.c (decode_coding_utf_8): Reject overlong sequences.
16589
16590 2008-02-01 Dave Love <fx@gnu.org>
16591
16592 * coding.c: Doc fixes.
16593 (Fcoding_system_aliases): Fix return value.
16594 (Qmac): Remove (duplicated) definition.
16595
16596 2008-02-01 Dave Love <fx@gnu.org>
16597
16598 * charset.c (Fcharset_priority_list, Fset_charset_priority):
16599 New functions.
16600
16601 * character.c (Fstring): Doc fix.
16602
16603 * charset.c (Fdefine_charset_alias): Update Vcharset_list.
16604
16605 * fontset.c (Ffontset_info): Doc fix. Return charset names, not ids.
16606 (font-encoding-alist): Doc fix.
16607
16608 2008-02-01 Dave Love <fx@gnu.org>
16609
16610 * term.c (costs_set): Declare static, non-initialized for pcc.
16611 (encode_terminal_code): Remove unused var.
16612
16613 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
16614 for K&R.
16615
16616 * xterm.c (xlwmenu_window_p): Fix prototype for K&R.
16617
16618 * coding.c (setup_iso_safe_charsets): Fix arg decl for K&R.
16619 (suffixes): Move out of make_subsidiaries for K&R.
16620
16621 * charset.c (map_charset_chars): Fix c_function declaration for K&R.
16622
16623 * lisp.h (DEFUN) [!PROTOTYPES]: Remove spurious `args'.
16624
16625 2008-02-01 Dave Love <fx@gnu.org>
16626
16627 * data.c (Fchar_or_string_p): Doc fix. Use CHARACTERP.
16628
16629 * category.c (Fmodify_category_entry): Doc fix. Remove unused vars.
16630
16631 2008-02-01 Yong Lu <lyongu@asia-infonet.com>
16632
16633 * charset.c (Fdefine_charset_internal): Fix argument to bzero.
16634
16635 * coding.c (decode_coding_charset): Workaround for the bug of GCC 2.96.
16636
16637 2008-02-01 Kenichi Handa <handa@m17n.org>
16638
16639 * Makefile.in (lisp, shortlisp): Change cyrillic.elc to cyrillic.el,
16640 vietnamese.elc to vietnamese.el. They are not bytecompiled now.
16641
16642 2008-02-01 Kenichi Handa <handa@m17n.org>
16643
16644 * coding.c (decode_coding_charset): Adjust for the change of
16645 Fdefine_coding_system_internal.
16646 (Fdefine_coding_system_internal): For a coding system of
16647 `charset' type, store a list of charset IDs in
16648 `charset_attr_charset_valids' element of coding attributes.
16649
16650 2008-02-01 Kenichi Handa <handa@m17n.org>
16651
16652 * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars.
16653 (emacs_mule_char): New arg src. Delete arg `composition'. Change
16654 caller. Handle 2-byte and 3-byte charsets correctly.
16655 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Rename from
16656 DECODE_EMACS_MULE_COMPOSITION_RULE. Change caller.
16657 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New macro.
16658 (DECODE_EMACS_MULE_21_COMPOSITION): Call
16659 DECODE_EMACS_MULE_COMPOSITION_RULE_21. Produce correct annotation
16660 sequence.
16661 (decode_coding_emacs_mule): Handle composition correctly. Rewind
16662 `src' and `consumed_chars' correctly before calling emacs_mule_char.
16663 (DECODE_COMPOSITION_START): Correctly handle the case of altchar
16664 and alt&rule composition.
16665 (decode_coding_iso_2022): Handle composition correctly.
16666 (init_coding_once): Setup emacs_mule_bytes for private charsets.
16667
16668 * charset.c (Fdefine_charset_internal): Fix bug for the case of
16669 re-defining a charset. If the charset has :emacs-mule-id, setup
16670 emacs_mule_bytes.
16671 (Fmake_char): If CODE1 is nil, use the minimum code of the charset.
16672
16673 2008-02-01 Kenichi Handa <handa@m17n.org>
16674
16675 * coding.c (encode_coding_iso_2022, encode_coding_sjis)
16676 (encode_coding_big5, encode_coding_charset): If coding requires safe
16677 encoding, produce a character specified by
16678 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
16679
16680 2008-02-01 Dave Love <fx@gnu.org>
16681
16682 * xterm.c (XSetIMValues): Declare.
16683
16684 * process.c: Conditionally include sys/wait.h, pty.h.
16685
16686 * print.c (print_object): Fix print format for 64-bit systems.
16687
16688 * keyboard.c (modify_event_symbol): Fix print format for 64-bit systems.
16689
16690 * buffer.c (emacs_strerror): Declare.
16691
16692 * fontset.c (Fclear_face_cache): Declare.
16693 (accumulate_font_info): Comment-out (unused).
16694 (face_for_char, Fset_fontset_font, Ffontset_info): Remove unused
16695 variables.
16696
16697 * character.h (string_escape_byte8): Declare.
16698
16699 * charset.c (load_charset_map, load_charset_map_from_file): Remove
16700 unused vars.
16701 (Fdefine_charset_internal, Fsplit_char, syms_of_charset)
16702 (Fmap_charset_chars): Doc fix.
16703
16704 * coding.c (Vchar_coding_system_table, Qchar_coding_system): Remove.
16705 (Fset_coding_system_priority, Fset_coding_system_priority)
16706 (Fdefine_coding_system_internal): Doc fix.
16707
16708 2008-02-01 Dave Love <fx@gnu.org>
16709
16710 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Remove -nointrinsics.
16711
16712 2008-02-01 Kenichi Handa <handa@m17n.org>
16713
16714 * character.c (string_escape_byte8): Make multibyte string with
16715 correct size.
16716
16717 * charset.c (Fmake_char): Delete unnecessary code.
16718
16719 2008-02-01 Kenichi Handa <handa@m17n.org>
16720
16721 * xfns.c (x_encode_text): Allocate coding.destination here, and
16722 call encode_coding_object with dst_object Qnil.
16723
16724 * buffer.c (Fset_buffer_multibyte): Convert 8-bit bytes to
16725 multibyte form correctly.
16726
16727 * fontset.c (fs_load_font): Check fontp->full_name (not fontname)
16728 against Vfont_encoding_alist.
16729
16730 * coding.c (Fdecode_sjis_char): Fix typo (0x7F->0xFF). Fix the
16731 handling of charset list.
16732 (encode_coding_iso_2022): Setup coding->safe_charsets in advance.
16733 (decode_coding_object): Move point to coding->dst_pos before
16734 calling post-read-conversion function.
16735 (encode_coding_object): Give correct arguments to
16736 pre-write-conversion. Ignore the return value of
16737 pre-write-conversion function. Pay attention to the case that
16738 pre-write-conversion changes the current buffer. If dst_object is
16739 Qt, even if coding->src_bytes is zero, allocate at least one byte
16740 to coding->destination.
16741
16742 * coding.h (JIS_TO_SJIS): Fix typo (j1->s1, j2->s2).
16743
16744 * charset.c (Fmake_char): Make it more backward compatible.
16745 (Fmap_charset_chars): Fix docstring.
16746
16747 2008-02-01 Dave Love <fx@gnu.org>
16748
16749 * coding.c: Doc fixes.
16750 (Fdefine_coding_system_alias): Use names, not symbols, in
16751 coding-system-alist.
16752
16753 2008-02-01 Kenichi Handa <handa@m17n.org>
16754
16755 * fontset.c (free_realized_fontsets): Call Fclear_face_cache instead
16756 of calling free_realized_face.
16757
16758 2008-02-01 Yong Lu <lyongu@asia-infonet.com>
16759
16760 * charset.c (read_hex): Don't treat SPC as a comment starter.
16761 (decode_char): If CODE_POINT_TO_INDEX returns -1, always return -1.
16762 (Fdecode_char): Fix typo.
16763
16764 2008-02-01 Kenichi Handa <handa@m17n.org>
16765
16766 * charset.h (struct charset): New member `code_space_mask'.
16767
16768 * coding.c (coding_set_source): Delete the local variable beg_byte.
16769 (encode_coding_charset, Fdefine_coding_system_internal):
16770 Delete the local variable charset.
16771 (Fdefine_coding_system_internal): Setup
16772 attrs[coding_attr_charset_valids] correctly.
16773
16774 * charset.c (CODE_POINT_TO_INDEX): Utilize `code_space_mask'
16775 member to check if CODE is valid or not.
16776 (Fdefine_charset_internal): Initialize `code_space_mask' member.
16777 (encode_char): Before calling CODE_POINT_TO_INDEX, check if CODE
16778 is within the range of charset->min_code and carset->max_code.
16779
16780 2008-02-01 Dave Love <fx@gnu.org>
16781
16782 * syntax.h (syntax_temp) [!__GNUC__]: Declare.
16783
16784 * dispextern.h (generate_ascii_font): Fix return type.
16785
16786 * xfaces.c (generate_ascii_font): Fix arg declaration.
16787
16788 * coding.c (coding_inherit_eol_type)
16789 (Fset_terminal_coding_system_internal)
16790 (Fset_safe_terminal_coding_system_internal): Fix arg declarations.
16791
16792 2008-02-01 Kenichi Handa <handa@m17n.org>
16793
16794 * coding.c (decode_coding_charset, encode_coding_charset): Handle
16795 multiple charsets correctly.
16796
16797 2008-02-01 Kenichi Handa <handa@m17n.org>
16798
16799 * search.c (boyer_moore): Fix handling of multibyte character
16800 translation.
16801
16802 * xdisp.c (display_mode_element): When the variable `elt' is
16803 changed, update `this' and `lisp_string'.
16804
16805 2008-02-01 Kenichi Handa <handa@m17n.org>
16806
16807 * buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling.
16808
16809 * callproc.c (Fcall_process): Be sure to give the current buffer
16810 to decode_coding_c_string. Update PT and PT_BYTE after the insertion.
16811
16812 * charset.c (struct charset_map_entries): New struct.
16813 (load_charset_map): Rename from parse_charset_map. New args
16814 entries and n_entries. Change caller.
16815 (load_charset_map_from_file): Rename from load_charset_map.
16816 Change caller. New arg control_flag. Call load_charset_map at
16817 the tail.
16818 (load_charset_map_from_vector): New function.
16819 (Fdefine_charset_internal): Setup charset.compact_codes_p.
16820 (encode_char): If the charset is compact, change a character index
16821 to a code point.
16822
16823 * coding.c (coding_alloc_by_making_gap): Check the case that the
16824 source and destination are the same correctly.
16825 (decode_coding_raw_text): Set coding->consumed_char and
16826 coding->consumed to 0.
16827 (produce_chars): If coding->chars_at_source is nonzero, update
16828 coding->consumed_char and coding->consumed before calling
16829 alloc_destination.
16830 (Fdefine_coding_system_alias): Register ALIAS in
16831 Vcoding_system_alist.
16832 (syms_of_coding): Define `no-conversion' coding system at the tail.
16833
16834 * fileio.c (Finsert_file_contents): Set coding_system instead of
16835 val. If the current buffer is multibyte, always call
16836 decode_coding_gap.
16837
16838 * xfaces.c (try_font_list): Give higher priority to fontset's
16839 family than face's family.
16840
16841 2008-02-01 Kenichi Handa <handa@m17n.org>
16842
16843 * callproc.c (Fcall_process): Be sure to give the current buffer
16844 to decode_coding_c_string.
16845
16846 * xfaces.c (try_font_list): Give a family specified in a fontset
16847 higher priority than a family specified in a face.
16848
16849 2008-02-01 Kenichi Handa <handa@m17n.org>
16850
16851 * fileio.c (Finsert_file_contents): Fix calculation of `inserted'.
16852 Fix arguments to insert_from_buffer.
16853
16854 * xdisp.c (display_mode_element): Fix calculation of `bytepos'.
16855
16856 2008-02-01 Kenichi Handa <handa@m17n.org>
16857
16858 * coding.c (produce_chars): Set the variable `multibytep' correctly.
16859 (decode_coding_gap): Set coding->dst_multibyte correctly.
16860
16861 2008-02-01 Kenichi Handa <handa@m17n.org>
16862
16863 * coding.c (encode_coding_utf_8): Initialize produced_chars to 0.
16864 (decode_coding_utf_16): Fix converting high and low bytes to code-point.
16865 (encode_coding_utf_16): Substitute coding->default_char for
16866 non-Unicode characters.
16867 (decode_coding): Don't call record_insert here.
16868 (setup_coding_system): Initialize `surrogate' of
16869 coding->spec.utf_16 to 0.
16870 (EMIT_ONE_BYTE): Fix for multibyte case.
16871
16872 * insdel.c (insert_from_gap): Call record_insert.
16873
16874 2008-02-01 Kenichi Handa <handa@m17n.org>
16875
16876 * casefiddle.c (casify_region): Fix multibyte case.
16877
16878 * character.c (c_string_width): Add return type `int'.
16879 (char_string_with_unification): Delete arg ADVANCED.
16880
16881 * character.h (CHAR_VALID_P): Don't call CHARACTERP.
16882 (CHAR_STRING): Adjust for the change of char_string_with_unification.
16883 (CHAR_STRING_ADVANCE): Make it do-while statement.
16884
16885 * chartab.c (sub_char_table_set_range): Optimize for the case
16886 DEPTH == 3. Add workaround code for a GCC optimization bug.
16887
16888 * charset.c (parse_charset_map): Remove an unused variable.
16889
16890 * coding.c: Delete unused variables.
16891
16892 * fileio.c (Finsert_file_contents): Set coding_system to Qnil
16893 earlier. If inserted is zero and the coding system doesn't
16894 require flushing, don't call decode_coding_gap.
16895
16896 * syntax.h (SET_RAW_SYNTAX_ENTRY): Don't call make_number.
16897
16898 2008-02-01 Kenichi Handa <handa@m17n.org>
16899
16900 The following changes are for using Unicode as an internal
16901 character model, and use UTF-8 format for buffer/string
16902 representation.
16903
16904 * .gdbinit (xchartable): Adjust for the change of char table structure.
16905 (xsubchartable, xcoding, xcharset, xcurbuf): New commands.
16906
16907 * Makefile.in (obj): Add character.o and chartab.o.
16908 (lisp, shortlisp): Remove utf-8.elc.
16909 (*.o): For many files, change dependency on charset.h to
16910 character.h, and add dependency on character.h.
16911 (character.o, chartab.o): New targets.
16912
16913 * abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c:
16914 * doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c:
16915 * w16select.c, w32bdf.c, w32console.c: Include "character.h" instead
16916 of "charset.h".
16917
16918 * dired.c, filelock.c: Include "character.h".
16919
16920 * alloc.c: Include "character.h" instead of "charset.h".
16921 (Fmake_char_table, make_sub_char_table): Move to chartab.c.
16922 (syms_of_alloc): Remove defsubr for Smake_char_table.
16923
16924 * buffer.c: Include "character.h" instead of "charset.h", don't
16925 include "coding.h".
16926 (Fset_buffer_multibyte): Adjust for UTF-8.
16927
16928 * buffer.h: EXFUN Fbuffer_live_p.
16929
16930 * callproc.c: Include "character.h" instead of "charset.h".
16931 (Fcall_process): Big change for the new code-conversion APIs.
16932
16933 * casetab.c: Include "character.h" instead of "charset.h".
16934 (set_canon, set_identity, shuffle): Adjust for the new
16935 map_char_table spec.
16936 (init_casetab_once): Call CHAR_TABLE_SET instead of directly
16937 accessing the char table structure.
16938
16939 * chartab.c: New file that implements char table.
16940
16941 * category.c: Include "character.h".
16942 (copy_category_entry): New function.
16943 (copy_category_table): Call map_char_table and copy_category_entry.
16944 (Fmake_category_table): Initialize all top-level slots.
16945 (char_category_set): New function.
16946 (modify_lower_category_set): Delete.
16947 (Fmodify_category_entry): Call char_table_ref_and_range.
16948
16949 * category.h (CATEGORY_SET): Just call char_category_set.
16950
16951 * ccl.c: Include "character.h".
16952 (Qccl, Qcclp): New variables.
16953 (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if
16954 it's less than 256.
16955 (CCL_WRITE_MULTIBYTE_CHAR): Delete.
16956 (CCL_WRITE_STRING, CCL_READ_CHAR): Adjust for the change of SRC
16957 and DST type.
16958 (ccl_driver): Change types of argument, adjust code accordingly.
16959 (Fccl_execute, Fccl_execute_on_string): Adjust for the change of
16960 ccl_driver.
16961 (syms_of_ccl): Intern and staticpro Qccl and Qcclp.
16962
16963 * ccl.h (struct ccl_program): Delete members eol_type and multibyte.
16964 New members src_multibyte, dst_multibyte, consumed, and produced.
16965 (struct ccl_spec): Delete members decoder and encoder. New member ccl.
16966 (CODING_SPEC_CCL_PROGRAM): New macro.
16967 (ccl_driver): Update prototype.
16968 (Qccl, Qcclp, Fccl_program_p): Extern them.
16969 (CHECK_CCL_PROGRAM): New macro.
16970
16971 * character.c, character.h, chartab.c: New files.
16972
16973 * charset.c: Mostly re-written. Move character and multibyte sequence
16974 handling codes to character.c.
16975
16976 * charset.h: Mostly re-written. Move character and multibyte sequence
16977 handling codes to character.h.
16978
16979 * coding.c, coding.h: Mostly re-written.
16980
16981 * composite.c: Include "character.h" instead of "charset.h".
16982 (CHAR_WIDTH): Move to character.h.
16983 (HASH_KEY, HASH_VALUE): Delete.
16984
16985 * composite.h (enum composition_method): Change order of enumeration
16986 symbols.
16987
16988 * data.c: Include "character.h" instead of "charset.h".
16989 (Faref): Call CHAR_TABLE_REF for a char table.
16990 (Faset): Call CHAR_TABLE_SET for a char table.
16991
16992 * dispextern.h (free_realized_face, check_face_attribytes)
16993 (generate_ascii_font): Extern them.
16994 (free_realized_multibyte_face): Delete extern.
16995
16996 * disptab.h (DISP_CHAR_VECTOR): Adjust for the change of char
16997 table structure.
16998
16999 * editfns.c: Include "character.h" instead of "charset.h".
17000 (Fchar_to_string): Always call CHAR_STRING.
17001
17002 * emacs.c (main): Call init_charset_once, init_charset,
17003 syms_of_chartab, and syms_of_character.
17004
17005 * fileio.c: Include "character.h" instead of "charset.h".
17006 (Finsert_file_contents): Big change for the new code-conversion API.
17007 (choose_write_coding_system, Fwrite_region): Likewise.
17008 (build_annotations_2): Delete.
17009 (e_write): Big change for the new code-conversion API.
17010
17011 * fns.c: Include "character.h" instead of "charset.h".
17012 (copy_sub_char_table): Move to chartab.c.
17013 (Fcopy_sequence): Call copy_char_table for a char table.
17014 (concat): Delete codes calling count_multibyte.
17015 (string_char_to_byte, string_byte_to_char): Adjust for the new
17016 multibyte form.
17017 (internal_equal): Adjust for the change of char table structure.
17018 (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent)
17019 (Fchar_table_extra_slot, Fset_char_table_extra_slot)
17020 (Fchar_table_range, Fset_char_table_range, Fset_char_table_default)
17021 (char_table_translate, optimize_sub_char_table)
17022 (Foptimize_char_table, map_char_table, Fmap_char_table): Move to
17023 chartab.c.
17024 (char_table_ref_and_index): Delete.
17025 (HASH_KEY, HASH_VALUE): Move to lisp.h.
17026 (Fmd5): Call preferred_coding_system instead of accessing
17027 Vcoding_category_list. Adjust for the new code-conversion API.
17028 (syms_of_fns): Move defsubr for char table related functions to
17029 chartab.c.
17030
17031 * fontset.c: Mostly re-written.
17032
17033 * fontset.h (struct font_info): Change type of the member encoding_type.
17034 (enum FONT_SPEC_INDEX): New enum.
17035 (fontset_font_pattern, fs_load_font): Update prototype.
17036 (FS_LOAD_FONT): Adjust for the change of fs_load_font.
17037
17038 * indent.c: Include "character.h" instead of "charset.h".
17039 (MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of WIDTH_BY_CHAR_HEAD.
17040
17041 * insdel.c: Include "character.h" instead of "charset.h".
17042 (copy_text): Don't refer to Vnonascii_translation_table.
17043 (insert_from_gap): New function.
17044
17045 * keyboard.c: Include "character.h" instead of "charset.h".
17046 (command_loop_1): Never call direct_output_forward_char before
17047 a non-ASCII character.
17048 (read_char): If Vkeyboard_translate_table is a char table, always
17049 translate a character.
17050
17051 * keymap.c: Include "character.h".
17052 (store_in_keymap): Handle the case that IDX is a cons.
17053 (Fdefine_key): Handle the case that KEY is a cons and the car part
17054 is also a cons (range).
17055 (push_key_description): Adjust for the new character code.
17056 (describe_vector): Call describe_char_table for a char table.
17057 (describe_char_table): New function.
17058
17059 * keymap.h (describe_char_table): Extern it.
17060
17061 * lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE.
17062 (XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros.
17063 (CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS)
17064 (SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):
17065 Delete.
17066 (CHAR_TABLE_REF, CHAR_TABLE_SET): Adjust for the new char table
17067 structure.
17068 (CHAR_TABLE_TRANSLATE): Just call char_table_translate.
17069 (CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2)
17070 (CHARTAB_SIZE_BITS_3): New macros.
17071 (chartab_size): Extern it.
17072 (struct Lisp_Char_Table): Re-design.
17073 (struct Lisp_Sub_Char_Table): New structure.
17074 (HASH_KEY, HASH_VALUE): Move from fns.c.
17075 (CHARACTERBITS): Define as 22.
17076 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjust for the above change.
17077 (SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE.
17078 (GC_SUB_CHAR_TABLE_P): New macro.
17079 (Fencode_coding_string, Fdecode_coding_string): Update EXFUN.
17080 (code_convert_string_norecord): Deleted extern.
17081 (init_character_once, syms_of_character, init_charset)
17082 (syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them.
17083
17084 * lread.c: Include "character.h".
17085 (read_multibyte): New arg NBYTES.
17086 (read_escape): Change the meaning of returned *BYTEREP.
17087 (to_multibyte): Delete.
17088 (read1): Adjust the handling of char table and string.
17089
17090 * print.c: Include "character.h" instead of "charset.h".
17091 (print_string): Convert 8-bit raw bytes to octal form by
17092 string_escape_byte8.
17093 (print_object): Adjust for the new multibyte form. Print 8-bit
17094 raw bytes always in octal form. Handle sub char table correctly.
17095
17096 * process.c: Include "character.h" instead of "charset.h".
17097 (read_process_output, send_process): Adjust for the new
17098 code-conversion API.
17099
17100 * puresize.h (BASE_PURESIZE): Increase.
17101
17102 * regex.c: Include "character.h" instead of "charset.h".
17103 (BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros.
17104 (regex_compile): Accept a range whose starting and ending
17105 character have different leading bytes.
17106 (analyse_first): Adjust for the above change.
17107
17108 * search.c: Include "character.h" instead of "charset.h".
17109 (search_buffer, boyer_moore): Adjust for the new multibyte form.
17110 (Freplace_match): Adjust for the change of multibyte_char_to_unibyte.
17111
17112 * syntax.c: Include "character.h" instead of "charset.h".
17113 (syntax_parent_lookup): Delete.
17114 (Fmodify_syntax_entry): Accept a cons as CHAR.
17115 (skip_chars): Adjust for the new multibyte form.
17116 (init_syntax_once): Call char_table_set_range instead of directly
17117 accessing the structure of a char table.
17118
17119 * syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET.
17120 (SYNTAX_ENTRY_FOLLOW_PARENT): Delete macro.
17121 (SET_RAW_SYNTAX_ENTRY_RANGE): New macro.
17122 (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF.
17123
17124 * term.c: Include "buffer.h" and "character.h".
17125 (encode_terminal_code, write_glyphs): Adjust for the new
17126 code-conversion API.
17127 (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH.
17128
17129 * w32term.c (x_new_font): Adjust for the change of FS_LOAD_FONT.
17130
17131 * xdisp.c: Include "character.h".
17132 (get_next_display_element): Adjust for the new multibyte form.
17133 (disp_char_vector): Adjust for the new char table structure.
17134 (decode_mode_spec_coding): Adjust for the new structure of
17135 coding system.
17136 (decode_mode_spec): Adjust for the new code-conversion API.
17137
17138 * xfaces.c: Include "character.h" instead of "charset.h".
17139 (load_face_font): Adjust for the change of choose_face_font and
17140 FS_LOAD_FONT.
17141 (generate_ascii_font): New function.
17142 (set_lface_from_font_name): Adjust for the change of FS_LOAD_FONT.
17143 (set_font_frame_param): Adjust for the change of choose_face_font.
17144 (free_realized_face): Make it public.
17145 (free_realized_faces_for_fontset): Rename from
17146 free_realized_multibyte_face. Free also faces realized for ASCII.
17147 (choose_face_font): Change arguments. Adjust for the change of
17148 fontset_font_pattern and FS_LOAD_FONT.
17149
17150 * xfns.c: Include "character.h".
17151 (x_encode_text): Adjust for the new code-conversion API.
17152
17153 * xselect.c: Don't include "charset.h".
17154 (selection_data_to_lisp_data): Adjust for the new code conversion API.
17155
17156 * xterm.c: Include "character.h".
17157 (x_encode_char): New argument CHARSET. Change caller.
17158 (x_get_char_face_and_encoding, x_get_glyph_face_and_encoding):
17159 Call ENCODE_CHAR instead of SPLIT_CHAR.
17160 (x_produce_glyphs): Don't check Vnonascii_translation_table Call
17161 CHAR_WIDTH instead of CHARSET_WIDTH.
17162 (XTread_socket): Adjust for the new code-conversion API.
17163 (x_new_font): Adjust for the change of FS_LOAD_FONT.
17164 (x_load_font): Adjust for the change of struct font.
17165
17166 2008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
17167
17168 * xfaces.c (face_at_buffer_position): Remove unused vars.
17169
17170 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
17171
17172 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR):
17173 Fix overflow checking.
17174
17175 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
17176
17177 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR, ccl_driver):
17178 Cancel previous change.
17179
17180 2008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
17181
17182 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when
17183 ccl->eight_bit_control. Fix check for buffer overflow.
17184 (CCL_WRITE_MULTIBYTE_CHAR): Fix check for buffer overflow.
17185 (ccl_driver): Initialize extra_bytes to 0.
17186
17187 2008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
17188
17189 * keyboard.c (make_ctrl_char): If C is a multibyte character, just
17190 return it ORed with ctrl_modifier.
17191
17192 2008-01-29 Miles Bader <miles@gnu.org>
17193
17194 * macterm.c (XTset_vertical_scroll_bar): Fix merge mistake.
17195
17196 2008-01-28 Jason Rumney <jasonr@gnu.org>
17197
17198 * w32.c (stat): Don't double check for networked drive.
17199
17200 2008-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
17201
17202 * window.c (run_window_configuration_change_hook): New function.
17203 Code extracted from set_window_buffer. Set the selected frame.
17204 (set_window_buffer): Use it.
17205 * window.h (run_window_configuration_change_hook): Declare.
17206 * dispnew.c (change_frame_size_1): Use it instead of set-window-buffer.
17207
17208 * keyboard.c (read_char): Yet another int/Lisp_Object mixup (YAILOM).
17209
17210 2008-01-27 Dan Nicolaescu <dann@ics.uci.edu>
17211
17212 * Makefile.in: Remove references to unused macros.
17213
17214 2008-01-26 Eli Zaretskii <eliz@gnu.org>
17215
17216 * w32.c (g_b_init_get_sid_sub_authority)
17217 (g_b_init_get_sid_sub_authority_count): New static variables.
17218 (GetSidSubAuthority_Proc, GetSidSubAuthorityCount_Proc): New typedefs.
17219 (get_sid_sub_authority, get_sid_sub_authority_count): New functions.
17220 (init_user_info): Use them to retrieve uid and gid.
17221 Use 500/513, the Windows defaults, as Administrator's uid/gid.
17222 (fstat): Use pw_uid and pw_gid from the_passwd structure for
17223 st_uid and st_gid of the file.
17224
17225 2008-01-26 Jason Rumney <jasonr@gnu.org>
17226
17227 * w32.c (logon_network_drive): New function.
17228 (stat): Use it.
17229
17230 2008-01-26 Chong Yidong <cyd@stupidchicken.com>
17231
17232 * xdisp.c (pos_visible_p): Handle the case where charpos falls on
17233 invisible text covered with an ellipsis.
17234
17235 2008-01-25 Richard Stallman <rms@gnu.org>
17236
17237 * xdisp.c (redisplay_window): Run Qwindow_text_change_functions and
17238 jump back to beginning. Move some other initializations after that.
17239 (Qwindow_text_change_functions, Vwindow_text_change_functions):
17240 New variables.
17241 (syms_of_xdisp): Init them.
17242
17243 * keyboard.c (read_char): Restore echo_message_buffer after redisplay.
17244
17245 * buffer.c (reset_buffer_local_variables):
17246 Implement `permanent-local-hook'.
17247 (Qpermanent_local_hook): New variable.
17248 (syms_of_buffer): Init and staticpro it.
17249
17250 2008-01-25 Michael Albinus <michael.albinus@gmx.de>
17251
17252 * dbusbind.c (xd_retrieve_arg): Pacify GCC on x86_64 GNU/Linux.
17253
17254 2008-01-25 Thien-Thi Nguyen <ttn@gnuvola.org>
17255
17256 * fns.c (Fclrhash): Return TABLE.
17257
17258 2008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17259
17260 * macterm.c (x_scroll_bar_create): Initialize bar->redraw_needed_p.
17261 (XTset_vertical_scroll_bar): Redraw scroll bar if bar->redraw_needed_p
17262 is set even without positional changes.
17263 (x_scroll_bar_clear): Set bar->redraw_needed_p.
17264
17265 * macterm.h (struct scroll_bar): New member `redraw_needed_p'.
17266
17267 2008-01-23 Jason Rumney <jasonr@gnu.org>
17268
17269 * xterm.c (handle_one_xevent): Revert to counting chars not bytes.
17270
17271 * w32term.c (w32_read_socket) <WM_CHAR>: Decode characters outside
17272 the unicode range available in MULE by locale-coding-system.
17273 Improve dbcs lead byte detection. Set event timestamp and modifiers
17274 earlier.
17275
17276 2008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17277
17278 * mac.c (mac_emacs_pid) [MAC_OSX]: New variable.
17279 [MAC_OSX] (init_mac_osx_environment): Initialize it.
17280 [MAC_OSX] (mac_try_close_socket) [SELECT_USE_CFSOCKET]: Return 0
17281 when used on child processes.
17282
17283 2008-01-21 Michael Albinus <michael.albinus@gmx.de>
17284
17285 * dbusbind.c (Fdbus_method_return_internal): Rename from
17286 Fdbus_method_return.
17287 (Fdbus_unregister_object): Move to dbus.el.
17288 (Fdbus_call_method, Fdbus_method_return_internal)
17289 (Fdbus_send_signal): Improve debug messages.
17290
17291 2008-01-20 Martin Rudalics <rudalics@gmx.at>
17292
17293 * undo.c (undo_inhibit_record_point): New variable.
17294 (syms_of_undo): Initialize it.
17295 (record_point): Don't record point when undo_inhibit_record_point
17296 is set.
17297
17298 2008-01-19 Stefan Monnier <monnier@iro.umontreal.ca>
17299
17300 * process.c (list_processes_1): Don't use SCHARS on a nil buffer name.
17301
17302 * xdisp.c (Qauto_hscroll_mode): New var.
17303 (syms_of_xdisp): Initialize it.
17304 (hscroll_window_tree): Use it to lookup `auto-hscroll-mode' in each
17305 window's buffer.
17306 (hscroll_windows): Don't check automatic_hscrolling_p here.
17307
17308 * window.c (set_window_buffer): Don't unnecessarily reset hscroll and
17309 vscroll if we're setting window-buffer to the value it already has.
17310
17311 2008-01-18 Dan Nicolaescu <dann@ics.uci.edu>
17312
17313 * m/intel386.h: Remove references to XENIX.
17314
17315 2008-01-17 Andreas Schwab <schwab@suse.de>
17316
17317 * m/amdx86-64.h (START_FILES, LIB_STANDARD): Use HAVE_LIB64_DIR
17318 instead of HAVE_X86_64_LIB64_DIR.
17319 * m/ibms390x.h (START_FILES, LIB_STANDARD): Likewise.
17320
17321 2008-01-17 Glenn Morris <rgm@gnu.org>
17322
17323 * m/ibms390x.h (START_FILES, LIB_STANDARD): Adjust value according
17324 to HAVE_X86_64_LIB64_DIR.
17325
17326 2008-01-16 Dan Nicolaescu <dann@ics.uci.edu>
17327
17328 * s/irix3-3.h:
17329 * s/irix4-0.h:
17330 * s/386-ix.h:
17331 * s/domain.h:
17332 * s/hpux9-x11r4.h:
17333 * s/hpux9shxr4.h: Remove files for systems no longer supported.
17334
17335 * sysdep.c: Remove code containing references to symbols defined
17336 by unsupported systems.
17337
17338 2008-01-16 Glenn Morris <rgm@gnu.org>
17339
17340 * coding.c (select-safe-coding-system-function): Doc fix.
17341
17342 2008-01-15 Glenn Morris <rgm@gnu.org>
17343
17344 * config.in: Revert 2008-01-13 change: this is a generated file.
17345
17346 2008-01-13 Tom Tromey <tromey@redhat.com>
17347
17348 * lisp.h: Fix typo.
17349
17350 2008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
17351
17352 * m/sequent-ptx.h:
17353 * m/sequent.h:
17354 * s/ptx.h:
17355 * s/ptx4-2.h:
17356 * s/ptx4.h: Remove files for systems no longer supported.
17357
17358 * callproc.c (Fcall_process): Fix previous change.
17359
17360 2008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
17361
17362 * unexsunos4.c: Remove file, system not supported anymore.
17363
17364 * m/mips.h:
17365 * m/intel386.h:
17366 * callproc.c:
17367 * config.in:
17368 * ecrt0.c:
17369 * emacs.c:
17370 * fileio.c:
17371 * frame.c:
17372 * getpagesize.h:
17373 * keyboard.c:
17374 * lread.c:
17375 * process.c:
17376 * puresize.h:
17377 * sysdep.c:
17378 * systty.h:
17379 * syswait.h:
17380 * unexec.c:
17381 * xdisp.c:
17382 * alloc.c: Remove code containing references to symbols defined by
17383 unsupported systems.
17384
17385 2008-01-11 Kenichi Handa <handa@ni.aist.go.jp>
17386
17387 * coding.c (detect_coding_mask): Fix previous change.
17388
17389 2008-01-09 Kenichi Handa <handa@ni.aist.go.jp>
17390
17391 * coding.c (detect_coding_iso2022): New arg
17392 latin_extra_code_state. Allow Latin extra codes only
17393 when *latin_extra_code_state is nonzero.
17394 (detect_coding_mask): If there is a NULL byte, detect the encoding
17395 as UTF-16 or binary. If Latin extra codes exist, detect the
17396 encoding as ISO-2022 only when there's no other proper encoding is
17397 found.
17398
17399 2008-01-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17400
17401 * frame.c (Fmake_terminal_frame): Use #ifdef MAC_OS8 instead of
17402 #ifdef MAC_OS.
17403
17404 2008-01-08 Richard Stallman <rms@gnu.org>
17405
17406 * fileio.c (Ffile_name_directory, Fexpand_file_name): Doc fixes.
17407
17408 2008-01-06 Nick Roberts <nickrob@snap.net.nz>
17409
17410 * keyboard.c (parse_menu_item): Don't enclose key bindings on
17411 menu bar in parentheses.
17412
17413 2008-01-06 Dan Nicolaescu <dann@ics.uci.edu>
17414
17415 * m/7300.h:
17416 * m/acorn.h:
17417 * m/alliant-2800.h:
17418 * m/alliant.h:
17419 * m/alliant1.h:
17420 * m/alliant4.h:
17421 * m/altos.h:
17422 * m/amdahl.h:
17423 * m/apollo.h:
17424 * m/att3b.h:
17425 * m/aviion-intel.h:
17426 * m/aviion.h:
17427 * m/celerity.h:
17428 * m/clipper.h:
17429 * m/cnvrgnt.h:
17430 * m/convex.h:
17431 * m/cydra5.h:
17432 * m/delta88k.h:
17433 * m/dpx2.h:
17434 * m/dual.h:
17435 * m/elxsi.h:
17436 * m/f301.h:
17437 * m/gould-np1.h:
17438 * m/gould.h:
17439 * m/i860.h:
17440 * m/ibmps2-aix.h:
17441 * m/ibmrt-aix.h:
17442 * m/ibmrt.h:
17443 * m/irist.h:
17444 * m/is386.h:
17445 * m/isi-ov.h:
17446 * m/mega68.h:
17447 * m/mg1.h:
17448 * m/news-r6.h:
17449 * m/news-risc.h:
17450 * m/news.h:
17451 * m/nh3000.h:
17452 * m/nh4000.h:
17453 * m/ns16000.h:
17454 * m/ns32000.h:
17455 * m/nu.h:
17456 * m/orion.h:
17457 * m/orion105.h:
17458 * m/paragon.h:
17459 * m/pfa50.h:
17460 * m/plexus.h:
17461 * m/pyramid.h:
17462 * m/pyrmips.h:
17463 * m/sh3el.h:
17464 * m/sps7.h:
17465 * m/sr2k.h:
17466 * m/stride.h:
17467 * m/sun1.h:
17468 * m/sun2.h:
17469 * m/sun3-68881.h:
17470 * m/sun3-fpa.h:
17471 * m/sun3-soft.h:
17472 * m/sun3.h:
17473 * m/sun386.h:
17474 * m/symmetry.h:
17475 * m/tad68k.h:
17476 * m/tahoe.h:
17477 * m/targon31.h:
17478 * m/tek4300.h:
17479 * m/tekxd88.h:
17480 * m/tower32.h:
17481 * m/tower32v3.h:
17482 * m/ustation.h:
17483 * m/wicat.h:
17484 * m/xps100.h:
17485 * s/cxux.h:
17486 * s/cxux7.h:
17487 * s/dgux.h:
17488 * s/dgux4.h:
17489 * s/dgux5-4-3.h:
17490 * s/dgux5-4r2.h:
17491 * s/esix.h:
17492 * s/esix5r4.h:
17493 * s/hiuxmpp.h:
17494 * s/hiuxwe2.h:
17495 * s/iris3-5.h:
17496 * s/iris3-6.h:
17497 * s/isc2-2.h:
17498 * s/isc3-0.h:
17499 * s/isc4-0.h:
17500 * s/isc4-1.h:
17501 * s/newsos5.h:
17502 * s/newsos6.h:
17503 * s/osf1.h:
17504 * s/osf5-0.h:
17505 * s/riscix1-1.h:
17506 * s/riscix12.h:
17507 * s/sco4.h:
17508 * s/sco5.h:
17509 * s/sunos4-0.h:
17510 * s/sunos4-1.h:
17511 * s/sunos413.h:
17512 * s/sunos4shr.h:
17513 * s/umax.h:
17514 * s/unipl5-2.h:
17515 * s/xenix.h:
17516 * cxux-crt0.s:
17517 * unexapollo.c:
17518 * unexconvex.c:
17519 * unexenix.c:
17520 * unexsni.c: Remove files for systems no longer supported.
17521
17522 * m/intel386.h: Remove references to unsupported systems.
17523
17524 * w32.c (get_emacs_configuration): Remove reference to i860.
17525
17526 * sysdep.c: Remove dead code.
17527
17528 2008-01-05 Dan Nicolaescu <dann@ics.uci.edu>
17529
17530 * s/rtu.h:
17531 * m/masscomp.h: Remove files. Platform is obsolete.
17532
17533 2008-01-04 Michael Albinus <michael.albinus@gmx.de>
17534
17535 * dbusbind.c (Fdbus_method_return): New function.
17536 (xd_read_message): Add the serial number to the event.
17537 (Fdbus_register_method): Activate the function.
17538
17539 2008-01-03 Stefan Monnier <monnier@iro.umontreal.ca>
17540
17541 * keyboard.c (read_key_sequence): Fix typo.
17542
17543 2008-01-03 Michael Albinus <michael.albinus@gmx.de>
17544
17545 * dbusbind.c (all): Replace XCAR by CAR_SAFE and XCDR by CDR_SAFE.
17546 (xd_signature, xd_append_arg): Handle element type detection for
17547 empty arrays.
17548 (Fdbus_call_method, Fdbus_send_signal): Undo type casting for
17549 SDATA () calls; this must be solved more general.
17550 (Fdbus_register_signal): Use SBYTES instead of strlen.
17551
17552 2008-01-03 Magnus Henoch <magnus@zemdatav>
17553
17554 * dbusbind.c (xd_append_arg): Use unsigned char instead of
17555 unsigned int for byte values (necessary for big-endian platform).
17556 (Fdbus_call_method): Handle the case of no returned arguments.
17557
17558 2007-12-31 Tom Tromey <tromey@redhat.com> (tiny change)
17559
17560 * dbusbind.c (xd_read_message): Use non-static input_event struct.
17561
17562 2007-12-31 Magnus Henoch <mange@freemail.hu>
17563
17564 * dbusbind.c (xd_signature): Signature of variant is just "v".
17565
17566 2007-12-30 Michael Albinus <michael.albinus@gmx.de>
17567
17568 * dbusbind.c: Fix several errors and compiler warnings.
17569 Reported by Tom Tromey <tromey@redhat.com>.
17570 (XD_ERROR, XD_DEBUG_MESSAGE)
17571 (XD_DEBUG_VALID_LISP_OBJECT_P): Wrap code with "do ... while (0)".
17572 (xd_append_arg): Part for basic D-Bus types rewritten.
17573 (xd_retrieve_arg): Split implementation of DBUS_TYPE_BYTE and
17574 DBUS_TYPE_(U)INT16. Don't call XD_DEBUG_MESSAGE with "%f" if not
17575 appropriate.
17576 (xd_read_message): Return Qnil. Don't signal an error; it is not
17577 useful during event reading.
17578 (Fdbus_register_signal): Signal an error if the check for
17579 FUNCTIONP fails.
17580 (Fdbus_register_method): New function. The implementation is not
17581 complete, the call of the function signals an error therefore.
17582 (Fdbus_unregister_object): New function, renamed from
17583 Fdbus_unregister_signal. The initial check signals an error, if
17584 the object is not well formed.
17585
17586 2007-12-30 Richard Stallman <rms@gnu.org>
17587
17588 * textprop.c (get_char_property_and_overlay):
17589 Signal error if POSITION is out of range in a buffer.
17590
17591 2007-12-29 Martin Rudalics <rudalics@gmx.at>
17592
17593 * w32fns.c (Fx_create_frame): Make copy of frame parameters
17594 because the original parameters are in pure storage now.
17595
17596 2007-12-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17597
17598 * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area.
17599
17600 2007-12-22 Eli Zaretskii <eliz@gnu.org>
17601
17602 * callint.c (syms_of_callint) <command-history>: Add reference to
17603 history-length in the doc string.
17604
17605 2007-12-17 Jason Rumney <jasonr@gnu.org>
17606
17607 * w32fns.c (w32_wnd_proc) <WM_KEYDOWN>: Cast char to unsigned
17608 before passing as wParam.
17609
17610 2007-12-22 Michael Albinus <michael.albinus@gmx.de>
17611
17612 * dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_BYTE,
17613 DBUS_TYPE_INT16, DBUS_TYPE_UINT16, DBUS_TYPE_INT64,
17614 DBUS_TYPE_UINT64, DBUS_TYPE_DOUBLE and DBUS_TYPE_SIGNATURE.
17615 Return float when DBUS_TYPE_INT32 or DBUS_TYPE_UINT32 do not fit
17616 as number.
17617 (Fdbus_call_method): Fix docstring.
17618
17619 2007-12-21 Michael Albinus <michael.albinus@gmx.de>
17620
17621 * dbusbind.c (XD_BASIC_DBUS_TYPE, XD_DBUS_TYPE_P, XD_NEXT_VALUE):
17622 New macros.
17623 (XD_SYMBOL_TO_DBUS_TYPE): Rename from XD_LISP_SYMBOL_TO_DBUS_TYPE.
17624 (XD_OBJECT_TO_DBUS_TYPE): Rename from XD_LISP_OBJECT_TO_DBUS_TYPE.
17625 Simplify.
17626 (xd_signature): New function.
17627 (xd_append_arg): Compute also signatures. Major rewrite.
17628 (xd_retrieve_arg): Make debug messages friendly.
17629 (Fdbus_call_method, Fdbus_send_signal): Extend docstring.
17630 Check for signatures of arguments.
17631
17632 2007-12-19 Michael Albinus <michael.albinus@gmx.de>
17633
17634 * dbusbind.c (QCdbus_type_byte, QCdbus_type_boolean)
17635 (QCdbus_type_int16, QCdbus_type_uint16, QCdbus_type_int32)
17636 (QCdbus_type_uint32, QCdbus_type_int64, QCdbus_type_uint64)
17637 (QCdbus_type_double, QCdbus_type_string, QCdbus_type_object_path)
17638 (QCdbus_type_signature, QCdbus_type_array, QCdbus_type_variant)
17639 (QCdbus_type_struct, QCdbus_type_dict_entry): New D-Bus type symbols.
17640 (XD_LISP_SYMBOL_TO_DBUS_TYPE): New macro.
17641 (XD_LISP_OBJECT_TO_DBUS_TYPE): Add compound types.
17642 (xd_retrieve_value): Remove. Functionality included in ...
17643 (xd_append_arg): New function.
17644 (Fdbus_call_method, Fdbus_send_signal): Apply it.
17645
17646 2007-12-16 Michael Albinus <michael.albinus@gmx.de>
17647
17648 * dbusbind.c (top): Include <stdio.h>.
17649 (Fdbus_call_method, Fdbus_send_signal): Apply type cast in
17650 dbus_message_new_method_call and dbus_message_new_signal.
17651 (Fdbus_register_signal): Rename unique_name to uname.
17652 Check handler for FUNCTIONP instead of CHECK_SYMBOL. Handle case of
17653 non-existing unique name. Fix typos in matching rule. Return an
17654 object which is useful in Fdbus_unregister_signal.
17655 (Fdbus_unregister_signal): Reimplementation, in order to remove
17656 only the corresponding entry.
17657 (Vdbus_registered_functions_table): Change the order of entries.
17658 Apply these changes in xd_read_message and Fdbus_register_signal.
17659
17660 2007-12-16 Andreas Schwab <schwab@suse.de>
17661
17662 * fileio.c (Finsert_file_contents): Fix overflow check to not
17663 depend on undefined integer overflow.
17664
17665 2007-12-14 Jason Rumney <jasonr@gnu.org>
17666
17667 * w32term.c (w32_read_socket): Use MULTIBYTE_CHAR_KEYSTROKE_EVENT
17668 for characters above 127.
17669
17670 2007-12-13 Jason Rumney <jasonr@gnu.org>
17671
17672 * w32fns.c (w32_wnd_proc, Fw32_reconstruct_hot_key): Range check
17673 before dereferencing array.
17674 (lookup_vk_code): Remove zero comparison.
17675
17676 2007-12-14 Michael Albinus <michael.albinus@gmx.de>
17677
17678 * dbusbind.c (xd_retrieve_value, xd_retrieve_arg)
17679 (Fdbus_call_method, Fdbus_send_signal, xd_read_message):
17680 Use `unsigned int' instead of `uint'.
17681 (xd_read_message, Fdbus_register_signal): Split expressions into
17682 multiple lines before operators "&&" and "||", according to the
17683 GNU Coding Standards.
17684
17685 2007-12-14 Eli Zaretskii <eliz@gnu.org>
17686
17687 * dispextern.h (WINDOWS_NT): Fix incorrect spelling of WINDOWSNT.
17688
17689 2007-12-12 Juri Linkov <juri@jurta.org>
17690
17691 * buffer.c (Frename_buffer): In interactive spec replace
17692 `read-buffer' with `read-string' that uses `buffer-name-history'
17693 as history, and the current buffer's name as default.
17694
17695 2007-12-10 Stefan Monnier <monnier@iro.umontreal.ca>
17696
17697 * keyboard.c (Fcommand_execute): Call Qcall_interactively instead of
17698 manipulating the backtrace manually.
17699 (make_lispy_event): Merge the ASCII and MULTIBYTE cases.
17700 (struct backtrace, backtrace_list): Remove.
17701 (command_loop_1): Remove dead var `no_direct'.
17702
17703 * buffer.c (reset_buffer_local_variables): If permanent_too is 0, also
17704 preserve non-built-in buffer-local variables.
17705 (Fkill_all_local_variables): Don't re-create&re-set permanent
17706 buffer-local variables.
17707
17708 2007-12-09 Juri Linkov <juri@jurta.org>
17709
17710 * buffer.c (Frename_buffer): Change interactive spec from "s" to
17711 Lisp code that uses `read-buffer' with current buffer as default.
17712
17713 2007-12-08 Michael Albinus <michael.albinus@gmx.de>
17714
17715 * dbusbind.c (xd_read_message): Generate an event for every
17716 registered handler. There might be several handlers registered
17717 for the same signal.
17718 (Fdbus_register_signal): Don't overwrite a registration for the
17719 same signal. Add a new registration if handlers are different.
17720 (Vdbus_registered_functions_table): Rework doc string.
17721
17722 2007-12-07 Michael Albinus <michael.albinus@gmx.de>
17723
17724 * dbusbind.c (Fdbus_get_unique_name, xd_read_message)
17725 (Fdbus_register_signal): Use DBUS_MAXIMUM_NAME_LENGTH and
17726 DBUS_MAXIMUM_MATCH_RULE_LENGTH for string lengths.
17727 (Fdbus_call_method, Fdbus_send_signal, Fdbus_register_signal):
17728 Unify argument lists.
17729 (xd_read_message, Fdbus_register_signal): Reorder and extend event
17730 arguments and hash table keys. Use unique name for service.
17731 (Fdbus_unregister_signal): Remove checks.
17732 (Vdbus_registered_functions_table): Fix doc string.
17733
17734 2007-12-05 Magnus Henoch <mange@freemail.hu>
17735
17736 * process.c (make_process): Initialize pty_flag to 0.
17737
17738 2007-12-05 Jason Rumney <jasonr@gnu.org>
17739
17740 * image.c (xbm_load) [WINDOWSNT]: Shuffle the bits of directly
17741 specified XBMs.
17742
17743 2007-12-05 Richard Stallman <rms@gnu.org>
17744
17745 * xdisp.c (syms_of_xdisp) <scroll-conservatively>: Doc fix.
17746
17747 2007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17748
17749 * mac.c (cfsockets_for_select) [MAC_OSX && SELECT_USE_CFSOCKET]:
17750 New variable.
17751 (mac_try_close_socket) [MAC_OSX]: New function.
17752 [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]:
17753 Update cfsockets_for_select. Replace invalid CFRunLoop source.
17754
17755 * sysdep.c (emacs_close) [MAC_OSX && HAVE_CARBON]:
17756 Use mac_try_close_socket.
17757
17758 2007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17759
17760 * unexmacosx.c (unrelocate): New argument BASE. Use it instead of
17761 reloc_base.
17762 (copy_dysymtab): Compute relocation base here.
17763 (rebase_reloc_address) [__ppc64__]: New function.
17764 (copy_dysymtab) [__ppc64__]: Use it if relocation base needs to be
17765 changed.
17766
17767 2007-12-05 Jason Rumney <jasonr@gnu.org>
17768
17769 * w32proc.c (sys_spawnve): Quote args with wildcards.
17770
17771 2007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17772
17773 * unexmacosx.c (copy_data_segment): Also copy __gcc_except_tab and
17774 __objc_* sections.
17775 (unrelocate) [_LP64]: Set relocation base to address of data segment.
17776
17777 2007-12-05 Michael Albinus <michael.albinus@gmx.de>
17778
17779 * dbusbind.c (xd_read_message): Return value is a Lisp_Object.
17780 Move check for Vdbus_registered_functions_table to
17781 xd_read_queued_messages.
17782 (xd_read_queued_messages): Protect xd_read_message calls by
17783 internal_condition_case_1.
17784
17785 2007-12-04 Michael Albinus <michael.albinus@gmx.de>
17786
17787 * dbusbind.c (QCdbus_system_bus, QCdbus_session_bus): Rename from
17788 Qdbus_system_bus and Qdbus_session_bus, respectively.
17789 (Vdbus_intern_symbols): Remove.
17790 (Vdbus_registered_functions_table): New hash table.
17791 (XD_SYMBOL_INTERN_SYMBOL): Remove.
17792 (xd_read_message, Fdbus_register_signal, Fdbus_unregister_signal):
17793 Rewrite in order to manage registered functions by hash table
17794 Vdbus_registered_functions_table.
17795
17796 2007-12-03 Jan Djärv <jan.h.d@swipnet.se>
17797
17798 * xterm.c: Update URL to Window Manager Specification in comment.
17799
17800 2007-12-02 Michael Albinus <michael.albinus@gmx.de>
17801
17802 * config.in (HAVE_DBUS): Add.
17803
17804 * Makefile.in (HAVE_DBUS): Add D-Bus definitions if defined.
17805 (ALL_CFLAGS): Add ${DBUS_CFLAGS}.
17806 (obj): Add $(DBUS_OBJ).
17807 (LIBES): Add $(DBUS_LIBS).
17808 (dbusbind.o): New target.
17809
17810 * dbusbind.c: New file.
17811
17812 * emacs.c (main): Call syms_of_dbusbind when HAVE_DBUS is defined.
17813
17814 * keyboard.c: All D-Bus related code is wrapped by "#ifdef HAVE_DBUS".
17815 (Qdbus_event): New Lisp symbol.
17816 (kbd_buffer_get_event, make_lispy_event): Handle DBUS_EVENT.
17817 (gobble_input): Call xd_read_queued_messages, reading D-Bus messages.
17818 (keys_of_keyboard): Define dbus-event.
17819
17820 * termhooks.h (event_kind): Add DBUS_EVENT when HAVE_DBUS is defined.
17821
17822 2007-12-01 Richard Stallman <rms@gnu.org>
17823
17824 * search.c (syms_of_search) <inhibit-changing-match-data>: Doc fix.
17825
17826 2007-11-30 Jason Rumney <jasonr@gnu.org>
17827
17828 * w32console.c (w32con_ins_del_lines, scroll_line): Clip to window.
17829 (w32con_reset_terminal_modes): Clear screen buffer.
17830 (w32_face_attributes): Don't use color indexes that are out of range.
17831 Only reverse the default colors.
17832
17833 * xfaces.c (map_tty_color, tty_color_name): Remove special case for
17834 WINDOWSNT.
17835
17836 * w32console.c, w32term.h (vga_stdcolor_name): Remove.
17837
17838 2007-11-29 Jason Rumney <jasonr@gnu.org>
17839
17840 * w32console.c: Leave HAVE_WINDOW_SYSTEM defined.
17841 (w32_face_attributes): Use Vtty_defined_color_alist to determine
17842 if the terminal colors are initialized.
17843 (unspecified_fg, unspecified_bg): Remove unused declarations.
17844
17845 2007-11-29 Andreas Schwab <schwab@suse.de>
17846
17847 * keyboard.c (apply_modifiers): Fix typo.
17848
17849 2007-11-29 Richard Stallman <rms@gnu.org>
17850
17851 * keymap.c (Fcurrent_local_map): Doc fix.
17852
17853 2007-11-28 Petr Salinger <Petr.Salinger@seznam.cz> (tiny change)
17854
17855 * s/gnu-kfreebsd.h: New file.
17856
17857 2007-11-28 Stefan Monnier <monnier@iro.umontreal.ca>
17858
17859 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
17860 Don't cast redundantly.
17861
17862 * keyboard.c (KEY_TO_CHAR): New macro.
17863 (parse_modifiers, apply_modifiers): Accept integer arguments.
17864 (read_key_sequence): Use them to unify the "shift->unshift" mapping
17865 for chars and symbol keys.
17866 After doing such remapping, apply function-key-map again.
17867
17868 2007-11-27 Dan Nicolaescu <dann@ics.uci.edu>
17869
17870 * Makefile.in (SOME_MACHINE_LISP): Remove VMS files, they are not
17871 compiled anymore.
17872
17873 2007-11-26 Andreas Schwab <schwab@suse.de>
17874
17875 * process.c (list_processes_1): Fix indentation level of the
17876 command column.
17877
17878 2007-11-23 Andreas Schwab <schwab@suse.de>
17879
17880 * editfns.c (Fformat): Handle %c specially since it requires the
17881 argument to be of type int.
17882
17883 2007-11-23 Markus Triska <markus.triska@gmx.at>
17884
17885 * emacs.c (main): Call init_editfns before init_process, since
17886 init_process sets Vprocess_connection_type depending on OS release.
17887
17888 2007-11-22 Stefan Monnier <monnier@iro.umontreal.ca>
17889
17890 * data.c (do_symval_forwarding): Use same code as in find_symbol_value.
17891 (find_symbol_value): Use do_symval_forwarding.
17892
17893 * data.c (set_internal): Set the value in the `cons-cell' (for
17894 Buffer_Local_values) not only for frame-local variables.
17895
17896 2007-11-22 Andreas Schwab <schwab@suse.de>
17897
17898 * data.c (Fnumber_to_string): Add cast when passing EMACS_INT
17899 values to sprintf.
17900 * keymap.c (Fsingle_key_description): Likewise.
17901 * print.c (print_object): Likewise.
17902
17903 2007-11-22 Jan Djärv <jan.h.d@swipnet.se>
17904
17905 * gtkutil.c (update_frame_tool_bar): Don't call x-gtk-map-stock if
17906 file for image is nil.
17907
17908 2007-11-22 Dan Nicolaescu <dann@ics.uci.edu>
17909
17910 * term.c: Include stdarg.h.
17911 (fatal): Implement using varargs.
17912 * lisp.h (fatal): Add argument types. (Restore 2005-09-30 change).
17913
17914 2007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
17915
17916 * lisp.h (struct Lisp_Buffer_Objfwd): Add a `slottype' field.
17917 * data.c (store_symval_forwarding): Get type from buffer_objfwd.
17918 Update call to buffer_slot_type_mismatch.
17919 * buffer.h (buffer_local_types, PER_BUFFER_TYPE): Remove.
17920 (buffer_slot_type_mismatch): Update.
17921 * buffer.c (buffer_local_types): Remove.
17922 (buffer_slot_type_mismatch): Get the symbol and type as arguments.
17923 (defvar_per_buffer): Set the type in the buffer_objfwd.
17924
17925 2007-11-21 Jason Rumney <jasonr@gnu.org>
17926
17927 * w32bdf.c (w32_init_bdf_font, w32_BDF_to_x_font):
17928 CreateFileMapping returns NULL on failure.
17929
17930 2007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
17931
17932 * search.c (Fset_match_data): Remove the `evaporate' feature.
17933 (unwind_set_match_data): Don't use the `evaporate' feature.
17934
17935 2007-11-21 Jason Rumney <jasonr@gnu.org>
17936
17937 * dispnew.c (init_display) [WINDOWSNT]: Hardcode terminal_type.
17938
17939 * w32console.c (w32con_write_glyphs): Remove unused variables.
17940
17941 2007-11-20 Dan Nicolaescu <dann@ics.uci.edu>
17942
17943 * macterm.c (mac_term_init): Call add_keyboard_wait_descriptor.
17944
17945 * s/darwin.h (MULTI_KBOARD): Remove.
17946
17947 * macfns.c (x_create_tip_frame, Fx_create_frame)
17948 (x_create_tip_frame): Don't deal with MULTI_KBOARD.
17949
17950 2007-11-19 Stefan Monnier <monnier@iro.umontreal.ca>
17951
17952 * buffer.c (Fbuffer_local_value): Remove redundant test.
17953 (swap_out_buffer_local_variables): Swap out binding in `buffer' rather
17954 than in `current-buffer' to match the comment.
17955 Do the swap using swap_in_global_binding.
17956
17957 * data.c (store_symval_forwarding, set_internal):
17958 * eval.c (specbind): Remove dead code.
17959
17960 * coding.c (detect_coding, Fupdate_coding_systems_internal):
17961 * fns.c (Fmd5): Use find_symbol_value rather than SYMBOL_VALUE
17962 Since we do not want to see internal Lisp_*fwd objects here.
17963
17964 2007-11-18 Jan Djärv <jan.h.d@swipnet.se>
17965
17966 * sysdep.c (init_system_name): Use getaddrinfo if available.
17967
17968 * xterm.c (x_scroll_bar_set_handle, x_scroll_bar_handle_click)
17969 (x_scroll_bar_note_movement): start, end, with, height in struct
17970 scroll_bar are integers and not Lisp_Object, so remove XINT for them.
17971
17972 2007-11-17 Dan Nicolaescu <dann@ics.uci.edu>
17973
17974 * puresize.h (BASE_PURESIZE): Increase to 1190000.
17975
17976 2007-11-16 Stefan Monnier <monnier@iro.umontreal.ca>
17977
17978 * buffer.h (struct buffer): Move `undo_list' back to before `name'.
17979 This undoes Richard's change of 14-Oct-2002.
17980
17981 * alloc.c (allocate_other_vector):
17982 * lisp.h (allocate_other_vector): Remove.
17983
17984 * window.c (struct save_window_data): Move non-lisp data to the end
17985 and make it `int' rather than Lisp_Object.
17986 (Fcurrent_window_configuration): Use ALLOCATE_PSEUDOVECTOR.
17987 Done wrap/unwrap integer values.
17988 (Fset_window_configuration, compare_window_configurations):
17989 Update use of fields to their new types.
17990
17991 * xterm.h (struct scroll_bar): Only use Lisp_Object for lisp data.
17992 Turn integer fields into `int'. Merge x_window_low and x_window_high.
17993 (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK, SCROLL_BAR_X_WINDOW)
17994 (SET_SCROLL_BAR_X_WINDOW): Remove.
17995 (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET):
17996 Access the new x_window field directly.
17997 * xterm.c (x_scroll_bar_create): Use a pseudovector.
17998 Don't wrap/unwrap integers into Lisp_Objects.
17999 (XTset_vertical_scroll_bar, x_scroll_bar_handle_click)
18000 (x_scroll_bar_report_motion):
18001 Don't wrap/unwrap integers into Lisp_Objects.
18002 (x_term_init): Use SDATA.
18003 (x_window_to_scroll_bar, x_create_toolkit_scroll_bar)
18004 (x_scroll_bar_set_handle, x_scroll_bar_remove)
18005 (XTset_vertical_scroll_bar, x_scroll_bar_expose)
18006 (x_scroll_bar_report_motion, x_scroll_bar_clear):
18007 * xfns.c (x_set_background_color):
18008 * gtkutil.c (xg_create_scroll_bar, xg_set_toolkit_scroll_bar_thumb):
18009 Access the new x_window field directly.
18010
18011 * alloc.c (ALLOCATE_PSEUDOVECTOR): Move to lisp.h.
18012 (allocate_pseudovector): Make non-static.
18013
18014 * lisp.h (enum pvec_type): New tag PVEC_OTHER.
18015 (allocate_pseudovector): Declare.
18016 (ALLOCATE_PSEUDOVECTOR): Move from alloc.c.
18017
18018 2007-11-15 Andreas Schwab <schwab@suse.de>
18019
18020 * editfns.c (Fformat): Correctly format EMACS_INT values.
18021 Also take precision into account when formatting an integer.
18022
18023 * keyboard.c (Fevent_symbol_parse_modifiers): Fix declaration.
18024
18025 2007-11-15 Stefan Monnier <monnier@iro.umontreal.ca>
18026
18027 * keyboard.c (Fevent_symbol_parse_modifiers): New function.
18028 (syms_of_keyboard): Defsubr it.
18029
18030 * data.c (swap_in_global_binding): Fix longstanding bug where
18031 store_symval_forwarding was not called with the right second argument,
18032 thus causing objfwd-ing from being dropped.
18033
18034 2007-11-14 Juanma Barranquero <lekktu@gmail.com>
18035
18036 * macfns.c (Fx_create_frame, Fx_display_pixel_width)
18037 (Fx_display_pixel_height, Fx_display_planes)
18038 (Fx_display_color_cells, Fx_server_max_request_size)
18039 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
18040 (Fx_display_visual_class, Fx_display_save_under):
18041 * w32fns.c (Fx_create_frame, Fx_display_pixel_width)
18042 (Fx_display_pixel_height, Fx_display_planes)
18043 (Fx_display_color_cells, Fx_server_max_request_size)
18044 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
18045 (Fx_display_mm_height, Fx_display_mm_width)
18046 (Fx_display_backing_store, Fx_display_visual_class)
18047 (Fw32_select_font, Fx_display_save_under):
18048 * xfns.c (Fx_create_frame, Fx_display_pixel_width)
18049 (Fx_display_pixel_height, Fx_display_planes)
18050 (Fx_display_color_cells, Fx_server_max_request_size)
18051 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
18052 (Fx_display_save_under): Fix typos in docstrings.
18053
18054 2007-11-14 Juanma Barranquero <lekktu@gmail.com>
18055
18056 * w32fns.c (Fw32_registered_hot_keys): Don't return the nil values
18057 corresponding to deleted entries; they are an implementation detail.
18058 (gray_bitmap_width, gray_bitmap_height, gray_bitmap_bits):
18059 Remove variables.
18060 (w32_pass_extra_mouse_buttons_to_system, w32_strict_fontnames)
18061 (w32_pass_multimedia_buttons_to_system, w32_strict_painting)
18062 (Vw32_charset_info_alist, w32_to_x_color, w32_init_class)
18063 (w32_createscrollbar, w32_createwindow, my_post_msg, w32_get_modifiers)
18064 (w32_grabbed_keys, cancel_all_deferred_msgs): Make static.
18065 (Fw32_define_rgb_color, Fw32_load_color_file)
18066 (syms_of_w32fns) <w32-pass-multimedia-buttons-to-system>:
18067 Fix typos in docstrings.
18068 (Fx_server_version): Reflow docstring.
18069 (Fw32_shell_execute): Doc fixes.
18070
18071 2007-11-13 Juanma Barranquero <lekktu@gmail.com>
18072
18073 * w32fns.c (Fw32_register_hot_key): Don't try to register hot key
18074 if w32_parse_hot_key returned nil.
18075
18076 2007-11-10 Stefan Monnier <monnier@iro.umontreal.ca>
18077
18078 * xdisp.c (load_overlay_strings): Fix copy&paste typo.
18079
18080 2007-11-09 Jason Rumney <jasonr@gnu.org>
18081
18082 * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define.
18083
18084 * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT.
18085
18086 * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]:
18087 Remove W32_SCROLL_BAR_CLICK_EVENT.
18088
18089 * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise.
18090 Add MULTIMEDIA_KEY_EVENT.
18091
18092 * keyboard.c (lispy_function_keys) [WINDOWSNT]: Add more keys.
18093 (lispy_multimedia_keys) [WINDOWSNT]: New array.
18094 (make_lispy_event) [WINDOWSNT]: Use it to translate
18095 MULTIMEDIA_KEY_EVENT.
18096
18097 * w32term.h (WM_APPCOMMAND): Define if not already.
18098 (GET_APPCOMMAND_LPARAM): Likewise.
18099
18100 * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from
18101 WM_APPCOMMAND.
18102
18103 * w32fns.c (w32_pass_multimedia_buttons_to_system): New user option.
18104 (syms_of_w32fns): Export and initialize it.
18105 (w32_wnd_proc): Pass WM_APPCOMMAND on to w32_read_socket.
18106
18107 2007-11-09 Chong Yidong <cyd@stupidchicken.com>
18108
18109 * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE
18110 twice.
18111
18112 * xdisp.c (handle_face_prop): Fix last change.
18113
18114 2007-11-09 Richard Stallman <rms@gnu.org>
18115
18116 * xdisp.c (handle_face_prop): Test for strings that came from overlays,
18117 not just for after-strings and before-strings.
18118 Call face_for_overlay_string and pass the overlay to it.
18119 (handle_display_prop): Determine whether property came from an overlay.
18120 Pass OVERLAY arg to handle_single_display_spec.
18121 (handle_single_display_spec): New arg OVERLAY sets it->from_overlay.
18122 (load_overlay_strings): Fill in it->string_overlays.
18123 (get_overlay_strings_1, push_it, pop_it): Handle it->from_overlays.
18124
18125 * xfaces.c (face_for_overlay_string): Function renamed from
18126 face_at_buffer_position_no_overlays, and add arg OVERLAY.
18127
18128 * dispextern.h (struct it): New elt string_overlays.
18129 New elt from_overlay, also in stack.
18130 Rearrange a few elements.
18131 (face_for_overlay_string): Decl renamed from
18132 face_at_buffer_position_no_overlays, and add argument.
18133
18134 2007-11-09 Richard Stallman <rms@gnu.org>
18135
18136 * xdisp.c (handle_face_prop): Use face_at_buffer_position_no_overlays
18137 to get the base face for an overlay string.
18138
18139 * dispextern.h (face_at_buffer_position_no_overlays): Add decl.
18140
18141 * xfaces.c (face_at_buffer_position_no_overlays): New function.
18142
18143 * xdisp.c (handle_stop): Move some code out of loop.
18144
18145 2007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18146
18147 * macfns.c [USE_ATSUI] (Fmac_atsu_font_face_attributes):
18148 Fix conversion from Lisp object to ATSUFontID.
18149
18150 2007-11-09 Jason Rumney <jasonr@gnu.org>
18151
18152 * xdisp.c (Fformat_mode_line): Do nothing when noninteractive.
18153
18154 2007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18155
18156 * unexmacosx.c (unexec_regions_recorder, unexec_regions_merge):
18157 Don't assume regions are aligned to page boundary.
18158 (print_load_command_name): Add LC_UUID if defined.
18159
18160 2007-11-09 Richard Stallman <rms@gnu.org>
18161
18162 * emacs.c (syms_of_emacs) <installation-directory>: Reflow docstring.
18163
18164 2007-11-07 Jason Rumney <jasonr@gnu.org>
18165
18166 * s/windows95.h: Remove.
18167
18168 2007-11-06 Jan Djärv <jan.h.d@swipnet.se>
18169
18170 * gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and
18171 abort with a message on unhandled store_type values.
18172
18173 2007-11-01 Jan Djärv <jan.h.d@swipnet.se>
18174
18175 * xterm.c, xfns.c, xselect.c, xterm.h, s/msdos.h, s/sco4.h, s/sco5.h:
18176 Remove HAVE_X11R5 and HAVE_X11R4.
18177
18178 2007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
18179
18180 * Makefile.in: Remove references to sunfns.c and sunfns.o.
18181
18182 2007-11-01 Johan Bockgård <bojohan@gnu.org>
18183
18184 * macterm.c, w32term.c, xterm.c (x_draw_stretch_glyph_string):
18185 Don't set s->stippled_p here, since it has already been set by
18186 x_set_glyph_string_gc from x_draw_glyph_string.
18187
18188 2007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
18189
18190 * sunfns.c: Remove file.
18191
18192 * m/sun386.h:
18193 * m/sun2.h:
18194 * m/sparc.h: Remove Sun windows code.
18195
18196 2007-10-31 Stefan Monnier <monnier@iro.umontreal.ca>
18197
18198 * keyboard.c (syms_of_keyboard): Initialize the initial_kboard.
18199 (init_keyboard): Set current_kboard's window-system to nil.
18200 (tty_read_avail_input): Typo.
18201 * frame.c (make_initial_frame): Don't initialize the initial_kboard.
18202
18203 2007-10-31 Dan Nicolaescu <dann@ics.uci.edu>
18204
18205 * s/usg5-4.h:
18206 * s/usg5-3.h:
18207 * s/ptx.h:
18208 * m/is386.h:
18209 * m/ibmps2-aix.h:
18210 * Makefile.in: Remove all mentions of X10.
18211
18212 * dispnew.c (syms_of_display): Don't mention version 10.
18213
18214 2007-10-28 Juanma Barranquero <lekktu@gmail.com>
18215
18216 * makefile.w32-in (OBJ1): Remove abbrev.$(O).
18217 ($(BLD)/abbrev.$(O)): Remove.
18218
18219 2007-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
18220
18221 Rewrite abbrev.c in Elisp.
18222 * image.c (Qcount): Don't declare as extern.
18223 (syms_of_image): Initialize and staticpro `Qcount'.
18224 * puresize.h (BASE_PURESIZE): Increase for the new abbrev.el functions.
18225 * emacs.c (main): Don't call syms_of_abbrev.
18226 * Makefile.in (obj): Remove abbrev.o.
18227 (abbrev.o): Remove.
18228 * abbrev.c: Remove.
18229
18230 2007-10-26 Martin Rudalics <rudalics@gmx.at>
18231
18232 * window.c (window_min_size_2): Don't count header-line.
18233
18234 2007-10-26 Dan Nicolaescu <dann@ics.uci.edu>
18235
18236 * frame.h (struct frame): Move all bit fields after the first bit
18237 field to take advantage of the available space. Group all the
18238 chars together to reduce wasted space due to padding.
18239
18240 2007-10-26 Juanma Barranquero <lekktu@gmail.com>
18241
18242 * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings.
18243
18244 * alloc.c (spare_memory, stack_copy, stack_copy_size, ignore_warnings)
18245 (Vdead, dont_register_blocks, staticvec, staticidx, interval_block)
18246 (n_interval_blocks, init_strings, check_string_bytes, check_sblock)
18247 (init_float, free_float, n_cons_blocks, init_cons, all_vectors)
18248 (n_vectors, symbol_block, symbol_block_index, symbol_free_list)
18249 (n_symbol_blocks, init_symbol, marker_block, marker_free_list)
18250 (n_marker_blocks, init_marker, valid_pointer_p, make_pure_float)
18251 (last_marked, mark_object_loop_halt): Make static.
18252
18253 * frame.c (syms_of_frame) <delete-frame-functions>:
18254 Fix typo in docstring.
18255
18256 2007-10-25 Juanma Barranquero <lekktu@gmail.com>
18257
18258 * w32.c (init_environment): Fix tiny memory leak.
18259 (w32_get_resource): Remove unused variable `ok'.
18260
18261 2007-10-25 Stefan Monnier <monnier@iro.umontreal.ca>
18262
18263 Make `window-system' into a keyboard-local variable (rather than
18264 frame-local as done originally by multi-tty).
18265
18266 * keyboard.h (struct kboard): Add Vwindow_system.
18267 * keyboard.c (init_kboard): Set a default for Vwindow_system.
18268 (mark_kboards): Mark Vwindow_system.
18269
18270 * dispnew.c (syms_of_display) <window-system>: Declare terminal-local.
18271 (init_display): Don't set the obsolete `window-system' frame-param.
18272
18273 * xterm.c (x_term_init):
18274 * w32term.c (w32_create_terminal):
18275 * term.c (init_tty): Set Vwindow_system.
18276 * macterm.c (mac_create_terminal): Set a keyboard (missing piece of the
18277 multi-tty merge maybe?), copied from w32term.c. Set Vwindow_system.
18278
18279 * xfns.c (Fx_create_frame, x_create_tip_frame):
18280 * w32fns.c (Fx_create_frame, x_create_tip_frame):
18281 * macfns.c (Fx_create_frame):
18282 Don't set the obsolete `window-system' frame-param.
18283
18284 * frame.h (Qwindow_system): Remove.
18285 * frame.c (Qwindow_system): Remove. In `syms_of_frame' as well.
18286 (Fmake_terminal_frame): Don't set obsolete `window-system' frame-param.
18287
18288 2007-10-24 Richard Stallman <rms@gnu.org>
18289
18290 * frame.c (x_figure_window_size): For fullscreen case,
18291 set USPosition | PPosition without clobbering rest of window_prompting.
18292
18293 * keyboard.c (Fcurrent_idle_time): Doc fix.
18294
18295 * print.c (Fwith_output_to_temp_buffer): Doc fix.
18296
18297 2007-10-23 Stefan Monnier <monnier@iro.umontreal.ca>
18298
18299 * process.c (unwind_request_sigio): Only define if __ultrix__.
18300
18301 * callproc.c (child_setup): Remove spurious *.
18302
18303 * lisp.h (Fget_text_property): Declare.
18304 (have_menus_p): Declare it here rather than in sys-dep header files.
18305 * macterm.h (have_menus_p):
18306 * msdos.h (have_menus_p):
18307 * xterm.h (have_menus_p): Remove.
18308
18309 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
18310 (Fmake_variable_frame_local): Just check the variable's const-ness
18311 rather than checking nil or t.
18312
18313 2007-10-22 Jason Rumney <jasonr@gnu.org>
18314
18315 * w32fns.c: Include math.h.
18316 (w32_abort): Declaration moved to nt/config.nt.
18317
18318 * s/ms-w32.h (HAVE_STDLIB_H): Define.
18319 (abort): Redefinition moved to nt/config.nt.
18320
18321 * m/windowsnt.h: Remove.
18322
18323 2007-10-22 Juanma Barranquero <lekktu@gmail.com>
18324
18325 * emacs.c (Fdump_emacs): Fix typo in message.
18326 (syms_of_emacs) <kill-emacs-hook>: Fix typo in docstring.
18327 <installation-directory>: Reflow docstring.
18328
18329 2007-10-22 Juri Linkov <juri@jurta.org>
18330
18331 * minibuf.c: Allow minibuffer default to be a list of default values.
18332 With empty input use the first element of this list as returned default.
18333 (string_to_object)
18334 (read_minibuf_noninteractive): If defalt is cons, set val to its car.
18335 (read_minibuf): If defalt is cons, set histstring to its car.
18336 (Fread_string): If default_value is cons, set val to its car.
18337 (Fread_buffer): If def is cons, use its car.
18338 (Fcompleting_read): If defalt is cons, set val to its car.
18339
18340 2007-10-21 Michael Albinus <michael.albinus@gmx.de>
18341
18342 * fileio.c (Fcopy_file): Call file name handler with preserve_uid_gid.
18343
18344 2007-10-20 Juanma Barranquero <lekktu@gmail.com>
18345
18346 * doc.c (Fdocumentation): Check for advice in all cases.
18347
18348 2007-10-19 Chong Yidong <cyd@stupidchicken.com>
18349
18350 * Makefile.in [HAVE_LIBRESOLV]: Add -lresolv to linker flags.
18351
18352 2007-10-19 Richard Stallman <rms@gnu.org>
18353
18354 * doc.c (Fdocumentation): Check for and handle an advised function.
18355
18356 2007-10-19 Juanma Barranquero <lekktu@gmail.com>
18357
18358 * process.c (Fset_process_filter): Doc fix.
18359
18360 2007-10-18 Stefan Monnier <monnier@iro.umontreal.ca>
18361
18362 * keyboard.c (read_key_sequence): Undo a change introduced by multi-tty
18363 which caused key-translation-map to applied repeatedly (thus breaking
18364 double-mode).
18365
18366 2007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
18367
18368 * xselect.c (x_own_selection, x_handle_selection_clear)
18369 (x_clear_frame_selections):
18370 * w32menu.c (list_of_panes, list_of_items):
18371 * w32fns.c (w32_color_map_lookup, Fx_create_frame, Fx_display_list):
18372 * textprop.c (validate_plist, interval_has_all_properties)
18373 (interval_has_some_properties, interval_has_some_properties_list)
18374 (add_properties, text_property_list):
18375 * process.c (Fget_buffer_process, list_processes_1, status_notify):
18376 * minibuf.c (Fassoc_string):
18377 * macselect.c (x_own_selection, x_clear_frame_selections)
18378 (Fx_disown_selection_internal):
18379 * keymap.c (Fcommand_remapping, where_is_internal, describe_map_tree):
18380 Use CONSP rather than !NILP and XC[AD]R rather than Fc[ad]r.
18381
18382 2007-10-17 Chong Yidong <cyd@stupidchicken.com>
18383
18384 * process.c: Link to libs for calling res_init() if available.
18385 (Fmake_network_process): Call res_init() before getaddrinfo or
18386 gethostbyname, if possible.
18387
18388 2007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
18389
18390 * lread.c (read1): Set pvectype for char_tables.
18391
18392 * lisp.h (XMISCANY, XMARKER, XINTFWD, XBOOLFWD, XOBJFWD, XOVERLAY)
18393 (XBUFFER_OBJFWD, XBUFFER_LOCAL_VALUE, XKBOARD_OBJFWD, XSAVE_VALUE):
18394 Add type checks.
18395 (SOME_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP): Remove.
18396
18397 * alloc.c (free_misc): Use XMISCTYPE.
18398 (live_misc_p, gc_sweep): Use Lisp_Misc_Any.
18399
18400 2007-10-17 Glenn Morris <rgm@gnu.org>
18401
18402 * minibuf.c (Qcompletion_ignore_case): New Lisp_Object.
18403 (syms_of_minibuf): Add Qcompletion_ignore_case.
18404 * dired.c (Qcompletion_ignore_case): Change to external.
18405 (syms_of_dired) [VMS]: Remove Qcompletion_ignore_case.
18406 * fileio.c (Qcompletion_ignore_case): New external Lisp_Object.
18407 (Fread_file_name): Use it rather than intern'ing.
18408
18409 * coding.c (Qcompletion_ignore_case): New external Lisp_Object.
18410 (Fread_coding_system): Ignore case of user input.
18411
18412 2007-10-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18413
18414 * xdisp.c (handle_display_prop): Ignore display specs after
18415 replacing one when string text is being replaced.
18416 (handle_single_display_spec): Pretend as if characters with display
18417 property haven't been consumed only when buffer text is being replaced.
18418
18419 2007-10-16 Stefan Monnier <monnier@iro.umontreal.ca>
18420
18421 * xfns.c (Fx_create_frame, Fx_display_list):
18422 * window.c (window_fixed_size_p, enlarge_window)
18423 (shrink_window_lowest_first):
18424 * macterm.c (init_font_name_table):
18425 * macfns.c (Fx_create_frame, Fx_display_list):
18426 * lread.c (close_load_descs):
18427 * keyboard.c (read_char_x_menu_prompt):
18428 * fns.c (Fmember, Fmemql, Fdelete, Fset_char_table_parent):
18429 * coding.c (code_convert_region_unwind): Test the type of an object
18430 rather than just !NILP before extracting data from it.
18431
18432 * alloc.c (Fpurecopy): Set the pvec tag on pseudo vectors.
18433
18434 * lisp.h (enum Lisp_Misc_Type): Del Lisp_Misc_Some_Buffer_Local_Value.
18435 (XMISCANY): New macro.
18436 (XMISCTYPE): Use it.
18437 (struct Lisp_Misc_Any): New type.
18438 (union Lisp_Misc): Use it.
18439 (struct Lisp_Buffer_Local_Value): Add `local_if_set' bit.
18440 * data.c (Fboundp, store_symval_forwarding, swap_in_global_binding)
18441 (find_symbol_value, set_internal, default_value, Fset_default)
18442 (Fmake_variable_buffer_local, Fmake_local_variable)
18443 (Fkill_local_variable, Fmake_variable_frame_local, Flocal_variable_p)
18444 (Flocal_variable_if_set_p, Fvariable_binding_locus):
18445 The SOME_BUFFER_LOCAL_VALUEP distinction is replaced by local_if_set.
18446 * alloc.c (allocate_buffer): Set the size and tag.
18447 (allocate_misc, mark_maybe_object, mark_object, survives_gc_p):
18448 Use XMISCANY.
18449 (die): Follow the GNU convention for error messages.
18450 * print.c (print_object): SOME_BUFFER_LOCAL_VALUEP -> local_if_set.
18451 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Don't set the
18452 tag any more.
18453 (set_buffer_internal_1):
18454 * frame.c (store_frame_param):
18455 * eval.c (specbind):
18456 * xdisp.c (select_frame_for_redisplay): Drop SOME_BUFFER_LOCAL_VALUEP.
18457
18458 * doc.c (Fsnarf_documentation): Simplify.
18459
18460 2007-10-14 Juanma Barranquero <lekktu@gmail.com>
18461
18462 * w32term.c (w32_font_is_double_byte, my_create_scrollbar): Make static.
18463 (syms_of_w32term) <w32-enable-unicode-output>: Fix typo in docstring.
18464
18465 2007-10-14 Stefan Monnier <monnier@iro.umontreal.ca>
18466
18467 * buffer.c (Fmake_indirect_buffer): Set the buffer's tag.
18468
18469 2007-10-14 Juanma Barranquero <lekktu@gmail.com>
18470
18471 * eval.c (do_autoload): Don't save autoloads.
18472
18473 * data.c (Ffset): Save autoload of the function being set.
18474
18475 2007-10-07 John Paul Wallington <jpw@pobox.com>
18476
18477 * xfns.c (x_create_tip_frame): Set the `display-type' frame
18478 parameter before setting up faces.
18479
18480 2007-10-13 Eli Zaretskii <eliz@gnu.org>
18481
18482 * ccl.c (Fregister_code_conversion_map):
18483 * keyboard.c (append_tool_bar_item): Reformat last change.
18484
18485 * lisp.h (eabs): Rename from `abs'. All callers changed.
18486
18487 2007-10-05 Dmitry Antipov <dmantipov@yandex.ru>
18488
18489 * buffer.c (add_overlay_mod_hooklist):
18490 * ccl.c (Fregister_ccl_program, Fregister_code_conversion_map):
18491 * fontset.c (make_fontset):
18492 * keyboard.c (GROW_RAW_KEYBUF, menu_bar_items, menu_bar_item)
18493 (append_tool_bar_item):
18494 * macmenu.c (grow_menu_items):
18495 * w32menu.c (grow_menu_items):
18496 * xmenu.c (grow_menu_items): Use larger_vector.
18497
18498 2007-10-13 Eli Zaretskii <eliz@gnu.org>
18499
18500 * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving
18501 selected frame'' on MSDOS).
18502
18503 2007-10-12 Martin Rudalics <rudalics@gmx.at>
18504
18505 * frame.c (Qexplicit_name): New variable.
18506 (x_report_frame_params): Report it in parameter alist.
18507 (syms_of_frame): Intern and staticpro it.
18508
18509 2007-10-10 Patrick Mahan <mahan@mahan.org> (tiny change)
18510
18511 * macfns.c (x_create_tip_frame): Set terminal for frame.
18512
18513 2007-10-10 Stefan Monnier <monnier@iro.umontreal.ca>
18514
18515 * frame.c (Qenvironment): Remove.
18516 (syms_of_frame) <Qenvironment>: Don't initialize.
18517 (Fdelete_frame): Don't treat the `environment' param specially.
18518 * frame.h (Qenvironment): Don't declare.
18519 * callproc.c (set_initial_environment): Don't set unused frame param.
18520
18521 * frame.c (Fframe_with_environment): Remove.
18522 (syms_of_frame) <Sframe_with_environment>: Don't declare.
18523
18524 * lisp.h (Fframe_with_environment): Don't declare.
18525
18526 2007-10-10 Juanma Barranquero <lekktu@gmail.com>
18527
18528 * indent.c (indent_tabs_mode, last_known_column)
18529 (last_known_column_modified): Make static.
18530 (syms_of_indent) <indent-tabs-mode>: Remove redundant info in docstring.
18531
18532 2007-10-10 Katsumi Yamaoka <yamaoka@jpl.org>
18533
18534 * puresize.h (BASE_PURESIZE): Increase to 1170000.
18535
18536 2007-10-09 Jason Rumney <jasonr@gnu.org>
18537
18538 * w32term.c (x_set_window_size): Disable code that attempts to tell
18539 Lisp code about a size change before it actually happens.
18540
18541 2007-10-09 Richard Stallman <rms@gnu.org>
18542
18543 * xdisp.c (handle_invisible_prop): After setting up an ellipsis,
18544 return HANDLED_RETURN.
18545
18546 2007-10-08 Martin Rudalics <rudalics@gmx.at>
18547
18548 * keyboard.c (kbd_buffer_get_event): Break loop waiting for input
18549 when there's an unread command event.
18550
18551 * frame.c (focus_follows_mouse): Move here from frame.el to allow
18552 window autoselection act appropriately when leaving selected frame.
18553 (syms_of_frame): Initialize focus_follows_mouse.
18554 * frame.h (focus_follows_mouse): Extern it.
18555 * macterm.c (XTread_socket): When focus_follows_mouse is nil
18556 make SELECT_WINDOW_EVENT only if we don't leave the selected frame.
18557 * msdos.c (dos_rawgetc): Likewise.
18558 * w32term.c (w32_read_socket): Likewise.
18559 * xterm.c (handle_one_xevent): Likewise.
18560 * xdisp.c (syms_of_xdisp): In doc-string of
18561 mouse-autoselect-window mention focus-follows-mouse.
18562
18563 2007-10-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18564
18565 * macterm.c (mac_load_query_font): Fix missing return value.
18566 [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap):
18567 Add BLOCK_INPUT.
18568
18569 2007-10-08 Richard Stallman <rms@gnu.org>
18570
18571 * xdisp.c (get_window_cursor_type): Implement documented behavior
18572 for cursor-in-non-selected-windows = t.
18573
18574 2007-10-08 Jason Rumney <jasonr@gnu.org>
18575
18576 * w32.c (w32_get_resource): Always close registry keys.
18577
18578 2007-10-08 Jason Rumney <jasonr@gnu.org>
18579
18580 * makefile.w32-in (LIBS): Add COMCTL32.
18581
18582 * w32fns.c (globals_of_w32fns): Init common controls.
18583
18584 2007-10-08 Richard Stallman <rms@gnu.org>
18585
18586 * image.c (our_memory_buffer): Rename from omfib_buffer.
18587
18588 2007-10-08 Richard Stallman <rms@gnu.org>
18589
18590 * buffer.c (Foverlays_at): Doc fix.
18591
18592 2007-10-08 Stefan Monnier <monnier@iro.umontreal.ca>
18593
18594 * fns.c (Fplist_put): Preserve uneven tail data.
18595
18596 2007-10-08 Peter O'Gorman <bug-gnu-emacs@mlists.thewrittenword.com> (tiny change)
18597
18598 * termhooks.h (enum event_kind): Remove trailing comma.
18599
18600 * frame.h (enum): Remove trailing comma.
18601
18602 2007-10-08 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
18603
18604 * w32proc.c (delete_child): Don't terminate threads of zombies.
18605
18606 2007-10-08 Martin Rudalics <rudalics@gmx.at>
18607
18608 * keyboard.h (struct kboard): New elt Vlast_repeatable_command.
18609
18610 * keyboard.c (syms_of_keyboard): Set up new Lisp variable
18611 last-repeatable-command.
18612 (init_kboard): Initialize Vlast_repeatable_command.
18613 (command_loop_1): Set it to real_this_command unless that was
18614 bound to an input event.
18615 (mark_kboards): Mark it.
18616
18617 2007-10-08 Richard Stallman <rms@gnu.org>
18618
18619 * eval.c (condition-case): Doc fix.
18620
18621 2007-10-08 Masatake YAMATO <jet@gyve.org>
18622
18623 * xfaces.c (tty_supports_face_attributes_p): Fix code
18624 for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code
18625 was copied and not edited.
18626
18627 2007-10-09 Stefan Monnier <monnier@iro.umontreal.ca>
18628
18629 Add new `input-decode-map' keymap and use it for terminal
18630 escape sequences.
18631 * keyboard.h (struct kboard): Add Vinput_decode_map.
18632 Remove Vlocal_key_translation_map.
18633 * keyboard.c (read_key_sequence): Add support for input-decode-map.
18634 (init_kboard): Init input-decode-map.
18635 Replace local-key-translation-map back with key-translation-map.
18636 (syms_of_keyboard): Declare input-decode-map.
18637 Remove local-key-translation-map. Update docstrings.
18638 (mark_kboards): Mark Vinput_decode_map.
18639 Don't mark Vlocal_key_translation_map.
18640 * keymap.c (Fdescribe_buffer_bindings): Describe input-decode-map.
18641 Replace local-key-translation-map back with key-translation-map.
18642 * term.c (term_get_fkeys_1, CONDITIONAL_REASSIGN):
18643 Bind in input-decode-map rather than function-key-map.
18644
18645 * lisp.h (XSETPSEUDOVECTOR): Don't set the tag anymore.
18646 This was made redundant by the previous introduction of XSETPVECTYPE.
18647
18648 2007-10-09 Richard Stallman <rms@gnu.org>
18649
18650 * image.c (free_bitmap_record): Rename from Free_Bitmap_Record.
18651
18652 2007-09-29 Richard Stallman <rms@gnu.org>
18653
18654 * eval.c (internal_condition_case_2, internal_condition_case_1)
18655 (internal_condition_case): Reenable abort if x_catching_errors ()
18656 to see if that really happens and why.
18657
18658 2007-10-06 Andreas Schwab <schwab@suse.de>
18659
18660 * fileio.c (Fwrite_region): Ignore EINVAL error from fsync.
18661
18662 2007-10-04 Juanma Barranquero <lekktu@gmail.com>
18663
18664 * image.c (syms_of_image) <image-types>: Fix typo in docstring.
18665
18666 2007-10-03 Stefan Monnier <monnier@iro.umontreal.ca>
18667
18668 * frame.h (struct frame): Don't try to GC-mark menu_bar_items_used.
18669
18670 2007-10-02 Stefan Monnier <monnier@iro.umontreal.ca>
18671
18672 * window.h (struct window):
18673 * window.c (struct save_window_data, struct saved_window):
18674 * termhooks.h (struct terminal):
18675 * process.h (struct Lisp_Process):
18676 * frame.h (struct frame):
18677 * buffer.h (struct buffer):
18678 * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table)
18679 (struct Lisp_Bool_Vector, struct Lisp_Subr, struct Lisp_Hash_Table):
18680 The size field of (pseudo)vectors is now unsigned.
18681 (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Simplify accordingly.
18682
18683 * lisp.h (struct Lisp_Hash_Table): Move non-traced elements at the end.
18684 Turn `count' into an integer.
18685
18686 * fns.c (make_hash_table, hash_put, hash_remove, hash_clear)
18687 (sweep_weak_table, sweep_weak_hash_tables, Fhash_table_count):
18688 * print.c (print_object) <HASH_TABLE_P>: `count' is an int.
18689 * alloc.c (allocate_hash_table): Use ALLOCATE_PSEUDOVECTOR.
18690 (mark_object) <HASH_TABLE_P>: Use mark_vectorlike.
18691
18692 * alloc.c (allocate_pseudovector): New fun.
18693 (ALLOCATE_PSEUDOVECTOR): New macro.
18694 (allocate_window, allocate_terminal, allocate_frame)
18695 (allocate_process): Use it.
18696 (mark_vectorlike): New function.
18697 (mark_object) <FRAMEP, WINDOWP, BOOL_VECTOR_P, VECTORP>: Use it.
18698 (mark_terminals): Use it.
18699 (Fmake_bool_vector, Fmake_char_table, make_sub_char_table)
18700 (Fmake_byte_code): Use XSETPVECTYPE.
18701
18702 * frame.c (Fframe_parameters): Minor simplification.
18703
18704 * insdel.c (adjust_markers_for_insert): Generalize assertion checks.
18705
18706 * marker.c (Fmarker_buffer): Make test for odd case into a failure.
18707
18708 * buffer.c (Fget_buffer_create, init_buffer_once):
18709 * lread.c (defsubr):
18710 * window.c (Fcurrent_window_configuration): Use XSETPVECTYPE.
18711
18712 * lisp.h (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Don't let them be
18713 defined differently in the m/*.h files.
18714 (XCHAR_TABLE, XBOOL_VECTOR): Add assertion checking.
18715 (XSETPVECTYPE): New macro.
18716 (XSETPSEUDOVECTOR): Use it.
18717
18718 * buffer.c (syms_of_buffer) <local-abbrev-table>: Move from abbrev.c.
18719 (DEFVAR_PER_BUFFER, defvar_per_buffer): Move from lisp.h and lread.c.
18720
18721 * lisp.h (defvar_per_buffer, DEFVAR_PER_BUFFER):
18722 * lread.c (defvar_per_buffer):
18723 * abbrev.c (syms_of_abbrev) <local-abbrev-tabl>: Move to buffer.c.
18724
18725 * window.c (candidate_window_p): Only consider as visible frames that
18726 are on the same terminal.
18727
18728 * m/ibms390x.h (MARKBIT): Remove unused macro.
18729
18730 2007-10-01 Juanma Barranquero <lekktu@gmail.com>
18731
18732 * lread.c (Fload): Fix typo in docstring.
18733
18734 2007-10-01 Michaël Cadilhac <michael@cadilhac.name>
18735
18736 * floatfns.c (Fexpt): Manually check for overflows, so that a power
18737 of a non-zero value can't yield zero.
18738
18739 2007-09-29 Stefan Monnier <monnier@iro.umontreal.ca>
18740
18741 * term.c (term_clear_mouse_face, term_mouse_highlight)
18742 (tty_write_glyphs_with_face): Only define is HAVE_GPM.
18743
18744 * print.c (safe_debug_print): Use XHASH.
18745
18746 * lisp.h (DECL_ALIGN, USE_LSB_TAG): Move logic to before definition of
18747 Lisp elements such as tags.
18748 (XHASH): New macro.
18749 (EQ): Use it.
18750 (SREF, SSET, STRING_COPYIN): Use SDATA.
18751 (VOID_TO_LISP, CVOID_TO_LISP, LISP_TO_VOID, LISP_TO_CVOID): Remove.
18752
18753 * alloc.c (mark_terminal): Remove left-over declaration.
18754 (enum mem_type): Replace all vector subtypes -> MEM_TYPE_VECTORLIKE.
18755 (allocate_vectorlike): Remove type argument. Adjust callers.
18756 (live_vector_p, mark_maybe_pointer, valid_lisp_object_p):
18757 Only handle the one remaining MEM_TYPE_VECTORLIKE.
18758
18759 * alloc.c (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): New macros
18760 to avoid unnecessary BLOCK_INPUTs when SYNC_INPUT is used.
18761 (xmalloc, xrealloc, xfree, lisp_malloc, lisp_free, lisp_align_malloc)
18762 (lisp_align_free, make_interval, allocate_string, allocate_string_data)
18763 (make_float, Fcons, allocate_vectorlike, Fmake_symbol, allocate_misc):
18764 Use them.
18765
18766 * xfaces.c (load_face_font, free_realized_face, clear_face_gcs):
18767 Don't let signal handlers run when a GC is freed but not yet NULL'ed.
18768 (x_free_gc): Remove BLOCK_INPUT since it's now redundant.
18769
18770 2007-09-28 Dan Nicolaescu <dann@ics.uci.edu>
18771
18772 * Makefile.in (lisp, shortlisp): Delete server.elc, it is not
18773 loaded by default.
18774
18775 2007-09-28 Stefan Monnier <monnier@iro.umontreal.ca>
18776
18777 * term.c (Fgpm_mouse_start): Don't signal an error if already activated
18778 on this tty.
18779 (Fgpm_mouse_stop): Only deactivate if it was activated on this tty.
18780
18781 * term.c (mouse_face_window): Rename from Qmouse_face_window.
18782 Update all users.
18783 (handle_one_term_event): Use Gpm_DrawPointer.
18784 (Fgpm_mouse_start): Rename from Fterm_open_connection.
18785 Signal errors instead of returning nil. Always return nil.
18786 (Fgpm_mouse_stop): Rename from Fterm_close_connection.
18787 Make it a noop if gpm-mouse was not activated.
18788 (syms_of_term): Update names.
18789
18790 2007-09-27 Stefan Monnier <monnier@iro.umontreal.ca>
18791
18792 * sysdep.c (narrow_foreground_group, widen_foreground_group): Static.
18793 (init_sys_modes): Check that gpm_tty is the current tty.
18794
18795 * alloc.c (allocate_terminal): Set the vector size to only count the
18796 lisp fields. Initialize those to nil.
18797 (mark_object): Don't treat terminals specially.
18798 (mark_terminal): Remove.
18799 (mark_terminals): Use mark_object instead.
18800
18801 * termhooks.h (struct terminal): Move all Lisp_Object fields traced by
18802 the GC to the beginning.
18803
18804 * indent.h:
18805 * indent.c: Use EMACS_INT for ints coming from Elisp data.
18806
18807 * indent.c (Fmove_to_column): Use EMACS_INT for buffer positions.
18808
18809 2007-09-25 Jason Rumney <jasonr@gnu.org>
18810
18811 * frame.c (make_terminal_frame): Remove special case for WINDOWSNT.
18812
18813 * w32console.c (create_w32cons_output): Remove.
18814
18815 * term.c (init_tty): Call init_sys_modes on WINDOWSNT also.
18816
18817 * sysdep.c (init_sys_modes): Use set_terminal_modes_hook.
18818 (reset_sys_modes): Use reset_terminal_modes_hook.
18819
18820 2007-09-24 Stefan Monnier <monnier@iro.umontreal.ca>
18821
18822 * eval.c (do_autoload): Don't output any message.
18823
18824 2007-09-24 Juri Linkov <juri@jurta.org>
18825
18826 * emacs.c (standard_args): Change priority of "--no-splash"
18827 from 40 to 3. Add "--no-desktop" with the same priority.
18828
18829 2007-09-23 Dmitry Antipov <dmantipov@yandex.ru>
18830
18831 * alloc.c (gc_sweep): Check cons cell mark bits word by word
18832 and optimize the case where they are all 1.
18833
18834 2007-09-23 Johannes Weiner <hannes@saeurebad.de>
18835
18836 * lisp.h (abs): Define if not defined.
18837 * keyboard.c, sound.c, w32term.c, xfaces.c, xterm.c:
18838 Don't define `abs', since it's defined in lisp.h.
18839
18840 2007-09-22 Eli Zaretskii <eliz@gnu.org>
18841
18842 * term.c (DEV_TTY): New macro. Provide a definition for MS-Windows.
18843 (FRAME_TERMCAP_P) [WINDOWSNT]: Don't define to zero.
18844 (Fcontrolling_tty_p, Fresume_tty, dissociate_if_controlling_tty)
18845 (init_tty): Use DEV_TTY instead of "/dev/tty".
18846 [WINDOWSNT]: No need to protect from NAME arg being null.
18847
18848 2007-09-21 Dan Nicolaescu <dann@ics.uci.edu>
18849
18850 * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning
18851 up the tty state.
18852
18853 2007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
18854
18855 * termhooks.h (term_gpm): Delete. Use gpm_tty's NULLness instead.
18856 (gpm_tty): Change its type.
18857 * term.c (term_gpm): Delete. Use gpm_tty's NULLness instead.
18858 (gpm_tty): Change its type and initialize it.
18859 (Fterm_open_connection): Check the frame is indeed a tty.
18860 Use the new gpm_tty.
18861 (Fterm_close_connection): Use the new gpm_tty.
18862 * keyboard.c (tty_read_avail_input): Use the new gpm_tty.
18863 * sysdep.c (init_sys_modes): term_gpm -> gpm_tty.
18864
18865 2007-09-21 Juanma Barranquero <lekktu@gmail.com>
18866
18867 * w32term.c (x_draw_glyph_string): Use strike_through_color, not
18868 underline_color, to draw strike-through.
18869
18870 2007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
18871
18872 * lisp.h (allocate_terminal): Declare.
18873
18874 * window.c (candidate_window_p): Consider frames that are being placed
18875 by the user as somewhere between visible and iconified.
18876 (window_loop): Prefer windows on the current frame.
18877 (Fselect_window): Move the use of select-frame to the beginning so we
18878 can just delegate all the work (it'll call us back anyway).
18879
18880 * frame.c (Qdisplay_environment_variable):
18881 * frame.h (Qdisplay_environment_variable): Delete.
18882
18883 * .gdbinit (xbacktrace): Print the arg's address rather than the value
18884 of the first arg, since that value may be a union.
18885
18886 * callproc.c (child_setup, getenv_internal): Use the frame's `display'
18887 parameter rather than Qdisplay_environment_variable. If all else
18888 fails, look for DISPLAY in initial-environment.
18889
18890 2007-09-21 Glenn Morris <rgm@gnu.org>
18891
18892 * Makefile.in (emacstool): Remove target.
18893 (lisp, shortlisp): Remove termdev.elc.
18894
18895 2007-09-21 Markus Triska <markus.triska@gmx.at>
18896
18897 * xterm.c (x_delete_display): Compile session management conditionally.
18898
18899 2007-09-20 Stefan Monnier <monnier@iro.umontreal.ca>
18900
18901 * callproc.c (getenv_internal_1): New function.
18902 (getenv_internal): Use it.
18903 (Fgetenv_internal): Use it. Accept an env-list as optional arg.
18904
18905 * terminal.c (get_terminal): Don't accept ints to represent terminals.
18906 (Fterminal_name, Fterminal_parameters, Fterminal_parameter)
18907 (Fset_terminal_parameter): Work with dead terminals as well.
18908 (Fmodify_terminal_parameters): Remove.
18909
18910 * terminal.c (get_terminal): Handle terminals.
18911 Make sure the terminal returned is live.
18912 (create_terminal): Use allocate_terminal.
18913 (mark_terminals): Move to alloc.c.
18914 (delete_terminal): Use terminal->name as liveness status.
18915 NULL out fields after freeing their contents.
18916 Don't deallocate the object.
18917 (Fframe_terminal): Use FRAME_TERMINAL. Return the terminal object
18918 rather than an int.
18919 (Fterminal_live_p): Accept non-integer arguments.
18920 (Fterminal_list): Return terminal objects rather than an ints.
18921
18922 * alloc.c (enum mem_type): New member for `terminal' objects.
18923 (allocate_terminal): New function.
18924 (mark_maybe_pointer, valid_lisp_object_p, mark_object):
18925 Handle terminals.
18926 (mark_terminal): New fun.
18927 (mark_terminals): Move from terminal.c.
18928
18929 * term.c (get_tty_terminal): Don't treat output_initial specially.
18930 (Fsuspend_tty, Fresume_tty): Use terminal objects rather than ints.
18931 (delete_tty): Use terminal->name as liveness status.
18932
18933 * termhooks.h (struct terminal): Make it into a pseudovector.
18934 Remove `deleted' replaced by checking `name's nullness.
18935
18936 * print.c (print_object): Handle terminals.
18937
18938 * lisp.h (enum pvec_type): New `terminal' pseudovector.
18939 (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros.
18940
18941 * frame.c (make_terminal_frame):
18942 * keyboard.c (tty_read_avail_input):
18943 * w32term.c (x_delete_terminal):
18944 * xfns.c (Fx_create_frame, x_create_tip_frame):
18945 * xterm.c (x_delete_terminal): Use terminal->name as liveness status.
18946
18947 2007-09-20 Glenn Morris <rgm@gnu.org>
18948
18949 * process.c (Fmake_network_process): Doc fix.
18950
18951 2007-09-19 Jason Rumney <jasonr@gnu.org>
18952
18953 * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument.
18954
18955 2007-09-19 Michaël Cadilhac <michael@cadilhac.name>
18956
18957 * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form):
18958 Fix a C warning regarding variable constness.
18959
18960 * xterm.c (handle_one_xevent): Fix a C warning.
18961
18962 2007-09-18 Jason Rumney <jasonr@gnu.org>
18963
18964 * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame.
18965
18966 2007-09-17 Jan Djärv <jan.h.d@swipnet.se>
18967
18968 * gtkutil.c (gdpy_def): New variable.
18969 (xg_initialize): Initialize gdpy_def.
18970 (xg_display_close): If no other display exists, set gdpy_def to a
18971 new connection.
18972
18973 2007-09-16 Jan Djärv <jan.h.d@swipnet.se>
18974
18975 * gtkutil.c (xg_get_image_for_pixmap): Always create a GdkPixbuf
18976 when we have no file name for the icon.
18977 (xg_tool_bar_expose_callback): Remove.
18978 (xg_create_tool_bar): Don't connect expose signal to
18979 xg_tool_bar_expose_callback.
18980 (xg_get_file_with_chooser): Move GCPRO1 after declarations.
18981
18982 2007-09-16 Andreas Schwab <schwab@suse.de>
18983
18984 * alloc.c (reset_malloc_hooks): Set the hooks to the previous
18985 values instead of zapping them.
18986
18987 2007-09-14 Glenn Morris <rgm@gnu.org>
18988
18989 * fringe.c (init_fringe_bitmap) <swap_nibble>: Move to file scope.
18990 * gtkutil.c (xg_separator_p) <separator_names>: Move to file scope.
18991 * image.c (our_memory_fill_input_buffer) <buffer>: Move to file
18992 scope and rename to omfib_buffer for clarity.
18993 (gif_load) <interlace_start, interlace_increment>: Move to file scope.
18994
18995 2007-09-14 Kenichi Handa <handa@m17n.org>
18996
18997 * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero.
18998
18999 2007-09-13 Jason Rumney <jasonr@gnu.org>
19000
19001 * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument.
19002
19003 * w32term.c (w32_term_init): Pass rif to w32_init_fringe.
19004
19005 * macterm.c (mac_initialize): Don't call mac_init_fringe here.
19006 (mac_term_init): Call here instead, passing rif.
19007
19008 2007-09-13 Glenn Morris <rgm@gnu.org>
19009
19010 * s/hpux.h: No longer define `static' as nothing.
19011
19012 2007-09-13 Johan Bockgård <bojohan@gnu.org>
19013
19014 * callint.c (Fcall_interactively): Remove unused var `fun'.
19015
19016 2007-09-12 Romain Francoise <romain@orebokech.com>
19017
19018 * window.c (prefer_window_split_horizontally, display_buffer):
19019 Revert 2007-09-08 change.
19020
19021 2007-09-12 Glenn Morris <rgm@gnu.org>
19022
19023 * alloca.c: Remove file.
19024 * Makefile.in (alloca): Do not undef.
19025 (allocaobj, alloca.o): Remove.
19026 (otherobj): Remove allocaobj.
19027 * keyboard.c (command_loop_1): Remove #ifdef C_ALLOCA block.
19028 * regex.c (C_ALLOCA): Remove all references and code that was only
19029 used when this was defined.
19030 * search.c (boyer_moore): Remove #ifdef C_ALLOCA block.
19031 * xmenu.c (xmenu_show): Remove #ifdef C_ALLOCA block.
19032 * m/ibms390x.h, m/sh3el.h (C_ALLOCA): Remove references to this.
19033
19034 * Makefile.in (SOURCES, unlock, relock): Delete.
19035
19036 * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity.
19037 (menu_grab_callback): All uses changed.
19038
19039 * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity.
19040 (x_reply_selection_request): All uses changed.
19041
19042 2007-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
19043
19044 * lread.c (load_warn_old_style_backquotes): Change message to look
19045 better when it appears in the middle of byte-compiler messages.
19046
19047 2007-09-10 Dan Nicolaescu <dann@ics.uci.edu>
19048
19049 * s/darwin.h (MULTI_KBOARD): Only define for Carbon.
19050
19051 * xterm.c (x_create_terminal): Add comment.
19052
19053 * term.c (clear_tty_hooks, set_tty_hooks): Add comments.
19054
19055 2007-09-10 Richard Stallman <rms@gnu.org>
19056
19057 * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME.
19058
19059 2007-09-10 Michaël Cadilhac <michael@cadilhac.name>
19060
19061 * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'.
19062 (DEFUN): Document `intspec', use it instead of `prompt'.
19063
19064 * eval.c (Fcommandp): Change `->prompt' to `->intspec'.
19065
19066 * data.c (Finteractive_form): If the interactive specification starts
19067 with a `(', use it as a Lisp form.
19068
19069 * fileio.c (Fset_file_modes): Add an interactive spec that reads a file
19070 name and file modes.
19071
19072 * callint.c (Fcall_interactively): Comment fixes.
19073
19074 2007-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
19075
19076 * callint.c (Fcall_interactively): Use Finteractive_form also for subrs
19077 and compiled functions.
19078
19079 2007-09-08 Fredrik Axelsson <f.axelsson@gmail.com>
19080
19081 * window.c (prefer_window_split_horizontally): New variable.
19082 (display_buffer): Consider splitting window horizontally depending
19083 on prefer_window_split_horizontally.
19084
19085 2007-09-08 Eli Zaretskii <eliz@gnu.org>
19086
19087 * sysdep.c [WINDOWSNT]: Don't include sysselect.h.
19088
19089 2007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
19090
19091 * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking.
19092
19093 * frame.c (x_set_frame_parameters): Check number is positive before
19094 using XFASTINT.
19095
19096 * window.c (freeze_window_start): Don't presume selected_window holds
19097 a window object.
19098 (Fdisplay_buffer): Remove `register' since `buffer' needs to be gcpro'd.
19099
19100 2007-09-07 Angelo Graziosi <Angelo.Graziosi@roma1.infn.it> (tiny change)
19101
19102 * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN.
19103
19104 2007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
19105
19106 * window.c (Vsplit_window_preferred_function): New var.
19107 (Fdisplay_buffer): Use it.
19108 (syms_of_window): Export, and initialize it.
19109
19110 2007-09-06 Pixel <pixel@mandriva.com> (tiny change)
19111
19112 * image.c (gif_load): Fix bug: Handle nonexistent colormap.
19113
19114 2007-09-06 Glenn Morris <rgm@gnu.org>
19115
19116 * gtkutil.c (menu_grab_callback) <cnt>:
19117 * xselect.c (x_reply_selection_request) <cnt>: Move static
19118 variable to file scope.
19119
19120 2007-09-06 Stefan Monnier <monnier@iro.umontreal.ca>
19121
19122 * xdisp.c (redisplay_internal): Make sure Elisp code always sees
19123 consistent values of selected_frame and selected_window.
19124
19125 2007-09-04 Jason Rumney <jasonr@gnu.org>
19126
19127 * w32console.c (initialize_w32_display): Zero unused hooks.
19128
19129 2007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
19130
19131 * term.c (Vsuspend_tty_functions, Vresume_tty_functions)
19132 (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change.
19133
19134 2007-09-04 Jason Rumney <jasonr@gnu.org>
19135
19136 * term.c (init_tty) [WINDOWSNT]: Add hooks that are not accessible
19137 in w32console.c. Set up input. Remove XXX comments that have been
19138 confirmed as correct.
19139
19140 * s/ms-w32.h (MULTI_KBOARD): Define.
19141
19142 * w32console.c (one_and_only_w32cons): Remove.
19143 (initialize_w32_display): Take terminal argument.
19144
19145 * term.c (init_tty) [WINDOWSNT]: Pass terminal to
19146 initialize_w32_display.
19147 (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too.
19148
19149 * termhooks.h (enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
19150
19151 * keyboard.c (discard_mouse_events): Discard it.
19152 (make_lispy_event): Translate it to a lisp event.
19153 (lispy_wheel_names): Add wheel-left and right events.
19154 (syms_of_keyboard): Enlarge wheel_syms.
19155
19156 * w32fns.c (w32_wnd_proc) <WM_DROPFILES>: Merge with WM_MOUSEWHEEL.
19157 <WM_MOUSEHWHEEL>: Pass new system message to lisp.
19158
19159 * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't.
19160
19161 * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT
19162 from WM_MOUSEHWHEEL.
19163 (w32_read_socket) <WM_MOUSEHWHEEL>: Treat as WM_MOUSEWHEEL.
19164
19165 * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from
19166 terminal.
19167
19168 * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new
19169 keyboard for the terminal.
19170
19171 2007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
19172
19173 * term.c (Vsuspend_tty_hook): Rename from Vsuspend_tty_functions.
19174 (Vresume_tty_hook): Rename from Vresume_tty_functions.
19175 (syms_of_term): Rename suspend-tty-functions to suspend-tty-hook
19176 and resume-tty-function to resume-tty-hook.
19177 (Fsuspend_tty, Fresume_tty): Use new names.
19178
19179 2007-09-02 Jan Djärv <jan.h.d@swipnet.se>
19180
19181 * gtkutil.c (update_frame_tool_bar): Handle stock name as a named icon
19182 if it starts with "n:".
19183
19184 2007-08-31 Jan Djärv <jan.h.d@swipnet.se>
19185
19186 * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL.
19187
19188 2007-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
19189
19190 * frame.h:
19191 * frame.c (Qterm_environment_variable): Remove.
19192 (syms_of_frame): Don't init and staticpro it.
19193
19194 * callproc.c (getenv_internal): Remove special case for $TERM.
19195
19196 * callproc.c (Vinitial_environment): New variable.
19197 (set_initial_environment): Initialize it.
19198 (syms_of_callproc): Declare it.
19199 (child_setup): Don't mess with TERM via Qterm_environment_variable; the
19200 TERM under which a process runs is never related to the TERM in which
19201 Emacs is running.
19202
19203 2007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
19204
19205 * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here...
19206 * s/darwin.h: ... do it here.
19207
19208 2007-08-29 Stefan Monnier <monnier@iro.umontreal.ca>
19209
19210 * lisp.h (set_initial_environment): Rename from set_global_environment.
19211
19212 * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been
19213 removed by mistake on the multi-tty branch.
19214
19215 * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup.
19216 (Fmodify_frame_parameters): Return a value.
19217
19218 * image.c (png_load): Comment-out var only used in commented-out code.
19219
19220 * term.c (mark_ttys): Don't bother checking top_frame (incorrectly)
19221 before passing it to mark_object.
19222
19223 * xfaces.c (internal_resolve_face_name): Return a value.
19224 (internal_resolve_face_name, resolve_face_name_error): Comment out.
19225
19226 * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup.
19227 (x_icon): Comment-out var only used in commented-out code.
19228
19229 2007-08-29 Romain Francoise <romain@orebokech.com>
19230
19231 * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if
19232 QUIT hasn't been provided.
19233
19234 2007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
19235
19236 * callproc.c (child_setup, getenv_internal): Use the
19237 display-environment-variable and term-environment-variable frame params.
19238 (set_initial_environment): Initialise Vprocess_environment.
19239
19240 * config.in: Disable multi-keyboard support on a mac.
19241
19242 * frame.c (Qterm_environment_variable)
19243 (Qdisplay_environment_variable): New variables.
19244 (syms_of_frame): Intern and staticpro them.
19245 (Fmake_terminal_frame): Disable output method test.
19246
19247 * frame.h: Declare them here.
19248
19249 * macfns.c (x_set_mouse_color): Get rif from the frame.
19250 (x_set_tool_bar_lines): Don't use updating_frame.
19251 (mac_window): Add 2 new parameters for consistency with other systems.
19252 (Fx_create_frame): Fix doc string. Rename the parameter. Set the
19253 frame parameters following what is done in X11 and w32. Don't use
19254 FRAME_MAC_DISPLAY_INFO.
19255 (Fx_open_connection, start_hourglass): Remove window-system check.
19256 (x_create_tip_frame): Get the keyboard from the terminal.
19257
19258 * macmenu.c: Reorder includes.
19259 (Fx_popup_menu): Use terminal specific mouse_position_hook.
19260
19261 * macterm.c (XTset_terminal_modes, XTreset_terminal_modes): Add a
19262 terminal parameter.
19263 (x_clear_frame): Add a frame parameter.
19264 (note_mouse_movement): Get rif from the frame.
19265 (mac_term_init): Initialize the terminal.
19266 (mac_initialize): Make static and move terminal initialization ...
19267 (mac_create_terminal): ... to this new function.
19268
19269 * macterm.h (struct mac_display_info): Add terminal.
19270 (mac_initialize): Delete declaration.
19271
19272 * puresize.h (BASE_PURESIZE): Increase base value to 1164000.
19273
19274 * sysdep.c: Comment out text after #endif.
19275
19276 * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD
19277 is defined. Better initialize ttys in windows. Use terminal
19278 specific mouse_position_hook.
19279
19280 * termhooks.h (union display_info): Add mac_display_info.
19281
19282 * w32fns.c (Fx_create_frame): Use kboard from the terminal.
19283 Set the default minibuffer frame, window_system and the rest of the
19284 frame parameters following what is done in X11.
19285
19286 * w32term.c (w32_initialize): Make static.
19287
19288 * xselect.c (x_handle_selection_clear): Only access
19289 terminal->kboard when MULTI_KBOARD is defined.
19290
19291 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
19292 (SYSTEM_PURESIZE_EXTRA): Only define on Carbon.
19293
19294 2007-08-29 Jason Rumney <jasonr@gnu.org>
19295
19296 * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined.
19297 (make_terminal_frame) [WINDOWSNT]: Initialize terminal.
19298
19299 * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]:
19300 (mac_init_fringe) [MAC_OS]: Get rif from selected_frame.
19301
19302 * keyboard.c (restore_kboard_configuration): Only define when
19303 MULTI_KBOARD defined.
19304
19305 * makefile.w32-in: Update dependancies from Makefile.in.
19306 (OBJ1): Add terminal.$(O)
19307
19308 * term.c (dissociate_if_controlling_tty) [WINDOWSNT]:
19309 Don't define function body.
19310 (init_tty) [WINDOWSNT]: Use selected_frame for initializing.
19311
19312 * termhooks.h (display_info) [WINDOWSNT]: Add w32.
19313
19314 * w32.c (request_sigio, unrequest_sigio): Remove.
19315
19316 * w32console.c (w32con_move_cursor, w32con_clear_to_end)
19317 (w32con_clear_frame, w32con_clear_end_of_line)
19318 (w32con_ins_del_lines, w32con_insert_glyphs, w32con_write_glyphs)
19319 (w32con_delete_glyphs, w32con_set_terminal_window)
19320 (scroll_line, w32_sys_ring_bell): Add frame arg.
19321 (w32con_set_terminal_modes, w32con_reset_terminal_modes):
19322 Add terminal arg.
19323 (PICK_FRAME): Remove.
19324 (w32con_write_glyphs): Use frame specific terminal coding.
19325 (one_and_only_w32cons): New global variable.
19326 (initialize_w32_display): Use it for storing hooks.
19327 (create_w32cons_output): New function.
19328
19329 * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first
19330 arg a frame.
19331
19332 * w32fns.c (x_create_tip_frame): Set terminal and ref count.
19333 Set window_system.
19334 (x_set_tool_bar_lines): Don't use updating_frame.
19335 (Fx_create_frame): Set terminal and ref count.
19336 (Fx_open_connection): Remove window-system check.
19337
19338 * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook.
19339
19340 * w32term.c (w32_term_init): Call add_keyboard_wait_descriptor.
19341 (w32_set_terminal_modes, w32_reset_terminal_modes): Add terminal arg.
19342 (x_clear_frame, x_delete_glyphs, w32_ring_bell, x_ins_del_lines):
19343 Add frame arg.
19344 (x_delete_terminal, w32_create_terminal): New functions.
19345 (w32_term_init): Create a terminal.
19346 (w32_initialize): Move terminal specific initialization to
19347 w32_create_terminal.
19348
19349 * w32term.h (x_output): Remove foreground_pixel and background_pixel.
19350 (w32_clear_rect, w32_clear_area): Use background from frame.
19351 (w32_display_info): Add terminal.
19352 (w32_sys_ring_bell, x_delete_display): Declare here.
19353
19354 * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type.
19355
19356 * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k.
19357
19358 2007-08-29 Kalle Olavi Niemitalo <kon@iki.fi> (tiny change)
19359
19360 * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char):
19361 Fix get_named_tty calls for the controlling tty.
19362
19363 2007-08-29 ARISAWA Akihiro <ari@mbf.ocn.ne.jp> (tiny change)
19364
19365 * term.c (dissociate_if_controlling_tty)[USG]: Fix parse error.
19366
19367 2007-08-29 Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp> (tiny change)
19368
19369 * term.c (tty_insert_glyphs): Add missing first parameter.
19370
19371 2007-08-29 Károly Lőrentey <karoly@lorentey.hu>
19372
19373 * buffer.c (Fbuffer_list, Fbury_buffer):
19374 Take frame->buried_buffer_list into account.
19375
19376 * cm.c (current_tty): New variable, for cmputc().
19377 (cmputc): Use it.
19378 (cmcheckmagic): Add tty parameter, look up terminal streams there.
19379 (calccost): Add tty parameter. Use emacs_tputs() instead of tputs().
19380 (cmgoto): Add tty parameter. Pass it on to calccost().
19381 Use emacs_tputs() instead of tputs().
19382
19383 * cm.h (emacs_tputs): New macro to set current_tty, and then call
19384 tputs().
19385 (current_tty): New variable, for cmputc().
19386 (cmcheckmagic, cmputc, cmgoto): Add prototypes.
19387
19388 * eval.c (unwind_to_catch): Don't call x_fully_uncatch_errors.
19389 (internal_condition_case, internal_condition_case_1)
19390 (internal_condition_case_2): Don't abort when x_catching_errors.
19391
19392 * fns.c (Fyes_or_no_p): Don't try to open an X dialog on tty terminals.
19393 (Fy_or_n_p): Likewise. Use temporarily_switch_to_single_kboard to
19394 prevent crashes caused by bogus longjmps in read_char.
19395
19396 * keymap.h (Fset_keymap_parent): Add EXFUN.
19397
19398 * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
19399 * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
19400 Remove redundant definition.
19401
19402 * macfns.c (x_set_mouse_color, x_make_gc):
19403 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
19404
19405 * w32term.c (x_free_frame_resources):
19406 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
19407 (w32_initialize): Use the accessor macros for terminal characteristics.
19408
19409 * macterm.c (mac_initialize): Use Fset_input_interrupt_mode.
19410 Use the accessor macros for terminal characteristics.
19411 * msdos.c (internal_terminal_init): Use the accessor macros for
19412 terminal characteristics.
19413 (ScreenVisualBell, internal_terminal_init):
19414 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
19415
19416 * termopts.h (no_redraw_on_reenter): Declare.
19417
19418 * alloc.c (emacs_blocked_malloc): Disable mallopt call.
19419 (mark_terminals, mark_ttys): Declare.
19420 (Fgarbage_collect): Call them.
19421 (mark_object): Mark buried_buffer_list.
19422
19423 * prefix-args.c: Include stdlib.h for exit.
19424
19425 * syssignal.h: Add comment.
19426
19427 * indent.c: Include stdio.h.
19428
19429 * window.h (Vinitial_window_system): Declare.
19430 (Vwindow_system): Delete declaration.
19431
19432 * fontset.c (Finternal_char_font): Use FRAME_RIF.
19433
19434 * image.c (lookup_image): Don't initialize `c' until the xasserts
19435 have been run.
19436
19437 * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and
19438 FRAME_FOREGROUND_PIXEL.
19439
19440 * print.c (print_preprocess): Don't lose print_depth levels while
19441 iterating.
19442
19443 * widget.c (update_from_various_frame_slots):
19444 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
19445
19446 * window.c (set_window_buffer): Don't call clear_mouse_face on tty
19447 frames.
19448 (window_internal_height): Remove bogus make_number call.
19449 (init_window_once): Call make_terminal_frame with two zero parameters.
19450
19451 * fileio.c (Fread_file_name): Update comment.
19452
19453 * callint.c (Fcall_interactively):
19454 Use temporarily_switch_to_single_kboard instead of single_kboard_state.
19455 Make sure it is correctly unwound.
19456
19457 * xsmfns.c (x_session_close): New function.
19458
19459 * coding.h (terminal_coding, safe_terminal_coding, keyboard_coding):
19460 Delete declarations.
19461
19462 * xterm.h: Remove declaration for x_fully_uncatch_errors.
19463 (x_output): Remove background_pixel and foreground_pixel fields.
19464 (x_display_info): Add new field TERMINAL. Remove KBOARD field.
19465 (x_delete_device, x_session_close): Declare.
19466
19467 * lread.c: Include setjmp.h. Update declaration of `read_char'.
19468 (read_filtered_event): Call `read_char' with a local
19469 `wrong_kboard_jmpbuf'.
19470
19471 * minibuf.c (read_minibuf): Call temporarily_switch_to_single_kboard.
19472 Don't call single_kboard_state. Use FRAME_RIF.
19473
19474 * process.c (Fmake_network_process): Don't unrequest_sigio on modern
19475 systems.
19476
19477 * lisp.h (set_process_environment): Rename to `set_global_environment'.
19478 (Fframe_with_environment, Fset_input_meta_mode)
19479 (Fset_quit_char): EXFUN.
19480 (x_create_device, tty_output, terminal, tty_display_info): Declare.
19481 (init_sys_modes, reset_sys_modes): Update prototypes.
19482 (init_all_sys_modes, reset_all_sys_modes): New prototypes.
19483
19484 * keyboard.h (struct kboard): Add new fields Vlocal_function_key_map,
19485 Vlocal_key_translation_map, and Vkeyboard_translate_table.
19486 (Vfunction_key_map, Vkeyboard_translate_table, single_kboard_state):
19487 Delete declarations.
19488 (Vfunction_key_map, Vkey_translation_map, push_kboard, pop_kboard)
19489 (temporarily_switch_to_single_kboard, tty_read_avail_input):
19490 New declarations.
19491
19492 * emacs.c (main): Don't call init_sys_modes(), the new term_init()
19493 already does that during init_display(). Call syms_of_keymap
19494 before syms_of_keyboard. Call `syms_of_terminal'.
19495 Call set_initial_environment, not set_process_environment.
19496 (shut_down_emacs): Call reset_all_sys_modes() instead of
19497 reset_sys_modes().
19498
19499 * xfaces.c (x_free_gc): Protect xassert with GLYPH_DEBUG.
19500 (internal_resolve_face_name, resolve_face_name_error): New functions.
19501 (resolve_face_name): Protect against loops and errors thrown by Fget.
19502 (realize_default_face): Don't use FRAME_FONT unless frame is an X frame.
19503 (Ftty_supports_face_attributes_p): Update tty_capable_p call.
19504
19505 * scroll.c: Replace CURTTY() with local variables throughout the
19506 file (where applicable).
19507 (calculate_scrolling, calculate_direct_scrolling)
19508 (scrolling_1, scroll_cost): Use the accessor macros for terminal
19509 characteristics.
19510
19511 * keymap.c (Vfunction_key_map): Remove.
19512 (Fdescribe_buffer_bindings): Update references to Vfunction_key_map.
19513 (syms_of_keymap): Remove DEFVAR for Vfunction_key_map.
19514 (Vkey_translation_map): Remove.
19515 (syms_of_keymap): Remove DEFVAR for key-translation-map.
19516 (Fdescribe_buffer_bindings)
19517 (read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards):
19518 Update for terminal-local key-translation-map.
19519
19520 * Makefile.in (callproc.o): Update dependencies.
19521 (lisp, shortlisp): Add termdev.elc.
19522 (obj): Add terminal.o.
19523 (terminal.o): Add dependencies.
19524 [HAVE_CARBON]: Make terminal.o depend on macgui.h.
19525 (data.o, fns.o): Add termhooks.h dependency.
19526 (SOME_MACHINE_LISP): Add dnd.elc.
19527 (minibuf.o): Fix typo.
19528 Update dependencies.
19529
19530 * data.c (do_symval_forwarding, store_symval_forwarding)
19531 (find_symbol_value): Use the selected frame's keyboard, not
19532 current_kboard.
19533
19534 * .gdbinit (init_sys_modes): Use Vinitial_window_system instead of
19535 Vwindow_system.
19536
19537 * xmenu.c (Fx_menu_bar_open) [USE_X_TOOLKIT, USE_GTK]: Rename from
19538 Fmenu_bar_open.
19539 (syms_of_xmenu): Update defsubr.
19540 (mouse_position_for_popup, Fx_popup_menu)
19541 (Fx_popup_dialog, x_activate_menubar, update_frame_menubar)
19542 (set_frame_menubar, free_frame_menubar)
19543 (create_and_show_popup_menu, xmenu_show)
19544 (create_and_show_dialog, xdialog_show, xmenu_show): Abort if not
19545 an X frame.
19546
19547 * xselect.c (x_own_selection): Abort if not an X frame.
19548 (some_frame_on_display): Check if it is an X frame.
19549 (x_handle_selection_clear): Deal with MULTI_KBOARD.
19550
19551 * coding.c: Include frame.h and termhooks.h.
19552 (terminal_coding, keyboard_coding): Delete.
19553 (Fset_terminal_coding_system_internal)
19554 (Fset_keyboard_coding_system_internal)
19555 (Fkeyboard_coding_system)
19556 (Fterminal_coding_system): Add a terminal parameter.
19557 Get terminal_coding from the terminal.
19558 (init_coding_once): Don't call setup_coding_system here.
19559
19560 * dispextern.h (set_scroll_region, turn_off_insert)
19561 (turn_off_highlight, background_highlight, clear_end_of_line_raw)
19562 (tty_clear_end_of_line, tty_setup_colors)
19563 (delete_tty, updating_frame)
19564 (produce_special_glyphs, produce_glyphs, write_glyphs)
19565 (insert_glyphs): Remove.
19566 (raw_cursor_to, clear_to_end, tty_turn_off_insert)
19567 (tty_turn_off_highlight, get_tty_size): Add declaration.
19568 (tabs_safe_p, init_baud_rate, get_tty_terminal): Update prototypes.
19569
19570 * frame.h (enum output_method): Add output_initial.
19571 (struct x_output): Delete.
19572 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
19573 Access foreground_pixel and background_pixel directly from the frame.
19574 (tty_display): Delete.
19575 (struct frame): Add buried_buffer_list, foreground_pixel,
19576 background_pixel and terminal. Delete kboard.
19577 (union output_data): Add tty.
19578 (FRAME_KBOARD): Get the kboard from the terminal.
19579 (FRAME_INITIAL_P): New macro.
19580 (Qtty, Qtty_type, Qterminal, Qterminal_live_p, Qenvironment)
19581 (Qterm_environment_variable, Qdisplay_environment_variable)
19582 (make_terminal_frame, Qburied_buffer_list, Qwindow_system):
19583 New declarations.
19584
19585 * termchar.h (tty_output, tty_display_info): New structures.
19586 (tty_list): Declare.
19587 (FRAME_TTY, CURTTY): New macros.
19588 (must_write_spaces, min_padding_speed, fast_clear_end_of_line)
19589 (line_ins_del_ok, char_ins_del_ok, scroll_region_ok)
19590 (scroll_region_cost, memory_below_frame, fast_clear_end_of_line)
19591 (dont_calculate_costs, no_redraw_on_reenter): Remove declarations.
19592
19593 * callproc.c: Include frame.h and termhooks.h, for terminal
19594 parameters.
19595 (add_env): New function.
19596 (child_setup): Use it.
19597 (child_setup, getenv_internal): Handle the new Vprocess_environment.
19598 (getenv_internal): Fix get_terminal_param call.
19599 (Fgetenv_internal, egetenv): Update doc.
19600 (syms_of_callproc): Initialize Vprocess_environment to nil.
19601 Register and initialize them. Remove obsolete defvars. Update doc
19602 strings.
19603 (child_setup): Handle Vlocal_environment_variables.
19604 (getenv_internal): Add terminal parameter.
19605 Handle Vlocal_environment_variables.
19606 (Fgetenv_internal): Add terminal parameter.
19607 (child_setup, getenv_internal, Fgetenv_internal): Store the local
19608 environment in a frame (not terminal) parameter. Update doc strings.
19609 (set_initial_environment): Rename from set_global_environment.
19610 Store Emacs environment in initial frame parameter.
19611
19612 * xdisp.c (redisplay_internal): Update references to
19613 `previous_terminal_frame'.
19614 (display_mode_line, Fformat_mode_line): Replace calls to
19615 `push_frame_kboard' with `push_kboard'.
19616 (get_glyph_string_clip_rects): Add extra parentheses and
19617 braces to prevent compiler warnings.
19618 (calc_pixel_width_or_height): Add xassert to check that the
19619 frame is alive. Don't call `lookup_image' on a termcap frame.
19620 (message2_nolog, message3_nolog, redisplay_internal)
19621 (set_vertical_scroll_bar, redisplay_window, check_x_display_info)
19622 (x_set_scroll_bar_foreground, x_set_scroll_bar_background)
19623 (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p)
19624 (Fx_display_pixel_width, Fx_display_pixel_height)
19625 (Fx_display_planes, Fx_display_color_cells)
19626 (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
19627 (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width)
19628 (Fx_display_backing_store, Fx_display_visual_class)
19629 (Fx_display_save_under, Fx_close_connection, x_create_tip_frame):
19630 Use FRAME_TERMINAL_P, FRAME_WINDOW_P, FRAME_TTY and FRAME_RIF.
19631
19632 * xfns.c (x_set_foreground_color x_set_background_color)
19633 (x_set_mouse_color, x_set_cursor_color, x_make_gc):
19634 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
19635 (Fx_create_frame, x_create_tip_frame, build_string, x_window)
19636 (Fx_create_frame, x_create_tip_frame): Don't create frames on a
19637 terminal that is being deleted.
19638 (Fx_create_frame): Use `store_frame_param' to set `window-system'
19639 frame parameter, and make sure it overrides any user-supplied setting.
19640 (Fx_close_connection, Fx_synchronize): Unify argument names with
19641 the rest of the DEFUNs.
19642
19643 * dispnew.c (Fsend_string_to_terminal): Update call to
19644 `get_tty_terminal'.
19645 (Fredraw_frame, Fsend_string_to_terminal)
19646 (Fsend_string_to_terminal, init_display): Use FRAME_RIF,
19647 FRAME_TERMCAP_P and FRAME_TTY.
19648 (window_change_signal): Don't believe width/height values that are
19649 impossibly small.
19650 (Vinitial_window_system): Rename from Vwindow_system.
19651 (termscript, Wcm, rif): Delete.
19652
19653 * termhooks.h (struct terminal): New struct containing the
19654 previously global text display hooks and new members NAME,
19655 DELETED and PARAM_ALIST.
19656 (FRAME_TERMINAL, TERMINAL_TERMINAL_CODING)
19657 (TERMINAL_KEYBOARD_CODING, TERMINAL_ACTIVE_P, FRAME_WINDOW_P)
19658 (FRAME_RIF): New macros.
19659 (get_terminal_param, get_device): New declarations.
19660 (termscript): Delete declaration.
19661
19662 * xterm.c (x_initialize): Use Fset_input_interrupt_mode.
19663 (XTflash, x_free_frame_resources, x_scroll_bar_create)
19664 (x_scroll_bar_set_handle): Use FRAME_BACKGROUND_PIXEL and
19665 FRAME_FOREGROUND_PIXEL.
19666 (x_fully_uncatch_errors): Disable definition.
19667 (x_scroll_bar_expose): Fix reference to foreground pixel.
19668 (XTread_socket): Disable loop on all X displays.
19669 (x_delete_terminal): Don't set terminal->deleted and let
19670 delete_terminal delete the frames on the terminal.
19671 (x_delete_display): Doc update to reflect changes in
19672 delete_terminal.
19673 (x_display_info) <terminal>: Move member earlier in the struct.
19674 (deleting_tty): Remove old variable.
19675 (Fsuspend_tty): Call clear_tty_hooks.
19676 (Fresume_tty, init_tty): Call set_tty_hooks.
19677 (Ftty_display_color_p, Ftty_display_color_cells): Don't throw
19678 errors on X frames.
19679 (x_catch_errors_unwind): Abort if x_error_message is NULL.
19680 (handle_one_xevent): Initialize `f' to NULL.
19681 (x_delete_terminal, x_create_terminal): New functions.
19682 (XTset_terminal_modes, XTreset_terminal_modes)
19683 (XTread_socket, x_connection_closed, x_term_init)
19684 (x_term_init, x_delete_display): Add terminal parameter.
19685 (x_term_init) [!HAVE_GTK_MULTIDISPLAY]: Refuse to create secondary
19686 X connections.
19687
19688 * frame.c: Include termchar.h.
19689 (Qterminal, Qterminal_live_p, Qburied_buffer_list, Qtty, Qtty_type)
19690 (Qwindow_system, Qenvironment, Qterm_environment_variable)
19691 (Qdisplay_environment_variable): New vars.
19692 (Fframep): Deal with output_initial.
19693 (Fframe-live-p): Doc fix.
19694 (Fwindow-system): New function.
19695 (x_set_screen_gamma, store_frame_param): Fix compilation errors.
19696 (make_terminal_frame): Don't create frames on a terminal that is
19697 being deleted. Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
19698 (store_frame_param): Check for found_for_frame before calling XFRAME.
19699 (Fmake_terminal_frame): Handle NULL tty names correctly.
19700 (syms_of_frame): Enhance doc string of `default-frame-alist'.
19701 (Fdelete_frame): Remove unused variable `count'. Don't allow other
19702 frames to refer to a deleted frame in their 'environment parameter.
19703 (Fframe_with_environment): New function.
19704 (syms_of_frame): Defsubr it. Initialize and staticpro Qenvironment.
19705 (get_future_frame_param): New function.
19706 (Fmake_terminal_frame): Use it.
19707 (x_set_frame_parameters, x_set_screen_gamma): Use FRAME_RIF.
19708
19709 * sysdep.c (init_sys_modes, reset_sys_modes): Update for renames.
19710 * sysdep.c (reset_sys_modes): Update for renames.
19711
19712 * keyboard.c (tty_read_avail_input): New function.
19713 (Fset_input_interrupt_mode, Fset_output_flow_control): New functions.
19714 (syms_of_keyboard): Defsubr them.
19715 (Fset_input_meta_mode, Fset_quit_char): New functions.
19716 (Fset_input_mode): Split to above functions.
19717 (read_char_minibuf_menu_prompt): Add wrong_kboard_jmpbuf
19718 parameter. Use it in call to `read_char'.
19719 (read_char): Declare. Update call to `read_char_minibuf_menu_prompt'.
19720 Set wrong_kboard_jmpbuf correctly in recursive calls.
19721 Use current_kboard to access Vkeyboard_translate_table.
19722 Enhance comment before extra longjmp to wrong_kboard_jmpbuf.
19723 Add wrong_kboard_jmpbuf parameter to allow for recursive calls.
19724 Update longjmp invocations. Remember the original current_kboard,
19725 and longjmp to `wrong_kboard_jmpbuf' when a filter, timer or sentinel
19726 changes it. Comment out unnecessary calls to
19727 `record_single_kboard_state' and `any_kboard_state'.
19728 Update recursive calls.
19729 (wrong_kboard_jmpbuf): Remove global variable.
19730 (read_key_sequence): Remove unused variable wrong_kboard_jmpbuf.
19731 Handle deleted interrupted_kboards correctly; that is a legal
19732 case. Add `wrong_kboard_jmpbuf' local variable. Update setjmp
19733 and read_char calls. Abort if interrupted_kboard died in read_char.
19734 (any_kboard_state, single_kboard_state)
19735 (push_frame_kboard): Remove function.
19736 (pop_kboard): Switch out of single_kboard mode if the kboard has
19737 been deleted. Remove unused variable. Help debugging by not
19738 changing current_kboard unnecessarily. Set current_kboard to the
19739 kboard of the selected frame when the stored kboard object has
19740 been deleted before pop_kboard.
19741 (temporarily_switch_to_single_kboard): Change first parameter to a
19742 frame pointer. Throw an error when caller wants to change kboards
19743 while in single_kboard mode. Don't push_kboard if we weren't in
19744 single kboard state. Don't pop_kboard if we popped into any
19745 kboard state.
19746 (restore_kboard_configuration): Abort if pop_kboard changed the
19747 kboard in single_kboard mode. Call pop_kboard only after setting
19748 up single_kboard mode.
19749 (Frecursive_edit): Switch to single_kboard mode only in nested
19750 command loops.
19751 (cmd_error, command_loop, command_loop_1, timer_check):
19752 Comment out unnecessary call to `any_kboard_state' and
19753 `record_single_kboard_state'.
19754 (delete_kboard): Exit single_kboard mode if we have just deleted
19755 that kboard. Use FRAME_KBOARD.
19756 (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not
19757 `fatal_error_signal'.
19758 (record_single_kboard_state): Don't push_kboard if we weren't in
19759 single kboard state. Don't pop_kboard if we popped into any
19760 kboard state.
19761 (push_frame_kboard): Rename to push_kboard.
19762 (kbd_buffer_get_event): Use FRAME_TERMINAL.
19763 (read_avail_input): Read input from all terminals.
19764 (mark_kboards): Also mark Vkeyboard_translate_table.
19765 (kbd_buffer_store_event_hold): Simplify condition.
19766 (read_key_sequence): Reinitialize fkey and keytran at each replay.
19767 (Vkeyboard_translate_table): Move to struct kboard.
19768 (init_kboard): Initialize Vkeyboard_translate_table.
19769 (syms_of_keyboard): Use DEFVAR_KBOARD to define
19770 Vkeyboard_translate_table. Update doc strings. Update docs of
19771 local-function-key-map and function-key-map.
19772
19773 * terminal.c: New file.
19774
19775 * term.c: Include errno.h.
19776 (Vring_bell_function, device_list, initial_device)
19777 (next_device_id, ring_bell, update_begin, update_end)
19778 (set_terminal_window, cursor_to, raw_cursor_to)
19779 (clear_to_end, clear_frame, clear_end_of_line)
19780 (write_glyphs, insert_glyphs, delete_glyphs, ins_del_lines)
19781 (Fdisplay_name, create_device, delete_device): Move to terminal.c.
19782 (syms_of_term): Move their initialization to terminal.c.
19783 (get_tty_terminal, Fdisplay_tty_type, Ftty_display_color_p)
19784 (Ftty_display_color_cells)
19785 (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output)
19786 (clear_tty_hooks, set_tty_hooks)
19787 (init_tty, maybe_fatal): New functions.
19788 (Ftty_type): Return nil if terminal is not on a tty instead of
19789 throwing an error. Doc update.
19790 (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>:
19791 Doc update. Initialize new subrs and variables.
19792 (delete_tty): Use terminal->deleted.
19793 (tty_set_terminal_modes): Rename from set_terminal_modes.
19794 (tty_reset_terminal_modes): Rename from reset_terminal_modes.
19795 (set_scroll_region): Rename to `tty_set_scroll_region'.
19796 (turn_on_insert): Rename to `tty_turn_on_insert'.
19797 (turn_off_insert): Rename to `tty_turn_off_insert'.
19798 (turn_off_highlight): Rename to `tty_turn_off_highlight'.
19799 (turn_on_highlight): Rename to `tty_turn_on_highlight'.
19800 (toggle_highligh): Rename to `tty_toggle_highlight'.
19801 (background_highlight): Rename to `tty_background_highlight'.
19802 (highlight_if_desired): Rename to `tty_highlight_if_desired'.
19803 (tty_ring_bell, tty_update_end, tty_set_terminal_window)
19804 (tty_set_scroll_region, tty_background_highlight)
19805 (tty_cursor_to, tty_raw_cursor_to, tty_clear_to_end)
19806 (tty_clear_frame, tty_clear_end_of_line, tty_write_glyphs)
19807 (tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines)
19808 (term_get_fkeys, tty_setup_colors, dissociate_if_controlling_tty):
19809 Add static modifier.
19810 (tty_reset_terminal_modes, tty_set_terminal_window)
19811 (tty_set_scroll_region, tty_background_highlight)
19812 (tty_highlight_if_desired, tty_cursor_to)
19813 (tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame)
19814 (tty_clear_end_of_line, tty_write_glyphs, tty_insert_glyphs)
19815 (tty_delete_glyphs, tty_ins_del_lines, turn_on_face): Update for
19816 renames.
19817
19818 2007-08-28 Jan Djärv <jan.h.d@swipnet.se>
19819
19820 * keyboard.c: Qrtl is new.
19821 (parse_tool_bar_item): Handle :rtl keyword.
19822 (syms_of_keyboard): Intern :rtl keyword.
19823
19824 * dispextern.h (enum tool_bar_item_idx): Add TOOL_BAR_ITEM_RTL_IMAGE.
19825
19826 * gtkutil.c (xg_tool_bar_expose_callback): Just do SET_FRAME_GARBAGED
19827 so no Lisp code is executed.
19828 (file_for_image, find_rtl_image): New functions.
19829 (xg_get_image_for_pixmap): Use file_for_image.
19830 (update_frame_tool_bar): If direction is RTL, use RTL image if
19831 defined. Use Gtk stock images if defined.
19832
19833 2007-08-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
19834
19835 * macterm.c (x_draw_composite_glyph_string_foreground): Draw rectangle
19836 for nonexistent or zero-width glyph in composition glyph.
19837
19838 2007-08-25 Stefan Monnier <monnier@iro.umontreal.ca>
19839
19840 * m/amdx86-64.h: Redirect to intel386.h if compiling for i386.
19841
19842 * xdisp.c (Finvisible_p): New function.
19843 (syms_of_xdisp): defsubr it.
19844
19845 2007-08-24 Juanma Barranquero <lekktu@gmail.com>
19846
19847 * image.c (syms_of_image) <image-library-alist, cross-disabled-images>:
19848 Doc fixes.
19849
19850 2007-08-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
19851
19852 * mac.c [MAC_OSX] (select_and_poll_event, sys_select): Fix last changes.
19853
19854 2007-08-24 Martin Rudalics <rudalics@gmx.at>
19855
19856 * fileio.c (Finsert_file_contents): Consult CHARS_MODIFF to tell
19857 whether decoding has modified buffer contents.
19858
19859 2007-08-24 Jason Rumney <jasonr@gnu.org>
19860
19861 * image.c [HAVE_NTGUI]: Define dynamic loaded functions for SVG.
19862 (Qgdk_pixbuf, Qglib) [HAVE_NTGUI]: New symbols.
19863 (syms_of_image) [HAVE_NTGUI]: Intern and staticpro them.
19864 (init_svg_functions) [HAVE_NTGUI]: New function.
19865 (fn_g_type_init, fn_g_object_unref, fn_g_error_free): New #defines.
19866 (svg_load_image): Use them.
19867 (svg_load_image) [HAVE_NTGUI]: Implement background.
19868
19869 2007-08-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
19870
19871 * Makefile.in (RSVG_LIBS, RSVG_CFLAGS): New variables.
19872 (ALL_CFLAGS): Use ${RSVG_CFLAGS} instead of @RSVG_CFLAGS@.
19873 (LIBX): Remove @RSVG_LIBS@.
19874 (LIBES): Add $(RSVG_LIBS).
19875
19876 * image.c (svg_load_image): Blend with specified background if exists.
19877 Use IMAGE_BACKGROUND. Add Mac OS Support.
19878
19879 * mac.c (wakeup_from_rne_enabled_p) [MAC_OSX]: Remove variable.
19880 (ENABLE_WAKEUP_FROM_RNE, DISABLE_WAKEUP_FROM_RNE) [MAC_OSX]:
19881 Remove macros.
19882 [MAC_OSX] (socket_callback): Do nothing.
19883 [MAC_OSX] (select_and_poll_event): Use CFRunLoopRunInMode instead of
19884 ReceiveNextEvent.
19885 [MAC_OSX] (sys_select): Likewise. Don't set context as argument to
19886 socket_callback.
19887 (mac_wakeup_from_rne) [MAC_OSX]: Do nothing.
19888
19889 2007-08-22 Glenn Morris <rgm@gnu.org>
19890
19891 * image.c (x_find_image_file): Search in etc/images/ rather than etc/.
19892
19893 2007-08-22 Paul Pogonyshev <pogonyshev@gmx.net>
19894
19895 * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS.
19896
19897 * image.c: Add support for SVG images. Some additional comments
19898 by Joakim Verona <joakim@verona.se>. When HAVE_RSVG is defined:
19899 (svg_image_p): New function to test for SVG image.
19900 (svg_load): New function to load SVG image.
19901 (svg_load_image): New function, helper for svg_load.
19902 (Qsvg): New Lisp_object.
19903 (svg_keyword_index): New enum.
19904 (svg_format): New static `image_keyword' struct.
19905 (svg_type): New static `image_type' struct.
19906 (librsvg/rsvg.h): Include it.
19907
19908 2007-08-23 Stefan Monnier <monnier@iro.umontreal.ca>
19909
19910 * lread.c (load_warn_old_style_backquotes): Fix up array size typo.
19911
19912 2007-08-22 Stefan Monnier <monnier@iro.umontreal.ca>
19913
19914 * lread.c (Qold_style_backquotes): New var.
19915 (syms_of_lread): Init and staticpro it.
19916 (load_warn_old_style_backquotes): New fun.
19917 (Fload): Use them to warn about old style backquotes.
19918 (end_of_file_error, Fload): Remove unused vars.
19919
19920 * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare.
19921
19922 * lread.c (Vold_style_backquotes): New var.
19923 (syms_of_lread): Init and export it to Elisp.
19924 (read1): Set it when we find an old-style (back)quote.
19925
19926 2007-08-22 Jason Rumney <jasonr@gnu.org>
19927
19928 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator.
19929
19930 2007-08-22 Katsumi Yamaoka <yamaoka@jpl.org>
19931
19932 * puresize.h (BASE_PURESIZE): Increase to 1140000.
19933
19934 2007-08-19 Richard Stallman <rms@gnu.org>
19935
19936 * eval.c (Ffunction, Fquote): Signal error if not 1 argument.
19937
19938 2007-08-19 Andreas Schwab <schwab@suse.de>
19939
19940 * alloc.c (pure): Round PURESIZE up.
19941
19942 2007-08-17 Jan Djärv <jan.h.d@swipnet.se>
19943
19944 * xterm.c (handle_one_xevent): Remove check that mouse click is in
19945 active frame.
19946
19947 2007-08-16 Richard Stallman <rms@gnu.org>
19948
19949 * eval.c (Fcommandp): Add parens to clarify.
19950
19951 * minibuf.c (Fall_completions): Use enum for type of table.
19952
19953 * emacs.c (USAGE2): Improve text.
19954
19955 2007-08-15 Philippe Waroquiers <philippe.waroquiers@eurocontrol.int>
19956
19957 * term.c (tty_default_color_capabilities): Declare static
19958 variables in file scope, to avoid HPUX compiler problem.
19959
19960 2007-08-13 Jan Djärv <jan.h.d@swipnet.se>
19961
19962 * gtkutil.c (update_frame_tool_bar): Use -1 as index
19963 to gtk_toolbar_insert.
19964
19965 2007-08-13 Stefan Monnier <monnier@iro.umontreal.ca>
19966
19967 * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup.
19968
19969 * insdel.c (reset_var_on_error): New fun.
19970 (signal_before_change, signal_after_change):
19971 Use it to reset (after|before)-change-functions to nil in case of error.
19972 Bind inhibit-modification-hooks to t.
19973 Don't bind (after|before)-change-functions to nil while they run.
19974
19975 2007-08-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
19976
19977 * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when
19978 filling pixmap with stippled background.
19979
19980 2007-08-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
19981
19982 * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event):
19983 Don't use invisible frame as parent window for repositioning.
19984
19985 2007-08-10 Stefan Monnier <monnier@iro.umontreal.ca>
19986
19987 * print.c (new_backquote_output): Rename from old_backquote_output.
19988 (print): Inverse its logic (according to its name) so as to match the
19989 behavior of new_backquote_flag in lread.c.
19990
19991 2007-08-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
19992
19993 * gmalloc.c (posix_memalign): New function.
19994
19995 * macterm.c (frame_highlight, frame_unhighlight): Don't call
19996 ActivateControl/DeactivateControl here.
19997 [USE_MAC_TOOLBAR] (free_frame_tool_bar): Suppress animation when
19998 frame-notice-user-settings is non-nil.
19999 [USE_MAC_FONT_PANEL] (mac_handle_font_event): Also record parameter
20000 for kEventParamFMFontStyle.
20001 [TARGET_API_MAC_CARBON] (mac_handle_keyboard_event): Don't check
20002 mac_pass_command_to_system and mac_pass_control_to_system here.
20003 (XTread_socket): Call ActivateControl/DeactivateControl here.
20004 (XTread_socket) [TARGET_API_MAC_CARBON]:
20005 Check mac_pass_command_to_system and mac_pass_control_to_system here.
20006 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Add further workaround
20007 for window repositioning.
20008
20009 2007-08-08 Glenn Morris <rgm@gnu.org>
20010
20011 * Replace `iff' in doc-strings and comments.
20012
20013 2007-08-07 Chong Yidong <cyd@stupidchicken.com>
20014
20015 * xdisp.c (move_it_by_lines): Remove incorrect optimization.
20016
20017 2007-08-07 Martin Rudalics <rudalics@gmx.at>
20018
20019 * fileio.c (Finsert_file_contents): Run format-decode and
20020 after_insert_file_functions on entire buffer when REPLACE is
20021 non-nil and inhibit modification_hooks and point_motion_hooks.
20022 For consistency, run after_insert_file_functions iff something
20023 got inserted. Move signal_after_change and update_compositions
20024 after code running after_insert_file_functions. Make sure that
20025 undo_list doesn't record intermediate steps of the decoding process.
20026
20027 2007-08-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
20028
20029 * emacs.c (main)
20030 [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
20031 Call malloc_enable_thread on interactive startup.
20032
20033 * gmalloc.c (_malloc_thread_enabled_p) [USE_PTHREAD]: New variable.
20034 (LOCK, UNLOCK, LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS)
20035 [USE_PTHREAD]: Conditionalize with it.
20036 (malloc_atfork_handler_prepare, malloc_atfork_handler_parent)
20037 (malloc_atfork_handler_child, malloc_enable_thread) [USE_PTHREAD]:
20038 New functions.
20039
20040 2007-08-06 Chong Yidong <cyd@stupidchicken.com>
20041
20042 * xdisp.c (redisplay_window): When restoring original buffer
20043 position, make sure it is still valid.
20044
20045 * image.c (png_load): Ignore png-supplied background color.
20046
20047 2007-08-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
20048
20049 * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value.
20050 Use kCFAbsoluteTimeIntervalSince1970.
20051
20052 * macmenu.c (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]:
20053 New variable.
20054 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Set it if dialog
20055 event loop should be quit.
20056 [TARGET_API_MAC_CARBON] (create_and_show_dialog) [!MAC_OSX]:
20057 Quit dialog event loop if quit_dialog_event_loop is set.
20058
20059 * macselect.c [!TARGET_API_MAC_CARBON]: Include Scrap.h.
20060 (Selection): New typedef. Use instead of ScrapRef.
20061 (mac_get_selection_from_symbol): Rename from get_scrap_from_symbol.
20062 (mac_valid_selection_target_p): Rename from valid_scrap_target_type_p.
20063 (mac_clear_selection): Rename from clear_scrap.
20064 (get_flavor_type_from_symbol): New argument SEL and subsume function of
20065 scrap_has_target_type. All uses changed.
20066 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
20067 (mac_selection_has_target_p): New functions.
20068 (mac_put_selection_value): Rename from put_scrap_string.
20069 (mac_get_selection_value): Rename from get_scrap_string.
20070 (mac_get_selection_target_list): Rename from get_scrap_target_type_list.
20071 (put_scrap_private_timestamp, scrap_has_target_type)
20072 (get_scrap_private_timestamp): Remove functions.
20073 (SCRAP_FLAVOR_TYPE_EMACS_TIMESTAMP): Remove define.
20074 (x_own_selection, x_get_local_selection):
20075 Use mac_valid_selection_value_p.
20076 (x_own_selection): Don't use put_scrap_private_timestamp.
20077 Record OWNERSHIP-INFO into Vselection_alist instead.
20078 (x_get_local_selection): Don't check type if request is local.
20079 (Fx_selection_owner_p): Don't use get_scrap_private_timestamp.
20080 Detect ownership change with OWNERSHIP-INFO in Vselection_alist instead.
20081
20082 2007-08-04 Jan Djärv <jan.h.d@swipnet.se>
20083
20084 * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s,
20085 add comment explaining why.
20086
20087 2007-08-03 Richard Stallman <rms@gnu.org>
20088
20089 * fileio.c (Fvisited_file_modtime): Use make_time.
20090
20091 2007-08-01 Ryo Yoshitake <ryo@shiftmode.net> (tiny change)
20092
20093 * mac.c (init_mac_osx_environment): Adjust load-path on self-contained
20094 build.
20095
20096 2007-07-31 Stefan Monnier <monnier@iro.umontreal.ca>
20097
20098 * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT.
20099
20100 2007-07-30 Katsumi Yamaoka <yamaoka@jpl.org>
20101
20102 * puresize.h (BASE_PURESIZE): Increase to 1130000.
20103
20104 2007-07-30 Richard Stallman <rms@gnu.org>
20105
20106 * lread.c (readevalloop, read1): Treat NBSP as whitespace.
20107
20108 2007-07-29 Jan Djärv <jan.h.d@swipnet.se>
20109
20110 * gmalloc.c (__malloc_initialize): Remove pthread_once. Not needed.
20111
20112 2007-07-28 Nick Roberts <nickrob@snap.net.nz>
20113
20114 * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for
20115 remote default-directory.
20116
20117 * buffer.c (mode-line-format): Update doc string.
20118
20119 2007-07-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
20120
20121 * w32term.c (w32_draw_fringe_bitmap): Extend fringe background to
20122 scroll bar gap.
20123 (x_scroll_bar_create): Set bar->fringe_extended_p.
20124 (w32_set_vertical_scroll_bar): Put leftmost/rightmost scroll bars
20125 on frame edge. Check fringe background extension. Don't clear
20126 extended fringe background area.
20127
20128 * w32term.h (struct scroll_bar): New member fringe_extended_p.
20129 (w32_fill_area): Enclose multiple statements with do ... while (0).
20130
20131 * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]:
20132 Extend fringe background to scroll bar gap.
20133 (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]:
20134 Set bar->fringe_extended_p.
20135 (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
20136 Put leftmost/rightmost scroll bars on frame edge. Check fringe
20137 background extension. Don't clear extended fringe background area.
20138
20139 * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
20140 New member fringe_extended_p.
20141
20142 2007-07-25 Glenn Morris <rgm@gnu.org>
20143
20144 * Relicense all FSF files to GPLv3 or later.
20145
20146 * COPYING: Switch to GPLv3.
20147
20148 2007-07-25 Stefan Monnier <monnier@iro.umontreal.ca>
20149
20150 * eval.c (Fcommandp): Pay attention to the `interactive-form' property.
20151
20152 * data.c (Finteractive_form): Check for the presence of an
20153 `interactive-form' symbol property more thoroughly.
20154
20155 * data.c (Finteractive_form): Use an `interactive-form' property if
20156 present, analogous to the function-documentation property.
20157
20158 2007-07-24 Jason Rumney <jasonr@gnu.org>
20159
20160 * w32fns.c (x_real_positions): Get real position from OS instead of
20161 calculating it.
20162
20163 2007-07-23 Jason Rumney <jasonr@gnu.org>
20164
20165 * filelock.c (current_lock_owner): Allow for @ sign in username.
20166
20167 2007-07-22 Nick Roberts <nickrob@snap.net.nz>
20168
20169 * xdisp.c (decode_mode_spec): Add case 'R' for to test for
20170 remote default-directory.
20171
20172 * buffer.c (mode-line-format): Describe above case in doc string.
20173
20174 2007-07-20 Eli Zaretskii <eliz@gnu.org>
20175
20176 * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):
20177 Define if not defined.
20178
20179 2007-07-18 Jason Rumney <jasonr@gnu.org>
20180
20181 * w32proc.c (w32_executable_type): Handle 64 bit executables.
20182
20183 2007-07-18 Richard Stallman <rms@gnu.org>
20184
20185 * data.c (Fsetq_default): Doc fix.
20186
20187 * eval.c (Fsetq): Doc fix.
20188
20189 2007-07-18 Juanma Barranquero <lekktu@gmail.com>
20190
20191 * coding.c (Ffind_operation_coding_system):
20192 * eval.c (For, Fand): Doc fixes.
20193 Reported by Johan Bockgård.
20194
20195 2007-07-18 Jan Djärv <jan.h.d@swipnet.se>
20196
20197 * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame.
20198
20199 * xterm.h: Declare x_ewmh_activate_frame.
20200
20201 * xterm.c (x_ewmh_activate_frame): New function.
20202 (XTframe_raise_lower): Move code to x_ewmh_activate_frame.
20203
20204 2007-07-17 Martin Rudalics <rudalics@gmx.at>
20205
20206 * window.c (Fdisplay_buffer): If largest or LRU window is the
20207 only window, split it even if it is not eligible for splitting.
20208 This restores the original behavior broken by the 2007-07-15
20209 change.
20210
20211 2007-07-17 Glenn Morris <rgm@gnu.org>
20212
20213 * abbrev.c (abbrev_check_chars): New function.
20214 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
20215 Call abbrev_check_chars to check abbrev characters are word
20216 constituents. Doc fix.
20217
20218 2007-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
20219
20220 * process.c (Fstart_process, Fmake_network_process)
20221 (read_process_output): Fix up last changes.
20222
20223 2007-07-16 Eli Zaretskii <eliz@gnu.org>
20224
20225 * makefile.w32-in (clean): Don't delete *~.
20226
20227 2007-07-16 Andreas Schwab <schwab@suse.de>
20228
20229 * window.c (Fdisplay_buffer): Use NILP.
20230 (Fset_window_scroll_bars): Likewise.
20231
20232 2007-07-15 Martin Rudalics <rudalics@gmx.at>
20233
20234 * window.c (window_min_size_2): New function.
20235 (window_min_size_1, size_window, Fdisplay_buffer)
20236 (Fsplit_window, adjust_window_trailing_edge): Use it to avoid
20237 windows without mode- or header-lines when window-min-height is
20238 too small.
20239 (size_window): Reset nodelete_p after testing it, following an
20240 earlier note by Kim F. Storm.
20241 (display_buffer): Do not set split_height_threshold to twice the
20242 value of window_min_height to avoid changing the value of a
20243 customizable variable. Rather explicitly check whether the
20244 height of the window that shall be splitted is at least as large
20245 as split_height_threshold.
20246 (Fwindow_full_width_p): New defun.
20247 (syms_of_window): Defsubr it.
20248
20249 * window.h: Add EXFUN for Fwindow_full_width_p.
20250
20251 2007-07-14 Jason Rumney <jasonr@gnu.org>
20252
20253 * process.c [WINDOWSNT]: Don't undefine AF_INET6.
20254
20255 2007-07-14 Richard Stallman <rms@gnu.org>
20256
20257 * eval.c (maybe_call_debugger): New function.
20258 (find_handler_clause): Use maybe_call_debugger.
20259 Call it when the handler says `debug'.
20260 Eliminate DEBUGGER_VALUE_PTR.
20261 (Fsignal): Eliminate debugger_value.
20262 (Qdebug): New variable.
20263 (syms_of_eval): Initialize it.
20264
20265 2007-07-14 Juanma Barranquero <lekktu@gmail.com>
20266
20267 * eval.c (Fprogn):
20268 * keyboard.c (Ftrack_mouse):
20269 * print.c (Fwith_output_to_temp_buffer):
20270 * window.c (Fsave_window_excursion): Doc fix.
20271
20272 2007-07-13 Stefan Monnier <monnier@iro.umontreal.ca>
20273
20274 * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400.
20275
20276 2007-07-12 Stefan Monnier <monnier@iro.umontreal.ca>
20277
20278 * process.h (struct Lisp_Process): Turn slots infd, outfd,
20279 kill_without_query, pty_flag, tick, update_tick, decoding_carryover,
20280 inherit_coding_system_flag, filter_multibyte, adaptive_read_buffering,
20281 read_output_delay, and read_output_skip from Lisp_Objects to ints.
20282 Remove unused encoding_carryover.
20283 * process.c: Adjust all functions accordingly.
20284
20285 2007-07-12 Richard Stallman <rms@gnu.org>
20286
20287 * term.c: Include unistd.h only if HAVE_UNISTD_H.
20288
20289 2007-07-11 Jason Rumney <jasonr@gnu.org>
20290
20291 * makefile.w32-in (LIBS): Include OLE32.
20292
20293 * w32fns.c (w32_msg_pump) <WM_EMACS_CREATEWINDOW>: Initialize COM.
20294 (w32_msg_pump) <WM_DESTROY>: Uninitialize COM.
20295
20296 2007-07-11 Stefan Monnier <monnier@iro.umontreal.ca>
20297
20298 * lisp.h (struct Lisp_Hash_Table): Turn next_weak into a bare pointer.
20299 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and turned
20300 from a Lisp_Object into a bare pointer.
20301 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
20302 Adjust the code correspondingly.
20303
20304 * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'.
20305
20306 * term.c: Include unistd.h for ttyname, used in handle_one_term_event.
20307 (term_show_mouse_face): Remove unused var `j'.
20308 (handle_one_term_event): Remove unused vars `i' and `j'.
20309 Don't cast return value of ttyname since it's not necessary.
20310
20311 2007-07-10 Stefan Monnier <monnier@iro.umontreal.ca>
20312
20313 * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using
20314 USE_LSB_TAG. Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
20315
20316 * fns.c (map_char_table): Use an array of int for `indices' rather than
20317 an array of Lisp_Objects (which are only ever integers anyway).
20318 (Fmap_char_table): Update caller.
20319 * lisp.h: Update prototype.
20320 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap):
20321 * fontset.c (Ffontset_info):
20322 * casetab.c (set_case_table): Update callers.
20323
20324 * editfns.c (Ftranspose_regions): Use EMACS_INT for positions.
20325
20326 * keymap.c (struct accessible_keymaps_data)
20327 (struct where_is_internal_data): New structures.
20328 (accessible_keymaps_1, where_is_internal_1): Use them to change
20329 interface to adhere to the one used by map_keymap.
20330 (Faccessible_keymaps, where_is_internal): Use map_keymap.
20331 (accessible_keymaps_char_table, where_is_internal_2): Remove.
20332
20333 * keymap.h (map_keymap_function_t): More informative prototype.
20334
20335 2007-07-10 Guanpeng Xu <herberteuler@hotmail.com>
20336
20337 * search.c (Vinhibit_changing_match_data, search_regs_1): New vars.
20338 (looking_at_1): Don't change search_regs and last_thing_searched
20339 if `inhibit-changing-match-data' is non-nil.
20340 (string_match_1, search_buffer, set_search_regs): Likewise.
20341 (syms_of_search): Add Lisp level definition for
20342 `inhibit-changing-match-data' and set it to nil.
20343 (boyer_moore): If `inhibit-changing-match-data' is non-nil, compute
20344 start and end of the match, instead of using values in search_regs.
20345
20346 2007-07-01 Stefan Monnier <monnier@iro.umontreal.ca>
20347
20348 * minibuf.c (Fcompleting_read): New value `confirm-only'
20349 for `require-match'.
20350
20351 2007-06-28 Stefan Monnier <monnier@iro.umontreal.ca>
20352
20353 * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as
20354 part of the 2007-06-27 change to syms_of_fileio.
20355
20356 2007-06-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
20357
20358 * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event):
20359 Check WINDOWP before using XWINDOW. Consolidate return statements.
20360
20361 2007-06-27 Richard Stallman <rms@gnu.org>
20362
20363 * fileio.c (syms_of_fileio) <after-insert-file-functions>: Doc fix.
20364
20365 2007-06-27 Juanma Barranquero <lekktu@gmail.com>
20366
20367 * buffer.c (syms_of_buffer) <selective-display>: Fix typo in docstring.
20368
20369 2007-06-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
20370
20371 * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Check this after including config.h.
20372 (_aligned_blocks_mutex) [USE_PTHREAD]: New variable.
20373 (LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS): New macros.
20374 (_free_internal, memalign): Use them.
20375 (_malloc_mutex, _aligned_blocks_mutex) [USE_PTHREAD]:
20376 Initialize to PTHREAD_MUTEX_INITIALIZER.
20377 (malloc_initialize_1) [USE_PTHREAD]: Don't use recursive mutex.
20378 (morecore_nolock): Rename from morecore. All uses changed.
20379 Use only nolock versions of internal allocation functions.
20380 (_malloc_internal_nolock, _realloc_internal_nolock)
20381 (_free_internal_nolock): New functions created from
20382 _malloc_internal, _realloc_internal, and _free_internal.
20383 (_malloc_internal, _realloc_internal, _free_internal): Use them.
20384 Copy hook value to automatic variable before its use.
20385 (memalign): Copy hook value to automatic variable before its use.
20386
20387 2007-06-26 Kenichi Handa <handa@m17n.org>
20388
20389 * coding.c (Ffind_operation_coding_system): Docstring improved.
20390 (syms_of_coding): Docstring of `file-coding-system-alist' improved.
20391
20392 2007-06-25 David Kastrup <dak@gnu.org>
20393
20394 * keymap.c (Fcurrent_active_maps): Add `position' argument.
20395 (Fwhere_is_internal): Adjust call to `current-active-maps' to
20396 cater for additional parameter.
20397
20398 * keymap.h: Adjust number of parameters to `current-active-maps'.
20399
20400 * doc.c (Fsubstitute_command_keys): Adjust call of
20401 `current-active-maps'.
20402
20403 2007-06-25 David Kastrup <dak@gnu.org>
20404
20405 * callint.c (Fcall_interactively): Make the parsing of interactive
20406 specs somewhat more readable.
20407
20408 2007-06-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
20409
20410 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe background
20411 to scroll bar gap also when bitmap fills fringe. Draw only foreground
20412 if extended background has already been filled.
20413
20414 2007-06-22 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
20415
20416 * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI.
20417 (USE_MAC_TOOLBAR): Require USE_CG_DRAWING.
20418
20419 * macmenu.c (mac_dialog_modal_filter, Fx_popup_dialog) [MAC_OSX]:
20420 Put special treatment for Fmessage_box, Fyes_or_no_p, and Fy_or_n_p
20421 in #if 0 as it is not compatible with y-or-n-p-with-timeout.
20422 (timer_check) [TARGET_API_MAC_CARBON]: Add extern.
20423 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Use QuitEventLoop
20424 instead of QuitAppModalLoopForWindow. Consolidate QuitEventLoop calls.
20425 (pop_down_dialog) [TARGET_API_MAC_CARBON]: New function.
20426 [TARGET_API_MAC_CARBON] (create_and_show_dialog): Use it for unwind.
20427 Run timers during dialog popup.
20428 (Fmenu_or_popup_active_p) [TARGET_API_MAC_CARBON]: Use popup_activated.
20429
20430 2007-06-21 Jason Rumney <jasonr@gnu.org>
20431
20432 * image.c (convert_mono_to_color_image): Swap fore and background.
20433
20434 2007-06-20 Jason Rumney <jasonr@gnu.org>
20435
20436 * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished.
20437 (w32_free_bdf_font): Unmap memory not handle.
20438
20439 2007-06-20 Sam Steingold <sds@gnu.org>
20440
20441 * gmalloc.c (__morecore): Fix the declaration to comply with the
20442 definition.
20443
20444 2007-06-20 Juanma Barranquero <lekktu@gmail.com>
20445
20446 * w32term.c (w32_delete_display): Remove leftover declaration.
20447 (w32_define_cursor, w32_initialize): Make static.
20448
20449 * w32.c (_wsa_errlist): Fix typo in error message.
20450 (init_environment): Ignore any environment variable from the
20451 registry having a null value.
20452
20453 2007-06-20 Glenn Morris <rgm@gnu.org>
20454
20455 * Makefile.in (LIBGIF): Default to -lgif.
20456
20457 2007-06-17 Jason Rumney <jasonr@gnu.org>
20458
20459 * w32menu.c (add_menu_item): Don't use multibyte string functions on
20460 unicode strings.
20461
20462 2007-06-16 Juanma Barranquero <lekktu@gmail.com>
20463
20464 * xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>:
20465 Fix typo in docstring.
20466
20467 2007-06-16 Eli Zaretskii <eliz@gnu.org>
20468
20469 * w32menu.c (add_menu_item): Escape `&' characters in menu items
20470 and their keybindings.
20471
20472 2007-06-15 Chong Yidong <cyd@stupidchicken.com>
20473
20474 * composite.c (update_compositions): Fix last fix.
20475
20476 2007-06-14 Jason Rumney <jasonr@gnu.org>
20477
20478 * w32.c (get_process_times_fn): New function pointer.
20479 (globals_of_w32): Intialize it if present in kernel32.dll.
20480 (w32_get_internal_run_time): New function.
20481
20482 * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it.
20483
20484 2007-06-14 Kenichi Handa <handa@etlken.m17n.org>
20485
20486 * composite.c (update_compositions): Check the validness of
20487 compositions.
20488
20489 2007-06-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
20490
20491 * frame.h (struct frame) [MAC_OS]: New member external_tool_bar.
20492 (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it.
20493
20494 * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity.
20495 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR.
20496
20497 * macgui.h (USE_MAC_TOOLBAR): New define.
20498
20499 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
20500 Return immediately unless popup is activated.
20501
20502 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe
20503 background to scroll bar gap.
20504 (x_scroll_bar_create) [MAC_OSX]: Set bar->fringe_extended_p.
20505 (XTset_vertical_scroll_bar) [MAC_OSX]: Put leftmost/rightmost
20506 scroll bars on frame edge. Check fringe background extension.
20507 Don't clear extended fringe background area.
20508 (TOOLBAR_IDENTIFIER, TOOLBAR_ICON_ITEM_IDENTIFIER)
20509 (TOOLBAR_ITEM_COMMAND_ID_OFFSET, TOOLBAR_ITEM_COMMAND_ID_P)
20510 (TOOLBAR_ITEM_COMMAND_ID_VALUE, TOOLBAR_ITEM_MAKE_COMMAND_ID):
20511 [USE_MAC_TOOLBAR]: New macros.
20512 (mac_move_window_with_gravity, mac_get_window_origin_with_gravity)
20513 (mac_handle_toolbar_event, mac_image_spec_to_cg_image)
20514 (mac_create_frame_tool_bar, update_frame_tool_bar, free_frame_tool_bar)
20515 (mac_tool_bar_note_mouse_movement, mac_handle_toolbar_command_event)
20516 [USE_MAC_TOOLBAR]: New functions.
20517 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Reposition window
20518 manually if previous repositioning has failed.
20519 (mac_handle_keyboard_event): Use precomputed event kind.
20520 (XTread_socket) [USE_MAC_TOOLBAR]: Handle click in structure region
20521 as tool bar item click. Handle mouse movement over tool bar items.
20522
20523 * macterm.h (struct mac_output) [USE_MAC_TOOLBAR]: New member
20524 toolbar_win_gravity.
20525 (struct scroll_bar) [MAC_OSX]: New member fringe_extended_p.
20526 (update_frame_tool_bar, free_frame_tool_bar) [USE_MAC_TOOLBAR]:
20527 Add externs.
20528
20529 * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window)
20530 [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display.
20531
20532 2007-06-14 Chong Yidong <cyd@stupidchicken.com>
20533
20534 * image.c (search_image_cache): Remove unused variable.
20535
20536 2007-06-13 Chong Yidong <cyd@stupidchicken.com>
20537
20538 * xfns.c, xmenu.c: Link to xaw3d if available.
20539
20540 2007-06-13 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
20541
20542 * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members
20543 frame_foreground and frame_background.
20544
20545 * image.c (lookup_image): Save frame foreground and background colors.
20546 (search_image_cache): Check if saved and current frame colors match.
20547
20548 2007-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
20549
20550 * regex.c (regex_compile): Remove the `regnum' counter.
20551 Use bufp->re_nsub instead. Add support for \(?N:RE\).
20552
20553 2007-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
20554
20555 * term.c: Include intervals.h to declare Fget_text_property.
20556
20557 2007-06-10 Jason Rumney <jasonr@gnu.org>
20558
20559 * w32fns.c (Fx_file_dialog): Take size from struct not pointer.
20560
20561 2007-06-08 Juanma Barranquero <lekktu@gmail.com>
20562
20563 * callint.c (Fcall_interactively):
20564 * editfns.c (Fdelete_and_extract_region):
20565 * fileio.c (Fread_file_name):
20566 * fns.c (Fmapconcat):
20567 * keyboard.c (cmd_error_internal):
20568 * keymap.c (Fkey_description):
20569 * lread.c (openp):
20570 * minibuf.c (read_minibuf):
20571 * search.c (wordify):
20572 * sunfns.c (sel_read):
20573 * xdisp.c (Fformat_mode_line, syms_of_xdisp):
20574 * xfns.c (x_default_scroll_bar_color_parameter):
20575 * xmenu.c (menu_help_callback):
20576 * xselect.c (Fx_get_atom_name):
20577 * xterm.c (x_term_init): Use empty_unibyte_string.
20578
20579 2007-06-08 Dmitry Antipov <dmantipov@yandex.ru> (tiny change)
20580
20581 * alloc.c (init_strings): Initialize canonical empty strings.
20582 (make_uninit_string, make_uninit_multibyte_string): Return appropriate
20583 canonical empty string when the requested size is 0.
20584
20585 * emacs.c (empty_unibyte_string): Rename from empty_string.
20586 (empty_multibyte_string): New canonical empty string.
20587 (syms_of_emacs): Don't initialize empty_string.
20588
20589 * lisp.h (STRING_SET_UNIBYTE): Return the canonical empty unibyte
20590 string, if appropriate.
20591 (empty_unibyte_string, empty_multibyte_string): New externs.
20592 (empty_string): Remove extern.
20593
20594 * lread.c (syms_of_lread): Use empty_unibyte_string.
20595
20596 2007-06-07 Jason Rumney <jasonr@gnu.org>
20597
20598 * s/ms-w32.h: Don't define HAVE_TZNAME.
20599
20600 * editfns.c (Fcurrent_time_zone): Remove hack for Japanese Windows.
20601
20602 2007-06-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
20603
20604 * mac.c (xrm_get_preference_database): Remove BLOCK_INPUT.
20605
20606 * macfns.c (mac_get_window_bounds): Move extern to macterm.h.
20607 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use GetGlobalMouse.
20608
20609 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
20610 Don't call next handler.
20611 [TARGET_API_MAC_CARBON] (install_menu_target_item_handler):
20612 Remove argument. Install handler to application.
20613 (set_frame_menubar): Don't change deep_p.
20614 (mac_menu_show): Use FRAME_OUTER_TO_INNER_DIFF_X and
20615 FRAME_OUTER_TO_INNER_DIFF_Y.
20616 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
20617 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
20618 [HAVE_DIALOGS]: New macros.
20619 [HAVE_DIALOGS] (mac_handle_dialog_event, create_and_show_dialog):
20620 Use them.
20621 (fill_menubar) [TARGET_API_MAC_CARBON]: Use CFString.
20622
20623 * macselect.c [MAC_OSX] (install_service_handler): Rename from
20624 init_service_handler. All callers changed. Return OSStatus value.
20625
20626 * macterm.c (mac_begin_cg_clip): New arg F. Call SetPortWindowPort.
20627 All callers changed so as not to call SetPortWindowPort.
20628 (mac_begin_cg_clip) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw.
20629 (mac_draw_image_string_atsui) [USE_ATSUI]: New function created from
20630 mac_draw_string_common.
20631 (mac_draw_image_string_qd): Likewise.
20632 (mac_draw_string_common): Use them. Add INLINE.
20633 (XTmouse_position, x_scroll_bar_report_motion) [TARGET_API_MAC_CARBON]:
20634 Use FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y, and
20635 GetGlobalMouse.
20636 (x_set_mouse_pixel_position) [MAC_OSX]: Use FRAME_OUTER_TO_INNER_DIFF_X
20637 and FRAME_OUTER_TO_INNER_DIFF_Y.
20638 [TARGET_API_MAC_CARBON] (mac_handle_mouse_event): Likewise.
20639 [USE_MAC_TSM] (mac_handle_text_input_event): Likewise.
20640 (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Move code for
20641 repositioning window to mac_handle_window_event.
20642 (x_make_frame_invisible) [TARGET_API_MAC_CARBON]: Move code for
20643 saving window location to mac_handle_window_event
20644 [USE_MAC_FONT_PANEL] (mac_show_hide_font_panel): Install handler here.
20645 (install_menu_target_item_handler): Remove argument in extern.
20646 [TARGET_API_MAC_CARBON] (mac_event_to_emacs_modifiers):
20647 Also accept command events.
20648 (do_keystroke): New function created from XTread_socket.
20649 (init_command_handler): Remove functions.
20650 [TARGET_API_MAC_CARBON] (mac_handle_window_event): Reposition window
20651 and save window location by kEventWindowShowing and kEventWindowHiding
20652 handlers here. Don't call next handler for window state change and
20653 focus events.
20654 (mac_handle_application_event, mac_handle_keyboard_event)
20655 [TARGET_API_MAC_CARBON]: New functions.
20656 (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for
20657 kEventWindowShowing and kEventWindowHiding events. Move installation
20658 of mouse, font, text input and menu target item handlers to
20659 install_application_handler.
20660 (install_application_handler) [TARGET_API_MAC_CARBON]: New function.
20661 (mac_handle_cg_display_reconfig) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
20662 New function.
20663 (init_dm_notification_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
20664 Register it.
20665 (XTread_socket) [TARGET_API_MAC_CARBON]:
20666 Consolidate SendEventToEventTarget calls.
20667 Use FRAME_OUTER_TO_INNER_DIFF_X and FRAME_OUTER_TO_INNER_DIFF_Y.
20668 Move application activation handler to mac_handle_application_event.
20669 Move keyboard handler to mac_handle_keyboard_event.
20670 (XTread_socket) [!TARGET_API_MAC_CARBON]: Use do_keystroke.
20671 (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call
20672 init_command_handler. Call install_application_handler.
20673
20674 * macterm.h (mac_get_window_bounds): Move extern from macfns.c.
20675 (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): New macros.
20676
20677 2007-06-07 Glenn Morris <rgm@gnu.org>
20678
20679 * emacs.c (main): Use `emacs-copyright' in --version output.
20680
20681 2007-06-06 Chong Yidong <cyd@stupidchicken.com>
20682
20683 * image.c (xpm_load): Remove spurious call to xpm_init_color_cache.
20684
20685 2007-06-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
20686
20687 * macfns.c (mac_window): Replace WindowPtr with WindowRef.
20688
20689 * macgui.h: Replace WindowPtr with WindowRef.
20690
20691 * macmenu.c: Replace MenuHandle and GetMenuHandle with MenuRef and
20692 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
20693 Replace ControlHandle with ControlRef.
20694 (install_menu_quit_handler): Rename arg MENU_HANDLE to ROOT_MENU.
20695
20696 * macterm.c: Replace MenuHandle and GetMenuHandle with MenuRef and
20697 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
20698 Replace ControlHandle with ControlRef.
20699 (USE_CARBON_EVENTS): Remove. Use TARGET_API_MAC_CARBON instead.
20700 [MAC_OS8] (do_get_menus): Rename variable `menu_handle' to `menu'.
20701
20702 * macterm.h (struct scroll_bar): Rename member control_handle_low
20703 and control_handle_high to control_ref_low and control_ref_high.
20704 All uses changed.
20705 (SCROLL_BAR_CONTROL_REF, SET_SCROLL_BAR_CONTROL_REF): Rename from
20706 SCROLL_BAR_CONTROL_HANDLE and SET_SCROLL_BAR_CONTROL_HANDLE,
20707 respectively. All uses changed.
20708 (XCreatePixmap, XCreatePixmapFromBitmapData, XSetWindowBackground)
20709 (install_window_handler, remove_window_handler): Replace WindowPtr
20710 with WindowRef in externs.
20711
20712 2007-06-05 Juanma Barranquero <lekktu@gmail.com>
20713
20714 * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops.
20715
20716 2007-06-03 Nick Roberts <nickrob@snap.net.nz>
20717
20718 * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case.
20719
20720 * frame.c (Fmouse_position, Fmouse_pixel_position):
20721 Condition on HAVE_GPM too.
20722
20723 * term.c (term_mouse_highlight): Remove unused variables.
20724 (Fterm_open_connection): Set gpm_zerobased to 1.
20725 (term_mouse_movement, term_mouse_click, handle_one_term_event):
20726 Use zero based co-ordinates.
20727 (handle_one_term_event): Report a drag as mouse movement too.
20728
20729 * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM.
20730
20731 2007-06-03 Chong Yidong <cyd@stupidchicken.com>
20732
20733 * image.c (search_image_cache): New function. Require background
20734 color match if background color is unspecified in the image spec.
20735 (uncache_image, lookup_image): Use it.
20736
20737 2007-06-01 Juanma Barranquero <lekktu@gmail.com>
20738
20739 * window.c (Fshrink_window): Reflow docstring.
20740
20741 2007-06-02 Chong Yidong <cyd@stupidchicken.com>
20742
20743 * Version 22.1 released.
20744
20745 2007-06-01 Richard Stallman <rms@gnu.org>
20746
20747 * xfns.c (x_encode_text): Add GCPRO.
20748
20749 2007-06-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
20750
20751 * xfns.c (x_set_name_internal): Save encoded name before
20752 x_encode_text in case string data is relocated.
20753
20754 2007-05-31 Richard Stallman <rms@gnu.org>
20755
20756 * buffer.c (syms_of_buffer): Doc fix.
20757
20758 2007-05-30 Nick Roberts <nickrob@snap.net.nz>
20759
20760 * sysdep.c (init_sys_modes): Add rather than replace with
20761 O_NONBLOCK.
20762
20763 * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to
20764 term_mouse_moveto.
20765
20766 * termhooks.h (term_mouse_moveto): New extern.
20767
20768 * term.c (mouse_face_window): Rename...
20769 (Qmouse_face_window): ...to this.
20770 (term_show_mouse_face, term_clear_mouse_face)
20771 (term_mouse_highlight): Use Qmouse_face_window.
20772 (term_mouse_moveto): New function.
20773 (term_mouse_position): Make it work.
20774 (syms_of_term): Uncomment assignment to mouse_position_hook.
20775 Staticpro Qmouse_face_window.
20776
20777 2007-05-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
20778
20779 * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t
20780 around current_column call.
20781
20782 2007-05-26 Dan Nicolaescu <dann@ics.uci.edu>
20783
20784 * xfaces.c (syms_of_xfaces): Delete stray semicolon.
20785 * xdisp.c (next_element_from_buffer):
20786 * window.c (delete_window):
20787 * term.c (term_mouse_highlight):
20788 * msdos.c (getdefdir):
20789 * macterm.c (mac_create_bitmap_from_bitmap_data)
20790 (init_font_name_table):
20791 * fns.c (Fsxhash):
20792 * data.c (Fmake_local_variable):
20793 * ccl.c (ccl_driver): Likewise.
20794
20795 2007-05-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
20796
20797 * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event):
20798 Call mac_wakeup_from_rne on window size change.
20799
20800 2007-05-25 Chong Yidong <cyd@stupidchicken.com>
20801
20802 * image.c (uncache_image): Fix typo.
20803
20804 2007-05-23 Johannes Weiner <hannes@saeurebad.de> (tiny change)
20805
20806 * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too.
20807
20808 2007-05-22 Richard Stallman <rms@gnu.org>
20809
20810 * xterm.c (x_connection_closed): Remove NO_RETURN.
20811
20812 2007-05-22 Martin Rudalics <rudalics@gmx.at>
20813
20814 * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD.
20815
20816 2007-05-21 Chong Yidong <cyd@stupidchicken.com>
20817
20818 * image.c (uncache_image): New function.
20819 (Fimage_refresh): New function.
20820
20821 2007-05-20 Jan Djärv <jan.h.d@swipnet.se>
20822
20823 * Makefile.in: Move GPM check outside HAVE_X_WINDOWS.
20824
20825 2007-05-20 Nick Roberts <nickrob@snap.net.nz>
20826
20827 * config.in, keyboard.c, Makefile.in, sysdep.c, term.c,
20828 * termhooks.h: Use HAVE_GPM instead of HAVE_GPM_H.
20829
20830 2007-05-20 Nick Roberts <nickrob@snap.net.nz>
20831
20832 * keyboard.c (make_lispy_event): Make case GPM_CLICK_EVENT
20833 conditional on [HAVE_GPM_H].
20834
20835 2007-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
20836
20837 * syntax.c (skip_chars): Update syntax-table only after we checked that
20838 the new location is valid.
20839
20840 2007-05-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
20841
20842 * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around
20843 mac_get_window_bounds.
20844
20845 2007-05-20 Nick Roberts <nickrob@snap.net.nz>
20846
20847 * Makefile.in (LIBGPM): Allow it to be set from configure.
20848 If set then link Emacs with it.
20849
20850 * config.in: Regenerate.
20851
20852 * lisp.h (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):
20853 New externs.
20854
20855 * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT.
20856 Include gpm.h.
20857 (handle_one_term_event, term_gpm): New externs.
20858
20859 * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking
20860 and allow it to be interrupted by SIGIO.
20861
20862 * process.c (gpm_wait_mask, max_gpm_desc): New variables.
20863 (wait_reading_process_output): Wait on gpm_fd too.
20864 (add_gpm_wait_descriptor, delete_gpm_wait_descriptor)): New functions.
20865 (add_gpm_wait_descriptor_called_flag): New variable.
20866 (delete_keyboard_wait_descriptor): Check gpm_wait_mask.
20867
20868 * keyboard.c [HAVE_GPM_H] (Qmouse_fixup_help_message)
20869 (make_lispy_movement, tracking_off, Ftrack_mouse, some_mouse_moved)
20870 (show_help_echo, readable_events, kbd_buffer_get_event, init_keyboard):
20871 Extend HAVE_MOUSE ifdefs to HAVE_GPM_H.
20872 (make_lispy_event): Add case GPM_CLICK_EVENT.
20873 (read_avail_input): Handle mouse input.
20874
20875 * term.c (write_glyphs_with_face): New function.
20876 [HAVE_GPM_H]: Include buffer.h, sys/fcntl.h.
20877 (mouse_face_beg_row, mouse_face_beg_col, mouse_face_end_row)
20878 (mouse_face_end_col, mouse_face_past_end, mouse_face_window)
20879 (mouse_face_face_id, term_gpm, pos_x, pos_y)
20880 (last_mouse_x, last_mouse_y): New variables.
20881 (term_show_mouse_face, term_clear_mouse_face, fast_find_position)
20882 (term_mouse_highlight, term_mouse_movement, term_mouse_position)
20883 (term_mouse_click, handle_one_term_event, Fterm_open_connection)
20884 (Fterm_close_connection): New functions.
20885 (term_init): Initialise mouse_face_window.
20886
20887 2007-05-19 Chong Yidong <cyd@stupidchicken.com>
20888
20889 * xdisp.c (redisplay_window): If first window line is a
20890 continuation line, recompute the new window start instead of
20891 recentering.
20892
20893 2007-05-18 Glenn Morris <rgm@gnu.org>
20894
20895 * m/alpha.h (ORDINARY_LINK): No longer define on OpenBSD.
20896 Suggested by Alfred M. Szmidt <ams@gnu.org>.
20897
20898 2007-05-17 Glenn Morris <rgm@gnu.org>
20899
20900 * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD.
20901
20902 2007-05-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
20903
20904 * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert
20905 dead key repeat and up events.
20906
20907 2007-05-14 Chong Yidong <cyd@stupidchicken.com>
20908
20909 * image.c (pbm_load): Check image size for monochrome pbm.
20910
20911 2007-05-13 Chong Yidong <cyd@stupidchicken.com>
20912
20913 * xterm.c (XTread_socket): Revert last change.
20914
20915 2007-05-12 Chong Yidong <cyd@stupidchicken.com>
20916
20917 * image.c (pbm_load): Correctly check image size for greyscale pbm.
20918
20919 * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC).
20920
20921 2007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
20922
20923 * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object
20924 mixup (YAILOM).
20925
20926 2007-05-07 Andreas Schwab <schwab@suse.de>
20927
20928 * keymap.c (Flookup_key): Fix typo in last change.
20929
20930 2007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
20931
20932 * keymap.c (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier
20933 mapping for unibyte strings.
20934
20935 2007-05-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
20936
20937 * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c.
20938 (Fx_popup_dialog) [MAC_OSX]: Likewise.
20939
20940 2007-04-29 Richard Stallman <rms@gnu.org>
20941
20942 * insdel.c (replace_range): For undo, record insertion first.
20943
20944 2007-04-29 Andreas Schwab <schwab@suse.de>
20945
20946 * lisp.h (VECSIZE): Use OFFSETOF.
20947
20948 2007-04-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
20949
20950 * xdisp.c (try_window_reusing_current_matrix): Fix number of
20951 disabled lines.
20952
20953 2007-04-28 Richard Stallman <rms@gnu.org>
20954
20955 * lread.c (read_escape): In a string, \s is always space.
20956
20957 2007-04-27 Jan Djärv <jan.h.d@swipnet.se>
20958
20959 * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog.
20960
20961 * gtkutil.c (xg_update_menubar, create_menus): Create empty
20962 submenu for menu bar items.
20963
20964 See ChangeLog.10 for earlier changes.
20965
20966 ;; Local Variables:
20967 ;; coding: utf-8
20968 ;; add-log-time-zone-rule: t
20969 ;; End:
20970
20971 Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
20972
20973 This file is part of GNU Emacs.
20974
20975 GNU Emacs is free software: you can redistribute it and/or modify
20976 it under the terms of the GNU General Public License as published by
20977 the Free Software Foundation, either version 3 of the License, or
20978 (at your option) any later version.
20979
20980 GNU Emacs is distributed in the hope that it will be useful,
20981 but WITHOUT ANY WARRANTY; without even the implied warranty of
20982 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20983 GNU General Public License for more details.
20984
20985 You should have received a copy of the GNU General Public License
20986 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
20987
20988 ;; arch-tag: dfb6ad96-1550-4905-9e53-d2059ee84c40