(Finternal_set_font_selection_order): Remove leading whitespace that
[bpt/emacs.git] / src / ChangeLog
1 2009-02-24 Glenn Morris <rgm@gnu.org>
2
3 * xfaces.c (Finternal_set_font_selection_order): Remove leading
4 whitespace that confuses documentation.
5
6 2009-02-23 Miles Bader <miles@gnu.org>
7
8 * process.c (Flist_system_processes, Fprocess_attributes)
9 (syms_of_process): Rename `system-process-attributes' to
10 `process-attributes'.
11
12 2009-02-22 Andreas Schwab <schwab@linux-m68k.org>
13
14 * coding.h (struct coding_system): Make safe_charsets a pointer to
15 unsigned char.
16 * coding.c (CODING_ISO_REQUEST): Check for safe_charsets content
17 being 255.
18 (SAFE_CHARSET_P): Likewise.
19 (setup_iso_safe_charsets): Properly setup safe_charsets.
20 (Fdefine_coding_system_internal): Likewise.
21 (setup_coding_system): Likewise. Remove unneeded casts.
22 (detect_coding_iso_2022): Compare Viso_2022_charset_list with
23 CODING_ATTR_CHARSET_LIST, not CODING_ATTR_SAFE_CHARSETS. Remove
24 unneeded casts.
25
26 * insdel.c (del_range_2): Don't modify gap contents when called
27 from decode_coding_object. (Bug#1809)
28
29 2009-02-21 Chong Yidong <cyd@stupidchicken.com>
30
31 * data.c (syms_of_data): Define Qfont_spec, Qfont_entity, and
32 Qfont_object.
33 (Ftype_of): Recognize font objects.
34
35 * lisp.h: Define Qfont_spec, Qfont_entity, Qfont_object extern.
36
37 * font.c (Qfont_spec, Qfont_entity, Qfont_object): Definitions
38 moved to data.c.
39
40 2009-02-20 Adrian Robert <Adrian.B.Robert@gmail.com>
41
42 * nsterm.m (x_make_frame_invisible): Unset async_visible,
43 async_iconified. Based on a patch by Christian Lynbech
44 <christian.lynbech@tieto.com>.
45 (EmacsView-windowDidMiniaturize:): Unset async_visible.
46
47 2009-02-20 Glenn Morris <rgm@gnu.org>
48
49 * syntax.c (Fskip_chars_forward): Fix doc typo.
50
51 2009-02-20 Chong Yidong <cyd@stupidchicken.com>
52
53 * keymap.c (Fkeymap_parent): Doc fix (Bug#2391).
54
55 2009-02-19 Chong Yidong <cyd@stupidchicken.com>
56
57 * xfns.c (Fx_create_frame): Give Xft driver a higher priority.
58
59 2009-02-19 Kenichi Handa <handa@m17n.org>
60
61 * coding.c (detect_coding): Preserve coding->mode.
62 Don't overflow coding->carryover. (Bug#2370)
63
64 2009-02-18 Dan Nicolaescu <dann@ics.uci.edu>
65
66 * m/ibmrs6000.h (ADDR_CORRECT): Restore, removed by mistake on 2008-07-23.
67
68 2009-02-18 Kenichi Handa <handa@m17n.org>
69
70 * font.c (font_check_otf_features): Fix handling of `nil' element.
71 (Ffont_spec): Describe :lang and :otf in the docstring.
72
73 2009-02-16 Andreas Schwab <schwab@suse.de>
74
75 * coding.c (Fcheck_coding_systems_region): Fix test for unibyte
76 string.
77
78 2009-02-16 Kenichi Handa <handa@m17n.org>
79
80 * coding.c (Fcheck_coding_systems_region): Fix typo; Qt -> Qnil.
81 (Bug#1723)
82
83 2009-02-14 Chong Yidong <cyd@stupidchicken.com>
84
85 * dispextern.h (struct iterator_stack_entry): New line_wrap member.
86
87 * xdisp.c (push_it, pop_it): Save and restore line_wrap.
88 (handle_line_prefix): Suppress wrapping of wrap prefixes.
89
90 2009-02-14 Eli Zaretskii <eliz@gnu.org>
91
92 * msdos.c (MAX_SCREEN_BUF): New macro.
93 (IT_write_glyphs): Make screen_buf[] always be MAX_SCREEN_BUF-long.
94 Encode the entire run of glyphs sharing the same face, instead of
95 doing that one glyph at a time (fixes a bug with displaying
96 double-size characters).
97
98 2009-02-13 Adrian Robert <Adrian.B.Robert@gmail.com>
99
100 * nsfns.m (ns-read-file-name): BLOCK_INPUT while showing dialog.
101
102 * nsmenu.m (pop_down_menu): Check popup_activated_flag.
103 (ns_popup_dialog, EmacsDialogPanel-runDialogAt:): Let
104 pop_down_menu do the cleanup work as it is always called. (Bug#2154)
105
106 * nsfont.m (nsfont_make_fontset_for_font): For now, don't try to
107 set fontset font for "mathematical-" sub-scripts. (Bug #2218)
108
109 2009-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
110
111 * keyboard.c (adjust_point_for_property): Allow stopping betwen two
112 invisible areas.
113
114 2009-02-12 Jason Rumney <jasonr@gnu.org>
115
116 * w32font.c (check_face_name): Check for fake helv. (Bug#2275)
117 (add_font_entity_to_list): Call check_face_name even when family
118 is unspecified.
119
120 * w32term.c (x_display_pixel_height, x_display_pixel_width):
121 Release DC when finished. Use NULL window to refer to desktop.
122 (w32_term_init): Use NULL window to refer to desktop. (Bug#460)
123
124 * w32font.c (add_font_entity_to_list): Fix check for substituted
125 raster fonts. (Bug#2219)
126
127 2009-02-12 Kenichi Handa <handa@m17n.org>
128
129 * composite.c (MAX_AUTO_COMPOSITION_LOOKBACK): New macro.
130 (composition_gstring_width): Fix handling of LGLYPH_YOFF.
131 (autocmp_chars): Use fast_looking_at. Don't compose more
132 characters than MAX_COMPOSITION_COMPONENTS.
133 (find_automatic_composition): While looking forward and backward,
134 check static composition. Fix where to stop looking forward.
135 (composition_adjust_point): Fix checking of static composition.
136 (Fcomposition_get_gstring): Pay attention to
137 MAX_COMPOSITION_COMPONENTS.
138
139 * lisp.h (fast_looking_at): Extern it.
140
141 * search.c (fast_looking_at): New function.
142
143 * term.c (encode_terminal_code): Adjust for the change of
144 <struct glyph>.u.cmp.to.
145 (append_composite_glyph): Likewise.
146
147 * xdisp.c (fill_gstring_glyph_string): Adjust for the change of
148 <struct glyph>.u.cmp.to. Check if the glyph belongs to the same
149 composition.
150 (append_composite_glyph): Adjust for the change of
151 <strcut glyph>.u.cmp.to.
152
153 2009-02-11 Juanma Barranquero <lekktu@gmail.com>
154
155 * casetab.c (init_casetab_once):
156 * coding.c (ALLOC_CONVERSION_WORK_AREA):
157 * font.c (font_update_lface):
158 * fontset.c (Fnew_fontset):
159 * ftfont.c (ftfont_drive_otf):
160 * xfont.c (xfont_open):
161 * xftfont.c (xftfont_get_xft_draw): Remove spurious semicolons.
162
163 2009-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
164
165 * fileio.c (Fwrite_region): !NILP -> CONSP.
166
167 2009-02-10 Andreas Schwab <schwab@suse.de>
168
169 * process.c (send_process): Properly relocate pointer into data
170 when using encoded data. (Bug#2272)
171
172 2009-02-08 ARISAWA Akihiro <ari@mbf.sphere.ne.jp>
173
174 * coding.c (detect_coding_charset): Fix previous change.
175
176 2009-02-08 Jason Rumney <jasonr@gnu.org>
177
178 * w32fns.c (w32_hide_hourglass): Handle case where frame
179 disappeared while hourglass was displayed. (Bug #2193)
180
181 2009-02-07 Andreas Schwab <schwab@suse.de>
182
183 * unexelf.c (unexec): Fix error message.
184
185 2009-02-07 Adrian Robert <Adrian.B.Robert@gmail.com>
186
187 * nsterm.m (EmacsApp-sendEvent:): Defer NSApplicationDefined event
188 when modal window is active. (Bug #2152)
189 (applicationShouldTerminate:): Remove now-unneeded while loop
190 around NSRunAlertPanel.
191
192 * nsmenu.m (popupSession): New file-global variable.
193 (pop_down_menu): End the popupSession before closing dialog.
194 (ns_popup_dialog): BLOCK_INPUT around dialog presentation.
195 (EmacsDialogPanel-runDialogAt:): Don't place window (superfluous),
196 don't query NSApp for events (just sleep instead).
197
198 2009-02-07 Eli Zaretskii <eliz@gnu.org>
199
200 * coding.c (syms_of_coding) <translation-table-for-input>:
201 Modify doc string to discourage use for character code unification.
202
203 2009-02-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
204
205 * atimer.c (run_timers): Update pending_atimers.
206
207 2009-02-06 Chong Yidong <cyd@stupidchicken.com>
208
209 * image.c (svg_load_image): Fix last change.
210
211 * xfns.c (Fx_create_frame): Signal an error if no font is
212 found (Bug#2147).
213
214 2009-02-05 Juanma Barranquero <lekktu@gmail.com>
215
216 * character.c (syms_of_character) <script-representative-chars>:
217 Fix typo in docstring.
218
219 2009-02-04 Adrian Robert <Adrian.B.Robert@gmail.com>
220
221 * nsmenu.m (pop_down_menu): New function.
222 (ns_popup_dialog): Call it on unwind.
223 (EmacsDialogPanel-runDialogAt:): Check popup_activated_flag and
224 call timer_check() (Bug#2154).
225 (EmacsMenu-menuNeedsUpdate:): Don't call ns_update_menu if
226 handling_signal is set.
227 (EmacsMenu-fillWithWidgetValue:): Set submenu title.
228
229 * config.in: Get rid of COCOA_EXPERIMENTAL_CTRL_G
230
231 * s/darwin.h: Same and NO_SOCK_SIGIO as well.
232
233 * nsterm.m (ns_read_socket): Same and don't set handling_signal.
234
235 * keyboard.c (poll_for_input_1, handle_async_input):
236 Set handling_signal under HAVE_NS.
237
238 2009-02-04 Glenn Morris <rgm@gnu.org>
239
240 * fileio.c (Fwrite_region): Doc fix (mention annotate-functions).
241
242 2009-02-04 Kenichi Handa <handa@m17n.org>
243
244 * Makefile.in (composite.o): Depends on frame.h and termhooks.h.
245
246 * charset.c (Fchar_charset): New optional arg restriction.
247
248 * coding.h (coding_system_charset_list): Extern it.
249
250 * coding.c (coding_system_charset_list): New function.
251
252 * composite.c: Include coding.h and termhooks.h.
253 (composition_gstring_p): Fix for the terminal case.
254 (composition_gstring_width): Likewise.
255 (fill_gstring_body): Likewise.
256 (autocmp_chars): For terminal, call Fcomposition_get_gstring with
257 the frame.
258 (composition_compute_stop_pos): Adjust cmp_it->stop_pos if point
259 is within a composition.
260 (Fcomposition_get_gstring): Fix the terminal case.
261
262 * term.c (encode_terminal_code): Fix handling of composition.
263 (produce_composite_glyph): For static composition, get pixel_width
264 from struct composition.
265
266 2009-02-02 Andreas Schwab <schwab@suse.de>
267
268 * unexelf.c (unexec): Handle unaligned bss offset.
269
270 2009-02-01 Adrian Robert <Adrian.B.Robert@gmail.com>
271
272 * nsterm.m (ns_read_socket): Copy 2009-01-29 and 2009-01-30
273 XT,w32read_socket changes to ns_read_socket.
274
275 * keyboard.c (handle_interrupt): Don't call
276 quit_throw_to_read_char() under NS.
277
278 * blockinput.h: Remove NS-specific code.
279
280 2009-01-30 Dan Nicolaescu <dann@ics.uci.edu>
281
282 * dispnew.c (window_change_signal): Don't try to get the size of a
283 suspended tty frame.
284 * term.c (Fresume_tty): Resize if the size has changed while the
285 tty was suspended.
286
287 * alloc.c (mark_stack): Properly conditionalize previous change.
288
289 2009-01-30 Juanma Barranquero <lekktu@gmail.com>
290
291 * w32inevt.c (w32_console_read_socket) [SYNC_INPUT]:
292 * w32term.c (w32_read_socket) [SYNC_INPUT]:
293 Remove; this code is not used on Windows.
294
295 2009-01-30 Eli Zaretskii <eliz@gnu.org>
296
297 * coding.c (detect_eol, decode_eol): Handle text with DOS-style
298 EOLs that also has stray ^M characters.
299
300 2009-01-30 Juanma Barranquero <lekktu@gmail.com>
301
302 * atimer.c (run_timers, alarm_signal_handler):
303 * keyboard.c (pending_signals, handle_async_input, init_keyboard):
304 * w32inevt.c (w32_console_read_socket):
305 * w32term.c (w32_read_socket):
306 * xterm.c (XTread_socket): Use "#ifdef SYNC_INPUT" where appropriate.
307
308 2009-01-30 Chong Yidong <cyd@stupidchicken.com>
309
310 * callproc.c (Vtemp_file_name_pattern): Remove DEFVAR_LISP.
311 Initialize it as a relative filename pattern.
312 (init_callproc): Don't initialize Vtemp_file_name_pattern here.
313 (Fcall_process_region): Simplify temp file creation using
314 temporary-file-directory.
315
316 2009-01-29 Eli Zaretskii <eliz@gnu.org>
317
318 * msdos.c: Rename pending_signals to msdos_pending_signals.
319 (sig_suspender, sigprocmask): Adjust.
320
321 2009-01-29 Chong Yidong <cyd@stupidchicken.com>
322
323 * keyboard.c (pending_signals): New var.
324 (poll_for_input, input_available_signal, init_keyboard): Set it.
325 (process_pending_signals): New function.
326
327 * lisp.h (QUIT): Check pending_signals instead of
328 interrupt_input_pending. Use process_pending_signals.
329
330 * atimer.c (run_timers, alarm_signal_handler): Update pending_signals.
331
332 * process.c (wait_reading_process_output): Use process_pending_signals.
333
334 * sysdep.c (emacs_write): Use process_pending_signals.
335
336 * xterm.c (XTread_socket): Update pending_signals.
337
338 * w32term.c (w32_read_socket): Update pending_signals.
339
340 * w32inevt.c (w32_console_read_socket): Update pending_signals.
341
342 2009-01-29 Kenichi Handa <handa@m17n.org>
343
344 * xftfont.c (xftfont_has_char): New function.
345 (syms_of_xftfont): Register xftfont_has_char in xftfont_driver.
346
347 2009-01-29 Adrian Robert <Adrian.B.Robert@gmail.com>
348
349 * nsterm.h (EmacsPrefsController.cursorBlinkSlider): Only define
350 under GNUstep.
351 (ns_query_color): New declaration.
352
353 * nsterm.m (ns_confirm_quit): New variable.
354 (ns_set_default_prefs, syms_of_nsterm, ns_term_init): Initialize it.
355 (EmacsApp-applicationShouldTerminate:): Use it.
356 (EmacsPrefsController): Let user set it.
357 (ns_query_color): New function.
358 (ns_defined_color): Use it.
359 (ns_initialize): Drop.
360 (ns_term_init): Add two lines from ns_initialize(), and set
361 input_interrupt_mode to nil.
362
363 * image.c (svg_load_image): Don't right-shift background RGB when
364 obtained from FRAME_BACKGROUND_PIXEL. Under HAVE_NS use ns_query_color.
365
366 2009-01-28 Kenichi Handa <handa@m17n.org>
367
368 * fontset.c (font_for_char): Use assq_no_quit, not assoc_no_quit.
369 (fontset_get_font_group): Remember that no font-group is specified
370 for C.
371
372 2009-01-27 Chong Yidong <cyd@stupidchicken.com>
373
374 * fns.c (concat): Check for string overflow (bug#1787).
375
376 * undo.c (undo_limit, undo_strong_limit, Vundo_outer_limit):
377 Quadruple undo limits (bug#1501).
378
379 2009-01-27 Kenichi Handa <handa@m17n.org>
380
381 * ftfont.c (ftfont_has_char): If the arg FONT is a font-object,
382 directly use GT_Get_Char_index.
383
384 * xftfont.c (struct xftfont_info): New member `index'.
385
386 * fontset.c (font_for_char): Use assq_no_quit, not assoc_no_quit.
387 (Ffontset_font): Adjust for the change of fontset entry.
388
389 2009-01-26 Kenichi Handa <handa@m17n.org>
390
391 * fontset.c (fontset_find_font): Fix handling of non-cons return
392 value of fontset_get_font_group.
393 (fontset_font): Revert last change.
394
395 2009-01-26 Jason Rumney <jasonr@gnu.org>
396
397 * w32font.c (w32font_list_internal): Return quickly if registry is
398 unknown. Simplify final return.
399 (add_font_entity_to_list): Break complex logic down into more
400 manageable chunks. Move unknown registry check to
401 w32font_list_internal.
402
403 2009-01-25 Adrian Robert <Adrian.B.Robert@gmail.com>
404
405 Changes to remove Feval calls from GUI under NS.
406
407 * nsterm.h: Move KEY_NS_... definitions here from nsterm.m.
408 Add NS_TOGGLE_TOOLBAR, NS_PUT_WORKING_TEXT, NS_UNPUT_WORKING_TEXT.
409 Remove NS_INSERT_WORKING_TEXT, NS_DELETE_WORKING_TEXT.
410
411 * nsterm.m: Move KEY_NS_... definitions to nsterm.h.
412 (EmacsView-toggleToolbar:): Use KEY_NS_TOGGLE_TOOLBAR.
413 (EmacsView-setMarkedText:,-deleteWorkingText:): Use NS_TEXT_EVENT
414 instead of NON_ASCII_KEYSTROKE_EVENT.
415 (EmacsApp-terminate:): Use KEY_NS_POWER_OFF instead of Feval.
416 (EmacsApp-applicationShouldTerminate:): Query user.
417 (EmacsPreferencesController-runHelp:): Use KEY_NS_INFO_PREFS
418 instead of Feval.
419
420 * termhooks.h (NS_TEXT_EVENT): New event type under HAVE_NS.
421
422 * keyboard.c (kbd_buffer_get_event): Check for it.
423 (keys_of_keyboard): Define lispy keys for
424 ns-put/unput-working-text.
425
426 * nsmenu.m (ns_popup_dialog): Resync window setting with X and W32
427 versions.
428 (EmacsDialog-runDialogAt:): Use NSModalPanelRunLoopMode.
429
430 2009-01-25 Chong Yidong <cyd@stupidchicken.com>
431
432 * dispnew.c (buffer_posn_from_coords): Use Fset_buffer instead of
433 setting current_buffer directly. (Bug#2044)
434
435 2009-01-24 Chong Yidong <cyd@stupidchicken.com>
436
437 * fontset.c (fontset_font): If we know there is no font, don't do
438 any work. (Bug#1952, bug#1990).
439
440 * font.c (font_parse_xlfd): Handle patterns of length < 2. (Bug#1802)
441
442 2009-01-23 Adrian Robert <Adrian.B.Robert@gmail.com>
443
444 * emacs.c (main): Do fork+exec under --daemon in Cocoa.
445 (ns_no_defaults): New declaration.
446 (main): Use it.
447
448 * nsterm.h (ns_no_defaults): New declaration.
449
450 * nsfns.m (x_get_string_resource): Don't read when ns_no_defaults.
451
452 * nsterm.m (ns_no_defaults): New variable.
453 (ns_initialize): Don't read defaults when ns_no_defaults.
454 (EmacsView-readSelectionFromPasteboard:)
455 (writeSelectionToPasteboard:types:): New stubbed-out methods for
456 NSServicesRequests protocol. (Bug#1435)
457 (ns_dumpglyphs_stretch): New function.
458 (ns_draw_glyph_string): Use it, parallel Yamamoto Mitsuharu change
459 of 2008-11-15 to other terms. (Bug#615)
460
461 * nsimage.m (setPixmapData:): Set to ignore image DPI.
462
463 2009-01-23 Giorgos Keramidas <keramida@freebsd.org> (tiny change)
464
465 * alloc.c (mark_stack): Use "flushw" instead of "ta 3" assembly
466 call for Sparc64.
467
468 2009-01-22 Adrian Robert <Adrian.B.Robert@gmail.com>
469
470 * nsfns.m:
471 * nsgui.h:
472 * nsmenu.m:
473 * nsselect.m:
474 * nsterm.h:
475 * nsterm.m: Remove '23' comments that indicated code added during
476 update from emacs-20 -> emacs-23.
477
478 2009-01-22 Adrian Robert <Adrian.B.Robert@gmail.com>
479
480 * nsterm.m (EmavsView-keyDown:): Treat nil as Qnone for
481 ns_alternate_modifier. (Bug#1217)
482
483 * nsmenu.m (EmacsMenu-parseKeyEquiv:, addItemWithWidgetValue:):
484 Display all shortcuts, including those w/o super modifier.
485
486 * nsfns.m (ns-read-file-name): Fix typo in assignment statement.
487
488 2009-01-22 Chong Yidong <cyd@stupidchicken.com>
489
490 * fileio.c (Vwrite_region_post_annotation_function)
491 (Vwrite_region_annotation_buffers): New vars.
492 (build_annotations_unwind): Just reset
493 Vwrite_region_annotation_buffers.
494 (Fwrite_region): Initialize Vwrite_region_annotation_buffers.
495 Call write-region-post-annotation-function.
496 (build_annotations): Add to Vwrite_region_annotation_buffers if
497 buffer changes.
498
499 2009-01-21 Adrian Robert <Adrian.B.Robert@gmail.com>
500
501 * nsterm.h (EmacsApp-setAppleMenu:): Conditionalize more correctly on
502 Tiger.
503 * nsfns.m (ns_do_applescript):
504 Conditionalize typeUTF16ExternalRepresentation on Tiger.
505
506 2009-01-21 Wolfgang Lux <wolfgang.lux@gmail.com> (tiny change)
507
508 * nsterm.m (EV_TRAILER): Always use emacsframe for frame_or_window.
509
510 2009-01-21 Adrian Robert <Adrian.B.Robert@gmail.com>
511
512 * nsmenu.m (NSMENUPROFILE): Change #if style.
513
514 * nsterm.h (EmacsPrefsController): Add -setPanelFromDefaultValues.
515
516 * nsterm.m (x_set_frame_alpha): Add prototype.
517 (ns_fake_keydown, EmacsView-keyUp:): New variable and function to
518 handle Ctrl-tab. (Bug#1841)
519 (ns_get_color): Use unsigned long long for scanned hex string value.
520 (ns_term_shutdown): Abort on non SIGTERM signals.
521 (EmacsPrefsController-setDefaultFont:,-setColors:): Raise the frame.
522 (EmacsPrefsController-setPanelFromDefaultValues) New function.
523 (EmacsPrefsController-resetToDefaults:): Use it. (Bug#1801)
524 (ns_font_to_xlfd, ns_fontname_to_xlfd): Remove, unused.
525 (ns_defined_color): Fix settings of the XColor variable fields:
526 red,green,blue scale to 2-byte, pixel's parts to 1-byte. (Bug#1663)
527
528 * nsimage.m (EmacsImage+allocInitFromFile:): Set to ignore image
529 DPI. (Bug#1316)
530 (EmacsImage-setPixelAtX:Y:toRed:green:blue:alpha:): Fix color
531 values in onTiger section.
532
533 2009-01-19 Chong Yidong <cyd@stupidchicken.com>
534
535 * xfaces.c (Finternal_set_lisp_face_attribute, Fx_list_fonts):
536 Check return value of font_spec_from_name.
537 (Fx_list_fonts): Doc fix. (Bug#1951)
538
539 * font.c (font_spec_from_name): Return Qnil if font name could not
540 be parsed.
541 (font_parse_name): Treat a `?' character as part of an XLFD.
542
543 * fns.c (Fsubstring): Doc fix.
544
545 2009-01-19 Kenichi Handa <handa@m17n.org>
546
547 * ftfont.c (ftfont_lookup_cache): Check the return value of FcFontList.
548 (ftfont_list): Likewise.
549
550 2009-01-18 Juanma Barranquero <lekktu@gmail.com>
551
552 * dbusbind.c (Fdbus_register_signal):
553 * process.c (conv_sockaddr_to_lisp):
554 * w32fns.c (Fw32_battery_status): Use empty_unibyte_string.
555
556 * callproc.c (Fgetenv_internal): Doc fix.
557
558 2009-01-16 Chong Yidong <cyd@stupidchicken.com>
559
560 * xfns.c (x_make_gc): Don't allocate stipple member for gc_values;
561 it is not even used.
562
563 2009-01-16 Glenn Morris <rgm@gnu.org>
564
565 * font.c (Ffont_variation_glyphs): Silence compiler.
566
567 2009-01-15 Juanma Barranquero <lekktu@gmail.com>
568
569 * sound.c (SOUND_WARNING): Use _snprintf, for MSVC compatibility.
570 Reported by David Robinow <drobinow@gmail.com>.
571
572 2009-01-15 Kenichi Handa <handa@m17n.org>
573
574 * coding.c (detect_coding_system): Fix handling of null_byte_found.
575
576 2009-01-14 Jason Rumney <jasonr@gnu.org>
577
578 * frame.c (x_set_font): Always store a font to the font parameter,
579 never a fontset. (Bug#1562)
580
581 2009-01-14 Kenichi Handa <handa@m17n.org>
582
583 * coding.c (TWO_MORE_BYTES): New macro.
584 (detect_coding_utf_16): Use TWO_MORE_BYTES instead of ONE_MORE_BYTE.
585
586 2009-01-13 Chong Yidong <cyd@stupidchicken.com>
587
588 * font.c (font_clear_prop): If clearing the family, clear the font
589 width index too.
590
591 * xfaces.c (Finternal_set_lisp_face_attribute): Revert last change.
592
593 2009-01-12 Juanma Barranquero <lekktu@gmail.com>
594
595 * sound.c [WINDOWSNT] (SOUND_WARNING): New macro.
596 (do_play_sound): Use it. Don't pass a hardcoded buffer size to mci
597 functions, use sizeof.
598
599 2009-01-12 Martin Rudalics <rudalics@gmx.at>
600
601 * keyboard.c (read_char): Fix case where last_nonmenu_event
602 returned a bad value with submenus. (Bug#447)
603
604 2009-01-12 Chong Yidong <cyd@stupidchicken.com>
605
606 * xfaces.c (Finternal_set_lisp_face_attribute): If setting the
607 family, clear the font width index too.
608
609 2009-01-11 Jason Rumney <jasonr@gnu.org>
610
611 * keyboard.c (cmd_error_internal): Exit when errors occur before
612 frame creation and not in daemon mode. (Bug#1836)
613
614 2009-01-10 Chong Yidong <cyd@stupidchicken.com>
615
616 * xdisp.c (pos_visible_p): When iterator stops on the last glyph
617 of a display vector, backtrack.
618 (try_window_reusing_current_matrix): Check glyph type before
619 referencing charpos member.
620
621 2009-01-10 Eli Zaretskii <eliz@gnu.org>
622
623 Fix Bug #876:
624
625 * coding.c (inhibit_null_byte_detection): New variable.
626 (detect_coding, detect_coding_system): Don't pay attention to null
627 bytes if inhibit_null_byte_detection is non-zero.
628 (syms_of_coding) <inhibit-null-byte-detection>: Declare and document.
629 <inhibit-iso-escape-detection>: Doc fix.
630
631 2009-01-09 Jason Rumney <jasonr@gnu.org>
632
633 * w32font.c (add_font_entity_to_list): Don't report unknown
634 Windows charset as any unrecognized registry. (Bug#1548)
635 Only report Unicode Plane 2 fonts as unicode-sip.
636
637 2009-01-09 Chong Yidong <cyd@stupidchicken.com>
638
639 * xfaces.c (Fx_font_family_list): Delete function.
640 Move compatibility version to faces.el.
641
642 * font.c (Ffont_family_list): Return a list of strings, not symbols.
643
644 2009-01-09 Martin Rudalics <rudalics@gmx.at>
645
646 * frame.c (x_set_frame_parameters): Remember requested value for
647 fullscreen before it's reset by the parameter handler.
648
649 2009-01-09 Glenn Morris <rgm@gnu.org>
650
651 * keyboard.c (last_command_char): For clarity, rename to...
652 (last_command-event): ... and update all users.
653 (last_input_char): For clarity, rename to...
654 (last_input_event): ... and update all users.
655 (last-command-char, last-input-char): Move to subr.el as aliases.
656 * cmds.c, commands.h: Update for last_command_char rename.
657
658 2009-01-08 Chong Yidong <cyd@stupidchicken.com>
659
660 * font.c (font_open_for_lface): Handle unspecified height attribute.
661
662 2009-01-08 Jason Rumney <jasonr@gnu.org>
663
664 * w32fns.c (Vx_pointer_shape, Vx_nontext_pointer_shape)
665 (Vx_mode_pointer_shape, Vx_window_horizontal_drag_shape)
666 (Vx_hourglass_pointer_shape, Vx_sensitive_text_pointer_shape):
667 Don't declare.
668 (syms_of_w32fns): Don't define x-pointer-shape variable. (Bug#1485)
669 (x_create_tip_frame) [GLYPH_DEBUG]: Enable image debugging code.
670
671 2009-01-07 Kenichi Handa <handa@m17n.org>
672
673 * fileio.c (Finsert_file_contents): In the case of replace,
674 remember the coding system used for decoding in
675 coding_system (Bug#1039).
676
677 * coding.c (decode_coding_utf_8): Check byte_after_cr before
678 breaking the loop. (Bug#870)
679 (decode_coding_utf_16, decode_coding_emacs_mule)
680 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
681 (decode_coding_charset): Likewise.
682
683 2009-01-05 Martin Rudalics <rudalics@gmx.at>
684
685 * frame.c (x_set_frame_parameters): Make sure height (width) get
686 applied when fullwidth (fullheight) is set. (Bug#1522)
687
688 2009-01-04 Juanma Barranquero <lekktu@gmail.com>
689
690 * w32.c: Use 64-bit arithmetic to do FILETIME conversions. (Bug#1766)
691 (utc_base): Declare as ULONGLONG, not long double.
692 (convert_time_raw): Delete.
693 (FILETIME_TO_U64, U64_TO_LISP_TIME): New macros.
694 (initialize_utc_base): New function.
695 (convert_time): Use FILETIME_TO_U64, initialize_utc_base.
696 (convert_from_time_t): Use initialize_utc_base; compute result with
697 64-bit arithmetic.
698 (process_times): Use FILETIME_TO_U64, U64_TO_LISP_TIME.
699
700 2009-01-03 Eli Zaretskii <eliz@gnu.org>
701
702 * process.c (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess)
703 (Qttname, Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime)
704 (Qcutime, Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs)
705 (Quser, Qgroup, Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime)
706 [!subprocesses]: Define.
707 (syms_of_process) [!subprocesses]: Intern and staticpro them.
708 (Flist_system_processes, Fsystem_process_attributes)
709 [!subprocesses]: Call list_system_processes and
710 system_process_attributes instead of returning Qnil.
711
712 * dosfns.c (system_process_attributes, list_system_processes):
713 New functions.
714
715 * vm-limit.c (ret_lim_data) [MSDOS]: New function.
716
717 * sysdep.c (list_system_processes, system_process_attributes) [MSDOS]:
718 Don't use the default (no-op) implementation.
719
720 2009-01-03 Jason Rumney <jasonr@gnu.org>
721
722 * keyboard.c (parse_modifiers_uncached): Wheel events are
723 clicks (bug#687).
724
725 * w32term.c (x_query_colors, x_query_color): New functions.
726
727 * image.c (x_to_xcolors, png_load): Eliminate W32 specific code.
728 (svg_load_image): Cast returned pointers from dynamically loaded
729 functions. Eliminate W32 specific code.
730
731 2009-01-02 Dan Nicolaescu <dann@ics.uci.edu>
732
733 * nsfns.m (x_set_foreground_color, x_set_background_color)
734 (x_set_cursor_color, x_set_icon_name, x_explicitly_set_name)
735 (x_set_title, x_set_icon_type, x_set_cursor_type): Rename to use
736 x_ prefix instead of ns_. Update references.
737 (syms_of_nsfns): Add a FIXME comment.
738
739 * nsterm.m (x_set_cursor_type): New prototype.
740 (setValuesFromPanel): Use it instead of the old ns_ prefixed name.
741
742 * sysdep.c (system_process_attributes): Provide Qtime and Qctime
743 for Solaris instead of incorrectly providing Qutime and Qcutime.
744
745 2009-01-02 Eli Zaretskii <eliz@gnu.org>
746
747 * w32.c (process_times): Compute sum of utime and stime.
748 (system_process_attributes): Add Qtime to the alist.
749
750 * sysdep.c (system_process_attributes): Compute Qtime and Qctime
751 and add them to the alist.
752
753 * process.c (top level) <Qtime, Qctime>: New variables.
754 (syms_of_process): staticpro them.
755 (Fsystem_process_attributes): Add their documentation to the doc
756 string.
757
758 * process.h: Declare Qtime and Qctime.
759
760 2009-01-02 Jason Rumney <jasonr@gnu.org>
761
762 * image.c (Qgobject): New symbol.
763 (syms_of_image): Initialize it.
764 (init_svg_functions): Load some functions from gobject library.
765
766 2009-01-01 Dan Nicolaescu <dann@ics.uci.edu>
767
768 * frame.c (make_terminal_frame): Remove redundant code and useless
769 block.
770
771 2009-01-01 Andreas Schwab <schwab@suse.de>
772
773 * process.c (conv_sockaddr_to_lisp): Add workaround for
774 getsockname bug on BSD.
775
776 2009-01-01 Chong Yidong <cyd@stupidchicken.com>
777
778 * xfns.c (x_create_tip_frame): Set border width of the X window.
779
780 * xfaces.c (Finternal_set_lisp_face_attribute): Improve error message.
781
782 2009-01-01 Jason Rumney <jasonr@gnu.org>
783
784 * w32term.c (x_new_font): Return font object, not fontset. (Bug#119)
785 Don't block input, as per earlier xterm.c changes.
786
787 2008-12-31 Adrian Robert <Adrian.B.Robert@gmail.com>
788
789 * nsfns.m (ns_appkit_version_str): Rename from ns_appkit_version.
790 (ns_appkit_version_int): New function.
791 (x-server-version): Use ns_appkit_version_int and follow 21+
792 convention of returning 3 integers.
793
794 2008-12-30 Kenichi Handa <handa@m17n.org>
795
796 * character.h (CHAR_VARIATION_SELECTOR_P): New macro.
797 (CHAR_SURROGATE_PAIR_P): New macro.
798
799 * font.h (struct font_driver): New member get_variation_glyphs.
800
801 * font.c (font_range): Don't require a font for a variation selector.
802 (Ffont_variation_glyphs): New function.
803 (syms_of_font): Defsubr it.
804
805 * ftfont.c (ftfont_driver): Set the member get_variation_glyphs to
806 ftfont_variation_glyphs.
807 (setup_otf_gstring): New function.
808 (ftfont_drive_otf): Use it.
809 (ftfont_shape_by_flt): Handle variation selector.
810 (ftfont_variation_glyphs): New function.
811
812 2008-12-30 Martin Rudalics <rudalics@gmx.at>
813
814 * frame.c (Vemacs_iconified): Remove.
815
816 2008-12-30 Jason Rumney <jasonr@gnu.org>
817
818 * frame.c (store_frame_param, x_get_arg): Enable newer code on
819 WINDOWSNT too, as related changes have already been synced. (Bug#117)
820
821 2008-12-30 Chong Yidong <cyd@stupidchicken.com>
822
823 * indent.c (Fvertical_motion): Don't advance iterator if we have
824 reseated to the desired position.
825
826 * xdisp.c (move_it_to): Handle GET_FROM_STRETCH method when
827 checking for pos match.
828
829 2008-12-30 Kenichi Handa <handa@m17n.org>
830
831 * insdel.c (copy_text): To convert a non-ASCII char to unibyte,
832 just get the low 8-bit of the code.
833
834 * font.c (font_intern_prop): Validate str as multibyte.
835
836 2008-12-29 Dan Nicolaescu <dann@ics.uci.edu>
837
838 * dispextern.h (struct face): Move lface and hash from the middle
839 of bitfields.
840
841 * Makefile.in (INTERVALS_H): Rename from INTERVAL_SRC, update all users.
842
843 2008-12-29 Dan Nicolaescu <dann@ics.uci.edu>
844
845 * Makefile.in (INTERVAL_SRC): Also depend on dispextern.h.
846 (coding.o, dispnew.o, keymap.o, msdos.o): Depend on INTERVAL_SRC
847 instead of intervals.h.
848
849 2008-12-26 Andreas Schwab <schwab@suse.de>
850
851 * keymap.c (map_keymap_char_table_item): Make a copy of KEY if it is a
852 cons.
853
854 2008-12-26 Martin Rudalics <rudalics@gmx.at>
855
856 * textprop.c (Qminibuffer_prompt): New variable.
857 (syms_of_textprop): Initialize it.
858 * callint.c (Fcall_interactively): For `c', `k', and `K' prompt
859 in minibuffer-prompt face. (Bug#1662)
860
861 2008-12-25 Jason Rumney <jasonr@gnu.org>
862
863 * buffer.c (Fbuffer_swap_text): Use POINTER_TYPE.
864
865 2008-12-24 Jason Rumney <jasonr@gnu.org>
866
867 * ralloc.c (r_alloc_reset_variable): New function.
868
869 * buffer.c (Fbuffer_swap_text) [REL_ALLOC]: Reset ralloc's internal
870 record of what points where. (Bug#716)
871
872 2008-12-22 Dan Nicolaescu <dann@ics.uci.edu>
873
874 * minibuf.c (read_minibuf): Follow the non-interactive case when
875 running as a daemon, before detaching.
876
877 2008-12-22 Andreas Schwab <schwab@suse.de>
878
879 * buffer.c (init_buffer): Use realloc instead of xrealloc.
880 * gtkutil.c (free_widget_value): Use xfree instead of free.
881
882 2008-12-22 Martin Rudalics <rudalics@gmx.at>
883
884 * frame.c (delete_frame): New function derived from
885 Fdelete_frame to handle Qnoelisp value for FORCE argument.
886 Delete last frame iff FORCE equals Qnoelisp. (Bug#1450)
887 (Fdelete_frame): Call delete_frame. Remove line from doc-string
888 saying that FORCE non-nil doesn't run `delete-frame-functions'.
889 * frame.h: Extern delete_frame.
890 * window.c (window_loop):
891 * terminal.c (delete_terminal):
892 * xterm.c (x_connection_closed):
893 * xfns.c (Fx_hide_tip):
894 * w32fns.c (Fx_hide_tip): Call delete_frame instead of Fdelete_frame.
895
896 2008-12-21 Jason Rumney <jasonr@gnu.org>
897
898 * w32uniscribe.c (uniscribe_encode_char): Return FONT_INVALID_CHAR
899 when character maps to .notdef character.
900
901 2008-12-21 Stefan Monnier <monnier@iro.umontreal.ca>
902
903 * keyboard.c (cmd_error_internal): Don't exit in daemon mode, bug#1310.
904
905 2008-12-20 Jason Rumney <jasonr@gnu.org>
906
907 * frame.c (Fmake_terminal_frame): Raise an error when called from
908 a graphical frame on Windows. (Bug#1325)
909
910 2008-12-20 Jan Djärv <jan.h.d@swipnet.se>
911
912 * frame.c (Fdelete_frame): Set f->menu_bar_vector to Qnil.
913
914 2008-12-20 Chong Yidong <cyd@stupidchicken.com>
915
916 * minibuf.c (Fread_buffer): Doc fix.
917
918 2008-12-20 Jason Rumney <jasonr@gnu.org>
919
920 * fileio.c (Fexpand_file_name): Do not allow ../ to go beyond the
921 server name in UNC paths. (Bug#719)
922
923 * coding.c (decode_coding): Clear chars_at_source flag when using
924 charbuf. (Bug#1035)
925
926 2008-12-19 Daniel Engeler <engeler@gmail.com>
927
928 * sysdep.c (serial_configure): Fix typo.
929
930 2008-12-19 Dan Nicolaescu <dann@ics.uci.edu>
931
932 * sysdep.c: Include alloca.h.
933 (system_process_attributes): Add implementation for Solaris.
934
935 * s/sol2-10.h (HAVE_PROCFS, _STRUCTURED_PROC): New defines.
936
937 2008-12-19 Dan Nicolaescu <dann@ics.uci.edu>
938
939 Reorganize implementation of Flist_system_processes and
940 Fsystem_process_attributes. No functional changes.
941 * process.c: Don't #include pwd.h, grp.h and limits.h.
942 (Flist_system_processes): Just call list_system_processes.
943 (Fsystem_process_attributes): Just call system_process_attributes.
944 (procfs_list_system_processes, time_from_jiffies)
945 (ltime_from_jiffies, get_up_time, procfs_ttyname, MAJOR, MINOR)
946 (procfs_get_total_memory, procfs_system_process_attributes): Move ...
947
948 * sysdep.c: ... here. Include pwd.h, grp.h and limits.h.
949 (list_system_processes): Rename from
950 procfs_list_system_processes. Enclose in #ifdef HAVE_PROCFS.
951 Provide a do nothing implementation.
952 (system_process_attributes): Rename from
953 procfs_list_system_processes.
954 (ltime_from_jiffies, get_up_time, procfs_ttyname, MAJOR, MINOR)
955 (procfs_get_total_memory): Enclose in #ifdef GNU_LINUX.
956
957 * w32.c (list_system_processes): Rename from
958 w32_list_system_processes.
959 (system_process_attributes): Rename from
960 w32_system_process_attributes.
961
962 * s/gnu-linux.h (LISTPROC, PROCATTR): Remove.
963
964 * process.h (w32_list_system_processes)
965 (w32_system_process_attributes): Remove.
966 (list_system_processes, system_process_attributes): New
967 prototypes.
968
969 2008-12-19 Kenichi Handa <handa@m17n.org>
970
971 * xfont.c (xfont_decode_coding_xlfd): New function.
972 (xfont_encode_coding_xlfd): New function.
973 (xfont_list_pattern): Decode XLFD by iso-8859-1.
974 (xfont_list): Decode and encode XLFD by iso-8859-1.
975 (xfont_match): Likewise.
976 (xfont_list_family): Likewise.
977 (xfont_open): Likewise.
978
979 * ftfont.c (ftfont_open): Generate a multibyte string if given
980 names are utf-8.
981
982 * xftfont.c (xftfont_open): Generate a multibyte string if given
983 names are utf-8.
984
985 2008-12-18 Jan Djärv <jan.h.d@swipnet.se>
986
987 * gtkutil.c (xg_frame_resized): Remove check if rows/columns have
988 changed.
989 (xg_tool_bar_proxy_callback): Put focus on the frame after we have
990 clicked on a detached tool bar button.
991
992 2008-12-18 Dan Nicolaescu <dann@ics.uci.edu>
993
994 * emacs.c (main): Print and error and exit when no data is read
995 from the pipe.
996
997 2008-12-17 Jason Rumney <jasonr@gnu.org>
998
999 * w32font.c (w32font_has_char): Always return -1.
1000
1001 2008-12-16 Kenichi Handa <handa@m17n.org>
1002
1003 * font.c (font_open_entity): Fix previous change.
1004
1005 2008-12-16 Dan Nicolaescu <dann@ics.uci.edu>
1006
1007 * process.c: Include <limits.h>.
1008
1009 2008-12-16 Chetan Pandya <pandyacus@sbcglobal.net> (tiny change)
1010
1011 * font.c (font_update_drivers): Fix mistake in reconstructing the
1012 driver list.
1013
1014 2008-12-16 Chong Yidong <cyd@stupidchicken.com>
1015
1016 * font.c (font_clear_cache): Fix format of font cache data.
1017
1018 2008-12-15 Chong Yidong <cyd@stupidchicken.com>
1019
1020 * xftfont.c (xftfont_open): Free Xft font pattern if
1021 XftFontOpenPattern fails.
1022
1023 * xterm.c (x_free_frame_resources): Remove extraneous call to
1024 free_frame_faces.
1025
1026 2008-12-13 Chong Yidong <cyd@stupidchicken.com>
1027
1028 * xterm.c (x_delete_display): Move xim_close_dpy call to
1029 x_delete_terminal.
1030 (x_delete_terminal): Call xim_close_dpy.
1031
1032 2008-12-13 Jason Rumney <jasonr@gnu.org>
1033
1034 * w32font.c (intern_font_name): New function.
1035 (add_font_name_to_list, w32_enumfont_pattern_entity): Use it.
1036 (w32font_open_internal, Fx_select_font): Decode font name.
1037 (fill_in_logfont, list_all_matching_fonts): Encode font name.
1038
1039 * w32font.h (intern_font_name): Declare new function.
1040
1041 * w32uniscribe.c (add_opentype_font_name_to_list):
1042 Use intern_font_name.
1043
1044 2008-12-13 Chong Yidong <cyd@stupidchicken.com>
1045
1046 * frame.c (Fdelete_frame): Call free_font_driver_list.
1047
1048 * font.c (free_font_driver_list): Implement missing function.
1049
1050 * w32term.c (w32_term_init): Don't initialize the image cache
1051 here; it will be done in init_frame_faces.
1052
1053 * xterm.h (struct xim_inst_t): Definition moved from xterm.c.
1054 (struct x_display_info): Remove unused member null_pixel. New
1055 member xim_callback_data.
1056
1057 * xterm.c (struct xim_inst_t): Definition moved to xterm.h.
1058 (xim_initialize): Save pointer to callback function data.
1059 (xim_close_dpy): Free callback function data. Call XCloseIM,
1060 reverting 2008-11-04 change by David Smith.
1061 (x_term_init): Don't initialize the image cache here; it will be
1062 done in init_frame_faces. Remove ancient "null_pixel" cruft.
1063 (x_delete_display): Free x_dnd_atoms member.
1064
1065 2008-12-13 Kenichi Handa <handa@m17n.org>
1066
1067 * font.c (font_rescale_ratio): Moved from xfaces.c.
1068 Argument type changed. Handle a font-spec too.
1069 (font_score): Check Vface_font_rescale_alist.
1070 (font_open_entity): Likewise. (Bug#1547)
1071
1072 * xfaces.c (font_rescale_ratio): Moved to font.c.
1073
1074 2008-12-13 Chong Yidong <cyd@stupidchicken.com>
1075
1076 * xfns.c (Fx_wm_set_size_hint): Check if the frame is an X frame.
1077
1078 2008-12-12 Jason Rumney <jasonr@gnu.org>
1079
1080 * w32fns.c (x_display_info_for_name, Fx_open_connection): Set
1081 Vwindow_system_version to the real w32 major version.
1082
1083 2008-12-12 Dan Nicolaescu <dann@ics.uci.edu>
1084
1085 * term.c (init_tty): Move setting the terminal name before the
1086 potential user: maybe_fatal.
1087
1088 2008-12-11 Chong Yidong <cyd@stupidchicken.com>
1089
1090 * term.c (tty_free_frame_resources): Renamed from delete_tty_output;
1091 all callers changed. Call free_frame_faces to free the face cache.
1092
1093 2008-12-11 Jason Rumney <jasonr@gnu.org>
1094
1095 * w32font.c (fill_in_logfont): Don't assume symbol script means
1096 SYMBOL_CHARSET. (Bug#547)
1097
1098 * w32uniscribe.c (uniscribe_encode_char): Increase glyph buffer
1099 size for surrogates. (Bug#1096, bug#872)
1100
1101 2008-12-11 Juanma Barranquero <lekktu@gmail.com>
1102
1103 * w32proc.c (Fw32_get_locale_info): Decode long form of locale name.
1104
1105 2008-12-11 Juanma Barranquero <lekktu@gmail.com>
1106
1107 * process.c (Fsystem_process_attributes, syms_of_process):
1108 Fix typo in name of Ssystem_process_attributes.
1109 Reported by Ulrich Mueller <ulm@kph.uni-mainz.de>.
1110
1111 2008-12-11 Juanma Barranquero <lekktu@gmail.com>
1112
1113 * syntax.c (Fmodify_syntax_entry): Doc fix.
1114
1115 2008-12-10 Juanma Barranquero <lekktu@gmail.com>
1116
1117 * font.c (Ffont_spec): Move usage to end of docstring.
1118
1119 2008-12-10 Jason Rumney <jasonr@gnu.org>
1120
1121 * w32font.c (Qcham): New symbol.
1122 (font_supported_scripts): Add cham, and comments for other new
1123 scripts in bitfield from OpenType spec.
1124 (add_font_entity_to_list): Limit unicode-sip fonts to those that
1125 contain characters beyond the bmp.
1126
1127 2008-12-10 Kenichi Handa <handa@m17n.org>
1128
1129 * ftfont.c (fc_charset_table): Add "unicode-sip".
1130 (ftfont_spec_pattern): Lookup fc_charset_table for the registry
1131 Qunicode_sip.
1132
1133 2008-12-10 Juanma Barranquero <lekktu@gmail.com>
1134
1135 * coding.c (QCdefault_char): Rename from QCdefalut_char.
1136 (Fcoding_system_put): Use QCdefault_char.
1137 (syms_of_coding): Set QCdefault_char, not QCdefalut_char.
1138
1139 2008-12-09 Chong Yidong <cyd@stupidchicken.com>
1140
1141 * xftfont.c (syms_of_xftfont): Fix typo.
1142
1143 * buffer.c (Fbuffer_swap_text): Signal error if swapping a dead buffer.
1144
1145 2008-12-08 Dan Nicolaescu <dann@ics.uci.edu>
1146
1147 * emacs.c (main): Close daemon_pipe on exec.
1148
1149 2008-12-08 Chong Yidong <cyd@stupidchicken.com>
1150
1151 * termchar.h (struct tty): New members termcap_term_buffer and
1152 termcap_strings_buffer.
1153
1154 * term.c (encode_terminal_code): Free any previous memory blocks
1155 before calling xmalloc for encode_terminal_src or encode_terminal_dst.
1156 (maybe_fatal): Buffer argument deleted. Don't free buffer here.
1157 All callers changed.
1158 (init_tty): Store termcap data and string buffers in new struct
1159 tty members termcap_term_buffer and termcap_strings_buffer.
1160 (delete_tty): Free them.
1161 (syms_of_term): Initialize encode_terminal_src and encode_terminal_dst.
1162
1163 2008-12-07 Seiji Zenitani <zenitani@mac.com>
1164
1165 * nsfns.m (ns_set_background_color): Remove code duplication.
1166 It was a substitute for face-transparency on OS X 10.3.
1167
1168 2008-12-06 Chong Yidong <cyd@stupidchicken.com>
1169
1170 * coding.c (make_conversion_work_buffer): Disable buffer
1171 modification hooks in the work buffer.
1172
1173 2008-12-05 Eli Zaretskii <eliz@gnu.org>
1174
1175 * process.c (procfs_system_process_attributes): If `nread' has a
1176 negative value, assign zero to it.
1177
1178 2008-12-05 Chong Yidong <cyd@stupidchicken.com>
1179
1180 * eval.c (Vdebug_on_error): Doc fix.
1181
1182 2008-12-05 Kenichi Handa <handa@m17n.org>
1183
1184 * ftfont.c (ftfont_shape_by_flt): Use "combining" flt if the
1185 second character is a combining character.
1186
1187 2008-12-05 Eli Zaretskii <eliz@gnu.org>
1188
1189 * process.c (procfs_system_process_attributes): Don't use cmd,
1190 cmdsize, and q without initializing them first.
1191
1192 2008-12-04 Jason Rumney <jasonr@gnu.org>
1193
1194 * w32font.c (w32font_draw): Initialize orig_clip before getting
1195 it, and delete it when finished.
1196
1197 2008-12-04 Dan Nicolaescu <dann@ics.uci.edu>
1198
1199 * keyboard.c (kbd_buffer_get_event): Follow the non-interactive
1200 case when running as a daemon before detaching.
1201
1202 2008-12-03 Juanma Barranquero <lekktu@gmail.com>
1203
1204 * w32.c (init_environment): Don't unload library shell32.dll.
1205
1206 2008-12-03 Kenichi Handa <handa@m17n.org>
1207
1208 * font.c (font_at): Set `multibyte' at first.
1209
1210 * coding.c (decode_coding_charset): Check type of an element of
1211 vector VALIDS.
1212 (encode_coding_emacs_mule): Be sure to set `code'.
1213
1214 * fontset.c (face_for_char): Handle invalid charset property correctly.
1215 (font_for_char): Likewise.
1216
1217 2008-12-03 Chong Yidong <cyd@stupidchicken.com>
1218
1219 * font.c (Fopen_font): Compute pixel size correctly.
1220 (font_update_lface): Handle fonts with corrupted size specs,
1221 i.e. non-int and non-float.
1222
1223 * ftfont.c (ftfont_match): Initialize entity variable.
1224 (ftfont_resolve_generic_family): Avoid using uninitialized var.
1225 (ftfont_list_family): Initialize list var earlier.
1226
1227 * xselect.c (Fx_get_cut_buffer_internal): Fix memory leak.
1228
1229 * xterm.c (x_draw_glyph_string): Fall back on
1230 underline_minimum_offset for underline position.
1231
1232 2008-12-03 Dan Nicolaescu <dann@ics.uci.edu>
1233
1234 * keyboard.c (read_char_help_form_unwind): Specify the type for ARG.
1235
1236 * character.c (c_string_width): Specify the type for LEN.
1237
1238 2008-12-03 Kenichi Handa <handa@m17n.org>
1239
1240 * coding.c (decode_coding_utf_16): Initialize consumed_chars_base to 0.
1241 (decode_coding_utf_8): Likewise.
1242 (detect_coding_system): Initialize utf_16_le_eol to -1, val to Qnil.
1243 (produce_chars): Initialize consumed_chars to 0.
1244
1245 2008-12-02 Chong Yidong <cyd@stupidchicken.com>
1246
1247 * keyboard.c (make_lispy_position): Only use PT if the selected
1248 window is current.
1249
1250 2008-12-02 Andreas Schwab <schwab@suse.de>
1251
1252 * font.c (font_unparse_fcname): Fix use of uninitialized variable.
1253
1254 * doprnt.c (doprnt1): Fix size of charbuf.
1255
1256 2008-12-02 Chong Yidong <cyd@stupidchicken.com>
1257
1258 * keyboard.c (timer_check): Revert last change.
1259
1260 2008-12-02 Juanma Barranquero <lekktu@gmail.com>
1261
1262 * makefile.w32-in ($(BLD)/w32console.$(O)): Fix silly, silly typo.
1263
1264 2008-12-01 Juanma Barranquero <lekktu@gmail.com>
1265
1266 * makefile.w32-in: Update dependencies.
1267 (CONFIG_H): Add $(EMACS_ROOT)/nt/inc/sys/time.h.
1268
1269 2008-12-01 Andreas Schwab <schwab@suse.de>
1270
1271 * font.c (register_font_driver): Use xmalloc.
1272 (font_put_frame_data): Likewise.
1273
1274 2008-12-01 Chong Yidong <cyd@stupidchicken.com>
1275
1276 * xfaces.c (realize_x_face): Make abort condition clearer.
1277
1278 * gtkutil.c (update_frame_tool_bar): Initialize variable.
1279
1280 2008-11-30 Chong Yidong <cyd@stupidchicken.com>
1281
1282 * keyboard.c (timer_check): After a timer runs, ensure that the
1283 selected window's buffer is current.
1284
1285 2008-11-30 Juanma Barranquero <lekktu@gmail.com>
1286
1287 * makefile.w32-in ($(BLD)/abbrev.$(O)): Remove.
1288 It was accidentally restored by the Unicode merge.
1289
1290 * w32proc.c (Fw32_get_locale_info): Fix typo in docstring.
1291
1292 2008-11-29 Juanma Barranquero <lekktu@gmail.com>
1293
1294 * w32proc.c: Include "coding.h".
1295 (Fw32_short_file_name): Encode filename passed to Windows API.
1296 (Fw32_long_file_name): Encode filename passed to Windows API and
1297 decode back the result. (Bug#1433)
1298
1299 2008-11-29 Kenichi Handa <handa@m17n.org>
1300
1301 * charset.h (CHAR_CHARSET_P): Check if the encoder is loaded or
1302 not before accessing it.
1303
1304 * charset.c (Fdefine_charset_internal): After calculating
1305 min_char, max_char, and fastmap, copy the charset structure again.
1306 (encode_char): Fix the previous change.
1307
1308 2008-11-28 Seiji Zenitani <zenitani@mac.com>
1309
1310 * frame.c (x_set_alpha) [NS_IMPL_COCOA]: Call x_set_frame_alpha.
1311
1312 * nsfns.m (ns_frame_parm_handlers): Set alpha handler.
1313
1314 * nsterm.m (x_set_frame_alpha): New function.
1315
1316 2008-11-27 Eli Zaretskii <eliz@gnu.org>
1317
1318 * xfaces.c (Fx_font_family_list, syms_of_xfaces): Fix last change.
1319
1320 2008-11-27 Juanma Barranquero <lekktu@gmail.com>
1321
1322 * w32font.c (add_font_entity_to_list): Pass the right LOGFONT
1323 pointer to check_face_name.
1324
1325 2008-11-27 Kenichi Handa <handa@m17n.org>
1326
1327 * category.h (SET_CATEGORY_SET): Call set_category_set.
1328 (set_category_set): Extern it.
1329
1330 * category.c (hash_get_category_set): New function.
1331 (Fmodify_category_entry): Adjusted for the change of
1332 char_table_ref_and_range. Call hash_get_category_set to get a
1333 category set to store in the table.
1334
1335 * character.h (MAYBE_UNIFY_CHAR): Call maybe_unify_char instead of
1336 Funify_charset.
1337
1338 * charset.h (enum charset_method): Delete CHARSET_METHOD_MAP_DEFERRED.
1339 (DECODE_CHAR): Check if the decoder vector is ready.
1340 (ENCODE_CHAR): Check if the encoder char-table is ready.
1341 (maybe_unify_char): Extern it.
1342
1343 * charset.c (Vchar_unified_charset_table): Delete it.
1344 (inhibit_load_charset_map): New variable.
1345 (temp_charset_work): New variable.
1346 (SET_TEMP_CHARSET_WORK_ENCODER, GET_TEMP_CHARSET_WORK_ENCODER)
1347 (SET_TEMP_CHARSET_WORK_DECODER, GET_TEMP_CHARSET_WORK_DECODER):
1348 New macros.
1349 (load_charset_map): Meaning of control_flag changed. If
1350 inhibit_load_charset_map is nonzero, setup a table in
1351 temp_charset_work.
1352 (load_charset): New argument control_flag.
1353 (map_charset_for_dump): New function.
1354 (map_charset_chars): If inhibit_load_charset_map is nonzero, use
1355 map_charset_for_dump.
1356 (Fdefine_charset_internal): If the charset method is MAP, load
1357 mapping tables by calling load_charset.
1358 (Funify_charset): Don't load a mapping table but directly set
1359 Vchar_unify_table.
1360 (maybe_unify_char): New function.
1361 (decode_char): Don't handle the deleted method MAP_DEFERRED.
1362 Handle the case of inhibit_load_charset_map being nonzero.
1363 (encode_char): Don't handle the deleted method MAP_DEFERRED.
1364 Handle the case of inhibit_load_charset_map being nonzero.
1365 (Fclear_charset_maps): Just free temp_charset_work.
1366 (syms_of_charset): Make `inhibit-load-charset-map' a Lisp
1367 variable.
1368
1369 * chartab.c (sub_char_table_ref_and_range): Adjusted for the
1370 change of char_table_ref_and_range.
1371 (char_table_ref_and_range): Change the meaning of argument FROM
1372 and TO. Now the caller must provide initial values for *FROM
1373 and *TO.
1374
1375 * fontset.c (fontset_add): Adjusted for the change of
1376 char_table_ref_and_range.
1377 (fontset_get_font_group): Likewise.
1378 (Ffontset_info): Likewise.
1379
1380 * keymap.c (describe_vector): Adjusted for the change of
1381 char_table_ref_and_range. For char-table, put boundary between
1382 non-ASCII and 8-bit characters.
1383
1384 * print.c (print_object): For bool-vector, delete unnecessary
1385 check of ASCII_BYTE_P.
1386
1387 2008-11-26 Jason Rumney <jasonr@gnu.org>
1388
1389 * w32font.c (w32font_open_internal): Don't include external
1390 leading in font height. (Bug#879)
1391
1392 2008-11-26 Glenn Morris <rgm@gnu.org>
1393
1394 * xfaces.c (Fx_font_family_list): Replace lisp/term/pc-win.el
1395 redefinition with ifdef. (Bug#1383)
1396
1397 2008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
1398
1399 * nsterm.m (ns_get_color): Handle long hex strings (fixes bug #1044).
1400
1401 2008-11-24 Wolfgang Lux <wolfgang.lux@gmail.com> (tiny change)
1402
1403 * nsterm.m (-otherMouseDown:, -otherMouseUp:, -otherMouseDragged):
1404 New EmacsView methods.
1405 (EV_UDMODIFIERS, EV_BUTTON): Add OtherMouse constants.
1406 Fixes bug #1048,1357,1414.
1407
1408 2008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
1409
1410 Fix bug #1362.
1411 * image.c (x_clear_image_1): Do not free background under HAVE_NS, it
1412 is not an indexed color.
1413 * nsterm.m (free_indexed_color): Add argument checking.
1414 * nsfns.m: Move config.h to before system includes (advised by Dan N.).
1415
1416 2008-11-24 Chong Yidong <cyd@stupidchicken.com>
1417
1418 * minibuf.c (Fcompleting_read, Vminibuffer_completion_confirm):
1419 Document confirm-after-completion value for
1420 minibuffer-completion-confirm.
1421
1422 2008-11-24 Jason Rumney <jasonr@gnu.org>
1423
1424 * w32font.c (check_face_name): Use xstrcasecmp. Avoid compiler
1425 warning.
1426
1427 2008-11-23 Jason Rumney <jasonr@gnu.org>
1428
1429 * w32uniscribe.c (uniscribe_encode_char): Ensure context is
1430 restored before returning.
1431
1432 * w32font.c (check_face_name): New function.
1433 (add_font_entity_to_list): Use it to filter out common substituted
1434 fonts. (Bug#642)
1435
1436 2008-11-22 Martin Rudalics <rudalics@gmx.at>
1437
1438 * buffer.c (Fswitch_to_buffer): Reword and mention new option
1439 confirm-nonexistent-file-or-buffer in doc-string.
1440
1441 2008-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
1442
1443 * buffer.c (Fbuffer_swap_text): Remove redundant marker manipulation.
1444 Fix copy/paste typo. Add checks.
1445
1446 2008-11-21 Kenichi Handa <handa@m17n.org>
1447
1448 * coding.c (detect_coding_iso_2022): Reject invalid composition
1449 sequence.
1450 (DECODE_COMPOSITION_START): If the current source is the last
1451 block, and the current composition doesn't end, regard this
1452 sequence as invalid.
1453 (decode_coding_iso_2022): Handle invalid composition sequence.
1454
1455 2008-11-20 Martin Rudalics <rudalics@gmx.at>
1456
1457 * window.c (coordinates_in_window): Don't return
1458 ON_VERTICAL_BORDER for the rightmost position of a mode/header
1459 line when the window is not the rightmost one. (Bug#1372)
1460
1461 2008-11-16 Ben North <ben@redfrontdoor.org> (tiny change)
1462
1463 * buffer.c (syms_of_buffer): Fix doc-string of cursor-type.
1464
1465 2008-11-15 Eli Zaretskii <eliz@gnu.org>
1466
1467 * msdos.c (run_msdos_command): Don't call dos_ttcooked, dos_ttraw,
1468 and bright_bg if noninteractive is non-zero.
1469
1470 2008-11-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1471
1472 * xterm.c (x_draw_glyph_string): For stretch glyphs, don't call
1473 x_draw_glyph_string_background.
1474
1475 * w32term.c (x_draw_glyph_string): Likewise.
1476
1477 2008-11-15 Chong Yidong <cyd@stupidchicken.com>
1478
1479 * xterm.c (x_draw_glyph_string): Stop drawing the background of
1480 the next glyph string once past the overhang width.
1481
1482 * nsterm.m (ns_draw_glyph_string): Likewise.
1483
1484 * w32term.c (x_draw_glyph_string): Likewise.
1485
1486 2008-11-14 Fabrice Popineau <fabrice.popineau@supelec.fr> (tiny change)
1487
1488 * fileio.c (Finsert_file_contents): Decrement specpdl_ptr to avoid
1489 double file close.
1490
1491 2008-11-14 Martin Rudalics <rudalics@gmx.at>
1492
1493 * window.c (window_loop): In DELETE_BUFFER_WINDOWS case, reset
1494 dedicated status of window before attempting to display another
1495 buffer in it.
1496
1497 2008-11-14 Juanma Barranquero <lekktu@gmail.com>
1498
1499 * msdos.c (Fmsdos_long_file_names):
1500 (syms_of_msdos) <dos-unsupported-char-glyph>:
1501 * dosfns.c (Fint86): Fix typos in docstrings.
1502
1503 2008-11-14 Eli Zaretskii <eliz@gnu.org>
1504
1505 * makefile.w32-in (OBJ1, WIN32OBJ): Fix whitespace.
1506
1507 2008-11-14 Katsumi Yamaoka <yamaoka@jpl.org>
1508
1509 * puresize.h (BASE_PURESIZE): Increase to 1260000.
1510
1511 2008-11-12 Michal Nazarewicz <mina86@tlen.pl> (tiny change)
1512
1513 * frame.c (x_set_alpha): Set alpha to -1 if nil given.
1514
1515 * frame.h: Negative alpha means "don't touch".
1516
1517 * w32term.c (x_set_frame_alpha): Do nothing if alpha is negative.
1518
1519 * xterm.c (x_set_frame_alpha): Do nothing if alpha is negative.
1520
1521 2008-11-12 Dan Nicolaescu <dann@ics.uci.edu>
1522
1523 * hftctl.c:
1524 * chpdef.h:
1525 * acldef.h: Remove files used only for systems no longer supported.
1526
1527 * Makefile.in: Fix .o alphabetical ordering.
1528 (hftctl.o): Remove dependency, file removed.
1529 (keymap.o, print.o): Depend on charset.h.
1530
1531 2008-11-10 Kenichi Handa <handa@m17n.org>
1532
1533 * character.c (Fget_byte): Fix and make it faster for unibyte target.
1534
1535 2008-11-08 Chong Yidong <cyd@stupidchicken.com>
1536
1537 * dired.c (file_name_completion): If completion_ignore_case is
1538 enabled, ignore case when checking completion-regexp-list.
1539
1540 2008-11-08 Eli Zaretskii <eliz@gnu.org>
1541
1542 * vm-limit.c (get_lim_data): Fix last change.
1543
1544 2008-11-08 Kenichi Handa <handa@m17n.org>
1545
1546 * character.c (Fget_byte): New function.
1547 (syms_of_character): Defsubr Fget_byte.
1548
1549 2008-11-07 Chong Yidong <cyd@stupidchicken.com>
1550
1551 * xdisp.c (try_window_reusing_current_matrix): Ensure that window
1552 cursor position is valid after scrolling.
1553
1554 2008-11-06 Juanma Barranquero <lekktu@gmail.com>
1555
1556 * fns.c (Frandom): Rename arg N to LIMIT to match the docs; doc fix.
1557
1558 2008-11-06 Glenn Morris <rgm@gnu.org>
1559
1560 * xterm.c (handle_one_xevent): Don't let popup menus cause
1561 mouse-autoselect-window related window switching. (Bug#1261)
1562
1563 2008-11-04 David Smith <davidsmith@acm.org> (tiny change)
1564
1565 * xterm.c (xim_close_dpy): Avoid double-free on X11R6 XIM.
1566
1567 2008-11-04 Andreas Schwab <schwab@suse.de>
1568
1569 * xfns.c (Fx_wm_set_size_hint): Add missing return value.
1570
1571 2008-11-03 Chong Yidong <cyd@stupidchicken.com>
1572
1573 * xfns.c (Fx_wm_set_size_hint): New function.
1574
1575 2008-11-03 Martin Rudalics <rudalics@gmx.at>
1576
1577 * textprop.c (Fprevious_single_char_property_change): Return 0
1578 when there's no change in a string. (Bug#1301)
1579
1580 2008-11-02 Martin Rudalics <rudalics@gmx.at>
1581
1582 * frame.c (do_switch_frame): New argument NORECORD passed to
1583 Fselect_window.
1584 (Fselect_frame): New argument NORECORD passed to
1585 do_switch_frame.
1586 (Fset_frame_selected_window): New argument NORECORD passed to
1587 Fselect_frame.
1588 (Fhandle_switch_frame, Fdelete_frame): Handle NORECORD argument
1589 in call of do_switch_frame.
1590 (Fset_mouse_position, Fset_mouse_pixel_position, Fraise_frame):
1591 Handle NORECORD argument in call of Fselect_frame.
1592 * lisp.h (do_switch_frame, Fselect_frame)
1593 (Fset_frame_selected_window): Adjust declarations.
1594 * window.c (select_frame_norecord): New function.
1595 (run_window_configuration_change_hook): Use it and call
1596 Fselect_frame with NORECORD set.
1597 (Fselect_window): Pass NORECORD to Fselect_frame.
1598 (Fset_window_configuration): Handle NORECORD argument in call of
1599 do_switch_frame.
1600 * minibuf.c (choose_minibuf_frame): Handle NORECORD in call of
1601 Fset_frame_selected_window.
1602 * keyboard.c (command_loop_1): Handle NORECORD in call of
1603 Fselect_frame (currently ifdefd).
1604
1605 2008-11-02 Ulrich Mueller <ulm@kph.uni-mainz.de>
1606
1607 * emacs.c (USAGE2): Untabify.
1608
1609 2008-11-01 Stefan Monnier <monnier@iro.umontreal.ca>
1610
1611 * composite.c (fill_gstring_header): Fix copy/paste typo.
1612
1613 2008-10-31 Martin Rudalics <rudalics@gmx.at>
1614
1615 * window.c (Fnext_window, Fprevious_window): Rewrite doc-string.
1616 (Fother_window): Rename argument and rewrite doc-string.
1617 (select_window_norecord): Fix return value. (Bug#1276)
1618
1619 2008-10-30 Juanma Barranquero <lekktu@gmail.com>
1620
1621 * w32fns.c (x_create_tip_frame): Prevent default foreground color for
1622 new frames overriding foreground for tooltips. Based on similar patch
1623 from Martin Rudalics <rudalics@gmx.at>. (Bug#1032)
1624
1625 2008-10-29 Chong Yidong <cyd@stupidchicken.com>
1626
1627 * emacs.c (Fdaemon_initialized): Initialize nfd.
1628
1629 2008-10-29 Martin Rudalics <rudalics@gmx.at>
1630
1631 * window.c (Fwindow_height, Fdelete_window, set_window_buffer)
1632 (Fwindow_text_height): Clarify doc-strings.
1633 * xdisp.c (syms_of_xdisp): Mention set-window-buffer in
1634 doc-string of window-scroll-functions.
1635
1636 2008-10-28 Reiner Steib <Reiner.Steib@gmx.de>
1637
1638 * category.c (syms_of_category): Fix typo in docstring.
1639
1640 2008-10-28 Juanma Barranquero <lekktu@gmail.com>
1641
1642 * window.c (Fwindowp, Fwindow_live_p, Fwindow_minibuffer_p)
1643 (Fcoordinates_in_window_p, Fscroll_left, Fscroll_right):
1644 Fix typos in docstrings.
1645
1646 2008-10-28 Dan Nicolaescu <dann@ics.uci.edu>
1647
1648 * emacs.c (daemon_pipe): Make non-static.
1649 (IS_DAEMON): Move definition ...
1650 * lisp.h (IS_DAEMON): ... here.
1651 (daemon_pipe): Declare.
1652 (is_daemon): Remove.
1653 * dispnew.c (init_display): Use IS_DAEMON.
1654
1655 2008-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
1656
1657 * xdisp.c (pos_visible_p, redisplay_internal, message3_nolog)
1658 (message2_nolog): Check FRAME_INITIAL_P instead of noninteractively.
1659
1660 * emacs.c (is_daemon): Remove.
1661 (main): Don't set is_daemon.
1662 (IS_DAEMON): New macro.
1663 (Fdaemonp, Fdaemon_initialized): Use it.
1664 (Fdaemon_initialized): Write a char into the pipe to make sure the
1665 parent exits.
1666 (syms_of_emacs): Explicitly initialize daemon_pipe[1].
1667
1668 2008-10-27 Chong Yidong <cyd@stupidchicken.com>
1669
1670 * nsterm.m (ns_draw_window_cursor): When hbar cursor is on
1671 over-sized glyph, draw it with the default glyph width.
1672
1673 * w32term.c (x_draw_bar_cursor): When hbar cursor is on over-sized
1674 glyph, draw it with the default glyph width.
1675
1676 * xterm.c (x_draw_bar_cursor): When hbar cursor is on over-sized
1677 glyph, draw it with the default glyph width.
1678
1679 * xdisp.c (try_scrolling): When computing the distance from the
1680 scroll margin to PT, try moving some distance past the window
1681 bottom before giving up.
1682
1683 2008-10-27 Martin Rudalics <rudalics@gmx.at>
1684
1685 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p)
1686 (Fset_window_buffer): Explain in doc-string that a window can be
1687 "strongly" dedicated to its buffer.
1688
1689 2008-10-27 Dan Nicolaescu <dann@ics.uci.edu>
1690
1691 * emacs.c (daemon_name): New variable.
1692 (main): Deal with --daemon=SERVER_NAME.
1693 (Fdaemonp): Return a name if one was passed to --daemon.
1694
1695 2008-10-26 Romain Francoise <romain@orebokech.com>
1696
1697 * emacs.c (daemon_pipe): New variable.
1698 (main): Create a pipe before forking, make the parent exit only after
1699 the child has closed its end of the pipe. Move closing the
1700 descriptors ...
1701 (Fdaemon_initialized): ... here. New function.
1702
1703 2008-10-26 Stefan Monnier <monnier@iro.umontreal.ca>
1704
1705 * chartab.c (Foptimize_char_table): Make sure `ascii' doesn't point to
1706 the previous unoptimized table.
1707
1708 * window.c (Fset_window_buffer): Undo 2008-10-18 change to re-instate
1709 the distinction between non-nil and non-t value of `dedicated'.
1710
1711 2008-10-25 Chong Yidong <cyd@stupidchicken.com>
1712
1713 * keyboard.c (read_char_minibuf_menu_prompt): Ensure that
1714 read_char_minibuf_menu_text is large enough to hold the menu string.
1715
1716 2008-10-25 Martin Rudalics <rudalics@gmx.at>
1717
1718 * window.c (Fget_buffer_window, Fdelete_windows_on)
1719 (Freplace_buffer_in_windows): Make buffer argument optional and
1720 rename to buffer_or_name.
1721
1722 2008-10-24 Chong Yidong <cyd@stupidchicken.com>
1723
1724 * xdisp.c (handle_single_display_spec, handle_display_prop):
1725 Undo 2005-05-16 change.
1726 (handle_stop): Pop iterator if it's loaded with an empty string.
1727 (get_overlay_strings_1): Don't save iterator if it's loaded with
1728 an empty string (bug#1201).
1729
1730 2008-10-24 Kenichi Handa <handa@m17n.org>
1731
1732 * ftfont.c (ftfont_otf_features): Fix previous change.
1733 (ftfont_otf_capability): Check FeatureList.FeatureCount before
1734 calling ftfont_otf_features.
1735
1736 2008-10-24 Kenichi Handa <handa@m17n.org>
1737
1738 * font.c (font_match_p): Fix for the case that a vector of
1739 characters is in script-representative-chars.
1740
1741 2008-10-24 Michael Albinus <michael.albinus@gmx.de>
1742
1743 * dbusbind.c (xd_in_read_queued_messages): New variable.
1744 (XD_SIGNAL1, XD_SIGNAL2, XD_SIGNAL3): New macros. Throw Qdbus_error.
1745 (xd_read_queued_messages): Catch Qdbus_error from the macros.
1746 (all): Replace xsignal1, xsignal2, xsignal3 by the respective
1747 macro. (Bug#1186).
1748
1749 2008-10-23 Ali Bahrami <ali_gnu@emvision.com> (tiny change)
1750
1751 * s/sol2-10.h: New file.
1752
1753 2008-10-23 Juanma Barranquero <lekktu@gmail.com>
1754
1755 * xdisp.c (fill_glyph_string): Fix typo in source (though the
1756 poor beast has survived 9+ years and the jump from xterm.c!).
1757
1758 2008-10-23 Martin Rudalics <rudalics@gmx.at>
1759
1760 * buffer.c (Fget_buffer_create): Rename arg to buffer_or_name.
1761 Reword doc-string.
1762 (Fbury_buffer): In doc-string say what happens to the buffer's window.
1763
1764 2008-10-23 Juanma Barranquero <lekktu@gmail.com>
1765
1766 * character.c (syms_of_character) <script-representative-chars>:
1767 <unicode-category-table>: Doc fixes.
1768
1769 2008-10-23 Noah Friedman <friedman@splode.com>
1770
1771 * coding.c (make_conversion_work_buffer): Check that
1772 Vcode_conversion_reused_workbuf is a live buffer, otherwise call
1773 Fget_buffer_create.
1774
1775 2008-10-23 Kenichi Handa <handa@m17n.org>
1776
1777 * font.c (font_add_log): Check the values of extra properties.
1778
1779 2008-10-22 Martin Rudalics <rudalics@gmx.at>
1780
1781 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
1782 Reword doc-string.
1783 (Fset_window_parameter): Use NILP.
1784 (Fscroll_up, Fscroll_down, Fminibuffer_selected_window)
1785 (Frecenter): Use "selected" instead of "current" window in doc-strings.
1786
1787 2008-10-22 Juanma Barranquero <lekktu@gmail.com>
1788
1789 * xdisp.c (next_element_from_buffer): Remove bogus xassert condition.
1790
1791 2008-10-22 Adrian Robert <Adrian.B.Robert@gmail.com>
1792
1793 * nsfns.m (ns_appkit_version): New function.
1794 (x-server-version): Use it.
1795 (syms_of_nsfns): Define ns-version-string here, not nsterm.m.
1796 (x-server-vendor): Don't check_ns().
1797
1798 * nsterm.m (syms_of_nsterm): Drop ns-version-string.
1799
1800 2008-10-22 Juanma Barranquero <lekktu@gmail.com>
1801
1802 * w32fns.c (unwind_create_frame) [!GLYPH_DEBUG]: Fix xassert.
1803 Copied from 2005-02-03 change to xfns.c by Kim F. Storm.
1804
1805 2008-10-22 Kenichi Handa <handa@m17n.org>
1806
1807 * syntax.c (scan_words): Call word_boundary_p instead of comparing
1808 scripts.
1809
1810 * category.c (word_boundary_p): Check scripts instead of charset.
1811 Handle nil value in word-separating-categories and
1812 word-combining-categories.
1813 (syms_of_category): Fix docstrings of word-separating-categories
1814 and word-combining-categories.
1815
1816 2008-10-21 Eli Zaretskii <eliz@gnu.org>
1817
1818 * coding.c (Fencode_coding_region, Fdecode_coding_region)
1819 (Fdecode_coding_string, Fencode_coding_string): Doc fix.
1820
1821 2008-10-21 Martin Rudalics <rudalics@gmx.at>
1822
1823 * buffer.c (Fget_buffer, Fbury_buffer, switch_to_buffer_1):
1824 Rename arg "buffer" to "buffer_or_name".
1825 (Fkill_buffer): Rename arg "buffer" to "buffer_or_name" and make
1826 it optional.
1827 (no_switch_window): Remove since the return value is not used.
1828 (Fswitch_to_buffer): Rename arg "buffer" to "buffer_or_name".
1829 Consider window as dedicated when Fwindow_dedicated_p returns a
1830 non-nil value.
1831 * lisp.h: Remove prototype for no_switch_window.
1832
1833 2008-10-21 Jan Djärv <jan.h.d@swipnet.se>
1834
1835 * emacs.c (main): Unconditionally set PER_LINUX32 and exec
1836 temacs when dumping if HAVE_PERSONALITY_LINUX32 is defined.
1837
1838 2008-10-21 Kenichi Handa <handa@m17n.org>
1839
1840 * coding.c (detect_coding_charset): For iso-8859-* coding systems,
1841 check Vlatin_extra_code_table.
1842
1843 2008-10-20 Eli Zaretskii <eliz@gnu.org>
1844
1845 * fileio.c (Fset_file_modes): Doc fix.
1846
1847 2008-10-19 Michael Albinus <michael.albinus@gmx.de>
1848
1849 * dbusbind.c (XD_OBJECT_TO_DBUS_TYPE): Handle simple type symbols
1850 in arrays.
1851
1852 2008-10-19 Martin Rudalics <rudalics@gmx.at>
1853
1854 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
1855 Mention kill-buffer in doc-string.
1856 (Fset_window_buffer): Reinsert tem check removed in last commit.
1857 (Fenlarge_window, Fshrink_window): Have argument names and
1858 doc-string follow Elisp manual more closely.
1859
1860 2008-10-18 Eli Zaretskii <eliz@gnu.org>
1861
1862 * fileio.c (Fset_file_modes): Doc fix.
1863
1864 2008-10-18 Martin Rudalics <rudalics@gmx.at>
1865
1866 * window.c (Fwindow_width, Fset_window_start)
1867 (Fwindow_parameters, Fwindow_parameter, Fset_window_parameter)
1868 (Fdelete_windows_on, Freplace_buffer_in_windows):
1869 Make doc-strings follow code and Elisp manual more closely.
1870 (Fwindow_dedicated_p): Make window argument optional.
1871 (Fset_window_dedicated_p): Rename argument "arg" to "flag".
1872 (Fset_window_buffer): Respect any non-nil dedicated value for
1873 window. Rename "buffer" argument to "buffer_or_name".
1874
1875 2008-10-18 Ulrich Mueller <ulm@gentoo.org>
1876
1877 * m/sh3.h: New file, machine description for SuperH.
1878
1879 2008-10-17 Martin Rudalics <rudalics@gmx.at>
1880
1881 * window.c (Fsplit_window): Rename arg horflag to horizontal.
1882
1883 2008-10-17 Kenichi Handa <handa@m17n.org>
1884
1885 * ftfont.c (ftfont_otf_features): Fix indexing
1886 gsub_gpos->FeatureList.Feature. Check the validity of indices.
1887
1888 2008-10-16 Magnus Henoch <mange@freemail.hu>
1889
1890 * dbusbind.c (Fdbus_call_method): Unbreak usage line.
1891 (Fdbus_call_method_asynchronously): Ditto.
1892 This change makes C-h f display the argument list.
1893
1894 2008-10-16 Chong Yidong <cyd@stupidchicken.com>
1895
1896 * fileio.c (Fexpand_file_name): Doc fix.
1897
1898 * xfaces.c (Finternal_set_lisp_face_attribute): Make null values
1899 of :foreground and :background equivalent to unspecified (20.x
1900 compatibility).
1901
1902 2008-10-15 Eli Zaretskii <eliz@gnu.org>
1903
1904 * buffer.c (syms_of_buffer): Doc fix.
1905
1906 2008-10-14 Kenichi Handa <handa@m17n.org>
1907
1908 * font.c (font_clear_prop): When clearing font width, clear the
1909 average width field too.
1910
1911 2008-10-12 Andreas Schwab <schwab@suse.de>
1912
1913 * ftfont.c (ftfont_shape_by_flt): Make static.
1914 * ftfont.h (ftfont_shape_by_flt): Don't declare.
1915
1916 * font.c: Don't include <m17n-flt.h>.
1917
1918 2008-10-10 Eli Zaretskii <eliz@gnu.org>
1919
1920 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Decrease to 10000.
1921
1922 2008-10-09 Eli Zaretskii <eliz@gnu.org>
1923
1924 * frame.c (make_terminal_frame) [MSDOS]: Remove unused #ifdef'ed
1925 away code.
1926
1927 2008-10-09 Chong Yidong <cyd@stupidchicken.com>
1928
1929 * dispnew.c (update_text_area): Avoid looping due to large glyph
1930 overhangs (bug#1070).
1931
1932 2008-10-09 Kenichi Handa <handa@m17n.org>
1933
1934 * fontset.c (face_for_char): If face->fontset is negative, just
1935 return ascii_face.
1936
1937 * font.c (font_delete_unmatched): Fix previous change.
1938 Don't reject an entity if DPI and AVGWIDTH of an entity are 0.
1939
1940 2008-10-09 Martin Rudalics <rudalics@gmx.at>
1941
1942 * frame.c (Fraise_frame): On text-only terminals select frame in
1943 order to make it visible. (Bug#1061)
1944
1945 2008-10-08 Chong Yidong <cyd@stupidchicken.com>
1946
1947 * fontset.c (fontset_find_font): Check frame validity.
1948
1949 2008-10-07 Chong Yidong <cyd@stupidchicken.com>
1950
1951 * gtkutil.c (xg_display_open): Reset default display if none exists.
1952 (xg_display_close): Allow Emacs to close all displays (bug#985).
1953
1954 2008-10-06 Andreas Schwab <schwab@suse.de>
1955
1956 * sysdep.c (sys_signal): Always set SA_RESTART when noninteractively.
1957
1958 2008-10-06 Chong Yidong <cyd@stupidchicken.com>
1959
1960 * emacs.c (Vbefore_init_time, Vafter_init_time): Move from startup.el.
1961
1962 * lisp.h (Vbefore_init_time, Vafter_init_time): Declare.
1963
1964 * gtkutil.c (x_wm_set_size_hint): Return immediately if called
1965 during initialization.
1966
1967 2008-10-04 Eli Zaretskii <eliz@gnu.org>
1968
1969 * xdisp.c (redisplay_internal): If frame switched, redisplay the
1970 whole thing on MSDOS frames as well as on a TTY.
1971
1972 * dispnew.c (update_frame): Flush termscript for MSDOS frames as
1973 well as for TTY.
1974 (Fopen_termscript): Allow opening a termscript on MSDOS frames as
1975 well as on a TTY.
1976
1977 * sysdep.c (init_sys_modes): Set FRAME_GARBAGED_P for MSDOS frames
1978 as well as for TTY.
1979
1980 * systime.h (EMACS_TIME_CMP): Cast EMACS_SECS values to `long'.
1981
1982 * dispnew.c (change_frame_size_1): Set FrameRows and FrameCols for
1983 MSDOS frames as well.
1984
1985 2008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
1986
1987 * image.c (x_clear_image_1): Under NS, call ns_free_indexed_color with
1988 correct arguments.
1989 * menu.c (find_and_return_menu_selection) Add cast.
1990
1991 2008-10-03 Glenn Morris <rgm@gnu.org>
1992
1993 * emacs.c (USAGE1): Add --daemon.
1994
1995 2008-10-02 Eli Zaretskii <eliz@gnu.org>
1996
1997 * process.c (procfs_system_process_attributes): Multiply `pcpu' by
1998 100, so it's in percents as advertised.
1999
2000 2008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
2001
2002 * nsterm.h (ns_cursor_types, ns_output.desired_cursor_color)
2003 (ns_output.current_cursor, ns_output.desired_cursor)
2004 (ns_output.last_inactive, FRAME_CURSOR, FRAME_NEW_CURSOR)
2005 (FRAME_NEW_CURSOR_COLOR): Remove.
2006
2007 * nsfns.m (ns_set_cursor_color): Use FRAME_CURSOR_COLOR.
2008 (ns_lisp_to_cursor_type, ns_cursor_type_to_lisp): Use core Emacs
2009 enumeration (HOLLOW_BOX_CURSOR, etc.).
2010
2011 * nsterm.m (ns_frame_rehighlight): Remove commented code.
2012 (draw_window_cursor): Simplify code.
2013 (EmacsView-windowDidBecomeKey:,-windowDidResignKey:):
2014 Don't change cursor type. In latter, call rehighlight instead of doing
2015 updates manually.
2016 (EmacsPrefsController-setPanelFromValues,-setValuesFromPanel):
2017 Use core Emacs cursor types.
2018
2019 * xdisp.c (draw_glyphs): Don't call notice_overwritten_cursor under NS.
2020
2021 2008-10-02 Martin Rudalics <rudalics@gmx.at>
2022
2023 * process.c (Faccept_process_output): Fix doc-string.
2024
2025 2008-10-02 Dan Nicolaescu <dann@ics.uci.edu>
2026
2027 * gmalloc.c (__sbrk): Also define for uClibc.
2028
2029 * s/gnu-linux.h (GNU_LIBRARY_PENDING_OUTPUT_COUNT): Add definition
2030 for uClibc.
2031
2032 2008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
2033
2034 * nsfont.m (nsfont_spec_to_traits): Use UnXX masks only for non-normal
2035 styles.
2036 (nsfont_open): Reenable the cache.
2037
2038 2008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
2039
2040 * font.c (font_matching_entity): Reflect ATTRS in font selection.
2041 (font_find_for_lface) [HAVE_NS]: Don't ignore case.
2042
2043 2008-09-30 Stefan Monnier <monnier@iro.umontreal.ca>
2044
2045 * dispnew.c (Fsend_string_to_terminal): Don't try to send a string to
2046 a suspended terminal.
2047
2048 2008-09-30 Michael Albinus <michael.albinus@gmx.de>
2049
2050 * dbusbind.c (xd_signature): Use strcat instead of sprintf.
2051
2052 2008-09-30 Eli Zaretskii <eliz@gnu.org>
2053
2054 * Makefile.in (MSDOS_SUPPORT): Remove ccl.elc and codepage.elc.
2055
2056 2008-09-30 Chong Yidong <cyd@stupidchicken.com>
2057
2058 * xdisp.c (move_it_to): Don't advance the iterator if the last tab
2059 in a continued line coincides with a line beginning.
2060
2061 2008-09-29 Adrian Robert <Adrian.B.Robert@gmail.com>
2062
2063 * nsfont.m (nsfont_trait_distance): Fix bug.
2064 (nsfont_list): Return a list rather than a vector (syncs with Handa
2065 changes of 2008-05-14).
2066 (nsfont_open): Improve logging.
2067
2068 2008-09-29 Andreas Schwab <schwab@suse.de>
2069
2070 * keyboard.c (syms_of_keyboard) <input-decode-map>: Doc fix.
2071
2072 2008-09-28 Martin Rudalics <rudalics@gmx.at>
2073
2074 * character.c (Fchar_resolve_modifiers): Rewrite Elisp function
2075 name as char-resolve-modifiers.
2076 Reported by: Markus Triska <markus.triska@gmx.at>
2077
2078 2008-09-28 Dan Nicolaescu <dann@ics.uci.edu>
2079
2080 * dispnew.c (init_display): Return earlier when running as a daemon.
2081
2082 2008-09-27 Adrian Robert <Adrian.B.Robert@gmail.com>
2083
2084 * nsfont.m (nsfont_draw): Fix up composition rendering (cmp_from, ...).
2085
2086 2008-09-27 Eli Zaretskii <eliz@gnu.org>
2087
2088 * composite.c (Fcomposition_get_gstring)
2089 (Fcompose_region_internal, Fcompose_string_internal)
2090 (Ffind_composition_internal): Doc fix.
2091 (syms_of_composite) <compose-chars-after-function>: Doc fix.
2092 (syms_of_composite) <auto-composition-function>: Doc fix.
2093 (syms_of_composite) <composition-function-table>: Doc fix.
2094
2095 2008-09-25 Chong Yidong <cyd@stupidchicken.com>
2096
2097 * search.c (wordify): New argument for lax word-ends.
2098 (Fword_search_forward_lax, Fword_search_backward_lax): New funs.
2099
2100 2008-09-24 Dan Nicolaescu <dann@ics.uci.edu>
2101
2102 * lisp.h (is_daemon): Declare.
2103 * dispnew.c (init_display): Do not try to initialize the terminal
2104 when running as a daemon.
2105
2106 2008-09-22 Chong Yidong <cyd@stupidchicken.com>
2107
2108 * nsfns.m (compute_tip_xy): Use x_display_pixel_width and
2109 x_display_pixel_height.
2110
2111 2008-09-22 Martin Rudalics <rudalics@gmx.at>
2112
2113 * undo.c (record_point): Don't call Fundo_boundary for first
2114 change. (Bug#731)
2115
2116 2008-09-22 Juanma Barranquero <lekktu@gmail.com>
2117
2118 * emacs.c (Fdaemonp): Doc fix.
2119
2120 2008-09-22 Dan Nicolaescu <dann@ics.uci.edu>
2121
2122 * emacs.c (main): Place #ifdef in the proper place.
2123
2124 2008-09-21 Dan Nicolaescu <dann@ics.uci.edu>
2125
2126 * emacs.c (standard_args): Add --daemon.
2127 (main): Disconnect from the terminal when --daemon is passed.
2128 (is_daemon): New variable.
2129 (Fdaemonp): New function.
2130 (syms_of_emacs): Defsubr it.
2131
2132 2008-09-20 Chong Yidong <cyd@stupidchicken.com>
2133
2134 * xdisp.c (get_next_display_element): Handle string display
2135 correctly when checking for the end of a box run.
2136
2137 2008-09-20 Glenn Morris <rgm@gnu.org>
2138
2139 * fileio.c (Qdelete_by_moving_to_trash): New Lisp_Object.
2140 (syms_of_fileio): Add Qdelete_by_moving_to_trash.
2141 (Frename_file): Avoid copying to trash if a rename involves
2142 a delete. (Bug#964).
2143
2144 2008-09-20 Eli Zaretskii <eliz@gnu.org>
2145
2146 * keyboard.c (Fset_quit_char, Fset_input_meta_mode)
2147 (Fset_output_flow_control, Fcurrent_input_mode): Support MSDOS
2148 frames as well as termcap frames.
2149 (handle_interrupt): Remove "#ifndef MSDOS" around the call to
2150 get_named_tty.
2151
2152 2008-09-19 Eli Zaretskii <eliz@gnu.org>
2153
2154 * process.c (procfs_system_process_attributes): Fix cmdline in
2155 case /proc/PID/cmdline is empty.
2156
2157 * xterm.c (x_wm_set_size_hint): Use x_display_pixel_width and
2158 x_display_pixel_height.
2159
2160 2008-09-19 Juanma Barranquero <lekktu@gmail.com>
2161
2162 * frame.c (x_fullscreen_adjust): Declare var as Display_Info.
2163
2164 * w32fns.c (Fx_display_pixel_width, Fx_display_pixel_height)
2165 (compute_tip_xy): Use x_display_pixel_width, x_display_pixel_height.
2166
2167 2008-09-19 Dan Nicolaescu <dann@ics.uci.edu>
2168
2169 * dispextern.h (struct it): Move line_wrap away from the middle of
2170 bitfields. Move voffset in struct iterator_stack_entry after the
2171 bitfields. Move tab_width near after another short.
2172
2173 2008-09-18 Dan Nicolaescu <dann@ics.uci.edu>
2174
2175 * frame.h (struct frame): Move alpha from the middle of bitfields.
2176
2177 * window.h (struct window): Move frozen_window_start_p after the
2178 rest of the bitfields to reduce padding.
2179
2180 2008-09-18 Chong Yidong <cyd@stupidchicken.com>
2181
2182 * xterm.h (x_display_info): Remove `height' and `width' members.
2183
2184 * nsterm.h (ns_display_info): Remove `height' and `width' members.
2185
2186 * w32term.h (w32_display_info): Remove `height', `width',
2187 `height_in', and `width_in' members.
2188
2189 * xterm.c (x_display_pixel_height, x_display_pixel_width):
2190 New functions.
2191 (x_calc_absolute_position): Use them.
2192 (x_term_init): Omit removed `height' and `width' members.
2193
2194 * w32term.c (x_display_pixel_height, x_display_pixel_width):
2195 New functions.
2196 (w32_read_socket, x_calc_absolute_position): Use them.
2197 (w32_initialize_display_info, w32_term_init): Omit removed members
2198 of w32_display_info.
2199
2200 * nsterm.m (x_display_pixel_height, x_display_pixel_width):
2201 New functions.
2202 (ns_initialize_display_info): Omit removed members of ns_display_info.
2203
2204 * xterm.c (x_display_pixel_height, x_display_pixel_width):
2205 New functions.
2206 (x_calc_absolute_position): Use them.
2207 (x_term_init): Omit removed `height' and `width' members.
2208
2209 * xfns.c (Fx_display_pixel_width, Fx_display_pixel_height)
2210 (compute_tip_xy):
2211 * frame.c (x_fullscreen_adjust):
2212 * xmenu.c (menu_position_func): Use x_display_pixel_height and
2213 x_display_pixel_width.
2214
2215 2008-09-18 Kenichi Handa <handa@m17n.org>
2216
2217 * composite.c (fill_gstring_header): Don't check FROM and TO here.
2218 (composition_compute_stop_pos): Fix handling of static composition.
2219 (Fcomposition_get_gstring): Check FROM and TO at first.
2220
2221 2008-09-17 Stefan Monnier <monnier@iro.umontreal.ca>
2222
2223 * composite.c (Fcomposition_get_gstring): Yet another int/Lisp_Oject
2224 mixup (YAILOM).
2225
2226 2008-09-17 Chong Yidong <cyd@stupidchicken.com>
2227
2228 * indent.c (Fvertical_motion): Use position reported by iterator
2229 instead of PT for determining screen motion (bug#943).
2230
2231 2008-09-17 Romain Francoise <romain@orebokech.com>
2232
2233 * composite.c (composition_adjust_point): Fix int/EMACS_INT mixup.
2234
2235 2008-09-17 Kenichi Handa <handa@m17n.org>
2236
2237 * ftfont.c (ftfont_shape_by_flt): Downcase family name.
2238
2239 * composite.c (Fcomposition_get_gstring): Make bigger gstring_work
2240 if necessary.
2241
2242 2008-09-16 Kenichi Handa <handa@m17n.org>
2243
2244 * coding.c (make_conversion_work_buffer): Avoid calling
2245 Fget_buffer_create if it is not necessary.
2246
2247 2008-09-15 Martin Rudalics <rudalics@gmx.at>
2248
2249 * window.c (Fselect_window): Don't update window_select_count and
2250 use_time when norecord is not nil.
2251
2252 2008-09-14 Kenichi Handa <handa@m17n.org>
2253
2254 * fileio.c (Finsert_file_contents): Delete incorrect decrement of
2255 specpdl_ptr.
2256
2257 2008-09-12 Kenichi Handa <handa@m17n.org>
2258
2259 * indent.c (scan_for_column): Don't handle automatic composition
2260 if the current buffer is not associated with a window.
2261
2262 * composite.c (composition_reseat_it): If the current buffer is
2263 not associated with a window, ignore the automatic composition.
2264 (find_automatic_composition): Likewise.
2265
2266 2008-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
2267
2268 * term.c (close_gpm): New fun extracted from Fgpm_mouse_stop.
2269 (Fgpm_mouse_stop): Use it.
2270 * termhooks.h (close_gpm): Declare.
2271 * keyboard.c (tty_read_avail_input): Forcefully close the gpm
2272 connection if Gpm_GetEvent fails.
2273
2274 * window.c (set_window_buffer): Always preserve current-buffer.
2275
2276 2008-09-12 Glenn Morris <rgm@gnu.org>
2277
2278 * charset.c (init_charset): Warn if etc/charsets not found. (Bug#909)
2279
2280 2008-09-11 Glenn Morris <rgm@gnu.org>
2281
2282 * charset.c (charset-map-path): Doc fix.
2283
2284 2008-09-10 Kenichi Handa <handa@m17n.org>
2285
2286 * xdisp.c (handle_composition_prop): Set it->cmp_it.ch to -1.
2287
2288 * font.c (Ffont_shape_gstring): Make glyphs of non-nil adjustment
2289 compose a grapheme cluster with the preceding base glyph.
2290
2291 * composite.c (composition_compute_stop_pos): Fix previous change.
2292 Reset cmp_it->id to -1 at first.
2293
2294 2008-09-10 Glenn Morris <rgm@gnu.org>
2295
2296 * Makefile.in (character.o, chartab.o): Fix config.h typo.
2297
2298 2008-09-09 Chong Yidong <cyd@stupidchicken.com>
2299
2300 * keyboard.c (read_key_sequence): Reapply translation maps when
2301 switching keyboards.
2302
2303 2008-09-09 Kenichi Handa <handa@m17n.org>
2304
2305 * ftfont.c (ftfont_shape_by_flt): Use "combining" FLT for ASCII
2306 characters.
2307
2308 * composite.c (FORWARD_CHAR): Fix calculation
2309 of (POSITION).pos_byte.
2310 (composition_compute_stop_pos): Limit the search of composition to
2311 at most 500 characters ahead. If we reach the limit or find a
2312 newline, set cmp_it->ch to -2 and return 0.
2313 (composition_reseat_it): Handle the case that cmp_it->ch is -2.
2314
2315 2008-09-08 Kenichi Handa <handa@m17n.org>
2316
2317 * indent.c (Fvertical_motion): Be sure to set
2318 it_overshoot_expected if it.cmp_it.id is non-negative.
2319
2320 2008-09-07 Andreas Schwab <schwab@suse.de>
2321
2322 * callproc.c (Fcall_process): Don't hold references to string data
2323 across garbage collection. Move initialisation of new_argv down
2324 to avoid compiler bug.
2325
2326 2008-09-07 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
2327
2328 * process.c (Fsystem_process_attributes): Doc fix.
2329
2330 2008-09-07 Chong Yidong <cyd@stupidchicken.com>
2331
2332 * callproc.c (Fcall_process): Canonicalize current directory name.
2333
2334 * xdisp.c (move_it_to): When moving by vpos, ensure that the
2335 iterator advances to the next line if the current line ends in a
2336 continued tab.
2337
2338 2008-09-07 Teodor Zlatanov <tzz@lifelogs.com>
2339
2340 * nsfont.m (nsfont_draw): Fix the references to missing gidx data
2341 member to point to cmp_from.
2342
2343 * xdisp.c: Doc fix for references to gidx data member.
2344
2345 2008-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
2346
2347 * buffer.c (Fbuffer_swap_text): Reset window->point markers.
2348
2349 2008-09-07 Kenichi Handa <handa@m17n.org>
2350
2351 * composite.c (FORWARD_CHAR): Check STOP after
2352 incrementing (POSITION).pos.
2353
2354 2008-09-06 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
2355
2356 * process.c (Fsystem_process_attributes): Doc fix.
2357
2358 2008-09-06 Chong Yidong <cyd@stupidchicken.com>
2359
2360 * keyboard.c (Ftop_level): Doc fix.
2361
2362 2008-09-06 Eli Zaretskii <eliz@gnu.org>
2363
2364 * xmenu.c (xmenu_show) [!HAVE_X_WINDOWS]: If frame has a
2365 minibuffer, don't let lower part of menu invade the echo area.
2366
2367 * msdos.c (IT_menu_display): Use STRING_CHAR_ADVANCE instead of a
2368 "char *q" to access menu text and advance through it. Revert the
2369 change that displayed ">" instead of ASCII character 0x10.
2370
2371 2008-09-05 Eli Zaretskii <eliz@gnu.org>
2372
2373 * menu.c (single_menu_item) [!HAVE_BOXES]: Enable emulation of
2374 toggle boxes and radio buttons on MS-DOS as well.
2375
2376 2008-09-05 Kenichi Handa <handa@m17n.org>
2377
2378 * composite.c (autocmp_chars): Check lookback count.
2379 (composition_compute_stop_pos): Set cmp_it->lookback.
2380 (composition_reseat_it): Check lookback count.
2381 (struct position_record): New struct.
2382 (FORWARD_CHAR, BACKWARD_CHAR, CHAR_COMPOSABLE_P): New macros.
2383 (find_automatic_composition): New function.
2384 (composition_adjust_point): Use find_automatic_composition.
2385
2386 * dispextern.h (struct composition_it): New member lookback.
2387
2388 2008-09-02 Chong Yidong <cyd@stupidchicken.com>
2389
2390 * indent.c (Fvertical_motion): Don't call move_it_by_lines again
2391 if moving by a single line.
2392
2393 2008-09-02 Andreas Schwab <schwab@suse.de>
2394
2395 * xterm.c (x_delete_display): Fix merge error.
2396
2397 * fileio.c (Fexpand_file_name): Remove unused variables.
2398
2399 2008-09-02 Eli Zaretskii <eliz@gnu.org>
2400
2401 * fileio.c (Fexpand_file_name): Copy argument `name' into local
2402 storage on all platforms, not just on DOS_NT.
2403
2404 2008-09-02 Jason Rumney <jasonr@gnu.org>
2405
2406 * w32menu.c (Fx_popup_menu, Fx_popup_dialog, w32_menu_show):
2407 Ensure mouse is not grabbed after menu is finished.
2408
2409 2008-09-01 Chong Yidong <cyd@stupidchicken.com>
2410
2411 * xfaces.c (Finternal_set_alternative_font_family_alist)
2412 (Finternal_set_alternative_font_registry_alist): Properly copy
2413 entire alist structure.
2414
2415 2008-09-01 Kenichi Handa <handa@m17n.org>
2416
2417 * ftfont.c (ftfont_spec_pattern): Don't create a charset if the
2418 representative chars of the script is a vector.
2419 (ftfont_list): Handle the case where the representative chars of
2420 the script is a vector.
2421
2422 * character.c (syms_of_character): Docstring of
2423 script-representative-chars fixed.
2424
2425 2008-08-31 Eli Zaretskii <eliz@gnu.org>
2426
2427 * msdos.c (BUILD_CHAR_GLYPH): New macro.
2428 (IT_menu_display): Use it instead of SET_CHAR_GLYPH to construct
2429 the menu. Allocate larger buffer for `text', to account for
2430 possible ^C characters.
2431
2432 2008-08-31 Martin Rudalics <rudalics@gmx.at>
2433
2434 * xdisp.c (prepare_menu_bars): Don't call
2435 Vwindow_size_change_functions with arg Qt.
2436
2437 2008-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
2438
2439 * font.h (font_range):
2440 * fileio.c (report_file_error):
2441 * composite.c (composition_update_it): Yet another int/Lisp_Oject mixup.
2442
2443 2008-08-30 Glenn Morris <rgm@gnu.org>
2444
2445 * data.c (Fmake_variable_frame_local): Doc fix.
2446
2447 * frame.c (Fmodify_frame_parameters): Doc fix.
2448
2449 2008-08-30 Eli Zaretskii <eliz@gnu.org>
2450
2451 * w32.c (init_user_info): Allocate buf[] with xmalloc using the size
2452 needed by GetTokenInformation.
2453 (w32_system_process_attributes): Check return values of all system
2454 APIs.
2455
2456 * msdos.c (IT_display_cursor): Write "CURSOR ON/OFF" to termscript
2457 only when the state changes.
2458 (IT_update_begin, IT_update_end): Add termscript trace.
2459
2460 * w16select.c (Fw16_set_clipboard_data): Don't encode text if
2461 clipboard is unavailable. Set dst to NULL if it doesn't point to
2462 malloc'ed data.
2463 (Fw16_get_clipboard_data): Initialize htext to NULL, to avoid
2464 passing random values to xfree.
2465
2466 * dispnew.c (init_display): Set `tty's association in frame's
2467 parameters alist to the name of the terminal device, if that is known.
2468
2469 2008-08-29 Jason Rumney <jasonr@gnu.org>
2470
2471 * w32uniscribe.c (uniscribe_check_otf): Don't fallback on DFLT script.
2472
2473 2008-08-29 Eli Zaretskii <eliz@gnu.org>
2474
2475 * composite.c (fill_gstring_body): Avoid compiler warnings.
2476
2477 * font.c (font_fill_lglyph_metrics): Use EMACS_INT in
2478 LGLYPH_SET_CODE to avoid compiler warnings.
2479
2480 * makefile.w32-in ($(BLD)/w32uniscribe.$(O)): Depend on composite.h.
2481
2482 * composite.h (LGLYPH_SET_CODE): Cast `val' to EMACS_INT.
2483
2484 * w32uniscribe.c (uniscribe_shape): Shut up compiler warning in
2485 LGLYPH_SET_CODE.
2486
2487 2008-08-29 Kenichi Handa <handa@m17n.org>
2488
2489 * fileio.c (report_file_error): Don't downcase the first character
2490 of errstring if it is still unibyte.
2491
2492 2008-08-29 Kenichi Handa <handa@m17n.org>
2493
2494 These changes are to re-implement the automatic composition so
2495 that it doesn't use text properties.
2496
2497 * Makefile.in (ftfont.o): Depend on composite.h.
2498 (composite.o): Depend dispextern.h, font.h, frame, and window.h.
2499
2500 * character.h (Vunicode_category_table): Extern it.
2501
2502 * character.c (Vunicode_category_table): New variable.
2503 (syms_of_character): DEFVAR_LISP Vunicode_category_table.
2504
2505 * chartab.c (optimize_sub_char_table): Perform more greedy
2506 optimization.
2507
2508 * composite.h (enum composition_method):
2509 Delete COMPOSITION_WITH_GLYPH_STRING.
2510 (COMPOSITION_METHOD): Don't check COMPOSITION_WITH_GLYPH_STRING.
2511 (Vcomposition_function_table): Extern it.
2512 (LGSTRING_XXX, LGLYPH_XXX): Macros moved from font.h.
2513 (composition_gstring_put_cache, composition_gstring_from_id)
2514 (composition_gstring_p, composition_gstring_width)
2515 (composition_compute_stop_pos, composition_reseat_it)
2516 (composition_update_it, composition_adjust_point): Extern them.
2517 (Fcomposition_get_gstring): EXFUN it.
2518
2519 * composite.c: Include window.h, frame.h, dispextern.h, font.h.
2520 (Vcomposition_function_table)
2521 (get_composition_id): Don't handle COMPOSITION_WITH_GLYPH_STRING.
2522 (gstring_hash_table, gstring_work, gstring_work_headers):
2523 New variables.
2524 (gstring_lookup_cache, composition_gstring_put_cache)
2525 (composition_gstring_from_id, composition_gstring_p)
2526 (composition_gstring_width, fill_gstring_header)
2527 (fill_gstring_body, autocmp_chars, composition_compute_stop_pos)
2528 (composition_reseat_it, composition_update_it)
2529 (composition_adjust_point, Fcomposition_get_gstring): New functions.
2530 (syms_of_composite): Initialize gstring_hash_table, gstrint_work,
2531 and gstring_work_headers. DEFVAR_LISP composition-function-table.
2532 Defsubr compostion_get_gstring.
2533
2534 * dispextern.h (struct glyph): New union u.cmp. Delete the member
2535 cmp_id.
2536 (struct glyph_string): Delete the member gidx. New members
2537 cmp_id, cmp_from, and cmp_to.
2538 (enum it_method): Delete GET_FROM_COMPOSITION.
2539 (struct composition_it): New struct.
2540 (struct it): New member cmp_it, and iterator_stack_entry.cmp_it.
2541 Delete c, len, cmp_id, cmp_len in u.comp.
2542
2543 * font.h (enum lgstring_indices): Delete it.
2544 (LGSTRING_XXX, LGLYPH_XXX): Move these macros to composite.h.
2545 (enum lglyph_indices): Likewise.
2546 (font_range): Adjust extern.
2547 (font_fill_lglyph_metrics): Extern it.
2548
2549 * font.c (QCf): New variable.
2550 (check_gstring): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
2551 (font_prepare_composition): Delete this function.
2552 (font_range): Type and arguments changed.
2553 (Ffont_make_gstring, Ffont_fill_gstring): Delete them.
2554 (font_fill_lglyph_metrics): New function.
2555 (Ffont_shape_text): Rename to Ffont_shape_gstring and change arguments.
2556 (syms_of_font): DEFSYM QCf. Delete defsubr for
2557 Sfont_make_gstring, Sfont_fill_gstring, Sfont_shape_text.
2558 Defsubr Sfont_shape_gstring.
2559
2560 * fontset.h (font_for_char): Extern it.
2561
2562 * fontset.c (font_for_char): New function.
2563
2564 * ftfont.c: Include composite.h.
2565 (ftfont_resolve_generic_family): Add langset "en" to pattern.
2566 (ftfont_shape_by_flt): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
2567
2568 * indent.c: Include composite.h and dispextern.h.
2569 (check_composition): Delete this function.
2570 (scan_for_column): Handle composition by
2571 composition_compute_stop_pos, composition_reseat_it, and
2572 composition_update_it.
2573 (compute_motion): Likewise.
2574 (Fvertical_motion): Fix checking of composition.
2575
2576 * keyboard.c (adjust_point_for_property): Check composition by
2577 composition_adjust_point.
2578
2579 * nsterm.m (ns_draw_glyph_string): Adjust for the change of
2580 struct glyph_string.
2581
2582 * term.c (encode_terminal_code): Adjust for the change of struct glyph.
2583 (append_composite_glyph): Adjust for the change of struct it and
2584 struct glyph.
2585 (produce_composite_glyph): Likewise.
2586
2587 * w32term.c (x_draw_composite_glyph_string_foreground):
2588 Adjust for the change of struct glyph_string.
2589 (x_draw_glyph_string): Likewise.
2590
2591 * w32uniscribe.c (struct uniscribe_font_info): Include composite.h.
2592 (uniscribe_shape): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
2593
2594 * xdisp.c: Include font.h.
2595 (it_props): Delete the entry for Qauto_composed.
2596 (init_iterator): Initialize it->cmp_it.id to -1.
2597 (compute_stop_pos): Call composition_compute_stop_pos.
2598 (face_before_or_after_it_pos): Adjust for the change of struct it.
2599 (handle_auto_composed_prop): Delete it.
2600 (handle_composition_prop): Handle only static composition.
2601 (next_overlay_string): Remove it->method == GET_FROM_COMPOSITION
2602 from xassert. Initialize it->cmp_it.stop_pos.
2603 (push_it): Adjust for the change of struct it.
2604 (pop_it): Likewise.
2605 (get_next_element): Delete next_element_from_composition.
2606 (CHAR_COMPOSED_P): New macro.
2607 (get_next_display_element): For automatic composition, get a face
2608 from the font in the glyph-string.
2609 (set_iterator_to_next): For GET_FROM_BUFFER and GET_FROM_STRING,
2610 check composition by it->cmp_it.id. Delete GET_FROM_COMPOSITION case.
2611 (next_element_from_string): Check if the character at the current
2612 position is composed by CHAR_COMPOSED_P.
2613 (next_element_from_buffer): Likewise.
2614 (next_element_from_composition): Adjust for the change of struct it.
2615 Update it->cmp_it.
2616 (dump_glyph): Adjust for the change of struct glyph.
2617 (fill_composite_glyph_string): Adjust for the change of struct
2618 it and struct glyph. Don't handle automatic composition here.
2619 (fill_gstring_glyph_string): New function.
2620 (x_get_glyph_overhangs): Handle automatic composition.
2621 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the change of struct glyph.
2622 (BUILD_GSTRING_GLYPH_STRING): New macro.
2623 (BUILD_GLYPH_STRINGS): Call BUILD_GSTRING_GLYPH_STRING for
2624 automatic composition.
2625 (append_composite_glyph): Adjust for the change of struct it and
2626 struct glyph.
2627 (x_produce_glyphs): Adjust for the change of struct it.
2628
2629 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
2630 the change of struct glyph_string.
2631 (x_draw_glyph_string): Likewise.
2632
2633 2008-08-29 Glenn Morris <rgm@gnu.org>
2634
2635 * buffer.c (word-wrap): Doc fix.
2636 * xdisp.c (truncate-partial-width-windows): Doc fix.
2637 Increase default to 50.
2638
2639 2008-08-29 Chong Yidong <cyd@stupidchicken.com>
2640
2641 * xdisp.c (update_tool_bar_unwind): New function.
2642 (update_tool_bar): Temporarily set selected frame before building
2643 tool-bar items.
2644
2645 2008-08-28 Michael Albinus <michael.albinus@gmx.de>
2646
2647 * dbusbind.c (XD_ERROR, XD_DEBUG_MESSAGE): Use strncpy and
2648 snprintf, respectively.
2649 (xd_append_arg): Convert strings with Fstring_make_unibyte.
2650
2651 2008-08-28 Chong Yidong <cyd@stupidchicken.com>
2652
2653 * Makefile.in: Revert (undocumented) 2008-08-20 change adding
2654 LDFLAGS to GNUstep CC invocation.
2655
2656 2008-08-27 Chong Yidong <cyd@stupidchicken.com>
2657
2658 * indent.c (Fvertical_motion): Revert last change. Handle the
2659 general case where we are moving forward, and PT spans multiple
2660 screen lines.
2661
2662 * eval.c (find_handler_clause): Temporarily increase
2663 max-lisp-eval-depth while printing the backtrace buffer, to
2664 guarantee that help-mode code can run.
2665
2666 2008-08-27 Eli Zaretskii <eliz@gnu.org>
2667
2668 * msdos.c (Fmsdos_remember_default_colors): Don't reverse frame
2669 colors under -rv.
2670 (IT_set_frame_parameters): Don't swap foreground and background
2671 colors if `(reverse . t)' is present in the frame properties.
2672 (internal_terminal_init): Call init_frame_faces only for the
2673 initial frame.
2674
2675 2008-08-27 Andreas Schwab <schwab@suse.de>
2676
2677 * dired.c (Ffile_attributes): Avoid compiler warning in bitshift.
2678
2679 2008-08-27 Andreas Schwab <schwab@suse.de>
2680
2681 * search.c (search_buffer): Set char_base to zero only at the end.
2682
2683 2008-08-27 Kenichi Handa <handa@m17n.org>
2684
2685 * fileio.c (report_file_error): Fix handling of multibyte error string.
2686
2687 2008-08-27 Andreas Seltenreich <seltenreich@gmx.de>
2688
2689 * xterm.c (x_term_init): Temporarily hide the partially
2690 initialized terminal while calling vendor-specific-keysyms.
2691
2692 2008-08-26 Eli Zaretskii <eliz@gnu.org>
2693
2694 * msdos.c (internal_terminal_init): Most initializations done only
2695 once, especially initial_screen_colors[] and termscript open.
2696
2697 2008-08-26 Chong Yidong <cyd@stupidchicken.com>
2698
2699 * eval.c (Fcondition_case): Doc fix.
2700
2701 * widgetprv.h (EmacsFramePart): Change font member to the new font
2702 struct.
2703
2704 * widget.c: Include character.h and font.h for XSETFONT.
2705 (setup_frame_gcs): Compute X font id from font struct, just once.
2706
2707 2008-08-26 Eli Zaretskii <eliz@gnu.org>
2708
2709 * term.c (get_named_tty): Fix last change.
2710
2711 2008-08-26 Chong Yidong <cyd@stupidchicken.com>
2712
2713 * indent.c (Fvertical_motion): If moving forward starting from a
2714 multi-line string, move the iterator to the last line of that string.
2715
2716 2008-08-25 Eli Zaretskii <eliz@gnu.org>
2717
2718 * frame.c (do_switch_frame): Mark previously displayed frame as
2719 obscured for FRAME_MSDOS_P frames as well.
2720
2721 2008-08-24 Eli Zaretskii <eliz@gnu.org>
2722
2723 * frame.c (make_terminal_frame): Initialize f->terminal,
2724 f->terminal->reference_count, and scroll bars on MS-DOS as well.
2725 Set the top frame to newly created frame.
2726 (Fmake_terminal_frame): Reuse the_only_display_info.
2727
2728 * vm-limit.c (get_lim_data) [MSDOS]: Use alternative methods of
2729 estimating available memory.
2730
2731 2008-08-23 David Reitter <david.reitter@gmail.com>
2732
2733 * nsterm.m (ns_draw_window_cursor): Don't call
2734 NSDisableScreenUpdates and NSEnableScreenUpdates on
2735 non-NS_IMPL_COCOA systems.
2736
2737 2008-08-23 Andreas Schwab <schwab@suse.de>
2738
2739 * process.c (procfs_system_process_attributes): Fix use of
2740 uninitialized variables.
2741
2742 2008-08-23 Eli Zaretskii <eliz@gnu.org>
2743
2744 * emacs.c (main) [MSDOS]: Call syms_of_xmenu.
2745
2746 * dispnew.c (init_display): Remove MS-DOS specific conditions for
2747 calling tty-set-up-initial-frame-faces.
2748
2749 * xmenu.c (Fx_popup_dialog, Fx_popup_menu, xmenu_show):
2750 Allow MSDOS frames along with X frames.
2751
2752 * termhooks.h (TERMINAL_ACTIVE_P): Handle output_msdos_raw in
2753 addition to output_termcap.
2754
2755 * xdisp.c (redisplay_internal) [MSDOS]: Don't call set_tty_color_mode.
2756
2757 * termchar.h (FRAME_TTY): Support output_msdos_raw.
2758 (struct tty_display_info) [MSDOS]: Add fields related to mouse
2759 highlight.
2760
2761 * process.c [!subprocesses]: Define QCname.
2762 (syms_of_process): Intern and staticpro it.
2763
2764 * w16select.c (Fw16_set_clipboard_data, Fw16_get_clipboard_data):
2765 Adjust for changes in encoding/decoding routines.
2766 Use encode_coding_object and decode_coding_object instead of
2767 encode_coding and decode_coding.
2768
2769 * sysdep.c (init_sys_modes): Call dos_ttraw with tty_out as argument.
2770
2771 * dosfns.c: Include frame.h before termhooks.h.
2772 (dos_cleanup): Use CURTTY ()->termscript instead of a global
2773 variable termscript.
2774
2775 * s/msdos.h (USER_FULL_NAME): Define.
2776 (SYSTEM_PURESIZE_EXTRA): Bump up to 100K.
2777
2778 * editfns.c (USER_FULL_NAME): Define to pw->pw_gecos if undefined.
2779 (Fuser_full_name): Use USER_FULL_NAME instead of a literal
2780 pw->pw_gecos.
2781
2782 * keyboard.c (handle_interrupt) [MSDOS]: Call cursor_to with
2783 SELECTED_FRAME as additional (1st) argument.
2784 (tty_read_avail_input): Handle output_msdos_raw in
2785 addition to output_termcap.
2786
2787 * msdos.c: Include frame.h before termhooks.h.
2788 (mouse_on, mouse_off, mouse_moveto, mouse_init)
2789 (msdos_set_cursor_shape, IT_set_face, IT_write_glyphs)
2790 (show_mouse_face, IT_clear_end_of_line, IT_clear_screen)
2791 (IT_clear_to_end, IT_cursor_to, IT_display_cursor, IT_cmgoto)
2792 (IT_set_terminal_modes, IT_reset_terminal_modes)
2793 (IT_set_frame_parameters): Use tty->termscript instead of a global
2794 variable termscript.
2795 (IT_write_glyphs): Use tty->terminal->terminal_coding instead of a
2796 global variable terminal_coding. Don't refer to
2797 Vnonascii_translation_table.
2798 (internal_terminal_init): Set Vwindow_system in current_kboard.
2799 Don't use TTY_CHAR_INS_DEL_OK. Set Vinitial_window_system.
2800 Announce date and time of session start, if termscript is open.
2801 Don't zero out the_only_display_info (it is done in
2802 term.c:init_tty). Open termscript only of not already open.
2803 Log "SCREEN SAVED" here, instead of IT_set_terminal_modes. Init mouse
2804 here instead of dos_ttraw. Don't initialize display if this is an
2805 initial tty. Don't set FRAME_FONT.
2806 (Vwindow_system_version): Bump to 23.
2807 (dos_ttraw): Accept a TTY argument; all callers fixed. If mouse
2808 is available, set up mouse_position_hook.
2809 (dos_ttraw, IT_set_terminal_modes): If called with initial
2810 terminal, do nothing.
2811 (IT_set_frame_parameters): Handle the Qtty_type frame
2812 parameter by calling internal_terminal_init.
2813 (dos_set_window_size, show_mouse_face)
2814 (clear_mouse_face, IT_note_mode_line_highlight)
2815 (IT_note_mouse_highlight, IT_update_begin, IT_frame_up_to_date)
2816 (dos_rawgetc): Use tty_display_info instead of x_display_info.
2817 (initialize_msdos_display): New function.
2818 (IT_cursor_to, IT_clear_to_end, IT_clear_screen)
2819 (IT_clear_end_of_line, IT_insert_glyphs, IT_write_glyphs)
2820 (IT_delete_glyphs, IT_ring_bell, IT_reset_terminal_modes)
2821 (IT_set_terminal_modes, IT_set_terminal_window, IT_update_begin):
2822 Accept additional argument: a pointer to a frame. Update all callers.
2823 (request_sigio, unrequest_sigio): Don't define, now defined on
2824 sysdep.c.
2825 (IT_write_glyphs): Rewrite to use encode_terminal_code.
2826
2827 * term.c [MSDOS]: Include msdos.h.
2828 (init_tty) [MSDOS]: Reuse most of WINDOWSNT branch. Change cpp
2829 conditional to DOS_NT. Allow only one call to this function in a
2830 session. Don't allocate a new struct tty_display_info; instead,
2831 reuse the_only_display_info. Call get_tty_size to get screen
2832 dimensions. Call init_baud_rate to set bad_rate.
2833 (dissociate_if_controlling_tty) [MSDOS]: Ifdef away function body.
2834 (Fsuspend_tty) [MSDOS]: Don't close input and output.
2835 (Fresume_tty) [MSDOS]: Don't reopen the TTY; instead, use stdin/stdout.
2836 (get_tty_terminal, get_named_tty, Ftty_type)
2837 (Fcontrolling_tty_p): Handle output_msdos_raw in addition to
2838 output_termcap.
2839 (Fresume_tty, Fsuspend_tty, init_tty, delete_tty):
2840 Call add_keyboard_wait_descriptor and delete_keyboard_wait_descriptor
2841 only when subprocesses are supported.
2842
2843 * frame.c (make_terminal_frame) [MSDOS]: Adjust initialization of
2844 f->output_data.x.
2845 (Fmake_terminal_frame) [MSDOS]: Don't allow creation of new
2846 terminal devices.
2847
2848 * msdos.h: Remove definition of struct x_display_info and struct
2849 x_output.
2850 (FRAME_FONT): Use output_data.tty.
2851 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL): Don't define.
2852 (struct x_display_info): Rename from display_info. Update all users in
2853 msdos.c.
2854 (struct x_output): Remove background_pixel and foreground_pixel.
2855 (the_only_display_info): Rename from the_only_x_display.
2856 (dos_ttraw): Update prototype.
2857
2858 * Makefile.in (MSDOS_OBJ): Add xmenu.o.
2859 (SOME_MACHINE_LISP): Add ../lisp/term/pc-win.elc.
2860
2861 2008-08-23 Jason Rumney <jasonr@gnu.org>
2862
2863 * image.c (enum tiff_keyword_index, tiff_format): Add :index keyword.
2864 (fn_TIFFSetDirectory): New library function used.
2865 (init_tiff_functions) [HAVE_NTGUI]: Initialize it.
2866 (tiff_load): Use :index to select among multiple images. Set count
2867 property when multiple images exist.
2868 (gif_format): Use :index, not :image.
2869
2870 2008-08-23 Chong Yidong <cyd@stupidchicken.com>
2871
2872 * xdisp.c (try_scrolling): Check INT_MAX instead of
2873 MOST_POSITIVE_FIXNUM for maximum integer value. Include limits.h
2874 to obtain INT_MAX.
2875
2876 2008-08-21 İsmail Dönmez <ismail@namtrac.org> (tiny change)
2877
2878 * xterm.c (x_delete_display): Don't call XrmDestroyDatabase on GTK+.
2879
2880 2008-08-21 Christian Faulhammer <opfer@gentoo.org> (tiny change)
2881
2882 * Makefile.in (temacs${EXEEXT}): On GNUstep, link to appropriate
2883 GNUstep library location.
2884
2885 2008-08-21 Chong Yidong <cyd@stupidchicken.com>
2886
2887 * xfaces.c (x_update_menu_appearance): Check validity of menu font
2888 before using it.
2889
2890 * puresize.h (BASE_PURESIZE): Increase to 1250000.
2891
2892 2008-08-20 Adrian Robert <Adrian.B.Robert@gmail.com>
2893
2894 * nsfns.m (ns-read-file-name): Add casts to avoid warning.
2895 (ns-convert-utf8-nfd-to-nfc): Warn if cannot execute correctly.
2896 * nsfont.m (nsfont_draw): Compare indexed colors to 0, not nil.
2897 * nsterm.h (EmacsView-unlockFocusNeedsFlush:): Add declaration.
2898 (EmacsApp-cursor_blink_handler): Remove declaration.
2899 * nsterm.m (ns_draw_glyph_string): Update first conditional body to
2900 match 01 Feb 2008 changes in xterm.c.
2901 (ns_read_socket): Add cast to avoid warning.
2902 (EmacsApp-application:openFiles:): Don't call replyToOpenOrPrint: on
2903 GNUstep.
2904
2905 2008-08-20 Chong Yidong <cyd@stupidchicken.com>
2906
2907 * xselect.c (x_get_foreign_selection): Return nil if desired
2908 selection could not be obtained, instead of signalling an error.
2909
2910 2008-08-20 David Reitter <david.reitter@gmail.com>
2911
2912 * nsfns.m (ns_lisp_to_cursor_type): Replace with generic xfns.c.
2913 * nsterm.m: Remove ns-specific code for cursor blinking.
2914 (ns_draw_window_cursor): Clear cursor properly rather than
2915 redrawing the area. Respect width of bar cursors.
2916 These changes enable the use of generic blink-cursor-mode and
2917 generic cursor types in NS and support smooth cursor movements (do
2918 not blink off after command).
2919 * xdisp.c (get_phys_cursor_geometry): Redraw wider rectangle on
2920 Nextstep, too.
2921
2922 2008-08-19 Kenichi Handa <handa@m17n.org>
2923
2924 * font.c (Vfont_log_deferred): New variable.
2925 (font_add_log): Check Vfont_log_deferred.
2926 (font_deferred_log): New function.
2927
2928 * font.h (font_deferred_log): Extern it.
2929
2930 * fontset.c (reorder_font_vector): Use encoding charset of fonts
2931 for sorting.
2932 (face_for_char): Use deferred log.
2933
2934 2008-08-18 Kenichi Handa <handa@m17n.org>
2935
2936 * fontset.c (face_for_char): Add font log.
2937
2938 * font.c (font_add_log): Add the font properties :script, :lang,
2939 and :otf in the log.
2940
2941 2008-08-17 Chong Yidong <cyd@stupidchicken.com>
2942
2943 * xdisp.c: Remove dead code.
2944 (handle_invisible_prop, next_overlay_string): Defer call to
2945 setup_for_ellipsis.
2946 (handle_stop, set_iterator_to_next): Call setup_for_ellipsis.
2947
2948 2008-08-15 Chong Yidong <cyd@stupidchicken.com>
2949
2950 * xfaces.c (lookup_derived_face): Properly handle possible zero
2951 return value of get_lface_attributes.
2952 (merge_faces): Don't tell lookup_derived_face to signal an error
2953 if face is not found.
2954
2955 * dired.c (Fdirectory_files): Doc fix.
2956
2957 * process.c (make_process): Initialize kill_without_query struct
2958 member.
2959
2960 2008-08-15 Eli Zaretskii <eliz@gnu.org>
2961
2962 * w32.c (w32_system_process_attributes) [_MSC_VER < 1300]:
2963 Alternative calculation of totphys for Visual Studio 6.
2964
2965 * w32fns.c [_MSC_VER && _MSC_VER < 1300]: Declare HMONITOR.
2966
2967 * w32.c (_MEMORY_STATUS_EX, MEMORY_STATUS_EX, LPMEMORY_STATUS_EX):
2968 Rename from _MEMORYSTATUSEX, MEMORYSTATUSEX, LPMEMORYSTATUSEX.
2969 All users changed.
2970 (stat): Only root directory passed to GetDriveType. Allow RAM
2971 disk as well as local fixed disk when w32-get-true-file-attributes
2972 is set to `local'.
2973 (CopySid_Proc, EqualSid_Proc, GetLengthSid_Proc): New typedefs.
2974 (equal_sid, get_length_sid, copy_sid): New wrapper functions.
2975 (w32_cached_id, w32_add_to_cache): New functions.
2976 (get_name_and_id): Look account names in the cache before calling
2977 lookup_account_sid.
2978 (g_b_init_get_length_sid, g_b_init_equal_sid, g_b_init_copy_sid):
2979 New initialization flags.
2980 (globals_of_w32): Initialize them to zero.
2981 (w32_system_process_attributes): Use w32_cached_id and
2982 w32_add_to_cache.
2983
2984 2008-08-14 Lawrence Mitchell <wence@gmx.li>
2985
2986 * lread.c (Fread_char, Fread_char_exclusive): If no character
2987 event is read before timeout is reached, return nil, rather than
2988 converting to a number.
2989
2990 2008-08-14 Chong Yidong <cyd@stupidchicken.com>
2991
2992 * fns.c (use_dialog_box): Doc fix.
2993
2994 * s/darwin.h: Undefine HAVE_RES_INIT, which appears to be harmful
2995 on OS X.
2996
2997 2008-08-13 Chong Yidong <cyd@stupidchicken.com>
2998
2999 * frame.c (Qns_parse_geometry): New var.
3000 (Fx_parse_geometry): For HAVE_NS, call ns-parse-geometry.
3001
3002 2008-08-11 Chong Yidong <cyd@stupidchicken.com>
3003
3004 * xdisp.c (x_produce_glyphs): Handle the case when font has no
3005 space character in calculating tabs.
3006
3007 2008-08-11 Dan Nicolaescu <dann@ics.uci.edu>
3008
3009 * Makefile.in (bootstrap-emacs): Use ln -f in the CANNOT_DUMP case.
3010
3011 2008-08-10 Glenn Morris <rgm@gnu.org>
3012
3013 * process.c (procfs_system_process_attributes): Use EMACS_INTs to
3014 silence gcc "limited range of data type" warnings in some
3015 make_fixnum_or_float calls.
3016
3017 2008-08-09 Eli Zaretskii <eliz@gnu.org>
3018
3019 * w32.c (w32_system_process_attributes): If the process does not
3020 exist, return nil.
3021
3022 * w32.c: Include thelp32.h, psapi.h and coding.h.
3023 (_MEMORYSTATUSEX, _PROCESS_MEMORY_COUNTERS_EX): New struct
3024 declarations.
3025 (CreateToolhelp32Snapshot_Proc, Process32First_Proc)
3026 (Process32Next_Proc): New typedefs.
3027 (g_b_init_create_toolhelp32_snapshot, g_b_init_process32_first)
3028 (g_b_init_process32_next, g_b_init_open_thread_token)
3029 (g_b_init_impersonate_self, g_b_init_revert_to_self)
3030 (g_b_init_get_process_memory_info, g_b_init_global_memory_status)
3031 (g_b_init_get_process_working_set_size)
3032 (g_b_init_global_memory_status_ex): New static variables.
3033 (globals_of_w32): Initialize them.
3034 (create_toolhelp32_snapshot, process32_first, process32_next)
3035 (open_thread_token, impersonate_self, revert_to_self)
3036 (get_process_memory_info, get_process_working_set_size)
3037 (global_memory_status, global_memory_status_ex): New wrapper
3038 functions.
3039 (w32_list_system_processes, w32_system_process_attributes)
3040 (enable_privilege, restore_privilege, ltime, process_times):
3041 New functions.
3042 (convert_time_raw): New function.
3043 (convert_time): Remove conversion of FILETIME into time in 100
3044 nsec units, call convert_time_raw instead.
3045
3046 * process.h (w32_list_system_processes, w32_system_process_attributes):
3047 Add prototypes.
3048 (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess, Qttname)
3049 (Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime, Qcutime)
3050 (Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs, Quser, Qgroup)
3051 (Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime): Add extern declarations.
3052
3053 * process.c (Fsystem_process_attributes): Doc fix.
3054
3055 2008-08-08 Chong Yidong <cyd@stupidchicken.com>
3056
3057 * xdisp.c (move_it_to): When stopping at a charpos, check if that's
3058 a continued multi-char glyph; if so, advance to the actual glyph.
3059
3060 2008-08-07 Dan Nicolaescu <dann@ics.uci.edu>
3061
3062 * s/darwin.h (OTHER_FILES): Do not define here, defined in config.in.
3063
3064 * Makefile.in (ALL_OBJC_CFLAGS): New variable.
3065 (.m.o): Use it.
3066 * config.in: Regenerate.
3067
3068 2008-08-07 Chong Yidong <cyd@stupidchicken.com>
3069
3070 * xdisp.c (redisplay_window): Revert last change.
3071 (try_window): Check bottom scroll margin too.
3072
3073 2008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
3074
3075 * config.in: Regenerate.
3076
3077 * Makefile.in (emacs): Remove ifndef NS conditional for 'emacs
3078 -list-load-path-shadows'.
3079 (nsgui.h): Reduce number of things depending on it.
3080
3081 2008-08-06 Chong Yidong <cyd@stupidchicken.com>
3082
3083 * xdisp.c (try_scrolling): Use iterator to find the scroll margin,
3084 instead of window-end which does the wrong thing at eob.
3085 (try_cursor_movement): Minor optimization.
3086 (redisplay_window): If scroll margin is defined, don't assume
3087 window doesn't need scrolling.
3088
3089 2008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
3090
3091 * config.in: Regenerate.
3092
3093 * Makefile.in: Move nsXXX.m dependencies into big alphabetical list.
3094 (mostlyclean): Don't delete *.d under NS.
3095
3096 * nsterm.h (NS_HAVE_INTEGER): Change to NS_HAVE_NSINTEGER.
3097
3098 2008-08-06 Kenichi Handa <handa@m17n.org>
3099
3100 * xfont.c (xfont_list_family): Return a list of symbols, not strings.
3101
3102 2008-08-06 Andreas Schwab <schwab@suse.de>
3103
3104 * config.in: Regenerate.
3105
3106 2008-08-05 Chong Yidong <cyd@stupidchicken.com>
3107
3108 * xdisp.c (redisplay_window): Don't enforce scroll-margin when
3109 forcing a window start.
3110
3111 * fileio.c (Vauto_save_list_file_name): Move here from file.el.
3112 (auto_save_1): Update modtime when auto-save-list-file-name is on.
3113
3114 2008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
3115
3116 * emacs.c (main): Under NS, set working dir to HOME when get a "psn"
3117 argument.
3118
3119 2008-08-05 Juanma Barranquero <lekktu@gmail.com>
3120
3121 * buffer.c (syms_of_buffer) <scroll-up-aggressively>:
3122 <scroll-down-aggressively, before-change-functions>:
3123 <after-change-functions>: Reflow docstrings.
3124
3125 2008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
3126 Ken Raeburn <raeburn@gnu.org>
3127
3128 Dock menu customization, based on a patch by Ken Raeburn, plus some
3129 other fixes.
3130 * nsmenu.m (dockMenu): New variable.
3131 (EmacsDialog -clicked:): Fix mistake in change of 2008-07-17.
3132
3133 * nsterm.h (dockMenu): Declare.
3134
3135 * nsterm.m (KEY_NS_NEW_FRAME): New definition.
3136 (ns_term_init): Initialize dockMenu.
3137 (EmacsApp -newFrame:, -applicationDockMenu:): New methods.
3138 (EmacsView -windowShouldClose:): Don't behave specially if <= 1 frame
3139 left.
3140
3141 * lisp.h (LSB_TAG): Use on DARWIN_OS, not NS_IMPL_COCOA.
3142
3143 2008-08-04 Chong Yidong <cyd@stupidchicken.com>
3144
3145 * nsterm.h: Test directly for NS_HAVE_INTEGER before defining it.
3146
3147 * config.in: Regenerate.
3148
3149 2008-08-04 Seiji Zenitani <zenitani@mac.com>
3150
3151 * nsfns.m (x-create-frame): Set the frame parameter alpha to nil.
3152
3153 2008-08-04 Chong Yidong <cyd@stupidchicken.com>
3154
3155 * nsterm.h (find_and_call_menu_selection): Fix prototype.
3156
3157 2008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
3158
3159 * emacs.c (main: unexec_init_emacs_zone): Call if on DARWIN_OS.
3160
3161 * keyboard.h: Comment an #endif.
3162
3163 * lisp.h (have_menus_p): Adjust comment.
3164
3165 * menu.c (find_and_return_menu_selection): Fix comparison with
3166 client_data.
3167
3168 * nsmenu.m (popup_activated_flag): New variable.
3169 (popup_activated): New function.
3170 (menu-or-popup-active-p): New exported lisp definition.
3171 (ns_popup_menu): Set popup_activated_flag. Call discard_menu_items()
3172 when popup done.
3173 (ns_popup_dialog): Set popup_activated_flag.
3174
3175 * nsterm.m (EmacsView -conversationIdentifier): Use NSInteger
3176 version for GNUstep (handled by conditional typedef in nsterm.m).
3177 (ns_get_color): Remove special-casing for "darkblue", "dark blue" (now
3178 in rgb.txt).
3179
3180 * process.c (init_process): Use DARWIN_OS, not DARWIN.
3181
3182 * sysselect.h: Conditionalize init_process undef on DARWIN_OS.
3183
3184 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): Do it also under NS.
3185
3186 * xdisp.c (redisplay_internal, note_mouse_highlight): Under NS,
3187 shortcircuit if popup_activated like GTK and X toolkit.
3188
3189 * m/inter386.h: Change DARWIN to DARWIN_OS.
3190
3191 * s/darwin.h: Add #define DARWIN_OS. Get rid of C_SWITCH_SYSTEM def.
3192 Change LIBS_MACGUI to LIBS_NSGUI. Move temacs-conditionalized defs
3193 closer to C_SWITCH_SYSTEM_TEMACS so usage is understood. Expand
3194 comment on NO_SOCK_SIGIO.
3195
3196 2008-08-03 Chong Yidong <cyd@stupidchicken.com>
3197
3198 * nsterm.m (windowDidResize): Remove stopModal call.
3199
3200 2008-08-03 Andreas Schwab <schwab@suse.de>
3201
3202 * vm-limit.c (get_lim_data) [HAVE_GETRLIMIT && RLIMIT_AS]: Define.
3203 (check_memory_limits): Don't handle HAVE_GETRLIMIT here.
3204
3205 2008-08-02 Chong Yidong <cyd@stupidchicken.com>
3206
3207 * vm-limit.c (check_memory_limits): Don't use getrlimit on cygwin.
3208 Don't use uninitialized pointer variable when using getrlimit.
3209
3210 2008-08-02 Jason Rumney <jasonr@gnu.org>
3211
3212 * w32font.c (compute_metrics): Don't mess with glyph_idx setting here.
3213
3214 2008-08-02 Eli Zaretskii <eliz@gnu.org>
3215
3216 * alloc.c (NSTATICS): Bump to 0x640.
3217
3218 * s/gnu-linux.h (HAVE_PROCFS, LISTPROC, PROCATTR): New defines.
3219
3220 * lisp.h: Add prototype for directory_files_internal.
3221
3222 * process.c (Fsystem_processes_list, Fsystem_process_attributes):
3223 New functions.
3224 (syms_of_process): Defsubr them. Add initializations for various
3225 Q* symbols used in procfs_system_process_attributes.
3226 (procfs_list_system_processes, procfs_system_process_attributes)
3227 [HAVE_PROCFS]: New functions.
3228 (time_from_jiffies, ltime_from_jiffies, get_up_time, procfs_ttyname)
3229 (procfs_get_total_memory): New functions.
3230
3231 2008-08-01 Juanma Barranquero <lekktu@gmail.com>
3232
3233 * xfaces.c (Fx_load_color_file): Fix previous change;
3234 it is #ifdef WINDOWSNT, not WINDOWS_NT.
3235
3236 2008-08-01 Michael Albinus <michael.albinus@gmx.de>
3237
3238 * dbusbind.c (xd_read_message): Handle D-Bus error messages.
3239
3240 2008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
3241
3242 * nsterm.h (NSInteger, NSUInteger): Add defines for non-Leopard.
3243
3244 2008-08-01 Chong Yidong <cyd@stupidchicken.com>
3245
3246 * nsfns.m (ns_frame_parm_handlers): Add empty entry for x_set_alpha.
3247
3248 * nsterm.m (EmacsApp -application:openFiles:): GNUstep does not
3249 define NSApplicationDelegateReplySuccess.
3250 (EmacsView -converstationIdentifier): Use long instead of
3251 NSInteger for GNUstep, since it doesn't have NSInteger.
3252
3253 * xmenu.c: Revert last change.
3254
3255 * keyboard.h: Fix last change.
3256
3257 2008-08-01 Juanma Barranquero <lekktu@gmail.com>
3258
3259 * xfaces.c (x-load-color-file): Use RGB() instead of manually shifting
3260 on Windows.
3261
3262 2008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
3263
3264 Warning clearing and clean-up in NS port.
3265 * keyboard.h (xmalloc_widget_value, digest_single_submenu):
3266 Add prototypes.
3267 * nsgui.h (FACE_DEFAULT): Remove, unused.
3268 (XGCValues): Change colors to unsigned long.
3269 * nsterm.h (EmacsApp): Add declaration of all methods implemented in
3270 nsterm.m.
3271 (EmacsMenu -addItemWithWidgetValue:): Change to use NSMenuItem class.
3272 (ns_list_fonts): Remove, unused.
3273 (ns_font_to_xlfd, ns_fontname_to_xlfd): Drop prototypes.
3274 * nsfns.m (interpret_services_menu): Use NSMenuItem class.
3275 * nsfont.m (nsfont_open): Fix cast error in glyphs,metrics alloc.
3276 (nsfont_draw): Compare face colors to 0, not nil.
3277 * nsmenu.m (struct widget_value): Drop unneeded declaration.
3278 (EmacsMenu -addItemWithWidgetValue:, -fillWithWidgetValue:)
3279 (-addSubmenuWithTitle:): Use NSMenuItem class.
3280 (ns_popup_menu): Use NO, not NULL, for enabled setting.
3281 * nsterm.m (ns_draw_glyph_string): Don't compare font to ~0.
3282 (ns_clip_to_row): Make gc arg a BOOL.
3283 (ns_draw_fringe_bitmap, ns_draw_window_cursor): Use YES, NO in
3284 ns_clip_to_row() call.
3285 (ns_draw_glyph_string): Drop face comparison to ~0 (no longer
3286 used). Cast FRAME_FONT assignments.
3287 (ns_read_socket): Cast call to EmacsApp-fulfillService:withArg:.
3288 (ns_string_to_lispmod): Change arg to const char.
3289 (ns_term_init): Use NSMenuItem class.
3290 (EmacsApp -openFile:): Move to different section of file.
3291 (EmacsApp -application:openFiles:): Don't return a value, call
3292 -replyToOpenOrPrint:.
3293 (EmacsView -keyDown:): Fix up cast.
3294 (EmacsView -converstationIdentifier): Use NSInteger instead of long.
3295 (EmacsView -menuDown:): Cast tag in call to
3296 find_and_call_menu_selection().
3297 (ns_list_fonts): Remove, unused.
3298 (ns_font_to_xlfd): Make static. Cast result of UTF8String.
3299 (ns_fontname_to_xlfd): Make static.
3300 * w32menu.c (xmalloc_widget_value, digest_single_submenu):
3301 Remove prototypes (now in keyboard.h).
3302 (next_menubar_widget_id): Remove, unused.
3303 * xmenu.c (xmalloc_widget_value, digest_single_submenu):
3304 Remove prototypes (now in keyboard.h).
3305 * xfaces.c (ns_list_fonts, w32_list_fonts): Remove, unused.
3306
3307 2008-08-01 Dan Nicolaescu <dann@ics.uci.edu>
3308
3309 * Makefile.in (dispnew.o, gtkutil.o, sound.o, atimer.o)
3310 (floatfns.o): Depend on syssignal.h.
3311 (term.o): Depend on syssignal.h, systty.h, and $(INTERVAL_SRC).
3312
3313 * systty.h: Fix previous change that removed BSD_TERMIOS.
3314 Add comments to #ifdefs.
3315
3316 2008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
3317
3318 * w32fns.c (w32-load-color-file): Remove.
3319 (x-open-connection): Use renamed Fx_load_color_file.
3320 * xfaces.c (x-load-color-file): Add.
3321 * nsterm.m (ns_initialize): Load colors from etc/rgb.txt instead of
3322 Emacs.clr.
3323 (hide_hourglass): BLOCK_INPUT before UNBLOCK.
3324
3325 2008-07-31 Michael Albinus <michael.albinus@gmx.de>
3326
3327 * dbusbind.c (Fdbus_call_method_asynchronously)
3328 (Fdbus_method_error_internal): New defuns.
3329 (xd_read_message): Handle also reply messages.
3330 (Vdbus_registered_functions_table): Extend docstring.
3331
3332 2008-07-31 Juanma Barranquero <lekktu@gmail.com>
3333
3334 * keyboard.c (gobble_input): Fix previous change.
3335
3336 2008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
3337
3338 * bitmaps/README:
3339 * xfns.c:
3340 * termcap.c:
3341 * term.c:
3342 * syswait.h:
3343 * systty.h:
3344 * systime.h:
3345 * syssignal.h:
3346 * sysdep.c:
3347 * process.h:
3348 * process.c:
3349 * print.c:
3350 * ndir.h:
3351 * lread.c:
3352 * keyboard.c:
3353 * getpagesize.h:
3354 * floatfns.c:
3355 * fileio.c:
3356 * emacs.c:
3357 * doc.c:
3358 * dispnew.c:
3359 * dired.c:
3360 * data.c:
3361 * callproc.c:
3362 * buffer.c:
3363 * README:
3364 * Makefile.in:
3365 * s/template.h:
3366 * s/msdos.h:
3367 * m/vax.h: Remove VMS support.
3368 * s/vms.h:
3369 * vlimit.h:
3370 * uaf.h:
3371 * temacs.opt:
3372 * param.h:
3373 * ioctl.h: Remove file.
3374
3375 2008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
3376
3377 * s/ms-w32.h (MULTI_KBOARD): Remove.
3378 * xterm.c:
3379 * xselect.c:
3380 * xfns.c:
3381 * window.c:
3382 * w32term.c:
3383 * w32fns.c:
3384 * terminal.c:
3385 * termhooks.h:
3386 * term.c:
3387 * sysdep.c:
3388 * keyboard.h:
3389 * keyboard.c:
3390 * frame.h:
3391 * frame.c:
3392 * frame.c: Remove references to MULTI_KBOARD, it is now the default.
3393 * config.in: Regenerate.
3394
3395 2008-07-30 Jason Rumney <jasonr@gnu.org>
3396
3397 * w32font.h (struct w32font_info): Use unicode version of textmetrics.
3398
3399 * w32font.c (w32font_encode_char): Leave as unicode if in range.
3400 (w32font_open_internal): Get unicode version of textmetrics.
3401 Don't enable or disable glyph indices here.
3402 (w32font_open): Disable use of glyph indices.
3403
3404 * w32uniscribe.c (uniscribe_open): Enable use of glyph indices.
3405
3406 2008-07-30 Chong Yidong <cyd@stupidchicken.com>
3407
3408 * minibuf.c (Vread_buffer_function): Doc fix.
3409
3410 2008-07-30 John Paul Wallington <jpw@pobox.com>
3411
3412 * minibuf.c (read_buffer_completion_ignore_case): New var.
3413 (Fread_buffer): Use it.
3414
3415 2008-07-30 Dan Nicolaescu <dann@ics.uci.edu>
3416
3417 * systty.h (sensemode): Remove empty #if. Remove reference to
3418 BSD_TERMIOS, unused.
3419
3420 * sysdep.c: Remove reference to DGUX.
3421 (closedir): Remove reference to BROKEN_CLOSEDIR, unused.
3422
3423 * config.in: Regenerate.
3424
3425 2008-07-30 Jason Rumney <jasonr@gnu.org>
3426
3427 * w32uniscribe.c (uniscribe_encode_char): Fix glyph buffer size.
3428
3429 2008-07-29 Jason Rumney <jasonr@gnu.org>
3430
3431 * w32uniscribe.c (uniscribe_shape): Avoid using context if cache
3432 is populated.
3433 (uniscribe_encode_char): Always use uniscribe.
3434 Avoid using context if cache is populated.
3435
3436 2008-07-29 Jan Djärv <jan.h.d@swipnet.se>
3437
3438 * xmenu.c (Fx_menu_bar_open_internal): Use activate_item signal to
3439 open menu.
3440
3441 * gtkutil.c (menu_nav_ended): Remove.
3442 (create_menus): Remove signal connect for menu_nav_ended.
3443
3444 2008-07-28 Chong Yidong <cyd@stupidchicken.com>
3445
3446 * xdisp.c (redisplay_window): Check return value of
3447 compute_window_start_on_continuation_line before forcing a window
3448 start.
3449
3450 2008-07-28 Jason Rumney <jasonr@gnu.org>
3451
3452 * w32font.c (w32font_text_extents): Use w32_metric_cache consistently.
3453
3454 * w32term.c (w32_enable_unicode_output, cleartype_active):
3455 Remove obsolete display options.
3456 (x_draw_glyph_string_background): Don't use old cleartype_active
3457 workaround.
3458 (w32_initialize): Remove cleartype_active initialization.
3459 (syms_of_w32term): Remove w32_enable_unicode_output initialization.
3460
3461 2008-07-28 Andreas Schwab <schwab@suse.de>
3462
3463 * lisp.h (init_weak_hash_tables, syms_of_font)
3464 (xd_read_queued_messages, syms_of_dbusbind): Declare.
3465 (remove_hash_entry): Don't declare.
3466 * eval.c (maybe_call_debugger): Make static and move before use.
3467 * gtkutil.c: Include <X11/Xft/Xft.h> if HAVE_XFT.
3468 * xdisp.c: Include "gtkutil.h" if USE_GTK.
3469 * xterm.h (x_set_frame_alpha): Declare.
3470
3471 2008-07-28 Jan Djärv <jan.h.d@swipnet.se>
3472
3473 * gtkutil.c (menu_nav_ended): Revert change from 2008-07-24.
3474 (create_menus): Connect selection-done to menu_nav_ended.
3475
3476 2008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
3477
3478 * nsfns.m (x-create-frame): Add copy of parms argument to beginning.
3479 Set Vx_resource_name to a fallback. Replace read of 'buffered'
3480 parameter with read of 'alpha' one.
3481 (Qns_frame_parameter): Remove.
3482 * nsselect.m (selection-coding-system)
3483 (next-selection-coding-system, Vselection_coding_system)
3484 (Vnext_selection_coding_system): Drop.
3485
3486 2008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
3487
3488 * nsfns.m (do-applescript, do_applescript): Rename to
3489 ns-do-applescript, ns_do_applescript, and move within file.
3490
3491 2008-07-27 Dan Nicolaescu <dann@ics.uci.edu>
3492
3493 Remove support for Mac Carbon.
3494 * mactoolbox.c:
3495 * macterm.h:
3496 * macterm.c:
3497 * macselect.c:
3498 * macmenu.c:
3499 * macgui.h:
3500 * macfns.c:
3501 * mac.c: Remove file.
3502 * s/darwin.h:
3503 * m/intel386.h:
3504 * xfaces.c:
3505 * xdisp.c:
3506 * window.c:
3507 * tparam.c:
3508 * termhooks.h:
3509 * termcap.c:
3510 * term.c:
3511 * syssignal.h:
3512 * sysselect.h:
3513 * sysdep.c:
3514 * process.c:
3515 * lread.c:
3516 * lisp.h:
3517 * keyboard.c:
3518 * image.c:
3519 * fringe.c:
3520 * frame.h:
3521 * frame.c:
3522 * fontset.c:
3523 * font.h:
3524 * font.c:
3525 * fns.c:
3526 * fileio.c:
3527 * emacs.c:
3528 * dispnew.c:
3529 * dispextern.h:
3530 * config.in:
3531 * atimer.c:
3532 * Makefile.in: Remove code for Carbon.
3533
3534 2008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3535
3536 * macterm.c (XDrawLine) [USE_MAC_IMAGE_IO]: Remove spurious return.
3537
3538 2008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3539
3540 * macterm.h (kCGBitmapByteOrder32Host): New define for
3541 non-universal SDKs.
3542
3543 * image.c (mac_create_cg_image_from_image, image_load_image_io)
3544 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
3545
3546 * macterm.c (XDrawLine, XCreatePixmapFromBitmapData)
3547 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
3548
3549 2008-07-26 David Robinow <drobinow@gmail.com> (tiny change)
3550
3551 * w32inevt.c: Include dispextern.h.
3552
3553 2008-07-26 Andreas Schwab <schwab@suse.de>
3554
3555 * print.c (print_object): Fix off-by-one in last change.
3556
3557 2008-07-25 Juanma Barranquero <lekktu@gmail.com>
3558
3559 * term.c (syms_of_term): Don't initialize default_orig_pair,
3560 default_set_foreground and default_set_background on Windows.
3561
3562 2008-07-25 Jason Rumney <jasonr@gnu.org>
3563
3564 * w32uniscribe.c (uniscribe_shape): Pass NULL for control arg to
3565 ScriptItemize. Clean up return value checking. Remove unused
3566 variables.
3567 (uniscribe_encode_char): Encode non-BMP characters with uniscribe
3568 shaping engine.
3569
3570 * w32font.c (w32font_has_char): Handle the case where we can't
3571 determine the script for a character.
3572
3573 2008-07-25 Chong Yidong <cyd@stupidchicken.com>
3574
3575 * term.c (syms_of_term): Initialize default_orig_pair,
3576 default_set_foreground, and default_set_background.
3577
3578 * getloadavg.c (nl): Rename to name_list to avoid ncurses.h
3579 clash (bug#86).
3580 (getloadavg): Callers changed.
3581
3582 * image.c (svg_load_image): Fix last change.
3583 (svg_load_image): Use rsvg_handle_get_dimensions to check that
3584 image size is valid. Use g_object_unref instead of deprecated
3585 rsvg_handle_free to free rsvg handle.
3586 (x_from_xcolors): Don't initialize pixmap (silence compiler).
3587
3588 2008-07-25 Jason Rumney <jasonr@gnu.org>
3589
3590 * w32font.c (w32font_encode_char): Encode characters outside BMP as
3591 surrogates before looking up glyph index.
3592 (w32font_text_extents): Encode as surrogates if falling back to
3593 functions that need UTF-16 wide chars.
3594
3595 * w32uniscribe.c (uniscribe_encode_char): Encode characters outside
3596 BMP as surrogates before looking up glyph index.
3597
3598 2008-07-25 Chong Yidong <cyd@stupidchicken.com>
3599
3600 * image.c (svg_load_image): Check for failure in return value of
3601 rsvg_handle_get_pixbuf. Free rsvg handle when done.
3602
3603 2008-07-25 Jason Rumney <jasonr@gnu.org>
3604
3605 * w32font.c (Fx_select_font): Reverse sense of second arg.
3606
3607 2008-07-24 Stefan Monnier <monnier@iro.umontreal.ca>
3608
3609 * syntax.c (struct lisp_parse_state, char_quoted, inc_bytepos)
3610 (dec_bytepos, find_defun_start): Use EMACS_INT for buffer positions.
3611
3612 * puresize.h (PURESIZE_CHECKING_RATIO): New macro.
3613 (PURESIZE): Use it.
3614
3615 2008-07-24 Dan Nicolaescu <dann@ics.uci.edu>
3616
3617 * m/amdx86-64.h (HAVE_LIB64_DIR): Consolidate ifdefs.
3618 * m/alpha.h (TEXT_END):
3619 * m/ibmrs6000.h (TEXT_END):
3620 * m/macppc.h (TEXT_END):
3621 * s/darwin.h (TEXT_END):
3622 * s/msdos.h (TEXT_END): Remove, unused.
3623 * s/gnu-linux.h (BSD_PGRPS): Add a comment.
3624 * s/cygwin.h: Remove comment.
3625
3626 * ecrt0.c (NODOT_GLOBAL_START): Remove code, unused.
3627 (DOT_GLOBAL_START): Remove conditional, redundant for CRT0_DUMMIES.
3628 * m/intel386.h (DOT_GLOBAL_START):
3629 * m/vax.h (DOT_GLOBAL_START): Remove, redundant with CRT0_DUMMIES.
3630 (USG): Remove, file not used on USG platforms.
3631
3632 * Makefile.in (HAVE_X11): Remove empty #else.
3633
3634 2008-07-24 Andreas Schwab <schwab@suse.de>
3635
3636 * fileio.c (Finsert_file_contents): Properly adjust undo list
3637 after format conversion.
3638
3639 2008-07-24 Jan Djärv <jan.h.d@swipnet.se>
3640
3641 * gtkutil.c (xg_get_font_name): Cast w to GTK_FONT_SELECTION_DIALOG.
3642 (menu_nav_ended): Remove.
3643 (create_menus): Remove signal connect for menu_nav_ended.
3644 (xg_update_menubar): Also take deactivate_cb as parameter, pass it to
3645 create_menus.
3646 (xg_modify_menubar_widgets): Pass deactivate_cb to xg_update_menubar.
3647
3648 2008-07-23 Jason Rumney <jasonr@gnu.org>
3649
3650 * w32font.c (w32_enumfont_pattern_entity): Return height consistent
3651 with opened font.
3652 (w32font_open): Set font type to gdi.
3653
3654 * w32uniscribe.c (uniscribe_open): Set font type to uniscribe.
3655
3656 2008-07-23 Dan Nicolaescu <dann@ics.uci.edu>
3657
3658 * s/usg5-4.h (ADDR_CORRECT): Remove, unused.
3659 * unexaix.c (ADDR_CORRECT): Remove conditional, the only user
3660 defines it.
3661 * unexec.c (ADDR_CORRECT): Define unconditionally.
3662
3663 * m/ibmrs6000.h (C_SWITCH_MACHINE): Remove.
3664
3665 * unexec.c: Remove code depending on !COFF and USG, the file is
3666 not used for such systems.
3667
3668 * s/netbsd.h (A_TEXT_OFFSET, A_TEXT_SEEK):
3669 * s/freebsd.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, unused.
3670 (LD_SWITCH_SYSTEM_1): Remove, update users.
3671
3672 * s/darwin.h (DATA_END):
3673 * m/intel386.h (DATA_END):
3674 * m/ibmrs6000.h (DATA_END):
3675 * m/alpha.h (DATA_END): Remove, unused.
3676
3677 * config.in: Regenerate.
3678 * s/ms-w32.h (subprocesses): Define unconditionally.
3679 * s/template.h (subprocesses): Update comment.
3680 * s/vms.h (subprocesses):
3681 * s/usg5-4.h (subprocesses):
3682 * s/hpux10-20.h (subprocesses):
3683 * s/gnu-linux.h (subprocesses):
3684 * s/cygwin.h (subprocesses):
3685 * s/bsd-common.h (subprocesses):
3686 * s/aix4-2.h (subprocesses):
3687 * s/darwin.h (subprocesses): Do not define, defined by default now.
3688
3689 * Makefile.in (C_SWITCH_SITE, LD_SWITCH_SITE): Remove, unused.
3690 Remove all references.
3691 (temacs): Add GNUstep specific ld flags.
3692
3693 * nsterm.m (syms_of_nsterm): Provide ns, not ns-windowing,
3694 similarly to what X does.
3695
3696 2008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
3697
3698 * nsfns.m (x-list-fonts): Remove.
3699 (syms_of_nsfns): Drop the x-list-fonts declaration.
3700 * nsterm.m: Get rid of remaining "//" comments.
3701
3702 2008-07-22 Chong Yidong <cyd@stupidchicken.com>
3703
3704 * xselect.c (Fx_rotate_cut_buffers_internal): Doc fix.
3705
3706 * nsselect.m (Fns_selection_exists_p, Fns_selection_owner_p)
3707 (Fx_get_selection_internal, Fns_rotate_cut_buffers_internal)
3708 (Fns_own_selection_internal, Fx_disown_selection_internal)
3709 (Fns_get_cut_buffer_internal, Fns_store_cut_buffer_internal):
3710
3711 * nsmenu.m (Fns_reset_menu, Fx_popup_menu): Change to use 'doc: /*
3712 ... */' style of docstrings. Doc fixes.
3713
3714 2008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
3715
3716 * terminfo.c (UP, BC, PC): Undo previous change.
3717
3718 * nsfns.m: Rename ns prefixed functions/variables to the
3719 corresponding x versions. Update references.
3720
3721 2008-07-22 Stefan Monnier <monnier@iro.umontreal.ca>
3722
3723 * syntax.c (char_quoted): Check "charpos > beg" before decrementing.
3724
3725 2008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
3726
3727 * nsfns.m (x_set_menu_bar_lines, x_set_tool_bar_lines):
3728 Remove forwarding functions.
3729 (ns_set_menu_bar_lines): Rename to x_set_menu_bar_lines, make
3730 non-static.
3731 (ns_set_tool_bar_lines): Rename to x_set_tool_bar_lines, make
3732 non-static.
3733 (ns_frame_parm_handlers): Use the new names.
3734 (syms_of_nsfns): Move to the end of file.
3735
3736 * nsterm.m (syms_of_nsterm): Move to the end of file.
3737
3738 * dispnew.c (init_display): Remove code for X10.
3739
3740 2008-07-22 Jason Rumney <jasonr@gnu.org>
3741
3742 * w32proc.c (Fw32_long_file_name): Don't append dir separator to
3743 bare drive.
3744
3745 2008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
3746
3747 * nsterm.m (syms_of_nsterm): Remove debugging println.
3748
3749 2008-07-22 David Reitter <david.reitter@gmail.com>
3750
3751 * nsfns.m (do_applescript, F_do_applescript): NS version of the
3752 Carbon implementation of the same functionality: execute arbitrary
3753 AppleScript code.
3754
3755 2008-07-21 Adrian Robert <Adrian.B.Robert@gmail.com>
3756
3757 * nsfns.m (Fx_create_frame, Fx_read_file_name, Fx_get_resource)
3758 (Fx_set_resource, Fx_set_alpha, Fx_server_max_request_size)
3759 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
3760 (Fx_display_mm_height, Fx_display_mm_width)
3761 (Fx_display_backing_store, Fx_display_visual_class)
3762 (Fx_display_save_under, Fx_open_connection)
3763 (Fx_close_connection, Fx_hide_emacs, Fx_font_name)
3764 (Fx_list_colors, Fx_perform_service, Fx_color_defined_p)
3765 (Fx_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
3766 (Fx_display_pixel_width, Fx_display_pixel_height)
3767 (Fx_display_usable_bounds, Fx_display_planes)
3768 (Fx_display_color_cells, Vns_icon_type_alist): Change to use 'doc: /*
3769 ... */' style of docstrings.
3770
3771 2008-07-21 Dan Nicolaescu <dann@ics.uci.edu>
3772
3773 * m/mips.h (LOAD_AVE_TYPE, LOAD_AVE_CVT): Do not define, not used
3774 on this platform.
3775 (mips):
3776 * m/iris4d.h (mips): Do not define.
3777 * sysdep.c (init_sys_modes): Use __mips__ instead of mips.
3778
3779 * m/ibmrs6000.h (LD_SWITCH_SITE): Remove.
3780
3781 * image.c:
3782 * nsfns.m:
3783 * nsselect.m:
3784 * nsterm.h:
3785 * nsterm.m: Rename ns prefixed functions/variables to the
3786 corresponding x versions. Update references.
3787
3788 * m/ibms390x.h (NO_REMAP): Do not undefine.
3789
3790 * m/amdx86-64.h: Use SOLARIS2 instead of sun.
3791
3792 2008-07-21 Chong Yidong <cyd@stupidchicken.com>
3793
3794 * nsfns.m: Change NS to Nextstep in docstrings and error messages.
3795 (Fns_create_frame, Fns_read_file_name, Fns_get_resource)
3796 (Fns_set_resource, Fns_set_alpha, Fns_server_max_request_size)
3797 (Fns_server_vendor, Fns_server_version, Fns_display_screens)
3798 (Fns_display_mm_height, Fns_display_mm_width)
3799 (Fns_display_backing_store, Fns_display_visual_class)
3800 (Fns_display_save_under, Fns_open_connection)
3801 (Fns_close_connection, Fns_hide_emacs, Fns_font_name)
3802 (Fns_list_colors, Fns_perform_service, Fns_color_defined_p)
3803 (Fns_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
3804 (Fns_display_pixel_width, Fns_display_pixel_height)
3805 (Fns_display_usable_bounds, Fx_display_planes)
3806 (Fns_display_color_cells, Vns_icon_type_alist): Doc fixes.
3807
3808 2008-07-21 Ami Fischman <ami@fischman.org> (tiny change)
3809
3810 * print.c (print_object): Check print_depth before searching for
3811 circularities.
3812
3813 2008-07-21 Michael Albinus <michael.albinus@gmx.de>
3814
3815 * dbusbind.c (Fdbus_register_signal): Use sprintf + strcat instead
3816 only sprintf.
3817
3818 2008-07-21 Kenichi Handa <handa@m17n.org>
3819
3820 * ftfont.c (adjust_anchor): Check if DeltaValue is not NULL.
3821
3822 2008-07-20 Andreas Schwab <schwab@suse.de>
3823
3824 * syntax.c (find_start_pos, find_start_value)
3825 (find_start_value_byte, find_start_begv, find_defun_start)
3826 (back_comment, scan_sexps_forward): Use EMACS_INT for buffer positions.
3827
3828 2008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
3829
3830 * s/sol2-3.h: Insert contents of s/sol2.h.
3831 (LD_SWITCH_SYSTEM): Remove redundant definition.
3832 * s/sol2.h: Remove, unused.
3833
3834 2008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
3835
3836 * nsterm.m (ns_get_color): Recognize HSB,AHSB be synonyms for HSV,AHSV.
3837
3838 2008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
3839
3840 * Makefile.in (ns_appdir): Fix typo in find command.
3841
3842 2008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
3843
3844 * m/intel386.h (NO_REMAP): Do no define for USG, not used.
3845
3846 * s/usg5-4.h (LIBS_SYSTEM): Remove, system for which this was
3847 added not supported anymore.
3848
3849 * s/usg5-4-2.h (LIBS_SYSTEM):
3850 * s/sol2.h (LIBS_SYSTEM): Do not undefine.
3851
3852 * s/netbsd.h (GETPGRP_NO_ARG, N_TRELOFF):
3853 * s/lynxos.h (GETPGRP_NO_ARG):
3854 * s/hpux10-20.h (NO_SIOCTL_H):
3855 * s/gnu.h (GETPGRP_NO_ARG):
3856 * s/gnu-linux.h (NO_SIOCTL_H):
3857 * s/freebsd.h (GETPGRP_NO_ARG, N_TRELOFF):
3858 * s/cygwin.h (GETPGRP_NO_ARG):
3859 * s/irix6-5.h (LIBS_SYSTEM, GETPGRP_NO_ARG): Remove, unused.
3860 (C_DEBUG_SWITCH): Remove duplicate definition.
3861
3862 * m/ibms390.h: Remove boilerplate comments.
3863
3864 * sysdep.c (closedir): Use SOLARIS2 instead of sun && USG5_4.
3865
3866 * process.c (HAVE_SERIAL): Consolidate ifdefs.
3867 (wait_reading_process_output): Remove code for SunOS, platform not
3868 supported anymore. Use SOLARIS2 instead of sun.
3869
3870 2008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3871
3872 * font.c (font_open_by_name): Under NS, default lface height to zero.
3873 (font_open_for_lface): Under NS, set size based on frame fontsize.
3874 * nsterm.m (EmacsView-changeFont:): Remove some commented code.
3875 * frame.c (x_set_frame_parameters): Remove HAVE_NS ifdef.
3876
3877 2008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3878
3879 * nsterm.m (ns_antialias_text, ns_use_qd_smoothing)
3880 (ns_use_system_highlight_color): Switch these from DEFVAR_BOOL to
3881 DEFVAR_LISP and change all code accordingly to use Qt/Qnil instead of
3882 YES/NO.
3883 * nsterm.h (prevUseHighlightColor): Make a Lisp_Object.
3884 * nsfont.m (nsfont_draw): Treat ns_use_qd_smoothing as Lisp_Object.
3885 * Makefile.in (clean): Clear out build destination dir.
3886
3887 2008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3888
3889 * Makefile.in (nsgui.h-related dependencies): Remove abbrev, xfns,
3890 xterm, xselect.
3891 * lisp.h: Remove declaration of hash_remove.
3892 * nsgui.h: Remove redefinitions of hash_remove.
3893 * fns.c (hash_remove): Rename to hash_remove_from_table.
3894
3895 2008-07-19 Seiji Zenitani <zenitani@mac.com>
3896
3897 * nsfont.m (nsfont_fmember_to_entity, nsfont_make_fontset_for_font):
3898 strdup() the family UTF8String before modifying it.
3899
3900 2008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3901
3902 * nsterm.m (ns_maybe_dumpglyphs_background): Compare result from
3903 NS_FACE_BACKGROUND with 0 instead of nil.
3904 * nsfont.m (nsfont_draw): Same.
3905
3906 2008-07-19 Chong Yidong <cyd@stupidchicken.com>
3907
3908 * nsfns.m (ns_set_background_color): Fix crash.
3909
3910 2008-07-18 Chong Yidong <cyd@stupidchicken.com>
3911
3912 * Makefile.in (SOME_MACHINE_LISP): Remove ns-carbon-compat.elc.
3913
3914 2008-07-18 Dan Nicolaescu <dann@ics.uci.edu>
3915
3916 * puresize.h (BASE_PURESIZE): Increase to 1240000.
3917
3918 2008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3919
3920 * gtkutil.c: Include <config.h> instead of "config.h".
3921
3922 * lisp.h (Foverlay_buffer): Add EXFUN.
3923
3924 * process.c (create_process) [!WINDOWSNT && FD_CLOEXEC]: Wait for
3925 child process to complete child_setup. Undo 2005-09-21 change.
3926
3927 * s/darwin.h: Mention setsid after vfork.
3928
3929 2008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3930
3931 * Makefile.in (frame.o, keyboard.o, xdisp.o, xfaces.o):
3932 Depend on macgui.h.
3933
3934 * macfns.c (Fx_server_version): Don't use gestaltSystemVersionMajor,
3935 gestaltSystemVersionMinor, or gestaltSystemVersionBugFix.
3936
3937 * macterm.c (keycode_to_xkeysym_table): Add entries for f17, f18,
3938 and f19.
3939 [MAC_OSX] (fn_keycode_to_keycode_table): Likewise.
3940
3941 * macterm.h (gestaltSystemVersionMajor, gestaltSystemVersionMinor)
3942 (gestaltSystemVersionBugFix) [MAC_OS_X_VERSION_MAX_ALLOWED < 1040]:
3943 Remove enumerators.
3944
3945 * mactoolbox.c [USE_MAC_TSM] (mac_handle_text_input_event):
3946 Check if FACE_FROM_ID returns NULL.
3947
3948 2008-07-17 David Robinow <drobinow@gmail.com> (tiny change)
3949
3950 * w32inevt.c (change_frame_size): Remove extern declaration.
3951 (resize_event, maybe_generate_resize_event): Pass SAFE arg to
3952 change_frame_size.
3953
3954 2008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
3955
3956 * getloadavg.c: Revert last change (2008-07-15).
3957
3958 2008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
3959
3960 * Makefile.in: Replace emacsapp, emacsbindir, emacsappsrc variables
3961 set here with ns_appdir, ns_appresdir, ns_appbindir, ns_appsrc) set
3962 from configure.
3963
3964 2008-07-17 Dan Nicolaescu <dann@ics.uci.edu>
3965
3966 * s/sol2.h:
3967 * s/sol2-4.h: Reorganize conditionals.
3968
3969 * ecrt0.c: Remove code depending on m68000, not used anymore.
3970
3971 * fns.c (hash_remove): Make static.
3972 * lisp.h (hash_remove): Don't prototype.
3973
3974 * m/ibmrs6000.h:
3975 * m/ibms390x.h:
3976 * m/macppc.h: Remove boilerplate comments.
3977
3978 * m/sparc.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, only used on
3979 Solaris, which does not need them.
3980
3981 * m/vax.h: Remove comments about unsupported systems.
3982
3983 * s/darwin.h: Reorganize ifdefs.
3984
3985 2008-07-17 Andreas Schwab <schwab@suse.de>
3986
3987 * s/cygwin.h (LIB_STANDARD_LIBSRC): Don't define.
3988
3989 2008-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
3990
3991 Use SDATA. Follow coding convention of placing operators at
3992 beginning of next line rather than end of previous line, and placing
3993 spaces around infix operators.
3994
3995 * Makefile.in: Undef LIB_STANDARD before defining it to silence warning
3996 in case it was defined already.
3997 USE @GNUSTEP_MAKEFILES@ rather than envvars.
3998 * nsterm.m (ns_term_init): Pass Qt and Qnil rather than YES/NO to
3999 ns_default.
4000 (applicationShouldTerminate, setValuesFromPanel): Use EQ to compare
4001 Lisp_Objects.
4002 * nsterm.h (Fx_display_grayscale_p, Fx_display_planes)
4003 (ns_defined_color, ns_color_to_lisp): Declare.
4004 * nsselect.m (ns_handle_selection_request, ns_handle_selection_clear)
4005 (Fns_own_selection_internal): Make the big ugly hack more explicit, so
4006 it's accepted even with USE_LISP_UNION_TYPE.
4007 * nsmenu.m (ns_update_menubar): Use EQ to compare Lisp_Objects.
4008 (update_frame_tool_bar): Remove apparently obsolete tests for
4009 non-integerness of f->tool_bar_lines.
4010 (windowShouldClose, addButton, clicked, runDialogAt): Make the big ugly
4011 hack more explicit, so it's accepted even with USE_LISP_UNION_TYPE.
4012 * nsfont.m (nsfont_driver): Use just 0 rather than an invalid cast.
4013 (nsfont_open): Don't confuse NULL for Qnil.
4014 * nsfns.m (ns_implicitly_set_icon_type): Use EQ to compare Lisp_Objects.
4015 * menu.h (find_and_call_menu_selection):
4016 * menu.c (find_and_call_menu_selection): Use just int for vector size.
4017 (find_and_return_menu_selection): Always return something.
4018 * frame.h: Include dispextern.h for Display_Info.
4019 (display_x_get_resource): Declare.
4020
4021 2008-07-16 Adrian Robert <Adrian.B.Robert@gmail.com>
4022
4023 * syntax.c: Remove stdio.h include accidentally introduced in
4024 Emacs.app commit.
4025 * Makefile.in: Change GNUSTEP to NS_IMPL_GNUSTEP, COCOA to
4026 NS_IMPL_COCOA.
4027 * keyboard.c (handle_async_input, input_available_signal): Remove
4028 BSD4_1 conditional code, introduced accidentally in Emacs.app commit.
4029
4030 2008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
4031
4032 * nsterm.m (lisp_to_mod): Use parse_solitary_modifier instead.
4033 (ns_lisp_to_color): Don't mess with internal Lisp data fields.
4034 (ns_term_init, ns_term_shutdown, initFrameFromEmacs, ns_list_fonts):
4035 Use SDATA.
4036
4037 * keymap.c: Remove all NS-specific code.
4038 (where_is_preferred_modifier, Vwhere_is_preferred_modifier): New vars.
4039 (preferred_sequence_p): Rename from ascii_sequence_p; pay attention to
4040 where_is_preferred_modifier, return a different value depending on how
4041 preferred is the binding.
4042 (where_is_internal): Adjust accordingly.
4043 (Fwhere_is_internal): Refresh where_is_preferred_modifier.
4044 Adjust to new preferred_sequence_p.
4045 (syms_of_keymap): Declare `where-is-preferred-modifier'.
4046 * keyboard.c (parse_solitary_modifier): Not static any more.
4047 * keyboard.h (parse_solitary_modifier): Declare.
4048
4049 2008-07-16 Andreas Schwab <schwab@suse.de>
4050
4051 * Makefile.in (SOME_MACHINE_LISP): Remove easy-mmode, fix spelling
4052 of easymenu.
4053
4054 2008-07-16 Chong Yidong <cyd@stupidchicken.com>
4055
4056 * xdisp.c (move_it_in_display_line): Account for word wrap, so
4057 that we don't move off the line.
4058
4059 2008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
4060
4061 * keyboard.c (Qsuper): Remove.
4062 (parse_menu_item): Don't call where_is_internal specially for NS.
4063
4064 2008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
4065
4066 * s/gnu-linux.h: Remove boilerplate comments.
4067
4068 * m/alpha.h (__ELF__): Consolidate conditions.
4069
4070 * m/m68k.h (linux): Use GNU_LINUX instead.
4071 Remove boilerplate comments.
4072
4073 * m/intel386.h: Undo refactoring from previous change.
4074 (LIB_STANDARD): All systems that define USG define LIB_STANDARD
4075 too, remove dead code.
4076 (linux): Use GNU_LINUX instead.
4077
4078 2008-07-16 Jason Rumney <jasonr@gnu.org>
4079
4080 * w32gui.h: Repeat 26 June changes lost by last change.
4081
4082 2008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
4083
4084 * systty.h: Remove code for Aix on 386, unsupported platform.
4085
4086 * s/ms-w32.h: Remove boilerplate comments.
4087 (fcloseall, fgetchar, flushall, fputchar, getw, putw): Remove, unused.
4088
4089 * s/gnu-linux.h (TERM): Remove support.
4090 (HAVE_SYSVIPC): Remove, unused.
4091 (A_TEXT_OFFSET, A_TEXT_SEEK, ADJUST_EXEC_HEADER): Remove, not used
4092 for this system.
4093
4094 * process.c: Remove support for IRIS, unused.
4095 Remove support for TERM, not relevant anymore.
4096
4097 * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Remove, replace the only
4098 used with the definition.
4099
4100 * s/aix4-2.h (static): Do not undef.
4101
4102 * m/ibmrs6000.h: Remove code depending on USG5_4, this file is
4103 only used on Aix.
4104 (HAVE_SYSVIPC): Remove, unused.
4105
4106 * m/hp800.h (CANNOT_DUMP): Do not undef.
4107
4108 * m/alpha.h: Fix comment.
4109
4110 * s/usg5-4.h (HAVE_SYSVIPC): Remove, unused.
4111 (USG_SHARED_LIBRARIES): Remove, only used in unexec.c which is not
4112 used by this configuration.
4113 * emacs.c: Remove code depending on USG_SHARED_LIBRARIES.
4114 * unexec.c: Remove code depending on HPUX and
4115 USG_SHARED_LIBRARIES, not used with this file. Remove code
4116 depending on IRIS, unused. Remove if 0-ed code.
4117
4118 * s/template.h: Remove comments about static.
4119
4120 * sysdep.c: Remove code depending on NEED_PTEM_H, unused.
4121 Remove if 0-ed code.
4122 (baud_convert): Don't depend on BAUD_CONVERT, all definitions the
4123 were the same as the default.
4124 * s/vms.h (BAUD_CONVERT): Remove, same as the default.
4125 Remove boilerplate comments.
4126 * s/hpux10-20.h (BAUD_CONVERT): Remove, same as the default.
4127 (HAVE_SYSVIPC): Remove, unused.
4128 (LD_SWITCH_SYSTEM_TEMACS): Simplify, hp9000s700 not supported anymore.
4129
4130 * m/ia64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
4131 Remove boilerplate comments.
4132 * m/amdx86-64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
4133 Remove boilerplate comments.
4134 * m/ibms390x.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
4135 Remove boilerplate comments.
4136 * lisp.h (PNTR_COMPARISON_TYPE): Define it unconditionally.
4137
4138 * m/intel386.h (DATA_SEG_BITS): Remove definitions, only used on
4139 USG systems which do not use DATA_SEG_BITS.
4140 Refactor code. Remove boilerplate comments.
4141
4142 * m/ibms390.h:
4143 * m/m68k.h:
4144 * s/bsd-common.h:
4145 * s/cygwin.h:
4146 * s/darwin.h:
4147 * s/freebsd.h:
4148 * s/gnu.h:
4149 * s/msdos.h: Remove boilerplate comments.
4150
4151 * m/iris4d.h: Remove boilerplate comments and code for systems that
4152 do not use this file.
4153 (IRIS_4D): Remove, unused.
4154
4155 * m/mips.h: Remove boilerplate comments and code for systems that
4156 do not use this file.
4157 (SIGN_EXTEND_CHAR):
4158 * m/arm.h (SIGN_EXTEND_CHAR): Remove, unused.
4159 * unexmips.c: Remove file, unused.
4160
4161 * editfns.c (Fuser_full_name): Replace the only use of
4162 USER_FULL_NAME with its value.
4163 * config.in: Regenerate.
4164
4165 2008-07-16 David Reitter <david.reitter@gmail.com>
4166
4167 * Makefile.in: Add ns-win, ns-carbon-compat, easy-mmode and
4168 easy-menu to SOME_MACHINE_LISP for the new NeXTstep port.
4169
4170 2008-07-16 Glenn Morris <rgm@gnu.org>
4171
4172 * emacs.c (system-type): Doc fix.
4173
4174 2008-07-15 Stefan Monnier <monnier@iro.umontreal.ca>
4175
4176 * keyboard.c (parse_menu_item): Don't use cachelist, even under NS.
4177 If the cache doesn't work, let's fix it, rather than work around it.
4178
4179 2008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
4180
4181 * Makefile.in: Correct additions for nsfont.o in last commit.
4182 * nsfont.m: New file (forgot last commit).
4183
4184 2008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
4185
4186 * callproc.c (set_initial_environment): Initialize
4187 Vprocess_environment under CANNOT_DUMP (fixes crash when
4188 batch-compiling for bootstrap).
4189
4190 2008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
4191 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4192
4193 (make_initial_frame): Call init_frame_faces(f) in CANNOT_DUMP case --
4194 fix crash due to different init order.
4195
4196 2008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
4197
4198 Changes and additions for NeXTstep windowing system (Cocoa and
4199 GNUstep) support.
4200
4201 * Makefile.in:
4202 * config.in: Support defines and build commands for NS port.
4203 * blockinput.h (BLOCK_INPUT, UNBLOCK_INPUT, TOTALLY_UNBLOCK_INPUT)
4204 (UNBLOCK_INPUT_TO): Don't use under NS unless EXPERIMENTAL_CONTROL_G.
4205 * dispextern.h: Include nsgui.h and add needed typedefs under NS
4206 windowing.
4207 (struct face): Add synth_ital field.
4208 * dispnew.c: Include nsterm.h when compiling under NS windowing.
4209 (init_display): Initialize Vinitial_window_system to "ns" when so
4210 compiled.
4211 * emacs.c: Include GSConfig.h when compiling under GNUstep.
4212 (display_arg): Use under NS.
4213 (main): Under NS, allocate autorelease pool and handle command line
4214 args. Move syms_of_xmenu() call under #ifdef HAVE_X_WINDOWS.
4215 (standard_args): Add NS-specific args.
4216 (shut_down_emacs): Shut down NS terminal if compiled under NS.
4217 * font.c (DEFAULT_ENCODING): New variable.
4218 (font_find_for_lface): Use it.
4219 (syms_of_font): Load syms_of_nsfont under NS.
4220 * font.h: Declare nsfont_driver when compiled under NS.
4221 * fontset.c: When compiling under NS, include nsterm.h.
4222 (fontset_from_font): Autoconstruct fontset under NS.
4223 * frame.c (various): Under NS, include nsterm.h, add Qns window system
4224 symbol, document and use it.
4225 (do_switch_frame): When for_deletion under Cocoa, add
4226 Fraise_frame(Qnil).
4227 (x_set_frame_parameters): Ensure font attribute changes are picked up.
4228 (x_get_arg): Allow "yes" and "no" as boolean values.
4229 (syms_of_frame): Declare Qns. Init Vdefault_frame_scroll_bars to
4230 Qright under Cocoa.
4231 (focus-follows-mouse): Default to 0 under NS.
4232 * frame.h (enum output_method): Add output_ns.
4233 (external_tool_bar, external_menu_bar, FRAME_EXTERNAL_TOOLBAR)
4234 (FRAME_EXTERNAL_MENU_BAR): Use under NS.
4235 (FRAME_WINDOW_P): NS-specific definition.
4236 * fringe.c (max_used_fringe_bitmap): Make public.
4237 * getloadavg.c (mach/mach.h): Include it under NeXT descendant OS's.
4238 (getloadavg): Use NeXT code under descendant OS's.
4239 * image.c (includes and header section, x_create_bitmap_from_data)
4240 (x_create_bitmap_from_file, free_bitmap_record, image_background)
4241 (image_background_transparent, x_clear_image_1)
4242 (x_create_x_image_and_pixmap, x_destroy_x_image, x_put_x_image)
4243 (Create_Pixmap_From_Bitmap_Data, xpm_load_image, lookup_rgb_color)
4244 (x_to_xcolors, x_from_xcolors, x_disable_image)
4245 (x_build_heuristic_mask, syms_of_image): Add NS support parallel to
4246 other GUIs, including XPM support using code originally written for
4247 Carbon GUI.
4248 (png_load, jpeg_load, tiff_load, gif_load): Add implementations
4249 using NS API.
4250 (image_ascent): Use font metrics macros instead of direct struct field
4251 access.
4252 * keyboard.c (includes): Add nsterm.h when compiling under NS.
4253 (kbd_buffer_get_event): Handle NS as other GUI windowing systems.
4254 Also, handle NS as GTK for menu bar purposes.
4255 (make_lispy_event): Handle NS as other GUI windowing systems, and as X
4256 toolkit where they differ.
4257 (parse_menu_item): Prefer keybindings using 'super' modifier. Also,
4258 use cachelist, still needed under NS.
4259 * keyboard.h (ENCODE_MENU_STRING, XtPointer, Boolean): Handle as NTGUI.
4260 (struct widget_value): Define it here for menu.c.
4261 * keymap.c (includes): Include modifier internals.
4262 (lisp_to_mod, modifier_sequence_p): New functions, compiled only under
4263 NS.
4264 (where_is_internal, Fwhere_is_internal): When compiled under NS, add
4265 support for preferring sequences using certain modifiers, specified by
4266 the FIRSTONLY argument.
4267 * lisp.h (hash_remove): Rename to avoid name clash when compiling
4268 under NS GNUstep implementation.
4269 (USE_LSB_TAG): Use it under Cocoa when compiling under NS.
4270 * lread.c (init_lread): Treat NS as HAVE_CARBON for turn_off_warning.
4271 * menu.c: Include nsterm.h under NS.
4272 (single_menu_item, parse_single_submenu, xmalloc_widget_value)
4273 (free_menubar_widget_tree_value, update_submenu_strings)
4274 (find_and_call_menu_selection): Treat NS as X and NT.
4275 (find_and_return_menu_selection): New function, used for popup menus.
4276 * nsgui.h:
4277 * nsterm.h:
4278 * nsfns.m:
4279 * nsimage.m:
4280 * nsmenu.m:
4281 * nsselect.m:
4282 * nsterm.m: New files.
4283 * process.c (wait_reading_process_output): Under NS, call ns_select()
4284 instead of plain select().
4285 * syntax.c (char_quoted): Under NS, avoid a crash when called near
4286 beginning of buffer.
4287 * sysselect.h (init_process): Rename when compiling under Cocoa to
4288 avoid name conflict.
4289 * termhooks.h (display_info): Add ns_display_info to union.
4290 * terminal.c (Fterminal_live_p): Add ns to terminal types.
4291 * terminfo.c (UP, BC, PC): Don't declare when compiling under NS in
4292 COCOA environment.
4293 * unexnext.c: Update to work with mach API on Mac OS X, and to use new
4294 unexec() signature. (Note, this will dump, but the resulting file
4295 crashes; unexosx is used instead; keeping around for reference and
4296 possible aid in getting dump working under GNUstep.)
4297 * w32gui.h (button_type, widget_value): Remove definitions (now in
4298 keyboard.h).
4299 * window.c: Include nsterm.h when compiling under NS.
4300 * xdisp.c (includes): Include nsterm.h when compiling under NS.
4301 (set_frame_menubar, update_menu_bar, display_menu_bar): Handle NS as
4302 other GUI windowing systems.
4303 (update_tool_bar, redisplay_tool_bar, redisplay_window): Handle NS as
4304 GTK.
4305 (x_consider_frame_title): Under NS, set icon type and frame
4306 modified-state indicator; use ns_set_name_as_filename() when using
4307 formatted title.
4308 (update_window_cursor): Make public when compiling under NS.
4309 (display_hourglass_p, syms_of_xdisp, hourglass_shown_p)
4310 (hourglass_atimer, Vhourglass_delay
4311 * xfaces.c (header section, init_frame_faces, clear_font_table)
4312 (defined_color, unload_color, x_face_list_fonts)
4313 (prepare_face_for_display): Add NS support parallel to other GUIs.
4314 Emulate GCs like other non-X GUIs.
4315 (split_font_name): Don't lowercase font name under NS.
4316 (merge_face_ref, Finternal_set_lisp_face_attribute): Support stippling
4317 under NS.
4318 * s/darwin.h: Add support for compilation under NS.
4319
4320 2008-07-15 Jason Rumney <jasonr@gnu.org>
4321
4322 * w32fns.c (Fx_create_frame): Remove duplicate unwind_protect.
4323 (w32_show_hourglass): Rename from show_hourglass.
4324 (w32_hide_hourglass): Rename from hide_hourglass.
4325 (DEFAULT_HOURGLASS_DELAY): Revert from last change.
4326 (Vhourglass_delay): Declare extern.
4327 (hourglass_started): Remove.
4328
4329 * xdisp.c (Vhourglass_delay): Remove static.
4330 (hourglass_started, start_hourglass, cancel_hourglass):
4331 Don't include these versions on WINDOWSNT.
4332
4333 2008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
4334
4335 * dispextern.h (hourglass_shown_p, hourglass_atimer): New extern
4336 variables (formerly in xfns.c).
4337 (show_hourglass, hide_hourglass): New prototypes (same).
4338 * xdisp.c (display_hourglass_p, hourglass_shown_p, hourglass_atimer)
4339 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY): New variables (formerly
4340 in xfns.c).
4341 (syms_of_xdisp): Declare/initialize display-hourglass,
4342 hourglass-delay. Initialize hourglass_atimer, hourglass_shown_p.
4343 (hourglass_started, start_hourglass, cancel_hourglass): New functions,
4344 formerly in xfns.c.
4345 * xfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
4346 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
4347 (start_hourglass, cancel_hourglass): Remove.
4348 (show_hourglass, hide_hourglass): Remove prototypes and static
4349 modifiers.
4350 (syms_of_xfns): Remove display-hourglass, hourglass-delay,
4351 hourglass_atimer, hourglass_shown_p declaration/initialization.
4352 * macfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
4353 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
4354 (start_hourglass, cancel_hourglass): Remove.
4355 (show_hourglass, hide_hourglass): Remove prototypes and static
4356 modifiers.
4357 (syms_of_macfns): Remove display-hourglass, hourglass-delay,
4358 hourglass_atimer, hourglass_shown_p declaration/initialization.
4359 * w32fns.c (display_hourglass_p, Vhourglass_delay)
4360 (DEFAULT_HOURGLASS_DELAY): Remove.
4361 (syms_of_w32fns): Remove display-hourglass, hourglass-delay,
4362 hourglass_shown_p declaration/initialization.
4363
4364 2008-07-14 Jason Rumney <jasonr@gnu.org>
4365
4366 * w32fns.c (w32_get_arg): Remove wrapper function.
4367 (w32_createwindow, x_icon, x_create_tip_frame): Use x_get_arg
4368 directly.
4369 (Fx_create_frame): Sync with xfns.c. Use x_get_arg directly.
4370
4371 2008-07-14 Kenichi Handa <handa@m17n.org>
4372
4373 * xfont.c (xfont_open): Add workaround for X's bug.
4374
4375 2008-07-14 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
4376
4377 * fontset.c: Include <stdio.h> unconditionally.
4378
4379 2008-07-13 Michael Albinus <michael.albinus@gmx.de>
4380
4381 * dbusbind.c (Fdbus_register_signal): Allow also signal arguments
4382 for filtering.
4383
4384 2008-07-13 Dan Nicolaescu <dann@ics.uci.edu>
4385
4386 * s/vms.h: Use __GNUC__ instead of _GNUC_.
4387
4388 * m/macppc.h:
4389 * m/alpha.h: Use GNU_LINUX instead of LINUX. Reorganize conditionals.
4390
4391 * m/ibms390x.h (XINT, XUINT): Don't define, same as the default
4392 (SPECIAL_EMACS_INT):
4393 * m/ia64.h (SPECIAL_EMACS_INT):
4394 * m/amdx86-64.h (SPECIAL_EMACS_INT):
4395 * s/gnu.h (NLIST_STRUCT):
4396 * s/aix4-2.h (X11R5_INHIBIT_I18N):
4397 * s/gnu-linux.h (LINUX):
4398 * s/msdos.h (HAVE_FACES):
4399 * s/ms-w32.h (HAVE_FACES): Don't define, unused.
4400
4401 * systty.h:
4402 * sysdep.c (setup_pty): Don't depend on SYSV_PTYS, it is not used
4403 anymore.
4404
4405 2008-07-12 Dan Nicolaescu <dann@ics.uci.edu>
4406
4407 * syswait.h: Remove old if 0 code. Do not define WAITTYPE, it was
4408 always defined as int.
4409
4410 * s/netbsd.h (HAVE_UNION_WAIT, HAVE_WAIT_HEADER, WAIT_USE_INT):
4411 * s/gnu.h (HAVE_WAIT_HEADER, WAIT_USE_INT, HAVE_UNION_WAIT):
4412 * s/gnu-linux.h (HAVE_WAIT_HEADER):
4413 * s/freebsd.h (HAVE_WAIT_HEADER):
4414 * s/bsd-common.h (HAVE_UNION_WAIT):
4415 * s/aix4-2.h (HAVE_WAIT_HEADER):
4416 * m/mips.h (HAVE_UNION_WAIT):
4417 * s/usg5-4.h (HAVE_WAIT_HEADER, WAITTYPE): Do not define, not used.
4418 (COFF, static): Do not define, they are undefined later in the file.
4419
4420 * process.c (update_status): Don't use a union.
4421 (status_convert):
4422 (sigchld_handler): Use int instead of WAITTYPE.
4423
4424 2008-07-12 Chong Yidong <cyd@stupidchicken.com>
4425
4426 * indent.c (Fvertical_motion): Restore hscroll before moving to
4427 goal column.
4428
4429 2008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
4430
4431 * lisp.h: Remove left over code.
4432
4433 2008-07-11 Andreas Schwab <schwab@suse.de>
4434
4435 * lisp.h: Fix logic in last change.
4436
4437 * menu.h: New file.
4438 * menu.c: Include it.
4439 * xmenu.c: Likewise.
4440 * Makefile.in: Update dependencies.
4441
4442 2008-07-11 Kenichi Handa <handa@m17n.org>
4443
4444 * fontset.c (fontset_from_font): Cancel the previous change.
4445
4446 2008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
4447
4448 * lisp.h:
4449 * w32heap.c:
4450 * emacs.c:
4451 * alloc.c: Replace all references of NO_UNION_TYPE with
4452 USE_LISP_UNION_TYPE.
4453
4454 * m/xtensa.h (NO_UNION_TYPE):
4455 * m/vax.h (NO_UNION_TYPE):
4456 * m/template.h (NO_UNION_TYPE):
4457 * m/sparc.h (NO_UNION_TYPE):
4458 * m/mips.h (NO_UNION_TYPE):
4459 * m/macppc.h (NO_UNION_TYPE):
4460 * m/m68k.h (NO_UNION_TYPE):
4461 * m/iris4d.h (NO_UNION_TYPE):
4462 * m/intel386.h (NO_UNION_TYPE):
4463 * m/ibms390x.h (NO_UNION_TYPE):
4464 * m/ibms390.h (NO_UNION_TYPE):
4465 * m/ibmrs6000.h (NO_UNION_TYPE):
4466 * m/ia64.h (NO_UNION_TYPE):
4467 * m/hp800.h (NO_UNION_TYPE):
4468 * m/arm.h (NO_UNION_TYPE):
4469 * m/amdx86-64.h (NO_UNION_TYPE):
4470 * m/alpha.h (NO_UNION_TYPE): Remove definition, all platform were
4471 defining it the same.
4472
4473 2008-07-10 Chong Yidong <cyd@stupidchicken.com>
4474
4475 * xdisp.c (move_it_to): Backtrack if past the edge of a wrapped line.
4476
4477 2008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
4478
4479 * fileio.c:
4480 * sysdep.c
4481 * systty.h:
4482 * m/ibmrs6000.h:
4483 * m/iris4d.h:
4484 * s/aix4-2.h:
4485 * s/freebsd.h:
4486 * s/gnu-linux.h:
4487 * s/hpux10-20.h:
4488 * s/hpux11.h:
4489 * s/netbsd.h:
4490 * s/sol2-3.h:
4491 * s/sol2-4.h:
4492 * s/sol2.h:
4493 * s/usg5-4.h:
4494 * s/vms.h: Remove references to unused variables.
4495
4496 2008-07-10 Andreas Schwab <schwab@suse.de>
4497
4498 * ftfont.c (ftfont_resolve_generic_family): Remove foundry from
4499 pattern before matching the generic family.
4500
4501 2008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
4502
4503 * unexec.c:
4504 * s/vms.h:
4505 * s/usg5-4-2.h:
4506 * s/sol2-5.h:
4507 * s/freebsd.h:
4508 * s/darwin.h: Remove dead code.
4509
4510 * m/template.h:
4511 * m/sparc.h:
4512 * m/mips.h:
4513 * m/m68k.h:
4514 * m/iris4d.h:
4515 * m/intel386.h:
4516 * m/ibms390x.h:
4517 * m/ibms390.h:
4518 * m/ia64.h:
4519 * m/hp800.h:
4520 * m/arm.h:
4521 * m/amdx86-64.h: Remove dead code and references to unused
4522 and compiler defined symbols.
4523
4524 * unexmips.c:
4525 * unexelf.c: Remove references to desupported systems.
4526
4527 * m/powermac.h: Remove file, it is now identical to m/macppc.h.
4528
4529 * m/powermac.h: Remove boilerplate comments.
4530 (NO_REMAP): Remove unused definition.
4531
4532 * m/macppc.h (UNEXEC, NO_TERMIO): Don't define, the s/ files
4533 define them.
4534
4535 2008-07-10 Kenichi Handa <handa@m17n.org>
4536
4537 * xfont.c (xfont_open): Log the reason of failure.
4538
4539 2008-07-09 Stefan Monnier <monnier@iro.umontreal.ca>
4540
4541 * fontset.c (fontset_get_font_group):
4542 * font.c (font_check_otf): Specify argument types.
4543
4544 2008-07-09 Kenichi Handa <handa@m17n.org>
4545
4546 * coding.c (detect_coding_utf_8): Set detect_info->found only when
4547 non-ASCII char is found.
4548
4549 * fontset.c (fontset_compare_rfontdef): Fix plus/minus.
4550 (reorder_font_vector): Change the arg preferred_family to font.
4551 Prefer the spec matching with font.
4552 (fontset_get_font_group): New function.
4553 (fontset_find_font): Change the format of an element of a realized
4554 fontset. Use fontset_get_font_group.
4555 (fontset_font): Try the current fontset, the default fontset, the
4556 fallbacks of the current fontset, and the fallbacks of the default
4557 fontset in this order.
4558 (face_for_char): Delete the shortcut to use the current font.
4559 (fontset_from_font): Don't set fonts for Latin in the fontset.
4560
4561 * font.h (font_make_object, font_match_p): Adjust prototypes.
4562
4563 * ftfont.h [FT_BDF_H]: Include FT_BDF_H.
4564
4565 * font.c (font_make_object): New arg entity and pixelsize.
4566 (font_check_otf_features, font_check_otf): New functions.
4567 (font_match_p): Check :lang, :script, and :otf properties.
4568
4569 * xfont.c (xfont_open): Adjust it for the change of
4570 font_make_object.
4571 (xfont_text_extents): Fix initial setting of metrics.
4572
4573 * ftfont.c (struct ftfont_info): New member index, delete member
4574 fc_charset_idx. Make the member order compatible with struct
4575 xftfont_info.
4576 (fc_charset_table): Change charset names to registry names.
4577 (ftfont_pattern_entity): Delete the args registry and
4578 fc_charset_idx. Change the value of :font-entity property
4579 to (FONTNAME . INDEX). Always set :registry property to
4580 `iso10646-1'.
4581 (struct ftfont_cache_data): New struct.
4582 (ftfont_lookup_cache): New arg for_face.
4583 (ftfont_get_fc_charset, ftfont_get_otf): New functions.
4584 (ftfont_driver): Set the member otf_capability.
4585 (ftfont_get_charset): Adjust it for the change of
4586 fc_charset_table.
4587 (OTF_TAG_SYM): New macro.
4588 (ftfont_spec_pattern): Delete the arg fc_charset_idx. Adjust it
4589 for the change of fc_charset_table.
4590 (ftfont_list): Adjust it for the change of ftfont_spec_pattern and
4591 ftfont_pattern_entity. Add FC_INDEX to objset.
4592 (ftfont_match): Adjust it for the change of ftfont_spec_pattern
4593 and ftfont_pattern_entity.
4594 (ftfont_open): Adjust it for the change of ftfont_lookup_cache,
4595 font_make_object, struct ftfont_info.
4596 (ftfont_has_char): Use ftfont_get_fc_charset.
4597 (ftfont_otf_features, ftfont_otf_capability): New functions.
4598 (ftfont_shape): Use ftfont_get_otf.
4599 (ftfont_text_extents): Fix initial setting of metrics.
4600
4601 * xftfont.c (struct xftfont_info): New member ft_size. Make the
4602 member order compatible with struct ftfont_info.
4603 (xftfont_open): Add FC_CHARSET to the pattern. Set
4604 xftfont_info->ft_size. Don't unlock the face. Check BDF
4605 properties if appropriate.
4606 (xftfont_close): Unlock the face.
4607 (xftfont_anchor_point, xftfont_shape): Deleted.
4608 (syms_of_xftfont): Don't set members anchor_point and shape of
4609 xftfont_driver.
4610
4611 * w32uniscribe.c (uniscribe_open): Adjust it for the change of
4612 font_make_object.
4613
4614 * w32font.c (w32font_open): Adjust it for the change of
4615 font_make_object.
4616 (w32font_open_internal): Don't set properties of font_object here.
4617
4618 2008-07-08 Chong Yidong <cyd@stupidchicken.com>
4619
4620 * macfns.c (x_create_tip_frame):
4621 * w32fns.c (x_create_tip_frame):
4622 * xfns.c (x_create_tip_frame): Pass parameter argument to
4623 face-set-after-frame-default.
4624
4625 * xfaces.c (Finternal_merge_in_global_face): Save merged
4626 attributes for the default face back into the face vector.
4627
4628 2008-07-08 Andreas Schwab <schwab@suse.de>
4629
4630 * fontset.h: Declare fontset_from_font. Don't declare
4631 new_fontset_from_font and fontset_from_font_name.
4632 * xterm.c: Include "fontset.h".
4633 * Makefile.in (xterm.o): Update dependencies.
4634
4635 2008-07-08 Glenn Morris <rgm@gnu.org>
4636
4637 * m/sparc.h: Define __sparc__ rather than sparc. (Bug#507.)
4638 * alloc.c, ecrt0.c: Use __sparc__ rather than sparc.
4639
4640 2008-07-07 Chong Yidong <cyd@stupidchicken.com>
4641
4642 * frame.c (Qinhibit_face_set_after_frame_default): Var deleted.
4643 (x_set_frame_parameters): Don't bind it.
4644
4645 2008-07-07 Juanma Barranquero <lekktu@gmail.com>
4646
4647 * w32fns.c (map_w32_filename): Declare extern.
4648
4649 2008-07-07 Jason Rumney <jasonr@gnu.org>
4650
4651 * w32term.c (WS_EX_LAYERED): Define if not already.
4652
4653 2008-07-06 Chong Yidong <cyd@stupidchicken.com>
4654
4655 * xfaces.c (set_font_frame_param): Don't try to set the font
4656 parameter if it is still unspecified in the lface.
4657
4658 2008-07-05 Chong Yidong <cyd@stupidchicken.com>
4659
4660 * xfaces.c (Finternal_merge_in_global_face): Don't realize default
4661 face if it didn't already exist.
4662
4663 * xdisp.c (try_window_id): Give up if word-wrapping is on.
4664
4665 2008-07-05 Andreas Schwab <schwab@suse.de>
4666
4667 * xdisp.c (get_it_property): Move out of HAVE_WINDOW_SYSTEM section.
4668
4669 2008-07-05 Chong Yidong <cyd@stupidchicken.com>
4670
4671 * xdisp.c (IT_OVERFLOW_NEWLINE_INTO_FRINGE): Turn it off if
4672 word-wrapping.
4673 (IT_DISPLAYING_WHITESPACE): New macro.
4674 (move_it_in_display_line_to): Handle MOVE_TO_X requests properly
4675 when word-wrapping. Simplify word-wrapping logic. Use correct
4676 pixel positions when saving copies of the iterator.
4677 (display_line): Use proper wrap point if the last character on a
4678 line was preceded by whitespace.
4679
4680 2008-07-04 Stefan Monnier <monnier@iro.umontreal.ca>
4681
4682 * Makefile.in (${etc}DOC): Depend on ${lisp} rather than ${shortlisp}.
4683
4684 2008-07-04 Kenichi Handa <handa@m17n.org>
4685
4686 * fns.c (Fstring_to_unibyte): Delete the arg ACCEPT-LATIN-1.
4687
4688 * lisp.h: EXFUN adjusted for the change of Fstring_to_unibyte.
4689
4690 2008-07-02 Jason Rumney <jasonr@gnu.org>
4691
4692 * xfns.c (syms_of_xfns): Only define x-select-font when both
4693 HAVE_FREETYPE and USE_GTK.
4694
4695 * xdisp.c (next_element_from_display_vector): Move assignment out
4696 of if statement.
4697
4698 2008-07-02 Toru Tsuneyoshi <t_tuneyosi@hotmail.com>
4699
4700 * lisp.h (Qdelete_file, Qdelete_directory): Declare extern.
4701
4702 * fileio.c (delete_by_moving_to_trash, Qmove_file_to_trash): New vars.
4703 (syms_of_fileio): Initialize and export them.
4704 (Fdelete_directory, Fdelete_file): Optionally delete via trash.
4705
4706 * w32fns.c (FOF_NO_CONNECTED_ELEMENTS): Define if not already.
4707 (Fsystem_move_file_to_trash): New function.
4708 (syms_of_w32fns): Export it to lisp.
4709
4710 2008-07-01 Jason Rumney <jasonr@gnu.org>
4711
4712 * w32font.c (w32font_text_extents): Don't count overhang as part
4713 of width.
4714
4715 2008-06-30 Miles Bader <miles@gnu.org>
4716
4717 * dispextern.h (struct glyph, struct it, struct iterator_stack_entry):
4718 Add `avoid_cursor_p' field.
4719
4720 * xdisp.c (push_it, pop_it): Save/restore avoid_cursor_p field.
4721 (set_cursor_from_row): Skip glyphs with avoid_cursor_p set.
4722 (append_glyph, append_composite_glyph, produce_image_glyph)
4723 (append_stretch_glyph): Initialize avoid_cursor_p.
4724 (get_it_property): Rename from `get_line_height_property'.
4725 (x_produce_glyphs): Use get_it_property.
4726 (handle_line_prefix, push_display_prop): New functions.
4727 (display_line, move_it_in_display_line_to): Handle line/wrap prefixes.
4728 (Vwrap_prefix, Qwrap_prefix, Vline_prefix, Qline_prefix):
4729 New variables.
4730 (syms_of_xdisp): Initialize them.
4731
4732 2008-06-30 Kenichi Handa <handa@m17n.org>
4733
4734 * xftfont.c (xftfont_open): Don't call FcConfigSubstitute and
4735 XftDefaultSubstitute (they are called in XftFontMatch).
4736 (xftfont_open): Fix args to ftfont_font_format.
4737
4738 * ftfont.c (fc_charset_table): New member lang.
4739 (ftfont_resolve_generic_family): New arg pattern.
4740 (ftfont_spec_pattern): Check fc_charset_table[]->lang.
4741 (ftfont_list): Call ftfont_resolve_generic_family with `pattern'.
4742 (ftfont_open): Fix args to ftfont_font_format.
4743 (ftfont_font_format): New arg filename.
4744
4745 2008-06-30 Chong Yidong <cyd@stupidchicken.com>
4746
4747 * xfaces.c (Finternal_merge_in_global_face): If default face was
4748 modified, realize it again. Update the font face attribute.
4749
4750 2008-06-29 Jason Rumney <jasonr@gnu.org>
4751
4752 * w32term.c (x_set_frame_alpha): Fix logic.
4753
4754 2008-06-29 Kenichi Handa <handa@m17n.org>
4755
4756 * fontset.c (Finternal_char_font): Return font-object instead of
4757 font-name.
4758
4759 * composite.c (get_composition_id): Fix the width calculation for TAB.
4760
4761 2008-06-29 Stefan Monnier <monnier@iro.umontreal.ca>
4762
4763 * indent.c (Fvertical_motion): Properly handle float column arg.
4764
4765 2008-06-28 Jason Rumney <jasonr@gnu.org>
4766
4767 * w32term.c (pfnGetFontUnicodeRanges): Remove unused function pointer.
4768 (pfnSetLayeredWindowAttributes): New function pointer.
4769 (w32_initialize): Initialize it when supported.
4770 (x_set_frame_alpha): New function.
4771
4772 * w32fns.c (Fx_create_frame): Initialize frame parameter `alpha'.
4773 (w32_frame_parm_handlers): Set alpha handler.
4774
4775 * frame.c (x_set_alpha) [HAVE_NTGUI]: Call x_set_frame_alpha.
4776
4777 2008-06-27 Jason Rumney <jasonr@gnu.org>
4778
4779 * w32fns.c (x_to_w32_font, w32_to_x_font, x_to_w32_weight)
4780 (w32_to_x_weight, w32_to_all_x_charsets): Remove obsolete functions.
4781 (w32_to_x_charset, x_to_w32_charset)
4782 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
4783 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
4784 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
4785 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
4786 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
4787 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
4788 (Qw32_charset_mac, Vw32_charset_info_alist): Move to w32font.c.
4789 (Qw32_charset_unicode): Remove.
4790 (syms_of_w32fns): Update for above changes.
4791
4792 * w32font.c (w32_to_x_charset, x_to_w32_charset)
4793 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
4794 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
4795 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
4796 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
4797 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
4798 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
4799 (Qw32_charset_mac, Vw32_charset_info_alist): Move from w32fns.c.
4800 (syms_of_w32font): Update for above changes.
4801
4802 2008-06-27 Dan Nicolaescu <dann@ics.uci.edu>
4803
4804 * s/usg5-4.h: Fix previous change: keep the correct branch of a
4805 removed #if.
4806 (USG_SHARED_LIBRARIES): Remove duplicate definition.
4807
4808 2008-06-26 Juanma Barranquero <lekktu@gmail.com>
4809 Eli Zaretskii <eliz@gnu.org>
4810
4811 * makefile.w32-in (LOCAL_FLAGS):
4812 Don't include WINDOWSNT, DOS_NT and _UCHAR_T.
4813
4814 * sysdep.c (_spawnlp, _getpid):
4815 Declare with explicit _cdecl instead of _CRTAPI1.
4816
4817 * editfns.c (Fget_internal_run_time):
4818 Check for WINDOWSNT with #ifdef, not #if.
4819
4820 2008-06-26 Jason Rumney <jasonr@gnu.org>
4821
4822 * w32font.h (FONT_HANDLE, FONT_TEXTMETRIC): New macros.
4823
4824 * w32term.c (x_draw_glyph_string_foreground)
4825 (x_draw_composite_glyph_string_foreground): Sync with xterm.c.
4826 Use FONT_HANDLE macro.
4827 (x_draw_glyph_string): Use FONT_TEXTMETRIC macro.
4828
4829 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
4830 (uniscribe_encode_char): Use FONT_HANDLE macro.
4831
4832 * w32font.c (Fx_select_font): Use FONT_HANDLE macro.
4833 (w32font_text_extents): Use precast w32_font.
4834 (w32font_close): Free cached metrics.
4835 (w32font_open_internal): Allocate space for name on stack.
4836
4837 2008-06-26 Chong Yidong <cyd@stupidchicken.com>
4838
4839 * xdisp.c (extend_face_to_end_of_line): Fix last change.
4840
4841 2008-06-26 Jason Rumney <jasonr@gnu.org>
4842
4843 * w32term.h (FONT_AVG_WIDTH): Remove obsolete macro.
4844 (CP_8BIT, CP_UNICODE, CP_UNKNOWN): Remove obsolete constants.
4845
4846 2008-06-26 Juanma Barranquero <lekktu@gmail.com>
4847
4848 * Makefile.in (SOME_MACHINE_OBJECTS): Remove w32bdf.o.
4849
4850 2008-06-26 Jason Rumney <jasonr@gnu.org>
4851
4852 * w32bdf.c, w32bdf.h: Remove obsolete files.
4853
4854 * makefile.w32-in: Remove refs to w32bdf.h and w32bdf.c.
4855
4856 * w32gui.h: Don't include w32bdf.h.
4857 (XCharStruct, enum w32_char_font_type, W32FontStruct):
4858 Remove obsolete font support.
4859
4860 * w32font.h (struct w32font_info): Remove compat_w32_font.
4861 Add hfont member.
4862 (FONT_COMPAT): Remove obsolete macro.
4863
4864 * w32font.c (w32font_close): Remove compat code. Delete hfont member.
4865 (w32font_encode_char, w32font_text_extents): Use new hfont member.
4866 (w32font_open_internal): Remove compat code. Set new hfont member.
4867 (Fx_select_font): Use new hfont member.
4868
4869 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
4870 (uniscribe_encode_char): Use new hfont member.
4871
4872 * w32term.c (x_draw_glyph_string_foreground)
4873 (x_draw_composite_glyph_string_foreground): Use new hfont member.
4874 (x_draw_glyph_string): Use metrics in w32font_info.
4875
4876 2008-06-26 Kenichi Handa <handa@m17n.org>
4877
4878 * xdisp.c (handle_auto_composed_prop): Fix for the terminal case.
4879
4880 2008-06-26 Dan Nicolaescu <dann@ics.uci.edu>
4881
4882 * unexnext.c:
4883 * m/ews4800.h:
4884 * m/hp9000s300.h:
4885 * m/ibm370aix.h:
4886 * m/mips-siemens.h:
4887 * m/ncr386.h:
4888 * m/next.h:
4889 * m/pmax.h:
4890 * m/powerpcle.h:
4891 * m/tandem-s2.h:
4892 * s/386bsd.h:
4893 * s/bsd386.h:
4894 * s/bsd4-1.h:
4895 * s/bsd4-2.h:
4896 * s/bsdos2-1.h:
4897 * s/bsdos2.h:
4898 * s/bsdos3.h:
4899 * s/bsdos4.h:
4900 * s/nextstep.h:
4901 * s/ultrix4-3.h:
4902 * s/usg5-0.h:
4903 * s/usg5-2-2.h:
4904 * s/usg5-2.h:
4905 * s/usg5-4-3.h:
4906 * s/ux4800.h:
4907 * s/uxpds.h:
4908 * s/uxpv.h: Remove support for obsolete systems.
4909 * s/hpux.h, s/hpux10.h, s/hpux8.h, s/hpux9.h, s/hpux9shr.h:
4910 Remove, insert contents in s/hpux10-20.h.
4911 * s/aix3-1.h, s/aix3-2-5.h, s/aix3-2.h, s/aix4-1.h, s/aix4.h:
4912 Remove, insert contents in s/aix4-2.h.
4913 * s/usg5-3.h: Remove, insert contents in s/usg5-4.h.
4914 * s/bsd4-3.h: Rename to ...
4915 * s/bsd-common.h: ... this.
4916 * data.c:
4917 * doc.c:
4918 * ecrt0.c:
4919 * emacs.c:
4920 * fileio.c:
4921 * floatfns.c:
4922 * keyboard.c:
4923 * mem-limits.h:
4924 * print.c:
4925 * process.c:
4926 * sysdep.c:
4927 * syssignal.h:
4928 * systty.h:
4929 * syswait.h:
4930 * term.c:
4931 * unexec.c:
4932 * unexelf.c:
4933 * unexhp9k800.c:
4934 * m/hp800.h:
4935 * m/ibmrs6000.h:
4936 * m/mips.h:
4937 * m/vax.h:
4938 * s/darwin.h:
4939 * s/freebsd.h:
4940 * s/gnu.h:
4941 * s/ms-w32.h:
4942 * s/msdos.h:
4943 * s/netbsd.h:
4944 * s/template.h: Remove references to obsolete variables.
4945
4946 * Makefile.in: Add dependencies for all unexec files.
4947 (admindir): Remove unused variable.
4948 (UNEXEC_SRC): Remove references.
4949
4950 2008-06-25 Chong Yidong <cyd@stupidchicken.com>
4951
4952 * xfns.c (x_default_font_parameter): If Xft is available, first
4953 try Monospace-12 for the default font.
4954
4955 2008-06-25 Jason Rumney <jasonr@gnu.org>
4956
4957 * xdisp.c (get_glyph_face_and_encoding): Encode invalid glyphs as 0.
4958
4959 2008-06-25 Stefan Monnier <monnier@iro.umontreal.ca>
4960
4961 * bytecode.c (Fbyte_code): Disable debugging code that doesn't compile.
4962
4963 * buffer.c (syms_of_buffer): Remove default-word-wrap.
4964
4965 2008-06-25 Juanma Barranquero <lekktu@gmail.com>
4966
4967 * xdisp.c (syms_of_xdisp) <truncate-partial-width-windows>: Doc fix.
4968 <scroll-conservatively>: Fix typo in docstring.
4969
4970 * xselect.c (Fx_send_client_event): Doc fix.
4971
4972 2008-06-25 Kenichi Handa <handa@m17n.org>
4973
4974 * xfaces.c (Fx_list_fonts): Call Flist_fonts with the arg PREFER.
4975
4976 * font.c (font_parse_fcname): Remove unused variables.
4977 (font_sort_entites): Delete the arg SPEC. Caller changed.
4978 Fix for the case of ! best_only.
4979 (font_delete_unmatched): Check DPI and AVGWIDTH too.
4980
4981 * lisp.h (Fstring_to_unibyte): EXFUN it.
4982
4983 * character.h (str_to_unibyte): Extern it.
4984
4985 * character.c (str_to_unibyte): New function.
4986
4987 * fns.c (Fstring_to_unibyte): New function.
4988 (syms_of_fns): Defsubr it.
4989
4990 2008-06-24 Kenichi Handa <handa@m17n.org>
4991
4992 * font.c (font_score): Even if the PIXEL_SIZE is the same, check
4993 DPI too.
4994 (font_sort_entites): Setup prefer_prop[FONT_DPI_INDEX] too.
4995
4996 2008-06-24 Andreas Schwab <schwab@suse.de>
4997
4998 * Makefile.in (${lispsource}loaddefs.el): Rename from
4999 ../lisp/loaddefs.el.
5000 (bootstrap-clean): Do what distclean does but don't remove
5001 Makefile.
5002 (distclean): Depend on bootstrap-clean and remove Makefile.
5003
5004 2008-06-24 Chong Yidong <cyd@stupidchicken.com>
5005
5006 * buffer.h (struct buffer): New member word_wrap.
5007
5008 * buffer.c (syms_of_buffer): New variables default-word-wrap and
5009 word-wrap.
5010 (init_buffer_once): Initialize them.
5011
5012 * dispextern.h (struct it): Replace bool truncate_lines_p with a
5013 line_wrap enum possessing three possible values.
5014
5015 * termopts.h: Replace truncate_partial_width_windows with
5016 Vtruncate_partial_width_windows.
5017
5018 * dispnew.c (direct_output_for_insert): Avoid direct output when
5019 inserting a space with word wrap on.
5020
5021 * indent.c (compute_motion): Obey integer values of
5022 truncate-partial-width-windows.
5023
5024 * xdisp.c (Vtruncate_partial_width_windows): New Lisp_Object,
5025 replacing truncate_partial_width_windows.
5026 (init_iterator): If Vtruncate_partial_width_windows is an integer,
5027 truncate only if the window width is below that integer.
5028 (start_display, resize_mini_window, produce_stretch_glyph)
5029 (display_string, move_it_in_display_line_to): Use line_wrap.
5030 (back_to_previous_visible_line_start, reseat_1): Reset
5031 string_from_display_prop_p.
5032 (display_line): Extend default face to end of line when wrapping.
5033
5034 2008-06-24 Kim F. Storm <storm@cua.dk>
5035
5036 * xdisp.c (display_line, move_it_in_display_line_to): Add ability
5037 to wrap continued lines at word boundaries.
5038
5039 2008-06-24 Jason Rumney <jasonr@gnu.org>
5040
5041 * font.c (Ffont_face_attributes): Multiply pixel size before point
5042 conversion to avoid multiplying rounding error.
5043
5044 2008-06-23 Jason Rumney <jasonr@gnu.org>
5045
5046 * w32term.c (x_draw_glyph_string_background)
5047 (x_draw_glyph_string): Remove old bdf font code.
5048
5049 * w32term.h (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): Remove.
5050
5051 2008-06-22 Kenichi Handa <handa@m17n.org>
5052
5053 * font.c (font_find_for_lface): Try the adstyle specified in
5054 the property of LFACE_FONT of LFACE (if any).
5055
5056 2008-06-21 Seiji Zenitani <zenitani@mac.com>
5057 Ryo Yoshitake <ryo@shiftmode.net>
5058
5059 * xterm.c (x_set_frame_alpha): Add x_catch_errors for bug#437.
5060
5061 2008-06-22 Stefan Monnier <monnier@iro.umontreal.ca>
5062
5063 * Makefile.in (${lisp} ${SOME_MACHINE_LISP}, ../lisp/loaddefs.el):
5064 Use $(BOOTSTRAPEMACS) rather than witness-emacs.
5065 (bootstrap-emacs${EXEEXT}): Merge witness-emacs into it.
5066 (witness-emacs): Remove.
5067 (lisp, shortlisp): Move loaddefs.el earlier.
5068 (mostlyclean): Forget about witness-emacs.
5069
5070 2008-06-22 Glenn Morris <rgm@gnu.org>
5071
5072 * Makefile.in (witness-emacs): Depend on temacs${EXEEXT}.
5073 (.SUFFIXES): Declare .el.elc as a suffix rule, for non-GNU makes.
5074
5075 2008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
5076
5077 * Makefile.in (PRECOMP): Remove.
5078 (${lisp} ${SOME_MACHINE_LISP}): Remove pseudo dependency on PRECOMP.
5079 (witness-emacs): Run `compile-first'.
5080 (.el.elc): Use the new compile-onefile target.
5081
5082 2008-06-21 Kenichi Handa <handa@m17n.org>
5083
5084 * xftfont.c (xftfont_open): Handle QCembolden only when
5085 FC_EMBOLDEN is defined.
5086
5087 2008-06-21 Andreas Schwab <schwab@suse.de>
5088
5089 * Makefile.in (witness-emacs): Use ../lisp, not $(lispsource).
5090 (.el.elc): Likewise.
5091
5092 2008-06-21 Miles Bader <miles@gnu.org>
5093
5094 * Makefile.in (../lisp/loaddefs.el): Build autoloads in the lisp
5095 build dir, not the lisp source dir.
5096
5097 2008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
5098
5099 * Makefile.in (emacs${EXEEXT}): Link the new emacs to bootstrap-emacs.
5100 (bootstrapclean): Remove.
5101 (.el.elc): New rule.
5102 (PRECOMP): New var.
5103 (../lisp/subdirs.el): Remove.
5104 (bootstrap-emacs${EXEEXT}): Remove subdirs.el and charpro.el dependency.
5105 (witness-emacs): New target.
5106 (mostlyclean): Remove witness-emacs as well.
5107 (../lisp/loaddefs.el, ${lisp} ${SOME_MACHINE_LISP}):
5108 Add witness-emacs dependency.
5109
5110 2008-06-20 Chong Yidong <cyd@stupidchicken.com>
5111
5112 * font.c (Ffont_face_attributes): Omit key-attribute pairs not
5113 defined by the font.
5114
5115 2008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
5116
5117 * Makefile.in (emacs${EXEEXT}): Depend on the machine-specific files.
5118 (bootstrap-clean): New target that keeps TAGS around.
5119 (../lisp/subdirs.el, ../lisp/loaddefs.el): New targets.
5120 (bootstrap-emacs${EXEEXT}): Depend on subdirs.el.
5121
5122 2008-06-20 Jason Rumney <jasonr@gnu.org>
5123
5124 * w32fns.c, w32term.c, w32term.h, w32gui.h [OLD_FONT]:
5125 Remove obsolete font code.
5126
5127 * w32font.c (font_matches_spec): Use csb bitfield from font signature
5128 to determine language support.
5129
5130 2008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
5131
5132 * sysdep.c (cfsetspeed): New fun extracted from the code.
5133 (cfmakeraw): Move before first use.
5134
5135 2008-06-20 Angelo Graziosi <angelo.graziosi@alice.it> (tiny change)
5136
5137 * sysdep.c (cfmakeraw): Provide fallback implementation.
5138 (serial_configure): Provide fallback implementation of cfsetspeed.
5139
5140 2008-06-20 Kenichi Handa <handa@m17n.org>
5141
5142 * xftfont.c (xftfont_open): Add FOUNDRY, SPACING, DPI, SCALABLE to
5143 the pattern.
5144
5145 * fontset.c (fontset_from_font): Copy font_spec before changing
5146 the elements.
5147
5148 * xfns.c (x_default_font_parameter): Try "monospace-12" too.
5149
5150 2008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
5151
5152 * w32fns.c, xfns.c (x_default_font_parameter): Only set `font-param'
5153 for explicit `font' parameters.
5154
5155 * frame.c (x_set_font): Remove unexplained call to fix inf-recursion.
5156
5157 2008-06-19 Kenichi Handa <handa@m17n.org>
5158
5159 * frame.c: Include <ctype.h>.
5160 (x_set_font_backend): Allow spacing characters in the X resource
5161 for FontBackend.
5162
5163 2008-06-19 Stefan Monnier <monnier@iro.umontreal.ca>
5164
5165 * w32fns.c, xfns.c (Qfont_param): New var.
5166 (syms_of_w32fns): Initialize it.
5167 (x_default_font_parameter): Record explicit `font' into
5168 `font-parameter'.
5169
5170 2008-06-18 Kenichi Handa <handa@m17n.org>
5171
5172 * font.c (font_parse_xlfd): Fix previous change.
5173 (font_parse_fcname): Don't use :fc-unknown-spec.
5174 (FRAME_X_DISPLAY_INFO): Be sure to have at least 1 pixel height.
5175 (Fcopy_font_spec): Preserve the order of elements in FONT_EXTRA.
5176 (font_add_log): Prepend the driver name to the resulting fonts.
5177
5178 * ftfont.c (ftfont_pattern_entity): New arg extra. Caller changed.
5179 (ftfont_spec_pattern): Don't check QCfc_unknown_spec and QCname.
5180 (ftfont_list) [FC_FONTFORMAT]: Include FC_FONTFORMAT in objset.
5181
5182 * xftfont.c (QChinting , QCautohint, QChintstyle, QCrgba)
5183 (QCembolden): New variables.
5184 (syms_of_xftfont): DEFSYM them.
5185 (xftfont_open): Call XftFontMatch. Don't trust the result of
5186 XftTextExtents8 if the pixel_size is less than 5.
5187
5188 2008-06-18 Andreas Schwab <schwab@suse.de>
5189
5190 * font.c (Ffont_face_attributes): Only define if HAVE_WINDOW_SYSTEM.
5191 (syms_of_font): Only defsubr if HAVE_WINDOW_SYSTEM.
5192
5193 2008-06-18 Jason Rumney <jasonr@gnu.org>
5194
5195 * w32font.c (w32font_list, w32font_match): Add logging.
5196
5197 * w32uniscribe.c (uniscribe_list, uniscribe_match): Add logging.
5198
5199 2008-06-17 Chong Yidong <cyd@stupidchicken.com>
5200
5201 * font.c (font_parse_fcname): Store divider characters for
5202 unknown-spec list. For known key symbols, intern using correct
5203 symbol name.
5204
5205 2008-06-17 Kenichi Handa <handa@m17n.org>
5206
5207 * xfaces.c (realize_default_face): If the frame is not on window
5208 system, set the fontset of face to nil.
5209
5210 2008-06-17 Naohiro Aota <nao.aota@gmail.com> (tiny change)
5211
5212 * fontset.c (fontset_pattern_regexp): Escape some reg-expr characters.
5213
5214 2008-06-16 Juanma Barranquero <lekktu@gmail.com>
5215
5216 * dispextern.h (lookup_non_ascii_face, split_font_name_into_vector)
5217 (build_font_name_from_vector): Delete externs.
5218
5219 * xfaces.c (struct font_name): Don't declare.
5220
5221 2008-06-16 Stefan Monnier <monnier@iro.umontreal.ca>
5222
5223 * font.c (font_unparse_gtkname): Use EQ to compare Lisp_Objects.
5224
5225 2008-06-16 Chong Yidong <cyd@stupidchicken.com>
5226
5227 * font.c (font_parse_fcname): Fix handling of unknown-spec string.
5228
5229 2008-06-16 Juanma Barranquero <lekktu@gmail.com>
5230
5231 * font.c (Ffont_spec): Fix usage in docstring.
5232 (Ffont_face_attributes): Doc fix.
5233
5234 2008-06-16 Andreas Schwab <schwab@suse.de>
5235
5236 * font.c (Ffont_face_attributes): Fix definition.
5237
5238 2008-06-16 Jason Rumney <jasonr@gnu.org>
5239
5240 * font.h (font_style_symbolic_from_value): Remove.
5241
5242 * font.c (font_style_symbolic_from_value): Remove.
5243 (font_style_symbolic): Revert to pre 2008-06-13 version.
5244
5245 * w32font.c (w32_to_fc_weight): New function.
5246 (w32font_full_name, logfont_to_fcname): Use it.
5247
5248 2008-06-16 Kenichi Handa <handa@m17n.org>
5249
5250 * font.c (font_check_object): Delete it.
5251 (font_clear_cache): Check if a font-object is alive.
5252 (font_open_entity): Likewise. Set FONT_OBJLST_INDEX of a
5253 font-object to nil.
5254 (font_close_object): Don't check FONT_CLOSE_OBJECT.
5255 (font_at): Don't call font_check_object.
5256 (Ffont_get): Return a symbol for :weight, :slant, and :width.
5257
5258 2008-06-16 Katsumi Yamaoka <yamaoka@jpl.org>
5259
5260 * puresize.h (BASE_PURESIZE): Increase to 1230000.
5261
5262 2008-06-16 Chong Yidong <cyd@stupidchicken.com>
5263
5264 * font.c (font_parse_fcname): Correctly parse KEY=VAL values.
5265
5266 2008-06-15 Chong Yidong <cyd@stupidchicken.com>
5267
5268 * font.c (font_parse_fcname): Only one decimal point.
5269 (font_unparse_fcname): Handle data in family and foundry indices
5270 as symbols, not strings.
5271 (font_unparse_gtkname, Ffont_face_attributes): New functions.
5272
5273 * xfns.c (Fx_select_font): Give GTK font dialog the default font name.
5274
5275 * font.h (font_unparse_gtkname): Add prototype.
5276
5277 2008-06-15 Naohiro Aota <nao.aota@gmail.com> (tiny change)
5278
5279 * fontset.c (fontset_pattern_regexp): Escape `+' characters in pattern.
5280
5281 2008-06-15 Andreas Schwab <schwab@suse.de>
5282
5283 * font.c (font_update_drivers): Fix crash when no drivers match.
5284
5285 2008-06-15 Stefan Monnier <monnier@iro.umontreal.ca>
5286
5287 * xfns.c (Fx_create_frame): internal-border-width default to 0 for Gtk.
5288 * gtkutil.c (xg_create_frame_widgets): Don't set internal_border_width.
5289
5290 2008-06-14 Stefan Monnier <monnier@iro.umontreal.ca>
5291
5292 * xdisp.c (syms_of_xdisp): Default underline-minimum-offset to 1.
5293
5294 2008-06-13 Stefan Monnier <monnier@iro.umontreal.ca>
5295
5296 * process.c (Fserial_process_configure, Fprocess_send_eof):
5297 Use EQ to compare Lisp_Objects.
5298
5299 2008-06-13 Jason Rumney <jasonr@gnu.org>
5300
5301 * w32fns.c (Fw32_select_font): Remove old font API function.
5302
5303 * w32font.c (logfont_to_fcname): New function.
5304 (Fx_select_font): New font dialog function compatible with
5305 GTK/fontconfig version.
5306
5307 * font.c (font_style_symbolic_from_value): New function.
5308 (font_style_symbolic): Use it.
5309
5310 * font.h (font_style_symbolic_from_value): Declare new function.
5311
5312 2008-06-13 Juanma Barranquero <lekktu@gmail.com>
5313
5314 * font.c (syms_of_font) <font-weight-table, font-slant-table>:
5315 <font-width-table>: Fix typos in docstrings.
5316
5317 2008-06-13 Daniel Engeler <engeler@gmail.com>
5318
5319 These changes add serial port access.
5320 * process.c: Add HAVE_SERIAL.
5321 (Fdelete_process, Fprocess_status, Fset_process_buffer)
5322 (Fset_process_filter, Fset_process_sentinel, Fprocess_contact)
5323 (list_processes_1, select_wrapper, Fstop_process)
5324 (Fcontinue_process, Fprocess_send_eof, kill_buffer_processes)
5325 (status_notify): Modify to handle serial processes.
5326 [HAVE_SERIAL] (Fserial_process_configure)
5327 [HAVE_SERIAL] (make_serial_process_unwind, Fmake_serial_process):
5328 New functions.
5329 * process.h (struct Lisp_Process): Add `type'.
5330 * sysdep.c [HAVE_TERMIOS] (serial_open, serial_configure):
5331 New functions.
5332 * w32.c (_sys_read_ahead, sys_read, sys_write): Modify to handle
5333 serial ports.
5334 (serial_open, serial_configure) New functions.
5335 * w32.h: Add FILE_SERIAL.
5336 (struct _child_process): Add ovl_read, ovl_write.
5337
5338 2008-06-13 Kenichi Handa <handa@m17n.org>
5339
5340 * dispextern.h (enum lface_attribute_index): New member
5341 LFACE_FOUNDRY_INDEX.
5342
5343 * font.c (font_score): Delete arg alternate_families. Check only
5344 weight, slant, width, and size. Ignore the difference of alias
5345 style symbols.
5346 (font_sort_entites): Adjust for the above change. Reflect the
5347 order of font-driver to scores.
5348 (font_list_entities): Don't check alternate_familes here.
5349 (font_clear_prop): Handle foundry.
5350 (font_update_lface): Don't parse "foundry-family" form here.
5351 Handle FONT_FOUNDRY_INDEX.
5352 (font_find_for_lface): Likewise. Handle alternate families here.
5353 If registry is nil, try iso8859-1 and ascii-0.
5354 (font_open_for_lface): Pay attention to size in ENTITY.
5355 (font_open_by_name): Simplify by calling font_load_for_lface.
5356 (free_font_driver_list): Delete it.
5357 (font_update_drivers): Preserve the order of backends.
5358 (syms_of_font): Setting of sort_shift_bits adjusted for the change
5359 of font_score and font_sort_entites.
5360 (font_update_sort_order): Likewise.
5361
5362 * xfaces.c (LFACE_FOUNDRY): New macro.
5363 (check_lface_attrs): Check foundry.
5364 (set_lface_from_font): Don't parse "FOUNDRY-FAMILY" form.
5365 (merge_face_vectors): Check foundry.
5366 (merge_face_ref): Likewise.
5367 (Finternal_set_lisp_face_attribute): Likewise.
5368 (x_update_menu_appearance): Likewise.
5369 (Finternal_get_lisp_face_attribute): Likewise.
5370 (lface_hash): Likewise.
5371 (lface_same_font_attributes_p): Likewise.
5372 (x_supports_face_attributes_p): Likewise.
5373 (tty_supports_face_attributes_p): Likewise.
5374 (Finternal_set_alternative_font_family_alist): Intern strings.
5375 (Finternal_set_alternative_font_registry_alist): Downcase strings.
5376 (realize_default_face): Set LFACE_FOUNDRY (lface).
5377
5378 * xfns.c (Fx_create_frame, x_create_tip_frame): Register X
5379 font-driver at first.
5380
5381 * ftfont.c (ftfont_font_format) [! FC_FONTFORMAT]: Declare "int len;".
5382
5383 2008-06-12 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
5384
5385 * lread.c (Fload): Use xfree, not free on saved_doc_string.
5386
5387 2008-06-12 Jim Meyering <meyering@redhat.com>
5388
5389 Make unexec_free handle NULL the same way free does.
5390 * unexmacosx.c (unexec_free): Ignore a NULL argument.
5391
5392 2008-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
5393
5394 * character.h (CHAR_TO_BYTE_SAFE): New macro.
5395 * character.c (Fmultibyte_char_to_unibyte): Obey the docstring.
5396 * regex.c (RE_CHAR_TO_UNIBYTE): Use the new macro.
5397 (WEAK_ALIAS): Simplify.
5398 * syntax.c (skip_chars): Don't mark non-byte chars in the fastmap
5399 when searching a unibyte buffer.
5400
5401 2008-06-12 Chong Yidong <cyd@stupidchicken.com>
5402
5403 * xfns.c (Fx_select_font): Rename from x-font-dialog.
5404
5405 2008-06-12 Juanma Barranquero <lekktu@gmail.com>
5406
5407 * w32font.c: Include ctype.h.
5408
5409 2008-06-11 Jason Rumney <jasonr@gnu.org>
5410
5411 * w32font.c (w32font_encode_char): Detect missing glyphs that are
5412 misreported as space.
5413 (add_font_entity_to_list): Support unicode-bmp and unicode-sip
5414 as aliases for registry iso10646-1.
5415
5416 2008-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
5417
5418 * buffer.c (clone_per_buffer_values): Skip `name'.
5419
5420 2008-06-11 Chong Yidong <cyd@stupidchicken.com>
5421
5422 * font.c (font_parse_fcname): Fix last change; accept decimal
5423 points in font size.
5424
5425 2008-06-10 Jason Rumney <jasonr@gnu.org>
5426
5427 * w32uniscribe.c (add_opentype_font_name_to_list):
5428 Skip non unicode fonts.
5429
5430 2008-06-10 Chong Yidong <cyd@stupidchicken.com>
5431
5432 * xfns.c (Fx_font_dialog): New function.
5433
5434 * gtkutil.c (xg_dialog_response_cb): Rename from
5435 xg_file_response_callback.
5436 (pop_down_dialog): Rename from pop_down_file_dialog.
5437 (xg_get_file_name): Callers changed.
5438 (xg_get_font_name): New function.
5439
5440 * gtkutil.h (xg_get_font_name): Insert prototype.
5441
5442 2008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
5443
5444 * xdisp.c (underline_minimum_offset): Rename from xterm.c's
5445 x_underline_minimum_display_offset.
5446 (syms_of_xdisp): Declare it here rather than in xterm.c.
5447 * dispextern.h (underline_minimum_offset): Declare it.
5448 * w32term.c (x_draw_glyph_string): Use it.
5449 * xterm.c (x_underline_minimum_display_offset): Move to xdisp.c.
5450 (syms_of_xterm): Don't declare it any more.
5451 (x_draw_glyph_string): Adjust to the new name.
5452
5453 2008-06-10 David De La Harpe Golden <david@harpegolden.net> (tiny change)
5454
5455 * xterm.c (x_underline_minimum_display_offset): New var.
5456 (x_draw_glyph_string): Use it.
5457 (syms_of_xterm): Declare it.
5458
5459 2008-06-10 Chong Yidong <cyd@stupidchicken.com>
5460
5461 * font.c (font_parse_fcname): Accept GTK-style font names too.
5462
5463 2008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
5464
5465 * dired.c (file_name_completion): Don't return t if the match is exact
5466 but with different capitalization.
5467 * minibuf.c (Ftry_completion): Simplify.
5468
5469 * window.c (Vwindow_point_insertion_type): New var.
5470 (set_window_buffer): Use it.
5471 (syms_of_window): Init and export it to Lisp.
5472
5473 2008-06-10 Kenichi Handa <handa@m17n.org>
5474
5475 * font.h (font_intern_prop): Prototype adjusted.
5476
5477 * font.c (font_intern_prop): New arg force_symbol.
5478 (font_parse_xlfd, font_parse_fcname, font_parse_family_registry):
5479 Adjust for the change of font_intern_prop.
5480
5481 * ftfont.c (ftfont_pattern_entity):
5482 * w32font.c (add_font_name_to_list, w32_enumfont_pattern_entity)
5483 (w32_registry):
5484 * w32uniscribe.c (add_opentype_font_name_to_list): Adjust for
5485 the change of font_intern_prop.
5486
5487 2008-06-09 Juanma Barranquero <lekktu@gmail.com>
5488
5489 * w32menu.c (digest_single_submenu): Declare extern.
5490
5491 2008-06-09 Jason Rumney <jasonr@gnu.org>
5492
5493 * w32term.c (x_make_frame_visible): Use alternate restore flags.
5494
5495 * w32menu.c (Fx_popup_menu): Unwind protect while building menu.
5496 (parse_single_submenu): Remove.
5497 (digest_single_submenu): Remove.
5498 (syms_of_w32menu): Don't initialise variables that have moved
5499 to menu.c.
5500 (set_frame_menubar): Sync with version in xmenu.c.
5501 (w32_menu_show): Sync with xmenu_show in xmenu.c.
5502
5503 * menu.c (single_keymap_panes, push_menu_pane, push_menu_item):
5504 Make static again.
5505
5506 2008-06-09 Jason Rumney <jasonr@gnu.org>
5507
5508 Changes to w32 files related to the move of common menu code
5509 to menu.c on 2008-06-08 by Chong Yidong.
5510
5511 * menu.c [HAVE_NTGUI]: Include w32term.h, move widget related
5512 defs to w32gui.h.
5513 (single_keymap_panes, push_menu_item, push_menu_pane):
5514 Make globally visible.
5515
5516 * w32menu.c (enum button_type, widget_value, local_heap, local_alloc)
5517 (local_free, malloc_widget_value, free_widget_value)
5518 (MENU_ITEMS_ITEM_NAME, MENU_ITEMS_ITEM_ENABLE, MENU_ITEMS_ITEM_VALUE)
5519 (MENU_ITEMS_ITEM_EQUIV_KEY, MENU_ITEMS_ITEM_DEFINITION)
5520 (MENU_ITEMS_ITEM_TYPE, MENU_ITEMS_ITEM_SELECTED, MENU_ITEMS_ITEM_HELP)
5521 (MENU_ITEMS_ITEM_LENGTH, enum menu_item_idx): Remove defs.
5522 (menu_items, menu_items_allocated, menu_items_used)
5523 (menu_items_n_panes, menu_items_submenu_depth): Remove global vars.
5524 (init_menu_items, finish_menu_items, discard_menu_items)
5525 (grow_menu_items, push_submenu_start, push_submenu_end)
5526 (push_left_right_boundary, push_menu_pane, push_menu_item)
5527 (keymap_panes, single_keymap_panes, list_of_panes, list_of_items)
5528 (free_menubar_widget_tree_value, parse_single_submenu)
5529 (update_submenu_strings): Remove functions.
5530 (xmalloc_widget_value): Remove and declare extern.
5531
5532 * makefile.w32-in ($(SRC)/menu.$(O)): New target.
5533 (OBJ1): Build it.
5534
5535 * w32gui.h (widget_value, XtPointer, Boolean, enum button_type)
5536 (local_heap, local_alloc, local_free, malloc_widget_value)
5537 (free_widget_value): Define here.
5538
5539 2008-06-09 Kenichi Handa <handa@m17n.org>
5540
5541 * font.h (Qascii_0): Extern it.
5542
5543 * font.c (Qascii_0): New variable.
5544 (syms_of_font): DEFSYM it.
5545 (font_open_by_name): If the registry "iso8859-1" fails, try also
5546 "ascii-0".
5547
5548 * ftfont.c (ftfont_spec_pattern): Accept the registry `ascii-0'.
5549
5550 2008-06-08 Kenichi Handa <handa@m17n.org>
5551
5552 * .gdbinit (xfont): New command.
5553
5554 2008-06-08 Andreas Schwab <schwab@suse.de>
5555
5556 * menu.c [HAVE_X_WINDOWS]: Include "xterm.h".
5557 * Makefile.in (menu.o): Update dependencies.
5558
5559 * Makefile.in (obj): Always add menu.o.
5560 * emacs.c (main): Always call syms_of_menu.
5561 * keyboard.h: Remove extra #ifdef HAVE_X_WINDOW.
5562
5563 2008-06-08 Chong Yidong <cyd@stupidchicken.com>
5564
5565 * Makefile.in: Compile menu.c.
5566
5567 * lisp.h: Declare syms_of_menu.
5568
5569 * emacs.c (main): Call syms_of_menu.
5570
5571 * keyboard.h: Relocate platform-independent menu definitions from
5572 xmenu.c.
5573
5574 * menu.c: New file. Relocate platform-independent menu
5575 definitions from xmenu.c. Suggested by Adrian Robert.
5576
5577 * xmenu.c: Remove platform-independent menu definitions.
5578 (menu_items menu_items_inuse, menu_items_allocated)
5579 (menu_items_used, menu_items_n_panes)
5580 (menu_items_submenu_depth): Move to keyboard.h.
5581 (init_menu_items, finish_menu_items, unuse_menu_items)
5582 (discard_menu_items, restore_menu_items, save_menu_items)
5583 (grow_menu_items, push_submenu_start, push_submenu_end)
5584 (push_left_right_boundary, push_menu_pane, push_menu_item)
5585 (keymap_panes, single_keymap_panes, single_menu_item)
5586 (list_of_panes, list_of_items, find_and_call_menu_selection)
5587 (xmalloc_widget_value, free_menubar_widget_value_tree)
5588 (parse_single_submenu, digest_single_submenu)
5589 (update_submenu_strings): Move to menu.c.
5590
5591 2008-06-07 Stefan Monnier <monnier@iro.umontreal.ca>
5592
5593 * dispnew.c (Flast_nonminibuf_frame): Handle the NULL case.
5594
5595 2008-06-06 Miles Bader <miles@gnu.org>
5596
5597 * xdisp.c (x_produce_glyphs): Calculate tab width based on current
5598 face, not frame default.
5599
5600 2008-06-05 Martin Rudalics <rudalics@gmx.at>
5601
5602 * window.c (pop_up_windows, pop_up_frames)
5603 (display_buffer_reuse_frames, Vpop_up_frame_function)
5604 (Vdisplay_buffer_function, Veven_window_heights)
5605 (Vspecial_display_buffer_names, Vspecial_display_regexps)
5606 (Vspecial_display_function, Vsame_window_buffer_names)
5607 (Vsame_window_regexps, split_height_threshold)
5608 (Vsplit_window_preferred_function): Move those vars to window.el.
5609 (display_buffer_1, Fspecial_display_p, Fsame_window_p)
5610 (Fdisplay_buffer): Move those functions to window.el.
5611 (syms_of_window): Remove corresponding declarations.
5612 (display_buffer): New function.
5613 (temp_output_buffer_show, Fother_window_for_scrolling): Use it.
5614 * dispnew.c (Flast_nonminibuf_frame): New function.
5615 * buffer.c (Fpop_to_buffer): Move to window.el.
5616
5617 2008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
5618
5619 * data.c (set_internal): Fix up call to let_shadows_buffer_binding_p.
5620
5621 2008-06-05 Kenichi Handa <handa@m17n.org>
5622
5623 * coding.c (detect_coding): Fix previous change.
5624 (detect_coding_system): Likewise.
5625
5626 2008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
5627
5628 * character.h (MAKE_CHAR_MULTIBYTE): Check the arg is a (uni)byte.
5629
5630 * keymap.c (Vminibuffer_local_filename_must_match_map):
5631 Rename from Vminibuffer_local_must_match_filename_map.
5632 (syms_of_keymap):
5633 * minibuf.c (Fcompleting_read): Adjust accordingly.
5634 * commands.h: Rename declaration as well.
5635
5636 2008-06-05 Kenichi Handa <handa@m17n.org>
5637
5638 * font.c (Ffont_spec): Don't use font_parse_family_registry for
5639 family name.
5640 (Ffont_put): Likewise.
5641
5642 * fontset.c (fontset_find_font): Call font_open_for_lface with the
5643 current font-spec.
5644
5645 * xfont.c (xfont_list): Don't set registry to iso8859-1 even if it
5646 is unspecified.
5647
5648 * xfaces.c (realize_x_face): If the font-related face attributes
5649 are the same as those of default face, realize a new fontset from
5650 default->fontset.
5651 (Fx_family_fonts): Use font_parse_family_registry instead of Ffont_put.
5652
5653 2008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
5654
5655 * xdisp.c (move_it_in_display_line_to): Improve the type of its args.
5656 (move_it_in_display_line): New wrapper.
5657
5658 * window.c (window_scroll_pixel_based_preserve_x)
5659 (window_scroll_preserve_hpos, window_scroll_preserve_vpos): New vars.
5660 (window_scroll_pixel_based, window_scroll_line_based):
5661 Use them to preserve column positions.
5662 (syms_of_window): Initialize them.
5663
5664 * indent.c (Fvertical_motion): Extend first arg to allow passing an
5665 (HPOS . VPOS) pair.
5666
5667 * dispextern.h (move_it_in_display_line): Declare.
5668
5669 2008-06-05 Juanma Barranquero <lekktu@gmail.com>
5670
5671 * window.c (Fwindow_parameter): Return VALUE, not (PARAMETER . VALUE).
5672 (Fwindow_parameters): Return copy of parameter alist. Doc fix.
5673 (Fset_window_parameter): Return VALUE, not parameter alist. Doc fix.
5674
5675 2008-06-04 Juanma Barranquero <lekktu@gmail.com>
5676
5677 * window.c (Fset_window_parameter): Doc fix.
5678 (Fwindow_parameters, Fwindow_parameter): Remove redundant check.
5679
5680 2008-06-04 Joakim Verona <joakim@verona.se>
5681
5682 * window.h (struct window): Add new member window_parameters.
5683
5684 * window.c (Fwindow_parameters, Fwindow_parameter)
5685 (Fset_window_parameter): New defuns.
5686 (syms_of_window): Defsubr the new defuns.
5687 (make_window): Initialize window_parameters to nil.
5688
5689 2008-06-04 John Paul Wallington <jpw@pobox.com>
5690
5691 * eval.c (Fdefmacro): Doc fix.
5692
5693 2008-06-04 Kenichi Handa <handa@m17n.org>
5694
5695 * coding.c (detect_coding): Fix handling of coding->head_ascii.
5696 Be sure to call setup_coding_system when we find a proper coding system.
5697 (detect_coding_system): Fix handling of coding->head_ascii.
5698
5699 2008-06-03 Andreas Schwab <schwab@suse.de>
5700
5701 * font.c (font_prop_validate_spacing): Fix last change.
5702
5703 2008-06-03 Kenichi Handa <handa@m17n.org>
5704
5705 * font.c (font_prop_validate_spacing): Handle uppercase symbols.
5706 (font_parse_fcname): Fix handling of unknown key.
5707
5708 * xfont.c (xfont_list): Try an alias.
5709
5710 * charset.c (char_charset): Return NULL if the arg charset_list is
5711 specified and C doesn't belong to any of them.
5712
5713 2008-06-02 Chip Coldwell <coldwell@redhat.com>
5714
5715 * font.c (font_pixel_size): Don't take cdr of an integer.
5716
5717 2008-06-02 Jim Meyering <meyering@redhat.com>
5718
5719 Make "xfree (NULL)" a no-op; remove useless if-before-xfree.
5720 * alloc.c (xfree): Return right away for a NULL arg.
5721 * lread.c (nosuffix): Remove now-useless if-before-xfree tests.
5722 * gtkutil.c (xg_gtk_scroll_destroy): Likewise.
5723 * mac.c (create_apple_event_from_event_ref): Likewise.
5724 (create_apple_event_from_drag_ref, cfstring_create_normalized):
5725 Likewise.
5726 * doprnt.c (doprnt1): Likewise.
5727 * frame.c (frame): Likewise.
5728 * keyboard.c (wipe_kboard): Likewise.
5729 * macterm.c (x_free_frame_resources, xlfdpat_destroy, XFreePixmap)
5730 (init_font_name_table, mac_unload_font, x_delete_display): Likewise.
5731 * term.c (tty_default_color_capabilities, maybe_fatal)
5732 (delete_tty): Likewise.
5733 * w16select.c (string): Likewise.
5734 * w32.c (w32_get_resource, SET_ENV_BUF_SIZE): Likewise.
5735 * w32bdf.c (w32_free_bdf_font): Likewise.
5736 * w32fns.c (w32_unload_font): Likewise.
5737 * w32font.c (w32font_close): Likewise.
5738 * window.c (size_window): Likewise.
5739 * xselect.c (receive_incremental_selection): Likewise.
5740 * xterm.c (x_free_frame_resources, x_delete_display): Likewise.
5741 * mactoolbox.c (create_apple_event_from_drag_ref): Likewise.
5742 * w32.c (stat): Likewise.
5743
5744 Remove useless if-before-free tests.
5745 * editfns.c (Fset_time_zone_rule): Likewise.
5746 * lread.c (nosuffix): Likewise.
5747 * ralloc.c (get_bloc): Likewise.
5748 * regex.c (reg_free): Likewise.
5749 * xftfont.c (xftfont_open, xftfont_close): Likewise.
5750 * xrdb.c (get_user_app, get_environ_db, x_load_resources): Likewise.
5751 * xsmfns.c (smc_save_yourself_CB): Likewise.
5752
5753 2008-06-02 Kenichi Handa <handa@m17n.org>
5754
5755 * font.c (font_find_for_lface): Handle float font size.
5756 (font_open_for_lface): Likewise.
5757
5758 * xfaces.c (x_supports_face_attributes_p): Check face->font before
5759 comparing the properties.
5760
5761 2008-06-01 Jason Rumney <jasonr@gnu.org>
5762
5763 * w32font.c (w32_enumfont_pattern_entity): Use requested registry.
5764 Treat iso10646-1 and Windows DEFAULT_CHARSET specially.
5765 Duplicate iso8859-1 fonts as iso10646-1 if no registry specified.
5766 Don't add empty script list.
5767 (w32_registry): Only map DEFAULT_CHARSET to iso10646-1 here.
5768
5769 2008-06-01 Dan Nicolaescu <dann@ics.uci.edu>
5770
5771 * Makefile.in (dot, dotdot): Remove, update users.
5772 ".." has been used elsewhere in the file for a long time.
5773 (LIBXT_STATIC): Remove conditional based on unused variable.
5774
5775 2008-06-01 Miles Bader <miles@gnu.org>
5776
5777 * xfaces.c (Vface_remapping_alist): New variable.
5778 (syms_of_xfaces): Initialize it.
5779 (enum named_merge_point_kind): New type.
5780 (struct named_merge_point): Add `named_merge_point_kind' field.
5781 (push_named_merge_point): Make cycle detection respect different
5782 named-merge-point kinds.
5783 (lface_from_face_name_no_resolve): Rename from `lface_from_face_name'.
5784 Remove face-name alias resolution.
5785 (lface_from_face_name): New definition using
5786 `lface_from_face_name_no_resolve'.
5787 (get_lface_attributes_no_remap): Rename from `get_lface_attributes'.
5788 Call lface_from_face_name_no_resolve instead of lface_from_face_name.
5789 (get_lface_attributes): New definition that layers face-remapping on
5790 top of get_lface_attributes_no_remap. New arg `named_merge_points'.
5791 (lookup_basic_face): New function.
5792 (lookup_derived_face): Pass new last arg to `get_lface_attributes'.
5793 (realize_named_face): Call `get_lface_attributes_no_remap' instead of
5794 `get_lface_attributes'.
5795 (face_at_buffer_position): Use `lookup_basic_face' to lookup
5796 DEFAULT_FACE_ID if necessary. When optimizing the default-face case,
5797 return default_face's face-id instead of the constant DEFAULT_FACE_ID.
5798
5799 * xdisp.c (init_iterator): Pass base_face_id through
5800 `lookup_basic_face' when we actually use it as a face-id.
5801 (handle_single_display_prop): Use `lookup_basic_face' to lookup
5802 DEFAULT_FACE_ID.
5803
5804 * fontset.c (Finternal_char_font): Use `lookup_basic_face' to
5805 lookup the initial face-id.
5806
5807 * dispextern.h (lookup_basic_face, Vface_remapping_alist): New decls.
5808
5809 2008-06-01 Juanma Barranquero <lekktu@gmail.com>
5810
5811 * textprop.c (syms_of_textprop) <text-property-default-nonsticky>:
5812 (Fremove_text_properties): Fix typos in docstrings.
5813
5814 2008-05-31 Kenichi Handa <handa@m17n.org>
5815
5816 * font.c (font_list_entities): Fix the car part of data to be
5817 stored in the cache.
5818
5819 * ftfont.c (ftfont_font_format): Don't use strcasestr.
5820
5821 2008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
5822
5823 * chartab.c (Foptimize_char_table, optimize_sub_char_table):
5824 Add a `test' argument so another predicate than `equal' can be used.
5825 (map_sub_char_table): Use `eq' rather than `equal' to merge ranges.
5826 (map_char_table): Remove unused vars `c' and `i'.
5827 * lisp.h (Foptimize_char_table): Adjust declaration.
5828 * charset.c (Fclear_charset_maps): Adjust call to Foptimize_char_table.
5829
5830 2008-05-30 Kenichi Handa <handa@m17n.org>
5831
5832 * font.c (Ffont_info): Define only if HAVE_WINDOW_SYSTEM is defined.
5833 (syms_of_font): Defsubr Sfont_info only if HAVE_WINDOW_SYSTEM is
5834 defined.
5835
5836 2008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
5837
5838 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
5839 (Fmake_variable_frame_local): Disallow mixing buffer-local and
5840 frame-local settings for the same variable.
5841
5842 2008-05-30 Kenichi Handa <handa@m17n.org>
5843
5844 * fontset.c (Ffont_info): Move to font.c.
5845 (syms_of_fontset): Delete defsubr of Sfont_info.
5846
5847 * font.c (font_style_to_value, font_score): Delete casting of the
5848 args to xstcasecmp.
5849 (register_font_driver): Increment num_font_drivers only when
5850 registering the driver globally.
5851 (Ffont_info): Move from fontset.c. Handle a font object too.
5852 (syms_of_font): Defsubr Sfont_info.
5853
5854 2008-05-29 Kenichi Handa <handa@m17n.org>
5855
5856 * coding.h (enum define_coding_utf8_arg_index): New enum.
5857 (enum coding_attr_index): Change coding_attr_utf_16_bom to
5858 coding_attr_utf_bom.
5859 (enum utf_bom_type): Rename from utf_16_bom_type.
5860 (struct utf_16_spec): Adjust for the above change.
5861 (struct coding_system): Add utf_8_bom in `spec' union.
5862
5863 * coding.c (CODING_UTF_8_BOM): New macro.
5864 (enum coding_category): Delete coding_category_utf_8, add
5865 coding_category_utf_8_auto, coding_category_utf_8_nosig, and
5866 coding_category_utf_8_sig.
5867 (CATEGORY_MASK_UTF_8): Delete it.
5868 (CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG)
5869 (CATEGORY_MASK_UTF_8_SIG): New macros.
5870 (CATEGORY_MASK_ANY): Delete CATEGORY_MASK_UTF_8, add
5871 CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG, and
5872 CATEGORY_MASK_UTF_8_SIG.
5873 (CATEGORY_MASK_UTF_8): New macro.
5874 (UTF_BOM, UTF_8_BOM_1, UTF_8_BOM_2, UTF_8_BOM_3): New macros.
5875 (detect_coding_utf_8): Check BOM.
5876 (decode_coding_utf_8, encode_coding_utf_8): Handle BOM.
5877 (decode_coding_utf_16): Adjust for the change of enum utf_bom_type.
5878 (encode_coding_utf_16): Likewise.
5879 (setup_coding_system): Likewise. Set CODING_UTF_8_BOM (coding).
5880 (detect_coding, detect_coding_system): Handle utf-8-auto.
5881 (Fdefine_coding_system_internal): Handle `bom' property for utf-8.
5882 (syms_of_coding): Fix setting up of Vcoding_category_table.
5883
5884 2008-05-29 Stefan Monnier <monnier@iro.umontreal.ca>
5885
5886 * process.c (Faccept_process_output): If `millisec' is non-nil,
5887 `seconds' default to 0.
5888 (wait_reading_process_output): Also return non-nil if we read output
5889 from a non-running process.
5890
5891 2008-05-29 Jason Rumney <jasonr@gnu.org>
5892
5893 * w32font.c (w32font_open_internal): Prefer truetype fonts unless
5894 `raster' specified.
5895 (add_font_entity_to_list): Allow non-opentype truetype fonts back
5896 in the uniscribe backend, but disallow any font that has no
5897 unicode subrange support.
5898
5899 2008-05-29 Juanma Barranquero <lekktu@gmail.com>
5900
5901 * xfaces.c (Fx_list_fonts, Finternal_copy_lisp_face):
5902 Fix typos in docstrings.
5903
5904 2008-05-29 Kenichi Handa <handa@m17n.org>
5905
5906 * xfaces.c (Fx_list_fonts): Make it return a list of font names.
5907 (Fx_family_fonts): Set frame correctly.
5908
5909 2008-05-28 Jason Rumney <jasonr@gnu.org>
5910
5911 * w32term.c (x_draw_glyph_string): Use clipmask if specified.
5912
5913 2008-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
5914
5915 * fileio.c (Fwrite_region): Delay the defaulting to beg&z to after
5916 calling build_annotations.
5917
5918 2008-05-28 Juanma Barranquero <lekktu@gmail.com>
5919
5920 * coding.c (Fdecode_coding_region, Fencode_coding_region)
5921 (Fencode_coding_string):
5922 (syms_of_coding) <coding-system-for-read, coding-system-for-write>:
5923 <latin-extra-code-table>: Fix typos in docstrings.
5924 (syms_of_coding) <coding-system-alist>: Doc fix.
5925 (syms_of_coding) <translation-table-for-input>: Reflow docstring.
5926
5927 2008-05-28 Kenichi Handa <handa@m17n.org>
5928
5929 * fontset.c (Ffont_info): Don't call font_close_object.
5930
5931 * font.c (font_parse_family_registry): Use Ffont_put to validate
5932 foundry and family.
5933 (font_delete_unmatched): Don't check spacing.
5934 (font_list_entities): Add spacing to the spec to list fonts.
5935
5936 * ftfont.c (ftfont_spec_pattern): Don't set FC_SPACING to pattern.
5937 (ftfont_list): Check spacing here. Don't include FC_CHARSET in objset.
5938
5939 * coding.c (encode_coding_raw_text): Fix previous change.
5940 (encode_coding_object): When the dst_object is a buffer and is
5941 different from src_object, move gap to PT.
5942
5943 2008-05-27 Chong Yidong <cyd@stupidchicken.com>
5944
5945 * xterm.c (x_draw_glyph_string): If a clipmask is specified, use it.
5946
5947 2008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
5948
5949 * coding.c (encode_coding_raw_text): Set coding->produced_char for
5950 all branches. Compute it differently.
5951
5952 * xdisp.c [!HAVE_WINDOW_SYSTEM]: Include font.h for --without-x.
5953
5954 2008-05-27 Juanma Barranquero <lekktu@gmail.com>
5955
5956 * w32font.c (compute_metrics): Rewrite an "else { if () ... else ... }"
5957 into "else if () ... else ...".
5958
5959 2008-05-27 Jason Rumney <jasonr@gnu.org>
5960
5961 * w32font.c (w32font_open_internal): Determine if glyph indices
5962 are likely to work here.
5963
5964 2008-05-27 Chong Yidong <cyd@stupidchicken.com>
5965
5966 * xdisp.c (draw_glyphs): If mouse-highlighting is on, attempt to
5967 draw overlap glyphs with appropriate highlighting.
5968
5969 2008-05-27 Kenichi Handa <handa@m17n.org>
5970
5971 * xfont.c (xfont_open): Fix calculation of font->average_width.
5972
5973 2008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
5974
5975 * casefiddle.c (casify_object): Try to guess better whether the
5976 argument is a byte or a char.
5977
5978 2008-05-26 Andreas Schwab <schwab@suse.de>
5979
5980 * xselect.c (x_reply_selection_request): Properly handle format == 32.
5981 Always send multiples of format size.
5982
5983 * xterm.c (x_set_frame_alpha): Fix type mismatch.
5984
5985 2008-05-26 Jason Rumney <jasonr@gnu.org>
5986
5987 * w32font.c (w32font_text_extents): Zero whole metrics struct first.
5988 (compute_metrics): Don't set failure if we just cleared the cache.
5989 (w32_weight_table): Remove unused variable.
5990 (w32_enumfont_pattern_entity): Use FONT_SPACING_CHARCELL for
5991 backwards compatibility.
5992
5993 2008-05-25 Kenichi Handa <handa@m17n.org>
5994
5995 * w32term.c (x_draw_glyph_string):
5996 * xterm.c (x_draw_glyph_string): Fix calculation of underline position.
5997
5998 * xfaces.c: Delete unused function prototypes.
5999 (xstrlwr, font_frame): Delete them.
6000 (clear_face_cache): Delete unused variable.
6001
6002 * xftfont.c (xftfont_open): Delete unused variable.
6003 If underline_thickness is not 1, adjust underline_position.
6004
6005 * ftxfont.c (ftxfont_open): Delete unused variable.
6006
6007 * fontset.c (face_for_char): Optimize for the case of no charset
6008 property.
6009
6010 * font.c (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE)
6011 (check_gstring, check_otf_features, otf_list, otf_tag_symbol)
6012 (otf_open, font_otf_capability, generate_otf_features)
6013 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
6014 Comment out by surrounding "#if 0" and "#endif" for the moment.
6015 (Ffont_drive_otf, Ffont_otf_alternates): Likewise.
6016 (syms_of_font): Codes for accessing above commented out.
6017
6018 2008-05-24 Eli Zaretskii <eliz@gnu.org>
6019
6020 * w32proc.c: Include dispextern.h.
6021
6022 * w32.c: Include dispextern.h.
6023
6024 2008-05-23 Juanma Barranquero <lekktu@gmail.com>
6025
6026 * charset.c (Fencode_char, Fsplit_char): Doc fixes.
6027 (Fget_unused_iso_final_char, Fdecode_char, Fiso_charset):
6028 Fix typos in docstrings.
6029
6030 2008-05-23 Jason Rumney <jasonr@gnu.org>
6031
6032 * xsmfns.c: Remove includes that are already included by config.h.
6033
6034 2008-05-23 Kenichi Handa <handa@m17n.org>
6035
6036 * charset.c (Qemacs, charset_emacs): New variables.
6037 (char_charset): Fix for non-Unicode characters.
6038 (syms_of_charset): Define charset_emacs.
6039
6040 * w32term.c (x_draw_glyph_string): Be sure to update
6041 s->underline_thickness and s->underline_position. Be sure to draw
6042 underline within the current line area.
6043
6044 * xterm.c (x_draw_glyph_string): Be sure to update
6045 s->underline_thickness and s->underline_position. Be sure to draw
6046 underline within the current line area.
6047
6048 * fontset.c: Delete unused variables and add casting for char *
6049 throughout the file.
6050 (fontset_font): Try the fallback fonts of the current fontset
6051 before consulting the default fontset.
6052
6053 * ftfont.c (ftfont_spec_pattern): Free charset if necessary.
6054
6055 * xfont.c (xfont_list_pattern): Free names returned from XListFonts.
6056
6057 2008-05-22 Jason Rumney <jasonr@gnu.org>
6058
6059 * font.c: Don't include strings.h.
6060
6061 * dispextern.h, xfaces.c (xstrcasecmp): Rename from xstricmp.
6062
6063 * dosfns.c, fileio.c, font.c, fontset.c, image.c, macfns.c:
6064 * macterm.c, process.c, w32.c, w32fns.c, w32proc.c, xfaces.c:
6065 * xfns.c, xfont.c: All callers of stricmp and strcasecmp changed
6066 to call xstrcasecmp.
6067
6068 * xfont.c (xfont_list_pattern, compare_font_names): Use xstrcasecmp.
6069
6070 * fontset.c (fs_query_fontset): Use xstrcasecmp.
6071
6072 * font.c (font_style_to_value, font_score): Use xstrcasecmp.
6073
6074 * dosfns.c (msdos_stdcolor_idx): Use xstrcasecmp.
6075
6076 2008-05-22 Kenichi Handa <handa@m17n.org>
6077
6078 * puresize.h (BASE_PURESIZE): Increase to 1220000.
6079
6080 * font.c (font_prop_validate_style): Adjust for the format
6081 change of font_style_table.
6082
6083 * w32font.c (w32font_open_internal): Call Ffont_xlfd_name with
6084 two args.
6085
6086 * xfaces.c (x_update_menu_appearance): Call Ffont_xlfd_name with
6087 two args.
6088
6089 2008-05-22 Stefan Monnier <monnier@iro.umontreal.ca>
6090
6091 * minibuf.c (keys_of_minibuf): Delete.
6092 * lisp.h (keys_of_minibuf): Delete.
6093 * emacs.c (main): Don't call keys_of_minibuf.
6094
6095 2008-05-22 Kenichi Handa <handa@m17n.org>
6096
6097 * ftfont.c (ftfont_resolve_generic_family): Rename from
6098 ftfont_list_generic_family. Return a single family for each
6099 generic family.
6100 (ftfont_spec_pattern): Add FC_FAMILY to pattern.
6101 (ftfont_list): Adjust for the change of ftfont_resolve_generic_family.
6102 Call font_add_log.
6103 (ftfont_match): Call font_add_log.
6104
6105 * font.h (Ffont_xlfd_name): EXFUN adjusted.
6106 (FONT_DEBUG): Define it.
6107 (font_add_log): Extern it.
6108 (font_assert): Rename from xassert.
6109
6110 * xfont.c (xfont_get_pcm): Change xassert to font_assert.
6111 (xfont_list_family): Call font_add_log.
6112 (xfont_match): Likewise.
6113 (memq_no_quit): Delete.
6114
6115 * fontset.c (fontset_from_font, Ffontset_info): Add the 2nd arg in
6116 call of Ffont_xlfd_name.
6117
6118 * xfaces.c (struct table_entry, slant_table, weight_table)
6119 (swidth_table): Move to font.c.
6120
6121 * font.c: Checking of FONT_DEBUG is moved to font.h. All calls of
6122 xassert are changed to font_assert. Delete many unused variables.
6123 (Vfont_weight_table, Vfont_slant_table, Vfont_width_table):
6124 New variables.
6125 (struct table_entry): Move from xfaces.c and modified.
6126 (weight_table, slant_table, width_table): Move from xfaces.c and
6127 contents adjusted for the change of struct table_entry.
6128 (font_style_to_value, font_style_symbolic): Adjust for the
6129 format change of font_style_table.
6130 (font_parse_family_registry): Don't overwrite existing foundry and
6131 family of font_spec.
6132 (font_score): Fix calculation of diff for sizes.
6133 (font_sort_entites): Call font_add_log.
6134 (font_delete_unmatched): Return a newly created list.
6135 (font_list_entities): Fix previous change. Call font_add_log.
6136 (font_matching_entity, font_open_entity, font_close_entity):
6137 Call font_add_log.
6138 (Ffont_xlfd_name): New arg FOLD-WILDCARDS.
6139 (Finternal_set_font_style_table): Delete.
6140 (BUILD_STYLE_TABLE): New macro.
6141 (build_style_table): New function.
6142 (Vfont_log, font_log_env_checked): New variables.
6143 (font_add_log): New function.
6144 (syms_of_font): Delete defsubr Sinternal_set_font_style_table.
6145 Declare Lisp variables "font-weight-table", "font-slant-table",
6146 "font-width-table", and "font-log". Initialize font_style_table.
6147
6148 2008-05-21 Dan Nicolaescu <dann@ics.uci.edu>
6149
6150 * xterm.c (x_set_frame_alpha): Move declarations before statements.
6151
6152 2008-05-21 Seiji Zenitani <zenitani@mac.com>
6153 Ryo Yoshitake <ryo@shiftmode.net>
6154
6155 * frame.c (Qalpha): Add a new frame parameter `alpha'.
6156 (Vframe_alpha_lower_limit): New variable.
6157 (x_set_alpha): New function.
6158
6159 * frame.h (Qalpha, Vframe_parameter_lower_limit): Export them.
6160
6161 * xfns.c (x-create-frame, Qalpha):
6162 Initialize the frame parameter `alpha'.
6163 * xterm.c (OPAQUE, OPACITY): New.
6164 (x_set_frame_alpha): New function.
6165 (frame_highlight, frame_unhighlight): Call x_set_frame_alpha.
6166
6167 * macfns.c (mac_frame_parm_handlers): A null handler for x_set_alpha.
6168 * w32fns.c (w32_frame_parm_handlers): Likewise.
6169
6170 2008-05-20 Jason Rumney <jasonr@gnu.org>
6171
6172 * w32font.c (add_font_entity_to_list): Don't add non-opentype
6173 truetype fonts to opentype list.
6174
6175 2008-05-20 Juanma Barranquero <lekktu@gmail.com>
6176
6177 * fontset.c (Ffontset_info): Doc fix.
6178 (syms_of_fontset) <font-encoding-charset-alist, use-default-ascent>:
6179 <ignore-relative-composition>: Fix typos in docstrings.
6180
6181 * font.c (syms-of-font) <font-encoding-alist>:
6182 (Ffontp, Ffont_make_gstring): Fix typos in docstrings.
6183 (Flist_fonts, Ffont_family_list, Ffont_fill_gstring, Fquery_font)
6184 (Ffont_otf_alternates): Doc fixes.
6185
6186 2008-05-20 Kenichi Handa <handa@m17n.org>
6187
6188 * Makefile.in (FONTSRC): Delete it. Change all $(FONTSRC) to
6189 font.h through out the file.
6190 (FONT_DRIVERS): Rename from FONTOBJ.
6191 (obj): Change $(FONTOBJ) to $(FONT_DRIVERS). Add font.o.
6192 (SOME_MACHINE_OBJECTS): Change $(FONTOBJ) to $(FONT_DRIVERS).
6193
6194 * emacs.c (main): Call syms_of_font unconditionally.
6195
6196 * font.h (find_font_encoding): Extern it.
6197
6198 * font.c (Vfont_encoding_alist, find_font_encoding): Move from
6199 fontset.c.
6200 (font_pixel_size)[! HAVE_WINDOW_SYSTEM]: Return 1.
6201 (font_open_entity): Update FRAME_X_DISPLAY_INFO (f)->n_fonts,
6202 FRAME_SMALLEST_CHAR_WIDTH (f), and FRAME_SMALLEST_FONT_HEIGHT (f)
6203 only when HAVE_WINDOW_SYSTEM is defined.
6204 (font_close_object): Update FRAME_X_DISPLAY_INFO (f)->n_fonts only
6205 when HAVE_WINDOW_SYSTEM is defined.
6206
6207 * fontset.c (Vfont_encoding_alist, find_font_encoding): Move to font.c.
6208 (syms_of_fontset): Move declaration of font-encoding-alist to font.c.
6209
6210 * xfaces.c: Include font.h unconditionally.
6211 (merge_face_ref, merge_face_vectors)
6212 (Finternal_set_lisp_face_attribute): Cancel the previous change.
6213
6214 2008-05-20 Stefan Monnier <monnier@iro.umontreal.ca>
6215
6216 * xdisp.c (select_frame_for_redisplay): Adjust for last change to
6217 indirect_variable.
6218 * eval.c (lisp_indirect_variable): New fun.
6219 (Fuser_variable_p): Use it.
6220
6221 2008-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
6222
6223 * lisp.h (indirect_variable):
6224 * data.c (indirect_variable, let_shadows_buffer_binding_p):
6225 Use Lisp_Symbol pointers rather than Lisp_Object.
6226 Adjust callers.
6227 * buffer.c (buffer_slot_type_mismatch): Use wrong-type-argument.
6228 To this end, change calling-convention.
6229
6230 * minibuf.c (Finternal_complete_buffer): Only strip out hidden buffers
6231 if some non-hidden buffers are selected by string&pred.
6232
6233 2008-05-19 Chong Yidong <cyd@stupidchicken.com>
6234
6235 * process.c (wait_reading_process_output): Always check status
6236 when in batch mode.
6237
6238 2008-05-19 Kenichi Handa <handa@m17n.org>
6239
6240 * font.c (font_list_entities): Fix handling of cache.
6241 (font_matching_entity): Likewise.
6242
6243 * ftfont.c (cs_iso8859_1): Delete.
6244 (ft_face_cache): New variable.
6245 (struct ftfont_info): New member fc_charset_idx.
6246 (ftfont_build_basic_charsets): Delete.
6247 (fc_charset_table): New variable.
6248 (ftfont_pattern_entity): New arg fc_charset_idx. Store (FILENAME
6249 . FC_CHARSET_IDX) as :font-entity property in the font entity.
6250 Callers changed.
6251 (ftfont_lookup_cache, ftfont_get_charset): New functions.
6252 (ftfont_spec_pattern): New argument fc_charset_idx.
6253 Check registry more rigidly. Change callers.
6254 (ftfont_open, ftfont_close, ftfont_has_char): Adjust for the
6255 change of :font-entity property of the font.
6256
6257 * xftfont.c (xftfont_open): Adjust for the change of :font-entity
6258 property of the font.
6259
6260 2008-05-18 Juanma Barranquero <lekktu@gmail.com>
6261
6262 * coding.c (Fcoding_system_p): Rename argument to match docstring.
6263 (Funencodable_char_position, Fcheck_coding_systems_region)
6264 (Fdecode_coding_string, Fencode_coding_string): Fix typos in docstrings.
6265 (Fdetect_coding_region, Fdetect_coding_string, Fencode_coding_region)
6266 (Ffind_operation_coding_system, Fset_coding_system_priority)
6267 (Fcoding_system_eol_type): Doc fixes.
6268
6269 2008-05-17 Glenn Morris <rgm@gnu.org>
6270
6271 * sysdep.c (child_setup_tty): Handle systems with NLDLY, without FFDLY.
6272
6273 2008-05-16 Eli Zaretskii <eliz@gnu.org>
6274
6275 * dired.c (Ffile_attributes): Shut up GCC warnings about st_uid
6276 and st_gid.
6277
6278 * frame.c (Fdelete_frame): Don't call font_update_drivers if
6279 HAVE_WINDOW_SYSTEM is not defined.
6280
6281 * xfaces.c (merge_face_ref, merge_face_vectors)
6282 (Finternal_set_lisp_face_attribute): Use FONT_*_INDEX only when
6283 HAVE_WINDOW_SYSTEM is defined.
6284 (Fface_font): Fix non-HAVE_WINDOW_SYSTEM case.
6285
6286 2008-05-16 Stefan Monnier <monnier@iro.umontreal.ca>
6287
6288 * keyboard.c (parse_menu_item): Do not cache key shortcut any more.
6289
6290 2008-05-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6291
6292 * macterm.c (x_draw_relief_rect): Remove unused variable `dpy'.
6293
6294 2008-05-15 Kenichi Handa <handa@m17n.org>
6295
6296 * font.c (font_find_for_lface): Reflect LFACE_FONT in the font
6297 preference.
6298
6299 2008-05-15 Glenn Morris <rgm@gnu.org>
6300
6301 * emacs.c (USAGE1, standard_args): Remove -disable-font-backend.
6302
6303 2008-05-15 Chong Yidong <cyd@stupidchicken.com>
6304
6305 * fns.c (init_fns): Don't initialize weak_hash_tables here.
6306 (init_weak_hash_tables): New fun. Initialize weak_hash_tables.
6307
6308 * alloc.c (init_alloc_once): Call init_weak_hash_tables.
6309
6310 2008-05-15 Kenichi Handa <handa@m17n.org>
6311
6312 * ftfont.c (ftfont_list): Downcase family name to check generic
6313 families.
6314
6315 * xfaces.c (Finternal_set_lisp_face_attribute): Be sure to make a
6316 font-spec for QCfont value.
6317
6318 * fontset.c (Fnew_fontset): Call font_unparse_xlfd with 256-byte
6319 buffer. Check the return value of it.
6320
6321 2008-05-14 Jason Rumney <jasonr@gnu.org>
6322
6323 * w32term.c (w32_get_glyph_overhangs): Remove.
6324 (w32_redisplay_interface): Use x_get_glyph_overhangs instead.
6325
6326 2008-05-14 Kenichi Handa <handa@m17n.org>
6327
6328 * font.c (font_prop_validate): Make nil a valid value.
6329 (font_clear_cache): Check if the cached vector of entities is nil
6330 or not.
6331
6332 2008-05-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6333
6334 * emacs.c (main_thread): Conditionalize on
6335 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
6336 (main) [FORWARD_SIGNAL_TO_MAIN_THREAD]: Initialize it.
6337
6338 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): New define.
6339 (main_thread, SIGNAL_THREAD_CHECK): Conditionalize on
6340 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
6341
6342 2008-05-14 Kenichi Handa <handa@m17n.org>
6343
6344 * coding.c (detect_coding_iso_2022): Ignore a coding category that
6345 has no corresponding coding system.
6346
6347 2008-05-14 Jason Rumney <jasonr@gnu.org>
6348
6349 * font.h (struct font) [WINDOWSNT]: Remove codepage member.
6350
6351 * w32font.h (w32font_open_internal): Update declaration.
6352
6353 * w32font.c (w32font_open_internal): Change last argument from
6354 w32font_info struct to font object. Fill in font object from
6355 font_entity. Get Outline metrics if possible. Use them to
6356 calculate underline position and thickness. Use xlfd name as name
6357 property. Don't set codepage.
6358 (w32font_open): Pass font_object to w32font_open_internal. Don't
6359 update dpyinfo->smallest_font_height and dpyinfo->smallest_char_width.
6360 (w32font_draw): Use s->font.
6361 (clear_cached_metrics): Don't clear non-existent blocks.
6362
6363 * w32term.c (w32_compute_glyph_string_overhangs): Don't compute if
6364 font was not found.
6365 (x_draw_glyph_string): Use underline position and thickness from font.
6366
6367 * w32uniscribe.c (uniscribe_open): Pass font_object to
6368 w32font_open_internal.
6369
6370 2008-05-14 Kenichi Handa <handa@m17n.org>
6371
6372 These changes are to delete all legacy font-handling codes, and
6373 make Emacs use only font-backends.
6374
6375 * Makefile.in: Delete USE_FONT_BACKEND conditionals.
6376 (frame.o, image.o, print.o): Depend on $(FONTSRC).
6377
6378 * makefile.w32-in (WIN32OBJ): Add w32reg.$(O), remove w32bdf.$(O).
6379
6380 * charset.h (Vcharset_non_preferred_head)
6381 (Vcurrent_iso639_language): Extern them.
6382
6383 * charset.c (Vcharset_non_preferred_head): New variable.
6384 (Vcurrent_iso639_language): New variable.
6385 (syms_of_charset): Declare it as a Lisp variable.
6386 (char_charset): Don't check non preferred charsets. As a last
6387 resort, return charset_unicode.
6388 (Fset_charset_priority): Update Vcharset_non_preferred_head.
6389
6390 * composite.c: Throughout the file, delete all USE_FONT_BACKEND
6391 conditionals. Don't check enable_font_backend. Delete all codes
6392 used only when USE_FONT_BACKEND is not defined.
6393
6394 * dispextern.h (struct glyph_string): Change type of `font' to
6395 `struct font *'.
6396 (struct glyph_string): New member underline_position and
6397 underline_thickness.
6398 (enum lface_attribute_index): Remove LFACE_AVGWIDTH_INDEX.
6399 (struct face): Change type of `font' to `struct font *'. Remove
6400 members `font_name', `font_info_id'.
6401 (per_char_metric, encode_char): Delete externs.
6402 (calc_pixel_width_or_height): Adjust the prototype.
6403
6404 * emacs.c (enable_font_backend): Delete extern.
6405 (main): Don't set enable_font_backend. Don't check the command
6406 line argument "-disable-font-backend".
6407
6408 * font.h (Qfont_spec, Qfont_entity, Qfont_object): Extern them.
6409 (enum font_property_index): New members FONT_DPI_INDEX,
6410 FONT_SPACING_INDEX, FONT_AVGWIDTH_INDEX, FONT_NAME_INDEX,
6411 FONT_FULLNAME_INDEX, FONT_FILE_INDEX, FONT_FORMAT_INDEX,
6412 FONT_OBJECT_MAX. Delete FONT_FRAME_INDEX.
6413 (FONT_WEIGHT_NUMERIC, FONT_SLANT_NUMERIC, FONT_WIDTH_NUMERIC)
6414 (FONT_WEIGHT_SYMBOLIC, FONT_SLANT_SYMBOLIC, FONT_WIDTH_SYMBOLIC)
6415 (FONT_WEIGHT_FOR_FACE, FONT_SLANT_FOR_FACE, FONT_WIDTH_FOR_FACE)
6416 (FONT_WEIGHT_NAME_NUMERIC, FONT_SLANT_NAME_NUMERIC)
6417 (FONT_WIDTH_NAME_NUMERIC, FONT_SET_STYLE): New macros.
6418 (struct font_spec, struct font_entity): New structs.
6419 (FONT_ENCODING_NOT_DECIDED): Moved from fontset.h.
6420 (struct font): Many members from old "struct font_info" moved to
6421 here. Members font and entity deleted.
6422 (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P, FONTP): Modified for
6423 the new font-related objects.
6424 (CHECK_FONT_SPEC, CHECK_FONT_ENTITY, CHECK_FONT_OBJECT)
6425 (CHECK_FONT_GET_OBJECT): Likewise.
6426 (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT, XSETFONT): New macros.
6427 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved from font.h.
6428 (struct font_driver): New members case_sensitive anc check. Type
6429 of the member list and open changed.
6430 (enable_font_backend, font_symbolic_weight, font_symbolic_slant)
6431 (font_symbolic_width, font_find_object, font_get_spec)
6432 (font_set_lface_from_name): Delete extern.
6433 (Fcopy_font_spec, Fmerge_font_spec, Ffont_family_list): New EXFUNs.
6434
6435 * font.c: Include <strings.h>.
6436 (enable_font_backend): Delete it.
6437 (Qfont_spec, Qfont_entity, Qfont_object): New variables.
6438 (CHECK_VALIDATE_FONT_SPEC): Delete it.
6439 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved to font.h.
6440 (null_string): Delete it.
6441 (null_vector): Make it static.
6442 (font_family_alist): Delete it.
6443 (Qnormal): Extern it.
6444 (QCextra, QClanguage): Delete it.
6445 (QClang, QCavgwidth, QCfont_entity, QCfc_unknown_spec): New variables.
6446 (font_make_spec, font_make_entity, font_make_object)
6447 (font_intern_prop): Renamed from intern_downcase. Don't downcase
6448 the string. Callers changed.
6449 (font_pixel_size): Adjusted for the format change of font-related
6450 objects.
6451 (prop_name_to_numeric, prop_numeric_to_name): Delete them.
6452 (font_style_to_value, font_style_symbolic): New function.
6453 (build_font_family_alist): Delete it.
6454 (font_registry_charsets): Use Fassoc_string instead of
6455 assq_no_quit.
6456 (font_prop_validate_symbol): Don't return null_string.
6457 (font_prop_validate_style): Adjusted for the change of
6458 style-related values in a font vector.
6459 (font_property_table): Delete entries for QClanguage and
6460 QCantialias, add entries for QCavgwidth.
6461 (get_font_prop_index): Delete the 2nd argument FROM.
6462 (font_prop_validate): Arguments changed.
6463 (font_put_extra): Adjusted for the change of font-related objects.
6464 (font_expand_wildcards, font_parse_xlfd, font_unparse_xlfd)
6465 (font_parse_fcname, font_unparse_fcname)
6466 (font_prepare_composition): Likewise.
6467 (font_parse_family_registry): Renamed from font_merge_old_spec.
6468 (otf_open): Delete the 1st arg entity.
6469 (font_otf_capability): Adjusted for the above change.
6470 (font_score): New arg alternate_families. Adjusted for the change
6471 of font-related objects.
6472 (font_sort_entites): New arg best_only.
6473 (font_symbolic_weight, font_symbolic_slant, font_symbolic_width):
6474 Delete them.
6475 (font_match_p): Check alternate families.
6476 (font_find_object): Delete it.
6477 (font_check_object): New function.
6478 (font_clear_cache): Adjusted for the change of font-related objects.
6479 (font_delete_unmatched): New arg.
6480 (font_list_entities): Call font_driver->list with a spec that
6481 doesn't specify style-related properties.
6482 (font_matching_entity): Arguments changed. Caller changed.
6483 (font_open_entity): Adjusted for the change of font-related objects.
6484 (font_close_object, font_has_char, font_encode_char)
6485 (font_get_name, font_get_spec): Likewise.
6486 (font_spec_from_name, font_clear_prop, font_update_lface):
6487 New functions.
6488 (font_find_for_lface, font_open_for_lface, font_load_for_lface)
6489 (font_prepare_for_face, font_done_for_face, font_open_by_name)
6490 (font_at): Adjusted for the change of font-related objects.
6491 (font_range): New function.
6492 (Ffontp, Ffont_spec, Ffont_get, Ffont_put, Flist_fonts)
6493 (Ffont_xlfd_name): Adjusted for the change of font-related objects.
6494 (Fcopy_font_spec, Fmerge_font_spec): New function.
6495 (Ffont_family_list): Renamed from list-families.
6496 (Finternal_set_font_style_table): Arguments changed.
6497 (Ffont_fill_gstring, Ffont_shape_text, Fopen_font)
6498 (Ffont_drive_otf, Fquery_font, Ffont_match_p): Adjusted for the
6499 change of font-related objects.
6500 (syms_of_font): Delete "ifdef USE_FONT_BACKEND". DEFSYM new symbols.
6501
6502 * fontset.h (struct font_info): Delete it. Most members go to
6503 struct font.
6504 (FONT_ENCODING_NOT_DECIDED): Moved to font.h.
6505 (enum FONT_SPEC_INDEX): Delete it.
6506 (font_info, list_fonts_func, load_font_func, query_font_func)
6507 (set_frame_fontset_func, find_ccl_program_func)
6508 (get_font_repertory_func, new_fontset_from_font_name): Delete
6509 externs.
6510 (fontset_from_font_name): Extern it.
6511 (FS_LOAD_FONT, FONT_INFO_ID, FONT_INFO_FROM_ID)
6512 (FONT_INFO_FROM_FACE): Deleted.
6513 (face_for_font): Adjust prototype.
6514
6515 * fontset.c: Throughout the file, delete all USE_FONT_BACKEND
6516 conditionals. Don't check enable_font_backend. Delete all codes
6517 used only when USE_FONT_BACKEND is not defined.
6518 (get_font_info_func, list_font_func, load_font_func)
6519 (query_font_func, set_frame_fontset_func, find_ccl_program_func)
6520 (get_font_repertory_func): Delete them.
6521 (FONTSET_SPEC, FONT_DEF_NEW, FONT_DEF_SPEC, FONT_DEF_ENCODING)
6522 (FONT_DEF_REPERTORY, RFONT_DEF_FACE, RFONT_DEF_SET_FACE)
6523 (RFONT_DEF_FONT_DEF, RFONT_DEF_SPEC, RFONT_DEF_REPERTORY)
6524 (RFONT_DEF_OBJECT, RFONT_DEF_SET_OBJECT, RFONT_DEF_SCORE)
6525 (RFONT_DEF_SET_SCORE, RFONT_DEF_NEW): New macros.
6526 (fontset_compare_rfontdef): New function.
6527 (reorder_font_vector): Remove the argument CHARSET-ID. Sort
6528 rfont-defs by qsort. Adjusted for the change of font-group vector.
6529 (load_font_get_repertory): Deleted.
6530 (fontset_find_font): Use new macros to ref/set elements of
6531 font-def and rfont-def.
6532 (fontset_font): Fix the timing of remembering that no font for C.
6533 (free_face_fontset): Do nothing if the face has no fontset.
6534 (face_suitable_for_char_p): Use new macros to ref/set elements of
6535 rfont-def.
6536 (face_for_char): Likewise. Call face_for_char with font_object.
6537 (fs_load_font): Delete. Delete #pragma surrounding it.
6538 (fs_query_fontset): Use strcasecmp instead of strcmp.
6539 (generate_ascii_font_name): Adjusted for the format change of
6540 font-spec.
6541 (Fset_fontset_font): Likewise. Use new macros to set elements of
6542 font-def.
6543 (Fnew_fontset): Use font_unparse_xlfd to generate
6544 FONTSET_ASCII (fontset).
6545 (new_fontset_from_font_name): Deleted.
6546 (fontset_from_font): Renamed from new_fontset_from_font. Check if
6547 a fontset is already created for the font. FIx updating of
6548 Vfontset_alias_alist.
6549 (fontset_ascii_font): Deleted.
6550 (Ffont_info): Adjusted for the format change of font-spec.
6551 (Finternal_char_font): Likewise.
6552 (Ffontset_info): Likewise.
6553 (syms_of_fontset): Don't check load_font_func.
6554
6555 * fns.c (internal_equal): Handle PREV_FONT.
6556
6557 * frame.h: Delete USE_FONT_BACKEND conditional.
6558
6559 * frame.c: Throughout the file, delete all USE_FONT_BACKEND
6560 conditionals. Don't check enable_font_backend. Delete all codes
6561 used only when USE_FONT_BACKEND is not defined.
6562 (x_set_font): Call x_new_font, not x_new_fontset2.
6563 (x_set_font_backend): Use FRAME_FONT macro to check if a font is
6564 already set for the frame.
6565
6566 * ftfont.c (ftfont_pattern_entity): Argument FRAME removed. Make
6567 a font-entity by font_make_entity. Use font_intern_prop instead
6568 of intern_downcase. Use FONT_SET_STYLE to set a style-related
6569 font property. If a font is scalable, set avgwidth property to 0.
6570 Set font-entity property by font_put_extra.
6571 (ftfont_list_generic_family): Argument SPEC and REGISTRY removed.
6572 (ffont_driver): Adjusted for the change of struct font_driver.
6573 (ftfont_spec_pattern): New function.
6574 (ftfont_list): Return a list, not vector.
6575 (ftfont_match): Use ftfont_spec_pattern to get a pattern.
6576 (ftfont_list_family): Don't downcase names.
6577 (ftfont_free_entity): Deleted.
6578 (ftfont_open): Return a font-object. Adjusted for the change of
6579 struct font. Get underline_thickness and underline_position from
6580 font property. Don't update dpyinfo->smallest_font_height and
6581 dpyinfo->smallest_char_width.
6582 (ftfont_close): Don't free `struct font'.
6583 (ftfont_has_char): Adjusted for the format change of font-entity.
6584 (ftfont_encode_char, ftfont_text_extents): Likewise.
6585
6586 * ftxfont.c (ftxfont_list): Return a list, not vector.
6587 (ftxfont_open): Return a font-object. Adjusted for the change of
6588 struct font. Get underline_thickness and underline_position from
6589 font property. Don't update dpyinfo->smallest_font_height and
6590 dpyinfo->smallest_char_width.
6591 (ftxfont_close): Don't decrease FRAME_X_DISPLAY_INFO (f)->n_fonts.
6592 (ftxfont_draw): Adjusted for the change of struct font.
6593
6594 * image.c (image_ascent): Don't include "charset.h". Include
6595 "character.h" and "font.h".
6596
6597 * lisp.h (enum pvec_type): New member PREV_FONT.
6598 (Fassoc_string): EXFUN it.
6599
6600 * print.c: Include font.h.
6601 (print_object): Handle font-related objects.
6602
6603 * xdisp.c: Throughout the file, delete all USE_FONT_BACKEND
6604 conditionals. Don't check enable_font_backend. Delete all codes
6605 used only when USE_FONT_BACKEND is not defined.
6606 (handle_auto_composed_prop): Do nothing if it->f is not on a
6607 window system. Check how many following characters can be
6608 displayed by the same font.
6609 (calc_pixel_width_or_height): Type of the 4th arg is changed to
6610 'struct font *'.
6611 (get_char_face_and_encoding): Assign the whole encoding task to
6612 the `encode-char' method of a font driver.
6613 (fill_composite_glyph_string): Adjusted for the change of `struct
6614 face' and `struct glyph_string'.
6615 (fill_glyph_string): Likewise.
6616 (get_per_char_metric): Arguments changed.
6617 (x_get_glyph_overhangs): Adjusted for the change of `struct face'
6618 and `struct glyph_string'.
6619 (produce_stretch_glyph, calc_line_height_property)
6620 (x_produce_glyphs): Likewise.
6621
6622 * xfaces.c: Throughout the file, delete all USE_FONT_BACKEND
6623 conditionals. Don't check enable_font_backend. Delete all codes
6624 used only when USE_FONT_BACKEND is not defined. Use
6625 FONT_XXX_NAME_NUMERIC instead of face_numeric_xxx.
6626 (QCfoundry, QCadstyle, QCregistry, QCspacing, QCsize, QCavgwidth)
6627 (Qp): Extern them.
6628 (clear_font_table, load_face_font, xlfd_lookup_field_contents):
6629 Deleted.
6630 (struct font_name): Deleted.
6631 (xlfd_numeric_value, xlfd_symbolic_value): Deleted.
6632 (compare_fonts_by_sort_order): New function.
6633 (xlfd_numeric_slant, xlfd_symbolic_slant, xlfd_numeric_weight)
6634 (xlfd_symbolic_weight, xlfd_numeric_swidth, xlfd_symbolic_swidth):
6635 Deleted.
6636 (Fx_family_fonts): Use font_list_entities, and sort fonts by
6637 compare_fonts_by_sort_order.
6638 (Fx_font_family_list): Call Ffont_family_list.
6639 (face_numeric_value, face_numeric_weight, face_numeric_slant)
6640 (face_numeric_swidth, face_symbolic_value, face_symbolic_weight)
6641 (face_symbolic_slant, face_symbolic_swidth)
6642 (split_font_name_into_vector, build_font_name_from_vector)
6643 (xlfd_fixed_p, xlfd_point_size, pixel_point_size)
6644 (font_rescale_ratio, split_font_name, build_font_name)
6645 (free_font_names, sort_fonts, x_face_list_fonts)
6646 (face_font_available_p, sorted_font_list, cmp_font_names)
6647 (font_list_1, concat_font_list, font_list, remove_duplicates):
6648 Deleted.
6649 (Fx_list_fonts): Use Ffont_list.
6650 (LFACE_AVGWIDTH): Deleted.
6651 (check_lface_attrs): Don't check LFACE_AVGWIDTH. Check LFACE_FONT
6652 by FONTP.
6653 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
6654 (set_lface_from_font_name): Delete it.
6655 (set_lface_from_font): Renamed from
6656 set_lface_from_font_and_fontset. Caller changed. Don't set
6657 LFACE_AVGWIDTH. Use FONT_XXX_FOR_FACE to get a symbol suitable
6658 for face.
6659 (merge_face_vectors): Copy font-spec if necessary.
6660 Clear properties of the font-spec if necessary.
6661 (merge_face_ref): Clear properties of the font-spec if necessary.
6662 (Finternal_set_lisp_face_attribute): Likewise.
6663 (set_font_frame_param): Use font_load_for_lface to load a
6664 font-object, and call Fmodify_frame_parameters with it.
6665 (x_update_menu_appearance): Don't check LFACE_AVGWIDTH. Get XLFD
6666 font name by Ffont_xlfd_name.
6667 (Finternal_lisp_face_attribute_values): Don't check QCweight,
6668 QCslant, and QCwidth.
6669 (Fface_font): Get a font name from font->props[FONT_NAME_INDEX].
6670 (lface_same_font_attributes_p): Don't check LFACE_AVGWIDTH.
6671 Compare fonts by EQ.
6672 (lookup_non_ascii_face): Deleted.
6673 (face_for_font): The 2nd argument changed.
6674 (x_supports_face_attributes_p): Don't check LFACE_AVGWIDTH.
6675 Check atomic font properties by case insensitive.
6676 (realize_non_ascii_face): Set face->overstrike correctly.
6677 (realize_x_face): Likewise. Check if LFACE_FONT is a font_object.
6678 (dump_realized_face): Get font name from
6679 font->props[FONT_NAME_INDEX]. Don't print font_info_id.
6680
6681 * xfns.c: Throughout the file, delete all USE_FONT_BACKEND
6682 conditionals. Don't check enable_font_backend. Delete all codes
6683 used only when USE_FONT_BACKEND is not defined.
6684 (xic_create_xfontset): Original code deleted and renamed from
6685 xic_create_xfontset2. Use FRAME_FONT, not FRAME_FONT_OBJECT.
6686 (x_make_gc): Don't set GCFont in GCs.
6687 (Fx_create_frame) [USE_LUCID]: Set xlwmenu_default_font to a font
6688 opened by "fixed".
6689 (syms_of_xfns): Don't set get_font_info_func, load_font_func,
6690 find_ccl_program_func, query_font_func, set_frame_fontset_func,
6691 get_font_repertory_func.
6692
6693 * xfont.c: Include <stdlib.h> and "ccl.h".
6694 (struct xfont_info): New structure.
6695 (xfont_query_font): Deleted.
6696 (xfont_find_ccl_program): Renamed from x_find_ccl_program and
6697 moved from xterm.c.
6698 (xfont_driver): Adjusted for the change of struct font_driver.
6699 (compare_font_names): New function.
6700 (xfont_list_pattern): Sort font names case insensitively. Make
6701 font_entity by calling font_make_entity. Avoid auto-scaled fonts.
6702 (xfont_list): Return a list, not vector.
6703 (xfont_match): If the font doesn't have QCname property, generate
6704 a name from the other font properties.
6705 (xfont_open): Return a font-object. Adjusted for the change of
6706 struct font. Get underline_thickness and underline_position from
6707 font property. Don't update dpyinfo->smallest_font_height and
6708 dpyinfo->smallest_char_width.
6709 (xfont_close): Don't free struct font.
6710 (xfont_prepare_face): Adjusted for the change of struct font.
6711 (xfont_done_face): Deleted.
6712 (xfont_has_char): Adjusted for the change of struct font.
6713 (xfont_encode_char, xfont_draw): Likewise.
6714 (xfont_check): New function.
6715
6716 * xftfont.c (xftfont_list): Adjusted for the change of `list'
6717 callback function.
6718 (xftfont_match): Adjusted for the format change of font-entity.
6719 (xftfont_open): Adjusted for the format change of font-entity and
6720 font-object. Adjusted for the change of struct font. Return a
6721 font-object. Don't update dpyinfo->smallest_font_height and
6722 dpyinfo->smallest_char_width.
6723 (xftfont_close): Block input while calling XftFontClose.
6724 (xftfont_prepare_face): Don't block input while calling
6725 xftfont_get_colors. Adjusted for the change of struct font.
6726 (xftfont_shape): Return value of error case fixed.
6727
6728 * xrdb.c (x_load_resources): Don't setup a fontset resource.
6729
6730 * xterm.h: Throughout the file, delete all USE_FONT_BACKEND
6731 conditionals.
6732 (FONT_WIDTH): Return (f)->max_width.
6733 (struct x_display_info): Delete member `font'.
6734 (x_list_fonts, x_get_font_info, x_load_font, x_query_font)
6735 (x_find_ccl_program, x_get_font_repertory): Delete externs.
6736 (struct x_output): Change type of `font' to `struct font *'.
6737
6738 * xterm.c: Throughout the file, delete all USE_FONT_BACKEND
6739 conditionals. Don't check enable_font_backend. Delete all codes
6740 used only when USE_FONT_BACKEND is not defined. Don't include ccl.h.
6741 (x_per_char_metric, x_encode_char): Deleted.
6742 (x_set_cursor_gc, x_set_mouse_face_gc): Don't set GCFont.
6743 (x_compute_glyph_string_overhangs): Adjusted for the change of
6744 `struct face'.
6745 (x_draw_glyph_string_foreground)
6746 (x_draw_composite_glyph_string_foreground): Likewise.
6747 (x_draw_glyph_string): Likewise. Use font->underline_position and
6748 font->underline_thickness.
6749 (x_new_font): Renamed from x_new_fontset2.
6750 (x_new_fontset, x_get_font_info, x_list_fonts): Deleted.
6751 (x_check_font): Call `check' method of a font driver.
6752 (x_font_min_bounds, x_compute_min_glyph_bounds, x_load_font)
6753 (x_query_font, x_get_font_repertory): Deleted.
6754 (x_find_ccl_program): Renamed and moved to xfont.c.
6755 (x_redisplay_interface): Adjusted for the change of `struct
6756 redisplay_interface'.
6757
6758 * w32fns.c: Throughout the file, delete all USE_FONT_BACKEND
6759 conditionals. Don't check enable_font_backend. Delete all codes
6760 used only when USE_FONT_BACKEND is not defined. Surround non-used
6761 code by "#ifdef OLD_FONT" and "endif".
6762 (Fw32_select_font): Use FONT_COMPAT to get old font structure.
6763
6764 * w32font.h (struct w32font_info): New member.
6765 (FONT_COMPAT): New macro.
6766 (w32font_open_internal): Prototype adjusted.
6767
6768 * w32gui.h (XGCValues): Surround `XFontStruct *font' by "if
6769 OLD_FONT" and "endif".
6770
6771 * w32font.c: Throughout the file, delete all USE_FONT_BACKEND
6772 conditionals. Don't check enable_font_backend. Delete all codes
6773 used only when USE_FONT_BACKEND is not defined.
6774 (w32font_open): Return a font-object. Make a font-object by
6775 font_make_object. Adjusted for the change of struct w32font_info.
6776 (w32font_close): Don't free struct font. Adjusted for the change
6777 of struct w32font_info.
6778 (w32font_encode_char, w32font_text_extents, w32font_draw):
6779 Adjusted for the change of struct w32font_info.
6780 (w32font_draw): Likewise.
6781 (w32font_list_internal): Return a list, not vector.
6782 (w32font_open_internal): Change the 4th arg to font-object.
6783 Adjusted for the change of struct w32font_info and font-object format.
6784 (add_font_name_to_list): Don't downcase names.
6785 (w32_enumfont_pattern_entity): Make a font-entity by
6786 font_make_entity. Adjusted for the format change of font-entity.
6787 Use FONT_SET_STYLE to set a style-related font property. If a
6788 font is scalable, set avgwidth property to 0. Set font-entity
6789 property by font_put_extra.
6790 (font_matches_spec): Adjusted for the format change of font-entity.
6791 (w32_weight_table, w32_decode_weight): New variables.
6792 (w32_encode_weight): New function.
6793 (fill_in_logfont): Adjusted for the format change of font-spec.
6794 (w32font_full_name): Use FONT_WEIGHT_SYMBOLIC to get a symbol
6795 weight value.
6796 (w32font_driver): Adjusted for the change of struct font_driver.
6797
6798 * w32term.h: Throughout the file, delete all USE_FONT_BACKEND
6799 conditionals. Don't check enable_font_backend. Surround non-used
6800 code by "#ifdef OLD_FONT" and "endif".
6801 (FONT_WIDTH, FONT_HEIGHT, FONT_BASE, FONT_DESCENT)
6802 (FONT_AVG_WIDTH): Adjusted for the change of struct font.
6803
6804 * w32term.c: Throughout the file, delete all USE_FONT_BACKEND
6805 conditionals. Don't check enable_font_backend. Delete all codes
6806 used only when USE_FONT_BACKEND is not defined. Surround non-used
6807 code by "#ifdef OLD_FONT" and "endif".
6808
6809 * w32uniscribe.c: Delete USE_FONT_BACKEND conditional.
6810 (uniscribe_open): Return value changed to font-object.
6811 Adjusted for the format change of font-object.
6812 (uniscribe_otf_capability): Adjusted for the change of struct font.
6813 (add_opentype_font_name_to_list): Don't downcase names.
6814 (uniscribe_font_driver): Adjusted for the change of struct
6815 font_driver.
6816
6817 2008-05-13 Chong Yidong <cyd@stupidchicken.com>
6818
6819 * dispnew.c (update_frame_1): Check if tty output is still valid
6820 before flushing it.
6821
6822 2008-05-13 Jan Djärv <jan.h.d@swipnet.se>
6823
6824 * xterm.c (handle_one_xevent): Don't pass buttons higher than 3
6825 to Gtk+ menus.
6826
6827 2008-05-13 Stefan Monnier <monnier@iro.umontreal.ca>
6828
6829 * dired.c (file_name_completion): Tweak the code so as to always do it
6830 in a single pass. Tighten the scope of some variables.
6831
6832 * dired.c (Qdefault_directory): New var.
6833 (file_name_completion): Use it instead of Fexpand_file_name.
6834 (syms_of_dired): Initialize it.
6835
6836 2008-05-12 Stefan Monnier <monnier@iro.umontreal.ca>
6837
6838 * fileio.c (double_dollars): Remove dead code.
6839
6840 2008-05-10 Eli Zaretskii <eliz@gnu.org>
6841
6842 * dired.c (Ffile_attributes, Fdirectory_files_and_attributes):
6843 Mention w32-get-true-file-attributes in doc string.
6844
6845 * w32proc.c (syms_of_ntproc) <w32-get-true-file-attributes>: Doc fix.
6846
6847 2008-05-09 Glenn Morris <rgm@gnu.org>
6848
6849 * fileio.c (Fread_file_name): Remove reference to insdef, deleted
6850 2008-04-23.
6851
6852 2008-05-09 Eli Zaretskii <eliz@gnu.org>
6853
6854 Support for reporting owner and group of each file on MS-Windows:
6855 * dired.c (stat_uname, stat_gname): New functions, with special
6856 implementation for w32.
6857 (Ffile_attributes): Use them instead of getpwuid and getgrgid.
6858
6859 * w32.c: Rename the_passwd_* to dflt_passwd_*.
6860 (dflt_group_name): New static variable.
6861 (dflt_group): Rename from the_group.
6862 (init_user_info): Init dflt_group fields. Get user's group name
6863 from LookupAccountSid.
6864 (g_b_init_get_file_security, g_b_init_get_security_descriptor_owner)
6865 (g_b_init_get_security_descriptor_group, g_b_init_is_valid_sid):
6866 New initialization states.
6867 (globals_of_w32): Initialize them to zero. Initialize the default
6868 group name to "None".
6869 (GetFileSecurity_Name): New global var, the name of the function
6870 to call for GetFileSecurity.
6871 (GetFileSecurity_Proc, GetSecurityDescriptorOwner_Proc)
6872 (GetSecurityDescriptorGroup_Proc, IsValidSid_Proc): New typedefs.
6873 (get_file_security, get_security_descriptor_owner)
6874 (get_security_descriptor_group, is_valid_sid)
6875 (get_file_security_desc, get_rid, get_name_and_id)
6876 (get_file_owner_and_group): New functions.
6877 (stat): Use get_file_security_desc and get_file_owner_and_group to
6878 report the owner and primary group of each file. Don't ignore the
6879 high 32 bits of file's size, now that st_size is 64-bit wide.
6880 Fix test when to get true file attributes.
6881 (init_user_info): Use get_rid instead of equivalent inline code.
6882 (fstat): Don't ignore the high 32 bits of file's size.
6883
6884 2008-05-09 Chong Yidong <cyd@stupidchicken.com>
6885
6886 * image.c (png_load): Use correct bit-depth for setting background
6887 color.
6888
6889 2008-05-08 Eli Zaretskii <eliz@gnu.org>
6890
6891 * Makefile.in (lisp, shortlisp): Rename epa-file-hook.elc to
6892 epa-hook.elc.
6893
6894 2008-05-08 Juanma Barranquero <lekktu@gmail.com>
6895
6896 * font.c (Ffont_match_p): Don't use `iff' in docstring.
6897
6898 2008-05-07 Dan Nicolaescu <dann@ics.uci.edu>
6899
6900 * macfns.c (Fx_create_frame): Make a copy of frame parameters
6901 because the original parameters are in pure storage now.
6902 (mac_window): Remove unused params. Update callers.
6903
6904 2008-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
6905
6906 * lread.c (substitute_object_recurse): Use lower-level primitives.
6907 Don't signal errors when traversing sub-char-tables.
6908 Don't loop over all the possible characters when traversing char-tables.
6909
6910 * print.c (print_preprocess): Add sub-char-tables to the print-table,
6911 just like we do in print.c.
6912
6913 2008-05-05 Stefan Monnier <monnier@iro.umontreal.ca>
6914
6915 * minibuf.c (Ftry_completion): Remove code left over from when we used
6916 scmp instead of Fcompare_strings.
6917
6918 2008-05-04 Juanma Barranquero <lekktu@gmail.com>
6919
6920 * w32fns.c (Fw32_battery_status): Fix computation of %t (h:min) format.
6921
6922 2008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6923
6924 * image.c [USE_MAC_IMAGE_IO] (image_load_image_io):
6925 Create bitmap context in native byte order.
6926
6927 * macterm.c (XDrawLine)
6928 (XCreatePixmapFromBitmapData) [USE_MAC_IMAGE_IO]: Create bitmap
6929 context in native byte order.
6930
6931 2008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6932
6933 * config.in: Regenerate.
6934
6935 * image.c (PIX_MASK_DRAW, PIX_MASK_RETAIN) [USE_MAC_IMAGE_IO]:
6936 New definitions for Image I/O support.
6937 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
6938 (mac_create_cg_image_from_image, x_create_x_image_and_pixmap)
6939 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
6940 (mac_data_provider_release_data, image_load_image_io)
6941 [USE_MAC_IMAGE_IO]: New functions.
6942 (CGImageCreateWithPNGDataProviderProcType) [MAC_OSX]: Remove typedef.
6943 (MyCGImageCreateWithPNGDataProvider) [MAC_OSX]: Remove variable.
6944 (init_image_func_pointer) [MAC_OSX]: Remove function.
6945 (image_load_quartz2d) [MAC_OSX]: Check availability of
6946 CGImageCreateWithPNGDataProvider at compile time.
6947 Use lowercase `false' for boolean constant.
6948 (png_load, jpeg_load, tiff_load, gif_load) [USE_MAC_IMAGE_IO]:
6949 Use image_load_image_io.
6950 (png_load) [!USE_MAC_IMAGE_IO && MAC_OSX]:
6951 Don't check MyCGImageCreateWithPNGDataProvider.
6952 (init_image) [MAC_OSX && TARGET_API_MAC_CARBON]:
6953 Don't call init_image_func_pointer.
6954
6955 * macgui.h (Pixmap) [USE_MAC_IMAGE_IO]: New definition for Image I/O.
6956
6957 * macterm.c (mac_cg_color_space_rgb) [USE_CG_DRAWING]:
6958 Make variable non-static.
6959 (XDrawLine, XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
6960 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
6961
6962 * macterm.h (ARGB_TO_ULONG, ALPHA_FROM_ULONG): New macros.
6963 (RED_FROM_ULONG): Mask off higher bits.
6964 (mac_cg_color_space_rgb) [USE_MAC_IMAGE_IO]: New extern.
6965
6966 * s/darwin.h [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
6967 Include AvailabilityMacros.h.
6968 (USE_MAC_IMAGE_IO, LIBS_IMAGE) [HAVE_CARBON]: New defines.
6969 (LIBS_CARBON) [HAVE_CARBON]: Use LIBS_IMAGE.
6970
6971 2008-05-03 Stefan Monnier <monnier@iro.umontreal.ca>
6972
6973 * chartab.c (Fset_char_table_range): If range is t, really set all
6974 chars to that value.
6975
6976 2008-05-03 Eli Zaretskii <eliz@gnu.org>
6977
6978 * dired.c (Ffile_attributes): Don't allow the device number become
6979 negative.
6980
6981 2008-05-02 Daiki Ueno <ueno@unixuser.org>
6982
6983 * Makefile.in (lisp, shortlisp): Add epa-file-hook.elc.
6984
6985 2008-05-02 Juri Linkov <juri@jurta.org>
6986
6987 * minibuf.c (Fread_from_minibuffer, Fread_string, Fread_command)
6988 (Fread_variable, Fread_buffer, Fcompleting_read): Document the
6989 DEFAULT argument as a list of default values in docstrings.
6990
6991 2008-05-01 Chong Yidong <cyd@stupidchicken.com>
6992
6993 * puresize.h (BASE_PURESIZE): Increase to 1210000.
6994
6995 2008-05-01 Martin Rudalics <rudalics@gmx.at>
6996
6997 * dispnew.c (change_frame_size_1): Preserve small windows when
6998 shrinking frames by calling set_window_height|width with third
6999 arg 2.
7000
7001 * window.h (struct window): Replace field too_small_ok by field
7002 resize_proportionally.
7003
7004 * window.c (make_window): Initialize resize_proportionally.
7005 (enlarge_window): Temporarily set resize_proportionally to make
7006 sure that shrink_windows does scale the window proportionally.
7007 (shrink_windows): When window has resize_proportionally set try
7008 to shrink it proportionally by stealing from other windows.
7009 (struct saved_window, Fset_window_configuration)
7010 (compare_window_configurations): Handle resize_proportionally.
7011 (WINDOW_TOTAL_SIZE): New macro.
7012 (window_min_size, shrink_windows, size_window): Use it.
7013 (check_min_window_sizes): Remove. Invalid values of
7014 window-min-height|width are handled by window_min_size_2 now.
7015 (size_window, Fsplit_window, enlarge_window)
7016 (adjust_window_trailing_edge, grow_mini_window): Don't call
7017 check_min_window_sizes.
7018 (window_min_size_2, window_min_size_1, window_min_size):
7019 New argument safe_p for retrieving "safe" minimum sizes.
7020 (Fdisplay_buffer, Fsplit_window, enlarge_window)
7021 (adjust_window_trailing_edge, grow_mini_window):
7022 Adjust arguments of window_min_size... functions.
7023 (shrink_windows): Argument min_size removed. New argument
7024 safe_p allows shrinking windows to their safe minimum sizes.
7025 Calculate minimum size and decide whether a window shall be
7026 deleted for each window individually.
7027 (size_window): When nodelete_p equals 2, tell shrink_windows to
7028 delete windows only if their new minimum size is no more safe.
7029 (shrink_window_lowest_first): Call window_min_size_1 to make
7030 sure to preserve modeline of bottom-most window when resizing
7031 the minibuffer.
7032 (Fset_window_configuration, Fcurrent_window_configuration)
7033 (compare_window_configurations): Do not handle
7034 window-min-height|width any more.
7035 (syms_of_window): Clarify window-min-height|width doc-strings.
7036
7037 2008-04-30 Stefan Monnier <monnier@iro.umontreal.ca>
7038
7039 * dired.c (file_name_completion): Fix up the encoding/decoding issue
7040 some more. Copy some of the code from Ftry_completions.
7041 Remove special case code that dates back to initial revision when the
7042 slash was only added when necessary and that can't trigger nowadays.
7043
7044 2008-04-27 Kenichi Handa <handa@m17n.org>
7045
7046 * font.c (font_prop_validate): Signal `error' instead of `font'.
7047
7048 2008-04-29 Jason Rumney <jasonr@gnu.org>
7049
7050 * w32fns.c (Fw32_battery_status): New defun.
7051 (syms_of_w32fns): Defsubr it.
7052
7053 2008-04-28 Andreas Schwab <schwab@suse.de>
7054
7055 * dired.c (file_name_completion): Fix another mixing of encoded
7056 and decoded names.
7057
7058 2008-04-28 Juanma Barranquero <lekktu@gmail.com>
7059
7060 * w32fns.c (Fw32_define_rgb_color): Fix typo in docstring.
7061
7062 2008-04-27 Juanma Barranquero <lekktu@gmail.com>
7063
7064 * fringe.c (Fdefine_fringe_bitmap): Doc fix.
7065
7066 2008-04-27 Andreas Schwab <schwab@suse.de>
7067
7068 * dired.c (file_name_completion): Fix inappropriate mixing of
7069 encoded and decoded names.
7070
7071 * xterm.c (XTread_socket): Fix use of uninitialized variable.
7072
7073 * puresize.h (BASE_PURESIZE): Increase to 1200000.
7074
7075 2008-04-26 Eli Zaretskii <eliz@gnu.org>
7076
7077 * dired.c (Ffile_attributes) [WINDOWSNT]: Undo change from
7078 2008-03-31, it's not needed anymore with `struct stat' definition
7079 on nt/inc/sys/stat.h. Undo changes from 2007-01-12 and 2007-01-13
7080 for the same reasons.
7081
7082 2008-04-25 Dennis Gilmore <ausil@fedoraproject.org> (tiny change)
7083
7084 * m/sparc.h: Additional redefinitions for GNU/Linux.
7085
7086 2008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7087
7088 * macterm.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
7089 (syms_of_macterm) [USE_MAC_TSM]: Defvar it.
7090 (Qmouse_drag_overlay) [MAC_OSX]: New variable.
7091 (syms_of_macterm) [MAC_OSX]: Intern and staticpro it.
7092 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
7093 (mac_ax_selected_text_range) [MAC_OSX]: New functions.
7094 (mac_ax_number_of_characters) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
7095 Likewise.
7096
7097 * mactoolbox.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: Add extern.
7098 (fast_find_position, x_y_to_hpos_vpos, mac_ax_selected_text_range)
7099 (mac_ax_number_of_characters): Add externs.
7100 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
7101 [USE_MAC_TSM]: Likewise.
7102 (mac_handle_text_input_event) [MAC_OSX]:
7103 Handle kEventTextInputOffsetToPos for no active input area case.
7104 Handle kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
7105 (mac_handle_document_access_event)
7106 [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: New function.
7107 (install_application_handler) [MAC_OSX]: Register handlers for
7108 kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
7109 (install_application_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
7110 Register mac_handle_document_access_event.
7111
7112 * xdisp.c (x_y_to_hpos_vpos, fast_find_position) [HAVE_CARBON]:
7113 Make functions non-static.
7114
7115 2008-04-23 Stefan Monnier <monnier@iro.umontreal.ca>
7116
7117 * fileio.c (Vread_file_name_function, Vread_file_name_predicate)
7118 (read_file_name_completion_ignore_case, insert_default_directory)
7119 (Qdefault_directory): Move to minibuffer.el.
7120 (Fread_file_name): Call the new `read-file-name' instead.
7121
7122 2008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7123
7124 * mac.c (create_apple_event) [TARGET_API_MAC_CARBON]:
7125 Make function non-static.
7126 (create_apple_event_from_event_ref) [TARGET_API_MAC_CARBON]:
7127 Remove function.
7128 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
7129 Move to mactoolbox.c.
7130 (mac_event_parameters_to_lisp) [TARGET_API_MAC_CARBON]: New function.
7131
7132 * macgui.h (CGFloat) [!CGFLOAT_DEFINED]: New typedef.
7133 (mac_rect_make): New macro.
7134
7135 * macterm.c (mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
7136 instead of float.
7137 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
7138 (init_cg_color, mac_draw_line, mac_draw_cg_image, XSetForeground)
7139 (XSetBackground) [USE_CG_DRAWING]: Likewise.
7140 (mac_draw_image_string_atsui) [MAC_OSX]: Use mac_rect_make instead of
7141 CGRectMake.
7142 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
7143 (mac_erase_rectangle, mac_draw_cg_image, mac_fill_rectangle)
7144 (mac_set_clip_rectangles) [USE_CG_DRAWING]: Likewise.
7145 (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
7146 instead of WindowRef in argument type.
7147 (XCreatePixmap) [!MAC_OS8]: Don't call SetPortWindowPort.
7148 (mac_invert_rectangle): Use CGContextSetBlendMode if available.
7149 (mac_set_clip_rectangles, mac_reset_clip_rectangles): Take argument F
7150 instead of DISPLAY. All uses changed.
7151 (mac_handle_size_change): Don't call SET_FRAME_GARBAGED.
7152 (x_calc_absolute_position): Simplify so as not to use
7153 FRAME_PIXEL_WIDTH/FRAME_PIXEL_HEIGHT.
7154
7155 * macterm.h (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
7156 instead of WindowRef in argument type.
7157 (create_apple_event_from_event_ref, create_apple_event_from_drag_ref)
7158 [TARGET_API_MAC_CARBON]: Remove externs.
7159 (create_apple_event, mac_event_parameters_to_lisp)
7160 [TARGET_API_MAC_CARBON]: Add externs.
7161
7162 * mactoolbox.c (Vmac_ts_script_language_on_focus)
7163 (saved_ts_script_language_on_focus) [USE_MAC_TSM]: Remove externs.
7164 (XTread_socket) [USE_MAC_TOOLBAR]: Select window if its structure part
7165 is clicked.
7166 (x_activate_menubar): Remove extern for saved_menu_event_location.
7167 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
7168 Move from mac.c.
7169
7170 2008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7171
7172 * alloc.c [!SYSTEM_MALLOC && !SYNC_INPUT] (uninterrupt_malloc)
7173 [HAVE_GTK_AND_PTHREAD && !DOUG_LEA_MALLOC]: Don't use recursive mutex.
7174
7175 2008-04-23 Jason Rumney <jasonr@gnu.org>
7176
7177 * w32.c (stat): When Vw32_get_true_file_attributes is Qlocal, get
7178 attributes only for local files.
7179
7180 * w32proc.c (syms_of_ntproc): Change Vw32_get_true_file attributes
7181 default to Qlocal.
7182
7183 2008-04-22 Juri Linkov <juri@jurta.org>
7184
7185 * buffer.c (Fswitch_to_buffer): Change interactive spec to call
7186 read-buffer-to-switch instead of using the letter "B".
7187
7188 2008-04-21 Stefan Monnier <monnier@iro.umontreal.ca>
7189
7190 * fileio.c (Qdefault_directory): New variable.
7191 (Fread_file_name): Use it to pass `dir' to the completion functions.
7192
7193 2008-04-20 Chong Yidong <cyd@stupidchicken.com>
7194
7195 * xdisp.c (pos_visible_p): Check if iterator stops on a display string.
7196
7197 2008-04-19 Stefan Monnier <monnier@iro.umontreal.ca>
7198
7199 * keyboard.c (Vpre_help_message): Remove.
7200 (show_help_echo): Remove default C code.
7201
7202 * dired.c (directory_files_internal, file_name_completion):
7203 Only call ENCODE_FILE if the string is indeed decoded.
7204
7205 2008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
7206
7207 * Makefile.in (TOOLKIT_DEFINES): Remove.
7208 (LIBW): Use a bit less #if, remove left over OPEN_LOOK stuff.
7209
7210 2008-04-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7211
7212 * Makefile.in (MAC_OBJ): Add mactoolbox.o.
7213 (mactoolbox.o): New target.
7214
7215 * mac.c [MAC_OSX] (select_and_poll_event, sys_select):
7216 Use mac_run_loop_run_once instead of CFRunLoopRunInMode.
7217
7218 * macfns.c (x_set_background_color, mac_window, x_create_tip_frame):
7219 Use mac_set_frame_window_background instead of XSetWindowBackground.
7220 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]:
7221 Use mac_is_window_toolbar_visible instead of IsWindowToolbarVisible.
7222 (x_set_name_internal) [TARGET_API_MAC_CARBON]: Use mac_set_window_title
7223 instead of SetWindowTitleWithCFString.
7224 (mac_update_proxy_icon) [TARGET_API_MAC_CARBON]: Remove BLOCK_INPUT.
7225 Move function to mactoolbox.c.
7226 (mac_update_title_bar) [TARGET_API_MAC_CARBON]:
7227 Use mac_set_window_modified instead of SetWindowModified.
7228 Add BLOCK_INPUT around mac_set_window_modified/mac_update_proxy_icon.
7229 (mac_window, x_create_tip_frame): Use mac_create_frame_window.
7230 (Fx_focus_frame): Use mac_front_non_floating_window instead of
7231 FrontNonFloatingWindow. Use mac_activate_window instead of
7232 ActivateWindow. Use mac_active_non_floating_window instead of
7233 ActiveNonFloatingWindow.
7234 (show_hourglass, hide_hourglass) [TARGET_API_MAC_CARBON]:
7235 Use mac_show_hourglass and mac_hide_hourglass.
7236 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use mac_get_global_mouse
7237 instead of GetGlobalMouse.
7238 (Fx_show_tip): Use mac_move_window/mac_size_window/mac_show_window
7239 instead of MoveWindow/SizeWindow/ShowWindow, respectively.
7240 Use mac_bring_window_to_front instead of BringToFront.
7241 (Qfile_name_history) [TARGET_API_MAC_CARBON]: Move extern to
7242 mactoolbox.c.
7243 (Fx_file_dialog) [TARGET_API_MAC_CARBON]: Move function body to
7244 mac_file_dialog in mactoolbox.c. Use mac_file_dialog.
7245 (mac_nav_event_callback) [TARGET_API_MAC_CARBON]: Move function to
7246 mactoolbox.c.
7247
7248 * macgui.h [!HAVE_CARBON]: Include Quickdraw.h instead of QuickDraw.h.
7249 (XtPointer): Move typedef from macmenu.c.
7250 (enum button_type): Move enum from macmenu.c.
7251 (widget_value): Move typedef from macmenu.c.
7252 (M_APPLE, I_ABOUT, EXTRA_STACK_ALLOC, ARGV_STRING_LIST_ID)
7253 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
7254 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
7255 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
7256 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
7257 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
7258 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
7259 (DIALOG_ICON_TOP_MARGIN): Move defines from macmenu.c.
7260 (Selection): Move typedef from macselect.c.
7261 (RAM_TOO_LARGE_ALERT_ID, ABOUT_ALERT_ID) [MAC_OS8]: Move defines from
7262 macterm.c.
7263 (mac_set_window_title, mac_set_window_modified, mac_is_window_visible)
7264 (mac_is_window_collapsed, mac_bring_window_to_front)
7265 (mac_send_window_behind, mac_hide_window, mac_show_window)
7266 (mac_collapse_window, mac_front_non_floating_window)
7267 (mac_active_non_floating_window, mac_activate_window)
7268 (mac_move_window_structure, mac_move_window, mac_size_window)
7269 (mac_get_global_mouse, mac_is_window_toolbar_visible): New defines.
7270
7271 * macmenu.c [!TARGET_API_MAC_CARBON]: Move includes to mactoolbox.c.
7272 (enum mac_menu_kind): Move enum to mactoolbox.c.
7273 (min_menu_id): Move variable to mactoolbox.c.
7274 (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]: Likewise.
7275 (DIALOG_WINDOW_RESOURCE): Move define to mactoolbox.c.
7276 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
7277 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
7278 [TARGET_API_MAC_CARBON]: Likewise.
7279 (XtPointer): Move typedef to macgui.h.
7280 (enum button_type): Move enum to macgui.h.
7281 (widget_value): Move typedef to macgui.h.
7282 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
7283 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
7284 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
7285 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
7286 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
7287 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
7288 (DIALOG_ICON_TOP_MARGIN): Move defines to macgui.h.
7289 (popup_activated_flag): Make variable non-static.
7290 (x_activate_menubar, install_menu_quit_handler, pop_down_menu)
7291 (add_menu_item, fill_menu, dispose_menus):
7292 Move functions to mactoolbox.c.
7293 (restore_show_help_function, menu_target_item_handler)
7294 (install_menu_target_item_handler, mac_handle_dialog_event)
7295 (install_dialog_event_handler, pop_down_dialog, create_and_show_dialog)
7296 [TARGET_API_MAC_CARBON]: Likewise.
7297 (menu_quit_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: Likewise.
7298 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
7299 (find_and_call_menu_selection, name_is_separator): Make function
7300 non-static.
7301 (Vshow_help_function, timer_check) [TARGET_API_MAC_CARBON]: Move extern
7302 to mactoolbox.c.
7303 (set_frame_menubar): Don't call install_menu_quit_handler.
7304 (menu_item_selection): New variable.
7305 (mac_menu_show): Use create_and_show_popup_menu.
7306 (create_and_show_dialog) [TARGET_API_MAC_CARBON]: Don't return
7307 selection but set variable menu_item_selection. All uses changed.
7308 (mac_fill_menubar): Rename from fill_menubar. All uses changed.
7309 Call install_menu_quit_handler. Move to mactoolbox.c.
7310
7311 * macselect.c [!TARGET_API_MAC_CARBON]: Don't include Scrap.h.
7312 (Selection): Move typedef to macgui.h.
7313 (Vselection_converter_alist, Qmac_scrap_name, Qmac_ostype)
7314 (Vmac_apple_event_map, Qmac_apple_event_class, Qmac_apple_event_id):
7315 Make variables non-static.
7316 (Vmac_dnd_known_types) [TARGET_API_MAC_CARBON]: Likewise.
7317 (mac_handle_apple_event, cleanup_all_suspended_apple_events):
7318 Make functions non-static.
7319 (Vmac_service_selection) [MAC_OSX]: Likewise.
7320 (mac_get_selection_from_symbol, get_flavor_type_from_symbol)
7321 (mac_valid_selection_target_p, mac_clear_selection)
7322 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
7323 (mac_put_selection_value, mac_selection_has_target_p)
7324 (mac_get_selection_value, mac_get_selection_target_list)
7325 (init_apple_event_handler, install_drag_handler, remove_drag_handler):
7326 Move functions to mactoolbox.c.
7327 (mac_do_track_drag, mac_do_receive_drag) [TARGET_API_MAC_CARBON]:
7328 Likewise.
7329 (copy_scrap_flavor_data, mac_handle_service_event)
7330 (install_service_handler) [MAC_OSX]: Likewise.
7331 (syms_of_macselect) <Vmac_dnd_known_types>:
7332 Use mac_dnd_default_known_types.
7333
7334 * macterm.h (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y):
7335 Move to mactoolbox.c.
7336 (HOURGLASS_WIDTH, HOURGLASS_HEIGHT): Change to 15.
7337 (Fx_selection_owner_p): Add EXFUN.
7338 (install_window_handler, remove_window_handler, XSetWindowBackground):
7339 Remove externs.
7340 (do_apple_menu) [!TARGET_API_MAC_CARBON]: Likewise.
7341 (mac_prepare_for_quickdraw) [USE_CG_DRAWING]: Likewise.
7342 (x_raise_frame, x_lower_frame, mac_alert_sound_play)
7343 (install_application_handler, mac_get_frame_bounds, mac_get_frame_mouse)
7344 (mac_convert_frame_point_to_global, mac_set_frame_window_background)
7345 (mac_update_begin mac_update_end, mac_frame_up_to_date, x_flush)
7346 (mac_create_frame_window, mac_dispose_frame_window, mac_begin_clip)
7347 (mac_end_clip, mac_create_scroll_bar, mac_dispose_scroll_bar)
7348 (mac_set_scroll_bar_bounds, mac_redraw_scroll_bar, mac_fill_menubar)
7349 (create_and_show_popup_menu, mac_get_selection_from_symbol)
7350 (mac_valid_selection_target_p, mac_clear_selection)
7351 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
7352 (mac_put_selection_value, mac_selection_has_target_p)
7353 (mac_get_selection_value, mac_get_selection_target_list): Add externs.
7354 (mac_update_proxy_icon, mac_show_hourglass, mac_hide_hourglass)
7355 (mac_reposition_hourglass, mac_file_dialog, create_and_show_dialog)
7356 (mac_dnd_default_known_types) [TARGET_API_MAC_CARBON]: Likewise.
7357 (mac_run_loop_run_once) [MAC_OSX]: Likewise.
7358 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
7359 (mac_begin_cg_clip, mac_end_cg_clip) [USE_CG_DRAWING]: Likewise.
7360 (x_set_toolkit_scroll_bar_thumb) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
7361 (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
7362
7363 * mactoolbox.c: New file.
7364
7365 2008-04-18 Jason Rumney <jasonr@gnu.org>
7366
7367 * dired.c (Ffile_attributes) [WINDOWSNT]: Cast uid and gid to unsigned.
7368
7369 2008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
7370
7371 * character.c (Fmultibyte_char_to_unibyte):
7372 Return latin1 chars unchanged.
7373
7374 * fileio.c (Fexpand_file_name): Refine last fix so `nm' is only
7375 relocated if it points to `name'.
7376
7377 2008-04-17 Kenichi Handa <handa@m17n.org>
7378
7379 * data.c (Faset): Allow setting a multibyte character in an
7380 ASCII-only unibyte string.
7381
7382 * lisp.h (STRING_SET_MULTIBYTE): New macro.
7383
7384 2008-04-16 Stefan Monnier <monnier@iro.umontreal.ca>
7385
7386 * Makefile.in: Don't use HAVE_GTK and don't -DUSE_GTK since it's now
7387 done in config.h.
7388
7389 2008-04-16 Juanma Barranquero <lekktu@gmail.com>
7390
7391 * character.c (Fchar_bytes, Fchar_width, Fstring_width)
7392 (Fchar_direction): Add usage in the docstring.
7393
7394 2008-04-15 Chong Yidong <cyd@stupidchicken.com>
7395
7396 * keyboard.c (read_key_sequence): Remove always-true checks.
7397
7398 2008-04-14 Jason Rumney <jasonr@gnu.org>
7399
7400 * w32font.c (w32font_open_internal): Set max_bounds.descent in
7401 compatibility struct, for better underline positioning.
7402
7403 2008-04-13 David Hansen <david.hansen@gmx.net>
7404
7405 * dbusbind.c (dbus-get-unique-name): Remove extra copying of name
7406 string.
7407
7408 2008-04-12 Dan Nicolaescu <dann@ics.uci.edu>
7409
7410 * m/hp800.h (XUINT, XSET): Remove.
7411
7412 2008-04-12 Juanma Barranquero <lekktu@gmail.com>
7413
7414 * fileio.c (Fexpand_file_name): Add declaration for `p' missing in
7415 previous change.
7416
7417 2008-04-12 Stefan Monnier <monnier@iro.umontreal.ca>
7418
7419 * fileio.c (Fexpand_file_name): Tighten the scope of `p' and `o' vars.
7420 Relocate `nm' after calling DECODE_FILE, in case the GC was run.
7421
7422 2008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
7423
7424 * keymap.h (map_keymap_canonical): Declare.
7425 * xmenu.c (single_keymap_panes): Use it.
7426
7427 2008-04-11 Glenn Morris <rgm@gnu.org>
7428
7429 * eval.c (Fdefvaralias): If the alias is bound and the target is not,
7430 set the target's value to that of the alias.
7431
7432 2008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
7433
7434 * term.c (set_tty_color_mode): Left over typo.
7435
7436 2008-04-10 Michael Albinus <michael.albinus@gmx.de>
7437
7438 * fileio.c (Fmake_symbolic_link): Surround code by #ifdef S_IFLNK
7439 only after check for file name handler functions. Signal, when
7440 native functionality is not supported.
7441 (syms_of_fileio): Declare it unconditionally.
7442
7443 2008-04-10 Jason Rumney <jasonr@gnu.org>
7444
7445 * w32menu.c (is_simple_dialog, simple_dialog_show): New functions.
7446 (Fx_popup_dialog): Handle simple yes/no questions as dialogs.
7447
7448 * w32.c (logon_network_drive): Also logon to remote drives that
7449 are mapped to drive letters.
7450
7451 2008-04-10 Glenn Morris <rgm@gnu.org>
7452
7453 * xdisp.c (truncate-partial-width-windows): Doc fix.
7454
7455 2008-04-10 Stefan Monnier <monnier@iro.umontreal.ca>
7456
7457 * fileio.c (read_file_name_cleanup, Fread_file_name_internal):
7458 Move functions to minibuffer.el.
7459 (syms_of_fileio): Don't declare them.
7460
7461 2008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
7462
7463 * minibuf.c (Vcompletion_auto_help): Move to minibuffer.el.
7464 (syms_of_minibuf): Remove its initialization.
7465
7466 * minibuf.c (temp_echo_area_glyphs): Remove unused function.
7467
7468 2008-04-09 Juanma Barranquero <lekktu@gmail.com>
7469
7470 * editfns.c (Ffield_string_no_properties): Fix typo in docstring.
7471
7472 2008-04-09 Jason Rumney <jasonr@gnu.org>
7473
7474 * makefile.w32-in (distclean): Delete makefile too.
7475 (maintainer-clean): New target.
7476
7477 * xdisp.c (redisplay_internal) [!WINDOWSNT]: Conditionalize last change.
7478
7479 * w32term.c (w32_compute_glyph_string_overhangs): Compute overhangs
7480 for new font backend and composite cases.
7481
7482 2008-04-09 Jan Djärv <jan.h.d@swipnet.se>
7483
7484 * atimer.c (alarm_signal_handler): Call run_timers if not SYNC_INPUT.
7485 Most of the code moved to run_timers.
7486 (do_pending_atimers): Call run_timers.
7487 (run_timers): New function.
7488
7489 * sysdep.c (emacs_write): If SYNC_INPUT and pending_atimers,
7490 run atimers.
7491
7492 * process.c (wait_reading_process_output): The same as above.
7493
7494 2008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
7495
7496 * minibuf.c (last_exact_completion): Remove variable.
7497 (Fdelete_minibuffer_contents, do_completion, Fminibuffer_complete)
7498 (complete_and_exit_1, complete_and_exit_2)
7499 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
7500 (Fdisplay_completion_list, display_completion_list_1)
7501 (Fminibuffer_completion_help, Fself_insert_and_exit)
7502 (Fexit_minibuffer, Fminibuffer_message): Move functions to
7503 minibuffer.el.
7504 (syms_of_minibuf): Remove corresponding initializations.
7505
7506 * keyboard.c (Qdeactivate_mark): New var.
7507 (command_loop_1): Use it to call `deactivate-mark'.
7508 (syms_of_keyboard): Initialize it.
7509
7510 * xdisp.c (redisplay_internal): Reset tty's color_mode when switching
7511 to another frame.
7512 * frame.c (do_switch_frame): Refine the top_frame/async_visible code.
7513 Don't call set_tty_color_mode.
7514 (store_frame_param): Reset previous_frame rather than call
7515 set_tty_color_mode.
7516 * term.c (set_tty_color_mode): Rewrite.
7517 * dispextern.h (set_tty_color_mode): New type.
7518 * termchar.h (struct tty_display_info): Add `previous_color_mode'.
7519
7520 2008-04-08 Stefan Monnier <monnier@iro.umontreal.ca>
7521
7522 * keymap.c (access_keymap): Remove the value 2 for t_ok which was used
7523 for generic chars, which do not exist any more in emacs-unicode.
7524
7525 2008-04-08 Michael Albinus <michael.albinus@gmx.de>
7526
7527 * coding.c (detect_coding_emacs_mule)
7528 (Ffind_operation_coding_system): Fix typo.
7529
7530 2008-04-08 Jason Rumney <jasonr@gnu.org>
7531
7532 * w32uniscribe.c (SNAME): Extract only symbol name.
7533
7534 * w32font.h (struct w32_metric_cache): New struct.
7535 (w32font_info): Use it.
7536 (W32METRIC_NO_ATTEMPT, W32METRIC_SUCCESS, W32METRIC_FAIL)
7537 (CACHE_BLOCKSIZE): New constants.
7538
7539 * w32font.c (Qja, Qko, Qzh): New symbols.
7540 (syms_of_w32font): Initialise them.
7541 (font_matches_spec): Use them to filter by language.
7542 (recompute_cached_metrics): Remove function.
7543 (compute_metrics, clear_cached_metrics): New functions.
7544 (w32font_encode_char): Use them to manage metric cache.
7545 (w32font_text_extents): Cache metrics for all glyphs on demand.
7546 Delay converting glyph indices to WORD until needed.
7547 (w32font_open_internal): Initialize metric cache to empty.
7548 (registry_to_w32_charset): Charset should always be a symbol.
7549 (fill_in_logfont, list_all_matching_fonts): Family should
7550 always be a symbol.
7551
7552 2008-04-06 Jason Rumney <jasonr@gnu.org>
7553
7554 * w32uniscribe.c (uniscribe_shape): Increase items buffer size.
7555 Give up if glyph indices not supported. Use uniscribe obtained
7556 ABC widths for individual metrics. Map glyph clusters back to
7557 characters using fClusterStart flag. Return number of glyphs
7558 produced, not chars processed.
7559 (uniscribe_shape): Map char at FROM to current glyph.
7560
7561 2008-04-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7562
7563 * macmenu.c (fill_menu) [TARGET_API_MAC_CARBON]:
7564 Use SetMenuItemHierarchicalMenu.
7565
7566 2008-04-05 Jason Rumney <jasonr@gnu.org>
7567
7568 * image.c (pbm_load): Allow color values up to 65535.
7569 Throw an error if max_color_idx is outside the supported range.
7570 Report an error when image size is invalid.
7571 Read two bytes at a time when raw images have max_color_idx above 255.
7572
7573 2008-04-05 Eli Zaretskii <eliz@gnu.org>
7574
7575 * w32.c (readdir): If FindFirstFile/FindNextFile return in
7576 cFileName a file name that includes `?' characters, use the 8+3
7577 alias in cAlternateFileName instead.
7578
7579 2008-04-05 Kenichi Handa <handa@ni.aist.go.jp>
7580
7581 * ccl.c (ccl_driver): If ccl->quit_silently is nonzero, don't
7582 append "CCL: Quitted" when the CCL program is quitted.
7583 (setup_ccl_program): Initialize ccl->quit_silently to zero.
7584
7585 * ccl.h (struct ccl_program): New member quit_silently.
7586
7587 2008-04-05 Chong Yidong <cyd@stupidchicken.com>
7588
7589 * search.c (compile_pattern_1): Treat non-nil and non-string of
7590 search-spaces-regexp as nil.
7591
7592 * minibuf.c (Fassoc_string): Tweak docstring.
7593
7594 2008-04-05 Eli Zaretskii <eliz@gnu.org>
7595
7596 * dired.c (Ffile_attributes): Support inode numbers wider than 32
7597 bits. Remove ugly WINDOWSNT-specific kludge introduced on
7598 2008-03-14 to force inode be positive.
7599
7600 * w32.c (sys_chown, stat, fstat): Use S_* constants instead of
7601 _S_* ones, since we now use our own sys/stat.h.
7602 (stat, fstat): Don't mangle the inode number.
7603 (init_user_info): Don't restrict UID and GID to 0-60000 range.
7604
7605 2008-04-04 Stefan Monnier <monnier@iro.umontreal.ca>
7606
7607 * frame.h (struct frame): Give one more bit to `visible' since we use
7608 values larger than 1 to indicate obscured frames on ttys.
7609
7610 * keymap.c (Qkeymap_canonicalize): New var.
7611 (Fmap_keymap_internal): New fun.
7612 (describe_map): Use keymap-canonicalize.
7613
7614 * undo.c (last_boundary_buffer, last_boundary_position): New vars.
7615 (Fundo_boundary): Set them.
7616 (syms_of_undo): Initialize them.
7617 (record_point): Use them instead of last_point_position*.
7618 (last_undo_buffer): Change type.
7619
7620 2008-04-04 Jason Rumney <jasonr@gnu.org>
7621
7622 * w32font.c (w32font_text_extents): Use font's ascent and descent.
7623 (recompute_cached_metrics): Don't set ascent and descent per char.
7624
7625 * w32uniscribe.c (uniscribe_check_otf): Fix last change.
7626 (uniscribe_check_otf): Add GC protection before consing.
7627 Rearrange loop for counting features.
7628
7629 2008-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
7630
7631 * insdel.c (insert_from_buffer_1): Don't compare bytes in destination
7632 buffer with byte-size of source buffer.
7633
7634 2008-04-03 Chong Yidong <cyd@stupidchicken.com>
7635
7636 * callint.c (Fcall_interactively): Handle temporary region even
7637 when shift-select-mode is off.
7638
7639 2008-04-03 Jason Rumney <jasonr@gnu.org>
7640
7641 * w32uniscribe.c (uniscribe_check_otf): Sanity check otf_spec.
7642
7643 2008-04-03 Kenichi Handa <handa@m17n.org>
7644
7645 * coding.c (CATEGORY_MASK_ANY): Add CATEGORY_MASK_UTF_16_AUTO.
7646 (CATEGORY_MASK_UTF_16): Likewise.
7647 (detect_coding_utf_16): Add heuristics to reject utf-16 for a
7648 binary file.
7649 (detect_coding): Add null-byte detection for a binary file.
7650 (detect_coding_system): Likewise.
7651
7652 2008-04-03 Jason Rumney <jasonr@gnu.org>
7653
7654 * w32uniscribe.c: New file.
7655
7656 * font.h (uniscribe_font_driver) [WINDOWSNT]: Declare for w32fns.c.
7657
7658 * w32font.h (uniscribe_check_otf): Declare for w32font.c.
7659
7660 * w32font.c (Qbalinese, Qbuginese, Qbuhid, Qcuneiform, Qcypriot)
7661 (Qdeseret, Qglagolitic, Qgothic, Qhanunoo, Qkharoshthi)
7662 (Qlimbu, Qlinear_b, Qold_italic, Qold_persian, Qosmanya)
7663 (Qphags_pa, Qphoenician, Qshavian, Qsyloti_nagri)
7664 (Qtagalog, Qtagbanwa, Qtai_le, Qtifinagh, Qugaritic)
7665 (Qphonetic): New symbols.
7666 (syms_of_w32font): Initialize them.
7667 (font_supported_scripts): Use them.
7668 (w32font_list_family): List all charsets.
7669 (w32font_text_extents, recompute_cached_metrics): Fix metric
7670 calculations.
7671 (w32_enumfont_pattern_entity): Make full_type a DWORD.
7672 Give opentype fonts their own format.
7673 (font_matches_spec): New arguments backend and logfont.
7674 Handle :otf spec for uniscribe backend.
7675 (add_font_entity_to_list): Match truetype fonts in uniscribe backend.
7676 (fill_in_logfont): Use DEFAULT_CHARSET when charset not supplied.
7677
7678 * w32fns.c (Fx_create_frame): Conditionally register uniscribe
7679 font backend.
7680 (globals_of_w32fns): Initialize uniscribe font backend.
7681
7682 * makefile.w32-in (CONFIG_H): New variable. Use it to clean up
7683 dependencies.
7684 (w32uniscribe.$(O)): New file to build.
7685 (FONT_OBJ): Include w32uniscribe.$(O).
7686 (LIBS): Add uniscribe libraries.
7687
7688 * ftfont.c (ftfont_get_open_type_spec): Check spec->script, not val.
7689
7690 2008-04-02 Chong Yidong <cyd@stupidchicken.com>
7691
7692 * callint.c (Vshift_select_mode): New var.
7693 (Finteractive): Document new ^ spec.
7694 (Fcall_interactively): Call handle-shift-selection if the ^ spec
7695 is present.
7696
7697 * keyboard.c (Vthis_command_keys_shift_translated): New var.
7698 (command_loop_1): Avoid running the direct display versions of
7699 forward-char and backward-char if shift-selection may occur.
7700 (read_key_sequence): Set Vthis_command_keys_shift_translated if
7701 shift-translation takes place.
7702
7703 * buffer.c (Vtransient_mark_mode): Move docstring to simple.el to
7704 avoid clobbering by define-minor-mode.
7705
7706 * cmds.c (Fforward_char, Fbackward_char, Fforward_line)
7707 (Fbeginning_of_line, Fend_of_line): Add ^ interactive spec.
7708
7709 * syntax.c (Fforward_word): Add ^ interactive spec.
7710
7711 * window.c (Fscroll_up, Fscroll_down, Fscroll_left)
7712 (Fscroll_right): Add ^ interactive spec.
7713
7714 2008-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
7715
7716 * xdisp.c (try_window_id): Don't forget to reset delta_bytes.
7717
7718 * casefiddle.c (casify_object): Fix up int/EMACS_INT mixup.
7719
7720 * charset.c (Funibyte_charset, Fset_unibyte_charset): Remove.
7721
7722 2008-03-31 Juri Linkov <juri@jurta.org>
7723
7724 * window.c (Fdisplay_buffer): Reinitialize `tem' to nil.
7725
7726 2008-03-30 Jan Djärv <jan.h.d@swipnet.se>
7727
7728 * gtkutil.c (xg_set_geometry): Fix indentation.
7729 (xg_resize_outer_widget): Remove.
7730 (x_wm_size_hint_off): Fix indentation.
7731 (xg_frame_set_char_size): Call flush_and_sync after
7732 gtk_window_resize.
7733 (x_wm_set_size_hint): Pass NULL as geometry window to
7734 gtk_window_set_geometry_hints due to Gtk+ bug nr 68668.
7735 Add menu bar and tool bar height to base height.
7736 (xg_update_frame_menubar, free_frame_menubar)
7737 (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback)
7738 (update_frame_tool_bar, free_frame_tool_bar):
7739 Change xg_resize_outer_widget to xg_frame_set_char_size.
7740
7741 2008-03-30 Michael Albinus <michael.albinus@gmx.de>
7742
7743 * dbusbind.c (QCdbus_timeout): New D-Bus internal symbol.
7744 (Fdbus_call_method): New parameter TIMEOUT.
7745 (dbus-send-signal): Optimize UNGCPRO call.
7746
7747 2008-03-29 Juri Linkov <juri@jurta.org>
7748
7749 * window.c (Fdisplay_buffer): Move call to
7750 Vsplit_window_preferred_function out of conditions that check
7751 if window is eligible for vertical splitting.
7752 When Vsplit_window_preferred_function is non-nil, call it and use
7753 its non-nil return value as window. Otherwise, continue doing
7754 vertical splitting using Fsplit_window with arg horflag=nil.
7755 (syms_of_window) <Vsplit_window_preferred_function>: Change the
7756 default value from `split-window' to nil.
7757
7758 2008-03-29 Juri Linkov <juri@jurta.org>
7759
7760 * callint.c (Fcall_interactively): Revert 2008-03-16 change
7761 for interactive code letters 'b' and 'B'.
7762
7763 2008-03-29 Eli Zaretskii <eliz@gnu.org>
7764
7765 * fileio.c (Fexpand_file_name): Convert the value of $HOME to a
7766 multibyte string.
7767
7768 2008-03-29 Stefan Monnier <monnier@iro.umontreal.ca>
7769
7770 * keyboard.c (pending_funcalls): New var.
7771 (timer_check): Run it.
7772 (syms_of_keyboard): Initialize it.
7773 * terminal.c (Qrun_hook_with_args, Qdelete_terminal_functions)
7774 (Vdelete_terminal_functions): New vars.
7775 (syms_of_terminal): Initialize them.
7776 (Fdelete_terminal): Run delete-terminal-functions.
7777 * xdisp.c (safe_eval): Rewrite.
7778 (safe_call2): New fun.
7779 * frame.c (Qdelete_frame_functions): New var.
7780 (syms_of_frame): Initialize it.
7781 (Fdelete_frame): Use it and use safe_call2 and pending_funcalls.
7782 * lisp.h (safe_call2, pending_funcalls): Declare.
7783
7784 2008-03-28 Andreas Schwab <schwab@suse.de>
7785
7786 * indent.c (Fmove_to_column): Move declaration before statements.
7787
7788 2008-03-27 Stefan Monnier <monnier@iro.umontreal.ca>
7789
7790 * frame.h (enum fullscreen_type): Give it a name. Move it before use.
7791 (struct frame): Use bit fields for boolean vars.
7792
7793 * process.c (server_accept_connection): Simplify naming.
7794 (emacs_get_tty_pgrp): Use SDATA.
7795
7796 * coding.c (decode_coding_object): Fix last change.
7797
7798 2008-03-27 Jason Rumney <jasonr@gnu.org>
7799
7800 * w32fns.c (start_hourglass): Suppress hourglass on tty frames.
7801
7802 2008-03-27 Kenichi Handa <handa@ni.aist.go.jp>
7803
7804 * charset.c (Fdefine_charset_internal): Change the way of
7805 registering charsets in Vcharset_order_list.
7806 (syms_of_charset): Make the charset `eight-bit' supplementary.
7807
7808 2008-03-26 Alexandre Oliva <aoliva@redhat.com> (tiny change)
7809
7810 * regex.c (EXTEND_BUFFER): Change order of pointer addition
7811 operations, to avoid having the difference between pointers
7812 overflow.
7813
7814 2008-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
7815
7816 * indent.c (check_display_width): New fun.
7817 (scan_for_column): Use it.
7818
7819 * data.c (syms_of_data): Mark most-positive-fixnum and
7820 most-negative-fixnum as constants.
7821
7822 * xdisp.c (redisplay_internal): Reset selected_frame earlier.
7823
7824 * indent.c (scan_for_column): Extract from current_column_1.
7825 Merge with the same code from Fmove_to_column.
7826 (current_column_1, Fmove_to_column): Use it.
7827
7828 2008-03-25 Stefan Monnier <monnier@iro.umontreal.ca>
7829
7830 * keymap.c (map_keymap_internal): New fun.
7831 (map_keymap): Use it.
7832 (Fmap_keymap_internal): New fun.
7833 (Fmap_keymap): Remove left-out test from before make_save_value.
7834
7835 * keymap.c (Fmap_keymap): Use `map-keymap-sorted.
7836
7837 * frame.c (Fmodify_frame_parameters, x_set_frame_parameters):
7838 Use XCAR/XCDR.
7839
7840 * process.h (struct Lisp_Process): Remove filter_multibyte.
7841 * process.c (QCfilter_multibyte): Remove.
7842 (setup_process_coding_systems): Don't use filter_multibyte.
7843 (Fstart_process, Fmake_network_process): Don't set filter_multibyte.
7844 (read_process_output): Don't adjust multibyteness to filter_multibyte.
7845 (Fset_process_filter_multibyte): Change the coding-system to
7846 approximate the previous behavior.
7847 (Fprocess_filter_multibyte_p): Get the multibyteness straight from the
7848 coding-system.
7849
7850 * coding.c (decode_coding_object): When not decoding into a buffer,
7851 obey the coding system's preference of (uni|multi)byte.
7852
7853 2008-03-24 Stefan Monnier <monnier@iro.umontreal.ca>
7854
7855 * casefiddle.c (casify_object): Avoid pathological N^2 worst case if
7856 every char is changed and has a different byte-length.
7857 (Fupcase_word, Fdowncase_word, Fcapitalize_word, operate_on_word):
7858 Fix int -> EMACS_INT.
7859
7860 2008-03-23 David Hansen <david.hansen@gmx.net>
7861
7862 * dbusbind.c (xd_read_message): Remove extra copying of message
7863 strings. Check for NULL `interface' or `member'.
7864
7865 2008-03-22 Eli Zaretskii <eliz@gnu.org>
7866
7867 * w32.c (readdir): If FindFirstFile/FindNextFile return in
7868 cFileName a file name that includes `?' characters, use the 8+3
7869 alias in cAlternateFileName instead.
7870
7871 2008-03-21 Stefan Monnier <monnier@iro.umontreal.ca>
7872
7873 * buffer.c (enlarge_buffer_text): Fix int -> EMACS_INT.
7874
7875 2008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
7876
7877 * intervals.c (temp_set_point, temp_set_point_both): Use EMACS_INT.
7878 (set_point, set_point_both): Use EMACS_INT. Remove `buffer' arg,
7879 work on current_buffer only instead (that was already the case
7880 for some of the code anyway).
7881 * buffer.h (set_point, set_point_both): Remove buffer arg, use long int.
7882 (temp_set_point, temp_set_point_both): Use EMACS_INT.
7883 (SET_PT, SET_PT_BOTH): Adjust.
7884 * intervals.h (set_point, temp_set_point, set_point_both)
7885 (temp_set_point_both): Remove redundant declarations.
7886
7887 2008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
7888
7889 * fileio.c (Finsert_file_contents):
7890 * lread.c (Feval_buffer): Use BUF_TEMP_SET_PT.
7891 * buffer.h (BUF_SET_PT): Remove. set_point_both doesn't work right
7892 when buffer != current_buffer anyway.
7893
7894 2008-03-20 Andreas Schwab <schwab@suse.de>
7895
7896 * callint.c (Fcall_interactively) [case 'B']: Use other-buffer
7897 as default.
7898
7899 2008-03-19 Jason Rumney <jasonr@gnu.org>
7900
7901 * w32fns.c (hourglass_timer, hourglass_hwnd): New variables.
7902 (syms_of_w32fns): Initialize them.
7903 (HOURGLASS_ID): New constant.
7904 (x_window_to_frame): Don't check hourglass_window.
7905 (w32_wnd_proc) <WM_TIMER>: Handle hourglass_timer.
7906 (w32_wnd_proc) <WM_EXITMENULOOP>: Set pending hourglass cursor.
7907 (w32_wnd_proc) <WM_SETCURSOR>: Set the hourglass or current cursor.
7908 (w32_wnd_proc) <WM_EMACS_SETCURSOR>: Set frame's current_cursor.
7909 Only change the cursor if hourglass is not active.
7910 (Fx_create_frame): Initialize frame's current_cursor.
7911 (hourglass_atimer): Remove.
7912 (hourglass_started): New function.
7913 (start_hourglass, cancel_hourglass, hide_hourglass): Adapt to w32.
7914 (show_hourglass): Adapt to w32, changing argument to frame.
7915
7916 * w32term.h (struct w32_output): Remove hourglass_window.
7917 Add current_cursor.
7918
7919 * eval.c (call_debugger, Fsignal):
7920 * keyboard.c (recursive_edit_1, cmd_error, Ftop_level)
7921 (command_loop_1, Fread_key_sequence, Fread_key_sequence_vector)
7922 (Fexecute_extended_command, cancel_hourglass_unwind):
7923 * minibuf.c (read_minibuf):
7924 * fns.c (Fy_or_n_p): Enable hourglass when HAVE_WINDOW_SYSTEM.
7925
7926 2008-03-19 Stefan Monnier <monnier@iro.umontreal.ca>
7927
7928 * window.c (run_funs): New fun.
7929 (run_window_configuration_change_hook): Use it to run the buffer-local
7930 and the global part of the hook.
7931
7932 * xdisp.c (format_mode_line_unwind_data): Add window argument.
7933 (unwind_format_mode_line): Restore selected window.
7934 (x_consider_frame_title, Fformat_mode_line): Set selected window.
7935
7936 2008-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
7937
7938 * editfns.c (Fchar_equal): Check they are valid characters.
7939
7940 * buffer.h (Fbuffer_list): Declare (for use in callint.c).
7941
7942 2008-03-17 Andreas Schwab <schwab@suse.de>
7943
7944 * regex.c (re_match_2_internal): Properly match raw 8-bit bytes
7945 against a charset.
7946
7947 * lisp.h (Fbuffer_list): Declare.
7948
7949 2008-03-17 Jan Djärv <jan.h.d@swipnet.se>
7950
7951 * gtkutil.c (free_frame_tool_bar): Only call gtk_container_remove if
7952 handlebox_widget is != 0.
7953
7954 2008-03-16 Juri Linkov <juri@jurta.org>
7955
7956 * callint.c (Fcall_interactively): For interactive code letters
7957 'b' and 'B' put the buffer list into the list of default "future"
7958 values of the minibuffer.
7959
7960 2008-03-16 Andreas Schwab <schwab@suse.de>
7961
7962 * keyboard.c (read_key_sequence): Fix downcasing of letters with
7963 modifiers.
7964
7965 * regex.c (re_match_2_internal): Correct matching of a charset
7966 against latin-1 characters.
7967
7968 2008-03-16 Kenichi Handa <handa@m17n.org>
7969
7970 * coding.c (CHAR_STRING_ADVANCE_NO_UNIFY)
7971 (STRING_CHAR_ADVANCE_NO_UNIFY): New macros.
7972 (coding_alloc_by_making_gap): Fix the way to preserve data in the gap.
7973 (alloc_destination): Fix the 2nd arg to coding_alloc_by_making_gap.
7974 (encode_coding_utf_8): Use CHAR_STRING_ADVANCE_NO_UNIFY instead of
7975 CHAR_STRING_ADVANCE.
7976 (produce_chars): Fix for the case that the source and the
7977 destination are the same buffer. Use CHAR_STRING_ADVANCE_NO_UNIFY
7978 instead of CHAR_STRING_ADVANCE.
7979 (consume_chars): Use STRING_CHAR_ADVANCE_NO_UNIFY instead of
7980 STRING_CHAR_ADVANCE.
7981
7982 2008-03-15 Andreas Schwab <schwab@suse.de>
7983
7984 * regex.c (re_match_2_internal): Correct matching of eight bit
7985 characters in unibyte strings.
7986
7987 2008-03-15 Martin Rudalics <rudalics@gmx.at>
7988
7989 * buffer.c (overlays_in, Foverlays_in): Include empty overlays
7990 at end of range when it coincides with the end of the buffer.
7991
7992 2008-03-14 Eli Zaretskii <eliz@gnu.org>
7993
7994 * dired.c (Ffile_attributes) [WINDOWSNT]: Force inode be positive.
7995
7996 * w32fns.c (globals_of_w32fns, Fx_create_frame): Fix last change.
7997
7998 2008-03-14 Jason Rumney <jasonr@gnu.org>
7999
8000 * editfns.c (initial_tz): New variable.
8001 (syms_of_editfns): Initialize it.
8002 (Fset_time_zone_rule): Set it when first called.
8003 Use it when TZSTRING is nil.
8004
8005 * w32fns.c (MONITOR_DEFAULT_TO_NEAREST, struct MONITOR_INFO)
8006 (MonitorFromPoint_Proc, GetMonitorInfo_Proc): New definitions.
8007 (monitor_from_point_fn, get_monitor_info_fn): New globals.
8008 (globals_of_w32fns): Initialize them.
8009 (compute_tip_xy): Use them to position tooltips.
8010
8011 2008-03-14 Glenn Morris <rgm@gnu.org>
8012
8013 * emacs.c (main): Revert previous change.
8014 (standard_args): Revert -internal-script back to -scriptload,
8015 and remove the long-option form.
8016
8017 2008-03-13 Glenn Morris <rgm@gnu.org>
8018
8019 * emacs.c (main, standard_args): Rename -scriptload to -internal-script.
8020 Remove option -enable-font-backend.
8021
8022 2008-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
8023
8024 * buffer.c (Fswitch_to_buffer): Fall back on pop-to-buffer.
8025
8026 2008-03-11 Jan Djärv <jan.h.d@swipnet.se>
8027
8028 * xterm.c (x_connection_closed): For GTK: If this is the last
8029 terminal just exit without closing the display.
8030
8031 2008-03-11 Jason Rumney <jasonr@gnu.org>
8032
8033 * w32font.c (w32font_full_name): Use floor to round.
8034
8035 2008-03-10 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
8036
8037 * sound.c (alsa_configure): Declare vol at beginning of block.
8038
8039 * fontset.c (Ffontset_info): Remove extra semicolon.
8040
8041 2008-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
8042
8043 * fileio.c (Fsubstitute_in_file_name): Fix up computation of maximum
8044 size of resulting string.
8045
8046 2008-03-10 Jason Rumney <jasonr@gnu.org>
8047
8048 * dispnew.c (adjust_glyph_matrix): Initialize window_height.
8049
8050 2008-03-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8051
8052 * xdisp.c (handle_single_display_spec): Undo 2007-10-16 changes.
8053 Don't pretend as if characters with display property haven't been
8054 consumed for string-replacing-string case.
8055
8056 2008-03-08 Kim F. Storm <storm@cua.dk>
8057
8058 * xdisp.c (GET_NEXT_DISPLAY_ELEMENT): New macro.
8059 (get_next_display_element, next_element_from_string)
8060 (next_element_from_ellipsis, next_element_from_buffer): Use it.
8061
8062 2008-03-08 Andreas Schwab <schwab@suse.de>
8063
8064 * process.h (struct Lisp_Process): Declare bit fields as unsigned.
8065
8066 2008-03-06 Jason Rumney <jasonr@gnu.org>
8067
8068 * w32font.c (w32_registry): Take font_type argument. Use ANSI
8069 when charset not specified. Only translate ANSI to unicode when
8070 font_type is truetype.
8071 (w32font_coverage_ok): New function.
8072 (add_font_entity_to_list): Use it to filter unsuitable fonts.
8073
8074 2008-03-05 Kenichi Handa <handa@ni.aist.go.jp>
8075
8076 * lread.c (Fread_char): Resolve modifiers.
8077 (Fread_char_exclusive): Likewise.
8078
8079 * character.c (char_resolve_modifier_mask): New function.
8080 (char_string): Use char_resolve_modifier_mask.
8081 (Fchar_resolve_modifiers): New function.
8082 (syms_of_character): Declare Fchar_resolve_modifiers as Lisp
8083 function.
8084
8085 2008-03-04 Jason Rumney <jasonr@gnu.org>
8086
8087 * makefile.w32-in: Always include w32font.c in the build.
8088 * w32font.c: Wrap in USE_FONT_BACKEND conditional.
8089
8090 2008-03-04 Andreas Schwab <schwab@suse.de>
8091
8092 * Makefile.in (clean): Remove emacs-*.*.* instead of emacs-*.
8093 (versionclean): Likewise.
8094
8095 2008-03-04 Juanma Barranquero <lekktu@gmail.com>
8096
8097 * .cvsignore: Add oo.
8098
8099 2008-03-03 Andreas Schwab <schwab@suse.de>
8100
8101 * coding.c (decode_coding_object): Inhibit gap shrinking while
8102 decoding in place.
8103
8104 2008-03-03 Dan Nicolaescu <dann@ics.uci.edu>
8105
8106 * w32term.c: Remove unused include "gnu.h".
8107 * makefile.w32-in (w32term.o): Don't depend on gnu.h.
8108
8109 * gnu.h: Rename to ...
8110 * emacs-icon.h: ... this.
8111 * xterm.c: Use emacs-icon.h instead of gnu.h.
8112 * Makefile (xterm.o): Depend on emacs-icon.h, not gnu.h.
8113
8114 2008-03-03 Juanma Barranquero <lekktu@gmail.com>
8115
8116 * w32font.c: Include math.h.
8117
8118 2008-03-03 Jason Rumney <jasonr@gnu.org>
8119
8120 * w32font.c (recompute_cached_metrics): Change font arg to w32font_info.
8121 Compute options separately.
8122 (w32font_open_internal): Set glyph_idx before caching metrics.
8123
8124 * w32font.h (NTM_PS_OPENTYPE, NTM_TT_OPENTYPE, NTM_TYPE1):
8125 Define if system headers don't.
8126 (struct w32font_info): Enlarge ascii_metrics. Add glyph_idx.
8127 (w32font_encode_char): Don't declare here.
8128
8129 * w32font.c (Quniscribe, QCformat): New symbols.
8130 (syms_of_w32font): Define them.
8131 (w32font_has_char): Indicate uncertainty.
8132 (w32font_encode_char): Encode as glyph point. Make static.
8133 (recompute_cached_metrics): New function.
8134 (w32font_open_internal): Use it. Set font to use glyph points
8135 initially. Set format based on type of font.
8136 (w32font_text_extents, w32font_draw): Optionally use glyph points.
8137 (w32_enumfont_pattern_entity): Accept backend arg. Set type based
8138 on it. Set format based on information available here.
8139 (add_font_entity_to_list): Identify backend based on opentype_only.
8140
8141 2008-03-02 Andreas Schwab <schwab@suse.de>
8142
8143 * ftfont.c (ftfont_pattern_entity): Fix aliasing violations.
8144
8145 * coding.c (decode_coding_big5, produce_chars):
8146 Fix typos in last change.
8147
8148 2008-03-02 Kentaro Ohkouchi <nanasess@fsm.ne.jp>
8149
8150 * gnu.h: New icon.
8151
8152 2008-03-02 Kenichi Handa <handa@m17n.org>
8153
8154 * coding.c (decode_coding_utf_8): When eol-type of CODING is
8155 `dos', don't decode '\r' if that is the last in the source.
8156 (decode_coding_utf_16, decode_coding_emacs_mule)
8157 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
8158 (decode_coding_raw_text, decode_coding_charset): Likewise.
8159 (produce_chars): Don't decode EOL here. Use EMACS_INT.
8160
8161 2008-03-01 Jason Rumney <jasonr@gnu.org>
8162
8163 * w32font.c (w32font_full_name): Report point size for scalable fonts.
8164
8165 2008-03-01 Kim F. Storm <storm@cua.dk>
8166
8167 * dispextern.h (CHAR_GLYPH_SPACE_P): Check for default face.
8168
8169 2008-03-01 Jason Rumney <jasonr@gnu.org>
8170
8171 * w32font.c (w32font_full_name): New function.
8172 (w32font_open_internal): Use it.
8173
8174 2008-03-01 Kim F. Storm <storm@cua.dk>
8175
8176 * dispnew.c (line_draw_cost): Fix invalid glyph check.
8177
8178 2008-03-01 Jason Rumney <jasonr@gnu.org>
8179
8180 * font.c (font_unparse_fcname): Increase len when style is a symbol.
8181
8182 2008-03-01 Jan Djärv <jan.h.d@swipnet.se>
8183
8184 * xterm.c (handle_one_xevent): For Gtk+ and ConfigureNotify, call
8185 xg_frame_resized when the event is for the edit widget.
8186
8187 * gtkutil.h (xg_frame_resized): Renamed from xg_resize_widgets.
8188
8189 * gtkutil.c (xg_resize_outer_widget): Only do one of set_geometry or
8190 set_char_size.
8191 (xg_frame_resized): Renamed from xg_resize_widgets. Remove all
8192 operations on widgets here. Just set frame size if needed.
8193 (flush_and_sync, x_wm_size_hint_off, xg_pack_tool_bar): New functions.
8194 (xg_frame_set_char_size): Call x_wm_size_hint_off before resizing.
8195 (x_wm_set_size_hint): Set size hints on the edit widget only, not
8196 the whole frame.
8197 (xg_create_tool_bar): Move attachment of the tool bar to
8198 xg_pack_tool_bar. Do not attach the tool bar if there are no items.
8199 (free_frame_tool_bar): Remove call to SET_FRAME_GARBAGED.
8200
8201 2008-03-01 Jason Rumney <jasonr@gnu.org>
8202
8203 * w32fns.c (w32_msg_pump): Disable debug code.
8204
8205 2008-03-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8206
8207 * m/intel386.h [MAC_OSX || DARWIN]: Define NO_ARG_ARRAY if _LP64.
8208
8209 2008-02-29 Chong Yidong <cyd@stupidchicken.com>
8210
8211 * xdisp.c (next_overlay_string): Don't set
8212 overlay_strings_at_end_processed_p if we're currently reading from
8213 a display string.
8214
8215 2008-02-29 Stefan Monnier <monnier@iro.umontreal.ca>
8216
8217 * xdisp.c (get_overlay_strings_1): Fix typo.
8218
8219 2008-02-29 Chong Yidong <cyd@stupidchicken.com>
8220
8221 * xdisp.c (get_overlay_strings_1): Add missing argument type.
8222
8223 2008-02-28 Kenichi Handa <handa@ni.aist.go.jp>
8224
8225 * ftfont.c (ftfont_match): Explicitly set pixelsize in pattern.
8226
8227 * xdisp.c (display_mode_element): Cancel the previous change.
8228 (decode_mode_spec): Likewise.
8229 (handle_auto_composed_prop): Don't make composition if it->string
8230 is a string.
8231
8232 2008-02-27 Kim F. Storm <storm@cua.dk>
8233
8234 * lisp.h (GLYPH): Change type from int to struct with separate char
8235 and face_id members.
8236 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Delete macros.
8237 (GLYPH_CHAR, GLYPH_FACE): Remove slow versions with frame arg.
8238 (FAST_GLYPH_CHAR, FAST_GLYPH_FACE): Rename macros to ...
8239 (GLYPH_CHAR, GLYPH_FACE): ... these. Change users.
8240 (FAST_MAKE_GLYPH, MAKE_GLYPH): Remove. Rewrite users to use ...
8241 (SET_GLYPH, SET_GLYPH_CHAR, SET_GLYPH_FACE): ... these macros instead.
8242 (GLYPH_CODE_CHAR, GLYPH_CODE_FACE, GLYPH_CODE_P)
8243 (GLYPH_CODE_CHAR_VALID_P, SET_GLYPH_FROM_GLYPH_CODE): New macros to
8244 handle new Lisp glyph code encoding, either an integer or a cons.
8245
8246 * disptab.h (GLYPH_SIMPLE_P): Rewrite.
8247 (GLYPH_ALIAS): Delete.
8248 (GLYPH_ALIAS_P, GLYPH_FOLLOW_ALIASES): Rewrite.
8249 (GLYPH_LENGTH, GLYPH_STRING): Use GLYPH_CHAR.
8250 (GLYPH_FROM_CHAR): Replace macro by ...
8251 (SET_GLYPH_FROM_CHAR): ... this macro. Change users.
8252
8253 * dispextern.h (CHAR_GLYPH_SPACE_P): Simplify.
8254 (GLYPH_FROM_CHAR_GLYPH): Replace macro by ...
8255 (SET_GLYPH_FROM_CHAR_GLYPH): ... this macro. Change users.
8256 (GLYPH_INVALID_P): New macro.
8257 (spec_glyph_lookup_face): Update prototype.
8258
8259 * dispnew.c (line_draw_cost): Adapt to new glyph type.
8260 (build_frame_matrix_from_leaf_window): Adapt to new glyph type and
8261 new glyph code encoding.
8262 (spec_glyph_lookup_face): No return value; update passed glyph instead.
8263 (init_display): Use SET_CHAR_GLYPH to initialize space_glyph.
8264
8265 * xdisp.c (get_next_display_element, next_element_from_display_vector):
8266 Adapt to new glyph type and new glyph code encoding.
8267
8268 * term.c (encode_terminal_code, produce_special_glyphs): Likewise.
8269
8270 * indent.c (current_column, current_column_1, Fmove_to_column)
8271 (compute_motion): Adapt to new glyph code encoding.
8272
8273 * msdos.c (IT_write_glyphs): Adapt to new glyph type.
8274
8275 2008-02-27 Chong Yidong <cyd@stupidchicken.com>
8276
8277 * process.c (wait_reading_process_output): Check for window
8278 changes caused by timers.
8279 Suggested by Johan Bockgård.
8280
8281 2008-02-27 Glenn Morris <rgm@gnu.org>
8282
8283 * emacs.c (USAGE1): Add `--disable-font-backend'.
8284
8285 2008-02-27 Stefan Monnier <monnier@iro.umontreal.ca>
8286
8287 * fileio.c (Finsert_file_contents): Don't reset undo_list if no change
8288 is made to the buffer.
8289
8290 2008-02-26 Stefan Monnier <monnier@iro.umontreal.ca>
8291
8292 * dispextern.h (face_at_buffer_position, face_for_overlay_string)
8293 (face_at_string_position):
8294 * xfaces.c (face_at_buffer_position, face_for_overlay_string)
8295 (face_at_string_position):
8296 * xdisp.c (display_string, next_overlay_change):
8297 * buffer.h (overlays_at):
8298 * buffer.c (overlays_at): Use EMACS_INT for buffer positions.
8299 Update callers.
8300
8301 2008-02-26 Chong Yidong <cyd@stupidchicken.com>
8302
8303 * editfns.c (Fformat): Doc fix.
8304
8305 2008-02-26 Juanma Barranquero <lekktu@gmail.com>
8306
8307 * font.c (Ffont_spec, Ffont_at): Fix typos in docstrings.
8308 (Ffont_put, Flist_families, Ffont_fill_gstring, Ffont_drive_otf)
8309 (Ffont_otf_alternates, Fquery_font): Doc fixes.
8310
8311 2008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
8312
8313 * buffer.c (Fbuffer_swap_text): New function.
8314 (syms_of_buffer): Defsubr it.
8315
8316 2008-02-25 Chong Yidong <cyd@stupidchicken.com>
8317
8318 * keyboard.c (command_loop_1): Revert 2006-10-09 change.
8319
8320 2008-02-25 Jason Rumney <jasonr@gnu.org>
8321
8322 * w32font.c (w32font_draw): Draw one character at a time when padding.
8323
8324 2008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
8325
8326 * window.c (Fdelete_window, Fadjust_window_trailing_edge):
8327 Handle a nil arg. Use run_window_configuration_change_hook.
8328 (delete_window, adjust_window_trailing_edge): Don't handle nil any more.
8329 (Fenlarge_window, Fshrink_window, Fset_window_configuration):
8330 Use run_window_configuration_change_hook.
8331
8332 2008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
8333
8334 * xdisp.c (x_produce_glyphs): For a visible glyph, assure at least
8335 1-pixel width.
8336
8337 2008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
8338
8339 * xdisp.c (fill_glyph_string): Pay attention to glyph->padding_p.
8340 (append_glyph): Set glyph->pixel_width and glyph->padding_p to 1
8341 if the glyph in the font is zero pixel with.
8342
8343 * dispextern.h (struct glyph_string): New member padding_p.
8344
8345 * w32font.c (w32font_draw): Pay attention to s->padding_p.
8346
8347 * ftxfont.c (ftxfont_draw): Pay attention to s->padding_p.
8348
8349 * xfont.c (xfont_draw): Pay attention to s->padding_p.
8350
8351 * xftfont.c (xftfont_draw): Pay attention to s->padding_p.
8352
8353 * font.c: If the font driver doesn't have `shape' function, return Qnil.
8354
8355 2008-02-25 Jason Rumney <jasonr@gnu.org>
8356
8357 * w32fns.c (enum_font_cb2): Don't use raster fonts for Unicode.
8358
8359 2008-02-24 Stefan Monnier <monnier@iro.umontreal.ca>
8360
8361 Allow fine-grained image-cache flushing.
8362 * dispextern.h (struct image): Add `dependencies' field.
8363 (clear_image_caches): Change arg to Lisp_Object.
8364 * image.c (make_image): Initialize `dependencies' field.
8365 (clear_image_cache): Change arg to allow fine-grained flushing.
8366 Perform the flush even if image-cache-eviction-delay is nil.
8367 (clear_image_caches): Change arg to Lisp_Object.
8368 (Fclear_image_cache): Expand meaning of the argument.
8369 (mark_image): Mark `dependencies' field.
8370 * xfaces.c (clear_face_cache): Adapt arg to call to clear_image_caches.
8371 (lface_hash): Use XHASH rather than XFASTINT.
8372 (face_at_buffer_position): Fix int -> EMACS_INT position.
8373 * xdisp.c (next_overlay_change): Fix int -> EMACS_INT position.
8374 (select_frame_for_redisplay): Remove code duplication.
8375 (redisplay_internal): Adapt arg to call to clear_image_caches.
8376
8377 2008-02-24 Dan Nicolaescu <dann@ics.uci.edu>
8378
8379 * s/vms4-0.h:
8380 * s/vms4-2.h:
8381 * s/vms4-4.h:
8382 * s/vms5-5.h: Remove, unused.
8383
8384 * s/irix5-2.h:
8385 * s/irix6-0.h:
8386 * s/riscos5.h:
8387 * s/mach-bsd4-3.h:
8388 * m/mips4.h: Remove files for obsolete systems.
8389
8390 * Makefile.in:
8391 * filelock.c:
8392 * unexmips.c:
8393 * m/hp9000s300.h:
8394 * m/iris4d.h:
8395 * s/aix3-1.h:
8396 * s/hpux.h:
8397 * s/msdos.h:
8398 * s/usg5-0.h:
8399 * s/usg5-2-2.h:
8400 * s/usg5-2.h:
8401 * s/usg5-3.h: Remove references to obsolete variables.
8402
8403 * s/irix5-0.h: Remove, move all the contents ...
8404 * s/irix6-5.h: ... here. Simplify.
8405 * config.in: Regenerate.
8406
8407 2008-02-24 Jason Rumney <jasonr@gnu.org>
8408
8409 * w32term.c (x_draw_glyph_string_background): Clear the background
8410 manually when cleartype is in use.
8411 (x_draw_glyph_string_foreground): Draw text transparently when
8412 cleartype is in use.
8413
8414 * w32font.c (w32font_text_extents): Avoid getting HDC and selecting
8415 a font into it unless we have to.
8416
8417 2008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
8418
8419 * intervals.h (INT_LISPLIKE): Remove. It may misfire.
8420 (NULL_INTERVAL_P, SET_INTERVAL_PARENT): Don't use it.
8421
8422 2008-02-18 Jason Rumney <jasonr@gnu.org>
8423
8424 * w32fns.c (Fw32_shell_execute): Encode parameters.
8425
8426 2008-02-09 Eli Zaretskii <eliz@gnu.org>
8427
8428 * fileio.c (syms_of_fileio) <insert-default-directory>: Doc fix.
8429
8430 2008-02-05 Juanma Barranquero <lekktu@gmail.com>
8431
8432 * unexhp9k800.c (read_header): Replace `legal' with `valid'.
8433
8434 2008-02-24 Ulrich Neumerkel <ulrich@complang.tuwien.ac.at> (tiny change)
8435
8436 * xterm.c (x_set_offset): Don't change the gravity if
8437 CHANGE_GRAVITY is -1.
8438
8439 2008-02-23 Chong Yidong <cyd@stupidchicken.com>
8440
8441 * fileio.c (auto_save_error_occurred): New var.
8442 (auto_save_error): Set it.
8443 (Fdo_auto_save): Don't overwrite the error message if an auto-save
8444 error occurred.
8445
8446 2008-02-23 Eli Zaretskii <eliz@gnu.org>
8447
8448 * w32.c (globals_of_w32): Add initializations for
8449 g_b_init_get_sid_sub_authority and
8450 g_b_init_get_sid_sub_authority_count.
8451
8452 2008-02-22 Stefan Monnier <monnier@iro.umontreal.ca>
8453
8454 * font.c (font_match_xlfd, font_check_xlfd_parse): New funs.
8455 (font_parse_xlfd): Use them for sanity check.
8456 (Finternal_set_font_style_table): Make sure the table is bijective.
8457
8458 Consolidate the image_cache to the terminal struct.
8459 * termhooks.h (P_): Remove redundant def.
8460 (struct terminal): New field `image_cache'.
8461 * frame.h (FRAME_IMAGE_CACHE): New macro. Use it everywhere in place
8462 of FRAME_X_IMAGE_CACHE.
8463 * xterm.h (struct x_display_info): Remove image_cache field.
8464 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
8465 * w32term.h (struct w32_display_info): Remove image_cache field.
8466 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
8467 * macterm.h (struct mac_display_info): Remove image_cache field.
8468 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
8469 * xterm.c (x_term_init):
8470 * w32term.c (w32_term_init):
8471 * macterm.c (mac_term_init): Set the image_cache in the terminal.
8472 * dispextern.h (clear_image_cache, forall_images_in_image_cache):
8473 Remove declarations.
8474 (clear_image_caches, mark_image_cache): New declarations.
8475 * xfaces.c (clear_face_cache):
8476 * xdisp.c (redisplay_internal): Use clear_image_caches.
8477 * image.c (clear_image_cache): Don't check that a frame is on
8478 a window-system before checking if it shares the same cache.
8479 (clear_image_caches): New function.
8480 (Fclear_image_cache): Use it.
8481 (mark_image): Move from allo.c.
8482 (mark_image_cache): Move from alloc.c and forall_images_in_image_cache.
8483 * alloc.c (mark_image, mark_image_cache): Move to image.c.
8484 (mark_object): Don't call mark_image_cache for frames.
8485 (mark_terminals): Call mark_image_cache.
8486
8487 * lisp.h (Fdelete_terminal): Declare.
8488
8489 * charset.h (CHECK_CHARSET, CHECK_CHARSET_GET_ID)
8490 (CHECK_CHARSET_GET_ATTR): Don't use the inexistent return value of
8491 wrong_type_argument.
8492
8493 2008-02-22 Kenichi Handa <handa@ni.aist.go.jp>
8494
8495 * Makefile.in (lisp): Remove devanagari.el, kannada.el,
8496 malayalam.el, and tamil.el. Add sinhala.el.
8497
8498 2008-02-21 Stefan Monnier <monnier@iro.umontreal.ca>
8499
8500 * xterm.c (x_connection_closed): Consolidate identical tests.
8501 (x_delete_terminal): Don't crash if called via x_connection_closed.
8502
8503 2008-02-21 Kenichi Handa <handa@ni.aist.go.jp>
8504
8505 * xdisp.c (decode_mode_spec): New arg string.
8506 (display_mode_element): Adjust for the above change.
8507
8508 2008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
8509
8510 * callint.c (Fcall_interactively): Use AREF.
8511
8512 2008-02-18 Stefan Monnier <monnier@iro.umontreal.ca>
8513
8514 * font.c (font_unparse_xlfd): Don't ignore integer pixel size specs.
8515
8516 2008-02-18 Jan Djärv <jan.h.d@swipnet.se>
8517
8518 * xfns.c (Fx_show_tip): Set string to " " if empty.
8519
8520 2008-02-17 Dan Nicolaescu <dann@ics.uci.edu>
8521
8522 * callint.c (syms_of_callint): Initialize Vmark_even_if_inactive
8523 with Qt.
8524
8525 2008-02-17 Kenichi Handa <handa@m17n.org>
8526
8527 * ftfont.c (ftfont_shape): Return Lispy number.
8528
8529 * xfaces.c (prepare_face_for_display): Use display_info->font->fid
8530 for GCs.
8531 (Finternal_set_font_selection_order): Call font_update_sort_order
8532 only when enable_font_backend is set.
8533 (realize_x_face): Set face->font_info to that of default face only
8534 when enable_font_backend is set.
8535
8536 * xdisp.c (handle_composition_prop): Set it->c to the fist
8537 character of the composed region.
8538 (fill_composite_glyph_string): Set base_face->font_info to
8539 s->font_info. Get a face for ascii from base_face->ascii_face.
8540 (BUILD_COMPOSITE_GLYPH_STRING): Call fill_composite_glyph_string
8541 with a face already decided.
8542 (x_produce_glyphs): Be sure to set it->ascent and it->descent to
8543 non-negative.
8544 (x_produce_glyphs): If the composition method is ..._WITH_GLYPH_STRING,
8545 call font_prepare_composition unconditionally.
8546
8547 * xfns.c (x_make_gc): Use the default font id of the frame for GCs.
8548
8549 * xterm.h (struct x_display_info): New member font.
8550
8551 * xterm.c (x_set_cursor_gc): Use display_info->font->fid for GCs.
8552 (x_set_mouse_face_gc, x_new_font): Likewise.
8553 (x_term_init): Setup display_info->font.
8554 (x_delete_terminal): Free display_info->font.
8555
8556 * xfont.c (xfont_draw): Use BLOCK_INPUT and UNBLOCK_INPUT.
8557
8558 * ftxfont.c (ftxfont_default_fid): Delete it.
8559 (ftxfont_open): Set xfont->fid to 0.
8560 (ftxfont_end_for_frame): Clear data specific to the frame and the
8561 font-driver.
8562
8563 * xftfont.c (xftfont_default_fid): Delete it.
8564 (xftfont_open): Set xfont->fid to 0.
8565
8566 * fontset.c (FONTSET_OBJLIST): New macro.
8567 (fontset_find_font): Update font-object list of the fontset.
8568 (free_realized_fontset): New function.
8569 (free_face_fontset): Call free_realized_fontset.
8570 (Ffont_info): Call font_close_object only when enable_font_backend
8571 is set.
8572
8573 * font.c [HAVE_X_WINDOWS]: Include xterm.h.
8574 [HAVE_NTGUI]: Include w32term.h.
8575 [MAC_OS]: Include macterm.ch.
8576 (font_otf_ValueRecord): Use make_number.
8577 (font_finish_cache): Fix handling of reference count.
8578 (font_clear_cache): Update num_fonts.
8579 (font_open_entity): Update smallest_char_width and
8580 smallest_font_height of the frame.
8581 (font_close_object): Update num_fonts.
8582 (Fclear_font_cache): Fix finding the target cache data.
8583
8584 2008-02-16 Glenn Morris <rgm@gnu.org>
8585
8586 * fontset.c (Finternal_char_font): Fix compilation warning.
8587
8588 2008-02-16 Eli Zaretskii <eliz@gnu.org>
8589
8590 * w32.c (init_user_info): Use TOKEN_USER and TOKEN_PRIMARY_GROUP
8591 instead of char arrays. Enlarge the size of array passed to
8592 get_token_information.
8593
8594 * font.c (Ffont_fill_gstring, Fget_font_glyphs): Fix compilation
8595 warnings.
8596
8597 2008-02-15 Dan Nicolaescu <dann@ics.uci.edu>
8598
8599 * .gdbinit: Don't set `args', it breaks gdb --args.
8600
8601 2008-02-14 Stefan Monnier <monnier@iro.umontreal.ca>
8602
8603 * fileio.c (Finsert_file_contents): Adjust offsets when replacing
8604 within a narrowed buffer.
8605
8606 2008-02-14 Kenichi Handa <handa@ni.aist.go.jp>
8607
8608 * coding.c (decode_coding_object, encode_coding_object):
8609 Preserve Vdeactivate_mark. Delete unnecessary call of Fcurrent_buffer.
8610
8611 2008-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
8612
8613 * coding.c (coding_set_destination): Use BEG_BYTE rather than
8614 hardcoding 1.
8615 (detect_coding_system):
8616 * lisp.h (detect_coding_system, chars_in_text, multibyte_chars_in_text)
8617 (string_char_to_byte, string_byte_to_char, insert_from_gap):
8618 * insdel.c (insert_from_gap):
8619 * fns.c (string_char_byte_cache_charpos, string_char_byte_cache_bytepos)
8620 (string_char_to_byte, string_byte_to_char, string_make_multibyte)
8621 (string_to_multibyte):
8622 * character.c (chars_in_text, multibyte_chars_in_text):
8623 * fileio.c (Finsert_file_contents): Use EMACS_INT for buffer positions.
8624
8625 * character.h (FETCH_STRING_CHAR_ADVANCE)
8626 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE)
8627 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA and SREF.
8628 (DEC_POS, BUF_DEC_POS): Use BEG_BYTE rather than hardcoding 1.
8629
8630 * casefiddle.c (casify_region): Only call after-change and composition
8631 functions on the part of the region that was changed.
8632
8633 * keyboard.c (read_avail_input):
8634 * frame.c (Fdelete_frame): Call Fdelete_terminal.
8635
8636 2008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
8637
8638 * buffer.c (clone_per_buffer_values, reset_buffer_local_variables)
8639 (Fbuffer_local_value, Fbuffer_local_variables): Don't forget undo_list.
8640
8641 2008-02-11 Juanma Barranquero <lekktu@gmail.com>
8642
8643 * w32menu.c (push_submenu_start, push_submenu_end)
8644 (push_left_right_boundary, push_menu_pane, push_menu_item):
8645 * keyboard.c (read_key_sequence): Don't pass args with side effects
8646 to AREF, it fails when compiling with -DENABLE_CHECKING.
8647
8648 2008-02-11 Kenichi Handa <handa@ni.aist.go.jp>
8649
8650 * Makefile.in (${lispsource}international/charprop.el):
8651 Delete this target.
8652
8653 * search.c (boyer_moore): Fix incorrect synching of the trunk and
8654 emacs-unicode-2.
8655
8656 2008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
8657
8658 * terminal.c (Fdelete_terminal): Clean up the `force' path.
8659
8660 2008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
8661
8662 * frame.c (Qnoelisp): New symbol.
8663 (syms_of_frame): Initialize it.
8664 (Fdelete_frame): Use it to distinguish a mere `force' passed from some
8665 harmless Elisp code, from a strong `force' from x_connection_closed.
8666 * frame.h (Qnoelisp): Declare.
8667 * xterm.c (x_connection_closed): Pass `noelisp'.
8668
8669 * lisp.h (struct Lisp_Misc_Any, struct Lisp_Marker)
8670 (struct Lisp_Overlay, struct Lisp_Kboard_Objfwd)
8671 (struct Lisp_Save_Value, struct Lisp_Free): Use enum Lisp_Misc_Type
8672 rather than `int' for the type of `type'.
8673
8674 2008-02-10 Dan Nicolaescu <dann@ics.uci.edu>
8675
8676 * s/gnu-linux.h: Remove support for non-ELF and linux-1.x.
8677
8678 * Makefile.in (GNUC): Remove support for gcc-1.x.
8679
8680 2008-02-10 Richard Stallman <rms@gnu.org>
8681
8682 * lisp.h (ASET): Use AREF, not ASLOT.
8683
8684 2008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
8685
8686 * lisp.h (ASET): Check bounds.
8687
8688 2008-02-10 Glenn Morris <rgm@gnu.org>
8689
8690 * buffer.c (mode-name): Doc fix.
8691
8692 2008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
8693
8694 * Makefile.in:
8695 * emacs.c:
8696 * gmalloc.c:
8697 * keyboard.c:
8698 * lisp.h:
8699 * m/ibm370aix.h:
8700 * process.c:
8701 * regex.c:
8702 * s/hpux.h:
8703 * sysdep.c:
8704 * sysselect.h:
8705 * systty.h:
8706 * unexec.c:
8707 * w32term.c:
8708 * xsmfns.c:
8709 * xterm.c: Remove code that deals with obsolete variables.
8710
8711 * s/msdos.h (DONT_NEED_ENVIRON): Don't define.
8712
8713 * ecrt0.c: Replace the DONT_NEED_ENVIRON test with MSDOS test,
8714 nothing else needs it anymore.
8715
8716 2008-02-09 Eli Zaretskii <eliz@gnu.org>
8717
8718 * buffer.h (FETCH_CHAR_AS_MULTIBYTE): Use unibyte_to_multibyte_table
8719 instead of unibyte_char_to_multibyte.
8720
8721 2008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
8722
8723 * s/gnu-linux.h: Remove commented out code.
8724
8725 * unexec.c: Remove references to obsolete variable COFF_ENCAPSULATE.
8726
8727 * Makefile.in: Update what RMS says about using autoconf.
8728 (C_COMPILER, COFF_ENCAPSULATE, MAKE_PARALLEL): Remove obsolete variable.
8729 (C_SWITCH_MACHINE_1, C_SWITCH_SYSTEM_1, C_SWITCH_SITE_1)
8730 (C_SWITCH_X_SITE_1, C_SWITCH_X_MACHINE_1)
8731 (C_SWITCH_X_SYSTEM_1): Move invariant code outside conditional.
8732
8733 2008-02-08 Stefan Monnier <monnier@iro.umontreal.ca>
8734
8735 * keymap.c (Fkey_description): Move side effect outside of macro call.
8736
8737 * xfaces.c (Finternal_make_lisp_face):
8738 * keyboard.c (add_command_key, parse_menu_item): Use ASET.
8739
8740 * fontset.c (free_face_fontset): Use FONTSET_FROM_ID.
8741 (syms_of_fontset): Use ASET.
8742
8743 * fns.c (concat): Move side effect outside of macro call.
8744 (hash_clear): Use ASET.
8745
8746 2008-02-08 Richard Stallman <rms@gnu.org>
8747
8748 * frame.c (Fdelete_frame): If FORCE, don't call hooks.
8749 If FORCE, and frame has a surrogate minibuffer for another frame,
8750 delete the other frame first.
8751
8752 2008-02-07 Timo Savola <timo.savola@iki.fi>
8753
8754 * xterm.c (x_detect_focus_change): Handle embed client message.
8755 (handle_one_xevent): Ditto.
8756 (handle_one_xevent): If embedded and we get a button press/release,
8757 request focus.
8758 (xembed_set_info, xembed_send_message): New functions.
8759 (x_make_frame_visible): Call xembed_set_info if embedded.
8760 (x_make_frame_invisible): Call xembed_set_info if embedded.
8761 (x_term_init): Initialize Xatom_XEMBED.
8762 (x_make_frame_visible): Check for FRAME_X_EMBEDDED_P also.
8763 (x_iconify_frame): Ditto.
8764
8765 * xterm.h (struct x_display_info): Add AtomXatom_XEMBED.
8766 (enum xembed_info, enum xembed_message, enum xembed_focus)
8767 (enum xembed_modifier, enum xembed_accelerator): New.
8768 (xembed_set_info, xembed_send_message): Declare.
8769 (FRAME_X_EMBEDDED_P): New.
8770
8771 * gtkutil.c (xg_create_frame_widgets): If frame is embedded, call
8772 gtk_plug_new.
8773
8774 * xfns.c (Fx_create_frame): Do not override the explicitly set parent
8775 window ID of a frame.
8776 (x_window): Reparent frame if embedded.
8777 (Fx_create_frame): Don't set border width if embedded.
8778
8779 * emacs.c (USAGE3): Add --parent-id.
8780 (standard_args): Ditto.
8781
8782 2008-02-07 Jan Djärv <jan.h.d@swipnet.se>
8783
8784 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): Use "do...while (0)".
8785
8786 2008-02-07 Jim Meyering <meyering@redhat.com>
8787
8788 Use "do...while (0)", not "if (1)...else" in macro definitions.
8789 The latter provokes a warning from gcc about the empty else, when
8790 followed by ";". Also, without that trailing semicolon, it would
8791 silently swallow up any following statement.
8792 * syntax.h (SETUP_SYNTAX_TABLE)
8793 (SETUP_SYNTAX_TABLE_FOR_OBJECT): Likewise.
8794 * buffer.h (DECODE_POSITION): Likewise.
8795 * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise.
8796 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): Likewise.
8797 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Likewise.
8798 (FETCH_CHAR_ADVANCE): Likewise.
8799 (FETCH_CHAR_ADVANCE_NO_CHECK): Likewise.
8800
8801 2008-02-07 Jim Meyering <meyering@redhat.com>
8802
8803 * lread.c [lint]: Don't include <sys/inode.h>.
8804
8805 2008-02-07 Stefan Monnier <monnier@iro.umontreal.ca>
8806
8807 * xselect.c (x_handle_dnd_message):
8808 * xmenu.c (digest_single_submenu, xmenu_show):
8809 * xdisp.c (with_echo_area_buffer_unwind_data)
8810 (format_mode_line_unwind_data, unwind_format_mode_line)
8811 (display_menu_bar):
8812 * eval.c (Ffetch_bytecode):
8813 * doc.c (store_function_docstring):
8814 * ccl.c (resolve_symbol_ccl_program, ccl_get_compiled_code)
8815 (Fccl_execute, Fccl_execute_on_string, Fregister_code_conversion_map):
8816 * buffer.c (add_overlay_mod_hooklist): Use ASET.
8817
8818 2008-02-07 Kenichi Handa <handa@m17n.org>
8819
8820 * ftxfont.c (ftxfont_open): Don't set
8821 dpyinfo->smallest_font_height and dpyinfo->smallest_char_width to 0.
8822
8823 * ftfont.c (ftfont_open): Fix previous change.
8824
8825 2008-02-06 Jason Rumney <jasonr@gnu.org>
8826
8827 * w32font.c (w32font_text_extents): Fill in lbearing metric.
8828 Use cached metrics for ASCII characters.
8829 (w32font_open_internal): Don't set font's owning_frame.
8830 Cache metrics for ASCII characters.
8831
8832 * w32font.h (struct w32font_info): Add ascii_metrics.
8833 Remove owning_frame.
8834
8835 2008-02-06 Kenichi Handa <handa@ni.aist.go.jp>
8836
8837 * xdisp.c (x_produce_glyphs): Don't set it->ascent and it->descent
8838 to negative value.
8839
8840 * ftxfont.c (ftxfont_draw): Use s->font_info, not face->font_info.
8841
8842 * ftfont.c (ftfont_open): Fix calculation of font->font.average_width.
8843
8844 * charset.c (syms_of_charset): Set QCtest and Qeq.
8845
8846 2008-02-06 Stefan Monnier <monnier@iro.umontreal.ca>
8847
8848 * process.c (Fstart_process):
8849 * callproc.c (Fcall_process): Handle the case where
8850 Funhandled_file_name_directory returns nil.
8851
8852 * font.h (enum lgstring_indices, enum lglyph_indices): New enums.
8853 (LGSTRING_SLOT, LGSTRING_SET_SLOT): New macros.
8854 * font.c (check_gstring): Use them and AREF to access the vector before
8855 we know it's really a gstring.
8856 (Ffont_shape_text): Fix typo.
8857 (Ffont_shape_text, Ffont_otf_alternates): Fix up int/Lisp_Oject mixups.
8858
8859 * composite.h (Fcompose_region_internal, Fcompose_string_internal):
8860 Declare.
8861
8862 * chartab.c (make_sub_char_table): Remove noop-yet-incorrect statement.
8863
8864 2008-02-05 Jason Rumney <jasonr@gnu.org>
8865
8866 * w32font.c (w32font_open_internal): Fill min_width with tmAveCharWidth.
8867 Set smallest_font_height and smallest_char_width in display info.
8868
8869 2008-02-05 Kenichi Handa <handa@ni.aist.go.jp>
8870
8871 * coding.c (decode_eol): Pay attention to coding->dst_multibyte.
8872
8873 2008-02-05 Miles Bader <miles@gnu.org>
8874
8875 * xfaces.c (get_lface_attributes, merge_named_face)
8876 (lookup_named_face, lookup_derived_face, realize_named_face):
8877 Revert 2008-02-01 change by cyd@stupidchicken.com.
8878
8879 2008-02-04 Kenichi Handa <handa@ni.aist.go.jp>
8880
8881 * fontset.c (Ffontset_info): Handle the case of inhibitting the
8882 fallback fonts.
8883 (Ffontset_info) [USE_FONT_BACKEND]: Fix getting of opened font names.
8884
8885 2008-02-04 Jason Rumney <jasonr@gnu.org>
8886
8887 * w32font.c (w32font_open_internal): Use font_unparse_fcname to
8888 set full_name.
8889 (w32font_open_internal): Use xmalloc, xrealloc, xfree.
8890
8891 2008-02-03 Jason Rumney <jasonr@gnu.org>
8892
8893 * makefile.w32-in (OBJ1): Include font.o here.
8894 (FONTOBJ) [USE_FONTBACKEND]: Instead of here.
8895
8896 2008-02-02 Jason Rumney <jasonr@gnu.org>
8897
8898 * makefile.w32-in (temacs): Bump EMHEAP to 21.
8899
8900 2008-02-01 Jason Rumney <jasonr@gnu.org>
8901
8902 * s/cygwin.h: Define VIRT_ADDR_VARIES.
8903
8904 * puresize.h [VIRT_ADDR_VARIES]: Don't include CYGWIN in condition.
8905
8906 2008-02-01 Andreas Schwab <schwab@suse.de>
8907
8908 * Makefile.in (shortlisp, lisp): Update for rename of
8909 ../lisp/language/myanmar.el.
8910
8911 2008-02-01 Chong Yidong <cyd@stupidchicken.com>
8912
8913 * xfaces.c (get_lface_attributes): Delete function.
8914 (merge_named_face, lookup_named_face, lookup_derived_face)
8915 (realize_named_face): Call lface_from_face_name directly, and use
8916 the fact that merge_face_vectors does not alter its FROM argument.
8917
8918 2008-02-01 Jason Rumney <jasonr@gnu.org>
8919
8920 * w32term.c (w32_read_socket) <WM_CHAR>: Decode non-Unicode
8921 input in the default locale. Handle non-Unicode multibyte input.
8922
8923 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8924
8925 * fontset.c (reorder_font_vector): Exclude nil elements from the
8926 font group. Don't try multiple fonts.
8927 (fontset_font): Adjust for the above change.
8928 (Finternal_char_font): Return nil if the found font doesn't
8929 contain the character ch.
8930
8931 * Makefile.in (lisp, shortlisp): Add cham.el.
8932
8933 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8934
8935 * font.h (FONTP): Make it return 1 also for a font-object.
8936
8937 * .gdbinit (xfontset): New function.
8938
8939 * font.c (font_find_for_lface): Check if the character C is
8940 supported or not only for the first font.
8941
8942 * fontset.c (reorder_font_vector): Fix typo.
8943 (fontset_find_font): Don't add a font-spec specifying a script.
8944 Use 0 (not Qt) for the indication of empty font-group. Change the
8945 format of RFONT-DEF. Return Qt if no font in the font-group
8946 support the character.
8947 (fontset_font): Adjust for the above change. If no font was
8948 found the character, remember that.
8949 (face_for_char): Adjust for the change of RFONT-DEF.
8950 (Fset_fontset_font): Allow nil for FONT-SPEC to explicitly specify
8951 no font for the target.
8952 (Finternal_char_font): Adjust for the change of RFONT-DEF.
8953
8954 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8955
8956 * font.c (font_load_for_face): Handle the case that the font in
8957 face->lface is a string.
8958
8959 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8960
8961 * xfaces.c (set_lface_from_font_and_fontset): Set the fontname in lface.
8962
8963 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8964
8965 * xfaces.c (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]:
8966 Fix previous change. If the frame is not on a window system,
8967 signal an error.
8968
8969 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8970
8971 * coding.c (decode_coding_object, encode_coding_object): Adjust
8972 marker positions after conversion.
8973
8974 * lisp.h (struct Lisp_Marker): New member need_adjustment.
8975
8976 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8977
8978 * font.c (font_find_for_lface): Fix the handling of the return
8979 value of font_has_char.
8980 (Ffont_shape_text): Fix previous change.
8981
8982 * fontset.c (FONTSET_REF_AND_RANGE): Delete it.
8983 (fontset_ref_and_range): Delete it.
8984 (fontset_find_font): Call char_table_ref_and_range instead of
8985 FONTSET_REF_AND_RANGE.
8986 (make_fontset): Don't setup font groups of Latin here.
8987 (Fset_fontset_font): Don't overwrite the setting of FONTSET_ASCII.
8988 (new_fontset_from_font): Make the specified font the default for
8989 all Latin characters.
8990
8991 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8992
8993 * xfaces.c (Finternal_set_lisp_face_attribute): Check if the frame
8994 is on a window system before accessing the fontset of the frame.
8995
8996 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8997
8998 * Makefile.in (lisp, shortlisp): Add kherm.el and myanmar.el.
8999
9000 * ftfont.c (ftfont_driver): Set ftfont_shape in ftfont_driver only
9001 when both HAVE_M17N_FLT and HAVE_LIBOTF are defined.
9002
9003 * font.c (Ffont_shape_text): If the font driver doesn't have a
9004 shaper function, make zero-width glyphs to have at least one-pixel
9005 width. Fix setting of `to' field of glyphs.
9006
9007 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9008
9009 * ftfont.c (ftfont_drive_otf): Fix setting of FROM and TO slots of
9010 glyphs.
9011
9012 * font.h (struct font_driver): Improve docstring of member `shape'.
9013
9014 2008-02-01 Kenichi Handa <handa@m17n.org>
9015
9016 * composite.c (syms_of_composite): Fix docstring of
9017 auto-composition-function.
9018
9019 * font.h (LGLYPH_SIZE): New macro.
9020
9021 * font.c (Ffont_fill_gstring): Stop filling when a character not
9022 supported by the font is found.
9023 (Ffont_shape_text): When a shape callback function returns nil,
9024 try at most two more times with larger gstring.
9025 (Ffont_at): Fix getting of w. Call font_at with correct 5th argument.
9026
9027 * xdisp.c (handle_auto_composed_prop): Change the argument to
9028 auto-composition-function.
9029
9030 * ftfont.c (ftfont_encode_char): Use the macro FONT_INVALID_CODE.
9031 (ftfont_shape_by_flt): If an element of lgstring is nil, make a
9032 Lispy glyph and store it in the lgstring.
9033
9034 * xfont.c (xfont_encode_char): Use the macro FONT_INVALID_CODE.
9035
9036 * xftfont.c (xftfont_encode_char): Use the macro FONT_INVALID_CODE.
9037
9038 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9039
9040 * font.c (Ffont_shape_text): Avoid unnecessary composition.
9041
9042 * fontset.c (Vfont_encoding_charset_alist): New variable.
9043 (syms_of_fontset): DEFVAR it.
9044 (reorder_font_vector, fontset_find_font): Optimize for the case of
9045 no need of reordering.
9046 (face_for_char): Map the charset property by
9047 Vfont_encoding_charset_alist.
9048
9049 2008-02-01 Jason Rumney <jasonr@gnu.org>
9050
9051 * w32font.c (logfonts_match): Don't check adstyle here.
9052 (font_matches_spec): Check here against physical font instead.
9053 (add_font_entity_to_list): Avoid some substitutions.
9054
9055 * font.c (font_parse_fcname): Default weight and slant to normal.
9056 (font_score): Prefer normal fonts if weight or slant unspecified.
9057 (font_score) [WINDOWSNT]: Scale weight difference down to closer
9058 match freetype scores.
9059
9060 2008-02-01 Jason Rumney <jasonr@gnu.org>
9061
9062 * w32font.c (w32font_text_extents): Don't use the frame stored in the
9063 font, as it may have been deleted.
9064 (w32_enumfont_pattern_entity): Map generic family to adstyle using
9065 most common hyphenless variation.
9066 (logfonts_match): Check generic family.
9067 (font_matches_spec): Don't check generic family here.
9068 (fill_in_logfont): Set generic family based on adstyle.
9069
9070 * w32font.h (w32font_get_cache): Update declaration.
9071
9072 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9073
9074 * ftfont.c (ftfont_get_cache): Adjust the argument type.
9075
9076 * frame.c (x_set_font_backend): Don't call Fclear_font_cache.
9077 If none of the new drivers are available, call font_update_drivers
9078 with the old drivers.
9079
9080 * w32font.c (w32font_get_cache): Adjust the argument type.
9081
9082 * xfont.c (xfont_get_cache): Adjust the argument type.
9083
9084 * font.h (struct font_driver): Change argument type of get_cache.
9085
9086 * xftfont.c (xftfont_start_for_frame): Delete prototype.
9087
9088 * font.c (Ffont_get): Fix arguments to Fassoc.
9089 (font_prepare_cache, font_finish_cache, font_get_cache): New functions.
9090 (font_clear_cache): New function.
9091 (font_list_entities, font_matching_entity): Use font_get_cache.
9092 (font_update_drivers): Call font_clear_cache when finishing a driver.
9093
9094 * fontset.c (fontset_find_font): Fix previous change.
9095
9096 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9097
9098 * xterm.c (x_check_font) [USE_FONT_BACKEND]: Don't access
9099 dpyinfo->font_table.
9100 (x_delete_display) [USE_FONT_BACKEND]: Likewise.
9101 (x_delete_terminal) [USE_FONT_BACKEND]: Likewise.
9102
9103 * font.c (font_at): Handle the case that the arg C is negative.
9104 Handle the unibyte case.
9105 (Ffont_at): Call font_at with the arg C -1.
9106
9107 * xdisp.c (handle_auto_composed_prop): Don't get a character at
9108 the position here, and call font_at with the arg C -1.
9109 Don't check the range of the existing composition at the point.
9110
9111 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9112
9113 * fontset.c (fontset_add): New args charset_id and family.
9114 Change caller.
9115 (load_font_get_repertory, fontset_find_font): Assume that
9116 font_spec is always a font-spec object.
9117 (Fset_fontset_font): Always store a font-spec object in a fontset.
9118
9119 * xdisp.c (handle_auto_composed_prop): Use Fget_text_property
9120 instead of get_property_and_range.
9121
9122 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9123
9124 * xftfont.c (struct xftfont_info): Delete the member ft_face.
9125 (xftfont_open): Don't keep locking face.
9126 (xftfont_close): Don't unlock face.
9127 (xftfont_anchor_point, xftfont_shape): Lock and unlock face.
9128
9129 * fontset.c (fontset_find_font): Don't prefer a font of
9130 supplementary charset.
9131
9132 2008-02-01 Kenichi Handa <handa@m17n.org>
9133
9134 * ftfont.c (struct OpenTypeSpec): Rename members script_tag to
9135 script, langsys_tag to langsys, new member script.
9136 (OTF_TAG_STR): Terminate by '\0'.
9137 (ftfont_get_open_type_spec): If :otf prop is spec, limit the
9138 listing to the script specified in that property. Fix arg to
9139 OTF_check_features.
9140
9141 2008-02-01 Jason Rumney <jasonr@gnu.org>
9142
9143 * w32font.h: New file.
9144
9145 * w32font.c: Include it.
9146 (struct w32font_info): Add owning_frame field. Move to w32font.h.
9147 (w32font_open): Set owning_frame.
9148 (w32font_text_extents): Use owning_frame.
9149 (struct font_callback_data): Add opentype_only field.
9150 (add_font_entity_to_list): Use it to filter fonts.
9151 Don't check against full name.
9152 (w32font_list_internal): New function.
9153 (w32font_list): Use it.
9154 (w32font_match_internal): New function.
9155 (w32font_match): Use it.
9156 (w32font_open_internal): New function.
9157 (w32font_open): Use it.
9158 (w32font_get_cache, w32font_close, w32font_has_char)
9159 (w32font_encode_char, w32font_text_extents, w32font_draw):
9160 Make non-static.
9161
9162 * makefile.w32-in (w32font.o): Depend on w32font.h.
9163
9164 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9165
9166 * charset.c (Fdefine_charset_internal): Record a supplementary
9167 charset at the tail of Vcharset_order_list.
9168
9169 * font.c (Ffont_shape_text): Fix the return value.
9170
9171 * ftfont.c (OTF_SYM_TAG, OTF_TAG_STR): Fix argument names.
9172
9173 * xdisp.c (handle_auto_composed_prop): Fix previous change.
9174
9175 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9176
9177 * ftfont.c (struct OpenTypeSpec): New struct.
9178 (OTF_SYM_TAG, OTF_TAG_STR): New macros.
9179 (ftfont_get_open_type_spec): New function.
9180 (ftfont_list) [HAVE_LIBOTF]: Check otf-spec property.
9181
9182 * lread.c (read1): Redo the previous change with checking Vpurify_flag.
9183
9184 2008-02-01 Jason Rumney <jasonr@gnu.org>
9185
9186 * w32font.c (add_font_entity_to_list): Compare only the beginning
9187 of full name.
9188
9189 2008-02-01 Kenichi Handa <handa@m17n.org>
9190
9191 * xdisp.c (handle_auto_composed_prop): Simplify the code.
9192 Never return HANDLED_RECOMPUTE_PROPS.
9193
9194 2008-02-01 Kenichi Handa <handa@m17n.org>
9195
9196 * font.c (font_gstring_produce): Delete it.
9197
9198 * composite.h (COMPOSITION_METHOD):
9199 Handle COMPOSITION_WITH_GLYPH_STRING.
9200
9201 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9202
9203 * xfont.c (Qx): Delete.
9204 (syms_of_xfont): Don't initialize Qx.
9205
9206 * composite.h (enum composition_method):
9207 Define COMPOSITION_WITH_GLYPH_STRING unconditionally.
9208
9209 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9210
9211 * xfaces.c [HAVE_WINDOW_SYSTEM]: Include "font.h" unconditionally.
9212 (choose_face_font): Accept new form of font-spec.
9213
9214 * frame.h (font_driver_list): Declare it unconditionally.
9215 (struct frame): Define members font_driver_list and font_data_list
9216 unconditionally.
9217
9218 * fontset.c: Include "font.h" unconditionally.
9219 (generate_ascii_font_name): Use font_parse_xlfd and font_unparse_xlfd.
9220 (Fset_fontset_font): Accept a font-spec object.
9221
9222 * font.c (font_unparse_xlfd): If pixel_size is zero, make the
9223 PIXEL_SIZE part a wild card.
9224
9225 * dispextern.h (struct glyph_string): Define members clip and
9226 num_clips unconditionally.
9227 (struct face): Define members font_info and extra unconditionally.
9228
9229 * ftfont.c (ftfont_open): Set members maybe_otf and otf of
9230 ftfont_info only when HAVE_LIBOTF is defined.
9231
9232 2008-02-01 Andreas Schwab <schwab@suse.de>
9233
9234 * xdisp.c (back_to_previous_visible_line_start): Fix type of beg
9235 and end.
9236
9237 2008-02-01 Jason Rumney <jasonr@gnu.org>
9238
9239 * w32font.c (w32font_driver): Add new fields.
9240
9241 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9242
9243 * Makefile.in (ALL_CFLAGS): Add @M17N_FLT_CFLAGS@.
9244 (FONTSRC, FONTOBJ) [HAVE_WINDOW_SYSTEM]: Set them unconditionally.
9245 (LIBES): Add @M17N_FLT_CFLAGS@.
9246
9247 * composite.c (compose_text): Don't treat the new style
9248 composition specially.
9249
9250 * emacs.c (main): Call syms_of_font unconditionally.
9251
9252 * font.h (FONT_ENTITY_NOT_LOADABLE)
9253 (FONT_ENTITY_SET_NOT_LOADABLE): New macros.
9254 (LGSTRING_XXXX, LGLYPH_XXX): Adjust for the change of lispy gstring.
9255 (struct font_driver): New member shape.
9256 (font_registry_charsets): Extern it.
9257 (font_find_for_lface, font_prepare_composition): Adjust prototype.
9258 (font_otf_capability, font_drive_otf): Delete their externs.
9259
9260 * font.c [HAVE_M17N_FLT]: Include <m17n-flt.h>.
9261 (font_charset_alist, font_registry_charsets): Move from xfont.c
9262 and rename.
9263 (font_prop_validate_otf): New function.
9264 (font_property_table): Register it for QCotf.
9265 (DEVICE_DELTA, adjust_anchor, REPLACEMENT_CHARACTER)
9266 (font_drive_otf): Delete.
9267 (font_prepare_composition): New arg F. Adjust for the change of
9268 lispy gstring.
9269 (font_find_for_lface): New arg C.
9270 (font_load_for_face): Adjust for the change of font_find_for_lface.
9271 (Ffont_make_gstring, Ffont_fill_gstring): Adjust for the change of
9272 lispy gstring.
9273 (Ffont_shape_text): New function.
9274 (Fopen_font): If the font size is not given, use 12-pixel.
9275 (Ffont_at): New arg STRING.
9276 (syms_of_font): Initalize font_charset_alist.
9277 Declare Ffont_shape_text as a Lisp function. Call syms_of_XXfont
9278 conditionally.
9279
9280 * fontset.c (fontset_find_font) [USE_FONT_BACKEND]: Try multiple
9281 fonts of the same font-spec. Change the format of RFONT-DEF.
9282 (face_for_char, make_fontset_for_ascii_face, Finternal_char_font):
9283 Adjust for the change of RFONT-DEF.
9284 (Fset_fontset_font) [USE_FONT_BACKEND]: Handle new format of font-spec.
9285
9286 * ftfont.h: New file.
9287
9288 * ftfont.c: Don't include Freetype headers. Include "ftfont.h".
9289 (struct ftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
9290 (ftfont_open) [HAVE_LIBOTF]: Initialize the above members.
9291 (ftfont_driver) [HAVE_LIBOTF, HAVE_M17N_FLT]: Don't set
9292 font_otf_capability and font_drive_otf, set ftfont_shape.
9293 (ftfont_list): Adjust for the change of :otf property value.
9294 (struct MFLTFontFT) [HAVE_LIBOTF, HAVE_M17N_FLT]: New struct.
9295 (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_check_otf)
9296 (adjust_anchor, ftfont_drive_otf, ftfont_shape_by_flt)
9297 (ftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
9298 (DEVICE_DELTA) [HAVE_LIBOTF, HAVE_M17N_FLT]: New macro.
9299 (otf_gstring, gstring, m17n_flt_initialized): New variables.
9300
9301 * w32term.c (x_draw_composite_glyph_string_foreground):
9302 Adjust for the change of lispy gstring.
9303
9304 * xdisp.c (handle_composition_prop): Adjust for the change of
9305 lispy gstring. Call a function for auto-composition with the
9306 third arg it->window.
9307 (fill_composite_glyph_string): Adjust for the change of lispy string.
9308 (x_produce_glyphs): Adjust for the change of font_prepare_compositionl.
9309
9310 * xfaces.c (set_font_frame_param): Adjust for the change of
9311 font_find_for_lface.
9312
9313 * xfont.c (x_font_charset_alist): Move to font.c and rename.
9314 (xfont_registry_charsets): Likewise. Change caller.
9315 (syms_of_xfont): Don't handle x_font_charset_alist.
9316
9317 * xftfont.c: Include "ftfont.h".
9318 (struct xftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
9319 (xftfont_open) [HAVE_LIBOTF]: Initialize the above members.
9320 (xftfont_close) [HAVE_LIBOTF]: Close otf.
9321 (xftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
9322 (syms_of_xftfont) [HAVE_LIBOTF, HAVE_M17N_FLT]:
9323 Set xftfont_driver.shape to xftfont_shape.
9324
9325 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
9326 the change of lispy gstring.
9327
9328 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9329
9330 * ftxfont.c (ftxfont_end_for_frame): Fix array indexing error.
9331
9332 2008-02-01 Jason Rumney <jasonr@gnu.org>
9333
9334 * w32font.c (w32font_draw): Fill background manually.
9335
9336 2008-02-01 Jason Rumney <jasonr@gnu.org>
9337
9338 * font.c (Qfontp): Remove unused symbol.
9339 (QCantialias): New symbol.
9340 (syms_of_font): Define it.
9341 (font_property_table): Set a validator for QCantialias.
9342
9343 * w32font.c (CLEARTYPE_QUALITY, CLEARTYPE_NATURAL_QUALITY):
9344 Define if not already.
9345 (QCfamily): Share with xfaces.c.
9346 (Qstandard, Qsubpixel, Qnatural): New symbols.
9347 (syms_of_w32font): Define them. Don't define QCfamily here.
9348 (w32_antialias_type, lispy_antialias_type): New functions.
9349 (w32_enumfont_pattern_entity): New arg requested_font.
9350 Set antialias parameter if non-default was requested.
9351 (fill_in_logfont): Fill in lfQuality if :antialias specified.
9352
9353 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9354
9355 * lread.c (read1): Undo the previous change.
9356
9357 2008-02-01 CHENG Gao <chenggao@gmail.com> (tiny change)
9358
9359 * frame.c (Fdelete_frame): Call font_update_drivers only when
9360 USE_FONT_BACKEND is defined.
9361
9362 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9363
9364 * font.h (struct font_bitmap): New member bits_per_pixel.
9365 (struct font_driver): New members start_for_frame and end_for_frame.
9366 (struct font_data_list): New struct.
9367 (font_put_frame_data, font_get_frame_data): Extern them.
9368
9369 * frame.h (struct frame): New member font_data_list.
9370
9371 * font.c (font_update_drivers): Call driver->start_for_frame and
9372 driver->end_for_frame at proper timings.
9373 (font_put_frame_data, font_get_frame_data): New functions.
9374 (Ffont_spec): Add usage in the docstring.
9375
9376 * frame.c (make_frame): Initialize f->font_data_list to NULL.
9377 (Fdelete_frame): Call font_update_drivers.
9378
9379 * xftfont.c (struct xftface_info): Delete the member xft_draw.
9380 (xftfont_prepare_face, xftfont_done_face): Adjust for the above change.
9381 (xftfont_get_xft_draw): New function.
9382 (xftfont_draw): Get XftDraw by xftfont_get_xft_draw.
9383 (xftfont_end_for_frame): New function.
9384 (syms_of_xftfont): Set xftfont_driver.end_for_frame.
9385
9386 * ftxfont.c (ftxfont_get_gcs): Rename from ftxfont_create_gcs.
9387 Change argument. Cache GCs in the per-frame data.
9388 (struct ftxfont_frame_data): New struct.
9389 (ftxfont_draw_bitmap): New arg gc_fore and flush.
9390 (ftxfont_prepare_face, ftxfont_done_face): Delete them.
9391 (ftxfont_draw): Get GCs by ftxfont_get_gcs. Reflect s->clip in GCs.
9392 (ftxfont_end_for_frame): New function.
9393 (syms_of_ftxfont): Set ftxfont_driver.end_for_frame.
9394
9395 * ftfont.c (ftfont_get_bitmap): Set bitmap->bits_per_pixel.
9396
9397 2008-02-01 Kenichi Handa <handa@m17n.org>
9398
9399 * xselect.c (Vselection_coding_system)
9400 (Vnext_selection_coding_system): Delete them.
9401 (syms_of_xselect): Don't declare selection-coding-system and
9402 next-selection-coding-system. They are declared in select.el.
9403
9404 2008-02-01 Jason Rumney <jasonr@gnu.org>
9405
9406 * w32term.h (WM_UNICHAR, UNICODE_NOCHAR): Define if not already.
9407
9408 * w32fns.c: Include imm.h.
9409 (get_composition_string_fn, get_ime_context_fn): New optional
9410 system functions.
9411 (globals_of_w32fns): Load them from imm32.dll.
9412 (ignore_ime_char): New flag.
9413 (w32_wnd_proc): Handle WM_UNICHAR, WM_IME_CHAR and
9414 WM_IME_ENDCOMPOSITION messages.
9415
9416 * w32term.c (w32_read_socket) [WM_UNICHAR]: Handle as
9417 MULTIBYTE_CHAR_KEYSTROKE_EVENT.
9418
9419 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9420
9421 * lread.c (READCHAR): Call readchar with the 2nd arg NULL.
9422 (READCHAR_REPORT_MULTIBYTE): New macro.
9423 (readchar): New 2nd arg MULTIBYTE.
9424 (read1): Use READCHAR_REPORT_MULTIBYTE for the first read.
9425 Make symbol's name multibyte according to the multibyteness of the
9426 source.
9427
9428 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9429
9430 * xfaces.c (face_for_overlay_string): Call lookup_face with
9431 correct arguments (fix of synching with the trunk).
9432
9433 2008-02-01 Kenichi Handa <handa@m17n.org>
9434
9435 * font.c (font_prop_validate_symbol, font_prop_validate_style)
9436 (font_prop_validate_non_neg, font_prop_validate_spacing):
9437 Delete argument prop_index.
9438 (font_property_table): Change arguments to validater. Change Callers.
9439 (font_lispy_object): Delete.
9440 (font_at): Use font_find_object instead fo font_lispy_object.
9441
9442 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9443
9444 * fileio.c (Fexpand_file_name): Adjust multibyteness of directory
9445 and file names.
9446
9447 2008-02-01 Jason Rumney <jasonr@gnu.org>
9448
9449 * w32font.c (add_font_name_to_list): Avoid vertical fonts.
9450 (font_matches_spec): Remove debug output.
9451 (add_font_entity_to_list): Avoid using substituted fonts.
9452
9453 2008-02-01 Jason Rumney <jasonr@gnu.org>
9454
9455 * doc.c (Fsnarf_documentation):
9456 * Makefile.in (temacs${EXEEXT}, mostlyclean): Undo last change.
9457
9458 2008-02-01 Miles Bader <miles@gnu.org>
9459
9460 * dispextern.h (struct glyph_row): Only define "clip" field if
9461 HAVE_WINDOW_SYSTEM is defined.
9462
9463 2008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
9464
9465 Fix up multi-tty merge.
9466
9467 * xterm.c (handle_one_xevent): Remove duplicate code and fix up nesting
9468 and indentation.
9469
9470 * xfaces.c (free_realized_face, clear_face_gcs):
9471 Include font_done_for_face in the input_blocked section, just in case.
9472
9473 * xdisp.c (decode_mode_spec): Use terminal-local coding systems.
9474 (get_char_face_and_encoding): Undo last change and remove the *other*
9475 duplicate definition (i.e. keep the one that's better scoped and that
9476 includes code for the font-backend).
9477
9478 * terminal.c (create_terminal): Default keyboard_coding to
9479 `no-conversion' and terminal_coding to `undecided'.
9480
9481 * lread.c (read1): Use XSETPVECTYPE to set a pseudovector's tag.
9482
9483 * fontset.c (free_realized_fontsets): Check that the table entry does
9484 contain a fontset before trying to compare it to `base'.
9485
9486 * emacs.c (main): Move syms_of_data, syms_of_fileio, syms_of_alloc,
9487 syms_of_charset, and syms_of_coding earlier because init_window_once
9488 now needs Vcoding_system_hash_table to be setup.
9489
9490 * coding.h (default_buffer_file_coding): Remove.
9491
9492 * coding.c (default_buffer_file_coding): Remove.
9493 (Fterminal_coding_system, Fkeyboard_coding_system): Use ->id rather
9494 than ->symbol, and use the terminal-local coding system.
9495 (syms_of_coding): Don't setup the coding-systems that are not
9496 terminal-local.
9497 (Fdefine_coding_system_internal): Use XCAR/XCDR.
9498
9499 * chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table):
9500 Use XSETPVECTYPE now that XSETCHAR_TABLE doesn't set the tag anymore.
9501
9502 * alloc.c (Fmake_char_table, make_sub_char_table): Remove. They're now
9503 in chartab.c and were re-added here by mistake.
9504 (Fpurecopy): Use XSETPVECTYPE after copying a COMPILED pseudovector.
9505
9506 * doc.c (Fsnarf_documentation):
9507 * Makefile.in (temacs${EXEEXT}, mostlyclean): Move buildobj.lst from
9508 src to etc.
9509
9510 * ChangeLog.10: Add mistakenly removed entry.
9511
9512 2008-02-01 Dan Nicolaescu <dann@ics.uci.edu>
9513
9514 * Makefile.in (fringe.o, minibuf.o): Fix dependencies.
9515
9516 2008-02-01 Miles Bader <miles@gnu.org>
9517
9518 * xdisp.c (get_char_face_and_encoding): Remove extraneous definition.
9519 Add extra args to FACE_FOR_CHAR.
9520
9521 2008-02-01 Kenichi Handa <handa@m17n.org>
9522
9523 * keymap.c (where_is_internal_1): If key is a cons, store the copy
9524 in sequence.
9525
9526 * chartab.c (map_sub_char_table, map_char_table): If the range
9527 contains just one character, call the function with that character
9528 even if the depth is not 3.
9529
9530 2008-02-01 Jason Rumney <jasonr@gnu.org>
9531
9532 * w32font.c (w32font_text_extents): Calculate metrics for the
9533 whole string.
9534
9535 2008-02-01 Jason Rumney <jasonr@gnu.org>
9536
9537 * w32xfns.c (get_next_msg): Consolidate WM_PAINT messages.
9538
9539 2008-02-01 Jason Rumney <jasonr@gnu.org>
9540
9541 * w32term.c (x_set_glyph_string_clipping): Use
9542 get_glyph_string_clip_rects.
9543 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
9544 Adjust for the change of struct glyph_string.
9545
9546 * w32font.c (w32font_draw): Do clipping here.
9547
9548 2008-02-01 Kenichi Handa <handa@m17n.org>
9549
9550 * xftfont.c (xftfont_draw): Adjust for the change of struct
9551 glyph_string.
9552
9553 * xterm.c (x_set_glyph_string_clipping): Use
9554 get_glyph_string_clip_rects.
9555 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
9556 Adjust for the change of struct glyph_string.
9557
9558 * xdisp.c (get_glyph_string_clip_rects): Reflect s->row->clip to
9559 the resulting clip(s}.
9560 (expose_overlaps): Add arg r. Change callers. Set it to
9561 row->clip temporarily.
9562 (expose_window): Redraw rows overlapping the exposed area.
9563
9564 * dispextern.h (struct glyph_row): New member clip.
9565 (struct glyph_string): Delete members clip_x, clip_y, clip_width,
9566 clip_height, new member clip, and num_clips.
9567
9568 2008-02-01 Kenichi Handa <handa@m17n.org>
9569
9570 * data.c (Fchar_or_string_p): Fix docstring.
9571
9572 2008-02-01 Kenichi Handa <handa@m17n.org>
9573
9574 * xftfont.c (xftfont_draw): If s->font_info != s->face->font_info,
9575 create a temporary XftDraw object.
9576
9577 2008-02-01 Kenichi Handa <handa@m17n.org>
9578
9579 * font.c (Ffontp): Fix docstring.
9580
9581 * coding.c (detect_coding_iso_2022): Don't treat SI/SO codes as a
9582 strong evidence of ISO-2022.
9583
9584 2008-02-01 Kenichi Handa <handa@m17n.org>
9585
9586 * abbrev.c (abbrev_check_chars): Use CHAR_TABLE_REF, not
9587 SYNTAX_ENTRY_FOLLOW_PARENT.
9588
9589 2008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
9590
9591 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and change
9592 its type.
9593 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
9594 Update to the new type of weak_hash_tables and next_weak.
9595
9596 * lisp.h (struct Lisp_Hash_Table): Change next_weak from Lisp_Object to
9597 a plain C pointer to Lisp_Hash_Table.
9598
9599 * lisp.h (XGCTYPE, GC_HASH_TABLE_P, GC_NILP, GC_NUMBERP, GC_NATNUMP)
9600 (GC_INTEGERP, GC_SYMBOLP, GC_MISCP, GC_VECTORLIKEP, GC_STRINGP)
9601 (GC_CONSP, GC_FLOATP, GC_VECTORP, GC_OVERLAYP, GC_MARKERP)
9602 (GC_INTFWDP, GC_BOOLFWDP, GC_OBJFWDP, GC_BUFFER_OBJFWDP)
9603 (GC_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP)
9604 (GC_KBOARD_OBJFWDP, GC_PSEUDOVECTORP, GC_WINDOW_CONFIGURATIONP)
9605 (GC_PROCESSP, GC_WINDOWP, GC_SUBRP, GC_COMPILEDP, GC_BUFFERP)
9606 (GC_SUB_CHAR_TABLE_P, GC_CHAR_TABLE_P, GC_BOOL_VECTOR_P, GC_FRAMEP)
9607 (GC_EQ): Remove since they've been identical to their non-GC_
9608 alter-egos ever since the markbit was eradicated.
9609
9610 * alloc.c:
9611 * buffer.c:
9612 * buffer.h:
9613 * data.c:
9614 * fileio.c:
9615 * filelock.c:
9616 * fns.c:
9617 * frame.h:
9618 * lisp.h:
9619 * macterm.c:
9620 * print.c:
9621 * process.c:
9622 * w32fns.c:
9623 * w32menu.c:
9624 * w32term.c:
9625 * xfns.c:
9626 * xmenu.c:
9627 * xterm.c: Replace uses of GC_* macros with the non-GC_ versions.
9628
9629 2008-02-01 Kenichi Handa <handa@m17n.org>
9630
9631 * chartab.c (map_sub_char_table): Make it work for the top-level
9632 char-table. Fix handling of parent char-table.
9633 (map_char_table): Adjust for the above change.
9634
9635 2008-02-01 Jason Rumney <jasonr@gnu.org>
9636
9637 * w32font.c (Qgdi): Rename from Qw32.
9638
9639 2008-02-01 Jason Rumney <jasonr@gnu.org>
9640
9641 * w32bdf.c (get_quoted_string): Make function static.
9642
9643 2008-02-01 Kenichi Handa <handa@m17n.org>
9644
9645 * xftfont.c (xftfont_open): If one of font's ASCII glyph has
9646 bigger ascent and descent than those of the font, use them as
9647 font's ascent and descent.
9648
9649 2008-02-01 Kenichi Handa <handa@m17n.org>
9650
9651 * Makefile.in (${lispsource}international/charprop.el): Move this
9652 target within "#ifdef HAVE_UNIDATA" and "#endif".
9653
9654 2008-02-01 Kenichi Handa <handa@m17n.org>
9655
9656 * Makefile.in (lisp): Add ${lispsource}language/tai-viet.el.
9657 (shortlisp): Add ../lisp/language/tai-viet.el.
9658
9659 2008-02-01 Ulrich Mueller <ulm@gentoo.org>
9660
9661 * Makefile.in (${lispsource}international/charprop.el): Depend on
9662 temacs${EXEEXT}.
9663
9664 2008-02-01 Jason Rumney <jasonr@gnu.org>
9665
9666 * w32font.c (w32font_close): Delete the GDI font object.
9667
9668 * w32menu.c: Include character.h.
9669
9670 * w32proc.c: Likewise.
9671
9672 * w32select.c: Likewise.
9673
9674 * makefile.w32-in (w32proc.o): Depend on character.h.
9675
9676 2008-02-01 Jason Rumney <jasonr@gnu.org>
9677
9678 * w32fns.c (syms_of_w32fns): Use DEFSYM macro.
9679
9680 * w32menu.c (syms_of_w32menu): Likewise.
9681
9682 * w32proc.c (syms_of_ntproc): Likewise.
9683
9684 * w32select.c (syms_of_w32select): Likewise.
9685
9686 * w32term.c (syms_of_w32term): Likewise.
9687
9688 2008-02-01 Jason Rumney <jasonr@gnu.org>
9689
9690 * w32font.c (w32font_draw): Delete brush after using it.
9691
9692 2008-02-01 Jason Rumney <jasonr@gnu.org>
9693
9694 * w32font.c (w32font_open): Don't set font_idx.
9695 (w32font_text_extents): Try GetTextExtentPoint32W before defaulting
9696 to font settings.
9697 (w32font_draw): Fill background explicitly.
9698
9699 2008-02-01 Jason Rumney <jasonr@gnu.org>
9700
9701 * w32term.c (w32_initialize): Don't call w32font_initialize.
9702
9703 * w32font.c (w32font_info): Remove subranges.
9704 (QCsubranges, Qmodern, Qswiss, Qroman): Remove.
9705 (QCfamily, Qmonospace, Qsans_serif, Qmono, Qsans, Qsans__serif)
9706 (Qraster, Qoutline, Qlatin, Qgreek, Qcoptic, Qcyrillic, Qarmenian)
9707 (Qhebrew, Qarabic, Qsyriac, Qnko, Qthaana, Qdevanagari, Qbengali)
9708 (Qgurmukhi, Qgujarati, Qoriya, Qtamil, Qtelugu, Qkannada)
9709 (Qmalayalam, Qsinhala, Qthai, Qlao, Qtibetan, Qmyanmar, Qgeorgian)
9710 (Qhangul, Qethiopic, Qcherokee, Qcanadian_aboriginal, Qogham)
9711 (Qrunic, Qkhmer, Qmongolian, Qsymbol, Qbraille, Qhan)
9712 (Qideographic_description, Qcjk_misc, Qkana, Qbopomofo, Qkanbun)
9713 (Qyi, Qbyzantine_musical_symbol, Qmusical_symbol, Qmathematical):
9714 New symbols.
9715 (font_callback_data): New struct.
9716 (w32font_list, w32font_match): Use it.
9717 (w32font_open): Don't populate subranges.
9718 (w32font_has_char): Use script Lisp symbols, not subrange bitmask.
9719 (w32font_encode_char): Always return unicode code-point as-is.
9720 (w32font_text_extents): Supply a transformation matrix to
9721 GetGlyphOutline. Never look up by glyph index. Avoid looping
9722 twice. Use unicode version of GetTexExtentPoint32 instead of
9723 glyph index version.
9724 (set_fonts_frame): Remove.
9725 (w32_enumfont_pattern_entity): Add frame parameter, use it to
9726 set frame parameter. Use backward compatible fake foundries.
9727 Save generic family in extra slot under QCfamily. Make width slot
9728 constant. Save QCspacing value. Save list of scripts instead of
9729 binary subranges.
9730 (w32_generic_family, logfonts_match, font_matches_spec): New functions.
9731 (add_font_entity_to_list): Use font_callback_data struct. Filter
9732 unwanted fonts.
9733 (add_one_font_entity_to_list): Use font_callback_data struct.
9734 (w32_registry): Default to iso10646_1.
9735 (fill_in_logfont): Use dpi from extra slot. Don't bother with
9736 string font registries. Don't fill in font name if it is a generic
9737 family name, fill family instead. Use spacing, family and script
9738 extra info to fill pitch, family and charset fields.
9739 (list_all_matching_fonts): Use font_callback_data struct.
9740 (unicode_range_for_char): Remove.
9741 (font_supported_scripts): New function.
9742 (w32font_initialize): Remove.
9743 (syms_of_w32font): Update which symbols are defined.
9744
9745 2008-02-01 Jason Rumney <jasonr@gnu.org>
9746
9747 * font.c (font_pixel_size): Reverse assq_no_quit args.
9748
9749 * w32term.h (FONT_WIDTH): Report max width, not average.
9750 (FONT_MAX_WIDTH): Remove.
9751 (FONT_AVG_WIDTH): New macro.
9752
9753 * xfaces.c (Fx_list_fonts) [WINDOWSNT]: Remove Windows only
9754 redefinition of FONT_WIDTH.
9755
9756 * w32term.c (x_font_min_bounds): Use FONT_AVG_WIDTH.
9757 (w32_cache_char_metrics): Use FONT_WIDTH.
9758
9759 * w32fns.c (w32_load_system_font, w32_list_fonts): Use FONT_AVG_WIDTH.
9760
9761 2008-02-01 Jason Rumney <jasonr@gnu.org>
9762
9763 * w32font.c (w32font_open): Make lfHeight negative.
9764
9765 * w32fns.c (x_default_font_parameter): Use new style font name.
9766 (Fx_create_frame, x_create_tip_frame): Initialize resx and resy.
9767
9768 2008-02-01 Jason Rumney <jasonr@gnu.org>
9769
9770 * w32font.c (QCsubranges): New symbol.
9771 (w32font_open, w32font_has_char): Get subranges from subproperty
9772 of extra.
9773 (w32_enumfont_pattern_entity): Set subranges as subproperty of extra.
9774 (syms_of_w32font): Define :subranges symbol.
9775
9776 * font.c (font_put_extra): Expose externally.
9777
9778 * font.h (font_put_extra): Move declaration from font.c.
9779
9780 * font.c (Ffont_get): Use font driver to determine otf capability.
9781 (adjust_anchor): Check if driver defines anchor_point before using.
9782
9783 * w32font.c (w32font_open): Handle size, height and pixel_size better.
9784 (w32font_draw): Use options.
9785 (w32_enumfont_pattern_entity): Set size to 0 for scalable fonts.
9786 Fix detection of truetype fonts.
9787 (registry_to_w32_charset): Handle charsets other than iso8859-1
9788 expressed as lisp symbols.
9789 (w32_registry): Express charset as lisp symbol.
9790 (fill_in_logfont): Reverse pixel and point height logic.
9791 Don't set width here. Set quality to default.
9792
9793 * w32fns.c (w32_load_system_font): Fix detecting FIXED_PITCH fonts.
9794 (x_to_w32_font): Fill in lfPitchAndFamily correctly.
9795
9796 * xterm.c (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
9797 Remove redundant loop and allocation.
9798
9799 * makefile.w32-in (font.o, w32font.o): New objects.
9800 (fontset.o, xdisp.o, xfaces.o, w32fns.o, w32term.o): Depend on font.h.
9801 (FONTOBJ): New group of objects conditioned on USE_FONT_BACKEND.
9802
9803 * xdisp.c (fill_composite_glyph_string): Make the first arg to
9804 STORE_XCHARB a valid l-value.
9805
9806 * w32term.c (w32_native_per_char_metric): Swap width and rbearing
9807 calculations for non-Truetype fonts.
9808 (x_draw_glyph_string): Sync with xterm.c.
9809 (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
9810 Remove redundant code.
9811 (w32_initialize) [USE_FONT_BACKEND]: Call w32font_initialize.
9812
9813 * w32term.h (w32_output_data) [USE_FONT_BACKEND]: Add fontp member.
9814 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro from xterm.h.
9815
9816 * w32fns.c [USE_FONT_BACKEND]: Port font backend changes from xfns.c.
9817 (x_to_w32_charset, w32_to_x_charset): Expose externally.
9818
9819 * w32font.c: New file for w32 font backend.
9820
9821 2008-02-01 Kenichi Handa <handa@m17n.org>
9822
9823 * term.c: Don't include "buffer.h" twice.
9824
9825 2008-02-01 Kenichi Handa <handa@m17n.org>
9826
9827 * character.c (Funibyte_string): New function.
9828 (syms_of_character): Defsubr it.
9829
9830 2008-02-01 Jason Rumney <jasonr@gnu.org>
9831
9832 * w32term.c [USE_FONT_BACKEND]:
9833 (x_get_font_repertory, note_mouse_movement, x_set_mouse_face_gc)
9834 (x_set_glyph_string_clipping, x_set_glyph_string_clipping_exactly)
9835 (x_draw_glyph_string, x_draw_glyph_string_foreground)
9836 (x_draw_composite_glyph_string_foreground, x_new_fontset2)
9837 (x_free_frame_resources): Sync with xterm.c.
9838
9839 2008-02-01 Andreas Schwab <schwab@suse.de>
9840
9841 * lread.c (read1): Use CHAR_TABLE_STANDARD_SLOTS to validate
9842 char-table size.
9843
9844 2008-02-01 Kenichi Handa <handa@m17n.org>
9845
9846 * font.c (check_otf_features): Define it regardless of HAVE_LIBOTF.
9847
9848 2008-02-01 Kenichi Handa <handa@m17n.org>
9849
9850 * ftfont.c (ftfont_driver): Delete font_otf_gsub and
9851 font_otf_gpos, add font_drive_otf.
9852
9853 * fontset.c (fontset_find_font): Pay attention to font size
9854 specified for a font.
9855 (reorder_font_vector): Check contents of font_def.
9856
9857 * font.c (struct otf_list): Delete it.
9858 (otf_list): Make it a lisp variable.
9859 (otf_open): Use lispy otf_list.
9860 (generate_otf_features): Rename from parse_gsub_gpos_spec.
9861 (check_otf_features): New function.
9862 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
9863 New functions.
9864 (font_drive_otf): New function merging font_otf_gsub and
9865 font_otf_gpos.
9866 (font_open_for_lface): New arg spec. Change argument order.
9867 (font_load_for_face): Adjust for the change of font_open_for_lface.
9868 (Ffont_drive_otf): New function merging Ffont_otf_gsub and
9869 Ffont_otf_gpos.
9870 (syms_of_font): Staticpro otf_list. Delete defsubr of
9871 Sfont_otf_gsub and Sfont_otf_gpos. Defsubr Sfont_drive_otf.
9872
9873 * xfaces.c (set_font_frame_param): Adjust for the change of
9874 font_open_for_lface.
9875
9876 * font.h (font_open_for_lface): Adjust prototype.
9877 (struct font_driver): Delete members otf_gsub and otf_gpos, add
9878 member otf_drive.
9879 (font_otf_gsub, font_otf_gpos): Delete externs.
9880 (font_drive_otf): Extern it.
9881
9882 2008-02-01 Kenichi Handa <handa@m17n.org>
9883
9884 * font.c (font_at): If the window W is not on a window system,
9885 return Qnil.
9886
9887 * coding.c (produce_chars, encode_coding): Don't call
9888 insert_from_gap if no characters to produce.
9889
9890 2008-02-01 Kenichi Handa <handa@m17n.org>
9891
9892 * fontset.c (free_realized_fontsets): Avoid unnecessary call of
9893 Fclear_face_cache.
9894
9895 * xfaces.c (face_for_font): Check also face->font==font->font.font.
9896
9897 2008-02-01 Miles Bader <miles@gnu.org>
9898
9899 * emacs.c (main): Change default value of `enable_font_backend' to 1.
9900 Parse "--disable-font-backend" option.
9901 (standard_args): Add "--disable-font-backend" option.
9902
9903 2008-02-01 Kenichi Handa <handa@m17n.org>
9904
9905 * fontset.c (fontset_find_font): New function.
9906 (fontset_font): Use fontset_find_font.
9907 (make_fontset_for_ascii_face): Don't set face ID in rfont_def.
9908 Register the specified font for all Latin characters.
9909 (new_fontset_from_font): Register the specified font for all Latin
9910 characters.
9911 (dump_fontset): For a realized fontset, include the base fontset
9912 name in the returned vector.
9913
9914 2008-02-01 Kenichi Handa <handa@m17n.org>
9915
9916 * character.h (CHAR_STRING): Cast C to unsigned on calling
9917 char_string.
9918
9919 * character.c (char_string): Type of arg C changed to unsigned.
9920 Signal an error if C is an invalid character code.
9921
9922 * editfns.c (general_insert_function, Fchar_to_string):
9923 Use CHARACTERP, not INTEGERP.
9924
9925 2008-02-01 Kenichi Handa <handa@m17n.org>
9926
9927 * character.h (MIN_MULTIBYTE_LEADING_CODE)
9928 (MAX_MULTIBYTE_LEADING_CODE): New macros.
9929
9930 * regex.c (analyse_first): Fix for multibyte characters in "case
9931 charset:" and "case categoryspec:".
9932
9933 2008-02-01 Andreas Schwab <schwab@suse.de>
9934
9935 * Makefile.in (LIBES): Move standard libraries to the end.
9936
9937 2008-02-01 Kenichi Handa <handa@m17n.org>
9938
9939 * alloc.c (Fgarbage_collect): If nextb->text->inhibit_shrinking is
9940 nonzero, don't shrink the buffer nextb.
9941
9942 * buffer.h (struct buffer_text): New member inhibit_shrinking.
9943
9944 * coding.c (coding_alloc_by_making_gap): New arg offset.
9945 (alloc_destination): Call coding_alloc_by_making_gap with the arg
9946 offset.
9947 (decode_coding_iso_2022): Update coding->safe_charsets.
9948 (decode_coding_gap): Temporarily set
9949 current_buffer->text->inhibit_shrinking to 1.
9950
9951 2008-02-01 Kenichi Handa <handa@m17n.org>
9952
9953 * xterm.c (x_draw_composite_glyph_string_foreground): Fix
9954 indexing into elements of s->cmp and s->char2b.
9955
9956 2008-02-01 Juanma Barranquero <lekktu@gmail.com>
9957
9958 * regex.c (RE_STRING_CHAR_AND_LENGTH) [! emacs]: Add missing arg `len'.
9959
9960 2008-02-01 Kenichi Handa <handa@m17n.org>
9961
9962 * regex.c (GET_CHAR_BEFORE_2, GET_CHAR_AFTER): Check the variable
9963 target_multibyte instead of multibyte.
9964 (re_match_2_internal): Call bcmp_translate with target_multibyte.
9965 (bcmp_translate): Change the argument name from multibyte to
9966 target_multibyte.
9967
9968 2008-02-01 Kenichi Handa <handa@m17n.org>
9969
9970 These changes are to compile a regexp into a pattern that can be
9971 used both for multibyte and unibyte targets.
9972
9973 * Makefile.in (search.o): Depend on charset.h.
9974
9975 * character.c (multibyte_char_to_unibyte_safe): New function.
9976
9977 * search.c: Include "charset.h".
9978 (compile_pattern_1): Delete argument multibyte. Don't set
9979 cp->buf.target_multibyte here. Set cp->buf.charset_unibyte.
9980 (compile_pattern): Don't compare cp->buf.target_multibyte.
9981 Compare cp->buf.charset_unibyte.
9982 (compile_pattern): Set cp->buf.target_multibyte.
9983
9984 * lisp.h (multibyte_char_to_unibyte_safe): Extern it.
9985
9986 * regex.h (struct re_pattern_buffer): New member charset_unibyte.
9987
9988 * regex.c (RE_STRING_CHAR, RE_STRING_CHAR_AND_LENGTH): New arg
9989 multibyte. Change callers.
9990 (RE_CHAR_TO_MULTIBYTE, RE_CHAR_TO_UNIBYTE): New macros.
9991 (MAKE_CHAR_MULTIBYTE, MAKE_CHAR_UNIBYTE): Delete. Change callers
9992 to use RE_CHAR_TO_MULTIBYTE and RE_CHAR_TO_UNIBYTE, respectively.
9993 (SETUP_ASCII_RANGE, SETUP_UNIBYTE_RANGE): New macros.
9994 (SETUP_MULTIBYTE_RANGE): Generate a more compact range_table.
9995 (regex_compile): Make the compiled pattern usable both for
9996 multibyte and unibyte targets.
9997 (analyse_first): Make the fastmap usable both for multibyte and
9998 unibyte targets.
9999 (TRANSLATE_VIA_MULTIBYTE): Delete.
10000 (re_match_2_internal): Pay attention to the case that the
10001 multibyteness of bufp and target may be different.
10002
10003 2008-02-01 Kenichi Handa <handa@m17n.org>
10004
10005 * xdisp.c (x_produce_glyphs): When a font is not found, make the
10006 empty box occupy at least one column width.
10007
10008 2008-02-01 Miles Bader <miles@gnu.org>
10009
10010 * Makefile.in: Remove redundant HAVE_XFT clause.
10011
10012 2008-02-01 Kenichi Handa <handa@m17n.org>
10013
10014 * xrdb.c (x_load_resources): Setup the default fontSet X resource.
10015
10016 2008-02-01 Kenichi Handa <handa@m17n.org>
10017
10018 * fontset.c (Finternal_char_font): Fix for the case of POSITION
10019 being nil.
10020
10021 2008-02-01 Kenichi Handa <handa@m17n.org>
10022
10023 * xftfont.c (xftfont_open): Call FcConfigSubstitute.
10024
10025 2008-02-01 Kenichi Handa <handa@m17n.org>
10026
10027 * xftfont.c (xftfont_open): Don't enable antialias explicitly.
10028
10029 2008-02-01 Kenichi Handa <handa@m17n.org>
10030
10031 * search.c (simple_search): Fix previous change.
10032
10033 2008-02-01 Kenichi Handa <handa@m17n.org>
10034
10035 * xftfont.c (ftfont_font_format): Extern declaration.
10036
10037 * frame.c (x_set_font): Fix the second arg to fs_query_fontset.
10038
10039 * xfont.c (xfont_driver): Initialize ftfont_driver.type by 0.
10040 (xfont_list): Don't directly use Lisp_Object as an operand of &&.
10041
10042 * ftfont.c (ftfont_driver): Initialize ftfont_driver.type by 0.
10043 (ftfont_font_format): Fix previous change.
10044
10045 * font.h (Ffont_xlfd_name): EXFUN it.
10046
10047 * font.c (font_parse_xlfd): Fix the array size of `f'.
10048 (register_font_driver): Use EQ to compare driver->type.
10049
10050 * xfns.c (xic_create_xfontset2) [USE_FONT_BACKEND]: New function.
10051 (create_frame_xic) [USE_FONT_BACKEND]: Call xic_create_xfontset2.
10052 (xic_set_xfontset) [USE_FONT_BACKEND]: Likewise.
10053
10054 2008-02-01 Kenichi Handa <handa@m17n.org>
10055
10056 * ftfont.c (ftfont_pattern_entity, ftfont_list_generic_family)
10057 (ftfont_list, ftfont_font_format): Check if FC_FONTFORMAT is defined.
10058
10059 2008-02-01 Kenichi Handa <handa@m17n.org>
10060
10061 * xfont.c (xfont_open): Set font->format.
10062
10063 * xftfont.c (xftfont_open): Set font->format.
10064
10065 * ftfont.c (ftfont_pattern_entity): Add fontformat in a pattern.
10066 (ftfont_list): Include FC_FONTFORMAT in FcObject.
10067 (ftfont_open): Set font->format.
10068 (ftfont_font_format): New function.
10069
10070 * font.h (struct font): New member format.
10071
10072 * font.c (Qopentype): New variable.
10073 (syms_of_font): Defsym it.
10074 (Fquery_font): Change the format of the last element of the return
10075 value.
10076
10077 2008-02-01 Kenichi Handa <handa@m17n.org>
10078
10079 * xfns.c (xic_create_xfontset): Try the default fontset name as a
10080 last resort.
10081
10082 2008-02-01 Kenichi Handa <handa@m17n.org>
10083
10084 * coding.c (detect_coding_charset): Fix detection of multi-byte
10085 charset.
10086
10087 2008-02-01 Bob Halley <halley@play-bow.org> (tiny change)
10088
10089 * ccl.c (ccl_driver): If DST is NULL, set ccl->produced to 0.
10090
10091 2008-02-01 Kenichi Handa <handa@m17n.org>
10092
10093 * xdisp.c (get_next_display_element): Set it->face_id for the
10094 first component of a composition.
10095 (x_produce_glyphs): Check if the font is changed or not for composition.
10096
10097 2008-02-01 Kenichi Handa <handa@m17n.org>
10098
10099 * fontset.c (Qlatin): New variable.
10100 (syms_of_fontset): Define it as a lisp symbol.
10101 (Fset_fontset_font): If TARGET is `latin', use FONT_SPEC for ASCII.
10102
10103 2008-02-01 Kenichi Handa <handa@m17n.org>
10104
10105 * font.c (font_unparse_fcname): Pay attention to the case that
10106 some of font property is a null string.
10107
10108 2008-02-01 Kenichi Handa <handa@m17n.org>
10109
10110 * term.c: Include "composite.h".
10111 (encode_terminal_code): Output all components of composition.
10112 Check the size of encode_terminal_src.
10113 (produce_glyphs): For composition, call produce_composite_glyph.
10114 (append_composite_glyph, produce_composite_glyph): New functions.
10115
10116 * xdisp.c (x_produce_glyphs): In handling composition, if a font
10117 is not found, get font_info from the current ascii face.
10118
10119 2008-02-01 Kenichi Handa <handa@m17n.org>
10120
10121 * fileio.c (Finsert_file_contents): On replacing, temporarily bind
10122 buffer-file-name to Qnil before calling insert_from_buffer.
10123
10124 * font.c (font_unparse_fcname): Pay attention to the case that
10125 foundry is a null string.
10126
10127 2008-02-01 Kenichi Handa <handa@m17n.org>
10128
10129 * ftfont.c (ftfont_list): Allow registry "unicode-sip".
10130
10131 * font.c (Qunicode_sip): New variable.
10132 (syms_of_font): Declare it as a Lisp symbol.
10133
10134 * font.h (Qunicode_sip): Extern it.
10135
10136 2008-02-01 Kenichi Handa <handa@m17n.org>
10137
10138 * composite.c (get_composition_id): Pay attention to TAB component.
10139
10140 * xterm.c (x_draw_composite_glyph_string_foreground): Don't draw
10141 TAB. Adjust for the change of s->char2b which always points to
10142 the first element of allocated memory.
10143
10144 * xftfont.c (xftfont_text_extents): Fix calculation of descent value.
10145
10146 * xdisp.c (handle_composition_prop): Set it->c to the first
10147 non-TAB component.
10148 (fill_composite_glyph_string): Change argument.
10149 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the above change.
10150 (x_produce_glyphs): Fix handling of left/right padding.
10151
10152 2008-02-01 Kenichi Handa <handa@m17n.org>
10153
10154 * coding.c (detect_coding_system): Fix for handling off
10155 inhibit_iso_escape_detection. Fix for the case that no coding
10156 system is defined for a specific coding category.
10157
10158 2008-02-01 Kenichi Handa <handa@m17n.org>
10159
10160 * font.c (font_matching_entity): Delete unused local var.
10161
10162 * xftfont.c (xftfont_open): Call XftDefaultSubstitute before
10163 opening a font.
10164
10165 * fileio.c (Finsert_file_contents): On recovering a file, assume
10166 Unix-like eol.
10167 (choose_write_coding_system): On auto-saving a file, force
10168 Unix-like eol.
10169
10170 * coding.c (setup_coding_system): Fix setting of
10171 coding->common_flags based on eol_type.
10172 (coding_inherit_eol_type): If PARENT is not nil, be sure to
10173 inherit from it.
10174
10175 2008-02-01 Kenichi Handa <handa@m17n.org>
10176
10177 * alloc.c (NSTATICS): Increas to 0x600.
10178
10179 2008-02-01 Kenichi Handa <handa@m17n.org>
10180
10181 * ftfont.c (ftfont_driver): Set ftfont_driver.match to ftfont_match.
10182 (ftfont_list): Don't check :name property.
10183 (ftfont_match): New function.
10184 (ftfont_pattern_entity): If the pattern doesn't contain
10185 FC_SPACING, don't assume FC_MONO.
10186
10187 * font.h (struct font_driver): New member `match'.
10188 (font_update_drivers): Adjust prototype.
10189
10190 * font.c (font_parse_fcname, font_parse_name): Don't change :name
10191 property of FONT.
10192 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE, check_gstring): Define
10193 them unconditionally.
10194 (font_matching_entity): New function.
10195 (font_open_by_name): Try font_matching_entity if exact match is
10196 not found.
10197 (font_update_drivers): Delete the arg FONT. Return a list of
10198 actually used backends. Don't free faces, font caches here.
10199 Don't store data in frame parameters. Don't call x_set_font.
10200 (Ffont_spec): Store :name property as is.
10201 (Ffont_get): Check HAVE_LIBOTF before calling font_otf_capability.
10202 (Ffont_otf_gsub): Call font->driver->otf_gsub instead of font_otf_gsub.
10203 (Ffont_otf_gpos): Call font->driver->otf_gpos instead of font_otf_gpos.
10204 (Ffont_otf_alternates): Check if the driver has otf_gsub function.
10205 Call font->driver->otf_gsub instead of font_otf_gsub.
10206
10207 * frame.c (x_set_font_backend): Do more works that were done in
10208 font_update_drivers before.
10209
10210 * xfont.c (xfont_match): New function.
10211 (xfont_driver): Set xfont_driver.match to xfont_match.
10212 (xfont_draw): Set font in GC if necessary.
10213
10214 * ftxfont.c (ftxfont_match): New function.
10215 (syms_of_ftxfont): Set ftxfont_driver.match to ftxfont_match.
10216
10217 * xftfont.c (xftfont_match): New function.
10218 (syms_of_xftfont): Set xftfont_driver.match to xftfont_match.
10219
10220 2008-02-01 Kenichi Handa <handa@m17n.org>
10221
10222 * font.h (struct font): New member scalable.
10223 (struct font_driver): New arg ALTERANTE_SUBST to otf_gsub.
10224 (font_otf_gsub): Adjust prototype.
10225
10226 * font.c (font_otf_capability): Fix handling of the default langsys.
10227 (parse_gsub_gpos_spec): Change type to void. New arg nbytes.
10228 Check the contents of SPEC.
10229 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE): New macros.
10230 (check_gstring): New function.
10231 (REPLACEMENT_CHARACTER): New macro.
10232 (font_otf_gsub): New arg alternate_subst. Be sure to set all
10233 glyph codes of GSTRING.
10234 (font_otf_gpos): Be sure to set all glyph codes of GSTRING.
10235 (font_prepare_composition): Set cmp->glyph_len.
10236 (font_open_entity): Set font->scalable.
10237 (Ffont_get): Handle :otf property.
10238 (Ffont_otf_gsub, Ffont_otf_gpos, Ffont_otf_alternates): New
10239 functions.
10240 (Fquery_font): Use font->font.full_name.
10241 (syms_of_font): Defsubr Sfont_otf_gsub, Sfont_otf_gpos, and
10242 Sfont_otf_alternates.
10243
10244 * ftfont.c (ftfont_open): Set font->font.full_name and
10245 font->font.name properly. Fix calculation of font->font.height
10246 and font->min_width.
10247
10248 * ftxfont.c (ftxfont_create_gcs): New function.
10249 (ftxfont_draw_bitmap): Fix arg to ftfont_driver.get_bitmap.
10250 (ftxfont_draw_backgrond): Fix filling region.
10251 (ftxfont_default_fid): New function.
10252 (ftxfont_open): Set xfont->fid to the return value of
10253 ftxfont_default_fid.
10254 (ftxfont_prepare_face): Use ftxfont_create_gcs to create GCs.
10255 (ftxfont_done_face): Free only GCs that are created by
10256 ftxfont_create_gcs.
10257 (ftxfont_draw): If face->gc != s->gc, create proper GCs.
10258
10259 * xterm.c (x_set_glyph_string_clipping_exactly) [USE_FONT_BACKEND]:
10260 Clip to src->width, etc (not src->clip_XXX).
10261
10262 * xfns.c (x_create_tip_frame) [USE_FONT_BACKEND]: Handle
10263 FontBackend frame parameter.
10264
10265 2008-02-01 Kenichi Handa <handa@m17n.org>
10266
10267 * font.h (struct font_driver_list): New member `on'.
10268 (Fclear_font_cache): EXFUN it.
10269 (font_update_drivers): Extern it.
10270
10271 * font.c (font_unparse_fcname): Fix typo (swidth->width).
10272 (font_list_entities): Check driver_list->on.
10273 (register_font_driver): Initalize `on' member to 0.
10274 (font_update_drivers): New function.
10275 (Fclear_font_cache): Check driver_list->on.
10276
10277 * frame.h (Qfont_backend): Extern it.
10278 (x_set_font_backend): Extern it.
10279
10280 * frame.c (Qfont_backend): New variable.
10281 (frame_parms): New element for font-backend.
10282 (x_set_font_backend): New function.
10283
10284 * xfns.c (Fx_create_frame) [USE_FONT_BACKEND]: Handle
10285 FontBackend frame parameter.
10286 (x_frame_parm_handlers) [USE_FONT_BACKEND]: New element
10287 x_set_font_backend.
10288
10289 * xfont.c (xfont_list): Don't try listing by :name property if the
10290 name is not for XLFD.
10291
10292 2008-02-01 Kenichi Handa <handa@m17n.org>
10293
10294 * font.h (LGLYPH_FROM, LGLYPH_TO, LGLYPH_SET_FROM)
10295 (LGLYPH_SET_TO): New macros.
10296 (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WADJUST): Check if adjustment
10297 element of G is vector or not.
10298 (font_at): Extern it.
10299
10300 * font.c: Include window.h.
10301 (font_lispy_object): New function.
10302 (font_prepare_composition): Check LGLYPH_FORM (g) to detect the
10303 end of valid glyph.
10304 (font_close_object): Fix getting (struct font *).
10305 (font_at): New function.
10306 (Ffont_get): If FONT is a font-object, get entity from it.
10307 (Ffont_make_gstring): Initialize elements of glyphs with nil.
10308 (Ffont_fill_gstring): Use macro LGSTRING_XXX and LGLYPH_XXX. Fix
10309 range check.
10310 (Ffont_at): New function.
10311 (syms_of_font): Defsubr Sfont_at.
10312
10313 * xdisp.c (it_props): Move the entry for Qauto_composed to just
10314 before the entry for Qcomposition.
10315 (handle_auto_composed_prop): Call auto-composition-function with 4 args.
10316 (handle_composition_prop) [USE_FONT_BACKEND]: Set it->face_id from
10317 the font in gstring.
10318 (fill_composite_glyph_string) [USE_FONT_BACKEND]: Check
10319 LGLYPH_FORM (g) to detect the end of valid glyph.
10320 (x_produce_glyphs) [USE_FONT_BACKEND]: Don't update it->face_id if
10321 we are composing with gstring.
10322
10323 * xterm.c (x_draw_composite_glyph_string_foreground) [USE_FONT_BACKEND]:
10324 Check if adjustment is vector or not.
10325
10326 * Makefile.in (font.o): Make it depends on window.h.
10327
10328 2008-02-01 Kenichi Handa <handa@m17n.org>
10329
10330 * xterm.c (x_draw_composite_glyph_string_foreground): Check if
10331 adjustment is vector or not.
10332
10333 2008-02-01 Miles Bader <miles@gnu.org>
10334
10335 * character.h (CHECK_CHARACTER): Redefine in terms of CHECK_TYPE.
10336
10337 2008-02-01 Kenichi Handa <handa@m17n.org>
10338
10339 * font.h (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WIDTH, LGLYPH_WADJUST)
10340 (LGLYPH_SET_WIDTH): Adjusted for the change of LGLYPH format.
10341 (LGLYPH_ADJUSTMENT, LGLYPH_SET_ADJUSTMENT): New macros.
10342
10343 * font.c (font_merge_old_spec): Treat '*' in foundry as a wild card.
10344 (DEVICE_DELTA): Fix typo.
10345 (font_otf_gpos, font_prepare_compositio): Adjust for the change of
10346 LGLYPH format.
10347
10348 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
10349 the change of LGLYPH format.
10350
10351 2008-02-01 Kenichi Handa <handa@m17n.org>
10352
10353 * ftfont.c (ftfont_list): Fix typo.
10354 (ftfont_build_basic_charsets): Don't include letters with diacritics.
10355
10356 2008-02-01 Jan Djärv <jan.h.d@swipnet.se>
10357
10358 * xfaces.c (realize_non_ascii_face): Set face->extra to NULL.
10359
10360 * xftfont.c (xftfont_done_face): Call XftDrawDestroy only if
10361 xftface_info is non-NULL.
10362
10363 2008-02-01 Jan Djärv <jan.h.d@swipnet.se>
10364
10365 * ftfont.c (ftfont_list): Move misplaced #endif.
10366
10367 2008-02-01 Kenichi Handa <handa@m17n.org>
10368
10369 * ftfont.c (ftfont_list): Pay attention to the case that
10370 FC_CAPABILITY is not defined.
10371
10372 2008-02-01 Kenichi Handa <handa@m17n.org>
10373
10374 * xftfont.c (xftfont_open): Set charset related members to -1.
10375
10376 * ftfont.c (ftfont_list): Handle QCotf property. Fix handling of
10377 QCname.
10378 (ftfont_open): Set charset related members to -1.
10379
10380 * fontset.c (Votf_script_alist): New variable.
10381 (syms_of_fontset): Initialize it.
10382 (fontset_font): Delete unused variable.
10383
10384 * fontset.h (Votf_script_alist): Extern it.
10385
10386 * font.c (font_find_for_lface): Optimize code.
10387
10388 * font.h (font_close_object, font_merge_old_spec): Extern them.
10389
10390 2008-02-01 Kenichi Handa <handa@m17n.org>
10391
10392 * font.c (QCscalable, Qc, Qm, Qp, Qd): New variables.
10393 (syms_of_font): Initialize them.
10394 (font_pixel_size): Allow float value in dpi.
10395 (font_prop_validate_type): Delete.
10396 (font_prop_validate_symbol, font_prop_validate_style): Change argument.
10397 Change caller.
10398 (font_prop_validate_non_neg): Rename from font_prop_validate_size.
10399 (font_prop_validate_extra): Delete.
10400 (font_prop_validate_spacing): New function.
10401 (font_property_table): Add elements for all known properties.
10402 (get_font_prop_index): Rename from check_font_prop_name. New
10403 argument FROM. Change caller.
10404 (font_prop_validate): Validate all known properties.
10405 (font_put_extra): Delete argument force. Change caller.
10406 (font_expand_wildcards): Make it static. Fix the way of shrinking
10407 the possible range.
10408 (font_parse_xlfd): Delete argument merge. Fix handling of RESX,
10409 RESY, SPACING, and AVGWIDTH. Don't validate property values here.
10410 Change caller.
10411 (font_unparse_xlfd): Handle dpi, spacing, and scalable properties.
10412 (font_parse_fcname): Delete argument merge. Fix parsing of point
10413 size. Don't validate properties values here. Change caller.
10414 (font_unparse_fcname): Handle dpi, spacing, and scalable properties.
10415 (font_open_by_name): Delete unused variable.
10416 (Ffont_spec): Likewise. Validate property values.
10417 (Ffont_match_p): New function.
10418
10419 * font.h (QCscalable): Extern it.
10420 (font_parse_xlfd, font_parse_fcname): Adjust prototype.
10421
10422 * ftfont.c (ftfont_list): Handle properties dpi, spacing, and scalable.
10423
10424 * xfont.c (xfont_query_font): Adjust for the change of font_parse_xlfd.
10425 (xfont_list_pattern): New function.
10426 (xfont_list): Use xfont_list_pattern.
10427
10428 2008-02-01 Kenichi Handa <handa@m17n.org>
10429
10430 * font.h (Flist_fonts): EXFUN it.
10431
10432 2008-02-01 Jason Rumney <jasonr@gnu.org>
10433
10434 * w32term.c (w32_initialize): Add back smoothing_type and
10435 smoothing_enabled definitions.
10436
10437 2008-02-01 Kenichi Handa <handa@m17n.org>
10438
10439 * xterm.c (x_draw_glyph_string) [USE_FONT_BACKEND]: Check
10440 s->face->font on determining underline position.
10441
10442 2008-02-01 Kenichi Handa <handa@m17n.org>
10443
10444 * font.c (font_parse_xlfd): Fix generating of CHARSET_REGISTRY field.
10445 (font_has_char): Accept font-object too.
10446 (font_find_for_lface): Try at first with a size specified in face.
10447
10448 2008-02-01 Kenichi Handa <handa@m17n.org>
10449
10450 * frame.c (x_set_font) [USE_FONT_BACKEND]: Fix argument to
10451 font_open_by_name.
10452
10453 2008-02-01 Kenichi Handa <handa@m17n.org>
10454
10455 * font.h (QCspacing, QCdpi): Extern them.
10456 (enum font_spacing): New enum.
10457 (FONT_PIXEL_SIZE_QUANTUM): New macro.
10458
10459 * font.c (POINT_TO_PIXEL): Don't divide POINT by 10.
10460 (QCspacing, QCdpi): New variables.
10461 (syms_of_font): Initialize them.
10462 (font_pixel_size): New function.
10463 (font_put_extra): New function.
10464 (font_parse_xlfd): Fix handling of font size. Add QCdpi property
10465 in FONT_EXTRA.
10466 (font_parse_fcname): Handle enumerated values (e.g. bold).
10467 Fix handling font size. Add QCname property that contains only
10468 unknown properties.
10469 (font_score): Change argument. Change caller. Pay attention to
10470 FONT_PIXEL_SIZE_QUANTUM.
10471 (font_sort_entites, font_list_entities, font_find_for_lface)
10472 (font_open_for_lface, font_open_by_name): Fix handling of font size.
10473 (Ffont_spec): Add QCname property that contains only unknown properties.
10474
10475 * ftfont.c (ftfont_list): Use assq_no_quit, not Fassq. Don't
10476 include weight in listing pattern, instead check weight of each
10477 listed font. Don't include scalable in pattern. Pay attention to
10478 FONT_PIXEL_SIZE_QUANTUM.
10479
10480 2008-02-01 Kenichi Handa <handa@m17n.org>
10481
10482 * font.c (font_parse_fcname): Fix parsing of point-size.
10483 (font_unparse_fcname): Produce symbolic names for style properties.
10484 (font_list_entities): Handle float size correctly.
10485 (font_open_by_name): Prefer `normal' property values if the name
10486 doesn't specify them.
10487
10488 * fontset.c (Finternal_char_font): Use font_get_name, not
10489 Ffont_xlfd_name.
10490
10491 * ftfont.c (ftfont_pattern_entity): Use the numeric value 100 for
10492 FC_WEIGHT_REGULAR. Exclude FC_SIZE and FC_PIXEL_SIZE from listing
10493 pattern. Don't force scalable.
10494
10495 * xftfont.c (xftfont_open): For generating a name, start from
10496 96-byte buffer.
10497
10498 2008-02-01 Jan Djärv <jan.h.d@swipnet.se>
10499
10500 * frame.h (x_new_fontset2): Fix prototype.
10501
10502 2008-02-01 Kenichi Handa <handa@m17n.org>
10503
10504 * font.h (struct font_driver): Delete member parse_name.
10505 (font_match_p, font_get_spec, font_parse_fcname)
10506 (font_unparse_fcname): Extern them.
10507 (font_get_name): Adjust prototype.
10508
10509 * font.c (XLFD_SMALLNUM_MASK): Delete this macro.
10510 (XLFD_LARGENUM_MASK): Delete XLFD_ENCODING_MASK from it.
10511 (font_expand_wildcards): Fix handling ENCODING field. Avoid
10512 unnecessary checks for weight, slant, and swidth.
10513 (font_parse_fcname): New function.
10514 (font_unparse_fcname): New function.
10515 (font_parse_name): New function.
10516 (font_match_p): New function.
10517 (font_get_name): Change return value to Lisp string.
10518 (font_get_spec): New function.
10519 (Qunspecified, Qignore_defface): Don't extern them.
10520 (font_find_for_lface): Assume that LFACE is fully specified.
10521 (font_load_for_face): If lface[LFACE_FONT_INDEX] is an font
10522 object, use it for FACE.
10523 (font_open_by_name): Call Ffont_spec with QCname prop. Don't call
10524 driver->parse_name.
10525 (Ffont_spec): Call font_parse_name, not font_parse_xlfd.
10526
10527 * fontset.h (new_fontset_from_font) [USE_FONT_BACKEND]: Adjust
10528 prototype.
10529
10530 * fontset.c (new_fontset_from_font) [USE_FONT_BACKEND]: Delete
10531 argument F. Don't call Fnew_fontset. Instead, directly call
10532 make_fontset.
10533
10534 * frame.h (x_new_fontset2) [USE_FONT_BACKEND]: Adjust prototype.
10535
10536 * frame.c (x_set_font) [USE_FONT_BACKEND]: Adjust for the change
10537 of x_new_fontset2.
10538
10539 * ftfont.c (Qmonospace, Qsans_serif, Qserif, Qmono, Qsans)
10540 (Qsans__serif): New variables.
10541 (ftfont_generic_family_list): New variable.
10542 (syms_of_ftfont): Initialize the above variables.
10543 (ftfont_pattern_entity): Delete argument NAME.
10544 (ftfont_list_generic_family): New function.
10545 (ftfont_parse_name): Delete this function.
10546 (ftfont_list): Try generic family only when FcFontList found no font.
10547 (ftfont_list_family): Fix args to FcObjectSetBuild.
10548
10549 * xfaces.c (check_lface_attrs) [USE_FONT_BACKEND]: Accept font
10550 object in attrs[LFACE_FONT_INDEX].
10551 (set_lface_from_font_name): Cancel all changes for font-backend.
10552 (set_lface_from_font_and_fontset) [USE_FONT_BACKEND]: New
10553 function.
10554 (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]: Accept a
10555 font object in QCfont attribute.
10556 (set_font_frame_param) [USE_FONT_BACKEND]: Likewise.
10557 (realize_default_face) [USE_FONT_BACKEND]: Call
10558 set_lface_from_font_and_fontset.
10559
10560 * xfns.c (x_default_font_parameter) [USE_FONT_BACKEND]: Try also
10561 "fixed", and signal error here if no suitable font was found.
10562
10563 * xfont.c (xfont_parse_name): Delete this function.
10564
10565 * xftfont.c (xftfont_open): Change coding style of error
10566 handling. Generate fontconfig's fontname pattern.
10567
10568 * xterm.h (struct x_output) [USE_FONT_BACKEND]: New member fontp.
10569 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro.
10570
10571 * xterm.c (x_new_fontset2) [USE_FONT_BACKEND]: Change arguments.
10572 Both args FONTSET and FONT_OBJECT must be existing ones.
10573
10574 2008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10575
10576 * macterm.c (mac_set_unicode_keystroke_event): Don't use MAKE_CHAR.
10577
10578 2008-02-01 Kenichi Handa <handa@m17n.org>
10579
10580 * xfont.c (xfont_open, xfont_encode_char): Fix typo.
10581
10582 * font.h (struct font): Fix typo.
10583
10584 * font.c (enum xlfd_field_index): Rename XLFD_XXX_SIZE_INDEX to
10585 XLFD_XXX_INDEX.
10586 (enum xlfd_field_mask): New enum.
10587 (intern_font_field): Changed argument. Change caller. If digits
10588 are followed by non-digits, return a symbol.
10589 (font_expand_wildcards): New function.
10590 (font_parse_xlfd): Fix wildcard handling.
10591 (Ffont_spec): If :name is specified, reflect the info in the other
10592 properties.
10593
10594 * ftfont.c (ftfont_pattern_entity): Fix typo.
10595 (ftfont_list): Enforce FC_LANG in PATTERN to cancel the effect of
10596 locale.
10597
10598 2008-02-01 Kenichi Handa <handa@m17n.org>
10599
10600 * font.h (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Extern them.
10601
10602 * font.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move from ftfont.c.
10603 (font_unparse_xlfd): Fix argument type declaration. Append "*" if
10604 registry doesn't specify encoding part.
10605 (font_find_for_lface): Pay attention to LFACE_FONT_INDEX.
10606 (font_open_by_name): At first try parsing the name.
10607 (syms_of_font): Declare Qiso8859_1, Qiso10646_1, and Qunicode_bmp
10608 as Lisp symbols.
10609
10610 * fontset.c (reorder_font_vector): Pay attention to the case that
10611 the 3rd element of font_def is nil.
10612 (fontset_font): For the default fontset, append one more fontset
10613 elements for a script-based font specification. Don't add script
10614 attribute on finding a font.
10615 (new_fontset_from_font): Unconditionally set FONTSET_ASCII to the
10616 font name.
10617 (fontset_ascii_font): If a font can't be opened, return nil.
10618
10619 * ftfont.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move to font.c.
10620 (ftfont_pattern_entity): New function.
10621 (ftfont_get_cache): Assume that freetype_font_cache is already
10622 initialized.
10623 (ftfont_list): Handle the case that a file is specified in font
10624 name. Use ftfont_pattern_entity to generate entities.
10625 (ftfont_has_char): Check if the pattern contains FC_CHARSET.
10626 (syms_of_ftfont): Initialize freetype_font_cache.
10627
10628 * xftfont.c (xftfont_open): Make the font name fontconfig's
10629 style. Add BLOCK_INPUT and UNBLOCK_INPUT.
10630 (xftfont_close): Free font->font.name if not NULL.
10631
10632 * xfont.c (xfont_list): If script is specified for a font, return
10633 null_vector.
10634 (xfont_list_family): Declare argument type.
10635
10636 * xfaces.c (set_lface_from_font_name): If a font doesn't have a
10637 name, set LFACE_FONT (lface) to nil.
10638
10639 * xterm.c (x_new_fontset2): If an ASCII font couldn't be loaded,
10640 return Qnil.
10641
10642 2008-02-01 Kenichi Handa <handa@m17n.org>
10643
10644 * emacs.c (main): Check -enable-font-backend arg after the check of -nl.
10645 (standard_args): Add "-enable-font-backend".
10646
10647 2008-02-01 Kenichi Handa <handa@m17n.org>
10648
10649 * xftfont.c (xftfont_default_fid): Set fid_known to 1.
10650 (struct xftdraw_list, xftdraw_list): Delete them.
10651 (register_xftdraw, check_xftdraw): Delete them.
10652 (xftfont_prepare_face): Don't call register_xftdraw.
10653 (xftfont_done_face): Don't call check_xftdraw.
10654 (xftfont_draw): Get background color only when with_background is
10655 nonzero.
10656
10657 * xfont.c (xfont_encode_char): Fix calculation of char2b.
10658
10659 2008-02-01 Kenichi Handa <handa@m17n.org>
10660
10661 These changes are for the new font handling codes.
10662
10663 * Makefile.in (ALL_CFLAGS): Add @FREETYPE_CFLAGS@,
10664 @FONTCONFIG_CFLAGS@, and @LIBOTF_CFLAGS@.
10665 (LIB_X11_LIB): If HAVE_XFT is defined, set to @XFT_LIBS@.
10666 (FONTSRC, FONTOBJ): New variables.
10667 (obj): Add $(FONTOBJ).
10668 (SOME_MACHINE_OBJECTS): Lib_X11_Lib.
10669 (LIBES): Add @FREETYPE_LIBS@, @FONTCONFIG_LIBS@, and
10670 @LIBOTF_LIBS@.
10671 (font.o, ftfont.o, xfont.o, xftfont.o, ftxfont.o): New targets.
10672 (fontset.o, xdisp.o, xfaces.o, xfns.o, xterm.o): Depend on $(FONTSRC).
10673
10674 * font.h, font.c, xfont.c, ftfont.c, xftfont.c, ftxfont.c: New files.
10675
10676 * character.h (Vscript_representative_chars): Extern it.
10677
10678 * character.c (Vscript_representative_chars): New variable.
10679 (syms_of_character): Declare it as a Lisp variable.
10680
10681 * composite.c (get_composition_id) [USE_FONT_BACKEND]: If
10682 enable_font_backend is nonzero, accept the composition method
10683 COMPOSITION_WITH_GLYPH_STRING.
10684
10685 * composite.h (enum composition_method) [USE_FONT_BACKEND]: New
10686 enumeration COMPOSITION_WITH_GLYPH_STRING.
10687
10688 * dispextern.h (struct glyph_string) [USE_FONT_BACKEND]: New
10689 members clip_x, clip_y, clip_width, and clip_height.
10690 (struct face) [USE_FONT_BACKEND]: New members font_info and extra.
10691
10692 * emacs.c (main) [USE_FONT_BACKEND]: Handle arg
10693 --enable-font-backend. Call syms_of_font.
10694
10695 * fns.c (assoc_no_quit): New function.
10696
10697 * fontset.h (FONT_INFO_FROM_FACE): New macro.
10698 (face_for_font, new_fontset_from_font)
10699 (fontset_ascii_font) [USE_FONT_BACKEND]: Extern them.
10700
10701 * fontset.c [USE_FONT_BACKEND]: Include "font.h".
10702 (fontset_font, fontset_ascii, face_for_char)
10703 (make_fontset_for_ascii_face, Ffont_info)
10704 (Finternal_char_font) [USE_FONT_BACKEND]: If enable_font_backend
10705 is nonzero, use font-backend mechanism.
10706 (find_font_encoding): Make it non-static.
10707 (new_fontset_from_font, fontset_ascii_font) [USE_FONT_BACKEND]:
10708 New functions.
10709
10710 * frame.h (struct frame): New members resx and resy.
10711 (struct frame) [USE_FONT_BACKEND]: New member font_driver_list.
10712 (x_new_fontset2) [USE_FONT_BACKEND]: Extern it.
10713
10714 * frame.c [USE_FONT_BACKEND]: Include "font.h".
10715 (make_frame, x_set_font) [USE_FONT_BACKEND]: Use font-backend mechanism.
10716
10717 * lisp.h (assoc_no_quit): Extern it.
10718
10719 * xdisp.c: If USE_FONT_BACKEND is defined, include "font.h".
10720 Through out the file, use FONT_INFO_FROM_FACE instead of
10721 FONT_INFO_FROM_ID, use get_per_char_metric instead of
10722 rif->per_char_metric.
10723 (handle_composition_prop) [USE_FONT_BACKEND]: If the composition
10724 method is COMPOSITION_WITH_GLYPH_STRING, just set it->c to ' '.
10725 (get_glyph_face_and_encoding, fill_composite_glyph_string)
10726 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
10727 (x_produce_glyphs) [USE_FONT_BACKEND]: If enable_font_backend is
10728 nonzero, use font-backend mechanism.
10729 (get_per_char_metric): New function.
10730
10731 * xfaces.c [USE_FONT_BACKEND]: Include "font.h".
10732 (set_lface_from_font_name)
10733 (set_font_frame_param, free_realized_face)
10734 (prepare_face_for_display, clear_face_gcs)
10735 (Finternal_set_font_selection_order, realize_x_face)
10736 [USE_FONT_BACKEND]: If enable_font_backend is nonzero, use
10737 font-backend mechanism.
10738 (clear_face_cache) [USE_FONT_BACKEND]: Don't call clear_font_table.
10739 (load_face_font) [USE_FONT_BACKEND]: Abort.
10740 (face_symbolic_value, face_symbolic_weight, face_symbolic_slant)
10741 (face_symbolic_swidth, face_for_font) [USE_FONT_BACKEND]: New functions.
10742
10743 * xfns.c [USE_FONT_BACKEND]: Include "font.h".
10744 (x_default_font_parameter) [USE_FONT_BACKEND]: New function.
10745 (Fx_create_frame) [USE_FONT_BACKEND]: If enable_font_backend is
10746 nonzero, register all available font drivers. Call
10747 x_default_font_parameter for deciding a font.
10748 (x_create_tip_frame) [USE_FONT_BACKEND]: Likewise.
10749
10750 * xterm.c [USE_FONT_BACKEND]: Include "font.h".
10751 (x_set_mouse_face_gc, x_set_glyph_string_clipping)
10752 (x_set_glyph_string_clipping_exactly)
10753 (x_compute_glyph_string_overhangs)
10754 (x_draw_glyph_string_foreground)
10755 (x_draw_composite_glyph_string_foreground, x_draw_glyph_string)
10756 (x_free_frame_resources) [USE_FONT_BACKEND]: If
10757 enable_font_backend is nonzero, use font-backend mechanism.
10758 (x_new_fontset2) [USE_FONT_BACKEND]: New function.
10759
10760 2008-02-01 Kenichi Handa <handa@m17n.org>
10761
10762 * coding.c (coding_inherit_eol_type): If PARENT is nil, inherit from
10763 system_eol_type.
10764 (syms_of_coding): Initialize system_eol_type.
10765
10766 * process.c (Fset_process_coding_system): Inherit system's eol
10767 format if necessary.
10768
10769 2008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10770
10771 * macgui.h (USE_ATSUI): Don't enable on emacs-unicode-2 branch.
10772
10773 2008-02-01 Kenichi Handa <handa@m17n.org>
10774
10775 * coding.c (decode_eol): Pay attention to buffer relocation in
10776 del_range_2.
10777 (decode_coding): Call decode_eol before restoring undo_list.
10778
10779 2008-02-01 Kenichi Handa <handa@m17n.org>
10780
10781 * charset.c (Fdefine_charset_internal): Fix setting of
10782 emacs_mule_bytes.
10783
10784 2008-02-01 Kenichi Handa <handa@m17n.org>
10785
10786 * keyboard.c (read_char): Check if C is a character or not before
10787 looking up Vkeyboard_translate_table.
10788
10789 2008-02-01 Kenichi Handa <handa@m17n.org>
10790
10791 * coding.c (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Fix
10792 condition to terminate the loop.
10793
10794 2008-02-01 Kenichi Handa <handa@m17n.org>
10795
10796 * coding.c (produce_composition): Compare charbuf[i] instead of
10797 args[i] against 0.
10798 (Fterminal_coding_system): Use EQ to compare Lisp objects.
10799
10800 2008-02-01 Kenichi Handa <handa@m17n.org>
10801
10802 * coding.c (DECODE_COMPOSITION_START): If the source is short, set
10803 coding->result to CODING_RESULT_INSUFFICIENT_SRC.
10804 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK after the call of
10805 detect_coding.
10806 (emacs_mule_char): Handle old style (Emacs 20) component character
10807 of a composition.
10808 (DECODE_EMACS_MULE_COMPOSITION_RULE_20)
10809 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Fix parsing a
10810 composition rule.
10811 (decode_coding_emacs_mule): Handle invalid bytes correctly.
10812
10813 2008-02-01 Kenichi Handa <handa@m17n.org>
10814
10815 * coding.c (encode_coding_ccl): Allocate destination dynamically
10816 when necessary.
10817
10818 2008-02-01 Kenichi Handa <handa@m17n.org>
10819
10820 * ccl.c (Fccl_execute_on_string): Fix the condition of terminating
10821 the loop. When quitted, show a proper error message.
10822
10823 2008-02-01 Kenichi Handa <handa@m17n.org>
10824
10825 * xterm.c (x_set_glyph_string_clipping_exactly): Set
10826 src->clip_head and src->clip_tail temporarily instead of src->hl.
10827
10828 * ccl.c (CCL_WRITE_STRING): Handle a flag bit for multibyte
10829 character sequence.
10830 (Fccl_execute_on_string): Use ASET, not XSET.
10831
10832 2008-02-01 Kenichi Handa <handa@m17n.org>
10833
10834 * search.c (search_buffer): Fix handling of "\\" in a trivial regexp.
10835
10836 2008-02-01 Kenichi Handa <handa@m17n.org>
10837
10838 * coding.c (decode_coding): Fix the condition of terminating the
10839 decoding loop.
10840
10841 2008-02-01 Kenichi Handa <handa@m17n.org>
10842
10843 * data.c (Faset): On setting a character bigger than 255 in a
10844 unibyte string, signal an error instead of make the string multibyte.
10845
10846 2008-02-01 Kenichi Handa <handa@m17n.org>
10847
10848 * charset.c (map_charset_chars): Fix for ascii-compatible charset
10849 made by a mapping table.
10850
10851 2008-02-01 Kenichi Handa <handa@m17n.org>
10852
10853 * xdisp.c (fill_composite_glyph_string): Check s->face is NULL or
10854 not.
10855 (BUILD_COMPOSITE_GLYPH_STRING): If C is TAB, set s->face to NULL.
10856 (x_produce_glyphs): If CH is TAB, set cmp->offsets properly.
10857
10858 * xterm.c (x_draw_composite_glyph_string_foreground): Check
10859 s->face is NULL or not.
10860
10861 2008-02-01 Kenichi Handa <handa@m17n.org>
10862
10863 * xterm.c (x_set_glyph_string_clipping_exactly): New function.
10864 (x_draw_glyph_string): Fix drawing of right_overhang and
10865 left_overhang around/on cursor.
10866
10867 * xdisp.c (draw_glyphs): Fix inclusion of right_overwriting glyphs.
10868
10869 2008-02-01 Kenichi Handa <handa@m17n.org>
10870
10871 * xdisp.c (x_produce_glyphs): Handle composition with TAB.
10872
10873 2008-02-01 Kenichi Handa <handa@m17n.org>
10874
10875 * coding.c (Fdefine_coding_system_internal)
10876 (Fdefine_coding_system_alias): Avoid a duplicated element in
10877 Vcoding_system_alist.
10878
10879 2008-02-01 Kenichi Handa <handa@m17n.org>
10880
10881 * xterm.c (handle_one_xevent): Handle keysyms 0x1000000..0x10000FF.
10882
10883 * coding.c (Qcoding_system_define_form): New variable.
10884 (syms_of_coding): Intern and staticpro it.
10885 (Fcoding_system_p): Check Qcoding_system_define_form.
10886 (Fcheck_coding_system): Try to autoload the definition of CODING-SYSTEM.
10887
10888 * coding.h (CODING_SYSTEM_P): If ID is not available, call
10889 Fcoding_system_p.
10890 (CHECK_CODING_SYSTEM): If ID is not available, call
10891 Fcheck_coding_system.
10892 (CHECK_CODING_SYSTEM_GET_SPEC, CHECK_CODING_SYSTEM_GET_ID):
10893 Try also Fcheck_coding_system.
10894
10895 2008-02-01 Kenichi Handa <handa@m17n.org>
10896
10897 * coding.c (code_conversion_restore): GCPRO arg.
10898
10899 2008-02-01 Kenichi Handa <handa@m17n.org>
10900
10901 * character.c (lisp_string_width): Check multibyteness of STRING.
10902
10903 2008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10904
10905 * macterm.c (mac_encode_char): Call ccl_driver with the last arg
10906 Qnil. Use JIS_TO_SJIS instead of ENCODE_SJIS.
10907 (decode_mac_font_name): Use decode_coding_c_string instead of
10908 decode_coding.
10909 (x_load_font): Initialize fontp->fontset to -1. Set
10910 fontp->encoding_type.
10911
10912 2008-02-01 Kenichi Handa <handa@m17n.org>
10913
10914 * search.c (search_buffer): Give up BM search on case-fold-search
10915 if one of a target character has a case-equivalence of different
10916 byte length even if that target charcter is an ASCII.
10917 (simple_search): Fix calculation of byte length of matched text.
10918 (boyer_moore): Fix handling of case-equivalent multibyte characters.
10919
10920 2008-02-01 Kenichi Handa <handa@m17n.org>
10921
10922 * coding.c (decode_coding): Fix handling of invalid bytes.
10923
10924 2008-02-01 Kenichi Handa <handa@m17n.org>
10925
10926 * xterm.c (handle_one_xevent): Handle keysyms directly mapped to
10927 Unicode characters.
10928
10929 2008-02-01 Kenichi Handa <handa@m17n.org>
10930
10931 * coding.c (encode_coding_object): If a pre-write-conversion
10932 function makes a new buffer, kill it.
10933
10934 2008-02-01 Kenichi Handa <handa@m17n.org>
10935
10936 * coding.c (QCascii_compatible_p): New variable.
10937 (syms_of_coding): Initialize it.
10938 (ONE_MORE_BYTE, ONE_MORE_BYTE_NO_CHECK): Decrement `src' before
10939 calling string_char.
10940 (record_conversion_result): Add `default:' case.
10941 (coding_charset_list): Delete unused variable `coding_type'.
10942 (Fdefine_coding_system_internal): Add `ascii-compatible-p'
10943 property in the plist of the coding system.
10944 (Fcoding_system_put): Check QCascii_compatible_p.
10945
10946 2008-02-01 Miles Bader <miles@gnu.org>
10947
10948 * xfaces.c (Finternal_lisp_face_equal_p): Restore previously
10949 removed calculation of frame `f', as it's now used.
10950
10951 2008-02-01 Kenichi Handa <handa@m17n.org>
10952
10953 * Makefile.in (RUN_TEMACS): Include "-nl" if HAVE_SHM is defined.
10954 (emacs${EXEEXT}): Run $(RUN_TEMACS) unconditionally.
10955 (UNIDATA): New variable.
10956 (${lispsource}international/charprop.el): Depends on ${UNIDATA}.
10957 (bootstrap-emacs${EXEEXT}): Depends on charprop.el. Run
10958 $(RUN_TEMACS) unconditionally.
10959
10960 2008-02-01 Kenichi Handa <handa@m17n.org>
10961
10962 * Makefile.in (temacs${EXEEXT}): Build charprop.el if necessary.
10963 (admindir): New variable.
10964 ($(lispsource)international/charprop.el): New target.
10965
10966 2008-02-01 Miles Bader <miles@gnu.org>
10967
10968 * character.c (chars-in-region): Remove obsolete function.
10969 (syms_of_character): Remove its initialization.
10970
10971 2008-02-01 Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net>
10972
10973 * w32select.c (validate_coding_system)
10974 (setup_windows_coding_system): New functions.
10975 (convert_to_handle_as_coded, Fw32_get_clipboard_data): Use
10976 setup_windows_coding_system.
10977 (setup_config, Fw32_get_clipboard_data): Use
10978 validate_coding_system.
10979 (Fx_selection_exists): Move call to setup_config to a place
10980 where signals are allowed.
10981
10982 * lisp.h (Fcoding_system_base, Fcoding_system_eol_type)
10983 (Fcheck_coding_system): Add declarations.
10984
10985 2008-02-01 Kenichi Handa <handa@m17n.org>
10986
10987 * charset.c (load_charset_map_from_vector): Fix for the first iteration.
10988
10989 2008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10990
10991 * macfns.c (Fx_create_frame, x_create_tip_frame): Pass Lisp
10992 string as the second argument for x_new_fontset.
10993
10994 2008-02-01 Kenichi Handa <handa@m17n.org>
10995
10996 * coding.c (decode_coding_object): Use safe_call1 instead of call1.
10997 (encode_coding_object): Use safe_call instead of call2.
10998
10999 2008-02-01 Kenichi Handa <handa@m17n.org>
11000
11001 * fontset.c (Fset_fontset_font): Check family element of a given vector.
11002
11003 * Makefile.in (lisp): Include charprop.el.
11004
11005 2008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11006
11007 * macfns.c (Fx_create_frame, x_create_tip_frame): Fix crash.
11008 Not sure if it's unnecessary.
11009
11010 2008-02-01 Steven Tamm <steventamm@mac.com>
11011
11012 * macfns.c (Fx_create_frame, x_create_tip_frame): ifdef'd out
11013 some possibly unnecessary fontset checking code that crashed
11014 when creating a new frame.
11015
11016 2008-02-01 Kenichi Handa <handa@m17n.org>
11017
11018 * xfaces.c (merge_faces): Fix argument to lookup_derived_face and
11019 lookup_face.
11020
11021 * xdisp.c (Fformat_mode_line): Fix argument to lookup_named_face.
11022
11023 * fringe.c (draw_fringe_bitmap_1): Fix argument to lookup_named_face.
11024
11025 2008-02-01 Kenichi Handa <handa@m17n.org>
11026
11027 * coding.c: Cancel the change done in HEAD on 2008-02-01.
11028 (coding_charset_list): New function.
11029
11030 * coding.h (coding_charset_list): Extern it.
11031
11032 2008-02-01 Kenichi Handa <handa@m17n.org>
11033
11034 * fontset.c (Fset_fontset_font): Call find_font_encoding with
11035 concatenation of family and registry.
11036
11037 2008-02-01 Kenichi Handa <handa@m17n.org>
11038
11039 * character.h (BYTE8_STRING): Fix typo.
11040
11041 * editfns.c (Ftranslate_region_internal): Don't convert unibyte
11042 string to multibyte (sync to HEAD).
11043
11044 * casefiddle.c (casify_region): Handle changes in byte-length
11045 using replace_range_2 (sync to HEAD).
11046
11047 2008-02-01 Andreas Schwab <schwab@suse.de>
11048
11049 * chartab.c (map_char_table): GCPRO table and arg.
11050
11051 2008-02-01 Kenichi Handa <handa@m17n.org>
11052
11053 * syntax.c (skip_syntaxes): Return lispy 0 (not nil) if point is
11054 already at limit.
11055
11056 2008-02-01 Kenichi Handa <handa@m17n.org>
11057
11058 * fontset.c (fs_load_font): Use fast_string_match_ignore_case
11059 instead of fast_c_string_match_ignore_case.
11060 (find_font_encoding): Change argument to Lisp_Object. Use
11061 fast_string_match_ignore_case instead of
11062 fast_c_string_match_ignore_case. Change caller.
11063
11064 2008-02-01 Kenichi Handa <handa@m17n.org>
11065
11066 * xdisp.c (get_next_display_element): In unibyte case, decide to
11067 display in octal form by checking a character by
11068 UNIBYTE_CHAR_HAS_MULTIBYTE_P.
11069
11070 * charset.c (Fset_unibyte_charset): Setup unibyte_has_multibyte_table.
11071
11072 * character.c (unibyte_has_multibyte_table): New variable.
11073
11074 * character.h (unibyte_has_multibyte_table): Extern it.
11075 (UNIBYTE_CHAR_HAS_MULTIBYTE_P): New macro.
11076
11077 2008-02-01 Kenichi Handa <handa@m17n.org>
11078
11079 * coding.c (encode_coding_iso_2022): Fix handling of charset
11080 annotation.
11081
11082 2008-02-01 Kenichi Handa <handa@m17n.org>
11083
11084 * coding.c (setup_coding_system): If coding_system is nil, use
11085 Qundecided.
11086 (Fterminal_coding_system): Return nil if terminal coding system is
11087 `undecided'.
11088 (syms_of_coding): Define coding-system `undecided' here. Setup
11089 terminal_coding as `undecided'.
11090
11091 2008-02-01 Kenichi Handa <handa@m17n.org>
11092
11093 * xdisp.c (message_dolog, set_message_1): Call
11094 unibyte_char_to_multibyte with arg type int.
11095
11096 * lread.c (read1): Fix reading of a char-table.
11097
11098 * print.c (print_object): Include sub char-table in circularities
11099 detection.
11100
11101 2008-02-01 Kenichi Handa <handa@m17n.org>
11102
11103 * keymap.c (where_is_internal_2): Fix for the case that KEY is a cons.
11104 Append the found sequences in car of ARGS instead of prepending.
11105
11106 2008-02-01 Kenichi Handa <handa@m17n.org>
11107
11108 * fileio.c (report_file_error): Make a unibyte string from
11109 strerror (errorno).
11110 (Fsubstitute_in_file_name): Fix the arg to
11111 unibyte_char_to_multibyte. It is evaluated twice.
11112
11113 2008-02-01 Kenichi Handa <handa@m17n.org>
11114
11115 * charset.h (CHAR_CHARSET): Shortcut for ASCII case.
11116
11117 2008-02-01 Kenichi Handa <handa@m17n.org>
11118
11119 * coding.c (detect_coding_utf_16): Don't set detect_info->found if
11120 BOM is not found.
11121 (detect_coding, detect_coding_system): Optimization for ISO-2022
11122 when no 8-bit data is found.
11123
11124 2008-02-01 Jason Rumney <jasonr@gnu.org>
11125
11126 * w32fns.c (x_to_w32_font): Update to use new coding struct.
11127
11128 2008-02-01 Kenichi Handa <handa@m17n.org>
11129
11130 * charset.c (Fdeclare_equiv_charset, Fiso_charset): Fix handing of
11131 CHARS.
11132
11133 2008-02-01 Steven Tamm <steventamm@mac.com>
11134
11135 * macterm.c (mac_encode_char): Add charset argument and update
11136 to use encoding_type.
11137 (x_new_font, x_new_fontset): Merge in changes from xterm.c;
11138 switch to pure fontset.
11139 (decode_mac_font_name): Temporarily remove decoding.
11140 (x_font_name_to_mac_font_name): Temporarily remove encoding.
11141 (x_load_font): Temporarily remove encoding.
11142
11143 2008-02-01 Kenichi Handa <handa@m17n.org>
11144
11145 * xfaces.c (Fface_font): If frame is not on a window system,
11146 ignore CHARACTER arg. If HAVE_WINDOW_SYSTEM is not defined, don't
11147 refer to face->font.
11148 (split_font_name_into_vector, build_font_name_from_vector)
11149 (lookup_non_ascii_face, realize_non_ascii_face): Define them only
11150 when HAVE_WINDOW_SYSTEM is defined.
11151
11152 2008-02-01 Kenichi Handa <handa@m17n.org>
11153
11154 * xdisp.c (BUILD_GLYPH_STRINGS): Check if s is NULL.
11155 (x_produce_glyphs): Fix setting of members of cmp in case
11156 cmp->glyph_len is zero.
11157
11158 * fontset.c (Fset_fontset_font): Fix docstring.
11159 (Ffontset_info): Make it backward compatible. New arg ALL.
11160
11161 2008-02-01 Kim F. Storm <storm@cua.dk>
11162
11163 * process.c (read_process_output): Grow decoding_buf when needed;
11164 this could cause a crash in allocate_string and compact_small_strings.
11165
11166 2008-02-01 Kenichi Handa <handa@m17n.org>
11167
11168 * fileio.c (WRITE_BUF_SIZE): Delete this macro.
11169
11170 2008-02-01 Kenichi Handa <handa@m17n.org>
11171
11172 * coding.c (setup_coding_system): Set coding->common_flags
11173 correctly for raw-text.
11174 (consume_chars): On encoding unibyte text by raw-text, don't check
11175 multibyte form.
11176 (encode_coding): On encoding by raw-text, never use translation tables.
11177
11178 * fileio.c (e_write): Short cut for the case of no encoding.
11179
11180 2008-02-01 Kenichi Handa <handa@m17n.org>
11181
11182 * coding.c (detect_coding, detect_coding_system): Delete unused
11183 variables.
11184
11185 2008-02-01 Kenichi Handa <handa@m17n.org>
11186
11187 * coding.c (encode_coding_utf_8): Fix handling of raw-byte char.
11188 (consume_chars): Fix handling of 8-bit bytes in unibyte source.
11189
11190 2008-02-01 Kenichi Handa <handa@m17n.org>
11191
11192 * coding.c (Ffind_coding_systems_region_internal): Include
11193 raw-text and no-conversion in the result.
11194
11195 2008-02-01 Kenichi Handa <handa@m17n.org>
11196
11197 * fontset.c (find_font_encoding): Return `ascii' for unknown encoding.
11198 (load_font_get_repertory): Delete unnecessary check of ENCODING of
11199 FONT_DEF.
11200 (font_def_arg, add_arg, from_arg, to_arg): New args.
11201 (set_fontset_font): Change argument.
11202 (Fset_fontset_font): Fix for the case that TARGET is a script
11203 name and charset name.
11204 (new_fontset_from_font_name): Fix argument to Fnew_fontset.
11205
11206 2008-02-01 Kenichi Handa <handa@m17n.org>
11207
11208 * fontset.c (fontset_font): Rename from fontset_face. Change return
11209 value.
11210 (face_suitable_for_char_p, face_for_char): Adjust for the change
11211 of fontset_font.
11212 (make_fontset_for_ascii_face): Fix setting of the fontset element
11213 for ASCII.
11214 (Finternal_char_font): Use fontset_font instead of FACE_FOR_CHAR
11215 to get a font name.
11216 (Ffontset_info): Adjust for the change of fontset_font.
11217
11218 * coding.c (emacs_mule_char): Check invalid code more rigidly.
11219
11220 * character.h (LEADING_CODE_LATIN_1_MIN)
11221 (LEADING_CODE_LATIN_1_MAX): Delete these macros.
11222
11223 2008-02-01 Kenichi Handa <handa@m17n.org>
11224
11225 * editfns.c (check_translation): New function.
11226 (Ftranslate_region_internal): Handle M:N mapping.
11227
11228 2008-02-01 Kenichi Handa <handa@m17n.org>
11229
11230 * xfaces.c (xlfd_point_size): Set font->numeric[XLFD_PIXEL_SIZE].
11231
11232 2008-02-01 Kenichi Handa <handa@m17n.org>
11233
11234 * coding.c (DECODE_DESIGNATION): Set chars_96 to -1 instead of
11235 goto invalid_code.
11236 (decode_coding_iso_2022): Fix handling of invalid designation.
11237
11238 * fileio.c (Finsert_file_contents): Be sure to call unbind_to
11239 after calling code_conversion_save.
11240
11241 2008-02-01 Kenichi Handa <handa@m17n.org>
11242
11243 * xdisp.c (handle_auto_composed_prop): Fix Lisp_Object/int mixup.
11244
11245 * print.c (print_prune_string_charset): Fix Lisp_Object/int mixup.
11246
11247 * fontset.c: Include "intervals.h".
11248 (fontset_face): Fix comparing of Lisp_Objects.
11249 (free_face_fontset, new_fontset_from_font_name): Fix
11250 Lisp_Object/int mixup.
11251
11252 * editfns.c (Ftranslate_region_internal): Fix Lisp_Object/int mixup.
11253
11254 * coding.c: Add many prototypes for static functions.
11255 (get_translation_table): Allow max_lookup to be NULL.
11256 (decode_coding, Ffind_coding_systems_region_internal)
11257 (Funencodable_char_position, Fcheck_coding_systems_region): Call
11258 get_translation_table with max_lookup NULL.
11259
11260 2008-02-01 Kenichi Handa <handa@m17n.org>
11261
11262 * coding.c (get_translation_table): Declare it as Lisp_Object.
11263 (LOOKUP_TRANSLATION_TABLE): New macro.
11264 (produce_chars, consume_chars): Use LOOKUP_TRANSLATION_TABLE
11265 instead of CHAR_TABLE_REF.
11266
11267 2008-02-01 Kenichi Handa <handa@m17n.org>
11268
11269 * coding.c (MAX_ANNOTATION_LENGTH): Adjust for the change of
11270 annotation data format.
11271 (ADD_ANNOTATION_DATA, ADD_COMPOSITION_DATA, ADD_CHARSET_DATA):
11272 Change arguments FROM and TO to single argument NCHARS. Change caller.
11273 (decode_coding_utf_8, decode_coding_utf_16, decode_coding_emacs_mule)
11274 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
11275 (decode_coding_ccl, decode_coding_charset): Pay attention to
11276 coding->charbuf_used.
11277 (get_translation): New function.
11278 (produce_chars): New arguments translation_table and last_block.
11279 Translate characters here. Return number of carryover chars.
11280 Change caller.
11281 (produce_composition): New argument pos. Change caller.
11282 Adjust for the change of annotation data format.
11283 (produce_charset, produce_annotation): Likewise.
11284 (decode_coding, encode_coding): Don't call translate_chars.
11285 (consume_chars): New arg translation_table. Change caller.
11286 (translate_chars): Delete.
11287 (syms_of_coding): Make translation-table's number of extra slots 2.
11288
11289 2008-02-01 Kenichi Handa <handa@m17n.org>
11290
11291 * search.c (simple_search): Fix setting this_pos_byte in backward
11292 search.
11293
11294 * coding.c (detect_coding_emacs_mule): Fix counting of encoded
11295 byte sequence.
11296 (detect_coding_ccl): Fix setting of the variable valids.
11297
11298 2008-02-01 Kenichi Handa <handa@m17n.org>
11299
11300 * xterm.c (x_list_fonts): Fix the detection of an auto-scaled font.
11301
11302 * coding.c (decode_coding_utf_16): Fix handling of surrogate pair.
11303
11304 * editfns.c (Ftranslate_region_internal): Rename from
11305 Ftranslate_region. Accept a char-table in TABLE.
11306 (syms_of_editfns): Defsubr Stranslate_region_internal.
11307
11308 * xfaces.c (set_lface_from_font_name): If a font is specified for
11309 a frame, generate a fontset from the font.
11310 (build_scalable_font_name): If the scalable font is requested for
11311 a specific size, don't change that size.
11312 (try_font_list): Try a scalable font also in the case that a
11313 pattern string is specified.
11314
11315 2008-02-01 Kenichi Handa <handa@m17n.org>
11316
11317 * xfaces.c (Fface_font): New optional arg CHARACTER.
11318
11319 2008-02-01 Kenichi Handa <handa@m17n.org>
11320
11321 * charset.h (CHARSET_OFFSET): New macro.
11322
11323 2008-02-01 Kenichi Handa <handa@m17n.org>
11324
11325 * xterm.c (x_get_font_repertory): Fix for non-Unicode-bmp charset.
11326
11327 * fontset.c (fontset_face): Handle the case that repertory is a
11328 char-table.
11329 (find_font_encoding): Return nil for unknown encoding.
11330 (Fset_fontset_font): Ignore a font of unknown encoding.
11331
11332 2008-02-01 Kenichi Handa <handa@m17n.org>
11333
11334 * keymap.c (describe_vector): Handle default value of a char table.
11335
11336 * fontset.c (fontset_face): Handle fallback fonts correctly.
11337 (Ffontset_info): Return infomation about fallback fonts.
11338
11339 2008-02-01 Kenichi Handa <handa@m17n.org>
11340
11341 * fontset.c (FONTSET_DEFAULT): New macro.
11342 (FONTSET_ADD, fontset_add): Handle the case that range is nil.
11343 (Fset_fontset_font): Change the 2nd arg name to TARGET, and handle
11344 the case that it is nil.
11345 (dump_fontset): Call FONTSET_DEFAULT, not FONTSET_FALLBACK.
11346 (syms_of_fontset): Set char-table-extra-slots property of fontset to 9.
11347
11348 * charset.h (CHAR_CHARSET_P): Fix for the case that the method is
11349 subset or superset.
11350
11351 2008-02-01 Kenichi Handa <handa@m17n.org>
11352
11353 * emacs.c (main): Call init_charset after syms_of_XXX.
11354
11355 * charset.c (Vcharset_map_directory): Delete.
11356 (Vcharset_map_path): New variable.
11357 (load_charset_map_from_file): Use Vcharset_map_path instead.
11358 (init_charset): Initialize Vcharset_map_path.
11359 (syms_of_charset): Delete declaration of "charset-map-directory",
11360 add declaration of "charset-map-path".
11361
11362 2008-02-01 Kenichi Handa <handa@m17n.org>
11363
11364 * fns.c (string_char_to_byte, string_byte_to_char): Optimize for
11365 ASCII only string.
11366
11367 * fileio.c (Finsert_file_contents): Avoid detecting a code twice.
11368
11369 * coding.c (detect_coding_iso_2022): Fix handling of SS2 and SS3.
11370 (detect_coding, detect_coding_system): Treat '\0' as normal ASCII byte.
11371
11372 2008-02-01 Kenichi Handa <handa@m17n.org>
11373
11374 * coding.h (SJIS_TO_JIS2, JIS_TO_SJIS2): New macros.
11375
11376 * coding.c (QCmnemonic, QCdefalut_char)
11377 (QCdecode_translation_table, QCencode_translation_table)
11378 (QCpost_read_conversion, QCpre_write_conversion): New variables.
11379 (get_translation_table): Return a list of translation tables if
11380 necessary.
11381 (decode_coding): Call get_translation_table with ENCODEP 0.
11382 (char_encodable_p): If translation_table is non-nil, always call
11383 translate_char.
11384 (Fdefine_coding_system_internal): Accept list of translation
11385 tables as :encode-translation-table and :decode-translation-table.
11386 (Fcoding_system_put): New function.
11387 (syms_of_coding): Declare new symbols. Defsubr
11388 Scoding_system_put.
11389 (decode_coding_sjis, encode_coding_sjis): Handle 4th charset,
11390 typically JISX0212.
11391
11392 * charset.c (map_charset_chars): Fix arg to map_charset_chars in
11393 when the charset is superset type.
11394
11395 * character.c (translate_char): Accept list of translation tables.
11396
11397 2008-02-01 Kenichi Handa <handa@m17n.org>
11398
11399 * coding.h (enum coding_attr_index): New member coding_attr_trans_tbl.
11400 (CODING_ATTR_TRANS_TBL): New macro.
11401
11402 * coding.c (get_translation_table): New function.
11403 (translate_chars): Fix the bug of skipping annotation data.
11404 (decode_coding, encode_coding): Utilize get_translation_table.
11405 (char_encodable_p, Funencodable_char_position): Translate char if
11406 necessary.
11407 (Ffind_coding_systems_region_internal)
11408 (Fcheck_coding_systems_region): Setup translation table for encode
11409 in a coding system attribute vector in advance.
11410 (Fdefine_coding_system_internal): Allow a symbol as translation
11411 table. For shift-jis type coding system, allow 4th charset.
11412
11413 2008-02-01 Kenichi Handa <handa@m17n.org>
11414
11415 * coding.c (decode_coding_sjis): Check the first byte rigidly.
11416
11417 * xdisp.c (get_next_display_element): Pass -1 as POS to
11418 FACE_FOR_CHAR if displaying a C-string.
11419
11420 2008-02-01 Kenichi Handa <handa@m17n.org>
11421
11422 * composite.c (get_composition_id): Handle xoff and yoff in a
11423 composition rule.
11424
11425 * composite.h (COMPOSITION_DECODE_RULE): New arg xoff and yoff.
11426 (struct composition): New member lbearing and rbearing.
11427
11428 * xdisp.c (move_it_to): Optimize for the case (op & MOVE_TO_Y).
11429 (x_get_glyph_overhangs): Handle a composition glyph.
11430 (x_produce_glyphs): Setup lbearing and rbreaing for a composition glyph.
11431
11432 * xterm.c (x_compute_glyph_string_overhangs): Handle also a
11433 composition glyph.
11434
11435 2008-02-01 Kenichi Handa <handa@m17n.org>
11436
11437 * print.c: Include charset.h.
11438 (Vprint_charset_text_property): New variable.
11439 (Qdefault): Extern it.
11440 (PRINT_STRING_NON_CHARSET_FOUND)
11441 (PRINT_STRING_UNSAFE_CHARSET_FOUND): New macros.
11442 (print_check_string_result): New variable.
11443 (print_check_string_charset_prop): New function.
11444 (print_prune_charset_plist): New variable.
11445 (print_prune_string_charset): New function.
11446 (print_object): Call print_prune_string_charset if
11447 Vprint_charset_text_property is not t.
11448 (print_interval): Print nothing if interval->plist is nil.
11449 (syms_of_print): Declare Vprint_charset_text_property as a lisp
11450 variable. Init and staticpro print_prune_charset_plist.
11451
11452 2008-02-01 Kenichi Handa <handa@m17n.org>
11453
11454 * fontset.c (new_fontset_from_font_name): Use the specified font
11455 for all characters in the new fontset.
11456
11457 * macterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
11458 OBJECT args.
11459
11460 * xdisp.c (x_produce_glyphs): Call FACE_FOR_CHAR with POS and
11461 OBJECT args for composition too.
11462
11463 * w32term.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
11464 OBJECT args.
11465
11466 2008-02-01 Kenichi Handa <handa@m17n.org>
11467
11468 * dispextern.h (FACE_FOR_CHAR): New args POS and OBJECT.
11469
11470 * fontset.c (reorder_font_vector): Adjust for the change of
11471 FONT_DEF format.
11472 (fontset_face): New arg id. Change caller.
11473 (face_for_char): New args pos and object.
11474 (make_fontset_for_ascii_face): Adjust for the change of FONT_DEF format.
11475 (fs_query_fontset): Check NAME by Fassoc too.
11476 (Fset_fontset_font): Allow non-XLFD font name.
11477 (Ffontset_info): Adjust for the change of FONT_DEF format.
11478
11479 * fontset.h (face_for_char): Adjust prototype.
11480
11481 * xdisp.c (face_before_or_after_it_pos, get_next_display_element)
11482 (append_space, extend_face_to_end_of_line)
11483 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
11484 (x_produce_glyphs): Call FACE_FOR_CHAR with POS and OBJECT args.
11485
11486 * xfaces.c (compute_char_face): Call FACE_FOR_CHAR with
11487 POS and OBJECT args.
11488
11489 * xterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with
11490 POS and OBJECT args.
11491
11492 2008-02-01 Jason Rumney <jasonr@gnu.org>
11493
11494 * w32select.c (Fw32_set_clipboard_data): Avoid potential realloc
11495 of GlobalAlloc'ed memory.
11496
11497 2008-02-01 Kenichi Handa <handa@m17n.org>
11498
11499 * ccl.c (Fccl_execute_on_string): Fix the condition of loop.
11500
11501 * charset.h (charset_table_used): Delete extern.
11502
11503 * charset.c (charset_table_used): Make it static.
11504 (map_charset_chars): Fix args to c_function with.
11505
11506 * chartab.c (map_sub_char_table_for_charset): Fix args to
11507 c_function with.
11508
11509 * coding.h (enum coding_result_code): Delete
11510 CODING_RESULT_INSUFFICIENT_CMP, add CODING_RESULT_INVALID_SRC.
11511
11512 * coding.c (Qinsufficient_source, Qinconsistent_eol)
11513 (Qinvalid_source, Qinterrupted, Qinsufficient_memory): New variables.
11514 (Vlast_code_conversion_error): New variables.
11515 (syms_of_coding): DEFSYM or DEFVAR_LISP them.
11516 (ONE_MORE_BYTE): Record error if any instead of signaling an
11517 error. If non-ASCII multibyte char is found, return the negative
11518 value of the code. All callers changed to check it.
11519 (ONE_MORE_BYTE_NO_CHECK): Likewise.
11520 (record_conversion_result): New function. Change all codes setting
11521 coding->result to call this function.
11522 (detect_coding_utf_8, decode_coding_utf_8)
11523 (detect_coding_emacs_mule, detect_coding_sji, detect_coding_big5):
11524 Don't use the local variable incomplete.
11525 (emacs_mule_char): Change the second arg to `const'.
11526 (decode_coding): Fix of flushing out unprocessed data.
11527 (make_conversion_work_buffer): Fix making of a work buffer.
11528 (decode_coding_object): Return coding->dst_object.
11529
11530 * fontset.c (set_fontset_font): Fix args.
11531
11532 * lisp.h (CHARACTERBITS): Define as 22.
11533
11534 * process.c (send_process): Be sure to set coding->src_multibyte.
11535
11536 * xdisp.c (handle_auto_composed_prop): Fix setting of limit.
11537
11538 2008-02-01 Kenichi Handa <handa@m17n.org>
11539
11540 * xdisp.c (handle_auto_composed_prop): Give limit to
11541 Fnext_single_char_property_change.
11542
11543 2008-02-01 Kenichi Handa <handa@m17n.org>
11544
11545 * composite.c (syms_of_composite): Don't make the composition hash
11546 table weak.
11547
11548 * fontset.c (Fset_fontset_font): Fix docstring.
11549
11550 * lisp.h (detect_coding_system): Adjust prototype.
11551
11552 * fileio.c (kill_workbuf_unwind): Delete this function.
11553 (Finsert_file_contents): Adjust the call of detect_coding_system.
11554 Get conversion_buffer by code_conversion_save. Use the macro
11555 CODING_MAY_REQUIRE_DECODING. After decoding, update
11556 coding_system.
11557
11558 * coding.h (make_conversion_work_buffer): Delete extern.
11559 (code_conversion_save): Extern it.
11560
11561 * coding.c (enum iso_code_class_type): Delete ISO_carriage_return.
11562 (CODING_GET_INFO): Delete argument eol_type. Change callers.
11563 (decode_coding_utf_8): Don't do eol converion.
11564 (detect_coding_utf_16): Check coding->src_chars, not
11565 coding->src_bytes. Add heuristics for those that have no signature.
11566 (decode_coding_emacs_mule, decode_coding_iso_2022)
11567 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
11568 Don't do eol converion.
11569 (adjust_coding_eol_type): Return a new coding system.
11570 (detect_coding): Don't detect eol. Fix for utf-16 detection.
11571 (decode_eol): In case of CRLF->LF conversion, use del_range_2 on
11572 each change.
11573 (decode_coding): Pay attention to undo_list. Do eol conversion for
11574 all types of coding-systems (if necessary).
11575 (Vcode_conversion_work_buf_list): Delete it.
11576 (Vcode_conversion_reused_workbuf): Rename from
11577 Vcode_conversion_reused_work_buf.
11578 (Vcode_conversion_workbuf_name): New variable.
11579 (reused_workbuf_in_use): New variable.
11580 (make_conversion_work_buffer): Delete the arg DEPTH.
11581 (code_conversion_restore): Change argument to cons.
11582 (code_conversion_save): Delete the argument BUFFER. Change callers.
11583 (detect_coding_system): New argument src_chars. Change callers.
11584 Fix for utf-16 detection.
11585 (init_coding_once): Don't use ISO_carriage_return.
11586 (syms_of_coding): Initialize Vcode_conversion_workbuf_name and
11587 reused_workbuf_in_use.
11588
11589 2008-02-01 Kenichi Handa <handa@m17n.org>
11590
11591 * keymap.c (store_in_keymap): Pay attention to the case that idx
11592 is a cons specifying a character range.
11593
11594 2008-02-01 Kenichi Handa <handa@m17n.org>
11595
11596 * xdisp.c (handle_auto_composed_prop): Fix the case of returning
11597 HANDLED_RECOMPUTE_PROPS.
11598
11599 * coding.c (Fdefine_coding_system_internal): Fix checking of
11600 ascii compatibility.
11601
11602 2008-02-01 Kenichi Handa <handa@m17n.org>
11603
11604 * charset.c (find_charsets_in_text): Delete unused locale variable.
11605 (Fset_charset_priority): Update Vemacs_mule_charset_list too.
11606
11607 * coding.c (encode_coding_emacs_mule): Emit bytes with MSB.
11608 Resync charset_list to Vemacs_mule_charset_list.
11609
11610 * keymap.c (store_in_keymap): Pay attention to the case that idx
11611 is a cons specifying a character range.
11612
11613 2008-02-01 Kenichi Handa <handa@m17n.org>
11614
11615 * composite.c (update_compositions): Bind inhibit-read-only, etc
11616 to t before calling remove-list-of-text-properties.
11617
11618 * print.c (print_object): Always print ASCII chars as is.
11619
11620 2008-02-01 Kenichi Handa <handa@m17n.org>
11621
11622 * keymap.c (Fdefine_key): Fix handling of Lucid style event type list.
11623
11624 * fns.c (Fmapconcat, Fmapcar, Fmapc): Signal an error if SEQUENCE
11625 is a char table.
11626
11627 2008-02-01 Kenichi Handa <handa@m17n.org>
11628
11629 * syntax.c (skip_chars): Be sure to alloca char_ranges when necessary.
11630
11631 2008-02-01 Kenichi Handa <handa@m17n.org>
11632
11633 * xfaces.c (set_lface_from_font_name): Fix for the case that
11634 FONTNAME is not fontset name.
11635
11636 2008-02-01 Kenichi Handa <handa@m17n.org>
11637
11638 * fns.c (base64_encode_1): Fix previous change.
11639
11640 2008-02-01 Kenichi Handa <handa@m17n.org>
11641
11642 * fontset.c (set_fontset_font): New function.
11643 (Fset_fontset_font): If a font is specified for a charset, use
11644 map_charset_chars to store the font spec in a fontset.
11645
11646 2008-02-01 Kenichi Handa <handa@m17n.org>
11647
11648 * fontset.c (fontset_face): Create a fallback fontset on demand.
11649 (make_fontset): Don't create a fallback fontset here.
11650 (free_face_fontset): Free a fallback fontset (if any) too.
11651 (n_auto_fontsets): Delete this variable.
11652 (auto_fontset_alist): New variable.
11653 (new_fontset_from_font_name): Check auto_fontset_alist.
11654 (dump_fontset) [FONTSET_DEBUG]: Fully re-written.
11655 (Ffontset_list_all) [FONTSET_DEBUG]: New function.
11656 (syms_of_fontset): Initialize and staticpro auto_fontset_alist.
11657 Defsubr Sfontset_list_all.
11658
11659 2008-02-01 Kenichi Handa <handa@m17n.org>
11660
11661 * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
11662
11663 2008-02-01 Kenichi Handa <handa@m17n.org>
11664
11665 * fontset.c (Fnew_fontset): Check NAME more rigidly.
11666
11667 2008-02-01 Kenichi Handa <handa@m17n.org>
11668
11669 * editfns.c (Fgoto_char): Fix docstring.
11670
11671 2008-02-01 Kenichi Handa <handa@m17n.org>
11672
11673 * insdel.c (insert_from_gap): Adjust intervals correctly.
11674
11675 2008-02-01 Jason Rumney <jasonr@gnu.org>
11676
11677 * w32term.c (GLYPHSET, WCRANGE): Define if system headers don't.
11678 (pfnGetFontUnicodeRanges): New dynamically loaded function.
11679 (w32_initialize): Try to load it.
11680 (x_get_font_repertory): Use it if available.
11681 (w32_encode_char): Add shortcut for unicode output.
11682
11683 * w32fns.c (w32_load_system_font): Default charset to -1.
11684 (x_to_w32_charset): Match all fonts for unicode.
11685 (w32_to_x_charset): New parameter matching. Don't return partial
11686 or wildcard charsets.
11687 (w32_to_all_x_charsets): Don't return partial or wildcard charsets.
11688 (w32_codepage_for_font): Return CP_UNICODE for unicode.
11689 (w32_to_x_font): Match charset to real charset.
11690 (enum_font_cb2): Always list unicode versions.
11691
11692 * makefile.w32-in (temacs): Increase EMHEAP.
11693
11694 2008-02-01 Jason Rumney <jasonr@gnu.org>
11695
11696 * w32term.c (w32_encode_char): New charset parameter.
11697 font_info.encoding becomes encoding_type.
11698 (x_get_font_repertory): New function. Warning: stub only!
11699 (x_new_font): Return quickly if font already set.
11700 (x_new_fontset): fontsetname parameter is Lisp_Object.
11701 Use new fs_query_fontset. Try new_fontset_from_font_name.
11702 Use fontset_name for return value.
11703
11704 * w32term.h: Declare x_get_font_repertory.
11705
11706 * w32select.c (Fw32_set_clipboard_data): Use string_x_string_p in
11707 place of find_charset_in_text. Use encode_coding_object in place
11708 of encode_coding.
11709 (Fw32_get_clipboard_data): Use decode_coding_c_string in place of
11710 decode_coding.
11711
11712 * w32fns.c (Fx_create_frame, x_create_tip_frame): Use new version
11713 of x_new_fontset.
11714 (w32_load_system_font): Initialize charset as unicode.
11715 font_info.encoding becomes encoding_type.
11716 (w32_to_x_font): Use decode_coding_c_string in place of decode_coding.
11717 (x_to_w32_font): Use encode_coding_object in place of encode_coding.
11718 (syms_of_w32fns): Set get_font_repertory_func.
11719
11720 * w32console.c: Include character.h. Use terminal_encode_buffer
11721 from term.c.
11722 (write_glyphs): Use new version of encode_terminal_code. Use
11723 encode_coding_object in place of encode_coding.
11724
11725 * w32bdf.c (w32_load_bdf_font): Clear font_info before filling.
11726 encoding becomes encoding_type.
11727
11728 * term.c (terminal_encode_buffer): Make externally visible.
11729
11730 * makefile.w32-in: Add character.h dependancies.
11731 (character.o, chartab.o): New targets.
11732
11733 2008-02-01 Kenichi Handa <handa@m17n.org>
11734
11735 * fileio.c (Finsert_file_contents) [DOS_NT]: Use the macro
11736 CODING_ID_EOL_TYPE.
11737
11738 2008-02-01 Andreas Schwab <schwab@suse.de>
11739
11740 * coding.c (produce_chars): Revert last change.
11741
11742 2008-02-01 Kenichi Handa <handa@m17n.org>
11743
11744 * charset.h (charset_unicode): Extern it.
11745
11746 * charset.c (string_xstring_p): Check by (C >= 0x100).
11747 (find_charsets_in_text): Change format of the arc CHARSETS. New
11748 arg MULTIBYTE.
11749 (Ffind_charset_region, Ffind_charset_string): Adjust for the
11750 change of find_charsets_in_text.
11751 (Fsplit_char): Fix doc. Never return unknown.
11752
11753 * chartab.c (char_table_translate): Use CHARACTERP, not INTEGERP.
11754
11755 * coding.c (Fdefine_coding_system_alias): Update
11756 Vcoding_system_list.
11757
11758 * fontset.c (load_font_get_repertory): Pay attention to the case
11759 that ENCODING of a font is specified by a char-table.
11760
11761 * xterm.c (x_get_font_repertory): Handle the case that the
11762 encoding of font is other than Unicode.
11763
11764 2008-02-01 Kenichi Handa <handa@m17n.org>
11765
11766 * term.c (encode_terminal_code): Don't handle glyph-table. Check
11767 if a character is encodable by the terminal coding system. If
11768 not, produces proper number of `?'s. Update
11769 terminal_encode_buffer and terminal_encode_buf_size if necessary.
11770 (produce_glyphs): Check by CHAR_BYTE8_P, not SINGLE_BYTE_CHAR_P.
11771
11772 2008-02-01 Kenichi Handa <handa@m17n.org>
11773
11774 * term.c (terminal_encode_buffer, terminal_encode_buf_size): New
11775 variables.
11776 (encode_terminal_code): Change argument. Encode multiple
11777 characters at once. Store the result of encoding in
11778 terminal_encode_buffer.
11779 (write_glyphs, insert_glyphs): Adjust for the change of
11780 encode_terminal_code.
11781 (term_init): Initialize terminal_encode_buffer and
11782 terminal_encode_buf_size.
11783
11784 * coding.c (consume_chars): If coding->src_object is nil, don't
11785 check annotation.
11786
11787 2008-02-01 Kenichi Handa <handa@m17n.org>
11788
11789 * character.c (char_string): Use ASCII_CHAR_P instead of
11790 SINGLE_BYTE_CHAR_P.
11791
11792 2008-02-01 Kenichi Handa <handa@m17n.org>
11793
11794 * xdisp.c (handle_auto_composed_prop): Check if the last
11795 characters of auto-composed region is newly composed with the
11796 following characters.
11797 (handle_composition_prop): Fix checking of point being inside
11798 composition.
11799
11800 2008-02-01 Kenichi Handa <handa@m17n.org>
11801
11802 * fns.c (concat): Don't change multibyteness of the result by
11803 concatenating an 8-bit character.
11804
11805 * data.c (Faset): Check newelt by CHECK_CHARACTER. Don't change
11806 multibyteness of the result when newelt is an 8-bit character.
11807
11808 2008-02-01 Dave Love <fx@gnu.org>
11809
11810 * xmenu.c (find_and_call_menu_selection): Make menu_bar_items_used
11811 EMACS_INT.
11812
11813 * xfns.c (DefaultDepthOfScreen, x_encode_text): Remove unused vars.
11814
11815 * xfaces.c (face_numeric_value): Declare dim size_t.
11816 (Finternal_lisp_face_equal_p): Remove unused f.
11817
11818 * xdisp.c (BUILD_CHAR_GLYPH_STRINGS, display_and_set_cursor)
11819 (MATRIX_ROW): Remove unused vars.
11820 (draw_glyphs, x_insert_glyphs, fast_find_position)
11821 (fast_find_position, fast_find_string_pos): Use EMACS_INT for
11822 byte/char counts.
11823
11824 * regex.c (regex_compile): Remove unused var.
11825
11826 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
11827
11828 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
11829 (Faccessible_keymaps, where_is_internal): Remove unused vars.
11830
11831 * keyboard.c (cancel_hourglass_unwind): Return Qnil.
11832
11833 * frame.c (frame_name_fnn_p): Make len EMACS_INT.
11834
11835 * fileio.c (Fwrite_region): Remove unused var.
11836
11837 * dispnew.c (adjust_frame_glyphs_for_frame_redisplay)
11838 (adjust_frame_glyphs_for_window_redisplay): Remove unused ch_dim.
11839
11840 * composite.c (Fremove_list_of_text_properties): Declare.
11841
11842 * coding.c (inhibit_pre_post_conversion): Remove (unused).
11843 (alloc_destination, produce_chars): Use EMACS_INT for byte/char counts.
11844 (coding_inherit_eol_type): Remove unused attrs.
11845 (detect_coding): Cast arg of detect_eol.
11846
11847 * charset.c (syms_of_charset): Remove unused var p.
11848 (find_charsets_in_text, Ffind_charset_region): Use EMACS_INT for
11849 byte/char counts.
11850
11851 * casetab.c (set_case_table): Remove unused var.
11852
11853 * window.c (Fdisplay_buffer, Fframe_selected_window): Remove
11854 unused vars.
11855
11856 2008-02-01 Dave Love <fx@gnu.org>
11857
11858 * xterm.c (x_bitmap_mask): Declare.
11859
11860 2008-02-01 Dave Love <fx@gnu.org>
11861
11862 * xterm.c (x_term_init): Fix type error.
11863
11864 * lisp.h: Add Funibyte_char_to_multibyte.
11865
11866 * coding.c (Fread_coding_system): Fix arg of XSETSTRING.
11867 (Fset_coding_system_priority): Doc fix.
11868
11869 * ccl.c (ccl_driver): Fix arg of CHARACTERP.
11870
11871 * indent.c (check_composition): Make start and end EMACS_INT.
11872
11873 * character.c (lisp_string_width): Make ignore and end EMACS_INT.
11874
11875 * xdisp.c (handle_composition_prop, check_point_in_composition):
11876 Make buffer positions EMACS_INT.
11877
11878 * composite.c (find_composition, run_composition_function)
11879 (update_compositions, Ffind_composition_internal): Make buffer
11880 positions EMACS_INT.
11881
11882 * composite.h (find_composition, update_compositions): Make
11883 position args EMACS_INT.
11884
11885 * keyboard.c (adjust_point_for_property): Make beg and end EMACS_INT.
11886
11887 * intervals.c (get_property_and_range):
11888 * intervals.h (get_property_and_range): Make start and end EMACS_INT.
11889
11890 * unexalpha.c: Don't include varargs.h.
11891
11892 2008-02-01 Dave Love <fx@gnu.org>
11893
11894 * coding.h (ENCODE_UTF_8): New.
11895
11896 * Makefile.in (gtkutil.o): Depend on coding.h.
11897
11898 * coding.c (Fset_coding_system_priority): Doc fix.
11899
11900 2008-02-01 Kenichi Handa <handa@m17n.org>
11901
11902 * fileio.c (Finsert_file_contents): Call setup_coding_system in
11903 the case of auto saving.
11904
11905 2008-02-01 Andreas Schwab <schwab@suse.de>
11906
11907 * chartab.c (map_char_table, map_char_table_for_charset): Protect
11908 `range' from GC.
11909
11910 2008-02-01 Kenichi Handa <handa@m17n.org>
11911
11912 * coding.c (decode_coding_sjis): Check bytes more rigidly.
11913
11914 2008-02-01 Kenichi Handa <handa@m17n.org>
11915
11916 * fileio.c (choose_write_coding_system): Return a decided coding system.
11917 (Fwrite_region): Set Vlast_coding_system_used to the return value
11918 of choose_write_coding_system.
11919
11920 2008-02-01 Kenichi Handa <handa@m17n.org>
11921
11922 * charset.c (Fset_charset_priority): Pay attention to duplicated
11923 arguments.
11924
11925 * coding.c (QCcategory): New variable.
11926 (syms_of_coding): Defsym it. Set all elements of
11927 Vcoding_category_table and their symbol values.
11928 (Fset_coding_system_priority): Doc fix. Update symbol qvalues of
11929 coding-category-XXX, and coding-category-list.
11930 (Fdefine_coding_system_internal): Add category in the plist.
11931
11932 2008-02-01 Kenichi Handa <handa@m17n.org>
11933
11934 * callproc.c (Fcall_process): Handle carryover correctly.
11935
11936 * coding.c (decode_coding_iso_2022): Fix handling of invalid bytes.
11937 (raw_text_coding_system): Check NILP (coding_system).
11938 (coding_inherit_eol_type): Check NILP (coding_system) and
11939 NILP (parent).
11940 (consume_chars): Fix for the case of raw-text.
11941
11942 * process.c (read_process_output): Handle carryover correctly.
11943
11944 2008-02-01 Dave Love <fx@gnu.org>
11945
11946 * regex.c (re_search_2): Fix last change.
11947
11948 2008-02-01 Kenichi Handa <handa@m17n.org>
11949
11950 * regex.c (GET_CHAR_BEFORE_2): Check multibyte, not
11951 target_multibyte. Even in a unibyte case, return a converted
11952 multibyte char.
11953 (GET_CHAR_AFTER): New macro.
11954 (PATFETCH): Translate via multibyte char.
11955 (HANDLE_UNIBYTE_RANGE): Delete this macro.
11956 (SETUP_MULTIBYTE_RANGE): New macro.
11957 (regex_compile): Setup compiled code so that its multibyteness
11958 matches that of a target. Fix the handling of "[X-YZ]" using
11959 SETUP_MULTIBYTE_RANGE.
11960 (analyse_first) <charset>: For filling fastmap for all multibyte
11961 characters, don't check by BASE_LEADING_CODE_P.
11962 (re_search_2): Don't check RE_TARGET_MULTIBYTE_P (bufp). It is
11963 the same as RE_MULTIBYTE_P (bufp) now.
11964 (mutually_exclusive_p): Check by (! multibyte || IS_REAL_ASCII (c)).
11965 (TARGET_CHAR_AND_LENGTH): Delete this macro.
11966 (TRANSLATE_VIA_MULTIBYTE): New macro.
11967 (re_match_2_internal): Don't check RE_TARGET_MULTIBYTE_P (bufp).
11968 It is the same as RE_MULTIBYTE_P (bufp) now.
11969 <exactn>: Translate via multibyte.
11970 <anychar>: Fetch a character by RE_STRING_CHAR_AND_LENGTH. Don't
11971 translate it.
11972 <charset, charset_not>: Fetch a character by
11973 RE_STRING_CHAR_AND_LENGTH. Translate via multibyte.
11974 <duplicate>: Call bcmp_translate with the last arg `multibyte'.
11975 <wordbound, notwordbound, wordbeg, wordend, syntaxspec,
11976 notsyntaxspec, categoryspec, notcategoryspec> Fetch a character
11977 by GET_CHAR_AFTER.
11978 (bcmp_translate): Likewise.
11979
11980 * search.c (compile_pattern): Check the member target_multibyte,
11981 not the member multibyte of buf.
11982
11983 * lread.c (read1): While reading a string, set force_singlebyte
11984 and force_multibyte correctly.
11985
11986 * charset.c (Fset_unibyte_charset, init_charset_once): Fix setting
11987 up of unibyte_to_multibyte_table.
11988
11989 2008-02-01 Kenichi Handa <handa@m17n.org>
11990
11991 * coding.c (setup_coding_system): If coding has
11992 post-read-conversion or pre-write-conversion, set
11993 CODING_REQUIRE_DECODING_MASK and CODING_REQUIRE_ENCODING_MASK
11994 respectively.
11995 (decode_coding_gap): Run post-read-conversion if any.
11996
11997 * fileio.c (Finsert_file_contents): Even if we read into a
11998 unibyte buffer, check if we must decode the result or not.
11999
12000 2008-02-01 Kenichi Handa <handa@m17n.org>
12001
12002 * coding.c (make_conversion_work_buffer): Change the work buffer
12003 name to the same one as that of Emacs 21.
12004
12005 2008-02-01 Kenichi Handa <handa@m17n.org>
12006
12007 * coding.h (make_conversion_work_buffer): Adjust prototype.
12008 (code_conversion_restore): Don't extern it.
12009
12010 * coding.c (detected_mask): Delete unused variable.
12011 (decode_coding_iso_2022): Pay attention to the byte sequence of
12012 CTEXT extended segment, and retain those bytes as is.
12013 (decode_coding_ccl): Delete unused variable `valids'.
12014 (setup_coding_system): Delete unused variable `category'.
12015 (consume_chars): Delete unused variable `category'. Make it work
12016 for non-multibyte case.
12017 (make_conversion_work_buffer): Change argument.
12018 (saved_coding): Delete unused variable.
12019 (code_conversion_restore): Don't check saved_coding->destination.
12020 (code_conversion_save): New function.
12021 (decode_coding_gap, encode_coding_gap): Call code_conversion_save
12022 instead of record_unwind_protect.
12023 (decode_coding_object, encode_coding_object): Likewise. Recover PT.
12024 (detect_coding_system): Delete unused variable `mask'.
12025 (Fdefine_coding_system_internal): Delete unused variable id.
12026
12027 * fileio.c (kill_workbuf_unwind): New function.
12028 (Finsert_file_contents): On replacing, call
12029 make_conversion_work_buffer with correct args, and call
12030 record_unwind_protect with the first arg kill_workbuf_unwind.
12031
12032 * lisp.h (Fgenerate_new_buffer_name): EXFUN it.
12033
12034 2008-02-01 Kenichi Handa <handa@m17n.org>
12035
12036 * fontset.c (BASE_FONTSET_P): Check FONTSET_BASE, not FONTSET_NAME.
12037 (fontset_add): Fix for the case that TO is less than TO1.
12038 (Ffontset_info): Don't use fallback fontset on checking the
12039 default fontset.
12040 (dump_fontset): New function for debugging.
12041
12042 * coding.c (Fdefine_coding_system_internal): Fix for the case that
12043 coding_type is Qcharset.
12044
12045 2008-02-01 Kenichi Handa <handa@m17n.org>
12046
12047 * chartab.c (map_sub_char_table): New argument DEFAULT_VAL.
12048 (map_char_table): Don't inherit the value from the parent on
12049 initializing VAL. Adjust for the above change.
12050
12051 2008-02-01 Kenichi Handa <handa@m17n.org>
12052
12053 * coding.c (Qsignature, Qendian): Delete these variables.
12054 (syms_of_coding): Don't initialize them.
12055 (CATEGORY_MASK_UTF_16_AUTO): New macro.
12056 (detect_coding_utf_16): Add CATEGORY_MASK_UTF_16_AUTO in
12057 detect_info->found.
12058 (decode_coding_utf_16): Don't detect BOM here.
12059 (encode_coding_utf_16): Produce BOM if CODING_UTF_16_BOM (coding)
12060 is NOT utf_16_without_bom.
12061 (setup_coding_system): For a coding system of type utf-16, check
12062 if the attribute :endian is Qbig or not (not nil or not), and set
12063 CODING_REQUIRE_DETECTION_MASK if BOM detection is required.
12064 (detect_coding): If coding type is utf-16 and BOM detection is
12065 required, detect it.
12066 (Fdefine_coding_system_internal): For a coding system of type
12067 utf-16, check if the attribute :endian is Qbig or not (not nil or not).
12068
12069 2008-02-01 Kenichi Handa <handa@m17n.org>
12070
12071 * coding.c (coding_set_source): Fix for the case that the current
12072 buffer is different from coding->src_object.
12073 (decode_coding_object): Don't use the conversion work buffer if
12074 DST_OBJECT is a buffer.
12075
12076 2008-02-01 Dave Love <fx@gnu.org>
12077
12078 * lread.c (read_emacs_mule_char) [len==2]: Index
12079 emacs_mule_charset correctly.
12080
12081 2008-02-01 Dave Love <fx@gnu.org>
12082
12083 * coding.c (Qbig5, Vbig5_coding_system, CATEGORY_MASK_BIG5)
12084 (detect_coding_big5, decode_coding_big5, encode_coding_big5)
12085 (Fdecode_big5_char, Fencode_big5_char): Delete. (Big5 no longer
12086 treated specially.)
12087 (setup_coding_system, coding_category, CATEGORY_MASK_ANY)
12088 (detected_mask): Remove Big5 bits.
12089
12090 2008-02-01 Kenichi Handa <handa@m17n.org>
12091
12092 The following changes are to make the font rescaling facility
12093 compatible with Emacs 21.
12094
12095 * xfaces.c (Vface_font_rescale_alist): Rename from
12096 Vface_resizing_fonts.
12097 (struct font_name): Rename member resizing_ratio to rescale_ratio.
12098 (font_rescale_ratio): Rename from font_resizing_ratio.
12099 (split_font_name): Set font->rescale_ratio.
12100 (better_font_p): Pay attention to font->rescale_ratio.
12101 (build_scalable_font_name): Likewise. Change RESX, and RESY
12102 fields.
12103 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
12104
12105 2008-02-01 Kenichi Handa <handa@m17n.org>
12106
12107 * coding.c (Qutf_16_be_nosig, Qutf_16_be, Qutf_16_le_nosig)
12108 (Qutf_16_le): Remove these variables.
12109 (syms_of_coding): Don't DEFSYM them.
12110 (decode_coding_utf_16): Fix handling of BOM.
12111 (encode_coding_utf_16): Fix handling of BOM.
12112
12113 2008-02-01 Kenichi Handa <handa@m17n.org>
12114
12115 * fileio.c (Finsert_file_contents): On replacing, before decoding
12116 the file into the work buffer, set point of the work buffer to the end.
12117
12118 2008-02-01 Dave Love <fx@gnu.org>
12119
12120 * coding.c (Fcheck_coding_systems_region): Fix type errors.
12121
12122 2008-02-01 Dave Love <fx@gnu.org>
12123
12124 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
12125 and fix C types.
12126
12127 2008-02-01 Kenichi Handa <handa@m17n.org>
12128
12129 * xdisp.c (SKIP_GLYPHS): New macro.
12130 (set_cursor_from_row): Pay attention to string display properties.
12131
12132 * category.c (copy_category_entry): Fix for the case that RANGE
12133 is an integer.
12134
12135 * xterm.c (x_encode_char): Call ccl_driver with the last arg Qnil.
12136
12137 * w32term.c (w32_encode_char): Call ccl_driver with the last arg Qnil.
12138
12139 2008-02-01 Kenichi Handa <handa@m17n.org>
12140
12141 * charset.c (Fcharset_id_internal): New function.
12142 (syms_of_charset): Defsubr it.
12143
12144 * coding.c (decode_coding_ccl, encode_coding_ccl): Call ccl_driver
12145 with the last arg charset_list acquired from coding.
12146 (Fdefine_coding_system_internal): For ccl-based coding system, fix
12147 the attribute coding_attr_ccl_valids.
12148
12149 * coding.h (enum define_coding_ccl_arg_index): Set the first
12150 member coding_arg_ccl_decoder to coding_arg_max.
12151
12152 * ccl.h (ccl_driver): Adjust prototype.
12153
12154 * ccl.c (CCL_DECODE_CHAR, CCL_ENCODE_CHAR): New macros.
12155 (ccl_driver): New arg CHARSET_LIST. Use the above macros instead
12156 of DECODE_CHAR, ENCODE_CHAR, CHAR_CHARSET.
12157 (Fccl_execute, Fccl_execute_on_string): Call ccl_driver with the
12158 last arg Qnil.
12159
12160 2008-02-01 Kenichi Handa <handa@m17n.org>
12161
12162 * charset.h (ENCODE_CHAR): If the method is SUBSET or SUPERSET,
12163 call encode_char.
12164
12165 * charset.c (encode_char): Fix handling of methods SUBSET and SUPERSET.
12166
12167 2008-02-01 Dave Love <fx@gnu.org>
12168
12169 * composite.c (syms_of_composite): Make composition_hash_table weak.
12170
12171 2008-02-01 Kenichi Handa <handa@m17n.org>
12172
12173 * dispextern.h (check_face_attributes, generate_ascii_font_name)
12174 (font_name_registry): Don't extern them.
12175 (split_font_name_into_vector, build_font_name_from_vector): Extern them.
12176
12177 * fontset.h (Qfontset): Don't extern it.
12178 (new_fontset_from_font_name): Extern it.
12179
12180 * fontset.c: Give 8 extra slots to fontset objects.
12181 (Qfontset_info): New variable.
12182 (syms_of_fontset): Defsym it.
12183 (FONTSET_FALLBACK): New macro.
12184 (fontset_face): Try also the default fontset.
12185 (make_fontset): Realize a fallback fontset from the default fontset.
12186 (generate_ascii_font_name): Move from xfaces.c. Rewritten by
12187 using split_font_name_into_vector and build_font_name_from_vector.
12188 (Fset_fontset_font): Access the elements of font_spec by enum
12189 FONT_SPEC_INDEX. If font_spec is a string, extract the registry
12190 name by using split_font_name_into_vector.
12191 (Fnew_fontset): If no ASCII font is specified in FONTLIST,
12192 generate a proper font name from the fontset name. Update
12193 Vfontset_alias_alist.
12194 (n_auto_fontsets): New variable.
12195 (new_fontset_from_font_name): New function.
12196 (Ffont_info): Store the information about fonts generated from the
12197 default fontset in the first extra slot of the returned char-table.
12198
12199 * xfaces.c (generate_ascii_font_name): Move to fontset.c.
12200 (font_name_registry): Delete function.
12201 (split_font_name_into_vector): New function.
12202 (build_font_name_from_vector): New function.
12203 (font_list): The argument REGISTRY is now a list of registry names.
12204 (choose_face_font): If we are choosing an ASCII font, and ATTRS
12205 specifies an explicit font name, return the name as is. Make a
12206 list of registy names.
12207
12208 * xfns.c (x_set_font, x_create_tip_frame): Adjust for the change
12209 of x_new_fontset.
12210 (Fx_create_frame): Don't call x_new_fontset here. Just use
12211 x_list_fonts to check the existence of fonts.
12212
12213 * xterm.h (x_new_fontset): Adjust prototype.
12214
12215 * xterm.c (x_new_fontset): Change the arg FONTSETNAME to Lisp
12216 string. Use new_fontset_from_font_name to create a fontset from a
12217 font name.
12218
12219 2008-02-01 Kenichi Handa <handa@m17n.org>
12220
12221 * syntax.c (Vfind_word_boundary_function_table): New name for
12222 Vnext_word_boundary_function_table.
12223 (find-word-boundary-function-table): New name for
12224 next-word-boundary-function-table.
12225
12226 2008-02-01 Dave Love <fx@gnu.org>
12227
12228 * Makefile.in: Fix some dependencies.
12229
12230 * keymap.c (Fapropos_internal): Don't gcpro apropos_predicate but
12231 set it to nil before returning.
12232
12233 * composite.c (update_compositions): Fix type error.
12234
12235 * syntax.c (skip_chars, skip_syntaxes): Fix type errors.
12236
12237 2008-02-01 Kenichi Handa <handa@m17n.org>
12238
12239 * xterm.c (x_new_font): Optimize for the case that the font is
12240 already set for the frame.
12241
12242 2008-02-01 Kenichi Handa <handa@m17n.org>
12243
12244 * chartab.c (char_table_ascii): Check if the char table contents
12245 is sub-char-table or not.
12246 (char_table_set, char_table_set_range): Fix argument to
12247 char_table_ascii.
12248
12249 * coding.c (CATEGORY_MASK_RAW_TEXT): New macro.
12250 (detect_coding_utf_8, detect_coding_utf_16)
12251 (detect_coding_emacs_mule, detect_coding_iso_2022)
12252 (detect_coding_sjis, detect_coding_big5)
12253 (detect_coding_ccl, detect_coding_charset): Change argument MASK
12254 to DETECT_INFO. Update DETECT_INFO and return 1 if the byte
12255 sequence is valid in this coding system. Change callers.
12256 (MAX_ANNOTATION_LENGTH): New macro.
12257 (ADD_ANNOTATION_DATA): New macro.
12258 (ADD_COMPOSITION_DATA): Change argument. Change callers. Call
12259 ADD_ANNOTATION_DATA. Change the format of annotation data.
12260 (ADD_CHARSET_DATA): New macro.
12261 (emacs_mule_char): New argument ID. Change callers.
12262 (decode_coding_emacs_mule, decode_coding_iso_2022)
12263 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
12264 Produce charset annotation data in coding->charbuf.
12265 (encode_coding_emacs_mule, encode_coding_iso_2022): Pay attention
12266 to charset annotation data in coding->charbuf.
12267 (setup_coding_system): Add CODING_ANNOTATE_CHARSET_MASK
12268 coding->common_flags if the coding system is iso-2022 based and
12269 uses designation.
12270 (produce_composition): Adjust for the new annotation data format.
12271 (produce_charset): New function.
12272 (produce_annotation): Handle charset annotation.
12273 (handle_composition_annotation, handle_charset_annotation): New
12274 functions.
12275 (consume_chars): Handle charset annotation. Utilize the above two
12276 functions.
12277 (encode_coding_object): If SRC_OBJECT and DST_OBJECT are the same
12278 buffer, get the deleted text as a string and set
12279 coding->src_object to that string.
12280 (detect_coding, detect_coding_system): Use the new struct
12281 coding_detection_info.
12282
12283 * coding.h (struct coding_detection_info): New structure.
12284 (struct coding_system): Adjust prototype of the member `detector'.
12285 (CODING_ANNOTATE_CHARSET_MASK): New macro.
12286
12287 2008-02-01 Kenichi Handa <handa@m17n.org>
12288
12289 * insdel.c (insert_from_gap): Fix argument to offset_intervals.
12290
12291 2008-02-01 Dave Love <fx@gnu.org>
12292
12293 * keymap.c (apropos_predicate, apropos_accumulate): Declare static.
12294 (Fapropos_internal): Don't gcpro apropos_accumulate. Set result
12295 to new local and nullify apropos_accumulate before returning.
12296 (syms_of_keymap): Staticpro and initialize apropos_accumulate.
12297
12298 2008-02-01 Kenichi Handa <handa@m17n.org>
12299
12300 * charset.c (Fdefine_charset_internal): Setup charset.fast_map
12301 correctly.
12302
12303 2008-02-01 Dave Love <fx@gnu.org>
12304
12305 * fns.c (Flanginfo): Call synchronize_system_time_locale.
12306
12307 2008-02-01 Kenichi Handa <handa@m17n.org>
12308
12309 The following changes are to make character composition happen
12310 automatically on displaying.
12311
12312 * Makefile.in (lisp, shortlisp): Add composite.elc.
12313
12314 * composite.h (Qauto_composed, Vauto_composition_function)
12315 (Qauto_composition_function): Extern them.
12316
12317 * composite.c (Vcomposition_function_table)
12318 (Qcomposition_function_table): Delete variables.
12319 (Qauto_composed, Vauto_composition_function)
12320 (Qauto_composition_function): New variables.
12321 (run_composition_function): Don't call
12322 compose-chars-after-function.
12323 (update_compositions): Clear `auto-composed' text property.
12324 (compose_chars_in_text): Delete this function.
12325 (syms_of_composite): Staticpro Qauto_composed and
12326 Qauto_composition_function. Declare Vauto_composition_function as
12327 a Lisp variable.
12328
12329 * dispextern.h (enum prop_idx): Add member AUTO_COMPOSED_PROP_IDX.
12330
12331 * xdisp.c (it_props): Add an entry for Qauto_composed.
12332 (handle_auto_composed_prop): New function.
12333
12334 * xselect.c (selection_data_to_lisp_data): Don't call
12335 compose_chars_in_text.
12336
12337 2008-02-01 Dave Love <fx@gnu.org>
12338
12339 * keyboard.c (read_char): Modify checking around use of
12340 Vkeyboard_translate_table.
12341
12342 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
12343 and fix C types.
12344
12345 2008-02-01 Kenichi Handa <handa@m17n.org>
12346
12347 * coding.c (decode_coding_utf_8, decode_coding_emacs_mule)
12348 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
12349 (decode_coding_charset, produce_chars): When eol_type is Qdos, handle
12350 the case that the last byte is '\r' correctly.
12351 (decode_coding): Flush out the unprocessed data correctly.
12352 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK bit of coding->mode.
12353
12354 2008-02-01 Dave Love <fx@gnu.org>
12355
12356 * xterm.c (XTread_socket): Fix changes for defined keysyms.
12357 Add XK_ISO... case.
12358 (xaw_scroll_callback): Revert last change.
12359
12360 2008-02-01 Kenichi Handa <handa@m17n.org>
12361
12362 * charset.c (Fset_charset_priority): Update Viso_2022_charset_list.
12363
12364 2008-02-01 Kenichi Handa <handa@m17n.org>
12365
12366 * xfaces.c (Vface_resizing_fonts): New variable.
12367 (struct font_name): New member `resizing_ratio'.
12368 (font_resizing_ratio): New function.
12369 (split_font_name): Set font->resizing_ratio.
12370 (better_font_p): Pay attention to font->resizing_ratio.
12371 (build_scalable_font_name): Likewise. Don't change POINT_SIZE,
12372 RESX, and RESY fields.
12373 (try_alternative_families): Try scalable fonts if
12374 Vscalable_fonts_allowed is not Qt.
12375 (syms_of_xfaces): Declare Vface_resizing_fonts as a Lisp variable.
12376
12377 2008-02-01 Dave Love <fx@gnu.org>
12378
12379 * xterm.c (xaw_scroll_callback): Cast correctly.
12380
12381 2008-02-01 Dave Love <fx@gnu.org>
12382
12383 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extend.
12384 (lispy_kana_keys): Comment out.
12385 (make_lispy_event) [XK_kana_A]: Comment out.
12386
12387 * xterm.c (xaw_scroll_callback): Cast call_data.
12388 (XTread_socket): Deal with ASCII keysyms.
12389 (syms_of_xterm) <Vx_keysym_table>: Fix args of make_hash_table.
12390
12391 2008-02-01 Dave Love <fx@gnu.org>
12392
12393 * xterm.c (Vx_keysym_table): New.
12394 (syms_of_xterm): Initialize it.
12395 (XTread_socket): Use it.
12396 From head: Eliminate incorrect optimization that tried to avoid
12397 decoding the output of X*LookupString.
12398 (x_get_font_repertory): Delete charset declaration.
12399
12400 2008-02-01 Kenichi Handa <handa@m17n.org>
12401
12402 * coding.c (detect_coding_charset): If only ASCII bytes are found,
12403 return 0.
12404 (Fdefine_coding_system_internal): Setup
12405 CODING_ATTR_ASCII_COMPAT (attrs) correctly.
12406
12407 2008-02-01 Dave Love <fx@gnu.org>
12408
12409 * coding.c (Fcheck_coding_system): Doc fix.
12410
12411 * editfns.c (Finsert_byte): Return a proper value.
12412
12413 2008-02-01 Kenichi Handa <handa@m17n.org>
12414
12415 * coding.c (decode_coding): Fix args to translate_chars. Pay
12416 attention to Vstandard_translation_table_for_decode.
12417 (encode_coding): Fix args to translate_chars. Pay attention to
12418 Vstandard_translation_table_for_encode.
12419
12420 * data.c (Faset): Check NEWELT by ASCII_CHAR_P, not by
12421 SINGLE_BYTE_CHAR_P.
12422
12423 * editfns.c (general_insert_function): Check VAL by ASCII_CHAR_P,
12424 not by SINGLE_BYTE_CHAR_P.
12425
12426 * fns.c (concat): Check CH by ASCII_CHAR_P, not by
12427 SINGLE_BYTE_CHAR_P.
12428
12429 * insdel.c (copy_text): Check C by ASCII_CHAR_P, not by
12430 SINGLE_BYTE_CHAR_P.
12431
12432 * keymap.c (Ftext_char_description): Check C by ASCII_CHAR_P, not
12433 by SINGLE_BYTE_CHAR_P.
12434
12435 * search.c (Freplace_match): Check C by ASCII_CHAR_P, not by
12436 SINGLE_BYTE_CHAR_P.
12437
12438 2008-02-01 Dave Love <fx@gnu.org>
12439
12440 * fns.c (Fstring_as_multibyte, Fstring_to_multibyte): Doc fix.
12441
12442 2008-02-01 Dave Love <fx@gnu.org>
12443
12444 * fns.c (Flanginfo): Fix typo.
12445
12446 * unexelf.c (unexec): Make last change conditional on Irix 6.5.
12447
12448 2008-02-01 Kenichi Handa <handa@m17n.org>
12449
12450 * coding.c (detect_coding_utf_8, detect_coding_utf_16)
12451 (detect_coding_emacs_mule, detect_coding_iso_2022)
12452 (detect_coding_sjis, detect_coding_big5, detect_coding_ccl): Check
12453 incomplete byte sequence. Don't update *mask when correctly detected.
12454 (decode_coding_sjis): Fix decoding of katakana-jisx0201.
12455 (detect_eol): Delete the argument CODING, and add the argument CATEGORY.
12456 (detect_coding, detect_coding_system): Adjust for the changes above.
12457
12458 2008-02-01 Kenichi Handa <handa@m17n.org>
12459
12460 * character.c (char_string): Rename from
12461 char_string_with_unification. Pay attention to CHAR_MODIFIER_MASK.
12462 (string_char): Rename from string_char.
12463
12464 * character.h (CHAR_STRING, CHAR_STRING_ADVANCE): Call char_string
12465 if C is greater than MAX_3_BYTE_CHAR.
12466 (STRING_CHAR, STRING_CHAR_AND_LENGTH, STRING_CHAR_ADVANCE): Call
12467 string_char instead of string_char_with_unification.
12468
12469 2008-02-01 Dave Love <fx@gnu.org>
12470
12471 * coding.c (decode_coding_utf_8): Treat surrogates as invalid.
12472
12473 2008-02-01 Kenichi Handa <handa@m17n.org>
12474
12475 * keymap.c (push_key_description): Pay attention to force_multibyte.
12476
12477 * regex.c (re_search_2): Fix for the case of unibyte buffer.
12478
12479 2008-02-01 Dave Love <fx@gnu.org>
12480
12481 * charset.c (define_charset_internal): Rename `supprementary'.
12482
12483 * Makefile.in (lisp, shortlisp): Remove latin-N.
12484
12485 2008-02-01 Dave Love <fx@gnu.org>
12486
12487 * xfns.c (x_window, x_window): Use use_xim.
12488
12489 * xterm.c (use_xim): Initialize.
12490 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
12491 (x_term_init): Maybe set use_xim.
12492
12493 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
12494
12495 2008-02-01 Kenichi Handa <handa@m17n.org>
12496
12497 * search.c (search_buffer): Fix case-fold-search of multibyte
12498 characters.
12499 (boyer_moore): Rename the last argument to char_high_bits.
12500
12501 2008-02-01 Kenichi Handa <handa@m17n.org>
12502
12503 * xdisp.c (display_string): Fix for the case of zero width glyph.
12504
12505 * xfns.c (x_set_font): Change the error message of the case that
12506 x_new_fontset returns Qt.
12507
12508 * xfaces.c (set_lface_from_font_name): Reject the default fontset.
12509 (Finternal_set_lisp_face_attribute): Use signal_error for the
12510 error of invalid fontset.
12511
12512 * xterm.c (x_new_fontset): If FONTSETNAME specifies the default
12513 fontset, return Qt.
12514
12515 2008-02-01 Dave Love <fx@gnu.org>
12516
12517 * unexelf.c (unexec): Make .got handling not SGI-specific.
12518
12519 * syntax.c (syms_of_syntax) <multibyte-syntax-as-symbol>: Doc fix.
12520
12521 * regex.c: Use `ifdef HAVE_ALLOCA_H', not `if HAVE_ALLOCA_H'.
12522
12523 * keyboard.c (read_key_sequence): Fix type error.
12524
12525 * buffer.c (Fset_buffer_multibyte, Fset_buffer_multibyte): Fix
12526 type error.
12527
12528 * fontset.c (fontset_add): Return Lisp_Object.
12529
12530 2008-02-01 Dave Love <fx@gnu.org>
12531
12532 * charset.h (charset_ordered_list_tick): Declare extern.
12533
12534 2008-02-01 Kenichi Handa <handa@m17n.org>
12535
12536 The following changes (and some of 2008-02-01 changes of mine) are
12537 for handling syntax, category, and case conversion for unibyte
12538 characters by converting them to multibyte on the fly. With these
12539 changes, we don't have to setup syntax and case tables for unibyte
12540 characters in each language environment.
12541
12542 * abbrev.c (Fexpand_abbrev): Convert a unibyte character to
12543 multibyte if necessary.
12544
12545 * bytecode.c (Fbyte_code): Likewise.
12546
12547 * character.h (LEADING_CODE_LATIN_1_MIN)
12548 (LEADING_CODE_LATIN_1_MAX): New macros.
12549 (unibyte_to_multibyte_table): Extern it.
12550 (unibyte_char_to_multibyte): New macro.
12551 (MAKE_CHAR_MULTIBYTE): Use unibyte_to_multibyte_table.
12552 (CHAR_LEADING_CODE): New macro.
12553 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): New macro.
12554
12555 * character.c (unibyte_to_multibyte_table): New variable.
12556 (unibyte_char_to_multibyte): Move to character.h and define as macro.
12557 (multibyte_char_to_unibyte): If C is an eight-bit character,
12558 convert it to the corresponding byte value.
12559
12560 * charset.c (Fset_unibyte_charset): If the dimension of CHARSET is
12561 not 1, signals an error. Update the elements of
12562 unibyte_to_multibyte_table.
12563 (init_charset_once): Initialize unibyte_to_multibyte_table.
12564 (syms_of_charset): Define the charset `iso-8859-1'.
12565
12566 * cmds.c (internal_self_insert): In a multibyte buffer, insert C
12567 as is without converting it to unibyte. In a unibyte buffer,
12568 convert C to multibyte before checking the syntax.
12569
12570 * lisp.h (unibyte_char_to_multibyte): Delete extern.
12571
12572 * minibuf.c (Fminibuffer_complete_word): Use the macro
12573 FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE.
12574
12575 * regex.h (struct re_pattern_buffer): New member target_multibyte.
12576
12577 * regex.c (RE_TARGET_MULTIBYTE_P): New macro.
12578 (GET_CHAR_BEFORE_2): Check target_multibyte, not multibyte. If
12579 that is zero, convert an eight-bit char to multibyte.
12580 (MAKE_CHAR_MULTIBYTE, CHAR_LEADING_CODE): New dummy new macros for
12581 non-emacs case.
12582 (PATFETCH): Convert an eight-bit char to multibyte.
12583 (HANDLE_UNIBYTE_RANGE): New macro.
12584 (regex_compile): Setup the compiled pattern for multibyte chars
12585 even if the given regex string is unibyte. Use PATFETCH_RAW
12586 instead of PATFETCH in many places. To handle `charset'
12587 specification of unibyte, call HANDLE_UNIBYTE_RANGE. Use bitmap
12588 only for ASCII chars.
12589 (analyse_first) <exactn>: Simplify because the compiled pattern
12590 is multibyte.
12591 <charset_not>: Setup fastmap from bitmap only for ASCII chars.
12592 <charset>: Use CHAR_LEADING_CODE to get leading codes.
12593 <categoryspec>: If multibyte, setup fastmap only for ASCII chars here.
12594 (re_compile_fastmap) [emacs]: Call analyse_first with the arg
12595 multibyte always 1.
12596 (re_search_2): In emacs, set the locale variable multibyte to 1,
12597 otherwise to 0. New local variable target_multibyte. Check it
12598 to decide the multibyteness of STR1 and STR2. If
12599 target_multibyte is zero, convert unibyte chars to multibyte
12600 before translating and checking fastmap.
12601 (TARGET_CHAR_AND_LENGTH): New macro.
12602 (re_match_2_internal): In emacs, set the locale variable multibyte
12603 to 1, otherwise to 0. New local variable target_multibyte. Check
12604 it to decide the multibyteness of STR1 and STR2. Use
12605 TARGET_CHAR_AND_LENGTH to fetch a character from D.
12606 <charset, charset_not>: If multibyte is nonzero, check fastmap
12607 only for ASCII chars. Call bcmp_translate with
12608 target_multibyte, not with multibyte.
12609 <begline>: Declare the local variable C as `unsigned'.
12610 (bcmp_translate): Change the last arg name to target_multibyte.
12611
12612 * search.c (compile_pattern_1): Don't adjust the multibyteness of
12613 the regexp pattern and the matching target. Set cp->buf.multibyte
12614 to the multibyteness of the regexp pattern. Set
12615 cp->but.target_multibyte to the multibyteness of the matching target.
12616 (wordify): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE instead of
12617 FETCH_STRING_CHAR_ADVANCE.
12618 (Freplace_match): Convert unibyte chars to multibyte.
12619
12620 * syntax.c (char_quoted, back_comment, scan_words)
12621 (Fforward_comment, scan_lists, Fbackward_prefix_chars)
12622 (scan_sexps_forward): Use FETCH_CHAR_AS_MULTIBYTE to convert
12623 unibyte chars to multibyte.
12624 (skip_chars): Delete the arg syntaxp, and move the code for
12625 handling syntaxes to skip_syntaxes. Change callers.
12626 Fix the case that the multibyteness of STRING and the current
12627 buffer doesn't match.
12628 (skip_syntaxes): New function.
12629 (SYNTAX_WITH_MULTIBYTE_CHECK): Check C by ASCII_CHAR_P, not by
12630 SINGLE_BYTE_CHAR_P.
12631
12632 2008-02-01 Kenichi Handa <handa@m17n.org>
12633
12634 * xfaces.c (QCfontset): New variable.
12635 (LFACE_FONTSET): New macro.
12636 (check_lface_attrs): Check also LFACE_FONTSET_INDEX.
12637 (set_lface_from_font_name): Setup LFACE_FONTSET (lface).
12638 (Finternal_set_lisp_face_attribute)
12639 (Finternal_get_lisp_face_attribute): Handle QCfontset.
12640 (lface_same_font_attributes_p): Fix checking of LFACE_FONT_INDEX,
12641 check also LFACE_FONTSET_INDEX.
12642 (face_fontset): Check attrs[LFACE_FONTSET_INDEX], not
12643 attrs[LFACE_FONT_INDEX].
12644 (syms_of_xfaces): Intern and staticpro QCfontset.
12645
12646 * dispextern.h (enum lface_attribute_index): New member
12647 LFACE_FONTSET_INDEX.
12648
12649 * fns.c (base64_encode_1): Handle eight-bit chars correctly.
12650
12651 2008-02-01 Kenichi Handa <handa@m17n.org>
12652
12653 * coding.c (coding_set_destination): Fix coding->destination for
12654 the case converting a region.
12655 (encode_coding_utf_8): Encode eight-bit chars as single byte.
12656 (encode_coding_object): Fix coding->dst_pos and
12657 coding->dst_pos_byte for the case converting a region.
12658
12659 * insdel.c (insert_from_gap): Make it work even if PT != GTP.
12660
12661 * character.h (BYTE8_STRING): New macro.
12662
12663 * fns.c (base64_decode_1): Insert eight-bit chars correctly.
12664
12665 2008-02-01 Kenichi Handa <handa@m17n.org>
12666
12667 * xdisp.c (get_next_display_element): Don't display unibyte 8-bit
12668 characters by octal form.
12669
12670 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
12671
12672 * buffer.h (_fetch_multibyte_char_len): Delete extern.
12673 (FETCH_MULTIBYTE_CHAR, BUF_FETCH_MULTIBYTE_CHAR): Don't use
12674 _fetch_multibyte_char_len.
12675 (FETCH_CHAR_AS_MULTIBYTE): New macro.
12676
12677 * casetab.c (set_canon, set_identity, shuffle): Simplify.
12678
12679 * casefiddle.c (casify_object): Simplify. Handle the case that
12680 the case conversion change the byte length.
12681 (casify_region): Likewise.
12682
12683 * character.h (MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE): New macros.
12684
12685 * character.c (_fetch_multibyte_char_len): Delete this variable.
12686 (syms_of_character): Setup Vprintable_chars.
12687
12688 * editfns.c (Fchar_equal): Fix for the unibyte case.
12689 (Finsert_byte): New function.
12690 (syms_of_editfns): Defsubr it.
12691
12692 * keyboard.c (read_key_sequence): Use ~CHAR_MODIFIER_MASK instead
12693 of direct code 0x3ffff.
12694
12695 * search.c (Freplace_match): Fix for the unibyte case.
12696
12697 2008-02-01 Kenichi Handa <handa@m17n.org>
12698
12699 * lread.c (safe_to_load_p): Fix the logic.
12700
12701 * syntax.c (scan_words): Don't treat characters belonging to
12702 different scripts as constituting a word.
12703
12704 * editfns.c (Fformat): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
12705
12706 * fontset.c (Fset_fontset_font): Treat `ascii' as charset, not script.
12707
12708 * emacs.c (main): In the case of --unibyte, instead of aborting on
12709 finding non-empty buffer, make it unibyte.
12710
12711 2008-02-01 Kenichi Handa <handa@m17n.org>
12712
12713 * xterm.c (x_new_fontset): Call `create-fontset-from-ascii-font'
12714 to create a fontset.
12715
12716 2008-02-01 Dave Love <fx@gnu.org>
12717
12718 * character.c (Funibyte_char_to_multibyte): Doc fix.
12719
12720 * xfns.c [HAVE_STDLIB_H]: Fix last change.
12721
12722 2008-02-01 Kenichi Handa <handa@m17n.org>
12723
12724 * fontset.c (fontset_add): Make the type `int'.
12725 (fontset_id_valid_p): Define it if FONTSET_DEBUG is defined.
12726
12727 * character.c (unibyte_char_to_multibyte)
12728 (multibyte_char_to_unibyte, Funibyte_char_to_multibyte): Refer to
12729 charset_unibyte, not charset_primary.
12730
12731 * charset.h (charset_unibyte): Extern it instead of charset_primary.
12732
12733 * charset.c (charset_unibyte): Rename from charset_primary.
12734 (Funibyte_charset): Rename from Fprimary_charset.
12735 (Fset_unibyte_charset): Rename from Fset_primary_charset.
12736 (syms_of_charset): Adjust for the above changes.
12737
12738 * w32term.c (x_produce_glyphs): Use ASCII_CHAR_P, not
12739 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
12740 it->multibyte_p is zero.
12741
12742 * lisp.h (nonascii_insert_offset, Vnonascii_translation_table):
12743 Delete extern.
12744
12745 2008-02-01 Kenichi Handa <handa@m17n.org>
12746
12747 * coding.c (Fdefine_coding_system_internal): Fix category setting
12748 for a coding system of type iso-2022.
12749
12750 2008-02-01 Kenichi Handa <handa@m17n.org>
12751
12752 * fontset.h (FS_LOAD_FONT): Call fs_load_font with the arg CHARSET -1.
12753
12754 2008-02-01 Kenichi Handa <handa@m17n.org>
12755
12756 * syntax.c (Vnext_word_boundary_function_table): New variable.
12757 (next-word-boundary-function-table): Declare it as a Lisp variable
12758 in syms_of_syntax.
12759 (scan_words): Call functions in Vnext_word_boundary_function_table
12760 if any.
12761
12762 * xterm.c (x_load_font): Initialize fontp->fontset to -1.
12763
12764 * fontset.c (fs_load_font): If fontp->charset is not negative,
12765 return fontp without setting its members.
12766
12767 2008-02-01 Dave Love <fx@gnu.org>
12768
12769 * xfns.c [HAVE_STDLIB_H]: Change logic (instead of fixing typo).
12770
12771 * m/sparc.h (HAVE_ALLOCA): Delete.
12772
12773 * s/irix6-5.h: Don't include strings.h.
12774 (bcopy, bzero, bcmp): Don't undef.
12775
12776 * s/irix6-0.h (bcopy, bzero, bcmp): Don't undef.
12777
12778 * s/usg5-4.h (NO_SIOCTL_H): Don't define.
12779 (TIOCSIGSEND): Don't test IRIX6.
12780 (bcopy, bzero, bcmp): Define conditionally.
12781
12782 2008-02-01 Kenichi Handa <handa@m17n.org>
12783
12784 * buffer.c (Qas, Qmake, Qto): New variables.
12785 (Fset_buffer_multibyte): New optional arg METHOD. Change caller.
12786 (syms_of_buffer): Intern and staticpro Qas, Qmake, and Qto.
12787
12788 * callproc.c (Fcall_process): Don't call insert_1_both directly if
12789 we are inserting a process output into a multibyte buffer.
12790
12791 * character.h (CHAR_TO_BYTE8): If C is not eight-bit char, call
12792 multibyte_char_to_unibyte.
12793
12794 * character.c (Funibyte_char_to_multibyte): If C can't be decoded
12795 by the primary charset, make it eight-bit char.
12796 (Fmultibyte_char_to_unibyte): Call CHAR_TO_BYTE8.
12797
12798 * charset.c (charset_eight_bit, Qeight_bit_control): New variables.
12799 (charset_8_bit__control, charset_8_bit_graphic)
12800 (Qeight_bit_control, Qeight_bit_graphic): Delete these variables.
12801 (define_charset_internal): New function.
12802 (syms_of_charset): Call define_charset_internal for pre-defined
12803 charsets.
12804
12805 * charset.h (charset_8_bit): Extern it.
12806
12807 * coding.c (make_conversion_work_buffer): Adjust for the change
12808 of Fset_buffer_multibyte.
12809 (encode_coding_raw_text): Increment p0 in the loop.
12810
12811 * lisp.h (Fset_buffer_multibyte): Adjust prototype.
12812
12813 * xdisp.c (setup_echo_area_for_printing, set_message_1): Adjust
12814 for the change of Fset_buffer_multibyte.
12815
12816 * fns.c (Fstring_to_multibyte): New function.
12817 (syms_of_fns): Declare Fstring_to_multibyte as Lisp subroutine.
12818
12819 2008-02-01 Dave Love <fx@gnu.org>
12820
12821 * xfns.c (x_put_x_image): Declare args.
12822
12823 * xfaces.c (font_name_registry, choose_face_font): Delete unused vars.
12824 (try_font_list): Declare an arg.
12825
12826 * xdisp.c (message2_nolog, set_message): Declare an arg.
12827
12828 * terminfo.c (tparam): Declare an arg. Use P_ to declare tparm.
12829
12830 * syntax.c (scan_sexps_forward): Declare an arg.
12831
12832 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
12833 Declare an arg.
12834
12835 * lisp.h (Fnew_fontset): Declare.
12836
12837 * keymap.c (push_key_description): Call CHARACTERP correctly.
12838
12839 * fontset.c (fontset_add): Declare args. Call make_number correctly.
12840 (face_for_char): Delete unused vars.
12841 (Fset_fontset_font): Doc fix. Delete unused vars.
12842
12843 * doc.c (Fsubstitute_command_keys): Delete unused vars.
12844
12845 * composite.c (update_compositions): Declare arg.
12846
12847 * cm.c (calccost, cmgoto): Declare args.
12848
12849 * charset.c: Remove `emacs' conditional. Doc fixes.
12850 (map_char_table_for_charset): Declare.
12851
12852 * character.c (syms_of_character) <translation-table-vector>: Doc fix.
12853
12854 * ccl.c: Remove `emacs' conditional.
12855
12856 2008-02-01 Kenichi Handa <handa@m17n.org>
12857
12858 The following changes are to allow specifying multiple font
12859 patterns for a character range (specified by script or charset).
12860
12861 * Makefile.in (abbrev.o): Depend on syntax.h.
12862 (xfaces.o): Depend on charset.h.
12863
12864 * alloc.c (Fmake_string): Use ASCII_CHAR_P, not
12865 SINGLE_BYTE_CHAR_P.
12866
12867 * ccl.c (Fccl_execute_on_string): Add `const' to local variables.
12868
12869 * character.h (Vchar_script_table): Extern it.
12870
12871 * character.c (Vscript_alist): Delete.
12872 (Vchar_script_table, Qchar_script_table): New variable.
12873 (syms_of_character): Declare Vchar_script_table as a lisp variable
12874 and initialize it.
12875
12876 * chartab.c (Fmake_char_table): Doc fix. If PURPOSE doesn't
12877 have property char-table-extra-slots, make no extra slot.
12878
12879 * dispextern.h (struct face): Delete member `charset'.
12880 (FACE_SUITABLE_FOR_CHAR_P, FACE_FOR): Use ASCII_CHAR_P, not
12881 SINGLE_BYTE_CHAR_P.
12882 (choose_face_font, lookup_non_ascii_face, font_name_registry):
12883 Add prototypes.
12884 (lookup_face, lookup_named_face, lookup_derived_face): Fix prototype.
12885 (generate_ascii_font_name): Rename from generate_ascii_font.
12886
12887 * fontset.h (get_font_repertory_func): New prototype.
12888 (make_fontset_for_ascii_face, fs_load_font): Fix prototypes.
12889 (FS_LOAD_FONT): Call fs_load_font with the 3rd arg charset_ascii.
12890
12891 * fontset.c (Qprepend, Qappend): New variables.
12892 (FONTSET_CHARSET_ALIST, FONTSET_FACE_ALIST): Delete.
12893 (FONTSET_NOFONT_FACE, FONTSET_REPERTORY): New macros.
12894 (FONTSET_REF): Optimize if FONTSET is Vdefault_fontset.
12895 (FONTSET_REF_AND_RANGE, FONTSET_ADD): New macros.
12896 (fontset_ref_and_range, fontset_add, reorder_font_vector)
12897 (load_font_get_repertory): New functions.
12898 (fontset_set): Delete.
12899 (fontset_face): New arg FACE. Return face ID, not face.
12900 Complete re-write to handle new fontset structure. Change caller.
12901 (free_face_fontset): Use ASET istead of AREF (X) = Y.
12902 (face_for_char): Don't call lookup_face.
12903 (make_fontset_for_ascii_face): New arg FACE.
12904 (fs_load_font): New arg CHARSET_ID. Don't check
12905 Vfont_encoding_alist here.
12906 (find_font_encoding): New function.
12907 (list_fontsets): Use STRINGP, not ! NILP.
12908 (accumulate_script_ranges): New function.
12909 (Fset_fontset_font, Fnew_fontset, Ffontset_info): Completely
12910 re-written to handle new fontset structure.
12911 (Ffontset_font): Return a copy of element.
12912 (syms_of_fontset): Define symbols Qprepend and Qappend. Fix
12913 docstring of font-encoding-alist.
12914
12915 * lisp.h (CHAR_TABLE_REF): Remove unnecessary check (IDX >= 0).
12916 (Fset_fotset_font): Fix arguments to 5.
12917
12918 * msdos.c (XMenuActivate): Adjust for the change of lookup_derived_face.
12919
12920 * xdisp.c (message_dolog, set_message_1, extend_face_to_end_of_line):
12921 Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
12922 (highlight_trailing_whitespace): Adjust for the change of
12923 lookup_named_face.
12924
12925 * xfaces.c: Include charset.h.
12926 (load_face_font): Delete argument C. Change caller.
12927 (generate_ascii_font_name): Rename from generate_ascii_font.
12928 (font_name_registry): New function.
12929 (cache_face): Store ascii faces before non-ascii faces in buckets.
12930 (lookup_face): Delete arguments C and BASE_FACE. Change caller.
12931 Lookup only ascii faces.
12932 (lookup_non_ascii_face): New function.
12933 (lookup_named_face): Delete argument C. Change caller.
12934 (lookup_derived_face): Delete argument C. Change caller.
12935 (try_font_list): New arg PATTERN. Change caller. If PATTERN is
12936 a string, just call font_list with it.
12937 (choose_face_font): Delete arguments FACE and C. New arg
12938 FONT_SPEC. Change caller.
12939 (realize_face, realize_x_face): Delete arguments C and BASE_FACE.
12940 Change caller.
12941 (realize_non_ascii_face): New function.
12942 (realize_x_face): Call load_face_font here.
12943 (realize_tty_face): Delete argument C. Change caller.
12944 (compute_char_face): If CH is not ascii, call FACE_FOR_CHAR to
12945 get a face ID.
12946 (dump_realized_face): Don't print charset of FACE.
12947
12948 * xfns.c (x_set_font): Always call x_new_fontset and
12949 store_frame_parameter.
12950 (Fx_create_frame): Call x_new_fontset, not x_new_font.
12951 (syms_of_xfns): Set get_font_repertory_func to x_get_font_repertory.
12952
12953 * xterm.h (x_get_font_repertory): Extern it.
12954
12955 * xterm.c (x_produce_glyphs): Use ASCII_CHAR_P, not
12956 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
12957 it->multibyte_p is zero.
12958 (XTread_socket): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
12959 (x_new_fontset): If FONTSETNAME doesn't match any existing
12960 fontsets, create a new one.
12961 (x_get_font_repertory): New function.
12962
12963 2008-02-01 Kenichi Handa <handa@m17n.org>
12964
12965 * coding.c (Ffind_coding_systems_region_internal): Detect an
12966 ASCII only string correctly.
12967
12968 * lread.c (Fload): Don't load with Qload_force_doc_strings t if
12969 version is 0.
12970
12971 2008-02-01 Kenichi Handa <handa@m17n.org>
12972
12973 * lread.c: Include "coding.h".
12974 (Qget_emacs_mule_file_char, Qload_force_doc_strings)
12975 (load_each_byte, unread_char): New variables.
12976 (readchar_backlog): Delete.
12977 (readchar): Return a character unless load_each_byte is nonzero.
12978 Handle the case that readcharfun is Qget_emacs_mule_file_char or a
12979 cons. If unread_char is not -1, simply return it.
12980 (unreadchar): Handle the case that readcharfun is
12981 Qget_emacs_mule_file_char or a cons. Set unread_char if necessary.
12982 (read_multibyte): Delete.
12983 (readbyte_for_lambda, readbyte_from_file, readbyte_from_string)
12984 (read_emacs_mule_char): New functions.
12985 (Fload): Even if the file doesn't have the extension ".elc", if
12986 safe_to_load_p returns a positive version number, assume that the
12987 file contains bytecompiled code. If the version is less than 22,
12988 load the file while decoding multibyte sequences by emacs-mule.
12989 (readevalloop): Don't use readchar_backlog.
12990 (Fread): Likewise. Pay attention to the case that STREAM is a cons.
12991 (Fread_from_string): Pay attention to the case that STREAM is a cons.
12992 (read_escape): Delete the arg BYTEREP.
12993 (read1): Set load_each_byte to 1 temporarily while handling
12994 #@NUMBER. Don't call read_multibyte.
12995 (read_vector): Call Fread with a cons. If readcharfun is
12996 Qget_emacs_mule_file_char, decode the read string by emacs-mule.
12997 (read_list): If doc_reference is 2, make the cdr part string as unibyte.
12998 (syms_of_lread): Intern and staticpro Qget_emacs_mule_file_char
12999 and Qload_force_doc_strings.
13000
13001 2008-02-01 Kenichi Handa <handa@m17n.org>
13002
13003 * xdisp.c (face_before_or_after_it_pos): Call
13004 FETCH_MULTIBYTE_CHAR with byte postion, not char position.
13005
13006 2008-02-01 Kenichi Handa <handa@m17n.org>
13007
13008 * character.h (TRAILING_CODE_P): New macro.
13009 (MAYBE_UNIFY_CHAR): Adjust for the change of Funify_charset.
13010 (string_char_with_unification): Fix prototype.
13011 (Vscript_alist): Extern it.
13012
13013 * character.c (Vscript_alist): New variable.
13014 (string_char_with_unification, str_as_unibyte)
13015 (string_escape_byte8): Add `const' to local variables.
13016 (syms_of_character): Declare script-alist as a Lisp variable.
13017
13018 * charset.h (Vcharset_ordered_list): Extern it.
13019 (charset_ordered_list_tick): Extern it.
13020 (EMACS_MULE_LEADING_CODE_PRIVATE_11)
13021 (EMACS_MULE_LEADING_CODE_PRIVATE_12)
13022 (EMACS_MULE_LEADING_CODE_PRIVATE_21)
13023 (EMACS_MULE_LEADING_CODE_PRIVATE_22): New macros.
13024 (Funify_charset): Adjust for the change of Funify_charset.
13025
13026 * charset.c (charset_ordered_list_tick): New variable.
13027 (Fdefine_charset_internal): Increment charset_ordered_list_tick.
13028 (Funify_charset): New optional arg DEUNIFY. If it is non-nil,
13029 deunify intead of unify a charset.
13030 (string_xstring_p): Add `const' to local variables.
13031 (find_charsets_in_text): Add `const' to arguments and local variables.
13032 (encode_char): Adjust for the change of Funify_charset. Fix
13033 detecting of invalid code.
13034 (Fset_charset_priority): Increment charset_ordered_list_tick.
13035 (Fmap_charset_chars): Fix handling of default value for FROM_CODE
13036 and TO_CODE.
13037
13038 * coding.c (LEADING_CODE_PRIVATE_11, LEADING_CODE_PRIVATE_12)
13039 (LEADING_CODE_PRIVATE_21, LEADING_CODE_PRIVATE_22): Delete macros.
13040 Changed callers to use EMACS_MULE_LEADING_CODE_PRIVATE_11, etc.
13041 (decode_coding_ccl, consume_chars)
13042 (Ffind_coding_systems_region_internal)
13043 (Fcheck_coding_systems_region): Add `const' to local variables.
13044
13045 * print.c (print_object): Use octal form for printing the
13046 contents of a bool vector.
13047
13048 2008-02-01 Dave Love <fx@gnu.org>
13049
13050 * lread.c (Fload) <!load_dangerous_libraries>: Don't leak fd.
13051 <version == 20>: Refuse to load.
13052
13053 2008-02-01 Dave Love <fx@gnu.org>
13054
13055 * fns.c: Move coding.h.
13056 (Qcodeset, Qdays, Qmonths): New.
13057 (concat): Use CHARACTERP instead of INTEGERP.
13058 (Flocale_codeset): Delete.
13059 (Flanginfo): New function.
13060 (syms_of_fns): Change accordingly.
13061
13062 * coding.c (adjust_coding_eol_type): Fix eol_type/eol_seen mixup.
13063
13064 2008-02-01 Dave Love <fx@gnu.org>
13065
13066 * casetab.c (init_casetab_once, init_casetab_once): Fix
13067 CHAR_TABLE_SET call.
13068
13069 * category.c (Fmodify_category_entry): Fix CATEGORY_MEMBER call.
13070
13071 * character.c (syms_of_character): Fix CHAR_TABLE_SET call.
13072
13073 * charset.c (Fmap_charset_chars): Check args. Convert Lisp types.
13074 (load_charset_map, Fdeclare_equiv_charset, Fencode_char)
13075 (Fset_charset_priority, syms_of_charset): Convert Lisp types.
13076
13077 * charset.h (CHECK_CHARSET_GET_ID): Use XINT on AREF result.
13078
13079 * coding.c (ENCODE_DESIGNATION, decode_eol)
13080 (make_conversion_work_buffer, code_conversion_restore)
13081 (Fdefine_coding_system_internal): Convert Lisp types.
13082 (code_conversion_restore): Use EQ, not ==.
13083 (Fencode_coding_string): Fix code_convert_string call.
13084
13085 * coding.h (code_convert_region): Fix prototype.
13086
13087 * dispextern.h (redraw_frame, redraw_garbaged_frames): Remove.
13088
13089 * fontset.c (fontset_ref, fontset_set, fs_load_font)
13090 (Ffontset_info): Convert Lisp types.
13091
13092 * syntax.h (SYNTAX_ENTRY_INT): Don't use make_number.
13093
13094 * xterm.c (note_mouse_movement): Fix call of window_from_coordinates.
13095
13096 * xdisp.c (display_mode_element): Fix call of Fset_text_properties.
13097
13098 * chartab.c: Include "...h", not <...h> in some cases.
13099
13100 * callproc.c (Fcall_process): Remove unused variables.
13101
13102 2008-02-01 Dave Love <fx@gnu.org>
13103
13104 * coding.c (Fset_coding_system_priority): Allow null arg list.
13105
13106 2008-02-01 Dave Love <fx@gnu.org>
13107
13108 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
13109 (Fself_insert_and_exit): Use CHARACTERP.
13110
13111 * callproc.c (Fcall_process): Remove unused vars.
13112
13113 * xterm.c (XTread_socket): Add extra dead keysyms.
13114
13115 * xdisp.c (decode_mode_spec_coding): Use CHARACTERP.
13116
13117 * dispextern.h: Remove prototypes for redraw_frame,
13118 redraw_garbaged_frames.
13119
13120 * cmds.c (Fself_insert_command): Use CHARACTERP.
13121
13122 * chartab.c (make_sub_char_table): Remove unused var.
13123 (Fset_char_table_default, Fmap_char_table): Doc fix.
13124
13125 * keymap.c (access_keymap): Remove generic char code.
13126 (push_key_description): Use CHARACTERP.
13127
13128 2008-02-01 Dave Love <fx@gnu.org>
13129
13130 * charset.c: Doc fixes.
13131 (Funify_charset): Extra checking.
13132
13133 2008-02-01 Dave Love <fx@gnu.org>
13134
13135 * lread.c: Remove some unused variables.
13136 (safe_to_load_p): If safe, return the magic number version byte.
13137 (Fload): Maybe use load-with-code-conversion.
13138
13139 2008-02-01 Kenichi Handa <handa@m17n.org>
13140
13141 * category.c (Fmodify_category_entry): Don't modify the contents
13142 of category_set for characters out of the range. Avoid
13143 unnecessary modification.
13144
13145 * character.h (MAYBE_UNIFY_CHAR): Adjust for the change of
13146 Vchar_unify_table. The default value of the table is now nil.
13147
13148 * character.c (syms_of_character): Setup Vchar_width_table for
13149 eight-bit-control and raw-byte chars.
13150
13151 * charset.h (enum define_charset_arg_index): Delete
13152 charset_arg_parents and add charset_arg_subset and
13153 charset_arg_superset.
13154 (enum charset_attr_index): Delete charset_parents and add
13155 charset_subset and charset_superset.
13156 (enum charset_method): Delete CHARSET_METHOD_INHERIT and add
13157 CHARSET_METHOD_SUBSET and CHARSET_METHOD_SUPERSET.
13158 (CHARSET_ATTR_PARENTS, CHARSET_PARENTS): Delete.
13159 (CHARSET_ATTR_SUBSET, CHARSET_ATTR_SUPERSET, CHARSET_SUBSET)
13160 (CHARSET_SUPERSET): New macros.
13161 (charset_work): Extern it.
13162 (ENCODE_CHAR): Use charset_work.
13163 (CHAR_CHARSET_P): Adjust for the change of encoder format.
13164 (map_charset_chars): Extern it.
13165
13166 * charset.c (load_charset_map): Set the default value of encoder
13167 and deunifier char-tables to nil.
13168 (map_charset_chars): Change argument. Change callers. Use
13169 map_char_table_for_charset instead of map_char_table.
13170 (Fmap_charset_chars): New optional args from_code and to_code.
13171 (Fdefine_charset_internal): Adjust for the change of
13172 `define-charset' (:parents -> :subset or :superset).
13173 (charset_work): New variable.
13174 (encode_char, syms_of_charset): Adjust for the change of
13175 Fdefine_charset_internal.
13176 (Ffind_charset_string): Setup the vector `charsets' correctly.
13177
13178 * chartab.c (sub_char_table_ref_and_range): New arg default. Fix
13179 the previous change.
13180 (char_table_ref_and_range): Adjust for the above change.
13181 (map_sub_char_table_for_charset): New function.
13182 (map_char_table_for_charset): New function.
13183
13184 * keymap.c (describe_vector): Handle a char-table directly here.
13185 (describe_char_table): Delete.
13186
13187 * lisp.h (map_charset_chars): Delete.
13188
13189 2008-02-01 Dave Love <fx@gnu.org>
13190
13191 * fns.c (count_combining): Comment out (unused).
13192 (Flocale_codeset): New.
13193 (syms_of_fns): Defsubr it.
13194
13195 * config.in (HAVE_PTY_H, HAVE_SIZE_T, HAVE_LANGINFO_CODESET): New.
13196 (size_t): Remove.
13197
13198 2008-02-01 Dave Love <fx@gnu.org>
13199
13200 * Makefile.in (chartab.o): Depend on charset.h.
13201
13202 2008-02-01 Kenichi Handa <handa@m17n.org>
13203
13204 * character.c (syms_of_character): Set the default value of
13205 Vprintable_chars to Qnil.
13206
13207 2008-02-01 Dave Love <fx@gnu.org>
13208
13209 * Makefile.in (lisp, shortlisp): Change indian.elc to indian.el.
13210
13211 2008-02-01 Kenichi Handa <handa@m17n.org>
13212
13213 * charset.c (load_charset_map): Handle the case that from < to
13214 correctly.
13215
13216 * coding.c (encode_coding_emacs_mule, encode_coding_iso_2022)
13217 (encode_coding_sjis, encode_coding_big5, encode_coding_charset):
13218 Pay attention to raw-8-bit chars.
13219
13220 2008-02-01 Kenichi Handa <handa@m17n.org>
13221
13222 * Makefile.in (lisp, shortlisp): Change chinese.elc to chinese.el.
13223 It is not bytecompiled now.
13224
13225 * charset.c (charset_jisx0201_roman, charset_jisx0208_1978)
13226 (charset_jisx0208): New variables.
13227 (Fdefine_charset_internal): Setup them if appropriate.
13228 (init_charset_once): Initialize them to -1.
13229
13230 * charset.h (charset_jisx0201_roman, charset_jisx0208_1978)
13231 (charset_jisx0208): Extern them.
13232
13233 * coding.c (CODING_ISO_FLAG_USE_ROMAN): New macro.
13234 (CODING_ISO_FLAG_USE_OLDJIS): New macro.
13235 (CODING_ISO_FLAG_FULL_SUPPORT): Change macro definition.
13236 (setup_iso_safe_charsets): Fix arguments to Fassq.
13237 (DECODE_DESIGNATION, ENCODE_ISO_CHARACTER_DIMENSION1)
13238 (ENCODE_ISO_CHARACTER_DIMENSION2): Pay attention to
13239 CODING_ISO_FLAG_USE_ROMAN and CODING_ISO_FLAG_USE_OLDJIS.
13240 (encode_coding_iso_2022): Change the 1st arg to
13241 ENCODE_ISO_CHARACTER to a variable.
13242
13243 2008-02-01 Kenichi Handa <handa@m17n.org>
13244
13245 * charset.h (enum define_charset_arg_index): New enums
13246 charset_arg_min_code and charset_arg_max_code.
13247 (struct charset): New member char_index_offset.
13248
13249 * charset.c (CODE_POINT_TO_INDEX, INDEX_TO_CODE_POINT):
13250 Take charset->char_index_offset into account.
13251 (Fdefine_charset_internal): Handle args[charset_arg_min_code] and
13252 args[charset_arg_max_code]. Setup charset.char_index_offset.
13253 (syms_of_charset): Fix args to Fdefine_charset_internal.
13254
13255 2008-02-01 Dave Love <fx@gnu.org>
13256
13257 * coding.c (decode_coding_utf_8): Reject overlong sequences.
13258
13259 2008-02-01 Dave Love <fx@gnu.org>
13260
13261 * coding.c: Doc fixes.
13262 (Fcoding_system_aliases): Fix return value.
13263 (Qmac): Remove (duplicated) definition.
13264
13265 2008-02-01 Dave Love <fx@gnu.org>
13266
13267 * charset.c (Fcharset_priority_list, Fset_charset_priority): New
13268 functions.
13269
13270 * character.c (Fstring): Doc fix.
13271
13272 * charset.c (Fdefine_charset_alias): Update Vcharset_list.
13273
13274 * fontset.c (Ffontset_info): Doc fix. Return charset names, not
13275 ids.
13276 (font-encoding-alist): Doc fix.
13277
13278 2008-02-01 Dave Love <fx@gnu.org>
13279
13280 * term.c (costs_set): Declare static, non-initialized for pcc.
13281 (encode_terminal_code): Remove unused var.
13282
13283 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
13284 for K&R.
13285
13286 * xterm.c (xlwmenu_window_p): Fix prototype for K&R.
13287
13288 * coding.c (setup_iso_safe_charsets): Fix arg decl for K&R.
13289 (suffixes): Move out of make_subsidiaries for K&R.
13290
13291 * charset.c (map_charset_chars): Fix c_function declaration for K&R.
13292
13293 * lisp.h (DEFUN) [!PROTOTYPES]: Remove spurious `args'.
13294
13295 2008-02-01 Dave Love <fx@gnu.org>
13296
13297 * data.c (Fchar_or_string_p): Doc fix. Use CHARACTERP.
13298
13299 * category.c (Fmodify_category_entry): Doc fix. Remove unused vars.
13300
13301 2008-02-01 Yong Lu <lyongu@asia-infonet.com>
13302
13303 * charset.c (Fdefine_charset_internal): Fix argument to bzero.
13304
13305 * coding.c (decode_coding_charset): Workaround for the bug of GCC 2.96.
13306
13307 2008-02-01 Kenichi Handa <handa@m17n.org>
13308
13309 * Makefile.in (lisp, shortlisp): Change cyrillic.elc to cyrillic.el,
13310 vietnamese.elc to vietnamese.el. They are not bytecompiled now.
13311
13312 2008-02-01 Kenichi Handa <handa@m17n.org>
13313
13314 * coding.c (decode_coding_charset): Adjust for the change of
13315 Fdefine_coding_system_internal.
13316 (Fdefine_coding_system_internal): For a coding system of
13317 `charset' type, store a list of charset IDs in
13318 `charset_attr_charset_valids' element of coding attributes.
13319
13320 2008-02-01 Kenichi Handa <handa@m17n.org>
13321
13322 * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars.
13323 (emacs_mule_char): New arg src. Delete arg `composition'. Change
13324 caller. Handle 2-byte and 3-byte charsets correctly.
13325 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Rename from
13326 DECODE_EMACS_MULE_COMPOSITION_RULE. Change caller.
13327 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New macro.
13328 (DECODE_EMACS_MULE_21_COMPOSITION): Call
13329 DECODE_EMACS_MULE_COMPOSITION_RULE_21. Produce correct annotation
13330 sequence.
13331 (decode_coding_emacs_mule): Handle composition correctly. Rewind
13332 `src' and `consumed_chars' correctly before calling emacs_mule_char.
13333 (DECODE_COMPOSITION_START): Correctly handle the case of altchar
13334 and alt&rule composition.
13335 (decode_coding_iso_2022): Handle composition correctly.
13336 (init_coding_once): Setup emacs_mule_bytes for private charsets.
13337
13338 * charset.c (Fdefine_charset_internal): Fix bug for the case of
13339 re-defining a charset. If the charset has :emacs-mule-id, setup
13340 emacs_mule_bytes.
13341 (Fmake_char): If CODE1 is nil, use the minimum code of the charset.
13342
13343 2008-02-01 Kenichi Handa <handa@m17n.org>
13344
13345 * coding.c (encode_coding_iso_2022, encode_coding_sjis)
13346 (encode_coding_big5, encode_coding_charset): If coding requires safe
13347 encoding, produce a character specified by
13348 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
13349
13350 2008-02-01 Dave Love <fx@gnu.org>
13351
13352 * xterm.c (XSetIMValues): Declare.
13353
13354 * process.c: Conditionally include sys/wait.h, pty.h.
13355
13356 * print.c (print_object): Fix print format for 64-bit systems.
13357
13358 * keyboard.c (modify_event_symbol): Fix print format for 64-bit systems.
13359
13360 * buffer.c (emacs_strerror): Declare.
13361
13362 * fontset.c (Fclear_face_cache): Declare.
13363 (accumulate_font_info): Comment-out (unused).
13364 (face_for_char, Fset_fontset_font, Ffontset_info): Remove unused
13365 variables.
13366
13367 * character.h (string_escape_byte8): Declare.
13368
13369 * charset.c (load_charset_map, load_charset_map_from_file): Remove
13370 unused vars.
13371 (Fdefine_charset_internal, Fsplit_char, syms_of_charset)
13372 (Fmap_charset_chars): Doc fix.
13373
13374 * coding.c (Vchar_coding_system_table, Qchar_coding_system): Remove.
13375 (Fset_coding_system_priority, Fset_coding_system_priority)
13376 (Fdefine_coding_system_internal): Doc fix.
13377
13378 2008-02-01 Dave Love <fx@gnu.org>
13379
13380 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Remove -nointrinsics.
13381
13382 2008-02-01 Kenichi Handa <handa@m17n.org>
13383
13384 * character.c (string_escape_byte8): Make multibyte string with
13385 correct size.
13386
13387 * charset.c (Fmake_char): Delete unnecessary code.
13388
13389 2008-02-01 Kenichi Handa <handa@m17n.org>
13390
13391 * xfns.c (x_encode_text): Allocate coding.destination here, and
13392 call encode_coding_object with dst_object Qnil.
13393
13394 * buffer.c (Fset_buffer_multibyte): Convert 8-bit bytes to
13395 multibyte form correctly.
13396
13397 * fontset.c (fs_load_font): Check fontp->full_name (not fontname)
13398 against Vfont_encoding_alist.
13399
13400 * coding.c (Fdecode_sjis_char): Fix typo (0x7F->0xFF). Fix the
13401 handling of charset list.
13402 (encode_coding_iso_2022): Setup coding->safe_charsets in advance.
13403 (decode_coding_object): Move point to coding->dst_pos before
13404 calling post-read-conversion function.
13405 (encode_coding_object): Give correct arguments to
13406 pre-write-conversion. Ignore the return value of
13407 pre-write-conversion function. Pay attention to the case that
13408 pre-write-conversion changes the current buffer. If dst_object is
13409 Qt, even if coding->src_bytes is zero, allocate at least one byte
13410 to coding->destination.
13411
13412 * coding.h (JIS_TO_SJIS): Fix typo (j1->s1, j2->s2).
13413
13414 * charset.c (Fmake_char): Make it more backward compatible.
13415 (Fmap_charset_chars): Fix docstring.
13416
13417 2008-02-01 Dave Love <fx@gnu.org>
13418
13419 * coding.c: Doc fixes.
13420 (Fdefine_coding_system_alias): Use names, not symbols, in
13421 coding-system-alist.
13422
13423 2008-02-01 Kenichi Handa <handa@m17n.org>
13424
13425 * fontset.c (free_realized_fontsets): Call Fclear_face_cache instead
13426 of calling free_realized_face.
13427
13428 2008-02-01 Yong Lu <lyongu@asia-infonet.com>
13429
13430 * charset.c (read_hex): Don't treat SPC as a comment starter.
13431 (decode_char): If CODE_POINT_TO_INDEX returns -1, always return -1.
13432 (Fdecode_char): Fix typo.
13433
13434 2008-02-01 Kenichi Handa <handa@m17n.org>
13435
13436 * charset.h (struct charset): New member `code_space_mask'.
13437
13438 * coding.c (coding_set_source): Delete the local variable beg_byte.
13439 (encode_coding_charset, Fdefine_coding_system_internal):
13440 Delete the local variable charset.
13441 (Fdefine_coding_system_internal): Setup
13442 attrs[coding_attr_charset_valids] correctly.
13443
13444 * charset.c (CODE_POINT_TO_INDEX): Utilize `code_space_mask'
13445 member to check if CODE is valid or not.
13446 (Fdefine_charset_internal): Initialize `code_space_mask' member.
13447 (encode_char): Before calling CODE_POINT_TO_INDEX, check if CODE
13448 is within the range of charset->min_code and carset->max_code.
13449
13450 2008-02-01 Dave Love <fx@gnu.org>
13451
13452 * syntax.h (syntax_temp) [!__GNUC__]: Declare.
13453
13454 * dispextern.h (generate_ascii_font): Fix return type.
13455
13456 * xfaces.c (generate_ascii_font): Fix arg declaration.
13457
13458 * coding.c (coding_inherit_eol_type)
13459 (Fset_terminal_coding_system_internal)
13460 (Fset_safe_terminal_coding_system_internal): Fix arg declarations.
13461
13462 2008-02-01 Kenichi Handa <handa@m17n.org>
13463
13464 * coding.c (decode_coding_charset, encode_coding_charset): Handle
13465 multiple charsets correctly.
13466
13467 2008-02-01 Kenichi Handa <handa@m17n.org>
13468
13469 * search.c (boyer_moore): Fix handling of multibyte character
13470 translation.
13471
13472 * xdisp.c (display_mode_element): When the variable `elt' is
13473 changed, update `this' and `lisp_string'.
13474
13475 2008-02-01 Kenichi Handa <handa@m17n.org>
13476
13477 * buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling.
13478
13479 * callproc.c (Fcall_process): Be sure to give the current buffer
13480 to decode_coding_c_string. Update PT and PT_BYTE after the insertion.
13481
13482 * charset.c (struct charset_map_entries): New struct.
13483 (load_charset_map): Rename from parse_charset_map. New args
13484 entries and n_entries. Change caller.
13485 (load_charset_map_from_file): Rename from load_charset_map.
13486 Change caller. New arg control_flag. Call load_charset_map at
13487 the tail.
13488 (load_charset_map_from_vector): New function.
13489 (Fdefine_charset_internal): Setup charset.compact_codes_p.
13490 (encode_char): If the charset is compact, change a character index
13491 to a code point.
13492
13493 * coding.c (coding_alloc_by_making_gap): Check the case that the
13494 source and destination are the same correctly.
13495 (decode_coding_raw_text): Set coding->consumed_char and
13496 coding->consumed to 0.
13497 (produce_chars): If coding->chars_at_source is nonzero, update
13498 coding->consumed_char and coding->consumed before calling
13499 alloc_destination.
13500 (Fdefine_coding_system_alias): Register ALIAS in
13501 Vcoding_system_alist.
13502 (syms_of_coding): Define `no-conversion' coding system at the tail.
13503
13504 * fileio.c (Finsert_file_contents): Set coding_system instead of
13505 val. If the current buffer is multibyte, always call
13506 decode_coding_gap.
13507
13508 * xfaces.c (try_font_list): Give higher priority to fontset's
13509 family than face's family.
13510
13511 2008-02-01 Kenichi Handa <handa@m17n.org>
13512
13513 * callproc.c (Fcall_process): Be sure to give the current buffer
13514 to decode_coding_c_string.
13515
13516 * xfaces.c (try_font_list): Give a family specified in a fontset
13517 higher priority than a family specified in a face.
13518
13519 2008-02-01 Kenichi Handa <handa@m17n.org>
13520
13521 * fileio.c (Finsert_file_contents): Fix calculation of `inserted'.
13522 Fix arguments to insert_from_buffer.
13523
13524 * xdisp.c (display_mode_element): Fix calculation of `bytepos'.
13525
13526 2008-02-01 Kenichi Handa <handa@m17n.org>
13527
13528 * coding.c (produce_chars): Set the variable `multibytep' correctly.
13529 (decode_coding_gap): Set coding->dst_multibyte correctly.
13530
13531 2008-02-01 Kenichi Handa <handa@m17n.org>
13532
13533 * coding.c (encode_coding_utf_8): Initialize produced_chars to 0.
13534 (decode_coding_utf_16): Fix converting high and low bytes to code-point.
13535 (encode_coding_utf_16): Substitute coding->default_char for
13536 non-Unicode characters.
13537 (decode_coding): Don't call record_insert here.
13538 (setup_coding_system): Initialize `surrogate' of
13539 coding->spec.utf_16 to 0.
13540 (EMIT_ONE_BYTE): Fix for multibyte case.
13541
13542 * insdel.c (insert_from_gap): Call record_insert.
13543
13544 2008-02-01 Kenichi Handa <handa@m17n.org>
13545
13546 * casefiddle.c (casify_region): Fix multibyte case.
13547
13548 * character.c (c_string_width): Add return type `int'.
13549 (char_string_with_unification): Delete arg ADVANCED.
13550
13551 * character.h (CHAR_VALID_P): Don't call CHARACTERP.
13552 (CHAR_STRING): Adjust for the change of char_string_with_unification.
13553 (CHAR_STRING_ADVANCE): Make it do-while statement.
13554
13555 * chartab.c (sub_char_table_set_range): Optimize for the case
13556 DEPTH == 3. Add workaround code for a GCC optimization bug.
13557
13558 * charset.c (parse_charset_map): Remove an unused variable.
13559
13560 * coding.c: Delete unused variables.
13561
13562 * fileio.c (Finsert_file_contents): Set coding_system to Qnil
13563 earlier. If inserted is zero and the coding system doesn't
13564 require flushing, don't call decode_coding_gap.
13565
13566 * syntax.h (SET_RAW_SYNTAX_ENTRY): Don't call make_number.
13567
13568 2008-02-01 Kenichi Handa <handa@m17n.org>
13569
13570 The following changes are for using Unicode as an internal
13571 character model, and use UTF-8 format for buffer/string
13572 representation.
13573
13574 * .gdbinit (xchartable): Adjust for the change of char table structure.
13575 (xsubchartable, xcoding, xcharset, xcurbuf): New commands.
13576
13577 * Makefile.in (obj): Add character.o and chartab.o.
13578 (lisp, shortlisp): Remove utf-8.elc.
13579 (*.o): For many files, change dependency on charset.h to
13580 character.h, and add dependency on character.h.
13581 (character.o, chartab.o): New targets.
13582
13583 * abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c:
13584 * doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c:
13585 * w16select.c, w32bdf.c, w32console.c: Include "character.h" instead
13586 of "charset.h".
13587
13588 * dired.c, filelock.c: Include "character.h".
13589
13590 * alloc.c: Include "character.h" instead of "charset.h".
13591 (Fmake_char_table, make_sub_char_table): Move to chartab.c.
13592 (syms_of_alloc): Remove defsubr for Smake_char_table.
13593
13594 * buffer.c: Include "character.h" instead of "charset.h", don't
13595 include "coding.h".
13596 (Fset_buffer_multibyte): Adjust for UTF-8.
13597
13598 * buffer.h: EXFUN Fbuffer_live_p.
13599
13600 * callproc.c: Include "character.h" instead of "charset.h".
13601 (Fcall_process): Big change for the new code-conversion APIs.
13602
13603 * casetab.c: Include "character.h" instead of "charset.h".
13604 (set_canon, set_identity, shuffle): Adjust for the new
13605 map_char_table spec.
13606 (init_casetab_once): Call CHAR_TABLE_SET instead of directly
13607 accessing the char table structure.
13608
13609 * chartab.c: New file that implements char table.
13610
13611 * category.c: Include "character.h".
13612 (copy_category_entry): New function.
13613 (copy_category_table): Call map_char_table and copy_category_entry.
13614 (Fmake_category_table): Initialize all top-level slots.
13615 (char_category_set): New function.
13616 (modify_lower_category_set): Delete.
13617 (Fmodify_category_entry): Call char_table_ref_and_range.
13618
13619 * category.h (CATEGORY_SET): Just call char_category_set.
13620
13621 * ccl.c: Include "character.h".
13622 (Qccl, Qcclp): New variables.
13623 (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if
13624 it's less than 256.
13625 (CCL_WRITE_MULTIBYTE_CHAR): Delete.
13626 (CCL_WRITE_STRING, CCL_READ_CHAR): Adjust for the change of SRC
13627 and DST type.
13628 (ccl_driver): Change types of argument, adjust code accordingly.
13629 (Fccl_execute, Fccl_execute_on_string): Adjust for the change of
13630 ccl_driver.
13631 (syms_of_ccl): Intern and staticpro Qccl and Qcclp.
13632
13633 * ccl.h (struct ccl_program): Delete members eol_type and multibyte.
13634 New members src_multibyte, dst_multibyte, consumed, and produced.
13635 (struct ccl_spec): Delete members decoder and encoder. New member ccl.
13636 (CODING_SPEC_CCL_PROGRAM): New macro.
13637 (ccl_driver): Update prototype.
13638 (Qccl, Qcclp, Fccl_program_p): Extern them.
13639 (CHECK_CCL_PROGRAM): New macro.
13640
13641 * character.c, character.h, chartab.c: New files.
13642
13643 * charset.c: Mostly re-written. Move character and multibyte sequence
13644 handling codes to character.c.
13645
13646 * charset.h: Mostly re-written. Move character and multibyte sequence
13647 handling codes to character.h.
13648
13649 * coding.c, coding.h: Mostly re-written.
13650
13651 * composite.c: Include "character.h" instead of "charset.h".
13652 (CHAR_WIDTH): Move to character.h.
13653 (HASH_KEY, HASH_VALUE): Delete.
13654
13655 * composite.h (enum composition_method): Change order of enumeration
13656 symbols.
13657
13658 * data.c: Include "character.h" instead of "charset.h".
13659 (Faref): Call CHAR_TABLE_REF for a char table.
13660 (Faset): Call CHAR_TABLE_SET for a char table.
13661
13662 * dispextern.h (free_realized_face, check_face_attribytes)
13663 (generate_ascii_font): Extern them.
13664 (free_realized_multibyte_face): Delete extern.
13665
13666 * disptab.h (DISP_CHAR_VECTOR): Adjust for the change of char
13667 table structure.
13668
13669 * editfns.c: Include "character.h" instead of "charset.h".
13670 (Fchar_to_string): Always call CHAR_STRING.
13671
13672 * emacs.c (main): Call init_charset_once, init_charset,
13673 syms_of_chartab, and syms_of_character.
13674
13675 * fileio.c: Include "character.h" instead of "charset.h".
13676 (Finsert_file_contents): Big change for the new code-conversion API.
13677 (choose_write_coding_system, Fwrite_region): Likewise.
13678 (build_annotations_2): Delete.
13679 (e_write): Big change for the new code-conversion API.
13680
13681 * fns.c: Include "character.h" instead of "charset.h".
13682 (copy_sub_char_table): Move to chartab.c.
13683 (Fcopy_sequence): Call copy_char_table for a char table.
13684 (concat): Delete codes calling count_multibyte.
13685 (string_char_to_byte, string_byte_to_char): Adjust for the new
13686 multibyte form.
13687 (internal_equal): Adjust for the change of char table structure.
13688 (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent)
13689 (Fchar_table_extra_slot, Fset_char_table_extra_slot)
13690 (Fchar_table_range, Fset_char_table_range, Fset_char_table_default)
13691 (char_table_translate, optimize_sub_char_table)
13692 (Foptimize_char_table, map_char_table, Fmap_char_table): Move to
13693 chartab.c.
13694 (char_table_ref_and_index): Delete.
13695 (HASH_KEY, HASH_VALUE): Move to lisp.h.
13696 (Fmd5): Call preferred_coding_system instead of accessing
13697 Vcoding_category_list. Adjust for the new code-conversion API.
13698 (syms_of_fns): Move defsubr for char table related functions to
13699 chartab.c.
13700
13701 * fontset.c: Mostly re-written.
13702
13703 * fontset.h (struct font_info): Change type of the member encoding_type.
13704 (enum FONT_SPEC_INDEX): New enum.
13705 (fontset_font_pattern, fs_load_font): Update prototype.
13706 (FS_LOAD_FONT): Adjust for the change of fs_load_font.
13707
13708 * indent.c: Include "character.h" instead of "charset.h".
13709 (MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of WIDTH_BY_CHAR_HEAD.
13710
13711 * insdel.c: Include "character.h" instead of "charset.h".
13712 (copy_text): Don't refer to Vnonascii_translation_table.
13713 (insert_from_gap): New function.
13714
13715 * keyboard.c: Include "character.h" instead of "charset.h".
13716 (command_loop_1): Never call direct_output_forward_char before
13717 a non-ASCII character.
13718 (read_char): If Vkeyboard_translate_table is a char table, always
13719 translate a character.
13720
13721 * keymap.c: Include "character.h".
13722 (store_in_keymap): Handle the case that IDX is a cons.
13723 (Fdefine_key): Handle the case that KEY is a cons and the car part
13724 is also a cons (range).
13725 (push_key_description): Adjust for the new character code.
13726 (describe_vector): Call describe_char_table for a char table.
13727 (describe_char_table): New function.
13728
13729 * keymap.h (describe_char_table): Extern it.
13730
13731 * lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE.
13732 (XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros.
13733 (CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS)
13734 (SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):
13735 Delete.
13736 (CHAR_TABLE_REF, CHAR_TABLE_SET): Adjust for the new char table
13737 structure.
13738 (CHAR_TABLE_TRANSLATE): Just call char_table_translate.
13739 (CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2)
13740 (CHARTAB_SIZE_BITS_3): New macros.
13741 (chartab_size): Extern it.
13742 (struct Lisp_Char_Table): Re-design.
13743 (struct Lisp_Sub_Char_Table): New structure.
13744 (HASH_KEY, HASH_VALUE): Move from fns.c.
13745 (CHARACTERBITS): Define as 22.
13746 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjust for the above change.
13747 (SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE.
13748 (GC_SUB_CHAR_TABLE_P): New macro.
13749 (Fencode_coding_string, Fdecode_coding_string): Update EXFUN.
13750 (code_convert_string_norecord): Deleted extern.
13751 (init_character_once, syms_of_character, init_charset)
13752 (syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them.
13753
13754 * lread.c: Include "character.h".
13755 (read_multibyte): New arg NBYTES.
13756 (read_escape): Change the meaning of returned *BYTEREP.
13757 (to_multibyte): Delete.
13758 (read1): Adjust the handling of char table and string.
13759
13760 * print.c: Include "character.h" instead of "charset.h".
13761 (print_string): Convert 8-bit raw bytes to octal form by
13762 string_escape_byte8.
13763 (print_object): Adjust for the new multibyte form. Print 8-bit
13764 raw bytes always in octal form. Handle sub char table correctly.
13765
13766 * process.c: Include "character.h" instead of "charset.h".
13767 (read_process_output, send_process): Adjust for the new
13768 code-conversion API.
13769
13770 * puresize.h (BASE_PURESIZE): Increase.
13771
13772 * regex.c: Include "character.h" instead of "charset.h".
13773 (BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros.
13774 (regex_compile): Accept a range whose starting and ending
13775 character have different leading bytes.
13776 (analyse_first): Adjust for the above change.
13777
13778 * search.c: Include "character.h" instead of "charset.h".
13779 (search_buffer, boyer_moore): Adjust for the new multibyte form.
13780 (Freplace_match): Adjust for the change of multibyte_char_to_unibyte.
13781
13782 * syntax.c: Include "character.h" instead of "charset.h".
13783 (syntax_parent_lookup): Delete.
13784 (Fmodify_syntax_entry): Accept a cons as CHAR.
13785 (skip_chars): Adjust for the new multibyte form.
13786 (init_syntax_once): Call char_table_set_range instead of directly
13787 accessing the structure of a char table.
13788
13789 * syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET.
13790 (SYNTAX_ENTRY_FOLLOW_PARENT): Delete macro.
13791 (SET_RAW_SYNTAX_ENTRY_RANGE): New macro.
13792 (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF.
13793
13794 * term.c: Include "buffer.h" and "character.h".
13795 (encode_terminal_code, write_glyphs): Adjust for the new
13796 code-conversion API.
13797 (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH.
13798
13799 * w32term.c (x_new_font): Adjust for the change of FS_LOAD_FONT.
13800
13801 * xdisp.c: Include "character.h".
13802 (get_next_display_element): Adjust for the new multibyte form.
13803 (disp_char_vector): Adjust for the new char table structure.
13804 (decode_mode_spec_coding): Adjust for the new structure of
13805 coding system.
13806 (decode_mode_spec): Adjust for the new code-conversion API.
13807
13808 * xfaces.c: Include "character.h" instead of "charset.h".
13809 (load_face_font): Adjust for the change of choose_face_font and
13810 FS_LOAD_FONT.
13811 (generate_ascii_font): New function.
13812 (set_lface_from_font_name): Adjust for the change of FS_LOAD_FONT.
13813 (set_font_frame_param): Adjust for the change of choose_face_font.
13814 (free_realized_face): Make it public.
13815 (free_realized_faces_for_fontset): Rename from
13816 free_realized_multibyte_face. Free also faces realized for ASCII.
13817 (choose_face_font): Change arguments. Adjust for the change of
13818 fontset_font_pattern and FS_LOAD_FONT.
13819
13820 * xfns.c: Include "character.h".
13821 (x_encode_text): Adjust for the new code-conversion API.
13822
13823 * xselect.c: Don't include "charset.h".
13824 (selection_data_to_lisp_data): Adjust for the new code conversion API.
13825
13826 * xterm.c: Include "character.h".
13827 (x_encode_char): New argument CHARSET. Change caller.
13828 (x_get_char_face_and_encoding, x_get_glyph_face_and_encoding):
13829 Call ENCODE_CHAR instead of SPLIT_CHAR.
13830 (x_produce_glyphs): Don't check Vnonascii_translation_table Call
13831 CHAR_WIDTH instead of CHARSET_WIDTH.
13832 (XTread_socket): Adjust for the new code-conversion API.
13833 (x_new_font): Adjust for the change of FS_LOAD_FONT.
13834 (x_load_font): Adjust for the change of struct font.
13835
13836 2008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
13837
13838 * xfaces.c (face_at_buffer_position): Remove unused vars.
13839
13840 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
13841
13842 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR):
13843 Fix overflow checking.
13844
13845 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
13846
13847 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR, ccl_driver):
13848 Cancel previous change.
13849
13850 2008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
13851
13852 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when
13853 ccl->eight_bit_control. Fix check for buffer overflow.
13854 (CCL_WRITE_MULTIBYTE_CHAR): Fix check for buffer overflow.
13855 (ccl_driver): Initialize extra_bytes to 0.
13856
13857 2008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
13858
13859 * keyboard.c (make_ctrl_char): If C is a multibyte character, just
13860 return it ORed with ctrl_modifier.
13861
13862 2008-01-29 Miles Bader <miles@gnu.org>
13863
13864 * macterm.c (XTset_vertical_scroll_bar): Fix merge mistake.
13865
13866 2008-01-28 Jason Rumney <jasonr@gnu.org>
13867
13868 * w32.c (stat): Don't double check for networked drive.
13869
13870 2008-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
13871
13872 * window.c (run_window_configuration_change_hook): New function.
13873 Code extracted from set_window_buffer. Set the selected frame.
13874 (set_window_buffer): Use it.
13875 * window.h (run_window_configuration_change_hook): Declare.
13876 * dispnew.c (change_frame_size_1): Use it instead of set-window-buffer.
13877
13878 * keyboard.c (read_char): Yet another int/Lisp_Object mixup (YAILOM).
13879
13880 2008-01-27 Dan Nicolaescu <dann@ics.uci.edu>
13881
13882 * Makefile.in: Remove references to unused macros.
13883
13884 2008-01-26 Eli Zaretskii <eliz@gnu.org>
13885
13886 * w32.c (g_b_init_get_sid_sub_authority)
13887 (g_b_init_get_sid_sub_authority_count): New static variables.
13888 (GetSidSubAuthority_Proc, GetSidSubAuthorityCount_Proc): New typedefs.
13889 (get_sid_sub_authority, get_sid_sub_authority_count): New functions.
13890 (init_user_info): Use them to retrieve uid and gid.
13891 Use 500/513, the Windows defaults, as Administrator's uid/gid.
13892 (fstat): Use pw_uid and pw_gid from the_passwd structure for
13893 st_uid and st_gid of the file.
13894
13895 2008-01-26 Jason Rumney <jasonr@gnu.org>
13896
13897 * w32.c (logon_network_drive): New function.
13898 (stat): Use it.
13899
13900 2008-01-26 Chong Yidong <cyd@stupidchicken.com>
13901
13902 * xdisp.c (pos_visible_p): Handle the case where charpos falls on
13903 invisible text covered with an ellipsis.
13904
13905 2008-01-25 Richard Stallman <rms@gnu.org>
13906
13907 * xdisp.c (redisplay_window): Run Qwindow_text_change_functions and
13908 jump back to beginning. Move some other initializations after that.
13909 (Qwindow_text_change_functions, Vwindow_text_change_functions):
13910 New variables.
13911 (syms_of_xdisp): Init them.
13912
13913 * keyboard.c (read_char): Restore echo_message_buffer after redisplay.
13914
13915 * buffer.c (reset_buffer_local_variables):
13916 Implement `permanent-local-hook'.
13917 (Qpermanent_local_hook): New variable.
13918 (syms_of_buffer): Init and staticpro it.
13919
13920 2008-01-25 Michael Albinus <michael.albinus@gmx.de>
13921
13922 * dbusbind.c (xd_retrieve_arg): Pacify GCC on x86_64 GNU/Linux.
13923
13924 2008-01-25 Thien-Thi Nguyen <ttn@gnuvola.org>
13925
13926 * fns.c (Fclrhash): Return TABLE.
13927
13928 2008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13929
13930 * macterm.c (x_scroll_bar_create): Initialize bar->redraw_needed_p.
13931 (XTset_vertical_scroll_bar): Redraw scroll bar if bar->redraw_needed_p
13932 is set even without positional changes.
13933 (x_scroll_bar_clear): Set bar->redraw_needed_p.
13934
13935 * macterm.h (struct scroll_bar): New member `redraw_needed_p'.
13936
13937 2008-01-23 Jason Rumney <jasonr@gnu.org>
13938
13939 * xterm.c (handle_one_xevent): Revert to counting chars not bytes.
13940
13941 * w32term.c (w32_read_socket) <WM_CHAR>: Decode characters outside
13942 the unicode range available in MULE by locale-coding-system.
13943 Improve dbcs lead byte detection. Set event timestamp and modifiers
13944 earlier.
13945
13946 2008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13947
13948 * mac.c (mac_emacs_pid) [MAC_OSX]: New variable.
13949 [MAC_OSX] (init_mac_osx_environment): Initialize it.
13950 [MAC_OSX] (mac_try_close_socket) [SELECT_USE_CFSOCKET]: Return 0
13951 when used on child processes.
13952
13953 2008-01-21 Michael Albinus <michael.albinus@gmx.de>
13954
13955 * dbusbind.c (Fdbus_method_return_internal): Rename from
13956 Fdbus_method_return.
13957 (Fdbus_unregister_object): Move to dbus.el.
13958 (Fdbus_call_method, Fdbus_method_return_internal)
13959 (Fdbus_send_signal): Improve debug messages.
13960
13961 2008-01-20 Martin Rudalics <rudalics@gmx.at>
13962
13963 * undo.c (undo_inhibit_record_point): New variable.
13964 (syms_of_undo): Initialize it.
13965 (record_point): Don't record point when undo_inhibit_record_point
13966 is set.
13967
13968 2008-01-19 Stefan Monnier <monnier@iro.umontreal.ca>
13969
13970 * process.c (list_processes_1): Don't use SCHARS on a nil buffer name.
13971
13972 * xdisp.c (Qauto_hscroll_mode): New var.
13973 (syms_of_xdisp): Initialize it.
13974 (hscroll_window_tree): Use it to lookup `auto-hscroll-mode' in each
13975 window's buffer.
13976 (hscroll_windows): Don't check automatic_hscrolling_p here.
13977
13978 * window.c (set_window_buffer): Don't unnecessarily reset hscroll and
13979 vscroll if we're setting window-buffer to the value it already has.
13980
13981 2008-01-18 Dan Nicolaescu <dann@ics.uci.edu>
13982
13983 * m/intel386.h: Remove references to XENIX.
13984
13985 2008-01-17 Andreas Schwab <schwab@suse.de>
13986
13987 * m/amdx86-64.h (START_FILES, LIB_STANDARD): Use HAVE_LIB64_DIR
13988 instead of HAVE_X86_64_LIB64_DIR.
13989 * m/ibms390x.h (START_FILES, LIB_STANDARD): Likewise.
13990
13991 2008-01-17 Glenn Morris <rgm@gnu.org>
13992
13993 * m/ibms390x.h (START_FILES, LIB_STANDARD): Adjust value according
13994 to HAVE_X86_64_LIB64_DIR.
13995
13996 2008-01-16 Dan Nicolaescu <dann@ics.uci.edu>
13997
13998 * s/irix3-3.h:
13999 * s/irix4-0.h:
14000 * s/386-ix.h:
14001 * s/domain.h:
14002 * s/hpux9-x11r4.h:
14003 * s/hpux9shxr4.h: Remove files for systems no longer supported.
14004
14005 * sysdep.c: Remove code containing references to symbols defined
14006 by unsupported systems.
14007
14008 2008-01-16 Glenn Morris <rgm@gnu.org>
14009
14010 * coding.c (select-safe-coding-system-function): Doc fix.
14011
14012 2008-01-15 Glenn Morris <rgm@gnu.org>
14013
14014 * config.in: Revert 2008-01-13 change: this is a generated file.
14015
14016 2008-01-13 Tom Tromey <tromey@redhat.com>
14017
14018 * lisp.h: Fix typo.
14019
14020 2008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
14021
14022 * m/sequent-ptx.h:
14023 * m/sequent.h:
14024 * s/ptx.h:
14025 * s/ptx4-2.h:
14026 * s/ptx4.h: Remove files for systems no longer supported.
14027
14028 * callproc.c (Fcall_process): Fix previous change.
14029
14030 2008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
14031
14032 * unexsunos4.c: Remove file, system not supported anymore.
14033
14034 * m/mips.h:
14035 * m/intel386.h:
14036 * callproc.c:
14037 * config.in:
14038 * ecrt0.c:
14039 * emacs.c:
14040 * fileio.c:
14041 * frame.c:
14042 * getpagesize.h:
14043 * keyboard.c:
14044 * lread.c:
14045 * process.c:
14046 * puresize.h:
14047 * sysdep.c:
14048 * systty.h:
14049 * syswait.h:
14050 * unexec.c:
14051 * xdisp.c:
14052 * alloc.c: Remove code containing references to symbols defined by
14053 unsupported systems.
14054
14055 2008-01-11 Kenichi Handa <handa@ni.aist.go.jp>
14056
14057 * coding.c (detect_coding_mask): Fix previous change.
14058
14059 2008-01-09 Kenichi Handa <handa@ni.aist.go.jp>
14060
14061 * coding.c (detect_coding_iso2022): New arg
14062 latin_extra_code_state. Allow Latin extra codes only
14063 when *latin_extra_code_state is nonzero.
14064 (detect_coding_mask): If there is a NULL byte, detect the encoding
14065 as UTF-16 or binary. If Latin extra codes exist, detect the
14066 encoding as ISO-2022 only when there's no other proper encoding is
14067 found.
14068
14069 2008-01-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14070
14071 * frame.c (Fmake_terminal_frame): Use #ifdef MAC_OS8 instead of
14072 #ifdef MAC_OS.
14073
14074 2008-01-08 Richard Stallman <rms@gnu.org>
14075
14076 * fileio.c (Ffile_name_directory, Fexpand_file_name): Doc fixes.
14077
14078 2008-01-06 Nick Roberts <nickrob@snap.net.nz>
14079
14080 * keyboard.c (parse_menu_item): Don't enclose key bindings on
14081 menu bar in parentheses.
14082
14083 2008-01-06 Dan Nicolaescu <dann@ics.uci.edu>
14084
14085 * m/7300.h:
14086 * m/acorn.h:
14087 * m/alliant-2800.h:
14088 * m/alliant.h:
14089 * m/alliant1.h:
14090 * m/alliant4.h:
14091 * m/altos.h:
14092 * m/amdahl.h:
14093 * m/apollo.h:
14094 * m/att3b.h:
14095 * m/aviion-intel.h:
14096 * m/aviion.h:
14097 * m/celerity.h:
14098 * m/clipper.h:
14099 * m/cnvrgnt.h:
14100 * m/convex.h:
14101 * m/cydra5.h:
14102 * m/delta88k.h:
14103 * m/dpx2.h:
14104 * m/dual.h:
14105 * m/elxsi.h:
14106 * m/f301.h:
14107 * m/gould-np1.h:
14108 * m/gould.h:
14109 * m/i860.h:
14110 * m/ibmps2-aix.h:
14111 * m/ibmrt-aix.h:
14112 * m/ibmrt.h:
14113 * m/irist.h:
14114 * m/is386.h:
14115 * m/isi-ov.h:
14116 * m/mega68.h:
14117 * m/mg1.h:
14118 * m/news-r6.h:
14119 * m/news-risc.h:
14120 * m/news.h:
14121 * m/nh3000.h:
14122 * m/nh4000.h:
14123 * m/ns16000.h:
14124 * m/ns32000.h:
14125 * m/nu.h:
14126 * m/orion.h:
14127 * m/orion105.h:
14128 * m/paragon.h:
14129 * m/pfa50.h:
14130 * m/plexus.h:
14131 * m/pyramid.h:
14132 * m/pyrmips.h:
14133 * m/sh3el.h:
14134 * m/sps7.h:
14135 * m/sr2k.h:
14136 * m/stride.h:
14137 * m/sun1.h:
14138 * m/sun2.h:
14139 * m/sun3-68881.h:
14140 * m/sun3-fpa.h:
14141 * m/sun3-soft.h:
14142 * m/sun3.h:
14143 * m/sun386.h:
14144 * m/symmetry.h:
14145 * m/tad68k.h:
14146 * m/tahoe.h:
14147 * m/targon31.h:
14148 * m/tek4300.h:
14149 * m/tekxd88.h:
14150 * m/tower32.h:
14151 * m/tower32v3.h:
14152 * m/ustation.h:
14153 * m/wicat.h:
14154 * m/xps100.h:
14155 * s/cxux.h:
14156 * s/cxux7.h:
14157 * s/dgux.h:
14158 * s/dgux4.h:
14159 * s/dgux5-4-3.h:
14160 * s/dgux5-4r2.h:
14161 * s/esix.h:
14162 * s/esix5r4.h:
14163 * s/hiuxmpp.h:
14164 * s/hiuxwe2.h:
14165 * s/iris3-5.h:
14166 * s/iris3-6.h:
14167 * s/isc2-2.h:
14168 * s/isc3-0.h:
14169 * s/isc4-0.h:
14170 * s/isc4-1.h:
14171 * s/newsos5.h:
14172 * s/newsos6.h:
14173 * s/osf1.h:
14174 * s/osf5-0.h:
14175 * s/riscix1-1.h:
14176 * s/riscix12.h:
14177 * s/sco4.h:
14178 * s/sco5.h:
14179 * s/sunos4-0.h:
14180 * s/sunos4-1.h:
14181 * s/sunos413.h:
14182 * s/sunos4shr.h:
14183 * s/umax.h:
14184 * s/unipl5-2.h:
14185 * s/xenix.h:
14186 * cxux-crt0.s:
14187 * unexapollo.c:
14188 * unexconvex.c:
14189 * unexenix.c:
14190 * unexsni.c: Remove files for systems no longer supported.
14191
14192 * m/intel386.h: Remove references to unsupported systems.
14193
14194 * w32.c (get_emacs_configuration): Remove reference to i860.
14195
14196 * sysdep.c: Remove dead code.
14197
14198 2008-01-05 Dan Nicolaescu <dann@ics.uci.edu>
14199
14200 * s/rtu.h:
14201 * m/masscomp.h: Remove files. Platform is obsolete.
14202
14203 2008-01-04 Michael Albinus <michael.albinus@gmx.de>
14204
14205 * dbusbind.c (Fdbus_method_return): New function.
14206 (xd_read_message): Add the serial number to the event.
14207 (Fdbus_register_method): Activate the function.
14208
14209 2008-01-03 Stefan Monnier <monnier@iro.umontreal.ca>
14210
14211 * keyboard.c (read_key_sequence): Fix typo.
14212
14213 2008-01-03 Michael Albinus <michael.albinus@gmx.de>
14214
14215 * dbusbind.c (all): Replace XCAR by CAR_SAFE and XCDR by CDR_SAFE.
14216 (xd_signature, xd_append_arg): Handle element type detection for
14217 empty arrays.
14218 (Fdbus_call_method, Fdbus_send_signal): Undo type casting for
14219 SDATA () calls; this must be solved more general.
14220 (Fdbus_register_signal): Use SBYTES instead of strlen.
14221
14222 2008-01-03 Magnus Henoch <magnus@zemdatav>
14223
14224 * dbusbind.c (xd_append_arg): Use unsigned char instead of
14225 unsigned int for byte values (necessary for big-endian platform).
14226 (Fdbus_call_method): Handle the case of no returned arguments.
14227
14228 2007-12-31 Tom Tromey <tromey@redhat.com> (tiny change)
14229
14230 * dbusbind.c (xd_read_message): Use non-static input_event struct.
14231
14232 2007-12-31 Magnus Henoch <mange@freemail.hu>
14233
14234 * dbusbind.c (xd_signature): Signature of variant is just "v".
14235
14236 2007-12-30 Michael Albinus <michael.albinus@gmx.de>
14237
14238 * dbusbind.c: Fix several errors and compiler warnings.
14239 Reported by Tom Tromey <tromey@redhat.com>.
14240 (XD_ERROR, XD_DEBUG_MESSAGE)
14241 (XD_DEBUG_VALID_LISP_OBJECT_P): Wrap code with "do ... while (0)".
14242 (xd_append_arg): Part for basic D-Bus types rewritten.
14243 (xd_retrieve_arg): Split implementation of DBUS_TYPE_BYTE and
14244 DBUS_TYPE_(U)INT16. Don't call XD_DEBUG_MESSAGE with "%f" if not
14245 appropriate.
14246 (xd_read_message): Return Qnil. Don't signal an error; it is not
14247 useful during event reading.
14248 (Fdbus_register_signal): Signal an error if the check for
14249 FUNCTIONP fails.
14250 (Fdbus_register_method): New function. The implementation is not
14251 complete, the call of the function signals an error therefore.
14252 (Fdbus_unregister_object): New function, renamed from
14253 Fdbus_unregister_signal. The initial check signals an error, if
14254 the object is not well formed.
14255
14256 2007-12-30 Richard Stallman <rms@gnu.org>
14257
14258 * textprop.c (get_char_property_and_overlay):
14259 Signal error if POSITION is out of range in a buffer.
14260
14261 2007-12-29 Martin Rudalics <rudalics@gmx.at>
14262
14263 * w32fns.c (Fx_create_frame): Make copy of frame parameters
14264 because the original parameters are in pure storage now.
14265
14266 2007-12-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14267
14268 * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area.
14269
14270 2007-12-22 Eli Zaretskii <eliz@gnu.org>
14271
14272 * callint.c (syms_of_callint) <command-history>: Add reference to
14273 history-length in the doc string.
14274
14275 2007-12-17 Jason Rumney <jasonr@gnu.org>
14276
14277 * w32fns.c (w32_wnd_proc) <WM_KEYDOWN>: Cast char to unsigned
14278 before passing as wParam.
14279
14280 2007-12-22 Michael Albinus <michael.albinus@gmx.de>
14281
14282 * dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_BYTE,
14283 DBUS_TYPE_INT16, DBUS_TYPE_UINT16, DBUS_TYPE_INT64,
14284 DBUS_TYPE_UINT64, DBUS_TYPE_DOUBLE and DBUS_TYPE_SIGNATURE.
14285 Return float when DBUS_TYPE_INT32 or DBUS_TYPE_UINT32 do not fit
14286 as number.
14287 (Fdbus_call_method): Fix docstring.
14288
14289 2007-12-21 Michael Albinus <michael.albinus@gmx.de>
14290
14291 * dbusbind.c (XD_BASIC_DBUS_TYPE, XD_DBUS_TYPE_P, XD_NEXT_VALUE):
14292 New macros.
14293 (XD_SYMBOL_TO_DBUS_TYPE): Rename from XD_LISP_SYMBOL_TO_DBUS_TYPE.
14294 (XD_OBJECT_TO_DBUS_TYPE): Rename from XD_LISP_OBJECT_TO_DBUS_TYPE.
14295 Simplify.
14296 (xd_signature): New function.
14297 (xd_append_arg): Compute also signatures. Major rewrite.
14298 (xd_retrieve_arg): Make debug messages friendly.
14299 (Fdbus_call_method, Fdbus_send_signal): Extend docstring.
14300 Check for signatures of arguments.
14301
14302 2007-12-19 Michael Albinus <michael.albinus@gmx.de>
14303
14304 * dbusbind.c (QCdbus_type_byte, QCdbus_type_boolean)
14305 (QCdbus_type_int16, QCdbus_type_uint16, QCdbus_type_int32)
14306 (QCdbus_type_uint32, QCdbus_type_int64, QCdbus_type_uint64)
14307 (QCdbus_type_double, QCdbus_type_string, QCdbus_type_object_path)
14308 (QCdbus_type_signature, QCdbus_type_array, QCdbus_type_variant)
14309 (QCdbus_type_struct, QCdbus_type_dict_entry): New D-Bus type symbols.
14310 (XD_LISP_SYMBOL_TO_DBUS_TYPE): New macro.
14311 (XD_LISP_OBJECT_TO_DBUS_TYPE): Add compound types.
14312 (xd_retrieve_value): Remove. Functionality included in ...
14313 (xd_append_arg): New function.
14314 (Fdbus_call_method, Fdbus_send_signal): Apply it.
14315
14316 2007-12-16 Michael Albinus <michael.albinus@gmx.de>
14317
14318 * dbusbind.c (top): Include <stdio.h>.
14319 (Fdbus_call_method, Fdbus_send_signal): Apply type cast in
14320 dbus_message_new_method_call and dbus_message_new_signal.
14321 (Fdbus_register_signal): Rename unique_name to uname.
14322 Check handler for FUNCTIONP instead of CHECK_SYMBOL. Handle case of
14323 non-existing unique name. Fix typos in matching rule. Return an
14324 object which is useful in Fdbus_unregister_signal.
14325 (Fdbus_unregister_signal): Reimplementation, in order to remove
14326 only the corresponding entry.
14327 (Vdbus_registered_functions_table): Change the order of entries.
14328 Apply these changes in xd_read_message and Fdbus_register_signal.
14329
14330 2007-12-16 Andreas Schwab <schwab@suse.de>
14331
14332 * fileio.c (Finsert_file_contents): Fix overflow check to not
14333 depend on undefined integer overflow.
14334
14335 2007-12-14 Jason Rumney <jasonr@gnu.org>
14336
14337 * w32term.c (w32_read_socket): Use MULTIBYTE_CHAR_KEYSTROKE_EVENT
14338 for characters above 127.
14339
14340 2007-12-13 Jason Rumney <jasonr@gnu.org>
14341
14342 * w32fns.c (w32_wnd_proc, Fw32_reconstruct_hot_key): Range check
14343 before dereferencing array.
14344 (lookup_vk_code): Remove zero comparison.
14345
14346 2007-12-14 Michael Albinus <michael.albinus@gmx.de>
14347
14348 * dbusbind.c (xd_retrieve_value, xd_retrieve_arg)
14349 (Fdbus_call_method, Fdbus_send_signal, xd_read_message):
14350 Use `unsigned int' instead of `uint'.
14351 (xd_read_message, Fdbus_register_signal): Split expressions into
14352 multiple lines before operators "&&" and "||", according to the
14353 GNU Coding Standards.
14354
14355 2007-12-14 Eli Zaretskii <eliz@gnu.org>
14356
14357 * dispextern.h (WINDOWS_NT): Fix incorrect spelling of WINDOWSNT.
14358
14359 2007-12-12 Juri Linkov <juri@jurta.org>
14360
14361 * buffer.c (Frename_buffer): In interactive spec replace
14362 `read-buffer' with `read-string' that uses `buffer-name-history'
14363 as history, and the current buffer's name as default.
14364
14365 2007-12-10 Stefan Monnier <monnier@iro.umontreal.ca>
14366
14367 * keyboard.c (Fcommand_execute): Call Qcall_interactively instead of
14368 manipulating the backtrace manually.
14369 (make_lispy_event): Merge the ASCII and MULTIBYTE cases.
14370 (struct backtrace, backtrace_list): Remove.
14371 (command_loop_1): Remove dead var `no_direct'.
14372
14373 * buffer.c (reset_buffer_local_variables): If permanent_too is 0, also
14374 preserve non-built-in buffer-local variables.
14375 (Fkill_all_local_variables): Don't re-create&re-set permanent
14376 buffer-local variables.
14377
14378 2007-12-09 Juri Linkov <juri@jurta.org>
14379
14380 * buffer.c (Frename_buffer): Change interactive spec from "s" to
14381 Lisp code that uses `read-buffer' with current buffer as default.
14382
14383 2007-12-08 Michael Albinus <michael.albinus@gmx.de>
14384
14385 * dbusbind.c (xd_read_message): Generate an event for every
14386 registered handler. There might be several handlers registered
14387 for the same signal.
14388 (Fdbus_register_signal): Don't overwrite a registration for the
14389 same signal. Add a new registration if handlers are different.
14390 (Vdbus_registered_functions_table): Rework doc string.
14391
14392 2007-12-07 Michael Albinus <michael.albinus@gmx.de>
14393
14394 * dbusbind.c (Fdbus_get_unique_name, xd_read_message)
14395 (Fdbus_register_signal): Use DBUS_MAXIMUM_NAME_LENGTH and
14396 DBUS_MAXIMUM_MATCH_RULE_LENGTH for string lengths.
14397 (Fdbus_call_method, Fdbus_send_signal, Fdbus_register_signal):
14398 Unify argument lists.
14399 (xd_read_message, Fdbus_register_signal): Reorder and extend event
14400 arguments and hash table keys. Use unique name for service.
14401 (Fdbus_unregister_signal): Remove checks.
14402 (Vdbus_registered_functions_table): Fix doc string.
14403
14404 2007-12-05 Magnus Henoch <mange@freemail.hu>
14405
14406 * process.c (make_process): Initialize pty_flag to 0.
14407
14408 2007-12-05 Jason Rumney <jasonr@gnu.org>
14409
14410 * image.c (xbm_load) [WINDOWSNT]: Shuffle the bits of directly
14411 specified XBMs.
14412
14413 2007-12-05 Richard Stallman <rms@gnu.org>
14414
14415 * xdisp.c (syms_of_xdisp) <scroll-conservatively>: Doc fix.
14416
14417 2007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14418
14419 * mac.c (cfsockets_for_select) [MAC_OSX && SELECT_USE_CFSOCKET]:
14420 New variable.
14421 (mac_try_close_socket) [MAC_OSX]: New function.
14422 [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]:
14423 Update cfsockets_for_select. Replace invalid CFRunLoop source.
14424
14425 * sysdep.c (emacs_close) [MAC_OSX && HAVE_CARBON]:
14426 Use mac_try_close_socket.
14427
14428 2007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14429
14430 * unexmacosx.c (unrelocate): New argument BASE. Use it instead of
14431 reloc_base.
14432 (copy_dysymtab): Compute relocation base here.
14433 (rebase_reloc_address) [__ppc64__]: New function.
14434 (copy_dysymtab) [__ppc64__]: Use it if relocation base needs to be
14435 changed.
14436
14437 2007-12-05 Jason Rumney <jasonr@gnu.org>
14438
14439 * w32proc.c (sys_spawnve): Quote args with wildcards.
14440
14441 2007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14442
14443 * unexmacosx.c (copy_data_segment): Also copy __gcc_except_tab and
14444 __objc_* sections.
14445 (unrelocate) [_LP64]: Set relocation base to address of data segment.
14446
14447 2007-12-05 Michael Albinus <michael.albinus@gmx.de>
14448
14449 * dbusbind.c (xd_read_message): Return value is a Lisp_Object.
14450 Move check for Vdbus_registered_functions_table to
14451 xd_read_queued_messages.
14452 (xd_read_queued_messages): Protect xd_read_message calls by
14453 internal_condition_case_1.
14454
14455 2007-12-04 Michael Albinus <michael.albinus@gmx.de>
14456
14457 * dbusbind.c (QCdbus_system_bus, QCdbus_session_bus): Rename from
14458 Qdbus_system_bus and Qdbus_session_bus, respectively.
14459 (Vdbus_intern_symbols): Remove.
14460 (Vdbus_registered_functions_table): New hash table.
14461 (XD_SYMBOL_INTERN_SYMBOL): Remove.
14462 (xd_read_message, Fdbus_register_signal, Fdbus_unregister_signal):
14463 Rewrite in order to manage registered functions by hash table
14464 Vdbus_registered_functions_table.
14465
14466 2007-12-03 Jan Djärv <jan.h.d@swipnet.se>
14467
14468 * xterm.c: Update URL to Window Manager Specification in comment.
14469
14470 2007-12-02 Michael Albinus <michael.albinus@gmx.de>
14471
14472 * config.in (HAVE_DBUS): Add.
14473
14474 * Makefile.in (HAVE_DBUS): Add D-Bus definitions if defined.
14475 (ALL_CFLAGS): Add ${DBUS_CFLAGS}.
14476 (obj): Add $(DBUS_OBJ).
14477 (LIBES): Add $(DBUS_LIBS).
14478 (dbusbind.o): New target.
14479
14480 * dbusbind.c: New file.
14481
14482 * emacs.c (main): Call syms_of_dbusbind when HAVE_DBUS is defined.
14483
14484 * keyboard.c: All D-Bus related code is wrapped by "#ifdef HAVE_DBUS".
14485 (Qdbus_event): New Lisp symbol.
14486 (kbd_buffer_get_event, make_lispy_event): Handle DBUS_EVENT.
14487 (gobble_input): Call xd_read_queued_messages, reading D-Bus messages.
14488 (keys_of_keyboard): Define dbus-event.
14489
14490 * termhooks.h (event_kind): Add DBUS_EVENT when HAVE_DBUS is defined.
14491
14492 2007-12-01 Richard Stallman <rms@gnu.org>
14493
14494 * search.c (syms_of_search) <inhibit-changing-match-data>: Doc fix.
14495
14496 2007-11-30 Jason Rumney <jasonr@gnu.org>
14497
14498 * w32console.c (w32con_ins_del_lines, scroll_line): Clip to window.
14499 (w32con_reset_terminal_modes): Clear screen buffer.
14500 (w32_face_attributes): Don't use color indexes that are out of range.
14501 Only reverse the default colors.
14502
14503 * xfaces.c (map_tty_color, tty_color_name): Remove special case for
14504 WINDOWSNT.
14505
14506 * w32console.c, w32term.h (vga_stdcolor_name): Remove.
14507
14508 2007-11-29 Jason Rumney <jasonr@gnu.org>
14509
14510 * w32console.c: Leave HAVE_WINDOW_SYSTEM defined.
14511 (w32_face_attributes): Use Vtty_defined_color_alist to determine
14512 if the terminal colors are initialized.
14513 (unspecified_fg, unspecified_bg): Remove unused declarations.
14514
14515 2007-11-29 Andreas Schwab <schwab@suse.de>
14516
14517 * keyboard.c (apply_modifiers): Fix typo.
14518
14519 2007-11-29 Richard Stallman <rms@gnu.org>
14520
14521 * keymap.c (Fcurrent_local_map): Doc fix.
14522
14523 2007-11-28 Petr Salinger <Petr.Salinger@seznam.cz> (tiny change)
14524
14525 * s/gnu-kfreebsd.h: New file.
14526
14527 2007-11-28 Stefan Monnier <monnier@iro.umontreal.ca>
14528
14529 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
14530 Don't cast redundantly.
14531
14532 * keyboard.c (KEY_TO_CHAR): New macro.
14533 (parse_modifiers, apply_modifiers): Accept integer arguments.
14534 (read_key_sequence): Use them to unify the "shift->unshift" mapping
14535 for chars and symbol keys.
14536 After doing such remapping, apply function-key-map again.
14537
14538 2007-11-27 Dan Nicolaescu <dann@ics.uci.edu>
14539
14540 * Makefile.in (SOME_MACHINE_LISP): Remove VMS files, they are not
14541 compiled anymore.
14542
14543 2007-11-26 Andreas Schwab <schwab@suse.de>
14544
14545 * process.c (list_processes_1): Fix indentation level of the
14546 command column.
14547
14548 2007-11-23 Andreas Schwab <schwab@suse.de>
14549
14550 * editfns.c (Fformat): Handle %c specially since it requires the
14551 argument to be of type int.
14552
14553 2007-11-23 Markus Triska <markus.triska@gmx.at>
14554
14555 * emacs.c (main): Call init_editfns before init_process, since
14556 init_process sets Vprocess_connection_type depending on OS release.
14557
14558 2007-11-22 Stefan Monnier <monnier@iro.umontreal.ca>
14559
14560 * data.c (do_symval_forwarding): Use same code as in find_symbol_value.
14561 (find_symbol_value): Use do_symval_forwarding.
14562
14563 * data.c (set_internal): Set the value in the `cons-cell' (for
14564 Buffer_Local_values) not only for frame-local variables.
14565
14566 2007-11-22 Andreas Schwab <schwab@suse.de>
14567
14568 * data.c (Fnumber_to_string): Add cast when passing EMACS_INT
14569 values to sprintf.
14570 * keymap.c (Fsingle_key_description): Likewise.
14571 * print.c (print_object): Likewise.
14572
14573 2007-11-22 Jan Djärv <jan.h.d@swipnet.se>
14574
14575 * gtkutil.c (update_frame_tool_bar): Don't call x-gtk-map-stock if
14576 file for image is nil.
14577
14578 2007-11-22 Dan Nicolaescu <dann@ics.uci.edu>
14579
14580 * term.c: Include stdarg.h.
14581 (fatal): Implement using varargs.
14582 * lisp.h (fatal): Add argument types. (Restore 2005-09-30 change).
14583
14584 2007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
14585
14586 * lisp.h (struct Lisp_Buffer_Objfwd): Add a `slottype' field.
14587 * data.c (store_symval_forwarding): Get type from buffer_objfwd.
14588 Update call to buffer_slot_type_mismatch.
14589 * buffer.h (buffer_local_types, PER_BUFFER_TYPE): Remove.
14590 (buffer_slot_type_mismatch): Update.
14591 * buffer.c (buffer_local_types): Remove.
14592 (buffer_slot_type_mismatch): Get the symbol and type as arguments.
14593 (defvar_per_buffer): Set the type in the buffer_objfwd.
14594
14595 2007-11-21 Jason Rumney <jasonr@gnu.org>
14596
14597 * w32bdf.c (w32_init_bdf_font, w32_BDF_to_x_font):
14598 CreateFileMapping returns NULL on failure.
14599
14600 2007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
14601
14602 * search.c (Fset_match_data): Remove the `evaporate' feature.
14603 (unwind_set_match_data): Don't use the `evaporate' feature.
14604
14605 2007-11-21 Jason Rumney <jasonr@gnu.org>
14606
14607 * dispnew.c (init_display) [WINDOWSNT]: Hardcode terminal_type.
14608
14609 * w32console.c (w32con_write_glyphs): Remove unused variables.
14610
14611 2007-11-20 Dan Nicolaescu <dann@ics.uci.edu>
14612
14613 * macterm.c (mac_term_init): Call add_keyboard_wait_descriptor.
14614
14615 * s/darwin.h (MULTI_KBOARD): Remove.
14616
14617 * macfns.c (x_create_tip_frame, Fx_create_frame)
14618 (x_create_tip_frame): Don't deal with MULTI_KBOARD.
14619
14620 2007-11-19 Stefan Monnier <monnier@iro.umontreal.ca>
14621
14622 * buffer.c (Fbuffer_local_value): Remove redundant test.
14623 (swap_out_buffer_local_variables): Swap out binding in `buffer' rather
14624 than in `current-buffer' to match the comment.
14625 Do the swap using swap_in_global_binding.
14626
14627 * data.c (store_symval_forwarding, set_internal):
14628 * eval.c (specbind): Remove dead code.
14629
14630 * coding.c (detect_coding, Fupdate_coding_systems_internal):
14631 * fns.c (Fmd5): Use find_symbol_value rather than SYMBOL_VALUE
14632 Since we do not want to see internal Lisp_*fwd objects here.
14633
14634 2007-11-18 Jan Djärv <jan.h.d@swipnet.se>
14635
14636 * sysdep.c (init_system_name): Use getaddrinfo if available.
14637
14638 * xterm.c (x_scroll_bar_set_handle, x_scroll_bar_handle_click)
14639 (x_scroll_bar_note_movement): start, end, with, height in struct
14640 scroll_bar are integers and not Lisp_Object, so remove XINT for them.
14641
14642 2007-11-17 Dan Nicolaescu <dann@ics.uci.edu>
14643
14644 * puresize.h (BASE_PURESIZE): Increase to 1190000.
14645
14646 2007-11-16 Stefan Monnier <monnier@iro.umontreal.ca>
14647
14648 * buffer.h (struct buffer): Move `undo_list' back to before `name'.
14649 This undoes Richard's change of 14-Oct-2002.
14650
14651 * alloc.c (allocate_other_vector):
14652 * lisp.h (allocate_other_vector): Remove.
14653
14654 * window.c (struct save_window_data): Move non-lisp data to the end
14655 and make it `int' rather than Lisp_Object.
14656 (Fcurrent_window_configuration): Use ALLOCATE_PSEUDOVECTOR.
14657 Done wrap/unwrap integer values.
14658 (Fset_window_configuration, compare_window_configurations):
14659 Update use of fields to their new types.
14660
14661 * xterm.h (struct scroll_bar): Only use Lisp_Object for lisp data.
14662 Turn integer fields into `int'. Merge x_window_low and x_window_high.
14663 (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK, SCROLL_BAR_X_WINDOW)
14664 (SET_SCROLL_BAR_X_WINDOW): Remove.
14665 (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET):
14666 Access the new x_window field directly.
14667 * xterm.c (x_scroll_bar_create): Use a pseudovector.
14668 Don't wrap/unwrap integers into Lisp_Objects.
14669 (XTset_vertical_scroll_bar, x_scroll_bar_handle_click)
14670 (x_scroll_bar_report_motion):
14671 Don't wrap/unwrap integers into Lisp_Objects.
14672 (x_term_init): Use SDATA.
14673 (x_window_to_scroll_bar, x_create_toolkit_scroll_bar)
14674 (x_scroll_bar_set_handle, x_scroll_bar_remove)
14675 (XTset_vertical_scroll_bar, x_scroll_bar_expose)
14676 (x_scroll_bar_report_motion, x_scroll_bar_clear):
14677 * xfns.c (x_set_background_color):
14678 * gtkutil.c (xg_create_scroll_bar, xg_set_toolkit_scroll_bar_thumb):
14679 Access the new x_window field directly.
14680
14681 * alloc.c (ALLOCATE_PSEUDOVECTOR): Move to lisp.h.
14682 (allocate_pseudovector): Make non-static.
14683
14684 * lisp.h (enum pvec_type): New tag PVEC_OTHER.
14685 (allocate_pseudovector): Declare.
14686 (ALLOCATE_PSEUDOVECTOR): Move from alloc.c.
14687
14688 2007-11-15 Andreas Schwab <schwab@suse.de>
14689
14690 * editfns.c (Fformat): Correctly format EMACS_INT values.
14691 Also take precision into account when formatting an integer.
14692
14693 * keyboard.c (Fevent_symbol_parse_modifiers): Fix declaration.
14694
14695 2007-11-15 Stefan Monnier <monnier@iro.umontreal.ca>
14696
14697 * keyboard.c (Fevent_symbol_parse_modifiers): New function.
14698 (syms_of_keyboard): Defsubr it.
14699
14700 * data.c (swap_in_global_binding): Fix longstanding bug where
14701 store_symval_forwarding was not called with the right second argument,
14702 thus causing objfwd-ing from being dropped.
14703
14704 2007-11-14 Juanma Barranquero <lekktu@gmail.com>
14705
14706 * macfns.c (Fx_create_frame, Fx_display_pixel_width)
14707 (Fx_display_pixel_height, Fx_display_planes)
14708 (Fx_display_color_cells, Fx_server_max_request_size)
14709 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
14710 (Fx_display_visual_class, Fx_display_save_under):
14711 * w32fns.c (Fx_create_frame, Fx_display_pixel_width)
14712 (Fx_display_pixel_height, Fx_display_planes)
14713 (Fx_display_color_cells, Fx_server_max_request_size)
14714 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
14715 (Fx_display_mm_height, Fx_display_mm_width)
14716 (Fx_display_backing_store, Fx_display_visual_class)
14717 (Fw32_select_font, Fx_display_save_under):
14718 * xfns.c (Fx_create_frame, Fx_display_pixel_width)
14719 (Fx_display_pixel_height, Fx_display_planes)
14720 (Fx_display_color_cells, Fx_server_max_request_size)
14721 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
14722 (Fx_display_save_under): Fix typos in docstrings.
14723
14724 2007-11-14 Juanma Barranquero <lekktu@gmail.com>
14725
14726 * w32fns.c (Fw32_registered_hot_keys): Don't return the nil values
14727 corresponding to deleted entries; they are an implementation detail.
14728 (gray_bitmap_width, gray_bitmap_height, gray_bitmap_bits):
14729 Remove variables.
14730 (w32_pass_extra_mouse_buttons_to_system, w32_strict_fontnames)
14731 (w32_pass_multimedia_buttons_to_system, w32_strict_painting)
14732 (Vw32_charset_info_alist, w32_to_x_color, w32_init_class)
14733 (w32_createscrollbar, w32_createwindow, my_post_msg, w32_get_modifiers)
14734 (w32_grabbed_keys, cancel_all_deferred_msgs): Make static.
14735 (Fw32_define_rgb_color, Fw32_load_color_file)
14736 (syms_of_w32fns) <w32-pass-multimedia-buttons-to-system>:
14737 Fix typos in docstrings.
14738 (Fx_server_version): Reflow docstring.
14739 (Fw32_shell_execute): Doc fixes.
14740
14741 2007-11-13 Juanma Barranquero <lekktu@gmail.com>
14742
14743 * w32fns.c (Fw32_register_hot_key): Don't try to register hot key
14744 if w32_parse_hot_key returned nil.
14745
14746 2007-11-10 Stefan Monnier <monnier@iro.umontreal.ca>
14747
14748 * xdisp.c (load_overlay_strings): Fix copy&paste typo.
14749
14750 2007-11-09 Jason Rumney <jasonr@gnu.org>
14751
14752 * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define.
14753
14754 * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT.
14755
14756 * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]:
14757 Remove W32_SCROLL_BAR_CLICK_EVENT.
14758
14759 * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise.
14760 Add MULTIMEDIA_KEY_EVENT.
14761
14762 * keyboard.c (lispy_function_keys) [WINDOWSNT]: Add more keys.
14763 (lispy_multimedia_keys) [WINDOWSNT]: New array.
14764 (make_lispy_event) [WINDOWSNT]: Use it to translate
14765 MULTIMEDIA_KEY_EVENT.
14766
14767 * w32term.h (WM_APPCOMMAND): Define if not already.
14768 (GET_APPCOMMAND_LPARAM): Likewise.
14769
14770 * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from
14771 WM_APPCOMMAND.
14772
14773 * w32fns.c (w32_pass_multimedia_buttons_to_system): New user option.
14774 (syms_of_w32fns): Export and initialize it.
14775 (w32_wnd_proc): Pass WM_APPCOMMAND on to w32_read_socket.
14776
14777 2007-11-09 Chong Yidong <cyd@stupidchicken.com>
14778
14779 * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE
14780 twice.
14781
14782 * xdisp.c (handle_face_prop): Fix last change.
14783
14784 2007-11-09 Richard Stallman <rms@gnu.org>
14785
14786 * xdisp.c (handle_face_prop): Test for strings that came from overlays,
14787 not just for after-strings and before-strings.
14788 Call face_for_overlay_string and pass the overlay to it.
14789 (handle_display_prop): Determine whether property came from an overlay.
14790 Pass OVERLAY arg to handle_single_display_spec.
14791 (handle_single_display_spec): New arg OVERLAY sets it->from_overlay.
14792 (load_overlay_strings): Fill in it->string_overlays.
14793 (get_overlay_strings_1, push_it, pop_it): Handle it->from_overlays.
14794
14795 * xfaces.c (face_for_overlay_string): Function renamed from
14796 face_at_buffer_position_no_overlays, and add arg OVERLAY.
14797
14798 * dispextern.h (struct it): New elt string_overlays.
14799 New elt from_overlay, also in stack.
14800 Rearrange a few elements.
14801 (face_for_overlay_string): Decl renamed from
14802 face_at_buffer_position_no_overlays, and add argument.
14803
14804 2007-11-09 Richard Stallman <rms@gnu.org>
14805
14806 * xdisp.c (handle_face_prop): Use face_at_buffer_position_no_overlays
14807 to get the base face for an overlay string.
14808
14809 * dispextern.h (face_at_buffer_position_no_overlays): Add decl.
14810
14811 * xfaces.c (face_at_buffer_position_no_overlays): New function.
14812
14813 * xdisp.c (handle_stop): Move some code out of loop.
14814
14815 2007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14816
14817 * macfns.c [USE_ATSUI] (Fmac_atsu_font_face_attributes):
14818 Fix conversion from Lisp object to ATSUFontID.
14819
14820 2007-11-09 Jason Rumney <jasonr@gnu.org>
14821
14822 * xdisp.c (Fformat_mode_line): Do nothing when noninteractive.
14823
14824 2007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14825
14826 * unexmacosx.c (unexec_regions_recorder, unexec_regions_merge):
14827 Don't assume regions are aligned to page boundary.
14828 (print_load_command_name): Add LC_UUID if defined.
14829
14830 2007-11-09 Richard Stallman <rms@gnu.org>
14831
14832 * emacs.c (syms_of_emacs) <installation-directory>: Reflow docstring.
14833
14834 2007-11-07 Jason Rumney <jasonr@gnu.org>
14835
14836 * s/windows95.h: Remove.
14837
14838 2007-11-06 Jan Djärv <jan.h.d@swipnet.se>
14839
14840 * gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and
14841 abort with a message on unhandled store_type values.
14842
14843 2007-11-01 Jan Djärv <jan.h.d@swipnet.se>
14844
14845 * xterm.c, xfns.c, xselect.c, xterm.h, s/msdos.h, s/sco4.h, s/sco5.h:
14846 Remove HAVE_X11R5 and HAVE_X11R4.
14847
14848 2007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
14849
14850 * Makefile.in: Remove references to sunfns.c and sunfns.o.
14851
14852 2007-11-01 Johan Bockgård <bojohan@gnu.org>
14853
14854 * macterm.c, w32term.c, xterm.c (x_draw_stretch_glyph_string):
14855 Don't set s->stippled_p here, since it has already been set by
14856 x_set_glyph_string_gc from x_draw_glyph_string.
14857
14858 2007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
14859
14860 * sunfns.c: Remove file.
14861
14862 * m/sun386.h:
14863 * m/sun2.h:
14864 * m/sparc.h: Remove Sun windows code.
14865
14866 2007-10-31 Stefan Monnier <monnier@iro.umontreal.ca>
14867
14868 * keyboard.c (syms_of_keyboard): Initialize the initial_kboard.
14869 (init_keyboard): Set current_kboard's window-system to nil.
14870 (tty_read_avail_input): Typo.
14871 * frame.c (make_initial_frame): Don't initialize the initial_kboard.
14872
14873 2007-10-31 Dan Nicolaescu <dann@ics.uci.edu>
14874
14875 * s/usg5-4.h:
14876 * s/usg5-3.h:
14877 * s/ptx.h:
14878 * m/is386.h:
14879 * m/ibmps2-aix.h:
14880 * Makefile.in: Remove all mentions of X10.
14881
14882 * dispnew.c (syms_of_display): Don't mention version 10.
14883
14884 2007-10-28 Juanma Barranquero <lekktu@gmail.com>
14885
14886 * makefile.w32-in (OBJ1): Remove abbrev.$(O).
14887 ($(BLD)/abbrev.$(O)): Remove.
14888
14889 2007-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
14890
14891 Rewrite abbrev.c in Elisp.
14892 * image.c (Qcount): Don't declare as extern.
14893 (syms_of_image): Initialize and staticpro `Qcount'.
14894 * puresize.h (BASE_PURESIZE): Increase for the new abbrev.el functions.
14895 * emacs.c (main): Don't call syms_of_abbrev.
14896 * Makefile.in (obj): Remove abbrev.o.
14897 (abbrev.o): Remove.
14898 * abbrev.c: Remove.
14899
14900 2007-10-26 Martin Rudalics <rudalics@gmx.at>
14901
14902 * window.c (window_min_size_2): Don't count header-line.
14903
14904 2007-10-26 Dan Nicolaescu <dann@ics.uci.edu>
14905
14906 * frame.h (struct frame): Move all bit fields after the first bit
14907 field to take advantage of the available space. Group all the
14908 chars together to reduce wasted space due to padding.
14909
14910 2007-10-26 Juanma Barranquero <lekktu@gmail.com>
14911
14912 * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings.
14913
14914 * alloc.c (spare_memory, stack_copy, stack_copy_size, ignore_warnings)
14915 (Vdead, dont_register_blocks, staticvec, staticidx, interval_block)
14916 (n_interval_blocks, init_strings, check_string_bytes, check_sblock)
14917 (init_float, free_float, n_cons_blocks, init_cons, all_vectors)
14918 (n_vectors, symbol_block, symbol_block_index, symbol_free_list)
14919 (n_symbol_blocks, init_symbol, marker_block, marker_free_list)
14920 (n_marker_blocks, init_marker, valid_pointer_p, make_pure_float)
14921 (last_marked, mark_object_loop_halt): Make static.
14922
14923 * frame.c (syms_of_frame) <delete-frame-functions>:
14924 Fix typo in docstring.
14925
14926 2007-10-25 Juanma Barranquero <lekktu@gmail.com>
14927
14928 * w32.c (init_environment): Fix tiny memory leak.
14929 (w32_get_resource): Remove unused variable `ok'.
14930
14931 2007-10-25 Stefan Monnier <monnier@iro.umontreal.ca>
14932
14933 Make `window-system' into a keyboard-local variable (rather than
14934 frame-local as done originally by multi-tty).
14935
14936 * keyboard.h (struct kboard): Add Vwindow_system.
14937 * keyboard.c (init_kboard): Set a default for Vwindow_system.
14938 (mark_kboards): Mark Vwindow_system.
14939
14940 * dispnew.c (syms_of_display) <window-system>: Declare terminal-local.
14941 (init_display): Don't set the obsolete `window-system' frame-param.
14942
14943 * xterm.c (x_term_init):
14944 * w32term.c (w32_create_terminal):
14945 * term.c (init_tty): Set Vwindow_system.
14946 * macterm.c (mac_create_terminal): Set a keyboard (missing piece of the
14947 multi-tty merge maybe?), copied from w32term.c. Set Vwindow_system.
14948
14949 * xfns.c (Fx_create_frame, x_create_tip_frame):
14950 * w32fns.c (Fx_create_frame, x_create_tip_frame):
14951 * macfns.c (Fx_create_frame):
14952 Don't set the obsolete `window-system' frame-param.
14953
14954 * frame.h (Qwindow_system): Remove.
14955 * frame.c (Qwindow_system): Remove. In `syms_of_frame' as well.
14956 (Fmake_terminal_frame): Don't set obsolete `window-system' frame-param.
14957
14958 2007-10-24 Richard Stallman <rms@gnu.org>
14959
14960 * frame.c (x_figure_window_size): For fullscreen case,
14961 set USPosition | PPosition without clobbering rest of window_prompting.
14962
14963 * keyboard.c (Fcurrent_idle_time): Doc fix.
14964
14965 * print.c (Fwith_output_to_temp_buffer): Doc fix.
14966
14967 2007-10-23 Stefan Monnier <monnier@iro.umontreal.ca>
14968
14969 * process.c (unwind_request_sigio): Only define if __ultrix__.
14970
14971 * callproc.c (child_setup): Remove spurious *.
14972
14973 * lisp.h (Fget_text_property): Declare.
14974 (have_menus_p): Declare it here rather than in sys-dep header files.
14975 * macterm.h (have_menus_p):
14976 * msdos.h (have_menus_p):
14977 * xterm.h (have_menus_p): Remove.
14978
14979 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
14980 (Fmake_variable_frame_local): Just check the variable's const-ness
14981 rather than checking nil or t.
14982
14983 2007-10-22 Jason Rumney <jasonr@gnu.org>
14984
14985 * w32fns.c: Include math.h.
14986 (w32_abort): Declaration moved to nt/config.nt.
14987
14988 * s/ms-w32.h (HAVE_STDLIB_H): Define.
14989 (abort): Redefinition moved to nt/config.nt.
14990
14991 * m/windowsnt.h: Remove.
14992
14993 2007-10-22 Juanma Barranquero <lekktu@gmail.com>
14994
14995 * emacs.c (Fdump_emacs): Fix typo in message.
14996 (syms_of_emacs) <kill-emacs-hook>: Fix typo in docstring.
14997 <installation-directory>: Reflow docstring.
14998
14999 2007-10-22 Juri Linkov <juri@jurta.org>
15000
15001 * minibuf.c: Allow minibuffer default to be a list of default values.
15002 With empty input use the first element of this list as returned default.
15003 (string_to_object)
15004 (read_minibuf_noninteractive): If defalt is cons, set val to its car.
15005 (read_minibuf): If defalt is cons, set histstring to its car.
15006 (Fread_string): If default_value is cons, set val to its car.
15007 (Fread_buffer): If def is cons, use its car.
15008 (Fcompleting_read): If defalt is cons, set val to its car.
15009
15010 2007-10-21 Michael Albinus <michael.albinus@gmx.de>
15011
15012 * fileio.c (Fcopy_file): Call file name handler with preserve_uid_gid.
15013
15014 2007-10-20 Juanma Barranquero <lekktu@gmail.com>
15015
15016 * doc.c (Fdocumentation): Check for advice in all cases.
15017
15018 2007-10-19 Chong Yidong <cyd@stupidchicken.com>
15019
15020 * Makefile.in [HAVE_LIBRESOLV]: Add -lresolv to linker flags.
15021
15022 2007-10-19 Richard Stallman <rms@gnu.org>
15023
15024 * doc.c (Fdocumentation): Check for and handle an advised function.
15025
15026 2007-10-19 Juanma Barranquero <lekktu@gmail.com>
15027
15028 * process.c (Fset_process_filter): Doc fix.
15029
15030 2007-10-18 Stefan Monnier <monnier@iro.umontreal.ca>
15031
15032 * keyboard.c (read_key_sequence): Undo a change introduced by multi-tty
15033 which caused key-translation-map to applied repeatedly (thus breaking
15034 double-mode).
15035
15036 2007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
15037
15038 * xselect.c (x_own_selection, x_handle_selection_clear)
15039 (x_clear_frame_selections):
15040 * w32menu.c (list_of_panes, list_of_items):
15041 * w32fns.c (w32_color_map_lookup, Fx_create_frame, Fx_display_list):
15042 * textprop.c (validate_plist, interval_has_all_properties)
15043 (interval_has_some_properties, interval_has_some_properties_list)
15044 (add_properties, text_property_list):
15045 * process.c (Fget_buffer_process, list_processes_1, status_notify):
15046 * minibuf.c (Fassoc_string):
15047 * macselect.c (x_own_selection, x_clear_frame_selections)
15048 (Fx_disown_selection_internal):
15049 * keymap.c (Fcommand_remapping, where_is_internal, describe_map_tree):
15050 Use CONSP rather than !NILP and XC[AD]R rather than Fc[ad]r.
15051
15052 2007-10-17 Chong Yidong <cyd@stupidchicken.com>
15053
15054 * process.c: Link to libs for calling res_init() if available.
15055 (Fmake_network_process): Call res_init() before getaddrinfo or
15056 gethostbyname, if possible.
15057
15058 2007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
15059
15060 * lread.c (read1): Set pvectype for char_tables.
15061
15062 * lisp.h (XMISCANY, XMARKER, XINTFWD, XBOOLFWD, XOBJFWD, XOVERLAY)
15063 (XBUFFER_OBJFWD, XBUFFER_LOCAL_VALUE, XKBOARD_OBJFWD, XSAVE_VALUE):
15064 Add type checks.
15065 (SOME_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP): Remove.
15066
15067 * alloc.c (free_misc): Use XMISCTYPE.
15068 (live_misc_p, gc_sweep): Use Lisp_Misc_Any.
15069
15070 2007-10-17 Glenn Morris <rgm@gnu.org>
15071
15072 * minibuf.c (Qcompletion_ignore_case): New Lisp_Object.
15073 (syms_of_minibuf): Add Qcompletion_ignore_case.
15074 * dired.c (Qcompletion_ignore_case): Change to external.
15075 (syms_of_dired) [VMS]: Remove Qcompletion_ignore_case.
15076 * fileio.c (Qcompletion_ignore_case): New external Lisp_Object.
15077 (Fread_file_name): Use it rather than intern'ing.
15078
15079 * coding.c (Qcompletion_ignore_case): New external Lisp_Object.
15080 (Fread_coding_system): Ignore case of user input.
15081
15082 2007-10-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15083
15084 * xdisp.c (handle_display_prop): Ignore display specs after
15085 replacing one when string text is being replaced.
15086 (handle_single_display_spec): Pretend as if characters with display
15087 property haven't been consumed only when buffer text is being replaced.
15088
15089 2007-10-16 Stefan Monnier <monnier@iro.umontreal.ca>
15090
15091 * xfns.c (Fx_create_frame, Fx_display_list):
15092 * window.c (window_fixed_size_p, enlarge_window)
15093 (shrink_window_lowest_first):
15094 * macterm.c (init_font_name_table):
15095 * macfns.c (Fx_create_frame, Fx_display_list):
15096 * lread.c (close_load_descs):
15097 * keyboard.c (read_char_x_menu_prompt):
15098 * fns.c (Fmember, Fmemql, Fdelete, Fset_char_table_parent):
15099 * coding.c (code_convert_region_unwind): Test the type of an object
15100 rather than just !NILP before extracting data from it.
15101
15102 * alloc.c (Fpurecopy): Set the pvec tag on pseudo vectors.
15103
15104 * lisp.h (enum Lisp_Misc_Type): Del Lisp_Misc_Some_Buffer_Local_Value.
15105 (XMISCANY): New macro.
15106 (XMISCTYPE): Use it.
15107 (struct Lisp_Misc_Any): New type.
15108 (union Lisp_Misc): Use it.
15109 (struct Lisp_Buffer_Local_Value): Add `local_if_set' bit.
15110 * data.c (Fboundp, store_symval_forwarding, swap_in_global_binding)
15111 (find_symbol_value, set_internal, default_value, Fset_default)
15112 (Fmake_variable_buffer_local, Fmake_local_variable)
15113 (Fkill_local_variable, Fmake_variable_frame_local, Flocal_variable_p)
15114 (Flocal_variable_if_set_p, Fvariable_binding_locus):
15115 The SOME_BUFFER_LOCAL_VALUEP distinction is replaced by local_if_set.
15116 * alloc.c (allocate_buffer): Set the size and tag.
15117 (allocate_misc, mark_maybe_object, mark_object, survives_gc_p):
15118 Use XMISCANY.
15119 (die): Follow the GNU convention for error messages.
15120 * print.c (print_object): SOME_BUFFER_LOCAL_VALUEP -> local_if_set.
15121 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Don't set the
15122 tag any more.
15123 (set_buffer_internal_1):
15124 * frame.c (store_frame_param):
15125 * eval.c (specbind):
15126 * xdisp.c (select_frame_for_redisplay): Drop SOME_BUFFER_LOCAL_VALUEP.
15127
15128 * doc.c (Fsnarf_documentation): Simplify.
15129
15130 2007-10-14 Juanma Barranquero <lekktu@gmail.com>
15131
15132 * w32term.c (w32_font_is_double_byte, my_create_scrollbar): Make static.
15133 (syms_of_w32term) <w32-enable-unicode-output>: Fix typo in docstring.
15134
15135 2007-10-14 Stefan Monnier <monnier@iro.umontreal.ca>
15136
15137 * buffer.c (Fmake_indirect_buffer): Set the buffer's tag.
15138
15139 2007-10-14 Juanma Barranquero <lekktu@gmail.com>
15140
15141 * eval.c (do_autoload): Don't save autoloads.
15142
15143 * data.c (Ffset): Save autoload of the function being set.
15144
15145 2007-10-07 John Paul Wallington <jpw@pobox.com>
15146
15147 * xfns.c (x_create_tip_frame): Set the `display-type' frame
15148 parameter before setting up faces.
15149
15150 2007-10-13 Eli Zaretskii <eliz@gnu.org>
15151
15152 * ccl.c (Fregister_code_conversion_map):
15153 * keyboard.c (append_tool_bar_item): Reformat last change.
15154
15155 * lisp.h (eabs): Rename from `abs'. All callers changed.
15156
15157 2007-10-05 Dmitry Antipov <dmantipov@yandex.ru>
15158
15159 * buffer.c (add_overlay_mod_hooklist):
15160 * ccl.c (Fregister_ccl_program, Fregister_code_conversion_map):
15161 * fontset.c (make_fontset):
15162 * keyboard.c (GROW_RAW_KEYBUF, menu_bar_items, menu_bar_item)
15163 (append_tool_bar_item):
15164 * macmenu.c (grow_menu_items):
15165 * w32menu.c (grow_menu_items):
15166 * xmenu.c (grow_menu_items): Use larger_vector.
15167
15168 2007-10-13 Eli Zaretskii <eliz@gnu.org>
15169
15170 * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving
15171 selected frame'' on MSDOS).
15172
15173 2007-10-12 Martin Rudalics <rudalics@gmx.at>
15174
15175 * frame.c (Qexplicit_name): New variable.
15176 (x_report_frame_params): Report it in parameter alist.
15177 (syms_of_frame): Intern and staticpro it.
15178
15179 2007-10-10 Patrick Mahan <mahan@mahan.org> (tiny change)
15180
15181 * macfns.c (x_create_tip_frame): Set terminal for frame.
15182
15183 2007-10-10 Stefan Monnier <monnier@iro.umontreal.ca>
15184
15185 * frame.c (Qenvironment): Remove.
15186 (syms_of_frame) <Qenvironment>: Don't initialize.
15187 (Fdelete_frame): Don't treat the `environment' param specially.
15188 * frame.h (Qenvironment): Don't declare.
15189 * callproc.c (set_initial_environment): Don't set unused frame param.
15190
15191 * frame.c (Fframe_with_environment): Remove.
15192 (syms_of_frame) <Sframe_with_environment>: Don't declare.
15193
15194 * lisp.h (Fframe_with_environment): Don't declare.
15195
15196 2007-10-10 Juanma Barranquero <lekktu@gmail.com>
15197
15198 * indent.c (indent_tabs_mode, last_known_column)
15199 (last_known_column_modified): Make static.
15200 (syms_of_indent) <indent-tabs-mode>: Remove redundant info in docstring.
15201
15202 2007-10-10 Katsumi Yamaoka <yamaoka@jpl.org>
15203
15204 * puresize.h (BASE_PURESIZE): Increase to 1170000.
15205
15206 2007-10-09 Jason Rumney <jasonr@gnu.org>
15207
15208 * w32term.c (x_set_window_size): Disable code that attempts to tell
15209 Lisp code about a size change before it actually happens.
15210
15211 2007-10-09 Richard Stallman <rms@gnu.org>
15212
15213 * xdisp.c (handle_invisible_prop): After setting up an ellipsis,
15214 return HANDLED_RETURN.
15215
15216 2007-10-08 Martin Rudalics <rudalics@gmx.at>
15217
15218 * keyboard.c (kbd_buffer_get_event): Break loop waiting for input
15219 when there's an unread command event.
15220
15221 * frame.c (focus_follows_mouse): Move here from frame.el to allow
15222 window autoselection act appropriately when leaving selected frame.
15223 (syms_of_frame): Initialize focus_follows_mouse.
15224 * frame.h (focus_follows_mouse): Extern it.
15225 * macterm.c (XTread_socket): When focus_follows_mouse is nil
15226 make SELECT_WINDOW_EVENT only if we don't leave the selected frame.
15227 * msdos.c (dos_rawgetc): Likewise.
15228 * w32term.c (w32_read_socket): Likewise.
15229 * xterm.c (handle_one_xevent): Likewise.
15230 * xdisp.c (syms_of_xdisp): In doc-string of
15231 mouse-autoselect-window mention focus-follows-mouse.
15232
15233 2007-10-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15234
15235 * macterm.c (mac_load_query_font): Fix missing return value.
15236 [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap):
15237 Add BLOCK_INPUT.
15238
15239 2007-10-08 Richard Stallman <rms@gnu.org>
15240
15241 * xdisp.c (get_window_cursor_type): Implement documented behavior
15242 for cursor-in-non-selected-windows = t.
15243
15244 2007-10-08 Jason Rumney <jasonr@gnu.org>
15245
15246 * w32.c (w32_get_resource): Always close registry keys.
15247
15248 2007-10-08 Jason Rumney <jasonr@gnu.org>
15249
15250 * makefile.w32-in (LIBS): Add COMCTL32.
15251
15252 * w32fns.c (globals_of_w32fns): Init common controls.
15253
15254 2007-10-08 Richard Stallman <rms@gnu.org>
15255
15256 * image.c (our_memory_buffer): Rename from omfib_buffer.
15257
15258 2007-10-08 Richard Stallman <rms@gnu.org>
15259
15260 * buffer.c (Foverlays_at): Doc fix.
15261
15262 2007-10-08 Stefan Monnier <monnier@iro.umontreal.ca>
15263
15264 * fns.c (Fplist_put): Preserve uneven tail data.
15265
15266 2007-10-08 Peter O'Gorman <bug-gnu-emacs@mlists.thewrittenword.com> (tiny change)
15267
15268 * termhooks.h (enum event_kind): Remove trailing comma.
15269
15270 * frame.h (enum): Remove trailing comma.
15271
15272 2007-10-08 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
15273
15274 * w32proc.c (delete_child): Don't terminate threads of zombies.
15275
15276 2007-10-08 Martin Rudalics <rudalics@gmx.at>
15277
15278 * keyboard.h (struct kboard): New elt Vlast_repeatable_command.
15279
15280 * keyboard.c (syms_of_keyboard): Set up new Lisp variable
15281 last-repeatable-command.
15282 (init_kboard): Initialize Vlast_repeatable_command.
15283 (command_loop_1): Set it to real_this_command unless that was
15284 bound to an input event.
15285 (mark_kboards): Mark it.
15286
15287 2007-10-08 Richard Stallman <rms@gnu.org>
15288
15289 * eval.c (condition-case): Doc fix.
15290
15291 2007-10-08 Masatake YAMATO <jet@gyve.org>
15292
15293 * xfaces.c (tty_supports_face_attributes_p): Fix code
15294 for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code
15295 was copied and not edited.
15296
15297 2007-10-09 Stefan Monnier <monnier@iro.umontreal.ca>
15298
15299 Add new `input-decode-map' keymap and use it for terminal
15300 escape sequences.
15301 * keyboard.h (struct kboard): Add Vinput_decode_map.
15302 Remove Vlocal_key_translation_map.
15303 * keyboard.c (read_key_sequence): Add support for input-decode-map.
15304 (init_kboard): Init input-decode-map.
15305 Replace local-key-translation-map back with key-translation-map.
15306 (syms_of_keyboard): Declare input-decode-map.
15307 Remove local-key-translation-map. Update docstrings.
15308 (mark_kboards): Mark Vinput_decode_map.
15309 Don't mark Vlocal_key_translation_map.
15310 * keymap.c (Fdescribe_buffer_bindings): Describe input-decode-map.
15311 Replace local-key-translation-map back with key-translation-map.
15312 * term.c (term_get_fkeys_1, CONDITIONAL_REASSIGN):
15313 Bind in input-decode-map rather than function-key-map.
15314
15315 * lisp.h (XSETPSEUDOVECTOR): Don't set the tag anymore.
15316 This was made redundant by the previous introduction of XSETPVECTYPE.
15317
15318 2007-10-09 Richard Stallman <rms@gnu.org>
15319
15320 * image.c (free_bitmap_record): Rename from Free_Bitmap_Record.
15321
15322 2007-09-29 Richard Stallman <rms@gnu.org>
15323
15324 * eval.c (internal_condition_case_2, internal_condition_case_1)
15325 (internal_condition_case): Reenable abort if x_catching_errors ()
15326 to see if that really happens and why.
15327
15328 2007-10-06 Andreas Schwab <schwab@suse.de>
15329
15330 * fileio.c (Fwrite_region): Ignore EINVAL error from fsync.
15331
15332 2007-10-04 Juanma Barranquero <lekktu@gmail.com>
15333
15334 * image.c (syms_of_image) <image-types>: Fix typo in docstring.
15335
15336 2007-10-03 Stefan Monnier <monnier@iro.umontreal.ca>
15337
15338 * frame.h (struct frame): Don't try to GC-mark menu_bar_items_used.
15339
15340 2007-10-02 Stefan Monnier <monnier@iro.umontreal.ca>
15341
15342 * window.h (struct window):
15343 * window.c (struct save_window_data, struct saved_window):
15344 * termhooks.h (struct terminal):
15345 * process.h (struct Lisp_Process):
15346 * frame.h (struct frame):
15347 * buffer.h (struct buffer):
15348 * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table)
15349 (struct Lisp_Bool_Vector, struct Lisp_Subr, struct Lisp_Hash_Table):
15350 The size field of (pseudo)vectors is now unsigned.
15351 (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Simplify accordingly.
15352
15353 * lisp.h (struct Lisp_Hash_Table): Move non-traced elements at the end.
15354 Turn `count' into an integer.
15355
15356 * fns.c (make_hash_table, hash_put, hash_remove, hash_clear)
15357 (sweep_weak_table, sweep_weak_hash_tables, Fhash_table_count):
15358 * print.c (print_object) <HASH_TABLE_P>: `count' is an int.
15359 * alloc.c (allocate_hash_table): Use ALLOCATE_PSEUDOVECTOR.
15360 (mark_object) <HASH_TABLE_P>: Use mark_vectorlike.
15361
15362 * alloc.c (allocate_pseudovector): New fun.
15363 (ALLOCATE_PSEUDOVECTOR): New macro.
15364 (allocate_window, allocate_terminal, allocate_frame)
15365 (allocate_process): Use it.
15366 (mark_vectorlike): New function.
15367 (mark_object) <FRAMEP, WINDOWP, BOOL_VECTOR_P, VECTORP>: Use it.
15368 (mark_terminals): Use it.
15369 (Fmake_bool_vector, Fmake_char_table, make_sub_char_table)
15370 (Fmake_byte_code): Use XSETPVECTYPE.
15371
15372 * frame.c (Fframe_parameters): Minor simplification.
15373
15374 * insdel.c (adjust_markers_for_insert): Generalize assertion checks.
15375
15376 * marker.c (Fmarker_buffer): Make test for odd case into a failure.
15377
15378 * buffer.c (Fget_buffer_create, init_buffer_once):
15379 * lread.c (defsubr):
15380 * window.c (Fcurrent_window_configuration): Use XSETPVECTYPE.
15381
15382 * lisp.h (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Don't let them be
15383 defined differently in the m/*.h files.
15384 (XCHAR_TABLE, XBOOL_VECTOR): Add assertion checking.
15385 (XSETPVECTYPE): New macro.
15386 (XSETPSEUDOVECTOR): Use it.
15387
15388 * buffer.c (syms_of_buffer) <local-abbrev-table>: Move from abbrev.c.
15389 (DEFVAR_PER_BUFFER, defvar_per_buffer): Move from lisp.h and lread.c.
15390
15391 * lisp.h (defvar_per_buffer, DEFVAR_PER_BUFFER):
15392 * lread.c (defvar_per_buffer):
15393 * abbrev.c (syms_of_abbrev) <local-abbrev-tabl>: Move to buffer.c.
15394
15395 * window.c (candidate_window_p): Only consider as visible frames that
15396 are on the same terminal.
15397
15398 * m/ibms390x.h (MARKBIT): Remove unused macro.
15399
15400 2007-10-01 Juanma Barranquero <lekktu@gmail.com>
15401
15402 * lread.c (Fload): Fix typo in docstring.
15403
15404 2007-10-01 Michaël Cadilhac <michael@cadilhac.name>
15405
15406 * floatfns.c (Fexpt): Manually check for overflows, so that a power
15407 of a non-zero value can't yield zero.
15408
15409 2007-09-29 Stefan Monnier <monnier@iro.umontreal.ca>
15410
15411 * term.c (term_clear_mouse_face, term_mouse_highlight)
15412 (tty_write_glyphs_with_face): Only define is HAVE_GPM.
15413
15414 * print.c (safe_debug_print): Use XHASH.
15415
15416 * lisp.h (DECL_ALIGN, USE_LSB_TAG): Move logic to before definition of
15417 Lisp elements such as tags.
15418 (XHASH): New macro.
15419 (EQ): Use it.
15420 (SREF, SSET, STRING_COPYIN): Use SDATA.
15421 (VOID_TO_LISP, CVOID_TO_LISP, LISP_TO_VOID, LISP_TO_CVOID): Remove.
15422
15423 * alloc.c (mark_terminal): Remove left-over declaration.
15424 (enum mem_type): Replace all vector subtypes -> MEM_TYPE_VECTORLIKE.
15425 (allocate_vectorlike): Remove type argument. Adjust callers.
15426 (live_vector_p, mark_maybe_pointer, valid_lisp_object_p):
15427 Only handle the one remaining MEM_TYPE_VECTORLIKE.
15428
15429 * alloc.c (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): New macros
15430 to avoid unnecessary BLOCK_INPUTs when SYNC_INPUT is used.
15431 (xmalloc, xrealloc, xfree, lisp_malloc, lisp_free, lisp_align_malloc)
15432 (lisp_align_free, make_interval, allocate_string, allocate_string_data)
15433 (make_float, Fcons, allocate_vectorlike, Fmake_symbol, allocate_misc):
15434 Use them.
15435
15436 * xfaces.c (load_face_font, free_realized_face, clear_face_gcs):
15437 Don't let signal handlers run when a GC is freed but not yet NULL'ed.
15438 (x_free_gc): Remove BLOCK_INPUT since it's now redundant.
15439
15440 2007-09-28 Dan Nicolaescu <dann@ics.uci.edu>
15441
15442 * Makefile.in (lisp, shortlisp): Delete server.elc, it is not
15443 loaded by default.
15444
15445 2007-09-28 Stefan Monnier <monnier@iro.umontreal.ca>
15446
15447 * term.c (Fgpm_mouse_start): Don't signal an error if already activated
15448 on this tty.
15449 (Fgpm_mouse_stop): Only deactivate if it was activated on this tty.
15450
15451 * term.c (mouse_face_window): Rename from Qmouse_face_window.
15452 Update all users.
15453 (handle_one_term_event): Use Gpm_DrawPointer.
15454 (Fgpm_mouse_start): Rename from Fterm_open_connection.
15455 Signal errors instead of returning nil. Always return nil.
15456 (Fgpm_mouse_stop): Rename from Fterm_close_connection.
15457 Make it a noop if gpm-mouse was not activated.
15458 (syms_of_term): Update names.
15459
15460 2007-09-27 Stefan Monnier <monnier@iro.umontreal.ca>
15461
15462 * sysdep.c (narrow_foreground_group, widen_foreground_group): Static.
15463 (init_sys_modes): Check that gpm_tty is the current tty.
15464
15465 * alloc.c (allocate_terminal): Set the vector size to only count the
15466 lisp fields. Initialize those to nil.
15467 (mark_object): Don't treat terminals specially.
15468 (mark_terminal): Remove.
15469 (mark_terminals): Use mark_object instead.
15470
15471 * termhooks.h (struct terminal): Move all Lisp_Object fields traced by
15472 the GC to the beginning.
15473
15474 * indent.h:
15475 * indent.c: Use EMACS_INT for ints coming from Elisp data.
15476
15477 * indent.c (Fmove_to_column): Use EMACS_INT for buffer positions.
15478
15479 2007-09-25 Jason Rumney <jasonr@gnu.org>
15480
15481 * frame.c (make_terminal_frame): Remove special case for WINDOWSNT.
15482
15483 * w32console.c (create_w32cons_output): Remove.
15484
15485 * term.c (init_tty): Call init_sys_modes on WINDOWSNT also.
15486
15487 * sysdep.c (init_sys_modes): Use set_terminal_modes_hook.
15488 (reset_sys_modes): Use reset_terminal_modes_hook.
15489
15490 2007-09-24 Stefan Monnier <monnier@iro.umontreal.ca>
15491
15492 * eval.c (do_autoload): Don't output any message.
15493
15494 2007-09-24 Juri Linkov <juri@jurta.org>
15495
15496 * emacs.c (standard_args): Change priority of "--no-splash"
15497 from 40 to 3. Add "--no-desktop" with the same priority.
15498
15499 2007-09-23 Dmitry Antipov <dmantipov@yandex.ru>
15500
15501 * alloc.c (gc_sweep): Check cons cell mark bits word by word
15502 and optimize the case where they are all 1.
15503
15504 2007-09-23 Johannes Weiner <hannes@saeurebad.de>
15505
15506 * lisp.h (abs): Define if not defined.
15507 * keyboard.c, sound.c, w32term.c, xfaces.c, xterm.c:
15508 Don't define `abs', since it's defined in lisp.h.
15509
15510 2007-09-22 Eli Zaretskii <eliz@gnu.org>
15511
15512 * term.c (DEV_TTY): New macro. Provide a definition for MS-Windows.
15513 (FRAME_TERMCAP_P) [WINDOWSNT]: Don't define to zero.
15514 (Fcontrolling_tty_p, Fresume_tty, dissociate_if_controlling_tty)
15515 (init_tty): Use DEV_TTY instead of "/dev/tty".
15516 [WINDOWSNT]: No need to protect from NAME arg being null.
15517
15518 2007-09-21 Dan Nicolaescu <dann@ics.uci.edu>
15519
15520 * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning
15521 up the tty state.
15522
15523 2007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
15524
15525 * termhooks.h (term_gpm): Delete. Use gpm_tty's NULLness instead.
15526 (gpm_tty): Change its type.
15527 * term.c (term_gpm): Delete. Use gpm_tty's NULLness instead.
15528 (gpm_tty): Change its type and initialize it.
15529 (Fterm_open_connection): Check the frame is indeed a tty.
15530 Use the new gpm_tty.
15531 (Fterm_close_connection): Use the new gpm_tty.
15532 * keyboard.c (tty_read_avail_input): Use the new gpm_tty.
15533 * sysdep.c (init_sys_modes): term_gpm -> gpm_tty.
15534
15535 2007-09-21 Juanma Barranquero <lekktu@gmail.com>
15536
15537 * w32term.c (x_draw_glyph_string): Use strike_through_color, not
15538 underline_color, to draw strike-through.
15539
15540 2007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
15541
15542 * lisp.h (allocate_terminal): Declare.
15543
15544 * window.c (candidate_window_p): Consider frames that are being placed
15545 by the user as somewhere between visible and iconified.
15546 (window_loop): Prefer windows on the current frame.
15547 (Fselect_window): Move the use of select-frame to the beginning so we
15548 can just delegate all the work (it'll call us back anyway).
15549
15550 * frame.c (Qdisplay_environment_variable):
15551 * frame.h (Qdisplay_environment_variable): Delete.
15552
15553 * .gdbinit (xbacktrace): Print the arg's address rather than the value
15554 of the first arg, since that value may be a union.
15555
15556 * callproc.c (child_setup, getenv_internal): Use the frame's `display'
15557 parameter rather than Qdisplay_environment_variable. If all else
15558 fails, look for DISPLAY in initial-environment.
15559
15560 2007-09-21 Glenn Morris <rgm@gnu.org>
15561
15562 * Makefile.in (emacstool): Remove target.
15563 (lisp, shortlisp): Remove termdev.elc.
15564
15565 2007-09-21 Markus Triska <markus.triska@gmx.at>
15566
15567 * xterm.c (x_delete_display): Compile session management conditionally.
15568
15569 2007-09-20 Stefan Monnier <monnier@iro.umontreal.ca>
15570
15571 * callproc.c (getenv_internal_1): New function.
15572 (getenv_internal): Use it.
15573 (Fgetenv_internal): Use it. Accept an env-list as optional arg.
15574
15575 * terminal.c (get_terminal): Don't accept ints to represent terminals.
15576 (Fterminal_name, Fterminal_parameters, Fterminal_parameter)
15577 (Fset_terminal_parameter): Work with dead terminals as well.
15578 (Fmodify_terminal_parameters): Remove.
15579
15580 * terminal.c (get_terminal): Handle terminals.
15581 Make sure the terminal returned is live.
15582 (create_terminal): Use allocate_terminal.
15583 (mark_terminals): Move to alloc.c.
15584 (delete_terminal): Use terminal->name as liveness status.
15585 NULL out fields after freeing their contents.
15586 Don't deallocate the object.
15587 (Fframe_terminal): Use FRAME_TERMINAL. Return the terminal object
15588 rather than an int.
15589 (Fterminal_live_p): Accept non-integer arguments.
15590 (Fterminal_list): Return terminal objects rather than an ints.
15591
15592 * alloc.c (enum mem_type): New member for `terminal' objects.
15593 (allocate_terminal): New function.
15594 (mark_maybe_pointer, valid_lisp_object_p, mark_object):
15595 Handle terminals.
15596 (mark_terminal): New fun.
15597 (mark_terminals): Move from terminal.c.
15598
15599 * term.c (get_tty_terminal): Don't treat output_initial specially.
15600 (Fsuspend_tty, Fresume_tty): Use terminal objects rather than ints.
15601 (delete_tty): Use terminal->name as liveness status.
15602
15603 * termhooks.h (struct terminal): Make it into a pseudovector.
15604 Remove `deleted' replaced by checking `name's nullness.
15605
15606 * print.c (print_object): Handle terminals.
15607
15608 * lisp.h (enum pvec_type): New `terminal' pseudovector.
15609 (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros.
15610
15611 * frame.c (make_terminal_frame):
15612 * keyboard.c (tty_read_avail_input):
15613 * w32term.c (x_delete_terminal):
15614 * xfns.c (Fx_create_frame, x_create_tip_frame):
15615 * xterm.c (x_delete_terminal): Use terminal->name as liveness status.
15616
15617 2007-09-20 Glenn Morris <rgm@gnu.org>
15618
15619 * process.c (Fmake_network_process): Doc fix.
15620
15621 2007-09-19 Jason Rumney <jasonr@gnu.org>
15622
15623 * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument.
15624
15625 2007-09-19 Michaël Cadilhac <michael@cadilhac.name>
15626
15627 * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form):
15628 Fix a C warning regarding variable constness.
15629
15630 * xterm.c (handle_one_xevent): Fix a C warning.
15631
15632 2007-09-18 Jason Rumney <jasonr@gnu.org>
15633
15634 * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame.
15635
15636 2007-09-17 Jan Djärv <jan.h.d@swipnet.se>
15637
15638 * gtkutil.c (gdpy_def): New variable.
15639 (xg_initialize): Initialize gdpy_def.
15640 (xg_display_close): If no other display exists, set gdpy_def to a
15641 new connection.
15642
15643 2007-09-16 Jan Djärv <jan.h.d@swipnet.se>
15644
15645 * gtkutil.c (xg_get_image_for_pixmap): Always create a GdkPixbuf
15646 when we have no file name for the icon.
15647 (xg_tool_bar_expose_callback): Remove.
15648 (xg_create_tool_bar): Don't connect expose signal to
15649 xg_tool_bar_expose_callback.
15650 (xg_get_file_with_chooser): Move GCPRO1 after declarations.
15651
15652 2007-09-16 Andreas Schwab <schwab@suse.de>
15653
15654 * alloc.c (reset_malloc_hooks): Set the hooks to the previous
15655 values instead of zapping them.
15656
15657 2007-09-14 Glenn Morris <rgm@gnu.org>
15658
15659 * fringe.c (init_fringe_bitmap) <swap_nibble>: Move to file scope.
15660 * gtkutil.c (xg_separator_p) <separator_names>: Move to file scope.
15661 * image.c (our_memory_fill_input_buffer) <buffer>: Move to file
15662 scope and rename to omfib_buffer for clarity.
15663 (gif_load) <interlace_start, interlace_increment>: Move to file scope.
15664
15665 2007-09-14 Kenichi Handa <handa@m17n.org>
15666
15667 * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero.
15668
15669 2007-09-13 Jason Rumney <jasonr@gnu.org>
15670
15671 * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument.
15672
15673 * w32term.c (w32_term_init): Pass rif to w32_init_fringe.
15674
15675 * macterm.c (mac_initialize): Don't call mac_init_fringe here.
15676 (mac_term_init): Call here instead, passing rif.
15677
15678 2007-09-13 Glenn Morris <rgm@gnu.org>
15679
15680 * s/hpux.h: No longer define `static' as nothing.
15681
15682 2007-09-13 Johan Bockgård <bojohan@gnu.org>
15683
15684 * callint.c (Fcall_interactively): Remove unused var `fun'.
15685
15686 2007-09-12 Romain Francoise <romain@orebokech.com>
15687
15688 * window.c (prefer_window_split_horizontally, display_buffer):
15689 Revert 2007-09-08 change.
15690
15691 2007-09-12 Glenn Morris <rgm@gnu.org>
15692
15693 * alloca.c: Remove file.
15694 * Makefile.in (alloca): Do not undef.
15695 (allocaobj, alloca.o): Remove.
15696 (otherobj): Remove allocaobj.
15697 * keyboard.c (command_loop_1): Remove #ifdef C_ALLOCA block.
15698 * regex.c (C_ALLOCA): Remove all references and code that was only
15699 used when this was defined.
15700 * search.c (boyer_moore): Remove #ifdef C_ALLOCA block.
15701 * xmenu.c (xmenu_show): Remove #ifdef C_ALLOCA block.
15702 * m/ibms390x.h, m/sh3el.h (C_ALLOCA): Remove references to this.
15703
15704 * Makefile.in (SOURCES, unlock, relock): Delete.
15705
15706 * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity.
15707 (menu_grab_callback): All uses changed.
15708
15709 * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity.
15710 (x_reply_selection_request): All uses changed.
15711
15712 2007-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
15713
15714 * lread.c (load_warn_old_style_backquotes): Change message to look
15715 better when it appears in the middle of byte-compiler messages.
15716
15717 2007-09-10 Dan Nicolaescu <dann@ics.uci.edu>
15718
15719 * s/darwin.h (MULTI_KBOARD): Only define for Carbon.
15720
15721 * xterm.c (x_create_terminal): Add comment.
15722
15723 * term.c (clear_tty_hooks, set_tty_hooks): Add comments.
15724
15725 2007-09-10 Richard Stallman <rms@gnu.org>
15726
15727 * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME.
15728
15729 2007-09-10 Michaël Cadilhac <michael@cadilhac.name>
15730
15731 * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'.
15732 (DEFUN): Document `intspec', use it instead of `prompt'.
15733
15734 * eval.c (Fcommandp): Change `->prompt' to `->intspec'.
15735
15736 * data.c (Finteractive_form): If the interactive specification starts
15737 with a `(', use it as a Lisp form.
15738
15739 * fileio.c (Fset_file_modes): Add an interactive spec that reads a file
15740 name and file modes.
15741
15742 * callint.c (Fcall_interactively): Comment fixes.
15743
15744 2007-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
15745
15746 * callint.c (Fcall_interactively): Use Finteractive_form also for subrs
15747 and compiled functions.
15748
15749 2007-09-08 Fredrik Axelsson <f.axelsson@gmail.com>
15750
15751 * window.c (prefer_window_split_horizontally): New variable.
15752 (display_buffer): Consider splitting window horizontally depending
15753 on prefer_window_split_horizontally.
15754
15755 2007-09-08 Eli Zaretskii <eliz@gnu.org>
15756
15757 * sysdep.c [WINDOWSNT]: Don't include sysselect.h.
15758
15759 2007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
15760
15761 * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking.
15762
15763 * frame.c (x_set_frame_parameters): Check number is positive before
15764 using XFASTINT.
15765
15766 * window.c (freeze_window_start): Don't presume selected_window holds
15767 a window object.
15768 (Fdisplay_buffer): Remove `register' since `buffer' needs to be gcpro'd.
15769
15770 2007-09-07 Angelo Graziosi <Angelo.Graziosi@roma1.infn.it> (tiny change)
15771
15772 * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN.
15773
15774 2007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
15775
15776 * window.c (Vsplit_window_preferred_function): New var.
15777 (Fdisplay_buffer): Use it.
15778 (syms_of_window): Export, and initialize it.
15779
15780 2007-09-06 Pixel <pixel@mandriva.com> (tiny change)
15781
15782 * image.c (gif_load): Fix bug: Handle nonexistent colormap.
15783
15784 2007-09-06 Glenn Morris <rgm@gnu.org>
15785
15786 * gtkutil.c (menu_grab_callback) <cnt>:
15787 * xselect.c (x_reply_selection_request) <cnt>: Move static
15788 variable to file scope.
15789
15790 2007-09-06 Stefan Monnier <monnier@iro.umontreal.ca>
15791
15792 * xdisp.c (redisplay_internal): Make sure Elisp code always sees
15793 consistent values of selected_frame and selected_window.
15794
15795 2007-09-04 Jason Rumney <jasonr@gnu.org>
15796
15797 * w32console.c (initialize_w32_display): Zero unused hooks.
15798
15799 2007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
15800
15801 * term.c (Vsuspend_tty_functions, Vresume_tty_functions)
15802 (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change.
15803
15804 2007-09-04 Jason Rumney <jasonr@gnu.org>
15805
15806 * term.c (init_tty) [WINDOWSNT]: Add hooks that are not accessible
15807 in w32console.c. Set up input. Remove XXX comments that have been
15808 confirmed as correct.
15809
15810 * s/ms-w32.h (MULTI_KBOARD): Define.
15811
15812 * w32console.c (one_and_only_w32cons): Remove.
15813 (initialize_w32_display): Take terminal argument.
15814
15815 * term.c (init_tty) [WINDOWSNT]: Pass terminal to
15816 initialize_w32_display.
15817 (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too.
15818
15819 * termhooks.h (enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
15820
15821 * keyboard.c (discard_mouse_events): Discard it.
15822 (make_lispy_event): Translate it to a lisp event.
15823 (lispy_wheel_names): Add wheel-left and right events.
15824 (syms_of_keyboard): Enlarge wheel_syms.
15825
15826 * w32fns.c (w32_wnd_proc) <WM_DROPFILES>: Merge with WM_MOUSEWHEEL.
15827 <WM_MOUSEHWHEEL>: Pass new system message to lisp.
15828
15829 * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't.
15830
15831 * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT
15832 from WM_MOUSEHWHEEL.
15833 (w32_read_socket) <WM_MOUSEHWHEEL>: Treat as WM_MOUSEWHEEL.
15834
15835 * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from
15836 terminal.
15837
15838 * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new
15839 keyboard for the terminal.
15840
15841 2007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
15842
15843 * term.c (Vsuspend_tty_hook): Rename from Vsuspend_tty_functions.
15844 (Vresume_tty_hook): Rename from Vresume_tty_functions.
15845 (syms_of_term): Rename suspend-tty-functions to suspend-tty-hook
15846 and resume-tty-function to resume-tty-hook.
15847 (Fsuspend_tty, Fresume_tty): Use new names.
15848
15849 2007-09-02 Jan Djärv <jan.h.d@swipnet.se>
15850
15851 * gtkutil.c (update_frame_tool_bar): Handle stock name as a named icon
15852 if it starts with "n:".
15853
15854 2007-08-31 Jan Djärv <jan.h.d@swipnet.se>
15855
15856 * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL.
15857
15858 2007-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
15859
15860 * frame.h:
15861 * frame.c (Qterm_environment_variable): Remove.
15862 (syms_of_frame): Don't init and staticpro it.
15863
15864 * callproc.c (getenv_internal): Remove special case for $TERM.
15865
15866 * callproc.c (Vinitial_environment): New variable.
15867 (set_initial_environment): Initialize it.
15868 (syms_of_callproc): Declare it.
15869 (child_setup): Don't mess with TERM via Qterm_environment_variable; the
15870 TERM under which a process runs is never related to the TERM in which
15871 Emacs is running.
15872
15873 2007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
15874
15875 * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here...
15876 * s/darwin.h: ... do it here.
15877
15878 2007-08-29 Stefan Monnier <monnier@iro.umontreal.ca>
15879
15880 * lisp.h (set_initial_environment): Rename from set_global_environment.
15881
15882 * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been
15883 removed by mistake on the multi-tty branch.
15884
15885 * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup.
15886 (Fmodify_frame_parameters): Return a value.
15887
15888 * image.c (png_load): Comment-out var only used in commented-out code.
15889
15890 * term.c (mark_ttys): Don't bother checking top_frame (incorrectly)
15891 before passing it to mark_object.
15892
15893 * xfaces.c (internal_resolve_face_name): Return a value.
15894 (internal_resolve_face_name, resolve_face_name_error): Comment out.
15895
15896 * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup.
15897 (x_icon): Comment-out var only used in commented-out code.
15898
15899 2007-08-29 Romain Francoise <romain@orebokech.com>
15900
15901 * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if
15902 QUIT hasn't been provided.
15903
15904 2007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
15905
15906 * callproc.c (child_setup, getenv_internal): Use the
15907 display-environment-variable and term-environment-variable frame params.
15908 (set_initial_environment): Initialise Vprocess_environment.
15909
15910 * config.in: Disable multi-keyboard support on a mac.
15911
15912 * frame.c (Qterm_environment_variable)
15913 (Qdisplay_environment_variable): New variables.
15914 (syms_of_frame): Intern and staticpro them.
15915 (Fmake_terminal_frame): Disable output method test.
15916
15917 * frame.h: Declare them here.
15918
15919 * macfns.c (x_set_mouse_color): Get rif from the frame.
15920 (x_set_tool_bar_lines): Don't use updating_frame.
15921 (mac_window): Add 2 new parameters for consistency with other systems.
15922 (Fx_create_frame): Fix doc string. Rename the parameter. Set the
15923 frame parameters following what is done in X11 and w32. Don't use
15924 FRAME_MAC_DISPLAY_INFO.
15925 (Fx_open_connection, start_hourglass): Remove window-system check.
15926 (x_create_tip_frame): Get the keyboard from the terminal.
15927
15928 * macmenu.c: Reorder includes.
15929 (Fx_popup_menu): Use terminal specific mouse_position_hook.
15930
15931 * macterm.c (XTset_terminal_modes, XTreset_terminal_modes): Add a
15932 terminal parameter.
15933 (x_clear_frame): Add a frame parameter.
15934 (note_mouse_movement): Get rif from the frame.
15935 (mac_term_init): Initialize the terminal.
15936 (mac_initialize): Make static and move terminal initialization ...
15937 (mac_create_terminal): ... to this new function.
15938
15939 * macterm.h (struct mac_display_info): Add terminal.
15940 (mac_initialize): Delete declaration.
15941
15942 * puresize.h (BASE_PURESIZE): Increase base value to 1164000.
15943
15944 * sysdep.c: Comment out text after #endif.
15945
15946 * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD
15947 is defined. Better initialize ttys in windows. Use terminal
15948 specific mouse_position_hook.
15949
15950 * termhooks.h (union display_info): Add mac_display_info.
15951
15952 * w32fns.c (Fx_create_frame): Use kboard from the terminal.
15953 Set the default minibuffer frame, window_system and the rest of the
15954 frame parameters following what is done in X11.
15955
15956 * w32term.c (w32_initialize): Make static.
15957
15958 * xselect.c (x_handle_selection_clear): Only access
15959 terminal->kboard when MULTI_KBOARD is defined.
15960
15961 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
15962 (SYSTEM_PURESIZE_EXTRA): Only define on Carbon.
15963
15964 2007-08-29 Jason Rumney <jasonr@gnu.org>
15965
15966 * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined.
15967 (make_terminal_frame) [WINDOWSNT]: Initialize terminal.
15968
15969 * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]:
15970 (mac_init_fringe) [MAC_OS]: Get rif from selected_frame.
15971
15972 * keyboard.c (restore_kboard_configuration): Only define when
15973 MULTI_KBOARD defined.
15974
15975 * makefile.w32-in: Update dependancies from Makefile.in.
15976 (OBJ1): Add terminal.$(O)
15977
15978 * term.c (dissociate_if_controlling_tty) [WINDOWSNT]:
15979 Don't define function body.
15980 (init_tty) [WINDOWSNT]: Use selected_frame for initializing.
15981
15982 * termhooks.h (display_info) [WINDOWSNT]: Add w32.
15983
15984 * w32.c (request_sigio, unrequest_sigio): Remove.
15985
15986 * w32console.c (w32con_move_cursor, w32con_clear_to_end)
15987 (w32con_clear_frame, w32con_clear_end_of_line)
15988 (w32con_ins_del_lines, w32con_insert_glyphs, w32con_write_glyphs)
15989 (w32con_delete_glyphs, w32con_set_terminal_window)
15990 (scroll_line, w32_sys_ring_bell): Add frame arg.
15991 (w32con_set_terminal_modes, w32con_reset_terminal_modes):
15992 Add terminal arg.
15993 (PICK_FRAME): Remove.
15994 (w32con_write_glyphs): Use frame specific terminal coding.
15995 (one_and_only_w32cons): New global variable.
15996 (initialize_w32_display): Use it for storing hooks.
15997 (create_w32cons_output): New function.
15998
15999 * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first
16000 arg a frame.
16001
16002 * w32fns.c (x_create_tip_frame): Set terminal and ref count.
16003 Set window_system.
16004 (x_set_tool_bar_lines): Don't use updating_frame.
16005 (Fx_create_frame): Set terminal and ref count.
16006 (Fx_open_connection): Remove window-system check.
16007
16008 * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook.
16009
16010 * w32term.c (w32_term_init): Call add_keyboard_wait_descriptor.
16011 (w32_set_terminal_modes, w32_reset_terminal_modes): Add terminal arg.
16012 (x_clear_frame, x_delete_glyphs, w32_ring_bell, x_ins_del_lines):
16013 Add frame arg.
16014 (x_delete_terminal, w32_create_terminal): New functions.
16015 (w32_term_init): Create a terminal.
16016 (w32_initialize): Move terminal specific initialization to
16017 w32_create_terminal.
16018
16019 * w32term.h (x_output): Remove foreground_pixel and background_pixel.
16020 (w32_clear_rect, w32_clear_area): Use background from frame.
16021 (w32_display_info): Add terminal.
16022 (w32_sys_ring_bell, x_delete_display): Declare here.
16023
16024 * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type.
16025
16026 * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k.
16027
16028 2007-08-29 Kalle Olavi Niemitalo <kon@iki.fi> (tiny change)
16029
16030 * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char):
16031 Fix get_named_tty calls for the controlling tty.
16032
16033 2007-08-29 ARISAWA Akihiro <ari@mbf.ocn.ne.jp> (tiny change)
16034
16035 * term.c (dissociate_if_controlling_tty)[USG]: Fix parse error.
16036
16037 2007-08-29 Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp> (tiny change)
16038
16039 * term.c (tty_insert_glyphs): Add missing first parameter.
16040
16041 2007-08-29 Károly Lőrentey <karoly@lorentey.hu>
16042
16043 * buffer.c (Fbuffer_list, Fbury_buffer):
16044 Take frame->buried_buffer_list into account.
16045
16046 * cm.c (current_tty): New variable, for cmputc().
16047 (cmputc): Use it.
16048 (cmcheckmagic): Add tty parameter, look up terminal streams there.
16049 (calccost): Add tty parameter. Use emacs_tputs() instead of tputs().
16050 (cmgoto): Add tty parameter. Pass it on to calccost().
16051 Use emacs_tputs() instead of tputs().
16052
16053 * cm.h (emacs_tputs): New macro to set current_tty, and then call
16054 tputs().
16055 (current_tty): New variable, for cmputc().
16056 (cmcheckmagic, cmputc, cmgoto): Add prototypes.
16057
16058 * eval.c (unwind_to_catch): Don't call x_fully_uncatch_errors.
16059 (internal_condition_case, internal_condition_case_1)
16060 (internal_condition_case_2): Don't abort when x_catching_errors.
16061
16062 * fns.c (Fyes_or_no_p): Don't try to open an X dialog on tty terminals.
16063 (Fy_or_n_p): Likewise. Use temporarily_switch_to_single_kboard to
16064 prevent crashes caused by bogus longjmps in read_char.
16065
16066 * keymap.h (Fset_keymap_parent): Add EXFUN.
16067
16068 * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
16069 * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
16070 Remove redundant definition.
16071
16072 * macfns.c (x_set_mouse_color, x_make_gc):
16073 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
16074
16075 * w32term.c (x_free_frame_resources):
16076 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
16077 (w32_initialize): Use the accessor macros for terminal characteristics.
16078
16079 * macterm.c (mac_initialize): Use Fset_input_interrupt_mode.
16080 Use the accessor macros for terminal characteristics.
16081 * msdos.c (internal_terminal_init): Use the accessor macros for
16082 terminal characteristics.
16083 (ScreenVisualBell, internal_terminal_init):
16084 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
16085
16086 * termopts.h (no_redraw_on_reenter): Declare.
16087
16088 * alloc.c (emacs_blocked_malloc): Disable mallopt call.
16089 (mark_terminals, mark_ttys): Declare.
16090 (Fgarbage_collect): Call them.
16091 (mark_object): Mark buried_buffer_list.
16092
16093 * prefix-args.c: Include stdlib.h for exit.
16094
16095 * syssignal.h: Add comment.
16096
16097 * indent.c: Include stdio.h.
16098
16099 * window.h (Vinitial_window_system): Declare.
16100 (Vwindow_system): Delete declaration.
16101
16102 * fontset.c (Finternal_char_font): Use FRAME_RIF.
16103
16104 * image.c (lookup_image): Don't initialize `c' until the xasserts
16105 have been run.
16106
16107 * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and
16108 FRAME_FOREGROUND_PIXEL.
16109
16110 * print.c (print_preprocess): Don't lose print_depth levels while
16111 iterating.
16112
16113 * widget.c (update_from_various_frame_slots):
16114 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
16115
16116 * window.c (set_window_buffer): Don't call clear_mouse_face on tty
16117 frames.
16118 (window_internal_height): Remove bogus make_number call.
16119 (init_window_once): Call make_terminal_frame with two zero parameters.
16120
16121 * fileio.c (Fread_file_name): Update comment.
16122
16123 * callint.c (Fcall_interactively):
16124 Use temporarily_switch_to_single_kboard instead of single_kboard_state.
16125 Make sure it is correctly unwound.
16126
16127 * xsmfns.c (x_session_close): New function.
16128
16129 * coding.h (terminal_coding, safe_terminal_coding, keyboard_coding):
16130 Delete declarations.
16131
16132 * xterm.h: Remove declaration for x_fully_uncatch_errors.
16133 (x_output): Remove background_pixel and foreground_pixel fields.
16134 (x_display_info): Add new field TERMINAL. Remove KBOARD field.
16135 (x_delete_device, x_session_close): Declare.
16136
16137 * lread.c: Include setjmp.h. Update declaration of `read_char'.
16138 (read_filtered_event): Call `read_char' with a local
16139 `wrong_kboard_jmpbuf'.
16140
16141 * minibuf.c (read_minibuf): Call temporarily_switch_to_single_kboard.
16142 Don't call single_kboard_state. Use FRAME_RIF.
16143
16144 * process.c (Fmake_network_process): Don't unrequest_sigio on modern
16145 systems.
16146
16147 * lisp.h (set_process_environment): Rename to `set_global_environment'.
16148 (Fframe_with_environment, Fset_input_meta_mode)
16149 (Fset_quit_char): EXFUN.
16150 (x_create_device, tty_output, terminal, tty_display_info): Declare.
16151 (init_sys_modes, reset_sys_modes): Update prototypes.
16152 (init_all_sys_modes, reset_all_sys_modes): New prototypes.
16153
16154 * keyboard.h (struct kboard): Add new fields Vlocal_function_key_map,
16155 Vlocal_key_translation_map, and Vkeyboard_translate_table.
16156 (Vfunction_key_map, Vkeyboard_translate_table, single_kboard_state):
16157 Delete declarations.
16158 (Vfunction_key_map, Vkey_translation_map, push_kboard, pop_kboard)
16159 (temporarily_switch_to_single_kboard, tty_read_avail_input):
16160 New declarations.
16161
16162 * emacs.c (main): Don't call init_sys_modes(), the new term_init()
16163 already does that during init_display(). Call syms_of_keymap
16164 before syms_of_keyboard. Call `syms_of_terminal'.
16165 Call set_initial_environment, not set_process_environment.
16166 (shut_down_emacs): Call reset_all_sys_modes() instead of
16167 reset_sys_modes().
16168
16169 * xfaces.c (x_free_gc): Protect xassert with GLYPH_DEBUG.
16170 (internal_resolve_face_name, resolve_face_name_error): New functions.
16171 (resolve_face_name): Protect against loops and errors thrown by Fget.
16172 (realize_default_face): Don't use FRAME_FONT unless frame is an X frame.
16173 (Ftty_supports_face_attributes_p): Update tty_capable_p call.
16174
16175 * scroll.c: Replace CURTTY() with local variables throughout the
16176 file (where applicable).
16177 (calculate_scrolling, calculate_direct_scrolling)
16178 (scrolling_1, scroll_cost): Use the accessor macros for terminal
16179 characteristics.
16180
16181 * keymap.c (Vfunction_key_map): Remove.
16182 (Fdescribe_buffer_bindings): Update references to Vfunction_key_map.
16183 (syms_of_keymap): Remove DEFVAR for Vfunction_key_map.
16184 (Vkey_translation_map): Remove.
16185 (syms_of_keymap): Remove DEFVAR for key-translation-map.
16186 (Fdescribe_buffer_bindings)
16187 (read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards):
16188 Update for terminal-local key-translation-map.
16189
16190 * Makefile.in (callproc.o): Update dependencies.
16191 (lisp, shortlisp): Add termdev.elc.
16192 (obj): Add terminal.o.
16193 (terminal.o): Add dependencies.
16194 [HAVE_CARBON]: Make terminal.o depend on macgui.h.
16195 (data.o, fns.o): Add termhooks.h dependency.
16196 (SOME_MACHINE_LISP): Add dnd.elc.
16197 (minibuf.o): Fix typo.
16198 Update dependencies.
16199
16200 * data.c (do_symval_forwarding, store_symval_forwarding)
16201 (find_symbol_value): Use the selected frame's keyboard, not
16202 current_kboard.
16203
16204 * .gdbinit (init_sys_modes): Use Vinitial_window_system instead of
16205 Vwindow_system.
16206
16207 * xmenu.c (Fx_menu_bar_open) [USE_X_TOOLKIT, USE_GTK]: Rename from
16208 Fmenu_bar_open.
16209 (syms_of_xmenu): Update defsubr.
16210 (mouse_position_for_popup, Fx_popup_menu)
16211 (Fx_popup_dialog, x_activate_menubar, update_frame_menubar)
16212 (set_frame_menubar, free_frame_menubar)
16213 (create_and_show_popup_menu, xmenu_show)
16214 (create_and_show_dialog, xdialog_show, xmenu_show): Abort if not
16215 an X frame.
16216
16217 * xselect.c (x_own_selection): Abort if not an X frame.
16218 (some_frame_on_display): Check if it is an X frame.
16219 (x_handle_selection_clear): Deal with MULTI_KBOARD.
16220
16221 * coding.c: Include frame.h and termhooks.h.
16222 (terminal_coding, keyboard_coding): Delete.
16223 (Fset_terminal_coding_system_internal)
16224 (Fset_keyboard_coding_system_internal)
16225 (Fkeyboard_coding_system)
16226 (Fterminal_coding_system): Add a terminal parameter.
16227 Get terminal_coding from the terminal.
16228 (init_coding_once): Don't call setup_coding_system here.
16229
16230 * dispextern.h (set_scroll_region, turn_off_insert)
16231 (turn_off_highlight, background_highlight, clear_end_of_line_raw)
16232 (tty_clear_end_of_line, tty_setup_colors)
16233 (delete_tty, updating_frame)
16234 (produce_special_glyphs, produce_glyphs, write_glyphs)
16235 (insert_glyphs): Remove.
16236 (raw_cursor_to, clear_to_end, tty_turn_off_insert)
16237 (tty_turn_off_highlight, get_tty_size): Add declaration.
16238 (tabs_safe_p, init_baud_rate, get_tty_terminal): Update prototypes.
16239
16240 * frame.h (enum output_method): Add output_initial.
16241 (struct x_output): Delete.
16242 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
16243 Access foreground_pixel and background_pixel directly from the frame.
16244 (tty_display): Delete.
16245 (struct frame): Add buried_buffer_list, foreground_pixel,
16246 background_pixel and terminal. Delete kboard.
16247 (union output_data): Add tty.
16248 (FRAME_KBOARD): Get the kboard from the terminal.
16249 (FRAME_INITIAL_P): New macro.
16250 (Qtty, Qtty_type, Qterminal, Qterminal_live_p, Qenvironment)
16251 (Qterm_environment_variable, Qdisplay_environment_variable)
16252 (make_terminal_frame, Qburied_buffer_list, Qwindow_system):
16253 New declarations.
16254
16255 * termchar.h (tty_output, tty_display_info): New structures.
16256 (tty_list): Declare.
16257 (FRAME_TTY, CURTTY): New macros.
16258 (must_write_spaces, min_padding_speed, fast_clear_end_of_line)
16259 (line_ins_del_ok, char_ins_del_ok, scroll_region_ok)
16260 (scroll_region_cost, memory_below_frame, fast_clear_end_of_line)
16261 (dont_calculate_costs, no_redraw_on_reenter): Remove declarations.
16262
16263 * callproc.c: Include frame.h and termhooks.h, for terminal
16264 parameters.
16265 (add_env): New function.
16266 (child_setup): Use it.
16267 (child_setup, getenv_internal): Handle the new Vprocess_environment.
16268 (getenv_internal): Fix get_terminal_param call.
16269 (Fgetenv_internal, egetenv): Update doc.
16270 (syms_of_callproc): Initialize Vprocess_environment to nil.
16271 Register and initialize them. Remove obsolete defvars. Update doc
16272 strings.
16273 (child_setup): Handle Vlocal_environment_variables.
16274 (getenv_internal): Add terminal parameter.
16275 Handle Vlocal_environment_variables.
16276 (Fgetenv_internal): Add terminal parameter.
16277 (child_setup, getenv_internal, Fgetenv_internal): Store the local
16278 environment in a frame (not terminal) parameter. Update doc strings.
16279 (set_initial_environment): Rename from set_global_environment.
16280 Store Emacs environment in initial frame parameter.
16281
16282 * xdisp.c (redisplay_internal): Update references to
16283 `previous_terminal_frame'.
16284 (display_mode_line, Fformat_mode_line): Replace calls to
16285 `push_frame_kboard' with `push_kboard'.
16286 (get_glyph_string_clip_rects): Add extra parentheses and
16287 braces to prevent compiler warnings.
16288 (calc_pixel_width_or_height): Add xassert to check that the
16289 frame is alive. Don't call `lookup_image' on a termcap frame.
16290 (message2_nolog, message3_nolog, redisplay_internal)
16291 (set_vertical_scroll_bar, redisplay_window, check_x_display_info)
16292 (x_set_scroll_bar_foreground, x_set_scroll_bar_background)
16293 (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p)
16294 (Fx_display_pixel_width, Fx_display_pixel_height)
16295 (Fx_display_planes, Fx_display_color_cells)
16296 (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
16297 (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width)
16298 (Fx_display_backing_store, Fx_display_visual_class)
16299 (Fx_display_save_under, Fx_close_connection, x_create_tip_frame):
16300 Use FRAME_TERMINAL_P, FRAME_WINDOW_P, FRAME_TTY and FRAME_RIF.
16301
16302 * xfns.c (x_set_foreground_color x_set_background_color)
16303 (x_set_mouse_color, x_set_cursor_color, x_make_gc):
16304 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
16305 (Fx_create_frame, x_create_tip_frame, build_string, x_window)
16306 (Fx_create_frame, x_create_tip_frame): Don't create frames on a
16307 terminal that is being deleted.
16308 (Fx_create_frame): Use `store_frame_param' to set `window-system'
16309 frame parameter, and make sure it overrides any user-supplied setting.
16310 (Fx_close_connection, Fx_synchronize): Unify argument names with
16311 the rest of the DEFUNs.
16312
16313 * dispnew.c (Fsend_string_to_terminal): Update call to
16314 `get_tty_terminal'.
16315 (Fredraw_frame, Fsend_string_to_terminal)
16316 (Fsend_string_to_terminal, init_display): Use FRAME_RIF,
16317 FRAME_TERMCAP_P and FRAME_TTY.
16318 (window_change_signal): Don't believe width/height values that are
16319 impossibly small.
16320 (Vinitial_window_system): Rename from Vwindow_system.
16321 (termscript, Wcm, rif): Delete.
16322
16323 * termhooks.h (struct terminal): New struct containing the
16324 previously global text display hooks and new members NAME,
16325 DELETED and PARAM_ALIST.
16326 (FRAME_TERMINAL, TERMINAL_TERMINAL_CODING)
16327 (TERMINAL_KEYBOARD_CODING, TERMINAL_ACTIVE_P, FRAME_WINDOW_P)
16328 (FRAME_RIF): New macros.
16329 (get_terminal_param, get_device): New declarations.
16330 (termscript): Delete declaration.
16331
16332 * xterm.c (x_initialize): Use Fset_input_interrupt_mode.
16333 (XTflash, x_free_frame_resources, x_scroll_bar_create)
16334 (x_scroll_bar_set_handle): Use FRAME_BACKGROUND_PIXEL and
16335 FRAME_FOREGROUND_PIXEL.
16336 (x_fully_uncatch_errors): Disable definition.
16337 (x_scroll_bar_expose): Fix reference to foreground pixel.
16338 (XTread_socket): Disable loop on all X displays.
16339 (x_delete_terminal): Don't set terminal->deleted and let
16340 delete_terminal delete the frames on the terminal.
16341 (x_delete_display): Doc update to reflect changes in
16342 delete_terminal.
16343 (x_display_info) <terminal>: Move member earlier in the struct.
16344 (deleting_tty): Remove old variable.
16345 (Fsuspend_tty): Call clear_tty_hooks.
16346 (Fresume_tty, init_tty): Call set_tty_hooks.
16347 (Ftty_display_color_p, Ftty_display_color_cells): Don't throw
16348 errors on X frames.
16349 (x_catch_errors_unwind): Abort if x_error_message is NULL.
16350 (handle_one_xevent): Initialize `f' to NULL.
16351 (x_delete_terminal, x_create_terminal): New functions.
16352 (XTset_terminal_modes, XTreset_terminal_modes)
16353 (XTread_socket, x_connection_closed, x_term_init)
16354 (x_term_init, x_delete_display): Add terminal parameter.
16355 (x_term_init) [!HAVE_GTK_MULTIDISPLAY]: Refuse to create secondary
16356 X connections.
16357
16358 * frame.c: Include termchar.h.
16359 (Qterminal, Qterminal_live_p, Qburied_buffer_list, Qtty, Qtty_type)
16360 (Qwindow_system, Qenvironment, Qterm_environment_variable)
16361 (Qdisplay_environment_variable): New vars.
16362 (Fframep): Deal with output_initial.
16363 (Fframe-live-p): Doc fix.
16364 (Fwindow-system): New function.
16365 (x_set_screen_gamma, store_frame_param): Fix compilation errors.
16366 (make_terminal_frame): Don't create frames on a terminal that is
16367 being deleted. Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
16368 (store_frame_param): Check for found_for_frame before calling XFRAME.
16369 (Fmake_terminal_frame): Handle NULL tty names correctly.
16370 (syms_of_frame): Enhance doc string of `default-frame-alist'.
16371 (Fdelete_frame): Remove unused variable `count'. Don't allow other
16372 frames to refer to a deleted frame in their 'environment parameter.
16373 (Fframe_with_environment): New function.
16374 (syms_of_frame): Defsubr it. Initialize and staticpro Qenvironment.
16375 (get_future_frame_param): New function.
16376 (Fmake_terminal_frame): Use it.
16377 (x_set_frame_parameters, x_set_screen_gamma): Use FRAME_RIF.
16378
16379 * sysdep.c (init_sys_modes, reset_sys_modes): Update for renames.
16380 * sysdep.c (reset_sys_modes): Update for renames.
16381
16382 * keyboard.c (tty_read_avail_input): New function.
16383 (Fset_input_interrupt_mode, Fset_output_flow_control): New functions.
16384 (syms_of_keyboard): Defsubr them.
16385 (Fset_input_meta_mode, Fset_quit_char): New functions.
16386 (Fset_input_mode): Split to above functions.
16387 (read_char_minibuf_menu_prompt): Add wrong_kboard_jmpbuf
16388 parameter. Use it in call to `read_char'.
16389 (read_char): Declare. Update call to `read_char_minibuf_menu_prompt'.
16390 Set wrong_kboard_jmpbuf correctly in recursive calls.
16391 Use current_kboard to access Vkeyboard_translate_table.
16392 Enhance comment before extra longjmp to wrong_kboard_jmpbuf.
16393 Add wrong_kboard_jmpbuf parameter to allow for recursive calls.
16394 Update longjmp invocations. Remember the original current_kboard,
16395 and longjmp to `wrong_kboard_jmpbuf' when a filter, timer or sentinel
16396 changes it. Comment out unnecessary calls to
16397 `record_single_kboard_state' and `any_kboard_state'.
16398 Update recursive calls.
16399 (wrong_kboard_jmpbuf): Remove global variable.
16400 (read_key_sequence): Remove unused variable wrong_kboard_jmpbuf.
16401 Handle deleted interrupted_kboards correctly; that is a legal
16402 case. Add `wrong_kboard_jmpbuf' local variable. Update setjmp
16403 and read_char calls. Abort if interrupted_kboard died in read_char.
16404 (any_kboard_state, single_kboard_state)
16405 (push_frame_kboard): Remove function.
16406 (pop_kboard): Switch out of single_kboard mode if the kboard has
16407 been deleted. Remove unused variable. Help debugging by not
16408 changing current_kboard unnecessarily. Set current_kboard to the
16409 kboard of the selected frame when the stored kboard object has
16410 been deleted before pop_kboard.
16411 (temporarily_switch_to_single_kboard): Change first parameter to a
16412 frame pointer. Throw an error when caller wants to change kboards
16413 while in single_kboard mode. Don't push_kboard if we weren't in
16414 single kboard state. Don't pop_kboard if we popped into any
16415 kboard state.
16416 (restore_kboard_configuration): Abort if pop_kboard changed the
16417 kboard in single_kboard mode. Call pop_kboard only after setting
16418 up single_kboard mode.
16419 (Frecursive_edit): Switch to single_kboard mode only in nested
16420 command loops.
16421 (cmd_error, command_loop, command_loop_1, timer_check):
16422 Comment out unnecessary call to `any_kboard_state' and
16423 `record_single_kboard_state'.
16424 (delete_kboard): Exit single_kboard mode if we have just deleted
16425 that kboard. Use FRAME_KBOARD.
16426 (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not
16427 `fatal_error_signal'.
16428 (record_single_kboard_state): Don't push_kboard if we weren't in
16429 single kboard state. Don't pop_kboard if we popped into any
16430 kboard state.
16431 (push_frame_kboard): Rename to push_kboard.
16432 (kbd_buffer_get_event): Use FRAME_TERMINAL.
16433 (read_avail_input): Read input from all terminals.
16434 (mark_kboards): Also mark Vkeyboard_translate_table.
16435 (kbd_buffer_store_event_hold): Simplify condition.
16436 (read_key_sequence): Reinitialize fkey and keytran at each replay.
16437 (Vkeyboard_translate_table): Move to struct kboard.
16438 (init_kboard): Initialize Vkeyboard_translate_table.
16439 (syms_of_keyboard): Use DEFVAR_KBOARD to define
16440 Vkeyboard_translate_table. Update doc strings. Update docs of
16441 local-function-key-map and function-key-map.
16442
16443 * terminal.c: New file.
16444
16445 * term.c: Include errno.h.
16446 (Vring_bell_function, device_list, initial_device)
16447 (next_device_id, ring_bell, update_begin, update_end)
16448 (set_terminal_window, cursor_to, raw_cursor_to)
16449 (clear_to_end, clear_frame, clear_end_of_line)
16450 (write_glyphs, insert_glyphs, delete_glyphs, ins_del_lines)
16451 (Fdisplay_name, create_device, delete_device): Move to terminal.c.
16452 (syms_of_term): Move their initialization to terminal.c.
16453 (get_tty_terminal, Fdisplay_tty_type, Ftty_display_color_p)
16454 (Ftty_display_color_cells)
16455 (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output)
16456 (clear_tty_hooks, set_tty_hooks)
16457 (init_tty, maybe_fatal): New functions.
16458 (Ftty_type): Return nil if terminal is not on a tty instead of
16459 throwing an error. Doc update.
16460 (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>:
16461 Doc update. Initialize new subrs and variables.
16462 (delete_tty): Use terminal->deleted.
16463 (tty_set_terminal_modes): Rename from set_terminal_modes.
16464 (tty_reset_terminal_modes): Rename from reset_terminal_modes.
16465 (set_scroll_region): Rename to `tty_set_scroll_region'.
16466 (turn_on_insert): Rename to `tty_turn_on_insert'.
16467 (turn_off_insert): Rename to `tty_turn_off_insert'.
16468 (turn_off_highlight): Rename to `tty_turn_off_highlight'.
16469 (turn_on_highlight): Rename to `tty_turn_on_highlight'.
16470 (toggle_highligh): Rename to `tty_toggle_highlight'.
16471 (background_highlight): Rename to `tty_background_highlight'.
16472 (highlight_if_desired): Rename to `tty_highlight_if_desired'.
16473 (tty_ring_bell, tty_update_end, tty_set_terminal_window)
16474 (tty_set_scroll_region, tty_background_highlight)
16475 (tty_cursor_to, tty_raw_cursor_to, tty_clear_to_end)
16476 (tty_clear_frame, tty_clear_end_of_line, tty_write_glyphs)
16477 (tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines)
16478 (term_get_fkeys, tty_setup_colors, dissociate_if_controlling_tty):
16479 Add static modifier.
16480 (tty_reset_terminal_modes, tty_set_terminal_window)
16481 (tty_set_scroll_region, tty_background_highlight)
16482 (tty_highlight_if_desired, tty_cursor_to)
16483 (tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame)
16484 (tty_clear_end_of_line, tty_write_glyphs, tty_insert_glyphs)
16485 (tty_delete_glyphs, tty_ins_del_lines, turn_on_face): Update for
16486 renames.
16487
16488 2007-08-28 Jan Djärv <jan.h.d@swipnet.se>
16489
16490 * keyboard.c: Qrtl is new.
16491 (parse_tool_bar_item): Handle :rtl keyword.
16492 (syms_of_keyboard): Intern :rtl keyword.
16493
16494 * dispextern.h (enum tool_bar_item_idx): Add TOOL_BAR_ITEM_RTL_IMAGE.
16495
16496 * gtkutil.c (xg_tool_bar_expose_callback): Just do SET_FRAME_GARBAGED
16497 so no Lisp code is executed.
16498 (file_for_image, find_rtl_image): New functions.
16499 (xg_get_image_for_pixmap): Use file_for_image.
16500 (update_frame_tool_bar): If direction is RTL, use RTL image if
16501 defined. Use Gtk stock images if defined.
16502
16503 2007-08-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16504
16505 * macterm.c (x_draw_composite_glyph_string_foreground): Draw rectangle
16506 for nonexistent or zero-width glyph in composition glyph.
16507
16508 2007-08-25 Stefan Monnier <monnier@iro.umontreal.ca>
16509
16510 * m/amdx86-64.h: Redirect to intel386.h if compiling for i386.
16511
16512 * xdisp.c (Finvisible_p): New function.
16513 (syms_of_xdisp): defsubr it.
16514
16515 2007-08-24 Juanma Barranquero <lekktu@gmail.com>
16516
16517 * image.c (syms_of_image) <image-library-alist, cross-disabled-images>:
16518 Doc fixes.
16519
16520 2007-08-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16521
16522 * mac.c [MAC_OSX] (select_and_poll_event, sys_select): Fix last changes.
16523
16524 2007-08-24 Martin Rudalics <rudalics@gmx.at>
16525
16526 * fileio.c (Finsert_file_contents): Consult CHARS_MODIFF to tell
16527 whether decoding has modified buffer contents.
16528
16529 2007-08-24 Jason Rumney <jasonr@gnu.org>
16530
16531 * image.c [HAVE_NTGUI]: Define dynamic loaded functions for SVG.
16532 (Qgdk_pixbuf, Qglib) [HAVE_NTGUI]: New symbols.
16533 (syms_of_image) [HAVE_NTGUI]: Intern and staticpro them.
16534 (init_svg_functions) [HAVE_NTGUI]: New function.
16535 (fn_g_type_init, fn_g_object_unref, fn_g_error_free): New #defines.
16536 (svg_load_image): Use them.
16537 (svg_load_image) [HAVE_NTGUI]: Implement background.
16538
16539 2007-08-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16540
16541 * Makefile.in (RSVG_LIBS, RSVG_CFLAGS): New variables.
16542 (ALL_CFLAGS): Use ${RSVG_CFLAGS} instead of @RSVG_CFLAGS@.
16543 (LIBX): Remove @RSVG_LIBS@.
16544 (LIBES): Add $(RSVG_LIBS).
16545
16546 * image.c (svg_load_image): Blend with specified background if exists.
16547 Use IMAGE_BACKGROUND. Add Mac OS Support.
16548
16549 * mac.c (wakeup_from_rne_enabled_p) [MAC_OSX]: Remove variable.
16550 (ENABLE_WAKEUP_FROM_RNE, DISABLE_WAKEUP_FROM_RNE) [MAC_OSX]:
16551 Remove macros.
16552 [MAC_OSX] (socket_callback): Do nothing.
16553 [MAC_OSX] (select_and_poll_event): Use CFRunLoopRunInMode instead of
16554 ReceiveNextEvent.
16555 [MAC_OSX] (sys_select): Likewise. Don't set context as argument to
16556 socket_callback.
16557 (mac_wakeup_from_rne) [MAC_OSX]: Do nothing.
16558
16559 2007-08-22 Glenn Morris <rgm@gnu.org>
16560
16561 * image.c (x_find_image_file): Search in etc/images/ rather than etc/.
16562
16563 2007-08-22 Paul Pogonyshev <pogonyshev@gmx.net>
16564
16565 * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS.
16566
16567 * image.c: Add support for SVG images. Some additional comments
16568 by Joakim Verona <joakim@verona.se>. When HAVE_RSVG is defined:
16569 (svg_image_p): New function to test for SVG image.
16570 (svg_load): New function to load SVG image.
16571 (svg_load_image): New function, helper for svg_load.
16572 (Qsvg): New Lisp_object.
16573 (svg_keyword_index): New enum.
16574 (svg_format): New static `image_keyword' struct.
16575 (svg_type): New static `image_type' struct.
16576 (librsvg/rsvg.h): Include it.
16577
16578 2007-08-23 Stefan Monnier <monnier@iro.umontreal.ca>
16579
16580 * lread.c (load_warn_old_style_backquotes): Fix up array size typo.
16581
16582 2007-08-22 Stefan Monnier <monnier@iro.umontreal.ca>
16583
16584 * lread.c (Qold_style_backquotes): New var.
16585 (syms_of_lread): Init and staticpro it.
16586 (load_warn_old_style_backquotes): New fun.
16587 (Fload): Use them to warn about old style backquotes.
16588 (end_of_file_error, Fload): Remove unused vars.
16589
16590 * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare.
16591
16592 * lread.c (Vold_style_backquotes): New var.
16593 (syms_of_lread): Init and export it to Elisp.
16594 (read1): Set it when we find an old-style (back)quote.
16595
16596 2007-08-22 Jason Rumney <jasonr@gnu.org>
16597
16598 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator.
16599
16600 2007-08-22 Katsumi Yamaoka <yamaoka@jpl.org>
16601
16602 * puresize.h (BASE_PURESIZE): Increase to 1140000.
16603
16604 2007-08-19 Richard Stallman <rms@gnu.org>
16605
16606 * eval.c (Ffunction, Fquote): Signal error if not 1 argument.
16607
16608 2007-08-19 Andreas Schwab <schwab@suse.de>
16609
16610 * alloc.c (pure): Round PURESIZE up.
16611
16612 2007-08-17 Jan Djärv <jan.h.d@swipnet.se>
16613
16614 * xterm.c (handle_one_xevent): Remove check that mouse click is in
16615 active frame.
16616
16617 2007-08-16 Richard Stallman <rms@gnu.org>
16618
16619 * eval.c (Fcommandp): Add parens to clarify.
16620
16621 * minibuf.c (Fall_completions): Use enum for type of table.
16622
16623 * emacs.c (USAGE2): Improve text.
16624
16625 2007-08-15 Philippe Waroquiers <philippe.waroquiers@eurocontrol.int>
16626
16627 * term.c (tty_default_color_capabilities): Declare static
16628 variables in file scope, to avoid HPUX compiler problem.
16629
16630 2007-08-13 Jan Djärv <jan.h.d@swipnet.se>
16631
16632 * gtkutil.c (update_frame_tool_bar): Use -1 as index
16633 to gtk_toolbar_insert.
16634
16635 2007-08-13 Stefan Monnier <monnier@iro.umontreal.ca>
16636
16637 * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup.
16638
16639 * insdel.c (reset_var_on_error): New fun.
16640 (signal_before_change, signal_after_change):
16641 Use it to reset (after|before)-change-functions to nil in case of error.
16642 Bind inhibit-modification-hooks to t.
16643 Don't bind (after|before)-change-functions to nil while they run.
16644
16645 2007-08-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16646
16647 * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when
16648 filling pixmap with stippled background.
16649
16650 2007-08-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16651
16652 * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event):
16653 Don't use invisible frame as parent window for repositioning.
16654
16655 2007-08-10 Stefan Monnier <monnier@iro.umontreal.ca>
16656
16657 * print.c (new_backquote_output): Rename from old_backquote_output.
16658 (print): Inverse its logic (according to its name) so as to match the
16659 behavior of new_backquote_flag in lread.c.
16660
16661 2007-08-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16662
16663 * gmalloc.c (posix_memalign): New function.
16664
16665 * macterm.c (frame_highlight, frame_unhighlight): Don't call
16666 ActivateControl/DeactivateControl here.
16667 [USE_MAC_TOOLBAR] (free_frame_tool_bar): Suppress animation when
16668 frame-notice-user-settings is non-nil.
16669 [USE_MAC_FONT_PANEL] (mac_handle_font_event): Also record parameter
16670 for kEventParamFMFontStyle.
16671 [TARGET_API_MAC_CARBON] (mac_handle_keyboard_event): Don't check
16672 mac_pass_command_to_system and mac_pass_control_to_system here.
16673 (XTread_socket): Call ActivateControl/DeactivateControl here.
16674 (XTread_socket) [TARGET_API_MAC_CARBON]:
16675 Check mac_pass_command_to_system and mac_pass_control_to_system here.
16676 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Add further workaround
16677 for window repositioning.
16678
16679 2007-08-08 Glenn Morris <rgm@gnu.org>
16680
16681 * Replace `iff' in doc-strings and comments.
16682
16683 2007-08-07 Chong Yidong <cyd@stupidchicken.com>
16684
16685 * xdisp.c (move_it_by_lines): Remove incorrect optimization.
16686
16687 2007-08-07 Martin Rudalics <rudalics@gmx.at>
16688
16689 * fileio.c (Finsert_file_contents): Run format-decode and
16690 after_insert_file_functions on entire buffer when REPLACE is
16691 non-nil and inhibit modification_hooks and point_motion_hooks.
16692 For consistency, run after_insert_file_functions iff something
16693 got inserted. Move signal_after_change and update_compositions
16694 after code running after_insert_file_functions. Make sure that
16695 undo_list doesn't record intermediate steps of the decoding process.
16696
16697 2007-08-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16698
16699 * emacs.c (main)
16700 [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
16701 Call malloc_enable_thread on interactive startup.
16702
16703 * gmalloc.c (_malloc_thread_enabled_p) [USE_PTHREAD]: New variable.
16704 (LOCK, UNLOCK, LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS)
16705 [USE_PTHREAD]: Conditionalize with it.
16706 (malloc_atfork_handler_prepare, malloc_atfork_handler_parent)
16707 (malloc_atfork_handler_child, malloc_enable_thread) [USE_PTHREAD]:
16708 New functions.
16709
16710 2007-08-06 Chong Yidong <cyd@stupidchicken.com>
16711
16712 * xdisp.c (redisplay_window): When restoring original buffer
16713 position, make sure it is still valid.
16714
16715 * image.c (png_load): Ignore png-supplied background color.
16716
16717 2007-08-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16718
16719 * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value.
16720 Use kCFAbsoluteTimeIntervalSince1970.
16721
16722 * macmenu.c (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]:
16723 New variable.
16724 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Set it if dialog
16725 event loop should be quit.
16726 [TARGET_API_MAC_CARBON] (create_and_show_dialog) [!MAC_OSX]:
16727 Quit dialog event loop if quit_dialog_event_loop is set.
16728
16729 * macselect.c [!TARGET_API_MAC_CARBON]: Include Scrap.h.
16730 (Selection): New typedef. Use instead of ScrapRef.
16731 (mac_get_selection_from_symbol): Rename from get_scrap_from_symbol.
16732 (mac_valid_selection_target_p): Rename from valid_scrap_target_type_p.
16733 (mac_clear_selection): Rename from clear_scrap.
16734 (get_flavor_type_from_symbol): New argument SEL and subsume function of
16735 scrap_has_target_type. All uses changed.
16736 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
16737 (mac_selection_has_target_p): New functions.
16738 (mac_put_selection_value): Rename from put_scrap_string.
16739 (mac_get_selection_value): Rename from get_scrap_string.
16740 (mac_get_selection_target_list): Rename from get_scrap_target_type_list.
16741 (put_scrap_private_timestamp, scrap_has_target_type)
16742 (get_scrap_private_timestamp): Remove functions.
16743 (SCRAP_FLAVOR_TYPE_EMACS_TIMESTAMP): Remove define.
16744 (x_own_selection, x_get_local_selection):
16745 Use mac_valid_selection_value_p.
16746 (x_own_selection): Don't use put_scrap_private_timestamp.
16747 Record OWNERSHIP-INFO into Vselection_alist instead.
16748 (x_get_local_selection): Don't check type if request is local.
16749 (Fx_selection_owner_p): Don't use get_scrap_private_timestamp.
16750 Detect ownership change with OWNERSHIP-INFO in Vselection_alist instead.
16751
16752 2007-08-04 Jan Djärv <jan.h.d@swipnet.se>
16753
16754 * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s,
16755 add comment explaining why.
16756
16757 2007-08-03 Richard Stallman <rms@gnu.org>
16758
16759 * fileio.c (Fvisited_file_modtime): Use make_time.
16760
16761 2007-08-01 Ryo Yoshitake <ryo@shiftmode.net> (tiny change)
16762
16763 * mac.c (init_mac_osx_environment): Adjust load-path on self-contained
16764 build.
16765
16766 2007-07-31 Stefan Monnier <monnier@iro.umontreal.ca>
16767
16768 * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT.
16769
16770 2007-07-30 Katsumi Yamaoka <yamaoka@jpl.org>
16771
16772 * puresize.h (BASE_PURESIZE): Increase to 1130000.
16773
16774 2007-07-30 Richard Stallman <rms@gnu.org>
16775
16776 * lread.c (readevalloop, read1): Treat NBSP as whitespace.
16777
16778 2007-07-29 Jan Djärv <jan.h.d@swipnet.se>
16779
16780 * gmalloc.c (__malloc_initialize): Remove pthread_once. Not needed.
16781
16782 2007-07-28 Nick Roberts <nickrob@snap.net.nz>
16783
16784 * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for
16785 remote default-directory.
16786
16787 * buffer.c (mode-line-format): Update doc string.
16788
16789 2007-07-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16790
16791 * w32term.c (w32_draw_fringe_bitmap): Extend fringe background to
16792 scroll bar gap.
16793 (x_scroll_bar_create): Set bar->fringe_extended_p.
16794 (w32_set_vertical_scroll_bar): Put leftmost/rightmost scroll bars
16795 on frame edge. Check fringe background extension. Don't clear
16796 extended fringe background area.
16797
16798 * w32term.h (struct scroll_bar): New member fringe_extended_p.
16799 (w32_fill_area): Enclose multiple statements with do ... while (0).
16800
16801 * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]:
16802 Extend fringe background to scroll bar gap.
16803 (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]:
16804 Set bar->fringe_extended_p.
16805 (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
16806 Put leftmost/rightmost scroll bars on frame edge. Check fringe
16807 background extension. Don't clear extended fringe background area.
16808
16809 * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
16810 New member fringe_extended_p.
16811
16812 2007-07-25 Glenn Morris <rgm@gnu.org>
16813
16814 * Relicense all FSF files to GPLv3 or later.
16815
16816 * COPYING: Switch to GPLv3.
16817
16818 2007-07-25 Stefan Monnier <monnier@iro.umontreal.ca>
16819
16820 * eval.c (Fcommandp): Pay attention to the `interactive-form' property.
16821
16822 * data.c (Finteractive_form): Check for the presence of an
16823 `interactive-form' symbol property more thoroughly.
16824
16825 * data.c (Finteractive_form): Use an `interactive-form' property if
16826 present, analogous to the function-documentation property.
16827
16828 2007-07-24 Jason Rumney <jasonr@gnu.org>
16829
16830 * w32fns.c (x_real_positions): Get real position from OS instead of
16831 calculating it.
16832
16833 2007-07-23 Jason Rumney <jasonr@gnu.org>
16834
16835 * filelock.c (current_lock_owner): Allow for @ sign in username.
16836
16837 2007-07-22 Nick Roberts <nickrob@snap.net.nz>
16838
16839 * xdisp.c (decode_mode_spec): Add case 'R' for to test for
16840 remote default-directory.
16841
16842 * buffer.c (mode-line-format): Describe above case in doc string.
16843
16844 2007-07-20 Eli Zaretskii <eliz@gnu.org>
16845
16846 * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):
16847 Define if not defined.
16848
16849 2007-07-18 Jason Rumney <jasonr@gnu.org>
16850
16851 * w32proc.c (w32_executable_type): Handle 64 bit executables.
16852
16853 2007-07-18 Richard Stallman <rms@gnu.org>
16854
16855 * data.c (Fsetq_default): Doc fix.
16856
16857 * eval.c (Fsetq): Doc fix.
16858
16859 2007-07-18 Juanma Barranquero <lekktu@gmail.com>
16860
16861 * coding.c (Ffind_operation_coding_system):
16862 * eval.c (For, Fand): Doc fixes.
16863 Reported by Johan Bockgård.
16864
16865 2007-07-18 Jan Djärv <jan.h.d@swipnet.se>
16866
16867 * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame.
16868
16869 * xterm.h: Declare x_ewmh_activate_frame.
16870
16871 * xterm.c (x_ewmh_activate_frame): New function.
16872 (XTframe_raise_lower): Move code to x_ewmh_activate_frame.
16873
16874 2007-07-17 Martin Rudalics <rudalics@gmx.at>
16875
16876 * window.c (Fdisplay_buffer): If largest or LRU window is the
16877 only window, split it even if it is not eligible for splitting.
16878 This restores the original behavior broken by the 2007-07-15
16879 change.
16880
16881 2007-07-17 Glenn Morris <rgm@gnu.org>
16882
16883 * abbrev.c (abbrev_check_chars): New function.
16884 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
16885 Call abbrev_check_chars to check abbrev characters are word
16886 constituents. Doc fix.
16887
16888 2007-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
16889
16890 * process.c (Fstart_process, Fmake_network_process)
16891 (read_process_output): Fix up last changes.
16892
16893 2007-07-16 Eli Zaretskii <eliz@gnu.org>
16894
16895 * makefile.w32-in (clean): Don't delete *~.
16896
16897 2007-07-16 Andreas Schwab <schwab@suse.de>
16898
16899 * window.c (Fdisplay_buffer): Use NILP.
16900 (Fset_window_scroll_bars): Likewise.
16901
16902 2007-07-15 Martin Rudalics <rudalics@gmx.at>
16903
16904 * window.c (window_min_size_2): New function.
16905 (window_min_size_1, size_window, Fdisplay_buffer)
16906 (Fsplit_window, adjust_window_trailing_edge): Use it to avoid
16907 windows without mode- or header-lines when window-min-height is
16908 too small.
16909 (size_window): Reset nodelete_p after testing it, following an
16910 earlier note by Kim F. Storm.
16911 (display_buffer): Do not set split_height_threshold to twice the
16912 value of window_min_height to avoid changing the value of a
16913 customizable variable. Rather explicitly check whether the
16914 height of the window that shall be splitted is at least as large
16915 as split_height_threshold.
16916 (Fwindow_full_width_p): New defun.
16917 (syms_of_window): Defsubr it.
16918
16919 * window.h: Add EXFUN for Fwindow_full_width_p.
16920
16921 2007-07-14 Jason Rumney <jasonr@gnu.org>
16922
16923 * process.c [WINDOWSNT]: Don't undefine AF_INET6.
16924
16925 2007-07-14 Richard Stallman <rms@gnu.org>
16926
16927 * eval.c (maybe_call_debugger): New function.
16928 (find_handler_clause): Use maybe_call_debugger.
16929 Call it when the handler says `debug'.
16930 Eliminate DEBUGGER_VALUE_PTR.
16931 (Fsignal): Eliminate debugger_value.
16932 (Qdebug): New variable.
16933 (syms_of_eval): Initialize it.
16934
16935 2007-07-14 Juanma Barranquero <lekktu@gmail.com>
16936
16937 * eval.c (Fprogn):
16938 * keyboard.c (Ftrack_mouse):
16939 * print.c (Fwith_output_to_temp_buffer):
16940 * window.c (Fsave_window_excursion): Doc fix.
16941
16942 2007-07-13 Stefan Monnier <monnier@iro.umontreal.ca>
16943
16944 * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400.
16945
16946 2007-07-12 Stefan Monnier <monnier@iro.umontreal.ca>
16947
16948 * process.h (struct Lisp_Process): Turn slots infd, outfd,
16949 kill_without_query, pty_flag, tick, update_tick, decoding_carryover,
16950 inherit_coding_system_flag, filter_multibyte, adaptive_read_buffering,
16951 read_output_delay, and read_output_skip from Lisp_Objects to ints.
16952 Remove unused encoding_carryover.
16953 * process.c: Adjust all functions accordingly.
16954
16955 2007-07-12 Richard Stallman <rms@gnu.org>
16956
16957 * term.c: Include unistd.h only if HAVE_UNISTD_H.
16958
16959 2007-07-11 Jason Rumney <jasonr@gnu.org>
16960
16961 * makefile.w32-in (LIBS): Include OLE32.
16962
16963 * w32fns.c (w32_msg_pump) <WM_EMACS_CREATEWINDOW>: Initialize COM.
16964 (w32_msg_pump) <WM_DESTROY>: Uninitialize COM.
16965
16966 2007-07-11 Stefan Monnier <monnier@iro.umontreal.ca>
16967
16968 * lisp.h (struct Lisp_Hash_Table): Turn next_weak into a bare pointer.
16969 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and turned
16970 from a Lisp_Object into a bare pointer.
16971 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
16972 Adjust the code correspondingly.
16973
16974 * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'.
16975
16976 * term.c: Include unistd.h for ttyname, used in handle_one_term_event.
16977 (term_show_mouse_face): Remove unused var `j'.
16978 (handle_one_term_event): Remove unused vars `i' and `j'.
16979 Don't cast return value of ttyname since it's not necessary.
16980
16981 2007-07-10 Stefan Monnier <monnier@iro.umontreal.ca>
16982
16983 * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using
16984 USE_LSB_TAG. Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
16985
16986 * fns.c (map_char_table): Use an array of int for `indices' rather than
16987 an array of Lisp_Objects (which are only ever integers anyway).
16988 (Fmap_char_table): Update caller.
16989 * lisp.h: Update prototype.
16990 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap):
16991 * fontset.c (Ffontset_info):
16992 * casetab.c (set_case_table): Update callers.
16993
16994 * editfns.c (Ftranspose_regions): Use EMACS_INT for positions.
16995
16996 * keymap.c (struct accessible_keymaps_data)
16997 (struct where_is_internal_data): New structures.
16998 (accessible_keymaps_1, where_is_internal_1): Use them to change
16999 interface to adhere to the one used by map_keymap.
17000 (Faccessible_keymaps, where_is_internal): Use map_keymap.
17001 (accessible_keymaps_char_table, where_is_internal_2): Remove.
17002
17003 * keymap.h (map_keymap_function_t): More informative prototype.
17004
17005 2007-07-10 Guanpeng Xu <herberteuler@hotmail.com>
17006
17007 * search.c (Vinhibit_changing_match_data, search_regs_1): New vars.
17008 (looking_at_1): Don't change search_regs and last_thing_searched
17009 if `inhibit-changing-match-data' is non-nil.
17010 (string_match_1, search_buffer, set_search_regs): Likewise.
17011 (syms_of_search): Add Lisp level definition for
17012 `inhibit-changing-match-data' and set it to nil.
17013 (boyer_moore): If `inhibit-changing-match-data' is non-nil, compute
17014 start and end of the match, instead of using values in search_regs.
17015
17016 2007-07-01 Stefan Monnier <monnier@iro.umontreal.ca>
17017
17018 * minibuf.c (Fcompleting_read): New value `confirm-only'
17019 for `require-match'.
17020
17021 2007-06-28 Stefan Monnier <monnier@iro.umontreal.ca>
17022
17023 * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as
17024 part of the 2007-06-27 change to syms_of_fileio.
17025
17026 2007-06-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17027
17028 * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event):
17029 Check WINDOWP before using XWINDOW. Consolidate return statements.
17030
17031 2007-06-27 Richard Stallman <rms@gnu.org>
17032
17033 * fileio.c (syms_of_fileio) <after-insert-file-functions>: Doc fix.
17034
17035 2007-06-27 Juanma Barranquero <lekktu@gmail.com>
17036
17037 * buffer.c (syms_of_buffer) <selective-display>: Fix typo in docstring.
17038
17039 2007-06-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17040
17041 * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Check this after including config.h.
17042 (_aligned_blocks_mutex) [USE_PTHREAD]: New variable.
17043 (LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS): New macros.
17044 (_free_internal, memalign): Use them.
17045 (_malloc_mutex, _aligned_blocks_mutex) [USE_PTHREAD]:
17046 Initialize to PTHREAD_MUTEX_INITIALIZER.
17047 (malloc_initialize_1) [USE_PTHREAD]: Don't use recursive mutex.
17048 (morecore_nolock): Rename from morecore. All uses changed.
17049 Use only nolock versions of internal allocation functions.
17050 (_malloc_internal_nolock, _realloc_internal_nolock)
17051 (_free_internal_nolock): New functions created from
17052 _malloc_internal, _realloc_internal, and _free_internal.
17053 (_malloc_internal, _realloc_internal, _free_internal): Use them.
17054 Copy hook value to automatic variable before its use.
17055 (memalign): Copy hook value to automatic variable before its use.
17056
17057 2007-06-26 Kenichi Handa <handa@m17n.org>
17058
17059 * coding.c (Ffind_operation_coding_system): Docstring improved.
17060 (syms_of_coding): Docstring of `file-coding-system-alist' improved.
17061
17062 2007-06-25 David Kastrup <dak@gnu.org>
17063
17064 * keymap.c (Fcurrent_active_maps): Add `position' argument.
17065 (Fwhere_is_internal): Adjust call to `current-active-maps' to
17066 cater for additional parameter.
17067
17068 * keymap.h: Adjust number of parameters to `current-active-maps'.
17069
17070 * doc.c (Fsubstitute_command_keys): Adjust call of
17071 `current-active-maps'.
17072
17073 2007-06-25 David Kastrup <dak@gnu.org>
17074
17075 * callint.c (Fcall_interactively): Make the parsing of interactive
17076 specs somewhat more readable.
17077
17078 2007-06-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17079
17080 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe background
17081 to scroll bar gap also when bitmap fills fringe. Draw only foreground
17082 if extended background has already been filled.
17083
17084 2007-06-22 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17085
17086 * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI.
17087 (USE_MAC_TOOLBAR): Require USE_CG_DRAWING.
17088
17089 * macmenu.c (mac_dialog_modal_filter, Fx_popup_dialog) [MAC_OSX]:
17090 Put special treatment for Fmessage_box, Fyes_or_no_p, and Fy_or_n_p
17091 in #if 0 as it is not compatible with y-or-n-p-with-timeout.
17092 (timer_check) [TARGET_API_MAC_CARBON]: Add extern.
17093 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Use QuitEventLoop
17094 instead of QuitAppModalLoopForWindow. Consolidate QuitEventLoop calls.
17095 (pop_down_dialog) [TARGET_API_MAC_CARBON]: New function.
17096 [TARGET_API_MAC_CARBON] (create_and_show_dialog): Use it for unwind.
17097 Run timers during dialog popup.
17098 (Fmenu_or_popup_active_p) [TARGET_API_MAC_CARBON]: Use popup_activated.
17099
17100 2007-06-21 Jason Rumney <jasonr@gnu.org>
17101
17102 * image.c (convert_mono_to_color_image): Swap fore and background.
17103
17104 2007-06-20 Jason Rumney <jasonr@gnu.org>
17105
17106 * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished.
17107 (w32_free_bdf_font): Unmap memory not handle.
17108
17109 2007-06-20 Sam Steingold <sds@gnu.org>
17110
17111 * gmalloc.c (__morecore): Fix the declaration to comply with the
17112 definition.
17113
17114 2007-06-20 Juanma Barranquero <lekktu@gmail.com>
17115
17116 * w32term.c (w32_delete_display): Remove leftover declaration.
17117 (w32_define_cursor, w32_initialize): Make static.
17118
17119 * w32.c (_wsa_errlist): Fix typo in error message.
17120 (init_environment): Ignore any environment variable from the
17121 registry having a null value.
17122
17123 2007-06-20 Glenn Morris <rgm@gnu.org>
17124
17125 * Makefile.in (LIBGIF): Default to -lgif.
17126
17127 2007-06-17 Jason Rumney <jasonr@gnu.org>
17128
17129 * w32menu.c (add_menu_item): Don't use multibyte string functions on
17130 unicode strings.
17131
17132 2007-06-16 Juanma Barranquero <lekktu@gmail.com>
17133
17134 * xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>:
17135 Fix typo in docstring.
17136
17137 2007-06-16 Eli Zaretskii <eliz@gnu.org>
17138
17139 * w32menu.c (add_menu_item): Escape `&' characters in menu items
17140 and their keybindings.
17141
17142 2007-06-15 Chong Yidong <cyd@stupidchicken.com>
17143
17144 * composite.c (update_compositions): Fix last fix.
17145
17146 2007-06-14 Jason Rumney <jasonr@gnu.org>
17147
17148 * w32.c (get_process_times_fn): New function pointer.
17149 (globals_of_w32): Intialize it if present in kernel32.dll.
17150 (w32_get_internal_run_time): New function.
17151
17152 * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it.
17153
17154 2007-06-14 Kenichi Handa <handa@etlken.m17n.org>
17155
17156 * composite.c (update_compositions): Check the validness of
17157 compositions.
17158
17159 2007-06-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17160
17161 * frame.h (struct frame) [MAC_OS]: New member external_tool_bar.
17162 (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it.
17163
17164 * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity.
17165 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR.
17166
17167 * macgui.h (USE_MAC_TOOLBAR): New define.
17168
17169 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
17170 Return immediately unless popup is activated.
17171
17172 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe
17173 background to scroll bar gap.
17174 (x_scroll_bar_create) [MAC_OSX]: Set bar->fringe_extended_p.
17175 (XTset_vertical_scroll_bar) [MAC_OSX]: Put leftmost/rightmost
17176 scroll bars on frame edge. Check fringe background extension.
17177 Don't clear extended fringe background area.
17178 (TOOLBAR_IDENTIFIER, TOOLBAR_ICON_ITEM_IDENTIFIER)
17179 (TOOLBAR_ITEM_COMMAND_ID_OFFSET, TOOLBAR_ITEM_COMMAND_ID_P)
17180 (TOOLBAR_ITEM_COMMAND_ID_VALUE, TOOLBAR_ITEM_MAKE_COMMAND_ID):
17181 [USE_MAC_TOOLBAR]: New macros.
17182 (mac_move_window_with_gravity, mac_get_window_origin_with_gravity)
17183 (mac_handle_toolbar_event, mac_image_spec_to_cg_image)
17184 (mac_create_frame_tool_bar, update_frame_tool_bar, free_frame_tool_bar)
17185 (mac_tool_bar_note_mouse_movement, mac_handle_toolbar_command_event)
17186 [USE_MAC_TOOLBAR]: New functions.
17187 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Reposition window
17188 manually if previous repositioning has failed.
17189 (mac_handle_keyboard_event): Use precomputed event kind.
17190 (XTread_socket) [USE_MAC_TOOLBAR]: Handle click in structure region
17191 as tool bar item click. Handle mouse movement over tool bar items.
17192
17193 * macterm.h (struct mac_output) [USE_MAC_TOOLBAR]: New member
17194 toolbar_win_gravity.
17195 (struct scroll_bar) [MAC_OSX]: New member fringe_extended_p.
17196 (update_frame_tool_bar, free_frame_tool_bar) [USE_MAC_TOOLBAR]:
17197 Add externs.
17198
17199 * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window)
17200 [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display.
17201
17202 2007-06-14 Chong Yidong <cyd@stupidchicken.com>
17203
17204 * image.c (search_image_cache): Remove unused variable.
17205
17206 2007-06-13 Chong Yidong <cyd@stupidchicken.com>
17207
17208 * xfns.c, xmenu.c: Link to xaw3d if available.
17209
17210 2007-06-13 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17211
17212 * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members
17213 frame_foreground and frame_background.
17214
17215 * image.c (lookup_image): Save frame foreground and background colors.
17216 (search_image_cache): Check if saved and current frame colors match.
17217
17218 2007-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
17219
17220 * regex.c (regex_compile): Remove the `regnum' counter.
17221 Use bufp->re_nsub instead. Add support for \(?N:RE\).
17222
17223 2007-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
17224
17225 * term.c: Include intervals.h to declare Fget_text_property.
17226
17227 2007-06-10 Jason Rumney <jasonr@gnu.org>
17228
17229 * w32fns.c (Fx_file_dialog): Take size from struct not pointer.
17230
17231 2007-06-08 Juanma Barranquero <lekktu@gmail.com>
17232
17233 * callint.c (Fcall_interactively):
17234 * editfns.c (Fdelete_and_extract_region):
17235 * fileio.c (Fread_file_name):
17236 * fns.c (Fmapconcat):
17237 * keyboard.c (cmd_error_internal):
17238 * keymap.c (Fkey_description):
17239 * lread.c (openp):
17240 * minibuf.c (read_minibuf):
17241 * search.c (wordify):
17242 * sunfns.c (sel_read):
17243 * xdisp.c (Fformat_mode_line, syms_of_xdisp):
17244 * xfns.c (x_default_scroll_bar_color_parameter):
17245 * xmenu.c (menu_help_callback):
17246 * xselect.c (Fx_get_atom_name):
17247 * xterm.c (x_term_init): Use empty_unibyte_string.
17248
17249 2007-06-08 Dmitry Antipov <dmantipov@yandex.ru> (tiny change)
17250
17251 * alloc.c (init_strings): Initialize canonical empty strings.
17252 (make_uninit_string, make_uninit_multibyte_string): Return appropriate
17253 canonical empty string when the requested size is 0.
17254
17255 * emacs.c (empty_unibyte_string): Rename from empty_string.
17256 (empty_multibyte_string): New canonical empty string.
17257 (syms_of_emacs): Don't initialize empty_string.
17258
17259 * lisp.h (STRING_SET_UNIBYTE): Return the canonical empty unibyte
17260 string, if appropriate.
17261 (empty_unibyte_string, empty_multibyte_string): New externs.
17262 (empty_string): Remove extern.
17263
17264 * lread.c (syms_of_lread): Use empty_unibyte_string.
17265
17266 2007-06-07 Jason Rumney <jasonr@gnu.org>
17267
17268 * s/ms-w32.h: Don't define HAVE_TZNAME.
17269
17270 * editfns.c (Fcurrent_time_zone): Remove hack for Japanese Windows.
17271
17272 2007-06-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17273
17274 * mac.c (xrm_get_preference_database): Remove BLOCK_INPUT.
17275
17276 * macfns.c (mac_get_window_bounds): Move extern to macterm.h.
17277 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use GetGlobalMouse.
17278
17279 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
17280 Don't call next handler.
17281 [TARGET_API_MAC_CARBON] (install_menu_target_item_handler):
17282 Remove argument. Install handler to application.
17283 (set_frame_menubar): Don't change deep_p.
17284 (mac_menu_show): Use FRAME_OUTER_TO_INNER_DIFF_X and
17285 FRAME_OUTER_TO_INNER_DIFF_Y.
17286 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
17287 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
17288 [HAVE_DIALOGS]: New macros.
17289 [HAVE_DIALOGS] (mac_handle_dialog_event, create_and_show_dialog):
17290 Use them.
17291 (fill_menubar) [TARGET_API_MAC_CARBON]: Use CFString.
17292
17293 * macselect.c [MAC_OSX] (install_service_handler): Rename from
17294 init_service_handler. All callers changed. Return OSStatus value.
17295
17296 * macterm.c (mac_begin_cg_clip): New arg F. Call SetPortWindowPort.
17297 All callers changed so as not to call SetPortWindowPort.
17298 (mac_begin_cg_clip) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw.
17299 (mac_draw_image_string_atsui) [USE_ATSUI]: New function created from
17300 mac_draw_string_common.
17301 (mac_draw_image_string_qd): Likewise.
17302 (mac_draw_string_common): Use them. Add INLINE.
17303 (XTmouse_position, x_scroll_bar_report_motion) [TARGET_API_MAC_CARBON]:
17304 Use FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y, and
17305 GetGlobalMouse.
17306 (x_set_mouse_pixel_position) [MAC_OSX]: Use FRAME_OUTER_TO_INNER_DIFF_X
17307 and FRAME_OUTER_TO_INNER_DIFF_Y.
17308 [TARGET_API_MAC_CARBON] (mac_handle_mouse_event): Likewise.
17309 [USE_MAC_TSM] (mac_handle_text_input_event): Likewise.
17310 (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Move code for
17311 repositioning window to mac_handle_window_event.
17312 (x_make_frame_invisible) [TARGET_API_MAC_CARBON]: Move code for
17313 saving window location to mac_handle_window_event
17314 [USE_MAC_FONT_PANEL] (mac_show_hide_font_panel): Install handler here.
17315 (install_menu_target_item_handler): Remove argument in extern.
17316 [TARGET_API_MAC_CARBON] (mac_event_to_emacs_modifiers):
17317 Also accept command events.
17318 (do_keystroke): New function created from XTread_socket.
17319 (init_command_handler): Remove functions.
17320 [TARGET_API_MAC_CARBON] (mac_handle_window_event): Reposition window
17321 and save window location by kEventWindowShowing and kEventWindowHiding
17322 handlers here. Don't call next handler for window state change and
17323 focus events.
17324 (mac_handle_application_event, mac_handle_keyboard_event)
17325 [TARGET_API_MAC_CARBON]: New functions.
17326 (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for
17327 kEventWindowShowing and kEventWindowHiding events. Move installation
17328 of mouse, font, text input and menu target item handlers to
17329 install_application_handler.
17330 (install_application_handler) [TARGET_API_MAC_CARBON]: New function.
17331 (mac_handle_cg_display_reconfig) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
17332 New function.
17333 (init_dm_notification_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
17334 Register it.
17335 (XTread_socket) [TARGET_API_MAC_CARBON]:
17336 Consolidate SendEventToEventTarget calls.
17337 Use FRAME_OUTER_TO_INNER_DIFF_X and FRAME_OUTER_TO_INNER_DIFF_Y.
17338 Move application activation handler to mac_handle_application_event.
17339 Move keyboard handler to mac_handle_keyboard_event.
17340 (XTread_socket) [!TARGET_API_MAC_CARBON]: Use do_keystroke.
17341 (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call
17342 init_command_handler. Call install_application_handler.
17343
17344 * macterm.h (mac_get_window_bounds): Move extern from macfns.c.
17345 (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): New macros.
17346
17347 2007-06-07 Glenn Morris <rgm@gnu.org>
17348
17349 * emacs.c (main): Use `emacs-copyright' in --version output.
17350
17351 2007-06-06 Chong Yidong <cyd@stupidchicken.com>
17352
17353 * image.c (xpm_load): Remove spurious call to xpm_init_color_cache.
17354
17355 2007-06-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17356
17357 * macfns.c (mac_window): Replace WindowPtr with WindowRef.
17358
17359 * macgui.h: Replace WindowPtr with WindowRef.
17360
17361 * macmenu.c: Replace MenuHandle and GetMenuHandle with MenuRef and
17362 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
17363 Replace ControlHandle with ControlRef.
17364 (install_menu_quit_handler): Rename arg MENU_HANDLE to ROOT_MENU.
17365
17366 * macterm.c: Replace MenuHandle and GetMenuHandle with MenuRef and
17367 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
17368 Replace ControlHandle with ControlRef.
17369 (USE_CARBON_EVENTS): Remove. Use TARGET_API_MAC_CARBON instead.
17370 [MAC_OS8] (do_get_menus): Rename variable `menu_handle' to `menu'.
17371
17372 * macterm.h (struct scroll_bar): Rename member control_handle_low
17373 and control_handle_high to control_ref_low and control_ref_high.
17374 All uses changed.
17375 (SCROLL_BAR_CONTROL_REF, SET_SCROLL_BAR_CONTROL_REF): Rename from
17376 SCROLL_BAR_CONTROL_HANDLE and SET_SCROLL_BAR_CONTROL_HANDLE,
17377 respectively. All uses changed.
17378 (XCreatePixmap, XCreatePixmapFromBitmapData, XSetWindowBackground)
17379 (install_window_handler, remove_window_handler): Replace WindowPtr
17380 with WindowRef in externs.
17381
17382 2007-06-05 Juanma Barranquero <lekktu@gmail.com>
17383
17384 * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops.
17385
17386 2007-06-03 Nick Roberts <nickrob@snap.net.nz>
17387
17388 * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case.
17389
17390 * frame.c (Fmouse_position, Fmouse_pixel_position):
17391 Condition on HAVE_GPM too.
17392
17393 * term.c (term_mouse_highlight): Remove unused variables.
17394 (Fterm_open_connection): Set gpm_zerobased to 1.
17395 (term_mouse_movement, term_mouse_click, handle_one_term_event):
17396 Use zero based co-ordinates.
17397 (handle_one_term_event): Report a drag as mouse movement too.
17398
17399 * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM.
17400
17401 2007-06-03 Chong Yidong <cyd@stupidchicken.com>
17402
17403 * image.c (search_image_cache): New function. Require background
17404 color match if background color is unspecified in the image spec.
17405 (uncache_image, lookup_image): Use it.
17406
17407 2007-06-01 Juanma Barranquero <lekktu@gmail.com>
17408
17409 * window.c (Fshrink_window): Reflow docstring.
17410
17411 2007-06-02 Chong Yidong <cyd@stupidchicken.com>
17412
17413 * Version 22.1 released.
17414
17415 2007-06-01 Richard Stallman <rms@gnu.org>
17416
17417 * xfns.c (x_encode_text): Add GCPRO.
17418
17419 2007-06-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17420
17421 * xfns.c (x_set_name_internal): Save encoded name before
17422 x_encode_text in case string data is relocated.
17423
17424 2007-05-31 Richard Stallman <rms@gnu.org>
17425
17426 * buffer.c (syms_of_buffer): Doc fix.
17427
17428 2007-05-30 Nick Roberts <nickrob@snap.net.nz>
17429
17430 * sysdep.c (init_sys_modes): Add rather than replace with
17431 O_NONBLOCK.
17432
17433 * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to
17434 term_mouse_moveto.
17435
17436 * termhooks.h (term_mouse_moveto): New extern.
17437
17438 * term.c (mouse_face_window): Rename...
17439 (Qmouse_face_window): ...to this.
17440 (term_show_mouse_face, term_clear_mouse_face)
17441 (term_mouse_highlight): Use Qmouse_face_window.
17442 (term_mouse_moveto): New function.
17443 (term_mouse_position): Make it work.
17444 (syms_of_term): Uncomment assignment to mouse_position_hook.
17445 Staticpro Qmouse_face_window.
17446
17447 2007-05-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17448
17449 * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t
17450 around current_column call.
17451
17452 2007-05-26 Dan Nicolaescu <dann@ics.uci.edu>
17453
17454 * xfaces.c (syms_of_xfaces): Delete stray semicolon.
17455 * xdisp.c (next_element_from_buffer):
17456 * window.c (delete_window):
17457 * term.c (term_mouse_highlight):
17458 * msdos.c (getdefdir):
17459 * macterm.c (mac_create_bitmap_from_bitmap_data)
17460 (init_font_name_table):
17461 * fns.c (Fsxhash):
17462 * data.c (Fmake_local_variable):
17463 * ccl.c (ccl_driver): Likewise.
17464
17465 2007-05-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17466
17467 * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event):
17468 Call mac_wakeup_from_rne on window size change.
17469
17470 2007-05-25 Chong Yidong <cyd@stupidchicken.com>
17471
17472 * image.c (uncache_image): Fix typo.
17473
17474 2007-05-23 Johannes Weiner <hannes@saeurebad.de> (tiny change)
17475
17476 * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too.
17477
17478 2007-05-22 Richard Stallman <rms@gnu.org>
17479
17480 * xterm.c (x_connection_closed): Remove NO_RETURN.
17481
17482 2007-05-22 Martin Rudalics <rudalics@gmx.at>
17483
17484 * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD.
17485
17486 2007-05-21 Chong Yidong <cyd@stupidchicken.com>
17487
17488 * image.c (uncache_image): New function.
17489 (Fimage_refresh): New function.
17490
17491 2007-05-20 Jan Djärv <jan.h.d@swipnet.se>
17492
17493 * Makefile.in: Move GPM check outside HAVE_X_WINDOWS.
17494
17495 2007-05-20 Nick Roberts <nickrob@snap.net.nz>
17496
17497 * config.in, keyboard.c, Makefile.in, sysdep.c, term.c,
17498 * termhooks.h: Use HAVE_GPM instead of HAVE_GPM_H.
17499
17500 2007-05-20 Nick Roberts <nickrob@snap.net.nz>
17501
17502 * keyboard.c (make_lispy_event): Make case GPM_CLICK_EVENT
17503 conditional on [HAVE_GPM_H].
17504
17505 2007-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
17506
17507 * syntax.c (skip_chars): Update syntax-table only after we checked that
17508 the new location is valid.
17509
17510 2007-05-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17511
17512 * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around
17513 mac_get_window_bounds.
17514
17515 2007-05-20 Nick Roberts <nickrob@snap.net.nz>
17516
17517 * Makefile.in (LIBGPM): Allow it to be set from configure.
17518 If set then link Emacs with it.
17519
17520 * config.in: Regenerate.
17521
17522 * lisp.h (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):
17523 New externs.
17524
17525 * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT.
17526 Include gpm.h.
17527 (handle_one_term_event, term_gpm): New externs.
17528
17529 * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking
17530 and allow it to be interrupted by SIGIO.
17531
17532 * process.c (gpm_wait_mask, max_gpm_desc): New variables.
17533 (wait_reading_process_output): Wait on gpm_fd too.
17534 (add_gpm_wait_descriptor, delete_gpm_wait_descriptor)): New functions.
17535 (add_gpm_wait_descriptor_called_flag): New variable.
17536 (delete_keyboard_wait_descriptor): Check gpm_wait_mask.
17537
17538 * keyboard.c [HAVE_GPM_H] (Qmouse_fixup_help_message)
17539 (make_lispy_movement, tracking_off, Ftrack_mouse, some_mouse_moved)
17540 (show_help_echo, readable_events, kbd_buffer_get_event, init_keyboard):
17541 Extend HAVE_MOUSE ifdefs to HAVE_GPM_H.
17542 (make_lispy_event): Add case GPM_CLICK_EVENT.
17543 (read_avail_input): Handle mouse input.
17544
17545 * term.c (write_glyphs_with_face): New function.
17546 [HAVE_GPM_H]: Include buffer.h, sys/fcntl.h.
17547 (mouse_face_beg_row, mouse_face_beg_col, mouse_face_end_row)
17548 (mouse_face_end_col, mouse_face_past_end, mouse_face_window)
17549 (mouse_face_face_id, term_gpm, pos_x, pos_y)
17550 (last_mouse_x, last_mouse_y): New variables.
17551 (term_show_mouse_face, term_clear_mouse_face, fast_find_position)
17552 (term_mouse_highlight, term_mouse_movement, term_mouse_position)
17553 (term_mouse_click, handle_one_term_event, Fterm_open_connection)
17554 (Fterm_close_connection): New functions.
17555 (term_init): Initialise mouse_face_window.
17556
17557 2007-05-19 Chong Yidong <cyd@stupidchicken.com>
17558
17559 * xdisp.c (redisplay_window): If first window line is a
17560 continuation line, recompute the new window start instead of
17561 recentering.
17562
17563 2007-05-18 Glenn Morris <rgm@gnu.org>
17564
17565 * m/alpha.h (ORDINARY_LINK): No longer define on OpenBSD.
17566 Suggested by Alfred M. Szmidt <ams@gnu.org>.
17567
17568 2007-05-17 Glenn Morris <rgm@gnu.org>
17569
17570 * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD.
17571
17572 2007-05-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17573
17574 * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert
17575 dead key repeat and up events.
17576
17577 2007-05-14 Chong Yidong <cyd@stupidchicken.com>
17578
17579 * image.c (pbm_load): Check image size for monochrome pbm.
17580
17581 2007-05-13 Chong Yidong <cyd@stupidchicken.com>
17582
17583 * xterm.c (XTread_socket): Revert last change.
17584
17585 2007-05-12 Chong Yidong <cyd@stupidchicken.com>
17586
17587 * image.c (pbm_load): Correctly check image size for greyscale pbm.
17588
17589 * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC).
17590
17591 2007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
17592
17593 * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object
17594 mixup (YAILOM).
17595
17596 2007-05-07 Andreas Schwab <schwab@suse.de>
17597
17598 * keymap.c (Flookup_key): Fix typo in last change.
17599
17600 2007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
17601
17602 * keymap.c (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier
17603 mapping for unibyte strings.
17604
17605 2007-05-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17606
17607 * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c.
17608 (Fx_popup_dialog) [MAC_OSX]: Likewise.
17609
17610 2007-04-29 Richard Stallman <rms@gnu.org>
17611
17612 * insdel.c (replace_range): For undo, record insertion first.
17613
17614 2007-04-29 Andreas Schwab <schwab@suse.de>
17615
17616 * lisp.h (VECSIZE): Use OFFSETOF.
17617
17618 2007-04-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17619
17620 * xdisp.c (try_window_reusing_current_matrix): Fix number of
17621 disabled lines.
17622
17623 2007-04-28 Richard Stallman <rms@gnu.org>
17624
17625 * lread.c (read_escape): In a string, \s is always space.
17626
17627 2007-04-27 Jan Djärv <jan.h.d@swipnet.se>
17628
17629 * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog.
17630
17631 * gtkutil.c (xg_update_menubar, create_menus): Create empty
17632 submenu for menu bar items.
17633
17634 See ChangeLog.10 for earlier changes.
17635
17636 ;; Local Variables:
17637 ;; coding: utf-8
17638 ;; add-log-time-zone-rule: t
17639 ;; bug-reference-url-format: "http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=%s"
17640 ;; End:
17641
17642 Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
17643
17644 This file is part of GNU Emacs.
17645
17646 GNU Emacs is free software: you can redistribute it and/or modify
17647 it under the terms of the GNU General Public License as published by
17648 the Free Software Foundation, either version 3 of the License, or
17649 (at your option) any later version.
17650
17651 GNU Emacs is distributed in the hope that it will be useful,
17652 but WITHOUT ANY WARRANTY; without even the implied warranty of
17653 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17654 GNU General Public License for more details.
17655
17656 You should have received a copy of the GNU General Public License
17657 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
17658
17659 ;; arch-tag: dfb6ad96-1550-4905-9e53-d2059ee84c40